@aipt/cli 0.1.0 → 0.1.14
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.14/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/package-releases/aipt--platform-kernel/0.1.6/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,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2024",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"noUncheckedIndexedAccess": true,
|
|
8
|
+
"exactOptionalPropertyTypes": true,
|
|
9
|
+
"verbatimModuleSyntax": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"types": ["node", "vitest/globals"]
|
|
12
|
+
},
|
|
13
|
+
"include": ["src/**/*.ts"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.standalone-npm-package",
|
|
4
|
+
"version": "1.2.0",
|
|
5
|
+
"consumerProfile": "standalone-npm-package",
|
|
6
|
+
"compatibility": {
|
|
7
|
+
"node": ">=24.18.0 <25",
|
|
8
|
+
"pnpm": "11.21.0",
|
|
9
|
+
"typescript": "6.0.3"
|
|
10
|
+
},
|
|
11
|
+
"assets": [
|
|
12
|
+
{
|
|
13
|
+
"path": "package.json",
|
|
14
|
+
"ownership": "owned-file",
|
|
15
|
+
"digest": "sha256:b6f11c6df85a9c4eaa3d50873572472be3f75407c9a5167e168a4633113bf760",
|
|
16
|
+
"mode": 420,
|
|
17
|
+
"renderer": "npm-package-json-v2"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"path": "pnpm-lock.yaml",
|
|
21
|
+
"ownership": "owned-file",
|
|
22
|
+
"digest": "sha256:f74fe967c0c77c481c62f2fb9cb6e0850f2bbc81d71b811752d1e22bab3d14f9",
|
|
23
|
+
"mode": 420
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"path": "pnpm-workspace.yaml",
|
|
27
|
+
"ownership": "owned-file",
|
|
28
|
+
"digest": "sha256:0817ab274c5f507d27bcd51ce2ab77436b55efe274ecc541a29d65c04be77702",
|
|
29
|
+
"mode": 420
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"path": "src/index.test.ts",
|
|
33
|
+
"ownership": "owned-file",
|
|
34
|
+
"digest": "sha256:54fa4ee1b72f62c08aea1b8eea0bd823334594a4305829c0d2cf27fb03cd9989",
|
|
35
|
+
"mode": 420
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"path": "src/index.ts",
|
|
39
|
+
"ownership": "owned-file",
|
|
40
|
+
"digest": "sha256:582749e4a750379e36280d7b4388396496f83421eeb06c0e3f67a3fb9be99c00",
|
|
41
|
+
"mode": 420
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "tsconfig.build.json",
|
|
45
|
+
"ownership": "owned-file",
|
|
46
|
+
"digest": "sha256:d5c283e7a846fd0670952aa7550b29171c4093e32f8ab1388fe1229161d5f9e0",
|
|
47
|
+
"mode": 420
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"path": "tsconfig.json",
|
|
51
|
+
"ownership": "owned-file",
|
|
52
|
+
"digest": "sha256:0a54b8de24c711bf334ced24c5b95451610b834844def0d5d80b89cf12ed3b42",
|
|
53
|
+
"mode": 420
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"verifiers": [
|
|
57
|
+
{
|
|
58
|
+
"id": "typescript.typecheck"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "vitest.run"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "typescript.build"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "npm.pack-dry-run"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"exit": {
|
|
71
|
+
"ownedAssets": [
|
|
72
|
+
"package.json",
|
|
73
|
+
"pnpm-lock.yaml",
|
|
74
|
+
"pnpm-workspace.yaml",
|
|
75
|
+
"src/index.test.ts",
|
|
76
|
+
"src/index.ts",
|
|
77
|
+
"tsconfig.build.json",
|
|
78
|
+
"tsconfig.json"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"integrity": "sha256:5664594da742d6695fb5d14dcacb88b6d860ce35b75a4124739dfbe1e7df4d07"
|
|
82
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { structuredKnowledgeCapability } from "./structured-knowledge";
|
|
3
|
+
|
|
4
|
+
describe("Structured Knowledge Capability", () => {
|
|
5
|
+
it("明确标记 fake development candidate", () => {
|
|
6
|
+
expect(structuredKnowledgeCapability).toMatchObject({ channel: "development", provider: "fake" });
|
|
7
|
+
});
|
|
8
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * as StructuredKnowledge from "@aipt/structured-knowledge-runtime";
|
|
2
|
+
|
|
3
|
+
export const structuredKnowledgeCapability = Object.freeze({
|
|
4
|
+
capabilityId: "foundation.structured-knowledge-runtime",
|
|
5
|
+
version: "1.0.0",
|
|
6
|
+
channel: "development",
|
|
7
|
+
provider: "fake",
|
|
8
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"capabilityId": "foundation.structured-knowledge-runtime",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "any-project",
|
|
6
|
+
"kind": "engineering-feature",
|
|
7
|
+
"dependencies": { "profiles": ["nextjs-full-stack-application"] },
|
|
8
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
9
|
+
"integration": {
|
|
10
|
+
"title": "结构化知识编译运行时",
|
|
11
|
+
"purpose": "提供领域无关的来源、锚点、结构关系、评测、HITL 和不可变 Release 合同。",
|
|
12
|
+
"packages": [{ "packageName": "@aipt/structured-knowledge-runtime", "version": "0.1.0", "usage": "runtime", "imports": [{ "importFrom": "@aipt/structured-knowledge-runtime", "symbol": "StructuredKnowledge", "referencePath": "src/structured-knowledge.ts" }] }],
|
|
13
|
+
"codeAssets": [
|
|
14
|
+
{ "sourcePath": "assets/README.structured-knowledge.md", "targetPath": "README.structured-knowledge.md", "ownership": "owned-file" },
|
|
15
|
+
{ "sourcePath": "assets/src/structured-knowledge.test.ts", "targetPath": "src/structured-knowledge.test.ts", "ownership": "owned-file" },
|
|
16
|
+
{ "sourcePath": "assets/src/structured-knowledge.ts", "targetPath": "src/structured-knowledge.ts", "ownership": "owned-file" }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"assets": [
|
|
20
|
+
{ "path": "README.structured-knowledge.md", "ownership": "owned-file", "digest": "sha256:b70c4e30762b3ed1834aaaf82ae10f893595e072871f218c4adf2c26fb2d4541", "mode": 420 },
|
|
21
|
+
{ "path": "src/structured-knowledge.test.ts", "ownership": "owned-file", "digest": "sha256:3edc80035ff34ca878b67c5fac21b62d7f3f28013bf7b42d786825c64ee7452b", "mode": 420 },
|
|
22
|
+
{ "path": "src/structured-knowledge.ts", "ownership": "owned-file", "digest": "sha256:9a52f106a91b1e08da46a7b542ade10f12bac29f6d0cdcdef9d9136a70297cfa", "mode": 420 }
|
|
23
|
+
],
|
|
24
|
+
"verifiers": [{ "id": "capability.assets" }, { "id": "typescript.typecheck" }, { "id": "vitest.run" }],
|
|
25
|
+
"exit": { "ownedAssets": ["README.structured-knowledge.md", "src/structured-knowledge.test.ts", "src/structured-knowledge.ts"] },
|
|
26
|
+
"availability": { "maturity": "candidate", "visibility": "maintainers-only", "sourceState": "development-registry" },
|
|
27
|
+
"packageSources": [{
|
|
28
|
+
"registryId": "registry.local.development",
|
|
29
|
+
"packageName": "@aipt/structured-knowledge-runtime",
|
|
30
|
+
"version": "0.1.0",
|
|
31
|
+
"integrity": "sha512-TBZ/b/IlZdCaMQH0fkol2QK1LURbZKdFqTQF94/e4I61+mzoJk7sUmf8lxnxUwnpy/ryAZ64/sbqcku5OjoDOQ==",
|
|
32
|
+
"tarballDigest": "sha256:b2e96f1ce95c2c843a4483754b32f80f7117384f636c2162c3b0f977177c34f0",
|
|
33
|
+
"deliveryReceiptId": "sha256:a1ee413824a25792673c333b0d55347fa8bae60591d6b5d451cace6582440a22",
|
|
34
|
+
"usage": "runtime"
|
|
35
|
+
}],
|
|
36
|
+
"integrity": "sha256:7a73ba6ff2742b0d9aa114132db03a1e85d97d1059db9b11dcc256d6929b7f33"
|
|
37
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createVisualPresentationFixture } from "../../src/visual-presentation";
|
|
2
|
+
|
|
3
|
+
const consumers = [
|
|
4
|
+
{ title: "经营分析报告", role: "报告消费者", accent: "#2563eb" },
|
|
5
|
+
{ title: "产品发布落地页", role: "站点消费者", accent: "#7c3aed" },
|
|
6
|
+
] as const;
|
|
7
|
+
|
|
8
|
+
export default function VisualPresentationAcceptancePage() {
|
|
9
|
+
const proof = createVisualPresentationFixture();
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<main lang="zh-CN" style={{ minHeight: "100vh", background: "#f8fafc", color: "#0f172a", padding: "48px", fontFamily: "system-ui, sans-serif" }}>
|
|
13
|
+
<div style={{ maxWidth: 1080, margin: "0 auto" }}>
|
|
14
|
+
<p style={{ color: "#475569", margin: 0 }}>平台工程能力 · development candidate</p>
|
|
15
|
+
<h1 style={{ fontSize: 40, margin: "12px 0" }}>视觉呈现组合验收台</h1>
|
|
16
|
+
<p style={{ maxWidth: 760, lineHeight: 1.7 }}>
|
|
17
|
+
两个非教育消费者共用同一个 Compile Plan、Lock、Renderer 与 Verifier;消费者只提供页面蓝图,不复制平台协议。
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<section aria-label="消费者预览" style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(280px, 1fr))", gap: 20, marginTop: 32 }}>
|
|
21
|
+
{consumers.map((consumer) => (
|
|
22
|
+
<article key={consumer.role} style={{ background: "white", border: "1px solid #e2e8f0", borderTop: `6px solid ${consumer.accent}`, borderRadius: 16, padding: 24 }}>
|
|
23
|
+
<span style={{ color: consumer.accent, fontWeight: 700 }}>{consumer.role}</span>
|
|
24
|
+
<h2>{consumer.title}</h2>
|
|
25
|
+
<div dangerouslySetInnerHTML={{ __html: proof.artifact.html }} />
|
|
26
|
+
<small>页面摘要:{proof.artifact.contentDigest.slice(0, 28)}…</small>
|
|
27
|
+
</article>
|
|
28
|
+
))}
|
|
29
|
+
</section>
|
|
30
|
+
|
|
31
|
+
<section aria-label="编译事实" style={{ background: "#0f172a", color: "#e2e8f0", borderRadius: 16, padding: 24, marginTop: 24 }}>
|
|
32
|
+
<h2 style={{ marginTop: 0 }}>不可变编译事实</h2>
|
|
33
|
+
<dl style={{ display: "grid", gridTemplateColumns: "max-content 1fr", gap: "10px 20px", overflowWrap: "anywhere" }}>
|
|
34
|
+
<dt>Compile Plan</dt><dd>{proof.plan.planDigest}</dd>
|
|
35
|
+
<dt>Compile Lock</dt><dd>{proof.lock.lockDigest}</dd>
|
|
36
|
+
<dt>Renderer Receipt</dt><dd>{proof.artifact.contentDigest}</dd>
|
|
37
|
+
<dt>Design System</dt><dd>{proof.plan.binding.designSystemReleaseId}</dd>
|
|
38
|
+
</dl>
|
|
39
|
+
</section>
|
|
40
|
+
|
|
41
|
+
<section aria-label="验证结果" style={{ marginTop: 24 }}>
|
|
42
|
+
<h2>Verifier Findings</h2>
|
|
43
|
+
<p>{proof.findings.length === 0 ? "通过:没有阻断项。" : `发现 ${proof.findings.length} 个问题,禁止发布。`}</p>
|
|
44
|
+
</section>
|
|
45
|
+
</div>
|
|
46
|
+
</main>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{describe,expect,it}from"vitest";import{createVisualPresentationFixture}from"./visual-presentation";describe("Visual Presentation 正式消费者",()=>{it("通过 Plan/Lock/Renderer/Verifier",()=>{const value=createVisualPresentationFixture();expect(value.plan.state).toBe("approved");expect(value.lock.state).toBe("active");expect(value.findings).toEqual([]);expect(value.artifact.html).toContain("视觉呈现候选");});});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{applyCompilePlan,approveCompilePlan,compilePresentation,createDesignSystemRelease,createImageStyleRelease,createMediaObjectPlan,createTypographyPackRelease,presentationDigest,renderPresentationPage,verifyPresentation}from"@aipt/visual-presentation-composition";
|
|
2
|
+
export function createVisualPresentationFixture(){const designSystem=createDesignSystemRelease({designSystemReleaseId:"fixture.presentation.ds@1",tokens:{"--background":"#f8fafc","--foreground":"#0f172a"}}),typography=createTypographyPackRelease({typographyPackReleaseId:"fixture.presentation.font@1",fontFamilies:["Fixture Sans"],glyphRanges:["zh-Hans"],fallbackStack:["system-ui"],license:"fixture"}),imageStyle=createImageStyleRelease({imageStyleReleaseId:"fixture.presentation.image@1",palette:["#f8fafc","#2563eb"],constraints:["禁止图片内文字"]}),layout={schemaVersion:1 as const,layoutReleaseId:"fixture.presentation.layout@1",compatibleRoles:["cover"as const],slots:["title","body"],maxCharacters:100,contentDigest:presentationDigest("layout")},blueprint={pageId:"cover",role:"cover"as const,sequence:1,layoutReleaseId:layout.layoutReleaseId,title:"视觉呈现候选",body:"同一平台合同可服务报告和落地页。",mediaObjectIds:[],iconIds:["sparkles"],chartMarks:[],pageDefinitionDigest:presentationDigest("definition")},plan=approveCompilePlan(compilePresentation({planId:"fixture-presentation-plan",designSystem,typography,imageStyle,template:{schemaVersion:1,templateReleaseId:"fixture.presentation.template@1",supportedRoles:["cover"],layoutReleaseIds:[layout.layoutReleaseId],defaultDesignSystemReleaseId:designSystem.designSystemReleaseId,contentDigest:presentationDigest("template")},layouts:[layout],icons:{schemaVersion:1,iconManifestReleaseId:"fixture.presentation.icons@1",provider:"lucide",iconIds:["sparkles"],contentDigest:presentationDigest("icons")},chartRenderer:{schemaVersion:1,chartRendererReleaseId:"fixture.presentation.chart@1",supportedMarks:[],network:false,contentDigest:presentationDigest("chart")},mediaPlan:createMediaObjectPlan({mediaPlanId:"fixture-presentation-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{plan,lock,artifact,findings};}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"capabilityId": "foundation.visual-presentation-composition",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "any-project",
|
|
6
|
+
"kind": "engineering-feature",
|
|
7
|
+
"dependencies": { "profiles": ["nextjs-full-stack-application"] },
|
|
8
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
9
|
+
"integration": { "title": "Visual Presentation Composition Runtime", "purpose": "提供领域无关的视觉 Release、Compile Plan/Lock、Renderer、Verifier 与 Package 合同。", "packages": [{ "packageName": "@aipt/visual-presentation-composition", "version": "0.1.0", "usage": "runtime", "imports": [{ "importFrom": "@aipt/visual-presentation-composition", "symbol": "compilePresentation", "referencePath": "src/visual-presentation.ts" }] }], "codeAssets": [
|
|
10
|
+
{ "sourcePath": "assets/README.visual-presentation.md", "targetPath": "README.visual-presentation.md", "ownership": "owned-file" },
|
|
11
|
+
{ "sourcePath": "assets/app/visual-presentation/page.tsx", "targetPath": "app/visual-presentation/page.tsx", "ownership": "owned-file" },
|
|
12
|
+
{ "sourcePath": "assets/src/visual-presentation.test.ts", "targetPath": "src/visual-presentation.test.ts", "ownership": "owned-file" },
|
|
13
|
+
{ "sourcePath": "assets/src/visual-presentation.ts", "targetPath": "src/visual-presentation.ts", "ownership": "owned-file" }
|
|
14
|
+
] },
|
|
15
|
+
"assets": [
|
|
16
|
+
{ "path": "app/visual-presentation/page.tsx", "ownership": "owned-file", "digest": "sha256:22880ca2e7c2379801824cbbd7648bf26ef225dfeaa23e61285edbe4867f908a", "mode": 420 },
|
|
17
|
+
{ "path": "README.visual-presentation.md", "ownership": "owned-file", "digest": "sha256:fe0d539b972adeb974d7cf5837d30fbfb4571168071dd926e3260a15652a05fc", "mode": 420 },
|
|
18
|
+
{ "path": "src/visual-presentation.test.ts", "ownership": "owned-file", "digest": "sha256:9588bf9f277dff7724f584c684e115defda2b02f23cf04552b0e4cadbafe66dd", "mode": 420 },
|
|
19
|
+
{ "path": "src/visual-presentation.ts", "ownership": "owned-file", "digest": "sha256:ce3b3d8bcd0a051e8e401ef2aaf6877c0cc8bd0bdd8287b0262fd38840cb93c8", "mode": 420 }
|
|
20
|
+
],
|
|
21
|
+
"verifiers": [{ "id": "capability.assets" }, { "id": "typescript.typecheck" }, { "id": "vitest.run" }, { "id": "next.application-build" }],
|
|
22
|
+
"exit": { "ownedAssets": ["app/visual-presentation/page.tsx", "README.visual-presentation.md", "src/visual-presentation.test.ts", "src/visual-presentation.ts"] },
|
|
23
|
+
"availability": { "maturity": "candidate", "visibility": "maintainers-only", "sourceState": "development-registry" },
|
|
24
|
+
"packageSources": [{ "registryId": "registry.local.development", "packageName": "@aipt/visual-presentation-composition", "version": "0.1.0", "integrity": "sha512-s2/Dm8qGtjOGGswZRHqU1ML4GnfplDw9P4de+l5yIbopL/mcVh5nzlpTL5YnoA3Fmw3IBi6OMpU92r2MPhXB1g==", "tarballDigest": "sha256:c6b8bc0b88e20a58349b950ccd8585e0e33cfcafd0bc6ce65270729ac6e08a1a", "deliveryReceiptId": "sha256:8836f8f1f0c0ed17b33940292d568706b2ddc31778fd2db0f3d3549c5b7bd2d2", "usage": "runtime" }],
|
|
25
|
+
"integrity": "sha256:4e0f81ae3b84daf91e515705a897ca9227175c8a4bb87f28b8bc68e9e7c14f9f"
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { StatusBar } from "expo-status-bar";
|
|
2
|
+
import { Pressable, StyleSheet, Text, View } from "react-native";
|
|
3
|
+
|
|
4
|
+
export default function HomeScreen() {
|
|
5
|
+
return (
|
|
6
|
+
<View style={styles.screen}>
|
|
7
|
+
<StatusBar style="dark" />
|
|
8
|
+
<Text style={styles.eyebrow}>EXPO · IOS · ANDROID · WEB</Text>
|
|
9
|
+
<Text accessibilityRole="header" style={styles.title}>从一个清晰的跨端起点,开始创造。</Text>
|
|
10
|
+
<Text style={styles.body}>工程基线已经准备就绪,产品体验仍由你决定。</Text>
|
|
11
|
+
<Pressable accessibilityRole="button" style={styles.action}>
|
|
12
|
+
<Text style={styles.actionText}>准备就绪</Text>
|
|
13
|
+
</Pressable>
|
|
14
|
+
</View>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const styles = StyleSheet.create({
|
|
19
|
+
screen: { flex: 1, justifyContent: "center", padding: 32, backgroundColor: "#f3f0e8" },
|
|
20
|
+
eyebrow: { color: "#4d686a", fontSize: 12, fontWeight: "700", letterSpacing: 1.8 },
|
|
21
|
+
title: { maxWidth: 720, marginTop: 20, color: "#102427", fontSize: 48, fontWeight: "700", lineHeight: 54 },
|
|
22
|
+
body: { maxWidth: 520, marginTop: 24, color: "#425a5c", fontSize: 18, lineHeight: 28 },
|
|
23
|
+
action: { alignSelf: "flex-start", marginTop: 32, borderRadius: 999, paddingHorizontal: 24, paddingVertical: 14, backgroundColor: "#102427" },
|
|
24
|
+
actionText: { color: "#f8f5ee", fontSize: 16, fontWeight: "700" },
|
|
25
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"expo": {
|
|
3
|
+
"name": "跨端应用",
|
|
4
|
+
"slug": "cross-platform-app",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"orientation": "portrait",
|
|
7
|
+
"userInterfaceStyle": "automatic",
|
|
8
|
+
"newArchEnabled": true,
|
|
9
|
+
"scheme": "cross-platform-app",
|
|
10
|
+
"plugins": ["expo-router"],
|
|
11
|
+
"web": { "bundler": "metro", "output": "static" },
|
|
12
|
+
"experiments": { "typedRoutes": true }
|
|
13
|
+
}
|
|
14
|
+
}
|
package/dist/catalog/foundation.workspace-expo-application/1.0.0/assets/src/app-config.test.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
|
|
4
|
+
describe("Expo 跨端应用配置", () => {
|
|
5
|
+
it("默认使用中文、静态 Web 输出和新架构", async () => {
|
|
6
|
+
const value = JSON.parse(await readFile(new URL("../app.json", import.meta.url), "utf8"));
|
|
7
|
+
expect(value.expo).toMatchObject({ name: "跨端应用", newArchEnabled: true, web: { output: "static" } });
|
|
8
|
+
expect(value.expo.plugins).toContain("expo-router");
|
|
9
|
+
});
|
|
10
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { access, readFile } from "node:fs/promises";
|
|
2
|
+
|
|
3
|
+
await access(new URL("../dist/index.html", import.meta.url));
|
|
4
|
+
const html = await readFile(new URL("../dist/index.html", import.meta.url), "utf8");
|
|
5
|
+
if (!html.includes("<html")) throw new Error("Expo Web export 缺少 HTML 入口");
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "expo/tsconfig.base",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"strict": true,
|
|
5
|
+
"noUncheckedIndexedAccess": true,
|
|
6
|
+
"paths": { "@/*": ["./*"] },
|
|
7
|
+
"types": ["node", "vitest/globals"]
|
|
8
|
+
},
|
|
9
|
+
"include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"]
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.workspace-expo-application",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "workspace-expo-application",
|
|
6
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
7
|
+
"integration": {
|
|
8
|
+
"title": "Expo 跨端应用",
|
|
9
|
+
"purpose": "提供 iOS、Android 与 Web 共用的 Expo Router 工程基线、受限命令和验证证据。",
|
|
10
|
+
"packages": [
|
|
11
|
+
{ "packageName": "expo", "version": "57.0.15", "usage": "runtime", "imports": [{ "importFrom": "expo-router", "symbol": "Stack", "referencePath": "app/_layout.tsx" }] },
|
|
12
|
+
{ "packageName": "react-native", "version": "0.86.2", "usage": "runtime", "imports": [{ "importFrom": "react-native", "symbol": "View", "referencePath": "app/index.tsx" }] }
|
|
13
|
+
],
|
|
14
|
+
"codeAssets": [
|
|
15
|
+
{ "sourcePath": "assets/.gitignore", "targetPath": ".gitignore", "ownership": "owned-file" },
|
|
16
|
+
{ "sourcePath": "assets/app.json", "targetPath": "app.json", "ownership": "seed-file" },
|
|
17
|
+
{ "sourcePath": "assets/app/_layout.tsx", "targetPath": "app/_layout.tsx", "ownership": "owned-file" },
|
|
18
|
+
{ "sourcePath": "assets/app/index.tsx", "targetPath": "app/index.tsx", "ownership": "seed-file" },
|
|
19
|
+
{ "sourcePath": "assets/expo-env.d.ts", "targetPath": "expo-env.d.ts", "ownership": "owned-file" },
|
|
20
|
+
{ "sourcePath": "assets/package.json", "targetPath": "package.json", "ownership": "seed-file" },
|
|
21
|
+
{ "sourcePath": "assets/src/app-config.test.ts", "targetPath": "src/app-config.test.ts", "ownership": "owned-file" },
|
|
22
|
+
{ "sourcePath": "assets/tooling/verify-expo-export.mjs", "targetPath": "tooling/verify-expo-export.mjs", "ownership": "owned-file" },
|
|
23
|
+
{ "sourcePath": "assets/tsconfig.json", "targetPath": "tsconfig.json", "ownership": "owned-file" },
|
|
24
|
+
{ "sourcePath": "assets/vitest.config.mts", "targetPath": "vitest.config.mts", "ownership": "owned-file" }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"assets": [
|
|
28
|
+
{ "path": ".gitignore", "ownership": "owned-file", "digest": "sha256:c85ad7226bd284a397a67c6871d920f1519a65b91f9efb3393f250e9bb13cdd7", "mode": 420 },
|
|
29
|
+
{ "path": "app.json", "ownership": "seed-file", "digest": "sha256:dd02e1b6f82ef2d954e39287600549e4870f53c50543113c4d07472eec141096", "mode": 420 },
|
|
30
|
+
{ "path": "app/_layout.tsx", "ownership": "owned-file", "digest": "sha256:74c5845ab4cdfa4bff7c3e9d04480c720d1ca97d76d1b3db549eda5168eccff5", "mode": 420 },
|
|
31
|
+
{ "path": "app/index.tsx", "ownership": "seed-file", "digest": "sha256:c434f54e776aa229649e078bd24ba12509044eecca5eb0736caca6b3b86f59f2", "mode": 420 },
|
|
32
|
+
{ "path": "expo-env.d.ts", "ownership": "owned-file", "digest": "sha256:7fa1fdcf159a5e4743ecf4dc62ea08a73b7bdcc5d40008d85aa31883c8511eee", "mode": 420 },
|
|
33
|
+
{ "path": "package.json", "ownership": "seed-file", "digest": "sha256:ef069e457e4cf5c2dc1ad1173ffa1b3d1a14f49234cd9de4c1a5569ad8d2e6a5", "mode": 420, "renderer": "expo-application-package-json-v1" },
|
|
34
|
+
{ "path": "src/app-config.test.ts", "ownership": "owned-file", "digest": "sha256:a550b043280b3e983b87650c53167e04612cb5c2e90b0dcbc57db97e3b3c077c", "mode": 420 },
|
|
35
|
+
{ "path": "tooling/verify-expo-export.mjs", "ownership": "owned-file", "digest": "sha256:7b496a6f8a8b92f6a36f74588facfbcab4e9e5b2ec10ae6f65393909b3d84072", "mode": 420 },
|
|
36
|
+
{ "path": "tsconfig.json", "ownership": "owned-file", "digest": "sha256:dc3a4d66d14d6717b5449fa5c177aee0196545460ac8a202635a87a75f5fb88a", "mode": 420 },
|
|
37
|
+
{ "path": "vitest.config.mts", "ownership": "owned-file", "digest": "sha256:eeae3902657c50d11feaa96776aec248c66b72c1b27458e51ccff524e7175530", "mode": 420 }
|
|
38
|
+
],
|
|
39
|
+
"verifiers": [{ "id": "typescript.typecheck" }, { "id": "vitest.run" }, { "id": "expo.application-config" }, { "id": "expo.application-export" }],
|
|
40
|
+
"exit": { "ownedAssets": [".gitignore", "app.json", "app/_layout.tsx", "app/index.tsx", "expo-env.d.ts", "package.json", "src/app-config.test.ts", "tooling/verify-expo-export.mjs", "tsconfig.json", "vitest.config.mts"] },
|
|
41
|
+
"integrity": "sha256:4993697030a1859fa9bd93505e8cff84cc29aefc192d631ef323b65fbcda8d26"
|
|
42
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
3
|
+
import { handleRequest } from "./app.js";
|
|
4
|
+
|
|
5
|
+
const servers: ReturnType<typeof createServer>[] = [];
|
|
6
|
+
afterEach(async () => Promise.all(servers.splice(0).map((server) => new Promise<void>((resolve) => server.close(() => resolve())))));
|
|
7
|
+
|
|
8
|
+
async function request(path: string) {
|
|
9
|
+
const server = createServer(handleRequest);
|
|
10
|
+
servers.push(server);
|
|
11
|
+
await new Promise<void>((resolve) => server.listen(0, "127.0.0.1", resolve));
|
|
12
|
+
const address = server.address();
|
|
13
|
+
if (address === null || typeof address === "string") throw new Error("test server address unavailable");
|
|
14
|
+
const response = await fetch(`http://127.0.0.1:${address.port}${path}`);
|
|
15
|
+
return { status: response.status, body: await response.json() };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
describe("node application HTTP contract", () => {
|
|
19
|
+
it("reports health", async () => expect(await request("/health")).toEqual({ status: 200, body: { status: "ok" } }));
|
|
20
|
+
it("returns a stable not found error", async () => expect(await request("/missing")).toEqual({ status: 404, body: { error: "not_found" } }));
|
|
21
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
+
|
|
3
|
+
function json(response: ServerResponse, statusCode: number, body: unknown): void {
|
|
4
|
+
response.writeHead(statusCode, { "content-type": "application/json; charset=utf-8" });
|
|
5
|
+
response.end(`${JSON.stringify(body)}\n`);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function handleRequest(request: IncomingMessage, response: ServerResponse): void {
|
|
9
|
+
if (request.method === "GET" && request.url === "/health") {
|
|
10
|
+
json(response, 200, { status: "ok" });
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
json(response, 404, { error: "not_found" });
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { parsePort } from "./index.js";
|
|
3
|
+
|
|
4
|
+
describe("node application process configuration", () => {
|
|
5
|
+
it("uses the default and accepts an ephemeral port", () => {
|
|
6
|
+
expect(parsePort(undefined)).toBe(3000);
|
|
7
|
+
expect(parsePort("0")).toBe(0);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it("rejects invalid ports", () => {
|
|
11
|
+
expect(() => parsePort("abc")).toThrow("PORT must be an integer");
|
|
12
|
+
expect(() => parsePort("65536")).toThrow("PORT must be an integer");
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createServer, type Server } from "node:http";
|
|
2
|
+
import process from "node:process";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
import { handleRequest } from "./app.js";
|
|
5
|
+
|
|
6
|
+
export function parsePort(value: string | undefined): number {
|
|
7
|
+
if (value === undefined || value === "") return 3000;
|
|
8
|
+
if (!/^\d+$/.test(value)) throw new Error("PORT must be an integer from 0 through 65535");
|
|
9
|
+
const port = Number(value);
|
|
10
|
+
if (port > 65535) throw new Error("PORT must be an integer from 0 through 65535");
|
|
11
|
+
return port;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function startServer(port = parsePort(process.env.PORT)): Promise<Server> {
|
|
15
|
+
const server = createServer(handleRequest);
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
server.once("error", reject);
|
|
18
|
+
server.listen(port, "127.0.0.1", () => resolve(server));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async function close(server: Server): Promise<void> {
|
|
23
|
+
await new Promise<void>((resolve, reject) => server.close((error) => error ? reject(error) : resolve()));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async function smoke(): Promise<void> {
|
|
27
|
+
const server = await startServer(0);
|
|
28
|
+
try {
|
|
29
|
+
const address = server.address();
|
|
30
|
+
if (address === null || typeof address === "string") throw new Error("Smoke server address is unavailable");
|
|
31
|
+
const response = await fetch(`http://127.0.0.1:${address.port}/health`);
|
|
32
|
+
const body = await response.json() as { status?: string };
|
|
33
|
+
if (response.status !== 200 || body.status !== "ok") throw new Error("Health contract failed");
|
|
34
|
+
process.stdout.write(`${JSON.stringify({ smoke: "passed" })}\n`);
|
|
35
|
+
} finally {
|
|
36
|
+
await close(server);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function main(): Promise<void> {
|
|
41
|
+
if (process.argv.includes("--smoke")) return smoke();
|
|
42
|
+
const server = await startServer();
|
|
43
|
+
const address = server.address();
|
|
44
|
+
if (address === null || typeof address === "string") throw new Error("Server address is unavailable");
|
|
45
|
+
process.stdout.write(`${JSON.stringify({ state: "ready", port: address.port })}\n`);
|
|
46
|
+
const shutdown = () => void close(server).then(() => process.exit(0));
|
|
47
|
+
process.once("SIGINT", shutdown);
|
|
48
|
+
process.once("SIGTERM", shutdown);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (process.argv[1] !== undefined && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
|
52
|
+
await main();
|
|
53
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.workspace-node-application",
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"integrity": "sha256:3dfcf5fc0b4a7d4e8e011cc5bbc34f81a57ec8fe88dc7677417c94ce6ad82463",
|
|
6
|
+
"consumerProfile": "workspace-node-application",
|
|
7
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
8
|
+
"assets": [
|
|
9
|
+
{ "path": "package.json", "ownership": "seed-file", "digest": "sha256:23bb673e159569be17349b5ee8143e90bcf0b5d29a3eb26ec2ee86dfd950b567", "mode": 420, "renderer": "node-application-package-json-v1" },
|
|
10
|
+
{ "path": "src/app.test.ts", "ownership": "seed-file", "digest": "sha256:a96972152546e62f906f9ae213662b3a04c9c881ef0a85448900a76a1c966710", "mode": 420 },
|
|
11
|
+
{ "path": "src/app.ts", "ownership": "seed-file", "digest": "sha256:29034c9f8222581e1d03e3ac1025f55aa484990878281155b47f94413efde78d", "mode": 420 },
|
|
12
|
+
{ "path": "src/index.test.ts", "ownership": "seed-file", "digest": "sha256:000ac97598f6f52dc0bd7c7dd0ca0bccb9bc60578e3a362acf8e18a3f9823b13", "mode": 420 },
|
|
13
|
+
{ "path": "src/index.ts", "ownership": "seed-file", "digest": "sha256:25f6a69a9cc7131778cd77c03f60ac17f3218c05521936aa0a12b255a5520a36", "mode": 420 },
|
|
14
|
+
{ "path": "tsconfig.build.json", "ownership": "owned-file", "digest": "sha256:bb246608ad97ce04adb20dc0da36770d4858c301229b8f32db44da5960e5eb64", "mode": 420 },
|
|
15
|
+
{ "path": "tsconfig.json", "ownership": "owned-file", "digest": "sha256:d38c25bd76efc8abab7cf154f44a0f78de3e421f898a93e73ac1756650deb977", "mode": 420 }
|
|
16
|
+
],
|
|
17
|
+
"verifiers": [{ "id": "typescript.typecheck" }, { "id": "vitest.run" }, { "id": "typescript.build" }, { "id": "node.application-smoke" }],
|
|
18
|
+
"exit": { "ownedAssets": ["package.json", "src/app.test.ts", "src/app.ts", "src/index.test.ts", "src/index.ts", "tsconfig.build.json", "tsconfig.json"] }
|
|
19
|
+
}
|