@aipt/cli 0.1.0 → 0.1.13
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 +114 -5
- package/dist/application-runner.js +276 -0
- package/dist/application.js +254 -0
- package/dist/catalog/foundation.agent-chat-ui-consumer/1.0.0/assets/README.agent-chat-ui.md +5 -0
- package/dist/catalog/foundation.agent-chat-ui-consumer/1.0.0/release.json +29 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/package.json +19 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/AgentChatWorkbench.test.tsx +12 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/AgentChatWorkbench.tsx +27 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/index.ts +2 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/style.css +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/tooling/verify-bundle.mjs +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/tsconfig.build.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/tsconfig.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/assets/vite.config.ts +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.0.0/release.json +33 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/package.json +19 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/AgentChatWorkbench.test.tsx +12 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/AgentChatWorkbench.tsx +27 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/index.ts +2 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/style.css +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/tooling/verify-bundle.mjs +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/tsconfig.build.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/tsconfig.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/assets/vite.config.ts +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.1.0/release.json +39 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/package.json +65 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/AgentChatWorkbench.test.tsx +12 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/AgentChatWorkbench.tsx +27 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/index.ts +2 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/style.css +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/tooling/verify-bundle.mjs +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/tsconfig.build.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/tsconfig.json +1 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/assets/vite.config.ts +4 -0
- package/dist/catalog/foundation.agent-chat-workbench/1.2.0/release.json +39 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.0.0/assets/README.agent-state-sqlite.md +5 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.0.0/assets/src/agent-state.test.ts +8 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.0.0/assets/src/agent-state.ts +8 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.0.0/release.json +34 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.1.0/assets/README.agent-state-sqlite.md +5 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.1.0/assets/src/agent-state.test.ts +8 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.1.0/assets/src/agent-state.ts +8 -0
- package/dist/catalog/foundation.agent-state-sqlite/1.1.0/release.json +34 -0
- package/dist/catalog/foundation.agent-state-sqlite-registry-consumer/1.0.0/assets/README.agent-state-registry-consumer.md +5 -0
- package/dist/catalog/foundation.agent-state-sqlite-registry-consumer/1.0.0/release.json +38 -0
- package/dist/catalog/foundation.agent-state-sqlite-registry-consumer/1.1.0/assets/README.agent-state-registry-consumer.md +5 -0
- package/dist/catalog/foundation.agent-state-sqlite-registry-consumer/1.1.0/release.json +31 -0
- package/dist/catalog/foundation.agent-worker-skill-runtime/1.0.0/assets/README.agent-runtime.md +7 -0
- package/dist/catalog/foundation.agent-worker-skill-runtime/1.0.0/assets/src/agent-runtime.test.ts +19 -0
- package/dist/catalog/foundation.agent-worker-skill-runtime/1.0.0/assets/src/agent-runtime.ts +15 -0
- package/dist/catalog/foundation.agent-worker-skill-runtime/1.0.0/release.json +47 -0
- package/dist/catalog/foundation.ai-education-agent-example/1.0.0/assets/README.agent-example.md +5 -0
- package/dist/catalog/foundation.ai-education-agent-example/1.0.0/assets/app/agent-phase1/page.tsx +2 -0
- package/dist/catalog/foundation.ai-education-agent-example/1.0.0/assets/app/agent-phase1/workbench.test.tsx +5 -0
- package/dist/catalog/foundation.ai-education-agent-example/1.0.0/assets/app/agent-phase1/workbench.tsx +19 -0
- package/dist/catalog/foundation.ai-education-agent-example/1.0.0/release.json +21 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/README.agent-sqlite-example.md +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/app/agent-sqlite/contracts.ts +5 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/app/agent-sqlite/page.tsx +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/app/agent-sqlite/state.server.ts +7 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/app/agent-sqlite/workbench.test.tsx +7 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/assets/app/agent-sqlite/workbench.tsx +9 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.0.0/release.json +30 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/README.agent-stage5.md +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/contracts.ts +6 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/page.tsx +1 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/platform-proof.ts +8 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/state.server.ts +5 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/workbench.test.tsx +1 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/assets/app/agent-stage5/workbench.tsx +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.1.0/release.json +32 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/README.education-agent-intake.md +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/contracts.ts +8 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/page.tsx +3 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/platform-proof.ts +7 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/state.server.ts +8 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/workbench.test.tsx +7 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/assets/app/agent-intake/workbench.tsx +6 -0
- package/dist/catalog/foundation.ai-education-agent-sqlite-example/1.2.0/release.json +32 -0
- package/dist/catalog/foundation.ai-education-delegated-review-example/1.0.0/assets/README.ai-education-delegated-review.md +3 -0
- package/dist/catalog/foundation.ai-education-delegated-review-example/1.0.0/assets/app/ai-education-delegated-review/page.tsx +47 -0
- package/dist/catalog/foundation.ai-education-delegated-review-example/1.0.0/assets/src/delegated-review-fixture.test.ts +1 -0
- package/dist/catalog/foundation.ai-education-delegated-review-example/1.0.0/assets/src/delegated-review-fixture.ts +1 -0
- package/dist/catalog/foundation.ai-education-delegated-review-example/1.0.0/release.json +26 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.0.0/assets/README.ai-education-end-to-end-production.md +7 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.0.0/assets/app/ai-education-end-to-end-production/page.tsx +13 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.0.0/assets/src/education-production-lineage.test.ts +16 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.0.0/assets/src/education-production-lineage.ts +30 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.0.0/release.json +34 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.1.0/assets/README.ai-education-end-to-end-production.md +3 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.1.0/assets/app/ai-education-end-to-end-production/page.tsx +3 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.1.0/assets/src/education-production-lineage.test.ts +2 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.1.0/assets/src/education-production-lineage.ts +3 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.1.0/release.json +31 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.2.0/assets/README.ai-education-end-to-end-production.md +5 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.2.0/assets/app/ai-education-end-to-end-production/page.tsx +3 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.2.0/assets/src/education-production-lineage.test.ts +2 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.2.0/assets/src/education-production-lineage.ts +5 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.2.0/release.json +31 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.3.0/assets/README.ai-education-end-to-end-production.md +5 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.3.0/assets/app/ai-education-end-to-end-production/page.tsx +2 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.3.0/assets/src/education-production-journey.test.ts +2 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.3.0/assets/src/education-production-journey.ts +4 -0
- package/dist/catalog/foundation.ai-education-end-to-end-production-example/1.3.0/release.json +1 -0
- package/dist/catalog/foundation.ai-education-learning-media-authoring-example/1.0.0/assets/README.education-learning-media-authoring.md +3 -0
- package/dist/catalog/foundation.ai-education-learning-media-authoring-example/1.0.0/assets/app/education-learning-media-authoring/page.tsx +1 -0
- package/dist/catalog/foundation.ai-education-learning-media-authoring-example/1.0.0/assets/src/learning-media-fixture.test.ts +1 -0
- package/dist/catalog/foundation.ai-education-learning-media-authoring-example/1.0.0/assets/src/learning-media-fixture.ts +3 -0
- package/dist/catalog/foundation.ai-education-learning-media-authoring-example/1.0.0/release.json +26 -0
- package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/assets/README.ai-education-picturebook-courseware.md +5 -0
- package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/assets/app/ai-education-picturebook-courseware/page.tsx +1 -0
- package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/assets/src/picturebook-fixture.test.ts +1 -0
- package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/assets/src/picturebook-fixture.ts +4 -0
- package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/release.json +1 -0
- package/dist/catalog/foundation.ai-education-web-courseware-example/1.0.0/assets/README.ai-education-web-courseware.md +3 -0
- package/dist/catalog/foundation.ai-education-web-courseware-example/1.0.0/assets/app/ai-education-web-courseware/page.tsx +1 -0
- package/dist/catalog/foundation.ai-education-web-courseware-example/1.0.0/assets/src/courseware-fixture.test.ts +1 -0
- package/dist/catalog/foundation.ai-education-web-courseware-example/1.0.0/assets/src/courseware-fixture.ts +3 -0
- package/dist/catalog/foundation.ai-education-web-courseware-example/1.0.0/release.json +18 -0
- package/dist/catalog/foundation.ai-orchestration/1.0.0/assets/docs/engineering/ai-orchestration.md +3 -0
- package/dist/catalog/foundation.ai-orchestration/1.0.0/release.json +99 -0
- package/dist/catalog/foundation.api-contract-toolchain/1.0.0/assets/docs/engineering/api-contract.md +33 -0
- package/dist/catalog/foundation.api-contract-toolchain/1.0.0/assets/openapi-ts.config.ts +20 -0
- package/dist/catalog/foundation.api-contract-toolchain/1.0.0/assets/src/api/query-client.ts +29 -0
- package/dist/catalog/foundation.api-contract-toolchain/1.0.0/assets/src/api/runtime.ts +44 -0
- package/dist/catalog/foundation.api-contract-toolchain/1.0.0/release.json +122 -0
- package/dist/catalog/foundation.application-config-binding/1.0.0/assets/.dyyto/application-config-binding.json +4 -0
- package/dist/catalog/foundation.application-config-binding/1.0.0/assets/docs/engineering/application-config-binding.md +5 -0
- package/dist/catalog/foundation.application-config-binding/1.0.0/release.json +28 -0
- package/dist/catalog/foundation.artifact-delivery/1.0.0/assets/docs/engineering/artifact-delivery.md +3 -0
- package/dist/catalog/foundation.artifact-delivery/1.0.0/release.json +75 -0
- package/dist/catalog/foundation.artifact-runtime/1.0.0/assets/docs/engineering/artifact-runtime.md +3 -0
- package/dist/catalog/foundation.artifact-runtime/1.0.0/release.json +87 -0
- package/dist/catalog/foundation.capability-family-routing/1.0.0/assets/README.capability-family-routing.md +7 -0
- package/dist/catalog/foundation.capability-family-routing/1.0.0/assets/src/capability-family-routing.test.ts +10 -0
- package/dist/catalog/foundation.capability-family-routing/1.0.0/release.json +35 -0
- package/dist/catalog/foundation.environment-schema/1.0.0/assets/docs/engineering/environment.md +37 -0
- package/dist/catalog/foundation.environment-schema/1.0.0/assets/src/environment.ts +30 -0
- package/dist/catalog/foundation.environment-schema/1.0.0/release.json +75 -0
- package/dist/catalog/foundation.environment-schema/1.1.0/assets/.env.example +1 -0
- package/dist/catalog/foundation.environment-schema/1.1.0/assets/docs/engineering/environment.md +9 -0
- package/dist/catalog/foundation.environment-schema/1.1.0/release.json +25 -0
- package/dist/catalog/foundation.environment-schema/2.0.0/assets/config/application-config.json +4 -0
- package/dist/catalog/foundation.environment-schema/2.0.0/assets/docs/engineering/environment.md +33 -0
- package/dist/catalog/foundation.environment-schema/2.0.0/release.json +63 -0
- package/dist/catalog/foundation.managed-project-control/1.0.0/assets/docs/engineering/project-control.md +24 -0
- package/dist/catalog/foundation.managed-project-control/1.0.0/release.json +34 -0
- package/dist/catalog/foundation.managed-project-control/1.1.0/assets/docs/engineering/project-control.md +15 -0
- package/dist/catalog/foundation.managed-project-control/1.1.0/release.json +27 -0
- package/dist/catalog/foundation.managed-project-control/1.2.0/assets/docs/engineering/project-control.md +15 -0
- package/dist/catalog/foundation.managed-project-control/1.2.0/release.json +27 -0
- package/dist/catalog/foundation.managed-project-control/1.3.0/assets/docs/engineering/project-control.md +14 -0
- package/dist/catalog/foundation.managed-project-control/1.3.0/release.json +27 -0
- package/dist/catalog/foundation.media-production-infrastructure/1.0.0/assets/docs/engineering/media-production-infrastructure.md +3 -0
- package/dist/catalog/foundation.media-production-infrastructure/1.0.0/release.json +99 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/AGENTS.md +8 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/README.md +12 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/api/health/route.test.ts +9 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/api/health/route.ts +5 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/components/Counter.test.tsx +12 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/components/Counter.tsx +13 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/globals.css +20 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/layout.tsx +12 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/page.test.tsx +11 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/app/page.tsx +19 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/e2e/home.spec.ts +15 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/eslint.config.mjs +7 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/next-env.d.ts +6 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/next.config.ts +9 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/package.json +4 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/playwright.config.ts +16 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/pnpm-workspace.yaml +4 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/public/.gitkeep +1 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/tooling/package-standalone.mjs +15 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/tooling/verify-standalone.mjs +20 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/tsconfig.json +42 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/vitest.config.mts +12 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/release.json +42 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.1.0/assets/package.json +4 -0
- package/dist/catalog/foundation.nextjs-full-stack-application/1.1.0/release.json +21 -0
- package/dist/catalog/foundation.package-source-fixture/1.0.0/assets/README.runtime.md +1 -0
- package/dist/catalog/foundation.package-source-fixture/1.0.0/release.json +16 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/docs/engineering/page-authoring.md +27 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/csr-entry.tsx +6 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/load-document.ts +11 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/pages/about.json +26 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/pages/home.json +26 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/project.json +38 -0
- package/dist/catalog/foundation.page-authoring/1.0.0/release.json +146 -0
- package/dist/catalog/foundation.pro-search-table-page/1.0.0/assets/docs/engineering/pro-search-table.md +20 -0
- package/dist/catalog/foundation.pro-search-table-page/1.0.0/assets/search/operations-page.tsx +66 -0
- package/dist/catalog/foundation.pro-search-table-page/1.0.0/assets/search/search-main.tsx +15 -0
- package/dist/catalog/foundation.pro-search-table-page/1.0.0/assets/search.html +13 -0
- package/dist/catalog/foundation.pro-search-table-page/1.0.0/release.json +119 -0
- package/dist/catalog/foundation.pro-search-table-page/2.0.0/assets/docs/engineering/pro-search-table.md +20 -0
- package/dist/catalog/foundation.pro-search-table-page/2.0.0/assets/search/operations-page.tsx +66 -0
- package/dist/catalog/foundation.pro-search-table-page/2.0.0/assets/search/search-main.tsx +15 -0
- package/dist/catalog/foundation.pro-search-table-page/2.0.0/assets/search.html +13 -0
- package/dist/catalog/foundation.pro-search-table-page/2.0.0/release.json +153 -0
- package/dist/catalog/foundation.product-interaction-feedback/1.0.0/assets/docs/engineering/product-interaction-feedback.md +10 -0
- package/dist/catalog/foundation.product-interaction-feedback/1.0.0/release.json +68 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.0.0/assets/README.production-orchestration.md +3 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.0.0/assets/src/production-orchestration.test.ts +8 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.0.0/assets/src/production-orchestration.ts +7 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.0.0/release.json +33 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.1.0/assets/README.production-orchestration.md +3 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.1.0/assets/src/production-orchestration.test.ts +11 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.1.0/assets/src/production-orchestration.ts +4 -0
- package/dist/catalog/foundation.production-orchestration-contracts/1.1.0/release.json +29 -0
- package/dist/catalog/foundation.production-orchestration-registry-consumer/1.1.0/assets/README.production-orchestration-registry.md +5 -0
- package/dist/catalog/foundation.production-orchestration-registry-consumer/1.1.0/release.json +33 -0
- package/dist/catalog/foundation.production-orchestration-registry-consumer/1.2.0/assets/README.production-orchestration-registry.md +3 -0
- package/dist/catalog/foundation.production-orchestration-registry-consumer/1.2.0/release.json +33 -0
- package/dist/catalog/foundation.production-workbench/1.0.0/assets/docs/engineering/production-workbench.md +3 -0
- package/dist/catalog/foundation.production-workbench/1.0.0/release.json +74 -0
- package/dist/catalog/foundation.project-documentation/1.0.0/assets/docs/engineering/README.md +13 -0
- package/dist/catalog/foundation.project-documentation/1.0.0/release.json +37 -0
- package/dist/catalog/foundation.project-maintenance/1.0.0/assets/docs/engineering/README.md +5 -0
- package/dist/catalog/foundation.project-maintenance/1.0.0/release.json +39 -0
- package/dist/catalog/foundation.project-maintenance-console/1.0.0/assets/docs/engineering/project-maintenance-console.md +7 -0
- package/dist/catalog/foundation.project-maintenance-console/1.0.0/release.json +27 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/package.json +1 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/pnpm-workspace.yaml +1 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/Button.test.tsx +12 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/Button.tsx +8 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/index.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/style.css +14 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/tooling/verify-bundle.mjs +7 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/tsconfig.build.json +11 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/assets/vite.config.ts +12 -0
- package/dist/catalog/foundation.react-component-library/1.0.0/release.json +30 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/package.json +1 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/pnpm-lock.yaml +1327 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/pnpm-workspace.yaml +5 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/Button.test.tsx +12 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/Button.tsx +8 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/index.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/style.css +14 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/tooling/verify-bundle.mjs +7 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/tsconfig.build.json +11 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/assets/vite.config.ts +12 -0
- package/dist/catalog/foundation.react-component-library/1.1.0/release.json +125 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/package.json +4 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/pnpm-workspace.yaml +1 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/src/index.test.ts +8 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/src/index.ts +3 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/tsconfig.build.json +12 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.standalone-npm-package/1.1.0/release.json +29 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/package.json +4 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/pnpm-lock.yaml +727 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/pnpm-workspace.yaml +5 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/src/index.test.ts +8 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/src/index.ts +3 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/tsconfig.build.json +12 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.standalone-npm-package/1.2.0/release.json +82 -0
- package/dist/catalog/foundation.structured-knowledge-runtime/1.0.0/assets/README.structured-knowledge.md +3 -0
- package/dist/catalog/foundation.structured-knowledge-runtime/1.0.0/assets/src/structured-knowledge.test.ts +8 -0
- package/dist/catalog/foundation.structured-knowledge-runtime/1.0.0/assets/src/structured-knowledge.ts +8 -0
- package/dist/catalog/foundation.structured-knowledge-runtime/1.0.0/release.json +37 -0
- package/dist/catalog/foundation.visual-presentation-composition/1.0.0/assets/README.visual-presentation.md +3 -0
- package/dist/catalog/foundation.visual-presentation-composition/1.0.0/assets/app/visual-presentation/page.tsx +48 -0
- package/dist/catalog/foundation.visual-presentation-composition/1.0.0/assets/src/visual-presentation.test.ts +1 -0
- package/dist/catalog/foundation.visual-presentation-composition/1.0.0/assets/src/visual-presentation.ts +2 -0
- package/dist/catalog/foundation.visual-presentation-composition/1.0.0/release.json +26 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/__dyyto_dotfiles__/gitignore +13 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/app/_layout.tsx +5 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/app/index.tsx +25 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/app.json +14 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/expo-env.d.ts +3 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/package.json +4 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/src/app-config.test.ts +10 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/tooling/verify-expo-export.mjs +5 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/tsconfig.json +10 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/vitest.config.mts +5 -0
- package/dist/catalog/foundation.workspace-expo-application/1.0.0/release.json +42 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/package.json +4 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/src/app.test.ts +21 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/src/app.ts +14 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/src/index.test.ts +14 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/src/index.ts +53 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/tsconfig.build.json +12 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/assets/tsconfig.json +7 -0
- package/dist/catalog/foundation.workspace-node-application/1.1.0/release.json +19 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/assets/package.json +4 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/assets/src/index.test.ts +8 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/assets/src/index.ts +3 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/assets/tsconfig.build.json +12 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/assets/tsconfig.json +7 -0
- package/dist/catalog/foundation.workspace-npm-package/1.1.0/release.json +17 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/assets/package.json +4 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/assets/src/index.test.ts +8 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/assets/src/index.ts +3 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/assets/tsconfig.build.json +12 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/assets/tsconfig.json +7 -0
- package/dist/catalog/foundation.workspace-npm-package/1.2.0/release.json +17 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/package.json +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/Button.test.tsx +12 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/Button.tsx +8 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/index.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/style.css +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/tooling/verify-bundle.mjs +7 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/tsconfig.build.json +11 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/assets/vite.config.ts +12 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.0.0/release.json +24 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/package.json +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/Button.test.tsx +12 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/Button.tsx +8 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/index.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/style.css +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/tooling/verify-bundle.mjs +7 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/tsconfig.build.json +11 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/assets/vite.config.ts +12 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.1.0/release.json +38 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/package.json +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/Button.test.tsx +12 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/Button.tsx +8 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/index.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/style.css +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/styles.d.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/src/test/setup.ts +1 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/tooling/package-externals.d.mts +8 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/tooling/package-externals.mjs +16 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/tooling/verify-bundle.mjs +30 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/tsconfig.build.json +11 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/tsconfig.json +14 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/assets/vite.config.ts +15 -0
- package/dist/catalog/foundation.workspace-react-component-library/1.2.0/release.json +40 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/assets/apps/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/assets/package.json +13 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/assets/packages/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/assets/pnpm-workspace.yaml +3 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/assets/tsconfig.base.json +12 -0
- package/dist/catalog/foundation.workspace-root/1.2.0/release.json +17 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/apps/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/package.json +13 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/packages/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/pnpm-workspace.yaml +4 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/services/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/assets/tsconfig.base.json +12 -0
- package/dist/catalog/foundation.workspace-root/1.3.0/release.json +18 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/apps/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/package.json +15 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/packages/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/pnpm-workspace.yaml +4 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/services/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/assets/tsconfig.base.json +8 -0
- package/dist/catalog/foundation.workspace-root/1.4.0/release.json +18 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/apps/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/package.json +15 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/packages/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/pnpm-workspace.yaml +4 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/services/README.md +3 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/assets/tsconfig.base.json +8 -0
- package/dist/catalog/foundation.workspace-root/1.5.0/release.json +18 -0
- package/dist/chunk.js +49 -0
- package/dist/cli.js +10 -12026
- package/dist/contracts/dyyto-package-release-catalog.schema.json +36 -0
- package/dist/optional-runtime.js +47 -0
- package/dist/package-releases/aipt--cli/0.1.0/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.1/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.10/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.11/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.12/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.13/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.2/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.3/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.4/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.5/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.6/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.7/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.8/release.json +29 -0
- package/dist/package-releases/aipt--cli/0.1.9/release.json +29 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.0/release.json +33 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.1/release.json +33 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.2/release.json +33 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.3/release.json +33 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.4/release.json +33 -0
- package/dist/package-releases/aipt--platform-kernel/0.1.5/release.json +33 -0
- package/dist/recipes/ai-education-agent-phase1/1.0.0/recipe.json +18 -0
- package/dist/recipes/ai-education-agent-sqlite/1.0.0/recipe.json +20 -0
- package/dist/recipes/ai-education-agent-sqlite/1.1.0/recipe.json +20 -0
- package/dist/recipes/ai-education-delegated-review/1.0.0/recipe.json +14 -0
- package/dist/recipes/ai-education-end-to-end-production/1.0.0/recipe.json +22 -0
- package/dist/recipes/ai-education-end-to-end-production/1.1.0/recipe.json +22 -0
- package/dist/recipes/ai-education-end-to-end-production/1.2.0/recipe.json +22 -0
- package/dist/recipes/ai-education-end-to-end-production/1.3.0/recipe.json +1 -0
- package/dist/recipes/ai-education-picturebook-courseware/1.0.0/recipe.json +1 -0
- package/dist/recipes/ai-education-web-courseware/1.0.0/recipe.json +1 -0
- package/dist/recipes/capability-family-routing/1.0.0/recipe.json +14 -0
- package/dist/recipes/education-agent-intake/1.0.0/recipe.json +20 -0
- package/dist/recipes/education-knowledge-skill/1.0.0/recipe.json +14 -0
- package/dist/recipes/education-learning-media-authoring/1.0.0/recipe.json +22 -0
- package/dist/recipes/education-picturebook-courseware-authoring/1.0.0/recipe.json +38 -0
- package/dist/recipes/education-web-courseware-authoring/1.0.0/recipe.json +38 -0
- package/dist/recipes/generic-agent-chat/1.0.0/recipe.json +17 -0
- package/dist/recipes/visual-presentation-composition/1.0.0/recipe.json +14 -0
- package/dist/templates/template.expo-react-native-application/1.0.0/template.json +23 -0
- package/dist/templates/template.nextjs-full-stack-application/1.0.0/template.json +23 -0
- package/dist/templates/template.node-api-application/1.0.0/template.json +20 -0
- package/dist/templates/template.react-component-library/1.0.0/template.json +29 -0
- package/dist/templates/template.react-component-library/1.1.0/template.json +122 -0
- package/dist/templates/template.typescript-library/1.0.0/template.json +27 -0
- package/dist/templates/template.typescript-library/1.1.0/template.json +104 -0
- package/dist/templates/template.web-frontend-application/1.0.0/template.json +26 -0
- package/dist/templates/template.workspace-npm-package/1.0.0/template.json +31 -0
- package/dist/templates/template.workspace-react-component-library/1.0.0/template.json +33 -0
- package/dist/templates/template.workspace-react-component-library/1.1.0/template.json +33 -0
- package/dist/templates/template.workspace-react-component-library/1.2.0/template.json +33 -0
- package/dist/templates/template.workspace-root/1.0.0/template.json +23 -0
- package/dist/templates/template.workspace-root/1.1.0/template.json +23 -0
- package/dist/templates/template.workspace-root/1.2.0/template.json +19 -0
- package/package.json +34 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{applyCompilePlan,approveCompilePlan,compilePresentation,createDesignSystemRelease,createImageStyleRelease,createMediaObjectPlan,createTypographyPackRelease,presentationDigest,renderPresentationPage,verifyPresentation}from"@aipt/visual-presentation-composition";
|
|
2
|
+
export const storyBible={storyBibleId:"fixture.story-bible.fraction@1",learningTruth:"平均分后每份同样多,四份中的一份是四分之一。",character:{assetReleaseId:"fixture.character.xiaomao@1",name:"小猫米粒",clothing:"橙色围巾"},scene:{assetReleaseId:"fixture.scene.picnic@1",place:"虚构校园草地"},prop:{assetReleaseId:"fixture.prop.round-cake@1",name:"圆饼"},forbiddenStyles:["具体商业 IP","图片内正文文字"]}as const;
|
|
3
|
+
export function createPictureBookFixture(profile:{profileReleaseId:string;method:string}){const beats=["建立角色与世界","问题发生","尝试平均分","认知转折","表达四分之一","迁移与回顾"].map((title,index)=>({pageId:`spread-${index+1}`,role:index===0?"cover"as const:index===5?"end"as const:"content"as const,sequence:index+1,title,body:index===0?profile.method:`${storyBible.character.name}用${storyBible.prop.name}说明四分之一。`,characterAssetReleaseId:storyBible.character.assetReleaseId,sceneAssetReleaseId:storyBible.scene.assetReleaseId,propAssetReleaseId:storyBible.prop.assetReleaseId})),designSystem=createDesignSystemRelease({designSystemReleaseId:"fixture.picturebook.ds@1",tokens:{"--background":"#fff7e8","--foreground":"#29352f"}}),typography=createTypographyPackRelease({typographyPackReleaseId:"fixture.picturebook.font@1",fontFamilies:["Fixture CJK"],glyphRanges:["zh-Hans"],fallbackStack:["system-ui"],license:"fixture"}),imageStyle=createImageStyleRelease({imageStyleReleaseId:"fixture.picturebook.image@1",palette:["#fff7e8","#ef9a62","#78a98f"],constraints:["固定 Canonical Asset","禁止图片内正文文字"]}),layouts=beats.map(beat=>({schemaVersion:1 as const,layoutReleaseId:`fixture.picturebook.${beat.pageId}@1`,compatibleRoles:[beat.role],slots:["illustration","text-overlay"],maxCharacters:140,contentDigest:presentationDigest(beat.pageId)})),blueprints=beats.map((beat,index)=>({pageId:beat.pageId,role:beat.role,sequence:beat.sequence,layoutReleaseId:layouts[index]!.layoutReleaseId,title:beat.title,body:beat.body,mediaObjectIds:[`illustration-${index+1}`],iconIds:[],chartMarks:[],pageDefinitionDigest:presentationDigest(beat)})),plan=approveCompilePlan(compilePresentation({planId:`picturebook-${presentationDigest(profile).slice(7,19)}`,designSystem,typography,imageStyle,template:{schemaVersion:1,templateReleaseId:"fixture.picturebook.template@1",supportedRoles:["cover","content","end"],layoutReleaseIds:layouts.map(x=>x.layoutReleaseId),defaultDesignSystemReleaseId:designSystem.designSystemReleaseId,contentDigest:presentationDigest("template")},layouts,icons:{schemaVersion:1,iconManifestReleaseId:"fixture.picturebook.icons@1",provider:"lucide",iconIds:[],contentDigest:presentationDigest("icons")},chartRenderer:{schemaVersion:1,chartRendererReleaseId:"fixture.picturebook.chart@1",supportedMarks:[],network:false,contentDigest:presentationDigest("chart")},mediaPlan:createMediaObjectPlan({mediaPlanId:"fixture-picturebook-media",objects:beats.map((_,i)=>({mediaObjectId:`illustration-${i+1}`,kind:"illustration",source:"fixture",assetReleaseId:`fixture.illustration.${i+1}@1`}))}),blueprints})),lock=applyCompilePlan(plan,plan.planDigest,"2026-08-24T00:00:00.000Z"),artifacts=blueprints.map((blueprint,index)=>renderPresentationPage({blueprint,layout:layouts[index]!,binding:plan.binding,lock})),findings=verifyPresentation({blueprints,layouts,typography,artifacts});return{profile,storyBible,beats,plan,lock,artifacts,findings};}
|
|
4
|
+
export const fixtures=[createPictureBookFixture({profileReleaseId:"fixture.pedagogy.beijing-normal-math@1",method:"先操作、表达再反思"}),createPictureBookFixture({profileReleaseId:"fixture.pedagogy.people-education-math@1",method:"先示例、辨析再练习"})]as const;
|
package/dist/catalog/foundation.ai-education-picturebook-courseware-example/1.0.0/release.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schemaVersion":2,"capabilityId":"foundation.ai-education-picturebook-courseware-example","version":"1.0.0","consumerProfile":"any-project","kind":"engineering-feature","dependencies":{"profiles":["nextjs-full-stack-application"],"capabilities":["foundation.visual-presentation-composition"]},"compatibility":{"node":">=24.18.0 <25","pnpm":"11.21.0","typescript":"6.0.3"},"integration":{"title":"AI 教育绘本课件验收示例","purpose":"验证虚构 Story Bible 到跨页连续性和 Visual Compile/Renderer 的绘本闭环。","packages":[],"codeAssets":[{"sourcePath":"assets/README.ai-education-picturebook-courseware.md","targetPath":"README.ai-education-picturebook-courseware.md","ownership":"owned-file"},{"sourcePath":"assets/app/ai-education-picturebook-courseware/page.tsx","targetPath":"app/ai-education-picturebook-courseware/page.tsx","ownership":"owned-file"},{"sourcePath":"assets/src/picturebook-fixture.test.ts","targetPath":"src/picturebook-fixture.test.ts","ownership":"owned-file"},{"sourcePath":"assets/src/picturebook-fixture.ts","targetPath":"src/picturebook-fixture.ts","ownership":"owned-file"}]},"assets":[{"path":"app/ai-education-picturebook-courseware/page.tsx","ownership":"owned-file","digest":"sha256:208d72debc5f366dfdf48e9f1d997f122fc81e30b121831ad772dcc59f0cf6b4","mode":420},{"path":"README.ai-education-picturebook-courseware.md","ownership":"owned-file","digest":"sha256:59ca46cb84c4212b160a73aee9e611249a17cd0a9233b77c0a4415035898aa70","mode":420},{"path":"src/picturebook-fixture.test.ts","ownership":"owned-file","digest":"sha256:6671502c13205c5530a32355941b47398855a02f1ff1baa09f1a367f7e93d072","mode":420},{"path":"src/picturebook-fixture.ts","ownership":"owned-file","digest":"sha256:22760bc92b502e0f72ac1fcd45aafe8a4fc82c54fe86d094aea31ee4ecdcd2f8","mode":420}],"verifiers":[{"id":"capability.assets"},{"id":"typescript.typecheck"},{"id":"vitest.run"},{"id":"next.application-build"}],"exit":{"ownedAssets":["app/ai-education-picturebook-courseware/page.tsx","README.ai-education-picturebook-courseware.md","src/picturebook-fixture.test.ts","src/picturebook-fixture.ts"]},"availability":{"maturity":"candidate","visibility":"maintainers-only","sourceState":"local-artifact"},"packageSources":[],"integrity":"sha256:c0eea736cc3809ef17bf00b7a6d738b0b44ae5ced4b8a8ebfb367b8fb2167bd9"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fixtures}from"../../src/courseware-fixture";export default function Page(){return <main lang="zh-CN" style={{maxWidth:1000,margin:"40px auto",padding:24,fontFamily:"system-ui"}}><p>Fixture only · Fake provider · development candidate</p><h1>AI 教育标准网页课件验收</h1><p>教师确认教学范围和创作结果,不选择技术 Skill。</p><section style={{display:"grid",gridTemplateColumns:"repeat(auto-fit,minmax(280px,1fr))",gap:16}}>{fixtures.map(item=><article key={item.profile.profileReleaseId} style={{padding:20,border:"1px solid #ddd",borderRadius:14}}><h2>{item.profile.method}</h2><div dangerouslySetInnerHTML={{__html:item.artifact.html}}/><dl><dt>Compile Lock</dt><dd style={{overflowWrap:"anywhere"}}>{item.lock.lockDigest}</dd><dt>Verifier</dt><dd>通过,无阻断项</dd></dl></article>)}</section></main>}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{describe,expect,it}from"vitest";import{fixtures}from"./courseware-fixture";describe("虚构标准网页课件",()=>{it("同一平台入口消费两个教研 Profile",()=>{expect(fixtures).toHaveLength(2);expect(fixtures.every(item=>item.findings.length===0&&item.lock.state==="active")).toBe(true);expect(fixtures[0].artifact.contentDigest).not.toBe(fixtures[1].artifact.contentDigest);});});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{applyCompilePlan,approveCompilePlan,compilePresentation,createDesignSystemRelease,createImageStyleRelease,createMediaObjectPlan,createTypographyPackRelease,presentationDigest,renderPresentationPage,verifyPresentation}from"@aipt/visual-presentation-composition";
|
|
2
|
+
export function createCoursewareFixture(profile:{profileReleaseId:string;method:string}){const designSystem=createDesignSystemRelease({designSystemReleaseId:"fixture.courseware.ds@1",tokens:{"--background":"#f7f3ea","--foreground":"#192235"}}),typography=createTypographyPackRelease({typographyPackReleaseId:"fixture.courseware.font@1",fontFamilies:["Fixture CJK"],glyphRanges:["zh-Hans"],fallbackStack:["system-ui"],license:"fixture"}),imageStyle=createImageStyleRelease({imageStyleReleaseId:"fixture.courseware.image@1",palette:["#f7f3ea","#5b6fba"],constraints:["禁止图片内文字"]}),layout={schemaVersion:1 as const,layoutReleaseId:"fixture.courseware.cover@1",compatibleRoles:["cover"as const],slots:["title","body"],maxCharacters:160,contentDigest:presentationDigest("layout")},blueprint={pageId:"cover",role:"cover"as const,sequence:1,layoutReleaseId:layout.layoutReleaseId,title:"认识四分之一",body:profile.method,mediaObjectIds:[],iconIds:["sparkles"],chartMarks:[],pageDefinitionDigest:presentationDigest({profile:profile.profileReleaseId})},plan=approveCompilePlan(compilePresentation({planId:`courseware-${presentationDigest(profile).slice(7,19)}`,designSystem,typography,imageStyle,template:{schemaVersion:1,templateReleaseId:"fixture.courseware.template@1",supportedRoles:["cover"],layoutReleaseIds:[layout.layoutReleaseId],defaultDesignSystemReleaseId:designSystem.designSystemReleaseId,contentDigest:presentationDigest("template")},layouts:[layout],icons:{schemaVersion:1,iconManifestReleaseId:"fixture.courseware.icons@1",provider:"lucide",iconIds:["sparkles"],contentDigest:presentationDigest("icons")},chartRenderer:{schemaVersion:1,chartRendererReleaseId:"fixture.courseware.chart@1",supportedMarks:[],network:false,contentDigest:presentationDigest("chart")},mediaPlan:createMediaObjectPlan({mediaPlanId:"fixture-courseware-media",objects:[]}),blueprints:[blueprint]})),lock=applyCompilePlan(plan,plan.planDigest,"2026-08-24T00:00:00.000Z"),artifact=renderPresentationPage({blueprint,layout,binding:plan.binding,lock}),findings=verifyPresentation({blueprints:[blueprint],layouts:[layout],typography,artifacts:[artifact]});return{profile,plan,lock,artifact,findings};}
|
|
3
|
+
export const fixtures=[createCoursewareFixture({profileReleaseId:"fixture.pedagogy.beijing-normal-math@1",method:"操作、表达与反思"}),createCoursewareFixture({profileReleaseId:"fixture.pedagogy.people-education-math@1",method:"示例、辨析与练习"})]as const;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion":2,"capabilityId":"foundation.ai-education-web-courseware-example","version":"1.0.0","consumerProfile":"any-project","kind":"engineering-feature",
|
|
3
|
+
"dependencies":{"profiles":["nextjs-full-stack-application"],"capabilities":["foundation.visual-presentation-composition"]},
|
|
4
|
+
"compatibility":{"node":">=24.18.0 <25","pnpm":"11.21.0","typescript":"6.0.3"},
|
|
5
|
+
"integration":{"title":"AI 教育标准网页课件验收示例","purpose":"验证虚构 Creation Intake 到 Visual Compile/Renderer/Verifier 的课件闭环。","packages":[],"codeAssets":[
|
|
6
|
+
{"sourcePath":"assets/README.ai-education-web-courseware.md","targetPath":"README.ai-education-web-courseware.md","ownership":"owned-file"},
|
|
7
|
+
{"sourcePath":"assets/app/ai-education-web-courseware/page.tsx","targetPath":"app/ai-education-web-courseware/page.tsx","ownership":"owned-file"},
|
|
8
|
+
{"sourcePath":"assets/src/courseware-fixture.test.ts","targetPath":"src/courseware-fixture.test.ts","ownership":"owned-file"},
|
|
9
|
+
{"sourcePath":"assets/src/courseware-fixture.ts","targetPath":"src/courseware-fixture.ts","ownership":"owned-file"}]},
|
|
10
|
+
"assets":[
|
|
11
|
+
{"path":"app/ai-education-web-courseware/page.tsx","ownership":"owned-file","digest":"sha256:8742c7ae0f0e7adc07778e3c4d8711a979a16a88654ff8dd3899830bc6806874","mode":420},
|
|
12
|
+
{"path":"README.ai-education-web-courseware.md","ownership":"owned-file","digest":"sha256:b5577436bc7053e6fa5efbdf4b1ec4f8ee2a718dc5db8acf8578228e42339ff0","mode":420},
|
|
13
|
+
{"path":"src/courseware-fixture.test.ts","ownership":"owned-file","digest":"sha256:e1087922ea08794b5cf9e7ce1d9481d0ae022c9f9f8c4c549d6546502ea4bf4e","mode":420},
|
|
14
|
+
{"path":"src/courseware-fixture.ts","ownership":"owned-file","digest":"sha256:7d8338a45a32a2c0dc714d1bdf6f0d2fc06c98a405c65f014a46297f4dd38c1f","mode":420}],
|
|
15
|
+
"verifiers":[{"id":"capability.assets"},{"id":"typescript.typecheck"},{"id":"vitest.run"},{"id":"next.application-build"}],
|
|
16
|
+
"exit":{"ownedAssets":["app/ai-education-web-courseware/page.tsx","README.ai-education-web-courseware.md","src/courseware-fixture.test.ts","src/courseware-fixture.ts"]},
|
|
17
|
+
"availability":{"maturity":"candidate","visibility":"maintainers-only","sourceState":"local-artifact"},"packageSources":[],"integrity":"sha256:adc820975bfb3452f62014b3ad2bb17de843539e415738446aa4871c5b1e3407"
|
|
18
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.ai-orchestration",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"integrity": "sha256:470d931b2c6cc6d7d43a6aada41a32cfa63f99bc614b93ff85f9c37ad8be9e89",
|
|
6
|
+
"consumerProfile": "any-project",
|
|
7
|
+
"kind": "engineering-feature",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"profiles": [
|
|
10
|
+
"nextjs-full-stack-application",
|
|
11
|
+
"workspace-node-application",
|
|
12
|
+
"workspace-web-application"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"compatibility": {
|
|
16
|
+
"node": ">=24.18.0 <25",
|
|
17
|
+
"pnpm": "11.21.0",
|
|
18
|
+
"typescript": "6.0.3"
|
|
19
|
+
},
|
|
20
|
+
"integration": {
|
|
21
|
+
"title": "AI 编排",
|
|
22
|
+
"purpose": "统一 Prompt、模型选择/访问与 AI Function provenance。",
|
|
23
|
+
"packages": [
|
|
24
|
+
{
|
|
25
|
+
"packageName": "@aipt/prompt-runtime",
|
|
26
|
+
"version": "workspace:*",
|
|
27
|
+
"usage": "runtime",
|
|
28
|
+
"imports": [
|
|
29
|
+
{
|
|
30
|
+
"importFrom": "@aipt/prompt-runtime",
|
|
31
|
+
"symbol": "compilePrompt",
|
|
32
|
+
"referencePath": "packages/prompt-runtime/src/index.ts"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"packageName": "@aipt/model-registry",
|
|
38
|
+
"version": "workspace:*",
|
|
39
|
+
"usage": "runtime",
|
|
40
|
+
"imports": [
|
|
41
|
+
{
|
|
42
|
+
"importFrom": "@aipt/model-registry",
|
|
43
|
+
"symbol": "selectMultimodalModel",
|
|
44
|
+
"referencePath": "packages/model-registry/src/index.ts"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"packageName": "@aipt/model-access",
|
|
50
|
+
"version": "workspace:*",
|
|
51
|
+
"usage": "runtime",
|
|
52
|
+
"imports": [
|
|
53
|
+
{
|
|
54
|
+
"importFrom": "@aipt/model-access",
|
|
55
|
+
"symbol": "withDeadline",
|
|
56
|
+
"referencePath": "packages/model-access/src/index.ts"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"packageName": "@aipt/ai-function-runtime",
|
|
62
|
+
"version": "workspace:*",
|
|
63
|
+
"usage": "runtime",
|
|
64
|
+
"imports": [
|
|
65
|
+
{
|
|
66
|
+
"importFrom": "@aipt/ai-function-runtime",
|
|
67
|
+
"symbol": "createAIFunction",
|
|
68
|
+
"referencePath": "packages/ai-function-runtime/src/index.ts"
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"codeAssets": [
|
|
74
|
+
{
|
|
75
|
+
"sourcePath": "assets/docs/engineering/ai-orchestration.md",
|
|
76
|
+
"targetPath": "docs/engineering/ai-orchestration.md",
|
|
77
|
+
"ownership": "owned-file"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"assets": [
|
|
82
|
+
{
|
|
83
|
+
"path": "docs/engineering/ai-orchestration.md",
|
|
84
|
+
"ownership": "owned-file",
|
|
85
|
+
"digest": "sha256:ff6664394f61de04bf61b64c45eb9a2fcb0972d9a5be807fc8a55413f1ab1ab7",
|
|
86
|
+
"mode": 420
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"verifiers": [
|
|
90
|
+
{
|
|
91
|
+
"id": "capability.assets"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"exit": {
|
|
95
|
+
"ownedAssets": [
|
|
96
|
+
"docs/engineering/ai-orchestration.md"
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
}
|
package/dist/catalog/foundation.api-contract-toolchain/1.0.0/assets/docs/engineering/api-contract.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# API 契约工具链
|
|
2
|
+
|
|
3
|
+
本项目的接口契约由服务端声明式路由导出,不手写。
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
声明式路由(zod)
|
|
7
|
+
├─→ 运行时处理器
|
|
8
|
+
└─→ openapi.json ──→ 类型 / SDK / TanStack Query / mock
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 固定命令
|
|
12
|
+
|
|
13
|
+
- `pnpm api:emit`:从路由导出 `openapi.json`。
|
|
14
|
+
- `pnpm api:generate`:由 `openapi.json` 生成类型、SDK、TanStack Query 与 mock。
|
|
15
|
+
- CI 必须校验 `openapi.json` 与路由推导结果一致,否则改了接口却忘了重新导出不会被发现。
|
|
16
|
+
|
|
17
|
+
## 注入的组合根
|
|
18
|
+
|
|
19
|
+
- `src/api/runtime.ts`:契约漂移守卫、mock 开关、信封收敛。
|
|
20
|
+
- `src/api/query-client.ts`:服务端状态层默认策略。查询函数与 queryKey 由 codegen 产出,这里只固定跨查询的重试、过期与错误处理——因此它不是一个独立代码服务,而是本能力的注入物。
|
|
21
|
+
|
|
22
|
+
## 运行时保证
|
|
23
|
+
|
|
24
|
+
`src/api/runtime.ts` 组合根提供三件事:
|
|
25
|
+
|
|
26
|
+
- **契约不漂移**:服务端在响应头公布契约摘要,与生成产物所依据的摘要不一致时报 `API_CONTRACT_DRIFTED`。
|
|
27
|
+
- **mock 不绕过契约**:mock 数据同样公布摘要,用过期契约生成的 mock 会被同一个守卫拦下。
|
|
28
|
+
- **失败是数据**:`unwrap` 把信封收敛成判别联合,业务代码不在每个调用点解构线格式。
|
|
29
|
+
- **确定性失败不重试**:契约漂移与信封非法都不会触发重试,重试只会放大故障;写请求默认不重试,避免没有幂等键的重复提交。
|
|
30
|
+
|
|
31
|
+
## 边界
|
|
32
|
+
|
|
33
|
+
生成产物是派生结果,请勿手改;重新生成即可。签名密钥不得进入浏览器包——客户端加签只有配合混淆才有意义,那是另一条死路。
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineConfig } from "@hey-api/openapi-ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 生成产物的输入是服务端声明式路由导出的契约,不是手写的 spec。
|
|
5
|
+
* 因此"后端改了接口、前端不知道"在生成期就会显现为产物变化。
|
|
6
|
+
*
|
|
7
|
+
* 本文件是 seed-file:首次生成后归项目所有,可按需增删插件。
|
|
8
|
+
*/
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
input: "./openapi.json",
|
|
11
|
+
output: { path: "./src/api/generated" },
|
|
12
|
+
plugins: [
|
|
13
|
+
{ name: "@hey-api/typescript" },
|
|
14
|
+
{ name: "@hey-api/sdk" },
|
|
15
|
+
{ name: "@hey-api/client-fetch" },
|
|
16
|
+
{ name: "@tanstack/react-query" },
|
|
17
|
+
{ name: "@faker-js/faker" },
|
|
18
|
+
{ name: "msw" },
|
|
19
|
+
],
|
|
20
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { QueryClient } from "@tanstack/react-query";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 服务端状态层的组合根。查询函数与 queryKey 由契约 codegen 产出,
|
|
5
|
+
* 这里只固定跨查询的默认策略——因此它不需要成为一个独立代码服务。
|
|
6
|
+
*
|
|
7
|
+
* 本文件由 foundation.api-contract-toolchain 拥有;改动会在 verify 时被检出漂移。
|
|
8
|
+
*/
|
|
9
|
+
export function createQueryClient(): QueryClient {
|
|
10
|
+
return new QueryClient({
|
|
11
|
+
defaultOptions: {
|
|
12
|
+
queries: {
|
|
13
|
+
// 契约漂移与输入非法都是确定性失败,重试只会放大故障
|
|
14
|
+
retry: (failureCount, error) => {
|
|
15
|
+
const code = (error as { code?: string }).code ?? "";
|
|
16
|
+
if (code.startsWith("API_CONTRACT") || code === "API_ENVELOPE_INVALID") return false;
|
|
17
|
+
return failureCount < 2;
|
|
18
|
+
},
|
|
19
|
+
retryDelay: (attempt) => Math.min(1_000 * 2 ** attempt, 8_000),
|
|
20
|
+
staleTime: 30_000,
|
|
21
|
+
// 失败信封是数据而不是异常,因此不该触发全局错误边界
|
|
22
|
+
throwOnError: false,
|
|
23
|
+
refetchOnWindowFocus: false,
|
|
24
|
+
},
|
|
25
|
+
// 写请求默认不重试:没有幂等键的重试会造成重复提交
|
|
26
|
+
mutations: { retry: false },
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { contractDriftGuard, mockFetch, unwrapEnvelope, type Envelope, type MockHandler } from "@aipt/api-contract";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* API 运行时组合根。生成产物负责"怎么调",这里负责"调用时还要保证什么":
|
|
5
|
+
* 契约不漂移、mock 与真实走同一份契约、失败信封收敛成判别联合。
|
|
6
|
+
*
|
|
7
|
+
* 本文件由 foundation.api-contract-toolchain 拥有;改动会在 verify 时被检出漂移。
|
|
8
|
+
*/
|
|
9
|
+
export type ApiRuntimeConfig = Readonly<{
|
|
10
|
+
baseUrl: string;
|
|
11
|
+
/** 生成产物所依据的契约摘要。由 CI 从 openapi.json 计算后注入。 */
|
|
12
|
+
contractDigest: string;
|
|
13
|
+
/** 开启后按 operationId 使用本地数据;未登记的 operation 显式失败,不静默打真实网络。 */
|
|
14
|
+
mock?: Readonly<{ enabled: boolean; handlers: Readonly<Record<string, MockHandler>> }>;
|
|
15
|
+
/** 从请求还原 operationId,供 mock 与策略判定使用。 */
|
|
16
|
+
operationIdOf(request: Request): string | undefined;
|
|
17
|
+
/** 跨切面请求改写:加签、染色标签、租户头等。 */
|
|
18
|
+
requestInterceptors?: readonly ((request: Request) => Promise<Request> | Request)[];
|
|
19
|
+
}>;
|
|
20
|
+
|
|
21
|
+
export function createApiRuntime(config: ApiRuntimeConfig) {
|
|
22
|
+
const guard = contractDriftGuard({ expectedDigest: config.contractDigest });
|
|
23
|
+
const real = globalThis.fetch;
|
|
24
|
+
const transport = config.mock?.enabled
|
|
25
|
+
? mockFetch({ handlers: config.mock.handlers, operationIdOf: config.operationIdOf, digest: config.contractDigest as `sha256:${string}` })
|
|
26
|
+
: real;
|
|
27
|
+
|
|
28
|
+
/** 交给生成客户端的 fetch 实现:先过拦截器,再校验契约摘要。 */
|
|
29
|
+
const fetchImpl: typeof globalThis.fetch = async (input, init) => {
|
|
30
|
+
let request = input instanceof Request && init === undefined ? input : new Request(input as RequestInfo | URL, init);
|
|
31
|
+
for (const interceptor of config.requestInterceptors ?? []) request = await interceptor(request);
|
|
32
|
+
const response = await transport(request);
|
|
33
|
+
return guard(response, request) as Response;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return Object.freeze({
|
|
37
|
+
baseUrl: config.baseUrl,
|
|
38
|
+
fetch: fetchImpl,
|
|
39
|
+
/** 把生成 SDK 的返回值收敛成 `{ ok, data } | { ok, error }`,业务代码不解构线格式。 */
|
|
40
|
+
unwrap: <T>(value: unknown) => unwrapEnvelope<T>(value),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type { Envelope, MockHandler };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.api-contract-toolchain",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "any-project",
|
|
6
|
+
"kind": "engineering-feature",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"profiles": [
|
|
9
|
+
"nextjs-full-stack-application",
|
|
10
|
+
"workspace-node-application",
|
|
11
|
+
"workspace-web-application"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"compatibility": {
|
|
15
|
+
"node": ">=24.18.0 <25",
|
|
16
|
+
"pnpm": "11.21.0",
|
|
17
|
+
"typescript": "6.0.3"
|
|
18
|
+
},
|
|
19
|
+
"integration": {
|
|
20
|
+
"title": "API 契约工具链",
|
|
21
|
+
"purpose": "接口契约由声明式路由导出;类型、SDK、TanStack Query 与 mock 全部由它生成,并注入运行时与状态层组合根。",
|
|
22
|
+
"packages": [
|
|
23
|
+
{
|
|
24
|
+
"packageName": "@aipt/api-contract",
|
|
25
|
+
"version": "workspace:*",
|
|
26
|
+
"usage": "runtime",
|
|
27
|
+
"imports": [
|
|
28
|
+
{
|
|
29
|
+
"importFrom": "@aipt/api-contract",
|
|
30
|
+
"symbol": "contractDriftGuard",
|
|
31
|
+
"referencePath": "packages/api-contract/src/index.ts"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"packageName": "@aipt/api-route",
|
|
37
|
+
"version": "workspace:*",
|
|
38
|
+
"usage": "runtime",
|
|
39
|
+
"imports": [
|
|
40
|
+
{
|
|
41
|
+
"importFrom": "@aipt/api-route",
|
|
42
|
+
"symbol": "createApiRouter",
|
|
43
|
+
"referencePath": "packages/api-route/src/index.ts"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"packageName": "@tanstack/react-query",
|
|
49
|
+
"version": "5.101.4",
|
|
50
|
+
"usage": "runtime",
|
|
51
|
+
"imports": [
|
|
52
|
+
{
|
|
53
|
+
"importFrom": "@tanstack/react-query",
|
|
54
|
+
"symbol": "QueryClient"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"codeAssets": [
|
|
60
|
+
{
|
|
61
|
+
"sourcePath": "assets/openapi-ts.config.ts",
|
|
62
|
+
"targetPath": "openapi-ts.config.ts",
|
|
63
|
+
"ownership": "seed-file"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"sourcePath": "assets/src/api/runtime.ts",
|
|
67
|
+
"targetPath": "src/api/runtime.ts",
|
|
68
|
+
"ownership": "owned-file"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"sourcePath": "assets/src/api/query-client.ts",
|
|
72
|
+
"targetPath": "src/api/query-client.ts",
|
|
73
|
+
"ownership": "owned-file"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"sourcePath": "assets/docs/engineering/api-contract.md",
|
|
77
|
+
"targetPath": "docs/engineering/api-contract.md",
|
|
78
|
+
"ownership": "owned-file"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"assets": [
|
|
83
|
+
{
|
|
84
|
+
"path": "docs/engineering/api-contract.md",
|
|
85
|
+
"ownership": "owned-file",
|
|
86
|
+
"digest": "sha256:da5d84d8b59aa91b6707fdd1a609f3b29bd60c9c497d4c05209c0fcc2ac24c30",
|
|
87
|
+
"mode": 420
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"path": "openapi-ts.config.ts",
|
|
91
|
+
"ownership": "seed-file",
|
|
92
|
+
"digest": "sha256:320ff603611e4e3bf2f1c5d97e2d465ccb90e6c5672de3a6f6dcf59f1dca10cd",
|
|
93
|
+
"mode": 420
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "src/api/query-client.ts",
|
|
97
|
+
"ownership": "owned-file",
|
|
98
|
+
"digest": "sha256:dd4b9b7b9d72bbfea947db213f0e5208b8cea5536e5b887148a9e52d5ea1f09c",
|
|
99
|
+
"mode": 420
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"path": "src/api/runtime.ts",
|
|
103
|
+
"ownership": "owned-file",
|
|
104
|
+
"digest": "sha256:9d5175a753845990c2d20edcf4d35364613abd559abaeb0cc6d32834dabef72b",
|
|
105
|
+
"mode": 420
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"verifiers": [
|
|
109
|
+
{
|
|
110
|
+
"id": "capability.assets"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"exit": {
|
|
114
|
+
"ownedAssets": [
|
|
115
|
+
"docs/engineering/api-contract.md",
|
|
116
|
+
"openapi-ts.config.ts",
|
|
117
|
+
"src/api/query-client.ts",
|
|
118
|
+
"src/api/runtime.ts"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"integrity": "sha256:af0ec73d62356badfd2615d6ae00271b6a34c4d3d2c61c3eb3b66e434ee9d42b"
|
|
122
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.application-config-binding",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"integrity": "sha256:7ac10b8d2a8425cdcb810b9efb9767c7b509ea2809c1a2bd67fc8aa69b75c99e",
|
|
6
|
+
"consumerProfile": "any-project",
|
|
7
|
+
"kind": "engineering-feature",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"profiles": ["nextjs-full-stack-application", "workspace-node-application", "workspace-web-application"],
|
|
10
|
+
"capabilities": [{ "capabilityId": "foundation.environment-schema", "version": "2.0.0" }]
|
|
11
|
+
},
|
|
12
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
13
|
+
"integration": {
|
|
14
|
+
"title": "应用独立 Config Dir Binding",
|
|
15
|
+
"purpose": "让项目通过可迁移逻辑合同发现APP_CONFIG_DIR,并安全投影配置状态。",
|
|
16
|
+
"packages": [],
|
|
17
|
+
"codeAssets": [
|
|
18
|
+
{ "sourcePath": "assets/.dyyto/application-config-binding.json", "targetPath": ".dyyto/application-config-binding.json", "ownership": "owned-file" },
|
|
19
|
+
{ "sourcePath": "assets/docs/engineering/application-config-binding.md", "targetPath": "docs/engineering/application-config-binding.md", "ownership": "owned-file" }
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"assets": [
|
|
23
|
+
{ "path": ".dyyto/application-config-binding.json", "ownership": "owned-file", "digest": "sha256:a90c9ada72e98d0e77cfa3228ed4d1b58933c7d9ae4a7afe3a9b15e2909523d2", "mode": 420, "renderer": "application-config-binding-v1" },
|
|
24
|
+
{ "path": "docs/engineering/application-config-binding.md", "ownership": "owned-file", "digest": "sha256:d95bfec13840cc757744aca857a31dccd70c410eea4cfa13835677aa3b3789cf", "mode": 420 }
|
|
25
|
+
],
|
|
26
|
+
"verifiers": [{ "id": "capability.assets" }],
|
|
27
|
+
"exit": { "ownedAssets": [".dyyto/application-config-binding.json", "docs/engineering/application-config-binding.md"] }
|
|
28
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.artifact-delivery",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"integrity": "sha256:3ad443d9418baf3b7023c78aee7481010a9f1ad749369aa6f6e7704d24adce7a",
|
|
6
|
+
"consumerProfile": "any-project",
|
|
7
|
+
"kind": "engineering-feature",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"profiles": [
|
|
10
|
+
"nextjs-full-stack-application",
|
|
11
|
+
"workspace-node-application",
|
|
12
|
+
"workspace-web-application"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"compatibility": {
|
|
16
|
+
"node": ">=24.18.0 <25",
|
|
17
|
+
"pnpm": "11.21.0",
|
|
18
|
+
"typescript": "6.0.3"
|
|
19
|
+
},
|
|
20
|
+
"integration": {
|
|
21
|
+
"title": "Artifact Delivery",
|
|
22
|
+
"purpose": "从 Published Package 生成 Web Bundle 并进入正式 Delivery。",
|
|
23
|
+
"packages": [
|
|
24
|
+
{
|
|
25
|
+
"packageName": "@aipt/artifact-delivery",
|
|
26
|
+
"version": "workspace:*",
|
|
27
|
+
"usage": "runtime",
|
|
28
|
+
"imports": [
|
|
29
|
+
{
|
|
30
|
+
"importFrom": "@aipt/artifact-delivery",
|
|
31
|
+
"symbol": "createPublishedPackageDeliveryPlan",
|
|
32
|
+
"referencePath": "packages/artifact-delivery/src/index.ts"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"packageName": "@aipt/web-bundle-builder",
|
|
38
|
+
"version": "workspace:*",
|
|
39
|
+
"usage": "runtime",
|
|
40
|
+
"imports": [
|
|
41
|
+
{
|
|
42
|
+
"importFrom": "@aipt/web-bundle-builder",
|
|
43
|
+
"symbol": "buildWebBundle",
|
|
44
|
+
"referencePath": "packages/web-bundle-builder/src/index.ts"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"codeAssets": [
|
|
50
|
+
{
|
|
51
|
+
"sourcePath": "assets/docs/engineering/artifact-delivery.md",
|
|
52
|
+
"targetPath": "docs/engineering/artifact-delivery.md",
|
|
53
|
+
"ownership": "owned-file"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"assets": [
|
|
58
|
+
{
|
|
59
|
+
"path": "docs/engineering/artifact-delivery.md",
|
|
60
|
+
"ownership": "owned-file",
|
|
61
|
+
"digest": "sha256:475a6b40750b74e8cabfb6a0da1f79c2a62e900e2a228e1f79b8b16b989f9836",
|
|
62
|
+
"mode": 420
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"verifiers": [
|
|
66
|
+
{
|
|
67
|
+
"id": "capability.assets"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"exit": {
|
|
71
|
+
"ownedAssets": [
|
|
72
|
+
"docs/engineering/artifact-delivery.md"
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.artifact-runtime",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"integrity": "sha256:354b94c92cde04d2d2e81d4d3b036e74220127203885c78cb28f8a32c502ac5c",
|
|
6
|
+
"consumerProfile": "any-project",
|
|
7
|
+
"kind": "engineering-feature",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"profiles": [
|
|
10
|
+
"nextjs-full-stack-application",
|
|
11
|
+
"workspace-node-application",
|
|
12
|
+
"workspace-web-application"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"compatibility": {
|
|
16
|
+
"node": ">=24.18.0 <25",
|
|
17
|
+
"pnpm": "11.21.0",
|
|
18
|
+
"typescript": "6.0.3"
|
|
19
|
+
},
|
|
20
|
+
"integration": {
|
|
21
|
+
"title": "Artifact Runtime",
|
|
22
|
+
"purpose": "统一 Published Package、Runtime Session 与 Renderer Host。",
|
|
23
|
+
"packages": [
|
|
24
|
+
{
|
|
25
|
+
"packageName": "@aipt/artifact-contracts",
|
|
26
|
+
"version": "workspace:*",
|
|
27
|
+
"usage": "runtime",
|
|
28
|
+
"imports": [
|
|
29
|
+
{
|
|
30
|
+
"importFrom": "@aipt/artifact-contracts",
|
|
31
|
+
"symbol": "assertPublishedPackage",
|
|
32
|
+
"referencePath": "packages/artifact-contracts/src/index.ts"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"packageName": "@aipt/artifact-runtime-core",
|
|
38
|
+
"version": "workspace:*",
|
|
39
|
+
"usage": "runtime",
|
|
40
|
+
"imports": [
|
|
41
|
+
{
|
|
42
|
+
"importFrom": "@aipt/artifact-runtime-core",
|
|
43
|
+
"symbol": "createRuntimeSession",
|
|
44
|
+
"referencePath": "packages/artifact-runtime-core/src/index.ts"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"packageName": "@aipt/artifact-renderer-host",
|
|
50
|
+
"version": "workspace:*",
|
|
51
|
+
"usage": "runtime",
|
|
52
|
+
"imports": [
|
|
53
|
+
{
|
|
54
|
+
"importFrom": "@aipt/artifact-renderer-host",
|
|
55
|
+
"symbol": "createRendererHost",
|
|
56
|
+
"referencePath": "packages/artifact-renderer-host/src/index.ts"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"codeAssets": [
|
|
62
|
+
{
|
|
63
|
+
"sourcePath": "assets/docs/engineering/artifact-runtime.md",
|
|
64
|
+
"targetPath": "docs/engineering/artifact-runtime.md",
|
|
65
|
+
"ownership": "owned-file"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"assets": [
|
|
70
|
+
{
|
|
71
|
+
"path": "docs/engineering/artifact-runtime.md",
|
|
72
|
+
"ownership": "owned-file",
|
|
73
|
+
"digest": "sha256:69477d633d230ebfa0b2eead5b1621c81a353b810f0ce924c04a6252c9d6c1d2",
|
|
74
|
+
"mode": 420
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"verifiers": [
|
|
78
|
+
{
|
|
79
|
+
"id": "capability.assets"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"exit": {
|
|
83
|
+
"ownedAssets": [
|
|
84
|
+
"docs/engineering/artifact-runtime.md"
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Capability Family Routing 示例
|
|
2
|
+
|
|
3
|
+
这是 Dyyto 平台的 development candidate,只证明通用 Capability Family / Strategy / Workflow Binding 路由合同,不代表 production available。
|
|
4
|
+
|
|
5
|
+
运行 `pnpm test` 后应看到文档审阅能力族固定到一个策略和一个工作流 Release。未知策略、撤回 Release、旧 Skill 映射缺失、stale revision 和 schema 漂移均 fail closed。
|
|
6
|
+
|
|
7
|
+
本示例不包含教育、出版社或 PoC 名称分支。
|