@yss123/cage-cli 0.3.0 → 0.3.2
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 +7 -3
- package/dist/approval-tree.d.ts +88 -0
- package/dist/approval-tree.js +18 -0
- package/dist/approval-tree.js.map +1 -0
- package/dist/capabilities.js +46 -31
- package/dist/capabilities.js.map +1 -1
- package/dist/graph-approvals.d.ts +11 -1
- package/dist/graph-approvals.js +18 -5
- package/dist/graph-approvals.js.map +1 -1
- package/dist/graph-relations.js +10 -8
- package/dist/graph-relations.js.map +1 -1
- package/dist/graph.js +2 -0
- package/dist/graph.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/ontology.js +8 -5
- package/dist/ontology.js.map +1 -1
- package/dist/project-structure.js +2 -2
- package/dist/project-structure.js.map +1 -1
- package/dist/sync.d.ts +1 -1
- package/dist/sync.js +25 -108
- package/dist/sync.js.map +1 -1
- package/graph-ui/approval-flow.js +28 -8
- package/graph-ui/approval-parallel.js +110 -0
- package/graph-ui/approval-tree.js +17 -0
- package/graph-ui/business.css +26 -0
- package/graph-ui/business.js +30 -13
- package/graph-ui/graph-approvals.js +18 -5
- package/graph-ui/graph-relations.js +10 -8
- package/package.json +6 -6
- package/templates/app/.agents/skills/cage-development/SKILL.md +10 -0
- package/templates/app/AGENTS.md +39 -122
- package/templates/app/CLAUDE.md +6 -0
- package/templates/app/README.md +9 -8
- package/templates/app/apps/api/package.json +2 -2
- package/templates/app/apps/web/package.json +1 -1
- package/templates/app/apps/web/src/modules/approval/components/task-operation-dialog.tsx +61 -0
- package/templates/app/apps/web/src/modules/approval/hooks/use-approval-tasks.ts +6 -9
- package/templates/app/apps/web/src/modules/approval/pages/approval-tasks-page.tsx +81 -49
- package/templates/app/apps/web/src/modules/approval/pages/approval-tasks.css +18 -0
- package/templates/app/apps/web/src/modules/purchase/components/approval-history.tsx +39 -4
- package/templates/app/apps/web/src/modules/purchase/components/order-reviewers.tsx +38 -0
- package/templates/app/apps/web/src/modules/purchase/components/purchase-order-form.tsx +9 -2
- package/templates/app/apps/web/src/modules/purchase/pages/purchase-intelligence.css +2 -0
- package/templates/app/apps/web/src/modules/purchase/pages/purchase-order-detail-page.tsx +2 -0
- package/templates/app/apps/web/src/modules/purchase/pages/purchase-orders-page.tsx +2 -0
- package/templates/app/apps/web/src/shared/lib/error-message.ts +6 -1
- package/templates/app/apps/web/src/shared/ui/approval-member-picker.css +10 -0
- package/templates/app/apps/web/src/shared/ui/approval-member-picker.tsx +51 -0
- package/templates/app/cage.config.json +14 -0
- package/templates/app/db/migrations/0004_draft.sql +27 -0
- package/templates/app/docs/README.md +11 -0
- package/templates/app/docs/development/README.md +64 -0
- package/templates/app/docs/development/examples/note/note-detail-page.tsx +106 -0
- package/templates/app/docs/development/examples/note/note.ts +67 -0
- package/templates/app/docs/development/examples/note/notes-page.tsx +87 -0
- package/templates/{blank/docs/ai → app/docs/development/examples}/purchase-example.md +24 -10
- package/templates/{blank/docs/ai → app/docs/development/getting-started}/architecture.md +4 -4
- package/templates/app/docs/development/getting-started/first-feature.md +66 -0
- package/templates/{blank/docs/ai → app/docs/development/getting-started}/workflow.md +13 -12
- package/templates/app/docs/development/guides/approvals.md +270 -0
- package/templates/app/docs/development/guides/business-collaboration.md +63 -0
- package/templates/{blank/docs/ai → app/docs/development/guides}/files.md +5 -1
- package/templates/app/docs/{ai → development/guides}/intelligence.md +4 -4
- package/templates/{blank/docs/ai → app/docs/development/guides}/recipes.md +31 -11
- package/templates/app/docs/{ai → development/guides}/relations.md +2 -2
- package/templates/app/docs/{ai → development/guides}/routing.md +1 -1
- package/templates/{blank/docs/ai → app/docs/development/guides}/transfers.md +1 -1
- package/templates/{blank/docs/ai → app/docs/development/reference}/commenting.md +1 -1
- package/templates/app/docs/{ai → development/reference}/primitives.md +8 -62
- package/templates/app/docs/{ai → development/reference}/project-structure.md +2 -2
- package/templates/app/docs/development/skills/cage-development/SKILL.md +134 -0
- package/templates/{blank/docs/ai → app/docs/development/tools}/diagnostics.md +3 -3
- package/templates/{blank/docs/ai → app/docs/development/tools}/ontology-context.md +3 -3
- package/templates/app/docs/{ai → development/tools}/troubleshooting.md +7 -1
- package/templates/app/docs/errors/CAGE-AI-001.md +3 -3
- package/templates/app/docs/errors/CAGE-APPR-001.md +13 -10
- package/templates/app/docs/errors/CAGE-APPR-002.md +1 -1
- package/templates/app/docs/errors/CAGE-APPR-003.md +1 -1
- package/templates/app/docs/errors/CAGE-APPR-004.md +1 -1
- package/templates/app/docs/errors/CAGE-APPR-005.md +5 -5
- package/templates/app/docs/errors/CAGE-APPR-006.md +25 -10
- package/templates/app/docs/errors/CAGE-APPR-007.md +9 -7
- package/templates/app/docs/errors/CAGE-APPR-010.md +1 -1
- package/templates/app/docs/errors/CAGE-AUDIT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-AUTH-001.md +1 -1
- package/templates/app/docs/errors/CAGE-BIZ-001.md +1 -1
- package/templates/app/docs/errors/CAGE-BIZ-002.md +1 -1
- package/templates/app/docs/errors/CAGE-BUDGET-001.md +1 -1
- package/templates/app/docs/errors/CAGE-BUDGET-002.md +1 -1
- package/templates/app/docs/errors/CAGE-BUDGET-003.md +1 -1
- package/templates/app/docs/errors/CAGE-CMD-002.md +1 -1
- package/templates/app/docs/errors/CAGE-CMD-003.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-001.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-002.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-003.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-004.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-005.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-006.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-007.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-008.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-009.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-010.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-011.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-012.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-013.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-014.md +1 -1
- package/templates/app/docs/errors/CAGE-CONN-015.md +1 -1
- package/templates/app/docs/errors/CAGE-CREATE-001.md +2 -2
- package/templates/app/docs/errors/CAGE-DECL-001.md +1 -1
- package/templates/app/docs/errors/CAGE-DECL-002.md +1 -1
- package/templates/app/docs/errors/CAGE-DECL-003.md +1 -1
- package/templates/app/docs/errors/CAGE-DECL-004.md +1 -1
- package/templates/app/docs/errors/CAGE-DEP-001.md +1 -1
- package/templates/app/docs/errors/CAGE-DEP-002.md +1 -1
- package/templates/app/docs/errors/CAGE-DEP-003.md +1 -1
- package/templates/app/docs/errors/CAGE-DEP-004.md +1 -1
- package/templates/app/docs/errors/CAGE-DEP-005.md +1 -1
- package/templates/app/docs/errors/CAGE-DIAG-001.md +1 -1
- package/templates/app/docs/errors/CAGE-DLQ-001.md +1 -1
- package/templates/app/docs/errors/CAGE-ENV-001.md +1 -1
- package/templates/app/docs/errors/CAGE-ENV-002.md +1 -1
- package/templates/app/docs/errors/CAGE-ENV-003.md +1 -1
- package/templates/app/docs/errors/CAGE-EVENT-001.md +2 -2
- package/templates/app/docs/errors/CAGE-EVENT-002.md +1 -1
- package/templates/app/docs/errors/CAGE-FIELD-001.md +1 -1
- package/templates/app/docs/errors/CAGE-FIELD-002.md +1 -1
- package/templates/app/docs/errors/CAGE-FIELD-003.md +1 -1
- package/templates/app/docs/errors/CAGE-FIELD-004.md +1 -1
- package/templates/app/docs/errors/CAGE-FILE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-GEN-001.md +1 -1
- package/templates/app/docs/errors/CAGE-GEN-002.md +1 -1
- package/templates/app/docs/errors/CAGE-GEN-003.md +1 -1
- package/templates/app/docs/errors/CAGE-GRANT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-GRANT-002.md +1 -1
- package/templates/app/docs/errors/CAGE-GRANT-003.md +1 -1
- package/templates/app/docs/errors/CAGE-IMPACT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-IMPACT-002.md +1 -1
- package/templates/app/docs/errors/CAGE-INIT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-INIT-002.md +1 -1
- package/templates/app/docs/errors/CAGE-INIT-003.md +1 -1
- package/templates/app/docs/errors/CAGE-INIT-004.md +1 -1
- package/templates/app/docs/errors/CAGE-INIT-005.md +1 -1
- package/templates/app/docs/errors/CAGE-JOB-001.md +1 -1
- package/templates/app/docs/errors/CAGE-JOB-002.md +1 -1
- package/templates/app/docs/errors/CAGE-JOB-003.md +1 -1
- package/templates/app/docs/errors/CAGE-LINT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-MIG-001.md +1 -1
- package/templates/app/docs/errors/CAGE-MIG-002.md +1 -1
- package/templates/app/docs/errors/CAGE-MIG-005.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-001.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-002.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-003.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-004.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-005.md +1 -1
- package/templates/app/docs/errors/CAGE-NAME-006.md +1 -1
- package/templates/app/docs/errors/CAGE-ORG-001.md +1 -1
- package/templates/app/docs/errors/CAGE-PAIR-002.md +1 -1
- package/templates/app/docs/errors/CAGE-QUERY-001.md +1 -1
- package/templates/app/docs/errors/CAGE-QUERY-002.md +1 -1
- package/templates/app/docs/errors/CAGE-QUERY-003.md +1 -1
- package/templates/app/docs/errors/CAGE-REACT-001.md +1 -1
- package/templates/app/docs/errors/CAGE-REACT-002.md +1 -1
- package/templates/app/docs/errors/CAGE-REACT-003.md +1 -1
- package/templates/app/docs/errors/CAGE-READS-001.md +1 -1
- package/templates/app/docs/errors/CAGE-REG-001.md +2 -2
- package/templates/app/docs/errors/CAGE-REG-002.md +1 -1
- package/templates/app/docs/errors/CAGE-REG-003.md +1 -1
- package/templates/app/docs/errors/CAGE-REL-001.md +1 -1
- package/templates/app/docs/errors/CAGE-ROUTE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-SCOPE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-SCOPE-002.md +1 -1
- package/templates/app/docs/errors/CAGE-SECRET-001.md +1 -1
- package/templates/app/docs/errors/CAGE-SECRET-002.md +1 -1
- package/templates/app/docs/errors/CAGE-SENS-001.md +1 -1
- package/templates/app/docs/errors/CAGE-SQL-001.md +1 -1
- package/templates/app/docs/errors/CAGE-SQL-002.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-002.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-003.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-004.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-005.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-010.md +1 -1
- package/templates/app/docs/errors/CAGE-STATE-011.md +1 -1
- package/templates/app/docs/errors/CAGE-STRUCT-001.md +4 -4
- package/templates/app/docs/errors/CAGE-STRUCT-002.md +3 -3
- package/templates/app/docs/errors/CAGE-SYNC-001.md +4 -4
- package/templates/app/docs/errors/CAGE-TEST-001.md +1 -1
- package/templates/app/docs/errors/CAGE-TEST-002.md +1 -1
- package/templates/app/docs/errors/CAGE-TEST-003.md +1 -1
- package/templates/app/docs/errors/CAGE-UNSAFE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-UPGRADE-001.md +1 -1
- package/templates/app/docs/errors/CAGE-WORKER-001.md +1 -1
- package/templates/app/docs/errors/CAGE-WORKER-002.md +1 -1
- package/templates/app/docs/errors/CAGE-WORKER-003.md +1 -1
- package/templates/app/docs/errors/README.md +3 -3
- package/templates/app/docs/errors/runtime.md +1 -1
- package/templates/app/package.json +3 -3
- package/templates/app/packages/contracts/package.json +1 -1
- package/templates/app/packages/contracts/src/aggregates/approval-member/index.ts +70 -0
- package/templates/app/packages/contracts/src/aggregates/purchase-order/index.ts +10 -2
- package/templates/app/packages/contracts/src/index.ts +9 -0
- package/templates/app/packages/domain/package.json +5 -5
- package/templates/app/packages/domain/src/modules/purchase/approval-members.ts +54 -0
- package/templates/app/packages/domain/src/modules/purchase/approvals.ts +19 -8
- package/templates/app/packages/domain/src/modules/purchase/index.ts +2 -1
- package/templates/app/packages/domain/src/modules/purchase/intelligence.test.ts +169 -7
- package/templates/app/packages/domain/src/modules/purchase/purchase-order.ts +56 -5
- package/templates/blank/.agents/skills/cage-development/SKILL.md +10 -0
- package/templates/blank/AGENTS.md +39 -122
- package/templates/blank/CLAUDE.md +6 -0
- package/templates/blank/README.md +3 -3
- package/templates/blank/apps/api/package.json +1 -1
- package/templates/blank/apps/web/package.json +1 -1
- package/templates/blank/docs/README.md +11 -0
- package/templates/blank/docs/development/README.md +64 -0
- package/templates/blank/docs/development/examples/note/note-detail-page.tsx +106 -0
- package/templates/blank/docs/development/examples/note/note.ts +67 -0
- package/templates/blank/docs/development/examples/note/notes-page.tsx +87 -0
- package/templates/{app/docs/ai → blank/docs/development/examples}/purchase-example.md +24 -10
- package/templates/{app/docs/ai → blank/docs/development/getting-started}/architecture.md +4 -4
- package/templates/blank/docs/development/getting-started/first-feature.md +66 -0
- package/templates/{app/docs/ai → blank/docs/development/getting-started}/workflow.md +13 -12
- package/templates/blank/docs/development/guides/approvals.md +270 -0
- package/templates/blank/docs/development/guides/business-collaboration.md +63 -0
- package/templates/{app/docs/ai → blank/docs/development/guides}/files.md +5 -1
- package/templates/blank/docs/{ai → development/guides}/intelligence.md +4 -4
- package/templates/{app/docs/ai → blank/docs/development/guides}/recipes.md +31 -11
- package/templates/blank/docs/{ai → development/guides}/relations.md +2 -2
- package/templates/blank/docs/{ai → development/guides}/routing.md +1 -1
- package/templates/{app/docs/ai → blank/docs/development/guides}/transfers.md +1 -1
- package/templates/{app/docs/ai → blank/docs/development/reference}/commenting.md +1 -1
- package/templates/blank/docs/{ai → development/reference}/primitives.md +8 -62
- package/templates/blank/docs/{ai → development/reference}/project-structure.md +2 -2
- package/templates/blank/docs/development/skills/cage-development/SKILL.md +134 -0
- package/templates/{app/docs/ai → blank/docs/development/tools}/diagnostics.md +3 -3
- package/templates/{app/docs/ai → blank/docs/development/tools}/ontology-context.md +3 -3
- package/templates/blank/docs/{ai → development/tools}/troubleshooting.md +7 -1
- package/templates/blank/docs/errors/CAGE-AI-001.md +3 -3
- package/templates/blank/docs/errors/CAGE-APPR-001.md +13 -10
- package/templates/blank/docs/errors/CAGE-APPR-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-APPR-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-APPR-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-APPR-005.md +5 -5
- package/templates/blank/docs/errors/CAGE-APPR-006.md +25 -10
- package/templates/blank/docs/errors/CAGE-APPR-007.md +9 -7
- package/templates/blank/docs/errors/CAGE-APPR-010.md +1 -1
- package/templates/blank/docs/errors/CAGE-AUDIT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-AUTH-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-BIZ-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-BIZ-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-BUDGET-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-BUDGET-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-BUDGET-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-CMD-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-CMD-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-006.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-007.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-008.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-009.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-010.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-011.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-012.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-013.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-014.md +1 -1
- package/templates/blank/docs/errors/CAGE-CONN-015.md +1 -1
- package/templates/blank/docs/errors/CAGE-CREATE-001.md +2 -2
- package/templates/blank/docs/errors/CAGE-DECL-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-DECL-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-DECL-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-DECL-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-DEP-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-DEP-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-DEP-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-DEP-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-DEP-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-DIAG-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-DLQ-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-ENV-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-ENV-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-ENV-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-EVENT-001.md +2 -2
- package/templates/blank/docs/errors/CAGE-EVENT-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-FIELD-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-FIELD-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-FIELD-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-FIELD-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-FILE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-GEN-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-GEN-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-GEN-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-GRANT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-GRANT-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-GRANT-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-IMPACT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-IMPACT-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-INIT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-INIT-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-INIT-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-INIT-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-INIT-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-JOB-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-JOB-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-JOB-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-LINT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-MIG-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-MIG-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-MIG-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-NAME-006.md +1 -1
- package/templates/blank/docs/errors/CAGE-ORG-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-PAIR-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-QUERY-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-QUERY-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-QUERY-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-REACT-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-REACT-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-REACT-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-READS-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-REG-001.md +2 -2
- package/templates/blank/docs/errors/CAGE-REG-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-REG-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-REL-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-ROUTE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-SCOPE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-SCOPE-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-SECRET-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-SECRET-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-SENS-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-SQL-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-SQL-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-004.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-005.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-010.md +1 -1
- package/templates/blank/docs/errors/CAGE-STATE-011.md +1 -1
- package/templates/blank/docs/errors/CAGE-STRUCT-001.md +4 -4
- package/templates/blank/docs/errors/CAGE-STRUCT-002.md +3 -3
- package/templates/blank/docs/errors/CAGE-SYNC-001.md +4 -4
- package/templates/blank/docs/errors/CAGE-TEST-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-TEST-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-TEST-003.md +1 -1
- package/templates/blank/docs/errors/CAGE-UNSAFE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-UPGRADE-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-WORKER-001.md +1 -1
- package/templates/blank/docs/errors/CAGE-WORKER-002.md +1 -1
- package/templates/blank/docs/errors/CAGE-WORKER-003.md +1 -1
- package/templates/blank/docs/errors/README.md +3 -3
- package/templates/blank/docs/errors/runtime.md +1 -1
- package/templates/blank/docs/examples/purchase-admin/README.md +1 -1
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/components/task-operation-dialog.tsx +61 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/hooks/use-approval-tasks.ts +6 -9
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/pages/approval-tasks-page.tsx +81 -49
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/approval/pages/approval-tasks.css +18 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/approval-history.tsx +39 -4
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/order-reviewers.tsx +38 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/components/purchase-order-form.tsx +9 -2
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-intelligence.css +2 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-order-detail-page.tsx +2 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/modules/purchase/pages/purchase-orders-page.tsx +2 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/lib/error-message.ts +6 -1
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/ui/approval-member-picker.css +10 -0
- package/templates/blank/docs/examples/purchase-admin/apps/web/src/shared/ui/approval-member-picker.tsx +51 -0
- package/templates/blank/docs/examples/purchase-admin/cage.config.json +14 -0
- package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/aggregates/approval-member/index.ts +70 -0
- package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/aggregates/purchase-order/index.ts +10 -2
- package/templates/blank/docs/examples/purchase-admin/packages/contracts/src/index.ts +9 -0
- package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/approval-members.ts +54 -0
- package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/approvals.ts +19 -8
- package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/index.ts +2 -1
- package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/intelligence.test.ts +169 -7
- package/templates/blank/docs/examples/purchase-admin/packages/domain/src/modules/purchase/purchase-order.ts +56 -5
- package/templates/blank/package.json +3 -3
- package/templates/blank/packages/contracts/package.json +1 -1
- package/templates/blank/packages/domain/package.json +5 -5
- package/templates/app/docs/ai/README.md +0 -98
- package/templates/blank/docs/ai/README.md +0 -98
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ pnpm add -D @yss123/cage-cli
|
|
|
10
10
|
|
|
11
11
|
首次使用建议通过脚手架创建完整项目,所需依赖由模板统一配置。需要 Node.js 24 或更新版本。
|
|
12
12
|
|
|
13
|
+
创建的两种模板均携带 `docs/development` 教材、Cage Skill、`.agents/skills/cage-development` 发现入口及 `CLAUDE.md`。agent 从项目 AGENTS 进入,遇到需求或文档疑点时提出选项、影响与推荐,与用户确定业务后实施。`cage sync` 只更新 AGENTS 托管区,已有项目的教材和 Skill 需另行审查合入同版本模板内容。
|
|
14
|
+
|
|
13
15
|
## 从零开始
|
|
14
16
|
|
|
15
17
|
```powershell
|
|
@@ -56,10 +58,12 @@ pnpm dev
|
|
|
56
58
|
|
|
57
59
|
`pnpm exec cage create my-app` 交互选择空白业务项目或采购示例项目;也可显式指定 `--template blank` 或 `--template purchase`。省略目录时可交互输入,非交互终端必须同时提供目录与模板。`--framework-path F:/cage` 可链接已构建的本地框架。
|
|
58
60
|
|
|
59
|
-
自 `0.2.0` 起,两种产物都包含根目录 `AGENTS.md`、`docs/
|
|
61
|
+
自 `0.2.0` 起,两种产物都包含根目录 `AGENTS.md`、`docs/development` 业务开发教材和 `docs/errors` 离线错误码册。空白项目只运行组织模型,采购参考代码在 `docs/examples/purchase-admin`;采购项目运行完整演示链路。让 Codex 等编程工具先读 `AGENTS.md`,无需另行克隆框架源码。
|
|
60
62
|
|
|
61
63
|
`cage sync` 更新 AGENTS 框架托管区,保留标记外的项目业务约定;它不自动覆盖业务代码或学习资料。
|
|
62
64
|
|
|
65
|
+
当前创建产物还带有 `.agents/skills/cage-development/SKILL.md` 发现入口,以及引导 Claude 读取同一教材的 `CLAUDE.md`。框架开发方法统一维护在 `docs/development/skills/cage-development/SKILL.md`,按需阅读专题与完整入门课;全部为本地文件,无需向量模型、索引构建或独立服务。不支持 Skills 的工具也可直接按 AGENTS.md 阅读。发现入口不保证每个宿主的自动选择行为,实际加载与业务结果需分别验证。
|
|
66
|
+
|
|
63
67
|
## 用本体图开发业务
|
|
64
68
|
|
|
65
69
|
`pnpm exec cage graph` 默认打开业务地图:业务板块 → 流程入口 → 流程图 → 实现代码。板块按模块目录收纳对象,未分模块的项目按对象展示;可通过 `graph.labels` 的 `module:模块目录名` 设置板块中文标题。流程图使用业务节点、审批菱形及方向箭头,保留同事务、异步、条件映射和审批分支。普通滚轮缩放,拖动空白处平移,拖动节点时连线跟随;提供抓手、缩放比例、适应、重排和展开画布,支持横向/纵向布局。点击节点查看同一次抽取的声明代码,保留当前视野与手动布局。地址支持分享、刷新与前进后退;“对象与字段”“完整本体”和复制 AI 上下文仍可使用。
|
|
@@ -76,9 +80,9 @@ pnpm exec cage context command:PurchaseOrder.cancel --format json --out .cage/co
|
|
|
76
80
|
|
|
77
81
|
CLI 每次重新抽取,不需要数据库;报告包含中文候选与依据、业务关系解释、源码位置、契约/前端/测试候选、迁移和授权提示。默认 Markdown;查询支持 `--format json`、`--out`,context 可用 `--depth` / `--limit` 控制范围。图规则错误仍输出可用上下文并返回非零;无命中、精确节点歧义或深度内无路径也非零。Web 节点详情可复制同源 AI 上下文,修改代码后先重新抽取。
|
|
78
82
|
|
|
79
|
-
名称、SQL 字段和测试匹配是线索;具体执行条件需阅读源码。上述命令自 `0.2.0` 提供,完整流程随新项目分发在 `docs/
|
|
83
|
+
名称、SQL 字段和测试匹配是线索;具体执行条件需阅读源码。上述命令自 `0.2.0` 提供,完整流程随新项目分发在 `docs/development/tools/ontology-context.md`。
|
|
80
84
|
|
|
81
|
-
- [完整使用说明](https://github.com/shunshunyue/cage/blob/main/docs/使用说明.md)
|
|
85
|
+
- [完整使用说明](https://github.com/shunshunyue/cage/blob/main/docs/manual/使用说明.md)
|
|
82
86
|
- [框架源码与范例](https://github.com/shunshunyue/cage)
|
|
83
87
|
- [问题反馈](https://github.com/shunshunyue/cage/issues)
|
|
84
88
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 审批声明 JSON 的只读结构与遍历工具,供本体抽取、字段关系说明和静态流程图共同消费。
|
|
3
|
+
* 仅遍历 when、parallel 和 branch 保留的声明树,不执行条件、选人、审批引擎或实际实例状态。
|
|
4
|
+
* 浏览器可引用这些类型和纯函数,不引入 approval 运行时;标题和依赖始终来自抽取快照。
|
|
5
|
+
*/
|
|
6
|
+
/** 人工步骤的静态可解释元数据;未知扩展由抽取原始 JSON 保留,本投影不据此执行业务。 */
|
|
7
|
+
export interface ApprovalRouteStep {
|
|
8
|
+
/** 人工步骤判别,不同于 parallel 的分支容器。 */
|
|
9
|
+
kind: 'step';
|
|
10
|
+
/** 提交政策中的标题和同节点原始审批票完成规则。 */
|
|
11
|
+
title: string;
|
|
12
|
+
mode: 'any' | 'all';
|
|
13
|
+
/** candidate 表示共享领取;不代表分支并行或多人会签。 */
|
|
14
|
+
assignment?: 'direct' | 'candidate';
|
|
15
|
+
/** 任务管理开关与自然分钟总时限,只作说明,不表示已经发生。 */
|
|
16
|
+
actions?: {
|
|
17
|
+
transfer?: boolean;
|
|
18
|
+
delegate?: boolean;
|
|
19
|
+
addSign?: boolean;
|
|
20
|
+
};
|
|
21
|
+
sla?: {
|
|
22
|
+
durationMinutes: number;
|
|
23
|
+
remindBeforeMinutes?: number;
|
|
24
|
+
};
|
|
25
|
+
/** 封闭选人策略;被选中不代表拥有业务命令能力。 */
|
|
26
|
+
approver: {
|
|
27
|
+
kind: 'deptLeader';
|
|
28
|
+
field: string;
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'field';
|
|
31
|
+
field: string;
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'role';
|
|
34
|
+
code: string;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'user';
|
|
37
|
+
userId: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** AI 步骤只暴露绘图及取证依赖所需字段;提示词不由本遍历器加入公开图。 */
|
|
41
|
+
export interface ApprovalAiRouteStep {
|
|
42
|
+
/** AI 节点判别;其人工接管仍归属于同一声明节点。 */
|
|
43
|
+
kind: 'ai';
|
|
44
|
+
/** 展示标题,不能作为实例节点的唯一身份或执行顺序。 */
|
|
45
|
+
title: string;
|
|
46
|
+
/** 转人工时的封闭选人策略,图谱只说明来源,不授予处理权限。 */
|
|
47
|
+
handoff: ApprovalRouteStep['approver'];
|
|
48
|
+
/** CLI 本体依据这些白名单画 uses/queries 关系,不实际读取数据。 */
|
|
49
|
+
context?: {
|
|
50
|
+
fields: readonly string[];
|
|
51
|
+
queries?: readonly string[];
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** 条件比较保留精确运算符与边界,不按展示顺序推断运行时是否满足。 */
|
|
55
|
+
export interface ApprovalRouteCondition {
|
|
56
|
+
/** 提交快照中的条件字段,由注册表校验是否进入 routable。 */
|
|
57
|
+
field: string;
|
|
58
|
+
/** 已声明的封闭比较方式;静态图不调用条件求值。 */
|
|
59
|
+
op: 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'ne' | 'in';
|
|
60
|
+
/** 固定阈值或集合,沿用原声明的类型和数值,不根据中文标签重新推断。 */
|
|
61
|
+
value: string | number | boolean | (string | number)[];
|
|
62
|
+
}
|
|
63
|
+
/** AND 分支内部为顺序声明,可继续含有条件和嵌套并行。 */
|
|
64
|
+
export interface ApprovalRouteBranch {
|
|
65
|
+
/** 分支容器判别;不能单独当作可分配任务。 */
|
|
66
|
+
kind: 'branch';
|
|
67
|
+
/** 所属并行组内唯一的名称,用于静态说明和分支定位。 */
|
|
68
|
+
title: string;
|
|
69
|
+
/** 分支内部的顺序子树;嵌套容器保留,不摊平成全流程顺序。 */
|
|
70
|
+
nodes: ApprovalRouteNode[];
|
|
71
|
+
}
|
|
72
|
+
/** 结构化路由树;parallel 必须等待全部活动分支,when 在实例启动时按快照求值。 */
|
|
73
|
+
export type ApprovalRouteNode = ApprovalRouteStep | ApprovalAiRouteStep | {
|
|
74
|
+
kind: 'when';
|
|
75
|
+
cond: ApprovalRouteCondition;
|
|
76
|
+
steps: ApprovalRouteNode[];
|
|
77
|
+
} | {
|
|
78
|
+
kind: 'parallel';
|
|
79
|
+
title: string;
|
|
80
|
+
branches: ApprovalRouteBranch[];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* 按声明的深度优先次序遍历全部节点,保留容器供条件解释使用,分支本身不是可执行步骤。
|
|
84
|
+
* 本函数不排序或改写源树;声明深度/数量由注册器限制,序号只能作为静态定位,不能当执行先后。
|
|
85
|
+
*/
|
|
86
|
+
export declare function approvalRouteNodes(nodes: readonly ApprovalRouteNode[]): ApprovalRouteNode[];
|
|
87
|
+
/** 收集全部人工/AI 叶节点,用于取证与选人依赖;并行结构仍需由调用方从原树单独保留。 */
|
|
88
|
+
export declare function approvalRouteSteps(nodes: readonly ApprovalRouteNode[]): (ApprovalRouteStep | ApprovalAiRouteStep)[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 审批声明 JSON 的只读结构与遍历工具,供本体抽取、字段关系说明和静态流程图共同消费。
|
|
3
|
+
* 仅遍历 when、parallel 和 branch 保留的声明树,不执行条件、选人、审批引擎或实际实例状态。
|
|
4
|
+
* 浏览器可引用这些类型和纯函数,不引入 approval 运行时;标题和依赖始终来自抽取快照。
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 按声明的深度优先次序遍历全部节点,保留容器供条件解释使用,分支本身不是可执行步骤。
|
|
8
|
+
* 本函数不排序或改写源树;声明深度/数量由注册器限制,序号只能作为静态定位,不能当执行先后。
|
|
9
|
+
*/
|
|
10
|
+
export function approvalRouteNodes(nodes) {
|
|
11
|
+
return nodes.flatMap(node => [node, ...(node.kind === 'when' ? approvalRouteNodes(node.steps) :
|
|
12
|
+
node.kind === 'parallel' ? node.branches.flatMap(branch => approvalRouteNodes(branch.nodes)) : [])]);
|
|
13
|
+
}
|
|
14
|
+
/** 收集全部人工/AI 叶节点,用于取证与选人依赖;并行结构仍需由调用方从原树单独保留。 */
|
|
15
|
+
export function approvalRouteSteps(nodes) {
|
|
16
|
+
return approvalRouteNodes(nodes).filter((node) => node.kind === 'step' || node.kind === 'ai');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=approval-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-tree.js","sourceRoot":"","sources":["../src/approval-tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwDH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAmC;IACpE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,kBAAkB,CAAC,KAAmC;IACpE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmD,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjJ,CAAC"}
|
package/dist/capabilities.js
CHANGED
|
@@ -13,42 +13,54 @@ import { VERSION } from './version.js';
|
|
|
13
13
|
const modules = ['kernel', 'approval', 'connectors', 'client', 'admin', 'files', 'ai', 'ai-protocol', 'ontology'];
|
|
14
14
|
// 关键词负责把需求指向真实公开符号;签名仍来自当前安装包,不能用词表伪造可用 API。
|
|
15
15
|
const topics = {
|
|
16
|
-
ai: { words: '智能助理 业务助理 本体助理 全能助理 AI审批 AI 审批 智能审批 运行时 执行循环 loop 工具 会话 记忆 上下文预算', guide: 'intelligence.md',
|
|
16
|
+
ai: { words: '智能助理 业务助理 本体助理 全能助理 AI审批 AI 审批 智能审批 运行时 执行循环 loop 工具 会话 记忆 上下文预算', guide: 'guides/intelligence.md',
|
|
17
17
|
limitations: ['须从 domain 入口导出并完成迁移、模型配置、角色授权和 worker 启动;框架支持不代表应用已启用。'] },
|
|
18
|
-
AiContextOptions: { words: '上下文预算 上下文窗口 大本体 按需加载 工具发现 工具搜索 历史 记忆 token', guide: 'intelligence.md' },
|
|
19
|
-
chatModel: { words: '模型接入 Chat Completions 流式输出 fake', guide: 'intelligence.md' },
|
|
20
|
-
responsesModel: { words: '模型接入 Responses 接口协议 会话接续 previous_response_id 服务端压缩', guide: 'intelligence.md',
|
|
18
|
+
AiContextOptions: { words: '上下文预算 上下文窗口 大本体 按需加载 工具发现 工具搜索 历史 记忆 token', guide: 'guides/intelligence.md' },
|
|
19
|
+
chatModel: { words: '模型接入 Chat Completions 流式输出 fake', guide: 'guides/intelligence.md' },
|
|
20
|
+
responsesModel: { words: '模型接入 Responses 接口协议 会话接续 previous_response_id 服务端压缩', guide: 'guides/intelligence.md',
|
|
21
21
|
limitations: ['Responses 接口可用不等于网关支持接续或压缩;接续历史仍占上下文与输入用量。'] },
|
|
22
|
-
managedModel: { words: '模型管理 模型配置 动态配置 密钥 admin HTTP HTTPS Chat Completions Responses', guide: 'intelligence.md',
|
|
22
|
+
managedModel: { words: '模型管理 模型配置 动态配置 密钥 admin HTTP HTTPS Chat Completions Responses', guide: 'guides/intelligence.md',
|
|
23
23
|
limitations: ['Admin 管理需显式授予 Sys.ai.models.manage,并配置部署加密密钥;连接测试不代表工具和业务联调通过。'] },
|
|
24
|
-
'@yss123/cage-approval#step': { words: '审批步骤 AI审批 AI 审批 智能审批 通过 退回修改 转人工', guide: 'intelligence.md',
|
|
24
|
+
'@yss123/cage-approval#step': { words: '审批步骤 AI审批 AI 审批 智能审批 通过 退回修改 转人工', guide: 'guides/intelligence.md',
|
|
25
25
|
limitations: ['AI 使用 step 的 kind: ai 重载;handoff 指定本步骤接管人,角色与结论命令仍须授权。'] },
|
|
26
|
-
AiStepOptions: { words: 'AI审批 AI 审批 智能审批 审核策略 退回修改 转人工', guide: 'intelligence.md' },
|
|
27
|
-
AiDecision: { words: 'AI审批 AI 审批 智能审批 三态裁决 通过 退回修改 转人工', guide: 'intelligence.md' },
|
|
28
|
-
useAssistant: { words: '智能助理 业务助理 本体助理 全能助理 随页助理 会话 前端 SDK 性格 流式输出 悬浮窗 Markdown', guide: 'intelligence.md',
|
|
26
|
+
AiStepOptions: { words: 'AI审批 AI 审批 智能审批 审核策略 退回修改 转人工', guide: 'guides/intelligence.md' },
|
|
27
|
+
AiDecision: { words: 'AI审批 AI 审批 智能审批 三态裁决 通过 退回修改 转人工', guide: 'guides/intelligence.md' },
|
|
28
|
+
useAssistant: { words: '智能助理 业务助理 本体助理 全能助理 随页助理 会话 前端 SDK 性格 流式输出 悬浮窗 Markdown', guide: 'guides/intelligence.md',
|
|
29
29
|
limitations: ['SDK 提供状态与动作;悬浮窗、Markdown 和交互卡片由应用实现,不能等待发送 Promise 完成后才展示增量文字。'] },
|
|
30
|
-
AiClient: { words: '业务助理 随页助理 前端 SDK 会话 记忆 性格 流式输出 模型管理', guide: 'intelligence.md' },
|
|
31
|
-
AiPageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'intelligence.md' },
|
|
32
|
-
useAiPageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'intelligence.md',
|
|
30
|
+
AiClient: { words: '业务助理 随页助理 前端 SDK 会话 记忆 性格 流式输出 模型管理', guide: 'guides/intelligence.md' },
|
|
31
|
+
AiPageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'guides/intelligence.md' },
|
|
32
|
+
useAiPageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'guides/intelligence.md',
|
|
33
33
|
limitations: ['应用主动提供语义快照,SDK 不抓取整个 DOM;服务端按当前身份重新读取并校验业务对象。'] },
|
|
34
|
-
PageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'intelligence.md' },
|
|
35
|
-
AiPersonality: { words: '性格 人设 表达风格 默认预设 admin', guide: 'intelligence.md',
|
|
34
|
+
PageContext: { words: '页面上下文 随页助理 当前页面 快照 选中项 草稿 标签页', guide: 'guides/intelligence.md' },
|
|
35
|
+
AiPersonality: { words: '性格 人设 表达风格 默认预设 admin', guide: 'guides/intelligence.md',
|
|
36
36
|
limitations: ['性格只影响助理表达,不改变权限、工具或审批策略;管理需 Sys.ai.personalities.manage。'] },
|
|
37
|
-
AiPersonalityInput: { words: '性格 人设 表达风格 自定义配置', guide: 'intelligence.md' },
|
|
38
|
-
runtimeOntology: { words: '领域本体 业务本体 本体助理 自动工具 运行时', guide: 'intelligence.md' },
|
|
39
|
-
file: { words: '文件 附件 上传 单文件', guide: 'files.md' },
|
|
40
|
-
files: { words: '文件 附件 上传 多文件', guide: 'files.md' },
|
|
41
|
-
FileService: { words: '文件 断点续传 分片 上传 存储', guide: 'files.md' },
|
|
42
|
-
FileStorage: { words: '文件 对象存储 S3 适配器', guide: 'files.md' },
|
|
43
|
-
LocalFileStorage: { words: '文件 本地 私有 存储', guide: 'files.md' },
|
|
44
|
-
FileUploadTask: { words: '文件 上传 暂停 恢复 断点续传', guide: 'files.md' },
|
|
45
|
-
scope: { words: '本人 owner 部门 数据范围 授权', guide: 'architecture.md' },
|
|
46
|
-
reaction: { words: '跨对象 事务 事件 反应 原子', guide: 'primitives.md' },
|
|
47
|
-
reactionEach: { words: '批量 集合 多条 上限 顺序 事务', guide: 'diagnostics.md' },
|
|
48
|
-
approver: { words: '审批 选人 部门负责人 角色', guide: '
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
AiPersonalityInput: { words: '性格 人设 表达风格 自定义配置', guide: 'guides/intelligence.md' },
|
|
38
|
+
runtimeOntology: { words: '领域本体 业务本体 本体助理 自动工具 运行时', guide: 'guides/intelligence.md' },
|
|
39
|
+
file: { words: '文件 附件 上传 单文件', guide: 'guides/files.md' },
|
|
40
|
+
files: { words: '文件 附件 上传 多文件', guide: 'guides/files.md' },
|
|
41
|
+
FileService: { words: '文件 断点续传 分片 上传 存储', guide: 'guides/files.md' },
|
|
42
|
+
FileStorage: { words: '文件 对象存储 S3 适配器', guide: 'guides/files.md' },
|
|
43
|
+
LocalFileStorage: { words: '文件 本地 私有 存储', guide: 'guides/files.md' },
|
|
44
|
+
FileUploadTask: { words: '文件 上传 暂停 恢复 断点续传', guide: 'guides/files.md' },
|
|
45
|
+
scope: { words: '本人 owner 部门 数据范围 授权', guide: 'getting-started/architecture.md' },
|
|
46
|
+
reaction: { words: '跨对象 事务 事件 反应 原子', guide: 'reference/primitives.md' },
|
|
47
|
+
reactionEach: { words: '批量 集合 多条 上限 顺序 事务', guide: 'tools/diagnostics.md' },
|
|
48
|
+
approver: { words: '审批 选人 部门负责人 角色 单据字段 人员数组', guide: 'guides/approvals.md' },
|
|
49
|
+
'@yss123/cage-approval#parallel': { words: '审批 并行 网关 AND 分叉 汇合 多部门 分支 同时 联合会审', guide: 'guides/approvals.md',
|
|
50
|
+
limitations: ['结构化 AND 分支同时开始,全部活动分支完成后继续;when 仍按启动快照求值,不支持任意跳转或运行中修改路线。'] },
|
|
51
|
+
'@yss123/cage-approval#branch': { words: '审批 并行 分支 内部顺序 嵌套 条件 AND 汇合', guide: 'guides/approvals.md' },
|
|
52
|
+
InCodeEngine: { words: '复杂OA 审批 转办 转签 委派 归还 加签 前签 后签 并行必签 候选 领取 释放 claim unclaim 任务 操作历史 revision', guide: 'guides/approvals.md',
|
|
53
|
+
limitations: ['候选领取由 assignment 声明,任务操作由 actions 开放;自然分钟 SLA 需 approvalOperations;parallel/branch 支持结构化 AND,并非任意流程图,不支持指定节点退回或管理员人员恢复。'] },
|
|
54
|
+
approvalOperations: { words: '审批 流程 时限 SLA 到期 临期 超时 提醒 站内通知 催办 已读 我的申请', guide: 'guides/approvals.md',
|
|
55
|
+
limitations: ['显式导出运行时并迁移、启动 worker;step.sla 按自然分钟计时,route.reminders 限定申请人。没有工作日历、自动升级或外部通知。'] },
|
|
56
|
+
ApprovalNotice: { words: '审批 流程 提醒 站内通知 临期 超时 催办 已读', guide: 'guides/approvals.md' },
|
|
57
|
+
TaskActionPolicy: { words: '审批 转办 委派 归还 加签 节点政策', guide: 'guides/approvals.md' },
|
|
58
|
+
TaskActionInput: { words: '审批任务 输入 版本 原因 转办 委派 加签 前签 后签 领取 释放', guide: 'guides/approvals.md' },
|
|
59
|
+
ApprovalTaskAction: { words: '前端 SDK 审批 转办 委派 归还 加签 候选 领取 释放', guide: 'guides/approvals.md' },
|
|
60
|
+
CageClient: { words: '客户端 SDK 审批 转办 委派 归还 加签 操作历史 时限 提醒 催办 已读', guide: 'guides/approvals.md' },
|
|
61
|
+
connector: { words: '第三方 ERP 外呼 外部', guide: 'reference/primitives.md' },
|
|
62
|
+
command: { words: '命令 写入 校验 业务操作', guide: 'reference/primitives.md' },
|
|
63
|
+
query: { words: '查询 报表 安全读取', guide: 'reference/primitives.md' },
|
|
52
64
|
};
|
|
53
65
|
const examples = {
|
|
54
66
|
ai: "export const intelligence = ai({ models: { main: managedModel('main') }, assistant: { model: 'main', confirmWrites: true } })",
|
|
@@ -59,6 +71,9 @@ const examples = {
|
|
|
59
71
|
reaction: "reaction(OrderApproved, { command: reserve, tx: 'same', map: event => ({ id: event.stockId }) })",
|
|
60
72
|
reactionEach: "reactionEach(Allocated, { command: reserve, tx: 'same', order: 2, maxItems: 20, orderBy: 'id', items: event => event.devices, map: item => ({ id: item.id }) })",
|
|
61
73
|
approver: "step('部门负责人', approver.deptLeader('deptId'))",
|
|
74
|
+
'@yss123/cage-approval#parallel': "parallel('联合会审', branch('业务', step('业务审核', approver.role('reviewer'))), branch('财务', step('财务审核', approver.role('finance'))))",
|
|
75
|
+
'@yss123/cage-approval#branch': "branch('法务', step('合同核查', approver.role('legal')), step('法务复核', approver.role('legal_lead')))",
|
|
76
|
+
approvalOperations: 'export const approvalOps = approvalOperations(); // 再在人工 step 声明 sla、route 声明 reminders,并从 domain 入口导出',
|
|
62
77
|
query: "query('recentOrders', { reads: [Order], input: z.object({}), sql: 'select id from safe.order limit 20' })",
|
|
63
78
|
};
|
|
64
79
|
/**
|
|
@@ -122,12 +137,12 @@ export function publicCapabilities(cfg, query = '') {
|
|
|
122
137
|
const signatures = checker.getSignaturesOfType(type, ts.SignatureKind.Call).map(s => checker.signatureToString(s, declaration, ts.TypeFormatFlags.NoTruncation));
|
|
123
138
|
return [{ key, package: pkg.name, version: pkg.version, name, public: true, description,
|
|
124
139
|
signatures: signatures.length ? signatures : [declaration.getText().slice(0, 6000)],
|
|
125
|
-
guide: `docs/
|
|
140
|
+
guide: `docs/development/${topic?.guide ?? 'README.md'}`, example: example ? { code: example, context: '组合片段;声明中的业务符号须来自当前项目,完整可运行例子见 guide' } : undefined,
|
|
126
141
|
limitations: topic ? ['能力和数据范围仍由实际授权决定;按照当前签名与指南使用。', ...(topic.limitations ?? [])] : [],
|
|
127
142
|
source: { file: declaration.getSourceFile().fileName, line: declaration.getSourceFile().getLineAndCharacterOfPosition(declaration.getStart()).line + 1 } }];
|
|
128
143
|
});
|
|
129
144
|
});
|
|
130
145
|
return { schemaVersion: 1, cliVersion: VERSION, query, packages: packages.map(({ entry, ...p }) => ({ ...p, inspected: !!entry })), capabilities,
|
|
131
|
-
limitations: ['仅展示当前安装版本的公共导出;签名不代表任意组合均有效。按 guide 查看最小例子、限制及相关错误码。', '未安装的包标为未检查,不据此断言框架不支持。'] };
|
|
146
|
+
limitations: ['仅展示当前安装版本的公共导出;签名不代表任意组合均有效。按 guide 查看最小例子、限制及相关错误码。', '未安装的包标为未检查,不据此断言框架不支持。', '自然语言需求未命中时,按 docs/development/guides/recipes.md 的能力选择表查术语,或本地搜索手册,再以公开 API 名核对签名。框架学习入口为 docs/development/skills/cage-development/SKILL.md。'] };
|
|
132
147
|
}
|
|
133
148
|
//# sourceMappingURL=capabilities.js.map
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,mGAAmG;AACnG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAC3H,6CAA6C;AAC7C,MAAM,MAAM,GAA6E;IACvF,EAAE,EAAE,EAAE,KAAK,EAAE,kEAAkE,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import type { GraphModel, ViewNode } from './graph-model.js';
|
|
|
9
9
|
* 审批子图的一步显示数据,序号是展示顺序,不对应数据库任务 ID。
|
|
10
10
|
*/
|
|
11
11
|
export interface ApprovalTask {
|
|
12
|
-
/**
|
|
12
|
+
/** 按声明树遍历递增的定位序号,从 1 开始;不同并行分支的序号不表示执行先后。 */
|
|
13
13
|
number: number;
|
|
14
14
|
/** 步骤名称,智能步骤同样保留声明标题。 */
|
|
15
15
|
title: string;
|
|
@@ -28,6 +28,16 @@ export interface ApprovalGroup {
|
|
|
28
28
|
condition?: string;
|
|
29
29
|
/** 该组按声明顺序排列的任务,条件不满足时整组跳过。 */
|
|
30
30
|
tasks: ApprovalTask[];
|
|
31
|
+
/** 条件组包含嵌套容器时保存其子组;与 tasks 二选一,不将并行叶节点扁平为顺序。 */
|
|
32
|
+
groups?: ApprovalGroup[];
|
|
33
|
+
/** AND 并行容器,分支同时启动且内部顺序独立,全部满足后才汇合。 */
|
|
34
|
+
parallel?: {
|
|
35
|
+
title: string;
|
|
36
|
+
branches: {
|
|
37
|
+
title: string;
|
|
38
|
+
groups: ApprovalGroup[];
|
|
39
|
+
}[];
|
|
40
|
+
};
|
|
31
41
|
}
|
|
32
42
|
/**
|
|
33
43
|
* 主要审批的阅读投影,route 缺省及空 groups 表示当前抽取没有绑定路线证据。
|
package/dist/graph-approvals.js
CHANGED
|
@@ -50,16 +50,29 @@ export function approvalFlowForStep(model, step, labels = {}) {
|
|
|
50
50
|
? `${fieldName(item.approver.field)}的负责人`
|
|
51
51
|
: item.approver.kind === 'role'
|
|
52
52
|
? (labels[`role:${item.approver.code}`] ?? '待命名审批角色')
|
|
53
|
-
: `指定用户 ${item.approver.userId}`,
|
|
54
|
-
rule: item.mode === 'all' ? '所有审批人同意后继续' : '任一审批人同意即可继续',
|
|
53
|
+
: item.approver.kind === 'field' ? `${fieldName(item.approver.field)}指定的审批人` : `指定用户 ${item.approver.userId}`,
|
|
54
|
+
rule: [item.mode === 'all' ? '所有审批人同意后继续' : item.actions?.addSign ? '任一原审批人同意' : '任一审批人同意即可继续',
|
|
55
|
+
...(item.assignment === 'candidate' ? ['候选共享一项任务,领取后处理'] : []),
|
|
56
|
+
...(item.actions?.addSign ? ['支持前签、后签和并行加签,全部加签人同意后继续'] : []),
|
|
57
|
+
...(item.actions?.transfer ? ['允许转办'] : []), ...(item.actions?.delegate ? ['允许委派,归还后由原负责人决定'] : []),
|
|
58
|
+
...(item.sla ? [`节点总时限 ${item.sla.durationMinutes} 自然分钟${item.sla.remindBeforeMinutes ? `,提前 ${item.sla.remindBeforeMinutes} 分钟提醒` : ''};超时仅提醒`] : [])].join(';'),
|
|
55
59
|
mode: item.mode,
|
|
56
60
|
});
|
|
61
|
+
/** 条件内只有普通叶步骤时保留原协议;含嵌套条件/并行时保留树,避免旧图把分支误连成一条链。 */
|
|
62
|
+
const groups = (nodes) => nodes.map(item => {
|
|
63
|
+
if (item.kind === 'parallel')
|
|
64
|
+
return { tasks: [], parallel: { title: item.title,
|
|
65
|
+
branches: item.branches.map(branch => ({ title: branch.title, groups: groups(branch.nodes) })) } };
|
|
66
|
+
if (item.kind === 'when')
|
|
67
|
+
return { condition: conditionName(item.cond),
|
|
68
|
+
...(item.steps.every(node => node.kind === 'step' || node.kind === 'ai') ?
|
|
69
|
+
{ tasks: item.steps.map(node => task(node)) } : { tasks: [], groups: groups(item.steps) }) };
|
|
70
|
+
return { tasks: [task(item)] };
|
|
71
|
+
});
|
|
57
72
|
return {
|
|
58
73
|
approval,
|
|
59
74
|
route,
|
|
60
|
-
groups: route.attrs.nodes
|
|
61
|
-
? { tasks: [task(item)] }
|
|
62
|
-
: { condition: conditionName(item.cond), tasks: item.steps.map(task) }),
|
|
75
|
+
groups: groups(route.attrs.nodes),
|
|
63
76
|
};
|
|
64
77
|
}
|
|
65
78
|
/** 从真实驳回结论绑定辨认出口,不依赖阶段标题里是否含有“驳回”二字。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-approvals.js","sourceRoot":"","sources":["../src/graph-approvals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph-approvals.js","sourceRoot":"","sources":["../src/graph-approvals.ts"],"names":[],"mappings":"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"}
|
package/dist/graph-relations.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* 不求值 handler、映射或审批条件;存在连线只代表对应声明关系,不证明某次操作已发生。
|
|
5
5
|
*/
|
|
6
6
|
import { kindLabels, nodeLabel } from './graph-model.js';
|
|
7
|
+
import { approvalRouteNodes, approvalRouteSteps } from './approval-tree.js';
|
|
7
8
|
/**
|
|
8
9
|
* 按真实关系种类解释连线,补充声明来源和证据强度。
|
|
9
10
|
* @param edge 已投影且两端有效的边。
|
|
@@ -76,13 +77,14 @@ export function explainEdge(edge, model, labels = {}) {
|
|
|
76
77
|
const as = edge.as ?? '';
|
|
77
78
|
if (as === '可路由字段')
|
|
78
79
|
return result('允许审批读取', '审批可用字段', `“${a}”把“${b}”列入 routable,允许该字段作为审批流程变量。`, '明确审批可以拿到哪些业务数据。这里只表示允许使用;是否真的参与分支或审批选人,要查看审批路由的字段关系。', [`${from.id}.routable 包含 ${field}`]);
|
|
80
|
+
if (as === '催办申请人')
|
|
81
|
+
return result('确定催办申请人', '流程运营依赖', `“${a}”以提交时“${b}”的用户标识确定可催办申请人。`, '字段必须进入 routable;催办仍校验当前对象可见性、运行节点、业务版本及冷却,不赋予审批权限。字段也可能被选人或条件使用,完整用途见路由声明。', [`route.reminders.requesterField = ${JSON.stringify(field)}`]);
|
|
79
82
|
if (as === '路由条件') {
|
|
80
|
-
// fieldsUsed 同时包含 when
|
|
83
|
+
// fieldsUsed 同时包含 when 条件、部门负责人和单据人员字段,必须区分实际选人方式。
|
|
81
84
|
const nodes = from.attrs.nodes;
|
|
82
|
-
const conditions = nodes.filter((n) => n.kind === 'when' && n.cond.field === field);
|
|
83
|
-
const steps = nodes
|
|
84
|
-
.
|
|
85
|
-
.filter((s) => (s.approver ?? s.handoff)?.kind === 'deptLeader' && (s.approver ?? s.handoff)?.field === field);
|
|
85
|
+
const conditions = approvalRouteNodes(nodes).filter((n) => n.kind === 'when' && n.cond.field === field);
|
|
86
|
+
const steps = approvalRouteSteps(nodes).map(step => ({ ...step, selector: step.kind === 'ai' ? step.handoff : step.approver }))
|
|
87
|
+
.filter(step => (step.selector.kind === 'deptLeader' || step.selector.kind === 'field') && step.selector.field === field);
|
|
86
88
|
const operators = {
|
|
87
89
|
gt: '大于',
|
|
88
90
|
gte: '大于等于',
|
|
@@ -93,11 +95,11 @@ export function explainEdge(edge, model, labels = {}) {
|
|
|
93
95
|
in: '属于',
|
|
94
96
|
};
|
|
95
97
|
const reasons = [
|
|
96
|
-
...steps.map((s) => `“${s.title}”步骤根据“${b}”找到对应部门的负责人`),
|
|
97
|
-
...conditions.map((n) => `当“${b}”${operators[n.cond.op]} ${JSON.stringify(n.cond.value)} 时,加入${n.steps.map((s) => `“${s.title}”`).join('、')}
|
|
98
|
+
...steps.map((s) => s.selector.kind === 'field' ? `“${s.title}”步骤读取“${b}”保存的审批人员` : `“${s.title}”步骤根据“${b}”找到对应部门的负责人`),
|
|
99
|
+
...conditions.map((n) => `当“${b}”${operators[n.cond.op]} ${JSON.stringify(n.cond.value)} 时,加入${approvalRouteSteps(n.steps).map((s) => `“${s.title}”`).join('、')}步骤(内部顺序或并行关系见路由)`),
|
|
98
100
|
];
|
|
99
101
|
return result(steps.length && conditions.length ? '选人和分支依据' : steps.length ? '确定审批人' : '判断审批分支', '审批路由依赖', `${reasons.join(';')}。`, '字段值会影响审批人或需要经过的审批步骤;修改字段含义时,应一起检查这些路由配置。', [
|
|
100
|
-
...steps.map((s) => `${s.title}: approver.
|
|
102
|
+
...steps.map((s) => `${s.title}: approver.${s.selector.kind}(${JSON.stringify(field)})`),
|
|
101
103
|
...conditions.map((n) => `when(${n.cond.op}(${JSON.stringify(field)}, ${JSON.stringify(n.cond.value)}))`),
|
|
102
104
|
]);
|
|
103
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-relations.js","sourceRoot":"","sources":["../src/graph-relations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-relations.js","sourceRoot":"","sources":["../src/graph-relations.ts"],"names":[],"mappings":"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"}
|
package/dist/graph.js
CHANGED
|
@@ -53,6 +53,8 @@ export async function serveGraph(cfg, port = 15418) {
|
|
|
53
53
|
['/relations.js', ['relations.js', 'text/javascript; charset=utf-8']],
|
|
54
54
|
['/structure.js', ['structure.js', 'text/javascript; charset=utf-8']],
|
|
55
55
|
['/approval-flow.js', ['approval-flow.js', 'text/javascript; charset=utf-8']],
|
|
56
|
+
['/approval-parallel.js', ['approval-parallel.js', 'text/javascript; charset=utf-8']],
|
|
57
|
+
['/approval-tree.js', ['approval-tree.js', 'text/javascript; charset=utf-8']],
|
|
56
58
|
['/graph-approvals.js', ['graph-approvals.js', 'text/javascript; charset=utf-8']],
|
|
57
59
|
['/graph-model.js', ['graph-model.js', 'text/javascript; charset=utf-8']],
|
|
58
60
|
['/graph-relations.js', ['graph-relations.js', 'text/javascript; charset=utf-8']],
|
package/dist/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -104,7 +104,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
104
104
|
if (!selected)
|
|
105
105
|
return 130;
|
|
106
106
|
const created = createApp(selected.target, o['framework-path'], selected.template);
|
|
107
|
-
console.log(`已创建${appTemplates[selected.template].label}:${created}\n进入项目后:\n 1. pnpm install\n 2. 复制 .env.example 为 .env,只填写 CAGE_ADMIN_DATABASE_URL,连接已有 PostgreSQL\n 3. pnpm exec cage init(自动创建账号、生成密码并填写 .env)\n 4. pnpm build:app && pnpm gen\n 5. 审查迁移后 pnpm migrate,再 pnpm dev\nAI 协作:先读本项目 AGENTS.md 和 docs/
|
|
107
|
+
console.log(`已创建${appTemplates[selected.template].label}:${created}\n进入项目后:\n 1. pnpm install\n 2. 复制 .env.example 为 .env,只填写 CAGE_ADMIN_DATABASE_URL,连接已有 PostgreSQL\n 3. pnpm exec cage init(自动创建账号、生成密码并填写 .env)\n 4. pnpm build:app && pnpm gen\n 5. 审查迁移后 pnpm migrate,再 pnpm dev\nAI 协作:先读本项目 AGENTS.md 和 docs/development/README.md,按 docs/development/guides/recipes.md 开发业务;错误码见 docs/errors。\n框架不创建数据库、不管理 Docker。cage 是项目内命令,单独调用使用 pnpm exec cage。`);
|
|
108
108
|
return 0;
|
|
109
109
|
}
|
|
110
110
|
if (![
|