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.
Files changed (286) hide show
  1. package/README.md +29 -0
  2. package/package.json +7 -3
  3. package/packages/happy2-server/PLUGINS.md +402 -0
  4. package/packages/happy2-server/README.md +39 -0
  5. package/packages/happy2-server/dist/daemon.d.ts +39 -0
  6. package/packages/happy2-server/dist/daemon.d.ts.map +1 -0
  7. package/packages/happy2-server/dist/daemon.js +302 -0
  8. package/packages/happy2-server/dist/daemon.js.map +1 -0
  9. package/packages/happy2-server/dist/daemon.test.d.ts +2 -0
  10. package/packages/happy2-server/dist/daemon.test.d.ts.map +1 -0
  11. package/packages/happy2-server/dist/daemon.test.js +245 -0
  12. package/packages/happy2-server/dist/daemon.test.js.map +1 -0
  13. package/packages/happy2-server/dist/index.d.ts +7 -1
  14. package/packages/happy2-server/dist/index.d.ts.map +1 -1
  15. package/packages/happy2-server/dist/index.js +5 -1
  16. package/packages/happy2-server/dist/index.js.map +1 -1
  17. package/packages/happy2-server/dist/modules/agents/daemon.d.ts +10 -13
  18. package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
  19. package/packages/happy2-server/dist/modules/agents/daemon.js +19 -5
  20. package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
  21. package/packages/happy2-server/dist/modules/agents/service.d.ts +9 -1
  22. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  23. package/packages/happy2-server/dist/modules/agents/service.js +59 -2
  24. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  25. package/packages/happy2-server/dist/modules/auth/tokens.d.ts +7 -0
  26. package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
  27. package/packages/happy2-server/dist/modules/auth/tokens.js +33 -0
  28. package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
  29. package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts +2 -0
  30. package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts.map +1 -0
  31. package/packages/happy2-server/dist/modules/auth/tokens.test.js +28 -0
  32. package/packages/happy2-server/dist/modules/auth/tokens.test.js.map +1 -0
  33. package/packages/happy2-server/dist/modules/chat/types.d.ts +1 -1
  34. package/packages/happy2-server/dist/modules/chat/types.d.ts.map +1 -1
  35. package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -1
  36. package/packages/happy2-server/dist/modules/config/defaults.js +5 -0
  37. package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -1
  38. package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -1
  39. package/packages/happy2-server/dist/modules/config/loader.js +9 -0
  40. package/packages/happy2-server/dist/modules/config/loader.js.map +1 -1
  41. package/packages/happy2-server/dist/modules/config/loader.test.js +15 -0
  42. package/packages/happy2-server/dist/modules/config/loader.test.js.map +1 -1
  43. package/packages/happy2-server/dist/modules/config/paths.d.ts +1 -0
  44. package/packages/happy2-server/dist/modules/config/paths.d.ts.map +1 -1
  45. package/packages/happy2-server/dist/modules/config/paths.js +1 -0
  46. package/packages/happy2-server/dist/modules/config/paths.js.map +1 -1
  47. package/packages/happy2-server/dist/modules/config/paths.test.js +1 -0
  48. package/packages/happy2-server/dist/modules/config/paths.test.js.map +1 -1
  49. package/packages/happy2-server/dist/modules/config/type.d.ts +5 -0
  50. package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -1
  51. package/packages/happy2-server/dist/modules/integrations/transport.d.ts.map +1 -1
  52. package/packages/happy2-server/dist/modules/integrations/transport.js +8 -1
  53. package/packages/happy2-server/dist/modules/integrations/transport.js.map +1 -1
  54. package/packages/happy2-server/dist/modules/integrations/types.d.ts +2 -0
  55. package/packages/happy2-server/dist/modules/integrations/types.d.ts.map +1 -1
  56. package/packages/happy2-server/dist/modules/integrations/types.js.map +1 -1
  57. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts +13 -0
  58. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -0
  59. package/packages/happy2-server/dist/modules/plugin/catalog.js +400 -0
  60. package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -0
  61. package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts +2 -0
  62. package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts.map +1 -0
  63. package/packages/happy2-server/dist/modules/plugin/catalog.test.js +172 -0
  64. package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -0
  65. package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts +2 -0
  66. package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts.map +1 -0
  67. package/packages/happy2-server/dist/modules/plugin/functions.test.js +123 -0
  68. package/packages/happy2-server/dist/modules/plugin/functions.test.js.map +1 -0
  69. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts +19 -0
  70. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts.map +1 -0
  71. package/packages/happy2-server/dist/modules/plugin/httpBridge.js +206 -0
  72. package/packages/happy2-server/dist/modules/plugin/httpBridge.js.map +1 -0
  73. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts +3 -0
  74. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -0
  75. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +47 -0
  76. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -0
  77. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts +3 -0
  78. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -0
  79. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +82 -0
  80. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -0
  81. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts +3 -0
  82. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts.map +1 -0
  83. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js +12 -0
  84. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js.map +1 -0
  85. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts +288 -0
  86. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts.map +1 -0
  87. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js +19 -0
  88. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js.map +1 -0
  89. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts +3 -0
  90. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -0
  91. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +63 -0
  92. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -0
  93. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts +2 -0
  94. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts.map +1 -0
  95. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js +17 -0
  96. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js.map +1 -0
  97. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts +3 -0
  98. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts.map +1 -0
  99. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js +16 -0
  100. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js.map +1 -0
  101. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts +339 -0
  102. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts.map +1 -0
  103. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js +22 -0
  104. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js.map +1 -0
  105. package/packages/happy2-server/dist/modules/plugin/index.d.ts +3 -0
  106. package/packages/happy2-server/dist/modules/plugin/index.d.ts.map +1 -0
  107. package/packages/happy2-server/dist/modules/plugin/index.js +3 -0
  108. package/packages/happy2-server/dist/modules/plugin/index.js.map +1 -0
  109. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +15 -0
  110. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -0
  111. package/packages/happy2-server/dist/modules/plugin/packageStore.js +90 -0
  112. package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -0
  113. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts +7 -0
  114. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts.map +1 -0
  115. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js +9 -0
  116. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js.map +1 -0
  117. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts +9 -0
  118. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts.map +1 -0
  119. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +64 -0
  120. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -0
  121. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts +10 -0
  122. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts.map +1 -0
  123. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js +20 -0
  124. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js.map +1 -0
  125. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts +12 -0
  126. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts.map +1 -0
  127. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js +44 -0
  128. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js.map +1 -0
  129. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts +9 -0
  130. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts.map +1 -0
  131. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js +15 -0
  132. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js.map +1 -0
  133. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts +23 -0
  134. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts.map +1 -0
  135. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js +54 -0
  136. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js.map +1 -0
  137. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts +13 -0
  138. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts.map +1 -0
  139. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js +37 -0
  140. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js.map +1 -0
  141. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts +17 -0
  142. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts.map +1 -0
  143. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js +29 -0
  144. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js.map +1 -0
  145. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts +27 -0
  146. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -0
  147. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +180 -0
  148. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -0
  149. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts +9 -0
  150. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -0
  151. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +122 -0
  152. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -0
  153. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts +11 -0
  154. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts.map +1 -0
  155. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js +18 -0
  156. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js.map +1 -0
  157. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts +8 -0
  158. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts.map +1 -0
  159. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js +19 -0
  160. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js.map +1 -0
  161. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts +14 -0
  162. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts.map +1 -0
  163. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js +20 -0
  164. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js.map +1 -0
  165. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts +7 -0
  166. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts.map +1 -0
  167. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js +13 -0
  168. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js.map +1 -0
  169. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts +7 -0
  170. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts.map +1 -0
  171. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js +16 -0
  172. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js.map +1 -0
  173. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts +16 -0
  174. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts.map +1 -0
  175. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js +38 -0
  176. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js.map +1 -0
  177. package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts +8 -0
  178. package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts.map +1 -0
  179. package/packages/happy2-server/dist/modules/plugin/pluginList.js +17 -0
  180. package/packages/happy2-server/dist/modules/plugin/pluginList.js.map +1 -0
  181. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts +11 -0
  182. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts.map +1 -0
  183. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js +43 -0
  184. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js.map +1 -0
  185. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts +15 -0
  186. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts.map +1 -0
  187. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js +37 -0
  188. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js.map +1 -0
  189. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts +16 -0
  190. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts.map +1 -0
  191. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js +71 -0
  192. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js.map +1 -0
  193. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts +14 -0
  194. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts.map +1 -0
  195. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js +51 -0
  196. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js.map +1 -0
  197. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts +56 -0
  198. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts.map +1 -0
  199. package/packages/happy2-server/dist/modules/plugin/runtime.js +147 -0
  200. package/packages/happy2-server/dist/modules/plugin/runtime.js.map +1 -0
  201. package/packages/happy2-server/dist/modules/plugin/secrets.d.ts +17 -0
  202. package/packages/happy2-server/dist/modules/plugin/secrets.d.ts.map +1 -0
  203. package/packages/happy2-server/dist/modules/plugin/secrets.js +56 -0
  204. package/packages/happy2-server/dist/modules/plugin/secrets.js.map +1 -0
  205. package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts +2 -0
  206. package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts.map +1 -0
  207. package/packages/happy2-server/dist/modules/plugin/secrets.test.js +14 -0
  208. package/packages/happy2-server/dist/modules/plugin/secrets.test.js.map +1 -0
  209. package/packages/happy2-server/dist/modules/plugin/service.d.ts +60 -0
  210. package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -0
  211. package/packages/happy2-server/dist/modules/plugin/service.js +584 -0
  212. package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -0
  213. package/packages/happy2-server/dist/modules/plugin/types.d.ts +194 -0
  214. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -0
  215. package/packages/happy2-server/dist/modules/plugin/types.js +10 -0
  216. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -0
  217. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts +19 -0
  218. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts.map +1 -0
  219. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js +97 -0
  220. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js.map +1 -0
  221. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts +2 -0
  222. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts.map +1 -0
  223. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js +74 -0
  224. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js.map +1 -0
  225. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts +29 -0
  226. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts.map +1 -0
  227. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js +126 -0
  228. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js.map +1 -0
  229. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts +2 -0
  230. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts.map +1 -0
  231. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js +75 -0
  232. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js.map +1 -0
  233. package/packages/happy2-server/dist/modules/sandbox/index.d.ts +1 -1
  234. package/packages/happy2-server/dist/modules/sandbox/index.d.ts.map +1 -1
  235. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts +9 -1
  236. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts.map +1 -1
  237. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js +218 -4
  238. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js.map +1 -1
  239. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js +157 -2
  240. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js.map +1 -1
  241. package/packages/happy2-server/dist/modules/sandbox/types.d.ts +24 -0
  242. package/packages/happy2-server/dist/modules/sandbox/types.d.ts.map +1 -1
  243. package/packages/happy2-server/dist/modules/schema.d.ts +7781 -5489
  244. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  245. package/packages/happy2-server/dist/modules/schema.js +87 -1
  246. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  247. package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
  248. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
  249. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
  250. package/packages/happy2-server/dist/routes/pluginHost.d.ts +6 -0
  251. package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -0
  252. package/packages/happy2-server/dist/routes/pluginHost.js +37 -0
  253. package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -0
  254. package/packages/happy2-server/dist/routes/plugins.d.ts +8 -0
  255. package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -0
  256. package/packages/happy2-server/dist/routes/plugins.js +198 -0
  257. package/packages/happy2-server/dist/routes/plugins.js.map +1 -0
  258. package/packages/happy2-server/dist/runner.js +64 -19
  259. package/packages/happy2-server/dist/runner.js.map +1 -1
  260. package/packages/happy2-server/dist/server.d.ts +8 -0
  261. package/packages/happy2-server/dist/server.d.ts.map +1 -1
  262. package/packages/happy2-server/dist/server.js +65 -3
  263. package/packages/happy2-server/dist/server.js.map +1 -1
  264. package/packages/happy2-server/dist/systemService.d.ts +48 -0
  265. package/packages/happy2-server/dist/systemService.d.ts.map +1 -0
  266. package/packages/happy2-server/dist/systemService.js +323 -0
  267. package/packages/happy2-server/dist/systemService.js.map +1 -0
  268. package/packages/happy2-server/dist/systemService.test.d.ts +2 -0
  269. package/packages/happy2-server/dist/systemService.test.d.ts.map +1 -0
  270. package/packages/happy2-server/dist/systemService.test.js +280 -0
  271. package/packages/happy2-server/dist/systemService.test.js.map +1 -0
  272. package/packages/happy2-server/dist/web/assets/index-9SGCQLg7.js +46 -0
  273. package/packages/happy2-server/dist/web/assets/{index-DZ1uRLgV.css → index-DWXBQDJB.css} +1 -1
  274. package/packages/happy2-server/dist/web/index.html +2 -2
  275. package/packages/happy2-server/drizzle/0020_plugins.sql +61 -0
  276. package/packages/happy2-server/drizzle/0021_plugin_function_results.sql +11 -0
  277. package/packages/happy2-server/drizzle/0022_plugin_container_runtime_tools.sql +16 -0
  278. package/packages/happy2-server/drizzle/meta/_journal.json +21 -0
  279. package/packages/happy2-server/happy2.example.toml +13 -0
  280. package/packages/happy2-server/plugins/README.md +7 -0
  281. package/packages/happy2-server/plugins/hello/container/Dockerfile +6 -0
  282. package/packages/happy2-server/plugins/hello/plugin.json +16 -0
  283. package/packages/happy2-server/plugins/hello/plugin.png +0 -0
  284. package/packages/happy2-server/plugins/hello/server.mjs +75 -0
  285. package/packages/happy2-server/plugins/hello/skills/hello/SKILL.md +11 -0
  286. package/packages/happy2-server/dist/web/assets/index-DH1SOwNV.js +0 -46
@@ -0,0 +1,75 @@
1
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
+ import { describe, expect, it } from "vitest";
3
+ import { RemotePluginMcpTransport } from "./remoteMcpTransport.js";
4
+ describe("RemotePluginMcpTransport", () => {
5
+ it("pins every request and carries the negotiated MCP session through tool execution", async () => {
6
+ const requests = [];
7
+ const remote = {
8
+ async deliver(request) {
9
+ requests.push(structuredClone(request));
10
+ if (request.method === "DELETE")
11
+ return { statusCode: 405 };
12
+ const message = JSON.parse(request.body);
13
+ if (message.id === undefined)
14
+ return { statusCode: 202 };
15
+ const result = message.method === "initialize"
16
+ ? {
17
+ protocolVersion: "2025-06-18",
18
+ capabilities: { tools: {} },
19
+ serverInfo: { name: "remote-test", version: "1.0.0" },
20
+ }
21
+ : message.method === "tools/list"
22
+ ? {
23
+ tools: [
24
+ {
25
+ name: "remote_echo",
26
+ description: "Echo input remotely",
27
+ inputSchema: { type: "object" },
28
+ },
29
+ ],
30
+ }
31
+ : { content: [{ type: "text", text: "remote result" }] };
32
+ return {
33
+ statusCode: 200,
34
+ body: JSON.stringify({ jsonrpc: "2.0", id: message.id, result }),
35
+ ...(message.method === "initialize"
36
+ ? { headers: { "mcp-session-id": "remote-session" } }
37
+ : {}),
38
+ };
39
+ },
40
+ };
41
+ let resolutions = 0;
42
+ const transport = new RemotePluginMcpTransport({
43
+ headers: { authorization: "Bearer secret" },
44
+ installationId: "installation1",
45
+ remoteTransport: remote,
46
+ url: "https://mcp.example.test/service",
47
+ urlPolicy: {
48
+ validateForStorage: (url) => url,
49
+ resolveForDelivery: async (url) => {
50
+ resolutions += 1;
51
+ return {
52
+ url,
53
+ addresses: [{ address: "203.0.113.9", family: 4 }],
54
+ };
55
+ },
56
+ },
57
+ });
58
+ const client = new Client({ name: "remote-test-client", version: "1.0.0" });
59
+ await client.connect(transport);
60
+ expect((await client.listTools()).tools.map(({ name }) => name)).toEqual(["remote_echo"]);
61
+ expect(await client.callTool({ name: "remote_echo", arguments: { value: "hello" } })).toMatchObject({ content: [{ type: "text", text: "remote result" }] });
62
+ await client.close();
63
+ expect(resolutions).toBe(requests.length);
64
+ expect(requests[0]?.headers).not.toHaveProperty("mcp-session-id");
65
+ expect(requests
66
+ .slice(1)
67
+ .every(({ headers }) => headers["mcp-session-id"] === "remote-session")).toBe(true);
68
+ expect(requests.slice(1).every(({ headers }) => headers.authorization === "Bearer secret")).toBe(true);
69
+ expect(requests.at(-1)).toMatchObject({
70
+ method: "DELETE",
71
+ headers: { "mcp-session-id": "remote-session" },
72
+ });
73
+ });
74
+ });
75
+ //# sourceMappingURL=remoteMcpTransport.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteMcpTransport.test.js","sourceRoot":"","sources":["../../../../sources/modules/plugin/utils/remoteMcpTransport.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { SANDBOX_EXECUTION_NOTICE, SandboxProviderCatalog, type SandboxProviderDiscovery, } from "./catalog.js";
2
2
  export { LocalOciSandboxProvider, localSandboxProviders } from "./localOciSandboxProvider.js";
3
- export type { AgentImageBuildInput, AgentImageBuildOptions, AgentImageBuildUpdate, AgentSandboxCreateInput, AgentSandboxRuntime, AgentSandboxRuntimeResolver, SandboxFileEgressInput, SandboxFileIngressInput, SandboxProbeOptions, SandboxProvider, SandboxProviderHealth, SandboxProviderStatus, SandboxTerminalHandle, SandboxTerminalInput, } from "./types.js";
3
+ export type { AgentImageBuildInput, AgentImageBuildOptions, AgentImageBuildUpdate, AgentSandboxCreateInput, AgentSandboxRuntime, AgentSandboxRuntimeResolver, PluginSandboxCreateInput, PluginSandboxState, SandboxFileEgressInput, SandboxFileIngressInput, SandboxProbeOptions, SandboxProvider, SandboxProviderHealth, SandboxProviderStatus, SandboxTerminalHandle, SandboxTerminalInput, } from "./types.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/modules/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,wBAAwB,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,YAAY,EACR,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/modules/sandbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,wBAAwB,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,YAAY,EACR,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentImageBuildInput, AgentImageBuildOptions, AgentSandboxCreateInput, SandboxFileEgressInput, SandboxFileIngressInput, SandboxProbeOptions, SandboxProvider, SandboxProviderStatus, SandboxTerminalHandle, SandboxTerminalInput } from "./types.js";
1
+ import type { AgentImageBuildInput, AgentImageBuildOptions, AgentSandboxCreateInput, PluginSandboxCommandInput, PluginSandboxCreateInput, SandboxFileEgressInput, SandboxFileIngressInput, SandboxProbeOptions, SandboxProvider, SandboxProviderStatus, SandboxTerminalHandle, SandboxTerminalInput } from "./types.js";
2
2
  interface LocalOciSandboxProviderOptions {
3
3
  command: string;
4
4
  displayName: string;
@@ -16,7 +16,15 @@ export declare class LocalOciSandboxProvider implements SandboxProvider {
16
16
  imageId: string;
17
17
  }>;
18
18
  createSandbox(input: AgentSandboxCreateInput, signal?: AbortSignal): Promise<void>;
19
+ createPluginSandbox(input: PluginSandboxCreateInput, signal?: AbortSignal): Promise<void>;
19
20
  removeSandbox(containerName: string): Promise<void>;
21
+ inspectPluginSandbox(containerName: string, signal?: AbortSignal): Promise<{
22
+ containerInstanceId: string;
23
+ installationId: string;
24
+ running: boolean;
25
+ } | undefined>;
26
+ startPluginCommand(input: PluginSandboxCommandInput, signal?: AbortSignal): Promise<void>;
27
+ isPluginCommandRunning(containerName: string, signal?: AbortSignal): Promise<boolean>;
20
28
  copyFileToSandbox(input: SandboxFileIngressInput, signal?: AbortSignal): Promise<void>;
21
29
  copyFileFromSandbox(input: SandboxFileEgressInput, signal?: AbortSignal): Promise<void>;
22
30
  attachTerminal(input: SandboxTerminalInput, signal?: AbortSignal): SandboxTerminalHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"localOciSandboxProvider.d.ts","sourceRoot":"","sources":["../../../sources/modules/sandbox/localOciSandboxProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAOpB,UAAU,8BAA8B;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC3B;AAWD,2GAA2G;AAC3G,qBAAa,uBAAwB,YAAW,eAAe;IAC3D,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEjC,YAAY,OAAO,EAAE,8BAA8B,EAIlD;IAEK,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2C7E;IAEK,UAAU,CACZ,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE,sBAA2B,GACrC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CA+B9B;IAEK,aAAa,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;IAEK,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;IAEK,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;IAEK,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5F;IAED,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,qBAAqB,CAqBvF;IAED,OAAO,CAAC,cAAc;YAaR,wBAAwB;YAmBxB,YAAY;IA0B1B,OAAO,CAAC,GAAG;IAsEX,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,gBAAgB;CAK3B;AAED,wBAAgB,qBAAqB,IAAI,SAAS,eAAe,EAAE,CAKlE"}
1
+ {"version":3,"file":"localOciSandboxProvider.d.ts","sourceRoot":"","sources":["../../../sources/modules/sandbox/localOciSandboxProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAmDpB,UAAU,8BAA8B;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC3B;AAWD,2GAA2G;AAC3G,qBAAa,uBAAwB,YAAW,eAAe;IAC3D,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEjC,YAAY,OAAO,EAAE,8BAA8B,EAIlD;IAEK,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2C7E;IAEK,UAAU,CACZ,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE,sBAA2B,GACrC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CA+B9B;IAEK,aAAa,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;IAEK,mBAAmB,CACrB,KAAK,EAAE,wBAAwB,EAC/B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,CAkDf;IAEK,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;IAEK,oBAAoB,CACtB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CACN;QAAE,mBAAmB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CACxF,CAyBA;IAEK,kBAAkB,CACpB,KAAK,EAAE,yBAAyB,EAChC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Bf;IAEK,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CA6B1F;IAEK,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;IAEK,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5F;IAED,cAAc,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,qBAAqB,CA6BvF;IAED,OAAO,CAAC,cAAc;YAaR,wBAAwB;YAmBxB,YAAY;IA0B1B,OAAO,CAAC,GAAG;IA6EX,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,gBAAgB;CAK3B;AAED,wBAAgB,qBAAqB,IAAI,SAAS,eAAe,EAAE,CAKlE"}
@@ -6,6 +6,50 @@ const DEFAULT_PROBE_TIMEOUT_MS = 3_000;
6
6
  const MAX_COMMAND_OUTPUT = 32_768;
7
7
  const MAX_VERSION_BYTES = 512;
8
8
  const BIND_MOUNT_RETRY_DELAYS_MS = [25, 50, 100, 200, 400, 800, 1_600];
9
+ const PLUGIN_MEMORY_BYTES = 1024 * 1024 * 1024;
10
+ const PLUGIN_CPUS = "1";
11
+ const PLUGIN_PID_LIMIT = "256";
12
+ const PLUGIN_COMMAND_MARKER = "/run/happy2-plugin-command.pid";
13
+ const PLUGIN_CLI_ENV_PREFIXES = ["CONTAINER_", "CONTAINERS_", "DOCKER_", "DYLD_", "LD_", "PODMAN_"];
14
+ const PLUGIN_CLI_ENV_NAMES = new Set([
15
+ "ALL_PROXY",
16
+ "CONMON",
17
+ "CURL_CA_BUNDLE",
18
+ "DBUS_SESSION_BUS_ADDRESS",
19
+ "GIT_CONFIG_GLOBAL",
20
+ "GIT_CONFIG_SYSTEM",
21
+ "GIT_SSL_CAINFO",
22
+ "GODEBUG",
23
+ "GOTRACEBACK",
24
+ "HOME",
25
+ "HTTP_PROXY",
26
+ "HTTPS_PROXY",
27
+ "LD_LIBRARY_PATH",
28
+ "LD_PRELOAD",
29
+ "NODE_CHANNEL_FD",
30
+ "NODE_OPTIONS",
31
+ "NODE_PATH",
32
+ "NODE_UNIQUE_ID",
33
+ "NO_PROXY",
34
+ "OCI_RUNTIME",
35
+ "PATH",
36
+ "PATHEXT",
37
+ "REGISTRY_AUTH_FILE",
38
+ "SSH_AUTH_SOCK",
39
+ "SSL_CERT_DIR",
40
+ "SSL_CERT_FILE",
41
+ "STORAGE_DRIVER",
42
+ "STORAGE_OPTS",
43
+ "SYSTEMROOT",
44
+ "TEMP",
45
+ "TMP",
46
+ "TMPDIR",
47
+ "WINDIR",
48
+ "XDG_CACHE_HOME",
49
+ "XDG_CONFIG_HOME",
50
+ "XDG_DATA_HOME",
51
+ "XDG_RUNTIME_DIR",
52
+ ]);
9
53
  /** Local Docker/Podman driver with identical sandbox security, lifecycle, file, and terminal semantics. */
10
54
  export class LocalOciSandboxProvider {
11
55
  locality = "local";
@@ -135,9 +179,146 @@ export class LocalOciSandboxProvider {
135
179
  throw error;
136
180
  }
137
181
  }
182
+ async createPluginSandbox(input, signal) {
183
+ const args = [
184
+ "create",
185
+ "--name",
186
+ input.containerName,
187
+ "--label",
188
+ "dev.happy2.managed=true",
189
+ "--label",
190
+ `dev.happy2.plugin-installation=${input.installationId}`,
191
+ "--label",
192
+ `dev.happy2.plugin-instance=${input.containerInstanceId}`,
193
+ "--add-host",
194
+ "happy2.host.internal:host-gateway",
195
+ "--read-only",
196
+ "--init",
197
+ "--cap-drop",
198
+ "ALL",
199
+ "--security-opt",
200
+ "no-new-privileges",
201
+ "--memory",
202
+ String(PLUGIN_MEMORY_BYTES),
203
+ "--cpus",
204
+ PLUGIN_CPUS,
205
+ "--pids-limit",
206
+ PLUGIN_PID_LIMIT,
207
+ "--shm-size",
208
+ "268435456",
209
+ "--tmpfs",
210
+ "/tmp:rw,nosuid,nodev,mode=1777",
211
+ "--tmpfs",
212
+ "/run:rw,nosuid,nodev,mode=755",
213
+ "--env",
214
+ "HOME=/tmp",
215
+ "--env",
216
+ "TMPDIR=/tmp",
217
+ "--workdir",
218
+ "/tmp",
219
+ "--entrypoint",
220
+ "/bin/sh",
221
+ input.imageTag,
222
+ "-c",
223
+ "trap : TERM INT; while :; do sleep 2073600; done",
224
+ ];
225
+ try {
226
+ await this.run(args, { signal });
227
+ await this.run(["start", input.containerName], { signal });
228
+ }
229
+ catch (error) {
230
+ await this.removeSandbox(input.containerName);
231
+ throw error;
232
+ }
233
+ }
138
234
  async removeSandbox(containerName) {
139
235
  await this.run(["rm", "--force", containerName]).catch(() => undefined);
140
236
  }
237
+ async inspectPluginSandbox(containerName, signal) {
238
+ let inspected;
239
+ try {
240
+ inspected = await this.run(["inspect", "--format", "{{json .}}", containerName], {
241
+ signal,
242
+ });
243
+ }
244
+ catch (error) {
245
+ if (isMissingContainer(error))
246
+ return undefined;
247
+ throw error;
248
+ }
249
+ let value;
250
+ try {
251
+ value = JSON.parse(inspected.stdout);
252
+ }
253
+ catch (error) {
254
+ throw new Error(`${this.displayName} returned invalid plugin container metadata`, {
255
+ cause: error,
256
+ });
257
+ }
258
+ const installationId = value.Config?.Labels?.["dev.happy2.plugin-installation"];
259
+ const containerInstanceId = value.Config?.Labels?.["dev.happy2.plugin-instance"];
260
+ if (!installationId || !containerInstanceId)
261
+ return undefined;
262
+ return { installationId, containerInstanceId, running: value.State?.Running === true };
263
+ }
264
+ async startPluginCommand(input, signal) {
265
+ const environment = Object.entries(input.environment);
266
+ const script = [
267
+ "set -eu",
268
+ `marker=${PLUGIN_COMMAND_MARKER}`,
269
+ "trap 'rm -f \"$marker\"' EXIT TERM INT",
270
+ 'printf \'%s\\n\' "$$" > "$marker"',
271
+ '"$@"',
272
+ ].join("; ");
273
+ await this.run([
274
+ "exec",
275
+ "--detach",
276
+ ...environment.flatMap(([key]) => ["--env", key]),
277
+ input.containerName,
278
+ "/bin/sh",
279
+ "-c",
280
+ script,
281
+ "happy2-plugin-command",
282
+ ...input.command,
283
+ ], { environment, signal });
284
+ for (let attempt = 0; attempt < 50; attempt += 1) {
285
+ if (await this.isPluginCommandRunning(input.containerName, signal))
286
+ return;
287
+ await abortableDelay(20, signal, this.displayName);
288
+ }
289
+ throw new Error(`${this.displayName} plugin command exited during startup`);
290
+ }
291
+ async isPluginCommandRunning(containerName, signal) {
292
+ const script = [
293
+ `marker=${PLUGIN_COMMAND_MARKER}`,
294
+ 'if test -r "$marker" && kill -0 "$(cat "$marker")" 2>/dev/null',
295
+ "then printf running",
296
+ "else printf stopped",
297
+ "fi",
298
+ ].join("; ");
299
+ let result;
300
+ try {
301
+ result = await this.run([
302
+ "exec",
303
+ containerName,
304
+ "/bin/sh",
305
+ "-c",
306
+ script,
307
+ "happy2-plugin-command-running-check",
308
+ ], { signal });
309
+ }
310
+ catch (error) {
311
+ if (isMissingContainer(error) || isStoppedContainer(error))
312
+ return false;
313
+ throw error;
314
+ }
315
+ const state = result.stdout.trim();
316
+ if (state === "running")
317
+ return true;
318
+ if (state === "stopped")
319
+ return false;
320
+ throw new Error(`${this.displayName} returned an invalid plugin command state`);
321
+ }
141
322
  async copyFileToSandbox(input, signal) {
142
323
  await this.run(["cp", input.sourcePath, `${input.containerName}:${input.destinationPath}`], { signal });
143
324
  }
@@ -146,8 +327,16 @@ export class LocalOciSandboxProvider {
146
327
  }
147
328
  attachTerminal(input, signal) {
148
329
  const command = input.command?.length ? [...input.command] : ["/bin/sh"];
149
- const child = spawn(this.command, ["exec", "--interactive", input.containerName, ...command], {
150
- env: this.commandEnvironment(),
330
+ const environment = Object.entries(input.environment ?? {});
331
+ const childEnvironment = pluginCliEnvironment(this.commandEnvironment(), environment);
332
+ const child = spawn(this.command, [
333
+ "exec",
334
+ "--interactive",
335
+ ...environment.flatMap(([key]) => ["--env", key]),
336
+ input.containerName,
337
+ ...command,
338
+ ], {
339
+ env: childEnvironment,
151
340
  stdio: ["pipe", "pipe", "pipe"],
152
341
  });
153
342
  const abort = () => child.kill("SIGTERM");
@@ -220,7 +409,9 @@ export class LocalOciSandboxProvider {
220
409
  let settled = false;
221
410
  let forcedKill;
222
411
  const child = spawn(this.command, args, {
223
- env: this.commandEnvironment(),
412
+ env: options.environment
413
+ ? pluginCliEnvironment(this.commandEnvironment(), options.environment)
414
+ : this.commandEnvironment(),
224
415
  stdio: [options.input === undefined ? "ignore" : "pipe", "pipe", "pipe"],
225
416
  });
226
417
  let stdout = "";
@@ -273,7 +464,10 @@ export class LocalOciSandboxProvider {
273
464
  });
274
465
  }
275
466
  commandEnvironment() {
276
- return this.id === "docker" ? { ...process.env, DOCKER_BUILDKIT: "1" } : { ...process.env };
467
+ const environment = this.id === "docker" ? { ...process.env, DOCKER_BUILDKIT: "1" } : { ...process.env };
468
+ delete environment.NODE_CHANNEL_FD;
469
+ delete environment.NODE_UNIQUE_ID;
470
+ return environment;
277
471
  }
278
472
  timedOutStatus(operation, version) {
279
473
  return {
@@ -302,6 +496,18 @@ export function localSandboxProviders() {
302
496
  new LocalOciSandboxProvider({ id: "podman", displayName: "Podman", command: "podman" }),
303
497
  ];
304
498
  }
499
+ function pluginCliEnvironment(base, plugin) {
500
+ const seen = new Set();
501
+ for (const [key] of plugin) {
502
+ const normalized = key.toUpperCase();
503
+ if (seen.has(normalized) ||
504
+ PLUGIN_CLI_ENV_NAMES.has(normalized) ||
505
+ PLUGIN_CLI_ENV_PREFIXES.some((prefix) => normalized.startsWith(prefix)))
506
+ throw new Error(`Plugin variable ${key} cannot shadow the container CLI environment`);
507
+ seen.add(normalized);
508
+ }
509
+ return { ...base, ...Object.fromEntries(plugin) };
510
+ }
305
511
  class OciBuildProgress {
306
512
  buffer = "";
307
513
  completedSteps = new Set();
@@ -391,6 +597,14 @@ function isMissingBindSource(error) {
391
597
  error.message.includes('invalid mount config for type "bind"') &&
392
598
  error.message.includes("bind source path does not exist"));
393
599
  }
600
+ function isMissingContainer(error) {
601
+ return (error instanceof Error &&
602
+ /(?:no such (?:object|container)|container .* not found|no container with name or id)/i.test(error.message));
603
+ }
604
+ function isStoppedContainer(error) {
605
+ return (error instanceof Error &&
606
+ /(?:container .* is not running|can only create exec sessions on running containers|container state improper)/i.test(error.message));
607
+ }
394
608
  function abortableDelay(milliseconds, signal, displayName) {
395
609
  if (signal?.aborted)
396
610
  return Promise.reject(abortError(displayName));
@@ -1 +1 @@
1
- {"version":3,"file":"localOciSandboxProvider.js","sourceRoot":"","sources":["../../../sources/modules/sandbox/localOciSandboxProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localOciSandboxProvider.js","sourceRoot":"","sources":["../../../sources/modules/sandbox/localOciSandboxProvider.ts"],"names":[],"mappings":"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"}