lastlight 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/README.md +71 -692
  2. package/dist/cli-config.js.map +1 -0
  3. package/dist/cli-format.js.map +1 -0
  4. package/dist/{cli/cli-server.d.ts → cli-server.d.ts} +39 -1
  5. package/dist/{cli/cli-server.js → cli-server.js} +105 -5
  6. package/dist/cli-server.js.map +1 -0
  7. package/dist/cli-timeline.js.map +1 -0
  8. package/dist/{cli/cli.js → cli.js} +9 -7
  9. package/dist/cli.js.map +1 -0
  10. package/dist/{cli/fork-cli.d.ts → fork-cli.d.ts} +3 -3
  11. package/dist/{cli/fork-cli.js → fork-cli.js} +28 -27
  12. package/dist/fork-cli.js.map +1 -0
  13. package/dist/{cli/oauth-cli.js → oauth-cli.js} +1 -1
  14. package/dist/oauth-cli.js.map +1 -0
  15. package/dist/{cli/setup.js → setup.js} +10 -4
  16. package/dist/setup.js.map +1 -0
  17. package/dist/{cli/skills-install.d.ts → skills-install.d.ts} +6 -0
  18. package/dist/{cli/skills-install.js → skills-install.js} +6 -2
  19. package/dist/skills-install.js.map +1 -0
  20. package/package.json +20 -65
  21. package/plugins/lastlight/.claude-plugin/plugin.json +1 -1
  22. package/agent-context/rules.md +0 -80
  23. package/agent-context/security.md +0 -69
  24. package/agent-context/soul.md +0 -21
  25. package/config/default.yaml +0 -119
  26. package/deploy/.env.production.example +0 -100
  27. package/deploy/entrypoint.sh +0 -82
  28. package/deploy/native/README.md +0 -160
  29. package/deploy/native/install.sh +0 -110
  30. package/deploy/native/lastlight.env.example +0 -95
  31. package/deploy/native/lastlight.service +0 -50
  32. package/deploy/sandbox-entrypoint.sh +0 -93
  33. package/dist/admin/auth.d.ts +0 -51
  34. package/dist/admin/auth.js +0 -121
  35. package/dist/admin/auth.js.map +0 -1
  36. package/dist/admin/chat-session-reader.d.ts +0 -39
  37. package/dist/admin/chat-session-reader.js +0 -84
  38. package/dist/admin/chat-session-reader.js.map +0 -1
  39. package/dist/admin/docker.d.ts +0 -61
  40. package/dist/admin/docker.js +0 -187
  41. package/dist/admin/docker.js.map +0 -1
  42. package/dist/admin/index.d.ts +0 -9
  43. package/dist/admin/index.js +0 -59
  44. package/dist/admin/index.js.map +0 -1
  45. package/dist/admin/routes.d.ts +0 -81
  46. package/dist/admin/routes.js +0 -1381
  47. package/dist/admin/routes.js.map +0 -1
  48. package/dist/admin/sessions.d.ts +0 -89
  49. package/dist/admin/sessions.js +0 -204
  50. package/dist/admin/sessions.js.map +0 -1
  51. package/dist/admin/tail.d.ts +0 -12
  52. package/dist/admin/tail.js +0 -145
  53. package/dist/admin/tail.js.map +0 -1
  54. package/dist/admin/version.d.ts +0 -22
  55. package/dist/admin/version.js +0 -92
  56. package/dist/admin/version.js.map +0 -1
  57. package/dist/cli/cli-config.js.map +0 -1
  58. package/dist/cli/cli-format.js.map +0 -1
  59. package/dist/cli/cli-server.js.map +0 -1
  60. package/dist/cli/cli-timeline.js.map +0 -1
  61. package/dist/cli/cli.js.map +0 -1
  62. package/dist/cli/fork-cli.js.map +0 -1
  63. package/dist/cli/oauth-cli.js.map +0 -1
  64. package/dist/cli/setup.js.map +0 -1
  65. package/dist/cli/skills-install.js.map +0 -1
  66. package/dist/config/config-resolve.d.ts +0 -28
  67. package/dist/config/config-resolve.js +0 -47
  68. package/dist/config/config-resolve.js.map +0 -1
  69. package/dist/config/config.d.ts +0 -157
  70. package/dist/config/config.js +0 -581
  71. package/dist/config/config.js.map +0 -1
  72. package/dist/config/core-pin.d.ts +0 -16
  73. package/dist/config/core-pin.js +0 -85
  74. package/dist/config/core-pin.js.map +0 -1
  75. package/dist/config/overlay-assets.d.ts +0 -20
  76. package/dist/config/overlay-assets.js +0 -114
  77. package/dist/config/overlay-assets.js.map +0 -1
  78. package/dist/config/overlay-bootstrap.d.ts +0 -44
  79. package/dist/config/overlay-bootstrap.js +0 -304
  80. package/dist/config/overlay-bootstrap.js.map +0 -1
  81. package/dist/connectors/github-webhook.d.ts +0 -45
  82. package/dist/connectors/github-webhook.js +0 -321
  83. package/dist/connectors/github-webhook.js.map +0 -1
  84. package/dist/connectors/index.d.ts +0 -18
  85. package/dist/connectors/index.js +0 -41
  86. package/dist/connectors/index.js.map +0 -1
  87. package/dist/connectors/messaging/base.d.ts +0 -42
  88. package/dist/connectors/messaging/base.js +0 -139
  89. package/dist/connectors/messaging/base.js.map +0 -1
  90. package/dist/connectors/messaging/delivery.d.ts +0 -14
  91. package/dist/connectors/messaging/delivery.js +0 -38
  92. package/dist/connectors/messaging/delivery.js.map +0 -1
  93. package/dist/connectors/messaging/index.d.ts +0 -4
  94. package/dist/connectors/messaging/index.js +0 -4
  95. package/dist/connectors/messaging/index.js.map +0 -1
  96. package/dist/connectors/messaging/session-manager.d.ts +0 -53
  97. package/dist/connectors/messaging/session-manager.js +0 -255
  98. package/dist/connectors/messaging/session-manager.js.map +0 -1
  99. package/dist/connectors/messaging/types.d.ts +0 -58
  100. package/dist/connectors/messaging/types.js +0 -7
  101. package/dist/connectors/messaging/types.js.map +0 -1
  102. package/dist/connectors/slack/connector.d.ts +0 -142
  103. package/dist/connectors/slack/connector.js +0 -494
  104. package/dist/connectors/slack/connector.js.map +0 -1
  105. package/dist/connectors/slack/index.d.ts +0 -2
  106. package/dist/connectors/slack/index.js +0 -3
  107. package/dist/connectors/slack/index.js.map +0 -1
  108. package/dist/connectors/slack/mrkdwn.d.ts +0 -19
  109. package/dist/connectors/slack/mrkdwn.js +0 -240
  110. package/dist/connectors/slack/mrkdwn.js.map +0 -1
  111. package/dist/connectors/types.d.ts +0 -61
  112. package/dist/connectors/types.js +0 -2
  113. package/dist/connectors/types.js.map +0 -1
  114. package/dist/cron/fanout.d.ts +0 -33
  115. package/dist/cron/fanout.js +0 -55
  116. package/dist/cron/fanout.js.map +0 -1
  117. package/dist/cron/jobs.d.ts +0 -18
  118. package/dist/cron/jobs.js +0 -37
  119. package/dist/cron/jobs.js.map +0 -1
  120. package/dist/cron/scheduler.d.ts +0 -45
  121. package/dist/cron/scheduler.js +0 -105
  122. package/dist/cron/scheduler.js.map +0 -1
  123. package/dist/engine/agent-executor.d.ts +0 -34
  124. package/dist/engine/agent-executor.js +0 -246
  125. package/dist/engine/agent-executor.js.map +0 -1
  126. package/dist/engine/chat/chat-runner.d.ts +0 -132
  127. package/dist/engine/chat/chat-runner.js +0 -424
  128. package/dist/engine/chat/chat-runner.js.map +0 -1
  129. package/dist/engine/chat/chat-skills.d.ts +0 -45
  130. package/dist/engine/chat/chat-skills.js +0 -184
  131. package/dist/engine/chat/chat-skills.js.map +0 -1
  132. package/dist/engine/chat/chat.d.ts +0 -54
  133. package/dist/engine/chat/chat.js +0 -316
  134. package/dist/engine/chat/chat.js.map +0 -1
  135. package/dist/engine/chat/message-batcher.d.ts +0 -32
  136. package/dist/engine/chat/message-batcher.js +0 -109
  137. package/dist/engine/chat/message-batcher.js.map +0 -1
  138. package/dist/engine/dispatcher.d.ts +0 -73
  139. package/dist/engine/dispatcher.js +0 -663
  140. package/dist/engine/dispatcher.js.map +0 -1
  141. package/dist/engine/event-shim.d.ts +0 -117
  142. package/dist/engine/event-shim.js +0 -435
  143. package/dist/engine/event-shim.js.map +0 -1
  144. package/dist/engine/executors/orchestrator.d.ts +0 -81
  145. package/dist/engine/executors/orchestrator.js +0 -365
  146. package/dist/engine/executors/orchestrator.js.map +0 -1
  147. package/dist/engine/executors/shared.d.ts +0 -189
  148. package/dist/engine/executors/shared.js +0 -616
  149. package/dist/engine/executors/shared.js.map +0 -1
  150. package/dist/engine/github/git-auth.d.ts +0 -62
  151. package/dist/engine/github/git-auth.js +0 -161
  152. package/dist/engine/github/git-auth.js.map +0 -1
  153. package/dist/engine/github/github-app-client.d.ts +0 -23
  154. package/dist/engine/github/github-app-client.js +0 -33
  155. package/dist/engine/github/github-app-client.js.map +0 -1
  156. package/dist/engine/github/github-tools.d.ts +0 -18
  157. package/dist/engine/github/github-tools.js +0 -263
  158. package/dist/engine/github/github-tools.js.map +0 -1
  159. package/dist/engine/github/github.d.ts +0 -1193
  160. package/dist/engine/github/github.js +0 -357
  161. package/dist/engine/github/github.js.map +0 -1
  162. package/dist/engine/github/profiles.d.ts +0 -279
  163. package/dist/engine/github/profiles.js +0 -42
  164. package/dist/engine/github/profiles.js.map +0 -1
  165. package/dist/engine/github/review-poster.d.ts +0 -98
  166. package/dist/engine/github/review-poster.js +0 -177
  167. package/dist/engine/github/review-poster.js.map +0 -1
  168. package/dist/engine/llm.d.ts +0 -79
  169. package/dist/engine/llm.js +0 -269
  170. package/dist/engine/llm.js.map +0 -1
  171. package/dist/engine/oauth.d.ts +0 -43
  172. package/dist/engine/oauth.js +0 -103
  173. package/dist/engine/oauth.js.map +0 -1
  174. package/dist/engine/router.d.ts +0 -29
  175. package/dist/engine/router.js +0 -680
  176. package/dist/engine/router.js.map +0 -1
  177. package/dist/engine/screen/classifier.d.ts +0 -93
  178. package/dist/engine/screen/classifier.js +0 -215
  179. package/dist/engine/screen/classifier.js.map +0 -1
  180. package/dist/engine/screen/screen.d.ts +0 -41
  181. package/dist/engine/screen/screen.js +0 -93
  182. package/dist/engine/screen/screen.js.map +0 -1
  183. package/dist/evals-api.d.ts +0 -24
  184. package/dist/evals-api.js +0 -22
  185. package/dist/evals-api.js.map +0 -1
  186. package/dist/index.d.ts +0 -1
  187. package/dist/index.js +0 -940
  188. package/dist/index.js.map +0 -1
  189. package/dist/managed-repos.d.ts +0 -30
  190. package/dist/managed-repos.js +0 -72
  191. package/dist/managed-repos.js.map +0 -1
  192. package/dist/notify/blocks.d.ts +0 -23
  193. package/dist/notify/blocks.js +0 -118
  194. package/dist/notify/blocks.js.map +0 -1
  195. package/dist/notify/index.d.ts +0 -17
  196. package/dist/notify/index.js +0 -7
  197. package/dist/notify/index.js.map +0 -1
  198. package/dist/notify/model.d.ts +0 -57
  199. package/dist/notify/model.js +0 -89
  200. package/dist/notify/model.js.map +0 -1
  201. package/dist/notify/notifier.d.ts +0 -18
  202. package/dist/notify/notifier.js +0 -100
  203. package/dist/notify/notifier.js.map +0 -1
  204. package/dist/notify/render.d.ts +0 -21
  205. package/dist/notify/render.js +0 -59
  206. package/dist/notify/render.js.map +0 -1
  207. package/dist/notify/transports/github.d.ts +0 -26
  208. package/dist/notify/transports/github.js +0 -27
  209. package/dist/notify/transports/github.js.map +0 -1
  210. package/dist/notify/transports/slack.d.ts +0 -27
  211. package/dist/notify/transports/slack.js +0 -37
  212. package/dist/notify/transports/slack.js.map +0 -1
  213. package/dist/notify/types.d.ts +0 -119
  214. package/dist/notify/types.js +0 -16
  215. package/dist/notify/types.js.map +0 -1
  216. package/dist/providers.d.ts +0 -125
  217. package/dist/providers.js +0 -279
  218. package/dist/providers.js.map +0 -1
  219. package/dist/sandbox/docker.d.ts +0 -180
  220. package/dist/sandbox/docker.js +0 -517
  221. package/dist/sandbox/docker.js.map +0 -1
  222. package/dist/sandbox/egress-allowlist.d.ts +0 -74
  223. package/dist/sandbox/egress-allowlist.js +0 -164
  224. package/dist/sandbox/egress-allowlist.js.map +0 -1
  225. package/dist/sandbox/egress-firewall-config.d.ts +0 -127
  226. package/dist/sandbox/egress-firewall-config.js +0 -434
  227. package/dist/sandbox/egress-firewall-config.js.map +0 -1
  228. package/dist/sandbox/images.d.ts +0 -23
  229. package/dist/sandbox/images.js +0 -55
  230. package/dist/sandbox/images.js.map +0 -1
  231. package/dist/sandbox/index.d.ts +0 -112
  232. package/dist/sandbox/index.js +0 -332
  233. package/dist/sandbox/index.js.map +0 -1
  234. package/dist/sandbox/sandbox.d.ts +0 -214
  235. package/dist/sandbox/sandbox.js +0 -453
  236. package/dist/sandbox/sandbox.js.map +0 -1
  237. package/dist/sandbox/smol.d.ts +0 -162
  238. package/dist/sandbox/smol.js +0 -485
  239. package/dist/sandbox/smol.js.map +0 -1
  240. package/dist/session-log.d.ts +0 -63
  241. package/dist/session-log.js +0 -290
  242. package/dist/session-log.js.map +0 -1
  243. package/dist/state/approval-store.d.ts +0 -88
  244. package/dist/state/approval-store.js +0 -149
  245. package/dist/state/approval-store.js.map +0 -1
  246. package/dist/state/build-assets.d.ts +0 -50
  247. package/dist/state/build-assets.js +0 -154
  248. package/dist/state/build-assets.js.map +0 -1
  249. package/dist/state/db.d.ts +0 -81
  250. package/dist/state/db.js +0 -155
  251. package/dist/state/db.js.map +0 -1
  252. package/dist/state/execution-store.d.ts +0 -257
  253. package/dist/state/execution-store.js +0 -527
  254. package/dist/state/execution-store.js.map +0 -1
  255. package/dist/state/migrate.d.ts +0 -15
  256. package/dist/state/migrate.js +0 -175
  257. package/dist/state/migrate.js.map +0 -1
  258. package/dist/state/workflow-run-store.d.ts +0 -216
  259. package/dist/state/workflow-run-store.js +0 -403
  260. package/dist/state/workflow-run-store.js.map +0 -1
  261. package/dist/telemetry/index.d.ts +0 -38
  262. package/dist/telemetry/index.js +0 -253
  263. package/dist/telemetry/index.js.map +0 -1
  264. package/dist/telemetry/pi-events.d.ts +0 -12
  265. package/dist/telemetry/pi-events.js +0 -134
  266. package/dist/telemetry/pi-events.js.map +0 -1
  267. package/dist/workflows/dag.d.ts +0 -37
  268. package/dist/workflows/dag.js +0 -118
  269. package/dist/workflows/dag.js.map +0 -1
  270. package/dist/workflows/loader.d.ts +0 -53
  271. package/dist/workflows/loader.js +0 -421
  272. package/dist/workflows/loader.js.map +0 -1
  273. package/dist/workflows/loop-eval.d.ts +0 -28
  274. package/dist/workflows/loop-eval.js +0 -74
  275. package/dist/workflows/loop-eval.js.map +0 -1
  276. package/dist/workflows/phase-executor.d.ts +0 -222
  277. package/dist/workflows/phase-executor.js +0 -1153
  278. package/dist/workflows/phase-executor.js.map +0 -1
  279. package/dist/workflows/phase-ref.d.ts +0 -50
  280. package/dist/workflows/phase-ref.js +0 -91
  281. package/dist/workflows/phase-ref.js.map +0 -1
  282. package/dist/workflows/resume.d.ts +0 -58
  283. package/dist/workflows/resume.js +0 -313
  284. package/dist/workflows/resume.js.map +0 -1
  285. package/dist/workflows/runner.d.ts +0 -63
  286. package/dist/workflows/runner.js +0 -381
  287. package/dist/workflows/runner.js.map +0 -1
  288. package/dist/workflows/schema.d.ts +0 -344
  289. package/dist/workflows/schema.js +0 -460
  290. package/dist/workflows/schema.js.map +0 -1
  291. package/dist/workflows/simple.d.ts +0 -90
  292. package/dist/workflows/simple.js +0 -393
  293. package/dist/workflows/simple.js.map +0 -1
  294. package/dist/workflows/target-policy.d.ts +0 -74
  295. package/dist/workflows/target-policy.js +0 -80
  296. package/dist/workflows/target-policy.js.map +0 -1
  297. package/dist/workflows/templates.d.ts +0 -88
  298. package/dist/workflows/templates.js +0 -127
  299. package/dist/workflows/templates.js.map +0 -1
  300. package/dist/workflows/triggers.d.ts +0 -21
  301. package/dist/workflows/triggers.js +0 -45
  302. package/dist/workflows/triggers.js.map +0 -1
  303. package/dist/workflows/verdict.d.ts +0 -19
  304. package/dist/workflows/verdict.js +0 -30
  305. package/dist/workflows/verdict.js.map +0 -1
  306. package/dist/worktree/manager.d.ts +0 -43
  307. package/dist/worktree/manager.js +0 -127
  308. package/dist/worktree/manager.js.map +0 -1
  309. package/docker-compose.yml +0 -274
  310. package/sandbox.Dockerfile +0 -68
  311. package/skills/README.md +0 -42
  312. package/skills/browser-qa/SKILL.md +0 -208
  313. package/skills/browser-qa/scripts/agent-browser.mjs +0 -531
  314. package/skills/building/SKILL.md +0 -95
  315. package/skills/chat/SKILL.md +0 -36
  316. package/skills/code-review/SKILL.md +0 -82
  317. package/skills/debug-production/SKILL.md +0 -108
  318. package/skills/demo/SKILL.md +0 -228
  319. package/skills/demo/scripts/compose-demo.sh +0 -243
  320. package/skills/issue-answer/SKILL.md +0 -91
  321. package/skills/issue-comment/SKILL.md +0 -49
  322. package/skills/issue-triage/SKILL.md +0 -149
  323. package/skills/issue-triage/references/AGENT-BRIEF.md +0 -65
  324. package/skills/pr-comment/SKILL.md +0 -64
  325. package/skills/pr-review/SKILL.md +0 -148
  326. package/skills/pr-review/references/findings-schema.md +0 -89
  327. package/skills/qa-test/SKILL.md +0 -97
  328. package/skills/repo-health/SKILL.md +0 -67
  329. package/skills/security-feedback/SKILL.md +0 -173
  330. package/skills/security-feedback/references/templates.md +0 -77
  331. package/skills/security-review/SKILL.md +0 -215
  332. package/skills/security-review/references/issue-format.md +0 -302
  333. package/skills/verify/SKILL.md +0 -118
  334. package/workflows/answer.yaml +0 -44
  335. package/workflows/build.yaml +0 -129
  336. package/workflows/cron-health.yaml +0 -6
  337. package/workflows/cron-review.yaml +0 -8
  338. package/workflows/cron-security.yaml +0 -6
  339. package/workflows/cron-triage.yaml +0 -8
  340. package/workflows/demo.yaml +0 -62
  341. package/workflows/examples/bash-smoke.yaml +0 -41
  342. package/workflows/examples/parallel-review.yaml +0 -36
  343. package/workflows/examples/tdd-loop.yaml +0 -17
  344. package/workflows/explore.yaml +0 -80
  345. package/workflows/issue-comment.yaml +0 -15
  346. package/workflows/issue-triage.yaml +0 -22
  347. package/workflows/pr-comment.yaml +0 -16
  348. package/workflows/pr-fix.yaml +0 -17
  349. package/workflows/pr-review.yaml +0 -50
  350. package/workflows/prompts/answer.md +0 -68
  351. package/workflows/prompts/architect.md +0 -44
  352. package/workflows/prompts/classifier.md +0 -60
  353. package/workflows/prompts/classify-adds-info.md +0 -17
  354. package/workflows/prompts/demo.md +0 -125
  355. package/workflows/prompts/executor.md +0 -42
  356. package/workflows/prompts/explore-ask.md +0 -99
  357. package/workflows/prompts/explore-publish.md +0 -31
  358. package/workflows/prompts/explore-read.md +0 -120
  359. package/workflows/prompts/explore-synthesize.md +0 -88
  360. package/workflows/prompts/fix.md +0 -18
  361. package/workflows/prompts/guardrails.md +0 -96
  362. package/workflows/prompts/pr-fix.md +0 -26
  363. package/workflows/prompts/pr.md +0 -39
  364. package/workflows/prompts/qa-browser.md +0 -95
  365. package/workflows/prompts/qa-synth.md +0 -44
  366. package/workflows/prompts/qa-test.md +0 -60
  367. package/workflows/prompts/re-reviewer.md +0 -33
  368. package/workflows/prompts/reviewer.md +0 -60
  369. package/workflows/prompts/verify-browser.md +0 -93
  370. package/workflows/prompts/verify-synth.md +0 -44
  371. package/workflows/prompts/verify.md +0 -63
  372. package/workflows/qa-test.yaml +0 -94
  373. package/workflows/repo-health.yaml +0 -15
  374. package/workflows/security-feedback.yaml +0 -25
  375. package/workflows/security-review.yaml +0 -37
  376. package/workflows/verify.yaml +0 -93
  377. /package/dist/{cli/cli-config.d.ts → cli-config.d.ts} +0 -0
  378. /package/dist/{cli/cli-config.js → cli-config.js} +0 -0
  379. /package/dist/{cli/cli-format.d.ts → cli-format.d.ts} +0 -0
  380. /package/dist/{cli/cli-format.js → cli-format.js} +0 -0
  381. /package/dist/{cli/cli-timeline.d.ts → cli-timeline.d.ts} +0 -0
  382. /package/dist/{cli/cli-timeline.js → cli-timeline.js} +0 -0
  383. /package/dist/{cli/cli.d.ts → cli.d.ts} +0 -0
  384. /package/dist/{cli/oauth-cli.d.ts → oauth-cli.d.ts} +0 -0
  385. /package/dist/{cli/setup.d.ts → setup.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"phase-executor.js","sourceRoot":"","sources":["../../src/workflows/phase-executor.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * The single authority for building and resolving the phase labels the runner
3
- * generates for loop iterations.
4
- *
5
- * A workflow phase named in the YAML (e.g. `reviewer`) keeps that bare name for
6
- * its initial run. When a reviewer loop fixes-and-rechecks, or a generic loop
7
- * iterates, the runner mints a derived label. `PhaseRef.format()` is the ONLY
8
- * place those derived strings are constructed, and `PhaseRef.parse()` resolves
9
- * them back to their base phase + kind.
10
- *
11
- * Scheme (post-#93):
12
- *
13
- * initial review → reviewer
14
- * cycle n fix → reviewer_fix_n
15
- * cycle n re-review → reviewer_recheck_n
16
- * generic-loop iteration n → reviewer_iter_n
17
- * generic-loop retry of n → reviewer_iter_n_retry
18
- *
19
- * `n` is the 1-based cycle; `fix_k` and `recheck_k` pair within a cycle. The
20
- * `_retry` suffix is the one-shot re-run of a generic-loop iteration whose first
21
- * attempt came back empty (a "soft" outcome); it gets its own ledger row so
22
- * resume/dedup doesn't skip it, and the dashboard's longest-prefix grouping
23
- * still nests it under the same parent. The legacy bare-numeric re-review form
24
- * (`reviewer_2`) is dropped entirely — it is neither produced nor recognized.
25
- */
26
- export type PhaseKind = "phase" | "fix" | "recheck" | "iter" | "retry";
27
- export declare class PhaseRef {
28
- readonly base: string;
29
- readonly kind: PhaseKind;
30
- readonly index?: number | undefined;
31
- constructor(base: string, kind?: PhaseKind, index?: number | undefined);
32
- /** The declared phase, run as-is (no derived suffix). */
33
- static review(base: string): PhaseRef;
34
- /** The executor fix run for cycle `n`. */
35
- static fix(base: string, n: number): PhaseRef;
36
- /** The reviewer re-review run for cycle `n`. */
37
- static recheck(base: string, n: number): PhaseRef;
38
- /** The generic-loop iteration `n`. */
39
- static iter(base: string, n: number): PhaseRef;
40
- /** The one-shot retry of generic-loop iteration `n` after a soft outcome. */
41
- static iterRetry(base: string, n: number): PhaseRef;
42
- format(): string;
43
- /**
44
- * Parse a label back into a PhaseRef. Recognizes only the generated
45
- * `_fix_N` / `_recheck_N` / `_iter_N` suffixes; anything else (including a
46
- * bare declared name or the dropped legacy `_N` form) parses as a plain
47
- * `phase` whose base is the whole string.
48
- */
49
- static parse(label: string): PhaseRef;
50
- }
@@ -1,91 +0,0 @@
1
- /**
2
- * The single authority for building and resolving the phase labels the runner
3
- * generates for loop iterations.
4
- *
5
- * A workflow phase named in the YAML (e.g. `reviewer`) keeps that bare name for
6
- * its initial run. When a reviewer loop fixes-and-rechecks, or a generic loop
7
- * iterates, the runner mints a derived label. `PhaseRef.format()` is the ONLY
8
- * place those derived strings are constructed, and `PhaseRef.parse()` resolves
9
- * them back to their base phase + kind.
10
- *
11
- * Scheme (post-#93):
12
- *
13
- * initial review → reviewer
14
- * cycle n fix → reviewer_fix_n
15
- * cycle n re-review → reviewer_recheck_n
16
- * generic-loop iteration n → reviewer_iter_n
17
- * generic-loop retry of n → reviewer_iter_n_retry
18
- *
19
- * `n` is the 1-based cycle; `fix_k` and `recheck_k` pair within a cycle. The
20
- * `_retry` suffix is the one-shot re-run of a generic-loop iteration whose first
21
- * attempt came back empty (a "soft" outcome); it gets its own ledger row so
22
- * resume/dedup doesn't skip it, and the dashboard's longest-prefix grouping
23
- * still nests it under the same parent. The legacy bare-numeric re-review form
24
- * (`reviewer_2`) is dropped entirely — it is neither produced nor recognized.
25
- */
26
- export class PhaseRef {
27
- base;
28
- kind;
29
- index;
30
- constructor(base, kind = "phase", index) {
31
- this.base = base;
32
- this.kind = kind;
33
- this.index = index;
34
- }
35
- /** The declared phase, run as-is (no derived suffix). */
36
- static review(base) {
37
- return new PhaseRef(base, "phase");
38
- }
39
- /** The executor fix run for cycle `n`. */
40
- static fix(base, n) {
41
- return new PhaseRef(base, "fix", n);
42
- }
43
- /** The reviewer re-review run for cycle `n`. */
44
- static recheck(base, n) {
45
- return new PhaseRef(base, "recheck", n);
46
- }
47
- /** The generic-loop iteration `n`. */
48
- static iter(base, n) {
49
- return new PhaseRef(base, "iter", n);
50
- }
51
- /** The one-shot retry of generic-loop iteration `n` after a soft outcome. */
52
- static iterRetry(base, n) {
53
- return new PhaseRef(base, "retry", n);
54
- }
55
- format() {
56
- switch (this.kind) {
57
- case "phase":
58
- return this.base;
59
- case "fix":
60
- return `${this.base}_fix_${this.index}`;
61
- case "recheck":
62
- return `${this.base}_recheck_${this.index}`;
63
- case "iter":
64
- return `${this.base}_iter_${this.index}`;
65
- case "retry":
66
- return `${this.base}_iter_${this.index}_retry`;
67
- }
68
- }
69
- /**
70
- * Parse a label back into a PhaseRef. Recognizes only the generated
71
- * `_fix_N` / `_recheck_N` / `_iter_N` suffixes; anything else (including a
72
- * bare declared name or the dropped legacy `_N` form) parses as a plain
73
- * `phase` whose base is the whole string.
74
- */
75
- static parse(label) {
76
- let m = label.match(/^(.*)_iter_(\d+)_retry$/);
77
- if (m)
78
- return new PhaseRef(m[1], "retry", Number(m[2]));
79
- m = label.match(/^(.*)_fix_(\d+)$/);
80
- if (m)
81
- return new PhaseRef(m[1], "fix", Number(m[2]));
82
- m = label.match(/^(.*)_recheck_(\d+)$/);
83
- if (m)
84
- return new PhaseRef(m[1], "recheck", Number(m[2]));
85
- m = label.match(/^(.*)_iter_(\d+)$/);
86
- if (m)
87
- return new PhaseRef(m[1], "iter", Number(m[2]));
88
- return new PhaseRef(label, "phase");
89
- }
90
- }
91
- //# sourceMappingURL=phase-ref.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"phase-ref.js","sourceRoot":"","sources":["../../src/workflows/phase-ref.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import type { StateDb, WorkflowRun } from "../state/db.js";
2
- import type { ExecutorConfig } from "../engine/github/profiles.js";
3
- import type { GitHubClient } from "../engine/github/github.js";
4
- import type { ModelConfig, VariantConfig } from "../config/config.js";
5
- import { type ApprovalGateConfig } from "./runner.js";
6
- export interface ResumeOptions {
7
- db: StateDb;
8
- github: GitHubClient | null;
9
- config: ExecutorConfig;
10
- models?: ModelConfig;
11
- variants?: VariantConfig;
12
- approvalConfig?: ApprovalGateConfig;
13
- bootstrapLabel?: string;
14
- /** Post a message to a Slack channel/thread. Used to resume Slack-originated workflows. */
15
- slackPoster?: (channelId: string, threadId: string, msg: string) => Promise<void>;
16
- /** Public base URL of the admin dashboard — for the checklist's live-run link. */
17
- publicUrl?: string;
18
- }
19
- /**
20
- * Parse `cliftonc/drizby#18` (or `cliftonc/drizby::workflow-name`) into
21
- * its components. Returns null for Slack/chat-originated trigger ids —
22
- * those runs resume via the messaging connector, not GitHub refetch.
23
- */
24
- export declare function parseTriggerId(triggerId: string): {
25
- owner: string;
26
- repo: string;
27
- } | null;
28
- /**
29
- * Parse a Slack trigger id of the form `slack:{teamId}:{channel}:{thread}`.
30
- * Returns null for anything else. Used by the runner bridge to reconstruct
31
- * channel/thread coordinates when resuming a Slack-initiated explore run.
32
- */
33
- export declare function parseSlackTriggerId(triggerId: string): {
34
- teamId: string;
35
- channelId: string;
36
- threadTs: string;
37
- } | null;
38
- /**
39
- * Resume a workflow run by calling runWorkflow directly with the existing
40
- * workflowId. We bypass runSimpleWorkflow because that wrapper always creates a
41
- * fresh workflow_runs row — we want to keep the existing one and let the
42
- * runner's per-phase dedup (`shouldRunPhase`) handle "what's already done".
43
- *
44
- * Two callers, same machinery:
45
- * - `resumeOrphanedWorkflows` — boot recovery of `running` runs after a crash.
46
- * - the admin/CLI **retry** path (`config.retryWorkflow` in `src/index.ts`) —
47
- * a user retrying a `failed` run. The failed phase's ledger row is
48
- * `success=0`, so it re-runs while already-succeeded phases skip; context is
49
- * reconstructed here from the stored `run.context` + `run.scratch`, which is
50
- * why retry works for Slack-thread-scoped runs the lossy `resumeWorkflow`
51
- * (owner/repo/issueNumber) path can't handle.
52
- *
53
- * The caller MUST have already flipped the row to `running` (`setRunning` /
54
- * `restartRun`) — this function does not change the pre-run status, only the
55
- * terminal `finishRun` at the end.
56
- */
57
- export declare function resumeSimpleRun(run: WorkflowRun, opts: ResumeOptions): Promise<void>;
58
- export declare function resumeOrphanedWorkflows(opts: ResumeOptions): Promise<void>;
@@ -1,313 +0,0 @@
1
- import { runWorkflow } from "./runner.js";
2
- import { getWorkflow } from "./loader.js";
3
- import { workflowScopedTaskId } from "./simple.js";
4
- import { slugify } from "./templates.js";
5
- import { ProgressNotifier, GitHubTransport, buildProgressModel, runDashboardUrl, } from "../notify/index.js";
6
- /**
7
- * Parse `cliftonc/drizby#18` (or `cliftonc/drizby::workflow-name`) into
8
- * its components. Returns null for Slack/chat-originated trigger ids —
9
- * those runs resume via the messaging connector, not GitHub refetch.
10
- */
11
- export function parseTriggerId(triggerId) {
12
- if (triggerId.startsWith("slack:"))
13
- return null;
14
- const slashIdx = triggerId.indexOf("/");
15
- if (slashIdx < 0)
16
- return null;
17
- const hashIdx = triggerId.indexOf("#");
18
- const colonIdx = triggerId.indexOf("::");
19
- const end = hashIdx >= 0 ? hashIdx : colonIdx >= 0 ? colonIdx : triggerId.length;
20
- const owner = triggerId.slice(0, slashIdx);
21
- const repo = triggerId.slice(slashIdx + 1, end);
22
- if (!owner || !repo)
23
- return null;
24
- return { owner, repo };
25
- }
26
- /**
27
- * Parse a Slack trigger id of the form `slack:{teamId}:{channel}:{thread}`.
28
- * Returns null for anything else. Used by the runner bridge to reconstruct
29
- * channel/thread coordinates when resuming a Slack-initiated explore run.
30
- */
31
- export function parseSlackTriggerId(triggerId) {
32
- if (!triggerId.startsWith("slack:"))
33
- return null;
34
- const parts = triggerId.slice("slack:".length).split(":");
35
- if (parts.length !== 3)
36
- return null;
37
- const [teamId, channelId, threadTs] = parts;
38
- if (!teamId || !channelId || !threadTs)
39
- return null;
40
- return { teamId, channelId, threadTs };
41
- }
42
- /**
43
- * Refetch the issue title/body/labels from GitHub so the resumed workflow
44
- * has fresh context (the user may have edited the issue while the harness
45
- * was down). Falls back to placeholder values if the fetch fails or no
46
- * GitHub client is available.
47
- */
48
- async function refetchIssue(github, owner, repo, issueNumber) {
49
- const fallback = {
50
- title: `Issue #${issueNumber}`,
51
- body: "",
52
- labels: [],
53
- };
54
- if (!github)
55
- return fallback;
56
- try {
57
- const issue = await github.getIssue(owner, repo, issueNumber);
58
- return {
59
- title: issue.title || fallback.title,
60
- body: issue.body || "",
61
- labels: (issue.labels || []).map((l) => typeof l === "string" ? l : l.name ?? "").filter(Boolean),
62
- };
63
- }
64
- catch (err) {
65
- const msg = err instanceof Error ? err.message : String(err);
66
- console.warn(`[resume] Could not refetch ${owner}/${repo}#${issueNumber}: ${msg}`);
67
- return fallback;
68
- }
69
- }
70
- /**
71
- * Build the standard postComment callback for a resumed workflow. Comments
72
- * land on the originating GitHub issue so the maintainer sees the resume
73
- * progress alongside the original run.
74
- */
75
- function makeCallbacks(github, owner, repo, issueNumber, workflowName) {
76
- return {
77
- postComment: github && issueNumber
78
- ? async (msg) => {
79
- try {
80
- await github.postComment(owner, repo, issueNumber, msg);
81
- }
82
- catch (err) {
83
- const m = err instanceof Error ? err.message : String(err);
84
- console.warn(`[resume] Failed to post comment: ${m}`);
85
- }
86
- }
87
- : undefined,
88
- onPhaseStart: async (phase) => console.log(`[resume] ▶ ${workflowName}/${phase}`),
89
- onPhaseEnd: async (phase, result) => console.log(`[resume] ◀ ${workflowName}/${phase}: ${result.success ? "OK" : "FAILED"}`),
90
- };
91
- }
92
- /**
93
- * Resume a workflow run by calling runWorkflow directly with the existing
94
- * workflowId. We bypass runSimpleWorkflow because that wrapper always creates a
95
- * fresh workflow_runs row — we want to keep the existing one and let the
96
- * runner's per-phase dedup (`shouldRunPhase`) handle "what's already done".
97
- *
98
- * Two callers, same machinery:
99
- * - `resumeOrphanedWorkflows` — boot recovery of `running` runs after a crash.
100
- * - the admin/CLI **retry** path (`config.retryWorkflow` in `src/index.ts`) —
101
- * a user retrying a `failed` run. The failed phase's ledger row is
102
- * `success=0`, so it re-runs while already-succeeded phases skip; context is
103
- * reconstructed here from the stored `run.context` + `run.scratch`, which is
104
- * why retry works for Slack-thread-scoped runs the lossy `resumeWorkflow`
105
- * (owner/repo/issueNumber) path can't handle.
106
- *
107
- * The caller MUST have already flipped the row to `running` (`setRunning` /
108
- * `restartRun`) — this function does not change the pre-run status, only the
109
- * terminal `finishRun` at the end.
110
- */
111
- export async function resumeSimpleRun(run, opts) {
112
- const stored = (run.context || {});
113
- // Derive owner/repo: GitHub trigger ids encode it as owner/repo#N;
114
- // Slack-originated runs store owner in context and repo on the row.
115
- const parsed = parseTriggerId(run.triggerId);
116
- const owner = parsed?.owner ?? stored.owner ?? "";
117
- const repo = parsed?.repo ?? run.repo ?? "";
118
- const issueNumber = run.issueNumber;
119
- const isSlack = run.triggerId.startsWith("slack:");
120
- if (!owner && !repo && !isSlack) {
121
- console.warn(`[resume] Skipping ${run.id}: cannot derive owner/repo from triggerId ${run.triggerId}`);
122
- return;
123
- }
124
- let definition;
125
- try {
126
- definition = getWorkflow(run.workflowName);
127
- }
128
- catch (err) {
129
- const msg = err instanceof Error ? err.message : String(err);
130
- console.warn(`[resume] Skipping ${run.id}: workflow definition "${run.workflowName}" not found: ${msg}`);
131
- opts.db.runs.finishRun(run.id, "failed", { error: `harness restarted; workflow definition not found` });
132
- return;
133
- }
134
- const issue = issueNumber && owner && repo
135
- ? await refetchIssue(opts.github, owner, repo, issueNumber)
136
- : { title: "", body: "", labels: [] };
137
- // Reconstruct the template context using the bits we stored on creation +
138
- // refreshed issue data. taskId/branch/issueDir were saved on the original
139
- // row, fall back to deterministic defaults if the row is older.
140
- const taskId = stored.taskId ??
141
- workflowScopedTaskId(repo, issueNumber, run.workflowName, run.id);
142
- const branch = stored.branch ??
143
- (issueNumber
144
- ? `lastlight/${issueNumber}-${slugify(issue.title || `issue-${issueNumber}`)}`
145
- : `lastlight/${run.workflowName}`);
146
- const issueDir = stored.issueDir
147
- ?? (issueNumber ? `.lastlight/issue-${issueNumber}` : `.lastlight/${run.workflowName}`);
148
- const ctx = {
149
- owner,
150
- repo,
151
- issueNumber: issueNumber ?? 0,
152
- issueTitle: issue.title,
153
- issueBody: issue.body,
154
- issueLabels: issue.labels,
155
- commentBody: "",
156
- sender: "system:resume",
157
- branch,
158
- taskId,
159
- issueDir,
160
- // Mirror the fresh-dispatch context so a resumed server-mode run keeps
161
- // externalizing (and linking docs to the dashboard) instead of silently
162
- // reverting to committing them on the branch.
163
- externalizeArtifacts: opts.config.buildAssets === "server",
164
- publicUrl: opts.publicUrl,
165
- bootstrapLabel: opts.bootstrapLabel || "lastlight:bootstrap",
166
- contextSnapshot: "",
167
- // Preserve the original prePopulateBranch so a resumed run still
168
- // gets its workspace pre-cloned (matters for pr-fix re-entry after
169
- // an approval gate, where the branch was resolved at first dispatch).
170
- prePopulateBranch: typeof stored.prePopulateBranch === "string"
171
- ? stored.prePopulateBranch
172
- : undefined,
173
- models: opts.models,
174
- triggerIdOverride: isSlack ? run.triggerId : undefined,
175
- };
176
- console.log(`[resume] Re-dispatching ${run.workflowName} for ${run.triggerId} (was on phase=${run.currentPhase})`);
177
- // For Slack-originated runs, post progress to the Slack thread instead
178
- // of GitHub. The channelId/threadId were stored in context by the
179
- // original dispatch.
180
- let slackCallbacks = null;
181
- if (isSlack && opts.slackPoster) {
182
- const ch = stored.channelId;
183
- const th = stored.threadId;
184
- if (ch && th) {
185
- const poster = opts.slackPoster;
186
- slackCallbacks = {
187
- postComment: async (msg) => {
188
- try {
189
- await poster(ch, th, msg);
190
- }
191
- catch (err) {
192
- const m = err instanceof Error ? err.message : String(err);
193
- console.warn(`[resume] Failed to post to Slack thread: ${m}`);
194
- }
195
- },
196
- onPhaseStart: async (phase) => console.log(`[resume] ▶ ${run.workflowName}/${phase}`),
197
- onPhaseEnd: async (phase, result) => console.log(`[resume] ◀ ${run.workflowName}/${phase}: ${result.success ? "OK" : "FAILED"}`),
198
- };
199
- }
200
- }
201
- let callbacks = slackCallbacks || makeCallbacks(opts.github, owner, repo, issueNumber, run.workflowName);
202
- // Re-attach the in-place checklist on GitHub boot-recovery so a run that was
203
- // mid-flight when the harness died keeps editing its original status comment
204
- // instead of posting a fresh one. The stored comment id lives in
205
- // scratch.notifier; completed phases are re-seeded from phase_history.
206
- // (The Slack boot-recovery path only has a post function here — no
207
- // chat.update — so it stays on legacy comments.)
208
- if (!slackCallbacks && definition.status_checklist && opts.github && issueNumber) {
209
- try {
210
- const saved = ((run.scratch?.notifier) ?? {});
211
- const github = opts.github;
212
- const persist = (patch) => {
213
- const cur = ((opts.db.runs.getRun(run.id)?.scratch?.notifier) ?? {});
214
- opts.db.runs.mergeScratch(run.id, { notifier: { ...cur, ...patch } });
215
- };
216
- const transport = new GitHubTransport({
217
- github,
218
- owner,
219
- repo,
220
- issueNumber,
221
- commentId: saved.githubCommentId,
222
- save: (id) => persist({ githubCommentId: id }),
223
- });
224
- const notifier = new ProgressNotifier([transport]);
225
- const completed = new Set(run.phaseHistory.map((h) => h.phase));
226
- await notifier.start(buildProgressModel(definition, {
227
- workflowName: run.workflowName,
228
- number: issueNumber,
229
- issueTitle: issue.title,
230
- owner,
231
- repo,
232
- branch,
233
- completed,
234
- runUrl: runDashboardUrl(opts.publicUrl, run.id, run.workflowName),
235
- }));
236
- callbacks = { ...callbacks, reporter: notifier };
237
- }
238
- catch (err) {
239
- const m = err instanceof Error ? err.message : String(err);
240
- console.warn(`[resume] notifier setup failed: ${m}`);
241
- }
242
- }
243
- // Server mode: tag the config with this run's artifact identity so the
244
- // executor's stage-in/harvest seam targets the same store path the original
245
- // dispatch used (issueKey = issueDir minus the `.lastlight/` prefix).
246
- const runConfig = opts.config.buildAssets === "server"
247
- ? { ...opts.config, buildAssetsKey: { owner, repo, issueKey: issueDir.replace(/^\.lastlight\//, "") } }
248
- : opts.config;
249
- try {
250
- const result = await runWorkflow(definition, ctx, runConfig, callbacks, opts.db, opts.models, opts.approvalConfig, run.id, // <-- key bit: reuse the existing workflow run id
251
- opts.variants);
252
- if (result.success) {
253
- opts.db.runs.finishRun(run.id, "succeeded");
254
- }
255
- else if (!result.paused) {
256
- opts.db.runs.finishRun(run.id, "failed", {
257
- error: result.phases.find((p) => !p.success)?.error || "workflow failed during resume",
258
- });
259
- }
260
- }
261
- catch (err) {
262
- const msg = err instanceof Error ? err.message : String(err);
263
- console.error(`[resume] ${run.workflowName} resume for ${run.id} threw: ${msg}`);
264
- opts.db.runs.finishRun(run.id, "failed", { error: `resume threw: ${msg}` });
265
- }
266
- }
267
- /**
268
- * Boot-time sweep: find every workflow run that was 'running' when the
269
- * harness last shut down, mark its in-flight execution rows as stale (the
270
- * Docker containers were already killed by cleanupOrphanedSandboxes), then
271
- * re-dispatch each run so the runner can pick up where it left off.
272
- *
273
- * 'paused' runs are intentionally left alone — they're waiting for human
274
- * approval and the dashboard / GitHub comment flow will resume them.
275
- */
276
- /**
277
- * Maximum number of times a single workflow run can be resumed after a
278
- * harness restart. Past this we mark the run failed and stop re-dispatching
279
- * it, on the theory that a run that crashes the host three times in a row
280
- * (agent OOM, infinite loop, etc.) needs a human, not another attempt.
281
- */
282
- const MAX_RESTART_RESUMES = 3;
283
- export async function resumeOrphanedWorkflows(opts) {
284
- const active = opts.db.runs.listActive();
285
- const orphans = active.filter((r) => r.status === "running");
286
- if (orphans.length === 0) {
287
- console.log("[resume] No orphaned workflow runs to recover");
288
- return;
289
- }
290
- console.log(`[resume] Found ${orphans.length} orphaned workflow run(s) — recovering`);
291
- for (const run of orphans) {
292
- // Clear any "still running" execution rows so dedup works on resume.
293
- const cleared = opts.db.executions.markAllStaleForTrigger(run.triggerId, "stale: harness restarted");
294
- if (cleared > 0) {
295
- console.log(`[resume] Cleared ${cleared} stale execution(s) for ${run.triggerId}`);
296
- }
297
- // Circuit breaker: bump the per-run restart counter, and if we've now
298
- // resumed it more than MAX_RESTART_RESUMES times, mark it failed and
299
- // move on. This is what stops an OOM-on-restart loop from churning
300
- // forever.
301
- const attempts = opts.db.runs.incrementRestartCount(run.id);
302
- if (attempts > MAX_RESTART_RESUMES) {
303
- const msg = `harness restarted ${attempts - 1}x while this run was active — giving up after ${MAX_RESTART_RESUMES} resume attempts`;
304
- console.warn(`[resume] ${run.workflowName} run ${run.id}: ${msg}`);
305
- opts.db.runs.finishRun(run.id, "failed", { error: msg });
306
- continue;
307
- }
308
- // Dispatch in the background — we don't want one slow resume to block
309
- // the others (or the rest of the boot sequence).
310
- resumeSimpleRun(run, opts).catch((err) => console.error(`[resume] ${run.workflowName} run ${run.id} crashed:`, err));
311
- }
312
- }
313
- //# sourceMappingURL=resume.js.map