lastlight 0.6.2 → 0.7.1

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 (343) hide show
  1. package/dist/admin/routes.d.ts +1 -1
  2. package/dist/admin/routes.js +1 -1
  3. package/dist/admin/routes.js.map +1 -1
  4. package/dist/cli/cli-config.js.map +1 -0
  5. package/dist/cli/cli-format.js.map +1 -0
  6. package/dist/{cli-server.d.ts → cli/cli-server.d.ts} +1 -1
  7. package/dist/{cli-server.js → cli/cli-server.js} +2 -2
  8. package/dist/cli/cli-server.js.map +1 -0
  9. package/dist/cli/cli-timeline.js.map +1 -0
  10. package/dist/{cli.js → cli/cli.js} +2 -0
  11. package/dist/cli/cli.js.map +1 -0
  12. package/dist/{fork-cli.d.ts → cli/fork-cli.d.ts} +14 -5
  13. package/dist/{fork-cli.js → cli/fork-cli.js} +86 -16
  14. package/dist/cli/fork-cli.js.map +1 -0
  15. package/dist/{setup.js → cli/setup.js} +1 -1
  16. package/dist/cli/setup.js.map +1 -0
  17. package/dist/{skills-install.js → cli/skills-install.js} +1 -1
  18. package/dist/cli/skills-install.js.map +1 -0
  19. package/dist/config/config-resolve.js.map +1 -0
  20. package/dist/{config.js → config/config.js} +2 -2
  21. package/dist/config/config.js.map +1 -0
  22. package/dist/config/overlay-assets.js.map +1 -0
  23. package/dist/config/overlay-bootstrap.js.map +1 -0
  24. package/dist/connectors/github-webhook.js +5 -0
  25. package/dist/connectors/github-webhook.js.map +1 -1
  26. package/dist/connectors/types.d.ts +2 -0
  27. package/dist/engine/agent-executor.d.ts +8 -17
  28. package/dist/engine/agent-executor.js +35 -306
  29. package/dist/engine/agent-executor.js.map +1 -1
  30. package/dist/engine/{chat-runner.d.ts → chat/chat-runner.d.ts} +2 -2
  31. package/dist/engine/{chat-runner.js → chat/chat-runner.js} +1 -1
  32. package/dist/engine/chat/chat-runner.js.map +1 -0
  33. package/dist/engine/{chat-skills.js → chat/chat-skills.js} +1 -1
  34. package/dist/engine/chat/chat-skills.js.map +1 -0
  35. package/dist/engine/{chat.d.ts → chat/chat.d.ts} +2 -2
  36. package/dist/engine/{chat.js → chat/chat.js} +7 -7
  37. package/dist/engine/chat/chat.js.map +1 -0
  38. package/dist/engine/{message-batcher.d.ts → chat/message-batcher.d.ts} +1 -1
  39. package/dist/engine/chat/message-batcher.js.map +1 -0
  40. package/dist/engine/dispatcher.d.ts +2 -2
  41. package/dist/engine/dispatcher.js +24 -0
  42. package/dist/engine/dispatcher.js.map +1 -1
  43. package/dist/engine/executors/orchestrator.d.ts +81 -0
  44. package/dist/engine/executors/orchestrator.js +340 -0
  45. package/dist/engine/executors/orchestrator.js.map +1 -0
  46. package/dist/engine/executors/shared.d.ts +1 -1
  47. package/dist/engine/github/git-auth.js.map +1 -0
  48. package/dist/engine/github/github-app-client.js.map +1 -0
  49. package/dist/engine/github/github-tools.js.map +1 -0
  50. package/dist/engine/github/github.js.map +1 -0
  51. package/dist/engine/{profiles.d.ts → github/profiles.d.ts} +1 -1
  52. package/dist/engine/{profiles.js → github/profiles.js} +1 -1
  53. package/dist/engine/github/profiles.js.map +1 -0
  54. package/dist/engine/router.js +49 -3
  55. package/dist/engine/router.js.map +1 -1
  56. package/dist/engine/{classifier.d.ts → screen/classifier.d.ts} +11 -1
  57. package/dist/engine/{classifier.js → screen/classifier.js} +45 -1
  58. package/dist/engine/screen/classifier.js.map +1 -0
  59. package/dist/engine/{screen.d.ts → screen/screen.d.ts} +1 -1
  60. package/dist/engine/{screen.js → screen/screen.js} +1 -1
  61. package/dist/engine/screen/screen.js.map +1 -0
  62. package/dist/evals-api.d.ts +3 -3
  63. package/dist/evals-api.js +1 -1
  64. package/dist/evals-api.js.map +1 -1
  65. package/dist/index.js +17 -17
  66. package/dist/index.js.map +1 -1
  67. package/dist/managed-repos.js +1 -1
  68. package/dist/managed-repos.js.map +1 -1
  69. package/dist/notify/transports/github.d.ts +1 -1
  70. package/dist/sandbox/sandbox.d.ts +189 -0
  71. package/dist/sandbox/sandbox.js +429 -0
  72. package/dist/sandbox/sandbox.js.map +1 -0
  73. package/dist/state/workflow-run-store.d.ts +7 -0
  74. package/dist/state/workflow-run-store.js +14 -0
  75. package/dist/state/workflow-run-store.js.map +1 -1
  76. package/dist/telemetry/index.d.ts +1 -1
  77. package/dist/workflows/loader.d.ts +1 -1
  78. package/dist/workflows/phase-executor.d.ts +1 -1
  79. package/dist/workflows/resume.d.ts +3 -3
  80. package/dist/workflows/runner.d.ts +2 -2
  81. package/dist/workflows/runner.js +1 -1
  82. package/dist/workflows/runner.js.map +1 -1
  83. package/dist/workflows/schema.d.ts +2 -2
  84. package/dist/workflows/simple.d.ts +26 -5
  85. package/dist/workflows/simple.js +30 -4
  86. package/dist/workflows/simple.js.map +1 -1
  87. package/dist/workflows/triggers.js +1 -1
  88. package/dist/workflows/triggers.js.map +1 -1
  89. package/docker-compose.yml +1 -1
  90. package/package.json +4 -3
  91. package/plugins/lastlight/.claude-plugin/plugin.json +1 -1
  92. package/plugins/lastlight/skills/lastlight-overlay/SKILL.md +7 -1
  93. package/plugins/lastlight/skills/lastlight-overlay/references/forking.md +23 -4
  94. package/skills/README.md +1 -1
  95. package/skills/issue-triage/SKILL.md +34 -7
  96. package/skills/issue-triage/references/AGENT-BRIEF.md +28 -24
  97. package/dist/admin/auth.test.d.ts +0 -1
  98. package/dist/admin/auth.test.js +0 -60
  99. package/dist/admin/auth.test.js.map +0 -1
  100. package/dist/admin/log-search.test.d.ts +0 -1
  101. package/dist/admin/log-search.test.js +0 -78
  102. package/dist/admin/log-search.test.js.map +0 -1
  103. package/dist/admin/routes.test.d.ts +0 -1
  104. package/dist/admin/routes.test.js +0 -877
  105. package/dist/admin/routes.test.js.map +0 -1
  106. package/dist/admin/server-logs.test.d.ts +0 -1
  107. package/dist/admin/server-logs.test.js +0 -58
  108. package/dist/admin/server-logs.test.js.map +0 -1
  109. package/dist/admin/sessions.test.d.ts +0 -1
  110. package/dist/admin/sessions.test.js +0 -78
  111. package/dist/admin/sessions.test.js.map +0 -1
  112. package/dist/admin/version.test.d.ts +0 -1
  113. package/dist/admin/version.test.js +0 -71
  114. package/dist/admin/version.test.js.map +0 -1
  115. package/dist/cli-config.js.map +0 -1
  116. package/dist/cli-config.test.d.ts +0 -1
  117. package/dist/cli-config.test.js +0 -92
  118. package/dist/cli-config.test.js.map +0 -1
  119. package/dist/cli-format.js.map +0 -1
  120. package/dist/cli-server.js.map +0 -1
  121. package/dist/cli-server.test.d.ts +0 -1
  122. package/dist/cli-server.test.js +0 -41
  123. package/dist/cli-server.test.js.map +0 -1
  124. package/dist/cli-timeline.js.map +0 -1
  125. package/dist/cli-timeline.test.d.ts +0 -1
  126. package/dist/cli-timeline.test.js +0 -104
  127. package/dist/cli-timeline.test.js.map +0 -1
  128. package/dist/cli.js.map +0 -1
  129. package/dist/config-overlay.test.d.ts +0 -1
  130. package/dist/config-overlay.test.js +0 -112
  131. package/dist/config-overlay.test.js.map +0 -1
  132. package/dist/config-resolve.js.map +0 -1
  133. package/dist/config-resolve.test.d.ts +0 -1
  134. package/dist/config-resolve.test.js +0 -68
  135. package/dist/config-resolve.test.js.map +0 -1
  136. package/dist/config.js.map +0 -1
  137. package/dist/config.test.d.ts +0 -1
  138. package/dist/config.test.js +0 -288
  139. package/dist/config.test.js.map +0 -1
  140. package/dist/connectors/github-webhook.test.d.ts +0 -1
  141. package/dist/connectors/github-webhook.test.js +0 -156
  142. package/dist/connectors/github-webhook.test.js.map +0 -1
  143. package/dist/connectors/messaging/session-manager.test.d.ts +0 -1
  144. package/dist/connectors/messaging/session-manager.test.js +0 -144
  145. package/dist/connectors/messaging/session-manager.test.js.map +0 -1
  146. package/dist/connectors/slack/connector.test.d.ts +0 -1
  147. package/dist/connectors/slack/connector.test.js +0 -135
  148. package/dist/connectors/slack/connector.test.js.map +0 -1
  149. package/dist/connectors/slack/mrkdwn.test.d.ts +0 -1
  150. package/dist/connectors/slack/mrkdwn.test.js +0 -114
  151. package/dist/connectors/slack/mrkdwn.test.js.map +0 -1
  152. package/dist/cron/fanout.test.d.ts +0 -1
  153. package/dist/cron/fanout.test.js +0 -73
  154. package/dist/cron/fanout.test.js.map +0 -1
  155. package/dist/engine/agent-executor.seam.test.d.ts +0 -1
  156. package/dist/engine/agent-executor.seam.test.js +0 -57
  157. package/dist/engine/agent-executor.seam.test.js.map +0 -1
  158. package/dist/engine/agent-executor.test.d.ts +0 -1
  159. package/dist/engine/agent-executor.test.js +0 -395
  160. package/dist/engine/agent-executor.test.js.map +0 -1
  161. package/dist/engine/chat-runner.js.map +0 -1
  162. package/dist/engine/chat-runner.test.d.ts +0 -1
  163. package/dist/engine/chat-runner.test.js +0 -104
  164. package/dist/engine/chat-runner.test.js.map +0 -1
  165. package/dist/engine/chat-skills.js.map +0 -1
  166. package/dist/engine/chat-skills.test.d.ts +0 -1
  167. package/dist/engine/chat-skills.test.js +0 -20
  168. package/dist/engine/chat-skills.test.js.map +0 -1
  169. package/dist/engine/chat.js.map +0 -1
  170. package/dist/engine/chat.test.d.ts +0 -1
  171. package/dist/engine/chat.test.js +0 -42
  172. package/dist/engine/chat.test.js.map +0 -1
  173. package/dist/engine/classifier.js.map +0 -1
  174. package/dist/engine/classifier.test.d.ts +0 -1
  175. package/dist/engine/classifier.test.js +0 -115
  176. package/dist/engine/classifier.test.js.map +0 -1
  177. package/dist/engine/dispatcher.test.d.ts +0 -1
  178. package/dist/engine/dispatcher.test.js +0 -511
  179. package/dist/engine/dispatcher.test.js.map +0 -1
  180. package/dist/engine/event-shim.test.d.ts +0 -1
  181. package/dist/engine/event-shim.test.js +0 -194
  182. package/dist/engine/event-shim.test.js.map +0 -1
  183. package/dist/engine/executors/backends.d.ts +0 -41
  184. package/dist/engine/executors/backends.js +0 -541
  185. package/dist/engine/executors/backends.js.map +0 -1
  186. package/dist/engine/git-auth.js.map +0 -1
  187. package/dist/engine/git-auth.test.d.ts +0 -1
  188. package/dist/engine/git-auth.test.js +0 -117
  189. package/dist/engine/git-auth.test.js.map +0 -1
  190. package/dist/engine/github-app-client.js.map +0 -1
  191. package/dist/engine/github-app-client.test.d.ts +0 -1
  192. package/dist/engine/github-app-client.test.js +0 -44
  193. package/dist/engine/github-app-client.test.js.map +0 -1
  194. package/dist/engine/github-tools.js.map +0 -1
  195. package/dist/engine/github.js.map +0 -1
  196. package/dist/engine/llm.test.d.ts +0 -1
  197. package/dist/engine/llm.test.js +0 -189
  198. package/dist/engine/llm.test.js.map +0 -1
  199. package/dist/engine/message-batcher.js.map +0 -1
  200. package/dist/engine/message-batcher.test.d.ts +0 -1
  201. package/dist/engine/message-batcher.test.js +0 -109
  202. package/dist/engine/message-batcher.test.js.map +0 -1
  203. package/dist/engine/profiles.js.map +0 -1
  204. package/dist/engine/router.test.d.ts +0 -1
  205. package/dist/engine/router.test.js +0 -695
  206. package/dist/engine/router.test.js.map +0 -1
  207. package/dist/engine/screen.js.map +0 -1
  208. package/dist/engine/screen.test.d.ts +0 -1
  209. package/dist/engine/screen.test.js +0 -82
  210. package/dist/engine/screen.test.js.map +0 -1
  211. package/dist/fork-cli.js.map +0 -1
  212. package/dist/fork-cli.test.d.ts +0 -1
  213. package/dist/fork-cli.test.js +0 -109
  214. package/dist/fork-cli.test.js.map +0 -1
  215. package/dist/managed-repos.test.d.ts +0 -1
  216. package/dist/managed-repos.test.js +0 -39
  217. package/dist/managed-repos.test.js.map +0 -1
  218. package/dist/notify/model.test.d.ts +0 -1
  219. package/dist/notify/model.test.js +0 -109
  220. package/dist/notify/model.test.js.map +0 -1
  221. package/dist/notify/notifier.test.d.ts +0 -1
  222. package/dist/notify/notifier.test.js +0 -100
  223. package/dist/notify/notifier.test.js.map +0 -1
  224. package/dist/notify/render.test.d.ts +0 -1
  225. package/dist/notify/render.test.js +0 -65
  226. package/dist/notify/render.test.js.map +0 -1
  227. package/dist/notify/transports.test.d.ts +0 -1
  228. package/dist/notify/transports.test.js +0 -71
  229. package/dist/notify/transports.test.js.map +0 -1
  230. package/dist/overlay-assets.js.map +0 -1
  231. package/dist/overlay-assets.test.d.ts +0 -1
  232. package/dist/overlay-assets.test.js +0 -75
  233. package/dist/overlay-assets.test.js.map +0 -1
  234. package/dist/overlay-bootstrap.js.map +0 -1
  235. package/dist/overlay-bootstrap.test.d.ts +0 -1
  236. package/dist/overlay-bootstrap.test.js +0 -61
  237. package/dist/overlay-bootstrap.test.js.map +0 -1
  238. package/dist/sandbox/command-exec.integration.test.d.ts +0 -1
  239. package/dist/sandbox/command-exec.integration.test.js +0 -183
  240. package/dist/sandbox/command-exec.integration.test.js.map +0 -1
  241. package/dist/sandbox/docker-compose.test.d.ts +0 -1
  242. package/dist/sandbox/docker-compose.test.js +0 -128
  243. package/dist/sandbox/docker-compose.test.js.map +0 -1
  244. package/dist/sandbox/docker.test.d.ts +0 -1
  245. package/dist/sandbox/docker.test.js +0 -137
  246. package/dist/sandbox/docker.test.js.map +0 -1
  247. package/dist/sandbox/egress-allowlist.test.d.ts +0 -1
  248. package/dist/sandbox/egress-allowlist.test.js +0 -65
  249. package/dist/sandbox/egress-allowlist.test.js.map +0 -1
  250. package/dist/sandbox/egress-firewall-config.test.d.ts +0 -1
  251. package/dist/sandbox/egress-firewall-config.test.js +0 -244
  252. package/dist/sandbox/egress-firewall-config.test.js.map +0 -1
  253. package/dist/sandbox/index.test.d.ts +0 -1
  254. package/dist/sandbox/index.test.js +0 -157
  255. package/dist/sandbox/index.test.js.map +0 -1
  256. package/dist/sandbox/smol.integration.test.d.ts +0 -1
  257. package/dist/sandbox/smol.integration.test.js +0 -130
  258. package/dist/sandbox/smol.integration.test.js.map +0 -1
  259. package/dist/session-log.test.d.ts +0 -1
  260. package/dist/session-log.test.js +0 -85
  261. package/dist/session-log.test.js.map +0 -1
  262. package/dist/setup.js.map +0 -1
  263. package/dist/setup.test.d.ts +0 -1
  264. package/dist/setup.test.js +0 -281
  265. package/dist/setup.test.js.map +0 -1
  266. package/dist/skills-install.js.map +0 -1
  267. package/dist/state/build-assets.test.d.ts +0 -1
  268. package/dist/state/build-assets.test.js +0 -106
  269. package/dist/state/build-assets.test.js.map +0 -1
  270. package/dist/state/db.test.d.ts +0 -1
  271. package/dist/state/db.test.js +0 -484
  272. package/dist/state/db.test.js.map +0 -1
  273. package/dist/state/workflow-run-store.test.d.ts +0 -1
  274. package/dist/state/workflow-run-store.test.js +0 -264
  275. package/dist/state/workflow-run-store.test.js.map +0 -1
  276. package/dist/telemetry/index.test.d.ts +0 -1
  277. package/dist/telemetry/index.test.js +0 -73
  278. package/dist/telemetry/index.test.js.map +0 -1
  279. package/dist/telemetry/pi-events.test.d.ts +0 -1
  280. package/dist/telemetry/pi-events.test.js +0 -69
  281. package/dist/telemetry/pi-events.test.js.map +0 -1
  282. package/dist/workflows/dag.test.d.ts +0 -1
  283. package/dist/workflows/dag.test.js +0 -197
  284. package/dist/workflows/dag.test.js.map +0 -1
  285. package/dist/workflows/golden-build.test.d.ts +0 -1
  286. package/dist/workflows/golden-build.test.js +0 -45
  287. package/dist/workflows/golden-build.test.js.map +0 -1
  288. package/dist/workflows/loader-overlay.test.d.ts +0 -1
  289. package/dist/workflows/loader-overlay.test.js +0 -101
  290. package/dist/workflows/loader-overlay.test.js.map +0 -1
  291. package/dist/workflows/loader.test.d.ts +0 -1
  292. package/dist/workflows/loader.test.js +0 -375
  293. package/dist/workflows/loader.test.js.map +0 -1
  294. package/dist/workflows/loop-eval.test.d.ts +0 -1
  295. package/dist/workflows/loop-eval.test.js +0 -89
  296. package/dist/workflows/loop-eval.test.js.map +0 -1
  297. package/dist/workflows/phase-executor.test.d.ts +0 -1
  298. package/dist/workflows/phase-executor.test.js +0 -497
  299. package/dist/workflows/phase-executor.test.js.map +0 -1
  300. package/dist/workflows/phase-ref.test.d.ts +0 -1
  301. package/dist/workflows/phase-ref.test.js +0 -24
  302. package/dist/workflows/phase-ref.test.js.map +0 -1
  303. package/dist/workflows/runner.test.d.ts +0 -1
  304. package/dist/workflows/runner.test.js +0 -1174
  305. package/dist/workflows/runner.test.js.map +0 -1
  306. package/dist/workflows/simple.test.d.ts +0 -1
  307. package/dist/workflows/simple.test.js +0 -107
  308. package/dist/workflows/simple.test.js.map +0 -1
  309. package/dist/workflows/templates.test.d.ts +0 -1
  310. package/dist/workflows/templates.test.js +0 -258
  311. package/dist/workflows/templates.test.js.map +0 -1
  312. package/dist/workflows/verdict.test.d.ts +0 -1
  313. package/dist/workflows/verdict.test.js +0 -44
  314. package/dist/workflows/verdict.test.js.map +0 -1
  315. package/dist/worktree/manager.test.d.ts +0 -1
  316. package/dist/worktree/manager.test.js +0 -87
  317. package/dist/worktree/manager.test.js.map +0 -1
  318. /package/dist/{cli-config.d.ts → cli/cli-config.d.ts} +0 -0
  319. /package/dist/{cli-config.js → cli/cli-config.js} +0 -0
  320. /package/dist/{cli-format.d.ts → cli/cli-format.d.ts} +0 -0
  321. /package/dist/{cli-format.js → cli/cli-format.js} +0 -0
  322. /package/dist/{cli-timeline.d.ts → cli/cli-timeline.d.ts} +0 -0
  323. /package/dist/{cli-timeline.js → cli/cli-timeline.js} +0 -0
  324. /package/dist/{cli.d.ts → cli/cli.d.ts} +0 -0
  325. /package/dist/{setup.d.ts → cli/setup.d.ts} +0 -0
  326. /package/dist/{skills-install.d.ts → cli/skills-install.d.ts} +0 -0
  327. /package/dist/{config-resolve.d.ts → config/config-resolve.d.ts} +0 -0
  328. /package/dist/{config-resolve.js → config/config-resolve.js} +0 -0
  329. /package/dist/{config.d.ts → config/config.d.ts} +0 -0
  330. /package/dist/{overlay-assets.d.ts → config/overlay-assets.d.ts} +0 -0
  331. /package/dist/{overlay-assets.js → config/overlay-assets.js} +0 -0
  332. /package/dist/{overlay-bootstrap.d.ts → config/overlay-bootstrap.d.ts} +0 -0
  333. /package/dist/{overlay-bootstrap.js → config/overlay-bootstrap.js} +0 -0
  334. /package/dist/engine/{chat-skills.d.ts → chat/chat-skills.d.ts} +0 -0
  335. /package/dist/engine/{message-batcher.js → chat/message-batcher.js} +0 -0
  336. /package/dist/engine/{git-auth.d.ts → github/git-auth.d.ts} +0 -0
  337. /package/dist/engine/{git-auth.js → github/git-auth.js} +0 -0
  338. /package/dist/engine/{github-app-client.d.ts → github/github-app-client.d.ts} +0 -0
  339. /package/dist/engine/{github-app-client.js → github/github-app-client.js} +0 -0
  340. /package/dist/engine/{github-tools.d.ts → github/github-tools.d.ts} +0 -0
  341. /package/dist/engine/{github-tools.js → github/github-tools.js} +0 -0
  342. /package/dist/engine/{github.d.ts → github/github.d.ts} +0 -0
  343. /package/dist/engine/{github.js → github/github.js} +0 -0
@@ -1,19 +1,12 @@
1
- import { resolve, join } from "path";
2
- import { mkdirSync, writeFileSync } from "fs";
3
- import { spawnSync } from "child_process";
1
+ import { resolve } from "path";
4
2
  import { randomUUID } from "crypto";
5
- import { createTaskSandbox, setupTaskWorktree, prePopulateWorkspace, SANDBOX_IMAGE_QA, } from "../sandbox/index.js";
6
- import { SmolSandbox, smolAvailable, SMOL_WORKSPACE_DIR } from "../sandbox/smol.js";
7
- import { refreshGitAuth } from "./git-auth.js";
8
- import { GITHUB_PERMISSION_PROFILES, loadAgentContext, } from "./profiles.js";
9
- import { AgenticShim } from "./event-shim.js";
10
- import { projectSlugForCwd } from "../session-log.js";
11
- import { DEFAULT_ALLOWLIST, mergeAllowlist } from "../sandbox/egress-allowlist.js";
3
+ import { refreshGitAuth } from "./github/git-auth.js";
4
+ import { GITHUB_PERMISSION_PROFILES, } from "./github/profiles.js";
12
5
  import { getDockerSandboxOtelEnv, getOtelEnvForSandbox, safeSpanAttributes, withSpan } from "../telemetry/index.js";
13
- // Per-backend executors + their shared building blocks live under ./executors/.
14
- import { executeInProcess, executeDocker, executeSmol } from "./executors/backends.js";
15
- import { DEFAULT_MODEL, DOCKER_WORKSPACE_DIR, resolveSessionsDir } from "./executors/shared.js";
16
- // Re-exported for back-compat with existing importers (tests, dashboards).
6
+ import { DEFAULT_MODEL } from "./executors/shared.js";
7
+ import { runSandboxedAgent, runSandboxedCommand, } from "./executors/orchestrator.js";
8
+ // Re-exported for back-compat with existing importers (tests, dashboards,
9
+ // workflow phase executor).
17
10
  export { RunResultAccumulator, stageSkillBundle, excludeFromGit, detectAccountError } from "./executors/shared.js";
18
11
  /**
19
12
  * Shared run preparation for {@link executeAgent} and {@link executeCommand}:
@@ -140,144 +133,30 @@ export async function executeAgent(prompt, config, opts) {
140
133
  "workflow.name": config.telemetry?.workflowName,
141
134
  "phase.name": config.telemetry?.phaseName,
142
135
  });
143
- if (backend === "docker") {
144
- return withSpan("lastlight.agent.execute", spanAttrs, () => executeDocker(prompt, config, {
145
- taskId,
146
- stateDir,
147
- env: ghEnv,
148
- prePopulate,
149
- access,
150
- onSessionId: opts?.onSessionId,
151
- }));
152
- }
153
- if (backend === "smol") {
154
- return withSpan("lastlight.agent.execute", spanAttrs, () => executeSmol(prompt, config, {
155
- taskId,
156
- stateDir,
157
- env: ghEnv,
158
- prePopulate,
159
- access,
160
- onSessionId: opts?.onSessionId,
161
- }));
162
- }
163
- const workDir = setupTaskWorktree({
136
+ const ctx = {
137
+ config,
164
138
  taskId,
165
139
  stateDir,
166
- sandboxDir: config.sandboxDir,
167
- prePopulate,
168
- });
169
- // Drop AGENTS.md into the workspace — agentic-pi reads it as the
170
- // system context (same convention as the previous opencode setup).
171
- try {
172
- const md = loadAgentContext(config.agentContextDir);
173
- if (md)
174
- writeFileSync(join(workDir, "AGENTS.md"), md);
175
- }
176
- catch (err) {
177
- const msg = err instanceof Error ? err.message : String(err);
178
- console.warn(`[executor] Could not write AGENTS.md: ${msg}`);
179
- }
180
- return withSpan("lastlight.agent.execute", spanAttrs, () => executeInProcess(prompt, config, {
181
140
  backend,
182
- taskId,
183
- workDir,
184
- stateDir,
185
141
  env: ghEnv,
142
+ prePopulate,
186
143
  access,
187
144
  onSessionId: opts?.onSessionId,
188
- }));
189
- }
190
- const SCRIPT_EXT = { js: "mjs", ts: "mts", python: "py" };
191
- /**
192
- * Where a `type: script` source file is staged. A workspace-root sibling of
193
- * {@link SKILL_BUNDLE_ROOT}, keyed per phase (`<root>/<phase>/script.<ext>`) —
194
- * same convention as the skill bundle, so it sits beside the skills and is
195
- * never written inside any checked-out repo's git tree.
196
- */
197
- const SCRIPT_BUNDLE_ROOT = ".lastlight-scripts";
198
- /** Build the shell invocation + on-disk filename for a script spec. */
199
- function scriptInvocation(spec) {
200
- const fileName = `script.${SCRIPT_EXT[spec.runtime]}`;
201
- const run = (path) => {
202
- switch (spec.runtime) {
203
- case "js":
204
- return `node ${path}`;
205
- case "ts":
206
- return `node --experimental-strip-types ${path}`;
207
- case "python":
208
- return `uv run ${path}`;
209
- }
145
+ sandboxFactory: opts?.sandboxFactory,
210
146
  };
211
- return { fileName, run };
147
+ return withSpan("lastlight.agent.execute", spanAttrs, () => runSandboxedAgent(prompt, ctx));
212
148
  }
213
- /**
214
- * Mirror a finished command into a session jsonl via the shim. Synthesizes a
215
- * minimal agentic-pi event stream: session assistant(tool_use bash)
216
- * user(tool_result) assistant(text summary) result. Returns the session id
217
- * the shim wrote under (so the executions row can link to it).
218
- */
219
- async function writeCommandSession(opts) {
220
- const shim = new AgenticShim({
221
- homeDir: opts.sessionsDir,
222
- projectSlug: opts.projectSlug,
223
- model: opts.model,
224
- initialPrompt: opts.displayPrompt,
225
- });
226
- const sessionId = randomUUID();
227
- const ts = Date.now();
228
- const toolCallId = `cmd_${randomUUID().slice(0, 8)}`;
229
- const feed = (record) => shim.feed(record);
230
- feed({ type: "session", id: sessionId, timestamp: ts });
231
- feed({
232
- type: "message_end",
233
- sessionId,
234
- timestamp: ts,
235
- message: { role: "assistant", content: [{ type: "toolCall", id: toolCallId, name: opts.toolName, arguments: opts.toolInput }] },
236
- });
237
- const combined = opts.stderr ? `${opts.stdout}${opts.stdout && !opts.stdout.endsWith("\n") ? "\n" : ""}${opts.stderr}` : opts.stdout;
238
- feed({
239
- type: "tool_execution_end",
240
- sessionId,
241
- timestamp: ts,
242
- toolCallId,
243
- result: combined || `(no output, exit ${opts.exitCode})`,
244
- isError: opts.exitCode !== 0,
245
- });
246
- const summary = opts.exitCode === 0 ? "Command succeeded (exit 0)." : `Command failed (exit ${opts.exitCode}).`;
247
- feed({
248
- type: "message_end",
249
- sessionId,
250
- timestamp: ts,
251
- message: { role: "assistant", content: [{ type: "text", text: summary }] },
252
- });
253
- shim.finalize({
254
- finalText: summary,
255
- turns: 1,
256
- costUsd: 0,
257
- inputTokens: 0,
258
- outputTokens: 0,
259
- cacheReadInputTokens: 0,
260
- cacheCreationInputTokens: 0,
261
- stopReason: opts.exitCode === 0 ? "success" : "error_bash",
262
- durationMs: opts.durationMs,
263
- });
264
- await shim.flush();
265
- return shim.isInitialized ? sessionId : null;
266
- }
267
- /**
268
- * Execute a deterministic command/script. Mirrors {@link executeDocker} /
269
- * {@link executeInProcess} for sandbox setup but runs `runCommand` (docker) or
270
- * `spawnSync` (gondolin/none) instead of an agent, and writes a session jsonl
271
- * so the output is visible in the dashboard + CLI.
272
- */
149
+ // ── Deterministic command path (type: bash / type: script) ───────────
150
+ //
151
+ // Runs a deterministic shell command (or inline script) inside the SAME
152
+ // sandbox/workspace an agent phase would use — no LLM. The command's output is
153
+ // mirrored to a Claude-SDK-style session jsonl via the AgenticShim (the same
154
+ // shim agent phases use), so a bash/script phase shows up in the admin console
155
+ // and `lastlight session log` exactly like an agent turn: the command renders
156
+ // as a `bash` tool_use and its stdout/stderr as the tool_result.
273
157
  export async function executeCommand(spec, config, opts) {
274
158
  const { taskId, stateDir, backend, ghEnv, prePopulate } = await prepareRun(config, opts);
275
159
  const access = opts?.githubAccess;
276
- const model = config.model || DEFAULT_MODEL;
277
- const sessionsDir = resolveSessionsDir(config);
278
- const timeoutSeconds = opts?.timeoutSeconds ?? 300;
279
- const startTime = Date.now();
280
- const displayPrompt = spec.kind === "bash" ? `$ ${spec.command}` : `${spec.runtime} script: ${spec.name}\n\n${spec.script}`;
281
160
  const spanAttrs = safeSpanAttributes({
282
161
  "agent.runtime": spec.kind,
283
162
  "sandbox.backend": backend,
@@ -288,171 +167,21 @@ export async function executeCommand(spec, config, opts) {
288
167
  "workflow.name": config.telemetry?.workflowName,
289
168
  "phase.name": config.telemetry?.phaseName,
290
169
  });
291
- return withSpan("lastlight.command.execute", spanAttrs, async () => {
292
- // Per-phase script-bundle dir, a workspace-root sibling of the skill bundle
293
- // (and of any repo checkout) — so a `type: script` file is never written
294
- // inside the target's git tree. `spec.name` is the (sanitized) phase name.
295
- const scriptDir = spec.kind === "script" ? `${SCRIPT_BUNDLE_ROOT}/${spec.name}` : SCRIPT_BUNDLE_ROOT;
296
- if (backend === "docker") {
297
- const dnsIp = config.unrestrictedEgress
298
- ? (process.env.LASTLIGHT_DNS_OPEN || "172.30.0.11")
299
- : (process.env.LASTLIGHT_DNS_STRICT || "172.30.0.10");
300
- const imageName = config.sandboxImage === "qa" ? SANDBOX_IMAGE_QA : undefined;
301
- const sbx = await createTaskSandbox({
302
- taskId, stateDir, sandboxDir: config.sandboxDir, env: ghEnv, prePopulate, dnsIp, imageName,
303
- });
304
- if (!sbx) {
305
- throw new Error("LASTLIGHT_SANDBOX=docker but no docker sandbox was available for command phase.");
306
- }
307
- const agentCwd = prePopulate ? `${DOCKER_WORKSPACE_DIR}/${prePopulate.repo}` : DOCKER_WORKSPACE_DIR;
308
- try {
309
- let command;
310
- let toolName;
311
- let toolInput;
312
- if (spec.kind === "bash") {
313
- command = spec.command;
314
- toolName = "bash";
315
- toolInput = { command: spec.command };
316
- }
317
- else {
318
- const { fileName, run } = scriptInvocation(spec);
319
- mkdirSync(join(sbx.workDir, scriptDir), { recursive: true });
320
- writeFileSync(join(sbx.workDir, scriptDir, fileName), spec.script);
321
- const inContainer = `${DOCKER_WORKSPACE_DIR}/${scriptDir}/${fileName}`;
322
- command = run(inContainer);
323
- toolName = "bash";
324
- toolInput = { command, runtime: spec.runtime };
325
- }
326
- const res = await sbx.sandbox.runCommand(taskId, command, {
327
- cwd: agentCwd,
328
- sandboxEnv: opts?.sandboxEnv,
329
- timeoutSeconds,
330
- onLine: () => { },
331
- });
332
- const durationMs = Date.now() - startTime;
333
- const sessionId = opts?.writeSession === false ? null : await writeCommandSession({
334
- sessionsDir, projectSlug: projectSlugForCwd(agentCwd), model,
335
- displayPrompt, toolName, toolInput,
336
- stdout: res.stdout, stderr: res.stderr, exitCode: res.exitCode, durationMs,
337
- });
338
- if (sessionId && opts?.onSessionId)
339
- opts.onSessionId(sessionId);
340
- return buildCommandResult(res, durationMs, sessionId);
341
- }
342
- finally {
343
- await sbx.cleanup();
344
- }
345
- }
346
- if (backend === "smol") {
347
- if (!smolAvailable()) {
348
- throw new Error("LASTLIGHT_SANDBOX=smol but the smolvm CLI is not available for command phase.");
349
- }
350
- const allowHosts = config.unrestrictedEgress
351
- ? null
352
- : mergeAllowlist(DEFAULT_ALLOWLIST, config.otel?.enabled && config.otel.forwardToSandbox ? config.otel.collectorHosts : []);
353
- // Boot first, then provision the probed share-backed dir (see executeSmol).
354
- const workDir = setupTaskWorktree({ taskId, stateDir, sandboxDir: config.sandboxDir });
355
- const sandbox = new SmolSandbox({ env: ghEnv, allowHosts });
356
- const machine = await sandbox.create({ taskId, worktreePath: workDir });
357
- const hostWs = machine.hostWorkspace;
358
- if (prePopulate)
359
- prePopulateWorkspace(hostWs, prePopulate);
360
- const agentCwd = prePopulate ? `${SMOL_WORKSPACE_DIR}/${prePopulate.repo}` : SMOL_WORKSPACE_DIR;
361
- try {
362
- let command;
363
- let toolName;
364
- let toolInput;
365
- if (spec.kind === "bash") {
366
- command = spec.command;
367
- toolName = "bash";
368
- toolInput = { command: spec.command };
369
- }
370
- else {
371
- const { fileName, run } = scriptInvocation(spec);
372
- mkdirSync(join(hostWs, scriptDir), { recursive: true });
373
- writeFileSync(join(hostWs, scriptDir, fileName), spec.script);
374
- const inGuest = `${SMOL_WORKSPACE_DIR}/${scriptDir}/${fileName}`;
375
- command = run(inGuest);
376
- toolName = "bash";
377
- toolInput = { command, runtime: spec.runtime };
378
- }
379
- const res = await sandbox.runCommand(taskId, command, {
380
- cwd: agentCwd,
381
- sandboxEnv: opts?.sandboxEnv,
382
- timeoutSeconds,
383
- onLine: () => { },
384
- });
385
- const durationMs = Date.now() - startTime;
386
- const sessionId = opts?.writeSession === false ? null : await writeCommandSession({
387
- sessionsDir, projectSlug: projectSlugForCwd(agentCwd), model,
388
- displayPrompt, toolName, toolInput,
389
- stdout: res.stdout, stderr: res.stderr, exitCode: res.exitCode, durationMs,
390
- });
391
- if (sessionId && opts?.onSessionId)
392
- opts.onSessionId(sessionId);
393
- return buildCommandResult(res, durationMs, sessionId);
394
- }
395
- finally {
396
- await sandbox.destroy(taskId);
397
- }
398
- }
399
- // gondolin / none — run on the host worktree via spawnSync (the same
400
- // degraded model those backends already use; matches the pre-existing
401
- // host-side until_bash behaviour).
402
- const workDir = setupTaskWorktree({ taskId, stateDir, sandboxDir: config.sandboxDir, prePopulate });
403
- const agentCwd = access?.prePopulateBranch ? join(workDir, access.repo) : workDir;
404
- let command;
405
- let toolName = "bash";
406
- let toolInput;
407
- if (spec.kind === "bash") {
408
- command = spec.command;
409
- toolInput = { command: spec.command };
410
- }
411
- else {
412
- const { fileName, run } = scriptInvocation(spec);
413
- mkdirSync(join(workDir, scriptDir), { recursive: true });
414
- const filePath = join(workDir, scriptDir, fileName);
415
- writeFileSync(filePath, spec.script);
416
- command = run(filePath);
417
- toolInput = { command, runtime: spec.runtime };
418
- }
419
- const proc = spawnSync("sh", ["-c", command], {
420
- cwd: agentCwd,
421
- env: { ...process.env, ...ghEnv, ...(opts?.sandboxEnv ?? {}) },
422
- encoding: "utf-8",
423
- timeout: timeoutSeconds * 1000,
424
- maxBuffer: 256 * 1024 * 1024,
425
- });
426
- const durationMs = Date.now() - startTime;
427
- const exitCode = proc.status ?? (proc.signal ? 124 : 1);
428
- const res = { exitCode, stdout: proc.stdout ?? "", stderr: proc.stderr ?? "", timedOut: proc.signal === "SIGTERM" };
429
- const sessionId = opts?.writeSession === false ? null : await writeCommandSession({
430
- sessionsDir, projectSlug: projectSlugForCwd(agentCwd), model,
431
- displayPrompt, toolName, toolInput,
432
- stdout: res.stdout, stderr: res.stderr, exitCode: res.exitCode, durationMs,
433
- });
434
- if (sessionId && opts?.onSessionId)
435
- opts.onSessionId(sessionId);
436
- return buildCommandResult(res, durationMs, sessionId);
437
- });
438
- }
439
- /** Map a raw command result onto the ExecutionResult contract (turns 0, no cost). */
440
- function buildCommandResult(res, durationMs, sessionId) {
441
- const success = res.exitCode === 0;
442
- const combined = res.stderr ? `${res.stdout}${res.stdout && !res.stdout.endsWith("\n") ? "\n" : ""}${res.stderr}` : res.stdout;
443
- // Strip the trailing newline so the value substitutes cleanly into a
444
- // downstream command / `{{phaseOutputs.<name>}}` and can be forwarded as an
445
- // `LL_OUT_<PHASE>` env var (mirrors archon's "trailing newline removed"). The
446
- // full raw stdout/stderr is preserved verbatim in the session jsonl.
447
- const output = combined.replace(/\n+$/, "");
448
- return {
449
- success,
450
- output,
451
- turns: 0,
452
- durationMs,
453
- sessionId: sessionId ?? undefined,
454
- error: success ? undefined : res.timedOut ? `command timed out after ${Math.round(durationMs / 1000)}s` : `command exited ${res.exitCode}`,
455
- stopReason: success ? "success" : res.timedOut ? "error_timeout" : "error_bash",
170
+ const ctx = {
171
+ config,
172
+ taskId,
173
+ stateDir,
174
+ backend,
175
+ env: ghEnv,
176
+ prePopulate,
177
+ access,
178
+ onSessionId: opts?.onSessionId,
179
+ sandboxFactory: opts?.sandboxFactory,
456
180
  };
181
+ return withSpan("lastlight.command.execute", spanAttrs, () => runSandboxedCommand(spec, ctx, {
182
+ timeoutSeconds: opts?.timeoutSeconds,
183
+ sandboxEnv: opts?.sandboxEnv,
184
+ writeSession: opts?.writeSession,
185
+ }));
457
186
  }
458
187
  //# sourceMappingURL=agent-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../../src/engine/agent-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../../src/engine/agent-executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type AssistantMessage, type Context, type Model, type Api, type SimpleStreamOptions, type Tool, type ToolCall, type ToolResultMessage } from "@earendil-works/pi-ai";
2
- import type { SessionManager } from "../connectors/messaging/session-manager.js";
3
- import { type ChatGitHubAuth } from "./github-tools.js";
2
+ import type { SessionManager } from "../../connectors/messaging/session-manager.js";
3
+ import { type ChatGitHubAuth } from "../github/github-tools.js";
4
4
  /**
5
5
  * Match transient, retryable model errors. Deliberately conservative: auth /
6
6
  * validation / context-overflow / other 4xx (anything but 429) are NOT
@@ -13,7 +13,7 @@
13
13
  import { randomUUID } from "node:crypto";
14
14
  import { Octokit } from "octokit";
15
15
  import { completeSimple, getModel, } from "@earendil-works/pi-ai";
16
- import { buildChatGitHubTools } from "./github-tools.js";
16
+ import { buildChatGitHubTools } from "../github/github-tools.js";
17
17
  const MAX_TOOL_ROUNDS = 8;
18
18
  /**
19
19
  * Exponential backoff schedule (ms) for transient chat-model failures —
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-runner.js","sourceRoot":"","sources":["../../../src/engine/chat/chat-runner.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  import { existsSync, readFileSync } from "node:fs";
25
25
  import { join, resolve } from "node:path";
26
26
  import { Type } from "@sinclair/typebox";
27
- import { resolveSkillPaths } from "../workflows/loader.js";
27
+ import { resolveSkillPaths } from "../../workflows/loader.js";
28
28
  /**
29
29
  * Skills exposed to chat threads. `chat` is the always-on persona;
30
30
  * the others let chat assist with one-off lookups that map to these
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-skills.js","sourceRoot":"","sources":["../../../src/engine/chat/chat-skills.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { SessionManager } from "../connectors/messaging/session-manager.js";
2
- import type { ExecutorConfig } from "./profiles.js";
1
+ import type { SessionManager } from "../../connectors/messaging/session-manager.js";
2
+ import type { ExecutorConfig } from "../github/profiles.js";
3
3
  import { ChatRunner } from "./chat-runner.js";
4
4
  /**
5
5
  * Chat-specific system prompt appended to the agent context. Composed
@@ -1,10 +1,10 @@
1
- import { loadAgentContext as loadResolvedAgentContext } from "../workflows/loader.js";
2
- import { wrapUntrusted } from "./screen.js";
3
- import { AgenticShim } from "./event-shim.js";
4
- import { CHAT_PROJECT_SLUG } from "../session-log.js";
5
- import { getRuntimeConfig } from "../config.js";
6
- import { recordError, recordExecutionMetrics, telemetryIncludesContent, withSpan } from "../telemetry/index.js";
7
- import { recordPiEvent } from "../telemetry/pi-events.js";
1
+ import { loadAgentContext as loadResolvedAgentContext } from "../../workflows/loader.js";
2
+ import { wrapUntrusted } from "../screen/screen.js";
3
+ import { AgenticShim } from "../event-shim.js";
4
+ import { CHAT_PROJECT_SLUG } from "../../session-log.js";
5
+ import { getRuntimeConfig } from "../../config/config.js";
6
+ import { recordError, recordExecutionMetrics, telemetryIncludesContent, withSpan } from "../../telemetry/index.js";
7
+ import { recordPiEvent } from "../../telemetry/pi-events.js";
8
8
  /**
9
9
  * Chat-specific system prompt appended to the agent context. Composed
10
10
  * once at boot into the ChatRunner's `systemPrompt` — same persona for
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/engine/chat/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEjC,CAAC;AA6BF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,kBAA0B,EAC1B,MAAc,EACd,eAA+B,EAC/B,IAA2B,EAC3B,OAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,QAAQ,CAAC,qBAAqB,EAAE,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;QACpJ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE;gBACrC,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YACnE,MAAM,MAAM,GAAe;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;oBACzB,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,cAAc;gBACvC,OAAO;gBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;gBAC3C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS;gBAC7C,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS;gBACxD,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS;gBAC7D,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC3E,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;aACnE,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC;oBAClB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,MAAM,EAAE,OAAO;oBACf,IAAI;oBACJ,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;oBAC1C,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,cAAc,EAAE,gBAAgB,EAAE,EAAE,IAAI,CAAC,cAAc,IAAI,wBAAwB,EAAE;iBACtF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,MAAM,MAAM,CAAC,UAAU,IAAI,GAAG,KAAK,MAAM,CAAC,KAAK,IAAI,GAAG,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,OAAO,cAAc,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAClL,CAAC;YACF,sBAAsB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7O,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,GAAG,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC;gBACpD,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,MAAM,EAAE,OAAO;gBACf,kBAAkB;gBAClB,YAAY,EAAE,MAAM;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,sBAAsB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;YACrH,OAAO;gBACL,IAAI,EAAE,0EAA0E;gBAChF,OAAO,EAAE,KAAK;gBACd,UAAU;gBACV,KAAK,EAAE,MAAM;gBACb,kBAAkB;aACnB,CAAC;QACJ,CAAC;IACD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAgB;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IACE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAChC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACpC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACpC,CAAC;YACD,OAAO,+EAA+E,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/G,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,OAAO,uFAAuF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACvH,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrG,OAAO,uDAAuD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACvF,CAAC;QACD,OAAO,wBAAwB,MAAM,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,wBAAwB,MAAM,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAQ5B;IACC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC;QAC3B,OAAO,EAAE,IAAI,CAAC,eAAe;QAC7B,WAAW,EAAE,iBAAiB,EAAE,iDAAiD;QACjF,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,aAAa,EAAE,IAAI,CAAC,MAAM;KAC3B,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,gEAAgE;IAChE,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAmB,CAAC;IACvG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,aAAa,CAAC,aAAmD,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzJ,oEAAoE;IACpE,qEAAqE;IACrE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7E,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;SACvB,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,aAAa,CAAC,MAA4C,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACpJ,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,oBAAoB;YAC1B,SAAS;YACT,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,MAAM,EAAE,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,OAAO,EAAE,EAAE,CAAC,OAAO;SACH,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,aAAa,CAAC,MAA4C,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACpJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC;QACZ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;QACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;QAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;QACnC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QACrC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;QAChD,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;QACrD,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAMnC;IACC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC;QAC3B,OAAO,EAAE,IAAI,CAAC,eAAe;QAC7B,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,IAAI,CAAC,MAAM;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACnD;QACE,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,oBAAoB,EAAE,CAAC;QACvB,wBAAwB,EAAE,CAAC;QAC3B,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,EACD,aAAa,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,EACjC,IAAI,CAAC,YAAY,CAClB,CAAC;IACF,OAAO,aAAa,IAAI,SAAS,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,OAAO,wBAAwB,EAAE,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { EventEnvelope } from "../connectors/types.js";
1
+ import type { EventEnvelope } from "../../connectors/types.js";
2
2
  export interface MessageBatcherDeps {
3
3
  /** Dispatch one (possibly combined) envelope through the normal pipeline. */
4
4
  dispatch: (envelope: EventEnvelope) => Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-batcher.js","sourceRoot":"","sources":["../../../src/engine/chat/message-batcher.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { EventEnvelope } from "../connectors/types.js";
2
2
  import type { SessionManager } from "../connectors/index.js";
3
3
  import type { StateDb } from "../state/db.js";
4
- import type { GitHubClient } from "./github.js";
5
- import type { ChatResult } from "./chat.js";
4
+ import type { GitHubClient } from "./github/github.js";
5
+ import type { ChatResult } from "./chat/chat.js";
6
6
  import { type Route, type RouterDeps } from "./router.js";
7
7
  /**
8
8
  * Hand a workflow to the runner. Matches `dispatchWorkflow` in index.ts — the
@@ -367,18 +367,42 @@ async function handlePrFix(context, handler, deps) {
367
367
  let prBody = context.body || "";
368
368
  let branch = "";
369
369
  let failedChecks = "";
370
+ let isForkPr = false;
371
+ let headRepoFullName = null;
370
372
  if (deps.github) {
371
373
  try {
372
374
  const pr = await deps.github.getPullRequest(owner, repo, prNumber);
373
375
  prTitle = prTitle || pr.title;
374
376
  prBody = prBody || pr.body || "";
375
377
  branch = pr.head.ref;
378
+ // Cross-repo (fork) PR detection. A fork PR's head branch lives on
379
+ // another repo we have no write access to, and its head ref isn't on
380
+ // this repo's origin — so there's nothing for pr-fix to clone or push
381
+ // to. Bail here, before any sandbox is provisioned. `head.repo` is null
382
+ // when the source fork was deleted; treat that as a fork too (the branch
383
+ // is gone either way).
384
+ headRepoFullName = pr.head.repo?.full_name ?? null;
385
+ const baseRepoFullName = pr.base.repo?.full_name ?? `${owner}/${repo}`;
386
+ isForkPr = headRepoFullName === null || headRepoFullName !== baseRepoFullName;
376
387
  failedChecks = await deps.github.getFailedChecks(owner, repo, pr.head.sha);
377
388
  }
378
389
  catch (err) {
379
390
  console.warn(`[event] Could not fetch PR: ${err.message}`);
380
391
  }
381
392
  }
393
+ if (isForkPr) {
394
+ console.log(`[event] pr-fix skipped: PR #${prNumber} is a fork PR ` +
395
+ `(head ${headRepoFullName ?? "deleted fork"} ≠ base ${owner}/${repo})`);
396
+ if (deps.github) {
397
+ const source = headRepoFullName ? `from \`${headRepoFullName}\`` : "from a now-deleted fork";
398
+ await deps.github
399
+ .postComment(owner, repo, prNumber, `I can't apply fixes to this PR — it comes ${source}, and I have no write access to the ` +
400
+ `source branch (nor is its head ref on \`${owner}/${repo}\`). Re-create the change on a ` +
401
+ `branch in \`${owner}/${repo}\` and I'll fix it there.`)
402
+ .catch((e) => console.warn(`[event] fork-PR notice comment failed: ${e instanceof Error ? e.message : String(e)}`));
403
+ }
404
+ return { kind: "ignored", reason: `pr-fix not supported for fork PR #${prNumber}` };
405
+ }
382
406
  if (!branch) {
383
407
  console.error(`[event] Could not determine branch for PR #${prNumber}`);
384
408
  return { kind: "ignored", reason: `could not determine branch for PR #${prNumber}` };