create-auto-app 0.2.3 → 0.8.4
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/README.md +197 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/templates/.gitkeep +0 -0
- package/templates/shopping-app/.context/schema.json +389 -218
- package/templates/shopping-app/.context/server/.context/auto-ia-scheme.json +79 -0
- package/templates/shopping-app/.context/server/server/package.json +26 -0
- package/templates/shopping-app/.context/server/server/scripts/generate-schema.ts +34 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/commands.ts +8 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/decide.specs.ts +46 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/decide.ts +33 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/events.ts +10 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/evolve.ts +28 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/handle.ts +24 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/mutation.resolver.ts +25 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/register.ts +7 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/accepts-items-and-adds-to-their-cart/state.ts +47 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session/react.specs.ts +51 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session/react.ts +43 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session/register.ts +24 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session-/react.specs.ts +51 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session-/react.ts +43 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/creates-a-chat-session-/register.ts +24 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/commands.ts +8 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/decide.specs.ts +38 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/decide.ts +33 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/events.ts +10 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/evolve.ts +28 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/handle.ts +24 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/mutation.resolver.ts +25 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/register.ts +7 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/enters-shopping-criteria-into-assistant/state.ts +47 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/commands.ts +8 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/decide.specs.ts +101 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/decide.ts +42 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/events.ts +9 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/evolve.ts +28 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/handle.ts +52 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/mutation.resolver.ts +25 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/register.ts +7 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria/state.ts +47 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/commands.ts +8 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/decide.specs.ts +101 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/decide.ts +43 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/events.ts +9 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/evolve.ts +28 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/handle.ts +52 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/mutation.resolver.ts +25 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/register.ts +7 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/selects-items-relevant-to-the-shopping-criteria-/state.ts +47 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/views-suggested-items/projection.specs.ts +56 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/views-suggested-items/projection.ts +24 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/views-suggested-items/query.resolver.ts +56 -0
- package/templates/shopping-app/.context/server/server/src/domain/flows/seasonal-assistant/views-suggested-items/state.ts +4 -0
- package/templates/shopping-app/.context/server/server/src/domain/shared/ReadModel.ts +26 -0
- package/templates/shopping-app/{server/src/domain/shared/index.d.ts → .context/server/server/src/domain/shared/index.ts} +0 -1
- package/templates/shopping-app/{server/src/domain/shared/reactorSpecification.js → .context/server/server/src/domain/shared/reactorSpecification.ts} +116 -22
- package/templates/shopping-app/.context/server/server/src/domain/shared/sendCommand.ts +21 -0
- package/templates/shopping-app/{server/src/domain/shared/types.d.ts → .context/server/server/src/domain/shared/types.ts} +17 -5
- package/templates/shopping-app/.context/server/server/src/server.ts +43 -0
- package/templates/shopping-app/{server/src/utils/index.d.ts → .context/server/server/src/utils/index.ts} +0 -1
- package/templates/shopping-app/{server/src/utils/loadProjections.js → .context/server/server/src/utils/loadProjections.ts} +11 -6
- package/templates/shopping-app/.context/server/server/src/utils/loadRegisterFiles.ts +41 -0
- package/templates/shopping-app/{server/src/utils/loadResolvers.js → .context/server/server/src/utils/loadResolvers.ts} +16 -7
- package/templates/shopping-app/.context/server/server/tsconfig.json +13 -0
- package/templates/shopping-app/.context/server/server/vitest.config.ts +7 -0
- package/templates/shopping-app/auto.config.ts +78 -45
- package/templates/shopping-app/client/package.json +4 -4
- package/templates/shopping-app/client/src/App.tsx +13 -13
- package/templates/shopping-app/client/src/components/molecules/QuantitySelector.tsx +4 -4
- package/templates/shopping-app/client/src/components/molecules/ShoppingCriteriaForm.tsx +4 -4
- package/templates/shopping-app/client/src/components/molecules/SuggestedItemCard.tsx +6 -6
- package/templates/shopping-app/client/src/components/organisms/AssistantChatInterface.tsx +3 -3
- package/templates/shopping-app/client/src/components/organisms/PageHeader.tsx +2 -3
- package/templates/shopping-app/client/src/components/organisms/SuggestedItemsList.tsx +3 -3
- package/templates/shopping-app/client/src/index.css +10 -14
- package/templates/shopping-app/client/src/pages/AssistantChatPage.tsx +4 -4
- package/templates/shopping-app/client/src/pages/SuggestedItemsPage.tsx +4 -4
- package/templates/shopping-app/example-integrations/ai-chat-completion/package.json +5 -6
- package/templates/shopping-app/example-integrations/ai-chat-completion/src/ai-integration.ts +2 -2
- package/templates/shopping-app/example-integrations/cart/package.json +5 -6
- package/templates/shopping-app/example-integrations/cart-api/package.json +3 -3
- package/templates/shopping-app/example-integrations/product-catalogue/package.json +5 -5
- package/templates/shopping-app/example-integrations/product-catalogue/src/product-catalogue-integration.ts +3 -128
- package/templates/shopping-app/example-integrations/product-catalogue-api/package.json +3 -3
- package/templates/shopping-app/flows/shopping-assistant.flow.ts +195 -196
- package/templates/shopping-app/package.json +16 -11
- package/templates/shopping-app/server/package.json +4 -4
- package/templates/shopping-app/server/src/integrations/ai-integration.ts +2 -2
- package/templates/shopping-app/tsconfig.json +2 -2
- package/templates/shopping-app/.env +0 -8
- package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-build.log +0 -4
- package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-format.log +0 -12
- package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-lint.log +0 -4
- package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-test.log +0 -12
- package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-type-check.log +0 -5
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.d.ts +0 -23
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.js +0 -41
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.js.map +0 -1
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/index.d.ts +0 -2
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/index.js +0 -2
- package/templates/shopping-app/example-integrations/ai-chat-completion/dist/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/eslint +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/jiti +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/msw +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/tsc +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/tsserver +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/vite +0 -21
- package/templates/shopping-app/example-integrations/ai-chat-completion/node_modules/.bin/vitest +0 -21
- package/templates/shopping-app/example-integrations/cart/.turbo/turbo-build.log +0 -4
- package/templates/shopping-app/example-integrations/cart/.turbo/turbo-format.log +0 -12
- package/templates/shopping-app/example-integrations/cart/.turbo/turbo-lint.log +0 -5
- package/templates/shopping-app/example-integrations/cart/.turbo/turbo-test.log +0 -12
- package/templates/shopping-app/example-integrations/cart/.turbo/turbo-type-check.log +0 -5
- package/templates/shopping-app/example-integrations/cart/dist/cart-integration.d.ts +0 -30
- package/templates/shopping-app/example-integrations/cart/dist/cart-integration.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/cart-integration.js +0 -134
- package/templates/shopping-app/example-integrations/cart/dist/cart-integration.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/client.gen.d.ts +0 -3
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/client.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/client.gen.js +0 -149
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/client.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/index.d.ts +0 -8
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/index.js +0 -6
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/types.gen.d.ts +0 -123
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/utils.gen.d.ts +0 -46
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/utils.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/utils.gen.js +0 -285
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client/utils.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client.gen.d.ts +0 -13
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client.gen.js +0 -6
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/client.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/auth.gen.d.ts +0 -19
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/auth.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/auth.gen.js +0 -15
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/auth.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/bodySerializer.gen.d.ts +0 -18
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/bodySerializer.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/bodySerializer.gen.js +0 -58
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/bodySerializer.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/params.gen.d.ts +0 -34
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/params.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/params.gen.js +0 -89
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/params.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/pathSerializer.gen.d.ts +0 -34
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/pathSerializer.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/pathSerializer.gen.js +0 -115
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/pathSerializer.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/types.gen.d.ts +0 -79
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/core/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/index.d.ts +0 -2
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/index.js +0 -3
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/types.gen.d.ts +0 -158
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/zod.gen.d.ts +0 -382
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/zod.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/zod.gen.js +0 -68
- package/templates/shopping-app/example-integrations/cart/dist/generated/cart/zod.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/index.d.ts +0 -2
- package/templates/shopping-app/example-integrations/cart/dist/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart/dist/index.js +0 -2
- package/templates/shopping-app/example-integrations/cart/dist/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/eslint +0 -21
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/jiti +0 -21
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/msw +0 -21
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/tsc +0 -21
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/tsserver +0 -21
- package/templates/shopping-app/example-integrations/cart/node_modules/.bin/vitest +0 -21
- package/templates/shopping-app/example-integrations/cart-api/.turbo/turbo-build.log +0 -4
- package/templates/shopping-app/example-integrations/cart-api/.turbo/turbo-format.log +0 -10
- package/templates/shopping-app/example-integrations/cart-api/.turbo/turbo-lint.log +0 -4
- package/templates/shopping-app/example-integrations/cart-api/.turbo/turbo-test.log +0 -12
- package/templates/shopping-app/example-integrations/cart-api/.turbo/turbo-type-check.log +0 -4
- package/templates/shopping-app/example-integrations/cart-api/dist/data/cart.d.ts +0 -18
- package/templates/shopping-app/example-integrations/cart-api/dist/data/cart.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/dist/data/cart.js +0 -28
- package/templates/shopping-app/example-integrations/cart-api/dist/data/cart.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/dist/index.d.ts +0 -4
- package/templates/shopping-app/example-integrations/cart-api/dist/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/dist/index.js +0 -49
- package/templates/shopping-app/example-integrations/cart-api/dist/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/dist/routes/cart.d.ts +0 -4
- package/templates/shopping-app/example-integrations/cart-api/dist/routes/cart.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/dist/routes/cart.js +0 -261
- package/templates/shopping-app/example-integrations/cart-api/dist/routes/cart.js.map +0 -1
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/nodemon +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/swagger-jsdoc +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-node +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-node-cwd +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-node-esm +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-node-script +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-node-transpile-only +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/ts-script +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/tsc +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/tsserver +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/tsx +0 -21
- package/templates/shopping-app/example-integrations/cart-api/node_modules/.bin/vitest +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/.turbo/turbo-build.log +0 -4
- package/templates/shopping-app/example-integrations/product-catalogue/.turbo/turbo-format.log +0 -12
- package/templates/shopping-app/example-integrations/product-catalogue/.turbo/turbo-lint.log +0 -5
- package/templates/shopping-app/example-integrations/product-catalogue/.turbo/turbo-test.log +0 -12
- package/templates/shopping-app/example-integrations/product-catalogue/.turbo/turbo-type-check.log +0 -5
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/client.gen.d.ts +0 -3
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/client.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/client.gen.js +0 -149
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/client.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/index.d.ts +0 -8
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/index.js +0 -6
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/types.gen.d.ts +0 -123
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/utils.gen.d.ts +0 -46
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/utils.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/utils.gen.js +0 -285
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client/utils.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client.gen.d.ts +0 -13
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client.gen.js +0 -6
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/client.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/auth.gen.d.ts +0 -19
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/auth.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/auth.gen.js +0 -15
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/auth.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/bodySerializer.gen.d.ts +0 -18
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/bodySerializer.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/bodySerializer.gen.js +0 -58
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/bodySerializer.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/params.gen.d.ts +0 -34
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/params.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/params.gen.js +0 -89
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/params.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/pathSerializer.gen.d.ts +0 -34
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/pathSerializer.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/pathSerializer.gen.js +0 -115
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/pathSerializer.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/types.gen.d.ts +0 -79
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/core/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/index.d.ts +0 -2
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/index.js +0 -3
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/types.gen.d.ts +0 -115
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/types.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/types.gen.js +0 -3
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/types.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/zod.gen.d.ts +0 -206
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/zod.gen.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/zod.gen.js +0 -53
- package/templates/shopping-app/example-integrations/product-catalogue/dist/generated/product-catalog/zod.gen.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/index.d.ts +0 -2
- package/templates/shopping-app/example-integrations/product-catalogue/dist/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/index.js +0 -2
- package/templates/shopping-app/example-integrations/product-catalogue/dist/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/product-catalogue-integration.d.ts +0 -32
- package/templates/shopping-app/example-integrations/product-catalogue/dist/product-catalogue-integration.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/dist/product-catalogue-integration.js +0 -163
- package/templates/shopping-app/example-integrations/product-catalogue/dist/product-catalogue-integration.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/eslint +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/jiti +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/msw +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/tsc +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/tsserver +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue/node_modules/.bin/vitest +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/.turbo/turbo-build.log +0 -4
- package/templates/shopping-app/example-integrations/product-catalogue-api/.turbo/turbo-format.log +0 -10
- package/templates/shopping-app/example-integrations/product-catalogue-api/.turbo/turbo-lint.log +0 -5
- package/templates/shopping-app/example-integrations/product-catalogue-api/.turbo/turbo-test.log +0 -13
- package/templates/shopping-app/example-integrations/product-catalogue-api/.turbo/turbo-type-check.log +0 -5
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/data/products.d.ts +0 -10
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/data/products.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/data/products.js +0 -75
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/data/products.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/index.d.ts +0 -4
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/index.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/index.js +0 -49
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/index.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/routes/products.d.ts +0 -4
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/routes/products.d.ts.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/routes/products.js +0 -170
- package/templates/shopping-app/example-integrations/product-catalogue-api/dist/routes/products.js.map +0 -1
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/nodemon +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/swagger-jsdoc +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-node +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-node-cwd +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-node-esm +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-node-script +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-node-transpile-only +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/ts-script +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/tsc +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/tsserver +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/tsx +0 -21
- package/templates/shopping-app/example-integrations/product-catalogue-api/node_modules/.bin/vitest +0 -21
- package/templates/shopping-app/pnpm-workspace.yaml +0 -2
- package/templates/shopping-app/server/src/domain/shared/ReadModel.d.ts +0 -10
- package/templates/shopping-app/server/src/domain/shared/ReadModel.d.ts.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/ReadModel.js +0 -19
- package/templates/shopping-app/server/src/domain/shared/ReadModel.js.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/index.d.ts.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/index.js +0 -5
- package/templates/shopping-app/server/src/domain/shared/index.js.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/reactorSpecification.d.ts +0 -56
- package/templates/shopping-app/server/src/domain/shared/reactorSpecification.d.ts.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/reactorSpecification.js.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/sendCommand.d.ts +0 -7
- package/templates/shopping-app/server/src/domain/shared/sendCommand.d.ts.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/sendCommand.js +0 -16
- package/templates/shopping-app/server/src/domain/shared/sendCommand.js.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/types.d.ts.map +0 -1
- package/templates/shopping-app/server/src/domain/shared/types.js +0 -40
- package/templates/shopping-app/server/src/domain/shared/types.js.map +0 -1
- package/templates/shopping-app/server/src/utils/index.d.ts.map +0 -1
- package/templates/shopping-app/server/src/utils/index.js +0 -4
- package/templates/shopping-app/server/src/utils/index.js.map +0 -1
- package/templates/shopping-app/server/src/utils/loadProjections.d.ts +0 -3
- package/templates/shopping-app/server/src/utils/loadProjections.d.ts.map +0 -1
- package/templates/shopping-app/server/src/utils/loadProjections.js.map +0 -1
- package/templates/shopping-app/server/src/utils/loadRegisterFiles.d.ts +0 -6
- package/templates/shopping-app/server/src/utils/loadRegisterFiles.d.ts.map +0 -1
- package/templates/shopping-app/server/src/utils/loadRegisterFiles.js +0 -26
- package/templates/shopping-app/server/src/utils/loadRegisterFiles.js.map +0 -1
- package/templates/shopping-app/server/src/utils/loadResolvers.d.ts +0 -5
- package/templates/shopping-app/server/src/utils/loadResolvers.d.ts.map +0 -1
- package/templates/shopping-app/server/src/utils/loadResolvers.js.map +0 -1
|
@@ -3,11 +3,10 @@ import {
|
|
|
3
3
|
querySlice,
|
|
4
4
|
reactSlice,
|
|
5
5
|
flow,
|
|
6
|
-
createBuilders,
|
|
7
6
|
should,
|
|
8
|
-
given,
|
|
9
|
-
when,
|
|
10
7
|
specs,
|
|
8
|
+
rule,
|
|
9
|
+
example,
|
|
11
10
|
gql,
|
|
12
11
|
source,
|
|
13
12
|
data,
|
|
@@ -17,8 +16,7 @@ import {
|
|
|
17
16
|
type State,
|
|
18
17
|
} from '@auto-engineer/flow';
|
|
19
18
|
|
|
20
|
-
import { AI, ProductCatalog, type
|
|
21
|
-
|
|
19
|
+
import { AI, ProductCatalog, type Products } from '../server/src/integrations';
|
|
22
20
|
|
|
23
21
|
type ShoppingCriteriaEntered = Event<
|
|
24
22
|
'ShoppingCriteriaEntered',
|
|
@@ -78,13 +76,7 @@ type AddItemsToCart = Command<
|
|
|
78
76
|
}
|
|
79
77
|
>;
|
|
80
78
|
|
|
81
|
-
|
|
82
|
-
.events<ShoppingCriteriaEntered | ShoppingItemsSuggested | ChatCompleted | ItemsAddedToCart>()
|
|
83
|
-
.commands<EnterShoppingCriteria | SuggestShoppingItems | DoChat | AddItemsToCart>()
|
|
84
|
-
.state<{
|
|
85
|
-
Products: Products['data'];
|
|
86
|
-
SuggestedItems: SuggestedItems['data'];
|
|
87
|
-
}>();
|
|
79
|
+
// Using generic DSL instead of typed builders
|
|
88
80
|
|
|
89
81
|
flow('Seasonal Assistant', () => {
|
|
90
82
|
commandSlice('enters shopping criteria into assistant')
|
|
@@ -112,43 +104,49 @@ flow('Seasonal Assistant', () => {
|
|
|
112
104
|
.server(() => {
|
|
113
105
|
data([sink().event('ShoppingCriteriaEntered').toStream('shopping-session-${sessionId}')]);
|
|
114
106
|
specs('When shopper submits criteria, a shopping session is started', () => {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
rule('Valid criteria should start a shopping session', () => {
|
|
108
|
+
example('User submits shopping criteria for children')
|
|
109
|
+
.when<EnterShoppingCriteria>({
|
|
110
|
+
sessionId: 'shopper-123',
|
|
111
|
+
criteria:
|
|
112
|
+
'I need back-to-school items for my 7-year-old daughter who loves soccer and crafts, and my 12-year-old son who is into computers and Magic the Gathering.',
|
|
113
|
+
})
|
|
114
|
+
.then<ShoppingCriteriaEntered>([
|
|
115
|
+
{
|
|
116
|
+
sessionId: 'shopper-123',
|
|
117
|
+
criteria:
|
|
118
|
+
'I need back-to-school items for my 7-year-old daughter who loves soccer and crafts, and my 12-year-old son who is into computers and Magic the Gathering.',
|
|
119
|
+
timestamp: new Date(),
|
|
120
|
+
},
|
|
121
|
+
]);
|
|
122
|
+
});
|
|
129
123
|
});
|
|
130
124
|
});
|
|
131
125
|
|
|
132
|
-
reactSlice('creates a chat session
|
|
126
|
+
reactSlice('creates a chat session').server(() => {
|
|
133
127
|
specs('When shopping criteria are entered, request wishlist creation', () => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
128
|
+
rule('Shopping criteria should trigger item suggestion', () => {
|
|
129
|
+
example('Criteria entered triggers wishlist creation')
|
|
130
|
+
.when<ShoppingCriteriaEntered>([
|
|
131
|
+
{
|
|
132
|
+
sessionId: 'session-abc',
|
|
133
|
+
criteria:
|
|
134
|
+
'I need back-to-school items for my 7-year-old daughter who loves soccer and crafts, and my 12-year-old son who is into computers and Magic the Gathering.',
|
|
135
|
+
timestamp: new Date(),
|
|
136
|
+
},
|
|
137
|
+
])
|
|
138
|
+
.then<SuggestShoppingItems>([
|
|
139
|
+
{
|
|
140
|
+
sessionId: 'session-abc',
|
|
141
|
+
prompt:
|
|
142
|
+
'I need back-to-school items for my 7-year-old daughter who loves soccer and crafts, and my 12-year-old son who is into computers and Magic the Gathering.',
|
|
143
|
+
},
|
|
144
|
+
]);
|
|
145
|
+
});
|
|
148
146
|
});
|
|
149
147
|
});
|
|
150
148
|
|
|
151
|
-
commandSlice('selects items relevant to the shopping criteria
|
|
149
|
+
commandSlice('selects items relevant to the shopping criteria').server(() => {
|
|
152
150
|
data([
|
|
153
151
|
sink()
|
|
154
152
|
.command('SuggestShoppingItems')
|
|
@@ -161,82 +159,83 @@ flow('Seasonal Assistant', () => {
|
|
|
161
159
|
]);
|
|
162
160
|
|
|
163
161
|
specs('When chat is triggered, AI suggests items based on product catalog', () => {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
{
|
|
168
|
-
productId: 'prod-soccer-ball',
|
|
169
|
-
name: 'Super Soccer Ball',
|
|
170
|
-
category: 'Sports',
|
|
171
|
-
price: 10,
|
|
172
|
-
tags: ['soccer', 'sports'],
|
|
173
|
-
imageUrl: 'https://example.com/soccer-ball.jpg',
|
|
174
|
-
},
|
|
162
|
+
rule('AI should suggest relevant items from available products', () => {
|
|
163
|
+
example('Product catalog with matching items generates suggestions')
|
|
164
|
+
.given<Products>([
|
|
175
165
|
{
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
166
|
+
products: [
|
|
167
|
+
{
|
|
168
|
+
productId: 'prod-soccer-ball',
|
|
169
|
+
name: 'Super Soccer Ball',
|
|
170
|
+
category: 'Sports',
|
|
171
|
+
price: 10,
|
|
172
|
+
tags: ['soccer', 'sports'],
|
|
173
|
+
imageUrl: 'https://example.com/soccer-ball.jpg',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
productId: 'prod-craft-kit',
|
|
177
|
+
name: 'Deluxe Craft Kit',
|
|
178
|
+
category: 'Arts & Crafts',
|
|
179
|
+
price: 25,
|
|
180
|
+
tags: ['crafts', 'art', 'creative'],
|
|
181
|
+
imageUrl: 'https://example.com/craft-kit.jpg',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
productId: 'prod-laptop-bag',
|
|
185
|
+
name: 'Tech Laptop Backpack',
|
|
186
|
+
category: 'School Supplies',
|
|
187
|
+
price: 45,
|
|
188
|
+
tags: ['computers', 'tech', 'school'],
|
|
189
|
+
imageUrl: 'https://example.com/laptop-bag.jpg',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
productId: 'prod-mtg-starter',
|
|
193
|
+
name: 'Magic the Gathering Starter Set',
|
|
194
|
+
category: 'Games',
|
|
195
|
+
price: 30,
|
|
196
|
+
tags: ['magic', 'tcg', 'games'],
|
|
197
|
+
imageUrl: 'https://example.com/mtg-starter.jpg',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
182
200
|
},
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
name: 'Tech Laptop Backpack',
|
|
186
|
-
category: 'School Supplies',
|
|
187
|
-
price: 45,
|
|
188
|
-
tags: ['computers', 'tech', 'school'],
|
|
189
|
-
imageUrl: 'https://example.com/laptop-bag.jpg',
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
productId: 'prod-mtg-starter',
|
|
193
|
-
name: 'Magic the Gathering Starter Set',
|
|
194
|
-
category: 'Games',
|
|
195
|
-
price: 30,
|
|
196
|
-
tags: ['magic', 'tcg', 'games'],
|
|
197
|
-
imageUrl: 'https://example.com/mtg-starter.jpg',
|
|
198
|
-
},
|
|
199
|
-
],
|
|
200
|
-
}),
|
|
201
|
-
])
|
|
202
|
-
.when(
|
|
203
|
-
Commands.SuggestShoppingItems({
|
|
201
|
+
])
|
|
202
|
+
.when<SuggestShoppingItems>({
|
|
204
203
|
sessionId: 'session-abc',
|
|
205
204
|
prompt:
|
|
206
205
|
'I need back-to-school items for my 7-year-old daughter who loves soccer and crafts, and my 12-year-old son who is into computers and Magic the Gathering.',
|
|
207
|
-
})
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
206
|
+
})
|
|
207
|
+
.then<ShoppingItemsSuggested>([
|
|
208
|
+
{
|
|
209
|
+
sessionId: 'session-abc',
|
|
210
|
+
suggestedItems: [
|
|
211
|
+
{
|
|
212
|
+
productId: 'prod-soccer-ball',
|
|
213
|
+
name: 'Super Soccer Ball',
|
|
214
|
+
quantity: 1,
|
|
215
|
+
reason: 'Perfect for your daughter who loves soccer',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
productId: 'prod-craft-kit',
|
|
219
|
+
name: 'Deluxe Craft Kit',
|
|
220
|
+
quantity: 1,
|
|
221
|
+
reason: 'Great for creative activities and crafts',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
productId: 'prod-laptop-bag',
|
|
225
|
+
name: 'Tech Laptop Backpack',
|
|
226
|
+
quantity: 1,
|
|
227
|
+
reason: `Essential for your son's school computer needs`,
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
productId: 'prod-mtg-starter',
|
|
231
|
+
name: 'Magic the Gathering Starter Set',
|
|
232
|
+
quantity: 1,
|
|
233
|
+
reason: 'Ideal starter set for Magic the Gathering enthusiasts',
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
]);
|
|
238
|
+
});
|
|
240
239
|
});
|
|
241
240
|
});
|
|
242
241
|
|
|
@@ -265,67 +264,67 @@ flow('Seasonal Assistant', () => {
|
|
|
265
264
|
data([source().state('SuggestedItems').fromProjection('SuggestedItemsProjection', 'sessionId')]);
|
|
266
265
|
|
|
267
266
|
specs('Suggested items are available for viewing', () => {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
267
|
+
rule('Items should be available for viewing after suggestion', () => {
|
|
268
|
+
example('Item becomes available after AI suggestion event')
|
|
269
|
+
.when<ShoppingItemsSuggested>({
|
|
270
|
+
sessionId: 'session-abc',
|
|
271
|
+
suggestedItems: [
|
|
272
|
+
{
|
|
273
|
+
productId: 'prod-soccer-ball',
|
|
274
|
+
name: 'Super Soccer Ball',
|
|
275
|
+
quantity: 1,
|
|
276
|
+
reason: 'Perfect for your daughter who loves soccer',
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
productId: 'prod-craft-kit',
|
|
280
|
+
name: 'Deluxe Craft Kit',
|
|
281
|
+
quantity: 1,
|
|
282
|
+
reason: 'Great for creative activities and crafts',
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
productId: 'prod-laptop-bag',
|
|
286
|
+
name: 'Tech Laptop Backpack',
|
|
287
|
+
quantity: 1,
|
|
288
|
+
reason: `Essential for your son's school computer needs`,
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
productId: 'prod-mtg-starter',
|
|
292
|
+
name: 'Magic the Gathering Starter Set',
|
|
293
|
+
quantity: 1,
|
|
294
|
+
reason: 'Ideal starter set for Magic the Gathering enthusiasts',
|
|
295
|
+
},
|
|
296
|
+
],
|
|
297
|
+
})
|
|
298
|
+
.then<SuggestedItems>({
|
|
299
|
+
sessionId: 'session-abc',
|
|
300
|
+
items: [
|
|
301
|
+
{
|
|
302
|
+
productId: 'prod-soccer-ball',
|
|
303
|
+
name: 'Super Soccer Ball',
|
|
304
|
+
quantity: 1,
|
|
305
|
+
reason: 'Perfect for your daughter who loves soccer',
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
productId: 'prod-craft-kit',
|
|
309
|
+
name: 'Deluxe Craft Kit',
|
|
310
|
+
quantity: 1,
|
|
311
|
+
reason: 'Great for creative activities and crafts',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
productId: 'prod-laptop-bag',
|
|
315
|
+
name: 'Tech Laptop Backpack',
|
|
316
|
+
quantity: 1,
|
|
317
|
+
reason: `Essential for your son's school computer needs`,
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
productId: 'prod-mtg-starter',
|
|
321
|
+
name: 'Magic the Gathering Starter Set',
|
|
322
|
+
quantity: 1,
|
|
323
|
+
reason: 'Ideal starter set for Magic the Gathering enthusiasts',
|
|
324
|
+
},
|
|
325
|
+
],
|
|
326
|
+
});
|
|
327
|
+
});
|
|
329
328
|
});
|
|
330
329
|
});
|
|
331
330
|
|
|
@@ -340,28 +339,28 @@ flow('Seasonal Assistant', () => {
|
|
|
340
339
|
.server(() => {
|
|
341
340
|
data([sink().event('ItemsAddedToCart').toStream('shopping-session-${sessionId}')]);
|
|
342
341
|
specs('When shopper accepts items, they are added to cart', () => {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
342
|
+
rule('Accepted items should be added to the shopping cart', () => {
|
|
343
|
+
example('User selects all suggested items for cart')
|
|
344
|
+
.when<AddItemsToCart>({
|
|
345
|
+
sessionId: 'session-abc',
|
|
346
|
+
items: [
|
|
347
|
+
{ productId: 'prod-soccer-ball', quantity: 1 },
|
|
348
|
+
{ productId: 'prod-craft-kit', quantity: 1 },
|
|
349
|
+
{ productId: 'prod-laptop-bag', quantity: 1 },
|
|
350
|
+
{ productId: 'prod-mtg-starter', quantity: 1 },
|
|
351
|
+
],
|
|
352
|
+
})
|
|
353
|
+
.then<ItemsAddedToCart>({
|
|
354
|
+
sessionId: 'session-abc',
|
|
355
|
+
items: [
|
|
356
|
+
{ productId: 'prod-soccer-ball', quantity: 1 },
|
|
357
|
+
{ productId: 'prod-craft-kit', quantity: 1 },
|
|
358
|
+
{ productId: 'prod-laptop-bag', quantity: 1 },
|
|
359
|
+
{ productId: 'prod-mtg-starter', quantity: 1 },
|
|
360
|
+
],
|
|
361
|
+
timestamp: new Date(),
|
|
362
|
+
});
|
|
363
|
+
});
|
|
365
364
|
});
|
|
366
365
|
});
|
|
367
366
|
});
|
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shopping-assistant",
|
|
3
|
+
"private": true,
|
|
3
4
|
"type": "module",
|
|
4
5
|
"scripts": {
|
|
6
|
+
"auto": "auto",
|
|
5
7
|
"start": "dotenv -e .env -- pnpm --parallel start",
|
|
6
|
-
"build": "
|
|
8
|
+
"build": "tsc",
|
|
7
9
|
"start:ecommerce-site": "cd examples/ecommerce-site && pnpm start",
|
|
8
10
|
"start:product-api": "cd examples/product-catalogue-api && pnpm start",
|
|
9
11
|
"start:cart-api": "cd examples/cart-api && pnpm start",
|
|
10
12
|
"start:examples": "pnpm --parallel --filter @examples/* start 2>&1 | grep -E '(localhost|Local)' || true"
|
|
11
13
|
},
|
|
12
14
|
"dependencies": {
|
|
13
|
-
"@auto-engineer/
|
|
14
|
-
"@auto-engineer/design-system-importer": "
|
|
15
|
-
"@auto-engineer/flow": "
|
|
16
|
-
"@auto-engineer/frontend-checks": "
|
|
17
|
-
"@auto-engineer/frontend-
|
|
18
|
-
"@auto-engineer/frontend-
|
|
19
|
-
"@auto-engineer/information-architect": "
|
|
20
|
-
"@auto-engineer/
|
|
21
|
-
"@auto-engineer/server-
|
|
22
|
-
"@auto-engineer/server-
|
|
15
|
+
"@auto-engineer/cli": "workspace:*",
|
|
16
|
+
"@auto-engineer/design-system-importer": "workspace:*",
|
|
17
|
+
"@auto-engineer/flow": "workspace:*",
|
|
18
|
+
"@auto-engineer/frontend-checks": "workspace:*",
|
|
19
|
+
"@auto-engineer/frontend-generator-react-graphql": "workspace:*",
|
|
20
|
+
"@auto-engineer/frontend-implementer": "workspace:*",
|
|
21
|
+
"@auto-engineer/information-architect": "workspace:*",
|
|
22
|
+
"@auto-engineer/message-bus": "workspace:*",
|
|
23
|
+
"@auto-engineer/server-checks": "workspace:*",
|
|
24
|
+
"@auto-engineer/server-generator-apollo-emmett": "workspace:*",
|
|
25
|
+
"@auto-engineer/server-implementer": "workspace:*"
|
|
23
26
|
},
|
|
24
27
|
"devDependencies": {
|
|
28
|
+
"@types/node": "^24.3.1",
|
|
29
|
+
"chokidar": "^3.6.0",
|
|
25
30
|
"dotenv": "^16.4.5",
|
|
26
31
|
"dotenv-cli": "^9.0.0",
|
|
27
32
|
"tsx": "^3.12.7"
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "tsx --no-deprecation src/server.ts",
|
|
8
8
|
"type-check": "tsc --noEmit",
|
|
9
|
-
"test": "vitest run",
|
|
10
|
-
"dev": "tsx --no-deprecation src/server.ts"
|
|
9
|
+
"test": "vitest run --reporter=dot",
|
|
10
|
+
"dev": "tsx watch --no-deprecation src/server.ts"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@auto-engineer/ai-gateway": "
|
|
14
|
-
"@auto-engineer/flow": "
|
|
13
|
+
"@auto-engineer/ai-gateway": "workspace:*",
|
|
14
|
+
"@auto-engineer/flow": "workspace:*",
|
|
15
15
|
"axios": "^1.11.0",
|
|
16
16
|
"@event-driven-io/emmett": "^0.38.2",
|
|
17
17
|
"type-graphql": "^2.0.0-rc.2",
|
|
@@ -52,7 +52,7 @@ export const AI: Integration<'ai', Record<string, never>, AICommands> = {
|
|
|
52
52
|
const schema = getSchemaByName(schemaName);
|
|
53
53
|
|
|
54
54
|
if (schema) {
|
|
55
|
-
return await generateStructuredDataWithAI(fullPrompt,
|
|
55
|
+
return await generateStructuredDataWithAI(fullPrompt, {
|
|
56
56
|
schema: schema as z.ZodSchema<T>,
|
|
57
57
|
schemaName,
|
|
58
58
|
schemaDescription: `AI output matching schema '${schemaName}'`,
|
|
@@ -60,7 +60,7 @@ export const AI: Integration<'ai', Record<string, never>, AICommands> = {
|
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
const raw = await generateTextWithAI(fullPrompt,
|
|
63
|
+
const raw = await generateTextWithAI(fullPrompt, {
|
|
64
64
|
includeTools: true,
|
|
65
65
|
});
|
|
66
66
|
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"emitDecoratorMetadata": true,
|
|
8
8
|
"experimentalDecorators": true,
|
|
9
9
|
"outDir": "./dist",
|
|
10
|
-
"rootDir": "
|
|
10
|
+
"rootDir": ".",
|
|
11
11
|
"noEmit": false
|
|
12
12
|
},
|
|
13
|
-
"include": ["
|
|
13
|
+
"include": ["flows/**/*", "vitest.config.ts"],
|
|
14
14
|
"exclude": ["dist", "node_modules"]
|
|
15
15
|
}
|
package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-format.log
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
> @auto-engineer/ai-integration@0.6.1 format /Users/sam/WebstormProjects/top/auto-engineer/integrations/ai-chat-completion
|
|
4
|
-
> prettier --write "**/*.{js,ts,json,md,yml,yaml}" --ignore-path ../../.prettierignore
|
|
5
|
-
|
|
6
|
-
CHANGELOG.md[2K[1G[90mCHANGELOG.md[39m 25ms (unchanged)
|
|
7
|
-
eslint.config.ts[2K[1G[90meslint.config.ts[39m 27ms (unchanged)
|
|
8
|
-
package.json[2K[1G[90mpackage.json[39m 12ms (unchanged)
|
|
9
|
-
src/ai-integration.ts[2K[1G[90msrc/ai-integration.ts[39m 14ms (unchanged)
|
|
10
|
-
src/index.ts[2K[1G[90msrc/index.ts[39m 1ms (unchanged)
|
|
11
|
-
tsconfig.json[2K[1G[90mtsconfig.json[39m 1ms (unchanged)
|
|
12
|
-
tsconfig.test.json[2K[1G[90mtsconfig.test.json[39m 1ms (unchanged)
|
package/templates/shopping-app/example-integrations/ai-chat-completion/.turbo/turbo-test.log
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @auto-engineer/ai-integration@0.6.1 test /Users/sam/WebstormProjects/top/auto-engineer/integrations/ai-chat-completion
|
|
3
|
-
> vitest run
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
RUN v3.2.4 /Users/sam/WebstormProjects/top/auto-engineer/integrations/ai-chat-completion
|
|
7
|
-
|
|
8
|
-
No test files found, exiting with code 0
|
|
9
|
-
|
|
10
|
-
include: **/*.specs.{js,ts}
|
|
11
|
-
exclude: **/.tmp/**, **/node_modules/**, **/dist/**
|
|
12
|
-
|
package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Integration, Event, Command } from '@auto-engineer/flow';
|
|
2
|
-
export type ChatCompleted = Event<'ChatCompleted', {
|
|
3
|
-
sessionId: string;
|
|
4
|
-
suggestedItems: {
|
|
5
|
-
productId: string;
|
|
6
|
-
name: string;
|
|
7
|
-
quantity: number;
|
|
8
|
-
reason: string;
|
|
9
|
-
}[];
|
|
10
|
-
timestamp: Date;
|
|
11
|
-
}>;
|
|
12
|
-
export type DoChat = Command<'DoChat', {
|
|
13
|
-
sessionId: string;
|
|
14
|
-
prompt: string;
|
|
15
|
-
systemPrompt?: string;
|
|
16
|
-
schemaName?: string;
|
|
17
|
-
}>;
|
|
18
|
-
type AICommands = {
|
|
19
|
-
DoChat: <T>(command: DoChat) => Promise<T>;
|
|
20
|
-
};
|
|
21
|
-
export declare const AI: Integration<'ai', Record<string, never>, AICommands>;
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=ai-integration.d.ts.map
|
package/templates/shopping-app/example-integrations/ai-chat-completion/dist/ai-integration.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-integration.d.ts","sourceRoot":"","sources":["../src/ai-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AASlE,MAAM,MAAM,aAAa,GAAG,KAAK,CAC/B,eAAe,EACf;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxF,SAAS,EAAE,IAAI,CAAC;CACjB,CACF,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,CAC1B,QAAQ,EACR;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,CA2CnE,CAAC"}
|