@izagood/avcs 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/api/repo.d.ts +78 -0
  2. package/dist/api/repo.d.ts.map +1 -1
  3. package/dist/api/repo.js +221 -5
  4. package/dist/api/repo.js.map +1 -1
  5. package/dist/cli.js +42 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/hub/hubServer.d.ts +9 -2
  8. package/dist/hub/hubServer.d.ts.map +1 -1
  9. package/dist/hub/hubServer.js +106 -4
  10. package/dist/hub/hubServer.js.map +1 -1
  11. package/dist/hub/syncWatch.d.ts +56 -0
  12. package/dist/hub/syncWatch.d.ts.map +1 -0
  13. package/dist/hub/syncWatch.js +186 -0
  14. package/dist/hub/syncWatch.js.map +1 -0
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/mcp/guide.d.ts +5 -0
  20. package/dist/mcp/guide.d.ts.map +1 -0
  21. package/dist/mcp/guide.js +67 -0
  22. package/dist/mcp/guide.js.map +1 -0
  23. package/dist/mcp/respond.d.ts +32 -0
  24. package/dist/mcp/respond.d.ts.map +1 -0
  25. package/dist/mcp/respond.js +74 -0
  26. package/dist/mcp/respond.js.map +1 -0
  27. package/dist/mcp/server.d.ts +19 -0
  28. package/dist/mcp/server.d.ts.map +1 -1
  29. package/dist/mcp/server.js +200 -37
  30. package/dist/mcp/server.js.map +1 -1
  31. package/dist/merge/merge3.d.ts +13 -0
  32. package/dist/merge/merge3.d.ts.map +1 -1
  33. package/dist/merge/merge3.js +1 -1
  34. package/dist/merge/merge3.js.map +1 -1
  35. package/dist/query/diff.d.ts +13 -0
  36. package/dist/query/diff.d.ts.map +1 -1
  37. package/dist/query/diff.js +61 -0
  38. package/dist/query/diff.js.map +1 -1
  39. package/dist/store/lock.d.ts +8 -0
  40. package/dist/store/lock.d.ts.map +1 -1
  41. package/dist/store/lock.js +33 -0
  42. package/dist/store/lock.js.map +1 -1
  43. package/package.json +1 -1
@@ -19,6 +19,9 @@ import { dirname, join } from "node:path";
19
19
  import { Repo } from "../api/repo.js";
20
20
  import { isBinary } from "../core/bytes.js";
21
21
  import { ObjectStore } from "../store/objectStore.js";
22
+ import { serializeResult, errorEnvelope, boundedLimit } from "./respond.js";
23
+ import { unifiedDiff } from "../query/diff.js";
24
+ import { buildGuide } from "./guide.js";
22
25
  /**
23
26
  * Read the installed package version off disk. Works for both the type-stripped
24
27
  * source layout (src/mcp/server.ts) and the built layout (dist/mcp/server.js):
@@ -61,6 +64,44 @@ const cwdSchema = {
61
64
  "owning AVCS repo (.avcs). Optional — defaults to the client's workspace root, then the " +
62
65
  "server's own cwd. Ignored when the server is pinned via AVCS_REPO.",
63
66
  };
67
+ /** Universal formatting switch (Phase 16 M1.1). Responses are compact by default because
68
+ * indentation is whitespace the agent pays for on every call; this restores pretty-print
69
+ * for the times a human is reading. Consumed by the dispatch layer, never by a handler. */
70
+ const verboseSchema = {
71
+ type: "boolean",
72
+ description: "Pretty-print the response for human reading. Default false (compact, fewer tokens).",
73
+ };
74
+ /** The schema advertised to clients: the tool's own inputs plus the universal `cwd` and
75
+ * `verbose`. Returns a fresh object — the ToolDef's own schema is never mutated. */
76
+ export function advertisedSchema(t) {
77
+ return {
78
+ ...t.inputSchema,
79
+ properties: {
80
+ ...(t.inputSchema.properties ?? {}),
81
+ cwd: cwdSchema,
82
+ verbose: verboseSchema,
83
+ },
84
+ };
85
+ }
86
+ /**
87
+ * Run one tool call and render it for the transport (Phase 16 M1.1, docs/18 §1.1).
88
+ * Exported so the layer is testable without booting the SDK, the same way the handlers are.
89
+ *
90
+ * Success keeps its raw shape — only the serialization changes (§2 principle 1). Failure
91
+ * becomes `{ error, hint?, nextActions? }` so the agent recovers from a list instead of
92
+ * parsing prose; it is returned with `isError`, not thrown, because a thrown error reaches
93
+ * the agent as an opaque transport failure and loses the recovery hints entirely.
94
+ */
95
+ export async function runTool(tool, repo, args, ctx) {
96
+ const verbose = args.verbose === true;
97
+ try {
98
+ const result = await tool.handler(repo, args, ctx);
99
+ return { content: [{ type: "text", text: serializeResult(result, { verbose }) }] };
100
+ }
101
+ catch (e) {
102
+ return { content: [{ type: "text", text: serializeResult(errorEnvelope(e), { verbose }) }], isError: true };
103
+ }
104
+ }
64
105
  /**
65
106
  * Resolve which AVCS repo a tool call targets, returning its `.avcs` root dir.
66
107
  *
@@ -108,6 +149,22 @@ export async function resolveRepoDir(callCwd, listRoots) {
108
149
  "or run `avcs init`.");
109
150
  }
110
151
  export const TOOLS = [
152
+ {
153
+ // First in the list on purpose: it is the tool that explains the rest.
154
+ name: "avcs.guide",
155
+ description: "How to use AVCS: the canonical loop, agent rules, tool index, error recovery. Call this first.",
156
+ inputSchema: {
157
+ type: "object",
158
+ properties: {
159
+ topic: {
160
+ type: "string",
161
+ enum: ["workflow", "tools", "sync", "rules", "errors"],
162
+ description: "omit for the canonical loop",
163
+ },
164
+ },
165
+ },
166
+ handler: async (_repo, i) => buildGuide(TOOLS, typeof i.topic === "string" ? i.topic : undefined),
167
+ },
111
168
  {
112
169
  name: "avcs.intent.create",
113
170
  description: "Open an intent: the goal + constraints + allowed scopes for a unit of work. Agents must work within an intent.",
@@ -134,9 +191,12 @@ export const TOOLS = [
134
191
  },
135
192
  {
136
193
  name: "avcs.intent.list",
137
- description: "List all intents in the repo.",
138
- inputSchema: { type: "object", properties: {} },
139
- handler: (repo) => repo.listIntents(),
194
+ description: "List intents in the repo. Bounded: limit (default 50).",
195
+ inputSchema: {
196
+ type: "object",
197
+ properties: { limit: { type: "number", description: "max intents to return; default 50" } },
198
+ },
199
+ handler: async (repo, i) => (await repo.listIntents()).slice(0, boundedLimit(i.limit, 50)),
140
200
  },
141
201
  {
142
202
  name: "avcs.session.start",
@@ -155,7 +215,7 @@ export const TOOLS = [
155
215
  },
156
216
  {
157
217
  name: "avcs.operation.propose",
158
- description: "Propose a semantic change. MVP supports file writes. DECLARE EFFECTS honestly (changesBehavior, breaksPublicApi) — policy gates on them. Pass baseText or baseBlobOid to author a base-relative edit_file (3-way-mergeable with concurrent edits); omit both for a whole-file put_file.",
218
+ description: "Propose a semantic change (MVP: file writes). Declare effects honestly — policy gates on them. baseText/baseBlobOid authors a 3-way-mergeable edit_file.",
159
219
  inputSchema: {
160
220
  type: "object",
161
221
  properties: {
@@ -170,6 +230,7 @@ export const TOOLS = [
170
230
  workspace: { type: "string", description: "isolate this op to a build/verify workspace (docs/16); a base view excludes it until the workspace is landed via avcs.workspace.land" },
171
231
  baseText: { type: "string", description: "the base content this edit was derived from; its presence routes to a 3-way-mergeable edit_file" },
172
232
  baseBlobOid: { type: "string", description: "oid of the base blob (alternative to baseText); fetch it via avcs.object.show" },
233
+ warnContention: { type: "boolean", description: "also run an early conflict check on the op's keys (Phase 15.3): response becomes { oid, contentionWarnings } listing other actors' live concurrent ops + overlapping lease holders. Omit for the plain oid response." },
173
234
  effects: {
174
235
  type: "object",
175
236
  properties: {
@@ -181,7 +242,7 @@ export const TOOLS = [
181
242
  },
182
243
  required: ["sessionOid", "intentOid", "actor", "path", "content", "declaredPurpose"],
183
244
  },
184
- handler: (repo, i) => {
245
+ handler: async (repo, i) => {
185
246
  const common = {
186
247
  sessionOid: String(i.sessionOid),
187
248
  intentOid: String(i.intentOid),
@@ -195,20 +256,45 @@ export const TOOLS = [
195
256
  };
196
257
  // A declared base (baseText or baseBlobOid) authors a base-relative edit_file, which
197
258
  // 3-way line-merges with concurrent edits; otherwise a whole-file put_file (issue #20).
198
- if (i.baseText !== undefined || i.baseBlobOid !== undefined) {
199
- return repo.proposeEdit({
259
+ const oid = i.baseText !== undefined || i.baseBlobOid !== undefined
260
+ ? await repo.proposeEdit({
200
261
  ...common,
201
262
  newText: String(i.content),
202
263
  baseText: i.baseText,
203
264
  baseBlobOid: i.baseBlobOid,
204
- });
265
+ })
266
+ : await repo.proposeFileWrite({ ...common, content: String(i.content) });
267
+ // Phase 15.3 (additive, opt-in): the response shape stays a plain oid unless the
268
+ // caller asked for the early-warning check.
269
+ if (i.warnContention === true) {
270
+ const contentionWarnings = await repo.contention({ keys: [`file:${String(i.path)}`], actorId: common.actor.id, line: common.line });
271
+ return { oid, contentionWarnings };
205
272
  }
206
- return repo.proposeFileWrite({ ...common, content: String(i.content) });
273
+ return oid;
274
+ },
275
+ },
276
+ {
277
+ name: "avcs.contention.check",
278
+ description: "Other actors' live concurrent ops and overlapping lease holders for given keys. Run while editing, so overlap surfaces before finalize.",
279
+ inputSchema: {
280
+ type: "object",
281
+ properties: {
282
+ keys: { type: "array", items: { type: "string" }, description: "entity keys to check, e.g. [\"file:src/a.ts\"]" },
283
+ sessionOid: { type: "string", description: "use this session's actor + authored keys as the perspective" },
284
+ actor: { type: "string", description: "actor id for the perspective (with no keys: every key they authored on)" },
285
+ line: { type: "string", description: "lineage to check on; default 'main'" },
286
+ },
207
287
  },
288
+ handler: (repo, i) => repo.contention({
289
+ keys: i.keys,
290
+ sessionOid: i.sessionOid,
291
+ actorId: i.actor,
292
+ line: i.line,
293
+ }),
208
294
  },
209
295
  {
210
296
  name: "avcs.workspace.land",
211
- description: "Land a workspace onto its base line (docs/16): its isolated ops join the base view and merge there via the normal 3-way reduce — disjoint edits auto-merge, overlaps surface as conflicts. Idempotent. Returns the current landed set.",
297
+ description: "Land a workspace onto its base line: its isolated ops join the base view and merge there. Idempotent.",
212
298
  inputSchema: { type: "object", properties: { name: { type: "string" } }, required: ["name"] },
213
299
  handler: async (repo, i) => {
214
300
  await repo.landWorkspace(String(i.name));
@@ -223,7 +309,7 @@ export const TOOLS = [
223
309
  },
224
310
  {
225
311
  name: "avcs.line.create",
226
- description: "Fork a long-lived line (e.g. 'v1.x') from another line at its current state. The new line inherits history up to the fork and then diverges — same entity can hold different content per line with no conflict (Phase 8).",
312
+ description: "Fork a long-lived line (e.g. 'v1.x') from another at its current state. It inherits history to the fork, then diverges.",
227
313
  inputSchema: {
228
314
  type: "object",
229
315
  properties: { name: { type: "string" }, fromLine: { type: "string" }, atCheckpointOid: { type: "string" } },
@@ -239,7 +325,7 @@ export const TOOLS = [
239
325
  },
240
326
  {
241
327
  name: "avcs.operation.backport",
242
- description: "Port (cherry-pick / backport) an operation onto another line: mints a new op on the target line carrying the source's change, with derivedFrom provenance. Does not affect the source line.",
328
+ description: "Cherry-pick an operation onto another line: mints a new op carrying the change, with derivedFrom provenance. Source line untouched.",
243
329
  inputSchema: {
244
330
  type: "object",
245
331
  properties: { sourceOpOid: { type: "string" }, targetLine: { type: "string" }, actor: actorSchema },
@@ -278,7 +364,7 @@ export const TOOLS = [
278
364
  },
279
365
  {
280
366
  name: "avcs.view.materialize",
281
- description: "Reduce the operation graph for a view into a code tree + per-op status + open conflicts. This is how an agent checks whether its work merges. Pass includeStatuses (e.g. ['accepted','needs_decision']) to ALSO project gated/pending ops so their computed 3-way merge can be inspected before acceptance; `dropped` lists ops NOT in the tree (status outside includeStatuses) so omissions are never silent (issue #13).",
367
+ description: "Reduce a view's operation graph into a tree, per-op status and open conflicts how an agent checks that its work merges.",
282
368
  inputSchema: {
283
369
  type: "object",
284
370
  properties: {
@@ -288,6 +374,8 @@ export const TOOLS = [
288
374
  items: { type: "string", enum: ["proposed", "validating", "accepted", "rejected", "superseded", "needs_decision", "quarantined"] },
289
375
  description: "op statuses to project into the tree; default ['accepted']",
290
376
  },
377
+ filesLimit: { type: "number", description: "max paths to list; default 500. treeHash/status/conflicts/dropped are never bounded." },
378
+ pathsOnlyUnder: { type: "string", description: "list only paths under this prefix (e.g. 'src/')" },
291
379
  },
292
380
  },
293
381
  handler: async (repo, i) => {
@@ -302,9 +390,16 @@ export const TOOLS = [
302
390
  const dropped = Object.entries(status)
303
391
  .filter(([, s]) => !projected.has(s))
304
392
  .map(([oid, s]) => ({ oid, status: s }));
393
+ // Only the FILE LISTING is bounded (Phase 16 M1.2). treeHash, status, conflicts and
394
+ // dropped are correctness data — bounding them would make a wrong answer look right.
395
+ const under = typeof i.pathsOnlyUnder === "string" ? i.pathsOnlyUnder : undefined;
396
+ const all = [...res.tree.keys()].sort().filter((p) => (under ? p.startsWith(under) : true));
397
+ const filesLimit = boundedLimit(i.filesLimit, 500);
305
398
  return {
306
399
  treeHash: res.treeHash,
307
- files: [...res.tree.keys()].sort(),
400
+ files: all.slice(0, filesLimit),
401
+ filesTotal: all.length,
402
+ filesTruncated: all.length > filesLimit,
308
403
  status,
309
404
  conflicts: res.conflicts,
310
405
  dropped,
@@ -319,7 +414,7 @@ export const TOOLS = [
319
414
  },
320
415
  {
321
416
  name: "avcs.decision.record",
322
- description: "Record a HUMAN/owner resolution of a conflict. Chosen ops are accepted, rejected ops dropped — and the rationale becomes reusable history. The agent CANNOT forge this: the owner is asked to confirm via MCP elicitation, and the decision is then signed with the owner's LOCAL private key (which the agent never holds). Unsigned/forged decisions are dropped by the reducer's trust gate (issue #15). Requires actor.kind 'human', an elicitation-capable client, and a provisioned local owner key.",
417
+ description: "Record a human owner's conflict resolution. Owner-confirmed and signed with their local key; an agent cannot forge it.",
323
418
  inputSchema: {
324
419
  type: "object",
325
420
  properties: {
@@ -375,7 +470,7 @@ export const TOOLS = [
375
470
  },
376
471
  {
377
472
  name: "avcs.integration.submit",
378
- description: "Submit a draft checkpoint to a remote hub's integration queue (Phase 14, docs/17). NEVER pull-and-redo: the result is always a verdict to act on — `advanced` (done: the hub re-reduced the frontier union and moved the head), `conflict` (a minimal repair packet with counterpart ops + prior decisions: decide via avcs.decision.record, then resubmit), `needs_evidence` (run avcs.validate.run ONCE against the returned integrated tree the needed delta objects were already pulled — attach evidence, resubmit the SAME ticketId), `queued` (retry after retryAfterMs), or `rejected` (hard gate). Omit `checkpoint` to checkpoint the view automatically.",
473
+ description: "Submit a checkpoint to the integration queue. Verdict is advanced, conflict, needs_evidence or queuednever 'pull and redo'.",
379
474
  inputSchema: {
380
475
  type: "object",
381
476
  properties: {
@@ -438,7 +533,7 @@ export const TOOLS = [
438
533
  },
439
534
  {
440
535
  name: "avcs.validate.run",
441
- description: "Run validation commands against a view and attach treeHash-bound Evidence (docs/16 §8). By default materializes into a fresh temp dir. Pass `dir` (e.g. your working tree, which already has the build env like node_modules) to run there without avcs owning install — the fix for Node/pnpm (issue #11); with `dir` it runs in place unless `project:true`. Use `workspace` to validate a workspace view. Evidence trusts author≠signer, so pass a ciActor distinct from the op authors.",
536
+ description: "Run validation commands against a view and attach treeHash-bound evidence. Pass dir to reuse an existing build environment.",
442
537
  inputSchema: {
443
538
  type: "object",
444
539
  properties: {
@@ -485,7 +580,7 @@ export const TOOLS = [
485
580
  },
486
581
  {
487
582
  name: "avcs.repair.context",
488
- description: "Get a MINIMAL repair packet for ops whose validation failed (the failing output + related prior decisions + a fix instruction). Use instead of re-reading the whole repo.",
583
+ description: "Minimal repair packet for ops whose validation failed: failing output, related decisions, a fix instruction. Cheaper than re-reading the repo.",
489
584
  inputSchema: { type: "object", properties: { ops: { type: "array", items: { type: "string" } } }, required: ["ops"] },
490
585
  handler: (repo, i) => repo.repairContext(i.ops),
491
586
  },
@@ -503,19 +598,56 @@ export const TOOLS = [
503
598
  },
504
599
  {
505
600
  name: "avcs.history",
506
- description: "History of one entity in causal order (the ops that touched a file/symbol, each with actor/intent/purpose). O(ops-on-entity) via the entity index.",
507
- inputSchema: { type: "object", properties: { entityKey: { type: "string" } }, required: ["entityKey"] },
508
- handler: async (repo, i) => (await repo.historyOf(String(i.entityKey))).map((o) => ({ op: o.oid, actor: o.actor.id, purpose: o.declaredPurpose, at: o.createdAt, line: o.line ?? "main" })),
601
+ description: "History of one entity in causal order. Paged: limit (default 20) + cursor.",
602
+ inputSchema: {
603
+ type: "object",
604
+ properties: {
605
+ entityKey: { type: "string" },
606
+ limit: { type: "number", description: "max ops to return; default 20. A full page means there may be more." },
607
+ cursor: { type: "string", description: "opaque: the last op oid of the previous page; returns what follows it." },
608
+ },
609
+ required: ["entityKey"],
610
+ },
611
+ // Stays an ARRAY: success shapes are never wrapped (docs/18 §2 principle 1, §5), so the
612
+ // page-size signal is the standard "short page = end" rather than an added total field.
613
+ handler: async (repo, i) => {
614
+ const all = await repo.historyOf(String(i.entityKey));
615
+ const from = i.cursor ? all.findIndex((o) => o.oid === i.cursor) + 1 : 0;
616
+ const limit = boundedLimit(i.limit, 20);
617
+ return all.slice(from, from + limit).map((o) => ({ op: o.oid, actor: o.actor.id, purpose: o.declaredPurpose, at: o.createdAt, line: o.line ?? "main" }));
618
+ },
509
619
  },
510
620
  {
511
621
  name: "avcs.diff",
512
- description: "Diff two views/lines: added/removed/modified paths.",
513
- inputSchema: { type: "object", properties: { viewA: { type: "string" }, viewB: { type: "string" } }, required: ["viewA", "viewB"] },
514
- handler: (repo, i) => repo.diff(String(i.viewA), String(i.viewB)),
622
+ description: "Diff two views/lines. format 'paths' (default) or 'patch' (unified diff).",
623
+ inputSchema: {
624
+ type: "object",
625
+ properties: {
626
+ viewA: { type: "string" },
627
+ viewB: { type: "string" },
628
+ format: { type: "string", enum: ["paths", "patch"], description: "'paths' (default, unchanged shape) or 'patch' for unified diffs" },
629
+ path: { type: "string", description: "restrict a patch to this single path" },
630
+ },
631
+ required: ["viewA", "viewB"],
632
+ },
633
+ handler: async (repo, i) => {
634
+ const paths = await repo.diff(String(i.viewA), String(i.viewB));
635
+ if (i.format !== "patch")
636
+ return paths; // default shape is unchanged (compatibility)
637
+ const [a, b] = await Promise.all([repo.materialize(String(i.viewA)), repo.materialize(String(i.viewB))]);
638
+ const only = typeof i.path === "string" ? i.path : undefined;
639
+ const changed = [...paths.added, ...paths.removed, ...paths.modified].sort().filter((p) => (only ? p === only : true));
640
+ // Go through materializedFiles, NOT readBlob: a merged path's tree entry can be a
641
+ // synth oid derived from the merge result, which was never stored as a blob.
642
+ const [fa, fb] = await Promise.all([repo.materializedFiles(a), repo.materializedFiles(b)]);
643
+ const textOf = (files, p) => files.find((f) => f.path === p)?.content ?? "";
644
+ const patches = changed.map((p) => ({ path: p, patch: unifiedDiff(textOf(fa, p), textOf(fb, p)) }));
645
+ return { ...paths, patches };
646
+ },
515
647
  },
516
648
  {
517
649
  name: "avcs.release.cut",
518
- description: "Cut a Release: a verified (conflict-free) checkpoint + its evidence + an SBOM of what shipped + artifact references. Refuses if the view has open or semantic conflicts.",
650
+ description: "Cut a release: a conflict-free checkpoint plus evidence, SBOM and artifact references. Refuses if the view has open conflicts.",
519
651
  inputSchema: {
520
652
  type: "object",
521
653
  properties: {
@@ -540,16 +672,51 @@ export const TOOLS = [
540
672
  },
541
673
  {
542
674
  name: "avcs.object.show",
543
- description: "Read an object by oid the MCP equivalent of CLI `show`. For a blob, returns the decoded content (utf8 `text`, or `base64` if binary); for an operation/intent/etc., the structured object. Lets a pure-MCP agent inspect another agent's authored content, or fetch a base blob to declare as baseBlobOid on an edit_file propose (issue #12).",
544
- inputSchema: { type: "object", properties: { oid: { type: "string" } }, required: ["oid"] },
675
+ description: "Read an object by oid. Blobs return decoded content (utf8 text or base64); other types return the structured object.",
676
+ inputSchema: {
677
+ type: "object",
678
+ properties: {
679
+ oid: { type: "string" },
680
+ maxBytes: { type: "number", description: "cap on returned blob content; default 65536. `bytes` always reports the FULL size." },
681
+ lines: {
682
+ type: "object",
683
+ properties: { start: { type: "number" }, end: { type: "number" } },
684
+ description: "1-based inclusive line range of a text blob to return instead of the whole thing",
685
+ },
686
+ },
687
+ required: ["oid"],
688
+ },
545
689
  handler: async (repo, i) => {
546
690
  const oid = String(i.oid);
547
691
  const obj = await repo.store.get(oid);
548
692
  if (obj.type === "blob") {
549
693
  const buf = await repo.readBlob(oid);
550
- return isBinary(buf)
551
- ? { oid, kind: "blob", encoding: "base64", binary: true, bytes: buf.length, data: buf.toString("base64") }
552
- : { oid, kind: "blob", encoding: "utf8", binary: false, bytes: buf.length, text: buf.toString("utf8") };
694
+ const bytes = buf.length; // ALWAYS the full size, even when the payload is a slice
695
+ if (isBinary(buf)) {
696
+ const maxBytes = boundedLimit(i.maxBytes, 65_536);
697
+ const slice = buf.subarray(0, maxBytes);
698
+ return { oid, kind: "blob", encoding: "base64", binary: true, bytes, truncated: bytes > maxBytes, data: slice.toString("base64") };
699
+ }
700
+ let text = buf.toString("utf8");
701
+ let truncated = false;
702
+ // A line range is the cheaper ask: slice first, then still honour maxBytes.
703
+ const range = i.lines;
704
+ if (range && (range.start !== undefined || range.end !== undefined)) {
705
+ const all = text.split("\n");
706
+ const trailing = text.endsWith("\n");
707
+ const body = trailing ? all.slice(0, -1) : all;
708
+ const start = Math.max(1, Math.floor(range.start ?? 1));
709
+ const end = Math.min(body.length, Math.floor(range.end ?? body.length));
710
+ const picked = body.slice(start - 1, end);
711
+ truncated = picked.length < body.length;
712
+ text = picked.length ? picked.join("\n") + "\n" : "";
713
+ }
714
+ const maxBytes = boundedLimit(i.maxBytes, 65_536);
715
+ if (Buffer.byteLength(text, "utf8") > maxBytes) {
716
+ text = Buffer.from(text, "utf8").subarray(0, maxBytes).toString("utf8");
717
+ truncated = true;
718
+ }
719
+ return { oid, kind: "blob", encoding: "utf8", binary: false, bytes, truncated, text };
553
720
  }
554
721
  return { oid, kind: obj.type ?? "object", object: obj };
555
722
  },
@@ -583,11 +750,8 @@ export async function startMcpServer() {
583
750
  tools: TOOLS.map((t) => ({
584
751
  name: t.name,
585
752
  description: t.description,
586
- // Advertise the universal optional `cwd` so per-call repo targeting is discoverable.
587
- inputSchema: {
588
- ...t.inputSchema,
589
- properties: { ...(t.inputSchema.properties ?? {}), cwd: cwdSchema },
590
- },
753
+ // Advertise the universal optional `cwd` and `verbose` so both are discoverable.
754
+ inputSchema: advertisedSchema(t),
591
755
  })),
592
756
  }));
593
757
  // Ask the MCP client for its workspace roots (the protocol-blessed way to learn where the
@@ -651,8 +815,7 @@ export async function startMcpServer() {
651
815
  },
652
816
  };
653
817
  try {
654
- const result = await tool.handler(repo, argsIn, ctx);
655
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
818
+ return await runTool(tool, repo, argsIn, ctx);
656
819
  }
657
820
  finally {
658
821
  inFlight--;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  export declare const MERGE3_VERSION = "text3/0.1.0";
2
+ /** A maximal changed segment: base lines [start,end) are replaced by `lines`. */
3
+ interface Hunk {
4
+ start: number;
5
+ end: number;
6
+ lines: string[];
7
+ side: number;
8
+ }
2
9
  /** One side's rendering of a contended base span (for policy/human to choose among). */
3
10
  export interface ConflictOption {
4
11
  /** Variant indices that produced this exact text (agreement collapses duplicates). */
@@ -43,4 +50,10 @@ export interface Merge3Opts {
43
50
  * that order. Variants identical to base contribute nothing.
44
51
  */
45
52
  export declare function merge3(base: string, variants: string[], opts?: Merge3Opts): Merge3Result;
53
+ /**
54
+ * Line-level diff (LCS) → maximal changed segments. Each Hunk replaces base[start:end)
55
+ * with `lines`. Unchanged lines produce no hunk. Deterministic.
56
+ */
57
+ export declare function diffHunks(a: string[], b: string[]): Omit<Hunk, "side">[];
58
+ export {};
46
59
  //# sourceMappingURL=merge3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge3.d.ts","sourceRoot":"","sources":["../../src/merge/merge3.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAU5C,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAQD,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,YAAY,CAoH5F"}
1
+ {"version":3,"file":"merge3.d.ts","sourceRoot":"","sources":["../../src/merge/merge3.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C,iFAAiF;AACjF,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAQD,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,YAAY,CAoH5F;AAqBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CA+CxE"}
@@ -159,7 +159,7 @@ function renderSpan(baseLines, start, end, members) {
159
159
  * Line-level diff (LCS) → maximal changed segments. Each Hunk replaces base[start:end)
160
160
  * with `lines`. Unchanged lines produce no hunk. Deterministic.
161
161
  */
162
- function diffHunks(a, b) {
162
+ export function diffHunks(a, b) {
163
163
  const n = a.length;
164
164
  const m = b.length;
165
165
  // LCS DP table (lengths). O(n*m) — fine for source files.
@@ -1 +1 @@
1
- {"version":3,"file":"merge3.js","sourceRoot":"","sources":["../../src/merge/merge3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge3.js","sourceRoot":"","sources":["../../src/merge/merge3.ts"],"names":[],"mappings":"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"}