@prestyj/cli 5.32.0 → 5.32.2

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 (230) hide show
  1. package/README.md +3 -2
  2. package/assets/skills/task-list/SKILL.md +39 -0
  3. package/dist/app-sidecar/app-settings.js +11 -5
  4. package/dist/app-sidecar/app-settings.js.map +1 -1
  5. package/dist/app-sidecar/auth-routes.js +10 -3
  6. package/dist/app-sidecar/auth-routes.js.map +1 -1
  7. package/dist/app-sidecar/git-target.d.ts +15 -2
  8. package/dist/app-sidecar/git-target.js +24 -10
  9. package/dist/app-sidecar/git-target.js.map +1 -1
  10. package/dist/app-sidecar/goal-routes.js +8 -0
  11. package/dist/app-sidecar/goal-routes.js.map +1 -1
  12. package/dist/app-sidecar/history-routes.js +7 -0
  13. package/dist/app-sidecar/history-routes.js.map +1 -1
  14. package/dist/app-sidecar/history.d.ts +5 -0
  15. package/dist/app-sidecar/history.js.map +1 -1
  16. package/dist/app-sidecar/integration-routes.js +4 -0
  17. package/dist/app-sidecar/integration-routes.js.map +1 -1
  18. package/dist/app-sidecar/mcp-routes.js +1 -0
  19. package/dist/app-sidecar/mcp-routes.js.map +1 -1
  20. package/dist/app-sidecar/mcp-rows.d.ts +2 -0
  21. package/dist/app-sidecar/mcp-rows.js +4 -1
  22. package/dist/app-sidecar/mcp-rows.js.map +1 -1
  23. package/dist/app-sidecar/prompt-routes.js +67 -1
  24. package/dist/app-sidecar/prompt-routes.js.map +1 -1
  25. package/dist/app-sidecar/route-context.d.ts +2 -0
  26. package/dist/app-sidecar/run-control-routes.js +43 -3
  27. package/dist/app-sidecar/run-control-routes.js.map +1 -1
  28. package/dist/app-sidecar/session-routes.js +10 -0
  29. package/dist/app-sidecar/session-routes.js.map +1 -1
  30. package/dist/app-sidecar/task-routes.js +2 -0
  31. package/dist/app-sidecar/task-routes.js.map +1 -1
  32. package/dist/app-sidecar/trophy-manager.d.ts +15 -0
  33. package/dist/app-sidecar/trophy-manager.js +71 -0
  34. package/dist/app-sidecar/trophy-manager.js.map +1 -0
  35. package/dist/app-sidecar/workspace-routes.js +1 -0
  36. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  37. package/dist/app-sidecar.js +157 -30
  38. package/dist/app-sidecar.js.map +1 -1
  39. package/dist/cli/auth.js +22 -1
  40. package/dist/cli/auth.js.map +1 -1
  41. package/dist/cli/mcp.js +6 -1
  42. package/dist/cli/mcp.js.map +1 -1
  43. package/dist/cli.js +13 -9
  44. package/dist/cli.js.map +1 -1
  45. package/dist/config.js +4 -2
  46. package/dist/config.js.map +1 -1
  47. package/dist/core/action-threats.d.ts +68 -0
  48. package/dist/core/action-threats.js +894 -0
  49. package/dist/core/action-threats.js.map +1 -0
  50. package/dist/core/agent-notifications.d.ts +18 -0
  51. package/dist/core/agent-notifications.js +35 -2
  52. package/dist/core/agent-notifications.js.map +1 -1
  53. package/dist/core/agent-session/verification-tracker.d.ts +21 -0
  54. package/dist/core/agent-session/verification-tracker.js +39 -1
  55. package/dist/core/agent-session/verification-tracker.js.map +1 -1
  56. package/dist/core/agent-session.d.ts +168 -2
  57. package/dist/core/agent-session.js +486 -23
  58. package/dist/core/agent-session.js.map +1 -1
  59. package/dist/core/blocked-packages-file.d.ts +33 -0
  60. package/dist/core/blocked-packages-file.js +274 -0
  61. package/dist/core/blocked-packages-file.js.map +1 -0
  62. package/dist/core/compaction/policy.d.ts +2 -2
  63. package/dist/core/compaction/policy.js +86 -43
  64. package/dist/core/compaction/policy.js.map +1 -1
  65. package/dist/core/compaction/token-estimator.d.ts +4 -1
  66. package/dist/core/compaction/token-estimator.js +5 -2
  67. package/dist/core/compaction/token-estimator.js.map +1 -1
  68. package/dist/core/event-bus.d.ts +10 -0
  69. package/dist/core/event-bus.js +2 -0
  70. package/dist/core/event-bus.js.map +1 -1
  71. package/dist/core/idle-wake.d.ts +62 -0
  72. package/dist/core/idle-wake.js +103 -0
  73. package/dist/core/idle-wake.js.map +1 -0
  74. package/dist/core/injection-detect.d.ts +2 -1
  75. package/dist/core/injection-detect.js +13 -4
  76. package/dist/core/injection-detect.js.map +1 -1
  77. package/dist/core/installed-threats.d.ts +23 -0
  78. package/dist/core/installed-threats.js +71 -0
  79. package/dist/core/installed-threats.js.map +1 -0
  80. package/dist/core/mcp/catalog-cache.d.ts +2 -0
  81. package/dist/core/mcp/catalog-cache.js +4 -0
  82. package/dist/core/mcp/catalog-cache.js.map +1 -1
  83. package/dist/core/mcp/client.d.ts +8 -0
  84. package/dist/core/mcp/client.js +37 -3
  85. package/dist/core/mcp/client.js.map +1 -1
  86. package/dist/core/mcp/deferred-catalog.d.ts +12 -1
  87. package/dist/core/mcp/deferred-catalog.js +37 -10
  88. package/dist/core/mcp/deferred-catalog.js.map +1 -1
  89. package/dist/core/mcp/index.d.ts +2 -0
  90. package/dist/core/mcp/index.js +1 -0
  91. package/dist/core/mcp/index.js.map +1 -1
  92. package/dist/core/mcp/tool-guard.d.ts +58 -0
  93. package/dist/core/mcp/tool-guard.js +215 -0
  94. package/dist/core/mcp/tool-guard.js.map +1 -0
  95. package/dist/core/network-guard.d.ts +0 -20
  96. package/dist/core/network-guard.js +6 -0
  97. package/dist/core/network-guard.js.map +1 -1
  98. package/dist/core/package-cooldown.d.ts +71 -0
  99. package/dist/core/package-cooldown.js +301 -0
  100. package/dist/core/package-cooldown.js.map +1 -0
  101. package/dist/core/package-threats.d.ts +77 -3
  102. package/dist/core/package-threats.js +1250 -78
  103. package/dist/core/package-threats.js.map +1 -1
  104. package/dist/core/process-manager.d.ts +54 -12
  105. package/dist/core/process-manager.js +233 -56
  106. package/dist/core/process-manager.js.map +1 -1
  107. package/dist/core/project-files.d.ts +15 -0
  108. package/dist/core/project-files.js +37 -0
  109. package/dist/core/project-files.js.map +1 -0
  110. package/dist/core/prompt-commands.js +1 -0
  111. package/dist/core/prompt-commands.js.map +1 -1
  112. package/dist/core/session-manager.d.ts +3 -1
  113. package/dist/core/session-manager.js +2 -1
  114. package/dist/core/session-manager.js.map +1 -1
  115. package/dist/core/settings-manager.d.ts +1 -0
  116. package/dist/core/settings-manager.js +4 -0
  117. package/dist/core/settings-manager.js.map +1 -1
  118. package/dist/core/shell-threats.d.ts +14 -1
  119. package/dist/core/shell-threats.js +73 -24
  120. package/dist/core/shell-threats.js.map +1 -1
  121. package/dist/core/skill-scan.d.ts +112 -0
  122. package/dist/core/skill-scan.js +781 -0
  123. package/dist/core/skill-scan.js.map +1 -0
  124. package/dist/core/skills.d.ts +33 -0
  125. package/dist/core/skills.js +87 -16
  126. package/dist/core/skills.js.map +1 -1
  127. package/dist/core/slash-commands.d.ts +5 -1
  128. package/dist/core/slash-commands.js +24 -9
  129. package/dist/core/slash-commands.js.map +1 -1
  130. package/dist/core/steering.d.ts +7 -0
  131. package/dist/core/steering.js +13 -0
  132. package/dist/core/steering.js.map +1 -1
  133. package/dist/core/style-packs/index.js +1 -1
  134. package/dist/core/style-packs/index.js.map +1 -1
  135. package/dist/core/style-packs/packs.js +2 -2
  136. package/dist/core/subagent-manager.js +5 -4
  137. package/dist/core/subagent-manager.js.map +1 -1
  138. package/dist/core/threat-feed.d.ts +65 -0
  139. package/dist/core/threat-feed.js +335 -0
  140. package/dist/core/threat-feed.js.map +1 -0
  141. package/dist/core/trophies/catalog-more.d.ts +2 -0
  142. package/dist/core/trophies/catalog-more.js +857 -0
  143. package/dist/core/trophies/catalog-more.js.map +1 -0
  144. package/dist/core/trophies/catalog.d.ts +4 -0
  145. package/dist/core/trophies/catalog.js +649 -0
  146. package/dist/core/trophies/catalog.js.map +1 -0
  147. package/dist/core/trophies/engine.d.ts +70 -0
  148. package/dist/core/trophies/engine.js +351 -0
  149. package/dist/core/trophies/engine.js.map +1 -0
  150. package/dist/core/trophies/store.d.ts +17 -0
  151. package/dist/core/trophies/store.js +113 -0
  152. package/dist/core/trophies/store.js.map +1 -0
  153. package/dist/core/trophies/types.d.ts +119 -0
  154. package/dist/core/trophies/types.js +78 -0
  155. package/dist/core/trophies/types.js.map +1 -0
  156. package/dist/core/verification-evidence.d.ts +10 -6
  157. package/dist/core/verification-evidence.js +190 -11
  158. package/dist/core/verification-evidence.js.map +1 -1
  159. package/dist/goals-agent/goals-agent.js +3 -2
  160. package/dist/goals-agent/goals-agent.js.map +1 -1
  161. package/dist/interactive.js +16 -5
  162. package/dist/interactive.js.map +1 -1
  163. package/dist/modes/acp-mode.js +8 -1
  164. package/dist/modes/acp-mode.js.map +1 -1
  165. package/dist/modes/agent-home-mode.js +13 -1
  166. package/dist/modes/agent-home-mode.js.map +1 -1
  167. package/dist/modes/rpc-mode.d.ts +2 -1
  168. package/dist/modes/rpc-mode.js +15 -3
  169. package/dist/modes/rpc-mode.js.map +1 -1
  170. package/dist/modes/serve-mode.js +13 -1
  171. package/dist/modes/serve-mode.js.map +1 -1
  172. package/dist/system-prompt.d.ts +8 -0
  173. package/dist/system-prompt.js +34 -13
  174. package/dist/system-prompt.js.map +1 -1
  175. package/dist/test-support/slow-git.d.ts +1 -0
  176. package/dist/test-support/slow-git.js +21 -0
  177. package/dist/test-support/slow-git.js.map +1 -0
  178. package/dist/tools/background-watch-lint.d.ts +18 -0
  179. package/dist/tools/background-watch-lint.js +102 -0
  180. package/dist/tools/background-watch-lint.js.map +1 -0
  181. package/dist/tools/bash.d.ts +15 -4
  182. package/dist/tools/bash.js +75 -47
  183. package/dist/tools/bash.js.map +1 -1
  184. package/dist/tools/checklist.d.ts +3 -3
  185. package/dist/tools/compress.js +45 -0
  186. package/dist/tools/compress.js.map +1 -1
  187. package/dist/tools/edit.js +5 -0
  188. package/dist/tools/edit.js.map +1 -1
  189. package/dist/tools/generate-image.d.ts +29 -6
  190. package/dist/tools/generate-image.js +325 -151
  191. package/dist/tools/generate-image.js.map +1 -1
  192. package/dist/tools/grep.d.ts +14 -0
  193. package/dist/tools/grep.js +36 -2
  194. package/dist/tools/grep.js.map +1 -1
  195. package/dist/tools/index.d.ts +5 -1
  196. package/dist/tools/index.js +7 -4
  197. package/dist/tools/index.js.map +1 -1
  198. package/dist/tools/prompt-hints.d.ts +8 -1
  199. package/dist/tools/prompt-hints.js +22 -2
  200. package/dist/tools/prompt-hints.js.map +1 -1
  201. package/dist/tools/routine-output.d.ts +30 -0
  202. package/dist/tools/routine-output.js +203 -0
  203. package/dist/tools/routine-output.js.map +1 -0
  204. package/dist/tools/skill.d.ts +2 -2
  205. package/dist/tools/skill.js +8 -1
  206. package/dist/tools/skill.js.map +1 -1
  207. package/dist/tools/subagent-shared.js +4 -1
  208. package/dist/tools/subagent-shared.js.map +1 -1
  209. package/dist/tools/task-output.js +11 -1
  210. package/dist/tools/task-output.js.map +1 -1
  211. package/dist/tools/write.js +8 -0
  212. package/dist/tools/write.js.map +1 -1
  213. package/dist/ui/components/ModelSelector.d.ts +10 -0
  214. package/dist/ui/components/ModelSelector.js +51 -5
  215. package/dist/ui/components/ModelSelector.js.map +1 -1
  216. package/dist/ui/components/ToolExecution.js +2 -2
  217. package/dist/ui/components/ToolExecution.js.map +1 -1
  218. package/dist/ui/mcp.d.ts +2 -0
  219. package/dist/ui/mcp.js.map +1 -1
  220. package/dist/ui/terminal-history.js +2 -1
  221. package/dist/ui/terminal-history.js.map +1 -1
  222. package/dist/ui/tool-line-summary.js +3 -1
  223. package/dist/ui/tool-line-summary.js.map +1 -1
  224. package/dist/utils/git.d.ts +12 -3
  225. package/dist/utils/git.js +21 -8
  226. package/dist/utils/git.js.map +1 -1
  227. package/dist/utils/image.d.ts +14 -0
  228. package/dist/utils/image.js +23 -0
  229. package/dist/utils/image.js.map +1 -1
  230. package/package.json +5 -5
@@ -31,4 +31,18 @@ export declare function resetExternalScannerProbe(): void;
31
31
  * anything non-ASCII end a run instead of being reasoned about.
32
32
  */
33
33
  export declare function requiredLiterals(pattern: string): string[] | undefined;
34
+ /**
35
+ * Render `path:line:text` records ripgrep `--heading` style: each file's path
36
+ * once, then its `line:text` rows, files separated by a blank line.
37
+ *
38
+ * Every grep result stays in the conversation and is re-read on each later
39
+ * request. Repeating the path on every row was ~23% of grep output on a real
40
+ * repo (bench/prompt-diet opt-repo1: 739k → 566k chars over 92 calls), so the
41
+ * heading form carries the same facts for fewer tokens. Records arrive grouped
42
+ * already (each scan path walks file by file); a path that reappears later
43
+ * simply gets another heading. The path is split at the first `:<digits>:` —
44
+ * relative paths have no such run, and a Windows drive prefix (`D:\`) does
45
+ * not match it.
46
+ */
47
+ export declare function groupByFile(results: readonly string[]): string;
34
48
  export {};
@@ -154,7 +154,7 @@ export function createGrepTool(cwd, ops = localOperations, options = {}) {
154
154
  const externalAllowed = ops === localOperations;
155
155
  return {
156
156
  name: "grep",
157
- description: "Regex search of file contents → path:line:text. Skips .gitignored and binary files.",
157
+ description: "Regex search of file contents → matches grouped by file (path, then line:text rows). Skips .gitignored and binary files.",
158
158
  parameters: GrepParams,
159
159
  async execute({ pattern, path: searchPath, include, max_results, case_insensitive }) {
160
160
  const dir = searchPath ? resolvePath(cwd, searchPath) : cwd;
@@ -951,6 +951,40 @@ function searchText(text, relPath, regex, maxResults, deadline) {
951
951
  function deadlineNotice(deadlineMs) {
952
952
  return `[Stopped after ${deadlineMs / 1000}s — narrow the pattern or pass a narrower path/include]`;
953
953
  }
954
+ /**
955
+ * Render `path:line:text` records ripgrep `--heading` style: each file's path
956
+ * once, then its `line:text` rows, files separated by a blank line.
957
+ *
958
+ * Every grep result stays in the conversation and is re-read on each later
959
+ * request. Repeating the path on every row was ~23% of grep output on a real
960
+ * repo (bench/prompt-diet opt-repo1: 739k → 566k chars over 92 calls), so the
961
+ * heading form carries the same facts for fewer tokens. Records arrive grouped
962
+ * already (each scan path walks file by file); a path that reappears later
963
+ * simply gets another heading. The path is split at the first `:<digits>:` —
964
+ * relative paths have no such run, and a Windows drive prefix (`D:\`) does
965
+ * not match it.
966
+ */
967
+ export function groupByFile(results) {
968
+ const out = [];
969
+ let current;
970
+ for (const record of results) {
971
+ const m = /^(.*?):(\d+):/.exec(record);
972
+ if (!m) {
973
+ current = undefined;
974
+ out.push(record);
975
+ continue;
976
+ }
977
+ const file = m[1];
978
+ if (file !== current) {
979
+ if (out.length > 0)
980
+ out.push("");
981
+ out.push(file);
982
+ current = file;
983
+ }
984
+ out.push(record.slice(file.length + 1));
985
+ }
986
+ return out.join("\n");
987
+ }
954
988
  function formatResults(results, maxResults, candidateLimitHit = false, deadlineHit = false, deadlineMs = GREP_DEADLINE_MS) {
955
989
  if (results.length === 0) {
956
990
  let empty = "No matches found.";
@@ -961,7 +995,7 @@ function formatResults(results, maxResults, candidateLimitHit = false, deadlineH
961
995
  empty += ` ${deadlineNotice(deadlineMs)}`;
962
996
  return empty;
963
997
  }
964
- let output = results.join("\n");
998
+ let output = groupByFile(results);
965
999
  if (results.length >= maxResults) {
966
1000
  output += `\n\n[Truncated at ${maxResults} matches]`;
967
1001
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import type { WriteGuardSettings } from "../core/workspace-guard.js";
12
12
  import type { GetNetworkPolicy } from "../core/network-guard.js";
13
13
  import type { SandboxPolicy } from "../core/sandbox.js";
14
14
  import type { AgentDefinition } from "../core/agents.js";
15
- import type { Skill } from "../core/skills.js";
15
+ import type { BlockedSkill, Skill } from "../core/skills.js";
16
16
  import type { GoalMode } from "../core/runtime-mode.js";
17
17
  import type { AgentNotificationQueue } from "../core/agent-notifications.js";
18
18
  export { BUILTIN_TOOL_NAMES } from "./prompt-hints.js";
@@ -25,6 +25,8 @@ export interface CreateToolsOptions {
25
25
  /** Default provider/model for spawned children (see SubAgentManagerOptions). */
26
26
  getChildModel?: () => ChildModelPick | undefined;
27
27
  skills?: Skill[];
28
+ /** Skills the safety scan refused; the skill tool names them instead of "not found". */
29
+ blockedSkills?: readonly BlockedSkill[];
28
30
  /** Byte budgets for skill catalog / MCP descriptions in tool schemas. */
29
31
  contextLimits?: ContextLimits;
30
32
  provider?: Provider;
@@ -111,6 +113,8 @@ export interface CreateToolsOptions {
111
113
  getNetworkPolicy?: GetNetworkPolicy;
112
114
  /** Lazily read the OS command-sandbox mode and allowed network domains. */
113
115
  getSandboxPolicy?: () => SandboxPolicy;
116
+ /** Package release-age cooldown in days (settings `packageCooldownDays`). */
117
+ getPackageCooldownDays?: () => number;
114
118
  /**
115
119
  * Lazily read whether `grep` may use the external `rg` scanner when present
116
120
  * (grepUseRipgrep). Defaults to enabled when omitted.
@@ -87,7 +87,7 @@ export async function createTools(cwd, opts) {
87
87
  createWriteTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, onPreFileMutation, getDiagnostics, goalModeRef, opts?.getWriteGuardSettings),
88
88
  // Claude models get the flat edit shape (see createFlatEditTool).
89
89
  (opts?.provider === "anthropic" ? createFlatEditTool : createEditTool)(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, onPreFileMutation, getDiagnostics, goalModeRef, opts?.getWriteGuardSettings),
90
- createBashTool(cwd, processManager, ops, planModeRef, goalModeRef, undefined, opts?.getNetworkPolicy, ops === localOperations ? opts?.getSandboxPolicy : undefined),
90
+ createBashTool(cwd, processManager, ops, planModeRef, goalModeRef, undefined, opts?.getNetworkPolicy, ops === localOperations ? opts?.getSandboxPolicy : undefined, undefined, opts?.getPackageCooldownDays),
91
91
  createFindTool(cwd),
92
92
  createGrepTool(cwd, ops, { useExternalScanner: opts?.getUseExternalGrep }),
93
93
  createSearchCodeTool(cwd, ops),
@@ -112,8 +112,11 @@ export async function createTools(cwd, opts) {
112
112
  const steroidsBin = opts?.steroidsBin === undefined ? findSteroidsBinary() : opts.steroidsBin;
113
113
  if (steroidsBin)
114
114
  tools.push(createSteroidsTool(steroidsBin));
115
- // Add web search tool for providers without reliable native web search
116
- if (opts?.provider && opts.provider !== "anthropic") {
115
+ // Client web search. On Anthropic it is only the deferred catalog entry for
116
+ // the native server tool: once promoted, the transport swaps in
117
+ // `web_search_20250305` (same name) instead of this schema, and a call made
118
+ // before promotion runs this client search. See AgentSession.nativeWebSearchOn.
119
+ if (opts?.provider) {
117
120
  tools.push(createWebSearchTool(opts?.getNetworkPolicy));
118
121
  }
119
122
  let subAgentManager;
@@ -148,7 +151,7 @@ export async function createTools(cwd, opts) {
148
151
  tools.push(...createSubAgentControlTools(subAgentManager, planModeRef));
149
152
  }
150
153
  if (opts?.skills && opts.skills.length > 0) {
151
- tools.push(createSkillTool(opts.skills, opts.contextLimits));
154
+ tools.push(createSkillTool(opts.skills, opts.contextLimits, opts.blockedSkills));
152
155
  }
153
156
  if (opts?.onEnterPlan) {
154
157
  tools.push(createEnterPlanTool(opts.onEnterPlan));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,17 @@ export declare const TOOL_PROMPT_HINTS: Record<string, string>;
20
20
  */
21
21
  export declare const TOOL_STEERING_CLAUSES: ReadonlyArray<{
22
22
  needs: readonly string[];
23
+ /** Render only when changes go through one POSIX `bash` command (true) or not (false). */
24
+ oneCommandChanges?: boolean;
23
25
  text: string;
24
26
  }>;
27
+ /**
28
+ * Changes go through one shell command when `bash` is available and runs a
29
+ * POSIX shell (not the cmd.exe fallback on bash-less Windows).
30
+ */
31
+ export declare function usesOneCommandChanges(activeTools: readonly string[], posixShell: boolean): boolean;
25
32
  /** Build the steering line from whichever clauses apply to the active tools. */
26
- export declare function buildToolSteering(activeTools: readonly string[]): string;
33
+ export declare function buildToolSteering(activeTools: readonly string[], posixShell?: boolean): string;
27
34
  /**
28
35
  * Every tool name `createTools()` can register, including the conditional ones
29
36
  * (web_search on non-Anthropic providers, generate_image with OpenAI auth,
@@ -50,8 +50,19 @@ export const TOOL_PROMPT_HINTS = {
50
50
  * while costing ~95% fewer words.
51
51
  */
52
52
  export const TOOL_STEERING_CLAUSES = [
53
+ {
54
+ // Arena 2026-10-25 (Haiku 5.5, 8 tasks × 10 reps): with this replacing the
55
+ // edit-preference line and the Work section's script rule, GG ran the suite
56
+ // 21% faster and 19% cheaper, in fewer turns; on a one-line fix in a 700-line
57
+ // file it still never rewrote the file. `python3` is named because Haiku
58
+ // otherwise reaches for GNU `sed -i`, which fails on macOS.
59
+ needs: ["bash"],
60
+ oneCommandChanges: true,
61
+ text: "Make each change in one `bash` command that writes only what's new: `cat > file <<'EOF'` for a small file that mostly changes, a `python3` replace asserting exactly one match for a few lines of a bigger file, `cat >>` for added tests; end it with the test command.",
62
+ },
53
63
  {
54
64
  needs: ["edit", "write"],
65
+ oneCommandChanges: false,
55
66
  text: "Prefer `edit` over `write` for changes to existing files.",
56
67
  },
57
68
  {
@@ -66,10 +77,19 @@ export const TOOL_STEERING_CLAUSES = [
66
77
  text: "Batch independent reads/searches in one turn; they run in parallel.",
67
78
  },
68
79
  ];
80
+ /**
81
+ * Changes go through one shell command when `bash` is available and runs a
82
+ * POSIX shell (not the cmd.exe fallback on bash-less Windows).
83
+ */
84
+ export function usesOneCommandChanges(activeTools, posixShell) {
85
+ return posixShell && activeTools.includes("bash");
86
+ }
69
87
  /** Build the steering line from whichever clauses apply to the active tools. */
70
- export function buildToolSteering(activeTools) {
88
+ export function buildToolSteering(activeTools, posixShell = true) {
71
89
  const active = new Set(activeTools);
72
- return TOOL_STEERING_CLAUSES.filter((c) => c.needs.every((n) => active.has(n)))
90
+ const oneCommand = usesOneCommandChanges(activeTools, posixShell);
91
+ return TOOL_STEERING_CLAUSES.filter((c) => c.needs.every((n) => active.has(n)) &&
92
+ (c.oneCommandChanges === undefined || c.oneCommandChanges === oneCommand))
73
93
  .map((c) => c.text)
74
94
  .join(" ");
75
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shape-aware compaction for routine command output that is small enough to
3
+ * skip truncation (`renderBashOutput`'s under-limit path), where GG used to
4
+ * pass every byte through.
5
+ *
6
+ * The idea comes from rtk (rtk-ai/rtk), measured in the gg-bench goal
7
+ * (2026-10-24): on medium-sized output GG returned raw, rtk cut `git log` 58%,
8
+ * `git status` 60%, `ls -la` 80% and an all-green vitest run 99%. It also hid
9
+ * 676 of 726 `find` results and made failing vitest output 74% larger. So this
10
+ * copies only the lossless or near-lossless parts:
11
+ *
12
+ * - `git log` (default format): one header line per commit — 12-char hash,
13
+ * decorations, ISO-ish date, author + email — and the message, without the
14
+ * `commit`/`Author:`/`Date:` labels, blank separators and 4-space indent.
15
+ * - `git status` (long format): drops the `(use "git …")` hint lines only.
16
+ * - `ls -l`/`-la`: when every entry shares one owner and group, states them
17
+ * once and drops the link-count/owner/group columns.
18
+ * - all-green vitest/jest runs: replaces the per-FILE pass lines with a count.
19
+ * Per-test lines (`✓ name 542ms`, failures, skips) and the summary stay,
20
+ * because the compactor's failing-test carry-forward reads test-level lines.
21
+ *
22
+ * Never touched: failing test runs, file lists (`find`, `grep`), file dumps
23
+ * that don't match these shapes. Every transform is gated on an unambiguous
24
+ * shape and returns its input unchanged when anything doesn't fit.
25
+ */
26
+ export declare function compactRoutineOutput(raw: string): string;
27
+ export declare function compactGitLog(text: string): string;
28
+ export declare function compactGitStatus(text: string): string;
29
+ export declare function compactLsLong(text: string): string;
30
+ export declare function compactPassingTestRun(text: string): string;
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Shape-aware compaction for routine command output that is small enough to
3
+ * skip truncation (`renderBashOutput`'s under-limit path), where GG used to
4
+ * pass every byte through.
5
+ *
6
+ * The idea comes from rtk (rtk-ai/rtk), measured in the gg-bench goal
7
+ * (2026-10-24): on medium-sized output GG returned raw, rtk cut `git log` 58%,
8
+ * `git status` 60%, `ls -la` 80% and an all-green vitest run 99%. It also hid
9
+ * 676 of 726 `find` results and made failing vitest output 74% larger. So this
10
+ * copies only the lossless or near-lossless parts:
11
+ *
12
+ * - `git log` (default format): one header line per commit — 12-char hash,
13
+ * decorations, ISO-ish date, author + email — and the message, without the
14
+ * `commit`/`Author:`/`Date:` labels, blank separators and 4-space indent.
15
+ * - `git status` (long format): drops the `(use "git …")` hint lines only.
16
+ * - `ls -l`/`-la`: when every entry shares one owner and group, states them
17
+ * once and drops the link-count/owner/group columns.
18
+ * - all-green vitest/jest runs: replaces the per-FILE pass lines with a count.
19
+ * Per-test lines (`✓ name 542ms`, failures, skips) and the summary stay,
20
+ * because the compactor's failing-test carry-forward reads test-level lines.
21
+ *
22
+ * Never touched: failing test runs, file lists (`find`, `grep`), file dumps
23
+ * that don't match these shapes. Every transform is gated on an unambiguous
24
+ * shape and returns its input unchanged when anything doesn't fit.
25
+ */
26
+ export function compactRoutineOutput(raw) {
27
+ let text = raw;
28
+ text = compactGitLog(text);
29
+ text = compactGitStatus(text);
30
+ text = compactLsLong(text);
31
+ text = compactPassingTestRun(text);
32
+ return text;
33
+ }
34
+ /* ------------------------------------------------------------------ */
35
+ /* git log */
36
+ /* ------------------------------------------------------------------ */
37
+ const COMMIT_LINE = /^commit ([0-9a-f]{40})((?: \(.*\))?)$/;
38
+ const MONTHS = {
39
+ Jan: "01",
40
+ Feb: "02",
41
+ Mar: "03",
42
+ Apr: "04",
43
+ May: "05",
44
+ Jun: "06",
45
+ Jul: "07",
46
+ Aug: "08",
47
+ Sep: "09",
48
+ Oct: "10",
49
+ Nov: "11",
50
+ Dec: "12",
51
+ };
52
+ /** git's default date: `Sat Oct 24 01:23:14 2026 +0800`. */
53
+ const GIT_DEFAULT_DATE = /^\w{3} (\w{3}) (\d{1,2}) (\d{2}:\d{2}:\d{2}) (\d{4}) ([+-]\d{4})$/;
54
+ function compactDate(date) {
55
+ const m = GIT_DEFAULT_DATE.exec(date);
56
+ const month = m ? MONTHS[m[1]] : undefined;
57
+ if (!m || !month)
58
+ return date;
59
+ return `${m[4]}-${month}-${m[2].padStart(2, "0")} ${m[3]} ${m[5]}`;
60
+ }
61
+ export function compactGitLog(text) {
62
+ if (!/^commit [0-9a-f]{40}/m.test(text) || !/^Author: /m.test(text))
63
+ return text;
64
+ const lines = text.split("\n");
65
+ const out = [];
66
+ let changed = false;
67
+ let i = 0;
68
+ while (i < lines.length) {
69
+ const commit = COMMIT_LINE.exec(lines[i]);
70
+ if (!commit) {
71
+ out.push(lines[i]);
72
+ i++;
73
+ continue;
74
+ }
75
+ let j = i + 1;
76
+ let merge = "";
77
+ if (lines[j]?.startsWith("Merge: ")) {
78
+ merge = ` merge ${lines[j].slice("Merge: ".length).trim()}`;
79
+ j++;
80
+ }
81
+ const author = /^Author:\s+(.+)$/.exec(lines[j] ?? "");
82
+ const date = author ? /^Date:\s+(.+)$/.exec(lines[j + 1] ?? "") : null;
83
+ if (!author || !date || lines[j + 2] !== "") {
84
+ out.push(lines[i]);
85
+ i++;
86
+ continue;
87
+ }
88
+ j += 3;
89
+ // Message: 4-space-indented lines, with blank lines allowed between them.
90
+ const message = [];
91
+ while (j < lines.length) {
92
+ if (lines[j].startsWith(" ")) {
93
+ message.push(lines[j].slice(4));
94
+ j++;
95
+ }
96
+ else if (lines[j] === "" && lines[j + 1]?.startsWith(" ")) {
97
+ message.push("");
98
+ j++;
99
+ }
100
+ else
101
+ break;
102
+ }
103
+ const [subject = "", ...body] = message;
104
+ // Subject and body are separated by one blank line in git's layout.
105
+ if (body[0] === "")
106
+ body.shift();
107
+ out.push(`${commit[1].slice(0, 12)}${commit[2]} ${compactDate(date[1])} ${author[1]}${merge}`, ` ${subject}`, ...body.map((line) => (line ? ` ${line}` : "")));
108
+ // Drop the separator blank before the next commit; keep it before a diff.
109
+ if (lines[j] === "" && COMMIT_LINE.test(lines[j + 1] ?? ""))
110
+ j++;
111
+ changed = true;
112
+ i = j;
113
+ }
114
+ return changed ? out.join("\n") : text;
115
+ }
116
+ /* ------------------------------------------------------------------ */
117
+ /* git status */
118
+ /* ------------------------------------------------------------------ */
119
+ const STATUS_SECTION = /^(?:On branch \S+|HEAD detached (?:at|from) \S+|Changes to be committed:|Changes not staged for commit:|Untracked files:|Unmerged paths:)$/m;
120
+ const STATUS_HINT = /^\s+\((?:use "git [^"]*"(?:,? (?:and\/or|or) "git [^"]*")*[^()]*|commit or discard the untracked or modified content in submodules)\)$/;
121
+ export function compactGitStatus(text) {
122
+ if (!STATUS_SECTION.test(text))
123
+ return text;
124
+ const lines = text.split("\n");
125
+ const kept = lines.filter((line) => !STATUS_HINT.test(line));
126
+ return kept.length === lines.length ? text : kept.join("\n");
127
+ }
128
+ /* ------------------------------------------------------------------ */
129
+ /* ls -l / ls -la */
130
+ /* ------------------------------------------------------------------ */
131
+ /** perms, links, owner, group, then size (`1234`, `10K`, or `8, 1` for devices). */
132
+ const LS_ENTRY = /^([bcdlps-][rwxsStT-]{9}[@+.]?)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\d[\d.,]*[KMGTPB]?,?\s.*)$/;
133
+ const MIN_LS_ENTRIES = 5;
134
+ export function compactLsLong(text) {
135
+ if (!/^total \d+/m.test(text))
136
+ return text;
137
+ const lines = text.split("\n");
138
+ const out = [];
139
+ let changed = false;
140
+ let i = 0;
141
+ while (i < lines.length) {
142
+ if (!/^total \d+$/.test(lines[i])) {
143
+ out.push(lines[i]);
144
+ i++;
145
+ continue;
146
+ }
147
+ let j = i + 1;
148
+ const entries = [];
149
+ while (j < lines.length) {
150
+ const m = LS_ENTRY.exec(lines[j]);
151
+ if (!m)
152
+ break;
153
+ entries.push(m);
154
+ j++;
155
+ }
156
+ const blockEnds = j >= lines.length || lines[j] === "";
157
+ const owner = entries[0]?.[3];
158
+ const group = entries[0]?.[4];
159
+ const uniform = entries.every((m) => m[3] === owner && m[4] === group);
160
+ if (!blockEnds || entries.length < MIN_LS_ENTRIES || !uniform) {
161
+ out.push(...lines.slice(i, j));
162
+ i = j;
163
+ continue;
164
+ }
165
+ out.push(`${lines[i]} (owner ${owner}, group ${group} for all entries; link counts omitted)`);
166
+ for (const m of entries)
167
+ out.push(`${m[1]} ${m[5]}`);
168
+ changed = true;
169
+ i = j;
170
+ }
171
+ return changed ? out.join("\n") : text;
172
+ }
173
+ /* ------------------------------------------------------------------ */
174
+ /* all-green vitest / jest runs */
175
+ /* ------------------------------------------------------------------ */
176
+ /** A file-level vitest pass line: ` ✓ src/a.test.ts (12 tests) 3ms` — no skips. */
177
+ const VITEST_FILE_PASS = /^ ?[✓√] \S+ \(\d+ tests?\)(?: \d+(?:\.\d+)?m?s)?$/;
178
+ const JEST_FILE_PASS = /^ ?PASS \S+(?: \(\d+(?:\.\d+)? ?m?s\))?$/;
179
+ const ANY_FAILURE = /\b\d+ failed\b|^\s*(?:FAIL|[×✕❯])\s/m;
180
+ export function compactPassingTestRun(text) {
181
+ const vitest = /^\s*Test Files\s+\d+ passed/m.test(text);
182
+ const jest = /^Test Suites:\s+\d+ passed, \d+ total/m.test(text);
183
+ if ((!vitest && !jest) || ANY_FAILURE.test(text))
184
+ return text;
185
+ const fileLine = vitest ? VITEST_FILE_PASS : JEST_FILE_PASS;
186
+ const lines = text.split("\n");
187
+ const count = lines.filter((line) => fileLine.test(line)).length;
188
+ if (count < 2)
189
+ return text;
190
+ const out = [];
191
+ let noted = false;
192
+ for (const line of lines) {
193
+ if (!fileLine.test(line)) {
194
+ out.push(line);
195
+ }
196
+ else if (!noted) {
197
+ out.push(`[${count} passing test files not listed — all passed; summary below]`);
198
+ noted = true;
199
+ }
200
+ }
201
+ return out.join("\n");
202
+ }
203
+ //# sourceMappingURL=routine-output.js.map