@winspan/claude-forge 8.54.4 → 9.2.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/DEVELOPMENT.md +649 -33
- package/README.md +154 -16
- package/dist/catalogs/agents.json +72 -0
- package/dist/catalogs/skills.json +194 -0
- package/dist/claudemd/claudemd-generator.d.ts +45 -45
- package/dist/claudemd/claudemd-generator.d.ts.map +1 -1
- package/dist/claudemd/claudemd-generator.js +128 -449
- package/dist/claudemd/claudemd-generator.js.map +1 -1
- package/dist/claudemd/index.d.ts +14 -4
- package/dist/claudemd/index.d.ts.map +1 -1
- package/dist/claudemd/index.js +15 -4
- package/dist/claudemd/index.js.map +1 -1
- package/dist/claudemd/resume-manager.d.ts.map +1 -1
- package/dist/claudemd/resume-manager.js +37 -9
- package/dist/claudemd/resume-manager.js.map +1 -1
- package/dist/claudemd/templates/swarm-protocol.md +35 -186
- package/dist/claudemd/violations-manager.d.ts +40 -0
- package/dist/claudemd/violations-manager.d.ts.map +1 -0
- package/dist/claudemd/violations-manager.js +106 -0
- package/dist/claudemd/violations-manager.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +15 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +177 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +18 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +160 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/bypass.d.ts +18 -0
- package/dist/cli/commands/bypass.d.ts.map +1 -0
- package/dist/cli/commands/bypass.js +87 -0
- package/dist/cli/commands/bypass.js.map +1 -0
- package/dist/cli/commands/claudemd.d.ts +60 -0
- package/dist/cli/commands/claudemd.d.ts.map +1 -1
- package/dist/cli/commands/claudemd.js +174 -37
- package/dist/cli/commands/claudemd.js.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +94 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +39 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +167 -20
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/decisions.d.ts +129 -0
- package/dist/cli/commands/decisions.d.ts.map +1 -0
- package/dist/cli/commands/decisions.js +669 -0
- package/dist/cli/commands/decisions.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +29 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +124 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/entropy.d.ts +35 -0
- package/dist/cli/commands/entropy.d.ts.map +1 -0
- package/dist/cli/commands/entropy.js +121 -0
- package/dist/cli/commands/entropy.js.map +1 -0
- package/dist/cli/commands/executions.d.ts +1 -0
- package/dist/cli/commands/executions.d.ts.map +1 -1
- package/dist/cli/commands/executions.js +10 -1
- package/dist/cli/commands/executions.js.map +1 -1
- package/dist/cli/commands/fix.d.ts +31 -0
- package/dist/cli/commands/fix.d.ts.map +1 -0
- package/dist/cli/commands/fix.js +108 -0
- package/dist/cli/commands/fix.js.map +1 -0
- package/dist/cli/commands/governance.d.ts +21 -0
- package/dist/cli/commands/governance.d.ts.map +1 -0
- package/dist/cli/commands/governance.js +60 -0
- package/dist/cli/commands/governance.js.map +1 -0
- package/dist/cli/commands/init.d.ts +27 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +158 -146
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/insights-goal-check.d.ts +50 -0
- package/dist/cli/commands/insights-goal-check.d.ts.map +1 -0
- package/dist/cli/commands/insights-goal-check.js +318 -0
- package/dist/cli/commands/insights-goal-check.js.map +1 -0
- package/dist/cli/commands/insights.d.ts +15 -0
- package/dist/cli/commands/insights.d.ts.map +1 -0
- package/dist/cli/commands/insights.js +127 -0
- package/dist/cli/commands/insights.js.map +1 -0
- package/dist/cli/commands/knowledge.d.ts +66 -0
- package/dist/cli/commands/knowledge.d.ts.map +1 -0
- package/dist/cli/commands/knowledge.js +897 -0
- package/dist/cli/commands/knowledge.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +0 -12
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +11 -5
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/menu.d.ts.map +1 -1
- package/dist/cli/commands/menu.js +10 -184
- package/dist/cli/commands/menu.js.map +1 -1
- package/dist/cli/commands/project.d.ts +98 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/project.js +382 -0
- package/dist/cli/commands/project.js.map +1 -0
- package/dist/cli/commands/skills.d.ts.map +1 -1
- package/dist/cli/commands/skills.js +14 -128
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +40 -0
- package/dist/cli/commands/spec.d.ts.map +1 -0
- package/dist/cli/commands/spec.js +49 -0
- package/dist/cli/commands/spec.js.map +1 -0
- package/dist/cli/commands/stats.d.ts.map +1 -1
- package/dist/cli/commands/stats.js +3 -2
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +17 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/trace.d.ts.map +1 -1
- package/dist/cli/commands/trace.js +4 -9
- package/dist/cli/commands/trace.js.map +1 -1
- package/dist/cli/commands/violations.d.ts +14 -0
- package/dist/cli/commands/violations.d.ts.map +1 -0
- package/dist/cli/commands/violations.js +43 -0
- package/dist/cli/commands/violations.js.map +1 -0
- package/dist/cli/index.js +26 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/hook-manager.d.ts +1 -1
- package/dist/cli/init/hook-manager.d.ts.map +1 -1
- package/dist/cli/init/hook-manager.js +6 -0
- package/dist/cli/init/hook-manager.js.map +1 -1
- package/dist/cli/utils/resolve-session.d.ts +32 -0
- package/dist/cli/utils/resolve-session.d.ts.map +1 -0
- package/dist/cli/utils/resolve-session.js +39 -0
- package/dist/cli/utils/resolve-session.js.map +1 -0
- package/dist/core/config.d.ts +4 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +11 -23
- package/dist/core/config.js.map +1 -1
- package/dist/core/constants.d.ts +14 -13
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +20 -13
- package/dist/core/constants.js.map +1 -1
- package/dist/core/diagnostics/checks.d.ts +151 -0
- package/dist/core/diagnostics/checks.d.ts.map +1 -0
- package/dist/core/diagnostics/checks.js +765 -0
- package/dist/core/diagnostics/checks.js.map +1 -0
- package/dist/core/diagnostics/daemon-status.d.ts +77 -0
- package/dist/core/diagnostics/daemon-status.d.ts.map +1 -0
- package/dist/core/diagnostics/daemon-status.js +113 -0
- package/dist/core/diagnostics/daemon-status.js.map +1 -0
- package/dist/core/diagnostics/entropy-checks.d.ts +82 -0
- package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -0
- package/dist/core/diagnostics/entropy-checks.js +395 -0
- package/dist/core/diagnostics/entropy-checks.js.map +1 -0
- package/dist/core/diagnostics/fix-runner.d.ts +54 -0
- package/dist/core/diagnostics/fix-runner.d.ts.map +1 -0
- package/dist/core/diagnostics/fix-runner.js +90 -0
- package/dist/core/diagnostics/fix-runner.js.map +1 -0
- package/dist/core/diagnostics/knip-runner.d.ts +49 -0
- package/dist/core/diagnostics/knip-runner.d.ts.map +1 -0
- package/dist/core/diagnostics/knip-runner.js +100 -0
- package/dist/core/diagnostics/knip-runner.js.map +1 -0
- package/dist/core/diagnostics/markers.d.ts +96 -0
- package/dist/core/diagnostics/markers.d.ts.map +1 -0
- package/dist/core/diagnostics/markers.js +153 -0
- package/dist/core/diagnostics/markers.js.map +1 -0
- package/dist/core/governance/global-inject.d.ts +60 -0
- package/dist/core/governance/global-inject.d.ts.map +1 -0
- package/dist/core/governance/global-inject.js +129 -0
- package/dist/core/governance/global-inject.js.map +1 -0
- package/dist/core/queue/index.d.ts +16 -3
- package/dist/core/queue/index.d.ts.map +1 -1
- package/dist/core/queue/index.js +14 -3
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/storage/base.d.ts +158 -0
- package/dist/core/storage/base.d.ts.map +1 -1
- package/dist/core/storage/base.js +570 -0
- package/dist/core/storage/base.js.map +1 -1
- package/dist/core/storage/codec/tool-input-codec.d.ts +93 -0
- package/dist/core/storage/codec/tool-input-codec.d.ts.map +1 -0
- package/dist/core/storage/codec/tool-input-codec.js +159 -0
- package/dist/core/storage/codec/tool-input-codec.js.map +1 -0
- package/dist/core/storage/decisions.d.ts +362 -0
- package/dist/core/storage/decisions.d.ts.map +1 -0
- package/dist/core/storage/decisions.js +502 -0
- package/dist/core/storage/decisions.js.map +1 -0
- package/dist/core/storage/events.d.ts +112 -8
- package/dist/core/storage/events.d.ts.map +1 -1
- package/dist/core/storage/events.js +390 -39
- package/dist/core/storage/events.js.map +1 -1
- package/dist/core/storage/feedback.d.ts +131 -0
- package/dist/core/storage/feedback.d.ts.map +1 -0
- package/dist/core/storage/feedback.js +187 -0
- package/dist/core/storage/feedback.js.map +1 -0
- package/dist/core/storage/forge-config.d.ts +40 -0
- package/dist/core/storage/forge-config.d.ts.map +1 -0
- package/dist/core/storage/forge-config.js +65 -0
- package/dist/core/storage/forge-config.js.map +1 -0
- package/dist/core/storage/injections.d.ts +28 -0
- package/dist/core/storage/injections.d.ts.map +1 -1
- package/dist/core/storage/injections.js +62 -5
- package/dist/core/storage/injections.js.map +1 -1
- package/dist/core/storage/knowledge.d.ts +106 -0
- package/dist/core/storage/knowledge.d.ts.map +1 -0
- package/dist/core/storage/knowledge.js +202 -0
- package/dist/core/storage/knowledge.js.map +1 -0
- package/dist/core/storage/maintenance.d.ts +36 -9
- package/dist/core/storage/maintenance.d.ts.map +1 -1
- package/dist/core/storage/maintenance.js +56 -24
- package/dist/core/storage/maintenance.js.map +1 -1
- package/dist/core/storage/pipeline-rollup.d.ts +117 -0
- package/dist/core/storage/pipeline-rollup.d.ts.map +1 -0
- package/dist/core/storage/pipeline-rollup.js +471 -0
- package/dist/core/storage/pipeline-rollup.js.map +1 -0
- package/dist/core/storage/routing.d.ts +16 -3
- package/dist/core/storage/routing.d.ts.map +1 -1
- package/dist/core/storage/routing.js +39 -8
- package/dist/core/storage/routing.js.map +1 -1
- package/dist/core/storage/rows.d.ts +50 -7
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +302 -23
- package/dist/core/storage/sessions.d.ts +136 -0
- package/dist/core/storage/sessions.d.ts.map +1 -1
- package/dist/core/storage/sessions.js +351 -15
- package/dist/core/storage/sessions.js.map +1 -1
- package/dist/core/storage/skills.d.ts +1 -0
- package/dist/core/storage/skills.d.ts.map +1 -1
- package/dist/core/storage/skills.js +21 -6
- package/dist/core/storage/skills.js.map +1 -1
- package/dist/core/storage/sqlite.d.ts +253 -20
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +425 -16
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/storage/tasks.d.ts +474 -2
- package/dist/core/storage/tasks.d.ts.map +1 -1
- package/dist/core/storage/tasks.js +1213 -18
- package/dist/core/storage/tasks.js.map +1 -1
- package/dist/core/storage/tool-intercepts.d.ts +69 -0
- package/dist/core/storage/tool-intercepts.d.ts.map +1 -0
- package/dist/core/storage/tool-intercepts.js +116 -0
- package/dist/core/storage/tool-intercepts.js.map +1 -0
- package/dist/core/storage/workflow-recommendations.d.ts +124 -0
- package/dist/core/storage/workflow-recommendations.d.ts.map +1 -0
- package/dist/core/storage/workflow-recommendations.js +274 -0
- package/dist/core/storage/workflow-recommendations.js.map +1 -0
- package/dist/core/types.d.ts +112 -17
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +12 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils/backup.d.ts +81 -0
- package/dist/core/utils/backup.d.ts.map +1 -0
- package/dist/core/utils/backup.js +98 -0
- package/dist/core/utils/backup.js.map +1 -0
- package/dist/core/utils/binary-paths.d.ts +92 -0
- package/dist/core/utils/binary-paths.d.ts.map +1 -0
- package/dist/core/utils/binary-paths.js +166 -0
- package/dist/core/utils/binary-paths.js.map +1 -0
- package/dist/core/utils/bypass-token.d.ts +75 -0
- package/dist/core/utils/bypass-token.d.ts.map +1 -0
- package/dist/core/utils/bypass-token.js +133 -0
- package/dist/core/utils/bypass-token.js.map +1 -0
- package/dist/core/utils/cc-builtin-agents.d.ts +3 -0
- package/dist/core/utils/cc-builtin-agents.d.ts.map +1 -0
- package/dist/core/utils/cc-builtin-agents.js +29 -0
- package/dist/core/utils/cc-builtin-agents.js.map +1 -0
- package/dist/core/utils/claude-cli-spawn.d.ts +106 -0
- package/dist/core/utils/claude-cli-spawn.d.ts.map +1 -0
- package/dist/core/utils/claude-cli-spawn.js +219 -0
- package/dist/core/utils/claude-cli-spawn.js.map +1 -0
- package/dist/core/utils/forge-resume-block.d.ts.map +1 -1
- package/dist/core/utils/forge-resume-block.js +3 -2
- package/dist/core/utils/forge-resume-block.js.map +1 -1
- package/dist/core/utils/logger.d.ts +15 -3
- package/dist/core/utils/logger.d.ts.map +1 -1
- package/dist/core/utils/logger.js +20 -2
- package/dist/core/utils/logger.js.map +1 -1
- package/dist/core/utils/noise-prompt.d.ts +97 -0
- package/dist/core/utils/noise-prompt.d.ts.map +1 -0
- package/dist/core/utils/noise-prompt.js +127 -0
- package/dist/core/utils/noise-prompt.js.map +1 -0
- package/dist/core/utils/path.d.ts +0 -4
- package/dist/core/utils/path.d.ts.map +1 -1
- package/dist/core/utils/path.js +0 -7
- package/dist/core/utils/path.js.map +1 -1
- package/dist/core/utils/time.d.ts +41 -0
- package/dist/core/utils/time.d.ts.map +1 -1
- package/dist/core/utils/time.js +114 -0
- package/dist/core/utils/time.js.map +1 -1
- package/dist/daemon/agent-sync.d.ts +24 -0
- package/dist/daemon/agent-sync.d.ts.map +1 -0
- package/dist/daemon/agent-sync.js +114 -0
- package/dist/daemon/agent-sync.js.map +1 -0
- package/dist/daemon/config-store.d.ts +55 -0
- package/dist/daemon/config-store.d.ts.map +1 -0
- package/dist/daemon/config-store.js +137 -0
- package/dist/daemon/config-store.js.map +1 -0
- package/dist/daemon/event-parser.d.ts +22 -0
- package/dist/daemon/event-parser.d.ts.map +1 -1
- package/dist/daemon/event-parser.js +49 -3
- package/dist/daemon/event-parser.js.map +1 -1
- package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
- package/dist/daemon/handlers/history-exporter.js +9 -8
- package/dist/daemon/handlers/history-exporter.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +58 -4
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +261 -8
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/pre-tool-use.d.ts +156 -0
- package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -0
- package/dist/daemon/handlers/pre-tool-use.js +585 -0
- package/dist/daemon/handlers/pre-tool-use.js.map +1 -0
- package/dist/daemon/handlers/stop.d.ts +35 -7
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +157 -8
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +36 -14
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +135 -48
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/hook-sync.d.ts.map +1 -1
- package/dist/daemon/hook-sync.js +2 -1
- package/dist/daemon/hook-sync.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +471 -43
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/lifecycle.d.ts +48 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +98 -2
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/router.d.ts +4 -1
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js +4 -2
- package/dist/daemon/router.js.map +1 -1
- package/dist/daemon/rules/defaults.d.ts +20 -0
- package/dist/daemon/rules/defaults.d.ts.map +1 -0
- package/dist/daemon/rules/defaults.js +692 -0
- package/dist/daemon/rules/defaults.js.map +1 -0
- package/dist/daemon/rules/registry.d.ts +47 -0
- package/dist/daemon/rules/registry.d.ts.map +1 -0
- package/dist/daemon/rules/registry.js +84 -0
- package/dist/daemon/rules/registry.js.map +1 -0
- package/dist/daemon/rules/types.d.ts +170 -0
- package/dist/daemon/rules/types.d.ts.map +1 -0
- package/dist/daemon/rules/types.js +15 -0
- package/dist/daemon/rules/types.js.map +1 -0
- package/dist/daemon/rules/whitelist.d.ts +101 -0
- package/dist/daemon/rules/whitelist.d.ts.map +1 -0
- package/dist/daemon/rules/whitelist.js +210 -0
- package/dist/daemon/rules/whitelist.js.map +1 -0
- package/dist/daemon/rules/workflow-defaults.d.ts +52 -0
- package/dist/daemon/rules/workflow-defaults.d.ts.map +1 -0
- package/dist/daemon/rules/workflow-defaults.js +521 -0
- package/dist/daemon/rules/workflow-defaults.js.map +1 -0
- package/dist/daemon/server.d.ts +11 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +7 -1
- package/dist/daemon/server.js.map +1 -1
- package/dist/daemon/services/context-injector.d.ts +34 -0
- package/dist/daemon/services/context-injector.d.ts.map +1 -0
- package/dist/daemon/services/context-injector.js +61 -0
- package/dist/daemon/services/context-injector.js.map +1 -0
- package/dist/daemon/services/decision-hint.d.ts +203 -0
- package/dist/daemon/services/decision-hint.d.ts.map +1 -0
- package/dist/daemon/services/decision-hint.js +487 -0
- package/dist/daemon/services/decision-hint.js.map +1 -0
- package/dist/daemon/services/event-ttl-sweep.d.ts +86 -0
- package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -0
- package/dist/daemon/services/event-ttl-sweep.js +123 -0
- package/dist/daemon/services/event-ttl-sweep.js.map +1 -0
- package/dist/daemon/services/experience-extractor.d.ts +67 -0
- package/dist/daemon/services/experience-extractor.d.ts.map +1 -0
- package/dist/daemon/services/experience-extractor.js +323 -0
- package/dist/daemon/services/experience-extractor.js.map +1 -0
- package/dist/daemon/services/feedback-aggregator.d.ts +179 -0
- package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -0
- package/dist/daemon/services/feedback-aggregator.js +455 -0
- package/dist/daemon/services/feedback-aggregator.js.map +1 -0
- package/dist/daemon/services/heartbeat-writer.d.ts +55 -0
- package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -0
- package/dist/daemon/services/heartbeat-writer.js +111 -0
- package/dist/daemon/services/heartbeat-writer.js.map +1 -0
- package/dist/daemon/services/idle-session-sweeper.d.ts +61 -0
- package/dist/daemon/services/idle-session-sweeper.d.ts.map +1 -0
- package/dist/daemon/services/idle-session-sweeper.js +94 -0
- package/dist/daemon/services/idle-session-sweeper.js.map +1 -0
- package/dist/daemon/services/idle-task-budget.d.ts +50 -0
- package/dist/daemon/services/idle-task-budget.d.ts.map +1 -0
- package/dist/daemon/services/idle-task-budget.js +72 -0
- package/dist/daemon/services/idle-task-budget.js.map +1 -0
- package/dist/daemon/services/intercept-revive.d.ts +60 -0
- package/dist/daemon/services/intercept-revive.d.ts.map +1 -0
- package/dist/daemon/services/intercept-revive.js +86 -0
- package/dist/daemon/services/intercept-revive.js.map +1 -0
- package/dist/daemon/services/intercept-rollback-guard.d.ts +105 -0
- package/dist/daemon/services/intercept-rollback-guard.d.ts.map +1 -0
- package/dist/daemon/services/intercept-rollback-guard.js +152 -0
- package/dist/daemon/services/intercept-rollback-guard.js.map +1 -0
- package/dist/daemon/services/intercept-timeout-sweeper.d.ts +58 -0
- package/dist/daemon/services/intercept-timeout-sweeper.d.ts.map +1 -0
- package/dist/daemon/services/intercept-timeout-sweeper.js +83 -0
- package/dist/daemon/services/intercept-timeout-sweeper.js.map +1 -0
- package/dist/daemon/services/kb-injector.d.ts +57 -0
- package/dist/daemon/services/kb-injector.d.ts.map +1 -0
- package/dist/daemon/services/kb-injector.js +140 -0
- package/dist/daemon/services/kb-injector.js.map +1 -0
- package/dist/daemon/services/outcome-classification-service.d.ts +49 -0
- package/dist/daemon/services/outcome-classification-service.d.ts.map +1 -0
- package/dist/daemon/services/outcome-classification-service.js +214 -0
- package/dist/daemon/services/outcome-classification-service.js.map +1 -0
- package/dist/daemon/services/outcome-classifier.d.ts +136 -0
- package/dist/daemon/services/outcome-classifier.d.ts.map +1 -0
- package/dist/daemon/services/outcome-classifier.js +178 -0
- package/dist/daemon/services/outcome-classifier.js.map +1 -0
- package/dist/daemon/services/outcome-nudge.d.ts +107 -0
- package/dist/daemon/services/outcome-nudge.d.ts.map +1 -0
- package/dist/daemon/services/outcome-nudge.js +242 -0
- package/dist/daemon/services/outcome-nudge.js.map +1 -0
- package/dist/daemon/services/spec-approval.d.ts +127 -0
- package/dist/daemon/services/spec-approval.d.ts.map +1 -0
- package/dist/daemon/services/spec-approval.js +216 -0
- package/dist/daemon/services/spec-approval.js.map +1 -0
- package/dist/daemon/services/spec-gate.d.ts +54 -0
- package/dist/daemon/services/spec-gate.d.ts.map +1 -0
- package/dist/daemon/services/spec-gate.js +113 -0
- package/dist/daemon/services/spec-gate.js.map +1 -0
- package/dist/daemon/services/task-boundary-classifier.d.ts +78 -0
- package/dist/daemon/services/task-boundary-classifier.d.ts.map +1 -0
- package/dist/daemon/services/task-boundary-classifier.js +202 -0
- package/dist/daemon/services/task-boundary-classifier.js.map +1 -0
- package/dist/daemon/services/task-segmenter.d.ts +219 -1
- package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
- package/dist/daemon/services/task-segmenter.js +481 -17
- package/dist/daemon/services/task-segmenter.js.map +1 -1
- package/dist/daemon/services/violation-reporter.d.ts +130 -0
- package/dist/daemon/services/violation-reporter.d.ts.map +1 -0
- package/dist/daemon/services/violation-reporter.js +339 -0
- package/dist/daemon/services/violation-reporter.js.map +1 -0
- package/dist/daemon/skill-sync.d.ts +7 -2
- package/dist/daemon/skill-sync.d.ts.map +1 -1
- package/dist/daemon/skill-sync.js +114 -9
- package/dist/daemon/skill-sync.js.map +1 -1
- package/dist/daemon/templates/agents/claudemd-writer.md +101 -0
- package/dist/daemon/templates/agents/coder.md +105 -0
- package/dist/daemon/templates/agents/decision-maker.md +460 -0
- package/dist/daemon/templates/agents/doc-reviewer.md +115 -0
- package/dist/daemon/templates/agents/harness-debug-full.md +114 -0
- package/dist/daemon/templates/agents/harness-hotfix.md +99 -0
- package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +104 -0
- package/dist/daemon/templates/agents/knowledge-builder.md +119 -0
- package/dist/daemon/templates/agents/patch-applier.md +144 -0
- package/dist/daemon/templates/agents/planner.md +165 -0
- package/dist/daemon/templates/agents/refactor-specialist.md +98 -0
- package/dist/daemon/templates/agents/skill-distiller.md +113 -0
- package/dist/daemon/templates/agents/task-boundary-classifier.md +64 -0
- package/dist/daemon/templates/agents/verify-agent.md +136 -0
- package/dist/daemon/utils/inject-block.d.ts +39 -0
- package/dist/daemon/utils/inject-block.d.ts.map +1 -0
- package/dist/daemon/utils/inject-block.js +25 -0
- package/dist/daemon/utils/inject-block.js.map +1 -0
- package/dist/hooks/hook-lib.sh +8 -0
- package/dist/hooks/notification.sh +19 -8
- package/dist/hooks/post-tool-use.sh +41 -23
- package/dist/hooks/pre-tool-use.sh +54 -23
- package/dist/hooks/session-start.sh +68 -0
- package/dist/hooks/stop.sh +24 -10
- package/dist/hooks/user-prompt-submit.sh +37 -21
- package/dist/knowledge/adapters/go-adapter.d.ts +65 -0
- package/dist/knowledge/adapters/go-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/go-adapter.js +294 -0
- package/dist/knowledge/adapters/go-adapter.js.map +1 -0
- package/dist/knowledge/adapters/index.d.ts +41 -0
- package/dist/knowledge/adapters/index.d.ts.map +1 -0
- package/dist/knowledge/adapters/index.js +71 -0
- package/dist/knowledge/adapters/index.js.map +1 -0
- package/dist/knowledge/adapters/java-adapter.d.ts +66 -0
- package/dist/knowledge/adapters/java-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/java-adapter.js +260 -0
- package/dist/knowledge/adapters/java-adapter.js.map +1 -0
- package/dist/knowledge/adapters/js-vue-adapter.d.ts +56 -0
- package/dist/knowledge/adapters/js-vue-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/js-vue-adapter.js +203 -0
- package/dist/knowledge/adapters/js-vue-adapter.js.map +1 -0
- package/dist/knowledge/adapters/kotlin-adapter.d.ts +55 -0
- package/dist/knowledge/adapters/kotlin-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/kotlin-adapter.js +209 -0
- package/dist/knowledge/adapters/kotlin-adapter.js.map +1 -0
- package/dist/knowledge/adapters/monorepo-adapter.d.ts +77 -0
- package/dist/knowledge/adapters/monorepo-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/monorepo-adapter.js +170 -0
- package/dist/knowledge/adapters/monorepo-adapter.js.map +1 -0
- package/dist/knowledge/adapters/python-adapter.d.ts +89 -0
- package/dist/knowledge/adapters/python-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/python-adapter.js +358 -0
- package/dist/knowledge/adapters/python-adapter.js.map +1 -0
- package/dist/knowledge/adapters/rust-adapter.d.ts +73 -0
- package/dist/knowledge/adapters/rust-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/rust-adapter.js +329 -0
- package/dist/knowledge/adapters/rust-adapter.js.map +1 -0
- package/dist/knowledge/adapters/types.d.ts +99 -0
- package/dist/knowledge/adapters/types.d.ts.map +1 -0
- package/dist/knowledge/adapters/types.js +17 -0
- package/dist/knowledge/adapters/types.js.map +1 -0
- package/dist/knowledge/adapters/typescript-adapter.d.ts +57 -0
- package/dist/knowledge/adapters/typescript-adapter.d.ts.map +1 -0
- package/dist/knowledge/adapters/typescript-adapter.js +171 -0
- package/dist/knowledge/adapters/typescript-adapter.js.map +1 -0
- package/dist/knowledge/audit-applier.d.ts +70 -0
- package/dist/knowledge/audit-applier.d.ts.map +1 -0
- package/dist/knowledge/audit-applier.js +251 -0
- package/dist/knowledge/audit-applier.js.map +1 -0
- package/dist/knowledge/builder.d.ts +261 -0
- package/dist/knowledge/builder.d.ts.map +1 -0
- package/dist/knowledge/builder.js +937 -0
- package/dist/knowledge/builder.js.map +1 -0
- package/dist/knowledge/cli-provider.d.ts +151 -0
- package/dist/knowledge/cli-provider.d.ts.map +1 -0
- package/dist/knowledge/cli-provider.js +313 -0
- package/dist/knowledge/cli-provider.js.map +1 -0
- package/dist/knowledge/constants.d.ts +73 -0
- package/dist/knowledge/constants.d.ts.map +1 -0
- package/dist/knowledge/constants.js +93 -0
- package/dist/knowledge/constants.js.map +1 -0
- package/dist/knowledge/cross-module.d.ts +139 -0
- package/dist/knowledge/cross-module.d.ts.map +1 -0
- package/dist/knowledge/cross-module.js +370 -0
- package/dist/knowledge/cross-module.js.map +1 -0
- package/dist/knowledge/git-hooks.d.ts +67 -0
- package/dist/knowledge/git-hooks.d.ts.map +1 -0
- package/dist/knowledge/git-hooks.js +258 -0
- package/dist/knowledge/git-hooks.js.map +1 -0
- package/dist/knowledge/module-hash.d.ts +88 -0
- package/dist/knowledge/module-hash.d.ts.map +1 -0
- package/dist/knowledge/module-hash.js +162 -0
- package/dist/knowledge/module-hash.js.map +1 -0
- package/dist/knowledge/project-detector.d.ts +101 -0
- package/dist/knowledge/project-detector.d.ts.map +1 -0
- package/dist/knowledge/project-detector.js +223 -0
- package/dist/knowledge/project-detector.js.map +1 -0
- package/dist/knowledge/prompt.d.ts +228 -0
- package/dist/knowledge/prompt.d.ts.map +1 -0
- package/dist/knowledge/prompt.js +404 -0
- package/dist/knowledge/prompt.js.map +1 -0
- package/dist/knowledge/query.d.ts +105 -0
- package/dist/knowledge/query.d.ts.map +1 -0
- package/dist/knowledge/query.js +341 -0
- package/dist/knowledge/query.js.map +1 -0
- package/dist/knowledge/repo-map.d.ts +91 -0
- package/dist/knowledge/repo-map.d.ts.map +1 -0
- package/dist/knowledge/repo-map.js +408 -0
- package/dist/knowledge/repo-map.js.map +1 -0
- package/dist/knowledge/tools/index.d.ts +14 -0
- package/dist/knowledge/tools/index.d.ts.map +1 -0
- package/dist/knowledge/tools/index.js +11 -0
- package/dist/knowledge/tools/index.js.map +1 -0
- package/dist/knowledge/tools/knowledge-get-page.d.ts +46 -0
- package/dist/knowledge/tools/knowledge-get-page.d.ts.map +1 -0
- package/dist/knowledge/tools/knowledge-get-page.js +101 -0
- package/dist/knowledge/tools/knowledge-get-page.js.map +1 -0
- package/dist/knowledge/tools/knowledge-query.d.ts +77 -0
- package/dist/knowledge/tools/knowledge-query.d.ts.map +1 -0
- package/dist/knowledge/tools/knowledge-query.js +104 -0
- package/dist/knowledge/tools/knowledge-query.js.map +1 -0
- package/dist/knowledge/tools/repo-map-lookup.d.ts +45 -0
- package/dist/knowledge/tools/repo-map-lookup.d.ts.map +1 -0
- package/dist/knowledge/tools/repo-map-lookup.js +82 -0
- package/dist/knowledge/tools/repo-map-lookup.js.map +1 -0
- package/dist/knowledge/types.d.ts +269 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +10 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/knowledge/validator.d.ts +90 -0
- package/dist/knowledge/validator.d.ts.map +1 -0
- package/dist/knowledge/validator.js +288 -0
- package/dist/knowledge/validator.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +222 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills/builtin-skills.d.ts +35 -0
- package/dist/skills/builtin-skills.d.ts.map +1 -0
- package/dist/skills/builtin-skills.js +68 -0
- package/dist/skills/builtin-skills.js.map +1 -0
- package/dist/skills/distill/attribution.d.ts +59 -0
- package/dist/skills/distill/attribution.d.ts.map +1 -0
- package/dist/skills/distill/attribution.js +101 -0
- package/dist/skills/distill/attribution.js.map +1 -0
- package/dist/skills/distill/claude-cli-resolver.d.ts +26 -0
- package/dist/skills/distill/claude-cli-resolver.d.ts.map +1 -0
- package/dist/skills/distill/claude-cli-resolver.js +115 -0
- package/dist/skills/distill/claude-cli-resolver.js.map +1 -0
- package/dist/skills/distill/distiller.d.ts +161 -0
- package/dist/skills/distill/distiller.d.ts.map +1 -0
- package/dist/skills/distill/distiller.js +461 -0
- package/dist/skills/distill/distiller.js.map +1 -0
- package/dist/skills/distill/index.d.ts +223 -0
- package/dist/skills/distill/index.d.ts.map +1 -0
- package/dist/skills/distill/index.js +466 -0
- package/dist/skills/distill/index.js.map +1 -0
- package/dist/skills/distill/project-anchor-guard.d.ts +116 -0
- package/dist/skills/distill/project-anchor-guard.d.ts.map +1 -0
- package/dist/skills/distill/project-anchor-guard.js +334 -0
- package/dist/skills/distill/project-anchor-guard.js.map +1 -0
- package/dist/skills/distill/topic-deduper.d.ts +77 -0
- package/dist/skills/distill/topic-deduper.d.ts.map +1 -0
- package/dist/skills/distill/topic-deduper.js +119 -0
- package/dist/skills/distill/topic-deduper.js.map +1 -0
- package/dist/skills/distill/upstream-fetcher.d.ts +71 -0
- package/dist/skills/distill/upstream-fetcher.d.ts.map +1 -0
- package/dist/skills/distill/upstream-fetcher.js +202 -0
- package/dist/skills/distill/upstream-fetcher.js.map +1 -0
- package/dist/skills/distilled/distilled-api-design.md +491 -0
- package/dist/skills/distilled/distilled-architecture-decision.md +173 -0
- package/dist/skills/distilled/distilled-creator.md +178 -0
- package/dist/skills/distilled/distilled-db-schema-design.md +245 -0
- package/dist/skills/distilled/distilled-defi-amm-security.md +293 -0
- package/dist/skills/distilled/distilled-executing-plans.md +113 -0
- package/dist/skills/distilled/distilled-harness-engineering.md +242 -0
- package/dist/skills/distilled/distilled-karpathy-guidelines.md +104 -0
- package/dist/skills/distilled/distilled-performance-optimization.md +175 -0
- package/dist/skills/distilled/distilled-spec-driven-design.md +193 -0
- package/dist/skills/distilled/distilled-systematic-debugging.md +306 -0
- package/dist/skills/distilled/distilled-verification-before-completion.md +203 -0
- package/dist/skills/keyword-score.d.ts +29 -0
- package/dist/skills/keyword-score.d.ts.map +1 -0
- package/dist/skills/keyword-score.js +54 -0
- package/dist/skills/keyword-score.js.map +1 -0
- package/dist/skills/registry.d.ts +64 -20
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +102 -105
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/tools/pipeline-suggest.js +14 -14
- package/dist/skills/tools/skill-invoke.d.ts +1 -1
- package/dist/skills/tools/skill-invoke.js +1 -1
- package/dist/web/routes/agent-content.d.ts +30 -0
- package/dist/web/routes/agent-content.d.ts.map +1 -0
- package/dist/web/routes/agent-content.js +139 -0
- package/dist/web/routes/agent-content.js.map +1 -0
- package/dist/web/routes/decisions.d.ts +15 -0
- package/dist/web/routes/decisions.d.ts.map +1 -0
- package/dist/web/routes/decisions.js +181 -0
- package/dist/web/routes/decisions.js.map +1 -0
- package/dist/web/routes/diagnostics.d.ts +61 -0
- package/dist/web/routes/diagnostics.d.ts.map +1 -0
- package/dist/web/routes/diagnostics.js +203 -0
- package/dist/web/routes/diagnostics.js.map +1 -0
- package/dist/web/routes/events.d.ts.map +1 -1
- package/dist/web/routes/events.js +24 -0
- package/dist/web/routes/events.js.map +1 -1
- package/dist/web/routes/health.d.ts +33 -0
- package/dist/web/routes/health.d.ts.map +1 -0
- package/dist/web/routes/health.js +37 -0
- package/dist/web/routes/health.js.map +1 -0
- package/dist/web/routes/insights.d.ts +0 -5
- package/dist/web/routes/insights.d.ts.map +1 -1
- package/dist/web/routes/insights.js +783 -2
- package/dist/web/routes/insights.js.map +1 -1
- package/dist/web/routes/knowledge.d.ts +16 -0
- package/dist/web/routes/knowledge.d.ts.map +1 -0
- package/dist/web/routes/knowledge.js +661 -0
- package/dist/web/routes/knowledge.js.map +1 -0
- package/dist/web/routes/patch.d.ts +60 -1
- package/dist/web/routes/patch.d.ts.map +1 -1
- package/dist/web/routes/patch.js +170 -64
- package/dist/web/routes/patch.js.map +1 -1
- package/dist/web/routes/pipeline.d.ts +37 -0
- package/dist/web/routes/pipeline.d.ts.map +1 -0
- package/dist/web/routes/pipeline.js +149 -0
- package/dist/web/routes/pipeline.js.map +1 -0
- package/dist/web/routes/rules.d.ts.map +1 -1
- package/dist/web/routes/rules.js +6 -1
- package/dist/web/routes/rules.js.map +1 -1
- package/dist/web/routes/sessions.d.ts.map +1 -1
- package/dist/web/routes/sessions.js +9 -1
- package/dist/web/routes/sessions.js.map +1 -1
- package/dist/web/routes/skill-content.d.ts +30 -0
- package/dist/web/routes/skill-content.d.ts.map +1 -0
- package/dist/web/routes/skill-content.js +117 -0
- package/dist/web/routes/skill-content.js.map +1 -0
- package/dist/web/routes/skills-distill.d.ts +29 -0
- package/dist/web/routes/skills-distill.d.ts.map +1 -0
- package/dist/web/routes/skills-distill.js +552 -0
- package/dist/web/routes/skills-distill.js.map +1 -0
- package/dist/web/routes/skills.js +7 -7
- package/dist/web/routes/skills.js.map +1 -1
- package/dist/web/routes/task-timeline.d.ts +102 -0
- package/dist/web/routes/task-timeline.d.ts.map +1 -0
- package/dist/web/routes/task-timeline.js +274 -0
- package/dist/web/routes/task-timeline.js.map +1 -0
- package/dist/web/routes/tasks.d.ts.map +1 -1
- package/dist/web/routes/tasks.js +355 -8
- package/dist/web/routes/tasks.js.map +1 -1
- package/dist/web/routes/trace.d.ts.map +1 -1
- package/dist/web/routes/trace.js +3 -2
- package/dist/web/routes/trace.js.map +1 -1
- package/dist/web/routes/types.d.ts +0 -4
- package/dist/web/routes/types.d.ts.map +1 -1
- package/dist/web/routes/types.js +1 -1
- package/dist/web/routes/types.js.map +1 -1
- package/dist/web/routes/violations.d.ts +14 -0
- package/dist/web/routes/violations.d.ts.map +1 -0
- package/dist/web/routes/violations.js +111 -0
- package/dist/web/routes/violations.js.map +1 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +79 -19
- package/dist/web/server.js.map +1 -1
- package/dist/web/services/build-manager.d.ts +72 -0
- package/dist/web/services/build-manager.d.ts.map +1 -0
- package/dist/web/services/build-manager.js +189 -0
- package/dist/web/services/build-manager.js.map +1 -0
- package/dist/web/services/distill-manager.d.ts +125 -0
- package/dist/web/services/distill-manager.d.ts.map +1 -0
- package/dist/web/services/distill-manager.js +308 -0
- package/dist/web/services/distill-manager.js.map +1 -0
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +2 -0
- package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +1 -0
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +2 -0
- package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +1 -0
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +3 -0
- package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +1 -0
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +2 -0
- package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +1 -0
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +2 -0
- package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +1 -0
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +2 -0
- package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +1 -0
- package/dist/web/static/assets/DriftTab-DqpepOhI.js +2 -0
- package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +1 -0
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +3 -0
- package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +1 -0
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +2 -0
- package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +1 -0
- package/dist/web/static/assets/MarkdownRenderer-DZmTl-8J.js +3 -0
- package/dist/web/static/assets/MarkdownRenderer-DZmTl-8J.js.map +1 -0
- package/dist/web/static/assets/NotFound-BQPh0vaF.js +2 -0
- package/dist/web/static/assets/NotFound-BQPh0vaF.js.map +1 -0
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +2 -0
- package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +1 -0
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +2 -0
- package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +1 -0
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +2 -0
- package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +1 -0
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +2 -0
- package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +1 -0
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +2 -0
- package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +1 -0
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +6 -0
- package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +1 -0
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +3 -0
- package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +1 -0
- package/dist/web/static/assets/arco-Bhi3a6Qp.js +14 -0
- package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +1 -0
- package/dist/web/static/assets/arco-DFQA6dO_.css +1 -0
- package/dist/web/static/assets/charts-BuHQWDbQ.js +37 -0
- package/dist/web/static/assets/charts-BuHQWDbQ.js.map +1 -0
- package/dist/web/static/assets/date-fns-sbWH3_uq.js +2 -0
- package/dist/web/static/assets/date-fns-sbWH3_uq.js.map +1 -0
- package/dist/web/static/assets/index-7bl3kbcx.css +1 -0
- package/dist/web/static/assets/index-BIYnq1Dx.js +4 -0
- package/dist/web/static/assets/index-BIYnq1Dx.js.map +1 -0
- package/dist/web/static/assets/lucide-CnlPQoG8.js +72 -0
- package/dist/web/static/assets/lucide-CnlPQoG8.js.map +1 -0
- package/dist/web/static/assets/outcome-DUn1NjlC.js +2 -0
- package/dist/web/static/assets/outcome-DUn1NjlC.js.map +1 -0
- package/dist/web/static/assets/query-S6X1S7K9.js +2 -0
- package/dist/web/static/assets/{query-C99w429o.js.map → query-S6X1S7K9.js.map} +1 -1
- package/dist/web/static/assets/{react-router-r79dBVy4.js → react-router-JVUrkhdd.js} +3 -3
- package/dist/web/static/assets/{react-router-r79dBVy4.js.map → react-router-JVUrkhdd.js.map} +1 -1
- package/dist/web/static/assets/react-vendor-tkvCrao7.js +57 -0
- package/dist/web/static/assets/react-vendor-tkvCrao7.js.map +1 -0
- package/dist/web/static/assets/syntax-highlighter-BkZfCDsz.js +6 -0
- package/dist/web/static/assets/syntax-highlighter-BkZfCDsz.js.map +1 -0
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js +2 -0
- package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +1 -0
- package/dist/web/static/assets/vendor-DWgdB1eY.js +65 -0
- package/dist/web/static/assets/vendor-DWgdB1eY.js.map +1 -0
- package/dist/web/static/index.html +12 -8
- package/package.json +14 -3
- package/dist/core/ai/provider.d.ts +0 -63
- package/dist/core/ai/provider.d.ts.map +0 -1
- package/dist/core/ai/provider.js +0 -241
- package/dist/core/ai/provider.js.map +0 -1
- package/dist/core/ai/types.d.ts +0 -43
- package/dist/core/ai/types.d.ts.map +0 -1
- package/dist/core/ai/types.js +0 -5
- package/dist/core/ai/types.js.map +0 -1
- package/dist/core/storage/token-usage.d.ts +0 -36
- package/dist/core/storage/token-usage.d.ts.map +0 -1
- package/dist/core/storage/token-usage.js +0 -59
- package/dist/core/storage/token-usage.js.map +0 -1
- package/dist/core/utils/token-tracker.d.ts +0 -39
- package/dist/core/utils/token-tracker.d.ts.map +0 -1
- package/dist/core/utils/token-tracker.js +0 -69
- package/dist/core/utils/token-tracker.js.map +0 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js +0 -3
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/matcher.d.ts +0 -26
- package/dist/skills/matcher.d.ts.map +0 -1
- package/dist/skills/matcher.js +0 -113
- package/dist/skills/matcher.js.map +0 -1
- package/dist/skills/official/code-simplifier.md +0 -52
- package/dist/skills/official/find-skills.md +0 -142
- package/dist/skills/official/official-api-design.md +0 -30
- package/dist/skills/official/official-architecture-decision.md +0 -41
- package/dist/skills/official/official-bmad.md +0 -118
- package/dist/skills/official/official-db-schema-design.md +0 -34
- package/dist/skills/official/official-debug.md +0 -25
- package/dist/skills/official/official-doc-driven.md +0 -31
- package/dist/skills/official/official-harness-engineering.md +0 -108
- package/dist/skills/official/official-openspec.md +0 -89
- package/dist/skills/official/official-performance-optimization.md +0 -30
- package/dist/skills/official/official-pr-review.md +0 -35
- package/dist/skills/official/official-release-checklist.md +0 -30
- package/dist/skills/official/official-security-hardening.md +0 -32
- package/dist/skills/official/official-spec-driven-design.md +0 -31
- package/dist/skills/official/planning-with-files.md +0 -241
- package/dist/skills/official/ui-ux-pro-max.md +0 -105
- package/dist/skills/official/webapp-testing.md +0 -96
- package/dist/skills/official-skills.d.ts +0 -26
- package/dist/skills/official-skills.d.ts.map +0 -1
- package/dist/skills/official-skills.js +0 -74
- package/dist/skills/official-skills.js.map +0 -1
- package/dist/skills/semantic-matcher.d.ts +0 -60
- package/dist/skills/semantic-matcher.d.ts.map +0 -1
- package/dist/skills/semantic-matcher.js +0 -192
- package/dist/skills/semantic-matcher.js.map +0 -1
- package/dist/skills/upgrade-engine.d.ts +0 -93
- package/dist/skills/upgrade-engine.d.ts.map +0 -1
- package/dist/skills/upgrade-engine.js +0 -447
- package/dist/skills/upgrade-engine.js.map +0 -1
- package/dist/skills/upgrade-prompt.d.ts +0 -20
- package/dist/skills/upgrade-prompt.d.ts.map +0 -1
- package/dist/skills/upgrade-prompt.js +0 -75
- package/dist/skills/upgrade-prompt.js.map +0 -1
- package/dist/web/routes/ai.d.ts +0 -10
- package/dist/web/routes/ai.d.ts.map +0 -1
- package/dist/web/routes/ai.js +0 -186
- package/dist/web/routes/ai.js.map +0 -1
- package/dist/web/routes/token-usage.d.ts +0 -7
- package/dist/web/routes/token-usage.d.ts.map +0 -1
- package/dist/web/routes/token-usage.js +0 -18
- package/dist/web/routes/token-usage.js.map +0 -1
- package/dist/web/ssrf-guard.d.ts +0 -35
- package/dist/web/ssrf-guard.d.ts.map +0 -1
- package/dist/web/ssrf-guard.js +0 -93
- package/dist/web/ssrf-guard.js.map +0 -1
- package/dist/web/static/assets/AIConfig-CdDWzJyO.js +0 -2
- package/dist/web/static/assets/AIConfig-CdDWzJyO.js.map +0 -1
- package/dist/web/static/assets/Dashboard-CoEmmIDt.js +0 -2
- package/dist/web/static/assets/Dashboard-CoEmmIDt.js.map +0 -1
- package/dist/web/static/assets/Drawer-DdRTzlLB.js +0 -2
- package/dist/web/static/assets/Drawer-DdRTzlLB.js.map +0 -1
- package/dist/web/static/assets/Events-DrIq1SUS.js +0 -2
- package/dist/web/static/assets/Events-DrIq1SUS.js.map +0 -1
- package/dist/web/static/assets/Reports-DFBM3MDK.js +0 -2
- package/dist/web/static/assets/Reports-DFBM3MDK.js.map +0 -1
- package/dist/web/static/assets/SearchInput-qCj_jAcf.js +0 -2
- package/dist/web/static/assets/SearchInput-qCj_jAcf.js.map +0 -1
- package/dist/web/static/assets/SessionDetail-CCzwdoT7.js +0 -2
- package/dist/web/static/assets/SessionDetail-CCzwdoT7.js.map +0 -1
- package/dist/web/static/assets/Sessions-FfLYkAw9.js +0 -2
- package/dist/web/static/assets/Sessions-FfLYkAw9.js.map +0 -1
- package/dist/web/static/assets/Skills-C8Gvs3Qa.js +0 -2
- package/dist/web/static/assets/Skills-C8Gvs3Qa.js.map +0 -1
- package/dist/web/static/assets/TaskDetail-BS8pYhaR.js +0 -2
- package/dist/web/static/assets/TaskDetail-BS8pYhaR.js.map +0 -1
- package/dist/web/static/assets/Tasks-CyuhizG8.js +0 -2
- package/dist/web/static/assets/Tasks-CyuhizG8.js.map +0 -1
- package/dist/web/static/assets/charts-CLrM0_uM.js +0 -37
- package/dist/web/static/assets/charts-CLrM0_uM.js.map +0 -1
- package/dist/web/static/assets/date-fns-CZ_bHujz.js +0 -2
- package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +0 -1
- package/dist/web/static/assets/export-L_VBD2p1.js +0 -4
- package/dist/web/static/assets/export-L_VBD2p1.js.map +0 -1
- package/dist/web/static/assets/index-CBX47X8l.js +0 -3
- package/dist/web/static/assets/index-CBX47X8l.js.map +0 -1
- package/dist/web/static/assets/index-DjIoMdoR.css +0 -1
- package/dist/web/static/assets/lucide-Bs_edTLa.js +0 -232
- package/dist/web/static/assets/lucide-Bs_edTLa.js.map +0 -1
- package/dist/web/static/assets/query-C99w429o.js +0 -2
- package/dist/web/static/assets/react-vendor-CSp-GLFF.js +0 -49
- package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +0 -1
- package/dist/web/static/assets/syntax-highlighter-44FakypI.js +0 -9
- package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +0 -1
- package/dist/web/static/assets/task-title-BhOcemuR.js +0 -2
- package/dist/web/static/assets/task-title-BhOcemuR.js.map +0 -1
- package/dist/web/static/assets/time-Bxuk0M-C.js +0 -2
- package/dist/web/static/assets/time-Bxuk0M-C.js.map +0 -1
- package/dist/web/static/assets/vendor-CMMjVdZs.js +0 -64
- package/dist/web/static/assets/vendor-CMMjVdZs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/core/storage/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/core/storage/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,12 @@ export interface SessionRow {
|
|
|
32
32
|
end_time: string | null;
|
|
33
33
|
last_event_time: string | null;
|
|
34
34
|
event_count: number;
|
|
35
|
+
outcome?: 'success' | 'partial' | 'failed' | 'abandoned' | null;
|
|
36
|
+
outcome_reason?: string | null;
|
|
37
|
+
commit_count?: number | null;
|
|
38
|
+
reverted_commits?: number | null;
|
|
39
|
+
user_violation_count?: number | null;
|
|
40
|
+
classified_at?: string | null;
|
|
35
41
|
created_at: string;
|
|
36
42
|
updated_at: string;
|
|
37
43
|
}
|
|
@@ -43,6 +49,7 @@ export interface InjectionRow {
|
|
|
43
49
|
source_handler: string;
|
|
44
50
|
injection_type: 'systemMessage' | 'additionalContext' | 'reason';
|
|
45
51
|
content: string;
|
|
52
|
+
metadata_json: string | null;
|
|
46
53
|
created_at: string;
|
|
47
54
|
}
|
|
48
55
|
export interface TaskRow {
|
|
@@ -54,17 +61,53 @@ export interface TaskRow {
|
|
|
54
61
|
end_time: string | null;
|
|
55
62
|
status: 'active' | 'completed' | 'abandoned';
|
|
56
63
|
event_count: number;
|
|
64
|
+
outcome?: 'success' | 'partial' | 'failed' | 'abandoned' | null;
|
|
65
|
+
outcome_reason?: string | null;
|
|
66
|
+
commit_count?: number | null;
|
|
67
|
+
reverted_commits?: number | null;
|
|
68
|
+
user_violation_count?: number | null;
|
|
69
|
+
classified_at?: string | null;
|
|
57
70
|
created_at: string;
|
|
58
71
|
}
|
|
59
|
-
export
|
|
72
|
+
export type ToolInterceptDecision = 'deny' | 'warn' | 'bypass' | 'dry_run';
|
|
73
|
+
export type ToolInterceptOutcome = 'obeyed' | 'override' | 'unknown';
|
|
74
|
+
export interface ToolInterceptRow {
|
|
60
75
|
id: number;
|
|
76
|
+
event_id: string | null;
|
|
61
77
|
session_id: string;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
project_path: string;
|
|
79
|
+
timestamp: string;
|
|
80
|
+
tool_name: string;
|
|
81
|
+
tool_input_summary: string | null;
|
|
82
|
+
rule_id: string;
|
|
83
|
+
decision: ToolInterceptDecision;
|
|
84
|
+
hint: string | null;
|
|
85
|
+
outcome: ToolInterceptOutcome | null;
|
|
86
|
+
bypass_token: string | null;
|
|
87
|
+
created_at: string;
|
|
88
|
+
}
|
|
89
|
+
export type WorkflowRecommendationOutcome = 'pending' | 'accepted'
|
|
90
|
+
/**
|
|
91
|
+
* v9.x KPI relax: main thread spawned a Task with a recognised subagent_type
|
|
92
|
+
* that DOESN'T equal `recommended_agent_type` — counted as half-credit in C8
|
|
93
|
+
* (weight 0.5 vs 1.0 for `accepted`). Captures the common "spawned coder
|
|
94
|
+
* instead of refactor-specialist" pattern that previously left rows pending.
|
|
95
|
+
*/
|
|
96
|
+
| 'partial_accepted' | 'rejected' | 'ignored' | 'bypassed';
|
|
97
|
+
export interface WorkflowRecommendationRow {
|
|
98
|
+
id: number;
|
|
99
|
+
session_id: string;
|
|
100
|
+
timestamp: string;
|
|
101
|
+
rule_id: string;
|
|
102
|
+
/** JSON-encoded string[]; consumers should JSON.parse safely. */
|
|
103
|
+
matched_keywords: string | null;
|
|
104
|
+
recommended_workflow: string;
|
|
105
|
+
recommended_agent_type: string;
|
|
106
|
+
reason: string | null;
|
|
107
|
+
outcome: WorkflowRecommendationOutcome | null;
|
|
108
|
+
outcome_at: string | null;
|
|
109
|
+
/** 'workflow_classifier' (Phase 5) | 'skill_pairing' (Phase 7) | future sources */
|
|
110
|
+
source: string;
|
|
68
111
|
created_at: string;
|
|
69
112
|
}
|
|
70
113
|
export interface SkillInvocationRow {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/core/storage/rows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,cAAc,GAAG,MAAM,CAAC;IACvF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;IACzE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/core/storage/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
-- Claude Forge SQLite Schema (core tables)
|
|
2
2
|
-- Active tables: events, sessions, injections, tasks, task_events,
|
|
3
|
-
-- routing_events,
|
|
3
|
+
-- routing_events, skill_invocations
|
|
4
4
|
--
|
|
5
5
|
-- ── Table Relationships ──────────────────────────────────────────────────────
|
|
6
6
|
--
|
|
@@ -17,10 +17,7 @@
|
|
|
17
17
|
-- └─ skill_invocations.session_id → events.session_id (logical, no FK)
|
|
18
18
|
-- └─ skill_invocations.route_request_id → routing_events.route_request_id (logical, no FK)
|
|
19
19
|
--
|
|
20
|
-
--
|
|
21
|
-
-- └─ token_usage.session_id → events.session_id (logical, no FK)
|
|
22
|
-
--
|
|
23
|
-
-- Why no FK on routing_events / skill_invocations / token_usage:
|
|
20
|
+
-- Why no FK on routing_events / skill_invocations:
|
|
24
21
|
-- 1. routing_events.route_request_id is nullable and not UNIQUE — cannot be FK target
|
|
25
22
|
-- 2. Write order is not guaranteed: skill_invocations may be written before routing_events
|
|
26
23
|
-- 3. session_id references are maintained by application logic; sessions is an aggregate
|
|
@@ -42,6 +39,8 @@ CREATE TABLE IF NOT EXISTS events (
|
|
|
42
39
|
user_prompt TEXT,
|
|
43
40
|
ai_response TEXT,
|
|
44
41
|
distilled INTEGER DEFAULT 0,
|
|
42
|
+
-- F3 (audit-20260522): tool_output 写入端 50KB 截断标记。1=truncated。
|
|
43
|
+
tool_output_truncated INTEGER DEFAULT 0,
|
|
45
44
|
created_at TEXT DEFAULT (datetime('now'))
|
|
46
45
|
);
|
|
47
46
|
|
|
@@ -60,6 +59,28 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|
|
60
59
|
end_time TEXT,
|
|
61
60
|
last_event_time TEXT,
|
|
62
61
|
event_count INTEGER DEFAULT 0,
|
|
62
|
+
-- Outcome instrumentation (v9.x): rule-based classification at Stop time.
|
|
63
|
+
-- NULL means "not yet classified" (legacy rows or pre-classification reads).
|
|
64
|
+
--
|
|
65
|
+
-- spec 1100 Option C (2026-06-02): CHECK relaxed from a fixed value enum
|
|
66
|
+
-- ('success','partial','failed','abandoned') to a non-empty-string guard.
|
|
67
|
+
-- Adding the new `answered` outcome (and any future value) no longer
|
|
68
|
+
-- requires a table rebuild / CHECK-migration — the classifier is the single
|
|
69
|
+
-- source of truth for the value set; the column just stores it. Legacy DBs
|
|
70
|
+
-- with the old enum CHECK are widened in-place by base.ts
|
|
71
|
+
-- rebuildOutcomeCheckIfNeeded (one-shot, idempotent, data-preserving).
|
|
72
|
+
outcome TEXT CHECK(outcome IS NULL OR length(outcome) > 0),
|
|
73
|
+
outcome_reason TEXT,
|
|
74
|
+
commit_count INTEGER DEFAULT 0,
|
|
75
|
+
reverted_commits INTEGER DEFAULT 0,
|
|
76
|
+
user_violation_count INTEGER DEFAULT 0,
|
|
77
|
+
classified_at TEXT,
|
|
78
|
+
-- Phase 2 metrics rollup (master roadmap §2): per-session counters back-
|
|
79
|
+
-- filled by Stop handler from fact tables (tool_intercepts / injections /
|
|
80
|
+
-- skill_invocations). Default 0 so analytics queries can skip COALESCE.
|
|
81
|
+
intercept_count INTEGER DEFAULT 0,
|
|
82
|
+
kb_inject_count INTEGER DEFAULT 0,
|
|
83
|
+
skill_match_count INTEGER DEFAULT 0,
|
|
63
84
|
created_at TEXT DEFAULT (datetime('now')),
|
|
64
85
|
updated_at TEXT DEFAULT (datetime('now'))
|
|
65
86
|
);
|
|
@@ -67,6 +88,8 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|
|
67
88
|
CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_path);
|
|
68
89
|
CREATE INDEX IF NOT EXISTS idx_sessions_status ON sessions(status);
|
|
69
90
|
CREATE INDEX IF NOT EXISTS idx_sessions_start_time ON sessions(start_time DESC);
|
|
91
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_outcome ON sessions(outcome);
|
|
92
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_project_outcome ON sessions(project_path, outcome);
|
|
70
93
|
|
|
71
94
|
-- ── Injections ─────────────────────────────────────────────────────
|
|
72
95
|
|
|
@@ -78,6 +101,7 @@ CREATE TABLE IF NOT EXISTS injections (
|
|
|
78
101
|
source_handler TEXT NOT NULL,
|
|
79
102
|
injection_type TEXT NOT NULL CHECK(injection_type IN ('systemMessage', 'additionalContext', 'reason')),
|
|
80
103
|
content TEXT NOT NULL,
|
|
104
|
+
metadata_json TEXT,
|
|
81
105
|
created_at TEXT DEFAULT (datetime('now')),
|
|
82
106
|
FOREIGN KEY (event_id) REFERENCES events(event_id) ON DELETE CASCADE
|
|
83
107
|
);
|
|
@@ -97,6 +121,48 @@ CREATE TABLE IF NOT EXISTS tasks (
|
|
|
97
121
|
end_time TEXT,
|
|
98
122
|
status TEXT DEFAULT 'active' CHECK(status IN ('active', 'completed', 'abandoned')),
|
|
99
123
|
event_count INTEGER DEFAULT 0,
|
|
124
|
+
-- Outcome instrumentation (v9.x): mirrors sessions.outcome at task granularity.
|
|
125
|
+
-- spec 1100 Option C (2026-06-02): CHECK relaxed to a non-empty guard so the
|
|
126
|
+
-- new `answered` value (and future ones) need no table rebuild. See the
|
|
127
|
+
-- matching note on sessions.outcome above.
|
|
128
|
+
outcome TEXT CHECK(outcome IS NULL OR length(outcome) > 0),
|
|
129
|
+
outcome_reason TEXT,
|
|
130
|
+
commit_count INTEGER DEFAULT 0,
|
|
131
|
+
reverted_commits INTEGER DEFAULT 0,
|
|
132
|
+
user_violation_count INTEGER DEFAULT 0,
|
|
133
|
+
classified_at TEXT,
|
|
134
|
+
-- decision 265f59d5 (2026-06-08): LLM task-boundary classifier idempotency
|
|
135
|
+
-- marker. ISO timestamp stamped once the async TaskBoundaryClassifier has
|
|
136
|
+
-- processed the prompt that minted this task; NULL = not yet / never
|
|
137
|
+
-- classified. Guards against a replayed event re-spawning claude or
|
|
138
|
+
-- re-attributing the same prompt twice.
|
|
139
|
+
llm_classified_at TEXT,
|
|
140
|
+
-- Task-tracking overhaul (2026-05-27): write-time noise classification.
|
|
141
|
+
-- Computed by TaskSegmenter.createTask via computeIsNoise(); replaces the
|
|
142
|
+
-- LOWER(title) IN (...) + length() blocklist in queryAgentBoardTasks /
|
|
143
|
+
-- countAgentBoardTasks (Bug 2: CJK short titles like '推送吧' were dropped).
|
|
144
|
+
-- 1 = noise (envelope / sub-3-char / single-word slash command).
|
|
145
|
+
-- 0 = real human task (default; legacy rows back-filled by base.ts post-migration).
|
|
146
|
+
--
|
|
147
|
+
-- DEPRECATED since 2026-06-01 (spec b1480935 Option A) in favour of the
|
|
148
|
+
-- richer `task_kind` column below. Writers stop populating is_noise (it
|
|
149
|
+
-- stays 0 for new rows); read paths fall back to is_noise=1 only on
|
|
150
|
+
-- legacy DBs where backfill hasn't yet populated task_kind. Column kept
|
|
151
|
+
-- to ease rollback; will be dropped in a future overhaul.
|
|
152
|
+
is_noise INTEGER NOT NULL DEFAULT 0,
|
|
153
|
+
-- spec b1480935 (2026-06-01): per-task classification covering the
|
|
154
|
+
-- previous is_noise=1 envelope buckets PLUS real human tasks. Values:
|
|
155
|
+
-- 'user' — real human prompt (default; the only kind that
|
|
156
|
+
-- participates in continuation / KPI roll-ups)
|
|
157
|
+
-- 'agent-callback' — `<task-notification>` envelope post-spawn
|
|
158
|
+
-- 'image' — `[Image #N]` attachment-only envelope
|
|
159
|
+
-- 'system' — framework reminders (system-reminder /
|
|
160
|
+
-- local-command-stdout / command-message /
|
|
161
|
+
-- command-name)
|
|
162
|
+
-- Boot-time backfill maps the legacy is_noise=1 rows to the appropriate
|
|
163
|
+
-- kind via title-prefix sniff (see base.ts backfillTasksTaskKindIfNeeded).
|
|
164
|
+
task_kind TEXT NOT NULL DEFAULT 'user'
|
|
165
|
+
CHECK(task_kind IN ('user', 'agent-callback', 'image', 'system')),
|
|
100
166
|
created_at TEXT DEFAULT (datetime('now'))
|
|
101
167
|
);
|
|
102
168
|
|
|
@@ -110,6 +176,10 @@ CREATE TABLE IF NOT EXISTS task_events (
|
|
|
110
176
|
|
|
111
177
|
CREATE INDEX IF NOT EXISTS idx_tasks_session ON tasks(session_id);
|
|
112
178
|
CREATE INDEX IF NOT EXISTS idx_tasks_start_time ON tasks(start_time DESC);
|
|
179
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_session_outcome ON tasks(session_id, outcome);
|
|
180
|
+
-- spec b1480935: drives WHERE task_kind='user' on hot paths (agent-board,
|
|
181
|
+
-- TasksHub, KPI counts). Without this every list query would full-scan tasks.
|
|
182
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_kind ON tasks(task_kind);
|
|
113
183
|
CREATE INDEX IF NOT EXISTS idx_task_events_task ON task_events(task_id);
|
|
114
184
|
CREATE INDEX IF NOT EXISTS idx_task_events_event ON task_events(event_id);
|
|
115
185
|
|
|
@@ -125,7 +195,6 @@ CREATE TABLE IF NOT EXISTS routing_events (
|
|
|
125
195
|
intent_json TEXT NOT NULL,
|
|
126
196
|
routed_to_type TEXT,
|
|
127
197
|
routed_to_name TEXT,
|
|
128
|
-
is_forced INTEGER DEFAULT 0,
|
|
129
198
|
obeyed INTEGER,
|
|
130
199
|
classification_ms INTEGER,
|
|
131
200
|
fallback_used INTEGER DEFAULT 0,
|
|
@@ -141,33 +210,23 @@ CREATE TABLE IF NOT EXISTS routing_events (
|
|
|
141
210
|
experiment_group TEXT,
|
|
142
211
|
skill_confidence REAL,
|
|
143
212
|
skill_source TEXT,
|
|
213
|
+
-- decision-flow-overhaul (2026-05-28): links a routing row to the decision
|
|
214
|
+
-- that caused the spawn. Filled by pre-tool-use handler from the magic
|
|
215
|
+
-- marker `<!-- decision-id: X -->` in the Task prompt, or via fallback.
|
|
216
|
+
decision_id TEXT,
|
|
217
|
+
-- spawn_id: unique id for this spawn attempt (future dedup / pairing use)
|
|
218
|
+
spawn_id TEXT,
|
|
144
219
|
created_at TEXT DEFAULT (datetime('now'))
|
|
145
220
|
);
|
|
146
221
|
|
|
147
222
|
CREATE INDEX IF NOT EXISTS idx_routing_events_session ON routing_events(session_id);
|
|
223
|
+
CREATE INDEX IF NOT EXISTS idx_routing_decision ON routing_events(decision_id);
|
|
148
224
|
CREATE INDEX IF NOT EXISTS idx_routing_events_route_request ON routing_events(route_request_id);
|
|
149
225
|
CREATE INDEX IF NOT EXISTS idx_routing_events_ts ON routing_events(ts DESC);
|
|
150
226
|
CREATE INDEX IF NOT EXISTS idx_routing_events_agent ON routing_events(routed_to_name, obeyed);
|
|
151
227
|
CREATE INDEX IF NOT EXISTS idx_routing_events_obeyed ON routing_events(obeyed);
|
|
152
228
|
CREATE INDEX IF NOT EXISTS idx_routing_events_experiment ON routing_events(experiment_id, experiment_group);
|
|
153
229
|
|
|
154
|
-
-- ── Token Usage ──────────────────────────────────────────────────────
|
|
155
|
-
|
|
156
|
-
CREATE TABLE IF NOT EXISTS token_usage (
|
|
157
|
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
158
|
-
session_id TEXT NOT NULL, -- logical ref → events.session_id; no FK due to write-order race (sessions is aggregate, may lag)
|
|
159
|
-
timestamp INTEGER NOT NULL,
|
|
160
|
-
input_tokens INTEGER NOT NULL,
|
|
161
|
-
output_tokens INTEGER NOT NULL,
|
|
162
|
-
total_tokens INTEGER NOT NULL,
|
|
163
|
-
model TEXT,
|
|
164
|
-
tool_name TEXT,
|
|
165
|
-
created_at TEXT DEFAULT (datetime('now'))
|
|
166
|
-
);
|
|
167
|
-
|
|
168
|
-
CREATE INDEX IF NOT EXISTS idx_token_usage_session ON token_usage(session_id);
|
|
169
|
-
CREATE INDEX IF NOT EXISTS idx_token_usage_timestamp ON token_usage(timestamp DESC);
|
|
170
|
-
|
|
171
230
|
-- ── Skill Invocations ─────────────────────────────────────────────────
|
|
172
231
|
|
|
173
232
|
CREATE TABLE IF NOT EXISTS skill_invocations (
|
|
@@ -222,3 +281,223 @@ CREATE INDEX IF NOT EXISTS idx_routing_events_type_ts ON routing_events(routed_t
|
|
|
222
281
|
-- skill_invocations: optimize workflow/phase and feature_slug queries (H4 dedup: previously migration-only)
|
|
223
282
|
CREATE INDEX IF NOT EXISTS idx_skill_invocations_workflow ON skill_invocations(workflow, phase);
|
|
224
283
|
CREATE INDEX IF NOT EXISTS idx_skill_invocations_feature ON skill_invocations(feature_slug);
|
|
284
|
+
|
|
285
|
+
-- ── KB Telemetry (v9.5) ───────────────────────────────────────────────
|
|
286
|
+
-- Two append-only tables capturing knowledge-base query & build observability.
|
|
287
|
+
-- Failures writing here MUST be swallowed (fail-silent) by callers; these
|
|
288
|
+
-- tables are diagnostic and never on a request's critical path.
|
|
289
|
+
|
|
290
|
+
CREATE TABLE IF NOT EXISTS kb_query_log (
|
|
291
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
292
|
+
ts INTEGER NOT NULL,
|
|
293
|
+
project_path TEXT NOT NULL,
|
|
294
|
+
query TEXT NOT NULL,
|
|
295
|
+
result_count INTEGER NOT NULL,
|
|
296
|
+
ai_call_count INTEGER DEFAULT 0,
|
|
297
|
+
ai_input_tokens INTEGER,
|
|
298
|
+
ai_output_tokens INTEGER,
|
|
299
|
+
duration_ms INTEGER NOT NULL,
|
|
300
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
301
|
+
);
|
|
302
|
+
CREATE INDEX IF NOT EXISTS idx_kb_query_log_ts ON kb_query_log(ts DESC);
|
|
303
|
+
CREATE INDEX IF NOT EXISTS idx_kb_query_log_project ON kb_query_log(project_path);
|
|
304
|
+
|
|
305
|
+
CREATE TABLE IF NOT EXISTS kb_build_log (
|
|
306
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
307
|
+
build_id TEXT NOT NULL UNIQUE,
|
|
308
|
+
ts INTEGER NOT NULL,
|
|
309
|
+
project_path TEXT NOT NULL,
|
|
310
|
+
options_json TEXT NOT NULL,
|
|
311
|
+
stats_json TEXT,
|
|
312
|
+
duration_ms INTEGER,
|
|
313
|
+
status TEXT NOT NULL CHECK(status IN ('running', 'done', 'error')),
|
|
314
|
+
error_message TEXT,
|
|
315
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
316
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
317
|
+
);
|
|
318
|
+
CREATE INDEX IF NOT EXISTS idx_kb_build_log_ts ON kb_build_log(ts DESC);
|
|
319
|
+
CREATE INDEX IF NOT EXISTS idx_kb_build_log_project ON kb_build_log(project_path);
|
|
320
|
+
CREATE INDEX IF NOT EXISTS idx_kb_build_log_project_ts ON kb_build_log(project_path, ts DESC);
|
|
321
|
+
|
|
322
|
+
-- ── Forge Config (v9.x Phase 0) ────────────────────────────────────────
|
|
323
|
+
-- Simple KV store for runtime feature flags / tuning knobs. Lets later phases
|
|
324
|
+
-- ship behind a flag without recompilation. Default flags are seeded by the
|
|
325
|
+
-- daemon at startup (only when the key is absent — user edits are preserved).
|
|
326
|
+
|
|
327
|
+
CREATE TABLE IF NOT EXISTS forge_config (
|
|
328
|
+
key TEXT PRIMARY KEY,
|
|
329
|
+
value TEXT NOT NULL,
|
|
330
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
-- ── Tool Intercepts (v9.x Phase 1) ─────────────────────────────────────
|
|
334
|
+
-- Records every PreToolUse decision made by the rules registry. While the
|
|
335
|
+
-- `pre_tool_intercept.enabled` flag is OFF (default), the handler still runs
|
|
336
|
+
-- in dry_run mode — rows are written with decision='dry_run' so the team can
|
|
337
|
+
-- observe rule-hit distribution before flipping the kill switch.
|
|
338
|
+
--
|
|
339
|
+
-- decision contract:
|
|
340
|
+
-- 'deny' — handler returned allow=false; tool execution blocked
|
|
341
|
+
-- 'warn' — handler returned allow=true + additionalContext hint
|
|
342
|
+
-- 'bypass' — rule matched but user supplied `forge:bypass=<reason>`
|
|
343
|
+
-- 'dry_run' — flag OFF; rule matched but never enforced (observability only)
|
|
344
|
+
--
|
|
345
|
+
-- outcome is back-filled by PostToolUse / Stop:
|
|
346
|
+
-- 'obeyed' — AI heeded the hint (e.g. switched to Agent after deny)
|
|
347
|
+
-- 'override' — AI re-invoked the same tool / pattern despite hint
|
|
348
|
+
-- 'unknown' — Stop fired without enough signal to classify
|
|
349
|
+
|
|
350
|
+
CREATE TABLE IF NOT EXISTS tool_intercepts (
|
|
351
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
352
|
+
event_id TEXT,
|
|
353
|
+
session_id TEXT NOT NULL,
|
|
354
|
+
project_path TEXT NOT NULL,
|
|
355
|
+
timestamp TEXT NOT NULL,
|
|
356
|
+
tool_name TEXT NOT NULL,
|
|
357
|
+
tool_input_summary TEXT,
|
|
358
|
+
rule_id TEXT NOT NULL,
|
|
359
|
+
decision TEXT NOT NULL CHECK(decision IN ('deny', 'warn', 'bypass', 'dry_run')),
|
|
360
|
+
hint TEXT,
|
|
361
|
+
outcome TEXT CHECK(outcome IS NULL OR outcome IN ('obeyed', 'override', 'unknown')),
|
|
362
|
+
bypass_token TEXT,
|
|
363
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
364
|
+
FOREIGN KEY (event_id) REFERENCES events(event_id) ON DELETE SET NULL
|
|
365
|
+
);
|
|
366
|
+
CREATE INDEX IF NOT EXISTS idx_tool_intercepts_session ON tool_intercepts(session_id);
|
|
367
|
+
CREATE INDEX IF NOT EXISTS idx_tool_intercepts_rule ON tool_intercepts(rule_id);
|
|
368
|
+
CREATE INDEX IF NOT EXISTS idx_tool_intercepts_ts ON tool_intercepts(timestamp DESC);
|
|
369
|
+
CREATE INDEX IF NOT EXISTS idx_tool_intercepts_decision ON tool_intercepts(decision);
|
|
370
|
+
|
|
371
|
+
-- ── Workflow Recommendations (v9.x Phase 5, D4=strict) ─────────────────
|
|
372
|
+
-- Records every workflow recommendation emitted by UserPromptSubmitHandler
|
|
373
|
+
-- (step 5, after KB + Skill). The Phase 5 feature flag
|
|
374
|
+
-- `workflow_recommender.enabled` (default OFF) gates BOTH the injection
|
|
375
|
+
-- write here AND the Phase 5 PreToolUse rule 'workflow-recommendation-
|
|
376
|
+
-- mismatch' that enforces D4=strict by denying a Task spawn whose
|
|
377
|
+
-- subagent_type does NOT match a recent pending recommendation.
|
|
378
|
+
--
|
|
379
|
+
-- outcome contract:
|
|
380
|
+
-- 'pending' — row just written, main thread hasn't responded yet
|
|
381
|
+
-- 'accepted' — PostToolUse saw Task spawn with matching subagent_type
|
|
382
|
+
-- within 5 min (C8 weight 1.0)
|
|
383
|
+
-- 'partial_accepted' — Task spawn used a recognised subagent_type that does
|
|
384
|
+
-- NOT equal recommended_agent_type (e.g. main thread
|
|
385
|
+
-- spawned coder instead of refactor-specialist). C8
|
|
386
|
+
-- weight 0.5 — "tried to comply but missed".
|
|
387
|
+
-- 'rejected' — user prompt contained explicit override
|
|
388
|
+
-- ("skip workflow" / "不要 harness" / ...)
|
|
389
|
+
-- 'bypassed' — main thread spawned with forge:bypass=<reason> token
|
|
390
|
+
-- in the Task description / prompt
|
|
391
|
+
-- 'ignored' — Stop hook fired while outcome was still 'pending'
|
|
392
|
+
--
|
|
393
|
+
-- source distinguishes the origin so Phase 7 can stack skill_pairing
|
|
394
|
+
-- recommendations alongside the classifier ones for the same C8 SQL.
|
|
395
|
+
|
|
396
|
+
CREATE TABLE IF NOT EXISTS workflow_recommendations (
|
|
397
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
398
|
+
session_id TEXT NOT NULL,
|
|
399
|
+
timestamp TEXT NOT NULL,
|
|
400
|
+
rule_id TEXT NOT NULL,
|
|
401
|
+
matched_keywords TEXT,
|
|
402
|
+
recommended_workflow TEXT NOT NULL,
|
|
403
|
+
recommended_agent_type TEXT NOT NULL,
|
|
404
|
+
reason TEXT,
|
|
405
|
+
outcome TEXT CHECK(outcome IS NULL OR outcome IN ('pending','accepted','partial_accepted','rejected','ignored','bypassed')),
|
|
406
|
+
outcome_at TEXT,
|
|
407
|
+
source TEXT DEFAULT 'workflow_classifier',
|
|
408
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
409
|
+
);
|
|
410
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_rec_session ON workflow_recommendations(session_id, outcome);
|
|
411
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_rec_ts ON workflow_recommendations(timestamp DESC);
|
|
412
|
+
|
|
413
|
+
-- ── Decisions — 统一批准子系统 (2026-05-28 decision-flow-overhaul; C1 ──────
|
|
414
|
+
-- convergence spec 0854, 2026-06-02) ──────────────────────────────────────
|
|
415
|
+
-- Backs TWO row families via `kind`:
|
|
416
|
+
-- kind='decision' — decision-maker lifecycle (pending → resolved | bypassed
|
|
417
|
+
-- | expired). Daemon writes a row on [DECISION HINT]; decision-maker fills
|
|
418
|
+
-- options/recommendation/risks via `cf decisions update`; user approves
|
|
419
|
+
-- via Web UI or `cf decisions approve`.
|
|
420
|
+
-- kind='spec' — externally-registered spec files (absorbed from the
|
|
421
|
+
-- retired pending_specs table). `cf decisions register --doc` writes the
|
|
422
|
+
-- row with an 8-hex approval_token; user replies bare `批准 <token>` to
|
|
423
|
+
-- short-circuit (status flips pending → resolved).
|
|
424
|
+
--
|
|
425
|
+
-- status contract:
|
|
426
|
+
-- 'pending' — hint emitted, decision-maker not yet spawned / doc not written
|
|
427
|
+
-- 'resolved' — user approved the decision (approved_at is set)
|
|
428
|
+
-- 'bypassed' — main thread used bypass token / 'skip decision' keyword
|
|
429
|
+
-- 'expired' — expires_at < now and no approval received
|
|
430
|
+
|
|
431
|
+
CREATE TABLE IF NOT EXISTS decisions (
|
|
432
|
+
id TEXT PRIMARY KEY, -- 8-char short id (nanoid/uuid slice)
|
|
433
|
+
session_id TEXT NOT NULL,
|
|
434
|
+
project_path TEXT NOT NULL,
|
|
435
|
+
trigger_event_id TEXT, -- FK events.event_id (UserPromptSubmit)
|
|
436
|
+
trigger_prompt TEXT NOT NULL, -- raw user prompt (≤500 chars)
|
|
437
|
+
workflow_type TEXT NOT NULL, -- intent.workflow_type (bmad/hybrid/refactor/…)
|
|
438
|
+
suggested_agent TEXT, -- intent.suggested_agent
|
|
439
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
440
|
+
CHECK(status IN ('pending','resolved','bypassed','expired')),
|
|
441
|
+
-- Filled by decision-maker agent via `cf decisions update`:
|
|
442
|
+
options_json TEXT, -- JSON array of {name, what, pros, cons, loc, risk}
|
|
443
|
+
recommendation TEXT, -- recommended option name + rationale (≤2KB)
|
|
444
|
+
risks_json TEXT, -- JSON array of risk strings
|
|
445
|
+
open_questions_json TEXT, -- JSON array of open question strings
|
|
446
|
+
decision_doc_path TEXT, -- relative path under docs/design/
|
|
447
|
+
-- Filled by decision-maker agent (spec 1200 extension):
|
|
448
|
+
recommended_agents TEXT, -- comma-separated agent ids (e.g. 'coder,planner')
|
|
449
|
+
recommended_skills TEXT, -- comma-separated skill ids (e.g. 'safety-net,harness')
|
|
450
|
+
-- Unified approval subsystem (C1, 2026-06-02): decisions now also carries
|
|
451
|
+
-- externally-registered spec rows (kind='spec'), absorbing the retired
|
|
452
|
+
-- pending_specs table. 'decision' = daemon-minted decision-hint row;
|
|
453
|
+
-- 'spec' = a spec file registered via `cf decisions register` whose bare
|
|
454
|
+
-- `批准 <token>` short-circuits approval.
|
|
455
|
+
kind TEXT NOT NULL DEFAULT 'decision' CHECK(kind IN ('decision','spec')),
|
|
456
|
+
spec_source TEXT, -- spec-kind origin: planner/manual/decision/auto
|
|
457
|
+
spec_intent_json TEXT, -- spec-kind intent payload (承接 pending_specs.intent_json)
|
|
458
|
+
-- decision-maker optimization Batch 1.1 (decision a5d5a85b, 2026-06-02):
|
|
459
|
+
-- implementation result, INDEPENDENT of `status` (approval lifecycle).
|
|
460
|
+
-- enum success|failed|partial is enforced in app code (writeDecisionOutcome);
|
|
461
|
+
-- relaxed non-empty CHECK mirrors sessions/tasks.outcome.
|
|
462
|
+
outcome TEXT CHECK(outcome IS NULL OR length(outcome) > 0),
|
|
463
|
+
-- Approve flow:
|
|
464
|
+
approval_token TEXT,
|
|
465
|
+
approved_at TEXT,
|
|
466
|
+
approved_by TEXT, -- 'user' | 'auto-bypass'
|
|
467
|
+
-- Option B (2026-05-29 decision b95e0956) bypass-governance audit fields:
|
|
468
|
+
-- bypass_flag: 1 when the approve happened WITHOUT a decision-maker
|
|
469
|
+
-- spawn trace within ±5min (main-thread self-approve path)
|
|
470
|
+
-- bypass_reason: free-text justification supplied by `cf decisions approve --reason`
|
|
471
|
+
-- or 'via decision-maker' when auto-filled because the maker
|
|
472
|
+
-- trace exists.
|
|
473
|
+
bypass_flag INTEGER NOT NULL DEFAULT 0 CHECK(bypass_flag IN (0, 1)),
|
|
474
|
+
bypass_reason TEXT,
|
|
475
|
+
-- Audit:
|
|
476
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
477
|
+
expires_at TEXT DEFAULT (datetime('now','+7 days')),
|
|
478
|
+
resolved_at TEXT
|
|
479
|
+
);
|
|
480
|
+
|
|
481
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_session ON decisions(session_id, created_at DESC);
|
|
482
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_status ON decisions(status, expires_at);
|
|
483
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_trigger ON decisions(trigger_event_id);
|
|
484
|
+
-- C1 (2026-06-02): spec-kind row lookups (rollup batch + listSpecsBySessionPending).
|
|
485
|
+
CREATE INDEX IF NOT EXISTS idx_decisions_kind_session ON decisions(kind, session_id, status);
|
|
486
|
+
-- C1: approval_token short-circuit lookup. Partial UNIQUE so the many
|
|
487
|
+
-- decision-kind rows with NULL approval_token never collide.
|
|
488
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_decisions_approval_token ON decisions(approval_token) WHERE approval_token IS NOT NULL;
|
|
489
|
+
|
|
490
|
+
-- ── Pending Specs — RETIRED (C1 convergence, spec 0854, 2026-06-02) ───────
|
|
491
|
+
-- The pending_specs table was a parallel "awaiting approval" subsystem. C1
|
|
492
|
+
-- folded its semantics (spec file registration + bare `批准 <token>` short-
|
|
493
|
+
-- circuit) into the decisions table (kind='spec', see above). The historical
|
|
494
|
+
-- DDL + 8-hex approve token now live on decisions.approval_token /
|
|
495
|
+
-- decision_doc_path / spec_source / spec_intent_json.
|
|
496
|
+
--
|
|
497
|
+
-- This DROP is the single delete point for the table on FRESH databases.
|
|
498
|
+
-- Existing live DBs are dropped out-of-band by an operator after the data
|
|
499
|
+
-- migration + backup (see spec 0854 Phase 4/5). Idempotent — IF EXISTS.
|
|
500
|
+
--
|
|
501
|
+
-- 关联 spec: docs/design/2026-06-02/0854-converge-pending-specs-into-decisions-C1-implementation-spec.md
|
|
502
|
+
-- migrations/011_add_pending_specs.sql history is kept untouched.
|
|
503
|
+
DROP TABLE IF EXISTS pending_specs;
|