@sentropic/h2a-cli 0.74.0 → 0.78.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/dist/index.d.ts +1 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -40
- package/dist/index.js.map +1 -1
- package/package.json +4 -15
- package/dist/bin.d.ts +0 -3
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js +0 -83
- package/dist/bin.js.map +0 -1
- package/dist/cli-contract.d.ts +0 -62
- package/dist/cli-contract.d.ts.map +0 -1
- package/dist/cli-contract.js +0 -729
- package/dist/cli-contract.js.map +0 -1
- package/dist/cli.d.ts +0 -254
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -4530
- package/dist/cli.js.map +0 -1
- package/dist/hosts/agy.d.ts +0 -14
- package/dist/hosts/agy.d.ts.map +0 -1
- package/dist/hosts/agy.js +0 -47
- package/dist/hosts/agy.js.map +0 -1
- package/dist/hosts/claude.d.ts +0 -12
- package/dist/hosts/claude.d.ts.map +0 -1
- package/dist/hosts/claude.js +0 -46
- package/dist/hosts/claude.js.map +0 -1
- package/dist/hosts/codex.d.ts +0 -65
- package/dist/hosts/codex.d.ts.map +0 -1
- package/dist/hosts/codex.js +0 -45
- package/dist/hosts/codex.js.map +0 -1
- package/dist/hosts/gemini.d.ts +0 -12
- package/dist/hosts/gemini.d.ts.map +0 -1
- package/dist/hosts/gemini.js +0 -46
- package/dist/hosts/gemini.js.map +0 -1
- package/dist/hosts/plugin.d.ts +0 -151
- package/dist/hosts/plugin.d.ts.map +0 -1
- package/dist/hosts/plugin.js +0 -188
- package/dist/hosts/plugin.js.map +0 -1
- package/dist/mcp.d.ts +0 -2
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js +0 -32
- package/dist/mcp.js.map +0 -1
- package/dist/runtime/blockage/index.d.ts +0 -3
- package/dist/runtime/blockage/index.d.ts.map +0 -1
- package/dist/runtime/blockage/index.js +0 -3
- package/dist/runtime/blockage/index.js.map +0 -1
- package/dist/runtime/blockage/notifiers.d.ts +0 -52
- package/dist/runtime/blockage/notifiers.d.ts.map +0 -1
- package/dist/runtime/blockage/notifiers.js +0 -74
- package/dist/runtime/blockage/notifiers.js.map +0 -1
- package/dist/runtime/blockage/registry.d.ts +0 -30
- package/dist/runtime/blockage/registry.d.ts.map +0 -1
- package/dist/runtime/blockage/registry.js +0 -86
- package/dist/runtime/blockage/registry.js.map +0 -1
- package/dist/runtime/deploy/k8s-sidecar.d.ts +0 -92
- package/dist/runtime/deploy/k8s-sidecar.d.ts.map +0 -1
- package/dist/runtime/deploy/k8s-sidecar.js +0 -166
- package/dist/runtime/deploy/k8s-sidecar.js.map +0 -1
- package/dist/runtime/deploy/k8s-tenant.d.ts +0 -86
- package/dist/runtime/deploy/k8s-tenant.d.ts.map +0 -1
- package/dist/runtime/deploy/k8s-tenant.js +0 -255
- package/dist/runtime/deploy/k8s-tenant.js.map +0 -1
- package/dist/runtime/drive/inbox-wake.d.ts +0 -36
- package/dist/runtime/drive/inbox-wake.d.ts.map +0 -1
- package/dist/runtime/drive/inbox-wake.js +0 -50
- package/dist/runtime/drive/inbox-wake.js.map +0 -1
- package/dist/runtime/drive/index.d.ts +0 -173
- package/dist/runtime/drive/index.d.ts.map +0 -1
- package/dist/runtime/drive/index.js +0 -503
- package/dist/runtime/drive/index.js.map +0 -1
- package/dist/runtime/drumbeat/deciders.d.ts +0 -32
- package/dist/runtime/drumbeat/deciders.d.ts.map +0 -1
- package/dist/runtime/drumbeat/deciders.js +0 -65
- package/dist/runtime/drumbeat/deciders.js.map +0 -1
- package/dist/runtime/drumbeat/decisions.d.ts +0 -19
- package/dist/runtime/drumbeat/decisions.d.ts.map +0 -1
- package/dist/runtime/drumbeat/decisions.js +0 -34
- package/dist/runtime/drumbeat/decisions.js.map +0 -1
- package/dist/runtime/drumbeat/inbox-relance.d.ts +0 -29
- package/dist/runtime/drumbeat/inbox-relance.d.ts.map +0 -1
- package/dist/runtime/drumbeat/inbox-relance.js +0 -101
- package/dist/runtime/drumbeat/inbox-relance.js.map +0 -1
- package/dist/runtime/drumbeat/index.d.ts +0 -8
- package/dist/runtime/drumbeat/index.d.ts.map +0 -1
- package/dist/runtime/drumbeat/index.js +0 -8
- package/dist/runtime/drumbeat/index.js.map +0 -1
- package/dist/runtime/drumbeat/registry.d.ts +0 -60
- package/dist/runtime/drumbeat/registry.d.ts.map +0 -1
- package/dist/runtime/drumbeat/registry.js +0 -115
- package/dist/runtime/drumbeat/registry.js.map +0 -1
- package/dist/runtime/drumbeat/relaunchers.d.ts +0 -111
- package/dist/runtime/drumbeat/relaunchers.d.ts.map +0 -1
- package/dist/runtime/drumbeat/relaunchers.js +0 -242
- package/dist/runtime/drumbeat/relaunchers.js.map +0 -1
- package/dist/runtime/drumbeat/scan.d.ts +0 -36
- package/dist/runtime/drumbeat/scan.d.ts.map +0 -1
- package/dist/runtime/drumbeat/scan.js +0 -41
- package/dist/runtime/drumbeat/scan.js.map +0 -1
- package/dist/runtime/drumbeat/watch.d.ts +0 -74
- package/dist/runtime/drumbeat/watch.d.ts.map +0 -1
- package/dist/runtime/drumbeat/watch.js +0 -216
- package/dist/runtime/drumbeat/watch.js.map +0 -1
- package/dist/runtime/escalation/index.d.ts +0 -2
- package/dist/runtime/escalation/index.d.ts.map +0 -1
- package/dist/runtime/escalation/index.js +0 -2
- package/dist/runtime/escalation/index.js.map +0 -1
- package/dist/runtime/escalation/registry.d.ts +0 -44
- package/dist/runtime/escalation/registry.d.ts.map +0 -1
- package/dist/runtime/escalation/registry.js +0 -79
- package/dist/runtime/escalation/registry.js.map +0 -1
- package/dist/runtime/governance/claims.d.ts +0 -43
- package/dist/runtime/governance/claims.d.ts.map +0 -1
- package/dist/runtime/governance/claims.js +0 -93
- package/dist/runtime/governance/claims.js.map +0 -1
- package/dist/runtime/governance/conductor.d.ts +0 -79
- package/dist/runtime/governance/conductor.d.ts.map +0 -1
- package/dist/runtime/governance/conductor.js +0 -106
- package/dist/runtime/governance/conductor.js.map +0 -1
- package/dist/runtime/governance/index.d.ts +0 -5
- package/dist/runtime/governance/index.d.ts.map +0 -1
- package/dist/runtime/governance/index.js +0 -5
- package/dist/runtime/governance/index.js.map +0 -1
- package/dist/runtime/governance/launch-check.d.ts +0 -93
- package/dist/runtime/governance/launch-check.d.ts.map +0 -1
- package/dist/runtime/governance/launch-check.js +0 -113
- package/dist/runtime/governance/launch-check.js.map +0 -1
- package/dist/runtime/governance/spawns.d.ts +0 -50
- package/dist/runtime/governance/spawns.d.ts.map +0 -1
- package/dist/runtime/governance/spawns.js +0 -91
- package/dist/runtime/governance/spawns.js.map +0 -1
- package/dist/runtime/identity/bindings.d.ts +0 -84
- package/dist/runtime/identity/bindings.d.ts.map +0 -1
- package/dist/runtime/identity/bindings.js +0 -112
- package/dist/runtime/identity/bindings.js.map +0 -1
- package/dist/runtime/identity/index.d.ts +0 -11
- package/dist/runtime/identity/index.d.ts.map +0 -1
- package/dist/runtime/identity/index.js +0 -6
- package/dist/runtime/identity/index.js.map +0 -1
- package/dist/runtime/identity/live.d.ts +0 -26
- package/dist/runtime/identity/live.d.ts.map +0 -1
- package/dist/runtime/identity/live.js +0 -232
- package/dist/runtime/identity/live.js.map +0 -1
- package/dist/runtime/identity/migration.d.ts +0 -55
- package/dist/runtime/identity/migration.d.ts.map +0 -1
- package/dist/runtime/identity/migration.js +0 -100
- package/dist/runtime/identity/migration.js.map +0 -1
- package/dist/runtime/identity/readers.d.ts +0 -42
- package/dist/runtime/identity/readers.d.ts.map +0 -1
- package/dist/runtime/identity/readers.js +0 -248
- package/dist/runtime/identity/readers.js.map +0 -1
- package/dist/runtime/identity/resolver.d.ts +0 -50
- package/dist/runtime/identity/resolver.d.ts.map +0 -1
- package/dist/runtime/identity/resolver.js +0 -61
- package/dist/runtime/identity/resolver.js.map +0 -1
- package/dist/runtime/identity/workspace-id.d.ts +0 -43
- package/dist/runtime/identity/workspace-id.d.ts.map +0 -1
- package/dist/runtime/identity/workspace-id.js +0 -138
- package/dist/runtime/identity/workspace-id.js.map +0 -1
- package/dist/runtime/local-files/index.d.ts +0 -8
- package/dist/runtime/local-files/index.d.ts.map +0 -1
- package/dist/runtime/local-files/index.js +0 -8
- package/dist/runtime/local-files/index.js.map +0 -1
- package/dist/runtime/local-files/lease.d.ts +0 -62
- package/dist/runtime/local-files/lease.d.ts.map +0 -1
- package/dist/runtime/local-files/lease.js +0 -249
- package/dist/runtime/local-files/lease.js.map +0 -1
- package/dist/runtime/local-files/locks.d.ts +0 -43
- package/dist/runtime/local-files/locks.d.ts.map +0 -1
- package/dist/runtime/local-files/locks.js +0 -197
- package/dist/runtime/local-files/locks.js.map +0 -1
- package/dist/runtime/local-files/migrate.d.ts +0 -31
- package/dist/runtime/local-files/migrate.d.ts.map +0 -1
- package/dist/runtime/local-files/migrate.js +0 -104
- package/dist/runtime/local-files/migrate.js.map +0 -1
- package/dist/runtime/local-files/paths.d.ts +0 -146
- package/dist/runtime/local-files/paths.d.ts.map +0 -1
- package/dist/runtime/local-files/paths.js +0 -233
- package/dist/runtime/local-files/paths.js.map +0 -1
- package/dist/runtime/local-files/presence.d.ts +0 -80
- package/dist/runtime/local-files/presence.d.ts.map +0 -1
- package/dist/runtime/local-files/presence.js +0 -250
- package/dist/runtime/local-files/presence.js.map +0 -1
- package/dist/runtime/local-files/schema.d.ts +0 -47
- package/dist/runtime/local-files/schema.d.ts.map +0 -1
- package/dist/runtime/local-files/schema.js +0 -77
- package/dist/runtime/local-files/schema.js.map +0 -1
- package/dist/runtime/local-files/store.d.ts +0 -132
- package/dist/runtime/local-files/store.d.ts.map +0 -1
- package/dist/runtime/local-files/store.js +0 -997
- package/dist/runtime/local-files/store.js.map +0 -1
- package/dist/runtime/mcp/handlers.d.ts +0 -196
- package/dist/runtime/mcp/handlers.d.ts.map +0 -1
- package/dist/runtime/mcp/handlers.js +0 -1025
- package/dist/runtime/mcp/handlers.js.map +0 -1
- package/dist/runtime/mcp/index.d.ts +0 -7
- package/dist/runtime/mcp/index.d.ts.map +0 -1
- package/dist/runtime/mcp/index.js +0 -7
- package/dist/runtime/mcp/index.js.map +0 -1
- package/dist/runtime/mcp/notifications.d.ts +0 -47
- package/dist/runtime/mcp/notifications.d.ts.map +0 -1
- package/dist/runtime/mcp/notifications.js +0 -204
- package/dist/runtime/mcp/notifications.js.map +0 -1
- package/dist/runtime/mcp/server.d.ts +0 -45
- package/dist/runtime/mcp/server.d.ts.map +0 -1
- package/dist/runtime/mcp/server.js +0 -94
- package/dist/runtime/mcp/server.js.map +0 -1
- package/dist/runtime/mcp/sessions.d.ts +0 -68
- package/dist/runtime/mcp/sessions.d.ts.map +0 -1
- package/dist/runtime/mcp/sessions.js +0 -152
- package/dist/runtime/mcp/sessions.js.map +0 -1
- package/dist/runtime/mcp/stdio.d.ts +0 -72
- package/dist/runtime/mcp/stdio.d.ts.map +0 -1
- package/dist/runtime/mcp/stdio.js +0 -274
- package/dist/runtime/mcp/stdio.js.map +0 -1
- package/dist/runtime/mcp/tools.d.ts +0 -19
- package/dist/runtime/mcp/tools.d.ts.map +0 -1
- package/dist/runtime/mcp/tools.js +0 -525
- package/dist/runtime/mcp/tools.js.map +0 -1
- package/dist/runtime/mcp-http/app.d.ts +0 -33
- package/dist/runtime/mcp-http/app.d.ts.map +0 -1
- package/dist/runtime/mcp-http/app.js +0 -162
- package/dist/runtime/mcp-http/app.js.map +0 -1
- package/dist/runtime/mcp-http/hosted-mcp-server.d.ts +0 -14
- package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +0 -1
- package/dist/runtime/mcp-http/hosted-mcp-server.js +0 -38
- package/dist/runtime/mcp-http/hosted-mcp-server.js.map +0 -1
- package/dist/runtime/mcp-http/index.d.ts +0 -18
- package/dist/runtime/mcp-http/index.d.ts.map +0 -1
- package/dist/runtime/mcp-http/index.js +0 -18
- package/dist/runtime/mcp-http/index.js.map +0 -1
- package/dist/runtime/mcp-http/main.d.ts +0 -2
- package/dist/runtime/mcp-http/main.d.ts.map +0 -1
- package/dist/runtime/mcp-http/main.js +0 -14
- package/dist/runtime/mcp-http/main.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/broker-login.d.ts +0 -50
- package/dist/runtime/mcp-http/oauth/broker-login.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/broker-login.js +0 -41
- package/dist/runtime/mcp-http/oauth/broker-login.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/broker-routes.d.ts +0 -45
- package/dist/runtime/mcp-http/oauth/broker-routes.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/broker-routes.js +0 -54
- package/dist/runtime/mcp-http/oauth/broker-routes.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/config.d.ts +0 -49
- package/dist/runtime/mcp-http/oauth/config.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/config.js +0 -69
- package/dist/runtime/mcp-http/oauth/config.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/crypto.d.ts +0 -14
- package/dist/runtime/mcp-http/oauth/crypto.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/crypto.js +0 -29
- package/dist/runtime/mcp-http/oauth/crypto.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/file-store.d.ts +0 -48
- package/dist/runtime/mcp-http/oauth/file-store.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/file-store.js +0 -101
- package/dist/runtime/mcp-http/oauth/file-store.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts +0 -5
- package/dist/runtime/mcp-http/oauth/hono-oauth-router.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/hono-oauth-router.js +0 -92
- package/dist/runtime/mcp-http/oauth/hono-oauth-router.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/oidc-rp.d.ts +0 -56
- package/dist/runtime/mcp-http/oauth/oidc-rp.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/oidc-rp.js +0 -63
- package/dist/runtime/mcp-http/oauth/oidc-rp.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts +0 -11
- package/dist/runtime/mcp-http/oauth/redirect-uri.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/redirect-uri.js +0 -29
- package/dist/runtime/mcp-http/oauth/redirect-uri.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts +0 -70
- package/dist/runtime/mcp-http/oauth/single-tenant-provider.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/single-tenant-provider.js +0 -247
- package/dist/runtime/mcp-http/oauth/single-tenant-provider.js.map +0 -1
- package/dist/runtime/mcp-http/oauth/tenancy.d.ts +0 -3
- package/dist/runtime/mcp-http/oauth/tenancy.d.ts.map +0 -1
- package/dist/runtime/mcp-http/oauth/tenancy.js +0 -18
- package/dist/runtime/mcp-http/oauth/tenancy.js.map +0 -1
- package/dist/runtime/mcp-http/readonly-allowlist.d.ts +0 -24
- package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +0 -1
- package/dist/runtime/mcp-http/readonly-allowlist.js +0 -43
- package/dist/runtime/mcp-http/readonly-allowlist.js.map +0 -1
- package/dist/runtime/mcp-http/serve.d.ts +0 -39
- package/dist/runtime/mcp-http/serve.d.ts.map +0 -1
- package/dist/runtime/mcp-http/serve.js +0 -100
- package/dist/runtime/mcp-http/serve.js.map +0 -1
- package/dist/runtime/mirror/accept.d.ts +0 -57
- package/dist/runtime/mirror/accept.d.ts.map +0 -1
- package/dist/runtime/mirror/accept.js +0 -70
- package/dist/runtime/mirror/accept.js.map +0 -1
- package/dist/runtime/mirror/build.d.ts +0 -44
- package/dist/runtime/mirror/build.d.ts.map +0 -1
- package/dist/runtime/mirror/build.js +0 -37
- package/dist/runtime/mirror/build.js.map +0 -1
- package/dist/runtime/mirror/index.d.ts +0 -9
- package/dist/runtime/mirror/index.d.ts.map +0 -1
- package/dist/runtime/mirror/index.js +0 -9
- package/dist/runtime/mirror/index.js.map +0 -1
- package/dist/runtime/mirror/serve.d.ts +0 -21
- package/dist/runtime/mirror/serve.d.ts.map +0 -1
- package/dist/runtime/mirror/serve.js +0 -141
- package/dist/runtime/mirror/serve.js.map +0 -1
- package/dist/runtime/nhi.d.ts +0 -15
- package/dist/runtime/nhi.d.ts.map +0 -1
- package/dist/runtime/nhi.js +0 -26
- package/dist/runtime/nhi.js.map +0 -1
- package/dist/runtime/remote/accept.d.ts +0 -50
- package/dist/runtime/remote/accept.d.ts.map +0 -1
- package/dist/runtime/remote/accept.js +0 -54
- package/dist/runtime/remote/accept.js.map +0 -1
- package/dist/runtime/remote/client.d.ts +0 -27
- package/dist/runtime/remote/client.d.ts.map +0 -1
- package/dist/runtime/remote/client.js +0 -34
- package/dist/runtime/remote/client.js.map +0 -1
- package/dist/runtime/remote/index.d.ts +0 -5
- package/dist/runtime/remote/index.d.ts.map +0 -1
- package/dist/runtime/remote/index.js +0 -5
- package/dist/runtime/remote/index.js.map +0 -1
- package/dist/runtime/remote/serve.d.ts +0 -27
- package/dist/runtime/remote/serve.d.ts.map +0 -1
- package/dist/runtime/remote/serve.js +0 -26
- package/dist/runtime/remote/serve.js.map +0 -1
- package/dist/runtime/remote/server.d.ts +0 -36
- package/dist/runtime/remote/server.d.ts.map +0 -1
- package/dist/runtime/remote/server.js +0 -100
- package/dist/runtime/remote/server.js.map +0 -1
- package/dist/runtime/sysml/client.d.ts +0 -44
- package/dist/runtime/sysml/client.d.ts.map +0 -1
- package/dist/runtime/sysml/client.js +0 -52
- package/dist/runtime/sysml/client.js.map +0 -1
- package/dist/runtime/sysml/disclosure.d.ts +0 -23
- package/dist/runtime/sysml/disclosure.d.ts.map +0 -1
- package/dist/runtime/sysml/disclosure.js +0 -53
- package/dist/runtime/sysml/disclosure.js.map +0 -1
- package/dist/runtime/sysml/index.d.ts +0 -4
- package/dist/runtime/sysml/index.d.ts.map +0 -1
- package/dist/runtime/sysml/index.js +0 -4
- package/dist/runtime/sysml/index.js.map +0 -1
- package/dist/runtime/sysml/verify.d.ts +0 -32
- package/dist/runtime/sysml/verify.d.ts.map +0 -1
- package/dist/runtime/sysml/verify.js +0 -67
- package/dist/runtime/sysml/verify.js.map +0 -1
- package/dist/runtime/upgrade/index.d.ts +0 -96
- package/dist/runtime/upgrade/index.d.ts.map +0 -1
- package/dist/runtime/upgrade/index.js +0 -185
- package/dist/runtime/upgrade/index.js.map +0 -1
- package/dist/runtime/version/agent-version.d.ts +0 -15
- package/dist/runtime/version/agent-version.d.ts.map +0 -1
- package/dist/runtime/version/agent-version.js +0 -53
- package/dist/runtime/version/agent-version.js.map +0 -1
- package/skills/h2a/SKILL.md +0 -345
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/runtime/mcp/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { createMcpServer, type CreateMcpServerOptions, type McpServer } from "./server.js";
|
|
2
|
-
export { H2A_CLI_MCP_TOOL_DESCRIPTORS, type McpToolDescriptor, type McpToolName } from "./tools.js";
|
|
3
|
-
export { type McpErrorResult, type McpToolResult } from "./handlers.js";
|
|
4
|
-
export { runMcpStdio, type RunMcpStdioOptions } from "./stdio.js";
|
|
5
|
-
export { SessionRegistry, type OpenSessionRequest, type SessionRegistryOptions } from "./sessions.js";
|
|
6
|
-
export { NotificationDispatcher, type McpPushNotification, type NotificationSink } from "./notifications.js";
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { createMcpServer } from "./server.js";
|
|
2
|
-
export { H2A_CLI_MCP_TOOL_DESCRIPTORS } from "./tools.js";
|
|
3
|
-
export {} from "./handlers.js";
|
|
4
|
-
export { runMcpStdio } from "./stdio.js";
|
|
5
|
-
export { SessionRegistry } from "./sessions.js";
|
|
6
|
-
export { NotificationDispatcher } from "./notifications.js";
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAG7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAA2B,MAAM,YAAY,CAAC;AAElE,OAAO,EACL,eAAe,EAGhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { type H2ASessionNotificationTopic } from "@sentropic/h2a";
|
|
2
|
-
import type { LocalStore } from "../local-files/store.js";
|
|
3
|
-
import type { SessionRegistry } from "./sessions.js";
|
|
4
|
-
/** JSON-RPC notification (no id, no response) emitted on push. */
|
|
5
|
-
export interface McpPushNotification {
|
|
6
|
-
jsonrpc: "2.0";
|
|
7
|
-
method: "notifications/h2a";
|
|
8
|
-
params: {
|
|
9
|
-
topic: H2ASessionNotificationTopic;
|
|
10
|
-
sessionId: string;
|
|
11
|
-
data: Record<string, unknown>;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export type NotificationSink = (notification: McpPushNotification) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Owns the per-session diff snapshots and the periodic scan that turns
|
|
17
|
-
* filesystem changes into pushed JSON-RPC notifications. One dispatcher per
|
|
18
|
-
* `mcp-serve` process; the SessionRegistry tells it which sessions to follow
|
|
19
|
-
* and the LocalStore provides the read side.
|
|
20
|
-
*/
|
|
21
|
-
export declare class NotificationDispatcher {
|
|
22
|
-
private readonly registry;
|
|
23
|
-
private readonly store;
|
|
24
|
-
private readonly root;
|
|
25
|
-
private sink;
|
|
26
|
-
private readonly intervalMs;
|
|
27
|
-
private readonly snapshots;
|
|
28
|
-
private timer?;
|
|
29
|
-
constructor(registry: SessionRegistry, store: LocalStore, root: string, sink: NotificationSink | undefined, intervalMs: number);
|
|
30
|
-
setSink(sink: NotificationSink | undefined): void;
|
|
31
|
-
/**
|
|
32
|
-
* EVO-1 wake hook (bug #3): invoked once per tick, per own session that saw
|
|
33
|
-
* new inbox envelopes. mcp-serve wires this to the inbox-wake handler so an
|
|
34
|
-
* idle host is woken on arrival. Non-breaking (optional).
|
|
35
|
-
*/
|
|
36
|
-
private onInboxArrival?;
|
|
37
|
-
setOnInboxArrival(cb: ((instance: string) => void) | undefined): void;
|
|
38
|
-
start(): void;
|
|
39
|
-
stop(): void;
|
|
40
|
-
/**
|
|
41
|
-
* Compute and emit one round of diffs. Pulled into a public method so
|
|
42
|
-
* tests can drive the dispatch deterministically without a timer.
|
|
43
|
-
*/
|
|
44
|
-
tick(): void;
|
|
45
|
-
private push;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=notifications.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE;QACN,KAAK,EAAE,2BAA2B,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAsD3E;;;;;GAKG;AACH,qBAAa,sBAAsB;IAK/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,KAAK,CAAC,CAAiC;gBAG5B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACrB,IAAI,EAAE,gBAAgB,GAAG,SAAS,EACzB,UAAU,EAAE,MAAM;IAGrC,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAIjD;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI;IAIrE,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAMZ;;;OAGG;IACH,IAAI,IAAI,IAAI;IA6HZ,OAAO,CAAC,IAAI;CAab"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { H2A_SESSION_NOTIFICATION_TOPICS, isActiveBlockage } from "@sentropic/h2a";
|
|
2
|
-
import { listBlockages } from "../blockage/registry.js";
|
|
3
|
-
function isInterestedIn(session, topic) {
|
|
4
|
-
return session.subscribedTopics.includes(topic);
|
|
5
|
-
}
|
|
6
|
-
function readInboxIds(store, instance) {
|
|
7
|
-
try {
|
|
8
|
-
return store.readInbox(instance).map((envelope) => envelope.id);
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function readJournalLength(store, negotiationId) {
|
|
15
|
-
try {
|
|
16
|
-
return store.readNegotiationJournal(negotiationId).length;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return 0;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function emptyDiffState() {
|
|
23
|
-
return {
|
|
24
|
-
peers: new Set(),
|
|
25
|
-
inbox: { envelopeIds: new Set() },
|
|
26
|
-
negotiations: new Map(),
|
|
27
|
-
blocked: new Set()
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Owns the per-session diff snapshots and the periodic scan that turns
|
|
32
|
-
* filesystem changes into pushed JSON-RPC notifications. One dispatcher per
|
|
33
|
-
* `mcp-serve` process; the SessionRegistry tells it which sessions to follow
|
|
34
|
-
* and the LocalStore provides the read side.
|
|
35
|
-
*/
|
|
36
|
-
export class NotificationDispatcher {
|
|
37
|
-
registry;
|
|
38
|
-
store;
|
|
39
|
-
root;
|
|
40
|
-
sink;
|
|
41
|
-
intervalMs;
|
|
42
|
-
snapshots = new Map();
|
|
43
|
-
timer;
|
|
44
|
-
constructor(registry, store, root, sink, intervalMs) {
|
|
45
|
-
this.registry = registry;
|
|
46
|
-
this.store = store;
|
|
47
|
-
this.root = root;
|
|
48
|
-
this.sink = sink;
|
|
49
|
-
this.intervalMs = intervalMs;
|
|
50
|
-
}
|
|
51
|
-
setSink(sink) {
|
|
52
|
-
this.sink = sink;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* EVO-1 wake hook (bug #3): invoked once per tick, per own session that saw
|
|
56
|
-
* new inbox envelopes. mcp-serve wires this to the inbox-wake handler so an
|
|
57
|
-
* idle host is woken on arrival. Non-breaking (optional).
|
|
58
|
-
*/
|
|
59
|
-
onInboxArrival;
|
|
60
|
-
setOnInboxArrival(cb) {
|
|
61
|
-
this.onInboxArrival = cb;
|
|
62
|
-
}
|
|
63
|
-
start() {
|
|
64
|
-
if (this.timer)
|
|
65
|
-
return;
|
|
66
|
-
this.timer = setInterval(() => this.tick(), this.intervalMs);
|
|
67
|
-
this.timer.unref?.();
|
|
68
|
-
}
|
|
69
|
-
stop() {
|
|
70
|
-
if (!this.timer)
|
|
71
|
-
return;
|
|
72
|
-
clearInterval(this.timer);
|
|
73
|
-
this.timer = undefined;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Compute and emit one round of diffs. Pulled into a public method so
|
|
77
|
-
* tests can drive the dispatch deterministically without a timer.
|
|
78
|
-
*/
|
|
79
|
-
tick() {
|
|
80
|
-
if (!this.sink)
|
|
81
|
-
return;
|
|
82
|
-
const ownSessions = this.registry.list();
|
|
83
|
-
if (ownSessions.length === 0)
|
|
84
|
-
return;
|
|
85
|
-
// Peer set: everyone in presence files, fresh according to the
|
|
86
|
-
// registry's TTL (so test configurations with short expiry behave
|
|
87
|
-
// correctly), regardless of which process wrote the file.
|
|
88
|
-
const freshPeers = this.registry.scanFresh();
|
|
89
|
-
const peerIds = new Set(freshPeers.map((s) => s.sessionId));
|
|
90
|
-
// Active blockages, computed once per tick (EVO-3, DEC-092). Per session we
|
|
91
|
-
// filter to its scopes and exclude its own blockage.
|
|
92
|
-
const activeBlockages = listBlockages(this.root).filter(isActiveBlockage);
|
|
93
|
-
for (const session of ownSessions) {
|
|
94
|
-
const prev = this.snapshots.get(session.sessionId) ?? emptyDiffState();
|
|
95
|
-
// 1. Presence join/leave (excluding self)
|
|
96
|
-
const others = new Set([...peerIds].filter((sid) => sid !== session.sessionId));
|
|
97
|
-
if (isInterestedIn(session, "presence.peer_joined")) {
|
|
98
|
-
for (const sid of others) {
|
|
99
|
-
if (!prev.peers.has(sid)) {
|
|
100
|
-
const peer = freshPeers.find((p) => p.sessionId === sid);
|
|
101
|
-
if (peer) {
|
|
102
|
-
this.push(session.sessionId, "presence.peer_joined", {
|
|
103
|
-
peer: {
|
|
104
|
-
sessionId: peer.sessionId,
|
|
105
|
-
instance: peer.instance,
|
|
106
|
-
host: peer.host,
|
|
107
|
-
interests: peer.interests
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (isInterestedIn(session, "presence.peer_left")) {
|
|
115
|
-
for (const sid of prev.peers) {
|
|
116
|
-
if (!others.has(sid)) {
|
|
117
|
-
this.push(session.sessionId, "presence.peer_left", {
|
|
118
|
-
peer: { sessionId: sid }
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
// 2. Inbox arrivals
|
|
124
|
-
const inboxIds = isInterestedIn(session, "inbox.envelope_arrived")
|
|
125
|
-
? readInboxIds(this.store, session.instance)
|
|
126
|
-
: [];
|
|
127
|
-
if (isInterestedIn(session, "inbox.envelope_arrived")) {
|
|
128
|
-
for (const envelopeId of inboxIds) {
|
|
129
|
-
if (!prev.inbox.envelopeIds.has(envelopeId)) {
|
|
130
|
-
this.push(session.sessionId, "inbox.envelope_arrived", {
|
|
131
|
-
instance: session.instance,
|
|
132
|
-
envelopeId
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
// EVO-1 wake (bug #3): nudge the host every tick while the inbox is
|
|
137
|
-
// NON-EMPTY (not just on a fresh arrival). The inbox-wake handler dedups
|
|
138
|
-
// via its own `seen`, so this is a no-op once a wake has landed — but it
|
|
139
|
-
// is what RETRIES a wake that was DEFERRED (driver returned false because
|
|
140
|
-
// a human was typing in the pane) until it can land without clobbering.
|
|
141
|
-
if (inboxIds.length > 0)
|
|
142
|
-
this.onInboxArrival?.(session.instance);
|
|
143
|
-
}
|
|
144
|
-
// 3. Negotiation event arrivals (only on negotiations the session follows)
|
|
145
|
-
const negotiationSnap = new Map();
|
|
146
|
-
if (isInterestedIn(session, "negotiation.event_appended")) {
|
|
147
|
-
for (const negotiationId of session.interests.negotiations) {
|
|
148
|
-
const count = readJournalLength(this.store, negotiationId);
|
|
149
|
-
const prevCount = prev.negotiations.get(negotiationId)?.count ?? 0;
|
|
150
|
-
if (count > prevCount) {
|
|
151
|
-
this.push(session.sessionId, "negotiation.event_appended", {
|
|
152
|
-
negotiationId,
|
|
153
|
-
newEntries: count - prevCount,
|
|
154
|
-
totalEntries: count
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
negotiationSnap.set(negotiationId, { count });
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
// 4. Peer blockages in this session's scope (EVO-3). Notify of a peer's
|
|
161
|
-
// active blockage (peer.blocked) and of its clearing (peer.unblocked).
|
|
162
|
-
const inScope = activeBlockages.filter((b) => b.instance !== session.instance &&
|
|
163
|
-
session.interests.scopes.includes(b.scope));
|
|
164
|
-
const blockedNow = new Set(inScope.map((b) => b.instance));
|
|
165
|
-
if (isInterestedIn(session, "peer.blocked")) {
|
|
166
|
-
for (const b of inScope) {
|
|
167
|
-
if (!prev.blocked.has(b.instance)) {
|
|
168
|
-
this.push(session.sessionId, "peer.blocked", {
|
|
169
|
-
instance: b.instance,
|
|
170
|
-
scope: b.scope,
|
|
171
|
-
reason: b.reason,
|
|
172
|
-
...(b.needs ? { needs: b.needs } : {})
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
if (isInterestedIn(session, "peer.unblocked")) {
|
|
178
|
-
for (const instance of prev.blocked) {
|
|
179
|
-
if (!blockedNow.has(instance)) {
|
|
180
|
-
this.push(session.sessionId, "peer.unblocked", { instance });
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
this.snapshots.set(session.sessionId, {
|
|
185
|
-
peers: others,
|
|
186
|
-
inbox: { envelopeIds: new Set(inboxIds) },
|
|
187
|
-
negotiations: negotiationSnap,
|
|
188
|
-
blocked: blockedNow
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
push(sessionId, topic, data) {
|
|
193
|
-
if (!this.sink)
|
|
194
|
-
return;
|
|
195
|
-
if (!H2A_SESSION_NOTIFICATION_TOPICS.includes(topic))
|
|
196
|
-
return;
|
|
197
|
-
this.sink({
|
|
198
|
-
jsonrpc: "2.0",
|
|
199
|
-
method: "notifications/h2a",
|
|
200
|
-
params: { topic, sessionId, data }
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=notifications.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../src/runtime/mcp/notifications.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { type LocalStore } from "../local-files/store.js";
|
|
2
|
-
import { type McpErrorResult, type McpToolResult } from "./handlers.js";
|
|
3
|
-
import { NotificationDispatcher, type NotificationSink } from "./notifications.js";
|
|
4
|
-
import { SessionRegistry, type SessionRegistryOptions } from "./sessions.js";
|
|
5
|
-
import { type McpToolDescriptor } from "./tools.js";
|
|
6
|
-
export interface CreateMcpServerOptions {
|
|
7
|
-
/** Filesystem root for the backing local-files store. */
|
|
8
|
-
root: string;
|
|
9
|
-
/**
|
|
10
|
-
* Optional pre-built store. If omitted, the server creates one with
|
|
11
|
-
* `createLocalStore({ root })`. Useful for tests that want to share state
|
|
12
|
-
* with the CLI.
|
|
13
|
-
*/
|
|
14
|
-
store?: LocalStore;
|
|
15
|
-
/**
|
|
16
|
-
* Optional SessionRegistry overrides. Disabled `autoHeartbeat` is the
|
|
17
|
-
* sane default for in-process tests; the stdio transport enables it.
|
|
18
|
-
*/
|
|
19
|
-
sessions?: SessionRegistryOptions;
|
|
20
|
-
/**
|
|
21
|
-
* Optional NotificationDispatcher overrides. The stdio transport installs
|
|
22
|
-
* the sink; tests can drive `dispatcher.tick()` manually.
|
|
23
|
-
*/
|
|
24
|
-
notifications?: {
|
|
25
|
-
intervalMs?: number;
|
|
26
|
-
sink?: NotificationSink;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export interface McpServer {
|
|
30
|
-
listTools(): McpToolDescriptor[];
|
|
31
|
-
callTool(name: string, args: Record<string, unknown> | undefined): McpToolResult | McpErrorResult;
|
|
32
|
-
/** Per-server SessionRegistry, exposed for transport-layer shutdown hooks. */
|
|
33
|
-
readonly sessions: SessionRegistry;
|
|
34
|
-
/** Per-server NotificationDispatcher (DEC-052). */
|
|
35
|
-
readonly notifications: NotificationDispatcher;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Build an in-process MCP server backed by the local-files runtime.
|
|
39
|
-
*
|
|
40
|
-
* This is intentionally NOT a JSON-RPC / stdio transport. It exposes a
|
|
41
|
-
* minimal `{ listTools, callTool }` surface so the same dispatch can be
|
|
42
|
-
* unit-tested today and wrapped in a real MCP transport in a later slice.
|
|
43
|
-
*/
|
|
44
|
-
export declare function createMcpServer(options: CreateMcpServerOptions): McpServer;
|
|
45
|
-
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EA8BL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;IAClG,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CA0F1E"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { createLocalStore } from "../local-files/store.js";
|
|
2
|
-
import { handleAppendJournal, handleAttestComprehension, handleBlockageList, handleBlockageRaise, handleBlockageResolve, handleConflictPosture, handleConductor, handleConductorClaim, handleConductorRelease, handleConductorLaunchCheck, handleConductorLaunch, handleCounteroffer, handleDeclareConflitInteret, handleDiscoverInstances, handleDiscoverSessions, handleEscalate, handleInbox, handleNhiAttest, handleNhiExport, handleNhiInventory, handleNhiOffboard, handleNhiReport, handleOffer, handleOpenNegotiation, handleRegisterInstance, handleSessionClose, handleSessionOpen, handleSign, handleStabilize } from "./handlers.js";
|
|
3
|
-
import { NotificationDispatcher } from "./notifications.js";
|
|
4
|
-
import { SessionRegistry } from "./sessions.js";
|
|
5
|
-
import { H2A_CLI_MCP_TOOL_DESCRIPTORS } from "./tools.js";
|
|
6
|
-
import { H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS } from "@sentropic/h2a";
|
|
7
|
-
/**
|
|
8
|
-
* Build an in-process MCP server backed by the local-files runtime.
|
|
9
|
-
*
|
|
10
|
-
* This is intentionally NOT a JSON-RPC / stdio transport. It exposes a
|
|
11
|
-
* minimal `{ listTools, callTool }` surface so the same dispatch can be
|
|
12
|
-
* unit-tested today and wrapped in a real MCP transport in a later slice.
|
|
13
|
-
*/
|
|
14
|
-
export function createMcpServer(options) {
|
|
15
|
-
const store = options.store ?? createLocalStore({ root: options.root });
|
|
16
|
-
const sessions = new SessionRegistry(options.root, {
|
|
17
|
-
autoHeartbeat: false,
|
|
18
|
-
...(options.sessions ?? {})
|
|
19
|
-
});
|
|
20
|
-
const notifications = new NotificationDispatcher(sessions, store, options.root, options.notifications?.sink, options.notifications?.intervalMs ??
|
|
21
|
-
H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS);
|
|
22
|
-
function callTool(name, args) {
|
|
23
|
-
const toolName = name;
|
|
24
|
-
switch (toolName) {
|
|
25
|
-
case "h2a_register_instance":
|
|
26
|
-
return handleRegisterInstance(store, args);
|
|
27
|
-
case "h2a_discover_instances":
|
|
28
|
-
return handleDiscoverInstances(store, args);
|
|
29
|
-
case "h2a_inbox":
|
|
30
|
-
return handleInbox(store, args);
|
|
31
|
-
case "h2a_append_journal":
|
|
32
|
-
return handleAppendJournal(store, args);
|
|
33
|
-
case "h2a_open_negotiation":
|
|
34
|
-
return handleOpenNegotiation(store, args);
|
|
35
|
-
case "h2a_offer":
|
|
36
|
-
return handleOffer(store, args);
|
|
37
|
-
case "h2a_counteroffer":
|
|
38
|
-
return handleCounteroffer(store, args);
|
|
39
|
-
case "h2a_sign":
|
|
40
|
-
return handleSign(store, args);
|
|
41
|
-
case "h2a_stabilize":
|
|
42
|
-
return handleStabilize(store, args);
|
|
43
|
-
case "h2a_attest_comprehension":
|
|
44
|
-
return handleAttestComprehension(store, args);
|
|
45
|
-
case "h2a_declare_conflit_interet":
|
|
46
|
-
return handleDeclareConflitInteret(store, args);
|
|
47
|
-
case "h2a_conflict_posture":
|
|
48
|
-
return handleConflictPosture(store, args);
|
|
49
|
-
case "h2a_escalate":
|
|
50
|
-
return handleEscalate(store, args);
|
|
51
|
-
case "h2a_session_open":
|
|
52
|
-
return handleSessionOpen(sessions, args);
|
|
53
|
-
case "h2a_session_close":
|
|
54
|
-
return handleSessionClose(sessions, args);
|
|
55
|
-
case "h2a_discover_sessions":
|
|
56
|
-
return handleDiscoverSessions(sessions, args);
|
|
57
|
-
case "h2a_nhi_report":
|
|
58
|
-
return handleNhiReport(store, args);
|
|
59
|
-
case "h2a_nhi_inventory":
|
|
60
|
-
return handleNhiInventory(store, args);
|
|
61
|
-
case "h2a_nhi_attest":
|
|
62
|
-
return handleNhiAttest(store, args);
|
|
63
|
-
case "h2a_nhi_offboard":
|
|
64
|
-
return handleNhiOffboard(store, args);
|
|
65
|
-
case "h2a_nhi_export":
|
|
66
|
-
return handleNhiExport(store, args);
|
|
67
|
-
case "h2a_blockage_raise":
|
|
68
|
-
return handleBlockageRaise(store, args);
|
|
69
|
-
case "h2a_blockage_list":
|
|
70
|
-
return handleBlockageList(store, args);
|
|
71
|
-
case "h2a_blockage_resolve":
|
|
72
|
-
return handleBlockageResolve(store, args);
|
|
73
|
-
case "h2a_conductor":
|
|
74
|
-
return handleConductor(store.paths.root, args);
|
|
75
|
-
case "h2a_conductor_claim":
|
|
76
|
-
return handleConductorClaim(store.paths.root, args);
|
|
77
|
-
case "h2a_conductor_release":
|
|
78
|
-
return handleConductorRelease(store.paths.root, args);
|
|
79
|
-
case "h2a_conductor_launch_check":
|
|
80
|
-
return handleConductorLaunchCheck(store.paths.root, args);
|
|
81
|
-
case "h2a_conductor_launch":
|
|
82
|
-
return handleConductorLaunch(store.paths.root, args);
|
|
83
|
-
default:
|
|
84
|
-
return { error: `unknown tool: ${name}` };
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return {
|
|
88
|
-
listTools: () => H2A_CLI_MCP_TOOL_DESCRIPTORS.slice(),
|
|
89
|
-
callTool,
|
|
90
|
-
sessions,
|
|
91
|
-
notifications
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { type H2AAgentVersion, type H2ALaunchContext, type H2ASession, type H2ASessionInterests, type H2ASessionNotificationTopic, type H2ASessionState, type H2AWorkspaceRef } from "@sentropic/h2a";
|
|
2
|
-
export interface OpenSessionRequest {
|
|
3
|
-
/** Identity of the live attachment. Required. */
|
|
4
|
-
readonly instance: string;
|
|
5
|
-
/** Host CLI hint (claude / codex / gemini / ...). Optional. */
|
|
6
|
-
readonly host?: string;
|
|
7
|
-
/** First-class workspace trace for the perennial identity. */
|
|
8
|
-
readonly workspace?: H2AWorkspaceRef;
|
|
9
|
-
/** Mutable display name for the perennial agent. */
|
|
10
|
-
readonly name?: string;
|
|
11
|
-
/** PID of the holding process. Defaults to process.pid. */
|
|
12
|
-
readonly pid?: number;
|
|
13
|
-
/** Scopes / negotiations the session wants to follow. Defaults to empty arrays. */
|
|
14
|
-
readonly interests?: Partial<H2ASessionInterests>;
|
|
15
|
-
/** Topics the session subscribes to. Defaults to all four canonical topics. */
|
|
16
|
-
readonly subscribedTopics?: readonly H2ASessionNotificationTopic[];
|
|
17
|
-
/** Deployed-version stamp ({cli, skill}) for drift visibility. */
|
|
18
|
-
readonly version?: H2AAgentVersion;
|
|
19
|
-
/** Launch context (e.g. the tmux pane) so wake/relance drivers can target this agent. */
|
|
20
|
-
readonly launchContext?: H2ALaunchContext;
|
|
21
|
-
/** Optional explicit session id (UUID-ish). Generated if omitted. */
|
|
22
|
-
readonly sessionId?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface SessionRegistryOptions {
|
|
25
|
-
/** Heartbeat interval (ms). Defaults to H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS. */
|
|
26
|
-
readonly heartbeatIntervalMs?: number;
|
|
27
|
-
/** Expiry window (ms). Defaults to H2A_SESSION_DEFAULT_EXPIRY_MS. */
|
|
28
|
-
readonly expiryMs?: number;
|
|
29
|
-
/**
|
|
30
|
-
* When true, schedule a setInterval that touches each session's heartbeat
|
|
31
|
-
* on disk. Disabled by default so unit tests can drive the clock manually.
|
|
32
|
-
*/
|
|
33
|
-
readonly autoHeartbeat?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Per-process registry of MCP sessions. Owns the in-memory map and the
|
|
37
|
-
* heartbeat timers. Each session corresponds to one client connection
|
|
38
|
-
* (one mcp-serve subprocess attachment). The registry writes a presence
|
|
39
|
-
* file under `<root>/.h2a/presence/<sessionId>.json` and keeps it fresh.
|
|
40
|
-
*/
|
|
41
|
-
export declare class SessionRegistry {
|
|
42
|
-
private readonly root;
|
|
43
|
-
private readonly entries;
|
|
44
|
-
private readonly heartbeatIntervalMs;
|
|
45
|
-
private readonly expiryMs;
|
|
46
|
-
private readonly autoHeartbeat;
|
|
47
|
-
constructor(root: string, options?: SessionRegistryOptions);
|
|
48
|
-
open(request: OpenSessionRequest): H2ASession;
|
|
49
|
-
close(sessionId: string, finalState?: H2ASessionState): H2ASession | undefined;
|
|
50
|
-
/** Mark heartbeat on disk for a known session. Idempotent on unknown ids. */
|
|
51
|
-
touch(sessionId: string): H2ASession | undefined;
|
|
52
|
-
/**
|
|
53
|
-
* WP-F: record that the MCP channel carried an inbound line right now. Cheap
|
|
54
|
-
* (in-memory only); flushed to the presence file by the next heartbeat
|
|
55
|
-
* `touch()`. No-op on an unknown session id.
|
|
56
|
-
*/
|
|
57
|
-
markActivity(sessionId: string): void;
|
|
58
|
-
/** Snapshot of in-memory sessions held by this process. */
|
|
59
|
-
list(): H2ASession[];
|
|
60
|
-
/** Scan all presence files under root (own + peers), filtered by freshness. */
|
|
61
|
-
scanFresh(now?: number): H2ASession[];
|
|
62
|
-
/**
|
|
63
|
-
* Close every live session held by this process. Idempotent. Used by
|
|
64
|
-
* mcp-serve's shutdown hook when stdin reaches EOF or a signal lands.
|
|
65
|
-
*/
|
|
66
|
-
closeAll(finalState?: H2ASessionState): void;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AASxB,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACnE,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IAC1C,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,sFAAsF;IACtF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAsCD;;;;;GAKG;AACH,qBAAa,eAAe;IAOxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAGrB,IAAI,EAAE,MAAM,EAC7B,OAAO,GAAE,sBAA2B;IAQtC,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU;IA2C7C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,eAA0B,GAAG,UAAU,GAAG,SAAS;IAgBxF,6EAA6E;IAC7E,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAsBhD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC,2DAA2D;IAC3D,IAAI,IAAI,UAAU,EAAE;IAIpB,+EAA+E;IAC/E,SAAS,CAAC,GAAG,GAAE,MAAmB,GAAG,UAAU,EAAE;IAIjD;;;OAGG;IACH,QAAQ,CAAC,UAAU,GAAE,eAA0B,GAAG,IAAI;CASvD"}
|