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/agentic/index.ts
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic Module - Central exports for agentic capabilities
|
|
3
|
-
*
|
|
4
|
-
* Organized into logical groups:
|
|
5
|
-
* - Memory: Pattern learning, semantic memories, history
|
|
6
|
-
* - Planning: Plan mode, approval flows
|
|
7
|
-
* - Execution: Command executor, loop detection
|
|
8
|
-
* - Context: Context building, smart context, prompt generation
|
|
9
|
-
* - Routing: Agent router, ground truth verification
|
|
10
|
-
* - Tools: Tool registry, template loader
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
// ============ Types ============
|
|
14
|
-
// All types re-exported from ../types (canonical source)
|
|
15
|
-
export type {
|
|
16
|
-
// Agent router types
|
|
17
|
-
Agent,
|
|
18
|
-
AgentInfo,
|
|
19
|
-
ApprovalContext,
|
|
20
|
-
ApprovalOperation,
|
|
21
|
-
ApprovalOption,
|
|
22
|
-
ApprovalPrompt,
|
|
23
|
-
AssignmentContext,
|
|
24
|
-
AttemptInfo,
|
|
25
|
-
AttemptRecord,
|
|
26
|
-
AttemptResult,
|
|
27
|
-
// Chain of Thought types
|
|
28
|
-
ChainOfThoughtContext,
|
|
29
|
-
ChainOfThoughtResult,
|
|
30
|
-
ChainOfThoughtState,
|
|
31
|
-
ChangedFile,
|
|
32
|
-
// Smart context types
|
|
33
|
-
ContextDomain,
|
|
34
|
-
// Context builder types
|
|
35
|
-
ContextPaths,
|
|
36
|
-
ContextState,
|
|
37
|
-
Decision,
|
|
38
|
-
DomainAnalysis,
|
|
39
|
-
// Loop Detector types
|
|
40
|
-
ErrorEntry,
|
|
41
|
-
ErrorPattern,
|
|
42
|
-
EscalationInfo,
|
|
43
|
-
// Execution types
|
|
44
|
-
ExecutionResult,
|
|
45
|
-
ExecutionToolsFn,
|
|
46
|
-
FeatureInfo,
|
|
47
|
-
FilteredContext,
|
|
48
|
-
FilterMetrics,
|
|
49
|
-
// Prompt builder types
|
|
50
|
-
Frontmatter,
|
|
51
|
-
FullContext,
|
|
52
|
-
GatheredAnalysisData,
|
|
53
|
-
GatheredFileData,
|
|
54
|
-
GatheredInfo,
|
|
55
|
-
GatheredInfoType,
|
|
56
|
-
// Ground Truth types
|
|
57
|
-
GroundTruthContext,
|
|
58
|
-
HallucinationPattern,
|
|
59
|
-
HallucinationResult,
|
|
60
|
-
HistoryEntry,
|
|
61
|
-
HistoryEventType,
|
|
62
|
-
LearnedPatterns,
|
|
63
|
-
LoadedAgent,
|
|
64
|
-
LoadedSkill,
|
|
65
|
-
// Memory types
|
|
66
|
-
Memory,
|
|
67
|
-
MemoryContext,
|
|
68
|
-
MemoryContextParams,
|
|
69
|
-
MemoryDatabase,
|
|
70
|
-
MemoryTag,
|
|
71
|
-
// Orchestrator types
|
|
72
|
-
OrchestratorContext,
|
|
73
|
-
OrchestratorSubtask,
|
|
74
|
-
OutputAnalysis,
|
|
75
|
-
PatternInfo,
|
|
76
|
-
Patterns,
|
|
77
|
-
Plan,
|
|
78
|
-
PlanAnalysis,
|
|
79
|
-
PlanInfo,
|
|
80
|
-
// Plan Mode types
|
|
81
|
-
PlanParams,
|
|
82
|
-
PlanStatus,
|
|
83
|
-
PlanStep,
|
|
84
|
-
PlanStepDefinition,
|
|
85
|
-
PlanStepResult,
|
|
86
|
-
Preference,
|
|
87
|
-
ProjectContext,
|
|
88
|
-
ProposedPlan,
|
|
89
|
-
ReasoningResult,
|
|
90
|
-
ReasoningStep,
|
|
91
|
-
SimpleExecutionResult,
|
|
92
|
-
StackInfo,
|
|
93
|
-
Template,
|
|
94
|
-
ThinkBlock,
|
|
95
|
-
// Tool registry types
|
|
96
|
-
ToolFunction,
|
|
97
|
-
ToolRegistryInterface,
|
|
98
|
-
VerificationResult,
|
|
99
|
-
Verifier,
|
|
100
|
-
Workflow,
|
|
101
|
-
} from '../types'
|
|
102
|
-
// ============ Routing ============
|
|
103
|
-
// Agent routing and ground truth verification
|
|
104
|
-
export { default as AgentRouter } from './agent-router'
|
|
105
|
-
// ============ Utilities ============
|
|
106
|
-
// Chain of thought, services
|
|
107
|
-
export {
|
|
108
|
-
default as chainOfThought,
|
|
109
|
-
formatPlan,
|
|
110
|
-
REASONING_REQUIRED_COMMANDS,
|
|
111
|
-
reason,
|
|
112
|
-
requiresReasoning,
|
|
113
|
-
} from './chain-of-thought'
|
|
114
|
-
// ============ Execution ============
|
|
115
|
-
// Command execution, loop detection
|
|
116
|
-
export {
|
|
117
|
-
CommandExecutor,
|
|
118
|
-
default as commandExecutor,
|
|
119
|
-
signalEnd,
|
|
120
|
-
signalStart,
|
|
121
|
-
} from './command-executor'
|
|
122
|
-
|
|
123
|
-
// ============ Context ============
|
|
124
|
-
// Context building and prompt generation
|
|
125
|
-
export { default as contextBuilder } from './context-builder'
|
|
126
|
-
export { DomainClassifier, default as domainClassifier } from './domain-classifier'
|
|
127
|
-
export {
|
|
128
|
-
default as groundTruth,
|
|
129
|
-
escapeRegex,
|
|
130
|
-
formatDuration,
|
|
131
|
-
formatWarnings,
|
|
132
|
-
prepareCommand,
|
|
133
|
-
requiresVerification,
|
|
134
|
-
verifiers,
|
|
135
|
-
verify,
|
|
136
|
-
verifyAnalyze,
|
|
137
|
-
verifyDone,
|
|
138
|
-
verifyFeature,
|
|
139
|
-
verifyInit,
|
|
140
|
-
verifyNow,
|
|
141
|
-
verifyShip,
|
|
142
|
-
verifySpec,
|
|
143
|
-
verifySync,
|
|
144
|
-
} from './ground-truth'
|
|
145
|
-
export {
|
|
146
|
-
analyzeErrorPattern,
|
|
147
|
-
default as loopDetector,
|
|
148
|
-
detectHallucination,
|
|
149
|
-
generateEscalationMessage,
|
|
150
|
-
generateSuggestion,
|
|
151
|
-
getHallucinationSuggestion,
|
|
152
|
-
HALLUCINATION_PATTERNS,
|
|
153
|
-
isSimilarError,
|
|
154
|
-
LoopDetector,
|
|
155
|
-
} from './loop-detector'
|
|
156
|
-
// ============ Memory ============
|
|
157
|
-
// Pattern learning, semantic memories, session history
|
|
158
|
-
export {
|
|
159
|
-
CachedStore,
|
|
160
|
-
default as memorySystem,
|
|
161
|
-
HistoryStore,
|
|
162
|
-
MEMORY_TAGS,
|
|
163
|
-
MemorySystem,
|
|
164
|
-
PatternStore,
|
|
165
|
-
SemanticMemories,
|
|
166
|
-
SessionStore,
|
|
167
|
-
} from './memory-system'
|
|
168
|
-
export { default as orchestratorExecutor, OrchestratorExecutor } from './orchestrator-executor'
|
|
169
|
-
// ============ Planning ============
|
|
170
|
-
// Plan mode for complex tasks
|
|
171
|
-
export {
|
|
172
|
-
DESTRUCTIVE_COMMANDS,
|
|
173
|
-
default as planMode,
|
|
174
|
-
generateApprovalPrompt,
|
|
175
|
-
PLAN_REQUIRED_COMMANDS,
|
|
176
|
-
PLAN_STATUS,
|
|
177
|
-
PLANNING_TOOLS,
|
|
178
|
-
PlanMode,
|
|
179
|
-
} from './plan-mode'
|
|
180
|
-
export { default as promptBuilder } from './prompt-builder'
|
|
181
|
-
export { default as services } from './services'
|
|
182
|
-
export { default as smartContext } from './smart-context'
|
|
183
|
-
export { default as templateExecutor, TemplateExecutor } from './template-executor'
|
|
184
|
-
export {
|
|
185
|
-
clearCache,
|
|
186
|
-
default as templateLoader,
|
|
187
|
-
getAllowedTools,
|
|
188
|
-
load,
|
|
189
|
-
parseFrontmatter,
|
|
190
|
-
} from './template-loader'
|
|
191
|
-
// ============ Tools ============
|
|
192
|
-
// Tool and template management
|
|
193
|
-
export { default as toolRegistry } from './tool-registry'
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Injection Validator
|
|
3
|
-
*
|
|
4
|
-
* Validates data before auto-injection into LLM prompts.
|
|
5
|
-
* Corrupted or oversized data gets safe fallbacks instead of broken context.
|
|
6
|
-
*
|
|
7
|
-
* @module agentic/injection-validator
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { z } from 'zod'
|
|
11
|
-
import type { TokenBudgetCoordinator } from './token-budget'
|
|
12
|
-
|
|
13
|
-
// =============================================================================
|
|
14
|
-
// Token Budget Configuration
|
|
15
|
-
// =============================================================================
|
|
16
|
-
|
|
17
|
-
/** Configurable token budgets per injection section */
|
|
18
|
-
export interface InjectionBudgets {
|
|
19
|
-
/** Auto-injected context (task + queue + patterns) */
|
|
20
|
-
autoContext: number
|
|
21
|
-
/** Per-agent content in orchestrator */
|
|
22
|
-
agentContent: number
|
|
23
|
-
/** Per-skill content in orchestrator */
|
|
24
|
-
skillContent: number
|
|
25
|
-
/** State data section */
|
|
26
|
-
stateData: number
|
|
27
|
-
/** Memories section */
|
|
28
|
-
memories: number
|
|
29
|
-
/** Total prompt ceiling (all sections combined) */
|
|
30
|
-
totalPrompt: number
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Default budgets (in estimated tokens, ~4 chars per token) */
|
|
34
|
-
export const DEFAULT_BUDGETS: InjectionBudgets = {
|
|
35
|
-
autoContext: 500,
|
|
36
|
-
agentContent: 400,
|
|
37
|
-
skillContent: 500,
|
|
38
|
-
stateData: 1000,
|
|
39
|
-
memories: 600,
|
|
40
|
-
totalPrompt: 8000,
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Create injection budgets from a TokenBudgetCoordinator.
|
|
45
|
-
* Uses the coordinator's injection allocation as the totalPrompt ceiling,
|
|
46
|
-
* keeping per-section budgets at their defaults.
|
|
47
|
-
*
|
|
48
|
-
* @see PRJ-266
|
|
49
|
-
*/
|
|
50
|
-
export function budgetsFromCoordinator(coordinator: TokenBudgetCoordinator): InjectionBudgets {
|
|
51
|
-
const injectionBudget = coordinator.getAllocationFor('injection')
|
|
52
|
-
return {
|
|
53
|
-
...DEFAULT_BUDGETS,
|
|
54
|
-
totalPrompt: injectionBudget,
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Approximate chars-per-token ratio
|
|
59
|
-
const CHARS_PER_TOKEN = 4
|
|
60
|
-
|
|
61
|
-
// =============================================================================
|
|
62
|
-
// Safe Injection
|
|
63
|
-
// =============================================================================
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Validate data against a Zod schema before injection.
|
|
67
|
-
* Returns validated data on success, or the fallback on failure.
|
|
68
|
-
*/
|
|
69
|
-
export function safeInject<T>(data: unknown, schema: z.ZodType<T>, fallback: T): T {
|
|
70
|
-
const result = schema.safeParse(data)
|
|
71
|
-
if (result.success) {
|
|
72
|
-
return result.data
|
|
73
|
-
}
|
|
74
|
-
return fallback
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Validate and stringify data for prompt injection.
|
|
79
|
-
* Returns formatted string on success, or fallback string on failure.
|
|
80
|
-
*/
|
|
81
|
-
export function safeInjectString<T>(
|
|
82
|
-
data: unknown,
|
|
83
|
-
schema: z.ZodType<T>,
|
|
84
|
-
formatter: (valid: T) => string,
|
|
85
|
-
fallbackString: string
|
|
86
|
-
): string {
|
|
87
|
-
const result = schema.safeParse(data)
|
|
88
|
-
if (result.success) {
|
|
89
|
-
return formatter(result.data)
|
|
90
|
-
}
|
|
91
|
-
return fallbackString
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// =============================================================================
|
|
95
|
-
// Token-Aware Truncation
|
|
96
|
-
// =============================================================================
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Truncate text to fit within a token budget.
|
|
100
|
-
* Uses char-based estimation (~4 chars/token).
|
|
101
|
-
*/
|
|
102
|
-
export function truncateToTokenBudget(text: string, maxTokens: number): string {
|
|
103
|
-
const maxChars = maxTokens * CHARS_PER_TOKEN
|
|
104
|
-
if (text.length <= maxChars) return text
|
|
105
|
-
return `${text.substring(0, maxChars)}\n... (truncated to ~${maxTokens} tokens)`
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Estimate token count for a string.
|
|
110
|
-
*/
|
|
111
|
-
export function estimateTokens(text: string): number {
|
|
112
|
-
return Math.ceil(text.length / CHARS_PER_TOKEN)
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// =============================================================================
|
|
116
|
-
// Skill Filtering
|
|
117
|
-
// =============================================================================
|
|
118
|
-
|
|
119
|
-
/** Domain keywords for matching skills to task domains */
|
|
120
|
-
const DOMAIN_KEYWORDS: Record<string, string[]> = {
|
|
121
|
-
frontend: ['react', 'vue', 'svelte', 'css', 'html', 'ui', 'component', 'frontend', 'web', 'dom'],
|
|
122
|
-
backend: ['api', 'server', 'backend', 'endpoint', 'route', 'middleware', 'database', 'sql'],
|
|
123
|
-
testing: ['test', 'spec', 'jest', 'vitest', 'cypress', 'playwright', 'coverage', 'assert'],
|
|
124
|
-
devops: ['docker', 'ci', 'cd', 'deploy', 'kubernetes', 'terraform', 'pipeline', 'github-actions'],
|
|
125
|
-
docs: ['documentation', 'readme', 'guide', 'tutorial', 'markdown'],
|
|
126
|
-
design: ['design', 'ux', 'ui', 'figma', 'wireframe', 'layout', 'accessibility'],
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Filter skills by relevance to detected task domains.
|
|
131
|
-
* Returns only skills whose content matches the task's domains.
|
|
132
|
-
*/
|
|
133
|
-
export function filterSkillsByDomains(
|
|
134
|
-
skills: { name: string; content: string }[],
|
|
135
|
-
detectedDomains: string[]
|
|
136
|
-
): { name: string; content: string }[] {
|
|
137
|
-
if (detectedDomains.length === 0 || skills.length === 0) return skills
|
|
138
|
-
|
|
139
|
-
// Build keyword set from detected domains
|
|
140
|
-
const relevantKeywords = new Set<string>()
|
|
141
|
-
for (const domain of detectedDomains) {
|
|
142
|
-
const keywords = DOMAIN_KEYWORDS[domain.toLowerCase()]
|
|
143
|
-
if (keywords) {
|
|
144
|
-
for (const kw of keywords) relevantKeywords.add(kw)
|
|
145
|
-
}
|
|
146
|
-
// Also add the domain name itself
|
|
147
|
-
relevantKeywords.add(domain.toLowerCase())
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
return skills.filter((skill) => {
|
|
151
|
-
const text = `${skill.name} ${skill.content}`.toLowerCase()
|
|
152
|
-
// Keep skill if any relevant keyword appears in its name or content
|
|
153
|
-
for (const kw of relevantKeywords) {
|
|
154
|
-
if (text.includes(kw)) return true
|
|
155
|
-
}
|
|
156
|
-
return false
|
|
157
|
-
})
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// =============================================================================
|
|
161
|
-
// Section Budget Tracker
|
|
162
|
-
// =============================================================================
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Tracks cumulative token usage across injection sections.
|
|
166
|
-
* Allows checking remaining budget before adding more content.
|
|
167
|
-
*/
|
|
168
|
-
export class InjectionBudgetTracker {
|
|
169
|
-
private used = 0
|
|
170
|
-
private budgets: InjectionBudgets
|
|
171
|
-
|
|
172
|
-
constructor(budgets: Partial<InjectionBudgets> = {}) {
|
|
173
|
-
this.budgets = { ...DEFAULT_BUDGETS, ...budgets }
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/** Add content and return it (possibly truncated to fit budget) */
|
|
177
|
-
addSection(content: string, sectionBudget: number): string {
|
|
178
|
-
const truncated = truncateToTokenBudget(content, sectionBudget)
|
|
179
|
-
const tokens = estimateTokens(truncated)
|
|
180
|
-
|
|
181
|
-
// Check total budget
|
|
182
|
-
if (this.used + tokens > this.budgets.totalPrompt) {
|
|
183
|
-
const remaining = this.budgets.totalPrompt - this.used
|
|
184
|
-
if (remaining <= 0) return ''
|
|
185
|
-
const fitted = truncateToTokenBudget(truncated, remaining)
|
|
186
|
-
this.used += estimateTokens(fitted)
|
|
187
|
-
return fitted
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
this.used += tokens
|
|
191
|
-
return truncated
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/** Get remaining token budget */
|
|
195
|
-
get remaining(): number {
|
|
196
|
-
return Math.max(0, this.budgets.totalPrompt - this.used)
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/** Get total tokens used */
|
|
200
|
-
get totalUsed(): number {
|
|
201
|
-
return this.used
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/** Get the budgets config */
|
|
205
|
-
get config(): InjectionBudgets {
|
|
206
|
-
return this.budgets
|
|
207
|
-
}
|
|
208
|
-
}
|