@opencode-ai/core 0.0.0-dev-18673 → 0.0.0-dev-18677

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 (294) hide show
  1. package/dist/agent.js +2 -2
  2. package/dist/bus.js +1 -1
  3. package/dist/catalog.js +5 -5
  4. package/dist/chunks/{job-6xnprn33.js → job-0ard5z33.js} +6 -6
  5. package/dist/chunks/{job-2crbvxrz.js → job-0mhpcp7m.js} +3 -3
  6. package/dist/chunks/{job-x7r2g85h.js → job-0vhffh46.js} +2 -2
  7. package/dist/chunks/{job-wjd92vx4.js → job-11rrpezh.js} +2 -2
  8. package/dist/chunks/{job-ngdmqv4f.js → job-1emzt0wt.js} +2 -2
  9. package/dist/chunks/{job-qtqph8kb.js → job-25d8xd9w.js} +4 -4
  10. package/dist/chunks/{job-nr9st120.js → job-2jft3yd5.js} +4 -4
  11. package/dist/chunks/{job-f2v2a3w4.js → job-2ptj9njb.js} +2 -2
  12. package/dist/chunks/{job-522kq8qa.js → job-2spyzfer.js} +1 -1
  13. package/dist/chunks/{job-dv3yagct.js → job-2xxqbh3j.js} +4 -4
  14. package/dist/chunks/{job-ek7xs75a.js → job-30ngbap7.js} +1 -1
  15. package/dist/chunks/{job-vgthr3zd.js → job-3asq9qd5.js} +3 -3
  16. package/dist/chunks/{job-rngafpkn.js → job-3fbdyapk.js} +3 -3
  17. package/dist/chunks/{job-1795kap3.js → job-3fhw42bc.js} +6 -6
  18. package/dist/chunks/{job-7khw64yh.js → job-41qzzbpz.js} +2 -1
  19. package/dist/chunks/{job-gmvz6tt0.js → job-46crkez1.js} +1 -1
  20. package/dist/chunks/{job-b09nc7xz.js → job-47gdfeya.js} +16 -16
  21. package/dist/chunks/{job-twchz7da.js → job-48vsw0jw.js} +1 -1
  22. package/dist/chunks/{job-2rc1qwhy.js → job-4df507vk.js} +50 -42
  23. package/dist/chunks/{job-6xx60510.js → job-4seh17cq.js} +1 -1
  24. package/dist/chunks/{job-zpyt1ezn.js → job-54fer0d0.js} +1 -1
  25. package/dist/chunks/job-57pbmnfc.js +33 -0
  26. package/dist/chunks/{job-9qkcnssy.js → job-587cy5wm.js} +2 -2
  27. package/dist/chunks/{job-jxfq75rv.js → job-61m6ks43.js} +1 -1
  28. package/dist/chunks/job-6266zj4e.js +34 -0
  29. package/dist/chunks/{job-ppc4pq6n.js → job-6421j3fd.js} +2 -2
  30. package/dist/chunks/job-68jwqkqq.js +203 -0
  31. package/dist/chunks/{job-arfgd8hp.js → job-762jys75.js} +2 -2
  32. package/dist/chunks/{job-r1bm65q2.js → job-7b8p713x.js} +2 -2
  33. package/dist/chunks/{job-vt9vdee9.js → job-7jp3zpyh.js} +16 -16
  34. package/dist/chunks/{job-ccc48pq3.js → job-7s30ncaq.js} +1 -1
  35. package/dist/chunks/{job-ggy6v1em.js → job-813exka1.js} +3 -3
  36. package/dist/chunks/{job-d0dbhb87.js → job-8hhxd7er.js} +2 -2
  37. package/dist/chunks/{job-k36tycg5.js → job-8n8yxdw2.js} +2 -2
  38. package/dist/chunks/{job-ndwaftrw.js → job-910ht18m.js} +7 -7
  39. package/dist/chunks/{job-493bygj2.js → job-9bg23qva.js} +5 -5
  40. package/dist/chunks/{job-ntrwn9c5.js → job-9e6s2wbs.js} +1 -1
  41. package/dist/chunks/{job-53s1vm97.js → job-9jtvr9f7.js} +1 -1
  42. package/dist/chunks/{job-bv3cft66.js → job-9tna6sny.js} +6 -6
  43. package/dist/chunks/{job-w6r7reh9.js → job-af6k8xdc.js} +5 -5
  44. package/dist/chunks/{job-1gwra17j.js → job-ajmf56n3.js} +8 -8
  45. package/dist/chunks/{job-1y7r54v0.js → job-ajzk3rs2.js} +1 -1
  46. package/dist/chunks/{job-9tbbhhr5.js → job-aksqn8ry.js} +1 -1
  47. package/dist/chunks/{job-3raka4vp.js → job-arxtz9h4.js} +1 -1
  48. package/dist/chunks/{job-ea0dq72e.js → job-ave2dd3r.js} +46 -44
  49. package/dist/chunks/{job-tb3sg9tv.js → job-b2jn2z3c.js} +3 -3
  50. package/dist/chunks/{job-662k41g4.js → job-b4jawdm2.js} +2 -2
  51. package/dist/chunks/{job-ke8148ty.js → job-bfbx87ej.js} +1 -1
  52. package/dist/chunks/{job-17rksvd3.js → job-bn0n0hq9.js} +2 -2
  53. package/dist/chunks/{job-pjq3bk07.js → job-bv2z3evd.js} +5 -5
  54. package/dist/chunks/{job-vf9yn9vx.js → job-bvavh6pe.js} +3 -3
  55. package/dist/chunks/{job-s7azyhqy.js → job-caf5y5zg.js} +2 -2
  56. package/dist/chunks/{job-3x82cc09.js → job-cdm889rz.js} +1 -1
  57. package/dist/chunks/job-cgqn2mrm.js +147 -0
  58. package/dist/chunks/{job-za8wqpca.js → job-cqr0z25w.js} +2 -2
  59. package/dist/chunks/job-cs1gk7aw.js +330 -0
  60. package/dist/chunks/{job-w989xrsb.js → job-dc495s0z.js} +2 -2
  61. package/dist/chunks/{job-e663gt7g.js → job-dh8ckpgp.js} +1 -1
  62. package/dist/chunks/{job-9kxkwge9.js → job-dmvhg2kz.js} +3 -3
  63. package/dist/chunks/{job-qgr3f3b0.js → job-dn8yfcj9.js} +2 -2
  64. package/dist/chunks/{job-knm8yv8d.js → job-dv2qtrbh.js} +1 -1
  65. package/dist/chunks/{job-m4nj1rxs.js → job-e08y7spt.js} +2 -2
  66. package/dist/chunks/{job-04ve9v9t.js → job-e43zqy1x.js} +4 -4
  67. package/dist/chunks/{job-p3ahxk9y.js → job-e4v0c7ed.js} +1 -1
  68. package/dist/chunks/{job-69r90z8c.js → job-emzj2mnz.js} +1 -1
  69. package/dist/chunks/{job-v42pfaxk.js → job-evztkcdr.js} +1 -1
  70. package/dist/chunks/{job-1t1wgrhv.js → job-ey3px3v3.js} +2 -2
  71. package/dist/chunks/{job-dgn4zcks.js → job-f59p8r33.js} +42 -42
  72. package/dist/chunks/{job-z1t08826.js → job-fagh19yc.js} +5 -5
  73. package/dist/chunks/{job-wyghbada.js → job-fbd4gqt5.js} +1 -1
  74. package/dist/chunks/{job-edjh5g28.js → job-fe8hw932.js} +2 -2
  75. package/dist/chunks/{job-yrxhe8a3.js → job-fg9cms5n.js} +6 -6
  76. package/dist/chunks/{job-ecft2zb7.js → job-fjvbp1rw.js} +97 -71
  77. package/dist/chunks/{job-dnxrkvvt.js → job-g9rvq1b5.js} +1 -1
  78. package/dist/chunks/{job-kxn229zn.js → job-g9vy0vzc.js} +1 -1
  79. package/dist/chunks/{job-mrdgq75n.js → job-h5cf492r.js} +3 -3
  80. package/dist/chunks/{job-wvmyfgqa.js → job-h9bbwcgd.js} +1 -1
  81. package/dist/chunks/job-hym53p1s.js +120 -0
  82. package/dist/chunks/{job-d64twz5j.js → job-jp8kwwgf.js} +1 -1
  83. package/dist/chunks/{job-cfzsy64h.js → job-jq8sgn79.js} +2 -2
  84. package/dist/chunks/{job-1kexajey.js → job-jr5hd5p5.js} +2 -2
  85. package/dist/chunks/{job-spcjzfgq.js → job-k4t29e2h.js} +2 -2
  86. package/dist/chunks/{job-rcmgh3ca.js → job-ka9jgdn3.js} +2 -2
  87. package/dist/chunks/{job-c48kc6fa.js → job-kaffyxmp.js} +4 -4
  88. package/dist/chunks/{job-zk95prvm.js → job-kh42a55x.js} +3 -3
  89. package/dist/chunks/{job-vx4s9vef.js → job-khy57ct7.js} +1 -1
  90. package/dist/chunks/{job-wf9by8hw.js → job-knqwwztd.js} +2 -2
  91. package/dist/chunks/{job-bz4yk1t4.js → job-kpkmmjx3.js} +4 -4
  92. package/dist/chunks/{job-2jqw5dy6.js → job-m1fdqckz.js} +2 -2
  93. package/dist/chunks/{job-7xyyvdqe.js → job-m90gkrdr.js} +2 -2
  94. package/dist/chunks/{job-0kdsfzn8.js → job-me02a623.js} +1 -1
  95. package/dist/chunks/{job-v2shkc71.js → job-me5d9f22.js} +6 -6
  96. package/dist/chunks/{job-ngrdkqab.js → job-n5tqbq9v.js} +1 -1
  97. package/dist/chunks/{job-y1a7rf83.js → job-ndmfymhz.js} +1 -1
  98. package/dist/chunks/{job-9ah4t5gc.js → job-new463fc.js} +1 -1
  99. package/dist/chunks/{job-q5ke20s1.js → job-nh8pkdtv.js} +1 -1
  100. package/dist/chunks/{job-44ehhp8z.js → job-nvaw7ncd.js} +18 -18
  101. package/dist/chunks/{job-gg11cpea.js → job-pkn40a12.js} +4 -4
  102. package/dist/chunks/{job-eyavsrxt.js → job-pskv33a2.js} +2 -2
  103. package/dist/chunks/{job-52hchg7s.js → job-q87p9xpa.js} +1 -1
  104. package/dist/chunks/{job-r5qypb3j.js → job-qba7b96d.js} +3 -3
  105. package/dist/chunks/{job-x6p3vk3n.js → job-qjge9hjg.js} +3 -3
  106. package/dist/chunks/{job-t981ghyw.js → job-qyg9b9kw.js} +3 -3
  107. package/dist/chunks/{job-eqacz5gw.js → job-rvnd6a2n.js} +1 -1
  108. package/dist/chunks/{job-0bw528m8.js → job-sx7e8x54.js} +16 -16
  109. package/dist/chunks/{job-wpn3tqwb.js → job-t0esftz3.js} +82 -82
  110. package/dist/chunks/{job-3apyg94z.js → job-tjvgp8sx.js} +1 -1
  111. package/dist/chunks/{job-dm0vs72c.js → job-tywfhfz1.js} +6 -6
  112. package/dist/chunks/{job-c1fr40sx.js → job-v4rnjb1g.js} +1 -1
  113. package/dist/chunks/{job-sqzywsbq.js → job-v50dw4p6.js} +2 -2
  114. package/dist/chunks/{job-83zdjmgg.js → job-v9j3k8n3.js} +2 -2
  115. package/dist/chunks/{job-qarwrfd1.js → job-x9rd2vnh.js} +1 -1
  116. package/dist/chunks/{job-6eb12gng.js → job-xygthxr3.js} +2 -2
  117. package/dist/chunks/{job-vzgmc9jp.js → job-y3sfr5g3.js} +4 -4
  118. package/dist/chunks/{job-830qkp09.js → job-ye4yygw2.js} +1 -1
  119. package/dist/chunks/job-yyjmndg0.js +483 -0
  120. package/dist/chunks/{job-4gv2h1pd.js → job-yypfb467.js} +3 -3
  121. package/dist/chunks/{job-j0e9tdbc.js → job-z136m2k9.js} +3 -3
  122. package/dist/chunks/{job-n2c9k96k.js → job-z3fjxbtv.js} +4 -4
  123. package/dist/chunks/{job-ba35xjtb.js → job-z61mvmr2.js} +6 -6
  124. package/dist/chunks/{job-xes8c7na.js → job-zjdkpeq1.js} +8 -6
  125. package/dist/chunks/{job-hnxf074g.js → job-zq3dpz3n.js} +1 -1
  126. package/dist/chunks/{job-vhxe1a2q.js → job-zr6va574.js} +2 -2
  127. package/dist/chunks/{job-h41pqsxw.js → job-zrccwvnf.js} +1 -1
  128. package/dist/chunks/{job-tdk41tnh.js → job-zzhrh7mp.js} +2 -2
  129. package/dist/chunks/{job-nkej4bfa.js → job-zzp6hyw7.js} +2 -2
  130. package/dist/command.js +2 -2
  131. package/dist/config/plugin/agent.js +15 -15
  132. package/dist/config/plugin/command.js +9 -9
  133. package/dist/config/plugin/compaction.js +22 -22
  134. package/dist/config/plugin/entry-observer.js +8 -8
  135. package/dist/config/plugin/formatter.js +10 -10
  136. package/dist/config/plugin/image.js +14 -14
  137. package/dist/config/plugin/instruction.js +7 -7
  138. package/dist/config/plugin/location-watcher.js +9 -9
  139. package/dist/config/plugin/mcp.js +13 -13
  140. package/dist/config/plugin/policy.js +9 -9
  141. package/dist/config/plugin/provider.js +9 -9
  142. package/dist/config/plugin/reference.js +10 -10
  143. package/dist/config/plugin/shell.js +9 -9
  144. package/dist/config/plugin/skill-file.js +13 -13
  145. package/dist/config/plugin/skill.js +17 -17
  146. package/dist/config/plugin/snapshot.js +10 -10
  147. package/dist/config/plugin/source.js +9 -9
  148. package/dist/config/plugin/tool-output.js +9 -9
  149. package/dist/config/plugin/websearch.js +9 -9
  150. package/dist/config.js +8 -8
  151. package/dist/credential.js +2 -2
  152. package/dist/effect/app-node-builder.js +146 -142
  153. package/dist/environment/environment.js +6 -6
  154. package/dist/environment/index.js +6 -6
  155. package/dist/event-logger.js +1 -1
  156. package/dist/file-mutation.js +7 -7
  157. package/dist/filesystem/location-watcher.js +125 -123
  158. package/dist/filesystem/search.js +8 -8
  159. package/dist/filesystem.js +9 -9
  160. package/dist/form.js +2 -2
  161. package/dist/formatter.js +6 -6
  162. package/dist/generate.js +7 -7
  163. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +4 -4
  164. package/dist/github-copilot/copilot-provider.js +9 -9
  165. package/dist/github-copilot/responses/openai-responses-language-model.js +5 -5
  166. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +2 -2
  167. package/dist/image/photon.js +10 -10
  168. package/dist/image.js +10 -10
  169. package/dist/instance.js +145 -141
  170. package/dist/instruction-discovery.js +2 -2
  171. package/dist/instructions/builtins.js +6 -6
  172. package/dist/integration.js +4 -4
  173. package/dist/location-activity.js +5 -5
  174. package/dist/location-mutation.js +6 -6
  175. package/dist/location-service-map.js +5 -5
  176. package/dist/location-services.js +146 -142
  177. package/dist/location.js +5 -5
  178. package/dist/mcp/client.js +7 -7
  179. package/dist/mcp/index.js +10 -10
  180. package/dist/mcp/instructions.js +23 -23
  181. package/dist/mcp/stdio.js +7 -7
  182. package/dist/model-resolver.js +6 -6
  183. package/dist/models-dev.js +2 -2
  184. package/dist/permission.js +11 -11
  185. package/dist/persistent-pty/index.js +2 -2
  186. package/dist/persistent-pty.js +2 -2
  187. package/dist/plugin/agent.js +12 -12
  188. package/dist/plugin/command.js +11 -11
  189. package/dist/plugin/host.js +47 -45
  190. package/dist/plugin/internal.js +120 -118
  191. package/dist/plugin/models-dev.js +3 -3
  192. package/dist/plugin/plan.js +12 -12
  193. package/dist/plugin/provider/azure.js +13 -13
  194. package/dist/plugin/provider/cloudflare-ai-gateway.js +13 -13
  195. package/dist/plugin/provider/cloudflare-workers-ai.js +13 -13
  196. package/dist/plugin/provider/configured.js +12 -12
  197. package/dist/plugin/provider/github-copilot.js +7 -7
  198. package/dist/plugin/provider/llmgateway.js +5 -5
  199. package/dist/plugin/provider/lmstudio.js +13 -13
  200. package/dist/plugin/provider/ollama.js +13 -13
  201. package/dist/plugin/provider/openai.js +5 -5
  202. package/dist/plugin/provider/opencode.js +5 -5
  203. package/dist/plugin/provider/vllm.js +13 -13
  204. package/dist/plugin/provider/xai.js +5 -5
  205. package/dist/plugin/provider.js +35 -35
  206. package/dist/plugin/runtime.js +41 -39
  207. package/dist/plugin/sdk.js +2 -2
  208. package/dist/plugin/skill.js +17 -17
  209. package/dist/plugin/supervisor.js +126 -124
  210. package/dist/plugin/vcs/git.js +7 -7
  211. package/dist/plugin/vcs/hg.js +7 -7
  212. package/dist/plugin/warming.js +9 -9
  213. package/dist/plugin/websearch/index.js +3 -3
  214. package/dist/plugin.js +48 -46
  215. package/dist/project/markers.js +3 -3
  216. package/dist/project.js +4 -4
  217. package/dist/pty.js +6 -6
  218. package/dist/reference/instructions.js +3 -3
  219. package/dist/reference.js +2 -2
  220. package/dist/ripgrep.js +7 -7
  221. package/dist/session/compaction.js +19 -19
  222. package/dist/session/context.js +133 -131
  223. package/dist/session/error.js +23 -1
  224. package/dist/session/execution/restart.js +39 -37
  225. package/dist/session/execution.js +21 -21
  226. package/dist/session/generate-node.js +134 -132
  227. package/dist/session/history.js +2 -2
  228. package/dist/session/inbox.js +11 -15
  229. package/dist/session/instructions.js +10 -10
  230. package/dist/session/model-request.js +25 -25
  231. package/dist/session/projector.js +3 -3
  232. package/dist/session/prompt-node.js +320 -0
  233. package/dist/session/prompt.js +130 -0
  234. package/dist/session/revert-node.js +320 -0
  235. package/dist/session/revert.js +17 -12
  236. package/dist/session/run-coordinator.js +1 -1
  237. package/dist/session/runner/index.js +7 -7
  238. package/dist/session/runner/llm.js +138 -136
  239. package/dist/session/runner/model.js +7 -7
  240. package/dist/session/runner/retry.js +1 -1
  241. package/dist/session/runner/step.js +29 -29
  242. package/dist/session/session.js +181 -0
  243. package/dist/session/store.js +4 -4
  244. package/dist/session/title.js +134 -132
  245. package/dist/session/to-session-error.js +18 -18
  246. package/dist/session/transfer.js +40 -38
  247. package/dist/session.js +50 -48
  248. package/dist/shell.js +10 -10
  249. package/dist/skill/instructions.js +13 -13
  250. package/dist/skill.js +12 -12
  251. package/dist/snapshot.js +6 -6
  252. package/dist/tool/mcp.js +22 -22
  253. package/dist/tool/plugin/edit.js +16 -16
  254. package/dist/tool/plugin/glob.js +17 -17
  255. package/dist/tool/plugin/grep.js +17 -17
  256. package/dist/tool/plugin/patch.js +16 -16
  257. package/dist/tool/plugin/question.js +13 -13
  258. package/dist/tool/plugin/read.js +19 -19
  259. package/dist/tool/plugin/shell.js +43 -41
  260. package/dist/tool/plugin/skill.js +13 -13
  261. package/dist/tool/plugin/subagent.js +42 -40
  262. package/dist/tool/plugin/webfetch.js +12 -12
  263. package/dist/tool/plugin/websearch.js +14 -14
  264. package/dist/tool/plugin/write.js +16 -16
  265. package/dist/tool/read-filesystem.js +10 -10
  266. package/dist/tool.js +17 -17
  267. package/dist/types/instance.d.ts +2 -2
  268. package/dist/types/location-service-map.d.ts +2 -2
  269. package/dist/types/plugin/host.d.ts +4 -18
  270. package/dist/types/project.d.ts +1 -0
  271. package/dist/types/session/error.d.ts +115 -0
  272. package/dist/types/session/execution.d.ts +2 -0
  273. package/dist/types/session/inbox.d.ts +557 -176
  274. package/dist/types/session/prompt-node.d.ts +3 -0
  275. package/dist/types/session/prompt.d.ts +126 -0
  276. package/dist/types/session/revert-node.d.ts +3 -0
  277. package/dist/types/session/revert.d.ts +24 -29
  278. package/dist/types/session/run-coordinator.d.ts +2 -0
  279. package/dist/types/session/session.d.ts +232 -0
  280. package/dist/types/session.d.ts +14 -141
  281. package/dist/vcs.js +6 -6
  282. package/dist/websearch.js +2 -2
  283. package/dist/wellknown/plugin.js +3 -3
  284. package/dist/wellknown.js +2 -2
  285. package/dist/worktree.js +6 -6
  286. package/package.json +7 -7
  287. package/dist/chunks/job-fb7nfzf2.js +0 -71
  288. package/dist/chunks/job-k3b93ktv.js +0 -909
  289. package/dist/chunks/job-x7z7742t.js +0 -115
  290. package/dist/chunks/{job-dchkjjs1.js → job-5y7h4bj8.js} +6 -6
  291. package/dist/chunks/{job-yd18a1xb.js → job-pzy8panz.js} +9 -9
  292. package/dist/chunks/{job-tkazpfmd.js → job-qj3yfbbj.js} +3 -3
  293. /package/dist/chunks/{job-ryg4g4zw.js → job-s5a3kj32.js} +0 -0
  294. /package/dist/chunks/{job-j925pnyr.js → job-wcdz88tf.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  export * as SessionInbox from "./inbox.js";
2
- import { DateTime, Effect, Schema } from "effect";
2
+ import { Context, DateTime, Effect, Layer, Schema } from "effect";
3
3
  import { Compaction, CompactionPayload, Delivery, Info, Item, Move, MovePayload, Synthetic, SyntheticPayload, User, UserPayload } from "@opencode-ai/schema/session-inbox";
4
+ import { Database } from "../database/database.js";
4
5
  import { Bus } from "../bus.js";
5
6
  import { SessionMessage } from "./message.js";
6
7
  import { SessionSchema } from "./schema.js";
@@ -108,190 +109,573 @@ export declare const find: (db: import("../database/drizzle.js").EffectSQLiteDat
108
109
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
109
110
  readonly timeCreated: DateTime.Utc;
110
111
  } | undefined, never, never>;
111
- /** Reconciles pending or delivered work without preparing a new admission payload. */
112
- export declare const reconcile: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
113
- $client: import("effect/unstable/sql/SqlClient").SqlClient;
114
- }, request: {
115
- readonly id: SessionMessage.ID;
116
- readonly sessionID: SessionSchema.ID;
117
- readonly delivery: Delivery;
118
- }) => Effect.Effect<{
119
- readonly type: "user";
120
- readonly payload: {
121
- readonly text: string;
122
- readonly metadata?: {
123
- readonly [x: string]: unknown;
124
- } | undefined;
125
- readonly files?: readonly {
126
- readonly source: {
127
- readonly type: "inline";
128
- } | {
129
- readonly type: "uri";
130
- readonly uri: string;
112
+ export type Interface = Effect.Success<ReturnType<typeof make>>;
113
+ declare const Service_base: Context.ServiceClass<Service, "@opencode/SessionInbox", {
114
+ list: (sessionID: SessionSchema.ID) => Effect.Effect<({
115
+ readonly type: "user";
116
+ readonly payload: {
117
+ readonly text: string;
118
+ readonly metadata?: {
119
+ readonly [x: string]: unknown;
120
+ } | undefined;
121
+ readonly files?: readonly {
122
+ readonly source: {
123
+ readonly type: "inline";
124
+ } | {
125
+ readonly type: "uri";
126
+ readonly uri: string;
127
+ };
128
+ readonly data: string;
129
+ readonly mime: string;
130
+ readonly name?: string | undefined;
131
+ readonly description?: string | undefined;
132
+ readonly mention?: {
133
+ readonly start: number;
134
+ readonly end: number;
135
+ readonly text: string;
136
+ } | undefined;
137
+ }[] | undefined;
138
+ readonly agents?: readonly {
139
+ readonly name: string;
140
+ readonly mention?: {
141
+ readonly start: number;
142
+ readonly end: number;
143
+ readonly text: string;
144
+ } | undefined;
145
+ }[] | undefined;
146
+ readonly skills?: readonly {
147
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
148
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
149
+ readonly text?: string | undefined;
150
+ readonly mention?: {
151
+ readonly start: number;
152
+ readonly end: number;
153
+ readonly text: string;
154
+ } | undefined;
155
+ }[] | undefined;
156
+ };
157
+ readonly delivery: "steer" | "queue";
158
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
159
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
160
+ readonly timeCreated: DateTime.Utc;
161
+ } | {
162
+ readonly type: "synthetic";
163
+ readonly payload: {
164
+ readonly text: string;
165
+ readonly description?: string | undefined;
166
+ readonly metadata?: {
167
+ readonly [x: string]: unknown;
168
+ } | undefined;
169
+ };
170
+ readonly delivery: "steer" | "queue";
171
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
172
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
173
+ readonly timeCreated: DateTime.Utc;
174
+ } | {
175
+ readonly type: "compaction";
176
+ readonly payload: {};
177
+ readonly delivery: "steer" | "queue";
178
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
179
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
180
+ readonly timeCreated: DateTime.Utc;
181
+ } | {
182
+ readonly type: "move";
183
+ readonly payload: {
184
+ readonly location: {
185
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
186
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
131
187
  };
132
- readonly data: string;
133
- readonly mime: string;
134
- readonly name?: string | undefined;
188
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
189
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
190
+ };
191
+ readonly delivery: "steer" | "queue";
192
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
193
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
194
+ readonly timeCreated: DateTime.Utc;
195
+ })[], never, never>;
196
+ reconcile: <Type extends Item["type"]>(request: {
197
+ readonly id: SessionMessage.ID;
198
+ readonly sessionID: SessionSchema.ID;
199
+ readonly type: Type;
200
+ readonly delivery: Delivery;
201
+ }) => Effect.Effect<Extract<{
202
+ readonly type: "user";
203
+ readonly payload: {
204
+ readonly text: string;
205
+ readonly metadata?: {
206
+ readonly [x: string]: unknown;
207
+ } | undefined;
208
+ readonly files?: readonly {
209
+ readonly source: {
210
+ readonly type: "inline";
211
+ } | {
212
+ readonly type: "uri";
213
+ readonly uri: string;
214
+ };
215
+ readonly data: string;
216
+ readonly mime: string;
217
+ readonly name?: string | undefined;
218
+ readonly description?: string | undefined;
219
+ readonly mention?: {
220
+ readonly start: number;
221
+ readonly end: number;
222
+ readonly text: string;
223
+ } | undefined;
224
+ }[] | undefined;
225
+ readonly agents?: readonly {
226
+ readonly name: string;
227
+ readonly mention?: {
228
+ readonly start: number;
229
+ readonly end: number;
230
+ readonly text: string;
231
+ } | undefined;
232
+ }[] | undefined;
233
+ readonly skills?: readonly {
234
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
235
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
236
+ readonly text?: string | undefined;
237
+ readonly mention?: {
238
+ readonly start: number;
239
+ readonly end: number;
240
+ readonly text: string;
241
+ } | undefined;
242
+ }[] | undefined;
243
+ };
244
+ readonly delivery: "steer" | "queue";
245
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
246
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
247
+ readonly timeCreated: DateTime.Utc;
248
+ }, {
249
+ readonly type: Type;
250
+ }> | Extract<{
251
+ readonly type: "synthetic";
252
+ readonly payload: {
253
+ readonly text: string;
135
254
  readonly description?: string | undefined;
136
- readonly mention?: {
137
- readonly start: number;
138
- readonly end: number;
139
- readonly text: string;
255
+ readonly metadata?: {
256
+ readonly [x: string]: unknown;
140
257
  } | undefined;
141
- }[] | undefined;
142
- readonly agents?: readonly {
143
- readonly name: string;
144
- readonly mention?: {
145
- readonly start: number;
146
- readonly end: number;
147
- readonly text: string;
258
+ };
259
+ readonly delivery: "steer" | "queue";
260
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
261
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
262
+ readonly timeCreated: DateTime.Utc;
263
+ }, {
264
+ readonly type: Type;
265
+ }> | Extract<{
266
+ readonly type: "move";
267
+ readonly payload: {
268
+ readonly location: {
269
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
270
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
271
+ };
272
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
273
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
274
+ };
275
+ readonly delivery: "steer" | "queue";
276
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
277
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
278
+ readonly timeCreated: DateTime.Utc;
279
+ }, {
280
+ readonly type: Type;
281
+ }> | undefined, LifecycleConflict, never>;
282
+ admit: <Type extends Item["type"]>(request: {
283
+ readonly id: SessionMessage.ID;
284
+ readonly sessionID: SessionSchema.ID;
285
+ readonly item: Item & {
286
+ readonly type: Type;
287
+ };
288
+ }) => Effect.Effect<Extract<{
289
+ readonly type: "user";
290
+ readonly payload: {
291
+ readonly text: string;
292
+ readonly metadata?: {
293
+ readonly [x: string]: unknown;
148
294
  } | undefined;
149
- }[] | undefined;
150
- readonly skills?: readonly {
151
- readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
152
- readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
153
- readonly text?: string | undefined;
154
- readonly mention?: {
155
- readonly start: number;
156
- readonly end: number;
157
- readonly text: string;
295
+ readonly files?: readonly {
296
+ readonly source: {
297
+ readonly type: "inline";
298
+ } | {
299
+ readonly type: "uri";
300
+ readonly uri: string;
301
+ };
302
+ readonly data: string;
303
+ readonly mime: string;
304
+ readonly name?: string | undefined;
305
+ readonly description?: string | undefined;
306
+ readonly mention?: {
307
+ readonly start: number;
308
+ readonly end: number;
309
+ readonly text: string;
310
+ } | undefined;
311
+ }[] | undefined;
312
+ readonly agents?: readonly {
313
+ readonly name: string;
314
+ readonly mention?: {
315
+ readonly start: number;
316
+ readonly end: number;
317
+ readonly text: string;
318
+ } | undefined;
319
+ }[] | undefined;
320
+ readonly skills?: readonly {
321
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
322
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
323
+ readonly text?: string | undefined;
324
+ readonly mention?: {
325
+ readonly start: number;
326
+ readonly end: number;
327
+ readonly text: string;
328
+ } | undefined;
329
+ }[] | undefined;
330
+ };
331
+ readonly delivery: "steer" | "queue";
332
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
333
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
334
+ readonly timeCreated: DateTime.Utc;
335
+ }, {
336
+ readonly type: Type;
337
+ }> | Extract<{
338
+ readonly type: "synthetic";
339
+ readonly payload: {
340
+ readonly text: string;
341
+ readonly description?: string | undefined;
342
+ readonly metadata?: {
343
+ readonly [x: string]: unknown;
158
344
  } | undefined;
159
- }[] | undefined;
160
- };
161
- readonly delivery: "steer" | "queue";
162
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
163
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
164
- readonly timeCreated: DateTime.Utc;
165
- } | {
166
- readonly type: "synthetic";
167
- readonly payload: {
168
- readonly text: string;
169
- readonly description?: string | undefined;
170
- readonly metadata?: {
171
- readonly [x: string]: unknown;
172
- } | undefined;
173
- };
174
- readonly delivery: "steer" | "queue";
175
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
176
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
177
- readonly timeCreated: DateTime.Utc;
178
- } | {
179
- readonly type: "move";
180
- readonly payload: {
181
- readonly location: {
182
- readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
183
- readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
184
345
  };
185
- readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
186
- readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
187
- };
188
- readonly delivery: "steer" | "queue";
189
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
190
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
191
- readonly timeCreated: DateTime.Utc;
192
- } | undefined, never, never>;
193
- export declare const admit: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
194
- $client: import("effect/unstable/sql/SqlClient").SqlClient;
195
- }, bus: Bus.Interface, request: {
196
- readonly id: SessionMessage.ID;
197
- readonly sessionID: SessionSchema.ID;
198
- readonly item: Item;
199
- }) => Effect.Effect<{
200
- readonly type: "user";
201
- readonly payload: {
202
- readonly text: string;
203
- readonly metadata?: {
204
- readonly [x: string]: unknown;
205
- } | undefined;
206
- readonly files?: readonly {
207
- readonly source: {
208
- readonly type: "inline";
209
- } | {
210
- readonly type: "uri";
211
- readonly uri: string;
346
+ readonly delivery: "steer" | "queue";
347
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
348
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
349
+ readonly timeCreated: DateTime.Utc;
350
+ }, {
351
+ readonly type: Type;
352
+ }> | Extract<{
353
+ readonly type: "move";
354
+ readonly payload: {
355
+ readonly location: {
356
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
357
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
212
358
  };
213
- readonly data: string;
214
- readonly mime: string;
215
- readonly name?: string | undefined;
359
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
360
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
361
+ };
362
+ readonly delivery: "steer" | "queue";
363
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
364
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
365
+ readonly timeCreated: DateTime.Utc;
366
+ }, {
367
+ readonly type: Type;
368
+ }> | Extract<{
369
+ readonly type: "compaction";
370
+ readonly payload: {};
371
+ readonly delivery: "steer" | "queue";
372
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
373
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
374
+ readonly timeCreated: DateTime.Utc;
375
+ }, {
376
+ readonly type: Type;
377
+ }>, LifecycleConflict, never>;
378
+ admitCompaction: (input: {
379
+ readonly id: SessionMessage.ID;
380
+ readonly sessionID: SessionSchema.ID;
381
+ readonly delivery: Delivery;
382
+ }) => Effect.Effect<{
383
+ readonly type: "compaction";
384
+ readonly payload: {};
385
+ readonly delivery: "steer" | "queue";
386
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
387
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
388
+ readonly timeCreated: DateTime.Utc;
389
+ }, LifecycleConflict, never>;
390
+ cancel: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
391
+ steer: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
392
+ queue: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
393
+ }>;
394
+ export declare class Service extends Service_base {
395
+ }
396
+ export declare const make: () => Effect.Effect<{
397
+ list: (sessionID: SessionSchema.ID) => Effect.Effect<({
398
+ readonly type: "user";
399
+ readonly payload: {
400
+ readonly text: string;
401
+ readonly metadata?: {
402
+ readonly [x: string]: unknown;
403
+ } | undefined;
404
+ readonly files?: readonly {
405
+ readonly source: {
406
+ readonly type: "inline";
407
+ } | {
408
+ readonly type: "uri";
409
+ readonly uri: string;
410
+ };
411
+ readonly data: string;
412
+ readonly mime: string;
413
+ readonly name?: string | undefined;
414
+ readonly description?: string | undefined;
415
+ readonly mention?: {
416
+ readonly start: number;
417
+ readonly end: number;
418
+ readonly text: string;
419
+ } | undefined;
420
+ }[] | undefined;
421
+ readonly agents?: readonly {
422
+ readonly name: string;
423
+ readonly mention?: {
424
+ readonly start: number;
425
+ readonly end: number;
426
+ readonly text: string;
427
+ } | undefined;
428
+ }[] | undefined;
429
+ readonly skills?: readonly {
430
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
431
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
432
+ readonly text?: string | undefined;
433
+ readonly mention?: {
434
+ readonly start: number;
435
+ readonly end: number;
436
+ readonly text: string;
437
+ } | undefined;
438
+ }[] | undefined;
439
+ };
440
+ readonly delivery: "steer" | "queue";
441
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
442
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
443
+ readonly timeCreated: DateTime.Utc;
444
+ } | {
445
+ readonly type: "synthetic";
446
+ readonly payload: {
447
+ readonly text: string;
216
448
  readonly description?: string | undefined;
217
- readonly mention?: {
218
- readonly start: number;
219
- readonly end: number;
220
- readonly text: string;
449
+ readonly metadata?: {
450
+ readonly [x: string]: unknown;
221
451
  } | undefined;
222
- }[] | undefined;
223
- readonly agents?: readonly {
224
- readonly name: string;
225
- readonly mention?: {
226
- readonly start: number;
227
- readonly end: number;
228
- readonly text: string;
452
+ };
453
+ readonly delivery: "steer" | "queue";
454
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
455
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
456
+ readonly timeCreated: DateTime.Utc;
457
+ } | {
458
+ readonly type: "compaction";
459
+ readonly payload: {};
460
+ readonly delivery: "steer" | "queue";
461
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
462
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
463
+ readonly timeCreated: DateTime.Utc;
464
+ } | {
465
+ readonly type: "move";
466
+ readonly payload: {
467
+ readonly location: {
468
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
469
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
470
+ };
471
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
472
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
473
+ };
474
+ readonly delivery: "steer" | "queue";
475
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
476
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
477
+ readonly timeCreated: DateTime.Utc;
478
+ })[], never, never>;
479
+ reconcile: <Type extends Item["type"]>(request: {
480
+ readonly id: SessionMessage.ID;
481
+ readonly sessionID: SessionSchema.ID;
482
+ readonly type: Type;
483
+ readonly delivery: Delivery;
484
+ }) => Effect.Effect<Extract<{
485
+ readonly type: "user";
486
+ readonly payload: {
487
+ readonly text: string;
488
+ readonly metadata?: {
489
+ readonly [x: string]: unknown;
229
490
  } | undefined;
230
- }[] | undefined;
231
- readonly skills?: readonly {
232
- readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
233
- readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
234
- readonly text?: string | undefined;
235
- readonly mention?: {
236
- readonly start: number;
237
- readonly end: number;
238
- readonly text: string;
491
+ readonly files?: readonly {
492
+ readonly source: {
493
+ readonly type: "inline";
494
+ } | {
495
+ readonly type: "uri";
496
+ readonly uri: string;
497
+ };
498
+ readonly data: string;
499
+ readonly mime: string;
500
+ readonly name?: string | undefined;
501
+ readonly description?: string | undefined;
502
+ readonly mention?: {
503
+ readonly start: number;
504
+ readonly end: number;
505
+ readonly text: string;
506
+ } | undefined;
507
+ }[] | undefined;
508
+ readonly agents?: readonly {
509
+ readonly name: string;
510
+ readonly mention?: {
511
+ readonly start: number;
512
+ readonly end: number;
513
+ readonly text: string;
514
+ } | undefined;
515
+ }[] | undefined;
516
+ readonly skills?: readonly {
517
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
518
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
519
+ readonly text?: string | undefined;
520
+ readonly mention?: {
521
+ readonly start: number;
522
+ readonly end: number;
523
+ readonly text: string;
524
+ } | undefined;
525
+ }[] | undefined;
526
+ };
527
+ readonly delivery: "steer" | "queue";
528
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
529
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
530
+ readonly timeCreated: DateTime.Utc;
531
+ }, {
532
+ readonly type: Type;
533
+ }> | Extract<{
534
+ readonly type: "synthetic";
535
+ readonly payload: {
536
+ readonly text: string;
537
+ readonly description?: string | undefined;
538
+ readonly metadata?: {
539
+ readonly [x: string]: unknown;
239
540
  } | undefined;
240
- }[] | undefined;
241
- };
242
- readonly delivery: "steer" | "queue";
243
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
244
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
245
- readonly timeCreated: DateTime.Utc;
246
- } | {
247
- readonly type: "synthetic";
248
- readonly payload: {
249
- readonly text: string;
250
- readonly description?: string | undefined;
251
- readonly metadata?: {
252
- readonly [x: string]: unknown;
253
- } | undefined;
254
- };
255
- readonly delivery: "steer" | "queue";
256
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
257
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
258
- readonly timeCreated: DateTime.Utc;
259
- } | {
260
- readonly type: "compaction";
261
- readonly payload: {};
262
- readonly delivery: "steer" | "queue";
263
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
264
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
265
- readonly timeCreated: DateTime.Utc;
266
- } | {
267
- readonly type: "move";
268
- readonly payload: {
269
- readonly location: {
270
- readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
271
- readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
272
541
  };
273
- readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
274
- readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
275
- };
276
- readonly delivery: "steer" | "queue";
277
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
278
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
279
- readonly timeCreated: DateTime.Utc;
280
- }, never, never>;
281
- export declare const admitCompaction: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
282
- $client: import("effect/unstable/sql/SqlClient").SqlClient;
283
- }, bus: Bus.Interface, input: {
284
- readonly id: SessionMessage.ID;
285
- readonly sessionID: SessionSchema.ID;
286
- readonly delivery: Delivery;
287
- }) => Effect.Effect<{
288
- readonly type: "compaction";
289
- readonly payload: {};
290
- readonly delivery: "steer" | "queue";
291
- readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
292
- readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
293
- readonly timeCreated: DateTime.Utc;
294
- }, never, never>;
542
+ readonly delivery: "steer" | "queue";
543
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
544
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
545
+ readonly timeCreated: DateTime.Utc;
546
+ }, {
547
+ readonly type: Type;
548
+ }> | Extract<{
549
+ readonly type: "move";
550
+ readonly payload: {
551
+ readonly location: {
552
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
553
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
554
+ };
555
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
556
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
557
+ };
558
+ readonly delivery: "steer" | "queue";
559
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
560
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
561
+ readonly timeCreated: DateTime.Utc;
562
+ }, {
563
+ readonly type: Type;
564
+ }> | undefined, LifecycleConflict, never>;
565
+ admit: <Type extends Item["type"]>(request: {
566
+ readonly id: SessionMessage.ID;
567
+ readonly sessionID: SessionSchema.ID;
568
+ readonly item: Item & {
569
+ readonly type: Type;
570
+ };
571
+ }) => Effect.Effect<Extract<{
572
+ readonly type: "user";
573
+ readonly payload: {
574
+ readonly text: string;
575
+ readonly metadata?: {
576
+ readonly [x: string]: unknown;
577
+ } | undefined;
578
+ readonly files?: readonly {
579
+ readonly source: {
580
+ readonly type: "inline";
581
+ } | {
582
+ readonly type: "uri";
583
+ readonly uri: string;
584
+ };
585
+ readonly data: string;
586
+ readonly mime: string;
587
+ readonly name?: string | undefined;
588
+ readonly description?: string | undefined;
589
+ readonly mention?: {
590
+ readonly start: number;
591
+ readonly end: number;
592
+ readonly text: string;
593
+ } | undefined;
594
+ }[] | undefined;
595
+ readonly agents?: readonly {
596
+ readonly name: string;
597
+ readonly mention?: {
598
+ readonly start: number;
599
+ readonly end: number;
600
+ readonly text: string;
601
+ } | undefined;
602
+ }[] | undefined;
603
+ readonly skills?: readonly {
604
+ readonly name: string & import("effect/Brand").Brand<"Skill.Name">;
605
+ readonly id: string & import("effect/Brand").Brand<"Skill.ID">;
606
+ readonly text?: string | undefined;
607
+ readonly mention?: {
608
+ readonly start: number;
609
+ readonly end: number;
610
+ readonly text: string;
611
+ } | undefined;
612
+ }[] | undefined;
613
+ };
614
+ readonly delivery: "steer" | "queue";
615
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
616
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
617
+ readonly timeCreated: DateTime.Utc;
618
+ }, {
619
+ readonly type: Type;
620
+ }> | Extract<{
621
+ readonly type: "synthetic";
622
+ readonly payload: {
623
+ readonly text: string;
624
+ readonly description?: string | undefined;
625
+ readonly metadata?: {
626
+ readonly [x: string]: unknown;
627
+ } | undefined;
628
+ };
629
+ readonly delivery: "steer" | "queue";
630
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
631
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
632
+ readonly timeCreated: DateTime.Utc;
633
+ }, {
634
+ readonly type: Type;
635
+ }> | Extract<{
636
+ readonly type: "move";
637
+ readonly payload: {
638
+ readonly location: {
639
+ readonly directory: string & import("effect/Brand").Brand<"AbsolutePath">;
640
+ readonly workspaceID?: (string & import("effect/Brand").Brand<"Workspace.ID">) | undefined;
641
+ };
642
+ readonly projectID: string & import("effect/Brand").Brand<"Project.ID">;
643
+ readonly subpath?: (string & import("effect/Brand").Brand<"RelativePath">) | undefined;
644
+ };
645
+ readonly delivery: "steer" | "queue";
646
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
647
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
648
+ readonly timeCreated: DateTime.Utc;
649
+ }, {
650
+ readonly type: Type;
651
+ }> | Extract<{
652
+ readonly type: "compaction";
653
+ readonly payload: {};
654
+ readonly delivery: "steer" | "queue";
655
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
656
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
657
+ readonly timeCreated: DateTime.Utc;
658
+ }, {
659
+ readonly type: Type;
660
+ }>, LifecycleConflict, never>;
661
+ admitCompaction: (input: {
662
+ readonly id: SessionMessage.ID;
663
+ readonly sessionID: SessionSchema.ID;
664
+ readonly delivery: Delivery;
665
+ }) => Effect.Effect<{
666
+ readonly type: "compaction";
667
+ readonly payload: {};
668
+ readonly delivery: "steer" | "queue";
669
+ readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
670
+ readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
671
+ readonly timeCreated: DateTime.Utc;
672
+ }, LifecycleConflict, never>;
673
+ cancel: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
674
+ steer: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
675
+ queue: (input: PendingRef) => Effect.Effect<void, LifecycleConflict, never>;
676
+ }, never, Database.Service | Bus.Service>;
677
+ export declare const layer: Layer.Layer<Service, never, Database.Service | Bus.Service>;
678
+ export declare const node: import("@opencode-ai/util/effect/layer-node").Node<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"global">>;
295
679
  export declare const projectAdmitted: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
296
680
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
297
681
  }, request: {
@@ -576,9 +960,6 @@ export type Scope = "input" | Delivery;
576
960
  export declare const has: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
577
961
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
578
962
  }, sessionID: string & import("effect/Brand").Brand<"SessionID">, scope: Scope) => Effect.Effect<boolean, never, never>;
579
- export declare const cancel: (bus: Bus.Interface, input: PendingRef) => Effect.Effect<void, never, never>;
580
- export declare const steer: (bus: Bus.Interface, input: PendingRef) => Effect.Effect<void, never, never>;
581
- export declare const queue: (bus: Bus.Interface, input: PendingRef) => Effect.Effect<void, never, never>;
582
963
  /**
583
964
  * Promotes pending input into visible messages and returns the promoted count.
584
965
  * Steers always go first; only the "input" scope may fall through to one queued