diff --git a/.changeset/neat-instance-properties.md b/.changeset/neat-instance-properties.md new file mode 100644 index 00000000..ed1ab473 --- /dev/null +++ b/.changeset/neat-instance-properties.md @@ -0,0 +1,5 @@ +--- +'@ankhorage/studio': patch +--- + +Replace the raw Properties prop dump with a metadata-driven instance authoring model backed by the released ZORA authoring authority registry. diff --git a/README.md b/README.md index 84c9ee1d..0e76fa95 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # @ankhorage/studio -![license: MIT](././paradox/badges/license.svg) ![npm: v0.11.4](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg) +![license: MIT](././paradox/badges/license.svg) ![npm: v0.11.11](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg) Standalone Studio authoring package for Ankhorage apps. @@ -34,6 +34,7 @@ Manage Studio development and projects through the Ankh CLI. - [cloneWithNewIds sequence](././paradox/diagrams/sequences/clone-with-new-ids.mmd) - [createNodeFromCatalogEntry sequence](././paradox/diagrams/sequences/create-node-from-catalog-entry.mmd) - [findNodeById sequence](././paradox/diagrams/sequences/find-node-by-id.mmd) +- [resolveStudioInstancePropertyGroups sequence](././paradox/diagrams/sequences/resolve-studio-instance-property-groups.mmd) - [updateNodeInTree sequence](././paradox/diagrams/sequences/update-node-in-tree.mmd) - [validateInsertRecipe sequence](././paradox/diagrams/sequences/validate-insert-recipe.mmd) - [validateNodePlacement sequence](././paradox/diagrams/sequences/validate-node-placement.mmd) diff --git a/bun.lock b/bun.lock index aab05f18..c8cffb6f 100644 --- a/bun.lock +++ b/bun.lock @@ -17,7 +17,7 @@ "@ankhorage/supabase-auth": "^1.1.2", "@ankhorage/supabase-vault": "^0.2.4", "@ankhorage/templates": "^3.0.0", - "@ankhorage/zora": "^2.9.1", + "@ankhorage/zora": "^2.9.3", "@ankhorage/zora-chess": "^0.1.2", "@ankhorage/zora-tabletop": "^0.0.5", "@fastify/cors": "^11.2.0", @@ -123,7 +123,7 @@ "@ankhorage/templates": ["@ankhorage/templates@3.0.0", "", { "dependencies": { "@ankhorage/contracts": "^4.0.0", "@ankhorage/zora": "^2.8.0" }, "bin": { "ankhorage-templates": "dist/cli/standalone.js" } }, "sha512-aflIReBWhuXpjLLToWHr13zDCuEOvjebfdeGBS5qYfbUg93gJV6xakDNN51tNgCAiroeG6jkytDqrqRPj3ZkJw=="], - "@ankhorage/zora": ["@ankhorage/zora@2.9.1", "", { "dependencies": { "@ankhorage/color-theory": "^0.0.8", "@ankhorage/contracts": "^4.0.1", "@ankhorage/surface": "^2.1.1" }, "peerDependencies": { "@expo/vector-icons": ">=14.0.0", "@react-native-picker/picker": ">=2.0.0", "expo-font": "^55.0.6", "expo-linear-gradient": ">=14.0.0", "react": ">=18.2.0", "react-native": ">=0.72.0" }, "optionalPeers": ["@expo/vector-icons", "expo-font"] }, "sha512-rrLxfgaO6BO7bonKcr8nVgQoMlS2O1RUGtTbxXpY4L6cy33SrttCBhETKq+sxR0YerLcJQwL87Mjq9eOsLHVfA=="], + "@ankhorage/zora": ["@ankhorage/zora@2.9.3", "", { "dependencies": { "@ankhorage/color-theory": "^0.0.8", "@ankhorage/contracts": "^4.0.1", "@ankhorage/surface": "^2.1.1" }, "peerDependencies": { "@expo/vector-icons": ">=14.0.0", "@react-native-picker/picker": ">=2.0.0", "expo-font": "^55.0.6", "expo-linear-gradient": ">=14.0.0", "react": ">=18.2.0", "react-native": ">=0.72.0" }, "optionalPeers": ["@expo/vector-icons", "expo-font"] }, "sha512-DgavI+3j7qPU8RplPtPu2D0jaJ4nLqILcIhgeqoQwK2YRN4eF40zjroNskZoRbSmlOeqAZeiSpMHT+dB2fkvgg=="], "@ankhorage/zora-chess": ["@ankhorage/zora-chess@0.1.2", "", { "dependencies": { "chess.js": "^1.4.0" }, "peerDependencies": { "@ankhorage/zora": ">=0.1.0", "react": ">=18.2.0", "react-native": ">=0.72.0" } }, "sha512-uVZyqJzvnyAzCNrrys4UGR/ioVgYxgcKbY/5ET0d7tyOt5joaKqiQMNEbQL+5gby34mqhLjmBSS3xt8mxZgRQg=="], diff --git a/docs/instance-properties.md b/docs/instance-properties.md new file mode 100644 index 00000000..255b70c9 --- /dev/null +++ b/docs/instance-properties.md @@ -0,0 +1,32 @@ +# Metadata-driven instance Properties + +`/ankh/properties/{nodeId}` is the canonical per-node authoring surface. + +The page consumes the released ZORA component metadata registry at the concrete app/UI composition +boundary. Package-neutral Studio helpers receive a structural metadata registry from their caller +and never import or recreate concrete ZORA metadata. + +Only props classified with: + +```ts +{ + authoring: { + authority: 'instance'; + } +} +``` + +become fields. Theme-owned props and props without authoring metadata are intentionally absent. + +The initial editor set supports strings, numbers, booleans, and declared enum choices. Unsupported +future authoring types remain explicit rather than falling back to arbitrary JSON or string editors. + +Node identity such as the node ID, component type, and optional alias remains read-only context. It +is not treated as component prop metadata. + +Property changes update the selected node through the existing canonical manifest mutation and +persistence flow. Studio does not create a second unsaved Properties model. + +This narrows the architectural gap between `apps/studio` and generated Ankhorage apps: both consume +the same manifest nodes and package-owned component metadata, while Studio adds only the authoring +interaction. diff --git a/package.json b/package.json index 0341a190..1f61efc4 100644 --- a/package.json +++ b/package.json @@ -140,6 +140,10 @@ "types": "./dist/manifestState.d.ts", "import": "./dist/manifestState.js" }, + "./propertiesAuthoringModel": { + "types": "./dist/propertiesAuthoringModel.d.ts", + "import": "./dist/propertiesAuthoringModel.js" + }, "./manifestSync": { "types": "./dist/manifestSync.d.ts", "import": "./dist/manifestSync.js" @@ -240,7 +244,7 @@ "@ankhorage/supabase-auth": "^1.1.2", "@ankhorage/supabase-vault": "^0.2.4", "@ankhorage/templates": "^3.0.0", - "@ankhorage/zora": "^2.9.1", + "@ankhorage/zora": "^2.9.3", "@ankhorage/zora-chess": "^0.1.2", "@ankhorage/zora-tabletop": "^0.0.5", "@fastify/cors": "^11.2.0", diff --git a/paradox/badges/npm.svg b/paradox/badges/npm.svg index 8baf9f6b..e8360975 100644 --- a/paradox/badges/npm.svg +++ b/paradox/badges/npm.svg @@ -1,7 +1,7 @@ - -npm: v0.11.4 + +npm: v0.11.11 - + npm -v0.11.4 +v0.11.11 diff --git a/paradox/diagrams/architecture-overview.mmd b/paradox/diagrams/architecture-overview.mmd index b9e406d0..29c730eb 100644 --- a/paradox/diagrams/architecture-overview.mmd +++ b/paradox/diagrams/architecture-overview.mmd @@ -167,9 +167,20 @@ graph TD module_src_hooks_useWorkspaceActions_ts --> module_src_core_constants_ts module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] package__ankhorage_studio -.-> module_src_host_auth_projectAuthHealthService_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] package__ankhorage_studio -.-> module_src_host_createStudioHost_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_infraRuntime_ts @@ -187,6 +198,9 @@ graph TD module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] + package__ankhorage_studio -.-> module_src_host_generatedOAuthLifecycle_e2e_test_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] package__ankhorage_studio -.-> module_src_host_hostLifecycle_smoke_test_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts @@ -273,10 +287,16 @@ graph TD module_src_host_layout_templates_auth_adapter_test_ts --> module_src_host_layout_templates_auth_adapter_ts module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] + package__ankhorage_studio -.-> module_src_host_layout_templates_auth_callback_test_ts + module_src_host_layout_templates_auth_callback_test_ts --> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] + package__ankhorage_studio -.-> module_src_host_layout_templates_auth_oauth_test_ts + module_src_host_layout_templates_auth_oauth_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts @@ -579,6 +599,13 @@ graph TD module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] package__ankhorage_studio -.-> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_test_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthHealth_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] package__ankhorage_studio -.-> module_src_projectIdentity_test_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts @@ -600,6 +627,11 @@ graph TD package__ankhorage_studio -.-> module_src_projectSecretUsage_ts module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] package__ankhorage_studio -.-> module_src_projectWorkspaceContracts_ts + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_test_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_ts module_src_root_test_ts["src/root.test.ts"] package__ankhorage_studio -.-> module_src_root_test_ts module_src_root_ts["src/root.ts"] @@ -708,6 +740,11 @@ graph TD module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] package__ankhorage_studio -.-> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts --> module_src_index_ts + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_test_ts + module_src_studioRuntimeApi_test_ts --> module_src_studioRuntimeApi_ts + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] package__ankhorage_studio -.-> module_src_studioSelectionModel_knip_test_ts module_src_studioSelectionModel_knip_test_ts --> module_src_studioSelectionModel_ts @@ -800,6 +837,7 @@ graph TD module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthHealthFlow_ts @@ -814,8 +852,8 @@ graph TD package__ankhorage_studio -.-> module_src_ui_admin_pages_PropertiesAdminPage_tsx module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts + module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx - module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPageUtils_ts module_src_ui_admin_pages_SecretsAdminPage_test_ts["src/ui/admin/pages/SecretsAdminPage.test.ts"] package__ankhorage_studio -.-> module_src_ui_admin_pages_SecretsAdminPage_test_ts module_src_ui_admin_pages_SecretsAdminPage_tsx["src/ui/admin/pages/SecretsAdminPage.tsx"] diff --git a/paradox/diagrams/export-graph.mmd b/paradox/diagrams/export-graph.mmd index 1b2dfbb5..0610354a 100644 --- a/paradox/diagrams/export-graph.mmd +++ b/paradox/diagrams/export-graph.mmd @@ -44,9 +44,12 @@ graph LR module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -68,7 +71,9 @@ graph LR module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -157,6 +162,8 @@ graph LR module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -164,6 +171,8 @@ graph LR module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -204,6 +213,8 @@ graph LR module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -268,6 +279,9 @@ graph LR export_createNodeFromCatalogEntry -.-> export_InsertCatalogEntry export_createNodeFromCatalogEntry -.-> export_StudioComponentMetaRegistry export_createNodeFromCatalogEntry -.-> export_StudioIdGenerator + export_createStudioInstancePropertyPatch["createStudioInstancePropertyPatch"] + module_src_propertiesAuthoringModel_ts --> export_createStudioInstancePropertyPatch + export_createStudioInstancePropertyPatch -.-> export_StudioInstancePropertyValue export_deriveProjectId["deriveProjectId"] module_src_projectIdentity_ts --> export_deriveProjectId export_findNodeById["findNodeById"] @@ -401,6 +415,14 @@ graph LR export_resolveInsertPlacement -.-> export_PlacementKind export_resolveInsertPlacement -.-> export_PlacementResolutionResult export_resolveInsertPlacement -.-> export_StudioComponentMetaRegistry + export_resolveStudioInstancePropertyFields["resolveStudioInstancePropertyFields"] + module_src_propertiesAuthoringModel_ts --> export_resolveStudioInstancePropertyFields + export_resolveStudioInstancePropertyFields -.-> export_StudioAuthoringComponentMeta + export_resolveStudioInstancePropertyFields -.-> export_StudioInstancePropertyField + export_resolveStudioInstancePropertyGroups["resolveStudioInstancePropertyGroups"] + module_src_propertiesAuthoringModel_ts --> export_resolveStudioInstancePropertyGroups + export_resolveStudioInstancePropertyGroups -.-> export_StudioAuthoringComponentMeta + export_resolveStudioInstancePropertyGroups -.-> export_StudioInstancePropertyGroup export_STUDIO_INSERT_RECIPES["STUDIO_INSERT_RECIPES"] module_src_index_ts --> export_STUDIO_INSERT_RECIPES export_STUDIO_PACKAGE_BOUNDARY["STUDIO_PACKAGE_BOUNDARY"] @@ -422,6 +444,13 @@ graph LR module_src_index_ts --> export_StudioAdminRoutePath export_StudioAdminStaticRoutePath["StudioAdminStaticRoutePath"] module_src_index_ts --> export_StudioAdminStaticRoutePath + export_StudioAuthoringComponentMeta["StudioAuthoringComponentMeta"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringComponentMeta + export_StudioAuthoringComponentMeta -.-> export_StudioAuthoringPropSchema + export_StudioAuthoringMetaRegistry["StudioAuthoringMetaRegistry"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringMetaRegistry + export_StudioAuthoringPropSchema["StudioAuthoringPropSchema"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringPropSchema export_StudioCommand["StudioCommand"] module_src_index_ts --> export_StudioCommand export_StudioComponentBlueprint["StudioComponentBlueprint"] @@ -449,6 +478,16 @@ graph LR module_src_index_ts --> export_StudioEvent export_StudioIdGenerator["StudioIdGenerator"] module_src_index_ts --> export_StudioIdGenerator + export_StudioInstancePropertyEditorKind["StudioInstancePropertyEditorKind"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyField["StudioInstancePropertyField"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyField + export_StudioInstancePropertyField -.-> export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyGroup["StudioInstancePropertyGroup"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyGroup + export_StudioInstancePropertyGroup -.-> export_StudioInstancePropertyField + export_StudioInstancePropertyValue["StudioInstancePropertyValue"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyValue export_StudioLocale["StudioLocale"] module_src_index_ts --> export_StudioLocale export_StudioManifest["StudioManifest"] diff --git a/paradox/diagrams/module-relationships.mmd b/paradox/diagrams/module-relationships.mmd index 221ebe98..ef7e0531 100644 --- a/paradox/diagrams/module-relationships.mmd +++ b/paradox/diagrams/module-relationships.mmd @@ -44,9 +44,12 @@ graph LR module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -68,7 +71,9 @@ graph LR module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -157,6 +162,8 @@ graph LR module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -164,6 +171,8 @@ graph LR module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -204,6 +213,8 @@ graph LR module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -319,9 +330,16 @@ graph LR module_src_hooks_useTemplateCatalog_ts --> module_src_core_constants_ts module_src_hooks_useTemplateCatalog_ts --> module_src_templateCatalogContracts_ts module_src_hooks_useWorkspaceActions_ts --> module_src_core_constants_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_infraRuntime_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_projectManager_ts @@ -333,6 +351,7 @@ graph LR module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_templateRegistry_index_ts @@ -377,8 +396,10 @@ graph LR module_src_host_layout_layoutGenerator_ts --> module_src_index_ts module_src_host_layout_layoutGenerator_ts --> module_src_studioAdminRouteModel_ts module_src_host_layout_templates_auth_adapter_test_ts --> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts --> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_utils_escapeStringLiteral_ts module_src_host_layout_templates_auth_screen_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts @@ -506,6 +527,9 @@ graph LR module_src_projectAuthApi_ts --> module_src_secretResponseGuard_ts module_src_projectAuthHealth_test_ts --> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthHealth_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts module_src_projectIdentity_test_ts --> module_src_projectWorkspaceContracts_ts module_src_projectIdentity_ts --> module_src_projectWorkspaceContracts_ts @@ -513,6 +537,7 @@ graph LR module_src_projectSecretApi_ts --> module_src_projectSecretUsage_ts module_src_projectSecretApi_ts --> module_src_secretResponseGuard_ts module_src_projectSecretUsage_test_ts --> module_src_projectSecretUsage_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts module_src_routeUtils_test_ts --> module_src_routeUtils_ts module_src_routeUtils_ts --> module_src_manifestState_ts @@ -541,6 +566,7 @@ graph LR module_src_secretResponseGuard_test_ts --> module_src_secretResponseGuard_ts module_src_studioAdminRouteModel_test_ts --> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts --> module_src_index_ts + module_src_studioRuntimeApi_test_ts --> module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts --> module_src_studioSelectionModel_ts module_src_studioSelectionModel_test_ts --> module_src_studioSelectionModel_ts module_src_ui_admin_AnkhAdminPage_tsx --> module_src_core_StudioContext_ts @@ -583,6 +609,7 @@ graph LR module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthHealthFlow_ts @@ -591,8 +618,8 @@ graph LR module_src_ui_admin_pages_OverviewAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts + module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx - module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPageUtils_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_projectSecretApi_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_projectSecretUsage_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx diff --git a/paradox/diagrams/sequences/resolve-studio-instance-property-groups.mmd b/paradox/diagrams/sequences/resolve-studio-instance-property-groups.mmd new file mode 100644 index 00000000..ac33bdf0 --- /dev/null +++ b/paradox/diagrams/sequences/resolve-studio-instance-property-groups.mmd @@ -0,0 +1,5 @@ +sequenceDiagram + participant participant_resolveStudioInstancePropertyFields as resolveStudioInstancePropertyFields + participant participant_resolveStudioInstancePropertyGroups as resolveStudioInstancePropertyGroups + participant_resolveStudioInstancePropertyGroups->>participant_resolveStudioInstancePropertyFields: resolveStudioInstancePropertyFields() + participant_resolveStudioInstancePropertyFields-->>participant_resolveStudioInstancePropertyGroups: return diff --git a/paradox/exports.json b/paradox/exports.json index 0bf1d0a7..811c7302 100644 --- a/paradox/exports.json +++ b/paradox/exports.json @@ -8,7 +8,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 369, + "line": 373, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -26,7 +26,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 279, + "line": 283, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -80,7 +80,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 591, + "line": 595, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -112,7 +112,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1303, + "line": 1307, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -144,7 +144,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 750, + "line": 754, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -176,7 +176,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 516, + "line": 520, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -214,7 +214,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1222, + "line": 1226, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -249,6 +249,50 @@ "members": [], "structuredRows": [] }, + { + "name": "createStudioInstancePropertyPatch", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 89, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyValue"], + "signatures": [ + { + "label": "(node: UiNode, propertyName: string, value: StudioInstancePropertyValue | undefined) => Readonly>", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "propertyName", + "type": "string", + "required": true, + "description": null + }, + { + "name": "value", + "type": "StudioInstancePropertyValue | undefined", + "required": true, + "description": null + } + ], + "returnType": "Readonly>", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, { "name": "deriveProjectId", "description": null, @@ -290,7 +334,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 533, + "line": 537, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -328,7 +372,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 509, + "line": 513, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -360,7 +404,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1148, + "line": 1152, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -392,7 +436,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 257, + "line": 261, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -481,7 +525,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 239, + "line": 243, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -521,7 +565,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 216, + "line": 220, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -539,7 +583,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 267, + "line": 271, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -557,7 +601,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 245, + "line": 249, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -644,7 +688,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 213, + "line": 217, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -662,7 +706,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 214, + "line": 218, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -680,7 +724,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 262, + "line": 266, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -774,7 +818,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 980, + "line": 984, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -806,7 +850,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 923, + "line": 927, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -853,7 +897,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 930, + "line": 934, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -886,7 +930,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 224, + "line": 228, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -940,7 +984,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 232, + "line": 236, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -987,7 +1031,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 219, + "line": 223, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1020,7 +1064,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 287, + "line": 291, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1067,7 +1111,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 624, + "line": 628, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -1111,7 +1155,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1048, + "line": 1052, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1143,7 +1187,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1007, + "line": 1011, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1190,7 +1234,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1014, + "line": 1018, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1223,7 +1267,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 175, + "line": 179, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1270,7 +1314,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 182, + "line": 186, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1288,7 +1332,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 194, + "line": 198, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1321,7 +1365,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 173, + "line": 177, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1339,7 +1383,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 206, + "line": 210, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1357,7 +1401,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 199, + "line": 203, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1833,7 +1877,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 573, + "line": 577, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -1871,7 +1915,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 878, + "line": 882, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1903,7 +1947,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1345, + "line": 1349, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1935,7 +1979,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 817, + "line": 821, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -1958,6 +2002,82 @@ "members": [], "structuredRows": [] }, + { + "name": "resolveStudioInstancePropertyFields", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 45, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringComponentMeta", "StudioInstancePropertyField"], + "signatures": [ + { + "label": "(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyField[]", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "registry", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "returnType": "readonly StudioInstancePropertyField[]", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, + { + "name": "resolveStudioInstancePropertyGroups", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 74, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringComponentMeta", "StudioInstancePropertyGroup"], + "signatures": [ + { + "label": "(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyGroup[]", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "registry", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "returnType": "readonly StudioInstancePropertyGroup[]", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, { "name": "STUDIO_INSERT_RECIPES", "description": null, @@ -1967,7 +2087,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1115, + "line": 1119, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2010,7 +2130,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 57, + "line": 58, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2028,7 +2148,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 49, + "line": 50, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2046,7 +2166,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 85, + "line": 86, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2064,7 +2184,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 271, + "line": 275, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2104,7 +2224,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 269, + "line": 273, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2122,7 +2242,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 277, + "line": 281, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2140,7 +2260,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 117, + "line": 121, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2158,7 +2278,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 140, + "line": 144, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2176,7 +2296,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 129, + "line": 133, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2185,6 +2305,118 @@ "members": [], "structuredRows": [] }, + { + "name": "StudioAuthoringComponentMeta", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 14, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringPropSchema"], + "signatures": [], + "members": [ + { + "name": "name", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "props", + "kind": "property", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioAuthoringMetaRegistry", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 19, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioAuthoringPropSchema", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 3, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [ + { + "name": "authoring", + "kind": "property", + "type": "{ readonly authority: string; } | undefined", + "required": false, + "description": null + }, + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "default", + "kind": "property", + "type": "unknown", + "required": false, + "description": null + }, + { + "name": "enum", + "kind": "property", + "type": "readonly (string | number)[] | undefined", + "required": false, + "description": null + }, + { + "name": "label", + "kind": "property", + "type": "string | undefined", + "required": false, + "description": null + }, + { + "name": "type", + "kind": "property", + "type": "string", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, { "name": "StudioCommand", "description": null, @@ -2194,7 +2426,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 312, + "line": 316, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2212,7 +2444,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 296, + "line": 300, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2245,7 +2477,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 301, + "line": 305, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2292,7 +2524,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 308, + "line": 312, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2310,7 +2542,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 328, + "line": 332, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2706,7 +2938,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 321, + "line": 325, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2724,7 +2956,158 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 310, + "line": 314, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyEditorKind", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 23, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyField", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 26, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyEditorKind"], + "signatures": [], + "members": [ + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "defaultValue", + "kind": "property", + "type": "unknown", + "required": true, + "description": null + }, + { + "name": "editor", + "kind": "property", + "type": "StudioInstancePropertyEditorKind", + "required": true, + "description": null + }, + { + "name": "isExplicit", + "kind": "property", + "type": "boolean", + "required": true, + "description": null + }, + { + "name": "label", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "name", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "options", + "kind": "property", + "type": "readonly (string | number)[]", + "required": true, + "description": null + }, + { + "name": "schemaType", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "value", + "kind": "property", + "type": "unknown", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyGroup", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 38, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyField"], + "signatures": [], + "members": [ + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "fields", + "kind": "property", + "type": "readonly StudioInstancePropertyField[]", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyValue", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 43, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2742,7 +3125,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 112, + "line": 116, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2760,7 +3143,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 142, + "line": 146, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2778,7 +3161,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 114, + "line": 118, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2796,7 +3179,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 111, + "line": 115, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2814,7 +3197,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 109, + "line": 113, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2832,7 +3215,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 51, + "line": 52, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2872,7 +3255,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 116, + "line": 120, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2890,7 +3273,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 107, + "line": 111, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2997,7 +3380,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 105, + "line": 109, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3015,7 +3398,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 115, + "line": 119, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3033,7 +3416,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 110, + "line": 114, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3051,7 +3434,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 153, + "line": 157, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3105,7 +3488,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 108, + "line": 112, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3123,7 +3506,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 161, + "line": 165, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3371,7 +3754,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 148, + "line": 152, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3389,7 +3772,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 461, + "line": 465, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -3407,7 +3790,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 545, + "line": 549, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -3451,7 +3834,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1165, + "line": 1169, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3489,7 +3872,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 762, + "line": 766, "column": 1 }, "exportPaths": ["src/index.ts"], diff --git a/paradox/exports.md b/paradox/exports.md index cda90d88..47b69f10 100644 --- a/paradox/exports.md +++ b/paradox/exports.md @@ -4,13 +4,13 @@ Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:369:14` +Source: `src/index.ts:373:14` ## ActionDefinition Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:279:1` +Source: `src/index.ts:283:1` ### Members @@ -26,7 +26,7 @@ Source: `src/index.ts:279:1` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:591:14` +Source: `src/index.ts:595:14` ### Signatures @@ -38,7 +38,7 @@ Source: `src/index.ts:591:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1303:1` +Source: `src/index.ts:1307:1` ### Signatures @@ -50,7 +50,7 @@ Source: `src/index.ts:1303:1` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:750:1` +Source: `src/index.ts:754:1` ### Signatures @@ -62,7 +62,7 @@ Source: `src/index.ts:750:1` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:516:14` +Source: `src/index.ts:520:14` ### Signatures @@ -75,7 +75,7 @@ Source: `src/index.ts:516:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1222:1` +Source: `src/index.ts:1226:1` ### Signatures @@ -85,6 +85,20 @@ Source: `src/index.ts:1222:1` - entry: `InsertCatalogEntry` - returns: `UiNode` +## createStudioInstancePropertyPatch + +Kind: `function` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:89:1` + +### Signatures + +- `(node: UiNode, propertyName: string, value: StudioInstancePropertyValue | undefined) => Readonly>` + - node: `UiNode` + - propertyName: `string` + - value: `StudioInstancePropertyValue | undefined` + - returns: `Readonly>` + ## deriveProjectId Kind: `function` @@ -101,7 +115,7 @@ Source: `src/projectIdentity.ts:11:1` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:533:14` +Source: `src/index.ts:537:14` ### Signatures @@ -114,7 +128,7 @@ Source: `src/index.ts:533:14` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:509:14` +Source: `src/index.ts:513:14` ### Signatures @@ -126,7 +140,7 @@ Source: `src/index.ts:509:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1148:1` +Source: `src/index.ts:1152:1` ### Signatures @@ -138,7 +152,7 @@ Source: `src/index.ts:1148:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:257:1` +Source: `src/index.ts:261:1` ### Members @@ -159,7 +173,7 @@ Source: `src/index.ts:257:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:239:1` +Source: `src/index.ts:243:1` ### Members @@ -173,19 +187,19 @@ Source: `src/index.ts:239:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:216:1` +Source: `src/index.ts:220:1` ## InsertCatalogEntry Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:267:1` +Source: `src/index.ts:271:1` ## InsertCatalogEntryBase Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:245:1` +Source: `src/index.ts:249:1` ### Members @@ -205,19 +219,19 @@ Source: `src/index.ts:245:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:213:1` +Source: `src/index.ts:217:1` ## InsertCatalogEntryStatus Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:214:1` +Source: `src/index.ts:218:1` ## InsertCatalogRecipeEntry Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:262:1` +Source: `src/index.ts:266:1` ### Members @@ -238,7 +252,7 @@ Source: `src/index.ts:262:1` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:980:1` +Source: `src/index.ts:984:1` ### Signatures @@ -250,7 +264,7 @@ Source: `src/index.ts:980:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:923:1` +Source: `src/index.ts:927:1` ### Members @@ -265,7 +279,7 @@ Source: `src/index.ts:923:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:930:1` +Source: `src/index.ts:934:1` ### Members @@ -278,7 +292,7 @@ Source: `src/index.ts:930:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:224:1` +Source: `src/index.ts:228:1` ### Members @@ -294,7 +308,7 @@ Source: `src/index.ts:224:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:232:1` +Source: `src/index.ts:236:1` ### Members @@ -309,7 +323,7 @@ Source: `src/index.ts:232:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:219:1` +Source: `src/index.ts:223:1` ### Members @@ -322,7 +336,7 @@ Source: `src/index.ts:219:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:287:1` +Source: `src/index.ts:291:1` ### Members @@ -337,7 +351,7 @@ Source: `src/index.ts:287:1` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:624:14` +Source: `src/index.ts:628:14` ### Signatures @@ -351,7 +365,7 @@ Source: `src/index.ts:624:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1048:1` +Source: `src/index.ts:1052:1` ### Signatures @@ -363,7 +377,7 @@ Source: `src/index.ts:1048:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:1007:1` +Source: `src/index.ts:1011:1` ### Members @@ -378,7 +392,7 @@ Source: `src/index.ts:1007:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:1014:1` +Source: `src/index.ts:1018:1` ### Members @@ -391,7 +405,7 @@ Source: `src/index.ts:1014:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:175:1` +Source: `src/index.ts:179:1` ### Members @@ -406,13 +420,13 @@ Source: `src/index.ts:175:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:182:1` +Source: `src/index.ts:186:1` ## PlacementFailureReason Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:194:1` +Source: `src/index.ts:198:1` ### Members @@ -425,19 +439,19 @@ Source: `src/index.ts:194:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:173:1` +Source: `src/index.ts:177:1` ## PlacementResolutionResult Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:206:1` +Source: `src/index.ts:210:1` ## PlacementValidationResult Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:199:1` +Source: `src/index.ts:203:1` ## ProjectAuthDiagnostic @@ -585,7 +599,7 @@ Source: `src/projectWorkspaceContracts.ts:16:1` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:573:14` +Source: `src/index.ts:577:14` ### Signatures @@ -598,7 +612,7 @@ Source: `src/index.ts:573:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:878:1` +Source: `src/index.ts:882:1` ### Signatures @@ -610,7 +624,7 @@ Source: `src/index.ts:878:1` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1345:1` +Source: `src/index.ts:1349:1` ### Signatures @@ -622,7 +636,7 @@ Source: `src/index.ts:1345:1` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:817:1` +Source: `src/index.ts:821:1` ### Signatures @@ -630,11 +644,37 @@ Source: `src/index.ts:817:1` - args: `{ root: UiNode; targetNodeId: string; childType: string; componentMeta: StudioComponentMetaRegistry; kind: PlacementKind; }` - returns: `PlacementResolutionResult` +## resolveStudioInstancePropertyFields + +Kind: `function` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:45:1` + +### Signatures + +- `(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyField[]` + - node: `UiNode` + - registry: `Readonly>` + - returns: `readonly StudioInstancePropertyField[]` + +## resolveStudioInstancePropertyGroups + +Kind: `function` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:74:1` + +### Signatures + +- `(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyGroup[]` + - node: `UiNode` + - registry: `Readonly>` + - returns: `readonly StudioInstancePropertyGroup[]` + ## STUDIO_INSERT_RECIPES Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:1115:14` +Source: `src/index.ts:1119:14` | id | label | description | category | | -------------- | -------------- | ---------------------------------------- | -------- | @@ -646,25 +686,25 @@ Source: `src/index.ts:1115:14` Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:57:14` +Source: `src/index.ts:58:14` ## STUDIO_PACKAGE_NAME Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:49:14` +Source: `src/index.ts:50:14` ## STUDIO_PUBLIC_CONTRACTS Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:85:14` +Source: `src/index.ts:86:14` ## StudioActionPayloadField Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:271:1` +Source: `src/index.ts:275:1` ### Members @@ -678,43 +718,79 @@ Source: `src/index.ts:271:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:269:1` +Source: `src/index.ts:273:1` ## StudioActionPayloadSchema Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:277:1` +Source: `src/index.ts:281:1` ## StudioAdminRouteId Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:117:1` +Source: `src/index.ts:121:1` ## StudioAdminRoutePath Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:140:1` +Source: `src/index.ts:144:1` ## StudioAdminStaticRoutePath Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:129:1` +Source: `src/index.ts:133:1` + +## StudioAuthoringComponentMeta + +Kind: `type` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:14:1` + +### Members + +| Name | Kind | Type | Required | Description | +| ----- | -------- | ----------------------------------------------------- | -------- | ----------- | +| name | property | `string` | yes | | +| props | property | `Readonly>` | yes | | + +## StudioAuthoringMetaRegistry + +Kind: `unknown` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:19:1` + +## StudioAuthoringPropSchema + +Kind: `type` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:3:1` + +### Members + +| Name | Kind | Type | Required | Description | +| --------- | -------- | ---------------------------------------------- | -------- | ----------- | +| authoring | property | `{ readonly authority: string; } \| undefined` | no | | +| category | property | `string` | yes | | +| default | property | `unknown` | no | | +| enum | property | `readonly (string \| number)[] \| undefined` | no | | +| label | property | `string \| undefined` | no | | +| type | property | `string` | yes | | ## StudioCommand Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:312:1` +Source: `src/index.ts:316:1` ## StudioComponentBlueprint Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:296:1` +Source: `src/index.ts:300:1` ### Members @@ -727,7 +803,7 @@ Source: `src/index.ts:296:1` Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:301:1` +Source: `src/index.ts:305:1` ### Members @@ -742,13 +818,13 @@ Source: `src/index.ts:301:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:308:1` +Source: `src/index.ts:312:1` ## StudioContextValue Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:328:1` +Source: `src/index.ts:332:1` ### Members @@ -811,49 +887,94 @@ Source: `src/index.ts:328:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:321:1` +Source: `src/index.ts:325:1` ## StudioIdGenerator Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:310:1` +Source: `src/index.ts:314:1` + +## StudioInstancePropertyEditorKind + +Kind: `unknown` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:23:1` + +## StudioInstancePropertyField + +Kind: `type` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:26:1` + +### Members + +| Name | Kind | Type | Required | Description | +| ------------ | -------- | ---------------------------------- | -------- | ----------- | +| category | property | `string` | yes | | +| defaultValue | property | `unknown` | yes | | +| editor | property | `StudioInstancePropertyEditorKind` | yes | | +| isExplicit | property | `boolean` | yes | | +| label | property | `string` | yes | | +| name | property | `string` | yes | | +| options | property | `readonly (string \| number)[]` | yes | | +| schemaType | property | `string` | yes | | +| value | property | `unknown` | yes | | + +## StudioInstancePropertyGroup + +Kind: `type` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:38:1` + +### Members + +| Name | Kind | Type | Required | Description | +| -------- | -------- | ---------------------------------------- | -------- | ----------- | +| category | property | `string` | yes | | +| fields | property | `readonly StudioInstancePropertyField[]` | yes | | + +## StudioInstancePropertyValue + +Kind: `unknown` +Module: `src/propertiesAuthoringModel.ts` +Source: `src/propertiesAuthoringModel.ts:43:1` ## StudioLocale Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:112:1` +Source: `src/index.ts:116:1` ## StudioManifest Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:142:1` +Source: `src/index.ts:146:1` ## StudioMode Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:114:1` +Source: `src/index.ts:118:1` ## StudioModuleId Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:111:1` +Source: `src/index.ts:115:1` ## StudioNodeId Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:109:1` +Source: `src/index.ts:113:1` ## StudioPackageBoundary Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:51:1` +Source: `src/index.ts:52:1` ### Members @@ -867,13 +988,13 @@ Source: `src/index.ts:51:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:116:1` +Source: `src/index.ts:120:1` ## StudioProjectId Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:107:1` +Source: `src/index.ts:111:1` ## StudioProjectSummary @@ -900,25 +1021,25 @@ Source: `src/projectWorkspaceContracts.ts:3:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:105:1` +Source: `src/index.ts:109:1` ## StudioSaveStatus Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:115:1` +Source: `src/index.ts:119:1` ## StudioScreenId Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:110:1` +Source: `src/index.ts:114:1` ## StudioSelectionState Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:153:1` +Source: `src/index.ts:157:1` ### Members @@ -934,13 +1055,13 @@ Source: `src/index.ts:153:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:108:1` +Source: `src/index.ts:112:1` ## StudioSessionState Kind: `type` Module: `src/index.ts` -Source: `src/index.ts:161:1` +Source: `src/index.ts:165:1` ### Members @@ -1012,19 +1133,19 @@ Source: `src/templateCatalogContracts.ts:25:1` Kind: `unknown` Module: `src/index.ts` -Source: `src/index.ts:148:1` +Source: `src/index.ts:152:1` ## TPL_SCREEN_EMPTY Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:461:14` +Source: `src/index.ts:465:14` ## updateNodeInTree Kind: `value` Module: `src/index.ts` -Source: `src/index.ts:545:14` +Source: `src/index.ts:549:14` ### Signatures @@ -1038,7 +1159,7 @@ Source: `src/index.ts:545:14` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:1165:1` +Source: `src/index.ts:1169:1` ### Signatures @@ -1051,7 +1172,7 @@ Source: `src/index.ts:1165:1` Kind: `function` Module: `src/index.ts` -Source: `src/index.ts:762:1` +Source: `src/index.ts:766:1` ### Signatures diff --git a/paradox/index.html b/paradox/index.html index 31995c99..1191cb22 100644 --- a/paradox/index.html +++ b/paradox/index.html @@ -425,6 +425,26 @@

@ankhorage/studio

4 functions +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • @@ -1618,7 +1690,7 @@

    @ankhorage/studio

    data-target="src/ui/admin/pages/PropertiesAdminPage.tsx" > src/ui/admin/pages/PropertiesAdminPage.tsx - 2 functions + 11 functions
  • @@ -1683,9 +1755,9 @@

    @ankhorage/studio

    Package overview

    -
    96public exports
    +
    106public exports
    0components
    -
    245modules
    +
    256modules
    1entrypoints

    Entrypoints

    @@ -2276,20 +2348,54 @@

    src/hooks/useWorkspaceActions.ts

    src/host/auth/projectAuthHealthService.ts

    Referenced module

    - Dependencies: src/host/orchestrator/projectManager.ts, + Dependencies: + src/host/auth/projectAuthRuntimeDiagnostics.ts, + src/host/orchestrator/projectManager.ts, src/host/secrets/projectSecretService.ts, - src/projectAuthHealth.ts + src/projectAuthHealth.ts, + src/projectAuthRuntimeDiagnostics.ts

    Exports: ProjectAuthHealthResult, ProjectAuthHealthService

    +
    +

    src/host/auth/projectAuthRuntimeDiagnostics.test.ts

    +

    Referenced module

    +

    + Dependencies: + src/host/auth/projectAuthRuntimeDiagnostics.ts +

    +

    Exports: None

    +
    +
    +

    src/host/auth/projectAuthRuntimeDiagnostics.ts

    +

    Referenced module

    +

    + Dependencies: src/host/orchestrator/infraRuntime.ts, + src/host/orchestrator/projectPaths.ts, + src/projectAuthHealth.ts, + src/projectAuthRuntimeDiagnostics.ts +

    +

    + Exports: observeProjectAuthRuntimeDiagnostics, + ParsedProjectAuthRuntimeStatus, + parseProjectAuthRuntimeStatus, ProjectAuthRedirectRuntime, + resolveProjectAuthRedirectRuntime +

    +
    src/host/generatedAuthAdapterRuntime.smoke.test.ts

    Exports: None

    +
    +

    src/host/generatedOAuthLifecycle.e2e.test.ts

    +

    Referenced module

    +

    + Dependencies: src/host/layout/templates/auth/oauth.ts +

    +

    Exports: None

    +
    src/host/layout/templates/auth/adapter.ts

    Dependencies: None

    Exports: getAuthAdapterTs

    +
    +

    src/host/layout/templates/auth/callback.test.ts

    +

    Referenced module

    +

    + Dependencies: + src/host/layout/templates/auth/callback.ts +

    +

    Exports: None

    +
    src/host/layout/templates/auth/callback.ts

    Exports: getAuthOAuthCallbackTsx

    +
    +

    src/host/layout/templates/auth/oauth.test.ts

    +

    Referenced module

    +

    + Dependencies: src/host/layout/templates/auth/oauth.ts +

    +

    Exports: None

    +
    src/index.test.ts

    src/index.ts

    Configured entrypoint

    @@ -3457,8 +3597,9 @@

    src/index.ts

    ActionDefinition, addNodeToTree, buildInsertCatalogEntries, canAcceptChild, cloneWithNewIds, createNodeFromCatalogEntry, - deriveProjectId, findNodeById, - generateStudioId, getInsertCatalogCategoryLabel, + createStudioInstancePropertyPatch, deriveProjectId, + findNodeById, generateStudioId, + getInsertCatalogCategoryLabel, InsertCatalogComponentEntry, InsertCatalogDisabledReason, InsertCatalogDisabledReasonCode, InsertCatalogEntry, InsertCatalogEntryBase, InsertCatalogEntryKind, @@ -3483,15 +3624,21 @@

    src/index.ts

    ProjectSortKey, removeNodeFromTree, resolveDefaultInsertPlacement, resolveInsertCatalogEntries, resolveInsertPlacement, + resolveStudioInstancePropertyFields, + resolveStudioInstancePropertyGroups, STUDIO_INSERT_RECIPES, STUDIO_PACKAGE_BOUNDARY, STUDIO_PACKAGE_NAME, STUDIO_PUBLIC_CONTRACTS, StudioActionPayloadField, StudioActionPayloadPrimitive, StudioActionPayloadSchema, StudioAdminRouteId, StudioAdminRoutePath, StudioAdminStaticRoutePath, - StudioCommand, StudioComponentBlueprint, - StudioComponentMeta, StudioComponentMetaRegistry, - StudioContextValue, StudioEvent, - StudioIdGenerator, StudioLocale, + StudioAuthoringComponentMeta, StudioAuthoringMetaRegistry, + StudioAuthoringPropSchema, StudioCommand, + StudioComponentBlueprint, StudioComponentMeta, + StudioComponentMetaRegistry, StudioContextValue, + StudioEvent, StudioIdGenerator, + StudioInstancePropertyEditorKind, + StudioInstancePropertyField, StudioInstancePropertyGroup, + StudioInstancePropertyValue, StudioLocale, StudioManifest, StudioMode, StudioModuleId, StudioNodeId, StudioPackageBoundary, StudioPanelId, StudioProjectId, @@ -3784,6 +3931,31 @@

    src/projectAuthHealth.ts

    ProjectOAuthProviderHealthStatus

    +
    +

    src/projectAuthRuntimeDiagnostics.test.ts

    +

    Referenced module

    +

    + Dependencies: src/projectAuthHealth.ts, + src/projectAuthRuntimeDiagnostics.ts +

    +

    Exports: None

    +
    +
    +

    src/projectAuthRuntimeDiagnostics.ts

    +

    Referenced module

    +

    Dependencies: src/projectAuthHealth.ts

    +

    + Exports: applyProjectAuthRuntimeDiagnostics, + ProjectAuthRuntimeDiagnostics, + ProjectAuthRuntimeRolloutStatus +

    +
    src/projectWorkspaceContracts.ts StudioProjectSummary

    +
    +

    src/propertiesAuthoringModel.test.ts

    +

    Referenced module

    +

    Dependencies: src/index.ts

    +

    Exports: None

    +
    +
    +

    src/propertiesAuthoringModel.ts

    +

    Referenced module

    +

    Dependencies: None

    +

    + Exports: createStudioInstancePropertyPatch, + resolveStudioInstancePropertyFields, + resolveStudioInstancePropertyGroups, + StudioAuthoringComponentMeta, StudioAuthoringMetaRegistry, + StudioAuthoringPropSchema, + StudioInstancePropertyEditorKind, + StudioInstancePropertyField, StudioInstancePropertyGroup, + StudioInstancePropertyValue +

    +

    src/root.test.ts

    Referenced module

    @@ -3888,7 +4084,7 @@

    src/root.test.ts

    src/root.ts

    Referenced module

    @@ -3902,7 +4098,8 @@

    src/root.ts

    canAcceptChild, cloneWithNewIds, CreateCategoriesScreen, CreateCategoryTemplatesScreen, createNodeFromCatalogEntry, - CreateProjectFromTemplateScreen, deriveProjectId, + CreateProjectFromTemplateScreen, + createStudioInstancePropertyPatch, deriveProjectId, findNodeById, findProjectSecretUsages, findRawSecretResponseKey, generateStudioId, getInsertCatalogCategoryLabel, @@ -3931,15 +4128,21 @@

    src/root.ts

    RAW_SECRET_RESPONSE_KEYS, RawSecretResponseKeyMatch, removeNodeFromTree, resolveDefaultInsertPlacement, resolveInsertCatalogEntries, resolveInsertPlacement, + resolveStudioInstancePropertyFields, + resolveStudioInstancePropertyGroups, STUDIO_INSERT_RECIPES, STUDIO_PACKAGE_BOUNDARY, STUDIO_PACKAGE_NAME, STUDIO_PUBLIC_CONTRACTS, StudioActionPayloadField, StudioActionPayloadPrimitive, StudioActionPayloadSchema, StudioAdminRouteId, StudioAdminRoutePath, StudioAdminStaticRoutePath, - StudioApp, StudioCommand, - StudioComponentBlueprint, StudioComponentMeta, - StudioComponentMetaRegistry, StudioContextValue, - StudioEvent, StudioIdGenerator, StudioLocale, + StudioApp, StudioAuthoringComponentMeta, + StudioAuthoringMetaRegistry, StudioAuthoringPropSchema, + StudioCommand, StudioComponentBlueprint, + StudioComponentMeta, StudioComponentMetaRegistry, + StudioContextValue, StudioEvent, + StudioIdGenerator, StudioInstancePropertyEditorKind, + StudioInstancePropertyField, StudioInstancePropertyGroup, + StudioInstancePropertyValue, StudioLocale, StudioManifest, StudioMode, StudioModuleId, StudioNodeId, StudioPackageBoundary, StudioPanelId, StudioProjectId, @@ -4451,6 +4654,21 @@

    src/studioAdminRouteModel.ts

    StudioAdminRouteDefinition, StudioAdminRouteRenderState

    +
    +

    src/studioRuntimeApi.test.ts

    +

    Referenced module

    +

    Dependencies: src/studioRuntimeApi.ts

    +

    Exports: None

    +
    +
    +

    src/studioRuntimeApi.ts

    +

    Referenced module

    +

    Dependencies: None

    +

    Exports: syncStudioRuntime

    +
    src/ui/admin/adminPagePrimitives.tsx

    src/ui/admin/adminPageUtils.ts

    Referenced module

    Dependencies: None

    -

    - Exports: formatPrimitive, readRecord, - readString -

    +

    Exports: readRecord, readString

    src/ui/admin/AnkhAdminPage.test.ts

    @@ -4755,7 +4970,7 @@

    src/ui/admin/pages/AuthAdminPage.test.ts

    src/ui/admin/pages/AuthAdminPage.tsx

    Referenced module

    @@ -4763,7 +4978,7 @@

    src/ui/admin/pages/AuthAdminPage.tsx

    Dependencies: src/authSettings.ts, src/core/StudioContext.ts, src/index.ts, src/projectAuthApi.ts, src/projectAuthHealth.ts, - src/projectSecretApi.ts, + src/projectSecretApi.ts, src/studioRuntimeApi.ts, src/ui/admin/AuthAdminSession.tsx, src/ui/admin/pages/adminAuthCredentialFlow.ts, src/ui/admin/pages/adminAuthHealthFlow.ts, @@ -4794,15 +5009,14 @@

    src/ui/admin/pages/PropertiesAdminPage.test.ts

    src/ui/admin/pages/PropertiesAdminPage.tsx

    Referenced module

    Dependencies: src/core/StudioContext.ts, - src/manifestState.ts, - src/ui/admin/adminPagePrimitives.tsx, - src/ui/admin/adminPageUtils.ts + src/manifestState.ts, src/propertiesAuthoringModel.ts, + src/ui/admin/adminPagePrimitives.tsx

    Exports: PropertiesAdminPage

    @@ -4961,7 +5175,7 @@

    src/index.ts

    data-search="ACTION_REGISTRY value src/index.ts " >

    ACTION_REGISTRY

    -

    value • src/index.ts:369:14

    +

    value • src/index.ts:373:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -4972,7 +5186,7 @@

    ACTION_REGISTRY

    data-search="ActionDefinition type src/index.ts StudioActionPayloadSchema" >

    ActionDefinition

    -

    type • src/index.ts:279:1

    +

    type • src/index.ts:283:1

    Export paths: src/index.ts

    @@ -5037,7 +5251,7 @@

    ActionDefinition

    data-search='addNodeToTree value src/index.ts StudioComponentMetaRegistry (args: { root: UiNode; targetId: string; newNode: UiNode; componentMeta: StudioComponentMetaRegistry; mode?: "append" | "prepend"; }) => UiNode' >

    addNodeToTree

    -

    value • src/index.ts:591:14

    +

    value • src/index.ts:595:14

    Export paths: src/index.ts

    @@ -5083,7 +5297,7 @@
    Signature
    data-search="buildInsertCatalogEntries function src/index.ts InsertCatalogEntry InsertRecipe StudioComponentMetaRegistry (args: { componentMeta: StudioComponentMetaRegistry; recipes?: readonly InsertRecipe[]; }) => InsertCatalogEntry[]" >

    buildInsertCatalogEntries

    -

    function • src/index.ts:1303:1

    +

    function • src/index.ts:1307:1

    Export paths: src/index.ts

    @@ -5130,7 +5344,7 @@
    Signature
    data-search="canAcceptChild function src/index.ts StudioComponentMetaRegistry (args: { parentType: string; childType: string; componentMeta: StudioComponentMetaRegistry; }) => boolean" >

    canAcceptChild

    -

    function • src/index.ts:750:1

    +

    function • src/index.ts:754:1

    Export paths: src/index.ts

    @@ -5175,7 +5389,7 @@
    Signature
    data-search="cloneWithNewIds value src/index.ts StudioIdGenerator (node: UiNode, createId?: StudioIdGenerator) => UiNode" >

    cloneWithNewIds

    -

    value • src/index.ts:516:14

    +

    value • src/index.ts:520:14

    Export paths: src/index.ts

    @@ -5220,7 +5434,7 @@
    Signature
    data-search="createNodeFromCatalogEntry function src/index.ts InsertCatalogEntry StudioComponentMetaRegistry StudioIdGenerator (entry: InsertCatalogEntry, componentMeta: StudioComponentMetaRegistry, createId?: StudioIdGenerator) => UiNode" >

    createNodeFromCatalogEntry

    -

    function • src/index.ts:1222:1

    +

    function • src/index.ts:1226:1

    Export paths: src/index.ts

    @@ -5274,7 +5488,7 @@
    Signature
    data-search="findNodeById value src/index.ts (root: UiNode, id: string) => UiNode | null" >

    findNodeById

    -

    value • src/index.ts:533:14

    +

    value • src/index.ts:537:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -5314,7 +5528,7 @@
    Signature
    data-search="generateStudioId value src/index.ts (prefix?: string | undefined) => string" >

    generateStudioId

    -

    value • src/index.ts:509:14

    +

    value • src/index.ts:513:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -5348,7 +5562,7 @@
    Signature
    data-search="getInsertCatalogCategoryLabel function src/index.ts (category: string) => string" >

    getInsertCatalogCategoryLabel

    -

    function • src/index.ts:1148:1

    +

    function • src/index.ts:1152:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5382,7 +5596,7 @@
    Signature
    data-search="InsertCatalogComponentEntry type src/index.ts InsertCatalogDisabledReason InsertCatalogEntryStatus NodePlacement" >

    InsertCatalogComponentEntry

    -

    type • src/index.ts:257:1

    +

    type • src/index.ts:261:1

    Export paths: src/index.ts

    @@ -5484,7 +5698,7 @@

    InsertCatalogComponentEntry

    data-search="InsertCatalogDisabledReason type src/index.ts InsertCatalogDisabledReasonCode InsertRecipeIssue" >

    InsertCatalogDisabledReason

    -

    type • src/index.ts:239:1

    +

    type • src/index.ts:243:1

    Export paths: src/index.ts

    @@ -5536,7 +5750,7 @@

    InsertCatalogDisabledReason

    data-search="InsertCatalogDisabledReasonCode unknown src/index.ts " >

    InsertCatalogDisabledReasonCode

    -

    unknown • src/index.ts:216:1

    +

    unknown • src/index.ts:220:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5547,7 +5761,7 @@

    InsertCatalogDisabledReasonCode

    data-search="InsertCatalogEntry unknown src/index.ts " >

    InsertCatalogEntry

    -

    unknown • src/index.ts:267:1

    +

    unknown • src/index.ts:271:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5558,7 +5772,7 @@

    InsertCatalogEntry

    data-search="InsertCatalogEntryBase type src/index.ts InsertCatalogDisabledReason InsertCatalogEntryKind InsertCatalogEntryStatus NodePlacement" >

    InsertCatalogEntryBase

    -

    type • src/index.ts:245:1

    +

    type • src/index.ts:249:1

    Export paths: src/index.ts

    @@ -5654,7 +5868,7 @@

    InsertCatalogEntryBase

    data-search="InsertCatalogEntryKind unknown src/index.ts " >

    InsertCatalogEntryKind

    -

    unknown • src/index.ts:213:1

    +

    unknown • src/index.ts:217:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5665,7 +5879,7 @@

    InsertCatalogEntryKind

    data-search="InsertCatalogEntryStatus unknown src/index.ts " >

    InsertCatalogEntryStatus

    -

    unknown • src/index.ts:214:1

    +

    unknown • src/index.ts:218:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5676,7 +5890,7 @@

    InsertCatalogEntryStatus

    data-search="InsertCatalogRecipeEntry type src/index.ts InsertCatalogDisabledReason InsertCatalogEntryStatus InsertRecipe NodePlacement" >

    InsertCatalogRecipeEntry

    -

    type • src/index.ts:262:1

    +

    type • src/index.ts:266:1

    Export paths: src/index.ts

    @@ -5779,7 +5993,7 @@

    InsertCatalogRecipeEntry

    data-search="insertNodeAtPlacement function src/index.ts InsertNodeAtPlacementArgs InsertNodeAtPlacementResult (args: InsertNodeAtPlacementArgs) => InsertNodeAtPlacementResult | null" >

    insertNodeAtPlacement

    -

    function • src/index.ts:980:1

    +

    function • src/index.ts:984:1

    Export paths: src/index.ts

    @@ -5820,7 +6034,7 @@
    Signature
    data-search="InsertNodeAtPlacementArgs type src/index.ts NodePlacement StudioComponentMetaRegistry" >

    InsertNodeAtPlacementArgs

    -

    type • src/index.ts:923:1

    +

    type • src/index.ts:927:1

    Export paths: src/index.ts

    @@ -5879,7 +6093,7 @@

    InsertNodeAtPlacementArgs

    data-search="InsertNodeAtPlacementResult type src/index.ts " >

    InsertNodeAtPlacementResult

    -

    type • src/index.ts:930:1

    +

    type • src/index.ts:934:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -5918,7 +6132,7 @@

    InsertNodeAtPlacementResult

    data-search="InsertRecipe type src/index.ts InsertRecipeNode" >

    InsertRecipe

    -

    type • src/index.ts:224:1

    +

    type • src/index.ts:228:1

    Export paths: src/index.ts

    @@ -5983,7 +6197,7 @@

    InsertRecipe

    data-search="InsertRecipeIssue type src/index.ts " >

    InsertRecipeIssue

    -

    type • src/index.ts:232:1

    +

    type • src/index.ts:236:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6036,7 +6250,7 @@

    InsertRecipeIssue

    data-search="InsertRecipeNode type src/index.ts " >

    InsertRecipeNode

    -

    type • src/index.ts:219:1

    +

    type • src/index.ts:223:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6075,7 +6289,7 @@

    InsertRecipeNode

    data-search="ModuleDefinition type src/index.ts " >

    ModuleDefinition

    -

    type • src/index.ts:287:1

    +

    type • src/index.ts:291:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6128,7 +6342,7 @@

    ModuleDefinition

    data-search='moveNodeInTree value src/index.ts (root: UiNode, nodeId: string, direction: "up" | "down") => UiNode' >

    moveNodeInTree

    -

    value • src/index.ts:624:14

    +

    value • src/index.ts:628:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6175,7 +6389,7 @@
    Signature
    data-search="moveNodeToPlacement function src/index.ts MoveNodeToPlacementArgs MoveNodeToPlacementResult (args: MoveNodeToPlacementArgs) => MoveNodeToPlacementResult | null" >

    moveNodeToPlacement

    -

    function • src/index.ts:1048:1

    +

    function • src/index.ts:1052:1

    Export paths: src/index.ts

    @@ -6215,7 +6429,7 @@
    Signature
    data-search="MoveNodeToPlacementArgs type src/index.ts NodePlacement StudioComponentMetaRegistry" >

    MoveNodeToPlacementArgs

    -

    type • src/index.ts:1007:1

    +

    type • src/index.ts:1011:1

    Export paths: src/index.ts

    @@ -6274,7 +6488,7 @@

    MoveNodeToPlacementArgs

    data-search="MoveNodeToPlacementResult type src/index.ts " >

    MoveNodeToPlacementResult

    -

    type • src/index.ts:1014:1

    +

    type • src/index.ts:1018:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6313,7 +6527,7 @@

    MoveNodeToPlacementResult

    data-search="NodePlacement type src/index.ts PlacementKind" >

    NodePlacement

    -

    type • src/index.ts:175:1

    +

    type • src/index.ts:179:1

    Export paths: src/index.ts

    @@ -6371,7 +6585,7 @@

    NodePlacement

    data-search="PlacementFailureCode unknown src/index.ts " >

    PlacementFailureCode

    -

    unknown • src/index.ts:182:1

    +

    unknown • src/index.ts:186:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6382,7 +6596,7 @@

    PlacementFailureCode

    data-search="PlacementFailureReason type src/index.ts PlacementFailureCode" >

    PlacementFailureReason

    -

    type • src/index.ts:194:1

    +

    type • src/index.ts:198:1

    Export paths: src/index.ts

    @@ -6426,7 +6640,7 @@

    PlacementFailureReason

    data-search="PlacementKind unknown src/index.ts " >

    PlacementKind

    -

    unknown • src/index.ts:173:1

    +

    unknown • src/index.ts:177:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6437,7 +6651,7 @@

    PlacementKind

    data-search="PlacementResolutionResult unknown src/index.ts " >

    PlacementResolutionResult

    -

    unknown • src/index.ts:206:1

    +

    unknown • src/index.ts:210:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6448,7 +6662,7 @@

    PlacementResolutionResult

    data-search="PlacementValidationResult unknown src/index.ts " >

    PlacementValidationResult

    -

    unknown • src/index.ts:199:1

    +

    unknown • src/index.ts:203:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6459,7 +6673,7 @@

    PlacementValidationResult

    data-search="removeNodeFromTree value src/index.ts (root: UiNode, nodeId: string) => UiNode | null" >

    removeNodeFromTree

    -

    value • src/index.ts:573:14

    +

    value • src/index.ts:577:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6499,7 +6713,7 @@
    Signature
    data-search="resolveDefaultInsertPlacement function src/index.ts PlacementResolutionResult StudioComponentMetaRegistry (args: { root: UiNode; selectedNodeId: string | null; childType: string; componentMeta: StudioComponentMetaRegistry; }) => PlacementResolutionResult" >

    resolveDefaultInsertPlacement

    -

    function • src/index.ts:878:1

    +

    function • src/index.ts:882:1

    Export paths: src/index.ts

    @@ -6545,7 +6759,7 @@
    Signature
    data-search="resolveInsertCatalogEntries function src/index.ts InsertCatalogEntry StudioComponentMetaRegistry (args: { entries: readonly InsertCatalogEntry[]; root: UiNode | null; selectedNodeId: string | null; componentMeta: StudioComponentMetaRegistry; }) => InsertCatalogEntry[]" >

    resolveInsertCatalogEntries

    -

    function • src/index.ts:1345:1

    +

    function • src/index.ts:1349:1

    Export paths: src/index.ts

    @@ -6592,7 +6806,7 @@
    Signature
    data-search="resolveInsertPlacement function src/index.ts PlacementKind PlacementResolutionResult StudioComponentMetaRegistry (args: { root: UiNode; targetNodeId: string; childType: string; componentMeta: StudioComponentMetaRegistry; kind: PlacementKind; }) => PlacementResolutionResult" >

    resolveInsertPlacement

    -

    function • src/index.ts:817:1

    +

    function • src/index.ts:821:1

    Export paths: src/index.ts

    @@ -6639,7 +6853,7 @@
    Signature
    data-search="STUDIO_INSERT_RECIPES value src/index.ts " >

    STUDIO_INSERT_RECIPES

    -

    value • src/index.ts:1115:14

    +

    value • src/index.ts:1119:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6650,7 +6864,7 @@

    STUDIO_INSERT_RECIPES

    data-search="STUDIO_PACKAGE_BOUNDARY value src/index.ts " >

    STUDIO_PACKAGE_BOUNDARY

    -

    value • src/index.ts:57:14

    +

    value • src/index.ts:58:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6661,7 +6875,7 @@

    STUDIO_PACKAGE_BOUNDARY

    data-search="STUDIO_PACKAGE_NAME value src/index.ts " >

    STUDIO_PACKAGE_NAME

    -

    value • src/index.ts:49:14

    +

    value • src/index.ts:50:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6672,7 +6886,7 @@

    STUDIO_PACKAGE_NAME

    data-search="STUDIO_PUBLIC_CONTRACTS value src/index.ts " >

    STUDIO_PUBLIC_CONTRACTS

    -

    value • src/index.ts:85:14

    +

    value • src/index.ts:86:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -6683,7 +6897,7 @@

    STUDIO_PUBLIC_CONTRACTS

    data-search="StudioActionPayloadField type src/index.ts StudioActionPayloadPrimitive" >

    StudioActionPayloadField

    -

    type • src/index.ts:271:1

    +

    type • src/index.ts:275:1

    Export paths: src/index.ts

    @@ -6734,7 +6948,7 @@

    StudioActionPayloadField

    data-search="StudioActionPayloadPrimitive unknown src/index.ts " >

    StudioActionPayloadPrimitive

    -

    unknown • src/index.ts:269:1

    +

    unknown • src/index.ts:273:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6745,7 +6959,7 @@

    StudioActionPayloadPrimitive

    data-search="StudioActionPayloadSchema unknown src/index.ts " >

    StudioActionPayloadSchema

    -

    unknown • src/index.ts:277:1

    +

    unknown • src/index.ts:281:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6756,7 +6970,7 @@

    StudioActionPayloadSchema

    data-search="StudioAdminRouteId unknown src/index.ts " >

    StudioAdminRouteId

    -

    unknown • src/index.ts:117:1

    +

    unknown • src/index.ts:121:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6767,7 +6981,7 @@

    StudioAdminRouteId

    data-search="StudioAdminRoutePath unknown src/index.ts " >

    StudioAdminRoutePath

    -

    unknown • src/index.ts:140:1

    +

    unknown • src/index.ts:144:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6778,7 +6992,7 @@

    StudioAdminRoutePath

    data-search="StudioAdminStaticRoutePath unknown src/index.ts " >

    StudioAdminStaticRoutePath

    -

    unknown • src/index.ts:129:1

    +

    unknown • src/index.ts:133:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6789,7 +7003,7 @@

    StudioAdminStaticRoutePath

    data-search="StudioCommand unknown src/index.ts " >

    StudioCommand

    -

    unknown • src/index.ts:312:1

    +

    unknown • src/index.ts:316:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6800,7 +7014,7 @@

    StudioCommand

    data-search="StudioComponentBlueprint type src/index.ts " >

    StudioComponentBlueprint

    -

    type • src/index.ts:296:1

    +

    type • src/index.ts:300:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6839,7 +7053,7 @@

    StudioComponentBlueprint

    data-search="StudioComponentMeta type src/index.ts StudioComponentBlueprint" >

    StudioComponentMeta

    -

    type • src/index.ts:301:1

    +

    type • src/index.ts:305:1

    Export paths: src/index.ts

    @@ -6897,7 +7111,7 @@

    StudioComponentMeta

    data-search="StudioComponentMetaRegistry unknown src/index.ts " >

    StudioComponentMetaRegistry

    -

    unknown • src/index.ts:308:1

    +

    unknown • src/index.ts:312:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -6908,7 +7122,7 @@

    StudioComponentMetaRegistry

    data-search="StudioContextValue type src/index.ts InsertCatalogEntry NodePlacement StudioAdminRouteId StudioLocale StudioManifest StudioMode StudioModuleId StudioNodeId StudioPanelId StudioSaveStatus StudioScreenId ThemeUpdates" >

    StudioContextValue

    -

    type • src/index.ts:328:1

    +

    type • src/index.ts:332:1

    Export paths: src/index.ts

    @@ -7335,7 +7549,7 @@

    StudioContextValue

    data-search="StudioEvent unknown src/index.ts " >

    StudioEvent

    -

    unknown • src/index.ts:321:1

    +

    unknown • src/index.ts:325:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7346,7 +7560,7 @@

    StudioEvent

    data-search="StudioIdGenerator unknown src/index.ts " >

    StudioIdGenerator

    -

    unknown • src/index.ts:310:1

    +

    unknown • src/index.ts:314:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7357,7 +7571,7 @@

    StudioIdGenerator

    data-search="StudioLocale unknown src/index.ts " >

    StudioLocale

    -

    unknown • src/index.ts:112:1

    +

    unknown • src/index.ts:116:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7368,7 +7582,7 @@

    StudioLocale

    data-search="StudioManifest unknown src/index.ts " >

    StudioManifest

    -

    unknown • src/index.ts:142:1

    +

    unknown • src/index.ts:146:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7379,7 +7593,7 @@

    StudioManifest

    data-search="StudioMode unknown src/index.ts " >

    StudioMode

    -

    unknown • src/index.ts:114:1

    +

    unknown • src/index.ts:118:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7390,7 +7604,7 @@

    StudioMode

    data-search="StudioModuleId unknown src/index.ts " >

    StudioModuleId

    -

    unknown • src/index.ts:111:1

    +

    unknown • src/index.ts:115:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7401,7 +7615,7 @@

    StudioModuleId

    data-search="StudioNodeId unknown src/index.ts " >

    StudioNodeId

    -

    unknown • src/index.ts:109:1

    +

    unknown • src/index.ts:113:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7412,7 +7626,7 @@

    StudioNodeId

    data-search="StudioPackageBoundary type src/index.ts " >

    StudioPackageBoundary

    -

    type • src/index.ts:51:1

    +

    type • src/index.ts:52:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7458,7 +7672,7 @@

    StudioPackageBoundary

    data-search="StudioPanelId unknown src/index.ts " >

    StudioPanelId

    -

    unknown • src/index.ts:116:1

    +

    unknown • src/index.ts:120:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7469,7 +7683,7 @@

    StudioPanelId

    data-search="StudioProjectId unknown src/index.ts " >

    StudioProjectId

    -

    unknown • src/index.ts:107:1

    +

    unknown • src/index.ts:111:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7480,7 +7694,7 @@

    StudioProjectId

    data-search="StudioPublicContract unknown src/index.ts " >

    StudioPublicContract

    -

    unknown • src/index.ts:105:1

    +

    unknown • src/index.ts:109:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7491,7 +7705,7 @@

    StudioPublicContract

    data-search="StudioSaveStatus unknown src/index.ts " >

    StudioSaveStatus

    -

    unknown • src/index.ts:115:1

    +

    unknown • src/index.ts:119:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7502,7 +7716,7 @@

    StudioSaveStatus

    data-search="StudioScreenId unknown src/index.ts " >

    StudioScreenId

    -

    unknown • src/index.ts:110:1

    +

    unknown • src/index.ts:114:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7513,7 +7727,7 @@

    StudioScreenId

    data-search="StudioSelectionState type src/index.ts StudioAdminRouteId StudioPanelId" >

    StudioSelectionState

    -

    type • src/index.ts:153:1

    +

    type • src/index.ts:157:1

    Export paths: src/index.ts

    @@ -7579,7 +7793,7 @@

    StudioSelectionState

    data-search="StudioSessionId unknown src/index.ts " >

    StudioSessionId

    -

    unknown • src/index.ts:108:1

    +

    unknown • src/index.ts:112:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7590,7 +7804,7 @@

    StudioSessionId

    data-search="StudioSessionState type src/index.ts StudioMode StudioSaveStatus" >

    StudioSessionState

    -

    type • src/index.ts:161:1

    +

    type • src/index.ts:165:1

    Export paths: src/index.ts

    @@ -7684,7 +7898,7 @@

    StudioSessionState

    data-search="ThemeUpdates unknown src/index.ts " >

    ThemeUpdates

    -

    unknown • src/index.ts:148:1

    +

    unknown • src/index.ts:152:1

    Export paths: src/index.ts

    Related symbols: None
    @@ -7695,7 +7909,7 @@

    ThemeUpdates

    data-search="TPL_SCREEN_EMPTY value src/index.ts " >

    TPL_SCREEN_EMPTY

    -

    value • src/index.ts:461:14

    +

    value • src/index.ts:465:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -7706,7 +7920,7 @@

    TPL_SCREEN_EMPTY

    data-search="updateNodeInTree value src/index.ts (root: UiNode, id: string, newProps: Record<string, unknown>) => UiNode" >

    updateNodeInTree

    -

    value • src/index.ts:545:14

    +

    value • src/index.ts:549:14

    Export paths: src/index.ts

    Related symbols: None
    @@ -7753,7 +7967,7 @@
    Signature
    data-search="validateInsertRecipe function src/index.ts InsertRecipe InsertRecipeIssue StudioComponentMetaRegistry (recipe: InsertRecipe, componentMeta: StudioComponentMetaRegistry) => InsertRecipeIssue | null" >

    validateInsertRecipe

    -

    function • src/index.ts:1165:1

    +

    function • src/index.ts:1169:1

    Export paths: src/index.ts

    @@ -7801,7 +8015,7 @@
    Signature
    data-search="validateNodePlacement function src/index.ts NodePlacement PlacementValidationResult StudioComponentMetaRegistry (args: { root: UiNode; placement: NodePlacement; childType: string; componentMeta: StudioComponentMetaRegistry; }) => PlacementValidationResult" >

    validateNodePlacement

    -

    function • src/index.ts:762:1

    +

    function • src/index.ts:766:1

    Export paths: src/index.ts

    @@ -8516,78 +8730,527 @@

    StudioProjectSummary

    -

    src/templateCatalogContracts.ts

    +

    src/propertiesAuthoringModel.ts

    -

    TemplateCatalog

    -

    type • src/templateCatalogContracts.ts:21:1

    +

    createStudioInstancePropertyPatch

    +

    function • src/propertiesAuthoringModel.ts:89:1

    Export paths: src/index.ts

    Related symbols:
      -
    • TemplateCatalogCategory
    • +
    • StudioInstancePropertyValue
    - - - - - - - - - - - - - - - - - - - - -
    MemberKindTypeRequiredDescription
    categoriespropertyTemplateCatalogCategory[]yes
    +
    +
    Signature
    +
    +(node: UiNode, propertyName: string, value: StudioInstancePropertyValue | undefined) => Readonly<Record<string, unknown>>
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterTypeRequiredDescription
    nodeUiNodeyes
    propertyNamestringyes
    valueStudioInstancePropertyValue | undefinedyes
    +

    + Returns: + Readonly<Record<string, unknown>> +

    +
    -

    TemplateCatalogCategory

    -

    type • src/templateCatalogContracts.ts:10:1

    +

    resolveStudioInstancePropertyFields

    +

    function • src/propertiesAuthoringModel.ts:45:1

    Export paths: src/index.ts

    Related symbols:
      -
    • TemplateCatalogTemplate
    • +
    • StudioAuthoringComponentMeta
    • +
    • StudioInstancePropertyField
    - - - - - - - - - - - - - - - - - - - +
    +
    Signature
    +
    +(node: UiNode, registry: Readonly<Record<string, StudioAuthoringComponentMeta | undefined>>) => readonly StudioInstancePropertyField[]
    +
    MemberKindTypeRequiredDescription
    focusAreaspropertyreadonly string[]yes
    + + + + + + + + + + + + + + + + + + + + + + +
    ParameterTypeRequiredDescription
    nodeUiNodeyes
    registry + Readonly<Record<string, StudioAuthoringComponentMeta | + undefined>> + yes
    +

    + Returns: readonly StudioInstancePropertyField[] +

    + +
    +
    +

    resolveStudioInstancePropertyGroups

    +

    function • src/propertiesAuthoringModel.ts:74:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • StudioAuthoringComponentMeta
    • +
    • StudioInstancePropertyGroup
    • +
    +
    +
    +
    Signature
    +
    +(node: UiNode, registry: Readonly<Record<string, StudioAuthoringComponentMeta | undefined>>) => readonly StudioInstancePropertyGroup[]
    + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterTypeRequiredDescription
    nodeUiNodeyes
    registry + Readonly<Record<string, StudioAuthoringComponentMeta | + undefined>> + yes
    +

    + Returns: readonly StudioInstancePropertyGroup[] +

    +
    +
    +
    +

    StudioAuthoringComponentMeta

    +

    type • src/propertiesAuthoringModel.ts:14:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • StudioAuthoringPropSchema
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MemberKindTypeRequiredDescription
    namepropertystringyes
    propsproperty + Readonly<Record<string, StudioAuthoringPropSchema>> + yes
    +
    +
    +

    StudioAuthoringMetaRegistry

    +

    unknown • src/propertiesAuthoringModel.ts:19:1

    + +

    Export paths: src/index.ts

    +
    Related symbols: None
    +
    +
    +

    StudioAuthoringPropSchema

    +

    type • src/propertiesAuthoringModel.ts:3:1

    + +

    Export paths: src/index.ts

    +
    Related symbols: None
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MemberKindTypeRequiredDescription
    authoringproperty{ readonly authority: string; } | undefinedno
    categorypropertystringyes
    defaultpropertyunknownno
    enumpropertyreadonly (string | number)[] | undefinedno
    labelpropertystring | undefinedno
    typepropertystringyes
    +
    +
    +

    StudioInstancePropertyEditorKind

    +

    unknown • src/propertiesAuthoringModel.ts:23:1

    + +

    Export paths: src/index.ts

    +
    Related symbols: None
    +
    +
    +

    StudioInstancePropertyField

    +

    type • src/propertiesAuthoringModel.ts:26:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • StudioInstancePropertyEditorKind
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MemberKindTypeRequiredDescription
    categorypropertystringyes
    defaultValuepropertyunknownyes
    editorpropertyStudioInstancePropertyEditorKindyes
    isExplicitpropertybooleanyes
    labelpropertystringyes
    namepropertystringyes
    optionspropertyreadonly (string | number)[]yes
    schemaTypepropertystringyes
    valuepropertyunknownyes
    +
    +
    +

    StudioInstancePropertyGroup

    +

    type • src/propertiesAuthoringModel.ts:38:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • StudioInstancePropertyField
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MemberKindTypeRequiredDescription
    categorypropertystringyes
    fieldspropertyreadonly StudioInstancePropertyField[]yes
    +
    +
    +

    StudioInstancePropertyValue

    +

    unknown • src/propertiesAuthoringModel.ts:43:1

    + +

    Export paths: src/index.ts

    +
    Related symbols: None
    +
    +
    +
    +

    src/templateCatalogContracts.ts

    +
    +

    TemplateCatalog

    +

    type • src/templateCatalogContracts.ts:21:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • TemplateCatalogCategory
    • +
    +
    + + + + + + + + + + + + + + + + + + + + +
    MemberKindTypeRequiredDescription
    categoriespropertyTemplateCatalogCategory[]yes
    +
    +
    +

    TemplateCatalogCategory

    +

    type • src/templateCatalogContracts.ts:10:1

    + +

    Export paths: src/index.ts

    +
    + Related symbols: +
      +
    • TemplateCatalogTemplate
    • +
    +
    + + + + + + + + + + + + + + + + + + + @@ -8932,11 +9595,30 @@

    Architecture overview

    module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] package__ankhorage_studio -.-> module_src_host_auth_projectAuthHealthService_ts module_src_host_auth_projectAuthHealthService_ts --> + module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> + module_src_projectAuthHealth_ts module_src_host_auth_projectAuthHealthService_ts + --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> + module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> + module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] package__ankhorage_studio -.-> module_src_host_createStudioHost_ts module_src_host_createStudioHost_ts --> @@ -8966,6 +9648,11 @@

    Architecture overview

    module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] + package__ankhorage_studio -.-> + module_src_host_generatedOAuthLifecycle_e2e_test_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> + module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] package__ankhorage_studio -.-> module_src_host_hostLifecycle_smoke_test_ts module_src_host_hostLifecycle_smoke_test_ts --> @@ -9077,12 +9764,22 @@

    Architecture overview

    module_src_host_layout_templates_auth_adapter_ts module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] + package__ankhorage_studio -.-> + module_src_host_layout_templates_auth_callback_test_ts + module_src_host_layout_templates_auth_callback_test_ts --> + module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] + package__ankhorage_studio -.-> + module_src_host_layout_templates_auth_oauth_test_ts + module_src_host_layout_templates_auth_oauth_test_ts --> + module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> @@ -9496,6 +10193,14 @@

    Architecture overview

    module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] package__ankhorage_studio -.-> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_test_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> + module_src_projectAuthHealth_ts module_src_projectAuthRuntimeDiagnostics_test_ts + --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] package__ankhorage_studio -.-> module_src_projectIdentity_test_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts @@ -9517,6 +10222,11 @@

    Architecture overview

    package__ankhorage_studio -.-> module_src_projectSecretUsage_ts module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] package__ankhorage_studio -.-> module_src_projectWorkspaceContracts_ts + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_test_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_ts module_src_root_test_ts["src/root.test.ts"] package__ankhorage_studio -.-> module_src_root_test_ts module_src_root_ts["src/root.ts"] package__ankhorage_studio -.-> module_src_root_ts @@ -9650,6 +10360,11 @@

    Architecture overview

    module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] package__ankhorage_studio -.-> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts --> module_src_index_ts + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_test_ts + module_src_studioRuntimeApi_test_ts --> module_src_studioRuntimeApi_ts + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] package__ankhorage_studio -.-> module_src_studioSelectionModel_knip_test_ts module_src_studioSelectionModel_knip_test_ts --> @@ -9767,6 +10482,7 @@

    Architecture overview

    module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts @@ -9787,9 +10503,9 @@

    Architecture overview

    module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx - --> module_src_ui_admin_adminPagePrimitives_tsx + --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> - module_src_ui_admin_adminPageUtils_ts + module_src_ui_admin_adminPagePrimitives_tsx module_src_ui_admin_pages_SecretsAdminPage_test_ts["src/ui/admin/pages/SecretsAdminPage.test.ts"] package__ankhorage_studio -.-> module_src_ui_admin_pages_SecretsAdminPage_test_ts module_src_ui_admin_pages_SecretsAdminPage_tsx["src/ui/admin/pages/SecretsAdminPage.tsx"] @@ -10016,9 +10732,20 @@

    Architecture overview

    module_src_hooks_useWorkspaceActions_ts --> module_src_core_constants_ts module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] package__ankhorage_studio -.-> module_src_host_auth_projectAuthHealthService_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] package__ankhorage_studio -.-> module_src_host_createStudioHost_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_infraRuntime_ts @@ -10036,6 +10763,9 @@

    Architecture overview

    module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] + package__ankhorage_studio -.-> module_src_host_generatedOAuthLifecycle_e2e_test_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] package__ankhorage_studio -.-> module_src_host_hostLifecycle_smoke_test_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts @@ -10122,10 +10852,16 @@

    Architecture overview

    module_src_host_layout_templates_auth_adapter_test_ts --> module_src_host_layout_templates_auth_adapter_ts module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] + package__ankhorage_studio -.-> module_src_host_layout_templates_auth_callback_test_ts + module_src_host_layout_templates_auth_callback_test_ts --> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] + package__ankhorage_studio -.-> module_src_host_layout_templates_auth_oauth_test_ts + module_src_host_layout_templates_auth_oauth_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] package__ankhorage_studio -.-> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts @@ -10428,6 +11164,13 @@

    Architecture overview

    module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] package__ankhorage_studio -.-> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_test_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthHealth_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] + package__ankhorage_studio -.-> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] package__ankhorage_studio -.-> module_src_projectIdentity_test_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts @@ -10449,6 +11192,11 @@

    Architecture overview

    package__ankhorage_studio -.-> module_src_projectSecretUsage_ts module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] package__ankhorage_studio -.-> module_src_projectWorkspaceContracts_ts + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_test_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] + package__ankhorage_studio -.-> module_src_propertiesAuthoringModel_ts module_src_root_test_ts["src/root.test.ts"] package__ankhorage_studio -.-> module_src_root_test_ts module_src_root_ts["src/root.ts"] @@ -10557,6 +11305,11 @@

    Architecture overview

    module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] package__ankhorage_studio -.-> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts --> module_src_index_ts + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_test_ts + module_src_studioRuntimeApi_test_ts --> module_src_studioRuntimeApi_ts + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] + package__ankhorage_studio -.-> module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] package__ankhorage_studio -.-> module_src_studioSelectionModel_knip_test_ts module_src_studioSelectionModel_knip_test_ts --> module_src_studioSelectionModel_ts @@ -10649,6 +11402,7 @@

    Architecture overview

    module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthHealthFlow_ts @@ -10663,8 +11417,8 @@

    Architecture overview

    package__ankhorage_studio -.-> module_src_ui_admin_pages_PropertiesAdminPage_tsx module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts + module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx - module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPageUtils_ts module_src_ui_admin_pages_SecretsAdminPage_test_ts["src/ui/admin/pages/SecretsAdminPage.test.ts"] package__ankhorage_studio -.-> module_src_ui_admin_pages_SecretsAdminPage_test_ts module_src_ui_admin_pages_SecretsAdminPage_tsx["src/ui/admin/pages/SecretsAdminPage.tsx"] @@ -10764,9 +11518,12 @@

    Module relationships

    module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -10788,7 +11545,9 @@

    Module relationships

    module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -10877,6 +11636,8 @@

    Module relationships

    module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -10884,6 +11645,8 @@

    Module relationships

    module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -10924,6 +11687,8 @@

    Module relationships

    module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -11058,15 +11823,28 @@

    Module relationships

    module_src_core_constants_ts module_src_hooks_useTemplateCatalog_ts --> module_src_templateCatalogContracts_ts module_src_hooks_useWorkspaceActions_ts --> module_src_core_constants_ts module_src_host_auth_projectAuthHealthService_ts - --> module_src_host_orchestrator_projectManager_ts + --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthHealthService_ts --> + module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> - module_src_projectAuthHealth_ts module_src_host_createStudioHost_ts --> - module_src_host_orchestrator_infraRuntime_ts module_src_host_createStudioHost_ts - --> module_src_host_orchestrator_moduleManager_ts + module_src_projectAuthHealth_ts module_src_host_auth_projectAuthHealthService_ts + --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> + module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> + module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts + --> module_src_host_orchestrator_infraRuntime_ts module_src_host_createStudioHost_ts --> - module_src_host_orchestrator_projectManager_ts + module_src_host_orchestrator_moduleManager_ts module_src_host_createStudioHost_ts + --> module_src_host_orchestrator_projectManager_ts module_src_host_generatedAdminExpoWeb_smoke_test_ts --> module_src_host_installedPackageProvenance_ts module_src_host_generatedAdminExpoWeb_smoke_test_ts --> @@ -11083,6 +11861,8 @@

    Module relationships

    module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> + module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_hostLifecycle_smoke_test_ts --> @@ -11144,10 +11924,14 @@

    Module relationships

    module_src_host_layout_layoutGenerator_ts --> module_src_studioAdminRouteModel_ts module_src_host_layout_templates_auth_adapter_test_ts --> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts --> + module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts --> + module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts module_src_host_layout_templates_auth_oauth_ts --> @@ -11360,6 +12144,10 @@

    Module relationships

    module_src_projectAuthApi_ts --> module_src_secretResponseGuard_ts module_src_projectAuthHealth_test_ts --> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> + module_src_projectAuthHealth_ts module_src_projectAuthRuntimeDiagnostics_test_ts + --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts module_src_projectIdentity_test_ts --> module_src_projectWorkspaceContracts_ts module_src_projectIdentity_ts --> module_src_projectWorkspaceContracts_ts @@ -11367,6 +12155,7 @@

    Module relationships

    module_src_projectSecretApi_ts --> module_src_projectSecretUsage_ts module_src_projectSecretApi_ts --> module_src_secretResponseGuard_ts module_src_projectSecretUsage_test_ts --> module_src_projectSecretUsage_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts module_src_routeUtils_test_ts --> module_src_routeUtils_ts module_src_routeUtils_ts --> module_src_manifestState_ts @@ -11410,7 +12199,8 @@

    Module relationships

    --> module_src_runtimeLocalization_ts module_src_secretResponseGuard_test_ts --> module_src_secretResponseGuard_ts module_src_studioAdminRouteModel_test_ts --> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts - --> module_src_index_ts module_src_studioSelectionModel_knip_test_ts --> + --> module_src_index_ts module_src_studioRuntimeApi_test_ts --> + module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts --> module_src_studioSelectionModel_ts module_src_studioSelectionModel_test_ts --> module_src_studioSelectionModel_ts module_src_ui_admin_AnkhAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_AnkhAdminPage_tsx --> @@ -11470,6 +12260,7 @@

    Module relationships

    module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts @@ -11483,13 +12274,13 @@

    Module relationships

    module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx - --> module_src_ui_admin_adminPagePrimitives_tsx + --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> - module_src_ui_admin_adminPageUtils_ts module_src_ui_admin_pages_SecretsAdminPage_tsx - --> module_src_projectSecretApi_ts module_src_ui_admin_pages_SecretsAdminPage_tsx - --> module_src_projectSecretUsage_ts + module_src_ui_admin_adminPagePrimitives_tsx + module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_projectSecretApi_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> - module_src_ui_admin_AuthAdminSession_tsx + module_src_projectSecretUsage_ts module_src_ui_admin_pages_SecretsAdminPage_tsx + --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_ui_admin_pages_adminAuthSessionModel_ts module_src_ui_admin_pages_ThemeAdminPage_test_ts --> @@ -11564,9 +12355,12 @@

    Module relationships

    module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -11588,7 +12382,9 @@

    Module relationships

    module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -11677,6 +12473,8 @@

    Module relationships

    module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -11684,6 +12482,8 @@

    Module relationships

    module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -11724,6 +12524,8 @@

    Module relationships

    module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -11839,9 +12641,16 @@

    Module relationships

    module_src_hooks_useTemplateCatalog_ts --> module_src_core_constants_ts module_src_hooks_useTemplateCatalog_ts --> module_src_templateCatalogContracts_ts module_src_hooks_useWorkspaceActions_ts --> module_src_core_constants_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_host_secrets_projectSecretService_ts module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthHealthService_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts --> module_src_host_auth_projectAuthRuntimeDiagnostics_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_infraRuntime_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_host_orchestrator_projectPaths_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts + module_src_host_auth_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthRuntimeDiagnostics_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_infraRuntime_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_createStudioHost_ts --> module_src_host_orchestrator_projectManager_ts @@ -11853,6 +12662,7 @@

    Module relationships

    module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_generatedAuthAdapterRuntime_smoke_test_ts --> module_src_host_templateRegistry_index_ts + module_src_host_generatedOAuthLifecycle_e2e_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_moduleManager_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_orchestrator_projectManager_ts module_src_host_hostLifecycle_smoke_test_ts --> module_src_host_templateRegistry_index_ts @@ -11897,8 +12707,10 @@

    Module relationships

    module_src_host_layout_layoutGenerator_ts --> module_src_index_ts module_src_host_layout_layoutGenerator_ts --> module_src_studioAdminRouteModel_ts module_src_host_layout_templates_auth_adapter_test_ts --> module_src_host_layout_templates_auth_adapter_ts + module_src_host_layout_templates_auth_callback_test_ts --> module_src_host_layout_templates_auth_callback_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_templates_utils_routes_ts module_src_host_layout_templates_auth_callback_ts --> module_src_host_layout_utils_escapeStringLiteral_ts + module_src_host_layout_templates_auth_oauth_test_ts --> module_src_host_layout_templates_auth_oauth_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts module_src_host_layout_templates_auth_oauth_ts --> module_src_host_layout_utils_escapeStringLiteral_ts module_src_host_layout_templates_auth_screen_ts --> module_src_host_layout_auth_resolveAuthLayoutPlan_ts @@ -12026,6 +12838,9 @@

    Module relationships

    module_src_projectAuthApi_ts --> module_src_secretResponseGuard_ts module_src_projectAuthHealth_test_ts --> module_src_projectAuthHealth_ts module_src_projectAuthHealth_ts --> module_src_authSettings_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthHealth_ts + module_src_projectAuthRuntimeDiagnostics_test_ts --> module_src_projectAuthRuntimeDiagnostics_ts + module_src_projectAuthRuntimeDiagnostics_ts --> module_src_projectAuthHealth_ts module_src_projectIdentity_test_ts --> module_src_projectIdentity_ts module_src_projectIdentity_test_ts --> module_src_projectWorkspaceContracts_ts module_src_projectIdentity_ts --> module_src_projectWorkspaceContracts_ts @@ -12033,6 +12848,7 @@

    Module relationships

    module_src_projectSecretApi_ts --> module_src_projectSecretUsage_ts module_src_projectSecretApi_ts --> module_src_secretResponseGuard_ts module_src_projectSecretUsage_test_ts --> module_src_projectSecretUsage_ts + module_src_propertiesAuthoringModel_test_ts --> module_src_index_ts module_src_routeUtils_public_test_ts --> module_src_routeUtils_ts module_src_routeUtils_test_ts --> module_src_routeUtils_ts module_src_routeUtils_ts --> module_src_manifestState_ts @@ -12061,6 +12877,7 @@

    Module relationships

    module_src_secretResponseGuard_test_ts --> module_src_secretResponseGuard_ts module_src_studioAdminRouteModel_test_ts --> module_src_studioAdminRouteModel_ts module_src_studioAdminRouteModel_ts --> module_src_index_ts + module_src_studioRuntimeApi_test_ts --> module_src_studioRuntimeApi_ts module_src_studioSelectionModel_knip_test_ts --> module_src_studioSelectionModel_ts module_src_studioSelectionModel_test_ts --> module_src_studioSelectionModel_ts module_src_ui_admin_AnkhAdminPage_tsx --> module_src_core_StudioContext_ts @@ -12103,6 +12920,7 @@

    Module relationships

    module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectAuthHealth_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_projectSecretApi_ts + module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_studioRuntimeApi_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthCredentialFlow_ts module_src_ui_admin_pages_AuthAdminPage_tsx --> module_src_ui_admin_pages_adminAuthHealthFlow_ts @@ -12111,8 +12929,8 @@

    Module relationships

    module_src_ui_admin_pages_OverviewAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_core_StudioContext_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_manifestState_ts + module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_propertiesAuthoringModel_ts module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPagePrimitives_tsx - module_src_ui_admin_pages_PropertiesAdminPage_tsx --> module_src_ui_admin_adminPageUtils_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_projectSecretApi_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_projectSecretUsage_ts module_src_ui_admin_pages_SecretsAdminPage_tsx --> module_src_ui_admin_AuthAdminSession_tsx @@ -12185,9 +13003,12 @@

    Export graph

    module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -12209,7 +13030,9 @@

    Export graph

    module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -12298,6 +13121,8 @@

    Export graph

    module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -12305,6 +13130,8 @@

    Export graph

    module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -12345,6 +13172,8 @@

    Export graph

    module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -12406,6 +13235,10 @@

    Export graph

    export_createNodeFromCatalogEntry -.-> export_InsertCatalogEntry export_createNodeFromCatalogEntry -.-> export_StudioComponentMetaRegistry export_createNodeFromCatalogEntry -.-> export_StudioIdGenerator + export_createStudioInstancePropertyPatch["createStudioInstancePropertyPatch"] + module_src_propertiesAuthoringModel_ts --> + export_createStudioInstancePropertyPatch export_createStudioInstancePropertyPatch + -.-> export_StudioInstancePropertyValue export_deriveProjectId["deriveProjectId"] module_src_projectIdentity_ts --> export_deriveProjectId export_findNodeById["findNodeById"] module_src_index_ts --> export_findNodeById @@ -12536,6 +13369,18 @@

    Export graph

    export_resolveInsertPlacement -.-> export_PlacementKind export_resolveInsertPlacement -.-> export_PlacementResolutionResult export_resolveInsertPlacement -.-> export_StudioComponentMetaRegistry + export_resolveStudioInstancePropertyFields["resolveStudioInstancePropertyFields"] + module_src_propertiesAuthoringModel_ts --> + export_resolveStudioInstancePropertyFields + export_resolveStudioInstancePropertyFields -.-> + export_StudioAuthoringComponentMeta export_resolveStudioInstancePropertyFields + -.-> export_StudioInstancePropertyField + export_resolveStudioInstancePropertyGroups["resolveStudioInstancePropertyGroups"] + module_src_propertiesAuthoringModel_ts --> + export_resolveStudioInstancePropertyGroups + export_resolveStudioInstancePropertyGroups -.-> + export_StudioAuthoringComponentMeta export_resolveStudioInstancePropertyGroups + -.-> export_StudioInstancePropertyGroup export_STUDIO_INSERT_RECIPES["STUDIO_INSERT_RECIPES"] module_src_index_ts --> export_STUDIO_INSERT_RECIPES export_STUDIO_PACKAGE_BOUNDARY["STUDIO_PACKAGE_BOUNDARY"] @@ -12557,6 +13402,13 @@

    Export graph

    --> export_StudioAdminRoutePath export_StudioAdminStaticRoutePath["StudioAdminStaticRoutePath"] module_src_index_ts --> export_StudioAdminStaticRoutePath + export_StudioAuthoringComponentMeta["StudioAuthoringComponentMeta"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringComponentMeta + export_StudioAuthoringComponentMeta -.-> export_StudioAuthoringPropSchema + export_StudioAuthoringMetaRegistry["StudioAuthoringMetaRegistry"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringMetaRegistry + export_StudioAuthoringPropSchema["StudioAuthoringPropSchema"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringPropSchema export_StudioCommand["StudioCommand"] module_src_index_ts --> export_StudioCommand export_StudioComponentBlueprint["StudioComponentBlueprint"] @@ -12579,6 +13431,17 @@

    Export graph

    export_StudioEvent["StudioEvent"] module_src_index_ts --> export_StudioEvent export_StudioIdGenerator["StudioIdGenerator"] module_src_index_ts --> export_StudioIdGenerator + export_StudioInstancePropertyEditorKind["StudioInstancePropertyEditorKind"] + module_src_propertiesAuthoringModel_ts --> + export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyField["StudioInstancePropertyField"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyField + export_StudioInstancePropertyField -.-> export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyGroup["StudioInstancePropertyGroup"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyGroup + export_StudioInstancePropertyGroup -.-> export_StudioInstancePropertyField + export_StudioInstancePropertyValue["StudioInstancePropertyValue"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyValue export_StudioLocale["StudioLocale"] module_src_index_ts --> export_StudioLocale export_StudioManifest["StudioManifest"] module_src_index_ts --> export_StudioManifest @@ -12683,9 +13546,12 @@

    Export graph

    module_src_hooks_useTemplateCatalog_ts["src/hooks/useTemplateCatalog.ts"] module_src_hooks_useWorkspaceActions_ts["src/hooks/useWorkspaceActions.ts"] module_src_host_auth_projectAuthHealthService_ts["src/host/auth/projectAuthHealthService.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_test_ts["src/host/auth/projectAuthRuntimeDiagnostics.test.ts"] + module_src_host_auth_projectAuthRuntimeDiagnostics_ts["src/host/auth/projectAuthRuntimeDiagnostics.ts"] module_src_host_createStudioHost_ts["src/host/createStudioHost.ts"] module_src_host_generatedAdminExpoWeb_smoke_test_ts["src/host/generatedAdminExpoWeb.smoke.test.ts"] module_src_host_generatedAuthAdapterRuntime_smoke_test_ts["src/host/generatedAuthAdapterRuntime.smoke.test.ts"] + module_src_host_generatedOAuthLifecycle_e2e_test_ts["src/host/generatedOAuthLifecycle.e2e.test.ts"] module_src_host_hostLifecycle_smoke_test_ts["src/host/hostLifecycle.smoke.test.ts"] module_src_host_hostOwnership_test_ts["src/host/hostOwnership.test.ts"] module_src_host_http_authRoutes_test_ts["src/host/http/authRoutes.test.ts"] @@ -12707,7 +13573,9 @@

    Export graph

    module_src_host_layout_layoutGenerator_ts["src/host/layout/layoutGenerator.ts"] module_src_host_layout_templates_auth_adapter_test_ts["src/host/layout/templates/auth/adapter.test.ts"] module_src_host_layout_templates_auth_adapter_ts["src/host/layout/templates/auth/adapter.ts"] + module_src_host_layout_templates_auth_callback_test_ts["src/host/layout/templates/auth/callback.test.ts"] module_src_host_layout_templates_auth_callback_ts["src/host/layout/templates/auth/callback.ts"] + module_src_host_layout_templates_auth_oauth_test_ts["src/host/layout/templates/auth/oauth.test.ts"] module_src_host_layout_templates_auth_oauth_ts["src/host/layout/templates/auth/oauth.ts"] module_src_host_layout_templates_auth_screen_ts["src/host/layout/templates/auth/screen.ts"] module_src_host_layout_templates_auth_session_ts["src/host/layout/templates/auth/session.ts"] @@ -12796,6 +13664,8 @@

    Export graph

    module_src_projectAuthApi_ts["src/projectAuthApi.ts"] module_src_projectAuthHealth_test_ts["src/projectAuthHealth.test.ts"] module_src_projectAuthHealth_ts["src/projectAuthHealth.ts"] + module_src_projectAuthRuntimeDiagnostics_test_ts["src/projectAuthRuntimeDiagnostics.test.ts"] + module_src_projectAuthRuntimeDiagnostics_ts["src/projectAuthRuntimeDiagnostics.ts"] module_src_projectIdentity_test_ts["src/projectIdentity.test.ts"] module_src_projectIdentity_ts["src/projectIdentity.ts"] module_src_projectSecretApi_test_ts["src/projectSecretApi.test.ts"] @@ -12803,6 +13673,8 @@

    Export graph

    module_src_projectSecretUsage_test_ts["src/projectSecretUsage.test.ts"] module_src_projectSecretUsage_ts["src/projectSecretUsage.ts"] module_src_projectWorkspaceContracts_ts["src/projectWorkspaceContracts.ts"] + module_src_propertiesAuthoringModel_test_ts["src/propertiesAuthoringModel.test.ts"] + module_src_propertiesAuthoringModel_ts["src/propertiesAuthoringModel.ts"] module_src_root_test_ts["src/root.test.ts"] module_src_root_ts["src/root.ts"] module_src_routeUtils_public_test_ts["src/routeUtils.public.test.ts"] @@ -12843,6 +13715,8 @@

    Export graph

    module_src_secretResponseGuard_ts["src/secretResponseGuard.ts"] module_src_studioAdminRouteModel_test_ts["src/studioAdminRouteModel.test.ts"] module_src_studioAdminRouteModel_ts["src/studioAdminRouteModel.ts"] + module_src_studioRuntimeApi_test_ts["src/studioRuntimeApi.test.ts"] + module_src_studioRuntimeApi_ts["src/studioRuntimeApi.ts"] module_src_studioSelectionModel_knip_test_ts["src/studioSelectionModel.knip.test.ts"] module_src_studioSelectionModel_test_ts["src/studioSelectionModel.test.ts"] module_src_studioSelectionModel_ts["src/studioSelectionModel.ts"] @@ -12907,6 +13781,9 @@

    Export graph

    export_createNodeFromCatalogEntry -.-> export_InsertCatalogEntry export_createNodeFromCatalogEntry -.-> export_StudioComponentMetaRegistry export_createNodeFromCatalogEntry -.-> export_StudioIdGenerator + export_createStudioInstancePropertyPatch["createStudioInstancePropertyPatch"] + module_src_propertiesAuthoringModel_ts --> export_createStudioInstancePropertyPatch + export_createStudioInstancePropertyPatch -.-> export_StudioInstancePropertyValue export_deriveProjectId["deriveProjectId"] module_src_projectIdentity_ts --> export_deriveProjectId export_findNodeById["findNodeById"] @@ -13040,6 +13917,14 @@

    Export graph

    export_resolveInsertPlacement -.-> export_PlacementKind export_resolveInsertPlacement -.-> export_PlacementResolutionResult export_resolveInsertPlacement -.-> export_StudioComponentMetaRegistry + export_resolveStudioInstancePropertyFields["resolveStudioInstancePropertyFields"] + module_src_propertiesAuthoringModel_ts --> export_resolveStudioInstancePropertyFields + export_resolveStudioInstancePropertyFields -.-> export_StudioAuthoringComponentMeta + export_resolveStudioInstancePropertyFields -.-> export_StudioInstancePropertyField + export_resolveStudioInstancePropertyGroups["resolveStudioInstancePropertyGroups"] + module_src_propertiesAuthoringModel_ts --> export_resolveStudioInstancePropertyGroups + export_resolveStudioInstancePropertyGroups -.-> export_StudioAuthoringComponentMeta + export_resolveStudioInstancePropertyGroups -.-> export_StudioInstancePropertyGroup export_STUDIO_INSERT_RECIPES["STUDIO_INSERT_RECIPES"] module_src_index_ts --> export_STUDIO_INSERT_RECIPES export_STUDIO_PACKAGE_BOUNDARY["STUDIO_PACKAGE_BOUNDARY"] @@ -13061,6 +13946,13 @@

    Export graph

    module_src_index_ts --> export_StudioAdminRoutePath export_StudioAdminStaticRoutePath["StudioAdminStaticRoutePath"] module_src_index_ts --> export_StudioAdminStaticRoutePath + export_StudioAuthoringComponentMeta["StudioAuthoringComponentMeta"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringComponentMeta + export_StudioAuthoringComponentMeta -.-> export_StudioAuthoringPropSchema + export_StudioAuthoringMetaRegistry["StudioAuthoringMetaRegistry"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringMetaRegistry + export_StudioAuthoringPropSchema["StudioAuthoringPropSchema"] + module_src_propertiesAuthoringModel_ts --> export_StudioAuthoringPropSchema export_StudioCommand["StudioCommand"] module_src_index_ts --> export_StudioCommand export_StudioComponentBlueprint["StudioComponentBlueprint"] @@ -13088,6 +13980,16 @@

    Export graph

    module_src_index_ts --> export_StudioEvent export_StudioIdGenerator["StudioIdGenerator"] module_src_index_ts --> export_StudioIdGenerator + export_StudioInstancePropertyEditorKind["StudioInstancePropertyEditorKind"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyField["StudioInstancePropertyField"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyField + export_StudioInstancePropertyField -.-> export_StudioInstancePropertyEditorKind + export_StudioInstancePropertyGroup["StudioInstancePropertyGroup"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyGroup + export_StudioInstancePropertyGroup -.-> export_StudioInstancePropertyField + export_StudioInstancePropertyValue["StudioInstancePropertyValue"] + module_src_propertiesAuthoringModel_ts --> export_StudioInstancePropertyValue export_StudioLocale["StudioLocale"] module_src_index_ts --> export_StudioLocale export_StudioManifest["StudioManifest"] @@ -13288,6 +14190,35 @@

    findNodeById sequence

    participant participant_findNodeById as findNodeById participant_findNodeById->>participant_findNodeById: findNodeById() participant_findNodeById-->>participant_findNodeById: return + + + +
    +

    resolveStudioInstancePropertyGroups sequence

    +

    + diagrams/sequences/resolve-studio-instance-property-groups.mmd +

    +
    + sequenceDiagram participant participant_resolveStudioInstancePropertyFields as + resolveStudioInstancePropertyFields participant + participant_resolveStudioInstancePropertyGroups as + resolveStudioInstancePropertyGroups + participant_resolveStudioInstancePropertyGroups->>participant_resolveStudioInstancePropertyFields: + resolveStudioInstancePropertyFields() + participant_resolveStudioInstancePropertyFields-->>participant_resolveStudioInstancePropertyGroups: + return +
    +
    + View Mermaid source +
    +sequenceDiagram
    +  participant participant_resolveStudioInstancePropertyFields as resolveStudioInstancePropertyFields
    +  participant participant_resolveStudioInstancePropertyGroups as resolveStudioInstancePropertyGroups
    +  participant_resolveStudioInstancePropertyGroups->>participant_resolveStudioInstancePropertyFields: resolveStudioInstancePropertyFields()
    +  participant_resolveStudioInstancePropertyFields-->>participant_resolveStudioInstancePropertyGroups: return
     
    @@ -14841,58 +15772,166 @@

    isRecord

    src/hooks/useTemplateCatalog.ts:7:1

    No description available.

    -
    -

    isCatalogCategory

    -

    src/hooks/useTemplateCatalog.ts:11:1

    +
    +

    isCatalogCategory

    +

    src/hooks/useTemplateCatalog.ts:11:1

    +

    No description available.

    +
    +
    +

    parseTemplateCatalog

    +

    src/hooks/useTemplateCatalog.ts:34:1

    +

    No description available.

    +
    +
    +

    useTemplateCatalog

    +

    src/hooks/useTemplateCatalog.ts:46:1

    +

    No description available.

    +
    + + + + + -
    +
    registerProjectAuthRoutes data-search="sendProjectAuthHealthResult src/host/http/authRoutes.ts " >

    sendProjectAuthHealthResult

    -

    src/host/http/authRoutes.ts:45:1

    +

    src/host/http/authRoutes.ts:46:1

    No description available.

    @@ -16202,6 +17339,24 @@

    getAuthOAuthCallbackTsx

    +
    createRoot

    src/index.ts

    generateStudioId

    -

    src/index.ts:509:14

    +

    src/index.ts:513:14

    No description available.

    cloneWithNewIds

    -

    src/index.ts:516:14

    +

    src/index.ts:520:14

    No description available.

    findNodeById

    -

    src/index.ts:533:14

    +

    src/index.ts:537:14

    No description available.

    updateNodeInTree

    -

    src/index.ts:545:14

    +

    src/index.ts:549:14

    No description available.

    removeNodeFromTree

    -

    src/index.ts:573:14

    +

    src/index.ts:577:14

    No description available.

    addNodeToTree

    -

    src/index.ts:591:14

    +

    src/index.ts:595:14

    No description available.

    moveNodeInTree

    -

    src/index.ts:624:14

    +

    src/index.ts:628:14

    No description available.

    findNodeWithParent

    -

    src/index.ts:660:1

    +

    src/index.ts:664:1

    No description available.

    visit

    -

    src/index.ts:665:9

    +

    src/index.ts:669:9

    No description available.

    isDescendantNode

    -

    src/index.ts:684:1

    +

    src/index.ts:688:1

    No description available.

    removeNodeForMove

    -

    src/index.ts:695:1

    +

    src/index.ts:699:1

    No description available.

    canAcceptChild

    -

    src/index.ts:750:1

    +

    src/index.ts:754:1

    No description available.

    validateNodePlacement

    -

    src/index.ts:762:1

    +

    src/index.ts:766:1

    No description available.

    resolveInsertPlacement

    -

    src/index.ts:817:1

    +

    src/index.ts:821:1

    No description available.

    resolveDefaultInsertPlacement

    -

    src/index.ts:878:1

    +

    src/index.ts:882:1

    No description available.

    insertChildAtIndex

    -

    src/index.ts:935:1

    +

    src/index.ts:939:1

    No description available.

    insertNodeAtPlacement

    -

    src/index.ts:980:1

    +

    src/index.ts:984:1

    No description available.

    getAdjustedMovePlacement

    -

    src/index.ts:1019:1

    +

    src/index.ts:1023:1

    No description available.

    moveNodeToPlacement

    -

    src/index.ts:1048:1

    +

    src/index.ts:1052:1

    No description available.

    getInsertCatalogCategoryLabel

    -

    src/index.ts:1148:1

    +

    src/index.ts:1152:1

    No description available.

    resolveCategoryOrder

    -

    src/index.ts:1152:1

    +

    src/index.ts:1156:1

    No description available.

    describeInsertRecipeIssue

    -

    src/index.ts:1157:1

    +

    src/index.ts:1161:1

    No description available.

    validateInsertRecipe

    -

    src/index.ts:1165:1

    +

    src/index.ts:1169:1

    No description available.

    visit

    -

    src/index.ts:1169:9

    +

    src/index.ts:1173:9

    No description available.

    createNodeFromRecipe

    -

    src/index.ts:1202:1

    +

    src/index.ts:1206:1

    No description available.

    buildNode

    -

    src/index.ts:1207:9

    +

    src/index.ts:1211:9

    No description available.

    createNodeFromCatalogEntry

    -

    src/index.ts:1222:1

    +

    src/index.ts:1226:1

    No description available.

    createComponentEntry

    -

    src/index.ts:1242:1

    +

    src/index.ts:1246:1

    No description available.

    createRecipeEntry

    -

    src/index.ts:1265:1

    +

    src/index.ts:1269:1

    No description available.

    buildInsertCatalogEntries

    -

    src/index.ts:1303:1

    +

    src/index.ts:1307:1

    No description available.

    resolvePlacementForEntry

    -

    src/index.ts:1329:1

    +

    src/index.ts:1333:1

    No description available.

    resolveInsertCatalogEntries

    -

    src/index.ts:1345:1

    +

    src/index.ts:1349:1

    No description available.

    isStyleRecord

    -

    src/index.ts:1394:1

    +

    src/index.ts:1398:1

    No description available.

    @@ -19567,6 +20722,56 @@

    sortDiagnostics

    +
    titleCase
    +
    resolveStudioLastNonAdminLocation
    + +
    readString

    src/ui/admin/adminPageUtils.ts:5:1

    No description available.

    -
    -

    formatPrimitive

    -

    src/ui/admin/adminPageUtils.ts:9:1

    -

    No description available.

    -
    ApisAdminPage

    src/ui/admin/pages/AuthAdminPage.tsx

    AuthAdminPage

    -

    src/ui/admin/pages/AuthAdminPage.tsx:64:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:65:1

    No description available.

    AuthAdminPage data-search="PendingCredentialLinkCard src/ui/admin/pages/AuthAdminPage.tsx " >

    PendingCredentialLinkCard

    -

    src/ui/admin/pages/AuthAdminPage.tsx:583:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:588:1

    No description available.

    PendingCredentialLinkCard data-search="OAuthProviderSetting src/ui/admin/pages/AuthAdminPage.tsx " >

    OAuthProviderSetting

    -

    src/ui/admin/pages/AuthAdminPage.tsx:608:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:613:1

    No description available.

    setEnabled

    -

    src/ui/admin/pages/AuthAdminPage.tsx:642:9

    +

    src/ui/admin/pages/AuthAdminPage.tsx:647:9

    No description available.

    setEnabled data-search="saveCredentials src/ui/admin/pages/AuthAdminPage.tsx " >

    saveCredentials

    -

    src/ui/admin/pages/AuthAdminPage.tsx:668:9

    +

    src/ui/admin/pages/AuthAdminPage.tsx:673:9

    No description available.

    saveCredentials data-search="upsertProvider src/ui/admin/pages/AuthAdminPage.tsx " >

    upsertProvider

    -

    src/ui/admin/pages/AuthAdminPage.tsx:788:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:793:1

    No description available.

    updateFlow

    -

    src/ui/admin/pages/AuthAdminPage.tsx:799:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:804:1

    No description available.

    omitSignUp

    -

    src/ui/admin/pages/AuthAdminPage.tsx:806:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:811:1

    No description available.

    omitProfile

    -

    src/ui/admin/pages/AuthAdminPage.tsx:811:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:816:1

    No description available.

    omitProfile data-search="createDefaultSettings src/ui/admin/pages/AuthAdminPage.tsx " >

    createDefaultSettings

    -

    src/ui/admin/pages/AuthAdminPage.tsx:816:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:821:1

    No description available.

    createDefaultSettings data-search="createDefaultOAuth src/ui/admin/pages/AuthAdminPage.tsx " >

    createDefaultOAuth

    -

    src/ui/admin/pages/AuthAdminPage.tsx:826:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:831:1

    No description available.

    createDefaultOAuth data-search="createFallbackManifest src/ui/admin/pages/AuthAdminPage.tsx " >

    createFallbackManifest

    -

    src/ui/admin/pages/AuthAdminPage.tsx:834:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:839:1

    No description available.

    splitList

    -

    src/ui/admin/pages/AuthAdminPage.tsx:852:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:857:1

    No description available.

    toMessage

    -

    src/ui/admin/pages/AuthAdminPage.tsx:863:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:868:1

    No description available.

    toMessage data-search="formatAuthAdminWriteBusyReason src/ui/admin/pages/AuthAdminPage.tsx " >

    formatAuthAdminWriteBusyReason

    -

    src/ui/admin/pages/AuthAdminPage.tsx:868:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:873:1

    No description available.

    formatAuthAdminWriteBusyReason data-search="AuthHealthCard src/ui/admin/pages/AuthAdminPage.tsx " >

    AuthHealthCard

    -

    src/ui/admin/pages/AuthAdminPage.tsx:886:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:891:1

    No description available.

    AuthHealthCard data-search="formatHealthStatus src/ui/admin/pages/AuthAdminPage.tsx " >

    formatHealthStatus

    -

    src/ui/admin/pages/AuthAdminPage.tsx:946:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:951:1

    No description available.

    formatHealthStatus data-search="formatProviderHealthStatus src/ui/admin/pages/AuthAdminPage.tsx " >

    formatProviderHealthStatus

    -

    src/ui/admin/pages/AuthAdminPage.tsx:953:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:958:1

    No description available.

    formatProviderHealthStatus data-search="healthStatusColor src/ui/admin/pages/AuthAdminPage.tsx " >

    healthStatusColor

    -

    src/ui/admin/pages/AuthAdminPage.tsx:961:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:966:1

    No description available.

    healthStatusColor data-search="diagnosticSeverityColor src/ui/admin/pages/AuthAdminPage.tsx " >

    diagnosticSeverityColor

    -

    src/ui/admin/pages/AuthAdminPage.tsx:968:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:973:1

    No description available.

    Card

    -

    src/ui/admin/pages/AuthAdminPage.tsx:974:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:979:1

    No description available.

    Field

    -

    src/ui/admin/pages/AuthAdminPage.tsx:989:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:994:1

    No description available.

    RouteField

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1000:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1005:1

    No description available.

    Input

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1012:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1017:1

    No description available.

    SwitchSetting

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1031:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1036:1

    No description available.

    Choice

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1050:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1055:1

    No description available.

    KeyValue

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1074:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1079:1

    No description available.

    PrimaryButton

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1085:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1090:1

    No description available.

    PrimaryButton data-search="SecondaryButton src/ui/admin/pages/AuthAdminPage.tsx " >

    SecondaryButton

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1108:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1113:1

    No description available.

    Message

    -

    src/ui/admin/pages/AuthAdminPage.tsx:1120:1

    +

    src/ui/admin/pages/AuthAdminPage.tsx:1125:1

    No description available.

    @@ -21750,15 +23034,84 @@

    src/ui/admin/pages/PropertiesAdminPage.tsx

    data-search="PropertiesAdminPage src/ui/admin/pages/PropertiesAdminPage.tsx " >

    PropertiesAdminPage

    -

    src/ui/admin/pages/PropertiesAdminPage.tsx:10:1

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:16:1

    +

    No description available.

    + +
    +

    ResolvedProperties

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:41:1

    +

    No description available.

    +
    +
    +

    updateProperty

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:45:9

    +

    No description available.

    +
    +
    +

    InstancePropertyEditor

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:78:1

    +

    No description available.

    +
    +
    +

    NumberPropertyInput

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:103:1

    +

    No description available.

    +
    +
    +

    commit

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:116:9

    +

    No description available.

    +
    +
    +

    BooleanPropertyInput

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:152:1

    +

    No description available.

    +
    +
    +

    ChoicePropertyInput

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:171:1

    +

    No description available.

    +
    +
    +

    UnavailableNode

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:197:1

    +

    No description available.

    +
    +
    +

    NoInstanceProperties

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:207:1

    No description available.

    -

    NodeProps

    -

    src/ui/admin/pages/PropertiesAdminPage.tsx:53:1

    +

    toInputText

    +

    src/ui/admin/pages/PropertiesAdminPage.tsx:217:1

    No description available.

    diff --git a/paradox/paradox.json b/paradox/paradox.json index 14544204..8a23b7c0 100644 --- a/paradox/paradox.json +++ b/paradox/paradox.json @@ -12,7 +12,7 @@ { "id": "npm", "label": "npm", - "value": "v0.11.4", + "value": "v0.11.11", "color": "cb3837" }, { @@ -578,12 +578,37 @@ "path": "src/host/auth/projectAuthHealthService.ts", "isEntrypoint": false, "dependencies": [ + "src/host/auth/projectAuthRuntimeDiagnostics.ts", "src/host/orchestrator/projectManager.ts", "src/host/secrets/projectSecretService.ts", - "src/projectAuthHealth.ts" + "src/projectAuthHealth.ts", + "src/projectAuthRuntimeDiagnostics.ts" ], "exports": ["ProjectAuthHealthResult", "ProjectAuthHealthService"] }, + { + "path": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "isEntrypoint": false, + "dependencies": ["src/host/auth/projectAuthRuntimeDiagnostics.ts"], + "exports": [] + }, + { + "path": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "isEntrypoint": false, + "dependencies": [ + "src/host/orchestrator/infraRuntime.ts", + "src/host/orchestrator/projectPaths.ts", + "src/projectAuthHealth.ts", + "src/projectAuthRuntimeDiagnostics.ts" + ], + "exports": [ + "observeProjectAuthRuntimeDiagnostics", + "ParsedProjectAuthRuntimeStatus", + "parseProjectAuthRuntimeStatus", + "ProjectAuthRedirectRuntime", + "resolveProjectAuthRedirectRuntime" + ] + }, { "path": "src/host/createStudioHost.ts", "isEntrypoint": false, @@ -616,6 +641,12 @@ ], "exports": [] }, + { + "path": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "isEntrypoint": false, + "dependencies": ["src/host/layout/templates/auth/oauth.ts"], + "exports": [] + }, { "path": "src/host/hostLifecycle.smoke.test.ts", "isEntrypoint": false, @@ -827,6 +858,12 @@ "dependencies": [], "exports": ["getAuthAdapterTs"] }, + { + "path": "src/host/layout/templates/auth/callback.test.ts", + "isEntrypoint": false, + "dependencies": ["src/host/layout/templates/auth/callback.ts"], + "exports": [] + }, { "path": "src/host/layout/templates/auth/callback.ts", "isEntrypoint": false, @@ -836,6 +873,12 @@ ], "exports": ["getAuthOAuthCallbackTsx"] }, + { + "path": "src/host/layout/templates/auth/oauth.test.ts", + "isEntrypoint": false, + "dependencies": ["src/host/layout/templates/auth/oauth.ts"], + "exports": [] + }, { "path": "src/host/layout/templates/auth/oauth.ts", "isEntrypoint": false, @@ -1407,6 +1450,7 @@ "canAcceptChild", "cloneWithNewIds", "createNodeFromCatalogEntry", + "createStudioInstancePropertyPatch", "deriveProjectId", "findNodeById", "generateStudioId", @@ -1454,6 +1498,8 @@ "resolveDefaultInsertPlacement", "resolveInsertCatalogEntries", "resolveInsertPlacement", + "resolveStudioInstancePropertyFields", + "resolveStudioInstancePropertyGroups", "STUDIO_INSERT_RECIPES", "STUDIO_PACKAGE_BOUNDARY", "STUDIO_PACKAGE_NAME", @@ -1464,6 +1510,9 @@ "StudioAdminRouteId", "StudioAdminRoutePath", "StudioAdminStaticRoutePath", + "StudioAuthoringComponentMeta", + "StudioAuthoringMetaRegistry", + "StudioAuthoringPropSchema", "StudioCommand", "StudioComponentBlueprint", "StudioComponentMeta", @@ -1471,6 +1520,10 @@ "StudioContextValue", "StudioEvent", "StudioIdGenerator", + "StudioInstancePropertyEditorKind", + "StudioInstancePropertyField", + "StudioInstancePropertyGroup", + "StudioInstancePropertyValue", "StudioLocale", "StudioManifest", "StudioMode", @@ -1718,6 +1771,22 @@ "ProjectOAuthProviderHealthStatus" ] }, + { + "path": "src/projectAuthRuntimeDiagnostics.test.ts", + "isEntrypoint": false, + "dependencies": ["src/projectAuthHealth.ts", "src/projectAuthRuntimeDiagnostics.ts"], + "exports": [] + }, + { + "path": "src/projectAuthRuntimeDiagnostics.ts", + "isEntrypoint": false, + "dependencies": ["src/projectAuthHealth.ts"], + "exports": [ + "applyProjectAuthRuntimeDiagnostics", + "ProjectAuthRuntimeDiagnostics", + "ProjectAuthRuntimeRolloutStatus" + ] + }, { "path": "src/projectIdentity.test.ts", "isEntrypoint": false, @@ -1793,6 +1862,29 @@ "StudioProjectSummary" ] }, + { + "path": "src/propertiesAuthoringModel.test.ts", + "isEntrypoint": false, + "dependencies": ["src/index.ts"], + "exports": [] + }, + { + "path": "src/propertiesAuthoringModel.ts", + "isEntrypoint": false, + "dependencies": [], + "exports": [ + "createStudioInstancePropertyPatch", + "resolveStudioInstancePropertyFields", + "resolveStudioInstancePropertyGroups", + "StudioAuthoringComponentMeta", + "StudioAuthoringMetaRegistry", + "StudioAuthoringPropSchema", + "StudioInstancePropertyEditorKind", + "StudioInstancePropertyField", + "StudioInstancePropertyGroup", + "StudioInstancePropertyValue" + ] + }, { "path": "src/root.test.ts", "isEntrypoint": false, @@ -1819,6 +1911,7 @@ "CreateCategoryTemplatesScreen", "createNodeFromCatalogEntry", "CreateProjectFromTemplateScreen", + "createStudioInstancePropertyPatch", "deriveProjectId", "findNodeById", "findProjectSecretUsages", @@ -1872,6 +1965,8 @@ "resolveDefaultInsertPlacement", "resolveInsertCatalogEntries", "resolveInsertPlacement", + "resolveStudioInstancePropertyFields", + "resolveStudioInstancePropertyGroups", "STUDIO_INSERT_RECIPES", "STUDIO_PACKAGE_BOUNDARY", "STUDIO_PACKAGE_NAME", @@ -1883,6 +1978,9 @@ "StudioAdminRoutePath", "StudioAdminStaticRoutePath", "StudioApp", + "StudioAuthoringComponentMeta", + "StudioAuthoringMetaRegistry", + "StudioAuthoringPropSchema", "StudioCommand", "StudioComponentBlueprint", "StudioComponentMeta", @@ -1890,6 +1988,10 @@ "StudioContextValue", "StudioEvent", "StudioIdGenerator", + "StudioInstancePropertyEditorKind", + "StudioInstancePropertyField", + "StudioInstancePropertyGroup", + "StudioInstancePropertyValue", "StudioLocale", "StudioManifest", "StudioMode", @@ -2325,6 +2427,18 @@ "StudioAdminRouteRenderState" ] }, + { + "path": "src/studioRuntimeApi.test.ts", + "isEntrypoint": false, + "dependencies": ["src/studioRuntimeApi.ts"], + "exports": [] + }, + { + "path": "src/studioRuntimeApi.ts", + "isEntrypoint": false, + "dependencies": [], + "exports": ["syncStudioRuntime"] + }, { "path": "src/studioSelectionModel.knip.test.ts", "isEntrypoint": false, @@ -2380,7 +2494,7 @@ "path": "src/ui/admin/adminPageUtils.ts", "isEntrypoint": false, "dependencies": [], - "exports": ["formatPrimitive", "readRecord", "readString"] + "exports": ["readRecord", "readString"] }, { "path": "src/ui/admin/AnkhAdminPage.test.ts", @@ -2544,6 +2658,7 @@ "src/projectAuthApi.ts", "src/projectAuthHealth.ts", "src/projectSecretApi.ts", + "src/studioRuntimeApi.ts", "src/ui/admin/AuthAdminSession.tsx", "src/ui/admin/pages/adminAuthCredentialFlow.ts", "src/ui/admin/pages/adminAuthHealthFlow.ts", @@ -2569,8 +2684,8 @@ "dependencies": [ "src/core/StudioContext.ts", "src/manifestState.ts", - "src/ui/admin/adminPagePrimitives.tsx", - "src/ui/admin/adminPageUtils.ts" + "src/propertiesAuthoringModel.ts", + "src/ui/admin/adminPagePrimitives.tsx" ], "exports": ["PropertiesAdminPage"] }, @@ -2691,7 +2806,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 369, + "line": 373, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2709,7 +2824,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 279, + "line": 283, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2763,7 +2878,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 591, + "line": 595, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2795,7 +2910,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1303, + "line": 1307, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2827,7 +2942,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 750, + "line": 754, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2859,7 +2974,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 516, + "line": 520, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -2897,7 +3012,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1222, + "line": 1226, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -2932,6 +3047,50 @@ "members": [], "structuredRows": [] }, + { + "name": "createStudioInstancePropertyPatch", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 89, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyValue"], + "signatures": [ + { + "label": "(node: UiNode, propertyName: string, value: StudioInstancePropertyValue | undefined) => Readonly>", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "propertyName", + "type": "string", + "required": true, + "description": null + }, + { + "name": "value", + "type": "StudioInstancePropertyValue | undefined", + "required": true, + "description": null + } + ], + "returnType": "Readonly>", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, { "name": "deriveProjectId", "description": null, @@ -2973,7 +3132,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 533, + "line": 537, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -3011,7 +3170,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 509, + "line": 513, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -3043,7 +3202,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1148, + "line": 1152, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3075,7 +3234,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 257, + "line": 261, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3168,7 +3327,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 239, + "line": 243, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3208,7 +3367,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 216, + "line": 220, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3226,7 +3385,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 267, + "line": 271, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3244,7 +3403,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 245, + "line": 249, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3331,7 +3490,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 213, + "line": 217, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3349,7 +3508,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 214, + "line": 218, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3367,7 +3526,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 262, + "line": 266, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3461,7 +3620,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 980, + "line": 984, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3493,7 +3652,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 923, + "line": 927, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3540,7 +3699,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 930, + "line": 934, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3573,7 +3732,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 224, + "line": 228, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3627,7 +3786,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 232, + "line": 236, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3674,7 +3833,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 219, + "line": 223, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3707,7 +3866,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 287, + "line": 291, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3754,7 +3913,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 624, + "line": 628, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -3798,7 +3957,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1048, + "line": 1052, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3830,7 +3989,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1007, + "line": 1011, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3877,7 +4036,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1014, + "line": 1018, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3910,7 +4069,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 175, + "line": 179, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3957,7 +4116,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 182, + "line": 186, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -3975,7 +4134,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 194, + "line": 198, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4008,7 +4167,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 173, + "line": 177, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4026,7 +4185,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 206, + "line": 210, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4044,7 +4203,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 199, + "line": 203, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4520,7 +4679,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 573, + "line": 577, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -4558,7 +4717,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 878, + "line": 882, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4590,7 +4749,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1345, + "line": 1349, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4622,7 +4781,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 817, + "line": 821, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4649,6 +4808,82 @@ "members": [], "structuredRows": [] }, + { + "name": "resolveStudioInstancePropertyFields", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 45, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringComponentMeta", "StudioInstancePropertyField"], + "signatures": [ + { + "label": "(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyField[]", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "registry", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "returnType": "readonly StudioInstancePropertyField[]", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, + { + "name": "resolveStudioInstancePropertyGroups", + "description": null, + "isReadme": false, + "examples": [], + "kind": "function", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 74, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringComponentMeta", "StudioInstancePropertyGroup"], + "signatures": [ + { + "label": "(node: UiNode, registry: Readonly>) => readonly StudioInstancePropertyGroup[]", + "parameters": [ + { + "name": "node", + "type": "UiNode", + "required": true, + "description": null + }, + { + "name": "registry", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "returnType": "readonly StudioInstancePropertyGroup[]", + "returnDescription": null + } + ], + "members": [], + "structuredRows": [] + }, { "name": "STUDIO_INSERT_RECIPES", "description": null, @@ -4658,7 +4893,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1115, + "line": 1119, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -4701,7 +4936,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 57, + "line": 58, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -4719,7 +4954,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 49, + "line": 50, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -4737,7 +4972,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 85, + "line": 86, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -4755,7 +4990,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 271, + "line": 275, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4795,7 +5030,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 269, + "line": 273, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4813,7 +5048,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 277, + "line": 281, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4831,7 +5066,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 117, + "line": 121, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4849,7 +5084,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 140, + "line": 144, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4867,7 +5102,58 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 129, + "line": 133, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioAuthoringComponentMeta", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 14, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioAuthoringPropSchema"], + "signatures": [], + "members": [ + { + "name": "name", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "props", + "kind": "property", + "type": "Readonly>", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioAuthoringMetaRegistry", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 19, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4876,6 +5162,67 @@ "members": [], "structuredRows": [] }, + { + "name": "StudioAuthoringPropSchema", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 3, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [ + { + "name": "authoring", + "kind": "property", + "type": "{ readonly authority: string; } | undefined", + "required": false, + "description": null + }, + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "default", + "kind": "property", + "type": "unknown", + "required": false, + "description": null + }, + { + "name": "enum", + "kind": "property", + "type": "readonly (string | number)[] | undefined", + "required": false, + "description": null + }, + { + "name": "label", + "kind": "property", + "type": "string | undefined", + "required": false, + "description": null + }, + { + "name": "type", + "kind": "property", + "type": "string", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, { "name": "StudioCommand", "description": null, @@ -4885,7 +5232,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 312, + "line": 316, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4903,7 +5250,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 296, + "line": 300, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4936,7 +5283,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 301, + "line": 305, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -4983,7 +5330,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 308, + "line": 312, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5001,7 +5348,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 328, + "line": 332, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5397,7 +5744,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 321, + "line": 325, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5415,7 +5762,158 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 310, + "line": 314, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyEditorKind", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 23, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": [], + "signatures": [], + "members": [], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyField", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 26, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyEditorKind"], + "signatures": [], + "members": [ + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "defaultValue", + "kind": "property", + "type": "unknown", + "required": true, + "description": null + }, + { + "name": "editor", + "kind": "property", + "type": "StudioInstancePropertyEditorKind", + "required": true, + "description": null + }, + { + "name": "isExplicit", + "kind": "property", + "type": "boolean", + "required": true, + "description": null + }, + { + "name": "label", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "name", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "options", + "kind": "property", + "type": "readonly (string | number)[]", + "required": true, + "description": null + }, + { + "name": "schemaType", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "value", + "kind": "property", + "type": "unknown", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyGroup", + "description": null, + "isReadme": false, + "examples": [], + "kind": "type", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 38, + "column": 1 + }, + "exportPaths": ["src/index.ts"], + "relatedSymbols": ["StudioInstancePropertyField"], + "signatures": [], + "members": [ + { + "name": "category", + "kind": "property", + "type": "string", + "required": true, + "description": null + }, + { + "name": "fields", + "kind": "property", + "type": "readonly StudioInstancePropertyField[]", + "required": true, + "description": null + } + ], + "structuredRows": [] + }, + { + "name": "StudioInstancePropertyValue", + "description": null, + "isReadme": false, + "examples": [], + "kind": "unknown", + "modulePath": "src/propertiesAuthoringModel.ts", + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 43, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5433,7 +5931,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 112, + "line": 116, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5451,7 +5949,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 142, + "line": 146, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5469,7 +5967,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 114, + "line": 118, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5487,7 +5985,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 111, + "line": 115, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5505,7 +6003,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 109, + "line": 113, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5523,7 +6021,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 51, + "line": 52, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5563,7 +6061,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 116, + "line": 120, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5581,7 +6079,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 107, + "line": 111, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5688,7 +6186,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 105, + "line": 109, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5706,7 +6204,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 115, + "line": 119, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5724,7 +6222,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 110, + "line": 114, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5742,7 +6240,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 153, + "line": 157, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5796,7 +6294,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 108, + "line": 112, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -5814,7 +6312,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 161, + "line": 165, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -6062,7 +6560,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 148, + "line": 152, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -6080,7 +6578,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 461, + "line": 465, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -6098,7 +6596,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 545, + "line": 549, "column": 14 }, "exportPaths": ["src/index.ts"], @@ -6142,7 +6640,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 1165, + "line": 1169, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -6180,7 +6678,7 @@ "modulePath": "src/index.ts", "sourceLocation": { "filePath": "src/index.ts", - "line": 762, + "line": 766, "column": 1 }, "exportPaths": ["src/index.ts"], @@ -8069,6 +8567,105 @@ "column": 1 } }, + { + "name": "resolveAuthRedirectEnvironment", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthHealthService.ts", + "line": 104, + "column": 1 + } + }, + { + "name": "observeProjectAuthRuntimeDiagnostics", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 37, + "column": 1 + } + }, + { + "name": "resolveProjectAuthRedirectRuntime", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 129, + "column": 1 + } + }, + { + "name": "parseProjectAuthRuntimeStatus", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 166, + "column": 1 + } + }, + { + "name": "readSafeGeneratedInfraEnvironment", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 185, + "column": 1 + } + }, + { + "name": "resolveOrigin", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 214, + "column": 1 + } + }, + { + "name": "parsePort", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 227, + "column": 1 + } + }, + { + "name": "splitCommaSeparated", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 234, + "column": 1 + } + }, + { + "name": "readSafeStatusValue", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 242, + "column": 1 + } + }, + { + "name": "isExactWebCallbackUrl", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 248, + "column": 1 + } + }, + { + "name": "exists", + "description": null, + "sourceLocation": { + "filePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "line": 252, + "column": 1 + } + }, { "name": "createStudioHost", "description": null, @@ -8609,6 +9206,105 @@ "column": 1 } }, + { + "name": "runIsolatedScenario", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 83, + "column": 1 + } + }, + { + "name": "runSuccessfulCallbackScenario", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 103, + "column": 1 + } + }, + { + "name": "runProviderDenialScenario", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 140, + "column": 1 + } + }, + { + "name": "createHarness", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 171, + "column": 1 + } + }, + { + "name": "writeDocument", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 203, + "column": 1 + } + }, + { + "name": "createGeneratedOAuthSource", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 270, + "column": 1 + } + }, + { + "name": "readTransportMarker", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 291, + "column": 1 + } + }, + { + "name": "hasPkceVerifier", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 307, + "column": 1 + } + }, + { + "name": "waitFor", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 311, + "column": 1 + } + }, + { + "name": "moduleUrl", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 319, + "column": 1 + } + }, + { + "name": "isRecord", + "description": null, + "sourceLocation": { + "filePath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "line": 323, + "column": 1 + } + }, { "name": "collectSourceFiles", "description": null, @@ -8632,7 +9328,7 @@ "description": null, "sourceLocation": { "filePath": "src/host/http/authRoutes.ts", - "line": 45, + "line": 46, "column": 1 } }, @@ -9347,6 +10043,15 @@ "column": 1 } }, + { + "name": "createOAuthRuntime", + "description": null, + "sourceLocation": { + "filePath": "src/host/layout/templates/auth/oauth.test.ts", + "line": 5, + "column": 1 + } + }, { "name": "getAuthOAuthRuntimeTs", "description": null, @@ -11449,7 +12154,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 509, + "line": 513, "column": 14 } }, @@ -11458,7 +12163,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 516, + "line": 520, "column": 14 } }, @@ -11467,7 +12172,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 533, + "line": 537, "column": 14 } }, @@ -11476,7 +12181,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 545, + "line": 549, "column": 14 } }, @@ -11485,7 +12190,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 573, + "line": 577, "column": 14 } }, @@ -11494,7 +12199,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 591, + "line": 595, "column": 14 } }, @@ -11503,7 +12208,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 624, + "line": 628, "column": 14 } }, @@ -11512,7 +12217,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 660, + "line": 664, "column": 1 } }, @@ -11521,7 +12226,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 665, + "line": 669, "column": 9 } }, @@ -11530,7 +12235,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 684, + "line": 688, "column": 1 } }, @@ -11539,7 +12244,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 695, + "line": 699, "column": 1 } }, @@ -11548,7 +12253,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 750, + "line": 754, "column": 1 } }, @@ -11557,7 +12262,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 762, + "line": 766, "column": 1 } }, @@ -11566,7 +12271,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 817, + "line": 821, "column": 1 } }, @@ -11575,7 +12280,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 878, + "line": 882, "column": 1 } }, @@ -11584,7 +12289,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 935, + "line": 939, "column": 1 } }, @@ -11593,7 +12298,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 980, + "line": 984, "column": 1 } }, @@ -11602,7 +12307,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1019, + "line": 1023, "column": 1 } }, @@ -11611,7 +12316,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1048, + "line": 1052, "column": 1 } }, @@ -11620,7 +12325,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1148, + "line": 1152, "column": 1 } }, @@ -11629,7 +12334,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1152, + "line": 1156, "column": 1 } }, @@ -11638,7 +12343,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1157, + "line": 1161, "column": 1 } }, @@ -11647,7 +12352,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1165, + "line": 1169, "column": 1 } }, @@ -11656,7 +12361,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1169, + "line": 1173, "column": 9 } }, @@ -11665,7 +12370,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1202, + "line": 1206, "column": 1 } }, @@ -11674,7 +12379,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1207, + "line": 1211, "column": 9 } }, @@ -11683,7 +12388,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1222, + "line": 1226, "column": 1 } }, @@ -11692,7 +12397,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1242, + "line": 1246, "column": 1 } }, @@ -11701,7 +12406,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1265, + "line": 1269, "column": 1 } }, @@ -11710,7 +12415,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1303, + "line": 1307, "column": 1 } }, @@ -11719,7 +12424,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1329, + "line": 1333, "column": 1 } }, @@ -11728,7 +12433,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1345, + "line": 1349, "column": 1 } }, @@ -11737,7 +12442,7 @@ "description": null, "sourceLocation": { "filePath": "src/index.ts", - "line": 1394, + "line": 1398, "column": 1 } }, @@ -12848,6 +13553,51 @@ "column": 1 } }, + { + "name": "applyProjectAuthRuntimeDiagnostics", + "description": null, + "sourceLocation": { + "filePath": "src/projectAuthRuntimeDiagnostics.ts", + "line": 19, + "column": 1 + } + }, + { + "name": "resolveRolloutDiagnostic", + "description": null, + "sourceLocation": { + "filePath": "src/projectAuthRuntimeDiagnostics.ts", + "line": 53, + "column": 1 + } + }, + { + "name": "resolveHealthStatus", + "description": null, + "sourceLocation": { + "filePath": "src/projectAuthRuntimeDiagnostics.ts", + "line": 86, + "column": 1 + } + }, + { + "name": "sortDiagnostics", + "description": null, + "sourceLocation": { + "filePath": "src/projectAuthRuntimeDiagnostics.ts", + "line": 94, + "column": 1 + } + }, + { + "name": "uniqueDiagnostics", + "description": null, + "sourceLocation": { + "filePath": "src/projectAuthRuntimeDiagnostics.ts", + "line": 112, + "column": 1 + } + }, { "name": "deriveProjectId", "description": null, @@ -13154,6 +13904,42 @@ "column": 1 } }, + { + "name": "resolveStudioInstancePropertyFields", + "description": null, + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 45, + "column": 1 + } + }, + { + "name": "resolveStudioInstancePropertyGroups", + "description": null, + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 74, + "column": 1 + } + }, + { + "name": "createStudioInstancePropertyPatch", + "description": null, + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 89, + "column": 1 + } + }, + { + "name": "resolveEditorKind", + "description": null, + "sourceLocation": { + "filePath": "src/propertiesAuthoringModel.ts", + "line": 102, + "column": 1 + } + }, { "name": "buildRoutes", "description": null, @@ -14180,6 +14966,51 @@ "column": 1 } }, + { + "name": "requestUrl", + "description": null, + "sourceLocation": { + "filePath": "src/studioRuntimeApi.test.ts", + "line": 54, + "column": 1 + } + }, + { + "name": "captureError", + "description": null, + "sourceLocation": { + "filePath": "src/studioRuntimeApi.test.ts", + "line": 60, + "column": 1 + } + }, + { + "name": "syncStudioRuntime", + "description": null, + "sourceLocation": { + "filePath": "src/studioRuntimeApi.ts", + "line": 1, + "column": 1 + } + }, + { + "name": "readJson", + "description": null, + "sourceLocation": { + "filePath": "src/studioRuntimeApi.ts", + "line": 26, + "column": 1 + } + }, + { + "name": "readErrorMessage", + "description": null, + "sourceLocation": { + "filePath": "src/studioRuntimeApi.ts", + "line": 34, + "column": 1 + } + }, { "name": "containsUiNode", "description": null, @@ -14315,15 +15146,6 @@ "column": 1 } }, - { - "name": "formatPrimitive", - "description": null, - "sourceLocation": { - "filePath": "src/ui/admin/adminPageUtils.ts", - "line": 9, - "column": 1 - } - }, { "name": "AnkhAdminPage", "description": null, @@ -14743,7 +15565,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 64, + "line": 65, "column": 1 } }, @@ -14752,7 +15574,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 583, + "line": 588, "column": 1 } }, @@ -14761,7 +15583,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 608, + "line": 613, "column": 1 } }, @@ -14770,7 +15592,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 642, + "line": 647, "column": 9 } }, @@ -14779,7 +15601,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 668, + "line": 673, "column": 9 } }, @@ -14788,7 +15610,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 788, + "line": 793, "column": 1 } }, @@ -14797,7 +15619,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 799, + "line": 804, "column": 1 } }, @@ -14806,7 +15628,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 806, + "line": 811, "column": 1 } }, @@ -14815,7 +15637,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 811, + "line": 816, "column": 1 } }, @@ -14824,7 +15646,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 816, + "line": 821, "column": 1 } }, @@ -14833,7 +15655,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 826, + "line": 831, "column": 1 } }, @@ -14842,7 +15664,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 834, + "line": 839, "column": 1 } }, @@ -14851,7 +15673,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 852, + "line": 857, "column": 1 } }, @@ -14860,7 +15682,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 863, + "line": 868, "column": 1 } }, @@ -14869,7 +15691,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 868, + "line": 873, "column": 1 } }, @@ -14878,7 +15700,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 886, + "line": 891, "column": 1 } }, @@ -14887,7 +15709,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 946, + "line": 951, "column": 1 } }, @@ -14896,7 +15718,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 953, + "line": 958, "column": 1 } }, @@ -14905,7 +15727,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 961, + "line": 966, "column": 1 } }, @@ -14914,7 +15736,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 968, + "line": 973, "column": 1 } }, @@ -14923,7 +15745,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 974, + "line": 979, "column": 1 } }, @@ -14932,7 +15754,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 989, + "line": 994, "column": 1 } }, @@ -14941,7 +15763,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1000, + "line": 1005, "column": 1 } }, @@ -14950,7 +15772,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1012, + "line": 1017, "column": 1 } }, @@ -14959,7 +15781,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1031, + "line": 1036, "column": 1 } }, @@ -14968,7 +15790,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1050, + "line": 1055, "column": 1 } }, @@ -14977,7 +15799,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1074, + "line": 1079, "column": 1 } }, @@ -14986,7 +15808,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1085, + "line": 1090, "column": 1 } }, @@ -14995,7 +15817,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1108, + "line": 1113, "column": 1 } }, @@ -15004,7 +15826,7 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/AuthAdminPage.tsx", - "line": 1120, + "line": 1125, "column": 1 } }, @@ -15022,16 +15844,97 @@ "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", - "line": 10, + "line": 16, "column": 1 } }, { - "name": "NodeProps", + "name": "ResolvedProperties", "description": null, "sourceLocation": { "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", - "line": 53, + "line": 41, + "column": 1 + } + }, + { + "name": "updateProperty", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 45, + "column": 9 + } + }, + { + "name": "InstancePropertyEditor", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 78, + "column": 1 + } + }, + { + "name": "NumberPropertyInput", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 103, + "column": 1 + } + }, + { + "name": "commit", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 116, + "column": 9 + } + }, + { + "name": "BooleanPropertyInput", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 152, + "column": 1 + } + }, + { + "name": "ChoicePropertyInput", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 171, + "column": 1 + } + }, + { + "name": "UnavailableNode", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 197, + "column": 1 + } + }, + { + "name": "NoInstanceProperties", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 207, + "column": 1 + } + }, + { + "name": "toInputText", + "description": null, + "sourceLocation": { + "filePath": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "line": 217, "column": 1 } }, @@ -15374,6 +16277,14 @@ "description": null, "isReadme": false }, + { + "kind": "export", + "name": "createStudioInstancePropertyPatch", + "sourcePath": "src/propertiesAuthoringModel.ts", + "symbolName": "createStudioInstancePropertyPatch", + "description": null, + "isReadme": false + }, { "kind": "export", "name": "deriveProjectId", @@ -15462,6 +16373,22 @@ "description": null, "isReadme": false }, + { + "kind": "export", + "name": "resolveStudioInstancePropertyFields", + "sourcePath": "src/propertiesAuthoringModel.ts", + "symbolName": "resolveStudioInstancePropertyFields", + "description": null, + "isReadme": false + }, + { + "kind": "export", + "name": "resolveStudioInstancePropertyGroups", + "sourcePath": "src/propertiesAuthoringModel.ts", + "symbolName": "resolveStudioInstancePropertyGroups", + "description": null, + "isReadme": false + }, { "kind": "export", "name": "updateNodeInTree", @@ -15587,6 +16514,11 @@ "toPath": "src/projectWorkspaceContracts.ts", "sourcePath": "src/index.ts" }, + { + "fromPath": "src/index.ts", + "toPath": "src/propertiesAuthoringModel.ts", + "sourcePath": "src/index.ts" + }, { "fromPath": "src/index.ts", "toPath": "src/templateCatalogContracts.ts", @@ -15722,6 +16654,21 @@ "toPath": "src/authSettings.ts", "sourcePath": "src/projectAuthHealth.ts" }, + { + "fromPath": "src/projectAuthRuntimeDiagnostics.test.ts", + "toPath": "src/projectAuthHealth.ts", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromPath": "src/projectAuthRuntimeDiagnostics.test.ts", + "toPath": "src/projectAuthRuntimeDiagnostics.ts", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromPath": "src/projectAuthRuntimeDiagnostics.ts", + "toPath": "src/projectAuthHealth.ts", + "sourcePath": "src/projectAuthRuntimeDiagnostics.ts" + }, { "fromPath": "src/projectIdentity.test.ts", "toPath": "src/projectIdentity.ts", @@ -15757,6 +16704,11 @@ "toPath": "src/projectSecretUsage.ts", "sourcePath": "src/projectSecretUsage.test.ts" }, + { + "fromPath": "src/propertiesAuthoringModel.test.ts", + "toPath": "src/index.ts", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, { "fromPath": "src/root.ts", "toPath": "src/app/index.ts", @@ -15857,6 +16809,11 @@ "toPath": "src/index.ts", "sourcePath": "src/studioAdminRouteModel.ts" }, + { + "fromPath": "src/studioRuntimeApi.test.ts", + "toPath": "src/studioRuntimeApi.ts", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, { "fromPath": "src/studioSelectionModel.knip.test.ts", "toPath": "src/studioSelectionModel.ts", @@ -16247,6 +17204,11 @@ "toPath": "src/host/templateRegistry/index.ts", "sourcePath": "src/host/generatedAuthAdapterRuntime.smoke.test.ts" }, + { + "fromPath": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toPath": "src/host/layout/templates/auth/oauth.ts", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, { "fromPath": "src/host/hostLifecycle.smoke.test.ts", "toPath": "src/host/orchestrator/moduleManager.ts", @@ -16652,6 +17614,11 @@ "toPath": "src/projectAuthHealth.ts", "sourcePath": "src/host/auth/projectAuthHealthService.ts" }, + { + "fromPath": "src/host/auth/projectAuthHealthService.ts", + "toPath": "src/projectAuthRuntimeDiagnostics.ts", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, { "fromPath": "src/host/auth/projectAuthHealthService.ts", "toPath": "src/host/orchestrator/projectManager.ts", @@ -16662,6 +17629,36 @@ "toPath": "src/host/secrets/projectSecretService.ts", "sourcePath": "src/host/auth/projectAuthHealthService.ts" }, + { + "fromPath": "src/host/auth/projectAuthHealthService.ts", + "toPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, + { + "fromPath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "toPath": "src/projectAuthHealth.ts", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "toPath": "src/projectAuthRuntimeDiagnostics.ts", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "toPath": "src/host/orchestrator/infraRuntime.ts", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromPath": "src/host/auth/projectAuthRuntimeDiagnostics.ts", + "toPath": "src/host/orchestrator/projectPaths.ts", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, { "fromPath": "src/host/http/authRoutes.test.ts", "toPath": "src/host/orchestrator/projectManager.ts", @@ -17512,6 +18509,11 @@ "toPath": "src/projectSecretApi.ts", "sourcePath": "src/ui/admin/pages/AuthAdminPage.tsx" }, + { + "fromPath": "src/ui/admin/pages/AuthAdminPage.tsx", + "toPath": "src/studioRuntimeApi.ts", + "sourcePath": "src/ui/admin/pages/AuthAdminPage.tsx" + }, { "fromPath": "src/ui/admin/pages/AuthAdminPage.tsx", "toPath": "src/ui/admin/AuthAdminSession.tsx", @@ -17554,12 +18556,12 @@ }, { "fromPath": "src/ui/admin/pages/PropertiesAdminPage.tsx", - "toPath": "src/ui/admin/adminPagePrimitives.tsx", + "toPath": "src/propertiesAuthoringModel.ts", "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" }, { "fromPath": "src/ui/admin/pages/PropertiesAdminPage.tsx", - "toPath": "src/ui/admin/adminPageUtils.ts", + "toPath": "src/ui/admin/adminPagePrimitives.tsx", "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" }, { @@ -17617,6 +18619,11 @@ "toPath": "src/host/layout/templates/auth/adapter.ts", "sourcePath": "src/host/layout/templates/auth/adapter.test.ts" }, + { + "fromPath": "src/host/layout/templates/auth/callback.test.ts", + "toPath": "src/host/layout/templates/auth/callback.ts", + "sourcePath": "src/host/layout/templates/auth/callback.test.ts" + }, { "fromPath": "src/host/layout/templates/auth/callback.ts", "toPath": "src/host/layout/utils/escapeStringLiteral.ts", @@ -17627,6 +18634,11 @@ "toPath": "src/host/layout/templates/utils/routes.ts", "sourcePath": "src/host/layout/templates/auth/callback.ts" }, + { + "fromPath": "src/host/layout/templates/auth/oauth.test.ts", + "toPath": "src/host/layout/templates/auth/oauth.ts", + "sourcePath": "src/host/layout/templates/auth/oauth.test.ts" + }, { "fromPath": "src/host/layout/templates/auth/oauth.ts", "toPath": "src/host/layout/auth/resolveAuthLayoutPlan.ts", @@ -21083,6 +22095,54 @@ "callExpression": "resolveProviderStatus", "sourcePath": "src/projectAuthHealth.ts" }, + { + "fromSymbol": "src/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "describe", + "callExpression": "describe", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "applyProjectAuthRuntimeDiagnostics", + "callExpression": "applyProjectAuthRuntimeDiagnostics", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "applyProjectAuthRuntimeDiagnostics", + "toSymbol": "resolveRolloutDiagnostic", + "callExpression": "resolveRolloutDiagnostic", + "sourcePath": "src/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "applyProjectAuthRuntimeDiagnostics", + "toSymbol": "sortDiagnostics", + "callExpression": "sortDiagnostics", + "sourcePath": "src/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "applyProjectAuthRuntimeDiagnostics", + "toSymbol": "uniqueDiagnostics", + "callExpression": "uniqueDiagnostics", + "sourcePath": "src/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "applyProjectAuthRuntimeDiagnostics", + "toSymbol": "resolveHealthStatus", + "callExpression": "resolveHealthStatus", + "sourcePath": "src/projectAuthRuntimeDiagnostics.ts" + }, { "fromSymbol": "src/projectIdentity.test.ts", "toSymbol": "test", @@ -21545,6 +22605,54 @@ "callExpression": "titleCase", "sourcePath": "src/projectSecretUsage.ts" }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "describe", + "callExpression": "describe", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "resolveStudioInstancePropertyFields", + "callExpression": "resolveStudioInstancePropertyFields", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "resolveStudioInstancePropertyGroups", + "callExpression": "resolveStudioInstancePropertyGroups", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.test.ts", + "toSymbol": "createStudioInstancePropertyPatch", + "callExpression": "createStudioInstancePropertyPatch", + "sourcePath": "src/propertiesAuthoringModel.test.ts" + }, + { + "fromSymbol": "src/propertiesAuthoringModel.ts", + "toSymbol": "resolveEditorKind", + "callExpression": "resolveEditorKind", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyGroups", + "toSymbol": "resolveStudioInstancePropertyFields", + "callExpression": "resolveStudioInstancePropertyFields", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, { "fromSymbol": "src/root.test.ts", "toSymbol": "test", @@ -22187,6 +23295,66 @@ "callExpression": "resolveStudioNavigableLocation", "sourcePath": "src/studioAdminRouteModel.ts" }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "afterEach", + "callExpression": "afterEach", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "mock", + "callExpression": "mock", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "requestUrl", + "callExpression": "requestUrl", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "syncStudioRuntime", + "callExpression": "syncStudioRuntime", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "src/studioRuntimeApi.test.ts", + "toSymbol": "captureError", + "callExpression": "captureError", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "captureError", + "toSymbol": "action", + "callExpression": "action", + "sourcePath": "src/studioRuntimeApi.test.ts" + }, + { + "fromSymbol": "syncStudioRuntime", + "toSymbol": "readJson", + "callExpression": "readJson", + "sourcePath": "src/studioRuntimeApi.ts" + }, + { + "fromSymbol": "syncStudioRuntime", + "toSymbol": "readErrorMessage", + "callExpression": "readErrorMessage", + "sourcePath": "src/studioRuntimeApi.ts" + }, { "fromSymbol": "src/studioSelectionModel.knip.test.ts", "toSymbol": "describe", @@ -25313,6 +26481,246 @@ "callExpression": "loadedBabel.transformAsync", "sourcePath": "src/host/generatedAuthAdapterRuntime.smoke.test.ts" }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "afterEach", + "callExpression": "afterEach", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "rm", + "callExpression": "rm", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "describe", + "callExpression": "describe", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "it", + "callExpression": "it", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "runSuccessfulCallbackScenario", + "callExpression": "runSuccessfulCallbackScenario", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "runProviderDenialScenario", + "callExpression": "runProviderDenialScenario", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "src/host/generatedOAuthLifecycle.e2e.test.ts", + "toSymbol": "runIsolatedScenario", + "callExpression": "runIsolatedScenario", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runIsolatedScenario", + "toSymbol": "fileURLToPath", + "callExpression": "fileURLToPath", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "createHarness", + "callExpression": "createHarness", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "importDocument", + "callExpression": "harness.importDocument", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "startOAuthAuthorization", + "callExpression": "startDocument.startOAuthAuthorization", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "waitFor", + "callExpression": "waitFor", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "readTransportMarker", + "callExpression": "readTransportMarker", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "hasPkceVerifier", + "callExpression": "hasPkceVerifier", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "completeOAuthCallback", + "callExpression": "callbackDocument.completeOAuthCallback", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runSuccessfulCallbackScenario", + "toSymbol": "completeOAuthCallback", + "callExpression": "reloadedCallbackDocument.completeOAuthCallback", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "createHarness", + "callExpression": "createHarness", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "importDocument", + "callExpression": "harness.importDocument", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "startOAuthAuthorization", + "callExpression": "startDocument.startOAuthAuthorization", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "waitFor", + "callExpression": "waitFor", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "readTransportMarker", + "callExpression": "readTransportMarker", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "hasPkceVerifier", + "callExpression": "hasPkceVerifier", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "completeOAuthCallback", + "callExpression": "callbackDocument.completeOAuthCallback", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "runProviderDenialScenario", + "toSymbol": "startOAuthAuthorization", + "callExpression": "restartDocument.startOAuthAuthorization", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createHarness", + "toSymbol": "mkdtemp", + "callExpression": "mkdtemp", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createHarness", + "toSymbol": "tmpdir", + "callExpression": "tmpdir", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createHarness", + "toSymbol": "symlink", + "callExpression": "symlink", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createHarness", + "toSymbol": "writeFile", + "callExpression": "writeFile", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createHarness", + "toSymbol": "moduleUrl", + "callExpression": "moduleUrl", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "importDocument", + "toSymbol": "writeDocument", + "callExpression": "writeDocument", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "importDocument", + "toSymbol": "moduleUrl", + "callExpression": "moduleUrl", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "writeDocument", + "toSymbol": "mkdir", + "callExpression": "mkdir", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "writeDocument", + "toSymbol": "writeFile", + "callExpression": "writeFile", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "writeDocument", + "toSymbol": "createGeneratedOAuthSource", + "callExpression": "createGeneratedOAuthSource", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "createGeneratedOAuthSource", + "toSymbol": "getAuthOAuthRuntimeTs", + "callExpression": "getAuthOAuthRuntimeTs", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "readTransportMarker", + "toSymbol": "isRecord", + "callExpression": "isRecord", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "waitFor", + "toSymbol": "predicate", + "callExpression": "predicate", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, + { + "fromSymbol": "moduleUrl", + "toSymbol": "pathToFileURL", + "callExpression": "pathToFileURL", + "sourcePath": "src/host/generatedOAuthLifecycle.e2e.test.ts" + }, { "fromSymbol": "collectSourceFiles", "toSymbol": "readdir", @@ -27989,6 +29397,30 @@ "callExpression": "analyzeProjectAuthHealth", "sourcePath": "src/host/auth/projectAuthHealthService.ts" }, + { + "fromSymbol": "get", + "toSymbol": "getInfrastructureStatus", + "callExpression": "this.projectManager.getInfrastructureStatus", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, + { + "fromSymbol": "get", + "toSymbol": "observeProjectAuthRuntimeDiagnostics", + "callExpression": "observeProjectAuthRuntimeDiagnostics", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, + { + "fromSymbol": "get", + "toSymbol": "resolveAuthRedirectEnvironment", + "callExpression": "resolveAuthRedirectEnvironment", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, + { + "fromSymbol": "get", + "toSymbol": "applyProjectAuthRuntimeDiagnostics", + "callExpression": "applyProjectAuthRuntimeDiagnostics", + "sourcePath": "src/host/auth/projectAuthHealthService.ts" + }, { "fromSymbol": "readEditableManifest", "toSymbol": "getStudioManifest", @@ -28001,6 +29433,102 @@ "callExpression": "this.projectManager.getProjectManifest", "sourcePath": "src/host/auth/projectAuthHealthService.ts" }, + { + "fromSymbol": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "describe", + "callExpression": "describe", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "resolveProjectAuthRedirectRuntime", + "callExpression": "resolveProjectAuthRedirectRuntime", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts", + "toSymbol": "parseProjectAuthRuntimeStatus", + "callExpression": "parseProjectAuthRuntimeStatus", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.test.ts" + }, + { + "fromSymbol": "observeProjectAuthRuntimeDiagnostics", + "toSymbol": "readSafeGeneratedInfraEnvironment", + "callExpression": "readSafeGeneratedInfraEnvironment", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "observeProjectAuthRuntimeDiagnostics", + "toSymbol": "resolveProjectAuthRedirectRuntime", + "callExpression": "resolveProjectAuthRedirectRuntime", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "observeProjectAuthRuntimeDiagnostics", + "toSymbol": "runProjectInfraScriptCapture", + "callExpression": "runProjectInfraScriptCapture", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "observeProjectAuthRuntimeDiagnostics", + "toSymbol": "parseProjectAuthRuntimeStatus", + "callExpression": "parseProjectAuthRuntimeStatus", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "resolveProjectAuthRedirectRuntime", + "toSymbol": "resolveOrigin", + "callExpression": "resolveOrigin", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "resolveProjectAuthRedirectRuntime", + "toSymbol": "resolveAuthRedirectConfiguration", + "callExpression": "resolveAuthRedirectConfiguration", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "resolveProjectAuthRedirectRuntime", + "toSymbol": "splitCommaSeparated", + "callExpression": "splitCommaSeparated", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "parseProjectAuthRuntimeStatus", + "toSymbol": "readSafeStatusValue", + "callExpression": "readSafeStatusValue", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "readSafeGeneratedInfraEnvironment", + "toSymbol": "getProjectPath", + "callExpression": "getProjectPath", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "readSafeGeneratedInfraEnvironment", + "toSymbol": "exists", + "callExpression": "exists", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, + { + "fromSymbol": "resolveOrigin", + "toSymbol": "parsePort", + "callExpression": "parsePort", + "sourcePath": "src/host/auth/projectAuthRuntimeDiagnostics.ts" + }, { "fromSymbol": "src/host/http/authRoutes.test.ts", "toSymbol": "describe", @@ -34145,6 +35673,12 @@ "callExpression": "flushManifest", "sourcePath": "src/ui/admin/pages/AuthAdminPage.tsx" }, + { + "fromSymbol": "src/ui/admin/pages/AuthAdminPage.tsx", + "toSymbol": "syncStudioRuntime", + "callExpression": "syncStudioRuntime", + "sourcePath": "src/ui/admin/pages/AuthAdminPage.tsx" + }, { "fromSymbol": "src/ui/admin/pages/AuthAdminPage.tsx", "toSymbol": "setMessage", @@ -34488,15 +36022,81 @@ "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" }, { - "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "fromSymbol": "ResolvedProperties", + "toSymbol": "useStudio", + "callExpression": "useStudio", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "ResolvedProperties", + "toSymbol": "resolveStudioInstancePropertyGroups", + "callExpression": "resolveStudioInstancePropertyGroups", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "updateProperty", "toSymbol": "updateNode", "callExpression": "studio.updateNode", "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" }, + { + "fromSymbol": "updateProperty", + "toSymbol": "createStudioInstancePropertyPatch", + "callExpression": "createStudioInstancePropertyPatch", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, { "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", - "toSymbol": "formatPrimitive", - "callExpression": "formatPrimitive", + "toSymbol": "updateProperty", + "callExpression": "updateProperty", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "InstancePropertyEditor", + "toSymbol": "toInputText", + "callExpression": "toInputText", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "NumberPropertyInput", + "toSymbol": "toInputText", + "callExpression": "toInputText", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "toSymbol": "setDraft", + "callExpression": "setDraft", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "toSymbol": "toInputText", + "callExpression": "toInputText", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "toSymbol": "setError", + "callExpression": "setError", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "commit", + "toSymbol": "setError", + "callExpression": "setError", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "commit", + "toSymbol": "onChange", + "callExpression": "onChange", + "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" + }, + { + "fromSymbol": "src/ui/admin/pages/PropertiesAdminPage.tsx", + "toSymbol": "onChange", + "callExpression": "onChange", "sourcePath": "src/ui/admin/pages/PropertiesAdminPage.tsx" }, { @@ -34979,6 +36579,24 @@ "callExpression": "expect", "sourcePath": "src/host/layout/templates/auth/adapter.test.ts" }, + { + "fromSymbol": "src/host/layout/templates/auth/callback.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/host/layout/templates/auth/callback.test.ts" + }, + { + "fromSymbol": "src/host/layout/templates/auth/callback.test.ts", + "toSymbol": "getAuthOAuthCallbackTsx", + "callExpression": "getAuthOAuthCallbackTsx", + "sourcePath": "src/host/layout/templates/auth/callback.test.ts" + }, + { + "fromSymbol": "src/host/layout/templates/auth/callback.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/host/layout/templates/auth/callback.test.ts" + }, { "fromSymbol": "getAuthOAuthCallbackTsx", "toSymbol": "escapeStringLiteral", @@ -34991,6 +36609,30 @@ "callExpression": "routeNameToGroupedHref", "sourcePath": "src/host/layout/templates/auth/callback.ts" }, + { + "fromSymbol": "createOAuthRuntime", + "toSymbol": "getAuthOAuthRuntimeTs", + "callExpression": "getAuthOAuthRuntimeTs", + "sourcePath": "src/host/layout/templates/auth/oauth.test.ts" + }, + { + "fromSymbol": "src/host/layout/templates/auth/oauth.test.ts", + "toSymbol": "test", + "callExpression": "test", + "sourcePath": "src/host/layout/templates/auth/oauth.test.ts" + }, + { + "fromSymbol": "src/host/layout/templates/auth/oauth.test.ts", + "toSymbol": "createOAuthRuntime", + "callExpression": "createOAuthRuntime", + "sourcePath": "src/host/layout/templates/auth/oauth.test.ts" + }, + { + "fromSymbol": "src/host/layout/templates/auth/oauth.test.ts", + "toSymbol": "expect", + "callExpression": "expect", + "sourcePath": "src/host/layout/templates/auth/oauth.test.ts" + }, { "fromSymbol": "getAuthOAuthRuntimeTs", "toSymbol": "escapeStringLiteral", @@ -35543,6 +37185,81 @@ "fromSymbol": "MoveNodeToPlacementResult", "toType": "UiNode", "sourcePath": "src/index.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyFields", + "toType": "Readonly", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyFields", + "toType": "StudioAuthoringComponentMeta", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyFields", + "toType": "StudioInstancePropertyField", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyFields", + "toType": "UiNode", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyGroups", + "toType": "Readonly", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyGroups", + "toType": "StudioAuthoringComponentMeta", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyGroups", + "toType": "StudioInstancePropertyGroup", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "resolveStudioInstancePropertyGroups", + "toType": "UiNode", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "createStudioInstancePropertyPatch", + "toType": "Readonly", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "createStudioInstancePropertyPatch", + "toType": "StudioInstancePropertyValue", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "createStudioInstancePropertyPatch", + "toType": "UiNode", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "StudioAuthoringComponentMeta", + "toType": "Readonly", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "StudioAuthoringComponentMeta", + "toType": "StudioAuthoringPropSchema", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "StudioInstancePropertyField", + "toType": "StudioInstancePropertyEditorKind", + "sourcePath": "src/propertiesAuthoringModel.ts" + }, + { + "fromSymbol": "StudioInstancePropertyGroup", + "toType": "StudioInstancePropertyField", + "sourcePath": "src/propertiesAuthoringModel.ts" } ], "componentComposition": [] diff --git a/src/index.ts b/src/index.ts index 0dfd255f..a2a3c498 100644 --- a/src/index.ts +++ b/src/index.ts @@ -39,6 +39,7 @@ export type { ProjectSortKey, StudioProjectSummary, } from './projectWorkspaceContracts'; +export * from './propertiesAuthoringModel'; export type { TemplateCatalog, TemplateCatalogCategory, @@ -92,6 +93,9 @@ export const STUDIO_PUBLIC_CONTRACTS = [ 'StudioCommand', 'StudioEvent', 'StudioComponentMetaRegistry', + 'StudioInstancePropertyField', + 'resolveStudioInstancePropertyGroups', + 'createStudioInstancePropertyPatch', 'ProjectAuthHealth', 'ProjectSecretUsageSummary', 'StudioAdminRouteId', diff --git a/src/propertiesAuthoringModel.test.ts b/src/propertiesAuthoringModel.test.ts new file mode 100644 index 00000000..5dffe1f9 --- /dev/null +++ b/src/propertiesAuthoringModel.test.ts @@ -0,0 +1,169 @@ +import type { UiNode } from '@ankhorage/contracts'; +import { ZORA_COMPONENT_META } from '@ankhorage/zora/metadata'; +import { describe, expect, test } from 'bun:test'; + +import { + createStudioInstancePropertyPatch, + resolveStudioInstancePropertyFields, + resolveStudioInstancePropertyGroups, + type StudioAuthoringMetaRegistry, +} from './index'; + +const registry: StudioAuthoringMetaRegistry = { + Button: { + name: 'Button', + props: { + children: { + type: 'string', + category: 'Content', + label: 'Label', + default: 'Continue', + authoring: { authority: 'instance' }, + }, + variant: { + type: 'enum', + category: 'Style', + enum: ['solid', 'outline'], + authoring: { authority: 'theme' }, + }, + internalState: { + type: 'string', + category: 'Internal', + }, + }, + }, + Text: { + name: 'Text', + props: { + text: { + type: 'string', + category: 'Content', + authoring: { authority: 'instance' }, + }, + numberOfLines: { + type: 'number', + category: 'Layout', + label: 'Line clamp', + authoring: { authority: 'instance' }, + }, + }, + }, +}; + +describe('instance Properties authoring model', () => { + test('exposes only instance-authorable fields', () => { + const node: UiNode = { + id: 'button', + type: 'Button', + props: { children: 'Save', variant: 'outline', internalState: 'busy' }, + }; + + const fields = resolveStudioInstancePropertyFields(node, registry); + + expect(fields).toEqual([ + { + name: 'children', + label: 'Label', + category: 'Content', + schemaType: 'string', + editor: 'text', + options: [], + value: 'Save', + defaultValue: 'Continue', + isExplicit: true, + }, + ]); + }); + + test('uses metadata defaults without persisting them as explicit node values', () => { + const node: UiNode = { id: 'button', type: 'Button', props: {} }; + + expect(resolveStudioInstancePropertyFields(node, registry)[0]).toMatchObject({ + name: 'children', + value: 'Continue', + isExplicit: false, + }); + }); + + test('preserves metadata order while grouping fields', () => { + const node: UiNode = { + id: 'text', + type: 'Text', + props: { text: 'Hello', numberOfLines: 2 }, + }; + + expect(resolveStudioInstancePropertyGroups(node, registry)).toEqual([ + { + category: 'Content', + fields: [expect.objectContaining({ name: 'text', editor: 'text' })], + }, + { + category: 'Layout', + fields: [expect.objectContaining({ name: 'numberOfLines', editor: 'number' })], + }, + ]); + }); + + test('returns no fields for unknown components', () => { + const node: UiNode = { id: 'unknown', type: 'Unknown', props: { title: 'Hidden' } }; + + expect(resolveStudioInstancePropertyFields(node, registry)).toEqual([]); + }); + + test('updates one prop without mutating siblings', () => { + const node: UiNode = { + id: 'button', + type: 'Button', + props: { children: 'Save', trackingId: 'checkout' }, + }; + + expect(createStudioInstancePropertyPatch(node, 'children', 'Continue')).toEqual({ + props: { trackingId: 'checkout', children: 'Continue' }, + }); + expect(node.props).toEqual({ children: 'Save', trackingId: 'checkout' }); + }); + + test('removes an optional prop when the editor clears it', () => { + const node: UiNode = { + id: 'text', + type: 'Text', + props: { text: 'Hello', numberOfLines: 2 }, + }; + + expect(createStudioInstancePropertyPatch(node, 'numberOfLines', undefined)).toEqual({ + props: { text: 'Hello' }, + }); + }); + + test('consumes released ZORA Heading metadata without exposing theme presentation', () => { + const node: UiNode = { + id: 'heading', + type: 'Heading', + props: { + text: 'Overview', + level: 3, + size: 'h1', + color: 'accent', + numberOfLines: 2, + }, + }; + + const fields = resolveStudioInstancePropertyFields(node, ZORA_COMPONENT_META); + + expect(fields.map((field) => field.name)).toEqual([ + 'text', + 'i18nKey', + 'level', + 'numberOfLines', + ]); + expect(fields.find((field) => field.name === 'level')).toMatchObject({ + editor: 'choice', + options: [1, 2, 3, 4, 5, 6], + value: 3, + defaultValue: 2, + isExplicit: true, + }); + expect(fields.some((field) => field.name === 'size')).toBe(false); + expect(fields.some((field) => field.name === 'color')).toBe(false); + }); +}); diff --git a/src/propertiesAuthoringModel.ts b/src/propertiesAuthoringModel.ts new file mode 100644 index 00000000..6f599cc3 --- /dev/null +++ b/src/propertiesAuthoringModel.ts @@ -0,0 +1,108 @@ +import type { UiNode } from '@ankhorage/contracts'; + +export interface StudioAuthoringPropSchema { + readonly type: string; + readonly category: string; + readonly label?: string; + readonly enum?: readonly (string | number)[]; + readonly default?: unknown; + readonly authoring?: { + readonly authority: string; + }; +} + +export interface StudioAuthoringComponentMeta { + readonly name: string; + readonly props: Readonly>; +} + +export type StudioAuthoringMetaRegistry = Readonly< + Record +>; + +export type StudioInstancePropertyEditorKind = + 'text' | 'number' | 'boolean' | 'choice' | 'unsupported'; + +export interface StudioInstancePropertyField { + readonly name: string; + readonly label: string; + readonly category: string; + readonly schemaType: string; + readonly editor: StudioInstancePropertyEditorKind; + readonly options: readonly (string | number)[]; + readonly value: unknown; + readonly defaultValue: unknown; + readonly isExplicit: boolean; +} + +export interface StudioInstancePropertyGroup { + readonly category: string; + readonly fields: readonly StudioInstancePropertyField[]; +} + +export type StudioInstancePropertyValue = string | number | boolean; + +export function resolveStudioInstancePropertyFields( + node: UiNode, + registry: StudioAuthoringMetaRegistry, +): readonly StudioInstancePropertyField[] { + const componentMeta = new Map(Object.entries(registry)).get(node.type); + if (!componentMeta) return []; + + const propValues = new Map(Object.entries(node.props ?? {})); + + return Object.entries(componentMeta.props).flatMap(([name, schema]) => { + if (schema.authoring?.authority !== 'instance') return []; + + const isExplicit = propValues.has(name); + return [ + { + name, + label: schema.label ?? name, + category: schema.category, + schemaType: schema.type, + editor: resolveEditorKind(schema), + options: schema.enum ?? [], + value: isExplicit ? propValues.get(name) : schema.default, + defaultValue: schema.default, + isExplicit, + }, + ]; + }); +} + +export function resolveStudioInstancePropertyGroups( + node: UiNode, + registry: StudioAuthoringMetaRegistry, +): readonly StudioInstancePropertyGroup[] { + const groups = new Map(); + + for (const field of resolveStudioInstancePropertyFields(node, registry)) { + const current = groups.get(field.category) ?? []; + current.push(field); + groups.set(field.category, current); + } + + return Array.from(groups, ([category, fields]) => ({ category, fields })); +} + +export function createStudioInstancePropertyPatch( + node: UiNode, + propertyName: string, + value: StudioInstancePropertyValue | undefined, +): Readonly> { + const entries = Object.entries(node.props ?? {}).filter(([name]) => name !== propertyName); + if (value !== undefined) { + entries.push([propertyName, value]); + } + + return { props: Object.fromEntries(entries) }; +} + +function resolveEditorKind(schema: StudioAuthoringPropSchema): StudioInstancePropertyEditorKind { + if (schema.type === 'string') return 'text'; + if (schema.type === 'number') return 'number'; + if (schema.type === 'boolean') return 'boolean'; + if (schema.type === 'enum' && (schema.enum?.length ?? 0) > 0) return 'choice'; + return 'unsupported'; +} diff --git a/src/ui/admin/adminPageUtils.ts b/src/ui/admin/adminPageUtils.ts index 394e37af..12e24efd 100644 --- a/src/ui/admin/adminPageUtils.ts +++ b/src/ui/admin/adminPageUtils.ts @@ -5,9 +5,3 @@ export function readRecord(value: unknown): Record { export function readString(value: unknown): string | null { return typeof value === 'string' ? value : null; } - -export function formatPrimitive(value: unknown): string { - if (typeof value === 'string') return value; - if (typeof value === 'number' || typeof value === 'boolean') return String(value); - return JSON.stringify(value); -} diff --git a/src/ui/admin/pages/PropertiesAdminPage.test.ts b/src/ui/admin/pages/PropertiesAdminPage.test.ts index 517d076c..e068c453 100644 --- a/src/ui/admin/pages/PropertiesAdminPage.test.ts +++ b/src/ui/admin/pages/PropertiesAdminPage.test.ts @@ -13,3 +13,19 @@ test('resolves properties nodes across the manifest and activates the owning scr expect(source).toContain('findNodeInManifest'); expect(source).toContain('setActiveScreenId'); }); + +test('consumes canonical ZORA metadata instead of dumping arbitrary node props', () => { + expect(source).toContain('ZORA_COMPONENT_META'); + expect(source).toContain('resolveStudioInstancePropertyGroups'); + expect(source).toContain('createStudioInstancePropertyPatch'); + expect(source).not.toContain('Object.entries(node.props'); +}); + +test('keeps node alias as read-only identity instead of an authorable property', () => { + expect(source).toContain(' { + expect(source).toContain('Visual design properties are theme-owned'); +}); diff --git a/src/ui/admin/pages/PropertiesAdminPage.tsx b/src/ui/admin/pages/PropertiesAdminPage.tsx index 4c09e06b..a9ae256c 100644 --- a/src/ui/admin/pages/PropertiesAdminPage.tsx +++ b/src/ui/admin/pages/PropertiesAdminPage.tsx @@ -1,11 +1,17 @@ import type { UiNode } from '@ankhorage/contracts'; -import { Card, Text } from '@ankhorage/zora'; +import { Card, Text, ZORA_COMPONENT_META } from '@ankhorage/zora'; import React from 'react'; +import { Pressable, StyleSheet, View } from 'react-native'; import { useStudio } from '../../../core/StudioContext'; import { findNodeInManifest, findScreenIdForNode } from '../../../manifestState'; +import { + createStudioInstancePropertyPatch, + resolveStudioInstancePropertyGroups, + type StudioInstancePropertyField, + type StudioInstancePropertyValue, +} from '../../../propertiesAuthoringModel'; import { AdminHeader, AdminScroll, Field, Input, KeyValue } from '../adminPagePrimitives'; -import { formatPrimitive } from '../adminPageUtils'; export function PropertiesAdminPage({ nodeId }: { readonly nodeId: string | null }) { const studio = useStudio(); @@ -25,46 +31,222 @@ export function PropertiesAdminPage({ nodeId }: { readonly nodeId: string | null - {node ? ( - - - - - studio.updateNode(node.id, { alias })} - /> - - - - ) : ( - - - The requested node could not be resolved in the active Studio screen. - - - )} + {node ? : } ); } -function NodeProps({ node }: { readonly node: UiNode }) { - const entries = Object.entries(node.props ?? {}); - if (entries.length === 0) { - return ( - - This node has no editable primitive props. - - ); - } +function ResolvedProperties({ node }: { readonly node: UiNode }) { + const studio = useStudio(); + const componentMeta = new Map(Object.entries(ZORA_COMPONENT_META)).get(node.type); + const groups = resolveStudioInstancePropertyGroups(node, ZORA_COMPONENT_META); + const updateProperty = (propertyName: string, value: StudioInstancePropertyValue | undefined) => { + studio.updateNode(node.id, createStudioInstancePropertyPatch(node, propertyName, value)); + }; return ( <> - {entries.map(([key, value]) => ( - + + + + {node.alias ? : null} + + {groups.map((group) => ( + + + {group.fields.map((field) => ( + updateProperty(field.name, value)} + /> + ))} + + ))} + {groups.length === 0 ? : null} + + Visual design properties are theme-owned and intentionally unavailable as per-instance + overrides. + + + ); +} + +function InstancePropertyEditor(props: { + readonly field: StudioInstancePropertyField; + readonly onChange: (value: StudioInstancePropertyValue | undefined) => void; +}) { + const { field, onChange } = props; + + return ( + + {field.editor === 'text' ? ( + + ) : null} + {field.editor === 'number' ? : null} + {field.editor === 'boolean' ? ( + + ) : null} + {field.editor === 'choice' ? : null} + {field.editor === 'unsupported' ? ( + + This instance property requires a dedicated editor that is not available yet. + + ) : null} + + ); +} + +function NumberPropertyInput(props: { + readonly field: StudioInstancePropertyField; + readonly onChange: (value: number | undefined) => void; +}) { + const { field, onChange } = props; + const [draft, setDraft] = React.useState(toInputText(field.value)); + const [error, setError] = React.useState(null); + + React.useEffect(() => { + setDraft(toInputText(field.value)); + setError(null); + }, [field.name, field.value]); + + const commit = () => { + const normalized = draft.trim(); + if (!normalized) { + setError(null); + onChange(undefined); + return; + } + + const value = Number(normalized); + if (!Number.isFinite(value)) { + setError('Enter a valid number.'); + return; + } + + setError(null); + onChange(value); + }; + + return ( + <> + + {error ? ( + + {error} + + ) : null} ); } + +function BooleanPropertyInput(props: { + readonly field: StudioInstancePropertyField; + readonly onChange: (value: boolean) => void; +}) { + const { field, onChange } = props; + const checked = field.value === true; + + return ( + onChange(!checked)} + style={[styles.toggle, checked ? styles.choiceSelected : null]} + > + {checked ? 'On' : 'Off'} + + ); +} + +function ChoicePropertyInput(props: { + readonly field: StudioInstancePropertyField; + readonly onChange: (value: string | number) => void; +}) { + const { field, onChange } = props; + + return ( + + {field.options.map((option) => { + const selected = field.value === option; + return ( + onChange(option)} + style={[styles.choice, selected ? styles.choiceSelected : null]} + > + {String(option)} + + ); + })} + + ); +} + +function UnavailableNode() { + return ( + + + The requested node could not be resolved in the current project manifest. + + + ); +} + +function NoInstanceProperties() { + return ( + + + This component exposes no properties for per-instance authoring. + + + ); +} + +function toInputText(value: unknown): string { + return typeof value === 'string' || typeof value === 'number' ? String(value) : ''; +} + +const styles = StyleSheet.create({ + fieldStack: { + gap: 14, + }, + choiceRow: { + flexDirection: 'row', + flexWrap: 'wrap', + gap: 8, + }, + choice: { + minHeight: 40, + justifyContent: 'center', + borderWidth: 1, + borderRadius: 8, + borderColor: 'transparent', + paddingHorizontal: 12, + paddingVertical: 8, + }, + choiceSelected: { + borderColor: '#4f46e5', + }, + toggle: { + minHeight: 44, + alignSelf: 'flex-start', + justifyContent: 'center', + borderWidth: 1, + borderRadius: 8, + borderColor: 'transparent', + paddingHorizontal: 16, + paddingVertical: 8, + }, +});
    MemberKindTypeRequiredDescription
    focusAreaspropertyreadonly string[]yes
    harmony property