@namzu/cli 18.0.0 → 18.1.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 (62) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +1 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/acp.d.ts.map +1 -1
  5. package/dist/commands/acp.js +1 -0
  6. package/dist/commands/acp.js.map +1 -1
  7. package/dist/commands/run-stream.d.ts.map +1 -1
  8. package/dist/commands/run-stream.js +1 -0
  9. package/dist/commands/run-stream.js.map +1 -1
  10. package/dist/commands/run.d.ts.map +1 -1
  11. package/dist/commands/run.js +1 -0
  12. package/dist/commands/run.js.map +1 -1
  13. package/dist/config/load.d.ts.map +1 -1
  14. package/dist/config/load.js +15 -0
  15. package/dist/config/load.js.map +1 -1
  16. package/dist/config/schema.d.ts +17 -0
  17. package/dist/config/schema.d.ts.map +1 -1
  18. package/dist/config/schema.js.map +1 -1
  19. package/dist/context/doctrine.d.ts +44 -0
  20. package/dist/context/doctrine.d.ts.map +1 -0
  21. package/dist/context/doctrine.js +81 -0
  22. package/dist/context/doctrine.js.map +1 -0
  23. package/dist/context/turn-snapshot.d.ts +59 -0
  24. package/dist/context/turn-snapshot.d.ts.map +1 -0
  25. package/dist/context/turn-snapshot.js +122 -0
  26. package/dist/context/turn-snapshot.js.map +1 -0
  27. package/dist/integrations/subagents/runtime.d.ts +13 -0
  28. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  29. package/dist/integrations/subagents/runtime.js +71 -11
  30. package/dist/integrations/subagents/runtime.js.map +1 -1
  31. package/dist/permissions/mode.d.ts +25 -0
  32. package/dist/permissions/mode.d.ts.map +1 -1
  33. package/dist/permissions/mode.js +11 -1
  34. package/dist/permissions/mode.js.map +1 -1
  35. package/dist/tui/App.d.ts.map +1 -1
  36. package/dist/tui/App.js +243 -7
  37. package/dist/tui/App.js.map +1 -1
  38. package/dist/tui/Composer.d.ts +6 -1
  39. package/dist/tui/Composer.d.ts.map +1 -1
  40. package/dist/tui/Composer.js +18 -2
  41. package/dist/tui/Composer.js.map +1 -1
  42. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  43. package/dist/tui/PermissionOverlay.js +16 -1
  44. package/dist/tui/PermissionOverlay.js.map +1 -1
  45. package/dist/tui/TaskList.d.ts +30 -0
  46. package/dist/tui/TaskList.d.ts.map +1 -0
  47. package/dist/tui/TaskList.js +58 -0
  48. package/dist/tui/TaskList.js.map +1 -0
  49. package/dist/tui/agent.d.ts +45 -4
  50. package/dist/tui/agent.d.ts.map +1 -1
  51. package/dist/tui/agent.js +165 -18
  52. package/dist/tui/agent.js.map +1 -1
  53. package/dist/tui/permission-review.d.ts.map +1 -1
  54. package/dist/tui/permission-review.js +151 -1
  55. package/dist/tui/permission-review.js.map +1 -1
  56. package/dist/tui/stream-blocks.d.ts +24 -0
  57. package/dist/tui/stream-blocks.d.ts.map +1 -1
  58. package/dist/tui/stream-blocks.js +74 -0
  59. package/dist/tui/stream-blocks.js.map +1 -1
  60. package/dist/tui/types.d.ts +3 -1
  61. package/dist/tui/types.d.ts.map +1 -1
  62. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CA6D9E;AAqFD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,mBAAmB,EAAE,CA6BhC"}
1
+ {"version":3,"file":"permission-review.d.ts","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAC/B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAAA;CAAE,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC1B;AASD,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,MAAM,CAIvF;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC9B;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,QAAQ,SAA8B,GACpC,sBAAsB,CAqJxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,CA6D9E;AAqPD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,mBAAmB,EAAE,CA6BhC"}
@@ -256,12 +256,47 @@ function summarizeKnownCall(name, input) {
256
256
  };
257
257
  }
258
258
  }
259
+ if (name === 'edit' && isRecord(input)) {
260
+ const summary = summarizeEdit(input);
261
+ if (summary)
262
+ return summary;
263
+ }
264
+ if (name === 'write' && isRecord(input)) {
265
+ const allowed = new Set(['path', 'content', 'newStr']);
266
+ const keys = Object.keys(input);
267
+ const body = typeof input.content === 'string' ? input.content : input.newStr;
268
+ const shapeIsKnown = keys.every((key) => allowed.has(key)) &&
269
+ typeof input.path === 'string' &&
270
+ typeof body === 'string' &&
271
+ // One body, not two: a call carrying both is an evolved shape the
272
+ // exact view has to show, not one this summary may pick a half of.
273
+ (input.content === undefined) !== (input.newStr === undefined);
274
+ if (shapeIsKnown) {
275
+ const lines = body.split('\n');
276
+ return {
277
+ lines: [
278
+ `${input.path} · write ${lines.length} line${lines.length === 1 ? '' : 's'}`,
279
+ ...diffLines('+', lines),
280
+ ],
281
+ complete: true,
282
+ };
283
+ }
284
+ }
259
285
  if (name === 'Agent' && isRecord(input)) {
260
- const allowed = new Set(['description', 'prompt', 'role', 'workflow', 'phase', 'phase_order']);
286
+ const allowed = new Set([
287
+ 'description',
288
+ 'prompt',
289
+ 'subagent_type',
290
+ 'role',
291
+ 'workflow',
292
+ 'phase',
293
+ 'phase_order',
294
+ ]);
261
295
  const keys = Object.keys(input);
262
296
  const shapeIsKnown = keys.every((key) => allowed.has(key)) &&
263
297
  typeof input.description === 'string' &&
264
298
  typeof input.prompt === 'string' &&
299
+ (input.subagent_type === undefined || typeof input.subagent_type === 'string') &&
265
300
  (input.role === undefined || typeof input.role === 'string') &&
266
301
  (input.workflow === undefined || typeof input.workflow === 'string') &&
267
302
  (input.phase === undefined || typeof input.phase === 'string') &&
@@ -272,6 +307,11 @@ function summarizeKnownCall(name, input) {
272
307
  return {
273
308
  lines: [
274
309
  ...readableField('Task', known.description),
310
+ ...(known.subagent_type !== undefined
311
+ ? [
312
+ `Type: ${known.subagent_type}${known.subagent_type === 'explore' ? ' (read-only)' : ''}`,
313
+ ]
314
+ : []),
275
315
  ...readableField('Instructions', known.prompt),
276
316
  ...(known.role !== undefined ? readableField('Specialist', known.role) : []),
277
317
  ...(known.workflow !== undefined ? readableField('Workflow', known.workflow) : []),
@@ -293,6 +333,116 @@ function summarizeKnownCall(name, input) {
293
333
  function oneLine(value) {
294
334
  return value.replace(/\s+/gu, ' ').trim() || '(untitled task)';
295
335
  }
336
+ /** Lines of one side of a change shown before the rest is counted. */
337
+ const DIFF_PREVIEW_LINES = 40;
338
+ /**
339
+ * One side of a change as review lines: `- old` / `+ new`, one per source
340
+ * line, cut at `DIFF_PREVIEW_LINES` with the remainder counted. The prefix is
341
+ * what the overlay colours on; the exact view (`d`) still has every byte.
342
+ */
343
+ function diffLines(sign, lines) {
344
+ const shown = lines.slice(0, DIFF_PREVIEW_LINES).map((line) => `${sign} ${line}`);
345
+ const hidden = lines.length - shown.length;
346
+ return hidden > 0 ? [...shown, `${sign} … ${hidden} more line${hidden === 1 ? '' : 's'}`] : shown;
347
+ }
348
+ /**
349
+ * An `edit` as the change it makes, not as the JSON it arrived in.
350
+ *
351
+ * The tool has three shapes — one replacement (`old_string`/`new_string`, with
352
+ * the `oldStr`/`newStr` aliases), an insertion (`insertLine` + new text), and a
353
+ * list of replacements (`edits`) applied as one write — and each becomes `-`
354
+ * and `+` lines under the path. Returns `null` for a shape this does not know
355
+ * so the caller falls through to the exact-input view rather than showing a
356
+ * half of the call.
357
+ */
358
+ function summarizeEdit(input) {
359
+ const allowed = new Set([
360
+ 'path',
361
+ 'old_string',
362
+ 'oldStr',
363
+ 'new_string',
364
+ 'newStr',
365
+ 'insertLine',
366
+ 'replace_all',
367
+ 'edits',
368
+ ]);
369
+ if (!Object.keys(input).every((key) => allowed.has(key)))
370
+ return null;
371
+ if (typeof input.path !== 'string')
372
+ return null;
373
+ const path = input.path;
374
+ const oldText = pickString(input, 'old_string', 'oldStr');
375
+ const newText = pickString(input, 'new_string', 'newStr');
376
+ if (oldText === undefined || newText === undefined)
377
+ return null;
378
+ const replaceAll = input.replace_all;
379
+ if (replaceAll !== undefined && typeof replaceAll !== 'boolean')
380
+ return null;
381
+ // A list of replacements, applied together.
382
+ if (input.edits !== undefined) {
383
+ if (!Array.isArray(input.edits) || oldText.value !== null || newText.value !== null)
384
+ return null;
385
+ const lines = [
386
+ `${path} · ${input.edits.length} replacement${input.edits.length === 1 ? '' : 's'}`,
387
+ ];
388
+ for (const [index, edit] of input.edits.entries()) {
389
+ if (!isRecord(edit) ||
390
+ typeof edit.old_string !== 'string' ||
391
+ typeof edit.new_string !== 'string') {
392
+ return null;
393
+ }
394
+ if (edit.replace_all !== undefined && typeof edit.replace_all !== 'boolean')
395
+ return null;
396
+ if (!Object.keys(edit).every((key) => key === 'old_string' || key === 'new_string' || key === 'replace_all')) {
397
+ return null;
398
+ }
399
+ lines.push(`@ ${index + 1}${edit.replace_all ? ' · every occurrence' : ''}`);
400
+ lines.push(...diffLines('-', edit.old_string.split('\n')));
401
+ lines.push(...diffLines('+', edit.new_string.split('\n')));
402
+ }
403
+ return { lines, complete: true };
404
+ }
405
+ // An insertion: new text at a line, nothing removed.
406
+ if (input.insertLine !== undefined) {
407
+ const at = input.insertLine;
408
+ if (at !== 'end' && !(typeof at === 'number' && Number.isSafeInteger(at)))
409
+ return null;
410
+ if (oldText.value !== null || newText.value === null)
411
+ return null;
412
+ return {
413
+ lines: [
414
+ `${path} · insert at ${at === 'end' ? 'end' : `line ${String(at)}`}`,
415
+ ...diffLines('+', newText.value.split('\n')),
416
+ ],
417
+ complete: true,
418
+ };
419
+ }
420
+ // One replacement.
421
+ if (oldText.value === null || newText.value === null)
422
+ return null;
423
+ return {
424
+ lines: [
425
+ `${path}${replaceAll ? ' · every occurrence' : ''}`,
426
+ ...diffLines('-', oldText.value.split('\n')),
427
+ ...diffLines('+', newText.value.split('\n')),
428
+ ],
429
+ complete: true,
430
+ };
431
+ }
432
+ /**
433
+ * A field that has two spellings. `undefined` when both are present or one
434
+ * is not a string — an evolved shape — and `{ value: null }` when neither is.
435
+ */
436
+ function pickString(input, name, alias) {
437
+ const a = input[name];
438
+ const b = input[alias];
439
+ if (a !== undefined && b !== undefined)
440
+ return undefined;
441
+ const value = a ?? b;
442
+ if (value === undefined)
443
+ return { value: null };
444
+ return typeof value === 'string' ? { value } : undefined;
445
+ }
296
446
  /** Keep multi-line model input readable without making continuation lines look like new fields. */
297
447
  function readableField(label, value) {
298
448
  const lines = value.split('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-review.js","sourceRoot":"","sources":["../../src/tui/permission-review.ts"],"names":[],"mappings":"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"}
@@ -43,4 +43,28 @@ export declare function splitCompleteBlocks(buffer: string): {
43
43
  ready: string;
44
44
  rest: string;
45
45
  };
46
+ /**
47
+ * The block rule above, relaxed for a paragraph that is taking a while.
48
+ *
49
+ * A model's paragraph is one long line, so the block rule shows NOTHING of it
50
+ * until its final character — and a reply that is one long paragraph, which
51
+ * many are, is invisible for its whole length. That is the failure the block
52
+ * rule traded the typing effect for, and an operator staring at a blank row
53
+ * for twenty seconds experiences it as "it is not streaming".
54
+ *
55
+ * This releases up to the last point that is safe to show: a line end, or
56
+ * the whitespace after a sentence end. Never mid-word (a released half-word
57
+ * is the typing effect back), never inside an open fence (same reason as the
58
+ * block rule), never inside an open inline code span — a released `` `foo ``
59
+ * with its closing tick still arriving renders as a stray backtick and then
60
+ * re-renders as code, which is worse than waiting.
61
+ *
62
+ * The caller decides WHEN: this is meant to run on a clock, not on every
63
+ * delta, so a fast stream still lands a block at a time and only a slow one
64
+ * degrades to a sentence at a time.
65
+ */
66
+ export declare function splitSafeCut(buffer: string): {
67
+ ready: string;
68
+ rest: string;
69
+ };
46
70
  //# sourceMappingURL=stream-blocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-blocks.d.ts","sourceRoot":"","sources":["../../src/tui/stream-blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwCnF"}
1
+ {"version":3,"file":"stream-blocks.d.ts","sourceRoot":"","sources":["../../src/tui/stream-blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwCnF;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAmC5E"}
@@ -81,4 +81,78 @@ export function splitCompleteBlocks(buffer) {
81
81
  return { ready: '', rest: buffer };
82
82
  return { ready: buffer.slice(0, cut), rest: buffer.slice(cut) };
83
83
  }
84
+ /**
85
+ * A sentence end followed by whitespace, or a line end. The whitespace is the
86
+ * point: `3.14` and `e.g.` are not sentence ends, and a period at the very end
87
+ * of the buffer may be the first half of `...` or the last character of a
88
+ * word the model has not finished.
89
+ */
90
+ const SAFE_CUT = /[.!?:;]\s|\n/g;
91
+ /**
92
+ * The block rule above, relaxed for a paragraph that is taking a while.
93
+ *
94
+ * A model's paragraph is one long line, so the block rule shows NOTHING of it
95
+ * until its final character — and a reply that is one long paragraph, which
96
+ * many are, is invisible for its whole length. That is the failure the block
97
+ * rule traded the typing effect for, and an operator staring at a blank row
98
+ * for twenty seconds experiences it as "it is not streaming".
99
+ *
100
+ * This releases up to the last point that is safe to show: a line end, or
101
+ * the whitespace after a sentence end. Never mid-word (a released half-word
102
+ * is the typing effect back), never inside an open fence (same reason as the
103
+ * block rule), never inside an open inline code span — a released `` `foo ``
104
+ * with its closing tick still arriving renders as a stray backtick and then
105
+ * re-renders as code, which is worse than waiting.
106
+ *
107
+ * The caller decides WHEN: this is meant to run on a clock, not on every
108
+ * delta, so a fast stream still lands a block at a time and only a slow one
109
+ * degrades to a sentence at a time.
110
+ */
111
+ export function splitSafeCut(buffer) {
112
+ if (buffer.length === 0)
113
+ return { ready: '', rest: '' };
114
+ let fenceOpen = false;
115
+ let cut = -1;
116
+ let offset = 0;
117
+ let sawContent = false;
118
+ for (const line of buffer.split('\n')) {
119
+ const lineEnd = offset + line.length;
120
+ if (FENCE.test(line)) {
121
+ fenceOpen = !fenceOpen;
122
+ sawContent = true;
123
+ }
124
+ else if (line.trim().length > 0) {
125
+ sawContent = true;
126
+ }
127
+ if (!fenceOpen && sawContent) {
128
+ // The line end itself, including a trailing one: unlike the block
129
+ // rule, releasing "text\n" ahead of the "\n" that may follow costs
130
+ // nothing — the renderer sees the same document either way, and a
131
+ // line that is whole is safe to show.
132
+ if (lineEnd < buffer.length)
133
+ cut = lineEnd + 1;
134
+ // Or the last sentence end inside this line, when the line is still
135
+ // growing and nothing after it has arrived.
136
+ else {
137
+ for (const match of line.matchAll(SAFE_CUT)) {
138
+ const at = offset + match.index + match[0].length;
139
+ if (backticksBalanced(buffer.slice(0, at)))
140
+ cut = at;
141
+ }
142
+ }
143
+ }
144
+ offset = lineEnd + 1;
145
+ }
146
+ if (cut < 0)
147
+ return { ready: '', rest: buffer };
148
+ return { ready: buffer.slice(0, cut), rest: buffer.slice(cut) };
149
+ }
150
+ /** An even number of backticks: every inline span that opened has closed. */
151
+ function backticksBalanced(text) {
152
+ let count = 0;
153
+ for (const ch of text)
154
+ if (ch === '`')
155
+ count += 1;
156
+ return count % 2 === 0;
157
+ }
84
158
  //# sourceMappingURL=stream-blocks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-blocks.js","sourceRoot":"","sources":["../../src/tui/stream-blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,4EAA4E;AAC5E,MAAM,KAAK,GAAG,kBAAkB,CAAA;AAEhC;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,0EAA0E;IAC1E,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IACZ,IAAI,MAAM,GAAG,CAAC,CAAA;IACd;;;;;;OAMG;IACH,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAW,CAAA;QAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QACrC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,GAAG,CAAC,SAAS,CAAA;YACtB,UAAU,GAAG,IAAI,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,IAAI,CAAA;QAClB,CAAC;aAAM,IACN,CAAC,SAAS;YACV,UAAU;YACV,sEAAsE;YACtE,mEAAmE;YACnE,+DAA+D;YAC/D,CAAC,MAAM,EACN,CAAC;YACF,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"stream-blocks.js","sourceRoot":"","sources":["../../src/tui/stream-blocks.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import type { AuthorizationRule } from '@namzu/sdk';
7
7
  import type { ConfigDebugSnapshot } from '../config/debug.js';
8
- import type { PluginConfig, SandboxConfig, TuiConfig } from '../config/schema.js';
8
+ import type { PluginConfig, SandboxConfig, TuiConfig, WebConfig } from '../config/schema.js';
9
9
  import type { McpServersConfig } from '../integrations/mcp/servers.js';
10
10
  import type { ResolvedLogging } from '../logging.js';
11
11
  export type MessageRole = 'user' | 'assistant' | 'system' | 'tool';
@@ -79,6 +79,8 @@ export interface TuiContext {
79
79
  readonly mcpServers?: McpServersConfig;
80
80
  /** Executable plugins from the trusted, project-aware config. */
81
81
  readonly plugins?: PluginConfig;
82
+ /** See `NamzuCliConfig.web`. */
83
+ readonly web?: WebConfig;
82
84
  /**
83
85
  * Isolation config, by the same reasoning as the two above: it belongs
84
86
  * to the user, not to a command, so it has to reach the session
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,sGAAsG;IACtG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,mEAAmE;IACnE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAC1C,sGAAsG;IACtG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,gCAAgC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAClC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/cli",
3
- "version": "18.0.0",
3
+ "version": "18.1.0",
4
4
  "description": "Interactive and headless terminal agent for Namzu, with provider discovery, durable sessions, tools and diagnostics.",
5
5
  "keywords": [
6
6
  "namzu",
@@ -45,13 +45,13 @@
45
45
  "react": "19.2.6",
46
46
  "yaml": "^2.9.0",
47
47
  "@namzu/anthropic": "4.0.4",
48
- "@namzu/computer-use": "1.4.0",
49
48
  "@namzu/deepseek": "^1.1.1",
50
49
  "@namzu/files": "1.1.0",
51
50
  "@namzu/ollama": "2.2.2",
52
- "@namzu/openrouter": "2.3.2",
51
+ "@namzu/computer-use": "1.4.0",
53
52
  "@namzu/sdk": "^34.2.0",
54
- "@namzu/openai": "2.1.0"
53
+ "@namzu/openai": "2.1.0",
54
+ "@namzu/openrouter": "2.3.2"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@biomejs/biome": "^1.9.4",