@rudderhq/server 0.7.2 → 0.7.4

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 (512) hide show
  1. package/dist/agent-runtimes/registry.d.ts.map +1 -1
  2. package/dist/agent-runtimes/registry.js +0 -2
  3. package/dist/agent-runtimes/registry.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +1 -5
  6. package/dist/app.js.map +1 -1
  7. package/dist/bootstrap/create-http-app.d.ts +1 -2
  8. package/dist/bootstrap/create-http-app.d.ts.map +1 -1
  9. package/dist/bootstrap/create-http-app.js +13 -12
  10. package/dist/bootstrap/create-http-app.js.map +1 -1
  11. package/dist/bootstrap/register-api-routes.d.ts +1 -2
  12. package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
  13. package/dist/bootstrap/register-api-routes.js +22 -4
  14. package/dist/bootstrap/register-api-routes.js.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/middleware/logger.js +2 -2
  18. package/dist/middleware/logger.js.map +1 -1
  19. package/dist/middleware/logger.test.js +26 -10
  20. package/dist/middleware/logger.test.js.map +1 -1
  21. package/dist/redaction.d.ts +4 -0
  22. package/dist/redaction.d.ts.map +1 -1
  23. package/dist/redaction.js +15 -0
  24. package/dist/redaction.js.map +1 -1
  25. package/dist/routes/agent-issue-creation.d.ts +25 -0
  26. package/dist/routes/agent-issue-creation.d.ts.map +1 -0
  27. package/dist/routes/agent-issue-creation.js +201 -0
  28. package/dist/routes/agent-issue-creation.js.map +1 -0
  29. package/dist/routes/app-builder.d.ts +3 -1
  30. package/dist/routes/app-builder.d.ts.map +1 -1
  31. package/dist/routes/app-builder.js +30 -22
  32. package/dist/routes/app-builder.js.map +1 -1
  33. package/dist/routes/approvals.d.ts.map +1 -1
  34. package/dist/routes/approvals.js +36 -9
  35. package/dist/routes/approvals.js.map +1 -1
  36. package/dist/routes/chats.d.ts.map +1 -1
  37. package/dist/routes/chats.js +23 -4
  38. package/dist/routes/chats.js.map +1 -1
  39. package/dist/routes/chats.preflight.d.ts +2 -1
  40. package/dist/routes/chats.preflight.d.ts.map +1 -1
  41. package/dist/routes/chats.preflight.js +7 -0
  42. package/dist/routes/chats.preflight.js.map +1 -1
  43. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  44. package/dist/routes/chats.stream-routes.js +14 -3
  45. package/dist/routes/chats.stream-routes.js.map +1 -1
  46. package/dist/routes/chats.stream-support.d.ts.map +1 -1
  47. package/dist/routes/chats.stream-support.js +8 -0
  48. package/dist/routes/chats.stream-support.js.map +1 -1
  49. package/dist/routes/computer.d.ts +30 -0
  50. package/dist/routes/computer.d.ts.map +1 -0
  51. package/dist/routes/computer.js +231 -0
  52. package/dist/routes/computer.js.map +1 -0
  53. package/dist/routes/goals.d.ts.map +1 -1
  54. package/dist/routes/goals.js +176 -27
  55. package/dist/routes/goals.js.map +1 -1
  56. package/dist/routes/health.d.ts.map +1 -1
  57. package/dist/routes/health.js +2 -0
  58. package/dist/routes/health.js.map +1 -1
  59. package/dist/routes/index.d.ts +1 -0
  60. package/dist/routes/index.d.ts.map +1 -1
  61. package/dist/routes/index.js +1 -0
  62. package/dist/routes/index.js.map +1 -1
  63. package/dist/routes/instance-settings.d.ts.map +1 -1
  64. package/dist/routes/instance-settings.js +3 -0
  65. package/dist/routes/instance-settings.js.map +1 -1
  66. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  67. package/dist/routes/issues.comments-attachments.js +90 -8
  68. package/dist/routes/issues.comments-attachments.js.map +1 -1
  69. package/dist/routes/issues.d.ts.map +1 -1
  70. package/dist/routes/issues.js +14 -2
  71. package/dist/routes/issues.js.map +1 -1
  72. package/dist/routes/issues.mutations.d.ts.map +1 -1
  73. package/dist/routes/issues.mutations.js +206 -52
  74. package/dist/routes/issues.mutations.js.map +1 -1
  75. package/dist/routes/managed-mcp-runtime.d.ts.map +1 -1
  76. package/dist/routes/managed-mcp-runtime.js +109 -7
  77. package/dist/routes/managed-mcp-runtime.js.map +1 -1
  78. package/dist/routes/organization-skills.d.ts.map +1 -1
  79. package/dist/routes/organization-skills.js +23 -1
  80. package/dist/routes/organization-skills.js.map +1 -1
  81. package/dist/routes/requests.d.ts +3 -0
  82. package/dist/routes/requests.d.ts.map +1 -0
  83. package/dist/routes/requests.js +122 -0
  84. package/dist/routes/requests.js.map +1 -0
  85. package/dist/routes/rudder-plugins.d.ts +4 -0
  86. package/dist/routes/rudder-plugins.d.ts.map +1 -0
  87. package/dist/routes/rudder-plugins.js +203 -0
  88. package/dist/routes/rudder-plugins.js.map +1 -0
  89. package/dist/services/activity-log.d.ts +0 -3
  90. package/dist/services/activity-log.d.ts.map +1 -1
  91. package/dist/services/activity-log.js +19 -42
  92. package/dist/services/activity-log.js.map +1 -1
  93. package/dist/services/activity.d.ts +3 -3
  94. package/dist/services/agent-issue-creation.d.ts +344 -0
  95. package/dist/services/agent-issue-creation.d.ts.map +1 -0
  96. package/dist/services/agent-issue-creation.js +675 -0
  97. package/dist/services/agent-issue-creation.js.map +1 -0
  98. package/dist/services/agent-run-context.d.ts.map +1 -1
  99. package/dist/services/agent-run-context.js +10 -4
  100. package/dist/services/agent-run-context.js.map +1 -1
  101. package/dist/services/agents.d.ts +14 -14
  102. package/dist/services/agents.d.ts.map +1 -1
  103. package/dist/services/agents.js +2 -1
  104. package/dist/services/agents.js.map +1 -1
  105. package/dist/services/app-builder.d.ts.map +1 -1
  106. package/dist/services/app-builder.js +24 -3
  107. package/dist/services/app-builder.js.map +1 -1
  108. package/dist/services/chat-agent-runs.d.ts +1 -0
  109. package/dist/services/chat-agent-runs.d.ts.map +1 -1
  110. package/dist/services/chat-agent-runs.js +1 -0
  111. package/dist/services/chat-agent-runs.js.map +1 -1
  112. package/dist/services/chat-assistant.d.ts.map +1 -1
  113. package/dist/services/chat-assistant.helpers.d.ts +3 -1
  114. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  115. package/dist/services/chat-assistant.helpers.js +25 -0
  116. package/dist/services/chat-assistant.helpers.js.map +1 -1
  117. package/dist/services/chat-assistant.js +57 -11
  118. package/dist/services/chat-assistant.js.map +1 -1
  119. package/dist/services/chat-generation-protocol.test.js +2 -2
  120. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  121. package/dist/services/chat-queued-message-materialization.d.ts +1 -1
  122. package/dist/services/chats.create.d.ts +2 -2
  123. package/dist/services/chats.create.d.ts.map +1 -1
  124. package/dist/services/chats.d.ts +15 -15
  125. package/dist/services/chats.d.ts.map +1 -1
  126. package/dist/services/chats.helpers.d.ts +2 -2
  127. package/dist/services/chats.helpers.d.ts.map +1 -1
  128. package/dist/services/chats.helpers.goal-context.test.d.ts +2 -0
  129. package/dist/services/chats.helpers.goal-context.test.d.ts.map +1 -0
  130. package/dist/services/chats.helpers.goal-context.test.js +40 -0
  131. package/dist/services/chats.helpers.goal-context.test.js.map +1 -0
  132. package/dist/services/chats.helpers.js +27 -2
  133. package/dist/services/chats.helpers.js.map +1 -1
  134. package/dist/services/chats.js.map +1 -1
  135. package/dist/services/computer-broker.d.ts +35 -0
  136. package/dist/services/computer-broker.d.ts.map +1 -0
  137. package/dist/services/computer-broker.js +211 -0
  138. package/dist/services/computer-broker.js.map +1 -0
  139. package/dist/services/computer-broker.test.d.ts +2 -0
  140. package/dist/services/computer-broker.test.d.ts.map +1 -0
  141. package/dist/services/computer-broker.test.js +70 -0
  142. package/dist/services/computer-broker.test.js.map +1 -0
  143. package/dist/services/computer-capability.d.ts +13 -0
  144. package/dist/services/computer-capability.d.ts.map +1 -0
  145. package/dist/services/computer-capability.js +11 -0
  146. package/dist/services/computer-capability.js.map +1 -0
  147. package/dist/services/computer-capability.test.d.ts +2 -0
  148. package/dist/services/computer-capability.test.d.ts.map +1 -0
  149. package/dist/services/computer-capability.test.js +27 -0
  150. package/dist/services/computer-capability.test.js.map +1 -0
  151. package/dist/services/finance.d.ts +2 -2
  152. package/dist/services/goals.d.ts +267 -244
  153. package/dist/services/goals.d.ts.map +1 -1
  154. package/dist/services/goals.js +1279 -297
  155. package/dist/services/goals.js.map +1 -1
  156. package/dist/services/index.d.ts +3 -0
  157. package/dist/services/index.d.ts.map +1 -1
  158. package/dist/services/index.js +3 -0
  159. package/dist/services/index.js.map +1 -1
  160. package/dist/services/instance-settings.d.ts.map +1 -1
  161. package/dist/services/instance-settings.js +8 -3
  162. package/dist/services/instance-settings.js.map +1 -1
  163. package/dist/services/integrations/agent-integrations.d.ts +1 -1
  164. package/dist/services/issues.d.ts +86 -1
  165. package/dist/services/issues.d.ts.map +1 -1
  166. package/dist/services/issues.helpers.d.ts +4 -0
  167. package/dist/services/issues.helpers.d.ts.map +1 -1
  168. package/dist/services/issues.helpers.js +28 -6
  169. package/dist/services/issues.helpers.js.map +1 -1
  170. package/dist/services/issues.js +207 -127
  171. package/dist/services/issues.js.map +1 -1
  172. package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -1
  173. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +7 -1
  174. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  175. package/dist/services/knowledge-portability/organization-skills.catalog.js +10 -0
  176. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  177. package/dist/services/knowledge-portability/organization-skills.d.ts +3 -1
  178. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  179. package/dist/services/knowledge-portability/organization-skills.js +80 -12
  180. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  181. package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
  182. package/dist/services/mcp/managed-bindings.js +18 -2
  183. package/dist/services/mcp/managed-bindings.js.map +1 -1
  184. package/dist/services/mcp/managed-client.d.ts +15 -0
  185. package/dist/services/mcp/managed-client.d.ts.map +1 -1
  186. package/dist/services/mcp/managed-client.js +23 -1
  187. package/dist/services/mcp/managed-client.js.map +1 -1
  188. package/dist/services/mcp/managed-client.test.js +73 -9
  189. package/dist/services/mcp/managed-client.test.js.map +1 -1
  190. package/dist/services/messenger.d.ts +3 -3
  191. package/dist/services/messenger.d.ts.map +1 -1
  192. package/dist/services/messenger.js +201 -65
  193. package/dist/services/messenger.js.map +1 -1
  194. package/dist/services/orgs.d.ts.map +1 -1
  195. package/dist/services/orgs.js +3 -1
  196. package/dist/services/orgs.js.map +1 -1
  197. package/dist/services/product-analytics.d.ts +2 -2
  198. package/dist/services/requests.d.ts +919 -0
  199. package/dist/services/requests.d.ts.map +1 -0
  200. package/dist/services/requests.js +532 -0
  201. package/dist/services/requests.js.map +1 -0
  202. package/dist/services/rudder-plugins.d.ts +107 -0
  203. package/dist/services/rudder-plugins.d.ts.map +1 -0
  204. package/dist/services/rudder-plugins.js +1760 -0
  205. package/dist/services/rudder-plugins.js.map +1 -0
  206. package/dist/services/rudder-plugins.test.d.ts +2 -0
  207. package/dist/services/rudder-plugins.test.d.ts.map +1 -0
  208. package/dist/services/rudder-plugins.test.js +191 -0
  209. package/dist/services/rudder-plugins.test.js.map +1 -0
  210. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
  211. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  212. package/dist/services/runtime-kernel/heartbeat.core.js +1 -1
  213. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  214. package/dist/services/runtime-kernel/heartbeat.d.ts +65 -0
  215. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  216. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  217. package/dist/services/runtime-kernel/heartbeat.execute.js +21 -5
  218. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  219. package/dist/services/runtime-kernel/heartbeat.js +320 -108
  220. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  221. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts +1 -0
  222. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  223. package/dist/services/runtime-kernel/heartbeat.recovery.js +39 -4
  224. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  225. package/dist/services/runtime-kernel/heartbeat.sessions.js +1 -1
  226. package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
  227. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +14 -1
  228. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  229. package/dist/services/runtime-kernel/heartbeat.terminal.js +46 -1
  230. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
  231. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts +1 -0
  232. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  233. package/dist/services/runtime-kernel/heartbeat.wakeup.js +124 -6
  234. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  235. package/dist/services/workspace-runtime.services.d.ts +1 -1
  236. package/package.json +18 -18
  237. package/resources/bundled-skills/app-builder/SKILL.md +39 -9
  238. package/resources/bundled-skills/app-builder/assets/scaffold/app/globals.css +109 -16
  239. package/resources/bundled-skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  240. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  241. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  242. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  243. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  244. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  245. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  246. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  247. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  248. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  249. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  250. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  251. package/resources/bundled-skills/app-builder/assets/scaffold/components.json +20 -0
  252. package/resources/bundled-skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  253. package/resources/bundled-skills/app-builder/assets/scaffold/next.config.ts +19 -0
  254. package/resources/bundled-skills/app-builder/assets/scaffold/package.json +2 -1
  255. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  256. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  257. package/resources/bundled-skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  258. package/resources/bundled-skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  259. package/resources/bundled-skills/app-builder/evals/evals.json +2 -1
  260. package/resources/bundled-skills/app-builder/references/design-guidelines.md +19 -2
  261. package/resources/bundled-skills/app-builder/references/rudder-ui-preset.md +73 -0
  262. package/resources/bundled-skills/app-builder/references/scaffold-contract.md +12 -0
  263. package/resources/bundled-skills/app-builder/references/verification.md +6 -0
  264. package/resources/bundled-skills/app-builder/scripts/report-build-status.mjs +83 -0
  265. package/resources/bundled-skills/rudder-docs/SKILL.md +2 -2
  266. package/resources/bundled-skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  267. package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +2 -2
  268. package/resources/bundled-skills/rudder-docs/references/api-reference.md +0 -2
  269. package/resources/bundled-skills/rudder-docs/references/cli-reference.md +7 -2
  270. package/resources/bundled-skills/rudder-docs/references/operating-practices.md +10 -6
  271. package/resources/bundled-skills/rudder-docs/references/plugin-authoring.md +38 -114
  272. package/resources/bundled-skills/rudder-docs/references/source-map.md +2 -0
  273. package/skills/app-builder/SKILL.md +39 -9
  274. package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
  275. package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  276. package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  277. package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  278. package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  279. package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  280. package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  281. package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  282. package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  283. package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  284. package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  285. package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  286. package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  287. package/skills/app-builder/assets/scaffold/components.json +20 -0
  288. package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  289. package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
  290. package/skills/app-builder/assets/scaffold/package.json +2 -1
  291. package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  292. package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  293. package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  294. package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  295. package/skills/app-builder/evals/evals.json +2 -1
  296. package/skills/app-builder/references/design-guidelines.md +19 -2
  297. package/skills/app-builder/references/rudder-ui-preset.md +73 -0
  298. package/skills/app-builder/references/scaffold-contract.md +12 -0
  299. package/skills/app-builder/references/verification.md +6 -0
  300. package/skills/app-builder/scripts/report-build-status.mjs +83 -0
  301. package/skills/rudder-docs/SKILL.md +2 -2
  302. package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  303. package/skills/rudder-docs/evals/trigger-evals.json +2 -2
  304. package/skills/rudder-docs/references/api-reference.md +0 -2
  305. package/skills/rudder-docs/references/cli-reference.md +7 -2
  306. package/skills/rudder-docs/references/operating-practices.md +10 -6
  307. package/skills/rudder-docs/references/plugin-authoring.md +38 -114
  308. package/skills/rudder-docs/references/source-map.md +2 -0
  309. package/ui-dist/assets/{LibraryLiveSurface-cHCJmmsl.js → LibraryLiveSurface-D4uCo0l0.js} +1 -1
  310. package/ui-dist/assets/{abnfDiagram-VRR7QNED-BORJvkew.js → abnfDiagram-VRR7QNED-FF2qcR6A.js} +1 -1
  311. package/ui-dist/assets/addon-fit-4gL7JXzc.js +1 -0
  312. package/ui-dist/assets/{arc-DPUzhx87.js → arc-D5pLjh6B.js} +1 -1
  313. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-Bz_hY8LM.js → architectureDiagram-ZJ3FMSHR-BvqY-HXg.js} +1 -1
  314. package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bq1X3YkP.js → blockDiagram-677ZJIJ3-BU6ZbJ0s.js} +1 -1
  315. package/ui-dist/assets/{c4Diagram-LMCZKHZV-BawEM9Pc.js → c4Diagram-LMCZKHZV-Cl5Gsovj.js} +1 -1
  316. package/ui-dist/assets/channel-HcmprA3I.js +1 -0
  317. package/ui-dist/assets/{chunk-2Q5K7J3B-D0D5ZOaA.js → chunk-2Q5K7J3B-4a2agt_p.js} +1 -1
  318. package/ui-dist/assets/{chunk-32BRIVSS-T90P7lug.js → chunk-32BRIVSS-CF0oOO2T.js} +1 -1
  319. package/ui-dist/assets/{chunk-5VM5RSS4-jcAERTgh.js → chunk-5VM5RSS4-CsSq2zX2.js} +1 -1
  320. package/ui-dist/assets/{chunk-EX3LRPZG-t9-JXwnR.js → chunk-EX3LRPZG-B6riETVZ.js} +1 -1
  321. package/ui-dist/assets/{chunk-JWPE2WC7-hqgD1saC.js → chunk-JWPE2WC7-S-p1xu0r.js} +1 -1
  322. package/ui-dist/assets/{chunk-MOJQB5TN-BsSUoYzd.js → chunk-MOJQB5TN-mVE4v_LV.js} +1 -1
  323. package/ui-dist/assets/{chunk-RYQCIY6F-YcdDh2Zn.js → chunk-RYQCIY6F-CElbgpgs.js} +1 -1
  324. package/ui-dist/assets/{chunk-V7JOEXUC-ChFyH9Su.js → chunk-V7JOEXUC-8XM3povP.js} +1 -1
  325. package/ui-dist/assets/{chunk-VR4S4FIN-BjVK8IyX.js → chunk-VR4S4FIN-LrThp3ht.js} +1 -1
  326. package/ui-dist/assets/{chunk-XXDRQBXY-D-TvO9vT.js → chunk-XXDRQBXY-D38vLb4t.js} +1 -1
  327. package/ui-dist/assets/classDiagram-OUVF2IWQ-Dpe8LaLf.js +1 -0
  328. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-Dpe8LaLf.js +1 -0
  329. package/ui-dist/assets/{cose-bilkent-JH36ORCC-DBwhASJG.js → cose-bilkent-JH36ORCC-CmpZMaDV.js} +1 -1
  330. package/ui-dist/assets/{cynefin-VYW2F7L2-SlCRmwl2.js → cynefin-VYW2F7L2-D3RnbBvI.js} +1 -1
  331. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DImV6N_p.js → cynefinDiagram-TSTJHNR4-DZTcUojp.js} +1 -1
  332. package/ui-dist/assets/{dagre-VKFMJZFB-FH4Wv8Zn.js → dagre-VKFMJZFB-6jXSDi0S.js} +1 -1
  333. package/ui-dist/assets/{diagram-FQU43EPY-CrZvQjId.js → diagram-FQU43EPY-DIMm3mfS.js} +1 -1
  334. package/ui-dist/assets/{diagram-G47NLZAW-B7IGl_T3.js → diagram-G47NLZAW-Cyo22v0_.js} +1 -1
  335. package/ui-dist/assets/{diagram-NH7WQ7WH-CB4i7H1a.js → diagram-NH7WQ7WH-CHDV0nSL.js} +1 -1
  336. package/ui-dist/assets/{diagram-OA4YK3LP-DNyWPYY9.js → diagram-OA4YK3LP-Jijx9vQO.js} +1 -1
  337. package/ui-dist/assets/{diagram-WEI45ONY-BAhxbhpi.js → diagram-WEI45ONY-CcL19HLE.js} +1 -1
  338. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-ClXtQ9qt.js → ebnfDiagram-CCIWWBDH-D94h-RFQ.js} +1 -1
  339. package/ui-dist/assets/{erDiagram-Q63AITRT-DGXiMYfn.js → erDiagram-Q63AITRT-B3ypUGZX.js} +1 -1
  340. package/ui-dist/assets/{flowDiagram-23GEKE2U-CdZ-02zc.js → flowDiagram-23GEKE2U-DjCT6Y1o.js} +1 -1
  341. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-TxhzNpta.js → ganttDiagram-NO4QXBWP-C3QVhTc9.js} +1 -1
  342. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D6Q_w6wR.js → gitGraphDiagram-IHSO6WYX-D0trBzU5.js} +1 -1
  343. package/ui-dist/assets/{graph-CxNmbpl9.js → graph-D1zFmVUP.js} +1 -1
  344. package/ui-dist/assets/{index-Cx6oIZPm.js → index-B0GEsWui.js} +568 -593
  345. package/ui-dist/assets/{index-BA9tMBhO.js → index-B8bxQLfN.js} +1 -1
  346. package/ui-dist/assets/{index-C_nwI4Yj.js → index-BFktZ2tu.js} +1 -1
  347. package/ui-dist/assets/index-BT7dphT4.css +32 -0
  348. package/ui-dist/assets/{index-BoTz5S-X.js → index-Bk_yesiO.js} +1 -1
  349. package/ui-dist/assets/{index-CXnqg1Oq.js → index-BwutQLG1.js} +1 -1
  350. package/ui-dist/assets/{index-AkhgKOxC.js → index-CB4zr_Ku.js} +1 -1
  351. package/ui-dist/assets/{index-Rau2cGm0.js → index-CC89UPa-.js} +1 -1
  352. package/ui-dist/assets/{index-kbWUQ1um.js → index-CFWOO6yn.js} +1 -1
  353. package/ui-dist/assets/{index-DU2LI7f9.js → index-CK8u9b07.js} +1 -1
  354. package/ui-dist/assets/{index-C12QC1Ex.js → index-CRolpP90.js} +1 -1
  355. package/ui-dist/assets/{index-Bxz75ICF.js → index-CiCRRUVV.js} +1 -1
  356. package/ui-dist/assets/{index-Do78GymY.js → index-D8JG-IU9.js} +1 -1
  357. package/ui-dist/assets/{index-CW21qWFm.js → index-DKCiVvJo.js} +1 -1
  358. package/ui-dist/assets/{index-BujwWE3j.js → index-G2yfKEf_.js} +1 -1
  359. package/ui-dist/assets/{index-BQ87dGIq.js → index-or2C22bw.js} +1 -1
  360. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CnJd4-Jq.js → infoDiagram-FWYZ7A6U-Co0nkcV4.js} +1 -1
  361. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Bq-qc3pD.js → ishikawaDiagram-FXEZZL3T-CkIg1Jdu.js} +1 -1
  362. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-NSmpUGUA.js → journeyDiagram-5HDEW3XC-AYUT6JuJ.js} +1 -1
  363. package/ui-dist/assets/{kanban-definition-HUTT4EX6-D7pgWtfA.js → kanban-definition-HUTT4EX6-C3H2XW08.js} +1 -1
  364. package/ui-dist/assets/{layout-BRuo6LWe.js → layout-sZWyqNOu.js} +1 -1
  365. package/ui-dist/assets/{linear-CkaWI9Nd.js → linear-BLTYou8N.js} +1 -1
  366. package/ui-dist/assets/{map-CgA6tTpZ.js → map-zKBdHkX8.js} +1 -1
  367. package/ui-dist/assets/{mermaid.core-DrXOt-P6.js → mermaid.core-DbjdFip8.js} +4 -4
  368. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-D9ImeWBe.js → mindmap-definition-LN4V7U3C-DcDNQ4GQ.js} +1 -1
  369. package/ui-dist/assets/{pegDiagram-2B236MQR-Cq-zZ_zz.js → pegDiagram-2B236MQR-BGq1PngU.js} +1 -1
  370. package/ui-dist/assets/{pieDiagram-ENE6RG2P-FgNgy726.js → pieDiagram-ENE6RG2P-BfXWRzNb.js} +1 -1
  371. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-BxQbmGmi.js → quadrantDiagram-ABIIQ3AL-AYMVAbo1.js} +1 -1
  372. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-CrpbkPH2.js → railroadDiagram-RFXS5EU6-B0PoG0Ih.js} +1 -1
  373. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-DQ-65ZW6.js → requirementDiagram-TGXJPOKE-Cuuu9wfw.js} +1 -1
  374. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Bom0lMZm.js → sankeyDiagram-HTMAVEWB-BceAc42f.js} +1 -1
  375. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-C1MSDLDj.js → sequenceDiagram-DBY2YBRQ-cqJ71-Rw.js} +1 -1
  376. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-Bn1vxebD.js → sizeCapture-X5ZJPWSS-DQ6MibbA.js} +1 -1
  377. package/ui-dist/assets/{stateDiagram-2N3HPSRC-GRRQpmzI.js → stateDiagram-2N3HPSRC-Bdl-XY7t.js} +1 -1
  378. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-Cjj7yPIO.js +1 -0
  379. package/ui-dist/assets/{swimlanes-5IMT3BWC-BcOOCZ4q.js → swimlanes-5IMT3BWC-Dpo2HDtE.js} +2 -2
  380. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-CPmIkNCu.js +8 -0
  381. package/ui-dist/assets/{timeline-definition-FHXFAJF6-gi6amswh.js → timeline-definition-FHXFAJF6-BzmJ-xnC.js} +1 -1
  382. package/ui-dist/assets/{vennDiagram-L72KCM5P-B9uqeyQt.js → vennDiagram-L72KCM5P-BF2EI7vn.js} +1 -1
  383. package/ui-dist/assets/{wardleyDiagram-EHGQE667-BnqWAMiE.js → wardleyDiagram-EHGQE667-DM65x1i1.js} +1 -1
  384. package/ui-dist/assets/xterm-DZP7bLZ5.js +9 -0
  385. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BJXKltIN.js → xychartDiagram-FW5EYKEG-3Q2t9pdU.js} +1 -1
  386. package/ui-dist/index.html +2 -2
  387. package/dist/bootstrap/plugin-host-runtime.d.ts +0 -116
  388. package/dist/bootstrap/plugin-host-runtime.d.ts.map +0 -1
  389. package/dist/bootstrap/plugin-host-runtime.js +0 -179
  390. package/dist/bootstrap/plugin-host-runtime.js.map +0 -1
  391. package/dist/bundled-plugins/plugin-linear/README.md +0 -22
  392. package/dist/bundled-plugins/plugin-linear/dist/manifest.js +0 -183
  393. package/dist/bundled-plugins/plugin-linear/dist/manifest.js.map +0 -7
  394. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +0 -1285
  395. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +0 -7
  396. package/dist/bundled-plugins/plugin-linear/dist/worker.js +0 -10699
  397. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +0 -7
  398. package/dist/bundled-plugins/plugin-linear/package.json +0 -42
  399. package/dist/routes/plugin-ui-static.d.ts +0 -70
  400. package/dist/routes/plugin-ui-static.d.ts.map +0 -1
  401. package/dist/routes/plugin-ui-static.js +0 -375
  402. package/dist/routes/plugin-ui-static.js.map +0 -1
  403. package/dist/routes/plugins.d.ts +0 -120
  404. package/dist/routes/plugins.d.ts.map +0 -1
  405. package/dist/routes/plugins.js +0 -1125
  406. package/dist/routes/plugins.js.map +0 -1
  407. package/dist/routes/plugins.operations-routes.d.ts +0 -28
  408. package/dist/routes/plugins.operations-routes.d.ts.map +0 -1
  409. package/dist/routes/plugins.operations-routes.js +0 -720
  410. package/dist/routes/plugins.operations-routes.js.map +0 -1
  411. package/dist/services/plugin-capability-validator.d.ts +0 -108
  412. package/dist/services/plugin-capability-validator.d.ts.map +0 -1
  413. package/dist/services/plugin-capability-validator.js +0 -268
  414. package/dist/services/plugin-capability-validator.js.map +0 -1
  415. package/dist/services/plugin-config-validator.d.ts +0 -26
  416. package/dist/services/plugin-config-validator.d.ts.map +0 -1
  417. package/dist/services/plugin-config-validator.js +0 -41
  418. package/dist/services/plugin-config-validator.js.map +0 -1
  419. package/dist/services/plugin-dev-watcher.d.ts +0 -47
  420. package/dist/services/plugin-dev-watcher.d.ts.map +0 -1
  421. package/dist/services/plugin-dev-watcher.js +0 -275
  422. package/dist/services/plugin-dev-watcher.js.map +0 -1
  423. package/dist/services/plugin-event-bus.d.ts +0 -149
  424. package/dist/services/plugin-event-bus.d.ts.map +0 -1
  425. package/dist/services/plugin-event-bus.js +0 -258
  426. package/dist/services/plugin-event-bus.js.map +0 -1
  427. package/dist/services/plugin-host-service-cleanup.d.ts +0 -14
  428. package/dist/services/plugin-host-service-cleanup.d.ts.map +0 -1
  429. package/dist/services/plugin-host-service-cleanup.js +0 -37
  430. package/dist/services/plugin-host-service-cleanup.js.map +0 -1
  431. package/dist/services/plugin-host-services.d.ts +0 -13
  432. package/dist/services/plugin-host-services.d.ts.map +0 -1
  433. package/dist/services/plugin-host-services.js +0 -933
  434. package/dist/services/plugin-host-services.js.map +0 -1
  435. package/dist/services/plugin-job-coordinator.d.ts +0 -81
  436. package/dist/services/plugin-job-coordinator.d.ts.map +0 -1
  437. package/dist/services/plugin-job-coordinator.js +0 -172
  438. package/dist/services/plugin-job-coordinator.js.map +0 -1
  439. package/dist/services/plugin-job-scheduler.d.ts +0 -163
  440. package/dist/services/plugin-job-scheduler.d.ts.map +0 -1
  441. package/dist/services/plugin-job-scheduler.js +0 -452
  442. package/dist/services/plugin-job-scheduler.js.map +0 -1
  443. package/dist/services/plugin-job-store.d.ts +0 -208
  444. package/dist/services/plugin-job-store.d.ts.map +0 -1
  445. package/dist/services/plugin-job-store.js +0 -350
  446. package/dist/services/plugin-job-store.js.map +0 -1
  447. package/dist/services/plugin-lifecycle.d.ts +0 -240
  448. package/dist/services/plugin-lifecycle.d.ts.map +0 -1
  449. package/dist/services/plugin-lifecycle.js +0 -439
  450. package/dist/services/plugin-lifecycle.js.map +0 -1
  451. package/dist/services/plugin-loader.core.d.ts +0 -40
  452. package/dist/services/plugin-loader.core.d.ts.map +0 -1
  453. package/dist/services/plugin-loader.core.js +0 -879
  454. package/dist/services/plugin-loader.core.js.map +0 -1
  455. package/dist/services/plugin-loader.d.ts +0 -30
  456. package/dist/services/plugin-loader.d.ts.map +0 -1
  457. package/dist/services/plugin-loader.helpers.d.ts +0 -495
  458. package/dist/services/plugin-loader.helpers.d.ts.map +0 -1
  459. package/dist/services/plugin-loader.helpers.js +0 -238
  460. package/dist/services/plugin-loader.helpers.js.map +0 -1
  461. package/dist/services/plugin-loader.js +0 -30
  462. package/dist/services/plugin-loader.js.map +0 -1
  463. package/dist/services/plugin-loader.worker-paths.d.ts +0 -37
  464. package/dist/services/plugin-loader.worker-paths.d.ts.map +0 -1
  465. package/dist/services/plugin-loader.worker-paths.js +0 -62
  466. package/dist/services/plugin-loader.worker-paths.js.map +0 -1
  467. package/dist/services/plugin-log-retention.d.ts +0 -20
  468. package/dist/services/plugin-log-retention.d.ts.map +0 -1
  469. package/dist/services/plugin-log-retention.js +0 -63
  470. package/dist/services/plugin-log-retention.js.map +0 -1
  471. package/dist/services/plugin-manifest-validator.d.ts +0 -90
  472. package/dist/services/plugin-manifest-validator.d.ts.map +0 -1
  473. package/dist/services/plugin-manifest-validator.js +0 -72
  474. package/dist/services/plugin-manifest-validator.js.map +0 -1
  475. package/dist/services/plugin-registry.d.ts +0 -2542
  476. package/dist/services/plugin-registry.d.ts.map +0 -1
  477. package/dist/services/plugin-registry.js +0 -536
  478. package/dist/services/plugin-registry.js.map +0 -1
  479. package/dist/services/plugin-runtime-sandbox.d.ts +0 -40
  480. package/dist/services/plugin-runtime-sandbox.d.ts.map +0 -1
  481. package/dist/services/plugin-runtime-sandbox.js +0 -154
  482. package/dist/services/plugin-runtime-sandbox.js.map +0 -1
  483. package/dist/services/plugin-secrets-handler.d.ts +0 -81
  484. package/dist/services/plugin-secrets-handler.d.ts.map +0 -1
  485. package/dist/services/plugin-secrets-handler.js +0 -275
  486. package/dist/services/plugin-secrets-handler.js.map +0 -1
  487. package/dist/services/plugin-state-store.d.ts +0 -92
  488. package/dist/services/plugin-state-store.d.ts.map +0 -1
  489. package/dist/services/plugin-state-store.js +0 -190
  490. package/dist/services/plugin-state-store.js.map +0 -1
  491. package/dist/services/plugin-stream-bus.d.ts +0 -29
  492. package/dist/services/plugin-stream-bus.d.ts.map +0 -1
  493. package/dist/services/plugin-stream-bus.js +0 -48
  494. package/dist/services/plugin-stream-bus.js.map +0 -1
  495. package/dist/services/plugin-tool-dispatcher.d.ts +0 -180
  496. package/dist/services/plugin-tool-dispatcher.d.ts.map +0 -1
  497. package/dist/services/plugin-tool-dispatcher.js +0 -224
  498. package/dist/services/plugin-tool-dispatcher.js.map +0 -1
  499. package/dist/services/plugin-tool-registry.d.ts +0 -192
  500. package/dist/services/plugin-tool-registry.d.ts.map +0 -1
  501. package/dist/services/plugin-tool-registry.js +0 -224
  502. package/dist/services/plugin-tool-registry.js.map +0 -1
  503. package/dist/services/plugin-worker-manager.d.ts +0 -260
  504. package/dist/services/plugin-worker-manager.d.ts.map +0 -1
  505. package/dist/services/plugin-worker-manager.js +0 -836
  506. package/dist/services/plugin-worker-manager.js.map +0 -1
  507. package/ui-dist/assets/channel-C08AyYJr.js +0 -1
  508. package/ui-dist/assets/classDiagram-OUVF2IWQ-BIXq6fec.js +0 -1
  509. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BIXq6fec.js +0 -1
  510. package/ui-dist/assets/index-BmXb0yC1.css +0 -1
  511. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KvSJhiLM.js +0 -1
  512. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Cr92NnJ4.js +0 -8
@@ -1,238 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { existsSync } from "node:fs";
3
- import { readFile } from "node:fs/promises";
4
- import os from "node:os";
5
- import path from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- import { promisify } from "node:util";
8
- export const execFileAsync = promisify(execFile);
9
- export const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
- // ---------------------------------------------------------------------------
11
- // Constants
12
- // ---------------------------------------------------------------------------
13
- /**
14
- * Naming convention for npm-published Rudder plugins.
15
- * Packages matching this pattern are considered Rudder plugins.
16
- *
17
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Package Contract
18
- */
19
- export const NPM_PLUGIN_PACKAGE_PREFIX = "rudder-plugin-";
20
- /**
21
- * Default local plugin directory. The loader scans this directory for
22
- * locally-installed plugin packages.
23
- *
24
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — On-Disk Layout
25
- */
26
- export const DEFAULT_LOCAL_PLUGIN_DIR = path.join(os.homedir(), ".rudder", "plugins");
27
- export const DEV_TSX_LOADER_PATH = path.resolve(__dirname, "../../../cli/node_modules/tsx/dist/loader.mjs");
28
- export function getDeclaredPageRoutePaths(manifest) {
29
- return (manifest.ui?.slots ?? [])
30
- .filter((slot) => slot.type === "page" && typeof slot.routePath === "string" && slot.routePath.length > 0)
31
- .map((slot) => slot.routePath);
32
- }
33
- // ---------------------------------------------------------------------------
34
- // Helpers
35
- // ---------------------------------------------------------------------------
36
- /**
37
- * Check whether a package name matches the Rudder plugin naming convention.
38
- * Accepts both the "rudder-plugin-" prefix and scoped "@scope/plugin-" packages.
39
- *
40
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Package Contract
41
- */
42
- export function isPluginPackageName(name) {
43
- if (name.startsWith(NPM_PLUGIN_PACKAGE_PREFIX))
44
- return true;
45
- // Also accept scoped packages like @acme/plugin-linear or @rudderhq/plugin-*
46
- if (name.includes("/")) {
47
- const localPart = name.split("/")[1] ?? "";
48
- return localPart.startsWith("plugin-");
49
- }
50
- return false;
51
- }
52
- /**
53
- * Read and parse a package.json from a directory path.
54
- * Returns null if no package.json exists.
55
- */
56
- export async function readPackageJson(dir) {
57
- const pkgPath = path.join(dir, "package.json");
58
- if (!existsSync(pkgPath))
59
- return null;
60
- try {
61
- const raw = await readFile(pkgPath, "utf-8");
62
- return JSON.parse(raw);
63
- }
64
- catch {
65
- return null;
66
- }
67
- }
68
- /**
69
- * Resolve the manifest entrypoint from a package.json and package root.
70
- *
71
- * Rudder plugin packages define a "rudderPlugin" key in package.json with a
72
- * "manifest" subkey pointing to the manifest module. This helper resolves the
73
- * path.
74
- *
75
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Package Contract
76
- */
77
- export function resolveManifestPath(packageRoot, pkgJson) {
78
- const rudderPlugin = pkgJson["rudderPlugin"];
79
- if (rudderPlugin !== null &&
80
- typeof rudderPlugin === "object" &&
81
- !Array.isArray(rudderPlugin)) {
82
- const manifestRelPath = rudderPlugin["manifest"];
83
- if (typeof manifestRelPath === "string") {
84
- // NOTE: the resolved path is returned as-is even if the file does not yet
85
- // exist on disk (e.g. the package has not been built). Callers MUST guard
86
- // with existsSync() before passing the path to loadManifestFromPath().
87
- return path.resolve(packageRoot, manifestRelPath);
88
- }
89
- }
90
- // Fallback: look for dist/manifest.js as a convention
91
- const conventionalPath = path.join(packageRoot, "dist", "manifest.js");
92
- if (existsSync(conventionalPath)) {
93
- return conventionalPath;
94
- }
95
- // Fallback: look for manifest.js at package root
96
- const rootManifestPath = path.join(packageRoot, "manifest.js");
97
- if (existsSync(rootManifestPath)) {
98
- return rootManifestPath;
99
- }
100
- return null;
101
- }
102
- export function parseSemver(version) {
103
- const match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/);
104
- if (!match)
105
- return null;
106
- return {
107
- major: Number(match[1]),
108
- minor: Number(match[2]),
109
- patch: Number(match[3]),
110
- prerelease: match[4] ? match[4].split(".") : [],
111
- };
112
- }
113
- export function compareIdentifiers(left, right) {
114
- const leftIsNumeric = /^\d+$/.test(left);
115
- const rightIsNumeric = /^\d+$/.test(right);
116
- if (leftIsNumeric && rightIsNumeric) {
117
- return Number(left) - Number(right);
118
- }
119
- if (leftIsNumeric)
120
- return -1;
121
- if (rightIsNumeric)
122
- return 1;
123
- return left.localeCompare(right);
124
- }
125
- export function compareSemver(left, right) {
126
- const leftParsed = parseSemver(left);
127
- const rightParsed = parseSemver(right);
128
- if (!leftParsed || !rightParsed) {
129
- throw new Error(`Invalid semver comparison: '${left}' vs '${right}'`);
130
- }
131
- const coreOrder = ["major", "minor", "patch"].map((key) => leftParsed[key] - rightParsed[key]).find((delta) => delta !== 0);
132
- if (coreOrder) {
133
- return coreOrder;
134
- }
135
- if (leftParsed.prerelease.length === 0 && rightParsed.prerelease.length === 0) {
136
- return 0;
137
- }
138
- if (leftParsed.prerelease.length === 0)
139
- return 1;
140
- if (rightParsed.prerelease.length === 0)
141
- return -1;
142
- const maxLength = Math.max(leftParsed.prerelease.length, rightParsed.prerelease.length);
143
- for (let index = 0; index < maxLength; index += 1) {
144
- const leftId = leftParsed.prerelease[index];
145
- const rightId = rightParsed.prerelease[index];
146
- if (leftId === undefined)
147
- return -1;
148
- if (rightId === undefined)
149
- return 1;
150
- const diff = compareIdentifiers(leftId, rightId);
151
- if (diff !== 0)
152
- return diff;
153
- }
154
- return 0;
155
- }
156
- export function getMinimumHostVersion(manifest) {
157
- return manifest.minimumHostVersion ?? manifest.minimumPaperclipVersion;
158
- }
159
- /**
160
- * Extract UI contribution metadata from a manifest for route serialization.
161
- *
162
- * Returns `null` when the plugin does not declare any UI slots or launchers.
163
- * Launcher declarations are aggregated from both the legacy top-level
164
- * `launchers` field and the preferred `ui.launchers` field.
165
- */
166
- export function getPluginUiContributionMetadata(manifest) {
167
- const slots = manifest.ui?.slots ?? [];
168
- const launchers = [
169
- ...(manifest.launchers ?? []),
170
- ...(manifest.ui?.launchers ?? []),
171
- ];
172
- if (slots.length === 0 && launchers.length === 0) {
173
- return null;
174
- }
175
- return {
176
- uiEntryFile: "index.js",
177
- slots,
178
- launchers,
179
- };
180
- }
181
- // ---------------------------------------------------------------------------
182
- // Factory
183
- // ---------------------------------------------------------------------------
184
- /**
185
- * Create a PluginLoader service.
186
- *
187
- * The loader is responsible for plugin discovery, installation, and runtime
188
- * activation. It reads plugin packages from the local filesystem and npm,
189
- * validates their manifests, registers them in the database, and — when
190
- * runtime services are provided — initialises worker processes, event
191
- * subscriptions, job schedules, webhook endpoints, and agent tools.
192
- *
193
- * Usage (discovery & install only):
194
- * ```ts
195
- * const loader = pluginLoader(db, { enableLocalFilesystem: true });
196
- *
197
- * // Discover all available plugins
198
- * const result = await loader.discoverAll();
199
- * for (const plugin of result.discovered) {
200
- * console.log(plugin.packageName, plugin.manifest?.id);
201
- * }
202
- *
203
- * // Install a specific plugin
204
- * const discovered = await loader.installPlugin({
205
- * packageName: "rudder-plugin-linear",
206
- * version: "^1.0.0",
207
- * });
208
- * ```
209
- *
210
- * Usage (full runtime activation at server startup):
211
- * ```ts
212
- * const loader = pluginLoader(db, loaderOpts, {
213
- * workerManager,
214
- * eventBus,
215
- * jobScheduler,
216
- * jobStore,
217
- * toolDispatcher,
218
- * lifecycleManager,
219
- * buildHostHandlers: (pluginId, manifest) => ({ ... }),
220
- * instanceInfo: { instanceId: "inst-1", hostVersion: "1.0.0" },
221
- * });
222
- *
223
- * // Load all ready plugins at startup
224
- * const loadResult = await loader.loadAll();
225
- * console.log(`Loaded ${loadResult.succeeded}/${loadResult.total} plugins`);
226
- *
227
- * // Load a single plugin after install
228
- * const singleResult = await loader.loadSingle(pluginId);
229
- *
230
- * // Shutdown all plugin workers on server exit
231
- * await loader.shutdownAll();
232
- * ```
233
- *
234
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — On-Disk Layout
235
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Install Process
236
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Process Model
237
- */
238
- //# sourceMappingURL=plugin-loader.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.helpers.js","sourceRoot":"","sources":["../../src/services/plugin-loader.helpers.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * PluginLoader — discovery, installation, and runtime activation of plugins.
3
- *
4
- * This service is the entry point for the plugin system's I/O boundary:
5
- *
6
- * 1. **Discovery** — Scans the local plugin directory
7
- * (`~/.rudder/plugins/`) and `node_modules` for packages matching
8
- * the `rudder-plugin-*` naming convention. Aggregates results with
9
- * path-based deduplication.
10
- *
11
- * 2. **Installation** — `installPlugin()` downloads from npm (or reads a
12
- * local path), validates the manifest, checks capability consistency,
13
- * and persists the install record.
14
- *
15
- * 3. **Runtime activation** — `activatePlugin()` wires up a loaded plugin
16
- * with all runtime services: resolves its entrypoint, builds
17
- * capability-gated host handlers, spawns a worker process, syncs job
18
- * declarations, registers event subscriptions, and discovers tools.
19
- *
20
- * 4. **Shutdown** — `shutdownAll()` gracefully stops all active workers
21
- * and unregisters runtime hooks.
22
- *
23
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Plugin Discovery
24
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Package Contract
25
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Process Model
26
- */
27
- export * from "./plugin-loader.core.js";
28
- export * from "./plugin-loader.helpers.js";
29
- export * from "./plugin-loader.worker-paths.js";
30
- //# sourceMappingURL=plugin-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/services/plugin-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC"}
@@ -1,37 +0,0 @@
1
- /**
2
- * PluginLoader — discovery, installation, and runtime activation of plugins.
3
- *
4
- * This service is the entry point for the plugin system's I/O boundary:
5
- *
6
- * 1. **Discovery** — Scans the local plugin directory
7
- * (`~/.rudder/plugins/`) and `node_modules` for packages matching
8
- * the `rudder-plugin-*` naming convention. Aggregates results with
9
- * path-based deduplication.
10
- *
11
- * 2. **Installation** — `installPlugin()` downloads from npm (or reads a
12
- * local path), validates the manifest, checks capability consistency,
13
- * and persists the install record.
14
- *
15
- * 3. **Runtime activation** — `activatePlugin()` wires up a loaded plugin
16
- * with all runtime services: resolves its entrypoint, builds
17
- * capability-gated host handlers, spawns a worker process, syncs job
18
- * declarations, registers event subscriptions, and discovers tools.
19
- *
20
- * 4. **Shutdown** — `shutdownAll()` gracefully stops all active workers
21
- * and unregisters runtime hooks.
22
- *
23
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Plugin Discovery
24
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Package Contract
25
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Process Model
26
- */
27
- import type { PluginRecord } from "@rudderhq/shared";
28
- export interface PluginPackageResolutionOptions {
29
- serverPackageRoot?: string;
30
- }
31
- export declare function resolvePluginPackageCandidateDirs(localPluginDir: string, packageName: string, packagePath?: string | null, options?: PluginPackageResolutionOptions): string[];
32
- export declare function resolveWorkerEntrypoint(plugin: PluginRecord & {
33
- packagePath?: string | null;
34
- }, localPluginDir: string, options?: PluginPackageResolutionOptions): string;
35
- export declare function resolveManagedInstallPackageDir(localPluginDir: string, packageName: string): string;
36
- export declare function isPathInsideDir(candidatePath: string, parentDir: string): boolean;
37
- //# sourceMappingURL=plugin-loader.worker-paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.worker-paths.d.ts","sourceRoot":"","sources":["../../src/services/plugin-loader.worker-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EACV,YAAY,EACb,MAAM,kBAAkB,CAAC;AAO1B,MAAM,WAAW,8BAA8B;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,GAAE,8BAAmC,GAC3C,MAAM,EAAE,CA4BV;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtD,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,8BAAmC,GAC3C,MAAM,CAmCR;AAED,wBAAgB,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAKnG;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKjF"}
@@ -1,62 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import path from "node:path";
3
- import { __dirname } from "./plugin-loader.helpers.js";
4
- const SERVER_PACKAGE_ROOT = path.resolve(__dirname, "../..");
5
- const BUNDLED_PLUGIN_PACKAGE_DIRS = new Map([
6
- ["@rudderhq/plugin-linear", "plugin-linear"],
7
- ]);
8
- export function resolvePluginPackageCandidateDirs(localPluginDir, packageName, packagePath, options = {}) {
9
- const candidates = [];
10
- if (packagePath && existsSync(packagePath)) {
11
- candidates.push(path.resolve(packagePath));
12
- }
13
- if (packageName.startsWith("@")) {
14
- candidates.push(path.join(localPluginDir, "node_modules", ...packageName.split("/")));
15
- }
16
- else {
17
- candidates.push(path.join(localPluginDir, "node_modules", packageName));
18
- }
19
- candidates.push(path.join(localPluginDir, packageName));
20
- const bundledPluginDirName = BUNDLED_PLUGIN_PACKAGE_DIRS.get(packageName);
21
- if (bundledPluginDirName) {
22
- candidates.push(path.join(options.serverPackageRoot ?? SERVER_PACKAGE_ROOT, "dist", "bundled-plugins", bundledPluginDirName));
23
- }
24
- return [...new Set(candidates.map((candidate) => path.resolve(candidate)))];
25
- }
26
- export function resolveWorkerEntrypoint(plugin, localPluginDir, options = {}) {
27
- const manifest = plugin.manifestJson;
28
- const workerRelPath = manifest.entrypoints.worker;
29
- const packageName = plugin.packageName;
30
- const checkedEntrypoints = [];
31
- for (const dir of resolvePluginPackageCandidateDirs(localPluginDir, packageName, plugin.packagePath, options)) {
32
- const entrypoint = path.resolve(dir, workerRelPath);
33
- checkedEntrypoints.push(entrypoint);
34
- // Security: ensure entrypoint is actually inside the directory (prevent path traversal)
35
- if (!isPathInsideDir(entrypoint, dir)) {
36
- continue;
37
- }
38
- if (existsSync(entrypoint)) {
39
- return entrypoint;
40
- }
41
- }
42
- // Fallback: try the worker path as-is (absolute or relative to cwd)
43
- // ONLY if it's already an absolute path and we trust the manifest (which we've already validated)
44
- if (path.isAbsolute(workerRelPath) && existsSync(workerRelPath)) {
45
- return workerRelPath;
46
- }
47
- throw new Error(`Worker entrypoint not found for plugin "${plugin.pluginKey}". ` +
48
- `Checked: ${checkedEntrypoints.join(", ")}`);
49
- }
50
- export function resolveManagedInstallPackageDir(localPluginDir, packageName) {
51
- if (packageName.startsWith("@")) {
52
- return path.join(localPluginDir, "node_modules", ...packageName.split("/"));
53
- }
54
- return path.join(localPluginDir, "node_modules", packageName);
55
- }
56
- export function isPathInsideDir(candidatePath, parentDir) {
57
- const resolvedCandidate = path.resolve(candidatePath);
58
- const resolvedParent = path.resolve(parentDir);
59
- const relative = path.relative(resolvedParent, resolvedCandidate);
60
- return relative === "" || (!relative.startsWith("..") && !path.isAbsolute(relative));
61
- }
62
- //# sourceMappingURL=plugin-loader.worker-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.worker-paths.js","sourceRoot":"","sources":["../../src/services/plugin-loader.worker-paths.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { Db } from "@rudderhq/db";
2
- /**
3
- * Delete plugin log rows older than `retentionDays`.
4
- *
5
- * Deletes in batches of `DELETE_BATCH_SIZE` to keep transaction sizes
6
- * bounded and avoid holding locks for extended periods.
7
- *
8
- * @returns The total number of rows deleted.
9
- */
10
- export declare function prunePluginLogs(db: Db, retentionDays?: number): Promise<number>;
11
- /**
12
- * Start a periodic plugin log cleanup interval.
13
- *
14
- * @param db - Database connection
15
- * @param intervalMs - How often to run (default: 1 hour)
16
- * @param retentionDays - How many days of logs to keep (default: 7)
17
- * @returns A cleanup function that stops the interval
18
- */
19
- export declare function startPluginLogRetention(db: Db, intervalMs?: number, retentionDays?: number): () => void;
20
- //# sourceMappingURL=plugin-log-retention.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-log-retention.d.ts","sourceRoot":"","sources":["../../src/services/plugin-log-retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAcvC;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,aAAa,GAAE,MAA+B,GAC7C,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,EAAE,EACN,UAAU,GAAE,MAAwB,EACpC,aAAa,GAAE,MAA+B,GAC7C,MAAM,IAAI,CAaZ"}
@@ -1,63 +0,0 @@
1
- import { pluginLogs } from "@rudderhq/db";
2
- import { lt } from "drizzle-orm";
3
- import { logger } from "../middleware/logger.js";
4
- /** Default retention period: 7 days. */
5
- const DEFAULT_RETENTION_DAYS = 7;
6
- /** Maximum rows to delete per sweep to avoid long-running transactions. */
7
- const DELETE_BATCH_SIZE = 5_000;
8
- /** Maximum number of batches per sweep to guard against unbounded loops. */
9
- const MAX_ITERATIONS = 100;
10
- /**
11
- * Delete plugin log rows older than `retentionDays`.
12
- *
13
- * Deletes in batches of `DELETE_BATCH_SIZE` to keep transaction sizes
14
- * bounded and avoid holding locks for extended periods.
15
- *
16
- * @returns The total number of rows deleted.
17
- */
18
- export async function prunePluginLogs(db, retentionDays = DEFAULT_RETENTION_DAYS) {
19
- const cutoff = new Date();
20
- cutoff.setDate(cutoff.getDate() - retentionDays);
21
- let totalDeleted = 0;
22
- let iterations = 0;
23
- // Delete in batches to avoid long-running transactions
24
- while (iterations < MAX_ITERATIONS) {
25
- const deleted = await db
26
- .delete(pluginLogs)
27
- .where(lt(pluginLogs.createdAt, cutoff))
28
- .returning({ id: pluginLogs.id })
29
- .then((rows) => rows.length);
30
- totalDeleted += deleted;
31
- iterations++;
32
- if (deleted < DELETE_BATCH_SIZE)
33
- break;
34
- }
35
- if (iterations >= MAX_ITERATIONS) {
36
- logger.warn({ totalDeleted, iterations, cutoffDate: cutoff }, "Plugin log retention hit iteration limit; some logs may remain");
37
- }
38
- if (totalDeleted > 0) {
39
- logger.info({ totalDeleted, retentionDays }, "Pruned expired plugin logs");
40
- }
41
- return totalDeleted;
42
- }
43
- /**
44
- * Start a periodic plugin log cleanup interval.
45
- *
46
- * @param db - Database connection
47
- * @param intervalMs - How often to run (default: 1 hour)
48
- * @param retentionDays - How many days of logs to keep (default: 7)
49
- * @returns A cleanup function that stops the interval
50
- */
51
- export function startPluginLogRetention(db, intervalMs = 60 * 60 * 1_000, retentionDays = DEFAULT_RETENTION_DAYS) {
52
- const timer = setInterval(() => {
53
- prunePluginLogs(db, retentionDays).catch((err) => {
54
- logger.warn({ err }, "Plugin log retention sweep failed");
55
- });
56
- }, intervalMs);
57
- // Run once immediately on startup
58
- prunePluginLogs(db, retentionDays).catch((err) => {
59
- logger.warn({ err }, "Initial plugin log retention sweep failed");
60
- });
61
- return () => clearInterval(timer);
62
- }
63
- //# sourceMappingURL=plugin-log-retention.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-log-retention.js","sourceRoot":"","sources":["../../src/services/plugin-log-retention.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,wCAAwC;AACxC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,4EAA4E;AAC5E,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAM,EACN,gBAAwB,sBAAsB;IAE9C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC;IAEjD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,uDAAuD;IACvD,OAAO,UAAU,GAAG,cAAc,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,EAAE;aACrB,MAAM,CAAC,UAAU,CAAC;aAClB,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aACvC,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;aAChC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/B,YAAY,IAAI,OAAO,CAAC;QACxB,UAAU,EAAE,CAAC;QAEb,IAAI,OAAO,GAAG,iBAAiB;YAAE,MAAM;IACzC,CAAC;IAED,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,EAChD,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAM,EACN,aAAqB,EAAE,GAAG,EAAE,GAAG,KAAK,EACpC,gBAAwB,sBAAsB;IAE9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,eAAe,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,mCAAmC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,UAAU,CAAC,CAAC;IAEf,kCAAkC;IAClC,eAAe,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -1,90 +0,0 @@
1
- /**
2
- * PluginManifestValidator — schema validation for plugin manifest files.
3
- *
4
- * Uses the shared Zod schema (`pluginManifestV1Schema`) to validate
5
- * manifest payloads. Provides both a safe `parse()` variant (returns
6
- * a result union) and a throwing `parseOrThrow()` for HTTP error
7
- * propagation at install time.
8
- *
9
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Plugin Manifest
10
- * @see packages/shared/src/validators/plugin.ts — Zod schema definition
11
- */
12
- import type { PaperclipPluginManifestV1 } from "@rudderhq/shared";
13
- /**
14
- * Successful parse result.
15
- */
16
- export interface ManifestParseSuccess {
17
- success: true;
18
- manifest: PaperclipPluginManifestV1;
19
- }
20
- /**
21
- * Failed parse result. `errors` is a human-readable description of what went
22
- * wrong; `details` is the raw Zod error list for programmatic inspection.
23
- */
24
- export interface ManifestParseFailure {
25
- success: false;
26
- errors: string;
27
- details: Array<{
28
- path: (string | number)[];
29
- message: string;
30
- }>;
31
- }
32
- /** Union of parse outcomes. */
33
- export type ManifestParseResult = ManifestParseSuccess | ManifestParseFailure;
34
- /**
35
- * Service for parsing and validating plugin manifests.
36
- *
37
- * @see doc/engineering/PLUGIN_RUNTIME_CONTRACT.md — Plugin Manifest
38
- */
39
- export interface PluginManifestValidator {
40
- /**
41
- * Try to parse `input` as a plugin manifest.
42
- *
43
- * Returns a {@link ManifestParseSuccess} when the input passes all
44
- * validation rules, or a {@link ManifestParseFailure} with human-readable
45
- * error messages when it does not.
46
- *
47
- * This is the "safe" variant — it never throws.
48
- */
49
- parse(input: unknown): ManifestParseResult;
50
- /**
51
- * Parse `input` as a plugin manifest, throwing a 400 HttpError on failure.
52
- *
53
- * Use this at install time when an invalid manifest should surface as an
54
- * HTTP error to the caller.
55
- *
56
- * @throws {HttpError} 400 Bad Request if the manifest is invalid.
57
- */
58
- parseOrThrow(input: unknown): PaperclipPluginManifestV1;
59
- /**
60
- * Return the list of plugin API versions supported by this host.
61
- *
62
- * Callers can use this to present the supported version range to operators
63
- * or to decide whether a candidate plugin can be installed.
64
- */
65
- getSupportedVersions(): readonly number[];
66
- }
67
- /**
68
- * Create a {@link PluginManifestValidator}.
69
- *
70
- * Usage:
71
- * ```ts
72
- * const validator = pluginManifestValidator();
73
- *
74
- * // Safe parse — inspect the result
75
- * const result = validator.parse(rawManifest);
76
- * if (!result.success) {
77
- * console.error(result.errors);
78
- * return;
79
- * }
80
- * const manifest = result.manifest;
81
- *
82
- * // Throwing parse — use at install time
83
- * const manifest = validator.parseOrThrow(rawManifest);
84
- *
85
- * // Check supported versions
86
- * const versions = validator.getSupportedVersions(); // [1]
87
- * ```
88
- */
89
- export declare function pluginManifestValidator(): PluginManifestValidator;
90
- //# sourceMappingURL=plugin-manifest-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-manifest-validator.d.ts","sourceRoot":"","sources":["../../src/services/plugin-manifest-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAmBlE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,yBAAyB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAED,+BAA+B;AAC/B,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAM9E;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAE3C;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAExD;;;;;OAKG;IACH,oBAAoB,IAAI,SAAS,MAAM,EAAE,CAAC;CAC3C;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,IAAI,uBAAuB,CA4CjE"}
@@ -1,72 +0,0 @@
1
- import { PLUGIN_API_VERSION, pluginManifestV1Schema } from "@rudderhq/shared";
2
- import { badRequest } from "../errors.js";
3
- // ---------------------------------------------------------------------------
4
- // Supported manifest API versions
5
- // ---------------------------------------------------------------------------
6
- /**
7
- * The set of plugin API versions this host can accept.
8
- * When a new API version is introduced, add it here. Old versions should be
9
- * retained until the host drops support for them.
10
- */
11
- const SUPPORTED_VERSIONS = [PLUGIN_API_VERSION];
12
- // ---------------------------------------------------------------------------
13
- // Factory
14
- // ---------------------------------------------------------------------------
15
- /**
16
- * Create a {@link PluginManifestValidator}.
17
- *
18
- * Usage:
19
- * ```ts
20
- * const validator = pluginManifestValidator();
21
- *
22
- * // Safe parse — inspect the result
23
- * const result = validator.parse(rawManifest);
24
- * if (!result.success) {
25
- * console.error(result.errors);
26
- * return;
27
- * }
28
- * const manifest = result.manifest;
29
- *
30
- * // Throwing parse — use at install time
31
- * const manifest = validator.parseOrThrow(rawManifest);
32
- *
33
- * // Check supported versions
34
- * const versions = validator.getSupportedVersions(); // [1]
35
- * ```
36
- */
37
- export function pluginManifestValidator() {
38
- return {
39
- parse(input) {
40
- const result = pluginManifestV1Schema.safeParse(input);
41
- if (result.success) {
42
- return {
43
- success: true,
44
- manifest: result.data,
45
- };
46
- }
47
- const details = result.error.errors.map((issue) => ({
48
- path: issue.path,
49
- message: issue.message,
50
- }));
51
- const errors = details
52
- .map(({ path, message }) => path.length > 0 ? `${path.join(".")}: ${message}` : message)
53
- .join("; ");
54
- return {
55
- success: false,
56
- errors,
57
- details,
58
- };
59
- },
60
- parseOrThrow(input) {
61
- const result = this.parse(input);
62
- if (!result.success) {
63
- throw badRequest(`Invalid plugin manifest: ${result.errors}`, result.details);
64
- }
65
- return result.manifest;
66
- },
67
- getSupportedVersions() {
68
- return SUPPORTED_VERSIONS;
69
- },
70
- };
71
- }
72
- //# sourceMappingURL=plugin-manifest-validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-manifest-validator.js","sourceRoot":"","sources":["../../src/services/plugin-manifest-validator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAmEzD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,KAAK,CAAC,KAAc;YAClB,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEvD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,MAAM,CAAC,IAAiC;iBACnD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,OAAO;iBACnB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAC5D;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,OAAO;aACR,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,KAAc;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,UAAU,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,oBAAoB;YAClB,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC"}