@xandout/libra-harness 0.1.12 → 0.1.14

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 (53) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +48 -11
  3. package/dist/agent.js.map +1 -1
  4. package/dist/extras/extensions/code-tools/extension.d.ts +83 -0
  5. package/dist/extras/extensions/code-tools/extension.d.ts.map +1 -0
  6. package/dist/extras/extensions/code-tools/extension.js +93 -0
  7. package/dist/extras/extensions/code-tools/extension.js.map +1 -0
  8. package/dist/extras/extensions/code-tools/extension.json +7 -0
  9. package/dist/extras/extensions/code-tools/extension.test.d.ts +2 -0
  10. package/dist/extras/extensions/code-tools/extension.test.d.ts.map +1 -0
  11. package/dist/extras/extensions/code-tools/extension.test.js +656 -0
  12. package/dist/extras/extensions/code-tools/extension.test.js.map +1 -0
  13. package/dist/extras/extensions/code-tools/index.d.ts +3 -0
  14. package/dist/extras/extensions/code-tools/index.d.ts.map +1 -0
  15. package/dist/extras/extensions/code-tools/index.js +2 -0
  16. package/dist/extras/extensions/code-tools/index.js.map +1 -0
  17. package/dist/extras/extensions/code-tools/tools/code-search.d.ts +12 -0
  18. package/dist/extras/extensions/code-tools/tools/code-search.d.ts.map +1 -0
  19. package/dist/extras/extensions/code-tools/tools/code-search.js +86 -0
  20. package/dist/extras/extensions/code-tools/tools/code-search.js.map +1 -0
  21. package/dist/extras/extensions/code-tools/tools/find.d.ts +3 -0
  22. package/dist/extras/extensions/code-tools/tools/find.d.ts.map +1 -0
  23. package/dist/extras/extensions/code-tools/tools/find.js +160 -0
  24. package/dist/extras/extensions/code-tools/tools/find.js.map +1 -0
  25. package/dist/extras/extensions/code-tools/tools/grep.d.ts +3 -0
  26. package/dist/extras/extensions/code-tools/tools/grep.d.ts.map +1 -0
  27. package/dist/extras/extensions/code-tools/tools/grep.js +306 -0
  28. package/dist/extras/extensions/code-tools/tools/grep.js.map +1 -0
  29. package/dist/extras/extensions/code-tools/tools/read.d.ts +3 -0
  30. package/dist/extras/extensions/code-tools/tools/read.d.ts.map +1 -0
  31. package/dist/extras/extensions/code-tools/tools/read.js +97 -0
  32. package/dist/extras/extensions/code-tools/tools/read.js.map +1 -0
  33. package/dist/extras/extensions/code-tools/tools/shared.d.ts +14 -0
  34. package/dist/extras/extensions/code-tools/tools/shared.d.ts.map +1 -0
  35. package/dist/extras/extensions/code-tools/tools/shared.js +53 -0
  36. package/dist/extras/extensions/code-tools/tools/shared.js.map +1 -0
  37. package/dist/extras/extensions/code-tools/tools/shell.d.ts +49 -0
  38. package/dist/extras/extensions/code-tools/tools/shell.d.ts.map +1 -0
  39. package/dist/extras/extensions/code-tools/tools/shell.js +623 -0
  40. package/dist/extras/extensions/code-tools/tools/shell.js.map +1 -0
  41. package/dist/extras/extensions/code-tools/tools/todo.d.ts +24 -0
  42. package/dist/extras/extensions/code-tools/tools/todo.d.ts.map +1 -0
  43. package/dist/extras/extensions/code-tools/tools/todo.js +131 -0
  44. package/dist/extras/extensions/code-tools/tools/todo.js.map +1 -0
  45. package/dist/extras/extensions/code-tools/tools/write.d.ts +4 -0
  46. package/dist/extras/extensions/code-tools/tools/write.d.ts.map +1 -0
  47. package/dist/extras/extensions/code-tools/tools/write.js +179 -0
  48. package/dist/extras/extensions/code-tools/tools/write.js.map +1 -0
  49. package/dist/extras/extensions/disk-session/extension.d.ts +5 -0
  50. package/dist/extras/extensions/disk-session/extension.d.ts.map +1 -1
  51. package/dist/extras/extensions/disk-session/extension.js +148 -20
  52. package/dist/extras/extensions/disk-session/extension.js.map +1 -1
  53. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -268,9 +268,15 @@ export class Agent {
268
268
  if (turn.signal.aborted) {
269
269
  return await this.finishTurn(turn, messageContentToText(modelResponse.message.content), 'halted', iterations, allToolCalls);
270
270
  }
271
- // ── No tool calls → final response ──
271
+ // ── No tool calls → final response (unless steering pending) ──
272
272
  const toolCalls = modelResponse.message.toolCalls;
273
273
  if (!toolCalls || toolCalls.length === 0) {
274
+ // If steering messages arrived during the LLM call, don't end
275
+ // the turn — drain them and loop so the agent can respond.
276
+ if (steeringQueue.length > 0) {
277
+ this.drainSteering(turn, steeringQueue);
278
+ continue;
279
+ }
274
280
  return await this.finishTurn(turn, messageContentToText(modelResponse.message.content), 'stop', iterations, allToolCalls);
275
281
  }
276
282
  // ── Separate external (pass-through) from internal (execute) tool calls ──
@@ -291,10 +297,10 @@ export class Agent {
291
297
  // are still returned — the caller will see them and the internal results.
292
298
  if (internalCalls.length > 0) {
293
299
  allToolCalls.push(...internalCalls);
294
- for (const toolCall of internalCalls) {
295
- if (turn.signal.aborted) {
296
- return await this.finishTurn(turn, '', 'halted', iterations, allToolCalls);
297
- }
300
+ if (turn.signal.aborted) {
301
+ return await this.finishTurn(turn, '', 'halted', iterations, allToolCalls);
302
+ }
303
+ const mixedResults = await Promise.all(internalCalls.map(async (toolCall) => {
298
304
  const beforeToolCtx = { turn, toolCall };
299
305
  const beforeToolResult = await this.runHooks('beforeTool', beforeToolCtx);
300
306
  let toolResult;
@@ -309,6 +315,9 @@ export class Agent {
309
315
  if (afterToolResult.value) {
310
316
  toolResult = afterToolResult.value;
311
317
  }
318
+ return { toolCall, toolResult };
319
+ }));
320
+ for (const { toolCall, toolResult } of mixedResults) {
312
321
  turn.messages.push({
313
322
  role: 'tool',
314
323
  content: toolResult.content,
@@ -316,6 +325,8 @@ export class Agent {
316
325
  name: toolCall.name,
317
326
  });
318
327
  }
328
+ // Drain steering after mixed tool results too.
329
+ this.drainSteering(turn, steeringQueue);
319
330
  }
320
331
  // Return external tool calls to the caller. The assistant message
321
332
  // (with toolCalls) is already in turn.messages from the push above.
@@ -323,11 +334,15 @@ export class Agent {
323
334
  }
324
335
  // ── Execute internal tool calls ──
325
336
  allToolCalls.push(...internalCalls);
326
- for (const toolCall of internalCalls) {
327
- // Check halt between tool calls in a batch.
328
- if (turn.signal.aborted) {
329
- return await this.finishTurn(turn, '', 'halted', iterations, allToolCalls);
330
- }
337
+ // Check halt before starting the batch.
338
+ if (turn.signal.aborted) {
339
+ return await this.finishTurn(turn, '', 'halted', iterations, allToolCalls);
340
+ }
341
+ // Execute all internal tool calls in the batch concurrently.
342
+ // Each tool call runs its beforeTool → execute → afterTool pipeline
343
+ // independently. Results are collected in order and appended to
344
+ // turn.messages after all complete, preserving the model's ordering.
345
+ const results = await Promise.all(internalCalls.map(async (toolCall) => {
331
346
  // beforeTool — can short-circuit with a synthetic result.
332
347
  const beforeToolCtx = { turn, toolCall };
333
348
  const beforeToolResult = await this.runHooks('beforeTool', beforeToolCtx);
@@ -344,6 +359,10 @@ export class Agent {
344
359
  if (afterToolResult.value) {
345
360
  toolResult = afterToolResult.value;
346
361
  }
362
+ return { toolCall, toolResult };
363
+ }));
364
+ // Append results to messages in the original order.
365
+ for (const { toolCall, toolResult } of results) {
347
366
  turn.messages.push({
348
367
  role: 'tool',
349
368
  content: toolResult.content,
@@ -351,6 +370,11 @@ export class Agent {
351
370
  name: toolCall.name,
352
371
  });
353
372
  }
373
+ // ── Drain steering messages right after tool results ──
374
+ // This ensures the model sees steering directives immediately
375
+ // alongside tool results, rather than waiting for the next
376
+ // loop iteration's drain at the top.
377
+ this.drainSteering(turn, steeringQueue);
354
378
  // Loop continues — the model will see the tool results.
355
379
  }
356
380
  }
@@ -500,7 +524,20 @@ export class Agent {
500
524
  drainSteering(turn, steeringQueue) {
501
525
  while (steeringQueue.length > 0) {
502
526
  const msg = steeringQueue.shift();
503
- turn.messages.push({ role: 'user', content: msg });
527
+ // Inject a system directive + user message pair. The system
528
+ // message tells the model to treat the steering as an
529
+ // interruption; the user message carries the actual content.
530
+ // Models deprioritize mid-conversation system messages, so we
531
+ // pair it with a user message (which models can't ignore) and
532
+ // use the system message to frame it as a hard redirect.
533
+ turn.messages.push({
534
+ role: 'system',
535
+ content: '[steering] The user has sent a new directive. You must address it immediately. Do not continue the previous task — pivot to the user\'s new request now.',
536
+ });
537
+ turn.messages.push({
538
+ role: 'user',
539
+ content: `[steering] ${msg}`,
540
+ });
504
541
  }
505
542
  }
506
543
  buildResponse(turn, message, finishReason, iterations, toolCalls, pendingToolCalls) {
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import type { Extension } from '../../../extension.js';
2
+ import type { Model } from '../../../model.js';
3
+ /**
4
+ * Configuration for the code-tools extension.
5
+ */
6
+ export interface CodeToolsConfig {
7
+ /**
8
+ * Tool name prefix. Default: no prefix (tools are named `read`, `write`, etc.).
9
+ * Set to avoid collisions when multiple tool-providing extensions are used.
10
+ */
11
+ toolPrefix?: string;
12
+ /**
13
+ * Maximum file size for read operations (bytes). Default: 1MB.
14
+ * Files larger than this return a metadata-only response.
15
+ */
16
+ maxReadSize?: number;
17
+ /**
18
+ * Maximum number of lines to return from a read operation. Default: 2000.
19
+ * Lines beyond this are truncated with a notice.
20
+ */
21
+ maxReadLines?: number;
22
+ /**
23
+ * Maximum line length before truncation. Default: 2000 characters.
24
+ */
25
+ maxLineLength?: number;
26
+ /**
27
+ * Directory for persisting backgrounded shell metadata and output.
28
+ * Detached shells survive process exit and can be reconnected from
29
+ * this directory by a future agent instance.
30
+ * Default: ./.libra-shells
31
+ */
32
+ shellsDir?: string;
33
+ /**
34
+ * File path for persisting the todo list. When set, todos are loaded
35
+ * on startup and saved on every update, surviving across separate
36
+ * process invocations.
37
+ * Default: undefined (todos are in-memory only)
38
+ */
39
+ todoFile?: string;
40
+ /**
41
+ * Model to use for the `code_search` subagent tool. When provided,
42
+ * the `code_search` tool is registered — it spawns a read-only
43
+ * subagent with read, grep, and find_file_by_name tools to explore
44
+ * the codebase and answer natural language queries.
45
+ * Default: undefined (code_search tool is not registered)
46
+ */
47
+ model?: Model;
48
+ /**
49
+ * Max iterations for the code_search subagent. Default: 10.
50
+ */
51
+ codeSearchMaxIterations?: number;
52
+ }
53
+ /**
54
+ * Create a code-tools extension that provides file reading, writing,
55
+ * editing, searching, and shell execution tools for coding agents.
56
+ *
57
+ * Tools provided:
58
+ * - `read` — read a file's contents (text, base64 for binary, data URL for images)
59
+ * - `write` — create or overwrite a file (must read existing files first)
60
+ * - `edit` — replace a string in a file (unique match required, or replace_all)
61
+ * - `find_file_by_name` — find files by glob pattern
62
+ * - `grep` — search file contents (regex, glob filter, context lines, output modes)
63
+ * - `code_search` — spawn a read-only subagent to explore the codebase (requires `model`)
64
+ * - `exec` — run a shell command (with timeout, backgrounding)
65
+ * - `get_output` — read output from a backgrounded shell
66
+ * - `kill_shell` — kill a backgrounded shell
67
+ * - `write_to_process` — write to an interactive shell's stdin
68
+ * - `todo_write` — track multi-step tasks with a structured todo list
69
+ *
70
+ * Backgrounded shells persist across turns within the same agent and are
71
+ * killed when the extension is unloaded.
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const agent = new Agent({
76
+ * model,
77
+ * systemPrompt: 'You are a coding agent.',
78
+ * })
79
+ * agent.use(createCodeToolsExtension())
80
+ * ```
81
+ */
82
+ export default function createCodeToolsExtension(config?: CodeToolsConfig): Extension;
83
+ //# sourceMappingURL=extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../src/extras/extensions/code-tools/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAW/C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,MAAM,CAAC,EAAE,eAAe,GACvB,SAAS,CA+DX"}
@@ -0,0 +1,93 @@
1
+ import { readTool } from './tools/read.js';
2
+ import { writeTool, editTool } from './tools/write.js';
3
+ import { findFileByNameTool } from './tools/find.js';
4
+ import { grepTool } from './tools/grep.js';
5
+ import { codeSearchTool } from './tools/code-search.js';
6
+ import { ShellRegistry, execTool, getOutputTool, killShellTool, writeToProcessTool } from './tools/shell.js';
7
+ import { TodoStore, todoWriteTool } from './tools/todo.js';
8
+ /**
9
+ * Create a code-tools extension that provides file reading, writing,
10
+ * editing, searching, and shell execution tools for coding agents.
11
+ *
12
+ * Tools provided:
13
+ * - `read` — read a file's contents (text, base64 for binary, data URL for images)
14
+ * - `write` — create or overwrite a file (must read existing files first)
15
+ * - `edit` — replace a string in a file (unique match required, or replace_all)
16
+ * - `find_file_by_name` — find files by glob pattern
17
+ * - `grep` — search file contents (regex, glob filter, context lines, output modes)
18
+ * - `code_search` — spawn a read-only subagent to explore the codebase (requires `model`)
19
+ * - `exec` — run a shell command (with timeout, backgrounding)
20
+ * - `get_output` — read output from a backgrounded shell
21
+ * - `kill_shell` — kill a backgrounded shell
22
+ * - `write_to_process` — write to an interactive shell's stdin
23
+ * - `todo_write` — track multi-step tasks with a structured todo list
24
+ *
25
+ * Backgrounded shells persist across turns within the same agent and are
26
+ * killed when the extension is unloaded.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const agent = new Agent({
31
+ * model,
32
+ * systemPrompt: 'You are a coding agent.',
33
+ * })
34
+ * agent.use(createCodeToolsExtension())
35
+ * ```
36
+ */
37
+ export default function createCodeToolsExtension(config) {
38
+ const resolved = {
39
+ toolPrefix: config?.toolPrefix ?? '',
40
+ maxReadSize: config?.maxReadSize ?? 1_048_576, // 1MB
41
+ maxReadLines: config?.maxReadLines ?? 2000,
42
+ maxLineLength: config?.maxLineLength ?? 2000,
43
+ };
44
+ // Shell registry lives at the extension level so backgrounded shells
45
+ // survive across turns. Detached shells are persisted to disk and
46
+ // can be reconnected by a future process. Cleaned up on close().
47
+ const registry = new ShellRegistry(config?.shellsDir);
48
+ // Todo store lives at the extension level so the todo list persists
49
+ // across turns. When todoFile is set, todos also persist to disk
50
+ // and survive across separate process invocations.
51
+ const todoStore = new TodoStore(config?.todoFile);
52
+ // Standard tool factories (file + search tools).
53
+ const toolFactories = [
54
+ readTool,
55
+ writeTool,
56
+ editTool,
57
+ findFileByNameTool,
58
+ grepTool,
59
+ ];
60
+ // Shell tool factories — receive the registry in addition to config.
61
+ const shellToolFactories = [
62
+ execTool,
63
+ getOutputTool,
64
+ killShellTool,
65
+ writeToProcessTool,
66
+ ];
67
+ return {
68
+ name: 'code-tools',
69
+ priority: 50,
70
+ install(agent) {
71
+ for (const factory of toolFactories) {
72
+ agent.tool(factory(resolved));
73
+ }
74
+ for (const factory of shellToolFactories) {
75
+ agent.tool(factory({ toolPrefix: resolved.toolPrefix, registry }));
76
+ }
77
+ agent.tool(todoWriteTool({ toolPrefix: resolved.toolPrefix, store: todoStore }));
78
+ // code_search subagent tool — only registered when a model is provided.
79
+ if (config?.model) {
80
+ agent.tool(codeSearchTool({
81
+ toolPrefix: resolved.toolPrefix,
82
+ model: config.model,
83
+ maxIterations: config.codeSearchMaxIterations,
84
+ }));
85
+ }
86
+ },
87
+ // Kill all backgrounded shells when the extension is unloaded.
88
+ async close() {
89
+ registry.close();
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../../src/extras/extensions/code-tools/extension.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE7G,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqD3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,MAAwB;IAExB,MAAM,QAAQ,GAAmB;QAC/B,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;QACpC,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM;QACrD,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI;QAC1C,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,IAAI;KAC7C,CAAC;IAEF,qEAAqE;IACrE,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,oEAAoE;IACpE,iEAAiE;IACjE,mDAAmD;IACnD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElD,iDAAiD;IACjD,MAAM,aAAa,GAAkB;QACnC,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,kBAAkB;QAClB,QAAQ;KACT,CAAC;IAEF,qEAAqE;IACrE,MAAM,kBAAkB,GAAuB;QAC7C,QAAQ;QACR,aAAa;QACb,aAAa;QACb,kBAAkB;KACnB,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE;QAEZ,OAAO,CAAC,KAAK;YACX,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEjF,wEAAwE;YACxE,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,MAAM,CAAC,uBAAuB;iBAC9C,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,KAAK,CAAC,KAAK;YACT,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "code-tools",
3
+ "description": "File reading, writing, editing, searching, shell execution, and task management tools for coding agents. Provides read, write, edit, find_file_by_name, grep, exec, get_output, kill_shell, write_to_process, and todo_write tools.",
4
+ "enabled": true,
5
+ "priority": 50,
6
+ "configKeys": ["toolPrefix", "maxReadSize", "maxReadLines", "maxLineLength"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extension.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.test.d.ts","sourceRoot":"","sources":["../../../../src/extras/extensions/code-tools/extension.test.ts"],"names":[],"mappings":""}