happy2 0.0.9 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/package.json +7 -3
- package/packages/happy2-server/PLUGINS.md +402 -0
- package/packages/happy2-server/README.md +39 -0
- package/packages/happy2-server/dist/daemon.d.ts +39 -0
- package/packages/happy2-server/dist/daemon.d.ts.map +1 -0
- package/packages/happy2-server/dist/daemon.js +302 -0
- package/packages/happy2-server/dist/daemon.js.map +1 -0
- package/packages/happy2-server/dist/daemon.test.d.ts +2 -0
- package/packages/happy2-server/dist/daemon.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/daemon.test.js +245 -0
- package/packages/happy2-server/dist/daemon.test.js.map +1 -0
- package/packages/happy2-server/dist/index.d.ts +7 -1
- package/packages/happy2-server/dist/index.d.ts.map +1 -1
- package/packages/happy2-server/dist/index.js +5 -1
- package/packages/happy2-server/dist/index.js.map +1 -1
- package/packages/happy2-server/dist/modules/agents/daemon.d.ts +10 -13
- package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/daemon.js +19 -5
- package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
- package/packages/happy2-server/dist/modules/agents/service.d.ts +9 -1
- package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/service.js +59 -2
- package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.d.ts +7 -0
- package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.js +33 -0
- package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/auth/tokens.test.js +28 -0
- package/packages/happy2-server/dist/modules/auth/tokens.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/types.d.ts +1 -1
- package/packages/happy2-server/dist/modules/chat/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/defaults.js +5 -0
- package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.js +9 -0
- package/packages/happy2-server/dist/modules/config/loader.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.test.js +15 -0
- package/packages/happy2-server/dist/modules/config/loader.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/paths.d.ts +1 -0
- package/packages/happy2-server/dist/modules/config/paths.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/paths.js +1 -0
- package/packages/happy2-server/dist/modules/config/paths.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/paths.test.js +1 -0
- package/packages/happy2-server/dist/modules/config/paths.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/type.d.ts +5 -0
- package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/integrations/transport.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/integrations/transport.js +8 -1
- package/packages/happy2-server/dist/modules/integrations/transport.js.map +1 -1
- package/packages/happy2-server/dist/modules/integrations/types.d.ts +2 -0
- package/packages/happy2-server/dist/modules/integrations/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/integrations/types.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/catalog.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.js +400 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.test.js +172 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/functions.test.js +123 -0
- package/packages/happy2-server/dist/modules/plugin/functions.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts +19 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.js +206 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +47 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +82 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js +12 -0
- package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts +288 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js +19 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +63 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js +17 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js +16 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts +339 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js +22 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/index.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/index.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/index.js +3 -0
- package/packages/happy2-server/dist/modules/plugin/index.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +15 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.js +90 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts +7 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js +9 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts +9 -0
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +64 -0
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts +10 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js +20 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts +12 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js +44 -0
- package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts +9 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js +15 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts +23 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js +54 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js +37 -0
- package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts +17 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js +29 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts +27 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +180 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts +9 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +122 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts +11 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js +18 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts +8 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js +19 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts +14 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js +20 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts +7 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js +13 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts +7 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js +16 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts +16 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js +38 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts +8 -0
- package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginList.js +17 -0
- package/packages/happy2-server/dist/modules/plugin/pluginList.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts +11 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js +43 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts +15 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js +37 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts +16 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js +71 -0
- package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts +14 -0
- package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js +51 -0
- package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.d.ts +56 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.js +147 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.d.ts +17 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.js +56 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.test.js +14 -0
- package/packages/happy2-server/dist/modules/plugin/secrets.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/service.d.ts +60 -0
- package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/service.js +584 -0
- package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/types.d.ts +194 -0
- package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/types.js +10 -0
- package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts +19 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js +97 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js +74 -0
- package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts +29 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js +126 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js +75 -0
- package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/sandbox/index.d.ts +1 -1
- package/packages/happy2-server/dist/modules/sandbox/index.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts +9 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js +218 -4
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js +157 -2
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/types.d.ts +24 -0
- package/packages/happy2-server/dist/modules/sandbox/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/schema.d.ts +7781 -5489
- package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/schema.js +87 -1
- package/packages/happy2-server/dist/modules/schema.js.map +1 -1
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
- package/packages/happy2-server/dist/routes/pluginHost.d.ts +6 -0
- package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -0
- package/packages/happy2-server/dist/routes/pluginHost.js +37 -0
- package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -0
- package/packages/happy2-server/dist/routes/plugins.d.ts +8 -0
- package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -0
- package/packages/happy2-server/dist/routes/plugins.js +198 -0
- package/packages/happy2-server/dist/routes/plugins.js.map +1 -0
- package/packages/happy2-server/dist/runner.js +64 -19
- package/packages/happy2-server/dist/runner.js.map +1 -1
- package/packages/happy2-server/dist/server.d.ts +8 -0
- package/packages/happy2-server/dist/server.d.ts.map +1 -1
- package/packages/happy2-server/dist/server.js +65 -3
- package/packages/happy2-server/dist/server.js.map +1 -1
- package/packages/happy2-server/dist/systemService.d.ts +48 -0
- package/packages/happy2-server/dist/systemService.d.ts.map +1 -0
- package/packages/happy2-server/dist/systemService.js +323 -0
- package/packages/happy2-server/dist/systemService.js.map +1 -0
- package/packages/happy2-server/dist/systemService.test.d.ts +2 -0
- package/packages/happy2-server/dist/systemService.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/systemService.test.js +280 -0
- package/packages/happy2-server/dist/systemService.test.js.map +1 -0
- package/packages/happy2-server/dist/web/assets/index-9SGCQLg7.js +46 -0
- package/packages/happy2-server/dist/web/assets/{index-DZ1uRLgV.css → index-DWXBQDJB.css} +1 -1
- package/packages/happy2-server/dist/web/index.html +2 -2
- package/packages/happy2-server/drizzle/0020_plugins.sql +61 -0
- package/packages/happy2-server/drizzle/0021_plugin_function_results.sql +11 -0
- package/packages/happy2-server/drizzle/0022_plugin_container_runtime_tools.sql +16 -0
- package/packages/happy2-server/drizzle/meta/_journal.json +21 -0
- package/packages/happy2-server/happy2.example.toml +13 -0
- package/packages/happy2-server/plugins/README.md +7 -0
- package/packages/happy2-server/plugins/hello/container/Dockerfile +6 -0
- package/packages/happy2-server/plugins/hello/plugin.json +16 -0
- package/packages/happy2-server/plugins/hello/plugin.png +0 -0
- package/packages/happy2-server/plugins/hello/server.mjs +75 -0
- package/packages/happy2-server/plugins/hello/skills/hello/SKILL.md +11 -0
- package/packages/happy2-server/dist/web/assets/index-DH1SOwNV.js +0 -46
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { RegisterSecretRequest, ResolveExternalToolCallResponse, SecretSummary } from "@slopus/rig/dist/protocol/index.js";
|
|
2
|
+
import type { ExternalToolCall, ExternalToolCallResolution, ExternalToolDefinition } from "@slopus/rig/dist/external-tools/index.js";
|
|
1
3
|
export interface RigDaemonConfig {
|
|
2
4
|
directory: string;
|
|
3
5
|
socketPath: string;
|
|
@@ -11,7 +13,7 @@ interface RigBlock {
|
|
|
11
13
|
interface RigMessage {
|
|
12
14
|
role: "agent" | "system" | "user";
|
|
13
15
|
id?: string;
|
|
14
|
-
blocks: RigBlock[];
|
|
16
|
+
blocks: readonly RigBlock[];
|
|
15
17
|
usage?: RigUsage;
|
|
16
18
|
}
|
|
17
19
|
interface RigUsage {
|
|
@@ -21,16 +23,8 @@ export interface RigEffortConfiguration {
|
|
|
21
23
|
effort: string;
|
|
22
24
|
options: string[];
|
|
23
25
|
}
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
environment: Record<string, string>;
|
|
27
|
-
id: string;
|
|
28
|
-
}
|
|
29
|
-
export interface RigSecretSummary {
|
|
30
|
-
description: string;
|
|
31
|
-
environmentVariables: string[];
|
|
32
|
-
id: string;
|
|
33
|
-
}
|
|
26
|
+
export type RigSecretRegistration = RegisterSecretRequest;
|
|
27
|
+
export type RigSecretSummary = SecretSummary;
|
|
34
28
|
export interface RigSessionSecretPlan {
|
|
35
29
|
desiredSecretIds: readonly string[];
|
|
36
30
|
managedSecretIds: readonly string[];
|
|
@@ -57,6 +51,7 @@ export interface RigEvent {
|
|
|
57
51
|
data: {
|
|
58
52
|
errorMessage?: string;
|
|
59
53
|
event?: RigAgentLoopEvent;
|
|
54
|
+
call?: ExternalToolCall;
|
|
60
55
|
message?: RigMessage;
|
|
61
56
|
runId?: string;
|
|
62
57
|
};
|
|
@@ -89,7 +84,8 @@ export declare class RigDaemonClient {
|
|
|
89
84
|
}>;
|
|
90
85
|
effortConfiguration(sessionId: string, signal?: AbortSignal): Promise<RigEffortConfiguration>;
|
|
91
86
|
changeEffort(sessionId: string, effort: string, signal?: AbortSignal): Promise<RigEffortConfiguration>;
|
|
92
|
-
|
|
87
|
+
ensureFunctionPermission(sessionId: string, signal?: AbortSignal): Promise<void>;
|
|
88
|
+
listSecrets(signal?: AbortSignal): Promise<readonly RigSecretSummary[]>;
|
|
93
89
|
registerSecret(secret: RigSecretRegistration, signal?: AbortSignal): Promise<RigSecretSummary>;
|
|
94
90
|
unregisterSecret(secretId: string, signal?: AbortSignal): Promise<boolean>;
|
|
95
91
|
reconcileSessionSecrets(sessionId: string, loadPlan: () => Promise<RigSessionSecretPlan>, signal?: AbortSignal): Promise<void>;
|
|
@@ -102,10 +98,11 @@ export declare class RigDaemonClient {
|
|
|
102
98
|
}>;
|
|
103
99
|
submittedTurnBaseline(sessionId: string, text: string, signal?: AbortSignal): Promise<number>;
|
|
104
100
|
inspectTurn(sessionId: string, baselineMessageCount: number, text: string, signal?: AbortSignal): Promise<RigTurnInspection>;
|
|
105
|
-
submitTurn(sessionId: string, text: string, signal?: AbortSignal): Promise<{
|
|
101
|
+
submitTurn(sessionId: string, text: string, externalTools: readonly ExternalToolDefinition[], signal?: AbortSignal): Promise<{
|
|
106
102
|
eventId: string;
|
|
107
103
|
runId: string;
|
|
108
104
|
}>;
|
|
105
|
+
resolveExternalToolCall(sessionId: string, callId: string, resolution: ExternalToolCallResolution, signal?: AbortSignal): Promise<ResolveExternalToolCallResponse>;
|
|
109
106
|
private session;
|
|
110
107
|
private connectedRequest;
|
|
111
108
|
private ensureReady;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,QAAQ;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,19 @@ export class RigDaemonClient {
|
|
|
13
13
|
const current = await this.connectedRequest("GET", "/config", undefined, signal);
|
|
14
14
|
if (current.config.settings.durableGlobalEventQueue)
|
|
15
15
|
return;
|
|
16
|
-
await this.connectedRequest("PATCH", "/config", {
|
|
16
|
+
await this.connectedRequest("PATCH", "/config", {
|
|
17
|
+
settings: { durableGlobalEventQueue: true },
|
|
18
|
+
}, signal);
|
|
17
19
|
}
|
|
18
20
|
async createSession(cwd, containerName, effort, signal) {
|
|
19
21
|
const response = await this.connectedRequest("POST", "/sessions", {
|
|
20
22
|
cwd,
|
|
21
23
|
docker: { container: containerName, workingDirectory: "/workspace" },
|
|
22
24
|
...(effort ? { effort } : {}),
|
|
23
|
-
|
|
25
|
+
// Rig's durable external functions intentionally require Full access. The
|
|
26
|
+
// agent remains bounded by Happy's dedicated OCI sandbox and cannot reach
|
|
27
|
+
// the plugin process directly; Happy owns and resolves every function call.
|
|
28
|
+
permissionMode: "full_access",
|
|
24
29
|
}, signal);
|
|
25
30
|
return { id: response.session.id, effort: sessionEffort(response.session).effort };
|
|
26
31
|
}
|
|
@@ -31,6 +36,12 @@ export class RigDaemonClient {
|
|
|
31
36
|
const response = await this.connectedRequest("PATCH", `/sessions/${encodeURIComponent(sessionId)}/effort`, { effort }, signal);
|
|
32
37
|
return sessionEffort(response.session);
|
|
33
38
|
}
|
|
39
|
+
async ensureFunctionPermission(sessionId, signal) {
|
|
40
|
+
const current = await this.session(sessionId, signal);
|
|
41
|
+
if (current.permissionMode === "full_access")
|
|
42
|
+
return;
|
|
43
|
+
await this.connectedRequest("PATCH", `/sessions/${encodeURIComponent(sessionId)}/permissions`, { permissionMode: "full_access" }, signal);
|
|
44
|
+
}
|
|
34
45
|
async listSecrets(signal) {
|
|
35
46
|
const response = await this.connectedRequest("GET", "/secrets", undefined, signal);
|
|
36
47
|
return response.secrets;
|
|
@@ -150,8 +161,11 @@ export class RigDaemonClient {
|
|
|
150
161
|
kind: "failed",
|
|
151
162
|
};
|
|
152
163
|
}
|
|
153
|
-
async submitTurn(sessionId, text, signal) {
|
|
154
|
-
return this.connectedRequest("POST", `/sessions/${encodeURIComponent(sessionId)}/messages`, { text }, signal);
|
|
164
|
+
async submitTurn(sessionId, text, externalTools, signal) {
|
|
165
|
+
return this.connectedRequest("POST", `/sessions/${encodeURIComponent(sessionId)}/messages`, { text, externalTools }, signal);
|
|
166
|
+
}
|
|
167
|
+
async resolveExternalToolCall(sessionId, callId, resolution, signal) {
|
|
168
|
+
return this.connectedRequest("POST", `/sessions/${encodeURIComponent(sessionId)}/external-tool-calls/${encodeURIComponent(callId)}`, resolution, signal);
|
|
155
169
|
}
|
|
156
170
|
session(sessionId, signal) {
|
|
157
171
|
return this.connectedRequest("GET", `/sessions/${encodeURIComponent(sessionId)}`, undefined, signal).then((response) => response.session);
|
|
@@ -203,7 +217,7 @@ export class RigDaemonClient {
|
|
|
203
217
|
async healthy() {
|
|
204
218
|
try {
|
|
205
219
|
const health = await this.request("GET", "/health");
|
|
206
|
-
return health.
|
|
220
|
+
return health.status === "ready";
|
|
207
221
|
}
|
|
208
222
|
catch {
|
|
209
223
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { type AgentSecretSummary, type MutationHint, type UserSummary } from "..
|
|
|
3
3
|
import { type PubSub } from "../realtime/index.js";
|
|
4
4
|
import { RigDaemonClient } from "./daemon.js";
|
|
5
5
|
import type { AgentSandboxRuntimeResolver } from "../sandbox/types.js";
|
|
6
|
+
import type { PluginFunctionDefinition, PluginFunctionResult } from "../plugin/types.js";
|
|
6
7
|
interface AgentSecretCreateInput {
|
|
7
8
|
actorUserId: string;
|
|
8
9
|
description: string;
|
|
@@ -19,12 +20,17 @@ interface AgentSecretAgentInput extends AgentSecretTargetInput {
|
|
|
19
20
|
interface AgentSecretChannelInput extends AgentSecretTargetInput {
|
|
20
21
|
channelId: string;
|
|
21
22
|
}
|
|
23
|
+
interface AgentPluginFunctions {
|
|
24
|
+
callFunction(functionName: string, args: unknown, signal?: AbortSignal): Promise<PluginFunctionResult>;
|
|
25
|
+
listFunctions(signal?: AbortSignal): Promise<readonly PluginFunctionDefinition[]>;
|
|
26
|
+
}
|
|
22
27
|
export declare class AgentService {
|
|
23
28
|
private readonly executor;
|
|
24
29
|
private readonly pubsub;
|
|
25
30
|
private readonly daemon;
|
|
26
31
|
private readonly sandboxRuntime;
|
|
27
32
|
private readonly defaultCwd;
|
|
33
|
+
private readonly pluginFunctions;
|
|
28
34
|
private readonly onError;
|
|
29
35
|
private readonly workerId;
|
|
30
36
|
private readonly bindingCreations;
|
|
@@ -42,7 +48,7 @@ export declare class AgentService {
|
|
|
42
48
|
private readonly shutdown;
|
|
43
49
|
private queueTask?;
|
|
44
50
|
private stopping;
|
|
45
|
-
constructor(executor: DrizzleExecutor, pubsub: PubSub, daemon: RigDaemonClient, sandboxRuntime: AgentSandboxRuntimeResolver, defaultCwd: string, onError?: (error: unknown) => void);
|
|
51
|
+
constructor(executor: DrizzleExecutor, pubsub: PubSub, daemon: RigDaemonClient, sandboxRuntime: AgentSandboxRuntimeResolver, defaultCwd: string, pluginFunctions: AgentPluginFunctions | undefined, onError?: (error: unknown) => void);
|
|
46
52
|
createAgent(input: {
|
|
47
53
|
actorUserId: string;
|
|
48
54
|
name: string;
|
|
@@ -184,6 +190,7 @@ export declare class AgentService {
|
|
|
184
190
|
private publishAgentHint;
|
|
185
191
|
private agentEffortConfiguration;
|
|
186
192
|
private reconcileAgentEfforts;
|
|
193
|
+
private reconcileFunctionPermissions;
|
|
187
194
|
private reconcileSessionEffort;
|
|
188
195
|
private requireAgentSecret;
|
|
189
196
|
private agentSecret;
|
|
@@ -191,6 +198,7 @@ export declare class AgentService {
|
|
|
191
198
|
private trackGlobalEvents;
|
|
192
199
|
private trimGlobalEventsIfDue;
|
|
193
200
|
private applyGlobalEvent;
|
|
201
|
+
private executePluginFunctionCall;
|
|
194
202
|
private startDrain;
|
|
195
203
|
private drainChat;
|
|
196
204
|
private ensureTurnSubmitted;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAOrD,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAEH,eAAe,EAIlB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAyB,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,9 +55,13 @@ import { CollaborationError, } from "../chat/types.js";
|
|
|
55
55
|
import { realtimeTopics } from "../realtime/index.js";
|
|
56
56
|
import { isRetryableRigError, RigDaemonClient, } from "./daemon.js";
|
|
57
57
|
import { BUILTIN_AGENT_IMAGES } from "./builtin-images.js";
|
|
58
|
+
import { pluginFunctionResultAcquire } from "../plugin/pluginFunctionResultAcquire.js";
|
|
59
|
+
import { pluginFunctionResultComplete } from "../plugin/pluginFunctionResultComplete.js";
|
|
58
60
|
import { setupBaseImageCompleteBuild, setupBaseImageFailBuild, setupBaseImageGetStatus, setupBaseImageRetryBuild, setupBaseImageSelect, } from "../setup/index.js";
|
|
59
61
|
const IGNORED_EVENT_CHECKPOINT_INTERVAL = 100;
|
|
60
62
|
const EVENT_RETRY_INTERVAL_MS = 100;
|
|
63
|
+
const PLUGIN_FUNCTION_LEASE_MS = 45_000;
|
|
64
|
+
const PLUGIN_FUNCTION_WAIT_INTERVAL_MS = 1_000;
|
|
61
65
|
const TYPING_TTL_MS = 30_000;
|
|
62
66
|
const TYPING_RENEW_INTERVAL_MS = 20_000;
|
|
63
67
|
const AGENT_ACTIVITY_TTL_MS = 10_000;
|
|
@@ -100,6 +104,7 @@ export class AgentService {
|
|
|
100
104
|
daemon;
|
|
101
105
|
sandboxRuntime;
|
|
102
106
|
defaultCwd;
|
|
107
|
+
pluginFunctions;
|
|
103
108
|
onError;
|
|
104
109
|
workerId = createId();
|
|
105
110
|
bindingCreations = new Map();
|
|
@@ -117,12 +122,13 @@ export class AgentService {
|
|
|
117
122
|
shutdown = new AbortController();
|
|
118
123
|
queueTask;
|
|
119
124
|
stopping = false;
|
|
120
|
-
constructor(executor, pubsub, daemon, sandboxRuntime, defaultCwd, onError = () => undefined) {
|
|
125
|
+
constructor(executor, pubsub, daemon, sandboxRuntime, defaultCwd, pluginFunctions, onError = () => undefined) {
|
|
121
126
|
this.executor = executor;
|
|
122
127
|
this.pubsub = pubsub;
|
|
123
128
|
this.daemon = daemon;
|
|
124
129
|
this.sandboxRuntime = sandboxRuntime;
|
|
125
130
|
this.defaultCwd = defaultCwd;
|
|
131
|
+
this.pluginFunctions = pluginFunctions;
|
|
126
132
|
this.onError = onError;
|
|
127
133
|
}
|
|
128
134
|
async createAgent(input) {
|
|
@@ -189,6 +195,7 @@ export class AgentService {
|
|
|
189
195
|
for (const imageId of await agentImageListRequestedBuildIds(this.executor))
|
|
190
196
|
this.queueImageBuild(imageId);
|
|
191
197
|
await this.daemon.ensureGlobalEventQueue(this.shutdown.signal);
|
|
198
|
+
await this.reconcileFunctionPermissions();
|
|
192
199
|
await this.reconcileAgentEfforts();
|
|
193
200
|
await this.reconcileSecretBindings();
|
|
194
201
|
this.queueTask = this.trackGlobalEvents().catch((error) => {
|
|
@@ -861,6 +868,12 @@ export class AgentService {
|
|
|
861
868
|
await Promise.all(agentBindings.map((binding) => this.reconcileSessionEffort(binding.sessionId, effort)));
|
|
862
869
|
}
|
|
863
870
|
}
|
|
871
|
+
async reconcileFunctionPermissions() {
|
|
872
|
+
const sessionIds = [
|
|
873
|
+
...new Set((await agentEffortBindingList(this.executor)).map(({ sessionId }) => sessionId)),
|
|
874
|
+
];
|
|
875
|
+
await Promise.all(sessionIds.map((sessionId) => this.daemon.ensureFunctionPermission(sessionId, this.shutdown.signal)));
|
|
876
|
+
}
|
|
864
877
|
async reconcileSessionEffort(sessionId, effort) {
|
|
865
878
|
const current = await this.daemon.effortConfiguration(sessionId, this.shutdown.signal);
|
|
866
879
|
if (current.effort === effort)
|
|
@@ -946,6 +959,12 @@ export class AgentService {
|
|
|
946
959
|
}
|
|
947
960
|
async applyGlobalEvent(entry) {
|
|
948
961
|
const event = entry.event;
|
|
962
|
+
if (event.type === "external_tool_call_requested" && event.data.call) {
|
|
963
|
+
const call = event.data.call;
|
|
964
|
+
const result = await this.executePluginFunctionCall(event.sessionId, call.id, call.definition.name, call.arguments);
|
|
965
|
+
await this.daemon.resolveExternalToolCall(event.sessionId, call.id, result, this.shutdown.signal);
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
949
968
|
const runId = event.data.runId;
|
|
950
969
|
if (event.type === "message_submitted" && runId) {
|
|
951
970
|
const text = messageText(event.data.message);
|
|
@@ -995,6 +1014,41 @@ export class AgentService {
|
|
|
995
1014
|
}
|
|
996
1015
|
throw new Error(`Rig run ${runId} finished before its session snapshot was complete.`);
|
|
997
1016
|
}
|
|
1017
|
+
async executePluginFunctionCall(sessionId, callId, functionName, args) {
|
|
1018
|
+
const leaseToken = createId();
|
|
1019
|
+
for (;;) {
|
|
1020
|
+
this.shutdown.signal.throwIfAborted();
|
|
1021
|
+
const now = Date.now();
|
|
1022
|
+
const claim = await pluginFunctionResultAcquire(this.executor, {
|
|
1023
|
+
callId,
|
|
1024
|
+
leaseExpiresAt: now + PLUGIN_FUNCTION_LEASE_MS,
|
|
1025
|
+
leaseToken,
|
|
1026
|
+
now,
|
|
1027
|
+
sessionId,
|
|
1028
|
+
});
|
|
1029
|
+
if (claim.kind === "replay")
|
|
1030
|
+
return claim.result;
|
|
1031
|
+
if (claim.kind === "in_progress") {
|
|
1032
|
+
await delay(Math.min(Math.max(claim.retryAt - now, EVENT_RETRY_INTERVAL_MS), PLUGIN_FUNCTION_WAIT_INTERVAL_MS), this.shutdown.signal);
|
|
1033
|
+
continue;
|
|
1034
|
+
}
|
|
1035
|
+
const result = this.pluginFunctions
|
|
1036
|
+
? await this.pluginFunctions.callFunction(functionName, args, this.shutdown.signal)
|
|
1037
|
+
: {
|
|
1038
|
+
status: "failed",
|
|
1039
|
+
error: {
|
|
1040
|
+
code: "plugin_functions_unavailable",
|
|
1041
|
+
message: "Plugin functions are unavailable on this server",
|
|
1042
|
+
},
|
|
1043
|
+
};
|
|
1044
|
+
return pluginFunctionResultComplete(this.executor, {
|
|
1045
|
+
callId,
|
|
1046
|
+
leaseToken,
|
|
1047
|
+
result,
|
|
1048
|
+
sessionId,
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
998
1052
|
startDrain(chatId) {
|
|
999
1053
|
if (this.stopping || this.drains.has(chatId))
|
|
1000
1054
|
return;
|
|
@@ -1092,10 +1146,11 @@ export class AgentService {
|
|
|
1092
1146
|
runId,
|
|
1093
1147
|
}),
|
|
1094
1148
|
};
|
|
1149
|
+
const externalTools = (await this.pluginFunctions?.listFunctions(this.shutdown.signal)) ?? [];
|
|
1095
1150
|
for (;;) {
|
|
1096
1151
|
let submitted;
|
|
1097
1152
|
try {
|
|
1098
|
-
submitted = await this.daemon.submitTurn(input.sessionId, input.text, this.shutdown.signal);
|
|
1153
|
+
submitted = await this.daemon.submitTurn(input.sessionId, input.text, externalTools, this.shutdown.signal);
|
|
1099
1154
|
}
|
|
1100
1155
|
catch (error) {
|
|
1101
1156
|
if (this.shutdown.signal.aborted)
|
|
@@ -1718,6 +1773,8 @@ class AgentImageBuildOutput {
|
|
|
1718
1773
|
}
|
|
1719
1774
|
}
|
|
1720
1775
|
function isRelevantRigEvent(event) {
|
|
1776
|
+
if (event.type === "external_tool_call_requested" && event.data.call)
|
|
1777
|
+
return true;
|
|
1721
1778
|
if (!event.data.runId)
|
|
1722
1779
|
return false;
|
|
1723
1780
|
return (event.type === "message_submitted" ||
|