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
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/engine/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- import type { EmitterRecord } from "agentic-pi";
2
- /**
3
- * Translates agentic-pi's JSONL event stream into Claude-SDK-style envelope
4
- * jsonl on disk, so the dashboard's `SessionReader` /
5
- * `ChatSessionReader` (`src/admin/`) keeps working unchanged.
6
- *
7
- * agentic-pi event → envelope mapping (see agentic-pi/src/emitter.ts and
8
- * survey in ~/.claude/plans/ok-i-want-noble-sphinx.md):
9
- *
10
- * session → header (no envelope line; pins the on-disk
11
- * path), followed by a `user` line carrying
12
- * the initial prompt.
13
- * message_end (assistant) → `assistant` envelope with content (text +
14
- * tool_use blocks).
15
- * tool_execution_end → `user` envelope with a `tool_result` block.
16
- * usage_snapshot → `result` envelope (cost / tokens / turns).
17
- * fatal_error → `assistant` envelope with isApiErrorMessage.
18
- *
19
- * Tool naming: agentic-pi names its github tools `github_*`. Earlier
20
- * (OpenCode + MCP), tool names were rewritten to `mcp_github_*` before
21
- * reaching the dashboard, and the dashboard's tool-family classifier
22
- * already accepts the bare `github_` prefix as a github tool. We pass
23
- * tool names through unchanged.
24
- */
25
- export interface AgenticShimOptions {
26
- /** Root sessions dir — contains the `projects/<slug>/` tree. */
27
- homeDir: string;
28
- /** Project-dir slug, e.g. "-home-agent-workspace" or "-app". */
29
- projectSlug: string;
30
- /** Model id surfaced on assistant envelopes. */
31
- model?: string;
32
- /** Original user prompt — written as the first envelope. */
33
- initialPrompt: string;
34
- }
35
- export interface ShimResultEnvelope {
36
- finalText: string;
37
- turns: number;
38
- costUsd: number;
39
- inputTokens: number;
40
- outputTokens: number;
41
- cacheReadInputTokens: number;
42
- cacheCreationInputTokens: number;
43
- stopReason: string;
44
- durationMs: number;
45
- /**
46
- * Provider-level error (e.g. OpenAI insufficient_quota) extracted from
47
- * the last assistant message. When set, an `isApiErrorMessage` envelope
48
- * is appended before the `result` line so the dashboard renders the
49
- * cause inline instead of showing a silent "success".
50
- */
51
- apiErrorMessage?: string;
52
- }
53
- export declare class AgenticShim {
54
- private opts;
55
- private sessionLog;
56
- private sessionId;
57
- private writeChain;
58
- private initialWritten;
59
- /**
60
- * Tool calls we have already emitted a `tool_use` block for via
61
- * `message_end`. Keyed by tool-call id so the matching
62
- * `tool_execution_end` event can emit the paired `tool_result` block.
63
- */
64
- private seenToolCalls;
65
- constructor(opts: AgenticShimOptions);
66
- get isInitialized(): boolean;
67
- /** Feed one parsed agentic-pi event. */
68
- feed(record: EmitterRecord): void;
69
- /**
70
- * Append a `result` envelope mirroring the existing Claude-stream
71
- * `result` line. Same shape as the legacy opencode-shim.
72
- */
73
- finalize(result: ShimResultEnvelope): void;
74
- /**
75
- * Bootstrap a stub envelope when no `session` record was observed (the
76
- * run died before agentic-pi got far enough to emit one). Returns the
77
- * synthetic id actually used for the on-disk file so the caller can
78
- * record it on the executions row.
79
- */
80
- finalizeWithFallback(result: ShimResultEnvelope, fallbackSessionId: string, errorMessage?: string): Promise<string | null>;
81
- flush(): Promise<void>;
82
- private openSession;
83
- private translate;
84
- /**
85
- * Mirror an agentic-pi `extension_status` event (file-search / github /
86
- * web-search) as a `system` envelope near the top of the session log, so
87
- * the raw JSONL shows which extensions were active. The dashboard's
88
- * SessionReader ignores unknown envelope types, so this is render-safe.
89
- */
90
- private translateExtensionStatus;
91
- /**
92
- * Mirror agentic-pi's gated `skills_status` event as a `system` envelope in
93
- * the session log — the skill-loading counterpart to
94
- * {@link translateExtensionStatus}. Records which skills the agent had
95
- * available. SessionReader ignores unknown envelope types, so render-safe.
96
- */
97
- private translateSkillsStatus;
98
- /**
99
- * Surface pi-coding-agent's auto-retry pause as a `system` breadcrumb so
100
- * rate-limit / transient-error backoffs are visible in the session timeline
101
- * (the dashboard renders role-based `system` lines via MetaMessage). Emitted
102
- * as a role-based line — unlike `extension_status`'s `type: "system"` shape,
103
- * which the reader drops — so it actually renders.
104
- */
105
- private translateAutoRetryStart;
106
- /**
107
- * Pair to {@link translateAutoRetryStart}: a successful recovery, or a
108
- * give-up (when `finalError` is present).
109
- */
110
- private translateAutoRetryEnd;
111
- private translateMessageEnd;
112
- private translateToolEnd;
113
- private translateFatal;
114
- private appendLines;
115
- }
116
- export declare function safeStringify(v: unknown): string;
117
- export declare function truncateForLog(s: string, maxBytes?: number): string;
@@ -1,435 +0,0 @@
1
- import { SessionLog } from "../session-log.js";
2
- export class AgenticShim {
3
- opts;
4
- sessionLog;
5
- sessionId = null;
6
- writeChain = Promise.resolve();
7
- initialWritten = false;
8
- /**
9
- * Tool calls we have already emitted a `tool_use` block for via
10
- * `message_end`. Keyed by tool-call id so the matching
11
- * `tool_execution_end` event can emit the paired `tool_result` block.
12
- */
13
- seenToolCalls = new Set();
14
- constructor(opts) {
15
- this.opts = opts;
16
- this.sessionLog = new SessionLog(opts.homeDir);
17
- }
18
- get isInitialized() {
19
- return this.sessionId !== null;
20
- }
21
- /** Feed one parsed agentic-pi event. */
22
- feed(record) {
23
- if (!record || typeof record !== "object")
24
- return;
25
- const sessionId = typeof record.sessionId === "string"
26
- ? record.sessionId
27
- : record.type === "session" && typeof record.id === "string"
28
- ? record.id
29
- : null;
30
- // The `session` header is the first record and carries the id without
31
- // a `sessionId` field. Subsequent records all have `sessionId`.
32
- if (record.type === "session" && typeof record.id === "string") {
33
- this.openSession(record.id);
34
- return;
35
- }
36
- if (!sessionId)
37
- return;
38
- if (!this.sessionId)
39
- this.openSession(sessionId);
40
- if (!this.sessionId)
41
- return;
42
- const ts = isoTimestamp(record.timestamp);
43
- if (!this.initialWritten) {
44
- this.initialWritten = true;
45
- this.appendLines([
46
- {
47
- type: "user",
48
- message: { role: "user", content: this.opts.initialPrompt },
49
- timestamp: ts,
50
- sessionId,
51
- },
52
- ]);
53
- }
54
- const out = this.translate(record, ts, sessionId);
55
- if (out.length)
56
- this.appendLines(out);
57
- }
58
- /**
59
- * Append a `result` envelope mirroring the existing Claude-stream
60
- * `result` line. Same shape as the legacy opencode-shim.
61
- */
62
- finalize(result) {
63
- if (!this.sessionId)
64
- return;
65
- const ts = new Date().toISOString();
66
- const lines = [];
67
- if (result.apiErrorMessage) {
68
- lines.push({
69
- type: "assistant",
70
- isApiErrorMessage: true,
71
- error: result.apiErrorMessage,
72
- timestamp: ts,
73
- sessionId: this.sessionId,
74
- });
75
- }
76
- lines.push({
77
- type: "result",
78
- subtype: result.stopReason === "success" ? "success" : result.stopReason,
79
- result: result.finalText,
80
- num_turns: result.turns,
81
- total_cost_usd: result.costUsd,
82
- total_input_tokens: result.inputTokens,
83
- total_output_tokens: result.outputTokens,
84
- total_cache_read_input_tokens: result.cacheReadInputTokens,
85
- total_cache_creation_input_tokens: result.cacheCreationInputTokens,
86
- duration_ms: result.durationMs,
87
- timestamp: ts,
88
- });
89
- this.appendLines(lines);
90
- }
91
- /**
92
- * Bootstrap a stub envelope when no `session` record was observed (the
93
- * run died before agentic-pi got far enough to emit one). Returns the
94
- * synthetic id actually used for the on-disk file so the caller can
95
- * record it on the executions row.
96
- */
97
- async finalizeWithFallback(result, fallbackSessionId, errorMessage) {
98
- if (!this.sessionId) {
99
- this.openSession(fallbackSessionId);
100
- const safeId = this.sessionId;
101
- if (!safeId) {
102
- await this.flush();
103
- return null;
104
- }
105
- const ts = new Date().toISOString();
106
- const bootstrap = [];
107
- if (!this.initialWritten) {
108
- this.initialWritten = true;
109
- bootstrap.push({
110
- type: "user",
111
- message: { role: "user", content: this.opts.initialPrompt },
112
- timestamp: ts,
113
- sessionId: safeId,
114
- });
115
- }
116
- if (errorMessage) {
117
- bootstrap.push({
118
- type: "assistant",
119
- isApiErrorMessage: true,
120
- error: errorMessage,
121
- timestamp: ts,
122
- sessionId: safeId,
123
- });
124
- }
125
- if (bootstrap.length > 0)
126
- this.appendLines(bootstrap);
127
- this.finalize(result);
128
- await this.flush();
129
- return safeId;
130
- }
131
- this.finalize(result);
132
- await this.flush();
133
- return this.sessionId;
134
- }
135
- async flush() {
136
- await this.writeChain;
137
- }
138
- openSession(sessionId) {
139
- const safeId = this.sessionLog.normalizeSessionId(sessionId);
140
- if (!safeId)
141
- return;
142
- this.sessionId = safeId;
143
- }
144
- translate(r, ts, sessionId) {
145
- switch (r.type) {
146
- case "message_end":
147
- return this.translateMessageEnd(r, ts, sessionId);
148
- case "tool_execution_end":
149
- return this.translateToolEnd(r, ts, sessionId);
150
- case "extension_status":
151
- return this.translateExtensionStatus(r, ts, sessionId);
152
- case "skills_status":
153
- return this.translateSkillsStatus(r, ts, sessionId);
154
- case "auto_retry_start":
155
- return this.translateAutoRetryStart(r, ts, sessionId);
156
- case "auto_retry_end":
157
- return this.translateAutoRetryEnd(r, ts, sessionId);
158
- case "fatal_error":
159
- return this.translateFatal(r, ts, sessionId);
160
- default:
161
- return [];
162
- }
163
- }
164
- /**
165
- * Mirror an agentic-pi `extension_status` event (file-search / github /
166
- * web-search) as a `system` envelope near the top of the session log, so
167
- * the raw JSONL shows which extensions were active. The dashboard's
168
- * SessionReader ignores unknown envelope types, so this is render-safe.
169
- */
170
- translateExtensionStatus(r, ts, sessionId) {
171
- if (typeof r.extension !== "string")
172
- return [];
173
- return [
174
- {
175
- type: "system",
176
- subtype: "extension_status",
177
- extension: r.extension,
178
- status: r.status,
179
- ...(r.mode !== undefined ? { mode: r.mode } : {}),
180
- ...(r.provider !== undefined ? { provider: r.provider } : {}),
181
- ...(r.toolCount !== undefined ? { toolCount: r.toolCount } : {}),
182
- ...(r.reason !== undefined ? { reason: r.reason } : {}),
183
- timestamp: ts,
184
- sessionId,
185
- },
186
- ];
187
- }
188
- /**
189
- * Mirror agentic-pi's gated `skills_status` event as a `system` envelope in
190
- * the session log — the skill-loading counterpart to
191
- * {@link translateExtensionStatus}. Records which skills the agent had
192
- * available. SessionReader ignores unknown envelope types, so render-safe.
193
- */
194
- translateSkillsStatus(r, ts, sessionId) {
195
- if (typeof r.status !== "string")
196
- return [];
197
- return [
198
- {
199
- type: "system",
200
- subtype: "skills_status",
201
- status: r.status,
202
- ...(r.discovered !== undefined ? { discovered: r.discovered } : {}),
203
- ...(Array.isArray(r.skills) ? { skills: r.skills } : {}),
204
- ...(Array.isArray(r.mappedPaths) ? { mappedPaths: r.mappedPaths } : {}),
205
- ...(r.noSkills !== undefined ? { noSkills: r.noSkills } : {}),
206
- timestamp: ts,
207
- sessionId,
208
- },
209
- ];
210
- }
211
- /**
212
- * Surface pi-coding-agent's auto-retry pause as a `system` breadcrumb so
213
- * rate-limit / transient-error backoffs are visible in the session timeline
214
- * (the dashboard renders role-based `system` lines via MetaMessage). Emitted
215
- * as a role-based line — unlike `extension_status`'s `type: "system"` shape,
216
- * which the reader drops — so it actually renders.
217
- */
218
- translateAutoRetryStart(r, ts, sessionId) {
219
- const attempt = typeof r.attempt === "number" ? r.attempt : undefined;
220
- const maxAttempts = typeof r.maxAttempts === "number" ? r.maxAttempts : undefined;
221
- const delayMs = typeof r.delayMs === "number" ? r.delayMs : undefined;
222
- const reason = typeof r.errorMessage === "string" ? r.errorMessage : "transient error";
223
- const attemptLabel = attempt !== undefined ? ` ${attempt}${maxAttempts !== undefined ? `/${maxAttempts}` : ""}` : "";
224
- const delayLabel = delayMs !== undefined ? ` in ${Math.round(delayMs / 1000)}s` : "";
225
- return [
226
- {
227
- role: "system",
228
- subtype: "auto_retry_start",
229
- content: `⏳ Auto-retry${attemptLabel}${delayLabel} after model error: ${shortReason(reason)}`,
230
- timestamp: ts,
231
- sessionId,
232
- },
233
- ];
234
- }
235
- /**
236
- * Pair to {@link translateAutoRetryStart}: a successful recovery, or a
237
- * give-up (when `finalError` is present).
238
- */
239
- translateAutoRetryEnd(r, ts, sessionId) {
240
- const attempt = typeof r.attempt === "number" ? r.attempt : undefined;
241
- const finalError = typeof r.finalError === "string" ? r.finalError : undefined;
242
- const attemptLabel = attempt !== undefined ? ` ${attempt}` : "";
243
- const content = finalError
244
- ? `❌ Auto-retry gave up after${attemptLabel} attempt(s): ${shortReason(finalError)}`
245
- : `✓ Auto-retry recovered after${attemptLabel} attempt(s).`;
246
- return [
247
- {
248
- role: "system",
249
- subtype: "auto_retry_end",
250
- content,
251
- timestamp: ts,
252
- sessionId,
253
- },
254
- ];
255
- }
256
- translateMessageEnd(r, ts, sessionId) {
257
- const message = (r.message ?? {});
258
- if (message.role !== "assistant" || !Array.isArray(message.content)) {
259
- return [];
260
- }
261
- // Pi's content blocks are text / thinking / toolCall. Map toolCall →
262
- // tool_use, and preserve thinking blocks as `thinking` blocks so the
263
- // dashboard's reasoning toggle (session-log.ts → AssistantMessage.tsx)
264
- // can surface the model's reasoning. Redacted/empty thinking is skipped.
265
- const out = [];
266
- for (const c of message.content) {
267
- if (c.type === "text" && typeof c.text === "string") {
268
- out.push({ type: "text", text: c.text });
269
- }
270
- else if (c.type === "thinking" && typeof c.thinking === "string" && c.thinking.length > 0) {
271
- out.push({ type: "thinking", thinking: c.thinking });
272
- }
273
- else if (c.type === "toolCall") {
274
- const id = typeof c.id === "string" ? c.id : null;
275
- const name = typeof c.name === "string" ? c.name : null;
276
- if (!id || !name)
277
- continue;
278
- this.seenToolCalls.add(id);
279
- out.push({
280
- type: "tool_use",
281
- id,
282
- name,
283
- input: c.arguments ?? {},
284
- });
285
- }
286
- }
287
- if (out.length === 0)
288
- return [];
289
- // Carry pi's per-message usage onto the envelope in Claude-SDK shape
290
- // (input_tokens / output_tokens / cache_*). This is the only
291
- // compaction-proof source of usage — pi's terminal `usage_snapshot`
292
- // recomputes from the post-compaction message window and reports zero
293
- // once a phase auto-compacts. Per-message records are written at
294
- // finalization, before any compaction rebuild. Keeping them here also
295
- // lets Claude-style transcript analyzers cost the session directly.
296
- const assistantMessage = {
297
- role: "assistant",
298
- model: this.opts.model,
299
- content: out,
300
- };
301
- const usage = shimUsage(message.usage);
302
- if (usage)
303
- assistantMessage.usage = usage;
304
- return [
305
- {
306
- type: "assistant",
307
- message: assistantMessage,
308
- timestamp: ts,
309
- sessionId,
310
- },
311
- ];
312
- }
313
- translateToolEnd(r, ts, sessionId) {
314
- const id = typeof r.toolCallId === "string"
315
- ? r.toolCallId
316
- : typeof r.id === "string"
317
- ? r.id
318
- : null;
319
- if (!id)
320
- return [];
321
- // If we never saw the matching tool_use in a message_end, skip — a
322
- // result without a use block confuses the dashboard renderer.
323
- if (!this.seenToolCalls.has(id))
324
- return [];
325
- const raw = r.result ?? r.output ?? r.error ?? "";
326
- const rawString = typeof raw === "string" ? raw : safeStringify(raw);
327
- const content = truncateForLog(rawString);
328
- const block = {
329
- type: "tool_result",
330
- tool_use_id: id,
331
- content,
332
- };
333
- if (r.isError === true)
334
- block.is_error = true;
335
- return [
336
- {
337
- type: "user",
338
- message: { role: "user", content: [block] },
339
- timestamp: ts,
340
- sessionId,
341
- },
342
- ];
343
- }
344
- translateFatal(r, ts, sessionId) {
345
- const err = (r.error ?? {});
346
- const msg = err.message ?? err.name ?? "fatal error";
347
- return [
348
- {
349
- type: "assistant",
350
- isApiErrorMessage: true,
351
- error: String(msg),
352
- timestamp: ts,
353
- sessionId,
354
- },
355
- ];
356
- }
357
- appendLines(lines) {
358
- this.writeChain = this.writeChain
359
- .then(async () => {
360
- if (!this.sessionId)
361
- return;
362
- await this.sessionLog.appendEnvelopeLines({ projectSlug: this.opts.projectSlug, sessionId: this.sessionId }, lines);
363
- })
364
- .catch((err) => {
365
- const msg = err instanceof Error ? err.message : String(err);
366
- console.warn(`[shim] failed to append jsonl: ${msg}`);
367
- });
368
- }
369
- }
370
- /**
371
- * Translate pi's per-message `usage` ({ input, output, cacheRead, cacheWrite,
372
- * … }) into the Claude-SDK assistant-message usage shape. Returns undefined
373
- * when the record carries no usage so we don't write an all-zero block.
374
- */
375
- function shimUsage(raw) {
376
- if (!raw || typeof raw !== "object")
377
- return undefined;
378
- const num = (v) => typeof v === "number" && Number.isFinite(v) ? v : 0;
379
- const usage = {
380
- input_tokens: num(raw.input),
381
- output_tokens: num(raw.output),
382
- cache_read_input_tokens: num(raw.cacheRead),
383
- cache_creation_input_tokens: num(raw.cacheWrite),
384
- };
385
- if (usage.input_tokens === 0 &&
386
- usage.output_tokens === 0 &&
387
- usage.cache_read_input_tokens === 0 &&
388
- usage.cache_creation_input_tokens === 0) {
389
- return undefined;
390
- }
391
- return usage;
392
- }
393
- function isoTimestamp(raw) {
394
- if (typeof raw === "number" && Number.isFinite(raw)) {
395
- return new Date(raw).toISOString();
396
- }
397
- if (typeof raw === "string") {
398
- const d = new Date(raw);
399
- if (!Number.isNaN(d.getTime()))
400
- return d.toISOString();
401
- }
402
- return new Date().toISOString();
403
- }
404
- export function safeStringify(v) {
405
- try {
406
- return JSON.stringify(v);
407
- }
408
- catch {
409
- return String(v);
410
- }
411
- }
412
- /** Collapse an error string to a single short line for a system breadcrumb. */
413
- function shortReason(reason) {
414
- const oneLine = reason.replace(/\s+/g, " ").trim();
415
- return oneLine.length > 200 ? `${oneLine.slice(0, 197)}…` : oneLine;
416
- }
417
- /**
418
- * Cap on the size of a single tool_result content string written to the
419
- * envelope jsonl. A `Read` on a multi-megabyte file or a `Bash` with huge
420
- * stdout would otherwise bloat both the in-memory write queue and the
421
- * on-disk session log. Anything past this is replaced with a marker. The
422
- * raw tool result still exists wherever the tool wrote it (workspace file,
423
- * sandbox stdout) — we just don't mirror it into the session jsonl.
424
- *
425
- * 64KB matches the rough rendering budget of the dashboard tool-result
426
- * panel; anything larger would have been truncated for display anyway.
427
- */
428
- const TOOL_RESULT_MAX_BYTES = 64 * 1024;
429
- export function truncateForLog(s, maxBytes = TOOL_RESULT_MAX_BYTES) {
430
- if (s.length <= maxBytes)
431
- return s;
432
- const dropped = s.length - maxBytes;
433
- return `${s.slice(0, maxBytes)}\n…[truncated ${dropped} chars]`;
434
- }
435
- //# sourceMappingURL=event-shim.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-shim.js","sourceRoot":"","sources":["../../src/engine/event-shim.ts"],"names":[],"mappings":"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"}