gaunt-sloth 2.0.0-alpha.23 → 2.0.0-alpha.25

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 (261) hide show
  1. package/README.md +29 -14
  2. package/cli.js +5 -2
  3. package/dist/cli.js +22 -5
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/adkEvalRunner.js +1 -1
  6. package/dist/commands/adkEvalRunner.js.map +1 -1
  7. package/dist/commands/agUiEvalRunner.d.ts +20 -3
  8. package/dist/commands/agUiEvalRunner.js +136 -32
  9. package/dist/commands/agUiEvalRunner.js.map +1 -1
  10. package/dist/commands/apiCommand.js +1 -0
  11. package/dist/commands/apiCommand.js.map +1 -1
  12. package/dist/commands/askCommand.js +3 -3
  13. package/dist/commands/askCommand.js.map +1 -1
  14. package/dist/commands/batchCommand.js +15 -3
  15. package/dist/commands/batchCommand.js.map +1 -1
  16. package/dist/commands/chatCommand.js +4 -0
  17. package/dist/commands/chatCommand.js.map +1 -1
  18. package/dist/commands/codeCommand.js +4 -0
  19. package/dist/commands/codeCommand.js.map +1 -1
  20. package/dist/commands/commandUtils.d.ts +1 -0
  21. package/dist/commands/commandUtils.js +2 -1
  22. package/dist/commands/commandUtils.js.map +1 -1
  23. package/dist/commands/configCommand.d.ts +6 -2
  24. package/dist/commands/configCommand.js +63 -4
  25. package/dist/commands/configCommand.js.map +1 -1
  26. package/dist/commands/configSetup.d.ts +0 -1
  27. package/dist/commands/configSetup.js +6 -36
  28. package/dist/commands/configSetup.js.map +1 -1
  29. package/dist/commands/evalCommand.js +279 -26
  30. package/dist/commands/evalCommand.js.map +1 -1
  31. package/dist/commands/execCommand.js +6 -0
  32. package/dist/commands/execCommand.js.map +1 -1
  33. package/dist/commands/firstRunDialog.d.ts +4 -4
  34. package/dist/commands/firstRunDialog.js +6 -6
  35. package/dist/commands/firstRunDialog.js.map +1 -1
  36. package/dist/commands/getCommand.js +1 -0
  37. package/dist/commands/getCommand.js.map +1 -1
  38. package/dist/commands/historyCommand.js +6 -1
  39. package/dist/commands/historyCommand.js.map +1 -1
  40. package/dist/commands/initCommand.js +4 -0
  41. package/dist/commands/initCommand.js.map +1 -1
  42. package/dist/commands/insightsCommand.js +1 -0
  43. package/dist/commands/insightsCommand.js.map +1 -1
  44. package/dist/commands/modelsCommand.js +5 -0
  45. package/dist/commands/modelsCommand.js.map +1 -1
  46. package/dist/commands/prCommand.js +10 -3
  47. package/dist/commands/prCommand.js.map +1 -1
  48. package/dist/commands/reviewCommand.js +20 -9
  49. package/dist/commands/reviewCommand.js.map +1 -1
  50. package/dist/commands/workflowCommand.js +4 -0
  51. package/dist/commands/workflowCommand.js.map +1 -1
  52. package/dist/tui/colour.d.ts +49 -0
  53. package/dist/tui/colour.js +58 -0
  54. package/dist/tui/colour.js.map +1 -0
  55. package/dist/tui/components/App.js +181 -58
  56. package/dist/tui/components/App.js.map +1 -1
  57. package/dist/tui/components/ApprovalPrompt.d.ts +10 -4
  58. package/dist/tui/components/ApprovalPrompt.js +39 -8
  59. package/dist/tui/components/ApprovalPrompt.js.map +1 -1
  60. package/dist/tui/components/LaunchBanner.d.ts +33 -0
  61. package/dist/tui/components/LaunchBanner.js +67 -0
  62. package/dist/tui/components/LaunchBanner.js.map +1 -0
  63. package/dist/tui/components/PromptInput.d.ts +1 -1
  64. package/dist/tui/components/PromptInput.js +1 -1
  65. package/dist/tui/components/PromptInput.js.map +1 -1
  66. package/dist/tui/components/SlashCommandMenu.d.ts +1 -1
  67. package/dist/tui/components/StatusBar.d.ts +17 -5
  68. package/dist/tui/components/StatusBar.js +15 -7
  69. package/dist/tui/components/StatusBar.js.map +1 -1
  70. package/dist/tui/hitRegions.d.ts +107 -0
  71. package/dist/tui/hitRegions.js +138 -0
  72. package/dist/tui/hitRegions.js.map +1 -0
  73. package/dist/tui/mouseParser.d.ts +75 -0
  74. package/dist/tui/mouseParser.js +108 -0
  75. package/dist/tui/mouseParser.js.map +1 -0
  76. package/dist/tui/mouseReporting.d.ts +48 -0
  77. package/dist/tui/mouseReporting.js +70 -0
  78. package/dist/tui/mouseReporting.js.map +1 -0
  79. package/dist/tui/mouseStdin.d.ts +52 -0
  80. package/dist/tui/mouseStdin.js +124 -0
  81. package/dist/tui/mouseStdin.js.map +1 -0
  82. package/dist/tui/tuiSessionModule.js +152 -14
  83. package/dist/tui/tuiSessionModule.js.map +1 -1
  84. package/dist/tui/types.d.ts +83 -11
  85. package/dist/tui/useMouse.d.ts +62 -0
  86. package/dist/tui/useMouse.js +115 -0
  87. package/dist/tui/useMouse.js.map +1 -0
  88. package/dist/tui/useSlothAnimation.d.ts +29 -0
  89. package/dist/tui/useSlothAnimation.js +65 -0
  90. package/dist/tui/useSlothAnimation.js.map +1 -0
  91. package/dist/tui/viewModel.js +8 -8
  92. package/dist/tui/viewModel.js.map +1 -1
  93. package/package.json +11 -13
  94. package/dist/builtInToolsConfig.d.ts +0 -1
  95. package/dist/builtInToolsConfig.js +0 -2
  96. package/dist/builtInToolsConfig.js.map +0 -1
  97. package/dist/config.d.ts +0 -1
  98. package/dist/config.js +0 -2
  99. package/dist/config.js.map +0 -1
  100. package/dist/constants.d.ts +0 -1
  101. package/dist/constants.js +0 -2
  102. package/dist/constants.js.map +0 -1
  103. package/dist/core/GthAgentRunner.d.ts +0 -1
  104. package/dist/core/GthAgentRunner.js +0 -2
  105. package/dist/core/GthAgentRunner.js.map +0 -1
  106. package/dist/core/GthLangChainAgent.d.ts +0 -1
  107. package/dist/core/GthLangChainAgent.js +0 -2
  108. package/dist/core/GthLangChainAgent.js.map +0 -1
  109. package/dist/core/types.d.ts +0 -1
  110. package/dist/core/types.js +0 -2
  111. package/dist/core/types.js.map +0 -1
  112. package/dist/helpers/jira/jiraClient.d.ts +0 -1
  113. package/dist/helpers/jira/jiraClient.js +0 -2
  114. package/dist/helpers/jira/jiraClient.js.map +0 -1
  115. package/dist/mcp/OAuthClientProviderImpl.d.ts +0 -1
  116. package/dist/mcp/OAuthClientProviderImpl.js +0 -2
  117. package/dist/mcp/OAuthClientProviderImpl.js.map +0 -1
  118. package/dist/middleware/binaryContentInjectionMiddleware.d.ts +0 -1
  119. package/dist/middleware/binaryContentInjectionMiddleware.js +0 -2
  120. package/dist/middleware/binaryContentInjectionMiddleware.js.map +0 -1
  121. package/dist/middleware/registry.d.ts +0 -1
  122. package/dist/middleware/registry.js +0 -2
  123. package/dist/middleware/registry.js.map +0 -1
  124. package/dist/middleware/reviewRateMiddleware.d.ts +0 -1
  125. package/dist/middleware/reviewRateMiddleware.js +0 -2
  126. package/dist/middleware/reviewRateMiddleware.js.map +0 -1
  127. package/dist/middleware/types.d.ts +0 -1
  128. package/dist/middleware/types.js +0 -2
  129. package/dist/middleware/types.js.map +0 -1
  130. package/dist/modules/a2a/A2AClientWrapper.d.ts +0 -1
  131. package/dist/modules/a2a/A2AClientWrapper.js +0 -2
  132. package/dist/modules/a2a/A2AClientWrapper.js.map +0 -1
  133. package/dist/modules/apiAgUiModule.d.ts +0 -1
  134. package/dist/modules/apiAgUiModule.js +0 -2
  135. package/dist/modules/apiAgUiModule.js.map +0 -1
  136. package/dist/modules/interactiveSessionModule.d.ts +0 -1
  137. package/dist/modules/interactiveSessionModule.js +0 -2
  138. package/dist/modules/interactiveSessionModule.js.map +0 -1
  139. package/dist/modules/reviewModule.d.ts +0 -1
  140. package/dist/modules/reviewModule.js +0 -2
  141. package/dist/modules/reviewModule.js.map +0 -1
  142. package/dist/modules/types.d.ts +0 -1
  143. package/dist/modules/types.js +0 -2
  144. package/dist/modules/types.js.map +0 -1
  145. package/dist/presets/anthropic.d.ts +0 -1
  146. package/dist/presets/anthropic.js +0 -2
  147. package/dist/presets/anthropic.js.map +0 -1
  148. package/dist/presets/deepseek.d.ts +0 -1
  149. package/dist/presets/deepseek.js +0 -2
  150. package/dist/presets/deepseek.js.map +0 -1
  151. package/dist/presets/fake.d.ts +0 -1
  152. package/dist/presets/fake.js +0 -2
  153. package/dist/presets/fake.js.map +0 -1
  154. package/dist/presets/google-genai.d.ts +0 -1
  155. package/dist/presets/google-genai.js +0 -2
  156. package/dist/presets/google-genai.js.map +0 -1
  157. package/dist/presets/groq.d.ts +0 -1
  158. package/dist/presets/groq.js +0 -2
  159. package/dist/presets/groq.js.map +0 -1
  160. package/dist/presets/openai.d.ts +0 -1
  161. package/dist/presets/openai.js +0 -2
  162. package/dist/presets/openai.js.map +0 -1
  163. package/dist/presets/openrouter.d.ts +0 -1
  164. package/dist/presets/openrouter.js +0 -2
  165. package/dist/presets/openrouter.js.map +0 -1
  166. package/dist/presets/vertexai.d.ts +0 -1
  167. package/dist/presets/vertexai.js +0 -2
  168. package/dist/presets/vertexai.js.map +0 -1
  169. package/dist/presets/xai.d.ts +0 -1
  170. package/dist/presets/xai.js +0 -2
  171. package/dist/presets/xai.js.map +0 -1
  172. package/dist/providers/file.d.ts +0 -1
  173. package/dist/providers/file.js +0 -2
  174. package/dist/providers/file.js.map +0 -1
  175. package/dist/providers/ghIssueProvider.d.ts +0 -1
  176. package/dist/providers/ghIssueProvider.js +0 -2
  177. package/dist/providers/ghIssueProvider.js.map +0 -1
  178. package/dist/providers/ghPrDiffProvider.d.ts +0 -1
  179. package/dist/providers/ghPrDiffProvider.js +0 -2
  180. package/dist/providers/ghPrDiffProvider.js.map +0 -1
  181. package/dist/providers/jiraIssueLegacyProvider.d.ts +0 -1
  182. package/dist/providers/jiraIssueLegacyProvider.js +0 -2
  183. package/dist/providers/jiraIssueLegacyProvider.js.map +0 -1
  184. package/dist/providers/jiraIssueProvider.d.ts +0 -1
  185. package/dist/providers/jiraIssueProvider.js +0 -2
  186. package/dist/providers/jiraIssueProvider.js.map +0 -1
  187. package/dist/providers/text.d.ts +0 -1
  188. package/dist/providers/text.js +0 -2
  189. package/dist/providers/text.js.map +0 -1
  190. package/dist/providers/types.d.ts +0 -1
  191. package/dist/providers/types.js +0 -2
  192. package/dist/providers/types.js.map +0 -1
  193. package/dist/state/artifactStore.d.ts +0 -1
  194. package/dist/state/artifactStore.js +0 -2
  195. package/dist/state/artifactStore.js.map +0 -1
  196. package/dist/tools/A2AAgentTool.d.ts +0 -1
  197. package/dist/tools/A2AAgentTool.js +0 -2
  198. package/dist/tools/A2AAgentTool.js.map +0 -1
  199. package/dist/tools/GthCustomToolkit.d.ts +0 -1
  200. package/dist/tools/GthCustomToolkit.js +0 -2
  201. package/dist/tools/GthCustomToolkit.js.map +0 -1
  202. package/dist/tools/GthDevToolkit.d.ts +0 -1
  203. package/dist/tools/GthDevToolkit.js +0 -2
  204. package/dist/tools/GthDevToolkit.js.map +0 -1
  205. package/dist/tools/GthFileSystemToolkit.d.ts +0 -1
  206. package/dist/tools/GthFileSystemToolkit.js +0 -2
  207. package/dist/tools/GthFileSystemToolkit.js.map +0 -1
  208. package/dist/tools/binaryUtils.d.ts +0 -1
  209. package/dist/tools/binaryUtils.js +0 -2
  210. package/dist/tools/binaryUtils.js.map +0 -1
  211. package/dist/tools/gthJiraLogWorkTool.d.ts +0 -3
  212. package/dist/tools/gthJiraLogWorkTool.js +0 -37
  213. package/dist/tools/gthJiraLogWorkTool.js.map +0 -1
  214. package/dist/tools/gthStatusUpdateTool.d.ts +0 -1
  215. package/dist/tools/gthStatusUpdateTool.js +0 -2
  216. package/dist/tools/gthStatusUpdateTool.js.map +0 -1
  217. package/dist/tools/gthWebFetchTool.d.ts +0 -1
  218. package/dist/tools/gthWebFetchTool.js +0 -2
  219. package/dist/tools/gthWebFetchTool.js.map +0 -1
  220. package/dist/tools/showA2UISurfaceTool.d.ts +0 -1
  221. package/dist/tools/showA2UISurfaceTool.js +0 -2
  222. package/dist/tools/showA2UISurfaceTool.js.map +0 -1
  223. package/dist/tui/slashCommands.d.ts +0 -317
  224. package/dist/tui/slashCommands.js +0 -569
  225. package/dist/tui/slashCommands.js.map +0 -1
  226. package/dist/utils/ProgressIndicator.d.ts +0 -1
  227. package/dist/utils/ProgressIndicator.js +0 -2
  228. package/dist/utils/ProgressIndicator.js.map +0 -1
  229. package/dist/utils/aiignoreUtils.d.ts +0 -1
  230. package/dist/utils/aiignoreUtils.js +0 -2
  231. package/dist/utils/aiignoreUtils.js.map +0 -1
  232. package/dist/utils/binaryOutputUtils.d.ts +0 -1
  233. package/dist/utils/binaryOutputUtils.js +0 -2
  234. package/dist/utils/binaryOutputUtils.js.map +0 -1
  235. package/dist/utils/consoleUtils.d.ts +0 -1
  236. package/dist/utils/consoleUtils.js +0 -2
  237. package/dist/utils/consoleUtils.js.map +0 -1
  238. package/dist/utils/debugUtils.d.ts +0 -1
  239. package/dist/utils/debugUtils.js +0 -2
  240. package/dist/utils/debugUtils.js.map +0 -1
  241. package/dist/utils/fileUtils.d.ts +0 -1
  242. package/dist/utils/fileUtils.js +0 -2
  243. package/dist/utils/fileUtils.js.map +0 -1
  244. package/dist/utils/globalConfigUtils.d.ts +0 -1
  245. package/dist/utils/globalConfigUtils.js +0 -2
  246. package/dist/utils/globalConfigUtils.js.map +0 -1
  247. package/dist/utils/llmUtils.d.ts +0 -1
  248. package/dist/utils/llmUtils.js +0 -2
  249. package/dist/utils/llmUtils.js.map +0 -1
  250. package/dist/utils/mcpUtils.d.ts +0 -1
  251. package/dist/utils/mcpUtils.js +0 -2
  252. package/dist/utils/mcpUtils.js.map +0 -1
  253. package/dist/utils/stringUtils.d.ts +0 -1
  254. package/dist/utils/stringUtils.js +0 -2
  255. package/dist/utils/stringUtils.js.map +0 -1
  256. package/dist/utils/systemUtils.d.ts +0 -1
  257. package/dist/utils/systemUtils.js +0 -2
  258. package/dist/utils/systemUtils.js.map +0 -1
  259. package/dist/utils/vertexaiUtils.d.ts +0 -1
  260. package/dist/utils/vertexaiUtils.js +0 -2
  261. package/dist/utils/vertexaiUtils.js.map +0 -1
package/README.md CHANGED
@@ -1,37 +1,52 @@
1
1
  # gaunt-sloth
2
2
 
3
- The main CLI application for Gaunt Sloth.
3
+ The main CLI application for Gaunt Sloth — the fat package that turns the `@gaunt-sloth/*`
4
+ libraries into the `gth` command.
4
5
 
5
6
  ## Contents
6
7
 
7
- - CLI entry point and commander-based command registration
8
- - Commands: `ask`, `review`, `pr`, `chat`, `code`, `init`, `get`, `api`
9
- - Command utilities and config setup
8
+ - CLI entry point, commander-based command registration, and the Ink TUI
9
+ - Commands: `ask`, `review`, `pr`, `chat`, `code`, `exec`, `init`, `config`, `get`, `api`,
10
+ `batch`, `eval`, `workflow`, `history`, `insights`, `models` — see
11
+ [docs/COMMANDS.md](https://github.com/pukeko-robotics/gaunt-sloth/blob/main/docs/COMMANDS.md)
10
12
  - Vendor package wiring (all LangChain provider packages)
11
- - Integration tests
12
13
 
13
14
  ## CLI Binaries
14
15
 
15
- The package registers four equivalent binary aliases:
16
+ The package registers three equivalent binary aliases:
16
17
 
17
- - `gaunt-sloth` (primary)
18
- - `gth`
19
- - `gsloth`
20
- - `gaunt-sloth-assistant` (back-compat alias for the former package name)
18
+ - `gth` (primary)
19
+ - `gsloth` (long-form alias)
20
+ - `gaunt-sloth` (package-name alias)
21
21
 
22
22
  ## Dependencies
23
23
 
24
24
  - `@gaunt-sloth/core`
25
25
  - `@gaunt-sloth/agent`
26
26
  - `@gaunt-sloth/review`
27
+ - `@gaunt-sloth/batch`
28
+ - `@gaunt-sloth/eval-reporter-junit`
27
29
  - `commander`
28
- - All LangChain vendor packages (anthropic, google-genai, groq, openai, vertexai, xai, etc.)
30
+ - All LangChain vendor packages (anthropic, google, groq, openai, xai, etc.)
29
31
 
30
32
  This is the only package in the workspace that pulls in AI vendor dependencies directly. All other packages treat vendors as optional peers.
31
33
 
32
- ## Re-exports
34
+ ## Not a library
33
35
 
34
- `gaunt-sloth` re-exports public APIs from the sub-packages for convenience, so common imports are available from a single entry point.
36
+ This package deliberately exports **no importable modules** — its `exports` map exposes only
37
+ `./package.json`. It is the CLI product: install it globally and run `gth`. To embed Gaunt Sloth
38
+ functionality in your own code, depend on the scoped packages instead — they are the supported
39
+ embeddable surface:
40
+
41
+ - [`@gaunt-sloth/core`](https://www.npmjs.com/package/@gaunt-sloth/core) — config resolution and
42
+ the provider factory
43
+ - [`@gaunt-sloth/agent`](https://www.npmjs.com/package/@gaunt-sloth/agent) — the agent runtime,
44
+ tools, and the AG-UI/ACP servers
45
+ - [`@gaunt-sloth/review`](https://www.npmjs.com/package/@gaunt-sloth/review) — programmatic code
46
+ review (see its README for a worked embed example)
47
+
48
+ (Until 2.0 the app exposed a `./*` deep-path wildcard over a tree of re-export shims; the shims
49
+ are gone and the wildcard with them.)
35
50
 
36
51
  ## Installation
37
52
 
@@ -94,6 +109,6 @@ the same `command` + `args` pair.
94
109
 
95
110
  - [`@gaunt-sloth/core`](https://www.npmjs.com/package/@gaunt-sloth/core) — Core utilities, config, and agent infrastructure ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/core))
96
111
  - [`@gaunt-sloth/agent`](https://www.npmjs.com/package/@gaunt-sloth/agent) — Agent runtime, built-in tools, API/AG-UI/ACP server ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/agent))
97
- - [`@gaunt-sloth/review`](https://www.npmjs.com/package/@gaunt-sloth/review) — Review and Q&A modules with standalone CLI ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/review))
112
+ - [`@gaunt-sloth/review`](https://www.npmjs.com/package/@gaunt-sloth/review) — Review engine with content/requirement sources (GitHub, Jira, file, text) and standalone CLI ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/review))
98
113
  - [`@gaunt-sloth/batch`](https://www.npmjs.com/package/@gaunt-sloth/batch) — Batch / eval / workflow runtime ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/batch))
99
114
  - [`gaunt-sloth`](https://www.npmjs.com/package/gaunt-sloth) — Main CLI application (this package) ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/app))
package/cli.js CHANGED
@@ -42,8 +42,11 @@ if (process.argv.includes('--acp-agent')) {
42
42
  }
43
43
  } else {
44
44
  // This is a minimalistic entry point that sets the installDir in systemUtils
45
- // and delegates to the compiled TypeScript code in dist/cli.js
46
- const { setEntryPoint } = await import('./dist/utils/systemUtils.js');
45
+ // and delegates to the compiled TypeScript code in dist/cli.js.
46
+ // systemUtils lives in @gaunt-sloth/core (the app-side re-export shim died in
47
+ // GS2-2 B4); importing it from core directly binds the same module instance
48
+ // the rest of the app reads, so setEntryPoint state is shared as before.
49
+ const { setEntryPoint } = await import('@gaunt-sloth/core/utils/systemUtils.js');
47
50
 
48
51
  // Set the installation directory in systemUtils
49
52
  setEntryPoint(import.meta.url);
package/dist/cli.js CHANGED
@@ -15,12 +15,17 @@ import { configCommand } from '#src/commands/configCommand.js';
15
15
  import { historyCommand } from '#src/commands/historyCommand.js';
16
16
  import { insightsCommand } from '#src/commands/insightsCommand.js';
17
17
  import { modelsCommand } from '#src/commands/modelsCommand.js';
18
- import { argv, getSlothVersion, readStdin } from '@gaunt-sloth/core/utils/systemUtils.js';
18
+ import { argv, exit, getSlothVersion, readStdin } from '@gaunt-sloth/core/utils/systemUtils.js';
19
19
  import { commandSkipsStdin, resolveInvokedCommandName } from '#src/utils/stdinPolicy.js';
20
- import { coerceBooleanOrString } from '@gaunt-sloth/core/utils/consoleUtils.js';
20
+ import { coerceBooleanOrString, displayError } from '@gaunt-sloth/core/utils/consoleUtils.js';
21
+ import { installCrashHandler } from '@gaunt-sloth/core/utils/crashHandler.js';
22
+ // GS2-48 — install the process-level crash handler as early as possible, so an uncaughtException /
23
+ // unhandledRejection anywhere in the run writes a redacted debug snapshot to ~/.gsloth/debug-dumps/
24
+ // before the process dies. Idempotent and inert on a normal exit.
25
+ installCrashHandler();
21
26
  const program = new Command();
22
27
  program
23
- .name('gsloth')
28
+ .name('gth')
24
29
  .description('Gaunt Sloth reviewing your PRs')
25
30
  .version(getSlothVersion())
26
31
  .option('--verbose', 'Set LangChain/LangGraph to verbose mode, ' +
@@ -28,6 +33,8 @@ program
28
33
  'Consider using debugLog from config.ts for less intrusive debug logging.')
29
34
  .option('-c, --config <path>', 'Path to custom configuration file')
30
35
  .option('-i, --identity-profile <identity>', 'Identity profile (separate config and prompts)')
36
+ .option('--profile <name>', 'Named config profile to run under (alias of --identity-profile; ' +
37
+ 'create one with `gth config profile create <name>`)')
31
38
  .option('-w, --write-output-to-file <value>', 'Write output to file. Accepts true/false or a filename. Shortcuts: -wn or -w0 for false.')
32
39
  .option('--tui', 'Force the interactive Ink TUI for chat/code sessions (overrides CI auto-off)')
33
40
  .option('--no-tui', 'Force the plain readline session for chat/code (disable the TUI)')
@@ -48,8 +55,18 @@ if (program.getOptionValue('config')) {
48
55
  // Set a custom config path
49
56
  cliConfigOverrides.customConfigPath = program.getOptionValue('config');
50
57
  }
51
- if (program.getOptionValue('identityProfile')) {
52
- cliConfigOverrides.identityProfile = program.getOptionValue('identityProfile');
58
+ // `--profile` (GS2-33) is the friendly alias of `-i/--identity-profile`: both select a named profile
59
+ // block (`.gsloth/.gsloth-settings/<name>/`). If BOTH are given and disagree, that is a mistake worth
60
+ // surfacing rather than silently picking one; identical values are harmless.
61
+ const identityProfileOpt = program.getOptionValue('identityProfile');
62
+ const profileOpt = program.getOptionValue('profile');
63
+ if (identityProfileOpt && profileOpt && identityProfileOpt !== profileOpt) {
64
+ displayError(`Conflicting profiles: --identity-profile "${identityProfileOpt}" and --profile "${profileOpt}". ` +
65
+ 'Pass only one (they are aliases).');
66
+ exit(1);
67
+ }
68
+ if (profileOpt ?? identityProfileOpt) {
69
+ cliConfigOverrides.identityProfile = profileOpt ?? identityProfileOpt;
53
70
  }
54
71
  // Tri-state TUI flag: leave `tui` undefined (auto-detect) unless the user explicitly passed
55
72
  // `--tui` or `--no-tui`. Commander's `--no-tui` defaults the value to `true`, so we key off
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { A2AClientWrapper } from '#src/modules/a2a/A2AClientWrapper.js';
1
+ import { A2AClientWrapper } from '@gaunt-sloth/agent/modules/a2a/A2AClientWrapper.js';
2
2
  /** Production factory: a real {@link A2AClientWrapper} over the target's A2A endpoint, adapted to the
3
3
  * narrow {@link AdkA2AClient} shape via its context-threading {@link A2AClientWrapper.sendMessageWithContext}. */
4
4
  export const defaultAdkClientFactory = (target) => {
@@ -1 +1 @@
1
- {"version":3,"file":"adkEvalRunner.js","sourceRoot":"","sources":["../../src/commands/adkEvalRunner.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AA0BxE;kHACkH;AAClH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,CAAC,MAAM,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,WAAW;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG;KACrB,CAAC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC;KAC9E,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,YAAY,GAAqB,uBAAuB;IAExD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAsB,EACtB,YAAY,GAAqB,uBAAuB;IAExD,OAAO,KAAK,EAAE,YAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,IAAI,SAA6B,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC1F,yFAAyF;gBACzF,IAAI,QAAQ,CAAC,SAAS;oBAAE,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,uFAAuF;gBACvF,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"adkEvalRunner.js","sourceRoot":"","sources":["../../src/commands/adkEvalRunner.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AA0BtF;kHACkH;AAClH,MAAM,CAAC,MAAM,uBAAuB,GAAqB,CAAC,MAAM,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,WAAW;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG;KACrB,CAAC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC;KAC9E,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,YAAY,GAAqB,uBAAuB;IAExD,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAsB,EACtB,YAAY,GAAqB,uBAAuB;IAExD,OAAO,KAAK,EAAE,YAAY,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,IAAI,SAA6B,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC1F,yFAAyF;gBACzF,IAAI,QAAQ,CAAC,SAAS;oBAAE,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,uFAAuF;gBACvF,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
@@ -35,16 +35,33 @@ export type AgUiClientFactory = (target: AgUiAgentTarget) => AgUiClient;
35
35
  /** The `fetch` seam — global `fetch` in production, a fake in tests (so the real POST-body
36
36
  * construction + SSE decode are exercised with no network). */
37
37
  export type FetchLike = typeof fetch;
38
+ /**
39
+ * Default deadline for one AG-UI run (fetch + full SSE decode). The runner has no configured
40
+ * timeout, so this bounds a server that hangs at EITHER phase — one that accepts the POST but never
41
+ * sends response headers (the `fetch` await never returns) OR one that opens the stream but never
42
+ * emits `RUN_FINISHED`: past it the case FAILS with a clear error instead of wedging the process.
43
+ * Injectable per-client for tests.
44
+ */
45
+ export declare const AG_UI_RUN_TIMEOUT_MS = 120000;
38
46
  /**
39
47
  * Create a real {@link AgUiClient} that drives the target's AG-UI run endpoint over HTTP/SSE. Each
40
48
  * `run` POSTs a `RunAgentInput` to `{url}/agents/{agentId}/run` and decodes the SSE response via
41
- * {@link decodeAgUiStream}. A non-2xx response, an absent body, a `RUN_ERROR` event, or a truncated
42
- * stream all throw — the runner builders contain that into a failed cell (`ok:false`).
49
+ * {@link decodeAgUiStream}. A non-2xx response, an absent body, a `RUN_ERROR` event, a truncated
50
+ * stream, or a run that exceeds `timeoutMs` all throw — the runner builders contain that into a
51
+ * failed cell (`ok:false`).
52
+ *
53
+ * The WHOLE run is bounded by `timeoutMs` (default {@link AG_UI_RUN_TIMEOUT_MS}) via a single
54
+ * deadline armed BEFORE the fetch. BOTH phases are raced against it: the `fetch` await (so a server
55
+ * that accepts the POST but never sends response headers is bounded too) AND the SSE decode (so a
56
+ * body that opens but never ends still fails the case rather than hanging). Racing — not the abort
57
+ * signal — is the load-bearing mechanism, since a transport may ignore the abort; on timeout the
58
+ * `AbortController` is fired anyway to free a real socket. On a non-200 the unread body is cancelled
59
+ * first so its socket is released.
43
60
  *
44
61
  * `fetchImpl` defaults to global `fetch`; tests pass a fake returning a synthetic SSE `Response` so
45
62
  * the body construction + decode are exercised without a network or a live server.
46
63
  */
47
- export declare function createAgUiClient(target: AgUiAgentTarget, fetchImpl?: FetchLike): AgUiClient;
64
+ export declare function createAgUiClient(target: AgUiAgentTarget, fetchImpl?: FetchLike, timeoutMs?: number): AgUiClient;
48
65
  /** Production factory: a real HTTP/SSE {@link AgUiClient} over the target's AG-UI endpoint. */
49
66
  export declare const defaultAgUiClientFactory: AgUiClientFactory;
50
67
  /**
@@ -32,13 +32,20 @@ import { randomUUID } from 'node:crypto';
32
32
  import { EventType } from '@ag-ui/core';
33
33
  /**
34
34
  * Decode an AG-UI SSE stream into an {@link AgUiRunResult}. The reference encoder frames each event
35
- * as `data: <json>\n\n` (`@ag-ui/encoder`), so we split on the blank-line delimiter, JSON-parse each
36
- * frame's `data:` payload, and fold the relevant event types:
37
- * - `TEXT_MESSAGE_CONTENT` → append `delta` to the answer.
35
+ * as `data: <json>\n\n` (`@ag-ui/encoder`), but a non-reference server may delimit frames with a
36
+ * lone `\n` — so we split on ANY newline boundary (a blank line from a `\n\n` separator just yields
37
+ * an empty payload that is ignored, so both framings decode identically). Each frame's `data:`
38
+ * payload is JSON-parsed and the relevant event types folded:
39
+ * - `TEXT_MESSAGE_CONTENT` → append `delta` to the CURRENT assistant message (keyed by `messageId`).
38
40
  * - `TOOL_CALL_START` → capture `toolCallName` into `tools`.
39
41
  * - `RUN_ERROR` → remember the message; the run FAILED.
40
42
  * - `RUN_FINISHED` → the terminal success signal.
41
43
  *
44
+ * A run may emit MORE THAN ONE assistant message (each a distinct `messageId`). Their texts are kept
45
+ * as separate parts and joined with a newline, so two messages read as `a\nb` rather than a
46
+ * run-together `ab`; a single message (all deltas sharing one `messageId`, or none set) stays a
47
+ * single part with no spurious delimiter.
48
+ *
42
49
  * Throws on `RUN_ERROR` OR on a stream that ends without a terminal `RUN_FINISHED` (a truncated /
43
50
  * malformed stream is a failed run, not an "empty answer" success). Non-JSON frames (SSE comments /
44
51
  * keep-alives) are ignored. The throw is contained by the runner builders below into `ok:false`.
@@ -46,7 +53,11 @@ import { EventType } from '@ag-ui/core';
46
53
  async function decodeAgUiStream(body) {
47
54
  const decoder = new TextDecoder();
48
55
  let buffer = '';
49
- let answer = '';
56
+ // One text part per distinct assistant message (by `messageId`); joined with `\n` at the end so
57
+ // multiple assistant messages are delimited rather than butt-joined.
58
+ const answerParts = [];
59
+ let currentMessageId;
60
+ let startedAnswer = false;
50
61
  const tools = [];
51
62
  let runError;
52
63
  let sawRunFinished = false;
@@ -68,8 +79,17 @@ async function decodeAgUiStream(body) {
68
79
  }
69
80
  switch (event.type) {
70
81
  case EventType.TEXT_MESSAGE_CONTENT:
71
- if (typeof event.delta === 'string')
72
- answer += event.delta;
82
+ if (typeof event.delta === 'string') {
83
+ const messageId = typeof event.messageId === 'string' ? event.messageId : undefined;
84
+ // A new `messageId` (once we already have text) starts a distinct assistant message —
85
+ // open a fresh part so the final `join('\n')` delimits it from the previous one.
86
+ if (!startedAnswer || messageId !== currentMessageId) {
87
+ answerParts.push('');
88
+ currentMessageId = messageId;
89
+ startedAnswer = true;
90
+ }
91
+ answerParts[answerParts.length - 1] += event.delta;
92
+ }
73
93
  break;
74
94
  case EventType.TOOL_CALL_START:
75
95
  if (typeof event.toolCallName === 'string')
@@ -83,15 +103,26 @@ async function decodeAgUiStream(body) {
83
103
  break;
84
104
  }
85
105
  };
106
+ // Fold every COMPLETE line out of the buffer (a line ends at the next `\n`), tolerating both
107
+ // `\n\n` and lone-`\n` frame boundaries; the trailing partial line stays buffered for the next
108
+ // chunk. Reference-encoder JSON payloads contain no raw newline (they are escaped), so splitting
109
+ // on every `\n` never bisects a payload.
110
+ const flushCompleteLines = () => {
111
+ let nl;
112
+ while ((nl = buffer.indexOf('\n')) !== -1) {
113
+ let line = buffer.slice(0, nl);
114
+ buffer = buffer.slice(nl + 1);
115
+ if (line.endsWith('\r'))
116
+ line = line.slice(0, -1);
117
+ handleFrame(line);
118
+ }
119
+ };
86
120
  for await (const chunk of body) {
87
121
  buffer += decoder.decode(chunk, { stream: true });
88
- let sep;
89
- while ((sep = buffer.indexOf('\n\n')) !== -1) {
90
- handleFrame(buffer.slice(0, sep));
91
- buffer = buffer.slice(sep + 2);
92
- }
122
+ flushCompleteLines();
93
123
  }
94
124
  buffer += decoder.decode();
125
+ flushCompleteLines();
95
126
  if (buffer.trim().length > 0)
96
127
  handleFrame(buffer);
97
128
  if (runError !== undefined) {
@@ -100,42 +131,115 @@ async function decodeAgUiStream(body) {
100
131
  if (!sawRunFinished) {
101
132
  throw new Error('AG-UI stream ended without a terminal RUN_FINISHED event (truncated or malformed stream).');
102
133
  }
103
- return { answer, tools };
134
+ return { answer: answerParts.join('\n'), tools };
135
+ }
136
+ /**
137
+ * Default deadline for one AG-UI run (fetch + full SSE decode). The runner has no configured
138
+ * timeout, so this bounds a server that hangs at EITHER phase — one that accepts the POST but never
139
+ * sends response headers (the `fetch` await never returns) OR one that opens the stream but never
140
+ * emits `RUN_FINISHED`: past it the case FAILS with a clear error instead of wedging the process.
141
+ * Injectable per-client for tests.
142
+ */
143
+ export const AG_UI_RUN_TIMEOUT_MS = 120_000;
144
+ /** Cancel a response body so its socket is released. Used on the paths where we do NOT read the body
145
+ * (a non-200), where leaving it undrained would leak the connection. Guards `cancel` presence (a
146
+ * synthetic test body may omit it) and swallows errors (an already-closed/errored stream has nothing
147
+ * to release). */
148
+ async function releaseBody(body) {
149
+ if (body && typeof body.cancel === 'function') {
150
+ try {
151
+ await body.cancel();
152
+ }
153
+ catch {
154
+ // Already closed / errored — nothing to release.
155
+ }
156
+ }
104
157
  }
105
158
  /**
106
159
  * Create a real {@link AgUiClient} that drives the target's AG-UI run endpoint over HTTP/SSE. Each
107
160
  * `run` POSTs a `RunAgentInput` to `{url}/agents/{agentId}/run` and decodes the SSE response via
108
- * {@link decodeAgUiStream}. A non-2xx response, an absent body, a `RUN_ERROR` event, or a truncated
109
- * stream all throw — the runner builders contain that into a failed cell (`ok:false`).
161
+ * {@link decodeAgUiStream}. A non-2xx response, an absent body, a `RUN_ERROR` event, a truncated
162
+ * stream, or a run that exceeds `timeoutMs` all throw — the runner builders contain that into a
163
+ * failed cell (`ok:false`).
164
+ *
165
+ * The WHOLE run is bounded by `timeoutMs` (default {@link AG_UI_RUN_TIMEOUT_MS}) via a single
166
+ * deadline armed BEFORE the fetch. BOTH phases are raced against it: the `fetch` await (so a server
167
+ * that accepts the POST but never sends response headers is bounded too) AND the SSE decode (so a
168
+ * body that opens but never ends still fails the case rather than hanging). Racing — not the abort
169
+ * signal — is the load-bearing mechanism, since a transport may ignore the abort; on timeout the
170
+ * `AbortController` is fired anyway to free a real socket. On a non-200 the unread body is cancelled
171
+ * first so its socket is released.
110
172
  *
111
173
  * `fetchImpl` defaults to global `fetch`; tests pass a fake returning a synthetic SSE `Response` so
112
174
  * the body construction + decode are exercised without a network or a live server.
113
175
  */
114
- export function createAgUiClient(target, fetchImpl = fetch) {
176
+ export function createAgUiClient(target, fetchImpl = fetch, timeoutMs = AG_UI_RUN_TIMEOUT_MS) {
115
177
  const base = target.url.replace(/\/+$/, '');
116
178
  const endpoint = `${base}/agents/${encodeURIComponent(target.agentId)}/run`;
117
179
  return {
118
180
  async run(input) {
119
- const response = await fetchImpl(endpoint, {
120
- method: 'POST',
121
- headers: { 'Content-Type': 'application/json', Accept: 'text/event-stream' },
122
- body: JSON.stringify({
123
- threadId: input.threadId,
124
- runId: input.runId,
125
- messages: input.messages,
126
- // The eval declares no client-fulfilled frontend tools; an empty array makes the server
127
- // serve the run from its own statically-configured agent.
128
- tools: [],
129
- forwardedProps: {},
130
- }),
181
+ const controller = new AbortController();
182
+ const TIMEOUT = Symbol('ag-ui-run-timeout');
183
+ const timeoutError = () => new Error(`AG-UI run exceeded ${timeoutMs}ms without a terminal RUN_FINISHED (stalled server).`);
184
+ // Arm the deadline BEFORE the fetch so it bounds the WHOLE run, not just the post-headers
185
+ // decode: a server that accepts the POST but never sends response headers hangs in the
186
+ // `fetch` await, and a body that opens but never ends hangs in the decode. Each phase is RACED
187
+ // against this one deadline — the transport may ignore an abort, so only the race guarantees
188
+ // we settle. The abort is fired INSIDE the timeout branches (after TIMEOUT has already won the
189
+ // race), so a real fetch's `AbortError` can't beat our clean timeout message.
190
+ let timer;
191
+ const timeoutPromise = new Promise((resolve) => {
192
+ timer = setTimeout(() => resolve(TIMEOUT), timeoutMs);
131
193
  });
132
- if (!response.ok) {
133
- throw new Error(`AG-UI server responded ${response.status} ${response.statusText || ''}`.trim());
194
+ try {
195
+ const fetchPromise = fetchImpl(endpoint, {
196
+ method: 'POST',
197
+ headers: { 'Content-Type': 'application/json', Accept: 'text/event-stream' },
198
+ body: JSON.stringify({
199
+ threadId: input.threadId,
200
+ runId: input.runId,
201
+ messages: input.messages,
202
+ // The eval declares no client-fulfilled frontend tools; an empty array makes the server
203
+ // serve the run from its own statically-configured agent.
204
+ tools: [],
205
+ forwardedProps: {},
206
+ }),
207
+ signal: controller.signal,
208
+ });
209
+ const opened = await Promise.race([fetchPromise, timeoutPromise]);
210
+ if (opened === TIMEOUT) {
211
+ // Pre-headers hang: the POST was accepted but no response headers ever arrived. Attach a
212
+ // swallow FIRST so the fetch's eventual abort-rejection has a handler, then abort to free
213
+ // a real socket, and fail with the clear timeout error. A genuine pre-deadline
214
+ // network/transport error instead rejects the race on its own and surfaces distinctly.
215
+ void fetchPromise.catch(() => undefined);
216
+ controller.abort();
217
+ throw timeoutError();
218
+ }
219
+ const response = opened;
220
+ if (!response.ok) {
221
+ // Drain the unread body so the socket is released before failing the case.
222
+ await releaseBody(response.body);
223
+ throw new Error(`AG-UI server responded ${response.status} ${response.statusText || ''}`.trim());
224
+ }
225
+ if (!response.body) {
226
+ throw new Error('AG-UI server returned no response body to stream.');
227
+ }
228
+ const decodePromise = decodeAgUiStream(response.body);
229
+ const settled = await Promise.race([decodePromise, timeoutPromise]);
230
+ if (settled === TIMEOUT) {
231
+ // The stream opened but never emitted RUN_FINISHED. Swallow the decode's eventual
232
+ // abort-rejection FIRST, then abort the fetch to free the real socket, and fail clearly.
233
+ void decodePromise.catch(() => undefined);
234
+ controller.abort();
235
+ throw timeoutError();
236
+ }
237
+ return settled;
134
238
  }
135
- if (!response.body) {
136
- throw new Error('AG-UI server returned no response body to stream.');
239
+ finally {
240
+ if (timer)
241
+ clearTimeout(timer);
137
242
  }
138
- return decodeAgUiStream(response.body);
139
243
  },
140
244
  };
141
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agUiEvalRunner.js","sourceRoot":"","sources":["../../src/commands/agUiEvalRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agUiEvalRunner.js","sourceRoot":"","sources":["../../src/commands/agUiEvalRunner.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export function apiCommand(program, commandLineConfigOverrides) {
7
7
  .command('ag-ui')
8
8
  .description('Start an AG-UI protocol HTTP server')
9
9
  .option('--port <port>', 'Port to listen on')
10
+ .addHelpText('after', '\n' + 'Examples:\n' + ' $ gth api ag-ui\n' + ' $ gth api ag-ui --port 4000\n')
10
11
  .action(async (options) => {
11
12
  try {
12
13
  const config = await initConfig(commandLineConfigOverrides);
@@ -1 +1 @@
1
- {"version":3,"file":"apiCommand.js","sourceRoot":"","sources":["../../src/commands/apiCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,0BAAsD;IAEtD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEtF,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;gBACvB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;YAEzC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6CAA6C,CAAC,CAAC;YACxF,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"apiCommand.js","sourceRoot":"","sources":["../../src/commands/apiCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,0BAAsD;IAEtD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAEtF,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC5C,WAAW,CACV,OAAO,EACP,IAAI,GAAG,aAAa,GAAG,qBAAqB,GAAG,iCAAiC,CACjF;SACA,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;gBACvB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;YAEzC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6CAA6C,CAAC,CAAC;YACxF,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -51,9 +51,9 @@ export function askCommand(program, commandLineConfigOverrides) {
51
51
  'read/write files and run commands. Grants write access — use with care.')
52
52
  .addHelpText('after', '\n' +
53
53
  'Examples:\n' +
54
- ' $ gsloth ask "which types of primitives are available in JavaScript?"\n' +
55
- ' $ gsloth ask "Please explain this code" -f index.js\n' +
56
- ' $ cat error.log | gsloth ask "What might be causing these errors?"\n')
54
+ ' $ gth ask "which types of primitives are available in JavaScript?"\n' +
55
+ ' $ gth ask "Please explain this code" -f index.js\n' +
56
+ ' $ cat error.log | gth ask "What might be causing these errors?"\n')
57
57
  .action(async (message, options) => {
58
58
  const config = applyAskWriteMode(await initConfig(commandLineConfigOverrides), options);
59
59
  const content = [];
@@ -1 +1 @@
1
- {"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAYvF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,OAA0B;IAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,cAAc,CACZ,iGAAiG,CAClG,CAAC;IACF,MAAM,eAAe,GACnB,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC;IAC7E,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE;YACR,GAAG,MAAM,CAAC,QAAQ;YAClB,GAAG,EAAE;gBACH,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG;gBACvB,UAAU,EAAE,KAAK;gBACjB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,0BAAsD;IAEtD,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,gBAAgB,CAAC;SAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;SAClC,MAAM,CACL,uBAAuB,EACvB,sEAAsE,CACvE;SACA,MAAM,CACL,SAAS,EACT,4FAA4F;QAC1F,yEAAyE,CAC5E;SACA,WAAW,CACV,OAAO,EACP,IAAI;QACF,aAAa;QACb,2EAA2E;QAC3E,yDAAyD;QACzD,wEAAwE,CAC3E;SACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAA0B,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,UAAU,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;QAClF,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAC5E,MAAM,EAAE,mBAAmB,EAAE,GAC3B,MAAM,MAAM,CAAC,gDAAgD,CAAC,CAAC;QACjE,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,CAAC;YACH,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,aAAa,CAC3B,KAAK,EACL,kBAAkB,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAClB,MAAM,EACN,eAAe,EAAE,EACjB,KAAK;YACL,mFAAmF;YACnF,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"askCommand.js","sourceRoot":"","sources":["../../src/commands/askCommand.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { initConfig } from '@gaunt-sloth/core/config.js';
2
2
  import { getExecSystemPrompt } from '#src/commands/commandIntrospection.js';
3
3
  import { parseIntOption } from '#src/commands/cliOptionParsers.js';
4
- import { displaySuccess, displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
4
+ import { displayInfo, displaySuccess, displayWarning, } from '@gaunt-sloth/core/utils/consoleUtils.js';
5
5
  import { wrapContent } from '@gaunt-sloth/core/utils/llmUtils.js';
6
6
  import { fileSafeLocalDate, getGslothFilePath, readFileFromProjectDir, readMultipleFilesFromProjectDir, } from '@gaunt-sloth/core/utils/fileUtils.js';
7
7
  /**
@@ -199,10 +199,15 @@ export function batchCommand(program, commandLineConfigOverrides) {
199
199
  'placeholders — one matrix cell per row (content binding only; a glob-of-files path ' +
200
200
  'binding is not supported by this command)')
201
201
  .option('--models <list>', 'Comma-separated list of models to fan out over (omit to use the configured model, no fan-out)')
202
- .option('-j, --concurrency <n>', 'Max in-flight cells', parseIntOption)
202
+ .option('-j, --concurrency <n>', 'Max in-flight cells (default: 1, one cell at a time — raise it to fan out)', parseIntOption)
203
203
  .option('--retry <n>', 'Retry a failed cell up to n times (default: 0, no retry)', parseIntOption)
204
204
  .option('-o, --output <dir>', 'Directory to write structured per-cell JSON + results.json summary to ' +
205
205
  '(default: a timestamped dir alongside other gth reports)')
206
+ .addHelpText('after', '\n' +
207
+ 'Examples:\n' +
208
+ ' $ gth batch prompts/classify.md --models claude-sonnet-4-5,gpt-4o,gemini-2.5-pro\n' +
209
+ ' $ gth batch prompts/triage.md --over data/tickets.csv -j 8\n' +
210
+ ' $ gth batch prompts/triage.md --over data/tickets.jsonl --models claude-sonnet-4-5,gpt-4o --retry 2 -o out/triage\n')
206
211
  .action(async (script, options) => {
207
212
  const config = await initConfig(commandLineConfigOverrides);
208
213
  // Specific `.js` subpaths (not the bare package root) — matches the house convention
@@ -212,7 +217,7 @@ export function batchCommand(program, commandLineConfigOverrides) {
212
217
  // build that could go stale between an edit and a test run.
213
218
  const { buildMatrix } = await import('@gaunt-sloth/batch/matrix.js');
214
219
  const { parseOverFile } = await import('@gaunt-sloth/batch/parseOver.js');
215
- const { runBatchMatrix } = await import('@gaunt-sloth/batch/BatchRunner.js');
220
+ const { runBatchMatrix, concurrencyHint } = await import('@gaunt-sloth/batch/BatchRunner.js');
216
221
  const { writeBatchOutput } = await import('@gaunt-sloth/batch/output.js');
217
222
  const scriptContent = readMultipleFilesFromProjectDir([script]);
218
223
  const models = parseModelsOption(options.models);
@@ -236,6 +241,13 @@ export function batchCommand(program, commandLineConfigOverrides) {
236
241
  const summary = writeBatchOutput(outputDir, results);
237
242
  displaySuccess(`Batch complete: ${summary.passed}/${summary.total} cell(s) passed. ` +
238
243
  `Results written to ${outputDir}`);
244
+ // BATCH-24: cells run one at a time unless the user asks for more, so say so once at the end
245
+ // — otherwise a slow multi-cell run looks like the tool being slow rather than a default the
246
+ // user can change (DL-1: no surprising behaviour is silent; DL-8: dim = contextual aside).
247
+ const hint = concurrencyHint(summary.total, options.concurrency);
248
+ if (hint) {
249
+ displayInfo(hint);
250
+ }
239
251
  if (summary.failed > 0) {
240
252
  // Visible, but deliberately does NOT set a non-zero exit code — see the exit-code
241
253
  // contract above. A poor/failed cell is `eval`'s business, not batch's.
@@ -1 +1 @@
1
- {"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batchCommand.js","sourceRoot":"","sources":["../../src/commands/batchCommand.ts"],"names":[],"mappings":"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"}