@namzu/cli 29.1.0 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.md +296 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +5 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/acp.d.ts +20 -2
  6. package/dist/commands/acp.d.ts.map +1 -1
  7. package/dist/commands/acp.js +42 -5
  8. package/dist/commands/acp.js.map +1 -1
  9. package/dist/commands/drain.d.ts.map +1 -1
  10. package/dist/commands/drain.js +2 -1
  11. package/dist/commands/drain.js.map +1 -1
  12. package/dist/commands/exec-json.d.ts.map +1 -1
  13. package/dist/commands/exec-json.js +24 -1
  14. package/dist/commands/exec-json.js.map +1 -1
  15. package/dist/commands/exec.d.ts.map +1 -1
  16. package/dist/commands/exec.js +5 -1
  17. package/dist/commands/exec.js.map +1 -1
  18. package/dist/commands/prior-messages.d.ts.map +1 -1
  19. package/dist/commands/prior-messages.js +42 -2
  20. package/dist/commands/prior-messages.js.map +1 -1
  21. package/dist/commands/schedule.d.ts.map +1 -1
  22. package/dist/commands/schedule.js +7 -5
  23. package/dist/commands/schedule.js.map +1 -1
  24. package/dist/config/composer-triggers.d.ts +41 -0
  25. package/dist/config/composer-triggers.d.ts.map +1 -0
  26. package/dist/config/composer-triggers.js +80 -0
  27. package/dist/config/composer-triggers.js.map +1 -0
  28. package/dist/config/load.d.ts.map +1 -1
  29. package/dist/config/load.js +58 -0
  30. package/dist/config/load.js.map +1 -1
  31. package/dist/config/schema.d.ts +34 -0
  32. package/dist/config/schema.d.ts.map +1 -1
  33. package/dist/config/schema.js.map +1 -1
  34. package/dist/context/doctrine.d.ts +3 -3
  35. package/dist/context/doctrine.d.ts.map +1 -1
  36. package/dist/context/doctrine.js +3 -3
  37. package/dist/context/doctrine.js.map +1 -1
  38. package/dist/context/environment.d.ts +26 -3
  39. package/dist/context/environment.d.ts.map +1 -1
  40. package/dist/context/environment.js +68 -9
  41. package/dist/context/environment.js.map +1 -1
  42. package/dist/context/runtime-message.d.ts.map +1 -1
  43. package/dist/context/runtime-message.js +4 -0
  44. package/dist/context/runtime-message.js.map +1 -1
  45. package/dist/integrations/mcp/servers.d.ts +72 -5
  46. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  47. package/dist/integrations/mcp/servers.js +144 -23
  48. package/dist/integrations/mcp/servers.js.map +1 -1
  49. package/dist/integrations/notifications/desktop.d.ts +2 -0
  50. package/dist/integrations/notifications/desktop.d.ts.map +1 -1
  51. package/dist/integrations/notifications/desktop.js +6 -5
  52. package/dist/integrations/notifications/desktop.js.map +1 -1
  53. package/dist/integrations/plugins/runtime.d.ts +10 -2
  54. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  55. package/dist/integrations/plugins/runtime.js +16 -29
  56. package/dist/integrations/plugins/runtime.js.map +1 -1
  57. package/dist/integrations/providers/harness-credentials.d.ts +9 -4
  58. package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
  59. package/dist/integrations/providers/harness-credentials.js +16 -8
  60. package/dist/integrations/providers/harness-credentials.js.map +1 -1
  61. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  62. package/dist/integrations/resident/session-step.js +2 -1
  63. package/dist/integrations/resident/session-step.js.map +1 -1
  64. package/dist/integrations/sessions/store.d.ts.map +1 -1
  65. package/dist/integrations/sessions/store.js +20 -2
  66. package/dist/integrations/sessions/store.js.map +1 -1
  67. package/dist/integrations/subagents/NamzuCliAgent.d.ts +8 -0
  68. package/dist/integrations/subagents/NamzuCliAgent.d.ts.map +1 -0
  69. package/dist/integrations/subagents/NamzuCliAgent.js +9 -0
  70. package/dist/integrations/subagents/NamzuCliAgent.js.map +1 -0
  71. package/dist/integrations/subagents/runtime.d.ts +5 -4
  72. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  73. package/dist/integrations/subagents/runtime.js +46 -11
  74. package/dist/integrations/subagents/runtime.js.map +1 -1
  75. package/dist/integrations/web/open-url.d.ts +24 -0
  76. package/dist/integrations/web/open-url.d.ts.map +1 -0
  77. package/dist/integrations/web/open-url.js +73 -0
  78. package/dist/integrations/web/open-url.js.map +1 -0
  79. package/dist/integrations/web/search.d.ts.map +1 -1
  80. package/dist/integrations/web/search.js +8 -6
  81. package/dist/integrations/web/search.js.map +1 -1
  82. package/dist/permissions/rules.d.ts +5 -1
  83. package/dist/permissions/rules.d.ts.map +1 -1
  84. package/dist/permissions/rules.js +85 -3
  85. package/dist/permissions/rules.js.map +1 -1
  86. package/dist/schedule/build.d.ts +26 -2
  87. package/dist/schedule/build.d.ts.map +1 -1
  88. package/dist/schedule/build.js +139 -20
  89. package/dist/schedule/build.js.map +1 -1
  90. package/dist/schedule/changes.d.ts +6 -0
  91. package/dist/schedule/changes.d.ts.map +1 -1
  92. package/dist/schedule/changes.js +23 -0
  93. package/dist/schedule/changes.js.map +1 -1
  94. package/dist/schedule/commands/add.d.ts +1 -1
  95. package/dist/schedule/commands/add.d.ts.map +1 -1
  96. package/dist/schedule/commands/add.js +188 -54
  97. package/dist/schedule/commands/add.js.map +1 -1
  98. package/dist/schedule/commands/lifecycle.d.ts.map +1 -1
  99. package/dist/schedule/commands/lifecycle.js +2 -1
  100. package/dist/schedule/commands/lifecycle.js.map +1 -1
  101. package/dist/schedule/commands/list.d.ts +2 -0
  102. package/dist/schedule/commands/list.d.ts.map +1 -1
  103. package/dist/schedule/commands/list.js +69 -20
  104. package/dist/schedule/commands/list.js.map +1 -1
  105. package/dist/schedule/daemon/daemon.d.ts +1 -1
  106. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  107. package/dist/schedule/daemon/daemon.js +22 -5
  108. package/dist/schedule/daemon/daemon.js.map +1 -1
  109. package/dist/schedule/daemon/notify.d.ts +29 -2
  110. package/dist/schedule/daemon/notify.d.ts.map +1 -1
  111. package/dist/schedule/daemon/notify.js +71 -2
  112. package/dist/schedule/daemon/notify.js.map +1 -1
  113. package/dist/schedule/env.d.ts +8 -4
  114. package/dist/schedule/env.d.ts.map +1 -1
  115. package/dist/schedule/env.js +13 -6
  116. package/dist/schedule/env.js.map +1 -1
  117. package/dist/schedule/fire/calls.d.ts +49 -0
  118. package/dist/schedule/fire/calls.d.ts.map +1 -0
  119. package/dist/schedule/fire/calls.js +114 -0
  120. package/dist/schedule/fire/calls.js.map +1 -0
  121. package/dist/schedule/fire/fire.d.ts +1 -1
  122. package/dist/schedule/fire/fire.d.ts.map +1 -1
  123. package/dist/schedule/fire/fire.js +209 -15
  124. package/dist/schedule/fire/fire.js.map +1 -1
  125. package/dist/schedule/fire/result.d.ts +1 -1
  126. package/dist/schedule/fire/result.d.ts.map +1 -1
  127. package/dist/schedule/fire/result.js +2 -1
  128. package/dist/schedule/fire/result.js.map +1 -1
  129. package/dist/schedule/fire/run-script.d.ts +46 -0
  130. package/dist/schedule/fire/run-script.d.ts.map +1 -0
  131. package/dist/schedule/fire/run-script.js +81 -0
  132. package/dist/schedule/fire/run-script.js.map +1 -0
  133. package/dist/schedule/fire/unattended-note.d.ts +8 -0
  134. package/dist/schedule/fire/unattended-note.d.ts.map +1 -1
  135. package/dist/schedule/fire/unattended-note.js +5 -0
  136. package/dist/schedule/fire/unattended-note.js.map +1 -1
  137. package/dist/schedule/fire/wake-gate.d.ts +39 -0
  138. package/dist/schedule/fire/wake-gate.d.ts.map +1 -0
  139. package/dist/schedule/fire/wake-gate.js +90 -0
  140. package/dist/schedule/fire/wake-gate.js.map +1 -0
  141. package/dist/schedule/floor.d.ts +28 -8
  142. package/dist/schedule/floor.d.ts.map +1 -1
  143. package/dist/schedule/floor.js +624 -114
  144. package/dist/schedule/floor.js.map +1 -1
  145. package/dist/schedule/policy.d.ts +40 -0
  146. package/dist/schedule/policy.d.ts.map +1 -1
  147. package/dist/schedule/policy.js +36 -0
  148. package/dist/schedule/policy.js.map +1 -1
  149. package/dist/schedule/script-check.d.ts +53 -0
  150. package/dist/schedule/script-check.d.ts.map +1 -0
  151. package/dist/schedule/script-check.js +145 -0
  152. package/dist/schedule/script-check.js.map +1 -0
  153. package/dist/schedule/script-shell.d.ts +3 -0
  154. package/dist/schedule/script-shell.d.ts.map +1 -0
  155. package/dist/schedule/script-shell.js +5 -0
  156. package/dist/schedule/script-shell.js.map +1 -0
  157. package/dist/schedule/service/index.d.ts +1 -1
  158. package/dist/schedule/service/index.d.ts.map +1 -1
  159. package/dist/schedule/service/index.js +20 -11
  160. package/dist/schedule/service/index.js.map +1 -1
  161. package/dist/schedule/service/manifest.js +1 -1
  162. package/dist/schedule/service/manifest.js.map +1 -1
  163. package/dist/schedule/service/windows-task.d.ts +7 -0
  164. package/dist/schedule/service/windows-task.d.ts.map +1 -1
  165. package/dist/schedule/service/windows-task.js +65 -0
  166. package/dist/schedule/service/windows-task.js.map +1 -1
  167. package/dist/schedule/service/wsl.d.ts +13 -1
  168. package/dist/schedule/service/wsl.d.ts.map +1 -1
  169. package/dist/schedule/service/wsl.js +16 -6
  170. package/dist/schedule/service/wsl.js.map +1 -1
  171. package/dist/schedule/store/atomic.d.ts +5 -2
  172. package/dist/schedule/store/atomic.d.ts.map +1 -1
  173. package/dist/schedule/store/atomic.js +7 -4
  174. package/dist/schedule/store/atomic.js.map +1 -1
  175. package/dist/schedule/store/claims.js +1 -1
  176. package/dist/schedule/store/claims.js.map +1 -1
  177. package/dist/schedule/store/history.d.ts +1 -1
  178. package/dist/schedule/store/history.d.ts.map +1 -1
  179. package/dist/schedule/store/history.js +4 -1
  180. package/dist/schedule/store/history.js.map +1 -1
  181. package/dist/schedule/store/jobs.d.ts +19 -3
  182. package/dist/schedule/store/jobs.d.ts.map +1 -1
  183. package/dist/schedule/store/jobs.js +83 -16
  184. package/dist/schedule/store/jobs.js.map +1 -1
  185. package/dist/schedule/store/state.js +1 -1
  186. package/dist/schedule/store/state.js.map +1 -1
  187. package/dist/schedule/types.d.ts +98 -6
  188. package/dist/schedule/types.d.ts.map +1 -1
  189. package/dist/schedule/types.js +25 -1
  190. package/dist/schedule/types.js.map +1 -1
  191. package/dist/schedule/visible-source.d.ts +18 -0
  192. package/dist/schedule/visible-source.d.ts.map +1 -0
  193. package/dist/schedule/visible-source.js +59 -0
  194. package/dist/schedule/visible-source.js.map +1 -0
  195. package/dist/skills/directory.d.ts +38 -0
  196. package/dist/skills/directory.d.ts.map +1 -0
  197. package/dist/skills/directory.js +51 -0
  198. package/dist/skills/directory.js.map +1 -0
  199. package/dist/test-support/toolset.d.ts +23 -0
  200. package/dist/test-support/toolset.d.ts.map +1 -0
  201. package/dist/test-support/toolset.js +27 -0
  202. package/dist/test-support/toolset.js.map +1 -0
  203. package/dist/tui/App.d.ts.map +1 -1
  204. package/dist/tui/App.js +343 -64
  205. package/dist/tui/App.js.map +1 -1
  206. package/dist/tui/ChoicePicker.d.ts +2 -0
  207. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  208. package/dist/tui/ChoicePicker.js +10 -2
  209. package/dist/tui/ChoicePicker.js.map +1 -1
  210. package/dist/tui/Composer.d.ts +62 -3
  211. package/dist/tui/Composer.d.ts.map +1 -1
  212. package/dist/tui/Composer.js +162 -25
  213. package/dist/tui/Composer.js.map +1 -1
  214. package/dist/tui/ComposerFrame.d.ts +1 -1
  215. package/dist/tui/ComposerFrame.js +3 -3
  216. package/dist/tui/ComposerFrame.js.map +1 -1
  217. package/dist/tui/EffortSlider.d.ts +8 -9
  218. package/dist/tui/EffortSlider.d.ts.map +1 -1
  219. package/dist/tui/EffortSlider.js +15 -12
  220. package/dist/tui/EffortSlider.js.map +1 -1
  221. package/dist/tui/PermissionOverlay.d.ts +13 -1
  222. package/dist/tui/PermissionOverlay.d.ts.map +1 -1
  223. package/dist/tui/PermissionOverlay.js +26 -4
  224. package/dist/tui/PermissionOverlay.js.map +1 -1
  225. package/dist/tui/StatusBar.d.ts +12 -12
  226. package/dist/tui/StatusBar.d.ts.map +1 -1
  227. package/dist/tui/StatusBar.js +15 -15
  228. package/dist/tui/StatusBar.js.map +1 -1
  229. package/dist/tui/agent.d.ts +73 -12
  230. package/dist/tui/agent.d.ts.map +1 -1
  231. package/dist/tui/agent.js +430 -180
  232. package/dist/tui/agent.js.map +1 -1
  233. package/dist/tui/hypermode.d.ts +37 -0
  234. package/dist/tui/hypermode.d.ts.map +1 -0
  235. package/dist/tui/hypermode.js +58 -0
  236. package/dist/tui/hypermode.js.map +1 -0
  237. package/dist/tui/open-browser.d.ts +29 -1
  238. package/dist/tui/open-browser.d.ts.map +1 -1
  239. package/dist/tui/open-browser.js +83 -11
  240. package/dist/tui/open-browser.js.map +1 -1
  241. package/dist/tui/permission-review.d.ts +11 -2
  242. package/dist/tui/permission-review.d.ts.map +1 -1
  243. package/dist/tui/permission-review.js +176 -19
  244. package/dist/tui/permission-review.js.map +1 -1
  245. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  246. package/dist/tui/schedule/host-commands.js +95 -33
  247. package/dist/tui/schedule/host-commands.js.map +1 -1
  248. package/dist/tui/schedule/integration.d.ts +6 -2
  249. package/dist/tui/schedule/integration.d.ts.map +1 -1
  250. package/dist/tui/schedule/integration.js +3 -1
  251. package/dist/tui/schedule/integration.js.map +1 -1
  252. package/dist/tui/schedule/resume.d.ts.map +1 -1
  253. package/dist/tui/schedule/resume.js +10 -1
  254. package/dist/tui/schedule/resume.js.map +1 -1
  255. package/dist/tui/schedule/tool-host.d.ts +18 -1
  256. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  257. package/dist/tui/schedule/tool-host.js +384 -84
  258. package/dist/tui/schedule/tool-host.js.map +1 -1
  259. package/dist/tui/slashCommands.d.ts +23 -5
  260. package/dist/tui/slashCommands.d.ts.map +1 -1
  261. package/dist/tui/slashCommands.js +80 -31
  262. package/dist/tui/slashCommands.js.map +1 -1
  263. package/dist/tui/theme.d.ts +10 -4
  264. package/dist/tui/theme.d.ts.map +1 -1
  265. package/dist/tui/theme.js +4 -3
  266. package/dist/tui/theme.js.map +1 -1
  267. package/dist/tui/triggers/analyze.d.ts +57 -0
  268. package/dist/tui/triggers/analyze.d.ts.map +1 -0
  269. package/dist/tui/triggers/analyze.js +221 -0
  270. package/dist/tui/triggers/analyze.js.map +1 -0
  271. package/dist/tui/triggers/context-text.d.ts +21 -0
  272. package/dist/tui/triggers/context-text.d.ts.map +1 -0
  273. package/dist/tui/triggers/context-text.js +44 -0
  274. package/dist/tui/triggers/context-text.js.map +1 -0
  275. package/dist/tui/triggers/copy.d.ts +38 -0
  276. package/dist/tui/triggers/copy.d.ts.map +1 -0
  277. package/dist/tui/triggers/copy.js +163 -0
  278. package/dist/tui/triggers/copy.js.map +1 -0
  279. package/dist/tui/triggers/detect.d.ts +83 -0
  280. package/dist/tui/triggers/detect.d.ts.map +1 -0
  281. package/dist/tui/triggers/detect.js +295 -0
  282. package/dist/tui/triggers/detect.js.map +1 -0
  283. package/dist/tui/triggers/fold.d.ts +34 -0
  284. package/dist/tui/triggers/fold.d.ts.map +1 -0
  285. package/dist/tui/triggers/fold.js +44 -0
  286. package/dist/tui/triggers/fold.js.map +1 -0
  287. package/dist/tui/triggers/pattern.d.ts +66 -0
  288. package/dist/tui/triggers/pattern.d.ts.map +1 -0
  289. package/dist/tui/triggers/pattern.js +243 -0
  290. package/dist/tui/triggers/pattern.js.map +1 -0
  291. package/dist/tui/triggers/provenance.d.ts +58 -0
  292. package/dist/tui/triggers/provenance.d.ts.map +1 -0
  293. package/dist/tui/triggers/provenance.js +98 -0
  294. package/dist/tui/triggers/provenance.js.map +1 -0
  295. package/dist/tui/triggers/registry.d.ts +113 -0
  296. package/dist/tui/triggers/registry.d.ts.map +1 -0
  297. package/dist/tui/triggers/registry.js +164 -0
  298. package/dist/tui/triggers/registry.js.map +1 -0
  299. package/dist/tui/triggers/setting.d.ts +18 -0
  300. package/dist/tui/triggers/setting.d.ts.map +1 -0
  301. package/dist/tui/triggers/setting.js +61 -0
  302. package/dist/tui/triggers/setting.js.map +1 -0
  303. package/dist/tui/triggers/verbs.d.ts +29 -0
  304. package/dist/tui/triggers/verbs.d.ts.map +1 -0
  305. package/dist/tui/triggers/verbs.js +140 -0
  306. package/dist/tui/triggers/verbs.js.map +1 -0
  307. package/dist/tui/types.d.ts +3 -1
  308. package/dist/tui/types.d.ts.map +1 -1
  309. package/package.json +12 -12
  310. package/skills/README.md +5 -0
  311. package/skills/schedule-task/SKILL.md +123 -5
@@ -23,7 +23,7 @@
23
23
  * exits. The daemon never kills a run by a pid it read from disk.
24
24
  */
25
25
  import { hostname } from 'node:os';
26
- import { TurnCancelled, asSessionId, describeSchedule, hostTimeZone, releaseHeldSessionLeases, } from '@namzu/sdk';
26
+ import { TurnCancelled, asSessionId, describeSchedule, hostTimeZone, installedCommandShellForDialect, releaseHeldSessionLeases, revealHiddenCharacters, scanSchedulePrompt, } from '@namzu/sdk';
27
27
  import { pauseWait } from '../../commands/provider-wait.js';
28
28
  import { readPermissionLayers } from '../../config/load.js';
29
29
  import { resolveTrustedProjectContext } from '../../config/trusted-project-context.js';
@@ -31,14 +31,21 @@ import { sanitizeLine, summaryOf } from '../../integrations/notifications/deskto
31
31
  import { closeSessions, openSessions, setTitle, startConversation, } from '../../integrations/sessions/store.js';
32
32
  import { cliLogger, createStderrSink, installCliLogging } from '../../logging.js';
33
33
  import { describeTurnInterruption, retryAfterMs } from '../../tui/turn-interruption.js';
34
+ import { DEFAULT_WAKE_GATE_CONTEXT_CHARS } from '../build.js';
34
35
  import { readDaemonEnv } from '../env.js';
35
36
  import { checkJobFolder, folderReadable } from '../folder.js';
36
- import { compileJobPolicy, withheldTools } from '../policy.js';
37
+ import { compileJobPolicy, compileScriptCheckPolicy, withheldTools } from '../policy.js';
38
+ import { verifyScheduledScript } from '../script-check.js';
39
+ import { scriptShellUnavailableReason } from '../script-shell.js';
37
40
  import { computeProjectDigest, projectDigestChanges } from '../store/digest.js';
38
41
  import { confirmationHolds, readJob } from '../store/jobs.js';
42
+ import { runResultVersion, } from '../types.js';
39
43
  import { browserPreflight } from './browser-preflight.js';
44
+ import { CallTally } from './calls.js';
40
45
  import { writeRunResult } from './result.js';
46
+ import { capOutput, runScript } from './run-script.js';
41
47
  import { unattendedNote } from './unattended-note.js';
48
+ import { parseWakeGateOutput } from './wake-gate.js';
42
49
  export const HOLD_REASON = 'Scheduled run: waiting for the operator to approve';
43
50
  /** How long past the turn's own timeout the child waits before it stops itself. */
44
51
  export const WATCHDOG_GRACE_MS = 60_000;
@@ -74,15 +81,27 @@ export function parseFireArgs(argv) {
74
81
  function credentialSource(source) {
75
82
  switch (source.kind) {
76
83
  case 'env':
77
- return { text: `environment variable ${source.envName ?? ''}`.trim(), borrowed: false };
84
+ return {
85
+ text: `environment variable ${source.envName ?? ''}`.trim(),
86
+ borrowed: false,
87
+ };
78
88
  case 'claude-file':
79
- return { text: `Claude Code's sign-in (${source.path ?? ''})`, borrowed: true };
89
+ return {
90
+ text: `Claude Code's sign-in (${source.path ?? ''})`,
91
+ borrowed: true,
92
+ };
80
93
  case 'codex-file':
81
94
  return { text: `Codex's sign-in (${source.path ?? ''})`, borrowed: true };
82
95
  case 'gemini-file':
83
- return { text: `Gemini CLI's sign-in (${source.path ?? ''})`, borrowed: true };
96
+ return {
97
+ text: `Gemini CLI's sign-in (${source.path ?? ''})`,
98
+ borrowed: true,
99
+ };
84
100
  case 'stored':
85
- return { text: `namzu's credential store (${source.path ?? ''})`, borrowed: false };
101
+ return {
102
+ text: `namzu's credential store (${source.path ?? ''})`,
103
+ borrowed: false,
104
+ };
86
105
  case 'keychain':
87
106
  return { text: 'the system keychain', borrowed: true };
88
107
  default:
@@ -106,6 +125,12 @@ export async function runFire(ctx, paths, args, deps = {}) {
106
125
  let turnId;
107
126
  const warnings = [];
108
127
  const found = {};
128
+ let calls = new CallTally();
129
+ // `script+agent` only: set once its gate has run, so every finish() from
130
+ // here on — whichever status the rest of this function reaches — carries
131
+ // it, the same way sessionId/turnId are threaded through `base()`.
132
+ let gateResult;
133
+ let scriptOutput;
109
134
  const base = () => ({
110
135
  v: 1,
111
136
  kind: 'schedule-run-result',
@@ -117,13 +142,23 @@ export async function runFire(ctx, paths, args, deps = {}) {
117
142
  ...(turnId ? { turnId } : {}),
118
143
  ...(found.credential ? { credentialSource: found.credential } : {}),
119
144
  ...(warnings.length > 0 ? { warnings: [...warnings] } : {}),
145
+ ...(gateResult ? { gateResult } : {}),
146
+ ...(scriptOutput ? { scriptOutput } : {}),
147
+ ...calls.tallies(),
120
148
  });
121
149
  // Once the watchdog has recorded the wall clock, nothing after it rewrites the result.
122
150
  let settledByWatchdog = false;
123
151
  const finish = (status, exitCode, extra = {}) => {
124
152
  if (settledByWatchdog)
125
153
  return 1;
126
- writeRunResult(paths, { ...base(), status, exitCode, endedAt: now().toISOString(), ...extra });
154
+ const result = {
155
+ ...base(),
156
+ status,
157
+ exitCode,
158
+ endedAt: now().toISOString(),
159
+ ...extra,
160
+ };
161
+ writeRunResult(paths, { ...result, v: runResultVersion(result) });
127
162
  log.info('scheduled run finished', {
128
163
  'namzu.schedule.job_id': args.jobId,
129
164
  'namzu.schedule.run_id': args.runId,
@@ -151,6 +186,16 @@ export async function runFire(ctx, paths, args, deps = {}) {
151
186
  if (!confirmationHolds(job)) {
152
187
  return blocked(`job changed outside namzu since it was confirmed; run namzu schedule confirm ${job.name}`);
153
188
  }
189
+ const runKind = job.runKind ?? 'agent';
190
+ if (runKind !== 'agent' && runKind !== 'script' && runKind !== 'script+agent') {
191
+ return blocked(`the job has an unknown run kind: ${String(runKind)}`);
192
+ }
193
+ if (runKind !== 'agent' && !job.script) {
194
+ return blocked(`the ${runKind} job has no script recorded`);
195
+ }
196
+ const model = job.model;
197
+ if (runKind !== 'script' && !model)
198
+ return blocked('an agent job has no model; edit the job and confirm it again');
154
199
  // ── the folder, as trusted ────────────────────────────────────────────
155
200
  const folder = checkJobFolder(job.folder.path, { namzuHome: paths.home });
156
201
  if (!folder.ok)
@@ -190,6 +235,100 @@ export async function runFire(ctx, paths, args, deps = {}) {
190
235
  // worse than not running.
191
236
  return blocked(`permission rules do not compile: ${policy.diagnostics.join('; ')}`);
192
237
  }
238
+ // ── a pure script job: no model, no session, no browser or provider ────
239
+ // Everything above already re-verified the job is active, its
240
+ // confirmation still holds (which now covers the script's own text), its
241
+ // folder is the confirmed one and its project config has not drifted —
242
+ // exactly what an agent run checks before it opens a session. A script
243
+ // job stops here instead of going any further.
244
+ // `build.ts` already refuses to CREATE a script/script+agent job on
245
+ // native (non-WSL) Windows, but a job confirmed on WSL or Linux can still
246
+ // be fired by a daemon that later finds itself running on native Windows
247
+ // (a moved NAMZU_HOME, a machine re-imaged from WSL to a native install).
248
+ // The `sh` dialect label `verifyScheduledScript` checked the job's script
249
+ // against is shared by POSIX sh AND cmd.exe, so a dialect match alone
250
+ // does not mean the floor actually read what would run; refuse here too,
251
+ // the same way the dialect-mismatch check below refuses a changed shell.
252
+ if (runKind !== 'agent' && process.platform === 'win32') {
253
+ return blocked(`a ${runKind} job cannot run on native Windows: its script would run through cmd.exe, read only as a loose approximation the floor cannot fully verify. Use WSL, where a job's script runs on the Linux side, or an agent job.`);
254
+ }
255
+ const selectedScriptShell = runKind !== 'agent' && job.script
256
+ ? installedCommandShellForDialect(job.script.shell)
257
+ : undefined;
258
+ if (runKind !== 'agent' && job.script && !selectedScriptShell)
259
+ return blocked(scriptShellUnavailableReason(job.script.shell));
260
+ if (runKind !== 'agent' && job.script && selectedScriptShell) {
261
+ // The digest binds the script's own text and the job's OWN rules, but
262
+ // not a config file's `deny` rules — those can gain a new one after
263
+ // confirmation without the digest ever changing. An agent phase would
264
+ // see that new deny on its very next live call; a script has no live
265
+ // calls to see it with, so it is re-verified fresh, every fire, the
266
+ // same way a moved folder or a changed project config already is.
267
+ const scriptPolicy = compileScriptCheckPolicy(job.permissions, {
268
+ layers,
269
+ namzuHome: paths.home,
270
+ folder: job.folder,
271
+ });
272
+ const checked = verifyScheduledScript(job.script.body, selectedScriptShell.dialect, scriptPolicy);
273
+ if (!checked.ok) {
274
+ return blocked(`the ${runKind === 'script' ? 'script' : 'wake-gate script'} is no longer allowed: ${checked.reason}; run namzu schedule confirm ${job.name} once it is fixed`);
275
+ }
276
+ }
277
+ if (runKind === 'script') {
278
+ return runScriptJob(job, folder.canonical, paths, deps, selectedScriptShell, finish, blocked);
279
+ }
280
+ if (!model)
281
+ return blocked('an agent job has no model; edit the job and confirm it again');
282
+ // ── script+agent's wake-gate: a cheap script decides whether the
283
+ // (expensive) agent phase is worth running at all ─────────────────────
284
+ let wakeGateContext;
285
+ if (runKind === 'script+agent') {
286
+ const script = job.script;
287
+ if (!script)
288
+ return blocked(`${job.name} is a script+agent job with no wake-gate recorded`);
289
+ const gateEnv = { ...(deps.env ?? process.env), NAMZU_HOME: paths.home };
290
+ const gate = await runScript(script.body, script.shell, {
291
+ cwd: folder.canonical,
292
+ env: gateEnv,
293
+ timeoutMs: script.timeoutMs,
294
+ resolvedShell: selectedScriptShell,
295
+ });
296
+ if (gate.shellUnavailable)
297
+ return blocked(scriptShellUnavailableReason(gate.shellUnavailable));
298
+ if (gate.dialectMismatch) {
299
+ return blocked(`the wake-gate script was confirmed for ${gate.dialectMismatch.expected}, but this host now runs commands as ${gate.dialectMismatch.actual}; run namzu schedule confirm ${job.name} to verify it in the shell that will actually run it`);
300
+ }
301
+ scriptOutput = {
302
+ stdout: capOutput(gate.stdout),
303
+ stderr: capOutput(gate.stderr),
304
+ };
305
+ if (gate.timedOut) {
306
+ return finish('check-failed', 1, {
307
+ reason: `the wake-gate script exceeded its ${script.timeoutMs} ms timeout`,
308
+ });
309
+ }
310
+ if (gate.exitCode !== 0) {
311
+ return finish('check-failed', 1, {
312
+ reason: `the wake-gate script exited ${gate.exitCode ?? 'without a code'}`,
313
+ });
314
+ }
315
+ const parsed = parseWakeGateOutput(gate.stdout, job.wakeGate?.maxContextChars ?? DEFAULT_WAKE_GATE_CONTEXT_CHARS);
316
+ if (!parsed.ok)
317
+ return finish('check-failed', 1, { reason: parsed.reason });
318
+ gateResult = {
319
+ wake: parsed.result.wake,
320
+ contextChars: parsed.result.context.length,
321
+ };
322
+ if (!parsed.result.wake)
323
+ return finish('completed', 0, {});
324
+ // A warning only: runtime output is not something anyone confirms in
325
+ // advance, so this never blocks the way the same scan can gate a
326
+ // proposed prompt.
327
+ const findings = scanSchedulePrompt(parsed.result.context);
328
+ if (findings.length > 0)
329
+ warnings.push(...findings.map((f) => `wake-gate context: ${f}`));
330
+ wakeGateContext = revealHiddenCharacters(parsed.result.context);
331
+ }
193
332
  // ── the browser, when the job has one ─────────────────────────────────
194
333
  const grant = job.permissions.browser;
195
334
  let browser;
@@ -208,9 +347,9 @@ export async function runFire(ctx, paths, args, deps = {}) {
208
347
  const discoveryEnv = { ...(deps.env ?? process.env), ...daemonEnv.values };
209
348
  const agent = deps.agent ?? (await import('../../tui/agent.js'));
210
349
  const probe = await agent.probeAgentSession({ env: discoveryEnv });
211
- const detected = probe.detected.find((d) => d.entry.id === job.model.provider);
350
+ const detected = probe.detected.find((d) => d.entry.id === model.provider);
212
351
  if (!detected) {
213
- return blocked(`no credential for ${job.model.provider} in the scheduler's environment; run namzu login, or put the key in ${paths.daemonEnv}`);
352
+ return blocked(`no credential for ${model.provider} in the scheduler's environment; run namzu login, or put the key in ${paths.daemonEnv}`);
214
353
  }
215
354
  const source = credentialSource(detected.source);
216
355
  found.credential = source.text;
@@ -220,12 +359,14 @@ export async function runFire(ctx, paths, args, deps = {}) {
220
359
  version: 3,
221
360
  providers: [
222
361
  {
223
- id: job.model.provider,
224
- ...(job.model.model ? { model: job.model.model } : {}),
362
+ id: model.provider,
363
+ ...(model.model ? { model: model.model } : {}),
225
364
  },
226
365
  ],
227
366
  subagents: { active: [] },
228
367
  };
368
+ const withheld = withheldTools(job.permissions, policy);
369
+ calls = new CallTally(withheld);
229
370
  // ── the conversation ──────────────────────────────────────────────────
230
371
  let sessions;
231
372
  try {
@@ -257,7 +398,7 @@ export async function runFire(ctx, paths, args, deps = {}) {
257
398
  },
258
399
  rules: policy.rules,
259
400
  permissionMode: policy.mode,
260
- withheldTools: withheldTools(job.permissions, policy),
401
+ withheldTools: withheld,
261
402
  ...(config.mcpServers ? { mcpServers: config.mcpServers } : {}),
262
403
  ...(config.plugins ? { plugins: config.plugins } : {}),
263
404
  ...(config.skills ? { skills: config.skills } : {}),
@@ -362,6 +503,9 @@ export async function runFire(ctx, paths, args, deps = {}) {
362
503
  'namzu.tool.name': event.toolName,
363
504
  });
364
505
  break;
506
+ case 'tool-end':
507
+ calls.observe(event);
508
+ break;
365
509
  }
366
510
  }
367
511
  };
@@ -374,8 +518,9 @@ export async function runFire(ctx, paths, args, deps = {}) {
374
518
  browser: grant !== undefined,
375
519
  now: now(),
376
520
  tz: job.schedule.kind === 'cron' ? job.schedule.tz : hostTimeZone(),
521
+ ...(wakeGateContext !== undefined ? { wakeGateContext } : {}),
377
522
  }),
378
- ...(job.model.effort ? { effort: job.model.effort } : {}),
523
+ ...(model.effort ? { effort: model.effort } : {}),
379
524
  }));
380
525
  // A provider pause is waited out inside the job's budget, from the
381
526
  // checkpoint, as `exec --wait-for-provider` does.
@@ -436,7 +581,11 @@ export async function runFire(ctx, paths, args, deps = {}) {
436
581
  });
437
582
  }
438
583
  if (failed)
439
- return finish('failed', 1, { reason: failed, ...(summary ? { summary } : {}), ...withUsage });
584
+ return finish('failed', 1, {
585
+ reason: failed,
586
+ ...(summary ? { summary } : {}),
587
+ ...withUsage,
588
+ });
440
589
  if (stopReason === 'timeout') {
441
590
  return finish('timed-out', 1, {
442
591
  reason: `the turn reached its ${job.budget.timeoutMs} ms time limit`,
@@ -451,7 +600,52 @@ export async function runFire(ctx, paths, args, deps = {}) {
451
600
  ...withUsage,
452
601
  });
453
602
  }
454
- return finish('completed', 0, { ...(summary ? { summary } : {}), ...withUsage });
603
+ return finish('completed', 0, {
604
+ ...(summary ? { summary } : {}),
605
+ ...withUsage,
606
+ });
607
+ }
608
+ /**
609
+ * Run a pure `script` job's body on the host and map the outcome to a
610
+ * status: `completed` (exit 0), `failed` (non-zero exit), `timed-out` (the
611
+ * script's own `timeoutMs`, a separate clock from `budget.timeoutMs`).
612
+ * `blocked-config` only for what stops the script before it could even
613
+ * start — here, the host's shell no longer matching the dialect the script
614
+ * was verified in. Never `awaiting-approval`/`approval-expired`/
615
+ * `interrupted` in the tool-parking sense: nothing about a script can park.
616
+ */
617
+ async function runScriptJob(job, cwd, paths, deps, selectedShell, finish, blocked) {
618
+ const script = job.script;
619
+ if (!script)
620
+ return blocked(`${job.name} is a script job with no script recorded`);
621
+ const env = { ...(deps.env ?? process.env), NAMZU_HOME: paths.home };
622
+ const result = await runScript(script.body, script.shell, {
623
+ cwd,
624
+ env,
625
+ timeoutMs: script.timeoutMs,
626
+ resolvedShell: selectedShell,
627
+ });
628
+ if (result.shellUnavailable)
629
+ return blocked(scriptShellUnavailableReason(result.shellUnavailable));
630
+ if (result.dialectMismatch) {
631
+ return blocked(`the script was confirmed for ${result.dialectMismatch.expected}, but this host now runs commands as ${result.dialectMismatch.actual}; run namzu schedule confirm ${job.name} to verify it in the shell that will actually run it`);
632
+ }
633
+ const scriptOutput = {
634
+ stdout: capOutput(result.stdout),
635
+ stderr: capOutput(result.stderr),
636
+ };
637
+ if (result.timedOut) {
638
+ return finish('timed-out', 1, {
639
+ reason: `the script exceeded its ${script.timeoutMs} ms timeout`,
640
+ scriptOutput,
641
+ });
642
+ }
643
+ if (result.exitCode === 0)
644
+ return finish('completed', 0, { scriptOutput });
645
+ return finish('failed', result.exitCode ?? 1, {
646
+ reason: `the script exited ${result.exitCode ?? 'without a code'}`,
647
+ scriptOutput,
648
+ });
455
649
  }
456
650
  /**
457
651
  * What a parked run tells the operator it needs: the tool's reason, and for
@@ -1 +1 @@
1
- {"version":3,"file":"fire.js","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fire.js","sourceRoot":"","sources":["../../../src/schedule/fire/fire.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * from an exit code alone.
6
6
  */
7
7
  import type { SchedulePaths } from '../paths.js';
8
- import type { ScheduleRunResult } from '../types.js';
8
+ import { type ScheduleRunResult } from '../types.js';
9
9
  export declare function writeRunResult(paths: SchedulePaths, result: ScheduleRunResult): void;
10
10
  export declare function readRunResult(paths: SchedulePaths, jobId: string, runId: string): ScheduleRunResult | undefined;
11
11
  /** Whether a result is final (the child is done with it). */
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEpF;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAE/B;AAED,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAEtE"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEpF;AAED,wBAAgB,aAAa,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACX,iBAAiB,GAAG,SAAS,CAM/B;AAED,6DAA6D;AAC7D,wBAAgB,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,CAEtE"}
@@ -5,11 +5,12 @@
5
5
  * from an exit code alone.
6
6
  */
7
7
  import { readVersioned, writeJsonAtomic } from '../store/atomic.js';
8
+ import { SCHEDULE_FORMAT_VERSION } from '../types.js';
8
9
  export function writeRunResult(paths, result) {
9
10
  writeJsonAtomic(paths.runResult(result.jobId, result.runId), result);
10
11
  }
11
12
  export function readRunResult(paths, jobId, runId) {
12
- return readVersioned(paths.runResult(jobId, runId), 'schedule-run-result');
13
+ return readVersioned(paths.runResult(jobId, runId), 'schedule-run-result', SCHEDULE_FORMAT_VERSION);
13
14
  }
14
15
  /** Whether a result is final (the child is done with it). */
15
16
  export function isFinal(result) {
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/schedule/fire/result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGnE,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,MAAyB;IAC7E,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,KAAoB,EACpB,KAAa,EACb,KAAa;IAEb,OAAO,aAAa,CAAoB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAC9F,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,OAAO,CAAC,MAAqC;IAC5D,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/schedule/fire/result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAA0B,MAAM,aAAa,CAAA;AAE7E,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,MAAyB;IAC7E,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,KAAoB,EACpB,KAAa,EACb,KAAa;IAEb,OAAO,aAAa,CACnB,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7B,qBAAqB,EACrB,uBAAuB,CACvB,CAAA;AACF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,OAAO,CAAC,MAAqC;IAC5D,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Running a job's own script on the host — a pure `script` job's body, or a
3
+ * `script+agent`'s wake-gate — reusing the exact spawn `execHostShell`
4
+ * already gives the `bash` tool: the same shell resolution the rules read
5
+ * the line in, the same grace-period kill, the same capped, UTF-8-safe
6
+ * output capture. No second copy of any of that lives here.
7
+ *
8
+ * The job's own `script.shell` chooses the interpreter. The resolved
9
+ * executable is checked at confirmation and again at fire; if it was
10
+ * removed, execution is refused rather than silently switching dialects.
11
+ */
12
+ import { type CommandShell, type ExecHostShellProgress } from '@namzu/sdk';
13
+ /** Per stream, capped with an explicit marker — never a silent cut. */
14
+ export declare const MAX_SCRIPT_OUTPUT_CHARS = 8000;
15
+ /** `text`, cut to `max` characters with an explicit truncation marker. */
16
+ export declare function capOutput(text: string, max?: number): string;
17
+ export interface ScriptRunResult {
18
+ readonly stdout: string;
19
+ readonly stderr: string;
20
+ /** `null` when the process never started, or was killed before it could exit. */
21
+ readonly exitCode: number | null;
22
+ readonly timedOut: boolean;
23
+ /** A caller gave a different dialect than the one this script was verified in. */
24
+ readonly dialectMismatch?: {
25
+ readonly expected: 'bash' | 'sh';
26
+ readonly actual: 'bash' | 'sh';
27
+ };
28
+ /** The requested interpreter is no longer executable on this host. */
29
+ readonly shellUnavailable?: 'bash' | 'sh';
30
+ }
31
+ /**
32
+ * Run `body` on the host, in `shell`'s dialect, capped at `timeoutMs`. Never
33
+ * throws: every outcome — success, non-zero exit, timeout, a spawn error —
34
+ * comes back as a `ScriptRunResult`, so the caller maps it to a status once,
35
+ * in one place.
36
+ */
37
+ export declare function runScript(body: string, shell: 'bash' | 'sh', options: {
38
+ readonly cwd: string;
39
+ readonly env: NodeJS.ProcessEnv;
40
+ readonly timeoutMs: number;
41
+ readonly maxOutputBytes?: number;
42
+ readonly onOutput?: ExecHostShellProgress;
43
+ /** Pass the executable already resolved for this fire's static check. */
44
+ readonly resolvedShell?: CommandShell;
45
+ }): Promise<ScriptRunResult>;
46
+ //# sourceMappingURL=run-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-script.d.ts","sourceRoot":"","sources":["../../../src/schedule/fire/run-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAG1B,MAAM,YAAY,CAAA;AAEnB,uEAAuE;AACvE,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAE5C,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAgC,GAAG,MAAM,CAErF;AAWD,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC/F,sEAAsE;IACtE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzC;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE;IACR,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IACzC,yEAAyE;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;CACrC,GACC,OAAO,CAAC,eAAe,CAAC,CAqD1B"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Running a job's own script on the host — a pure `script` job's body, or a
3
+ * `script+agent`'s wake-gate — reusing the exact spawn `execHostShell`
4
+ * already gives the `bash` tool: the same shell resolution the rules read
5
+ * the line in, the same grace-period kill, the same capped, UTF-8-safe
6
+ * output capture. No second copy of any of that lives here.
7
+ *
8
+ * The job's own `script.shell` chooses the interpreter. The resolved
9
+ * executable is checked at confirmation and again at fire; if it was
10
+ * removed, execution is refused rather than silently switching dialects.
11
+ */
12
+ import { constants, accessSync } from 'node:fs';
13
+ import { execHostShell, installedCommandShellForDialect, } from '@namzu/sdk';
14
+ /** Per stream, capped with an explicit marker — never a silent cut. */
15
+ export const MAX_SCRIPT_OUTPUT_CHARS = 8_000;
16
+ /** `text`, cut to `max` characters with an explicit truncation marker. */
17
+ export function capOutput(text, max = MAX_SCRIPT_OUTPUT_CHARS) {
18
+ return text.length <= max ? text : `${text.slice(0, max)}\n...(truncated)`;
19
+ }
20
+ function isExecutable(path) {
21
+ try {
22
+ accessSync(path, constants.X_OK);
23
+ return true;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ /**
30
+ * Run `body` on the host, in `shell`'s dialect, capped at `timeoutMs`. Never
31
+ * throws: every outcome — success, non-zero exit, timeout, a spawn error —
32
+ * comes back as a `ScriptRunResult`, so the caller maps it to a status once,
33
+ * in one place.
34
+ */
35
+ export async function runScript(body, shell, options) {
36
+ const selected = options.resolvedShell ?? installedCommandShellForDialect(shell);
37
+ if (!selected) {
38
+ return { stdout: '', stderr: '', exitCode: null, timedOut: false, shellUnavailable: shell };
39
+ }
40
+ if (selected.dialect !== shell) {
41
+ return {
42
+ stdout: '',
43
+ stderr: '',
44
+ exitCode: null,
45
+ timedOut: false,
46
+ dialectMismatch: { expected: shell, actual: selected.dialect },
47
+ };
48
+ }
49
+ try {
50
+ const { stdout, stderr } = await execHostShell(body, {
51
+ cwd: options.cwd,
52
+ env: options.env,
53
+ timeout: options.timeoutMs,
54
+ maxBuffer: options.maxOutputBytes ?? 10 * 1024 * 1024,
55
+ shell: selected,
56
+ ...(options.onOutput ? { onOutput: options.onOutput } : {}),
57
+ });
58
+ return { stdout, stderr, exitCode: 0, timedOut: false };
59
+ }
60
+ catch (error) {
61
+ const failure = error;
62
+ if ((failure.code === 'ENOENT' || failure.code === 'EACCES') &&
63
+ selected.path !== undefined &&
64
+ !isExecutable(selected.path)) {
65
+ return {
66
+ stdout: failure.stdout ?? '',
67
+ stderr: failure.stderr ?? '',
68
+ exitCode: null,
69
+ timedOut: false,
70
+ shellUnavailable: shell,
71
+ };
72
+ }
73
+ return {
74
+ stdout: failure.stdout ?? '',
75
+ stderr: failure.stderr ?? (failure.message ? `${failure.message}\n` : ''),
76
+ exitCode: typeof failure.code === 'number' ? failure.code : null,
77
+ timedOut: failure.timedOut === true,
78
+ };
79
+ }
80
+ }
81
+ //# sourceMappingURL=run-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-script.js","sourceRoot":"","sources":["../../../src/schedule/fire/run-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAGN,aAAa,EACb,+BAA+B,GAC/B,MAAM,YAAY,CAAA;AAEnB,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAA;AAE5C,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc,uBAAuB;IAC5E,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAA;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IACjC,IAAI,CAAC;QACJ,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,IAAY,EACZ,KAAoB,EACpB,OAQC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,+BAA+B,CAAC,KAAK,CAAC,CAAA;IAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;IAC5F,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO;YACN,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC9D,CAAA;IACF,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;YACpD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,SAAS,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;YACrD,KAAK,EAAE,QAAQ;YACf,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAA;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAOf,CAAA;QACD,IACC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;YACxD,QAAQ,CAAC,IAAI,KAAK,SAAS;YAC3B,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3B,CAAC;YACF,OAAO;gBACN,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;gBAC5B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,KAAK;aACvB,CAAA;QACF,CAAC;QACD,OAAO;YACN,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,QAAQ,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAChE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,IAAI;SACnC,CAAA;IACF,CAAC;AACF,CAAC"}
@@ -18,5 +18,13 @@ export declare function unattendedNote(jobName: string, options?: {
18
18
  /** The run's start, and the zone the job's times are in. */
19
19
  readonly now?: Date;
20
20
  readonly tz?: string;
21
+ /**
22
+ * `script+agent` only: the wake-gate's `context`, already revealed and
23
+ * capped. Appended as its own clearly labelled, untrusted block —
24
+ * never folded into the prompt as if the operator wrote it, the same
25
+ * separation `unattendedNote` already keeps between "your
26
+ * circumstances" and the job's own instruction.
27
+ */
28
+ readonly wakeGateContext?: string;
21
29
  }): string;
22
30
  //# sourceMappingURL=unattended-note.d.ts.map