happy2 0.0.11 → 0.0.13

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 (443) hide show
  1. package/README.md +10 -0
  2. package/package.json +2 -2
  3. package/packages/happy2-server/PLUGINS.md +205 -45
  4. package/packages/happy2-server/README.md +19 -7
  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 +3 -2
  14. package/packages/happy2-server/dist/index.d.ts.map +1 -1
  15. package/packages/happy2-server/dist/index.js +2 -1
  16. package/packages/happy2-server/dist/index.js.map +1 -1
  17. package/packages/happy2-server/dist/modules/agent/agentChatBind.d.ts +1 -0
  18. package/packages/happy2-server/dist/modules/agent/agentChatBind.d.ts.map +1 -1
  19. package/packages/happy2-server/dist/modules/agent/agentChatBind.js +4 -0
  20. package/packages/happy2-server/dist/modules/agent/agentChatBind.js.map +1 -1
  21. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.d.ts.map +1 -1
  22. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js +3 -1
  23. package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js.map +1 -1
  24. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts +7 -0
  25. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts.map +1 -0
  26. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js +15 -0
  27. package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js.map +1 -0
  28. package/packages/happy2-server/dist/modules/agent/agentCreate.d.ts.map +1 -1
  29. package/packages/happy2-server/dist/modules/agent/agentCreate.js +1 -0
  30. package/packages/happy2-server/dist/modules/agent/agentCreate.js.map +1 -1
  31. package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.d.ts +4 -2
  32. package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.d.ts.map +1 -1
  33. package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.js +8 -8
  34. package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.js.map +1 -1
  35. package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.d.ts +3 -3
  36. package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.d.ts.map +1 -1
  37. package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.js +4 -4
  38. package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.js.map +1 -1
  39. package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.d.ts +4 -4
  40. package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.d.ts.map +1 -1
  41. package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.js +57 -41
  42. package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.js.map +1 -1
  43. package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.d.ts +1 -1
  44. package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js +3 -3
  45. package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js.map +1 -1
  46. package/packages/happy2-server/dist/modules/agent/agentImageCreate.d.ts +1 -1
  47. package/packages/happy2-server/dist/modules/agent/agentImageCreate.js +3 -3
  48. package/packages/happy2-server/dist/modules/agent/agentImageCreate.js.map +1 -1
  49. package/packages/happy2-server/dist/modules/agent/agentImageGet.d.ts +1 -1
  50. package/packages/happy2-server/dist/modules/agent/agentImageGet.js +3 -3
  51. package/packages/happy2-server/dist/modules/agent/agentImageGet.js.map +1 -1
  52. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.d.ts +2 -1
  53. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.d.ts.map +1 -1
  54. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js +11 -4
  55. package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js.map +1 -1
  56. package/packages/happy2-server/dist/modules/agent/agentImageList.d.ts +2 -2
  57. package/packages/happy2-server/dist/modules/agent/agentImageList.d.ts.map +1 -1
  58. package/packages/happy2-server/dist/modules/agent/agentImageList.js +8 -4
  59. package/packages/happy2-server/dist/modules/agent/agentImageList.js.map +1 -1
  60. package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.d.ts +1 -1
  61. package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js +3 -3
  62. package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js.map +1 -1
  63. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.d.ts +1 -1
  64. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js +3 -3
  65. package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js.map +1 -1
  66. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.d.ts +1 -1
  67. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.js +3 -3
  68. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.js.map +1 -1
  69. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.d.ts +1 -1
  70. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.js +3 -3
  71. package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.js.map +1 -1
  72. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.d.ts +1 -1
  73. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.js +3 -3
  74. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.js.map +1 -1
  75. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.d.ts +1 -1
  76. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.js +3 -3
  77. package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.js.map +1 -1
  78. package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.d.ts +4 -3
  79. package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.d.ts.map +1 -1
  80. package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.js +5 -5
  81. package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.js.map +1 -1
  82. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.d.ts +1 -1
  83. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.js +3 -3
  84. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.js.map +1 -1
  85. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.d.ts +2 -2
  86. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.js +4 -4
  87. package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.js.map +1 -1
  88. package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.d.ts +1 -1
  89. package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.js +3 -3
  90. package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.js.map +1 -1
  91. package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.d.ts +4 -0
  92. package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.d.ts.map +1 -1
  93. package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.js +207 -9
  94. package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.js.map +1 -1
  95. package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.d.ts +8 -0
  96. package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.d.ts.map +1 -0
  97. package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.js +86 -0
  98. package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.js.map +1 -0
  99. package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.d.ts +19 -0
  100. package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.d.ts.map +1 -0
  101. package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.js +87 -0
  102. package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.js.map +1 -0
  103. package/packages/happy2-server/dist/modules/agent/impl/agentChatContext.d.ts +2 -1
  104. package/packages/happy2-server/dist/modules/agent/impl/agentChatContext.d.ts.map +1 -1
  105. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContext.d.ts +4 -1
  106. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContext.d.ts.map +1 -1
  107. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.d.ts +3 -3
  108. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.d.ts.map +1 -1
  109. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.js +26 -40
  110. package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.js.map +1 -1
  111. package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.d.ts.map +1 -1
  112. package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.js +63 -2
  113. package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.js.map +1 -1
  114. package/packages/happy2-server/dist/modules/agent/types.d.ts +53 -0
  115. package/packages/happy2-server/dist/modules/agent/types.d.ts.map +1 -1
  116. package/packages/happy2-server/dist/modules/agents/daemon.d.ts +31 -2
  117. package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
  118. package/packages/happy2-server/dist/modules/agents/daemon.js +12 -2
  119. package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
  120. package/packages/happy2-server/dist/modules/agents/service.d.ts +13 -6
  121. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  122. package/packages/happy2-server/dist/modules/agents/service.js +497 -49
  123. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  124. package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.d.ts +12 -0
  125. package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.d.ts.map +1 -0
  126. package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.js +27 -0
  127. package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.js.map +1 -0
  128. package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.d.ts +8 -0
  129. package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.d.ts.map +1 -0
  130. package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.js +22 -0
  131. package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.js.map +1 -0
  132. package/packages/happy2-server/dist/modules/auth/methods.d.ts +1 -0
  133. package/packages/happy2-server/dist/modules/auth/methods.d.ts.map +1 -1
  134. package/packages/happy2-server/dist/modules/auth/methods.js +10 -6
  135. package/packages/happy2-server/dist/modules/auth/methods.js.map +1 -1
  136. package/packages/happy2-server/dist/modules/auth/service.d.ts +2 -0
  137. package/packages/happy2-server/dist/modules/auth/service.d.ts.map +1 -1
  138. package/packages/happy2-server/dist/modules/auth/service.js +26 -0
  139. package/packages/happy2-server/dist/modules/auth/service.js.map +1 -1
  140. package/packages/happy2-server/dist/modules/auth/tokens.d.ts +13 -0
  141. package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
  142. package/packages/happy2-server/dist/modules/auth/tokens.js +59 -0
  143. package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
  144. package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts +2 -0
  145. package/packages/happy2-server/dist/modules/auth/tokens.test.d.ts.map +1 -0
  146. package/packages/happy2-server/dist/modules/auth/tokens.test.js +48 -0
  147. package/packages/happy2-server/dist/modules/auth/tokens.test.js.map +1 -0
  148. package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.d.ts +17 -0
  149. package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.d.ts.map +1 -0
  150. package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.js +98 -0
  151. package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.js.map +1 -0
  152. package/packages/happy2-server/dist/modules/chat/asServiceMessage.d.ts.map +1 -1
  153. package/packages/happy2-server/dist/modules/chat/asServiceMessage.js +13 -5
  154. package/packages/happy2-server/dist/modules/chat/asServiceMessage.js.map +1 -1
  155. package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.d.ts +20 -0
  156. package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.d.ts.map +1 -0
  157. package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.js +38 -0
  158. package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.js.map +1 -0
  159. package/packages/happy2-server/dist/modules/chat/types.d.ts +6 -0
  160. package/packages/happy2-server/dist/modules/chat/types.d.ts.map +1 -1
  161. package/packages/happy2-server/dist/modules/chat/types.js.map +1 -1
  162. package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.d.ts +7 -0
  163. package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.d.ts.map +1 -0
  164. package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.js +19 -0
  165. package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.js.map +1 -0
  166. package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.d.ts +2 -2
  167. package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.d.ts.map +1 -1
  168. package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.js +8 -5
  169. package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.js.map +1 -1
  170. package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -1
  171. package/packages/happy2-server/dist/modules/config/defaults.js +3 -0
  172. package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -1
  173. package/packages/happy2-server/dist/modules/config/defaults.test.js +1 -0
  174. package/packages/happy2-server/dist/modules/config/defaults.test.js.map +1 -1
  175. package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -1
  176. package/packages/happy2-server/dist/modules/config/loader.js +9 -0
  177. package/packages/happy2-server/dist/modules/config/loader.js.map +1 -1
  178. package/packages/happy2-server/dist/modules/config/loader.test.js +27 -0
  179. package/packages/happy2-server/dist/modules/config/loader.test.js.map +1 -1
  180. package/packages/happy2-server/dist/modules/config/type.d.ts +5 -0
  181. package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -1
  182. package/packages/happy2-server/dist/modules/message/messageGetProjection.d.ts.map +1 -1
  183. package/packages/happy2-server/dist/modules/message/messageGetProjection.js +28 -0
  184. package/packages/happy2-server/dist/modules/message/messageGetProjection.js.map +1 -1
  185. package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.d.ts +4 -0
  186. package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.d.ts.map +1 -0
  187. package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.js +39 -0
  188. package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.js.map +1 -0
  189. package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.d.ts +10 -0
  190. package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.d.ts.map +1 -0
  191. package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.js +31 -0
  192. package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.js.map +1 -0
  193. package/packages/happy2-server/dist/modules/permission/permissionGetEffective.d.ts +8 -0
  194. package/packages/happy2-server/dist/modules/permission/permissionGetEffective.d.ts.map +1 -0
  195. package/packages/happy2-server/dist/modules/permission/permissionGetEffective.js +13 -0
  196. package/packages/happy2-server/dist/modules/permission/permissionGetEffective.js.map +1 -0
  197. package/packages/happy2-server/dist/modules/permission/roleCreate.d.ts +16 -0
  198. package/packages/happy2-server/dist/modules/permission/roleCreate.d.ts.map +1 -0
  199. package/packages/happy2-server/dist/modules/permission/roleCreate.js +70 -0
  200. package/packages/happy2-server/dist/modules/permission/roleCreate.js.map +1 -0
  201. package/packages/happy2-server/dist/modules/permission/roleDelete.d.ts +11 -0
  202. package/packages/happy2-server/dist/modules/permission/roleDelete.d.ts.map +1 -0
  203. package/packages/happy2-server/dist/modules/permission/roleDelete.js +41 -0
  204. package/packages/happy2-server/dist/modules/permission/roleDelete.js.map +1 -0
  205. package/packages/happy2-server/dist/modules/permission/roleList.d.ts +8 -0
  206. package/packages/happy2-server/dist/modules/permission/roleList.d.ts.map +1 -0
  207. package/packages/happy2-server/dist/modules/permission/roleList.js +36 -0
  208. package/packages/happy2-server/dist/modules/permission/roleList.js.map +1 -0
  209. package/packages/happy2-server/dist/modules/permission/roleUpdate.d.ts +14 -0
  210. package/packages/happy2-server/dist/modules/permission/roleUpdate.d.ts.map +1 -0
  211. package/packages/happy2-server/dist/modules/permission/roleUpdate.js +78 -0
  212. package/packages/happy2-server/dist/modules/permission/roleUpdate.js.map +1 -0
  213. package/packages/happy2-server/dist/modules/permission/types.d.ts +24 -0
  214. package/packages/happy2-server/dist/modules/permission/types.d.ts.map +1 -0
  215. package/packages/happy2-server/dist/modules/permission/types.js +10 -0
  216. package/packages/happy2-server/dist/modules/permission/types.js.map +1 -0
  217. package/packages/happy2-server/dist/modules/permission/userPermissionGet.d.ts +16 -0
  218. package/packages/happy2-server/dist/modules/permission/userPermissionGet.d.ts.map +1 -0
  219. package/packages/happy2-server/dist/modules/permission/userPermissionGet.js +33 -0
  220. package/packages/happy2-server/dist/modules/permission/userPermissionGet.js.map +1 -0
  221. package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.d.ts +12 -0
  222. package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.d.ts.map +1 -0
  223. package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.js +44 -0
  224. package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.js.map +1 -0
  225. package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.d.ts +8 -0
  226. package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.d.ts.map +1 -0
  227. package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.js +12 -0
  228. package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.js.map +1 -0
  229. package/packages/happy2-server/dist/modules/permission/userRequirePermission.d.ts +8 -0
  230. package/packages/happy2-server/dist/modules/permission/userRequirePermission.d.ts.map +1 -0
  231. package/packages/happy2-server/dist/modules/permission/userRequirePermission.js +12 -0
  232. package/packages/happy2-server/dist/modules/permission/userRequirePermission.js.map +1 -0
  233. package/packages/happy2-server/dist/modules/permission/userRoleAssign.d.ts +12 -0
  234. package/packages/happy2-server/dist/modules/permission/userRoleAssign.d.ts.map +1 -0
  235. package/packages/happy2-server/dist/modules/permission/userRoleAssign.js +46 -0
  236. package/packages/happy2-server/dist/modules/permission/userRoleAssign.js.map +1 -0
  237. package/packages/happy2-server/dist/modules/permission/userRoleUnassign.d.ts +12 -0
  238. package/packages/happy2-server/dist/modules/permission/userRoleUnassign.d.ts.map +1 -0
  239. package/packages/happy2-server/dist/modules/permission/userRoleUnassign.js +53 -0
  240. package/packages/happy2-server/dist/modules/permission/userRoleUnassign.js.map +1 -0
  241. package/packages/happy2-server/dist/modules/plugin/archive.d.ts +7 -0
  242. package/packages/happy2-server/dist/modules/plugin/archive.d.ts.map +1 -0
  243. package/packages/happy2-server/dist/modules/plugin/archive.js +222 -0
  244. package/packages/happy2-server/dist/modules/plugin/archive.js.map +1 -0
  245. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts +5 -1
  246. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -1
  247. package/packages/happy2-server/dist/modules/plugin/catalog.js +75 -15
  248. package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -1
  249. package/packages/happy2-server/dist/modules/plugin/catalog.test.js +37 -0
  250. package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -1
  251. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts +1 -0
  252. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts.map +1 -1
  253. package/packages/happy2-server/dist/modules/plugin/httpBridge.js +7 -0
  254. package/packages/happy2-server/dist/modules/plugin/httpBridge.js.map +1 -1
  255. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -1
  256. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +3 -2
  257. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -1
  258. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -1
  259. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +17 -3
  260. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -1
  261. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts +3 -0
  262. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.d.ts.map +1 -0
  263. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js +12 -0
  264. package/packages/happy2-server/dist/modules/plugin/impl/effectiveContainer.js.map +1 -0
  265. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -1
  266. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +11 -0
  267. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -1
  268. package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.d.ts +11 -0
  269. package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.d.ts.map +1 -0
  270. package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.js +2 -0
  271. package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.js.map +1 -0
  272. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +13 -0
  273. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -1
  274. package/packages/happy2-server/dist/modules/plugin/packageStore.js +122 -14
  275. package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -1
  276. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts +1 -1
  277. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js +3 -3
  278. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js.map +1 -1
  279. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts.map +1 -1
  280. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +15 -1
  281. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -1
  282. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts +10 -0
  283. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.d.ts.map +1 -0
  284. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js +20 -0
  285. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceAuthorize.js.map +1 -0
  286. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts +12 -0
  287. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.d.ts.map +1 -0
  288. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js +44 -0
  289. package/packages/happy2-server/dist/modules/plugin/pluginContainerInstanceInvalidate.js.map +1 -0
  290. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts +3 -1
  291. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts.map +1 -1
  292. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js +1 -1
  293. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js.map +1 -1
  294. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts +1 -1
  295. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js +3 -3
  296. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js.map +1 -1
  297. package/packages/happy2-server/dist/modules/plugin/pluginGetSource.d.ts +13 -0
  298. package/packages/happy2-server/dist/modules/plugin/pluginGetSource.d.ts.map +1 -0
  299. package/packages/happy2-server/dist/modules/plugin/pluginGetSource.js +37 -0
  300. package/packages/happy2-server/dist/modules/plugin/pluginGetSource.js.map +1 -0
  301. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
  302. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +28 -9
  303. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
  304. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -1
  305. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +18 -7
  306. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -1
  307. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts +1 -1
  308. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js +3 -3
  309. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js.map +1 -1
  310. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts +14 -0
  311. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.d.ts.map +1 -0
  312. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js +20 -0
  313. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListForHost.js.map +1 -0
  314. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts +1 -0
  315. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts.map +1 -1
  316. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js +1 -0
  317. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js.map +1 -1
  318. package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts +1 -1
  319. package/packages/happy2-server/dist/modules/plugin/pluginList.js +3 -3
  320. package/packages/happy2-server/dist/modules/plugin/pluginList.js.map +1 -1
  321. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts +11 -0
  322. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.d.ts.map +1 -0
  323. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js +43 -0
  324. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsList.js.map +1 -0
  325. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts +15 -0
  326. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.d.ts.map +1 -0
  327. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js +37 -0
  328. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsListReady.js.map +1 -0
  329. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts +16 -0
  330. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.d.ts.map +1 -0
  331. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js +71 -0
  332. package/packages/happy2-server/dist/modules/plugin/pluginMcpToolsReplace.js.map +1 -0
  333. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.d.ts +8 -0
  334. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.d.ts.map +1 -0
  335. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.js +24 -0
  336. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.js.map +1 -0
  337. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.d.ts +8 -0
  338. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.d.ts.map +1 -0
  339. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.js +25 -0
  340. package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.js.map +1 -0
  341. package/packages/happy2-server/dist/modules/plugin/pluginUninstall.d.ts +13 -0
  342. package/packages/happy2-server/dist/modules/plugin/pluginUninstall.d.ts.map +1 -0
  343. package/packages/happy2-server/dist/modules/plugin/pluginUninstall.js +63 -0
  344. package/packages/happy2-server/dist/modules/plugin/pluginUninstall.js.map +1 -0
  345. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts +20 -0
  346. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts.map +1 -1
  347. package/packages/happy2-server/dist/modules/plugin/runtime.js +88 -2
  348. package/packages/happy2-server/dist/modules/plugin/runtime.js.map +1 -1
  349. package/packages/happy2-server/dist/modules/plugin/service.d.ts +64 -5
  350. package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -1
  351. package/packages/happy2-server/dist/modules/plugin/service.js +552 -173
  352. package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -1
  353. package/packages/happy2-server/dist/modules/plugin/source.d.ts +35 -0
  354. package/packages/happy2-server/dist/modules/plugin/source.d.ts.map +1 -0
  355. package/packages/happy2-server/dist/modules/plugin/source.js +189 -0
  356. package/packages/happy2-server/dist/modules/plugin/source.js.map +1 -0
  357. package/packages/happy2-server/dist/modules/plugin/types.d.ts +87 -11
  358. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
  359. package/packages/happy2-server/dist/modules/plugin/types.js +1 -0
  360. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -1
  361. package/packages/happy2-server/dist/modules/realtime/events.d.ts +3 -0
  362. package/packages/happy2-server/dist/modules/realtime/events.d.ts.map +1 -1
  363. package/packages/happy2-server/dist/modules/realtime/events.js +37 -5
  364. package/packages/happy2-server/dist/modules/realtime/events.js.map +1 -1
  365. package/packages/happy2-server/dist/modules/realtime/local.test.js +2 -0
  366. package/packages/happy2-server/dist/modules/realtime/local.test.js.map +1 -1
  367. package/packages/happy2-server/dist/modules/sandbox/index.d.ts +1 -1
  368. package/packages/happy2-server/dist/modules/sandbox/index.d.ts.map +1 -1
  369. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts +8 -1
  370. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts.map +1 -1
  371. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js +105 -3
  372. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js.map +1 -1
  373. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js +82 -3
  374. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js.map +1 -1
  375. package/packages/happy2-server/dist/modules/sandbox/types.d.ts +17 -0
  376. package/packages/happy2-server/dist/modules/sandbox/types.d.ts.map +1 -1
  377. package/packages/happy2-server/dist/modules/schema.d.ts +2245 -233
  378. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  379. package/packages/happy2-server/dist/modules/schema.js +120 -0
  380. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  381. package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
  382. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
  383. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
  384. package/packages/happy2-server/dist/modules/user/userAdministrationList.js +2 -2
  385. package/packages/happy2-server/dist/modules/user/userAdministrationList.js.map +1 -1
  386. package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.d.ts.map +1 -1
  387. package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.js +49 -6
  388. package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.js.map +1 -1
  389. package/packages/happy2-server/dist/modules/user/userCreateProfile.d.ts.map +1 -1
  390. package/packages/happy2-server/dist/modules/user/userCreateProfile.js +17 -2
  391. package/packages/happy2-server/dist/modules/user/userCreateProfile.js.map +1 -1
  392. package/packages/happy2-server/dist/routes/agents.d.ts.map +1 -1
  393. package/packages/happy2-server/dist/routes/agents.js +4 -2
  394. package/packages/happy2-server/dist/routes/agents.js.map +1 -1
  395. package/packages/happy2-server/dist/routes/auth.d.ts.map +1 -1
  396. package/packages/happy2-server/dist/routes/auth.js +12 -0
  397. package/packages/happy2-server/dist/routes/auth.js.map +1 -1
  398. package/packages/happy2-server/dist/routes/collaboration.d.ts.map +1 -1
  399. package/packages/happy2-server/dist/routes/collaboration.js +7 -0
  400. package/packages/happy2-server/dist/routes/collaboration.js.map +1 -1
  401. package/packages/happy2-server/dist/routes/files.d.ts.map +1 -1
  402. package/packages/happy2-server/dist/routes/files.js +2 -0
  403. package/packages/happy2-server/dist/routes/files.js.map +1 -1
  404. package/packages/happy2-server/dist/routes/permissions.d.ts +6 -0
  405. package/packages/happy2-server/dist/routes/permissions.d.ts.map +1 -0
  406. package/packages/happy2-server/dist/routes/permissions.js +207 -0
  407. package/packages/happy2-server/dist/routes/permissions.js.map +1 -0
  408. package/packages/happy2-server/dist/routes/pluginHost.d.ts +6 -0
  409. package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -0
  410. package/packages/happy2-server/dist/routes/pluginHost.js +106 -0
  411. package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -0
  412. package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -1
  413. package/packages/happy2-server/dist/routes/plugins.js +159 -5
  414. package/packages/happy2-server/dist/routes/plugins.js.map +1 -1
  415. package/packages/happy2-server/dist/runner.js +20 -1
  416. package/packages/happy2-server/dist/runner.js.map +1 -1
  417. package/packages/happy2-server/dist/server.d.ts +4 -0
  418. package/packages/happy2-server/dist/server.d.ts.map +1 -1
  419. package/packages/happy2-server/dist/server.js +23 -1
  420. package/packages/happy2-server/dist/server.js.map +1 -1
  421. package/packages/happy2-server/dist/systemService.d.ts.map +1 -1
  422. package/packages/happy2-server/dist/systemService.js +16 -1
  423. package/packages/happy2-server/dist/systemService.js.map +1 -1
  424. package/packages/happy2-server/dist/systemService.test.js +15 -1
  425. package/packages/happy2-server/dist/systemService.test.js.map +1 -1
  426. package/packages/happy2-server/dist/web/assets/index-BaPUPGPe.css +2 -0
  427. package/packages/happy2-server/dist/web/assets/index-BnhFxR3U.js +39 -0
  428. package/packages/happy2-server/dist/web/index.html +2 -2
  429. package/packages/happy2-server/drizzle/0022_plugin_container_runtime_tools.sql +16 -0
  430. package/packages/happy2-server/drizzle/0023_roles_and_permissions.sql +82 -0
  431. package/packages/happy2-server/drizzle/0024_session_bound_dev_tokens.sql +11 -0
  432. package/packages/happy2-server/drizzle/0025_plugin_skills.sql +8 -0
  433. package/packages/happy2-server/drizzle/0026_agent_turn_traces.sql +35 -0
  434. package/packages/happy2-server/drizzle/0027_chat_agent_effort.sql +9 -0
  435. package/packages/happy2-server/drizzle/meta/_journal.json +42 -0
  436. package/packages/happy2-server/happy2.example.toml +14 -0
  437. package/packages/happy2-server/plugins/README.md +3 -1
  438. package/packages/happy2-server/plugins/chat-management/container/Dockerfile +6 -0
  439. package/packages/happy2-server/plugins/chat-management/plugin.json +17 -0
  440. package/packages/happy2-server/plugins/chat-management/plugin.png +0 -0
  441. package/packages/happy2-server/plugins/chat-management/server.mjs +113 -0
  442. package/packages/happy2-server/dist/web/assets/index-9SGCQLg7.js +0 -46
  443. package/packages/happy2-server/dist/web/assets/index-DWXBQDJB.css +0 -2
@@ -9,6 +9,9 @@ export interface PluginLocalPrepareInput {
9
9
  containerName: string;
10
10
  imageTag: string;
11
11
  installationId: string;
12
+ containerInstanceId: string;
13
+ existingContainerInstanceId?: string;
14
+ workspaceDirectory: string;
12
15
  }
13
16
  export interface PluginLocalOpenInput {
14
17
  args: readonly string[];
@@ -16,11 +19,23 @@ export interface PluginLocalOpenInput {
16
19
  containerName: string;
17
20
  environment: Readonly<Record<string, string>>;
18
21
  }
22
+ export interface PluginLocalCommandHandle {
23
+ wait: Promise<{
24
+ exitCode: number | null;
25
+ signal: NodeJS.Signals | null;
26
+ }>;
27
+ close(): void;
28
+ }
19
29
  export interface PluginMcpRuntime {
20
30
  prepareLocal(input: PluginLocalPrepareInput, signal?: AbortSignal): Promise<{
31
+ containerInstanceId: string;
21
32
  imageTag: string;
33
+ reused: boolean;
22
34
  }>;
35
+ startLocalCommand(input: PluginLocalOpenInput, signal?: AbortSignal): Promise<PluginLocalCommandHandle>;
36
+ monitorLocalCommand(containerName: string, signal?: AbortSignal): Promise<PluginLocalCommandHandle>;
23
37
  openLocal(input: PluginLocalOpenInput, signal?: AbortSignal): Promise<Transport>;
38
+ isLocalRunning?(containerName: string, installationId: string, containerInstanceId: string): Promise<boolean>;
24
39
  removeLocal(containerName: string): Promise<void>;
25
40
  }
26
41
  /** Runs stdio MCP packages in dedicated containers owned by the selected local sandbox provider. */
@@ -28,10 +43,15 @@ export declare class SandboxPluginMcpRuntime implements PluginMcpRuntime {
28
43
  private readonly provider;
29
44
  constructor(provider: AgentSandboxRuntimeResolver);
30
45
  prepareLocal(input: PluginLocalPrepareInput, signal?: AbortSignal): Promise<{
46
+ containerInstanceId: string;
31
47
  imageTag: string;
48
+ reused: boolean;
32
49
  }>;
33
50
  openLocal(input: PluginLocalOpenInput, signal?: AbortSignal): Promise<Transport>;
51
+ startLocalCommand(input: PluginLocalOpenInput, signal?: AbortSignal): Promise<PluginLocalCommandHandle>;
52
+ monitorLocalCommand(containerName: string, signal?: AbortSignal): Promise<PluginLocalCommandHandle>;
34
53
  removeLocal(containerName: string): Promise<void>;
54
+ isLocalRunning(containerName: string, installationId: string, containerInstanceId: string): Promise<boolean>;
35
55
  private localProvider;
36
56
  }
37
57
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../sources/modules/plugin/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EACR,2BAA2B,EAG9B,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC7B,YAAY,CACR,KAAK,EAAE,uBAAuB,EAC9B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjF,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,oGAAoG;AACpG,qBAAa,uBAAwB,YAAW,gBAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,2BAA2B,EAAI;IAEhE,YAAY,CACd,KAAK,EAAE,uBAAuB,EAC9B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CA4B/B;IAEK,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBrF;IAEK,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;YAEa,aAAa;CAmB9B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../sources/modules/plugin/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { PluginError } from "./types.js";
2
2
  import { NdjsonStreamTransport } from "./utils/ndjsonStreamTransport.js";
3
+ const COMMAND_MONITOR_STARTUP_CHECKS = 20;
4
+ const COMMAND_MONITOR_STARTUP_INTERVAL_MS = 50;
5
+ const COMMAND_MONITOR_STEADY_INTERVAL_MS = 5_000;
3
6
  /** Runs stdio MCP packages in dedicated containers owned by the selected local sandbox provider. */
4
7
  export class SandboxPluginMcpRuntime {
5
8
  provider;
@@ -12,6 +15,15 @@ export class SandboxPluginMcpRuntime {
12
15
  throw new PluginError("broken_configuration", `${provider.displayName} does not support plugin containers`);
13
16
  if (input.build && input.build.tag !== input.imageTag)
14
17
  throw new Error("Plugin build and runtime image tags must match");
18
+ const existing = await provider.inspectPluginSandbox?.(input.containerName, signal);
19
+ if (existing?.running &&
20
+ existing.installationId === input.installationId &&
21
+ existing.containerInstanceId === input.existingContainerInstanceId)
22
+ return {
23
+ containerInstanceId: existing.containerInstanceId,
24
+ imageTag: input.imageTag,
25
+ reused: true,
26
+ };
15
27
  await provider.removeSandbox(input.containerName);
16
28
  if (input.build)
17
29
  await provider.buildImage({
@@ -21,10 +33,16 @@ export class SandboxPluginMcpRuntime {
21
33
  }, { signal });
22
34
  await provider.createPluginSandbox({
23
35
  containerName: input.containerName,
36
+ containerInstanceId: input.containerInstanceId,
24
37
  imageTag: input.imageTag,
25
38
  installationId: input.installationId,
39
+ workspaceDirectory: input.workspaceDirectory,
26
40
  }, signal);
27
- return { imageTag: input.imageTag };
41
+ return {
42
+ containerInstanceId: input.containerInstanceId,
43
+ imageTag: input.imageTag,
44
+ reused: false,
45
+ };
28
46
  }
29
47
  async openLocal(input, signal) {
30
48
  const provider = await this.localProvider();
@@ -41,9 +59,44 @@ export class SandboxPluginMcpRuntime {
41
59
  }
42
60
  return new NdjsonStreamTransport(handle);
43
61
  }
62
+ async startLocalCommand(input, signal) {
63
+ const provider = await this.localProvider();
64
+ if (!provider.startPluginCommand)
65
+ throw new PluginError("broken_configuration", `${provider.displayName} does not support persistent plugin commands`);
66
+ try {
67
+ await provider.startPluginCommand({
68
+ containerName: input.containerName,
69
+ command: [input.command, ...input.args],
70
+ environment: input.environment,
71
+ }, signal);
72
+ return await this.monitorLocalCommand(input.containerName, signal);
73
+ }
74
+ catch (error) {
75
+ throw new PluginError("broken_configuration", error instanceof Error ? error.message : "Plugin command could not start");
76
+ }
77
+ }
78
+ async monitorLocalCommand(containerName, signal) {
79
+ const provider = await this.localProvider();
80
+ if (!provider.isPluginCommandRunning)
81
+ throw new PluginError("broken_configuration", `${provider.displayName} cannot monitor persistent plugin commands`);
82
+ const controller = new AbortController();
83
+ const abort = () => controller.abort();
84
+ signal?.addEventListener("abort", abort, { once: true });
85
+ const wait = monitorPluginCommand(provider, containerName, controller.signal).finally(() => signal?.removeEventListener("abort", abort));
86
+ return {
87
+ wait,
88
+ close: () => controller.abort(),
89
+ };
90
+ }
44
91
  async removeLocal(containerName) {
45
92
  await (await this.localProvider()).removeSandbox(containerName);
46
93
  }
94
+ async isLocalRunning(containerName, installationId, containerInstanceId) {
95
+ const state = await (await this.localProvider()).inspectPluginSandbox?.(containerName);
96
+ return Boolean(state?.running &&
97
+ state.installationId === installationId &&
98
+ state.containerInstanceId === containerInstanceId);
99
+ }
47
100
  async localProvider() {
48
101
  let provider;
49
102
  try {
@@ -55,8 +108,41 @@ export class SandboxPluginMcpRuntime {
55
108
  : "A local sandbox provider is not configured");
56
109
  }
57
110
  if (provider.locality !== "local")
58
- throw new PluginError("broken_configuration", "Stdio MCP plugins require a local sandbox provider");
111
+ throw new PluginError("broken_configuration", "Container plugins require a local sandbox provider");
59
112
  return provider;
60
113
  }
61
114
  }
115
+ async function monitorPluginCommand(provider, containerName, signal) {
116
+ let completedChecks = 0;
117
+ while (!signal.aborted) {
118
+ try {
119
+ if (!(await provider.isPluginCommandRunning(containerName, signal)))
120
+ return { exitCode: null, signal: null };
121
+ }
122
+ catch {
123
+ if (signal.aborted)
124
+ break;
125
+ // A temporary OCI daemon failure must not revoke a still-running incarnation.
126
+ }
127
+ completedChecks += 1;
128
+ await monitorDelay(signal, completedChecks < COMMAND_MONITOR_STARTUP_CHECKS
129
+ ? COMMAND_MONITOR_STARTUP_INTERVAL_MS
130
+ : COMMAND_MONITOR_STEADY_INTERVAL_MS);
131
+ }
132
+ return { exitCode: null, signal: "SIGTERM" };
133
+ }
134
+ function monitorDelay(signal, milliseconds) {
135
+ if (signal.aborted)
136
+ return Promise.resolve();
137
+ return new Promise((resolve) => {
138
+ const timeout = setTimeout(finish, milliseconds);
139
+ const abort = () => finish();
140
+ function finish() {
141
+ clearTimeout(timeout);
142
+ signal.removeEventListener("abort", abort);
143
+ resolve();
144
+ }
145
+ signal.addEventListener("abort", abort, { once: true });
146
+ });
147
+ }
62
148
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../sources/modules/plugin/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../sources/modules/plugin/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
2
2
  import type { DrizzleExecutor } from "../drizzle.js";
3
+ import type { MutationHint } from "../chat/types.js";
3
4
  import type { PubSub } from "../realtime/index.js";
4
5
  import type { WebhookUrlPolicy } from "../integrations/ssrf.js";
5
6
  import type { WebhookTransport } from "../integrations/types.js";
7
+ import type { TokenService } from "../auth/tokens.js";
8
+ import { type ChatMetadataSummary } from "../chat/chatUpdateMetadata.js";
6
9
  import type { PluginCatalog } from "./catalog.js";
7
10
  import type { PluginPackageStore } from "./packageStore.js";
8
11
  import type { PluginMcpRuntime } from "./runtime.js";
9
12
  import type { PluginSecretProtector } from "./secrets.js";
10
- import { type PluginFunctionDefinition, type PluginFunctionResult, type PluginInstallationSummary } from "./types.js";
13
+ import { type PluginArchiveDownloader } from "./source.js";
14
+ import { type PluginFunctionDefinition, type PluginFunctionResult, type PluginHostPermission, type PluginInstallationSummary, type PreparedPluginSummary, type PluginSkillDefinition, type PluginUpdateCheck } from "./types.js";
11
15
  /** Coordinates durable plugin installs with asynchronous container preparation, MCP health probes, restart recovery, and local connection creation. */
12
16
  export declare class PluginService {
13
17
  private readonly executor;
@@ -16,13 +20,17 @@ export declare class PluginService {
16
20
  private readonly packages;
17
21
  private readonly secrets;
18
22
  private readonly runtime;
23
+ private readonly tokens;
19
24
  private readonly urlPolicy;
20
25
  private readonly remoteTransport;
26
+ private readonly hostApiUrl;
27
+ private readonly archiveDownloader;
21
28
  private readonly onError;
22
29
  private readonly activations;
23
- private readonly localContainers;
30
+ private readonly commandHandles;
31
+ private readonly preparations;
24
32
  private closed;
25
- constructor(executor: DrizzleExecutor, pubsub: PubSub, catalog: PluginCatalog, packages: PluginPackageStore, secrets: PluginSecretProtector, runtime: PluginMcpRuntime, urlPolicy: WebhookUrlPolicy, remoteTransport: WebhookTransport, onError: (error: unknown) => void);
33
+ constructor(executor: DrizzleExecutor, pubsub: PubSub, catalog: PluginCatalog, packages: PluginPackageStore, secrets: PluginSecretProtector, runtime: PluginMcpRuntime, tokens: TokenService, urlPolicy: WebhookUrlPolicy, remoteTransport: WebhookTransport, hostApiUrl: string, archiveDownloader: PluginArchiveDownloader, onError: (error: unknown) => void);
26
34
  start(): Promise<void>;
27
35
  install(input: {
28
36
  actorUserId: string;
@@ -30,6 +38,37 @@ export declare class PluginService {
30
38
  variables: Readonly<Record<string, string>>;
31
39
  containerImageId?: string;
32
40
  }): Promise<PluginInstallationSummary>;
41
+ prepareUpload(actorUserId: string, archive: Buffer, onProgress: (stage: string, detail: string, bytes?: {
42
+ receivedBytes: number;
43
+ totalBytes?: number;
44
+ }) => void): Promise<{
45
+ selectionRequired: false;
46
+ candidates: PreparedPluginSummary[];
47
+ }>;
48
+ prepareRemote(actorUserId: string, input: {
49
+ kind: "github" | "zip_url";
50
+ url: string;
51
+ }, onProgress: (stage: string, detail: string, bytes?: {
52
+ receivedBytes: number;
53
+ totalBytes?: number;
54
+ }) => void, signal?: AbortSignal): Promise<{
55
+ selectionRequired: boolean;
56
+ candidates: PreparedPluginSummary[];
57
+ }>;
58
+ installPrepared(input: {
59
+ actorUserId: string;
60
+ preparedToken: string;
61
+ variables: Readonly<Record<string, string>>;
62
+ containerImageId?: string;
63
+ }): Promise<PluginInstallationSummary>;
64
+ uninstall(actorUserId: string, pluginId: string): Promise<{
65
+ installationIds: string[];
66
+ pluginId: string;
67
+ }>;
68
+ checkForUpdate(actorUserId: string, pluginId: string, onProgress: (stage: string, detail: string, bytes?: {
69
+ receivedBytes: number;
70
+ totalBytes?: number;
71
+ }) => void, signal?: AbortSignal): Promise<PluginUpdateCheck>;
33
72
  image(actorUserId: string, pluginId: string): Promise<{
34
73
  body: Buffer;
35
74
  contentType: string;
@@ -37,16 +76,36 @@ export declare class PluginService {
37
76
  }>;
38
77
  openLocal(installationId: string): Promise<Transport>;
39
78
  listFunctions(signal?: AbortSignal): Promise<readonly PluginFunctionDefinition[]>;
40
- private listFunctionsWithSignal;
41
- callFunction(functionName: string, args: unknown, signal?: AbortSignal): Promise<PluginFunctionResult>;
79
+ listSkills(signal?: AbortSignal): Promise<readonly PluginSkillDefinition[]>;
80
+ readSkill(skill: PluginSkillDefinition, signal?: AbortSignal): Promise<PluginFunctionResult>;
81
+ callFunction(functionName: string, args: unknown, context: {
82
+ chatId: string;
83
+ }, signal?: AbortSignal): Promise<PluginFunctionResult>;
42
84
  private callFunctionWithSignal;
85
+ private skillSources;
86
+ authorizeHost(token: string, permission: PluginHostPermission): Promise<string>;
87
+ chatUpdate(runtimeToken: string, chatToken: string, input: {
88
+ title?: string;
89
+ description?: string | null;
90
+ }): Promise<{
91
+ chat: ChatMetadataSummary;
92
+ sync: MutationHint;
93
+ }>;
43
94
  close(): Promise<void>;
95
+ private prepareArchive;
96
+ private preparationTake;
97
+ private preparationsExpire;
44
98
  private activate;
45
99
  private withClient;
46
100
  private runActivation;
47
101
  private probeLocal;
102
+ private discoverTools;
48
103
  private probeRemote;
49
104
  private status;
50
105
  private publish;
106
+ private closeCommand;
107
+ private monitorCommand;
108
+ private runtimeEnvironment;
109
+ private pluginRuntimeToken;
51
110
  }
52
111
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/plugin/service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAUjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAEjC,MAAM,YAAY,CAAC;AAOpB,uJAAuJ;AACvJ,qBAAa,aAAa;IASlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IACJ,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,MAAM,CAAS;IAEvB,YACqB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EAClD;IAEE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3B;IAEK,OAAO,CAAC,KAAK,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAgCrC;IAEK,KAAK,CACP,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAmBxE;IAEK,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAc1D;IAEK,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAOtF;YAEa,uBAAuB;IA6D/B,YAAY,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAmB/B;YAEa,sBAAsB;IA6D9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;IAED,OAAO,CAAC,QAAQ;YASF,UAAU;YAyCV,aAAa;YAwFb,UAAU;YA2BV,WAAW;YA2DX,MAAM;IAiBpB,OAAO,CAAC,OAAO;CAGlB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/plugin/service.ts"],"names":[],"mappings":"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"}