@agimon-ai/po-core 0.0.0-alpha.2 → 0.0.0-alpha.21
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/LICENSE +149 -21
- package/NOTICE +41 -0
- package/dist/agentModel.cjs +1 -1
- package/dist/agentModel.d.mts +2 -2
- package/dist/agentModel.mjs +1 -2
- package/dist/apiContracts.cjs +623 -802
- package/dist/apiContracts.cjs.map +1 -1
- package/dist/apiContracts.d.mts +277 -615
- package/dist/apiContracts.d.mts.map +1 -1
- package/dist/apiContracts.mjs +617 -794
- package/dist/apiContracts.mjs.map +1 -1
- package/dist/askUser.cjs +2 -2
- package/dist/askUser.d.mts +2 -2
- package/dist/askUser.mjs +1 -2
- package/dist/authorTools.mjs +1 -2
- package/dist/backgroundWork.cjs +3 -3
- package/dist/backgroundWork.d.mts +2 -2
- package/dist/backgroundWork.mjs +1 -2
- package/dist/bundleAssetPolicy.mjs +1 -2
- package/dist/chatgptAuth.cjs +3 -2
- package/dist/chatgptAuth.d.mts +3 -2
- package/dist/chatgptAuth.mjs +2 -1
- package/dist/childProcess.cjs +1 -1
- package/dist/childProcess.d.mts +2 -2
- package/dist/childProcess.mjs +1 -2
- package/dist/childSession.cjs +11 -6
- package/dist/childSession.d.mts +3 -3
- package/dist/childSession.mjs +3 -3
- package/dist/cockpitContainer.mjs +1 -2
- package/dist/config.cjs +1 -1
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -2
- package/dist/contextApi.cjs +1 -0
- package/dist/contextApi.d.mts +2 -2
- package/dist/contextApi.mjs +2 -2
- package/dist/contextContributions.cjs +4 -4
- package/dist/contextContributions.d.mts +3 -3
- package/dist/contextContributions.mjs +3 -3
- package/dist/contextDetailStore.cjs +7 -5
- package/dist/contextDetailStore.cjs.map +1 -1
- package/dist/contextDetailStore.d.mts +2 -1
- package/dist/contextDetailStore.d.mts.map +1 -1
- package/dist/contextDetailStore.mjs +6 -4
- package/dist/contextDetailStore.mjs.map +1 -1
- package/dist/contextProjection.cjs +7 -2
- package/dist/contextProjection.cjs.map +1 -1
- package/dist/contextProjection.d.mts +4 -1
- package/dist/contextProjection.d.mts.map +1 -1
- package/dist/contextProjection.mjs +5 -2
- package/dist/contextProjection.mjs.map +1 -1
- package/dist/cordisHost.cjs +11 -11
- package/dist/cordisHost.d.mts +2 -2
- package/dist/cordisHost.mjs +1 -2
- package/dist/delegation.cjs +8 -8
- package/dist/delegation.d.mts +2 -2
- package/dist/delegation.mjs +1 -2
- package/dist/executionBudget.cjs +4 -3
- package/dist/executionBudget.cjs.map +1 -1
- package/dist/executionBudget.d.mts +2 -2
- package/dist/executionBudget.d.mts.map +1 -1
- package/dist/executionBudget.mjs +4 -3
- package/dist/executionBudget.mjs.map +1 -1
- package/dist/extensionFile.cjs +5 -0
- package/dist/extensionFile.d.mts +4 -2
- package/dist/extensionFile.mjs +4 -2
- package/dist/footer.d.mts +2 -2
- package/dist/footer.mjs +1 -2
- package/dist/headless.cjs +14 -14
- package/dist/headless.d.mts +2 -2
- package/dist/headless.mjs +1 -2
- package/dist/headlessHub.cjs +308 -109
- package/dist/headlessHub.cjs.map +1 -1
- package/dist/headlessHub.d.mts +71 -36
- package/dist/headlessHub.d.mts.map +1 -1
- package/dist/headlessHub.mjs +309 -110
- package/dist/headlessHub.mjs.map +1 -1
- package/dist/headlessProtocol.cjs +327 -0
- package/dist/headlessProtocol.cjs.map +1 -0
- package/dist/headlessProtocol.d.mts +30 -0
- package/dist/headlessProtocol.d.mts.map +1 -0
- package/dist/headlessProtocol.mjs +326 -0
- package/dist/headlessProtocol.mjs.map +1 -0
- package/dist/headlessServer.cjs +166 -151
- package/dist/headlessServer.cjs.map +1 -1
- package/dist/headlessServer.d.mts +13 -5
- package/dist/headlessServer.d.mts.map +1 -1
- package/dist/headlessServer.mjs +166 -151
- package/dist/headlessServer.mjs.map +1 -1
- package/dist/headlessSessionHost.d.mts +58 -21
- package/dist/headlessSessionHost.d.mts.map +1 -1
- package/dist/help.cjs +20 -20
- package/dist/help.d.mts +2 -2
- package/dist/help.mjs +2 -2
- package/dist/history.cjs +16 -20
- package/dist/history.d.mts +9 -7
- package/dist/history.mjs +6 -7
- package/dist/historyOwnership.cjs.map +1 -1
- package/dist/historyOwnership.d.mts +1 -1
- package/dist/historyOwnership.mjs.map +1 -1
- package/dist/hubChannel.cjs +9 -0
- package/dist/hubChannel.d.mts +3 -2
- package/dist/hubChannel.mjs +3 -2
- package/dist/index.cjs +26 -28
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +6 -6
- package/dist/interop/chord.mjs +1 -0
- package/dist/interop/chordContext.mjs +1 -0
- package/dist/json.cjs +11 -5
- package/dist/json.d.mts +4 -2
- package/dist/json.mjs +4 -2
- package/dist/kernel.cjs +1 -1
- package/dist/kernel.d.mts +3 -3
- package/dist/kernel.mjs +1 -2
- package/dist/leader.d.mts +2 -2
- package/dist/leader.mjs +1 -2
- package/dist/logSinkTelemetry.mjs +1 -2
- package/dist/machineApi.cjs +80 -74
- package/dist/machineApi.cjs.map +1 -1
- package/dist/machineApi.d.mts +5 -2
- package/dist/machineApi.d.mts.map +1 -1
- package/dist/machineApi.mjs +78 -71
- package/dist/machineApi.mjs.map +1 -1
- package/dist/main.cjs +2 -1
- package/dist/main.d.mts +2 -1
- package/dist/main.mjs +2 -1
- package/dist/mcpFacet.d.mts +3 -3
- package/dist/mcpProjection.cjs +13 -13
- package/dist/mcpProjection.d.mts +2 -2
- package/dist/mcpProjection.mjs +1 -2
- package/dist/mcpSchemaCost.cjs +4 -4
- package/dist/mcpSchemaCost.cjs.map +1 -1
- package/dist/mcpSchemaCost.d.mts +2 -2
- package/dist/mcpSchemaCost.mjs +4 -4
- package/dist/mcpSchemaCost.mjs.map +1 -1
- package/dist/mcpSession.cjs +7 -7
- package/dist/mcpSession.d.mts +2 -2
- package/dist/mcpSession.mjs +1 -2
- package/dist/mcpStatus.cjs +2 -2
- package/dist/mcpStatus.d.mts +2 -2
- package/dist/mcpStatus.mjs +1 -2
- package/dist/mcpToolResolver.cjs +3 -3
- package/dist/mcpToolResolver.d.mts +2 -2
- package/dist/mcpToolResolver.mjs +1 -2
- package/dist/mcpWidget.d.mts +2 -2
- package/dist/moduleResolution.cjs +43 -8
- package/dist/moduleResolution.cjs.map +1 -1
- package/dist/moduleResolution.d.mts +10 -1
- package/dist/moduleResolution.d.mts.map +1 -1
- package/dist/moduleResolution.mjs +40 -7
- package/dist/moduleResolution.mjs.map +1 -1
- package/dist/narration.cjs +3 -3
- package/dist/narration.d.mts +2 -2
- package/dist/narration.mjs +1 -2
- package/dist/native.cjs +9 -0
- package/dist/native.d.mts +4 -3
- package/dist/native.mjs +3 -2
- package/dist/nodePlatform.cjs +77 -0
- package/dist/nodePlatform.cjs.map +1 -0
- package/dist/nodePlatform.d.mts +17 -0
- package/dist/nodePlatform.d.mts.map +1 -0
- package/dist/nodePlatform.mjs +72 -0
- package/dist/nodePlatform.mjs.map +1 -0
- package/dist/notification.cjs +15 -15
- package/dist/notification.d.mts +2 -2
- package/dist/notification.mjs +1 -2
- package/dist/packageApi.cjs +11 -11
- package/dist/packageApi.d.mts +2 -2
- package/dist/packageApi.mjs +2 -2
- package/dist/packageApiServer.cjs +45 -27
- package/dist/packageApiServer.cjs.map +1 -1
- package/dist/packageApiServer.d.mts +36 -26
- package/dist/packageApiServer.d.mts.map +1 -1
- package/dist/packageApiServer.mjs +44 -26
- package/dist/packageApiServer.mjs.map +1 -1
- package/dist/piSettings.cjs +41 -20
- package/dist/piSettings.d.mts +4 -2
- package/dist/piSettings.mjs +4 -2
- package/dist/platform.cjs +62 -0
- package/dist/platform.d.mts +10 -0
- package/dist/platform.mjs +10 -0
- package/dist/pluginProtocol.cjs +7 -8
- package/dist/pluginProtocol.d.mts +2 -2
- package/dist/pluginProtocol.mjs +1 -2
- package/dist/poPackage.cjs +12 -0
- package/dist/poPackage.d.mts +3 -0
- package/dist/poPackage.mjs +3 -0
- package/dist/profileIdentity.cjs +1 -1
- package/dist/profileIdentity.d.mts +2 -2
- package/dist/profileIdentity.mjs +1 -2
- package/dist/protocol.cjs +3 -3
- package/dist/protocol.d.mts +2 -2
- package/dist/protocol.mjs +1 -2
- package/dist/readiness.cjs +6 -6
- package/dist/readiness.d.mts +2 -2
- package/dist/readiness.mjs +1 -2
- package/dist/remoteApi.cjs.map +1 -1
- package/dist/remoteApi.d.mts +2 -2
- package/dist/remoteApi.mjs.map +1 -1
- package/dist/remoteRuntime.cjs +42 -65
- package/dist/remoteRuntime.cjs.map +1 -1
- package/dist/remoteRuntime.d.mts +3 -2
- package/dist/remoteRuntime.d.mts.map +1 -1
- package/dist/remoteRuntime.mjs +41 -62
- package/dist/remoteRuntime.mjs.map +1 -1
- package/dist/runtimeConfig.cjs +4 -4
- package/dist/runtimeConfig.cjs.map +1 -1
- package/dist/runtimeConfig.d.mts +10 -9
- package/dist/runtimeConfig.d.mts.map +1 -1
- package/dist/runtimeConfig.mjs +4 -4
- package/dist/runtimeConfig.mjs.map +1 -1
- package/dist/runtimeContextApi.cjs +10 -3
- package/dist/runtimeContextApi.cjs.map +1 -1
- package/dist/runtimeContextApi.d.mts +3 -3
- package/dist/runtimeContextApi.d.mts.map +1 -1
- package/dist/runtimeContextApi.mjs +10 -3
- package/dist/runtimeContextApi.mjs.map +1 -1
- package/dist/runtimeCordisHost.cjs +46 -46
- package/dist/runtimeCordisHost.cjs.map +1 -1
- package/dist/runtimeCordisHost.d.mts +29 -28
- package/dist/runtimeCordisHost.d.mts.map +1 -1
- package/dist/runtimeCordisHost.mjs +42 -42
- package/dist/runtimeCordisHost.mjs.map +1 -1
- package/dist/runtimeIdentity.cjs +6 -9
- package/dist/runtimeIdentity.cjs.map +1 -1
- package/dist/runtimeIdentity.d.mts +5 -1
- package/dist/runtimeIdentity.d.mts.map +1 -1
- package/dist/runtimeIdentity.mjs +5 -8
- package/dist/runtimeIdentity.mjs.map +1 -1
- package/dist/runtimeJson.cjs +10 -45
- package/dist/runtimeJson.d.mts +3 -22
- package/dist/runtimeJson.mjs +3 -39
- package/dist/runtimeLogSinkTelemetry.cjs +19 -19
- package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
- package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
- package/dist/runtimePackages.cjs +7 -2
- package/dist/runtimePackages.cjs.map +1 -1
- package/dist/runtimePackages.d.mts +4 -1
- package/dist/runtimePackages.d.mts.map +1 -1
- package/dist/runtimePackages.mjs +7 -2
- package/dist/runtimePackages.mjs.map +1 -1
- package/dist/runtimePiSettings.cjs +40 -263
- package/dist/runtimePiSettings.d.mts +3 -72
- package/dist/runtimePiSettings.mjs +3 -241
- package/dist/runtimeProtocol.cjs +19 -19
- package/dist/runtimeProtocol.cjs.map +1 -1
- package/dist/runtimeProtocol.d.mts +7 -7
- package/dist/runtimeProtocol.d.mts.map +1 -1
- package/dist/runtimeProtocol.mjs +17 -17
- package/dist/runtimeProtocol.mjs.map +1 -1
- package/dist/runtimeTransition.cjs +9 -9
- package/dist/runtimeTransition.cjs.map +1 -1
- package/dist/runtimeTransition.d.mts +10 -10
- package/dist/runtimeTransition.d.mts.map +1 -1
- package/dist/runtimeTransition.mjs +7 -7
- package/dist/runtimeTransition.mjs.map +1 -1
- package/dist/sandboxHarness.mjs +1 -2
- package/dist/server.cjs +3 -7
- package/dist/server.d.mts +6 -6
- package/dist/server.mjs +3 -4
- package/dist/serverPlugin.cjs +39 -0
- package/dist/serverPlugin.d.mts +12 -0
- package/dist/serverPlugin.mjs +11 -0
- package/dist/serverTelemetry.cjs +1 -1
- package/dist/serverTelemetry.cjs.map +1 -1
- package/dist/serverTelemetry.d.mts +2 -2
- package/dist/serverTelemetry.mjs +2 -2
- package/dist/serverTelemetry.mjs.map +1 -1
- package/dist/sessionFilesApi.cjs +41 -37
- package/dist/sessionFilesApi.cjs.map +1 -1
- package/dist/sessionFilesApi.d.mts +6 -3
- package/dist/sessionFilesApi.d.mts.map +1 -1
- package/dist/sessionFilesApi.mjs +41 -36
- package/dist/sessionFilesApi.mjs.map +1 -1
- package/dist/sessionProtocol.cjs +31 -6
- package/dist/sessionProtocol.d.mts +8 -3
- package/dist/sessionProtocol.mjs +8 -2
- package/dist/skills.cjs +5 -5
- package/dist/skills.d.mts +2 -2
- package/dist/skills.mjs +1 -2
- package/dist/sqliteSessionStorage.cjs +28 -50
- package/dist/sqliteSessionStorage.cjs.map +1 -1
- package/dist/sqliteSessionStorage.d.mts +13 -20
- package/dist/sqliteSessionStorage.d.mts.map +1 -1
- package/dist/sqliteSessionStorage.mjs +25 -48
- package/dist/sqliteSessionStorage.mjs.map +1 -1
- package/dist/src/constants/agentSettled.cjs +7 -0
- package/dist/src/constants/agentSettled.cjs.map +1 -0
- package/dist/src/constants/agentSettled.mjs +7 -0
- package/dist/src/constants/agentSettled.mjs.map +1 -0
- package/dist/src/constants/contextApi.cjs +3 -1
- package/dist/src/constants/contextApi.cjs.map +1 -1
- package/dist/src/constants/contextApi.d.mts +2 -1
- package/dist/src/constants/contextApi.d.mts.map +1 -1
- package/dist/src/constants/contextApi.mjs +3 -2
- package/dist/src/constants/contextApi.mjs.map +1 -1
- package/dist/src/constants/voiceTools.cjs +6 -6
- package/dist/src/constants/voiceTools.cjs.map +1 -1
- package/dist/src/constants/voiceTools.d.mts +3 -3
- package/dist/src/constants/voiceTools.mjs +4 -4
- package/dist/src/constants/voiceTools.mjs.map +1 -1
- package/dist/src/extensions/extensionFile.cjs +22 -5
- package/dist/src/extensions/extensionFile.cjs.map +1 -1
- package/dist/src/extensions/extensionFile.d.mts +17 -4
- package/dist/src/extensions/extensionFile.d.mts.map +1 -1
- package/dist/src/extensions/extensionFile.mjs +22 -6
- package/dist/src/extensions/extensionFile.mjs.map +1 -1
- package/dist/src/extensions/serverPlugin.cjs +231 -92
- package/dist/src/extensions/serverPlugin.cjs.map +1 -1
- package/dist/src/extensions/serverPlugin.d.mts +2 -2
- package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
- package/dist/src/extensions/serverPlugin.mjs +232 -93
- package/dist/src/extensions/serverPlugin.mjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.cjs +349 -142
- package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.d.mts +18 -17
- package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
- package/dist/src/pi/piSessionRuntime.mjs +342 -135
- package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
- package/dist/src/schemas/agentModel.cjs +2 -2
- package/dist/src/schemas/agentModel.cjs.map +1 -1
- package/dist/src/schemas/agentModel.d.mts +1 -1
- package/dist/src/schemas/agentModel.mjs +2 -2
- package/dist/src/schemas/agentModel.mjs.map +1 -1
- package/dist/src/schemas/apiContracts.d.mts +2 -2
- package/dist/src/schemas/apiContracts.d.mts.map +1 -1
- package/dist/src/schemas/askUser.cjs +4 -4
- package/dist/src/schemas/askUser.cjs.map +1 -1
- package/dist/src/schemas/askUser.d.mts +4 -4
- package/dist/src/schemas/askUser.d.mts.map +1 -1
- package/dist/src/schemas/askUser.mjs +3 -3
- package/dist/src/schemas/askUser.mjs.map +1 -1
- package/dist/src/schemas/backgroundWork.cjs +10 -10
- package/dist/src/schemas/backgroundWork.cjs.map +1 -1
- package/dist/src/schemas/backgroundWork.d.mts +9 -9
- package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
- package/dist/src/schemas/backgroundWork.mjs +8 -8
- package/dist/src/schemas/backgroundWork.mjs.map +1 -1
- package/dist/src/schemas/childProcess.cjs +5 -5
- package/dist/src/schemas/childProcess.cjs.map +1 -1
- package/dist/src/schemas/childProcess.d.mts +2 -2
- package/dist/src/schemas/childProcess.mjs +5 -5
- package/dist/src/schemas/childProcess.mjs.map +1 -1
- package/dist/src/schemas/contextContributions.cjs +10 -10
- package/dist/src/schemas/contextContributions.cjs.map +1 -1
- package/dist/src/schemas/contextContributions.d.mts +16 -16
- package/dist/src/schemas/contextContributions.d.mts.map +1 -1
- package/dist/src/schemas/contextContributions.mjs +8 -8
- package/dist/src/schemas/contextContributions.mjs.map +1 -1
- package/dist/src/schemas/delegation.cjs +17 -17
- package/dist/src/schemas/delegation.cjs.map +1 -1
- package/dist/src/schemas/delegation.d.mts +16 -16
- package/dist/src/schemas/delegation.d.mts.map +1 -1
- package/dist/src/schemas/delegation.mjs +10 -10
- package/dist/src/schemas/delegation.mjs.map +1 -1
- package/dist/src/schemas/extensionFile.d.mts +23 -19
- package/dist/src/schemas/extensionFile.d.mts.map +1 -1
- package/dist/src/schemas/footer.cjs.map +1 -1
- package/dist/src/schemas/footer.d.mts +5 -5
- package/dist/src/schemas/footer.d.mts.map +1 -1
- package/dist/src/schemas/footer.mjs.map +1 -1
- package/dist/src/schemas/headless.cjs +37 -37
- package/dist/src/schemas/headless.cjs.map +1 -1
- package/dist/src/schemas/headless.d.mts +100 -101
- package/dist/src/schemas/headless.d.mts.map +1 -1
- package/dist/src/schemas/headless.mjs +24 -24
- package/dist/src/schemas/headless.mjs.map +1 -1
- package/dist/src/schemas/help.cjs +60 -60
- package/dist/src/schemas/help.cjs.map +1 -1
- package/dist/src/schemas/help.d.mts +43 -43
- package/dist/src/schemas/help.d.mts.map +1 -1
- package/dist/src/schemas/help.mjs +41 -41
- package/dist/src/schemas/help.mjs.map +1 -1
- package/dist/src/schemas/home.cjs +127 -0
- package/dist/src/schemas/home.cjs.map +1 -0
- package/dist/src/schemas/home.d.mts +63 -0
- package/dist/src/schemas/home.d.mts.map +1 -0
- package/dist/src/schemas/home.mjs +121 -0
- package/dist/src/schemas/home.mjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.cjs +441 -0
- package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.d.mts +78 -0
- package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
- package/dist/src/schemas/httpApiContracts.mjs +434 -0
- package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
- package/dist/src/schemas/hubChannel.cjs +3 -0
- package/dist/src/schemas/hubChannel.cjs.map +1 -1
- package/dist/src/schemas/hubChannel.d.mts +84 -60
- package/dist/src/schemas/hubChannel.d.mts.map +1 -1
- package/dist/src/schemas/hubChannel.mjs +3 -1
- package/dist/src/schemas/hubChannel.mjs.map +1 -1
- package/dist/src/schemas/leader.cjs.map +1 -1
- package/dist/src/schemas/leader.d.mts +3 -3
- package/dist/src/schemas/leader.d.mts.map +1 -1
- package/dist/src/schemas/leader.mjs.map +1 -1
- package/dist/src/schemas/mcpBundle.d.mts +3 -3
- package/dist/src/schemas/mcpFacet.cjs.map +1 -1
- package/dist/src/schemas/mcpFacet.d.mts +22 -22
- package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
- package/dist/src/schemas/mcpFacet.mjs.map +1 -1
- package/dist/src/schemas/mcpProjection.cjs +41 -41
- package/dist/src/schemas/mcpProjection.cjs.map +1 -1
- package/dist/src/schemas/mcpProjection.d.mts +31 -30
- package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
- package/dist/src/schemas/mcpProjection.mjs +29 -29
- package/dist/src/schemas/mcpProjection.mjs.map +1 -1
- package/dist/src/schemas/mcpSession.cjs +23 -23
- package/dist/src/schemas/mcpSession.cjs.map +1 -1
- package/dist/src/schemas/mcpSession.d.mts +12 -12
- package/dist/src/schemas/mcpSession.d.mts.map +1 -1
- package/dist/src/schemas/mcpSession.mjs +18 -18
- package/dist/src/schemas/mcpSession.mjs.map +1 -1
- package/dist/src/schemas/mcpStatus.cjs +5 -5
- package/dist/src/schemas/mcpStatus.cjs.map +1 -1
- package/dist/src/schemas/mcpStatus.d.mts +4 -4
- package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
- package/dist/src/schemas/mcpStatus.mjs +4 -4
- package/dist/src/schemas/mcpStatus.mjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.cjs +9 -9
- package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
- package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
- package/dist/src/schemas/mcpToolResolver.mjs +7 -7
- package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
- package/dist/src/schemas/narration.cjs +9 -9
- package/dist/src/schemas/narration.cjs.map +1 -1
- package/dist/src/schemas/narration.d.mts +5 -5
- package/dist/src/schemas/narration.d.mts.map +1 -1
- package/dist/src/schemas/narration.mjs +7 -7
- package/dist/src/schemas/narration.mjs.map +1 -1
- package/dist/src/schemas/notification.cjs +45 -45
- package/dist/src/schemas/notification.cjs.map +1 -1
- package/dist/src/schemas/notification.d.mts +22 -22
- package/dist/src/schemas/notification.d.mts.map +1 -1
- package/dist/src/schemas/notification.mjs +31 -31
- package/dist/src/schemas/notification.mjs.map +1 -1
- package/dist/src/schemas/packageApi.cjs +28 -28
- package/dist/src/schemas/packageApi.cjs.map +1 -1
- package/dist/src/schemas/packageApi.d.mts +91 -65
- package/dist/src/schemas/packageApi.d.mts.map +1 -1
- package/dist/src/schemas/packageApi.mjs +18 -18
- package/dist/src/schemas/packageApi.mjs.map +1 -1
- package/dist/src/schemas/platform.cjs +34 -0
- package/dist/src/schemas/platform.cjs.map +1 -0
- package/dist/src/schemas/platform.d.mts +75 -0
- package/dist/src/schemas/platform.d.mts.map +1 -0
- package/dist/src/schemas/platform.mjs +27 -0
- package/dist/src/schemas/platform.mjs.map +1 -0
- package/dist/src/schemas/pluginContributions.cjs.map +1 -1
- package/dist/src/schemas/pluginContributions.d.mts +12 -12
- package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
- package/dist/src/schemas/pluginContributions.mjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.cjs +24 -27
- package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.d.mts +21 -21
- package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
- package/dist/src/schemas/pluginProtocol.mjs +18 -20
- package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
- package/dist/src/schemas/profileIdentity.cjs +2 -2
- package/dist/src/schemas/profileIdentity.cjs.map +1 -1
- package/dist/src/schemas/profileIdentity.d.mts +1 -1
- package/dist/src/schemas/profileIdentity.mjs +2 -2
- package/dist/src/schemas/profileIdentity.mjs.map +1 -1
- package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
- package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
- package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
- package/dist/src/schemas/protocolContracts.cjs +168 -0
- package/dist/src/schemas/protocolContracts.cjs.map +1 -0
- package/dist/src/schemas/protocolContracts.d.mts +69 -0
- package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
- package/dist/src/schemas/protocolContracts.mjs +164 -0
- package/dist/src/schemas/protocolContracts.mjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.cjs +51 -0
- package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.d.mts +218 -0
- package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolHubContract.mjs +49 -0
- package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.cjs +22 -0
- package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
- package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolSessionContract.mjs +22 -0
- package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.cjs +21 -0
- package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
- package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolThreadContract.mjs +20 -0
- package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
- package/dist/src/schemas/readiness.cjs +36 -36
- package/dist/src/schemas/readiness.cjs.map +1 -1
- package/dist/src/schemas/readiness.d.mts +37 -37
- package/dist/src/schemas/readiness.d.mts.map +1 -1
- package/dist/src/schemas/readiness.mjs +31 -31
- package/dist/src/schemas/readiness.mjs.map +1 -1
- package/dist/src/schemas/serverBundle.d.mts +5 -5
- package/dist/src/schemas/serverPlugin.cjs +103 -0
- package/dist/src/schemas/serverPlugin.cjs.map +1 -0
- package/dist/src/schemas/serverPlugin.d.mts +176 -0
- package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
- package/dist/src/schemas/serverPlugin.mjs +95 -0
- package/dist/src/schemas/serverPlugin.mjs.map +1 -0
- package/dist/src/schemas/serverScope.cjs +37 -0
- package/dist/src/schemas/serverScope.cjs.map +1 -0
- package/dist/src/schemas/serverScope.d.mts +77 -0
- package/dist/src/schemas/serverScope.d.mts.map +1 -0
- package/dist/src/schemas/serverScope.mjs +33 -0
- package/dist/src/schemas/serverScope.mjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.cjs +320 -0
- package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.mjs +318 -0
- package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
- package/dist/src/schemas/sessionProtocol.cjs +20 -13
- package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
- package/dist/src/schemas/sessionProtocol.d.mts +37 -54
- package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
- package/dist/src/schemas/sessionProtocol.mjs +17 -8
- package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
- package/dist/src/schemas/skills.cjs +16 -16
- package/dist/src/schemas/skills.cjs.map +1 -1
- package/dist/src/schemas/skills.d.mts +7 -7
- package/dist/src/schemas/skills.d.mts.map +1 -1
- package/dist/src/schemas/skills.mjs +12 -12
- package/dist/src/schemas/skills.mjs.map +1 -1
- package/dist/src/schemas/toolOverrides.cjs +9 -9
- package/dist/src/schemas/toolOverrides.cjs.map +1 -1
- package/dist/src/schemas/toolOverrides.d.mts +8 -8
- package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
- package/dist/src/schemas/toolOverrides.mjs +7 -7
- package/dist/src/schemas/toolOverrides.mjs.map +1 -1
- package/dist/src/schemas/toolSurface.cjs +9 -9
- package/dist/src/schemas/toolSurface.cjs.map +1 -1
- package/dist/src/schemas/toolSurface.d.mts +13 -13
- package/dist/src/schemas/toolSurface.d.mts.map +1 -1
- package/dist/src/schemas/toolSurface.mjs +7 -7
- package/dist/src/schemas/toolSurface.mjs.map +1 -1
- package/dist/src/schemas/uiHub.cjs +9 -9
- package/dist/src/schemas/uiHub.cjs.map +1 -1
- package/dist/src/schemas/uiHub.d.mts +12 -12
- package/dist/src/schemas/uiHub.d.mts.map +1 -1
- package/dist/src/schemas/uiHub.mjs +7 -7
- package/dist/src/schemas/uiHub.mjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.cjs +691 -775
- package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.d.mts +5 -1
- package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
- package/dist/src/server/directHarnessRuntime.mjs +671 -754
- package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
- package/dist/src/server/largeFrameLink.cjs +47 -0
- package/dist/src/server/largeFrameLink.cjs.map +1 -0
- package/dist/src/server/largeFrameLink.mjs +47 -0
- package/dist/src/server/largeFrameLink.mjs.map +1 -0
- package/dist/src/server/liveImport.cjs +1 -1
- package/dist/src/server/liveImport.cjs.map +1 -1
- package/dist/src/server/liveImport.d.mts +1 -1
- package/dist/src/server/liveImport.mjs +1 -1
- package/dist/src/server/liveImport.mjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.d.mts +6 -6
- package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
- package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
- package/dist/src/server/serverPackages.cjs +60 -0
- package/dist/src/server/serverPackages.cjs.map +1 -0
- package/dist/src/server/serverPackages.d.mts +44 -0
- package/dist/src/server/serverPackages.d.mts.map +1 -0
- package/dist/src/server/serverPackages.mjs +59 -0
- package/dist/src/server/serverPackages.mjs.map +1 -0
- package/dist/src/server/serverScope.cjs +510 -0
- package/dist/src/server/serverScope.cjs.map +1 -0
- package/dist/src/server/serverScope.d.mts +123 -0
- package/dist/src/server/serverScope.d.mts.map +1 -0
- package/dist/src/server/serverScope.mjs +510 -0
- package/dist/src/server/serverScope.mjs.map +1 -0
- package/dist/src/server/sessionMcpHandler.cjs +3 -3
- package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
- package/dist/src/server/sessionMcpHandler.mjs +4 -4
- package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.cjs +2 -1
- package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.mjs +2 -1
- package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
- package/dist/src/server/threadJournals.cjs +38 -107
- package/dist/src/server/threadJournals.cjs.map +1 -1
- package/dist/src/server/threadJournals.mjs +38 -104
- package/dist/src/server/threadJournals.mjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
- package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.cjs +1 -220
- package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.d.mts +0 -18
- package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
- package/dist/src/services/chatgptAuth/index.mjs +1 -217
- package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
- package/dist/src/services/chatgptImages/index.cjs +1 -1
- package/dist/src/services/chatgptImages/index.cjs.map +1 -1
- package/dist/src/services/chatgptImages/index.mjs +1 -1
- package/dist/src/services/chatgptImages/index.mjs.map +1 -1
- package/dist/src/services/chatgptLogin/index.cjs +230 -0
- package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
- package/dist/src/services/chatgptLogin/index.d.mts +21 -0
- package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
- package/dist/src/services/chatgptLogin/index.mjs +227 -0
- package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
- package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
- package/dist/src/services/contextContributions/index.cjs +8 -8
- package/dist/src/services/contextContributions/index.cjs.map +1 -1
- package/dist/src/services/contextContributions/index.d.mts +3 -3
- package/dist/src/services/contextContributions/index.d.mts.map +1 -1
- package/dist/src/services/contextContributions/index.mjs +8 -8
- package/dist/src/services/contextContributions/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
- package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
- package/dist/src/services/devProxyStore/index.cjs +7 -101
- package/dist/src/services/devProxyStore/index.cjs.map +1 -1
- package/dist/src/services/devProxyStore/index.mjs +7 -101
- package/dist/src/services/devProxyStore/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/sync.cjs +66 -0
- package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
- package/dist/src/services/devProxyStore/sync.mjs +63 -0
- package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.cjs +15 -0
- package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.mjs +16 -0
- package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
- package/dist/src/services/durableNavigation/index.cjs +3 -18
- package/dist/src/services/durableNavigation/index.cjs.map +1 -1
- package/dist/src/services/durableNavigation/index.mjs +2 -17
- package/dist/src/services/durableNavigation/index.mjs.map +1 -1
- package/dist/src/services/durableQueue/docs.cjs +12 -0
- package/dist/src/services/durableQueue/docs.cjs.map +1 -0
- package/dist/src/services/durableQueue/docs.mjs +13 -0
- package/dist/src/services/durableQueue/docs.mjs.map +1 -0
- package/dist/src/services/durableQueue/index.cjs +151 -0
- package/dist/src/services/durableQueue/index.cjs.map +1 -0
- package/dist/src/services/durableQueue/index.mjs +149 -0
- package/dist/src/services/durableQueue/index.mjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
- package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
- package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
- package/dist/src/services/durableSession/docs.cjs +65 -0
- package/dist/src/services/durableSession/docs.cjs.map +1 -0
- package/dist/src/services/durableSession/docs.d.mts +17 -0
- package/dist/src/services/durableSession/docs.d.mts.map +1 -0
- package/dist/src/services/durableSession/docs.mjs +60 -0
- package/dist/src/services/durableSession/docs.mjs.map +1 -0
- package/dist/src/services/durableSession/index.cjs +21 -0
- package/dist/src/services/durableSession/index.cjs.map +1 -0
- package/dist/src/services/durableSession/index.d.mts +13 -0
- package/dist/src/services/durableSession/index.d.mts.map +1 -0
- package/dist/src/services/durableSession/index.mjs +20 -0
- package/dist/src/services/durableSession/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.cjs +15 -0
- package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.mjs +16 -0
- package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.cjs +11 -0
- package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.mjs +12 -0
- package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
- package/dist/src/services/durableSubagents/index.cjs +95 -0
- package/dist/src/services/durableSubagents/index.cjs.map +1 -0
- package/dist/src/services/durableSubagents/index.mjs +90 -0
- package/dist/src/services/durableSubagents/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.cjs +25 -0
- package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.mjs +26 -0
- package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
- package/dist/src/services/headlessClient/index.cjs +20 -13
- package/dist/src/services/headlessClient/index.cjs.map +1 -1
- package/dist/src/services/headlessClient/index.mjs +21 -14
- package/dist/src/services/headlessClient/index.mjs.map +1 -1
- package/dist/src/services/historyOwnership/type.d.mts +15 -0
- package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
- package/dist/src/services/hubChannelHarness/index.cjs +2 -2
- package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
- package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
- package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
- package/dist/src/services/hubChannelHarness/index.mjs +2 -2
- package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
- package/dist/src/services/json/core.cjs +30 -0
- package/dist/src/services/json/core.cjs.map +1 -0
- package/dist/src/services/json/core.d.mts +21 -0
- package/dist/src/services/json/core.d.mts.map +1 -0
- package/dist/src/services/json/core.mjs +26 -0
- package/dist/src/services/json/core.mjs.map +1 -0
- package/dist/src/services/json/sync.cjs +48 -0
- package/dist/src/services/json/sync.cjs.map +1 -0
- package/dist/src/services/json/sync.d.mts +22 -0
- package/dist/src/services/json/sync.d.mts.map +1 -0
- package/dist/src/services/json/sync.mjs +43 -0
- package/dist/src/services/json/sync.mjs.map +1 -0
- package/dist/src/services/kernel/index.cjs +2 -2
- package/dist/src/services/kernel/index.cjs.map +1 -1
- package/dist/src/services/kernel/index.d.mts +3 -3
- package/dist/src/services/kernel/index.d.mts.map +1 -1
- package/dist/src/services/kernel/index.mjs +2 -2
- package/dist/src/services/kernel/index.mjs.map +1 -1
- package/dist/src/services/nativeChildTools/index.cjs +16 -0
- package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
- package/dist/src/services/nativeChildTools/index.mjs +16 -0
- package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
- package/dist/src/services/nodeHost/index.cjs +30 -0
- package/dist/src/services/nodeHost/index.cjs.map +1 -0
- package/dist/src/services/nodeHost/index.d.mts +16 -0
- package/dist/src/services/nodeHost/index.d.mts.map +1 -0
- package/dist/src/services/nodeHost/index.mjs +27 -0
- package/dist/src/services/nodeHost/index.mjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
- package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
- package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/index.cjs +6 -128
- package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
- package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
- package/dist/src/services/openSessionRegistry/index.mjs +6 -128
- package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
- package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
- package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
- package/dist/src/services/packageApiHarness/index.cjs +1 -1
- package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
- package/dist/src/services/packageApiHarness/index.d.mts +6 -6
- package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
- package/dist/src/services/packageApiHarness/index.mjs +2 -2
- package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
- package/dist/src/services/piArgs/index.cjs +53 -0
- package/dist/src/services/piArgs/index.cjs.map +1 -0
- package/dist/src/services/piArgs/index.d.mts +6 -0
- package/dist/src/services/piArgs/index.d.mts.map +1 -0
- package/dist/src/services/piArgs/index.mjs +53 -0
- package/dist/src/services/piArgs/index.mjs.map +1 -0
- package/dist/src/services/piExtensionHost/index.cjs +47 -39
- package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
- package/dist/src/services/piExtensionHost/index.d.mts +83 -0
- package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
- package/dist/src/services/piExtensionHost/index.mjs +47 -38
- package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
- package/dist/src/services/piHelpTools/index.cjs +5 -5
- package/dist/src/services/piHelpTools/index.cjs.map +1 -1
- package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
- package/dist/src/services/piHelpTools/index.mjs +7 -7
- package/dist/src/services/piHelpTools/index.mjs.map +1 -1
- package/dist/src/services/piMessages/index.cjs +106 -0
- package/dist/src/services/piMessages/index.cjs.map +1 -0
- package/dist/src/services/piMessages/index.mjs +105 -0
- package/dist/src/services/piMessages/index.mjs.map +1 -0
- package/dist/src/services/piSessionEntries/index.cjs +4 -4
- package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
- package/dist/src/services/piSessionEntries/index.mjs +3 -3
- package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
- package/dist/src/services/piSettings/core.cjs +308 -0
- package/dist/src/services/piSettings/core.cjs.map +1 -0
- package/dist/src/services/piSettings/core.d.mts +102 -0
- package/dist/src/services/piSettings/core.d.mts.map +1 -0
- package/dist/src/services/piSettings/core.mjs +276 -0
- package/dist/src/services/piSettings/core.mjs.map +1 -0
- package/dist/src/services/piSettings/sync.cjs +119 -0
- package/dist/src/services/piSettings/sync.cjs.map +1 -0
- package/dist/src/services/piSettings/sync.d.mts +44 -0
- package/dist/src/services/piSettings/sync.d.mts.map +1 -0
- package/dist/src/services/piSettings/sync.mjs +110 -0
- package/dist/src/services/piSettings/sync.mjs.map +1 -0
- package/dist/src/services/piSummary/index.cjs +7 -0
- package/dist/src/services/piSummary/index.cjs.map +1 -0
- package/dist/src/services/piSummary/index.mjs +7 -0
- package/dist/src/services/piSummary/index.mjs.map +1 -0
- package/dist/src/services/platformFiles/index.cjs +44 -0
- package/dist/src/services/platformFiles/index.cjs.map +1 -0
- package/dist/src/services/platformFiles/index.d.mts +16 -0
- package/dist/src/services/platformFiles/index.d.mts.map +1 -0
- package/dist/src/services/platformFiles/index.mjs +39 -0
- package/dist/src/services/platformFiles/index.mjs.map +1 -0
- package/dist/src/services/pluginLifecycle/index.cjs +19 -13
- package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
- package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
- package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
- package/dist/src/services/pluginLifecycle/index.mjs +19 -14
- package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
- package/dist/src/services/poPackage/core.cjs +73 -0
- package/dist/src/services/poPackage/core.cjs.map +1 -0
- package/dist/src/services/poPackage/core.d.mts +32 -0
- package/dist/src/services/poPackage/core.d.mts.map +1 -0
- package/dist/src/services/poPackage/core.mjs +66 -0
- package/dist/src/services/poPackage/core.mjs.map +1 -0
- package/dist/src/services/poPackage/sync.cjs +55 -0
- package/dist/src/services/poPackage/sync.cjs.map +1 -0
- package/dist/src/services/poPackage/sync.d.mts +21 -0
- package/dist/src/services/poPackage/sync.d.mts.map +1 -0
- package/dist/src/services/poPackage/sync.mjs +50 -0
- package/dist/src/services/poPackage/sync.mjs.map +1 -0
- package/dist/src/services/providerAuth/index.cjs +11 -7
- package/dist/src/services/providerAuth/index.cjs.map +1 -1
- package/dist/src/services/providerAuth/index.mjs +11 -7
- package/dist/src/services/providerAuth/index.mjs.map +1 -1
- package/dist/src/services/publicFileShares/index.cjs +1 -1
- package/dist/src/services/publicFileShares/index.cjs.map +1 -1
- package/dist/src/services/publicFileShares/index.d.mts +2 -2
- package/dist/src/services/publicFileShares/index.mjs +2 -2
- package/dist/src/services/publicFileShares/index.mjs.map +1 -1
- package/dist/src/services/remoteAccess/index.d.mts +1 -0
- package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
- package/dist/src/services/remoteAccessStore/index.cjs +8 -190
- package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
- package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
- package/dist/src/services/remoteAccessStore/index.mjs +7 -187
- package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
- package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
- package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
- package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
- package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
- package/dist/src/services/serialRunner/index.cjs +25 -0
- package/dist/src/services/serialRunner/index.cjs.map +1 -0
- package/dist/src/services/serialRunner/index.d.mts +10 -0
- package/dist/src/services/serialRunner/index.d.mts.map +1 -0
- package/dist/src/services/serialRunner/index.mjs +25 -0
- package/dist/src/services/serialRunner/index.mjs.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
- package/dist/src/services/serverHost/index.cjs.map +1 -0
- package/dist/src/services/serverHost/index.d.mts +31 -0
- package/dist/src/services/serverHost/index.d.mts.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
- package/dist/src/services/serverHost/index.mjs.map +1 -0
- package/dist/src/services/sessionAttachments/index.cjs +4 -3
- package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
- package/dist/src/services/sessionAttachments/index.d.mts +1 -6
- package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
- package/dist/src/services/sessionAttachments/index.mjs +3 -2
- package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
- package/dist/src/services/sessionAttachments/type.d.mts +9 -0
- package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.cjs +96 -0
- package/dist/src/services/sessionFiles/index.cjs.map +1 -0
- package/dist/src/services/sessionFiles/index.d.mts +33 -0
- package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.mjs +89 -0
- package/dist/src/services/sessionFiles/index.mjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
- package/dist/src/services/sessionGitStatus/index.cjs +31 -33
- package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
- package/dist/src/services/sessionGitStatus/index.mjs +31 -33
- package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.cjs +3 -27
- package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.mjs +3 -27
- package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
- package/dist/src/services/skillPrompt/index.cjs +11 -0
- package/dist/src/services/skillPrompt/index.cjs.map +1 -0
- package/dist/src/services/skillPrompt/index.mjs +11 -0
- package/dist/src/services/skillPrompt/index.mjs.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
- package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
- package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
- package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
- package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
- package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
- package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
- package/dist/src/services/testMode/index.cjs +162 -0
- package/dist/src/services/testMode/index.cjs.map +1 -0
- package/dist/src/services/testMode/index.d.mts +17 -0
- package/dist/src/services/testMode/index.d.mts.map +1 -0
- package/dist/src/services/testMode/index.mjs +155 -0
- package/dist/src/services/testMode/index.mjs.map +1 -0
- package/dist/src/services/toolOverrides/index.cjs +6 -6
- package/dist/src/services/toolOverrides/index.cjs.map +1 -1
- package/dist/src/services/toolOverrides/index.d.mts +3 -3
- package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
- package/dist/src/services/toolOverrides/index.mjs +6 -6
- package/dist/src/services/toolOverrides/index.mjs.map +1 -1
- package/dist/src/services/toolPrompt/index.d.mts +17 -0
- package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
- package/dist/src/services/toolSurface/index.cjs +3 -3
- package/dist/src/services/toolSurface/index.cjs.map +1 -1
- package/dist/src/services/toolSurface/index.d.mts +3 -3
- package/dist/src/services/toolSurface/index.d.mts.map +1 -1
- package/dist/src/services/toolSurface/index.mjs +4 -4
- package/dist/src/services/toolSurface/index.mjs.map +1 -1
- package/dist/src/services/traceContext/index.cjs.map +1 -1
- package/dist/src/services/traceContext/index.mjs.map +1 -1
- package/dist/src/services/transcriptPages/index.cjs +159 -33
- package/dist/src/services/transcriptPages/index.cjs.map +1 -1
- package/dist/src/services/transcriptPages/index.mjs +158 -34
- package/dist/src/services/transcriptPages/index.mjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.cjs +7 -7
- package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
- package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
- package/dist/src/services/voiceToolsContract/index.mjs +7 -7
- package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.cjs +9 -179
- package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
- package/dist/src/services/workspaceRegistry/index.mjs +7 -176
- package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
- package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
- package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.cjs +94 -20
- package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
- package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
- package/dist/src/systems/child/services/childSession/index.mjs +94 -20
- package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
- package/dist/src/systems/child/types/childSession.cjs +33 -13
- package/dist/src/systems/child/types/childSession.cjs.map +1 -1
- package/dist/src/systems/child/types/childSession.d.mts +143 -80
- package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
- package/dist/src/systems/child/types/childSession.mjs +24 -9
- package/dist/src/systems/child/types/childSession.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
- package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
- package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
- package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
- package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
- package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
- package/dist/src/testing/pi/testHost.cjs +2 -2
- package/dist/src/testing/pi/testHost.cjs.map +1 -1
- package/dist/src/testing/pi/testHost.d.mts +3 -2
- package/dist/src/testing/pi/testHost.mjs +3 -3
- package/dist/src/testing/pi/testHost.mjs.map +1 -1
- package/dist/src/types/config.d.mts +1 -1
- package/dist/src/types/config.d.mts.map +1 -1
- package/dist/src/types/kernel.d.mts +3 -3
- package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
- package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
- package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
- package/dist/src/web/services/apiClient/index.d.mts +1 -0
- package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
- package/dist/src/web/services/apiPaths/index.d.mts +1 -1
- package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
- package/dist/src/web/services/mcpWidget.cjs.map +1 -1
- package/dist/src/web/services/mcpWidget.d.mts +2 -2
- package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
- package/dist/src/web/services/mcpWidget.mjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.cjs +3 -0
- package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.mjs +3 -0
- package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
- package/dist/src/web/types/mcpWidget.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
- package/dist/src/web/types/template.d.mts +8 -0
- package/dist/src/web/types/template.d.mts.map +1 -1
- package/dist/src/web/types/webPlugin.d.mts +17 -5
- package/dist/src/web/types/webPlugin.d.mts.map +1 -1
- package/dist/testMode.cjs +4 -0
- package/dist/testMode.d.mts +2 -0
- package/dist/testMode.mjs +1 -0
- package/dist/testing.cjs +1 -1
- package/dist/testing.d.mts +2 -2
- package/dist/testing.mjs +2 -2
- package/dist/toolInventory.cjs.map +1 -1
- package/dist/toolInventory.mjs.map +1 -1
- package/dist/toolNames.mjs +1 -2
- package/dist/toolOverrides.cjs +4 -4
- package/dist/toolOverrides.d.mts +3 -3
- package/dist/toolOverrides.mjs +3 -3
- package/dist/toolSurface.cjs +4 -4
- package/dist/toolSurface.d.mts +3 -3
- package/dist/toolSurface.mjs +3 -3
- package/dist/transition.cjs +3 -3
- package/dist/transition.d.cjs +3 -3
- package/dist/transition.d.mts +2 -2
- package/dist/transition.mjs +1 -2
- package/dist/transitionClassifier.cjs.map +1 -1
- package/dist/transitionClassifier.d.mts +2 -2
- package/dist/transitionClassifier.d.mts.map +1 -1
- package/dist/transitionClassifier.mjs.map +1 -1
- package/dist/transitionCoordinator.cjs +3 -3
- package/dist/transitionCoordinator.cjs.map +1 -1
- package/dist/transitionCoordinator.d.mts +4 -4
- package/dist/transitionCoordinator.d.mts.map +1 -1
- package/dist/transitionCoordinator.mjs +3 -3
- package/dist/transitionCoordinator.mjs.map +1 -1
- package/dist/typesContextApi.d.mts +2 -1
- package/dist/typesContextApi.d.mts.map +1 -1
- package/dist/uiHub.cjs +3 -3
- package/dist/uiHub.d.mts +2 -2
- package/dist/uiHub.mjs +1 -2
- package/dist/voiceTools.cjs +5 -5
- package/dist/voiceTools.d.mts +3 -3
- package/dist/voiceTools.mjs +3 -3
- package/dist/web.cjs +8 -0
- package/dist/web.d.mts +3 -2
- package/dist/web.mjs +2 -1
- package/dist/webCompositions.cjs.map +1 -1
- package/dist/webCompositions.d.mts +7 -7
- package/dist/webCompositions.d.mts.map +1 -1
- package/dist/webCompositions.mjs.map +1 -1
- package/licenses/Codex-Apache-2.0.txt +201 -0
- package/package.json +58 -53
- package/dist/doomPackage.cjs +0 -61
- package/dist/doomPackage.cjs.map +0 -1
- package/dist/doomPackage.d.mts +0 -17
- package/dist/doomPackage.d.mts.map +0 -1
- package/dist/doomPackage.mjs +0 -54
- package/dist/doomPackage.mjs.map +0 -1
- package/dist/jsonlSessionRepo.cjs +0 -44
- package/dist/jsonlSessionRepo.cjs.map +0 -1
- package/dist/jsonlSessionRepo.d.mts +0 -7
- package/dist/jsonlSessionRepo.d.mts.map +0 -1
- package/dist/jsonlSessionRepo.mjs +0 -42
- package/dist/jsonlSessionRepo.mjs.map +0 -1
- package/dist/runtimeJson.cjs.map +0 -1
- package/dist/runtimeJson.d.mts.map +0 -1
- package/dist/runtimeJson.mjs.map +0 -1
- package/dist/runtimePiSettings.cjs.map +0 -1
- package/dist/runtimePiSettings.d.mts.map +0 -1
- package/dist/runtimePiSettings.mjs.map +0 -1
- package/dist/serverFacet.cjs +0 -34
- package/dist/serverFacet.d.mts +0 -10
- package/dist/serverFacet.mjs +0 -9
- package/dist/src/pi/piWebSocketListener.cjs +0 -115
- package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
- package/dist/src/pi/piWebSocketListener.mjs +0 -115
- package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
- package/dist/src/schemas/serverFacet.cjs +0 -111
- package/dist/src/schemas/serverFacet.cjs.map +0 -1
- package/dist/src/schemas/serverFacet.d.mts +0 -152
- package/dist/src/schemas/serverFacet.d.mts.map +0 -1
- package/dist/src/schemas/serverFacet.mjs +0 -101
- package/dist/src/schemas/serverFacet.mjs.map +0 -1
- package/dist/src/schemas/sessionUpdates.d.mts +0 -34
- package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
- package/dist/src/server/headlessProtocol.cjs +0 -382
- package/dist/src/server/headlessProtocol.cjs.map +0 -1
- package/dist/src/server/headlessProtocol.mjs +0 -382
- package/dist/src/server/headlessProtocol.mjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
- package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
- package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
- package/dist/src/server/serverFacetLoader.cjs +0 -214
- package/dist/src/server/serverFacetLoader.cjs.map +0 -1
- package/dist/src/server/serverFacetLoader.d.mts +0 -72
- package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
- package/dist/src/server/serverFacetLoader.mjs +0 -212
- package/dist/src/server/serverFacetLoader.mjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
- package/dist/src/services/historyImport/index.cjs +0 -8
- package/dist/src/services/historyImport/index.cjs.map +0 -1
- package/dist/src/services/historyImport/index.d.mts +0 -68
- package/dist/src/services/historyImport/index.d.mts.map +0 -1
- package/dist/src/services/historyImport/index.mjs +0 -8
- package/dist/src/services/historyImport/index.mjs.map +0 -1
- package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.cjs.map +0 -1
- package/dist/src/services/requestReceipts/index.d.mts +0 -11
- package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.mjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.cjs +0 -633
- package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.d.mts +0 -50
- package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
- package/dist/src/services/rpcTranscript/index.mjs +0 -632
- package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
- package/dist/src/services/serverFacet/index.cjs.map +0 -1
- package/dist/src/services/serverFacet/index.d.mts +0 -31
- package/dist/src/services/serverFacet/index.d.mts.map +0 -1
- package/dist/src/services/serverFacet/index.mjs.map +0 -1
- package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
- package/dist/terminalPiChildSessionService.cjs +0 -324
- package/dist/terminalPiChildSessionService.cjs.map +0 -1
- package/dist/terminalPiChildSessionService.d.mts +0 -46
- package/dist/terminalPiChildSessionService.d.mts.map +0 -1
- package/dist/terminalPiChildSessionService.mjs +0 -318
- package/dist/terminalPiChildSessionService.mjs.map +0 -1
- package/dist/v3Export.cjs +0 -10
- package/dist/v3Export.cjs.map +0 -1
- package/dist/v3Export.d.mts +0 -35
- package/dist/v3Export.d.mts.map +0 -1
- package/dist/v3Export.mjs +0 -9
- package/dist/v3Export.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginProtocol.mjs","names":[],"sources":["../../../src/schemas/pluginProtocol.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"pluginProtocol.mjs","names":[],"sources":["../../../src/schemas/pluginProtocol.ts"],"sourcesContent":["import type { JsonValue } from '@earendil-works/chord';\nimport type { Context } from '@earendil-works/chord/context';\nimport { type Static, type TSchema, Type } from 'typebox';\nimport { Check } from 'typebox/value';\n\nimport type { PoApiMount, PoApiScope } from './packageApi';\n\n/** The address is always exact. A workspace call never resolves to a global service. */\nexport const PoPluginMountSchema = Type.Union([\n Type.Object({ scope: Type.Literal('global') }, { additionalProperties: false }),\n Type.Object(\n { scope: Type.Literal('workspace'), workspaceId: Type.String({ minLength: 1 }) },\n { additionalProperties: false },\n ),\n Type.Object(\n { scope: Type.Literal('session'), sessionId: Type.String({ minLength: 1 }) },\n { additionalProperties: false },\n ),\n]);\n\nexport const PoPluginCallSchema = Type.Object(\n {\n mount: PoPluginMountSchema,\n service: Type.String({ minLength: 1 }),\n method: Type.String({ minLength: 1 }),\n input: Type.Unknown(),\n },\n { additionalProperties: false },\n);\n\nexport type PoPluginCall = Static<typeof PoPluginCallSchema>;\nexport type PoPluginDirection = 'client-to-server' | 'server-to-client';\nexport interface PoPluginCaller {\n /** Authenticated connection that owns client capabilities and leases. */\n connectionId?: string;\n /** Aborted when the authenticated browser connection closes. Never supplied over the wire. */\n signal?: AbortSignal;\n}\n\n/** Chord method shared by all authenticated Po clients. */\nexport interface PoPluginService {\n invoke(\n call: {\n mount: PoApiMount;\n service: string;\n method: string;\n input: JsonValue;\n },\n context: Context,\n ): Promise<JsonValue>;\n}\n\nexport interface PoPluginMethod<TInput extends TSchema, TOutput extends TSchema> {\n readonly service: string;\n readonly method: string;\n readonly scope: PoApiScope;\n readonly direction: PoPluginDirection;\n readonly input: TInput;\n readonly output: TOutput;\n}\n\nexport function definePoPluginMethod<TInput extends TSchema, TOutput extends TSchema>(\n definition: PoPluginMethod<TInput, TOutput>,\n): PoPluginMethod<TInput, TOutput> {\n if (!definition.service || !definition.method) throw new Error('Plugin service and method must be named.');\n return definition;\n}\n\nexport function poPluginMountKey(mount: PoApiMount): string {\n if (!Check(PoPluginMountSchema, mount)) throw new Error('Invalid plugin mount.');\n switch (mount.scope) {\n case 'global':\n return 'global';\n case 'workspace':\n return `workspace:${mount.workspaceId}`;\n case 'session':\n return `session:${mount.sessionId}`;\n }\n}\n\nexport class PoPluginCallError extends Error {\n constructor(\n readonly code: 'INVALID_CALL' | 'METHOD_NOT_FOUND' | 'INVALID_INPUT' | 'INVALID_OUTPUT',\n message: string,\n ) {\n super(message);\n this.name = 'PoPluginCallError';\n }\n}\n\nexport interface PoPluginRegistry {\n register<TInput extends TSchema, TOutput extends TSchema>(\n mount: PoApiMount,\n definition: PoPluginMethod<TInput, TOutput>,\n handler: (input: Static<TInput>, caller: PoPluginCaller) => Static<TOutput> | Promise<Static<TOutput>>,\n ): () => void;\n invoke(call: unknown, direction: PoPluginDirection, caller?: PoPluginCaller): Promise<unknown>;\n dispose(): void;\n}\n\n/** Transport-neutral dispatch, shared by Chord server services and client capability hosts. */\nexport function createPoPluginRegistry(): PoPluginRegistry {\n const handlers = new Map<\n string,\n {\n definition: PoPluginMethod<TSchema, TSchema>;\n handler: (input: never, caller: PoPluginCaller) => unknown;\n }\n >();\n let disposed = false;\n const keyOf = (mount: PoApiMount, service: string, method: string, direction: PoPluginDirection): string =>\n `${poPluginMountKey(mount)}\\0${direction}\\0${service}\\0${method}`;\n return {\n register(mount, definition, handler) {\n if (disposed) throw new Error('Plugin registry is disposed.');\n if (mount.scope !== definition.scope)\n throw new Error(`Method '${definition.service}.${definition.method}' requires ${definition.scope} scope.`);\n const key = keyOf(mount, definition.service, definition.method, definition.direction);\n if (handlers.has(key))\n throw new Error(`Plugin method '${definition.service}.${definition.method}' is already mounted.`);\n const entry = { definition, handler } as typeof handlers extends Map<string, infer TValue> ? TValue : never;\n handlers.set(key, entry);\n return () => {\n if (handlers.get(key) === entry) handlers.delete(key);\n };\n },\n async invoke(value, direction, caller = {}) {\n if (disposed) throw new Error('Plugin registry is disposed.');\n if (!Check(PoPluginCallSchema, value)) throw new PoPluginCallError('INVALID_CALL', 'Invalid plugin call.');\n const call = value as PoPluginCall;\n const entry = handlers.get(keyOf(call.mount, call.service, call.method, direction));\n if (!entry)\n throw new PoPluginCallError(\n 'METHOD_NOT_FOUND',\n `Plugin method '${call.service}.${call.method}' is not mounted at this scope.`,\n );\n if (!Check(entry.definition.input, call.input))\n throw new PoPluginCallError('INVALID_INPUT', `Invalid input for '${call.service}.${call.method}'.`);\n const output = await entry.handler(call.input as never, caller);\n if (!Check(entry.definition.output, output))\n throw new PoPluginCallError('INVALID_OUTPUT', `Invalid output from '${call.service}.${call.method}'.`);\n return output;\n },\n dispose() {\n disposed = true;\n handlers.clear();\n },\n };\n}\n\nexport async function invokePoPluginMethod<TInput extends TSchema, TOutput extends TSchema>(\n transport: (call: PoPluginCall) => Promise<unknown>,\n mount: PoApiMount,\n definition: PoPluginMethod<TInput, TOutput>,\n input: Static<TInput>,\n): Promise<Static<TOutput>> {\n if (mount.scope !== definition.scope)\n throw new Error(`Method '${definition.service}.${definition.method}' requires ${definition.scope} scope.`);\n if (!Check(definition.input, input))\n throw new PoPluginCallError('INVALID_INPUT', `Invalid input for '${definition.service}.${definition.method}'.`);\n const output = await transport({ mount, service: definition.service, method: definition.method, input });\n if (!Check(definition.output, output))\n throw new PoPluginCallError('INVALID_OUTPUT', `Invalid output from '${definition.service}.${definition.method}'.`);\n return output;\n}\n"],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ let typebox = require("typebox");
|
|
|
19
19
|
* one, because a message written before a switch keeps the identity it was
|
|
20
20
|
* written under. Collapsing would rewrite history.
|
|
21
21
|
*/
|
|
22
|
-
const
|
|
22
|
+
const PO_PROFILE_IDENTITY_ENTRY_TYPE = "po-profile-identity";
|
|
23
23
|
/**
|
|
24
24
|
* Ceiling on the encoded icon, counted on the finished `data:` URL rather than
|
|
25
25
|
* the file, so one number bounds both the journal entry and the transport.
|
|
@@ -59,7 +59,7 @@ const ProfileIdentityProjectionSchema = typebox.Type.Object({
|
|
|
59
59
|
}))
|
|
60
60
|
}, { additionalProperties: false });
|
|
61
61
|
//#endregion
|
|
62
|
-
exports.
|
|
62
|
+
exports.PO_PROFILE_IDENTITY_ENTRY_TYPE = PO_PROFILE_IDENTITY_ENTRY_TYPE;
|
|
63
63
|
exports.PROFILE_ICON_MAX_DATA_URL_LENGTH = PROFILE_ICON_MAX_DATA_URL_LENGTH;
|
|
64
64
|
exports.PROFILE_ICON_MIME_TYPES = PROFILE_ICON_MIME_TYPES;
|
|
65
65
|
exports.ProfileIdentityProjectionSchema = ProfileIdentityProjectionSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileIdentity.cjs","names":["Type"],"sources":["../../../src/schemas/profileIdentity.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\n/**\n * The custom session entry the runtime journals when the active profile's\n * persona identity changes.\n *\n * A profile has always been prompt text only, so a cockpit had nothing to show\n * for it beyond the profile name already published as footer status. This entry\n * carries the persona's display name and avatar so the transcript can attribute\n * each assistant message to the persona that produced it.\n *\n * It rides Pi's `entry_appended` frames on the road the agent-model projection\n * already uses, so any RPC client sees the change live and on replay without a\n * new protocol.\n *\n * Unlike the minor-mode, context, and agent-model projections, this entry is\n * NOT a projection: it is transcript, positioned in journal order. A cockpit\n * folding it must keep every occurrence rather than collapsing to the latest\n * one, because a message written before a switch keeps the identity it was\n * written under. Collapsing would rewrite history.\n */\nexport const
|
|
1
|
+
{"version":3,"file":"profileIdentity.cjs","names":["Type"],"sources":["../../../src/schemas/profileIdentity.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\n/**\n * The custom session entry the runtime journals when the active profile's\n * persona identity changes.\n *\n * A profile has always been prompt text only, so a cockpit had nothing to show\n * for it beyond the profile name already published as footer status. This entry\n * carries the persona's display name and avatar so the transcript can attribute\n * each assistant message to the persona that produced it.\n *\n * It rides Pi's `entry_appended` frames on the road the agent-model projection\n * already uses, so any RPC client sees the change live and on replay without a\n * new protocol.\n *\n * Unlike the minor-mode, context, and agent-model projections, this entry is\n * NOT a projection: it is transcript, positioned in journal order. A cockpit\n * folding it must keep every occurrence rather than collapsing to the latest\n * one, because a message written before a switch keeps the identity it was\n * written under. Collapsing would rewrite history.\n */\nexport const PO_PROFILE_IDENTITY_ENTRY_TYPE = 'po-profile-identity';\n\n/**\n * Ceiling on the encoded icon, counted on the finished `data:` URL rather than\n * the file, so one number bounds both the journal entry and the transport.\n *\n * An avatar renders at 32 CSS pixels. This much room is already generous, and\n * the cap exists because the entry is replayed with the transcript: an oversize\n * icon is dropped and the persona keeps its name, never failing a profile load.\n */\nexport const PROFILE_ICON_MAX_DATA_URL_LENGTH = 262_144;\n\nconst MAX_PROFILE_NAME_LENGTH = 128;\n\n/**\n * Image types allowed for a persona icon.\n *\n * Deliberately narrower than the cockpit's general media catalog: `image/svg+xml`\n * is excluded because an SVG rendered same-origin executes script, and the icon\n * path comes from user-authored persona front-matter. Do not reconcile this list\n * with the broader media type map.\n */\nexport const PROFILE_ICON_MIME_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'] as const;\nexport type ProfileIconMimeType = (typeof PROFILE_ICON_MIME_TYPES)[number];\n\nexport const ProfileIdentityProjectionSchema = Type.Object(\n {\n profile: Type.String({ minLength: 1, maxLength: MAX_PROFILE_NAME_LENGTH }),\n name: Type.Optional(Type.String({ minLength: 1, maxLength: MAX_PROFILE_NAME_LENGTH })),\n icon: Type.Optional(Type.String({ minLength: 1, maxLength: PROFILE_ICON_MAX_DATA_URL_LENGTH })),\n },\n { additionalProperties: false },\n);\n\n/** The persona a message was produced under: the profile name, plus optional display name and icon. */\nexport type ProfileIdentityProjection = Static<typeof ProfileIdentityProjectionSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,iCAAiC;;;;;;;;;AAU9C,MAAa,mCAAmC;AAEhD,MAAM,0BAA0B;;;;;;;;;AAUhC,MAAa,0BAA0B;CAAC;CAAa;CAAc;CAAa;AAAY;AAG5F,MAAa,kCAAkCA,QAAAA,KAAK,OAClD;CACE,SAASA,QAAAA,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAwB,CAAC;CACzE,MAAMA,QAAAA,KAAK,SAASA,QAAAA,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAwB,CAAC,CAAC;CACrF,MAAMA,QAAAA,KAAK,SAASA,QAAAA,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAiC,CAAC,CAAC;AAChG,GACA,EAAE,sBAAsB,MAAM,CAChC"}
|
|
@@ -19,7 +19,7 @@ import { Static, Type } from "typebox";
|
|
|
19
19
|
* one, because a message written before a switch keeps the identity it was
|
|
20
20
|
* written under. Collapsing would rewrite history.
|
|
21
21
|
*/
|
|
22
|
-
export declare const
|
|
22
|
+
export declare const PO_PROFILE_IDENTITY_ENTRY_TYPE = "po-profile-identity";
|
|
23
23
|
/**
|
|
24
24
|
* Ceiling on the encoded icon, counted on the finished `data:` URL rather than
|
|
25
25
|
* the file, so one number bounds both the journal entry and the transport.
|
|
@@ -19,7 +19,7 @@ import { Type } from "typebox";
|
|
|
19
19
|
* one, because a message written before a switch keeps the identity it was
|
|
20
20
|
* written under. Collapsing would rewrite history.
|
|
21
21
|
*/
|
|
22
|
-
const
|
|
22
|
+
const PO_PROFILE_IDENTITY_ENTRY_TYPE = "po-profile-identity";
|
|
23
23
|
/**
|
|
24
24
|
* Ceiling on the encoded icon, counted on the finished `data:` URL rather than
|
|
25
25
|
* the file, so one number bounds both the journal entry and the transport.
|
|
@@ -59,6 +59,6 @@ const ProfileIdentityProjectionSchema = Type.Object({
|
|
|
59
59
|
}))
|
|
60
60
|
}, { additionalProperties: false });
|
|
61
61
|
//#endregion
|
|
62
|
-
export {
|
|
62
|
+
export { PO_PROFILE_IDENTITY_ENTRY_TYPE, PROFILE_ICON_MAX_DATA_URL_LENGTH, PROFILE_ICON_MIME_TYPES, ProfileIdentityProjectionSchema };
|
|
63
63
|
|
|
64
64
|
//# sourceMappingURL=profileIdentity.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileIdentity.mjs","names":[],"sources":["../../../src/schemas/profileIdentity.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\n/**\n * The custom session entry the runtime journals when the active profile's\n * persona identity changes.\n *\n * A profile has always been prompt text only, so a cockpit had nothing to show\n * for it beyond the profile name already published as footer status. This entry\n * carries the persona's display name and avatar so the transcript can attribute\n * each assistant message to the persona that produced it.\n *\n * It rides Pi's `entry_appended` frames on the road the agent-model projection\n * already uses, so any RPC client sees the change live and on replay without a\n * new protocol.\n *\n * Unlike the minor-mode, context, and agent-model projections, this entry is\n * NOT a projection: it is transcript, positioned in journal order. A cockpit\n * folding it must keep every occurrence rather than collapsing to the latest\n * one, because a message written before a switch keeps the identity it was\n * written under. Collapsing would rewrite history.\n */\nexport const
|
|
1
|
+
{"version":3,"file":"profileIdentity.mjs","names":[],"sources":["../../../src/schemas/profileIdentity.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\n/**\n * The custom session entry the runtime journals when the active profile's\n * persona identity changes.\n *\n * A profile has always been prompt text only, so a cockpit had nothing to show\n * for it beyond the profile name already published as footer status. This entry\n * carries the persona's display name and avatar so the transcript can attribute\n * each assistant message to the persona that produced it.\n *\n * It rides Pi's `entry_appended` frames on the road the agent-model projection\n * already uses, so any RPC client sees the change live and on replay without a\n * new protocol.\n *\n * Unlike the minor-mode, context, and agent-model projections, this entry is\n * NOT a projection: it is transcript, positioned in journal order. A cockpit\n * folding it must keep every occurrence rather than collapsing to the latest\n * one, because a message written before a switch keeps the identity it was\n * written under. Collapsing would rewrite history.\n */\nexport const PO_PROFILE_IDENTITY_ENTRY_TYPE = 'po-profile-identity';\n\n/**\n * Ceiling on the encoded icon, counted on the finished `data:` URL rather than\n * the file, so one number bounds both the journal entry and the transport.\n *\n * An avatar renders at 32 CSS pixels. This much room is already generous, and\n * the cap exists because the entry is replayed with the transcript: an oversize\n * icon is dropped and the persona keeps its name, never failing a profile load.\n */\nexport const PROFILE_ICON_MAX_DATA_URL_LENGTH = 262_144;\n\nconst MAX_PROFILE_NAME_LENGTH = 128;\n\n/**\n * Image types allowed for a persona icon.\n *\n * Deliberately narrower than the cockpit's general media catalog: `image/svg+xml`\n * is excluded because an SVG rendered same-origin executes script, and the icon\n * path comes from user-authored persona front-matter. Do not reconcile this list\n * with the broader media type map.\n */\nexport const PROFILE_ICON_MIME_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'] as const;\nexport type ProfileIconMimeType = (typeof PROFILE_ICON_MIME_TYPES)[number];\n\nexport const ProfileIdentityProjectionSchema = Type.Object(\n {\n profile: Type.String({ minLength: 1, maxLength: MAX_PROFILE_NAME_LENGTH }),\n name: Type.Optional(Type.String({ minLength: 1, maxLength: MAX_PROFILE_NAME_LENGTH })),\n icon: Type.Optional(Type.String({ minLength: 1, maxLength: PROFILE_ICON_MAX_DATA_URL_LENGTH })),\n },\n { additionalProperties: false },\n);\n\n/** The persona a message was produced under: the profile name, plus optional display name and icon. */\nexport type ProfileIdentityProjection = Static<typeof ProfileIdentityProjectionSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,iCAAiC;;;;;;;;;AAU9C,MAAa,mCAAmC;AAEhD,MAAM,0BAA0B;;;;;;;;;AAUhC,MAAa,0BAA0B;CAAC;CAAa;CAAc;CAAa;AAAY;AAG5F,MAAa,kCAAkC,KAAK,OAClD;CACE,SAAS,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAwB,CAAC;CACzE,MAAM,KAAK,SAAS,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAwB,CAAC,CAAC;CACrF,MAAM,KAAK,SAAS,KAAK,OAAO;EAAE,WAAW;EAAG,WAAW;CAAiC,CAAC,CAAC;AAChG,GACA,EAAE,sBAAsB,MAAM,CAChC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const require_protocolContracts = require("./protocolContracts.cjs");
|
|
2
|
+
let typebox = require("typebox");
|
|
3
|
+
let dist_interop_chord_mjs = require("../../../dist/interop/chord.mjs");
|
|
4
|
+
//#region src/schemas/protocolChannelsContract.ts
|
|
5
|
+
const Json = typebox.Type.Unsafe({});
|
|
6
|
+
const ChannelFrameSchema = typebox.Type.Object({
|
|
7
|
+
type: typebox.Type.String({ minLength: 1 }),
|
|
8
|
+
payload: Json
|
|
9
|
+
});
|
|
10
|
+
/** Latest payload per extension channel frame type. */
|
|
11
|
+
const PoChannelsStateSchema = typebox.Type.Record(typebox.Type.String(), Json);
|
|
12
|
+
/** A session's extension channels as seen by one connection. */
|
|
13
|
+
const PoChannelsContract = (0, dist_interop_chord_mjs.remote)("po.channels", {
|
|
14
|
+
version: 1,
|
|
15
|
+
host: (0, dist_interop_chord_mjs.hostNamed)(require_protocolContracts.PO_SERVER_HOST),
|
|
16
|
+
input: typebox.Type.Object({ sessionId: typebox.Type.String({ minLength: 1 }) }),
|
|
17
|
+
variants: { default: {
|
|
18
|
+
state: { latest: PoChannelsStateSchema },
|
|
19
|
+
methods: require_protocolContracts.chordMethods({ receive: { args: ChannelFrameSchema } })
|
|
20
|
+
} }
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.ChannelFrameSchema = ChannelFrameSchema;
|
|
24
|
+
exports.PoChannelsContract = PoChannelsContract;
|
|
25
|
+
exports.PoChannelsStateSchema = PoChannelsStateSchema;
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=protocolChannelsContract.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolChannelsContract.cjs","names":["Type","remote","hostNamed","PO_SERVER_HOST","chordMethods"],"sources":["../../../src/schemas/protocolChannelsContract.ts"],"sourcesContent":["import { hostNamed, remote, type Ref } from '@earendil-works/chord';\nimport { Type } from 'typebox';\n\nimport { chordMethods, PO_SERVER_HOST } from './protocolContracts';\nimport type { JsonValue } from './sessionProtocol';\n\nconst Json = Type.Unsafe<JsonValue>({});\n\nexport const ChannelFrameSchema = Type.Object({ type: Type.String({ minLength: 1 }), payload: Json });\n/** Latest payload per extension channel frame type. */\nexport const PoChannelsStateSchema = Type.Record(Type.String(), Json);\n\n/** A session's extension channels as seen by one connection. */\nexport const PoChannelsContract = remote('po.channels', {\n version: 1,\n host: hostNamed(PO_SERVER_HOST),\n input: Type.Object({ sessionId: Type.String({ minLength: 1 }) }),\n variants: {\n default: {\n state: { latest: PoChannelsStateSchema },\n methods: chordMethods({ receive: { args: ChannelFrameSchema } }),\n },\n },\n});\n\nexport type ChannelsRef = Ref<typeof PoChannelsContract>;\n"],"mappings":";;;;AAMA,MAAM,OAAOA,QAAAA,KAAK,OAAkB,CAAC,CAAC;AAEtC,MAAa,qBAAqBA,QAAAA,KAAK,OAAO;CAAE,MAAMA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CAAG,SAAS;AAAK,CAAC;;AAEpG,MAAa,wBAAwBA,QAAAA,KAAK,OAAOA,QAAAA,KAAK,OAAO,GAAG,IAAI;;AAGpE,MAAa,sBAAA,GAAqBC,uBAAAA,OAAAA,CAAO,eAAe;CACtD,SAAS;CACT,OAAA,GAAMC,uBAAAA,UAAAA,CAAUC,0BAAAA,cAAc;CAC9B,OAAOH,QAAAA,KAAK,OAAO,EAAE,WAAWA,QAAAA,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;CAC/D,UAAU,EACR,SAAS;EACP,OAAO,EAAE,QAAQ,sBAAsB;EACvC,SAASI,0BAAAA,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,EAAE,CAAC;CACjE,EACF;AACF,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { JsonValue as JsonValue$1 } from "./sessionProtocol.mjs";
|
|
2
|
+
import { ChordMethods } from "./protocolContracts.mjs";
|
|
3
|
+
import { Type } from "typebox";
|
|
4
|
+
import { Ref } from "@earendil-works/chord";
|
|
5
|
+
//#region src/schemas/protocolChannelsContract.d.ts
|
|
6
|
+
export declare const ChannelFrameSchema: Type.TObject<{
|
|
7
|
+
type: Type.TString;
|
|
8
|
+
payload: Type.TUnsafe<JsonValue$1>;
|
|
9
|
+
}>;
|
|
10
|
+
/** Latest payload per extension channel frame type. */
|
|
11
|
+
export declare const PoChannelsStateSchema: Type.TRecord<"^.*$", Type.TUnsafe<JsonValue$1>>;
|
|
12
|
+
/** A session's extension channels as seen by one connection. */
|
|
13
|
+
export declare const PoChannelsContract: import("@earendil-works/chord").RemoteContract<{
|
|
14
|
+
readonly version: 1;
|
|
15
|
+
readonly host: import("@earendil-works/chord").HostNamed;
|
|
16
|
+
readonly input: Type.TObject<{
|
|
17
|
+
sessionId: Type.TString;
|
|
18
|
+
}>;
|
|
19
|
+
readonly variants: {
|
|
20
|
+
default: {
|
|
21
|
+
state: {
|
|
22
|
+
latest: Type.TRecord<"^.*$", Type.TUnsafe<JsonValue$1>>;
|
|
23
|
+
};
|
|
24
|
+
methods: ChordMethods<{
|
|
25
|
+
receive: {
|
|
26
|
+
args: Type.TObject<{
|
|
27
|
+
type: Type.TString;
|
|
28
|
+
payload: Type.TUnsafe<JsonValue$1>;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
}>;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}>;
|
|
35
|
+
export type ChannelsRef = Ref<typeof PoChannelsContract>;
|
|
36
|
+
//#endregion
|
|
37
|
+
//# sourceMappingURL=protocolChannelsContract.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolChannelsContract.d.mts","names":["JsonValue","_$__protocolContracts0.ChordMethods"],"sources":["../../../src/schemas/protocolChannelsContract.ts"],"mappings":";;;;;qBAQa,oBAAkB,KAAA;;;;;qBAElB,uBAAqB,KAAA,gBAAA,KAAA,QAAAA;;qBAGrB,oDAAkB;;;;;;;IAK3B;MACE;QAAS,QAAM,KAAA,gBAAA,KAAA,QAAAA;;MACf,SAAuCC;;UAAJ,MAAI,KAAA;;;;;;;;;YAKjC,cAAc,WAAW"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PO_SERVER_HOST, chordMethods } from "./protocolContracts.mjs";
|
|
2
|
+
import { Type } from "typebox";
|
|
3
|
+
import { hostNamed, remote } from "@earendil-works/chord";
|
|
4
|
+
//#region src/schemas/protocolChannelsContract.ts
|
|
5
|
+
const Json = Type.Unsafe({});
|
|
6
|
+
const ChannelFrameSchema = Type.Object({
|
|
7
|
+
type: Type.String({ minLength: 1 }),
|
|
8
|
+
payload: Json
|
|
9
|
+
});
|
|
10
|
+
/** Latest payload per extension channel frame type. */
|
|
11
|
+
const PoChannelsStateSchema = Type.Record(Type.String(), Json);
|
|
12
|
+
/** A session's extension channels as seen by one connection. */
|
|
13
|
+
const PoChannelsContract = remote("po.channels", {
|
|
14
|
+
version: 1,
|
|
15
|
+
host: hostNamed(PO_SERVER_HOST),
|
|
16
|
+
input: Type.Object({ sessionId: Type.String({ minLength: 1 }) }),
|
|
17
|
+
variants: { default: {
|
|
18
|
+
state: { latest: PoChannelsStateSchema },
|
|
19
|
+
methods: chordMethods({ receive: { args: ChannelFrameSchema } })
|
|
20
|
+
} }
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ChannelFrameSchema, PoChannelsContract, PoChannelsStateSchema };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=protocolChannelsContract.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolChannelsContract.mjs","names":[],"sources":["../../../src/schemas/protocolChannelsContract.ts"],"sourcesContent":["import { hostNamed, remote, type Ref } from '@earendil-works/chord';\nimport { Type } from 'typebox';\n\nimport { chordMethods, PO_SERVER_HOST } from './protocolContracts';\nimport type { JsonValue } from './sessionProtocol';\n\nconst Json = Type.Unsafe<JsonValue>({});\n\nexport const ChannelFrameSchema = Type.Object({ type: Type.String({ minLength: 1 }), payload: Json });\n/** Latest payload per extension channel frame type. */\nexport const PoChannelsStateSchema = Type.Record(Type.String(), Json);\n\n/** A session's extension channels as seen by one connection. */\nexport const PoChannelsContract = remote('po.channels', {\n version: 1,\n host: hostNamed(PO_SERVER_HOST),\n input: Type.Object({ sessionId: Type.String({ minLength: 1 }) }),\n variants: {\n default: {\n state: { latest: PoChannelsStateSchema },\n methods: chordMethods({ receive: { args: ChannelFrameSchema } }),\n },\n },\n});\n\nexport type ChannelsRef = Ref<typeof PoChannelsContract>;\n"],"mappings":";;;;AAMA,MAAM,OAAO,KAAK,OAAkB,CAAC,CAAC;AAEtC,MAAa,qBAAqB,KAAK,OAAO;CAAE,MAAM,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;CAAG,SAAS;AAAK,CAAC;;AAEpG,MAAa,wBAAwB,KAAK,OAAO,KAAK,OAAO,GAAG,IAAI;;AAGpE,MAAa,qBAAqB,OAAO,eAAe;CACtD,SAAS;CACT,MAAM,UAAU,cAAc;CAC9B,OAAO,KAAK,OAAO,EAAE,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;CAC/D,UAAU,EACR,SAAS;EACP,OAAO,EAAE,QAAQ,sBAAsB;EACvC,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,EAAE,CAAC;CACjE,EACF;AACF,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
let dist_interop_chord_mjs = require("../../../dist/interop/chord.mjs");
|
|
2
|
+
//#region src/schemas/protocolContracts.ts
|
|
3
|
+
/** Name of the Po server host; every Po contract places its objects on it. */
|
|
4
|
+
const PO_SERVER_HOST = "server";
|
|
5
|
+
/** Chord method specs for a schema table, typed so contracts built from them stay nameable. */
|
|
6
|
+
function chordMethods(schemas) {
|
|
7
|
+
return Object.fromEntries(Object.entries(schemas).map(([name, { args, result }]) => [name, result !== void 0 ? (0, dist_interop_chord_mjs.method)(args, result) : args !== void 0 ? (0, dist_interop_chord_mjs.method)(args) : (0, dist_interop_chord_mjs.method)()]));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A Chord link over any ordered text transport. Feed received text to `deliver` and the
|
|
11
|
+
* transport's end to `ended`.
|
|
12
|
+
*/
|
|
13
|
+
function createTextLink(port) {
|
|
14
|
+
let handler;
|
|
15
|
+
let queue = [];
|
|
16
|
+
const closeHandlers = /* @__PURE__ */ new Set();
|
|
17
|
+
let closed = false;
|
|
18
|
+
const ended = (reason) => {
|
|
19
|
+
if (closed) return;
|
|
20
|
+
closed = true;
|
|
21
|
+
queue = [];
|
|
22
|
+
try {
|
|
23
|
+
port.close();
|
|
24
|
+
} finally {
|
|
25
|
+
for (const close of closeHandlers) close(reason);
|
|
26
|
+
closeHandlers.clear();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const link = {
|
|
30
|
+
get closed() {
|
|
31
|
+
return closed;
|
|
32
|
+
},
|
|
33
|
+
send(frame) {
|
|
34
|
+
if (closed) return void 0;
|
|
35
|
+
const text = JSON.stringify(frame);
|
|
36
|
+
port.send(text);
|
|
37
|
+
return text.length;
|
|
38
|
+
},
|
|
39
|
+
receive(next) {
|
|
40
|
+
handler = next;
|
|
41
|
+
for (const frame of queue.splice(0)) next(frame);
|
|
42
|
+
},
|
|
43
|
+
onClose(close) {
|
|
44
|
+
if (closed) close("closed");
|
|
45
|
+
else closeHandlers.add(close);
|
|
46
|
+
},
|
|
47
|
+
close(reason = "closed") {
|
|
48
|
+
if (closed) return;
|
|
49
|
+
try {
|
|
50
|
+
port.send(JSON.stringify({
|
|
51
|
+
t: "bye",
|
|
52
|
+
reason
|
|
53
|
+
}));
|
|
54
|
+
} catch {}
|
|
55
|
+
ended(reason);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
link,
|
|
60
|
+
deliver(text) {
|
|
61
|
+
if (closed) return;
|
|
62
|
+
let frame;
|
|
63
|
+
try {
|
|
64
|
+
frame = JSON.parse(text);
|
|
65
|
+
if (frame === null || typeof frame !== "object" || typeof frame.t !== "string") throw new TypeError("not a frame");
|
|
66
|
+
} catch {
|
|
67
|
+
link.close("protocol error");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (frame.t === "bye") {
|
|
71
|
+
ended(frame.reason ?? "peer closed");
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (handler === void 0) queue.push(frame);
|
|
75
|
+
else handler(frame);
|
|
76
|
+
},
|
|
77
|
+
ended
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Whether `error` means this client's code is older than the server's. Chord refuses a changed contract with
|
|
82
|
+
* `contract_mismatch`, which it reports to a client as `upgrade_required`; another protocol version is reported the
|
|
83
|
+
* same way by `createProtocolClient`. Retrying cannot help, only new client code can.
|
|
84
|
+
*/
|
|
85
|
+
function isUpdateRequired(error) {
|
|
86
|
+
return (0, dist_interop_chord_mjs.isChordError)(error, "contract_mismatch") || (0, dist_interop_chord_mjs.isChordError)(error, "upgrade_required");
|
|
87
|
+
}
|
|
88
|
+
function createProtocolClient(options) {
|
|
89
|
+
const host = (0, dist_interop_chord_mjs.createHost)({
|
|
90
|
+
name: options.name ?? "client",
|
|
91
|
+
kind: "client",
|
|
92
|
+
self: { host: true }
|
|
93
|
+
});
|
|
94
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
95
|
+
let current;
|
|
96
|
+
let connecting;
|
|
97
|
+
let disposed = false;
|
|
98
|
+
let updateError;
|
|
99
|
+
const emit = (state) => {
|
|
100
|
+
for (const listener of Array.from(listeners)) listener({ state });
|
|
101
|
+
};
|
|
102
|
+
const reportError = (error) => {
|
|
103
|
+
if (disposed || updateError !== void 0 || !isUpdateRequired(error)) return;
|
|
104
|
+
updateError = error;
|
|
105
|
+
emit("update_required");
|
|
106
|
+
current?.close();
|
|
107
|
+
};
|
|
108
|
+
return {
|
|
109
|
+
host,
|
|
110
|
+
get connected() {
|
|
111
|
+
return current !== void 0 && !current.closed;
|
|
112
|
+
},
|
|
113
|
+
get updateRequired() {
|
|
114
|
+
return updateError !== void 0;
|
|
115
|
+
},
|
|
116
|
+
connect() {
|
|
117
|
+
if (disposed) return Promise.reject(/* @__PURE__ */ new Error("The protocol client is disposed."));
|
|
118
|
+
if (updateError !== void 0) return Promise.reject(updateError);
|
|
119
|
+
if (current !== void 0 && !current.closed) return Promise.resolve();
|
|
120
|
+
connecting ??= (async () => {
|
|
121
|
+
try {
|
|
122
|
+
const link = await options.openLink();
|
|
123
|
+
if (disposed) {
|
|
124
|
+
link.close();
|
|
125
|
+
throw new Error("The protocol client is disposed.");
|
|
126
|
+
}
|
|
127
|
+
current = link;
|
|
128
|
+
link.onClose(() => {
|
|
129
|
+
if (current !== link) return;
|
|
130
|
+
current = void 0;
|
|
131
|
+
emit("disconnected");
|
|
132
|
+
});
|
|
133
|
+
host.connect(link, {
|
|
134
|
+
principal: { host: PO_SERVER_HOST },
|
|
135
|
+
onProtocolMismatch: ({ local, peer }) => reportError(new dist_interop_chord_mjs.ChordError("upgrade_required", `The Po server speaks Chord protocol ${peer}, this client speaks ${local}.`))
|
|
136
|
+
});
|
|
137
|
+
if (!link.closed) emit("connected");
|
|
138
|
+
} finally {
|
|
139
|
+
connecting = void 0;
|
|
140
|
+
}
|
|
141
|
+
})();
|
|
142
|
+
return connecting;
|
|
143
|
+
},
|
|
144
|
+
disconnect() {
|
|
145
|
+
current?.close();
|
|
146
|
+
},
|
|
147
|
+
reportError,
|
|
148
|
+
dispose() {
|
|
149
|
+
if (disposed) return;
|
|
150
|
+
disposed = true;
|
|
151
|
+
current?.close();
|
|
152
|
+
listeners.clear();
|
|
153
|
+
host.close().catch(() => void 0);
|
|
154
|
+
},
|
|
155
|
+
onConnectionStateChange(listener) {
|
|
156
|
+
listeners.add(listener);
|
|
157
|
+
return () => listeners.delete(listener);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
//#endregion
|
|
162
|
+
exports.PO_SERVER_HOST = PO_SERVER_HOST;
|
|
163
|
+
exports.chordMethods = chordMethods;
|
|
164
|
+
exports.createProtocolClient = createProtocolClient;
|
|
165
|
+
exports.createTextLink = createTextLink;
|
|
166
|
+
exports.isUpdateRequired = isUpdateRequired;
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=protocolContracts.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolContracts.cjs","names":["method","isChordError","createHost","ChordError"],"sources":["../../../src/schemas/protocolContracts.ts"],"sourcesContent":["import { ChordError, createHost, isChordError, method, type Frame, type Host, type Link } from '@earendil-works/chord';\nimport type { TSchema } from 'typebox';\n\n/** Name of the Po server host; every Po contract places its objects on it. */\nexport const PO_SERVER_HOST = 'server';\n\n/** One method's argument and result schemas; a missing one means no arguments or a void result. */\nexport interface PoMethodSchemas {\n readonly args?: TSchema;\n readonly result?: TSchema;\n}\n\n/**\n * What Chord's `method(args, result)` returns. Chord keeps `MethodSpec` private, so declaration\n * emit cannot name an inferred `method()` result; this alias can.\n */\nexport type ChordMethod<A extends TSchema | undefined, R extends TSchema | undefined> = Omit<\n ReturnType<typeof method<TSchema, TSchema>>,\n 'args' | 'result'\n> & { readonly args: A; readonly result: R };\n\nexport type ChordMethods<T extends Record<string, PoMethodSchemas>> = {\n [K in keyof T]: ChordMethod<\n T[K] extends { readonly args: infer A extends TSchema } ? A : undefined,\n T[K] extends { readonly result: infer R extends TSchema } ? R : undefined\n >;\n};\n\n/** Chord method specs for a schema table, typed so contracts built from them stay nameable. */\nexport function chordMethods<T extends Record<string, PoMethodSchemas>>(schemas: T): ChordMethods<T> {\n return Object.fromEntries(\n Object.entries<PoMethodSchemas>(schemas).map(([name, { args, result }]) => [\n name,\n result !== undefined ? method(args, result) : args !== undefined ? method(args) : method(),\n ]),\n ) as ChordMethods<T>;\n}\n\n/** A transport that carries text messages in order; `send` may be asynchronous (sealing). */\nexport interface TextPort {\n send(text: string): void;\n close(): void;\n}\n\n/**\n * A Chord link over any ordered text transport. Feed received text to `deliver` and the\n * transport's end to `ended`.\n */\nexport function createTextLink(port: TextPort): {\n link: Link;\n deliver(text: string): void;\n ended(reason: string): void;\n} {\n let handler: ((frame: Frame) => void) | undefined;\n let queue: Frame[] = [];\n const closeHandlers = new Set<(reason: string) => void>();\n let closed = false;\n const ended = (reason: string): void => {\n if (closed) return;\n closed = true;\n queue = [];\n try {\n port.close();\n } finally {\n for (const close of closeHandlers) close(reason);\n closeHandlers.clear();\n }\n };\n const link: Link = {\n get closed() {\n return closed;\n },\n send(frame) {\n if (closed) return undefined;\n const text = JSON.stringify(frame);\n port.send(text);\n // Reported like Chord's WebSocket link, so this link joins its flow control.\n return text.length;\n },\n receive(next) {\n handler = next;\n for (const frame of queue.splice(0)) next(frame);\n },\n onClose(close) {\n if (closed) close('closed');\n else closeHandlers.add(close);\n },\n close(reason = 'closed') {\n if (closed) return;\n try {\n port.send(JSON.stringify({ t: 'bye', reason }));\n } catch {\n // The transport may already be gone.\n }\n ended(reason);\n },\n };\n return {\n link,\n deliver(text) {\n if (closed) return;\n let frame: Frame;\n try {\n frame = JSON.parse(text) as Frame;\n if (frame === null || typeof frame !== 'object' || typeof (frame as { t?: unknown }).t !== 'string')\n throw new TypeError('not a frame');\n } catch {\n link.close('protocol error');\n return;\n }\n if ((frame as { t: string }).t === 'bye') {\n ended((frame as { reason?: string }).reason ?? 'peer closed');\n return;\n }\n if (handler === undefined) queue.push(frame);\n else handler(frame);\n },\n ended,\n };\n}\n\n/**\n * Whether `error` means this client's code is older than the server's. Chord refuses a changed contract with\n * `contract_mismatch`, which it reports to a client as `upgrade_required`; another protocol version is reported the\n * same way by `createProtocolClient`. Retrying cannot help, only new client code can.\n */\nexport function isUpdateRequired(error: unknown): boolean {\n return isChordError(error, 'contract_mismatch') || isChordError(error, 'upgrade_required');\n}\n\n/** `update_required` is heard once, before the closing link's `disconnected`; the client never connects again. */\nexport type ProtocolConnectionState = 'connected' | 'disconnected' | 'update_required';\n\n/** A browser or native Chord client host with one reconnectable link to the Po server. */\nexport interface ProtocolClient {\n readonly host: Host;\n readonly connected: boolean;\n /** The server needs newer client code; `connect` rejects from now on. */\n readonly updateRequired: boolean;\n connect(): Promise<void>;\n /** Closes the current link; listeners hear `disconnected`. */\n disconnect(): void;\n /** Hands over the error a held reference ended with; an update-required error stops the client for good. */\n reportError(error: unknown): void;\n dispose(): void;\n onConnectionStateChange(listener: (change: { state: ProtocolConnectionState }) => void): () => void;\n}\n\nexport function createProtocolClient(options: { name?: string; openLink: () => Promise<Link> }): ProtocolClient {\n const host = createHost({ name: options.name ?? 'client', kind: 'client', self: { host: true } });\n const listeners = new Set<(change: { state: ProtocolConnectionState }) => void>();\n let current: Link | undefined;\n let connecting: Promise<void> | undefined;\n let disposed = false;\n let updateError: unknown;\n const emit = (state: ProtocolConnectionState) => {\n for (const listener of Array.from(listeners)) listener({ state });\n };\n const reportError = (error: unknown): void => {\n if (disposed || updateError !== undefined || !isUpdateRequired(error)) return;\n updateError = error;\n emit('update_required');\n current?.close();\n };\n return {\n host,\n get connected() {\n return current !== undefined && !current.closed;\n },\n get updateRequired() {\n return updateError !== undefined;\n },\n connect() {\n if (disposed) return Promise.reject(new Error('The protocol client is disposed.'));\n if (updateError !== undefined) return Promise.reject(updateError);\n if (current !== undefined && !current.closed) return Promise.resolve();\n connecting ??= (async () => {\n try {\n const link = await options.openLink();\n if (disposed) {\n link.close();\n throw new Error('The protocol client is disposed.');\n }\n current = link;\n link.onClose(() => {\n if (current !== link) return;\n current = undefined;\n emit('disconnected');\n });\n host.connect(link, {\n principal: { host: PO_SERVER_HOST },\n onProtocolMismatch: ({ local, peer }) =>\n reportError(\n new ChordError(\n 'upgrade_required',\n `The Po server speaks Chord protocol ${peer}, this client speaks ${local}.`,\n ),\n ),\n });\n if (!link.closed) emit('connected');\n } finally {\n connecting = undefined;\n }\n })();\n return connecting;\n },\n disconnect() {\n current?.close();\n },\n reportError,\n dispose() {\n if (disposed) return;\n disposed = true;\n current?.close();\n listeners.clear();\n void host.close().catch(() => undefined);\n },\n onConnectionStateChange(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { TSchema } from "typebox";
|
|
2
|
+
import { Host, Link, method } from "@earendil-works/chord";
|
|
3
|
+
//#region src/schemas/protocolContracts.d.ts
|
|
4
|
+
/** Name of the Po server host; every Po contract places its objects on it. */
|
|
5
|
+
export declare const PO_SERVER_HOST = "server";
|
|
6
|
+
/** One method's argument and result schemas; a missing one means no arguments or a void result. */
|
|
7
|
+
export interface PoMethodSchemas {
|
|
8
|
+
readonly args?: TSchema;
|
|
9
|
+
readonly result?: TSchema;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What Chord's `method(args, result)` returns. Chord keeps `MethodSpec` private, so declaration
|
|
13
|
+
* emit cannot name an inferred `method()` result; this alias can.
|
|
14
|
+
*/
|
|
15
|
+
export type ChordMethod<A extends TSchema | undefined, R extends TSchema | undefined> = Omit<ReturnType<typeof method<TSchema, TSchema>>, 'args' | 'result'> & {
|
|
16
|
+
readonly args: A;
|
|
17
|
+
readonly result: R;
|
|
18
|
+
};
|
|
19
|
+
export type ChordMethods<T extends Record<string, PoMethodSchemas>> = { [K in keyof T]: ChordMethod<T[K] extends {
|
|
20
|
+
readonly args: infer A extends TSchema;
|
|
21
|
+
} ? A : undefined, T[K] extends {
|
|
22
|
+
readonly result: infer R extends TSchema;
|
|
23
|
+
} ? R : undefined>; };
|
|
24
|
+
/** Chord method specs for a schema table, typed so contracts built from them stay nameable. */
|
|
25
|
+
export declare function chordMethods<T extends Record<string, PoMethodSchemas>>(schemas: T): ChordMethods<T>;
|
|
26
|
+
/** A transport that carries text messages in order; `send` may be asynchronous (sealing). */
|
|
27
|
+
export interface TextPort {
|
|
28
|
+
send(text: string): void;
|
|
29
|
+
close(): void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A Chord link over any ordered text transport. Feed received text to `deliver` and the
|
|
33
|
+
* transport's end to `ended`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createTextLink(port: TextPort): {
|
|
36
|
+
link: Link;
|
|
37
|
+
deliver(text: string): void;
|
|
38
|
+
ended(reason: string): void;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Whether `error` means this client's code is older than the server's. Chord refuses a changed contract with
|
|
42
|
+
* `contract_mismatch`, which it reports to a client as `upgrade_required`; another protocol version is reported the
|
|
43
|
+
* same way by `createProtocolClient`. Retrying cannot help, only new client code can.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isUpdateRequired(error: unknown): boolean;
|
|
46
|
+
/** `update_required` is heard once, before the closing link's `disconnected`; the client never connects again. */
|
|
47
|
+
export type ProtocolConnectionState = 'connected' | 'disconnected' | 'update_required';
|
|
48
|
+
/** A browser or native Chord client host with one reconnectable link to the Po server. */
|
|
49
|
+
export interface ProtocolClient {
|
|
50
|
+
readonly host: Host;
|
|
51
|
+
readonly connected: boolean;
|
|
52
|
+
/** The server needs newer client code; `connect` rejects from now on. */
|
|
53
|
+
readonly updateRequired: boolean;
|
|
54
|
+
connect(): Promise<void>;
|
|
55
|
+
/** Closes the current link; listeners hear `disconnected`. */
|
|
56
|
+
disconnect(): void;
|
|
57
|
+
/** Hands over the error a held reference ended with; an update-required error stops the client for good. */
|
|
58
|
+
reportError(error: unknown): void;
|
|
59
|
+
dispose(): void;
|
|
60
|
+
onConnectionStateChange(listener: (change: {
|
|
61
|
+
state: ProtocolConnectionState;
|
|
62
|
+
}) => void): () => void;
|
|
63
|
+
}
|
|
64
|
+
export declare function createProtocolClient(options: {
|
|
65
|
+
name?: string;
|
|
66
|
+
openLink: () => Promise<Link>;
|
|
67
|
+
}): ProtocolClient;
|
|
68
|
+
//#endregion
|
|
69
|
+
//# sourceMappingURL=protocolContracts.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocolContracts.d.mts","names":[],"sources":["../../../src/schemas/protocolContracts.ts"],"mappings":";;;;qBAIa;;iBAGI;WACN,OAAO;WACP,SAAS;;;;;;YAOR,YAAY,UAAU,qBAAqB,UAAU,uBAAuB,KACtF,kBAAkB,OAAO,SAAS;WAErB,MAAM;WAAY,QAAQ;;YAE7B,aAAa,UAAU,eAAe,uBAC/C,WAAW,IAAI,YACd,EAAE;WAAsB,YAAY,UAAU;IAAY,eAC1D,EAAE;WAAsB,cAAc,UAAU;IAAY;;wBAKhD,aAAa,UAAU,eAAe,kBAAkB,SAAS,IAAI,aAAa;;iBAUjF;EACf,KAAK;EACL;;;;;;wBAOc,eAAe,MAAM;EACnC,MAAM;EACN,QAAQ;EACR,MAAM;;;;;;;wBA2EQ,iBAAiB;;YAKrB;;iBAGK;WACN,MAAM;WACN;;WAEA;EACT,WAAW;;EAEX;;EAEA,YAAY;EACZ;EACA,wBAAwB,WAAW;IAAU,OAAO;;;wBAGtC,qBAAqB;EAAW;EAAe,gBAAgB,QAAQ;IAAU"}
|