Sign In

@kawacode/mcp

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kawacode/mcp - npm Package Compare versions

Comparing version
6.9.5
to
7.0.1
+63
build/tools/_mangled-args.d.ts
/**
* Handling for tool-call args mangled by a mis-closed parameter tag.
*
* When an LLM emits a parameter block that is opened correctly but closed with
* `</fieldName>` instead of the required closing tag — and the NEXT parameter is
* opened without the required prefix — the harness's tool-call parser never sees
* a parameter boundary. Everything up to the next well-formed close is folded
* into the preceding field's string value. What reaches this process is
* perfectly valid JSON in which one field carries a self-describing tail:
*
* { consequences: 'real text</consequences>\n<parameter name="symptom">real symptom' }
*
* Still live: reproduced end-to-end on 2026-08-04, and it fired twice in the
* session that reworked this module. It is model-side and provider-universal, so
* no amount of prompt discipline retires it.
*
* TWO OUTCOMES, deliberately split:
*
* - ONE absorbed field. Losslessly recoverable — the tail names its field and
* carries that field's value verbatim, with nothing left over. Repaired here.
* This is a compensating path, which the project otherwise forbids; it is
* accepted because the alternative is silent corruption of records that
* become immutable on sync, and because the recovery is mechanical rather
* than inferred.
*
* - A CHAIN (the absorbed value itself carries further markup). Recovering it
* means deciding where one value ends and the next begins across forms that
* vary — inner parameters closed correctly, emissions cut off mid-tag,
* trailing block closers. That is reconstruction, not recovery, so it is
* refused instead: the caller rejects the tool call and the model re-emits.
*
* Every outcome is logged by the caller. Nothing here is silent.
*/
export interface SalvageEntry {
/** The field whose value was recovered. */
field: string;
/** The field that had absorbed it. */
fromField: string;
}
export interface ChainedEntry {
/** The field whose string absorbed the rest of the emission. */
field: string;
/** The first field named in the tail. */
absorbed: string;
}
export interface MangledArgsResult {
/** `args` with every single-field absorption undone. Never partially chained. */
args: Record<string, unknown>;
/** Recoveries applied. */
salvaged: SalvageEntry[];
/** Chains found. Non-empty means the caller must refuse the tool call. */
chained: ChainedEntry[];
}
/**
* Undo single-field absorptions in `args` and report chains. Returns a new
* object; `args` is untouched.
*
* `knownFields` are the schema field names of the tool being called — neither
* recovery nor refusal is triggered by a tail naming anything outside that set.
*/
export declare function resolveMangledArgs(args: Record<string, unknown>, knownFields: readonly string[]): MangledArgsResult;
/** Operator-readable refusal naming what to re-send. */
export declare function describeChainedArgs(name: string, chained: readonly ChainedEntry[]): string;
/**
* Handling for tool-call args mangled by a mis-closed parameter tag.
*
* When an LLM emits a parameter block that is opened correctly but closed with
* `</fieldName>` instead of the required closing tag — and the NEXT parameter is
* opened without the required prefix — the harness's tool-call parser never sees
* a parameter boundary. Everything up to the next well-formed close is folded
* into the preceding field's string value. What reaches this process is
* perfectly valid JSON in which one field carries a self-describing tail:
*
* { consequences: 'real text</consequences>\n<parameter name="symptom">real symptom' }
*
* Still live: reproduced end-to-end on 2026-08-04, and it fired twice in the
* session that reworked this module. It is model-side and provider-universal, so
* no amount of prompt discipline retires it.
*
* TWO OUTCOMES, deliberately split:
*
* - ONE absorbed field. Losslessly recoverable — the tail names its field and
* carries that field's value verbatim, with nothing left over. Repaired here.
* This is a compensating path, which the project otherwise forbids; it is
* accepted because the alternative is silent corruption of records that
* become immutable on sync, and because the recovery is mechanical rather
* than inferred.
*
* - A CHAIN (the absorbed value itself carries further markup). Recovering it
* means deciding where one value ends and the next begins across forms that
* vary — inner parameters closed correctly, emissions cut off mid-tag,
* trailing block closers. That is reconstruction, not recovery, so it is
* refused instead: the caller rejects the tool call and the model re-emits.
*
* Every outcome is logged by the caller. Nothing here is silent.
*/
/** `</host>` + optional whitespace + a parameter opening + everything after it. */
const MANGLED_TAIL = /<\/([A-Za-z_][\w-]*)>\s*<parameter name="([A-Za-z_]\w*)">([\s\S]*)$/;
/**
* Any residue in a recovered value means the emission carried more than one
* absorbed field — a further parameter, its own closing tag, or an opening cut
* off mid-tag.
*/
const RESIDUAL_MARKUP = /<parameter name="|<\/[A-Za-z_][\w-]*>|<[A-Za-z]*$/;
/**
* Arrays and objects arrive as JSON text; anything else is a plain string.
* Only attempt a parse when the value actually looks structured, so a string
* like "123" or "true" is never silently coerced to another type.
*/
function parseSalvagedValue(raw) {
const trimmed = raw.trim();
if (trimmed.startsWith('[') || trimmed.startsWith('{')) {
try {
return JSON.parse(trimmed);
}
catch {
// Not valid JSON after all — keep the text rather than dropping it.
}
}
return trimmed;
}
/**
* Undo single-field absorptions in `args` and report chains. Returns a new
* object; `args` is untouched.
*
* `knownFields` are the schema field names of the tool being called — neither
* recovery nor refusal is triggered by a tail naming anything outside that set.
*/
export function resolveMangledArgs(args, knownFields) {
const known = new Set(knownFields);
const out = { ...args };
const salvaged = [];
const chained = [];
for (const [hostField, hostValue] of Object.entries(args)) {
if (typeof hostValue !== 'string')
continue;
const match = hostValue.match(MANGLED_TAIL);
if (!match || match.index === undefined)
continue;
const [, closingTag, targetField, rawValue] = match;
// Three guards, all required. Any miss means this is probably genuine prose
// (a decision *documenting* this very bug legitimately contains these
// markers — two such records exist in prod), so leave it alone and let
// normal validation decide.
//
// 1. the bogus closing tag names the host field — evidence of a mis-closed
// host parameter rather than an incidental mention
if (closingTag !== hostField)
continue;
// 2. the absorbed field is real for this tool
if (!known.has(targetField))
continue;
// 3. it was not otherwise supplied — never overwrite genuine input
const existing = out[targetField];
if (existing !== undefined && existing !== null && existing !== '')
continue;
// Past the guards the field IS mangled. The only question left is whether
// the recovery is mechanical or a guess.
if (RESIDUAL_MARKUP.test(rawValue)) {
chained.push({ field: hostField, absorbed: targetField });
continue;
}
out[hostField] = hostValue.slice(0, match.index).trimEnd();
out[targetField] = parseSalvagedValue(rawValue);
salvaged.push({ field: targetField, fromField: hostField });
}
return { args: out, salvaged, chained };
}
/** Operator-readable refusal naming what to re-send. */
export function describeChainedArgs(name, chained) {
const detail = chained
.map(c => `"${c.field}" absorbed "${c.absorbed}" and at least one more field`)
.join('; ');
return (`Malformed tool call for ${name}: ${detail}. A parameter was closed with ` +
`</fieldName> instead of the required closing tag, so the parameters that ` +
`followed were folded into it. Too much was run together to separate safely, ` +
`so nothing was recorded. Re-send the call with every parameter closed correctly.`);
}
//# sourceMappingURL=_mangled-args.js.map
{"version":3,"file":"_mangled-args.js","sourceRoot":"","sources":["../../src/tools/_mangled-args.ts"],"names":[],"mappings":"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"}
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { resolveMangledArgs, describeChainedArgs } from './_mangled-args.js';
const FIELDS = [
'summary',
'rationale',
'consequences',
'symptom',
'appliesWhen',
'alternatives',
'relatedFiles',
'supersedes',
];
test('recovers a single string field absorbed by a mis-closed host parameter', () => {
const { args, salvaged, chained } = resolveMangledArgs({
consequences: 'Real consequences text.</consequences>\n<parameter name="symptom">Real symptom text.',
}, FIELDS);
assert.equal(args.consequences, 'Real consequences text.');
assert.equal(args.symptom, 'Real symptom text.');
assert.deepEqual(salvaged, [{ field: 'symptom', fromField: 'consequences' }]);
assert.deepEqual(chained, []);
});
test('JSON-parses an absorbed array value', () => {
const { args } = resolveMangledArgs({
consequences: 'Text.</consequences>\n<parameter name="alternatives">["option A", "option B"]',
}, FIELDS);
assert.equal(args.consequences, 'Text.');
assert.deepEqual(args.alternatives, ['option A', 'option B']);
});
test('refuses a chain instead of unwinding it', () => {
// Prod shape (decision 048c8de5): the inner parameter closed correctly, so the
// array and the next field ran together. Separating them is reconstruction.
const original = 'R text.</rationale>\n<parameter name="supersedes">["146172a8"]</parameter>\n<parameter name="alternatives">["keep DELETE on abandon"]';
const { args, salvaged, chained } = resolveMangledArgs({ rationale: original }, FIELDS);
assert.equal(args.rationale, original, 'left untouched — the caller refuses the call');
assert.equal(args.supersedes, undefined);
assert.deepEqual(salvaged, []);
assert.deepEqual(chained, [{ field: 'rationale', absorbed: 'supersedes' }]);
});
test('refuses when the recovered value keeps a trailing close tag', () => {
// Prod shape (decision e484aadb): the last field kept its own close plus the
// emission's block closers.
const { salvaged, chained } = resolveMangledArgs({
consequences: 'C text.</consequences>\n<parameter name="relatedFiles">["deploy.sh"]</parameter>\n</invoke>',
}, FIELDS);
assert.deepEqual(salvaged, []);
assert.equal(chained.length, 1);
});
test('refuses when the emission was cut off mid-tag', () => {
// Prod shape (decision 077c1809).
const { salvaged, chained } = resolveMangledArgs({ rationale: 'R text.</rationale>\n<parameter name="symptom">S text.</symptom>\n<paramet' }, FIELDS);
assert.deepEqual(salvaged, []);
assert.equal(chained.length, 1);
});
test('does NOT touch prose that merely mentions the markers', () => {
// A decision (or intent description) recorded *about* this bug. Two such
// records exist in prod and must keep passing through untouched.
const original = 'Docs: a value may end with </consequences>\n<parameter name="symptom">like so.';
const { args, salvaged, chained } = resolveMangledArgs({ rationale: original }, FIELDS);
assert.equal(args.rationale, original);
assert.equal(args.symptom, undefined);
assert.deepEqual(salvaged, []);
assert.deepEqual(chained, []);
});
test('does NOT act on an unknown target field', () => {
const original = 'Text.</consequences>\n<parameter name="notARealField">value';
const { args, salvaged, chained } = resolveMangledArgs({ consequences: original }, FIELDS);
assert.equal(args.consequences, original);
assert.deepEqual(salvaged, []);
assert.deepEqual(chained, []);
});
test('never overwrites a target the caller actually supplied', () => {
const original = 'Text.</consequences>\n<parameter name="symptom">absorbed symptom';
const { args, salvaged } = resolveMangledArgs({ consequences: original, symptom: 'genuine symptom' }, FIELDS);
assert.equal(args.symptom, 'genuine symptom');
assert.equal(args.consequences, original);
assert.deepEqual(salvaged, []);
});
test('leaves clean args untouched and reports nothing', () => {
const input = { summary: 'A summary', alternatives: ['x'], relatedFiles: ['a.ts'] };
const { args, salvaged, chained } = resolveMangledArgs(input, FIELDS);
assert.deepEqual(args, input);
assert.deepEqual(salvaged, []);
assert.deepEqual(chained, []);
});
test('does not mutate the caller-supplied args object', () => {
const input = {
consequences: 'Text.</consequences>\n<parameter name="symptom">S.',
};
resolveMangledArgs(input, FIELDS);
assert.equal(input.consequences, 'Text.</consequences>\n<parameter name="symptom">S.');
});
test('keeps the raw text when an absorbed structured value is not valid JSON', () => {
const { args } = resolveMangledArgs({ consequences: 'Text.</consequences>\n<parameter name="alternatives">[not, valid, json' }, FIELDS);
assert.equal(args.alternatives, '[not, valid, json');
});
test('ignores non-string fields', () => {
const { args, salvaged } = resolveMangledArgs({ relatedFiles: ['a.ts', 'b.ts'], summary: 'clean' }, FIELDS);
assert.deepEqual(args.relatedFiles, ['a.ts', 'b.ts']);
assert.deepEqual(salvaged, []);
});
test('the chained refusal names the host and the first absorbed field', () => {
const message = describeChainedArgs('record_decision', [
{ field: 'rationale', absorbed: 'supersedes' },
]);
assert.match(message, /record_decision/);
assert.match(message, /"rationale" absorbed "supersedes"/);
assert.match(message, /nothing was recorded/);
});
//# sourceMappingURL=_mangled-args.test.js.map
{"version":3,"file":"_mangled-args.test.js","sourceRoot":"","sources":["../../src/tools/_mangled-args.test.ts"],"names":[],"mappings":"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"}
/**
* Entity references — the shapes that carry a human-readable label alongside
* an id, so no tool response hands the model an id it cannot name.
*
* Workstream 1 of `kawa.dev-doc/DECISION_LINKING.md`. Before this, every
* reference reaching a human was a bare 8-char hex prefix:
*
* 7a7d1a36 supersedes 2cc444ec, which superseded 97c701e7
*
* Three ids, zero information. Naming a single ancestor cost an extra
* `get_decision_detail` round trip *per ancestor*, so it never happened.
* Kawa Code resolves the labels now and hands them over pre-joined.
*
* These refs carry **identity only** — never rationale, context or
* consequences. That is deliberate: recall payloads are kept lean, and a
* summary is bounded (~100 chars) and *is* the identity of the thing. If one of
* these ever grows a `rationale` field, that is the regression.
*/
/** A decision, named. */
export interface DecisionRef {
id: string;
summary: string;
type: string;
/**
* Distance along a supersession chain: 1 is a direct ancestor, 2 is what
* *that* one superseded, and so on.
*
* Present because order alone is ambiguous once a `supersedes` array is wider
* than one — without it there is no way to tell "A supersedes B and C" from
* "A supersedes B, which superseded C".
*/
depth?: number;
}
/**
* An intent, named.
*
* `id` is always the **full 24-character** ObjectId, never a prefix. Intent ids
* are Mongo ObjectIds whose leading 4 bytes are a Unix timestamp, so two
* intents created by the same process in the same second share their first 18
* hex characters. A truncated intent id is not merely collision-prone — it is
* not resolvable to a single intent at all. Decision ids are UUIDs and do not
* have this problem; an 8-char decision prefix is unambiguous.
*/
export interface IntentRef {
id: string;
title: string;
status: string;
}
/** Shape Kawa Code returns for a resolved reference. Tolerant of an absent label. */
type RawRef = Record<string, unknown> | null | undefined;
/**
* Normalize one decision ref off an IPC payload.
*
* Returns `null` rather than a half-built ref when there is no id or summary —
* an unlabelled reference is not a ref, and callers fall back to the bare id,
* which is exactly the pre-W1 behaviour. Label resolution is fail-soft end to
* end: an unresolvable ancestor must never turn a working response into an error.
*/
export declare function toDecisionRef(raw: RawRef): DecisionRef | null;
/** Normalize one intent ref off an IPC payload. Same fail-soft contract. */
export declare function toIntentRef(raw: RawRef): IntentRef | null;
export declare function toDecisionRefs(raw: unknown): DecisionRef[];
export declare function toIntentRefs(raw: unknown): IntentRef[];
/**
* How to name an entity in a message.
*
* Leads with the label and keeps the id in parentheses, per the prose
* convention in LLM_RULES.md. Falls back to the bare id when nothing resolved,
* which is the whole point of the fail-soft contract above.
*/
export declare function nameDecision(ref: DecisionRef | null, fallbackId: string): string;
export declare function nameIntent(ref: IntentRef | null, fallbackId: string): string;
export {};
/**
* Entity references — the shapes that carry a human-readable label alongside
* an id, so no tool response hands the model an id it cannot name.
*
* Workstream 1 of `kawa.dev-doc/DECISION_LINKING.md`. Before this, every
* reference reaching a human was a bare 8-char hex prefix:
*
* 7a7d1a36 supersedes 2cc444ec, which superseded 97c701e7
*
* Three ids, zero information. Naming a single ancestor cost an extra
* `get_decision_detail` round trip *per ancestor*, so it never happened.
* Kawa Code resolves the labels now and hands them over pre-joined.
*
* These refs carry **identity only** — never rationale, context or
* consequences. That is deliberate: recall payloads are kept lean, and a
* summary is bounded (~100 chars) and *is* the identity of the thing. If one of
* these ever grows a `rationale` field, that is the regression.
*/
function str(value) {
return typeof value === 'string' ? value : '';
}
/**
* Normalize one decision ref off an IPC payload.
*
* Returns `null` rather than a half-built ref when there is no id or summary —
* an unlabelled reference is not a ref, and callers fall back to the bare id,
* which is exactly the pre-W1 behaviour. Label resolution is fail-soft end to
* end: an unresolvable ancestor must never turn a working response into an error.
*/
export function toDecisionRef(raw) {
if (!raw)
return null;
const id = str(raw.id) || str(raw.decisionId);
const summary = str(raw.summary);
if (!id || !summary)
return null;
const depth = typeof raw.depth === 'number' ? raw.depth : undefined;
return { id, summary, type: str(raw.type) || str(raw.decisionType), depth };
}
/** Normalize one intent ref off an IPC payload. Same fail-soft contract. */
export function toIntentRef(raw) {
if (!raw)
return null;
const id = str(raw.id) || str(raw.intentId);
const title = str(raw.title);
if (!id || !title)
return null;
return { id, title, status: str(raw.status) };
}
export function toDecisionRefs(raw) {
if (!Array.isArray(raw))
return [];
return raw.map(toDecisionRef).filter((r) => r !== null);
}
export function toIntentRefs(raw) {
if (!Array.isArray(raw))
return [];
return raw.map(toIntentRef).filter((r) => r !== null);
}
/**
* How to name an entity in a message.
*
* Leads with the label and keeps the id in parentheses, per the prose
* convention in LLM_RULES.md. Falls back to the bare id when nothing resolved,
* which is the whole point of the fail-soft contract above.
*/
export function nameDecision(ref, fallbackId) {
return ref ? `"${ref.summary}" (${ref.id})` : fallbackId;
}
export function nameIntent(ref, fallbackId) {
return ref ? `"${ref.title}" (${ref.id})` : fallbackId;
}
//# sourceMappingURL=refs.js.map
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/types/refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAChC,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAA;AAC7E,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAuB,EAAE,UAAkB;IACtE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAqB,EAAE,UAAkB;IAClE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAA;AACxD,CAAC"}
+20
-15

@@ -6,4 +6,4 @@ #!/usr/bin/env node

import { connectToMuninn, ensureRepo } from './services/muninn-ipc.js';
import { salvageMangledArgs } from './tools/_salvage-mangled-args.js';
import { allTools, getRelevantContext, checkActiveIntent, createAndActivateIntent, activateIntent, resumeIntent, getIntentsForFile, getIntentsForLines, listTeamIntents, completeIntent, updateIntent, logWork, recordDecision, getSessionDecisions, getProjectDecisions, getDecisionDetail, editSessionDecision, detectIntentConflicts, inferHistory, evolveDecisions, updateFeatures, preEditDecisionCheck, preEditAcknowledge, getResolutionContext, arbiterResolve, arbiterApply } from './tools/index.js';
import { resolveMangledArgs, describeChainedArgs } from './tools/_mangled-args.js';
import { allTools, getRelevantContext, checkActiveIntent, createAndActivateIntent, activateIntent, resumeIntent, getIntentsForFile, listTeamIntents, completeIntent, updateIntent, logWork, recordDecision, getSessionDecisions, getProjectDecisions, getDecisionDetail, editSessionDecision, detectIntentConflicts, inferHistory, preEditDecisionCheck, preEditAcknowledge, getResolutionContext, arbiterResolve, arbiterApply } from './tools/index.js';
import { prompts } from './prompts/intent-first-workflow.js';

@@ -50,11 +50,25 @@ import { resources, readActiveIntentResource } from './resources/active-intent.js';

// prefix) makes the harness fold the next field's name AND value into the
// preceding string. Recover them before dispatch — one seam covers every
// tool. Guarded and logged, never silent: see _salvage-mangled-args.ts.
// preceding string. One seam covers every tool. A single absorbed field is
// put back mechanically; a chain is refused rather than reconstructed, so the
// model re-emits. Both outcomes are logged. See _mangled-args.ts.
let args = rawArgs;
const schema = allTools.find(t => t.name === name)?.inputSchema;
if (args && typeof args === 'object' && schema) {
const { args: repaired, salvaged } = salvageMangledArgs(args, Object.keys(schema.shape));
const { args: repaired, salvaged, chained } = resolveMangledArgs(args, Object.keys(schema.shape));
if (chained.length > 0) {
const message = describeChainedArgs(name, chained);
// stderr only — stdout is the MCP transport.
console.error(`[MuninnIPC] ${message}`);
return {
content: [
{
type: 'text',
text: JSON.stringify({ success: false, error: message, tool: name }, null, 2),
},
],
isError: true,
};
}
if (salvaged.length > 0) {
args = repaired;
// stderr only — stdout is the MCP transport.
console.error(`[MuninnIPC] Recovered ${salvaged.length} malformed argument(s) for ${name}: ` +

@@ -89,5 +103,2 @@ salvaged.map(s => `${s.field} (absorbed by ${s.fromField})`).join(', '));

break;
case 'get_intents_for_lines':
result = await getIntentsForLines(args);
break;
case 'list_team_intents':

@@ -126,8 +137,2 @@ result = await listTeamIntents(args);

break;
case 'evolve_decisions':
result = await evolveDecisions(args);
break;
case 'update_features':
result = await updateFeatures(args);
break;
case 'pre_edit_decision_check':

@@ -134,0 +139,0 @@ result = await preEditDecisionCheck(args);

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

@@ -185,4 +185,3 @@ export const intentFirstWorkflowPrompt = {

| \`create_and_activate_intent\` | When no active intent and user requests code changes |
| \`get_intents_for_file\` | Before modifying files (check for team conflicts) |
| \`get_intents_for_lines\` | Before modifying specific line ranges |
| \`get_intents_for_file\` | Before modifying files (check for team conflicts); add \`startLine\`/\`endLine\` for a specific range |
| \`complete_intent\` | After successful git commit, or to abandon |

@@ -189,0 +188,0 @@ | \`list_team_intents\` | To see what teammates are working on |

@@ -1,1 +0,1 @@

{"version":3,"file":"intent-first-workflow.js","sourceRoot":"","sources":["../../src/prompts/intent-first-workflow.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,4HAA4H;IACzI,SAAS,EAAE;QACT;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,SAAS,EAAE,CAAC,IAAoC,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,IAAI,EAAE,gBAAgB;YACxC,CAAC,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,EAAE;YAClD,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO,qCAAqC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FAuLiC,CAAA;IAC1F,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAA"}
{"version":3,"file":"intent-first-workflow.js","sourceRoot":"","sources":["../../src/prompts/intent-first-workflow.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,4HAA4H;IACzI,SAAS,EAAE;QACT;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,SAAS,EAAE,CAAC,IAAoC,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,IAAI,EAAE,gBAAgB;YACxC,CAAC,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,EAAE;YAClD,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO,qCAAqC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FAsLiC,CAAA;IAC1F,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAA"}
import { z } from 'zod';
import { IntentRef } from '../types/refs.js';
export declare const activateIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -24,8 +11,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -35,8 +16,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -49,2 +24,6 @@ export type ActivateIntentInput = z.infer<typeof activateIntentSchema>;

previousActiveId?: string;
/** The now-current intent, named. Absent when Kawa Code could not resolve it. */
activeIntent?: IntentRef;
/** The intent this replaced, named. Absent when there was none, or it did not resolve. */
previousActive?: IntentRef;
/** True when activation was refused because the intent is frozen (stale beyond the freeze window). */

@@ -60,16 +39,2 @@ frozen?: boolean;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -82,8 +47,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -93,10 +52,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof activateIntent;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { nameIntent, toIntentRef } from '../types/refs.js';
export const activateIntentSchema = z.object({

@@ -9,3 +9,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

intentId: z.string().describe('The cloud ID (preferred) or local UUID of the existing intent to activate.'),
...forkFieldsExtensions,
});

@@ -23,3 +22,6 @@ export async function activateIntent(input) {

previousActiveId,
message: `Intent ${input.intentId.substring(0, 8)} is already your current intent`,
// Intent ids are NEVER truncated: they are Mongo ObjectIds whose leading
// bytes are a timestamp, so a prefix does not identify a single intent.
// Here there is no title to lead with, so the full id is the answer.
message: `Intent ${input.intentId} is already your current intent`,
};

@@ -33,3 +35,2 @@ }

intentId: input.intentId,
...extractForkFields(input),
});

@@ -45,5 +46,9 @@ // A failed set-active must not be reported as an activation. The main case is

error: res.error || 'Could not activate this intent.',
message: res.error || `Could not activate intent ${input.intentId.substring(0, 8)}.`,
message: res.error || `Could not activate intent ${input.intentId}.`,
};
}
// Kawa Code resolves both ends of the switch, so the message can name them.
const activeIntent = toIntentRef(res?.activeIntent);
const previousActive = toIntentRef(res?.previousActive);
const activeName = nameIntent(activeIntent, input.intentId);
return {

@@ -54,5 +59,7 @@ success: true,

previousActiveId: previousActiveId || undefined,
activeIntent: activeIntent ?? undefined,
previousActive: previousActive ?? undefined,
message: previousActiveId
? `Switched current intent to ${input.intentId.substring(0, 8)} (was: ${previousActiveId.substring(0, 8)})`
: `Activated intent ${input.intentId.substring(0, 8)}`,
? `Switched current intent to ${activeName} (was: ${nameIntent(previousActive, previousActiveId)})`
: `Activated intent ${activeName}`,
};

@@ -59,0 +66,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"activate-intent.js","sourceRoot":"","sources":["../../src/tools/activate-intent.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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IAC3G,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAeF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEpE,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;IACrF,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAA;IAEzE,IAAI,gBAAgB,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,gBAAgB;YACxB,gBAAgB;YAChB,OAAO,EAAE,UAAU,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,iCAAiC;SACnF,CAAA;IACH,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE;QAChD,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,GAAG,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI;YAC3B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,iCAAiC;YACrD,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,6BAA6B,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;SACrF,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;QAC/C,OAAO,EAAE,gBAAgB;YACvB,CAAC,CAAC,8BAA8B,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;YAC3G,CAAC,CAAC,oBAAoB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;KACzD,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;uBAoBQ;IACrB,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA"}
{"version":3,"file":"activate-intent.js","sourceRoot":"","sources":["../../src/tools/activate-intent.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const arbiterApplySchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;

@@ -41,8 +27,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -57,8 +37,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -72,16 +46,2 @@ }>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;

@@ -111,8 +71,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -127,8 +81,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -135,0 +83,0 @@ }>;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
/**

@@ -33,3 +32,2 @@ * arbiter_apply — thin forwarder to Muninn `arbiter:apply` (Arbiter v2).

.describe('The overlaps to resolve — each { peerUid, filePath, ranges } from the Stop collision report.'),
...forkFieldsExtensions,
});

@@ -43,3 +41,2 @@ export async function arbiterApply(input) {

overlaps: input.overlaps,
...extractForkFields(input),
});

@@ -46,0 +43,0 @@ return res;

@@ -1,1 +0,1 @@

{"version":3,"file":"arbiter-apply.js","sourceRoot":"","sources":["../../src/tools/arbiter-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,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;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC7E,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,CAAC,8FAA8F,CAAC;IAC3G,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAIF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;QAC5C,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,uGAAuG;QACvG,yGAAyG;QACzG,uGAAuG;QACvG,uGAAuG;QACvG,yGAAyG;QACzG,0GAA0G;QAC1G,0GAA0G;QAC1G,qCAAqC;IACvC,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,YAAY;CACtB,CAAA"}
{"version":3,"file":"arbiter-apply.js","sourceRoot":"","sources":["../../src/tools/arbiter-apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC7E,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,CAAC,8FAA8F,CAAC;CAC5G,CAAC,CAAA;AAIF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAwB;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;QAC5C,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,uGAAuG;QACvG,yGAAyG;QACzG,uGAAuG;QACvG,uGAAuG;QACvG,yGAAyG;QACzG,0GAA0G;QAC1G,0GAA0G;QAC1G,qCAAqC;IACvC,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,YAAY;CACtB,CAAA"}
import { z } from 'zod';
export declare const arbiterResolveSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;

@@ -41,8 +27,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -57,8 +37,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -72,16 +46,2 @@ }>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;

@@ -111,8 +71,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -127,8 +81,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -135,0 +83,0 @@ }>;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
/**

@@ -33,3 +32,2 @@ * arbiter_resolve — thin forwarder to Muninn `arbiter:resolve` (Arbiter v2).

.describe('The overlaps to judge — each { peerUid, filePath, ranges } from the Stop collision report.'),
...forkFieldsExtensions,
});

@@ -43,3 +41,2 @@ export async function arbiterResolve(input) {

overlaps: input.overlaps,
...extractForkFields(input),
});

@@ -46,0 +43,0 @@ return res;

@@ -1,1 +0,1 @@

{"version":3,"file":"arbiter-resolve.js","sourceRoot":"","sources":["../../src/tools/arbiter-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,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;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC7E,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,CAAC,4FAA4F,CAAC;IACzG,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAIF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;QAC9C,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,8FAA8F;QAC9F,mGAAmG;QACnG,sGAAsG;QACtG,8FAA8F;QAC9F,gGAAgG;QAChG,sGAAsG;QACtG,yCAAyC;IAC3C,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA"}
{"version":3,"file":"arbiter-resolve.js","sourceRoot":"","sources":["../../src/tools/arbiter-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC7E,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAClE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,CAAC,4FAA4F,CAAC;CAC1G,CAAC,CAAA;AAIF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;QAC9C,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAA;IACF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,8FAA8F;QAC9F,mGAAmG;QACnG,sGAAsG;QACtG,8FAA8F;QAC9F,gGAAgG;QAChG,sGAAsG;QACtG,yCAAyC;IAC3C,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA"}
import { z } from 'zod';
export declare const checkActiveIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -22,17 +8,5 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -87,16 +61,2 @@ export type CheckActiveIntentInput = z.infer<typeof checkActiveIntentSchema>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -107,19 +67,7 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof checkActiveIntent;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { emitInjection, estimateTokens } from '../telemetry.js';

@@ -9,3 +8,2 @@ export const checkActiveIntentSchema = z.object({

repoPath: z.string().describe('Local path to the repository root'),
...forkFieldsExtensions,
});

@@ -16,3 +14,2 @@ export async function checkActiveIntent(input) {

repoOrigin: actualOrigin,
...extractForkFields(input),
});

@@ -65,24 +62,5 @@ // Muninn returns { hasActiveIntent, intentId, intent, activeIntents }.

name: 'check_active_intent',
description: `REQUIRED: Call this tool BEFORE writing any code.
description: `REQUIRED before writing any code. Returns this session's current intent; if there is none, confirm the details with the user and call create_and_activate_intent.
Returns THIS session's current intent (\`intent\` / \`hasActiveIntent\`) if one is
set. If not, ask the user to confirm intent details and then call
create_and_activate_intent.
Multi-active model: the active intent is PER SESSION. Many intents can be active
on a repo at once — your current is independent of other sessions'/teammates'.
The response also includes \`activeIntents\`: the repo's full active set (every
session's current intent, with id/title/status/createdBy/author) for awareness
and orchestration. \`hasActiveIntent\` reflects only YOUR session; \`activeIntents\`
may be non-empty even when you have no current.
An active intent tracks what the user is working on, enabling:
- Better code context for AI-generated changes
- Conflict detection with team members
- Automatic assignment of code blocks to the intent
Status semantics:
- "active" — normal, in-progress. A stale intent simply stays "active"; the
sweeper preserves its work without any status transition.
- terminal states — committed / pushed / done / abandoned / superseded.`,
Intents are active PER SESSION — many can be active on one repo at once. hasActiveIntent reflects only YOUR session, while activeIntents lists every session's current intent (yours and teammates') and may be non-empty when you have none. A stale intent stays "active"; terminal states are committed / pushed / done / abandoned / superseded.`,
inputSchema: checkActiveIntentSchema,

@@ -89,0 +67,0 @@ handler: checkActiveIntent

@@ -1,1 +0,1 @@

{"version":3,"file":"check-active-intent.js","sourceRoot":"","sources":["../../src/tools/check-active-intent.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"check-active-intent.js","sourceRoot":"","sources":["../../src/tools/check-active-intent.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const completeIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -25,11 +11,5 @@ repoPath: z.ZodString;

}, "strip", z.ZodTypeAny, {
repoPath: string;
status: "done" | "abandoned" | "committed" | "pushed" | "superseded";
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -41,10 +21,4 @@ commitSha?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "abandoned" | "committed" | "pushed" | "superseded" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -155,16 +129,2 @@ commitSha?: string | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -178,11 +138,5 @@ repoPath: z.ZodString;

}, "strip", z.ZodTypeAny, {
repoPath: string;
status: "done" | "abandoned" | "committed" | "pushed" | "superseded";
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -194,10 +148,4 @@ commitSha?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "abandoned" | "committed" | "pushed" | "superseded" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -204,0 +152,0 @@ commitSha?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const completeIntentSchema = z.object({

@@ -14,3 +13,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

humanApproved: z.boolean().optional().describe('Set to true ONLY when the human has explicitly confirmed closing an intent created by ANOTHER team member. Required for that cross-author case; ignored for your own intents. NEVER set this on your own initiative — always ask the user first and only set it after they approve.'),
...forkFieldsExtensions,
});

@@ -33,4 +31,13 @@ export async function completeIntent(input) {

const COMPLETE_TIMEOUT_MS = 180_000;
// `repoPath` is forwarded (not just used to derive the origin) because Muninn's
// dispatcher reads it to trigger the agent worktree-diff publish on completion.
// That trigger has read `data["repoPath"]` since it was written, but this payload
// never carried the field — so it never fired once, and agent publishing was zero
// from 2026-06-06 until W1a (kawa.muninn decision 95de7391). Muninn resolving the
// path from the origin instead is NOT an option: with several checkouts of one
// origin (worktree-per-intent) that lookup is first-match over a HashMap and
// therefore non-deterministic.
const res = await request('intent', 'complete', {
repoOrigin: actualOrigin,
repoPath: input.repoPath,
intentId: input.intentId,

@@ -41,3 +48,2 @@ status: input.status,

humanApproved: input.humanApproved,
...extractForkFields(input),
}, COMPLETE_TIMEOUT_MS);

@@ -139,48 +145,13 @@ const intentId = res.intentId || '';

name: 'complete_intent',
description: `Mark the active intent as completed and clear it.
description: `Mark the active intent completed and clear it. Call after a successful git commit, passing commitSha so code blocks are captured.
Call this after a successful git commit to:
1. Update the intent status (committed/pushed/done/abandoned)
2. Store the commit SHA for tracking
3. Clear the active intent so a new one can be started
status: committed (default, local commit) | pushed | done | abandoned.
Status values:
- "committed": Code is committed locally (default)
- "pushed": Code has been pushed to remote
- "done": Work is fully complete
- "abandoned": Work was discarded without committing
You MUST inspect the response:
REQUIRED: Inspect the response after calling this tool. Three outcomes:
- success === true — done. If committedDecisionCount > 0, say N decisions were recorded; do NOT list them. If apiSyncDeferred, say the sync was deferred and will replay. If collisions is non-empty, relay it as an advisory coordination heads-up (collisions[].label + files) — the completion still succeeded. If deferredConflicts is non-empty, the completion ALSO succeeded; say "N decision(s) need a disposition in the Kawa Code panel" and do NOT re-run this tool.
1. response.success === true:
The task is complete. Briefly acknowledge the commit and — if
response.committedDecisionCount > 0 — mention that N distilled architectural
decisions were recorded for the intent. Do NOT enumerate the decisions
inline; they're visible via the orchestration panel and via
get_intent_decisions / get_relevant_context if the user wants details.
If response.apiSyncDeferred === true, also mention that the API sync was
deferred; the queued writes will replay on the next sync tick.
If response.collisions is non-empty, a live collaborator's (HAI's)
in-progress edits overlap the work you just completed — surface it as a
coordination heads-up (who, and which files), naming response.collisions[].label
and the files. It's advisory, not a failure; the completion still succeeded.
If response.deferredConflicts is non-empty, the distillation produced N
decisions that conflict with existing standards — the completion STILL
SUCCEEDED (the commit landed: status flipped, code blocks captured). Those
decisions are deferred: parked for a disposition in the Orchestration panel,
where the user picks per decision: supersede the standard, keep both (records
a "contradicts" edge for a deliberate divergence / false positive), or reject
the distilled decision. Tell the user "N decision(s) need a disposition in
the panel." There is NOTHING to retry — do NOT re-run complete_intent.
- success === false && reason === "transient-failure" — the intent stays active and nothing was lost. Report failedStage plus the error; retry once the cause clears, or abandon if it persists.
2. response.success === false AND response.reason === "transient-failure":
The distiller LLM call or the conflict-check API call errored. The
ephemerals are preserved (the bucket is intact), and the intent stays
"active". Tell the user the failure stage (response.failedStage) and the
underlying error, then suggest retrying once the issue clears, or
abandoning if the failure persists.
3. In a non-interactive (autonomous) session: if response.deferredConflicts is
non-empty, log it at INFO and continue — the commit already landed and the
decisions await disposition in the panel. There is no blocking state.`,
Autonomous sessions: deferredConflicts is not a blocking state — log and continue.`,
inputSchema: completeIntentSchema,

@@ -187,0 +158,0 @@ handler: completeIntent

@@ -1,1 +0,1 @@

{"version":3,"file":"complete-intent.js","sourceRoot":"","sources":["../../src/tools/complete-intent.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,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2VAA2V,CAAC;IACrY,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACpH,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;SAC5F,QAAQ,CAAC,4KAA4K,CAAC;IACzL,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IACzH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qRAAqR,CAAC;IACrU,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAkGF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA0B;IAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEpE,kFAAkF;IAClF,iFAAiF;IACjF,4EAA4E;IAC5E,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,gDAAgD;IAEhD,8EAA8E;IAC9E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,OAAO,CAAA;IACnC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC9C,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,EAAE,mBAAmB,CAAC,CAAA;IAEvB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;IACnC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAA;IAC/C,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAA;IACrD,8EAA8E;IAC9E,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAA;IACnD,MAAM,iBAAiB,GAAoB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5G,MAAM,sBAAsB,GAC1B,OAAO,GAAG,CAAC,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAA;IACzF,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,KAAK,IAAI,CAAA;IACpD,MAAM,oBAAoB,GAA0B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvG,8EAA8E;IAC9E,+BAA+B;IAC/B,IAAI,SAAiB,CAAA;IACrB,IAAI,OAAe,CAAA;IAEnB,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAC/C,0EAA0E;QAC1E,wEAAwE;QACxE,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAA;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACjD,OAAO;YACL,8BAA8B,WAAW,wBAAwB,KAAK,GAAG,OAAO,IAAI;gBACpF,qGAAqG;gBACrG,sGAAsG,CAAA;IAC1G,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,qEAAqE;QACrE,yEAAyE;QACzE,+DAA+D;QAC/D,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC/E,OAAO,GAAG,QAAQ;YAChB,CAAC,CAAC,8BAA8B,WAAW,IAAI;YAC/C,CAAC,CAAC,8BAA8B,WAAW,8SAA8S,CAAA;IAC7V,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,kEAAkE;QAClE,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAA;QACzC,MAAM,cAAc,GAA2B;YAC7C,SAAS,EAAE,WAAW,WAAW,uBAAuB;YACxD,MAAM,EAAE,WAAW,WAAW,oBAAoB;YAClD,IAAI,EAAE,WAAW,WAAW,kBAAkB;YAC9C,SAAS,EAAE,WAAW,WAAW,aAAa;YAC9C,UAAU,EAAE,WAAW,WAAW,wBAAwB;SAC3D,CAAA;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,WAAW,WAAW,CAAA;QACnF,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACtF,MAAM,aAAa,GAAG,sBAAsB,IAAI,sBAAsB,GAAG,CAAC;YACxE,CAAC,CAAC,MAAM,sBAAsB,iCAAiC;YAC/D,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,YAAY,GAAG,eAAe;YAClC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;YACrG,CAAC,CAAC,EAAE,CAAA;QACN,2EAA2E;QAC3E,kEAAkE;QAClE,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,gBAAgB,oBAAoB,CAAC,MAAM,2CAA2C;gBACtF,oBAAoB;qBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/F,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,EAAE,CAAA;QACN,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,uGAAuG;YACvI,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,oBAAoB,CAAA;IACrG,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,cAAc;QACd,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO;QACP,sBAAsB;QACtB,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QAC/E,MAAM;QACN,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACnD,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAClF,qBAAqB,EAAE,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QAC5G,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KAC/E,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEA6C0D;IACvE,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,cAAc;CACxB,CAAA"}
{"version":3,"file":"complete-intent.js","sourceRoot":"","sources":["../../src/tools/complete-intent.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const createAndActivateIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -31,8 +17,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
constraints?: string[] | undefined;

@@ -44,8 +24,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
templateType?: "feature" | "refactor" | "exploration" | undefined;

@@ -82,16 +56,2 @@ constraints?: string[] | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -111,8 +71,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
constraints?: string[] | undefined;

@@ -124,8 +78,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
templateType?: "feature" | "refactor" | "exploration" | undefined;

@@ -132,0 +80,0 @@ constraints?: string[] | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const createAndActivateIntentSchema = z.object({

@@ -13,3 +12,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

force: z.boolean().optional().default(false).describe('Bypass conflict detection. Set to true after the user has reviewed detected conflicts and chosen to proceed anyway.'),
...forkFieldsExtensions,
});

@@ -30,3 +28,2 @@ export async function createAndActivateIntent(input) {

force: input.force || false,
...extractForkFields(input),
});

@@ -79,3 +76,2 @@ // Handle conflict detection — API returned 409 with conflict data.

intentId,
...extractForkFields(input),
});

@@ -82,0 +78,0 @@ const message = action === 'reactivated'

@@ -1,1 +0,1 @@

{"version":3,"file":"create-intent.js","sourceRoot":"","sources":["../../src/tools/create-intent.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"create-intent.js","sourceRoot":"","sources":["../../src/tools/create-intent.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const detectIntentConflictsSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -25,8 +11,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -37,8 +17,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -73,16 +47,2 @@ }>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -96,8 +56,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -108,8 +62,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -116,0 +64,0 @@ }>;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const detectIntentConflictsSchema = z.object({

@@ -10,3 +9,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

minScore: z.number().optional().describe('Minimum similarity score threshold (default: 0.5)'),
...forkFieldsExtensions,
});

@@ -19,3 +17,2 @@ export async function detectIntentConflicts(input) {

minScore: input.minScore,
...extractForkFields(input),
});

@@ -22,0 +19,0 @@ if (res.error) {

@@ -1,1 +0,1 @@

{"version":3,"file":"detect-intent-conflicts.js","sourceRoot":"","sources":["../../src/tools/detect-intent-conflicts.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,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC7F,GAAG,oBAAoB;CACxB,CAAC,CAAA;AA2BF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAiC;IAC3E,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE;QACxD,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,CAAC;SACT,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAwB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACnB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE;QAC1C,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;SACnC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;QAClC,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE;;;;;;;;;;;;;;;4GAe6F;IAC1G,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
{"version":3,"file":"detect-intent-conflicts.js","sourceRoot":"","sources":["../../src/tools/detect-intent-conflicts.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;AAEnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC9F,CAAC,CAAA;AA2BF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAiC;IAC3E,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,kBAAkB,EAAE;QACxD,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAA;IAEF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,CAAC;SACT,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAwB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACnB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE;QAC1C,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;YAC5B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE;SACnC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;QAClC,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE;;;;;;;;;;;;;;;4GAe6F;IAC1G,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,qBAAqB;CAC/B,CAAA"}
import { z } from 'zod';
export declare const editSessionDecisionSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -83,8 +69,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -112,8 +92,2 @@ context?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -146,16 +120,2 @@ context?: string | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -227,8 +187,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -256,8 +210,2 @@ context?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -264,0 +212,0 @@ context?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
const constraintViolationSchema = z.object({

@@ -31,3 +30,2 @@ alternative: z.string(),

updates: decisionUpdatesSchema.optional().describe('Partial fields to update (only for action=update)'),
...forkFieldsExtensions,
});

@@ -42,3 +40,2 @@ export async function editSessionDecision(input) {

updates: input.updates,
...extractForkFields(input),
});

@@ -45,0 +42,0 @@ // No id receipt exists for an update/delete, so require an EXPLICIT

@@ -1,1 +0,1 @@

{"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"edit-session-decision.js","sourceRoot":"","sources":["../../src/tools/edit-session-decision.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
import { DecisionRef, IntentRef } from '../types/refs.js';
export declare const getDecisionDetailSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -24,8 +11,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -35,8 +16,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -46,4 +21,10 @@ export type GetDecisionDetailInput = z.infer<typeof getDecisionDetailSchema>;

decisionId: string;
intentId: string;
intentIds: string[];
/**
* The intents that produced this decision, named.
*
* Replaces the former bare `intentId` / `intentIds[]`. Those were unanswerable
* as shipped — "which intent produced this?" cost a round trip per id, so it
* was never asked. Kawa Code resolves them now.
*/
intents: IntentRef[];
type: string;

@@ -59,3 +40,12 @@ summary: string;

relatedFiles: string[];
supersedes: string[];
/**
* The supersession chain, nearest first, each entry named and depth-stamped.
*
* Replaces the former bare `supersedes: string[]` — the reported symptom that
* made "7a7d1a36 supersedes 2cc444ec" the best sentence anyone could write.
* Empty on ~99.7% of decisions; only 28 of 8,465 carry any supersession.
*/
supersededDecisions: DecisionRef[];
/** Ancestors past the depth/width cap, unresolved. A floor, not a total. */
supersededOlderCount: number;
constraintsChecked: string[];

@@ -75,16 +65,2 @@ constraintViolations: any[];

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -97,8 +73,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -108,10 +78,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof getDecisionDetail;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { toDecisionRefs, toIntentRefs } from '../types/refs.js';
export const getDecisionDetailSchema = z.object({

@@ -9,3 +9,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

decisionId: z.string().describe('The decision ID to expand (from a recall result, e.g. get_relevant_context)'),
...forkFieldsExtensions,
});

@@ -17,3 +16,2 @@ export async function getDecisionDetail(input) {

decisionId: input.decisionId,
...extractForkFields(input),
});

@@ -28,4 +26,8 @@ const d = res?.decision;

decisionId: d.decisionId || d.decision_id || d._id || d.id || '',
intentId: d.intentId || d.intent_id || d.intentIds?.[0] || d.intent_ids?.[0] || '',
intentIds: d.intentIds || d.intent_ids || (d.intentId || d.intent_id ? [d.intentId || d.intent_id] : []),
// Resolved by Kawa Code, which holds the API client and the label cache.
// Fail-soft by construction: an id that did not resolve is simply absent
// from these arrays, never an error.
intents: toIntentRefs(res?.intents),
supersededDecisions: toDecisionRefs(res?.supersededDecisions),
supersededOlderCount: typeof res?.supersededOlderCount === 'number' ? res.supersededOlderCount : 0,
type: d.decisionType || d.decision_type || d.type || '',

@@ -41,3 +43,2 @@ summary: d.summary || '',

relatedFiles: d.relatedFiles || d.related_files || [],
supersedes: d.supersedes || [],
constraintsChecked: d.constraintsChecked || d.constraints_checked || [],

@@ -58,3 +59,7 @@ constraintViolations: d.constraintViolations || d.constraint_violations || [],

Returns the decision's \`rationale\`, \`context\`, \`consequences\`, \`alternatives\`, \`symptom\`, \`appliesWhen\`, \`surface\`, and related metadata. \`found: false\` when the id is unknown in this repo.`,
Returns the decision's \`rationale\`, \`context\`, \`consequences\`, \`alternatives\`, \`symptom\`, \`appliesWhen\`, \`surface\`, and related metadata. \`found: false\` when the id is unknown in this repo.
References come pre-resolved, so describe them by name and never by ID alone:
- \`supersededDecisions\` — the supersession chain, nearest first. Each carries \`summary\` and a \`depth\` (1 = directly superseded by this decision, 2 = what *that* one superseded). Use \`depth\` to render the chain correctly: with two entries at depth 1 this decision replaced both, whereas depth 1 then 2 is a lineage. \`supersededOlderCount\` > 0 means older ancestors exist beyond the cap — say "+N older".
- \`intents\` — the intent(s) that produced this decision, with titles.`,
inputSchema: getDecisionDetailSchema,

@@ -61,0 +66,0 @@ handler: getDecisionDetail

@@ -1,1 +0,1 @@

{"version":3,"file":"get-decision-detail.js","sourceRoot":"","sources":["../../src/tools/get-decision-detail.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"get-decision-detail.js","sourceRoot":"","sources":["../../src/tools/get-decision-detail.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
/**
* Merged from the former `get_intents_for_file` + `get_intents_for_lines` pair.
* Both forwarded to the same `intent-block` domain and differed only in whether
* a line range narrowed the query, so they cost two tool schemas in every
* session to express one question. Passing `startLine`/`endLine` selects the
* range-scoped `get-for-lines` action; omitting them uses `get-for-file`.
*/
export declare const getIntentsForFileSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;
filePath: z.ZodString;
startLine: z.ZodOptional<z.ZodNumber>;
endLine: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {

@@ -24,8 +19,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}, {

@@ -35,8 +26,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}>;

@@ -51,2 +38,9 @@ export type GetIntentsForFileInput = z.infer<typeof getIntentsForFileSchema>;

}
/** Present only when a line range was queried. */
export interface OverlappingLines {
blockStartLine: number;
blockEndLine: number;
overlapStart: number;
overlapEnd: number;
}
export interface FileIntentInfo {

@@ -60,9 +54,17 @@ intentId: string;

forkedFrom?: string;
blocks: FileIntentBlock[];
/** Whole-file mode only. */
blocks?: FileIntentBlock[];
/** Range mode only. */
overlappingLines?: OverlappingLines;
}
export interface GetIntentsForFileResponse {
filePath: string;
queryRange?: {
startLine: number;
endLine: number;
};
intents: FileIntentInfo[];
hasConflicts: boolean;
summary: string;
warning?: string;
}

@@ -74,19 +76,7 @@ export declare function getIntentsForFile(input: GetIntentsForFileInput): Promise<GetIntentsForFileResponse>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;
filePath: z.ZodString;
startLine: z.ZodOptional<z.ZodNumber>;
endLine: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {

@@ -96,8 +86,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}, {

@@ -107,10 +93,6 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}>;
handler: typeof getIntentsForFile;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
/**
* Merged from the former `get_intents_for_file` + `get_intents_for_lines` pair.
* Both forwarded to the same `intent-block` domain and differed only in whether
* a line range narrowed the query, so they cost two tool schemas in every
* session to express one question. Passing `startLine`/`endLine` selects the
* range-scoped `get-for-lines` action; omitting them uses `get-for-file`.
*/
export const getIntentsForFileSchema = z.object({

@@ -9,12 +15,8 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

filePath: z.string().describe('Path to the file (relative to repo root)'),
...forkFieldsExtensions,
startLine: z.number().min(1).optional().describe('Start line (1-based). Provide with endLine to narrow to a range.'),
endLine: z.number().min(1).optional().describe('End line (1-based, inclusive). Provide with startLine to narrow to a range.'),
});
export async function getIntentsForFile(input) {
const actualOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const res = await request('intent-block', 'get-for-file', {
repoOrigin: actualOrigin,
filePath: input.filePath,
...extractForkFields(input),
});
const intents = (res.intents || []).map((intent) => ({
/** Fields both modes share; Muninn's two actions use differing key casings. */
function baseIntent(intent) {
return {
intentId: intent.intentId || intent.id || '',

@@ -27,2 +29,41 @@ title: intent.title || 'Unknown Intent',

forkedFrom: intent.forked_from || intent.forkedFrom,
};
}
export async function getIntentsForFile(input) {
const actualOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const ranged = input.startLine !== undefined && input.endLine !== undefined;
const res = await request('intent-block', ranged ? 'get-for-lines' : 'get-for-file', {
repoOrigin: actualOrigin,
filePath: input.filePath,
...(ranged ? { startLine: input.startLine, endLine: input.endLine } : {}),
});
const rows = res.intents || [];
if (ranged) {
const intents = rows.map((intent) => ({
...baseIntent(intent),
overlappingLines: {
blockStartLine: intent.block_start_line || intent.overlappingLines?.blockStartLine || 0,
blockEndLine: intent.block_end_line || intent.overlappingLines?.blockEndLine || 0,
overlapStart: intent.overlap_start || intent.overlappingLines?.overlapStart || 0,
overlapEnd: intent.overlap_end || intent.overlappingLines?.overlapEnd || 0,
},
}));
const active = intents.filter(i => i.status === 'active');
const authors = [...new Set(active.map(i => i.author).filter(Boolean))];
const warning = active.length > 0
? `Lines ${input.startLine}-${input.endLine} overlap with active work by: ${authors.join(', ') || 'team members'}`
: undefined;
return {
filePath: input.filePath,
queryRange: { startLine: input.startLine, endLine: input.endLine },
intents,
hasConflicts: intents.length > 0,
summary: intents.length === 0
? `No intents overlap lines ${input.startLine}-${input.endLine}`
: `${intents.length} intent(s) overlap lines ${input.startLine}-${input.endLine}`,
warning,
};
}
const intents = rows.map((intent) => ({
...baseIntent(intent),
blocks: (intent.blocks || []).map((b, i) => ({

@@ -33,11 +74,6 @@ id: b.id || `block-${i}`,

contentSnippet: b.content_snippet || b.contentSnippet || '',
intentIds: b.intent_ids || b.intentIds || [intent.intent_id || intent.intentId || intent.id || '']
}))
intentIds: b.intent_ids || b.intentIds || [intent.intent_id || intent.intentId || intent.id || ''],
})),
}));
const hasConflicts = intents.length > 1;
const summary = intents.length === 0
? 'No intents found for this file'
: intents.length === 1
? `1 intent: "${intents[0].title}" (${intents[0].status})`
: `${intents.length} intents affecting this file${hasConflicts ? ' - potential conflicts' : ''}`;
return {

@@ -47,3 +83,7 @@ filePath: input.filePath,

hasConflicts,
summary
summary: intents.length === 0
? 'No intents found for this file'
: intents.length === 1
? `1 intent: "${intents[0].title}" (${intents[0].status})`
: `${intents.length} intents affecting this file${hasConflicts ? ' - potential conflicts' : ''}`,
};

@@ -53,13 +93,8 @@ }

name: 'get_intents_for_file',
description: `Get all intents that have code blocks in this file.
description: `Intents with code blocks in a file, so you can see in-progress work and team conflicts before editing.
Use this before modifying a file to:
- See what work is already in progress
- Identify potential conflicts with team members
- Understand the context of existing code changes
Returns intent details including author, status, and specific line ranges.`,
Pass startLine + endLine to narrow to a range; the result then reports the exact overlap and warns when it hits a teammate's active intent.`,
inputSchema: getIntentsForFileSchema,
handler: getIntentsForFile
handler: getIntentsForFile,
};
//# sourceMappingURL=get-intents-for-file.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"get-intents-for-file.js","sourceRoot":"","sources":["../../src/tools/get-intents-for-file.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"get-intents-for-file.js","sourceRoot":"","sources":["../../src/tools/get-intents-for-file.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const getProjectDecisionsSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -22,17 +8,5 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -65,16 +39,2 @@ export type GetProjectDecisionsInput = z.infer<typeof getProjectDecisionsSchema>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -85,19 +45,7 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof getProjectDecisions;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const getProjectDecisionsSchema = z.object({
repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),
repoPath: z.string().describe('Local path to the repository root'),
...forkFieldsExtensions,
});

@@ -14,3 +12,2 @@ export async function getProjectDecisions(input) {

repoOrigin: actualOrigin,
...extractForkFields(input),
});

@@ -17,0 +14,0 @@ const decisions = (res.decisions || []).map((d) => ({

@@ -1,1 +0,1 @@

{"version":3,"file":"get-project-decisions.js","sourceRoot":"","sources":["../../src/tools/get-project-decisions.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,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,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,GAAG,oBAAoB;CACxB,CAAC,CAAA;AA2BF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE;QACpD,UAAU,EAAE,YAAY;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,MAAM,SAAS,GAAsB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,QAAQ,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAClF,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE;QAC3D,IAAI,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;QACjD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QACxB,6EAA6E;QAC7E,6EAA6E;QAC7E,qEAAqE;QACrE,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE;QACrD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,kBAAkB,IAAI,EAAE;QACvE,oBAAoB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,IAAI,EAAE;KAC9E,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;;;;;;;;;;;;;;;;;sEAiBuD;IACpE,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAA"}
{"version":3,"file":"get-project-decisions.js","sourceRoot":"","sources":["../../src/tools/get-project-decisions.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;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,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;CACnE,CAAC,CAAA;AA2BF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE;QACpD,UAAU,EAAE,YAAY;KACzB,CAAC,CAAA;IAEF,MAAM,SAAS,GAAsB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,QAAQ,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAClF,SAAS,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE;QAC3D,IAAI,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;QACjD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QACxB,6EAA6E;QAC7E,6EAA6E;QAC7E,qEAAqE;QACrE,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE;QACrD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,kBAAkB,IAAI,EAAE;QACvE,oBAAoB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,IAAI,EAAE;KAC9E,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;;;;;;;;;;;;;;;;;sEAiBuD;IACpE,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAA"}
import { z } from 'zod';
export declare const getRelevantContextSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -31,8 +17,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -43,8 +23,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -94,16 +68,2 @@ maxIntents?: number | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -123,8 +83,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -135,8 +89,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -143,0 +91,0 @@ maxIntents?: number | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { emitInjection, estimateTokens } from '../telemetry.js';

@@ -14,3 +13,2 @@ export const getRelevantContextSchema = z.object({

minRelevance: z.number().optional().default(0.3).describe('Minimum relevance score (0-1)'),
...forkFieldsExtensions,
});

@@ -40,3 +38,2 @@ const EMPTY_RESPONSE = (origin, path) => ({

minScore: input.minRelevance,
...extractForkFields(input),
});

@@ -43,0 +40,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"get-relevant-context.js","sourceRoot":"","sources":["../../src/tools/get-relevant-context.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"get-relevant-context.js","sourceRoot":"","sources":["../../src/tools/get-relevant-context.ts"],"names":[],"mappings":"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"}

@@ -22,16 +22,2 @@ import { z } from 'zod';

export declare const getResolutionContextSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -49,8 +35,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -63,8 +43,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -109,16 +83,2 @@ }>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -136,8 +96,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -150,8 +104,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -158,0 +106,0 @@ }>;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
/**

@@ -45,7 +44,5 @@ * Thin proxy to Muninn's `pre-edit-check:resolution-context` handler (Layer C,

.describe('Active intent ID (advisory). Auto-detected by Kawa Code when omitted.'),
...forkFieldsExtensions,
});
export async function getResolutionContext(input) {
const repoOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const forkFields = extractForkFields(input);
const res = await request('pre-edit-check', 'resolution-context', {

@@ -58,3 +55,2 @@ repoOrigin,

intentId: input.intentId,
...forkFields,
});

@@ -61,0 +57,0 @@ return res;

@@ -1,1 +0,1 @@

{"version":3,"file":"get-resolution-context.js","sourceRoot":"","sources":["../../src/tools/get-resolution-context.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;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,mCAAmC,CAAC;IAChD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,uGAAuG,CAAC;IACpH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,uFAAuF,CAAC;IACpG,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAkCF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE;QAChE,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,UAAU;KACd,CAAC,CAAA;IAEF,OAAO,GAAmC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE;;;;;;;;;;;4FAW6E;IAC1F,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,oBAAoB;CAC9B,CAAA"}
{"version":3,"file":"get-resolution-context.js","sourceRoot":"","sources":["../../src/tools/get-resolution-context.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;AAEnD;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,mCAAmC,CAAC;IAChD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,uGAAuG,CAAC;IACpH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1B,QAAQ,CAAC,uFAAuF,CAAC;IACpG,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;CACrF,CAAC,CAAA;AAkCF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAElE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE;QAChE,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAA;IAEF,OAAO,GAAmC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE;;;;;;;;;;;4FAW6E;IAC1F,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,oBAAoB;CAC9B,CAAA"}
import { z } from 'zod';
import { IntentRef } from '../types/refs.js';
export declare const getSessionDecisionsSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -24,8 +11,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -35,8 +16,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -61,3 +36,11 @@ export type GetSessionDecisionsInput = z.infer<typeof getSessionDecisionsSchema>;

intentId: string;
intentIds: string[];
/**
* The intent these decisions belong to, named.
*
* Every decision here shares one parent — the caller named it — so this is a
* single ref, not one per row. Resolved cache-only by Kawa Code, so it is
* absent on a cold cache rather than costing a round trip to label an intent
* the caller already identified.
*/
intent?: IntentRef;
decisions: DecisionPoint[];

@@ -71,16 +54,2 @@ count: number;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -93,8 +62,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -104,10 +67,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof getSessionDecisions;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { toIntentRef } from '../types/refs.js';
export const getSessionDecisionsSchema = z.object({

@@ -9,3 +9,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

intentId: z.string().describe('The intent ID to get decisions for'),
...forkFieldsExtensions,
});

@@ -17,3 +16,2 @@ export async function getSessionDecisions(input) {

intentId: input.intentId,
...extractForkFields(input),
});

@@ -36,3 +34,3 @@ const decisions = (res.decisions || []).map((d) => ({

intentId: input.intentId,
intentIds: [input.intentId],
intent: toIntentRef(res?.intent) ?? undefined,
decisions,

@@ -39,0 +37,0 @@ count: decisions.length

@@ -1,1 +0,1 @@

{"version":3,"file":"get-session-decisions.js","sourceRoot":"","sources":["../../src/tools/get-session-decisions.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,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACnE,GAAG,oBAAoB;CACxB,CAAC,CAAA;AA4BF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;QAC5C,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,MAAM,SAAS,GAAoB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACxE,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE;QAC3D,IAAI,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;QACjD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QACxB,yEAAyE;QACzE,8EAA8E;QAC9E,4EAA4E;QAC5E,oFAAoF;QACpF,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE;QACrD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,kBAAkB,IAAI,EAAE;QACvE,oBAAoB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,IAAI,EAAE;QAC7E,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS;KAClE,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC3B,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;;;;;;;;sCAQuB;IACpC,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAA"}
{"version":3,"file":"get-session-decisions.js","sourceRoot":"","sources":["../../src/tools/get-session-decisions.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,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,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,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACpE,CAAC,CAAA;AAoCF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;QAC5C,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAA;IAEF,MAAM,SAAS,GAAoB,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACxE,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QACxD,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE;QAC3D,IAAI,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI;QACjD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QACxB,yEAAyE;QACzE,8EAA8E;QAC9E,4EAA4E;QAC5E,oFAAoF;QACpF,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE;QACrD,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,kBAAkB,IAAI,EAAE;QACvE,oBAAoB,EAAE,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,IAAI,EAAE;QAC7E,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS;KAClE,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,SAAS;QAC7C,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;;;;;;;;sCAQuB;IACpC,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAA"}

@@ -7,3 +7,2 @@ import { checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema } from './check-active-intent.js';

import { getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema } from './get-intents-for-file.js';
import { getIntentsForLinesTool, getIntentsForLines, getIntentsForLinesSchema } from './get-intents-for-lines.js';
import { listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema } from './list-team-intents.js';

@@ -20,4 +19,2 @@ import { completeIntentTool, completeIntent, completeIntentSchema } from './complete-intent.js';

import { inferHistoryTool, inferHistory, inferHistorySchema } from './infer-history.js';
import { evolveDecisionsTool, evolveDecisions, evolveDecisionsSchema } from './evolve-decisions.js';
import { updateFeaturesTool, updateFeatures, updateFeaturesSchema } from './update-features.js';
import { preEditDecisionCheckTool, preEditDecisionCheck, preEditDecisionCheckSchema } from './pre-edit-decision-check.js';

@@ -28,3 +25,3 @@ import { preEditAcknowledgeTool, preEditAcknowledge, preEditAcknowledgeSchema } from './pre-edit-acknowledge.js';

import { arbiterApplyTool, arbiterApply, arbiterApplySchema } from './arbiter-apply.js';
export { getRelevantContextTool, getRelevantContext, getRelevantContextSchema, checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema, createAndActivateIntentTool, createAndActivateIntent, createAndActivateIntentSchema, activateIntentTool, activateIntent, activateIntentSchema, resumeIntentTool, resumeIntent, resumeIntentSchema, getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema, getIntentsForLinesTool, getIntentsForLines, getIntentsForLinesSchema, listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema, completeIntentTool, completeIntent, completeIntentSchema, updateIntentTool, updateIntent, updateIntentSchema, logWorkTool, logWork, logWorkSchema, recordDecisionTool, recordDecision, recordDecisionSchema, getSessionDecisionsTool, getSessionDecisions, getSessionDecisionsSchema, getProjectDecisionsTool, getProjectDecisions, getProjectDecisionsSchema, getDecisionDetailTool, getDecisionDetail, getDecisionDetailSchema, editSessionDecisionTool, editSessionDecision, editSessionDecisionSchema, detectIntentConflictsTool, detectIntentConflicts, detectIntentConflictsSchema, inferHistoryTool, inferHistory, inferHistorySchema, evolveDecisionsTool, evolveDecisions, evolveDecisionsSchema, updateFeaturesTool, updateFeatures, updateFeaturesSchema, preEditDecisionCheckTool, preEditDecisionCheck, preEditDecisionCheckSchema, preEditAcknowledgeTool, preEditAcknowledge, preEditAcknowledgeSchema, getResolutionContextTool, getResolutionContext, getResolutionContextSchema, arbiterResolveTool, arbiterResolve, arbiterResolveSchema, arbiterApplyTool, arbiterApply, arbiterApplySchema };
export { getRelevantContextTool, getRelevantContext, getRelevantContextSchema, checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema, createAndActivateIntentTool, createAndActivateIntent, createAndActivateIntentSchema, activateIntentTool, activateIntent, activateIntentSchema, resumeIntentTool, resumeIntent, resumeIntentSchema, getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema, listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema, completeIntentTool, completeIntent, completeIntentSchema, updateIntentTool, updateIntent, updateIntentSchema, logWorkTool, logWork, logWorkSchema, recordDecisionTool, recordDecision, recordDecisionSchema, getSessionDecisionsTool, getSessionDecisions, getSessionDecisionsSchema, getProjectDecisionsTool, getProjectDecisions, getProjectDecisionsSchema, getDecisionDetailTool, getDecisionDetail, getDecisionDetailSchema, editSessionDecisionTool, editSessionDecision, editSessionDecisionSchema, detectIntentConflictsTool, detectIntentConflicts, detectIntentConflictsSchema, inferHistoryTool, inferHistory, inferHistorySchema, preEditDecisionCheckTool, preEditDecisionCheck, preEditDecisionCheckSchema, preEditAcknowledgeTool, preEditAcknowledge, preEditAcknowledgeSchema, getResolutionContextTool, getResolutionContext, getResolutionContextSchema, arbiterResolveTool, arbiterResolve, arbiterResolveSchema, arbiterApplyTool, arbiterApply, arbiterApplySchema };
export declare const allTools: ({

@@ -34,16 +31,2 @@ name: string;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -54,17 +37,5 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -76,16 +47,2 @@ handler: typeof checkActiveIntent;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -105,8 +62,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -117,8 +68,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
activeFiles?: string[] | undefined;

@@ -134,16 +79,2 @@ maxIntents?: number | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -163,8 +94,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
constraints?: string[] | undefined;

@@ -176,8 +101,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
templateType?: "feature" | "refactor" | "exploration" | undefined;

@@ -192,16 +111,2 @@ constraints?: string[] | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -214,8 +119,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -225,8 +124,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -238,16 +131,2 @@ handler: typeof activateIntent;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -258,17 +137,5 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -280,16 +147,2 @@ handler: typeof getProjectDecisions;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -302,8 +155,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -313,8 +160,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -326,19 +167,7 @@ handler: typeof resumeIntent;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;
repoPath: import("zod").ZodString;
filePath: import("zod").ZodString;
startLine: import("zod").ZodOptional<import("zod").ZodNumber>;
endLine: import("zod").ZodOptional<import("zod").ZodNumber>;
}, "strip", import("zod").ZodTypeAny, {

@@ -348,8 +177,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}, {

@@ -359,8 +184,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
startLine?: number | undefined;
endLine?: number | undefined;
}>;

@@ -372,67 +193,4 @@ handler: typeof getIntentsForFile;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;
repoPath: import("zod").ZodString;
filePath: import("zod").ZodString;
startLine: import("zod").ZodNumber;
endLine: import("zod").ZodNumber;
}, "strip", import("zod").ZodTypeAny, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof getIntentsForLines;
} | {
name: string;
description: string;
inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;
repoPath: import("zod").ZodString;
status: import("zod").ZodOptional<import("zod").ZodEnum<["active", "committed", "pushed", "done", "abandoned"]>>;

@@ -448,10 +206,4 @@ author: import("zod").ZodOptional<import("zod").ZodString>;

offset: number;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -462,10 +214,4 @@ since?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -482,16 +228,2 @@ since?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -505,11 +237,5 @@ repoPath: import("zod").ZodString;

}, "strip", import("zod").ZodTypeAny, {
repoPath: string;
status: "done" | "abandoned" | "committed" | "pushed" | "superseded";
repoPath: string;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -521,10 +247,4 @@ commitSha?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "abandoned" | "committed" | "pushed" | "superseded" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -540,16 +260,2 @@ commitSha?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -574,8 +280,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -592,8 +292,2 @@ description?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -613,16 +307,2 @@ description?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -636,8 +316,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -648,8 +322,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -662,16 +330,2 @@ }>;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -738,8 +392,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -775,8 +423,2 @@ alternatives?: string[] | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -814,16 +456,2 @@ intentId?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -836,8 +464,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -847,8 +469,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -860,16 +476,2 @@ handler: typeof getSessionDecisions;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -882,8 +484,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -893,8 +489,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -906,16 +496,2 @@ handler: typeof getDecisionDetail;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -986,8 +562,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -1015,8 +585,2 @@ context?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
updates?: {

@@ -1044,16 +608,2 @@ context?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -1067,8 +617,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -1079,8 +623,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
minScore?: number | undefined;

@@ -1128,72 +666,4 @@ }>;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
stories: import("zod").ZodArray<import("zod").ZodAny, "many">;
repoPath: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;
}, "strip", import("zod").ZodTypeAny, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof evolveDecisions;
} | {
name: string;
description: string;
inputSchema: import("zod").ZodObject<{
repoPath: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
repoPath: string;
}, {
repoPath: string;
}>;
handler: typeof updateFeatures;
} | {
name: string;
description: string;
inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;
repoPath: import("zod").ZodString;
filePath: import("zod").ZodString;

@@ -1210,8 +680,2 @@ startLine: import("zod").ZodNumber;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1225,8 +689,2 @@ sessionToken?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1240,16 +698,2 @@ sessionToken?: string | undefined;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
decisionIds: import("zod").ZodArray<import("zod").ZodString, "many">;

@@ -1262,8 +706,2 @@ repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -1273,8 +711,2 @@ decisionIds: string[];

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -1286,16 +718,2 @@ handler: typeof preEditAcknowledge;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

@@ -1313,8 +731,2 @@ repoPath: import("zod").ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1327,8 +739,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1341,16 +747,2 @@ }>;

inputSchema: import("zod").ZodObject<{
forkAuthor: import("zod").ZodOptional<import("zod").ZodObject<{
platform: import("zod").ZodEnum<["github", "gitlab"]>;
user: import("zod").ZodString;
forkOrigin: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: import("zod").ZodOptional<import("zod").ZodString>;
repoPath: import("zod").ZodString;

@@ -1380,8 +772,2 @@ repoOrigin: import("zod").ZodOptional<import("zod").ZodString>;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1396,8 +782,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -1404,0 +784,0 @@ }>;

@@ -7,3 +7,2 @@ import { checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema } from './check-active-intent.js';

import { getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema } from './get-intents-for-file.js';
import { getIntentsForLinesTool, getIntentsForLines, getIntentsForLinesSchema } from './get-intents-for-lines.js';
import { listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema } from './list-team-intents.js';

@@ -20,4 +19,2 @@ import { completeIntentTool, completeIntent, completeIntentSchema } from './complete-intent.js';

import { inferHistoryTool, inferHistory, inferHistorySchema } from './infer-history.js';
import { evolveDecisionsTool, evolveDecisions, evolveDecisionsSchema } from './evolve-decisions.js';
import { updateFeaturesTool, updateFeatures, updateFeaturesSchema } from './update-features.js';
import { preEditDecisionCheckTool, preEditDecisionCheck, preEditDecisionCheckSchema } from './pre-edit-decision-check.js';

@@ -33,3 +30,3 @@ import { preEditAcknowledgeTool, preEditAcknowledge, preEditAcknowledgeSchema } from './pre-edit-acknowledge.js';

// Intent tools
checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema, createAndActivateIntentTool, createAndActivateIntent, createAndActivateIntentSchema, activateIntentTool, activateIntent, activateIntentSchema, resumeIntentTool, resumeIntent, resumeIntentSchema, getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema, getIntentsForLinesTool, getIntentsForLines, getIntentsForLinesSchema, listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema, completeIntentTool, completeIntent, completeIntentSchema, updateIntentTool, updateIntent, updateIntentSchema,
checkActiveIntentTool, checkActiveIntent, checkActiveIntentSchema, createAndActivateIntentTool, createAndActivateIntent, createAndActivateIntentSchema, activateIntentTool, activateIntent, activateIntentSchema, resumeIntentTool, resumeIntent, resumeIntentSchema, getIntentsForFileTool, getIntentsForFile, getIntentsForFileSchema, listTeamIntentsTool, listTeamIntents, listTeamIntentsSchema, completeIntentTool, completeIntent, completeIntentSchema, updateIntentTool, updateIntent, updateIntentSchema,
// Lightweight logging

@@ -42,5 +39,4 @@ logWorkTool, logWork, logWorkSchema,

// Inference pipeline tools
inferHistoryTool, inferHistory, inferHistorySchema, evolveDecisionsTool, evolveDecisions, evolveDecisionsSchema,
inferHistoryTool, inferHistory, inferHistorySchema,
// Feature catalog
updateFeaturesTool, updateFeatures, updateFeaturesSchema,
// Pre-edit decision check

@@ -57,3 +53,2 @@ preEditDecisionCheckTool, preEditDecisionCheck, preEditDecisionCheckSchema, preEditAcknowledgeTool, preEditAcknowledge, preEditAcknowledgeSchema, getResolutionContextTool, getResolutionContext, getResolutionContextSchema, arbiterResolveTool, arbiterResolve, arbiterResolveSchema, arbiterApplyTool, arbiterApply, arbiterApplySchema };

getIntentsForFileTool,
getIntentsForLinesTool,
listTeamIntentsTool,

@@ -74,5 +69,3 @@ completeIntentTool,

inferHistoryTool,
evolveDecisionsTool,
// Feature catalog
updateFeaturesTool,
// Pre-edit decision check

@@ -79,0 +72,0 @@ preEditDecisionCheckTool,

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}

@@ -122,24 +122,9 @@ import { z } from 'zod';

name: 'infer_history',
description: `Analyze a repository's git commit history and produce structured development knowledge (intents and decisions) for the repo.
description: `One-time-ish bootstrap: mine a repo's git history into intents and decisions. Rare — use it to seed a repo that has no recorded history yet, or to extend coverage after many new commits. NOT part of the per-turn workflow.
When to use:
- To bootstrap a repository that has no recorded intents/decisions yet.
- To extend coverage for new commits since the last run (resumes automatically when no \`commits\` value is provided).
Costs real money and time, so it is a two-step call: run with estimateOnly (the default) to preview tokens/cost, show the user, then re-call with estimateOnly: false only if they agree. The run is asynchronous and reports progress in the Kawa Code app; it resumes automatically if interrupted.
Inputs of note:
- \`estimateOnly\` (default true): returns a token/cost estimate without running. Call with \`estimateOnly: true\` first to preview cost, then re-call with \`estimateOnly: false\` to run.
- \`commits\` (optional): how many recent commits to analyze. Omit to resume from where the last run stopped (or fall back to a sensible default on first run).
- \`commitRange\` (optional): git revspec selecting a specific window — \`"sha1..sha2"\`, \`"branch1..branch2"\`, \`"sha1^!"\` for a single commit. Mutually exclusive with \`commits\`. Useful for recovering from dropped batches or backfilling specific PRs / branches without re-running the full history.
- \`contextIssues\`: include PR/MR descriptions and issue discussions when an authenticated forge CLI (\`gh\` or \`glab\`) is available; auto-skipped otherwise.
- \`allowCommitSplitting\`: enable when commit history is messy and a single commit may cover unrelated changes.
- \`maxStories\`: per-run cap on how many stories are analyzed.
- \`model\`: affects the cost estimate only — it does not choose the model the run uses. The run's model is configured in the Kawa Code app.
- \`force\` (default false): override the re-run guard (see Behavior).
Re-run guard — do not defeat this casually. If the repo already has intents and the run cannot cleanly resume, or HEAD is not on the default branch, the call STOPS and returns needsDecision rather than running, because re-running blind risks duplicate intents. Show the user the reason and only re-call with force: true if they confirm. Prefer running on main/master.
Behavior:
- A run is asynchronous — returns immediately with a started/pending status; progress is reported separately.
- Results are persisted as intents and decisions for the repo on completion.
- If interrupted, re-running resumes from where it left off.
- Re-run guard: a clean incremental resume runs automatically. But if the repo already has intents and the run cannot cleanly resume (missing/unreachable cursor), or HEAD is not on the default branch, the call STOPS and returns \`needsDecision\` instead of running — re-running blind there risks duplicate intents. Present the reason to the user and, if they confirm, re-call with \`force: true\`. Run on the default branch (main/master) whenever possible; inferring a feature branch is what \`force\` is for.
- GitHub and GitLab are supported; the forge is detected from the remote origin.`,
Omit commits to resume from the last run. See the README for the full parameter list.`,
inputSchema: inferHistorySchema,

@@ -146,0 +131,0 @@ handler: inferHistory

@@ -1,1 +0,1 @@

{"version":3,"file":"infer-history.js","sourceRoot":"","sources":["../../src/tools/infer-history.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"infer-history.js","sourceRoot":"","sources":["../../src/tools/infer-history.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const listTeamIntentsSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -29,10 +15,4 @@ repoPath: z.ZodString;

offset: number;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -43,10 +23,4 @@ since?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -81,16 +55,2 @@ since?: string | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -108,10 +68,4 @@ repoPath: z.ZodString;

offset: number;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -122,10 +76,4 @@ since?: string | undefined;

repoPath: string;
repoOrigin?: string | undefined;
status?: "done" | "active" | "abandoned" | "committed" | "pushed" | undefined;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
author?: string | undefined;

@@ -132,0 +80,0 @@ since?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const listTeamIntentsSchema = z.object({

@@ -15,3 +14,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

offset: z.number().optional().default(0).describe('Number of intents to skip for pagination (default: 0)'),
...forkFieldsExtensions,
});

@@ -34,3 +32,2 @@ export async function listTeamIntents(input) {

until: input.until,
...extractForkFields(input),
});

@@ -37,0 +34,0 @@ const intents = (res.intents || []).map((intent) => ({

@@ -1,1 +0,1 @@

{"version":3,"file":"list-team-intents.js","sourceRoot":"","sources":["../../src/tools/list-team-intents.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,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,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,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC9E,QAAQ,CAAC,0BAA0B,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACxF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACtG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAC1G,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAuBF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA2B;IAC/D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;IAE/B,0EAA0E;IAC1E,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE;QACpD,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,IAAI;QACV,KAAK;QACL,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,MAAM,OAAO,GAAiB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;QACtE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,SAAS;QAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;QACjC,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,IAAI,SAAS;QACtE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU;QACnD,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC;QACrD,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE;KACvD,CAAC,CAAC,CAAA;IAEH,kFAAkF;IAClF,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAA;IACrE,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC;QACzB,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,wBAAwB,KAAK,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,WAAW,SAAS,CAAA;IAE3H,OAAO;QACL,OAAO;QACP,KAAK,EAAE,KAAK;QACZ,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE;;;;;;;0OAO2N;IACxO,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,eAAe;CACzB,CAAA"}
{"version":3,"file":"list-team-intents.js","sourceRoot":"","sources":["../../src/tools/list-team-intents.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const logWorkSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -25,8 +11,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -37,8 +17,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -57,16 +31,2 @@ }>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -80,8 +40,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -92,8 +46,2 @@ }, {

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
files?: string[] | undefined;

@@ -100,0 +48,0 @@ }>;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const logWorkSchema = z.object({

@@ -10,3 +9,2 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

files: z.array(z.string()).optional().describe('File paths modified (relative to repo root)'),
...forkFieldsExtensions,
});

@@ -19,3 +17,2 @@ export async function logWork(input) {

files: input.files || [],
...extractForkFields(input),
});

@@ -22,0 +19,0 @@ // Positive receipt required: a logged work item always comes back with an id.

@@ -1,1 +0,1 @@

{"version":3,"file":"log-work.js","sourceRoot":"","sources":["../../src/tools/log-work.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,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IACzH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7F,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAUF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAmB;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE9D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC9C,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,6HAA6H;SACpJ,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,OAAO,EAAE,YAAY,KAAK,CAAC,KAAK,GAAG;KACpC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,8SAA8S;IAC3T,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,OAAO;CACjB,CAAA"}
{"version":3,"file":"log-work.js","sourceRoot":"","sources":["../../src/tools/log-work.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;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC;IACzH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC9F,CAAC,CAAA;AAUF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAmB;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE9D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC9C,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;KACzB,CAAC,CAAA;IAEF,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,6HAA6H;SACpJ,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ;QACR,OAAO,EAAE,YAAY,KAAK,CAAC,KAAK,GAAG;KACpC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,8SAA8S;IAC3T,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,OAAO;CACjB,CAAA"}

@@ -17,16 +17,2 @@ import { z } from 'zod';

export declare const preEditAcknowledgeSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
decisionIds: z.ZodArray<z.ZodString, "many">;

@@ -39,8 +25,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -50,8 +30,2 @@ decisionIds: string[];

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -67,16 +41,2 @@ export type PreEditAcknowledgeInput = z.infer<typeof preEditAcknowledgeSchema>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
decisionIds: z.ZodArray<z.ZodString, "many">;

@@ -89,8 +49,2 @@ repoOrigin: z.ZodOptional<z.ZodString>;

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -100,10 +54,4 @@ decisionIds: string[];

repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof preEditAcknowledge;
};
import { z } from 'zod';
import { forkFieldsExtensions } from './_fork-fields.js';
import { resolveOrigin } from './resolve-origin.js';

@@ -32,3 +31,2 @@ import { emitActedOn } from '../telemetry.js';

.describe('Local path to the repository root. Enables repo attribution of the acted-on value-metric.'),
...forkFieldsExtensions,
});

@@ -35,0 +33,0 @@ export async function preEditAcknowledge(input) {

@@ -1,1 +0,1 @@

{"version":3,"file":"pre-edit-acknowledge.js","sourceRoot":"","sources":["../../src/tools/pre-edit-acknowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0FAA0F,CAAC;IACvG,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yIAAyI,CAAC;IACtJ,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2FAA2F,CAAC;IACxG,GAAG,oBAAoB;CACxB,CAAC,CAAA;AAQF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAS,CAAC,CAAA;YAC/D,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;QACxH,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;IAED,oEAAoE;IACpE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;oDAOqC;IAClD,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,kBAAkB;CAC5B,CAAA"}
{"version":3,"file":"pre-edit-acknowledge.js","sourceRoot":"","sources":["../../src/tools/pre-edit-acknowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0FAA0F,CAAC;IACvG,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yIAAyI,CAAC;IACtJ,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2FAA2F,CAAC;CACzG,CAAC,CAAA;AAQF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAS,CAAC,CAAA;YAC/D,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;QACxH,CAAC;QAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC1D,CAAC;IAED,oEAAoE;IACpE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;oDAOqC;IAClD,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,kBAAkB;CAC5B,CAAA"}

@@ -12,16 +12,2 @@ import { z } from 'zod';

export declare const preEditDecisionCheckSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -40,8 +26,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -55,8 +35,2 @@ sessionToken?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -93,16 +67,2 @@ sessionToken?: string | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -121,8 +81,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -136,8 +90,2 @@ sessionToken?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
intentId?: string | undefined;

@@ -144,0 +92,0 @@ sessionToken?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
/**

@@ -41,7 +40,5 @@ * Thin proxy to Muninn's `pre-edit-check:evaluate` handler.

.describe('Session scope for the force-override cache. Defaults to the MCP server\'s SESSION_ID; PreToolUse hook callers should pass Claude Code\'s session_id so writes from one process are visible to the other.'),
...forkFieldsExtensions,
});
export async function preEditDecisionCheck(input) {
const repoOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const forkFields = extractForkFields(input);
const res = await request('pre-edit-check', 'evaluate', {

@@ -55,3 +52,2 @@ repoOrigin,

sessionToken: input.sessionToken,
...forkFields,
});

@@ -58,0 +54,0 @@ return res;

@@ -1,1 +0,1 @@

{"version":3,"file":"pre-edit-decision-check.js","sourceRoot":"","sources":["../../src/tools/pre-edit-decision-check.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;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,yFAAyF,CAAC;IACtG,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sDAAsD,CAAC;IACnE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oDAAoD,CAAC;IACjE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0MAA0M,CAAC;IACvN,GAAG,oBAAoB;CACxB,CAAC,CAAA;AA4BF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAE3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,UAAU,EAAE;QACtD,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,UAAU;KACd,CAAC,CAAA;IAEF,OAAO,GAAmC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE;;;;;;;;;;;;;;;uJAewI;IACrJ,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,oBAAoB;CAC9B,CAAA"}
{"version":3,"file":"pre-edit-decision-check.js","sourceRoot":"","sources":["../../src/tools/pre-edit-decision-check.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;AAEnD;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,yFAAyF,CAAC;IACtG,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;IACnE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sDAAsD,CAAC;IACnE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oDAAoD,CAAC;IACjE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0MAA0M,CAAC;CACxN,CAAC,CAAA;AA4BF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAElE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,UAAU,EAAE;QACtD,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAA;IAEF,OAAO,GAAmC,CAAA;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE;;;;;;;;;;;;;;;uJAewI;IACrJ,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,oBAAoB;CAC9B,CAAA"}
import { z } from 'zod';
export declare const recordDecisionSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -78,8 +64,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -115,8 +95,2 @@ alternatives?: string[] | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -153,2 +127,4 @@ intentId?: string | undefined;

decisionId: string;
/** The summary as stored, so the caller can name the decision it recorded. */
summary?: string;
error?: string;

@@ -161,16 +137,2 @@ }

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -237,8 +199,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -274,8 +230,2 @@ alternatives?: string[] | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
context?: string | undefined;

@@ -282,0 +232,0 @@ intentId?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
const constraintViolationSchema = z.object({

@@ -23,3 +22,3 @@ alternative: z.string().describe('The alternative that was rejected'),

relatedFiles: z.array(z.string()).optional().describe('File paths affected by this decision'),
supersedes: z.array(z.string()).optional().describe('Decision IDs that this one replaces. When a later decision supersedes an earlier one, pass the earlier decisionId(s) here so the evolve pipeline can track the lineage.'),
supersedes: z.array(z.string()).optional().describe('Decision IDs that this one replaces. When a later decision supersedes an earlier one, pass the earlier decisionId(s) here so the evolve pipeline can track the lineage. Pass FULL decision IDs (36-char UUIDs) — a truncated 8-char prefix is rejected, because resolving it back would mean guessing which decision you meant. If you only have a prefix (e.g. read from a doc), look it up with get_decision_detail first and use the id it returns.'),
constraintsChecked: z.array(z.string()).optional().describe('Which architectural constraints were verified before this decision'),

@@ -47,3 +46,2 @@ constraintViolations: z.array(constraintViolationSchema).optional()

.describe('Layer C audit — set ONLY when this decision records how you resolved a completion-time code collision (i.e. after complete_intent returned resolution_required). Links the decision to the live peer you yielded to or overrode.'),
...forkFieldsExtensions,
});

@@ -72,3 +70,2 @@ export async function recordDecision(input) {

resolvedCollision: input.resolvedCollision,
...extractForkFields(input),
});

@@ -83,2 +80,3 @@ // A persisted decision ALWAYS has an id. Anything else — an explicit

const decisionId = typeof res.decisionId === 'string' ? res.decisionId : '';
const summary = typeof res.summary === 'string' ? res.summary : input.summary;
if (res.success === false || !decisionId) {

@@ -92,3 +90,6 @@ return {

}
return { recorded: true, decisionId };
// Echo the summary back beside the id so the caller can name what it just
// recorded — "«summary» (id)" — instead of printing a bare id. Costs nothing:
// the value was supplied by this same call.
return { recorded: true, decisionId, summary };
}

@@ -95,0 +96,0 @@ export const recordDecisionTool = {

@@ -1,1 +0,1 @@

{"version":3,"file":"record-decision.js","sourceRoot":"","sources":["../../src/tools/record-decision.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"record-decision.js","sourceRoot":"","sources":["../../src/tools/record-decision.ts"],"names":[],"mappings":"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"}

@@ -16,16 +16,2 @@ import { z } from 'zod';

export declare const resumeIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -38,8 +24,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -49,8 +29,2 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;

@@ -77,16 +51,2 @@ export type ResumeIntentInput = z.infer<typeof resumeIntentSchema>;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -99,8 +59,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {

@@ -110,10 +64,4 @@ repoPath: string;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof resumeIntent;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
import { activateIntent } from './activate-intent.js';

@@ -23,3 +22,2 @@ import { getProjectDecisions } from './get-project-decisions.js';

intentId: z.string().describe('The cloud ID (preferred) or local UUID of the intent to resume — e.g. the id from a "follow up on intent <id>" handoff.'),
...forkFieldsExtensions,
});

@@ -30,3 +28,3 @@ export async function resumeIntent(input) {

const origin = resolveOrigin(input.repoOrigin, input.repoPath);
const base = { repoOrigin: origin, repoPath: input.repoPath, ...extractForkFields(input) };
const base = { repoOrigin: origin, repoPath: input.repoPath };
// 1. Adopt the intent as THIS session's current focus (multi-active — never

@@ -87,3 +85,7 @@ // displaces another session's current). Fail loud if it can't be activated.

? `Resumed "${intent.title}" (${intent.status}) — ${decisions.length} recorded decision(s) loaded. Call get_decision_detail(id) for the full rationale on any of them.`
: `Resumed intent ${input.intentId.substring(0, 8)} — ${decisions.length} recorded decision(s) loaded.`,
// No title to lead with — `intent:get` returned nothing. Print the id in
// FULL: an intent id is a Mongo ObjectId whose leading bytes are a
// creation timestamp, so a truncated one does not resolve to a single
// intent and would leave the reader with nothing they can look up.
: `Resumed intent ${input.intentId} — ${decisions.length} recorded decision(s) loaded.`,
};

@@ -90,0 +92,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"resume-intent.js","sourceRoot":"","sources":["../../src/tools/resume-intent.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"resume-intent.js","sourceRoot":"","sources":["../../src/tools/resume-intent.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const updateIntentSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -36,8 +22,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -54,8 +34,2 @@ description?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -83,16 +57,2 @@ description?: string | undefined;

inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;

@@ -117,8 +77,2 @@ repoPath: z.ZodString;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -135,8 +89,2 @@ description?: string | undefined;

repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
title?: string | undefined;

@@ -143,0 +91,0 @@ description?: string | undefined;

import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const updateIntentSchema = z.object({

@@ -16,11 +15,9 @@ repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),

}).optional().describe('Updated scope for the intent'),
...forkFieldsExtensions,
});
export async function updateIntent(input) {
const actualOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const forkFields = extractForkFields(input);
// Resolve the intent ID: use provided intentId, or look up the active intent
let intentId = input.intentId;
if (!intentId) {
const activeRes = await request('intent', 'get-active', { repoOrigin: actualOrigin, ...forkFields });
const activeRes = await request('intent', 'get-active', { repoOrigin: actualOrigin });
intentId = activeRes.intentId || activeRes.intent?.id || '';

@@ -67,3 +64,2 @@ if (!intentId) {

updates,
...forkFields,
});

@@ -70,0 +66,0 @@ if (res.success === false) {

@@ -1,1 +0,1 @@

{"version":3,"file":"update-intent.js","sourceRoot":"","sources":["../../src/tools/update-intent.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"update-intent.js","sourceRoot":"","sources":["../../src/tools/update-intent.ts"],"names":[],"mappings":"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"}
{
"name": "@kawacode/mcp",
"version": "6.9.5",
"version": "7.0.1",
"description": "Team-aware memory for Claude Code, Cursor, and other AI coding assistants — intent tracking, decision history, real-time team conflict detection.",

@@ -5,0 +5,0 @@ "main": "build/index.js",

@@ -107,3 +107,3 @@ # Kawa Code MCP

- **Real-time team conflict detection** — see when a teammate is editing the same files or lines in their working copy, *before either of you commits*. Most version-control tooling shows you this after the merge conflict; Kawa shows you before.
- **Real-time team conflict detection** — see when a teammate is editing the same files or lines in their working copy, *before either of you commits*. Most version-control tooling shows you this after the merge conflict; Kawa shows you before. Kawa can also *judge* an overlap and apply the safe tier of merge for you — though that write only happens [in an agent-owned worktree](#auto-resolution-requires-a-worktree).
- **Cross-session AI memory** — your AI assistant picks up where it left off across days, branches, and machines. No re-explaining the architecture every morning.

@@ -116,2 +116,45 @@ - **Decision history with reasoning** — record forks, trade-offs, and abandoned approaches with their *why*. Future sessions and teammates inherit the context instead of re-deriving it.

## Running several agents in parallel
Kawa Code is built for more than one worker on a repository at a time — that's what the conflict detection is *for*. If those workers are AI agents you're running yourself, give each one its own [git worktree](https://git-scm.com/docs/git-worktree). Agents sharing a single checkout overwrite each other's edits with no conflict marker and no git history: nothing is committed between the two writes, so nothing notices.
### Set up worktrees
In Claude Code, background sessions already require a worktree — `worktree.bgIsolation` defaults to `"worktree"`, which blocks edits to the main checkout until the session enters one. You only need to touch it if a project has explicitly opted out with `"none"`. Subagents take `isolation: "worktree"` per spawn.
Two settings are worth tuning, because the defaults surprise people:
```json
{
"worktree": {
"baseRef": "head",
"symlinkDirectories": ["node_modules", "target"]
}
}
```
- **`baseRef`** — defaults to `"fresh"`, which branches from `origin/<default-branch>`. If you work on unpushed commits, set `"head"` to branch from your local HEAD instead. Either way this is a *commit* boundary: uncommitted working-tree changes don't travel into a new worktree, so land your work before spawning agents that need it.
- **`symlinkDirectories`** — nothing is symlinked unless you say so, so every worktree gets its own copy of whatever you leave out. Symlink *dependency* directories freely: `node_modules` is the same content for every worktree, and sharing it costs nothing. **Do not symlink compiled-language build output** — `target/`, `build/`, `obj/`. Those tools name artifacts deterministically from the crate/module and its inputs, *without* encoding which checkout they came from, so two worktrees building into one directory write the same filenames and silently overwrite each other. The symptom is the dangerous part: your suite goes **green while running another checkout's binaries**. Only a test that resolves a path baked in at compile time (Rust's `env!("CARGO_MANIFEST_DIR")`, `include_str!`, or an equivalent) will notice; everything else passes. If a suite ever looks suspiciously green after another checkout built in the same place, clean the build directory and re-run before believing it.
Because compiled build directories can't be shared, they multiply — one per worktree, each growing independently, and they get large enough to matter (a mature Rust `target/` reaches hundreds of gigabytes). Two things keep that affordable, and they solve different halves:
- **Speed** — a compiler cache such as [`sccache`](https://github.com/mozilla/sccache) is safe across worktrees precisely because it caches *results* keyed by input hash rather than sharing an output directory.
- **Disk** — prune periodically. For Rust, [`cargo-sweep`](https://github.com/holmgr/cargo-sweep) removes stale artifacts by age or to a size cap; wire it into whatever cadence fits your setup — after merging a worktree back is a natural trigger. One caveat worth knowing before you rely on it: sweeping only reclaims artifacts the build tool still tracks. If that index has been lost, the leftovers are orphaned and a sweep reports nothing to do no matter the flags — a full clean is the only thing that reclaims them.
### Keeping agents from colliding
Isolation alone would just give you several agents doing overlapping work in private. Kawa's job is the coordination on top.
Each agent session gets its own identity, and intents are tracked **per session** — so several intents can be active on one repository at once, each with its own current focus, without a lock and without agents clobbering each other's context. From there the normal machinery applies across agents exactly as it does across teammates: `get_relevant_context` surfaces what the *other* agents have already decided, `create_and_activate_intent` reports a conflict when new work overlaps something already in flight, and the pre-edit check fires on reasoning any of them recorded.
The practical result: your agents inherit each other's decisions instead of re-deriving them, and you find out about overlapping work while it's still cheap to redirect — not at merge time.
### Auto-resolution requires a worktree
Kawa can do more than *report* an overlap — `arbiter_resolve` judges each one, and `arbiter_apply` will write the safe tier of merge for you. That write is deliberately gated:
> `arbiter_apply` writes **only in an agent-owned worktree**. On a human checkout — or when a peer holds the file-set lock — it stays suggest-only.
This is the sharpest practical reason to put agents in worktrees. Run them on a shared checkout and auto-resolution silently never engages; you get the conflict surfaced and nothing else, with no error to tell you a capability was switched off. The guardrail is intentional — Kawa won't rewrite a human's working tree underneath them — but it does mean the setup decides whether half the feature is available.
## Handing off work to a teammate (no session export)

@@ -148,2 +191,46 @@

## Occasional operations
Most Kawa tools run every turn — check the active intent, recall context, record a decision. The operations below are different: you run them **rarely**, sometimes once per repository. They cost real time and money, and they are not part of the per-turn loop.
### Seeding a repo from its git history — `infer_history`
A brand-new Kawa repo knows nothing about work that predates it. `infer_history` mines the existing commit history into intents and decisions, so recall has something to draw on from day one. Run it **once** when you connect a repo with meaningful history; after that it extends incrementally.
It is agent-invoked — ask your assistant, e.g. *"Run infer_history with max 3000 commits"*. There is no button for it in the Kawa Code app.
**Always estimate first.** The tool defaults to `estimateOnly: true`, which returns a token/cost preview without running anything. Look at the number, then re-run with `estimateOnly: false` to actually start. A run is asynchronous — it returns immediately and reports progress in the Kawa Code app — and resumes from where it stopped if interrupted.
| Parameter | Default | Purpose |
|---|---|---|
| `estimateOnly` | `true` | Preview cost without running. Set `false` to execute. |
| `commits` | resume | How many recent commits to analyze. Omit to continue from the last run. |
| `commitRange` | — | Git revspec (`sha1..sha2`, `branch1..branch2`, `sha1^!`) for a specific window. Mutually exclusive with `commits`. Good for backfilling a PR or recovering a dropped batch. |
| `contextIssues` | `false` | Pull in PR/MR descriptions and issue discussions. Needs an authenticated `gh` or `glab`; silently skipped otherwise. |
| `allowCommitSplitting` | `false` | Enable when one commit often mixes unrelated changes. |
| `maxStories` | — | Per-run cap on stories analyzed. |
| `model` | — | Affects the **estimate only**. The run's model is configured in the Kawa Code app. |
| `force` | `false` | Override the re-run guard — see below. |
**The re-run guard.** If the repo already has intents and the run can't cleanly resume (missing or unreachable cursor), or `HEAD` isn't on the default branch, the call stops and returns `needsDecision` instead of running. That's deliberate: re-running blind duplicates intents. Read the reason, and only pass `force: true` if it genuinely applies. Prefer running on `main`/`master`; `force` exists for the deliberate feature-branch case.
GitHub and GitLab are both supported; the forge is detected from the remote origin.
### Decision evolution — automatic, no call needed
Curating decisions into an evolution graph is **phase 5 of `infer_history`**, run automatically once the analysis completes. There is no separate step and nothing to invoke.
> Earlier versions exposed an `evolve_decisions` tool. It has been removed: it required a `stories` array that only ever existed inside the pipeline's own memory, so no assistant could construct a valid call. Nothing is lost — the curation still runs, as part of `infer_history`.
### Updating the feature catalog — use the Features panel
Features group a repo's intents into a browsable catalog. Rebuild it from the **Features** panel in the Kawa Code app:
- **Update features** — additive. Folds intents that aren't in the catalog yet into the existing features. This is the everyday action.
- **Rebuild** — cold rebuild from scratch, keeping locked features. Use when the catalog has drifted badly.
Progress shows in the app, and the catalog also extends automatically after an `infer_history` run.
> Earlier versions exposed an `update_features` MCP tool that sent the same request as the **Update features** button. It has been removed — one button and one tool doing the identical thing meant every session paid for a tool schema it never needed. Press the button instead.
## Development

@@ -150,0 +237,0 @@

/**
* Shared Zod schema fragment for the forkAuthor + workspaceId attribution
* fields added in REPO_FORKS_IMPLEMENTATION_PLAN_PHASE_1.md §5.
*
* Every MCP tool that accepts `repoOrigin` spreads `forkFieldsExtensions`
* into its Zod input schema and forwards `extractForkFields(input)` to the
* IPC payload. Both fields are OPTIONAL — Muninn resolves them
* automatically from `repoPath` (fork detection + workspace registry, §4.2 +
* §4.3). Callers only need to pass them in advanced override / testing
* scenarios where the desktop app's auto-resolution should be bypassed.
*
* Keep the field shape in lockstep with:
* - kawa.api/src/models/intents.model.ts / decisions.model.ts
* - kawa.muninn/src-tauri/src/gardener/handlers/intent.rs (OutboundIdentity)
*
* Drift across repos will cause silent rejection (Yup validators strip
* unknown fields on the API side) or runtime errors on the Muninn side.
*/
import { z } from 'zod';
/**
* Fork attribution payload. Optional in its entirety; when present, all
* three subfields are required (so the API can persist a coherent record).
*/
export declare const forkAuthorSchema: z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>;
export type ForkAuthor = z.infer<typeof forkAuthorSchema>;
/**
* Spread into each tool's Zod input schema. The two fields are independent —
* a tool can accept `workspaceId` alone (override for the override target)
* without `forkAuthor` (canonical clone) and vice versa.
*/
export declare const forkFieldsExtensions: {
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
};
/**
* Subset of a tool input shape carrying just the §5 fields.
*
* Tools have many other fields; this is the narrow type the
* `extractForkFields` helper accepts so it stays usable across all 20 tools
* without each one importing a full input type.
*/
export interface ForkFieldsInput {
forkAuthor?: ForkAuthor;
workspaceId?: string;
}
/**
* Pluck the §5 fields off a tool input for IPC payload forwarding.
*
* Returns an object suitable for spreading into the `request(...)` call:
*
* await request('intent', 'create', {
* repoOrigin: actualOrigin,
* ...extractForkFields(input),
* ...
* })
*
* Fields are only included when defined, so canonical-clone callers don't
* spam Muninn with explicit nulls.
*/
export declare function extractForkFields(input: ForkFieldsInput): ForkFieldsInput;
/**
* Shared Zod schema fragment for the forkAuthor + workspaceId attribution
* fields added in REPO_FORKS_IMPLEMENTATION_PLAN_PHASE_1.md §5.
*
* Every MCP tool that accepts `repoOrigin` spreads `forkFieldsExtensions`
* into its Zod input schema and forwards `extractForkFields(input)` to the
* IPC payload. Both fields are OPTIONAL — Muninn resolves them
* automatically from `repoPath` (fork detection + workspace registry, §4.2 +
* §4.3). Callers only need to pass them in advanced override / testing
* scenarios where the desktop app's auto-resolution should be bypassed.
*
* Keep the field shape in lockstep with:
* - kawa.api/src/models/intents.model.ts / decisions.model.ts
* - kawa.muninn/src-tauri/src/gardener/handlers/intent.rs (OutboundIdentity)
*
* Drift across repos will cause silent rejection (Yup validators strip
* unknown fields on the API side) or runtime errors on the Muninn side.
*/
import { z } from 'zod';
/**
* Fork attribution payload. Optional in its entirety; when present, all
* three subfields are required (so the API can persist a coherent record).
*/
export const forkAuthorSchema = z
.object({
platform: z.enum(['github', 'gitlab']),
user: z.string(),
forkOrigin: z.string(),
})
.describe('Fork attribution; usually resolved by Muninn automatically — pass only for override / testing.');
/**
* Spread into each tool's Zod input schema. The two fields are independent —
* a tool can accept `workspaceId` alone (override for the override target)
* without `forkAuthor` (canonical clone) and vice versa.
*/
export const forkFieldsExtensions = {
forkAuthor: forkAuthorSchema.optional(),
workspaceId: z
.string()
.optional()
.describe('Workspace identifier; usually resolved by Muninn automatically — pass only for override / testing.'),
};
/**
* Pluck the §5 fields off a tool input for IPC payload forwarding.
*
* Returns an object suitable for spreading into the `request(...)` call:
*
* await request('intent', 'create', {
* repoOrigin: actualOrigin,
* ...extractForkFields(input),
* ...
* })
*
* Fields are only included when defined, so canonical-clone callers don't
* spam Muninn with explicit nulls.
*/
export function extractForkFields(input) {
const out = {};
if (input.forkAuthor !== undefined)
out.forkAuthor = input.forkAuthor;
if (input.workspaceId !== undefined)
out.workspaceId = input.workspaceId;
return out;
}
//# sourceMappingURL=_fork-fields.js.map
{"version":3,"file":"_fork-fields.js","sourceRoot":"","sources":["../../src/tools/_fork-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,QAAQ,CACP,gGAAgG,CACjG,CAAA;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oGAAoG,CACrG;CACJ,CAAA;AAcD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,GAAG,GAAoB,EAAE,CAAA;IAC/B,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACrE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACxE,OAAO,GAAG,CAAA;AACZ,CAAC"}
/**
* Recovery for tool-call args mangled by a mis-closed parameter tag.
*
* When an LLM emits a parameter block that is opened correctly but closed with
* `</fieldName>` instead of the required closing tag — and the NEXT parameter is
* opened without the required prefix — the harness's tool-call parser never sees
* a parameter boundary. Everything up to the next well-formed close is folded
* into the preceding field's string value. What reaches this process is
* perfectly valid JSON in which one field carries a self-describing tail:
*
* { consequences: 'real text</consequences>\n<parameter name="symptom">real symptom' }
*
* There is no second wire format to parse — the tail is simply data. But it is
* losslessly recoverable, because it names the field it was meant for and
* carries that field's value verbatim.
*
* This is deliberately a compensating path (the project otherwise forbids
* fallbacks): left alone, the corruption reaches the store, syncs, and becomes
* immutable, which has already cost several supersede cycles. Recovery is
* strictly guarded and always logged, never silent.
*/
export interface SalvageEntry {
/** The field whose value was recovered. */
field: string;
/** The field that had absorbed it. */
fromField: string;
}
export interface SalvageResult {
args: Record<string, unknown>;
salvaged: SalvageEntry[];
}
/**
* Peel absorbed fields out of `args`. Returns a new object; `args` is untouched.
*
* `knownFields` are the schema field names of the tool being called — recovery
* is refused for anything not in that set.
*/
export declare function salvageMangledArgs(args: Record<string, unknown>, knownFields: readonly string[]): SalvageResult;
/**
* Recovery for tool-call args mangled by a mis-closed parameter tag.
*
* When an LLM emits a parameter block that is opened correctly but closed with
* `</fieldName>` instead of the required closing tag — and the NEXT parameter is
* opened without the required prefix — the harness's tool-call parser never sees
* a parameter boundary. Everything up to the next well-formed close is folded
* into the preceding field's string value. What reaches this process is
* perfectly valid JSON in which one field carries a self-describing tail:
*
* { consequences: 'real text</consequences>\n<parameter name="symptom">real symptom' }
*
* There is no second wire format to parse — the tail is simply data. But it is
* losslessly recoverable, because it names the field it was meant for and
* carries that field's value verbatim.
*
* This is deliberately a compensating path (the project otherwise forbids
* fallbacks): left alone, the corruption reaches the store, syncs, and becomes
* immutable, which has already cost several supersede cycles. Recovery is
* strictly guarded and always logged, never silent.
*/
/** `</host>` + optional whitespace + a parameter opening + everything after it. */
const MANGLED_TAIL = /<\/([A-Za-z_][\w-]*)>\s*<parameter name="([A-Za-z_]\w*)">([\s\S]*)$/;
/**
* Arrays and objects arrive as JSON text; anything else is a plain string.
* Only attempt a parse when the value actually looks structured, so a string
* like "123" or "true" is never silently coerced to another type.
*/
function parseSalvagedValue(raw) {
const trimmed = raw.trim();
if (trimmed.startsWith('[') || trimmed.startsWith('{')) {
try {
return JSON.parse(trimmed);
}
catch {
// Not valid JSON after all — keep the text rather than dropping it.
}
}
return trimmed;
}
/**
* Peel absorbed fields out of `args`. Returns a new object; `args` is untouched.
*
* `knownFields` are the schema field names of the tool being called — recovery
* is refused for anything not in that set.
*/
export function salvageMangledArgs(args, knownFields) {
const known = new Set(knownFields);
const out = { ...args };
const salvaged = [];
// A single malformed emission can chain: field A absorbs B, whose value in
// turn absorbs C. Keep peeling until a pass finds nothing new.
let progressed = true;
while (progressed) {
progressed = false;
for (const [hostField, hostValue] of Object.entries(out)) {
if (typeof hostValue !== 'string')
continue;
const match = hostValue.match(MANGLED_TAIL);
if (!match || match.index === undefined)
continue;
const [, closingTag, targetField, rawValue] = match;
// Three guards, all required. Any miss means this is probably genuine
// prose (a decision *documenting* this very bug legitimately contains
// these markers), so leave it alone and let normal validation decide.
//
// 1. the bogus closing tag names the host field — evidence of a
// mis-closed host parameter rather than incidental mention
if (closingTag !== hostField)
continue;
// 2. the absorbed field is real for this tool
if (!known.has(targetField))
continue;
// 3. it was not otherwise supplied — never overwrite genuine input
const existing = out[targetField];
if (existing !== undefined && existing !== null && existing !== '')
continue;
out[hostField] = hostValue.slice(0, match.index).trimEnd();
out[targetField] = parseSalvagedValue(rawValue);
salvaged.push({ field: targetField, fromField: hostField });
progressed = true;
break;
}
}
return { args: out, salvaged };
}
//# sourceMappingURL=_salvage-mangled-args.js.map
{"version":3,"file":"_salvage-mangled-args.js","sourceRoot":"","sources":["../../src/tools/_salvage-mangled-args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mFAAmF;AACnF,MAAM,YAAY,GAAG,qEAAqE,CAAA;AAc1F;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA6B,EAC7B,WAA8B;IAE9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAA;IAClC,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAA;IAChD,MAAM,QAAQ,GAAmB,EAAE,CAAA;IAEnC,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,UAAU,GAAG,IAAI,CAAA;IACrB,OAAO,UAAU,EAAE,CAAC;QAClB,UAAU,GAAG,KAAK,CAAA;QAElB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAAE,SAAQ;YAE3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAQ;YAEjD,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAA;YAEnD,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,EAAE;YACF,iEAAiE;YACjE,+DAA+D;YAC/D,IAAI,UAAU,KAAK,SAAS;gBAAE,SAAQ;YACtC,+CAA+C;YAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,SAAQ;YACrC,oEAAoE;YACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAA;YACjC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE;gBAAE,SAAQ;YAE5E,GAAG,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;YAC1D,GAAG,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YAC3D,UAAU,GAAG,IAAI,CAAA;YACjB,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;AAChC,CAAC"}
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { salvageMangledArgs } from './_salvage-mangled-args.js';
const FIELDS = ['summary', 'rationale', 'consequences', 'symptom', 'appliesWhen', 'alternatives', 'relatedFiles'];
test('recovers a string field absorbed by a mis-closed host parameter', () => {
const { args, salvaged } = salvageMangledArgs({
consequences: 'Real consequences text.</consequences>\n<parameter name="symptom">Real symptom text.',
}, FIELDS);
assert.equal(args.consequences, 'Real consequences text.');
assert.equal(args.symptom, 'Real symptom text.');
assert.deepEqual(salvaged, [{ field: 'symptom', fromField: 'consequences' }]);
});
test('JSON-parses an absorbed array value', () => {
const { args } = salvageMangledArgs({
consequences: 'Text.</consequences>\n<parameter name="alternatives">["option A", "option B"]',
}, FIELDS);
assert.equal(args.consequences, 'Text.');
assert.deepEqual(args.alternatives, ['option A', 'option B']);
});
test('unwinds a chain of consecutive mangled parameters', () => {
const { args, salvaged } = salvageMangledArgs({
consequences: 'C text.</consequences>\n<parameter name="symptom">S text.</symptom>\n<parameter name="appliesWhen">A text.',
}, FIELDS);
assert.equal(args.consequences, 'C text.');
assert.equal(args.symptom, 'S text.');
assert.equal(args.appliesWhen, 'A text.');
assert.equal(salvaged.length, 2);
});
test('does NOT salvage when the closing tag does not name the host field', () => {
// Genuine prose that merely mentions the markers — e.g. a decision recorded
// *about* this bug. Left untouched.
const original = 'Docs: a value may end with </consequences>\n<parameter name="symptom">like so.';
const { args, salvaged } = salvageMangledArgs({ rationale: original }, FIELDS);
assert.equal(args.rationale, original);
assert.equal(args.symptom, undefined);
assert.deepEqual(salvaged, []);
});
test('does NOT salvage an unknown target field', () => {
const original = 'Text.</consequences>\n<parameter name="notARealField">value';
const { args, salvaged } = salvageMangledArgs({ consequences: original }, FIELDS);
assert.equal(args.consequences, original);
assert.deepEqual(salvaged, []);
});
test('never overwrites a target the caller actually supplied', () => {
const original = 'Text.</consequences>\n<parameter name="symptom">absorbed symptom';
const { args, salvaged } = salvageMangledArgs({ consequences: original, symptom: 'genuine symptom' }, FIELDS);
assert.equal(args.symptom, 'genuine symptom');
assert.equal(args.consequences, original);
assert.deepEqual(salvaged, []);
});
test('leaves clean args untouched and reports no salvage', () => {
const input = { summary: 'A summary', alternatives: ['x'], relatedFiles: ['a.ts'] };
const { args, salvaged } = salvageMangledArgs(input, FIELDS);
assert.deepEqual(args, input);
assert.deepEqual(salvaged, []);
});
test('does not mutate the caller-supplied args object', () => {
const input = {
consequences: 'Text.</consequences>\n<parameter name="symptom">S.',
};
salvageMangledArgs(input, FIELDS);
assert.equal(input.consequences, 'Text.</consequences>\n<parameter name="symptom">S.');
});
test('keeps the raw text when an absorbed structured value is not valid JSON', () => {
const { args } = salvageMangledArgs({ consequences: 'Text.</consequences>\n<parameter name="alternatives">[not, valid, json' }, FIELDS);
assert.equal(args.alternatives, '[not, valid, json');
});
test('ignores non-string fields', () => {
const { args, salvaged } = salvageMangledArgs({ relatedFiles: ['a.ts', 'b.ts'], summary: 'clean' }, FIELDS);
assert.deepEqual(args.relatedFiles, ['a.ts', 'b.ts']);
assert.deepEqual(salvaged, []);
});
//# sourceMappingURL=_salvage-mangled-args.test.js.map
{"version":3,"file":"_salvage-mangled-args.test.js","sourceRoot":"","sources":["../../src/tools/_salvage-mangled-args.test.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const evolveDecisionsSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
stories: z.ZodArray<z.ZodAny, "many">;
repoPath: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
export type EvolveDecisionsInput = z.infer<typeof evolveDecisionsSchema>;
export interface EvolveDecisionsResponse {
started: boolean;
message: string;
}
export declare function evolveDecisions(input: EvolveDecisionsInput): Promise<EvolveDecisionsResponse>;
export declare const evolveDecisionsTool: {
name: string;
description: string;
inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
stories: z.ZodArray<z.ZodAny, "many">;
repoPath: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
stories: any[];
repoOrigin?: string | undefined;
repoPath?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof evolveDecisions;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const evolveDecisionsSchema = z.object({
stories: z.array(z.any()).describe('Array of story objects from a previous infer_history run'),
repoPath: z.string().optional().describe('Local path to the repository root (required for auto-persist after evolution)'),
repoOrigin: z.string().optional().describe('Git remote origin URL (auto-detected from repoPath if not provided)'),
...forkFieldsExtensions,
});
export async function evolveDecisions(input) {
const res = await request('inference', 'evolve', {
stories: input.stories,
repoPath: input.repoPath,
repoOrigin: input.repoOrigin,
...extractForkFields(input),
});
return {
started: res.started,
message: res.message || 'Evolution pipeline started. Progress updates will be sent as the pipeline runs.'
};
}
export const evolveDecisionsTool = {
name: 'evolve_decisions',
description: `Curate a set of previously extracted stories so that only the decisions still worth keeping are persisted.
When to use:
- After running \`infer_history\` in story-only mode (rare — \`infer_history\` already chains this step automatically).
- When you have a pre-existing set of stories you want to re-curate without re-running history extraction.
Inputs:
- \`stories\`: array of story objects from a previous \`infer_history\` run.
- \`repoPath\` (optional): when provided, curated results are persisted as intents and decisions for the repo after curation finishes.
Behavior:
- Runs asynchronously — returns immediately with a started/pending status while progress is reported separately. Progress and the final persisted counts are reported in the Kawa Code app, not returned to this call.
- The model used for curation is configured in the Kawa Code app and is not selectable per call.`,
inputSchema: evolveDecisionsSchema,
handler: evolveDecisions
};
//# sourceMappingURL=evolve-decisions.js.map
{"version":3,"file":"evolve-decisions.js","sourceRoot":"","sources":["../../src/tools/evolve-decisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IACzH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IACjH,GAAG,oBAAoB;CACxB,CAAC,CAAA;AASF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAA2B;IAC/D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE;QAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,iBAAiB,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,iFAAiF;KAC1G,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE;;;;;;;;;;;;iGAYkF;IAC/F,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,eAAe;CACzB,CAAA"}
import { z } from 'zod';
export declare const getIntentsForLinesSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;
filePath: z.ZodString;
startLine: z.ZodNumber;
endLine: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
export type GetIntentsForLinesInput = z.infer<typeof getIntentsForLinesSchema>;
export interface LineRangeIntent {
intentId: string;
title: string;
author?: string;
status: string;
description: string;
branch: string;
forkedFrom?: string;
overlappingLines: {
blockStartLine: number;
blockEndLine: number;
overlapStart: number;
overlapEnd: number;
};
}
export interface GetIntentsForLinesResponse {
filePath: string;
queryRange: {
startLine: number;
endLine: number;
};
intents: LineRangeIntent[];
hasOverlap: boolean;
warning?: string;
}
export declare function getIntentsForLines(input: GetIntentsForLinesInput): Promise<GetIntentsForLinesResponse>;
export declare const getIntentsForLinesTool: {
name: string;
description: string;
inputSchema: z.ZodObject<{
forkAuthor: z.ZodOptional<z.ZodObject<{
platform: z.ZodEnum<["github", "gitlab"]>;
user: z.ZodString;
forkOrigin: z.ZodString;
}, "strip", z.ZodTypeAny, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}, {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
}>>;
workspaceId: z.ZodOptional<z.ZodString>;
repoOrigin: z.ZodOptional<z.ZodString>;
repoPath: z.ZodString;
filePath: z.ZodString;
startLine: z.ZodNumber;
endLine: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}, {
repoPath: string;
filePath: string;
startLine: number;
endLine: number;
repoOrigin?: string | undefined;
forkAuthor?: {
platform: "github" | "gitlab";
user: string;
forkOrigin: string;
} | undefined;
workspaceId?: string | undefined;
}>;
handler: typeof getIntentsForLines;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
import { resolveOrigin } from './resolve-origin.js';
import { forkFieldsExtensions, extractForkFields } from './_fork-fields.js';
export const getIntentsForLinesSchema = z.object({
repoOrigin: z.string().optional().describe('Git remote origin URL. Auto-detected from repoPath via git if not provided.'),
repoPath: z.string().describe('Local path to the repository root'),
filePath: z.string().describe('Path to the file (relative to repo root)'),
startLine: z.number().min(1).describe('Start line number (1-based)'),
endLine: z.number().min(1).describe('End line number (1-based, inclusive)'),
...forkFieldsExtensions,
});
export async function getIntentsForLines(input) {
const actualOrigin = resolveOrigin(input.repoOrigin, input.repoPath);
const res = await request('intent-block', 'get-for-lines', {
repoOrigin: actualOrigin,
filePath: input.filePath,
startLine: input.startLine,
endLine: input.endLine,
...extractForkFields(input),
});
const overlappingIntents = (res.intents || []).map((intent) => ({
intentId: intent.intentId || intent.id || '',
title: intent.title || 'Unknown Intent',
author: intent.author || intent.author_name || intent.authorName,
status: intent.status || 'active',
description: intent.description || '',
branch: intent.branch || '',
forkedFrom: intent.forked_from || intent.forkedFrom,
overlappingLines: {
blockStartLine: intent.block_start_line || intent.overlappingLines?.blockStartLine || 0,
blockEndLine: intent.block_end_line || intent.overlappingLines?.blockEndLine || 0,
overlapStart: intent.overlap_start || intent.overlappingLines?.overlapStart || 0,
overlapEnd: intent.overlap_end || intent.overlappingLines?.overlapEnd || 0,
}
}));
const hasOverlap = overlappingIntents.length > 0;
let warning;
if (hasOverlap) {
const activeIntents = overlappingIntents.filter(i => i.status === 'active');
if (activeIntents.length > 0) {
const authors = [...new Set(activeIntents.map(i => i.author).filter(Boolean))];
warning = `Lines ${input.startLine}-${input.endLine} overlap with active work by: ${authors.join(', ') || 'team members'}`;
}
}
return {
filePath: input.filePath,
queryRange: { startLine: input.startLine, endLine: input.endLine },
intents: overlappingIntents,
hasOverlap,
warning
};
}
export const getIntentsForLinesTool = {
name: 'get_intents_for_lines',
description: `Get intents covering a specific line range.
Use this before modifying specific lines to check for conflicts:
- Warns if the lines overlap with another team member's active intent
- Shows the exact overlap range
- Helps avoid merge conflicts and duplicate work
Returns overlap details so you can work around or coordinate with team members.`,
inputSchema: getIntentsForLinesSchema,
handler: getIntentsForLines
};
//# sourceMappingURL=get-intents-for-lines.js.map
{"version":3,"file":"get-intents-for-lines.js","sourceRoot":"","sources":["../../src/tools/get-intents-for-lines.ts"],"names":[],"mappings":"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"}
import { z } from 'zod';
export declare const updateFeaturesSchema: z.ZodObject<{
repoPath: z.ZodString;
}, "strip", z.ZodTypeAny, {
repoPath: string;
}, {
repoPath: string;
}>;
export type UpdateFeaturesInput = z.infer<typeof updateFeaturesSchema>;
export interface UpdateFeaturesResponse {
success: boolean;
count?: number;
driftSpinoffs?: number;
forcedFallback?: number;
origin?: string;
error?: string;
message: string;
}
export declare function updateFeatures(input: UpdateFeaturesInput): Promise<UpdateFeaturesResponse>;
export declare const updateFeaturesTool: {
name: string;
description: string;
inputSchema: z.ZodObject<{
repoPath: z.ZodString;
}, "strip", z.ZodTypeAny, {
repoPath: string;
}, {
repoPath: string;
}>;
handler: typeof updateFeatures;
};
import { z } from 'zod';
import { request } from '../services/muninn-ipc.js';
export const updateFeaturesSchema = z.object({
repoPath: z.string().describe('Local path to the repository root'),
});
export async function updateFeatures(input) {
// An extend is a single model call over the full feature catalog plus the
// unassigned intents, so it can take tens of seconds on a large catalog —
// use a generous timeout like the synchronous infer_history estimate path.
const UPDATE_TIMEOUT_MS = 180_000;
const res = await request('feature', 'update', { repoPath: input.repoPath }, UPDATE_TIMEOUT_MS);
if (res && res.success === false) {
const error = res.error ?? 'unknown error';
return { success: false, error, message: `Feature update failed: ${error}` };
}
const count = res?.count ?? 0;
const driftSpinoffs = res?.driftSpinoffs ?? 0;
const forcedFallback = res?.forcedFallback ?? 0;
const notes = [];
if (driftSpinoffs)
notes.push(`${driftSpinoffs} drift spin-off${driftSpinoffs === 1 ? '' : 's'}`);
if (forcedFallback)
notes.push(`${forcedFallback} unsorted`);
const suffix = notes.length ? ` (${notes.join(', ')})` : '';
return {
success: true,
count,
driftSpinoffs,
forcedFallback,
origin: res?.origin,
message: `Feature catalog updated: ${count} feature${count === 1 ? '' : 's'}${suffix}.`,
};
}
export const updateFeaturesTool = {
name: 'update_features',
description: `Update the project's feature catalog from its recorded intents.
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.
When to use:
- After recording or completing intents, to keep the feature list current.
- On demand, when you want the catalog refreshed with recent work.
Behavior:
- Additive only — never deletes or re-derives existing features.
- Intents already assigned to a feature are skipped; only unassigned ones are processed.
- Runs in the Kawa Code desktop app and returns the resulting feature count.`,
inputSchema: updateFeaturesSchema,
handler: updateFeatures,
};
//# sourceMappingURL=update-features.js.map
{"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"}

Sorry, the diff of this file is not supported yet