@sentropic/h2a 0.85.16 → 0.85.18

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 (193) hide show
  1. package/.claude-plugin/plugin.json +29 -0
  2. package/.codex-plugin/plugin.json +35 -0
  3. package/.mcp.json +19 -0
  4. package/README.md +3 -0
  5. package/dist/bin-routing.d.ts +14 -3
  6. package/dist/bin-routing.d.ts.map +1 -1
  7. package/dist/bin-routing.js +31 -6
  8. package/dist/bin-routing.js.map +1 -1
  9. package/dist/bin.js +45 -14
  10. package/dist/bin.js.map +1 -1
  11. package/dist/cli-contract.d.ts.map +1 -1
  12. package/dist/cli-contract.js +41 -1
  13. package/dist/cli-contract.js.map +1 -1
  14. package/dist/cli.d.ts +4 -0
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +146 -18
  17. package/dist/cli.js.map +1 -1
  18. package/dist/index.d.ts +4 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/mcp.d.ts +1 -1
  23. package/dist/mcp.d.ts.map +1 -1
  24. package/dist/mcp.js +1 -0
  25. package/dist/mcp.js.map +1 -1
  26. package/dist/runtime/focus/serve.d.ts +42 -0
  27. package/dist/runtime/focus/serve.d.ts.map +1 -0
  28. package/dist/runtime/focus/serve.js +366 -0
  29. package/dist/runtime/focus/serve.js.map +1 -0
  30. package/dist/runtime/loop/engine/adapters.d.ts +62 -6
  31. package/dist/runtime/loop/engine/adapters.d.ts.map +1 -1
  32. package/dist/runtime/loop/engine/adapters.js +272 -36
  33. package/dist/runtime/loop/engine/adapters.js.map +1 -1
  34. package/dist/runtime/loop/engine/decision.d.ts.map +1 -1
  35. package/dist/runtime/loop/engine/decision.js +20 -2
  36. package/dist/runtime/loop/engine/decision.js.map +1 -1
  37. package/dist/runtime/loop/engine/execute.d.ts +13 -4
  38. package/dist/runtime/loop/engine/execute.d.ts.map +1 -1
  39. package/dist/runtime/loop/engine/execute.js +17 -7
  40. package/dist/runtime/loop/engine/execute.js.map +1 -1
  41. package/dist/runtime/loop/index.d.ts +16 -0
  42. package/dist/runtime/loop/index.d.ts.map +1 -1
  43. package/dist/runtime/loop/index.js +146 -13
  44. package/dist/runtime/loop/index.js.map +1 -1
  45. package/dist/runtime/mcp/agent-launch.d.ts +33 -0
  46. package/dist/runtime/mcp/agent-launch.d.ts.map +1 -0
  47. package/dist/runtime/mcp/agent-launch.js +250 -0
  48. package/dist/runtime/mcp/agent-launch.js.map +1 -0
  49. package/dist/runtime/mcp/handlers.d.ts +8 -0
  50. package/dist/runtime/mcp/handlers.d.ts.map +1 -1
  51. package/dist/runtime/mcp/handlers.js +34 -4
  52. package/dist/runtime/mcp/handlers.js.map +1 -1
  53. package/dist/runtime/mcp/index.d.ts +2 -1
  54. package/dist/runtime/mcp/index.d.ts.map +1 -1
  55. package/dist/runtime/mcp/index.js +2 -1
  56. package/dist/runtime/mcp/index.js.map +1 -1
  57. package/dist/runtime/mcp/server.d.ts +5 -0
  58. package/dist/runtime/mcp/server.d.ts.map +1 -1
  59. package/dist/runtime/mcp/server.js +3 -0
  60. package/dist/runtime/mcp/server.js.map +1 -1
  61. package/dist/runtime/mcp/stdio.d.ts +17 -0
  62. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  63. package/dist/runtime/mcp/stdio.js +65 -13
  64. package/dist/runtime/mcp/stdio.js.map +1 -1
  65. package/dist/runtime/mcp/tools.d.ts.map +1 -1
  66. package/dist/runtime/mcp/tools.js +96 -5
  67. package/dist/runtime/mcp/tools.js.map +1 -1
  68. package/dist/runtime/path-safety.d.ts +3 -0
  69. package/dist/runtime/path-safety.d.ts.map +1 -0
  70. package/dist/runtime/path-safety.js +12 -0
  71. package/dist/runtime/path-safety.js.map +1 -0
  72. package/dist/runtime/reporting/config.d.ts +21 -0
  73. package/dist/runtime/reporting/config.d.ts.map +1 -0
  74. package/dist/runtime/reporting/config.js +76 -0
  75. package/dist/runtime/reporting/config.js.map +1 -0
  76. package/dist/runtime/reporting/context.d.ts +27 -0
  77. package/dist/runtime/reporting/context.d.ts.map +1 -0
  78. package/dist/runtime/reporting/context.js +265 -0
  79. package/dist/runtime/reporting/context.js.map +1 -0
  80. package/dist/runtime/reporting/index.d.ts +4 -0
  81. package/dist/runtime/reporting/index.d.ts.map +1 -0
  82. package/dist/runtime/reporting/index.js +4 -0
  83. package/dist/runtime/reporting/index.js.map +1 -0
  84. package/dist/runtime/reporting/report-ai.d.ts +49 -0
  85. package/dist/runtime/reporting/report-ai.d.ts.map +1 -0
  86. package/dist/runtime/reporting/report-ai.js +325 -0
  87. package/dist/runtime/reporting/report-ai.js.map +1 -0
  88. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css +1 -0
  89. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +2 -0
  90. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
  91. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +1 -0
  92. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
  93. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
  94. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js +2 -0
  95. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
  96. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
  97. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +1 -0
  98. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
  99. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
  100. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +2 -0
  101. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
  102. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
  103. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js +1 -0
  104. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
  105. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
  106. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js +1 -0
  107. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
  108. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
  109. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +2 -0
  110. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
  111. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
  112. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js +1 -0
  113. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
  114. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
  115. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +1 -0
  116. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
  117. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
  118. package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
  119. package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
  120. package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
  121. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +2 -0
  122. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
  123. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
  124. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +1 -0
  125. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +2 -0
  126. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
  127. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +5 -0
  128. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
  129. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
  130. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +1 -0
  131. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
  132. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
  133. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +1 -0
  134. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
  135. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
  136. package/focus-app/client/_app/version.json +1 -0
  137. package/focus-app/client/_app/version.json.br +0 -0
  138. package/focus-app/client/_app/version.json.gz +0 -0
  139. package/focus-app/env.js +70 -0
  140. package/focus-app/env.js.map +1 -0
  141. package/focus-app/h2a-focus.json +114 -0
  142. package/focus-app/handler.js +24 -0
  143. package/focus-app/handler.js.map +1 -0
  144. package/focus-app/index.js +147 -0
  145. package/focus-app/index.js.map +1 -0
  146. package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js +217 -0
  147. package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js.map +1 -0
  148. package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js +4 -0
  149. package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js.map +1 -0
  150. package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js +246 -0
  151. package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js.map +1 -0
  152. package/focus-app/server/chunks/chunks/index.js-Di21TltP.js +1315 -0
  153. package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +1 -0
  154. package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js +126 -0
  155. package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js.map +1 -0
  156. package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js +2967 -0
  157. package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js.map +1 -0
  158. package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
  159. package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js.map +1 -0
  160. package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js +2545 -0
  161. package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js.map +1 -0
  162. package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js +38 -0
  163. package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js.map +1 -0
  164. package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js +63 -0
  165. package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js.map +1 -0
  166. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js +100 -0
  167. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +1 -0
  168. package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js +50 -0
  169. package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js.map +1 -0
  170. package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js +1420 -0
  171. package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js.map +1 -0
  172. package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js +246 -0
  173. package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js.map +1 -0
  174. package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js +2725 -0
  175. package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +1 -0
  176. package/focus-app/server/chunks/handler-Cp_5hLyY.js +1474 -0
  177. package/focus-app/server/chunks/handler-Cp_5hLyY.js.map +1 -0
  178. package/focus-app/server/chunks/index.js-CBh7Wjqp.js +4242 -0
  179. package/focus-app/server/chunks/index.js-CBh7Wjqp.js.map +1 -0
  180. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +56 -0
  181. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +1 -0
  182. package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +9 -0
  183. package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js.map +1 -0
  184. package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +9 -0
  185. package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js.map +1 -0
  186. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +19 -0
  187. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +1 -0
  188. package/focus-app/shims.js +33 -0
  189. package/focus-app/shims.js.map +1 -0
  190. package/package.json +8 -4
  191. package/skills/h2a/SKILL.md +7 -5
  192. package/skills/harness/SKILL.md +17 -0
  193. package/skills/harness/using-harness/SKILL.md +26 -0
@@ -0,0 +1,100 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { j as json } from '../../../../../chunks/utils.js-C_3_iViC.js';
5
+ import { l as loadReport, a as subjectOf, s as stepActionFr } from '../../../../../chunks/friendly.js-D4fjovnZ.js';
6
+ import '../../../../../chunks/utils2.js-BQzn9ikS.js';
7
+ import 'node:url';
8
+
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
+ const POST = async ({ request }) => {
34
+ let body;
35
+ try {
36
+ body = await request.json();
37
+ } catch {
38
+ return json({ ok: false, error: "Corps de requête JSON invalide." }, { status: 400 });
39
+ }
40
+ const id = body?.id;
41
+ if (typeof id !== "string") {
42
+ return json({ ok: false, error: "Champ `id` requis (identifiant de décision)." }, { status: 400 });
43
+ }
44
+ const report = await loadReport();
45
+ if (!report.ok) return json({ ok: false, error: report.error }, { status: 503 });
46
+ const d = report.view.directives.find((x) => x.id === id);
47
+ if (!d) return json({ ok: false, error: "Décision inconnue." }, { status: 400 });
48
+ const root = repoRoot();
49
+ const project = report.repo;
50
+ const question = d.gate?.blockedByTitle?.trim() || subjectOf(d);
51
+ 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) {
56
+ return json({
57
+ ok: true,
58
+ 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.`
60
+ });
61
+ }
62
+ const envelope = {
63
+ protocol: "sentropic.h2a",
64
+ version: "0.1",
65
+ id: `env:focus-decision-${id}-${Date.now()}`,
66
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
67
+ type: "event",
68
+ actor: { instance: "focus:local-human", role: "AGENTS", scope: "scope:default" },
69
+ to: [target],
70
+ topic: "focus.decision-inject",
71
+ body: {
72
+ kind: "decision-mandate",
73
+ decisionId: id,
74
+ subject: subjectOf(d),
75
+ question,
76
+ action,
77
+ workspace: d.target.workspace,
78
+ note: "Décision poussée depuis Focus par l’humain — à instruire/trancher dans track (cette injection ne signe rien)."
79
+ }
80
+ };
81
+ let recipientLive = false;
82
+ 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
+ }
92
+ } catch (e) {
93
+ return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });
94
+ }
95
+ 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.`;
96
+ return json({ ok: true, delivered: true, target, recipientLive, note });
97
+ };
98
+
99
+ export { POST };
100
+ //# sourceMappingURL=_server.ts.js-j0NNcOSZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-j0NNcOSZ.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/decisions/inject/_server.ts.js"],"sourcesContent":["import { execFileSync } from \"node:child_process\";\nimport { existsSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { json } from \"@sveltejs/kit\";\nimport { l as loadReport, a as subjectOf, s as stepActionFr } from \"../../../../../chunks/friendly.js\";\nfunction repoRoot() {\n return process.env.FOCUS_REPO_ROOT ?? path.resolve(process.cwd(), \"..\", \"..\");\n}\nfunction h2aBin(root) {\n const installed = process.env.FOCUS_H2A_BIN?.trim();\n if (installed) return installed;\n return path.join(root, \"packages\", \"h2a\", \"dist\", \"bin.js\");\n}\nfunction liveSessionsForProject(root, project) {\n const bin = h2aBin(root);\n if (!existsSync(bin)) return [];\n try {\n const out = execFileSync(\"node\", [bin, \"sessions\"], {\n cwd: root,\n encoding: \"utf8\",\n maxBuffer: 64 * 1024 * 1024\n });\n const parsed = JSON.parse(out);\n const arr = Array.isArray(parsed) ? parsed : parsed.sessions ?? [];\n 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);\n } catch {\n return [];\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 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 live = liveSessionsForProject(root, project);\n const emitter = process.env.FOCUS_EMITTER_INSTANCE?.trim();\n const target = emitter && live.includes(emitter) ? emitter : live[0];\n if (!target) {\n return json({\n ok: true,\n delivered: false,\n 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.`\n });\n }\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 const out = execFileSync(\n \"node\",\n [h2aBin(root), \"inbox\", \"put\", \"--instance\", target, \"--json\", JSON.stringify(envelope)],\n { cwd: root, encoding: \"utf8\" }\n );\n try {\n recipientLive = Boolean(JSON.parse(out).recipientLive);\n } catch {\n }\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,50 @@
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';
3
+ import '../../chunks/utils.js-C_3_iViC.js';
4
+ import '../../chunks/root.js-DO1m-gJA.js';
5
+ import '../../chunks/utils2.js-BQzn9ikS.js';
6
+ import '../../chunks/false.js-B2gHlHjM.js';
7
+
8
+ function create_updated_store() {
9
+ const { set, subscribe } = writable(false);
10
+ {
11
+ return {
12
+ subscribe,
13
+ // eslint-disable-next-line @typescript-eslint/require-await
14
+ check: async () => false
15
+ };
16
+ }
17
+ }
18
+ const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString());
19
+ const placeholder_url = "a:";
20
+ if (is_legacy) {
21
+ ({
22
+ url: new URL(placeholder_url)
23
+ });
24
+ }
25
+ const stores = {
26
+ updated: /* @__PURE__ */ create_updated_store()
27
+ };
28
+ ({
29
+ check: stores.updated.check
30
+ });
31
+ function context() {
32
+ return getContext("__request__");
33
+ }
34
+ const page$1 = {
35
+ get error() {
36
+ return context().page.error;
37
+ },
38
+ get status() {
39
+ return context().page.status;
40
+ }
41
+ };
42
+ const page = page$1;
43
+ function Error$1($$renderer, $$props) {
44
+ $$renderer.component(($$renderer2) => {
45
+ $$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);
46
+ });
47
+ }
48
+
49
+ export { Error$1 as default };
50
+ //# sourceMappingURL=error.svelte.js-Dj3sETSX.js.map
@@ -0,0 +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;;;;"}