@agimon-ai/po-core 0.0.0-alpha.2 → 0.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +149 -21
- package/NOTICE +41 -0
- package/dist/agentModel.cjs +1 -1
- package/dist/agentModel.d.mts +2 -2
- package/dist/agentModel.mjs +1 -2
- package/dist/apiContracts.cjs +623 -802
- package/dist/apiContracts.cjs.map +1 -1
- package/dist/apiContracts.d.mts +277 -615
- package/dist/apiContracts.d.mts.map +1 -1
- package/dist/apiContracts.mjs +617 -794
- package/dist/apiContracts.mjs.map +1 -1
- package/dist/askUser.cjs +2 -2
- package/dist/askUser.d.mts +2 -2
- package/dist/askUser.mjs +1 -2
- package/dist/authorTools.mjs +1 -2
- package/dist/backgroundWork.cjs +3 -3
- package/dist/backgroundWork.d.mts +2 -2
- package/dist/backgroundWork.mjs +1 -2
- package/dist/bundleAssetPolicy.mjs +1 -2
- package/dist/chatgptAuth.cjs +3 -2
- package/dist/chatgptAuth.d.mts +3 -2
- package/dist/chatgptAuth.mjs +2 -1
- package/dist/childProcess.cjs +1 -1
- package/dist/childProcess.d.mts +2 -2
- package/dist/childProcess.mjs +1 -2
- package/dist/childSession.cjs +11 -6
- package/dist/childSession.d.mts +3 -3
- package/dist/childSession.mjs +3 -3
- package/dist/cockpitContainer.mjs +1 -2
- package/dist/config.cjs +1 -1
- package/dist/config.d.mts +3 -3
- package/dist/config.mjs +1 -2
- package/dist/contextApi.cjs +1 -0
- package/dist/contextApi.d.mts +2 -2
- package/dist/contextApi.mjs +2 -2
- package/dist/contextContributions.cjs +4 -4
- package/dist/contextContributions.d.mts +3 -3
- package/dist/contextContributions.mjs +3 -3
- package/dist/contextDetailStore.cjs +7 -5
- package/dist/contextDetailStore.cjs.map +1 -1
- package/dist/contextDetailStore.d.mts +2 -1
- package/dist/contextDetailStore.d.mts.map +1 -1
- package/dist/contextDetailStore.mjs +6 -4
- package/dist/contextDetailStore.mjs.map +1 -1
- package/dist/contextProjection.cjs +7 -2
- package/dist/contextProjection.cjs.map +1 -1
- package/dist/contextProjection.d.mts +4 -1
- package/dist/contextProjection.d.mts.map +1 -1
- package/dist/contextProjection.mjs +5 -2
- package/dist/contextProjection.mjs.map +1 -1
- package/dist/cordisHost.cjs +11 -11
- package/dist/cordisHost.d.mts +2 -2
- package/dist/cordisHost.mjs +1 -2
- package/dist/delegation.cjs +8 -8
- package/dist/delegation.d.mts +2 -2
- package/dist/delegation.mjs +1 -2
- package/dist/executionBudget.cjs +4 -3
- package/dist/executionBudget.cjs.map +1 -1
- package/dist/executionBudget.d.mts +2 -2
- package/dist/executionBudget.d.mts.map +1 -1
- package/dist/executionBudget.mjs +4 -3
- package/dist/executionBudget.mjs.map +1 -1
- package/dist/extensionFile.cjs +5 -0
- package/dist/extensionFile.d.mts +4 -2
- package/dist/extensionFile.mjs +4 -2
- package/dist/footer.d.mts +2 -2
- package/dist/footer.mjs +1 -2
- package/dist/headless.cjs +14 -14
- package/dist/headless.d.mts +2 -2
- package/dist/headless.mjs +1 -2
- package/dist/headlessHub.cjs +308 -109
- package/dist/headlessHub.cjs.map +1 -1
- package/dist/headlessHub.d.mts +71 -36
- package/dist/headlessHub.d.mts.map +1 -1
- package/dist/headlessHub.mjs +309 -110
- package/dist/headlessHub.mjs.map +1 -1
- package/dist/headlessProtocol.cjs +327 -0
- package/dist/headlessProtocol.cjs.map +1 -0
- package/dist/headlessProtocol.d.mts +30 -0
- package/dist/headlessProtocol.d.mts.map +1 -0
- package/dist/headlessProtocol.mjs +326 -0
- package/dist/headlessProtocol.mjs.map +1 -0
- package/dist/headlessServer.cjs +166 -151
- package/dist/headlessServer.cjs.map +1 -1
- package/dist/headlessServer.d.mts +13 -5
- package/dist/headlessServer.d.mts.map +1 -1
- package/dist/headlessServer.mjs +166 -151
- package/dist/headlessServer.mjs.map +1 -1
- package/dist/headlessSessionHost.d.mts +58 -21
- package/dist/headlessSessionHost.d.mts.map +1 -1
- package/dist/help.cjs +20 -20
- package/dist/help.d.mts +2 -2
- package/dist/help.mjs +2 -2
- package/dist/history.cjs +16 -20
- package/dist/history.d.mts +9 -7
- package/dist/history.mjs +6 -7
- package/dist/historyOwnership.cjs.map +1 -1
- package/dist/historyOwnership.d.mts +1 -1
- package/dist/historyOwnership.mjs.map +1 -1
- package/dist/hubChannel.cjs +9 -0
- package/dist/hubChannel.d.mts +3 -2
- package/dist/hubChannel.mjs +3 -2
- package/dist/index.cjs +26 -28
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +6 -6
- package/dist/interop/chord.mjs +1 -0
- package/dist/interop/chordContext.mjs +1 -0
- package/dist/json.cjs +11 -5
- package/dist/json.d.mts +4 -2
- package/dist/json.mjs +4 -2
- package/dist/kernel.cjs +1 -1
- package/dist/kernel.d.mts +3 -3
- package/dist/kernel.mjs +1 -2
- package/dist/leader.d.mts +2 -2
- package/dist/leader.mjs +1 -2
- package/dist/logSinkTelemetry.mjs +1 -2
- package/dist/machineApi.cjs +80 -74
- package/dist/machineApi.cjs.map +1 -1
- package/dist/machineApi.d.mts +5 -2
- package/dist/machineApi.d.mts.map +1 -1
- package/dist/machineApi.mjs +78 -71
- package/dist/machineApi.mjs.map +1 -1
- package/dist/main.cjs +2 -1
- package/dist/main.d.mts +2 -1
- package/dist/main.mjs +2 -1
- package/dist/mcpFacet.d.mts +3 -3
- package/dist/mcpProjection.cjs +13 -13
- package/dist/mcpProjection.d.mts +2 -2
- package/dist/mcpProjection.mjs +1 -2
- package/dist/mcpSchemaCost.cjs +4 -4
- package/dist/mcpSchemaCost.cjs.map +1 -1
- package/dist/mcpSchemaCost.d.mts +2 -2
- package/dist/mcpSchemaCost.mjs +4 -4
- package/dist/mcpSchemaCost.mjs.map +1 -1
- package/dist/mcpSession.cjs +7 -7
- package/dist/mcpSession.d.mts +2 -2
- package/dist/mcpSession.mjs +1 -2
- package/dist/mcpStatus.cjs +2 -2
- package/dist/mcpStatus.d.mts +2 -2
- package/dist/mcpStatus.mjs +1 -2
- package/dist/mcpToolResolver.cjs +3 -3
- package/dist/mcpToolResolver.d.mts +2 -2
- package/dist/mcpToolResolver.mjs +1 -2
- package/dist/mcpWidget.d.mts +2 -2
- package/dist/moduleResolution.cjs +43 -8
- package/dist/moduleResolution.cjs.map +1 -1
- package/dist/moduleResolution.d.mts +10 -1
- package/dist/moduleResolution.d.mts.map +1 -1
- package/dist/moduleResolution.mjs +40 -7
- package/dist/moduleResolution.mjs.map +1 -1
- package/dist/narration.cjs +3 -3
- package/dist/narration.d.mts +2 -2
- package/dist/narration.mjs +1 -2
- package/dist/native.cjs +9 -0
- package/dist/native.d.mts +4 -3
- package/dist/native.mjs +3 -2
- package/dist/nodePlatform.cjs +77 -0
- package/dist/nodePlatform.cjs.map +1 -0
- package/dist/nodePlatform.d.mts +17 -0
- package/dist/nodePlatform.d.mts.map +1 -0
- package/dist/nodePlatform.mjs +72 -0
- package/dist/nodePlatform.mjs.map +1 -0
- package/dist/notification.cjs +15 -15
- package/dist/notification.d.mts +2 -2
- package/dist/notification.mjs +1 -2
- package/dist/packageApi.cjs +11 -11
- package/dist/packageApi.d.mts +2 -2
- package/dist/packageApi.mjs +2 -2
- package/dist/packageApiServer.cjs +45 -27
- package/dist/packageApiServer.cjs.map +1 -1
- package/dist/packageApiServer.d.mts +36 -26
- package/dist/packageApiServer.d.mts.map +1 -1
- package/dist/packageApiServer.mjs +44 -26
- package/dist/packageApiServer.mjs.map +1 -1
- package/dist/piSettings.cjs +41 -20
- package/dist/piSettings.d.mts +4 -2
- package/dist/piSettings.mjs +4 -2
- package/dist/platform.cjs +62 -0
- package/dist/platform.d.mts +10 -0
- package/dist/platform.mjs +10 -0
- package/dist/pluginProtocol.cjs +7 -8
- package/dist/pluginProtocol.d.mts +2 -2
- package/dist/pluginProtocol.mjs +1 -2
- package/dist/poPackage.cjs +12 -0
- package/dist/poPackage.d.mts +3 -0
- package/dist/poPackage.mjs +3 -0
- package/dist/profileIdentity.cjs +1 -1
- package/dist/profileIdentity.d.mts +2 -2
- package/dist/profileIdentity.mjs +1 -2
- package/dist/protocol.cjs +3 -3
- package/dist/protocol.d.mts +2 -2
- package/dist/protocol.mjs +1 -2
- package/dist/readiness.cjs +6 -6
- package/dist/readiness.d.mts +2 -2
- package/dist/readiness.mjs +1 -2
- package/dist/remoteApi.cjs.map +1 -1
- package/dist/remoteApi.d.mts +2 -2
- package/dist/remoteApi.mjs.map +1 -1
- package/dist/remoteRuntime.cjs +42 -65
- package/dist/remoteRuntime.cjs.map +1 -1
- package/dist/remoteRuntime.d.mts +3 -2
- package/dist/remoteRuntime.d.mts.map +1 -1
- package/dist/remoteRuntime.mjs +41 -62
- package/dist/remoteRuntime.mjs.map +1 -1
- package/dist/runtimeConfig.cjs +4 -4
- package/dist/runtimeConfig.cjs.map +1 -1
- package/dist/runtimeConfig.d.mts +10 -9
- package/dist/runtimeConfig.d.mts.map +1 -1
- package/dist/runtimeConfig.mjs +4 -4
- package/dist/runtimeConfig.mjs.map +1 -1
- package/dist/runtimeContextApi.cjs +10 -3
- package/dist/runtimeContextApi.cjs.map +1 -1
- package/dist/runtimeContextApi.d.mts +3 -3
- package/dist/runtimeContextApi.d.mts.map +1 -1
- package/dist/runtimeContextApi.mjs +10 -3
- package/dist/runtimeContextApi.mjs.map +1 -1
- package/dist/runtimeCordisHost.cjs +46 -46
- package/dist/runtimeCordisHost.cjs.map +1 -1
- package/dist/runtimeCordisHost.d.mts +29 -28
- package/dist/runtimeCordisHost.d.mts.map +1 -1
- package/dist/runtimeCordisHost.mjs +42 -42
- package/dist/runtimeCordisHost.mjs.map +1 -1
- package/dist/runtimeIdentity.cjs +6 -9
- package/dist/runtimeIdentity.cjs.map +1 -1
- package/dist/runtimeIdentity.d.mts +5 -1
- package/dist/runtimeIdentity.d.mts.map +1 -1
- package/dist/runtimeIdentity.mjs +5 -8
- package/dist/runtimeIdentity.mjs.map +1 -1
- package/dist/runtimeJson.cjs +10 -45
- package/dist/runtimeJson.d.mts +3 -22
- package/dist/runtimeJson.mjs +3 -39
- package/dist/runtimeLogSinkTelemetry.cjs +19 -19
- package/dist/runtimeLogSinkTelemetry.cjs.map +1 -1
- package/dist/runtimeLogSinkTelemetry.d.mts +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs +19 -19
- package/dist/runtimeLogSinkTelemetry.mjs.map +1 -1
- package/dist/runtimePackages.cjs +7 -2
- package/dist/runtimePackages.cjs.map +1 -1
- package/dist/runtimePackages.d.mts +4 -1
- package/dist/runtimePackages.d.mts.map +1 -1
- package/dist/runtimePackages.mjs +7 -2
- package/dist/runtimePackages.mjs.map +1 -1
- package/dist/runtimePiSettings.cjs +40 -263
- package/dist/runtimePiSettings.d.mts +3 -72
- package/dist/runtimePiSettings.mjs +3 -241
- package/dist/runtimeProtocol.cjs +19 -19
- package/dist/runtimeProtocol.cjs.map +1 -1
- package/dist/runtimeProtocol.d.mts +7 -7
- package/dist/runtimeProtocol.d.mts.map +1 -1
- package/dist/runtimeProtocol.mjs +17 -17
- package/dist/runtimeProtocol.mjs.map +1 -1
- package/dist/runtimeTransition.cjs +9 -9
- package/dist/runtimeTransition.cjs.map +1 -1
- package/dist/runtimeTransition.d.mts +10 -10
- package/dist/runtimeTransition.d.mts.map +1 -1
- package/dist/runtimeTransition.mjs +7 -7
- package/dist/runtimeTransition.mjs.map +1 -1
- package/dist/sandboxHarness.mjs +1 -2
- package/dist/server.cjs +3 -7
- package/dist/server.d.mts +6 -6
- package/dist/server.mjs +3 -4
- package/dist/serverPlugin.cjs +39 -0
- package/dist/serverPlugin.d.mts +12 -0
- package/dist/serverPlugin.mjs +11 -0
- package/dist/serverTelemetry.cjs +1 -1
- package/dist/serverTelemetry.cjs.map +1 -1
- package/dist/serverTelemetry.d.mts +2 -2
- package/dist/serverTelemetry.mjs +2 -2
- package/dist/serverTelemetry.mjs.map +1 -1
- package/dist/sessionFilesApi.cjs +41 -37
- package/dist/sessionFilesApi.cjs.map +1 -1
- package/dist/sessionFilesApi.d.mts +6 -3
- package/dist/sessionFilesApi.d.mts.map +1 -1
- package/dist/sessionFilesApi.mjs +41 -36
- package/dist/sessionFilesApi.mjs.map +1 -1
- package/dist/sessionProtocol.cjs +31 -6
- package/dist/sessionProtocol.d.mts +8 -3
- package/dist/sessionProtocol.mjs +8 -2
- package/dist/skills.cjs +5 -5
- package/dist/skills.d.mts +2 -2
- package/dist/skills.mjs +1 -2
- package/dist/sqliteSessionStorage.cjs +28 -50
- package/dist/sqliteSessionStorage.cjs.map +1 -1
- package/dist/sqliteSessionStorage.d.mts +13 -20
- package/dist/sqliteSessionStorage.d.mts.map +1 -1
- package/dist/sqliteSessionStorage.mjs +25 -48
- package/dist/sqliteSessionStorage.mjs.map +1 -1
- package/dist/src/constants/agentSettled.cjs +7 -0
- package/dist/src/constants/agentSettled.cjs.map +1 -0
- package/dist/src/constants/agentSettled.mjs +7 -0
- package/dist/src/constants/agentSettled.mjs.map +1 -0
- package/dist/src/constants/contextApi.cjs +3 -1
- package/dist/src/constants/contextApi.cjs.map +1 -1
- package/dist/src/constants/contextApi.d.mts +2 -1
- package/dist/src/constants/contextApi.d.mts.map +1 -1
- package/dist/src/constants/contextApi.mjs +3 -2
- package/dist/src/constants/contextApi.mjs.map +1 -1
- package/dist/src/constants/voiceTools.cjs +6 -6
- package/dist/src/constants/voiceTools.cjs.map +1 -1
- package/dist/src/constants/voiceTools.d.mts +3 -3
- package/dist/src/constants/voiceTools.mjs +4 -4
- package/dist/src/constants/voiceTools.mjs.map +1 -1
- package/dist/src/extensions/extensionFile.cjs +22 -5
- package/dist/src/extensions/extensionFile.cjs.map +1 -1
- package/dist/src/extensions/extensionFile.d.mts +17 -4
- package/dist/src/extensions/extensionFile.d.mts.map +1 -1
- package/dist/src/extensions/extensionFile.mjs +22 -6
- package/dist/src/extensions/extensionFile.mjs.map +1 -1
- package/dist/src/extensions/serverPlugin.cjs +231 -92
- package/dist/src/extensions/serverPlugin.cjs.map +1 -1
- package/dist/src/extensions/serverPlugin.d.mts +2 -2
- package/dist/src/extensions/serverPlugin.d.mts.map +1 -1
- package/dist/src/extensions/serverPlugin.mjs +232 -93
- package/dist/src/extensions/serverPlugin.mjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.cjs +349 -142
- package/dist/src/pi/piSessionRuntime.cjs.map +1 -1
- package/dist/src/pi/piSessionRuntime.d.mts +18 -17
- package/dist/src/pi/piSessionRuntime.d.mts.map +1 -1
- package/dist/src/pi/piSessionRuntime.mjs +342 -135
- package/dist/src/pi/piSessionRuntime.mjs.map +1 -1
- package/dist/src/schemas/agentModel.cjs +2 -2
- package/dist/src/schemas/agentModel.cjs.map +1 -1
- package/dist/src/schemas/agentModel.d.mts +1 -1
- package/dist/src/schemas/agentModel.mjs +2 -2
- package/dist/src/schemas/agentModel.mjs.map +1 -1
- package/dist/src/schemas/apiContracts.d.mts +2 -2
- package/dist/src/schemas/apiContracts.d.mts.map +1 -1
- package/dist/src/schemas/askUser.cjs +4 -4
- package/dist/src/schemas/askUser.cjs.map +1 -1
- package/dist/src/schemas/askUser.d.mts +4 -4
- package/dist/src/schemas/askUser.d.mts.map +1 -1
- package/dist/src/schemas/askUser.mjs +3 -3
- package/dist/src/schemas/askUser.mjs.map +1 -1
- package/dist/src/schemas/backgroundWork.cjs +10 -10
- package/dist/src/schemas/backgroundWork.cjs.map +1 -1
- package/dist/src/schemas/backgroundWork.d.mts +9 -9
- package/dist/src/schemas/backgroundWork.d.mts.map +1 -1
- package/dist/src/schemas/backgroundWork.mjs +8 -8
- package/dist/src/schemas/backgroundWork.mjs.map +1 -1
- package/dist/src/schemas/childProcess.cjs +5 -5
- package/dist/src/schemas/childProcess.cjs.map +1 -1
- package/dist/src/schemas/childProcess.d.mts +2 -2
- package/dist/src/schemas/childProcess.mjs +5 -5
- package/dist/src/schemas/childProcess.mjs.map +1 -1
- package/dist/src/schemas/contextContributions.cjs +10 -10
- package/dist/src/schemas/contextContributions.cjs.map +1 -1
- package/dist/src/schemas/contextContributions.d.mts +16 -16
- package/dist/src/schemas/contextContributions.d.mts.map +1 -1
- package/dist/src/schemas/contextContributions.mjs +8 -8
- package/dist/src/schemas/contextContributions.mjs.map +1 -1
- package/dist/src/schemas/delegation.cjs +17 -17
- package/dist/src/schemas/delegation.cjs.map +1 -1
- package/dist/src/schemas/delegation.d.mts +16 -16
- package/dist/src/schemas/delegation.d.mts.map +1 -1
- package/dist/src/schemas/delegation.mjs +10 -10
- package/dist/src/schemas/delegation.mjs.map +1 -1
- package/dist/src/schemas/extensionFile.d.mts +23 -19
- package/dist/src/schemas/extensionFile.d.mts.map +1 -1
- package/dist/src/schemas/footer.cjs.map +1 -1
- package/dist/src/schemas/footer.d.mts +5 -5
- package/dist/src/schemas/footer.d.mts.map +1 -1
- package/dist/src/schemas/footer.mjs.map +1 -1
- package/dist/src/schemas/headless.cjs +37 -37
- package/dist/src/schemas/headless.cjs.map +1 -1
- package/dist/src/schemas/headless.d.mts +100 -101
- package/dist/src/schemas/headless.d.mts.map +1 -1
- package/dist/src/schemas/headless.mjs +24 -24
- package/dist/src/schemas/headless.mjs.map +1 -1
- package/dist/src/schemas/help.cjs +60 -60
- package/dist/src/schemas/help.cjs.map +1 -1
- package/dist/src/schemas/help.d.mts +43 -43
- package/dist/src/schemas/help.d.mts.map +1 -1
- package/dist/src/schemas/help.mjs +41 -41
- package/dist/src/schemas/help.mjs.map +1 -1
- package/dist/src/schemas/home.cjs +127 -0
- package/dist/src/schemas/home.cjs.map +1 -0
- package/dist/src/schemas/home.d.mts +63 -0
- package/dist/src/schemas/home.d.mts.map +1 -0
- package/dist/src/schemas/home.mjs +121 -0
- package/dist/src/schemas/home.mjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.cjs +441 -0
- package/dist/src/schemas/httpApiContracts.cjs.map +1 -0
- package/dist/src/schemas/httpApiContracts.d.mts +78 -0
- package/dist/src/schemas/httpApiContracts.d.mts.map +1 -0
- package/dist/src/schemas/httpApiContracts.mjs +434 -0
- package/dist/src/schemas/httpApiContracts.mjs.map +1 -0
- package/dist/src/schemas/hubChannel.cjs +3 -0
- package/dist/src/schemas/hubChannel.cjs.map +1 -1
- package/dist/src/schemas/hubChannel.d.mts +84 -60
- package/dist/src/schemas/hubChannel.d.mts.map +1 -1
- package/dist/src/schemas/hubChannel.mjs +3 -1
- package/dist/src/schemas/hubChannel.mjs.map +1 -1
- package/dist/src/schemas/leader.cjs.map +1 -1
- package/dist/src/schemas/leader.d.mts +3 -3
- package/dist/src/schemas/leader.d.mts.map +1 -1
- package/dist/src/schemas/leader.mjs.map +1 -1
- package/dist/src/schemas/mcpBundle.d.mts +3 -3
- package/dist/src/schemas/mcpFacet.cjs.map +1 -1
- package/dist/src/schemas/mcpFacet.d.mts +22 -22
- package/dist/src/schemas/mcpFacet.d.mts.map +1 -1
- package/dist/src/schemas/mcpFacet.mjs.map +1 -1
- package/dist/src/schemas/mcpProjection.cjs +41 -41
- package/dist/src/schemas/mcpProjection.cjs.map +1 -1
- package/dist/src/schemas/mcpProjection.d.mts +31 -30
- package/dist/src/schemas/mcpProjection.d.mts.map +1 -1
- package/dist/src/schemas/mcpProjection.mjs +29 -29
- package/dist/src/schemas/mcpProjection.mjs.map +1 -1
- package/dist/src/schemas/mcpSession.cjs +23 -23
- package/dist/src/schemas/mcpSession.cjs.map +1 -1
- package/dist/src/schemas/mcpSession.d.mts +12 -12
- package/dist/src/schemas/mcpSession.d.mts.map +1 -1
- package/dist/src/schemas/mcpSession.mjs +18 -18
- package/dist/src/schemas/mcpSession.mjs.map +1 -1
- package/dist/src/schemas/mcpStatus.cjs +5 -5
- package/dist/src/schemas/mcpStatus.cjs.map +1 -1
- package/dist/src/schemas/mcpStatus.d.mts +4 -4
- package/dist/src/schemas/mcpStatus.d.mts.map +1 -1
- package/dist/src/schemas/mcpStatus.mjs +4 -4
- package/dist/src/schemas/mcpStatus.mjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.cjs +9 -9
- package/dist/src/schemas/mcpToolResolver.cjs.map +1 -1
- package/dist/src/schemas/mcpToolResolver.d.mts +7 -7
- package/dist/src/schemas/mcpToolResolver.d.mts.map +1 -1
- package/dist/src/schemas/mcpToolResolver.mjs +7 -7
- package/dist/src/schemas/mcpToolResolver.mjs.map +1 -1
- package/dist/src/schemas/narration.cjs +9 -9
- package/dist/src/schemas/narration.cjs.map +1 -1
- package/dist/src/schemas/narration.d.mts +5 -5
- package/dist/src/schemas/narration.d.mts.map +1 -1
- package/dist/src/schemas/narration.mjs +7 -7
- package/dist/src/schemas/narration.mjs.map +1 -1
- package/dist/src/schemas/notification.cjs +45 -45
- package/dist/src/schemas/notification.cjs.map +1 -1
- package/dist/src/schemas/notification.d.mts +22 -22
- package/dist/src/schemas/notification.d.mts.map +1 -1
- package/dist/src/schemas/notification.mjs +31 -31
- package/dist/src/schemas/notification.mjs.map +1 -1
- package/dist/src/schemas/packageApi.cjs +28 -28
- package/dist/src/schemas/packageApi.cjs.map +1 -1
- package/dist/src/schemas/packageApi.d.mts +91 -65
- package/dist/src/schemas/packageApi.d.mts.map +1 -1
- package/dist/src/schemas/packageApi.mjs +18 -18
- package/dist/src/schemas/packageApi.mjs.map +1 -1
- package/dist/src/schemas/platform.cjs +34 -0
- package/dist/src/schemas/platform.cjs.map +1 -0
- package/dist/src/schemas/platform.d.mts +75 -0
- package/dist/src/schemas/platform.d.mts.map +1 -0
- package/dist/src/schemas/platform.mjs +27 -0
- package/dist/src/schemas/platform.mjs.map +1 -0
- package/dist/src/schemas/pluginContributions.cjs.map +1 -1
- package/dist/src/schemas/pluginContributions.d.mts +12 -12
- package/dist/src/schemas/pluginContributions.d.mts.map +1 -1
- package/dist/src/schemas/pluginContributions.mjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.cjs +24 -27
- package/dist/src/schemas/pluginProtocol.cjs.map +1 -1
- package/dist/src/schemas/pluginProtocol.d.mts +21 -21
- package/dist/src/schemas/pluginProtocol.d.mts.map +1 -1
- package/dist/src/schemas/pluginProtocol.mjs +18 -20
- package/dist/src/schemas/pluginProtocol.mjs.map +1 -1
- package/dist/src/schemas/profileIdentity.cjs +2 -2
- package/dist/src/schemas/profileIdentity.cjs.map +1 -1
- package/dist/src/schemas/profileIdentity.d.mts +1 -1
- package/dist/src/schemas/profileIdentity.mjs +2 -2
- package/dist/src/schemas/profileIdentity.mjs.map +1 -1
- package/dist/src/schemas/protocolChannelsContract.cjs +27 -0
- package/dist/src/schemas/protocolChannelsContract.cjs.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts +37 -0
- package/dist/src/schemas/protocolChannelsContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolChannelsContract.mjs +25 -0
- package/dist/src/schemas/protocolChannelsContract.mjs.map +1 -0
- package/dist/src/schemas/protocolContracts.cjs +168 -0
- package/dist/src/schemas/protocolContracts.cjs.map +1 -0
- package/dist/src/schemas/protocolContracts.d.mts +69 -0
- package/dist/src/schemas/protocolContracts.d.mts.map +1 -0
- package/dist/src/schemas/protocolContracts.mjs +164 -0
- package/dist/src/schemas/protocolContracts.mjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.cjs +51 -0
- package/dist/src/schemas/protocolHubContract.cjs.map +1 -0
- package/dist/src/schemas/protocolHubContract.d.mts +218 -0
- package/dist/src/schemas/protocolHubContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolHubContract.mjs +49 -0
- package/dist/src/schemas/protocolHubContract.mjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.cjs +22 -0
- package/dist/src/schemas/protocolSessionContract.cjs.map +1 -0
- package/dist/src/schemas/protocolSessionContract.d.mts +324 -0
- package/dist/src/schemas/protocolSessionContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolSessionContract.mjs +22 -0
- package/dist/src/schemas/protocolSessionContract.mjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.cjs +21 -0
- package/dist/src/schemas/protocolThreadContract.cjs.map +1 -0
- package/dist/src/schemas/protocolThreadContract.d.mts +29 -0
- package/dist/src/schemas/protocolThreadContract.d.mts.map +1 -0
- package/dist/src/schemas/protocolThreadContract.mjs +20 -0
- package/dist/src/schemas/protocolThreadContract.mjs.map +1 -0
- package/dist/src/schemas/readiness.cjs +36 -36
- package/dist/src/schemas/readiness.cjs.map +1 -1
- package/dist/src/schemas/readiness.d.mts +37 -37
- package/dist/src/schemas/readiness.d.mts.map +1 -1
- package/dist/src/schemas/readiness.mjs +31 -31
- package/dist/src/schemas/readiness.mjs.map +1 -1
- package/dist/src/schemas/serverBundle.d.mts +5 -5
- package/dist/src/schemas/serverPlugin.cjs +103 -0
- package/dist/src/schemas/serverPlugin.cjs.map +1 -0
- package/dist/src/schemas/serverPlugin.d.mts +176 -0
- package/dist/src/schemas/serverPlugin.d.mts.map +1 -0
- package/dist/src/schemas/serverPlugin.mjs +95 -0
- package/dist/src/schemas/serverPlugin.mjs.map +1 -0
- package/dist/src/schemas/serverScope.cjs +37 -0
- package/dist/src/schemas/serverScope.cjs.map +1 -0
- package/dist/src/schemas/serverScope.d.mts +77 -0
- package/dist/src/schemas/serverScope.d.mts.map +1 -0
- package/dist/src/schemas/serverScope.mjs +33 -0
- package/dist/src/schemas/serverScope.mjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.cjs +320 -0
- package/dist/src/schemas/sessionApiContracts.cjs.map +1 -0
- package/dist/src/schemas/sessionApiContracts.mjs +318 -0
- package/dist/src/schemas/sessionApiContracts.mjs.map +1 -0
- package/dist/src/schemas/sessionProtocol.cjs +20 -13
- package/dist/src/schemas/sessionProtocol.cjs.map +1 -1
- package/dist/src/schemas/sessionProtocol.d.mts +37 -54
- package/dist/src/schemas/sessionProtocol.d.mts.map +1 -1
- package/dist/src/schemas/sessionProtocol.mjs +17 -8
- package/dist/src/schemas/sessionProtocol.mjs.map +1 -1
- package/dist/src/schemas/skills.cjs +16 -16
- package/dist/src/schemas/skills.cjs.map +1 -1
- package/dist/src/schemas/skills.d.mts +7 -7
- package/dist/src/schemas/skills.d.mts.map +1 -1
- package/dist/src/schemas/skills.mjs +12 -12
- package/dist/src/schemas/skills.mjs.map +1 -1
- package/dist/src/schemas/toolOverrides.cjs +9 -9
- package/dist/src/schemas/toolOverrides.cjs.map +1 -1
- package/dist/src/schemas/toolOverrides.d.mts +8 -8
- package/dist/src/schemas/toolOverrides.d.mts.map +1 -1
- package/dist/src/schemas/toolOverrides.mjs +7 -7
- package/dist/src/schemas/toolOverrides.mjs.map +1 -1
- package/dist/src/schemas/toolSurface.cjs +9 -9
- package/dist/src/schemas/toolSurface.cjs.map +1 -1
- package/dist/src/schemas/toolSurface.d.mts +13 -13
- package/dist/src/schemas/toolSurface.d.mts.map +1 -1
- package/dist/src/schemas/toolSurface.mjs +7 -7
- package/dist/src/schemas/toolSurface.mjs.map +1 -1
- package/dist/src/schemas/uiHub.cjs +9 -9
- package/dist/src/schemas/uiHub.cjs.map +1 -1
- package/dist/src/schemas/uiHub.d.mts +12 -12
- package/dist/src/schemas/uiHub.d.mts.map +1 -1
- package/dist/src/schemas/uiHub.mjs +7 -7
- package/dist/src/schemas/uiHub.mjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.cjs +691 -775
- package/dist/src/server/directHarnessRuntime.cjs.map +1 -1
- package/dist/src/server/directHarnessRuntime.d.mts +5 -1
- package/dist/src/server/directHarnessRuntime.d.mts.map +1 -0
- package/dist/src/server/directHarnessRuntime.mjs +671 -754
- package/dist/src/server/directHarnessRuntime.mjs.map +1 -1
- package/dist/src/server/largeFrameLink.cjs +47 -0
- package/dist/src/server/largeFrameLink.cjs.map +1 -0
- package/dist/src/server/largeFrameLink.mjs +47 -0
- package/dist/src/server/largeFrameLink.mjs.map +1 -0
- package/dist/src/server/liveImport.cjs +1 -1
- package/dist/src/server/liveImport.cjs.map +1 -1
- package/dist/src/server/liveImport.d.mts +1 -1
- package/dist/src/server/liveImport.mjs +1 -1
- package/dist/src/server/liveImport.mjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.cjs.map +1 -1
- package/dist/src/server/mcpBundleLoader.d.mts +6 -6
- package/dist/src/server/mcpBundleLoader.d.mts.map +1 -1
- package/dist/src/server/mcpBundleLoader.mjs.map +1 -1
- package/dist/src/server/serverPackages.cjs +60 -0
- package/dist/src/server/serverPackages.cjs.map +1 -0
- package/dist/src/server/serverPackages.d.mts +44 -0
- package/dist/src/server/serverPackages.d.mts.map +1 -0
- package/dist/src/server/serverPackages.mjs +59 -0
- package/dist/src/server/serverPackages.mjs.map +1 -0
- package/dist/src/server/serverScope.cjs +510 -0
- package/dist/src/server/serverScope.cjs.map +1 -0
- package/dist/src/server/serverScope.d.mts +123 -0
- package/dist/src/server/serverScope.d.mts.map +1 -0
- package/dist/src/server/serverScope.mjs +510 -0
- package/dist/src/server/serverScope.mjs.map +1 -0
- package/dist/src/server/sessionMcpHandler.cjs +3 -3
- package/dist/src/server/sessionMcpHandler.cjs.map +1 -1
- package/dist/src/server/sessionMcpHandler.mjs +4 -4
- package/dist/src/server/sessionMcpHandler.mjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.cjs +2 -1
- package/dist/src/server/sessionMcpRoutes.cjs.map +1 -1
- package/dist/src/server/sessionMcpRoutes.mjs +2 -1
- package/dist/src/server/sessionMcpRoutes.mjs.map +1 -1
- package/dist/src/server/threadJournals.cjs +38 -107
- package/dist/src/server/threadJournals.cjs.map +1 -1
- package/dist/src/server/threadJournals.mjs +38 -104
- package/dist/src/server/threadJournals.mjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.cjs.map +1 -1
- package/dist/src/services/apiSurfaceAssert/index.d.mts +6 -6
- package/dist/src/services/apiSurfaceAssert/index.mjs +1 -1
- package/dist/src/services/apiSurfaceAssert/index.mjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.cjs +1 -220
- package/dist/src/services/chatgptAuth/index.cjs.map +1 -1
- package/dist/src/services/chatgptAuth/index.d.mts +0 -18
- package/dist/src/services/chatgptAuth/index.d.mts.map +1 -1
- package/dist/src/services/chatgptAuth/index.mjs +1 -217
- package/dist/src/services/chatgptAuth/index.mjs.map +1 -1
- package/dist/src/services/chatgptImages/index.cjs +1 -1
- package/dist/src/services/chatgptImages/index.cjs.map +1 -1
- package/dist/src/services/chatgptImages/index.mjs +1 -1
- package/dist/src/services/chatgptImages/index.mjs.map +1 -1
- package/dist/src/services/chatgptLogin/index.cjs +230 -0
- package/dist/src/services/chatgptLogin/index.cjs.map +1 -0
- package/dist/src/services/chatgptLogin/index.d.mts +21 -0
- package/dist/src/services/chatgptLogin/index.d.mts.map +1 -0
- package/dist/src/services/chatgptLogin/index.mjs +227 -0
- package/dist/src/services/chatgptLogin/index.mjs.map +1 -0
- package/dist/src/services/chatgptWebSearch/index.cjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.cjs.map +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs +1 -1
- package/dist/src/services/chatgptWebSearch/index.mjs.map +1 -1
- package/dist/src/services/contextContributions/index.cjs +8 -8
- package/dist/src/services/contextContributions/index.cjs.map +1 -1
- package/dist/src/services/contextContributions/index.d.mts +3 -3
- package/dist/src/services/contextContributions/index.d.mts.map +1 -1
- package/dist/src/services/contextContributions/index.mjs +8 -8
- package/dist/src/services/contextContributions/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/devProxyRecords.cjs +59 -0
- package/dist/src/services/devProxyStore/devProxyRecords.cjs.map +1 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs +56 -0
- package/dist/src/services/devProxyStore/devProxyRecords.mjs.map +1 -0
- package/dist/src/services/devProxyStore/index.cjs +7 -101
- package/dist/src/services/devProxyStore/index.cjs.map +1 -1
- package/dist/src/services/devProxyStore/index.mjs +7 -101
- package/dist/src/services/devProxyStore/index.mjs.map +1 -1
- package/dist/src/services/devProxyStore/sync.cjs +66 -0
- package/dist/src/services/devProxyStore/sync.cjs.map +1 -0
- package/dist/src/services/devProxyStore/sync.mjs +63 -0
- package/dist/src/services/devProxyStore/sync.mjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.cjs +15 -0
- package/dist/src/services/durableNavigation/docs.cjs.map +1 -0
- package/dist/src/services/durableNavigation/docs.mjs +16 -0
- package/dist/src/services/durableNavigation/docs.mjs.map +1 -0
- package/dist/src/services/durableNavigation/index.cjs +3 -18
- package/dist/src/services/durableNavigation/index.cjs.map +1 -1
- package/dist/src/services/durableNavigation/index.mjs +2 -17
- package/dist/src/services/durableNavigation/index.mjs.map +1 -1
- package/dist/src/services/durableQueue/docs.cjs +12 -0
- package/dist/src/services/durableQueue/docs.cjs.map +1 -0
- package/dist/src/services/durableQueue/docs.mjs +13 -0
- package/dist/src/services/durableQueue/docs.mjs.map +1 -0
- package/dist/src/services/durableQueue/index.cjs +151 -0
- package/dist/src/services/durableQueue/index.cjs.map +1 -0
- package/dist/src/services/durableQueue/index.mjs +149 -0
- package/dist/src/services/durableQueue/index.mjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs +11 -0
- package/dist/src/services/durableRequestReceipts/docs.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs +12 -0
- package/dist/src/services/durableRequestReceipts/docs.mjs.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.cjs +10 -16
- package/dist/src/services/durableRequestReceipts/index.cjs.map +1 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts +12 -0
- package/dist/src/services/durableRequestReceipts/index.d.mts.map +1 -0
- package/dist/src/services/{requestReceipts → durableRequestReceipts}/index.mjs +7 -13
- package/dist/src/services/durableRequestReceipts/index.mjs.map +1 -0
- package/dist/src/services/durableSession/docs.cjs +65 -0
- package/dist/src/services/durableSession/docs.cjs.map +1 -0
- package/dist/src/services/durableSession/docs.d.mts +17 -0
- package/dist/src/services/durableSession/docs.d.mts.map +1 -0
- package/dist/src/services/durableSession/docs.mjs +60 -0
- package/dist/src/services/durableSession/docs.mjs.map +1 -0
- package/dist/src/services/durableSession/index.cjs +21 -0
- package/dist/src/services/durableSession/index.cjs.map +1 -0
- package/dist/src/services/durableSession/index.d.mts +13 -0
- package/dist/src/services/durableSession/index.d.mts.map +1 -0
- package/dist/src/services/durableSession/index.mjs +20 -0
- package/dist/src/services/durableSession/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.cjs +15 -0
- package/dist/src/services/durableSubagents/docs.cjs.map +1 -0
- package/dist/src/services/durableSubagents/docs.mjs +16 -0
- package/dist/src/services/durableSubagents/docs.mjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.cjs +11 -0
- package/dist/src/services/durableSubagents/extension.cjs.map +1 -0
- package/dist/src/services/durableSubagents/extension.mjs +12 -0
- package/dist/src/services/durableSubagents/extension.mjs.map +1 -0
- package/dist/src/services/durableSubagents/index.cjs +95 -0
- package/dist/src/services/durableSubagents/index.cjs.map +1 -0
- package/dist/src/services/durableSubagents/index.mjs +90 -0
- package/dist/src/services/durableSubagents/index.mjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.cjs +25 -0
- package/dist/src/services/durableSubagents/tasks.cjs.map +1 -0
- package/dist/src/services/durableSubagents/tasks.mjs +26 -0
- package/dist/src/services/durableSubagents/tasks.mjs.map +1 -0
- package/dist/src/services/headlessClient/index.cjs +20 -13
- package/dist/src/services/headlessClient/index.cjs.map +1 -1
- package/dist/src/services/headlessClient/index.mjs +21 -14
- package/dist/src/services/headlessClient/index.mjs.map +1 -1
- package/dist/src/services/historyOwnership/type.d.mts +15 -0
- package/dist/src/services/historyOwnership/type.d.mts.map +1 -0
- package/dist/src/services/hubChannelHarness/index.cjs +2 -2
- package/dist/src/services/hubChannelHarness/index.cjs.map +1 -1
- package/dist/src/services/hubChannelHarness/index.d.mts +8 -8
- package/dist/src/services/hubChannelHarness/index.d.mts.map +1 -1
- package/dist/src/services/hubChannelHarness/index.mjs +2 -2
- package/dist/src/services/hubChannelHarness/index.mjs.map +1 -1
- package/dist/src/services/json/core.cjs +30 -0
- package/dist/src/services/json/core.cjs.map +1 -0
- package/dist/src/services/json/core.d.mts +21 -0
- package/dist/src/services/json/core.d.mts.map +1 -0
- package/dist/src/services/json/core.mjs +26 -0
- package/dist/src/services/json/core.mjs.map +1 -0
- package/dist/src/services/json/sync.cjs +48 -0
- package/dist/src/services/json/sync.cjs.map +1 -0
- package/dist/src/services/json/sync.d.mts +22 -0
- package/dist/src/services/json/sync.d.mts.map +1 -0
- package/dist/src/services/json/sync.mjs +43 -0
- package/dist/src/services/json/sync.mjs.map +1 -0
- package/dist/src/services/kernel/index.cjs +2 -2
- package/dist/src/services/kernel/index.cjs.map +1 -1
- package/dist/src/services/kernel/index.d.mts +3 -3
- package/dist/src/services/kernel/index.d.mts.map +1 -1
- package/dist/src/services/kernel/index.mjs +2 -2
- package/dist/src/services/kernel/index.mjs.map +1 -1
- package/dist/src/services/nativeChildTools/index.cjs +16 -0
- package/dist/src/services/nativeChildTools/index.cjs.map +1 -0
- package/dist/src/services/nativeChildTools/index.mjs +16 -0
- package/dist/src/services/nativeChildTools/index.mjs.map +1 -0
- package/dist/src/services/nodeHost/index.cjs +30 -0
- package/dist/src/services/nodeHost/index.cjs.map +1 -0
- package/dist/src/services/nodeHost/index.d.mts +16 -0
- package/dist/src/services/nodeHost/index.d.mts.map +1 -0
- package/dist/src/services/nodeHost/index.mjs +27 -0
- package/dist/src/services/nodeHost/index.mjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.cjs +89 -0
- package/dist/src/services/nodeModelDependencies/index.cjs.map +1 -0
- package/dist/src/services/nodeModelDependencies/index.mjs +86 -0
- package/dist/src/services/nodeModelDependencies/index.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/index.cjs +6 -128
- package/dist/src/services/openSessionRegistry/index.cjs.map +1 -1
- package/dist/src/services/openSessionRegistry/index.d.mts +5 -36
- package/dist/src/services/openSessionRegistry/index.mjs +6 -128
- package/dist/src/services/openSessionRegistry/index.mjs.map +1 -1
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs +87 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts +30 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs +81 -0
- package/dist/src/services/openSessionRegistry/openSessionRecords.mjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.cjs +71 -0
- package/dist/src/services/openSessionRegistry/sync.cjs.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts +14 -0
- package/dist/src/services/openSessionRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/openSessionRegistry/sync.mjs +68 -0
- package/dist/src/services/openSessionRegistry/sync.mjs.map +1 -0
- package/dist/src/services/packageApiHarness/index.cjs +1 -1
- package/dist/src/services/packageApiHarness/index.cjs.map +1 -1
- package/dist/src/services/packageApiHarness/index.d.mts +6 -6
- package/dist/src/services/packageApiHarness/index.d.mts.map +1 -1
- package/dist/src/services/packageApiHarness/index.mjs +2 -2
- package/dist/src/services/packageApiHarness/index.mjs.map +1 -1
- package/dist/src/services/piArgs/index.cjs +53 -0
- package/dist/src/services/piArgs/index.cjs.map +1 -0
- package/dist/src/services/piArgs/index.d.mts +6 -0
- package/dist/src/services/piArgs/index.d.mts.map +1 -0
- package/dist/src/services/piArgs/index.mjs +53 -0
- package/dist/src/services/piArgs/index.mjs.map +1 -0
- package/dist/src/services/piExtensionHost/index.cjs +47 -39
- package/dist/src/services/piExtensionHost/index.cjs.map +1 -1
- package/dist/src/services/piExtensionHost/index.d.mts +83 -0
- package/dist/src/services/piExtensionHost/index.d.mts.map +1 -0
- package/dist/src/services/piExtensionHost/index.mjs +47 -38
- package/dist/src/services/piExtensionHost/index.mjs.map +1 -1
- package/dist/src/services/piHelpTools/index.cjs +5 -5
- package/dist/src/services/piHelpTools/index.cjs.map +1 -1
- package/dist/src/services/piHelpTools/index.d.mts.map +1 -1
- package/dist/src/services/piHelpTools/index.mjs +7 -7
- package/dist/src/services/piHelpTools/index.mjs.map +1 -1
- package/dist/src/services/piMessages/index.cjs +106 -0
- package/dist/src/services/piMessages/index.cjs.map +1 -0
- package/dist/src/services/piMessages/index.mjs +105 -0
- package/dist/src/services/piMessages/index.mjs.map +1 -0
- package/dist/src/services/piSessionEntries/index.cjs +4 -4
- package/dist/src/services/piSessionEntries/index.cjs.map +1 -1
- package/dist/src/services/piSessionEntries/index.mjs +3 -3
- package/dist/src/services/piSessionEntries/index.mjs.map +1 -1
- package/dist/src/services/piSettings/core.cjs +308 -0
- package/dist/src/services/piSettings/core.cjs.map +1 -0
- package/dist/src/services/piSettings/core.d.mts +102 -0
- package/dist/src/services/piSettings/core.d.mts.map +1 -0
- package/dist/src/services/piSettings/core.mjs +276 -0
- package/dist/src/services/piSettings/core.mjs.map +1 -0
- package/dist/src/services/piSettings/sync.cjs +119 -0
- package/dist/src/services/piSettings/sync.cjs.map +1 -0
- package/dist/src/services/piSettings/sync.d.mts +44 -0
- package/dist/src/services/piSettings/sync.d.mts.map +1 -0
- package/dist/src/services/piSettings/sync.mjs +110 -0
- package/dist/src/services/piSettings/sync.mjs.map +1 -0
- package/dist/src/services/piSummary/index.cjs +7 -0
- package/dist/src/services/piSummary/index.cjs.map +1 -0
- package/dist/src/services/piSummary/index.mjs +7 -0
- package/dist/src/services/piSummary/index.mjs.map +1 -0
- package/dist/src/services/platformFiles/index.cjs +44 -0
- package/dist/src/services/platformFiles/index.cjs.map +1 -0
- package/dist/src/services/platformFiles/index.d.mts +16 -0
- package/dist/src/services/platformFiles/index.d.mts.map +1 -0
- package/dist/src/services/platformFiles/index.mjs +39 -0
- package/dist/src/services/platformFiles/index.mjs.map +1 -0
- package/dist/src/services/pluginLifecycle/index.cjs +19 -13
- package/dist/src/services/pluginLifecycle/index.cjs.map +1 -1
- package/dist/src/services/pluginLifecycle/index.d.mts +2 -0
- package/dist/src/services/pluginLifecycle/index.d.mts.map +1 -1
- package/dist/src/services/pluginLifecycle/index.mjs +19 -14
- package/dist/src/services/pluginLifecycle/index.mjs.map +1 -1
- package/dist/src/services/poPackage/core.cjs +73 -0
- package/dist/src/services/poPackage/core.cjs.map +1 -0
- package/dist/src/services/poPackage/core.d.mts +32 -0
- package/dist/src/services/poPackage/core.d.mts.map +1 -0
- package/dist/src/services/poPackage/core.mjs +66 -0
- package/dist/src/services/poPackage/core.mjs.map +1 -0
- package/dist/src/services/poPackage/sync.cjs +55 -0
- package/dist/src/services/poPackage/sync.cjs.map +1 -0
- package/dist/src/services/poPackage/sync.d.mts +21 -0
- package/dist/src/services/poPackage/sync.d.mts.map +1 -0
- package/dist/src/services/poPackage/sync.mjs +50 -0
- package/dist/src/services/poPackage/sync.mjs.map +1 -0
- package/dist/src/services/providerAuth/index.cjs +11 -7
- package/dist/src/services/providerAuth/index.cjs.map +1 -1
- package/dist/src/services/providerAuth/index.mjs +11 -7
- package/dist/src/services/providerAuth/index.mjs.map +1 -1
- package/dist/src/services/publicFileShares/index.cjs +1 -1
- package/dist/src/services/publicFileShares/index.cjs.map +1 -1
- package/dist/src/services/publicFileShares/index.d.mts +2 -2
- package/dist/src/services/publicFileShares/index.mjs +2 -2
- package/dist/src/services/publicFileShares/index.mjs.map +1 -1
- package/dist/src/services/remoteAccess/index.d.mts +1 -0
- package/dist/src/services/remoteAccess/index.d.mts.map +1 -1
- package/dist/src/services/remoteAccessStore/index.cjs +8 -190
- package/dist/src/services/remoteAccessStore/index.cjs.map +1 -1
- package/dist/src/services/remoteAccessStore/index.d.mts +2 -0
- package/dist/src/services/remoteAccessStore/index.mjs +7 -187
- package/dist/src/services/remoteAccessStore/index.mjs.map +1 -1
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs +98 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs +88 -0
- package/dist/src/services/remoteAccessStore/remoteAccessRecords.mjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.cjs +111 -0
- package/dist/src/services/remoteAccessStore/sync.cjs.map +1 -0
- package/dist/src/services/remoteAccessStore/sync.mjs +108 -0
- package/dist/src/services/remoteAccessStore/sync.mjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.cjs +23 -0
- package/dist/src/services/runtimeIdentity/sync.cjs.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts +9 -0
- package/dist/src/services/runtimeIdentity/sync.d.mts.map +1 -0
- package/dist/src/services/runtimeIdentity/sync.mjs +20 -0
- package/dist/src/services/runtimeIdentity/sync.mjs.map +1 -0
- package/dist/src/services/serialRunner/index.cjs +25 -0
- package/dist/src/services/serialRunner/index.cjs.map +1 -0
- package/dist/src/services/serialRunner/index.d.mts +10 -0
- package/dist/src/services/serialRunner/index.d.mts.map +1 -0
- package/dist/src/services/serialRunner/index.mjs +25 -0
- package/dist/src/services/serialRunner/index.mjs.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.cjs +5 -5
- package/dist/src/services/serverHost/index.cjs.map +1 -0
- package/dist/src/services/serverHost/index.d.mts +31 -0
- package/dist/src/services/serverHost/index.d.mts.map +1 -0
- package/dist/src/services/{serverFacet → serverHost}/index.mjs +5 -5
- package/dist/src/services/serverHost/index.mjs.map +1 -0
- package/dist/src/services/sessionAttachments/index.cjs +4 -3
- package/dist/src/services/sessionAttachments/index.cjs.map +1 -1
- package/dist/src/services/sessionAttachments/index.d.mts +1 -6
- package/dist/src/services/sessionAttachments/index.d.mts.map +1 -1
- package/dist/src/services/sessionAttachments/index.mjs +3 -2
- package/dist/src/services/sessionAttachments/index.mjs.map +1 -1
- package/dist/src/services/sessionAttachments/type.d.mts +9 -0
- package/dist/src/services/sessionAttachments/type.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.cjs +96 -0
- package/dist/src/services/sessionFiles/index.cjs.map +1 -0
- package/dist/src/services/sessionFiles/index.d.mts +33 -0
- package/dist/src/services/sessionFiles/index.d.mts.map +1 -0
- package/dist/src/services/sessionFiles/index.mjs +89 -0
- package/dist/src/services/sessionFiles/index.mjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs +66 -0
- package/dist/src/services/sessionFiles/sessionDirectory.cjs.map +1 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs +62 -0
- package/dist/src/services/sessionFiles/sessionDirectory.mjs.map +1 -0
- package/dist/src/services/sessionGitStatus/index.cjs +31 -33
- package/dist/src/services/sessionGitStatus/index.cjs.map +1 -1
- package/dist/src/services/sessionGitStatus/index.mjs +31 -33
- package/dist/src/services/sessionGitStatus/index.mjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.cjs +3 -27
- package/dist/src/services/sessionPresentation/index.cjs.map +1 -1
- package/dist/src/services/sessionPresentation/index.mjs +3 -27
- package/dist/src/services/sessionPresentation/index.mjs.map +1 -1
- package/dist/src/services/skillPrompt/index.cjs +11 -0
- package/dist/src/services/skillPrompt/index.cjs.map +1 -0
- package/dist/src/services/skillPrompt/index.mjs +11 -0
- package/dist/src/services/skillPrompt/index.mjs.map +1 -0
- package/dist/src/services/sqliteSessionHistory/index.cjs +44 -30
- package/dist/src/services/sqliteSessionHistory/index.cjs.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.d.mts +7 -4
- package/dist/src/services/sqliteSessionHistory/index.d.mts.map +1 -1
- package/dist/src/services/sqliteSessionHistory/index.mjs +43 -28
- package/dist/src/services/sqliteSessionHistory/index.mjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.cjs +21 -45
- package/dist/src/services/sqliteTranscriptReader/index.cjs.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.d.mts +3 -2
- package/dist/src/services/sqliteTranscriptReader/index.d.mts.map +1 -1
- package/dist/src/services/sqliteTranscriptReader/index.mjs +16 -38
- package/dist/src/services/sqliteTranscriptReader/index.mjs.map +1 -1
- package/dist/src/services/testMode/index.cjs +162 -0
- package/dist/src/services/testMode/index.cjs.map +1 -0
- package/dist/src/services/testMode/index.d.mts +17 -0
- package/dist/src/services/testMode/index.d.mts.map +1 -0
- package/dist/src/services/testMode/index.mjs +155 -0
- package/dist/src/services/testMode/index.mjs.map +1 -0
- package/dist/src/services/toolOverrides/index.cjs +6 -6
- package/dist/src/services/toolOverrides/index.cjs.map +1 -1
- package/dist/src/services/toolOverrides/index.d.mts +3 -3
- package/dist/src/services/toolOverrides/index.d.mts.map +1 -1
- package/dist/src/services/toolOverrides/index.mjs +6 -6
- package/dist/src/services/toolOverrides/index.mjs.map +1 -1
- package/dist/src/services/toolPrompt/index.d.mts +17 -0
- package/dist/src/services/toolPrompt/index.d.mts.map +1 -0
- package/dist/src/services/toolSurface/index.cjs +3 -3
- package/dist/src/services/toolSurface/index.cjs.map +1 -1
- package/dist/src/services/toolSurface/index.d.mts +3 -3
- package/dist/src/services/toolSurface/index.d.mts.map +1 -1
- package/dist/src/services/toolSurface/index.mjs +4 -4
- package/dist/src/services/toolSurface/index.mjs.map +1 -1
- package/dist/src/services/traceContext/index.cjs.map +1 -1
- package/dist/src/services/traceContext/index.mjs.map +1 -1
- package/dist/src/services/transcriptPages/index.cjs +159 -33
- package/dist/src/services/transcriptPages/index.cjs.map +1 -1
- package/dist/src/services/transcriptPages/index.mjs +158 -34
- package/dist/src/services/transcriptPages/index.mjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.cjs +7 -7
- package/dist/src/services/voiceToolsContract/index.cjs.map +1 -1
- package/dist/src/services/voiceToolsContract/index.d.mts +4 -4
- package/dist/src/services/voiceToolsContract/index.d.mts.map +1 -1
- package/dist/src/services/voiceToolsContract/index.mjs +7 -7
- package/dist/src/services/voiceToolsContract/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.cjs +9 -179
- package/dist/src/services/workspaceRegistry/index.cjs.map +1 -1
- package/dist/src/services/workspaceRegistry/index.d.mts +5 -47
- package/dist/src/services/workspaceRegistry/index.mjs +7 -176
- package/dist/src/services/workspaceRegistry/index.mjs.map +1 -1
- package/dist/src/services/workspaceRegistry/sync.cjs +148 -0
- package/dist/src/services/workspaceRegistry/sync.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts +34 -0
- package/dist/src/services/workspaceRegistry/sync.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/sync.mjs +140 -0
- package/dist/src/services/workspaceRegistry/sync.mjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs +114 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.cjs.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts +31 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.d.mts.map +1 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs +101 -0
- package/dist/src/services/workspaceRegistry/workspaceRecords.mjs.map +1 -0
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs +339 -202
- package/dist/src/systems/child/adapters/headlessChildSessionService.cjs.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts +16 -21
- package/dist/src/systems/child/adapters/headlessChildSessionService.d.mts.map +1 -1
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs +329 -191
- package/dist/src/systems/child/adapters/headlessChildSessionService.mjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.cjs +94 -20
- package/dist/src/systems/child/services/childSession/index.cjs.map +1 -1
- package/dist/src/systems/child/services/childSession/index.d.mts +12 -3
- package/dist/src/systems/child/services/childSession/index.d.mts.map +1 -1
- package/dist/src/systems/child/services/childSession/index.mjs +94 -20
- package/dist/src/systems/child/services/childSession/index.mjs.map +1 -1
- package/dist/src/systems/child/types/childSession.cjs +33 -13
- package/dist/src/systems/child/types/childSession.cjs.map +1 -1
- package/dist/src/systems/child/types/childSession.d.mts +143 -80
- package/dist/src/systems/child/types/childSession.d.mts.map +1 -1
- package/dist/src/systems/child/types/childSession.mjs +24 -9
- package/dist/src/systems/child/types/childSession.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.cjs +30 -27
- package/dist/src/systems/main/adapters/headlessHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.d.mts +22 -22
- package/dist/src/systems/main/adapters/headlessHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessHost.mjs +33 -30
- package/dist/src/systems/main/adapters/headlessHost.mjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs +248 -229
- package/dist/src/systems/main/adapters/headlessSessionHost.cjs.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts +4 -5
- package/dist/src/systems/main/adapters/headlessSessionHost.d.mts.map +1 -1
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs +239 -219
- package/dist/src/systems/main/adapters/headlessSessionHost.mjs.map +1 -1
- package/dist/src/systems/main/types/headlessHost.d.mts +16 -14
- package/dist/src/systems/main/types/headlessHost.d.mts.map +1 -1
- package/dist/src/testing/pi/testHost.cjs +2 -2
- package/dist/src/testing/pi/testHost.cjs.map +1 -1
- package/dist/src/testing/pi/testHost.d.mts +3 -2
- package/dist/src/testing/pi/testHost.mjs +3 -3
- package/dist/src/testing/pi/testHost.mjs.map +1 -1
- package/dist/src/types/config.d.mts +1 -1
- package/dist/src/types/config.d.mts.map +1 -1
- package/dist/src/types/kernel.d.mts +3 -3
- package/dist/src/types/server/directHarnessRuntime.d.mts +54 -25
- package/dist/src/types/server/directHarnessRuntime.d.mts.map +1 -1
- package/dist/src/types/server/sessionToolSurface.d.mts +9 -9
- package/dist/src/web/services/apiClient/index.d.mts +1 -0
- package/dist/src/web/services/apiPaths/index.cjs.map +1 -1
- package/dist/src/web/services/apiPaths/index.d.mts +1 -1
- package/dist/src/web/services/apiPaths/index.mjs.map +1 -1
- package/dist/src/web/services/mcpWidget.cjs.map +1 -1
- package/dist/src/web/services/mcpWidget.d.mts +2 -2
- package/dist/src/web/services/mcpWidget.d.mts.map +1 -1
- package/dist/src/web/services/mcpWidget.mjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.cjs +3 -0
- package/dist/src/web/services/testing/templateRail.cjs.map +1 -1
- package/dist/src/web/services/testing/templateRail.mjs +3 -0
- package/dist/src/web/services/testing/templateRail.mjs.map +1 -1
- package/dist/src/web/types/mcpWidget.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts +1 -1
- package/dist/src/web/types/nativeTemplate.d.mts.map +1 -1
- package/dist/src/web/types/template.d.mts +8 -0
- package/dist/src/web/types/template.d.mts.map +1 -1
- package/dist/src/web/types/webPlugin.d.mts +17 -5
- package/dist/src/web/types/webPlugin.d.mts.map +1 -1
- package/dist/testMode.cjs +4 -0
- package/dist/testMode.d.mts +2 -0
- package/dist/testMode.mjs +1 -0
- package/dist/testing.cjs +1 -1
- package/dist/testing.d.mts +2 -2
- package/dist/testing.mjs +2 -2
- package/dist/toolInventory.cjs.map +1 -1
- package/dist/toolInventory.mjs.map +1 -1
- package/dist/toolNames.mjs +1 -2
- package/dist/toolOverrides.cjs +4 -4
- package/dist/toolOverrides.d.mts +3 -3
- package/dist/toolOverrides.mjs +3 -3
- package/dist/toolSurface.cjs +4 -4
- package/dist/toolSurface.d.mts +3 -3
- package/dist/toolSurface.mjs +3 -3
- package/dist/transition.cjs +3 -3
- package/dist/transition.d.cjs +3 -3
- package/dist/transition.d.mts +2 -2
- package/dist/transition.mjs +1 -2
- package/dist/transitionClassifier.cjs.map +1 -1
- package/dist/transitionClassifier.d.mts +2 -2
- package/dist/transitionClassifier.d.mts.map +1 -1
- package/dist/transitionClassifier.mjs.map +1 -1
- package/dist/transitionCoordinator.cjs +3 -3
- package/dist/transitionCoordinator.cjs.map +1 -1
- package/dist/transitionCoordinator.d.mts +4 -4
- package/dist/transitionCoordinator.d.mts.map +1 -1
- package/dist/transitionCoordinator.mjs +3 -3
- package/dist/transitionCoordinator.mjs.map +1 -1
- package/dist/typesContextApi.d.mts +2 -1
- package/dist/typesContextApi.d.mts.map +1 -1
- package/dist/uiHub.cjs +3 -3
- package/dist/uiHub.d.mts +2 -2
- package/dist/uiHub.mjs +1 -2
- package/dist/voiceTools.cjs +5 -5
- package/dist/voiceTools.d.mts +3 -3
- package/dist/voiceTools.mjs +3 -3
- package/dist/web.cjs +8 -0
- package/dist/web.d.mts +3 -2
- package/dist/web.mjs +2 -1
- package/dist/webCompositions.cjs.map +1 -1
- package/dist/webCompositions.d.mts +7 -7
- package/dist/webCompositions.d.mts.map +1 -1
- package/dist/webCompositions.mjs.map +1 -1
- package/licenses/Codex-Apache-2.0.txt +201 -0
- package/package.json +58 -53
- package/dist/doomPackage.cjs +0 -61
- package/dist/doomPackage.cjs.map +0 -1
- package/dist/doomPackage.d.mts +0 -17
- package/dist/doomPackage.d.mts.map +0 -1
- package/dist/doomPackage.mjs +0 -54
- package/dist/doomPackage.mjs.map +0 -1
- package/dist/jsonlSessionRepo.cjs +0 -44
- package/dist/jsonlSessionRepo.cjs.map +0 -1
- package/dist/jsonlSessionRepo.d.mts +0 -7
- package/dist/jsonlSessionRepo.d.mts.map +0 -1
- package/dist/jsonlSessionRepo.mjs +0 -42
- package/dist/jsonlSessionRepo.mjs.map +0 -1
- package/dist/runtimeJson.cjs.map +0 -1
- package/dist/runtimeJson.d.mts.map +0 -1
- package/dist/runtimeJson.mjs.map +0 -1
- package/dist/runtimePiSettings.cjs.map +0 -1
- package/dist/runtimePiSettings.d.mts.map +0 -1
- package/dist/runtimePiSettings.mjs.map +0 -1
- package/dist/serverFacet.cjs +0 -34
- package/dist/serverFacet.d.mts +0 -10
- package/dist/serverFacet.mjs +0 -9
- package/dist/src/pi/piWebSocketListener.cjs +0 -115
- package/dist/src/pi/piWebSocketListener.cjs.map +0 -1
- package/dist/src/pi/piWebSocketListener.mjs +0 -115
- package/dist/src/pi/piWebSocketListener.mjs.map +0 -1
- package/dist/src/schemas/serverFacet.cjs +0 -111
- package/dist/src/schemas/serverFacet.cjs.map +0 -1
- package/dist/src/schemas/serverFacet.d.mts +0 -152
- package/dist/src/schemas/serverFacet.d.mts.map +0 -1
- package/dist/src/schemas/serverFacet.mjs +0 -101
- package/dist/src/schemas/serverFacet.mjs.map +0 -1
- package/dist/src/schemas/sessionUpdates.d.mts +0 -34
- package/dist/src/schemas/sessionUpdates.d.mts.map +0 -1
- package/dist/src/server/headlessProtocol.cjs +0 -382
- package/dist/src/server/headlessProtocol.cjs.map +0 -1
- package/dist/src/server/headlessProtocol.mjs +0 -382
- package/dist/src/server/headlessProtocol.mjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.cjs +0 -20
- package/dist/src/server/nativeChildTranscriptReader.cjs.map +0 -1
- package/dist/src/server/nativeChildTranscriptReader.mjs +0 -18
- package/dist/src/server/nativeChildTranscriptReader.mjs.map +0 -1
- package/dist/src/server/serverFacetLoader.cjs +0 -214
- package/dist/src/server/serverFacetLoader.cjs.map +0 -1
- package/dist/src/server/serverFacetLoader.d.mts +0 -72
- package/dist/src/server/serverFacetLoader.d.mts.map +0 -1
- package/dist/src/server/serverFacetLoader.mjs +0 -212
- package/dist/src/server/serverFacetLoader.mjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.cjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.cjs.map +0 -1
- package/dist/src/services/acpSessionUpdates/index.mjs +0 -129
- package/dist/src/services/acpSessionUpdates/index.mjs.map +0 -1
- package/dist/src/services/historyImport/index.cjs +0 -8
- package/dist/src/services/historyImport/index.cjs.map +0 -1
- package/dist/src/services/historyImport/index.d.mts +0 -68
- package/dist/src/services/historyImport/index.d.mts.map +0 -1
- package/dist/src/services/historyImport/index.mjs +0 -8
- package/dist/src/services/historyImport/index.mjs.map +0 -1
- package/dist/src/services/openSessionRegistry/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.cjs.map +0 -1
- package/dist/src/services/requestReceipts/index.d.mts +0 -11
- package/dist/src/services/requestReceipts/index.d.mts.map +0 -1
- package/dist/src/services/requestReceipts/index.mjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.cjs +0 -633
- package/dist/src/services/rpcTranscript/index.cjs.map +0 -1
- package/dist/src/services/rpcTranscript/index.d.mts +0 -50
- package/dist/src/services/rpcTranscript/index.d.mts.map +0 -1
- package/dist/src/services/rpcTranscript/index.mjs +0 -632
- package/dist/src/services/rpcTranscript/index.mjs.map +0 -1
- package/dist/src/services/serverFacet/index.cjs.map +0 -1
- package/dist/src/services/serverFacet/index.d.mts +0 -31
- package/dist/src/services/serverFacet/index.d.mts.map +0 -1
- package/dist/src/services/serverFacet/index.mjs.map +0 -1
- package/dist/src/services/workspaceRegistry/index.d.mts.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs +0 -28
- package/dist/src/systems/child/adapters/nativeChildRuntimes.cjs.map +0 -1
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs +0 -25
- package/dist/src/systems/child/adapters/nativeChildRuntimes.mjs.map +0 -1
- package/dist/terminalPiChildSessionService.cjs +0 -324
- package/dist/terminalPiChildSessionService.cjs.map +0 -1
- package/dist/terminalPiChildSessionService.d.mts +0 -46
- package/dist/terminalPiChildSessionService.d.mts.map +0 -1
- package/dist/terminalPiChildSessionService.mjs +0 -318
- package/dist/terminalPiChildSessionService.mjs.map +0 -1
- package/dist/v3Export.cjs +0 -10
- package/dist/v3Export.cjs.map +0 -1
- package/dist/v3Export.d.mts +0 -35
- package/dist/v3Export.d.mts.map +0 -1
- package/dist/v3Export.mjs +0 -9
- package/dist/v3Export.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteSessionStorage.cjs","names":["BACKGROUND_CONTEXT","defineDoc","DatabaseSync","NodeSqliteDatabase","SqliteStorage","path","randomUUID","fs","openNodeSqliteDatabase","createSession"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, defineDoc, type Storage } from '@earendil-works/pi-durable';\nimport { SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { DirectHarnessRuntimeOptions } from '../../types/server/directHarnessRuntime';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\nexport const DURABLE_DIRECTORY = 'durable-v1';\n/** Public string identity belongs to Doom, not the durable numeric ID namespace. */\nexport const SessionIdentityDoc = defineDoc({\n kind: 'po.session.identity',\n version: 1,\n scope: 'session',\n initial: () => ({ id: '', createdAt: 0, parentSessionId: '' }),\n});\nexport const SessionMetadataDoc = defineDoc({\n kind: 'po.session.metadata',\n version: 1,\n scope: 'session',\n initial: () => ({ name: '', workspaceRoot: '', execution: '', laneName: 'main' }),\n});\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n const database = new DatabaseSync(file, { readOnly: true });\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n if (schema?.version !== 1) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(\n options: Pick<\n DirectHarnessRuntimeOptions,\n 'historyOwnership' | 'sessionsRoot' | 'sessionPath' | 'sessionId' | 'parentSessionId'\n >,\n context: Context,\n) {\n if (!options.historyOwnership) throw new Error('SQLite sessions require explicit HistoryOwnership');\n if (!options.sessionsRoot && !options.sessionPath) throw new Error('SQLite sessions require a server data directory');\n const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, '.sqlite') : randomUUID());\n if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error('Invalid SQLite session id');\n const sessionFile = path.resolve(\n options.sessionPath ?? path.join(options.sessionsRoot!, DURABLE_DIRECTORY, `${id}.sqlite`),\n );\n if (path.basename(path.dirname(sessionFile)) !== DURABLE_DIRECTORY || path.extname(sessionFile) !== '.sqlite')\n throw new Error('Unsupported or legacy SQLite session path');\n const existing = fs.existsSync(sessionFile);\n if (!existing && options.sessionsRoot && fs.existsSync(path.join(options.sessionsRoot, `${id}.sqlite`)))\n throw new Error('Legacy SQLite sessions are unsupported by fresh durable storage');\n if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n const identity = await session.snapshot(SessionIdentityDoc, context);\n if (existing && (!identity || identity.id !== id))\n throw new Error('SQLite session id does not match the requested session');\n if (!existing) {\n await session.commit(async (tx) => {\n const doc = await tx.doc(SessionIdentityDoc);\n doc.id = id;\n doc.createdAt = Date.now();\n doc.parentSessionId = options.parentSessionId ?? '';\n }, context);\n fs.chmodSync(sessionFile, 0o600);\n }\n const repository = { close: (closeContext: Context = context) => session.close(closeContext) };\n return { storage, session, sessionFile, repository, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqliteSessionStorage.cjs","names":["BACKGROUND_CONTEXT","fs","path","DatabaseSync","CURRENT_SQLITE_SCHEMA_VERSION","NodeSqliteDatabase","SqliteStorage","DURABLE_DIRECTORY","randomUUID","openNodeSqliteDatabase","createSession","initializeSessionIdentity"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, type Storage } from '@earendil-works/pi-durable';\nimport { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { PoSessionStorageRequest } from '../../schemas/platform';\nimport { DURABLE_DIRECTORY, initializeSessionIdentity } from '../durableSession';\nimport type { HistoryOwnership } from '../historyOwnership/type';\n\nexport { DURABLE_DIRECTORY } from '../durableSession';\nexport { SessionIdentityDoc, SessionMetadataDoc } from '../durableSession/docs';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, '.sqlite')}`);\n const database = new DatabaseSync(file, { readOnly: true });\n let version: unknown;\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n version = schema?.version;\n // Read-only connections cannot migrate, so only the schema this pi-durable writes is accepted.\n if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n if (typeof version === 'number' && version > CURRENT_SQLITE_SCHEMA_VERSION)\n throw new Error('This session was written by a newer Po. Update Po to open it.', { cause });\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\nexport interface SqliteSessionStorageOptions extends PoSessionStorageRequest {\n /** The sessions directory the launching entry chose; files live under its `durable-v1`. */\n readonly sessionsRoot: string;\n readonly historyOwnership: HistoryOwnership;\n}\n\nconst SESSION_ID = /^[a-zA-Z0-9_-]+$/u;\n\n/** The durable-v1 file that holds one session. */\nexport function sqliteSessionFile(sessionsRoot: string, sessionId: string): string {\n if (!SESSION_ID.test(sessionId)) throw new Error('Invalid SQLite session id');\n return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context) {\n const id = options.sessionId ?? randomUUID();\n const sessionFile = sqliteSessionFile(options.sessionsRoot, id);\n const existing = fs.existsSync(sessionFile);\n if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n await initializeSessionIdentity(session, { id, existing, parentSessionId: options.parentSessionId }, context);\n if (!existing) fs.chmodSync(sessionFile, 0o600);\n return { storage, session, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PoSessionStorageRequest } from "./src/schemas/platform.mjs";
|
|
2
|
+
import { HistoryOwnership, HistoryOwnershipLease } from "./src/services/historyOwnership/type.mjs";
|
|
3
|
+
import { DURABLE_DIRECTORY } from "./src/services/durableSession/index.mjs";
|
|
4
|
+
import { SessionIdentityDoc, SessionMetadataDoc } from "./src/services/durableSession/docs.mjs";
|
|
3
5
|
import { Storage } from "@earendil-works/pi-durable";
|
|
4
6
|
import { Context } from "@earendil-works/chord";
|
|
5
7
|
//#region src/services/sqliteSessionStorage/index.d.ts
|
|
6
8
|
export declare const DURABLE_BACKGROUND_CONTEXT: Context;
|
|
7
|
-
export declare const DURABLE_DIRECTORY = "durable-v1";
|
|
8
|
-
/** Public string identity belongs to Doom, not the durable numeric ID namespace. */
|
|
9
|
-
export declare const SessionIdentityDoc: import("@earendil-works/pi-durable").SessionDocToken<{
|
|
10
|
-
id: string;
|
|
11
|
-
createdAt: number;
|
|
12
|
-
parentSessionId: string;
|
|
13
|
-
}>;
|
|
14
|
-
export declare const SessionMetadataDoc: import("@earendil-works/pi-durable").SessionDocToken<{
|
|
15
|
-
name: string;
|
|
16
|
-
workspaceRoot: string;
|
|
17
|
-
execution: string;
|
|
18
|
-
laneName: string;
|
|
19
|
-
}>;
|
|
20
9
|
/** Validate existing files without admitting a writer or applying schema upgrades. */
|
|
21
10
|
export declare function validateDurableSessionFile(file: string): void;
|
|
22
11
|
/** Completed histories use a read-only connection. Initialization cannot write or migrate. */
|
|
23
12
|
export declare function openReadOnlyDurableStorage(file: string): Promise<Storage>;
|
|
13
|
+
export interface SqliteSessionStorageOptions extends PoSessionStorageRequest {
|
|
14
|
+
/** The sessions directory the launching entry chose; files live under its `durable-v1`. */
|
|
15
|
+
readonly sessionsRoot: string;
|
|
16
|
+
readonly historyOwnership: HistoryOwnership;
|
|
17
|
+
}
|
|
18
|
+
/** The durable-v1 file that holds one session. */
|
|
19
|
+
export declare function sqliteSessionFile(sessionsRoot: string, sessionId: string): string;
|
|
24
20
|
/** Opens the one fresh-format SQLite container owned by a server session. */
|
|
25
|
-
export declare function openSqliteSessionStorage(options:
|
|
21
|
+
export declare function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context): Promise<{
|
|
26
22
|
storage: Storage;
|
|
27
23
|
session: import("@earendil-works/pi-durable").Session;
|
|
28
|
-
sessionFile: string;
|
|
29
|
-
repository: {
|
|
30
|
-
close: (closeContext?: Context) => Promise<void>;
|
|
31
|
-
};
|
|
32
24
|
historyLease: HistoryOwnershipLease;
|
|
33
25
|
}>;
|
|
34
26
|
//#endregion
|
|
27
|
+
export { DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc };
|
|
35
28
|
//# sourceMappingURL=sqliteSessionStorage.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteSessionStorage.d.mts","names":["_$
|
|
1
|
+
{"version":3,"file":"sqliteSessionStorage.d.mts","names":["_$___historyOwnership_type0.HistoryOwnershipLease"],"sources":["../src/services/sqliteSessionStorage/index.ts"],"mappings":";;;;;;;qBAkBa,4BAA0B;;wBAGvB,2BAA2B;;wBAgCrB,2BAA2B,eAAe,QAAQ;iBA2CvD,oCAAoC;;WAE1C;WACA,kBAAkB;;;wBAMb,kBAAkB,sBAAsB;;wBAMlC,yBAAyB,SAAS,6BAA6B,SAAS,UAAO"}
|
|
@@ -1,41 +1,23 @@
|
|
|
1
|
+
import { SessionIdentityDoc, SessionMetadataDoc } from "./src/services/durableSession/docs.mjs";
|
|
2
|
+
import { DURABLE_DIRECTORY, initializeSessionIdentity } from "./src/services/durableSession/index.mjs";
|
|
1
3
|
import { randomUUID } from "node:crypto";
|
|
2
4
|
import fs from "node:fs";
|
|
3
5
|
import path from "node:path";
|
|
4
6
|
import { DatabaseSync } from "node:sqlite";
|
|
5
|
-
import { createSession
|
|
7
|
+
import { createSession } from "@earendil-works/pi-durable";
|
|
6
8
|
import { BACKGROUND_CONTEXT } from "@earendil-works/chord/context";
|
|
7
|
-
import { SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
|
|
9
|
+
import { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from "@earendil-works/pi-durable/storage/sqlite";
|
|
8
10
|
import { NodeSqliteDatabase, openNodeSqliteDatabase } from "@earendil-works/pi-durable/storage/sqlite/node";
|
|
9
11
|
//#region src/services/sqliteSessionStorage/index.ts
|
|
10
12
|
const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;
|
|
11
|
-
const DURABLE_DIRECTORY = "durable-v1";
|
|
12
|
-
/** Public string identity belongs to Doom, not the durable numeric ID namespace. */
|
|
13
|
-
const SessionIdentityDoc = defineDoc({
|
|
14
|
-
kind: "po.session.identity",
|
|
15
|
-
version: 1,
|
|
16
|
-
scope: "session",
|
|
17
|
-
initial: () => ({
|
|
18
|
-
id: "",
|
|
19
|
-
createdAt: 0,
|
|
20
|
-
parentSessionId: ""
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
const SessionMetadataDoc = defineDoc({
|
|
24
|
-
kind: "po.session.metadata",
|
|
25
|
-
version: 1,
|
|
26
|
-
scope: "session",
|
|
27
|
-
initial: () => ({
|
|
28
|
-
name: "",
|
|
29
|
-
workspaceRoot: "",
|
|
30
|
-
execution: "",
|
|
31
|
-
laneName: "main"
|
|
32
|
-
})
|
|
33
|
-
});
|
|
34
13
|
/** Validate existing files without admitting a writer or applying schema upgrades. */
|
|
35
14
|
function validateDurableSessionFile(file) {
|
|
15
|
+
if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, ".sqlite")}`);
|
|
36
16
|
const database = new DatabaseSync(file, { readOnly: true });
|
|
17
|
+
let version;
|
|
37
18
|
try {
|
|
38
|
-
|
|
19
|
+
version = database.prepare("SELECT version FROM durable_schema WHERE singleton = 1").get()?.version;
|
|
20
|
+
if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("Unsupported durable SQLite schema");
|
|
39
21
|
const tables = database.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all();
|
|
40
22
|
for (const name of [
|
|
41
23
|
"durable_metadata",
|
|
@@ -48,6 +30,7 @@ function validateDurableSessionFile(file) {
|
|
|
48
30
|
"document_revisions"
|
|
49
31
|
]) if (!tables.some((table) => table.name === name)) throw new Error("Invalid durable SQLite schema");
|
|
50
32
|
} catch (cause) {
|
|
33
|
+
if (typeof version === "number" && version > CURRENT_SQLITE_SCHEMA_VERSION) throw new Error("This session was written by a newer Po. Update Po to open it.", { cause });
|
|
51
34
|
throw new Error("Unsupported or legacy SQLite session format", { cause });
|
|
52
35
|
} finally {
|
|
53
36
|
database.close();
|
|
@@ -91,17 +74,18 @@ async function openReadOnlyDurableStorage(file) {
|
|
|
91
74
|
throw error;
|
|
92
75
|
}
|
|
93
76
|
}
|
|
77
|
+
const SESSION_ID = /^[a-zA-Z0-9_-]+$/u;
|
|
78
|
+
/** The durable-v1 file that holds one session. */
|
|
79
|
+
function sqliteSessionFile(sessionsRoot, sessionId) {
|
|
80
|
+
if (!SESSION_ID.test(sessionId)) throw new Error("Invalid SQLite session id");
|
|
81
|
+
return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);
|
|
82
|
+
}
|
|
94
83
|
/** Opens the one fresh-format SQLite container owned by a server session. */
|
|
95
84
|
async function openSqliteSessionStorage(options, context) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, ".sqlite") : randomUUID());
|
|
99
|
-
if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error("Invalid SQLite session id");
|
|
100
|
-
const sessionFile = path.resolve(options.sessionPath ?? path.join(options.sessionsRoot, "durable-v1", `${id}.sqlite`));
|
|
101
|
-
if (path.basename(path.dirname(sessionFile)) !== "durable-v1" || path.extname(sessionFile) !== ".sqlite") throw new Error("Unsupported or legacy SQLite session path");
|
|
85
|
+
const id = options.sessionId ?? randomUUID();
|
|
86
|
+
const sessionFile = sqliteSessionFile(options.sessionsRoot, id);
|
|
102
87
|
const existing = fs.existsSync(sessionFile);
|
|
103
|
-
if (
|
|
104
|
-
if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);
|
|
88
|
+
if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);
|
|
105
89
|
if (existing) validateDurableSessionFile(sessionFile);
|
|
106
90
|
fs.mkdirSync(path.dirname(sessionFile), {
|
|
107
91
|
recursive: true,
|
|
@@ -118,22 +102,15 @@ async function openSqliteSessionStorage(options, context) {
|
|
|
118
102
|
database = await openNodeSqliteDatabase(sessionFile);
|
|
119
103
|
storage = await SqliteStorage.open(database);
|
|
120
104
|
const session = createSession(storage);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
doc.createdAt = Date.now();
|
|
128
|
-
doc.parentSessionId = options.parentSessionId ?? "";
|
|
129
|
-
}, context);
|
|
130
|
-
fs.chmodSync(sessionFile, 384);
|
|
131
|
-
}
|
|
105
|
+
await initializeSessionIdentity(session, {
|
|
106
|
+
id,
|
|
107
|
+
existing,
|
|
108
|
+
parentSessionId: options.parentSessionId
|
|
109
|
+
}, context);
|
|
110
|
+
if (!existing) fs.chmodSync(sessionFile, 384);
|
|
132
111
|
return {
|
|
133
112
|
storage,
|
|
134
113
|
session,
|
|
135
|
-
sessionFile,
|
|
136
|
-
repository: { close: (closeContext = context) => session.close(closeContext) },
|
|
137
114
|
historyLease
|
|
138
115
|
};
|
|
139
116
|
} catch (error) {
|
|
@@ -153,6 +130,6 @@ async function openSqliteSessionStorage(options, context) {
|
|
|
153
130
|
}
|
|
154
131
|
}
|
|
155
132
|
//#endregion
|
|
156
|
-
export { DURABLE_BACKGROUND_CONTEXT, DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc, openReadOnlyDurableStorage, openSqliteSessionStorage, validateDurableSessionFile };
|
|
133
|
+
export { DURABLE_BACKGROUND_CONTEXT, DURABLE_DIRECTORY, SessionIdentityDoc, SessionMetadataDoc, openReadOnlyDurableStorage, openSqliteSessionStorage, sqliteSessionFile, validateDurableSessionFile };
|
|
157
134
|
|
|
158
135
|
//# sourceMappingURL=sqliteSessionStorage.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqliteSessionStorage.mjs","names":[],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, defineDoc, type Storage } from '@earendil-works/pi-durable';\nimport { SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { DirectHarnessRuntimeOptions } from '../../types/server/directHarnessRuntime';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\nexport const DURABLE_DIRECTORY = 'durable-v1';\n/** Public string identity belongs to Doom, not the durable numeric ID namespace. */\nexport const SessionIdentityDoc = defineDoc({\n kind: 'po.session.identity',\n version: 1,\n scope: 'session',\n initial: () => ({ id: '', createdAt: 0, parentSessionId: '' }),\n});\nexport const SessionMetadataDoc = defineDoc({\n kind: 'po.session.metadata',\n version: 1,\n scope: 'session',\n initial: () => ({ name: '', workspaceRoot: '', execution: '', laneName: 'main' }),\n});\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n const database = new DatabaseSync(file, { readOnly: true });\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n if (schema?.version !== 1) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(\n options: Pick<\n DirectHarnessRuntimeOptions,\n 'historyOwnership' | 'sessionsRoot' | 'sessionPath' | 'sessionId' | 'parentSessionId'\n >,\n context: Context,\n) {\n if (!options.historyOwnership) throw new Error('SQLite sessions require explicit HistoryOwnership');\n if (!options.sessionsRoot && !options.sessionPath) throw new Error('SQLite sessions require a server data directory');\n const id = options.sessionId ?? (options.sessionPath ? path.basename(options.sessionPath, '.sqlite') : randomUUID());\n if (!/^[a-zA-Z0-9_-]+$/u.test(id)) throw new Error('Invalid SQLite session id');\n const sessionFile = path.resolve(\n options.sessionPath ?? path.join(options.sessionsRoot!, DURABLE_DIRECTORY, `${id}.sqlite`),\n );\n if (path.basename(path.dirname(sessionFile)) !== DURABLE_DIRECTORY || path.extname(sessionFile) !== '.sqlite')\n throw new Error('Unsupported or legacy SQLite session path');\n const existing = fs.existsSync(sessionFile);\n if (!existing && options.sessionsRoot && fs.existsSync(path.join(options.sessionsRoot, `${id}.sqlite`)))\n throw new Error('Legacy SQLite sessions are unsupported by fresh durable storage');\n if (options.sessionPath && !existing) throw new Error(`SQLite session not found: ${sessionFile}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n const identity = await session.snapshot(SessionIdentityDoc, context);\n if (existing && (!identity || identity.id !== id))\n throw new Error('SQLite session id does not match the requested session');\n if (!existing) {\n await session.commit(async (tx) => {\n const doc = await tx.doc(SessionIdentityDoc);\n doc.id = id;\n doc.createdAt = Date.now();\n doc.parentSessionId = options.parentSessionId ?? '';\n }, context);\n fs.chmodSync(sessionFile, 0o600);\n }\n const repository = { close: (closeContext: Context = context) => session.close(closeContext) };\n return { storage, session, sessionFile, repository, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqliteSessionStorage.mjs","names":[],"sources":["../src/services/sqliteSessionStorage/index.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { DatabaseSync } from 'node:sqlite';\n\nimport type { Context } from '@earendil-works/chord';\nimport { BACKGROUND_CONTEXT } from '@earendil-works/chord/context';\nimport { createSession, type Storage } from '@earendil-works/pi-durable';\nimport { CURRENT_SQLITE_SCHEMA_VERSION, SqliteStorage } from '@earendil-works/pi-durable/storage/sqlite';\nimport { NodeSqliteDatabase, openNodeSqliteDatabase } from '@earendil-works/pi-durable/storage/sqlite/node';\n\nimport type { PoSessionStorageRequest } from '../../schemas/platform';\nimport { DURABLE_DIRECTORY, initializeSessionIdentity } from '../durableSession';\nimport type { HistoryOwnership } from '../historyOwnership/type';\n\nexport { DURABLE_DIRECTORY } from '../durableSession';\nexport { SessionIdentityDoc, SessionMetadataDoc } from '../durableSession/docs';\n\nexport const DURABLE_BACKGROUND_CONTEXT = BACKGROUND_CONTEXT;\n\n/** Validate existing files without admitting a writer or applying schema upgrades. */\nexport function validateDurableSessionFile(file: string): void {\n if (!fs.existsSync(file)) throw new Error(`SQLite session not found: ${path.basename(file, '.sqlite')}`);\n const database = new DatabaseSync(file, { readOnly: true });\n let version: unknown;\n try {\n const schema = database.prepare('SELECT version FROM durable_schema WHERE singleton = 1').get();\n version = schema?.version;\n // Read-only connections cannot migrate, so only the schema this pi-durable writes is accepted.\n if (version !== CURRENT_SQLITE_SCHEMA_VERSION) throw new Error('Unsupported durable SQLite schema');\n const tables = database.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table'\").all();\n for (const name of [\n 'durable_metadata',\n 'record_ids',\n 'conversations',\n 'entries',\n 'tasks',\n 'submissions',\n 'documents',\n 'document_revisions',\n ]) {\n if (!tables.some((table) => table.name === name)) throw new Error('Invalid durable SQLite schema');\n }\n } catch (cause) {\n if (typeof version === 'number' && version > CURRENT_SQLITE_SCHEMA_VERSION)\n throw new Error('This session was written by a newer Po. Update Po to open it.', { cause });\n throw new Error('Unsupported or legacy SQLite session format', { cause });\n } finally {\n database.close();\n }\n}\n\n/** Completed histories use a read-only connection. Initialization cannot write or migrate. */\nexport async function openReadOnlyDurableStorage(file: string): Promise<Storage> {\n validateDurableSessionFile(file);\n const native = new DatabaseSync(file, { readOnly: true });\n const database = new NodeSqliteDatabase(native);\n let closed = false;\n const close = async () => {\n if (closed) return;\n // The writer adapter checkpoints WAL on close, which read-only connections cannot do.\n native.close();\n closed = true;\n };\n try {\n const storage = await SqliteStorage.open({\n exec: (sql) => database.exec(sql),\n run: (sql, ...params) => database.run(sql, ...params),\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n close,\n transaction: (callback) =>\n callback({\n exec: async (sql) => {\n if (!/^CREATE TABLE IF NOT EXISTS durable_schema\\s/u.test(sql))\n throw new Error('Read-only durable storage');\n },\n run: async (sql) => {\n if (sql !== 'INSERT OR IGNORE INTO durable_schema (singleton, version) VALUES (1, 0)')\n throw new Error('Read-only durable storage');\n },\n get: (sql, ...params) => database.get(sql, ...params),\n all: (sql, ...params) => database.all(sql, ...params),\n }),\n });\n return storage;\n } catch (error) {\n try {\n await close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'Read-only storage initialization cleanup failed');\n }\n throw error;\n }\n}\n\nexport interface SqliteSessionStorageOptions extends PoSessionStorageRequest {\n /** The sessions directory the launching entry chose; files live under its `durable-v1`. */\n readonly sessionsRoot: string;\n readonly historyOwnership: HistoryOwnership;\n}\n\nconst SESSION_ID = /^[a-zA-Z0-9_-]+$/u;\n\n/** The durable-v1 file that holds one session. */\nexport function sqliteSessionFile(sessionsRoot: string, sessionId: string): string {\n if (!SESSION_ID.test(sessionId)) throw new Error('Invalid SQLite session id');\n return path.resolve(sessionsRoot, DURABLE_DIRECTORY, `${sessionId}.sqlite`);\n}\n\n/** Opens the one fresh-format SQLite container owned by a server session. */\nexport async function openSqliteSessionStorage(options: SqliteSessionStorageOptions, context: Context) {\n const id = options.sessionId ?? randomUUID();\n const sessionFile = sqliteSessionFile(options.sessionsRoot, id);\n const existing = fs.existsSync(sessionFile);\n if (options.existing && !existing) throw new Error(`SQLite session not found: ${id}`);\n if (existing) validateDurableSessionFile(sessionFile);\n fs.mkdirSync(path.dirname(sessionFile), { recursive: true, mode: 0o700 });\n const historyLease = await options.historyOwnership.acquire(sessionFile);\n let storage: Storage | undefined;\n let database: NodeSqliteDatabase | undefined;\n let writerOpenAttempted = false;\n try {\n await historyLease.assertQuiescent();\n if (fs.existsSync(sessionFile)) validateDurableSessionFile(sessionFile);\n writerOpenAttempted = true;\n database = await openNodeSqliteDatabase(sessionFile);\n storage = await SqliteStorage.open(database);\n const session = createSession(storage);\n await initializeSessionIdentity(session, { id, existing, parentSessionId: options.parentSessionId }, context);\n if (!existing) fs.chmodSync(sessionFile, 0o600);\n return { storage, session, historyLease };\n } catch (error) {\n // ponytail: An upstream open rejection has no closure receipt, so retain ownership until shutdown is confirmed.\n if (writerOpenAttempted && !database) throw error;\n try {\n if (storage) await storage.close(context);\n else if (database) await database.close();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage initialization cleanup failed');\n }\n try {\n await historyLease.release();\n } catch (cleanupError) {\n throw new AggregateError([error, cleanupError], 'SQLite storage ownership cleanup failed');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/constants/agentSettled.ts
|
|
2
|
+
/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */
|
|
3
|
+
const AGENT_SETTLED_ENTRY_TYPE = "po.agent-settled";
|
|
4
|
+
//#endregion
|
|
5
|
+
exports.AGENT_SETTLED_ENTRY_TYPE = AGENT_SETTLED_ENTRY_TYPE;
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=agentSettled.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentSettled.cjs","names":[],"sources":["../../../src/constants/agentSettled.ts"],"sourcesContent":["/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */\nexport const AGENT_SETTLED_ENTRY_TYPE = 'po.agent-settled';\n"],"mappings":";;AACA,MAAa,2BAA2B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/constants/agentSettled.ts
|
|
2
|
+
/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */
|
|
3
|
+
const AGENT_SETTLED_ENTRY_TYPE = "po.agent-settled";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { AGENT_SETTLED_ENTRY_TYPE };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=agentSettled.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentSettled.mjs","names":[],"sources":["../../../src/constants/agentSettled.ts"],"sourcesContent":["/** Journal entry the direct harness appends when an agent run settles; the hub reads it back. */\nexport const AGENT_SETTLED_ENTRY_TYPE = 'po.agent-settled';\n"],"mappings":";;AACA,MAAa,2BAA2B"}
|
|
@@ -14,15 +14,17 @@ const API_BASE_PATH = "context";
|
|
|
14
14
|
/** The session a proxied request belongs to; the hub strips it before forwarding. */
|
|
15
15
|
const SESSION_QUERY_PARAM = "session";
|
|
16
16
|
const ITEM_ROUTE = "/item";
|
|
17
|
+
const CURRENT_ROUTE = "/current";
|
|
17
18
|
const NAME_QUERY_PARAM = "name";
|
|
18
19
|
const KIND_QUERY_PARAM = "kind";
|
|
19
20
|
const CONTEXT_DETAIL_VERSION = 1;
|
|
20
21
|
/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
|
|
21
|
-
const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "
|
|
22
|
+
const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
|
|
22
23
|
//#endregion
|
|
23
24
|
exports.API_BASE_PATH = API_BASE_PATH;
|
|
24
25
|
exports.CONTEXT_DETAIL_VERSION = CONTEXT_DETAIL_VERSION;
|
|
25
26
|
exports.CONTEXT_TOOL_WARNINGS_STATUS_KEY = CONTEXT_TOOL_WARNINGS_STATUS_KEY;
|
|
27
|
+
exports.CURRENT_ROUTE = CURRENT_ROUTE;
|
|
26
28
|
exports.ITEM_ROUTE = ITEM_ROUTE;
|
|
27
29
|
exports.KIND_QUERY_PARAM = KIND_QUERY_PARAM;
|
|
28
30
|
exports.NAME_QUERY_PARAM = NAME_QUERY_PARAM;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextApi.cjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = '
|
|
1
|
+
{"version":3,"file":"contextApi.cjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const CURRENT_ROUTE = '/current';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'po-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,gBAAgB;AAE7B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
|
|
@@ -14,10 +14,11 @@ export declare const API_BASE_PATH = "context";
|
|
|
14
14
|
/** The session a proxied request belongs to; the hub strips it before forwarding. */
|
|
15
15
|
export declare const SESSION_QUERY_PARAM = "session";
|
|
16
16
|
export declare const ITEM_ROUTE = "/item";
|
|
17
|
+
export declare const CURRENT_ROUTE = "/current";
|
|
17
18
|
export declare const NAME_QUERY_PARAM = "name";
|
|
18
19
|
export declare const KIND_QUERY_PARAM = "kind";
|
|
19
20
|
export declare const CONTEXT_DETAIL_VERSION = 1;
|
|
20
21
|
/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
|
|
21
|
-
export declare const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "
|
|
22
|
+
export declare const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
|
|
22
23
|
//#endregion
|
|
23
24
|
//# sourceMappingURL=contextApi.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextApi.d.mts","names":[],"sources":["../../../src/constants/contextApi.ts"],"mappings":";;;;;;;;;;;;qBAYa;;qBAGA;qBAEA;qBAEA;qBAEA;qBAEA;;qBAGA"}
|
|
1
|
+
{"version":3,"file":"contextApi.d.mts","names":[],"sources":["../../../src/constants/contextApi.ts"],"mappings":";;;;;;;;;;;;qBAYa;;qBAGA;qBAEA;qBAEA;qBAEA;qBAEA;qBAEA;;qBAGA"}
|
|
@@ -14,12 +14,13 @@ const API_BASE_PATH = "context";
|
|
|
14
14
|
/** The session a proxied request belongs to; the hub strips it before forwarding. */
|
|
15
15
|
const SESSION_QUERY_PARAM = "session";
|
|
16
16
|
const ITEM_ROUTE = "/item";
|
|
17
|
+
const CURRENT_ROUTE = "/current";
|
|
17
18
|
const NAME_QUERY_PARAM = "name";
|
|
18
19
|
const KIND_QUERY_PARAM = "kind";
|
|
19
20
|
const CONTEXT_DETAIL_VERSION = 1;
|
|
20
21
|
/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */
|
|
21
|
-
const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "
|
|
22
|
+
const CONTEXT_TOOL_WARNINGS_STATUS_KEY = "po-context-tool-warnings";
|
|
22
23
|
//#endregion
|
|
23
|
-
export { API_BASE_PATH, CONTEXT_DETAIL_VERSION, CONTEXT_TOOL_WARNINGS_STATUS_KEY, ITEM_ROUTE, KIND_QUERY_PARAM, NAME_QUERY_PARAM, SESSION_QUERY_PARAM };
|
|
24
|
+
export { API_BASE_PATH, CONTEXT_DETAIL_VERSION, CONTEXT_TOOL_WARNINGS_STATUS_KEY, CURRENT_ROUTE, ITEM_ROUTE, KIND_QUERY_PARAM, NAME_QUERY_PARAM, SESSION_QUERY_PARAM };
|
|
24
25
|
|
|
25
26
|
//# sourceMappingURL=contextApi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextApi.mjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = '
|
|
1
|
+
{"version":3,"file":"contextApi.mjs","names":[],"sources":["../../../src/constants/contextApi.ts"],"sourcesContent":["/**\n * What one entry in the composition actually is, for a reader who clicked it.\n *\n * The projection prices the composition and stops there: names, owners, and\n * integer counts, small enough to republish whenever the composition changes.\n * The prose and the schema behind a figure are an order of magnitude larger and\n * are wanted one row at a time, so they travel on request instead. This module\n * is the contract both ends of that request share, and it is deliberately free\n * of Node imports so a browser can hold it too.\n */\n\n/** Where a host mounts this package's API; the segment after /api/plugins/. */\nexport const API_BASE_PATH = 'context';\n\n/** The session a proxied request belongs to; the hub strips it before forwarding. */\nexport const SESSION_QUERY_PARAM = 'session';\n\nexport const ITEM_ROUTE = '/item';\n\nexport const CURRENT_ROUTE = '/current';\n\nexport const NAME_QUERY_PARAM = 'name';\n\nexport const KIND_QUERY_PARAM = 'kind';\n\nexport const CONTEXT_DETAIL_VERSION = 1;\n\n/** Plugin-agnostic status payload: a JSON map keyed by registered tool name. */\nexport const CONTEXT_TOOL_WARNINGS_STATUS_KEY = 'po-context-tool-warnings';\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,gBAAgB;;AAG7B,MAAa,sBAAsB;AAEnC,MAAa,aAAa;AAE1B,MAAa,gBAAgB;AAE7B,MAAa,mBAAmB;AAEhC,MAAa,mBAAmB;AAEhC,MAAa,yBAAyB;;AAGtC,MAAa,mCAAmC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/constants/voiceTools.ts
|
|
2
|
-
const
|
|
2
|
+
const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
|
|
3
3
|
const VOICE_DESCRIBE_TOOL_NAME = "describe_voice_tools";
|
|
4
4
|
const VOICE_USE_TOOL_NAME = "use_voice_tools";
|
|
5
5
|
const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME];
|
|
@@ -52,13 +52,13 @@ const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;
|
|
|
52
52
|
const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;
|
|
53
53
|
const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;
|
|
54
54
|
const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;
|
|
55
|
-
const
|
|
56
|
-
const
|
|
55
|
+
const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
|
|
56
|
+
const PO_VOICE_AUTO_MODE_ID = "voice-auto";
|
|
57
57
|
//#endregion
|
|
58
|
-
exports.DOOM_VOICE_AUTO_MODE_ID = DOOM_VOICE_AUTO_MODE_ID;
|
|
59
|
-
exports.DOOM_VOICE_SOURCE = DOOM_VOICE_SOURCE;
|
|
60
|
-
exports.DOOM_VOICE_TOOLS_SERVICE = DOOM_VOICE_TOOLS_SERVICE;
|
|
61
58
|
exports.MAX_ORDER = MAX_ORDER;
|
|
59
|
+
exports.PO_VOICE_AUTO_MODE_ID = PO_VOICE_AUTO_MODE_ID;
|
|
60
|
+
exports.PO_VOICE_SOURCE = PO_VOICE_SOURCE;
|
|
61
|
+
exports.PO_VOICE_TOOLS_SERVICE = PO_VOICE_TOOLS_SERVICE;
|
|
62
62
|
exports.SAFE_IDENTIFIER = SAFE_IDENTIFIER;
|
|
63
63
|
exports.SAFE_NAME = SAFE_NAME;
|
|
64
64
|
exports.VOICE_DESCRIBE_TOOL_NAME = VOICE_DESCRIBE_TOOL_NAME;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceTools.cjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const
|
|
1
|
+
{"version":3,"file":"voiceTools.cjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const PO_VOICE_TOOLS_SERVICE = 'po/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const PO_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const PO_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/constants/voiceTools.d.ts
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
|
|
3
3
|
export declare const VOICE_DESCRIBE_TOOL_NAME: 'describe_voice_tools';
|
|
4
4
|
export declare const VOICE_USE_TOOL_NAME: 'use_voice_tools';
|
|
5
5
|
export declare const VOICE_FACADE_TOOL_NAMES: readonly ["describe_voice_tools", "use_voice_tools"];
|
|
@@ -52,7 +52,7 @@ export declare const VOICE_TOOL_TIMEOUT: "VOICE_TOOL_TIMEOUT";
|
|
|
52
52
|
export declare const VOICE_TOOL_ABORTED: "VOICE_TOOL_ABORTED";
|
|
53
53
|
export declare const VOICE_TOOL_EXECUTION_FAILED: "VOICE_TOOL_EXECUTION_FAILED";
|
|
54
54
|
export declare const VOICE_TOOL_BATCH_STOPPED: "VOICE_TOOL_BATCH_STOPPED";
|
|
55
|
-
export declare const
|
|
56
|
-
export declare const
|
|
55
|
+
export declare const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
|
|
56
|
+
export declare const PO_VOICE_AUTO_MODE_ID = "voice-auto";
|
|
57
57
|
//#endregion
|
|
58
58
|
//# sourceMappingURL=voiceTools.d.mts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/constants/voiceTools.ts
|
|
2
|
-
const
|
|
2
|
+
const PO_VOICE_TOOLS_SERVICE = "po/voice-tools";
|
|
3
3
|
const VOICE_DESCRIBE_TOOL_NAME = "describe_voice_tools";
|
|
4
4
|
const VOICE_USE_TOOL_NAME = "use_voice_tools";
|
|
5
5
|
const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME];
|
|
@@ -52,9 +52,9 @@ const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;
|
|
|
52
52
|
const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;
|
|
53
53
|
const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;
|
|
54
54
|
const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;
|
|
55
|
-
const
|
|
56
|
-
const
|
|
55
|
+
const PO_VOICE_SOURCE = "@agimon-ai/po-voice";
|
|
56
|
+
const PO_VOICE_AUTO_MODE_ID = "voice-auto";
|
|
57
57
|
//#endregion
|
|
58
|
-
export {
|
|
58
|
+
export { MAX_ORDER, PO_VOICE_AUTO_MODE_ID, PO_VOICE_SOURCE, PO_VOICE_TOOLS_SERVICE, SAFE_IDENTIFIER, SAFE_NAME, VOICE_DESCRIBE_TOOL_NAME, VOICE_FACADE_TOOL_NAMES, VOICE_MODE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME, VOICE_TOOL_ABORTED, VOICE_TOOL_BATCH_STOPPED, VOICE_TOOL_DEFAULT_TIMEOUT_MS, VOICE_TOOL_ERROR_CODE, VOICE_TOOL_EXECUTION_FAILED, VOICE_TOOL_HOST_UNAVAILABLE, VOICE_TOOL_INACTIVE, VOICE_TOOL_INVALID_INPUT, VOICE_TOOL_INVALID_RESULT, VOICE_TOOL_MAX_BATCH_BYTES, VOICE_TOOL_MAX_BATCH_ITEMS, VOICE_TOOL_MAX_DESCRIPTION_LENGTH, VOICE_TOOL_MAX_DOMAIN_COUNT, VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH, VOICE_TOOL_MAX_IDENTIFIER_LENGTH, VOICE_TOOL_MAX_INPUT_BYTES, VOICE_TOOL_MAX_JSON_DEPTH, VOICE_TOOL_MAX_LABEL_LENGTH, VOICE_TOOL_MAX_SCHEMA_BYTES, VOICE_TOOL_MAX_TIMEOUT_MS, VOICE_TOOL_NAME_CONFLICT, VOICE_TOOL_NOT_FOUND, VOICE_TOOL_STALE_CATALOG, VOICE_TOOL_STALE_SESSION, VOICE_TOOL_TERMINAL_OPERATION_LIMIT, VOICE_TOOL_TIMEOUT, VOICE_USE_TOOL_NAME };
|
|
59
59
|
|
|
60
60
|
//# sourceMappingURL=voiceTools.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceTools.mjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const
|
|
1
|
+
{"version":3,"file":"voiceTools.mjs","names":[],"sources":["../../../src/constants/voiceTools.ts"],"sourcesContent":["export const PO_VOICE_TOOLS_SERVICE = 'po/voice-tools';\nexport const VOICE_DESCRIBE_TOOL_NAME = 'describe_voice_tools' as const;\nexport const VOICE_USE_TOOL_NAME = 'use_voice_tools' as const;\nexport const VOICE_FACADE_TOOL_NAMES = [VOICE_DESCRIBE_TOOL_NAME, VOICE_USE_TOOL_NAME] as const;\nexport const VOICE_NARRATE_TOOL_NAME = 'narrate' as const;\nexport const VOICE_MODE_TOOL_NAMES = [...VOICE_FACADE_TOOL_NAMES, VOICE_NARRATE_TOOL_NAME] as const;\nexport const VOICE_TOOL_DEFAULT_TIMEOUT_MS = 10_000;\nexport const VOICE_TOOL_MAX_TIMEOUT_MS = 30_000;\nexport const VOICE_TOOL_MAX_BATCH_ITEMS = 16;\nexport const VOICE_TOOL_MAX_INPUT_BYTES = 64 * 1024;\nexport const VOICE_TOOL_MAX_BATCH_BYTES = 256 * 1024;\nexport const VOICE_TOOL_MAX_SCHEMA_BYTES = 32 * 1024;\nexport const VOICE_TOOL_MAX_JSON_DEPTH = 16;\nexport const VOICE_TOOL_TERMINAL_OPERATION_LIMIT = 256;\nexport const VOICE_TOOL_MAX_IDENTIFIER_LENGTH = 128;\nexport const VOICE_TOOL_MAX_LABEL_LENGTH = 96;\nexport const VOICE_TOOL_MAX_DESCRIPTION_LENGTH = 240;\nexport const VOICE_TOOL_MAX_ERROR_MESSAGE_LENGTH = 240;\nexport const VOICE_TOOL_MAX_DOMAIN_COUNT = 32;\nexport const SAFE_IDENTIFIER = /^[A-Za-z0-9@][A-Za-z0-9@/._:-]*$/u;\nexport const SAFE_NAME = /^[a-z][a-z0-9_:-]*$/u;\nexport const MAX_ORDER = 1_000;\nexport const VOICE_TOOL_ERROR_CODE = {\n hostUnavailable: 'VOICE_TOOL_HOST_UNAVAILABLE',\n inactive: 'VOICE_TOOL_INACTIVE',\n staleSession: 'VOICE_TOOL_STALE_SESSION',\n staleCatalog: 'VOICE_TOOL_STALE_CATALOG',\n notFound: 'VOICE_TOOL_NOT_FOUND',\n nameConflict: 'VOICE_TOOL_NAME_CONFLICT',\n invalidInput: 'VOICE_TOOL_INVALID_INPUT',\n invalidResult: 'VOICE_TOOL_INVALID_RESULT',\n executionFailed: 'VOICE_TOOL_EXECUTION_FAILED',\n timeout: 'VOICE_TOOL_TIMEOUT',\n aborted: 'VOICE_TOOL_ABORTED',\n cancelled: 'VOICE_TOOL_CANCELLED',\n registrationDisposed: 'VOICE_TOOL_REGISTRATION_DISPOSED',\n sessionShutdown: 'VOICE_TOOL_SESSION_SHUTDOWN',\n batchStopped: 'VOICE_TOOL_BATCH_STOPPED',\n reloadQueued: 'VOICE_TOOL_RELOAD_QUEUED',\n invalidRequest: 'VOICE_TOOL_INVALID_REQUEST',\n} as const;\nexport const VOICE_TOOL_HOST_UNAVAILABLE = VOICE_TOOL_ERROR_CODE.hostUnavailable;\nexport const VOICE_TOOL_INACTIVE = VOICE_TOOL_ERROR_CODE.inactive;\nexport const VOICE_TOOL_STALE_SESSION = VOICE_TOOL_ERROR_CODE.staleSession;\nexport const VOICE_TOOL_STALE_CATALOG = VOICE_TOOL_ERROR_CODE.staleCatalog;\nexport const VOICE_TOOL_NOT_FOUND = VOICE_TOOL_ERROR_CODE.notFound;\nexport const VOICE_TOOL_NAME_CONFLICT = VOICE_TOOL_ERROR_CODE.nameConflict;\nexport const VOICE_TOOL_INVALID_INPUT = VOICE_TOOL_ERROR_CODE.invalidInput;\nexport const VOICE_TOOL_INVALID_RESULT = VOICE_TOOL_ERROR_CODE.invalidResult;\nexport const VOICE_TOOL_TIMEOUT = VOICE_TOOL_ERROR_CODE.timeout;\nexport const VOICE_TOOL_ABORTED = VOICE_TOOL_ERROR_CODE.aborted;\nexport const VOICE_TOOL_EXECUTION_FAILED = VOICE_TOOL_ERROR_CODE.executionFailed;\nexport const VOICE_TOOL_BATCH_STOPPED = VOICE_TOOL_ERROR_CODE.batchStopped;\n\nexport const PO_VOICE_SOURCE = '@agimon-ai/po-voice';\nexport const PO_VOICE_AUTO_MODE_ID = 'voice-auto';\n"],"mappings":";AAAA,MAAa,yBAAyB;AACtC,MAAa,2BAA2B;AACxC,MAAa,sBAAsB;AACnC,MAAa,0BAA0B,CAAC,0BAA0B,mBAAmB;AACrF,MAAa,0BAA0B;AACvC,MAAa,wBAAwB,CAAC,GAAG,yBAAyB,uBAAuB;AACzF,MAAa,gCAAgC;AAC7C,MAAa,4BAA4B;AACzC,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAC1C,MAAa,8BAA8B;AAC3C,MAAa,4BAA4B;AACzC,MAAa,sCAAsC;AACnD,MAAa,mCAAmC;AAChD,MAAa,8BAA8B;AAC3C,MAAa,oCAAoC;AACjD,MAAa,sCAAsC;AACnD,MAAa,8BAA8B;AAC3C,MAAa,kBAAkB;AAC/B,MAAa,YAAY;AACzB,MAAa,YAAY;AACzB,MAAa,wBAAwB;CACnC,iBAAiB;CACjB,UAAU;CACV,cAAc;CACd,cAAc;CACd,UAAU;CACV,cAAc;CACd,cAAc;CACd,eAAe;CACf,iBAAiB;CACjB,SAAS;CACT,SAAS;CACT,WAAW;CACX,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,cAAc;CACd,gBAAgB;AAClB;AACA,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,sBAAsB,sBAAsB;AACzD,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,uBAAuB,sBAAsB;AAC1D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,2BAA2B,sBAAsB;AAC9D,MAAa,4BAA4B,sBAAsB;AAC/D,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,qBAAqB,sBAAsB;AACxD,MAAa,8BAA8B,sBAAsB;AACjE,MAAa,2BAA2B,sBAAsB;AAE9D,MAAa,kBAAkB;AAC/B,MAAa,wBAAwB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const require_index = require("../services/pluginLifecycle/index.cjs");
|
|
1
2
|
//#region src/extensions/extensionFile.ts
|
|
2
3
|
/**
|
|
3
4
|
* Identity helpers for folder-routed backend files, one per surface.
|
|
@@ -55,9 +56,24 @@ function defineServerTool(file) {
|
|
|
55
56
|
* it as `context.root`, so the package decomposes into a file per surface
|
|
56
57
|
* without either rebuilding the graph per file or reaching for a module-level
|
|
57
58
|
* singleton.
|
|
59
|
+
*
|
|
60
|
+
* `inject` names the contracts, from this package or another, that the level
|
|
61
|
+
* waits for before it builds this root and restarts with when they change.
|
|
58
62
|
*/
|
|
59
|
-
function defineRoot(file) {
|
|
60
|
-
return file;
|
|
63
|
+
function defineRoot(file, options) {
|
|
64
|
+
return options?.inject === void 0 ? file : Object.assign(file, { inject: options.inject });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The contracts each level waits for: every contract injected by the roots that level builds or
|
|
68
|
+
* reuses, once each. A level none of whose roots inject anything is left out.
|
|
69
|
+
*/
|
|
70
|
+
function composeRootInjects(levels) {
|
|
71
|
+
const injects = {};
|
|
72
|
+
for (const [level, roots] of Object.entries(levels)) {
|
|
73
|
+
const contracts = new Map(roots.flatMap((root) => root.inject ?? []).map((contract) => [contract.name, contract]));
|
|
74
|
+
if (contracts.size > 0) injects[level] = [...contracts.values()];
|
|
75
|
+
}
|
|
76
|
+
return injects;
|
|
61
77
|
}
|
|
62
78
|
/**
|
|
63
79
|
* Folds every root in a scope chain into one set of lifecycle hooks.
|
|
@@ -73,14 +89,14 @@ function composeRootHooks(...roots) {
|
|
|
73
89
|
for (const root of roots) await root.onStart?.(context);
|
|
74
90
|
},
|
|
75
91
|
async onStop(context) {
|
|
76
|
-
|
|
92
|
+
await require_index.runCleanups(reversed.map((root) => () => root.onStop?.(context)), "Root stop failed.");
|
|
77
93
|
},
|
|
78
94
|
async onDispose(context) {
|
|
79
|
-
|
|
95
|
+
await require_index.runCleanups(reversed.map((root) => () => root.onDispose?.(context)), "Root cleanup failed.");
|
|
80
96
|
}
|
|
81
97
|
};
|
|
82
98
|
}
|
|
83
|
-
/** `command/<name>.server.ts`. A native headless or portable
|
|
99
|
+
/** `command/<name>.server.ts`. A native headless or portable Po command. */
|
|
84
100
|
function defineServerCommand(file) {
|
|
85
101
|
return file;
|
|
86
102
|
}
|
|
@@ -120,6 +136,7 @@ function defineActivity(file) {
|
|
|
120
136
|
}
|
|
121
137
|
//#endregion
|
|
122
138
|
exports.composeRootHooks = composeRootHooks;
|
|
139
|
+
exports.composeRootInjects = composeRootInjects;
|
|
123
140
|
exports.defineActivity = defineActivity;
|
|
124
141
|
exports.defineChannel = defineChannel;
|
|
125
142
|
exports.defineCommand = defineCommand;
|