@dealdesk/server 2026.527.0-canary.0

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 (1311) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/helpers/embedded-postgres.d.ts +2 -0
  3. package/dist/__tests__/helpers/embedded-postgres.d.ts.map +1 -0
  4. package/dist/__tests__/helpers/embedded-postgres.js +2 -0
  5. package/dist/__tests__/helpers/embedded-postgres.js.map +1 -0
  6. package/dist/adapters/builtin-adapter-types.d.ts +5 -0
  7. package/dist/adapters/builtin-adapter-types.d.ts.map +1 -0
  8. package/dist/adapters/builtin-adapter-types.js +18 -0
  9. package/dist/adapters/builtin-adapter-types.js.map +1 -0
  10. package/dist/adapters/codex-models.d.ts +5 -0
  11. package/dist/adapters/codex-models.d.ts.map +1 -0
  12. package/dist/adapters/codex-models.js +105 -0
  13. package/dist/adapters/codex-models.js.map +1 -0
  14. package/dist/adapters/cursor-models.d.ts +13 -0
  15. package/dist/adapters/cursor-models.d.ts.map +1 -0
  16. package/dist/adapters/cursor-models.js +148 -0
  17. package/dist/adapters/cursor-models.js.map +1 -0
  18. package/dist/adapters/http/execute.d.ts +3 -0
  19. package/dist/adapters/http/execute.d.ts.map +1 -0
  20. package/dist/adapters/http/execute.js +51 -0
  21. package/dist/adapters/http/execute.js.map +1 -0
  22. package/dist/adapters/http/execute.test.d.ts +2 -0
  23. package/dist/adapters/http/execute.test.d.ts.map +1 -0
  24. package/dist/adapters/http/execute.test.js +40 -0
  25. package/dist/adapters/http/execute.test.js.map +1 -0
  26. package/dist/adapters/http/index.d.ts +3 -0
  27. package/dist/adapters/http/index.d.ts.map +1 -0
  28. package/dist/adapters/http/index.js +20 -0
  29. package/dist/adapters/http/index.js.map +1 -0
  30. package/dist/adapters/http/test.d.ts +3 -0
  31. package/dist/adapters/http/test.d.ts.map +1 -0
  32. package/dist/adapters/http/test.js +106 -0
  33. package/dist/adapters/http/test.js.map +1 -0
  34. package/dist/adapters/index.d.ts +4 -0
  35. package/dist/adapters/index.d.ts.map +1 -0
  36. package/dist/adapters/index.js +3 -0
  37. package/dist/adapters/index.js.map +1 -0
  38. package/dist/adapters/plugin-loader.d.ts +28 -0
  39. package/dist/adapters/plugin-loader.d.ts.map +1 -0
  40. package/dist/adapters/plugin-loader.js +196 -0
  41. package/dist/adapters/plugin-loader.js.map +1 -0
  42. package/dist/adapters/process/execute.d.ts +3 -0
  43. package/dist/adapters/process/execute.d.ts.map +1 -0
  44. package/dist/adapters/process/execute.js +70 -0
  45. package/dist/adapters/process/execute.js.map +1 -0
  46. package/dist/adapters/process/index.d.ts +3 -0
  47. package/dist/adapters/process/index.d.ts.map +1 -0
  48. package/dist/adapters/process/index.js +23 -0
  49. package/dist/adapters/process/index.js.map +1 -0
  50. package/dist/adapters/process/test.d.ts +3 -0
  51. package/dist/adapters/process/test.d.ts.map +1 -0
  52. package/dist/adapters/process/test.js +77 -0
  53. package/dist/adapters/process/test.js.map +1 -0
  54. package/dist/adapters/registry.d.ts +69 -0
  55. package/dist/adapters/registry.d.ts.map +1 -0
  56. package/dist/adapters/registry.js +589 -0
  57. package/dist/adapters/registry.js.map +1 -0
  58. package/dist/adapters/types.d.ts +2 -0
  59. package/dist/adapters/types.d.ts.map +1 -0
  60. package/dist/adapters/types.js +2 -0
  61. package/dist/adapters/types.js.map +1 -0
  62. package/dist/adapters/utils.d.ts +43 -0
  63. package/dist/adapters/utils.d.ts.map +1 -0
  64. package/dist/adapters/utils.js +52 -0
  65. package/dist/adapters/utils.js.map +1 -0
  66. package/dist/agent-auth-jwt.d.ts +14 -0
  67. package/dist/agent-auth-jwt.d.ts.map +1 -0
  68. package/dist/agent-auth-jwt.js +117 -0
  69. package/dist/agent-auth-jwt.js.map +1 -0
  70. package/dist/app.d.ts +43 -0
  71. package/dist/app.d.ts.map +1 -0
  72. package/dist/app.js +426 -0
  73. package/dist/app.js.map +1 -0
  74. package/dist/attachment-types.d.ts +23 -0
  75. package/dist/attachment-types.d.ts.map +1 -0
  76. package/dist/attachment-types.js +91 -0
  77. package/dist/attachment-types.js.map +1 -0
  78. package/dist/auth/better-auth.d.ts +33 -0
  79. package/dist/auth/better-auth.d.ts.map +1 -0
  80. package/dist/auth/better-auth.js +133 -0
  81. package/dist/auth/better-auth.js.map +1 -0
  82. package/dist/board-claim.d.ts +23 -0
  83. package/dist/board-claim.d.ts.map +1 -0
  84. package/dist/board-claim.js +115 -0
  85. package/dist/board-claim.js.map +1 -0
  86. package/dist/config-file.d.ts +3 -0
  87. package/dist/config-file.d.ts.map +1 -0
  88. package/dist/config-file.js +16 -0
  89. package/dist/config-file.js.map +1 -0
  90. package/dist/config.d.ts +50 -0
  91. package/dist/config.d.ts.map +1 -0
  92. package/dist/config.js +233 -0
  93. package/dist/config.js.map +1 -0
  94. package/dist/deal-desk/enrichment/__tests__/apollo-client.test.d.ts +2 -0
  95. package/dist/deal-desk/enrichment/__tests__/apollo-client.test.d.ts.map +1 -0
  96. package/dist/deal-desk/enrichment/__tests__/apollo-client.test.js +168 -0
  97. package/dist/deal-desk/enrichment/__tests__/apollo-client.test.js.map +1 -0
  98. package/dist/deal-desk/enrichment/__tests__/apollo-config.test.d.ts +2 -0
  99. package/dist/deal-desk/enrichment/__tests__/apollo-config.test.d.ts.map +1 -0
  100. package/dist/deal-desk/enrichment/__tests__/apollo-config.test.js +63 -0
  101. package/dist/deal-desk/enrichment/__tests__/apollo-config.test.js.map +1 -0
  102. package/dist/deal-desk/enrichment/__tests__/resolve-contact-email.test.d.ts +2 -0
  103. package/dist/deal-desk/enrichment/__tests__/resolve-contact-email.test.d.ts.map +1 -0
  104. package/dist/deal-desk/enrichment/__tests__/resolve-contact-email.test.js +127 -0
  105. package/dist/deal-desk/enrichment/__tests__/resolve-contact-email.test.js.map +1 -0
  106. package/dist/deal-desk/enrichment/apollo-client.d.ts +57 -0
  107. package/dist/deal-desk/enrichment/apollo-client.d.ts.map +1 -0
  108. package/dist/deal-desk/enrichment/apollo-client.js +263 -0
  109. package/dist/deal-desk/enrichment/apollo-client.js.map +1 -0
  110. package/dist/deal-desk/enrichment/apollo-config.d.ts +56 -0
  111. package/dist/deal-desk/enrichment/apollo-config.d.ts.map +1 -0
  112. package/dist/deal-desk/enrichment/apollo-config.js +58 -0
  113. package/dist/deal-desk/enrichment/apollo-config.js.map +1 -0
  114. package/dist/deal-desk/enrichment/resolve-contact-email.d.ts +62 -0
  115. package/dist/deal-desk/enrichment/resolve-contact-email.d.ts.map +1 -0
  116. package/dist/deal-desk/enrichment/resolve-contact-email.js +199 -0
  117. package/dist/deal-desk/enrichment/resolve-contact-email.js.map +1 -0
  118. package/dist/deal-desk/gmail/__tests__/client-config.test.d.ts +2 -0
  119. package/dist/deal-desk/gmail/__tests__/client-config.test.d.ts.map +1 -0
  120. package/dist/deal-desk/gmail/__tests__/client-config.test.js +73 -0
  121. package/dist/deal-desk/gmail/__tests__/client-config.test.js.map +1 -0
  122. package/dist/deal-desk/gmail/__tests__/oauth.test.d.ts +2 -0
  123. package/dist/deal-desk/gmail/__tests__/oauth.test.d.ts.map +1 -0
  124. package/dist/deal-desk/gmail/__tests__/oauth.test.js +38 -0
  125. package/dist/deal-desk/gmail/__tests__/oauth.test.js.map +1 -0
  126. package/dist/deal-desk/gmail/__tests__/redirect-uri.test.d.ts +2 -0
  127. package/dist/deal-desk/gmail/__tests__/redirect-uri.test.d.ts.map +1 -0
  128. package/dist/deal-desk/gmail/__tests__/redirect-uri.test.js +74 -0
  129. package/dist/deal-desk/gmail/__tests__/redirect-uri.test.js.map +1 -0
  130. package/dist/deal-desk/gmail/__tests__/send.test.d.ts +2 -0
  131. package/dist/deal-desk/gmail/__tests__/send.test.d.ts.map +1 -0
  132. package/dist/deal-desk/gmail/__tests__/send.test.js +44 -0
  133. package/dist/deal-desk/gmail/__tests__/send.test.js.map +1 -0
  134. package/dist/deal-desk/gmail/__tests__/tokens.test.d.ts +2 -0
  135. package/dist/deal-desk/gmail/__tests__/tokens.test.d.ts.map +1 -0
  136. package/dist/deal-desk/gmail/__tests__/tokens.test.js +69 -0
  137. package/dist/deal-desk/gmail/__tests__/tokens.test.js.map +1 -0
  138. package/dist/deal-desk/gmail/client-config.d.ts +51 -0
  139. package/dist/deal-desk/gmail/client-config.d.ts.map +1 -0
  140. package/dist/deal-desk/gmail/client-config.js +38 -0
  141. package/dist/deal-desk/gmail/client-config.js.map +1 -0
  142. package/dist/deal-desk/gmail/oauth.d.ts +26 -0
  143. package/dist/deal-desk/gmail/oauth.d.ts.map +1 -0
  144. package/dist/deal-desk/gmail/oauth.js +50 -0
  145. package/dist/deal-desk/gmail/oauth.js.map +1 -0
  146. package/dist/deal-desk/gmail/redirect-uri.d.ts +8 -0
  147. package/dist/deal-desk/gmail/redirect-uri.d.ts.map +1 -0
  148. package/dist/deal-desk/gmail/redirect-uri.js +83 -0
  149. package/dist/deal-desk/gmail/redirect-uri.js.map +1 -0
  150. package/dist/deal-desk/gmail/send.d.ts +19 -0
  151. package/dist/deal-desk/gmail/send.d.ts.map +1 -0
  152. package/dist/deal-desk/gmail/send.js +39 -0
  153. package/dist/deal-desk/gmail/send.js.map +1 -0
  154. package/dist/deal-desk/gmail/tokens.d.ts +50 -0
  155. package/dist/deal-desk/gmail/tokens.d.ts.map +1 -0
  156. package/dist/deal-desk/gmail/tokens.js +50 -0
  157. package/dist/deal-desk/gmail/tokens.js.map +1 -0
  158. package/dist/deal-desk/intermediary-campaign.d.ts +4 -0
  159. package/dist/deal-desk/intermediary-campaign.d.ts.map +1 -0
  160. package/dist/deal-desk/intermediary-campaign.js +26 -0
  161. package/dist/deal-desk/intermediary-campaign.js.map +1 -0
  162. package/dist/deal-desk/seeds/role-templates.d.ts +10 -0
  163. package/dist/deal-desk/seeds/role-templates.d.ts.map +1 -0
  164. package/dist/deal-desk/seeds/role-templates.js +110 -0
  165. package/dist/deal-desk/seeds/role-templates.js.map +1 -0
  166. package/dist/deal-desk/seeds/seed-role-templates.d.ts +3 -0
  167. package/dist/deal-desk/seeds/seed-role-templates.d.ts.map +1 -0
  168. package/dist/deal-desk/seeds/seed-role-templates.js +39 -0
  169. package/dist/deal-desk/seeds/seed-role-templates.js.map +1 -0
  170. package/dist/deal-desk/target-service.d.ts +131 -0
  171. package/dist/deal-desk/target-service.d.ts.map +1 -0
  172. package/dist/deal-desk/target-service.js +169 -0
  173. package/dist/deal-desk/target-service.js.map +1 -0
  174. package/dist/deal-desk/tools/__tests__/apollo-api-key.test.d.ts +2 -0
  175. package/dist/deal-desk/tools/__tests__/apollo-api-key.test.d.ts.map +1 -0
  176. package/dist/deal-desk/tools/__tests__/apollo-api-key.test.js +122 -0
  177. package/dist/deal-desk/tools/__tests__/apollo-api-key.test.js.map +1 -0
  178. package/dist/deal-desk/tools/__tests__/create-contact.test.d.ts +2 -0
  179. package/dist/deal-desk/tools/__tests__/create-contact.test.d.ts.map +1 -0
  180. package/dist/deal-desk/tools/__tests__/create-contact.test.js +73 -0
  181. package/dist/deal-desk/tools/__tests__/create-contact.test.js.map +1 -0
  182. package/dist/deal-desk/tools/__tests__/deal-desk-tools.test.d.ts +2 -0
  183. package/dist/deal-desk/tools/__tests__/deal-desk-tools.test.d.ts.map +1 -0
  184. package/dist/deal-desk/tools/__tests__/deal-desk-tools.test.js +193 -0
  185. package/dist/deal-desk/tools/__tests__/deal-desk-tools.test.js.map +1 -0
  186. package/dist/deal-desk/tools/__tests__/email-accounts.test.d.ts +2 -0
  187. package/dist/deal-desk/tools/__tests__/email-accounts.test.d.ts.map +1 -0
  188. package/dist/deal-desk/tools/__tests__/email-accounts.test.js +71 -0
  189. package/dist/deal-desk/tools/__tests__/email-accounts.test.js.map +1 -0
  190. package/dist/deal-desk/tools/__tests__/enrich-contact.test.d.ts +2 -0
  191. package/dist/deal-desk/tools/__tests__/enrich-contact.test.d.ts.map +1 -0
  192. package/dist/deal-desk/tools/__tests__/enrich-contact.test.js +183 -0
  193. package/dist/deal-desk/tools/__tests__/enrich-contact.test.js.map +1 -0
  194. package/dist/deal-desk/tools/__tests__/gmail-client-config.test.d.ts +2 -0
  195. package/dist/deal-desk/tools/__tests__/gmail-client-config.test.d.ts.map +1 -0
  196. package/dist/deal-desk/tools/__tests__/gmail-client-config.test.js +67 -0
  197. package/dist/deal-desk/tools/__tests__/gmail-client-config.test.js.map +1 -0
  198. package/dist/deal-desk/tools/__tests__/helpers/where-introspection.d.ts +2 -0
  199. package/dist/deal-desk/tools/__tests__/helpers/where-introspection.d.ts.map +1 -0
  200. package/dist/deal-desk/tools/__tests__/helpers/where-introspection.js +29 -0
  201. package/dist/deal-desk/tools/__tests__/helpers/where-introspection.js.map +1 -0
  202. package/dist/deal-desk/tools/__tests__/outreach-approve.test.d.ts +2 -0
  203. package/dist/deal-desk/tools/__tests__/outreach-approve.test.d.ts.map +1 -0
  204. package/dist/deal-desk/tools/__tests__/outreach-approve.test.js +258 -0
  205. package/dist/deal-desk/tools/__tests__/outreach-approve.test.js.map +1 -0
  206. package/dist/deal-desk/tools/__tests__/outreach-draft.test.d.ts +2 -0
  207. package/dist/deal-desk/tools/__tests__/outreach-draft.test.d.ts.map +1 -0
  208. package/dist/deal-desk/tools/__tests__/outreach-draft.test.js +115 -0
  209. package/dist/deal-desk/tools/__tests__/outreach-draft.test.js.map +1 -0
  210. package/dist/deal-desk/tools/__tests__/outreach-edit.test.d.ts +2 -0
  211. package/dist/deal-desk/tools/__tests__/outreach-edit.test.d.ts.map +1 -0
  212. package/dist/deal-desk/tools/__tests__/outreach-edit.test.js +169 -0
  213. package/dist/deal-desk/tools/__tests__/outreach-edit.test.js.map +1 -0
  214. package/dist/deal-desk/tools/__tests__/outreach-list-pending.test.d.ts +2 -0
  215. package/dist/deal-desk/tools/__tests__/outreach-list-pending.test.d.ts.map +1 -0
  216. package/dist/deal-desk/tools/__tests__/outreach-list-pending.test.js +59 -0
  217. package/dist/deal-desk/tools/__tests__/outreach-list-pending.test.js.map +1 -0
  218. package/dist/deal-desk/tools/__tests__/test-gmail-send.test.d.ts +2 -0
  219. package/dist/deal-desk/tools/__tests__/test-gmail-send.test.d.ts.map +1 -0
  220. package/dist/deal-desk/tools/__tests__/test-gmail-send.test.js +98 -0
  221. package/dist/deal-desk/tools/__tests__/test-gmail-send.test.js.map +1 -0
  222. package/dist/deal-desk/tools/apollo-api-key.d.ts +11 -0
  223. package/dist/deal-desk/tools/apollo-api-key.d.ts.map +1 -0
  224. package/dist/deal-desk/tools/apollo-api-key.js +70 -0
  225. package/dist/deal-desk/tools/apollo-api-key.js.map +1 -0
  226. package/dist/deal-desk/tools/create-contact.d.ts +28 -0
  227. package/dist/deal-desk/tools/create-contact.d.ts.map +1 -0
  228. package/dist/deal-desk/tools/create-contact.js +52 -0
  229. package/dist/deal-desk/tools/create-contact.js.map +1 -0
  230. package/dist/deal-desk/tools/create-intermediary.d.ts +62 -0
  231. package/dist/deal-desk/tools/create-intermediary.d.ts.map +1 -0
  232. package/dist/deal-desk/tools/create-intermediary.js +105 -0
  233. package/dist/deal-desk/tools/create-intermediary.js.map +1 -0
  234. package/dist/deal-desk/tools/create-target.d.ts +8 -0
  235. package/dist/deal-desk/tools/create-target.d.ts.map +1 -0
  236. package/dist/deal-desk/tools/create-target.js +56 -0
  237. package/dist/deal-desk/tools/create-target.js.map +1 -0
  238. package/dist/deal-desk/tools/enrich-contact.d.ts +22 -0
  239. package/dist/deal-desk/tools/enrich-contact.d.ts.map +1 -0
  240. package/dist/deal-desk/tools/enrich-contact.js +85 -0
  241. package/dist/deal-desk/tools/enrich-contact.js.map +1 -0
  242. package/dist/deal-desk/tools/get-target.d.ts +5 -0
  243. package/dist/deal-desk/tools/get-target.d.ts.map +1 -0
  244. package/dist/deal-desk/tools/get-target.js +33 -0
  245. package/dist/deal-desk/tools/get-target.js.map +1 -0
  246. package/dist/deal-desk/tools/gmail-client-config.d.ts +20 -0
  247. package/dist/deal-desk/tools/gmail-client-config.d.ts.map +1 -0
  248. package/dist/deal-desk/tools/gmail-client-config.js +43 -0
  249. package/dist/deal-desk/tools/gmail-client-config.js.map +1 -0
  250. package/dist/deal-desk/tools/index.d.ts +39 -0
  251. package/dist/deal-desk/tools/index.d.ts.map +1 -0
  252. package/dist/deal-desk/tools/index.js +208 -0
  253. package/dist/deal-desk/tools/index.js.map +1 -0
  254. package/dist/deal-desk/tools/intermediary-outreach-draft.d.ts +21 -0
  255. package/dist/deal-desk/tools/intermediary-outreach-draft.d.ts.map +1 -0
  256. package/dist/deal-desk/tools/intermediary-outreach-draft.js +59 -0
  257. package/dist/deal-desk/tools/intermediary-outreach-draft.js.map +1 -0
  258. package/dist/deal-desk/tools/list-intermediaries.d.ts +20 -0
  259. package/dist/deal-desk/tools/list-intermediaries.d.ts.map +1 -0
  260. package/dist/deal-desk/tools/list-intermediaries.js +74 -0
  261. package/dist/deal-desk/tools/list-intermediaries.js.map +1 -0
  262. package/dist/deal-desk/tools/list-targets.d.ts +20 -0
  263. package/dist/deal-desk/tools/list-targets.d.ts.map +1 -0
  264. package/dist/deal-desk/tools/list-targets.js +73 -0
  265. package/dist/deal-desk/tools/list-targets.js.map +1 -0
  266. package/dist/deal-desk/tools/outreach-approve.d.ts +18 -0
  267. package/dist/deal-desk/tools/outreach-approve.d.ts.map +1 -0
  268. package/dist/deal-desk/tools/outreach-approve.js +229 -0
  269. package/dist/deal-desk/tools/outreach-approve.js.map +1 -0
  270. package/dist/deal-desk/tools/outreach-draft.d.ts +32 -0
  271. package/dist/deal-desk/tools/outreach-draft.d.ts.map +1 -0
  272. package/dist/deal-desk/tools/outreach-draft.js +101 -0
  273. package/dist/deal-desk/tools/outreach-draft.js.map +1 -0
  274. package/dist/deal-desk/tools/outreach-edit.d.ts +6 -0
  275. package/dist/deal-desk/tools/outreach-edit.d.ts.map +1 -0
  276. package/dist/deal-desk/tools/outreach-edit.js +94 -0
  277. package/dist/deal-desk/tools/outreach-edit.js.map +1 -0
  278. package/dist/deal-desk/tools/outreach-list-pending.d.ts +4 -0
  279. package/dist/deal-desk/tools/outreach-list-pending.d.ts.map +1 -0
  280. package/dist/deal-desk/tools/outreach-list-pending.js +55 -0
  281. package/dist/deal-desk/tools/outreach-list-pending.js.map +1 -0
  282. package/dist/deal-desk/tools/record-intermediary-touch.d.ts +20 -0
  283. package/dist/deal-desk/tools/record-intermediary-touch.d.ts.map +1 -0
  284. package/dist/deal-desk/tools/record-intermediary-touch.js +80 -0
  285. package/dist/deal-desk/tools/record-intermediary-touch.js.map +1 -0
  286. package/dist/deal-desk/tools/test-gmail-send.d.ts +21 -0
  287. package/dist/deal-desk/tools/test-gmail-send.d.ts.map +1 -0
  288. package/dist/deal-desk/tools/test-gmail-send.js +65 -0
  289. package/dist/deal-desk/tools/test-gmail-send.js.map +1 -0
  290. package/dist/deal-desk/tools/update-target.d.ts +6 -0
  291. package/dist/deal-desk/tools/update-target.d.ts.map +1 -0
  292. package/dist/deal-desk/tools/update-target.js +43 -0
  293. package/dist/deal-desk/tools/update-target.js.map +1 -0
  294. package/dist/dev-runner-worktree.d.ts +15 -0
  295. package/dist/dev-runner-worktree.d.ts.map +1 -0
  296. package/dist/dev-runner-worktree.js +68 -0
  297. package/dist/dev-runner-worktree.js.map +1 -0
  298. package/dist/dev-server-status.d.ts +27 -0
  299. package/dist/dev-server-status.d.ts.map +1 -0
  300. package/dist/dev-server-status.js +74 -0
  301. package/dist/dev-server-status.js.map +1 -0
  302. package/dist/dev-watch-ignore.d.ts +2 -0
  303. package/dist/dev-watch-ignore.d.ts.map +1 -0
  304. package/dist/dev-watch-ignore.js +36 -0
  305. package/dist/dev-watch-ignore.js.map +1 -0
  306. package/dist/embedded-postgres-watchdog.d.ts +12 -0
  307. package/dist/embedded-postgres-watchdog.d.ts.map +1 -0
  308. package/dist/embedded-postgres-watchdog.js +21 -0
  309. package/dist/embedded-postgres-watchdog.js.map +1 -0
  310. package/dist/errors.d.ts +12 -0
  311. package/dist/errors.d.ts.map +1 -0
  312. package/dist/errors.js +28 -0
  313. package/dist/errors.js.map +1 -0
  314. package/dist/home-paths.d.ts +15 -0
  315. package/dist/home-paths.d.ts.map +1 -0
  316. package/dist/home-paths.js +48 -0
  317. package/dist/home-paths.js.map +1 -0
  318. package/dist/index.d.ts +10 -0
  319. package/dist/index.d.ts.map +1 -0
  320. package/dist/index.js +787 -0
  321. package/dist/index.js.map +1 -0
  322. package/dist/lib/join-request-dedupe.d.ts +11 -0
  323. package/dist/lib/join-request-dedupe.d.ts.map +1 -0
  324. package/dist/lib/join-request-dedupe.js +49 -0
  325. package/dist/lib/join-request-dedupe.js.map +1 -0
  326. package/dist/log-redaction.d.ts +11 -0
  327. package/dist/log-redaction.d.ts.map +1 -0
  328. package/dist/log-redaction.js +122 -0
  329. package/dist/log-redaction.js.map +1 -0
  330. package/dist/middleware/auth.d.ts +12 -0
  331. package/dist/middleware/auth.d.ts.map +1 -0
  332. package/dist/middleware/auth.js +302 -0
  333. package/dist/middleware/auth.js.map +1 -0
  334. package/dist/middleware/board-mutation-guard.d.ts +3 -0
  335. package/dist/middleware/board-mutation-guard.d.ts.map +1 -0
  336. package/dist/middleware/board-mutation-guard.js +67 -0
  337. package/dist/middleware/board-mutation-guard.js.map +1 -0
  338. package/dist/middleware/error-handler.d.ts +17 -0
  339. package/dist/middleware/error-handler.d.ts.map +1 -0
  340. package/dist/middleware/error-handler.js +45 -0
  341. package/dist/middleware/error-handler.js.map +1 -0
  342. package/dist/middleware/http-log-policy.d.ts +2 -0
  343. package/dist/middleware/http-log-policy.d.ts.map +1 -0
  344. package/dist/middleware/http-log-policy.js +52 -0
  345. package/dist/middleware/http-log-policy.js.map +1 -0
  346. package/dist/middleware/index.d.ts +4 -0
  347. package/dist/middleware/index.d.ts.map +1 -0
  348. package/dist/middleware/index.js +4 -0
  349. package/dist/middleware/index.js.map +1 -0
  350. package/dist/middleware/logger.d.ts +4 -0
  351. package/dist/middleware/logger.d.ts.map +1 -0
  352. package/dist/middleware/logger.js +92 -0
  353. package/dist/middleware/logger.js.map +1 -0
  354. package/dist/middleware/private-hostname-guard.d.ts +11 -0
  355. package/dist/middleware/private-hostname-guard.d.ts.map +1 -0
  356. package/dist/middleware/private-hostname-guard.js +78 -0
  357. package/dist/middleware/private-hostname-guard.js.map +1 -0
  358. package/dist/middleware/validate.d.ts +4 -0
  359. package/dist/middleware/validate.d.ts.map +1 -0
  360. package/dist/middleware/validate.js +7 -0
  361. package/dist/middleware/validate.js.map +1 -0
  362. package/dist/onboarding-assets/ceo/AGENTS.md +59 -0
  363. package/dist/onboarding-assets/ceo/HEARTBEAT.md +85 -0
  364. package/dist/onboarding-assets/ceo/SOUL.md +33 -0
  365. package/dist/onboarding-assets/ceo/TOOLS.md +3 -0
  366. package/dist/onboarding-assets/default/AGENTS.md +17 -0
  367. package/dist/paths.d.ts +3 -0
  368. package/dist/paths.d.ts.map +1 -0
  369. package/dist/paths.js +31 -0
  370. package/dist/paths.js.map +1 -0
  371. package/dist/realtime/live-events-ws.d.ts +28 -0
  372. package/dist/realtime/live-events-ws.d.ts.map +1 -0
  373. package/dist/realtime/live-events-ws.js +187 -0
  374. package/dist/realtime/live-events-ws.js.map +1 -0
  375. package/dist/redaction.d.ts +5 -0
  376. package/dist/redaction.d.ts.map +1 -0
  377. package/dist/redaction.js +98 -0
  378. package/dist/redaction.js.map +1 -0
  379. package/dist/routes/__tests__/deal-desk-thesis.test.d.ts +2 -0
  380. package/dist/routes/__tests__/deal-desk-thesis.test.d.ts.map +1 -0
  381. package/dist/routes/__tests__/deal-desk-thesis.test.js +53 -0
  382. package/dist/routes/__tests__/deal-desk-thesis.test.js.map +1 -0
  383. package/dist/routes/__tests__/gmail-oauth.test.d.ts +2 -0
  384. package/dist/routes/__tests__/gmail-oauth.test.d.ts.map +1 -0
  385. package/dist/routes/__tests__/gmail-oauth.test.js +99 -0
  386. package/dist/routes/__tests__/gmail-oauth.test.js.map +1 -0
  387. package/dist/routes/access.d.ts +82 -0
  388. package/dist/routes/access.d.ts.map +1 -0
  389. package/dist/routes/access.js +3411 -0
  390. package/dist/routes/access.js.map +1 -0
  391. package/dist/routes/activity.d.ts +3 -0
  392. package/dist/routes/activity.d.ts.map +1 -0
  393. package/dist/routes/activity.js +90 -0
  394. package/dist/routes/activity.js.map +1 -0
  395. package/dist/routes/adapters.d.ts +16 -0
  396. package/dist/routes/adapters.d.ts.map +1 -0
  397. package/dist/routes/adapters.js +527 -0
  398. package/dist/routes/adapters.js.map +1 -0
  399. package/dist/routes/agents.d.ts +6 -0
  400. package/dist/routes/agents.d.ts.map +1 -0
  401. package/dist/routes/agents.js +2765 -0
  402. package/dist/routes/agents.js.map +1 -0
  403. package/dist/routes/approvals.d.ts +6 -0
  404. package/dist/routes/approvals.d.ts.map +1 -0
  405. package/dist/routes/approvals.js +300 -0
  406. package/dist/routes/approvals.js.map +1 -0
  407. package/dist/routes/assets.d.ts +4 -0
  408. package/dist/routes/assets.d.ts.map +1 -0
  409. package/dist/routes/assets.js +309 -0
  410. package/dist/routes/assets.js.map +1 -0
  411. package/dist/routes/auth.d.ts +3 -0
  412. package/dist/routes/auth.d.ts.map +1 -0
  413. package/dist/routes/auth.js +82 -0
  414. package/dist/routes/auth.js.map +1 -0
  415. package/dist/routes/authz.d.ts +19 -0
  416. package/dist/routes/authz.d.ts.map +1 -0
  417. package/dist/routes/authz.js +75 -0
  418. package/dist/routes/authz.js.map +1 -0
  419. package/dist/routes/companies.d.ts +4 -0
  420. package/dist/routes/companies.d.ts.map +1 -0
  421. package/dist/routes/companies.js +359 -0
  422. package/dist/routes/companies.js.map +1 -0
  423. package/dist/routes/company-skills.d.ts +3 -0
  424. package/dist/routes/company-skills.d.ts.map +1 -0
  425. package/dist/routes/company-skills.js +258 -0
  426. package/dist/routes/company-skills.js.map +1 -0
  427. package/dist/routes/costs.d.ts +11 -0
  428. package/dist/routes/costs.d.ts.map +1 -0
  429. package/dist/routes/costs.js +307 -0
  430. package/dist/routes/costs.js.map +1 -0
  431. package/dist/routes/dashboard.d.ts +3 -0
  432. package/dist/routes/dashboard.d.ts.map +1 -0
  433. package/dist/routes/dashboard.js +15 -0
  434. package/dist/routes/dashboard.js.map +1 -0
  435. package/dist/routes/deal-desk.d.ts +83 -0
  436. package/dist/routes/deal-desk.d.ts.map +1 -0
  437. package/dist/routes/deal-desk.js +288 -0
  438. package/dist/routes/deal-desk.js.map +1 -0
  439. package/dist/routes/deal-desk.test.d.ts +2 -0
  440. package/dist/routes/deal-desk.test.d.ts.map +1 -0
  441. package/dist/routes/deal-desk.test.js +291 -0
  442. package/dist/routes/deal-desk.test.js.map +1 -0
  443. package/dist/routes/environment-selection.d.ts +13 -0
  444. package/dist/routes/environment-selection.d.ts.map +1 -0
  445. package/dist/routes/environment-selection.js +30 -0
  446. package/dist/routes/environment-selection.js.map +1 -0
  447. package/dist/routes/environments.d.ts +6 -0
  448. package/dist/routes/environments.d.ts.map +1 -0
  449. package/dist/routes/environments.js +408 -0
  450. package/dist/routes/environments.js.map +1 -0
  451. package/dist/routes/execution-workspaces.d.ts +3 -0
  452. package/dist/routes/execution-workspaces.d.ts.map +1 -0
  453. package/dist/routes/execution-workspaces.js +536 -0
  454. package/dist/routes/execution-workspaces.js.map +1 -0
  455. package/dist/routes/gmail-oauth.d.ts +14 -0
  456. package/dist/routes/gmail-oauth.d.ts.map +1 -0
  457. package/dist/routes/gmail-oauth.js +124 -0
  458. package/dist/routes/gmail-oauth.js.map +1 -0
  459. package/dist/routes/goals.d.ts +3 -0
  460. package/dist/routes/goals.d.ts.map +1 -0
  461. package/dist/routes/goals.js +101 -0
  462. package/dist/routes/goals.js.map +1 -0
  463. package/dist/routes/health.d.ts +9 -0
  464. package/dist/routes/health.d.ts.map +1 -0
  465. package/dist/routes/health.js +114 -0
  466. package/dist/routes/health.js.map +1 -0
  467. package/dist/routes/inbox-dismissals.d.ts +3 -0
  468. package/dist/routes/inbox-dismissals.d.ts.map +1 -0
  469. package/dist/routes/inbox-dismissals.js +58 -0
  470. package/dist/routes/inbox-dismissals.js.map +1 -0
  471. package/dist/routes/index.d.ts +21 -0
  472. package/dist/routes/index.d.ts.map +1 -0
  473. package/dist/routes/index.js +21 -0
  474. package/dist/routes/index.js.map +1 -0
  475. package/dist/routes/instance-database-backups.d.ts +15 -0
  476. package/dist/routes/instance-database-backups.d.ts.map +1 -0
  477. package/dist/routes/instance-database-backups.js +12 -0
  478. package/dist/routes/instance-database-backups.js.map +1 -0
  479. package/dist/routes/instance-settings.d.ts +3 -0
  480. package/dist/routes/instance-settings.d.ts.map +1 -0
  481. package/dist/routes/instance-settings.js +110 -0
  482. package/dist/routes/instance-settings.js.map +1 -0
  483. package/dist/routes/issue-tree-control.d.ts +3 -0
  484. package/dist/routes/issue-tree-control.d.ts.map +1 -0
  485. package/dist/routes/issue-tree-control.js +363 -0
  486. package/dist/routes/issue-tree-control.js.map +1 -0
  487. package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
  488. package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
  489. package/dist/routes/issues-checkout-wakeup.js +12 -0
  490. package/dist/routes/issues-checkout-wakeup.js.map +1 -0
  491. package/dist/routes/issues.d.ts +23 -0
  492. package/dist/routes/issues.d.ts.map +1 -0
  493. package/dist/routes/issues.js +4094 -0
  494. package/dist/routes/issues.js.map +1 -0
  495. package/dist/routes/llms.d.ts +3 -0
  496. package/dist/routes/llms.d.ts.map +1 -0
  497. package/dist/routes/llms.js +80 -0
  498. package/dist/routes/llms.js.map +1 -0
  499. package/dist/routes/org-chart-svg.d.ts +25 -0
  500. package/dist/routes/org-chart-svg.d.ts.map +1 -0
  501. package/dist/routes/org-chart-svg.js +656 -0
  502. package/dist/routes/org-chart-svg.js.map +1 -0
  503. package/dist/routes/plugin-ui-static.d.ts +69 -0
  504. package/dist/routes/plugin-ui-static.d.ts.map +1 -0
  505. package/dist/routes/plugin-ui-static.js +411 -0
  506. package/dist/routes/plugin-ui-static.js.map +1 -0
  507. package/dist/routes/plugins.d.ts +121 -0
  508. package/dist/routes/plugins.d.ts.map +1 -0
  509. package/dist/routes/plugins.js +2184 -0
  510. package/dist/routes/plugins.js.map +1 -0
  511. package/dist/routes/projects.d.ts +3 -0
  512. package/dist/routes/projects.d.ts.map +1 -0
  513. package/dist/routes/projects.js +572 -0
  514. package/dist/routes/projects.js.map +1 -0
  515. package/dist/routes/routines.d.ts +6 -0
  516. package/dist/routes/routines.d.ts.map +1 -0
  517. package/dist/routes/routines.js +417 -0
  518. package/dist/routes/routines.js.map +1 -0
  519. package/dist/routes/secrets.d.ts +3 -0
  520. package/dist/routes/secrets.d.ts.map +1 -0
  521. package/dist/routes/secrets.js +392 -0
  522. package/dist/routes/secrets.js.map +1 -0
  523. package/dist/routes/sidebar-badges.d.ts +3 -0
  524. package/dist/routes/sidebar-badges.d.ts.map +1 -0
  525. package/dist/routes/sidebar-badges.js +68 -0
  526. package/dist/routes/sidebar-badges.js.map +1 -0
  527. package/dist/routes/sidebar-preferences.d.ts +3 -0
  528. package/dist/routes/sidebar-preferences.d.ts.map +1 -0
  529. package/dist/routes/sidebar-preferences.js +63 -0
  530. package/dist/routes/sidebar-preferences.js.map +1 -0
  531. package/dist/routes/user-profiles.d.ts +3 -0
  532. package/dist/routes/user-profiles.d.ts.map +1 -0
  533. package/dist/routes/user-profiles.js +337 -0
  534. package/dist/routes/user-profiles.js.map +1 -0
  535. package/dist/routes/workspace-command-authz.d.ts +14 -0
  536. package/dist/routes/workspace-command-authz.d.ts.map +1 -0
  537. package/dist/routes/workspace-command-authz.js +83 -0
  538. package/dist/routes/workspace-command-authz.js.map +1 -0
  539. package/dist/routes/workspace-runtime-service-authz.d.ts +12 -0
  540. package/dist/routes/workspace-runtime-service-authz.d.ts.map +1 -0
  541. package/dist/routes/workspace-runtime-service-authz.js +96 -0
  542. package/dist/routes/workspace-runtime-service-authz.js.map +1 -0
  543. package/dist/runtime-api.d.ts +19 -0
  544. package/dist/runtime-api.d.ts.map +1 -0
  545. package/dist/runtime-api.js +137 -0
  546. package/dist/runtime-api.js.map +1 -0
  547. package/dist/secrets/aws-secrets-manager-provider.d.ts +87 -0
  548. package/dist/secrets/aws-secrets-manager-provider.d.ts.map +1 -0
  549. package/dist/secrets/aws-secrets-manager-provider.js +748 -0
  550. package/dist/secrets/aws-secrets-manager-provider.js.map +1 -0
  551. package/dist/secrets/configured-provider.d.ts +3 -0
  552. package/dist/secrets/configured-provider.d.ts.map +1 -0
  553. package/dist/secrets/configured-provider.js +8 -0
  554. package/dist/secrets/configured-provider.js.map +1 -0
  555. package/dist/secrets/external-stub-providers.d.ts +5 -0
  556. package/dist/secrets/external-stub-providers.d.ts.map +1 -0
  557. package/dist/secrets/external-stub-providers.js +71 -0
  558. package/dist/secrets/external-stub-providers.js.map +1 -0
  559. package/dist/secrets/local-encrypted-provider.d.ts +3 -0
  560. package/dist/secrets/local-encrypted-provider.d.ts.map +1 -0
  561. package/dist/secrets/local-encrypted-provider.js +244 -0
  562. package/dist/secrets/local-encrypted-provider.js.map +1 -0
  563. package/dist/secrets/provider-registry.d.ts +6 -0
  564. package/dist/secrets/provider-registry.d.ts.map +1 -0
  565. package/dist/secrets/provider-registry.js +24 -0
  566. package/dist/secrets/provider-registry.js.map +1 -0
  567. package/dist/secrets/types.d.ts +131 -0
  568. package/dist/secrets/types.d.ts.map +1 -0
  569. package/dist/secrets/types.js +36 -0
  570. package/dist/secrets/types.js.map +1 -0
  571. package/dist/services/access.d.ts +171 -0
  572. package/dist/services/access.d.ts.map +1 -0
  573. package/dist/services/access.js +522 -0
  574. package/dist/services/access.js.map +1 -0
  575. package/dist/services/activity-log.d.ts +19 -0
  576. package/dist/services/activity-log.d.ts.map +1 -0
  577. package/dist/services/activity-log.js +99 -0
  578. package/dist/services/activity-log.js.map +1 -0
  579. package/dist/services/activity.d.ts +462 -0
  580. package/dist/services/activity.d.ts.map +1 -0
  581. package/dist/services/activity.js +443 -0
  582. package/dist/services/activity.js.map +1 -0
  583. package/dist/services/adapter-plugin-store.d.ts +36 -0
  584. package/dist/services/adapter-plugin-store.d.ts.map +1 -0
  585. package/dist/services/adapter-plugin-store.js +154 -0
  586. package/dist/services/adapter-plugin-store.js.map +1 -0
  587. package/dist/services/agent-instructions.d.ts +91 -0
  588. package/dist/services/agent-instructions.d.ts.map +1 -0
  589. package/dist/services/agent-instructions.js +580 -0
  590. package/dist/services/agent-instructions.js.map +1 -0
  591. package/dist/services/agent-permissions.d.ts +6 -0
  592. package/dist/services/agent-permissions.d.ts.map +1 -0
  593. package/dist/services/agent-permissions.js +18 -0
  594. package/dist/services/agent-permissions.js.map +1 -0
  595. package/dist/services/agent-start-lock.d.ts +2 -0
  596. package/dist/services/agent-start-lock.d.ts.map +1 -0
  597. package/dist/services/agent-start-lock.js +43 -0
  598. package/dist/services/agent-start-lock.js.map +1 -0
  599. package/dist/services/agents.d.ts +2253 -0
  600. package/dist/services/agents.d.ts.map +1 -0
  601. package/dist/services/agents.js +609 -0
  602. package/dist/services/agents.js.map +1 -0
  603. package/dist/services/approvals.d.ts +546 -0
  604. package/dist/services/approvals.d.ts.map +1 -0
  605. package/dist/services/approvals.js +212 -0
  606. package/dist/services/approvals.js.map +1 -0
  607. package/dist/services/assets.d.ts +33 -0
  608. package/dist/services/assets.d.ts.map +1 -0
  609. package/dist/services/assets.js +17 -0
  610. package/dist/services/assets.js.map +1 -0
  611. package/dist/services/board-auth.d.ts +239 -0
  612. package/dist/services/board-auth.d.ts.map +1 -0
  613. package/dist/services/board-auth.js +300 -0
  614. package/dist/services/board-auth.js.map +1 -0
  615. package/dist/services/budgets.d.ts +38 -0
  616. package/dist/services/budgets.d.ts.map +1 -0
  617. package/dist/services/budgets.js +784 -0
  618. package/dist/services/budgets.js.map +1 -0
  619. package/dist/services/companies.d.ts +154 -0
  620. package/dist/services/companies.d.ts.map +1 -0
  621. package/dist/services/companies.js +286 -0
  622. package/dist/services/companies.js.map +1 -0
  623. package/dist/services/company-export-readme.d.ts +17 -0
  624. package/dist/services/company-export-readme.d.ts.map +1 -0
  625. package/dist/services/company-export-readme.js +148 -0
  626. package/dist/services/company-export-readme.js.map +1 -0
  627. package/dist/services/company-member-roles.d.ts +9 -0
  628. package/dist/services/company-member-roles.d.ts.map +1 -0
  629. package/dist/services/company-member-roles.js +46 -0
  630. package/dist/services/company-member-roles.js.map +1 -0
  631. package/dist/services/company-portability.d.ts +24 -0
  632. package/dist/services/company-portability.d.ts.map +1 -0
  633. package/dist/services/company-portability.js +4077 -0
  634. package/dist/services/company-portability.js.map +1 -0
  635. package/dist/services/company-search-rate-limit.d.ts +22 -0
  636. package/dist/services/company-search-rate-limit.d.ts.map +1 -0
  637. package/dist/services/company-search-rate-limit.js +38 -0
  638. package/dist/services/company-search-rate-limit.js.map +1 -0
  639. package/dist/services/company-search.d.ts +8 -0
  640. package/dist/services/company-search.d.ts.map +1 -0
  641. package/dist/services/company-search.js +626 -0
  642. package/dist/services/company-search.js.map +1 -0
  643. package/dist/services/company-skills.d.ts +77 -0
  644. package/dist/services/company-skills.d.ts.map +1 -0
  645. package/dist/services/company-skills.js +2131 -0
  646. package/dist/services/company-skills.js.map +1 -0
  647. package/dist/services/cost-backfill.d.ts +16 -0
  648. package/dist/services/cost-backfill.d.ts.map +1 -0
  649. package/dist/services/cost-backfill.js +115 -0
  650. package/dist/services/cost-backfill.js.map +1 -0
  651. package/dist/services/cost-ledger.d.ts +28 -0
  652. package/dist/services/cost-ledger.d.ts.map +1 -0
  653. package/dist/services/cost-ledger.js +140 -0
  654. package/dist/services/cost-ledger.js.map +1 -0
  655. package/dist/services/cost-ledger.test.d.ts +2 -0
  656. package/dist/services/cost-ledger.test.d.ts.map +1 -0
  657. package/dist/services/cost-ledger.test.js +50 -0
  658. package/dist/services/cost-ledger.test.js.map +1 -0
  659. package/dist/services/cost-pipeline-health.d.ts +4 -0
  660. package/dist/services/cost-pipeline-health.d.ts.map +1 -0
  661. package/dist/services/cost-pipeline-health.js +42 -0
  662. package/dist/services/cost-pipeline-health.js.map +1 -0
  663. package/dist/services/costs.d.ts +128 -0
  664. package/dist/services/costs.d.ts.map +1 -0
  665. package/dist/services/costs.js +412 -0
  666. package/dist/services/costs.js.map +1 -0
  667. package/dist/services/cron.d.ts +80 -0
  668. package/dist/services/cron.d.ts.map +1 -0
  669. package/dist/services/cron.js +300 -0
  670. package/dist/services/cron.js.map +1 -0
  671. package/dist/services/dashboard.d.ts +34 -0
  672. package/dist/services/dashboard.d.ts.map +1 -0
  673. package/dist/services/dashboard.js +142 -0
  674. package/dist/services/dashboard.js.map +1 -0
  675. package/dist/services/default-agent-instructions.d.ts +9 -0
  676. package/dist/services/default-agent-instructions.d.ts.map +1 -0
  677. package/dist/services/default-agent-instructions.js +20 -0
  678. package/dist/services/default-agent-instructions.js.map +1 -0
  679. package/dist/services/documents.d.ts +199 -0
  680. package/dist/services/documents.d.ts.map +1 -0
  681. package/dist/services/documents.js +411 -0
  682. package/dist/services/documents.js.map +1 -0
  683. package/dist/services/environment-config.d.ts +55 -0
  684. package/dist/services/environment-config.d.ts.map +1 -0
  685. package/dist/services/environment-config.js +441 -0
  686. package/dist/services/environment-config.js.map +1 -0
  687. package/dist/services/environment-execution-target.d.ts +21 -0
  688. package/dist/services/environment-execution-target.d.ts.map +1 -0
  689. package/dist/services/environment-execution-target.js +121 -0
  690. package/dist/services/environment-execution-target.js.map +1 -0
  691. package/dist/services/environment-probe.d.ts +9 -0
  692. package/dist/services/environment-probe.d.ts.map +1 -0
  693. package/dist/services/environment-probe.js +106 -0
  694. package/dist/services/environment-probe.js.map +1 -0
  695. package/dist/services/environment-run-orchestrator.d.ts +124 -0
  696. package/dist/services/environment-run-orchestrator.d.ts.map +1 -0
  697. package/dist/services/environment-run-orchestrator.js +392 -0
  698. package/dist/services/environment-run-orchestrator.js.map +1 -0
  699. package/dist/services/environment-runtime.d.ts +90 -0
  700. package/dist/services/environment-runtime.d.ts.map +1 -0
  701. package/dist/services/environment-runtime.js +968 -0
  702. package/dist/services/environment-runtime.js.map +1 -0
  703. package/dist/services/environments.d.ts +36 -0
  704. package/dist/services/environments.d.ts.map +1 -0
  705. package/dist/services/environments.js +260 -0
  706. package/dist/services/environments.js.map +1 -0
  707. package/dist/services/execution-workspace-policy.d.ts +30 -0
  708. package/dist/services/execution-workspace-policy.d.ts.map +1 -0
  709. package/dist/services/execution-workspace-policy.js +195 -0
  710. package/dist/services/execution-workspace-policy.js.map +1 -0
  711. package/dist/services/execution-workspaces.d.ts +30 -0
  712. package/dist/services/execution-workspaces.d.ts.map +1 -0
  713. package/dist/services/execution-workspaces.js +635 -0
  714. package/dist/services/execution-workspaces.js.map +1 -0
  715. package/dist/services/feedback-redaction.d.ts +23 -0
  716. package/dist/services/feedback-redaction.d.ts.map +1 -0
  717. package/dist/services/feedback-redaction.js +150 -0
  718. package/dist/services/feedback-redaction.js.map +1 -0
  719. package/dist/services/feedback-share-client.d.ts +9 -0
  720. package/dist/services/feedback-share-client.d.ts.map +1 -0
  721. package/dist/services/feedback-share-client.js +46 -0
  722. package/dist/services/feedback-share-client.js.map +1 -0
  723. package/dist/services/feedback.d.ts +93 -0
  724. package/dist/services/feedback.d.ts.map +1 -0
  725. package/dist/services/feedback.js +1717 -0
  726. package/dist/services/feedback.js.map +1 -0
  727. package/dist/services/finance.d.ts +93 -0
  728. package/dist/services/finance.d.ts.map +1 -0
  729. package/dist/services/finance.js +120 -0
  730. package/dist/services/finance.js.map +1 -0
  731. package/dist/services/github-fetch.d.ts +4 -0
  732. package/dist/services/github-fetch.d.ts.map +1 -0
  733. package/dist/services/github-fetch.js +23 -0
  734. package/dist/services/github-fetch.js.map +1 -0
  735. package/dist/services/goals.d.ts +433 -0
  736. package/dist/services/goals.d.ts.map +1 -0
  737. package/dist/services/goals.js +54 -0
  738. package/dist/services/goals.js.map +1 -0
  739. package/dist/services/heartbeat-run-summary.d.ts +7 -0
  740. package/dist/services/heartbeat-run-summary.d.ts.map +1 -0
  741. package/dist/services/heartbeat-run-summary.js +84 -0
  742. package/dist/services/heartbeat-run-summary.js.map +1 -0
  743. package/dist/services/heartbeat-stop-metadata.d.ts +28 -0
  744. package/dist/services/heartbeat-stop-metadata.d.ts.map +1 -0
  745. package/dist/services/heartbeat-stop-metadata.js +86 -0
  746. package/dist/services/heartbeat-stop-metadata.js.map +1 -0
  747. package/dist/services/heartbeat-stop-metadata.test.d.ts +2 -0
  748. package/dist/services/heartbeat-stop-metadata.test.d.ts.map +1 -0
  749. package/dist/services/heartbeat-stop-metadata.test.js +93 -0
  750. package/dist/services/heartbeat-stop-metadata.test.js.map +1 -0
  751. package/dist/services/heartbeat.d.ts +1546 -0
  752. package/dist/services/heartbeat.d.ts.map +1 -0
  753. package/dist/services/heartbeat.js +7854 -0
  754. package/dist/services/heartbeat.js.map +1 -0
  755. package/dist/services/hire-hook.d.ts +14 -0
  756. package/dist/services/hire-hook.d.ts.map +1 -0
  757. package/dist/services/hire-hook.js +85 -0
  758. package/dist/services/hire-hook.js.map +1 -0
  759. package/dist/services/inbox-dismissals.d.ts +22 -0
  760. package/dist/services/inbox-dismissals.d.ts.map +1 -0
  761. package/dist/services/inbox-dismissals.js +33 -0
  762. package/dist/services/inbox-dismissals.js.map +1 -0
  763. package/dist/services/index.d.ts +45 -0
  764. package/dist/services/index.d.ts.map +1 -0
  765. package/dist/services/index.js +45 -0
  766. package/dist/services/index.js.map +1 -0
  767. package/dist/services/instance-settings.d.ts +11 -0
  768. package/dist/services/instance-settings.d.ts.map +1 -0
  769. package/dist/services/instance-settings.js +138 -0
  770. package/dist/services/instance-settings.js.map +1 -0
  771. package/dist/services/invite-grants.d.ts +15 -0
  772. package/dist/services/invite-grants.d.ts.map +1 -0
  773. package/dist/services/invite-grants.js +50 -0
  774. package/dist/services/invite-grants.js.map +1 -0
  775. package/dist/services/issue-approvals.d.ts +56 -0
  776. package/dist/services/issue-approvals.d.ts.map +1 -0
  777. package/dist/services/issue-approvals.js +153 -0
  778. package/dist/services/issue-approvals.js.map +1 -0
  779. package/dist/services/issue-assignment-wakeup.d.ts +29 -0
  780. package/dist/services/issue-assignment-wakeup.d.ts.map +1 -0
  781. package/dist/services/issue-assignment-wakeup.js +22 -0
  782. package/dist/services/issue-assignment-wakeup.js.map +1 -0
  783. package/dist/services/issue-continuation-summary.d.ts +68 -0
  784. package/dist/services/issue-continuation-summary.d.ts.map +1 -0
  785. package/dist/services/issue-continuation-summary.js +222 -0
  786. package/dist/services/issue-continuation-summary.js.map +1 -0
  787. package/dist/services/issue-execution-policy.d.ts +93 -0
  788. package/dist/services/issue-execution-policy.d.ts.map +1 -0
  789. package/dist/services/issue-execution-policy.js +838 -0
  790. package/dist/services/issue-execution-policy.js.map +1 -0
  791. package/dist/services/issue-goal-fallback.d.ts +18 -0
  792. package/dist/services/issue-goal-fallback.d.ts.map +1 -0
  793. package/dist/services/issue-goal-fallback.js +33 -0
  794. package/dist/services/issue-goal-fallback.js.map +1 -0
  795. package/dist/services/issue-liveness.d.ts +3 -0
  796. package/dist/services/issue-liveness.d.ts.map +1 -0
  797. package/dist/services/issue-liveness.js +2 -0
  798. package/dist/services/issue-liveness.js.map +1 -0
  799. package/dist/services/issue-recovery-actions.d.ts +40 -0
  800. package/dist/services/issue-recovery-actions.d.ts.map +1 -0
  801. package/dist/services/issue-recovery-actions.js +204 -0
  802. package/dist/services/issue-recovery-actions.js.map +1 -0
  803. package/dist/services/issue-references.d.ts +21 -0
  804. package/dist/services/issue-references.d.ts.map +1 -0
  805. package/dist/services/issue-references.js +318 -0
  806. package/dist/services/issue-references.js.map +1 -0
  807. package/dist/services/issue-thread-interactions.d.ts +76 -0
  808. package/dist/services/issue-thread-interactions.d.ts.map +1 -0
  809. package/dist/services/issue-thread-interactions.js +923 -0
  810. package/dist/services/issue-thread-interactions.js.map +1 -0
  811. package/dist/services/issue-thread-interactions.test.d.ts +2 -0
  812. package/dist/services/issue-thread-interactions.test.d.ts.map +1 -0
  813. package/dist/services/issue-thread-interactions.test.js +195 -0
  814. package/dist/services/issue-thread-interactions.test.js.map +1 -0
  815. package/dist/services/issue-tree-control.d.ts +89 -0
  816. package/dist/services/issue-tree-control.d.ts.map +1 -0
  817. package/dist/services/issue-tree-control.js +933 -0
  818. package/dist/services/issue-tree-control.js.map +1 -0
  819. package/dist/services/issues.d.ts +744 -0
  820. package/dist/services/issues.d.ts.map +1 -0
  821. package/dist/services/issues.js +3374 -0
  822. package/dist/services/issues.js.map +1 -0
  823. package/dist/services/json-schema-secret-refs.d.ts +5 -0
  824. package/dist/services/json-schema-secret-refs.d.ts.map +1 -0
  825. package/dist/services/json-schema-secret-refs.js +67 -0
  826. package/dist/services/json-schema-secret-refs.js.map +1 -0
  827. package/dist/services/live-events.d.ts +17 -0
  828. package/dist/services/live-events.d.ts.map +1 -0
  829. package/dist/services/live-events.js +33 -0
  830. package/dist/services/live-events.js.map +1 -0
  831. package/dist/services/local-service-supervisor.d.ts +56 -0
  832. package/dist/services/local-service-supervisor.d.ts.map +1 -0
  833. package/dist/services/local-service-supervisor.js +284 -0
  834. package/dist/services/local-service-supervisor.js.map +1 -0
  835. package/dist/services/plugin-capability-validator.d.ts +108 -0
  836. package/dist/services/plugin-capability-validator.d.ts.map +1 -0
  837. package/dist/services/plugin-capability-validator.js +313 -0
  838. package/dist/services/plugin-capability-validator.js.map +1 -0
  839. package/dist/services/plugin-config-validator.d.ts +26 -0
  840. package/dist/services/plugin-config-validator.d.ts.map +1 -0
  841. package/dist/services/plugin-config-validator.js +41 -0
  842. package/dist/services/plugin-config-validator.js.map +1 -0
  843. package/dist/services/plugin-database.d.ts +49 -0
  844. package/dist/services/plugin-database.d.ts.map +1 -0
  845. package/dist/services/plugin-database.js +440 -0
  846. package/dist/services/plugin-database.js.map +1 -0
  847. package/dist/services/plugin-dev-watcher.d.ts +30 -0
  848. package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
  849. package/dist/services/plugin-dev-watcher.js +246 -0
  850. package/dist/services/plugin-dev-watcher.js.map +1 -0
  851. package/dist/services/plugin-environment-driver.d.ts +126 -0
  852. package/dist/services/plugin-environment-driver.d.ts.map +1 -0
  853. package/dist/services/plugin-environment-driver.js +226 -0
  854. package/dist/services/plugin-environment-driver.js.map +1 -0
  855. package/dist/services/plugin-event-bus.d.ts +149 -0
  856. package/dist/services/plugin-event-bus.d.ts.map +1 -0
  857. package/dist/services/plugin-event-bus.js +258 -0
  858. package/dist/services/plugin-event-bus.js.map +1 -0
  859. package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
  860. package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
  861. package/dist/services/plugin-host-service-cleanup.js +37 -0
  862. package/dist/services/plugin-host-service-cleanup.js.map +1 -0
  863. package/dist/services/plugin-host-services.d.ts +17 -0
  864. package/dist/services/plugin-host-services.d.ts.map +1 -0
  865. package/dist/services/plugin-host-services.js +1867 -0
  866. package/dist/services/plugin-host-services.js.map +1 -0
  867. package/dist/services/plugin-job-coordinator.d.ts +81 -0
  868. package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
  869. package/dist/services/plugin-job-coordinator.js +172 -0
  870. package/dist/services/plugin-job-coordinator.js.map +1 -0
  871. package/dist/services/plugin-job-scheduler.d.ts +163 -0
  872. package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
  873. package/dist/services/plugin-job-scheduler.js +459 -0
  874. package/dist/services/plugin-job-scheduler.js.map +1 -0
  875. package/dist/services/plugin-job-store.d.ts +208 -0
  876. package/dist/services/plugin-job-store.d.ts.map +1 -0
  877. package/dist/services/plugin-job-store.js +350 -0
  878. package/dist/services/plugin-job-store.js.map +1 -0
  879. package/dist/services/plugin-lifecycle.d.ts +203 -0
  880. package/dist/services/plugin-lifecycle.d.ts.map +1 -0
  881. package/dist/services/plugin-lifecycle.js +476 -0
  882. package/dist/services/plugin-lifecycle.js.map +1 -0
  883. package/dist/services/plugin-loader.d.ts +445 -0
  884. package/dist/services/plugin-loader.d.ts.map +1 -0
  885. package/dist/services/plugin-loader.js +1273 -0
  886. package/dist/services/plugin-loader.js.map +1 -0
  887. package/dist/services/plugin-local-folders.d.ts +49 -0
  888. package/dist/services/plugin-local-folders.d.ts.map +1 -0
  889. package/dist/services/plugin-local-folders.js +506 -0
  890. package/dist/services/plugin-local-folders.js.map +1 -0
  891. package/dist/services/plugin-log-retention.d.ts +20 -0
  892. package/dist/services/plugin-log-retention.d.ts.map +1 -0
  893. package/dist/services/plugin-log-retention.js +63 -0
  894. package/dist/services/plugin-log-retention.js.map +1 -0
  895. package/dist/services/plugin-managed-agents.d.ts +15 -0
  896. package/dist/services/plugin-managed-agents.d.ts.map +1 -0
  897. package/dist/services/plugin-managed-agents.js +458 -0
  898. package/dist/services/plugin-managed-agents.js.map +1 -0
  899. package/dist/services/plugin-managed-routines.d.ts +41 -0
  900. package/dist/services/plugin-managed-routines.d.ts.map +1 -0
  901. package/dist/services/plugin-managed-routines.js +416 -0
  902. package/dist/services/plugin-managed-routines.js.map +1 -0
  903. package/dist/services/plugin-managed-skills.d.ts +14 -0
  904. package/dist/services/plugin-managed-skills.d.ts.map +1 -0
  905. package/dist/services/plugin-managed-skills.js +264 -0
  906. package/dist/services/plugin-managed-skills.js.map +1 -0
  907. package/dist/services/plugin-manifest-validator.d.ts +79 -0
  908. package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
  909. package/dist/services/plugin-manifest-validator.js +84 -0
  910. package/dist/services/plugin-manifest-validator.js.map +1 -0
  911. package/dist/services/plugin-registry.d.ts +2550 -0
  912. package/dist/services/plugin-registry.d.ts.map +1 -0
  913. package/dist/services/plugin-registry.js +581 -0
  914. package/dist/services/plugin-registry.js.map +1 -0
  915. package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
  916. package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
  917. package/dist/services/plugin-runtime-sandbox.js +154 -0
  918. package/dist/services/plugin-runtime-sandbox.js.map +1 -0
  919. package/dist/services/plugin-secrets-handler.d.ts +83 -0
  920. package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
  921. package/dist/services/plugin-secrets-handler.js +168 -0
  922. package/dist/services/plugin-secrets-handler.js.map +1 -0
  923. package/dist/services/plugin-state-store.d.ts +92 -0
  924. package/dist/services/plugin-state-store.d.ts.map +1 -0
  925. package/dist/services/plugin-state-store.js +190 -0
  926. package/dist/services/plugin-state-store.js.map +1 -0
  927. package/dist/services/plugin-stream-bus.d.ts +29 -0
  928. package/dist/services/plugin-stream-bus.d.ts.map +1 -0
  929. package/dist/services/plugin-stream-bus.js +48 -0
  930. package/dist/services/plugin-stream-bus.js.map +1 -0
  931. package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
  932. package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
  933. package/dist/services/plugin-tool-dispatcher.js +224 -0
  934. package/dist/services/plugin-tool-dispatcher.js.map +1 -0
  935. package/dist/services/plugin-tool-registry.d.ts +192 -0
  936. package/dist/services/plugin-tool-registry.d.ts.map +1 -0
  937. package/dist/services/plugin-tool-registry.js +224 -0
  938. package/dist/services/plugin-tool-registry.js.map +1 -0
  939. package/dist/services/plugin-worker-manager.d.ts +262 -0
  940. package/dist/services/plugin-worker-manager.d.ts.map +1 -0
  941. package/dist/services/plugin-worker-manager.js +842 -0
  942. package/dist/services/plugin-worker-manager.js.map +1 -0
  943. package/dist/services/productivity-review.d.ts +83 -0
  944. package/dist/services/productivity-review.d.ts.map +1 -0
  945. package/dist/services/productivity-review.js +652 -0
  946. package/dist/services/productivity-review.js.map +1 -0
  947. package/dist/services/project-workspace-runtime-config.d.ts +4 -0
  948. package/dist/services/project-workspace-runtime-config.d.ts.map +1 -0
  949. package/dist/services/project-workspace-runtime-config.js +54 -0
  950. package/dist/services/project-workspace-runtime-config.js.map +1 -0
  951. package/dist/services/projects.d.ts +99 -0
  952. package/dist/services/projects.d.ts.map +1 -0
  953. package/dist/services/projects.js +822 -0
  954. package/dist/services/projects.js.map +1 -0
  955. package/dist/services/quota-windows.d.ts +9 -0
  956. package/dist/services/quota-windows.d.ts.map +1 -0
  957. package/dist/services/quota-windows.js +56 -0
  958. package/dist/services/quota-windows.js.map +1 -0
  959. package/dist/services/recovery/index.d.ts +10 -0
  960. package/dist/services/recovery/index.d.ts.map +1 -0
  961. package/dist/services/recovery/index.js +6 -0
  962. package/dist/services/recovery/index.js.map +1 -0
  963. package/dist/services/recovery/issue-graph-liveness.d.ts +85 -0
  964. package/dist/services/recovery/issue-graph-liveness.d.ts.map +1 -0
  965. package/dist/services/recovery/issue-graph-liveness.js +356 -0
  966. package/dist/services/recovery/issue-graph-liveness.js.map +1 -0
  967. package/dist/services/recovery/model-profile-hint.d.ts +8 -0
  968. package/dist/services/recovery/model-profile-hint.d.ts.map +1 -0
  969. package/dist/services/recovery/model-profile-hint.js +11 -0
  970. package/dist/services/recovery/model-profile-hint.js.map +1 -0
  971. package/dist/services/recovery/origins.d.ts +36 -0
  972. package/dist/services/recovery/origins.d.ts.map +1 -0
  973. package/dist/services/recovery/origins.js +45 -0
  974. package/dist/services/recovery/origins.js.map +1 -0
  975. package/dist/services/recovery/pause-hold-guard.d.ts +6 -0
  976. package/dist/services/recovery/pause-hold-guard.d.ts.map +1 -0
  977. package/dist/services/recovery/pause-hold-guard.js +6 -0
  978. package/dist/services/recovery/pause-hold-guard.js.map +1 -0
  979. package/dist/services/recovery/run-liveness-continuations.d.ts +50 -0
  980. package/dist/services/recovery/run-liveness-continuations.d.ts.map +1 -0
  981. package/dist/services/recovery/run-liveness-continuations.js +117 -0
  982. package/dist/services/recovery/run-liveness-continuations.js.map +1 -0
  983. package/dist/services/recovery/service.d.ts +256 -0
  984. package/dist/services/recovery/service.d.ts.map +1 -0
  985. package/dist/services/recovery/service.js +2441 -0
  986. package/dist/services/recovery/service.js.map +1 -0
  987. package/dist/services/recovery/successful-run-handoff.d.ts +89 -0
  988. package/dist/services/recovery/successful-run-handoff.d.ts.map +1 -0
  989. package/dist/services/recovery/successful-run-handoff.js +304 -0
  990. package/dist/services/recovery/successful-run-handoff.js.map +1 -0
  991. package/dist/services/recovery/successful-run-handoff.test.d.ts +2 -0
  992. package/dist/services/recovery/successful-run-handoff.test.d.ts.map +1 -0
  993. package/dist/services/recovery/successful-run-handoff.test.js +270 -0
  994. package/dist/services/recovery/successful-run-handoff.test.js.map +1 -0
  995. package/dist/services/routines.d.ts +166 -0
  996. package/dist/services/routines.d.ts.map +1 -0
  997. package/dist/services/routines.js +1969 -0
  998. package/dist/services/routines.js.map +1 -0
  999. package/dist/services/run-continuations.d.ts +3 -0
  1000. package/dist/services/run-continuations.d.ts.map +1 -0
  1001. package/dist/services/run-continuations.js +2 -0
  1002. package/dist/services/run-continuations.js.map +1 -0
  1003. package/dist/services/run-liveness.d.ts +46 -0
  1004. package/dist/services/run-liveness.d.ts.map +1 -0
  1005. package/dist/services/run-liveness.js +275 -0
  1006. package/dist/services/run-liveness.js.map +1 -0
  1007. package/dist/services/run-log-store.d.ts +34 -0
  1008. package/dist/services/run-log-store.d.ts.map +1 -0
  1009. package/dist/services/run-log-store.js +111 -0
  1010. package/dist/services/run-log-store.js.map +1 -0
  1011. package/dist/services/sandbox-provider-runtime.d.ts +132 -0
  1012. package/dist/services/sandbox-provider-runtime.d.ts.map +1 -0
  1013. package/dist/services/sandbox-provider-runtime.js +216 -0
  1014. package/dist/services/sandbox-provider-runtime.js.map +1 -0
  1015. package/dist/services/secrets.d.ts +1962 -0
  1016. package/dist/services/secrets.d.ts.map +1 -0
  1017. package/dist/services/secrets.js +1686 -0
  1018. package/dist/services/secrets.js.map +1 -0
  1019. package/dist/services/sidebar-badges.d.ts +14 -0
  1020. package/dist/services/sidebar-badges.d.ts.map +1 -0
  1021. package/dist/services/sidebar-badges.js +48 -0
  1022. package/dist/services/sidebar-badges.js.map +1 -0
  1023. package/dist/services/sidebar-preferences.d.ts +9 -0
  1024. package/dist/services/sidebar-preferences.d.ts.map +1 -0
  1025. package/dist/services/sidebar-preferences.js +82 -0
  1026. package/dist/services/sidebar-preferences.js.map +1 -0
  1027. package/dist/services/work-products.d.ts +14 -0
  1028. package/dist/services/work-products.d.ts.map +1 -0
  1029. package/dist/services/work-products.js +100 -0
  1030. package/dist/services/work-products.js.map +1 -0
  1031. package/dist/services/workspace-operation-log-store.d.ts +33 -0
  1032. package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
  1033. package/dist/services/workspace-operation-log-store.js +110 -0
  1034. package/dist/services/workspace-operation-log-store.js.map +1 -0
  1035. package/dist/services/workspace-operations.d.ts +44 -0
  1036. package/dist/services/workspace-operations.d.ts.map +1 -0
  1037. package/dist/services/workspace-operations.js +211 -0
  1038. package/dist/services/workspace-operations.js.map +1 -0
  1039. package/dist/services/workspace-realization.d.ts +33 -0
  1040. package/dist/services/workspace-realization.d.ts.map +1 -0
  1041. package/dist/services/workspace-realization.js +221 -0
  1042. package/dist/services/workspace-realization.js.map +1 -0
  1043. package/dist/services/workspace-runtime-read-model.d.ts +92 -0
  1044. package/dist/services/workspace-runtime-read-model.d.ts.map +1 -0
  1045. package/dist/services/workspace-runtime-read-model.js +67 -0
  1046. package/dist/services/workspace-runtime-read-model.js.map +1 -0
  1047. package/dist/services/workspace-runtime.d.ts +238 -0
  1048. package/dist/services/workspace-runtime.d.ts.map +1 -0
  1049. package/dist/services/workspace-runtime.js +2388 -0
  1050. package/dist/services/workspace-runtime.js.map +1 -0
  1051. package/dist/startup-banner.d.ts +32 -0
  1052. package/dist/startup-banner.d.ts.map +1 -0
  1053. package/dist/startup-banner.js +89 -0
  1054. package/dist/startup-banner.js.map +1 -0
  1055. package/dist/storage/index.d.ts +6 -0
  1056. package/dist/storage/index.d.ts.map +1 -0
  1057. package/dist/storage/index.js +29 -0
  1058. package/dist/storage/index.js.map +1 -0
  1059. package/dist/storage/local-disk-provider.d.ts +3 -0
  1060. package/dist/storage/local-disk-provider.d.ts.map +1 -0
  1061. package/dist/storage/local-disk-provider.js +79 -0
  1062. package/dist/storage/local-disk-provider.js.map +1 -0
  1063. package/dist/storage/provider-registry.d.ts +4 -0
  1064. package/dist/storage/provider-registry.d.ts.map +1 -0
  1065. package/dist/storage/provider-registry.js +15 -0
  1066. package/dist/storage/provider-registry.js.map +1 -0
  1067. package/dist/storage/s3-provider.d.ts +11 -0
  1068. package/dist/storage/s3-provider.d.ts.map +1 -0
  1069. package/dist/storage/s3-provider.js +123 -0
  1070. package/dist/storage/s3-provider.js.map +1 -0
  1071. package/dist/storage/service.d.ts +3 -0
  1072. package/dist/storage/service.d.ts.map +1 -0
  1073. package/dist/storage/service.js +120 -0
  1074. package/dist/storage/service.js.map +1 -0
  1075. package/dist/storage/types.d.ts +55 -0
  1076. package/dist/storage/types.d.ts.map +1 -0
  1077. package/dist/storage/types.js +2 -0
  1078. package/dist/storage/types.js.map +1 -0
  1079. package/dist/telemetry.d.ts +6 -0
  1080. package/dist/telemetry.d.ts.map +1 -0
  1081. package/dist/telemetry.js +20 -0
  1082. package/dist/telemetry.js.map +1 -0
  1083. package/dist/ui-branding.d.ts +13 -0
  1084. package/dist/ui-branding.d.ts.map +1 -0
  1085. package/dist/ui-branding.js +188 -0
  1086. package/dist/ui-branding.js.map +1 -0
  1087. package/dist/utils/coalesced-error-logger.d.ts +11 -0
  1088. package/dist/utils/coalesced-error-logger.d.ts.map +1 -0
  1089. package/dist/utils/coalesced-error-logger.js +21 -0
  1090. package/dist/utils/coalesced-error-logger.js.map +1 -0
  1091. package/dist/version.d.ts +2 -0
  1092. package/dist/version.d.ts.map +1 -0
  1093. package/dist/version.js +5 -0
  1094. package/dist/version.js.map +1 -0
  1095. package/dist/vite-html-renderer.d.ts +18 -0
  1096. package/dist/vite-html-renderer.d.ts.map +1 -0
  1097. package/dist/vite-html-renderer.js +61 -0
  1098. package/dist/vite-html-renderer.js.map +1 -0
  1099. package/dist/worktree-config.d.ts +19 -0
  1100. package/dist/worktree-config.d.ts.map +1 -0
  1101. package/dist/worktree-config.js +368 -0
  1102. package/dist/worktree-config.js.map +1 -0
  1103. package/package.json +95 -0
  1104. package/skills/deal-desk-outreach/SKILL.md +77 -0
  1105. package/skills/dealdesk/SKILL.md +109 -0
  1106. package/skills/dealdesk/references/api-reference.md +899 -0
  1107. package/skills/dealdesk/references/company-skills.md +193 -0
  1108. package/skills/dealdesk/references/issue-workspaces.md +80 -0
  1109. package/skills/dealdesk/references/routines.md +187 -0
  1110. package/skills/dealdesk/references/workflows.md +141 -0
  1111. package/skills/dealdesk-converting-plans-to-tasks/SKILL.md +110 -0
  1112. package/skills/dealdesk-create-agent/SKILL.md +124 -0
  1113. package/skills/dealdesk-create-agent/references/agent-instruction-templates.md +123 -0
  1114. package/skills/dealdesk-create-agent/references/agents/coder.md +64 -0
  1115. package/skills/dealdesk-create-agent/references/agents/qa.md +88 -0
  1116. package/skills/dealdesk-create-agent/references/agents/securityengineer.md +135 -0
  1117. package/skills/dealdesk-create-agent/references/agents/uxdesigner.md +115 -0
  1118. package/skills/dealdesk-create-agent/references/api-reference.md +110 -0
  1119. package/skills/dealdesk-create-agent/references/baseline-role-guide.md +168 -0
  1120. package/skills/dealdesk-create-agent/references/draft-review-checklist.md +95 -0
  1121. package/skills/dealdesk-create-plugin/SKILL.md +92 -0
  1122. package/skills/dealdesk-dev/SKILL.md +103 -0
  1123. package/skills/diagnose-why-work-stopped/SKILL.md +161 -0
  1124. package/skills/para-memory-files/SKILL.md +104 -0
  1125. package/skills/para-memory-files/references/schemas.md +35 -0
  1126. package/skills/terminal-bench-loop/SKILL.md +236 -0
  1127. package/ui-dist/android-chrome-192x192.png +0 -0
  1128. package/ui-dist/android-chrome-512x512.png +0 -0
  1129. package/ui-dist/apple-touch-icon.png +0 -0
  1130. package/ui-dist/assets/_basePickBy-CaQZTZgE.js +1 -0
  1131. package/ui-dist/assets/_baseUniq-DvA-iyvx.js +1 -0
  1132. package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
  1133. package/ui-dist/assets/arc-_uwl-PL9.js +1 -0
  1134. package/ui-dist/assets/architectureDiagram-VXUJARFQ-hoEr3qym.js +36 -0
  1135. package/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
  1136. package/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
  1137. package/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
  1138. package/ui-dist/assets/blockDiagram-VD42YOAC-BpNmbQ9P.js +122 -0
  1139. package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  1140. package/ui-dist/assets/c4Diagram-YG6GDRKO-BG14x8dM.js +10 -0
  1141. package/ui-dist/assets/channel-NmuAvKfd.js +1 -0
  1142. package/ui-dist/assets/chunk-4BX2VUAB-Cb1YcG81.js +1 -0
  1143. package/ui-dist/assets/chunk-55IACEB6-DkMTjrQj.js +1 -0
  1144. package/ui-dist/assets/chunk-B4BG7PRW-BD6QmYfE.js +165 -0
  1145. package/ui-dist/assets/chunk-DI55MBZ5-B_xkiL3H.js +220 -0
  1146. package/ui-dist/assets/chunk-FMBD7UC4-DC95tjc1.js +15 -0
  1147. package/ui-dist/assets/chunk-QN33PNHL-BkIJ2KXA.js +1 -0
  1148. package/ui-dist/assets/chunk-QZHKN3VN-BWUNV7If.js +1 -0
  1149. package/ui-dist/assets/chunk-TZMSLE5B-NQYnSIs1.js +1 -0
  1150. package/ui-dist/assets/classDiagram-2ON5EDUG-eS4kRH8R.js +1 -0
  1151. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-eS4kRH8R.js +1 -0
  1152. package/ui-dist/assets/clike-B9uivgTg.js +1 -0
  1153. package/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
  1154. package/ui-dist/assets/clone-CbA0swX6.js +1 -0
  1155. package/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
  1156. package/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
  1157. package/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
  1158. package/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
  1159. package/ui-dist/assets/cose-bilkent-S5V4N54A-BHo6DkZj.js +1 -0
  1160. package/ui-dist/assets/crystal-SjHAIU92.js +1 -0
  1161. package/ui-dist/assets/css-BnMrqG3P.js +1 -0
  1162. package/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
  1163. package/ui-dist/assets/cytoscape.esm-jbPEKk2Y.js +321 -0
  1164. package/ui-dist/assets/d-pRatUO7H.js +1 -0
  1165. package/ui-dist/assets/dagre-6UL2VRFP-CfzNlqfr.js +4 -0
  1166. package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  1167. package/ui-dist/assets/diagram-PSM6KHXK-DjPk4Vl5.js +24 -0
  1168. package/ui-dist/assets/diagram-QEK2KX5R-ClmlUcpT.js +43 -0
  1169. package/ui-dist/assets/diagram-S2PKOQOG-B68LEXtz.js +24 -0
  1170. package/ui-dist/assets/diff-DbItnlRl.js +1 -0
  1171. package/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
  1172. package/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
  1173. package/ui-dist/assets/dylan-DwRh75JA.js +1 -0
  1174. package/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
  1175. package/ui-dist/assets/ecl-Cabwm37j.js +1 -0
  1176. package/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
  1177. package/ui-dist/assets/elm-vLlmbW-K.js +1 -0
  1178. package/ui-dist/assets/erDiagram-Q2GNP2WA-CJSnga5T.js +60 -0
  1179. package/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
  1180. package/ui-dist/assets/factor-kuTfRLto.js +1 -0
  1181. package/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
  1182. package/ui-dist/assets/flowDiagram-NV44I4VS-Drmp4DHd.js +162 -0
  1183. package/ui-dist/assets/forth-Ffai-XNe.js +1 -0
  1184. package/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
  1185. package/ui-dist/assets/ganttDiagram-JELNMOA3-C8ffQ-2u.js +267 -0
  1186. package/ui-dist/assets/gas-Bneqetm1.js +1 -0
  1187. package/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
  1188. package/ui-dist/assets/gitGraphDiagram-V2S2FVAM-CPjF6oPQ.js +65 -0
  1189. package/ui-dist/assets/graph-B2qUgzgo.js +1 -0
  1190. package/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
  1191. package/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
  1192. package/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
  1193. package/ui-dist/assets/http-DBlCnlav.js +1 -0
  1194. package/ui-dist/assets/idl-BEugSyMb.js +1 -0
  1195. package/ui-dist/assets/index-6t3ZNnLR.js +1 -0
  1196. package/ui-dist/assets/index-ARl1W2jj.js +1 -0
  1197. package/ui-dist/assets/index-B9T1xuwJ.js +13 -0
  1198. package/ui-dist/assets/index-BAhZurej.js +2 -0
  1199. package/ui-dist/assets/index-BJ9IksfS.js +1 -0
  1200. package/ui-dist/assets/index-BKv2WUK1.js +1 -0
  1201. package/ui-dist/assets/index-BT7YS1Ir.js +3 -0
  1202. package/ui-dist/assets/index-Bkj-OIiI.js +1 -0
  1203. package/ui-dist/assets/index-CNEquZvK.js +1 -0
  1204. package/ui-dist/assets/index-CPGHpqpR.js +1 -0
  1205. package/ui-dist/assets/index-CW2NmfmI.js +1 -0
  1206. package/ui-dist/assets/index-Cf8smU9e.js +1 -0
  1207. package/ui-dist/assets/index-CrrVEpWP.js +537 -0
  1208. package/ui-dist/assets/index-CtebvrC7.js +1 -0
  1209. package/ui-dist/assets/index-CuwS3-lF.js +1 -0
  1210. package/ui-dist/assets/index-D1D5GrGc.js +1 -0
  1211. package/ui-dist/assets/index-DLN9KwFF.css +1 -0
  1212. package/ui-dist/assets/index-DWfkKcGS.js +1 -0
  1213. package/ui-dist/assets/index-DXzbokce.js +6 -0
  1214. package/ui-dist/assets/index-DY03uqeZ.js +1 -0
  1215. package/ui-dist/assets/index-DnDdXZYl.js +1 -0
  1216. package/ui-dist/assets/index-DvRp33UU.js +1 -0
  1217. package/ui-dist/assets/index-FnWH4Q9P.js +7 -0
  1218. package/ui-dist/assets/index-O_WP0QsK.js +1 -0
  1219. package/ui-dist/assets/infoDiagram-HS3SLOUP-DLOW6p4c.js +2 -0
  1220. package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
  1221. package/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
  1222. package/ui-dist/assets/journeyDiagram-XKPGCS4Q-oYaaSMQP.js +139 -0
  1223. package/ui-dist/assets/julia-DuME0IfC.js +1 -0
  1224. package/ui-dist/assets/kanban-definition-3W4ZIXB7-BE7mgk6q.js +89 -0
  1225. package/ui-dist/assets/katex-B95LWT_Q.js +261 -0
  1226. package/ui-dist/assets/layout-Cq5BDWzM.js +1 -0
  1227. package/ui-dist/assets/linear-HnEHTC6F.js +1 -0
  1228. package/ui-dist/assets/livescript-BwQOo05w.js +1 -0
  1229. package/ui-dist/assets/lua-BgMRiT3U.js +1 -0
  1230. package/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
  1231. package/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
  1232. package/ui-dist/assets/mermaid.core-JMROPF3S.js +250 -0
  1233. package/ui-dist/assets/mindmap-definition-VGOIOE7T-DoeZEBQU.js +68 -0
  1234. package/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
  1235. package/ui-dist/assets/mllike-CXdrOF99.js +1 -0
  1236. package/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
  1237. package/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
  1238. package/ui-dist/assets/mumps-BT43cFF4.js +1 -0
  1239. package/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
  1240. package/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
  1241. package/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
  1242. package/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
  1243. package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
  1244. package/ui-dist/assets/oz-BzwKVEFT.js +1 -0
  1245. package/ui-dist/assets/pascal--L3eBynH.js +1 -0
  1246. package/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
  1247. package/ui-dist/assets/pieDiagram-ADFJNKIX-BtfKQ-xw.js +30 -0
  1248. package/ui-dist/assets/pig-CevX1Tat.js +1 -0
  1249. package/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
  1250. package/ui-dist/assets/properties-C78fOPTZ.js +1 -0
  1251. package/ui-dist/assets/protobuf-ChK-085T.js +1 -0
  1252. package/ui-dist/assets/pug-DeIclll2.js +1 -0
  1253. package/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
  1254. package/ui-dist/assets/python-BuPzkPfP.js +1 -0
  1255. package/ui-dist/assets/q-pXgVlZs6.js +1 -0
  1256. package/ui-dist/assets/quadrantDiagram-AYHSOK5B-CIrjVDBB.js +7 -0
  1257. package/ui-dist/assets/r-B6wPVr8A.js +1 -0
  1258. package/ui-dist/assets/requirementDiagram-UZGBJVZJ-CNQ5h-EW.js +64 -0
  1259. package/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
  1260. package/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
  1261. package/ui-dist/assets/sankeyDiagram-TZEHDZUN-CrOSPDz5.js +10 -0
  1262. package/ui-dist/assets/sas-B4kiWyti.js +1 -0
  1263. package/ui-dist/assets/scheme-C41bIUwD.js +1 -0
  1264. package/ui-dist/assets/sequenceDiagram-WL72ISMW-D96XuK7n.js +145 -0
  1265. package/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
  1266. package/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
  1267. package/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
  1268. package/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
  1269. package/ui-dist/assets/solr-DehyRSwq.js +1 -0
  1270. package/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
  1271. package/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  1272. package/ui-dist/assets/sql-D0XecflT.js +1 -0
  1273. package/ui-dist/assets/stateDiagram-FKZM4ZOC-BOf9izkD.js +1 -0
  1274. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DEhq019K.js +1 -0
  1275. package/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
  1276. package/ui-dist/assets/stylus-B533Al4x.js +1 -0
  1277. package/ui-dist/assets/swift-BzpIVaGY.js +1 -0
  1278. package/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
  1279. package/ui-dist/assets/textile-CnDTJFAw.js +1 -0
  1280. package/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  1281. package/ui-dist/assets/tiki-DGYXhP31.js +1 -0
  1282. package/ui-dist/assets/timeline-definition-IT6M3QCI-_lAaYcUI.js +61 -0
  1283. package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
  1284. package/ui-dist/assets/treemap-GDKQZRPO-BS18z8ox.js +154 -0
  1285. package/ui-dist/assets/troff-wAsdV37c.js +1 -0
  1286. package/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
  1287. package/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  1288. package/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
  1289. package/ui-dist/assets/vb-CmGdzxic.js +1 -0
  1290. package/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
  1291. package/ui-dist/assets/velocity-D8B20fx6.js +1 -0
  1292. package/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
  1293. package/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
  1294. package/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
  1295. package/ui-dist/assets/xquery-DzFWVndE.js +1 -0
  1296. package/ui-dist/assets/xychartDiagram-PRI3JC2R-X82nn6D0.js +7 -0
  1297. package/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
  1298. package/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
  1299. package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
  1300. package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
  1301. package/ui-dist/favicon-16x16.png +0 -0
  1302. package/ui-dist/favicon-32x32.png +0 -0
  1303. package/ui-dist/favicon.ico +0 -0
  1304. package/ui-dist/favicon.svg +10 -0
  1305. package/ui-dist/index.html +49 -0
  1306. package/ui-dist/site.webmanifest +30 -0
  1307. package/ui-dist/sw.js +42 -0
  1308. package/ui-dist/worktree-favicon-16x16.png +0 -0
  1309. package/ui-dist/worktree-favicon-32x32.png +0 -0
  1310. package/ui-dist/worktree-favicon.ico +0 -0
  1311. package/ui-dist/worktree-favicon.svg +10 -0
@@ -0,0 +1,203 @@
1
+ import type { Db } from "@dealdesk/db";
2
+ import type { PluginStatus, PluginRecord } from "@dealdesk/shared";
3
+ import { type PluginLoader } from "./plugin-loader.js";
4
+ import type { PluginWorkerManager, WorkerStartOptions } from "./plugin-worker-manager.js";
5
+ /**
6
+ * Events emitted by the PluginLifecycleManager.
7
+ * Consumers can subscribe to these for routing-table updates, UI refresh
8
+ * notifications, and observability.
9
+ */
10
+ export interface PluginLifecycleEvents {
11
+ /** Emitted after a plugin is loaded (installed → ready). */
12
+ "plugin.loaded": {
13
+ pluginId: string;
14
+ pluginKey: string;
15
+ };
16
+ /** Emitted after a plugin transitions to ready (enabled). */
17
+ "plugin.enabled": {
18
+ pluginId: string;
19
+ pluginKey: string;
20
+ };
21
+ /** Emitted after a plugin is disabled (ready → disabled). */
22
+ "plugin.disabled": {
23
+ pluginId: string;
24
+ pluginKey: string;
25
+ reason?: string;
26
+ };
27
+ /** Emitted after a plugin is unloaded (any → uninstalled). */
28
+ "plugin.unloaded": {
29
+ pluginId: string;
30
+ pluginKey: string;
31
+ removeData: boolean;
32
+ };
33
+ /** Emitted on any status change. */
34
+ "plugin.status_changed": {
35
+ pluginId: string;
36
+ pluginKey: string;
37
+ previousStatus: PluginStatus;
38
+ newStatus: PluginStatus;
39
+ };
40
+ /** Emitted when a plugin enters an error state. */
41
+ "plugin.error": {
42
+ pluginId: string;
43
+ pluginKey: string;
44
+ error: string;
45
+ };
46
+ /** Emitted when a plugin enters upgrade_pending. */
47
+ "plugin.upgrade_pending": {
48
+ pluginId: string;
49
+ pluginKey: string;
50
+ };
51
+ /** Emitted when a plugin worker process has been started. */
52
+ "plugin.worker_started": {
53
+ pluginId: string;
54
+ pluginKey: string;
55
+ };
56
+ /** Emitted when a plugin worker process has been stopped. */
57
+ "plugin.worker_stopped": {
58
+ pluginId: string;
59
+ pluginKey: string;
60
+ };
61
+ }
62
+ type LifecycleEventName = keyof PluginLifecycleEvents;
63
+ type LifecycleEventPayload<K extends LifecycleEventName> = PluginLifecycleEvents[K];
64
+ export interface PluginLifecycleManager {
65
+ /**
66
+ * Load a newly installed plugin – transitions `installed` → `ready`.
67
+ *
68
+ * This is called after the registry has persisted the initial install record.
69
+ * The caller should have already spawned the worker and performed health
70
+ * checks before calling this. If the worker fails, call `markError` instead.
71
+ */
72
+ load(pluginId: string): Promise<PluginRecord>;
73
+ /**
74
+ * Enable a plugin that is in `disabled`, `error`, or `upgrade_pending` state.
75
+ * Transitions → `ready`.
76
+ */
77
+ enable(pluginId: string): Promise<PluginRecord>;
78
+ /**
79
+ * Disable a running plugin.
80
+ * Transitions `ready` → `disabled`.
81
+ */
82
+ disable(pluginId: string, reason?: string): Promise<PluginRecord>;
83
+ /**
84
+ * Unload (uninstall) a plugin from any active state.
85
+ * Transitions → `uninstalled`.
86
+ *
87
+ * When `removeData` is true, the plugin row and cascaded config are
88
+ * hard-deleted. Otherwise a soft-delete sets status to `uninstalled`.
89
+ */
90
+ unload(pluginId: string, removeData?: boolean): Promise<PluginRecord | null>;
91
+ /**
92
+ * Mark a plugin as errored (e.g. worker crash, health-check failure).
93
+ * Transitions → `error`.
94
+ */
95
+ markError(pluginId: string, error: string): Promise<PluginRecord>;
96
+ /**
97
+ * Mark a plugin as requiring upgrade approval.
98
+ * Transitions `ready` → `upgrade_pending`.
99
+ */
100
+ markUpgradePending(pluginId: string): Promise<PluginRecord>;
101
+ /**
102
+ * Upgrade a plugin to a newer version.
103
+ * This is a placeholder that handles the lifecycle state transition.
104
+ * The actual package installation is handled by plugin-loader.
105
+ *
106
+ * If the upgrade adds new capabilities, transitions to `upgrade_pending`.
107
+ * Otherwise, transitions to `ready` directly.
108
+ */
109
+ upgrade(pluginId: string, version?: string): Promise<PluginRecord>;
110
+ /**
111
+ * Start the worker process for a plugin that is already in `ready` state.
112
+ *
113
+ * This is used by the server startup orchestration to start workers for
114
+ * plugins that were persisted as `ready`. It requires a `PluginWorkerManager`
115
+ * to have been provided at construction time.
116
+ *
117
+ * @param pluginId - The UUID of the plugin to start
118
+ * @param options - Worker start options (entrypoint path, config, etc.)
119
+ * @throws if no worker manager is configured or the plugin is not ready
120
+ */
121
+ startWorker(pluginId: string, options: WorkerStartOptions): Promise<void>;
122
+ /**
123
+ * Stop the worker process for a plugin without changing lifecycle state.
124
+ *
125
+ * This is used during server shutdown to gracefully stop all workers.
126
+ * It does not transition the plugin state — plugins remain in their
127
+ * current status so they can be restarted on next server boot.
128
+ *
129
+ * @param pluginId - The UUID of the plugin to stop
130
+ */
131
+ stopWorker(pluginId: string): Promise<void>;
132
+ /**
133
+ * Restart the worker process for a running plugin.
134
+ *
135
+ * Stops and re-starts the worker process. The plugin remains in `ready`
136
+ * state throughout. This is typically called after a config change.
137
+ *
138
+ * @param pluginId - The UUID of the plugin to restart
139
+ * @throws if no worker manager is configured or the plugin is not ready
140
+ */
141
+ restartWorker(pluginId: string): Promise<void>;
142
+ /**
143
+ * Get the current lifecycle state for a plugin.
144
+ */
145
+ getStatus(pluginId: string): Promise<PluginStatus | null>;
146
+ /**
147
+ * Check whether a transition is allowed from the plugin's current state.
148
+ */
149
+ canTransition(pluginId: string, to: PluginStatus): Promise<boolean>;
150
+ /**
151
+ * Subscribe to lifecycle events.
152
+ */
153
+ on<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
154
+ /**
155
+ * Unsubscribe from lifecycle events.
156
+ */
157
+ off<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
158
+ /**
159
+ * Subscribe to a lifecycle event once.
160
+ */
161
+ once<K extends LifecycleEventName>(event: K, listener: (payload: LifecycleEventPayload<K>) => void): void;
162
+ }
163
+ /**
164
+ * Options for constructing a PluginLifecycleManager.
165
+ */
166
+ export interface PluginLifecycleManagerOptions {
167
+ /** Plugin loader instance. Falls back to the default if omitted. */
168
+ loader?: PluginLoader;
169
+ /**
170
+ * Worker process manager. When provided, lifecycle transitions that bring
171
+ * a plugin online (load, enable, upgrade-to-ready) will start the worker
172
+ * process, and transitions that take a plugin offline (disable, unload,
173
+ * markError) will stop it.
174
+ *
175
+ * When omitted the lifecycle manager operates in state-only mode — the
176
+ * caller is responsible for managing worker processes externally.
177
+ */
178
+ workerManager?: PluginWorkerManager;
179
+ }
180
+ /**
181
+ * Create a PluginLifecycleManager.
182
+ *
183
+ * This service orchestrates plugin state transitions on top of the
184
+ * `pluginRegistryService` (which handles raw DB persistence). It enforces
185
+ * the lifecycle state machine, emits events for downstream consumers
186
+ * (routing tables, UI, observability), and manages worker processes via
187
+ * the `PluginWorkerManager` when one is provided.
188
+ *
189
+ * Usage:
190
+ * ```ts
191
+ * const lifecycle = pluginLifecycleManager(db, {
192
+ * workerManager: createPluginWorkerManager(),
193
+ * });
194
+ * lifecycle.on("plugin.enabled", ({ pluginId }) => { ... });
195
+ * await lifecycle.load(pluginId);
196
+ * ```
197
+ *
198
+ * @see PLUGIN_SPEC.md §21.3 — `plugins.status` column
199
+ * @see PLUGIN_SPEC.md §12 — Process Model
200
+ */
201
+ export declare function pluginLifecycleManager(db: Db, options?: PluginLoader | PluginLifecycleManagerOptions): PluginLifecycleManager;
202
+ export {};
203
+ //# sourceMappingURL=plugin-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-lifecycle.d.ts","sourceRoot":"","sources":["../../src/services/plugin-lifecycle.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAoD1F;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,eAAe,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,6DAA6D;IAC7D,gBAAgB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,6DAA6D;IAC7D,iBAAiB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,8DAA8D;IAC9D,iBAAiB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAChF,oCAAoC;IACpC,uBAAuB,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,YAAY,CAAC;QAC7B,SAAS,EAAE,YAAY,CAAC;KACzB,CAAC;IACF,mDAAmD;IACnD,cAAc,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,oDAAoD;IACpD,wBAAwB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,6DAA6D;IAC7D,uBAAuB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,6DAA6D;IAC7D,uBAAuB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,KAAK,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;AACtD,KAAK,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAMpF,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9C;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhD;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAE7E;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE5D;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE;;;;;;;;;;OAUG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;;;OAQG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAE1D;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAC7B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,GACpD,IAAI,CAAC;IAER;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,kBAAkB,EAC9B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,GACpD,IAAI,CAAC;IAER;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,kBAAkB,EAC/B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,GACpD,IAAI,CAAC;CACT;AAMD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,EAAE,EACN,OAAO,CAAC,EAAE,YAAY,GAAG,6BAA6B,GACrD,sBAAsB,CAkgBxB"}
@@ -0,0 +1,476 @@
1
+ /**
2
+ * PluginLifecycleManager — state-machine controller for plugin status
3
+ * transitions and worker process coordination.
4
+ *
5
+ * Each plugin moves through a well-defined state machine:
6
+ *
7
+ * ```
8
+ * installed ──→ ready ──→ disabled
9
+ * │ │ │
10
+ * │ ├──→ error│
11
+ * │ ↓ │
12
+ * │ upgrade_pending │
13
+ * │ │ │
14
+ * ↓ ↓ ↓
15
+ * uninstalled
16
+ * ```
17
+ *
18
+ * The lifecycle manager:
19
+ *
20
+ * 1. **Validates transitions** — Only transitions defined in
21
+ * `VALID_TRANSITIONS` are allowed; invalid transitions throw.
22
+ *
23
+ * 2. **Coordinates workers** — When a plugin moves to `ready`, its
24
+ * worker process is started. When it moves out of `ready`, the
25
+ * worker is stopped gracefully.
26
+ *
27
+ * 3. **Emits events** — `plugin.loaded`, `plugin.enabled`,
28
+ * `plugin.disabled`, `plugin.unloaded`, `plugin.status_changed`
29
+ * events are emitted so that other services (job coordinator,
30
+ * tool dispatcher, event bus) can react accordingly.
31
+ *
32
+ * 4. **Persists state** — Status changes are written to the database
33
+ * through the plugin registry service.
34
+ *
35
+ * @see PLUGIN_SPEC.md §12 — Process Model
36
+ * @see PLUGIN_SPEC.md §12.5 — Graceful Shutdown Policy
37
+ */
38
+ import { EventEmitter } from "node:events";
39
+ import { pluginRegistryService } from "./plugin-registry.js";
40
+ import { pluginLoader } from "./plugin-loader.js";
41
+ import { badRequest, notFound } from "../errors.js";
42
+ import { logger } from "../middleware/logger.js";
43
+ // ---------------------------------------------------------------------------
44
+ // Lifecycle state machine
45
+ // ---------------------------------------------------------------------------
46
+ /**
47
+ * Valid state transitions for the plugin lifecycle.
48
+ *
49
+ * installed → ready (initial load succeeds)
50
+ * installed → error (initial load fails)
51
+ * installed → uninstalled (abort installation)
52
+ *
53
+ * ready → disabled (operator disables plugin)
54
+ * ready → error (runtime failure)
55
+ * ready → upgrade_pending (upgrade with new capabilities)
56
+ * ready → uninstalled (uninstall)
57
+ *
58
+ * disabled → ready (operator re-enables plugin)
59
+ * disabled → uninstalled (uninstall while disabled)
60
+ *
61
+ * error → ready (retry / recovery)
62
+ * error → uninstalled (give up and uninstall)
63
+ *
64
+ * upgrade_pending → ready (operator approves new capabilities)
65
+ * upgrade_pending → error (upgrade worker fails)
66
+ * upgrade_pending → uninstalled (reject upgrade and uninstall)
67
+ *
68
+ * uninstalled → installed (reinstall)
69
+ */
70
+ const VALID_TRANSITIONS = {
71
+ installed: ["ready", "error", "uninstalled"],
72
+ ready: ["ready", "disabled", "error", "upgrade_pending", "uninstalled"],
73
+ disabled: ["ready", "uninstalled"],
74
+ error: ["ready", "uninstalled"],
75
+ upgrade_pending: ["ready", "error", "uninstalled"],
76
+ uninstalled: ["installed"], // reinstall
77
+ };
78
+ /**
79
+ * Check whether a transition from `from` → `to` is valid.
80
+ */
81
+ function isValidTransition(from, to) {
82
+ return VALID_TRANSITIONS[from]?.includes(to) ?? false;
83
+ }
84
+ /**
85
+ * Create a PluginLifecycleManager.
86
+ *
87
+ * This service orchestrates plugin state transitions on top of the
88
+ * `pluginRegistryService` (which handles raw DB persistence). It enforces
89
+ * the lifecycle state machine, emits events for downstream consumers
90
+ * (routing tables, UI, observability), and manages worker processes via
91
+ * the `PluginWorkerManager` when one is provided.
92
+ *
93
+ * Usage:
94
+ * ```ts
95
+ * const lifecycle = pluginLifecycleManager(db, {
96
+ * workerManager: createPluginWorkerManager(),
97
+ * });
98
+ * lifecycle.on("plugin.enabled", ({ pluginId }) => { ... });
99
+ * await lifecycle.load(pluginId);
100
+ * ```
101
+ *
102
+ * @see PLUGIN_SPEC.md §21.3 — `plugins.status` column
103
+ * @see PLUGIN_SPEC.md §12 — Process Model
104
+ */
105
+ export function pluginLifecycleManager(db, options) {
106
+ // Support the legacy signature: pluginLifecycleManager(db, loader)
107
+ // as well as the new options object form.
108
+ let loaderArg;
109
+ let workerManager;
110
+ if (options && typeof options === "object" && "discoverAll" in options) {
111
+ // Legacy: second arg is a PluginLoader directly
112
+ loaderArg = options;
113
+ }
114
+ else if (options && typeof options === "object") {
115
+ const opts = options;
116
+ loaderArg = opts.loader;
117
+ workerManager = opts.workerManager;
118
+ }
119
+ const registry = pluginRegistryService(db);
120
+ const pluginLoaderInstance = loaderArg ?? pluginLoader(db);
121
+ const emitter = new EventEmitter();
122
+ emitter.setMaxListeners(100); // plugins may have many listeners; 100 is a safe upper bound
123
+ const log = logger.child({ service: "plugin-lifecycle" });
124
+ // -----------------------------------------------------------------------
125
+ // Internal helpers
126
+ // -----------------------------------------------------------------------
127
+ async function requirePlugin(pluginId) {
128
+ const plugin = await registry.getById(pluginId);
129
+ if (!plugin)
130
+ throw notFound(`Plugin not found: ${pluginId}`);
131
+ return plugin;
132
+ }
133
+ function assertTransition(plugin, to) {
134
+ if (!isValidTransition(plugin.status, to)) {
135
+ throw badRequest(`Invalid lifecycle transition: ${plugin.status} → ${to} for plugin ${plugin.pluginKey}`);
136
+ }
137
+ }
138
+ async function transition(pluginId, to, lastError = null, existingPlugin) {
139
+ const plugin = existingPlugin ?? await requirePlugin(pluginId);
140
+ assertTransition(plugin, to);
141
+ const previousStatus = plugin.status;
142
+ const updated = await registry.updateStatus(pluginId, {
143
+ status: to,
144
+ lastError,
145
+ });
146
+ if (!updated)
147
+ throw notFound(`Plugin not found after status update: ${pluginId}`);
148
+ const result = updated;
149
+ log.info({ pluginId, pluginKey: result.pluginKey, from: previousStatus, to }, `plugin lifecycle: ${previousStatus} → ${to}`);
150
+ // Emit the generic status_changed event
151
+ emitter.emit("plugin.status_changed", {
152
+ pluginId,
153
+ pluginKey: result.pluginKey,
154
+ previousStatus,
155
+ newStatus: to,
156
+ });
157
+ return result;
158
+ }
159
+ function emitDomain(event, payload) {
160
+ emitter.emit(event, payload);
161
+ }
162
+ // -----------------------------------------------------------------------
163
+ // Worker management helpers
164
+ // -----------------------------------------------------------------------
165
+ /**
166
+ * Stop the worker for a plugin if one is running.
167
+ * This is a best-effort operation — if no worker manager is configured
168
+ * or no worker is running, it silently succeeds.
169
+ */
170
+ async function stopWorkerIfRunning(pluginId, pluginKey) {
171
+ if (!workerManager)
172
+ return;
173
+ if (!workerManager.isRunning(pluginId) && !workerManager.getWorker(pluginId))
174
+ return;
175
+ try {
176
+ await workerManager.stopWorker(pluginId);
177
+ log.info({ pluginId, pluginKey }, "plugin lifecycle: worker stopped");
178
+ emitDomain("plugin.worker_stopped", { pluginId, pluginKey });
179
+ }
180
+ catch (err) {
181
+ log.warn({ pluginId, pluginKey, err: err instanceof Error ? err.message : String(err) }, "plugin lifecycle: failed to stop worker (best-effort)");
182
+ }
183
+ }
184
+ async function activateReadyPlugin(pluginId) {
185
+ const supportsRuntimeActivation = typeof pluginLoaderInstance.hasRuntimeServices === "function"
186
+ && typeof pluginLoaderInstance.loadSingle === "function";
187
+ if (!supportsRuntimeActivation || !pluginLoaderInstance.hasRuntimeServices()) {
188
+ return;
189
+ }
190
+ const loadResult = await pluginLoaderInstance.loadSingle(pluginId);
191
+ if (!loadResult.success) {
192
+ throw new Error(loadResult.error
193
+ ?? `Failed to activate plugin ${loadResult.plugin.pluginKey}`);
194
+ }
195
+ }
196
+ async function deactivatePluginRuntime(pluginId, pluginKey) {
197
+ const supportsRuntimeDeactivation = typeof pluginLoaderInstance.hasRuntimeServices === "function"
198
+ && typeof pluginLoaderInstance.unloadSingle === "function";
199
+ if (supportsRuntimeDeactivation && pluginLoaderInstance.hasRuntimeServices()) {
200
+ await pluginLoaderInstance.unloadSingle(pluginId, pluginKey);
201
+ return;
202
+ }
203
+ await stopWorkerIfRunning(pluginId, pluginKey);
204
+ }
205
+ // -----------------------------------------------------------------------
206
+ // Public API
207
+ // -----------------------------------------------------------------------
208
+ return {
209
+ // -- load -------------------------------------------------------------
210
+ /**
211
+ * load — Transitions a plugin to 'ready' status and starts its worker.
212
+ *
213
+ * This method is called after a plugin has been successfully installed and
214
+ * validated. It marks the plugin as ready in the database and immediately
215
+ * triggers the plugin loader to start the worker process.
216
+ *
217
+ * @param pluginId - The UUID of the plugin to load.
218
+ * @returns The updated plugin record.
219
+ */
220
+ async load(pluginId) {
221
+ const result = await transition(pluginId, "ready");
222
+ await activateReadyPlugin(pluginId);
223
+ emitDomain("plugin.loaded", {
224
+ pluginId,
225
+ pluginKey: result.pluginKey,
226
+ });
227
+ emitDomain("plugin.enabled", {
228
+ pluginId,
229
+ pluginKey: result.pluginKey,
230
+ });
231
+ return result;
232
+ },
233
+ // -- enable -----------------------------------------------------------
234
+ /**
235
+ * enable — Re-enables a plugin that was previously in an error or upgrade state.
236
+ *
237
+ * Similar to load(), this method transitions the plugin to 'ready' and starts
238
+ * its worker, but it specifically targets plugins that are currently disabled.
239
+ *
240
+ * @param pluginId - The UUID of the plugin to enable.
241
+ * @returns The updated plugin record.
242
+ */
243
+ async enable(pluginId) {
244
+ const plugin = await requirePlugin(pluginId);
245
+ // Only allow enabling from disabled, error, or upgrade_pending states
246
+ if (plugin.status !== "disabled" && plugin.status !== "error" && plugin.status !== "upgrade_pending") {
247
+ throw badRequest(`Cannot enable plugin in status '${plugin.status}'. ` +
248
+ `Plugin must be in 'disabled', 'error', or 'upgrade_pending' status to be enabled.`);
249
+ }
250
+ const result = await transition(pluginId, "ready", null, plugin);
251
+ await activateReadyPlugin(pluginId);
252
+ emitDomain("plugin.enabled", {
253
+ pluginId,
254
+ pluginKey: result.pluginKey,
255
+ });
256
+ return result;
257
+ },
258
+ // -- disable ----------------------------------------------------------
259
+ async disable(pluginId, reason) {
260
+ const plugin = await requirePlugin(pluginId);
261
+ // Only allow disabling from ready state
262
+ if (plugin.status !== "ready") {
263
+ throw badRequest(`Cannot disable plugin in status '${plugin.status}'. ` +
264
+ `Plugin must be in 'ready' status to be disabled.`);
265
+ }
266
+ await deactivatePluginRuntime(pluginId, plugin.pluginKey);
267
+ const result = await transition(pluginId, "disabled", reason ?? null, plugin);
268
+ emitDomain("plugin.disabled", {
269
+ pluginId,
270
+ pluginKey: result.pluginKey,
271
+ reason,
272
+ });
273
+ return result;
274
+ },
275
+ // -- unload -----------------------------------------------------------
276
+ async unload(pluginId, removeData = false) {
277
+ const plugin = await requirePlugin(pluginId);
278
+ // If already uninstalled and removeData, hard-delete
279
+ if (plugin.status === "uninstalled") {
280
+ if (removeData) {
281
+ await pluginLoaderInstance.cleanupInstallArtifacts(plugin);
282
+ const deleted = await registry.uninstall(pluginId, true);
283
+ log.info({ pluginId, pluginKey: plugin.pluginKey }, "plugin lifecycle: hard-deleted already-uninstalled plugin");
284
+ emitDomain("plugin.unloaded", {
285
+ pluginId,
286
+ pluginKey: plugin.pluginKey,
287
+ removeData: true,
288
+ });
289
+ return deleted;
290
+ }
291
+ throw badRequest(`Plugin ${plugin.pluginKey} is already uninstalled. ` +
292
+ `Use removeData=true to permanently delete it.`);
293
+ }
294
+ await deactivatePluginRuntime(pluginId, plugin.pluginKey);
295
+ await pluginLoaderInstance.cleanupInstallArtifacts(plugin);
296
+ // Perform the uninstall via registry (handles soft/hard delete)
297
+ const result = await registry.uninstall(pluginId, removeData);
298
+ log.info({ pluginId, pluginKey: plugin.pluginKey, removeData }, `plugin lifecycle: ${plugin.status} → uninstalled${removeData ? " (hard delete)" : ""}`);
299
+ emitter.emit("plugin.status_changed", {
300
+ pluginId,
301
+ pluginKey: plugin.pluginKey,
302
+ previousStatus: plugin.status,
303
+ newStatus: "uninstalled",
304
+ });
305
+ emitDomain("plugin.unloaded", {
306
+ pluginId,
307
+ pluginKey: plugin.pluginKey,
308
+ removeData,
309
+ });
310
+ return result;
311
+ },
312
+ // -- markError --------------------------------------------------------
313
+ async markError(pluginId, error) {
314
+ // Stop the worker — the plugin is in an error state and should not
315
+ // continue running. The worker manager's auto-restart is disabled
316
+ // because we are intentionally taking the plugin offline.
317
+ const plugin = await requirePlugin(pluginId);
318
+ await deactivatePluginRuntime(pluginId, plugin.pluginKey);
319
+ const result = await transition(pluginId, "error", error, plugin);
320
+ emitDomain("plugin.error", {
321
+ pluginId,
322
+ pluginKey: result.pluginKey,
323
+ error,
324
+ });
325
+ return result;
326
+ },
327
+ // -- markUpgradePending -----------------------------------------------
328
+ async markUpgradePending(pluginId) {
329
+ const plugin = await requirePlugin(pluginId);
330
+ await deactivatePluginRuntime(pluginId, plugin.pluginKey);
331
+ const result = await transition(pluginId, "upgrade_pending", null, plugin);
332
+ emitDomain("plugin.upgrade_pending", {
333
+ pluginId,
334
+ pluginKey: result.pluginKey,
335
+ });
336
+ return result;
337
+ },
338
+ // -- upgrade ----------------------------------------------------------
339
+ /**
340
+ * Upgrade a plugin to a newer version by performing a package update and
341
+ * managing the lifecycle state transition.
342
+ *
343
+ * Following PLUGIN_SPEC.md §25.3, the upgrade process:
344
+ * 1. Stops the current worker process (if running).
345
+ * 2. Fetches and validates the new plugin package via the `PluginLoader`.
346
+ * 3. Compares the capabilities declared in the new manifest against the old one.
347
+ * 4. If new capabilities are added, transitions the plugin to `upgrade_pending`
348
+ * to await operator approval (worker stays stopped).
349
+ * 5. If no new capabilities are added, transitions the plugin back to `ready`
350
+ * with the updated version and manifest metadata.
351
+ *
352
+ * @param pluginId - The UUID of the plugin to upgrade.
353
+ * @param version - Optional target version specifier.
354
+ * @returns The updated `PluginRecord`.
355
+ * @throws {BadRequest} If the plugin is not in a ready or upgrade_pending state.
356
+ */
357
+ async upgrade(pluginId, version) {
358
+ const plugin = await requirePlugin(pluginId);
359
+ // Can only upgrade plugins that are ready or already in upgrade_pending
360
+ if (plugin.status !== "ready" && plugin.status !== "upgrade_pending") {
361
+ throw badRequest(`Cannot upgrade plugin in status '${plugin.status}'. ` +
362
+ `Plugin must be in 'ready' or 'upgrade_pending' status to be upgraded.`);
363
+ }
364
+ log.info({ pluginId, pluginKey: plugin.pluginKey, targetVersion: version }, "plugin lifecycle: upgrade requested");
365
+ await deactivatePluginRuntime(pluginId, plugin.pluginKey);
366
+ // 1. Download and validate new package via loader
367
+ const { oldManifest, newManifest, discovered } = await pluginLoaderInstance.upgradePlugin(pluginId, { version });
368
+ log.info({
369
+ pluginId,
370
+ pluginKey: plugin.pluginKey,
371
+ oldVersion: oldManifest.version,
372
+ newVersion: newManifest.version,
373
+ }, "plugin lifecycle: package upgraded on disk");
374
+ // 2. Compare capabilities
375
+ const addedCaps = newManifest.capabilities.filter((cap) => !oldManifest.capabilities.includes(cap));
376
+ // 3. Transition state
377
+ if (addedCaps.length > 0) {
378
+ // New capabilities require operator approval — worker stays stopped
379
+ log.info({ pluginId, pluginKey: plugin.pluginKey, addedCaps }, "plugin lifecycle: new capabilities detected, transitioning to upgrade_pending");
380
+ // Skip the inner stopWorkerIfRunning since we already stopped above
381
+ const result = await transition(pluginId, "upgrade_pending", null, plugin);
382
+ emitDomain("plugin.upgrade_pending", {
383
+ pluginId,
384
+ pluginKey: result.pluginKey,
385
+ });
386
+ return result;
387
+ }
388
+ else {
389
+ const result = await transition(pluginId, "ready", null, {
390
+ ...plugin,
391
+ version: discovered.version,
392
+ manifestJson: newManifest,
393
+ });
394
+ await activateReadyPlugin(pluginId);
395
+ emitDomain("plugin.loaded", {
396
+ pluginId,
397
+ pluginKey: result.pluginKey,
398
+ });
399
+ emitDomain("plugin.enabled", {
400
+ pluginId,
401
+ pluginKey: result.pluginKey,
402
+ });
403
+ return result;
404
+ }
405
+ },
406
+ // -- startWorker ------------------------------------------------------
407
+ async startWorker(pluginId, options) {
408
+ if (!workerManager) {
409
+ throw badRequest("Cannot start worker: no PluginWorkerManager is configured. " +
410
+ "Provide a workerManager option when constructing the lifecycle manager.");
411
+ }
412
+ const plugin = await requirePlugin(pluginId);
413
+ if (plugin.status !== "ready") {
414
+ throw badRequest(`Cannot start worker for plugin in status '${plugin.status}'. ` +
415
+ `Plugin must be in 'ready' status.`);
416
+ }
417
+ log.info({ pluginId, pluginKey: plugin.pluginKey }, "plugin lifecycle: starting worker");
418
+ await workerManager.startWorker(pluginId, options);
419
+ emitDomain("plugin.worker_started", {
420
+ pluginId,
421
+ pluginKey: plugin.pluginKey,
422
+ });
423
+ log.info({ pluginId, pluginKey: plugin.pluginKey }, "plugin lifecycle: worker started");
424
+ },
425
+ // -- stopWorker -------------------------------------------------------
426
+ async stopWorker(pluginId) {
427
+ if (!workerManager)
428
+ return; // No worker manager — nothing to stop
429
+ const plugin = await requirePlugin(pluginId);
430
+ await stopWorkerIfRunning(pluginId, plugin.pluginKey);
431
+ },
432
+ // -- restartWorker ----------------------------------------------------
433
+ async restartWorker(pluginId) {
434
+ if (!workerManager) {
435
+ throw badRequest("Cannot restart worker: no PluginWorkerManager is configured.");
436
+ }
437
+ const plugin = await requirePlugin(pluginId);
438
+ if (plugin.status !== "ready") {
439
+ throw badRequest(`Cannot restart worker for plugin in status '${plugin.status}'. ` +
440
+ `Plugin must be in 'ready' status.`);
441
+ }
442
+ const handle = workerManager.getWorker(pluginId);
443
+ if (!handle) {
444
+ throw badRequest(`Cannot restart worker for plugin "${plugin.pluginKey}": no worker is running.`);
445
+ }
446
+ log.info({ pluginId, pluginKey: plugin.pluginKey }, "plugin lifecycle: restarting worker");
447
+ await handle.restart();
448
+ emitDomain("plugin.worker_stopped", { pluginId, pluginKey: plugin.pluginKey });
449
+ emitDomain("plugin.worker_started", { pluginId, pluginKey: plugin.pluginKey });
450
+ log.info({ pluginId, pluginKey: plugin.pluginKey }, "plugin lifecycle: worker restarted");
451
+ },
452
+ // -- getStatus --------------------------------------------------------
453
+ async getStatus(pluginId) {
454
+ const plugin = await registry.getById(pluginId);
455
+ return plugin?.status ?? null;
456
+ },
457
+ // -- canTransition ----------------------------------------------------
458
+ async canTransition(pluginId, to) {
459
+ const plugin = await registry.getById(pluginId);
460
+ if (!plugin)
461
+ return false;
462
+ return isValidTransition(plugin.status, to);
463
+ },
464
+ // -- Event subscriptions ----------------------------------------------
465
+ on(event, listener) {
466
+ emitter.on(event, listener);
467
+ },
468
+ off(event, listener) {
469
+ emitter.off(event, listener);
470
+ },
471
+ once(event, listener) {
472
+ emitter.once(event, listener);
473
+ },
474
+ };
475
+ }
476
+ //# sourceMappingURL=plugin-lifecycle.js.map