@flyingrobots/graft 0.5.0 → 0.6.1
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/{docs/ADVANCED_GUIDE.md → ADVANCED_GUIDE.md} +10 -7
- package/ARCHITECTURE.md +130 -377
- package/CHANGELOG.md +101 -13
- package/GUIDE.md +53 -0
- package/README.md +107 -269
- package/bin/graft.js +5 -3
- package/dist/adapters/canonical-json.d.ts +6 -0
- package/dist/adapters/canonical-json.d.ts.map +1 -0
- package/dist/adapters/canonical-json.js +52 -0
- package/dist/adapters/canonical-json.js.map +1 -0
- package/dist/adapters/node-fs.d.ts +3 -0
- package/dist/adapters/node-fs.d.ts.map +1 -0
- package/dist/adapters/node-fs.js +33 -0
- package/dist/adapters/node-fs.js.map +1 -0
- package/dist/adapters/node-git.d.ts +3 -0
- package/dist/adapters/node-git.d.ts.map +1 -0
- package/dist/adapters/node-git.js +44 -0
- package/dist/adapters/node-git.js.map +1 -0
- package/dist/adapters/node-process-runner.d.ts +3 -0
- package/dist/adapters/node-process-runner.d.ts.map +1 -0
- package/dist/adapters/node-process-runner.js +23 -0
- package/dist/adapters/node-process-runner.js.map +1 -0
- package/dist/adapters/repo-paths.d.ts +3 -0
- package/dist/adapters/repo-paths.d.ts.map +1 -0
- package/dist/adapters/repo-paths.js +22 -0
- package/dist/adapters/repo-paths.js.map +1 -0
- package/dist/adapters/rotating-ndjson-log.d.ts +18 -0
- package/dist/adapters/rotating-ndjson-log.d.ts.map +1 -0
- package/dist/adapters/rotating-ndjson-log.js +48 -0
- package/dist/adapters/rotating-ndjson-log.js.map +1 -0
- package/dist/api/index.d.ts +27 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +25 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/repo-local-graft.d.ts +7 -0
- package/dist/api/repo-local-graft.d.ts.map +1 -0
- package/dist/api/repo-local-graft.js +12 -0
- package/dist/api/repo-local-graft.js.map +1 -0
- package/dist/api/repo-workspace.d.ts +15 -0
- package/dist/api/repo-workspace.d.ts.map +1 -0
- package/dist/api/repo-workspace.js +23 -0
- package/dist/api/repo-workspace.js.map +1 -0
- package/dist/api/tool-bridge.d.ts +7 -0
- package/dist/api/tool-bridge.d.ts.map +1 -0
- package/dist/api/tool-bridge.js +14 -0
- package/dist/api/tool-bridge.js.map +1 -0
- package/dist/cli/activity-render.d.ts +2 -0
- package/dist/cli/activity-render.d.ts.map +1 -0
- package/dist/cli/activity-render.js +90 -0
- package/dist/cli/activity-render.js.map +1 -0
- package/dist/cli/cli-error.d.ts +10 -0
- package/dist/cli/cli-error.d.ts.map +1 -0
- package/dist/cli/cli-error.js +130 -0
- package/dist/cli/cli-error.js.map +1 -0
- package/dist/cli/command-parser.d.ts +17 -0
- package/dist/cli/command-parser.d.ts.map +1 -0
- package/dist/cli/command-parser.js +255 -0
- package/dist/cli/command-parser.js.map +1 -0
- package/dist/cli/entrypoint.d.ts +7 -0
- package/dist/cli/entrypoint.d.ts.map +1 -0
- package/dist/cli/entrypoint.js +8 -0
- package/dist/cli/entrypoint.js.map +1 -0
- package/dist/cli/index-cmd.d.ts +12 -0
- package/dist/cli/index-cmd.d.ts.map +1 -0
- package/dist/cli/index-cmd.js +73 -0
- package/dist/cli/index-cmd.js.map +1 -0
- package/dist/cli/index-model.d.ts +33 -0
- package/dist/cli/index-model.d.ts.map +1 -0
- package/dist/cli/index-model.js +55 -0
- package/dist/cli/index-model.js.map +1 -0
- package/dist/cli/init-bootstrap.d.ts +6 -0
- package/dist/cli/init-bootstrap.d.ts.map +1 -0
- package/dist/cli/init-bootstrap.js +27 -0
- package/dist/cli/init-bootstrap.js.map +1 -0
- package/dist/cli/init-client-config.d.ts +13 -0
- package/dist/cli/init-client-config.d.ts.map +1 -0
- package/dist/cli/init-client-config.js +215 -0
- package/dist/cli/init-client-config.js.map +1 -0
- package/dist/cli/init-model.d.ts +80 -0
- package/dist/cli/init-model.d.ts.map +1 -0
- package/dist/cli/init-model.js +202 -0
- package/dist/cli/init-model.js.map +1 -0
- package/dist/cli/init-render.d.ts +8 -0
- package/dist/cli/init-render.d.ts.map +1 -0
- package/dist/cli/init-render.js +43 -0
- package/dist/cli/init-render.js.map +1 -0
- package/dist/cli/init-target-hooks.d.ts +3 -0
- package/dist/cli/init-target-hooks.d.ts.map +1 -0
- package/dist/cli/init-target-hooks.js +75 -0
- package/dist/cli/init-target-hooks.js.map +1 -0
- package/dist/cli/init.d.ts +12 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +96 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/json-document.d.ts +35 -0
- package/dist/cli/json-document.d.ts.map +1 -0
- package/dist/cli/json-document.js +107 -0
- package/dist/cli/json-document.js.map +1 -0
- package/dist/cli/local-history-dag-model.d.ts +43 -0
- package/dist/cli/local-history-dag-model.d.ts.map +1 -0
- package/dist/cli/local-history-dag-model.js +344 -0
- package/dist/cli/local-history-dag-model.js.map +1 -0
- package/dist/cli/local-history-dag-render.d.ts +3 -0
- package/dist/cli/local-history-dag-render.d.ts.map +1 -0
- package/dist/cli/local-history-dag-render.js +126 -0
- package/dist/cli/local-history-dag-render.js.map +1 -0
- package/dist/cli/local-history-dag.d.ts +13 -0
- package/dist/cli/local-history-dag.d.ts.map +1 -0
- package/dist/cli/local-history-dag.js +60 -0
- package/dist/cli/local-history-dag.js.map +1 -0
- package/dist/cli/main.d.ts +15 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +126 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/migrate-local-history.d.ts +12 -0
- package/dist/cli/migrate-local-history.d.ts.map +1 -0
- package/dist/cli/migrate-local-history.js +82 -0
- package/dist/cli/migrate-local-history.js.map +1 -0
- package/dist/cli/peer-command.d.ts +9 -0
- package/dist/cli/peer-command.d.ts.map +1 -0
- package/dist/cli/peer-command.js +38 -0
- package/dist/cli/peer-command.js.map +1 -0
- package/dist/contracts/capabilities.d.ts +44 -0
- package/dist/contracts/capabilities.d.ts.map +1 -0
- package/dist/contracts/capabilities.js +382 -0
- package/dist/contracts/capabilities.js.map +1 -0
- package/dist/contracts/causal-ontology.d.ts +1937 -0
- package/dist/contracts/causal-ontology.d.ts.map +1 -0
- package/dist/contracts/causal-ontology.js +506 -0
- package/dist/contracts/causal-ontology.js.map +1 -0
- package/dist/contracts/causal-surface-next-action.d.ts +17 -0
- package/dist/contracts/causal-surface-next-action.d.ts.map +1 -0
- package/dist/contracts/causal-surface-next-action.js +16 -0
- package/dist/contracts/causal-surface-next-action.js.map +1 -0
- package/dist/contracts/json-object.d.ts +7 -0
- package/dist/contracts/json-object.d.ts.map +1 -0
- package/dist/contracts/json-object.js +24 -0
- package/dist/contracts/json-object.js.map +1 -0
- package/dist/contracts/mcp-runtime.d.ts +4 -0
- package/dist/contracts/mcp-runtime.d.ts.map +1 -0
- package/dist/contracts/mcp-runtime.js +11 -0
- package/dist/contracts/mcp-runtime.js.map +1 -0
- package/dist/contracts/output-schema-cli.d.ts +2716 -0
- package/dist/contracts/output-schema-cli.d.ts.map +1 -0
- package/dist/contracts/output-schema-cli.js +68 -0
- package/dist/contracts/output-schema-cli.js.map +1 -0
- package/dist/contracts/output-schema-fragments.d.ts +10819 -0
- package/dist/contracts/output-schema-fragments.d.ts.map +1 -0
- package/dist/contracts/output-schema-fragments.js +753 -0
- package/dist/contracts/output-schema-fragments.js.map +1 -0
- package/dist/contracts/output-schema-mcp.d.ts +5926 -0
- package/dist/contracts/output-schema-mcp.d.ts.map +1 -0
- package/dist/contracts/output-schema-mcp.js +231 -0
- package/dist/contracts/output-schema-mcp.js.map +1 -0
- package/dist/contracts/output-schema-meta.d.ts +30 -0
- package/dist/contracts/output-schema-meta.d.ts.map +1 -0
- package/dist/contracts/output-schema-meta.js +51 -0
- package/dist/contracts/output-schema-meta.js.map +1 -0
- package/dist/contracts/output-schemas.d.ts +1072 -0
- package/dist/contracts/output-schemas.d.ts.map +1 -0
- package/dist/contracts/output-schemas.js +1089 -0
- package/dist/contracts/output-schemas.js.map +1 -0
- package/dist/git/diff.d.ts +32 -0
- package/dist/git/diff.d.ts.map +1 -0
- package/dist/git/diff.js +82 -0
- package/dist/git/diff.js.map +1 -0
- package/dist/git/target-git-hook-bootstrap.d.ts +7 -0
- package/dist/git/target-git-hook-bootstrap.d.ts.map +1 -0
- package/dist/git/target-git-hook-bootstrap.js +40 -0
- package/dist/git/target-git-hook-bootstrap.js.map +1 -0
- package/dist/guards/stream-boundary.d.ts +41 -0
- package/dist/guards/stream-boundary.d.ts.map +1 -0
- package/dist/guards/stream-boundary.js +97 -0
- package/dist/guards/stream-boundary.js.map +1 -0
- package/dist/hooks/posttooluse-read.d.ts +4 -0
- package/dist/hooks/posttooluse-read.d.ts.map +1 -0
- package/dist/hooks/posttooluse-read.js +41 -0
- package/dist/hooks/posttooluse-read.js.map +1 -0
- package/dist/hooks/pretooluse-read.d.ts +4 -0
- package/dist/hooks/pretooluse-read.d.ts.map +1 -0
- package/dist/hooks/pretooluse-read.js +41 -0
- package/dist/hooks/pretooluse-read.js.map +1 -0
- package/dist/hooks/read-governor.d.ts +24 -0
- package/dist/hooks/read-governor.d.ts.map +1 -0
- package/dist/hooks/read-governor.js +76 -0
- package/dist/hooks/read-governor.js.map +1 -0
- package/dist/hooks/read-messages.d.ts +6 -0
- package/dist/hooks/read-messages.d.ts.map +1 -0
- package/dist/hooks/read-messages.js +45 -0
- package/dist/hooks/read-messages.js.map +1 -0
- package/dist/hooks/shared.d.ts +52 -0
- package/dist/hooks/shared.d.ts.map +1 -0
- package/dist/hooks/shared.js +137 -0
- package/dist/hooks/shared.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/burden.d.ts +21 -0
- package/dist/mcp/burden.d.ts.map +1 -0
- package/dist/mcp/burden.js +96 -0
- package/dist/mcp/burden.js.map +1 -0
- package/dist/mcp/cache.d.ts +2 -0
- package/dist/mcp/cache.d.ts.map +1 -0
- package/dist/mcp/cache.js +2 -0
- package/dist/mcp/cache.js.map +1 -0
- package/dist/mcp/cached-file.d.ts +2 -0
- package/dist/mcp/cached-file.d.ts.map +1 -0
- package/dist/mcp/cached-file.js +2 -0
- package/dist/mcp/cached-file.js.map +1 -0
- package/dist/mcp/context.d.ts +84 -0
- package/dist/mcp/context.d.ts.map +1 -0
- package/dist/mcp/context.js +79 -0
- package/dist/mcp/context.js.map +1 -0
- package/dist/mcp/control-plane/authz-storage.d.ts +35 -0
- package/dist/mcp/control-plane/authz-storage.d.ts.map +1 -0
- package/dist/mcp/control-plane/authz-storage.js +85 -0
- package/dist/mcp/control-plane/authz-storage.js.map +1 -0
- package/dist/mcp/control-plane/session-registry.d.ts +12 -0
- package/dist/mcp/control-plane/session-registry.d.ts.map +1 -0
- package/dist/mcp/control-plane/session-registry.js +88 -0
- package/dist/mcp/control-plane/session-registry.js.map +1 -0
- package/dist/mcp/control-plane/status-projection.d.ts +8 -0
- package/dist/mcp/control-plane/status-projection.d.ts.map +1 -0
- package/dist/mcp/control-plane/status-projection.js +49 -0
- package/dist/mcp/control-plane/status-projection.js.map +1 -0
- package/dist/mcp/control-plane/types.d.ts +107 -0
- package/dist/mcp/control-plane/types.d.ts.map +1 -0
- package/dist/mcp/control-plane/types.js +2 -0
- package/dist/mcp/control-plane/types.js.map +1 -0
- package/dist/mcp/daemon-bootstrap.d.ts +9 -0
- package/dist/mcp/daemon-bootstrap.d.ts.map +1 -0
- package/dist/mcp/daemon-bootstrap.js +96 -0
- package/dist/mcp/daemon-bootstrap.js.map +1 -0
- package/dist/mcp/daemon-control-plane.d.ts +37 -0
- package/dist/mcp/daemon-control-plane.d.ts.map +1 -0
- package/dist/mcp/daemon-control-plane.js +200 -0
- package/dist/mcp/daemon-control-plane.js.map +1 -0
- package/dist/mcp/daemon-job-scheduler.d.ts +60 -0
- package/dist/mcp/daemon-job-scheduler.d.ts.map +1 -0
- package/dist/mcp/daemon-job-scheduler.js +203 -0
- package/dist/mcp/daemon-job-scheduler.js.map +1 -0
- package/dist/mcp/daemon-repos.d.ts +9 -0
- package/dist/mcp/daemon-repos.d.ts.map +1 -0
- package/dist/mcp/daemon-repos.js +73 -0
- package/dist/mcp/daemon-repos.js.map +1 -0
- package/dist/mcp/daemon-server.d.ts +23 -0
- package/dist/mcp/daemon-server.d.ts.map +1 -0
- package/dist/mcp/daemon-server.js +128 -0
- package/dist/mcp/daemon-server.js.map +1 -0
- package/dist/mcp/daemon-session-host.d.ts +31 -0
- package/dist/mcp/daemon-session-host.d.ts.map +1 -0
- package/dist/mcp/daemon-session-host.js +173 -0
- package/dist/mcp/daemon-session-host.js.map +1 -0
- package/dist/mcp/daemon-stdio-bridge.d.ts +17 -0
- package/dist/mcp/daemon-stdio-bridge.d.ts.map +1 -0
- package/dist/mcp/daemon-stdio-bridge.js +207 -0
- package/dist/mcp/daemon-stdio-bridge.js.map +1 -0
- package/dist/mcp/daemon-worker-child-pool.d.ts +22 -0
- package/dist/mcp/daemon-worker-child-pool.d.ts.map +1 -0
- package/dist/mcp/daemon-worker-child-pool.js +193 -0
- package/dist/mcp/daemon-worker-child-pool.js.map +1 -0
- package/dist/mcp/daemon-worker-inline-pool.d.ts +12 -0
- package/dist/mcp/daemon-worker-inline-pool.d.ts.map +1 -0
- package/dist/mcp/daemon-worker-inline-pool.js +43 -0
- package/dist/mcp/daemon-worker-inline-pool.js.map +1 -0
- package/dist/mcp/daemon-worker-pool.d.ts +4 -0
- package/dist/mcp/daemon-worker-pool.d.ts.map +1 -0
- package/dist/mcp/daemon-worker-pool.js +3 -0
- package/dist/mcp/daemon-worker-pool.js.map +1 -0
- package/dist/mcp/daemon-worker-process.d.ts +2 -0
- package/dist/mcp/daemon-worker-process.d.ts.map +1 -0
- package/dist/mcp/daemon-worker-process.js +26 -0
- package/dist/mcp/daemon-worker-process.js.map +1 -0
- package/dist/mcp/daemon-worker-types.d.ts +56 -0
- package/dist/mcp/daemon-worker-types.d.ts.map +1 -0
- package/dist/mcp/daemon-worker-types.js +2 -0
- package/dist/mcp/daemon-worker-types.js.map +1 -0
- package/dist/mcp/metrics.d.ts +57 -0
- package/dist/mcp/metrics.d.ts.map +1 -0
- package/dist/mcp/metrics.js +133 -0
- package/dist/mcp/metrics.js.map +1 -0
- package/dist/mcp/monitor-health.d.ts +29 -0
- package/dist/mcp/monitor-health.d.ts.map +1 -0
- package/dist/mcp/monitor-health.js +70 -0
- package/dist/mcp/monitor-health.js.map +1 -0
- package/dist/mcp/monitor-persistence.d.ts +17 -0
- package/dist/mcp/monitor-persistence.d.ts.map +1 -0
- package/dist/mcp/monitor-persistence.js +38 -0
- package/dist/mcp/monitor-persistence.js.map +1 -0
- package/dist/mcp/monitor-tick-job.d.ts +22 -0
- package/dist/mcp/monitor-tick-job.d.ts.map +1 -0
- package/dist/mcp/monitor-tick-job.js +65 -0
- package/dist/mcp/monitor-tick-job.js.map +1 -0
- package/dist/mcp/monitor-types.d.ts +123 -0
- package/dist/mcp/monitor-types.d.ts.map +1 -0
- package/dist/mcp/monitor-types.js +29 -0
- package/dist/mcp/monitor-types.js.map +1 -0
- package/dist/mcp/persisted-local-history-graph.d.ts +40 -0
- package/dist/mcp/persisted-local-history-graph.d.ts.map +1 -0
- package/dist/mcp/persisted-local-history-graph.js +388 -0
- package/dist/mcp/persisted-local-history-graph.js.map +1 -0
- package/dist/mcp/persisted-local-history-policy.d.ts +43 -0
- package/dist/mcp/persisted-local-history-policy.d.ts.map +1 -0
- package/dist/mcp/persisted-local-history-policy.js +372 -0
- package/dist/mcp/persisted-local-history-policy.js.map +1 -0
- package/dist/mcp/persisted-local-history-views.d.ts +24 -0
- package/dist/mcp/persisted-local-history-views.d.ts.map +1 -0
- package/dist/mcp/persisted-local-history-views.js +201 -0
- package/dist/mcp/persisted-local-history-views.js.map +1 -0
- package/dist/mcp/persisted-local-history.d.ts +795 -0
- package/dist/mcp/persisted-local-history.d.ts.map +1 -0
- package/dist/mcp/persisted-local-history.js +1076 -0
- package/dist/mcp/persisted-local-history.js.map +1 -0
- package/dist/mcp/persistent-monitor-runtime.d.ts +33 -0
- package/dist/mcp/persistent-monitor-runtime.d.ts.map +1 -0
- package/dist/mcp/persistent-monitor-runtime.js +356 -0
- package/dist/mcp/persistent-monitor-runtime.js.map +1 -0
- package/dist/mcp/policy.d.ts +29 -0
- package/dist/mcp/policy.d.ts.map +1 -0
- package/dist/mcp/policy.js +40 -0
- package/dist/mcp/policy.js.map +1 -0
- package/dist/mcp/receipt.d.ts +64 -0
- package/dist/mcp/receipt.d.ts.map +1 -0
- package/dist/mcp/receipt.js +99 -0
- package/dist/mcp/receipt.js.map +1 -0
- package/dist/mcp/repo-concurrency.d.ts +62 -0
- package/dist/mcp/repo-concurrency.d.ts.map +1 -0
- package/dist/mcp/repo-concurrency.js +195 -0
- package/dist/mcp/repo-concurrency.js.map +1 -0
- package/dist/mcp/repo-overview/filter.d.ts +6 -0
- package/dist/mcp/repo-overview/filter.d.ts.map +1 -0
- package/dist/mcp/repo-overview/filter.js +32 -0
- package/dist/mcp/repo-overview/filter.js.map +1 -0
- package/dist/mcp/repo-overview/types.d.ts +41 -0
- package/dist/mcp/repo-overview/types.d.ts.map +1 -0
- package/dist/mcp/repo-overview/types.js +2 -0
- package/dist/mcp/repo-overview/types.js.map +1 -0
- package/dist/mcp/repo-overview/view-projection.d.ts +8 -0
- package/dist/mcp/repo-overview/view-projection.d.ts.map +1 -0
- package/dist/mcp/repo-overview/view-projection.js +73 -0
- package/dist/mcp/repo-overview/view-projection.js.map +1 -0
- package/dist/mcp/repo-state-git.d.ts +8 -0
- package/dist/mcp/repo-state-git.d.ts.map +1 -0
- package/dist/mcp/repo-state-git.js +203 -0
- package/dist/mcp/repo-state-git.js.map +1 -0
- package/dist/mcp/repo-state-observation.d.ts +4 -0
- package/dist/mcp/repo-state-observation.d.ts.map +1 -0
- package/dist/mcp/repo-state-observation.js +171 -0
- package/dist/mcp/repo-state-observation.js.map +1 -0
- package/dist/mcp/repo-state-transition.d.ts +4 -0
- package/dist/mcp/repo-state-transition.d.ts.map +1 -0
- package/dist/mcp/repo-state-transition.js +124 -0
- package/dist/mcp/repo-state-transition.js.map +1 -0
- package/dist/mcp/repo-state-types.d.ts +88 -0
- package/dist/mcp/repo-state-types.d.ts.map +1 -0
- package/dist/mcp/repo-state-types.js +2 -0
- package/dist/mcp/repo-state-types.js.map +1 -0
- package/dist/mcp/repo-state.d.ts +37 -0
- package/dist/mcp/repo-state.d.ts.map +1 -0
- package/dist/mcp/repo-state.js +101 -0
- package/dist/mcp/repo-state.js.map +1 -0
- package/dist/mcp/repo-tool-job.d.ts +55 -0
- package/dist/mcp/repo-tool-job.d.ts.map +1 -0
- package/dist/mcp/repo-tool-job.js +50 -0
- package/dist/mcp/repo-tool-job.js.map +1 -0
- package/dist/mcp/repo-tool-worker-context.d.ts +8 -0
- package/dist/mcp/repo-tool-worker-context.d.ts.map +1 -0
- package/dist/mcp/repo-tool-worker-context.js +199 -0
- package/dist/mcp/repo-tool-worker-context.js.map +1 -0
- package/dist/mcp/repo-workspace.d.ts +4 -0
- package/dist/mcp/repo-workspace.d.ts.map +1 -0
- package/dist/mcp/repo-workspace.js +15 -0
- package/dist/mcp/repo-workspace.js.map +1 -0
- package/dist/mcp/run-capture-config.d.ts +11 -0
- package/dist/mcp/run-capture-config.d.ts.map +1 -0
- package/dist/mcp/run-capture-config.js +23 -0
- package/dist/mcp/run-capture-config.js.map +1 -0
- package/dist/mcp/runtime-causal-context.d.ts +22 -0
- package/dist/mcp/runtime-causal-context.d.ts.map +1 -0
- package/dist/mcp/runtime-causal-context.js +28 -0
- package/dist/mcp/runtime-causal-context.js.map +1 -0
- package/dist/mcp/runtime-observability.d.ts +102 -0
- package/dist/mcp/runtime-observability.d.ts.map +1 -0
- package/dist/mcp/runtime-observability.js +95 -0
- package/dist/mcp/runtime-observability.js.map +1 -0
- package/dist/mcp/runtime-staged-target.d.ts +28 -0
- package/dist/mcp/runtime-staged-target.d.ts.map +1 -0
- package/dist/mcp/runtime-staged-target.js +101 -0
- package/dist/mcp/runtime-staged-target.js.map +1 -0
- package/dist/mcp/runtime-workspace-overlay.d.ts +45 -0
- package/dist/mcp/runtime-workspace-overlay.d.ts.map +1 -0
- package/dist/mcp/runtime-workspace-overlay.js +153 -0
- package/dist/mcp/runtime-workspace-overlay.js.map +1 -0
- package/dist/mcp/secret-scrub.d.ts +17 -0
- package/dist/mcp/secret-scrub.d.ts.map +1 -0
- package/dist/mcp/secret-scrub.js +82 -0
- package/dist/mcp/secret-scrub.js.map +1 -0
- package/dist/mcp/semantic-transition-guidance.d.ts +6 -0
- package/dist/mcp/semantic-transition-guidance.d.ts.map +1 -0
- package/dist/mcp/semantic-transition-guidance.js +47 -0
- package/dist/mcp/semantic-transition-guidance.js.map +1 -0
- package/dist/mcp/semantic-transition-summary.d.ts +23 -0
- package/dist/mcp/semantic-transition-summary.d.ts.map +1 -0
- package/dist/mcp/semantic-transition-summary.js +82 -0
- package/dist/mcp/semantic-transition-summary.js.map +1 -0
- package/dist/mcp/server-context.d.ts +46 -0
- package/dist/mcp/server-context.d.ts.map +1 -0
- package/dist/mcp/server-context.js +163 -0
- package/dist/mcp/server-context.js.map +1 -0
- package/dist/mcp/server-invocation.d.ts +73 -0
- package/dist/mcp/server-invocation.d.ts.map +1 -0
- package/dist/mcp/server-invocation.js +265 -0
- package/dist/mcp/server-invocation.js.map +1 -0
- package/dist/mcp/server-tool-access.d.ts +18 -0
- package/dist/mcp/server-tool-access.d.ts.map +1 -0
- package/dist/mcp/server-tool-access.js +123 -0
- package/dist/mcp/server-tool-access.js.map +1 -0
- package/dist/mcp/server.d.ts +41 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +215 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/stdio-server.d.ts +6 -0
- package/dist/mcp/stdio-server.d.ts.map +1 -0
- package/dist/mcp/stdio-server.js +20 -0
- package/dist/mcp/stdio-server.js.map +1 -0
- package/dist/mcp/stdio.d.ts +2 -0
- package/dist/mcp/stdio.d.ts.map +1 -0
- package/dist/mcp/stdio.js +3 -0
- package/dist/mcp/stdio.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +5 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +76 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/mcp/tools/activity-view.d.ts +3 -0
- package/dist/mcp/tools/activity-view.d.ts.map +1 -0
- package/dist/mcp/tools/activity-view.js +259 -0
- package/dist/mcp/tools/activity-view.js.map +1 -0
- package/dist/mcp/tools/budget.d.ts +3 -0
- package/dist/mcp/tools/budget.d.ts.map +1 -0
- package/dist/mcp/tools/budget.js +20 -0
- package/dist/mcp/tools/budget.js.map +1 -0
- package/dist/mcp/tools/causal-attach.d.ts +3 -0
- package/dist/mcp/tools/causal-attach.d.ts.map +1 -0
- package/dist/mcp/tools/causal-attach.js +53 -0
- package/dist/mcp/tools/causal-attach.js.map +1 -0
- package/dist/mcp/tools/causal-status.d.ts +3 -0
- package/dist/mcp/tools/causal-status.d.ts.map +1 -0
- package/dist/mcp/tools/causal-status.js +46 -0
- package/dist/mcp/tools/causal-status.js.map +1 -0
- package/dist/mcp/tools/changed-since.d.ts +3 -0
- package/dist/mcp/tools/changed-since.d.ts.map +1 -0
- package/dist/mcp/tools/changed-since.js +57 -0
- package/dist/mcp/tools/changed-since.js.map +1 -0
- package/dist/mcp/tools/code-find.d.ts +104 -0
- package/dist/mcp/tools/code-find.d.ts.map +1 -0
- package/dist/mcp/tools/code-find.js +125 -0
- package/dist/mcp/tools/code-find.js.map +1 -0
- package/dist/mcp/tools/code-refs.d.ts +3 -0
- package/dist/mcp/tools/code-refs.d.ts.map +1 -0
- package/dist/mcp/tools/code-refs.js +370 -0
- package/dist/mcp/tools/code-refs.js.map +1 -0
- package/dist/mcp/tools/code-show.d.ts +104 -0
- package/dist/mcp/tools/code-show.d.ts.map +1 -0
- package/dist/mcp/tools/code-show.js +202 -0
- package/dist/mcp/tools/code-show.js.map +1 -0
- package/dist/mcp/tools/daemon-monitors.d.ts +3 -0
- package/dist/mcp/tools/daemon-monitors.d.ts.map +1 -0
- package/dist/mcp/tools/daemon-monitors.js +12 -0
- package/dist/mcp/tools/daemon-monitors.js.map +1 -0
- package/dist/mcp/tools/daemon-repos.d.ts +3 -0
- package/dist/mcp/tools/daemon-repos.d.ts.map +1 -0
- package/dist/mcp/tools/daemon-repos.js +20 -0
- package/dist/mcp/tools/daemon-repos.js.map +1 -0
- package/dist/mcp/tools/daemon-sessions.d.ts +3 -0
- package/dist/mcp/tools/daemon-sessions.d.ts.map +1 -0
- package/dist/mcp/tools/daemon-sessions.js +12 -0
- package/dist/mcp/tools/daemon-sessions.js.map +1 -0
- package/dist/mcp/tools/daemon-status.d.ts +3 -0
- package/dist/mcp/tools/daemon-status.d.ts.map +1 -0
- package/dist/mcp/tools/daemon-status.js +10 -0
- package/dist/mcp/tools/daemon-status.js.map +1 -0
- package/dist/mcp/tools/diagnostic-models.d.ts +85 -0
- package/dist/mcp/tools/diagnostic-models.d.ts.map +1 -0
- package/dist/mcp/tools/diagnostic-models.js +5 -0
- package/dist/mcp/tools/diagnostic-models.js.map +1 -0
- package/dist/mcp/tools/doctor.d.ts +3 -0
- package/dist/mcp/tools/doctor.d.ts.map +1 -0
- package/dist/mcp/tools/doctor.js +54 -0
- package/dist/mcp/tools/doctor.js.map +1 -0
- package/dist/mcp/tools/explain.d.ts +3 -0
- package/dist/mcp/tools/explain.d.ts.map +1 -0
- package/dist/mcp/tools/explain.js +81 -0
- package/dist/mcp/tools/explain.js.map +1 -0
- package/dist/mcp/tools/file-outline.d.ts +3 -0
- package/dist/mcp/tools/file-outline.d.ts.map +1 -0
- package/dist/mcp/tools/file-outline.js +54 -0
- package/dist/mcp/tools/file-outline.js.map +1 -0
- package/dist/mcp/tools/git-files.d.ts +24 -0
- package/dist/mcp/tools/git-files.d.ts.map +1 -0
- package/dist/mcp/tools/git-files.js +57 -0
- package/dist/mcp/tools/git-files.js.map +1 -0
- package/dist/mcp/tools/graft-diff.d.ts +3 -0
- package/dist/mcp/tools/graft-diff.d.ts.map +1 -0
- package/dist/mcp/tools/graft-diff.js +33 -0
- package/dist/mcp/tools/graft-diff.js.map +1 -0
- package/dist/mcp/tools/map-collector.d.ts +85 -0
- package/dist/mcp/tools/map-collector.d.ts.map +1 -0
- package/dist/mcp/tools/map-collector.js +249 -0
- package/dist/mcp/tools/map-collector.js.map +1 -0
- package/dist/mcp/tools/map.d.ts +7 -0
- package/dist/mcp/tools/map.d.ts.map +1 -0
- package/dist/mcp/tools/map.js +154 -0
- package/dist/mcp/tools/map.js.map +1 -0
- package/dist/mcp/tools/monitor-pause.d.ts +3 -0
- package/dist/mcp/tools/monitor-pause.d.ts.map +1 -0
- package/dist/mcp/tools/monitor-pause.js +16 -0
- package/dist/mcp/tools/monitor-pause.js.map +1 -0
- package/dist/mcp/tools/monitor-resume.d.ts +3 -0
- package/dist/mcp/tools/monitor-resume.d.ts.map +1 -0
- package/dist/mcp/tools/monitor-resume.js +16 -0
- package/dist/mcp/tools/monitor-resume.js.map +1 -0
- package/dist/mcp/tools/monitor-start.d.ts +3 -0
- package/dist/mcp/tools/monitor-start.d.ts.map +1 -0
- package/dist/mcp/tools/monitor-start.js +18 -0
- package/dist/mcp/tools/monitor-start.js.map +1 -0
- package/dist/mcp/tools/monitor-stop.d.ts +3 -0
- package/dist/mcp/tools/monitor-stop.d.ts.map +1 -0
- package/dist/mcp/tools/monitor-stop.js +16 -0
- package/dist/mcp/tools/monitor-stop.js.map +1 -0
- package/dist/mcp/tools/precision-live.d.ts +20 -0
- package/dist/mcp/tools/precision-live.d.ts.map +1 -0
- package/dist/mcp/tools/precision-live.js +105 -0
- package/dist/mcp/tools/precision-live.js.map +1 -0
- package/dist/mcp/tools/precision-match.d.ts +21 -0
- package/dist/mcp/tools/precision-match.d.ts.map +1 -0
- package/dist/mcp/tools/precision-match.js +46 -0
- package/dist/mcp/tools/precision-match.js.map +1 -0
- package/dist/mcp/tools/precision-paths.d.ts +7 -0
- package/dist/mcp/tools/precision-paths.d.ts.map +1 -0
- package/dist/mcp/tools/precision-paths.js +53 -0
- package/dist/mcp/tools/precision-paths.js.map +1 -0
- package/dist/mcp/tools/precision-query.d.ts +38 -0
- package/dist/mcp/tools/precision-query.d.ts.map +1 -0
- package/dist/mcp/tools/precision-query.js +116 -0
- package/dist/mcp/tools/precision-query.js.map +1 -0
- package/dist/mcp/tools/precision-show.d.ts +15 -0
- package/dist/mcp/tools/precision-show.d.ts.map +1 -0
- package/dist/mcp/tools/precision-show.js +46 -0
- package/dist/mcp/tools/precision-show.js.map +1 -0
- package/dist/mcp/tools/precision-visibility.d.ts +10 -0
- package/dist/mcp/tools/precision-visibility.d.ts.map +1 -0
- package/dist/mcp/tools/precision-visibility.js +24 -0
- package/dist/mcp/tools/precision-visibility.js.map +1 -0
- package/dist/mcp/tools/precision-warp.d.ts +6 -0
- package/dist/mcp/tools/precision-warp.d.ts.map +1 -0
- package/dist/mcp/tools/precision-warp.js +76 -0
- package/dist/mcp/tools/precision-warp.js.map +1 -0
- package/dist/mcp/tools/precision.d.ts +7 -0
- package/dist/mcp/tools/precision.d.ts.map +1 -0
- package/dist/mcp/tools/precision.js +6 -0
- package/dist/mcp/tools/precision.js.map +1 -0
- package/dist/mcp/tools/read-range.d.ts +3 -0
- package/dist/mcp/tools/read-range.d.ts.map +1 -0
- package/dist/mcp/tools/read-range.js +26 -0
- package/dist/mcp/tools/read-range.js.map +1 -0
- package/dist/mcp/tools/run-capture.d.ts +3 -0
- package/dist/mcp/tools/run-capture.d.ts.map +1 -0
- package/dist/mcp/tools/run-capture.js +125 -0
- package/dist/mcp/tools/run-capture.js.map +1 -0
- package/dist/mcp/tools/safe-read.d.ts +3 -0
- package/dist/mcp/tools/safe-read.d.ts.map +1 -0
- package/dist/mcp/tools/safe-read.js +133 -0
- package/dist/mcp/tools/safe-read.js.map +1 -0
- package/dist/mcp/tools/since.d.ts +3 -0
- package/dist/mcp/tools/since.d.ts.map +1 -0
- package/dist/mcp/tools/since.js +46 -0
- package/dist/mcp/tools/since.js.map +1 -0
- package/dist/mcp/tools/state.d.ts +4 -0
- package/dist/mcp/tools/state.d.ts.map +1 -0
- package/dist/mcp/tools/state.js +35 -0
- package/dist/mcp/tools/state.js.map +1 -0
- package/dist/mcp/tools/stats.d.ts +3 -0
- package/dist/mcp/tools/stats.d.ts.map +1 -0
- package/dist/mcp/tools/stats.js +22 -0
- package/dist/mcp/tools/stats.js.map +1 -0
- package/dist/mcp/tools/workspace-authorizations.d.ts +3 -0
- package/dist/mcp/tools/workspace-authorizations.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-authorizations.js +12 -0
- package/dist/mcp/tools/workspace-authorizations.js.map +1 -0
- package/dist/mcp/tools/workspace-authorize.d.ts +3 -0
- package/dist/mcp/tools/workspace-authorize.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-authorize.js +18 -0
- package/dist/mcp/tools/workspace-authorize.js.map +1 -0
- package/dist/mcp/tools/workspace-bind.d.ts +3 -0
- package/dist/mcp/tools/workspace-bind.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-bind.js +23 -0
- package/dist/mcp/tools/workspace-bind.js.map +1 -0
- package/dist/mcp/tools/workspace-rebind.d.ts +3 -0
- package/dist/mcp/tools/workspace-rebind.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-rebind.js +23 -0
- package/dist/mcp/tools/workspace-rebind.js.map +1 -0
- package/dist/mcp/tools/workspace-revoke.d.ts +3 -0
- package/dist/mcp/tools/workspace-revoke.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-revoke.js +16 -0
- package/dist/mcp/tools/workspace-revoke.js.map +1 -0
- package/dist/mcp/tools/workspace-status.d.ts +3 -0
- package/dist/mcp/tools/workspace-status.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-status.js +10 -0
- package/dist/mcp/tools/workspace-status.js.map +1 -0
- package/dist/mcp/warp-pool.d.ts +13 -0
- package/dist/mcp/warp-pool.d.ts.map +1 -0
- package/dist/mcp/warp-pool.js +30 -0
- package/dist/mcp/warp-pool.js.map +1 -0
- package/dist/mcp/workspace-read-observation-model.d.ts +34 -0
- package/dist/mcp/workspace-read-observation-model.d.ts.map +1 -0
- package/dist/mcp/workspace-read-observation-model.js +35 -0
- package/dist/mcp/workspace-read-observation-model.js.map +1 -0
- package/dist/mcp/workspace-read-observation.d.ts +19 -0
- package/dist/mcp/workspace-read-observation.d.ts.map +1 -0
- package/dist/mcp/workspace-read-observation.js +71 -0
- package/dist/mcp/workspace-read-observation.js.map +1 -0
- package/dist/mcp/workspace-router-capability.d.ts +14 -0
- package/dist/mcp/workspace-router-capability.d.ts.map +1 -0
- package/dist/mcp/workspace-router-capability.js +22 -0
- package/dist/mcp/workspace-router-capability.js.map +1 -0
- package/dist/mcp/workspace-router-history.d.ts +65 -0
- package/dist/mcp/workspace-router-history.d.ts.map +1 -0
- package/dist/mcp/workspace-router-history.js +142 -0
- package/dist/mcp/workspace-router-history.js.map +1 -0
- package/dist/mcp/workspace-router-model.d.ts +96 -0
- package/dist/mcp/workspace-router-model.d.ts.map +1 -0
- package/dist/mcp/workspace-router-model.js +31 -0
- package/dist/mcp/workspace-router-model.js.map +1 -0
- package/dist/mcp/workspace-router-resolution.d.ts +10 -0
- package/dist/mcp/workspace-router-resolution.d.ts.map +1 -0
- package/dist/mcp/workspace-router-resolution.js +56 -0
- package/dist/mcp/workspace-router-resolution.js.map +1 -0
- package/dist/mcp/workspace-router-runtime.d.ts +79 -0
- package/dist/mcp/workspace-router-runtime.d.ts.map +1 -0
- package/dist/mcp/workspace-router-runtime.js +126 -0
- package/dist/mcp/workspace-router-runtime.js.map +1 -0
- package/dist/mcp/workspace-router.d.ts +72 -0
- package/dist/mcp/workspace-router.d.ts.map +1 -0
- package/dist/mcp/workspace-router.js +494 -0
- package/dist/mcp/workspace-router.js.map +1 -0
- package/dist/metrics/logger.d.ts +14 -0
- package/dist/metrics/logger.d.ts.map +1 -0
- package/dist/metrics/logger.js +30 -0
- package/dist/metrics/logger.js.map +1 -0
- package/dist/metrics/types.d.ts +25 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +28 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/operations/cached-file.d.ts +24 -0
- package/dist/operations/cached-file.d.ts.map +1 -0
- package/dist/operations/cached-file.js +37 -0
- package/dist/operations/cached-file.js.map +1 -0
- package/dist/operations/diff-identity.d.ts +32 -0
- package/dist/operations/diff-identity.d.ts.map +1 -0
- package/dist/operations/diff-identity.js +93 -0
- package/dist/operations/diff-identity.js.map +1 -0
- package/dist/operations/file-outline.d.ts +15 -0
- package/dist/operations/file-outline.d.ts.map +1 -0
- package/dist/operations/file-outline.js +32 -0
- package/dist/operations/file-outline.js.map +1 -0
- package/dist/operations/graft-diff.d.ts +43 -0
- package/dist/operations/graft-diff.d.ts.map +1 -0
- package/dist/operations/graft-diff.js +115 -0
- package/dist/operations/graft-diff.js.map +1 -0
- package/dist/operations/observation-cache.d.ts +64 -0
- package/dist/operations/observation-cache.d.ts.map +1 -0
- package/dist/operations/observation-cache.js +104 -0
- package/dist/operations/observation-cache.js.map +1 -0
- package/dist/operations/read-range.d.ts +14 -0
- package/dist/operations/read-range.d.ts.map +1 -0
- package/dist/operations/read-range.js +41 -0
- package/dist/operations/read-range.js.map +1 -0
- package/dist/operations/repo-workspace.d.ts +114 -0
- package/dist/operations/repo-workspace.d.ts.map +1 -0
- package/dist/operations/repo-workspace.js +228 -0
- package/dist/operations/repo-workspace.js.map +1 -0
- package/dist/operations/result-dto.d.ts +10 -0
- package/dist/operations/result-dto.d.ts.map +1 -0
- package/dist/operations/result-dto.js +21 -0
- package/dist/operations/result-dto.js.map +1 -0
- package/dist/operations/safe-read.d.ts +35 -0
- package/dist/operations/safe-read.d.ts.map +1 -0
- package/dist/operations/safe-read.js +75 -0
- package/dist/operations/safe-read.js.map +1 -0
- package/dist/operations/state.d.ts +25 -0
- package/dist/operations/state.d.ts.map +1 -0
- package/dist/operations/state.js +47 -0
- package/dist/operations/state.js.map +1 -0
- package/dist/operations/structured-buffer-compare.d.ts +5 -0
- package/dist/operations/structured-buffer-compare.d.ts.map +1 -0
- package/dist/operations/structured-buffer-compare.js +392 -0
- package/dist/operations/structured-buffer-compare.js.map +1 -0
- package/dist/operations/structured-buffer-model.d.ts +232 -0
- package/dist/operations/structured-buffer-model.d.ts.map +1 -0
- package/dist/operations/structured-buffer-model.js +175 -0
- package/dist/operations/structured-buffer-model.js.map +1 -0
- package/dist/operations/structured-buffer-query.d.ts +24 -0
- package/dist/operations/structured-buffer-query.d.ts.map +1 -0
- package/dist/operations/structured-buffer-query.js +690 -0
- package/dist/operations/structured-buffer-query.js.map +1 -0
- package/dist/operations/structured-buffer.d.ts +43 -0
- package/dist/operations/structured-buffer.d.ts.map +1 -0
- package/dist/operations/structured-buffer.js +96 -0
- package/dist/operations/structured-buffer.js.map +1 -0
- package/dist/parser/diff.d.ts +63 -0
- package/dist/parser/diff.d.ts.map +1 -0
- package/dist/parser/diff.js +259 -0
- package/dist/parser/diff.js.map +1 -0
- package/dist/parser/lang.d.ts +17 -0
- package/dist/parser/lang.d.ts.map +1 -0
- package/dist/parser/lang.js +51 -0
- package/dist/parser/lang.js.map +1 -0
- package/dist/parser/markdown.d.ts +3 -0
- package/dist/parser/markdown.d.ts.map +1 -0
- package/dist/parser/markdown.js +168 -0
- package/dist/parser/markdown.js.map +1 -0
- package/dist/parser/outline.d.ts +12 -0
- package/dist/parser/outline.d.ts.map +1 -0
- package/dist/parser/outline.js +251 -0
- package/dist/parser/outline.js.map +1 -0
- package/dist/parser/runtime.d.ts +13 -0
- package/dist/parser/runtime.d.ts.map +1 -0
- package/dist/parser/runtime.js +43 -0
- package/dist/parser/runtime.js.map +1 -0
- package/dist/parser/types.d.ts +41 -0
- package/dist/parser/types.d.ts.map +1 -0
- package/dist/parser/types.js +46 -0
- package/dist/parser/types.js.map +1 -0
- package/dist/policy/evaluate.d.ts +8 -0
- package/dist/policy/evaluate.d.ts.map +1 -0
- package/dist/policy/evaluate.js +153 -0
- package/dist/policy/evaluate.js.map +1 -0
- package/dist/policy/graftignore.d.ts +2 -0
- package/dist/policy/graftignore.d.ts.map +1 -0
- package/dist/policy/graftignore.js +7 -0
- package/dist/policy/graftignore.js.map +1 -0
- package/dist/policy/types.d.ts +104 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +49 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/ports/codec.d.ts +10 -0
- package/dist/ports/codec.d.ts.map +1 -0
- package/dist/ports/codec.js +5 -0
- package/dist/ports/codec.js.map +1 -0
- package/dist/ports/filesystem.d.ts +19 -0
- package/dist/ports/filesystem.d.ts.map +1 -0
- package/dist/ports/filesystem.js +5 -0
- package/dist/ports/filesystem.js.map +1 -0
- package/dist/ports/git.d.ts +11 -0
- package/dist/ports/git.d.ts.map +1 -0
- package/dist/ports/git.js +5 -0
- package/dist/ports/git.js.map +1 -0
- package/dist/ports/guards.d.ts +15 -0
- package/dist/ports/guards.d.ts.map +1 -0
- package/dist/ports/guards.js +43 -0
- package/dist/ports/guards.js.map +1 -0
- package/dist/ports/process-runner.d.ts +17 -0
- package/dist/ports/process-runner.d.ts.map +1 -0
- package/dist/ports/process-runner.js +5 -0
- package/dist/ports/process-runner.js.map +1 -0
- package/dist/ports/warp.d.ts +45 -0
- package/dist/ports/warp.d.ts.map +1 -0
- package/dist/ports/warp.js +5 -0
- package/dist/ports/warp.js.map +1 -0
- package/dist/release/security-gate.d.ts +24 -0
- package/dist/release/security-gate.d.ts.map +1 -0
- package/dist/release/security-gate.js +69 -0
- package/dist/release/security-gate.js.map +1 -0
- package/dist/session/tracker.d.ts +36 -0
- package/dist/session/tracker.d.ts.map +1 -0
- package/dist/session/tracker.js +113 -0
- package/dist/session/tracker.js.map +1 -0
- package/dist/session/types.d.ts +14 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +18 -0
- package/dist/session/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/warp/identity-resolver.d.ts +14 -0
- package/dist/warp/identity-resolver.d.ts.map +1 -0
- package/dist/warp/identity-resolver.js +31 -0
- package/dist/warp/identity-resolver.js.map +1 -0
- package/dist/warp/indexer-git.d.ts +22 -0
- package/dist/warp/indexer-git.d.ts.map +1 -0
- package/dist/warp/indexer-git.js +148 -0
- package/dist/warp/indexer-git.js.map +1 -0
- package/dist/warp/indexer-graph.d.ts +17 -0
- package/dist/warp/indexer-graph.d.ts.map +1 -0
- package/dist/warp/indexer-graph.js +179 -0
- package/dist/warp/indexer-graph.js.map +1 -0
- package/dist/warp/indexer-model.d.ts +51 -0
- package/dist/warp/indexer-model.d.ts.map +1 -0
- package/dist/warp/indexer-model.js +21 -0
- package/dist/warp/indexer-model.js.map +1 -0
- package/dist/warp/indexer.d.ts +9 -0
- package/dist/warp/indexer.d.ts.map +1 -0
- package/dist/warp/indexer.js +112 -0
- package/dist/warp/indexer.js.map +1 -0
- package/dist/warp/observers.d.ts +54 -0
- package/dist/warp/observers.d.ts.map +1 -0
- package/dist/warp/observers.js +88 -0
- package/dist/warp/observers.js.map +1 -0
- package/dist/warp/open.d.ts +15 -0
- package/dist/warp/open.d.ts.map +1 -0
- package/dist/warp/open.js +67 -0
- package/dist/warp/open.js.map +1 -0
- package/dist/warp/symbol-identity.d.ts +11 -0
- package/dist/warp/symbol-identity.d.ts.map +1 -0
- package/dist/warp/symbol-identity.js +67 -0
- package/dist/warp/symbol-identity.js.map +1 -0
- package/dist/warp/writer-id.d.ts +5 -0
- package/dist/warp/writer-id.d.ts.map +1 -0
- package/dist/warp/writer-id.js +25 -0
- package/dist/warp/writer-id.js.map +1 -0
- package/docs/CLI.md +37 -15
- package/docs/MCP.md +44 -25
- package/docs/{GUIDE.md → SETUP.md} +21 -0
- package/package.json +24 -7
- package/src/adapters/repo-paths.ts +22 -0
- package/src/adapters/rotating-ndjson-log.ts +66 -0
- package/src/api/index.ts +107 -0
- package/src/api/repo-local-graft.ts +21 -0
- package/src/api/repo-workspace.ts +34 -0
- package/src/api/tool-bridge.ts +21 -0
- package/src/cli/activity-render.ts +112 -0
- package/src/cli/cli-error.ts +153 -0
- package/src/cli/command-parser.ts +302 -0
- package/src/cli/entrypoint.ts +18 -0
- package/src/cli/index-cmd.ts +31 -23
- package/src/cli/index-model.ts +76 -0
- package/src/cli/init-bootstrap.ts +47 -0
- package/src/cli/init-client-config.ts +299 -0
- package/src/cli/init-model.ts +229 -0
- package/src/cli/init-render.ts +54 -0
- package/src/cli/init-target-hooks.ts +93 -0
- package/src/cli/init.ts +16 -757
- package/src/cli/json-document.ts +144 -0
- package/src/cli/local-history-dag-model.ts +437 -0
- package/src/cli/local-history-dag-render.ts +133 -0
- package/src/cli/local-history-dag.ts +103 -0
- package/src/cli/main.ts +46 -333
- package/src/cli/migrate-local-history.ts +118 -0
- package/src/cli/peer-command.ts +59 -0
- package/src/contracts/capabilities.ts +218 -109
- package/src/contracts/causal-ontology.ts +5 -0
- package/src/contracts/json-object.ts +28 -0
- package/src/contracts/mcp-runtime.ts +16 -0
- package/src/contracts/output-schema-cli.ts +70 -0
- package/src/contracts/output-schema-fragments.ts +831 -0
- package/src/contracts/output-schema-mcp.ts +282 -0
- package/src/contracts/output-schema-meta.ts +119 -0
- package/src/contracts/output-schemas.ts +62 -1
- package/src/index.ts +1 -0
- package/src/mcp/cache.ts +7 -145
- package/src/mcp/cached-file.ts +1 -40
- package/src/mcp/context.ts +83 -13
- package/src/mcp/control-plane/authz-storage.ts +129 -0
- package/src/mcp/control-plane/session-registry.ts +115 -0
- package/src/mcp/control-plane/status-projection.ts +76 -0
- package/src/mcp/control-plane/types.ts +144 -0
- package/src/mcp/daemon-bootstrap.ts +100 -0
- package/src/mcp/daemon-control-plane.ts +93 -337
- package/src/mcp/daemon-repos.ts +27 -144
- package/src/mcp/daemon-server.ts +31 -262
- package/src/mcp/daemon-session-host.ts +230 -0
- package/src/mcp/daemon-stdio-bridge.ts +260 -0
- package/src/mcp/daemon-worker-child-pool.ts +213 -0
- package/src/mcp/daemon-worker-inline-pool.ts +46 -0
- package/src/mcp/daemon-worker-pool.ts +7 -310
- package/src/mcp/daemon-worker-types.ts +66 -0
- package/src/mcp/metrics.ts +68 -52
- package/src/mcp/monitor-health.ts +83 -0
- package/src/mcp/monitor-persistence.ts +54 -0
- package/src/mcp/monitor-tick-job.ts +3 -0
- package/src/mcp/monitor-types.ts +103 -0
- package/src/mcp/persisted-local-history-graph.ts +591 -0
- package/src/mcp/persisted-local-history-policy.ts +501 -0
- package/src/mcp/persisted-local-history-views.ts +250 -0
- package/src/mcp/persisted-local-history.ts +1137 -762
- package/src/mcp/persistent-monitor-runtime.ts +71 -175
- package/src/mcp/policy.ts +11 -20
- package/src/mcp/receipt.ts +67 -19
- package/src/mcp/repo-concurrency.ts +81 -7
- package/src/mcp/repo-overview/filter.ts +44 -0
- package/src/mcp/repo-overview/types.ts +63 -0
- package/src/mcp/repo-overview/view-projection.ts +90 -0
- package/src/mcp/repo-state-git.ts +247 -0
- package/src/mcp/repo-state-observation.ts +203 -0
- package/src/mcp/repo-state-transition.ts +151 -0
- package/src/mcp/repo-state-types.ts +107 -0
- package/src/mcp/repo-state.ts +90 -721
- package/src/mcp/repo-tool-job.ts +16 -216
- package/src/mcp/repo-tool-worker-context.ts +212 -0
- package/src/mcp/repo-workspace.ts +21 -0
- package/src/mcp/runtime-observability.ts +41 -43
- package/src/mcp/secret-scrub.ts +89 -0
- package/src/mcp/server-context.ts +223 -0
- package/src/mcp/server-invocation.ts +388 -0
- package/src/mcp/server-tool-access.ts +145 -0
- package/src/mcp/server.ts +46 -606
- package/src/mcp/stdio-server.ts +16 -2
- package/src/mcp/tool-registry.ts +80 -0
- package/src/mcp/tools/activity-view.ts +3 -3
- package/src/mcp/tools/budget.ts +10 -7
- package/src/mcp/tools/causal-attach.ts +3 -3
- package/src/mcp/tools/causal-status.ts +3 -3
- package/src/mcp/tools/changed-since.ts +4 -3
- package/src/mcp/tools/code-find.ts +7 -2
- package/src/mcp/tools/code-refs.ts +7 -3
- package/src/mcp/tools/code-show.ts +12 -2
- package/src/mcp/tools/daemon-monitors.ts +3 -3
- package/src/mcp/tools/daemon-repos.ts +3 -3
- package/src/mcp/tools/daemon-sessions.ts +3 -3
- package/src/mcp/tools/daemon-status.ts +3 -3
- package/src/mcp/tools/diagnostic-models.ts +95 -0
- package/src/mcp/tools/doctor.ts +10 -7
- package/src/mcp/tools/explain.ts +3 -3
- package/src/mcp/tools/file-outline.ts +10 -4
- package/src/mcp/tools/graft-diff.ts +6 -3
- package/src/mcp/tools/map-collector.ts +338 -0
- package/src/mcp/tools/map.ts +52 -3
- package/src/mcp/tools/monitor-pause.ts +3 -3
- package/src/mcp/tools/monitor-resume.ts +3 -3
- package/src/mcp/tools/monitor-start.ts +3 -3
- package/src/mcp/tools/monitor-stop.ts +3 -3
- package/src/mcp/tools/precision-live.ts +158 -0
- package/src/mcp/tools/precision-match.ts +3 -0
- package/src/mcp/tools/precision-paths.ts +59 -0
- package/src/mcp/tools/precision-show.ts +86 -0
- package/src/mcp/tools/precision-visibility.ts +44 -0
- package/src/mcp/tools/precision-warp.ts +90 -0
- package/src/mcp/tools/precision.ts +19 -310
- package/src/mcp/tools/read-range.ts +12 -5
- package/src/mcp/tools/run-capture.ts +2 -2
- package/src/mcp/tools/safe-read.ts +21 -10
- package/src/mcp/tools/since.ts +7 -3
- package/src/mcp/tools/state.ts +8 -7
- package/src/mcp/tools/stats.ts +3 -3
- package/src/mcp/tools/workspace-authorizations.ts +3 -3
- package/src/mcp/tools/workspace-authorize.ts +3 -3
- package/src/mcp/tools/workspace-bind.ts +3 -3
- package/src/mcp/tools/workspace-rebind.ts +3 -3
- package/src/mcp/tools/workspace-revoke.ts +3 -3
- package/src/mcp/tools/workspace-status.ts +3 -3
- package/src/mcp/warp-pool.ts +6 -6
- package/src/mcp/workspace-read-observation-model.ts +48 -0
- package/src/mcp/workspace-read-observation.ts +103 -0
- package/src/mcp/workspace-router-capability.ts +32 -0
- package/src/mcp/workspace-router-history.ts +233 -0
- package/src/mcp/workspace-router-model.ts +131 -0
- package/src/mcp/workspace-router-resolution.ts +71 -0
- package/src/mcp/workspace-router-runtime.ts +243 -0
- package/src/mcp/workspace-router.ts +151 -454
- package/src/metrics/logger.ts +22 -51
- package/src/metrics/types.ts +32 -4
- package/src/operations/cached-file.ts +40 -0
- package/src/operations/diff-identity.ts +127 -0
- package/src/operations/file-outline.ts +1 -1
- package/src/operations/graft-diff.ts +0 -1
- package/src/operations/observation-cache.ts +149 -0
- package/src/operations/read-range.ts +0 -1
- package/src/operations/repo-workspace.ts +339 -0
- package/src/operations/result-dto.ts +23 -0
- package/src/operations/safe-read.ts +3 -4
- package/src/operations/state.ts +42 -6
- package/src/operations/structured-buffer-compare.ts +429 -0
- package/src/operations/structured-buffer-model.ts +456 -0
- package/src/operations/structured-buffer-query.ts +794 -0
- package/src/operations/structured-buffer.ts +181 -0
- package/src/parser/diff.ts +172 -1
- package/src/parser/lang.ts +58 -15
- package/src/parser/markdown.ts +197 -0
- package/src/parser/outline.ts +8 -208
- package/src/parser/runtime.ts +71 -0
- package/src/policy/evaluate.ts +2 -2
- package/src/policy/types.ts +9 -9
- package/src/ports/guards.ts +68 -0
- package/src/ports/warp.ts +55 -0
- package/src/session/tracker.ts +7 -7
- package/src/session/types.ts +4 -1
- package/src/warp/identity-resolver.ts +35 -0
- package/src/warp/indexer-git.ts +182 -0
- package/src/warp/indexer-graph.ts +276 -0
- package/src/warp/indexer-model.ts +69 -0
- package/src/warp/indexer.ts +122 -449
- package/src/warp/observers.ts +7 -12
- package/src/warp/open.ts +66 -4
- package/src/warp/symbol-identity.ts +100 -0
|
@@ -40,10 +40,13 @@ and not causal collapse.
|
|
|
40
40
|
|
|
41
41
|
## Related docs
|
|
42
42
|
|
|
43
|
-
- [README](
|
|
44
|
-
- [
|
|
45
|
-
- [
|
|
46
|
-
- [
|
|
47
|
-
- [
|
|
48
|
-
- [
|
|
49
|
-
- [
|
|
43
|
+
- [README](./README.md)
|
|
44
|
+
- [Guide](./GUIDE.md)
|
|
45
|
+
- [Setup Guide](./docs/SETUP.md)
|
|
46
|
+
- [CLI Guide](./docs/CLI.md)
|
|
47
|
+
- [MCP Guide](./docs/MCP.md)
|
|
48
|
+
- [Architecture](./ARCHITECTURE.md)
|
|
49
|
+
- [Security Model](./docs/strategy/security-model.md)
|
|
50
|
+
- [Causal Provenance](./docs/strategy/causal-provenance.md)
|
|
51
|
+
- [Bearing](./docs/BEARING.md)
|
|
52
|
+
- [Vision](./docs/VISION.md)
|
package/ARCHITECTURE.md
CHANGED
|
@@ -1,386 +1,139 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
This document is the contributor-facing system map for Graft. It sits
|
|
4
|
-
between the operator docs in `README.md` / `docs/GUIDE.md` and the
|
|
5
|
-
directional docs in `docs/BEARING.md` / `docs/VISION.md`.
|
|
6
|
-
|
|
7
|
-
If you need the shortest possible summary:
|
|
8
|
-
|
|
9
|
-
- **CLI** is the human/debug surface.
|
|
10
|
-
- **MCP** is the primary agent surface.
|
|
11
|
-
- **Hooks** are a Claude-side safety net for native `Read`.
|
|
12
|
-
- **Policy** decides what kind of read is allowed.
|
|
13
|
-
- **Repo state** gives layered worldline context about the current
|
|
14
|
-
checkout and working tree.
|
|
15
|
-
- **WARP** stores and serves structural history over Git.
|
|
16
|
-
|
|
17
|
-
## Product surfaces
|
|
18
|
-
|
|
19
|
-
### CLI
|
|
20
|
-
|
|
21
|
-
Runtime entry:
|
|
22
|
-
- [graft.js](/Users/james/git/graft/bin/graft.js)
|
|
23
|
-
- [main.ts](/Users/james/git/graft/src/cli/main.ts)
|
|
24
|
-
|
|
25
|
-
Purpose:
|
|
26
|
-
- human-facing debugging
|
|
27
|
-
- local testing of MCP peer commands
|
|
28
|
-
- bootstrap and admin commands such as `init` and `index`
|
|
29
|
-
|
|
30
|
-
Current shape:
|
|
31
|
-
- `graft` with no args prints help for humans
|
|
32
|
-
- `graft serve` starts the stdio MCP server explicitly
|
|
33
|
-
- grouped namespaces mirror the core MCP surface:
|
|
34
|
-
- `read`
|
|
35
|
-
- `struct`
|
|
36
|
-
- `symbol`
|
|
37
|
-
- `diag`
|
|
38
|
-
|
|
39
|
-
The CLI is intentionally not the primary product contract. It exists so
|
|
40
|
-
operators and contributors can inspect the same bounded surfaces without
|
|
41
|
-
having to attach a separate MCP client.
|
|
42
|
-
|
|
43
|
-
### MCP
|
|
44
|
-
|
|
45
|
-
Runtime entry:
|
|
46
|
-
- [server.ts](/Users/james/git/graft/src/mcp/server.ts)
|
|
47
|
-
- [stdio.ts](/Users/james/git/graft/src/mcp/stdio.ts)
|
|
48
|
-
- [stdio-server.ts](/Users/james/git/graft/src/mcp/stdio-server.ts)
|
|
49
|
-
|
|
50
|
-
Purpose:
|
|
51
|
-
- primary agent surface
|
|
52
|
-
- structured tool responses with receipts and versioned `_schema`
|
|
53
|
-
metadata
|
|
54
|
-
- policy-aware bounded read access
|
|
55
|
-
|
|
56
|
-
Current shape:
|
|
57
|
-
- `graft serve` runs one repo-rooted stdio server per process
|
|
58
|
-
- `graft daemon` runs one local daemon host per process and many daemon
|
|
59
|
-
sessions beneath it
|
|
60
|
-
- daemon mode now includes a central authorization and inspection
|
|
61
|
-
control plane for workspaces and sessions
|
|
62
|
-
- daemon mode now also includes one repo-scoped persistent monitor
|
|
63
|
-
runtime per canonical repo, currently used for background incremental
|
|
64
|
-
WARP indexing
|
|
65
|
-
- each server or daemon session owns one `SessionTracker`,
|
|
66
|
-
`ObservationCache`, `Metrics`, and `RepoStateTracker` slice
|
|
67
|
-
- lazy WARP initialization still happens only when a WARP-backed tool
|
|
68
|
-
needs it
|
|
69
|
-
|
|
70
|
-
This is now enough to make the local daemon and first monitor contract
|
|
71
|
-
real without pretending the broader system-wide story is finished.
|
|
72
|
-
|
|
73
|
-
### Hooks
|
|
74
|
-
|
|
75
|
-
Runtime entry:
|
|
76
|
-
- [pretooluse-read.ts](/Users/james/git/graft/src/hooks/pretooluse-read.ts)
|
|
77
|
-
- [posttooluse-read.ts](/Users/james/git/graft/src/hooks/posttooluse-read.ts)
|
|
78
|
-
- [shared.ts](/Users/james/git/graft/src/hooks/shared.ts)
|
|
79
|
-
|
|
80
|
-
Purpose:
|
|
81
|
-
- govern Claude Code native `Read` calls when the agent bypasses graft's
|
|
82
|
-
MCP tools
|
|
83
|
-
- block obviously banned reads before they happen
|
|
84
|
-
- show what `safe_read` would have returned after a native read
|
|
85
|
-
|
|
86
|
-
Hooks are not the full product surface. They are a safety rail around a
|
|
87
|
-
host tool that Graft does not control directly.
|
|
88
|
-
|
|
89
|
-
## Request flow
|
|
90
|
-
|
|
91
|
-
The normal happy path for an MCP tool looks like this:
|
|
92
|
-
|
|
93
|
-
1. A client calls a tool such as `safe_read`.
|
|
94
|
-
2. [server.ts](/Users/james/git/graft/src/mcp/server.ts) validates the
|
|
95
|
-
input with Zod when the tool declares a schema.
|
|
96
|
-
3. The server records session/tool metrics and refreshes repo-state
|
|
97
|
-
observation.
|
|
98
|
-
4. If the tool is marked `policyCheck: true`, middleware performs a
|
|
99
|
-
path-based precheck before the handler runs.
|
|
100
|
-
5. The tool handler executes with a shared
|
|
101
|
-
[ToolContext](/Users/james/git/graft/src/mcp/context.ts).
|
|
102
|
-
6. The handler returns data through `ctx.respond(...)`.
|
|
103
|
-
7. [receipt.ts](/Users/james/git/graft/src/mcp/receipt.ts) attaches
|
|
104
|
-
`_receipt` and versioned `_schema` metadata.
|
|
105
|
-
|
|
106
|
-
That flow is the key architectural rule: handlers should compose shared
|
|
107
|
-
infrastructure rather than doing their own ad hoc parsing, shaping, and
|
|
108
|
-
serialization.
|
|
109
|
-
|
|
110
|
-
## Shared policy seam
|
|
111
|
-
|
|
112
|
-
Core modules:
|
|
113
|
-
- [evaluate.ts](/Users/james/git/graft/src/policy/evaluate.ts)
|
|
114
|
-
- [graftignore.ts](/Users/james/git/graft/src/policy/graftignore.ts)
|
|
115
|
-
- [policy.ts](/Users/james/git/graft/src/mcp/policy.ts)
|
|
116
|
-
|
|
117
|
-
Policy is the heart of Graft. It decides:
|
|
118
|
-
- whether content is allowed at all
|
|
119
|
-
- whether content should be returned as full text, outline, diff, or
|
|
120
|
-
refusal
|
|
121
|
-
- whether session depth or budget should tighten the response
|
|
122
|
-
- whether `.graftignore` suppresses the path entirely
|
|
123
|
-
|
|
124
|
-
Important distinction:
|
|
125
|
-
- `src/policy/*` holds the domain logic
|
|
126
|
-
- `src/mcp/policy.ts` adapts that domain logic to the MCP runtime
|
|
127
|
-
contract
|
|
128
|
-
|
|
129
|
-
The repo’s current doctrine is that bounded-read surfaces should share
|
|
130
|
-
one policy contract across:
|
|
131
|
-
- MCP tools
|
|
132
|
-
- CLI peers
|
|
133
|
-
- hooks
|
|
134
|
-
- working-tree and git-backed structural reads
|
|
135
|
-
|
|
136
|
-
One explicit exception remains:
|
|
137
|
-
- `run_capture` is a shell escape hatch outside the bounded-read policy
|
|
138
|
-
contract, and it declares that explicitly through `policyBoundary`
|
|
139
|
-
|
|
140
|
-
## Layered worldline model
|
|
141
|
-
|
|
142
|
-
Core module:
|
|
143
|
-
- [repo-state.ts](/Users/james/git/graft/src/mcp/repo-state.ts)
|
|
144
|
-
|
|
145
|
-
Graft no longer treats “current repo state” as a single flat idea. The
|
|
146
|
-
MCP surface now distinguishes three layers:
|
|
147
|
-
|
|
148
|
-
- `commit_worldline`
|
|
149
|
-
- durable history grounded in commits
|
|
150
|
-
- `ref_view`
|
|
151
|
-
- branch/ref comparisons over that durable history
|
|
152
|
-
- `workspace_overlay`
|
|
153
|
-
- the current dirty working tree and checkout state
|
|
154
|
-
|
|
155
|
-
`RepoStateTracker` infers lightweight semantic transitions such as:
|
|
156
|
-
- `checkout`
|
|
157
|
-
- `reset`
|
|
158
|
-
- `merge`
|
|
159
|
-
- `rebase`
|
|
160
|
-
|
|
161
|
-
The current implementation is tool-call-driven, not watcher-driven. In
|
|
162
|
-
other words, repo-state is refreshed between requests, not from a
|
|
163
|
-
continuous filesystem daemon yet.
|
|
164
|
-
|
|
165
|
-
This is also where the current architecture still shows strain:
|
|
166
|
-
- raw git process access
|
|
167
|
-
- status/reflog parsing
|
|
168
|
-
- transition inference
|
|
169
|
-
- observation shaping
|
|
170
|
-
|
|
171
|
-
all still live in one module. That is why `repo-state` remains a known
|
|
172
|
-
cleanup hotspot in backlog.
|
|
173
|
-
|
|
174
|
-
## WARP: write path vs read path
|
|
175
|
-
|
|
176
|
-
### Write path
|
|
177
|
-
|
|
178
|
-
Core modules:
|
|
179
|
-
- [indexer.ts](/Users/james/git/graft/src/warp/indexer.ts)
|
|
180
|
-
- [open.ts](/Users/james/git/graft/src/warp/open.ts)
|
|
181
|
-
|
|
182
|
-
The write side turns Git history into structural graph facts.
|
|
183
|
-
|
|
184
|
-
High-level flow:
|
|
185
|
-
1. open a WARP graph backed by Git plumbing
|
|
186
|
-
2. enumerate commits to index
|
|
187
|
-
3. compute changed files for each commit
|
|
188
|
-
4. extract structural outlines and diffs
|
|
189
|
-
5. write structural patch facts into the graph
|
|
190
|
-
|
|
191
|
-
This is the “materialize history into structure” side of Graft.
|
|
192
|
-
|
|
193
|
-
### Read path
|
|
194
|
-
|
|
195
|
-
Core modules:
|
|
196
|
-
- [observers.ts](/Users/james/git/graft/src/warp/observers.ts)
|
|
197
|
-
- [precision.ts](/Users/james/git/graft/src/mcp/tools/precision.ts)
|
|
198
|
-
- [graft-diff.ts](/Users/james/git/graft/src/mcp/tools/graft-diff.ts)
|
|
199
|
-
- [since.ts](/Users/james/git/graft/src/mcp/tools/since.ts)
|
|
200
|
-
- [map.ts](/Users/james/git/graft/src/mcp/tools/map.ts)
|
|
201
|
-
|
|
202
|
-
The read side does not traverse graph internals by hand. Instead it
|
|
203
|
-
uses the Observer Law:
|
|
204
|
-
|
|
205
|
-
- write facts into WARP
|
|
206
|
-
- read projections through observers/lenses
|
|
207
|
-
- keep graph traversal knowledge localized
|
|
1
|
+
# ARCHITECTURE
|
|
208
2
|
|
|
209
|
-
|
|
210
|
-
is small but important. It is the canonical read vocabulary for the
|
|
211
|
-
graph.
|
|
212
|
-
|
|
213
|
-
## Parser and operations layer
|
|
214
|
-
|
|
215
|
-
Core modules:
|
|
216
|
-
- [lang.ts](/Users/james/git/graft/src/parser/lang.ts)
|
|
217
|
-
- [outline.ts](/Users/james/git/graft/src/parser/outline.ts)
|
|
218
|
-
- [diff.ts](/Users/james/git/graft/src/parser/diff.ts)
|
|
219
|
-
- [safe-read.ts](/Users/james/git/graft/src/operations/safe-read.ts)
|
|
220
|
-
- [file-outline.ts](/Users/james/git/graft/src/operations/file-outline.ts)
|
|
221
|
-
- [read-range.ts](/Users/james/git/graft/src/operations/read-range.ts)
|
|
222
|
-
- [graft-diff.ts](/Users/james/git/graft/src/operations/graft-diff.ts)
|
|
223
|
-
|
|
224
|
-
This layer is where Graft turns files into structural meaning.
|
|
225
|
-
|
|
226
|
-
Responsibilities:
|
|
227
|
-
- detect supported languages
|
|
228
|
-
- extract outlines and jump tables
|
|
229
|
-
- compute structural diffs
|
|
230
|
-
- implement bounded read behavior independently of transport
|
|
231
|
-
|
|
232
|
-
This separation matters because it lets MCP, CLI, and tests share the
|
|
233
|
-
same behavior without duplicating core logic.
|
|
234
|
-
|
|
235
|
-
## Ports and adapters
|
|
236
|
-
|
|
237
|
-
Ports:
|
|
238
|
-
- [filesystem.ts](/Users/james/git/graft/src/ports/filesystem.ts)
|
|
239
|
-
- [codec.ts](/Users/james/git/graft/src/ports/codec.ts)
|
|
240
|
-
|
|
241
|
-
Adapters:
|
|
242
|
-
- [node-fs.ts](/Users/james/git/graft/src/adapters/node-fs.ts)
|
|
243
|
-
- [canonical-json.ts](/Users/james/git/graft/src/adapters/canonical-json.ts)
|
|
3
|
+
Graft is an industrial-grade context governor converging on a strict Hexagonal (Ports and Adapters) architecture.
|
|
244
4
|
|
|
245
|
-
|
|
246
|
-
pattern in important places:
|
|
247
|
-
- core logic avoids reaching straight into `node:fs` when a stable port
|
|
248
|
-
exists
|
|
249
|
-
- JSON shaping/serialization is pushed through a codec boundary
|
|
250
|
-
- shared runtime dependencies are injected through `ToolContext`
|
|
5
|
+
Repo truth today is narrower than a finished strict-hex claim:
|
|
251
6
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
7
|
+
- explicit ports and adapters exist
|
|
8
|
+
- foundational dependency guardrails are mechanically enforced
|
|
9
|
+
- primary adapters and composition roots are still mid-migration
|
|
10
|
+
- WARP is still becoming a first-class port boundary rather than an ambient capability
|
|
255
11
|
|
|
256
|
-
##
|
|
12
|
+
## Official Entry Points
|
|
257
13
|
|
|
258
|
-
|
|
259
|
-
- [tracker.ts](/Users/james/git/graft/src/session/tracker.ts)
|
|
260
|
-
- [cache.ts](/Users/james/git/graft/src/mcp/cache.ts)
|
|
261
|
-
- [cached-file.ts](/Users/james/git/graft/src/mcp/cached-file.ts)
|
|
262
|
-
- [receipt.ts](/Users/james/git/graft/src/mcp/receipt.ts)
|
|
263
|
-
- [metrics.ts](/Users/james/git/graft/src/mcp/metrics.ts)
|
|
14
|
+
Graft now has three official product entry points:
|
|
264
15
|
|
|
265
|
-
|
|
266
|
-
|
|
16
|
+
1. **API** — the direct package/library surface exported from the root
|
|
17
|
+
package entry point
|
|
18
|
+
2. **CLI** — the operator and debugging surface
|
|
19
|
+
3. **MCP** — the agent transport surface
|
|
267
20
|
|
|
268
|
-
|
|
269
|
-
- session-depth awareness
|
|
270
|
-
- budget tracking
|
|
271
|
-
- tripwires
|
|
272
|
-
- re-read suppression
|
|
273
|
-
- structural diffs for changed files
|
|
274
|
-
- cumulative metrics
|
|
275
|
-
- response receipts and schema metadata
|
|
21
|
+
Repo truth today:
|
|
276
22
|
|
|
277
|
-
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
The repo has a clear shape, but a few real tensions remain:
|
|
285
|
-
|
|
286
|
-
1. **Repo-scoped stdio server vs shared daemon future**
|
|
287
|
-
- current MCP shape assumes one rooted context per process
|
|
288
|
-
- future system-wide use needs explicit repo/worktree/session binding
|
|
289
|
-
|
|
290
|
-
2. **Daemon/system-wide seams are still broader than they should be**
|
|
291
|
-
- filesystem, codec, git, and process ports now exist
|
|
292
|
-
- daemon hosting, control-plane projection, and monitor orchestration
|
|
293
|
-
still want narrower seams before more system-wide behavior lands
|
|
294
|
-
|
|
295
|
-
3. **Docs and direction are strong, contributor map was missing**
|
|
296
|
-
- this file exists to close exactly that gap
|
|
297
|
-
|
|
298
|
-
## Daemon evolution path
|
|
299
|
-
|
|
300
|
-
Current repo-local path:
|
|
301
|
-
|
|
302
|
-
- `graft serve` starts one repo-rooted stdio server
|
|
303
|
-
- `startStdioServer(cwd)` passes that cwd into `createGraftServer()`
|
|
304
|
-
- one process holds one rooted `SessionTracker`, `ObservationCache`,
|
|
305
|
-
`Metrics`, and `RepoStateTracker`
|
|
306
|
-
|
|
307
|
-
Current local shared-daemon path:
|
|
308
|
-
|
|
309
|
-
- `graft daemon` owns local-only transport and session lifecycle
|
|
310
|
-
- daemon sessions start unbound
|
|
311
|
-
- a daemon-only workspace bind step resolves repo/worktree identity
|
|
312
|
-
server-side before repo-scoped tools run
|
|
313
|
-
- MCP traffic lives at `/mcp`, and liveness lives at `/healthz`
|
|
314
|
-
- each daemon transport session owns its own daemon-mode MCP server
|
|
315
|
-
- state splits cleanly across:
|
|
316
|
-
- canonical repo identity and default WARP ownership (`git common
|
|
317
|
-
dir`)
|
|
318
|
-
- live worktree identity (resolved worktree root)
|
|
319
|
-
- session-local cache, budget, receipts, and saved state
|
|
320
|
-
- one repo-scoped WARP instance per canonical repo remains the default
|
|
321
|
-
assumption even if several daemon sessions or worktrees bind into that
|
|
322
|
-
repo
|
|
323
|
-
|
|
324
|
-
This split is the bridge from repo-local stdio to a same-user local
|
|
325
|
-
daemon without pretending control-plane and multi-repo concerns are
|
|
326
|
-
already solved.
|
|
327
|
-
|
|
328
|
-
## Multi-repo coordination contract
|
|
329
|
-
|
|
330
|
-
The current daemon can now be described lawfully in system-wide terms:
|
|
331
|
-
|
|
332
|
-
- canonical repo identity is keyed by `git common dir`
|
|
333
|
-
- live worktree identity is keyed by resolved worktree root
|
|
334
|
-
- daemon session identity remains transport-scoped and session-local
|
|
335
|
-
|
|
336
|
-
The architectural rule is:
|
|
337
|
-
|
|
338
|
-
- repo-scoped truth may be coordinated system-wide
|
|
339
|
-
- worktree-scoped truth may be projected beneath a repo
|
|
340
|
-
- session-scoped truth must not silently become daemon-global state
|
|
341
|
-
|
|
342
|
-
The current multi-repo overview surface now shows:
|
|
343
|
-
|
|
344
|
-
- one bounded row per authorized canonical repo through `daemon_repos`
|
|
345
|
-
- compact worktree, session-count, monitor, backlog, and last-activity
|
|
346
|
-
summaries
|
|
347
|
-
- filtered drill-down derived from the authorization registry and
|
|
348
|
-
daemon-owned runtime state
|
|
349
|
-
|
|
350
|
-
Follow-on system-wide work may still add:
|
|
351
|
-
|
|
352
|
-
- daemon-wide fairness and resource-pressure summaries
|
|
353
|
-
- broader aggregate counts across many repos and worker kinds
|
|
354
|
-
|
|
355
|
-
What it must not show by default:
|
|
356
|
-
|
|
357
|
-
- raw receipt bodies
|
|
358
|
-
- cache content
|
|
359
|
-
- saved state content
|
|
360
|
-
- runtime-log payloads
|
|
361
|
-
- shell-output artifacts
|
|
362
|
-
|
|
363
|
-
This keeps multi-repo coordination observational and authorization-
|
|
364
|
-
filtered instead of turning it into an accidental side channel or a
|
|
365
|
-
permission grant.
|
|
366
|
-
|
|
367
|
-
## Where to read next
|
|
368
|
-
|
|
369
|
-
If you are onboarding as a contributor:
|
|
370
|
-
|
|
371
|
-
1. Read [README.md](/Users/james/git/graft/README.md) for the product
|
|
372
|
-
claim.
|
|
373
|
-
2. Read [docs/GUIDE.md](/Users/james/git/graft/docs/GUIDE.md) for the
|
|
374
|
-
operator setup surface.
|
|
375
|
-
3. Read [docs/BEARING.md](/Users/james/git/graft/docs/BEARING.md) for
|
|
376
|
-
current direction and readiness bars.
|
|
377
|
-
4. Read [METHOD.md](/Users/james/git/graft/METHOD.md) for local process.
|
|
378
|
-
5. Then open:
|
|
379
|
-
- [server.ts](/Users/james/git/graft/src/mcp/server.ts)
|
|
380
|
-
- [repo-state.ts](/Users/james/git/graft/src/mcp/repo-state.ts)
|
|
381
|
-
- [evaluate.ts](/Users/james/git/graft/src/policy/evaluate.ts)
|
|
382
|
-
- [indexer.ts](/Users/james/git/graft/src/warp/indexer.ts)
|
|
383
|
-
- [observers.ts](/Users/james/git/graft/src/warp/observers.ts)
|
|
23
|
+
- API is first-class, not a side door
|
|
24
|
+
- CLI and MCP remain primary adapters
|
|
25
|
+
- not every capability is symmetric across all three entry points yet
|
|
26
|
+
- every capability should explicitly declare which entry points it is
|
|
27
|
+
available on and, for API, whether the exposure is a direct typed
|
|
28
|
+
surface or an MCP-style tool bridge
|
|
384
29
|
|
|
385
|
-
|
|
386
|
-
|
|
30
|
+
The convergence target is:
|
|
31
|
+
|
|
32
|
+
- one application core
|
|
33
|
+
- three thin primary adapters
|
|
34
|
+
- explicit surface metadata and invariants
|
|
35
|
+
- capability parity where parity is intended, with narrow documented
|
|
36
|
+
exceptions where it is not
|
|
37
|
+
|
|
38
|
+
## Repo Topology
|
|
39
|
+
|
|
40
|
+
The source tree should make the three entry points visible:
|
|
41
|
+
|
|
42
|
+
- `src/api/` is the API primary adapter home
|
|
43
|
+
- `src/cli/` is the CLI primary adapter home
|
|
44
|
+
- `src/mcp/` is the MCP primary adapter home
|
|
45
|
+
|
|
46
|
+
The package export root is:
|
|
47
|
+
|
|
48
|
+
- `src/index.ts`
|
|
49
|
+
|
|
50
|
+
That root file is intentionally thinner than the adapter homes. It is
|
|
51
|
+
the public package entrypoint, not the place where API behavior should
|
|
52
|
+
accumulate.
|
|
53
|
+
|
|
54
|
+
Supporting roles stay explicit too:
|
|
55
|
+
|
|
56
|
+
- `src/hooks/` is an adjunct entrypoint for local automation and
|
|
57
|
+
governance, not one of the three official product surfaces
|
|
58
|
+
- `src/operations/`, `src/policy/`, `src/session/`, `src/git/`,
|
|
59
|
+
`src/metrics/`, and `src/release/` are the current application/core
|
|
60
|
+
areas
|
|
61
|
+
- `src/contracts/`, `src/ports/`, `src/guards/`, and `src/format/`
|
|
62
|
+
carry foundational contracts and helpers
|
|
63
|
+
- `src/adapters/`, `src/parser/`, and `src/warp/` remain secondary
|
|
64
|
+
adapters or infrastructure bindings
|
|
65
|
+
|
|
66
|
+
See [docs/repo-topology.md](./docs/repo-topology.md) for the repo-local
|
|
67
|
+
topology contract.
|
|
68
|
+
|
|
69
|
+
## Core Boundary
|
|
70
|
+
|
|
71
|
+
The Graft core is TypeScript. Platform-specific concerns are intended to enter through explicit secondary ports:
|
|
72
|
+
|
|
73
|
+
| Port | Responsibility | Official Adapter |
|
|
74
|
+
| :--- | :--- | :--- |
|
|
75
|
+
| **`FileSystem`** | Path resolution, file reads, directory creation | `nodeFs` |
|
|
76
|
+
| **`JsonCodec`** | Canonical JSON shaping and serialization | `CanonicalJsonCodec` |
|
|
77
|
+
| **`GitClient`** | Git history enumeration and status observation | `nodeGit` |
|
|
78
|
+
| **`ProcessRunner`** | Shell execution and diagnostic capture | `nodeProcessRunner` |
|
|
79
|
+
|
|
80
|
+
Primary adapters should sit above that core boundary:
|
|
81
|
+
|
|
82
|
+
| Primary Adapter | Responsibility |
|
|
83
|
+
| :--- | :--- |
|
|
84
|
+
| **API** | Direct typed package surface for in-process integrations |
|
|
85
|
+
| **CLI** | Human/operator command surface and scripting |
|
|
86
|
+
| **MCP** | Agent-facing transport surface with receipts and schemas |
|
|
87
|
+
|
|
88
|
+
The architecture rule is that none of these primary adapters own
|
|
89
|
+
business flow. They validate input, call application services, and
|
|
90
|
+
shape edge-specific output.
|
|
91
|
+
|
|
92
|
+
## Pipeline: From File to Governance
|
|
93
|
+
|
|
94
|
+
```mermaid
|
|
95
|
+
flowchart TD
|
|
96
|
+
subgraph Core["Graft Core (Policy)"]
|
|
97
|
+
P1[Read Governance]
|
|
98
|
+
P2[Budget / Session Caps]
|
|
99
|
+
end
|
|
100
|
+
subgraph Parser["Parser (Meaning)"]
|
|
101
|
+
PA1[Tree-Sitter WASM]
|
|
102
|
+
PA2[Structural Outlines / Diffs]
|
|
103
|
+
end
|
|
104
|
+
subgraph Host["Host (Execution)"]
|
|
105
|
+
H1[Daemon Authority]
|
|
106
|
+
H2[Worker Execution]
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
PA2 --> P1
|
|
110
|
+
P1 --> P2
|
|
111
|
+
P2 --> H1
|
|
112
|
+
H1 --> H2
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Layered Worldline Model
|
|
116
|
+
|
|
117
|
+
Graft models repository state through three distinct layers:
|
|
118
|
+
|
|
119
|
+
1. **`commit_worldline`**: Durable structural history grounded in Git commits.
|
|
120
|
+
2. **`ref_view`**: Branch and reference comparisons over durable history.
|
|
121
|
+
3. **`workspace_overlay`**: The current dirty working tree and reactive edit signals.
|
|
122
|
+
|
|
123
|
+
## WARP: Structural Worldline Memory
|
|
124
|
+
|
|
125
|
+
### Write Path (Indexer)
|
|
126
|
+
The write path turns Git history into structural worldline facts by extracting AST outlines and writing them into the WARP graph.
|
|
127
|
+
|
|
128
|
+
### Read Path (Observers)
|
|
129
|
+
The read path uses the **Observer Law**: projections are read through lenses (e.g., `graft_diff`, `code_show`) rather than traversing graph internals directly.
|
|
130
|
+
|
|
131
|
+
## Execution Authority: The Daemon
|
|
132
|
+
|
|
133
|
+
The Daemon is the system-wide authority for multi-repo coordination. It manages:
|
|
134
|
+
- **Authorization**: Workspace and session binding.
|
|
135
|
+
- **Scheduling**: Job queueing and fairness.
|
|
136
|
+
- **Resources**: Shared worker pools for heavy indexing and parsing tasks.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
**The goal is to move the repository from a collection of bytes to a provenance-aware professional bedrock.**
|
package/CHANGELOG.md
CHANGED
|
@@ -7,24 +7,112 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.6.1] - 2026-04-19
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **CI test fixes**: release gate test excludes build artifact `dist/`
|
|
15
|
+
from existence check. Package docs test updated for moved doc paths.
|
|
16
|
+
|
|
17
|
+
## [0.6.0] - 2026-04-18
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- **Runtime port guards**: `assertFileSystem()`, `assertJsonCodec()`,
|
|
22
|
+
and `assertToolContext()` validate adapter contracts at construction
|
|
23
|
+
time. Plumbing conformance test catches drift against
|
|
24
|
+
`@git-stunts/plumbing`.
|
|
25
|
+
- **Secret scrubbing**: shared `scrubSecrets()` and
|
|
26
|
+
`sanitizeArgValues()` redact sensitive keys, truncate oversized
|
|
27
|
+
values, and scrub secret patterns across both `run_capture` output
|
|
28
|
+
and observability arg logging.
|
|
29
|
+
- **Path escape invariants**: dedicated test suite for traversal
|
|
30
|
+
attacks, symlink escapes, and root-confinement.
|
|
31
|
+
- **Worktree identity canonicalization**: `fs.realpathSync` resolves
|
|
32
|
+
path aliases (`/tmp` vs `/private/tmp`) before deriving workspace
|
|
33
|
+
IDs.
|
|
34
|
+
- **Tool-call provenance footprints**: `ToolCallFootprint` records
|
|
35
|
+
paths, symbols, and line regions per tool invocation. Read-family
|
|
36
|
+
and search tools instrumented.
|
|
37
|
+
- **Canonical symbol identity projection**: `graft_diff` and
|
|
38
|
+
`graft_since` enrich diff entries with `identityId` from WARP
|
|
39
|
+
`sid:*` anchors when indexed. Graceful degradation when unavailable.
|
|
40
|
+
- **Dynamic project root**: `GRAFT_PROJECT_ROOT` env var overrides
|
|
41
|
+
the default `process.cwd()` binding. Git root auto-detection
|
|
42
|
+
fallback.
|
|
43
|
+
- **Implicit daemon binding**: daemon-mode sessions auto-bind when
|
|
44
|
+
a repo-scoped tool is called with path evidence, removing the
|
|
45
|
+
mandatory `workspace_bind` step.
|
|
46
|
+
- **Attribution fallback hardening**: transport session, environment
|
|
47
|
+
inference (CI/CD, editor detection), and session continuity
|
|
48
|
+
strategies reduce `actor:unknown` to the exception path.
|
|
49
|
+
- **Anti-sludge policy**: semgrep rules and shell checks for
|
|
50
|
+
boundary discipline, banned patterns, and core-layer hygiene.
|
|
51
|
+
- **`toJsonObject()` DTO bridge**: universal serialization boundary
|
|
52
|
+
between typed operation results and `ctx.respond()`.
|
|
53
|
+
|
|
10
54
|
### Changed
|
|
11
55
|
|
|
56
|
+
- **Explicit execution context**: `ToolHandler` now receives `ctx`
|
|
57
|
+
as an explicit parameter `(args, ctx)` instead of closing over it
|
|
58
|
+
via `createHandler(ctx)`. `AsyncLocalStorage` removed from
|
|
59
|
+
execution context threading.
|
|
60
|
+
- **Session concept disambiguation**: `SessionTracker` renamed to
|
|
61
|
+
`GovernorTracker`, `RegisteredSession` to `RegisteredTransport`,
|
|
62
|
+
`WorkspaceSessionMode` to `WorkspaceMode`. Wire format preserved.
|
|
63
|
+
- **MCP composition decomposition**: `server.ts` split into barrel +
|
|
64
|
+
`server-context.ts` + `server-invocation.ts`. `repo-state.ts` into
|
|
65
|
+
4 sub-modules. `daemon-control-plane.ts` into `control-plane/`.
|
|
66
|
+
`daemon-repos.ts` into `repo-overview/`. `daemon-worker-pool.ts`
|
|
67
|
+
into 3 sub-modules. `persistent-monitor-runtime.ts` into 3
|
|
68
|
+
sub-modules. `workspace-router.ts` gains capability and history
|
|
69
|
+
sub-modules.
|
|
70
|
+
- **Parser decomposition**: markdown extraction split into
|
|
71
|
+
`src/parser/markdown.ts`. Parser reclassified as application module
|
|
72
|
+
(Layer 3) with enforced hex layer guardrails.
|
|
73
|
+
- **Result type hardening**: `MetricsSnapshot`, `MetricsDelta`,
|
|
74
|
+
`DecisionEntry`, `StateSaveResult`, `StateLoadResult` promoted to
|
|
75
|
+
runtime classes. `[key: string]: unknown` index signatures removed
|
|
76
|
+
from all operation results. Receipt builder uses mutable draft
|
|
77
|
+
instead of `as` casts.
|
|
12
78
|
- **`code_find` approximate discovery**: plain-text queries now use
|
|
13
79
|
case-insensitive exact/prefix/substring matching with deterministic
|
|
14
|
-
ranking.
|
|
15
|
-
glob behavior.
|
|
80
|
+
ranking.
|
|
16
81
|
- **Claude hook governed reads**: `PreToolUse` now redirects large
|
|
17
|
-
JS/TS native `Read` calls to graft's bounded-read path
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
82
|
+
JS/TS native `Read` calls to graft's bounded-read path.
|
|
83
|
+
- **Codex bootstrap posture**: `graft init --write-codex-mcp` now
|
|
84
|
+
seeds `AGENTS.md` alongside `.codex/config.toml`.
|
|
85
|
+
- **MCP runtime observability**: sessions emit metadata-only events
|
|
86
|
+
to `.graft/logs/mcp-runtime.ndjson`, receipts carry `traceId` and
|
|
87
|
+
`latencyMs`.
|
|
88
|
+
- **Map tool collector extraction**: `map.ts` reduced from 328 to
|
|
89
|
+
52 lines; collection logic in `map-collector.ts`.
|
|
90
|
+
- **Typed diagnostic responses**: `DoctorResponse`, `StatsResponse`,
|
|
91
|
+
`ExplainResponse`, `SetBudgetResponse`, `RunCaptureResponse`.
|
|
92
|
+
|
|
93
|
+
### Fixed
|
|
94
|
+
|
|
95
|
+
- **Worktree identity drift on macOS**: `/tmp` and `/private/tmp`
|
|
96
|
+
aliases no longer produce different workspace IDs.
|
|
97
|
+
- **`GRAFT_PROJECT_ROOT` env var**: MCP servers no longer hardcoded
|
|
98
|
+
to their own repo path.
|
|
99
|
+
- **Path resolver security**: absolute paths now confined to project
|
|
100
|
+
root. Symlink escapes detected via `fs.realpathSync` double-check.
|
|
101
|
+
- **WARP symbol disambiguation**: `symNodeId` uses qualified names
|
|
102
|
+
(`Header.render` vs `Footer.render`) — same-named methods across
|
|
103
|
+
classes no longer collide.
|
|
104
|
+
- **WARP indexer error propagation**: `IndexResult` is a discriminated
|
|
105
|
+
union. Git failures propagate instead of producing silently empty
|
|
106
|
+
graphs.
|
|
107
|
+
- **Daemon session cleanup**: session directories removed on close
|
|
108
|
+
instead of leaking forever.
|
|
109
|
+
- **Rotating log preservation**: oversized entries preserved instead
|
|
110
|
+
of erasing the entire log during rotation.
|
|
111
|
+
- **`graft_map` output caps**: `MAX_MAP_FILES=100`, `MAX_MAP_BYTES=50000`
|
|
112
|
+
with automatic summary-only fallback. Budget-exhausted sessions get
|
|
113
|
+
compact `BUDGET_EXHAUSTED` response.
|
|
114
|
+
- **hono vulnerability**: override to >=4.12.14 patches HTML
|
|
115
|
+
injection in `hono/jsx` SSR (Dependabot alert #10).
|
|
28
116
|
|
|
29
117
|
## [0.5.0] - 2026-04-11
|
|
30
118
|
|