@gaunt-sloth/agent 2.0.0-alpha.9 → 2.0.0-beta.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 (124) hide show
  1. package/README.md +73 -23
  2. package/cli-acp.js +21 -24
  3. package/dist/builtInToolsConfig.d.ts +17 -3
  4. package/dist/builtInToolsConfig.js +43 -41
  5. package/dist/builtInToolsConfig.js.map +1 -1
  6. package/dist/core/debugCapture.d.ts +7 -49
  7. package/dist/core/debugCapture.js +1 -1
  8. package/dist/core/debugCapture.js.map +1 -1
  9. package/dist/core/resolveAgentFactory.d.ts +10 -9
  10. package/dist/core/resolveAgentFactory.js +11 -12
  11. package/dist/core/resolveAgentFactory.js.map +1 -1
  12. package/dist/index.d.ts +4 -4
  13. package/dist/index.js +7 -5
  14. package/dist/index.js.map +1 -1
  15. package/dist/mcp/OAuthClientProviderImpl.js.map +1 -1
  16. package/dist/mcp/tlsTrust.d.ts +61 -0
  17. package/dist/mcp/tlsTrust.js +109 -0
  18. package/dist/mcp/tlsTrust.js.map +1 -0
  19. package/dist/middleware/binaryContentInjectionMiddleware.d.ts +8 -1
  20. package/dist/middleware/binaryContentInjectionMiddleware.js +11 -2
  21. package/dist/middleware/binaryContentInjectionMiddleware.js.map +1 -1
  22. package/dist/middleware/frontendImageInjectionMiddleware.d.ts +107 -0
  23. package/dist/middleware/frontendImageInjectionMiddleware.js +167 -0
  24. package/dist/middleware/frontendImageInjectionMiddleware.js.map +1 -0
  25. package/dist/middleware/registry.js +49 -1
  26. package/dist/middleware/registry.js.map +1 -1
  27. package/dist/middleware/types.d.ts +16 -2
  28. package/dist/modules/a2a/A2AClientWrapper.d.ts +56 -1
  29. package/dist/modules/a2a/A2AClientWrapper.js +131 -31
  30. package/dist/modules/a2a/A2AClientWrapper.js.map +1 -1
  31. package/dist/modules/acp/acpAgentApp.d.ts +57 -0
  32. package/dist/modules/acp/acpAgentApp.js +378 -0
  33. package/dist/modules/acp/acpAgentApp.js.map +1 -0
  34. package/dist/modules/acp/acpAgentAppV1.d.ts +52 -0
  35. package/dist/modules/acp/acpAgentAppV1.js +307 -0
  36. package/dist/modules/acp/acpAgentAppV1.js.map +1 -0
  37. package/dist/modules/acp/acpCommon.d.ts +167 -0
  38. package/dist/modules/acp/acpCommon.js +282 -0
  39. package/dist/modules/acp/acpCommon.js.map +1 -0
  40. package/dist/modules/acp/acpPermissions.d.ts +65 -0
  41. package/dist/modules/acp/acpPermissions.js +162 -0
  42. package/dist/modules/acp/acpPermissions.js.map +1 -0
  43. package/dist/modules/acp/acpPermissionsV1.d.ts +45 -0
  44. package/dist/modules/acp/acpPermissionsV1.js +110 -0
  45. package/dist/modules/acp/acpPermissionsV1.js.map +1 -0
  46. package/dist/modules/acp/acpRouter.d.ts +41 -0
  47. package/dist/modules/acp/acpRouter.js +48 -0
  48. package/dist/modules/acp/acpRouter.js.map +1 -0
  49. package/dist/modules/acp/acpStdio.d.ts +47 -0
  50. package/dist/modules/acp/acpStdio.js +71 -0
  51. package/dist/modules/acp/acpStdio.js.map +1 -0
  52. package/dist/modules/acp/acpToolCalls.d.ts +93 -0
  53. package/dist/modules/acp/acpToolCalls.js +193 -0
  54. package/dist/modules/acp/acpToolCalls.js.map +1 -0
  55. package/dist/modules/acp/acpUpdates.d.ts +48 -0
  56. package/dist/modules/acp/acpUpdates.js +142 -0
  57. package/dist/modules/acp/acpUpdates.js.map +1 -0
  58. package/dist/modules/acp/acpUpdatesV1.d.ts +61 -0
  59. package/dist/modules/acp/acpUpdatesV1.js +162 -0
  60. package/dist/modules/acp/acpUpdatesV1.js.map +1 -0
  61. package/dist/modules/apiAgUiModule.d.ts +87 -0
  62. package/dist/modules/apiAgUiModule.js +193 -28
  63. package/dist/modules/apiAgUiModule.js.map +1 -1
  64. package/dist/modules/interactiveSessionModule.js +497 -51
  65. package/dist/modules/interactiveSessionModule.js.map +1 -1
  66. package/dist/modules/slashCommands.d.ts +582 -0
  67. package/dist/modules/slashCommands.js +1001 -0
  68. package/dist/modules/slashCommands.js.map +1 -0
  69. package/dist/resolvers.js +119 -9
  70. package/dist/resolvers.js.map +1 -1
  71. package/dist/tools/GthCustomToolkit.js +95 -11
  72. package/dist/tools/GthCustomToolkit.js.map +1 -1
  73. package/dist/tools/GthDevToolkit.d.ts +8 -5
  74. package/dist/tools/GthDevToolkit.js +89 -43
  75. package/dist/tools/GthDevToolkit.js.map +1 -1
  76. package/dist/tools/GthFileSystemToolkit.d.ts +63 -0
  77. package/dist/tools/GthFileSystemToolkit.js +506 -105
  78. package/dist/tools/GthFileSystemToolkit.js.map +1 -1
  79. package/dist/tools/McpResourceTool.d.ts +31 -0
  80. package/dist/tools/McpResourceTool.js +106 -0
  81. package/dist/tools/McpResourceTool.js.map +1 -0
  82. package/dist/tools/gthChecklistTool.d.ts +30 -0
  83. package/dist/tools/gthChecklistTool.js +80 -0
  84. package/dist/tools/gthChecklistTool.js.map +1 -0
  85. package/dist/tools/gthGrepTool.d.ts +54 -0
  86. package/dist/tools/gthGrepTool.js +482 -0
  87. package/dist/tools/gthGrepTool.js.map +1 -0
  88. package/dist/tools/shell/env.js +1 -1
  89. package/dist/tools/shell/env.js.map +1 -1
  90. package/dist/tools/shell/outputBuffer.js.map +1 -1
  91. package/dist/tools/shell/workDir.d.ts +1 -10
  92. package/dist/tools/shell/workDir.js +10 -36
  93. package/dist/tools/shell/workDir.js.map +1 -1
  94. package/dist/utils/mcpAuthError.d.ts +36 -0
  95. package/dist/utils/mcpAuthError.js +89 -0
  96. package/dist/utils/mcpAuthError.js.map +1 -0
  97. package/package.json +13 -13
  98. package/dist/core/GthDeepAgent.d.ts +0 -181
  99. package/dist/core/GthDeepAgent.js +0 -682
  100. package/dist/core/GthDeepAgent.js.map +0 -1
  101. package/dist/core/deepAgentPermissions.d.ts +0 -115
  102. package/dist/core/deepAgentPermissions.js +0 -282
  103. package/dist/core/deepAgentPermissions.js.map +0 -1
  104. package/dist/core/gthAcpServer.d.ts +0 -27
  105. package/dist/core/gthAcpServer.js +0 -82
  106. package/dist/core/gthAcpServer.js.map +0 -1
  107. package/dist/core/gthDeepAgentFactory.d.ts +0 -8
  108. package/dist/core/gthDeepAgentFactory.js +0 -9
  109. package/dist/core/gthDeepAgentFactory.js.map +0 -1
  110. package/dist/modules/acpModule.d.ts +0 -40
  111. package/dist/modules/acpModule.js +0 -78
  112. package/dist/modules/acpModule.js.map +0 -1
  113. package/dist/tools/shell/allowlist.d.ts +0 -11
  114. package/dist/tools/shell/allowlist.js +0 -12
  115. package/dist/tools/shell/allowlist.js.map +0 -1
  116. package/dist/tools/shell/arity.d.ts +0 -11
  117. package/dist/tools/shell/arity.js +0 -12
  118. package/dist/tools/shell/arity.js.map +0 -1
  119. package/dist/tools/shell/hardline.d.ts +0 -15
  120. package/dist/tools/shell/hardline.js +0 -88
  121. package/dist/tools/shell/hardline.js.map +0 -1
  122. package/dist/tools/shell/normalize.d.ts +0 -10
  123. package/dist/tools/shell/normalize.js +0 -11
  124. package/dist/tools/shell/normalize.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GthFileSystemToolkit.js","sourceRoot":"","sources":["../../src/tools/GthFileSystemToolkit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GthFileSystemToolkit.js","sourceRoot":"","sources":["../../src/tools/GthFileSystemToolkit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module McpResourceTool
3
+ * EXT-48 — synthesize agent-callable tools for a connected MCP server's RESOURCES.
4
+ *
5
+ * gth is otherwise a tools-only MCP client (it consumes a server's getTools() +
6
+ * getInstructions()). This factory bridges the adapter's resource API to the agent by
7
+ * synthesizing two LangChain tools per resources-capable server, mirroring
8
+ * {@link ../tools/A2AAgentTool.ts} — each tool closes over the LIVE MultiServerMCPClient
9
+ * plus the server name and calls it in `func`:
10
+ *
11
+ * - `mcp__<server>__list_resources` — no args; lists the server's concrete resources.
12
+ * - `mcp__<server>__read_resource` — { uri }; reads one resource by URI.
13
+ *
14
+ * The `mcp__<server>__*` namespace (single-sourced from MCP_TOOL_NAME_PREFIX) makes these
15
+ * tools inherit the `allowedTools` glob opt-out and TUI-C20 server-grouping for free, and
16
+ * lets both agent backends consume them generically via the resolveTools array (zero
17
+ * agent-backend edits).
18
+ *
19
+ * Concrete-URI list/read only: resource TEMPLATES (parameterized URIs) are deferred.
20
+ */
21
+ import { DynamicStructuredTool } from '@langchain/core/tools';
22
+ import type { MultiServerMCPClient } from '@langchain/mcp-adapters';
23
+ /**
24
+ * Build the two resource tools for one server, bound to the live client + server name.
25
+ *
26
+ * @param mcpClientInstance - the live MultiServerMCPClient the tools call through (closed over)
27
+ * @param serverName - the connected server whose resources these tools expose
28
+ * @returns the `list_resources` + `read_resource` DynamicStructuredTools, namespaced
29
+ * `mcp__<serverName>__*`
30
+ */
31
+ export declare function createMcpResourceTools(mcpClientInstance: MultiServerMCPClient, serverName: string): DynamicStructuredTool[];
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @module McpResourceTool
3
+ * EXT-48 — synthesize agent-callable tools for a connected MCP server's RESOURCES.
4
+ *
5
+ * gth is otherwise a tools-only MCP client (it consumes a server's getTools() +
6
+ * getInstructions()). This factory bridges the adapter's resource API to the agent by
7
+ * synthesizing two LangChain tools per resources-capable server, mirroring
8
+ * {@link ../tools/A2AAgentTool.ts} — each tool closes over the LIVE MultiServerMCPClient
9
+ * plus the server name and calls it in `func`:
10
+ *
11
+ * - `mcp__<server>__list_resources` — no args; lists the server's concrete resources.
12
+ * - `mcp__<server>__read_resource` — { uri }; reads one resource by URI.
13
+ *
14
+ * The `mcp__<server>__*` namespace (single-sourced from MCP_TOOL_NAME_PREFIX) makes these
15
+ * tools inherit the `allowedTools` glob opt-out and TUI-C20 server-grouping for free, and
16
+ * lets both agent backends consume them generically via the resolveTools array (zero
17
+ * agent-backend edits).
18
+ *
19
+ * Concrete-URI list/read only: resource TEMPLATES (parameterized URIs) are deferred.
20
+ */
21
+ import { DynamicStructuredTool } from '@langchain/core/tools';
22
+ import { z } from 'zod';
23
+ import { MCP_TOOL_NAME_PREFIX } from '@gaunt-sloth/core/constants.js';
24
+ import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
25
+ /**
26
+ * Format a single resource-content block for the model. Text is returned inline; a binary
27
+ * (base64) `blob` is SUMMARIZED — never dumped as raw base64 into the model context.
28
+ */
29
+ function formatResourceContent(content) {
30
+ if (typeof content.text === 'string') {
31
+ return content.text;
32
+ }
33
+ if (typeof content.blob === 'string') {
34
+ // Decode only to measure the real byte length; the raw base64 is intentionally discarded.
35
+ const size = Buffer.from(content.blob, 'base64').length;
36
+ const mimeType = content.mimeType ?? 'application/octet-stream';
37
+ return `[binary resource ${content.uri} — mimeType: ${mimeType}, size: ${size} bytes (base64 content omitted)]`;
38
+ }
39
+ return `[resource ${content.uri} returned no text or binary content]`;
40
+ }
41
+ /**
42
+ * Build the two resource tools for one server, bound to the live client + server name.
43
+ *
44
+ * @param mcpClientInstance - the live MultiServerMCPClient the tools call through (closed over)
45
+ * @param serverName - the connected server whose resources these tools expose
46
+ * @returns the `list_resources` + `read_resource` DynamicStructuredTools, namespaced
47
+ * `mcp__<serverName>__*`
48
+ */
49
+ export function createMcpResourceTools(mcpClientInstance, serverName) {
50
+ const namePrefix = `${MCP_TOOL_NAME_PREFIX}__${serverName}__`;
51
+ const listName = `${namePrefix}list_resources`;
52
+ const readName = `${namePrefix}read_resource`;
53
+ const listResourcesTool = new DynamicStructuredTool({
54
+ name: listName,
55
+ description: `List the resources exposed by the connected MCP server '${serverName}'. ` +
56
+ `Returns each resource's uri, name, and (when provided) description and mimeType. ` +
57
+ `Call this FIRST to discover available resource URIs, then use '${readName}' to read one.`,
58
+ schema: z.object({}),
59
+ func: async () => {
60
+ debugLog(`Tool ${listName} called`);
61
+ try {
62
+ const byServer = await mcpClientInstance.listResources(serverName);
63
+ const resources = byServer?.[serverName] ?? [];
64
+ if (resources.length === 0) {
65
+ return `The MCP server '${serverName}' exposes no resources.`;
66
+ }
67
+ const compact = resources.map((r) => ({
68
+ uri: r.uri,
69
+ name: r.name,
70
+ ...(r.description ? { description: r.description } : {}),
71
+ ...(r.mimeType ? { mimeType: r.mimeType } : {}),
72
+ }));
73
+ return JSON.stringify(compact, null, 2);
74
+ }
75
+ catch (error) {
76
+ return `Error listing resources from MCP server '${serverName}': ${error.message}`;
77
+ }
78
+ },
79
+ });
80
+ const readResourceTool = new DynamicStructuredTool({
81
+ name: readName,
82
+ description: `Read the content of a single resource from the MCP server '${serverName}' by its uri ` +
83
+ `(obtain uris from '${listName}'). Text resources are returned inline; binary (blob) ` +
84
+ `resources are summarized (uri, mimeType, size) rather than returned as raw data.`,
85
+ // `.min(1)` per the Gemini tool-schema rule (no JSON-Schema-draft keywords like .positive()).
86
+ schema: z.object({
87
+ uri: z.string().min(1).describe('The URI of the resource to read (from list_resources).'),
88
+ }),
89
+ func: async ({ uri }) => {
90
+ debugLog(`Tool ${readName} called with uri: ${uri}`);
91
+ try {
92
+ // readResource returns a FLAT MCPResourceContent[] (NOT { contents: [...] }).
93
+ const contents = await mcpClientInstance.readResource(serverName, uri);
94
+ if (!contents || contents.length === 0) {
95
+ return `The resource '${uri}' on MCP server '${serverName}' returned no content.`;
96
+ }
97
+ return contents.map(formatResourceContent).join('\n\n');
98
+ }
99
+ catch (error) {
100
+ return `Error reading resource '${uri}' from MCP server '${serverName}': ${error.message}`;
101
+ }
102
+ },
103
+ });
104
+ return [listResourcesTool, readResourceTool];
105
+ }
106
+ //# sourceMappingURL=McpResourceTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"McpResourceTool.js","sourceRoot":"","sources":["../../src/tools/McpResourceTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { GthConfig } from '@gaunt-sloth/core/config.js';
3
+ export declare const CHECKLIST_TOOL_NAME = "gth_checklist";
4
+ export type ChecklistStatus = 'pending' | 'in_progress' | 'completed';
5
+ export interface ChecklistItem {
6
+ content: string;
7
+ status: ChecklistStatus;
8
+ }
9
+ /** Render a checklist as a markdown observation the model (and a plain terminal) can read back. */
10
+ export declare function formatChecklist(items: ChecklistItem[]): string;
11
+ export declare function get(_config: GthConfig): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
12
+ items: z.ZodArray<z.ZodObject<{
13
+ content: z.ZodString;
14
+ status: z.ZodEnum<{
15
+ completed: "completed";
16
+ in_progress: "in_progress";
17
+ pending: "pending";
18
+ }>;
19
+ }, z.core.$strip>>;
20
+ }, z.core.$strip>, {
21
+ items: {
22
+ content: string;
23
+ status: "completed" | "in_progress" | "pending";
24
+ }[];
25
+ }, {
26
+ items: {
27
+ content: string;
28
+ status: "completed" | "in_progress" | "pending";
29
+ }[];
30
+ }, string, unknown, "gth_checklist">;
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @module gthChecklistTool
3
+ * The `gth_checklist` planning tool. Gives the model a durable, structured task list for
4
+ * multi-step work so it can plan, track progress, and stay oriented across a long run.
5
+ *
6
+ * Design (mirrors Claude Code's `TodoWrite` / opencode's todo tools): the model sends the WHOLE
7
+ * list every call and it REPLACES the previous one (no incremental add/remove verbs to keep in
8
+ * sync). State is a closure private to each `get()` result, i.e. one list per agent init / session,
9
+ * so concurrent sessions (e.g. the AG-UI server) never share a checklist. The tool returns a
10
+ * rendered markdown checklist as its observation; the TUI additionally folds it into a live
11
+ * checkbox panel (see {@link file://../../../app/src/tui/viewModel.ts} `CHECKLIST_TOOL_NAME`).
12
+ *
13
+ * The name is deliberately NOT `write_todos` (nor `task`/`read_file`/`write_file`/`edit_file`/`ls`):
14
+ * a graph builder registering built-ins of its own throws on a name collision, and every backend is
15
+ * handed the same resolved toolset.
16
+ */
17
+ import { tool } from '@langchain/core/tools';
18
+ import { z } from 'zod';
19
+ export const CHECKLIST_TOOL_NAME = 'gth_checklist';
20
+ const itemSchema = z.object({
21
+ content: z
22
+ .string()
23
+ .min(1)
24
+ .describe('Short, imperative description of the task, e.g. "Add tests"'),
25
+ status: z
26
+ .enum(['pending', 'in_progress', 'completed'])
27
+ .describe('pending = not started, in_progress = being worked on now, completed = finished'),
28
+ });
29
+ const schema = z.object({
30
+ items: z
31
+ .array(itemSchema)
32
+ .describe('The FULL checklist. This replaces any previous checklist entirely.'),
33
+ });
34
+ const description = [
35
+ 'Record and update a checklist (todo list) for the current task. Use it to plan multi-step',
36
+ 'work and to show the user your progress. Send the ENTIRE list every time — it replaces the',
37
+ 'previous checklist, so include already-completed items too.',
38
+ '',
39
+ 'When to use: any task with 3+ distinct steps, or when the user gives several requirements.',
40
+ 'Skip it for a single trivial step.',
41
+ '',
42
+ 'Rules:',
43
+ '- Keep at most ONE item "in_progress" at a time.',
44
+ '- Mark an item "completed" as soon as it is done — do not batch completions.',
45
+ '- Keep item text short and outcome-focused.',
46
+ ].join('\n');
47
+ const STATUS_GLYPH = {
48
+ completed: '[x]',
49
+ in_progress: '[~]',
50
+ pending: '[ ]',
51
+ };
52
+ /** Render a checklist as a markdown observation the model (and a plain terminal) can read back. */
53
+ export function formatChecklist(items) {
54
+ if (items.length === 0) {
55
+ return 'Checklist cleared (no items).';
56
+ }
57
+ const completed = items.filter((i) => i.status === 'completed').length;
58
+ const header = `Checklist (${completed}/${items.length} completed):`;
59
+ const lines = items.map((i) => `${STATUS_GLYPH[i.status]} ${i.content}`);
60
+ return [header, ...lines].join('\n');
61
+ }
62
+ export function get(_config) {
63
+ // Session-scoped state: one list per tool instance (== per agent init). Whole-list-replace
64
+ // semantics mean each call overwrites this; it is kept so the tool can render the current
65
+ // state back as its observation.
66
+ let items = [];
67
+ const impl = async ({ items: next }) => {
68
+ const inProgress = next.filter((i) => i.status === 'in_progress').length;
69
+ if (inProgress > 1) {
70
+ // Do NOT mutate state on a malformed update — return guidance so the model can retry.
71
+ return (`Rejected: ${inProgress} items are "in_progress" but only one may be in progress at a ` +
72
+ 'time. Set all but the current task to "pending" or "completed" and call gth_checklist ' +
73
+ 'again.');
74
+ }
75
+ items = next;
76
+ return formatChecklist(items);
77
+ };
78
+ return tool(impl, { name: CHECKLIST_TOOL_NAME, description, schema });
79
+ }
80
+ //# sourceMappingURL=gthChecklistTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gthChecklistTool.js","sourceRoot":"","sources":["../../src/tools/gthChecklistTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AASnD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;SAC7C,QAAQ,CAAC,gFAAgF,CAAC;CAC9F,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,UAAU,CAAC;SACjB,QAAQ,CAAC,oEAAoE,CAAC;CAClF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG;IAClB,2FAA2F;IAC3F,4FAA4F;IAC5F,6DAA6D;IAC7D,EAAE;IACF,4FAA4F;IAC5F,oCAAoC;IACpC,EAAE;IACF,QAAQ;IACR,kDAAkD;IAClD,8EAA8E;IAC9E,6CAA6C;CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,YAAY,GAAoC;IACpD,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,+BAA+B,CAAC;IACzC,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,MAAM,GAAG,cAAc,SAAS,IAAI,KAAK,CAAC,MAAM,cAAc,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,OAAkB;IACpC,2FAA2F;IAC3F,0FAA0F;IAC1F,iCAAiC;IACjC,IAAI,KAAK,GAAoB,EAAE,CAAC;IAEhC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAA0B,EAAmB,EAAE;QAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;QACzE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,sFAAsF;YACtF,OAAO,CACL,aAAa,UAAU,gEAAgE;gBACvF,wFAAwF;gBACxF,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,IAAI,CAAC;QACb,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ import { GthConfig } from '@gaunt-sloth/core/config.js';
3
+ export declare const GREP_TOOL_NAME = "gth_grep";
4
+ /**
5
+ * GS2-51 — which corpus `gth_grep` scans, applied consistently to BOTH engines:
6
+ * - `gitignore` (default): respect `.gitignore`/`.ignore` and skip hidden dot-files (rg's default);
7
+ * - `all`: scan everything but the {@link IGNORED_DIRS} noise set (rg gets `--no-ignore --hidden`).
8
+ */
9
+ export type GrepFileSet = 'gitignore' | 'all';
10
+ /**
11
+ * Resolve the effective {@link GrepFileSet} from config. Reads the `gth_grep` entry of the SAME
12
+ * `builtInTools` registry that {@link file://../builtInToolsConfig.ts} uses to decide enablement, so
13
+ * the corpus selection and the tool's presence resolve from one source. Defaults to `gitignore`
14
+ * (the coordinator-set default, and already rg's native default — so rg-present machines see no
15
+ * behaviour change; only the selection becomes explicit).
16
+ */
17
+ export declare function resolveGrepFileSet(config: GthConfig): GrepFileSet;
18
+ /** A single content match. `path` is relative to the search root; `line` is 1-based. */
19
+ export interface GrepMatch {
20
+ path: string;
21
+ line: number;
22
+ /** The matching line's text, untruncated (bounded at format time). */
23
+ text: string;
24
+ }
25
+ /**
26
+ * Render matches in the concise, opencode-style grouped form. Shared by BOTH execution paths so
27
+ * the rg and JS-fallback outputs are provably identical.
28
+ */
29
+ export declare function formatGrepOutput(matches: GrepMatch[]): string;
30
+ /**
31
+ * Compile an include glob (matched against a file's basename in the JS fallback) to a RegExp.
32
+ * Supports `*`, `?`, and `{a,b,c}` brace alternation, e.g. `*.ts`, `*.{ts,tsx}`.
33
+ *
34
+ * NOTE (rg-vs-JS divergence): this matches the basename only, whereas rg applies `--glob` with full
35
+ * gitignore-style path-glob semantics (a glob can match against the path, not just the basename).
36
+ * For the common `*.ext` case the two agree; more elaborate globs may differ between the two paths.
37
+ */
38
+ export declare function globToRegExp(glob: string): RegExp;
39
+ export declare function get(config: GthConfig): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
40
+ pattern: z.ZodString;
41
+ path: z.ZodOptional<z.ZodString>;
42
+ include: z.ZodOptional<z.ZodString>;
43
+ limit: z.ZodOptional<z.ZodNumber>;
44
+ }, z.core.$strip>, {
45
+ pattern: string;
46
+ path?: string | undefined;
47
+ include?: string | undefined;
48
+ limit?: number | undefined;
49
+ }, {
50
+ pattern: string;
51
+ path?: string | undefined;
52
+ include?: string | undefined;
53
+ limit?: number | undefined;
54
+ }, string, unknown, "gth_grep">;