@salsita-ai/sdk 0.50.0-develop.be40f0cee8 → 0.50.0-develop.d81d7591c5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application-spec/generate-application/code/common/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/common/index.js +1 -1
- package/dist/application-spec/generate-application/code/common/project-module-list.d.ts +8 -0
- package/dist/application-spec/generate-application/code/common/project-module-list.js +3 -0
- package/dist/application-spec/generate-application/code/domain-runtime-files.js +1 -1
- package/dist/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/admin-domain-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/admin-domain-code.js +6 -14
- package/dist/application-spec/generate-application/code/templates/admin-frontend-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/admin-frontend-code.js +4 -4
- package/dist/application-spec/generate-application/code/templates/configurator-domain-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/configurator-domain-code.js +7 -16
- package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.d.ts +1 -2
- package/dist/application-spec/generate-application/code/templates/configurator-frontend-code.js +7 -9
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.d.ts +2 -2
- package/dist/application-spec/generate-application/code/templates/domain-spec/generate-assistant.js +1 -1
- package/dist/application-spec/generate-application/code/templates/domain-spec.js +4 -4
- package/dist/application-spec/generate-application/code/templates/domain.js +3 -3
- package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/agents-md.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-cli-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-create-configurator-skill.js +41 -13
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-feedback-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-review-skill.js +2 -2
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-skill.js +1 -1
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.d.ts +1 -0
- package/dist/application-spec/generate-application/code/templates/skills/phoenix-variants-skill.js +6 -0
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.d.ts +30 -3
- package/dist/application-spec/generate-application/code/templates/skills/sdk-content.js +19 -5
- package/dist/application-spec/generate-application/code/templates/webhook-builders.js +8 -4
- package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.d.ts +4 -3
- package/dist/application-spec/generate-application/runtime/sections/assistant-runtime.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.d.ts +3 -8
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-field-type.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.d.ts +9 -43
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-schema.js +1 -1
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant-server-settings.d.ts +2 -2
- package/dist/application-spec/parse-application-files/spec/sections/assistant/assistant.d.ts +5 -21
- package/dist/client/phoenix-api.d.ts +58 -30
- package/dist/configurator/application-runtime/extensions/selectors.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.d.ts +158 -13
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/assistant-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.d.ts +85 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/change-recorder.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.d.ts +8 -3
- package/dist/configurator/application-runtime/extensions/systems/assistant-system/graphql-tools.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.d.ts +4 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/entity-meta.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.d.ts +16 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/graphql-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.d.ts +9 -0
- package/dist/configurator/application-runtime/extensions/systems/graphql-system/side-effects.js +1 -0
- package/dist/configurator/application-runtime/extensions/systems/index.d.ts +1 -1
- package/dist/configurator/common/frontend-analytics.d.ts +21 -21
- package/dist/configurator/index.d.ts +0 -1
- package/dist/configurator/index.js +1 -1
- package/dist/configurator/pages/LoadedConfiguratorDetailPage.js +1 -1
- package/dist/configurator/scene/scene-analytics/scene-analytics.d.ts +2 -2
- package/dist/configurator/ui/assistant/AssistantChips.js +1 -1
- package/dist/configurator/ui/assistant/AssistantComposer.d.ts +1 -6
- package/dist/configurator/ui/assistant/AssistantComposer.js +1 -1
- package/dist/configurator/ui/assistant/AssistantPanel.js +1 -1
- package/dist/configurator/ui/assistant/AssistantThread.d.ts +1 -6
- package/dist/configurator/ui/assistant/AssistantThread.js +1 -1
- package/dist/configurator/ui/assistant/index.d.ts +1 -1
- package/dist/configurator/ui/assistant/index.js +1 -1
- package/dist/configurator/ui/assistant/thread-items.d.ts +1 -1
- package/dist/configurator/ui/assistant/tool-chip.d.ts +8 -1
- package/dist/configurator/ui/assistant/tool-chip.js +1 -1
- package/dist/configurator/ui/assistant/use-is-assistant-panel-open.d.ts +5 -0
- package/dist/configurator/ui/assistant/use-is-assistant-panel-open.js +1 -0
- package/dist/configurator/ui/configurator-layout/universal/DesktopLayout.js +2 -2
- package/dist/configurator/ui/configurator-layout/universal/Layout.js +1 -1
- package/dist/configurator/ui/configurator-layout/universal/MobileLayout.js +4 -4
- package/dist/configurator/ui/legacy/mobile-controls/MobileControls.d.ts +1 -1
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.d.ts +2 -2
- package/dist/configurator/ui/phoenix-layout-elements/AssistantToolbarButton.js +1 -1
- package/dist/docs/complex-use-cases/filtered-controls-with-fix-dialog.mdx +84 -98
- package/dist/docs/complex-use-cases/navigation-reset-selection.mdx +18 -12
- package/dist/docs/index.json +1 -1
- package/dist/docs/layouts/custom-price.mdx +14 -16
- package/dist/docs/layouts/sidebar/tabs.mdx +24 -21
- package/dist/docs/layouts/toolbar.mdx +3 -1
- package/dist/docs/other-features/domain-actions.mdx +1 -1
- package/dist/docs/other-features/side-effects.mdx +68 -34
- package/dist/docs/other-features/transformers.mdx +1 -1
- package/dist/docs/phoenix/admin.mdx +9 -24
- package/dist/docs/phoenix/localization.mdx +3 -22
- package/dist/docs/phoenix/phoenix-cli.mdx +81 -2
- package/dist/docs/phoenix/project-structure.mdx +9 -2
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +4 -3
- package/dist/docs/recipes-and-delete/recipe-hierarchy-selection.mdx +15 -13
- package/dist/docs/relations/hierarchy.mdx +13 -2
- package/dist/domain/actions/action-factory.d.ts +3 -2
- package/dist/domain/application/application-config.d.ts +25 -75
- package/dist/domain/application/assistant/assistant-manifest.d.ts +61 -0
- package/dist/domain/application/assistant/assistant-resolved-manifest.d.ts +95 -0
- package/dist/domain/application/assistant/assistant-value-type.d.ts +9 -0
- package/dist/domain/application/assistant/assistant-value-type.js +1 -0
- package/dist/domain/application/assistant/build-assistant-manifest.d.ts +4 -0
- package/dist/domain/application/assistant/build-assistant-manifest.js +1 -0
- package/dist/{phoenix/application-spec → domain/application/assistant}/generate-assistant-prompt.d.ts +6 -5
- package/dist/domain/application/assistant/generate-assistant-prompt.js +1 -0
- package/dist/domain/application/assistant/index.d.ts +4 -0
- package/dist/domain/application/assistant/index.js +1 -0
- package/dist/domain/application/assistant-field-options.d.ts +1 -1
- package/dist/domain/application/assistant-mutations.d.ts +1 -1
- package/dist/domain/application/assistant-recipe-groups.d.ts +1 -1
- package/dist/domain/application/configurator-builder.d.ts +33 -18
- package/dist/domain/application/configurator-builder.js +1 -1
- package/dist/domain/application/element-registration.d.ts +5 -0
- package/dist/domain/application/element-registration.js +1 -1
- package/dist/domain/application/handler-registration.d.ts +5 -0
- package/dist/domain/application/handler-registration.js +1 -1
- package/dist/domain/application/index.d.ts +5 -4
- package/dist/domain/application/index.js +1 -1
- package/dist/domain/application/resolve-imported-transformers.d.ts +11 -1
- package/dist/domain/application/resolve-imported-transformers.js +1 -1
- package/dist/domain/components/domain-component-optic.d.ts +3 -0
- package/dist/domain/components/domain-component-optic.js +2 -2
- package/dist/domain/components/system-component-builder.js +1 -1
- package/dist/domain/components/updates.d.ts +16 -0
- package/dist/domain/core/action.d.ts +1 -1
- package/dist/domain/core/component.d.ts +1 -1
- package/dist/domain/core/decoder/create-decoder.d.ts +6 -0
- package/dist/domain/core/decoder/create-decoder.js +1 -0
- package/dist/domain/core/decoder/decoder.d.ts +6 -0
- package/dist/domain/core/decoder/decoder.js +1 -0
- package/dist/domain/core/decoder/index.d.ts +2 -0
- package/dist/domain/core/decoder/index.js +1 -0
- package/dist/domain/core/domain-factory.js +1 -1
- package/dist/domain/core/index.d.ts +1 -3
- package/dist/domain/core/index.js +1 -1
- package/dist/domain/core/reflection.d.ts +1 -1
- package/dist/domain/core/reflection.js +1 -1
- package/dist/domain/core/schema/enhanced-json-schema.js +1 -0
- package/dist/domain/core/schema/extended-schema-validator.js +1 -0
- package/dist/domain/core/schema/index.d.ts +3 -0
- package/dist/domain/core/schema/index.js +1 -0
- package/dist/domain/core/schema/schema-validator.js +1 -0
- package/dist/domain/domain-builder.d.ts +10 -1
- package/dist/domain/domain-builder.js +1 -1
- package/dist/domain/domain-context/action-system/action-system.js +1 -1
- package/dist/domain/domain-context/index.d.ts +1 -1
- package/dist/domain/domain-context/store-system/store-system.js +1 -1
- package/dist/domain/domain-context/transformers/chain-builder.d.ts +1 -1
- package/dist/domain/domain-runtime/domain-runtime.d.ts +4 -4
- package/dist/domain/domain-runtime/spec/initialize.js +1 -1
- package/dist/domain/domain-runtime/spec/selectors.d.ts +2 -2
- package/dist/domain/domain-runtime/spec/selectors.js +1 -1
- package/dist/domain/domain-runtime/spec/types.d.ts +3 -3
- package/dist/domain/index.d.ts +3 -2
- package/dist/domain/index.js +1 -1
- package/dist/domain/invariants/invariants.d.ts +9 -0
- package/dist/domain/invariants/invariants.js +1 -1
- package/dist/domain/mocks/create-mock-domain-runtime.d.ts +3 -3
- package/dist/domain/mocks/create-mock-domain-runtime.js +1 -1
- package/dist/domain/project-modules/index.d.ts +1 -0
- package/dist/domain/project-modules/index.js +1 -0
- package/dist/domain/project-modules/project-modules.d.ts +41 -0
- package/dist/domain/project-modules/project-modules.js +1 -0
- package/dist/domain/system-components/common/dimension-indicator-schema.d.ts +1 -1
- package/dist/domain/system-components/common/dimension-indicator-schema.js +1 -1
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/domain-editors/use-implementation-files.d.ts +7 -6
- package/dist/editor/domain-editors/use-implementation-files.js +1 -1
- package/dist/editor/graphql/GraphQLPanel.js +1 -1
- package/dist/editor/variants/VariantAnswerFooter.d.ts +17 -0
- package/dist/editor/variants/VariantAnswerFooter.js +1 -0
- package/dist/editor/variants/VariantPreviewHandler.d.ts +6 -0
- package/dist/editor/variants/VariantPreviewHandler.js +1 -0
- package/dist/editor/variants/variant-preview-styles.d.ts +49 -0
- package/dist/editor/variants/variant-preview-styles.js +1 -0
- package/dist/i18n/locales/cs/messages.js +1 -1
- package/dist/i18n/locales/da/messages.js +1 -1
- package/dist/i18n/locales/de/messages.js +1 -1
- package/dist/i18n/locales/de-AT/messages.js +1 -1
- package/dist/i18n/locales/en/messages.js +1 -1
- package/dist/i18n/locales/en-AU/messages.js +1 -1
- package/dist/i18n/locales/en-GB/messages.js +1 -1
- package/dist/i18n/locales/es/messages.js +1 -1
- package/dist/i18n/locales/fr/messages.js +1 -1
- package/dist/i18n/locales/hu/messages.js +1 -1
- package/dist/i18n/locales/it/messages.js +1 -1
- package/dist/i18n/locales/nl/messages.js +1 -1
- package/dist/i18n/locales/pl/messages.js +1 -1
- package/dist/i18n/locales/pt/messages.js +1 -1
- package/dist/i18n/locales/ro/messages.js +1 -1
- package/dist/i18n/locales/sk/messages.js +1 -1
- package/dist/i18n/locales/tr/messages.js +1 -1
- package/dist/legacy/domain-cli/gen/configurator-builder.js +21 -8
- package/dist/legacy/domain-cli/utils/cache.d.ts +1 -1
- package/dist/legacy/domain-cli/utils/cache.js +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-admin.js +18 -19
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js +15 -16
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js +22 -23
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-configurator.js +15 -16
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.d.ts +7 -2
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/generator-shared.js +8 -12
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.d.ts +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/index.js +1 -1
- package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/webhook-builders.js +7 -7
- package/dist/phoenix/application-spec/application-spec-builder.js +1 -1
- package/dist/phoenix/application-spec/resolve-deployment-data.d.ts +4 -3
- package/dist/phoenix/application-spec/resolve-deployment-data.js +2 -2
- package/dist/phoenix/cli.js +1 -1
- package/dist/phoenix/commands/deploy.js +2 -2
- package/dist/phoenix/commands/dev.js +5 -5
- package/dist/phoenix/commands/index.d.ts +1 -0
- package/dist/phoenix/commands/index.js +1 -1
- package/dist/phoenix/commands/prepare-deployment-command.js +2 -2
- package/dist/phoenix/commands/prepare-local-environment-command.js +1 -1
- package/dist/phoenix/commands/story-dev.js +2 -2
- package/dist/phoenix/commands/variants.d.ts +35 -0
- package/dist/phoenix/commands/variants.js +1 -0
- package/dist/phoenix/editor-server/commands-router.d.ts +68 -1
- package/dist/phoenix/editor-server/commands-router.js +1 -1
- package/dist/phoenix/editor-server/editor-router.d.ts +65 -0
- package/dist/phoenix/editor-server/editor-server.d.ts +3 -3
- package/dist/phoenix/editor-server/editor-server.js +1 -1
- package/dist/phoenix/editor-server/protocol.d.ts +1 -0
- package/dist/phoenix/editor-server/spec-router.js +1 -1
- package/dist/phoenix/editor-server/trpc.d.ts +3 -0
- package/dist/phoenix/services/application-spec-project-watcher.d.ts +13 -2
- package/dist/phoenix/services/application-spec-project-watcher.js +3 -3
- package/dist/phoenix/services/index.d.ts +4 -0
- package/dist/phoenix/services/index.js +1 -1
- package/dist/phoenix/services/phoenix-application.d.ts +21 -0
- package/dist/phoenix/services/phoenix-application.js +1 -0
- package/dist/phoenix/services/phoenix-store.d.ts +48 -0
- package/dist/phoenix/services/phoenix-store.js +1 -0
- package/dist/phoenix/services/phx-variant-previews-plugin.d.ts +9 -0
- package/dist/phoenix/services/phx-variant-previews-plugin.js +1 -0
- package/dist/phoenix/services/prepare-development-environment.js +1 -1
- package/dist/phoenix/services/variant-file-session.d.ts +36 -0
- package/dist/phoenix/services/variant-file-session.js +1 -0
- package/dist/phoenix/services/variant-preview-service.d.ts +80 -0
- package/dist/phoenix/services/variant-preview-service.js +1 -0
- package/dist/phoenix/services/vite-config.js +1 -1
- package/dist/react-sdk/application-runtime/common-services/analytics/analytics-service.d.ts +2 -2
- package/dist/react-sdk/application-runtime/common-services/analytics/domain-controls-analytics.d.ts +21 -21
- package/dist/react-sdk/application-runtime/hooks/data/use-published-data.d.ts +1 -1
- package/dist/react-sdk/application-runtime/hooks/use-domain-application-props.d.ts +5 -2
- package/dist/react-sdk/application-runtime/hooks/use-spec.d.ts +1 -1
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.d.ts +1 -1
- package/dist/react-sdk/application-runtime/mocks/create-mock-application-runtime.js +1 -1
- package/dist/react-sdk/application-runtime/runtime/create-application-runtime.d.ts +4 -4
- package/dist/ui-sdk/common/use-viewport-size.d.ts +4 -1
- package/dist/ui-sdk/common/use-viewport-size.js +1 -1
- package/dist/ui-sdk/components/mobile-controls/index.d.ts +1 -1
- package/dist/webhook/builders/common.d.ts +3 -0
- package/dist/webhook/builders/webhook-builder.d.ts +1 -1
- package/dist/webhook/builders/webhook-builder.js +1 -1
- package/package.json +4 -4
- package/dist/configurator/assistant/index.d.ts +0 -1
- package/dist/configurator/assistant/index.js +0 -1
- package/dist/configurator/assistant/use-assistant-chat.d.ts +0 -30
- package/dist/configurator/assistant/use-assistant-chat.js +0 -1
- package/dist/configurator/ui/assistant/AssistantPanelProvider.d.ts +0 -42
- package/dist/configurator/ui/assistant/AssistantPanelProvider.js +0 -1
- package/dist/domain/core/json-schema.js +0 -1
- package/dist/phoenix/application-spec/generate-assistant-prompt.js +0 -1
- /package/dist/domain/{core/enhanced-json-schema.js → application/assistant/assistant-manifest.js} +0 -0
- /package/dist/domain/{core/schema-validator.js → application/assistant/assistant-resolved-manifest.js} +0 -0
- /package/dist/domain/core/{schema-validator-ajv.d.ts → schema/create-ajv-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator-ajv.js → schema/create-ajv-schema-validator.js} +0 -0
- /package/dist/domain/core/{schema-validator-csp.d.ts → schema/create-csp-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator-csp.js → schema/create-csp-schema-validator.js} +0 -0
- /package/dist/domain/core/{enhanced-json-schema.d.ts → schema/enhanced-json-schema.d.ts} +0 -0
- /package/dist/domain/core/{json-schema.d.ts → schema/extended-schema-validator.d.ts} +0 -0
- /package/dist/domain/core/{schema-validator.d.ts → schema/schema-validator.d.ts} +0 -0
package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-configurator.js
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import{fileHeader as o}from"./file-header.js";import{defaultEnvsCode as e,
|
|
1
|
+
import{fileHeader as o}from"./file-header.js";import{defaultEnvsCode as e,generateImports as r,generateModuleEntries as t,generateModuleList as i,generateThemeCode as n,generateTransformerMap as a,generateTransformerRegistration as s,generateTransformerTypeImports as c}from"./generator-shared.js";export const generateFrontendConfiguratorFile=(l=[],$=[],f=[],m=[],p=[],d,g,u=!0,h=!1)=>{let C=r(l,"components"),j=i(t(l,"components")),w=r(m,"handlers"),F=i(t(m,"handlers")),b=r(p,"elements"),x=i(t(p,"elements")),A=a($,f),B=s(f),k=n(d,g),E=c(f.length>0);return`// prettier-ignore-file
|
|
2
2
|
${o}
|
|
3
|
-
${
|
|
3
|
+
${h?"":"import { mountConfiguratorApplication } from '@salsita-ai/sdk/application'\n"}${E?`${E}
|
|
4
4
|
`:""}
|
|
5
5
|
import * as interfaceFile from './configurator-interface.js'
|
|
6
6
|
|
|
7
|
-
import { configuratorBuilder } from './domain.js'
|
|
8
|
-
${
|
|
9
|
-
${
|
|
10
|
-
${
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${E.imports}`:""}${B}
|
|
7
|
+
import { configuratorBuilder } from './domain.js'
|
|
8
|
+
${C?`
|
|
9
|
+
${C}`:""}${w?`
|
|
10
|
+
${w}`:""}${b?`
|
|
11
|
+
${b}`:""}${k.imports?`
|
|
12
|
+
${k.imports}`:""}${A}
|
|
14
13
|
|
|
15
14
|
const builder = configuratorBuilder
|
|
16
15
|
.withInterface(interfaceFile)
|
|
17
|
-
.withComponentOptics(${
|
|
18
|
-
.withHandlers(${
|
|
19
|
-
.withElements(${
|
|
20
|
-
${
|
|
21
|
-
${
|
|
16
|
+
.withComponentOptics(${j})
|
|
17
|
+
.withHandlers(${F})
|
|
18
|
+
.withElements(${x})
|
|
19
|
+
${u?e:""}${k.code?`
|
|
20
|
+
${k.code}`:""}${B}
|
|
22
21
|
|
|
23
22
|
|
|
24
|
-
${
|
|
23
|
+
${h?"export const config = ":"const config = "}builder.buildConfig()
|
|
25
24
|
|
|
26
|
-
${
|
|
25
|
+
${h?"":"mountConfiguratorApplication(config)"}
|
|
27
26
|
`};
|
package/dist/legacy/phoenix-cli/project-gen/generators/file-templates/frontend-embedded-admin.js
CHANGED
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
import{fileHeader as e}from"./file-header.js";import{defaultEnvsCode as
|
|
1
|
+
import{fileHeader as e}from"./file-header.js";import{defaultEnvsCode as i,generateImports as n,generateModuleEntries as t,generateModuleList as o,generateThemeCode as m,generateTransformerMap as a,generateTransformerRegistration as r,generateTransformerTypeImports as s}from"./generator-shared.js";export const getFrontendEmbeddedAdminFile=(d,p,c=[],$=[],l=[],f=[],g=[],u=[],h=[],A,F,C)=>{let b=n(c,"components"),j=o(t(c,"components")),w=n($,"adminComponents"),E=o(t($,"adminComponents")),S=n(g,"handlers"),P=o(t(g,"handlers")),x=n(u,"elements"),I=n(h,"adminElements"),k=o([...t(u,"elements"),...t(h,"adminElements")]),y=a(l,f),B=r(f),O=m(A,F),H=s(f.length>0),q=C?`
|
|
2
2
|
import { createAdminPagesFromSpec } from '@salsita-ai/sdk/admin'
|
|
3
|
-
import { $adminPagesSpec, $dataSpec } from './domain/application-types.js'`:"",
|
|
3
|
+
import { $adminPagesSpec, $dataSpec } from './domain/application-types.js'`:"",v=C?`
|
|
4
4
|
const { components: specAdminComponents, pages: specAdminPages } = createAdminPagesFromSpec($adminPagesSpec, $dataSpec)
|
|
5
|
-
`:"",
|
|
5
|
+
`:"",z=C?`[{ origin: '.phoenix/domain/application-types.ts', exports: specAdminComponents }, ...${E}]`:E;return`// prettier-ignore-file
|
|
6
6
|
|
|
7
7
|
${e}
|
|
8
|
-
${
|
|
8
|
+
${H?`${H}
|
|
9
9
|
`:""}
|
|
10
10
|
import * as interfaceFile from './configurator-interface.js'
|
|
11
11
|
import * as adminInterfaceFile from './admin-interface.js'
|
|
12
12
|
|
|
13
13
|
import { mountEmbeddedAdminApplication } from '@salsita-ai/sdk/application'
|
|
14
14
|
|
|
15
|
-
import { configuratorBuilder } from './domain.js'${
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
${
|
|
20
|
-
${
|
|
21
|
-
${
|
|
22
|
-
${
|
|
23
|
-
${
|
|
24
|
-
${J}
|
|
15
|
+
import { configuratorBuilder } from './domain.js'${q}
|
|
16
|
+
${b?`
|
|
17
|
+
${b}`:""}${w?`
|
|
18
|
+
${w}`:""}${S?`
|
|
19
|
+
${S}`:""}${x?`
|
|
20
|
+
${x}`:""}${I?`
|
|
21
|
+
${I}`:""}${O.imports?`
|
|
22
|
+
${O.imports}`:""}${y}
|
|
23
|
+
${v}
|
|
25
24
|
let builder = configuratorBuilder
|
|
26
25
|
.withInterface(interfaceFile)
|
|
27
26
|
.withInterface(adminInterfaceFile)
|
|
28
|
-
.withComponentOptics(${
|
|
29
|
-
.withAdminComponentOptics(${
|
|
30
|
-
.withHandlers(${
|
|
31
|
-
.withElements(${
|
|
32
|
-
${
|
|
33
|
-
${
|
|
27
|
+
.withComponentOptics(${j})
|
|
28
|
+
.withAdminComponentOptics(${z})
|
|
29
|
+
.withHandlers(${P})
|
|
30
|
+
.withElements(${k})
|
|
31
|
+
${i}${O.code?`
|
|
32
|
+
${O.code}`:""}
|
|
34
33
|
|
|
35
|
-
${
|
|
34
|
+
${B}
|
|
36
35
|
|
|
37
36
|
const config = builder.buildConfig()
|
|
38
37
|
|
|
39
38
|
export default {
|
|
40
39
|
mount: () => {
|
|
41
|
-
mountEmbeddedAdminApplication(config, '${
|
|
42
|
-
return 'salsita-admin-${
|
|
40
|
+
mountEmbeddedAdminApplication(config, '${d}', '${p}')
|
|
41
|
+
return 'salsita-admin-${d}-${p}'
|
|
43
42
|
},
|
|
44
43
|
config,
|
|
45
44
|
}
|
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
import{fileHeader as e}from"./file-header.js";import{defaultEnvsCode as o,
|
|
1
|
+
import{fileHeader as e}from"./file-header.js";import{defaultEnvsCode as o,generateImports as t,generateModuleEntries as r,generateModuleList as i,generateThemeCode as n,generateTransformerMap as a,generateTransformerRegistration as d,generateTransformerTypeImports as m}from"./generator-shared.js";export const getFrontendEmbeddedConfiguratorFile=(s,l,f=[],$=[],c=[],p=[],u=[],g,h)=>{let b=t(f,"components"),C=i(r(f,"components")),j=t(p,"handlers"),w=i(r(p,"handlers")),E=t(u,"elements"),F=i(r(u,"elements")),x=a($,c),A=d(c),B=n(g,h),k=m(c.length>0);return`// prettier-ignore-file
|
|
2
2
|
|
|
3
3
|
${e}
|
|
4
|
-
${
|
|
4
|
+
${k?`${k}
|
|
5
5
|
`:""}
|
|
6
6
|
import * as interfaceFile from './configurator-interface.js'
|
|
7
7
|
|
|
8
8
|
import { mountEmbeddedConfiguratorApplication } from '@salsita-ai/sdk/application'
|
|
9
9
|
|
|
10
|
-
import { configuratorBuilder } from './domain.js'
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${
|
|
14
|
-
${
|
|
15
|
-
${
|
|
16
|
-
${k.imports}`:""}${A}
|
|
10
|
+
import { configuratorBuilder } from './domain.js'
|
|
11
|
+
${b?`
|
|
12
|
+
${b}`:""}${j?`
|
|
13
|
+
${j}`:""}${E?`
|
|
14
|
+
${E}`:""}${B.imports?`
|
|
15
|
+
${B.imports}`:""}${x}
|
|
17
16
|
|
|
18
17
|
const builder = configuratorBuilder
|
|
19
18
|
.withInterface(interfaceFile)
|
|
20
|
-
.withComponentOptics(${
|
|
21
|
-
.withHandlers(${
|
|
22
|
-
.withElements(${
|
|
23
|
-
${o}${
|
|
24
|
-
${
|
|
19
|
+
.withComponentOptics(${C})
|
|
20
|
+
.withHandlers(${w})
|
|
21
|
+
.withElements(${F})
|
|
22
|
+
${o}${B.code?`
|
|
23
|
+
${B.code}`:""}${A}
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
const config = builder.buildConfig()
|
|
28
27
|
|
|
29
28
|
export default {
|
|
30
29
|
mount: () => {
|
|
31
|
-
mountEmbeddedConfiguratorApplication(config, '${
|
|
32
|
-
return 'salsita-configurator-${
|
|
30
|
+
mountEmbeddedConfiguratorApplication(config, '${s}', '${l}')
|
|
31
|
+
return 'salsita-configurator-${s}-${l}'
|
|
33
32
|
},
|
|
34
33
|
config,
|
|
35
34
|
}
|
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export declare const getImportNames: (files: readonly string[], prefix: string) => readonly string[];
|
|
6
6
|
export declare const generateImports: (files: readonly string[], prefix: string) => string;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* The entries of a project-module list for one category of files: each default export paired with its project
|
|
9
|
+
* path. The generated file passes them to the configurator builder unchecked; the SDK validates each export
|
|
10
|
+
* against its folder's contract and names the file when it does not match.
|
|
11
|
+
*/
|
|
12
|
+
export declare const generateModuleEntries: (files: readonly string[], prefix: string) => readonly string[];
|
|
13
|
+
export declare const generateModuleList: (entries: readonly string[]) => string;
|
|
8
14
|
export declare const generateTransformerTypeImports: (hasTransformers: boolean) => string;
|
|
9
|
-
export declare const generateDomainTypeImports: (hasTransformers: boolean) => string;
|
|
10
15
|
export declare const generateTransformerMap: (transformersFiles: readonly string[], transformers: Array<{
|
|
11
16
|
name: string;
|
|
12
17
|
priority?: number;
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
${
|
|
3
|
-
]
|
|
4
|
-
import type { NavigationState, ViewState, ToolState, ExportState } from './domain/application-types.js'
|
|
5
|
-
import type { $Map } from './domain/enhanced-model.js'`:"";export const generateTransformerMap=(t,n)=>{if(0===n.length)return"";if(0===t.length)throw Error(`Transformers specified in spec but no transformer files found in transformers/ folder. Expected transformers: ${n.map(e=>e.name).join(", ")}`);let o=getImportNames(t,"transformers"),a=[];t.forEach((e,r)=>{let t=o[r];a.push(`import ${t} from '../src/${e.replace(/\.tsx?$/,".js")}'`)});let s=`const allImportedTransformers: ReadonlyArray<ImportedTransformer<AnyDomainEntity, RootEntity, $Map, NavigationState, ViewState, ToolState, ExportState>> = [
|
|
6
|
-
${t.map((t,n)=>{let a=o[n],s=e(t,r(t));return` { name: '${s}', transformer: ${a} }`}).join(",\n")}
|
|
7
|
-
]`,m=n.map(e=>` { name: '${e.name}', priority: ${e.priority??"Infinity"} }`).join(",\n"),i=`const specTransformers: SpecTransformer[] = [
|
|
8
|
-
${m}
|
|
9
|
-
]`;return`${a.length>0?`
|
|
10
|
-
${a.join("\n")}`:""}
|
|
11
|
-
|
|
1
|
+
export const getImportNames=(e,r)=>e.map((e,t)=>`${r}${t}`);export const generateImports=(e,r)=>{if(0===e.length)return"";let t=getImportNames(e,r);return e.map((e,r)=>{let n=`../src/${e.replace(/\.tsx?$/,"")}.js`;return`import ${t[r]} from '${n}'`}).join("\n")};export const generateModuleEntries=(e,r)=>{let t=getImportNames(e,r);return e.map((e,r)=>`{ origin: 'src/${e}', exports: ${t[r]} }`)};export const generateModuleList=e=>0===e.length?"[]":`[
|
|
2
|
+
${e.join(",\n ")}
|
|
3
|
+
]`;export const generateTransformerTypeImports=e=>e?"import type { ProjectModule, SpecTransformer } from '@salsita-ai/sdk/domain'":"";export const generateTransformerMap=(e,r)=>{if(0===r.length)return"";if(0===e.length)throw Error(`Transformers specified in spec but no transformer files found in transformers/ folder. Expected transformers: ${r.map(e=>e.name).join(", ")}`);let t=getImportNames(e,"transformers"),n=[];e.forEach((e,r)=>{let o=t[r];n.push(`import ${o} from '../src/${e.replace(/\.tsx?$/,".js")}'`)});let o=`const allImportedTransformers: readonly ProjectModule[] = ${generateModuleList(generateModuleEntries(e,"transformers"))}`,s=r.map(e=>` { name: '${e.name}', priority: ${e.priority??"Infinity"} }`).join(",\n"),a=`const specTransformers: SpecTransformer[] = [
|
|
12
4
|
${s}
|
|
5
|
+
]`;return`${n.length>0?`
|
|
6
|
+
${n.join("\n")}`:""}
|
|
7
|
+
|
|
8
|
+
${o}
|
|
13
9
|
|
|
14
|
-
${
|
|
10
|
+
${a}`};export const generateTransformerRegistration=e=>0===e.length?"":".withTransformers(allImportedTransformers, specTransformers)";export const generateThemeCode=(e,r)=>e?{imports:"import { getPhoenixThemes } from '@salsita-ai/sdk/ui'",code:` .withTheme(getPhoenixThemes().${e})`}:r?{imports:"import { createScaledPhoenixTheme } from '@salsita-ai/sdk/ui'",code:` .withTheme(createScaledPhoenixTheme(${JSON.stringify(r,null,2)}))`}:{imports:"",code:""};export const defaultEnvsCode=` .withDefaultEnvs({
|
|
15
11
|
isDev: phx.frontendEnv.IS_DEV,
|
|
16
12
|
deploymentId: phx.frontendEnv.DEPLOYMENT_ID,
|
|
17
13
|
datadogEnabled: phx.frontendEnv.DATADOG_ENABLED,
|
|
@@ -13,7 +13,7 @@ export { generateFrontendAdminFile } from './frontend-admin.js';
|
|
|
13
13
|
export { generateFrontendConfiguratorFile } from './frontend-configurator.js';
|
|
14
14
|
export { getFrontendEmbeddedAdminFile } from './frontend-embedded-admin.js';
|
|
15
15
|
export { getFrontendEmbeddedConfiguratorFile } from './frontend-embedded-configurator.js';
|
|
16
|
-
export { defaultEnvsCode,
|
|
16
|
+
export { defaultEnvsCode, generateModuleEntries, generateModuleList, generateThemeCode, generateTransformerMap, generateTransformerRegistration, generateTransformerTypeImports, } from './generator-shared.js';
|
|
17
17
|
export { GITIGNORE_END_MARKER, GITIGNORE_START_MARKER, gitignoreFile, mergeGitignoreContent } from './gitignore.js';
|
|
18
18
|
export { claudeMdFile, cursorRulesFile, mergeClaudeMdContent, mergeCursorRulesContent, mergeMarkerContent, reviewCommandFile, SDK_END_MARKER, SDK_START_MARKER, } from './agents/index.js';
|
|
19
19
|
export { globalTsFile } from './globals.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{adminInterfaceFile}from"./admin-interface.js";export{privateAssetsReadme,publicAssetsReadme}from"./assets-readme.js";export{configuratorInterfaceFile}from"./configurator-interface.js";export{generateIndexDomainFile}from"./domain-index.js";export{generateEditorFile}from"./editor.js";export{envCiFile}from"./env-ci.js";export{generateFrontendConfig,generateWebhookConfig}from"./env-config.js";export{envExampleFile}from"./env-example.js";export{eslintFile}from"./eslint.js";export{faviconBase64}from"./favicon.js";export{fileHeader}from"./file-header.js";export{generateFrontendAdminFile}from"./frontend-admin.js";export{generateFrontendConfiguratorFile}from"./frontend-configurator.js";export{getFrontendEmbeddedAdminFile}from"./frontend-embedded-admin.js";export{getFrontendEmbeddedConfiguratorFile}from"./frontend-embedded-configurator.js";export{defaultEnvsCode,
|
|
1
|
+
export{adminInterfaceFile}from"./admin-interface.js";export{privateAssetsReadme,publicAssetsReadme}from"./assets-readme.js";export{configuratorInterfaceFile}from"./configurator-interface.js";export{generateIndexDomainFile}from"./domain-index.js";export{generateEditorFile}from"./editor.js";export{envCiFile}from"./env-ci.js";export{generateFrontendConfig,generateWebhookConfig}from"./env-config.js";export{envExampleFile}from"./env-example.js";export{eslintFile}from"./eslint.js";export{faviconBase64}from"./favicon.js";export{fileHeader}from"./file-header.js";export{generateFrontendAdminFile}from"./frontend-admin.js";export{generateFrontendConfiguratorFile}from"./frontend-configurator.js";export{getFrontendEmbeddedAdminFile}from"./frontend-embedded-admin.js";export{getFrontendEmbeddedConfiguratorFile}from"./frontend-embedded-configurator.js";export{defaultEnvsCode,generateModuleEntries,generateModuleList,generateThemeCode,generateTransformerMap,generateTransformerRegistration,generateTransformerTypeImports}from"./generator-shared.js";export{GITIGNORE_END_MARKER,GITIGNORE_START_MARKER,gitignoreFile,mergeGitignoreContent}from"./gitignore.js";export{claudeMdFile,cursorRulesFile,mergeClaudeMdContent,mergeCursorRulesContent,mergeMarkerContent,reviewCommandFile,SDK_END_MARKER,SDK_START_MARKER}from"./agents/index.js";export{globalTsFile}from"./globals.js";export{htmlAdminIndexFile}from"./html-admin-index.js";export{generateHtmlIndexFile}from"./html-index.js";export{generateI18nIndexFile}from"./i18n-index.js";export{getLinguiRcFile}from"./lingui-rc.js";export{generateNvmrc,generatePackageJson}from"./package-json.js";export{generatePhoenixConfigFile}from"./phoenix-config.js";export{prettierFile}from"./prettier.js";export{prettierignoreFile}from"./prettierignore.js";export{generateReadme}from"./readme.js";export{robotsTxtContent}from"./robots-txt.js";export{generateApplicationYaml,generateModelYaml}from"./spec-application.js";export{tsconfigFile}from"./tsconfig.js";export{generateWebhookBuildersFile}from"./webhook-builders.js";export{webhookImplementationFile}from"./webhook-implementation.js";export{webhookIndexFile}from"./webhook.index.js";
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import{fileHeader as e}from"./file-header.js";import{
|
|
1
|
+
import{fileHeader as e}from"./file-header.js";import{generateModuleEntries as o,generateModuleList as r,getImportNames as i}from"./generator-shared.js";export const generateWebhookBuildersFile=(a,t=[])=>{let l=a.useClerk?` clerk: {
|
|
2
2
|
apiKey: phx.webhooksEnv.CLERK_API_KEY,
|
|
3
3
|
authorizedParties: [phx.webhooksEnv.FRONTEND_URL, phx.webhooksEnv.RESOURCES_URL],
|
|
4
4
|
jwtSecret: phx.webhooksEnv.JWT_SECRET_BASE64,
|
|
5
5
|
oauthClientId: phx.webhooksEnv.OAUTH_PROVIDER_CLIENT_ID,
|
|
6
6
|
oauthClientSecret: phx.webhooksEnv.OAUTH_PROVIDER_CLIENT_SECRET,
|
|
7
7
|
oauthProviderBaseUrl: phx.webhooksEnv.OAUTH_PROVIDER_BASE_URL,
|
|
8
|
-
},`:"",
|
|
9
|
-
.withHandlers(${
|
|
8
|
+
},`:"",h=i(t,"handlers"),n=t.map((e,o)=>{let r=e.replace(/\.tsx?$/,"");return`import ${h[o]} from '../../src/${r}.js'`}).join("\n"),s=t.length>0,u=r(o(t,"handlers")),d=s?`
|
|
9
|
+
.withHandlers(${u})`:"";return`${e}
|
|
10
10
|
import { createDomainWebhook } from '@salsita-ai/sdk/webhook'
|
|
11
11
|
|
|
12
12
|
import { configuratorBuilder } from '../domain.js'
|
|
13
13
|
import { createI18n } from '../i18n.js'
|
|
14
|
-
${
|
|
15
|
-
${
|
|
14
|
+
${n?`
|
|
15
|
+
${n}
|
|
16
16
|
`:""}
|
|
17
17
|
const webhookConfiguratorBuilder = configuratorBuilder
|
|
18
18
|
.withDefaultEnvs({
|
|
19
19
|
isDev: phx.webhooksEnv.IS_DEV,
|
|
20
|
-
})${
|
|
20
|
+
})${d}
|
|
21
21
|
|
|
22
22
|
export const {
|
|
23
23
|
authHandlerBuilder,
|
|
@@ -30,7 +30,7 @@ export const {
|
|
|
30
30
|
} = createDomainWebhook({
|
|
31
31
|
configuratorBuilder: webhookConfiguratorBuilder,
|
|
32
32
|
createI18n,
|
|
33
|
-
${
|
|
33
|
+
${l}
|
|
34
34
|
})
|
|
35
35
|
|
|
36
36
|
// @ts-ignore - Initialize the globals
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{existsSync as e,lstatSync as i,readFileSync as t,readdirSync as r,rmSync as o,unlinkSync as s}from"fs";import{join as n}from"path";import{format as
|
|
1
|
+
import{existsSync as e,lstatSync as i,readFileSync as t,readdirSync as r,rmSync as o,unlinkSync as s}from"fs";import{join as n}from"path";import{format as a}from"prettier";import{prettierrc as l}from"@salsita-ai/common/prettier";import{GeneratedApplication as c,GeneratedApplicationFile as p,RuntimeReferenceStore as g,buildPhoenixDefinitions as f,createContentDiffTracker as h,generateApplicationCode as m,parseApplicationFiles as d}from"#package/application-spec";import{getAllPhxDefinitions as u}from"#package/domain";import{compileWithSwc as S}from"../services/swc.js";import{syncChangedFiles as b}from"../utils/index.js";import{readApplicationFiles as w}from"./application-spec-file-reader.js";import{cleanStaleAgentSkills as j,removeProjectFiles as v}from"./clean-project-files.js";import{swcEvalExpressionParser as D,swcModuleAnalyzer as F}from"./swc-module-analyzer.js";let x=".phoenix",y=`${x}/`,P=async e=>{if(e.binary||!1===e.format)return e;try{let i=await a(e.content,{...l,filepath:e.path});return p(e.path,i,{binary:e.binary,format:e.format})}catch{return e}},k=async e=>{let[i,t,r]=await Promise.all([Promise.all(e.generatedProjectFiles.map(P)),Promise.all(e.initialProjectFiles.map(P)),Promise.all(e.prettierFiles.map(P))]);return c({files:e.files,generatedProjectFiles:i,initialProjectFiles:t,prettierFiles:r,removedProjectFiles:e.removedProjectFiles})};export class ApplicationSpecBuilder{contentDiff;referenceStore;config;logger;phxDefinitions;constructor(e){this.config=e,this.logger=e.logger,this.referenceStore=new g,this.contentDiff=h({readDiskContent:this.readDiskContent}),this.phxDefinitions=f(u())}async build(e){let i=e?.parsingContext,t=e?.compile??!0;e?.force&&this.referenceStore.clear();let r=i?.startSpan("readFiles","build","application-spec-builder.ts"),o=e?.rawProjectFiles??await w({envs:{}});r?.();let s=d({rawProjectFiles:o,phxDefinitions:this.phxDefinitions},{analyzer:F,evalExpressionParser:D,referenceStore:this.referenceStore,logger:this.logger,parsingContext:i});if(!s.ok)return{ok:!1,rawProjectFiles:o,errors:s.errors,diagnostics:s.diagnostics,metrics:s.metrics,counts:s.counts};let{applicationSpec:n,categorizedFiles:a,rawMockTemplates:l}=s.value,c=i?.startSpan("generateCode","build","application-spec-builder.ts"),p=m({applicationSpec:n,categorizedFiles:a,phxDefinitions:this.phxDefinitions,sdkVersion:this.config.sdkVersion,cliUseWorkspace:this.config.cliUseWorkspace,name:this.config.name,description:this.config.description,projectSlug:this.config.projectSlug,environmentSlug:this.config.environmentSlug,enableEditor:this.config.enableEditor,inlineTemplates:this.config.inlineTemplates,rawMockTemplates:l});c?.();let g=i?.startSpan("cleanStaleFiles","build","application-spec-builder.ts"),f=new Set(p.files.map(e=>e.path));this.cleanStaleGeneratedFiles(f),v(p.removedProjectFiles,{logger:this.logger}),j(new Set(p.generatedProjectFiles.map(e=>e.path)),{logger:this.logger}),g?.();let h=i?.startSpan("contentDiff","build","application-spec-builder.ts"),u=await k(p),S=this.contentDiff.getChangedApplicationFiles(u,{generatedFilesPathPrefix:y,force:e?.force}),x=S.changedGeneratedFiles;h?.(),x.length>0?this.logger.info(` ${x.length}/${p.files.length} generated files changed`):this.logger.info(" No generated files changed");let P=S.filesToWrite.length-x.length;P>0&&this.logger.info(` ${P} project files changed`);let C=i?.startSpan("writeFiles","build","application-spec-builder.ts");return await b(S.filesToWrite,{logger:this.logger,skipChecksum:!0}),C?.(),t&&await this.compile(i),{ok:!0,application:s.value,changedFiles:x,diagnostics:s.diagnostics,metrics:s.metrics,counts:s.counts}}async compile(e){let i=e?.startSpan("swcCompile(src)","build","application-spec-builder.ts");await S({sourceDir:"src",outDir:`./${x}/.swc/src`},{logger:this.logger}),i?.();let t=e?.startSpan("swcCompile(.phoenix)","build","application-spec-builder.ts");await S({sourceDir:x,outDir:`./${x}/.swc/${x}`},{logger:this.logger}),t?.()}readDiskContent=i=>{try{if(e(i))return t(i,"utf-8")}catch{}};cleanStaleGeneratedFiles(t){let a=new Set(["public",".swc","dist","phoenix-dev.log","phoenix-dev.log.1","phoenix-dev.log.2","variants","variant-recovery.json"]);try{if(!e(x))return;for(let e of r(x)){if(a.has(e)||t.has(e))continue;let r=n(x,e);try{let e=i(r);if(e.isSymbolicLink())continue;e.isDirectory()?o(r,{recursive:!0}):s(r),this.logger.debug(` Removed stale: ${r}`)}catch{}}}catch{}}}
|
|
@@ -17,10 +17,11 @@ interface DeploymentData {
|
|
|
17
17
|
readonly embeddings: undefined;
|
|
18
18
|
readonly chat: undefined;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
* from the `assistant` spec section, with its instructions and AI settings. `undefined` without one.
|
|
20
|
+
* Whether the deployment webhook supplies assistant setup from the resolved spec.
|
|
22
21
|
*/
|
|
23
|
-
readonly assistant:
|
|
22
|
+
readonly assistant: boolean;
|
|
23
|
+
/** Generated locally for prepare-command diagnostics; never sent to the server. */
|
|
24
|
+
readonly assistantSetup: DeploymentAssistant | undefined;
|
|
24
25
|
readonly assets: {
|
|
25
26
|
readonly privateFilePaths: readonly string[];
|
|
26
27
|
readonly publicFilePaths: readonly string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RuntimeReferenceStore as e,buildPhoenixDefinitions as a,parseApplicationFiles as s}from"#package/application-spec";import{getAllPhxDefinitions as
|
|
2
|
-
${
|
|
1
|
+
import{RuntimeReferenceStore as e,buildPhoenixDefinitions as a,parseApplicationFiles as s}from"#package/application-spec";import{generateAssistantPrompt as i,getAllPhxDefinitions as t}from"#package/domain";import{readApplicationFiles as o}from"./application-spec-file-reader.js";import{readProjectAssets as r}from"./read-project-assets.js";import{swcEvalExpressionParser as n,swcModuleAnalyzer as l}from"./swc-module-analyzer.js";export const resolveApplicationSpecDeploymentData=async p=>{let{skipUpload:c,logger:m}=p,u=s({rawProjectFiles:await o({envs:{}}),phxDefinitions:a(t())},{analyzer:l,evalExpressionParser:n,referenceStore:new e,logger:m});if(!u.ok)throw Error(`Failed to parse application spec:
|
|
2
|
+
${u.errors.map(e=>` [${e.code}] ${e.message}`).join("\n")}`);let{configurator:d,admin:h}=u.value.applicationSpec,{configurationSchema:v}=d,f=h.configurationSchema,S=await r(),g=[],F=[],b=[],A=[];c||(g=S.privateAssetFiles,F=S.publicAssetFiles,b=S.privateAssetFilesFullPaths,A=S.publicAssetFilesFullPaths,m.debug(`Scanned assets: ${g.length} private files, ${F.length} public files`));let{appMetadata:j,infra:w}=u.value.applicationSpec,{assistant:k,assistantServerSettings:D}=d;return{schema:{...v.schema},schemaVersion:v.version,adminSchema:{...f.schema},adminSchemaVersion:f.version,applicationVersion:j.applicationVersion,publishedDataHash:d.dataSchemas.publishedDataHash,useAuthHook:j.useAuthHook,aclCanCreate:w.acl.canCreate,embeddings:void 0,chat:void 0,assistant:null!==k&&null!==D,assistantSetup:k&&D?{sdl:k.sdl,prompt:i(k),instructions:D.instructions??void 0,ai:D.ai}:void 0,assets:{privateFilePaths:g,publicFilePaths:F,privateFilesFullPaths:b,publicFilesFullPaths:A}}};
|