@sentropic/h2a 0.85.25 → 0.87.0

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 (295) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/dist/bin.js +51 -2
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-command-map.d.ts +119 -0
  6. package/dist/cli-command-map.d.ts.map +1 -0
  7. package/dist/cli-command-map.js +396 -0
  8. package/dist/cli-command-map.js.map +1 -0
  9. package/dist/cli-contract.d.ts.map +1 -1
  10. package/dist/cli-contract.js +39 -1
  11. package/dist/cli-contract.js.map +1 -1
  12. package/dist/cli.d.ts +25 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +356 -7
  15. package/dist/cli.js.map +1 -1
  16. package/dist/identity.d.ts +37 -3
  17. package/dist/identity.d.ts.map +1 -1
  18. package/dist/identity.js +0 -0
  19. package/dist/identity.js.map +1 -1
  20. package/dist/index.d.ts +7 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +9 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/runtime/enrollment/ceremony.d.ts +542 -0
  25. package/dist/runtime/enrollment/ceremony.d.ts.map +1 -0
  26. package/dist/runtime/enrollment/ceremony.js +777 -0
  27. package/dist/runtime/enrollment/ceremony.js.map +1 -0
  28. package/dist/runtime/enrollment/index.d.ts +16 -0
  29. package/dist/runtime/enrollment/index.d.ts.map +1 -0
  30. package/dist/runtime/enrollment/index.js +16 -0
  31. package/dist/runtime/enrollment/index.js.map +1 -0
  32. package/dist/runtime/feed/descriptors.d.ts +261 -0
  33. package/dist/runtime/feed/descriptors.d.ts.map +1 -0
  34. package/dist/runtime/feed/descriptors.js +425 -0
  35. package/dist/runtime/feed/descriptors.js.map +1 -0
  36. package/dist/runtime/feed/index.d.ts +12 -0
  37. package/dist/runtime/feed/index.d.ts.map +1 -0
  38. package/dist/runtime/feed/index.js +12 -0
  39. package/dist/runtime/feed/index.js.map +1 -0
  40. package/dist/runtime/identity/index.d.ts +3 -3
  41. package/dist/runtime/identity/index.d.ts.map +1 -1
  42. package/dist/runtime/identity/index.js +2 -2
  43. package/dist/runtime/identity/index.js.map +1 -1
  44. package/dist/runtime/identity/live.d.ts +68 -0
  45. package/dist/runtime/identity/live.d.ts.map +1 -1
  46. package/dist/runtime/identity/live.js +78 -2
  47. package/dist/runtime/identity/live.js.map +1 -1
  48. package/dist/runtime/identity/readers.d.ts +89 -5
  49. package/dist/runtime/identity/readers.d.ts.map +1 -1
  50. package/dist/runtime/identity/readers.js +242 -33
  51. package/dist/runtime/identity/readers.js.map +1 -1
  52. package/dist/runtime/local-files/presence.d.ts +16 -1
  53. package/dist/runtime/local-files/presence.d.ts.map +1 -1
  54. package/dist/runtime/local-files/presence.js +32 -20
  55. package/dist/runtime/local-files/presence.js.map +1 -1
  56. package/dist/runtime/loop/index.d.ts +5 -0
  57. package/dist/runtime/loop/index.d.ts.map +1 -1
  58. package/dist/runtime/loop/index.js +48 -5
  59. package/dist/runtime/loop/index.js.map +1 -1
  60. package/dist/runtime/mcp/agent-launch.d.ts +15 -1
  61. package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
  62. package/dist/runtime/mcp/agent-launch.js +45 -4
  63. package/dist/runtime/mcp/agent-launch.js.map +1 -1
  64. package/dist/runtime/mcp/index.d.ts +1 -1
  65. package/dist/runtime/mcp/index.d.ts.map +1 -1
  66. package/dist/runtime/mcp/index.js +1 -1
  67. package/dist/runtime/mcp/index.js.map +1 -1
  68. package/dist/runtime/mcp/server.d.ts +3 -1
  69. package/dist/runtime/mcp/server.d.ts.map +1 -1
  70. package/dist/runtime/mcp/server.js +7 -2
  71. package/dist/runtime/mcp/server.js.map +1 -1
  72. package/dist/runtime/mcp/sessions.d.ts +19 -0
  73. package/dist/runtime/mcp/sessions.d.ts.map +1 -1
  74. package/dist/runtime/mcp/sessions.js +44 -2
  75. package/dist/runtime/mcp/sessions.js.map +1 -1
  76. package/dist/runtime/mcp/stdio.d.ts +8 -0
  77. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  78. package/dist/runtime/mcp/stdio.js +42 -0
  79. package/dist/runtime/mcp/stdio.js.map +1 -1
  80. package/dist/runtime/mcp-registry/broker.d.ts +175 -0
  81. package/dist/runtime/mcp-registry/broker.d.ts.map +1 -0
  82. package/dist/runtime/mcp-registry/broker.js +203 -0
  83. package/dist/runtime/mcp-registry/broker.js.map +1 -0
  84. package/dist/runtime/mcp-registry/broker.typecheck.d.ts +2 -0
  85. package/dist/runtime/mcp-registry/broker.typecheck.d.ts.map +1 -0
  86. package/dist/runtime/mcp-registry/broker.typecheck.js +48 -0
  87. package/dist/runtime/mcp-registry/broker.typecheck.js.map +1 -0
  88. package/dist/runtime/mirror/accept.d.ts +43 -5
  89. package/dist/runtime/mirror/accept.d.ts.map +1 -1
  90. package/dist/runtime/mirror/accept.js +55 -7
  91. package/dist/runtime/mirror/accept.js.map +1 -1
  92. package/dist/runtime/mirror/build.d.ts +23 -4
  93. package/dist/runtime/mirror/build.d.ts.map +1 -1
  94. package/dist/runtime/mirror/build.js +34 -4
  95. package/dist/runtime/mirror/build.js.map +1 -1
  96. package/dist/runtime/mirror/index.d.ts +3 -0
  97. package/dist/runtime/mirror/index.d.ts.map +1 -1
  98. package/dist/runtime/mirror/index.js +3 -0
  99. package/dist/runtime/mirror/index.js.map +1 -1
  100. package/dist/runtime/mirror/ingest.d.ts +109 -0
  101. package/dist/runtime/mirror/ingest.d.ts.map +1 -0
  102. package/dist/runtime/mirror/ingest.js +117 -0
  103. package/dist/runtime/mirror/ingest.js.map +1 -0
  104. package/dist/runtime/mirror/push-daemon.d.ts +376 -0
  105. package/dist/runtime/mirror/push-daemon.d.ts.map +1 -0
  106. package/dist/runtime/mirror/push-daemon.js +644 -0
  107. package/dist/runtime/mirror/push-daemon.js.map +1 -0
  108. package/dist/runtime/mirror/sanitize.d.ts +477 -0
  109. package/dist/runtime/mirror/sanitize.d.ts.map +1 -0
  110. package/dist/runtime/mirror/sanitize.js +625 -0
  111. package/dist/runtime/mirror/sanitize.js.map +1 -0
  112. package/dist/runtime/mirror/serve.d.ts.map +1 -1
  113. package/dist/runtime/mirror/serve.js +104 -24
  114. package/dist/runtime/mirror/serve.js.map +1 -1
  115. package/dist/runtime/reporting/report-ai.d.ts.map +1 -1
  116. package/dist/runtime/reporting/report-ai.js +1 -0
  117. package/dist/runtime/reporting/report-ai.js.map +1 -1
  118. package/dist/runtime/reporting/stdin.d.ts +2 -0
  119. package/dist/runtime/reporting/stdin.d.ts.map +1 -0
  120. package/dist/runtime/reporting/stdin.js +8 -0
  121. package/dist/runtime/reporting/stdin.js.map +1 -0
  122. package/dist/status-surface.d.ts +167 -0
  123. package/dist/status-surface.d.ts.map +1 -0
  124. package/dist/status-surface.js +670 -0
  125. package/dist/status-surface.js.map +1 -0
  126. package/dist/types.d.ts +17 -0
  127. package/dist/types.d.ts.map +1 -1
  128. package/dist/types.js +3 -0
  129. package/dist/types.js.map +1 -1
  130. package/dist/vendor/harness/skills/manifest.d.ts.map +1 -1
  131. package/dist/vendor/harness/skills/manifest.js +2 -0
  132. package/dist/vendor/harness/skills/manifest.js.map +1 -1
  133. package/focus-app/client/_app/immutable/assets/{0.BdzHFb9q.css → 0.CgEVz9YW.css} +1 -1
  134. package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.br +0 -0
  135. package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.gz +0 -0
  136. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css +1 -0
  137. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.br +0 -0
  138. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.gz +0 -0
  139. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css +1 -0
  140. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.br +0 -0
  141. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.gz +0 -0
  142. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css +1 -0
  143. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.br +0 -0
  144. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.gz +0 -0
  145. package/focus-app/client/_app/immutable/chunks/{Cj6wo28J.js → 1NK_OeRJ.js} +1 -1
  146. package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.br +0 -0
  147. package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.gz +0 -0
  148. package/focus-app/client/_app/immutable/chunks/{Bs3f1UbD.js → B1veta3r.js} +2 -2
  149. package/focus-app/client/_app/immutable/chunks/B1veta3r.js.br +0 -0
  150. package/focus-app/client/_app/immutable/chunks/B1veta3r.js.gz +0 -0
  151. package/focus-app/client/_app/immutable/chunks/{DEmooz0s.js → BZ4lcC0v.js} +1 -1
  152. package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.br +0 -0
  153. package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.gz +0 -0
  154. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js +2 -0
  155. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.br +0 -0
  156. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.gz +0 -0
  157. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js +1 -0
  158. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.br +0 -0
  159. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.gz +0 -0
  160. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js +1 -0
  161. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.br +0 -0
  162. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.gz +0 -0
  163. package/focus-app/client/_app/immutable/chunks/iXQate3J.js +2 -0
  164. package/focus-app/client/_app/immutable/chunks/iXQate3J.js.br +0 -0
  165. package/focus-app/client/_app/immutable/chunks/iXQate3J.js.gz +0 -0
  166. package/focus-app/client/_app/immutable/chunks/{ZxFklh9T.js → kCE9wz0g.js} +1 -1
  167. package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.br +0 -0
  168. package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.gz +0 -0
  169. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js +1 -0
  170. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.br +0 -0
  171. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.gz +0 -0
  172. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js +2 -0
  173. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.br +0 -0
  174. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.gz +0 -0
  175. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js +1 -0
  176. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.br +2 -0
  177. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.gz +0 -0
  178. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js +5 -0
  179. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.br +0 -0
  180. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.gz +0 -0
  181. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js +1 -0
  182. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.br +0 -0
  183. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.gz +0 -0
  184. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js +1 -0
  185. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.br +0 -0
  186. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.gz +0 -0
  187. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js +12 -0
  188. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.br +0 -0
  189. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.gz +0 -0
  190. package/focus-app/client/_app/version.json +1 -1
  191. package/focus-app/client/_app/version.json.br +0 -0
  192. package/focus-app/client/_app/version.json.gz +0 -0
  193. package/focus-app/h2a-focus.json +108 -80
  194. package/focus-app/handler.js +7 -7
  195. package/focus-app/index.js +7 -7
  196. package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js +1353 -0
  197. package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js.map +1 -0
  198. package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js +1036 -0
  199. package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js.map +1 -0
  200. package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js → exports.js-CdqPbjm1.js} +3 -3
  201. package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js.map → exports.js-CdqPbjm1.js.map} +1 -1
  202. package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js +233 -0
  203. package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js.map +1 -0
  204. package/focus-app/server/chunks/chunks/{index.js-Di21TltP.js → index.js-laGHLarB.js} +5 -2
  205. package/focus-app/server/chunks/chunks/index.js-laGHLarB.js.map +1 -0
  206. package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js → internal.js-C6T8nHkl.js} +4 -4
  207. package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js.map → internal.js-C6T8nHkl.js.map} +1 -1
  208. package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js → root.js-CtVQOgDw.js} +2 -2
  209. package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js.map → root.js-CtVQOgDw.js.map} +1 -1
  210. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-j0NNcOSZ.js → _server.ts.js-hrbMnsV0.js} +13 -42
  211. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-hrbMnsV0.js.map +1 -0
  212. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js +138 -0
  213. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js.map +1 -0
  214. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js +41 -0
  215. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js.map +1 -0
  216. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js → error.svelte.js-RbeaNF5a.js} +4 -4
  217. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js.map → error.svelte.js-RbeaNF5a.js.map} +1 -1
  218. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js → _layout.svelte.js-e1E_I04z.js} +2 -2
  219. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js.map → _layout.svelte.js-e1E_I04z.js.map} +1 -1
  220. package/focus-app/server/chunks/entries/pages/{_page.svelte.js-QDldMYhk.js → _page.svelte.js-DbaEG23x.js} +31 -1373
  221. package/focus-app/server/chunks/entries/pages/_page.svelte.js-DbaEG23x.js.map +1 -0
  222. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js +88 -0
  223. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js.map +1 -0
  224. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js +1574 -0
  225. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js.map +1 -0
  226. package/focus-app/server/chunks/{handler-Cp_5hLyY.js → handler-Be3dyNi0.js} +3 -3
  227. package/focus-app/server/chunks/{handler-Cp_5hLyY.js.map → handler-Be3dyNi0.js.map} +1 -1
  228. package/focus-app/server/chunks/{index.js-CBh7Wjqp.js → index.js-siUxMMnK.js} +3 -3
  229. package/focus-app/server/chunks/{index.js-CBh7Wjqp.js.map → index.js-siUxMMnK.js.map} +1 -1
  230. package/focus-app/server/chunks/manifest.js-CXJqSHHn.js +78 -0
  231. package/focus-app/server/chunks/manifest.js-CXJqSHHn.js.map +1 -0
  232. package/focus-app/server/chunks/nodes/0.js-leU6sfRR.js +9 -0
  233. package/focus-app/server/chunks/nodes/{0.js-4wlmdsk8.js.map → 0.js-leU6sfRR.js.map} +1 -1
  234. package/focus-app/server/chunks/nodes/1.js-os6QXm6B.js +9 -0
  235. package/focus-app/server/chunks/nodes/{1.js-B-LpY-lC.js.map → 1.js-os6QXm6B.js.map} +1 -1
  236. package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js +19 -0
  237. package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js.map +1 -0
  238. package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js +18 -0
  239. package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js.map +1 -0
  240. package/package.json +5 -5
  241. package/skills/h2a-run/SKILL.md +100 -0
  242. package/skills/harness/SKILL.md +3 -1
  243. package/skills/harness/review/SKILL.md +99 -8
  244. package/skills/harness/security/SKILL.md +55 -0
  245. package/skills/harness/track-report/SKILL.md +103 -0
  246. package/skills/harness/using-harness/SKILL.md +3 -1
  247. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +0 -2
  248. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
  249. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +0 -1
  250. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
  251. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
  252. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
  253. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
  254. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +0 -1
  255. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
  256. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
  257. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +0 -2
  258. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
  259. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
  260. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
  261. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
  262. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
  263. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
  264. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +0 -2
  265. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
  266. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
  267. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
  268. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
  269. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +0 -1
  270. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
  271. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
  272. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +0 -2
  273. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
  274. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
  275. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +0 -1
  276. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +0 -2
  277. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
  278. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +0 -5
  279. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
  280. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
  281. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +0 -1
  282. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
  283. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
  284. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +0 -1
  285. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
  286. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
  287. package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +0 -1
  288. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +0 -1
  289. package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +0 -1
  290. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +0 -56
  291. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +0 -1
  292. package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +0 -9
  293. package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +0 -9
  294. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +0 -19
  295. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +0 -1
@@ -1,35 +1,13 @@
1
- import { execFileSync } from 'node:child_process';
2
- import { existsSync } from 'node:fs';
3
- import path from 'node:path';
4
1
  import { j as json } from '../../../../../chunks/utils.js-C_3_iViC.js';
2
+ import { a as repoRoot, r as resolveTarget, p as putEnvelope } from '../../../../../chunks/h2a-bus.js-bLEJ_Adi.js';
5
3
  import { l as loadReport, a as subjectOf, s as stepActionFr } from '../../../../../chunks/friendly.js-D4fjovnZ.js';
6
4
  import '../../../../../chunks/utils2.js-BQzn9ikS.js';
5
+ import 'node:child_process';
6
+ import 'node:fs';
7
+ import 'node:os';
8
+ import 'node:path';
7
9
  import 'node:url';
8
10
 
9
- function repoRoot() {
10
- return process.env.FOCUS_REPO_ROOT ?? path.resolve(process.cwd(), "..", "..");
11
- }
12
- function h2aBin(root) {
13
- const installed = process.env.FOCUS_H2A_BIN?.trim();
14
- if (installed) return installed;
15
- return path.join(root, "packages", "h2a", "dist", "bin.js");
16
- }
17
- function liveSessionsForProject(root, project) {
18
- const bin = h2aBin(root);
19
- if (!existsSync(bin)) return [];
20
- try {
21
- const out = execFileSync("node", [bin, "sessions"], {
22
- cwd: root,
23
- encoding: "utf8",
24
- maxBuffer: 64 * 1024 * 1024
25
- });
26
- const parsed = JSON.parse(out);
27
- const arr = Array.isArray(parsed) ? parsed : parsed.sessions ?? [];
28
- return arr.filter((x) => x.state === "live").filter((x) => (x.instance ?? "").includes(`:${project}:`)).filter((x) => /^(claude|codex|gemini|agy|hermes|opencode):/.test(x.instance ?? "")).sort((a, b) => (b.heartbeatAt ?? "").localeCompare(a.heartbeatAt ?? "")).map((x) => x.instance);
29
- } catch {
30
- return [];
31
- }
32
- }
33
11
  const POST = async ({ request }) => {
34
12
  let body;
35
13
  try {
@@ -49,16 +27,17 @@ const POST = async ({ request }) => {
49
27
  const project = report.repo;
50
28
  const question = d.gate?.blockedByTitle?.trim() || subjectOf(d);
51
29
  const action = stepActionFr(d.step.code);
52
- const live = liveSessionsForProject(root, project);
53
- const emitter = process.env.FOCUS_EMITTER_INSTANCE?.trim();
54
- const target = emitter && live.includes(emitter) ? emitter : live[0];
55
- if (!target) {
30
+ const resolution = resolveTarget(root);
31
+ if (!resolution.target) {
56
32
  return json({
57
33
  ok: true,
58
34
  delivered: false,
59
- note: `Aucune session h2a live sur « ${project} » : rien à qui remettre la décision. Ouvrez/relancez une CLI sur ce projet (ou servez le focus via h2a) puis réessayez.`
35
+ reason: resolution.reason,
36
+ remedy: resolution.remedy,
37
+ note: resolution.remedy ?? `Aucune session h2a live sur « ${project} » : rien à qui remettre la décision.`
60
38
  });
61
39
  }
40
+ const target = resolution.target;
62
41
  const envelope = {
63
42
  protocol: "sentropic.h2a",
64
43
  version: "0.1",
@@ -80,15 +59,7 @@ const POST = async ({ request }) => {
80
59
  };
81
60
  let recipientLive = false;
82
61
  try {
83
- const out = execFileSync(
84
- "node",
85
- [h2aBin(root), "inbox", "put", "--instance", target, "--json", JSON.stringify(envelope)],
86
- { cwd: root, encoding: "utf8" }
87
- );
88
- try {
89
- recipientLive = Boolean(JSON.parse(out).recipientLive);
90
- } catch {
91
- }
62
+ recipientLive = putEnvelope(root, target, envelope).recipientLive;
92
63
  } catch (e) {
93
64
  return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });
94
65
  }
@@ -97,4 +68,4 @@ const POST = async ({ request }) => {
97
68
  };
98
69
 
99
70
  export { POST };
100
- //# sourceMappingURL=_server.ts.js-j0NNcOSZ.js.map
71
+ //# sourceMappingURL=_server.ts.js-hrbMnsV0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-hrbMnsV0.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/decisions/inject/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as repoRoot, a as resolveTarget, p as putEnvelope } from \"../../../../../chunks/h2a-bus.js\";\nimport { l as loadReport, a as subjectOf, s as stepActionFr } from \"../../../../../chunks/friendly.js\";\nconst POST = async ({ request }) => {\n let body;\n try {\n body = await request.json();\n } catch {\n return json({ ok: false, error: \"Corps de requête JSON invalide.\" }, { status: 400 });\n }\n const id = body?.id;\n if (typeof id !== \"string\") {\n return json({ ok: false, error: \"Champ `id` requis (identifiant de décision).\" }, { status: 400 });\n }\n const report = await loadReport();\n if (!report.ok) return json({ ok: false, error: report.error }, { status: 503 });\n const d = report.view.directives.find((x) => x.id === id);\n if (!d) return json({ ok: false, error: \"Décision inconnue.\" }, { status: 400 });\n const root = repoRoot();\n const project = report.repo;\n const question = d.gate?.blockedByTitle?.trim() || subjectOf(d);\n const action = stepActionFr(d.step.code);\n const resolution = resolveTarget(root);\n if (!resolution.target) {\n return json({\n ok: true,\n delivered: false,\n reason: resolution.reason,\n remedy: resolution.remedy,\n note: resolution.remedy ?? `Aucune session h2a live sur « ${project} » : rien à qui remettre la décision.`\n });\n }\n const target = resolution.target;\n const envelope = {\n protocol: \"sentropic.h2a\",\n version: \"0.1\",\n id: `env:focus-decision-${id}-${Date.now()}`,\n createdAt: (/* @__PURE__ */ new Date()).toISOString(),\n type: \"event\",\n actor: { instance: \"focus:local-human\", role: \"AGENTS\", scope: \"scope:default\" },\n to: [target],\n topic: \"focus.decision-inject\",\n body: {\n kind: \"decision-mandate\",\n decisionId: id,\n subject: subjectOf(d),\n question,\n action,\n workspace: d.target.workspace,\n note: \"Décision poussée depuis Focus par l’humain — à instruire/trancher dans track (cette injection ne signe rien).\"\n }\n };\n let recipientLive = false;\n try {\n recipientLive = putEnvelope(root, target, envelope).recipientLive;\n } catch (e) {\n return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });\n }\n const note = recipientLive ? `Décision « ${question} » remise à la session live ${target} — elle la verra à sa prochaine relève d’inbox.` : `Décision « ${question} » déposée dans l’inbox de ${target}, mais la session ne répond plus (présence périmée). Elle sera lue si la session reprend.`;\n return json({ ok: true, delivered: true, target, recipientLive, note });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { j as json } from '../../../../../../chunks/utils.js-C_3_iViC.js';
2
+ import { b as agentMemoryDossier, f as findAgentMemoryDecision, c as findAgentMemoryOption } from '../../../../../../chunks/agent-memory-dossier.js-nmFG_rgx.js';
3
+ import { a as repoRoot, r as resolveTarget, p as putEnvelope } from '../../../../../../chunks/h2a-bus.js-bLEJ_Adi.js';
4
+ import '../../../../../../chunks/utils2.js-BQzn9ikS.js';
5
+ import 'node:child_process';
6
+ import 'node:fs';
7
+ import 'node:os';
8
+ import 'node:path';
9
+
10
+ const NOTE_MAX = 8e3;
11
+ function prepare(raw) {
12
+ if (typeof raw.decisionKey !== "string") {
13
+ return "Champ `decisionKey` requis (identifiant de décision).";
14
+ }
15
+ const decision = findAgentMemoryDecision(raw.decisionKey);
16
+ if (!decision) return `Décision inconnue dans ce dossier : ${raw.decisionKey}.`;
17
+ let option = null;
18
+ if (typeof raw.optionKey === "string" && raw.optionKey.length > 0) {
19
+ const found = findAgentMemoryOption(decision, raw.optionKey);
20
+ if (!found) return `Option inconnue pour ${decision.key} : ${raw.optionKey}.`;
21
+ option = { key: found.key, title: found.title };
22
+ }
23
+ if (raw.note !== void 0 && raw.note !== null && typeof raw.note !== "string") {
24
+ return `Champ \`note\` invalide pour ${decision.key} (texte attendu).`;
25
+ }
26
+ const note = typeof raw.note === "string" ? raw.note.trim() : "";
27
+ if (note.length > NOTE_MAX) {
28
+ return `Note trop longue pour ${decision.key} (${note.length} caractères, maximum ${NOTE_MAX}).`;
29
+ }
30
+ return {
31
+ decisionKey: decision.key,
32
+ question: decision.question,
33
+ // `null` — not absent — so the reader can tell "no option chosen" from "field forgotten".
34
+ selectedOption: option,
35
+ humanNote: note.length > 0 ? note : null
36
+ };
37
+ }
38
+ const POST = async ({ request }) => {
39
+ let body;
40
+ try {
41
+ body = await request.json();
42
+ } catch {
43
+ return json({ ok: false, error: "Corps de requête JSON invalide." }, { status: 400 });
44
+ }
45
+ const raw = body ?? {};
46
+ const batch = Array.isArray(raw.answers);
47
+ const entries = batch ? raw.answers : [raw];
48
+ if (batch && entries.length === 0) {
49
+ return json({ ok: false, error: "Aucune réponse à transmettre." }, { status: 400 });
50
+ }
51
+ const prepared = [];
52
+ for (const entry of entries) {
53
+ const result = prepare(entry ?? {});
54
+ if (typeof result === "string") return json({ ok: false, error: result }, { status: 400 });
55
+ prepared.push(result);
56
+ }
57
+ const carrying = prepared.filter((a) => a.selectedOption || a.humanNote);
58
+ if (carrying.length === 0) {
59
+ return json(
60
+ { ok: false, error: "Rien à inclure : sélectionnez une option ou écrivez une note avant de transmettre." },
61
+ { status: 400 }
62
+ );
63
+ }
64
+ const root = repoRoot();
65
+ const requested = typeof raw.target === "string" ? raw.target : void 0;
66
+ const resolution = resolveTarget(root, { requested });
67
+ if (!resolution.target) {
68
+ return json({
69
+ ok: true,
70
+ delivered: false,
71
+ reason: resolution.reason,
72
+ roots: resolution.roots,
73
+ live: resolution.live.map((s) => ({
74
+ instance: s.instance,
75
+ name: s.name ?? null,
76
+ workspace: s.workspace?.path ?? null,
77
+ root: s.root ?? null
78
+ })),
79
+ remedy: resolution.remedy,
80
+ note: `${resolution.remedy} Vos réponses restent affichées ici et le jeu commité, lui, n'a pas bougé.`
81
+ });
82
+ }
83
+ const target = resolution.target;
84
+ const notesCarried = carrying.filter((a) => a.humanNote).length;
85
+ const envelope = {
86
+ protocol: "sentropic.h2a",
87
+ version: "0.1",
88
+ id: `env:focus-dossier-agent-memory-${batch ? "set" : carrying[0].decisionKey}-${Date.now()}`,
89
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
90
+ type: "event",
91
+ actor: { instance: "focus:local-human", role: "AGENTS", scope: "scope:default" },
92
+ to: [target],
93
+ topic: "focus.dossier-include",
94
+ body: {
95
+ kind: batch ? "dossier-answer-set" : "dossier-choice",
96
+ dossier: "agent-memory",
97
+ dossierTitle: agentMemoryDossier.title,
98
+ revision: agentMemoryDossier.revision,
99
+ // Single-answer envelopes keep their historical top-level shape so an existing reader still works;
100
+ // `answers` is always present, so a new reader needs exactly one code path.
101
+ ...batch ? {} : {
102
+ decisionKey: carrying[0].decisionKey,
103
+ question: carrying[0].question,
104
+ selectedOption: carrying[0].selectedOption,
105
+ humanNote: carrying[0].humanNote
106
+ },
107
+ answers: carrying,
108
+ answerCount: carrying.length,
109
+ noteCount: notesCarried,
110
+ provenance: "Choix transmis depuis le dossier Focus par l’humain — ceci ne signe aucune décision, c’est son raisonnement remis dans la boucle de l’agent."
111
+ }
112
+ };
113
+ let recipientLive = false;
114
+ try {
115
+ recipientLive = putEnvelope(root, target, envelope, resolution.targetRoot).recipientLive;
116
+ } catch (e) {
117
+ return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });
118
+ }
119
+ const what = batch ? `${carrying.length} réponse(s) (${notesCarried} note(s))` : `${carrying[0].decisionKey} : ${carrying[0].selectedOption ? `« ${carrying[0].selectedOption.title} »` : "votre note"}${carrying[0].humanNote ? " (note incluse)" : ""}`;
120
+ const where = resolution.targetRoot ? ` (racine h2a ${resolution.targetRoot})` : "";
121
+ const alsoLive = resolution.ambiguous ? ` ${resolution.candidates.length} sessions live répondent pour ce dépôt (${resolution.candidates.map((c) => c.instance).join(", ")}) — si ce n'est pas la bonne, changez de destinataire et renvoyez.` : "";
122
+ const message = recipientLive ? `${what} remis à la session live ${target}${where} — elle le verra à sa prochaine relève d’inbox.${alsoLive}` : `${what} déposé dans l’inbox de ${target}${where}, mais la session ne répond plus (présence périmée). Ce sera lu si elle reprend.${alsoLive}`;
123
+ return json({
124
+ ok: true,
125
+ delivered: true,
126
+ target,
127
+ targetRoot: resolution.targetRoot ?? null,
128
+ reason: resolution.reason,
129
+ ambiguous: resolution.ambiguous,
130
+ recipientLive,
131
+ answerCount: carrying.length,
132
+ noteCount: notesCarried,
133
+ note: message
134
+ });
135
+ };
136
+
137
+ export { POST };
138
+ //# sourceMappingURL=_server.ts.js-Dw4odGdV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-Dw4odGdV.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { a as agentMemoryDossier, f as findAgentMemoryDecision, b as findAgentMemoryOption } from \"../../../../../../chunks/agent-memory-dossier.js\";\nimport { r as repoRoot, a as resolveTarget, p as putEnvelope } from \"../../../../../../chunks/h2a-bus.js\";\nconst NOTE_MAX = 8e3;\nfunction prepare(raw) {\n if (typeof raw.decisionKey !== \"string\") {\n return \"Champ `decisionKey` requis (identifiant de décision).\";\n }\n const decision = findAgentMemoryDecision(raw.decisionKey);\n if (!decision) return `Décision inconnue dans ce dossier : ${raw.decisionKey}.`;\n let option = null;\n if (typeof raw.optionKey === \"string\" && raw.optionKey.length > 0) {\n const found = findAgentMemoryOption(decision, raw.optionKey);\n if (!found) return `Option inconnue pour ${decision.key} : ${raw.optionKey}.`;\n option = { key: found.key, title: found.title };\n }\n if (raw.note !== void 0 && raw.note !== null && typeof raw.note !== \"string\") {\n return `Champ \\`note\\` invalide pour ${decision.key} (texte attendu).`;\n }\n const note = typeof raw.note === \"string\" ? raw.note.trim() : \"\";\n if (note.length > NOTE_MAX) {\n return `Note trop longue pour ${decision.key} (${note.length} caractères, maximum ${NOTE_MAX}).`;\n }\n return {\n decisionKey: decision.key,\n question: decision.question,\n // `null` — not absent — so the reader can tell \"no option chosen\" from \"field forgotten\".\n selectedOption: option,\n humanNote: note.length > 0 ? note : null\n };\n}\nconst POST = async ({ request }) => {\n let body;\n try {\n body = await request.json();\n } catch {\n return json({ ok: false, error: \"Corps de requête JSON invalide.\" }, { status: 400 });\n }\n const raw = body ?? {};\n const batch = Array.isArray(raw.answers);\n const entries = batch ? raw.answers : [raw];\n if (batch && entries.length === 0) {\n return json({ ok: false, error: \"Aucune réponse à transmettre.\" }, { status: 400 });\n }\n const prepared = [];\n for (const entry of entries) {\n const result = prepare(entry ?? {});\n if (typeof result === \"string\") return json({ ok: false, error: result }, { status: 400 });\n prepared.push(result);\n }\n const carrying = prepared.filter((a) => a.selectedOption || a.humanNote);\n if (carrying.length === 0) {\n return json(\n { ok: false, error: \"Rien à inclure : sélectionnez une option ou écrivez une note avant de transmettre.\" },\n { status: 400 }\n );\n }\n const root = repoRoot();\n const requested = typeof raw.target === \"string\" ? raw.target : void 0;\n const resolution = resolveTarget(root, { requested });\n if (!resolution.target) {\n return json({\n ok: true,\n delivered: false,\n reason: resolution.reason,\n roots: resolution.roots,\n live: resolution.live.map((s) => ({\n instance: s.instance,\n name: s.name ?? null,\n workspace: s.workspace?.path ?? null,\n root: s.root ?? null\n })),\n remedy: resolution.remedy,\n note: `${resolution.remedy} Vos réponses restent affichées ici et le jeu commité, lui, n'a pas bougé.`\n });\n }\n const target = resolution.target;\n const notesCarried = carrying.filter((a) => a.humanNote).length;\n const envelope = {\n protocol: \"sentropic.h2a\",\n version: \"0.1\",\n id: `env:focus-dossier-agent-memory-${batch ? \"set\" : carrying[0].decisionKey}-${Date.now()}`,\n createdAt: (/* @__PURE__ */ new Date()).toISOString(),\n type: \"event\",\n actor: { instance: \"focus:local-human\", role: \"AGENTS\", scope: \"scope:default\" },\n to: [target],\n topic: \"focus.dossier-include\",\n body: {\n kind: batch ? \"dossier-answer-set\" : \"dossier-choice\",\n dossier: \"agent-memory\",\n dossierTitle: agentMemoryDossier.title,\n revision: agentMemoryDossier.revision,\n // Single-answer envelopes keep their historical top-level shape so an existing reader still works;\n // `answers` is always present, so a new reader needs exactly one code path.\n ...batch ? {} : {\n decisionKey: carrying[0].decisionKey,\n question: carrying[0].question,\n selectedOption: carrying[0].selectedOption,\n humanNote: carrying[0].humanNote\n },\n answers: carrying,\n answerCount: carrying.length,\n noteCount: notesCarried,\n provenance: \"Choix transmis depuis le dossier Focus par l’humain — ceci ne signe aucune décision, c’est son raisonnement remis dans la boucle de l’agent.\"\n }\n };\n let recipientLive = false;\n try {\n recipientLive = putEnvelope(root, target, envelope, resolution.targetRoot).recipientLive;\n } catch (e) {\n return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });\n }\n const what = batch ? `${carrying.length} réponse(s) (${notesCarried} note(s))` : `${carrying[0].decisionKey} : ${carrying[0].selectedOption ? `« ${carrying[0].selectedOption.title} »` : \"votre note\"}${carrying[0].humanNote ? \" (note incluse)\" : \"\"}`;\n const where = resolution.targetRoot ? ` (racine h2a ${resolution.targetRoot})` : \"\";\n const alsoLive = resolution.ambiguous ? ` ${resolution.candidates.length} sessions live répondent pour ce dépôt (${resolution.candidates.map((c) => c.instance).join(\", \")}) — si ce n'est pas la bonne, changez de destinataire et renvoyez.` : \"\";\n const message = recipientLive ? `${what} remis à la session live ${target}${where} — elle le verra à sa prochaine relève d’inbox.${alsoLive}` : `${what} déposé dans l’inbox de ${target}${where}, mais la session ne répond plus (présence périmée). Ce sera lu si elle reprend.${alsoLive}`;\n return json({\n ok: true,\n delivered: true,\n target,\n targetRoot: resolution.targetRoot ?? null,\n reason: resolution.reason,\n ambiguous: resolution.ambiguous,\n recipientLive,\n answerCount: carrying.length,\n noteCount: notesCarried,\n note: message\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { j as json } from '../../../../../chunks/utils.js-C_3_iViC.js';
2
+ import { a as repoRoot, r as resolveTarget, b as repoIdentity } from '../../../../../chunks/h2a-bus.js-bLEJ_Adi.js';
3
+ import '../../../../../chunks/utils2.js-BQzn9ikS.js';
4
+ import 'node:child_process';
5
+ import 'node:fs';
6
+ import 'node:os';
7
+ import 'node:path';
8
+
9
+ const GET = async () => {
10
+ const root = repoRoot();
11
+ const resolution = resolveTarget(root);
12
+ const identity = repoIdentity(root);
13
+ return json({
14
+ ok: true,
15
+ target: resolution.target ?? null,
16
+ targetRoot: resolution.targetRoot ?? null,
17
+ reason: resolution.reason,
18
+ ambiguous: resolution.ambiguous,
19
+ // The roots searched: a machine can run several h2a buses that do not see each other, and a recipient
20
+ // is only addressable together with the root it reads.
21
+ roots: resolution.roots,
22
+ binMissing: resolution.binMissing,
23
+ remedy: resolution.remedy ?? null,
24
+ // The repo's own identity, so a human debugging "why does it not find my session" can see what we
25
+ // matched ON rather than having to read the source.
26
+ repo: { paths: identity.paths, names: identity.names },
27
+ live: resolution.live.map((s) => ({
28
+ instance: s.instance,
29
+ name: s.name ?? null,
30
+ workspace: s.workspace?.path ?? null,
31
+ root: s.root ?? null,
32
+ heartbeatAt: s.heartbeatAt ?? null,
33
+ // Whether this session matched THIS repo, as opposed to merely being alive somewhere else.
34
+ matchesRepo: resolution.candidates.some((c) => c.instance === s.instance),
35
+ default: s.instance === resolution.target
36
+ }))
37
+ });
38
+ };
39
+
40
+ export { GET };
41
+ //# sourceMappingURL=_server.ts.js-BLjYv7vg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-BLjYv7vg.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/h2a/targets/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as repoRoot, a as resolveTarget, b as repoIdentity } from \"../../../../../chunks/h2a-bus.js\";\nconst GET = async () => {\n const root = repoRoot();\n const resolution = resolveTarget(root);\n const identity = repoIdentity(root);\n return json({\n ok: true,\n target: resolution.target ?? null,\n targetRoot: resolution.targetRoot ?? null,\n reason: resolution.reason,\n ambiguous: resolution.ambiguous,\n // The roots searched: a machine can run several h2a buses that do not see each other, and a recipient\n // is only addressable together with the root it reads.\n roots: resolution.roots,\n binMissing: resolution.binMissing,\n remedy: resolution.remedy ?? null,\n // The repo's own identity, so a human debugging \"why does it not find my session\" can see what we\n // matched ON rather than having to read the source.\n repo: { paths: identity.paths, names: identity.names },\n live: resolution.live.map((s) => ({\n instance: s.instance,\n name: s.name ?? null,\n workspace: s.workspace?.path ?? null,\n root: s.root ?? null,\n heartbeatAt: s.heartbeatAt ?? null,\n // Whether this session matched THIS repo, as opposed to merely being alive somewhere else.\n matchesRepo: resolution.candidates.some((c) => c.instance === s.instance),\n default: s.instance === resolution.target\n }))\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;AAEK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,MAAM,IAAI,GAAG,QAAQ,EAAE;AACzB,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC;AACxC,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;AACrC,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI;AACrC,IAAI,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,IAAI;AAC7C,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM;AAC7B,IAAI,SAAS,EAAE,UAAU,CAAC,SAAS;AACnC;AACA;AACA,IAAI,KAAK,EAAE,UAAU,CAAC,KAAK;AAC3B,IAAI,UAAU,EAAE,UAAU,CAAC,UAAU;AACrC,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI;AACrC;AACA;AACA,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;AAC1D,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACtC,MAAM,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAC1B,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;AAC1B,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI;AAC1C,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;AAC1B,MAAM,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;AACxC;AACA,MAAM,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC/E,MAAM,OAAO,EAAE,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;AACzC,KAAK,CAAC;AACN,GAAG,CAAC;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
- import { a4 as escape_html, a5 as getContext, Q as noop } from '../../chunks/index.js-Di21TltP.js';
2
- import { w as writable } from '../../chunks/exports.js-DUTkELZq.js';
1
+ import { a4 as escape_html, a5 as getContext, Q as noop } from '../../chunks/index.js-laGHLarB.js';
2
+ import { w as writable } from '../../chunks/exports.js-CdqPbjm1.js';
3
3
  import '../../chunks/utils.js-C_3_iViC.js';
4
- import '../../chunks/root.js-DO1m-gJA.js';
4
+ import '../../chunks/root.js-CtVQOgDw.js';
5
5
  import '../../chunks/utils2.js-BQzn9ikS.js';
6
6
  import '../../chunks/false.js-B2gHlHjM.js';
7
7
 
@@ -47,4 +47,4 @@ function Error$1($$renderer, $$props) {
47
47
  }
48
48
 
49
49
  export { Error$1 as default };
50
- //# sourceMappingURL=error.svelte.js-Dj3sETSX.js.map
50
+ //# sourceMappingURL=error.svelte.js-RbeaNF5a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.svelte.js-Dj3sETSX.js","sources":["../../../../../.svelte-kit/output/server/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { n as noop, g as getContext, e as escape_html } from \"../../chunks/index.js\";\nimport \"clsx\";\nimport { w as writable } from \"../../chunks/exports.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../chunks/root.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../chunks/utils2.js\";\nfunction create_updated_store() {\n const { set, subscribe } = writable(false);\n {\n return {\n subscribe,\n // eslint-disable-next-line @typescript-eslint/require-await\n check: async () => false\n };\n }\n}\nconst is_legacy = noop.toString().includes(\"$$\") || /function \\w+\\(\\) \\{\\}/.test(noop.toString());\nconst placeholder_url = \"a:\";\nif (is_legacy) {\n ({\n data: {},\n form: null,\n error: null,\n params: {},\n route: { id: null },\n state: {},\n status: -1,\n url: new URL(placeholder_url)\n });\n}\nconst stores = {\n updated: /* @__PURE__ */ create_updated_store()\n};\n({\n check: stores.updated.check\n});\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n }\n};\nconst page = page$1;\nfunction Error$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n });\n}\nexport {\n Error$1 as default\n};\n"],"names":[],"mappings":";;;;;;;AAOA,SAAS,oBAAoB,GAAG;AAChC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE;AACF,IAAI,OAAO;AACX,MAAM,SAAS;AACf;AACA,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK;AACL,EAAE;AACF;AACA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjG,MAAM,eAAe,GAAG,IAAI;AAC5B,IAAI,SAAS,EAAE;AACf,EAAE,CAAC;AACH,IAOI,GAAG,EAAE,IAAI,GAAG,CAAC,eAAe;AAChC,GAAG;AACH;AACA,MAAM,MAAM,GAAG;AACf,EAAE,OAAO,kBAAkB,oBAAoB;AAC/C,CAAC;AACD,CAAC;AACD,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACvG,EAAE,CAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"error.svelte.js-RbeaNF5a.js","sources":["../../../../../.svelte-kit/output/server/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { n as noop, g as getContext, e as escape_html } from \"../../chunks/index.js\";\nimport \"clsx\";\nimport { w as writable } from \"../../chunks/exports.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../chunks/root.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../chunks/utils2.js\";\nfunction create_updated_store() {\n const { set, subscribe } = writable(false);\n {\n return {\n subscribe,\n // eslint-disable-next-line @typescript-eslint/require-await\n check: async () => false\n };\n }\n}\nconst is_legacy = noop.toString().includes(\"$$\") || /function \\w+\\(\\) \\{\\}/.test(noop.toString());\nconst placeholder_url = \"a:\";\nif (is_legacy) {\n ({\n data: {},\n form: null,\n error: null,\n params: {},\n route: { id: null },\n state: {},\n status: -1,\n url: new URL(placeholder_url)\n });\n}\nconst stores = {\n updated: /* @__PURE__ */ create_updated_store()\n};\n({\n check: stores.updated.check\n});\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n }\n};\nconst page = page$1;\nfunction Error$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n });\n}\nexport {\n Error$1 as default\n};\n"],"names":[],"mappings":";;;;;;;AAOA,SAAS,oBAAoB,GAAG;AAChC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE;AACF,IAAI,OAAO;AACX,MAAM,SAAS;AACf;AACA,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK;AACL,EAAE;AACF;AACA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjG,MAAM,eAAe,GAAG,IAAI;AAC5B,IAAI,SAAS,EAAE;AACf,EAAE,CAAC;AACH,IAOI,GAAG,EAAE,IAAI,GAAG,CAAC,eAAe;AAChC,GAAG;AACH;AACA,MAAM,MAAM,GAAG;AACf,EAAE,OAAO,kBAAkB,oBAAoB;AAC/C,CAAC;AACD,CAAC;AACD,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACvG,EAAE,CAAC,CAAC;AACJ;;;;"}
@@ -1,4 +1,4 @@
1
- import { a2 as head, a3 as attr, Z as derived } from '../../chunks/index.js-Di21TltP.js';
1
+ import { a2 as head, a3 as attr, Z as derived } from '../../chunks/index.js-laGHLarB.js';
2
2
  import '../../chunks/utils.js-C_3_iViC.js';
3
3
  import '../../chunks/utils2.js-BQzn9ikS.js';
4
4
 
@@ -1417,4 +1417,4 @@ function _layout($$renderer, $$props) {
1417
1417
  }
1418
1418
 
1419
1419
  export { _layout as default };
1420
- //# sourceMappingURL=_layout.svelte.js-BoLsbuC2.js.map
1420
+ //# sourceMappingURL=_layout.svelte.js-e1E_I04z.js.map