@fideliosai/server 2026.331.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 (753) hide show
  1. package/LICENSE +22 -0
  2. package/dist/adapters/codex-models.d.ts +4 -0
  3. package/dist/adapters/codex-models.d.ts.map +1 -0
  4. package/dist/adapters/codex-models.js +98 -0
  5. package/dist/adapters/codex-models.js.map +1 -0
  6. package/dist/adapters/cursor-models.d.ts +13 -0
  7. package/dist/adapters/cursor-models.d.ts.map +1 -0
  8. package/dist/adapters/cursor-models.js +148 -0
  9. package/dist/adapters/cursor-models.js.map +1 -0
  10. package/dist/adapters/http/execute.d.ts +3 -0
  11. package/dist/adapters/http/execute.d.ts.map +1 -0
  12. package/dist/adapters/http/execute.js +39 -0
  13. package/dist/adapters/http/execute.js.map +1 -0
  14. package/dist/adapters/http/index.d.ts +3 -0
  15. package/dist/adapters/http/index.d.ts.map +1 -0
  16. package/dist/adapters/http/index.js +20 -0
  17. package/dist/adapters/http/index.js.map +1 -0
  18. package/dist/adapters/http/test.d.ts +3 -0
  19. package/dist/adapters/http/test.d.ts.map +1 -0
  20. package/dist/adapters/http/test.js +106 -0
  21. package/dist/adapters/http/test.js.map +1 -0
  22. package/dist/adapters/index.d.ts +4 -0
  23. package/dist/adapters/index.d.ts.map +1 -0
  24. package/dist/adapters/index.js +3 -0
  25. package/dist/adapters/index.js.map +1 -0
  26. package/dist/adapters/process/execute.d.ts +3 -0
  27. package/dist/adapters/process/execute.d.ts.map +1 -0
  28. package/dist/adapters/process/execute.js +63 -0
  29. package/dist/adapters/process/execute.js.map +1 -0
  30. package/dist/adapters/process/index.d.ts +3 -0
  31. package/dist/adapters/process/index.d.ts.map +1 -0
  32. package/dist/adapters/process/index.js +23 -0
  33. package/dist/adapters/process/index.js.map +1 -0
  34. package/dist/adapters/process/test.d.ts +3 -0
  35. package/dist/adapters/process/test.d.ts.map +1 -0
  36. package/dist/adapters/process/test.js +77 -0
  37. package/dist/adapters/process/test.js.map +1 -0
  38. package/dist/adapters/registry.d.ts +14 -0
  39. package/dist/adapters/registry.d.ts.map +1 -0
  40. package/dist/adapters/registry.js +164 -0
  41. package/dist/adapters/registry.js.map +1 -0
  42. package/dist/adapters/types.d.ts +2 -0
  43. package/dist/adapters/types.d.ts.map +1 -0
  44. package/dist/adapters/types.js +2 -0
  45. package/dist/adapters/types.js.map +1 -0
  46. package/dist/adapters/utils.d.ts +10 -0
  47. package/dist/adapters/utils.d.ts.map +1 -0
  48. package/dist/adapters/utils.js +14 -0
  49. package/dist/adapters/utils.js.map +1 -0
  50. package/dist/agent-auth-jwt.d.ts +14 -0
  51. package/dist/agent-auth-jwt.d.ts.map +1 -0
  52. package/dist/agent-auth-jwt.js +117 -0
  53. package/dist/agent-auth-jwt.js.map +1 -0
  54. package/dist/app.d.ts +25 -0
  55. package/dist/app.d.ts.map +1 -0
  56. package/dist/app.js +265 -0
  57. package/dist/app.js.map +1 -0
  58. package/dist/attachment-types.d.ts +33 -0
  59. package/dist/attachment-types.d.ts.map +1 -0
  60. package/dist/attachment-types.js +67 -0
  61. package/dist/attachment-types.js.map +1 -0
  62. package/dist/auth/better-auth.d.ts +24 -0
  63. package/dist/auth/better-auth.d.ts.map +1 -0
  64. package/dist/auth/better-auth.js +108 -0
  65. package/dist/auth/better-auth.js.map +1 -0
  66. package/dist/board-claim.d.ts +23 -0
  67. package/dist/board-claim.d.ts.map +1 -0
  68. package/dist/board-claim.js +115 -0
  69. package/dist/board-claim.js.map +1 -0
  70. package/dist/config-file.d.ts +3 -0
  71. package/dist/config-file.d.ts.map +1 -0
  72. package/dist/config-file.js +16 -0
  73. package/dist/config-file.js.map +1 -0
  74. package/dist/config.d.ts +45 -0
  75. package/dist/config.d.ts.map +1 -0
  76. package/dist/config.js +171 -0
  77. package/dist/config.js.map +1 -0
  78. package/dist/dev-server-status.d.ts +27 -0
  79. package/dist/dev-server-status.d.ts.map +1 -0
  80. package/dist/dev-server-status.js +70 -0
  81. package/dist/dev-server-status.js.map +1 -0
  82. package/dist/dev-watch-ignore.d.ts +2 -0
  83. package/dist/dev-watch-ignore.d.ts.map +1 -0
  84. package/dist/dev-watch-ignore.js +33 -0
  85. package/dist/dev-watch-ignore.js.map +1 -0
  86. package/dist/errors.d.ts +12 -0
  87. package/dist/errors.d.ts.map +1 -0
  88. package/dist/errors.js +28 -0
  89. package/dist/errors.js.map +1 -0
  90. package/dist/home-paths.d.ts +17 -0
  91. package/dist/home-paths.d.ts.map +1 -0
  92. package/dist/home-paths.js +75 -0
  93. package/dist/home-paths.js.map +1 -0
  94. package/dist/index.d.ts +10 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +642 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/log-redaction.d.ts +11 -0
  99. package/dist/log-redaction.d.ts.map +1 -0
  100. package/dist/log-redaction.js +118 -0
  101. package/dist/log-redaction.js.map +1 -0
  102. package/dist/middleware/auth.d.ts +12 -0
  103. package/dist/middleware/auth.d.ts.map +1 -0
  104. package/dist/middleware/auth.js +144 -0
  105. package/dist/middleware/auth.js.map +1 -0
  106. package/dist/middleware/board-mutation-guard.d.ts +3 -0
  107. package/dist/middleware/board-mutation-guard.d.ts.map +1 -0
  108. package/dist/middleware/board-mutation-guard.js +59 -0
  109. package/dist/middleware/board-mutation-guard.js.map +1 -0
  110. package/dist/middleware/error-handler.d.ts +17 -0
  111. package/dist/middleware/error-handler.d.ts.map +1 -0
  112. package/dist/middleware/error-handler.js +37 -0
  113. package/dist/middleware/error-handler.js.map +1 -0
  114. package/dist/middleware/index.d.ts +4 -0
  115. package/dist/middleware/index.d.ts.map +1 -0
  116. package/dist/middleware/index.js +4 -0
  117. package/dist/middleware/index.js.map +1 -0
  118. package/dist/middleware/logger.d.ts +4 -0
  119. package/dist/middleware/logger.d.ts.map +1 -0
  120. package/dist/middleware/logger.js +87 -0
  121. package/dist/middleware/logger.js.map +1 -0
  122. package/dist/middleware/private-hostname-guard.d.ts +11 -0
  123. package/dist/middleware/private-hostname-guard.d.ts.map +1 -0
  124. package/dist/middleware/private-hostname-guard.js +78 -0
  125. package/dist/middleware/private-hostname-guard.js.map +1 -0
  126. package/dist/middleware/validate.d.ts +4 -0
  127. package/dist/middleware/validate.d.ts.map +1 -0
  128. package/dist/middleware/validate.js +7 -0
  129. package/dist/middleware/validate.js.map +1 -0
  130. package/dist/onboarding-assets/ceo/AGENTS.md +54 -0
  131. package/dist/onboarding-assets/ceo/HEARTBEAT.md +72 -0
  132. package/dist/onboarding-assets/ceo/SOUL.md +33 -0
  133. package/dist/onboarding-assets/ceo/TOOLS.md +3 -0
  134. package/dist/onboarding-assets/default/AGENTS.md +3 -0
  135. package/dist/paths.d.ts +3 -0
  136. package/dist/paths.d.ts.map +1 -0
  137. package/dist/paths.js +31 -0
  138. package/dist/paths.js.map +1 -0
  139. package/dist/realtime/live-events-ws.d.ts +28 -0
  140. package/dist/realtime/live-events-ws.d.ts.map +1 -0
  141. package/dist/realtime/live-events-ws.js +187 -0
  142. package/dist/realtime/live-events-ws.js.map +1 -0
  143. package/dist/redaction.d.ts +4 -0
  144. package/dist/redaction.d.ts.map +1 -0
  145. package/dist/redaction.js +63 -0
  146. package/dist/redaction.js.map +1 -0
  147. package/dist/routes/access.d.ts +61 -0
  148. package/dist/routes/access.d.ts.map +1 -0
  149. package/dist/routes/access.js +2265 -0
  150. package/dist/routes/access.js.map +1 -0
  151. package/dist/routes/activity.d.ts +3 -0
  152. package/dist/routes/activity.d.ts.map +1 -0
  153. package/dist/routes/activity.js +78 -0
  154. package/dist/routes/activity.js.map +1 -0
  155. package/dist/routes/agents.d.ts +3 -0
  156. package/dist/routes/agents.d.ts.map +1 -0
  157. package/dist/routes/agents.js +1828 -0
  158. package/dist/routes/agents.js.map +1 -0
  159. package/dist/routes/approvals.d.ts +3 -0
  160. package/dist/routes/approvals.d.ts.map +1 -0
  161. package/dist/routes/approvals.js +275 -0
  162. package/dist/routes/approvals.js.map +1 -0
  163. package/dist/routes/assets.d.ts +4 -0
  164. package/dist/routes/assets.d.ts.map +1 -0
  165. package/dist/routes/assets.js +309 -0
  166. package/dist/routes/assets.js.map +1 -0
  167. package/dist/routes/authz.d.ts +16 -0
  168. package/dist/routes/authz.d.ts.map +1 -0
  169. package/dist/routes/authz.js +47 -0
  170. package/dist/routes/authz.js.map +1 -0
  171. package/dist/routes/companies.d.ts +4 -0
  172. package/dist/routes/companies.d.ts.map +1 -0
  173. package/dist/routes/companies.js +303 -0
  174. package/dist/routes/companies.js.map +1 -0
  175. package/dist/routes/company-skills.d.ts +3 -0
  176. package/dist/routes/company-skills.d.ts.map +1 -0
  177. package/dist/routes/company-skills.js +228 -0
  178. package/dist/routes/company-skills.js.map +1 -0
  179. package/dist/routes/costs.d.ts +3 -0
  180. package/dist/routes/costs.d.ts.map +1 -0
  181. package/dist/routes/costs.js +268 -0
  182. package/dist/routes/costs.js.map +1 -0
  183. package/dist/routes/dashboard.d.ts +3 -0
  184. package/dist/routes/dashboard.d.ts.map +1 -0
  185. package/dist/routes/dashboard.js +15 -0
  186. package/dist/routes/dashboard.js.map +1 -0
  187. package/dist/routes/execution-workspaces.d.ts +3 -0
  188. package/dist/routes/execution-workspaces.d.ts.map +1 -0
  189. package/dist/routes/execution-workspaces.js +165 -0
  190. package/dist/routes/execution-workspaces.js.map +1 -0
  191. package/dist/routes/goals.d.ts +3 -0
  192. package/dist/routes/goals.d.ts.map +1 -0
  193. package/dist/routes/goals.js +95 -0
  194. package/dist/routes/goals.js.map +1 -0
  195. package/dist/routes/health.d.ts +9 -0
  196. package/dist/routes/health.d.ts.map +1 -0
  197. package/dist/routes/health.js +69 -0
  198. package/dist/routes/health.js.map +1 -0
  199. package/dist/routes/index.d.ts +18 -0
  200. package/dist/routes/index.d.ts.map +1 -0
  201. package/dist/routes/index.js +18 -0
  202. package/dist/routes/index.js.map +1 -0
  203. package/dist/routes/instance-settings.d.ts +3 -0
  204. package/dist/routes/instance-settings.d.ts.map +1 -0
  205. package/dist/routes/instance-settings.js +71 -0
  206. package/dist/routes/instance-settings.js.map +1 -0
  207. package/dist/routes/issues-checkout-wakeup.d.ts +9 -0
  208. package/dist/routes/issues-checkout-wakeup.d.ts.map +1 -0
  209. package/dist/routes/issues-checkout-wakeup.js +12 -0
  210. package/dist/routes/issues-checkout-wakeup.js.map +1 -0
  211. package/dist/routes/issues.d.ts +4 -0
  212. package/dist/routes/issues.d.ts.map +1 -0
  213. package/dist/routes/issues.js +1520 -0
  214. package/dist/routes/issues.js.map +1 -0
  215. package/dist/routes/llms.d.ts +3 -0
  216. package/dist/routes/llms.d.ts.map +1 -0
  217. package/dist/routes/llms.js +78 -0
  218. package/dist/routes/llms.js.map +1 -0
  219. package/dist/routes/org-chart-svg.d.ts +25 -0
  220. package/dist/routes/org-chart-svg.d.ts.map +1 -0
  221. package/dist/routes/org-chart-svg.js +657 -0
  222. package/dist/routes/org-chart-svg.js.map +1 -0
  223. package/dist/routes/plugin-ui-static.d.ts +69 -0
  224. package/dist/routes/plugin-ui-static.d.ts.map +1 -0
  225. package/dist/routes/plugin-ui-static.js +411 -0
  226. package/dist/routes/plugin-ui-static.js.map +1 -0
  227. package/dist/routes/plugins.d.ts +120 -0
  228. package/dist/routes/plugins.d.ts.map +1 -0
  229. package/dist/routes/plugins.js +1784 -0
  230. package/dist/routes/plugins.js.map +1 -0
  231. package/dist/routes/projects.d.ts +3 -0
  232. package/dist/routes/projects.d.ts.map +1 -0
  233. package/dist/routes/projects.js +257 -0
  234. package/dist/routes/projects.js.map +1 -0
  235. package/dist/routes/routines.d.ts +3 -0
  236. package/dist/routes/routines.d.ts.map +1 -0
  237. package/dist/routes/routines.js +277 -0
  238. package/dist/routes/routines.js.map +1 -0
  239. package/dist/routes/secrets.d.ts +3 -0
  240. package/dist/routes/secrets.d.ts.map +1 -0
  241. package/dist/routes/secrets.js +128 -0
  242. package/dist/routes/secrets.js.map +1 -0
  243. package/dist/routes/sidebar-badges.d.ts +3 -0
  244. package/dist/routes/sidebar-badges.d.ts.map +1 -0
  245. package/dist/routes/sidebar-badges.js +45 -0
  246. package/dist/routes/sidebar-badges.js.map +1 -0
  247. package/dist/secrets/external-stub-providers.d.ts +5 -0
  248. package/dist/secrets/external-stub-providers.d.ts.map +1 -0
  249. package/dist/secrets/external-stub-providers.js +21 -0
  250. package/dist/secrets/external-stub-providers.js.map +1 -0
  251. package/dist/secrets/local-encrypted-provider.d.ts +3 -0
  252. package/dist/secrets/local-encrypted-provider.d.ts.map +1 -0
  253. package/dist/secrets/local-encrypted-provider.js +116 -0
  254. package/dist/secrets/local-encrypted-provider.js.map +1 -0
  255. package/dist/secrets/provider-registry.d.ts +5 -0
  256. package/dist/secrets/provider-registry.d.ts.map +1 -0
  257. package/dist/secrets/provider-registry.js +20 -0
  258. package/dist/secrets/provider-registry.js.map +1 -0
  259. package/dist/secrets/types.d.ts +21 -0
  260. package/dist/secrets/types.d.ts.map +1 -0
  261. package/dist/secrets/types.js +2 -0
  262. package/dist/secrets/types.js.map +1 -0
  263. package/dist/services/access.d.ts +113 -0
  264. package/dist/services/access.d.ts.map +1 -0
  265. package/dist/services/access.js +247 -0
  266. package/dist/services/access.js.map +1 -0
  267. package/dist/services/activity-log.d.ts +17 -0
  268. package/dist/services/activity-log.d.ts.map +1 -0
  269. package/dist/services/activity-log.js +74 -0
  270. package/dist/services/activity-log.js.map +1 -0
  271. package/dist/services/activity.d.ts +764 -0
  272. package/dist/services/activity.d.ts.map +1 -0
  273. package/dist/services/activity.js +105 -0
  274. package/dist/services/activity.js.map +1 -0
  275. package/dist/services/agent-instructions.d.ts +91 -0
  276. package/dist/services/agent-instructions.d.ts.map +1 -0
  277. package/dist/services/agent-instructions.js +580 -0
  278. package/dist/services/agent-instructions.js.map +1 -0
  279. package/dist/services/agent-permissions.d.ts +6 -0
  280. package/dist/services/agent-permissions.d.ts.map +1 -0
  281. package/dist/services/agent-permissions.js +18 -0
  282. package/dist/services/agent-permissions.js.map +1 -0
  283. package/dist/services/agents.d.ts +1670 -0
  284. package/dist/services/agents.d.ts.map +1 -0
  285. package/dist/services/agents.js +566 -0
  286. package/dist/services/agents.js.map +1 -0
  287. package/dist/services/approvals.d.ts +546 -0
  288. package/dist/services/approvals.d.ts.map +1 -0
  289. package/dist/services/approvals.js +212 -0
  290. package/dist/services/approvals.js.map +1 -0
  291. package/dist/services/assets.d.ts +33 -0
  292. package/dist/services/assets.d.ts.map +1 -0
  293. package/dist/services/assets.js +17 -0
  294. package/dist/services/assets.js.map +1 -0
  295. package/dist/services/board-auth.d.ts +234 -0
  296. package/dist/services/board-auth.d.ts.map +1 -0
  297. package/dist/services/board-auth.js +295 -0
  298. package/dist/services/board-auth.js.map +1 -0
  299. package/dist/services/budgets.d.ts +38 -0
  300. package/dist/services/budgets.d.ts.map +1 -0
  301. package/dist/services/budgets.js +784 -0
  302. package/dist/services/budgets.js.map +1 -0
  303. package/dist/services/companies.d.ts +124 -0
  304. package/dist/services/companies.d.ts.map +1 -0
  305. package/dist/services/companies.js +256 -0
  306. package/dist/services/companies.js.map +1 -0
  307. package/dist/services/company-export-readme.d.ts +17 -0
  308. package/dist/services/company-export-readme.d.ts.map +1 -0
  309. package/dist/services/company-export-readme.js +148 -0
  310. package/dist/services/company-export-readme.js.map +1 -0
  311. package/dist/services/company-portability.d.ts +23 -0
  312. package/dist/services/company-portability.d.ts.map +1 -0
  313. package/dist/services/company-portability.js +3739 -0
  314. package/dist/services/company-portability.js.map +1 -0
  315. package/dist/services/company-skills.d.ts +77 -0
  316. package/dist/services/company-skills.d.ts.map +1 -0
  317. package/dist/services/company-skills.js +2042 -0
  318. package/dist/services/company-skills.js.map +1 -0
  319. package/dist/services/costs.d.ts +114 -0
  320. package/dist/services/costs.d.ts.map +1 -0
  321. package/dist/services/costs.js +294 -0
  322. package/dist/services/costs.js.map +1 -0
  323. package/dist/services/cron.d.ts +80 -0
  324. package/dist/services/cron.d.ts.map +1 -0
  325. package/dist/services/cron.js +300 -0
  326. package/dist/services/cron.js.map +1 -0
  327. package/dist/services/dashboard.d.ts +26 -0
  328. package/dist/services/dashboard.d.ts.map +1 -0
  329. package/dist/services/dashboard.js +98 -0
  330. package/dist/services/dashboard.js.map +1 -0
  331. package/dist/services/default-agent-instructions.d.ts +9 -0
  332. package/dist/services/default-agent-instructions.d.ts.map +1 -0
  333. package/dist/services/default-agent-instructions.js +20 -0
  334. package/dist/services/default-agent-instructions.js.map +1 -0
  335. package/dist/services/documents.d.ts +164 -0
  336. package/dist/services/documents.d.ts.map +1 -0
  337. package/dist/services/documents.js +382 -0
  338. package/dist/services/documents.js.map +1 -0
  339. package/dist/services/execution-workspace-policy.d.ts +21 -0
  340. package/dist/services/execution-workspace-policy.d.ts.map +1 -0
  341. package/dist/services/execution-workspace-policy.js +177 -0
  342. package/dist/services/execution-workspace-policy.js.map +1 -0
  343. package/dist/services/execution-workspaces.d.ts +19 -0
  344. package/dist/services/execution-workspaces.d.ts.map +1 -0
  345. package/dist/services/execution-workspaces.js +87 -0
  346. package/dist/services/execution-workspaces.js.map +1 -0
  347. package/dist/services/finance.d.ts +93 -0
  348. package/dist/services/finance.d.ts.map +1 -0
  349. package/dist/services/finance.js +120 -0
  350. package/dist/services/finance.js.map +1 -0
  351. package/dist/services/goals.d.ts +433 -0
  352. package/dist/services/goals.d.ts.map +1 -0
  353. package/dist/services/goals.js +54 -0
  354. package/dist/services/goals.js.map +1 -0
  355. package/dist/services/heartbeat-run-summary.d.ts +2 -0
  356. package/dist/services/heartbeat-run-summary.d.ts.map +1 -0
  357. package/dist/services/heartbeat-run-summary.js +30 -0
  358. package/dist/services/heartbeat-run-summary.js.map +1 -0
  359. package/dist/services/heartbeat.d.ts +812 -0
  360. package/dist/services/heartbeat.d.ts.map +1 -0
  361. package/dist/services/heartbeat.js +3156 -0
  362. package/dist/services/heartbeat.js.map +1 -0
  363. package/dist/services/hire-hook.d.ts +14 -0
  364. package/dist/services/hire-hook.d.ts.map +1 -0
  365. package/dist/services/hire-hook.js +85 -0
  366. package/dist/services/hire-hook.js.map +1 -0
  367. package/dist/services/index.d.ts +33 -0
  368. package/dist/services/index.d.ts.map +1 -0
  369. package/dist/services/index.js +33 -0
  370. package/dist/services/index.js.map +1 -0
  371. package/dist/services/instance-settings.d.ts +11 -0
  372. package/dist/services/instance-settings.d.ts.map +1 -0
  373. package/dist/services/instance-settings.js +116 -0
  374. package/dist/services/instance-settings.js.map +1 -0
  375. package/dist/services/issue-approvals.d.ts +56 -0
  376. package/dist/services/issue-approvals.d.ts.map +1 -0
  377. package/dist/services/issue-approvals.js +153 -0
  378. package/dist/services/issue-approvals.js.map +1 -0
  379. package/dist/services/issue-assignment-wakeup.d.ts +29 -0
  380. package/dist/services/issue-assignment-wakeup.d.ts.map +1 -0
  381. package/dist/services/issue-assignment-wakeup.js +22 -0
  382. package/dist/services/issue-assignment-wakeup.js.map +1 -0
  383. package/dist/services/issue-goal-fallback.d.ts +18 -0
  384. package/dist/services/issue-goal-fallback.d.ts.map +1 -0
  385. package/dist/services/issue-goal-fallback.js +33 -0
  386. package/dist/services/issue-goal-fallback.js.map +1 -0
  387. package/dist/services/issues.d.ts +560 -0
  388. package/dist/services/issues.d.ts.map +1 -0
  389. package/dist/services/issues.js +1478 -0
  390. package/dist/services/issues.js.map +1 -0
  391. package/dist/services/live-events.d.ts +17 -0
  392. package/dist/services/live-events.d.ts.map +1 -0
  393. package/dist/services/live-events.js +33 -0
  394. package/dist/services/live-events.js.map +1 -0
  395. package/dist/services/plugin-capability-validator.d.ts +108 -0
  396. package/dist/services/plugin-capability-validator.d.ts.map +1 -0
  397. package/dist/services/plugin-capability-validator.js +268 -0
  398. package/dist/services/plugin-capability-validator.js.map +1 -0
  399. package/dist/services/plugin-config-validator.d.ts +26 -0
  400. package/dist/services/plugin-config-validator.d.ts.map +1 -0
  401. package/dist/services/plugin-config-validator.js +41 -0
  402. package/dist/services/plugin-config-validator.js.map +1 -0
  403. package/dist/services/plugin-dev-watcher.d.ts +30 -0
  404. package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
  405. package/dist/services/plugin-dev-watcher.js +241 -0
  406. package/dist/services/plugin-dev-watcher.js.map +1 -0
  407. package/dist/services/plugin-event-bus.d.ts +149 -0
  408. package/dist/services/plugin-event-bus.d.ts.map +1 -0
  409. package/dist/services/plugin-event-bus.js +258 -0
  410. package/dist/services/plugin-event-bus.js.map +1 -0
  411. package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
  412. package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
  413. package/dist/services/plugin-host-service-cleanup.js +37 -0
  414. package/dist/services/plugin-host-service-cleanup.js.map +1 -0
  415. package/dist/services/plugin-host-services.d.ts +13 -0
  416. package/dist/services/plugin-host-services.d.ts.map +1 -0
  417. package/dist/services/plugin-host-services.js +969 -0
  418. package/dist/services/plugin-host-services.js.map +1 -0
  419. package/dist/services/plugin-job-coordinator.d.ts +81 -0
  420. package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
  421. package/dist/services/plugin-job-coordinator.js +172 -0
  422. package/dist/services/plugin-job-coordinator.js.map +1 -0
  423. package/dist/services/plugin-job-scheduler.d.ts +163 -0
  424. package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
  425. package/dist/services/plugin-job-scheduler.js +454 -0
  426. package/dist/services/plugin-job-scheduler.js.map +1 -0
  427. package/dist/services/plugin-job-store.d.ts +208 -0
  428. package/dist/services/plugin-job-store.d.ts.map +1 -0
  429. package/dist/services/plugin-job-store.js +350 -0
  430. package/dist/services/plugin-job-store.js.map +1 -0
  431. package/dist/services/plugin-lifecycle.d.ts +203 -0
  432. package/dist/services/plugin-lifecycle.d.ts.map +1 -0
  433. package/dist/services/plugin-lifecycle.js +476 -0
  434. package/dist/services/plugin-lifecycle.js.map +1 -0
  435. package/dist/services/plugin-loader.d.ts +441 -0
  436. package/dist/services/plugin-loader.d.ts.map +1 -0
  437. package/dist/services/plugin-loader.js +1192 -0
  438. package/dist/services/plugin-loader.js.map +1 -0
  439. package/dist/services/plugin-log-retention.d.ts +20 -0
  440. package/dist/services/plugin-log-retention.d.ts.map +1 -0
  441. package/dist/services/plugin-log-retention.js +63 -0
  442. package/dist/services/plugin-log-retention.js.map +1 -0
  443. package/dist/services/plugin-manifest-validator.d.ts +79 -0
  444. package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
  445. package/dist/services/plugin-manifest-validator.js +84 -0
  446. package/dist/services/plugin-manifest-validator.js.map +1 -0
  447. package/dist/services/plugin-registry.d.ts +2542 -0
  448. package/dist/services/plugin-registry.d.ts.map +1 -0
  449. package/dist/services/plugin-registry.js +539 -0
  450. package/dist/services/plugin-registry.js.map +1 -0
  451. package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
  452. package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
  453. package/dist/services/plugin-runtime-sandbox.js +154 -0
  454. package/dist/services/plugin-runtime-sandbox.js.map +1 -0
  455. package/dist/services/plugin-secrets-handler.d.ts +81 -0
  456. package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
  457. package/dist/services/plugin-secrets-handler.js +275 -0
  458. package/dist/services/plugin-secrets-handler.js.map +1 -0
  459. package/dist/services/plugin-state-store.d.ts +92 -0
  460. package/dist/services/plugin-state-store.d.ts.map +1 -0
  461. package/dist/services/plugin-state-store.js +190 -0
  462. package/dist/services/plugin-state-store.js.map +1 -0
  463. package/dist/services/plugin-stream-bus.d.ts +29 -0
  464. package/dist/services/plugin-stream-bus.d.ts.map +1 -0
  465. package/dist/services/plugin-stream-bus.js +48 -0
  466. package/dist/services/plugin-stream-bus.js.map +1 -0
  467. package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
  468. package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
  469. package/dist/services/plugin-tool-dispatcher.js +224 -0
  470. package/dist/services/plugin-tool-dispatcher.js.map +1 -0
  471. package/dist/services/plugin-tool-registry.d.ts +192 -0
  472. package/dist/services/plugin-tool-registry.d.ts.map +1 -0
  473. package/dist/services/plugin-tool-registry.js +224 -0
  474. package/dist/services/plugin-tool-registry.js.map +1 -0
  475. package/dist/services/plugin-worker-manager.d.ts +260 -0
  476. package/dist/services/plugin-worker-manager.d.ts.map +1 -0
  477. package/dist/services/plugin-worker-manager.js +835 -0
  478. package/dist/services/plugin-worker-manager.js.map +1 -0
  479. package/dist/services/projects.d.ts +87 -0
  480. package/dist/services/projects.d.ts.map +1 -0
  481. package/dist/services/projects.js +656 -0
  482. package/dist/services/projects.js.map +1 -0
  483. package/dist/services/quota-windows.d.ts +9 -0
  484. package/dist/services/quota-windows.d.ts.map +1 -0
  485. package/dist/services/quota-windows.js +56 -0
  486. package/dist/services/quota-windows.js.map +1 -0
  487. package/dist/services/routines.d.ts +135 -0
  488. package/dist/services/routines.d.ts.map +1 -0
  489. package/dist/services/routines.js +1105 -0
  490. package/dist/services/routines.js.map +1 -0
  491. package/dist/services/run-log-store.d.ts +34 -0
  492. package/dist/services/run-log-store.d.ts.map +1 -0
  493. package/dist/services/run-log-store.js +109 -0
  494. package/dist/services/run-log-store.js.map +1 -0
  495. package/dist/services/secrets.d.ts +511 -0
  496. package/dist/services/secrets.d.ts.map +1 -0
  497. package/dist/services/secrets.js +289 -0
  498. package/dist/services/secrets.js.map +1 -0
  499. package/dist/services/sidebar-badges.d.ts +9 -0
  500. package/dist/services/sidebar-badges.d.ts.map +1 -0
  501. package/dist/services/sidebar-badges.js +33 -0
  502. package/dist/services/sidebar-badges.js.map +1 -0
  503. package/dist/services/work-products.d.ts +14 -0
  504. package/dist/services/work-products.d.ts.map +1 -0
  505. package/dist/services/work-products.js +100 -0
  506. package/dist/services/work-products.js.map +1 -0
  507. package/dist/services/workspace-operation-log-store.d.ts +33 -0
  508. package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
  509. package/dist/services/workspace-operation-log-store.js +110 -0
  510. package/dist/services/workspace-operation-log-store.js.map +1 -0
  511. package/dist/services/workspace-operations.d.ts +44 -0
  512. package/dist/services/workspace-operations.d.ts.map +1 -0
  513. package/dist/services/workspace-operations.js +211 -0
  514. package/dist/services/workspace-operations.js.map +1 -0
  515. package/dist/services/workspace-runtime.d.ts +164 -0
  516. package/dist/services/workspace-runtime.d.ts.map +1 -0
  517. package/dist/services/workspace-runtime.js +1235 -0
  518. package/dist/services/workspace-runtime.js.map +1 -0
  519. package/dist/startup-banner.d.ts +31 -0
  520. package/dist/startup-banner.d.ts.map +1 -0
  521. package/dist/startup-banner.js +117 -0
  522. package/dist/startup-banner.js.map +1 -0
  523. package/dist/storage/index.d.ts +6 -0
  524. package/dist/storage/index.d.ts.map +1 -0
  525. package/dist/storage/index.js +29 -0
  526. package/dist/storage/index.js.map +1 -0
  527. package/dist/storage/local-disk-provider.d.ts +3 -0
  528. package/dist/storage/local-disk-provider.d.ts.map +1 -0
  529. package/dist/storage/local-disk-provider.js +79 -0
  530. package/dist/storage/local-disk-provider.js.map +1 -0
  531. package/dist/storage/provider-registry.d.ts +4 -0
  532. package/dist/storage/provider-registry.d.ts.map +1 -0
  533. package/dist/storage/provider-registry.js +15 -0
  534. package/dist/storage/provider-registry.js.map +1 -0
  535. package/dist/storage/s3-provider.d.ts +11 -0
  536. package/dist/storage/s3-provider.d.ts.map +1 -0
  537. package/dist/storage/s3-provider.js +123 -0
  538. package/dist/storage/s3-provider.js.map +1 -0
  539. package/dist/storage/service.d.ts +3 -0
  540. package/dist/storage/service.d.ts.map +1 -0
  541. package/dist/storage/service.js +120 -0
  542. package/dist/storage/service.js.map +1 -0
  543. package/dist/storage/types.d.ts +55 -0
  544. package/dist/storage/types.d.ts.map +1 -0
  545. package/dist/storage/types.js +2 -0
  546. package/dist/storage/types.js.map +1 -0
  547. package/dist/ui-branding.d.ts +13 -0
  548. package/dist/ui-branding.d.ts.map +1 -0
  549. package/dist/ui-branding.js +188 -0
  550. package/dist/ui-branding.js.map +1 -0
  551. package/dist/version.d.ts +2 -0
  552. package/dist/version.d.ts.map +1 -0
  553. package/dist/version.js +5 -0
  554. package/dist/version.js.map +1 -0
  555. package/dist/worktree-config.d.ts +19 -0
  556. package/dist/worktree-config.d.ts.map +1 -0
  557. package/dist/worktree-config.js +365 -0
  558. package/dist/worktree-config.js.map +1 -0
  559. package/package.json +90 -0
  560. package/skills/fidelios/SKILL.md +365 -0
  561. package/skills/fidelios/references/api-reference.md +647 -0
  562. package/skills/fidelios/references/company-skills.md +193 -0
  563. package/skills/fidelios-create-agent/SKILL.md +142 -0
  564. package/skills/fidelios-create-agent/references/api-reference.md +105 -0
  565. package/skills/fidelios-create-plugin/SKILL.md +101 -0
  566. package/skills/para-memory-files/SKILL.md +104 -0
  567. package/skills/para-memory-files/references/schemas.md +35 -0
  568. package/ui-dist/android-chrome-192x192.png +0 -0
  569. package/ui-dist/android-chrome-512x512.png +0 -0
  570. package/ui-dist/apple-touch-icon.png +0 -0
  571. package/ui-dist/assets/_basePickBy-DDS8rFE9.js +1 -0
  572. package/ui-dist/assets/_baseUniq-BTIdqnfJ.js +1 -0
  573. package/ui-dist/assets/apl-B4CMkyY2.js +1 -0
  574. package/ui-dist/assets/arc-CER6ytAf.js +1 -0
  575. package/ui-dist/assets/architectureDiagram-VXUJARFQ-CrJvVSPh.js +36 -0
  576. package/ui-dist/assets/asciiarmor-Df11BRmG.js +1 -0
  577. package/ui-dist/assets/asn1-EdZsLKOL.js +1 -0
  578. package/ui-dist/assets/asterisk-B-8jnY81.js +1 -0
  579. package/ui-dist/assets/blockDiagram-VD42YOAC-p-DB7nkA.js +122 -0
  580. package/ui-dist/assets/brainfuck-C4LP7Hcl.js +1 -0
  581. package/ui-dist/assets/c4Diagram-YG6GDRKO-D1K75fYz.js +10 -0
  582. package/ui-dist/assets/channel-B1viE-VZ.js +1 -0
  583. package/ui-dist/assets/chunk-4BX2VUAB-C1J-fCaK.js +1 -0
  584. package/ui-dist/assets/chunk-55IACEB6-CjEOgVYA.js +1 -0
  585. package/ui-dist/assets/chunk-B4BG7PRW-CGZwFaze.js +165 -0
  586. package/ui-dist/assets/chunk-DI55MBZ5-Dp2ZahPN.js +220 -0
  587. package/ui-dist/assets/chunk-FMBD7UC4-nXC1OkzD.js +15 -0
  588. package/ui-dist/assets/chunk-QN33PNHL-D_uFCkMK.js +1 -0
  589. package/ui-dist/assets/chunk-QZHKN3VN-CG3WK_AN.js +1 -0
  590. package/ui-dist/assets/chunk-TZMSLE5B-COlBSWdP.js +1 -0
  591. package/ui-dist/assets/classDiagram-2ON5EDUG-Cs4NEMXI.js +1 -0
  592. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-Cs4NEMXI.js +1 -0
  593. package/ui-dist/assets/clike-B9uivgTg.js +1 -0
  594. package/ui-dist/assets/clojure-BMjYHr_A.js +1 -0
  595. package/ui-dist/assets/clone-CGwZV8ud.js +1 -0
  596. package/ui-dist/assets/cmake-BQqOBYOt.js +1 -0
  597. package/ui-dist/assets/cobol-CWcv1MsR.js +1 -0
  598. package/ui-dist/assets/coffeescript-S37ZYGWr.js +1 -0
  599. package/ui-dist/assets/commonlisp-DBKNyK5s.js +1 -0
  600. package/ui-dist/assets/cose-bilkent-S5V4N54A-B9XYqCMb.js +1 -0
  601. package/ui-dist/assets/crystal-SjHAIU92.js +1 -0
  602. package/ui-dist/assets/css-BnMrqG3P.js +1 -0
  603. package/ui-dist/assets/cypher-C_CwsFkJ.js +1 -0
  604. package/ui-dist/assets/cytoscape.esm-BQaXIfA_.js +331 -0
  605. package/ui-dist/assets/d-pRatUO7H.js +1 -0
  606. package/ui-dist/assets/dagre-6UL2VRFP-DcCdBLC7.js +4 -0
  607. package/ui-dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  608. package/ui-dist/assets/diagram-PSM6KHXK-np1kLquy.js +24 -0
  609. package/ui-dist/assets/diagram-QEK2KX5R-C-b4qIN1.js +43 -0
  610. package/ui-dist/assets/diagram-S2PKOQOG-Ba-173Ug.js +24 -0
  611. package/ui-dist/assets/diff-DbItnlRl.js +1 -0
  612. package/ui-dist/assets/dockerfile-BKs6k2Af.js +1 -0
  613. package/ui-dist/assets/dtd-DF_7sFjM.js +1 -0
  614. package/ui-dist/assets/dylan-DwRh75JA.js +1 -0
  615. package/ui-dist/assets/ebnf-CDyGwa7X.js +1 -0
  616. package/ui-dist/assets/ecl-Cabwm37j.js +1 -0
  617. package/ui-dist/assets/eiffel-CnydiIhH.js +1 -0
  618. package/ui-dist/assets/elm-vLlmbW-K.js +1 -0
  619. package/ui-dist/assets/erDiagram-Q2GNP2WA-BBmkHiJP.js +60 -0
  620. package/ui-dist/assets/erlang-BNw1qcRV.js +1 -0
  621. package/ui-dist/assets/factor-kuTfRLto.js +1 -0
  622. package/ui-dist/assets/fcl-Kvtd6kyn.js +1 -0
  623. package/ui-dist/assets/flowDiagram-NV44I4VS-Dj_iTDkp.js +162 -0
  624. package/ui-dist/assets/forth-Ffai-XNe.js +1 -0
  625. package/ui-dist/assets/fortran-DYz_wnZ1.js +1 -0
  626. package/ui-dist/assets/ganttDiagram-JELNMOA3-Bn1hanTg.js +267 -0
  627. package/ui-dist/assets/gas-Bneqetm1.js +1 -0
  628. package/ui-dist/assets/gherkin-heZmZLOM.js +1 -0
  629. package/ui-dist/assets/gitGraphDiagram-V2S2FVAM-BjmRpty0.js +65 -0
  630. package/ui-dist/assets/graph-CWBOAGTW.js +1 -0
  631. package/ui-dist/assets/groovy-D9Dt4D0W.js +1 -0
  632. package/ui-dist/assets/haskell-Cw1EW3IL.js +1 -0
  633. package/ui-dist/assets/haxe-H-WmDvRZ.js +1 -0
  634. package/ui-dist/assets/http-DBlCnlav.js +1 -0
  635. package/ui-dist/assets/idl-BEugSyMb.js +1 -0
  636. package/ui-dist/assets/index-B52MtqBm.js +1 -0
  637. package/ui-dist/assets/index-BEBYIFOJ.js +1 -0
  638. package/ui-dist/assets/index-BIvl9YFB.js +1 -0
  639. package/ui-dist/assets/index-BNyP1gwD.js +1 -0
  640. package/ui-dist/assets/index-BRW6bV_B.js +6 -0
  641. package/ui-dist/assets/index-BcQTWaKH.js +1 -0
  642. package/ui-dist/assets/index-BfKYbH5T.js +13 -0
  643. package/ui-dist/assets/index-BhX49pA0.js +1 -0
  644. package/ui-dist/assets/index-BoFaTgOC.js +2 -0
  645. package/ui-dist/assets/index-C-Es83iE.js +7 -0
  646. package/ui-dist/assets/index-C3LG8kvr.js +1 -0
  647. package/ui-dist/assets/index-C5Z9j0rD.js +1 -0
  648. package/ui-dist/assets/index-CFlEF-gp.js +1 -0
  649. package/ui-dist/assets/index-Cjm12V39.js +1 -0
  650. package/ui-dist/assets/index-Cp84QmJD.css +1 -0
  651. package/ui-dist/assets/index-D2t01AH0.js +1 -0
  652. package/ui-dist/assets/index-DEt1jkxJ.js +1 -0
  653. package/ui-dist/assets/index-DeAKBJuz.js +3 -0
  654. package/ui-dist/assets/index-Du65R_Zq.js +1 -0
  655. package/ui-dist/assets/index-WUHteAuP.js +1 -0
  656. package/ui-dist/assets/index-Y_jO6IK_.js +1180 -0
  657. package/ui-dist/assets/index-ZQU9QA5y.js +1 -0
  658. package/ui-dist/assets/index-f6wRGThx.js +1 -0
  659. package/ui-dist/assets/index-hMuLlvYa.js +1 -0
  660. package/ui-dist/assets/infoDiagram-HS3SLOUP-CVMKJlmV.js +2 -0
  661. package/ui-dist/assets/init-Gi6I4Gst.js +1 -0
  662. package/ui-dist/assets/javascript-iXu5QeM3.js +1 -0
  663. package/ui-dist/assets/journeyDiagram-XKPGCS4Q-FrNTHHMi.js +139 -0
  664. package/ui-dist/assets/julia-DuME0IfC.js +1 -0
  665. package/ui-dist/assets/kanban-definition-3W4ZIXB7-BQYKwdVh.js +89 -0
  666. package/ui-dist/assets/katex-O9d3_IXG.js +261 -0
  667. package/ui-dist/assets/layout-BxccZ6zb.js +1 -0
  668. package/ui-dist/assets/linear-Db-Yv5jO.js +1 -0
  669. package/ui-dist/assets/livescript-BwQOo05w.js +1 -0
  670. package/ui-dist/assets/lua-BgMRiT3U.js +1 -0
  671. package/ui-dist/assets/mathematica-DTrFuWx2.js +1 -0
  672. package/ui-dist/assets/mbox-CNhZ1qSd.js +1 -0
  673. package/ui-dist/assets/mermaid.core-BCE9tDOe.js +256 -0
  674. package/ui-dist/assets/mindmap-definition-VGOIOE7T-ZWLuqirD.js +68 -0
  675. package/ui-dist/assets/mirc-CjQqDB4T.js +1 -0
  676. package/ui-dist/assets/mllike-CXdrOF99.js +1 -0
  677. package/ui-dist/assets/modelica-Dc1JOy9r.js +1 -0
  678. package/ui-dist/assets/mscgen-BA5vi2Kp.js +1 -0
  679. package/ui-dist/assets/mumps-BT43cFF4.js +1 -0
  680. package/ui-dist/assets/nginx-DdIZxoE0.js +1 -0
  681. package/ui-dist/assets/nsis-LdVXkNf5.js +1 -0
  682. package/ui-dist/assets/ntriples-BfvgReVJ.js +1 -0
  683. package/ui-dist/assets/octave-Ck1zUtKM.js +1 -0
  684. package/ui-dist/assets/ordinal-Cboi1Yqb.js +1 -0
  685. package/ui-dist/assets/oz-BzwKVEFT.js +1 -0
  686. package/ui-dist/assets/pascal--L3eBynH.js +1 -0
  687. package/ui-dist/assets/perl-CdXCOZ3F.js +1 -0
  688. package/ui-dist/assets/pieDiagram-ADFJNKIX-D01HRHJF.js +30 -0
  689. package/ui-dist/assets/pig-CevX1Tat.js +1 -0
  690. package/ui-dist/assets/powershell-CFHJl5sT.js +1 -0
  691. package/ui-dist/assets/properties-C78fOPTZ.js +1 -0
  692. package/ui-dist/assets/protobuf-ChK-085T.js +1 -0
  693. package/ui-dist/assets/pug-DeIclll2.js +1 -0
  694. package/ui-dist/assets/puppet-DMA9R1ak.js +1 -0
  695. package/ui-dist/assets/python-BuPzkPfP.js +1 -0
  696. package/ui-dist/assets/q-pXgVlZs6.js +1 -0
  697. package/ui-dist/assets/quadrantDiagram-AYHSOK5B-lAmOPnB4.js +7 -0
  698. package/ui-dist/assets/r-B6wPVr8A.js +1 -0
  699. package/ui-dist/assets/requirementDiagram-UZGBJVZJ-ByNWbh-O.js +64 -0
  700. package/ui-dist/assets/rpm-CTu-6PCP.js +1 -0
  701. package/ui-dist/assets/ruby-B2Rjki9n.js +1 -0
  702. package/ui-dist/assets/sankeyDiagram-TZEHDZUN-Cf_Gq84u.js +10 -0
  703. package/ui-dist/assets/sas-B4kiWyti.js +1 -0
  704. package/ui-dist/assets/scheme-C41bIUwD.js +1 -0
  705. package/ui-dist/assets/sequenceDiagram-WL72ISMW-Bx2VZbdr.js +145 -0
  706. package/ui-dist/assets/shell-CjFT_Tl9.js +1 -0
  707. package/ui-dist/assets/sieve-C3Gn_uJK.js +1 -0
  708. package/ui-dist/assets/simple-mode-GW_nhZxv.js +1 -0
  709. package/ui-dist/assets/smalltalk-CnHTOXQT.js +1 -0
  710. package/ui-dist/assets/solr-DehyRSwq.js +1 -0
  711. package/ui-dist/assets/sparql-DkYu6x3z.js +1 -0
  712. package/ui-dist/assets/spreadsheet-BCZA_wO0.js +1 -0
  713. package/ui-dist/assets/sql-D0XecflT.js +1 -0
  714. package/ui-dist/assets/stateDiagram-FKZM4ZOC-vP7G7A65.js +1 -0
  715. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-C2xpsAAO.js +1 -0
  716. package/ui-dist/assets/stex-C3f8Ysf7.js +1 -0
  717. package/ui-dist/assets/stylus-B533Al4x.js +1 -0
  718. package/ui-dist/assets/swift-BzpIVaGY.js +1 -0
  719. package/ui-dist/assets/tcl-DVfN8rqt.js +1 -0
  720. package/ui-dist/assets/textile-CnDTJFAw.js +1 -0
  721. package/ui-dist/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  722. package/ui-dist/assets/tiki-DGYXhP31.js +1 -0
  723. package/ui-dist/assets/timeline-definition-IT6M3QCI-BJww-sEp.js +61 -0
  724. package/ui-dist/assets/toml-Bm5Em-hy.js +1 -0
  725. package/ui-dist/assets/treemap-GDKQZRPO-DUux14NY.js +162 -0
  726. package/ui-dist/assets/troff-wAsdV37c.js +1 -0
  727. package/ui-dist/assets/ttcn-CfJYG6tj.js +1 -0
  728. package/ui-dist/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  729. package/ui-dist/assets/turtle-B1tBg_DP.js +1 -0
  730. package/ui-dist/assets/vb-CmGdzxic.js +1 -0
  731. package/ui-dist/assets/vbscript-BuJXcnF6.js +1 -0
  732. package/ui-dist/assets/velocity-D8B20fx6.js +1 -0
  733. package/ui-dist/assets/verilog-C6RDOZhf.js +1 -0
  734. package/ui-dist/assets/vhdl-lSbBsy5d.js +1 -0
  735. package/ui-dist/assets/webidl-ZXfAyPTL.js +1 -0
  736. package/ui-dist/assets/xquery-DzFWVndE.js +1 -0
  737. package/ui-dist/assets/xychartDiagram-PRI3JC2R-AU5ZOwAw.js +7 -0
  738. package/ui-dist/assets/yacas-BJ4BC0dw.js +1 -0
  739. package/ui-dist/assets/z80-Hz9HOZM7.js +1 -0
  740. package/ui-dist/brands/opencode-logo-dark-square.svg +18 -0
  741. package/ui-dist/brands/opencode-logo-light-square.svg +18 -0
  742. package/ui-dist/favicon-16x16.png +0 -0
  743. package/ui-dist/favicon-32x32.png +0 -0
  744. package/ui-dist/favicon-96x96.png +0 -0
  745. package/ui-dist/favicon.ico +0 -0
  746. package/ui-dist/favicon.svg +3 -0
  747. package/ui-dist/index.html +48 -0
  748. package/ui-dist/site.webmanifest +21 -0
  749. package/ui-dist/sw.js +42 -0
  750. package/ui-dist/worktree-favicon-16x16.png +0 -0
  751. package/ui-dist/worktree-favicon-32x32.png +0 -0
  752. package/ui-dist/worktree-favicon.ico +0 -0
  753. package/ui-dist/worktree-favicon.svg +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-job-store.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAW,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAG5B;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE;IAwBjC;;;;;;;;;;;;;;;;OAgBG;kCAES,MAAM,gBACF,oBAAoB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IA4DhB;;;;;OAKG;uBAES,MAAM,WACP,mBAAmB,GAC3B,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;IAW9C;;;;;;OAMG;0BAES,MAAM,UACR,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAanD;;;;;OAKG;sBAEM,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQnD;;;;;OAKG;kCAES,MAAM,SACT,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQnD;;;;;OAKG;2BAEM,MAAM,UACL,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;OASG;+BAEM,MAAM,aACF,IAAI,aACJ,IAAI,GAAG,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;OAMG;4BAC2B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;;;;;;;;OASG;qBAEM,iBAAiB,GACvB,OAAO,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC;IAc7C;;;;OAIG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C;;;;;;OAMG;uBAEM,MAAM,SACN,mBAAmB,GACzB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;sBAEM,MAAM,GACZ,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAQtD;;;;;OAKG;yBAEM,MAAM,mBAEZ,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IASjD;;;;;;OAMG;+BAES,MAAM,WACP,kBAAkB,mBAE1B,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;EAapD;AAED,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Plugin Job Store — persistence layer for scheduled plugin jobs and their
3
+ * execution history.
4
+ *
5
+ * This service manages the `plugin_jobs` and `plugin_job_runs` tables. It is
6
+ * the server-side backing store for the `ctx.jobs` SDK surface exposed to
7
+ * plugin workers.
8
+ *
9
+ * ## Responsibilities
10
+ *
11
+ * 1. **Sync job declarations** — When a plugin is installed or started, the
12
+ * host calls `syncJobDeclarations()` to upsert the manifest's declared jobs
13
+ * into the `plugin_jobs` table. Jobs removed from the manifest are marked
14
+ * `paused` (not deleted) to preserve history.
15
+ *
16
+ * 2. **Job CRUD** — List, get, pause, and resume jobs for a given plugin.
17
+ *
18
+ * 3. **Run lifecycle** — Create job run records, update their status, and
19
+ * record results (duration, errors, logs).
20
+ *
21
+ * 4. **Next-run calculation** — After a run completes the host should call
22
+ * `updateNextRunAt()` with the next cron tick so the scheduler knows when
23
+ * to fire next.
24
+ *
25
+ * The capability check (`jobs.schedule`) is enforced upstream by the host
26
+ * client factory and manifest validator — this store trusts that the caller
27
+ * has already been authorised.
28
+ *
29
+ * @see PLUGIN_SPEC.md §17 — Scheduled Jobs
30
+ * @see PLUGIN_SPEC.md §21.3 — `plugin_jobs` / `plugin_job_runs` tables
31
+ */
32
+ import { and, desc, eq } from "drizzle-orm";
33
+ import { plugins, pluginJobs, pluginJobRuns } from "@fideliosai/db";
34
+ import { notFound } from "../errors.js";
35
+ // ---------------------------------------------------------------------------
36
+ // Service
37
+ // ---------------------------------------------------------------------------
38
+ /**
39
+ * Create a PluginJobStore backed by the given Drizzle database instance.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const jobStore = pluginJobStore(db);
44
+ *
45
+ * // On plugin install/start — sync declared jobs into the DB
46
+ * await jobStore.syncJobDeclarations(pluginId, manifest.jobs ?? []);
47
+ *
48
+ * // Before dispatching a runJob RPC — create a run record
49
+ * const run = await jobStore.createRun({ jobId, pluginId, trigger: "schedule" });
50
+ *
51
+ * // After the RPC completes — record the result
52
+ * await jobStore.completeRun(run.id, {
53
+ * status: "succeeded",
54
+ * durationMs: Date.now() - startedAt,
55
+ * });
56
+ * ```
57
+ */
58
+ export function pluginJobStore(db) {
59
+ // -----------------------------------------------------------------------
60
+ // Internal helpers
61
+ // -----------------------------------------------------------------------
62
+ async function assertPluginExists(pluginId) {
63
+ const rows = await db
64
+ .select({ id: plugins.id })
65
+ .from(plugins)
66
+ .where(eq(plugins.id, pluginId));
67
+ if (rows.length === 0) {
68
+ throw notFound(`Plugin not found: ${pluginId}`);
69
+ }
70
+ }
71
+ // -----------------------------------------------------------------------
72
+ // Public API
73
+ // -----------------------------------------------------------------------
74
+ return {
75
+ // =====================================================================
76
+ // Job declarations (plugin_jobs)
77
+ // =====================================================================
78
+ /**
79
+ * Sync declared jobs from a plugin manifest into the `plugin_jobs` table.
80
+ *
81
+ * This is called at plugin install and on each worker startup so the DB
82
+ * always reflects the manifest's declared jobs:
83
+ *
84
+ * - **New jobs** are inserted with status `active`.
85
+ * - **Existing jobs** have their `schedule` updated if it changed.
86
+ * - **Removed jobs** (present in DB but absent from the manifest) are
87
+ * set to `paused` so their history is preserved.
88
+ *
89
+ * The unique constraint `(pluginId, jobKey)` is used for conflict
90
+ * resolution.
91
+ *
92
+ * @param pluginId - UUID of the owning plugin
93
+ * @param declarations - Job declarations from the plugin manifest
94
+ */
95
+ async syncJobDeclarations(pluginId, declarations) {
96
+ await assertPluginExists(pluginId);
97
+ // Fetch existing jobs for this plugin
98
+ const existingJobs = await db
99
+ .select()
100
+ .from(pluginJobs)
101
+ .where(eq(pluginJobs.pluginId, pluginId));
102
+ const existingByKey = new Map(existingJobs.map((j) => [j.jobKey, j]));
103
+ const declaredKeys = new Set();
104
+ // Upsert each declared job
105
+ for (const decl of declarations) {
106
+ declaredKeys.add(decl.jobKey);
107
+ const existing = existingByKey.get(decl.jobKey);
108
+ const schedule = decl.schedule ?? "";
109
+ if (existing) {
110
+ // Update schedule if it changed; re-activate if it was paused
111
+ const updates = {
112
+ updatedAt: new Date(),
113
+ };
114
+ if (existing.schedule !== schedule) {
115
+ updates.schedule = schedule;
116
+ }
117
+ if (existing.status === "paused") {
118
+ updates.status = "active";
119
+ }
120
+ await db
121
+ .update(pluginJobs)
122
+ .set(updates)
123
+ .where(eq(pluginJobs.id, existing.id));
124
+ }
125
+ else {
126
+ // Insert new job
127
+ await db.insert(pluginJobs).values({
128
+ pluginId,
129
+ jobKey: decl.jobKey,
130
+ schedule,
131
+ status: "active",
132
+ });
133
+ }
134
+ }
135
+ // Pause jobs that are no longer declared in the manifest
136
+ for (const existing of existingJobs) {
137
+ if (!declaredKeys.has(existing.jobKey) && existing.status !== "paused") {
138
+ await db
139
+ .update(pluginJobs)
140
+ .set({ status: "paused", updatedAt: new Date() })
141
+ .where(eq(pluginJobs.id, existing.id));
142
+ }
143
+ }
144
+ },
145
+ /**
146
+ * List all jobs for a plugin, optionally filtered by status.
147
+ *
148
+ * @param pluginId - UUID of the owning plugin
149
+ * @param status - Optional status filter
150
+ */
151
+ async listJobs(pluginId, status) {
152
+ const conditions = [eq(pluginJobs.pluginId, pluginId)];
153
+ if (status) {
154
+ conditions.push(eq(pluginJobs.status, status));
155
+ }
156
+ return db
157
+ .select()
158
+ .from(pluginJobs)
159
+ .where(and(...conditions));
160
+ },
161
+ /**
162
+ * Get a single job by its composite key `(pluginId, jobKey)`.
163
+ *
164
+ * @param pluginId - UUID of the owning plugin
165
+ * @param jobKey - Stable job identifier from the manifest
166
+ * @returns The job row, or `null` if not found
167
+ */
168
+ async getJobByKey(pluginId, jobKey) {
169
+ const rows = await db
170
+ .select()
171
+ .from(pluginJobs)
172
+ .where(and(eq(pluginJobs.pluginId, pluginId), eq(pluginJobs.jobKey, jobKey)));
173
+ return rows[0] ?? null;
174
+ },
175
+ /**
176
+ * Get a single job by its primary key (UUID).
177
+ *
178
+ * @param jobId - UUID of the job row
179
+ * @returns The job row, or `null` if not found
180
+ */
181
+ async getJobById(jobId) {
182
+ const rows = await db
183
+ .select()
184
+ .from(pluginJobs)
185
+ .where(eq(pluginJobs.id, jobId));
186
+ return rows[0] ?? null;
187
+ },
188
+ /**
189
+ * Fetch a single job by ID, scoped to a specific plugin.
190
+ *
191
+ * Returns `null` if the job does not exist or does not belong to the
192
+ * given plugin — callers should treat both cases as "not found".
193
+ */
194
+ async getJobByIdForPlugin(pluginId, jobId) {
195
+ const rows = await db
196
+ .select()
197
+ .from(pluginJobs)
198
+ .where(and(eq(pluginJobs.id, jobId), eq(pluginJobs.pluginId, pluginId)));
199
+ return rows[0] ?? null;
200
+ },
201
+ /**
202
+ * Update a job's status.
203
+ *
204
+ * @param jobId - UUID of the job row
205
+ * @param status - New status
206
+ */
207
+ async updateJobStatus(jobId, status) {
208
+ await db
209
+ .update(pluginJobs)
210
+ .set({ status, updatedAt: new Date() })
211
+ .where(eq(pluginJobs.id, jobId));
212
+ },
213
+ /**
214
+ * Update the `lastRunAt` and `nextRunAt` timestamps on a job.
215
+ *
216
+ * Called by the scheduler after a run completes to advance the
217
+ * scheduling pointer.
218
+ *
219
+ * @param jobId - UUID of the job row
220
+ * @param lastRunAt - When the last run started
221
+ * @param nextRunAt - When the next run should fire
222
+ */
223
+ async updateRunTimestamps(jobId, lastRunAt, nextRunAt) {
224
+ await db
225
+ .update(pluginJobs)
226
+ .set({
227
+ lastRunAt,
228
+ nextRunAt,
229
+ updatedAt: new Date(),
230
+ })
231
+ .where(eq(pluginJobs.id, jobId));
232
+ },
233
+ /**
234
+ * Delete all jobs (and cascaded runs) owned by a plugin.
235
+ *
236
+ * Called during plugin uninstall when `removeData = true`.
237
+ *
238
+ * @param pluginId - UUID of the owning plugin
239
+ */
240
+ async deleteAllJobs(pluginId) {
241
+ await db
242
+ .delete(pluginJobs)
243
+ .where(eq(pluginJobs.pluginId, pluginId));
244
+ },
245
+ // =====================================================================
246
+ // Job runs (plugin_job_runs)
247
+ // =====================================================================
248
+ /**
249
+ * Create a new job run record with status `queued`.
250
+ *
251
+ * The caller should create the run record *before* dispatching the
252
+ * `runJob` RPC to the worker, then update it to `running` once the
253
+ * worker begins execution.
254
+ *
255
+ * @param input - Job run input (jobId, pluginId, trigger)
256
+ * @returns The newly created run row
257
+ */
258
+ async createRun(input) {
259
+ const rows = await db
260
+ .insert(pluginJobRuns)
261
+ .values({
262
+ jobId: input.jobId,
263
+ pluginId: input.pluginId,
264
+ trigger: input.trigger,
265
+ status: "queued",
266
+ })
267
+ .returning();
268
+ return rows[0];
269
+ },
270
+ /**
271
+ * Mark a run as `running` and set its `startedAt` timestamp.
272
+ *
273
+ * @param runId - UUID of the run row
274
+ */
275
+ async markRunning(runId) {
276
+ await db
277
+ .update(pluginJobRuns)
278
+ .set({
279
+ status: "running",
280
+ startedAt: new Date(),
281
+ })
282
+ .where(eq(pluginJobRuns.id, runId));
283
+ },
284
+ /**
285
+ * Complete a run — set its final status, error, duration, and
286
+ * `finishedAt` timestamp.
287
+ *
288
+ * @param runId - UUID of the run row
289
+ * @param input - Completion details
290
+ */
291
+ async completeRun(runId, input) {
292
+ await db
293
+ .update(pluginJobRuns)
294
+ .set({
295
+ status: input.status,
296
+ error: input.error ?? null,
297
+ durationMs: input.durationMs ?? null,
298
+ finishedAt: new Date(),
299
+ })
300
+ .where(eq(pluginJobRuns.id, runId));
301
+ },
302
+ /**
303
+ * Get a run by its primary key.
304
+ *
305
+ * @param runId - UUID of the run row
306
+ * @returns The run row, or `null` if not found
307
+ */
308
+ async getRunById(runId) {
309
+ const rows = await db
310
+ .select()
311
+ .from(pluginJobRuns)
312
+ .where(eq(pluginJobRuns.id, runId));
313
+ return rows[0] ?? null;
314
+ },
315
+ /**
316
+ * List runs for a specific job, ordered by creation time descending.
317
+ *
318
+ * @param jobId - UUID of the job
319
+ * @param limit - Maximum number of rows to return (default: 50)
320
+ */
321
+ async listRunsByJob(jobId, limit = 50) {
322
+ return db
323
+ .select()
324
+ .from(pluginJobRuns)
325
+ .where(eq(pluginJobRuns.jobId, jobId))
326
+ .orderBy(desc(pluginJobRuns.createdAt))
327
+ .limit(limit);
328
+ },
329
+ /**
330
+ * List runs for a plugin, optionally filtered by status.
331
+ *
332
+ * @param pluginId - UUID of the owning plugin
333
+ * @param status - Optional status filter
334
+ * @param limit - Maximum number of rows to return (default: 50)
335
+ */
336
+ async listRunsByPlugin(pluginId, status, limit = 50) {
337
+ const conditions = [eq(pluginJobRuns.pluginId, pluginId)];
338
+ if (status) {
339
+ conditions.push(eq(pluginJobRuns.status, status));
340
+ }
341
+ return db
342
+ .select()
343
+ .from(pluginJobRuns)
344
+ .where(and(...conditions))
345
+ .orderBy(desc(pluginJobRuns.createdAt))
346
+ .limit(limit);
347
+ },
348
+ };
349
+ }
350
+ //# sourceMappingURL=plugin-job-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-job-store.js","sourceRoot":"","sources":["../../src/services/plugin-job-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ import type { Db } from "@fideliosai/db";
2
+ import type { PluginStatus, PluginRecord } from "@fideliosai/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":"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"}