@kawacode/mcp 6.9.5 → 7.0.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.
Files changed (101) hide show
  1. package/CLAUDE.md.example +23 -0
  2. package/README.md +88 -1
  3. package/build/index.js +20 -15
  4. package/build/index.js.map +1 -1
  5. package/build/prompts/intent-first-workflow.js +1 -2
  6. package/build/prompts/intent-first-workflow.js.map +1 -1
  7. package/build/tools/_mangled-args.d.ts +63 -0
  8. package/build/tools/_mangled-args.js +116 -0
  9. package/build/tools/_mangled-args.js.map +1 -0
  10. package/build/tools/_mangled-args.test.js +110 -0
  11. package/build/tools/_mangled-args.test.js.map +1 -0
  12. package/build/tools/activate-intent.d.ts +5 -52
  13. package/build/tools/activate-intent.js +14 -7
  14. package/build/tools/activate-intent.js.map +1 -1
  15. package/build/tools/arbiter-apply.d.ts +0 -52
  16. package/build/tools/arbiter-apply.js +0 -3
  17. package/build/tools/arbiter-apply.js.map +1 -1
  18. package/build/tools/arbiter-resolve.d.ts +0 -52
  19. package/build/tools/arbiter-resolve.js +0 -3
  20. package/build/tools/arbiter-resolve.js.map +1 -1
  21. package/build/tools/check-active-intent.d.ts +0 -52
  22. package/build/tools/check-active-intent.js +2 -24
  23. package/build/tools/check-active-intent.js.map +1 -1
  24. package/build/tools/complete-intent.d.ts +4 -56
  25. package/build/tools/complete-intent.js +15 -44
  26. package/build/tools/complete-intent.js.map +1 -1
  27. package/build/tools/create-intent.d.ts +0 -52
  28. package/build/tools/create-intent.js +0 -4
  29. package/build/tools/create-intent.js.map +1 -1
  30. package/build/tools/detect-intent-conflicts.d.ts +0 -52
  31. package/build/tools/detect-intent-conflicts.js +0 -3
  32. package/build/tools/detect-intent-conflicts.js.map +1 -1
  33. package/build/tools/edit-session-decision.d.ts +0 -52
  34. package/build/tools/edit-session-decision.js +0 -3
  35. package/build/tools/edit-session-decision.js.map +1 -1
  36. package/build/tools/get-decision-detail.d.ts +19 -55
  37. package/build/tools/get-decision-detail.js +12 -7
  38. package/build/tools/get-decision-detail.js.map +1 -1
  39. package/build/tools/get-intents-for-file.d.ts +35 -53
  40. package/build/tools/get-intents-for-file.js +61 -26
  41. package/build/tools/get-intents-for-file.js.map +1 -1
  42. package/build/tools/get-project-decisions.d.ts +0 -52
  43. package/build/tools/get-project-decisions.js +0 -3
  44. package/build/tools/get-project-decisions.js.map +1 -1
  45. package/build/tools/get-relevant-context.d.ts +0 -52
  46. package/build/tools/get-relevant-context.js +0 -3
  47. package/build/tools/get-relevant-context.js.map +1 -1
  48. package/build/tools/get-resolution-context.d.ts +0 -52
  49. package/build/tools/get-resolution-context.js +0 -4
  50. package/build/tools/get-resolution-context.js.map +1 -1
  51. package/build/tools/get-session-decisions.d.ts +10 -53
  52. package/build/tools/get-session-decisions.js +2 -4
  53. package/build/tools/get-session-decisions.js.map +1 -1
  54. package/build/tools/index.d.ts +11 -631
  55. package/build/tools/index.js +2 -9
  56. package/build/tools/index.js.map +1 -1
  57. package/build/tools/infer-history.js +4 -19
  58. package/build/tools/infer-history.js.map +1 -1
  59. package/build/tools/list-team-intents.d.ts +4 -56
  60. package/build/tools/list-team-intents.js +0 -3
  61. package/build/tools/list-team-intents.js.map +1 -1
  62. package/build/tools/log-work.d.ts +0 -52
  63. package/build/tools/log-work.js +0 -3
  64. package/build/tools/log-work.js.map +1 -1
  65. package/build/tools/pre-edit-acknowledge.d.ts +0 -52
  66. package/build/tools/pre-edit-acknowledge.js +0 -2
  67. package/build/tools/pre-edit-acknowledge.js.map +1 -1
  68. package/build/tools/pre-edit-decision-check.d.ts +0 -52
  69. package/build/tools/pre-edit-decision-check.js +0 -4
  70. package/build/tools/pre-edit-decision-check.js.map +1 -1
  71. package/build/tools/record-decision.d.ts +2 -52
  72. package/build/tools/record-decision.js +6 -5
  73. package/build/tools/record-decision.js.map +1 -1
  74. package/build/tools/resume-intent.d.ts +0 -52
  75. package/build/tools/resume-intent.js +6 -4
  76. package/build/tools/resume-intent.js.map +1 -1
  77. package/build/tools/update-intent.d.ts +0 -52
  78. package/build/tools/update-intent.js +1 -5
  79. package/build/tools/update-intent.js.map +1 -1
  80. package/build/types/refs.d.ts +73 -0
  81. package/build/types/refs.js +73 -0
  82. package/build/types/refs.js.map +1 -0
  83. package/package.json +1 -1
  84. package/build/tools/_fork-fields.d.ts +0 -84
  85. package/build/tools/_fork-fields.js +0 -65
  86. package/build/tools/_fork-fields.js.map +0 -1
  87. package/build/tools/_salvage-mangled-args.d.ts +0 -38
  88. package/build/tools/_salvage-mangled-args.js +0 -87
  89. package/build/tools/_salvage-mangled-args.js.map +0 -1
  90. package/build/tools/_salvage-mangled-args.test.js +0 -73
  91. package/build/tools/_salvage-mangled-args.test.js.map +0 -1
  92. package/build/tools/evolve-decisions.d.ts +0 -90
  93. package/build/tools/evolve-decisions.js +0 -40
  94. package/build/tools/evolve-decisions.js.map +0 -1
  95. package/build/tools/get-intents-for-lines.d.ts +0 -123
  96. package/build/tools/get-intents-for-lines.js +0 -67
  97. package/build/tools/get-intents-for-lines.js.map +0 -1
  98. package/build/tools/update-features.d.ts +0 -31
  99. package/build/tools/update-features.js +0 -51
  100. package/build/tools/update-features.js.map +0 -1
  101. /package/build/tools/{_salvage-mangled-args.test.d.ts → _mangled-args.test.d.ts} +0 -0
@@ -1,67 +0,0 @@
1
- import { z } from 'zod';
2
- import { request } from '../services/muninn-ipc.js';
3
- import { resolveOrigin } from './resolve-origin.js';
4
- import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
5
- export const getIntentsForLinesSchema = z.object({
6
- repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),
7
- repoPath: z.string().describe('Local path to the repository root'),
8
- filePath: z.string().describe('Path to the file (relative to repo root)'),
9
- startLine: z.number().min(1).describe('Start line number (1-based)'),
10
- endLine: z.number().min(1).describe('End line number (1-based, inclusive)'),
11
- ...forkFieldsExtensions,
12
- });
13
- export async function getIntentsForLines(input) {
14
- const actualOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
15
- const res = await request('intent-block', 'get-for-lines', {
16
- repoOrigin: actualOrigin,
17
- filePath: input.filePath,
18
- startLine: input.startLine,
19
- endLine: input.endLine,
20
- ...extractForkFields(input),
21
- });
22
- const overlappingIntents = (res.intents || []).map((intent) => ({
23
- intentId: intent.intentId || intent.id || '',
24
- title: intent.title || 'Unknown Intent',
25
- author: intent.author || intent.author_name || intent.authorName,
26
- status: intent.status || 'active',
27
- description: intent.description || '',
28
- branch: intent.branch || '',
29
- forkedFrom: intent.forked_from || intent.forkedFrom,
30
- overlappingLines: {
31
- blockStartLine: intent.block_start_line || intent.overlappingLines?.blockStartLine || 0,
32
- blockEndLine: intent.block_end_line || intent.overlappingLines?.blockEndLine || 0,
33
- overlapStart: intent.overlap_start || intent.overlappingLines?.overlapStart || 0,
34
- overlapEnd: intent.overlap_end || intent.overlappingLines?.overlapEnd || 0,
35
- }
36
- }));
37
- const hasOverlap = overlappingIntents.length > 0;
38
- let warning;
39
- if (hasOverlap) {
40
- const activeIntents = overlappingIntents.filter(i => i.status === 'active');
41
- if (activeIntents.length > 0) {
42
- const authors = [...new Set(activeIntents.map(i => i.author).filter(Boolean))];
43
- warning = `Lines ${input.startLine}-${input.endLine} overlap with active work by: ${authors.join(', ') || 'team members'}`;
44
- }
45
- }
46
- return {
47
- filePath: input.filePath,
48
- queryRange: { startLine: input.startLine, endLine: input.endLine },
49
- intents: overlappingIntents,
50
- hasOverlap,
51
- warning
52
- };
53
- }
54
- export const getIntentsForLinesTool = {
55
- name: 'get_intents_for_lines',
56
- description: `Get intents covering a specific line range.
57
-
58
- Use this before modifying specific lines to check for conflicts:
59
- - Warns if the lines overlap with another team member's active intent
60
- - Shows the exact overlap range
61
- - Helps avoid merge conflicts and duplicate work
62
-
63
- Returns overlap details so you can work around or coordinate with team members.`,
64
- inputSchema: getIntentsForLinesSchema,
65
- handler: getIntentsForLines
66
- };
67
- //# sourceMappingURL=get-intents-for-lines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-intents-for-lines.js","sourceRoot":"","sources":["../../src/tools/get-intents-for-lines.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const updateFeaturesSchema: z.ZodObject<{
3
- repoPath: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- repoPath: string;
6
- }, {
7
- repoPath: string;
8
- }>;
9
- export type UpdateFeaturesInput = z.infer<typeof updateFeaturesSchema>;
10
- export interface UpdateFeaturesResponse {
11
- success: boolean;
12
- count?: number;
13
- driftSpinoffs?: number;
14
- forcedFallback?: number;
15
- origin?: string;
16
- error?: string;
17
- message: string;
18
- }
19
- export declare function updateFeatures(input: UpdateFeaturesInput): Promise<UpdateFeaturesResponse>;
20
- export declare const updateFeaturesTool: {
21
- name: string;
22
- description: string;
23
- inputSchema: z.ZodObject<{
24
- repoPath: z.ZodString;
25
- }, "strip", z.ZodTypeAny, {
26
- repoPath: string;
27
- }, {
28
- repoPath: string;
29
- }>;
30
- handler: typeof updateFeatures;
31
- };
@@ -1,51 +0,0 @@
1
- import { z } from 'zod';
2
- import { request } from '../services/muninn-ipc.js';
3
- export const updateFeaturesSchema = z.object({
4
- repoPath: z.string().describe('Local path to the repository root'),
5
- });
6
- export async function updateFeatures(input) {
7
- // An extend is a single model call over the full feature catalog plus the
8
- // unassigned intents, so it can take tens of seconds on a large catalog —
9
- // use a generous timeout like the synchronous infer_history estimate path.
10
- const UPDATE_TIMEOUT_MS = 180_000;
11
- const res = await request('feature', 'update', { repoPath: input.repoPath }, UPDATE_TIMEOUT_MS);
12
- if (res && res.success === false) {
13
- const error = res.error ?? 'unknown error';
14
- return { success: false, error, message: `Feature update failed: ${error}` };
15
- }
16
- const count = res?.count ?? 0;
17
- const driftSpinoffs = res?.driftSpinoffs ?? 0;
18
- const forcedFallback = res?.forcedFallback ?? 0;
19
- const notes = [];
20
- if (driftSpinoffs)
21
- notes.push(`${driftSpinoffs} drift spin-off${driftSpinoffs === 1 ? '' : 's'}`);
22
- if (forcedFallback)
23
- notes.push(`${forcedFallback} unsorted`);
24
- const suffix = notes.length ? ` (${notes.join(', ')})` : '';
25
- return {
26
- success: true,
27
- count,
28
- driftSpinoffs,
29
- forcedFallback,
30
- origin: res?.origin,
31
- message: `Feature catalog updated: ${count} feature${count === 1 ? '' : 's'}${suffix}.`,
32
- };
33
- }
34
- export const updateFeaturesTool = {
35
- name: 'update_features',
36
- description: `Update the project's feature catalog from its recorded intents.
37
-
38
- Additively groups any intents that are not yet assigned to a feature into the running catalog (an incremental "extend"), without disturbing existing features. The feature catalog is the high-level "what does this project actually do?" view, derived from the repo's intents.
39
-
40
- When to use:
41
- - After recording or completing intents, to keep the feature list current.
42
- - On demand, when you want the catalog refreshed with recent work.
43
-
44
- Behavior:
45
- - Additive only — never deletes or re-derives existing features.
46
- - Intents already assigned to a feature are skipped; only unassigned ones are processed.
47
- - Runs in the Kawa Code desktop app and returns the resulting feature count.`,
48
- inputSchema: updateFeaturesSchema,
49
- handler: updateFeatures,
50
- };
51
- //# sourceMappingURL=update-features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-features.js","sourceRoot":"","sources":["../../src/tools/update-features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACnE,CAAC,CAAA;AAcF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,OAAO,CAAA;IACjC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,iBAAiB,CAAC,CAAA;IAE/F,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,eAAe,CAAA;QAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,KAAK,EAAE,EAAE,CAAA;IAC9E,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,CAAA;IAC7B,MAAM,aAAa,GAAG,GAAG,EAAE,aAAa,IAAI,CAAC,CAAA;IAC7C,MAAM,cAAc,GAAG,GAAG,EAAE,cAAc,IAAI,CAAC,CAAA;IAE/C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,aAAa;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,kBAAkB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACjG,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,WAAW,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAE3D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK;QACL,aAAa;QACb,cAAc;QACd,MAAM,EAAE,GAAG,EAAE,MAAM;QACnB,OAAO,EAAE,4BAA4B,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,GAAG;KACxF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE;;;;;;;;;;;6EAW8D;IAC3E,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA"}