@paperclipai/server 0.3.1 → 2026.3.17-canary.2

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 (335) hide show
  1. package/dist/adapters/registry.d.ts.map +1 -1
  2. package/dist/adapters/registry.js +23 -2
  3. package/dist/adapters/registry.js.map +1 -1
  4. package/dist/adapters/types.d.ts +1 -1
  5. package/dist/adapters/types.d.ts.map +1 -1
  6. package/dist/app.d.ts +4 -0
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +115 -3
  9. package/dist/app.js.map +1 -1
  10. package/dist/attachment-types.d.ts.map +1 -1
  11. package/dist/attachment-types.js +6 -0
  12. package/dist/attachment-types.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +9 -1
  15. package/dist/config.js.map +1 -1
  16. package/dist/home-paths.d.ts +5 -0
  17. package/dist/home-paths.d.ts.map +1 -1
  18. package/dist/home-paths.js +18 -0
  19. package/dist/home-paths.js.map +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +61 -42
  22. package/dist/index.js.map +1 -1
  23. package/dist/routes/access.d.ts.map +1 -1
  24. package/dist/routes/access.js +90 -1
  25. package/dist/routes/access.js.map +1 -1
  26. package/dist/routes/agents.d.ts.map +1 -1
  27. package/dist/routes/agents.js +64 -1
  28. package/dist/routes/agents.js.map +1 -1
  29. package/dist/routes/assets.d.ts.map +1 -1
  30. package/dist/routes/assets.js +191 -13
  31. package/dist/routes/assets.js.map +1 -1
  32. package/dist/routes/companies.d.ts.map +1 -1
  33. package/dist/routes/companies.js +10 -1
  34. package/dist/routes/companies.js.map +1 -1
  35. package/dist/routes/costs.d.ts.map +1 -1
  36. package/dist/routes/costs.js +160 -5
  37. package/dist/routes/costs.js.map +1 -1
  38. package/dist/routes/execution-workspaces.d.ts +3 -0
  39. package/dist/routes/execution-workspaces.d.ts.map +1 -0
  40. package/dist/routes/execution-workspaces.js +165 -0
  41. package/dist/routes/execution-workspaces.js.map +1 -0
  42. package/dist/routes/health.d.ts.map +1 -1
  43. package/dist/routes/health.js +3 -1
  44. package/dist/routes/health.js.map +1 -1
  45. package/dist/routes/index.d.ts +1 -0
  46. package/dist/routes/index.d.ts.map +1 -1
  47. package/dist/routes/index.js +1 -0
  48. package/dist/routes/index.js.map +1 -1
  49. package/dist/routes/instance-settings.d.ts +3 -0
  50. package/dist/routes/instance-settings.d.ts.map +1 -0
  51. package/dist/routes/instance-settings.js +46 -0
  52. package/dist/routes/instance-settings.js.map +1 -0
  53. package/dist/routes/issues.d.ts.map +1 -1
  54. package/dist/routes/issues.js +339 -4
  55. package/dist/routes/issues.js.map +1 -1
  56. package/dist/routes/plugin-ui-static.d.ts +69 -0
  57. package/dist/routes/plugin-ui-static.d.ts.map +1 -0
  58. package/dist/routes/plugin-ui-static.js +411 -0
  59. package/dist/routes/plugin-ui-static.js.map +1 -0
  60. package/dist/routes/plugins.d.ts +120 -0
  61. package/dist/routes/plugins.d.ts.map +1 -0
  62. package/dist/routes/plugins.js +1784 -0
  63. package/dist/routes/plugins.js.map +1 -0
  64. package/dist/routes/projects.d.ts.map +1 -1
  65. package/dist/routes/projects.js +5 -1
  66. package/dist/routes/projects.js.map +1 -1
  67. package/dist/services/access.d.ts +2 -2
  68. package/dist/services/activity-log.d.ts +3 -0
  69. package/dist/services/activity-log.d.ts.map +1 -1
  70. package/dist/services/activity-log.js +34 -0
  71. package/dist/services/activity-log.js.map +1 -1
  72. package/dist/services/agents.d.ts +39 -15
  73. package/dist/services/agents.d.ts.map +1 -1
  74. package/dist/services/agents.js +60 -8
  75. package/dist/services/agents.js.map +1 -1
  76. package/dist/services/approvals.d.ts +5 -5
  77. package/dist/services/approvals.d.ts.map +1 -1
  78. package/dist/services/approvals.js +11 -0
  79. package/dist/services/approvals.js.map +1 -1
  80. package/dist/services/assets.d.ts +4 -4
  81. package/dist/services/budgets.d.ts +38 -0
  82. package/dist/services/budgets.d.ts.map +1 -0
  83. package/dist/services/budgets.js +784 -0
  84. package/dist/services/budgets.js.map +1 -0
  85. package/dist/services/companies.d.ts +39 -418
  86. package/dist/services/companies.d.ts.map +1 -1
  87. package/dist/services/companies.js +157 -21
  88. package/dist/services/companies.js.map +1 -1
  89. package/dist/services/costs.d.ts +67 -3
  90. package/dist/services/costs.d.ts.map +1 -1
  91. package/dist/services/costs.js +185 -57
  92. package/dist/services/costs.js.map +1 -1
  93. package/dist/services/cron.d.ts +80 -0
  94. package/dist/services/cron.d.ts.map +1 -0
  95. package/dist/services/cron.js +300 -0
  96. package/dist/services/cron.js.map +1 -0
  97. package/dist/services/dashboard.d.ts +6 -0
  98. package/dist/services/dashboard.d.ts.map +1 -1
  99. package/dist/services/dashboard.js +9 -0
  100. package/dist/services/dashboard.js.map +1 -1
  101. package/dist/services/documents.d.ts +164 -0
  102. package/dist/services/documents.d.ts.map +1 -0
  103. package/dist/services/documents.js +382 -0
  104. package/dist/services/documents.js.map +1 -0
  105. package/dist/services/execution-workspace-policy.d.ts +2 -1
  106. package/dist/services/execution-workspace-policy.d.ts.map +1 -1
  107. package/dist/services/execution-workspace-policy.js +63 -15
  108. package/dist/services/execution-workspace-policy.js.map +1 -1
  109. package/dist/services/execution-workspaces.d.ts +19 -0
  110. package/dist/services/execution-workspaces.d.ts.map +1 -0
  111. package/dist/services/execution-workspaces.js +87 -0
  112. package/dist/services/execution-workspaces.js.map +1 -0
  113. package/dist/services/finance.d.ts +93 -0
  114. package/dist/services/finance.d.ts.map +1 -0
  115. package/dist/services/finance.js +120 -0
  116. package/dist/services/finance.js.map +1 -0
  117. package/dist/services/heartbeat.d.ts +11 -1
  118. package/dist/services/heartbeat.d.ts.map +1 -1
  119. package/dist/services/heartbeat.js +1292 -559
  120. package/dist/services/heartbeat.js.map +1 -1
  121. package/dist/services/index.d.ts +7 -0
  122. package/dist/services/index.d.ts.map +1 -1
  123. package/dist/services/index.js +7 -0
  124. package/dist/services/index.js.map +1 -1
  125. package/dist/services/instance-settings.d.ts +9 -0
  126. package/dist/services/instance-settings.d.ts.map +1 -0
  127. package/dist/services/instance-settings.js +80 -0
  128. package/dist/services/instance-settings.js.map +1 -0
  129. package/dist/services/issue-approvals.d.ts +1 -1
  130. package/dist/services/issues.d.ts +14 -2
  131. package/dist/services/issues.d.ts.map +1 -1
  132. package/dist/services/issues.js +161 -9
  133. package/dist/services/issues.js.map +1 -1
  134. package/dist/services/live-events.d.ts +5 -0
  135. package/dist/services/live-events.d.ts.map +1 -1
  136. package/dist/services/live-events.js +9 -0
  137. package/dist/services/live-events.js.map +1 -1
  138. package/dist/services/plugin-capability-validator.d.ts +108 -0
  139. package/dist/services/plugin-capability-validator.d.ts.map +1 -0
  140. package/dist/services/plugin-capability-validator.js +268 -0
  141. package/dist/services/plugin-capability-validator.js.map +1 -0
  142. package/dist/services/plugin-config-validator.d.ts +26 -0
  143. package/dist/services/plugin-config-validator.d.ts.map +1 -0
  144. package/dist/services/plugin-config-validator.js +41 -0
  145. package/dist/services/plugin-config-validator.js.map +1 -0
  146. package/dist/services/plugin-dev-watcher.d.ts +30 -0
  147. package/dist/services/plugin-dev-watcher.d.ts.map +1 -0
  148. package/dist/services/plugin-dev-watcher.js +241 -0
  149. package/dist/services/plugin-dev-watcher.js.map +1 -0
  150. package/dist/services/plugin-event-bus.d.ts +149 -0
  151. package/dist/services/plugin-event-bus.d.ts.map +1 -0
  152. package/dist/services/plugin-event-bus.js +258 -0
  153. package/dist/services/plugin-event-bus.js.map +1 -0
  154. package/dist/services/plugin-host-service-cleanup.d.ts +14 -0
  155. package/dist/services/plugin-host-service-cleanup.d.ts.map +1 -0
  156. package/dist/services/plugin-host-service-cleanup.js +37 -0
  157. package/dist/services/plugin-host-service-cleanup.js.map +1 -0
  158. package/dist/services/plugin-host-services.d.ts +13 -0
  159. package/dist/services/plugin-host-services.d.ts.map +1 -0
  160. package/dist/services/plugin-host-services.js +969 -0
  161. package/dist/services/plugin-host-services.js.map +1 -0
  162. package/dist/services/plugin-job-coordinator.d.ts +81 -0
  163. package/dist/services/plugin-job-coordinator.d.ts.map +1 -0
  164. package/dist/services/plugin-job-coordinator.js +172 -0
  165. package/dist/services/plugin-job-coordinator.js.map +1 -0
  166. package/dist/services/plugin-job-scheduler.d.ts +163 -0
  167. package/dist/services/plugin-job-scheduler.d.ts.map +1 -0
  168. package/dist/services/plugin-job-scheduler.js +454 -0
  169. package/dist/services/plugin-job-scheduler.js.map +1 -0
  170. package/dist/services/plugin-job-store.d.ts +208 -0
  171. package/dist/services/plugin-job-store.d.ts.map +1 -0
  172. package/dist/services/plugin-job-store.js +350 -0
  173. package/dist/services/plugin-job-store.js.map +1 -0
  174. package/dist/services/plugin-lifecycle.d.ts +203 -0
  175. package/dist/services/plugin-lifecycle.d.ts.map +1 -0
  176. package/dist/services/plugin-lifecycle.js +476 -0
  177. package/dist/services/plugin-lifecycle.js.map +1 -0
  178. package/dist/services/plugin-loader.d.ts +441 -0
  179. package/dist/services/plugin-loader.d.ts.map +1 -0
  180. package/dist/services/plugin-loader.js +1192 -0
  181. package/dist/services/plugin-loader.js.map +1 -0
  182. package/dist/services/plugin-log-retention.d.ts +20 -0
  183. package/dist/services/plugin-log-retention.d.ts.map +1 -0
  184. package/dist/services/plugin-log-retention.js +63 -0
  185. package/dist/services/plugin-log-retention.js.map +1 -0
  186. package/dist/services/plugin-manifest-validator.d.ts +79 -0
  187. package/dist/services/plugin-manifest-validator.d.ts.map +1 -0
  188. package/dist/services/plugin-manifest-validator.js +84 -0
  189. package/dist/services/plugin-manifest-validator.js.map +1 -0
  190. package/dist/services/plugin-registry.d.ts +2542 -0
  191. package/dist/services/plugin-registry.d.ts.map +1 -0
  192. package/dist/services/plugin-registry.js +539 -0
  193. package/dist/services/plugin-registry.js.map +1 -0
  194. package/dist/services/plugin-runtime-sandbox.d.ts +40 -0
  195. package/dist/services/plugin-runtime-sandbox.d.ts.map +1 -0
  196. package/dist/services/plugin-runtime-sandbox.js +154 -0
  197. package/dist/services/plugin-runtime-sandbox.js.map +1 -0
  198. package/dist/services/plugin-secrets-handler.d.ts +81 -0
  199. package/dist/services/plugin-secrets-handler.d.ts.map +1 -0
  200. package/dist/services/plugin-secrets-handler.js +275 -0
  201. package/dist/services/plugin-secrets-handler.js.map +1 -0
  202. package/dist/services/plugin-state-store.d.ts +92 -0
  203. package/dist/services/plugin-state-store.d.ts.map +1 -0
  204. package/dist/services/plugin-state-store.js +190 -0
  205. package/dist/services/plugin-state-store.js.map +1 -0
  206. package/dist/services/plugin-stream-bus.d.ts +29 -0
  207. package/dist/services/plugin-stream-bus.d.ts.map +1 -0
  208. package/dist/services/plugin-stream-bus.js +48 -0
  209. package/dist/services/plugin-stream-bus.js.map +1 -0
  210. package/dist/services/plugin-tool-dispatcher.d.ts +180 -0
  211. package/dist/services/plugin-tool-dispatcher.d.ts.map +1 -0
  212. package/dist/services/plugin-tool-dispatcher.js +224 -0
  213. package/dist/services/plugin-tool-dispatcher.js.map +1 -0
  214. package/dist/services/plugin-tool-registry.d.ts +192 -0
  215. package/dist/services/plugin-tool-registry.d.ts.map +1 -0
  216. package/dist/services/plugin-tool-registry.js +224 -0
  217. package/dist/services/plugin-tool-registry.js.map +1 -0
  218. package/dist/services/plugin-worker-manager.d.ts +260 -0
  219. package/dist/services/plugin-worker-manager.d.ts.map +1 -0
  220. package/dist/services/plugin-worker-manager.js +835 -0
  221. package/dist/services/plugin-worker-manager.js.map +1 -0
  222. package/dist/services/projects.d.ts +12 -1
  223. package/dist/services/projects.d.ts.map +1 -1
  224. package/dist/services/projects.js +100 -4
  225. package/dist/services/projects.js.map +1 -1
  226. package/dist/services/quota-windows.d.ts +9 -0
  227. package/dist/services/quota-windows.d.ts.map +1 -0
  228. package/dist/services/quota-windows.js +56 -0
  229. package/dist/services/quota-windows.js.map +1 -0
  230. package/dist/services/secrets.d.ts +5 -5
  231. package/dist/services/work-products.d.ts +14 -0
  232. package/dist/services/work-products.d.ts.map +1 -0
  233. package/dist/services/work-products.js +100 -0
  234. package/dist/services/work-products.js.map +1 -0
  235. package/dist/services/workspace-operation-log-store.d.ts +33 -0
  236. package/dist/services/workspace-operation-log-store.d.ts.map +1 -0
  237. package/dist/services/workspace-operation-log-store.js +110 -0
  238. package/dist/services/workspace-operation-log-store.js.map +1 -0
  239. package/dist/services/workspace-operations.d.ts +44 -0
  240. package/dist/services/workspace-operations.d.ts.map +1 -0
  241. package/dist/services/workspace-operations.js +204 -0
  242. package/dist/services/workspace-operations.js.map +1 -0
  243. package/dist/services/workspace-runtime.d.ts +43 -5
  244. package/dist/services/workspace-runtime.d.ts.map +1 -1
  245. package/dist/services/workspace-runtime.js +413 -30
  246. package/dist/services/workspace-runtime.js.map +1 -1
  247. package/dist/ui-branding.d.ts +10 -1
  248. package/dist/ui-branding.d.ts.map +1 -1
  249. package/dist/ui-branding.js +164 -14
  250. package/dist/ui-branding.js.map +1 -1
  251. package/dist/version.d.ts +2 -0
  252. package/dist/version.d.ts.map +1 -0
  253. package/dist/version.js +5 -0
  254. package/dist/version.js.map +1 -0
  255. package/package.json +32 -14
  256. package/skills/paperclip/SKILL.md +34 -20
  257. package/skills/paperclip-create-plugin/SKILL.md +101 -0
  258. package/ui-dist/assets/{_basePickBy-B0xbZITw.js → _basePickBy-Chytvk8p.js} +1 -1
  259. package/ui-dist/assets/{_baseUniq-Cfd5u3qc.js → _baseUniq-BVL8b2zA.js} +1 -1
  260. package/ui-dist/assets/{arc-7Xbu8tBF.js → arc-D5hJS7gD.js} +1 -1
  261. package/ui-dist/assets/{architectureDiagram-VXUJARFQ-C8F7ZRYc.js → architectureDiagram-VXUJARFQ-BFq3iN58.js} +1 -1
  262. package/ui-dist/assets/{blockDiagram-VD42YOAC-Dp08a65A.js → blockDiagram-VD42YOAC-B69ok7vL.js} +1 -1
  263. package/ui-dist/assets/{c4Diagram-YG6GDRKO-BJfslTgZ.js → c4Diagram-YG6GDRKO-FE0D9aiA.js} +1 -1
  264. package/ui-dist/assets/channel-CiKAknwU.js +1 -0
  265. package/ui-dist/assets/{chunk-4BX2VUAB-BhaYWH7e.js → chunk-4BX2VUAB-SAhF6g-l.js} +1 -1
  266. package/ui-dist/assets/{chunk-55IACEB6-BOzJUsYW.js → chunk-55IACEB6-yxKD70bX.js} +1 -1
  267. package/ui-dist/assets/{chunk-B4BG7PRW-CbVcziyE.js → chunk-B4BG7PRW-qB4VaAIx.js} +1 -1
  268. package/ui-dist/assets/{chunk-DI55MBZ5-DghPtP3y.js → chunk-DI55MBZ5-B4NIq1Ee.js} +1 -1
  269. package/ui-dist/assets/{chunk-FMBD7UC4-CB095Kfn.js → chunk-FMBD7UC4-B5kLoRe2.js} +1 -1
  270. package/ui-dist/assets/{chunk-QN33PNHL-DfpzfDqJ.js → chunk-QN33PNHL-BVVG2n_X.js} +1 -1
  271. package/ui-dist/assets/{chunk-QZHKN3VN-Df3d5z1y.js → chunk-QZHKN3VN-ncMubclp.js} +1 -1
  272. package/ui-dist/assets/{chunk-TZMSLE5B-B6tX6bZI.js → chunk-TZMSLE5B-DSyjQk8C.js} +1 -1
  273. package/ui-dist/assets/classDiagram-2ON5EDUG-B93oQX02.js +1 -0
  274. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-B93oQX02.js +1 -0
  275. package/ui-dist/assets/clone-Dld-3yq0.js +1 -0
  276. package/ui-dist/assets/{cose-bilkent-S5V4N54A-38wg_s9V.js → cose-bilkent-S5V4N54A-BAikNewC.js} +1 -1
  277. package/ui-dist/assets/{dagre-6UL2VRFP-DPVj3XLS.js → dagre-6UL2VRFP-j223UI8_.js} +1 -1
  278. package/ui-dist/assets/{diagram-PSM6KHXK-BJh89zUA.js → diagram-PSM6KHXK-Bhg27ZsN.js} +1 -1
  279. package/ui-dist/assets/{diagram-QEK2KX5R-Bw0m_j10.js → diagram-QEK2KX5R-BmtcrTHq.js} +1 -1
  280. package/ui-dist/assets/{diagram-S2PKOQOG-D7_M2F3u.js → diagram-S2PKOQOG-x8XuP7dH.js} +1 -1
  281. package/ui-dist/assets/{erDiagram-Q2GNP2WA-CLsjqTWP.js → erDiagram-Q2GNP2WA-Dc8mHvB-.js} +1 -1
  282. package/ui-dist/assets/{flowDiagram-NV44I4VS-BZZ7ezVB.js → flowDiagram-NV44I4VS-Br08v6xs.js} +1 -1
  283. package/ui-dist/assets/{ganttDiagram-JELNMOA3-KzsFuwBt.js → ganttDiagram-JELNMOA3-CksKhiV8.js} +1 -1
  284. package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-DSHtY7Vu.js → gitGraphDiagram-V2S2FVAM-DmitztAD.js} +1 -1
  285. package/ui-dist/assets/{graph-luIG1UAS.js → graph-Xzh7bNfz.js} +1 -1
  286. package/ui-dist/assets/{index-nFjLambq.js → index-B-MPJNeS.js} +1 -1
  287. package/ui-dist/assets/{index-RUBFVv6t.js → index-BAOC35TS.js} +1 -1
  288. package/ui-dist/assets/{index-CaR9XM4h.js → index-BCtrpKdJ.js} +1 -1
  289. package/ui-dist/assets/{index-itc7BfMy.js → index-B_mlwDCG.js} +1 -1
  290. package/ui-dist/assets/{index-1gX09-Fl.js → index-Bp8oJMwx.js} +1 -1
  291. package/ui-dist/assets/{index-B_3g3Rie.js → index-BqOfMG1d.js} +1 -1
  292. package/ui-dist/assets/{index-uR3zjYaD.js → index-C0hw7cTu.js} +1 -1
  293. package/ui-dist/assets/{index-Ds7vLTSK.js → index-C1ENEd6Y.js} +1 -1
  294. package/ui-dist/assets/{index-CeDCs_2i.js → index-CGB1OHQi.js} +1 -1
  295. package/ui-dist/assets/{index-DBy0vJy3.js → index-CZlfAt7E.js} +1 -1
  296. package/ui-dist/assets/{index-00kuG4sI.js → index-CeL-QouZ.js} +1 -1
  297. package/ui-dist/assets/{index-Bv4xCjxl.js → index-Cz0TxJbw.js} +1 -1
  298. package/ui-dist/assets/{index-DJf8diAA.js → index-DBxUCwDG.js} +1 -1
  299. package/ui-dist/assets/{index-DnIPDZLp.js → index-DGzQUMWC.js} +1 -1
  300. package/ui-dist/assets/{index-CbGtsjW7.js → index-DI9dat7c.js} +1 -1
  301. package/ui-dist/assets/{index-BfB4lKJN.js → index-DMpo-QSZ.js} +1 -1
  302. package/ui-dist/assets/{index-DcfLFstG.js → index-DQ6xyFaN.js} +1 -1
  303. package/ui-dist/assets/{index-B1ZMzzs0.js → index-DWMQ1Fyj.js} +1 -1
  304. package/ui-dist/assets/index-DbrFgvLd.css +1 -0
  305. package/ui-dist/assets/{index-C8XyGAr9.js → index-Er4i9aLN.js} +1 -1
  306. package/ui-dist/assets/{index-C2SZYIDA.js → index-I5K-yQx5.js} +1 -1
  307. package/ui-dist/assets/index-MuodIbDJ.js +1120 -0
  308. package/ui-dist/assets/{index-BeeKMqNU.js → index-auLN8BHe.js} +1 -1
  309. package/ui-dist/assets/{index-DoTq-BeR.js → index-xw01-Pl4.js} +1 -1
  310. package/ui-dist/assets/{infoDiagram-HS3SLOUP-CDEfWpme.js → infoDiagram-HS3SLOUP-DHb4TS1W.js} +1 -1
  311. package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-i7nsbg_Y.js → journeyDiagram-XKPGCS4Q-CLRBeXVU.js} +1 -1
  312. package/ui-dist/assets/{kanban-definition-3W4ZIXB7-DDlx1qVE.js → kanban-definition-3W4ZIXB7-CsQp6woE.js} +1 -1
  313. package/ui-dist/assets/{layout-C7AtmJzX.js → layout-DwD9tZ5r.js} +1 -1
  314. package/ui-dist/assets/{linear-C5jHT-WP.js → linear-DF9n_1d3.js} +1 -1
  315. package/ui-dist/assets/{mermaid.core-C8YQ4fcY.js → mermaid.core-CDm4Crkq.js} +4 -4
  316. package/ui-dist/assets/{mindmap-definition-VGOIOE7T-B9m9PuUg.js → mindmap-definition-VGOIOE7T-CVzU1x4i.js} +1 -1
  317. package/ui-dist/assets/{pieDiagram-ADFJNKIX-SvKywCSE.js → pieDiagram-ADFJNKIX-CWgl0Up8.js} +1 -1
  318. package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-QfBPm7Y1.js → quadrantDiagram-AYHSOK5B-CcedyN6Q.js} +1 -1
  319. package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-DnfQQuwi.js → requirementDiagram-UZGBJVZJ-DZ4BVz3s.js} +1 -1
  320. package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-DvLkjzIW.js → sankeyDiagram-TZEHDZUN-CLHEx34B.js} +1 -1
  321. package/ui-dist/assets/{sequenceDiagram-WL72ISMW-5Lq2rWBc.js → sequenceDiagram-WL72ISMW-nmTJbPyy.js} +1 -1
  322. package/ui-dist/assets/{stateDiagram-FKZM4ZOC-DcYPHDyi.js → stateDiagram-FKZM4ZOC-_UGwFEqN.js} +1 -1
  323. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-CvFVoOUd.js +1 -0
  324. package/ui-dist/assets/{timeline-definition-IT6M3QCI-lrN4JmWa.js → timeline-definition-IT6M3QCI-Bibk8Daj.js} +1 -1
  325. package/ui-dist/assets/{treemap-GDKQZRPO-DFJKIBTQ.js → treemap-GDKQZRPO-Ch3rlaqT.js} +1 -1
  326. package/ui-dist/assets/{xychartDiagram-PRI3JC2R-CT47vtdm.js → xychartDiagram-PRI3JC2R-DBUudr-E.js} +1 -1
  327. package/ui-dist/index.html +4 -2
  328. package/skills/create-agent-adapter/SKILL.md +0 -718
  329. package/ui-dist/assets/channel-BViQDbSq.js +0 -1
  330. package/ui-dist/assets/classDiagram-2ON5EDUG-CjMCmxMT.js +0 -1
  331. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-CjMCmxMT.js +0 -1
  332. package/ui-dist/assets/clone-Dbn9wtE1.js +0 -1
  333. package/ui-dist/assets/index-BHP9dico.js +0 -1006
  334. package/ui-dist/assets/index-BfNaDZnn.css +0 -1
  335. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-nv50YYrl.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-host-services.js","sourceRoot":"","sources":["../../src/services/plugin-host-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * PluginJobCoordinator — bridges the plugin lifecycle manager with the
3
+ * job scheduler and job store.
4
+ *
5
+ * This service listens to lifecycle events and performs the corresponding
6
+ * scheduler and job store operations:
7
+ *
8
+ * - **plugin.loaded** → sync job declarations from manifest, then register
9
+ * the plugin with the scheduler (computes `nextRunAt` for active jobs).
10
+ *
11
+ * - **plugin.disabled / plugin.unloaded** → unregister the plugin from the
12
+ * scheduler (cancels in-flight runs, clears tracking state).
13
+ *
14
+ * ## Why a separate coordinator?
15
+ *
16
+ * The lifecycle manager, scheduler, and job store are independent services
17
+ * with clean single-responsibility boundaries. The coordinator provides
18
+ * the "glue" between them without adding coupling. This pattern is used
19
+ * throughout Paperclip (e.g. heartbeat service coordinates timers + runs).
20
+ *
21
+ * @see PLUGIN_SPEC.md §17 — Scheduled Jobs
22
+ * @see ./plugin-job-scheduler.ts — Scheduler service
23
+ * @see ./plugin-job-store.ts — Persistence layer
24
+ * @see ./plugin-lifecycle.ts — Plugin state machine
25
+ */
26
+ import type { PluginLifecycleManager } from "./plugin-lifecycle.js";
27
+ import type { PluginJobScheduler } from "./plugin-job-scheduler.js";
28
+ import type { PluginJobStore } from "./plugin-job-store.js";
29
+ import type { Db } from "@paperclipai/db";
30
+ /**
31
+ * Options for creating a PluginJobCoordinator.
32
+ */
33
+ export interface PluginJobCoordinatorOptions {
34
+ /** Drizzle database instance. */
35
+ db: Db;
36
+ /** The plugin lifecycle manager to listen to. */
37
+ lifecycle: PluginLifecycleManager;
38
+ /** The job scheduler to register/unregister plugins with. */
39
+ scheduler: PluginJobScheduler;
40
+ /** The job store for syncing declarations. */
41
+ jobStore: PluginJobStore;
42
+ }
43
+ /**
44
+ * The public interface of the job coordinator.
45
+ */
46
+ export interface PluginJobCoordinator {
47
+ /**
48
+ * Start listening to lifecycle events.
49
+ *
50
+ * This wires up the `plugin.loaded`, `plugin.disabled`, and
51
+ * `plugin.unloaded` event handlers.
52
+ */
53
+ start(): void;
54
+ /**
55
+ * Stop listening to lifecycle events.
56
+ *
57
+ * Removes all event subscriptions added by `start()`.
58
+ */
59
+ stop(): void;
60
+ }
61
+ /**
62
+ * Create a PluginJobCoordinator.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const coordinator = createPluginJobCoordinator({
67
+ * db,
68
+ * lifecycle,
69
+ * scheduler,
70
+ * jobStore,
71
+ * });
72
+ *
73
+ * // Start listening to lifecycle events
74
+ * coordinator.start();
75
+ *
76
+ * // On server shutdown
77
+ * coordinator.stop();
78
+ * ```
79
+ */
80
+ export declare function createPluginJobCoordinator(options: PluginJobCoordinatorOptions): PluginJobCoordinator;
81
+ //# sourceMappingURL=plugin-job-coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-job-coordinator.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAO1C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iCAAiC;IACjC,EAAE,EAAE,EAAE,CAAC;IACP,iDAAiD;IACjD,SAAS,EAAE,sBAAsB,CAAC;IAClC,6DAA6D;IAC7D,SAAS,EAAE,kBAAkB,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,oBAAoB,CAmKtB"}
@@ -0,0 +1,172 @@
1
+ /**
2
+ * PluginJobCoordinator — bridges the plugin lifecycle manager with the
3
+ * job scheduler and job store.
4
+ *
5
+ * This service listens to lifecycle events and performs the corresponding
6
+ * scheduler and job store operations:
7
+ *
8
+ * - **plugin.loaded** → sync job declarations from manifest, then register
9
+ * the plugin with the scheduler (computes `nextRunAt` for active jobs).
10
+ *
11
+ * - **plugin.disabled / plugin.unloaded** → unregister the plugin from the
12
+ * scheduler (cancels in-flight runs, clears tracking state).
13
+ *
14
+ * ## Why a separate coordinator?
15
+ *
16
+ * The lifecycle manager, scheduler, and job store are independent services
17
+ * with clean single-responsibility boundaries. The coordinator provides
18
+ * the "glue" between them without adding coupling. This pattern is used
19
+ * throughout Paperclip (e.g. heartbeat service coordinates timers + runs).
20
+ *
21
+ * @see PLUGIN_SPEC.md §17 — Scheduled Jobs
22
+ * @see ./plugin-job-scheduler.ts — Scheduler service
23
+ * @see ./plugin-job-store.ts — Persistence layer
24
+ * @see ./plugin-lifecycle.ts — Plugin state machine
25
+ */
26
+ import { pluginRegistryService } from "./plugin-registry.js";
27
+ import { logger } from "../middleware/logger.js";
28
+ // ---------------------------------------------------------------------------
29
+ // Implementation
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Create a PluginJobCoordinator.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const coordinator = createPluginJobCoordinator({
37
+ * db,
38
+ * lifecycle,
39
+ * scheduler,
40
+ * jobStore,
41
+ * });
42
+ *
43
+ * // Start listening to lifecycle events
44
+ * coordinator.start();
45
+ *
46
+ * // On server shutdown
47
+ * coordinator.stop();
48
+ * ```
49
+ */
50
+ export function createPluginJobCoordinator(options) {
51
+ const { db, lifecycle, scheduler, jobStore } = options;
52
+ const log = logger.child({ service: "plugin-job-coordinator" });
53
+ const registry = pluginRegistryService(db);
54
+ // -----------------------------------------------------------------------
55
+ // Event handlers
56
+ // -----------------------------------------------------------------------
57
+ /**
58
+ * When a plugin is loaded (transitions to `ready`):
59
+ * 1. Look up the manifest from the registry
60
+ * 2. Sync job declarations from the manifest into the DB
61
+ * 3. Register the plugin with the scheduler (computes nextRunAt)
62
+ */
63
+ async function onPluginLoaded(payload) {
64
+ const { pluginId, pluginKey } = payload;
65
+ log.info({ pluginId, pluginKey }, "plugin loaded — syncing jobs and registering with scheduler");
66
+ try {
67
+ // Get the manifest from the registry
68
+ const plugin = await registry.getById(pluginId);
69
+ if (!plugin?.manifestJson) {
70
+ log.warn({ pluginId, pluginKey }, "plugin loaded but no manifest found — skipping job sync");
71
+ return;
72
+ }
73
+ // Sync job declarations from the manifest
74
+ const manifest = plugin.manifestJson;
75
+ const jobDeclarations = manifest.jobs ?? [];
76
+ if (jobDeclarations.length > 0) {
77
+ log.info({ pluginId, pluginKey, jobCount: jobDeclarations.length }, "syncing job declarations from manifest");
78
+ await jobStore.syncJobDeclarations(pluginId, jobDeclarations);
79
+ }
80
+ // Register with the scheduler (computes nextRunAt for active jobs)
81
+ await scheduler.registerPlugin(pluginId);
82
+ }
83
+ catch (err) {
84
+ log.error({
85
+ pluginId,
86
+ pluginKey,
87
+ err: err instanceof Error ? err.message : String(err),
88
+ }, "failed to sync jobs or register plugin with scheduler");
89
+ }
90
+ }
91
+ /**
92
+ * When a plugin is disabled (transitions to `error` with "disabled by
93
+ * operator" or genuine error): unregister from the scheduler.
94
+ */
95
+ async function onPluginDisabled(payload) {
96
+ const { pluginId, pluginKey, reason } = payload;
97
+ log.info({ pluginId, pluginKey, reason }, "plugin disabled — unregistering from scheduler");
98
+ try {
99
+ await scheduler.unregisterPlugin(pluginId);
100
+ }
101
+ catch (err) {
102
+ log.error({
103
+ pluginId,
104
+ pluginKey,
105
+ err: err instanceof Error ? err.message : String(err),
106
+ }, "failed to unregister plugin from scheduler");
107
+ }
108
+ }
109
+ /**
110
+ * When a plugin is unloaded (uninstalled): unregister from the scheduler.
111
+ */
112
+ async function onPluginUnloaded(payload) {
113
+ const { pluginId, pluginKey, removeData } = payload;
114
+ log.info({ pluginId, pluginKey, removeData }, "plugin unloaded — unregistering from scheduler");
115
+ try {
116
+ await scheduler.unregisterPlugin(pluginId);
117
+ // If data is being purged, also delete all job definitions and runs
118
+ if (removeData) {
119
+ log.info({ pluginId, pluginKey }, "purging job data for uninstalled plugin");
120
+ await jobStore.deleteAllJobs(pluginId);
121
+ }
122
+ }
123
+ catch (err) {
124
+ log.error({
125
+ pluginId,
126
+ pluginKey,
127
+ err: err instanceof Error ? err.message : String(err),
128
+ }, "failed to unregister plugin from scheduler during unload");
129
+ }
130
+ }
131
+ // -----------------------------------------------------------------------
132
+ // State
133
+ // -----------------------------------------------------------------------
134
+ let attached = false;
135
+ // We need stable references for on/off since the lifecycle manager
136
+ // uses them for matching. We wrap the async handlers in sync wrappers
137
+ // that fire-and-forget (swallowing unhandled rejections via the try/catch
138
+ // inside each handler).
139
+ const boundOnLoaded = (payload) => {
140
+ void onPluginLoaded(payload);
141
+ };
142
+ const boundOnDisabled = (payload) => {
143
+ void onPluginDisabled(payload);
144
+ };
145
+ const boundOnUnloaded = (payload) => {
146
+ void onPluginUnloaded(payload);
147
+ };
148
+ // -----------------------------------------------------------------------
149
+ // Public API
150
+ // -----------------------------------------------------------------------
151
+ return {
152
+ start() {
153
+ if (attached)
154
+ return;
155
+ attached = true;
156
+ lifecycle.on("plugin.loaded", boundOnLoaded);
157
+ lifecycle.on("plugin.disabled", boundOnDisabled);
158
+ lifecycle.on("plugin.unloaded", boundOnUnloaded);
159
+ log.info("plugin job coordinator started — listening to lifecycle events");
160
+ },
161
+ stop() {
162
+ if (!attached)
163
+ return;
164
+ attached = false;
165
+ lifecycle.off("plugin.loaded", boundOnLoaded);
166
+ lifecycle.off("plugin.disabled", boundOnDisabled);
167
+ lifecycle.off("plugin.unloaded", boundOnUnloaded);
168
+ log.info("plugin job coordinator stopped");
169
+ },
170
+ };
171
+ }
172
+ //# sourceMappingURL=plugin-job-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-job-coordinator.js","sourceRoot":"","sources":["../../src/services/plugin-job-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * PluginJobScheduler — tick-based scheduler for plugin scheduled jobs.
3
+ *
4
+ * The scheduler is the central coordinator for all plugin cron jobs. It
5
+ * periodically ticks (default every 30 seconds), queries the `plugin_jobs`
6
+ * table for jobs whose `nextRunAt` has passed, dispatches `runJob` RPC calls
7
+ * to the appropriate worker processes, records each execution in the
8
+ * `plugin_job_runs` table, and advances the scheduling pointer.
9
+ *
10
+ * ## Responsibilities
11
+ *
12
+ * 1. **Tick loop** — A `setInterval`-based loop fires every `tickIntervalMs`
13
+ * (default 30s). Each tick scans for due jobs and dispatches them.
14
+ *
15
+ * 2. **Cron parsing & next-run calculation** — Uses the lightweight built-in
16
+ * cron parser ({@link parseCron}, {@link nextCronTick}) to compute the
17
+ * `nextRunAt` timestamp after each run or when a new job is registered.
18
+ *
19
+ * 3. **Overlap prevention** — Before dispatching a job, the scheduler checks
20
+ * for an existing `running` run for the same job. If one exists, the job
21
+ * is skipped for that tick.
22
+ *
23
+ * 4. **Job run recording** — Every execution creates a `plugin_job_runs` row:
24
+ * `queued` → `running` → `succeeded` | `failed`. Duration and error are
25
+ * captured.
26
+ *
27
+ * 5. **Lifecycle integration** — The scheduler exposes `registerPlugin()` and
28
+ * `unregisterPlugin()` so the host lifecycle manager can wire up job
29
+ * scheduling when plugins start/stop. On registration, the scheduler
30
+ * computes `nextRunAt` for all active jobs that don't already have one.
31
+ *
32
+ * @see PLUGIN_SPEC.md §17 — Scheduled Jobs
33
+ * @see ./plugin-job-store.ts — Persistence layer
34
+ * @see ./cron.ts — Cron parsing utilities
35
+ */
36
+ import type { Db } from "@paperclipai/db";
37
+ import type { PluginJobStore } from "./plugin-job-store.js";
38
+ import type { PluginWorkerManager } from "./plugin-worker-manager.js";
39
+ /**
40
+ * Options for creating a PluginJobScheduler.
41
+ */
42
+ export interface PluginJobSchedulerOptions {
43
+ /** Drizzle database instance. */
44
+ db: Db;
45
+ /** Persistence layer for jobs and runs. */
46
+ jobStore: PluginJobStore;
47
+ /** Worker process manager for RPC calls. */
48
+ workerManager: PluginWorkerManager;
49
+ /** Interval between scheduler ticks in ms (default: 30s). */
50
+ tickIntervalMs?: number;
51
+ /** Timeout for individual job RPC calls in ms (default: 5min). */
52
+ jobTimeoutMs?: number;
53
+ /** Maximum number of concurrent job executions (default: 10). */
54
+ maxConcurrentJobs?: number;
55
+ }
56
+ /**
57
+ * Result of a manual job trigger.
58
+ */
59
+ export interface TriggerJobResult {
60
+ /** The created run ID. */
61
+ runId: string;
62
+ /** The job ID that was triggered. */
63
+ jobId: string;
64
+ }
65
+ /**
66
+ * Diagnostic information about the scheduler.
67
+ */
68
+ export interface SchedulerDiagnostics {
69
+ /** Whether the tick loop is running. */
70
+ running: boolean;
71
+ /** Number of jobs currently executing. */
72
+ activeJobCount: number;
73
+ /** Set of job IDs currently in-flight. */
74
+ activeJobIds: string[];
75
+ /** Total number of ticks executed since start. */
76
+ tickCount: number;
77
+ /** Timestamp of the last tick (ISO 8601). */
78
+ lastTickAt: string | null;
79
+ }
80
+ /**
81
+ * The public interface of the job scheduler.
82
+ */
83
+ export interface PluginJobScheduler {
84
+ /**
85
+ * Start the scheduler tick loop.
86
+ *
87
+ * Safe to call multiple times — subsequent calls are no-ops.
88
+ */
89
+ start(): void;
90
+ /**
91
+ * Stop the scheduler tick loop.
92
+ *
93
+ * In-flight job runs are NOT cancelled — they are allowed to finish
94
+ * naturally. The tick loop simply stops firing.
95
+ */
96
+ stop(): void;
97
+ /**
98
+ * Register a plugin with the scheduler.
99
+ *
100
+ * Computes `nextRunAt` for all active jobs that are missing it. This is
101
+ * typically called after a plugin's worker process starts and
102
+ * `syncJobDeclarations()` has been called.
103
+ *
104
+ * @param pluginId - UUID of the plugin
105
+ */
106
+ registerPlugin(pluginId: string): Promise<void>;
107
+ /**
108
+ * Unregister a plugin from the scheduler.
109
+ *
110
+ * Cancels any in-flight runs for the plugin and removes tracking state.
111
+ *
112
+ * @param pluginId - UUID of the plugin
113
+ */
114
+ unregisterPlugin(pluginId: string): Promise<void>;
115
+ /**
116
+ * Manually trigger a specific job (outside of the cron schedule).
117
+ *
118
+ * Creates a run with `trigger: "manual"` and dispatches immediately,
119
+ * respecting the overlap prevention check.
120
+ *
121
+ * @param jobId - UUID of the job to trigger
122
+ * @param trigger - What triggered this run (default: "manual")
123
+ * @returns The created run info
124
+ * @throws {Error} if the job is not found, not active, or already running
125
+ */
126
+ triggerJob(jobId: string, trigger?: "manual" | "retry"): Promise<TriggerJobResult>;
127
+ /**
128
+ * Run a single scheduler tick immediately (for testing).
129
+ *
130
+ * @internal
131
+ */
132
+ tick(): Promise<void>;
133
+ /**
134
+ * Get diagnostic information about the scheduler state.
135
+ */
136
+ diagnostics(): SchedulerDiagnostics;
137
+ }
138
+ /**
139
+ * Create a new PluginJobScheduler.
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * const scheduler = createPluginJobScheduler({
144
+ * db,
145
+ * jobStore,
146
+ * workerManager,
147
+ * });
148
+ *
149
+ * // Start the tick loop
150
+ * scheduler.start();
151
+ *
152
+ * // When a plugin comes online, register it
153
+ * await scheduler.registerPlugin(pluginId);
154
+ *
155
+ * // Manually trigger a job
156
+ * const { runId } = await scheduler.triggerJob(jobId);
157
+ *
158
+ * // On server shutdown
159
+ * scheduler.stop();
160
+ * ```
161
+ */
162
+ export declare function createPluginJobScheduler(options: PluginJobSchedulerOptions): PluginJobScheduler;
163
+ //# sourceMappingURL=plugin-job-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-job-scheduler.d.ts","sourceRoot":"","sources":["../../src/services/plugin-job-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAqBtE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,EAAE,EAAE,EAAE,CAAC;IACP,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,CAAC;IACzB,4CAA4C;IAC5C,aAAa,EAAE,mBAAmB,CAAC;IACnC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;;;;;;;OAQG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEnF;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,WAAW,IAAI,oBAAoB,CAAC;CACrC;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CAmiBpB"}