@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":"index.mjs","names":[],"sources":["../../../../src/services/chatgptWebSearch/index.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/chatgptWebSearch/index.ts"],"sourcesContent":["import type { PoHeadlessExecutionContext } from '../../schemas/headless';\nimport { CHATGPT_SIGN_IN_HINT, chatgptCredentials, readBoundedJson } from '../chatgptAuth';\nimport type { ChatgptBackendDependencies } from '../chatgptImages/type';\n\nconst ENDPOINT = 'https://chatgpt.com/backend-api/codex/alpha/search';\nconst MAX_OUTPUT_TOKENS = 10_000; // Codex models.json tool truncation budget.\nconst MAX_COMMANDS_BYTES = 64 * 1024;\n// Fits the layer's ~20k-character excerpt even when every character needs a six-byte JSON escape.\nconst MAX_CONVERSATION_BYTES = 256 * 1024;\nconst MAX_CONVERSATION_ITEMS = 16;\nconst MAX_RESPONSE_BYTES = 4 * 1024 * 1024;\nconst MAX_RESULTS = 100;\nconst LOGIN_MESSAGE = `Web search needs a ChatGPT sign-in. ${CHATGPT_SIGN_IN_HINT}`;\nconst INVALID_RESPONSE = 'Web search returned an invalid response.';\nconst FAILED = 'Web search request failed.';\nconst ACCESS = { cached: false, indexed: 'indexed', live: true } as const;\n// ponytail: copy of Pi's defaultModelPerProvider['openai-codex'] (model-resolver.js), which Pi does not export.\n// Used when the chat model is not a ChatGPT model; goes stale when Pi's catalog moves.\nconst DEFAULT_MODEL = 'gpt-6.1-sol';\n\nexport type WebSearchRequest = Parameters<NonNullable<PoHeadlessExecutionContext['webSearch']>['search']>[0] & {\n sessionId: string;\n /** The active ChatGPT model id; omitted when the chat model belongs to another provider. */\n model?: string;\n};\n\nfunction record(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/** Detaches caller data into plain JSON so the wire body is exactly what was validated. */\nfunction boundedJson(value: unknown, limit: number, message: string): unknown {\n let json: string | undefined;\n try {\n json = JSON.stringify(value);\n } catch {\n throw new Error(message);\n }\n if (json === undefined || Buffer.byteLength(json) > limit) throw new Error(message);\n return JSON.parse(json) as unknown;\n}\n\nfunction conversationInput(conversation: unknown) {\n if (conversation === undefined) return undefined;\n const message = 'Invalid web search conversation.';\n if (!Array.isArray(conversation) || conversation.length > MAX_CONVERSATION_ITEMS) throw new Error(message);\n const items = boundedJson(conversation, MAX_CONVERSATION_BYTES, message) as unknown[];\n if (items.length === 0) return undefined;\n return items.map((item) => {\n if (\n !record(item) ||\n (item.role !== 'user' && item.role !== 'assistant') ||\n typeof item.text !== 'string' ||\n !item.text\n )\n throw new Error(message);\n return {\n type: 'message',\n role: item.role,\n content: [{ type: item.role === 'user' ? 'input_text' : 'output_text', text: item.text }],\n };\n });\n}\n\n/** Host-only transport: authentication never crosses the package boundary. */\nexport function createChatgptWebSearchClient(dependencies: ChatgptBackendDependencies) {\n return {\n async search(request: WebSearchRequest): Promise<{ output: string; results?: Record<string, unknown>[] }> {\n const { signal } = request;\n signal?.throwIfAborted();\n if (!record(request.commands) || Object.keys(request.commands).length === 0)\n throw new Error('Invalid web search commands.');\n const commands = boundedJson(request.commands, MAX_COMMANDS_BYTES, 'Invalid web search commands.');\n const input = conversationInput(request.conversation);\n if (!Object.hasOwn(ACCESS, request.access)) throw new Error('Invalid web search access mode.');\n const model = request.model ?? DEFAULT_MODEL;\n if (typeof model !== 'string' || !/^[A-Za-z0-9._:-]{1,128}$/.test(model))\n throw new Error('Invalid web search model.');\n if (typeof request.sessionId !== 'string' || !/^[\\x21-\\x7e]{1,256}$/.test(request.sessionId))\n throw new Error('Invalid web search session.');\n const { token, accountId } = await chatgptCredentials(dependencies, LOGIN_MESSAGE, signal);\n let response: Response;\n try {\n response = await (dependencies.fetch ?? globalThis.fetch)(ENDPOINT, {\n method: 'POST',\n redirect: 'error',\n signal,\n headers: {\n Authorization: `Bearer ${token}`,\n 'chatgpt-account-id': accountId,\n originator: 'po_web_search',\n 'User-Agent': '@agimon-ai/po-web-search',\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n },\n body: JSON.stringify({\n id: request.sessionId,\n model,\n ...(input ? { input } : {}),\n commands,\n settings: { allowed_callers: ['direct'], external_web_access: ACCESS[request.access] },\n max_output_tokens: MAX_OUTPUT_TOKENS,\n }),\n });\n } catch {\n signal?.throwIfAborted();\n throw new Error(FAILED);\n }\n if (!response.ok) {\n await response.body?.cancel().catch(() => undefined);\n if (response.status === 401) throw new Error(LOGIN_MESSAGE);\n if (response.status === 403) throw new Error('Web search is not available for this ChatGPT account.');\n if (response.status === 429) {\n const retry = response.headers.get('retry-after');\n throw new Error(\n `Web search quota reached.${retry && /^\\d{1,6}$/.test(retry) ? ` Try again in ${retry} seconds.` : ''}`,\n );\n }\n throw new Error(`Web search request failed (HTTP ${response.status}).`);\n }\n let body: unknown;\n try {\n body = await readBoundedJson(response, MAX_RESPONSE_BYTES, signal);\n } catch {\n signal?.throwIfAborted();\n throw new Error(INVALID_RESPONSE);\n }\n if (!record(body) || typeof body.output !== 'string') throw new Error(INVALID_RESPONSE);\n const output = body.output.trim() ? body.output : 'Web search returned no results.';\n // `results` is display-only, so a malformed list is dropped rather than failing the search.\n const results =\n Array.isArray(body.results) && body.results.length <= MAX_RESULTS && body.results.every(record)\n ? body.results\n : undefined;\n return results ? { output, results } : { output };\n },\n };\n}\n"],"mappings":";;AAIA,MAAM,WAAW;AACjB,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAE3B,MAAM,yBAAyB;AAC/B,MAAM,yBAAyB;AAC/B,MAAM,qBAAqB;AAC3B,MAAM,cAAc;AACpB,MAAM,gBAAgB,uCAAuC;AAC7D,MAAM,mBAAmB;AACzB,MAAM,SAAS;AACf,MAAM,SAAS;CAAE,QAAQ;CAAO,SAAS;CAAW,MAAM;AAAK;AAG/D,MAAM,gBAAgB;AAQtB,SAAS,OAAO,OAAkD;CAChE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAC5E;;AAGA,SAAS,YAAY,OAAgB,OAAe,SAA0B;CAC5E,IAAI;CACJ,IAAI;EACF,OAAO,KAAK,UAAU,KAAK;CAC7B,QAAQ;EACN,MAAM,IAAI,MAAM,OAAO;CACzB;CACA,IAAI,SAAS,KAAA,KAAa,OAAO,WAAW,IAAI,IAAI,OAAO,MAAM,IAAI,MAAM,OAAO;CAClF,OAAO,KAAK,MAAM,IAAI;AACxB;AAEA,SAAS,kBAAkB,cAAuB;CAChD,IAAI,iBAAiB,KAAA,GAAW,OAAO,KAAA;CACvC,MAAM,UAAU;CAChB,IAAI,CAAC,MAAM,QAAQ,YAAY,KAAK,aAAa,SAAS,wBAAwB,MAAM,IAAI,MAAM,OAAO;CACzG,MAAM,QAAQ,YAAY,cAAc,wBAAwB,OAAO;CACvE,IAAI,MAAM,WAAW,GAAG,OAAO,KAAA;CAC/B,OAAO,MAAM,KAAK,SAAS;EACzB,IACE,CAAC,OAAO,IAAI,KACX,KAAK,SAAS,UAAU,KAAK,SAAS,eACvC,OAAO,KAAK,SAAS,YACrB,CAAC,KAAK,MAEN,MAAM,IAAI,MAAM,OAAO;EACzB,OAAO;GACL,MAAM;GACN,MAAM,KAAK;GACX,SAAS,CAAC;IAAE,MAAM,KAAK,SAAS,SAAS,eAAe;IAAe,MAAM,KAAK;GAAK,CAAC;EAC1F;CACF,CAAC;AACH;;AAGA,SAAgB,6BAA6B,cAA0C;CACrF,OAAO,EACL,MAAM,OAAO,SAA6F;EACxG,MAAM,EAAE,WAAW;EACnB,QAAQ,eAAe;EACvB,IAAI,CAAC,OAAO,QAAQ,QAAQ,KAAK,OAAO,KAAK,QAAQ,QAAQ,CAAC,CAAC,WAAW,GACxE,MAAM,IAAI,MAAM,8BAA8B;EAChD,MAAM,WAAW,YAAY,QAAQ,UAAU,oBAAoB,8BAA8B;EACjG,MAAM,QAAQ,kBAAkB,QAAQ,YAAY;EACpD,IAAI,CAAC,OAAO,OAAO,QAAQ,QAAQ,MAAM,GAAG,MAAM,IAAI,MAAM,iCAAiC;EAC7F,MAAM,QAAQ,QAAQ,SAAS;EAC/B,IAAI,OAAO,UAAU,YAAY,CAAC,2BAA2B,KAAK,KAAK,GACrE,MAAM,IAAI,MAAM,2BAA2B;EAC7C,IAAI,OAAO,QAAQ,cAAc,YAAY,CAAC,uBAAuB,KAAK,QAAQ,SAAS,GACzF,MAAM,IAAI,MAAM,6BAA6B;EAC/C,MAAM,EAAE,OAAO,cAAc,MAAM,mBAAmB,cAAc,eAAe,MAAM;EACzF,IAAI;EACJ,IAAI;GACF,WAAW,OAAO,aAAa,SAAS,WAAW,MAAA,CAAO,UAAU;IAClE,QAAQ;IACR,UAAU;IACV;IACA,SAAS;KACP,eAAe,UAAU;KACzB,sBAAsB;KACtB,YAAY;KACZ,cAAc;KACd,gBAAgB;KAChB,QAAQ;IACV;IACA,MAAM,KAAK,UAAU;KACnB,IAAI,QAAQ;KACZ;KACA,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;KACzB;KACA,UAAU;MAAE,iBAAiB,CAAC,QAAQ;MAAG,qBAAqB,OAAO,QAAQ;KAAQ;KACrF,mBAAmB;IACrB,CAAC;GACH,CAAC;EACH,QAAQ;GACN,QAAQ,eAAe;GACvB,MAAM,IAAI,MAAM,MAAM;EACxB;EACA,IAAI,CAAC,SAAS,IAAI;GAChB,MAAM,SAAS,MAAM,OAAO,CAAC,CAAC,YAAY,KAAA,CAAS;GACnD,IAAI,SAAS,WAAW,KAAK,MAAM,IAAI,MAAM,aAAa;GAC1D,IAAI,SAAS,WAAW,KAAK,MAAM,IAAI,MAAM,uDAAuD;GACpG,IAAI,SAAS,WAAW,KAAK;IAC3B,MAAM,QAAQ,SAAS,QAAQ,IAAI,aAAa;IAChD,MAAM,IAAI,MACR,4BAA4B,SAAS,YAAY,KAAK,KAAK,IAAI,iBAAiB,MAAM,aAAa,IACrG;GACF;GACA,MAAM,IAAI,MAAM,mCAAmC,SAAS,OAAO,GAAG;EACxE;EACA,IAAI;EACJ,IAAI;GACF,OAAO,MAAM,gBAAgB,UAAU,oBAAoB,MAAM;EACnE,QAAQ;GACN,QAAQ,eAAe;GACvB,MAAM,IAAI,MAAM,gBAAgB;EAClC;EACA,IAAI,CAAC,OAAO,IAAI,KAAK,OAAO,KAAK,WAAW,UAAU,MAAM,IAAI,MAAM,gBAAgB;EACtF,MAAM,SAAS,KAAK,OAAO,KAAK,IAAI,KAAK,SAAS;EAElD,MAAM,UACJ,MAAM,QAAQ,KAAK,OAAO,KAAK,KAAK,QAAQ,UAAU,eAAe,KAAK,QAAQ,MAAM,MAAM,IAC1F,KAAK,UACL,KAAA;EACN,OAAO,UAAU;GAAE;GAAQ;EAAQ,IAAI,EAAE,OAAO;CAClD,EACF;AACF"}
|
|
@@ -5,14 +5,14 @@ function compareContributions(left, right) {
|
|
|
5
5
|
return left.order - right.order || sourceOrder || idOrder;
|
|
6
6
|
}
|
|
7
7
|
function assertNonEmpty(value, field) {
|
|
8
|
-
if (value.trim().length === 0) throw new Error(`
|
|
8
|
+
if (value.trim().length === 0) throw new Error(`Po context contribution ${field} must not be empty.`);
|
|
9
9
|
}
|
|
10
10
|
function contributionErrorMessage(error) {
|
|
11
11
|
return error instanceof Error ? error.message : String(error);
|
|
12
12
|
}
|
|
13
|
-
/** Creates the host-owned aggregation service for one
|
|
14
|
-
function
|
|
15
|
-
if (!generation) throw new Error("
|
|
13
|
+
/** Creates the host-owned aggregation service for one Po session generation. */
|
|
14
|
+
function createPoContextContributionsService(generation) {
|
|
15
|
+
if (!generation) throw new Error("Po context contributions require a session generation.");
|
|
16
16
|
const contributions = /* @__PURE__ */ new Map();
|
|
17
17
|
return Object.freeze({
|
|
18
18
|
generation,
|
|
@@ -20,10 +20,10 @@ function createDoomContextContributionsService(generation) {
|
|
|
20
20
|
assertNonEmpty(contribution.source, "source");
|
|
21
21
|
assertNonEmpty(contribution.id, "id");
|
|
22
22
|
assertNonEmpty(contribution.label, "label");
|
|
23
|
-
if (!Number.isFinite(contribution.order)) throw new Error("
|
|
24
|
-
if (typeof contribution.snapshot !== "function") throw new Error("
|
|
23
|
+
if (!Number.isFinite(contribution.order)) throw new Error("Po context contribution order must be a finite number.");
|
|
24
|
+
if (typeof contribution.snapshot !== "function") throw new Error("Po context contribution snapshot must be a function.");
|
|
25
25
|
const key = JSON.stringify([contribution.source, contribution.id]);
|
|
26
|
-
if (contributions.has(key)) throw new Error(`
|
|
26
|
+
if (contributions.has(key)) throw new Error(`Po context contribution is already registered: ${contribution.source}/${contribution.id}.`);
|
|
27
27
|
const stored = Object.freeze({
|
|
28
28
|
key,
|
|
29
29
|
source: contribution.source,
|
|
@@ -74,6 +74,6 @@ function createDoomContextContributionsService(generation) {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
//#endregion
|
|
77
|
-
exports.
|
|
77
|
+
exports.createPoContextContributionsService = createPoContextContributionsService;
|
|
78
78
|
|
|
79
79
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n PoContextContribution,\n PoContextContributionEntry,\n PoContextContributionError,\n PoContextContributionRegistration,\n PoContextContributionsService,\n PoContextContributionsSnapshot,\n} from '../../schemas/contextContributions';\n\ninterface StoredContribution extends PoContextContribution {\n readonly key: string;\n}\n\nfunction compareContributions(left: PoContextContribution, right: PoContextContribution): number {\n const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;\n const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;\n return left.order - right.order || sourceOrder || idOrder;\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Po context contribution ${field} must not be empty.`);\n}\n\nfunction contributionErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Creates the host-owned aggregation service for one Po session generation. */\nexport function createPoContextContributionsService(generation: string): PoContextContributionsService {\n if (!generation) throw new Error('Po context contributions require a session generation.');\n\n const contributions = new Map<string, StoredContribution>();\n return Object.freeze({\n generation,\n register(contribution: PoContextContribution): PoContextContributionRegistration {\n assertNonEmpty(contribution.source, 'source');\n assertNonEmpty(contribution.id, 'id');\n assertNonEmpty(contribution.label, 'label');\n if (!Number.isFinite(contribution.order)) {\n throw new Error('Po context contribution order must be a finite number.');\n }\n if (typeof contribution.snapshot !== 'function') {\n throw new Error('Po context contribution snapshot must be a function.');\n }\n\n const key = JSON.stringify([contribution.source, contribution.id]);\n if (contributions.has(key)) {\n throw new Error(`Po context contribution is already registered: ${contribution.source}/${contribution.id}.`);\n }\n const stored: StoredContribution = Object.freeze({\n key,\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n snapshot: () => contribution.snapshot(),\n });\n contributions.set(key, stored);\n\n let disposed = false;\n return Object.freeze({\n dispose(): void {\n if (disposed) return;\n disposed = true;\n if (contributions.get(key) === stored) contributions.delete(key);\n },\n });\n },\n snapshot(): PoContextContributionsSnapshot {\n const entries: PoContextContributionEntry[] = [];\n const errors: PoContextContributionError[] = [];\n const ordered = [...contributions.values()].sort(compareContributions);\n\n for (const contribution of ordered) {\n const identity = {\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n };\n try {\n const text = contribution.snapshot();\n if (text === undefined) continue;\n if (typeof text !== 'string') throw new Error('Snapshot returned a non-string value.');\n entries.push(Object.freeze({ ...identity, text }));\n } catch (error) {\n errors.push(Object.freeze({ ...identity, message: contributionErrorMessage(error) }));\n }\n }\n\n return Object.freeze({ entries: Object.freeze(entries), errors: Object.freeze(errors) });\n },\n });\n}\n"],"mappings":";AAaA,SAAS,qBAAqB,MAA6B,OAAsC;CAC/F,MAAM,cAAc,KAAK,SAAS,MAAM,SAAS,KAAK,KAAK,SAAS,MAAM,SAAS,IAAI;CACvF,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI;CACnE,OAAO,KAAK,QAAQ,MAAM,SAAS,eAAe;AACpD;AAEA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,2BAA2B,MAAM,oBAAoB;AACtG;AAEA,SAAS,yBAAyB,OAAwB;CACxD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC9D;;AAGA,SAAgB,oCAAoC,YAAmD;CACrG,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,wDAAwD;CAEzF,MAAM,gCAAgB,IAAI,IAAgC;CAC1D,OAAO,OAAO,OAAO;EACnB;EACA,SAAS,cAAwE;GAC/E,eAAe,aAAa,QAAQ,QAAQ;GAC5C,eAAe,aAAa,IAAI,IAAI;GACpC,eAAe,aAAa,OAAO,OAAO;GAC1C,IAAI,CAAC,OAAO,SAAS,aAAa,KAAK,GACrC,MAAM,IAAI,MAAM,wDAAwD;GAE1E,IAAI,OAAO,aAAa,aAAa,YACnC,MAAM,IAAI,MAAM,sDAAsD;GAGxE,MAAM,MAAM,KAAK,UAAU,CAAC,aAAa,QAAQ,aAAa,EAAE,CAAC;GACjE,IAAI,cAAc,IAAI,GAAG,GACvB,MAAM,IAAI,MAAM,kDAAkD,aAAa,OAAO,GAAG,aAAa,GAAG,EAAE;GAE7G,MAAM,SAA6B,OAAO,OAAO;IAC/C;IACA,QAAQ,aAAa;IACrB,IAAI,aAAa;IACjB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,gBAAgB,aAAa,SAAS;GACxC,CAAC;GACD,cAAc,IAAI,KAAK,MAAM;GAE7B,IAAI,WAAW;GACf,OAAO,OAAO,OAAO,EACnB,UAAgB;IACd,IAAI,UAAU;IACd,WAAW;IACX,IAAI,cAAc,IAAI,GAAG,MAAM,QAAQ,cAAc,OAAO,GAAG;GACjE,EACF,CAAC;EACH;EACA,WAA2C;GACzC,MAAM,UAAwC,CAAC;GAC/C,MAAM,SAAuC,CAAC;GAC9C,MAAM,UAAU,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC,CAAC,KAAK,oBAAoB;GAErE,KAAK,MAAM,gBAAgB,SAAS;IAClC,MAAM,WAAW;KACf,QAAQ,aAAa;KACrB,IAAI,aAAa;KACjB,OAAO,aAAa;KACpB,OAAO,aAAa;IACtB;IACA,IAAI;KACF,MAAM,OAAO,aAAa,SAAS;KACnC,IAAI,SAAS,KAAA,GAAW;KACxB,IAAI,OAAO,SAAS,UAAU,MAAM,IAAI,MAAM,uCAAuC;KACrF,QAAQ,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU;KAAK,CAAC,CAAC;IACnD,SAAS,OAAO;KACd,OAAO,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU,SAAS,yBAAyB,KAAK;KAAE,CAAC,CAAC;IACtF;GACF;GAEA,OAAO,OAAO,OAAO;IAAE,SAAS,OAAO,OAAO,OAAO;IAAG,QAAQ,OAAO,OAAO,MAAM;GAAE,CAAC;EACzF;CACF,CAAC;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PoContextContributionsService } from "../../schemas/contextContributions.mjs";
|
|
2
2
|
//#region src/services/contextContributions/index.d.ts
|
|
3
|
-
/** Creates the host-owned aggregation service for one
|
|
4
|
-
export declare function
|
|
3
|
+
/** Creates the host-owned aggregation service for one Po session generation. */
|
|
4
|
+
export declare function createPoContextContributionsService(generation: string): PoContextContributionsService;
|
|
5
5
|
//#endregion
|
|
6
6
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"mappings":";;;wBA4BgB,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"mappings":";;;wBA4BgB,oCAAoC,qBAAqB"}
|
|
@@ -5,14 +5,14 @@ function compareContributions(left, right) {
|
|
|
5
5
|
return left.order - right.order || sourceOrder || idOrder;
|
|
6
6
|
}
|
|
7
7
|
function assertNonEmpty(value, field) {
|
|
8
|
-
if (value.trim().length === 0) throw new Error(`
|
|
8
|
+
if (value.trim().length === 0) throw new Error(`Po context contribution ${field} must not be empty.`);
|
|
9
9
|
}
|
|
10
10
|
function contributionErrorMessage(error) {
|
|
11
11
|
return error instanceof Error ? error.message : String(error);
|
|
12
12
|
}
|
|
13
|
-
/** Creates the host-owned aggregation service for one
|
|
14
|
-
function
|
|
15
|
-
if (!generation) throw new Error("
|
|
13
|
+
/** Creates the host-owned aggregation service for one Po session generation. */
|
|
14
|
+
function createPoContextContributionsService(generation) {
|
|
15
|
+
if (!generation) throw new Error("Po context contributions require a session generation.");
|
|
16
16
|
const contributions = /* @__PURE__ */ new Map();
|
|
17
17
|
return Object.freeze({
|
|
18
18
|
generation,
|
|
@@ -20,10 +20,10 @@ function createDoomContextContributionsService(generation) {
|
|
|
20
20
|
assertNonEmpty(contribution.source, "source");
|
|
21
21
|
assertNonEmpty(contribution.id, "id");
|
|
22
22
|
assertNonEmpty(contribution.label, "label");
|
|
23
|
-
if (!Number.isFinite(contribution.order)) throw new Error("
|
|
24
|
-
if (typeof contribution.snapshot !== "function") throw new Error("
|
|
23
|
+
if (!Number.isFinite(contribution.order)) throw new Error("Po context contribution order must be a finite number.");
|
|
24
|
+
if (typeof contribution.snapshot !== "function") throw new Error("Po context contribution snapshot must be a function.");
|
|
25
25
|
const key = JSON.stringify([contribution.source, contribution.id]);
|
|
26
|
-
if (contributions.has(key)) throw new Error(`
|
|
26
|
+
if (contributions.has(key)) throw new Error(`Po context contribution is already registered: ${contribution.source}/${contribution.id}.`);
|
|
27
27
|
const stored = Object.freeze({
|
|
28
28
|
key,
|
|
29
29
|
source: contribution.source,
|
|
@@ -74,6 +74,6 @@ function createDoomContextContributionsService(generation) {
|
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
76
|
//#endregion
|
|
77
|
-
export {
|
|
77
|
+
export { createPoContextContributionsService };
|
|
78
78
|
|
|
79
79
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/contextContributions/index.ts"],"sourcesContent":["import type {\n PoContextContribution,\n PoContextContributionEntry,\n PoContextContributionError,\n PoContextContributionRegistration,\n PoContextContributionsService,\n PoContextContributionsSnapshot,\n} from '../../schemas/contextContributions';\n\ninterface StoredContribution extends PoContextContribution {\n readonly key: string;\n}\n\nfunction compareContributions(left: PoContextContribution, right: PoContextContribution): number {\n const sourceOrder = left.source < right.source ? -1 : left.source > right.source ? 1 : 0;\n const idOrder = left.id < right.id ? -1 : left.id > right.id ? 1 : 0;\n return left.order - right.order || sourceOrder || idOrder;\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (value.trim().length === 0) throw new Error(`Po context contribution ${field} must not be empty.`);\n}\n\nfunction contributionErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/** Creates the host-owned aggregation service for one Po session generation. */\nexport function createPoContextContributionsService(generation: string): PoContextContributionsService {\n if (!generation) throw new Error('Po context contributions require a session generation.');\n\n const contributions = new Map<string, StoredContribution>();\n return Object.freeze({\n generation,\n register(contribution: PoContextContribution): PoContextContributionRegistration {\n assertNonEmpty(contribution.source, 'source');\n assertNonEmpty(contribution.id, 'id');\n assertNonEmpty(contribution.label, 'label');\n if (!Number.isFinite(contribution.order)) {\n throw new Error('Po context contribution order must be a finite number.');\n }\n if (typeof contribution.snapshot !== 'function') {\n throw new Error('Po context contribution snapshot must be a function.');\n }\n\n const key = JSON.stringify([contribution.source, contribution.id]);\n if (contributions.has(key)) {\n throw new Error(`Po context contribution is already registered: ${contribution.source}/${contribution.id}.`);\n }\n const stored: StoredContribution = Object.freeze({\n key,\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n snapshot: () => contribution.snapshot(),\n });\n contributions.set(key, stored);\n\n let disposed = false;\n return Object.freeze({\n dispose(): void {\n if (disposed) return;\n disposed = true;\n if (contributions.get(key) === stored) contributions.delete(key);\n },\n });\n },\n snapshot(): PoContextContributionsSnapshot {\n const entries: PoContextContributionEntry[] = [];\n const errors: PoContextContributionError[] = [];\n const ordered = [...contributions.values()].sort(compareContributions);\n\n for (const contribution of ordered) {\n const identity = {\n source: contribution.source,\n id: contribution.id,\n label: contribution.label,\n order: contribution.order,\n };\n try {\n const text = contribution.snapshot();\n if (text === undefined) continue;\n if (typeof text !== 'string') throw new Error('Snapshot returned a non-string value.');\n entries.push(Object.freeze({ ...identity, text }));\n } catch (error) {\n errors.push(Object.freeze({ ...identity, message: contributionErrorMessage(error) }));\n }\n }\n\n return Object.freeze({ entries: Object.freeze(entries), errors: Object.freeze(errors) });\n },\n });\n}\n"],"mappings":";AAaA,SAAS,qBAAqB,MAA6B,OAAsC;CAC/F,MAAM,cAAc,KAAK,SAAS,MAAM,SAAS,KAAK,KAAK,SAAS,MAAM,SAAS,IAAI;CACvF,MAAM,UAAU,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,IAAI;CACnE,OAAO,KAAK,QAAQ,MAAM,SAAS,eAAe;AACpD;AAEA,SAAS,eAAe,OAAe,OAAqB;CAC1D,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,GAAG,MAAM,IAAI,MAAM,2BAA2B,MAAM,oBAAoB;AACtG;AAEA,SAAS,yBAAyB,OAAwB;CACxD,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAC9D;;AAGA,SAAgB,oCAAoC,YAAmD;CACrG,IAAI,CAAC,YAAY,MAAM,IAAI,MAAM,wDAAwD;CAEzF,MAAM,gCAAgB,IAAI,IAAgC;CAC1D,OAAO,OAAO,OAAO;EACnB;EACA,SAAS,cAAwE;GAC/E,eAAe,aAAa,QAAQ,QAAQ;GAC5C,eAAe,aAAa,IAAI,IAAI;GACpC,eAAe,aAAa,OAAO,OAAO;GAC1C,IAAI,CAAC,OAAO,SAAS,aAAa,KAAK,GACrC,MAAM,IAAI,MAAM,wDAAwD;GAE1E,IAAI,OAAO,aAAa,aAAa,YACnC,MAAM,IAAI,MAAM,sDAAsD;GAGxE,MAAM,MAAM,KAAK,UAAU,CAAC,aAAa,QAAQ,aAAa,EAAE,CAAC;GACjE,IAAI,cAAc,IAAI,GAAG,GACvB,MAAM,IAAI,MAAM,kDAAkD,aAAa,OAAO,GAAG,aAAa,GAAG,EAAE;GAE7G,MAAM,SAA6B,OAAO,OAAO;IAC/C;IACA,QAAQ,aAAa;IACrB,IAAI,aAAa;IACjB,OAAO,aAAa;IACpB,OAAO,aAAa;IACpB,gBAAgB,aAAa,SAAS;GACxC,CAAC;GACD,cAAc,IAAI,KAAK,MAAM;GAE7B,IAAI,WAAW;GACf,OAAO,OAAO,OAAO,EACnB,UAAgB;IACd,IAAI,UAAU;IACd,WAAW;IACX,IAAI,cAAc,IAAI,GAAG,MAAM,QAAQ,cAAc,OAAO,GAAG;GACjE,EACF,CAAC;EACH;EACA,WAA2C;GACzC,MAAM,UAAwC,CAAC;GAC/C,MAAM,SAAuC,CAAC;GAC9C,MAAM,UAAU,CAAC,GAAG,cAAc,OAAO,CAAC,CAAC,CAAC,KAAK,oBAAoB;GAErE,KAAK,MAAM,gBAAgB,SAAS;IAClC,MAAM,WAAW;KACf,QAAQ,aAAa;KACrB,IAAI,aAAa;KACjB,OAAO,aAAa;KACpB,OAAO,aAAa;IACtB;IACA,IAAI;KACF,MAAM,OAAO,aAAa,SAAS;KACnC,IAAI,SAAS,KAAA,GAAW;KACxB,IAAI,OAAO,SAAS,UAAU,MAAM,IAAI,MAAM,uCAAuC;KACrF,QAAQ,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU;KAAK,CAAC,CAAC;IACnD,SAAS,OAAO;KACd,OAAO,KAAK,OAAO,OAAO;MAAE,GAAG;MAAU,SAAS,yBAAyB,KAAK;KAAE,CAAC,CAAC;IACtF;GACF;GAEA,OAAO,OAAO,OAAO;IAAE,SAAS,OAAO,OAAO,OAAO;IAAG,QAAQ,OAAO,OAAO,MAAM;GAAE,CAAC;EACzF;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const require_index = require("../devProxyPolicy/index.cjs");
|
|
2
|
+
//#region src/services/devProxyStore/devProxyRecords.ts
|
|
3
|
+
/**
|
|
4
|
+
* Registered proxy targets on disk.
|
|
5
|
+
*
|
|
6
|
+
* Persisted, unlike a remote session, because a target is a name the developer
|
|
7
|
+
* typed into their own build configuration as `base: '/devproxy/<name>/'`.
|
|
8
|
+
* Losing it on restart would silently break that line, and the file holds no
|
|
9
|
+
* secret: a port number and a label the operator chose while sitting at the
|
|
10
|
+
* machine.
|
|
11
|
+
*/
|
|
12
|
+
const TARGETS_FILE = "dev-proxy.json";
|
|
13
|
+
/** Any bit set for group or other; a state file readable by another account is worth repairing. */
|
|
14
|
+
const LOOSE_MODE_MASK = 63;
|
|
15
|
+
/** Whether a file mode lets another account read the file. */
|
|
16
|
+
function isLooseMode(mode) {
|
|
17
|
+
return (mode & LOOSE_MODE_MASK) !== 0;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rebuilds one record, dropping anything the current policy would refuse.
|
|
21
|
+
*
|
|
22
|
+
* The file is revalidated on read rather than trusted, because a name that was
|
|
23
|
+
* legal when written is not necessarily legal now, and an edited file must not
|
|
24
|
+
* be able to introduce a target the API would have rejected.
|
|
25
|
+
*/
|
|
26
|
+
function parseTarget(value) {
|
|
27
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
28
|
+
const record = value;
|
|
29
|
+
const name = require_index.validateTargetName(record.name);
|
|
30
|
+
if (!name.ok) return void 0;
|
|
31
|
+
if (typeof record.port !== "number" || !Number.isSafeInteger(record.port)) return void 0;
|
|
32
|
+
const createdAt = typeof record.createdAt === "number" ? record.createdAt : 0;
|
|
33
|
+
return {
|
|
34
|
+
name: name.name,
|
|
35
|
+
port: record.port,
|
|
36
|
+
createdAt
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function parseDevProxyTargets(raw, targetsPath, notice) {
|
|
40
|
+
let parsed;
|
|
41
|
+
try {
|
|
42
|
+
parsed = JSON.parse(raw);
|
|
43
|
+
} catch {
|
|
44
|
+
notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(parsed)) return [];
|
|
48
|
+
return parsed.map(parseTarget).filter((target) => target !== void 0);
|
|
49
|
+
}
|
|
50
|
+
function serializeDevProxyTargets(targets) {
|
|
51
|
+
return `${JSON.stringify(targets, void 0, 2)}\n`;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.TARGETS_FILE = TARGETS_FILE;
|
|
55
|
+
exports.isLooseMode = isLooseMode;
|
|
56
|
+
exports.parseDevProxyTargets = parseDevProxyTargets;
|
|
57
|
+
exports.serializeDevProxyTargets = serializeDevProxyTargets;
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=devProxyRecords.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devProxyRecords.cjs","names":["validateTargetName"],"sources":["../../../../src/services/devProxyStore/devProxyRecords.ts"],"sourcesContent":["import type { DevProxyTarget } from '../../types/remote';\nimport { validateTargetName } from '../devProxyPolicy';\n\n/**\n * Registered proxy targets on disk.\n *\n * Persisted, unlike a remote session, because a target is a name the developer\n * typed into their own build configuration as `base: '/devproxy/<name>/'`.\n * Losing it on restart would silently break that line, and the file holds no\n * secret: a port number and a label the operator chose while sitting at the\n * machine.\n */\n\nexport const TARGETS_FILE = 'dev-proxy.json';\nexport const DIRECTORY_MODE = 0o700;\nexport const FILE_MODE = 0o600;\n/** Any bit set for group or other; a state file readable by another account is worth repairing. */\nconst LOOSE_MODE_MASK = 0o077;\n\n/** Whether a file mode lets another account read the file. */\nexport function isLooseMode(mode: number): boolean {\n return (mode & LOOSE_MODE_MASK) !== 0;\n}\n\nexport interface DevProxyStoreOptions {\n /** The same directory the remote-access store uses; defaults to ~/.po/web. */\n stateDir: string;\n onNotice?: (message: string) => void;\n}\n\nexport interface DevProxyStore {\n targets(): readonly DevProxyTarget[];\n find(name: string): DevProxyTarget | undefined;\n /** Replaces any target already holding this name, so re-registering a moved port is one call. */\n save(target: DevProxyTarget): void;\n remove(name: string): boolean;\n}\n\n/**\n * Rebuilds one record, dropping anything the current policy would refuse.\n *\n * The file is revalidated on read rather than trusted, because a name that was\n * legal when written is not necessarily legal now, and an edited file must not\n * be able to introduce a target the API would have rejected.\n */\nfunction parseTarget(value: unknown): DevProxyTarget | undefined {\n if (typeof value !== 'object' || value === null) return undefined;\n const record = value as Partial<DevProxyTarget>;\n const name = validateTargetName(record.name);\n if (!name.ok) return undefined;\n if (typeof record.port !== 'number' || !Number.isSafeInteger(record.port)) return undefined;\n const createdAt = typeof record.createdAt === 'number' ? record.createdAt : 0;\n return { name: name.name, port: record.port, createdAt };\n}\n\nexport function parseDevProxyTargets(\n raw: string,\n targetsPath: string,\n notice: (message: string) => void,\n): DevProxyTarget[] {\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);\n return [];\n }\n if (!Array.isArray(parsed)) return [];\n return parsed.map(parseTarget).filter((target): target is DevProxyTarget => target !== undefined);\n}\n\nexport function serializeDevProxyTargets(targets: readonly DevProxyTarget[]): string {\n return `${JSON.stringify(targets, undefined, 2)}\\n`;\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,eAAe;;AAI5B,MAAM,kBAAkB;;AAGxB,SAAgB,YAAY,MAAuB;CACjD,QAAQ,OAAO,qBAAqB;AACtC;;;;;;;;AAuBA,SAAS,YAAY,OAA4C;CAC/D,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO,KAAA;CACxD,MAAM,SAAS;CACf,MAAM,OAAOA,cAAAA,mBAAmB,OAAO,IAAI;CAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAA;CACrB,IAAI,OAAO,OAAO,SAAS,YAAY,CAAC,OAAO,cAAc,OAAO,IAAI,GAAG,OAAO,KAAA;CAClF,MAAM,YAAY,OAAO,OAAO,cAAc,WAAW,OAAO,YAAY;CAC5E,OAAO;EAAE,MAAM,KAAK;EAAM,MAAM,OAAO;EAAM;CAAU;AACzD;AAEA,SAAgB,qBACd,KACA,aACA,QACkB;CAClB,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,GAAG;CACzB,QAAQ;EACN,OAAO,wBAAwB,YAAY,oCAAoC;EAC/E,OAAO,CAAC;CACV;CACA,IAAI,CAAC,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;CACpC,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC,QAAQ,WAAqC,WAAW,KAAA,CAAS;AAClG;AAEA,SAAgB,yBAAyB,SAA4C;CACnF,OAAO,GAAG,KAAK,UAAU,SAAS,KAAA,GAAW,CAAC,EAAE;AAClD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { validateTargetName } from "../devProxyPolicy/index.mjs";
|
|
2
|
+
//#region src/services/devProxyStore/devProxyRecords.ts
|
|
3
|
+
/**
|
|
4
|
+
* Registered proxy targets on disk.
|
|
5
|
+
*
|
|
6
|
+
* Persisted, unlike a remote session, because a target is a name the developer
|
|
7
|
+
* typed into their own build configuration as `base: '/devproxy/<name>/'`.
|
|
8
|
+
* Losing it on restart would silently break that line, and the file holds no
|
|
9
|
+
* secret: a port number and a label the operator chose while sitting at the
|
|
10
|
+
* machine.
|
|
11
|
+
*/
|
|
12
|
+
const TARGETS_FILE = "dev-proxy.json";
|
|
13
|
+
/** Any bit set for group or other; a state file readable by another account is worth repairing. */
|
|
14
|
+
const LOOSE_MODE_MASK = 63;
|
|
15
|
+
/** Whether a file mode lets another account read the file. */
|
|
16
|
+
function isLooseMode(mode) {
|
|
17
|
+
return (mode & LOOSE_MODE_MASK) !== 0;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Rebuilds one record, dropping anything the current policy would refuse.
|
|
21
|
+
*
|
|
22
|
+
* The file is revalidated on read rather than trusted, because a name that was
|
|
23
|
+
* legal when written is not necessarily legal now, and an edited file must not
|
|
24
|
+
* be able to introduce a target the API would have rejected.
|
|
25
|
+
*/
|
|
26
|
+
function parseTarget(value) {
|
|
27
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
28
|
+
const record = value;
|
|
29
|
+
const name = validateTargetName(record.name);
|
|
30
|
+
if (!name.ok) return void 0;
|
|
31
|
+
if (typeof record.port !== "number" || !Number.isSafeInteger(record.port)) return void 0;
|
|
32
|
+
const createdAt = typeof record.createdAt === "number" ? record.createdAt : 0;
|
|
33
|
+
return {
|
|
34
|
+
name: name.name,
|
|
35
|
+
port: record.port,
|
|
36
|
+
createdAt
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function parseDevProxyTargets(raw, targetsPath, notice) {
|
|
40
|
+
let parsed;
|
|
41
|
+
try {
|
|
42
|
+
parsed = JSON.parse(raw);
|
|
43
|
+
} catch {
|
|
44
|
+
notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
if (!Array.isArray(parsed)) return [];
|
|
48
|
+
return parsed.map(parseTarget).filter((target) => target !== void 0);
|
|
49
|
+
}
|
|
50
|
+
function serializeDevProxyTargets(targets) {
|
|
51
|
+
return `${JSON.stringify(targets, void 0, 2)}\n`;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { TARGETS_FILE, isLooseMode, parseDevProxyTargets, serializeDevProxyTargets };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=devProxyRecords.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devProxyRecords.mjs","names":[],"sources":["../../../../src/services/devProxyStore/devProxyRecords.ts"],"sourcesContent":["import type { DevProxyTarget } from '../../types/remote';\nimport { validateTargetName } from '../devProxyPolicy';\n\n/**\n * Registered proxy targets on disk.\n *\n * Persisted, unlike a remote session, because a target is a name the developer\n * typed into their own build configuration as `base: '/devproxy/<name>/'`.\n * Losing it on restart would silently break that line, and the file holds no\n * secret: a port number and a label the operator chose while sitting at the\n * machine.\n */\n\nexport const TARGETS_FILE = 'dev-proxy.json';\nexport const DIRECTORY_MODE = 0o700;\nexport const FILE_MODE = 0o600;\n/** Any bit set for group or other; a state file readable by another account is worth repairing. */\nconst LOOSE_MODE_MASK = 0o077;\n\n/** Whether a file mode lets another account read the file. */\nexport function isLooseMode(mode: number): boolean {\n return (mode & LOOSE_MODE_MASK) !== 0;\n}\n\nexport interface DevProxyStoreOptions {\n /** The same directory the remote-access store uses; defaults to ~/.po/web. */\n stateDir: string;\n onNotice?: (message: string) => void;\n}\n\nexport interface DevProxyStore {\n targets(): readonly DevProxyTarget[];\n find(name: string): DevProxyTarget | undefined;\n /** Replaces any target already holding this name, so re-registering a moved port is one call. */\n save(target: DevProxyTarget): void;\n remove(name: string): boolean;\n}\n\n/**\n * Rebuilds one record, dropping anything the current policy would refuse.\n *\n * The file is revalidated on read rather than trusted, because a name that was\n * legal when written is not necessarily legal now, and an edited file must not\n * be able to introduce a target the API would have rejected.\n */\nfunction parseTarget(value: unknown): DevProxyTarget | undefined {\n if (typeof value !== 'object' || value === null) return undefined;\n const record = value as Partial<DevProxyTarget>;\n const name = validateTargetName(record.name);\n if (!name.ok) return undefined;\n if (typeof record.port !== 'number' || !Number.isSafeInteger(record.port)) return undefined;\n const createdAt = typeof record.createdAt === 'number' ? record.createdAt : 0;\n return { name: name.name, port: record.port, createdAt };\n}\n\nexport function parseDevProxyTargets(\n raw: string,\n targetsPath: string,\n notice: (message: string) => void,\n): DevProxyTarget[] {\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);\n return [];\n }\n if (!Array.isArray(parsed)) return [];\n return parsed.map(parseTarget).filter((target): target is DevProxyTarget => target !== undefined);\n}\n\nexport function serializeDevProxyTargets(targets: readonly DevProxyTarget[]): string {\n return `${JSON.stringify(targets, undefined, 2)}\\n`;\n}\n"],"mappings":";;;;;;;;;;;AAaA,MAAa,eAAe;;AAI5B,MAAM,kBAAkB;;AAGxB,SAAgB,YAAY,MAAuB;CACjD,QAAQ,OAAO,qBAAqB;AACtC;;;;;;;;AAuBA,SAAS,YAAY,OAA4C;CAC/D,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO,KAAA;CACxD,MAAM,SAAS;CACf,MAAM,OAAO,mBAAmB,OAAO,IAAI;CAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAA;CACrB,IAAI,OAAO,OAAO,SAAS,YAAY,CAAC,OAAO,cAAc,OAAO,IAAI,GAAG,OAAO,KAAA;CAClF,MAAM,YAAY,OAAO,OAAO,cAAc,WAAW,OAAO,YAAY;CAC5E,OAAO;EAAE,MAAM,KAAK;EAAM,MAAM,OAAO;EAAM;CAAU;AACzD;AAEA,SAAgB,qBACd,KACA,aACA,QACkB;CAClB,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,GAAG;CACzB,QAAQ;EACN,OAAO,wBAAwB,YAAY,oCAAoC;EAC/E,OAAO,CAAC;CACV;CACA,IAAI,CAAC,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;CACpC,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC,QAAQ,WAAqC,WAAW,KAAA,CAAS;AAClG;AAEA,SAAgB,yBAAyB,SAA4C;CACnF,OAAO,GAAG,KAAK,UAAU,SAAS,KAAA,GAAW,CAAC,EAAE;AAClD"}
|
|
@@ -1,107 +1,13 @@
|
|
|
1
1
|
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
require("../platformFiles/index.cjs");
|
|
3
|
+
const require_index$1 = require("../serialRunner/index.cjs");
|
|
4
|
+
require("./devProxyRecords.cjs");
|
|
5
|
+
const require_sync = require("./sync.cjs");
|
|
5
6
|
let node_path = require("node:path");
|
|
6
7
|
node_path = require_runtime.__toESM(node_path, 1);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* Registered proxy targets on disk.
|
|
10
|
-
*
|
|
11
|
-
* Persisted, unlike a remote session, because a target is a name the developer
|
|
12
|
-
* typed into their own build configuration as `base: '/devproxy/<name>/'`.
|
|
13
|
-
* Losing it on restart would silently break that line, and the file holds no
|
|
14
|
-
* secret: a port number and a label the operator chose while sitting at the
|
|
15
|
-
* machine.
|
|
16
|
-
*/
|
|
17
|
-
const TARGETS_FILE = "dev-proxy.json";
|
|
18
|
-
const DIRECTORY_MODE = 448;
|
|
19
|
-
const FILE_MODE = 384;
|
|
20
|
-
/** Any bit set for group or other; a state file readable by another account is worth repairing. */
|
|
21
|
-
const LOOSE_MODE_MASK = 63;
|
|
22
|
-
/** Repairs a state file another account can read. */
|
|
23
|
-
function tightenMode(filePath, notice) {
|
|
24
|
-
try {
|
|
25
|
-
if ((node_fs.default.statSync(filePath).mode & LOOSE_MODE_MASK) === 0) return;
|
|
26
|
-
node_fs.default.chmodSync(filePath, FILE_MODE);
|
|
27
|
-
notice(`tightened permissions on ${filePath}`);
|
|
28
|
-
} catch {}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Rebuilds one record, dropping anything the current policy would refuse.
|
|
32
|
-
*
|
|
33
|
-
* The file is revalidated on read rather than trusted, because a name that was
|
|
34
|
-
* legal when written is not necessarily legal now, and an edited file must not
|
|
35
|
-
* be able to introduce a target the API would have rejected.
|
|
36
|
-
*/
|
|
37
|
-
function parseTarget(value) {
|
|
38
|
-
if (typeof value !== "object" || value === null) return void 0;
|
|
39
|
-
const record = value;
|
|
40
|
-
const name = require_index.validateTargetName(record.name);
|
|
41
|
-
if (!name.ok) return void 0;
|
|
42
|
-
if (typeof record.port !== "number" || !Number.isSafeInteger(record.port)) return void 0;
|
|
43
|
-
const createdAt = typeof record.createdAt === "number" ? record.createdAt : 0;
|
|
44
|
-
return {
|
|
45
|
-
name: name.name,
|
|
46
|
-
port: record.port,
|
|
47
|
-
createdAt
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function createDevProxyStore(options) {
|
|
51
|
-
const notice = options.onNotice ?? (() => {});
|
|
52
|
-
const targetsPath = node_path.default.join(options.stateDir, TARGETS_FILE);
|
|
53
|
-
let held = load();
|
|
54
|
-
function load() {
|
|
55
|
-
let raw;
|
|
56
|
-
try {
|
|
57
|
-
raw = node_fs.default.readFileSync(targetsPath, "utf8");
|
|
58
|
-
} catch {
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
tightenMode(targetsPath, notice);
|
|
62
|
-
let parsed;
|
|
63
|
-
try {
|
|
64
|
-
parsed = JSON.parse(raw);
|
|
65
|
-
} catch {
|
|
66
|
-
notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);
|
|
67
|
-
return [];
|
|
68
|
-
}
|
|
69
|
-
if (!Array.isArray(parsed)) return [];
|
|
70
|
-
return parsed.map(parseTarget).filter((target) => target !== void 0);
|
|
71
|
-
}
|
|
72
|
-
function write() {
|
|
73
|
-
const temporary = `${targetsPath}.${String(process.pid)}.tmp`;
|
|
74
|
-
try {
|
|
75
|
-
node_fs.default.mkdirSync(options.stateDir, {
|
|
76
|
-
recursive: true,
|
|
77
|
-
mode: DIRECTORY_MODE
|
|
78
|
-
});
|
|
79
|
-
node_fs.default.writeFileSync(temporary, `${JSON.stringify(held, void 0, 2)}\n`, { mode: FILE_MODE });
|
|
80
|
-
node_fs.default.renameSync(temporary, targetsPath);
|
|
81
|
-
} catch (error) {
|
|
82
|
-
notice(`${targetsPath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
|
|
83
|
-
try {
|
|
84
|
-
node_fs.default.rmSync(temporary, { force: true });
|
|
85
|
-
} catch {}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
targets: () => held,
|
|
90
|
-
find: (name) => held.find((target) => target.name === name),
|
|
91
|
-
save(target) {
|
|
92
|
-
held = [...held.filter((existing) => existing.name !== target.name), target];
|
|
93
|
-
write();
|
|
94
|
-
},
|
|
95
|
-
remove(name) {
|
|
96
|
-
const next = held.filter((existing) => existing.name !== name);
|
|
97
|
-
if (next.length === held.length) return false;
|
|
98
|
-
held = next;
|
|
99
|
-
write();
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
8
|
+
require("@earendil-works/pi-durable/env");
|
|
9
|
+
require_index$1.createSerialRunner();
|
|
104
10
|
//#endregion
|
|
105
|
-
exports.createDevProxyStore = createDevProxyStore;
|
|
11
|
+
exports.createDevProxyStore = require_sync.createDevProxyStore;
|
|
106
12
|
|
|
107
13
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["createSerialRunner"],"sources":["../../../../src/services/devProxyStore/index.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { Context } from '@earendil-works/chord';\nimport { getOrThrow, type FileSystem } from '@earendil-works/pi-durable/env';\n\nimport type { DevProxyTarget } from '../../types/remote';\nimport { nodeHost } from '../nodeHost';\nimport { writeFileAtomic } from '../platformFiles';\nimport { createSerialRunner } from '../serialRunner';\nimport {\n DIRECTORY_MODE,\n FILE_MODE,\n isLooseMode,\n parseDevProxyTargets,\n serializeDevProxyTargets,\n TARGETS_FILE,\n type DevProxyStoreOptions,\n} from './devProxyRecords';\n\nexport type { DevProxyStore, DevProxyStoreOptions } from './devProxyRecords';\nexport { createDevProxyStore } from './sync';\n\n/** One queue per targets file, so concurrent writes in this process never interleave. */\nconst targetWrites = createSerialRunner();\n\n/** The async twin of `DevProxyStore`: reads stay in memory, every write resolves once it is on disk. */\nexport interface DevProxyStoreAsync {\n targets(): readonly DevProxyTarget[];\n find(name: string): DevProxyTarget | undefined;\n /** Replaces any target already holding this name, so re-registering a moved port is one call. */\n save(target: DevProxyTarget): Promise<void>;\n remove(name: string): Promise<boolean>;\n}\n\n/** Registered proxy targets on disk; a failed write is reported and never thrown, as in the sync store. */\nexport async function createDevProxyStoreAsync(\n fs: FileSystem,\n options: DevProxyStoreOptions,\n context: Context,\n): Promise<DevProxyStoreAsync> {\n const notice = options.onNotice ?? ((): void => {});\n const targetsPath = path.join(options.stateDir, TARGETS_FILE);\n const serial = targetWrites.forKey(targetsPath);\n\n const load = async (): Promise<DevProxyTarget[]> => {\n const raw = await fs.readTextFile(targetsPath, context);\n // No file is the normal first run, so this is not worth a notice.\n if (!raw.ok) return [];\n // Repairs a state file another account can read.\n try {\n const mode = await nodeHost.fileMode(targetsPath);\n if (mode !== undefined && isLooseMode(mode)) {\n await nodeHost.setMode(targetsPath, FILE_MODE);\n notice(`tightened permissions on ${targetsPath}`);\n }\n } catch {\n // The file vanished or is unreadable between the read and the check; the read above already won.\n }\n return parseDevProxyTargets(raw.value, targetsPath, notice);\n };\n\n let held = await load();\n\n const write = async (): Promise<void> => {\n try {\n if (!getOrThrow(await fs.exists(options.stateDir, context))) {\n getOrThrow(await fs.createDir(options.stateDir, { recursive: true }, context));\n await nodeHost.setMode(options.stateDir, DIRECTORY_MODE);\n }\n await writeFileAtomic(fs, targetsPath, serializeDevProxyTargets(held), context);\n await nodeHost.setMode(targetsPath, FILE_MODE);\n } catch (error) {\n notice(`${targetsPath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);\n }\n };\n\n return {\n targets: () => held,\n find: (name) => held.find((target) => target.name === name),\n save: (target) =>\n serial(async () => {\n held = [...held.filter((existing) => existing.name !== target.name), target];\n await write();\n }),\n remove: (name) =>\n serial(async () => {\n const next = held.filter((existing) => existing.name !== name);\n if (next.length === held.length) return false;\n held = next;\n await write();\n return true;\n }),\n };\n}\n"],"mappings":";;;;;;;;AAuBqBA,gBAAAA,mBAAmB"}
|
|
@@ -1,104 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
//#region src/services/devProxyStore/index.ts
|
|
5
|
-
/**
|
|
6
|
-
* Registered proxy targets on disk.
|
|
7
|
-
*
|
|
8
|
-
* Persisted, unlike a remote session, because a target is a name the developer
|
|
9
|
-
* typed into their own build configuration as `base: '/devproxy/<name>/'`.
|
|
10
|
-
* Losing it on restart would silently break that line, and the file holds no
|
|
11
|
-
* secret: a port number and a label the operator chose while sitting at the
|
|
12
|
-
* machine.
|
|
13
|
-
*/
|
|
14
|
-
const TARGETS_FILE = "dev-proxy.json";
|
|
15
|
-
const DIRECTORY_MODE = 448;
|
|
16
|
-
const FILE_MODE = 384;
|
|
17
|
-
/** Any bit set for group or other; a state file readable by another account is worth repairing. */
|
|
18
|
-
const LOOSE_MODE_MASK = 63;
|
|
19
|
-
/** Repairs a state file another account can read. */
|
|
20
|
-
function tightenMode(filePath, notice) {
|
|
21
|
-
try {
|
|
22
|
-
if ((fs.statSync(filePath).mode & LOOSE_MODE_MASK) === 0) return;
|
|
23
|
-
fs.chmodSync(filePath, FILE_MODE);
|
|
24
|
-
notice(`tightened permissions on ${filePath}`);
|
|
25
|
-
} catch {}
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Rebuilds one record, dropping anything the current policy would refuse.
|
|
29
|
-
*
|
|
30
|
-
* The file is revalidated on read rather than trusted, because a name that was
|
|
31
|
-
* legal when written is not necessarily legal now, and an edited file must not
|
|
32
|
-
* be able to introduce a target the API would have rejected.
|
|
33
|
-
*/
|
|
34
|
-
function parseTarget(value) {
|
|
35
|
-
if (typeof value !== "object" || value === null) return void 0;
|
|
36
|
-
const record = value;
|
|
37
|
-
const name = validateTargetName(record.name);
|
|
38
|
-
if (!name.ok) return void 0;
|
|
39
|
-
if (typeof record.port !== "number" || !Number.isSafeInteger(record.port)) return void 0;
|
|
40
|
-
const createdAt = typeof record.createdAt === "number" ? record.createdAt : 0;
|
|
41
|
-
return {
|
|
42
|
-
name: name.name,
|
|
43
|
-
port: record.port,
|
|
44
|
-
createdAt
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function createDevProxyStore(options) {
|
|
48
|
-
const notice = options.onNotice ?? (() => {});
|
|
49
|
-
const targetsPath = path.join(options.stateDir, TARGETS_FILE);
|
|
50
|
-
let held = load();
|
|
51
|
-
function load() {
|
|
52
|
-
let raw;
|
|
53
|
-
try {
|
|
54
|
-
raw = fs.readFileSync(targetsPath, "utf8");
|
|
55
|
-
} catch {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
58
|
-
tightenMode(targetsPath, notice);
|
|
59
|
-
let parsed;
|
|
60
|
-
try {
|
|
61
|
-
parsed = JSON.parse(raw);
|
|
62
|
-
} catch {
|
|
63
|
-
notice(`dev proxy targets at ${targetsPath} are not valid JSON; none will load`);
|
|
64
|
-
return [];
|
|
65
|
-
}
|
|
66
|
-
if (!Array.isArray(parsed)) return [];
|
|
67
|
-
return parsed.map(parseTarget).filter((target) => target !== void 0);
|
|
68
|
-
}
|
|
69
|
-
function write() {
|
|
70
|
-
const temporary = `${targetsPath}.${String(process.pid)}.tmp`;
|
|
71
|
-
try {
|
|
72
|
-
fs.mkdirSync(options.stateDir, {
|
|
73
|
-
recursive: true,
|
|
74
|
-
mode: DIRECTORY_MODE
|
|
75
|
-
});
|
|
76
|
-
fs.writeFileSync(temporary, `${JSON.stringify(held, void 0, 2)}\n`, { mode: FILE_MODE });
|
|
77
|
-
fs.renameSync(temporary, targetsPath);
|
|
78
|
-
} catch (error) {
|
|
79
|
-
notice(`${targetsPath} could not be saved: ${error instanceof Error ? error.message : String(error)}`);
|
|
80
|
-
try {
|
|
81
|
-
fs.rmSync(temporary, { force: true });
|
|
82
|
-
} catch {}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
targets: () => held,
|
|
87
|
-
find: (name) => held.find((target) => target.name === name),
|
|
88
|
-
save(target) {
|
|
89
|
-
held = [...held.filter((existing) => existing.name !== target.name), target];
|
|
90
|
-
write();
|
|
91
|
-
},
|
|
92
|
-
remove(name) {
|
|
93
|
-
const next = held.filter((existing) => existing.name !== name);
|
|
94
|
-
if (next.length === held.length) return false;
|
|
95
|
-
held = next;
|
|
96
|
-
write();
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
}
|
|
1
|
+
import "../platformFiles/index.mjs";
|
|
2
|
+
import { createSerialRunner } from "../serialRunner/index.mjs";
|
|
3
|
+
import "./devProxyRecords.mjs";
|
|
101
4
|
//#endregion
|
|
102
|
-
export { createDevProxyStore };
|
|
5
|
+
export { createDevProxyStore } from "./sync.mjs";
|
|
6
|
+
import "node:path";
|
|
7
|
+
import "@earendil-works/pi-durable/env";
|
|
8
|
+
createSerialRunner();
|
|
103
9
|
|
|
104
10
|
//# sourceMappingURL=index.mjs.map
|