@rudderhq/server 0.7.16 → 0.7.19-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/agent-runtimes/registry.d.ts.map +1 -1
  2. package/dist/agent-runtimes/registry.js +2 -1
  3. package/dist/agent-runtimes/registry.js.map +1 -1
  4. package/dist/bootstrap/create-http-app.d.ts.map +1 -1
  5. package/dist/bootstrap/create-http-app.js +3 -9
  6. package/dist/bootstrap/create-http-app.js.map +1 -1
  7. package/dist/file-system-durability.d.ts +5 -0
  8. package/dist/file-system-durability.d.ts.map +1 -0
  9. package/dist/file-system-durability.js +39 -0
  10. package/dist/file-system-durability.js.map +1 -0
  11. package/dist/home-paths.d.ts +1 -0
  12. package/dist/home-paths.d.ts.map +1 -1
  13. package/dist/home-paths.js +705 -102
  14. package/dist/home-paths.js.map +1 -1
  15. package/dist/routes/chats.d.ts.map +1 -1
  16. package/dist/routes/chats.js +18 -69
  17. package/dist/routes/chats.js.map +1 -1
  18. package/dist/routes/chats.message-query-routes.d.ts +9 -0
  19. package/dist/routes/chats.message-query-routes.d.ts.map +1 -0
  20. package/dist/routes/chats.message-query-routes.js +43 -0
  21. package/dist/routes/chats.message-query-routes.js.map +1 -0
  22. package/dist/routes/chats.stop-route.d.ts +3 -0
  23. package/dist/routes/chats.stop-route.d.ts.map +1 -0
  24. package/dist/routes/chats.stop-route.js +240 -0
  25. package/dist/routes/chats.stop-route.js.map +1 -0
  26. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  27. package/dist/routes/chats.stream-routes.js +94 -390
  28. package/dist/routes/chats.stream-routes.js.map +1 -1
  29. package/dist/routes/chats.stream-support.d.ts +41 -0
  30. package/dist/routes/chats.stream-support.d.ts.map +1 -1
  31. package/dist/routes/chats.stream-support.js +58 -0
  32. package/dist/routes/chats.stream-support.js.map +1 -1
  33. package/dist/routes/issues.d.ts.map +1 -1
  34. package/dist/routes/issues.js +27 -5
  35. package/dist/routes/issues.js.map +1 -1
  36. package/dist/routes/issues.mutations.d.ts.map +1 -1
  37. package/dist/routes/issues.mutations.js +10 -6
  38. package/dist/routes/issues.mutations.js.map +1 -1
  39. package/dist/routes/orgs.d.ts.map +1 -1
  40. package/dist/routes/orgs.js +28 -8
  41. package/dist/routes/orgs.js.map +1 -1
  42. package/dist/routes/rudder-plugins.d.ts +5 -0
  43. package/dist/routes/rudder-plugins.d.ts.map +1 -1
  44. package/dist/routes/rudder-plugins.js +21 -1
  45. package/dist/routes/rudder-plugins.js.map +1 -1
  46. package/dist/routes/rudder-plugins.test.d.ts +2 -0
  47. package/dist/routes/rudder-plugins.test.d.ts.map +1 -0
  48. package/dist/routes/rudder-plugins.test.js +42 -0
  49. package/dist/routes/rudder-plugins.test.js.map +1 -0
  50. package/dist/routes/run-intelligence.d.ts.map +1 -1
  51. package/dist/routes/run-intelligence.js +8 -0
  52. package/dist/routes/run-intelligence.js.map +1 -1
  53. package/dist/services/agent-issue-creation.d.ts.map +1 -1
  54. package/dist/services/agent-issue-creation.js +2 -0
  55. package/dist/services/agent-issue-creation.js.map +1 -1
  56. package/dist/services/chat-assistant.d.ts.map +1 -1
  57. package/dist/services/chat-assistant.helpers.d.ts +4 -2
  58. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  59. package/dist/services/chat-assistant.helpers.js +5 -0
  60. package/dist/services/chat-assistant.helpers.js.map +1 -1
  61. package/dist/services/chat-assistant.js +31 -8
  62. package/dist/services/chat-assistant.js.map +1 -1
  63. package/dist/services/chat-generation-locks.test.js +0 -8
  64. package/dist/services/chat-generation-locks.test.js.map +1 -1
  65. package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -1
  66. package/dist/services/chat-inline-annotation-validation.js +3 -10
  67. package/dist/services/chat-inline-annotation-validation.js.map +1 -1
  68. package/dist/services/chat-inline-annotations.test.js +12 -15
  69. package/dist/services/chat-inline-annotations.test.js.map +1 -1
  70. package/dist/services/chat-message-mutation-fingerprint.d.ts +29 -1
  71. package/dist/services/chat-message-mutation-fingerprint.d.ts.map +1 -1
  72. package/dist/services/chat-message-mutation-fingerprint.js +55 -0
  73. package/dist/services/chat-message-mutation-fingerprint.js.map +1 -1
  74. package/dist/services/chats.annotation-persistence.d.ts +5 -0
  75. package/dist/services/chats.annotation-persistence.d.ts.map +1 -1
  76. package/dist/services/chats.annotation-persistence.js +33 -1
  77. package/dist/services/chats.annotation-persistence.js.map +1 -1
  78. package/dist/services/chats.d.ts +2 -28
  79. package/dist/services/chats.d.ts.map +1 -1
  80. package/dist/services/chats.js +3 -29
  81. package/dist/services/chats.js.map +1 -1
  82. package/dist/services/index.d.ts +1 -1
  83. package/dist/services/index.d.ts.map +1 -1
  84. package/dist/services/index.js.map +1 -1
  85. package/dist/services/issue-references.d.ts +10 -0
  86. package/dist/services/issue-references.d.ts.map +1 -0
  87. package/dist/services/issue-references.js +141 -0
  88. package/dist/services/issue-references.js.map +1 -0
  89. package/dist/services/issues.d.ts +1 -1
  90. package/dist/services/issues.d.ts.map +1 -1
  91. package/dist/services/issues.helpers.d.ts +4 -0
  92. package/dist/services/issues.helpers.d.ts.map +1 -1
  93. package/dist/services/issues.helpers.js.map +1 -1
  94. package/dist/services/issues.js +164 -97
  95. package/dist/services/issues.js.map +1 -1
  96. package/dist/services/organization-workspace-browser.d.ts +6 -2
  97. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  98. package/dist/services/organization-workspace-browser.js +212 -53
  99. package/dist/services/organization-workspace-browser.js.map +1 -1
  100. package/dist/services/plugin-archive-native.d.ts +10 -0
  101. package/dist/services/plugin-archive-native.d.ts.map +1 -0
  102. package/dist/services/plugin-archive-native.js +170 -0
  103. package/dist/services/plugin-archive-native.js.map +1 -0
  104. package/dist/services/plugin-archive-node.d.ts +3 -0
  105. package/dist/services/plugin-archive-node.d.ts.map +1 -0
  106. package/dist/services/plugin-archive-node.js +97 -0
  107. package/dist/services/plugin-archive-node.js.map +1 -0
  108. package/dist/services/product-analytics-collector.test.js +5 -1
  109. package/dist/services/product-analytics-collector.test.js.map +1 -1
  110. package/dist/services/rudder-plugin-catalog.d.ts.map +1 -1
  111. package/dist/services/rudder-plugin-catalog.js +10 -11
  112. package/dist/services/rudder-plugin-catalog.js.map +1 -1
  113. package/dist/services/rudder-plugins.d.ts +1 -3
  114. package/dist/services/rudder-plugins.d.ts.map +1 -1
  115. package/dist/services/rudder-plugins.js +57 -100
  116. package/dist/services/rudder-plugins.js.map +1 -1
  117. package/dist/services/rudder-plugins.test.js +52 -17
  118. package/dist/services/rudder-plugins.test.js.map +1 -1
  119. package/dist/services/run-intelligence.d.ts +1 -0
  120. package/dist/services/run-intelligence.d.ts.map +1 -1
  121. package/dist/services/run-intelligence.js +1 -1
  122. package/dist/services/run-intelligence.js.map +1 -1
  123. package/dist/services/run-log-store.d.ts +1 -0
  124. package/dist/services/run-log-store.d.ts.map +1 -1
  125. package/dist/services/run-log-store.js +123 -4
  126. package/dist/services/run-log-store.js.map +1 -1
  127. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
  128. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  129. package/dist/services/runtime-kernel/heartbeat.core.js +11 -0
  130. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  131. package/dist/services/runtime-kernel/heartbeat.d.ts +1 -0
  132. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  133. package/dist/services/runtime-kernel/heartbeat.js +3 -33
  134. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  135. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts +1 -0
  136. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  137. package/dist/services/runtime-kernel/heartbeat.recovery.js +23 -0
  138. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  139. package/dist/services/runtime-kernel/model-fallback.d.ts.map +1 -1
  140. package/dist/services/runtime-kernel/model-fallback.js +56 -11
  141. package/dist/services/runtime-kernel/model-fallback.js.map +1 -1
  142. package/dist/services/workspace-backup-v2.d.ts +1 -0
  143. package/dist/services/workspace-backup-v2.d.ts.map +1 -1
  144. package/dist/services/workspace-backup-v2.js +16 -0
  145. package/dist/services/workspace-backup-v2.js.map +1 -1
  146. package/dist/services/workspace-backups.d.ts.map +1 -1
  147. package/dist/services/workspace-backups.js +4 -2
  148. package/dist/services/workspace-backups.js.map +1 -1
  149. package/dist/services/workspace-files-native.d.ts +16 -0
  150. package/dist/services/workspace-files-native.d.ts.map +1 -0
  151. package/dist/services/workspace-files-native.js +212 -0
  152. package/dist/services/workspace-files-native.js.map +1 -0
  153. package/dist/services/workspace-manifest-native.d.ts +1 -1
  154. package/dist/services/workspace-manifest-native.d.ts.map +1 -1
  155. package/dist/services/workspace-manifest-native.js +49 -6
  156. package/dist/services/workspace-manifest-native.js.map +1 -1
  157. package/dist/services/workspace-runtime.helpers.d.ts.map +1 -1
  158. package/dist/services/workspace-runtime.helpers.js +13 -11
  159. package/dist/services/workspace-runtime.helpers.js.map +1 -1
  160. package/package.json +14 -14
  161. package/resources/bundled-skills/rudder-docs/SKILL.md +12 -12
  162. package/resources/bundled-skills/rudder-docs/references/source-map.md +7 -31
  163. package/skills/rudder-docs/SKILL.md +12 -12
  164. package/skills/rudder-docs/references/source-map.md +7 -31
  165. package/ui-dist/assets/{LibraryLiveSurface-DnY0wZep.js → LibraryLiveSurface-D-6Puw4N.js} +1 -1
  166. package/ui-dist/assets/{abnfDiagram-VRR7QNED-CT-9m1Vc.js → abnfDiagram-VRR7QNED-DjgQ9iD_.js} +1 -1
  167. package/ui-dist/assets/{addon-fit-C6aMSfRz.js → addon-fit-OOCvZY14.js} +1 -1
  168. package/ui-dist/assets/{arc-1nExaM-y.js → arc-D6yqUjH4.js} +1 -1
  169. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-bILoPPs5.js → architectureDiagram-ZJ3FMSHR-eF-Es2a-.js} +1 -1
  170. package/ui-dist/assets/{blockDiagram-677ZJIJ3--zRFciqi.js → blockDiagram-677ZJIJ3-B7G2uxR7.js} +1 -1
  171. package/ui-dist/assets/{c4Diagram-LMCZKHZV-CrtaX6A_.js → c4Diagram-LMCZKHZV-YhY4bz85.js} +1 -1
  172. package/ui-dist/assets/channel-DISxdJMI.js +1 -0
  173. package/ui-dist/assets/{chunk-2Q5K7J3B-DoBb7ZYS.js → chunk-2Q5K7J3B-D7QxbIUK.js} +1 -1
  174. package/ui-dist/assets/{chunk-32BRIVSS-DilGswdp.js → chunk-32BRIVSS-CArPDsLy.js} +1 -1
  175. package/ui-dist/assets/{chunk-5VM5RSS4-D8q00d1k.js → chunk-5VM5RSS4-ByyAjdOI.js} +1 -1
  176. package/ui-dist/assets/{chunk-EX3LRPZG-Bl1KSAwQ.js → chunk-EX3LRPZG-B6Z9cEKa.js} +1 -1
  177. package/ui-dist/assets/{chunk-JWPE2WC7-DtdgLB7Y.js → chunk-JWPE2WC7-L5jYy4CI.js} +1 -1
  178. package/ui-dist/assets/{chunk-MOJQB5TN-UaG7L1QI.js → chunk-MOJQB5TN-BBTZZsOQ.js} +1 -1
  179. package/ui-dist/assets/{chunk-RYQCIY6F-mkz9qbQF.js → chunk-RYQCIY6F-DyV9CaPT.js} +1 -1
  180. package/ui-dist/assets/{chunk-V7JOEXUC-FGET6Myl.js → chunk-V7JOEXUC-CNztgBrF.js} +1 -1
  181. package/ui-dist/assets/{chunk-VR4S4FIN-BgfUmupS.js → chunk-VR4S4FIN-Bv62Xmto.js} +1 -1
  182. package/ui-dist/assets/{chunk-XXDRQBXY-B6I-gBFN.js → chunk-XXDRQBXY-B5AzJDaz.js} +1 -1
  183. package/ui-dist/assets/classDiagram-OUVF2IWQ-BssC8UiF.js +1 -0
  184. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BssC8UiF.js +1 -0
  185. package/ui-dist/assets/{cose-bilkent-JH36ORCC-DVGWBjbO.js → cose-bilkent-JH36ORCC-DrzyjyO_.js} +1 -1
  186. package/ui-dist/assets/{cynefin-VYW2F7L2-CWjLXAiA.js → cynefin-VYW2F7L2-ChoChVKW.js} +1 -1
  187. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DWY5Jowv.js → cynefinDiagram-TSTJHNR4-Fv4ecj_f.js} +1 -1
  188. package/ui-dist/assets/{dagre-VKFMJZFB-Bp0SVTqP.js → dagre-VKFMJZFB-Zd466k0O.js} +1 -1
  189. package/ui-dist/assets/{diagram-FQU43EPY-EhsLuQCs.js → diagram-FQU43EPY-BgL3Uu7z.js} +1 -1
  190. package/ui-dist/assets/{diagram-G47NLZAW-C_ifHw4Q.js → diagram-G47NLZAW-Bcbg2TZF.js} +1 -1
  191. package/ui-dist/assets/{diagram-NH7WQ7WH-BCitqFNA.js → diagram-NH7WQ7WH-YS4gl6dx.js} +1 -1
  192. package/ui-dist/assets/{diagram-OA4YK3LP-BRjomHnO.js → diagram-OA4YK3LP-C-A8A6Xi.js} +1 -1
  193. package/ui-dist/assets/{diagram-WEI45ONY-Cr_E92JE.js → diagram-WEI45ONY-mqkaxwes.js} +1 -1
  194. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-0WJQMwqt.js → ebnfDiagram-CCIWWBDH-CvH1cI4K.js} +1 -1
  195. package/ui-dist/assets/{erDiagram-Q63AITRT-B0EBivSu.js → erDiagram-Q63AITRT-Duhw1MUB.js} +1 -1
  196. package/ui-dist/assets/{flowDiagram-23GEKE2U-BwdRtCsd.js → flowDiagram-23GEKE2U-DUkAECUs.js} +1 -1
  197. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-KxlqXAqZ.js → ganttDiagram-NO4QXBWP-B3cINaqn.js} +1 -1
  198. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-DeTCa-SS.js → gitGraphDiagram-IHSO6WYX-BMEHvYy5.js} +1 -1
  199. package/ui-dist/assets/{graph-rdRwl3us.js → graph-B1-dUGRC.js} +1 -1
  200. package/ui-dist/assets/{index-B2jHUYti.js → index-BFmYzGL9.js} +1 -1
  201. package/ui-dist/assets/{index-DBPJ49Cn.js → index-BGAEBJze.js} +1 -1
  202. package/ui-dist/assets/{index-NxbW73mN.js → index-BMfPEMCH.js} +1 -1
  203. package/ui-dist/assets/{index-CcLF8pix.js → index-BglV2AAc.js} +1 -1
  204. package/ui-dist/assets/{index-BzLCEJCf.js → index-Blix7pGb.js} +1 -1
  205. package/ui-dist/assets/{index-D5pdKmHf.js → index-CBrXXiQ_.js} +1 -1
  206. package/ui-dist/assets/{index-7Mb8iY3g.js → index-CSMCUMYP.js} +1 -1
  207. package/ui-dist/assets/index-CUW-AUBO.css +32 -0
  208. package/ui-dist/assets/{index-D3RtGD1i.js → index-CaveK_TY.js} +1 -1
  209. package/ui-dist/assets/{index-CtFA44ZZ.js → index-DHcvu8nk.js} +1 -1
  210. package/ui-dist/assets/{index-CuP2P51w.js → index-DSz4Tjbh.js} +1 -1
  211. package/ui-dist/assets/{index-Bi7KPtJ3.js → index-DgNZ8Oto.js} +1 -1
  212. package/ui-dist/assets/{index-C2DKaTLo.js → index-Drmy6GaQ.js} +1 -1
  213. package/ui-dist/assets/{index-CbEMZXO1.js → index-DvrowL98.js} +1 -1
  214. package/ui-dist/assets/{index-CY1CWc3h.js → index-DxHCQu-4.js} +1 -1
  215. package/ui-dist/assets/{index-s8ZAOPE2.js → index-IJhIHwGp.js} +641 -641
  216. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-Cun6yrS9.js → infoDiagram-FWYZ7A6U-BJ7smuOx.js} +1 -1
  217. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-SHuCvm_3.js → ishikawaDiagram-FXEZZL3T-Bn7jPYRy.js} +1 -1
  218. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-B2oa-ovF.js → journeyDiagram-5HDEW3XC-D5NYECBN.js} +1 -1
  219. package/ui-dist/assets/{kanban-definition-HUTT4EX6-DtG3RFW0.js → kanban-definition-HUTT4EX6-CcrYvDYt.js} +1 -1
  220. package/ui-dist/assets/{layout-DmSY_WKW.js → layout-32M7EWAw.js} +1 -1
  221. package/ui-dist/assets/{linear-BiklTv-9.js → linear-DT9kJUfH.js} +1 -1
  222. package/ui-dist/assets/{map-B3RAMPoy.js → map-C2crE4Bv.js} +1 -1
  223. package/ui-dist/assets/{mermaid.core-CQj0CvWy.js → mermaid.core-B9y8ebhy.js} +4 -4
  224. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-BQrncLdk.js → mindmap-definition-LN4V7U3C-CaFsY4LT.js} +1 -1
  225. package/ui-dist/assets/{pegDiagram-2B236MQR-BmkmBhyS.js → pegDiagram-2B236MQR-BMTtqHzV.js} +1 -1
  226. package/ui-dist/assets/{pieDiagram-ENE6RG2P-B0dWJser.js → pieDiagram-ENE6RG2P-DRl32AMI.js} +1 -1
  227. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-RS2o06NX.js → quadrantDiagram-ABIIQ3AL-pXeC4qE5.js} +1 -1
  228. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-B4dlWUnB.js → railroadDiagram-RFXS5EU6-tGzWZNPI.js} +1 -1
  229. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-7M1vICZA.js → requirementDiagram-TGXJPOKE-DEqEN1a0.js} +1 -1
  230. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-LUpZrugG.js → sankeyDiagram-HTMAVEWB-DjVDCNO4.js} +1 -1
  231. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-DB4ecUEg.js → sequenceDiagram-DBY2YBRQ-CRKMhKhd.js} +1 -1
  232. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-CgLQGkEa.js → sizeCapture-X5ZJPWSS-CWl0gYed.js} +1 -1
  233. package/ui-dist/assets/{stateDiagram-2N3HPSRC-BxLcsZg0.js → stateDiagram-2N3HPSRC-BH6FVEBD.js} +1 -1
  234. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DFWkP3y3.js +1 -0
  235. package/ui-dist/assets/{swimlanes-5IMT3BWC-CFoyzQNM.js → swimlanes-5IMT3BWC-BZdn1cQ5.js} +2 -2
  236. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BwA91U1K.js +8 -0
  237. package/ui-dist/assets/{timeline-definition-FHXFAJF6-C1vajCzY.js → timeline-definition-FHXFAJF6-CMofE9DN.js} +1 -1
  238. package/ui-dist/assets/{vennDiagram-L72KCM5P-C42rETOq.js → vennDiagram-L72KCM5P-CszussGd.js} +1 -1
  239. package/ui-dist/assets/{wardleyDiagram-EHGQE667-BgzD6-QL.js → wardleyDiagram-EHGQE667-C1Op8a5q.js} +1 -1
  240. package/ui-dist/assets/{xterm-BeBaISmm.js → xterm-BM41mI-I.js} +1 -1
  241. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BdoJT_55.js → xychartDiagram-FW5EYKEG-zi-IHNrX.js} +1 -1
  242. package/ui-dist/index.html +11 -7
  243. package/ui-dist/assets/channel-C3jj6nd_.js +0 -1
  244. package/ui-dist/assets/classDiagram-OUVF2IWQ-CNsW5NoJ.js +0 -1
  245. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CNsW5NoJ.js +0 -1
  246. package/ui-dist/assets/index-CYaeM_68.css +0 -32
  247. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DAlIlXqa.js +0 -1
  248. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DXfnihCA.js +0 -8
@@ -0,0 +1,170 @@
1
+ import { resolveNativeCommand } from "@rudderhq/agent-runtime-utils";
2
+ import { execFile } from "node:child_process";
3
+ import { existsSync, promises as fs } from "node:fs";
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
+ const execFileAsync = promisify(execFile);
9
+ const PROTOCOL_VERSION = 1;
10
+ // HTTP accepts a 10 MiB compressed ZIP; PLUGIN.IMPORT.001 allows 100 MiB after expansion.
11
+ const MAX_ARCHIVE_BYTES = 10 * 1024 * 1024;
12
+ const MAX_PLUGIN_BYTES = 100 * 1024 * 1024;
13
+ const MAX_FILE_BYTES = 2 * 1024 * 1024;
14
+ const MAX_FILES = 500;
15
+ const MAX_EXPANSION_RATIO = 100;
16
+ const MAX_OUTPUT_BYTES = 170 * 1024 * 1024;
17
+ const DEFAULT_TIMEOUT_MS = 30_000;
18
+ const INPUT_ERROR_CODES = new Set([
19
+ "plugin_archive_size_limit",
20
+ "plugin_archive_invalid",
21
+ "plugin_archive_path_invalid",
22
+ "plugin_archive_path_unsafe",
23
+ "plugin_archive_file_count_limit",
24
+ "plugin_archive_file_size_limit",
25
+ "plugin_archive_expansion_limit",
26
+ "plugin_archive_total_size_limit",
27
+ "plugin_archive_duplicate_path",
28
+ "plugin_archive_size_mismatch",
29
+ "plugin_archive_read_failed",
30
+ "plugin_archive_empty",
31
+ ]);
32
+ export class PluginArchiveNativeError extends Error {
33
+ code;
34
+ fallbackAllowed;
35
+ inputRejected;
36
+ constructor(code, fallbackAllowed, inputRejected) {
37
+ super(`Native Plugin archive inspection failed: ${code}`);
38
+ this.code = code;
39
+ this.fallbackAllowed = fallbackAllowed;
40
+ this.inputRejected = inputRejected;
41
+ }
42
+ }
43
+ function decodeBase64(value) {
44
+ const compact = value.replace(/\s/g, "");
45
+ if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(compact)) {
46
+ throw new PluginArchiveNativeError("plugin_archive_base64_invalid", false, true);
47
+ }
48
+ return Buffer.from(compact, "base64");
49
+ }
50
+ export function resolveNativePluginArchiveBinary() {
51
+ const configured = process.env.RUDDER_NATIVE_PLUGIN_ARCHIVE_PATH?.trim()
52
+ || process.env.RUDDER_NATIVE_ARCHIVE_PATH?.trim();
53
+ if (configured)
54
+ return path.resolve(configured);
55
+ const binaryName = process.platform === "win32" ? "rudder-native.exe" : "rudder-native";
56
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
57
+ const target = process.platform === "darwin"
58
+ ? `${process.arch === "arm64" ? "aarch64" : "x86_64"}-apple-darwin`
59
+ : process.platform === "win32"
60
+ ? `${process.arch === "arm64" ? "aarch64" : "x86_64"}-pc-windows-msvc`
61
+ : `${process.arch === "arm64" ? "aarch64" : "x86_64"}-unknown-linux-gnu`;
62
+ const resourcesPath = process.env.RUDDER_DESKTOP_RESOURCES_PATH?.trim()
63
+ || (typeof process.resourcesPath === "string"
64
+ ? process.resourcesPath
65
+ : "");
66
+ const candidates = [
67
+ path.resolve(moduleDir, "../../../native/target/debug", binaryName),
68
+ path.resolve(moduleDir, "../../../../native/target/debug", binaryName),
69
+ path.resolve(moduleDir, "../../../native", target, binaryName),
70
+ resourcesPath ? path.resolve(resourcesPath, "native", target, binaryName) : "",
71
+ ].filter(Boolean);
72
+ return candidates.find((candidate) => existsSync(candidate)) ?? candidates[0];
73
+ }
74
+ function timeoutMs() {
75
+ const configured = Number(process.env.RUDDER_NATIVE_PLUGIN_ARCHIVE_TIMEOUT_MS ?? DEFAULT_TIMEOUT_MS);
76
+ return Number.isFinite(configured) ? Math.max(10, Math.min(DEFAULT_TIMEOUT_MS, Math.floor(configured))) : DEFAULT_TIMEOUT_MS;
77
+ }
78
+ function parseFiles(response) {
79
+ if (response.ok !== true
80
+ || response.operation !== "inspectPluginArchive"
81
+ || response.protocolVersion !== PROTOCOL_VERSION
82
+ || !Array.isArray(response.files)) {
83
+ throw new PluginArchiveNativeError("plugin_archive_envelope_mismatch", true, false);
84
+ }
85
+ return response.files.map((file) => {
86
+ if (!file || typeof file !== "object" || Array.isArray(file)) {
87
+ throw new PluginArchiveNativeError("plugin_archive_file_envelope_invalid", true, false);
88
+ }
89
+ const record = file;
90
+ if (typeof record.path !== "string" || typeof record.content !== "string" || record.encoding !== "base64") {
91
+ throw new PluginArchiveNativeError("plugin_archive_file_envelope_invalid", true, false);
92
+ }
93
+ return { path: record.path, content: record.content, encoding: "base64" };
94
+ });
95
+ }
96
+ export async function inspectPluginArchiveNative(input, signal) {
97
+ const archive = decodeBase64(input.content);
98
+ if (archive.byteLength > MAX_ARCHIVE_BYTES) {
99
+ throw new PluginArchiveNativeError("plugin_archive_size_limit", false, true);
100
+ }
101
+ const staging = await fs.mkdtemp(path.join(os.tmpdir(), "rudder-plugin-archive-"));
102
+ const archivePath = path.join(staging, "input.zip");
103
+ try {
104
+ await fs.writeFile(archivePath, archive);
105
+ const command = resolveNativeCommand(resolveNativePluginArchiveBinary(), [
106
+ "plugin",
107
+ "inspect-archive",
108
+ archivePath,
109
+ String(MAX_ARCHIVE_BYTES),
110
+ String(MAX_FILE_BYTES),
111
+ String(MAX_PLUGIN_BYTES),
112
+ String(MAX_FILES),
113
+ String(MAX_EXPANSION_RATIO),
114
+ ]);
115
+ let stdout;
116
+ let stderr;
117
+ try {
118
+ const result = await execFileAsync(command.command, command.args, {
119
+ encoding: "utf8",
120
+ timeout: timeoutMs(),
121
+ maxBuffer: MAX_OUTPUT_BYTES,
122
+ windowsHide: true,
123
+ signal,
124
+ });
125
+ stdout = result.stdout;
126
+ stderr = result.stderr;
127
+ }
128
+ catch (error) {
129
+ const details = error;
130
+ const output = typeof details.stdout === "string" ? details.stdout : "";
131
+ const lines = output.trim().split(/\r?\n/).filter(Boolean);
132
+ if (lines.length === 1) {
133
+ try {
134
+ const parsed = JSON.parse(lines[0]);
135
+ if (typeof parsed.errorCode === "string") {
136
+ const inputRejected = INPUT_ERROR_CODES.has(parsed.errorCode);
137
+ throw new PluginArchiveNativeError(parsed.errorCode, !inputRejected, inputRejected);
138
+ }
139
+ }
140
+ catch (parsedError) {
141
+ if (parsedError instanceof PluginArchiveNativeError)
142
+ throw parsedError;
143
+ }
144
+ }
145
+ if (details.name === "AbortError")
146
+ throw new PluginArchiveNativeError("plugin_archive_cancelled", false, false);
147
+ if (details.killed || details.signal === "SIGTERM" || details.code === "ETIMEDOUT") {
148
+ throw new PluginArchiveNativeError("plugin_archive_timeout", true, false);
149
+ }
150
+ throw new PluginArchiveNativeError("plugin_archive_process_failed", true, false);
151
+ }
152
+ if (stderr.trim())
153
+ throw new PluginArchiveNativeError("plugin_archive_unexpected_stderr", true, false);
154
+ const lines = stdout.trim().split(/\r?\n/).filter(Boolean);
155
+ if (lines.length !== 1)
156
+ throw new PluginArchiveNativeError("plugin_archive_response_line_count", true, false);
157
+ let response;
158
+ try {
159
+ response = JSON.parse(lines[0]);
160
+ }
161
+ catch {
162
+ throw new PluginArchiveNativeError("plugin_archive_malformed_json", true, false);
163
+ }
164
+ return parseFiles(response);
165
+ }
166
+ finally {
167
+ await fs.rm(staging, { recursive: true, force: true });
168
+ }
169
+ }
170
+ //# sourceMappingURL=plugin-archive-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-archive-native.js","sourceRoot":"","sources":["../../src/services/plugin-archive-native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RudderPluginPackageFileInput } from "@rudderhq/shared";
2
+ export declare function unzipPluginPackageNode(content: string, label: string, stripPluginRoot: boolean): RudderPluginPackageFileInput[];
3
+ //# sourceMappingURL=plugin-archive-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-archive-node.d.ts","sourceRoot":"","sources":["../../src/services/plugin-archive-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAmBrE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,4BAA4B,EAAE,CAuE/H"}
@@ -0,0 +1,97 @@
1
+ import { Unzip, UnzipInflate, UnzipPassThrough } from "fflate";
2
+ import { unprocessable } from "../errors.js";
3
+ // HTTP accepts a 10 MiB compressed ZIP; PLUGIN.IMPORT.001 allows 100 MiB after expansion.
4
+ const MAX_ARCHIVE_BYTES = 10 * 1024 * 1024;
5
+ const MAX_PLUGIN_BYTES = 100 * 1024 * 1024;
6
+ const MAX_FILE_BYTES = 2 * 1024 * 1024;
7
+ const MAX_PATH_CHARS = 1_024;
8
+ const MAX_ARCHIVE_RATIO = 100;
9
+ function decodeBase64(value, label) {
10
+ const compact = value.replace(/\s/g, "");
11
+ if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(compact)) {
12
+ throw unprocessable(`Invalid base64 content for ${label}`);
13
+ }
14
+ return Buffer.from(compact, "base64");
15
+ }
16
+ export function unzipPluginPackageNode(content, label, stripPluginRoot) {
17
+ const archive = decodeBase64(content, label);
18
+ if (archive.byteLength > MAX_ARCHIVE_BYTES)
19
+ throw unprocessable("Plugin archive exceeds the 10 MiB transport limit");
20
+ const files = [];
21
+ let totalBytes = 0;
22
+ let failure = null;
23
+ const unzip = new Unzip((file) => {
24
+ if (failure || file.name.endsWith("/"))
25
+ return;
26
+ if (Array.from(file.name).length > MAX_PATH_CHARS || /[\u0000-\u001f\u007f-\u009f]/u.test(file.name)) {
27
+ failure = new Error(`Plugin archive path is invalid: ${file.name}`);
28
+ file.terminate();
29
+ return;
30
+ }
31
+ if (files.length >= 500) {
32
+ failure = new Error("Plugin archive exceeds the 500-file V1 limit");
33
+ file.terminate();
34
+ return;
35
+ }
36
+ if (file.originalSize !== undefined && file.originalSize > MAX_FILE_BYTES) {
37
+ failure = new Error(`Plugin archive entry exceeds 2 MiB: ${file.name}`);
38
+ file.terminate();
39
+ return;
40
+ }
41
+ if (file.size && file.originalSize && file.originalSize / file.size > MAX_ARCHIVE_RATIO) {
42
+ failure = new Error(`Plugin archive entry exceeds the ${MAX_ARCHIVE_RATIO}:1 expansion limit: ${file.name}`);
43
+ file.terminate();
44
+ return;
45
+ }
46
+ const chunks = [];
47
+ let entryBytes = 0;
48
+ file.ondata = (error, data, final) => {
49
+ if (failure)
50
+ return;
51
+ if (error) {
52
+ failure = error;
53
+ return;
54
+ }
55
+ entryBytes += data.byteLength;
56
+ totalBytes += data.byteLength;
57
+ if (entryBytes > MAX_FILE_BYTES || totalBytes > MAX_PLUGIN_BYTES) {
58
+ failure = new Error(entryBytes > MAX_FILE_BYTES
59
+ ? `Plugin archive entry exceeds 2 MiB: ${file.name}`
60
+ : "Plugin archive exceeds the 100 MiB expansion limit");
61
+ file.terminate();
62
+ return;
63
+ }
64
+ chunks.push(Buffer.from(data));
65
+ if (final) {
66
+ files.push({ path: file.name, content: Buffer.concat(chunks).toString("base64"), encoding: "base64" });
67
+ }
68
+ };
69
+ file.start();
70
+ });
71
+ unzip.register(UnzipInflate);
72
+ unzip.register(UnzipPassThrough);
73
+ try {
74
+ unzip.push(archive, true);
75
+ }
76
+ catch (error) {
77
+ throw unprocessable(`Invalid ZIP Plugin archive: ${error instanceof Error ? error.message : String(error)}`);
78
+ }
79
+ const archiveFailure = failure;
80
+ if (archiveFailure)
81
+ throw unprocessable(archiveFailure.message);
82
+ if (files.length === 0)
83
+ throw unprocessable("Invalid ZIP Plugin archive: archive contains no files");
84
+ if (totalBytes > archive.byteLength * MAX_ARCHIVE_RATIO) {
85
+ throw unprocessable(`Plugin archive exceeds the ${MAX_ARCHIVE_RATIO}:1 expansion limit`);
86
+ }
87
+ if (!stripPluginRoot || files.some((file) => file.path === ".codex-plugin/plugin.json"))
88
+ return files;
89
+ const manifests = files.filter((file) => file.path.endsWith("/.codex-plugin/plugin.json"));
90
+ if (manifests.length !== 1)
91
+ return files;
92
+ const prefix = manifests[0].path.slice(0, -".codex-plugin/plugin.json".length);
93
+ if (!files.every((file) => file.path.startsWith(prefix)))
94
+ return files;
95
+ return files.map((file) => ({ ...file, path: file.path.slice(prefix.length) }));
96
+ }
97
+ //# sourceMappingURL=plugin-archive-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-archive-node.js","sourceRoot":"","sources":["../../src/services/plugin-archive-node.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,11 @@ describe("product analytics collector", () => {
58
58
  it("rejects a conflicting event id instead of overwriting the first payload", () => {
59
59
  const collector = createCollector();
60
60
  collector.ingestBatch({ authorization, events: [event()] });
61
- const result = collector.ingestBatch({ authorization, events: [event({ properties: { work_surface: "chat" } })] });
61
+ const result = collector.ingestBatch({
62
+ authorization,
63
+ events: [event({ properties: { work_surface: "chat" } })],
64
+ now: new Date("2026-08-03T00:00:00.000Z"),
65
+ });
62
66
  expect(result.rejected).toEqual([{ eventId, status: "rejected", errorCode: "conflict", late: false }]);
63
67
  expect(collector.store.listEvents()[0]?.properties).toEqual({ work_surface: "issue", is_first_loop: true });
64
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"product-analytics-collector.test.js","sourceRoot":"","sources":["../../src/services/product-analytics-collector.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-analytics-collector.test.js","sourceRoot":"","sources":["../../src/services/product-analytics-collector.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rudder-plugin-catalog.d.ts","sourceRoot":"","sources":["../../src/services/rudder-plugin-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rudder-plugin-catalog.d.ts","sourceRoot":"","sources":["../../src/services/rudder-plugin-catalog.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@ import fs from "node:fs/promises";
6
6
  import path from "node:path";
7
7
  import { HttpError, notFound, unprocessable } from "../errors.js";
8
8
  import { resolveRudderInstanceRoot } from "../home-paths.js";
9
- import { MAX_PLUGIN_PACKAGE_BYTES, MAX_PLUGIN_PACKAGE_MIB, rudderPluginService, } from "./rudder-plugins.js";
9
+ import { rudderPluginService } from "./rudder-plugins.js";
10
10
  const DEFAULT_CATALOG_URL = "https://raw.githubusercontent.com/Undertone0809/rudder-plugins/main/catalog.json";
11
11
  const MAX_FILES = 500;
12
12
  const MAX_FILE_BYTES = 2 * 1024 * 1024;
13
+ const MAX_TOTAL_BYTES = 10 * 1024 * 1024;
13
14
  const FETCH_CONCURRENCY = 12;
14
15
  const MAX_REDIRECTS = 3;
15
16
  const CATALOG_DEGRADED_VISIBILITY_MS = 30_000;
@@ -533,9 +534,8 @@ function safePackageEntries(tree, subdirectory) {
533
534
  if (size > MAX_FILE_BYTES)
534
535
  throw unprocessable(`Plugin file exceeds 2 MiB: ${relativePath}`);
535
536
  total += size;
536
- if (total > MAX_PLUGIN_PACKAGE_BYTES) {
537
- throw unprocessable(`Plugin package exceeds the ${MAX_PLUGIN_PACKAGE_MIB} MiB safety limit`);
538
- }
537
+ if (total > MAX_TOTAL_BYTES)
538
+ throw unprocessable("Plugin package exceeds the 10 MiB V1 limit");
539
539
  }
540
540
  return entries;
541
541
  }
@@ -599,13 +599,12 @@ async function fetchGitHubArchiveFiles(fetcher, resolution) {
599
599
  if (!response.ok)
600
600
  throw unprocessable(`GitHub archive returned HTTP ${response.status}`);
601
601
  const contentLength = Number(response.headers.get("content-length") ?? 0);
602
- if (Number.isFinite(contentLength) && contentLength > MAX_PLUGIN_PACKAGE_BYTES) {
603
- throw unprocessable(`Plugin archive exceeds the ${MAX_PLUGIN_PACKAGE_MIB} MiB safety limit`);
602
+ if (Number.isFinite(contentLength) && contentLength > MAX_TOTAL_BYTES) {
603
+ throw unprocessable("Plugin archive exceeds the 10 MiB V1 limit");
604
604
  }
605
605
  const archive = Buffer.from(await response.arrayBuffer());
606
- if (archive.byteLength > MAX_PLUGIN_PACKAGE_BYTES) {
607
- throw unprocessable(`Plugin archive exceeds the ${MAX_PLUGIN_PACKAGE_MIB} MiB safety limit`);
608
- }
606
+ if (archive.byteLength > MAX_TOTAL_BYTES)
607
+ throw unprocessable("Plugin archive exceeds the 10 MiB V1 limit");
609
608
  const tree = [];
610
609
  const files = [];
611
610
  const folded = new Set();
@@ -677,10 +676,10 @@ async function fetchGitHubArchiveFiles(fetcher, resolution) {
677
676
  }
678
677
  entryBytes += data.byteLength;
679
678
  totalBytes += data.byteLength;
680
- if (entryBytes > MAX_FILE_BYTES || totalBytes > MAX_PLUGIN_PACKAGE_BYTES) {
679
+ if (entryBytes > MAX_FILE_BYTES || totalBytes > MAX_TOTAL_BYTES) {
681
680
  failure = new Error(entryBytes > MAX_FILE_BYTES
682
681
  ? `Plugin file exceeds 2 MiB: ${normalized}`
683
- : `Plugin package exceeds the ${MAX_PLUGIN_PACKAGE_MIB} MiB safety limit`);
682
+ : "Plugin package exceeds the 10 MiB V1 limit");
684
683
  file.terminate();
685
684
  return;
686
685
  }