@flyingrobots/graft 0.7.0 → 0.7.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/CHANGELOG.md +13 -0
- package/README.md +0 -1
- package/bin/graft.js +26 -26
- package/dist/cli/init-client-config.d.ts.map +1 -1
- package/dist/cli/init-client-config.js +40 -4
- package/dist/cli/init-client-config.js.map +1 -1
- package/dist/cli/init-model.js +2 -2
- package/dist/cli/init-model.js.map +1 -1
- package/dist/cli/json-document.d.ts +1 -0
- package/dist/cli/json-document.d.ts.map +1 -1
- package/dist/cli/json-document.js +3 -0
- package/dist/cli/json-document.js.map +1 -1
- package/dist/hooks/posttooluse-read.js +1 -1
- package/dist/hooks/posttooluse-read.js.map +1 -1
- package/dist/hooks/pretooluse-read.js +1 -1
- package/dist/hooks/pretooluse-read.js.map +1 -1
- package/dist/mcp/daemon-worker-child-pool.d.ts +2 -0
- package/dist/mcp/daemon-worker-child-pool.d.ts.map +1 -1
- package/dist/mcp/daemon-worker-child-pool.js +10 -3
- package/dist/mcp/daemon-worker-child-pool.js.map +1 -1
- package/dist/mcp/daemon-worker-pool.d.ts +1 -1
- package/dist/mcp/daemon-worker-pool.d.ts.map +1 -1
- package/dist/mcp/daemon-worker-pool.js +1 -1
- package/dist/mcp/daemon-worker-pool.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +3 -1
- package/dist/version.js.map +1 -1
- package/docs/SETUP.md +11 -7
- package/package.json +9 -4
- package/src/adapters/canonical-json.ts +0 -56
- package/src/adapters/json-text-decoder.ts +0 -11
- package/src/adapters/node-fs.ts +0 -43
- package/src/adapters/node-git.ts +0 -47
- package/src/adapters/node-paths.ts +0 -35
- package/src/adapters/node-process-runner.ts +0 -27
- package/src/adapters/repo-paths.ts +0 -63
- package/src/adapters/rotating-ndjson-log.ts +0 -66
- package/src/api/index.ts +0 -107
- package/src/api/repo-local-graft.ts +0 -21
- package/src/api/repo-workspace.ts +0 -34
- package/src/api/tool-bridge.ts +0 -22
- package/src/cli/activity-render.ts +0 -112
- package/src/cli/cli-error.ts +0 -192
- package/src/cli/command-parser.ts +0 -484
- package/src/cli/daemon-status-model.ts +0 -238
- package/src/cli/daemon-status-render.ts +0 -102
- package/src/cli/daemon-status.ts +0 -100
- package/src/cli/entrypoint.ts +0 -18
- package/src/cli/git-graft-enhance-model.ts +0 -131
- package/src/cli/git-graft-enhance-render.ts +0 -33
- package/src/cli/git-graft-enhance.ts +0 -54
- package/src/cli/index-cmd.ts +0 -90
- package/src/cli/index-model.ts +0 -75
- package/src/cli/init-bootstrap.ts +0 -47
- package/src/cli/init-client-config.ts +0 -428
- package/src/cli/init-model.ts +0 -284
- package/src/cli/init-render.ts +0 -54
- package/src/cli/init-target-hooks.ts +0 -93
- package/src/cli/init.ts +0 -124
- package/src/cli/json-document.ts +0 -155
- package/src/cli/local-history-dag-model.ts +0 -437
- package/src/cli/local-history-dag-render.ts +0 -133
- package/src/cli/local-history-dag.ts +0 -103
- package/src/cli/main.ts +0 -197
- package/src/cli/migrate-local-history.ts +0 -119
- package/src/cli/peer-command.ts +0 -60
- package/src/contracts/capabilities.ts +0 -540
- package/src/contracts/causal-ontology.ts +0 -627
- package/src/contracts/causal-surface-next-action.ts +0 -18
- package/src/contracts/json-object.ts +0 -18
- package/src/contracts/mcp-runtime.ts +0 -16
- package/src/contracts/output-schema-cli.ts +0 -103
- package/src/contracts/output-schema-fragments.ts +0 -881
- package/src/contracts/output-schema-mcp.ts +0 -501
- package/src/contracts/output-schema-meta.ts +0 -119
- package/src/contracts/output-schemas.ts +0 -1524
- package/src/git/diff.ts +0 -161
- package/src/git/target-git-hook-bootstrap.ts +0 -56
- package/src/guards/stream-boundary.ts +0 -110
- package/src/hooks/posttooluse-read.ts +0 -54
- package/src/hooks/pretooluse-read.ts +0 -52
- package/src/hooks/read-governor.ts +0 -95
- package/src/hooks/read-messages.ts +0 -53
- package/src/hooks/shared.ts +0 -168
- package/src/index.ts +0 -1
- package/src/mcp/burden.ts +0 -132
- package/src/mcp/cache.ts +0 -7
- package/src/mcp/cached-file.ts +0 -1
- package/src/mcp/context.ts +0 -150
- package/src/mcp/control-plane/authz-storage.ts +0 -129
- package/src/mcp/control-plane/session-registry.ts +0 -115
- package/src/mcp/control-plane/status-projection.ts +0 -76
- package/src/mcp/control-plane/types.ts +0 -144
- package/src/mcp/daemon-bootstrap.ts +0 -100
- package/src/mcp/daemon-control-plane.ts +0 -310
- package/src/mcp/daemon-job-scheduler.ts +0 -279
- package/src/mcp/daemon-repos.ts +0 -99
- package/src/mcp/daemon-server.ts +0 -172
- package/src/mcp/daemon-session-host.ts +0 -234
- package/src/mcp/daemon-stdio-bridge.ts +0 -262
- package/src/mcp/daemon-worker-child-pool.ts +0 -213
- package/src/mcp/daemon-worker-inline-pool.ts +0 -46
- package/src/mcp/daemon-worker-pool.ts +0 -7
- package/src/mcp/daemon-worker-process.ts +0 -52
- package/src/mcp/daemon-worker-types.ts +0 -66
- package/src/mcp/metrics.ts +0 -176
- package/src/mcp/monitor-health.ts +0 -83
- package/src/mcp/monitor-persistence.ts +0 -54
- package/src/mcp/monitor-tick-job.ts +0 -153
- package/src/mcp/monitor-types.ts +0 -103
- package/src/mcp/persisted-local-history-graph.ts +0 -592
- package/src/mcp/persisted-local-history-policy.ts +0 -501
- package/src/mcp/persisted-local-history-views.ts +0 -250
- package/src/mcp/persisted-local-history.ts +0 -1621
- package/src/mcp/persistent-monitor-runtime.ts +0 -482
- package/src/mcp/policy.ts +0 -75
- package/src/mcp/receipt.ts +0 -201
- package/src/mcp/repo-concurrency.ts +0 -392
- package/src/mcp/repo-overview/filter.ts +0 -44
- package/src/mcp/repo-overview/types.ts +0 -63
- package/src/mcp/repo-overview/view-projection.ts +0 -90
- package/src/mcp/repo-state-git.ts +0 -247
- package/src/mcp/repo-state-observation.ts +0 -203
- package/src/mcp/repo-state-transition.ts +0 -151
- package/src/mcp/repo-state-types.ts +0 -107
- package/src/mcp/repo-state.ts +0 -146
- package/src/mcp/repo-tool-job.ts +0 -102
- package/src/mcp/repo-tool-worker-context.ts +0 -215
- package/src/mcp/repo-workspace.ts +0 -21
- package/src/mcp/run-capture-config.ts +0 -33
- package/src/mcp/runtime-causal-context.ts +0 -72
- package/src/mcp/runtime-observability.ts +0 -217
- package/src/mcp/runtime-staged-target.ts +0 -161
- package/src/mcp/runtime-workspace-overlay.ts +0 -255
- package/src/mcp/secret-scrub.ts +0 -89
- package/src/mcp/semantic-transition-guidance.ts +0 -60
- package/src/mcp/semantic-transition-summary.ts +0 -130
- package/src/mcp/server-context.ts +0 -236
- package/src/mcp/server-invocation.ts +0 -388
- package/src/mcp/server-tool-access.ts +0 -148
- package/src/mcp/server.ts +0 -270
- package/src/mcp/stdio-server.ts +0 -26
- package/src/mcp/stdio.ts +0 -3
- package/src/mcp/tool-registry.ts +0 -98
- package/src/mcp/tools/activity-view.ts +0 -325
- package/src/mcp/tools/budget.ts +0 -23
- package/src/mcp/tools/causal-attach.ts +0 -67
- package/src/mcp/tools/causal-status.ts +0 -58
- package/src/mcp/tools/changed-since.ts +0 -71
- package/src/mcp/tools/code-find.ts +0 -192
- package/src/mcp/tools/code-refs.ts +0 -470
- package/src/mcp/tools/code-show.ts +0 -289
- package/src/mcp/tools/daemon-monitors.ts +0 -14
- package/src/mcp/tools/daemon-repos.ts +0 -22
- package/src/mcp/tools/daemon-sessions.ts +0 -14
- package/src/mcp/tools/daemon-status.ts +0 -12
- package/src/mcp/tools/diagnostic-models.ts +0 -97
- package/src/mcp/tools/doctor.ts +0 -83
- package/src/mcp/tools/explain.ts +0 -84
- package/src/mcp/tools/export-surface-diff.ts +0 -26
- package/src/mcp/tools/file-outline.ts +0 -67
- package/src/mcp/tools/git-files.ts +0 -73
- package/src/mcp/tools/graft-diff.ts +0 -35
- package/src/mcp/tools/graft-edit.ts +0 -276
- package/src/mcp/tools/knowledge-map.ts +0 -34
- package/src/mcp/tools/map-collector.ts +0 -338
- package/src/mcp/tools/map.ts +0 -185
- package/src/mcp/tools/monitor-nudge.ts +0 -19
- package/src/mcp/tools/monitor-pause.ts +0 -18
- package/src/mcp/tools/monitor-resume.ts +0 -18
- package/src/mcp/tools/monitor-start.ts +0 -20
- package/src/mcp/tools/monitor-stop.ts +0 -18
- package/src/mcp/tools/precision-live.ts +0 -158
- package/src/mcp/tools/precision-match.ts +0 -54
- package/src/mcp/tools/precision-paths.ts +0 -59
- package/src/mcp/tools/precision-query.ts +0 -127
- package/src/mcp/tools/precision-show.ts +0 -86
- package/src/mcp/tools/precision-visibility.ts +0 -44
- package/src/mcp/tools/precision-warp.ts +0 -101
- package/src/mcp/tools/precision.ts +0 -21
- package/src/mcp/tools/read-range.ts +0 -28
- package/src/mcp/tools/refactor-difficulty.ts +0 -42
- package/src/mcp/tools/run-capture.ts +0 -149
- package/src/mcp/tools/safe-read.ts +0 -148
- package/src/mcp/tools/since.ts +0 -53
- package/src/mcp/tools/state.ts +0 -39
- package/src/mcp/tools/stats.ts +0 -24
- package/src/mcp/tools/structural-blame.ts +0 -55
- package/src/mcp/tools/structural-churn.ts +0 -28
- package/src/mcp/tools/structural-log.ts +0 -41
- package/src/mcp/tools/structural-review.ts +0 -63
- package/src/mcp/tools/workspace-authorizations.ts +0 -14
- package/src/mcp/tools/workspace-authorize.ts +0 -20
- package/src/mcp/tools/workspace-bind.ts +0 -25
- package/src/mcp/tools/workspace-rebind.ts +0 -25
- package/src/mcp/tools/workspace-revoke.ts +0 -18
- package/src/mcp/tools/workspace-status.ts +0 -12
- package/src/mcp/warp-pool.ts +0 -36
- package/src/mcp/workspace-read-observation-model.ts +0 -48
- package/src/mcp/workspace-read-observation.ts +0 -103
- package/src/mcp/workspace-router-capability.ts +0 -32
- package/src/mcp/workspace-router-history.ts +0 -233
- package/src/mcp/workspace-router-model.ts +0 -131
- package/src/mcp/workspace-router-resolution.ts +0 -71
- package/src/mcp/workspace-router-runtime.ts +0 -246
- package/src/mcp/workspace-router.ts +0 -688
- package/src/metrics/logger.ts +0 -40
- package/src/metrics/types.ts +0 -40
- package/src/operations/adaptive-projection.ts +0 -54
- package/src/operations/agent-handoff.ts +0 -59
- package/src/operations/cached-file.ts +0 -40
- package/src/operations/capture-range.ts +0 -64
- package/src/operations/conversation-primer.ts +0 -82
- package/src/operations/cross-session-resume.ts +0 -104
- package/src/operations/deterministic-replay.ts +0 -143
- package/src/operations/diff-identity.ts +0 -127
- package/src/operations/export-surface-diff.ts +0 -355
- package/src/operations/file-outline.ts +0 -48
- package/src/operations/footprint-parallelism.ts +0 -98
- package/src/operations/graft-diff.ts +0 -169
- package/src/operations/horizon-of-readability.ts +0 -60
- package/src/operations/import-reference-impact.ts +0 -143
- package/src/operations/knowledge-map.ts +0 -96
- package/src/operations/observation-cache.ts +0 -165
- package/src/operations/projection-safety.ts +0 -111
- package/src/operations/read-range.ts +0 -64
- package/src/operations/repo-workspace.ts +0 -339
- package/src/operations/result-dto.ts +0 -23
- package/src/operations/safe-read.ts +0 -118
- package/src/operations/semantic-drift.ts +0 -70
- package/src/operations/session-filtration.ts +0 -76
- package/src/operations/session-replay.ts +0 -73
- package/src/operations/sludge-detector.ts +0 -356
- package/src/operations/state.ts +0 -66
- package/src/operations/structural-blame.ts +0 -197
- package/src/operations/structural-review.ts +0 -317
- package/src/operations/structured-buffer-compare.ts +0 -429
- package/src/operations/structured-buffer-model.ts +0 -456
- package/src/operations/structured-buffer-query.ts +0 -794
- package/src/operations/structured-buffer.ts +0 -181
- package/src/operations/teaching-hints.ts +0 -52
- package/src/parser/diff.ts +0 -320
- package/src/parser/lang.ts +0 -71
- package/src/parser/markdown.ts +0 -197
- package/src/parser/outline.ts +0 -316
- package/src/parser/runtime.ts +0 -71
- package/src/parser/types.ts +0 -75
- package/src/policy/evaluate.ts +0 -178
- package/src/policy/graftignore.ts +0 -6
- package/src/policy/types.ts +0 -87
- package/src/ports/codec.ts +0 -13
- package/src/ports/filesystem.ts +0 -18
- package/src/ports/git.ts +0 -16
- package/src/ports/guards.ts +0 -68
- package/src/ports/paths.ts +0 -22
- package/src/ports/process-runner.ts +0 -22
- package/src/release/security-gate.ts +0 -102
- package/src/session/tracker.ts +0 -145
- package/src/session/types.ts +0 -23
- package/src/version.ts +0 -3
- package/src/warp/ast-emitter.ts +0 -133
- package/src/warp/ast-import-resolver.ts +0 -333
- package/src/warp/commit-meta.ts +0 -19
- package/src/warp/context.ts +0 -48
- package/src/warp/dead-symbols.ts +0 -174
- package/src/warp/drift-sentinel.ts +0 -101
- package/src/warp/index-head.ts +0 -348
- package/src/warp/observers.ts +0 -101
- package/src/warp/open.ts +0 -67
- package/src/warp/outline-diff-trailer.ts +0 -100
- package/src/warp/plumbing.d.ts +0 -24
- package/src/warp/refactor-difficulty.ts +0 -257
- package/src/warp/references.ts +0 -77
- package/src/warp/stale-docs.ts +0 -210
- package/src/warp/structural-drift-detection.ts +0 -97
- package/src/warp/structural-queries.ts +0 -258
- package/src/warp/symbol-timeline.ts +0 -209
- package/src/warp/traverse-hydrate.ts +0 -61
- package/src/warp/warp-reference-count.ts +0 -47
- package/src/warp/warp-structural-blame.ts +0 -65
- package/src/warp/warp-structural-churn.ts +0 -309
- package/src/warp/warp-structural-log.ts +0 -149
- package/src/warp/writer-id.ts +0 -30
|
@@ -1,540 +0,0 @@
|
|
|
1
|
-
export const MCP_TOOL_NAMES = [
|
|
2
|
-
"safe_read",
|
|
3
|
-
"graft_edit",
|
|
4
|
-
"file_outline",
|
|
5
|
-
"read_range",
|
|
6
|
-
"changed_since",
|
|
7
|
-
"graft_diff",
|
|
8
|
-
"graft_since",
|
|
9
|
-
"graft_map",
|
|
10
|
-
"code_show",
|
|
11
|
-
"code_find",
|
|
12
|
-
"code_refs",
|
|
13
|
-
"daemon_repos",
|
|
14
|
-
"daemon_status",
|
|
15
|
-
"daemon_sessions",
|
|
16
|
-
"daemon_monitors",
|
|
17
|
-
"monitor_start",
|
|
18
|
-
"monitor_pause",
|
|
19
|
-
"monitor_resume",
|
|
20
|
-
"monitor_nudge",
|
|
21
|
-
"monitor_stop",
|
|
22
|
-
"workspace_authorize",
|
|
23
|
-
"workspace_authorizations",
|
|
24
|
-
"workspace_revoke",
|
|
25
|
-
"workspace_bind",
|
|
26
|
-
"workspace_status",
|
|
27
|
-
"activity_view",
|
|
28
|
-
"causal_status",
|
|
29
|
-
"causal_attach",
|
|
30
|
-
"workspace_rebind",
|
|
31
|
-
"run_capture",
|
|
32
|
-
"state_save",
|
|
33
|
-
"state_load",
|
|
34
|
-
"set_budget",
|
|
35
|
-
"explain",
|
|
36
|
-
"doctor",
|
|
37
|
-
"stats",
|
|
38
|
-
"graft_churn",
|
|
39
|
-
"graft_exports",
|
|
40
|
-
"graft_log",
|
|
41
|
-
"graft_blame",
|
|
42
|
-
"graft_difficulty",
|
|
43
|
-
"graft_review",
|
|
44
|
-
"knowledge_map",
|
|
45
|
-
] as const;
|
|
46
|
-
|
|
47
|
-
export type McpToolName = typeof MCP_TOOL_NAMES[number];
|
|
48
|
-
|
|
49
|
-
export const CLI_COMMAND_NAMES = [
|
|
50
|
-
"init",
|
|
51
|
-
"index",
|
|
52
|
-
"migrate_local_history",
|
|
53
|
-
"read_safe",
|
|
54
|
-
"read_outline",
|
|
55
|
-
"read_range",
|
|
56
|
-
"read_changed",
|
|
57
|
-
"struct_diff",
|
|
58
|
-
"struct_since",
|
|
59
|
-
"struct_map",
|
|
60
|
-
"symbol_show",
|
|
61
|
-
"symbol_find",
|
|
62
|
-
"diag_doctor",
|
|
63
|
-
"diag_activity",
|
|
64
|
-
"diag_local_history_dag",
|
|
65
|
-
"diag_explain",
|
|
66
|
-
"diag_stats",
|
|
67
|
-
"diag_capture",
|
|
68
|
-
"struct_churn",
|
|
69
|
-
"struct_exports",
|
|
70
|
-
"struct_log",
|
|
71
|
-
"symbol_blame",
|
|
72
|
-
"symbol_difficulty",
|
|
73
|
-
"struct_review",
|
|
74
|
-
"git_graft_enhance",
|
|
75
|
-
] as const;
|
|
76
|
-
|
|
77
|
-
export type CliCommandName = typeof CLI_COMMAND_NAMES[number];
|
|
78
|
-
|
|
79
|
-
export const ENTRYPOINT_SURFACES = ["api", "cli", "mcp"] as const;
|
|
80
|
-
|
|
81
|
-
export type EntrypointSurface = typeof ENTRYPOINT_SURFACES[number];
|
|
82
|
-
|
|
83
|
-
export type ApiExposure = "tool_bridge" | "repo_workspace" | "structured_buffer";
|
|
84
|
-
|
|
85
|
-
export type CliMcpParity = "peer" | "cli_only" | "mcp_only" | "not_applicable";
|
|
86
|
-
|
|
87
|
-
export interface CapabilityMatrixRow {
|
|
88
|
-
readonly id: string;
|
|
89
|
-
readonly api: "Yes" | "No";
|
|
90
|
-
readonly cli: "Yes" | "No";
|
|
91
|
-
readonly mcp: "Yes" | "No";
|
|
92
|
-
readonly apiExposure: ApiExposure | "-";
|
|
93
|
-
readonly cliMcpParity: CliMcpParity;
|
|
94
|
-
readonly cliPath: string;
|
|
95
|
-
readonly mcpTool: McpToolName | "-";
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export interface ThreeSurfaceCapabilityBaseline {
|
|
99
|
-
readonly cliOnly: number;
|
|
100
|
-
readonly apiCliMcp: number;
|
|
101
|
-
readonly apiMcp: number;
|
|
102
|
-
readonly apiOnly: number;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export interface CapabilityDefinition {
|
|
106
|
-
readonly id: string;
|
|
107
|
-
readonly description: string;
|
|
108
|
-
readonly mcpTool?: McpToolName | undefined;
|
|
109
|
-
readonly cliCommand?: CliCommandName | undefined;
|
|
110
|
-
readonly cliPath?: readonly [string, ...string[]] | undefined;
|
|
111
|
-
readonly apiExposure?: ApiExposure | undefined;
|
|
112
|
-
readonly surfaces: readonly EntrypointSurface[];
|
|
113
|
-
readonly cliMcpParity: CliMcpParity;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
interface CapabilitySeed {
|
|
117
|
-
readonly id: string;
|
|
118
|
-
readonly description: string;
|
|
119
|
-
readonly mcpTool?: McpToolName | undefined;
|
|
120
|
-
readonly cliCommand?: CliCommandName | undefined;
|
|
121
|
-
readonly cliPath?: readonly [string, ...string[]] | undefined;
|
|
122
|
-
readonly apiExposure?: ApiExposure | undefined;
|
|
123
|
-
readonly cliMcpParity: CliMcpParity;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function defineCapability(seed: CapabilitySeed): CapabilityDefinition {
|
|
127
|
-
const apiExposure = seed.apiExposure ?? (seed.mcpTool !== undefined ? "tool_bridge" : undefined);
|
|
128
|
-
const surfaces: EntrypointSurface[] = [];
|
|
129
|
-
if (apiExposure !== undefined) {
|
|
130
|
-
surfaces.push("api");
|
|
131
|
-
}
|
|
132
|
-
if (seed.cliCommand !== undefined) {
|
|
133
|
-
surfaces.push("cli");
|
|
134
|
-
}
|
|
135
|
-
if (seed.mcpTool !== undefined) {
|
|
136
|
-
surfaces.push("mcp");
|
|
137
|
-
}
|
|
138
|
-
return {
|
|
139
|
-
...seed,
|
|
140
|
-
...(apiExposure !== undefined ? { apiExposure } : {}),
|
|
141
|
-
surfaces: Object.freeze(surfaces),
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export const CAPABILITY_REGISTRY: readonly CapabilityDefinition[] = [
|
|
146
|
-
defineCapability({
|
|
147
|
-
id: "init",
|
|
148
|
-
description: "Initialize graft in a repo",
|
|
149
|
-
cliCommand: "init",
|
|
150
|
-
cliPath: ["init"],
|
|
151
|
-
cliMcpParity: "cli_only",
|
|
152
|
-
}),
|
|
153
|
-
defineCapability({
|
|
154
|
-
id: "index",
|
|
155
|
-
description: "Explicit WARP indexing",
|
|
156
|
-
cliCommand: "index",
|
|
157
|
-
cliPath: ["index"],
|
|
158
|
-
cliMcpParity: "cli_only",
|
|
159
|
-
}),
|
|
160
|
-
defineCapability({
|
|
161
|
-
id: "migrate_local_history",
|
|
162
|
-
description: "Import legacy JSON local history into the WARP graph",
|
|
163
|
-
cliCommand: "migrate_local_history",
|
|
164
|
-
cliPath: ["migrate", "local-history"],
|
|
165
|
-
cliMcpParity: "cli_only",
|
|
166
|
-
}),
|
|
167
|
-
defineCapability({
|
|
168
|
-
id: "safe_read",
|
|
169
|
-
description: "Policy-enforced file read",
|
|
170
|
-
mcpTool: "safe_read",
|
|
171
|
-
cliCommand: "read_safe",
|
|
172
|
-
cliPath: ["read", "safe"],
|
|
173
|
-
apiExposure: "repo_workspace",
|
|
174
|
-
cliMcpParity: "peer",
|
|
175
|
-
}),
|
|
176
|
-
defineCapability({
|
|
177
|
-
id: "graft_edit",
|
|
178
|
-
description: "Governed exact replacement edit",
|
|
179
|
-
mcpTool: "graft_edit",
|
|
180
|
-
cliMcpParity: "mcp_only",
|
|
181
|
-
}),
|
|
182
|
-
defineCapability({
|
|
183
|
-
id: "file_outline",
|
|
184
|
-
description: "Structural file outline",
|
|
185
|
-
mcpTool: "file_outline",
|
|
186
|
-
cliCommand: "read_outline",
|
|
187
|
-
cliPath: ["read", "outline"],
|
|
188
|
-
apiExposure: "repo_workspace",
|
|
189
|
-
cliMcpParity: "peer",
|
|
190
|
-
}),
|
|
191
|
-
defineCapability({
|
|
192
|
-
id: "read_range",
|
|
193
|
-
description: "Bounded range read",
|
|
194
|
-
mcpTool: "read_range",
|
|
195
|
-
cliCommand: "read_range",
|
|
196
|
-
cliPath: ["read", "range"],
|
|
197
|
-
apiExposure: "repo_workspace",
|
|
198
|
-
cliMcpParity: "peer",
|
|
199
|
-
}),
|
|
200
|
-
defineCapability({
|
|
201
|
-
id: "changed_since",
|
|
202
|
-
description: "Change since last observation",
|
|
203
|
-
mcpTool: "changed_since",
|
|
204
|
-
cliCommand: "read_changed",
|
|
205
|
-
cliPath: ["read", "changed"],
|
|
206
|
-
apiExposure: "repo_workspace",
|
|
207
|
-
cliMcpParity: "peer",
|
|
208
|
-
}),
|
|
209
|
-
defineCapability({
|
|
210
|
-
id: "graft_diff",
|
|
211
|
-
description: "Structural diff between refs",
|
|
212
|
-
mcpTool: "graft_diff",
|
|
213
|
-
cliCommand: "struct_diff",
|
|
214
|
-
cliPath: ["struct", "diff"],
|
|
215
|
-
cliMcpParity: "peer",
|
|
216
|
-
}),
|
|
217
|
-
defineCapability({
|
|
218
|
-
id: "graft_since",
|
|
219
|
-
description: "Structural changes since ref",
|
|
220
|
-
mcpTool: "graft_since",
|
|
221
|
-
cliCommand: "struct_since",
|
|
222
|
-
cliPath: ["struct", "since"],
|
|
223
|
-
cliMcpParity: "peer",
|
|
224
|
-
}),
|
|
225
|
-
defineCapability({
|
|
226
|
-
id: "graft_map",
|
|
227
|
-
description: "Structural directory map",
|
|
228
|
-
mcpTool: "graft_map",
|
|
229
|
-
cliCommand: "struct_map",
|
|
230
|
-
cliPath: ["struct", "map"],
|
|
231
|
-
cliMcpParity: "peer",
|
|
232
|
-
}),
|
|
233
|
-
defineCapability({
|
|
234
|
-
id: "code_show",
|
|
235
|
-
description: "Focus on a symbol by name",
|
|
236
|
-
mcpTool: "code_show",
|
|
237
|
-
cliCommand: "symbol_show",
|
|
238
|
-
cliPath: ["symbol", "show"],
|
|
239
|
-
cliMcpParity: "peer",
|
|
240
|
-
}),
|
|
241
|
-
defineCapability({
|
|
242
|
-
id: "code_find",
|
|
243
|
-
description: "Search symbols by name or kind",
|
|
244
|
-
mcpTool: "code_find",
|
|
245
|
-
cliCommand: "symbol_find",
|
|
246
|
-
cliPath: ["symbol", "find"],
|
|
247
|
-
cliMcpParity: "peer",
|
|
248
|
-
}),
|
|
249
|
-
defineCapability({
|
|
250
|
-
id: "code_refs",
|
|
251
|
-
description: "Search import sites, callsites, property access, or text references",
|
|
252
|
-
mcpTool: "code_refs",
|
|
253
|
-
cliMcpParity: "mcp_only",
|
|
254
|
-
}),
|
|
255
|
-
defineCapability({
|
|
256
|
-
id: "daemon_repos",
|
|
257
|
-
description: "List authorized canonical repos with bounded daemon-wide summary",
|
|
258
|
-
mcpTool: "daemon_repos",
|
|
259
|
-
cliMcpParity: "mcp_only",
|
|
260
|
-
}),
|
|
261
|
-
defineCapability({
|
|
262
|
-
id: "daemon_status",
|
|
263
|
-
description: "Inspect daemon-wide health and control-plane posture",
|
|
264
|
-
mcpTool: "daemon_status",
|
|
265
|
-
cliMcpParity: "mcp_only",
|
|
266
|
-
}),
|
|
267
|
-
defineCapability({
|
|
268
|
-
id: "daemon_sessions",
|
|
269
|
-
description: "List active daemon sessions",
|
|
270
|
-
mcpTool: "daemon_sessions",
|
|
271
|
-
cliMcpParity: "mcp_only",
|
|
272
|
-
}),
|
|
273
|
-
defineCapability({
|
|
274
|
-
id: "daemon_monitors",
|
|
275
|
-
description: "List daemon-managed persistent repo monitors",
|
|
276
|
-
mcpTool: "daemon_monitors",
|
|
277
|
-
cliMcpParity: "mcp_only",
|
|
278
|
-
}),
|
|
279
|
-
defineCapability({
|
|
280
|
-
id: "monitor_start",
|
|
281
|
-
description: "Start a repo-scoped persistent monitor",
|
|
282
|
-
mcpTool: "monitor_start",
|
|
283
|
-
cliMcpParity: "mcp_only",
|
|
284
|
-
}),
|
|
285
|
-
defineCapability({
|
|
286
|
-
id: "monitor_pause",
|
|
287
|
-
description: "Pause a repo-scoped persistent monitor",
|
|
288
|
-
mcpTool: "monitor_pause",
|
|
289
|
-
cliMcpParity: "mcp_only",
|
|
290
|
-
}),
|
|
291
|
-
defineCapability({
|
|
292
|
-
id: "monitor_resume",
|
|
293
|
-
description: "Resume a repo-scoped persistent monitor",
|
|
294
|
-
mcpTool: "monitor_resume",
|
|
295
|
-
cliMcpParity: "mcp_only",
|
|
296
|
-
}),
|
|
297
|
-
defineCapability({
|
|
298
|
-
id: "monitor_nudge",
|
|
299
|
-
description: "Trigger immediate re-index for a running monitor",
|
|
300
|
-
mcpTool: "monitor_nudge",
|
|
301
|
-
cliMcpParity: "mcp_only",
|
|
302
|
-
}),
|
|
303
|
-
|
|
304
|
-
defineCapability({
|
|
305
|
-
id: "monitor_stop",
|
|
306
|
-
description: "Stop a repo-scoped persistent monitor",
|
|
307
|
-
mcpTool: "monitor_stop",
|
|
308
|
-
cliMcpParity: "mcp_only",
|
|
309
|
-
}),
|
|
310
|
-
defineCapability({
|
|
311
|
-
id: "workspace_authorize",
|
|
312
|
-
description: "Authorize a workspace for daemon binding",
|
|
313
|
-
mcpTool: "workspace_authorize",
|
|
314
|
-
cliMcpParity: "mcp_only",
|
|
315
|
-
}),
|
|
316
|
-
defineCapability({
|
|
317
|
-
id: "workspace_authorizations",
|
|
318
|
-
description: "List daemon-authorized workspaces",
|
|
319
|
-
mcpTool: "workspace_authorizations",
|
|
320
|
-
cliMcpParity: "mcp_only",
|
|
321
|
-
}),
|
|
322
|
-
defineCapability({
|
|
323
|
-
id: "workspace_revoke",
|
|
324
|
-
description: "Revoke daemon authorization for a workspace",
|
|
325
|
-
mcpTool: "workspace_revoke",
|
|
326
|
-
cliMcpParity: "mcp_only",
|
|
327
|
-
}),
|
|
328
|
-
defineCapability({
|
|
329
|
-
id: "workspace_bind",
|
|
330
|
-
description: "Bind a daemon session to a workspace",
|
|
331
|
-
mcpTool: "workspace_bind",
|
|
332
|
-
cliMcpParity: "mcp_only",
|
|
333
|
-
}),
|
|
334
|
-
defineCapability({
|
|
335
|
-
id: "workspace_status",
|
|
336
|
-
description: "Inspect daemon workspace binding state",
|
|
337
|
-
mcpTool: "workspace_status",
|
|
338
|
-
cliMcpParity: "mcp_only",
|
|
339
|
-
}),
|
|
340
|
-
defineCapability({
|
|
341
|
-
id: "activity_view",
|
|
342
|
-
description: "Inspect recent bounded local artifact history for the active workspace, anchored to the current commit when possible",
|
|
343
|
-
mcpTool: "activity_view",
|
|
344
|
-
cliCommand: "diag_activity",
|
|
345
|
-
cliPath: ["diag", "activity"],
|
|
346
|
-
cliMcpParity: "peer",
|
|
347
|
-
}),
|
|
348
|
-
defineCapability({
|
|
349
|
-
id: "local_history_dag",
|
|
350
|
-
description: "Render a bounded debug DAG from WARP-backed local history",
|
|
351
|
-
cliCommand: "diag_local_history_dag",
|
|
352
|
-
cliPath: ["diag", "local-history-dag"],
|
|
353
|
-
cliMcpParity: "cli_only",
|
|
354
|
-
}),
|
|
355
|
-
defineCapability({
|
|
356
|
-
id: "causal_status",
|
|
357
|
-
description: "Inspect the active causal workspace and persisted local-history posture",
|
|
358
|
-
mcpTool: "causal_status",
|
|
359
|
-
cliMcpParity: "mcp_only",
|
|
360
|
-
}),
|
|
361
|
-
defineCapability({
|
|
362
|
-
id: "causal_attach",
|
|
363
|
-
description: "Explicitly declare lawful continuation or handoff for the current causal workspace",
|
|
364
|
-
mcpTool: "causal_attach",
|
|
365
|
-
cliMcpParity: "mcp_only",
|
|
366
|
-
}),
|
|
367
|
-
defineCapability({
|
|
368
|
-
id: "workspace_rebind",
|
|
369
|
-
description: "Rebind a daemon session to a different workspace",
|
|
370
|
-
mcpTool: "workspace_rebind",
|
|
371
|
-
cliMcpParity: "mcp_only",
|
|
372
|
-
}),
|
|
373
|
-
defineCapability({
|
|
374
|
-
id: "run_capture",
|
|
375
|
-
description: "Structured shell-output capture",
|
|
376
|
-
mcpTool: "run_capture",
|
|
377
|
-
cliCommand: "diag_capture",
|
|
378
|
-
cliPath: ["diag", "capture"],
|
|
379
|
-
cliMcpParity: "peer",
|
|
380
|
-
}),
|
|
381
|
-
defineCapability({
|
|
382
|
-
id: "explain",
|
|
383
|
-
description: "Explain a reason code",
|
|
384
|
-
mcpTool: "explain",
|
|
385
|
-
cliCommand: "diag_explain",
|
|
386
|
-
cliPath: ["diag", "explain"],
|
|
387
|
-
cliMcpParity: "peer",
|
|
388
|
-
}),
|
|
389
|
-
defineCapability({
|
|
390
|
-
id: "doctor",
|
|
391
|
-
description: "Runtime health and repo state",
|
|
392
|
-
mcpTool: "doctor",
|
|
393
|
-
cliCommand: "diag_doctor",
|
|
394
|
-
cliPath: ["diag", "doctor"],
|
|
395
|
-
cliMcpParity: "peer",
|
|
396
|
-
}),
|
|
397
|
-
defineCapability({
|
|
398
|
-
id: "stats",
|
|
399
|
-
description: "Decision metrics summary",
|
|
400
|
-
mcpTool: "stats",
|
|
401
|
-
cliCommand: "diag_stats",
|
|
402
|
-
cliPath: ["diag", "stats"],
|
|
403
|
-
cliMcpParity: "peer",
|
|
404
|
-
}),
|
|
405
|
-
defineCapability({
|
|
406
|
-
id: "set_budget",
|
|
407
|
-
description: "Session byte budget control",
|
|
408
|
-
mcpTool: "set_budget",
|
|
409
|
-
cliMcpParity: "mcp_only",
|
|
410
|
-
}),
|
|
411
|
-
defineCapability({
|
|
412
|
-
id: "state_save",
|
|
413
|
-
description: "Session bookmark save",
|
|
414
|
-
mcpTool: "state_save",
|
|
415
|
-
cliMcpParity: "mcp_only",
|
|
416
|
-
}),
|
|
417
|
-
defineCapability({
|
|
418
|
-
id: "state_load",
|
|
419
|
-
description: "Session bookmark load",
|
|
420
|
-
mcpTool: "state_load",
|
|
421
|
-
cliMcpParity: "mcp_only",
|
|
422
|
-
}),
|
|
423
|
-
defineCapability({
|
|
424
|
-
id: "graft_churn",
|
|
425
|
-
description: "Structural churn report — symbol change frequency hotspots",
|
|
426
|
-
mcpTool: "graft_churn",
|
|
427
|
-
cliCommand: "struct_churn",
|
|
428
|
-
cliPath: ["struct", "churn"],
|
|
429
|
-
cliMcpParity: "peer",
|
|
430
|
-
}),
|
|
431
|
-
defineCapability({
|
|
432
|
-
id: "graft_exports",
|
|
433
|
-
description: "Export surface diff — public API changes between refs",
|
|
434
|
-
mcpTool: "graft_exports",
|
|
435
|
-
cliCommand: "struct_exports",
|
|
436
|
-
cliPath: ["struct", "exports"],
|
|
437
|
-
cliMcpParity: "peer",
|
|
438
|
-
}),
|
|
439
|
-
defineCapability({
|
|
440
|
-
id: "graft_log",
|
|
441
|
-
description: "Structural git log — symbol-level changes per commit",
|
|
442
|
-
mcpTool: "graft_log",
|
|
443
|
-
cliCommand: "struct_log",
|
|
444
|
-
cliPath: ["struct", "log"],
|
|
445
|
-
cliMcpParity: "peer",
|
|
446
|
-
}),
|
|
447
|
-
defineCapability({
|
|
448
|
-
id: "graft_blame",
|
|
449
|
-
description: "Symbol-level blame — creation, signature history, and references",
|
|
450
|
-
mcpTool: "graft_blame",
|
|
451
|
-
cliCommand: "symbol_blame",
|
|
452
|
-
cliPath: ["symbol", "blame"],
|
|
453
|
-
cliMcpParity: "peer",
|
|
454
|
-
}),
|
|
455
|
-
defineCapability({
|
|
456
|
-
id: "graft_difficulty",
|
|
457
|
-
description: "Refactor difficulty score — churn curvature times reference friction",
|
|
458
|
-
mcpTool: "graft_difficulty",
|
|
459
|
-
cliCommand: "symbol_difficulty",
|
|
460
|
-
cliPath: ["symbol", "difficulty"],
|
|
461
|
-
cliMcpParity: "peer",
|
|
462
|
-
}),
|
|
463
|
-
defineCapability({
|
|
464
|
-
id: "graft_review",
|
|
465
|
-
description: "Zero-noise structural PR review with breaking change detection",
|
|
466
|
-
mcpTool: "graft_review",
|
|
467
|
-
cliCommand: "struct_review",
|
|
468
|
-
cliPath: ["struct", "review"],
|
|
469
|
-
cliMcpParity: "peer",
|
|
470
|
-
}),
|
|
471
|
-
defineCapability({
|
|
472
|
-
id: "git_graft_enhance",
|
|
473
|
-
description: "Git-facing structural review summary over a ref range",
|
|
474
|
-
cliCommand: "git_graft_enhance",
|
|
475
|
-
cliPath: ["enhance"],
|
|
476
|
-
cliMcpParity: "cli_only",
|
|
477
|
-
}),
|
|
478
|
-
defineCapability({
|
|
479
|
-
id: "knowledge_map",
|
|
480
|
-
description: "Session knowledge map — observed files, symbols, staleness, and coverage",
|
|
481
|
-
mcpTool: "knowledge_map",
|
|
482
|
-
cliMcpParity: "mcp_only",
|
|
483
|
-
}),
|
|
484
|
-
defineCapability({
|
|
485
|
-
id: "structured_buffer",
|
|
486
|
-
description: "Dirty-buffer structural editor surface for in-process integrations",
|
|
487
|
-
apiExposure: "structured_buffer",
|
|
488
|
-
cliMcpParity: "not_applicable",
|
|
489
|
-
}),
|
|
490
|
-
] as const;
|
|
491
|
-
|
|
492
|
-
export const API_EXPOSED_CAPABILITIES = Object.freeze(
|
|
493
|
-
CAPABILITY_REGISTRY.filter((capability) => capability.surfaces.includes("api")),
|
|
494
|
-
);
|
|
495
|
-
|
|
496
|
-
export const CLI_COMMAND_PATHS = Object.freeze(Object.fromEntries(
|
|
497
|
-
CAPABILITY_REGISTRY
|
|
498
|
-
.filter((capability) => capability.cliCommand !== undefined && capability.cliPath !== undefined)
|
|
499
|
-
.map((capability) => [capability.cliCommand, capability.cliPath]),
|
|
500
|
-
) as Record<CliCommandName, readonly [string, ...string[]]>);
|
|
501
|
-
|
|
502
|
-
export const CLI_COMMAND_TO_MCP_TOOL = Object.freeze(Object.fromEntries(
|
|
503
|
-
CAPABILITY_REGISTRY
|
|
504
|
-
.filter((capability) => capability.cliCommand !== undefined && capability.mcpTool !== undefined)
|
|
505
|
-
.map((capability) => [capability.cliCommand, capability.mcpTool]),
|
|
506
|
-
) as Partial<Record<CliCommandName, McpToolName>>);
|
|
507
|
-
|
|
508
|
-
export const CLI_ONLY_COMMANDS = Object.freeze(
|
|
509
|
-
CLI_COMMAND_NAMES.filter((command) => CLI_COMMAND_TO_MCP_TOOL[command] === undefined),
|
|
510
|
-
);
|
|
511
|
-
|
|
512
|
-
export function cliCommandPath(command: CliCommandName): readonly [string, ...string[]] {
|
|
513
|
-
return CLI_COMMAND_PATHS[command];
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
export function cliCommandKey(path: readonly string[]): string {
|
|
517
|
-
return path.join(" ");
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
export function buildCapabilityMatrixRows(): readonly CapabilityMatrixRow[] {
|
|
521
|
-
return CAPABILITY_REGISTRY.map((capability) => ({
|
|
522
|
-
id: capability.id,
|
|
523
|
-
api: capability.surfaces.includes("api") ? "Yes" : "No",
|
|
524
|
-
cli: capability.surfaces.includes("cli") ? "Yes" : "No",
|
|
525
|
-
mcp: capability.surfaces.includes("mcp") ? "Yes" : "No",
|
|
526
|
-
apiExposure: capability.apiExposure ?? "-",
|
|
527
|
-
cliMcpParity: capability.cliMcpParity,
|
|
528
|
-
cliPath: capability.cliPath?.join(" ") ?? "-",
|
|
529
|
-
mcpTool: capability.mcpTool ?? "-",
|
|
530
|
-
}));
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
export function buildThreeSurfaceCapabilityBaseline(): ThreeSurfaceCapabilityBaseline {
|
|
534
|
-
return {
|
|
535
|
-
cliOnly: CAPABILITY_REGISTRY.filter((capability) => capability.surfaces.join(",") === "cli").length,
|
|
536
|
-
apiCliMcp: CAPABILITY_REGISTRY.filter((capability) => capability.surfaces.join(",") === "api,cli,mcp").length,
|
|
537
|
-
apiMcp: CAPABILITY_REGISTRY.filter((capability) => capability.surfaces.join(",") === "api,mcp").length,
|
|
538
|
-
apiOnly: CAPABILITY_REGISTRY.filter((capability) => capability.surfaces.join(",") === "api").length,
|
|
539
|
-
};
|
|
540
|
-
}
|