@sentropic/h2a 0.85.24 → 0.86.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.
- package/.claude-plugin/plugin.json +2 -3
- package/.codex-plugin/plugin.json +1 -1
- package/dist/bin.js +51 -2
- package/dist/bin.js.map +1 -1
- package/dist/cli-command-map.d.ts +119 -0
- package/dist/cli-command-map.d.ts.map +1 -0
- package/dist/cli-command-map.js +396 -0
- package/dist/cli-command-map.js.map +1 -0
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +38 -0
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +25 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +356 -7
- package/dist/cli.js.map +1 -1
- package/dist/identity.d.ts +37 -3
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/runtime/enrollment/ceremony.d.ts +542 -0
- package/dist/runtime/enrollment/ceremony.d.ts.map +1 -0
- package/dist/runtime/enrollment/ceremony.js +777 -0
- package/dist/runtime/enrollment/ceremony.js.map +1 -0
- package/dist/runtime/enrollment/index.d.ts +16 -0
- package/dist/runtime/enrollment/index.d.ts.map +1 -0
- package/dist/runtime/enrollment/index.js +16 -0
- package/dist/runtime/enrollment/index.js.map +1 -0
- package/dist/runtime/feed/descriptors.d.ts +261 -0
- package/dist/runtime/feed/descriptors.d.ts.map +1 -0
- package/dist/runtime/feed/descriptors.js +425 -0
- package/dist/runtime/feed/descriptors.js.map +1 -0
- package/dist/runtime/feed/index.d.ts +12 -0
- package/dist/runtime/feed/index.d.ts.map +1 -0
- package/dist/runtime/feed/index.js +12 -0
- package/dist/runtime/feed/index.js.map +1 -0
- package/dist/runtime/identity/index.d.ts +3 -3
- package/dist/runtime/identity/index.d.ts.map +1 -1
- package/dist/runtime/identity/index.js +2 -2
- package/dist/runtime/identity/index.js.map +1 -1
- package/dist/runtime/identity/live.d.ts +68 -0
- package/dist/runtime/identity/live.d.ts.map +1 -1
- package/dist/runtime/identity/live.js +78 -2
- package/dist/runtime/identity/live.js.map +1 -1
- package/dist/runtime/identity/readers.d.ts +89 -5
- package/dist/runtime/identity/readers.d.ts.map +1 -1
- package/dist/runtime/identity/readers.js +242 -33
- package/dist/runtime/identity/readers.js.map +1 -1
- package/dist/runtime/local-files/presence.d.ts +16 -1
- package/dist/runtime/local-files/presence.d.ts.map +1 -1
- package/dist/runtime/local-files/presence.js +32 -20
- package/dist/runtime/local-files/presence.js.map +1 -1
- package/dist/runtime/loop/index.d.ts +5 -0
- package/dist/runtime/loop/index.d.ts.map +1 -1
- package/dist/runtime/loop/index.js +48 -5
- package/dist/runtime/loop/index.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +15 -1
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
- package/dist/runtime/mcp/agent-launch.js +45 -4
- package/dist/runtime/mcp/agent-launch.js.map +1 -1
- package/dist/runtime/mcp/index.d.ts +1 -1
- package/dist/runtime/mcp/index.d.ts.map +1 -1
- package/dist/runtime/mcp/index.js +1 -1
- package/dist/runtime/mcp/index.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts +3 -1
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +7 -2
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/sessions.d.ts +19 -0
- package/dist/runtime/mcp/sessions.d.ts.map +1 -1
- package/dist/runtime/mcp/sessions.js +44 -2
- package/dist/runtime/mcp/sessions.js.map +1 -1
- package/dist/runtime/mcp/stdio.d.ts +8 -0
- package/dist/runtime/mcp/stdio.d.ts.map +1 -1
- package/dist/runtime/mcp/stdio.js +42 -0
- package/dist/runtime/mcp/stdio.js.map +1 -1
- package/dist/runtime/mcp-registry/broker.d.ts +175 -0
- package/dist/runtime/mcp-registry/broker.d.ts.map +1 -0
- package/dist/runtime/mcp-registry/broker.js +203 -0
- package/dist/runtime/mcp-registry/broker.js.map +1 -0
- package/dist/runtime/mcp-registry/broker.typecheck.d.ts +2 -0
- package/dist/runtime/mcp-registry/broker.typecheck.d.ts.map +1 -0
- package/dist/runtime/mcp-registry/broker.typecheck.js +48 -0
- package/dist/runtime/mcp-registry/broker.typecheck.js.map +1 -0
- package/dist/runtime/mirror/accept.d.ts +43 -5
- package/dist/runtime/mirror/accept.d.ts.map +1 -1
- package/dist/runtime/mirror/accept.js +55 -7
- package/dist/runtime/mirror/accept.js.map +1 -1
- package/dist/runtime/mirror/build.d.ts +23 -4
- package/dist/runtime/mirror/build.d.ts.map +1 -1
- package/dist/runtime/mirror/build.js +34 -4
- package/dist/runtime/mirror/build.js.map +1 -1
- package/dist/runtime/mirror/index.d.ts +3 -0
- package/dist/runtime/mirror/index.d.ts.map +1 -1
- package/dist/runtime/mirror/index.js +3 -0
- package/dist/runtime/mirror/index.js.map +1 -1
- package/dist/runtime/mirror/ingest.d.ts +109 -0
- package/dist/runtime/mirror/ingest.d.ts.map +1 -0
- package/dist/runtime/mirror/ingest.js +117 -0
- package/dist/runtime/mirror/ingest.js.map +1 -0
- package/dist/runtime/mirror/push-daemon.d.ts +376 -0
- package/dist/runtime/mirror/push-daemon.d.ts.map +1 -0
- package/dist/runtime/mirror/push-daemon.js +644 -0
- package/dist/runtime/mirror/push-daemon.js.map +1 -0
- package/dist/runtime/mirror/sanitize.d.ts +477 -0
- package/dist/runtime/mirror/sanitize.d.ts.map +1 -0
- package/dist/runtime/mirror/sanitize.js +625 -0
- package/dist/runtime/mirror/sanitize.js.map +1 -0
- package/dist/runtime/mirror/serve.d.ts.map +1 -1
- package/dist/runtime/mirror/serve.js +104 -24
- package/dist/runtime/mirror/serve.js.map +1 -1
- package/dist/runtime/reporting/report-ai.d.ts.map +1 -1
- package/dist/runtime/reporting/report-ai.js +1 -0
- package/dist/runtime/reporting/report-ai.js.map +1 -1
- package/dist/runtime/reporting/stdin.d.ts +2 -0
- package/dist/runtime/reporting/stdin.d.ts.map +1 -0
- package/dist/runtime/reporting/stdin.js +8 -0
- package/dist/runtime/reporting/stdin.js.map +1 -0
- package/dist/status-surface.d.ts +167 -0
- package/dist/status-surface.d.ts.map +1 -0
- package/dist/status-surface.js +670 -0
- package/dist/status-surface.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/focus-app/client/_app/immutable/assets/{0.BdzHFb9q.css → 0.CgEVz9YW.css} +1 -1
- package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css +1 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css +1 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css +1 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{Cj6wo28J.js → 1NK_OeRJ.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{Bs3f1UbD.js → B1veta3r.js} +2 -2
- package/focus-app/client/_app/immutable/chunks/B1veta3r.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/B1veta3r.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{DEmooz0s.js → BZ4lcC0v.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js +2 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js +1 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js +1 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js +2 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{ZxFklh9T.js → kCE9wz0g.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js +1 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js +2 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js +1 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.br +2 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js +5 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js +1 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js +1 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js +12 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.gz +0 -0
- package/focus-app/client/_app/version.json +1 -1
- package/focus-app/client/_app/version.json.br +0 -0
- package/focus-app/client/_app/version.json.gz +0 -0
- package/focus-app/h2a-focus.json +108 -80
- package/focus-app/handler.js +7 -7
- package/focus-app/index.js +7 -7
- package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js +1353 -0
- package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js.map +1 -0
- package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js +1036 -0
- package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js.map +1 -0
- package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js → exports.js-CdqPbjm1.js} +3 -3
- package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js.map → exports.js-CdqPbjm1.js.map} +1 -1
- package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js +233 -0
- package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js.map +1 -0
- package/focus-app/server/chunks/chunks/{index.js-Di21TltP.js → index.js-laGHLarB.js} +5 -2
- package/focus-app/server/chunks/chunks/index.js-laGHLarB.js.map +1 -0
- package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js → internal.js-C6T8nHkl.js} +4 -4
- package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js.map → internal.js-C6T8nHkl.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js → root.js-CtVQOgDw.js} +2 -2
- package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js.map → root.js-CtVQOgDw.js.map} +1 -1
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-j0NNcOSZ.js → _server.ts.js-hrbMnsV0.js} +13 -42
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-hrbMnsV0.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js +138 -0
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js +41 -0
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js.map +1 -0
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js → error.svelte.js-RbeaNF5a.js} +4 -4
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js.map → error.svelte.js-RbeaNF5a.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js → _layout.svelte.js-e1E_I04z.js} +2 -2
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js.map → _layout.svelte.js-e1E_I04z.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_page.svelte.js-QDldMYhk.js → _page.svelte.js-DbaEG23x.js} +31 -1373
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-DbaEG23x.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js +88 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js +1574 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js.map +1 -0
- package/focus-app/server/chunks/{handler-Cp_5hLyY.js → handler-Be3dyNi0.js} +3 -3
- package/focus-app/server/chunks/{handler-Cp_5hLyY.js.map → handler-Be3dyNi0.js.map} +1 -1
- package/focus-app/server/chunks/{index.js-CBh7Wjqp.js → index.js-siUxMMnK.js} +3 -3
- package/focus-app/server/chunks/{index.js-CBh7Wjqp.js.map → index.js-siUxMMnK.js.map} +1 -1
- package/focus-app/server/chunks/manifest.js-CXJqSHHn.js +78 -0
- package/focus-app/server/chunks/manifest.js-CXJqSHHn.js.map +1 -0
- package/focus-app/server/chunks/nodes/0.js-leU6sfRR.js +9 -0
- package/focus-app/server/chunks/nodes/{0.js-4wlmdsk8.js.map → 0.js-leU6sfRR.js.map} +1 -1
- package/focus-app/server/chunks/nodes/1.js-os6QXm6B.js +9 -0
- package/focus-app/server/chunks/nodes/{1.js-B-LpY-lC.js.map → 1.js-os6QXm6B.js.map} +1 -1
- package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js +19 -0
- package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js.map +1 -0
- package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js +18 -0
- package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js.map +1 -0
- package/package.json +2 -2
- package/skills/h2a-run/SKILL.md +100 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +0 -2
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +0 -1
- 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.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +0 -1
- 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 +0 -2
- 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.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -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 +0 -2
- 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.br +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +0 -1
- 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/entry/app.6DKouWRt.js +0 -2
- 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 +0 -1
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +0 -2
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +0 -5
- 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 +0 -1
- 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 +0 -1
- 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/server/chunks/chunks/index.js-Di21TltP.js.map +0 -1
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +0 -1
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +0 -1
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +0 -56
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +0 -1
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +0 -9
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +0 -9
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +0 -19
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ceremony.js","sourceRoot":"","sources":["../../../src/runtime/enrollment/ceremony.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* h2a's side of the principal↔agent enrollment ceremony (P1, step 3).
|
|
3
|
+
*
|
|
4
|
+
* Contract: Part B of
|
|
5
|
+
* `docs/superpowers/specs/2026-07-24-h2a-feed-contract-for-sentropic.md`
|
|
6
|
+
* (ratified 2026-07-24, amended 2026-07-25, signed-composite amendment
|
|
7
|
+
* 2026-07-25).
|
|
8
|
+
*
|
|
9
|
+
* Step 3 = proving control of the agent's ed25519 key over a gateway-issued
|
|
10
|
+
* challenge, and nothing else. The 39-auth principal is the authorizing
|
|
11
|
+
* authority; the binding record and the challenge/verify endpoint are
|
|
12
|
+
* sentropic's. No binding store, no network transport, no bearer token, and no
|
|
13
|
+
* principal identifier ever reaches the agent.
|
|
14
|
+
*/
|
|
15
|
+
export { assertKeyIsLocallyActive, assertSignableEnrollmentChallenge, buildEnrollmentProof, enrollmentProofSignedPayload, listUnusablePrivateKeys, resolveEnrollmentIdentity, runEnrollmentCeremony, sanitizeEnrollmentChallenge, signEnrollmentChallenge, verifyEnrollmentProof, H2A_ENROLLMENT_CHALLENGE_KEYS, H2A_ENROLLMENT_MAX_NONCE_LENGTH, H2A_ENROLLMENT_NONCE_MAX_BITS, H2A_ENROLLMENT_NONCE_MAX_LENGTH, H2A_ENROLLMENT_NONCE_MIN_BITS, H2A_ENROLLMENT_NONCE_MIN_LENGTH, H2A_ENROLLMENT_NONCE_PATTERN, H2A_ENROLLMENT_PROOF_TYPE, type BuildEnrollmentProofOptions, type EnrollmentCeremonyResult, type EnrollmentIdentityResolver, type EnrollmentProofResult, type EnrollmentProofSubmitter, type EnrollmentSubmission, type H2AEnrollmentChallenge, type H2AEnrollmentIdentity, type H2AEnrollmentProof, type ResolveEnrollmentIdentityInput, type RunEnrollmentCeremonyOptions, type SignEnrollmentChallengeInput } from "./ceremony.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/enrollment/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* h2a's side of the principal↔agent enrollment ceremony (P1, step 3).
|
|
3
|
+
*
|
|
4
|
+
* Contract: Part B of
|
|
5
|
+
* `docs/superpowers/specs/2026-07-24-h2a-feed-contract-for-sentropic.md`
|
|
6
|
+
* (ratified 2026-07-24, amended 2026-07-25, signed-composite amendment
|
|
7
|
+
* 2026-07-25).
|
|
8
|
+
*
|
|
9
|
+
* Step 3 = proving control of the agent's ed25519 key over a gateway-issued
|
|
10
|
+
* challenge, and nothing else. The 39-auth principal is the authorizing
|
|
11
|
+
* authority; the binding record and the challenge/verify endpoint are
|
|
12
|
+
* sentropic's. No binding store, no network transport, no bearer token, and no
|
|
13
|
+
* principal identifier ever reaches the agent.
|
|
14
|
+
*/
|
|
15
|
+
export { assertKeyIsLocallyActive, assertSignableEnrollmentChallenge, buildEnrollmentProof, enrollmentProofSignedPayload, listUnusablePrivateKeys, resolveEnrollmentIdentity, runEnrollmentCeremony, sanitizeEnrollmentChallenge, signEnrollmentChallenge, verifyEnrollmentProof, H2A_ENROLLMENT_CHALLENGE_KEYS, H2A_ENROLLMENT_MAX_NONCE_LENGTH, H2A_ENROLLMENT_NONCE_MAX_BITS, H2A_ENROLLMENT_NONCE_MAX_LENGTH, H2A_ENROLLMENT_NONCE_MIN_BITS, H2A_ENROLLMENT_NONCE_MIN_LENGTH, H2A_ENROLLMENT_NONCE_PATTERN, H2A_ENROLLMENT_PROOF_TYPE } from "./ceremony.js";
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/enrollment/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EAa1B,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* h2a → sentropic session-exposure feed — DESCRIPTOR BUILDERS (P1, step 1).
|
|
3
|
+
*
|
|
4
|
+
* Implements Part A of the ratified contract
|
|
5
|
+
* `docs/superpowers/specs/2026-07-24-h2a-feed-contract-for-sentropic.md`
|
|
6
|
+
* (RATIFIED by the sentropic architect, 2026-07-24, with three binding
|
|
7
|
+
* conditions accepted). Sentropic owns the multi-tenant gateway, the 39-auth
|
|
8
|
+
* broker and the UI panel; this module is h2a's own surface only.
|
|
9
|
+
*
|
|
10
|
+
* Everything here is PURE: presence records + registrations in, opaque
|
|
11
|
+
* descriptors out. No I/O, no network, no auth, no push, and never a clock —
|
|
12
|
+
* `asOf` is always injected by the caller, so every derivation is
|
|
13
|
+
* deterministic and unit-testable.
|
|
14
|
+
*
|
|
15
|
+
* Governing rule of the contract, enforced structurally in this module:
|
|
16
|
+
* *if a field can't be shown safely in a browser, it doesn't belong in the
|
|
17
|
+
* feed.* No message bodies, no negotiation content, no keys or tokens, and no
|
|
18
|
+
* filesystem path — `workspaceLabel` reads `H2AWorkspaceRef.label` and NEVER
|
|
19
|
+
* `.path` or `launchContext.cwd` (Part A, "Opacity boundary", non-negotiable).
|
|
20
|
+
*
|
|
21
|
+
* NOT wired into the hosted MCP handlers yet: that is step 5 of the P1 plan and
|
|
22
|
+
* is gated on the architecture lane's per-principal root partition (Part C).
|
|
23
|
+
*/
|
|
24
|
+
import { type H2AActorRegistration, type H2ARole, type H2ASession } from "@sentropic/h2a";
|
|
25
|
+
/**
|
|
26
|
+
* Per-descriptor liveness. `stale` is NOT a synonym for `idle`: see
|
|
27
|
+
* {@link deriveLiveness} — it is a FEED-PIPELINE freshness signal, not an agent
|
|
28
|
+
* state.
|
|
29
|
+
*/
|
|
30
|
+
export type H2ALivenessState = "live" | "idle" | "stale" | "closed";
|
|
31
|
+
/** An agent instance as it may be rendered in a browser. Opaque, non-secret. */
|
|
32
|
+
export interface InstanceDescriptor {
|
|
33
|
+
/**
|
|
34
|
+
* `H2ASession.instance` / `H2AActorRegistration.instance` — the addressable
|
|
35
|
+
* `host:slug(label):uuid12` handle frozen at mint (DEC-114). Shown verbatim
|
|
36
|
+
* because P1 is "read your OWN data": this is the resource id of the
|
|
37
|
+
* principal's own agent, not a counterpart reference.
|
|
38
|
+
*/
|
|
39
|
+
readonly instanceId: string;
|
|
40
|
+
readonly displayName: string;
|
|
41
|
+
readonly host: string;
|
|
42
|
+
/**
|
|
43
|
+
* `H2AActorRegistration.roles[0]` **validated against `H2A_ROLES` on read**,
|
|
44
|
+
* or the literal `'unknown'` when the instance has no registration, declares
|
|
45
|
+
* no role, or declares a string outside the enum.
|
|
46
|
+
*
|
|
47
|
+
* The union is deliberate (architect ruling, 2026-07-25): a MISSING role must
|
|
48
|
+
* never be rendered as a real `H2ARole`. Synthesizing e.g. `'AGENTS'` would be
|
|
49
|
+
* indistinguishable from an asserted claim, so once real roles land
|
|
50
|
+
* (PRINCIPAL/CONDUCTOR/CONTROL) an absent role would silently read as a
|
|
51
|
+
* genuine claim of authority and no consumer could tell the two apart.
|
|
52
|
+
*
|
|
53
|
+
* Validation on READ is what makes the union true on the wire whoever wrote
|
|
54
|
+
* the registry: the store re-validates nothing on read, `mirror/accept.ts`
|
|
55
|
+
* authorizes a mirrored registration by key ownership without constraining its
|
|
56
|
+
* content, and `mcp/handlers.ts` applies a caller-supplied registration. A
|
|
57
|
+
* `'SUPERADMIN'` planted by any of those paths must surface as `'unknown'`,
|
|
58
|
+
* never as an out-of-union string in a typed consumer.
|
|
59
|
+
*/
|
|
60
|
+
readonly role: H2ARole | "unknown";
|
|
61
|
+
/** Human label only. NEVER a filesystem path (Part A, opacity boundary). */
|
|
62
|
+
readonly workspaceLabel: string;
|
|
63
|
+
/**
|
|
64
|
+
* Ratification condition #3: a DECLARED, NON-AUTHORITATIVE DISPLAY LIST
|
|
65
|
+
* ONLY. Self-reported by the agent at registration, and it MUST NEVER be an
|
|
66
|
+
* input to any authorization decision — authorization stays principal-binding
|
|
67
|
+
* + server-side scoping (Part B).
|
|
68
|
+
*
|
|
69
|
+
* The NAME carries that semantic on purpose (architect ruling, 2026-07-25):
|
|
70
|
+
* the field is sourced from `H2AActorRegistration.declaredCapabilities` and
|
|
71
|
+
* never from the authority-bearing `capabilities`, which is the subagent
|
|
72
|
+
* ceiling and the attestation right. The whole defect this rename closes was
|
|
73
|
+
* ambiguity between "display list" and "authz list", so the wire field does
|
|
74
|
+
* not keep the ambiguous name.
|
|
75
|
+
*
|
|
76
|
+
* ALLOWLISTED on read: values are intersected with the closed vocabulary
|
|
77
|
+
* `H2A_DECLARED_CAPABILITIES`, so only known members survive. It is an
|
|
78
|
+
* intersection, never a denylist — nothing here strips `/home/` or PEM
|
|
79
|
+
* markers, because a denylist is whack-a-mole and loses to the next encoding.
|
|
80
|
+
* Anything outside the vocabulary was never a valid declaration and is
|
|
81
|
+
* dropped silently.
|
|
82
|
+
*/
|
|
83
|
+
readonly declaredCapabilities: readonly string[];
|
|
84
|
+
/**
|
|
85
|
+
* ISO 8601 — max heartbeat across this instance's known sessions, or
|
|
86
|
+
* `'unknown'` when no session carries a parseable heartbeat. NEVER the
|
|
87
|
+
* registration's mint time: reporting a `createdAt` as "last seen" would be an
|
|
88
|
+
* unearned freshness claim, the same class the Q1 ruling rejected.
|
|
89
|
+
*/
|
|
90
|
+
readonly lastSeen: string;
|
|
91
|
+
readonly liveness: H2ALivenessState;
|
|
92
|
+
}
|
|
93
|
+
/** A session as it may be rendered in a browser. Opaque, non-secret. */
|
|
94
|
+
export interface SessionDescriptor {
|
|
95
|
+
readonly sessionId: string;
|
|
96
|
+
readonly instanceId: string;
|
|
97
|
+
readonly topicOrTitle: string;
|
|
98
|
+
readonly state: "open" | "idle" | "closed";
|
|
99
|
+
/**
|
|
100
|
+
* ISO 8601 — `H2ASession.startedAt`, or `'unknown'` when it is missing or
|
|
101
|
+
* unparseable. Validated on read for the same reason `role` is: the contract
|
|
102
|
+
* types this field as ISO 8601, and a presence record written by any other
|
|
103
|
+
* path must not be able to put arbitrary text in an ISO-typed field.
|
|
104
|
+
*/
|
|
105
|
+
readonly openedAt: string;
|
|
106
|
+
/**
|
|
107
|
+
* ISO 8601, or `'unknown'` when neither source carries a parseable timestamp.
|
|
108
|
+
* See {@link SessionDescriptor.activitySource} for provenance.
|
|
109
|
+
*/
|
|
110
|
+
readonly lastActivityAt: string;
|
|
111
|
+
/**
|
|
112
|
+
* Ratification condition #2: discriminates proven MCP traffic
|
|
113
|
+
* (`lastMcpActivityAt`, WP-F) from a bare heartbeat fallback, so a consumer
|
|
114
|
+
* can NEVER present "process alive" as "proven channel activity" by
|
|
115
|
+
* omission. The gateway/UI MUST render `'heartbeat'` as advisory.
|
|
116
|
+
*/
|
|
117
|
+
readonly activitySource: "mcp" | "heartbeat";
|
|
118
|
+
/**
|
|
119
|
+
* Other parties' handles, opacified. Empty for P1 — and empty as an
|
|
120
|
+
* ESTABLISHED FACT, produced by the explicit branch in
|
|
121
|
+
* `counterpartsOpaqueRefsFor()` rather than by a literal default: per the
|
|
122
|
+
* contract's Gaps §2 no h2a structure records "who is this session in contact
|
|
123
|
+
* with", and negotiations are not mirrored yet (EVO-13 scopes
|
|
124
|
+
* `h2a_conflict_posture` out until they are). So `[]` here means "there is no
|
|
125
|
+
* counterpart source at all", never "we did not look". When a derivation lands, the raw `instance:` routing string is
|
|
126
|
+
* never emitted — the feed server opacifies it with a server-held,
|
|
127
|
+
* per-principal salt (ratification condition #1) that is stable within a
|
|
128
|
+
* principal but not enumerable or reversible into a routable bus address.
|
|
129
|
+
*/
|
|
130
|
+
readonly counterpartsOpaqueRefs: readonly string[];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The feed envelope (Part C). `asOf` is what makes staleness checkable by the
|
|
134
|
+
* consumer: the gateway/UI renders the `liveness`/`state` the feed computed and
|
|
135
|
+
* never re-derives liveness from wall-clock arithmetic of its own.
|
|
136
|
+
*/
|
|
137
|
+
export interface H2AFeedResponse {
|
|
138
|
+
/** ISO 8601 — the feed's own read timestamp. */
|
|
139
|
+
readonly asOf: string;
|
|
140
|
+
/**
|
|
141
|
+
* Empty means "we looked and this principal has nothing" — an established
|
|
142
|
+
* fact, never a default: the builders throw if a source was not read, so a
|
|
143
|
+
* broken presence read can never surface here as "no agents". A consumer may
|
|
144
|
+
* therefore trust an empty feed the same way it trusts a populated one.
|
|
145
|
+
*/
|
|
146
|
+
readonly instances: readonly InstanceDescriptor[];
|
|
147
|
+
/** Empty carries the same established-fact meaning as `instances`. */
|
|
148
|
+
readonly sessions: readonly SessionDescriptor[];
|
|
149
|
+
}
|
|
150
|
+
/** Input common to every builder. `asOf` is injected — never `Date.now()`. */
|
|
151
|
+
export interface BuildFeedInput {
|
|
152
|
+
/** The feed's read timestamp, in epoch ms. */
|
|
153
|
+
readonly asOf: number;
|
|
154
|
+
/**
|
|
155
|
+
* Presence records, e.g. from `listPresence(root)`. **Required to be an
|
|
156
|
+
* array**: an empty feed must mean "we looked and there is nothing", so a
|
|
157
|
+
* missing/failed read throws instead of rendering as "no agents".
|
|
158
|
+
*/
|
|
159
|
+
readonly sessions: readonly H2ASession[];
|
|
160
|
+
/**
|
|
161
|
+
* Registry rows, e.g. from `store.listInstances()`. **Required, and required
|
|
162
|
+
* to be an array**: a caller with no registry must pass `[]` DELIBERATELY,
|
|
163
|
+
* which is a claim ("I looked, the registry is empty"). Omitting it — or
|
|
164
|
+
* passing the result of a failed read — throws rather than quietly producing a
|
|
165
|
+
* feed that says the owner has no agents.
|
|
166
|
+
*/
|
|
167
|
+
readonly registrations: readonly H2AActorRegistration[];
|
|
168
|
+
/**
|
|
169
|
+
* The mirror push daemon's interval (ms). Only meaningful for MIRRORED rows:
|
|
170
|
+
* it is what makes `stale` computable (Part C). Absent → no row is `stale`.
|
|
171
|
+
*/
|
|
172
|
+
readonly pushIntervalMs?: number;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Session state per the contract's code block. Reuses h2a's existing
|
|
176
|
+
* primitives — the 90s keepalive window that already gates
|
|
177
|
+
* `h2a_discover_sessions`, and WP-F connection confidence. Nothing about
|
|
178
|
+
* freshness is reimplemented here.
|
|
179
|
+
*/
|
|
180
|
+
export declare function deriveSessionState(session: H2ASession, asOf: number): "open" | "idle" | "closed";
|
|
181
|
+
/**
|
|
182
|
+
* Liveness per the contract's code block. Same two primitives as
|
|
183
|
+
* {@link deriveSessionState}, plus the one distinction `state` does not need:
|
|
184
|
+
* `stale`.
|
|
185
|
+
*
|
|
186
|
+
* `stale` is the FEED PIPELINE's own freshness bleeding into a row, not an
|
|
187
|
+
* agent state. A directly-observed local session (no `mirroredAt`) is NEVER
|
|
188
|
+
* `stale` — the same-machine clock is trustworthy, so it goes straight to
|
|
189
|
+
* live/idle/closed. A replicated row is `stale` when the daemon that should
|
|
190
|
+
* keep refreshing it has gone quiet for more than 2x its push interval: at
|
|
191
|
+
* that point the numerically "fresh" `heartbeatAt`/`lastMcpActivityAt` carried
|
|
192
|
+
* in the record can no longer be trusted the way a live local read can, so the
|
|
193
|
+
* honest label is "we don't know", not "live".
|
|
194
|
+
*/
|
|
195
|
+
export declare function deriveLiveness(session: H2ASession, asOf: number, pushIntervalMs?: number): H2ALivenessState;
|
|
196
|
+
/**
|
|
197
|
+
* Roll several sessions' liveness up to their instance: best-of, per Part A
|
|
198
|
+
* ("Best-of across the instance's sessions"). An instance with no session at
|
|
199
|
+
* all reads `closed` — absence is not liveness.
|
|
200
|
+
*/
|
|
201
|
+
export declare function rollUpLiveness(states: readonly H2ALivenessState[]): H2ALivenessState;
|
|
202
|
+
export interface BuildSessionDescriptorOptions {
|
|
203
|
+
readonly asOf: number;
|
|
204
|
+
/** Registration owning this session, when known — used for name fallbacks. */
|
|
205
|
+
readonly registration?: H2AActorRegistration | undefined;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* One presence record → one `SessionDescriptor`.
|
|
209
|
+
*
|
|
210
|
+
* `lastActivityAt` prefers `lastMcpActivityAt` (WP-F: proof the MCP channel
|
|
211
|
+
* carried real traffic) and falls back to `heartbeatAt`. The fallback is
|
|
212
|
+
* advisory-only — a live process, not proven channel activity — which is why
|
|
213
|
+
* `activitySource` is baked into the descriptor rather than left to the
|
|
214
|
+
* consumer's inference (ratification condition #2).
|
|
215
|
+
*/
|
|
216
|
+
export declare function buildSessionDescriptor(session: H2ASession, options: BuildSessionDescriptorOptions): SessionDescriptor;
|
|
217
|
+
export interface BuildInstanceDescriptorOptions {
|
|
218
|
+
readonly asOf: number;
|
|
219
|
+
/** This instance's presence records; any order. */
|
|
220
|
+
readonly sessions: readonly H2ASession[];
|
|
221
|
+
readonly registration?: H2AActorRegistration | undefined;
|
|
222
|
+
readonly pushIntervalMs?: number | undefined;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* One instance (+ its sessions) → one `InstanceDescriptor`.
|
|
226
|
+
*
|
|
227
|
+
* `displayName` order per Part A: the registration's DEC-114 mutable name,
|
|
228
|
+
* then the most recent LIVE session's host-native name (WP-6), then the
|
|
229
|
+
* workspace label. `lastSeen` is the max heartbeat across the instance's
|
|
230
|
+
* sessions. `host` comes from the most recent session's host hint.
|
|
231
|
+
*
|
|
232
|
+
* Every chain below matches the contract's declared mapping exactly and adds no
|
|
233
|
+
* undeclared step: earlier revisions scanned ALL sessions for a label/host and
|
|
234
|
+
* fell back to `workspace.host` and to `registration.createdAt`, none of which
|
|
235
|
+
* the spec declares. Code and contract must not disagree, so those were removed
|
|
236
|
+
* rather than quietly kept.
|
|
237
|
+
*/
|
|
238
|
+
export declare function buildInstanceDescriptor(instanceId: string, options: BuildInstanceDescriptorOptions): InstanceDescriptor;
|
|
239
|
+
/**
|
|
240
|
+
* Presence + registry → `InstanceDescriptor[]`, **ordered by `lastSeen`
|
|
241
|
+
* descending** (most recently seen agent first). The order is part of the
|
|
242
|
+
* behaviour, not an accident of input order, and is pinned by a test — a
|
|
243
|
+
* documented behaviour that can be deleted with the suite still green is not a
|
|
244
|
+
* behaviour. Rows whose `lastSeen` is the sentinel sort last.
|
|
245
|
+
*/
|
|
246
|
+
export declare function buildInstanceDescriptors(input: BuildFeedInput): InstanceDescriptor[];
|
|
247
|
+
/**
|
|
248
|
+
* Presence + registry → `SessionDescriptor[]`, **ordered by `lastActivityAt`
|
|
249
|
+
* descending** (most recently active session first). Pinned by a test, for the
|
|
250
|
+
* same reason as {@link buildInstanceDescriptors}.
|
|
251
|
+
*/
|
|
252
|
+
export declare function buildSessionDescriptors(input: BuildFeedInput): SessionDescriptor[];
|
|
253
|
+
/**
|
|
254
|
+
* Presence + registry → the whole `H2AFeedResponse`.
|
|
255
|
+
*
|
|
256
|
+
* The caller decides WHICH sessions and registrations to hand in — this
|
|
257
|
+
* function never widens that set, and (per P1) principal scoping happens
|
|
258
|
+
* server-side before the call, never here.
|
|
259
|
+
*/
|
|
260
|
+
export declare function buildFeedResponse(input: BuildFeedInput): H2AFeedResponse;
|
|
261
|
+
//# sourceMappingURL=descriptors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"descriptors.d.ts","sourceRoot":"","sources":["../../../src/runtime/feed/descriptors.ts"],"names":[],"mappings":"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"}
|