lastlight 0.16.0 → 0.16.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 (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} +26 -1
  5. package/dist/{cli/cli-server.js → cli-server.js} +40 -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} +4 -3
  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
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Fallback list used only before runtime config is loaded (e.g. tests).
3
- * The real list lives in config/default.yaml (empty) and is overridden by the
4
- * private overlay at $LASTLIGHT_OVERLAY_DIR/config.yaml. Kept empty so no
5
- * deployment-specific repos are baked into the public source.
6
- */
7
- export declare const DEFAULT_MANAGED_REPOS: string[];
8
- /** Compatibility export for legacy callers/tests; prefer getManagedRepos(). */
9
- export declare const MANAGED_REPOS: string[];
10
- /** Replace the discovered installation-repo list wholesale (boot fetch, initial install, uninstall). */
11
- export declare function setInstallationRepos(repos: string[]): void;
12
- /** Add repos to the discovered list (installation_repositories → added). */
13
- export declare function addInstallationRepos(repos: string[]): void;
14
- /** Remove repos from the discovered list (installation_repositories → removed). */
15
- export declare function removeInstallationRepos(repos: string[]): void;
16
- /** Snapshot of the discovered installation-repo list (empty before boot fetch). */
17
- export declare function getInstallationRepos(): string[];
18
- /** ISO timestamp of the last installation-repo cache update, or null if never. */
19
- export declare function getInstallationReposRefreshedAt(): string | null;
20
- /** Test-only: clear the discovered installation-repo cache. */
21
- export declare function resetInstallationReposForTests(): void;
22
- /**
23
- * The effective managed-repo list. A non-empty configured list (overlay
24
- * `managedRepos`) wins and restricts to exactly those repos; when it's empty we
25
- * fall back to the repos the GitHub App installation can access (discovered at
26
- * boot + kept live by installation webhooks). So an org install that limits the
27
- * App to a subset of repos need not maintain a second copy in config.
28
- */
29
- export declare function getManagedRepos(): string[];
30
- export declare function isManagedRepo(repo: string | undefined | null): boolean;
@@ -1,72 +0,0 @@
1
- import { getRuntimeConfig } from "./config/config.js";
2
- /**
3
- * Fallback list used only before runtime config is loaded (e.g. tests).
4
- * The real list lives in config/default.yaml (empty) and is overridden by the
5
- * private overlay at $LASTLIGHT_OVERLAY_DIR/config.yaml. Kept empty so no
6
- * deployment-specific repos are baked into the public source.
7
- */
8
- export const DEFAULT_MANAGED_REPOS = [];
9
- /** Compatibility export for legacy callers/tests; prefer getManagedRepos(). */
10
- export const MANAGED_REPOS = DEFAULT_MANAGED_REPOS;
11
- /**
12
- * In-memory list of repositories the GitHub App installation can access,
13
- * discovered at boot (`GitHubClient.listInstallationRepos()`) and kept live by
14
- * `installation` / `installation_repositories` webhooks. `null` means "not yet
15
- * discovered" (distinct from "discovered, empty"). Only used when the overlay's
16
- * `managedRepos` is empty — see `getManagedRepos()`.
17
- */
18
- let installationRepos = null;
19
- let installationReposRefreshedAt = null;
20
- /** Replace the discovered installation-repo list wholesale (boot fetch, initial install, uninstall). */
21
- export function setInstallationRepos(repos) {
22
- installationRepos = new Set(repos);
23
- installationReposRefreshedAt = new Date().toISOString();
24
- }
25
- /** Add repos to the discovered list (installation_repositories → added). */
26
- export function addInstallationRepos(repos) {
27
- const next = installationRepos ?? new Set();
28
- for (const r of repos)
29
- next.add(r);
30
- installationRepos = next;
31
- installationReposRefreshedAt = new Date().toISOString();
32
- }
33
- /** Remove repos from the discovered list (installation_repositories → removed). */
34
- export function removeInstallationRepos(repos) {
35
- if (!installationRepos)
36
- return;
37
- for (const r of repos)
38
- installationRepos.delete(r);
39
- installationReposRefreshedAt = new Date().toISOString();
40
- }
41
- /** Snapshot of the discovered installation-repo list (empty before boot fetch). */
42
- export function getInstallationRepos() {
43
- return installationRepos ? [...installationRepos] : [];
44
- }
45
- /** ISO timestamp of the last installation-repo cache update, or null if never. */
46
- export function getInstallationReposRefreshedAt() {
47
- return installationReposRefreshedAt;
48
- }
49
- /** Test-only: clear the discovered installation-repo cache. */
50
- export function resetInstallationReposForTests() {
51
- installationRepos = null;
52
- installationReposRefreshedAt = null;
53
- }
54
- /**
55
- * The effective managed-repo list. A non-empty configured list (overlay
56
- * `managedRepos`) wins and restricts to exactly those repos; when it's empty we
57
- * fall back to the repos the GitHub App installation can access (discovered at
58
- * boot + kept live by installation webhooks). So an org install that limits the
59
- * App to a subset of repos need not maintain a second copy in config.
60
- */
61
- export function getManagedRepos() {
62
- const configured = getRuntimeConfig()?.managedRepos ?? DEFAULT_MANAGED_REPOS;
63
- if (configured.length > 0)
64
- return configured;
65
- return getInstallationRepos();
66
- }
67
- export function isManagedRepo(repo) {
68
- if (!repo)
69
- return false;
70
- return getManagedRepos().includes(repo);
71
- }
72
- //# sourceMappingURL=managed-repos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"managed-repos.js","sourceRoot":"","sources":["../src/managed-repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAa,EAAE,CAAC;AAElD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,IAAI,iBAAiB,GAAuB,IAAI,CAAC;AACjD,IAAI,4BAA4B,GAAkB,IAAI,CAAC;AAEvD,wGAAwG;AACxG,MAAM,UAAU,oBAAoB,CAAC,KAAe;IAClD,iBAAiB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,4BAA4B,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,KAAe;IAClD,MAAM,IAAI,GAAG,iBAAiB,IAAI,IAAI,GAAG,EAAU,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnC,iBAAiB,GAAG,IAAI,CAAC;IACzB,4BAA4B,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACrD,IAAI,CAAC,iBAAiB;QAAE,OAAO;IAC/B,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnD,4BAA4B,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,oBAAoB;IAClC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,+BAA+B;IAC7C,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,8BAA8B;IAC5C,iBAAiB,GAAG,IAAI,CAAC;IACzB,4BAA4B,GAAG,IAAI,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,gBAAgB,EAAE,EAAE,YAAY,IAAI,qBAAqB,CAAC;IAC7E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC7C,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA+B;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,eAAe,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Slack Block Kit renderer for the progress surface.
3
- *
4
- * This maps a {@link ProgressModel} to Block Kit blocks so the Slack progress
5
- * message renders as a real header + divider + sectioned checklist rather than
6
- * a wall of mrkdwn text. It reads the *model* directly — the same model
7
- * `renderProgress` turns into markdown for GitHub and for the Slack `text:`
8
- * fallback — so the two surfaces derive from one content source and can't
9
- * drift. Each line of content is built as the exact markdown fragment
10
- * `render.ts` would emit, then run through `markdownToSlackMrkdwn`, so inline
11
- * formatting (bold, links) matches the text path byte-for-byte.
12
- */
13
- import type { KnownBlock } from "@slack/web-api";
14
- import type { ProgressModel } from "./types.js";
15
- /** Render a {@link ProgressModel} to Block Kit blocks (≤ {@link MAX_BLOCKS}). */
16
- export declare function renderProgressBlocks(model: ProgressModel): KnownBlock[];
17
- /**
18
- * Render an approval prompt with interactive Approve/Reject buttons. Each
19
- * button carries `workflowRunId` as its `value` so the interaction handler
20
- * resolves the exact paused gate. The section text is the same rendered prompt
21
- * a markdown-only surface would post (kept under Slack's section limit).
22
- */
23
- export declare function renderApprovalBlocks(prompt: string, workflowRunId: string): KnownBlock[];
@@ -1,118 +0,0 @@
1
- import { markdownToSlackMrkdwn } from "../connectors/slack/mrkdwn.js";
2
- import { STATUS_EMOJI } from "./render.js";
3
- /** Slack hard limits we render within. */
4
- const MAX_BLOCKS = 48; // Slack caps a message at 50 blocks; keep headroom
5
- const MAX_SECTION_CHARS = 2800; // Slack section text limit is 3000
6
- const HEADER_MAX = 150; // Slack header plain_text limit
7
- const MAX_CONTEXT_ELEMENTS = 10; // Slack context block element limit
8
- const divider = { type: "divider" };
9
- function headerBlock(text) {
10
- const t = text.length > HEADER_MAX ? text.slice(0, HEADER_MAX - 1) + "…" : text;
11
- return { type: "header", text: { type: "plain_text", text: t, emoji: true } };
12
- }
13
- function section(mrkdwn) {
14
- return { type: "section", text: { type: "mrkdwn", text: mrkdwn } };
15
- }
16
- function context(elements) {
17
- return {
18
- type: "context",
19
- elements: elements
20
- .slice(0, MAX_CONTEXT_ELEMENTS)
21
- .map((text) => ({ type: "mrkdwn", text })),
22
- };
23
- }
24
- /** One checklist line, e.g. "✅ *Architect* — done", matching render.ts content. */
25
- function stepLine(step) {
26
- const emoji = STATUS_EMOJI[step.status] ?? STATUS_EMOJI.pending;
27
- const detail = step.detail ? ` — ${step.detail}` : "";
28
- return markdownToSlackMrkdwn(`${emoji} **${step.label}**${detail}`);
29
- }
30
- /** Batch checklist lines into section-sized chunks (Slack's 3000-char limit). */
31
- function batchSteps(lines) {
32
- const sections = [];
33
- let buf = "";
34
- for (const line of lines) {
35
- const next = buf ? `${buf}\n${line}` : line;
36
- if (next.length > MAX_SECTION_CHARS && buf) {
37
- sections.push(buf);
38
- buf = line;
39
- }
40
- else {
41
- buf = next;
42
- }
43
- }
44
- if (buf)
45
- sections.push(buf);
46
- return sections;
47
- }
48
- /** Render a {@link ProgressModel} to Block Kit blocks (≤ {@link MAX_BLOCKS}). */
49
- export function renderProgressBlocks(model) {
50
- const blocks = [headerBlock(`🤖 ${model.title}`)];
51
- if (model.subtitle?.trim()) {
52
- blocks.push(section(markdownToSlackMrkdwn(`**${model.subtitle}**`)));
53
- }
54
- const meta = (model.meta ?? [])
55
- .map((m) => m.trim())
56
- .filter(Boolean)
57
- .map(markdownToSlackMrkdwn);
58
- if (meta.length)
59
- blocks.push(context(meta));
60
- if (model.steps.length)
61
- blocks.push(divider);
62
- // Reserve a block for the footer so it never gets crowded out of the budget.
63
- const footerReserve = model.footer?.trim() ? 1 : 0;
64
- const stepBudget = MAX_BLOCKS - blocks.length - footerReserve;
65
- const sections = batchSteps(model.steps.map(stepLine));
66
- if (sections.length <= stepBudget) {
67
- for (const s of sections)
68
- blocks.push(section(s));
69
- }
70
- else {
71
- // Too many step sections for the block budget — keep the first ones and
72
- // fold the remainder into a single summary line so we stay under the cap.
73
- const keep = Math.max(1, stepBudget - 1);
74
- for (let i = 0; i < keep; i++)
75
- blocks.push(section(sections[i]));
76
- const foldedSteps = sections
77
- .slice(keep)
78
- .reduce((n, s) => n + s.split("\n").length, 0);
79
- blocks.push(section(`… _and ${foldedSteps} more steps_`));
80
- }
81
- if (model.footer?.trim())
82
- blocks.push(context([markdownToSlackMrkdwn(model.footer)]));
83
- return blocks;
84
- }
85
- /**
86
- * Render an approval prompt with interactive Approve/Reject buttons. Each
87
- * button carries `workflowRunId` as its `value` so the interaction handler
88
- * resolves the exact paused gate. The section text is the same rendered prompt
89
- * a markdown-only surface would post (kept under Slack's section limit).
90
- */
91
- export function renderApprovalBlocks(prompt, workflowRunId) {
92
- const text = markdownToSlackMrkdwn(prompt);
93
- const clamped = text.length > MAX_SECTION_CHARS ? text.slice(0, MAX_SECTION_CHARS - 1) + "…" : text;
94
- return [
95
- section(clamped),
96
- {
97
- type: "actions",
98
- block_id: "approval_actions",
99
- elements: [
100
- {
101
- type: "button",
102
- action_id: "approval_approve",
103
- style: "primary",
104
- text: { type: "plain_text", text: "Approve", emoji: true },
105
- value: workflowRunId,
106
- },
107
- {
108
- type: "button",
109
- action_id: "approval_reject",
110
- style: "danger",
111
- text: { type: "plain_text", text: "Reject", emoji: true },
112
- value: workflowRunId,
113
- },
114
- ],
115
- },
116
- ];
117
- }
118
- //# sourceMappingURL=blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/notify/blocks.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Shared progress-notifier module. Renders workflow progress as a single
3
- * in-place "task list" surface (one GitHub comment + one Slack message edited
4
- * as phases run) instead of a comment per phase. The content model and
5
- * renderer are platform-agnostic; GitHub/Slack live behind transports.
6
- */
7
- export type { StepStatus, ProgressStep, ProgressModel, ProgressReporter, NotifierTransport, NotifierState, } from "./types.js";
8
- export { ProgressNotifier } from "./notifier.js";
9
- export { renderProgress, STATUS_EMOJI } from "./render.js";
10
- export { renderProgressBlocks, renderApprovalBlocks } from "./blocks.js";
11
- export type { ApprovalNoteMeta } from "./types.js";
12
- export { stepsFromPhases, setStep, upsertBefore, buildProgressModel, runDashboardUrl } from "./model.js";
13
- export type { ProgressModelInput } from "./model.js";
14
- export { GitHubTransport } from "./transports/github.js";
15
- export type { GitHubTransportDeps } from "./transports/github.js";
16
- export { SlackTransport } from "./transports/slack.js";
17
- export type { SlackTransportDeps } from "./transports/slack.js";
@@ -1,7 +0,0 @@
1
- export { ProgressNotifier } from "./notifier.js";
2
- export { renderProgress, STATUS_EMOJI } from "./render.js";
3
- export { renderProgressBlocks, renderApprovalBlocks } from "./blocks.js";
4
- export { stepsFromPhases, setStep, upsertBefore, buildProgressModel, runDashboardUrl } from "./model.js";
5
- export { GitHubTransport } from "./transports/github.js";
6
- export { SlackTransport } from "./transports/slack.js";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notify/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Pure helpers for building and mutating a {@link ProgressModel}'s step list.
3
- * All functions are immutable — they return new arrays/objects and never
4
- * mutate their inputs, so the notifier can re-render from a fresh snapshot.
5
- *
6
- * Ported from the Mastra rebuild's `initProgress` / `setStatus` /
7
- * `upsertBefore` (`~/work/mac/.../workflows/build.ts`), generalized to derive
8
- * the initial list from any workflow definition's phases rather than a
9
- * hardcoded build pipeline.
10
- */
11
- import type { AgentWorkflowDefinition } from "../workflows/schema.js";
12
- import type { ProgressModel, ProgressStep, StepStatus } from "./types.js";
13
- /**
14
- * Build the initial checklist from a workflow definition. `context`-type
15
- * phases are skipped — they're dashboard checkpoints, not work the user cares
16
- * to watch. Any phase whose name is in `completed` is seeded as `done` (used
17
- * when re-attaching to an in-flight run after an approval-gate pause/restart).
18
- */
19
- export declare function stepsFromPhases(definition: AgentWorkflowDefinition, completed?: ReadonlySet<string>): ProgressStep[];
20
- export interface ProgressModelInput {
21
- workflowName: string;
22
- /** Issue/PR number, when the run is issue-scoped. */
23
- number?: number;
24
- issueTitle?: string;
25
- owner?: string;
26
- repo?: string;
27
- branch?: string;
28
- /** Phases already finished (resume re-seeding) — seeded as `done`. */
29
- completed?: ReadonlySet<string>;
30
- /**
31
- * Deep link to the live run on the admin dashboard. Rendered as a meta line
32
- * so the GitHub comment (and Slack message) carries a "watch it run" link.
33
- * Built with {@link runDashboardUrl}; omitted when no public URL is configured.
34
- */
35
- runUrl?: string;
36
- }
37
- /**
38
- * Admin-dashboard deep link for a single workflow run. Shared by the notifier
39
- * (the in-place checklist's meta line) and the Slack dispatch ack so the two
40
- * never drift. Returns `undefined` when `publicUrl` is unset.
41
- */
42
- export declare function runDashboardUrl(publicUrl: string | undefined, runId: string, workflowName: string): string | undefined;
43
- /**
44
- * Build the full {@link ProgressModel} for a run. Shared by the fresh-dispatch
45
- * path (`simple.ts`) and the boot-recovery path (`resume.ts`) so the heading,
46
- * branch link, and step list stay identical regardless of entry point.
47
- */
48
- export declare function buildProgressModel(definition: AgentWorkflowDefinition, input: ProgressModelInput): ProgressModel;
49
- /** Return a copy of `steps` with `key`'s status (and optional detail) updated. */
50
- export declare function setStep(steps: ProgressStep[], key: string, status: StepStatus, detail?: string): ProgressStep[];
51
- /**
52
- * Insert `entry` before the step keyed `beforeKey`. If the key already exists
53
- * it's updated in place; if `beforeKey` is omitted or not found, `entry` is
54
- * appended. Used for loop iterations (re-review / fix cycles) that should sit
55
- * just above the terminal step.
56
- */
57
- export declare function upsertBefore(steps: ProgressStep[], entry: ProgressStep, beforeKey?: string): ProgressStep[];
@@ -1,89 +0,0 @@
1
- /** Human label for a phase — falls back to a title-cased name. */
2
- function phaseLabel(phase) {
3
- if (phase.label)
4
- return phase.label;
5
- return phase.name
6
- .split(/[_\-]/)
7
- .filter(Boolean)
8
- .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
9
- .join(" ");
10
- }
11
- /**
12
- * Build the initial checklist from a workflow definition. `context`-type
13
- * phases are skipped — they're dashboard checkpoints, not work the user cares
14
- * to watch. Any phase whose name is in `completed` is seeded as `done` (used
15
- * when re-attaching to an in-flight run after an approval-gate pause/restart).
16
- */
17
- export function stepsFromPhases(definition, completed = new Set()) {
18
- return definition.phases
19
- .filter((p) => (p.type ?? "agent") !== "context")
20
- .map((p) => ({
21
- key: p.name,
22
- label: phaseLabel(p),
23
- status: (completed.has(p.name) ? "done" : "pending"),
24
- }));
25
- }
26
- /**
27
- * Admin-dashboard deep link for a single workflow run. Shared by the notifier
28
- * (the in-place checklist's meta line) and the Slack dispatch ack so the two
29
- * never drift. Returns `undefined` when `publicUrl` is unset.
30
- */
31
- export function runDashboardUrl(publicUrl, runId, workflowName) {
32
- if (!publicUrl)
33
- return undefined;
34
- const base = publicUrl.replace(/\/+$/, "");
35
- return `${base}/admin/?run=${encodeURIComponent(runId)}&tab=runs&wf=${encodeURIComponent(workflowName)}`;
36
- }
37
- /**
38
- * Build the full {@link ProgressModel} for a run. Shared by the fresh-dispatch
39
- * path (`simple.ts`) and the boot-recovery path (`resume.ts`) so the heading,
40
- * branch link, and step list stay identical regardless of entry point.
41
- */
42
- export function buildProgressModel(definition, input) {
43
- const titleScope = input.number !== undefined ? `#${input.number}` : input.workflowName;
44
- const meta = [];
45
- if (input.owner && input.repo && input.branch) {
46
- meta.push(`Branch: [\`${input.branch}\`](https://github.com/${input.owner}/${input.repo}/tree/${input.branch})`);
47
- }
48
- if (input.runUrl) {
49
- meta.push(`Live run: [watch on the dashboard](${input.runUrl})`);
50
- }
51
- return {
52
- title: `${input.workflowName} for ${titleScope}`,
53
- subtitle: input.issueTitle || undefined,
54
- meta: meta.length > 0 ? meta : undefined,
55
- steps: stepsFromPhases(definition, input.completed ?? new Set()),
56
- };
57
- }
58
- /** Return a copy of `steps` with `key`'s status (and optional detail) updated. */
59
- export function setStep(steps, key, status, detail) {
60
- let found = false;
61
- const next = steps.map((s) => {
62
- if (s.key !== key)
63
- return s;
64
- found = true;
65
- // Preserve an existing detail when the caller doesn't supply a new one.
66
- return { ...s, status, detail: detail ?? s.detail };
67
- });
68
- // Unknown key → append so a stray transition still shows up rather than
69
- // silently vanishing.
70
- if (!found)
71
- next.push({ key, label: key, status, detail });
72
- return next;
73
- }
74
- /**
75
- * Insert `entry` before the step keyed `beforeKey`. If the key already exists
76
- * it's updated in place; if `beforeKey` is omitted or not found, `entry` is
77
- * appended. Used for loop iterations (re-review / fix cycles) that should sit
78
- * just above the terminal step.
79
- */
80
- export function upsertBefore(steps, entry, beforeKey) {
81
- if (steps.some((s) => s.key === entry.key)) {
82
- return steps.map((s) => (s.key === entry.key ? { ...s, ...entry } : s));
83
- }
84
- const idx = beforeKey ? steps.findIndex((s) => s.key === beforeKey) : -1;
85
- if (idx < 0)
86
- return [...steps, entry];
87
- return [...steps.slice(0, idx), entry, ...steps.slice(idx)];
88
- }
89
- //# sourceMappingURL=model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/notify/model.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { ApprovalNoteMeta, NotifierTransport, ProgressModel, ProgressReporter, ProgressStep, StepStatus } from "./types.js";
2
- export declare class ProgressNotifier implements ProgressReporter {
3
- private model;
4
- private readonly transports;
5
- private chain;
6
- constructor(transports: NotifierTransport[]);
7
- /** Serialize a mutation + publish so transitions can't interleave. */
8
- private enqueue;
9
- private publish;
10
- start(model: ProgressModel): Promise<void>;
11
- step(key: string, status: StepStatus, detail?: string): Promise<void>;
12
- insertStep(step: ProgressStep, beforeKey?: string): Promise<void>;
13
- footer(markdown: string): Promise<void>;
14
- note(markdown: string): Promise<void>;
15
- noteApproval(markdown: string, meta: ApprovalNoteMeta): Promise<void>;
16
- noteTerminal(markdown: string): Promise<void>;
17
- private noteTo;
18
- }