@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,8 @@
|
|
|
1
|
+
# Next.js Application Agent Rules
|
|
2
|
+
|
|
3
|
+
- Use the App Router and keep Server Components as the default.
|
|
4
|
+
- Add `"use client"` only to the smallest interactive leaf component.
|
|
5
|
+
- Never import secrets, Node APIs, or `server-only` modules into client code.
|
|
6
|
+
- Keep user-visible text in Simplified Chinese unless an approved feature defines internationalization.
|
|
7
|
+
- Do not add databases, authentication, Server Action writes, deployment providers, or experimental Next.js flags without an approved feature design.
|
|
8
|
+
- Run `pnpm check`, `pnpm test`, and `pnpm package` before delivery.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Next.js Full-stack Application
|
|
2
|
+
|
|
3
|
+
这是由 Dyyto 正式模板创建的 Next.js App Router 工程起点。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
corepack pnpm dev
|
|
7
|
+
corepack pnpm test
|
|
8
|
+
corepack pnpm build
|
|
9
|
+
corepack pnpm package
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
`package` 在 `.artifacts/standalone/` 生成不绑定云供应商的 Node.js 部署产物。基础模板只包含 Server Component、Client Component 和只读健康检查;数据库、认证、写操作与云部署需要独立设计。
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { GET } from "./route";
|
|
3
|
+
|
|
4
|
+
describe("health Route Handler", () => {
|
|
5
|
+
it("只返回稳定的低敏感状态", async () => {
|
|
6
|
+
const response = await GET();
|
|
7
|
+
expect(await response.json()).toEqual({ status: "ok", runtime: "nodejs" });
|
|
8
|
+
});
|
|
9
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fireEvent, render, screen } from "@testing-library/react";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { Counter } from "./Counter";
|
|
4
|
+
|
|
5
|
+
describe("Counter Client Component", () => {
|
|
6
|
+
it("通过可访问按钮完成交互", () => {
|
|
7
|
+
render(<Counter />);
|
|
8
|
+
const button = screen.getByRole("button", { name: "已完成 0 次交互" });
|
|
9
|
+
fireEvent.click(button);
|
|
10
|
+
expect(screen.getByRole("button", { name: "已完成 1 次交互" })).toBeVisible();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
|
|
5
|
+
export function Counter() {
|
|
6
|
+
const [count, setCount] = useState(0);
|
|
7
|
+
return (
|
|
8
|
+
<section className="interaction" aria-labelledby="interaction-title">
|
|
9
|
+
<div><p className="eyebrow">CLIENT COMPONENT</p><h2 id="interaction-title">交互边界保持最小</h2></div>
|
|
10
|
+
<button type="button" onClick={() => setCount((value) => value + 1)}>已完成 {count} 次交互</button>
|
|
11
|
+
</section>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
:root { color-scheme: light; --ink: #14201d; --muted: #56625e; --line: #d8dfdb; --accent: #146b55; --paper: #f5f7f4; }
|
|
2
|
+
* { box-sizing: border-box; }
|
|
3
|
+
html, body { margin: 0; min-height: 100%; }
|
|
4
|
+
body { background: radial-gradient(circle at 85% 5%, #dcebe4 0, transparent 32rem), var(--paper); color: var(--ink); font-family: Arial, "PingFang SC", sans-serif; }
|
|
5
|
+
button { font: inherit; }
|
|
6
|
+
main { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: clamp(56px, 9vw, 128px) 0 72px; }
|
|
7
|
+
.hero { max-width: 820px; }
|
|
8
|
+
.eyebrow { color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .17em; }
|
|
9
|
+
h1 { margin: 18px 0; font-family: Georgia, "Songti SC", serif; font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
|
|
10
|
+
.lede { max-width: 660px; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.75; }
|
|
11
|
+
.capabilities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 72px 0 24px; }
|
|
12
|
+
article, .interaction { border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.58); padding: 28px; }
|
|
13
|
+
article span { color: var(--accent); font-size: .8rem; font-weight: 800; }
|
|
14
|
+
article h2, .interaction h2 { margin: 28px 0 10px; font-size: 1.2rem; }
|
|
15
|
+
article p { margin: 0; color: var(--muted); line-height: 1.65; }
|
|
16
|
+
.interaction { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
|
|
17
|
+
.interaction h2 { margin: 8px 0 0; }
|
|
18
|
+
.interaction button { border: 0; border-radius: 999px; background: var(--ink); color: white; padding: 14px 22px; cursor: pointer; }
|
|
19
|
+
.interaction button:focus-visible { outline: 3px solid #69bda6; outline-offset: 4px; }
|
|
20
|
+
@media (max-width: 720px) { main { width: min(100% - 28px, 1120px); padding-top: 48px; } .capabilities { grid-template-columns: 1fr; margin-top: 48px; } .interaction { align-items: stretch; flex-direction: column; } .interaction button { width: 100%; } }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Metadata } from "next";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import "./globals.css";
|
|
4
|
+
|
|
5
|
+
export const metadata: Metadata = {
|
|
6
|
+
title: "Next.js 全栈应用",
|
|
7
|
+
description: "可验证、可部署的全栈工程起点",
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default function RootLayout({ children }: Readonly<{ children: ReactNode }>) {
|
|
11
|
+
return <html lang="zh-CN"><body>{children}</body></html>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { render, screen } from "@testing-library/react";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import Home from "./page";
|
|
4
|
+
|
|
5
|
+
describe("首页 Server Component", () => {
|
|
6
|
+
it("呈现中文全栈工程结果", () => {
|
|
7
|
+
render(<Home />);
|
|
8
|
+
expect(screen.getByRole("heading", { level: 1, name: "从可靠的全栈起点开始。" })).toBeVisible();
|
|
9
|
+
expect(screen.getByRole("region", { name: "工程能力" })).toBeVisible();
|
|
10
|
+
});
|
|
11
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Counter } from "./components/Counter";
|
|
2
|
+
|
|
3
|
+
export default function Home() {
|
|
4
|
+
return (
|
|
5
|
+
<main data-application-shell>
|
|
6
|
+
<section className="hero" aria-labelledby="page-title">
|
|
7
|
+
<p className="eyebrow">NEXT.JS FULL-STACK APPLICATION</p>
|
|
8
|
+
<h1 id="page-title">从可靠的全栈起点开始。</h1>
|
|
9
|
+
<p className="lede">App Router 清楚分隔服务端渲染、客户端交互和 HTTP 接口,并生成可独立运行的 Node.js 产物。</p>
|
|
10
|
+
</section>
|
|
11
|
+
<section className="capabilities" aria-label="工程能力">
|
|
12
|
+
<article><span>01</span><h2>服务端优先</h2><p>页面默认在服务端渲染,只把必要交互发送到浏览器。</p></article>
|
|
13
|
+
<article><span>02</span><h2>接口可验证</h2><p>只读健康接口提供稳定、低敏感的运行状态。</p></article>
|
|
14
|
+
<article><span>03</span><h2>产物可退出</h2><p>Standalone Node.js 产物不绑定特定云供应商。</p></article>
|
|
15
|
+
</section>
|
|
16
|
+
<Counter />
|
|
17
|
+
</main>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { expect, test } from "@playwright/test";
|
|
2
|
+
|
|
3
|
+
test("production application renders, interacts, and exposes health", async ({ page, request }) => {
|
|
4
|
+
const errors: string[] = [];
|
|
5
|
+
page.on("console", (message) => { if (message.type() === "error") errors.push(message.text()); });
|
|
6
|
+
await page.goto("/");
|
|
7
|
+
await expect(page.locator("html")).toHaveAttribute("lang", "zh-CN");
|
|
8
|
+
await expect(page.getByRole("heading", { level: 1, name: "从可靠的全栈起点开始。" })).toBeVisible();
|
|
9
|
+
await page.getByRole("button", { name: "已完成 0 次交互" }).click();
|
|
10
|
+
await expect(page.getByRole("button", { name: "已完成 1 次交互" })).toBeVisible();
|
|
11
|
+
const health = await request.get("/api/health");
|
|
12
|
+
expect(await health.json()).toEqual({ status: "ok", runtime: "nodejs" });
|
|
13
|
+
expect(await page.evaluate(() => document.documentElement.scrollWidth <= document.documentElement.clientWidth)).toBe(true);
|
|
14
|
+
expect(errors).toEqual([]);
|
|
15
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { defineConfig, globalIgnores } from "eslint/config";
|
|
2
|
+
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
3
|
+
|
|
4
|
+
export default defineConfig([
|
|
5
|
+
...nextVitals,
|
|
6
|
+
globalIgnores([".next/**", ".artifacts/**", "playwright-report/**", "test-results/**"]),
|
|
7
|
+
]);
|
package/dist/catalog/foundation.nextjs-full-stack-application/1.0.0/assets/playwright.config.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineConfig, devices } from "@playwright/test";
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
testDir: "./e2e",
|
|
5
|
+
fullyParallel: false,
|
|
6
|
+
retries: 0,
|
|
7
|
+
reporter: "line",
|
|
8
|
+
use: { baseURL: "http://127.0.0.1:43117", trace: "retain-on-failure" },
|
|
9
|
+
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
|
|
10
|
+
webServer: {
|
|
11
|
+
command: "corepack pnpm package && HOSTNAME=127.0.0.1 PORT=43117 node .artifacts/standalone/server.js",
|
|
12
|
+
url: "http://127.0.0.1:43117/api/health",
|
|
13
|
+
reuseExistingServer: false,
|
|
14
|
+
timeout: 180_000,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/jest-dom/vitest";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cp, mkdir, rm, stat } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
const root = process.cwd();
|
|
5
|
+
const source = path.join(root, ".next", "standalone");
|
|
6
|
+
const target = path.join(root, ".artifacts", "standalone");
|
|
7
|
+
if (path.basename(target) !== "standalone" || path.basename(path.dirname(target)) !== ".artifacts") throw new Error("Unexpected standalone target");
|
|
8
|
+
if (!(await stat(path.join(source, "server.js")).catch(() => null))?.isFile()) throw new Error("Next.js standalone server is missing; run the production build first");
|
|
9
|
+
await rm(target, { recursive: true, force: true });
|
|
10
|
+
await mkdir(target, { recursive: true });
|
|
11
|
+
await cp(source, target, { recursive: true });
|
|
12
|
+
await mkdir(path.join(target, ".next"), { recursive: true });
|
|
13
|
+
await cp(path.join(root, ".next", "static"), path.join(target, ".next", "static"), { recursive: true });
|
|
14
|
+
await cp(path.join(root, "public"), path.join(target, "public"), { recursive: true });
|
|
15
|
+
process.stdout.write(`${JSON.stringify({ artifact: ".artifacts/standalone", runtime: "node" })}\n`);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { readFile, readdir, stat } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
const root = process.cwd();
|
|
5
|
+
const artifact = path.join(root, ".artifacts", "standalone");
|
|
6
|
+
for (const required of ["server.js", ".next/static", "public"]) {
|
|
7
|
+
if (await stat(path.join(artifact, required)).catch(() => null) === null) throw new Error(`Standalone artifact is missing ${required}`);
|
|
8
|
+
}
|
|
9
|
+
const forbidden = /(^|\/)(?:\.env(?:\..*)?|\.git|\.dyyto|tests?|e2e|playwright-report|test-results)(\/|$)/;
|
|
10
|
+
async function walk(directory, prefix = "") {
|
|
11
|
+
for (const entry of await readdir(directory, { withFileTypes: true })) {
|
|
12
|
+
const relative = path.posix.join(prefix, entry.name);
|
|
13
|
+
if (forbidden.test(relative)) throw new Error(`Standalone artifact contains forbidden path: ${relative}`);
|
|
14
|
+
if (entry.isDirectory()) await walk(path.join(directory, entry.name), relative);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
await walk(artifact);
|
|
18
|
+
const server = await readFile(path.join(artifact, "server.js"), "utf8");
|
|
19
|
+
if (server.includes(root)) throw new Error("Standalone server contains the absolute project path");
|
|
20
|
+
process.stdout.write(`${JSON.stringify({ standalone: "verified" })}\n`);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"lib": [
|
|
5
|
+
"dom",
|
|
6
|
+
"dom.iterable",
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
9
|
+
"allowJs": false,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"module": "esnext",
|
|
15
|
+
"moduleResolution": "bundler",
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"isolatedModules": true,
|
|
18
|
+
"jsx": "react-jsx",
|
|
19
|
+
"incremental": true,
|
|
20
|
+
"plugins": [
|
|
21
|
+
{
|
|
22
|
+
"name": "next"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"paths": {
|
|
26
|
+
"@/*": [
|
|
27
|
+
"./*"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"include": [
|
|
32
|
+
"next-env.d.ts",
|
|
33
|
+
"**/*.ts",
|
|
34
|
+
"**/*.tsx",
|
|
35
|
+
".next/types/**/*.ts",
|
|
36
|
+
".next/dev/types/**/*.ts"
|
|
37
|
+
],
|
|
38
|
+
"exclude": [
|
|
39
|
+
"node_modules",
|
|
40
|
+
".artifacts"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import react from "@vitejs/plugin-react";
|
|
2
|
+
import { defineConfig } from "vitest/config";
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
plugins: [react()],
|
|
6
|
+
resolve: { tsconfigPaths: true },
|
|
7
|
+
test: {
|
|
8
|
+
environment: "jsdom",
|
|
9
|
+
setupFiles: ["./src/test/setup.ts"],
|
|
10
|
+
exclude: ["e2e/**", "node_modules/**"],
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.nextjs-full-stack-application",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "nextjs-full-stack-application",
|
|
6
|
+
"kind": "profile",
|
|
7
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
8
|
+
"assets": [
|
|
9
|
+
{ "path": "AGENTS.md", "ownership": "owned-file", "digest": "sha256:5ce79506c4a57d79f6620755caac1061d0ae69c368dbc6225ebbe35d96936ddb", "mode": 420 },
|
|
10
|
+
{ "path": "app/api/health/route.test.ts", "ownership": "owned-file", "digest": "sha256:0a477951c10f0fd2dd915cd31cb2fd78efd5fe77fc6b3f134f209f911d39ac18", "mode": 420 },
|
|
11
|
+
{ "path": "app/api/health/route.ts", "ownership": "owned-file", "digest": "sha256:18a8fd4be96db2f55bcd1ff97ce7bf983600625a93492126aca1c9329238122f", "mode": 420 },
|
|
12
|
+
{ "path": "app/components/Counter.test.tsx", "ownership": "owned-file", "digest": "sha256:d347996a6f70cd9d8d3dbe3fda93857e9f6b1e0e642c74ab0f83043e00159f4d", "mode": 420 },
|
|
13
|
+
{ "path": "app/components/Counter.tsx", "ownership": "owned-file", "digest": "sha256:82ad080820928294ffe016010d90e32e6aaaf907590da9138f1732d14f1b2209", "mode": 420 },
|
|
14
|
+
{ "path": "app/globals.css", "ownership": "owned-file", "digest": "sha256:63e94be135e426f1ff5093f470f972090394907e99e8cef91956667eb0ebc04d", "mode": 420 },
|
|
15
|
+
{ "path": "app/layout.tsx", "ownership": "owned-file", "digest": "sha256:523e11f4322714aea30d61a1f421dd4b6f358308b2305d3e00fca5d6934c32b5", "mode": 420 },
|
|
16
|
+
{ "path": "app/page.test.tsx", "ownership": "owned-file", "digest": "sha256:85701ca8b42e6cef8ac690a3b6bf64e1f20dfb2971a9df89089b70e0bd86d2e7", "mode": 420 },
|
|
17
|
+
{ "path": "app/page.tsx", "ownership": "owned-file", "digest": "sha256:fcfad3a406a8155aa566780b7ab4361b01453a926ba0ce4e52e15fd6f3a2c9c1", "mode": 420 },
|
|
18
|
+
{ "path": "e2e/home.spec.ts", "ownership": "owned-file", "digest": "sha256:2ad19eaf3c50e791ded7d7261b5eb0d8fddbec05937dc1a6d60486bbf7929011", "mode": 420 },
|
|
19
|
+
{ "path": "eslint.config.mjs", "ownership": "owned-file", "digest": "sha256:5d834357142e1577ae3c6f0f398ad00cf01781e38fdb0327232648f5c8b49292", "mode": 420 },
|
|
20
|
+
{ "path": "next-env.d.ts", "ownership": "owned-file", "digest": "sha256:7b550dda9686c16f36a17bf9051d5dbf31e98555b30d114ac49fc49a1e712651", "mode": 420 },
|
|
21
|
+
{ "path": "next.config.ts", "ownership": "owned-file", "digest": "sha256:7aad941db74d5bb680cfd4fdfb731b6946e4abb3b07b253e1a4f2b00f420bd4e", "mode": 420 },
|
|
22
|
+
{ "path": "package.json", "ownership": "owned-file", "digest": "sha256:2ad76a9d95f832ee492782133b39f212fc67d79b2c006382ae0e225504efc94c", "mode": 420, "renderer": "nextjs-application-package-json-v1" },
|
|
23
|
+
{ "path": "playwright.config.ts", "ownership": "owned-file", "digest": "sha256:173ff18b373ed03fd1acb4863ab4bfe307b3401fad8d131490ef7e70fa9fd948", "mode": 420 },
|
|
24
|
+
{ "path": "pnpm-workspace.yaml", "ownership": "owned-file", "digest": "sha256:abae7b32c13bbeead7fa88abe14f310c6c68033a37c9bf4b59f6f475b3b26a09", "mode": 420 },
|
|
25
|
+
{ "path": "public/.gitkeep", "ownership": "owned-file", "digest": "sha256:01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b", "mode": 420 },
|
|
26
|
+
{ "path": "README.md", "ownership": "owned-file", "digest": "sha256:f7e650e512f01885912ddfa866e06e28fdf522f3d2ce12d777a17c7613e64cf4", "mode": 420 },
|
|
27
|
+
{ "path": "src/test/setup.ts", "ownership": "owned-file", "digest": "sha256:9b328c4843431fa76d8de00008fc159e95f99a840211085ff3b8f25e53d14409", "mode": 420 },
|
|
28
|
+
{ "path": "tooling/package-standalone.mjs", "ownership": "owned-file", "digest": "sha256:2229e6c1ef3eff7fe704e605766ba5c28c086fd3d3ade002a1ab3bc60819b2e1", "mode": 420 },
|
|
29
|
+
{ "path": "tooling/verify-standalone.mjs", "ownership": "owned-file", "digest": "sha256:5d9e4f1aed5209d9fe10cb1d13fe797d1d03df7d71e52578b02104f63077ee04", "mode": 420 },
|
|
30
|
+
{ "path": "tsconfig.json", "ownership": "owned-file", "digest": "sha256:cfaa9970246b9817ba3992e4c61b73f286b3a342e7c1a1a56f9733601b032fba", "mode": 420 },
|
|
31
|
+
{ "path": "vitest.config.mts", "ownership": "owned-file", "digest": "sha256:d5607d37026d4097b23abcddd0a3417023f661b908766903a2f720cdf01e226c", "mode": 420 }
|
|
32
|
+
],
|
|
33
|
+
"verifiers": [
|
|
34
|
+
{ "id": "next.application-build" },
|
|
35
|
+
{ "id": "typescript.typecheck" },
|
|
36
|
+
{ "id": "next.application-test" },
|
|
37
|
+
{ "id": "next.application-package" },
|
|
38
|
+
{ "id": "next.application-smoke" }
|
|
39
|
+
],
|
|
40
|
+
"exit": { "ownedAssets": ["AGENTS.md", "app/api/health/route.test.ts", "app/api/health/route.ts", "app/components/Counter.test.tsx", "app/components/Counter.tsx", "app/globals.css", "app/layout.tsx", "app/page.test.tsx", "app/page.tsx", "e2e/home.spec.ts", "eslint.config.mjs", "next-env.d.ts", "next.config.ts", "package.json", "playwright.config.ts", "pnpm-workspace.yaml", "public/.gitkeep", "README.md", "src/test/setup.ts", "tooling/package-standalone.mjs", "tooling/verify-standalone.mjs", "tsconfig.json", "vitest.config.mts"] },
|
|
41
|
+
"integrity": "sha256:864665c111fcbcfeef508c3763a4ed31bf2664df137ac545c80c2b9a26aa3828"
|
|
42
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"capabilityId": "foundation.nextjs-full-stack-application",
|
|
4
|
+
"version": "1.1.0",
|
|
5
|
+
"integrity": "sha256:cc455fd4f9fd1034fa4fbb22a703fa62f6404db7cd23c78ae8519af3a9b77a81",
|
|
6
|
+
"consumerProfile": "nextjs-full-stack-application",
|
|
7
|
+
"kind": "profile",
|
|
8
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
9
|
+
"integration": {
|
|
10
|
+
"title": "可演进 Next.js 全栈应用",
|
|
11
|
+
"purpose": "验证 Next.js 工程合同,同时将业务已修改的 package.json 作为 seed baseline 保留。",
|
|
12
|
+
"packages": [
|
|
13
|
+
{ "packageName": "next", "version": "16.2.11", "usage": "runtime", "imports": [{ "importFrom": "next/server", "symbol": "NextResponse", "referencePath": "app/api/health/route.ts" }] },
|
|
14
|
+
{ "packageName": "react", "version": "19.2.8", "usage": "runtime", "imports": [{ "importFrom": "react", "symbol": "ReactNode", "referencePath": "app/layout.tsx" }] }
|
|
15
|
+
],
|
|
16
|
+
"codeAssets": [{ "sourcePath": "assets/package.json", "targetPath": "package.json", "ownership": "seed-file" }]
|
|
17
|
+
},
|
|
18
|
+
"assets": [{ "path": "package.json", "ownership": "seed-file", "digest": "sha256:2ad76a9d95f832ee492782133b39f212fc67d79b2c006382ae0e225504efc94c", "mode": 420, "renderer": "nextjs-application-package-json-v1" }],
|
|
19
|
+
"verifiers": [{ "id": "next.application-build" }, { "id": "typescript.typecheck" }, { "id": "next.application-test" }, { "id": "next.application-package" }, { "id": "next.application-smoke" }],
|
|
20
|
+
"exit": { "ownedAssets": ["package.json"] }
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Package source fixture.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"capabilityId": "foundation.package-source-fixture",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"consumerProfile": "any-project",
|
|
6
|
+
"kind": "engineering-feature",
|
|
7
|
+
"dependencies": { "profiles": ["blank-typescript-library"] },
|
|
8
|
+
"compatibility": { "node": ">=24.18.0 <25", "pnpm": "11.21.0", "typescript": "6.0.3" },
|
|
9
|
+
"integration": { "title": "Package Source Fixture", "purpose": "验证 Registry package adoption", "packages": [{ "packageName": "@aipt/runtime-fixture", "version": "1.0.0", "usage": "runtime", "imports": [] }], "codeAssets": [] },
|
|
10
|
+
"assets": [{ "path": "README.runtime.md", "ownership": "owned-file", "digest": "sha256:e4a0f6677ba98b15f0b690547bb8db465334bc5abdcf6f0d3a2d77f2f699d035", "mode": 420 }],
|
|
11
|
+
"verifiers": [{ "id": "capability.assets" }],
|
|
12
|
+
"exit": { "ownedAssets": ["README.runtime.md"] },
|
|
13
|
+
"availability": { "maturity": "available", "visibility": "catalog-consumers", "sourceState": "registry-verified" },
|
|
14
|
+
"packageSources": [{ "registryId": "registry.test.fixture", "packageName": "@aipt/runtime-fixture", "version": "1.0.0", "integrity": "sha512-o9odwd/bKS6lIm50GQzDMSZQDSQ2x5qvxBpj9MMvAaf7nivKmmNHqNwRF6n3nmsYjcasqF/RLcGncTGRWFiIeQ==", "tarballDigest": "sha256:6c141af85814de38ad4c9ad1907c8ba94dfa9740b5be7b95045548e0f0eb691c", "deliveryReceiptId": "sha256:07e605e931e828116332f97959fb78f4a5cf46981316761274a0f0aabbf79514", "usage": "runtime" }],
|
|
15
|
+
"integrity": "sha256:d0d678738a2cc51dde37e0fa45137d079b477d05c4b2f9830c8bf0a6ba7a2f65"
|
|
16
|
+
}
|
package/dist/catalog/foundation.page-authoring/1.0.0/assets/docs/engineering/page-authoring.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# 页面编排源码投影
|
|
2
|
+
|
|
3
|
+
本项目的页面事实源在 `src/page-authoring/`:**项目清单**与**各页 JSON**。入口由 `@aipt/page-projection` 按 `renderMode` 只生成一种。
|
|
4
|
+
|
|
5
|
+
## 落点
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
src/page-authoring/project.json
|
|
9
|
+
src/page-authoring/pages/<pageId>.json
|
|
10
|
+
src/page-authoring/load-document.ts
|
|
11
|
+
src/page-authoring/csr-entry.tsx 仅 renderMode=csr
|
|
12
|
+
app/(page-authoring)/<segments>/page.tsx 仅 renderMode=ssr
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
禁止写入项目根 `pages/`(会启用 Next Pages Router)。禁止一次 Plan 同时写 Vite 与 Next 两套壳。
|
|
16
|
+
|
|
17
|
+
Catalog 登记的 seed 是一份双页 **csr** demo。SSR 站点应改 `project.json` 的 `renderMode` 后重新投影。
|
|
18
|
+
|
|
19
|
+
## 采用边界
|
|
20
|
+
|
|
21
|
+
- 不要在低代码工作台工具 App(`apps/page-studio`)上采用本能力。
|
|
22
|
+
- `schema` 模式不把 per-page `.tsx` 当事实源;规范互转属于后续切片。
|
|
23
|
+
- 预览仍是同一 Renderer 的 CSR,不能把 Hosted CSR 或本机预览称作 SSR。
|
|
24
|
+
|
|
25
|
+
## 退出
|
|
26
|
+
|
|
27
|
+
Capability remove 覆盖本能力 owned 文件。动态增删的页面文件须随新的投影 Plan 进入 Lock。
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createPageElement } from "@aipt/page-renderer";
|
|
2
|
+
import { loadPageAuthoringDocument } from "./load-document";
|
|
3
|
+
|
|
4
|
+
export function PageAuthoringCsrEntry(props: { readonly path: string }) {
|
|
5
|
+
return createPageElement(loadPageAuthoringDocument(), { path: props.path });
|
|
6
|
+
}
|
package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/load-document.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { parsePageAuthoringDocument, type PageAuthoringDocument } from "@aipt/page-definition";
|
|
2
|
+
import project from "./project.json";
|
|
3
|
+
import page_about from "./pages/about.json";
|
|
4
|
+
import page_home from "./pages/home.json";
|
|
5
|
+
|
|
6
|
+
export function loadPageAuthoringDocument(): PageAuthoringDocument {
|
|
7
|
+
return parsePageAuthoringDocument({
|
|
8
|
+
project,
|
|
9
|
+
pages: [page_about, page_home],
|
|
10
|
+
});
|
|
11
|
+
}
|
package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/pages/about.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"pageId": "about",
|
|
4
|
+
"title": "关于",
|
|
5
|
+
"projectId": "site-demo",
|
|
6
|
+
"authoringMode": "schema",
|
|
7
|
+
"root": {
|
|
8
|
+
"id": "aboutRoot",
|
|
9
|
+
"kind": "box",
|
|
10
|
+
"props": {},
|
|
11
|
+
"children": [
|
|
12
|
+
{
|
|
13
|
+
"id": "aboutOk",
|
|
14
|
+
"kind": "material",
|
|
15
|
+
"materialId": "ui.button",
|
|
16
|
+
"props": {
|
|
17
|
+
"children": "返回"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"context": {
|
|
23
|
+
"state": {},
|
|
24
|
+
"actions": []
|
|
25
|
+
}
|
|
26
|
+
}
|
package/dist/catalog/foundation.page-authoring/1.0.0/assets/src/page-authoring/pages/home.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"pageId": "home",
|
|
4
|
+
"title": "首页",
|
|
5
|
+
"projectId": "site-demo",
|
|
6
|
+
"authoringMode": "schema",
|
|
7
|
+
"root": {
|
|
8
|
+
"id": "root",
|
|
9
|
+
"kind": "box",
|
|
10
|
+
"props": {},
|
|
11
|
+
"children": [
|
|
12
|
+
{
|
|
13
|
+
"id": "ok",
|
|
14
|
+
"kind": "material",
|
|
15
|
+
"materialId": "ui.button",
|
|
16
|
+
"props": {
|
|
17
|
+
"children": "确认"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"context": {
|
|
23
|
+
"state": {},
|
|
24
|
+
"actions": []
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"projectId": "site-demo",
|
|
4
|
+
"title": "演示站点",
|
|
5
|
+
"renderMode": "csr",
|
|
6
|
+
"prerenderRoutes": false,
|
|
7
|
+
"authoringProfile": "react-data",
|
|
8
|
+
"routes": [
|
|
9
|
+
{
|
|
10
|
+
"path": "/",
|
|
11
|
+
"pageId": "home",
|
|
12
|
+
"title": "首页"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"path": "/about",
|
|
16
|
+
"pageId": "about",
|
|
17
|
+
"title": "关于"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"navigation": [
|
|
21
|
+
{
|
|
22
|
+
"label": "首页",
|
|
23
|
+
"path": "/"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"label": "关于",
|
|
27
|
+
"path": "/about"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"defaultPath": "/",
|
|
31
|
+
"registryLock": [
|
|
32
|
+
{
|
|
33
|
+
"materialId": "ui.button",
|
|
34
|
+
"version": "1.0.0"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"dataProxy": []
|
|
38
|
+
}
|