gaunt-sloth 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (127) hide show
  1. package/README.md +55 -5
  2. package/cli.js +43 -10
  3. package/dist/cli.js +33 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/adkEvalRunner.d.ts +66 -0
  6. package/dist/commands/adkEvalRunner.js +69 -0
  7. package/dist/commands/adkEvalRunner.js.map +1 -0
  8. package/dist/commands/agUiEvalRunner.d.ts +73 -0
  9. package/dist/commands/agUiEvalRunner.js +216 -0
  10. package/dist/commands/agUiEvalRunner.js.map +1 -0
  11. package/dist/commands/askCommand.d.ts +3 -2
  12. package/dist/commands/askCommand.js +26 -7
  13. package/dist/commands/askCommand.js.map +1 -1
  14. package/dist/commands/batchCommand.d.ts +78 -0
  15. package/dist/commands/batchCommand.js +245 -0
  16. package/dist/commands/batchCommand.js.map +1 -0
  17. package/dist/commands/cliOptionParsers.d.ts +12 -0
  18. package/dist/commands/cliOptionParsers.js +18 -0
  19. package/dist/commands/cliOptionParsers.js.map +1 -0
  20. package/dist/commands/commandIntrospection.d.ts +6 -6
  21. package/dist/commands/commandIntrospection.js +12 -12
  22. package/dist/commands/commandIntrospection.js.map +1 -1
  23. package/dist/commands/commandUtils.d.ts +16 -16
  24. package/dist/commands/commandUtils.js +20 -20
  25. package/dist/commands/commandUtils.js.map +1 -1
  26. package/dist/commands/configCommand.d.ts +24 -0
  27. package/dist/commands/configCommand.js +117 -0
  28. package/dist/commands/configCommand.js.map +1 -0
  29. package/dist/commands/configSetup.d.ts +1 -1
  30. package/dist/commands/configSetup.js +17 -2
  31. package/dist/commands/configSetup.js.map +1 -1
  32. package/dist/commands/evalCommand.d.ts +41 -0
  33. package/dist/commands/evalCommand.js +483 -0
  34. package/dist/commands/evalCommand.js.map +1 -0
  35. package/dist/commands/execCommand.js +4 -1
  36. package/dist/commands/execCommand.js.map +1 -1
  37. package/dist/commands/firstRunDialog.d.ts +39 -5
  38. package/dist/commands/firstRunDialog.js +72 -10
  39. package/dist/commands/firstRunDialog.js.map +1 -1
  40. package/dist/commands/getCommand.js +7 -7
  41. package/dist/commands/getCommand.js.map +1 -1
  42. package/dist/commands/historyCommand.d.ts +17 -0
  43. package/dist/commands/historyCommand.js +102 -0
  44. package/dist/commands/historyCommand.js.map +1 -0
  45. package/dist/commands/initCommand.d.ts +3 -0
  46. package/dist/commands/initCommand.js +9 -4
  47. package/dist/commands/initCommand.js.map +1 -1
  48. package/dist/commands/insightsCommand.d.ts +8 -0
  49. package/dist/commands/insightsCommand.js +32 -0
  50. package/dist/commands/insightsCommand.js.map +1 -0
  51. package/dist/commands/modelsCommand.d.ts +25 -0
  52. package/dist/commands/modelsCommand.js +96 -0
  53. package/dist/commands/modelsCommand.js.map +1 -0
  54. package/dist/commands/prCommand.js +14 -15
  55. package/dist/commands/prCommand.js.map +1 -1
  56. package/dist/commands/prDiscovery.d.ts +2 -2
  57. package/dist/commands/prDiscovery.js +27 -29
  58. package/dist/commands/prDiscovery.js.map +1 -1
  59. package/dist/commands/reviewCommand.js +15 -10
  60. package/dist/commands/reviewCommand.js.map +1 -1
  61. package/dist/commands/workflowCommand.d.ts +19 -0
  62. package/dist/commands/workflowCommand.js +77 -0
  63. package/dist/commands/workflowCommand.js.map +1 -0
  64. package/dist/helpers/jira/jiraLogWork.js.map +1 -1
  65. package/dist/modules/startSession.js +9 -7
  66. package/dist/modules/startSession.js.map +1 -1
  67. package/dist/tools/gthJiraLogWorkTool.js +3 -3
  68. package/dist/tools/gthJiraLogWorkTool.js.map +1 -1
  69. package/dist/tui/components/App.js +321 -21
  70. package/dist/tui/components/App.js.map +1 -1
  71. package/dist/tui/components/ApprovalPrompt.d.ts +18 -0
  72. package/dist/tui/components/ApprovalPrompt.js +26 -0
  73. package/dist/tui/components/ApprovalPrompt.js.map +1 -0
  74. package/dist/tui/components/DebugPanel.d.ts +29 -9
  75. package/dist/tui/components/DebugPanel.js +46 -23
  76. package/dist/tui/components/DebugPanel.js.map +1 -1
  77. package/dist/tui/components/FetchProgress.d.ts +36 -0
  78. package/dist/tui/components/FetchProgress.js +39 -0
  79. package/dist/tui/components/FetchProgress.js.map +1 -0
  80. package/dist/tui/components/LiveTurn.d.ts +26 -4
  81. package/dist/tui/components/LiveTurn.js +104 -18
  82. package/dist/tui/components/LiveTurn.js.map +1 -1
  83. package/dist/tui/components/NoticeBar.d.ts +32 -0
  84. package/dist/tui/components/NoticeBar.js +39 -0
  85. package/dist/tui/components/NoticeBar.js.map +1 -0
  86. package/dist/tui/components/PromptInput.d.ts +26 -1
  87. package/dist/tui/components/PromptInput.js +93 -7
  88. package/dist/tui/components/PromptInput.js.map +1 -1
  89. package/dist/tui/components/Rule.js.map +1 -1
  90. package/dist/tui/components/SelectList.d.ts +98 -9
  91. package/dist/tui/components/SelectList.js +209 -26
  92. package/dist/tui/components/SelectList.js.map +1 -1
  93. package/dist/tui/components/SlashCommandMenu.d.ts +20 -0
  94. package/dist/tui/components/SlashCommandMenu.js +28 -0
  95. package/dist/tui/components/SlashCommandMenu.js.map +1 -0
  96. package/dist/tui/components/StatusBar.d.ts +7 -1
  97. package/dist/tui/components/StatusBar.js +7 -3
  98. package/dist/tui/components/StatusBar.js.map +1 -1
  99. package/dist/tui/components/Transcript.js +6 -1
  100. package/dist/tui/components/Transcript.js.map +1 -1
  101. package/dist/tui/debugRender.d.ts +41 -6
  102. package/dist/tui/debugRender.js +126 -12
  103. package/dist/tui/debugRender.js.map +1 -1
  104. package/dist/tui/debugSearch.d.ts +40 -0
  105. package/dist/tui/debugSearch.js +73 -0
  106. package/dist/tui/debugSearch.js.map +1 -0
  107. package/dist/tui/markdown.js +0 -0
  108. package/dist/tui/markdown.js.map +1 -1
  109. package/dist/tui/pasteParser.d.ts +21 -0
  110. package/dist/tui/pasteParser.js +24 -0
  111. package/dist/tui/pasteParser.js.map +1 -0
  112. package/dist/tui/selectCancelled.d.ts +13 -0
  113. package/dist/tui/selectCancelled.js +17 -0
  114. package/dist/tui/selectCancelled.js.map +1 -0
  115. package/dist/tui/slashCommands.d.ts +220 -1
  116. package/dist/tui/slashCommands.js +408 -1
  117. package/dist/tui/slashCommands.js.map +1 -1
  118. package/dist/tui/tuiSessionModule.js +249 -24
  119. package/dist/tui/tuiSessionModule.js.map +1 -1
  120. package/dist/tui/types.d.ts +96 -7
  121. package/dist/tui/viewModel.d.ts +34 -0
  122. package/dist/tui/viewModel.js +67 -0
  123. package/dist/tui/viewModel.js.map +1 -1
  124. package/dist/utils/stdinPolicy.d.ts +31 -0
  125. package/dist/utils/stdinPolicy.js +37 -0
  126. package/dist/utils/stdinPolicy.js.map +1 -0
  127. package/package.json +21 -17
@@ -65,8 +65,35 @@ export function foldEvents(state, event) {
65
65
  ...tc,
66
66
  status: 'done',
67
67
  result: event.content,
68
+ isError: event.isError,
68
69
  })),
69
70
  };
71
+ case 'tool_output': {
72
+ // TUI-C17 — live output streamed while the tool executes. Chunks normally arrive BEFORE the
73
+ // call's `tool_start` (the agent stream only flushes tool_start when the round's ToolMessage
74
+ // lands), so upsertTool's placeholder path is the common case: seed the name from the event
75
+ // so the panel is labelled while running.
76
+ // Without an id (defensive: the invoking framework supplied no tool call), fall back to the
77
+ // most recent running call with the same name, else a synthetic per-name bucket — output is
78
+ // never silently dropped (mirrors the defensive posture above).
79
+ // TUI-C30 — notices accumulate on the SEPARATE `notice` field (newline-joined; they carry
80
+ // no trailing newline of their own) so the output preview counts only real child output.
81
+ const fallbackId = [...state.toolCalls]
82
+ .reverse()
83
+ .find((tc) => tc.name === event.name && tc.status === 'running')?.id ??
84
+ `${event.name}#live`;
85
+ const id = event.id ?? fallbackId;
86
+ return {
87
+ ...state,
88
+ toolCalls: upsertTool(state.toolCalls, id, (tc) => ({
89
+ ...tc,
90
+ name: tc.name || event.name,
91
+ ...(event.isNotice
92
+ ? { notice: tc.notice ? `${tc.notice}\n${event.chunk}` : event.chunk }
93
+ : { output: (tc.output ?? '') + event.chunk }),
94
+ })),
95
+ };
96
+ }
70
97
  default: {
71
98
  // Exhaustiveness guard: a new AgentStreamEvent variant fails the build here.
72
99
  const _never = event;
@@ -181,4 +208,44 @@ export function foldSubagentTree(events, state = initialSubagentTree()) {
181
208
  const buffers = new Map();
182
209
  return events.reduce((acc, ev) => foldSubagentEvents(acc, ev, buffers), state);
183
210
  }
211
+ /* ------------------------------------------------------------------------- *
212
+ * Checklist tool (`gth_checklist`) *
213
+ * ------------------------------------------------------------------------- *
214
+ * The lean agent's planning tool takes `{ items: [{ content, status }] }`. When the TUI sees a
215
+ * tool call for this name it renders the streamed args as a live checkbox panel instead of a
216
+ * generic tool card. The name is kept as a local literal (like SUBAGENT_TOOL_NAME) so the TUI
217
+ * stays decoupled from the agent package. */
218
+ /** The tool name the lean agent uses to record its checklist. Matches `gthChecklistTool.ts`. */
219
+ export const CHECKLIST_TOOL_NAME = 'gth_checklist';
220
+ /**
221
+ * Best-effort parse of a (possibly partial) streamed `gth_checklist` args JSON into rows. Mirrors
222
+ * {@link parseTaskArgs}: a half-streamed or malformed buffer never throws — it returns `null` so
223
+ * the renderer keeps showing the last good state (or falls back to the generic tool panel).
224
+ */
225
+ export function parseChecklistArgs(argsText) {
226
+ if (!argsText.trim())
227
+ return null;
228
+ let parsed;
229
+ try {
230
+ parsed = JSON.parse(argsText);
231
+ }
232
+ catch {
233
+ return null;
234
+ }
235
+ const items = parsed?.items;
236
+ if (!Array.isArray(items))
237
+ return null;
238
+ const rows = [];
239
+ for (const raw of items) {
240
+ if (!raw || typeof raw !== 'object')
241
+ continue;
242
+ const content = raw.content;
243
+ const status = raw.status;
244
+ if (typeof content === 'string' &&
245
+ (status === 'pending' || status === 'in_progress' || status === 'completed')) {
246
+ rows.push({ content, status });
247
+ }
248
+ }
249
+ return rows.length ? rows : null;
250
+ }
184
251
  //# sourceMappingURL=viewModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewModel.js","sourceRoot":"","sources":["../../src/tui/viewModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewModel.js","sourceRoot":"","sources":["../../src/tui/viewModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * BATCH-11 (gaunt-sloth #405 gotcha #5) — which subcommands must NOT block on STDIN.
3
+ *
4
+ * The CLI reads piped STDIN (a diff) before dispatch for commands like `ask`/`review`/`pr`. On a
5
+ * non-TTY, non-closing stdin — exactly a scripted/CI invocation — that read waits for EOF, so a
6
+ * command that never consumes stdin would hang until the parent closed it (or the user added
7
+ * `</dev/null`). `eval` and `batch` never read piped stdin, so they must take the same fast path as
8
+ * `--no-pipe` and dispatch immediately.
9
+ *
10
+ * This module owns the small, pure policy so `cli.ts` stays a thin wiring layer and the decision is
11
+ * unit-testable without importing the CLI entry point (which runs on import).
12
+ */
13
+ /**
14
+ * Subcommands whose runs never consume piped stdin — the CLI implies the `--no-pipe` fast path for
15
+ * these so they don't block waiting for stdin EOF. Keep this list narrow: only add a command here
16
+ * once it's certain it never reads a piped diff/document.
17
+ */
18
+ export declare const NON_STDIN_COMMANDS: readonly string[];
19
+ /**
20
+ * Resolve the invoked subcommand name from commander's parsed operands.
21
+ *
22
+ * `operands` is `Command.parseOptions(argv).operands` — the non-option tokens, with global option
23
+ * *values* (e.g. the `<path>` of `-c <path>`) already consumed, so they can't be mistaken for the
24
+ * command. Returns the first operand that matches a registered command name; a positional argument
25
+ * that merely happens to equal a command name (e.g. a suite file literally named `eval`) can't win
26
+ * because the real subcommand always precedes its own arguments. Returns `undefined` when no
27
+ * subcommand was given (the default-command / bare-`gth` case).
28
+ */
29
+ export declare function resolveInvokedCommandName(commandNames: Iterable<string>, operands: readonly string[]): string | undefined;
30
+ /** Whether the given resolved subcommand name must skip the piped-stdin wait. */
31
+ export declare function commandSkipsStdin(commandName: string | undefined): boolean;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * BATCH-11 (gaunt-sloth #405 gotcha #5) — which subcommands must NOT block on STDIN.
3
+ *
4
+ * The CLI reads piped STDIN (a diff) before dispatch for commands like `ask`/`review`/`pr`. On a
5
+ * non-TTY, non-closing stdin — exactly a scripted/CI invocation — that read waits for EOF, so a
6
+ * command that never consumes stdin would hang until the parent closed it (or the user added
7
+ * `</dev/null`). `eval` and `batch` never read piped stdin, so they must take the same fast path as
8
+ * `--no-pipe` and dispatch immediately.
9
+ *
10
+ * This module owns the small, pure policy so `cli.ts` stays a thin wiring layer and the decision is
11
+ * unit-testable without importing the CLI entry point (which runs on import).
12
+ */
13
+ /**
14
+ * Subcommands whose runs never consume piped stdin — the CLI implies the `--no-pipe` fast path for
15
+ * these so they don't block waiting for stdin EOF. Keep this list narrow: only add a command here
16
+ * once it's certain it never reads a piped diff/document.
17
+ */
18
+ export const NON_STDIN_COMMANDS = ['eval', 'batch'];
19
+ /**
20
+ * Resolve the invoked subcommand name from commander's parsed operands.
21
+ *
22
+ * `operands` is `Command.parseOptions(argv).operands` — the non-option tokens, with global option
23
+ * *values* (e.g. the `<path>` of `-c <path>`) already consumed, so they can't be mistaken for the
24
+ * command. Returns the first operand that matches a registered command name; a positional argument
25
+ * that merely happens to equal a command name (e.g. a suite file literally named `eval`) can't win
26
+ * because the real subcommand always precedes its own arguments. Returns `undefined` when no
27
+ * subcommand was given (the default-command / bare-`gth` case).
28
+ */
29
+ export function resolveInvokedCommandName(commandNames, operands) {
30
+ const names = new Set(commandNames);
31
+ return operands.find((token) => names.has(token));
32
+ }
33
+ /** Whether the given resolved subcommand name must skip the piped-stdin wait. */
34
+ export function commandSkipsStdin(commandName) {
35
+ return commandName !== undefined && NON_STDIN_COMMANDS.includes(commandName);
36
+ }
37
+ //# sourceMappingURL=stdinPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdinPolicy.js","sourceRoot":"","sources":["../../src/utils/stdinPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvE;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA8B,EAC9B,QAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,WAA+B;IAC/D,OAAO,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gaunt-sloth",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.21",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -8,13 +8,13 @@
8
8
  "main": "dist/cli.js",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/Galvanized-Pukeko/gaunt-sloth.git",
11
+ "url": "git+https://github.com/pukeko-robotics/gaunt-sloth.git",
12
12
  "directory": "packages/app"
13
13
  },
14
14
  "bugs": {
15
- "url": "https://github.com/Galvanized-Pukeko/gaunt-sloth/issues"
15
+ "url": "https://github.com/pukeko-robotics/gaunt-sloth/issues"
16
16
  },
17
- "homepage": "https://github.com/Galvanized-Pukeko/gaunt-sloth#readme",
17
+ "homepage": "https://github.com/pukeko-robotics/gaunt-sloth#readme",
18
18
  "keywords": [
19
19
  "ai",
20
20
  "agent",
@@ -33,19 +33,23 @@
33
33
  "gth": "cli.js"
34
34
  },
35
35
  "dependencies": {
36
- "@langchain/anthropic": "^1.5.0",
37
- "@langchain/core": "^1.2.0",
38
- "@langchain/deepseek": "^1.1.1",
39
- "@langchain/google": "^0.2.0",
40
- "@langchain/groq": "^1.3.0",
41
- "@langchain/langgraph": "^1.4.4",
42
- "@langchain/openai": "^1.5.1",
43
- "@langchain/xai": "^1.4.1",
36
+ "@ag-ui/core": "^0.0.57",
37
+ "@langchain/anthropic": "^1.5.1",
38
+ "@langchain/core": "^1.2.3",
39
+ "@langchain/deepseek": "^1.1.5",
40
+ "@langchain/google": "^0.2.1",
41
+ "@langchain/groq": "^1.3.1",
42
+ "@langchain/langgraph": "^1.4.8",
43
+ "@langchain/ollama": "^1.3.0",
44
+ "@langchain/openai": "^1.5.5",
45
+ "@langchain/xai": "^1.4.5",
44
46
  "commander": "^15.0.0",
45
- "zod": "^3.25.0 || ^4.0.0",
46
- "@gaunt-sloth/agent": "2.0.0-alpha.2",
47
- "@gaunt-sloth/review": "2.0.0-alpha.2",
48
- "@gaunt-sloth/core": "2.0.0-alpha.2"
47
+ "zod": "^4.4.3",
48
+ "@gaunt-sloth/agent": "2.0.0-alpha.21",
49
+ "@gaunt-sloth/batch": "2.0.0-alpha.21",
50
+ "@gaunt-sloth/core": "2.0.0-alpha.21",
51
+ "@gaunt-sloth/review": "2.0.0-alpha.21",
52
+ "@gaunt-sloth/eval-reporter-junit": "0.1.0"
49
53
  },
50
54
  "optionalDependencies": {
51
55
  "chalk": "^5.6.2",
@@ -56,7 +60,7 @@
56
60
  },
57
61
  "devDependencies": {
58
62
  "@microsoft/tui-test": "^0.0.4",
59
- "@types/react": "^19.2.0",
63
+ "@types/react": "^19.2.17",
60
64
  "ink-testing-library": "^4.0.0"
61
65
  },
62
66
  "imports": {