prjct-cli 1.22.0 → 1.24.0
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/CHANGELOG.md +230 -0
- package/bin/prjct +30 -13
- package/dist/bin/prjct-core.mjs +1748 -0
- package/dist/bin/prjct.mjs +17 -36672
- package/dist/cli/linear.mjs +14 -0
- package/dist/daemon/entry.mjs +1429 -0
- package/dist/templates.json +1 -0
- package/package.json +4 -5
- package/bin/prjct.ts +0 -342
- package/core/__tests__/agentic/analysis-injection.test.ts +0 -377
- package/core/__tests__/agentic/cache-eviction.test.ts +0 -294
- package/core/__tests__/agentic/command-context.test.ts +0 -281
- package/core/__tests__/agentic/command-executor.test.ts +0 -659
- package/core/__tests__/agentic/domain-classifier.test.ts +0 -330
- package/core/__tests__/agentic/injection-validator.test.ts +0 -255
- package/core/__tests__/agentic/memory-system.test.ts +0 -281
- package/core/__tests__/agentic/plan-mode.test.ts +0 -386
- package/core/__tests__/agentic/prompt-assembly.test.ts +0 -298
- package/core/__tests__/agentic/prompt-builder.test.ts +0 -243
- package/core/__tests__/agentic/response-validator.test.ts +0 -263
- package/core/__tests__/agentic/semantic-matching.test.ts +0 -131
- package/core/__tests__/agentic/smart-context.test.ts +0 -372
- package/core/__tests__/agentic/tech-normalizer.test.ts +0 -136
- package/core/__tests__/agentic/token-budget.test.ts +0 -294
- package/core/__tests__/ai-tools/formatters.test.ts +0 -476
- package/core/__tests__/domain/bm25.test.ts +0 -225
- package/core/__tests__/domain/change-propagator.test.ts +0 -100
- package/core/__tests__/domain/fibonacci.test.ts +0 -113
- package/core/__tests__/domain/file-hasher.test.ts +0 -146
- package/core/__tests__/domain/file-ranker.test.ts +0 -169
- package/core/__tests__/domain/git-cochange.test.ts +0 -121
- package/core/__tests__/domain/import-graph.test.ts +0 -156
- package/core/__tests__/domain/velocity.test.ts +0 -623
- package/core/__tests__/infrastructure/performance-tracker.test.ts +0 -328
- package/core/__tests__/schemas/model.test.ts +0 -272
- package/core/__tests__/services/dependency-validator.test.ts +0 -175
- package/core/__tests__/services/hierarchical-agent-resolver.test.ts +0 -359
- package/core/__tests__/services/nested-context-resolver.test.ts +0 -443
- package/core/__tests__/services/project-index.test.ts +0 -355
- package/core/__tests__/services/staleness-checker.test.ts +0 -204
- package/core/__tests__/storage/analysis-storage.test.ts +0 -641
- package/core/__tests__/storage/archive-storage.test.ts +0 -455
- package/core/__tests__/storage/safe-reader.test.ts +0 -262
- package/core/__tests__/storage/sqlite-migration.test.ts +0 -1016
- package/core/__tests__/storage/state-storage-feedback.test.ts +0 -463
- package/core/__tests__/storage/state-storage-history.test.ts +0 -469
- package/core/__tests__/storage/storage-manager.test.ts +0 -383
- package/core/__tests__/storage/subtask-handoff.test.ts +0 -237
- package/core/__tests__/types/fs.test.ts +0 -125
- package/core/__tests__/utils/date-helper.test.ts +0 -449
- package/core/__tests__/utils/output.test.ts +0 -278
- package/core/__tests__/utils/preserve-sections.test.ts +0 -216
- package/core/__tests__/utils/project-commands.test.ts +0 -71
- package/core/__tests__/utils/retry.test.ts +0 -381
- package/core/__tests__/workflow/state-machine.test.ts +0 -216
- package/core/agentic/agent-router.ts +0 -150
- package/core/agentic/anti-hallucination.ts +0 -141
- package/core/agentic/chain-of-thought.ts +0 -234
- package/core/agentic/command-classifier.ts +0 -141
- package/core/agentic/command-context.ts +0 -168
- package/core/agentic/command-executor.ts +0 -471
- package/core/agentic/context-builder.ts +0 -285
- package/core/agentic/domain-classifier.ts +0 -525
- package/core/agentic/environment-block.ts +0 -102
- package/core/agentic/ground-truth.ts +0 -706
- package/core/agentic/index.ts +0 -193
- package/core/agentic/injection-validator.ts +0 -208
- package/core/agentic/loop-detector.ts +0 -451
- package/core/agentic/memory-system.ts +0 -1547
- package/core/agentic/orchestrator-executor.ts +0 -579
- package/core/agentic/plan-mode.ts +0 -525
- package/core/agentic/prompt-builder.ts +0 -1069
- package/core/agentic/response-validator.ts +0 -98
- package/core/agentic/services.ts +0 -167
- package/core/agentic/skill-loader.ts +0 -106
- package/core/agentic/smart-context.ts +0 -393
- package/core/agentic/tech-normalizer.ts +0 -167
- package/core/agentic/template-executor.ts +0 -272
- package/core/agentic/template-loader.ts +0 -109
- package/core/agentic/token-budget.ts +0 -226
- package/core/agentic/tool-registry.ts +0 -146
- package/core/agents/index.ts +0 -28
- package/core/agents/performance.ts +0 -429
- package/core/ai-tools/formatters.ts +0 -341
- package/core/ai-tools/generator.ts +0 -144
- package/core/ai-tools/index.ts +0 -15
- package/core/ai-tools/registry.ts +0 -201
- package/core/bus/bus.ts +0 -314
- package/core/bus/index.ts +0 -8
- package/core/cli/linear.ts +0 -500
- package/core/cli/lint-meta-commentary.ts +0 -177
- package/core/cli/start.ts +0 -386
- package/core/commands/analysis.ts +0 -1274
- package/core/commands/analytics.ts +0 -342
- package/core/commands/base.ts +0 -118
- package/core/commands/cleanup.ts +0 -157
- package/core/commands/command-data.ts +0 -463
- package/core/commands/commands.ts +0 -306
- package/core/commands/context.ts +0 -238
- package/core/commands/design.ts +0 -77
- package/core/commands/index.ts +0 -19
- package/core/commands/maintenance.ts +0 -77
- package/core/commands/performance.ts +0 -114
- package/core/commands/planning.ts +0 -662
- package/core/commands/register.ts +0 -127
- package/core/commands/registry.ts +0 -444
- package/core/commands/setup.ts +0 -280
- package/core/commands/shipping.ts +0 -267
- package/core/commands/snapshots.ts +0 -297
- package/core/commands/uninstall.ts +0 -542
- package/core/commands/velocity.ts +0 -149
- package/core/commands/workflow.ts +0 -505
- package/core/config/command-context.config.json +0 -66
- package/core/constants/index.ts +0 -379
- package/core/context/generator.ts +0 -368
- package/core/context-tools/files-tool.ts +0 -577
- package/core/context-tools/imports-tool.ts +0 -400
- package/core/context-tools/index.ts +0 -434
- package/core/context-tools/recent-tool.ts +0 -301
- package/core/context-tools/signatures-tool.ts +0 -495
- package/core/context-tools/summary-tool.ts +0 -301
- package/core/context-tools/token-counter.ts +0 -273
- package/core/context-tools/types.ts +0 -253
- package/core/domain/agent-generator.ts +0 -186
- package/core/domain/agent-loader.ts +0 -419
- package/core/domain/analyzer.ts +0 -387
- package/core/domain/architecture-generator.ts +0 -108
- package/core/domain/bm25.ts +0 -525
- package/core/domain/change-propagator.ts +0 -162
- package/core/domain/context-estimator.ts +0 -175
- package/core/domain/fibonacci.ts +0 -128
- package/core/domain/file-hasher.ts +0 -296
- package/core/domain/file-ranker.ts +0 -151
- package/core/domain/git-cochange.ts +0 -250
- package/core/domain/import-graph.ts +0 -315
- package/core/domain/snapshot-manager.ts +0 -415
- package/core/domain/task-stack.ts +0 -578
- package/core/domain/velocity.ts +0 -470
- package/core/errors.ts +0 -335
- package/core/events/events.ts +0 -85
- package/core/events/index.ts +0 -8
- package/core/index.ts +0 -481
- package/core/infrastructure/agent-detector.ts +0 -135
- package/core/infrastructure/ai-provider.ts +0 -578
- package/core/infrastructure/author-detector.ts +0 -133
- package/core/infrastructure/capability-installer.ts +0 -76
- package/core/infrastructure/claude-agent.ts +0 -297
- package/core/infrastructure/command-installer.ts +0 -752
- package/core/infrastructure/config-manager.ts +0 -364
- package/core/infrastructure/editors-config.ts +0 -172
- package/core/infrastructure/path-manager.ts +0 -571
- package/core/infrastructure/performance-tracker.ts +0 -326
- package/core/infrastructure/permission-manager.ts +0 -289
- package/core/infrastructure/setup.ts +0 -1061
- package/core/infrastructure/update-checker.ts +0 -246
- package/core/integrations/issue-tracker/enricher.ts +0 -271
- package/core/integrations/issue-tracker/index.ts +0 -8
- package/core/integrations/issue-tracker/manager.ts +0 -286
- package/core/integrations/issue-tracker/types.ts +0 -310
- package/core/integrations/jira/cache.ts +0 -57
- package/core/integrations/jira/client.ts +0 -688
- package/core/integrations/jira/index.ts +0 -23
- package/core/integrations/jira/service.ts +0 -244
- package/core/integrations/linear/cache.ts +0 -68
- package/core/integrations/linear/client.ts +0 -436
- package/core/integrations/linear/index.ts +0 -20
- package/core/integrations/linear/service.ts +0 -260
- package/core/integrations/linear/sync.ts +0 -314
- package/core/outcomes/analyzer.ts +0 -286
- package/core/outcomes/index.ts +0 -34
- package/core/outcomes/recorder.ts +0 -195
- package/core/plugin/builtin/webhook.ts +0 -148
- package/core/plugin/hooks.ts +0 -315
- package/core/plugin/index.ts +0 -50
- package/core/plugin/loader.ts +0 -354
- package/core/plugin/registry.ts +0 -326
- package/core/schemas/agents.ts +0 -27
- package/core/schemas/analysis.ts +0 -530
- package/core/schemas/classification.ts +0 -91
- package/core/schemas/command-context.ts +0 -29
- package/core/schemas/enriched-task.ts +0 -291
- package/core/schemas/ideas.ts +0 -114
- package/core/schemas/index.ts +0 -53
- package/core/schemas/issues.ts +0 -159
- package/core/schemas/llm-output.ts +0 -170
- package/core/schemas/metrics.ts +0 -143
- package/core/schemas/model.ts +0 -153
- package/core/schemas/outcomes.ts +0 -487
- package/core/schemas/performance.ts +0 -128
- package/core/schemas/permissions.ts +0 -180
- package/core/schemas/prd.ts +0 -450
- package/core/schemas/project.ts +0 -57
- package/core/schemas/roadmap.ts +0 -322
- package/core/schemas/schemas.ts +0 -38
- package/core/schemas/shipped.ts +0 -109
- package/core/schemas/state.ts +0 -284
- package/core/schemas/velocity.ts +0 -103
- package/core/server/index.ts +0 -21
- package/core/server/routes-extended.ts +0 -566
- package/core/server/routes.ts +0 -176
- package/core/server/server.ts +0 -149
- package/core/server/sse.ts +0 -192
- package/core/services/agent-generator.ts +0 -385
- package/core/services/agent-service.ts +0 -168
- package/core/services/breakdown-service.ts +0 -124
- package/core/services/context-generator.ts +0 -445
- package/core/services/context-selector.ts +0 -429
- package/core/services/dependency-validator.ts +0 -318
- package/core/services/diff-generator.ts +0 -313
- package/core/services/doctor-service.ts +0 -423
- package/core/services/file-categorizer.ts +0 -448
- package/core/services/file-scorer.ts +0 -270
- package/core/services/git-analyzer.ts +0 -293
- package/core/services/hierarchical-agent-resolver.ts +0 -236
- package/core/services/hooks-service.ts +0 -685
- package/core/services/index.ts +0 -46
- package/core/services/local-state-generator.ts +0 -158
- package/core/services/memory-service.ts +0 -181
- package/core/services/nested-context-resolver.ts +0 -842
- package/core/services/project-index.ts +0 -911
- package/core/services/project-service.ts +0 -155
- package/core/services/session-tracker.ts +0 -287
- package/core/services/skill-installer.ts +0 -447
- package/core/services/skill-lock.ts +0 -132
- package/core/services/skill-service.ts +0 -306
- package/core/services/stack-detector.ts +0 -229
- package/core/services/staleness-checker.ts +0 -327
- package/core/services/sync-service.ts +0 -1515
- package/core/services/sync-verifier.ts +0 -253
- package/core/services/watch-service.ts +0 -312
- package/core/session/compaction.ts +0 -248
- package/core/session/index.ts +0 -35
- package/core/session/log-migration.ts +0 -88
- package/core/session/metrics.ts +0 -323
- package/core/session/session-log-manager.ts +0 -307
- package/core/session/task-session-manager.ts +0 -404
- package/core/session/utils.ts +0 -51
- package/core/storage/analysis-storage.ts +0 -373
- package/core/storage/archive-storage.ts +0 -205
- package/core/storage/database.ts +0 -575
- package/core/storage/ideas-storage.ts +0 -298
- package/core/storage/index-storage.ts +0 -523
- package/core/storage/index.ts +0 -79
- package/core/storage/metrics-storage.ts +0 -321
- package/core/storage/migrate-json.ts +0 -720
- package/core/storage/queue-storage.ts +0 -336
- package/core/storage/safe-reader.ts +0 -105
- package/core/storage/shipped-storage.ts +0 -253
- package/core/storage/state-storage.ts +0 -1035
- package/core/storage/storage-manager.ts +0 -205
- package/core/storage/storage.ts +0 -177
- package/core/storage/velocity-storage.ts +0 -149
- package/core/sync/auth-config.ts +0 -138
- package/core/sync/index.ts +0 -31
- package/core/sync/oauth-handler.ts +0 -143
- package/core/sync/sync-client.ts +0 -251
- package/core/sync/sync-manager.ts +0 -327
- package/core/tsconfig.json +0 -22
- package/core/types/agentic.ts +0 -760
- package/core/types/agents.ts +0 -150
- package/core/types/bus.ts +0 -193
- package/core/types/citations.ts +0 -22
- package/core/types/commands.ts +0 -399
- package/core/types/config.ts +0 -92
- package/core/types/core.ts +0 -96
- package/core/types/diff.ts +0 -41
- package/core/types/domain.ts +0 -71
- package/core/types/errors.ts +0 -111
- package/core/types/events.ts +0 -42
- package/core/types/fs.ts +0 -72
- package/core/types/index.ts +0 -510
- package/core/types/infrastructure.ts +0 -210
- package/core/types/integrations.ts +0 -31
- package/core/types/jira.ts +0 -51
- package/core/types/logger.ts +0 -17
- package/core/types/memory.ts +0 -313
- package/core/types/outcomes.ts +0 -190
- package/core/types/output.ts +0 -47
- package/core/types/plugin.ts +0 -25
- package/core/types/project-sync.ts +0 -129
- package/core/types/provider.ts +0 -163
- package/core/types/server.ts +0 -71
- package/core/types/services.ts +0 -84
- package/core/types/session.ts +0 -135
- package/core/types/stack.ts +0 -19
- package/core/types/storage.ts +0 -318
- package/core/types/sync-verifier.ts +0 -33
- package/core/types/sync.ts +0 -121
- package/core/types/task.ts +0 -72
- package/core/types/template.ts +0 -24
- package/core/types/utils.ts +0 -92
- package/core/types/workflow.ts +0 -23
- package/core/utils/agent-stream.ts +0 -140
- package/core/utils/animations.ts +0 -251
- package/core/utils/branding.ts +0 -88
- package/core/utils/cache.ts +0 -187
- package/core/utils/citations.ts +0 -39
- package/core/utils/collection-filters.ts +0 -209
- package/core/utils/date-helper.ts +0 -176
- package/core/utils/error-messages.ts +0 -38
- package/core/utils/file-helper.ts +0 -277
- package/core/utils/fs-helpers.ts +0 -14
- package/core/utils/help.ts +0 -314
- package/core/utils/jsonl-helper.ts +0 -290
- package/core/utils/keychain.ts +0 -127
- package/core/utils/logger.ts +0 -77
- package/core/utils/markdown-builder.ts +0 -280
- package/core/utils/next-steps.ts +0 -95
- package/core/utils/output.ts +0 -403
- package/core/utils/preserve-sections.ts +0 -218
- package/core/utils/project-commands.ts +0 -126
- package/core/utils/project-credentials.ts +0 -143
- package/core/utils/provider-cache.ts +0 -49
- package/core/utils/retry.ts +0 -318
- package/core/utils/runtime.ts +0 -108
- package/core/utils/session-helper.ts +0 -278
- package/core/utils/subtask-table.ts +0 -227
- package/core/utils/version.ts +0 -128
- package/core/wizard/index.ts +0 -13
- package/core/wizard/onboarding.ts +0 -633
- package/core/workflow/index.ts +0 -7
- package/core/workflow/state-machine.ts +0 -198
- package/core/workflow/workflow-preferences.ts +0 -294
- package/dist/core/infrastructure/command-installer.js +0 -1141
- package/dist/core/infrastructure/editors-config.js +0 -177
- package/dist/core/infrastructure/setup.js +0 -2244
- package/dist/core/utils/version.js +0 -141
- package/templates/agentic/agent-routing.md +0 -45
- package/templates/agentic/agents/uxui.md +0 -63
- package/templates/agentic/checklist-routing.md +0 -98
- package/templates/agentic/orchestrator.md +0 -68
- package/templates/agentic/task-fragmentation.md +0 -89
- package/templates/agents/AGENTS.md +0 -68
- package/templates/analysis/analyze.md +0 -84
- package/templates/analysis/patterns.md +0 -60
- package/templates/antigravity/SKILL.md +0 -39
- package/templates/architect/discovery.md +0 -67
- package/templates/architect/phases.md +0 -59
- package/templates/checklists/architecture.md +0 -28
- package/templates/checklists/code-quality.md +0 -28
- package/templates/checklists/data.md +0 -33
- package/templates/checklists/documentation.md +0 -33
- package/templates/checklists/infrastructure.md +0 -33
- package/templates/checklists/performance.md +0 -33
- package/templates/checklists/security.md +0 -33
- package/templates/checklists/testing.md +0 -33
- package/templates/checklists/ux-ui.md +0 -37
- package/templates/commands/analyze.md +0 -56
- package/templates/commands/auth.md +0 -234
- package/templates/commands/bug.md +0 -163
- package/templates/commands/cleanup.md +0 -19
- package/templates/commands/dash.md +0 -99
- package/templates/commands/design.md +0 -15
- package/templates/commands/done.md +0 -291
- package/templates/commands/enrich.md +0 -174
- package/templates/commands/git.md +0 -295
- package/templates/commands/history.md +0 -389
- package/templates/commands/idea.md +0 -88
- package/templates/commands/impact.md +0 -864
- package/templates/commands/init.md +0 -54
- package/templates/commands/jira.md +0 -278
- package/templates/commands/linear.md +0 -288
- package/templates/commands/merge.md +0 -206
- package/templates/commands/next.md +0 -80
- package/templates/commands/p.md +0 -67
- package/templates/commands/p.toml +0 -37
- package/templates/commands/pause.md +0 -136
- package/templates/commands/plan.md +0 -696
- package/templates/commands/prd.md +0 -356
- package/templates/commands/resume.md +0 -171
- package/templates/commands/review.md +0 -276
- package/templates/commands/serve.md +0 -118
- package/templates/commands/setup.md +0 -91
- package/templates/commands/ship.md +0 -475
- package/templates/commands/skill.md +0 -259
- package/templates/commands/spec.md +0 -218
- package/templates/commands/status.md +0 -207
- package/templates/commands/sync.md +0 -104
- package/templates/commands/task.md +0 -312
- package/templates/commands/test.md +0 -93
- package/templates/commands/update.md +0 -63
- package/templates/commands/verify.md +0 -204
- package/templates/commands/workflow.md +0 -150
- package/templates/config/skill-mappings.json +0 -82
- package/templates/context/dashboard.md +0 -256
- package/templates/context/roadmap.md +0 -221
- package/templates/cursor/commands/bug.md +0 -8
- package/templates/cursor/commands/done.md +0 -4
- package/templates/cursor/commands/pause.md +0 -6
- package/templates/cursor/commands/resume.md +0 -4
- package/templates/cursor/commands/ship.md +0 -8
- package/templates/cursor/commands/sync.md +0 -4
- package/templates/cursor/commands/task.md +0 -8
- package/templates/cursor/p.md +0 -29
- package/templates/cursor/router.mdc +0 -28
- package/templates/design/api.md +0 -95
- package/templates/design/architecture.md +0 -77
- package/templates/design/component.md +0 -89
- package/templates/design/database.md +0 -78
- package/templates/design/flow.md +0 -94
- package/templates/global/ANTIGRAVITY.md +0 -254
- package/templates/global/CLAUDE.md +0 -497
- package/templates/global/CURSOR.mdc +0 -266
- package/templates/global/GEMINI.md +0 -293
- package/templates/global/STORAGE-SPEC.md +0 -391
- package/templates/global/WINDSURF.md +0 -266
- package/templates/global/modules/CLAUDE-commands.md +0 -70
- package/templates/global/modules/CLAUDE-core.md +0 -105
- package/templates/global/modules/CLAUDE-git.md +0 -50
- package/templates/global/modules/CLAUDE-intelligence.md +0 -92
- package/templates/global/modules/CLAUDE-storage.md +0 -50
- package/templates/global/modules/module-config.json +0 -36
- package/templates/mcp-config.json +0 -19
- package/templates/permissions/default.jsonc +0 -60
- package/templates/permissions/permissive.jsonc +0 -49
- package/templates/permissions/strict.jsonc +0 -58
- package/templates/planning-methodology.md +0 -195
- package/templates/skills/code-review.md +0 -47
- package/templates/skills/debug.md +0 -61
- package/templates/skills/refactor.md +0 -47
- package/templates/subagents/agent-base.md +0 -20
- package/templates/subagents/domain/backend.md +0 -109
- package/templates/subagents/domain/database.md +0 -121
- package/templates/subagents/domain/devops.md +0 -152
- package/templates/subagents/domain/frontend.md +0 -103
- package/templates/subagents/domain/testing.md +0 -169
- package/templates/subagents/pm-expert.md +0 -366
- package/templates/subagents/workflow/chief-architect.md +0 -657
- package/templates/subagents/workflow/prjct-planner.md +0 -159
- package/templates/subagents/workflow/prjct-shipper.md +0 -188
- package/templates/subagents/workflow/prjct-workflow.md +0 -98
- package/templates/tools/bash.txt +0 -22
- package/templates/tools/edit.txt +0 -18
- package/templates/tools/glob.txt +0 -19
- package/templates/tools/grep.txt +0 -21
- package/templates/tools/read.txt +0 -14
- package/templates/tools/task.txt +0 -20
- package/templates/tools/webfetch.txt +0 -16
- package/templates/tools/websearch.txt +0 -18
- package/templates/tools/write.txt +0 -17
- package/templates/windsurf/router.md +0 -28
- package/templates/windsurf/workflows/bug.md +0 -8
- package/templates/windsurf/workflows/done.md +0 -4
- package/templates/windsurf/workflows/pause.md +0 -4
- package/templates/windsurf/workflows/resume.md +0 -4
- package/templates/windsurf/workflows/ship.md +0 -8
- package/templates/windsurf/workflows/sync.md +0 -4
- package/templates/windsurf/workflows/task.md +0 -8
package/core/schemas/state.ts
DELETED
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* State Schema
|
|
3
|
-
*
|
|
4
|
-
* Defines the structure for state.json - current task state.
|
|
5
|
-
* Queue is now separate in queue.json.
|
|
6
|
-
*
|
|
7
|
-
* Uses Zod for runtime validation and TypeScript type inference.
|
|
8
|
-
* @version 2.0.0
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { z } from 'zod'
|
|
12
|
-
import { ModelMetadataSchema } from './model'
|
|
13
|
-
|
|
14
|
-
// =============================================================================
|
|
15
|
-
// Zod Schemas - Source of Truth
|
|
16
|
-
// =============================================================================
|
|
17
|
-
|
|
18
|
-
export const PrioritySchema = z.enum(['low', 'medium', 'high', 'critical'])
|
|
19
|
-
export const TaskTypeSchema = z.enum(['feature', 'bug', 'improvement', 'chore'])
|
|
20
|
-
export const TaskSectionSchema = z.enum(['active', 'backlog', 'previously_active'])
|
|
21
|
-
export const TaskStatusSchema = z.enum([
|
|
22
|
-
'pending',
|
|
23
|
-
'in_progress',
|
|
24
|
-
'completed',
|
|
25
|
-
'blocked',
|
|
26
|
-
'paused',
|
|
27
|
-
'failed',
|
|
28
|
-
'skipped',
|
|
29
|
-
])
|
|
30
|
-
export const ActivityTypeSchema = z.enum([
|
|
31
|
-
'task_completed',
|
|
32
|
-
'feature_shipped',
|
|
33
|
-
'idea_captured',
|
|
34
|
-
'session_started',
|
|
35
|
-
])
|
|
36
|
-
|
|
37
|
-
// Subtask summary for context handoff between agents
|
|
38
|
-
export const SubtaskSummarySchema = z.object({
|
|
39
|
-
title: z.string(),
|
|
40
|
-
description: z.string(),
|
|
41
|
-
filesChanged: z.array(
|
|
42
|
-
z.object({
|
|
43
|
-
path: z.string(),
|
|
44
|
-
action: z.enum(['created', 'modified', 'deleted']),
|
|
45
|
-
})
|
|
46
|
-
),
|
|
47
|
-
whatWasDone: z.array(z.string()).min(1),
|
|
48
|
-
outputForNextAgent: z.string().min(1),
|
|
49
|
-
notes: z.string().optional(),
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
// Schema for validating completion data before persisting
|
|
53
|
-
// Used by completeSubtask() to enforce mandatory handoff
|
|
54
|
-
export const SubtaskCompletionDataSchema = z.object({
|
|
55
|
-
output: z.string().min(1, 'Subtask output is required'),
|
|
56
|
-
summary: SubtaskSummarySchema,
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
// Subtask schema for task fragmentation
|
|
60
|
-
export const SubtaskSchema = z.object({
|
|
61
|
-
id: z.string(), // subtask-xxx
|
|
62
|
-
description: z.string(),
|
|
63
|
-
domain: z.string(), // frontend, backend, database, testing, etc.
|
|
64
|
-
agent: z.string(), // agent file name (e.g., "frontend.md")
|
|
65
|
-
status: TaskStatusSchema,
|
|
66
|
-
dependsOn: z.array(z.string()), // IDs of dependent subtasks
|
|
67
|
-
startedAt: z.string().optional(), // ISO8601
|
|
68
|
-
completedAt: z.string().optional(), // ISO8601
|
|
69
|
-
output: z.string().optional(), // Brief output description
|
|
70
|
-
summary: SubtaskSummarySchema.optional(), // Full summary for context handoff
|
|
71
|
-
skipReason: z.string().optional(), // Why this subtask was skipped
|
|
72
|
-
blockReason: z.string().optional(), // What is blocking this subtask
|
|
73
|
-
// Fibonacci estimation
|
|
74
|
-
estimatedPoints: z.number().optional(), // Fibonacci: 1,2,3,5,8,13,21
|
|
75
|
-
estimatedMinutes: z.number().optional(), // Derived from points
|
|
76
|
-
})
|
|
77
|
-
|
|
78
|
-
// Subtask progress tracking
|
|
79
|
-
export const SubtaskProgressSchema = z.object({
|
|
80
|
-
completed: z.number(),
|
|
81
|
-
total: z.number(),
|
|
82
|
-
percentage: z.number(),
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
export const CurrentTaskSchema = z.object({
|
|
86
|
-
id: z.string(), // task_xxxxxxxx
|
|
87
|
-
description: z.string(),
|
|
88
|
-
startedAt: z.string(), // ISO8601
|
|
89
|
-
sessionId: z.string(), // sess_xxxxxxxx
|
|
90
|
-
featureId: z.string().optional(), // feat_xxxxxxxx
|
|
91
|
-
// Subtask tracking for fragmented tasks
|
|
92
|
-
subtasks: z.array(SubtaskSchema).optional(),
|
|
93
|
-
currentSubtaskIndex: z.number().optional(),
|
|
94
|
-
subtaskProgress: SubtaskProgressSchema.optional(),
|
|
95
|
-
// Linear integration - bidirectional sync
|
|
96
|
-
linearId: z.string().optional(), // "PRJ-123" - Linear identifier
|
|
97
|
-
linearUuid: z.string().optional(), // Linear internal UUID for API calls
|
|
98
|
-
// Fibonacci estimation
|
|
99
|
-
estimatedPoints: z.number().optional(), // Fibonacci: 1,2,3,5,8,13,21
|
|
100
|
-
estimatedMinutes: z.number().optional(), // Derived from points
|
|
101
|
-
// Model specification - which AI model was used (PRJ-265)
|
|
102
|
-
modelMetadata: ModelMetadataSchema.optional(),
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
export const PreviousTaskSchema = z.object({
|
|
106
|
-
id: z.string(),
|
|
107
|
-
description: z.string(),
|
|
108
|
-
status: z.literal('paused'),
|
|
109
|
-
startedAt: z.string(), // ISO8601
|
|
110
|
-
pausedAt: z.string(), // ISO8601
|
|
111
|
-
pauseReason: z.string().optional(),
|
|
112
|
-
})
|
|
113
|
-
|
|
114
|
-
// Task feedback captured during completion (PRJ-272)
|
|
115
|
-
// Enables the task-to-analysis feedback loop: tasks report discoveries back to analysis
|
|
116
|
-
export const TaskFeedbackSchema = z.object({
|
|
117
|
-
// Stack confirmations - tech confirmed/used during the task
|
|
118
|
-
stackConfirmed: z.array(z.string()).optional(), // ["React 18", "TypeScript strict mode"]
|
|
119
|
-
// Patterns discovered during the task
|
|
120
|
-
patternsDiscovered: z.array(z.string()).optional(), // ["API routes follow /api/v1/{resource}"]
|
|
121
|
-
// Agent accuracy - how well domain agents performed
|
|
122
|
-
agentAccuracy: z
|
|
123
|
-
.array(
|
|
124
|
-
z.object({
|
|
125
|
-
agent: z.string(), // "backend.md"
|
|
126
|
-
rating: z.enum(['helpful', 'neutral', 'inaccurate']),
|
|
127
|
-
note: z.string().optional(), // "Missing Tailwind context"
|
|
128
|
-
})
|
|
129
|
-
)
|
|
130
|
-
.optional(),
|
|
131
|
-
// Issues encountered during the task
|
|
132
|
-
issuesEncountered: z.array(z.string()).optional(), // ["ESLint conflicts with Prettier"]
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
// Task history entry for completed tasks
|
|
136
|
-
// Stores historical context to enable pattern learning and cross-task correlation
|
|
137
|
-
export const TaskHistoryEntrySchema = z.object({
|
|
138
|
-
taskId: z.string(), // task UUID
|
|
139
|
-
title: z.string(), // parent task description
|
|
140
|
-
classification: TaskTypeSchema, // feature, bug, improvement, chore
|
|
141
|
-
startedAt: z.string(), // ISO8601
|
|
142
|
-
completedAt: z.string(), // ISO8601
|
|
143
|
-
subtaskCount: z.number(), // total number of subtasks
|
|
144
|
-
subtaskSummaries: z.array(SubtaskSummarySchema), // summary of each subtask
|
|
145
|
-
outcome: z.string(), // brief description of what was accomplished
|
|
146
|
-
branchName: z.string(), // git branch used
|
|
147
|
-
linearId: z.string().optional(), // Linear issue ID if linked
|
|
148
|
-
linearUuid: z.string().optional(), // Linear internal UUID
|
|
149
|
-
prUrl: z.string().optional(), // PR URL if shipped
|
|
150
|
-
feedback: TaskFeedbackSchema.optional(), // Task-to-analysis feedback (PRJ-272)
|
|
151
|
-
})
|
|
152
|
-
|
|
153
|
-
export const StateJsonSchema = z.object({
|
|
154
|
-
currentTask: CurrentTaskSchema.nullable(),
|
|
155
|
-
previousTask: PreviousTaskSchema.nullable().optional(), // deprecated: use pausedTasks
|
|
156
|
-
pausedTasks: z.array(PreviousTaskSchema).optional(), // replaces previousTask
|
|
157
|
-
taskHistory: z.array(TaskHistoryEntrySchema).optional(), // completed tasks history (max 20)
|
|
158
|
-
lastUpdated: z.string(),
|
|
159
|
-
})
|
|
160
|
-
|
|
161
|
-
export const QueueTaskSchema = z.object({
|
|
162
|
-
id: z.string(), // task_xxxxxxxx
|
|
163
|
-
description: z.string(),
|
|
164
|
-
priority: PrioritySchema,
|
|
165
|
-
type: TaskTypeSchema, // detect from emoji 🐛=bug
|
|
166
|
-
featureId: z.string().optional(),
|
|
167
|
-
originFeature: z.string().optional(),
|
|
168
|
-
completed: z.boolean(),
|
|
169
|
-
completedAt: z.string().optional(),
|
|
170
|
-
createdAt: z.string(), // ISO8601
|
|
171
|
-
section: TaskSectionSchema,
|
|
172
|
-
// Additional fields for ZERO DATA LOSS
|
|
173
|
-
agent: z.string().optional(), // "fe", "be", "fe + be"
|
|
174
|
-
groupName: z.string().optional(), // "Sales Reports", "Stock Audits"
|
|
175
|
-
groupId: z.string().optional(), // For grouping related tasks
|
|
176
|
-
})
|
|
177
|
-
|
|
178
|
-
export const QueueJsonSchema = z.object({
|
|
179
|
-
tasks: z.array(QueueTaskSchema),
|
|
180
|
-
lastUpdated: z.string(),
|
|
181
|
-
})
|
|
182
|
-
|
|
183
|
-
export const StatsSchema = z.object({
|
|
184
|
-
tasksToday: z.number(),
|
|
185
|
-
tasksThisWeek: z.number(),
|
|
186
|
-
streak: z.number(),
|
|
187
|
-
velocity: z.string(),
|
|
188
|
-
avgDuration: z.string(),
|
|
189
|
-
})
|
|
190
|
-
|
|
191
|
-
export const RecentActivitySchema = z.object({
|
|
192
|
-
type: ActivityTypeSchema,
|
|
193
|
-
description: z.string(),
|
|
194
|
-
timestamp: z.string(), // ISO8601
|
|
195
|
-
duration: z.string().optional(),
|
|
196
|
-
})
|
|
197
|
-
|
|
198
|
-
export const StateSchemaFull = z.object({
|
|
199
|
-
projectId: z.string(),
|
|
200
|
-
currentTask: CurrentTaskSchema.nullable(),
|
|
201
|
-
queue: z.array(QueueTaskSchema),
|
|
202
|
-
stats: StatsSchema,
|
|
203
|
-
recentActivity: z.array(RecentActivitySchema),
|
|
204
|
-
lastSync: z.string(), // ISO8601
|
|
205
|
-
})
|
|
206
|
-
|
|
207
|
-
// =============================================================================
|
|
208
|
-
// Inferred Types - Backward Compatible
|
|
209
|
-
// =============================================================================
|
|
210
|
-
|
|
211
|
-
export type Priority = z.infer<typeof PrioritySchema>
|
|
212
|
-
export type TaskType = z.infer<typeof TaskTypeSchema>
|
|
213
|
-
export type TaskSection = z.infer<typeof TaskSectionSchema>
|
|
214
|
-
export type TaskStatus = z.infer<typeof TaskStatusSchema>
|
|
215
|
-
export type ActivityType = z.infer<typeof ActivityTypeSchema>
|
|
216
|
-
|
|
217
|
-
export type Subtask = z.infer<typeof SubtaskSchema>
|
|
218
|
-
export type SubtaskSummary = z.infer<typeof SubtaskSummarySchema>
|
|
219
|
-
export type SubtaskCompletionData = z.infer<typeof SubtaskCompletionDataSchema>
|
|
220
|
-
export type SubtaskProgress = z.infer<typeof SubtaskProgressSchema>
|
|
221
|
-
|
|
222
|
-
export type CurrentTask = z.infer<typeof CurrentTaskSchema>
|
|
223
|
-
export type PreviousTask = z.infer<typeof PreviousTaskSchema>
|
|
224
|
-
export type TaskFeedback = z.infer<typeof TaskFeedbackSchema>
|
|
225
|
-
export type TaskHistoryEntry = z.infer<typeof TaskHistoryEntrySchema>
|
|
226
|
-
export type StateJson = z.infer<typeof StateJsonSchema>
|
|
227
|
-
export type QueueTask = z.infer<typeof QueueTaskSchema>
|
|
228
|
-
export type QueueJson = z.infer<typeof QueueJsonSchema>
|
|
229
|
-
export type Stats = z.infer<typeof StatsSchema>
|
|
230
|
-
export type RecentActivity = z.infer<typeof RecentActivitySchema>
|
|
231
|
-
export type StateSchema = z.infer<typeof StateSchemaFull>
|
|
232
|
-
|
|
233
|
-
// Legacy alias
|
|
234
|
-
export type QueuedTask = QueueTask
|
|
235
|
-
|
|
236
|
-
// =============================================================================
|
|
237
|
-
// Validation Helpers
|
|
238
|
-
// =============================================================================
|
|
239
|
-
|
|
240
|
-
/** Parse and validate state.json content */
|
|
241
|
-
export const parseState = (data: unknown): StateJson => StateJsonSchema.parse(data)
|
|
242
|
-
|
|
243
|
-
/** Parse and validate queue.json content */
|
|
244
|
-
export const parseQueue = (data: unknown): QueueJson => QueueJsonSchema.parse(data)
|
|
245
|
-
|
|
246
|
-
/** Safe parse with error result */
|
|
247
|
-
export const safeParseState = (data: unknown) => StateJsonSchema.safeParse(data)
|
|
248
|
-
export const safeParseQueue = (data: unknown) => QueueJsonSchema.safeParse(data)
|
|
249
|
-
|
|
250
|
-
/** Validate subtask completion data — returns errors or null */
|
|
251
|
-
export const validateSubtaskCompletion = (
|
|
252
|
-
data: unknown
|
|
253
|
-
): { success: true; data: SubtaskCompletionData } | { success: false; errors: string[] } => {
|
|
254
|
-
const result = SubtaskCompletionDataSchema.safeParse(data)
|
|
255
|
-
if (result.success) return { success: true, data: result.data }
|
|
256
|
-
return {
|
|
257
|
-
success: false,
|
|
258
|
-
errors: result.error.issues.map((i) => `${i.path.join('.')}: ${i.message}`),
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// =============================================================================
|
|
263
|
-
// Defaults
|
|
264
|
-
// =============================================================================
|
|
265
|
-
|
|
266
|
-
export const DEFAULT_STATE: StateJson = {
|
|
267
|
-
currentTask: null,
|
|
268
|
-
pausedTasks: [],
|
|
269
|
-
taskHistory: [],
|
|
270
|
-
lastUpdated: '',
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
export const DEFAULT_QUEUE: QueueJson = {
|
|
274
|
-
tasks: [],
|
|
275
|
-
lastUpdated: '',
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
export const DEFAULT_STATS: Stats = {
|
|
279
|
-
tasksToday: 0,
|
|
280
|
-
tasksThisWeek: 0,
|
|
281
|
-
streak: 0,
|
|
282
|
-
velocity: '0/day',
|
|
283
|
-
avgDuration: '0m',
|
|
284
|
-
}
|
package/core/schemas/velocity.ts
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Velocity Schema (PRJ-296)
|
|
3
|
-
*
|
|
4
|
-
* Defines the structure for velocity tracking:
|
|
5
|
-
* - Sprint-based velocity with configurable sprint length
|
|
6
|
-
* - Estimation accuracy trends
|
|
7
|
-
* - Over/under estimation patterns
|
|
8
|
-
* - Completion projections
|
|
9
|
-
*
|
|
10
|
-
* @version 1.0.0
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { z } from 'zod'
|
|
14
|
-
|
|
15
|
-
// =============================================================================
|
|
16
|
-
// Zod Schemas - Source of Truth
|
|
17
|
-
// =============================================================================
|
|
18
|
-
|
|
19
|
-
export const VelocityTrendSchema = z.enum(['improving', 'stable', 'declining'])
|
|
20
|
-
|
|
21
|
-
export const SprintVelocitySchema = z.object({
|
|
22
|
-
sprintNumber: z.number(),
|
|
23
|
-
startDate: z.string(), // ISO8601
|
|
24
|
-
endDate: z.string(), // ISO8601
|
|
25
|
-
pointsCompleted: z.number(),
|
|
26
|
-
tasksCompleted: z.number(),
|
|
27
|
-
avgVariance: z.number(), // Average estimation variance (%)
|
|
28
|
-
estimationAccuracy: z.number(), // % of tasks within tolerance
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
export const EstimationPatternSchema = z.object({
|
|
32
|
-
category: z.string(), // task type or domain
|
|
33
|
-
avgVariance: z.number(), // positive = over, negative = under
|
|
34
|
-
taskCount: z.number(),
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
export const CompletionProjectionSchema = z.object({
|
|
38
|
-
totalPoints: z.number(),
|
|
39
|
-
sprints: z.number(),
|
|
40
|
-
estimatedDate: z.string(), // ISO8601
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
export const VelocityMetricsSchema = z.object({
|
|
44
|
-
sprints: z.array(SprintVelocitySchema),
|
|
45
|
-
averageVelocity: z.number(),
|
|
46
|
-
velocityTrend: VelocityTrendSchema,
|
|
47
|
-
estimationAccuracy: z.number(), // 0-100%
|
|
48
|
-
overEstimated: z.array(EstimationPatternSchema),
|
|
49
|
-
underEstimated: z.array(EstimationPatternSchema),
|
|
50
|
-
lastUpdated: z.string(), // ISO8601
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
export const VelocityConfigSchema = z.object({
|
|
54
|
-
sprintLengthDays: z.number().min(1).max(90).default(7),
|
|
55
|
-
startDay: z
|
|
56
|
-
.enum(['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'])
|
|
57
|
-
.default('monday'),
|
|
58
|
-
windowSize: z.number().min(1).max(52).default(6), // number of sprints for rolling average
|
|
59
|
-
accuracyTolerance: z.number().min(0).max(100).default(20), // ±% for "accurate" estimate
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
// =============================================================================
|
|
63
|
-
// Inferred Types
|
|
64
|
-
// =============================================================================
|
|
65
|
-
|
|
66
|
-
export type VelocityTrend = z.infer<typeof VelocityTrendSchema>
|
|
67
|
-
export type SprintVelocity = z.infer<typeof SprintVelocitySchema>
|
|
68
|
-
export type EstimationPattern = z.infer<typeof EstimationPatternSchema>
|
|
69
|
-
export type CompletionProjection = z.infer<typeof CompletionProjectionSchema>
|
|
70
|
-
export type VelocityMetrics = z.infer<typeof VelocityMetricsSchema>
|
|
71
|
-
export type VelocityConfig = z.input<typeof VelocityConfigSchema>
|
|
72
|
-
|
|
73
|
-
// =============================================================================
|
|
74
|
-
// Defaults
|
|
75
|
-
// =============================================================================
|
|
76
|
-
|
|
77
|
-
export const DEFAULT_VELOCITY_CONFIG: VelocityConfig = {
|
|
78
|
-
sprintLengthDays: 7,
|
|
79
|
-
startDay: 'monday',
|
|
80
|
-
windowSize: 6,
|
|
81
|
-
accuracyTolerance: 20,
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export const DEFAULT_VELOCITY_METRICS: VelocityMetrics = {
|
|
85
|
-
sprints: [],
|
|
86
|
-
averageVelocity: 0,
|
|
87
|
-
velocityTrend: 'stable',
|
|
88
|
-
estimationAccuracy: 0,
|
|
89
|
-
overEstimated: [],
|
|
90
|
-
underEstimated: [],
|
|
91
|
-
lastUpdated: '',
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// =============================================================================
|
|
95
|
-
// Validation Helpers
|
|
96
|
-
// =============================================================================
|
|
97
|
-
|
|
98
|
-
export const parseVelocityMetrics = (data: unknown): VelocityMetrics =>
|
|
99
|
-
VelocityMetricsSchema.parse(data)
|
|
100
|
-
|
|
101
|
-
export const safeParseVelocityMetrics = (data: unknown) => VelocityMetricsSchema.safeParse(data)
|
|
102
|
-
|
|
103
|
-
export const parseVelocityConfig = (data: unknown) => VelocityConfigSchema.parse(data)
|
package/core/server/index.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Server Module
|
|
3
|
-
*
|
|
4
|
-
* HTTP server for prjct-cli web dashboard and API.
|
|
5
|
-
*
|
|
6
|
-
* @module core/server
|
|
7
|
-
* @version 1.0.0
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// Re-export types from canonical location
|
|
11
|
-
export type {
|
|
12
|
-
ServerConfig,
|
|
13
|
-
ServerInstance,
|
|
14
|
-
SSEClient,
|
|
15
|
-
SSEEventType,
|
|
16
|
-
SSEManager,
|
|
17
|
-
} from '../types'
|
|
18
|
-
export { createRoutes } from './routes'
|
|
19
|
-
export { createExtendedRoutes } from './routes-extended'
|
|
20
|
-
export { createServer, DEFAULT_PORT, startServer } from './server'
|
|
21
|
-
export { createSSEManager, SSE_EVENTS } from './sse'
|