@flyingrobots/graft 0.4.0 → 0.6.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/ARCHITECTURE.md +139 -0
- package/CHANGELOG.md +128 -0
- package/CODE_OF_CONDUCT.md +65 -0
- package/README.md +117 -143
- package/bin/graft.js +6 -14
- 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 +65 -0
- package/docs/MCP.md +63 -0
- package/package.json +31 -4
- package/src/adapters/node-fs.ts +4 -0
- package/src/adapters/node-git.ts +47 -0
- package/src/adapters/node-process-runner.ts +27 -0
- 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 +83 -11
- 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 +82 -72
- 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 +150 -0
- package/src/cli/migrate-local-history.ts +118 -0
- package/src/cli/peer-command.ts +59 -0
- package/src/contracts/capabilities.ts +450 -0
- package/src/contracts/causal-ontology.ts +627 -0
- package/src/contracts/causal-surface-next-action.ts +18 -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 +1230 -0
- package/src/git/diff.ts +25 -21
- package/src/git/target-git-hook-bootstrap.ts +56 -0
- package/src/hooks/posttooluse-read.ts +21 -74
- package/src/hooks/pretooluse-read.ts +20 -56
- package/src/hooks/read-governor.ts +95 -0
- package/src/hooks/read-messages.ts +53 -0
- package/src/index.ts +1 -0
- package/src/mcp/burden.ts +123 -0
- package/src/mcp/cache.ts +7 -94
- package/src/mcp/cached-file.ts +1 -38
- package/src/mcp/context.ts +147 -14
- 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 +310 -0
- package/src/mcp/daemon-job-scheduler.ts +279 -0
- package/src/mcp/daemon-repos.ts +99 -0
- package/src/mcp/daemon-server.ts +165 -0
- 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 -0
- package/src/mcp/daemon-worker-process.ts +52 -0
- package/src/mcp/daemon-worker-types.ts +66 -0
- package/src/mcp/metrics.ts +127 -4
- package/src/mcp/monitor-health.ts +83 -0
- package/src/mcp/monitor-persistence.ts +54 -0
- package/src/mcp/monitor-tick-job.ts +102 -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 +1621 -0
- package/src/mcp/persistent-monitor-runtime.ts +445 -0
- package/src/mcp/policy.ts +75 -0
- package/src/mcp/receipt.ts +136 -18
- package/src/mcp/repo-concurrency.ts +392 -0
- 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 +146 -0
- package/src/mcp/repo-tool-job.ts +102 -0
- package/src/mcp/repo-tool-worker-context.ts +212 -0
- package/src/mcp/repo-workspace.ts +21 -0
- package/src/mcp/run-capture-config.ts +33 -0
- package/src/mcp/runtime-causal-context.ts +72 -0
- package/src/mcp/runtime-observability.ts +217 -0
- package/src/mcp/runtime-staged-target.ts +161 -0
- package/src/mcp/runtime-workspace-overlay.ts +255 -0
- package/src/mcp/secret-scrub.ts +89 -0
- package/src/mcp/semantic-transition-guidance.ts +60 -0
- package/src/mcp/semantic-transition-summary.ts +130 -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 +207 -126
- package/src/mcp/stdio-server.ts +26 -0
- package/src/mcp/stdio.ts +2 -5
- package/src/mcp/tool-registry.ts +80 -0
- package/src/mcp/tools/activity-view.ts +325 -0
- package/src/mcp/tools/budget.ts +10 -7
- package/src/mcp/tools/causal-attach.ts +67 -0
- package/src/mcp/tools/causal-status.ts +58 -0
- package/src/mcp/tools/changed-since.ts +16 -13
- package/src/mcp/tools/code-find.ts +169 -0
- package/src/mcp/tools/code-refs.ts +470 -0
- package/src/mcp/tools/code-show.ts +262 -0
- package/src/mcp/tools/daemon-monitors.ts +14 -0
- package/src/mcp/tools/daemon-repos.ts +22 -0
- package/src/mcp/tools/daemon-sessions.ts +14 -0
- package/src/mcp/tools/daemon-status.ts +12 -0
- package/src/mcp/tools/diagnostic-models.ts +95 -0
- package/src/mcp/tools/doctor.ts +54 -8
- package/src/mcp/tools/explain.ts +7 -3
- package/src/mcp/tools/file-outline.ts +17 -7
- package/src/mcp/tools/git-files.ts +73 -0
- package/src/mcp/tools/graft-diff.ts +17 -6
- package/src/mcp/tools/map-collector.ts +338 -0
- package/src/mcp/tools/map.ts +142 -39
- package/src/mcp/tools/monitor-pause.ts +18 -0
- package/src/mcp/tools/monitor-resume.ts +18 -0
- package/src/mcp/tools/monitor-start.ts +20 -0
- package/src/mcp/tools/monitor-stop.ts +18 -0
- package/src/mcp/tools/precision-live.ts +158 -0
- package/src/mcp/tools/precision-match.ts +54 -0
- package/src/mcp/tools/precision-paths.ts +59 -0
- package/src/mcp/tools/precision-query.ts +127 -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 +21 -0
- package/src/mcp/tools/read-range.ts +12 -5
- package/src/mcp/tools/run-capture.ts +128 -46
- package/src/mcp/tools/safe-read.ts +33 -20
- package/src/mcp/tools/since.ts +13 -4
- package/src/mcp/tools/state.ts +19 -10
- package/src/mcp/tools/stats.ts +8 -4
- package/src/mcp/tools/workspace-authorizations.ts +14 -0
- package/src/mcp/tools/workspace-authorize.ts +20 -0
- package/src/mcp/tools/workspace-bind.ts +25 -0
- package/src/mcp/tools/workspace-rebind.ts +25 -0
- package/src/mcp/tools/workspace-revoke.ts +18 -0
- package/src/mcp/tools/workspace-status.ts +12 -0
- package/src/mcp/warp-pool.ts +36 -0
- 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 +681 -0
- 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 +13 -3
- package/src/operations/graft-diff.ts +56 -11
- 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 +30 -8
- package/src/operations/state.ts +48 -15
- 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 +66 -7
- package/src/parser/markdown.ts +197 -0
- package/src/parser/outline.ts +27 -38
- package/src/parser/runtime.ts +71 -0
- package/src/parser/types.ts +9 -1
- package/src/policy/evaluate.ts +2 -2
- package/src/policy/types.ts +12 -11
- package/src/ports/filesystem.ts +1 -0
- package/src/ports/git.ts +16 -0
- package/src/ports/guards.ts +68 -0
- package/src/ports/process-runner.ts +22 -0
- package/src/ports/warp.ts +55 -0
- package/src/release/security-gate.ts +102 -0
- package/src/session/tracker.ts +34 -3
- package/src/session/types.ts +4 -1
- package/src/version.ts +3 -0
- 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 +141 -353
- package/src/warp/observers.ts +7 -12
- package/src/warp/open.ts +70 -7
- package/src/warp/plumbing.d.ts +5 -1
- package/src/warp/symbol-identity.ts +100 -0
- package/src/warp/writer-id.ts +30 -0
- package/docs/GUIDE.md +0 -388
package/src/warp/open.ts
CHANGED
|
@@ -2,29 +2,92 @@
|
|
|
2
2
|
* WARP graph initialization — opens the graft-ast graph backed by
|
|
3
3
|
* the repo's own .git directory.
|
|
4
4
|
*
|
|
5
|
-
* Single entry point. Returns a
|
|
5
|
+
* Single entry point. Returns a WARP port handle ready for patch
|
|
6
6
|
* writes and observer reads.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import RawWarpApp, { GitGraphAdapter } from "@git-stunts/git-warp";
|
|
10
10
|
import GitPlumbing from "@git-stunts/plumbing";
|
|
11
|
+
import type {
|
|
12
|
+
WarpHandle,
|
|
13
|
+
WarpMaterializeReceipt,
|
|
14
|
+
WarpObserver,
|
|
15
|
+
WarpObserverLens,
|
|
16
|
+
WarpObserverOptions,
|
|
17
|
+
WarpPatchBuilder,
|
|
18
|
+
} from "../ports/warp.js";
|
|
19
|
+
import { DEFAULT_WARP_WRITER_ID } from "./writer-id.js";
|
|
11
20
|
|
|
12
|
-
const GRAPH_NAME = "graft-ast";
|
|
13
|
-
const WRITER_ID = "graft";
|
|
21
|
+
export const GRAPH_NAME = "graft-ast";
|
|
14
22
|
|
|
15
23
|
export interface OpenWarpOptions {
|
|
16
24
|
readonly cwd: string;
|
|
25
|
+
readonly writerId?: string;
|
|
17
26
|
}
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
function toRawLens(lens: WarpObserverLens): {
|
|
29
|
+
match: string | string[];
|
|
30
|
+
expose?: string[];
|
|
31
|
+
redact?: string[];
|
|
32
|
+
} {
|
|
33
|
+
return {
|
|
34
|
+
match: typeof lens.match === "string" ? lens.match : [...lens.match],
|
|
35
|
+
...(lens.expose !== undefined ? { expose: [...lens.expose] } : {}),
|
|
36
|
+
...(lens.redact !== undefined ? { redact: [...lens.redact] } : {}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function toRawObserverOptions(options: WarpObserverOptions | undefined): {
|
|
41
|
+
source?: { kind: "live"; ceiling: number | null };
|
|
42
|
+
} | undefined {
|
|
43
|
+
if (options === undefined) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
if (options.source === undefined) {
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
source: {
|
|
51
|
+
kind: options.source.kind,
|
|
52
|
+
ceiling: options.source.ceiling,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function wrapWarpApp(app: RawWarpApp): WarpHandle {
|
|
58
|
+
return {
|
|
59
|
+
async hasNode(nodeId: string): Promise<boolean> {
|
|
60
|
+
const observer = await app.observer({ match: nodeId });
|
|
61
|
+
const nodes = await observer.getNodes();
|
|
62
|
+
return nodes.includes(nodeId);
|
|
63
|
+
},
|
|
64
|
+
observer(lens, options): Promise<WarpObserver> {
|
|
65
|
+
return app.observer(toRawLens(lens), toRawObserverOptions(options)) as Promise<WarpObserver>;
|
|
66
|
+
},
|
|
67
|
+
patch(build): Promise<string> {
|
|
68
|
+
return app.patch((patch) => build(patch as unknown as WarpPatchBuilder));
|
|
69
|
+
},
|
|
70
|
+
async materialize(): Promise<void> {
|
|
71
|
+
await app.core().materialize();
|
|
72
|
+
},
|
|
73
|
+
async materializeReceipts(): Promise<readonly WarpMaterializeReceipt[]> {
|
|
74
|
+
const { receipts } = await app.core().materialize({ receipts: true });
|
|
75
|
+
return receipts as readonly WarpMaterializeReceipt[];
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export async function openWarp(options: OpenWarpOptions): Promise<WarpHandle> {
|
|
20
81
|
// createDefault() wires the ShellRunnerFactory (required port)
|
|
21
82
|
const plumbing = GitPlumbing.createDefault({ cwd: options.cwd });
|
|
22
83
|
const persistence = new GitGraphAdapter({ plumbing });
|
|
23
84
|
|
|
24
|
-
|
|
85
|
+
const app = await RawWarpApp.open({
|
|
25
86
|
persistence,
|
|
26
87
|
graphName: GRAPH_NAME,
|
|
27
|
-
writerId:
|
|
88
|
+
writerId: options.writerId ?? DEFAULT_WARP_WRITER_ID,
|
|
28
89
|
onDeleteWithData: "cascade",
|
|
29
90
|
});
|
|
91
|
+
|
|
92
|
+
return wrapWarpApp(app);
|
|
30
93
|
}
|
package/src/warp/plumbing.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ declare module "@git-stunts/plumbing" {
|
|
|
6
6
|
constructor(options: { runner: unknown; cwd?: string });
|
|
7
7
|
static createDefault(options?: { cwd?: string; env?: string }): GitPlumbing;
|
|
8
8
|
execute(options: { args: string[]; input?: string | Uint8Array }): Promise<string>;
|
|
9
|
-
executeStream(options: { args: string[] }): Promise<
|
|
9
|
+
executeStream(options: { args: string[] }): Promise<{
|
|
10
|
+
finished: Promise<{ code: number; stderr: string; error?: Error }>;
|
|
11
|
+
collect(opts?: { maxBytes?: number; asString?: boolean; encoding?: string }): Promise<Uint8Array | string>;
|
|
12
|
+
[Symbol.asyncIterator](): AsyncIterator<Uint8Array>;
|
|
13
|
+
}>;
|
|
10
14
|
}
|
|
11
15
|
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import { diffOutlines } from "../parser/diff.js";
|
|
3
|
+
import type { OutlineEntry } from "../parser/types.js";
|
|
4
|
+
|
|
5
|
+
export type SymbolIdentityMap = ReadonlyMap<string, string>;
|
|
6
|
+
|
|
7
|
+
export function buildSymbolPath(parentPath: string, name: string): string {
|
|
8
|
+
return parentPath.length > 0 ? `${parentPath}.${name}` : name;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function mintCanonicalSymbolIdentity(
|
|
12
|
+
commitSha: string,
|
|
13
|
+
filePath: string,
|
|
14
|
+
symbolPath: string,
|
|
15
|
+
entry: OutlineEntry,
|
|
16
|
+
): string {
|
|
17
|
+
const seed = [
|
|
18
|
+
commitSha,
|
|
19
|
+
filePath,
|
|
20
|
+
symbolPath,
|
|
21
|
+
entry.kind,
|
|
22
|
+
entry.signature ?? "",
|
|
23
|
+
String(entry.exported),
|
|
24
|
+
].join("\n");
|
|
25
|
+
return `sid:${crypto.createHash("sha256").update(seed).digest("hex").slice(0, 16)}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function assignCanonicalSymbolIdentities(input: {
|
|
29
|
+
oldEntries: readonly OutlineEntry[];
|
|
30
|
+
newEntries: readonly OutlineEntry[];
|
|
31
|
+
oldIdentityByPath: SymbolIdentityMap;
|
|
32
|
+
commitSha: string;
|
|
33
|
+
filePath: string;
|
|
34
|
+
}): Map<string, string> {
|
|
35
|
+
const assigned = new Map<string, string>();
|
|
36
|
+
|
|
37
|
+
assignLevel({
|
|
38
|
+
oldEntries: input.oldEntries,
|
|
39
|
+
newEntries: input.newEntries,
|
|
40
|
+
oldIdentityByPath: input.oldIdentityByPath,
|
|
41
|
+
commitSha: input.commitSha,
|
|
42
|
+
filePath: input.filePath,
|
|
43
|
+
oldParentPath: "",
|
|
44
|
+
newParentPath: "",
|
|
45
|
+
assigned,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return assigned;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function assignLevel(input: {
|
|
52
|
+
oldEntries: readonly OutlineEntry[];
|
|
53
|
+
newEntries: readonly OutlineEntry[];
|
|
54
|
+
oldIdentityByPath: SymbolIdentityMap;
|
|
55
|
+
commitSha: string;
|
|
56
|
+
filePath: string;
|
|
57
|
+
oldParentPath: string;
|
|
58
|
+
newParentPath: string;
|
|
59
|
+
assigned: Map<string, string>;
|
|
60
|
+
}): void {
|
|
61
|
+
const oldByName = new Map<string, OutlineEntry>();
|
|
62
|
+
for (const entry of input.oldEntries) {
|
|
63
|
+
oldByName.set(entry.name, entry);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const continuityByNewName = new Map<string, string>();
|
|
67
|
+
const diff = diffOutlines(input.oldEntries, input.newEntries);
|
|
68
|
+
for (const continuity of diff.continuity) {
|
|
69
|
+
continuityByNewName.set(continuity.newName, continuity.oldName);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
for (const newEntry of input.newEntries) {
|
|
73
|
+
const newSymbolPath = buildSymbolPath(input.newParentPath, newEntry.name);
|
|
74
|
+
const oldName = oldByName.has(newEntry.name)
|
|
75
|
+
? newEntry.name
|
|
76
|
+
: continuityByNewName.get(newEntry.name);
|
|
77
|
+
const oldEntry = oldName !== undefined ? oldByName.get(oldName) : undefined;
|
|
78
|
+
const oldSymbolPath = oldName !== undefined
|
|
79
|
+
? buildSymbolPath(input.oldParentPath, oldName)
|
|
80
|
+
: null;
|
|
81
|
+
|
|
82
|
+
const identityId = oldSymbolPath !== null
|
|
83
|
+
? input.oldIdentityByPath.get(oldSymbolPath) ??
|
|
84
|
+
mintCanonicalSymbolIdentity(input.commitSha, input.filePath, newSymbolPath, newEntry)
|
|
85
|
+
: mintCanonicalSymbolIdentity(input.commitSha, input.filePath, newSymbolPath, newEntry);
|
|
86
|
+
|
|
87
|
+
input.assigned.set(newSymbolPath, identityId);
|
|
88
|
+
|
|
89
|
+
assignLevel({
|
|
90
|
+
oldEntries: oldEntry?.children ?? [],
|
|
91
|
+
newEntries: newEntry.children ?? [],
|
|
92
|
+
oldIdentityByPath: input.oldIdentityByPath,
|
|
93
|
+
commitSha: input.commitSha,
|
|
94
|
+
filePath: input.filePath,
|
|
95
|
+
oldParentPath: oldSymbolPath ?? "",
|
|
96
|
+
newParentPath: newSymbolPath,
|
|
97
|
+
assigned: input.assigned,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as crypto from "node:crypto";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_WARP_WRITER_ID = "graft";
|
|
4
|
+
|
|
5
|
+
function sanitizeSegment(input: string): string {
|
|
6
|
+
const normalized = input
|
|
7
|
+
.trim()
|
|
8
|
+
.toLowerCase()
|
|
9
|
+
.replace(/[^a-z0-9_-]+/g, "_")
|
|
10
|
+
.replace(/^_+|_+$/g, "");
|
|
11
|
+
return normalized.length > 0 ? normalized : "lane";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function buildWarpWriterId(kind: string, scope?: string): string {
|
|
15
|
+
const lane = sanitizeSegment(kind);
|
|
16
|
+
if (scope === undefined || scope.trim().length === 0) {
|
|
17
|
+
return `graft_${lane}`;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const digest = crypto.createHash("sha256").update(scope).digest("hex").slice(0, 12);
|
|
21
|
+
return `graft_${lane}_${digest}`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function buildSessionWarpWriterId(sessionId: string): string {
|
|
25
|
+
return buildWarpWriterId("session", sessionId);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function buildMonitorWarpWriterId(repoId: string): string {
|
|
29
|
+
return buildWarpWriterId("monitor", repoId);
|
|
30
|
+
}
|
package/docs/GUIDE.md
DELETED
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
# Graft Setup Guide
|
|
2
|
-
|
|
3
|
-
## Install
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm install -g @flyingrobots/graft
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Or run without installing:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx @flyingrobots/graft
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Quick setup
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
npx @flyingrobots/graft init
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Scaffolds your project for graft in one command:
|
|
22
|
-
- Creates `.graftignore` (template with examples)
|
|
23
|
-
- Adds `.graft/` to `.gitignore`
|
|
24
|
-
- Generates a `CLAUDE.md` snippet instructing agents to prefer graft tools
|
|
25
|
-
- Prints Claude Code hook config for manual setup
|
|
26
|
-
|
|
27
|
-
Idempotent — safe to run again without duplicating entries.
|
|
28
|
-
|
|
29
|
-
## MCP Configuration
|
|
30
|
-
|
|
31
|
-
Graft runs as an MCP server over stdio. Add it to your editor or
|
|
32
|
-
agent's MCP configuration.
|
|
33
|
-
|
|
34
|
-
### Claude Code
|
|
35
|
-
|
|
36
|
-
Add to `.mcp.json` in your project root (per-project) or
|
|
37
|
-
`~/.claude.json` (global):
|
|
38
|
-
|
|
39
|
-
```json
|
|
40
|
-
{
|
|
41
|
-
"mcpServers": {
|
|
42
|
-
"graft": {
|
|
43
|
-
"command": "npx",
|
|
44
|
-
"args": ["-y", "@flyingrobots/graft"]
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Cursor
|
|
51
|
-
|
|
52
|
-
Add to Cursor's MCP settings (Settings → MCP Servers → Add):
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"mcpServers": {
|
|
57
|
-
"graft": {
|
|
58
|
-
"command": "npx",
|
|
59
|
-
"args": ["-y", "@flyingrobots/graft"]
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Windsurf
|
|
66
|
-
|
|
67
|
-
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
68
|
-
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"mcpServers": {
|
|
72
|
-
"graft": {
|
|
73
|
-
"command": "npx",
|
|
74
|
-
"args": ["-y", "@flyingrobots/graft"]
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### VS Code + Continue
|
|
81
|
-
|
|
82
|
-
Add to `.continue/config.json`:
|
|
83
|
-
|
|
84
|
-
```json
|
|
85
|
-
{
|
|
86
|
-
"mcpServers": [
|
|
87
|
-
{
|
|
88
|
-
"name": "graft",
|
|
89
|
-
"command": "npx",
|
|
90
|
-
"args": ["-y", "@flyingrobots/graft"]
|
|
91
|
-
}
|
|
92
|
-
]
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Cline
|
|
97
|
-
|
|
98
|
-
Add via Cline's MCP settings UI, or in
|
|
99
|
-
`.vscode/cline_mcp_settings.json`:
|
|
100
|
-
|
|
101
|
-
```json
|
|
102
|
-
{
|
|
103
|
-
"mcpServers": {
|
|
104
|
-
"graft": {
|
|
105
|
-
"command": "npx",
|
|
106
|
-
"args": ["-y", "@flyingrobots/graft"]
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Any MCP-compatible client
|
|
113
|
-
|
|
114
|
-
The pattern is the same everywhere:
|
|
115
|
-
|
|
116
|
-
- **Command**: `npx`
|
|
117
|
-
- **Args**: `["-y", "@flyingrobots/graft"]`
|
|
118
|
-
- **Transport**: stdio (the default for most clients)
|
|
119
|
-
|
|
120
|
-
If your client doesn't support `npx`, install globally and use:
|
|
121
|
-
|
|
122
|
-
- **Command**: `graft`
|
|
123
|
-
- **Args**: (none)
|
|
124
|
-
|
|
125
|
-
## Claude Code Hooks
|
|
126
|
-
|
|
127
|
-
Two hooks work together to govern agent reads:
|
|
128
|
-
|
|
129
|
-
- **PreToolUse** — blocks banned files before the read happens
|
|
130
|
-
- **PostToolUse** — educates the agent on context cost after large
|
|
131
|
-
file reads complete
|
|
132
|
-
|
|
133
|
-
### Setup
|
|
134
|
-
|
|
135
|
-
Add to `.claude/settings.json` in your project root:
|
|
136
|
-
|
|
137
|
-
```json
|
|
138
|
-
{
|
|
139
|
-
"hooks": {
|
|
140
|
-
"PreToolUse": [
|
|
141
|
-
{
|
|
142
|
-
"matcher": "Read",
|
|
143
|
-
"hooks": [
|
|
144
|
-
{
|
|
145
|
-
"type": "command",
|
|
146
|
-
"command": "node --import tsx node_modules/@flyingrobots/graft/src/hooks/pretooluse-read.ts"
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
}
|
|
150
|
-
],
|
|
151
|
-
"PostToolUse": [
|
|
152
|
-
{
|
|
153
|
-
"matcher": "Read",
|
|
154
|
-
"hooks": [
|
|
155
|
-
{
|
|
156
|
-
"type": "command",
|
|
157
|
-
"command": "node --import tsx node_modules/@flyingrobots/graft/src/hooks/posttooluse-read.ts"
|
|
158
|
-
}
|
|
159
|
-
]
|
|
160
|
-
}
|
|
161
|
-
]
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
If developing graft itself, replace the `node_modules/...` paths
|
|
167
|
-
with local paths:
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
src/hooks/pretooluse-read.ts (PreToolUse)
|
|
171
|
-
src/hooks/posttooluse-read.ts (PostToolUse)
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### PreToolUse — ban enforcement
|
|
175
|
-
|
|
176
|
-
When the agent calls `Read(file_path)`, the PreToolUse hook:
|
|
177
|
-
|
|
178
|
-
1. Evaluates the file against graft's policy
|
|
179
|
-
2. **Banned files** (binaries, lockfiles, secrets, `.graftignore`
|
|
180
|
-
matches): exits 2 (block) with refusal reason and next steps
|
|
181
|
-
3. **Everything else**: exits 0 — lets native Read proceed
|
|
182
|
-
|
|
183
|
-
The PreToolUse hook does NOT block large files. It only enforces
|
|
184
|
-
hard bans. Large file governance is handled by the PostToolUse hook.
|
|
185
|
-
|
|
186
|
-
### PostToolUse — context cost education
|
|
187
|
-
|
|
188
|
-
After a Read completes, the PostToolUse hook evaluates what
|
|
189
|
-
`safe_read` would have done and tells the agent the cost:
|
|
190
|
-
|
|
191
|
-
```
|
|
192
|
-
[graft] You just read 450 lines (18KB) into context.
|
|
193
|
-
safe_read would have returned a structural outline (2048 bytes),
|
|
194
|
-
saving 16.0KB of context. Threshold: 150 lines / 12KB.
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
This feedback appears for large JS/TS files where an outline was
|
|
198
|
-
available. Small files, non-JS/TS files, and nonexistent files
|
|
199
|
-
produce no feedback. The hook always exits 0 — it never blocks.
|
|
200
|
-
|
|
201
|
-
### Limitations
|
|
202
|
-
|
|
203
|
-
Both hooks run as standalone processes — they do not share state
|
|
204
|
-
with the MCP server. This means:
|
|
205
|
-
|
|
206
|
-
- No session-depth dynamic caps (early/mid/late)
|
|
207
|
-
- No re-read suppression or cache hits
|
|
208
|
-
- No structural diffs on changed files
|
|
209
|
-
- No metrics tracking or receipts
|
|
210
|
-
|
|
211
|
-
For the full experience, agents should use graft's MCP tools
|
|
212
|
-
(`safe_read`, `file_outline`, `read_range`) directly. The hooks
|
|
213
|
-
are a safety net; the MCP server is the full governor.
|
|
214
|
-
|
|
215
|
-
### Disabling
|
|
216
|
-
|
|
217
|
-
To disable hooks locally without removing the project config,
|
|
218
|
-
add to `.claude/settings.local.json`:
|
|
219
|
-
|
|
220
|
-
```json
|
|
221
|
-
{
|
|
222
|
-
"hooks": {}
|
|
223
|
-
}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## Tool Reference
|
|
227
|
-
|
|
228
|
-
| Tool | Description |
|
|
229
|
-
|------|-------------|
|
|
230
|
-
| `safe_read` | Policy-enforced file read. Returns full content for small files, structural outline with jump table for large files, or refusal with reason code for banned files. Detects re-reads and returns cached outlines or structural diffs. |
|
|
231
|
-
| `file_outline` | Structural skeleton of a file — function signatures, class shapes, exports. Includes a jump table mapping each symbol to its line range for targeted `read_range` follow-ups. |
|
|
232
|
-
| `read_range` | Read a bounded range of lines from a file. Maximum 250 lines. Use jump table entries from `file_outline` or `safe_read` to target specific symbols. |
|
|
233
|
-
| `changed_since` | Check if a file changed since it was last read. Returns structural diff (added/removed/changed symbols) or "unchanged". Peek mode by default; pass `consume: true` to update the observation cache. |
|
|
234
|
-
| `graft_diff` | Structural diff between two git refs. Shows added, removed, and changed symbols per file — not line hunks. Defaults to working tree vs HEAD. |
|
|
235
|
-
| `run_capture` | Execute a shell command and return the last N lines of output (default 60). Full output saved to `.graft/logs/capture.log` for follow-up `read_range` calls. |
|
|
236
|
-
| `state_save` | Save session working state (max 8 KB). Use for session bookmarks: current task, files modified, next planned actions. |
|
|
237
|
-
| `state_load` | Load previously saved session state. Returns null if no state has been saved. |
|
|
238
|
-
| `doctor` | Runtime health check. Shows project root, parser status, active thresholds, session depth, and message count. |
|
|
239
|
-
| `set_budget` | Declare a session byte budget. Graft tightens read thresholds as the budget drains — no single read may consume more than 5% of remaining budget. Call once at session start. |
|
|
240
|
-
| `explain` | Explain a graft reason code. Returns human-readable meaning and recommended next action for any code (e.g., `BINARY`, `BUDGET_CAP`). Case-insensitive. |
|
|
241
|
-
| `stats` | Decision metrics for the current session. Total reads, outlines, refusals, cache hits, and bytes avoided. |
|
|
242
|
-
|
|
243
|
-
## What the agent sees
|
|
244
|
-
|
|
245
|
-
Once configured, the agent gains 12 new tools. Here's what
|
|
246
|
-
happens when it uses them:
|
|
247
|
-
|
|
248
|
-
### Reading files
|
|
249
|
-
|
|
250
|
-
The agent calls `safe_read` instead of reading files directly.
|
|
251
|
-
Graft decides what to return:
|
|
252
|
-
|
|
253
|
-
- **Small files** (< 150 lines, < 12 KB): full content, as normal.
|
|
254
|
-
- **Large files**: a structural outline showing function signatures,
|
|
255
|
-
class shapes, and exports — with a jump table mapping each symbol
|
|
256
|
-
to its line range. The agent can then use `read_range` to read
|
|
257
|
-
specific sections.
|
|
258
|
-
- **Banned files** (binaries, lockfiles, `.env`, minified bundles,
|
|
259
|
-
build output): refused with a reason code and suggested
|
|
260
|
-
alternatives.
|
|
261
|
-
- **Re-reads**: if the agent reads the same unchanged file twice,
|
|
262
|
-
graft returns the cached outline instead of the full content.
|
|
263
|
-
If the file changed, it returns a structural diff (added/removed/
|
|
264
|
-
changed symbols).
|
|
265
|
-
|
|
266
|
-
### Structural navigation
|
|
267
|
-
|
|
268
|
-
`file_outline` returns the structural skeleton of any file —
|
|
269
|
-
function signatures, class members, exports — without the bodies.
|
|
270
|
-
Each symbol has a line range so the agent can follow up with
|
|
271
|
-
`read_range` for the specific code it needs.
|
|
272
|
-
|
|
273
|
-
### Git diffs
|
|
274
|
-
|
|
275
|
-
`graft_diff` shows what changed between git refs at the symbol
|
|
276
|
-
level: "function `foo` gained a parameter" instead of line hunks.
|
|
277
|
-
|
|
278
|
-
### Budget governor
|
|
279
|
-
|
|
280
|
-
If the agent calls `set_budget(bytes)` at session start, graft
|
|
281
|
-
tracks cumulative bytes consumed and tightens thresholds as the
|
|
282
|
-
budget drains. No single read may consume more than 5% of remaining
|
|
283
|
-
budget. When the budget is exhausted, all reads return outlines.
|
|
284
|
-
|
|
285
|
-
Budget status appears in every receipt:
|
|
286
|
-
```json
|
|
287
|
-
"budget": { "total": 500000, "consumed": 14345, "remaining": 485655, "fraction": 0.029 }
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
### Session awareness
|
|
291
|
-
|
|
292
|
-
Graft tracks the session and tightens policy as context pressure
|
|
293
|
-
grows:
|
|
294
|
-
|
|
295
|
-
| Session stage | Max read size |
|
|
296
|
-
|---------------|---------------|
|
|
297
|
-
| Early (< 100 messages) | 20 KB |
|
|
298
|
-
| Mid (100–500 messages) | 10 KB |
|
|
299
|
-
| Late (> 500 messages) | 4 KB |
|
|
300
|
-
|
|
301
|
-
Tripwires warn when sessions are going off the rails (> 500
|
|
302
|
-
messages, edit-bash loops, runaway tool calls).
|
|
303
|
-
|
|
304
|
-
### Receipts
|
|
305
|
-
|
|
306
|
-
Every response includes a `_receipt` block with session ID,
|
|
307
|
-
sequence number, projection type, bytes returned, and cumulative
|
|
308
|
-
counters. This is for usage analysis — you can ignore it.
|
|
309
|
-
|
|
310
|
-
## Configuration
|
|
311
|
-
|
|
312
|
-
### .graftignore
|
|
313
|
-
|
|
314
|
-
Create a `.graftignore` file in your project root to ban
|
|
315
|
-
additional file patterns:
|
|
316
|
-
|
|
317
|
-
```text
|
|
318
|
-
# Generated files
|
|
319
|
-
*.generated.ts
|
|
320
|
-
*.snap
|
|
321
|
-
|
|
322
|
-
# Vendor code
|
|
323
|
-
vendor/**
|
|
324
|
-
|
|
325
|
-
# Large data files
|
|
326
|
-
data/**/*.json
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
Patterns follow the same syntax as `.gitignore` (glob matching
|
|
330
|
-
via picomatch).
|
|
331
|
-
|
|
332
|
-
### Policy defaults
|
|
333
|
-
|
|
334
|
-
| Setting | Default | Description |
|
|
335
|
-
|---------|---------|-------------|
|
|
336
|
-
| Line threshold | 150 | Files over this → outline |
|
|
337
|
-
| Byte threshold | 12 KB | Files over this → outline |
|
|
338
|
-
| Max range | 250 lines | read_range cap |
|
|
339
|
-
| State cap | 8 KB | state_save max size |
|
|
340
|
-
| Capture tail | 60 lines | run_capture default |
|
|
341
|
-
|
|
342
|
-
These are not yet configurable at runtime (planned for a future
|
|
343
|
-
release).
|
|
344
|
-
|
|
345
|
-
## Troubleshooting
|
|
346
|
-
|
|
347
|
-
### "Tool not found" or no graft tools visible
|
|
348
|
-
|
|
349
|
-
- Verify graft is installed: `npx @flyingrobots/graft --help`
|
|
350
|
-
(should start the server; Ctrl+C to stop)
|
|
351
|
-
- Check your MCP config syntax — JSON must be valid
|
|
352
|
-
- Restart your editor/agent after adding MCP config
|
|
353
|
-
- Some clients cache tool lists — try reopening the project
|
|
354
|
-
|
|
355
|
-
### Agent keeps getting outlines instead of content
|
|
356
|
-
|
|
357
|
-
Your files are over 150 lines or 12 KB. This is intentional.
|
|
358
|
-
The agent should use the jump table from the outline to
|
|
359
|
-
`read_range` the specific section it needs.
|
|
360
|
-
|
|
361
|
-
### Agent can't read a file (refused)
|
|
362
|
-
|
|
363
|
-
Check the reason code in the response:
|
|
364
|
-
- `BINARY` — binary file, use `ls -lh` or `file` for metadata
|
|
365
|
-
- `LOCKFILE` — read `package.json` instead
|
|
366
|
-
- `SECRET` — `.env` files are banned for safety
|
|
367
|
-
- `BUILD_OUTPUT` — read the source file, not `dist/`
|
|
368
|
-
- `GRAFTIGNORE` — file matches a `.graftignore` pattern
|
|
369
|
-
|
|
370
|
-
### graft is slow on first call
|
|
371
|
-
|
|
372
|
-
Tree-sitter WASM grammars load on first parse (~200ms). Subsequent
|
|
373
|
-
calls are fast.
|
|
374
|
-
|
|
375
|
-
## Verify it works
|
|
376
|
-
|
|
377
|
-
After setup, ask your agent to read a large file in your project.
|
|
378
|
-
Instead of dumping the entire file, it should return an outline
|
|
379
|
-
with a jump table. That's graft working.
|
|
380
|
-
|
|
381
|
-
You can also ask the agent to call `doctor` to verify:
|
|
382
|
-
|
|
383
|
-
```
|
|
384
|
-
Use the doctor tool to check graft's health.
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
This returns the project root, parser status, active thresholds,
|
|
388
|
-
and session depth.
|