@vscode/component-explorer-cli 0.2.1-17 → 0.2.1-170
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/README.md +130 -12
- package/dist/WorktreePool.d.ts +5 -4
- package/dist/WorktreePool.d.ts.map +1 -1
- package/dist/WorktreePool.js +3 -3
- package/dist/WorktreePool.js.map +1 -1
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +55 -1
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +103 -7
- package/dist/browserPage.js.map +1 -1
- package/dist/browserPage.test.d.ts +2 -0
- package/dist/browserPage.test.d.ts.map +1 -0
- package/dist/commands/acceptCommand.d.ts +1 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +21 -14
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +2 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +25 -8
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +31 -22
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/inputArg.d.ts +33 -0
- package/dist/commands/inputArg.d.ts.map +1 -0
- package/dist/commands/inputArg.js +103 -0
- package/dist/commands/inputArg.js.map +1 -0
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +18 -12
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/renderCommand.d.ts +10 -1
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +390 -61
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/renderCommand.test.d.ts +2 -0
- package/dist/commands/renderCommand.test.d.ts.map +1 -0
- package/dist/commands/serveCommand.d.ts +4 -1
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +105 -36
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.js +10 -9
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -1
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +31 -20
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/comparison.d.ts +4 -3
- package/dist/comparison.d.ts.map +1 -1
- package/dist/comparison.js +17 -14
- package/dist/comparison.js.map +1 -1
- package/dist/component-explorer-config.schema.json +55 -2
- package/dist/componentExplorer.d.ts +110 -12
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +177 -24
- package/dist/componentExplorer.js.map +1 -1
- package/dist/config.d.ts +33 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +64 -27
- package/dist/config.js.map +1 -1
- package/dist/coverage.d.ts +64 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +212 -0
- package/dist/coverage.js.map +1 -0
- package/dist/daemon/DaemonService.d.ts +5 -199
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +248 -300
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/approvalStore.d.ts +2 -1
- package/dist/daemon/approvalStore.d.ts.map +1 -1
- package/dist/daemon/approvalStore.js +4 -3
- package/dist/daemon/approvalStore.js.map +1 -1
- package/dist/daemon/client.d.ts +76 -5
- package/dist/daemon/client.d.ts.map +1 -1
- package/dist/daemon/daemonRpc.test.d.ts +2 -0
- package/dist/daemon/daemonRpc.test.d.ts.map +1 -0
- package/dist/daemon/endpointServer.d.ts +4 -0
- package/dist/daemon/endpointServer.d.ts.map +1 -0
- package/dist/daemon/endpointServer.js +24 -0
- package/dist/daemon/endpointServer.js.map +1 -0
- package/dist/daemon/inProcessClient.d.ts +3 -9
- package/dist/daemon/inProcessClient.d.ts.map +1 -1
- package/dist/daemon/inProcessClient.js +29 -30
- package/dist/daemon/inProcessClient.js.map +1 -1
- package/dist/daemon/lifecycle.d.ts +5 -5
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +4 -3
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.d.ts +2 -3
- package/dist/daemon/pipeClient.d.ts.map +1 -1
- package/dist/daemon/pipeClient.js +93 -194
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +3 -3
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +6 -5
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.d.ts +2 -2
- package/dist/daemon/pipeServer.d.ts.map +1 -1
- package/dist/daemon/pipeServer.js +79 -70
- package/dist/daemon/pipeServer.js.map +1 -1
- package/dist/daemon/registerDaemonConnection.d.ts +7 -0
- package/dist/daemon/registerDaemonConnection.d.ts.map +1 -0
- package/dist/daemon/registerDaemonConnection.js +37 -0
- package/dist/daemon/registerDaemonConnection.js.map +1 -0
- package/dist/daemon/transports.test.d.ts +2 -0
- package/dist/daemon/transports.test.d.ts.map +1 -0
- package/dist/daemon/types.d.ts +1655 -8
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/daemon/types.js +4 -0
- package/dist/daemon/types.js.map +1 -0
- package/dist/daemon/version.d.ts +1 -5
- package/dist/daemon/version.d.ts.map +1 -1
- package/dist/daemon/version.js +3 -7
- package/dist/daemon/version.js.map +1 -1
- package/dist/dependencyInstaller.d.ts +2 -1
- package/dist/dependencyInstaller.d.ts.map +1 -1
- package/dist/dependencyInstaller.js +4 -4
- package/dist/dependencyInstaller.js.map +1 -1
- package/dist/explorerSession.d.ts +5 -1
- package/dist/explorerSession.d.ts.map +1 -1
- package/dist/explorerSession.js +24 -7
- package/dist/explorerSession.js.map +1 -1
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/inspectionHost-BA6ZmC_P.js +2523 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/inspectionHost-BA6ZmC_P.js.map +1 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/src-DYVSK_tz.js +1871 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/src-DYVSK_tz.js.map +1 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/webSocketTransport-Ct4OIdG9.js +220 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/webSocketTransport-Ct4OIdG9.js.map +1 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/node.js +721 -0
- package/dist/external/linkrpc/typescript/packages/linkrpc/dist/node.js.map +1 -0
- package/dist/git/gitCommitResolver.d.ts +2 -1
- package/dist/git/gitCommitResolver.d.ts.map +1 -1
- package/dist/git/gitCommitResolver.js +8 -8
- package/dist/git/gitCommitResolver.js.map +1 -1
- package/dist/git/gitIndexResolver.d.ts +2 -1
- package/dist/git/gitIndexResolver.d.ts.map +1 -1
- package/dist/git/gitIndexResolver.js +7 -7
- package/dist/git/gitIndexResolver.js.map +1 -1
- package/dist/git/gitService.d.ts +5 -4
- package/dist/git/gitService.d.ts.map +1 -1
- package/dist/git/gitService.js.map +1 -1
- package/dist/git/gitUtils.d.ts +6 -5
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -4
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/git/gitWorktreeManager.d.ts +15 -14
- package/dist/git/gitWorktreeManager.d.ts.map +1 -1
- package/dist/git/gitWorktreeManager.js +10 -11
- package/dist/git/gitWorktreeManager.js.map +1 -1
- package/dist/git/testUtils.d.ts +2 -1
- package/dist/git/testUtils.d.ts.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/js-component-explorer/packages/common/dist/daemonRpc.js +165 -0
- package/dist/js-component-explorer/packages/common/dist/daemonRpc.js.map +1 -0
- package/dist/js-component-explorer/packages/common/dist/explorerUrl.js +21 -0
- package/dist/js-component-explorer/packages/common/dist/explorerUrl.js.map +1 -0
- package/dist/js-component-explorer/packages/common/dist/renderManifest.js +68 -0
- package/dist/js-component-explorer/packages/common/dist/renderManifest.js.map +1 -0
- package/dist/js-component-explorer/packages/semver/dist/index.js.map +1 -0
- package/dist/manifest.schema.json +44 -16
- package/dist/mcp/DaemonAccessor.d.ts +2 -3
- package/dist/mcp/DaemonAccessor.d.ts.map +1 -1
- package/dist/mcp/McpServer.d.ts +1 -1
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +252 -159
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/path.d.ts +30 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +78 -0
- package/dist/path.js.map +1 -0
- package/dist/processTree.d.ts +6 -1
- package/dist/processTree.d.ts.map +1 -1
- package/dist/processTree.js +48 -5
- package/dist/processTree.js.map +1 -1
- package/dist/renderManifest.d.ts +70 -5
- package/dist/renderManifest.js +1 -1
- package/dist/server/httpServer.d.ts +1 -1
- package/dist/server/httpServer.d.ts.map +1 -1
- package/dist/server/httpServer.js +4 -8
- package/dist/server/httpServer.js.map +1 -1
- package/dist/server/serverConfig.d.ts +23 -8
- package/dist/server/serverConfig.d.ts.map +1 -1
- package/dist/server/serverConfig.js +11 -18
- package/dist/server/serverConfig.js.map +1 -1
- package/dist/server/viteServer.d.ts +16 -3
- package/dist/server/viteServer.d.ts.map +1 -1
- package/dist/server/viteServer.js +86 -5
- package/dist/server/viteServer.js.map +1 -1
- package/dist/storage.d.ts +2 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/utils.d.ts +3 -30
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -24
- package/dist/utils.js.map +1 -1
- package/dist/visualCache.d.ts +2 -1
- package/dist/visualCache.d.ts.map +1 -1
- package/dist/visualCache.js +4 -3
- package/dist/visualCache.js.map +1 -1
- package/dist/viteProjectRef.d.ts +4 -12
- package/dist/viteProjectRef.d.ts.map +1 -1
- package/dist/viteProjectRef.js +9 -17
- package/dist/viteProjectRef.js.map +1 -1
- package/dist/vscode-observables/observables/dist/disposables.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/base.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/debugName.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/index.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -0
- package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +1 -1
- package/dist/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -0
- package/dist/{external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js → vscode-observables/observables/dist/observableInternal/reactions/createEffect.js} +9 -5
- package/dist/vscode-observables/observables/dist/observableInternal/reactions/createEffect.js.map +1 -0
- package/dist/{external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js → vscode-observables/observables/dist/observableInternal/reactions/createEffectImpl.js} +1 -1
- package/dist/vscode-observables/observables/dist/observableInternal/reactions/createEffectImpl.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/transaction.js.map +1 -0
- package/dist/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +1 -0
- package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/utils/utilsCancellation.js +2 -2
- package/dist/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +1 -0
- package/package.json +18 -15
- package/dist/commands/artifactCommand.d.ts +0 -14
- package/dist/commands/artifactCommand.d.ts.map +0 -1
- package/dist/external/vscode-observables/observables/dist/disposables.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/base.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +0 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utilsCancellation.js.map +0 -1
- package/dist/formatValue.js +0 -96
- package/dist/formatValue.js.map +0 -1
- package/dist/packages/common/dist/renderManifest.js +0 -46
- package/dist/packages/common/dist/renderManifest.js.map +0 -1
- package/dist/packages/semver/dist/index.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js +0 -138
- package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js +0 -27
- package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js +0 -28
- package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +0 -1
- package/dist/packages/simple-api/dist/express.js +0 -104
- package/dist/packages/simple-api/dist/express.js.map +0 -1
- /package/dist/{packages → js-component-explorer/packages}/semver/dist/index.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/disposables.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/base.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/commonFacade/deps.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/debugLocation.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/debugName.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/index.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/consoleObservableLogger.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/logging/logging.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/baseObservable.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/derived.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/derivedImpl.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/observableFromEvent.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/observables/observableValue.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/transaction.js +0 -0
- /package/dist/{external/vscode-observables → vscode-observables}/observables/dist/observableInternal/utils/utils.js +0 -0
package/dist/external/linkrpc/typescript/packages/linkrpc/dist/chunks/inspectionHost-BA6ZmC_P.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectionHost-BA6ZmC_P.js","sources":["../../../../../../../../../../../external/linkrpc/typescript/packages/linkrpc/dist/chunks/inspectionHost-BA6ZmC_P.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Microsoft Corporation. All rights reserved.\n* Licensed under the MIT License. See License.txt in the project root for license information.\n*--------------------------------------------------------------------------------------------*/\nimport { any, array, boolean, enum as enum$1, int, literal, nonnegative, number, object, optional, record, strictObject, string, union, unknown, void as void$1 } from \"zod/mini\";\nimport { safeParse, toJSONSchema } from \"zod/v4/core\";\nimport { z } from \"zod\";\n//#region src/schema/normalize.ts\n/**\n* Keys that describe structural shape and are part of the decidable subset.\n* Everything else gets stripped during normalization.\n*\n* Note: `not` is intentionally NOT in this list. The special case `{\"not\":{}}`\n* (i.e. matches-nothing) is mapped to the literal `false` bottom; any other\n* `not` is dropped.\n*/\nconst KEPT_KEYS = /* @__PURE__ */ new Set([\n\t\"type\",\n\t\"format\",\n\t\"properties\",\n\t\"required\",\n\t\"additionalProperties\",\n\t\"items\",\n\t\"prefixItems\",\n\t\"const\",\n\t\"enum\",\n\t\"anyOf\",\n\t\"oneOf\",\n\t\"discriminator\",\n\t\"$ref\",\n\t\"title\",\n\t\"description\"\n]);\n/**\n* Normalize raw JSON Schema output (e.g. from `z.toJSONSchema`) into the\n* SvcJsonSchema subset:\n*\n* - drop annotation keys (`examples`, `default`, `$comment`, `readOnly`, ...)\n* - drop out-of-subset refinements (`pattern`, `minimum`, `multipleOf`,\n* `allOf`, `oneOf`, `if/then/else`, `patternProperties`, ...)\n* - empty schema `{}` ⇒ `true` (top)\n* - `{\"not\":{}}` ⇒ `false` (bottom); any other `not` is stripped\n* - `type:\"object\"` without `additionalProperties` ⇒ closed (`false`),\n* matching linkrpc's stricter contract\n* - producer `type` arrays ⇒ `anyOf` branches, preserving their order\n*\n* The output is canonical: structurally equal inputs produce structurally\n* equal outputs, which is what `computeInterfaceHash` relies on.\n*/\nfunction normalizeJsonSchema(raw) {\n\tif (raw === true || raw === false) return raw;\n\tif (raw === null || typeof raw !== \"object\") throw new Error(`normalizeJsonSchema: expected object, got ${typeof raw}`);\n\tif (Array.isArray(raw)) throw new Error(\"normalizeJsonSchema: expected object, got array\");\n\tconst r = raw;\n\tif (\"not\" in r && isEmptyObject(r[\"not\"])) return false;\n\tif (Array.isArray(r[\"type\"])) {\n\t\tconst types = r[\"type\"];\n\t\tif (types.length === 0 || new Set(types).size !== types.length || types.some((type) => ![\n\t\t\t\"null\",\n\t\t\t\"boolean\",\n\t\t\t\"number\",\n\t\t\t\"integer\",\n\t\t\t\"string\",\n\t\t\t\"array\",\n\t\t\t\"object\"\n\t\t].includes(type))) throw new Error(\"normalizeJsonSchema: type array must contain distinct JSON Schema type names\");\n\t\tconst { title, description, ...branch } = r;\n\t\treturn normalizeJsonSchema({\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\tanyOf: types.map((type) => {\n\t\t\t\tconst schema = {\n\t\t\t\t\t...branch,\n\t\t\t\t\ttype\n\t\t\t\t};\n\t\t\t\tif (type !== \"object\") {\n\t\t\t\t\tdelete schema.properties;\n\t\t\t\t\tdelete schema.required;\n\t\t\t\t\tdelete schema.additionalProperties;\n\t\t\t\t}\n\t\t\t\tif (type !== \"array\") {\n\t\t\t\t\tdelete schema.items;\n\t\t\t\t\tdelete schema.prefixItems;\n\t\t\t\t}\n\t\t\t\tif (type !== \"string\" && type !== \"number\" && type !== \"integer\") delete schema.format;\n\t\t\t\treturn schema;\n\t\t\t})\n\t\t});\n\t}\n\tconst out = {};\n\tfor (const [k, v] of Object.entries(r)) {\n\t\tif (!KEPT_KEYS.has(k)) continue;\n\t\tconst normalized = normalizeChild(k, v);\n\t\tif (normalized === void 0) continue;\n\t\tout[k] = normalized;\n\t}\n\tif (out[\"type\"] === \"object\" && !(\"additionalProperties\" in out)) out[\"additionalProperties\"] = false;\n\tif (Array.isArray(out[\"oneOf\"]) && !(\"discriminator\" in out)) {\n\t\tconst detected = _detectDiscriminator(out[\"oneOf\"]);\n\t\tif (detected !== void 0) out[\"discriminator\"] = detected;\n\t}\n\tif (\"discriminator\" in out && !Array.isArray(out[\"oneOf\"])) delete out[\"discriminator\"];\n\tif (Object.keys(out).length === 0) return true;\n\treturn out;\n}\nfunction normalizeChild(key, v) {\n\tswitch (key) {\n\t\tcase \"properties\": {\n\t\t\tif (!isPlainObject(v)) return {};\n\t\t\tconst out = {};\n\t\t\tfor (const [pk, pv] of Object.entries(v)) out[pk] = normalizeJsonSchema(pv);\n\t\t\treturn out;\n\t\t}\n\t\tcase \"items\":\n\t\tcase \"additionalProperties\":\n\t\t\tif (v === false) return false;\n\t\t\treturn normalizeJsonSchema(v);\n\t\tcase \"prefixItems\":\n\t\tcase \"anyOf\":\n\t\tcase \"oneOf\":\n\t\t\tif (!Array.isArray(v)) return [];\n\t\t\treturn v.map((s) => normalizeJsonSchema(s));\n\t\tcase \"discriminator\": {\n\t\t\tif (!isPlainObject(v)) return void 0;\n\t\t\tconst name = v[\"propertyName\"];\n\t\t\tif (typeof name !== \"string\" || name.length === 0) return void 0;\n\t\t\treturn { propertyName: name };\n\t\t}\n\t\tcase \"enum\":\n\t\t\tif (!Array.isArray(v)) return [];\n\t\t\treturn v.slice();\n\t\tcase \"required\":\n\t\t\tif (!Array.isArray(v)) return [];\n\t\t\treturn v.slice().sort();\n\t\tdefault: return v;\n\t}\n}\nfunction isEmptyObject(v) {\n\treturn isPlainObject(v) && Object.keys(v).length === 0;\n}\nfunction isPlainObject(v) {\n\treturn v !== null && typeof v === \"object\" && !Array.isArray(v);\n}\n/**\n* Inspect a `oneOf` branch list and return a `discriminator` hint when\n* every branch is an object schema and there is exactly one property name\n* that appears in every branch with a distinct `const`-valued schema.\n*\n* This is the canonical JSON-Schema-only encoding of a tagged union, and\n* the shape `z.toJSONSchema(z.discriminatedUnion(...))` emits.\n*/\nfunction _detectDiscriminator(branches) {\n\tif (branches.length < 2) return void 0;\n\tconst branchPropsList = [];\n\tfor (const b of branches) {\n\t\tif (b === true || b === false) return void 0;\n\t\tif (b.type !== \"object\") return void 0;\n\t\tconst props = b.properties;\n\t\tif (!props) return void 0;\n\t\tbranchPropsList.push(props);\n\t}\n\tlet candidates = _constPropNames(branchPropsList[0]);\n\tfor (let i = 1; i < branchPropsList.length; i++) {\n\t\tcandidates = candidates.filter((n) => _constPropNames(branchPropsList[i]).includes(n));\n\t\tif (candidates.length === 0) return void 0;\n\t}\n\tfor (const name of candidates) {\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\tlet allDistinct = true;\n\t\tfor (const props of branchPropsList) {\n\t\t\tconst s = props[name];\n\t\t\tconst key = JSON.stringify(s.const);\n\t\t\tif (seen.has(key)) {\n\t\t\t\tallDistinct = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tseen.add(key);\n\t\t}\n\t\tif (allDistinct) return { propertyName: name };\n\t}\n}\nfunction _constPropNames(props) {\n\tconst out = [];\n\tfor (const [k, v] of Object.entries(props)) {\n\t\tif (v === true || v === false) continue;\n\t\tif (\"const\" in v) out.push(k);\n\t}\n\treturn out;\n}\n//#endregion\n//#region src/connection/rpcFailure.ts\nconst rpcFailureBrand = Symbol(\"linkrpc.rpcFailure\");\n/** A nominal failure wrapper: successful application objects can never collide with it. */\nvar RpcFailure = class {\n\terror;\n\t[rpcFailureBrand] = true;\n\tconstructor(error) {\n\t\tthis.error = error;\n\t\tObject.freeze(this);\n\t}\n};\nfunction isRpcFailure(value) {\n\treturn typeof value === \"object\" && value !== null && value[rpcFailureBrand] === true;\n}\n//#endregion\n//#region src/protocol/jsonRpc.ts\nconst ErrorCode = {\n\t/** Default code for named LinkRPC application errors. */\n\tapplicationError: 1,\n\tparseError: -32700,\n\tinvalidRequest: -32600,\n\tmethodNotFound: -32601,\n\tinvalidParams: -32602,\n\tinternalError: -32603,\n\t/** Caller is authenticated but lacks a capability covering the call. */\n\tpermissionRequired: -32401,\n\t/** The peer a request was routed to detached before it could respond. */\n\tpeerDisconnected: -32402,\n\t/** The request exceeded the hub's idle timeout with no stream activity. */\n\trequestTimeout: -32403,\n\t/** The request was cancelled (by the caller, or by the hub on disconnect). */\n\tcancelled: -32800\n};\nfunction isRequest(m) {\n\treturn typeof m.method === \"string\" && m.id !== void 0;\n}\nfunction isNotification(m) {\n\treturn typeof m.method === \"string\" && m.id === void 0;\n}\nfunction isResponse(m) {\n\treturn typeof m.method !== \"string\";\n}\n//#endregion\n//#region src/schema/applicationErrorBrand.ts\nconst applicationErrorBrand = Symbol(\"linkrpc.applicationError\");\nfunction brandApplicationError(value) {\n\treturn Object.freeze(Object.defineProperty(value, applicationErrorBrand, { value: true }));\n}\n//#endregion\n//#region src/schema/schemaSource.ts\nconst schemaSources = /* @__PURE__ */ new WeakMap();\n//#endregion\n//#region src/schema/validationIssue.ts\nfunction jsonPointerSegment(key) {\n\treturn `/${String(key).replace(/~/g, \"~0\").replace(/\\//g, \"~1\")}`;\n}\n//#endregion\n//#region src/schema/errorValidation.ts\nconst bodySchemas = /* @__PURE__ */ new WeakMap();\nfunction parseDeclaredErrorBody(descriptor, body) {\n\treturn parseErrorBody(descriptor.bodySchema ?? errorBodySchema(descriptor), body);\n}\nfunction errorBodySchema(descriptor) {\n\tlet schema = bodySchemas.get(descriptor);\n\tif (schema === void 0) {\n\t\tconst payload = descriptor.dataSchema === void 0 ? {} : { data: descriptor.dataSchema };\n\t\tschema = descriptor.type === void 0 ? strictObject({\n\t\t\tmessage: literal(descriptor.message),\n\t\t\t...payload\n\t\t}) : strictObject({\n\t\t\tmessage: string(),\n\t\t\tdata: strictObject({\n\t\t\t\ttype: literal(descriptor.type),\n\t\t\t\t...payload\n\t\t\t})\n\t\t});\n\t\tbodySchemas.set(descriptor, schema);\n\t}\n\treturn schema;\n}\nfunction parseErrorBody(schema, body) {\n\tconst parsed = safeParse(schema, body);\n\tif (!parsed.success) return {\n\t\tsuccess: false,\n\t\tissues: validationIssues(parsed.error.issues)\n\t};\n\tif (typeof parsed.data !== \"object\" || parsed.data === null || !(\"message\" in parsed.data) || typeof parsed.data.message !== \"string\") return {\n\t\tsuccess: false,\n\t\tissues: [{\n\t\t\tpath: \"/message\",\n\t\t\tmessage: \"Expected a string message\"\n\t\t}]\n\t};\n\treturn {\n\t\tsuccess: true,\n\t\tdata: {\n\t\t\t...parsed.data,\n\t\t\tmessage: parsed.data.message\n\t\t}\n\t};\n}\nfunction validationIssues(issues, prefix = []) {\n\treturn issues.flatMap((issue) => {\n\t\tconst path = [...prefix, ...issue.path];\n\t\tif (issue.code === \"invalid_union\") return issue.errors.flatMap((branch) => validationIssues(branch, path));\n\t\tif (issue.code === \"unrecognized_keys\") return issue.keys.map((key) => ({\n\t\t\tpath: pointer([...path, key]),\n\t\t\tmessage: \"Unexpected property\"\n\t\t}));\n\t\treturn [{\n\t\t\tpath: pointer(path),\n\t\t\tmessage: issue.message\n\t\t}];\n\t});\n}\nfunction pointer(path) {\n\treturn path.map(jsonPointerSegment).join(\"\");\n}\nfunction jsonIssues(value, path = [], ancestors = /* @__PURE__ */ new Set()) {\n\tif (value === null || typeof value === \"string\" || typeof value === \"boolean\" || typeof value === \"number\" && Number.isFinite(value)) return [];\n\tif (typeof value !== \"object\" || ancestors.has(value) || !Array.isArray(value) && Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) return [{\n\t\tpath: pointer(path),\n\t\tmessage: \"Expected a JSON value\"\n\t}];\n\tancestors.add(value);\n\tconst issues = (Array.isArray(value) ? Array.from(value.entries()) : Object.entries(value)).flatMap(([key, child]) => jsonIssues(child, [...path, key], ancestors));\n\tancestors.delete(value);\n\treturn issues;\n}\n//#endregion\n//#region src/schema/memberTypes.ts\nfunction rpcError(code, schemaOrShape) {\n\tassertErrorCode(code);\n\tconst bodySchema = \"_zod\" in schemaOrShape ? schemaOrShape : object({\n\t\tmessage: schemaOrShape.message ?? string(),\n\t\t...schemaOrShape.data === void 0 ? {} : { data: schemaOrShape.data }\n\t});\n\treturn Object.freeze({\n\t\tcode,\n\t\tbodySchema,\n\t\tcreate(body) {\n\t\t\treturn brandApplicationError({\n\t\t\t\tkind: \"application\",\n\t\t\t\tcode,\n\t\t\t\tmessage: body.message,\n\t\t\t\t...Object.hasOwn(body, \"data\") ? { data: body.data } : {}\n\t\t\t});\n\t\t},\n\t\tis(value) {\n\t\t\tconst payload = isRpcFailure(value) ? value.error : value;\n\t\t\tif (!isApplicationErrorValue(payload) || payload.code !== code || payload.type !== void 0) return false;\n\t\t\treturn parseErrorBody(bodySchema, {\n\t\t\t\tmessage: payload.message,\n\t\t\t\t...Object.hasOwn(payload, \"data\") ? { data: payload.data } : {}\n\t\t\t}).success;\n\t\t}\n\t});\n}\nfunction applicationError(codeOrType, messageOrOptions, dataSchema) {\n\tconst type = typeof codeOrType === \"string\" ? codeOrType : void 0;\n\tif (type === \"\") throw new Error(\"Application error type must be a nonempty string.\");\n\tconst options = typeof messageOrOptions === \"object\" ? messageOrOptions : void 0;\n\tconst code = typeof codeOrType === \"number\" ? codeOrType : options?.code ?? ErrorCode.applicationError;\n\tconst message = type === void 0 ? messageOrOptions : options?.message ?? type;\n\tif (type !== void 0) dataSchema = options?.data;\n\tassertApplicationErrorCode(code);\n\tif (typeof message !== \"string\") throw new Error(\"Application error message must be a string.\");\n\tconst create = dataSchema === void 0 ? function() {\n\t\tif (arguments.length !== 0) throw new Error(`Application error ${code} does not accept data.`);\n\t\treturn Object.freeze({\n\t\t\tkind: \"application\",\n\t\t\tcode,\n\t\t\tmessage,\n\t\t\t...type === void 0 ? {} : { type },\n\t\t\t[applicationErrorBrand]: true\n\t\t});\n\t} : function(data) {\n\t\tif (arguments.length !== 1) throw new Error(`Application error ${code} requires exactly one data value.`);\n\t\treturn Object.freeze({\n\t\t\tkind: \"application\",\n\t\t\tcode,\n\t\t\tmessage,\n\t\t\t...type === void 0 ? {} : { type },\n\t\t\t[applicationErrorBrand]: true,\n\t\t\tdata\n\t\t});\n\t};\n\tconst descriptor = Object.freeze({\n\t\ttype,\n\t\tcode,\n\t\tmessage,\n\t\t...dataSchema === void 0 ? {} : { dataSchema },\n\t\tcreate,\n\t\tis(value) {\n\t\t\tconst payload = isRpcFailure(value) ? value.error : value;\n\t\t\tif (!isApplicationErrorValue(payload)) return false;\n\t\t\tif (payload.kind !== \"application\" || payload.code !== code || payload.type !== type) return false;\n\t\t\tconst data = Object.hasOwn(payload, \"data\") ? { data: payload.data } : {};\n\t\t\treturn parseDeclaredErrorBody(descriptor, {\n\t\t\t\tmessage: payload.message,\n\t\t\t\t...type === void 0 ? data : { data: {\n\t\t\t\t\ttype,\n\t\t\t\t\t...data\n\t\t\t\t} }\n\t\t\t}).success;\n\t\t}\n\t});\n\treturn descriptor;\n}\n/** Runtime nominal check for values produced by an application-error descriptor. */\nfunction isApplicationErrorValue(value) {\n\treturn typeof value === \"object\" && value !== null && value[applicationErrorBrand] === true;\n}\nfunction assertApplicationErrorCode(code) {\n\tassertErrorCode(code);\n\tif (code >= -32768 && code <= -32e3 || code === -32800) throw new Error(`Application error code ${code} is reserved by JSON-RPC or LinkRPC.`);\n}\nfunction assertErrorCode(code) {\n\tif (!Number.isInteger(code) || code < -2147483648 || code > 2147483647) throw new Error(`Application error code ${code} must be a signed 32-bit integer.`);\n}\nvar RequestType = class RequestType {\n\tparamsSchema;\n\tresultSchema;\n\terrorSchema;\n\tdocs;\n\tclientStreamSchema;\n\tserverStreamSchema;\n\tapplicationErrors;\n\tkind = \"request\";\n\tconstructor(paramsSchema, resultSchema, errorSchema, docs = {}, clientStreamSchema, serverStreamSchema, applicationErrors = []) {\n\t\tthis.paramsSchema = paramsSchema;\n\t\tthis.resultSchema = resultSchema;\n\t\tthis.errorSchema = errorSchema;\n\t\tthis.docs = docs;\n\t\tthis.clientStreamSchema = clientStreamSchema;\n\t\tthis.serverStreamSchema = serverStreamSchema;\n\t\tthis.applicationErrors = applicationErrors;\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\tfor (const error of applicationErrors) {\n\t\t\tif (applicationErrors.some((other) => other !== error && other.code === error.code && (other.bodySchema !== void 0 || error.bodySchema !== void 0))) throw new Error(`Raw error code ${error.code} cannot be shared.`);\n\t\t\tif (error.bodySchema !== void 0) {\n\t\t\t\tassertErrorCode(error.code);\n\t\t\t\tconst key = `code:${error.code}`;\n\t\t\t\tif (seen.has(key)) throw new Error(`Duplicate application error ${key}.`);\n\t\t\t\tseen.add(key);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tassertApplicationErrorCode(error.code);\n\t\t\tif (typeof error.message !== \"string\") throw new Error(\"Application error message must be a string.\");\n\t\t\tif (error.type !== void 0 && (typeof error.type !== \"string\" || error.type.length === 0)) throw new Error(\"Application error type must be a nonempty string.\");\n\t\t\tconst key = error.type === void 0 ? `code:${error.code}` : `type:${error.type}`;\n\t\t\tif (seen.has(key)) throw new Error(`Duplicate application error ${key}.`);\n\t\t\tseen.add(key);\n\t\t}\n\t\tthis.applicationErrors = Object.freeze([...applicationErrors]);\n\t\tthis.errors = this.applicationErrors;\n\t}\n\t/** Declared checked errors, retained as a tuple for generated-contract consumers. */\n\terrors;\n\t/**\n\t* Return a copy of this request type with stream payload schemas\n\t* attached. Pass `undefined` for either direction to leave it\n\t* closed.\n\t* `NoInfer` keeps a contextual MemberMap's `any` stream slots from\n\t* widening undeclared directions; only the supplied schemas infer payloads.\n\t*/\n\twithStream(opts) {\n\t\treturn new RequestType(this.paramsSchema, this.resultSchema, this.errorSchema, this.docs, opts.client, opts.server, this.applicationErrors);\n\t}\n\t/**\n\t* Return a copy with an explicit, typed set of checked application errors.\n\t* The legacy third `requestType` schema remains accepted for compatibility,\n\t* but does not opt a method into checked errors.\n\t*/\n\twithErrors(errors) {\n\t\treturn new RequestType(this.paramsSchema, this.resultSchema, this.errorSchema, this.docs, this.clientStreamSchema, this.serverStreamSchema, errors);\n\t}\n};\nvar NotificationType = class {\n\tparamsSchema;\n\tdocs;\n\tkind = \"notification\";\n\tconstructor(paramsSchema, docs = {}) {\n\t\tthis.paramsSchema = paramsSchema;\n\t\tthis.docs = docs;\n\t}\n};\n/**\n* Define a request method.\n*\n* @example\n* bar: requestType(z.object({ to: z.string() }), z.string(), {\n* description: \"MUST resolve before the next call from the same caller.\",\n* })\n*/\nfunction requestType(params, result, docsOrError, maybeDocs) {\n\tconst isErrorSchema = (v) => typeof v === \"object\" && v !== null && \"_zod\" in v;\n\tconst error = isErrorSchema(docsOrError) ? docsOrError : void 0;\n\tconst docs = (!isErrorSchema(docsOrError) ? docsOrError : maybeDocs) ?? {};\n\treturn new RequestType(params, result ?? void$1(), error ?? void$1(), docs);\n}\n/**\n* Define a notification method.\n*\n* @example\n* foo: notificationType(z.object({ message: z.string() }))\n*/\nfunction notificationType(params, docs = {}) {\n\treturn new NotificationType(params, docs);\n}\n/** Convert a zod schema to our restricted SvcJsonSchema subset. */\nfunction zodToSvcJsonSchema(schema, options) {\n\tconst source = schemaSources.get(schema);\n\tif (source !== void 0) {\n\t\tfor (const [name, component] of Object.entries(source.components)) {\n\t\t\tif (options === void 0) throw new Error(\"Imported schema references require a component destination\");\n\t\t\taddComponent(options.components, name, normalizeJsonSchema(component));\n\t\t}\n\t\treturn normalizeJsonSchema(source.schema);\n\t}\n\tconst type = schema._zod?.def?.type;\n\tif (type === \"void\" || type === \"undefined\") return true;\n\treturn normalizeZodJsonSchema(toJSONSchema(schema, { override: (context) => {\n\t\tconst name = options?.parameterNames?.get(context.zodSchema);\n\t\tif (name !== void 0) {\n\t\t\tfor (const key of Object.keys(context.jsonSchema)) delete context.jsonSchema[key];\n\t\t\tcontext.jsonSchema.$ref = `linkrpc-parameter:${encodeURIComponent(name)}`;\n\t\t} else if (options?.parameterNames !== void 0) {\n\t\t\tfor (const key of [\n\t\t\t\t\"allOf\",\n\t\t\t\t\"patternProperties\",\n\t\t\t\t\"unevaluatedProperties\",\n\t\t\t\t\"if\",\n\t\t\t\t\"then\",\n\t\t\t\t\"else\",\n\t\t\t\t\"contains\"\n\t\t\t]) if (key in context.jsonSchema) throw new Error(`Unsupported template JSON Schema keyword \"${key}\"`);\n\t\t}\n\t} }), options);\n}\nfunction normalizeZodJsonSchema(raw, options) {\n\tif (!isRecord(raw)) return normalizeJsonSchema(raw);\n\tconst definitions = isRecord(raw.$defs) ? raw.$defs : {};\n\tconst localRefs = collectLocalRefs(raw);\n\tif (Object.keys(definitions).length === 0 && localRefs.size === 0) return normalizeJsonSchema(raw);\n\tif (options === void 0) throw new Error(\"zodToSvcJsonSchema: local references require a component destination\");\n\tconst componentNamePrefix = `method=${encodeComponentNamePart(options.methodName)}&schema=${encodeComponentNamePart(options.schemaPosition)}`;\n\tconst definitionComponents = /* @__PURE__ */ new Map();\n\tfor (const definitionName of Object.keys(definitions)) definitionComponents.set(definitionName, `${componentNamePrefix}&def=${encodeComponentNamePart(definitionName)}`);\n\tconst rootComponent = localRefs.has(\"#\") ? `${componentNamePrefix}&root` : void 0;\n\tconst rewrite = (value) => rewriteLocalRefs(value, definitionComponents, rootComponent);\n\tfor (const [definitionName, definition] of Object.entries(definitions)) {\n\t\tconst componentName = definitionComponents.get(definitionName);\n\t\tif (componentName === void 0) throw new Error(`zodToSvcJsonSchema: missing component for \"${definitionName}\"`);\n\t\taddComponent(options.components, componentName, normalizeJsonSchema(rewrite(definition)));\n\t}\n\tconst root = rewrite(raw);\n\tif (rootComponent !== void 0) {\n\t\taddComponent(options.components, rootComponent, normalizeJsonSchema(root));\n\t\treturn { $ref: componentRef(rootComponent) };\n\t}\n\treturn normalizeJsonSchema(root);\n}\nfunction collectLocalRefs(value, refs = /* @__PURE__ */ new Set()) {\n\tif (Array.isArray(value)) {\n\t\tfor (const child of value) collectLocalRefs(child, refs);\n\t\treturn refs;\n\t}\n\tif (!isRecord(value)) return refs;\n\tif (typeof value.$ref === \"string\" && value.$ref.startsWith(\"#\")) refs.add(value.$ref);\n\tfor (const child of Object.values(value)) collectLocalRefs(child, refs);\n\treturn refs;\n}\nfunction rewriteLocalRefs(value, definitionComponents, rootComponent) {\n\tif (Array.isArray(value)) return value.map((child) => rewriteLocalRefs(child, definitionComponents, rootComponent));\n\tif (!isRecord(value)) return value;\n\tconst result = {};\n\tfor (const [key, child] of Object.entries(value)) {\n\t\tif (key === \"$defs\") continue;\n\t\tif (key === \"$ref\" && typeof child === \"string\") result[key] = rewriteLocalRef(child, definitionComponents, rootComponent);\n\t\telse result[key] = rewriteLocalRefs(child, definitionComponents, rootComponent);\n\t}\n\treturn result;\n}\nfunction rewriteLocalRef(ref, definitionComponents, rootComponent) {\n\tif (ref === \"#\") {\n\t\tif (rootComponent === void 0) throw new Error(\"zodToSvcJsonSchema: root reference has no component destination\");\n\t\treturn componentRef(rootComponent);\n\t}\n\tif (ref.startsWith(\"#/$defs/\")) {\n\t\tconst encodedName = ref.slice(8);\n\t\tconst definitionName = [...definitionComponents.keys()].find((name) => encodeJsonPointerSegment(name) === encodedName);\n\t\tconst componentName = definitionName === void 0 ? void 0 : definitionComponents.get(definitionName);\n\t\tif (componentName === void 0) throw new Error(`zodToSvcJsonSchema: dangling local reference \"${ref}\"`);\n\t\treturn componentRef(componentName);\n\t}\n\tif (ref.startsWith(\"#\") && !ref.startsWith(\"#/components/schemas/\")) throw new Error(`zodToSvcJsonSchema: unsupported local reference \"${ref}\"`);\n\treturn ref;\n}\nfunction addComponent(components, name, schema) {\n\tif (Object.hasOwn(components, name)) throw new Error(`zodToSvcJsonSchema: duplicate component name \"${name}\"`);\n\tcomponents[name] = schema;\n}\nfunction componentRef(name) {\n\treturn `#/components/schemas/${encodeJsonPointerSegment(name)}`;\n}\nfunction encodeJsonPointerSegment(value) {\n\treturn value.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nfunction encodeComponentNamePart(value) {\n\treturn encodeURIComponent(value).replace(/~/g, \"%7E\");\n}\nfunction isRecord(value) {\n\treturn value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n//#endregion\n//#region src/schema/schemaValidationError.ts\n/** Invalid reflected schema data, as distinct from an unexpected implementation failure. */\nvar SchemaValidationError = class extends Error {\n\tname = \"SchemaValidationError\";\n};\n//#endregion\n//#region src/schema/assertSchemaReferences.ts\nconst componentPrefix = \"#/components/schemas/\";\nfunction componentSchemaRef(name) {\n\treturn componentPrefix + name.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\nfunction componentSchemaName(ref) {\n\tif (!ref.startsWith(componentPrefix)) throw new SchemaValidationError(`Invalid component reference: ${ref}`);\n\tconst token = ref.slice(21);\n\tif (token.includes(\"/\") || /~(?:[^01]|$)/.test(token)) throw new SchemaValidationError(`Invalid component reference token: ${ref}`);\n\treturn token.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n/**\n* Check the finite schema graph without interpreting JSON literal payloads.\n* A reference/union-only cycle is invalid; descending into an object member\n* or an array item guards a cycle, but does not imply the schema is nonempty.\n*/\nfunction assertSchemaReferences(roots, components = {}) {\n\tconst nodes = /* @__PURE__ */ new Set();\n\tconst pending = [...roots, ...Object.values(components)];\n\tconst unguarded = /* @__PURE__ */ new Map();\n\twhile (pending.length > 0) {\n\t\tconst node = pending.pop();\n\t\tif (typeof node === \"boolean\" || nodes.has(node)) continue;\n\t\tnodes.add(node);\n\t\tconst edges = [];\n\t\tif (\"$ref\" in node) {\n\t\t\tconst name = componentSchemaName(node.$ref);\n\t\t\tif (!Object.hasOwn(components, name)) throw new Error(`Unresolved component reference: ${node.$ref}`);\n\t\t\tedges.push(components[name]);\n\t\t}\n\t\tif (\"anyOf\" in node) edges.push(...node.anyOf);\n\t\tif (\"oneOf\" in node) edges.push(...node.oneOf);\n\t\tunguarded.set(node, edges);\n\t\tpending.push(...edges);\n\t\tif (\"type\" in node && node.type === \"object\") pending.push(...Object.values(node.properties ?? {}), node.additionalProperties);\n\t\tif (\"type\" in node && node.type === \"array\") {\n\t\t\tif (\"prefixItems\" in node) pending.push(...node.prefixItems);\n\t\t\tif (node.items !== void 0) pending.push(node.items);\n\t\t}\n\t}\n\tconst visiting = /* @__PURE__ */ new Set();\n\tconst checked = /* @__PURE__ */ new Set();\n\tconst visit = (node) => {\n\t\tif (typeof node === \"boolean\" || checked.has(node)) return;\n\t\tif (visiting.has(node)) throw new Error(\"Unguarded recursive schema: cycle does not descend into a child value\");\n\t\tvisiting.add(node);\n\t\tfor (const child of unguarded.get(node) ?? []) visit(child);\n\t\tvisiting.delete(node);\n\t\tchecked.add(node);\n\t};\n\tfor (const node of nodes) visit(node);\n}\n//#endregion\n//#region src/protocol/jcs.ts\n/**\n* RFC 8785 JSON Canonicalization Scheme (JCS).\n*\n* Used as the byte-deterministic encoding under every linkrpc signature\n* (RPC calls, capabilities, hub-signed previews). Both signer and verifier\n* canonicalize the same value object and obtain byte-identical UTF-8 bytes.\n*\n* Implementation inlined from the `canonicalize` npm package (Apache-2.0,\n* https://github.com/erdtman/canonicalize) so this module stays\n* zero-dependency for browser bundlers that don't resolve transitive\n* npm specifiers (e.g. the in-house app-bundler).\n*/\n/** RFC 8785 canonical JSON string for `value`. */\nfunction jcsCanonicalize(value) {\n\tconst out = _canonicalize(value);\n\tif (out === void 0) throw new Error(\"jcsCanonicalize: value is not JSON-representable\");\n\treturn out;\n}\nconst _encoder = new TextEncoder();\n/** UTF-8 bytes of the RFC 8785 canonical JSON for `value`. The thing actually signed / hashed. */\nfunction jcsCanonicalizeBytes(value) {\n\treturn _encoder.encode(jcsCanonicalize(value));\n}\nfunction _canonicalize(object, seen = /* @__PURE__ */ new Set()) {\n\tif (typeof object === \"number\" && Number.isNaN(object)) throw new Error(\"NaN is not allowed\");\n\tif (typeof object === \"number\" && !Number.isFinite(object)) throw new Error(\"Infinity is not allowed\");\n\tif (object === null || typeof object !== \"object\") return JSON.stringify(object);\n\tconst obj = object;\n\tif (typeof obj.toJSON === \"function\") {\n\t\tif (seen.has(obj)) throw new Error(\"Circular reference detected\");\n\t\tseen.add(obj);\n\t\tconst result = _canonicalize(obj.toJSON(), seen);\n\t\tseen.delete(obj);\n\t\treturn result;\n\t}\n\tif (seen.has(obj)) throw new Error(\"Circular reference detected\");\n\tseen.add(obj);\n\tlet result;\n\tif (Array.isArray(obj)) result = `[${obj.map((cv) => {\n\t\treturn _canonicalize(cv === void 0 || typeof cv === \"symbol\" ? null : cv, seen);\n\t}).join(\",\")}]`;\n\telse {\n\t\tconst parts = [];\n\t\tfor (const key of Object.keys(obj).sort()) {\n\t\t\tconst v = obj[key];\n\t\t\tif (v === void 0 || typeof v === \"symbol\") continue;\n\t\t\tparts.push(`${JSON.stringify(key)}:${_canonicalize(v, seen)}`);\n\t\t}\n\t\tresult = `{${parts.join(\",\")}}`;\n\t}\n\tseen.delete(obj);\n\treturn result;\n}\n//#endregion\n//#region src/crypto/sha256.ts\n/**\n* Pure-JS SHA-256 (RFC 6234 / FIPS 180-4). Synchronous, dependency-free,\n* isomorphic. Used internally by linkrpc for content-hashing interface\n* schemas and deriving identity slot names; also surfaced through the\n* `crypto` API as `crypto.sha256`. For signature work we go through the\n* `crypto` module (`./identity/crypto`).\n*\n* Replaces the previous `@noble/hashes/sha2` import so the bundle has\n* no runtime npm dependencies. Trades the well-vetted dep for ~80 lines\n* of straight-line code that has no branching on input contents and is\n* exercised by the existing test vectors plus `sha256.test.ts`.\n*/\nconst K = new Uint32Array([\n\t1116352408,\n\t1899447441,\n\t3049323471,\n\t3921009573,\n\t961987163,\n\t1508970993,\n\t2453635748,\n\t2870763221,\n\t3624381080,\n\t310598401,\n\t607225278,\n\t1426881987,\n\t1925078388,\n\t2162078206,\n\t2614888103,\n\t3248222580,\n\t3835390401,\n\t4022224774,\n\t264347078,\n\t604807628,\n\t770255983,\n\t1249150122,\n\t1555081692,\n\t1996064986,\n\t2554220882,\n\t2821834349,\n\t2952996808,\n\t3210313671,\n\t3336571891,\n\t3584528711,\n\t113926993,\n\t338241895,\n\t666307205,\n\t773529912,\n\t1294757372,\n\t1396182291,\n\t1695183700,\n\t1986661051,\n\t2177026350,\n\t2456956037,\n\t2730485921,\n\t2820302411,\n\t3259730800,\n\t3345764771,\n\t3516065817,\n\t3600352804,\n\t4094571909,\n\t275423344,\n\t430227734,\n\t506948616,\n\t659060556,\n\t883997877,\n\t958139571,\n\t1322822218,\n\t1537002063,\n\t1747873779,\n\t1955562222,\n\t2024104815,\n\t2227730452,\n\t2361852424,\n\t2428436474,\n\t2756734187,\n\t3204031479,\n\t3329325298\n]);\nfunction _rotr(x, n) {\n\treturn x >>> n | x << 32 - n;\n}\nfunction sha256(data) {\n\tconst inputLen = data.length;\n\tconst bitLen = inputLen * 8;\n\tconst paddedLen = inputLen + 9 + 63 & -64;\n\tconst padded = new Uint8Array(paddedLen);\n\tpadded.set(data);\n\tpadded[inputLen] = 128;\n\tconst view = new DataView(padded.buffer);\n\tview.setUint32(paddedLen - 8, Math.floor(bitLen / 4294967296), false);\n\tview.setUint32(paddedLen - 4, bitLen >>> 0, false);\n\tconst H = new Uint32Array([\n\t\t1779033703,\n\t\t3144134277,\n\t\t1013904242,\n\t\t2773480762,\n\t\t1359893119,\n\t\t2600822924,\n\t\t528734635,\n\t\t1541459225\n\t]);\n\tconst W = /* @__PURE__ */ new Uint32Array(64);\n\tfor (let block = 0; block < paddedLen; block += 64) {\n\t\tfor (let t = 0; t < 16; t++) W[t] = view.getUint32(block + t * 4, false);\n\t\tfor (let t = 16; t < 64; t++) {\n\t\t\tconst w15 = W[t - 15];\n\t\t\tconst w2 = W[t - 2];\n\t\t\tconst s0 = _rotr(w15, 7) ^ _rotr(w15, 18) ^ w15 >>> 3;\n\t\t\tconst s1 = _rotr(w2, 17) ^ _rotr(w2, 19) ^ w2 >>> 10;\n\t\t\tW[t] = W[t - 16] + s0 + W[t - 7] + s1 >>> 0;\n\t\t}\n\t\tlet a = H[0], b = H[1], c = H[2], d = H[3];\n\t\tlet e = H[4], f = H[5], g = H[6], h = H[7];\n\t\tfor (let t = 0; t < 64; t++) {\n\t\t\tconst S1 = _rotr(e, 6) ^ _rotr(e, 11) ^ _rotr(e, 25);\n\t\t\tconst ch = e & f ^ ~e & g;\n\t\t\tconst temp1 = h + S1 + ch + K[t] + W[t] >>> 0;\n\t\t\tconst temp2 = (_rotr(a, 2) ^ _rotr(a, 13) ^ _rotr(a, 22)) + (a & b ^ a & c ^ b & c) >>> 0;\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = d + temp1 >>> 0;\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = temp1 + temp2 >>> 0;\n\t\t}\n\t\tH[0] = H[0] + a >>> 0;\n\t\tH[1] = H[1] + b >>> 0;\n\t\tH[2] = H[2] + c >>> 0;\n\t\tH[3] = H[3] + d >>> 0;\n\t\tH[4] = H[4] + e >>> 0;\n\t\tH[5] = H[5] + f >>> 0;\n\t\tH[6] = H[6] + g >>> 0;\n\t\tH[7] = H[7] + h >>> 0;\n\t}\n\tconst out = /* @__PURE__ */ new Uint8Array(32);\n\tconst outView = new DataView(out.buffer);\n\tfor (let i = 0; i < 8; i++) outView.setUint32(i * 4, H[i], false);\n\treturn out;\n}\n//#endregion\n//#region src/schema/hash.ts\nconst methodSchemaFields = [\n\t\"params\",\n\t\"result\",\n\t\"clientStream\",\n\t\"serverStream\"\n];\n/**\n* Compute the interface hash: SHA-256 of the canonicalized schema, truncated\n* to 16 hex chars (64 bits of collision budget per id).\n*\n* Canonicalization strips the schema down to its **normative wire-contract\n* projection** before hashing, so a single interface document can carry richer\n* non-normative material (codegen hints, safety expressions, notes) without\n* changing identity:\n*\n* 1. Normalize every JSON-Schema position (`params`, `result`, streams, and\n* `components.schemas`) onto the decidable linkrpc subset.\n* 2. Strip every `comment` field (non-normative — must not affect identity).\n* `description` is NORMATIVE and kept in the hash.\n* 3. Strip every **specification-extension** field — any object key whose name\n* begins with `x-` — at every level of the document (see\n* {@link EXTENSION_PREFIX}). This is the minimal, explicit \"one document,\n* two views\" mechanism: the stored document keeps the rich `x-…`\n* expressions; identity hashes only the simple contract. It mirrors\n* OpenRPC/OpenAPI specification extensions (this schema format is a subset\n* of OpenRPC 1.x). Editing an `x-…` value never changes the hash; changing\n* a wire field (`params`, `result`, member names, `type`, `required`,\n* `description`, `annotations`, …) does.\n* 4. Omit the top-level `hash` field itself.\n* 5. RFC 8785 JCS encode (recursive key sort, no whitespace) via {@link jcsCanonicalize}.\n*\n* Because no interface schema uses `x-…` keys today, this preserves every\n* existing hash: stripping a set of keys that are always absent is a no-op.\n*\n* > Reservation. `x-…` is reserved for non-normative extensions at every level.\n* > Member names cannot collide (they are alphanumeric per chapter 01 §2), and\n* > object property names in the JSON Schema subset MUST NOT begin with `x-`.\n*/\nfunction computeInterfaceHash(schema) {\n\tconst json = jcsCanonicalize(stripNonNormative(normalizeSchemaPositions(schema), true));\n\tconst digest = sha256(new TextEncoder().encode(json));\n\treturn Array.from(digest.subarray(0, 8), (b) => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\nfunction normalizeSchemaPositions(schema) {\n\tconst methods = Object.fromEntries(Object.entries(schema.methods).map(([name, method]) => {\n\t\tconst normalized = { ...method };\n\t\tfor (const field of methodSchemaFields) {\n\t\t\tconst value = normalized[field];\n\t\t\tif (value !== void 0) normalized[field] = normalizeJsonSchema(value);\n\t\t}\n\t\tif (method.errors !== void 0) normalized.errors = method.errors.map((error) => error.schema !== void 0 ? {\n\t\t\t...error,\n\t\t\tschema: normalizeJsonSchema(error.schema)\n\t\t} : {\n\t\t\t...error,\n\t\t\t...error.data === void 0 ? {} : { data: normalizeJsonSchema(error.data) }\n\t\t});\n\t\treturn [name, normalized];\n\t}));\n\tconst componentSchemas = schema.components?.schemas;\n\tconst components = componentSchemas === void 0 ? schema.components : {\n\t\t...schema.components,\n\t\tschemas: Object.fromEntries(Object.entries(componentSchemas).map(([name, value]) => [name, normalizeJsonSchema(value)]))\n\t};\n\treturn {\n\t\t...schema,\n\t\tmethods,\n\t\t...components === void 0 ? {} : { components }\n\t};\n}\n/**\n* Prefix marking a non-normative **specification-extension** key. Any object\n* key beginning with this prefix is stripped before hashing (at every level),\n* exactly like `comment`. Reserved for rich, identity-neutral material such as\n* codegen directives, richer validation/safety expressions, or tooling hints.\n*/\nconst EXTENSION_PREFIX = \"x-\";\n/** True for a key that must not contribute to the interface hash. */\nfunction isNonNormativeKey(key, isRoot) {\n\treturn key === \"comment\" || key.startsWith(\"x-\") || isRoot && (key === \"hash\" || key === \"tags\");\n}\nfunction stripNonNormative(value, isRoot = false) {\n\tif (value === null || typeof value !== \"object\") return value;\n\tif (Array.isArray(value)) return value.map((v) => stripNonNormative(v));\n\tconst out = {};\n\tfor (const k of Object.keys(value)) {\n\t\tif (isNonNormativeKey(k, isRoot)) continue;\n\t\tconst v = value[k];\n\t\tif (v === void 0) continue;\n\t\tout[k] = stripNonNormative(v);\n\t}\n\treturn out;\n}\n//#endregion\n//#region src/schema/interfaceTemplates.ts\nconst INTERFACE_TEMPLATES_EXTENSION = \"x-interface-templates\";\n/** Reflect concrete schema arguments without importing interface constructors. */\nfunction bindTemplateArguments(template, parameters) {\n\tvalidateInterfaceTemplate(template);\n\tconst expectedParameters = new Set(template.parameters);\n\tconst suppliedParameters = Object.keys(parameters);\n\tfor (const name of suppliedParameters) if (!expectedParameters.has(name)) throw new Error(`Interface template \"${template.id}\" supplies unknown parameter \"${name}\"`);\n\tfor (const name of expectedParameters) if (!Object.hasOwn(parameters, name)) throw new Error(`Interface template \"${template.id}\" is missing parameter \"${name}\"`);\n\tconst arguments_ = {};\n\tfor (const name of template.parameters) {\n\t\tconst components = {};\n\t\tconst parameterSchema = parameters[name];\n\t\tif (parameterSchema === void 0) throw new Error(`Interface template \"${template.id}\" is missing parameter \"${name}\"`);\n\t\targuments_[name] = {\n\t\t\tschema: zodToSvcJsonSchema(parameterSchema, {\n\t\t\t\tmethodName: `template=${template.id}`,\n\t\t\t\tschemaPosition: `parameter=${name}`,\n\t\t\t\tcomponents\n\t\t\t}),\n\t\t\t...Object.keys(components).length === 0 ? {} : { components: { schemas: components } }\n\t\t};\n\t}\n\treturn arguments_;\n}\n/** Attach structural metadata to an already lowered schema, without rebuilding a definition. */\nfunction attachInterfaceTemplates(schema, mapped) {\n\tconst templates = Object.create(null);\n\tconst instances = [];\n\tfor (const [name, instance] of Object.entries(mapped)) {\n\t\tconst priorTemplate = templates[instance.template.id];\n\t\tif (priorTemplate !== void 0 && !interfaceTemplatesEqual(priorTemplate, instance.template)) throw new Error(`Conflicting definitions for interface template \"${instance.template.id}\"`);\n\t\ttemplates[instance.template.id] = priorTemplate === void 0 ? instance.template : {\n\t\t\t...priorTemplate,\n\t\t\ttags: normalizeInterfaceTags([...priorTemplate.tags ?? [], ...instance.template.tags ?? []])\n\t\t};\n\t\tinstances.push({\n\t\t\t...instance.schema,\n\t\t\tname\n\t\t});\n\t}\n\tconst tags = normalizeInterfaceTags([...schema.tags ?? [], ...instances.flatMap((instance) => templates[instance.template].tags ?? [])]);\n\treturn {\n\t\t...schema,\n\t\t...schema.tags !== void 0 || tags.length > 0 ? { tags } : {},\n\t\t[INTERFACE_TEMPLATES_EXTENSION]: {\n\t\t\ttemplates,\n\t\t\tinstances\n\t\t}\n\t};\n}\n/** Stable, deduplicated discovery labels for a schema and its instantiated templates. */\nfunction getInterfaceTags(schema) {\n\tvalidateInterfaceTemplates(schema);\n\tconst metadata = schema[INTERFACE_TEMPLATES_EXTENSION];\n\treturn normalizeInterfaceTags([...schema.tags ?? [], ...(metadata?.instances ?? []).flatMap((instance) => metadata?.templates[instance.template]?.tags ?? [])]);\n}\nfunction normalizeInterfaceTags(tags) {\n\treturn [...new Set(tags)].sort();\n}\nfunction validateInterfaceTemplates(schema) {\n\tvalidateTags(schema.tags, `Interface \"${schema.id}\"`);\n\tconst raw = schema[INTERFACE_TEMPLATES_EXTENSION];\n\tif (raw === void 0) return;\n\tif (!_isRecord(raw) || !_isRecord(raw.templates) || !Array.isArray(raw.instances)) throw new SchemaValidationError(`${INTERFACE_TEMPLATES_EXTENSION} must contain templates and instances`);\n\tconst templates = raw.templates;\n\tfor (const [id, template] of Object.entries(templates)) {\n\t\tif (!_isRecord(template) || template.id !== id) throw new SchemaValidationError(`Interface template key \"${id}\" must match its id`);\n\t\tvalidateInterfaceTemplate(template);\n\t}\n\tconst occupied = /* @__PURE__ */ new Map();\n\tconst names = /* @__PURE__ */ new Set();\n\tfor (const value of raw.instances) {\n\t\tif (!_isRecord(value)) throw new SchemaValidationError(\"Interface template instance must be an object\");\n\t\tif (typeof value.name !== \"string\") throw new SchemaValidationError(\"Interface template instance name must be a string\");\n\t\tif (typeof value.template !== \"string\") throw new SchemaValidationError(\"Interface template reference must be a string\");\n\t\tif (value.prefix !== void 0) throw new SchemaValidationError(\"Interface template instances require explicit member mappings, not prefixes\");\n\t\tif (!_isRecord(value.members)) throw new SchemaValidationError(\"Interface template members must be an object\");\n\t\tif (!_isRecord(value.arguments)) throw new SchemaValidationError(\"Interface template arguments must be an object\");\n\t\tconst instance = {\n\t\t\tname: value.name,\n\t\t\ttemplate: value.template,\n\t\t\tmembers: value.members,\n\t\t\targuments: value.arguments\n\t\t};\n\t\t_assertSegment(instance.name, \"interface template instance name\");\n\t\tif (names.has(instance.name)) throw new SchemaValidationError(`Interface template instance name collision at \"${instance.name}\"`);\n\t\tnames.add(instance.name);\n\t\tconst template = templates[instance.template];\n\t\tif (!Object.hasOwn(templates, instance.template)) throw new SchemaValidationError(`Interface template instance \"${instance.name}\" references unknown template \"${instance.template}\"`);\n\t\t_validateArguments(instance, template);\n\t\tif (instance.members !== void 0) {\n\t\t\tfor (const name of Object.keys(instance.members)) if (!Object.hasOwn(template.methods, name)) throw new SchemaValidationError(`Unknown mapped member \"${name}\"`);\n\t\t\tfor (const name of Object.keys(template.methods)) {\n\t\t\t\tconst target = instance.members[name];\n\t\t\t\tif (!Object.hasOwn(instance.members, name) || typeof target !== \"string\") throw new SchemaValidationError(`Missing mapped member \"${name}\"`);\n\t\t\t}\n\t\t}\n\t\t_validateInstanceMethods(schema, instance, template, occupied);\n\t}\n}\n/**\n* Best-effort reflection selection, not template consumption or RPC validation.\n* Keep a whole document; incompatible explanations and ties retain the first.\n* Malformed optional metadata is unranked, while template-aware consumers still\n* use validateInterfaceTemplates and report its errors normally.\n*/\nfunction preferRicherInterfaceSchema(existing, candidate) {\n\tif (existing.id !== candidate.id || existing.hash !== candidate.hash) return existing;\n\tif (computeInterfaceHash(existing) !== existing.hash || computeInterfaceHash(candidate) !== candidate.hash) return existing;\n\tvalidateTags(existing.tags, `Interface \"${existing.id}\"`);\n\tvalidateTags(candidate.tags, `Interface \"${candidate.id}\"`);\n\tconst next = _rankingMetadata(candidate);\n\tconst prior = _rankingMetadata(existing);\n\tif (candidate[\"x-interface-templates\"] !== void 0 && next === void 0) return existing;\n\tif (existing[\"x-interface-templates\"] !== void 0 && prior === void 0) return candidate;\n\tif (prior !== void 0 && next === void 0) return existing;\n\tif (next !== void 0 && prior !== void 0) {\n\t\tfor (const [id, template] of Object.entries(prior.templates)) if (!Object.hasOwn(next.templates, id) || !interfaceTemplatesEqual(template, next.templates[id])) return existing;\n\t\tfor (const instance of prior.instances) if (!next.instances.some((value) => _jsonEqual(instance, value))) return existing;\n\t\tfor (const [key, value] of Object.entries(prior)) if (key !== \"templates\" && key !== \"instances\" && !_jsonEqual(value, next[key])) return existing;\n\t}\n\tconst existingTags = getInterfaceTags(existing);\n\tconst candidateTags = getInterfaceTags(candidate);\n\tif (existingTags.some((tag) => !candidateTags.includes(tag))) return existing;\n\treturn prior === void 0 && next !== void 0 || prior !== void 0 && next !== void 0 && (Object.keys(next.templates).length > Object.keys(prior.templates).length || next.instances.length > prior.instances.length) || candidateTags.length > existingTags.length ? candidate : existing;\n}\nfunction _rankingMetadata(schema) {\n\tif (schema[\"x-interface-templates\"] === void 0) return void 0;\n\ttry {\n\t\tvalidateInterfaceTemplates(schema);\n\t} catch (error) {\n\t\tif (!(error instanceof SchemaValidationError)) throw error;\n\t\treturn;\n\t}\n\treturn schema[INTERFACE_TEMPLATES_EXTENSION];\n}\nfunction validateInterfaceTemplate(template) {\n\tif (!_isRecord(template) || typeof template.id !== \"string\" || template.id.length === 0) throw new SchemaValidationError(\"Interface template id must be a non-empty string\");\n\tif (!Array.isArray(template.parameters) || !_isRecord(template.methods)) throw new SchemaValidationError(`Interface template \"${template.id}\" must contain parameters and methods`);\n\tvalidateTags(template.tags, `Interface template \"${template.id}\"`);\n\tconst parameters = /* @__PURE__ */ new Set();\n\tfor (const parameter of template.parameters) {\n\t\tif (typeof parameter !== \"string\" || parameter.length === 0) throw new SchemaValidationError(`Interface template \"${template.id}\" has an invalid parameter name`);\n\t\tif (parameters.has(parameter)) throw new SchemaValidationError(`Interface template \"${template.id}\" repeats parameter \"${parameter}\"`);\n\t\tparameters.add(parameter);\n\t}\n\tconst components = _componentSchemas(template.components);\n\tfor (const [name, method] of Object.entries(template.methods)) {\n\t\t_assertSegment(name, `member of interface template \"${template.id}\"`);\n\t\tif (!_isRecord(method) || !Object.hasOwn(method, \"params\")) throw new SchemaValidationError(`Interface template \"${template.id}\" member \"${name}\" has no params`);\n\t\tfor (const field of _methodSchemaFields) {\n\t\t\tconst value = method[field];\n\t\t\tif (field === \"params\" || value !== void 0) _validateTemplateSchema(value, parameters, components, /* @__PURE__ */ new Set());\n\t\t}\n\t\tif (method.errors !== void 0 && !Array.isArray(method.errors)) throw new SchemaValidationError(\"Interface template method errors must be an array\");\n\t\tfor (const error of method.errors ?? []) {\n\t\t\tif (!_isRecord(error)) throw new SchemaValidationError(\"Interface template method error must be an object\");\n\t\t\tif (error.schema !== void 0) _validateTemplateSchema(error.schema, parameters, components, /* @__PURE__ */ new Set());\n\t\t\tif (error.data !== void 0) _validateTemplateSchema(error.data, parameters, components, /* @__PURE__ */ new Set());\n\t\t}\n\t}\n\tfor (const component of Object.values(components)) _validateTemplateSchema(component, parameters, components, /* @__PURE__ */ new Set());\n}\nfunction _validateTemplateSchema(schema, parameters, components, seen) {\n\tif (typeof schema === \"boolean\") return;\n\tif (!_isRecord(schema)) throw new SchemaValidationError(\"Interface template schema must be an object or boolean\");\n\tif (seen.has(schema)) return;\n\tseen.add(schema);\n\tif (\"$parameter\" in schema) {\n\t\tif (Object.keys(schema).length !== 1 || typeof schema.$parameter !== \"string\") throw new SchemaValidationError(\"A schema parameter reference must contain only $parameter\");\n\t\tif (!parameters.has(schema.$parameter)) throw new SchemaValidationError(`Unknown schema parameter \"${schema.$parameter}\"`);\n\t\treturn;\n\t}\n\tif (\"$ref\" in schema) {\n\t\tif (typeof schema.$ref !== \"string\") throw new SchemaValidationError(\"Component reference must be a string\");\n\t\tconst name = componentSchemaName(schema.$ref);\n\t\tif (!Object.hasOwn(components, name)) throw new SchemaValidationError(`Unknown interface template component \"${name}\"`);\n\t}\n\tfor (const child of _schemaChildren(schema)) _validateTemplateSchema(child, parameters, components, seen);\n}\nfunction _validateArguments(instance, template) {\n\tconst expected = new Set(template.parameters);\n\tfor (const name of Object.keys(instance.arguments)) if (!expected.has(name)) throw new SchemaValidationError(`Interface template instance \"${instance.name}\" supplies unknown parameter \"${name}\"`);\n\tfor (const name of expected) {\n\t\tconst argument = instance.arguments[name];\n\t\tif (!_isRecord(argument) || !Object.hasOwn(argument, \"schema\")) throw new SchemaValidationError(`Interface template instance \"${instance.name}\" is missing parameter \"${name}\"`);\n\t\tconst components = _componentSchemas(argument.components);\n\t\t_validateConcreteSchema(argument.schema, components, /* @__PURE__ */ new Set());\n\t\tfor (const component of Object.values(components)) _validateConcreteSchema(component, components, /* @__PURE__ */ new Set());\n\t}\n}\nfunction _validateConcreteSchema(schema, components, seen) {\n\tif (typeof schema === \"boolean\") return;\n\tif (!_isRecord(schema)) throw new SchemaValidationError(\"Concrete schema argument must be an object or boolean\");\n\tif (seen.has(schema)) return;\n\tseen.add(schema);\n\tif (\"$parameter\" in schema) throw new SchemaValidationError(\"Concrete schema arguments cannot contain $parameter\");\n\tif (\"$ref\" in schema) {\n\t\tif (typeof schema.$ref !== \"string\") throw new SchemaValidationError(\"Component reference must be a string\");\n\t\tconst name = componentSchemaName(schema.$ref);\n\t\tif (!Object.hasOwn(components, name)) throw new SchemaValidationError(`Unknown schema argument component \"${name}\"`);\n\t}\n\tfor (const child of _schemaChildren(schema)) _validateConcreteSchema(child, components, seen);\n}\nfunction _validateInstanceMethods(schema, instance, template, occupied) {\n\tconst expectedComponents = {};\n\tconst instantiatedMethods = Object.fromEntries(Object.entries(template.methods).map(([name, method]) => [name, _instantiateMethod(method, template, instance, expectedComponents)]));\n\tconst actualComponents = schema.components?.schemas ?? {};\n\tfor (const [name, expected] of Object.entries(instantiatedMethods)) {\n\t\tconst flattenedName = interfaceTemplateMemberName(instance, name);\n\t\t_assertSegment(flattenedName, `mapped member of interface template instance \"${instance.name}\"`);\n\t\tconst prior = occupied.get(flattenedName);\n\t\tif (prior !== void 0) throw new SchemaValidationError(`Interface template member collision at \"${flattenedName}\" between \"${prior}\" and \"${instance.name}\"`);\n\t\toccupied.set(flattenedName, instance.name);\n\t\tconst actual = schema.methods[flattenedName];\n\t\tif (actual === void 0) throw new SchemaValidationError(`Interface template instance \"${instance.name}\" is missing mapped member \"${flattenedName}\"`);\n\t\tif (!_methodsEquivalent(expected, actual, expectedComponents, actualComponents)) throw new SchemaValidationError(`Interface template instance \"${instance.name}\" member \"${flattenedName}\" does not match its instantiated template`);\n\t}\n}\nfunction interfaceTemplateMemberName(instance, member) {\n\tconst mapped = instance.members[member];\n\tif (mapped !== void 0) return mapped;\n\tthrow new Error(`Missing mapped member \"${member}\"`);\n}\nfunction _instantiateMethod(method, template, instance, components) {\n\tconst instantiate = (value) => _instantiateSchema(value, template, instance, components, /* @__PURE__ */ new Map());\n\tconst result = {\n\t\t...method,\n\t\tparams: instantiate(method.params)\n\t};\n\tfor (const field of _methodSchemaFields.slice(1)) {\n\t\tconst value = method[field];\n\t\tif (value !== void 0) result[field] = instantiate(value);\n\t}\n\tif (method.errors !== void 0) result.errors = method.errors.map((error) => error.schema !== void 0 ? {\n\t\tcode: error.code,\n\t\tschema: instantiate(error.schema)\n\t} : {\n\t\tcode: error.code,\n\t\tmessage: error.message,\n\t\t...error.type === void 0 ? {} : { type: error.type },\n\t\t...error.data === void 0 ? {} : { data: instantiate(error.data) }\n\t});\n\treturn result;\n}\nfunction _instantiateSchema(schema, template, instance, destination, copied) {\n\tif (typeof schema === \"boolean\") return schema;\n\tif (\"$parameter\" in schema) return _copyArgumentSchema(schema.$parameter, instance, destination, copied);\n\treturn _rewriteSchema(schema, (name) => {\n\t\tconst key = `template:${template.id}:${name}`;\n\t\tif (!Object.hasOwn(destination, key)) {\n\t\t\tconst component = template.components?.schemas?.[name];\n\t\t\tif (component === void 0) throw new Error(`Unknown interface template component \"${name}\"`);\n\t\t\tdestination[key] = false;\n\t\t\tdestination[key] = _instantiateSchema(component, template, instance, destination, copied);\n\t\t}\n\t\treturn key;\n\t}, (child) => _instantiateSchema(child, template, instance, destination, copied));\n}\nfunction _copyArgumentSchema(parameter, instance, destination, copied) {\n\tconst argument = instance.arguments[parameter];\n\tif (argument === void 0) throw new Error(`Missing schema argument \"${parameter}\"`);\n\tconst rewrite = (schema) => _rewriteSchema(schema, (name) => {\n\t\tconst sourceKey = `${parameter}:${name}`;\n\t\tconst existing = copied.get(sourceKey);\n\t\tif (existing !== void 0) return existing;\n\t\tconst target = `argument:${instance.name}:${parameter}:${name}`;\n\t\tcopied.set(sourceKey, target);\n\t\tconst component = argument.components?.schemas?.[name];\n\t\tif (component === void 0) throw new Error(`Unknown schema argument component \"${name}\"`);\n\t\tdestination[target] = false;\n\t\tdestination[target] = rewrite(component);\n\t\treturn target;\n\t}, (child) => rewrite(child));\n\treturn rewrite(argument.schema);\n}\nfunction _rewriteSchema(schema, rewriteRef, rewriteChild) {\n\tif (typeof schema === \"boolean\") return schema;\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(schema)) if (key === \"$ref\" && typeof value === \"string\") result.$ref = componentSchemaRef(rewriteRef(componentSchemaName(value)));\n\telse if (key === \"properties\" && _isRecord(value)) result.properties = Object.fromEntries(Object.entries(value).map(([name, child]) => [name, rewriteChild(child)]));\n\telse if (key === \"additionalProperties\" || key === \"items\") result[key] = typeof value === \"boolean\" ? value : rewriteChild(value);\n\telse if (key === \"prefixItems\" || key === \"anyOf\" || key === \"oneOf\") result[key] = value.map(rewriteChild);\n\telse result[key] = value;\n\treturn result;\n}\nfunction _methodsEquivalent(expected, actual, expectedComponents, actualComponents) {\n\tconst expectedRest = { ...expected };\n\tconst actualRest = { ...actual };\n\tfor (const field of _methodSchemaFields) {\n\t\tconst expectedSchema = expected[field];\n\t\tconst actualSchema = actual[field];\n\t\tdelete expectedRest[field];\n\t\tdelete actualRest[field];\n\t\tif (expectedSchema === void 0 || actualSchema === void 0) {\n\t\t\tif (expectedSchema !== actualSchema) return false;\n\t\t} else if (!_schemasEquivalent(expectedSchema, actualSchema, expectedComponents, actualComponents)) return false;\n\t}\n\tconst expectedErrors = expectedRest.errors;\n\tconst actualErrors = actualRest.errors;\n\tdelete expectedRest.errors;\n\tdelete actualRest.errors;\n\tif (!_jsonEqual(expectedRest, actualRest)) return false;\n\tif (expectedErrors === void 0 || actualErrors === void 0) return expectedErrors === actualErrors;\n\tif (expectedErrors.length !== actualErrors.length) return false;\n\treturn expectedErrors.every((error, index) => {\n\t\tconst candidate = actualErrors[index];\n\t\tif (error.schema !== void 0 || candidate.schema !== void 0) return error.schema !== void 0 && candidate.schema !== void 0 && error.code === candidate.code && _schemasEquivalent(error.schema, candidate.schema, expectedComponents, actualComponents);\n\t\treturn error.code === candidate.code && error.type === candidate.type && error.message === candidate.message && (error.data === void 0 || candidate.data === void 0 ? error.data === candidate.data : _schemasEquivalent(error.data, candidate.data, expectedComponents, actualComponents));\n\t});\n}\nfunction interfaceTemplateArgumentsEquivalent(left, right) {\n\treturn _schemasEquivalent(left.schema, right.schema, left.components?.schemas ?? {}, right.components?.schemas ?? {});\n}\nfunction interfaceTemplatesEqual(left, right) {\n\tconst { tags: _leftTags, ...leftStructure } = left;\n\tconst { tags: _rightTags, ...rightStructure } = right;\n\treturn _jsonEqual(leftStructure, rightStructure);\n}\nfunction validateTags(tags, context) {\n\tif (tags === void 0) return;\n\tif (!Array.isArray(tags) || tags.some((tag) => typeof tag !== \"string\")) throw new SchemaValidationError(`${context} tags must be an array of strings`);\n}\nfunction _schemasEquivalent(left, right, leftComponents, rightComponents, seen = /* @__PURE__ */ new WeakMap()) {\n\tif (typeof left === \"boolean\" || typeof right === \"boolean\") return left === right;\n\tlet rights = seen.get(left);\n\tif (rights?.has(right)) return true;\n\tif (rights === void 0) {\n\t\trights = /* @__PURE__ */ new WeakSet();\n\t\tseen.set(left, rights);\n\t}\n\trights.add(right);\n\tconst leftRef = \"$ref\" in left ? left.$ref : void 0;\n\tconst rightRef = \"$ref\" in right ? right.$ref : void 0;\n\tconst leftOwn = leftRef === void 0 ? _toRecord(left) : _withoutRef(left);\n\tconst rightOwn = rightRef === void 0 ? _toRecord(right) : _withoutRef(right);\n\tif (leftRef !== void 0 && Object.keys(leftOwn).length === 0) {\n\t\tconst resolved = leftComponents[componentSchemaName(leftRef)];\n\t\treturn resolved !== void 0 && _schemasEquivalent(resolved, right, leftComponents, rightComponents, seen);\n\t}\n\tif (rightRef !== void 0 && Object.keys(rightOwn).length === 0) {\n\t\tconst resolved = rightComponents[componentSchemaName(rightRef)];\n\t\treturn resolved !== void 0 && _schemasEquivalent(left, resolved, leftComponents, rightComponents, seen);\n\t}\n\tif (!_schemaObjectsEquivalent(leftOwn, rightOwn, leftComponents, rightComponents, seen)) return false;\n\tif (leftRef === void 0 || rightRef === void 0) {\n\t\tif (leftRef === rightRef) return true;\n\t\tconst ref = leftRef ?? rightRef;\n\t\tconst components = leftRef === void 0 ? rightComponents : leftComponents;\n\t\tconst resolved = components[componentSchemaName(ref)];\n\t\tif (resolved === void 0) return false;\n\t\treturn leftRef === void 0 ? _schemasEquivalent(left, resolved, leftComponents, components, seen) : _schemasEquivalent(resolved, right, components, rightComponents, seen);\n\t}\n\tconst leftResolved = leftComponents[componentSchemaName(leftRef)];\n\tconst rightResolved = rightComponents[componentSchemaName(rightRef)];\n\treturn leftResolved !== void 0 && rightResolved !== void 0 && _schemasEquivalent(leftResolved, rightResolved, leftComponents, rightComponents, seen);\n}\nfunction _schemaObjectsEquivalent(left, right, leftComponents, rightComponents, seen) {\n\tconst leftKeys = Object.keys(left).sort();\n\tif (!_jsonEqual(leftKeys, Object.keys(right).sort())) return false;\n\tfor (const key of leftKeys) {\n\t\tconst l = left[key];\n\t\tconst r = right[key];\n\t\tif (key === \"properties\" && _isRecord(l) && _isRecord(r)) {\n\t\t\tconst names = Object.keys(l).sort();\n\t\t\tif (!_jsonEqual(names, Object.keys(r).sort())) return false;\n\t\t\tif (!names.every((name) => _schemasEquivalent(l[name], r[name], leftComponents, rightComponents, seen))) return false;\n\t\t} else if ((key === \"items\" || key === \"additionalProperties\") && _isSchema(l) && _isSchema(r)) {\n\t\t\tif (!_schemasEquivalent(l, r, leftComponents, rightComponents, seen)) return false;\n\t\t} else if ((key === \"prefixItems\" || key === \"anyOf\" || key === \"oneOf\") && Array.isArray(l) && Array.isArray(r)) {\n\t\t\tif (l.length !== r.length || !l.every((value, index) => _schemasEquivalent(value, r[index], leftComponents, rightComponents, seen))) return false;\n\t\t} else if (!_jsonEqual(l, r)) return false;\n\t}\n\treturn true;\n}\nfunction _componentSchemas(components) {\n\tif (components === void 0) return {};\n\tif (!_isRecord(components) || components.schemas !== void 0 && !_isRecord(components.schemas)) throw new SchemaValidationError(\"Schema components and component schemas must be objects\");\n\treturn components.schemas ?? {};\n}\nfunction _schemaChildren(schema) {\n\tconst result = [];\n\tif (schema.properties !== void 0) {\n\t\tif (!_isRecord(schema.properties)) throw new SchemaValidationError(\"Schema properties must be an object\");\n\t\tresult.push(...Object.values(schema.properties));\n\t}\n\tfor (const key of [\"items\", \"additionalProperties\"]) {\n\t\tconst child = schema[key];\n\t\tif (child !== void 0) {\n\t\t\tif (!_isSchema(child)) throw new SchemaValidationError(`Schema ${key} must be an object or boolean`);\n\t\t\tresult.push(child);\n\t\t}\n\t}\n\tfor (const key of [\n\t\t\"prefixItems\",\n\t\t\"anyOf\",\n\t\t\"oneOf\"\n\t]) {\n\t\tconst children = schema[key];\n\t\tif (children !== void 0) {\n\t\t\tif (!Array.isArray(children)) throw new SchemaValidationError(`Schema ${key} must be an array`);\n\t\t\tresult.push(...children);\n\t\t}\n\t}\n\treturn result;\n}\nconst _methodSchemaFields = [\n\t\"params\",\n\t\"result\",\n\t\"clientStream\",\n\t\"serverStream\"\n];\nconst _segmentPattern = /^[A-Za-z0-9!#$%&'()*+,\\-;=?@\\[\\]^_`{|}~]+$/;\nfunction _assertSegment(value, label) {\n\tif (!_segmentPattern.test(value)) throw new SchemaValidationError(`Invalid ${label} \"${value}\"`);\n}\nfunction _withoutRef(schema) {\n\tconst result = _toRecord(schema);\n\tdelete result.$ref;\n\treturn result;\n}\nfunction _toRecord(value) {\n\treturn Object.fromEntries(Object.entries(value));\n}\nfunction _isSchema(value) {\n\treturn typeof value === \"boolean\" || _isRecord(value);\n}\nfunction _isRecord(value) {\n\treturn value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction _jsonEqual(left, right) {\n\tif (left === right) return true;\n\tif (Array.isArray(left) || Array.isArray(right)) return Array.isArray(left) && Array.isArray(right) && left.length === right.length && left.every((value, index) => _jsonEqual(value, right[index]));\n\tif (!_isRecord(left) || !_isRecord(right)) return false;\n\tconst leftKeys = Object.keys(left).sort();\n\tconst rightKeys = Object.keys(right).sort();\n\treturn leftKeys.length === rightKeys.length && leftKeys.every((key, index) => key === rightKeys[index] && _jsonEqual(left[key], right[key]));\n}\n//#endregion\n//#region src/schema/schemaToZod.ts\n/**\n* Create a recursive LinkRPC-schema validator materializer. Component\n* references are lazy, so self and mutual recursion remain guarded.\n*/\nfunction createSchemaToZod(components = {}) {\n\tassertSchemaReferences([], components);\n\tconst refs = /* @__PURE__ */ new Map();\n\tconst component = (name) => {\n\t\tconst existing = refs.get(name);\n\t\tif (existing !== void 0) return existing;\n\t\tconst source = components[name];\n\t\tif (source === void 0) throw new Error(`schemaToZod: dangling component reference \"${name}\"`);\n\t\tconst lazy = z.lazy(() => compile(source));\n\t\trefs.set(name, lazy);\n\t\treturn lazy;\n\t};\n\tconst compile = (schema) => {\n\t\tif (schema === true) return z.unknown();\n\t\tif (schema === false) return z.never();\n\t\tconst raw = schema;\n\t\tlet base;\n\t\tif (\"$ref\" in schema) base = component(componentSchemaName(schema.$ref));\n\t\telse if (\"const\" in schema) base = valueSchema(schema.const);\n\t\telse if (\"enum\" in schema) base = union$1(schema.enum.map(valueSchema));\n\t\telse if (\"anyOf\" in schema) base = union$1(schema.anyOf.map(compile));\n\t\telse if (\"oneOf\" in schema) base = union$1(schema.oneOf.map(compile));\n\t\telse if (isAnnotationOnlySchema(raw)) base = z.unknown();\n\t\telse switch (schema.type) {\n\t\t\tcase \"null\":\n\t\t\t\tbase = z.null();\n\t\t\t\tbreak;\n\t\t\tcase \"boolean\":\n\t\t\t\tbase = z.boolean();\n\t\t\t\tbreak;\n\t\t\tcase \"string\":\n\t\t\t\tbase = stringSchema(schema.format);\n\t\t\t\tbreak;\n\t\t\tcase \"integer\":\n\t\t\t\tbase = z.number().int();\n\t\t\t\tbreak;\n\t\t\tcase \"number\":\n\t\t\t\tbase = z.number();\n\t\t\t\tbreak;\n\t\t\tcase \"array\":\n\t\t\t\tif (\"prefixItems\" in schema) {\n\t\t\t\t\tconst tuple = z.tuple(schema.prefixItems.map(compile));\n\t\t\t\t\tbase = schema.items !== void 0 && schema.items !== false ? tuple.rest(compile(schema.items)) : tuple;\n\t\t\t\t} else base = z.array(compile(schema.items));\n\t\t\t\tbreak;\n\t\t\tcase \"object\": {\n\t\t\t\tconst required = new Set(schema.required ?? []);\n\t\t\t\tconst shape = {};\n\t\t\t\tfor (const [name, property] of Object.entries(schema.properties ?? {})) {\n\t\t\t\t\tconst validator = compile(property);\n\t\t\t\t\tshape[name] = required.has(name) ? validator : validator.optional();\n\t\t\t\t}\n\t\t\t\tconst object = z.object(shape);\n\t\t\t\tif (schema.additionalProperties === false) base = object.strict();\n\t\t\t\telse if (schema.additionalProperties === true) base = object.loose();\n\t\t\t\telse base = object.catchall(compile(schema.additionalProperties));\n\t\t\t\tbase = base.superRefine((value, context) => {\n\t\t\t\t\tfor (const name of required) if (typeof value === \"object\" && value !== null && !Object.hasOwn(value, name)) context.addIssue({\n\t\t\t\t\t\tcode: \"custom\",\n\t\t\t\t\t\tpath: [name],\n\t\t\t\t\t\tmessage: \"Required property is missing\"\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: throw new Error(\"schemaToZod: unsupported schema type; normalize producer schemas before use\");\n\t\t}\n\t\treturn base;\n\t};\n\treturn { toZod(schema) {\n\t\tassertSchemaReferences([schema], components);\n\t\tconst result = compile(schema);\n\t\tschemaSources.set(result, {\n\t\t\tschema,\n\t\t\tcomponents\n\t\t});\n\t\treturn result;\n\t} };\n}\nfunction isAnnotationOnlySchema(schema) {\n\treturn ![\n\t\t\"$ref\",\n\t\t\"const\",\n\t\t\"enum\",\n\t\t\"anyOf\",\n\t\t\"oneOf\",\n\t\t\"type\",\n\t\t\"properties\",\n\t\t\"items\",\n\t\t\"prefixItems\",\n\t\t\"additionalProperties\"\n\t].some((key) => Object.hasOwn(schema, key));\n}\nfunction schemaToZod(schema, components = {}) {\n\treturn createSchemaToZod(components).toZod(schema);\n}\nfunction union$1(items) {\n\tif (items.length === 0) return z.never();\n\tif (items.length === 1) return items[0];\n\treturn z.union(items);\n}\nfunction valueSchema(expected) {\n\treturn z.unknown().refine((actual) => jsonValueEqual(actual, expected), { message: `Expected ${JSON.stringify(expected)}` });\n}\nfunction jsonValueEqual(actual, expected) {\n\tif (Object.is(actual, expected)) return true;\n\tif (Array.isArray(actual) && Array.isArray(expected)) return actual.length === expected.length && actual.every((value, index) => jsonValueEqual(value, expected[index]));\n\tif (actual !== null && expected !== null && typeof actual === \"object\" && typeof expected === \"object\" && !Array.isArray(actual) && !Array.isArray(expected)) {\n\t\tconst actualRecord = actual;\n\t\tconst expectedRecord = expected;\n\t\tconst keys = Object.keys(actualRecord);\n\t\treturn keys.length === Object.keys(expectedRecord).length && keys.every((key) => Object.hasOwn(expectedRecord, key) && jsonValueEqual(actualRecord[key], expectedRecord[key]));\n\t}\n\treturn false;\n}\nfunction stringSchema(format) {\n\tswitch (format) {\n\t\tcase \"email\": return z.email();\n\t\tcase \"uri\":\n\t\tcase \"url\": return z.url();\n\t\tcase \"uuid\": return z.uuid();\n\t\tcase \"date-time\": return z.iso.datetime();\n\t\tdefault: return z.string();\n\t}\n}\n//#endregion\n//#region src/schema/validateInterfaceErrors.ts\nfunction validateInterfaceErrors(schema) {\n\tif (schema === void 0) return;\n\tfor (const [methodName, method] of Object.entries(schema.methods)) {\n\t\tif (method.result === void 0 && method.errors !== void 0) throw new Error(`Notification \"${methodName}\" cannot declare application errors.`);\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\tconst errors = method.errors ?? [];\n\t\tfor (const error of errors) {\n\t\t\tif (!Number.isInteger(error.code) || error.code < -2147483648 || error.code > 2147483647) throw new Error(`Application error code ${error.code} on \"${methodName}\" must be a signed 32-bit integer.`);\n\t\t\tif (errors.some((other) => other !== error && other.code === error.code && (other.schema !== void 0 || error.schema !== void 0))) throw new Error(`Raw error code ${error.code} on \"${methodName}\" cannot be shared.`);\n\t\t\tif (error.schema !== void 0) {\n\t\t\t\tif ([\n\t\t\t\t\t\"message\",\n\t\t\t\t\t\"type\",\n\t\t\t\t\t\"data\"\n\t\t\t\t].some((key) => Object.hasOwn(error, key))) throw new Error(`Raw error ${error.code} on \"${methodName}\" must contain only code and schema.`);\n\t\t\t} else {\n\t\t\t\tif (typeof error.message !== \"string\") throw new Error(`Application error message on \"${methodName}\" must be a string.`);\n\t\t\t\tif (error.code >= -32768 && error.code <= -32e3 || error.code === -32800) throw new Error(`Application error code ${error.code} on \"${methodName}\" is reserved by JSON-RPC or LinkRPC.`);\n\t\t\t\tif (error.type !== void 0 && (typeof error.type !== \"string\" || error.type.length === 0)) throw new Error(`Application error type on \"${methodName}\" must be a nonempty string.`);\n\t\t\t}\n\t\t\tconst key = error.type === void 0 ? `code:${error.code}` : `type:${error.type}`;\n\t\t\tif (seen.has(key)) throw new Error(`Duplicate application error ${key} on \"${methodName}\".`);\n\t\t\tseen.add(key);\n\t\t}\n\t}\n}\n//#endregion\n//#region src/schema/interfaceTemplateGroup.ts\n/** Local authoring marker. Never serialized into the wire contract. */\nconst interfaceTemplateGroup = Symbol.for(\"@hediet/linkrpc.interfaceTemplateGroup\");\n//#endregion\n//#region src/connection/interfaceDefinition.ts\nconst interfaceDefinitionState = /* @__PURE__ */ new WeakMap();\nvar InterfaceDefinition = class {\n\tinfo;\n\tmembers;\n\t/** Typed wire references for capability and access-request construction. */\n\tref;\n\tconstructor(info, members, opts = {}) {\n\t\tthis.info = info;\n\t\tthis.members = members;\n\t\tif (opts.frozenSchema !== void 0 && opts.templates !== void 0) throw new Error(\"Cannot combine frozenSchema with authored templates\");\n\t\tconst frozenSchema = opts.templates === void 0 ? opts.frozenSchema : attachInterfaceTemplates(buildSchema(info, members, \"\"), opts.templates);\n\t\tvalidateInterfaceErrors(frozenSchema);\n\t\tif (frozenSchema !== void 0) validateInterfaceTemplates(frozenSchema);\n\t\tconst effectiveTags = frozenSchema === void 0 ? normalizeInterfaceTags(info.tags ?? []) : getInterfaceTags(frozenSchema);\n\t\tif (info.tags !== void 0 || effectiveTags.length > 0) this.info = {\n\t\t\t...info,\n\t\t\ttags: effectiveTags\n\t\t};\n\t\tinterfaceDefinitionState.set(this, {\n\t\t\tfrozenSchema,\n\t\t\tschemaCache: void 0,\n\t\t\thashCache: void 0,\n\t\t\tdeclarationGroups: void 0\n\t\t});\n\t\tthis.ref = Object.fromEntries(Object.keys(members).map((member) => [member, {\n\t\t\tinterfaceId: this.info.id,\n\t\t\tinterfaceHash: this.schemaHash,\n\t\t\tmember\n\t\t}]));\n\t\tif (info.hash !== void 0 && this.schemaHash !== info.hash) throw new Error(`Interface hash mismatch for \"${info.id}\": expected \"${info.hash}\", got \"${this.schemaHash}\". The interface's wire contract changed — update the pinned hash to \"${this.schemaHash}\" after reviewing the change.`);\n\t}\n\t/** @internal Materialize authored groups using the existing wire call functions verbatim. */\n\tnestClient(client) {\n\t\tconst groups = interfaceDefinitionState.get(this).declarationGroups;\n\t\tif (groups === void 0) return client;\n\t\tconst groupedWireNames = new Set(Object.values(groups).flatMap((group) => Object.values(group)));\n\t\tconst result = Object.create(null);\n\t\tfor (const [name, call] of Object.entries(client)) if (!groupedWireNames.has(name)) result[name] = call;\n\t\tfor (const [name, mapping] of Object.entries(groups)) {\n\t\t\tconst group = Object.create(null);\n\t\t\tfor (const [member, wireName] of Object.entries(mapping)) group[member] = client[wireName];\n\t\t\tresult[name] = group;\n\t\t}\n\t\treturn result;\n\t}\n\t/** Validate grouped implementations atomically, then lower them to wire handlers. */\n\tflattenHandlers(handlers) {\n\t\tconst groups = interfaceDefinitionState.get(this).declarationGroups;\n\t\tif (groups === void 0) return handlers;\n\t\tconst requireObject = (value, where) => {\n\t\t\tif (value === null || typeof value !== \"object\" || Array.isArray(value)) throw new Error(`Expected handler group object at \"${where}\"`);\n\t\t\treturn value;\n\t\t};\n\t\tconst implementation = requireObject(handlers, this.info.id);\n\t\tconst groupedWireNames = new Set(Object.values(groups).flatMap((group) => Object.values(group)));\n\t\tconst flatNames = Object.keys(this.members).filter((name) => !groupedWireNames.has(name));\n\t\tconst expected = /* @__PURE__ */ new Set([...Object.keys(groups), ...flatNames]);\n\t\tfor (const key of Reflect.ownKeys(implementation)) if (typeof key !== \"string\" || !expected.has(key)) throw new Error(`Unexpected handler \"${String(key)}\"; grouped members require grouped handlers`);\n\t\tconst result = Object.create(null);\n\t\tconst requireHandler = (object, key, where) => {\n\t\t\tif (!Object.hasOwn(object, key) || typeof object[key] !== \"function\") throw new Error(`Missing or invalid handler \"${where}\"`);\n\t\t\treturn object[key];\n\t\t};\n\t\tfor (const name of flatNames) result[name] = requireHandler(implementation, name, name);\n\t\tfor (const [name, mapping] of Object.entries(groups)) {\n\t\t\tif (!Object.hasOwn(implementation, name)) throw new Error(`Missing handler group \"${name}\"`);\n\t\t\tconst group = requireObject(implementation[name], name);\n\t\t\tfor (const member of Reflect.ownKeys(group)) if (typeof member !== \"string\" || !Object.hasOwn(mapping, member)) throw new Error(`Unexpected handler \"${name}.${String(member)}\"`);\n\t\t\tfor (const [member, wireName] of Object.entries(mapping)) result[wireName] = requireHandler(group, member, `${name}.${member}`);\n\t\t}\n\t\treturn result;\n\t}\n\t/** Content hash of this interface (see `computeInterfaceHash`). */\n\tget schemaHash() {\n\t\tconst state = interfaceDefinitionState.get(this);\n\t\tif (state.hashCache === void 0) state.hashCache = computeInterfaceHash(state.frozenSchema ?? buildSchema(this.info, this.members, \"\"));\n\t\treturn state.hashCache;\n\t}\n\t/** Lower the definition to a wire-format `LinkRpcInterfaceSchema`, hash filled in. */\n\ttoSchema() {\n\t\tconst state = interfaceDefinitionState.get(this);\n\t\tif (state.schemaCache === void 0) state.schemaCache = state.frozenSchema !== void 0 ? {\n\t\t\t...state.frozenSchema,\n\t\t\thash: this.schemaHash,\n\t\t\t...this.info.tags !== void 0 ? { tags: [...this.info.tags] } : {}\n\t\t} : buildSchema(this.info, this.members, this.schemaHash);\n\t\treturn state.schemaCache;\n\t}\n};\nfunction buildSchema(info, members, hash) {\n\tconst methods = Object.create(null);\n\tconst components = {};\n\tfor (const [name, member] of Object.entries(members)) methods[name] = toMethodSchema(name, member, components);\n\tconst schema = {\n\t\tid: info.id,\n\t\thash,\n\t\tmethods\n\t};\n\tif (Object.keys(components).length > 0) schema.components = { schemas: components };\n\tif (info.description !== void 0) schema.description = info.description;\n\tif (info.comment !== void 0) schema.comment = info.comment;\n\tif (info.tags !== void 0) schema.tags = [...new Set(info.tags)];\n\treturn schema;\n}\nfunction toMethodSchema(name, member, components, convert = (schema, position) => convertMemberSchema(name, position, schema, components)) {\n\tconst docs = member.docs;\n\tif (member.kind === \"request\") {\n\t\tconst m = {\n\t\t\tparams: convert(member.paramsSchema, \"params\"),\n\t\t\tresult: convert(member.resultSchema, \"result\")\n\t\t};\n\t\tif (member.clientStreamSchema !== void 0) m.clientStream = convert(member.clientStreamSchema, \"clientStream\");\n\t\tif (member.serverStreamSchema !== void 0) m.serverStream = convert(member.serverStreamSchema, \"serverStream\");\n\t\tif (member.applicationErrors.length > 0) m.errors = member.applicationErrors.map((error) => {\n\t\t\tif (error.bodySchema !== void 0) return {\n\t\t\t\tcode: error.code,\n\t\t\t\tschema: convert(error.bodySchema, `error=${error.code}`)\n\t\t\t};\n\t\t\tconst result = {\n\t\t\t\tcode: error.code,\n\t\t\t\tmessage: error.message,\n\t\t\t\t...error.type === void 0 ? {} : { type: error.type }\n\t\t\t};\n\t\t\tif (error.dataSchema !== void 0) result.data = convert(error.dataSchema, `error=${error.code}`);\n\t\t\treturn result;\n\t\t});\n\t\tif (docs.description !== void 0) m.description = docs.description;\n\t\tif (docs.comment !== void 0) m.comment = docs.comment;\n\t\tif (docs.annotations !== void 0) m.annotations = docs.annotations;\n\t\treturn m;\n\t}\n\tconst m = { params: convert(member.paramsSchema, \"params\") };\n\tif (docs.description !== void 0) m.description = docs.description;\n\tif (docs.comment !== void 0) m.comment = docs.comment;\n\tif (docs.annotations !== void 0) m.annotations = docs.annotations;\n\treturn m;\n}\nfunction convertMemberSchema(methodName, position, schema, components) {\n\treturn zodToSvcJsonSchema(schema, {\n\t\tmethodName,\n\t\tschemaPosition: position,\n\t\tcomponents\n\t});\n}\n/**\n* Convenient builder for an interface definition. Tracks TypeScript types\n* through `requestType` / `notificationType` so client and server code can\n* derive their shapes from the definition.\n*\n* @example\n* const myInterface = defineInterface(\n* { id: \"de.hediet.notification-target\" },\n* {\n* send: requestType(z.object({ to: z.string() }), z.string()),\n* notify: notificationType(z.object({ message: z.string() })),\n* },\n* );\n*/\nfunction defineInterface(info, declarations, options = {}) {\n\tconst entries = Object.entries(declarations);\n\tconst isGroup = (value) => value !== null && typeof value === \"object\" && interfaceTemplateGroup in value && value[interfaceTemplateGroup] === true;\n\tif (!entries.some(([, value]) => isGroup(value))) return new InterfaceDefinition(info, declarations, options);\n\tconst members = Object.create(null);\n\tconst groups = Object.create(null);\n\tconst templates = Object.assign(Object.create(null), options.templates);\n\tconst groupNames = new Set(entries.filter(([, value]) => isGroup(value)).map(([name]) => name));\n\tconst addMember = (name, member) => {\n\t\tif (Object.hasOwn(members, name) || groupNames.has(name)) throw new Error(`Interface member collision at \"${name}\"`);\n\t\tmembers[name] = member;\n\t};\n\tfor (const [name, declaration] of entries) {\n\t\tif (!isGroup(declaration)) {\n\t\t\taddMember(name, declaration);\n\t\t\tcontinue;\n\t\t}\n\t\tif (Object.hasOwn(templates, name)) throw new Error(`Interface template instance collision at \"${name}\"`);\n\t\tconst mapping = Object.create(null);\n\t\tif (declaration.mapping !== void 0) {\n\t\t\tfor (const member of Object.keys(declaration.mapping)) if (!Object.hasOwn(declaration.members, member)) throw new Error(`Unknown mapped member \"${member}\"`);\n\t\t}\n\t\tfor (const [member, type] of Object.entries(declaration.members)) {\n\t\t\tif (declaration.mapping !== void 0 && !Object.hasOwn(declaration.mapping, member)) throw new Error(`Missing mapped member \"${member}\"`);\n\t\t\tconst wireName = declaration.mapping === void 0 ? `${name}$${member}` : declaration.mapping[member];\n\t\t\tif (typeof wireName !== \"string\" || wireName.length === 0) throw new Error(`Missing mapped member \"${member}\"`);\n\t\t\taddMember(wireName, type);\n\t\t\tmapping[member] = wireName;\n\t\t}\n\t\tgroups[name] = Object.freeze(mapping);\n\t\ttemplates[name] = {\n\t\t\ttemplate: declaration.template,\n\t\t\tschema: {\n\t\t\t\ttemplate: declaration.template.id,\n\t\t\t\targuments: declaration.arguments,\n\t\t\t\tmembers: mapping\n\t\t\t}\n\t\t};\n\t}\n\tconst definition = new InterfaceDefinition(info, members, {\n\t\t...options,\n\t\ttemplates\n\t});\n\tinterfaceDefinitionState.get(definition).declarationGroups = Object.freeze(groups);\n\treturn definition;\n}\n/**\n* Build a runtime {@link InterfaceDefinition} from a previously-published\n* {@link LinkRpcInterfaceSchema} — typically one received over the wire (e.g.\n* from `hubrpc.schemas::get`) or generated at runtime by tooling that does\n* not have the original zod sources at hand (codegen, faker / mock\n* services, dynamic gateways).\n*\n* The original schema is kept verbatim: `toSchema()` returns it (with\n* `hash` overlaid) and `schemaHash` is computed from it, so reflection\n* consumers see the real wire contract. Member-level params / results /\n* streams use `z.any()` because no zod source is available — call-site\n* validation is therefore a no-op and the caller is responsible for\n* shape-checking inputs and outputs. Declared application-error payloads\n* are materialized and validated after code selection. A known code whose\n* body fails all declared branches is a noncompliant-server failure.\n*\n* Methods with no `result` descriptor become notifications; methods with\n* `clientStream` / `serverStream` get pass-through stream payload\n* schemas attached.\n*/\nfunction interfaceFromSchema(schema) {\n\tvalidateInterfaceErrors(schema);\n\tvalidateInterfaceTemplates(schema);\n\tconst members = Object.create(null);\n\tfor (const [name, method] of Object.entries(schema.methods)) {\n\t\tif (method.result === void 0) {\n\t\t\tmembers[name] = new NotificationType(any());\n\t\t\tcontinue;\n\t\t}\n\t\tconst base = new RequestType(any(), any(), void$1()).withErrors((method.errors ?? []).map((error) => error.schema !== void 0 ? rpcError(error.code, schemaToZod(error.schema, schema.components?.schemas)) : error.type !== void 0 ? error.data === void 0 ? applicationError(error.type, {\n\t\t\tcode: error.code,\n\t\t\tmessage: error.message\n\t\t}) : applicationError(error.type, {\n\t\t\tcode: error.code,\n\t\t\tmessage: error.message,\n\t\t\tdata: schemaToZod(error.data, schema.components?.schemas)\n\t\t}) : error.data === void 0 ? applicationError(error.code, error.message) : applicationError(error.code, error.message, schemaToZod(error.data, schema.components?.schemas))));\n\t\tmembers[name] = method.clientStream !== void 0 || method.serverStream !== void 0 ? base.withStream({\n\t\t\tclient: method.clientStream !== void 0 ? any() : void 0,\n\t\t\tserver: method.serverStream !== void 0 ? any() : void 0\n\t\t}) : base;\n\t}\n\tconst info = { id: schema.id };\n\tif (schema.description !== void 0) info.description = schema.description;\n\tif (schema.comment !== void 0) info.comment = schema.comment;\n\tif (schema.tags !== void 0) info.tags = schema.tags;\n\treturn new InterfaceDefinition(info, members, { frozenSchema: schema });\n}\n//#endregion\n//#region src/crypto/cryptoProvider.ts\nconst _b64UrlAlphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\";\nconst _b64UrlReverse = (() => {\n\tconst m = {};\n\tfor (let i = 0; i < 64; i++) m[_b64UrlAlphabet[i]] = i;\n\treturn m;\n})();\nfunction bytesToBase64Url(bytes) {\n\tlet out = \"\";\n\tlet i = 0;\n\tfor (; i + 3 <= bytes.length; i += 3) {\n\t\tconst n = bytes[i] << 16 | bytes[i + 1] << 8 | bytes[i + 2];\n\t\tout += _b64UrlAlphabet[n >> 18 & 63] + _b64UrlAlphabet[n >> 12 & 63] + _b64UrlAlphabet[n >> 6 & 63] + _b64UrlAlphabet[n & 63];\n\t}\n\tconst rem = bytes.length - i;\n\tif (rem === 1) {\n\t\tconst n = bytes[i] << 16;\n\t\tout += _b64UrlAlphabet[n >> 18 & 63] + _b64UrlAlphabet[n >> 12 & 63];\n\t} else if (rem === 2) {\n\t\tconst n = bytes[i] << 16 | bytes[i + 1] << 8;\n\t\tout += _b64UrlAlphabet[n >> 18 & 63] + _b64UrlAlphabet[n >> 12 & 63] + _b64UrlAlphabet[n >> 6 & 63];\n\t}\n\treturn out;\n}\nfunction base64UrlToBytes(s) {\n\tconst len = s.length;\n\tconst fullGroups = Math.floor(len / 4);\n\tconst rem = len % 4;\n\tif (rem === 1) throw new Error(\"base64UrlToBytes: invalid length\");\n\tconst outLen = fullGroups * 3 + (rem === 0 ? 0 : rem - 1);\n\tconst out = new Uint8Array(outLen);\n\tlet oi = 0;\n\tlet i = 0;\n\tfor (let g = 0; g < fullGroups; g++, i += 4) {\n\t\tconst n = _lookup(s, i) << 18 | _lookup(s, i + 1) << 12 | _lookup(s, i + 2) << 6 | _lookup(s, i + 3);\n\t\tout[oi++] = n >> 16 & 255;\n\t\tout[oi++] = n >> 8 & 255;\n\t\tout[oi++] = n & 255;\n\t}\n\tif (rem === 2) {\n\t\tconst n = _lookup(s, i) << 18 | _lookup(s, i + 1) << 12;\n\t\tout[oi++] = n >> 16 & 255;\n\t} else if (rem === 3) {\n\t\tconst n = _lookup(s, i) << 18 | _lookup(s, i + 1) << 12 | _lookup(s, i + 2) << 6;\n\t\tout[oi++] = n >> 16 & 255;\n\t\tout[oi++] = n >> 8 & 255;\n\t}\n\treturn out;\n}\nfunction _lookup(s, i) {\n\tconst v = _b64UrlReverse[s[i]];\n\tif (v === void 0) throw new Error(`base64UrlToBytes: invalid char at ${i}`);\n\treturn v;\n}\n/** Role-tag prefix on a {@link KeyId}'s inline-key form. */\nconst KEY_ID_PREFIX = \"key:\";\n/** Role-tag prefix that wraps a genesis {@link KeyId} into a {@link PrincipalId}. */\nconst PRINCIPAL_PREFIX = \"id:\";\n/** The inline {@link KeyId} for a raw public key: `\"key:\" + b64url(pk)`. */\nfunction keyIdForPublicKey(pk) {\n\treturn KEY_ID_PREFIX + bytesToBase64Url(pk);\n}\n/** The perpetual {@link PrincipalId} for a raw public key: `\"id:key:\" + b64url(pk)`. */\nfunction principalForPublicKey(pk) {\n\treturn \"id:\" + keyIdForPublicKey(pk);\n}\n/**\n* The genesis {@link KeyId} embedded in a perpetual {@link PrincipalId}\n* (`\"id:\" + keyId`). Throws if `principal` is not a well-formed `id:` name.\n*/\nfunction keyIdForPrincipal(principal) {\n\tif (!principal.startsWith(\"id:\")) throw new Error(`malformed principal (missing \"id:\" prefix): ${principal}`);\n\treturn principal.slice(3);\n}\n/**\n* The raw public key carried inline by a `\"key:\"` {@link KeyId}. Throws on a\n* missing prefix or malformed base64url.\n*/\nfunction publicKeyForKeyId(keyId) {\n\tif (!keyId.startsWith(\"key:\")) throw new Error(`unsupported keyId (expected \"${KEY_ID_PREFIX}\" prefix): ${keyId}`);\n\treturn base64UrlToBytes(keyId.slice(4));\n}\n/**\n* Resolve the verifying public key for `(principal, keyId)`, or `undefined`\n* to **reject** (fail closed). This is the single seam every verifier goes\n* through, replacing the old \"the id *is* the key\" decode.\n*\n* Phase 1 supports only inline genesis keys: the `keyId` must be a `\"key:\"`\n* form and the principal must be exactly `\"id:\" + keyId` (genesis\n* self-certification by string equality). `keydoc:`/rotation forms resolve\n* through `bindings`/`timeMs` later and are intentionally not handled here.\n*/\nfunction resolveSigningKey(args) {\n\tconst { principal, keyId } = args;\n\tif (!keyId.startsWith(\"key:\")) return;\n\tif (\"id:\" + keyId !== principal) return;\n\ttry {\n\t\treturn { publicKey: base64UrlToBytes(keyId.slice(4)) };\n\t} catch {\n\t\treturn;\n\t}\n}\n//#endregion\n//#region src/inspection/inspection.interfaces.ts\nconst zTopologyPort = object({\n\tportId: string(),\n\tlabel: optional(string())\n});\nconst zParticipantDescriptor = object({\n\ttype: optional(string()),\n\tlabel: optional(string()),\n\tprocessId: optional(number()),\n\tprocessType: optional(string()),\n\tnodeStatusServiceId: optional(string()),\n\tmetadata: optional(record(string(), union([\n\t\tstring(),\n\t\tnumber(),\n\t\tboolean()\n\t])))\n});\nconst zParticipantDescriptorSource = object({\n\tsource: enum$1([\"self\", \"attacher\"]),\n\tdescriptor: zParticipantDescriptor\n});\nconst zTopologyNode = object({\n\tnodeId: string(),\n\tkind: optional(enum$1([\"endpoint\", \"hub\"])),\n\tlabel: optional(string()),\n\tdescriptors: optional(array(zParticipantDescriptorSource)),\n\tports: array(zTopologyPort)\n});\nconst zTopologyLinkEndpoint = object({\n\tnodeId: string(),\n\tportId: string()\n});\nconst zTopologyTransportEndpoint = object({\n\taddress: optional(string()),\n\tport: optional(number().check(int(), nonnegative()))\n});\n/**\n* Transport details as observed at a topology link. `local` corresponds to the\n* link's `from` endpoint and `remote` to its `to` endpoint.\n*/\nconst zTopologyTransportInfo = object({\n\ttype: string(),\n\tlocal: optional(zTopologyTransportEndpoint),\n\tremote: optional(zTopologyTransportEndpoint),\n\tpath: optional(string()),\n\tmetadata: optional(record(string(), union([\n\t\tstring(),\n\t\tnumber(),\n\t\tboolean()\n\t])))\n});\nconst zTopologyLink = object({\n\tfrom: zTopologyLinkEndpoint,\n\tto: zTopologyLinkEndpoint,\n\tlabel: optional(string()),\n\tpeerState: optional(enum$1([\n\t\t\"identified\",\n\t\t\"pending\",\n\t\t\"unsupported\",\n\t\t\"error\"\n\t])),\n\ttransport: optional(zTopologyTransportInfo)\n});\nconst zRouteClaim = object({\n\tserviceId: string(),\n\tnodeId: string(),\n\tportId: string(),\n\tmatch: enum$1([\"exact\", \"prefix\"])\n});\nconst zTopologyGraph = object({\n\tobserverServiceId: string(),\n\tentryNodeId: string(),\n\tnodes: array(zTopologyNode),\n\tlinks: array(zTopologyLink),\n\troutes: array(zRouteClaim)\n});\nconst topologyInterface = defineInterface({\n\tid: \"hubrpc.topology\",\n\tdescription: \"Inspect the transport graph visible from a service. A watch emits invalidation ticks; consumers re-fetch getGraph after each tick.\"\n}, {\n\tgetGraph: requestType(object({}), zTopologyGraph).withStream({ client: object({}) }),\n\twatchGraph: requestType(object({}), object({})).withStream({ server: object({}) })\n});\nconst zTrafficTransitEndpoint = object({\n\tedgeId: string(),\n\tportId: string(),\n\trequestId: optional(union([number(), string()]))\n});\nconst zTrafficTransitEvent = object({\n\ttype: literal(\"transit\"),\n\ttimeMs: number(),\n\tnodeId: string(),\n\tin: optional(zTrafficTransitEndpoint),\n\tout: optional(zTrafficTransitEndpoint),\n\tdisposition: enum$1([\n\t\t\"forwarded\",\n\t\t\"consumed\",\n\t\t\"dropped\",\n\t\t\"unroutable\"\n\t]),\n\tkind: enum$1([\n\t\t\"request\",\n\t\t\"notification\",\n\t\t\"response\",\n\t\t\"stream\"\n\t]),\n\tmethod: optional(string()),\n\tparams: optional(unknown()),\n\tresult: optional(unknown()),\n\terror: optional(object({\n\t\tcode: number(),\n\t\tmessage: string(),\n\t\tdata: optional(unknown())\n\t}))\n});\nconst zTrafficOverflowEvent = object({\n\ttype: literal(\"overflow\"),\n\tdropped: number().check(int(), nonnegative())\n});\nconst zTrafficEvent = union([zTrafficTransitEvent, zTrafficOverflowEvent]);\nconst zTrafficWatchResult = object({\n\tdelivered: number().check(int(), nonnegative()),\n\tdropped: number().check(int(), nonnegative())\n});\nconst zTrafficWatchParams = object({\n\tmethodPrefix: optional(string()),\n\ttrafficIgnoreKey: optional(string()),\n\tfocusRequest: optional(object({\n\t\tportId: string(),\n\t\trequestId: union([number(), string()])\n\t}))\n});\nconst zTrafficWatchWithPayloadsParams = object({\n\tmethodPrefix: optional(string()),\n\ttrafficIgnoreKey: optional(string()),\n\tfocusRequest: optional(object({\n\t\tportId: string(),\n\t\trequestId: union([number(), string()])\n\t})),\n\tmaxPayloadBytes: number().check(int(), nonnegative())\n});\n/**\n* Observe raw message transits at the node hosting the addressed service.\n* Consumers may correlate adjacent transits by shared `(portId, requestId)`.\n*/\nconst trafficInterface = defineInterface({\n\tid: \"hubrpc.traffic\",\n\tdescription: \"Stream raw message transits for the entire node hosting the addressed service. Payload-free and explicitly payload-bearing variants keep disclosure opt-in.\"\n}, {\n\twatch: requestType(zTrafficWatchParams, zTrafficWatchResult).withStream({ server: zTrafficEvent }),\n\twatchWithPayloads: requestType(zTrafficWatchWithPayloadsParams, zTrafficWatchResult).withStream({ server: zTrafficEvent })\n});\n//#endregion\n//#region src/inspection/node.interfaces.ts\nconst zNodeInfo = object({\n\t/**\n\t* Random identity of this connection's node. It is a topology-correlation\n\t* label only and must not be used for authentication or authorization.\n\t*/\n\tnodeId: string(),\n\t/** Random identity of this connection's port on its node. */\n\tportId: string(),\n\t/** Optional diagnostic descriptors; never used for authorization. */\n\tdescriptors: optional(array(zParticipantDescriptorSource))\n});\n/**\n* Minimal root service for aligning the independently observed topologies at\n* both ends of a connection.\n*/\nconst nodeInterface = defineInterface({\n\tid: \"hubrpc.node\",\n\tdescription: \"Topology bootstrap: identify the node and port at this end of the direct connection.\"\n}, { getNodeId: requestType(object({}), zNodeInfo) });\n//#endregion\n//#region src/connection/streaming.ts\n/**\n* Direction a {@link STREAM_METHOD} message travels, relative to the\n* request it is correlated with. Made explicit on the wire so that a\n* middlebox (the hub) can *author* a stream message — e.g. inject a\n* cancel when a caller disconnects — without an inbound message whose\n* arrival link it could infer the direction from.\n*/\nconst StreamDir = {\n\t/** callee → caller: progress, partial results. Routes like a response. */\n\ttoCaller: \"toCaller\",\n\t/** caller → callee: input, cancellation, keepalive ping. */\n\ttoCallee: \"toCallee\"\n};\n/**\n* Reserved control verbs. A control message carries no app `payload`; it\n* is interpreted by the runtime / hub itself, independently of the\n* originating method's stream schemas, so *any* request is cancellable\n* and keep-alive-able even when it declares no app stream.\n*/\nconst StreamControlType = {\n\t/**\n\t* Ask the callee to abort the in-flight request. Always {@link\n\t* StreamDir.toCallee}. The callee surfaces this as an `AbortSignal`\n\t* and is expected to settle the request (typically with a\n\t* `cancelled` error response).\n\t*/\n\tcancel: \"cancel\",\n\t/**\n\t* Keepalive / liveness probe. Resets the hub's per-request idle timer\n\t* so a long-running call is not reaped, and lets either side actively\n\t* probe the peer. Carries a `nonce` the peer echoes in its {@link\n\t* StreamControlType.pong}. May travel in either direction. Emitted\n\t* automatically (without awaiting a pong) by the channel for streaming\n\t* calls; see {@link STREAM_METHOD}.\n\t*/\n\tping: \"ping\",\n\t/**\n\t* Reply to a {@link StreamControlType.ping}, echoing the ping's\n\t* `nonce` so the prober can correlate it. Travels opposite the ping.\n\t* Carries no app effect — purely a liveness acknowledgement.\n\t*/\n\tpong: \"pong\"\n};\n/**\n* Well-known `control.reason` strings. The set is **open** — any string\n* is valid on the wire; these are the reasons linkrpc itself emits.\n*/\nconst StreamControlReason = {\n\t/**\n\t* The caller's transport dropped while the request was in flight; the\n\t* hub cancels the callee's now-orphaned work.\n\t*/\n\tclientDisconnected: \"clientDisconnected\",\n\t/**\n\t* The request exceeded the hub's idle timeout with no stream activity\n\t* (no ping, no stream message). See {@link STREAM_METHOD} docs.\n\t*/\n\tidleTimeout: \"idleTimeout\"\n};\n/**\n* Streaming sub-protocol. Long-running requests can emit additional\n* notifications correlated with the original call in either direction\n* (callee → caller progress, caller → callee input / cancellation /\n* keepalive).\n*\n* Wire form: a JSON-RPC notification whose method is\n* `${streamInterface.info.id}::send` and whose params match\n* `streamInterface.members.send.paramsSchema`. The hub routes purely on\n* `requestId` (following the originating request's established path, like\n* a response); the originating request's capability authorization covers\n* its full stream lifetime, so stream notifications carry no method /\n* interface namespace of their own. App `payload` contents are typed per\n* request via the originating method's\n* `RequestType.clientStreamSchema` / `serverStreamSchema`; reserved\n* `control` messages are schema-independent.\n*\n* Idle timeout: a request that never streams (no `control` ping, no\n* stream message) is subject to the hub's per-request idle timeout\n* (default 30 minutes) — at which point it is cancelled and its caller\n* gets a `requestTimeout` error. This bounds the hub's pending-request\n* table, which is also what protects it from a slow-loris / DDoS that\n* opens requests and never completes them. Streaming-enabled calls keep\n* themselves alive by emitting a periodic {@link StreamControlType.ping}.\n*\n* The interface is declarative: nobody calls\n* `LinkRpcConnection.register(streamInterface, ...)`. The channel and the\n* hub intercept `$stream::send` directly. The definition exists so\n* reflection / consent UIs can describe the wire shape and so all wire\n* constants derive from one source.\n*/\nconst streamInterface = defineInterface({\n\tid: \"$stream\",\n\tdescription: \"Reserved sub-protocol for in-flight stream messages correlated to a request by `requestId`.\"\n}, { send: notificationType(object({\n\t/**\n\t* Id of the in-flight request the message belongs to.\n\t* The hub rewrites this across the forwarding boundary\n\t* in the same way it rewrites response ids.\n\t*/\n\trequestId: union([number(), string()]),\n\t/**\n\t* Which way this message travels relative to the request.\n\t* Explicit so the hub can author messages (e.g. cancel on\n\t* disconnect) without inferring direction from arrival.\n\t*/\n\tdir: enum$1([\"toCaller\", \"toCallee\"]),\n\t/**\n\t* Reserved control verb (cancel / ping / pong). Mutually\n\t* exclusive with `payload` in practice: a control message\n\t* is interpreted by the runtime, not the application.\n\t*/\n\tcontrol: optional(object({\n\t\ttype: enum$1([\n\t\t\t\"cancel\",\n\t\t\t\"ping\",\n\t\t\t\"pong\"\n\t\t]),\n\t\t/** Open-set human/diagnostic reason; see {@link StreamControlReason}. */\n\t\treason: optional(string()),\n\t\t/**\n\t\t* Correlation token. A `ping` carries a fresh nonce;\n\t\t* the matching `pong` echoes it back so the prober\n\t\t* can resolve the right outstanding probe.\n\t\t*/\n\t\tnonce: optional(string())\n\t})),\n\t/** Opaque app payload — typed per call by the request's stream schema. */\n\tpayload: optional(unknown())\n}), { description: \"Emit a stream message tied to the request `requestId`.\" }) });\n/**\n* Full wire method name for stream notifications. Pulled from the\n* interface object so we have a single source of truth.\n*/\nconst STREAM_METHOD = `${streamInterface.info.id}::send`;\n//#endregion\n//#region src/inspection/trafficFlowFilter.ts\nvar TrafficFlowFilter = class {\n\t_focused;\n\tconstructor(options) {\n\t\tthis._focused = options.focus !== void 0 ? new CorrelatedFlow([options.focus]) : void 0;\n\t}\n\tshouldInclude(transit) {\n\t\treturn this._focused?.accept(transit).matches ?? true;\n\t}\n};\nvar TrafficWatchFlowTracker = class {\n\t_active = /* @__PURE__ */ new Set();\n\t_unclaimed = /* @__PURE__ */ new Map();\n\taccept(transit) {\n\t\tif (transit.kind === \"request\" && isTrafficWatchMethod(transit.method)) {\n\t\t\tconst trafficIgnoreKey = readTrafficIgnoreKey(transit.params);\n\t\t\tlet flow = this._findFlow(transit);\n\t\t\tif (flow === void 0) {\n\t\t\t\tflow = new CorrelatedFlow(requestRefsOf(transit), completionRefOf(transit));\n\t\t\t\tif (!isTerminal(transit)) this._active.add(flow);\n\t\t\t} else flow.accept(transit);\n\t\t\tif (isTerminal(transit)) {\n\t\t\t\tthis._removeFlow(flow);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (trafficIgnoreKey !== void 0) this._unclaimed.set(trafficIgnoreKey, flow);\n\t\t\treturn true;\n\t\t}\n\t\tfor (const flow of this._active) {\n\t\t\tconst match = flow.accept(transit);\n\t\t\tif (!match.matches) continue;\n\t\t\tif (match.completed) this._removeFlow(flow);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\t_findFlow(transit) {\n\t\tfor (const flow of this._active) if (flow.matches(transit)) return flow;\n\t}\n\t_removeFlow(flow) {\n\t\tthis._active.delete(flow);\n\t\tfor (const [key, pending] of this._unclaimed) if (pending === flow) this._unclaimed.delete(key);\n\t}\n\tclaim(trafficIgnoreKey) {\n\t\treturn this._unclaimed.delete(trafficIgnoreKey);\n\t}\n\tclear() {\n\t\tthis._active.clear();\n\t\tthis._unclaimed.clear();\n\t}\n\tforgetPort(portId) {\n\t\tfor (const flow of this._active) if (flow.hasPort(portId)) this._removeFlow(flow);\n\t}\n};\nvar CorrelatedFlow = class {\n\t_endpoints = /* @__PURE__ */ new Set();\n\t_ports = /* @__PURE__ */ new Set();\n\t_completionEndpoint;\n\tconstructor(endpoints, completionEndpoint = endpoints[0]) {\n\t\tfor (const endpoint of endpoints) {\n\t\t\tthis._endpoints.add(endpointKey(endpoint));\n\t\t\tthis._ports.add(endpoint.portId);\n\t\t}\n\t\tthis._completionEndpoint = completionEndpoint === void 0 ? void 0 : endpointKey(completionEndpoint);\n\t}\n\tmatches(transit) {\n\t\treturn requestRefsOf(transit).some((endpoint) => this._endpoints.has(endpointKey(endpoint)));\n\t}\n\thasPort(portId) {\n\t\treturn this._ports.has(portId);\n\t}\n\taccept(transit) {\n\t\tconst endpoints = requestRefsOf(transit);\n\t\tif (!this.matches(transit)) return {\n\t\t\tmatches: false,\n\t\t\tcompleted: false\n\t\t};\n\t\tfor (const endpoint of endpoints) {\n\t\t\tthis._endpoints.add(endpointKey(endpoint));\n\t\t\tthis._ports.add(endpoint.portId);\n\t\t}\n\t\tconst completed = transit.kind === \"response\" && (isTerminal(transit) || this._completionEndpoint !== void 0 && endpoints.some((endpoint) => endpointKey(endpoint) === this._completionEndpoint));\n\t\tif (completed) this._endpoints.clear();\n\t\treturn {\n\t\t\tmatches: true,\n\t\t\tcompleted\n\t\t};\n\t}\n};\nfunction isTerminal(transit) {\n\treturn transit.disposition === \"dropped\" || transit.disposition === \"unroutable\";\n}\nfunction requestRefsOf(transit) {\n\tconst result = [];\n\tif (transit.in?.requestId !== void 0) result.push(requestRef(transit.in));\n\tif (transit.out?.requestId !== void 0) result.push(requestRef(transit.out));\n\treturn result;\n}\nfunction requestRef(endpoint) {\n\treturn {\n\t\tportId: endpoint.portId,\n\t\trequestId: endpoint.requestId\n\t};\n}\nfunction completionRefOf(transit) {\n\tif (transit.in?.requestId !== void 0) return requestRef(transit.in);\n\tif (transit.out?.requestId !== void 0) return requestRef(transit.out);\n}\nfunction endpointKey(endpoint) {\n\treturn JSON.stringify([\n\t\tendpoint.portId,\n\t\ttypeof endpoint.requestId,\n\t\tendpoint.requestId\n\t]);\n}\nfunction isTrafficWatchMethod(method) {\n\treturn method?.endsWith(\"::hubrpc.traffic::watch\") === true || method?.endsWith(\"::hubrpc.traffic::watchWithPayloads\") === true || method === \"hubrpc.traffic::watch\" || method === \"hubrpc.traffic::watchWithPayloads\";\n}\nfunction readTrafficIgnoreKey(params) {\n\tif (params === null || Array.isArray(params) || typeof params !== \"object\" || !(\"trafficIgnoreKey\" in params)) return;\n\tconst value = params.trafficIgnoreKey;\n\treturn typeof value === \"string\" ? value : void 0;\n}\n//#endregion\n//#region src/inspection/boundedTrafficSubscription.ts\nconst DEFAULT_QUEUE_LIMIT = 256;\n/**\n* Applies per-subscriber filtering and payload policy while isolating traffic\n* producers from slow or failed stream consumers.\n*/\nvar BoundedTrafficSubscription = class {\n\t_options;\n\t_send;\n\t_onDispose;\n\t_queueLimit;\n\t_queue = [];\n\t_active = true;\n\t_pumping = false;\n\t_overflowPending = 0;\n\t_delivered = 0;\n\t_dropped = 0;\n\t_resolveClosed;\n\t_filter;\n\tclosed;\n\tconstructor(_options, _send, _onDispose, _queueLimit = DEFAULT_QUEUE_LIMIT) {\n\t\tthis._options = _options;\n\t\tthis._send = _send;\n\t\tthis._onDispose = _onDispose;\n\t\tthis._queueLimit = _queueLimit;\n\t\tlet resolve;\n\t\tthis.closed = new Promise((r) => resolve = r);\n\t\tthis._resolveClosed = resolve;\n\t\tthis._filter = new TrafficFlowFilter({ focus: _options.focusRequest });\n\t}\n\tenqueue(transit) {\n\t\tif (!this._active) return;\n\t\tif (!this._filter.shouldInclude(transit)) return;\n\t\tif (this._options.methodPrefix !== void 0 && !transit.method?.startsWith(this._options.methodPrefix)) return;\n\t\tconst event = this._options.maxPayloadBytes === void 0 ? withoutPayloads(transit) : withCappedPayloads(transit, this._options.maxPayloadBytes);\n\t\tif (this._queue.length >= this._queueLimit) {\n\t\t\tthis._queue.shift();\n\t\t\tthis._dropped++;\n\t\t\tthis._overflowPending++;\n\t\t}\n\t\tthis._queue.push(event);\n\t\tif (!this._pumping) {\n\t\t\tthis._pumping = true;\n\t\t\tqueueMicrotask(() => void this._pump());\n\t\t}\n\t}\n\tdispose() {\n\t\tif (!this._active) return;\n\t\tthis._active = false;\n\t\tthis._dropped += this._queue.length;\n\t\tthis._queue.length = 0;\n\t\tthis._overflowPending = 0;\n\t\tthis._onDispose();\n\t\tif (!this._pumping) this._complete();\n\t}\n\tasync _pump() {\n\t\ttry {\n\t\t\twhile (this._active) {\n\t\t\t\tif (this._overflowPending > 0) {\n\t\t\t\t\tconst dropped = this._overflowPending;\n\t\t\t\t\tthis._overflowPending = 0;\n\t\t\t\t\tawait this._send({\n\t\t\t\t\t\ttype: \"overflow\",\n\t\t\t\t\t\tdropped\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst event = this._queue.shift();\n\t\t\t\tif (event === void 0) break;\n\t\t\t\tawait this._send(event);\n\t\t\t\tthis._delivered++;\n\t\t\t}\n\t\t} catch {\n\t\t\tthis.dispose();\n\t\t} finally {\n\t\t\tthis._pumping = false;\n\t\t\tif (!this._active) this._complete();\n\t\t\telse if (this._queue.length > 0 || this._overflowPending > 0) {\n\t\t\t\tthis._pumping = true;\n\t\t\t\tqueueMicrotask(() => void this._pump());\n\t\t\t}\n\t\t}\n\t}\n\t_complete() {\n\t\tthis._resolveClosed({\n\t\t\tdelivered: this._delivered,\n\t\t\tdropped: this._dropped\n\t\t});\n\t}\n};\nfunction withoutPayloads(transit) {\n\tconst { params: _params, result: _result, error, ...rest } = transit;\n\tif (error === void 0) return rest;\n\treturn {\n\t\t...rest,\n\t\terror: {\n\t\t\tcode: error.code,\n\t\t\tmessage: error.message\n\t\t}\n\t};\n}\nfunction withCappedPayloads(transit, maxPayloadBytes) {\n\treturn {\n\t\t...transit,\n\t\tparams: capPayload(transit.params, maxPayloadBytes),\n\t\tresult: capPayload(transit.result, maxPayloadBytes),\n\t\terror: transit.error === void 0 ? void 0 : {\n\t\t\t...transit.error,\n\t\t\tdata: capPayload(transit.error.data, maxPayloadBytes)\n\t\t}\n\t};\n}\nfunction capPayload(value, maxBytes) {\n\tif (value === void 0) return void 0;\n\tif (maxBytes === Number.POSITIVE_INFINITY) return value;\n\tconst json = JSON.stringify(value);\n\tif (json === void 0) return void 0;\n\tconst encoded = new TextEncoder().encode(json);\n\tif (encoded.byteLength <= maxBytes) return value;\n\tconst encoder = new TextEncoder();\n\tlet preview = new TextDecoder().decode(encoded.slice(0, maxBytes));\n\twhile (encoder.encode(preview).byteLength > maxBytes) preview = preview.slice(0, -1);\n\treturn preview;\n}\n//#endregion\n//#region src/inspection/endpointTrafficInspector.ts\nconst REQUEST_CORRELATION_RETENTION_MS = 18e5;\nconst MAX_REQUEST_CORRELATIONS = 4096;\nvar EndpointTrafficInspector = class {\n\t_nodeId;\n\t_portId;\n\t_emit;\n\t_isObserved;\n\t_outboundRequests = /* @__PURE__ */ new Map();\n\t_inboundRequests = /* @__PURE__ */ new Map();\n\tobserve = (direction, message) => {\n\t\tthis._onMessage(direction, message);\n\t};\n\tconstructor(_nodeId, _portId, _emit, _isObserved) {\n\t\tthis._nodeId = _nodeId;\n\t\tthis._portId = _portId;\n\t\tthis._emit = _emit;\n\t\tthis._isObserved = _isObserved;\n\t}\n\tdispose() {\n\t\tthis._outboundRequests.clear();\n\t\tthis._inboundRequests.clear();\n\t}\n\t_onMessage(direction, message) {\n\t\tconst now = Date.now();\n\t\tthis._pruneRequestCorrelations(now);\n\t\tconst publiclyObserved = this._isObserved();\n\t\tif (!publiclyObserved) this.dispose();\n\t\tlet transit;\n\t\tconst endpoint = this._endpoint(\"id\" in message ? message.id ?? void 0 : void 0);\n\t\tconst base = {\n\t\t\ttype: \"transit\",\n\t\t\ttimeMs: now,\n\t\t\tnodeId: this._nodeId,\n\t\t\t...direction === \"inbound\" ? { in: endpoint } : { out: endpoint },\n\t\t\tdisposition: direction === \"inbound\" ? \"consumed\" : \"forwarded\"\n\t\t};\n\t\tif (isRequest(message)) {\n\t\t\tconst correlation = {\n\t\t\t\tmethod: message.method,\n\t\t\t\ttimeMs: now\n\t\t\t};\n\t\t\tif (publiclyObserved) {\n\t\t\t\tconst map = this._requestMap(direction);\n\t\t\t\tconst key = requestKey(message.id);\n\t\t\t\tmap.delete(key);\n\t\t\t\tmap.set(key, correlation);\n\t\t\t}\n\t\t\ttransit = {\n\t\t\t\t...base,\n\t\t\t\tkind: \"request\",\n\t\t\t\tmethod: message.method,\n\t\t\t\tparams: message.params\n\t\t\t};\n\t\t} else if (isResponse(message)) {\n\t\t\tconst responseMap = direction === \"inbound\" ? this._outboundRequests : this._inboundRequests;\n\t\t\tconst key = requestKey(message.id);\n\t\t\tconst correlation = responseMap.get(key);\n\t\t\tresponseMap.delete(key);\n\t\t\ttransit = {\n\t\t\t\t...base,\n\t\t\t\tkind: \"response\",\n\t\t\t\tmethod: correlation?.method,\n\t\t\t\tresult: \"result\" in message ? message.result : void 0,\n\t\t\t\terror: \"error\" in message ? message.error : void 0\n\t\t\t};\n\t\t} else if (isNotification(message) && message.method === STREAM_METHOD) {\n\t\t\tconst params = message.params;\n\t\t\tconst streamEndpoint = this._endpoint(params?.requestId);\n\t\t\ttransit = {\n\t\t\t\t...base,\n\t\t\t\t...direction === \"inbound\" ? { in: streamEndpoint } : { out: streamEndpoint },\n\t\t\t\tkind: \"stream\",\n\t\t\t\tmethod: STREAM_METHOD,\n\t\t\t\tparams: message.params\n\t\t\t};\n\t\t} else transit = {\n\t\t\t...base,\n\t\t\tkind: \"notification\",\n\t\t\tmethod: message.method,\n\t\t\tparams: message.params\n\t\t};\n\t\tfunction requestKey(requestId) {\n\t\t\treturn JSON.stringify([typeof requestId, requestId]);\n\t\t}\n\t\tthis._emit(transit);\n\t}\n\t_requestMap(direction) {\n\t\treturn direction === \"outbound\" ? this._outboundRequests : this._inboundRequests;\n\t}\n\t_endpoint(requestId) {\n\t\treturn {\n\t\t\tedgeId: this._portId,\n\t\t\tportId: this._portId,\n\t\t\t...requestId !== void 0 ? { requestId } : {}\n\t\t};\n\t}\n\t_pruneRequestCorrelations(timeMs) {\n\t\tthis._pruneRequestMap(this._outboundRequests, timeMs);\n\t\tthis._pruneRequestMap(this._inboundRequests, timeMs);\n\t}\n\t_pruneRequestMap(map, timeMs) {\n\t\twhile (map.size !== 0) {\n\t\t\tconst first = map.entries().next().value;\n\t\t\tif (first === void 0 || map.size <= MAX_REQUEST_CORRELATIONS && timeMs - first[1].timeMs <= REQUEST_CORRELATION_RETENTION_MS) return;\n\t\t\tmap.delete(first[0]);\n\t\t}\n\t}\n};\n//#endregion\n//#region src/inspection/connectionInspectionSource.ts\nvar ConnectionInspectionSource = class {\n\t_connection;\n\t_nodeId;\n\t_options;\n\t_isObserved;\n\tconstructor(_connection, _nodeId, _options, _isObserved) {\n\t\tthis._connection = _connection;\n\t\tthis._nodeId = _nodeId;\n\t\tthis._options = _options;\n\t\tthis._isObserved = _isObserved;\n\t}\n\tsnapshotTopology() {\n\t\tconst { portId, label, peer, transport } = this._options;\n\t\tconst nodes = [{\n\t\t\tnodeId: this._nodeId,\n\t\t\tports: [{\n\t\t\t\tportId,\n\t\t\t\t...label === void 0 ? {} : { label }\n\t\t\t}]\n\t\t}];\n\t\tconst links = [];\n\t\tif (peer !== void 0) {\n\t\t\tnodes.push({\n\t\t\t\tnodeId: peer.nodeId,\n\t\t\t\tkind: \"endpoint\",\n\t\t\t\t...peer.label === void 0 ? {} : { label: peer.label },\n\t\t\t\tports: [{ portId: peer.portId }]\n\t\t\t});\n\t\t\tlinks.push({\n\t\t\t\tfrom: {\n\t\t\t\t\tnodeId: this._nodeId,\n\t\t\t\t\tportId\n\t\t\t\t},\n\t\t\t\tto: {\n\t\t\t\t\tnodeId: peer.nodeId,\n\t\t\t\t\tportId: peer.portId\n\t\t\t\t},\n\t\t\t\tpeerState: \"identified\",\n\t\t\t\t...transport === void 0 ? {} : { transport }\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\tnodes,\n\t\t\tlinks,\n\t\t\troutes: []\n\t\t};\n\t}\n\tonTopologyChanged(_listener) {\n\t\treturn { dispose: () => {} };\n\t}\n\tobserveTraffic(listener) {\n\t\tconst inspector = new EndpointTrafficInspector(this._nodeId, this._options.portId, listener, this._isObserved);\n\t\tconst observation = this._connection.observeWireMessages(inspector.observe);\n\t\treturn { dispose: () => {\n\t\t\tobservation.dispose();\n\t\t\tinspector.dispose();\n\t\t} };\n\t}\n};\n//#endregion\n//#region src/inspection/inspectionHost.ts\n/** A shared inspection scope, independent of both routing and its RPC connections. */\nvar InspectionHost = class {\n\t_options;\n\t_sources = /* @__PURE__ */ new Map();\n\t_trackedConnections = /* @__PURE__ */ new Set();\n\t_bindings = /* @__PURE__ */ new Set();\n\t_subscribers = /* @__PURE__ */ new Set();\n\t_observers = /* @__PURE__ */ new Set();\n\t_topologyListeners = /* @__PURE__ */ new Set();\n\t_trafficSources = /* @__PURE__ */ new Set();\n\t_trafficWatches = new TrafficWatchFlowTracker();\n\t_disposed = false;\n\tnodeId;\n\tconstructor(_options) {\n\t\tthis._options = _options;\n\t\tthis.nodeId = _options.nodeId;\n\t}\n\tget observerCount() {\n\t\treturn this._subscribers.size + this._observers.size;\n\t}\n\taddSource(source) {\n\t\tthis._assertActive();\n\t\tif (this._sources.has(source)) throw new Error(\"Inspection source is already registered\");\n\t\tconst readPorts = () => new Set(source.snapshotTopology().nodes.flatMap((node) => node.ports.map((port) => port.portId)));\n\t\tlet ports = readPorts();\n\t\tconst topology = source.onTopologyChanged(() => {\n\t\t\tconst nextPorts = readPorts();\n\t\t\tconst removed = [...ports].filter((port) => !nextPorts.has(port));\n\t\t\tports = nextPorts;\n\t\t\tthis._forgetUnusedPorts(removed);\n\t\t\tthis._invalidateTopology();\n\t\t});\n\t\tlet traffic;\n\t\ttry {\n\t\t\ttraffic = source.observeTraffic((event) => this.publishTransit(event));\n\t\t} catch (error) {\n\t\t\ttopology.dispose();\n\t\t\tthrow error;\n\t\t}\n\t\tconst registration = { dispose: () => {\n\t\t\tif (this._sources.get(source) !== registration) return;\n\t\t\tthis._sources.delete(source);\n\t\t\ttopology.dispose();\n\t\t\ttraffic.dispose();\n\t\t\tthis._forgetUnusedPorts([...ports]);\n\t\t\tthis._invalidateTopology();\n\t\t} };\n\t\tthis._sources.set(source, registration);\n\t\tthis._invalidateTopology();\n\t\treturn registration;\n\t}\n\ttrackConnection(connection, options) {\n\t\tthis._assertActive();\n\t\tif (this.getGraph(\"\").nodes.some((node) => node.ports.some((port) => port.portId === options.portId))) throw new Error(`Inspection port \"${options.portId}\" is already registered`);\n\t\tconst source = new ConnectionInspectionSource(connection, this.nodeId, options, () => this.observerCount !== 0);\n\t\tconst registration = this.addSource(source);\n\t\tlet close;\n\t\ttry {\n\t\t\tclose = connection.onDidClose(() => result.dispose());\n\t\t} catch (error) {\n\t\t\tregistration.dispose();\n\t\t\tthrow error;\n\t\t}\n\t\tconst result = { dispose: () => {\n\t\t\tthis._trackedConnections.delete(result);\n\t\t\tclose.dispose();\n\t\t\tregistration.dispose();\n\t\t} };\n\t\tthis._trackedConnections.add(result);\n\t\treturn result;\n\t}\n\texpose(connection, options) {\n\t\tthis._assertActive();\n\t\tconst portId = options.portId ?? createPortId();\n\t\tconst binding = new InspectionBinding(portId);\n\t\tconst registrations = [];\n\t\tthis._bindings.add(binding);\n\t\tconst registerOptions = { serviceId: options.serviceId };\n\t\ttry {\n\t\t\tconst controls = new EndpointTrafficInspector(this.nodeId, portId, (event) => this._trafficWatches.accept(event), () => false);\n\t\t\tregistrations.push(connection.observeWireMessages(controls.observe));\n\t\t\tregistrations.push({ dispose: () => controls.dispose() });\n\t\t\tregistrations.push(connection.registerInspection(nodeInterface, { getNodeId: () => ({\n\t\t\t\tnodeId: this.nodeId,\n\t\t\t\tportId,\n\t\t\t\t...(options.descriptors ?? this._options.descriptors) === void 0 ? {} : { descriptors: [...options.descriptors ?? this._options.descriptors ?? []] }\n\t\t\t}) }, registerOptions));\n\t\t\tregistrations.push(connection.registerInspection(topologyInterface, {\n\t\t\t\tgetGraph: () => this.getGraph(options.serviceId, options.includeRoute === false ? void 0 : portId),\n\t\t\t\twatchGraph: (_params, _ctx, stream) => this._watchGraph(binding, stream)\n\t\t\t}, registerOptions));\n\t\t\tregistrations.push(connection.registerInspection(trafficInterface, {\n\t\t\t\twatch: (params, _ctx, stream) => this._watchTraffic(binding, params, stream),\n\t\t\t\twatchWithPayloads: (params, _ctx, stream) => this._watchTraffic(binding, params, stream)\n\t\t\t}, registerOptions));\n\t\t} catch (error) {\n\t\t\tfor (const registration of registrations.reverse()) registration.dispose();\n\t\t\tthis._bindings.delete(binding);\n\t\t\tthrow error;\n\t\t}\n\t\tbinding.onDispose = () => {\n\t\t\tthis._bindings.delete(binding);\n\t\t\tfor (const registration of registrations.reverse()) registration.dispose();\n\t\t\tthis._forgetUnusedPorts([portId]);\n\t\t\tthis._invalidateTopology();\n\t\t};\n\t\tregistrations.push(connection.onDidClose(() => binding.dispose()));\n\t\tthis._invalidateTopology();\n\t\treturn binding;\n\t}\n\tgetGraph(observerServiceId, routePortId) {\n\t\tthis._assertActive();\n\t\tconst nodes = /* @__PURE__ */ new Map();\n\t\tconst mergeNode = (node) => {\n\t\t\tconst previous = nodes.get(node.nodeId);\n\t\t\tconst ports = new Map(previous?.ports.map((port) => [port.portId, port]));\n\t\t\tfor (const port of node.ports) ports.set(port.portId, {\n\t\t\t\t...ports.get(port.portId),\n\t\t\t\t...port\n\t\t\t});\n\t\t\tnodes.set(node.nodeId, {\n\t\t\t\t...previous,\n\t\t\t\t...node,\n\t\t\t\tports: [...ports.values()]\n\t\t\t});\n\t\t};\n\t\tmergeNode({\n\t\t\tnodeId: this.nodeId,\n\t\t\tkind: this._options.kind ?? \"endpoint\",\n\t\t\t...this._options.label === void 0 ? {} : { label: this._options.label },\n\t\t\t...this._options.descriptors === void 0 ? {} : { descriptors: [...this._options.descriptors] },\n\t\t\tports: []\n\t\t});\n\t\tconst links = [];\n\t\tconst routes = [];\n\t\tfor (const source of this._sources.keys()) {\n\t\t\tconst fragment = source.snapshotTopology();\n\t\t\tfor (const node of fragment.nodes) mergeNode(node);\n\t\t\tlinks.push(...fragment.links);\n\t\t\troutes.push(...fragment.routes);\n\t\t}\n\t\tfor (const binding of this._bindings) mergeNode({\n\t\t\tnodeId: this.nodeId,\n\t\t\tports: [{ portId: binding.portId }]\n\t\t});\n\t\tif (routePortId !== void 0) routes.push({\n\t\t\tserviceId: observerServiceId,\n\t\t\tnodeId: this.nodeId,\n\t\t\tportId: routePortId,\n\t\t\tmatch: \"exact\"\n\t\t});\n\t\treturn {\n\t\t\tobserverServiceId,\n\t\t\tentryNodeId: this.nodeId,\n\t\t\tnodes: [...nodes.values()],\n\t\t\tlinks,\n\t\t\troutes\n\t\t};\n\t}\n\tpublishTransit(event) {\n\t\tif (this._disposed || this._trafficWatches.accept(event)) return;\n\t\tfor (const observer of [...this._observers]) try {\n\t\t\tobserver(event);\n\t\t} catch {}\n\t\tfor (const subscriber of this._subscribers) subscriber.enqueue(event);\n\t}\n\tsubscribe(options, send) {\n\t\tthis._assertActive();\n\t\tif (options.trafficIgnoreKey !== void 0 && !this._trafficWatches.claim(options.trafficIgnoreKey)) throw new Error(\"Traffic watch request was not observed before subscription\");\n\t\tconst subscriber = new BoundedTrafficSubscription(options, send, () => {\n\t\t\tthis._subscribers.delete(subscriber);\n\t\t\tthis._stopUnusedTrafficSources();\n\t\t});\n\t\tthis._subscribers.add(subscriber);\n\t\ttry {\n\t\t\tthis._startTrafficSources();\n\t\t} catch (error) {\n\t\t\tsubscriber.dispose();\n\t\t\tthrow error;\n\t\t}\n\t\treturn subscriber;\n\t}\n\tobserveTraffic(observer) {\n\t\tthis._assertActive();\n\t\tthis._observers.add(observer);\n\t\tconst registration = { dispose: () => {\n\t\t\tthis._observers.delete(observer);\n\t\t\tthis._stopUnusedTrafficSources();\n\t\t} };\n\t\ttry {\n\t\t\tthis._startTrafficSources();\n\t\t} catch (error) {\n\t\t\tregistration.dispose();\n\t\t\tthrow error;\n\t\t}\n\t\treturn registration;\n\t}\n\taddTrafficSource(source) {\n\t\tthis._assertActive();\n\t\tconst entry = { source };\n\t\tthis._trafficSources.add(entry);\n\t\ttry {\n\t\t\tthis._startTrafficSources();\n\t\t} catch (error) {\n\t\t\tthis._trafficSources.delete(entry);\n\t\t\tthrow error;\n\t\t}\n\t\treturn { dispose: () => {\n\t\t\tthis._trafficSources.delete(entry);\n\t\t\tentry.observation?.dispose();\n\t\t\tentry.observation = void 0;\n\t\t} };\n\t}\n\tdispose() {\n\t\tif (this._disposed) return;\n\t\tthis._disposed = true;\n\t\tfor (const binding of [...this._bindings]) binding.dispose();\n\t\tfor (const subscriber of [...this._subscribers]) subscriber.dispose();\n\t\tthis._observers.clear();\n\t\tthis._stopUnusedTrafficSources();\n\t\tthis._trafficSources.clear();\n\t\tfor (const connection of [...this._trackedConnections]) connection.dispose();\n\t\tfor (const source of [...this._sources.values()]) source.dispose();\n\t\tthis._topologyListeners.clear();\n\t\tthis._trafficWatches.clear();\n\t}\n\t_startTrafficSources() {\n\t\tif (this.observerCount === 0) return;\n\t\tfor (const entry of this._trafficSources) entry.observation ??= entry.source.observe((event) => this.publishTransit(event));\n\t}\n\t_stopUnusedTrafficSources() {\n\t\tif (this.observerCount !== 0) return;\n\t\tfor (const entry of this._trafficSources) {\n\t\t\tentry.observation?.dispose();\n\t\t\tentry.observation = void 0;\n\t\t}\n\t}\n\t_invalidateTopology() {\n\t\tif (this._disposed) return;\n\t\tfor (const listener of this._topologyListeners) listener();\n\t}\n\t_forgetUnusedPorts(portIds) {\n\t\tif (this._disposed) return;\n\t\tconst remaining = new Set(this.getGraph(\"\").nodes.flatMap((node) => node.ports.map((port) => port.portId)));\n\t\tfor (const portId of portIds) if (!remaining.has(portId)) this._trafficWatches.forgetPort(portId);\n\t}\n\t_watchGraph(binding, stream) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet pending = false;\n\t\t\tlet active = true;\n\t\t\tconst finish = () => {\n\t\t\t\tactive = false;\n\t\t\t\tthis._topologyListeners.delete(invalidate);\n\t\t\t\tstream.signal.removeEventListener(\"abort\", finish);\n\t\t\t\tbinding.abort.signal.removeEventListener(\"abort\", finish);\n\t\t\t\tresolve({});\n\t\t\t};\n\t\t\tconst invalidate = () => {\n\t\t\t\tif (pending || !active) return;\n\t\t\t\tpending = true;\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tpending = false;\n\t\t\t\t\tif (!active) return;\n\t\t\t\t\tstream.send({}).catch((error) => {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t\tfinish();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t};\n\t\t\tthis._topologyListeners.add(invalidate);\n\t\t\tstream.signal.addEventListener(\"abort\", finish, { once: true });\n\t\t\tbinding.abort.signal.addEventListener(\"abort\", finish, { once: true });\n\t\t\tif (stream.signal.aborted || binding.abort.signal.aborted) finish();\n\t\t});\n\t}\n\tasync _watchTraffic(binding, options, stream) {\n\t\tconst subscription = this.subscribe(options, (event) => stream.send(event));\n\t\tconst dispose = () => subscription.dispose();\n\t\tstream.signal.addEventListener(\"abort\", dispose, { once: true });\n\t\tbinding.abort.signal.addEventListener(\"abort\", dispose, { once: true });\n\t\tif (stream.signal.aborted || binding.abort.signal.aborted) dispose();\n\t\ttry {\n\t\t\treturn await subscription.closed;\n\t\t} finally {\n\t\t\tstream.signal.removeEventListener(\"abort\", dispose);\n\t\t\tbinding.abort.signal.removeEventListener(\"abort\", dispose);\n\t\t\tsubscription.dispose();\n\t\t}\n\t}\n\t_assertActive() {\n\t\tif (this._disposed) throw new Error(\"Inspection host is disposed\");\n\t}\n};\nvar InspectionBinding = class {\n\tportId;\n\tabort = new AbortController();\n\tonDispose = () => {};\n\tconstructor(portId) {\n\t\tthis.portId = portId;\n\t}\n\tdispose() {\n\t\tif (this.abort.signal.aborted) return;\n\t\tthis.abort.abort();\n\t\tthis.onDispose();\n\t}\n};\nfunction createPortId() {\n\tconst bytes = /* @__PURE__ */ new Uint8Array(16);\n\tglobalThis.crypto.getRandomValues(bytes);\n\treturn `port:${bytesToBase64Url(bytes)}`;\n}\n//#endregion\nexport { validateInterfaceTemplate as $, PRINCIPAL_PREFIX as A, interfaceFromSchema as B, zTopologyTransportInfo as C, isRequest as Ct, zTrafficTransitEvent as D, normalizeJsonSchema as Dt, zTrafficTransitEndpoint as E, isRpcFailure as Et, principalForPublicKey as F, schemaToZod as G, interfaceTemplateGroup as H, publicKeyForKeyId as I, getInterfaceTags as J, INTERFACE_TEMPLATES_EXTENSION as K, resolveSigningKey as L, bytesToBase64Url as M, keyIdForPrincipal as N, zTrafficWatchResult as O, keyIdForPublicKey as P, preferRicherInterfaceSchema as Q, InterfaceDefinition as R, zTopologyTransportEndpoint as S, isNotification as St, zTrafficOverflowEvent as T, RpcFailure as Tt, validateInterfaceErrors as U, toMethodSchema as V, createSchemaToZod as W, interfaceTemplateMemberName as X, interfaceTemplateArgumentsEquivalent as Y, interfaceTemplatesEqual as Z, zTopologyGraph as _, jsonIssues as _t, TrafficWatchFlowTracker as a, jcsCanonicalizeBytes as at, zTopologyNode as b, brandApplicationError as bt, StreamControlType as c, componentSchemaRef as ct, nodeInterface as d, applicationError as dt, validateInterfaceTemplates as et, topologyInterface as f, isApplicationErrorValue as ft, zRouteClaim as g, zodToSvcJsonSchema as gt, zParticipantDescriptorSource as h, rpcError as ht, TrafficFlowFilter as i, jcsCanonicalize as it, base64UrlToBytes as j, KEY_ID_PREFIX as k, StreamDir as l, NotificationType as lt, zParticipantDescriptor as m, requestType as mt, ConnectionInspectionSource as n, computeInterfaceHash as nt, STREAM_METHOD as o, assertSchemaReferences as ot, trafficInterface as p, notificationType as pt, bindTemplateArguments as q, BoundedTrafficSubscription as r, sha256 as rt, StreamControlReason as s, componentSchemaName as st, InspectionHost as t, EXTENSION_PREFIX as tt, streamInterface as u, RequestType as ut, zTopologyLink as v, parseDeclaredErrorBody as vt, zTrafficEvent as w, isResponse as wt, zTopologyPort as x, ErrorCode as xt, zTopologyLinkEndpoint as y, jsonPointerSegment as yt, defineInterface as z };\n\n//# sourceMappingURL=inspectionHost-BA6ZmC_P.js.map"],"names":["void$1","enum$1"],"mappings":"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"}
|