@sentropic/h2a 0.85.16 → 0.85.17
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.
- package/.claude-plugin/plugin.json +29 -0
- package/.codex-plugin/plugin.json +35 -0
- package/.mcp.json +19 -0
- package/README.md +3 -0
- package/dist/bin-routing.d.ts +14 -3
- package/dist/bin-routing.d.ts.map +1 -1
- package/dist/bin-routing.js +31 -6
- package/dist/bin-routing.js.map +1 -1
- package/dist/bin.js +45 -14
- package/dist/bin.js.map +1 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +41 -1
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +146 -18
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +1 -0
- package/dist/mcp.js.map +1 -1
- package/dist/runtime/focus/serve.d.ts +42 -0
- package/dist/runtime/focus/serve.d.ts.map +1 -0
- package/dist/runtime/focus/serve.js +366 -0
- package/dist/runtime/focus/serve.js.map +1 -0
- package/dist/runtime/loop/engine/adapters.d.ts +62 -6
- package/dist/runtime/loop/engine/adapters.d.ts.map +1 -1
- package/dist/runtime/loop/engine/adapters.js +272 -36
- package/dist/runtime/loop/engine/adapters.js.map +1 -1
- package/dist/runtime/loop/engine/decision.d.ts.map +1 -1
- package/dist/runtime/loop/engine/decision.js +20 -2
- package/dist/runtime/loop/engine/decision.js.map +1 -1
- package/dist/runtime/loop/engine/execute.d.ts +13 -4
- package/dist/runtime/loop/engine/execute.d.ts.map +1 -1
- package/dist/runtime/loop/engine/execute.js +17 -7
- package/dist/runtime/loop/engine/execute.js.map +1 -1
- package/dist/runtime/loop/index.d.ts +16 -0
- package/dist/runtime/loop/index.d.ts.map +1 -1
- package/dist/runtime/loop/index.js +146 -13
- package/dist/runtime/loop/index.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +33 -0
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -0
- package/dist/runtime/mcp/agent-launch.js +250 -0
- package/dist/runtime/mcp/agent-launch.js.map +1 -0
- package/dist/runtime/mcp/handlers.d.ts +8 -0
- package/dist/runtime/mcp/handlers.d.ts.map +1 -1
- package/dist/runtime/mcp/handlers.js +34 -4
- package/dist/runtime/mcp/handlers.js.map +1 -1
- package/dist/runtime/mcp/index.d.ts +2 -1
- package/dist/runtime/mcp/index.d.ts.map +1 -1
- package/dist/runtime/mcp/index.js +2 -1
- package/dist/runtime/mcp/index.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts +5 -0
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +3 -0
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/stdio.d.ts +17 -0
- package/dist/runtime/mcp/stdio.d.ts.map +1 -1
- package/dist/runtime/mcp/stdio.js +65 -13
- package/dist/runtime/mcp/stdio.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +96 -5
- package/dist/runtime/mcp/tools.js.map +1 -1
- package/dist/runtime/path-safety.d.ts +3 -0
- package/dist/runtime/path-safety.d.ts.map +1 -0
- package/dist/runtime/path-safety.js +12 -0
- package/dist/runtime/path-safety.js.map +1 -0
- package/dist/runtime/reporting/config.d.ts +21 -0
- package/dist/runtime/reporting/config.d.ts.map +1 -0
- package/dist/runtime/reporting/config.js +76 -0
- package/dist/runtime/reporting/config.js.map +1 -0
- package/dist/runtime/reporting/context.d.ts +27 -0
- package/dist/runtime/reporting/context.d.ts.map +1 -0
- package/dist/runtime/reporting/context.js +265 -0
- package/dist/runtime/reporting/context.js.map +1 -0
- package/dist/runtime/reporting/index.d.ts +4 -0
- package/dist/runtime/reporting/index.d.ts.map +1 -0
- package/dist/runtime/reporting/index.js +4 -0
- package/dist/runtime/reporting/index.js.map +1 -0
- package/dist/runtime/reporting/report-ai.d.ts +49 -0
- package/dist/runtime/reporting/report-ai.d.ts.map +1 -0
- package/dist/runtime/reporting/report-ai.js +325 -0
- package/dist/runtime/reporting/report-ai.js.map +1 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css +1 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +2 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +1 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js +2 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +1 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +2 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js +1 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js +1 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +2 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js +1 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +1 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +2 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +1 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +2 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +5 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +1 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +1 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
- package/focus-app/client/_app/version.json +1 -0
- package/focus-app/client/_app/version.json.br +0 -0
- package/focus-app/client/_app/version.json.gz +0 -0
- package/focus-app/env.js +70 -0
- package/focus-app/env.js.map +1 -0
- package/focus-app/h2a-focus.json +114 -0
- package/focus-app/handler.js +24 -0
- package/focus-app/handler.js.map +1 -0
- package/focus-app/index.js +147 -0
- package/focus-app/index.js.map +1 -0
- package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js +217 -0
- package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js.map +1 -0
- package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js +4 -0
- package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js.map +1 -0
- package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js +246 -0
- package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js.map +1 -0
- package/focus-app/server/chunks/chunks/index.js-Di21TltP.js +1315 -0
- package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +1 -0
- package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js +126 -0
- package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js.map +1 -0
- package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js +2967 -0
- package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js.map +1 -0
- package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
- package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js.map +1 -0
- package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js +2545 -0
- package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js.map +1 -0
- package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js +38 -0
- package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js +63 -0
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js +100 -0
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +1 -0
- package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js +50 -0
- package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js +1420 -0
- package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js +246 -0
- package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js +2725 -0
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +1 -0
- package/focus-app/server/chunks/handler-Cp_5hLyY.js +1474 -0
- package/focus-app/server/chunks/handler-Cp_5hLyY.js.map +1 -0
- package/focus-app/server/chunks/index.js-CBh7Wjqp.js +4242 -0
- package/focus-app/server/chunks/index.js-CBh7Wjqp.js.map +1 -0
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +56 -0
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +1 -0
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +9 -0
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js.map +1 -0
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +9 -0
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js.map +1 -0
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +19 -0
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +1 -0
- package/focus-app/shims.js +33 -0
- package/focus-app/shims.js.map +1 -0
- package/package.json +8 -4
- package/skills/h2a/SKILL.md +7 -5
- package/skills/harness/SKILL.md +17 -0
- package/skills/harness/using-harness/SKILL.md +26 -0
package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js
ADDED
|
@@ -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
|
package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map
ADDED
|
@@ -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;;;;"}
|