@kawacode/mcp 6.8.0 → 6.9.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/CLAUDE.md.example +10 -0
- package/README.md +16 -0
- package/build/kawacode-on-pre-edit.js +5 -1
- package/build/kawacode-on-pre-edit.js.map +1 -1
- package/build/kawacode-on-stop.d.ts +9 -5
- package/build/kawacode-on-stop.js +70 -26
- package/build/kawacode-on-stop.js.map +1 -1
- package/build/services/muninn-ipc.d.ts +13 -6
- package/build/services/muninn-ipc.js +35 -14
- package/build/services/muninn-ipc.js.map +1 -1
- package/build/stop/uncompleted-commit.d.ts +47 -12
- package/build/stop/uncompleted-commit.js +113 -75
- package/build/stop/uncompleted-commit.js.map +1 -1
- package/build/stop/uncompleted-commit.test.js +70 -1
- package/build/stop/uncompleted-commit.test.js.map +1 -1
- package/build/telemetry.d.ts +11 -0
- package/build/telemetry.js +15 -0
- package/build/telemetry.js.map +1 -1
- package/build/tools/edit-session-decision.d.ts +10 -0
- package/build/tools/edit-session-decision.js +3 -1
- package/build/tools/edit-session-decision.js.map +1 -1
- package/build/tools/get-decision-detail.d.ts +1 -0
- package/build/tools/get-decision-detail.js +2 -1
- package/build/tools/get-decision-detail.js.map +1 -1
- package/build/tools/index.d.ts +8 -0
- package/build/tools/record-decision.d.ts +6 -0
- package/build/tools/record-decision.js +3 -0
- package/build/tools/record-decision.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,17 @@
|
|
|
7
7
|
* with complete_intent. We read Claude Code's own transcript (harness
|
|
8
8
|
* introspection — not Muninn's concern) and compare the position of the last
|
|
9
9
|
* SUCCESSFUL commit against the last complete_intent call.
|
|
10
|
+
*
|
|
11
|
+
* The gate consumes three additional pure signals (loop-fix, 2026-07-03):
|
|
12
|
+
* - `lastUnfinalizedCommit` — the commit's command + short sha, so the gate can
|
|
13
|
+
* attribute the commit to ITS OWN repo (`extractCommitPath`) instead of cwd's.
|
|
14
|
+
* - `nagAlreadyInTranscript` — once-per-commit nag dedup, stateless: a prior
|
|
15
|
+
* gate message after the commit means we already nagged (block once, then
|
|
16
|
+
* silence — never loop).
|
|
10
17
|
*/
|
|
18
|
+
/** Marker present in every gate nag (see kawacode-on-stop.ts buildGateReason).
|
|
19
|
+
* Matching on it is backwards-compatible: historical nags contain it too. */
|
|
20
|
+
export const NAG_MARKER = 'Run complete_intent(intentId=';
|
|
11
21
|
/** Flatten a tool_result `content` (string | array of {type,text}) to plain text. */
|
|
12
22
|
export function toolResultText(content) {
|
|
13
23
|
if (typeof content === 'string')
|
|
@@ -45,23 +55,20 @@ export function isGitCommitCommand(name, cmd) {
|
|
|
45
55
|
export function looksLikeCommitOutput(text) {
|
|
46
56
|
return /\[[^\]\n]*\b[0-9a-f]{7,40}\b[^\]\n]*\]/.test(text);
|
|
47
57
|
}
|
|
58
|
+
/** Extract the short sha from git's commit-success line, e.g. `[main 463f33c] msg`. */
|
|
59
|
+
function commitShaFromOutput(text) {
|
|
60
|
+
const m = /\[[^\]\n]*\b([0-9a-f]{7,40})\b[^\]\n]*\]/.exec(text);
|
|
61
|
+
return m ? m[1] : '';
|
|
62
|
+
}
|
|
48
63
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* A commit counts only when BOTH hold: the command invokes git commit AND its
|
|
54
|
-
* tool_result carries the commit-success signature (not is_error). Requiring
|
|
55
|
-
* the result signature is what stops a command that merely *mentions* "git
|
|
56
|
-
* commit" (e.g. a printf crafting a fixture) from being read as a real commit.
|
|
57
|
-
* A complete_intent call counts even if it later failed (conflicts): the agent
|
|
58
|
-
* tried, so we don't nag.
|
|
59
|
-
*
|
|
60
|
-
* @param transcriptText raw JSONL contents of the Claude Code transcript
|
|
64
|
+
* Single transcript pass shared by every detector: collects CONFIRMED commits
|
|
65
|
+
* (command + result signature, not is_error) and the last complete_intent
|
|
66
|
+
* position. A complete_intent call counts even if it later failed (conflicts):
|
|
67
|
+
* the agent tried, so we don't nag.
|
|
61
68
|
*/
|
|
62
|
-
|
|
69
|
+
function scanTranscript(transcriptText) {
|
|
63
70
|
const lines = transcriptText.split('\n');
|
|
64
|
-
const
|
|
71
|
+
const candidates = [];
|
|
65
72
|
const results = new Map();
|
|
66
73
|
let lastCompleteIdx = -1;
|
|
67
74
|
for (let i = 0; i < lines.length; i++) {
|
|
@@ -81,11 +88,12 @@ export function detectUncompletedCommit(transcriptText) {
|
|
|
81
88
|
for (const item of content) {
|
|
82
89
|
if (item?.type === 'tool_use') {
|
|
83
90
|
const name = item.name || '';
|
|
91
|
+
const cmd = item?.input?.command || '';
|
|
84
92
|
if (/complete_intent/.test(name)) {
|
|
85
93
|
lastCompleteIdx = i;
|
|
86
94
|
}
|
|
87
|
-
else if (isGitCommitCommand(name,
|
|
88
|
-
|
|
95
|
+
else if (isGitCommitCommand(name, cmd)) {
|
|
96
|
+
candidates.push({ idx: i, id: item.id, cmd });
|
|
89
97
|
}
|
|
90
98
|
}
|
|
91
99
|
else if (item?.type === 'tool_result' && item.tool_use_id) {
|
|
@@ -96,10 +104,10 @@ export function detectUncompletedCommit(transcriptText) {
|
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
|
-
//
|
|
100
|
-
// result, an errored result, or output lacking the signature does not count.
|
|
101
|
-
|
|
102
|
-
for (const c of
|
|
107
|
+
// Keep only candidates CONFIRMED by their result signature. A candidate with
|
|
108
|
+
// no result, an errored result, or output lacking the signature does not count.
|
|
109
|
+
const commits = [];
|
|
110
|
+
for (const c of candidates) {
|
|
103
111
|
if (!c.id)
|
|
104
112
|
continue;
|
|
105
113
|
const r = results.get(c.id);
|
|
@@ -107,12 +115,89 @@ export function detectUncompletedCommit(transcriptText) {
|
|
|
107
115
|
continue;
|
|
108
116
|
if (!looksLikeCommitOutput(r.text))
|
|
109
117
|
continue;
|
|
110
|
-
|
|
111
|
-
lastCommitIdx = c.idx;
|
|
118
|
+
commits.push({ lineIdx: c.idx, cmd: c.cmd, shortSha: commitShaFromOutput(r.text) });
|
|
112
119
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
120
|
+
return { commits, lastCompleteIdx };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* The most recent CONFIRMED commit that is NOT followed by a complete_intent
|
|
124
|
+
* call — i.e. the commit the gate would nag about — or null when every commit
|
|
125
|
+
* is finalized (or there are no commits).
|
|
126
|
+
*/
|
|
127
|
+
export function lastUnfinalizedCommit(transcriptText) {
|
|
128
|
+
const { commits, lastCompleteIdx } = scanTranscript(transcriptText);
|
|
129
|
+
let last = null;
|
|
130
|
+
for (const c of commits) {
|
|
131
|
+
if (!last || c.lineIdx > last.lineIdx)
|
|
132
|
+
last = c;
|
|
133
|
+
}
|
|
134
|
+
if (!last)
|
|
135
|
+
return null;
|
|
136
|
+
return last.lineIdx > lastCompleteIdx ? last : null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* True when the transcript shows a SUCCESSFUL `git commit` tool_use that lands
|
|
140
|
+
* after the most recent complete_intent tool_use (or with no complete_intent
|
|
141
|
+
* after it) — i.e. the agent committed without finalizing.
|
|
142
|
+
*
|
|
143
|
+
* @param transcriptText raw JSONL contents of the Claude Code transcript
|
|
144
|
+
*/
|
|
145
|
+
export function detectUncompletedCommit(transcriptText) {
|
|
146
|
+
return lastUnfinalizedCommit(transcriptText) !== null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Repo attribution for a commit command (loop-fix): the directory the commit
|
|
150
|
+
* actually ran in, when the command states it.
|
|
151
|
+
*
|
|
152
|
+
* 1. `git -C <path> commit …` — the path is on the commit invocation itself
|
|
153
|
+
* (highest precedence).
|
|
154
|
+
* 2. `cd <path> && … git commit …` — the LAST `cd` before the git commit
|
|
155
|
+
* segment. Handles `;` and `&&` chains.
|
|
156
|
+
*
|
|
157
|
+
* Returns null when the command carries no path (the commit ran in the Bash
|
|
158
|
+
* session's cwd — the caller falls back to the hook payload cwd). Quoted paths
|
|
159
|
+
* are unwrapped; relative paths are returned as-is (caller resolves).
|
|
160
|
+
*/
|
|
161
|
+
export function extractCommitPath(cmd) {
|
|
162
|
+
if (!cmd)
|
|
163
|
+
return null;
|
|
164
|
+
const unquote = (s) => {
|
|
165
|
+
if ((s.startsWith('"') && s.endsWith('"')) || (s.startsWith("'") && s.endsWith("'"))) {
|
|
166
|
+
return s.slice(1, -1);
|
|
167
|
+
}
|
|
168
|
+
return s;
|
|
169
|
+
};
|
|
170
|
+
// 1. git -C <path> … commit
|
|
171
|
+
const dashC = /\bgit\s+-C\s+("[^"]+"|'[^']+'|\S+)(?=\s)[^&;|]*\bcommit\b/.exec(cmd);
|
|
172
|
+
if (dashC)
|
|
173
|
+
return unquote(dashC[1]);
|
|
174
|
+
// 2. last `cd <path>` before the git commit segment
|
|
175
|
+
const commitIdx = cmd.search(/\bgit\s+(?:-C\s+\S+\s+)?commit\b/);
|
|
176
|
+
if (commitIdx === -1)
|
|
177
|
+
return null;
|
|
178
|
+
const before = cmd.slice(0, commitIdx);
|
|
179
|
+
let lastCd = null;
|
|
180
|
+
const cdRe = /(?:^|&&|;)\s*cd\s+("[^"]+"|'[^']+'|[^\s;&|]+)/g;
|
|
181
|
+
let m;
|
|
182
|
+
while ((m = cdRe.exec(before)) !== null) {
|
|
183
|
+
lastCd = unquote(m[1]);
|
|
184
|
+
}
|
|
185
|
+
return lastCd;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Once-per-commit nag dedup (stateless): true when a prior gate nag already
|
|
189
|
+
* appears in the transcript AFTER the commit — Claude Code records both the
|
|
190
|
+
* block feedback and the degraded advisory as transcript content, so the
|
|
191
|
+
* transcript itself is the memory. Raw line matching (not JSON parsing) keeps
|
|
192
|
+
* this robust to how the harness encodes hook output.
|
|
193
|
+
*/
|
|
194
|
+
export function nagAlreadyInTranscript(transcriptText, commitLineIdx) {
|
|
195
|
+
const lines = transcriptText.split('\n');
|
|
196
|
+
for (let i = commitLineIdx + 1; i < lines.length; i++) {
|
|
197
|
+
if (lines[i].includes(NAG_MARKER))
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
return false;
|
|
116
201
|
}
|
|
117
202
|
/**
|
|
118
203
|
* Gate-SAVE detection (VALUE_METRICS.md V8): the inverse of an uncompleted
|
|
@@ -123,62 +208,15 @@ export function detectUncompletedCommit(transcriptText) {
|
|
|
123
208
|
* preceded a completion that would otherwise have skipped distillation +
|
|
124
209
|
* block auto-capture.
|
|
125
210
|
*
|
|
126
|
-
* Mirrors detectUncompletedCommit's parsing exactly (a commit counts only when
|
|
127
|
-
* its tool_result carries the commit-success signature, per decision 64b340d8 —
|
|
128
|
-
* a command merely MENTIONING "git commit" does not count) and flips the final
|
|
129
|
-
* position comparison.
|
|
130
|
-
*
|
|
131
211
|
* Correlation, not causation: this says "a completion followed a confirmed
|
|
132
212
|
* commit while the turn was held open", not "the gate caused the completion".
|
|
133
213
|
*/
|
|
134
214
|
export function detectGateSave(transcriptText) {
|
|
135
|
-
const
|
|
136
|
-
const commits = [];
|
|
137
|
-
const results = new Map();
|
|
138
|
-
let lastCompleteIdx = -1;
|
|
139
|
-
for (let i = 0; i < lines.length; i++) {
|
|
140
|
-
const ln = lines[i].trim();
|
|
141
|
-
if (!ln)
|
|
142
|
-
continue;
|
|
143
|
-
let obj;
|
|
144
|
-
try {
|
|
145
|
-
obj = JSON.parse(ln);
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
const content = obj?.message?.content;
|
|
151
|
-
if (!Array.isArray(content))
|
|
152
|
-
continue;
|
|
153
|
-
for (const item of content) {
|
|
154
|
-
if (item?.type === 'tool_use') {
|
|
155
|
-
const name = item.name || '';
|
|
156
|
-
if (/complete_intent/.test(name)) {
|
|
157
|
-
lastCompleteIdx = i;
|
|
158
|
-
}
|
|
159
|
-
else if (isGitCommitCommand(name, item?.input?.command || '')) {
|
|
160
|
-
commits.push({ idx: i, id: item.id });
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else if (item?.type === 'tool_result' && item.tool_use_id) {
|
|
164
|
-
results.set(item.tool_use_id, {
|
|
165
|
-
isError: item.is_error === true,
|
|
166
|
-
text: toolResultText(item.content),
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
215
|
+
const { commits, lastCompleteIdx } = scanTranscript(transcriptText);
|
|
171
216
|
let lastCommitIdx = -1;
|
|
172
217
|
for (const c of commits) {
|
|
173
|
-
if (
|
|
174
|
-
|
|
175
|
-
const r = results.get(c.id);
|
|
176
|
-
if (!r || r.isError)
|
|
177
|
-
continue;
|
|
178
|
-
if (!looksLikeCommitOutput(r.text))
|
|
179
|
-
continue;
|
|
180
|
-
if (c.idx > lastCommitIdx)
|
|
181
|
-
lastCommitIdx = c.idx;
|
|
218
|
+
if (c.lineIdx > lastCommitIdx)
|
|
219
|
+
lastCommitIdx = c.lineIdx;
|
|
182
220
|
}
|
|
183
221
|
if (lastCommitIdx === -1)
|
|
184
222
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncompleted-commit.js","sourceRoot":"","sources":["../../src/stop/uncompleted-commit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"uncompleted-commit.js","sourceRoot":"","sources":["../../src/stop/uncompleted-commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;8EAC8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,+BAA+B,CAAA;AAEzD,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAA;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAS,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnG,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;;yDAIyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAW;IAC1D,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACzC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,kCAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC;AAmBD,uFAAuF;AACvF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,cAAsB;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,UAAU,GAA2D,EAAE,CAAA;IAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8C,CAAA;IACrE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,EAAE;YAAE,SAAQ;QACjB,IAAI,GAAQ,CAAA;QACZ,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,OAAO,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAQ;QAErC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;gBACpC,MAAM,GAAG,GAAW,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,CAAA;gBAC9C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,eAAe,GAAG,CAAC,CAAA;gBACrB,CAAC;qBAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;oBACzC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC/C,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;oBAC/B,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;iBACnC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,MAAM,OAAO,GAAsB,EAAE,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,SAAQ;QACnB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;YAAE,SAAQ;QAC7B,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;IACnE,IAAI,IAAI,GAA2B,IAAI,CAAA;IACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YAAE,IAAI,GAAG,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,cAAsB;IAC5D,OAAO,qBAAqB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE;QACpC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAED,4BAA4B;IAC5B,MAAM,KAAK,GAAG,2DAA2D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnF,IAAI,KAAK;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnC,oDAAoD;IACpD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAA;IAChE,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACtC,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,MAAM,IAAI,GAAG,gDAAgD,CAAA;IAC7D,IAAI,CAAyB,CAAA;IAC7B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,cAAsB,EAAE,aAAqB;IAClF,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;IACnE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAA;IACtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,GAAG,aAAa;YAAE,aAAa,GAAG,CAAC,CAAC,OAAO,CAAA;IAC1D,CAAC;IACD,IAAI,aAAa,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACtC,qFAAqF;IACrF,OAAO,eAAe,IAAI,aAAa,CAAA;AACzC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { test } from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
|
-
import { detectGateSave, detectUncompletedCommit, isGitCommitCommand, looksLikeCommitOutput, toolResultText, } from './uncompleted-commit.js';
|
|
3
|
+
import { detectGateSave, detectUncompletedCommit, extractCommitPath, isGitCommitCommand, lastUnfinalizedCommit, looksLikeCommitOutput, NAG_MARKER, nagAlreadyInTranscript, toolResultText, } from './uncompleted-commit.js';
|
|
4
4
|
/** A realistic `git commit` success result (the bracketed short-hash line). */
|
|
5
5
|
const COMMIT_OK = '[main 1a2b3c4] Add the thing\n 1 file changed, 2 insertions(+)';
|
|
6
6
|
// ---- transcript line builders (Claude Code JSONL shape) ----
|
|
@@ -132,4 +132,73 @@ test('detectGateSave (VALUE_METRICS V8 acted-on)', async (t) => {
|
|
|
132
132
|
assert.equal(detectGateSave(t1), false);
|
|
133
133
|
});
|
|
134
134
|
});
|
|
135
|
+
// ---- loop-fix additions (2026-07-03) ----
|
|
136
|
+
test('lastUnfinalizedCommit', async (t) => {
|
|
137
|
+
await t.test('returns cmd + shortSha + position of the unfinalized commit', () => {
|
|
138
|
+
const transcript = [
|
|
139
|
+
bash('cd /repos/docs && git add A.md && git commit -m "docs"', 'c1'),
|
|
140
|
+
result('c1', { text: '[main ac376bd] docs' }),
|
|
141
|
+
].join('\n');
|
|
142
|
+
const c = lastUnfinalizedCommit(transcript);
|
|
143
|
+
assert.ok(c);
|
|
144
|
+
assert.equal(c.shortSha, 'ac376bd');
|
|
145
|
+
assert.match(c.cmd, /cd \/repos\/docs/);
|
|
146
|
+
});
|
|
147
|
+
await t.test('finalized commit → null', () => {
|
|
148
|
+
const transcript = [
|
|
149
|
+
bash('git commit -m "x"', 'c1'),
|
|
150
|
+
result('c1', { text: COMMIT_OK }),
|
|
151
|
+
toolUse(COMPLETE, 'k1'),
|
|
152
|
+
].join('\n');
|
|
153
|
+
assert.equal(lastUnfinalizedCommit(transcript), null);
|
|
154
|
+
});
|
|
155
|
+
await t.test('unconfirmed commit (no success line) → null', () => {
|
|
156
|
+
const transcript = [
|
|
157
|
+
bash('git commit -m "x"', 'c1'),
|
|
158
|
+
result('c1', { text: 'nothing to commit, working tree clean' }),
|
|
159
|
+
].join('\n');
|
|
160
|
+
assert.equal(lastUnfinalizedCommit(transcript), null);
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
test('extractCommitPath', async (t) => {
|
|
164
|
+
await t.test('git -C path', () => assert.equal(extractCommitPath('git -C /repos/api commit -am "x"'), '/repos/api'));
|
|
165
|
+
await t.test('leading cd && commit', () => assert.equal(extractCommitPath('cd /repos/docs && git add -A && git commit -m "x"'), '/repos/docs'));
|
|
166
|
+
await t.test('last cd before commit wins', () => assert.equal(extractCommitPath('cd /a && ls; cd /b && git commit -m "x"'), '/b'));
|
|
167
|
+
await t.test('quoted path unwrapped', () => assert.equal(extractCommitPath('cd "/repos/my docs" && git commit -m "x"'), '/repos/my docs'));
|
|
168
|
+
await t.test('git -C wins over cd', () => assert.equal(extractCommitPath('cd /a && git -C /b commit -m "x"'), '/b'));
|
|
169
|
+
await t.test('no path → null', () => assert.equal(extractCommitPath('git add -A && git commit -m "x"'), null));
|
|
170
|
+
await t.test('relative path returned as-is', () => assert.equal(extractCommitPath('cd kawa.dev-doc && git commit -m "x"'), 'kawa.dev-doc'));
|
|
171
|
+
});
|
|
172
|
+
test('nagAlreadyInTranscript', async (t) => {
|
|
173
|
+
const commitLine = bash('git commit -m "x"', 'c1');
|
|
174
|
+
const commitResult = result('c1', { text: COMMIT_OK });
|
|
175
|
+
const nagLine = JSON.stringify({
|
|
176
|
+
type: 'user',
|
|
177
|
+
message: {
|
|
178
|
+
role: 'user',
|
|
179
|
+
content: [{ type: 'text', text: `Reminder — You committed but didn't finalize it. ${NAG_MARKER}"abc", status="committed")` }],
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
await t.test('nag after the commit → true (suppress)', () => {
|
|
183
|
+
const transcript = [commitLine, commitResult, nagLine].join('\n');
|
|
184
|
+
assert.equal(nagAlreadyInTranscript(transcript, 0), true);
|
|
185
|
+
});
|
|
186
|
+
await t.test('nag BEFORE the commit (older nag for an older commit) → false', () => {
|
|
187
|
+
const transcript = [nagLine, commitLine, commitResult].join('\n');
|
|
188
|
+
assert.equal(nagAlreadyInTranscript(transcript, 1), false);
|
|
189
|
+
});
|
|
190
|
+
await t.test('no nag at all → false', () => {
|
|
191
|
+
const transcript = [commitLine, commitResult].join('\n');
|
|
192
|
+
assert.equal(nagAlreadyInTranscript(transcript, 0), false);
|
|
193
|
+
});
|
|
194
|
+
await t.test('historical nag text (pre-marker era) still matches', () => {
|
|
195
|
+
// The marker phrase has been part of the nag wording since the gate shipped.
|
|
196
|
+
const legacy = JSON.stringify({
|
|
197
|
+
type: 'user',
|
|
198
|
+
message: { role: 'user', content: [{ type: 'text', text: 'Run complete_intent(intentId="6a48", status="committed", commitSha="463f")' }] },
|
|
199
|
+
});
|
|
200
|
+
const transcript = [commitLine, commitResult, legacy].join('\n');
|
|
201
|
+
assert.equal(nagAlreadyInTranscript(transcript, 0), true);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
135
204
|
//# sourceMappingURL=uncompleted-commit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uncompleted-commit.test.js","sourceRoot":"","sources":["../../src/stop/uncompleted-commit.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uncompleted-commit.test.js","sourceRoot":"","sources":["../../src/stop/uncompleted-commit.test.ts"],"names":[],"mappings":"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"}
|
package/build/telemetry.d.ts
CHANGED
|
@@ -52,3 +52,14 @@ export declare function emitActedOn(args: {
|
|
|
52
52
|
refId?: string;
|
|
53
53
|
repoOrigin: string;
|
|
54
54
|
}): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Close the telemetry turn for this session (Stop hook). Muninn OWNS turnSeq and
|
|
57
|
+
* stamps the real turnId on injections; this signal just tells it the turn ended
|
|
58
|
+
* so the NEXT injection opens a fresh turnId. Keep-mcp-thin: no seq/state here.
|
|
59
|
+
*
|
|
60
|
+
* MUST be sent AFTER this turn's stop_gate/stop_collision injections have flushed
|
|
61
|
+
* so they attribute to the closing turn — the Stop hook awaits those emits first.
|
|
62
|
+
* No body needed: muninn-ipc stamps `_agentId = SESSION_ID`, which Muninn resolves
|
|
63
|
+
* to the same session key the injections used. Fire-and-forget.
|
|
64
|
+
*/
|
|
65
|
+
export declare function emitTurnEnd(): Promise<void>;
|
package/build/telemetry.js
CHANGED
|
@@ -81,4 +81,19 @@ export function emitActedOn(args) {
|
|
|
81
81
|
data.refId = args.refId;
|
|
82
82
|
return request('telemetry', 'acted_on', data).then(() => { }).catch(() => { });
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Close the telemetry turn for this session (Stop hook). Muninn OWNS turnSeq and
|
|
86
|
+
* stamps the real turnId on injections; this signal just tells it the turn ended
|
|
87
|
+
* so the NEXT injection opens a fresh turnId. Keep-mcp-thin: no seq/state here.
|
|
88
|
+
*
|
|
89
|
+
* MUST be sent AFTER this turn's stop_gate/stop_collision injections have flushed
|
|
90
|
+
* so they attribute to the closing turn — the Stop hook awaits those emits first.
|
|
91
|
+
* No body needed: muninn-ipc stamps `_agentId = SESSION_ID`, which Muninn resolves
|
|
92
|
+
* to the same session key the injections used. Fire-and-forget.
|
|
93
|
+
*/
|
|
94
|
+
export function emitTurnEnd() {
|
|
95
|
+
if (!enabled())
|
|
96
|
+
return Promise.resolve();
|
|
97
|
+
return request('telemetry', 'turn_end', {}).then(() => { }).catch(() => { });
|
|
98
|
+
}
|
|
84
99
|
//# sourceMappingURL=telemetry.js.map
|
package/build/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;8BAE8B;AAC9B,MAAM,eAAe,GAAG,CAAC,CAAA;AAIzB,4FAA4F;AAC5F,MAAM,UAAU,cAAc,CAAC,CAA4B;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAA;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,KAAK,CAAA;AACnD,CAAC;AAED,oEAAoE;AACpE,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAQ7B;IACC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IACxC,MAAM,IAAI,GAAwB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,EAAE,EAAE,MAAM,EAAE;KACb,CAAA;IACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACpF,OAAO,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAK3B;IACC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IACxC,MAAM,IAAI,GAAwB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,EAAE,EAAE,MAAM,EAAE;KACb,CAAA;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACvC,OAAO,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AAC9E,CAAC"}
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
|
|
|
42
42
|
}>, "many">>;
|
|
43
43
|
/** Trigger condition / "How to apply" — pass empty string or null to clear. */
|
|
44
44
|
appliesWhen: z.ZodOptional<z.ZodString>;
|
|
45
|
+
surface: z.ZodOptional<z.ZodArray<z.ZodEnum<["pre-edit", "intent-create", "stop", "recall"]>, "many">>;
|
|
45
46
|
}, "strip", z.ZodTypeAny, {
|
|
46
47
|
context?: string | undefined;
|
|
47
48
|
summary?: string | undefined;
|
|
@@ -56,6 +57,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
|
|
|
56
57
|
constraint: string;
|
|
57
58
|
}[] | undefined;
|
|
58
59
|
appliesWhen?: string | undefined;
|
|
60
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
59
61
|
}, {
|
|
60
62
|
context?: string | undefined;
|
|
61
63
|
summary?: string | undefined;
|
|
@@ -70,6 +72,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
|
|
|
70
72
|
constraint: string;
|
|
71
73
|
}[] | undefined;
|
|
72
74
|
appliesWhen?: string | undefined;
|
|
75
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
73
76
|
}>>;
|
|
74
77
|
}, "strip", z.ZodTypeAny, {
|
|
75
78
|
repoPath: string;
|
|
@@ -97,6 +100,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
|
|
|
97
100
|
constraint: string;
|
|
98
101
|
}[] | undefined;
|
|
99
102
|
appliesWhen?: string | undefined;
|
|
103
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
100
104
|
} | undefined;
|
|
101
105
|
}, {
|
|
102
106
|
repoPath: string;
|
|
@@ -124,6 +128,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
|
|
|
124
128
|
constraint: string;
|
|
125
129
|
}[] | undefined;
|
|
126
130
|
appliesWhen?: string | undefined;
|
|
131
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
127
132
|
} | undefined;
|
|
128
133
|
}>;
|
|
129
134
|
export type EditSessionDecisionInput = z.infer<typeof editSessionDecisionSchema>;
|
|
@@ -177,6 +182,7 @@ export declare const editSessionDecisionTool: {
|
|
|
177
182
|
}>, "many">>;
|
|
178
183
|
/** Trigger condition / "How to apply" — pass empty string or null to clear. */
|
|
179
184
|
appliesWhen: z.ZodOptional<z.ZodString>;
|
|
185
|
+
surface: z.ZodOptional<z.ZodArray<z.ZodEnum<["pre-edit", "intent-create", "stop", "recall"]>, "many">>;
|
|
180
186
|
}, "strip", z.ZodTypeAny, {
|
|
181
187
|
context?: string | undefined;
|
|
182
188
|
summary?: string | undefined;
|
|
@@ -191,6 +197,7 @@ export declare const editSessionDecisionTool: {
|
|
|
191
197
|
constraint: string;
|
|
192
198
|
}[] | undefined;
|
|
193
199
|
appliesWhen?: string | undefined;
|
|
200
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
194
201
|
}, {
|
|
195
202
|
context?: string | undefined;
|
|
196
203
|
summary?: string | undefined;
|
|
@@ -205,6 +212,7 @@ export declare const editSessionDecisionTool: {
|
|
|
205
212
|
constraint: string;
|
|
206
213
|
}[] | undefined;
|
|
207
214
|
appliesWhen?: string | undefined;
|
|
215
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
208
216
|
}>>;
|
|
209
217
|
}, "strip", z.ZodTypeAny, {
|
|
210
218
|
repoPath: string;
|
|
@@ -232,6 +240,7 @@ export declare const editSessionDecisionTool: {
|
|
|
232
240
|
constraint: string;
|
|
233
241
|
}[] | undefined;
|
|
234
242
|
appliesWhen?: string | undefined;
|
|
243
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
235
244
|
} | undefined;
|
|
236
245
|
}, {
|
|
237
246
|
repoPath: string;
|
|
@@ -259,6 +268,7 @@ export declare const editSessionDecisionTool: {
|
|
|
259
268
|
constraint: string;
|
|
260
269
|
}[] | undefined;
|
|
261
270
|
appliesWhen?: string | undefined;
|
|
271
|
+
surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
|
|
262
272
|
} | undefined;
|
|
263
273
|
}>;
|
|
264
274
|
handler: typeof editSessionDecision;
|
|
@@ -17,7 +17,9 @@ const decisionUpdatesSchema = z.object({
|
|
|
17
17
|
constraintsChecked: z.array(z.string()).optional(),
|
|
18
18
|
constraintViolations: z.array(constraintViolationSchema).optional(),
|
|
19
19
|
/** Trigger condition / "How to apply" — pass empty string or null to clear. */
|
|
20
|
-
appliesWhen: z.string().optional()
|
|
20
|
+
appliesWhen: z.string().optional(),
|
|
21
|
+
surface: z.array(z.enum(['pre-edit', 'intent-create', 'stop', 'recall'])).optional()
|
|
22
|
+
.describe('Update the ceremony routing for this in-flight session decision. Same vocabulary as record_decision.surface.')
|
|
21
23
|
});
|
|
22
24
|
export const editSessionDecisionSchema = z.object({
|
|
23
25
|
repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;IACnE,+EAA+E;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export async function getDecisionDetail(input) {
|
|
|
33
33
|
consequences: d.consequences,
|
|
34
34
|
symptom: d.symptom,
|
|
35
35
|
appliesWhen: d.appliesWhen ?? d.applies_when ?? d.aw ?? null,
|
|
36
|
+
surface: d.surface ?? d.sf ?? null,
|
|
36
37
|
relatedFiles: d.relatedFiles || d.related_files || [],
|
|
37
38
|
supersedes: d.supersedes || [],
|
|
38
39
|
constraintsChecked: d.constraintsChecked || d.constraints_checked || [],
|
|
@@ -50,7 +51,7 @@ Recall surfaces (get_relevant_context, get_project_decisions, get_session_decisi
|
|
|
50
51
|
Inputs:
|
|
51
52
|
- \`decisionId\`: the decision to expand (the \`id\` / \`decisionId\` from a recall result).
|
|
52
53
|
|
|
53
|
-
Returns the decision's \`rationale\`, \`context\`, \`consequences\`, \`alternatives\`, \`symptom\`, \`appliesWhen\`, and related metadata. \`found: false\` when the id is unknown in this repo.`,
|
|
54
|
+
Returns the decision's \`rationale\`, \`context\`, \`consequences\`, \`alternatives\`, \`symptom\`, \`appliesWhen\`, \`surface\`, and related metadata. \`found: false\` when the id is unknown in this repo.`,
|
|
54
55
|
inputSchema: getDecisionDetailSchema,
|
|
55
56
|
handler: getDecisionDetail
|
|
56
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-decision-detail.js","sourceRoot":"","sources":["../../src/tools/get-decision-detail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IACzH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IAC9G,GAAG,oBAAoB;CACxB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"get-decision-detail.js","sourceRoot":"","sources":["../../src/tools/get-decision-detail.ts"],"names":[],"mappings":"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"}
|