@kawacode/mcp 6.9.1 → 6.9.4

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.
Files changed (38) hide show
  1. package/README.md +17 -1
  2. package/build/index.js +22 -2
  3. package/build/index.js.map +1 -1
  4. package/build/kawacode-on-pre-edit.d.ts +6 -1
  5. package/build/kawacode-on-pre-edit.js +27 -17
  6. package/build/kawacode-on-pre-edit.js.map +1 -1
  7. package/build/pre-edit/acked-decisions.d.ts +30 -0
  8. package/build/pre-edit/acked-decisions.js +65 -0
  9. package/build/pre-edit/acked-decisions.js.map +1 -0
  10. package/build/pre-edit/acked-decisions.test.d.ts +1 -0
  11. package/build/pre-edit/acked-decisions.test.js +59 -0
  12. package/build/pre-edit/acked-decisions.test.js.map +1 -0
  13. package/build/tools/_salvage-mangled-args.d.ts +38 -0
  14. package/build/tools/_salvage-mangled-args.js +87 -0
  15. package/build/tools/_salvage-mangled-args.js.map +1 -0
  16. package/build/tools/_salvage-mangled-args.test.d.ts +1 -0
  17. package/build/tools/_salvage-mangled-args.test.js +73 -0
  18. package/build/tools/_salvage-mangled-args.test.js.map +1 -0
  19. package/build/tools/complete-intent.d.ts +4 -4
  20. package/build/tools/complete-intent.js +14 -4
  21. package/build/tools/complete-intent.js.map +1 -1
  22. package/build/tools/edit-session-decision.d.ts +13 -12
  23. package/build/tools/edit-session-decision.js +14 -1
  24. package/build/tools/edit-session-decision.js.map +1 -1
  25. package/build/tools/index.d.ts +130 -89
  26. package/build/tools/index.js +3 -1
  27. package/build/tools/index.js.map +1 -1
  28. package/build/tools/list-team-intents.d.ts +4 -4
  29. package/build/tools/log-work.js +13 -2
  30. package/build/tools/log-work.js.map +1 -1
  31. package/build/tools/pre-edit-acknowledge.d.ts +11 -12
  32. package/build/tools/pre-edit-acknowledge.js +18 -25
  33. package/build/tools/pre-edit-acknowledge.js.map +1 -1
  34. package/build/tools/record-decision.d.ts +12 -12
  35. package/build/tools/resume-intent.d.ts +112 -0
  36. package/build/tools/resume-intent.js +87 -0
  37. package/build/tools/resume-intent.js.map +1 -0
  38. package/package.json +2 -2
@@ -0,0 +1,73 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { salvageMangledArgs } from './_salvage-mangled-args.js';
4
+ const FIELDS = ['summary', 'rationale', 'consequences', 'symptom', 'appliesWhen', 'alternatives', 'relatedFiles'];
5
+ test('recovers a string field absorbed by a mis-closed host parameter', () => {
6
+ const { args, salvaged } = salvageMangledArgs({
7
+ consequences: 'Real consequences text.</consequences>\n<parameter name="symptom">Real symptom text.',
8
+ }, FIELDS);
9
+ assert.equal(args.consequences, 'Real consequences text.');
10
+ assert.equal(args.symptom, 'Real symptom text.');
11
+ assert.deepEqual(salvaged, [{ field: 'symptom', fromField: 'consequences' }]);
12
+ });
13
+ test('JSON-parses an absorbed array value', () => {
14
+ const { args } = salvageMangledArgs({
15
+ consequences: 'Text.</consequences>\n<parameter name="alternatives">["option A", "option B"]',
16
+ }, FIELDS);
17
+ assert.equal(args.consequences, 'Text.');
18
+ assert.deepEqual(args.alternatives, ['option A', 'option B']);
19
+ });
20
+ test('unwinds a chain of consecutive mangled parameters', () => {
21
+ const { args, salvaged } = salvageMangledArgs({
22
+ consequences: 'C text.</consequences>\n<parameter name="symptom">S text.</symptom>\n<parameter name="appliesWhen">A text.',
23
+ }, FIELDS);
24
+ assert.equal(args.consequences, 'C text.');
25
+ assert.equal(args.symptom, 'S text.');
26
+ assert.equal(args.appliesWhen, 'A text.');
27
+ assert.equal(salvaged.length, 2);
28
+ });
29
+ test('does NOT salvage when the closing tag does not name the host field', () => {
30
+ // Genuine prose that merely mentions the markers — e.g. a decision recorded
31
+ // *about* this bug. Left untouched.
32
+ const original = 'Docs: a value may end with </consequences>\n<parameter name="symptom">like so.';
33
+ const { args, salvaged } = salvageMangledArgs({ rationale: original }, FIELDS);
34
+ assert.equal(args.rationale, original);
35
+ assert.equal(args.symptom, undefined);
36
+ assert.deepEqual(salvaged, []);
37
+ });
38
+ test('does NOT salvage an unknown target field', () => {
39
+ const original = 'Text.</consequences>\n<parameter name="notARealField">value';
40
+ const { args, salvaged } = salvageMangledArgs({ consequences: original }, FIELDS);
41
+ assert.equal(args.consequences, original);
42
+ assert.deepEqual(salvaged, []);
43
+ });
44
+ test('never overwrites a target the caller actually supplied', () => {
45
+ const original = 'Text.</consequences>\n<parameter name="symptom">absorbed symptom';
46
+ const { args, salvaged } = salvageMangledArgs({ consequences: original, symptom: 'genuine symptom' }, FIELDS);
47
+ assert.equal(args.symptom, 'genuine symptom');
48
+ assert.equal(args.consequences, original);
49
+ assert.deepEqual(salvaged, []);
50
+ });
51
+ test('leaves clean args untouched and reports no salvage', () => {
52
+ const input = { summary: 'A summary', alternatives: ['x'], relatedFiles: ['a.ts'] };
53
+ const { args, salvaged } = salvageMangledArgs(input, FIELDS);
54
+ assert.deepEqual(args, input);
55
+ assert.deepEqual(salvaged, []);
56
+ });
57
+ test('does not mutate the caller-supplied args object', () => {
58
+ const input = {
59
+ consequences: 'Text.</consequences>\n<parameter name="symptom">S.',
60
+ };
61
+ salvageMangledArgs(input, FIELDS);
62
+ assert.equal(input.consequences, 'Text.</consequences>\n<parameter name="symptom">S.');
63
+ });
64
+ test('keeps the raw text when an absorbed structured value is not valid JSON', () => {
65
+ const { args } = salvageMangledArgs({ consequences: 'Text.</consequences>\n<parameter name="alternatives">[not, valid, json' }, FIELDS);
66
+ assert.equal(args.alternatives, '[not, valid, json');
67
+ });
68
+ test('ignores non-string fields', () => {
69
+ const { args, salvaged } = salvageMangledArgs({ relatedFiles: ['a.ts', 'b.ts'], summary: 'clean' }, FIELDS);
70
+ assert.deepEqual(args.relatedFiles, ['a.ts', 'b.ts']);
71
+ assert.deepEqual(salvaged, []);
72
+ });
73
+ //# sourceMappingURL=_salvage-mangled-args.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_salvage-mangled-args.test.js","sourceRoot":"","sources":["../../src/tools/_salvage-mangled-args.test.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare const completeIntentSchema: z.ZodObject<{
22
22
  supersededBy: z.ZodOptional<z.ZodString>;
23
23
  humanApproved: z.ZodOptional<z.ZodBoolean>;
24
24
  }, "strip", z.ZodTypeAny, {
25
- status: "committed" | "pushed" | "done" | "abandoned" | "superseded";
25
+ status: "done" | "abandoned" | "committed" | "pushed" | "superseded";
26
26
  repoPath: string;
27
27
  repoOrigin?: string | undefined;
28
28
  forkAuthor?: {
@@ -37,7 +37,7 @@ export declare const completeIntentSchema: z.ZodObject<{
37
37
  humanApproved?: boolean | undefined;
38
38
  }, {
39
39
  repoPath: string;
40
- status?: "committed" | "pushed" | "done" | "abandoned" | "superseded" | undefined;
40
+ status?: "done" | "abandoned" | "committed" | "pushed" | "superseded" | undefined;
41
41
  repoOrigin?: string | undefined;
42
42
  forkAuthor?: {
43
43
  platform: "github" | "gitlab";
@@ -172,7 +172,7 @@ export declare const completeIntentTool: {
172
172
  supersededBy: z.ZodOptional<z.ZodString>;
173
173
  humanApproved: z.ZodOptional<z.ZodBoolean>;
174
174
  }, "strip", z.ZodTypeAny, {
175
- status: "committed" | "pushed" | "done" | "abandoned" | "superseded";
175
+ status: "done" | "abandoned" | "committed" | "pushed" | "superseded";
176
176
  repoPath: string;
177
177
  repoOrigin?: string | undefined;
178
178
  forkAuthor?: {
@@ -187,7 +187,7 @@ export declare const completeIntentTool: {
187
187
  humanApproved?: boolean | undefined;
188
188
  }, {
189
189
  repoPath: string;
190
- status?: "committed" | "pushed" | "done" | "abandoned" | "superseded" | undefined;
190
+ status?: "done" | "abandoned" | "committed" | "pushed" | "superseded" | undefined;
191
191
  repoOrigin?: string | undefined;
192
192
  forkAuthor?: {
193
193
  platform: "github" | "gitlab";
@@ -41,7 +41,13 @@ export async function completeIntent(input) {
41
41
  const intentId = res.intentId || '';
42
42
  const intentTitle = res.intentTitle || 'Intent';
43
43
  const previousStatus = res.previousStatus || 'active';
44
- const success = res.success !== false;
44
+ // A completed intent ALWAYS comes back with its id — the base success payload
45
+ // carries both `success: true` and `intentId`, with deferredConflicts /
46
+ // apiSyncDeferred merged onto it, so those keep succeeding. A response that
47
+ // neither declares failure nor carries an id completed nothing; reporting it
48
+ // as success would claim a status flip, block auto-capture and distillation
49
+ // that never happened (constraint cdb76224).
50
+ const success = res.success !== false && !!intentId;
45
51
  const deferredConflicts = Array.isArray(res.deferredConflicts) ? res.deferredConflicts : [];
46
52
  const committedDecisionCount = typeof res.committedDecisionCount === 'number' ? res.committedDecisionCount : undefined;
47
53
  const reason = res.reason === 'transient-failure' ? res.reason : undefined;
@@ -63,9 +69,13 @@ export async function completeIntent(input) {
63
69
  `If retrying repeatedly fails, the user can abandon the intent (complete_intent(status="abandoned")).`;
64
70
  }
65
71
  else if (!success) {
66
- // Catch-all for legacy / unexpected error shapes.
67
- newStatus = res.newStatus || res.status || input.status;
68
- message = `Failed to complete intent "${intentTitle}".`;
72
+ // Catch-all for legacy / unexpected error shapes, plus the anomalous
73
+ // "no failure declared AND no intentId" case. In the latter nothing ran,
74
+ // so do NOT echo the requested status as though it had landed.
75
+ newStatus = res.newStatus || res.status || (intentId ? input.status : 'active');
76
+ message = intentId
77
+ ? `Failed to complete intent "${intentTitle}".`
78
+ : `Could not complete intent "${intentTitle}" — Kawa Code returned no intent id, so NOTHING was completed: the status was not changed, no code blocks were captured, and no decisions were distilled. Do NOT report this as committed. Retry complete_intent; if it fails again, surface the failure to the user rather than assuming the intent closed.`;
69
79
  }
70
80
  else {
71
81
  // Clean completion. Note: Phase 3.5 may have queued writes for later
@@ -1 +1 @@
1
- {"version":3,"file":"complete-intent.js","sourceRoot":"","sources":["../../src/tools/complete-intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete-intent.js","sourceRoot":"","sources":["../../src/tools/complete-intent.ts"],"names":[],"mappings":"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"}
@@ -32,13 +32,13 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
32
32
  constraint: z.ZodString;
33
33
  reason: z.ZodString;
34
34
  }, "strip", z.ZodTypeAny, {
35
+ constraint: string;
35
36
  reason: string;
36
37
  alternative: string;
37
- constraint: string;
38
38
  }, {
39
+ constraint: string;
39
40
  reason: string;
40
41
  alternative: string;
41
- constraint: string;
42
42
  }>, "many">>;
43
43
  /** Trigger condition / "How to apply" — pass empty string or null to clear. */
44
44
  appliesWhen: z.ZodOptional<z.ZodString>;
@@ -52,9 +52,9 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
52
52
  relatedFiles?: string[] | undefined;
53
53
  constraintsChecked?: string[] | undefined;
54
54
  constraintViolations?: {
55
+ constraint: string;
55
56
  reason: string;
56
57
  alternative: string;
57
- constraint: string;
58
58
  }[] | undefined;
59
59
  appliesWhen?: string | undefined;
60
60
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -67,9 +67,9 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
67
67
  relatedFiles?: string[] | undefined;
68
68
  constraintsChecked?: string[] | undefined;
69
69
  constraintViolations?: {
70
+ constraint: string;
70
71
  reason: string;
71
72
  alternative: string;
72
- constraint: string;
73
73
  }[] | undefined;
74
74
  appliesWhen?: string | undefined;
75
75
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -95,9 +95,9 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
95
95
  relatedFiles?: string[] | undefined;
96
96
  constraintsChecked?: string[] | undefined;
97
97
  constraintViolations?: {
98
+ constraint: string;
98
99
  reason: string;
99
100
  alternative: string;
100
- constraint: string;
101
101
  }[] | undefined;
102
102
  appliesWhen?: string | undefined;
103
103
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -123,9 +123,9 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
123
123
  relatedFiles?: string[] | undefined;
124
124
  constraintsChecked?: string[] | undefined;
125
125
  constraintViolations?: {
126
+ constraint: string;
126
127
  reason: string;
127
128
  alternative: string;
128
- constraint: string;
129
129
  }[] | undefined;
130
130
  appliesWhen?: string | undefined;
131
131
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -134,6 +134,7 @@ export declare const editSessionDecisionSchema: z.ZodObject<{
134
134
  export type EditSessionDecisionInput = z.infer<typeof editSessionDecisionSchema>;
135
135
  export interface EditSessionDecisionResponse {
136
136
  success: boolean;
137
+ error?: string;
137
138
  }
138
139
  export declare function editSessionDecision(input: EditSessionDecisionInput): Promise<EditSessionDecisionResponse>;
139
140
  export declare const editSessionDecisionTool: {
@@ -172,13 +173,13 @@ export declare const editSessionDecisionTool: {
172
173
  constraint: z.ZodString;
173
174
  reason: z.ZodString;
174
175
  }, "strip", z.ZodTypeAny, {
176
+ constraint: string;
175
177
  reason: string;
176
178
  alternative: string;
177
- constraint: string;
178
179
  }, {
180
+ constraint: string;
179
181
  reason: string;
180
182
  alternative: string;
181
- constraint: string;
182
183
  }>, "many">>;
183
184
  /** Trigger condition / "How to apply" — pass empty string or null to clear. */
184
185
  appliesWhen: z.ZodOptional<z.ZodString>;
@@ -192,9 +193,9 @@ export declare const editSessionDecisionTool: {
192
193
  relatedFiles?: string[] | undefined;
193
194
  constraintsChecked?: string[] | undefined;
194
195
  constraintViolations?: {
196
+ constraint: string;
195
197
  reason: string;
196
198
  alternative: string;
197
- constraint: string;
198
199
  }[] | undefined;
199
200
  appliesWhen?: string | undefined;
200
201
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -207,9 +208,9 @@ export declare const editSessionDecisionTool: {
207
208
  relatedFiles?: string[] | undefined;
208
209
  constraintsChecked?: string[] | undefined;
209
210
  constraintViolations?: {
211
+ constraint: string;
210
212
  reason: string;
211
213
  alternative: string;
212
- constraint: string;
213
214
  }[] | undefined;
214
215
  appliesWhen?: string | undefined;
215
216
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -235,9 +236,9 @@ export declare const editSessionDecisionTool: {
235
236
  relatedFiles?: string[] | undefined;
236
237
  constraintsChecked?: string[] | undefined;
237
238
  constraintViolations?: {
239
+ constraint: string;
238
240
  reason: string;
239
241
  alternative: string;
240
- constraint: string;
241
242
  }[] | undefined;
242
243
  appliesWhen?: string | undefined;
243
244
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -263,9 +264,9 @@ export declare const editSessionDecisionTool: {
263
264
  relatedFiles?: string[] | undefined;
264
265
  constraintsChecked?: string[] | undefined;
265
266
  constraintViolations?: {
267
+ constraint: string;
266
268
  reason: string;
267
269
  alternative: string;
268
- constraint: string;
269
270
  }[] | undefined;
270
271
  appliesWhen?: string | undefined;
271
272
  surface?: ("recall" | "pre-edit" | "intent-create" | "stop")[] | undefined;
@@ -40,7 +40,20 @@ export async function editSessionDecision(input) {
40
40
  updates: input.updates,
41
41
  ...extractForkFields(input),
42
42
  });
43
- return { success: res.success !== false };
43
+ // No id receipt exists for an update/delete, so require an EXPLICIT
44
+ // success instead of inferring it from the absence of a failure
45
+ // (constraint cdb76224). Safe here: Kawa Code sets `success` on every
46
+ // branch of this action, so a missing flag means an unexpected shape, not
47
+ // a silent success. Surface `error` so the caller learns WHY — e.g. the
48
+ // synced-decision case, which must be refined via record_decision(supersedes).
49
+ if (res.success === true)
50
+ return { success: true };
51
+ return {
52
+ success: false,
53
+ error: typeof res.error === 'string' && res.error.length > 0
54
+ ? res.error
55
+ : 'The decision was NOT modified (Kawa Code did not confirm the edit). Nothing changed — re-check the decision id and intent id.',
56
+ };
44
57
  }
45
58
  export const editSessionDecisionTool = {
46
59
  name: 'edit_session_decision',
@@ -1 +1 @@
1
- {"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"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"}