@sentropic/h2a-cli 0.24.0 → 0.26.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 (78) hide show
  1. package/dist/bin.js +4 -1
  2. package/dist/bin.js.map +1 -1
  3. package/dist/cli-contract.d.ts.map +1 -1
  4. package/dist/cli-contract.js +33 -1
  5. package/dist/cli-contract.js.map +1 -1
  6. package/dist/cli.d.ts +16 -0
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +294 -16
  9. package/dist/cli.js.map +1 -1
  10. package/dist/hosts/plugin.d.ts +14 -2
  11. package/dist/hosts/plugin.d.ts.map +1 -1
  12. package/dist/hosts/plugin.js +23 -0
  13. package/dist/hosts/plugin.js.map +1 -1
  14. package/dist/index.d.ts +4 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/runtime/drive/index.d.ts +84 -0
  19. package/dist/runtime/drive/index.d.ts.map +1 -1
  20. package/dist/runtime/drive/index.js +325 -22
  21. package/dist/runtime/drive/index.js.map +1 -1
  22. package/dist/runtime/drumbeat/relaunchers.d.ts +5 -1
  23. package/dist/runtime/drumbeat/relaunchers.d.ts.map +1 -1
  24. package/dist/runtime/drumbeat/relaunchers.js +12 -6
  25. package/dist/runtime/drumbeat/relaunchers.js.map +1 -1
  26. package/dist/runtime/local-files/store.d.ts +14 -1
  27. package/dist/runtime/local-files/store.d.ts.map +1 -1
  28. package/dist/runtime/local-files/store.js +141 -1
  29. package/dist/runtime/local-files/store.js.map +1 -1
  30. package/dist/runtime/mcp-http/app.d.ts +12 -0
  31. package/dist/runtime/mcp-http/app.d.ts.map +1 -0
  32. package/dist/runtime/mcp-http/app.js +64 -0
  33. package/dist/runtime/mcp-http/app.js.map +1 -0
  34. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts +14 -0
  35. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +1 -0
  36. package/dist/runtime/mcp-http/hosted-mcp-server.js +38 -0
  37. package/dist/runtime/mcp-http/hosted-mcp-server.js.map +1 -0
  38. package/dist/runtime/mcp-http/index.d.ts +14 -0
  39. package/dist/runtime/mcp-http/index.d.ts.map +1 -0
  40. package/dist/runtime/mcp-http/index.js +14 -0
  41. package/dist/runtime/mcp-http/index.js.map +1 -0
  42. package/dist/runtime/mcp-http/main.d.ts +2 -0
  43. package/dist/runtime/mcp-http/main.d.ts.map +1 -0
  44. package/dist/runtime/mcp-http/main.js +14 -0
  45. package/dist/runtime/mcp-http/main.js.map +1 -0
  46. package/dist/runtime/mcp-http/oauth/config.d.ts +33 -0
  47. package/dist/runtime/mcp-http/oauth/config.d.ts.map +1 -0
  48. package/dist/runtime/mcp-http/oauth/config.js +31 -0
  49. package/dist/runtime/mcp-http/oauth/config.js.map +1 -0
  50. package/dist/runtime/mcp-http/oauth/crypto.d.ts +5 -0
  51. package/dist/runtime/mcp-http/oauth/crypto.d.ts.map +1 -0
  52. package/dist/runtime/mcp-http/oauth/crypto.js +19 -0
  53. package/dist/runtime/mcp-http/oauth/crypto.js.map +1 -0
  54. package/dist/runtime/mcp-http/oauth/file-store.d.ts +40 -0
  55. package/dist/runtime/mcp-http/oauth/file-store.d.ts.map +1 -0
  56. package/dist/runtime/mcp-http/oauth/file-store.js +101 -0
  57. package/dist/runtime/mcp-http/oauth/file-store.js.map +1 -0
  58. package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts +5 -0
  59. package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts.map +1 -0
  60. package/dist/runtime/mcp-http/oauth/hono-oauth-router.js +83 -0
  61. package/dist/runtime/mcp-http/oauth/hono-oauth-router.js.map +1 -0
  62. package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts +11 -0
  63. package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts.map +1 -0
  64. package/dist/runtime/mcp-http/oauth/redirect-uri.js +29 -0
  65. package/dist/runtime/mcp-http/oauth/redirect-uri.js.map +1 -0
  66. package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts +68 -0
  67. package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts.map +1 -0
  68. package/dist/runtime/mcp-http/oauth/single-tenant-provider.js +238 -0
  69. package/dist/runtime/mcp-http/oauth/single-tenant-provider.js.map +1 -0
  70. package/dist/runtime/mcp-http/readonly-allowlist.d.ts +24 -0
  71. package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +1 -0
  72. package/dist/runtime/mcp-http/readonly-allowlist.js +43 -0
  73. package/dist/runtime/mcp-http/readonly-allowlist.js.map +1 -0
  74. package/dist/runtime/mcp-http/serve.d.ts +30 -0
  75. package/dist/runtime/mcp-http/serve.d.ts.map +1 -0
  76. package/dist/runtime/mcp-http/serve.js +53 -0
  77. package/dist/runtime/mcp-http/serve.js.map +1 -0
  78. package/package.json +6 -2
@@ -1,6 +1,6 @@
1
1
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "node:fs";
2
2
  import { dirname, join } from "node:path";
3
- import { H2A_ARTIFACT_KINDS, H2A_AUTHORITY_MATRIX, H2A_DECLARATION_INTERET_BODY_KIND, appendJournalEntry, assertValidNegotiationState, canSignArtifactKind, computeHash, createJournalEntry, derivePostureConflit, isH2AEnvelope, isH2ADeclarationInteret, validateSubagentBinding, verifyCanonical, verifyJournalChain } from "@sentropic/h2a";
3
+ import { H2A_ARTIFACT_KINDS, H2A_AUTHORITY_MATRIX, H2A_DECLARATION_INTERET_BODY_KIND, appendJournalEntry, assertValidNegotiationState, canSignArtifactKind, computeHash, createJournalEntry, deriveDecisionDossier as deriveDecisionDossierCore, derivePostureConflit, derivePostureConfiance as derivePostureConfianceCore, evaluatePresenterBias, isH2AEnvelope, isH2ADeclarationInteret, validateSubagentBinding, verifyCanonical, verifyJournalChain } from "@sentropic/h2a";
4
4
  import { withLockSync } from "./locks.js";
5
5
  import { withLeaseSync } from "./lease.js";
6
6
  import { inboxDir, localStorePaths, negotiationDir, negotiationJournalFile, outboxDir, safePathSegment } from "./paths.js";
@@ -480,6 +480,111 @@ export function createLocalStore(options) {
480
480
  controleFlags
481
481
  }));
482
482
  }
483
+ function findInstanceBySubject(subject) {
484
+ return listInstances().find((entry) => entry.id === subject || entry.instance === subject);
485
+ }
486
+ function subjectScopesBySubject() {
487
+ const out = {};
488
+ for (const registration of listInstances()) {
489
+ const scopes = registration.scopes ?? [];
490
+ out[registration.id] = scopes;
491
+ out[registration.instance] = scopes;
492
+ }
493
+ return out;
494
+ }
495
+ function publicKeysBySubject() {
496
+ const out = {};
497
+ for (const registration of listInstances()) {
498
+ const keys = listInstanceKeys(registration.id);
499
+ out[registration.id] = keys;
500
+ out[registration.instance] = keys;
501
+ }
502
+ return out;
503
+ }
504
+ function deriveDecisionDossierFor(record, entries, artifact) {
505
+ const recordForDossier = artifact === undefined
506
+ ? record
507
+ : { ...record, currentArtifactHash: computeHash(artifact) };
508
+ return deriveDecisionDossierCore({
509
+ record: recordForDossier,
510
+ journal: entries,
511
+ subjectScopes: subjectScopesBySubject(),
512
+ controleFlags: collectControleFlags(entries)
513
+ });
514
+ }
515
+ function derivePostureConfianceFor(record, entries, artifact) {
516
+ return derivePostureConfianceCore({
517
+ record,
518
+ journal: entries,
519
+ dossier: deriveDecisionDossierFor(record, entries, artifact),
520
+ publicKeys: publicKeysBySubject(),
521
+ subjectScopes: subjectScopesBySubject(),
522
+ decisionScopes: collectDecisionScopes(record, entries, artifact)
523
+ });
524
+ }
525
+ function deriveDecisionDossier(negotiationId, options = {}) {
526
+ const record = readNegotiation(negotiationId);
527
+ if (!record) {
528
+ throw new Error(`Negotiation not found: ${negotiationId}`);
529
+ }
530
+ const entries = readNegotiationJournalUnlocked(negotiationId);
531
+ const declarations = collectDeclarations(entries);
532
+ const controleFlags = collectControleFlags(entries);
533
+ const subjectScopes = subjectScopesBySubject();
534
+ const dossier = deriveDecisionDossierCore({
535
+ record,
536
+ journal: entries,
537
+ subjectScopes,
538
+ controleFlags
539
+ });
540
+ const result = {
541
+ negotiationId,
542
+ dossier,
543
+ dossierHash: computeHash(dossier)
544
+ };
545
+ if (!options.presenter) {
546
+ return result;
547
+ }
548
+ const presenterRegistration = findInstanceBySubject(options.presenter);
549
+ const presenterBias = evaluatePresenterBias(options.presenter, {
550
+ declarations,
551
+ ownScopes: presenterRegistration?.scopes ?? [],
552
+ decisionScopes: collectDecisionScopes(record, entries),
553
+ signers: record.requiredSigners ?? [],
554
+ controleFlags
555
+ });
556
+ if (!presenterBias.biased || options.advisoryGate !== true) {
557
+ return { ...result, presenterBias };
558
+ }
559
+ const advisoryEvent = appendNegotiationEvent(negotiationId, {
560
+ id: options.eventId ?? `evt-presenterBias-${Date.now().toString(36)}`,
561
+ type: "escalate",
562
+ actor: { instance: "h2a-cli", role: "MANDATAIRE", scope: record.scope },
563
+ body: {
564
+ kind: "escalation",
565
+ channel: "alert",
566
+ payload: {
567
+ kind: "presenterBias",
568
+ subject: presenterBias.subject,
569
+ postureConflit: presenterBias.posture.postureConflit,
570
+ criteres: presenterBias.posture.criteres,
571
+ disclosureMode: presenterBias.posture.disclosureMode,
572
+ masqueImpactCollectif: presenterBias.posture.masqueImpactCollectif,
573
+ requiredBodyKind: H2A_DECLARATION_INTERET_BODY_KIND,
574
+ disposition: "route-escalate"
575
+ }
576
+ },
577
+ createdAt: new Date().toISOString()
578
+ });
579
+ return { ...result, presenterBias, advisoryEvent };
580
+ }
581
+ function derivePostureConfiance(negotiationId) {
582
+ const record = readNegotiation(negotiationId);
583
+ if (!record) {
584
+ throw new Error(`Negotiation not found: ${negotiationId}`);
585
+ }
586
+ return derivePostureConfianceFor(record, readNegotiationJournalUnlocked(negotiationId));
587
+ }
483
588
  function declareConflitInteret(negotiationId, declaration, options = {}) {
484
589
  if (!isH2ADeclarationInteret(declaration)) {
485
590
  throw new Error(`${H2A_DECLARATION_INTERET_BODY_KIND}: invalid declaration body`);
@@ -653,6 +758,39 @@ export function createLocalStore(options) {
653
758
  advisoryEvents.push(advisoryEvent);
654
759
  entriesForAppend = [...entriesForAppend, advisoryEvent];
655
760
  }
761
+ const postureConfiance = derivePostureConfianceFor(record, entriesForAppend, winningArtifact);
762
+ if (postureConfiance.postureConfiance !== "etablie") {
763
+ const previousAdvisory = entriesForAppend[entriesForAppend.length - 1];
764
+ const advisoryPayload = {
765
+ id: `evt-postureConfiance-${Date.now().toString(36)}`,
766
+ type: "escalate",
767
+ actor: { instance: "h2a-cli", role: "MANDATAIRE", scope: record.scope },
768
+ body: {
769
+ kind: "escalation",
770
+ channel: "alert",
771
+ payload: {
772
+ kind: "postureConfiance",
773
+ postureConfiance: postureConfiance.postureConfiance,
774
+ dossierHash: postureConfiance.dossierHash,
775
+ attentionAttested: postureConfiance.attentionAttested,
776
+ noUndisclosedCollectiveConflict: postureConfiance.noUndisclosedCollectiveConflict,
777
+ missingAttestations: postureConfiance.missingAttestations,
778
+ staleAttestations: postureConfiance.staleAttestations,
779
+ undisclosedConflicts: postureConfiance.undisclosedConflicts,
780
+ disclosedConflicts: postureConfiance.disclosedConflicts,
781
+ reasons: postureConfiance.reasons,
782
+ disposition: "advisory-only"
783
+ }
784
+ },
785
+ createdAt: new Date().toISOString()
786
+ };
787
+ const advisoryEvent = previousAdvisory
788
+ ? appendJournalEntry(previousAdvisory, advisoryPayload)
789
+ : createJournalEntry(advisoryPayload);
790
+ appendJsonl(journalFile, advisoryEvent);
791
+ advisoryEvents.push(advisoryEvent);
792
+ entriesForAppend = [...entriesForAppend, advisoryEvent];
793
+ }
656
794
  const previous = entriesForAppend[entriesForAppend.length - 1];
657
795
  const finalPayload = {
658
796
  id: options.eventId ?? `evt-stabilize-${Date.now().toString(36)}`,
@@ -807,6 +945,8 @@ export function createLocalStore(options) {
807
945
  readNegotiationJournal,
808
946
  declareConflitInteret,
809
947
  derivePosturesConflit,
948
+ deriveDecisionDossier,
949
+ derivePostureConfiance,
810
950
  stabilizeNegotiation,
811
951
  putInboxMessage,
812
952
  readInbox,
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Hono } from "hono";
2
+ import type { McpServer } from "../mcp/server.js";
3
+ import { type H2AHostedOAuthConfig } from "./oauth/config.js";
4
+ import type { SingleTenantOAuthProvider } from "./oauth/single-tenant-provider.js";
5
+ export interface HostedAppDeps {
6
+ oauthProvider: SingleTenantOAuthProvider;
7
+ oauthConfig: H2AHostedOAuthConfig;
8
+ /** The in-process h2a MCP dispatch (createMcpServer) — its read-only tools are exposed. */
9
+ h2aMcpServer: McpServer;
10
+ }
11
+ export declare function createHostedApp(deps: HostedAppDeps): Hono;
12
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp-http/app.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,yBAAyB,CAAC;IACzC,WAAW,EAAE,oBAAoB,CAAC;IAClC,2FAA2F;IAC3F,YAAY,EAAE,SAAS,CAAC;CACzB;AAMD,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAyDzD"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * EVO-12 hosted MCP HTTP app (Hono) — the self-AS OAuth surface + the
3
+ * bearer-gated Streamable-HTTP MCP endpoint, exposing only the read-only tools.
4
+ * `createHostedApp` is the testable core; the env-driven entrypoint is below.
5
+ */
6
+ import { randomUUID } from "node:crypto";
7
+ import { StreamableHTTPTransport } from "@hono/mcp";
8
+ import { bearerAuth } from "@hono/mcp/auth";
9
+ import { Hono } from "hono";
10
+ import { buildHostedMcpServer } from "./hosted-mcp-server.js";
11
+ import { H2A_HOSTED_OAUTH_SCOPE } from "./oauth/config.js";
12
+ import { buildOAuthRoutes } from "./oauth/hono-oauth-router.js";
13
+ export function createHostedApp(deps) {
14
+ const app = new Hono();
15
+ const wwwAuthenticateHeader = `Bearer error="Unauthorized", error_description="Unauthorized", resource_metadata="${deps.oauthConfig.resourceMetadataUrl}"`;
16
+ app.get("/healthz", (c) => c.json({ ok: true }));
17
+ app.get("/readyz", (c) => c.json({ ok: true }));
18
+ // OAuth AS + protected-resource metadata (unauthenticated) at the root.
19
+ app.route("/", buildOAuthRoutes(deps.oauthProvider, deps.oauthConfig));
20
+ // Bearer gate for /mcp: valid access token AND the read-only scope.
21
+ const requireAuth = bearerAuth({
22
+ verifyToken: async (token) => {
23
+ try {
24
+ const info = await deps.oauthProvider.verifyAccessToken(token);
25
+ return info.scopes.includes(H2A_HOSTED_OAUTH_SCOPE);
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ },
31
+ noAuthenticationHeader: { wwwAuthenticateHeader: () => wwwAuthenticateHeader },
32
+ invalidAuthenticationHeader: { wwwAuthenticateHeader: () => wwwAuthenticateHeader }
33
+ });
34
+ const sessions = new Map();
35
+ const mcpHandler = async (c) => {
36
+ const requestedSessionId = c.req.header("mcp-session-id");
37
+ let session = requestedSessionId ? sessions.get(requestedSessionId) : undefined;
38
+ if (!session) {
39
+ let created;
40
+ const transport = new StreamableHTTPTransport({
41
+ enableJsonResponse: true,
42
+ sessionIdGenerator: () => randomUUID(),
43
+ onsessioninitialized: (sessionId) => {
44
+ if (created)
45
+ sessions.set(sessionId, created);
46
+ },
47
+ onsessionclosed: (sessionId) => {
48
+ sessions.delete(sessionId);
49
+ }
50
+ });
51
+ created = { transport };
52
+ // One SDK server per session, exposing ONLY the read-only allowlist.
53
+ const server = buildHostedMcpServer(deps.h2aMcpServer);
54
+ await server.connect(transport);
55
+ session = created;
56
+ }
57
+ const res = await session.transport.handleRequest(c);
58
+ return res ?? c.body(null, 202);
59
+ };
60
+ // claude.ai connects at the resource-server URL (/mcp); only /mcp is bearer-gated.
61
+ app.all("/mcp", requireAuth, mcpHandler);
62
+ return app;
63
+ }
64
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/runtime/mcp-http/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * EVO-12 hosted MCP server — wraps the EXISTING in-process h2a tool dispatch
3
+ * (`McpServer.callTool`) behind an SDK `Server`, exposing ONLY the read-only
4
+ * allowlist. `dispatchHostedTool` refuses any non-allowlisted tool name
5
+ * (defense-in-depth: a signing/private-key tool is never reachable here, even
6
+ * if the wire asked for it).
7
+ */
8
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
+ import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
10
+ import type { McpServer } from "../mcp/server.js";
11
+ export declare function dispatchHostedTool(h2a: McpServer, name: string, args: Record<string, unknown> | undefined): CallToolResult;
12
+ /** SDK Server exposing only the read-only allowlist, dispatching to the h2a callTool. */
13
+ export declare function buildHostedMcpServer(h2a: McpServer): Server;
14
+ //# sourceMappingURL=hosted-mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-mcp-server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp-http/hosted-mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,oCAAoC,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACxC,cAAc,CAYhB;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAoB3D"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * EVO-12 hosted MCP server — wraps the EXISTING in-process h2a tool dispatch
3
+ * (`McpServer.callTool`) behind an SDK `Server`, exposing ONLY the read-only
4
+ * allowlist. `dispatchHostedTool` refuses any non-allowlisted tool name
5
+ * (defense-in-depth: a signing/private-key tool is never reachable here, even
6
+ * if the wire asked for it).
7
+ */
8
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
+ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
10
+ import { currentCliVersion } from "../upgrade/index.js";
11
+ import { H2A_CLI_MCP_TOOL_DESCRIPTORS } from "../mcp/tools.js";
12
+ import { hostedReadOnlyDescriptors, isHostedReadOnlyTool } from "./readonly-allowlist.js";
13
+ export function dispatchHostedTool(h2a, name, args) {
14
+ if (!isHostedReadOnlyTool(name)) {
15
+ return {
16
+ content: [{ type: "text", text: `tool '${name}' is not exposed on the hosted read-only surface` }],
17
+ isError: true
18
+ };
19
+ }
20
+ const result = h2a.callTool(name, args);
21
+ if (result && typeof result === "object" && "error" in result && typeof result.error === "string") {
22
+ return { content: [{ type: "text", text: result.error }], isError: true };
23
+ }
24
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
25
+ }
26
+ /** SDK Server exposing only the read-only allowlist, dispatching to the h2a callTool. */
27
+ export function buildHostedMcpServer(h2a) {
28
+ const server = new Server({ name: "h2a", version: currentCliVersion() }, { capabilities: { tools: { listChanged: true } } });
29
+ const announced = hostedReadOnlyDescriptors(H2A_CLI_MCP_TOOL_DESCRIPTORS).map((d) => ({
30
+ name: d.name,
31
+ description: d.description,
32
+ inputSchema: d.inputSchema
33
+ }));
34
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: announced }));
35
+ server.setRequestHandler(CallToolRequestSchema, async (req) => dispatchHostedTool(h2a, req.params.name, req.params.arguments ?? {}));
36
+ return server;
37
+ }
38
+ //# sourceMappingURL=hosted-mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-mcp-server.js","sourceRoot":"","sources":["../../../src/runtime/mcp-http/hosted-mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EAErB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,UAAU,kBAAkB,CAChC,GAAc,EACd,IAAY,EACZ,IAAyC;IAEzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,kDAAkD,EAAE,CAAC;YAClG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAAC,GAAc;IACjD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAC7C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CACnD,CAAC;IAEF,MAAM,SAAS,GAAG,yBAAyB,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,CAAC,CAAC,WAAsC;KACtD,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,iBAAiB,CACtB,qBAAqB,EACrB,KAAK,EAAE,GAAG,EAA2B,EAAE,CACrC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CACvE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * EVO-12 hosted MCP over HTTP + self-AS OAuth (mcp-wave pattern), exposing the
3
+ * h2a read-only tool surface for claude.ai enrollment. Core is dep-free; this
4
+ * lives in @sentropic/h2a-cli.
5
+ */
6
+ export { H2A_HOSTED_READONLY_TOOLS, hostedReadOnlyDescriptors, isHostedReadOnlyTool, toolTakesPrivateKey } from "./readonly-allowlist.js";
7
+ export { buildHostedMcpServer, dispatchHostedTool } from "./hosted-mcp-server.js";
8
+ export { createHostedApp, type HostedAppDeps } from "./app.js";
9
+ export { startHostedServer, buildHostedConfigFromEnv, type HostedEnv, type HostedConfig, type StartedHostedServer } from "./serve.js";
10
+ export { FileOAuthStore } from "./oauth/file-store.js";
11
+ export { SingleTenantOAuthProvider } from "./oauth/single-tenant-provider.js";
12
+ export { buildOAuthRoutes } from "./oauth/hono-oauth-router.js";
13
+ export { oauthConfigFromEnv, H2A_HOSTED_OAUTH_SCOPE, type H2AHostedOAuthConfig, type H2AHostedOAuthEnv } from "./oauth/config.js";
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp-http/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * EVO-12 hosted MCP over HTTP + self-AS OAuth (mcp-wave pattern), exposing the
3
+ * h2a read-only tool surface for claude.ai enrollment. Core is dep-free; this
4
+ * lives in @sentropic/h2a-cli.
5
+ */
6
+ export { H2A_HOSTED_READONLY_TOOLS, hostedReadOnlyDescriptors, isHostedReadOnlyTool, toolTakesPrivateKey } from "./readonly-allowlist.js";
7
+ export { buildHostedMcpServer, dispatchHostedTool } from "./hosted-mcp-server.js";
8
+ export { createHostedApp } from "./app.js";
9
+ export { startHostedServer, buildHostedConfigFromEnv } from "./serve.js";
10
+ export { FileOAuthStore } from "./oauth/file-store.js";
11
+ export { SingleTenantOAuthProvider } from "./oauth/single-tenant-provider.js";
12
+ export { buildOAuthRoutes } from "./oauth/hono-oauth-router.js";
13
+ export { oauthConfigFromEnv, H2A_HOSTED_OAUTH_SCOPE } from "./oauth/config.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/mcp-http/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAsB,MAAM,UAAU,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EAIzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAGvB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp-http/main.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * EVO-12 hosted MCP — runnable entrypoint (Docker CMD / `node dist/runtime/mcp-http/main.js`).
3
+ * Reads the deploy env and serves the OAuth-gated read-only MCP over HTTP.
4
+ */
5
+ import { startHostedServer } from "./serve.js";
6
+ startHostedServer()
7
+ .then((s) => {
8
+ process.stderr.write(`h2a hosted MCP (EVO-12) listening on :${s.port}\n`);
9
+ })
10
+ .catch((e) => {
11
+ process.stderr.write(`h2a hosted MCP failed to start: ${e instanceof Error ? e.message : String(e)}\n`);
12
+ process.exit(1);
13
+ });
14
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/runtime/mcp-http/main.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,iBAAiB,EAAE;KAChB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;IACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAC5E,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * EVO-12 hosted OAuth — runtime config (ported from mcp-wave; decoupled from
3
+ * the Wave env type — takes a plain input object so it is unit-testable).
4
+ *
5
+ * Scope is read-only (`h2a:read`) — the hosted surface exposes only read tools
6
+ * (DEC-116 key custody; see ../readonly-allowlist).
7
+ */
8
+ export declare const H2A_HOSTED_OAUTH_SCOPE = "h2a:read";
9
+ export interface H2AHostedOAuthEnv {
10
+ PUBLIC_BASE_URL: string;
11
+ OAUTH_ISSUER_URL: string;
12
+ OAUTH_CONSENT_SECRET?: string;
13
+ OAUTH_ALLOWED_REDIRECT_URIS: string;
14
+ OAUTH_ACCESS_TOKEN_TTL_SECONDS: number;
15
+ OAUTH_REFRESH_TOKEN_TTL_SECONDS: number;
16
+ OAUTH_AUTH_CODE_TTL_SECONDS: number;
17
+ NODE_ENV?: string;
18
+ }
19
+ export interface H2AHostedOAuthConfig {
20
+ issuerUrl: URL;
21
+ publicBaseUrl: URL;
22
+ resourceServerUrl: URL;
23
+ resourceMetadataUrl: string;
24
+ consentSecret: string;
25
+ allowedRedirectUris: readonly string[];
26
+ accessTokenTtlSeconds: number;
27
+ refreshTokenTtlSeconds: number;
28
+ authCodeTtlSeconds: number;
29
+ nodeEnv: string;
30
+ }
31
+ export declare function parseOAuthCsv(value: string): string[];
32
+ export declare function oauthConfigFromEnv(env: H2AHostedOAuthEnv): H2AHostedOAuthConfig;
33
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/runtime/mcp-http/oauth/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,8BAA8B,EAAE,MAAM,CAAC;IACvC,+BAA+B,EAAE,MAAM,CAAC;IACxC,2BAA2B,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,GAAG,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,oBAAoB,CAe/E"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * EVO-12 hosted OAuth — runtime config (ported from mcp-wave; decoupled from
3
+ * the Wave env type — takes a plain input object so it is unit-testable).
4
+ *
5
+ * Scope is read-only (`h2a:read`) — the hosted surface exposes only read tools
6
+ * (DEC-116 key custody; see ../readonly-allowlist).
7
+ */
8
+ export const H2A_HOSTED_OAUTH_SCOPE = "h2a:read";
9
+ export function parseOAuthCsv(value) {
10
+ return value
11
+ .split(",")
12
+ .map((item) => item.trim())
13
+ .filter((item) => item.length > 0);
14
+ }
15
+ export function oauthConfigFromEnv(env) {
16
+ const publicBaseUrl = new URL(env.PUBLIC_BASE_URL);
17
+ const issuerUrl = new URL(env.OAUTH_ISSUER_URL);
18
+ return {
19
+ issuerUrl,
20
+ publicBaseUrl,
21
+ resourceServerUrl: new URL("/mcp", publicBaseUrl),
22
+ resourceMetadataUrl: new URL("/.well-known/oauth-protected-resource/mcp", publicBaseUrl).href,
23
+ consentSecret: env.OAUTH_CONSENT_SECRET ?? "local-dev-consent",
24
+ allowedRedirectUris: parseOAuthCsv(env.OAUTH_ALLOWED_REDIRECT_URIS),
25
+ accessTokenTtlSeconds: env.OAUTH_ACCESS_TOKEN_TTL_SECONDS,
26
+ refreshTokenTtlSeconds: env.OAUTH_REFRESH_TOKEN_TTL_SECONDS,
27
+ authCodeTtlSeconds: env.OAUTH_AUTH_CODE_TTL_SECONDS,
28
+ nodeEnv: env.NODE_ENV ?? "development"
29
+ };
30
+ }
31
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/runtime/mcp-http/oauth/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AA0BjD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO;QACL,SAAS;QACT,aAAa;QACb,iBAAiB,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;QACjD,mBAAmB,EAAE,IAAI,GAAG,CAAC,2CAA2C,EAAE,aAAa,CAAC,CAAC,IAAI;QAC7F,aAAa,EAAE,GAAG,CAAC,oBAAoB,IAAI,mBAAmB;QAC9D,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC;QACnE,qBAAqB,EAAE,GAAG,CAAC,8BAA8B;QACzD,sBAAsB,EAAE,GAAG,CAAC,+BAA+B;QAC3D,kBAAkB,EAAE,GAAG,CAAC,2BAA2B;QACnD,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,aAAa;KACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function randomToken(byteLength?: number): string;
2
+ export declare function sha256Hex(value: string): string;
3
+ export declare function tokenHashPrefix(tokenHash: string): string;
4
+ export declare function timingSafeEqualString(a: string, b: string): boolean;
5
+ //# sourceMappingURL=crypto.d.ts.map