@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,13 +1,72 @@
|
|
|
1
|
+
import "../../schemas/profileIdentity.mjs";
|
|
1
2
|
//#region src/services/transcriptPages/index.ts
|
|
2
3
|
const PAGE_SIZE = 100;
|
|
3
|
-
|
|
4
|
+
const PAGE_BYTES = 8388608;
|
|
5
|
+
const OMITTED_TEXT = "[Transcript content omitted: entry exceeds the page byte budget.]";
|
|
6
|
+
const INTERNAL_CUSTOM_ENTRY_TYPES = ["po-autocompact-state", "po-hook"];
|
|
7
|
+
/** Browser projection only. Durable records and model context remain unchanged. */
|
|
8
|
+
function projectTranscriptEntry(entry, omitContent = false) {
|
|
9
|
+
const internal = entry.type === "custom" && INTERNAL_CUSTOM_ENTRY_TYPES.includes(entry.customType);
|
|
10
|
+
if (!omitContent && !internal) return JSON.parse(JSON.stringify(entry));
|
|
11
|
+
const base = {
|
|
12
|
+
id: entry.id,
|
|
13
|
+
parentId: entry.parentId,
|
|
14
|
+
timestamp: entry.timestamp,
|
|
15
|
+
seq: entry.seq,
|
|
16
|
+
type: entry.type,
|
|
17
|
+
contentOmitted: true
|
|
18
|
+
};
|
|
19
|
+
switch (entry.type) {
|
|
20
|
+
case "message": return {
|
|
21
|
+
...base,
|
|
22
|
+
message: {
|
|
23
|
+
role: entry.message.role,
|
|
24
|
+
content: [{
|
|
25
|
+
type: "text",
|
|
26
|
+
text: OMITTED_TEXT
|
|
27
|
+
}],
|
|
28
|
+
timestamp: entry.timestamp,
|
|
29
|
+
...entry.message.role === "toolResult" ? {
|
|
30
|
+
toolCallId: entry.message.toolCallId.slice(0, 256),
|
|
31
|
+
toolName: entry.message.toolName.slice(0, 256),
|
|
32
|
+
isError: entry.message.isError
|
|
33
|
+
} : {}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
case "custom": return {
|
|
37
|
+
...base,
|
|
38
|
+
customType: entry.customType,
|
|
39
|
+
data: { contentOmitted: true }
|
|
40
|
+
};
|
|
41
|
+
case "compaction": return {
|
|
42
|
+
...base,
|
|
43
|
+
summary: OMITTED_TEXT,
|
|
44
|
+
tokensBefore: entry.tokensBefore,
|
|
45
|
+
retainedTail: [],
|
|
46
|
+
fromHook: entry.fromHook
|
|
47
|
+
};
|
|
48
|
+
case "branch_summary": return {
|
|
49
|
+
...base,
|
|
50
|
+
summary: OMITTED_TEXT,
|
|
51
|
+
fromHook: entry.fromHook
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** Most entry records read per storage call. */
|
|
56
|
+
const SCAN_BATCH = 100;
|
|
57
|
+
function transcriptCursor(sessionId, lane, generation, seq, position) {
|
|
4
58
|
return Buffer.from(JSON.stringify([
|
|
5
59
|
sessionId,
|
|
6
60
|
lane,
|
|
7
61
|
generation,
|
|
8
|
-
seq
|
|
62
|
+
seq,
|
|
63
|
+
...position === void 0 ? [] : [position]
|
|
9
64
|
])).toString("base64url");
|
|
10
65
|
}
|
|
66
|
+
/** Multiple model messages from one durable record share its sequence number. */
|
|
67
|
+
function entryPosition(entry) {
|
|
68
|
+
return entry.id.includes(":") ? Number(entry.id.slice(entry.id.lastIndexOf(":") + 1)) : 0;
|
|
69
|
+
}
|
|
11
70
|
/** Branch-relative keyset reads never materialize the complete conversation. */
|
|
12
71
|
async function readTranscriptPage(runtime, request, generation, context) {
|
|
13
72
|
const limit = request.limit ?? PAGE_SIZE;
|
|
@@ -15,6 +74,7 @@ async function readTranscriptPage(runtime, request, generation, context) {
|
|
|
15
74
|
const newer = request.direction === "newer";
|
|
16
75
|
if (request.direction !== void 0 && !["older", "newer"].includes(request.direction)) throw new Error("Invalid transcript direction");
|
|
17
76
|
let seq;
|
|
77
|
+
let position;
|
|
18
78
|
if (request.cursor !== void 0) {
|
|
19
79
|
if (typeof request.cursor !== "string" || request.cursor.length > 1024) throw new Error("Invalid transcript cursor");
|
|
20
80
|
let cursor;
|
|
@@ -23,12 +83,24 @@ async function readTranscriptPage(runtime, request, generation, context) {
|
|
|
23
83
|
} catch {
|
|
24
84
|
throw new Error("Invalid transcript cursor");
|
|
25
85
|
}
|
|
26
|
-
if (!Array.isArray(cursor) || cursor.length
|
|
86
|
+
if (!Array.isArray(cursor) || ![4, 5].includes(cursor.length) || cursor.length === 5 && (!Number.isSafeInteger(cursor[4]) || cursor[4] < 0) || cursor[0] !== runtime.sessionId || cursor[1] !== runtime.laneName || !Number.isSafeInteger(cursor[3]) || cursor[3] < 0) throw new Error("Invalid transcript cursor");
|
|
27
87
|
if (cursor[2] !== generation) throw new Error("STALE_TRANSCRIPT_CURSOR");
|
|
28
88
|
seq = cursor[3];
|
|
89
|
+
position = cursor[4];
|
|
29
90
|
} else if (newer) throw new Error("Loading newer entries requires a cursor");
|
|
30
|
-
const
|
|
31
|
-
|
|
91
|
+
const rows = await runtime.lane.findEntries({
|
|
92
|
+
order: newer ? "oldestFirst" : "newestFirst",
|
|
93
|
+
limit: limit + 1,
|
|
94
|
+
...seq === void 0 ? {} : { cursor: {
|
|
95
|
+
seq,
|
|
96
|
+
...position === void 0 ? {} : { position }
|
|
97
|
+
} }
|
|
98
|
+
}, context);
|
|
99
|
+
const history = rows.length ? await runtime.lane.readIdentities(context) : void 0;
|
|
100
|
+
const encode = (entry) => transcriptCursor(runtime.sessionId, runtime.laneName, generation, entry.seq, entryPosition(entry));
|
|
101
|
+
const selected = [];
|
|
102
|
+
let entryBytes = 0;
|
|
103
|
+
let page = {
|
|
32
104
|
entries: [],
|
|
33
105
|
context: [],
|
|
34
106
|
startCursor: null,
|
|
@@ -37,34 +109,85 @@ async function readTranscriptPage(runtime, request, generation, context) {
|
|
|
37
109
|
newerCursor: null,
|
|
38
110
|
generation
|
|
39
111
|
};
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
112
|
+
for (const entry of rows.slice(0, limit)) {
|
|
113
|
+
let value = projectTranscriptEntry(entry);
|
|
114
|
+
let bytes = Buffer.byteLength(JSON.stringify(value));
|
|
115
|
+
selected.push({
|
|
116
|
+
entry,
|
|
117
|
+
value
|
|
118
|
+
});
|
|
119
|
+
const ordered = newer ? selected : selected.toReversed();
|
|
120
|
+
const first = ordered[0].entry;
|
|
121
|
+
const last = ordered.at(-1).entry;
|
|
122
|
+
const identity = history?.items.findLast((item) => item.seq < first.seq);
|
|
123
|
+
const identityEntry = identity && {
|
|
124
|
+
id: String(identity.seq),
|
|
125
|
+
parentId: null,
|
|
126
|
+
timestamp: 0,
|
|
127
|
+
seq: identity.seq,
|
|
128
|
+
type: "custom",
|
|
129
|
+
customType: "po-profile-identity",
|
|
130
|
+
data: identity.data
|
|
131
|
+
};
|
|
132
|
+
let identityValue = identityEntry && projectTranscriptEntry(identityEntry);
|
|
133
|
+
if (identityValue && Buffer.byteLength(JSON.stringify(identityValue)) > PAGE_BYTES / 4) identityValue = projectTranscriptEntry(identityEntry, true);
|
|
134
|
+
const more = rows.length > selected.length;
|
|
135
|
+
const candidate = {
|
|
136
|
+
entries: ordered.map((item) => item.value),
|
|
137
|
+
context: identityValue ? [identityValue] : [],
|
|
138
|
+
startCursor: encode(first),
|
|
139
|
+
endCursor: encode(last),
|
|
140
|
+
olderCursor: newer || more ? encode(first) : null,
|
|
141
|
+
newerCursor: newer ? more ? encode(last) : null : seq !== void 0 ? encode(last) : null,
|
|
142
|
+
generation
|
|
143
|
+
};
|
|
144
|
+
const overhead = Buffer.byteLength(JSON.stringify({
|
|
145
|
+
...candidate,
|
|
146
|
+
entries: [],
|
|
147
|
+
revision: Number.MAX_SAFE_INTEGER
|
|
148
|
+
}));
|
|
149
|
+
if (overhead + entryBytes + bytes + selected.length - 1 > PAGE_BYTES) {
|
|
150
|
+
if (selected.length > 1) {
|
|
151
|
+
selected.pop();
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
value = projectTranscriptEntry(entry, true);
|
|
155
|
+
bytes = Buffer.byteLength(JSON.stringify(value));
|
|
156
|
+
selected[0].value = value;
|
|
157
|
+
candidate.entries = [value];
|
|
158
|
+
if (overhead + bytes > PAGE_BYTES) throw new Error("Transcript entry identity exceeds the page byte budget");
|
|
159
|
+
}
|
|
160
|
+
entryBytes += bytes;
|
|
161
|
+
page = candidate;
|
|
162
|
+
}
|
|
163
|
+
return page;
|
|
164
|
+
}
|
|
165
|
+
/** Keyset reads of one conversation: only the pages that hold the requested entries load. */
|
|
166
|
+
function durableTranscriptLane(scan, readIdentities) {
|
|
60
167
|
return {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
168
|
+
async findEntries(query, context) {
|
|
169
|
+
const ascending = query.order === "oldestFirst";
|
|
170
|
+
const after = query.cursor?.seq;
|
|
171
|
+
const position = query.cursor?.position;
|
|
172
|
+
const range = ascending ? {
|
|
173
|
+
order: "ascending",
|
|
174
|
+
...after === void 0 ? {} : { minEntryId: after + (position === void 0 ? 1 : 0) }
|
|
175
|
+
} : {
|
|
176
|
+
order: "descending",
|
|
177
|
+
...after === void 0 ? {} : { maxEntryId: after - (position === void 0 ? 1 : 0) }
|
|
178
|
+
};
|
|
179
|
+
const limit = query.limit ?? Infinity;
|
|
180
|
+
const found = [];
|
|
181
|
+
let cursor;
|
|
182
|
+
do {
|
|
183
|
+
const scanned = await scan(range, Math.min(limit - found.length, SCAN_BATCH), cursor, context);
|
|
184
|
+
const entries = projectDurableEntries(ascending ? scanned.items : scanned.items.toReversed());
|
|
185
|
+
found.push(...(ascending ? entries : entries.toReversed()).filter((entry) => after === void 0 || position === void 0 || entry.seq !== after || (ascending ? entryPosition(entry) > position : entryPosition(entry) < position)));
|
|
186
|
+
cursor = scanned.next;
|
|
187
|
+
} while (cursor && found.length < limit);
|
|
188
|
+
return query.limit === void 0 ? found : found.slice(0, query.limit);
|
|
189
|
+
},
|
|
190
|
+
readIdentities
|
|
68
191
|
};
|
|
69
192
|
}
|
|
70
193
|
/** Protocol identities are strings; durable record IDs remain numeric internally. */
|
|
@@ -92,7 +215,8 @@ function projectDurableEntries(records) {
|
|
|
92
215
|
summary,
|
|
93
216
|
tokensBefore: 0,
|
|
94
217
|
retainedTail: [],
|
|
95
|
-
fromHook: false
|
|
218
|
+
fromHook: false,
|
|
219
|
+
...raw.head === void 0 ? {} : { firstKeptEntryId: String(raw.head) }
|
|
96
220
|
}];
|
|
97
221
|
}
|
|
98
222
|
if (raw.model?.length) return raw.model.map((item, position) => ({
|
|
@@ -110,6 +234,6 @@ function projectDurableEntries(records) {
|
|
|
110
234
|
});
|
|
111
235
|
}
|
|
112
236
|
//#endregion
|
|
113
|
-
export { projectDurableEntries, readTranscriptPage, transcriptCursor };
|
|
237
|
+
export { INTERNAL_CUSTOM_ENTRY_TYPES, durableTranscriptLane, projectDurableEntries, readTranscriptPage, transcriptCursor };
|
|
114
238
|
|
|
115
239
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/transcriptPages/index.ts"],"sourcesContent":["import type { Context } from '@earendil-works/chord';\n\nimport type { JsonValue, TranscriptPage, TranscriptPageRequest } from '../../exports/sessionProtocol';\nimport type { DirectHarnessRuntime, Entry } from '../../types/server/directHarnessRuntime';\n\nconst PAGE_SIZE = 100;\n\nexport interface TranscriptEntryQuery {\n start?: string;\n order?: 'oldestFirst' | 'newestFirst';\n limit?: number;\n cursor?: { seq: number };\n type?: Entry['type'];\n customType?: string;\n}\nexport interface TranscriptLane {\n getTipId(context: Context): Promise<string | null>;\n findEntries(query: TranscriptEntryQuery, context: Context): Promise<Entry[]>;\n}\n\nexport function transcriptCursor(sessionId: string, lane: string, generation: number, seq: number): string {\n return Buffer.from(JSON.stringify([sessionId, lane, generation, seq])).toString('base64url');\n}\n\n/** Branch-relative keyset reads never materialize the complete conversation. */\nexport async function readTranscriptPage(\n runtime: Pick<DirectHarnessRuntime, 'sessionId' | 'laneName'> & {\n lane: TranscriptLane;\n },\n request: TranscriptPageRequest,\n generation: number,\n context: Context,\n): Promise<Omit<TranscriptPage, 'revision' | 'drafts'>> {\n const limit = request.limit ?? PAGE_SIZE;\n if (!Number.isInteger(limit) || limit < 1 || limit > PAGE_SIZE)\n throw new Error('Transcript page limit must be between 1 and 100');\n const newer = request.direction === 'newer';\n if (request.direction !== undefined && !['older', 'newer'].includes(request.direction))\n throw new Error('Invalid transcript direction');\n let seq: number | undefined;\n if (request.cursor !== undefined) {\n if (typeof request.cursor !== 'string' || request.cursor.length > 1024)\n throw new Error('Invalid transcript cursor');\n let cursor: unknown;\n try {\n cursor = JSON.parse(Buffer.from(request.cursor, 'base64url').toString('utf8'));\n } catch {\n throw new Error('Invalid transcript cursor');\n }\n if (\n !Array.isArray(cursor) ||\n cursor.length !== 4 ||\n cursor[0] !== runtime.sessionId ||\n cursor[1] !== runtime.laneName ||\n !Number.isSafeInteger(cursor[3]) ||\n cursor[3] < 0\n )\n throw new Error('Invalid transcript cursor');\n if (cursor[2] !== generation) throw new Error('STALE_TRANSCRIPT_CURSOR');\n seq = cursor[3] as number;\n } else if (newer) throw new Error('Loading newer entries requires a cursor');\n const tip = await runtime.lane.getTipId(context);\n if (!tip)\n return {\n entries: [],\n context: [],\n startCursor: null,\n endCursor: null,\n olderCursor: null,\n newerCursor: null,\n generation,\n };\n const rows = await runtime.lane.findEntries(\n {\n start: tip,\n order: newer ? 'oldestFirst' : 'newestFirst',\n limit: limit + 1,\n ...(seq === undefined ? {} : { cursor: { seq } }),\n },\n context,\n );\n const more = rows.length > limit;\n const entries = rows.slice(0, limit);\n if (!newer) entries.reverse();\n const encode = (position: number): string =>\n transcriptCursor(runtime.sessionId, runtime.laneName, generation, position);\n const first = entries[0];\n const last = entries.at(-1);\n const identities = first\n ? await runtime.lane.findEntries(\n {\n start: tip,\n type: 'custom',\n customType: 'doom-profile-identity',\n order: 'newestFirst',\n limit: 1,\n cursor: { seq: first.seq },\n },\n context,\n )\n : [];\n return {\n entries: JSON.parse(JSON.stringify(entries)) as JsonValue[],\n context: JSON.parse(JSON.stringify(identities)) as JsonValue[],\n startCursor: first ? encode(first.seq) : null,\n endCursor: last ? encode(last.seq) : null,\n olderCursor: first && (newer ? seq !== undefined : more) ? encode(first.seq) : null,\n newerCursor: last && (newer ? more : seq !== undefined) ? encode(last.seq) : null,\n generation,\n };\n}\n\n/** Protocol identities are strings; durable record IDs remain numeric internally. */\nexport function projectDurableEntries(\n records: readonly import('@earendil-works/pi-durable').EntryRecord[],\n): import('../../types/server/directHarnessRuntime').Entry[] {\n return records.flatMap((raw, index) => {\n const data = raw.data && typeof raw.data === 'object' && !Array.isArray(raw.data) ? raw.data : undefined;\n const message = raw.model?.[0];\n const timestamp =\n message && 'timestamp' in message && typeof message.timestamp === 'number'\n ? message.timestamp\n : typeof data?.timestamp === 'number'\n ? data.timestamp\n : 0;\n const base = {\n id: String(raw.id),\n parentId: index ? String(records[index - 1]!.id) : null,\n timestamp,\n seq: Number(raw.id),\n };\n if (raw.kind === 'po.entry' && data)\n return [{ ...data, ...base } as import('../../types/server/directHarnessRuntime').Entry];\n if (raw.kind === 'pi.compaction') {\n const content = message?.content;\n const summary =\n typeof content === 'string'\n ? content\n : Array.isArray(content)\n ? content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('')\n : '';\n return [{ ...base, type: 'compaction' as const, summary, tokensBefore: 0, retainedTail: [], fromHook: false }];\n }\n if (raw.model?.length)\n return raw.model.map((item, position) => ({\n ...base,\n id: position === 0 ? base.id : `${base.id}:${position}`,\n type: 'message' as const,\n message: item,\n }));\n return [\n { ...base, type: 'custom' as const, customType: raw.kind, ...(raw.data === undefined ? {} : { data: raw.data }) },\n ];\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/transcriptPages/index.ts"],"sourcesContent":["import type { Context } from '@earendil-works/chord';\nimport type { Cursor, EntryId, EntryQuery, EntryRecord, Page } from '@earendil-works/pi-durable';\n\nimport type { JsonValue, TranscriptPage, TranscriptPageRequest } from '../../exports/sessionProtocol';\nimport { PO_PROFILE_IDENTITY_ENTRY_TYPE } from '../../schemas/profileIdentity';\nimport type { DirectHarnessRuntime, Entry } from '../../types/server/directHarnessRuntime';\n\nconst PAGE_SIZE = 100;\nconst PAGE_BYTES = 8 * 1024 * 1024;\nconst OMITTED_TEXT = '[Transcript content omitted: entry exceeds the page byte budget.]';\nexport const INTERNAL_CUSTOM_ENTRY_TYPES = ['po-autocompact-state', 'po-hook'];\n\n/** Browser projection only. Durable records and model context remain unchanged. */\nfunction projectTranscriptEntry(entry: Entry, omitContent = false): JsonValue {\n const internal = entry.type === 'custom' && INTERNAL_CUSTOM_ENTRY_TYPES.includes(entry.customType);\n if (!omitContent && !internal) return JSON.parse(JSON.stringify(entry)) as JsonValue;\n const base = {\n id: entry.id,\n parentId: entry.parentId,\n timestamp: entry.timestamp,\n seq: entry.seq,\n type: entry.type,\n contentOmitted: true,\n };\n switch (entry.type) {\n case 'message':\n return {\n ...base,\n message: {\n role: entry.message.role,\n content: [{ type: 'text', text: OMITTED_TEXT }],\n timestamp: entry.timestamp,\n ...(entry.message.role === 'toolResult'\n ? {\n toolCallId: entry.message.toolCallId.slice(0, 256),\n toolName: entry.message.toolName.slice(0, 256),\n isError: entry.message.isError,\n }\n : {}),\n },\n };\n case 'custom':\n return { ...base, customType: entry.customType, data: { contentOmitted: true } };\n case 'compaction':\n return {\n ...base,\n summary: OMITTED_TEXT,\n tokensBefore: entry.tokensBefore,\n retainedTail: [],\n fromHook: entry.fromHook,\n };\n case 'branch_summary':\n return { ...base, summary: OMITTED_TEXT, fromHook: entry.fromHook };\n }\n}\n/** Most entry records read per storage call. */\nconst SCAN_BATCH = 100;\n\nexport interface TranscriptEntryQuery {\n order?: 'oldestFirst' | 'newestFirst';\n limit?: number;\n cursor?: { seq: number; position?: number };\n}\nexport interface TranscriptLane {\n findEntries(query: TranscriptEntryQuery, context: Context): Promise<Entry[]>;\n /** The lane's `IdentityHistoryDoc`: one document read instead of a backwards scan for the avatar in effect. */\n readIdentities: DirectHarnessRuntime['readIdentities'];\n}\n\nexport function transcriptCursor(\n sessionId: string,\n lane: string,\n generation: number,\n seq: number,\n position?: number,\n): string {\n return Buffer.from(\n JSON.stringify([sessionId, lane, generation, seq, ...(position === undefined ? [] : [position])]),\n ).toString('base64url');\n}\n\n/** Multiple model messages from one durable record share its sequence number. */\nfunction entryPosition(entry: Entry): number {\n return entry.id.includes(':') ? Number(entry.id.slice(entry.id.lastIndexOf(':') + 1)) : 0;\n}\n\n/** Branch-relative keyset reads never materialize the complete conversation. */\nexport async function readTranscriptPage(\n runtime: Pick<DirectHarnessRuntime, 'sessionId' | 'laneName'> & {\n lane: TranscriptLane;\n },\n request: TranscriptPageRequest,\n generation: number,\n context: Context,\n): Promise<Omit<TranscriptPage, 'revision'>> {\n const limit = request.limit ?? PAGE_SIZE;\n if (!Number.isInteger(limit) || limit < 1 || limit > PAGE_SIZE)\n throw new Error('Transcript page limit must be between 1 and 100');\n const newer = request.direction === 'newer';\n if (request.direction !== undefined && !['older', 'newer'].includes(request.direction))\n throw new Error('Invalid transcript direction');\n let seq: number | undefined;\n let position: number | undefined;\n if (request.cursor !== undefined) {\n if (typeof request.cursor !== 'string' || request.cursor.length > 1024)\n throw new Error('Invalid transcript cursor');\n let cursor: unknown;\n try {\n cursor = JSON.parse(Buffer.from(request.cursor, 'base64url').toString('utf8'));\n } catch {\n throw new Error('Invalid transcript cursor');\n }\n if (\n !Array.isArray(cursor) ||\n ![4, 5].includes(cursor.length) ||\n (cursor.length === 5 && (!Number.isSafeInteger(cursor[4]) || cursor[4] < 0)) ||\n cursor[0] !== runtime.sessionId ||\n cursor[1] !== runtime.laneName ||\n !Number.isSafeInteger(cursor[3]) ||\n cursor[3] < 0\n )\n throw new Error('Invalid transcript cursor');\n if (cursor[2] !== generation) throw new Error('STALE_TRANSCRIPT_CURSOR');\n seq = cursor[3] as number;\n position = cursor[4] as number | undefined;\n } else if (newer) throw new Error('Loading newer entries requires a cursor');\n const rows = await runtime.lane.findEntries(\n {\n order: newer ? 'oldestFirst' : 'newestFirst',\n limit: limit + 1,\n ...(seq === undefined ? {} : { cursor: { seq, ...(position === undefined ? {} : { position }) } }),\n },\n context,\n );\n const history = rows.length ? await runtime.lane.readIdentities(context) : undefined;\n const encode = (entry: Entry): string =>\n transcriptCursor(runtime.sessionId, runtime.laneName, generation, entry.seq, entryPosition(entry));\n const selected: { entry: Entry; value: JsonValue }[] = [];\n let entryBytes = 0;\n let page: Omit<TranscriptPage, 'revision'> = {\n entries: [],\n context: [],\n startCursor: null,\n endCursor: null,\n olderCursor: null,\n newerCursor: null,\n generation,\n };\n for (const entry of rows.slice(0, limit)) {\n let value = projectTranscriptEntry(entry);\n let bytes = Buffer.byteLength(JSON.stringify(value));\n selected.push({ entry, value });\n const ordered = newer ? selected : selected.toReversed();\n const first = ordered[0]!.entry;\n const last = ordered.at(-1)!.entry;\n const identity = history?.items.findLast((item) => item.seq < first.seq);\n const identityEntry: Entry | undefined = identity && {\n id: String(identity.seq),\n parentId: null,\n timestamp: 0,\n seq: identity.seq,\n type: 'custom',\n customType: PO_PROFILE_IDENTITY_ENTRY_TYPE,\n data: identity.data,\n };\n let identityValue = identityEntry && projectTranscriptEntry(identityEntry);\n if (identityValue && Buffer.byteLength(JSON.stringify(identityValue)) > PAGE_BYTES / 4)\n identityValue = projectTranscriptEntry(identityEntry!, true);\n const more = rows.length > selected.length;\n const candidate = {\n entries: ordered.map((item) => item.value),\n context: identityValue ? [identityValue] : [],\n startCursor: encode(first),\n endCursor: encode(last),\n olderCursor: newer || more ? encode(first) : null,\n newerCursor: newer ? (more ? encode(last) : null) : seq !== undefined ? encode(last) : null,\n generation,\n };\n // Count the exact envelope and context, plus the revision added by main and child readers.\n const overhead = Buffer.byteLength(\n JSON.stringify({ ...candidate, entries: [], revision: Number.MAX_SAFE_INTEGER }),\n );\n if (overhead + entryBytes + bytes + selected.length - 1 > PAGE_BYTES) {\n if (selected.length > 1) {\n selected.pop();\n break;\n }\n // ponytail: oversized entries use a placeholder. Add lazy artifact retrieval if full content is needed.\n value = projectTranscriptEntry(entry, true);\n bytes = Buffer.byteLength(JSON.stringify(value));\n selected[0]!.value = value;\n candidate.entries = [value];\n if (overhead + bytes > PAGE_BYTES) throw new Error('Transcript entry identity exceeds the page byte budget');\n }\n entryBytes += bytes;\n page = candidate;\n }\n return page;\n}\n\n/** Scans one conversation's fork-aware entries, as `Conversation.entries` and `Storage.scanEntries` both do. */\nexport type DurableEntryScan = (\n query: Omit<EntryQuery, 'conversationId'>,\n limit: number,\n cursor: Cursor | undefined,\n context: Context,\n) => Promise<Page<EntryRecord, Cursor>>;\n\n/** Keyset reads of one conversation: only the pages that hold the requested entries load. */\nexport function durableTranscriptLane(\n scan: DurableEntryScan,\n readIdentities: TranscriptLane['readIdentities'],\n): TranscriptLane {\n return {\n async findEntries(query, context) {\n const ascending = query.order === 'oldestFirst';\n const after = query.cursor?.seq;\n const position = query.cursor?.position;\n const range: Omit<EntryQuery, 'conversationId'> = ascending\n ? {\n order: 'ascending',\n ...(after === undefined ? {} : { minEntryId: (after + (position === undefined ? 1 : 0)) as EntryId }),\n }\n : {\n order: 'descending',\n ...(after === undefined ? {} : { maxEntryId: (after - (position === undefined ? 1 : 0)) as EntryId }),\n };\n const limit = query.limit ?? Infinity;\n const found: Entry[] = [];\n let cursor: Cursor | undefined;\n do {\n // Replay the boundary record for composite cursors, then discard only messages already emitted.\n const scanned = await scan(range, Math.min(limit - found.length, SCAN_BATCH), cursor, context);\n const entries = projectDurableEntries(ascending ? scanned.items : scanned.items.toReversed());\n found.push(\n ...(ascending ? entries : entries.toReversed()).filter(\n (entry) =>\n after === undefined ||\n position === undefined ||\n entry.seq !== after ||\n (ascending ? entryPosition(entry) > position : entryPosition(entry) < position),\n ),\n );\n cursor = scanned.next;\n } while (cursor && found.length < limit);\n return query.limit === undefined ? found : found.slice(0, query.limit);\n },\n readIdentities,\n };\n}\n/** Protocol identities are strings; durable record IDs remain numeric internally. */\nexport function projectDurableEntries(\n records: readonly import('@earendil-works/pi-durable').EntryRecord[],\n): import('../../types/server/directHarnessRuntime').Entry[] {\n return records.flatMap((raw, index) => {\n const data = raw.data && typeof raw.data === 'object' && !Array.isArray(raw.data) ? raw.data : undefined;\n const message = raw.model?.[0];\n const timestamp =\n message && 'timestamp' in message && typeof message.timestamp === 'number'\n ? message.timestamp\n : typeof data?.timestamp === 'number'\n ? data.timestamp\n : 0;\n const base = {\n id: String(raw.id),\n parentId: index ? String(records[index - 1]!.id) : null,\n timestamp,\n seq: Number(raw.id),\n };\n if (raw.kind === 'po.entry' && data)\n return [{ ...data, ...base } as import('../../types/server/directHarnessRuntime').Entry];\n if (raw.kind === 'pi.compaction') {\n const content = message?.content;\n const summary =\n typeof content === 'string'\n ? content\n : Array.isArray(content)\n ? content\n .filter((part) => part.type === 'text')\n .map((part) => part.text)\n .join('')\n : '';\n return [\n {\n ...base,\n type: 'compaction' as const,\n summary,\n tokensBefore: 0,\n retainedTail: [],\n fromHook: false,\n ...(raw.head === undefined ? {} : { firstKeptEntryId: String(raw.head) }),\n },\n ];\n }\n if (raw.model?.length)\n return raw.model.map((item, position) => ({\n ...base,\n id: position === 0 ? base.id : `${base.id}:${position}`,\n type: 'message' as const,\n message: item,\n }));\n return [\n { ...base, type: 'custom' as const, customType: raw.kind, ...(raw.data === undefined ? {} : { data: raw.data }) },\n ];\n });\n}\n"],"mappings":"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"}
|
|
@@ -10,17 +10,17 @@ var VoiceToolError = class extends Error {
|
|
|
10
10
|
this.retryable = retryable;
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
function
|
|
14
|
-
return context.get(require_voiceTools.
|
|
13
|
+
function readPoVoiceToolsService(context) {
|
|
14
|
+
return context.get(require_voiceTools.PO_VOICE_TOOLS_SERVICE);
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
const service =
|
|
18
|
-
if (!service) throw new Error("
|
|
16
|
+
function requirePoVoiceToolsService(context) {
|
|
17
|
+
const service = readPoVoiceToolsService(context);
|
|
18
|
+
if (!service) throw new Error("Po voice tools are unavailable. Load @agimon-ai/po-voice.");
|
|
19
19
|
return service;
|
|
20
20
|
}
|
|
21
21
|
//#endregion
|
|
22
22
|
exports.VoiceToolError = VoiceToolError;
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
23
|
+
exports.readPoVoiceToolsService = readPoVoiceToolsService;
|
|
24
|
+
exports.requirePoVoiceToolsService = requirePoVoiceToolsService;
|
|
25
25
|
|
|
26
26
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["PO_VOICE_TOOLS_SERVICE"],"sources":["../../../../src/services/voiceToolsContract/index.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { TSchema } from 'typebox';\n\nimport { PO_VOICE_TOOLS_SERVICE } from '../../constants/voiceTools';\nimport type {\n VoiceToolBatchResult,\n VoiceToolCatalogSnapshot,\n VoiceToolDescribeInput,\n VoiceToolErrorCode,\n VoiceToolUseInput,\n} from '../../schemas/voiceTools';\n\nexport interface VoiceToolDescriptor {\n readonly source: string;\n readonly id: string;\n readonly name: string;\n readonly label: string;\n readonly description: string;\n readonly order: number;\n readonly inputSchema: TSchema;\n readonly resultSchema: TSchema;\n readonly timeoutMs?: number;\n}\n\nexport interface VoiceToolExecutionContext<Context = unknown> {\n readonly sessionId: string;\n readonly hostGeneration: string;\n readonly operationId: string;\n readonly batchIndex: number;\n readonly batchSize: number;\n readonly signal: AbortSignal;\n readonly context: Context;\n}\n\nexport interface VoiceToolDefinition<Context = unknown> {\n readonly descriptor: VoiceToolDescriptor;\n execute(input: unknown, execution: VoiceToolExecutionContext<Context>): unknown;\n}\n\nexport interface VoiceToolRegistrationHandle {\n readonly source: string;\n readonly id: string;\n readonly registrationGeneration: string;\n dispose(): void;\n}\n\nexport interface VoiceToolSessionHandle<Context = unknown> {\n readonly sessionId: string;\n readonly hostGeneration: string;\n readonly active: boolean;\n setActive(active: boolean): void;\n subscribe(listener: () => void): () => void;\n describe(input?: VoiceToolDescribeInput): VoiceToolCatalogSnapshot;\n executeBatch(\n input: VoiceToolUseInput,\n context: Context,\n options?: VoiceToolExecuteOptions,\n ): Promise<VoiceToolBatchResult>;\n useVoiceTools(\n input: VoiceToolUseInput,\n context: Context,\n options?: VoiceToolExecuteOptions,\n ): Promise<VoiceToolBatchResult>;\n dispose(): void;\n}\n\nexport interface VoiceToolExecuteOptions {\n readonly signal?: AbortSignal;\n readonly operationId?: string;\n}\n\nexport interface VoiceToolRegistrationOptions<Context = unknown> {\n readonly sessionId?: string;\n readonly context?: Context;\n}\n\n/** Shared Cordis contract implemented by an optional voice-tool provider. */\nexport interface PoVoiceToolsService<SessionContext = unknown> {\n readonly generation: string;\n register<ContributionContext = SessionContext>(\n definition: VoiceToolDefinition<ContributionContext>,\n options?: VoiceToolRegistrationOptions<ContributionContext>,\n ): VoiceToolRegistrationHandle;\n bindSession(sessionId: string, context?: SessionContext): VoiceToolSessionHandle<SessionContext>;\n readSession(sessionId: string): VoiceToolSessionHandle<SessionContext> | undefined;\n subscribeSession(\n sessionId: string,\n listener: (session: VoiceToolSessionHandle<SessionContext> | undefined) => void,\n ): () => void;\n dispose(): void;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/voice-tools': PoVoiceToolsService;\n }\n}\n\nexport class VoiceToolError extends Error {\n readonly code: VoiceToolErrorCode;\n readonly retryable: boolean;\n\n constructor(code: VoiceToolErrorCode, message: string, retryable = false) {\n super(message);\n this.name = 'VoiceToolError';\n this.code = code;\n this.retryable = retryable;\n }\n}\n\nexport function readPoVoiceToolsService(context: Context): PoVoiceToolsService | undefined {\n return context.get(PO_VOICE_TOOLS_SERVICE) as PoVoiceToolsService | undefined;\n}\n\nexport function requirePoVoiceToolsService(context: Context): PoVoiceToolsService {\n const service = readPoVoiceToolsService(context);\n if (!service) throw new Error('Po voice tools are unavailable. Load @agimon-ai/po-voice.');\n return service;\n}\n"],"mappings":";;AAkGA,IAAa,iBAAb,cAAoC,MAAM;CACxC;CACA;CAEA,YAAY,MAA0B,SAAiB,YAAY,OAAO;EACxE,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,YAAY;CACnB;AACF;AAEA,SAAgB,wBAAwB,SAAmD;CACzF,OAAO,QAAQ,IAAIA,mBAAAA,sBAAsB;AAC3C;AAEA,SAAgB,2BAA2B,SAAuC;CAChF,MAAM,UAAU,wBAAwB,OAAO;CAC/C,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,2DAA2D;CACzF,OAAO;AACT"}
|
|
@@ -52,7 +52,7 @@ export interface VoiceToolRegistrationOptions<Context = unknown> {
|
|
|
52
52
|
readonly context?: Context;
|
|
53
53
|
}
|
|
54
54
|
/** Shared Cordis contract implemented by an optional voice-tool provider. */
|
|
55
|
-
export interface
|
|
55
|
+
export interface PoVoiceToolsService<SessionContext = unknown> {
|
|
56
56
|
readonly generation: string;
|
|
57
57
|
register<ContributionContext = SessionContext>(definition: VoiceToolDefinition<ContributionContext>, options?: VoiceToolRegistrationOptions<ContributionContext>): VoiceToolRegistrationHandle;
|
|
58
58
|
bindSession(sessionId: string, context?: SessionContext): VoiceToolSessionHandle<SessionContext>;
|
|
@@ -62,7 +62,7 @@ export interface DoomVoiceToolsService<SessionContext = unknown> {
|
|
|
62
62
|
}
|
|
63
63
|
declare module '@deepseek-ai/cordis' {
|
|
64
64
|
interface Context {
|
|
65
|
-
'
|
|
65
|
+
'po/voice-tools': PoVoiceToolsService;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
export declare class VoiceToolError extends Error {
|
|
@@ -70,7 +70,7 @@ export declare class VoiceToolError extends Error {
|
|
|
70
70
|
readonly retryable: boolean;
|
|
71
71
|
constructor(code: VoiceToolErrorCode, message: string, retryable?: boolean);
|
|
72
72
|
}
|
|
73
|
-
export declare function
|
|
74
|
-
export declare function
|
|
73
|
+
export declare function readPoVoiceToolsService(context: Context): PoVoiceToolsService | undefined;
|
|
74
|
+
export declare function requirePoVoiceToolsService(context: Context): PoVoiceToolsService;
|
|
75
75
|
//#endregion
|
|
76
76
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/voiceToolsContract/index.ts"],"mappings":";;;;iBAYiB;WACN;WACA;WACA;WACA;WACA;WACA;WACA,aAAa;WACb,cAAc;WACd;;iBAGM,0BAA0B;WAChC;WACA;WACA;WACA;WACA;WACA,QAAQ;WACR,SAAS;;iBAGH,oBAAoB;WAC1B,YAAY;EACrB,QAAQ,gBAAgB,WAAW,0BAA0B;;iBAG9C;WACN;WACA;WACA;EACT;;iBAGe,uBAAuB;WAC7B;WACA;WACA;EACT,UAAU;EACV,UAAU;EACV,SAAS,QAAQ,yBAAyB;EAC1C,aACE,OAAO,mBACP,SAAS,SACT,UAAU,0BACT,QAAQ;EACX,cACE,OAAO,mBACP,SAAS,SACT,UAAU,0BACT,QAAQ;EACX;;iBAGe;WACN,SAAS;WACT;;iBAGM,6BAA6B;WACnC;WACA,UAAU;;;iBAIJ,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/voiceToolsContract/index.ts"],"mappings":";;;;iBAYiB;WACN;WACA;WACA;WACA;WACA;WACA;WACA,aAAa;WACb,cAAc;WACd;;iBAGM,0BAA0B;WAChC;WACA;WACA;WACA;WACA;WACA,QAAQ;WACR,SAAS;;iBAGH,oBAAoB;WAC1B,YAAY;EACrB,QAAQ,gBAAgB,WAAW,0BAA0B;;iBAG9C;WACN;WACA;WACA;EACT;;iBAGe,uBAAuB;WAC7B;WACA;WACA;EACT,UAAU;EACV,UAAU;EACV,SAAS,QAAQ,yBAAyB;EAC1C,aACE,OAAO,mBACP,SAAS,SACT,UAAU,0BACT,QAAQ;EACX,cACE,OAAO,mBACP,SAAS,SACT,UAAU,0BACT,QAAQ;EACX;;iBAGe;WACN,SAAS;WACT;;iBAGM,6BAA6B;WACnC;WACA,UAAU;;;iBAIJ,oBAAoB;WAC1B;EACT,SAAS,sBAAsB,gBAC7B,YAAY,oBAAoB,sBAChC,UAAU,6BAA6B,uBACtC;EACH,YAAY,mBAAmB,UAAU,iBAAiB,uBAAuB;EACjF,YAAY,oBAAoB,uBAAuB;EACvD,iBACE,mBACA,WAAW,SAAS,uBAAuB;EAE7C;;;YAIU;IACR,kBAAkB;;;qBAIT,uBAAuB;WACzB,MAAM;WACN;EAET,YAAY,MAAM,oBAAoB,iBAAiB;;wBAQzC,wBAAwB,SAAS,UAAU;wBAI3C,2BAA2B,SAAS,UAAU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PO_VOICE_TOOLS_SERVICE } from "../../constants/voiceTools.mjs";
|
|
2
2
|
//#region src/services/voiceToolsContract/index.ts
|
|
3
3
|
var VoiceToolError = class extends Error {
|
|
4
4
|
code;
|
|
@@ -10,15 +10,15 @@ var VoiceToolError = class extends Error {
|
|
|
10
10
|
this.retryable = retryable;
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
|
-
function
|
|
14
|
-
return context.get(
|
|
13
|
+
function readPoVoiceToolsService(context) {
|
|
14
|
+
return context.get(PO_VOICE_TOOLS_SERVICE);
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
const service =
|
|
18
|
-
if (!service) throw new Error("
|
|
16
|
+
function requirePoVoiceToolsService(context) {
|
|
17
|
+
const service = readPoVoiceToolsService(context);
|
|
18
|
+
if (!service) throw new Error("Po voice tools are unavailable. Load @agimon-ai/po-voice.");
|
|
19
19
|
return service;
|
|
20
20
|
}
|
|
21
21
|
//#endregion
|
|
22
|
-
export { VoiceToolError,
|
|
22
|
+
export { VoiceToolError, readPoVoiceToolsService, requirePoVoiceToolsService };
|
|
23
23
|
|
|
24
24
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/voiceToolsContract/index.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { TSchema } from 'typebox';\n\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/voiceToolsContract/index.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { TSchema } from 'typebox';\n\nimport { PO_VOICE_TOOLS_SERVICE } from '../../constants/voiceTools';\nimport type {\n VoiceToolBatchResult,\n VoiceToolCatalogSnapshot,\n VoiceToolDescribeInput,\n VoiceToolErrorCode,\n VoiceToolUseInput,\n} from '../../schemas/voiceTools';\n\nexport interface VoiceToolDescriptor {\n readonly source: string;\n readonly id: string;\n readonly name: string;\n readonly label: string;\n readonly description: string;\n readonly order: number;\n readonly inputSchema: TSchema;\n readonly resultSchema: TSchema;\n readonly timeoutMs?: number;\n}\n\nexport interface VoiceToolExecutionContext<Context = unknown> {\n readonly sessionId: string;\n readonly hostGeneration: string;\n readonly operationId: string;\n readonly batchIndex: number;\n readonly batchSize: number;\n readonly signal: AbortSignal;\n readonly context: Context;\n}\n\nexport interface VoiceToolDefinition<Context = unknown> {\n readonly descriptor: VoiceToolDescriptor;\n execute(input: unknown, execution: VoiceToolExecutionContext<Context>): unknown;\n}\n\nexport interface VoiceToolRegistrationHandle {\n readonly source: string;\n readonly id: string;\n readonly registrationGeneration: string;\n dispose(): void;\n}\n\nexport interface VoiceToolSessionHandle<Context = unknown> {\n readonly sessionId: string;\n readonly hostGeneration: string;\n readonly active: boolean;\n setActive(active: boolean): void;\n subscribe(listener: () => void): () => void;\n describe(input?: VoiceToolDescribeInput): VoiceToolCatalogSnapshot;\n executeBatch(\n input: VoiceToolUseInput,\n context: Context,\n options?: VoiceToolExecuteOptions,\n ): Promise<VoiceToolBatchResult>;\n useVoiceTools(\n input: VoiceToolUseInput,\n context: Context,\n options?: VoiceToolExecuteOptions,\n ): Promise<VoiceToolBatchResult>;\n dispose(): void;\n}\n\nexport interface VoiceToolExecuteOptions {\n readonly signal?: AbortSignal;\n readonly operationId?: string;\n}\n\nexport interface VoiceToolRegistrationOptions<Context = unknown> {\n readonly sessionId?: string;\n readonly context?: Context;\n}\n\n/** Shared Cordis contract implemented by an optional voice-tool provider. */\nexport interface PoVoiceToolsService<SessionContext = unknown> {\n readonly generation: string;\n register<ContributionContext = SessionContext>(\n definition: VoiceToolDefinition<ContributionContext>,\n options?: VoiceToolRegistrationOptions<ContributionContext>,\n ): VoiceToolRegistrationHandle;\n bindSession(sessionId: string, context?: SessionContext): VoiceToolSessionHandle<SessionContext>;\n readSession(sessionId: string): VoiceToolSessionHandle<SessionContext> | undefined;\n subscribeSession(\n sessionId: string,\n listener: (session: VoiceToolSessionHandle<SessionContext> | undefined) => void,\n ): () => void;\n dispose(): void;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n 'po/voice-tools': PoVoiceToolsService;\n }\n}\n\nexport class VoiceToolError extends Error {\n readonly code: VoiceToolErrorCode;\n readonly retryable: boolean;\n\n constructor(code: VoiceToolErrorCode, message: string, retryable = false) {\n super(message);\n this.name = 'VoiceToolError';\n this.code = code;\n this.retryable = retryable;\n }\n}\n\nexport function readPoVoiceToolsService(context: Context): PoVoiceToolsService | undefined {\n return context.get(PO_VOICE_TOOLS_SERVICE) as PoVoiceToolsService | undefined;\n}\n\nexport function requirePoVoiceToolsService(context: Context): PoVoiceToolsService {\n const service = readPoVoiceToolsService(context);\n if (!service) throw new Error('Po voice tools are unavailable. Load @agimon-ai/po-voice.');\n return service;\n}\n"],"mappings":";;AAkGA,IAAa,iBAAb,cAAoC,MAAM;CACxC;CACA;CAEA,YAAY,MAA0B,SAAiB,YAAY,OAAO;EACxE,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,KAAK,OAAO;EACZ,KAAK,YAAY;CACnB;AACF;AAEA,SAAgB,wBAAwB,SAAmD;CACzF,OAAO,QAAQ,IAAI,sBAAsB;AAC3C;AAEA,SAAgB,2BAA2B,SAAuC;CAChF,MAAM,UAAU,wBAAwB,OAAO;CAC/C,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,2DAA2D;CACzF,OAAO;AACT"}
|
|
@@ -1,187 +1,17 @@
|
|
|
1
1
|
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
require("../platformFiles/index.cjs");
|
|
3
|
+
const require_index$1 = require("../serialRunner/index.cjs");
|
|
4
|
+
const require_sync = require("./sync.cjs");
|
|
2
5
|
let node_crypto = require("node:crypto");
|
|
3
6
|
node_crypto = require_runtime.__toESM(node_crypto, 1);
|
|
4
|
-
let node_fs = require("node:fs");
|
|
5
|
-
node_fs = require_runtime.__toESM(node_fs, 1);
|
|
6
7
|
let node_path = require("node:path");
|
|
7
8
|
node_path = require_runtime.__toESM(node_path, 1);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const GIT_DIRECTORY = ".git";
|
|
11
|
-
const COMMON_DIRECTORY_FILE = "commondir";
|
|
12
|
-
function canonicalPath(target) {
|
|
13
|
-
const absolute = node_path.default.resolve(target);
|
|
14
|
-
try {
|
|
15
|
-
return node_fs.default.realpathSync.native(absolute);
|
|
16
|
-
} catch {
|
|
17
|
-
const parent = node_path.default.dirname(absolute);
|
|
18
|
-
if (parent === absolute) return absolute;
|
|
19
|
-
return node_path.default.join(canonicalPath(parent), node_path.default.basename(absolute));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
function readGitDirectory(repositoryRoot) {
|
|
23
|
-
const gitPath = node_path.default.join(repositoryRoot, GIT_DIRECTORY);
|
|
24
|
-
try {
|
|
25
|
-
const stat = node_fs.default.statSync(gitPath);
|
|
26
|
-
if (stat.isDirectory()) return canonicalPath(gitPath);
|
|
27
|
-
if (!stat.isFile()) return void 0;
|
|
28
|
-
const match = /^gitdir:\s*(.+)$/imu.exec(node_fs.default.readFileSync(gitPath, "utf8").trim());
|
|
29
|
-
return match?.[1] ? canonicalPath(node_path.default.resolve(repositoryRoot, match[1].trim())) : void 0;
|
|
30
|
-
} catch {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/** The git data directory shared by every worktree of a repository, if the root is a git checkout. */
|
|
35
|
-
function gitCommonDirectory(repositoryRoot) {
|
|
36
|
-
const gitDirectory = readGitDirectory(repositoryRoot);
|
|
37
|
-
if (!gitDirectory) return void 0;
|
|
38
|
-
try {
|
|
39
|
-
const relative = node_fs.default.readFileSync(node_path.default.join(gitDirectory, COMMON_DIRECTORY_FILE), "utf8").trim();
|
|
40
|
-
return relative ? canonicalPath(node_path.default.resolve(gitDirectory, relative)) : gitDirectory;
|
|
41
|
-
} catch {
|
|
42
|
-
return gitDirectory;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/** Kept in the repository's git data, which moves with the checkout and is shared by its worktrees. */
|
|
46
|
-
const WORKSPACE_MARKER_FILE = "po-workspace-id";
|
|
47
|
-
const DIRECTORY_MODE = 448;
|
|
48
|
-
const FILE_MODE = 384;
|
|
49
|
-
function parseRecord(value) {
|
|
50
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
|
|
51
|
-
const record = value;
|
|
52
|
-
if (typeof record.id !== "string" || record.id === "") return void 0;
|
|
53
|
-
if (typeof record.root !== "string" || !node_path.default.isAbsolute(record.root)) return void 0;
|
|
54
|
-
const name = typeof record.name === "string" && record.name.trim() !== "" ? record.name : void 0;
|
|
55
|
-
return {
|
|
56
|
-
id: record.id,
|
|
57
|
-
root: record.root,
|
|
58
|
-
...name === void 0 ? {} : { name }
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
/** Durable workspace membership, independent of whether a workspace can currently mount. */
|
|
62
|
-
function createWorkspaceRegistry(options) {
|
|
63
|
-
const notice = options.onNotice ?? (() => {});
|
|
64
|
-
const filePath = node_path.default.join(options.directory, REGISTRY_FILE);
|
|
65
|
-
const load = () => {
|
|
66
|
-
let raw;
|
|
67
|
-
try {
|
|
68
|
-
raw = node_fs.default.readFileSync(filePath, "utf8");
|
|
69
|
-
} catch (error) {
|
|
70
|
-
if (error instanceof Error && "code" in error && error.code === "ENOENT") return [];
|
|
71
|
-
notice(`${filePath} could not be read: ${error instanceof Error ? error.message : String(error)}`);
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
let parsed;
|
|
75
|
-
try {
|
|
76
|
-
parsed = JSON.parse(raw);
|
|
77
|
-
} catch {
|
|
78
|
-
notice(`workspaces at ${filePath} are not valid JSON; none will be restored`);
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
if (!Array.isArray(parsed)) {
|
|
82
|
-
notice(`workspaces at ${filePath} are not a list; none will be restored`);
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
const records = [];
|
|
86
|
-
for (const entry of parsed) {
|
|
87
|
-
const record = parseRecord(entry);
|
|
88
|
-
if (record === void 0) notice(`workspaces at ${filePath} contain an unusable entry; skipping it`);
|
|
89
|
-
else if (!records.some((candidate) => candidate.id === record.id)) records.push(record);
|
|
90
|
-
}
|
|
91
|
-
return records;
|
|
92
|
-
};
|
|
93
|
-
let current = load();
|
|
94
|
-
const persist = (next) => {
|
|
95
|
-
const temporary = `${filePath}.${String(process.pid)}.tmp`;
|
|
96
|
-
try {
|
|
97
|
-
node_fs.default.mkdirSync(options.directory, {
|
|
98
|
-
recursive: true,
|
|
99
|
-
mode: DIRECTORY_MODE
|
|
100
|
-
});
|
|
101
|
-
node_fs.default.writeFileSync(temporary, `${JSON.stringify(next, void 0, 2)}\n`, { mode: FILE_MODE });
|
|
102
|
-
node_fs.default.renameSync(temporary, filePath);
|
|
103
|
-
} catch (error) {
|
|
104
|
-
try {
|
|
105
|
-
node_fs.default.rmSync(temporary, { force: true });
|
|
106
|
-
} catch (cleanupError) {
|
|
107
|
-
notice(`${temporary} could not be removed: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`);
|
|
108
|
-
}
|
|
109
|
-
throw new Error(`${filePath} could not be saved`, { cause: error });
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
return {
|
|
113
|
-
list: () => current,
|
|
114
|
-
add(record) {
|
|
115
|
-
if (record.id === "" || !node_path.default.isAbsolute(record.root)) throw new Error("Invalid workspace record.");
|
|
116
|
-
const latest = load();
|
|
117
|
-
const next = latest.some((held) => held.id === record.id) ? latest.map((held) => held.id === record.id ? record : held) : [...latest, record];
|
|
118
|
-
persist(next);
|
|
119
|
-
current = next;
|
|
120
|
-
},
|
|
121
|
-
remove(id) {
|
|
122
|
-
const latest = load();
|
|
123
|
-
const next = latest.filter((held) => held.id !== id);
|
|
124
|
-
if (next.length !== latest.length) persist(next);
|
|
125
|
-
current = next;
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/** The workspace id recorded in a checkout's git data, if any. */
|
|
130
|
-
function readWorkspaceMarker(checkoutRoot) {
|
|
131
|
-
const commonDirectory = gitCommonDirectory(checkoutRoot);
|
|
132
|
-
if (commonDirectory === void 0) return void 0;
|
|
133
|
-
try {
|
|
134
|
-
const id = node_fs.default.readFileSync(node_path.default.join(commonDirectory, WORKSPACE_MARKER_FILE), "utf8").trim();
|
|
135
|
-
return id === "" ? void 0 : id;
|
|
136
|
-
} catch (error) {
|
|
137
|
-
if (error instanceof Error && "code" in error && error.code === "ENOENT") return void 0;
|
|
138
|
-
throw error;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Records a workspace id in a checkout's git data so the workspace keeps its id when the
|
|
143
|
-
* repository moves. A checkout without git data has nowhere to keep it; returns false.
|
|
144
|
-
*/
|
|
145
|
-
function writeWorkspaceMarker(checkoutRoot, id) {
|
|
146
|
-
const commonDirectory = gitCommonDirectory(checkoutRoot);
|
|
147
|
-
if (commonDirectory === void 0) return false;
|
|
148
|
-
node_fs.default.writeFileSync(node_path.default.join(commonDirectory, WORKSPACE_MARKER_FILE), `${id}\n`, { mode: FILE_MODE });
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Decides which workspace a checkout belongs to. An exact root match wins. Otherwise the id
|
|
153
|
-
* in the repository's git data names the workspace: a checkout of a workspace whose root still
|
|
154
|
-
* exists joins it, and one whose recorded root is gone is that workspace, moved. Anything else
|
|
155
|
-
* is a new workspace.
|
|
156
|
-
*/
|
|
157
|
-
function identifyWorkspace(input) {
|
|
158
|
-
const exact = input.records.find((record) => record.root === input.checkoutRoot);
|
|
159
|
-
if (exact !== void 0) return {
|
|
160
|
-
id: exact.id,
|
|
161
|
-
root: exact.root,
|
|
162
|
-
moved: false
|
|
163
|
-
};
|
|
164
|
-
const owner = input.marker === void 0 ? void 0 : input.records.find((record) => record.id === input.marker);
|
|
165
|
-
if (owner !== void 0) return (input.exists ?? node_fs.default.existsSync)(owner.root) ? {
|
|
166
|
-
id: owner.id,
|
|
167
|
-
root: owner.root,
|
|
168
|
-
moved: false
|
|
169
|
-
} : {
|
|
170
|
-
id: owner.id,
|
|
171
|
-
root: input.checkoutRoot,
|
|
172
|
-
moved: true
|
|
173
|
-
};
|
|
174
|
-
return {
|
|
175
|
-
id: input.marker ?? (input.newId ?? node_crypto.default.randomUUID)(),
|
|
176
|
-
root: input.checkoutRoot,
|
|
177
|
-
moved: false
|
|
178
|
-
};
|
|
179
|
-
}
|
|
9
|
+
require("@earendil-works/pi-durable/env");
|
|
10
|
+
require_index$1.createSerialRunner();
|
|
180
11
|
//#endregion
|
|
181
|
-
exports.createWorkspaceRegistry = createWorkspaceRegistry;
|
|
182
|
-
exports.
|
|
183
|
-
exports.
|
|
184
|
-
exports.
|
|
185
|
-
exports.writeWorkspaceMarker = writeWorkspaceMarker;
|
|
12
|
+
exports.createWorkspaceRegistry = require_sync.createWorkspaceRegistry;
|
|
13
|
+
exports.identifyWorkspace = require_sync.identifyWorkspace;
|
|
14
|
+
exports.readWorkspaceMarker = require_sync.readWorkspaceMarker;
|
|
15
|
+
exports.writeWorkspaceMarker = require_sync.writeWorkspaceMarker;
|
|
186
16
|
|
|
187
17
|
//# sourceMappingURL=index.cjs.map
|