@rudderhq/server 0.7.2 → 0.7.3

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 (428) 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 +20 -4
  14. package/dist/bootstrap/register-api-routes.js.map +1 -1
  15. package/dist/middleware/logger.js +2 -2
  16. package/dist/middleware/logger.js.map +1 -1
  17. package/dist/middleware/logger.test.js +26 -10
  18. package/dist/middleware/logger.test.js.map +1 -1
  19. package/dist/routes/agent-issue-creation.d.ts +25 -0
  20. package/dist/routes/agent-issue-creation.d.ts.map +1 -0
  21. package/dist/routes/agent-issue-creation.js +201 -0
  22. package/dist/routes/agent-issue-creation.js.map +1 -0
  23. package/dist/routes/app-builder.d.ts +3 -1
  24. package/dist/routes/app-builder.d.ts.map +1 -1
  25. package/dist/routes/app-builder.js +31 -11
  26. package/dist/routes/app-builder.js.map +1 -1
  27. package/dist/routes/computer.d.ts +30 -0
  28. package/dist/routes/computer.d.ts.map +1 -0
  29. package/dist/routes/computer.js +231 -0
  30. package/dist/routes/computer.js.map +1 -0
  31. package/dist/routes/health.d.ts.map +1 -1
  32. package/dist/routes/health.js +2 -0
  33. package/dist/routes/health.js.map +1 -1
  34. package/dist/routes/instance-settings.d.ts.map +1 -1
  35. package/dist/routes/instance-settings.js +3 -0
  36. package/dist/routes/instance-settings.js.map +1 -1
  37. package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
  38. package/dist/routes/issues.comments-attachments.js +90 -8
  39. package/dist/routes/issues.comments-attachments.js.map +1 -1
  40. package/dist/routes/issues.d.ts.map +1 -1
  41. package/dist/routes/issues.js +12 -1
  42. package/dist/routes/issues.js.map +1 -1
  43. package/dist/routes/issues.mutations.d.ts.map +1 -1
  44. package/dist/routes/issues.mutations.js +85 -33
  45. package/dist/routes/issues.mutations.js.map +1 -1
  46. package/dist/routes/managed-mcp-runtime.d.ts.map +1 -1
  47. package/dist/routes/managed-mcp-runtime.js +109 -7
  48. package/dist/routes/managed-mcp-runtime.js.map +1 -1
  49. package/dist/routes/rudder-plugins.d.ts +4 -0
  50. package/dist/routes/rudder-plugins.d.ts.map +1 -0
  51. package/dist/routes/rudder-plugins.js +213 -0
  52. package/dist/routes/rudder-plugins.js.map +1 -0
  53. package/dist/services/activity-log.d.ts +0 -3
  54. package/dist/services/activity-log.d.ts.map +1 -1
  55. package/dist/services/activity-log.js +0 -33
  56. package/dist/services/activity-log.js.map +1 -1
  57. package/dist/services/activity.d.ts +3 -3
  58. package/dist/services/agent-issue-creation.d.ts +344 -0
  59. package/dist/services/agent-issue-creation.d.ts.map +1 -0
  60. package/dist/services/agent-issue-creation.js +675 -0
  61. package/dist/services/agent-issue-creation.js.map +1 -0
  62. package/dist/services/agent-run-context.d.ts.map +1 -1
  63. package/dist/services/agent-run-context.js +13 -2
  64. package/dist/services/agent-run-context.js.map +1 -1
  65. package/dist/services/app-builder.d.ts.map +1 -1
  66. package/dist/services/app-builder.js +24 -3
  67. package/dist/services/app-builder.js.map +1 -1
  68. package/dist/services/chat-assistant.d.ts.map +1 -1
  69. package/dist/services/chat-assistant.helpers.d.ts +1 -1
  70. package/dist/services/chat-assistant.js +11 -2
  71. package/dist/services/chat-assistant.js.map +1 -1
  72. package/dist/services/chat-generation-protocol.test.js +2 -2
  73. package/dist/services/chat-generation-protocol.test.js.map +1 -1
  74. package/dist/services/chats.d.ts +2 -2
  75. package/dist/services/computer-broker.d.ts +35 -0
  76. package/dist/services/computer-broker.d.ts.map +1 -0
  77. package/dist/services/computer-broker.js +211 -0
  78. package/dist/services/computer-broker.js.map +1 -0
  79. package/dist/services/computer-broker.test.d.ts +2 -0
  80. package/dist/services/computer-broker.test.d.ts.map +1 -0
  81. package/dist/services/computer-broker.test.js +70 -0
  82. package/dist/services/computer-broker.test.js.map +1 -0
  83. package/dist/services/computer-capability.d.ts +13 -0
  84. package/dist/services/computer-capability.d.ts.map +1 -0
  85. package/dist/services/computer-capability.js +11 -0
  86. package/dist/services/computer-capability.js.map +1 -0
  87. package/dist/services/computer-capability.test.d.ts +2 -0
  88. package/dist/services/computer-capability.test.d.ts.map +1 -0
  89. package/dist/services/computer-capability.test.js +27 -0
  90. package/dist/services/computer-capability.test.js.map +1 -0
  91. package/dist/services/finance.d.ts +1 -1
  92. package/dist/services/index.d.ts +2 -0
  93. package/dist/services/index.d.ts.map +1 -1
  94. package/dist/services/index.js +2 -0
  95. package/dist/services/index.js.map +1 -1
  96. package/dist/services/instance-settings.d.ts.map +1 -1
  97. package/dist/services/instance-settings.js +15 -2
  98. package/dist/services/instance-settings.js.map +1 -1
  99. package/dist/services/integrations/agent-integrations.d.ts +1 -1
  100. package/dist/services/issues.d.ts +86 -1
  101. package/dist/services/issues.d.ts.map +1 -1
  102. package/dist/services/issues.helpers.d.ts +4 -0
  103. package/dist/services/issues.helpers.d.ts.map +1 -1
  104. package/dist/services/issues.helpers.js +28 -6
  105. package/dist/services/issues.helpers.js.map +1 -1
  106. package/dist/services/issues.js +207 -127
  107. package/dist/services/issues.js.map +1 -1
  108. package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -1
  109. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +7 -1
  110. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
  111. package/dist/services/knowledge-portability/organization-skills.catalog.js +10 -0
  112. package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
  113. package/dist/services/knowledge-portability/organization-skills.d.ts +1 -0
  114. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  115. package/dist/services/knowledge-portability/organization-skills.js +36 -3
  116. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  117. package/dist/services/mcp/managed-bindings.d.ts +3 -1
  118. package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
  119. package/dist/services/mcp/managed-bindings.js +20 -3
  120. package/dist/services/mcp/managed-bindings.js.map +1 -1
  121. package/dist/services/mcp/managed-client.d.ts +15 -0
  122. package/dist/services/mcp/managed-client.d.ts.map +1 -1
  123. package/dist/services/mcp/managed-client.js +23 -1
  124. package/dist/services/mcp/managed-client.js.map +1 -1
  125. package/dist/services/mcp/managed-client.test.js +73 -9
  126. package/dist/services/mcp/managed-client.test.js.map +1 -1
  127. package/dist/services/messenger.d.ts +2 -2
  128. package/dist/services/messenger.d.ts.map +1 -1
  129. package/dist/services/messenger.js +126 -49
  130. package/dist/services/messenger.js.map +1 -1
  131. package/dist/services/product-analytics.d.ts +1 -1
  132. package/dist/services/rudder-plugins.d.ts +107 -0
  133. package/dist/services/rudder-plugins.d.ts.map +1 -0
  134. package/dist/services/rudder-plugins.js +1746 -0
  135. package/dist/services/rudder-plugins.js.map +1 -0
  136. package/dist/services/rudder-plugins.test.d.ts +2 -0
  137. package/dist/services/rudder-plugins.test.d.ts.map +1 -0
  138. package/dist/services/rudder-plugins.test.js +191 -0
  139. package/dist/services/rudder-plugins.test.js.map +1 -0
  140. package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
  141. package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
  142. package/dist/services/runtime-kernel/heartbeat.core.js +1 -1
  143. package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
  144. package/dist/services/runtime-kernel/heartbeat.d.ts +53 -0
  145. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  146. package/dist/services/runtime-kernel/heartbeat.js +227 -107
  147. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  148. package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
  149. package/dist/services/runtime-kernel/heartbeat.recovery.js +23 -2
  150. package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
  151. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +14 -1
  152. package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
  153. package/dist/services/runtime-kernel/heartbeat.terminal.js +31 -0
  154. package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
  155. package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
  156. package/dist/services/runtime-kernel/heartbeat.wakeup.js +35 -3
  157. package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
  158. package/package.json +18 -18
  159. package/resources/bundled-skills/app-builder/SKILL.md +39 -9
  160. package/resources/bundled-skills/app-builder/assets/scaffold/app/globals.css +109 -16
  161. package/resources/bundled-skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  162. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  163. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  164. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  165. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  166. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  167. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  168. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  169. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  170. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  171. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  172. package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  173. package/resources/bundled-skills/app-builder/assets/scaffold/components.json +20 -0
  174. package/resources/bundled-skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  175. package/resources/bundled-skills/app-builder/assets/scaffold/next.config.ts +19 -0
  176. package/resources/bundled-skills/app-builder/assets/scaffold/package.json +2 -1
  177. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  178. package/resources/bundled-skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  179. package/resources/bundled-skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  180. package/resources/bundled-skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  181. package/resources/bundled-skills/app-builder/evals/evals.json +2 -1
  182. package/resources/bundled-skills/app-builder/references/design-guidelines.md +19 -2
  183. package/resources/bundled-skills/app-builder/references/rudder-ui-preset.md +73 -0
  184. package/resources/bundled-skills/app-builder/references/scaffold-contract.md +12 -0
  185. package/resources/bundled-skills/app-builder/references/verification.md +6 -0
  186. package/resources/bundled-skills/app-builder/scripts/report-build-status.mjs +83 -0
  187. package/resources/bundled-skills/rudder-docs/SKILL.md +2 -2
  188. package/resources/bundled-skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  189. package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +2 -2
  190. package/resources/bundled-skills/rudder-docs/references/api-reference.md +0 -2
  191. package/resources/bundled-skills/rudder-docs/references/plugin-authoring.md +38 -114
  192. package/resources/bundled-skills/rudder-docs/references/source-map.md +2 -0
  193. package/skills/app-builder/SKILL.md +39 -9
  194. package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
  195. package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
  196. package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
  197. package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
  198. package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
  199. package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
  200. package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
  201. package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
  202. package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
  203. package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
  204. package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
  205. package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
  206. package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
  207. package/skills/app-builder/assets/scaffold/components.json +20 -0
  208. package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
  209. package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
  210. package/skills/app-builder/assets/scaffold/package.json +2 -1
  211. package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
  212. package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
  213. package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
  214. package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
  215. package/skills/app-builder/evals/evals.json +2 -1
  216. package/skills/app-builder/references/design-guidelines.md +19 -2
  217. package/skills/app-builder/references/rudder-ui-preset.md +73 -0
  218. package/skills/app-builder/references/scaffold-contract.md +12 -0
  219. package/skills/app-builder/references/verification.md +6 -0
  220. package/skills/app-builder/scripts/report-build-status.mjs +83 -0
  221. package/skills/rudder-docs/SKILL.md +2 -2
  222. package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
  223. package/skills/rudder-docs/evals/trigger-evals.json +2 -2
  224. package/skills/rudder-docs/references/api-reference.md +0 -2
  225. package/skills/rudder-docs/references/plugin-authoring.md +38 -114
  226. package/skills/rudder-docs/references/source-map.md +2 -0
  227. package/ui-dist/assets/{LibraryLiveSurface-cHCJmmsl.js → LibraryLiveSurface-CoGcDfo0.js} +1 -1
  228. package/ui-dist/assets/{abnfDiagram-VRR7QNED-BORJvkew.js → abnfDiagram-VRR7QNED-BnPHHNfu.js} +1 -1
  229. package/ui-dist/assets/{arc-DPUzhx87.js → arc-CAvqQQR_.js} +1 -1
  230. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-Bz_hY8LM.js → architectureDiagram-ZJ3FMSHR-DDa31YAK.js} +1 -1
  231. package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bq1X3YkP.js → blockDiagram-677ZJIJ3-DDXLU9Ej.js} +1 -1
  232. package/ui-dist/assets/{c4Diagram-LMCZKHZV-BawEM9Pc.js → c4Diagram-LMCZKHZV-zEm0rHCp.js} +1 -1
  233. package/ui-dist/assets/channel-M_3GhwHQ.js +1 -0
  234. package/ui-dist/assets/{chunk-2Q5K7J3B-D0D5ZOaA.js → chunk-2Q5K7J3B-y1Rw45sz.js} +1 -1
  235. package/ui-dist/assets/{chunk-32BRIVSS-T90P7lug.js → chunk-32BRIVSS-Cq8cQBba.js} +1 -1
  236. package/ui-dist/assets/{chunk-5VM5RSS4-jcAERTgh.js → chunk-5VM5RSS4-CjQA6jGI.js} +1 -1
  237. package/ui-dist/assets/{chunk-EX3LRPZG-t9-JXwnR.js → chunk-EX3LRPZG-VVYt7jh3.js} +1 -1
  238. package/ui-dist/assets/{chunk-JWPE2WC7-hqgD1saC.js → chunk-JWPE2WC7-BJC3ISop.js} +1 -1
  239. package/ui-dist/assets/{chunk-MOJQB5TN-BsSUoYzd.js → chunk-MOJQB5TN-ClZgTqQk.js} +1 -1
  240. package/ui-dist/assets/{chunk-RYQCIY6F-YcdDh2Zn.js → chunk-RYQCIY6F-DRei3pn2.js} +1 -1
  241. package/ui-dist/assets/{chunk-V7JOEXUC-ChFyH9Su.js → chunk-V7JOEXUC-BGWrQfpZ.js} +1 -1
  242. package/ui-dist/assets/{chunk-VR4S4FIN-BjVK8IyX.js → chunk-VR4S4FIN-BBYT57Lt.js} +1 -1
  243. package/ui-dist/assets/{chunk-XXDRQBXY-D-TvO9vT.js → chunk-XXDRQBXY-D7P4SoZB.js} +1 -1
  244. package/ui-dist/assets/classDiagram-OUVF2IWQ-G44FJFnB.js +1 -0
  245. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-G44FJFnB.js +1 -0
  246. package/ui-dist/assets/{cose-bilkent-JH36ORCC-DBwhASJG.js → cose-bilkent-JH36ORCC-mJXY7GQo.js} +1 -1
  247. package/ui-dist/assets/{cynefin-VYW2F7L2-SlCRmwl2.js → cynefin-VYW2F7L2-C-I_lPmH.js} +1 -1
  248. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DImV6N_p.js → cynefinDiagram-TSTJHNR4-Bm1S_w7H.js} +1 -1
  249. package/ui-dist/assets/{dagre-VKFMJZFB-FH4Wv8Zn.js → dagre-VKFMJZFB-BuPIm1AB.js} +1 -1
  250. package/ui-dist/assets/{diagram-FQU43EPY-CrZvQjId.js → diagram-FQU43EPY-DTBCuV0W.js} +1 -1
  251. package/ui-dist/assets/{diagram-G47NLZAW-B7IGl_T3.js → diagram-G47NLZAW-B4CK8uR2.js} +1 -1
  252. package/ui-dist/assets/{diagram-NH7WQ7WH-CB4i7H1a.js → diagram-NH7WQ7WH-BkbS0GkL.js} +1 -1
  253. package/ui-dist/assets/{diagram-OA4YK3LP-DNyWPYY9.js → diagram-OA4YK3LP-C_mkRe0c.js} +1 -1
  254. package/ui-dist/assets/{diagram-WEI45ONY-BAhxbhpi.js → diagram-WEI45ONY-CHUb3TIJ.js} +1 -1
  255. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-ClXtQ9qt.js → ebnfDiagram-CCIWWBDH-D_lN4ZOY.js} +1 -1
  256. package/ui-dist/assets/{erDiagram-Q63AITRT-DGXiMYfn.js → erDiagram-Q63AITRT-CRnDqcsy.js} +1 -1
  257. package/ui-dist/assets/{flowDiagram-23GEKE2U-CdZ-02zc.js → flowDiagram-23GEKE2U-ChELY-8y.js} +1 -1
  258. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-TxhzNpta.js → ganttDiagram-NO4QXBWP-QIML25-M.js} +1 -1
  259. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D6Q_w6wR.js → gitGraphDiagram-IHSO6WYX-TB_AKH8l.js} +1 -1
  260. package/ui-dist/assets/{graph-CxNmbpl9.js → graph-HKPvyYQ1.js} +1 -1
  261. package/ui-dist/assets/{index-C12QC1Ex.js → index-Ar0zIwom.js} +1 -1
  262. package/ui-dist/assets/{index-CW21qWFm.js → index-BeNxgoKd.js} +1 -1
  263. package/ui-dist/assets/{index-BujwWE3j.js → index-CB-UdrKN.js} +1 -1
  264. package/ui-dist/assets/{index-Cx6oIZPm.js → index-CfpFS1Tl.js} +555 -581
  265. package/ui-dist/assets/{index-C_nwI4Yj.js → index-CjIeIR2m.js} +1 -1
  266. package/ui-dist/assets/{index-Rau2cGm0.js → index-DCgbySwf.js} +1 -1
  267. package/ui-dist/assets/{index-Do78GymY.js → index-DDMaBNLI.js} +1 -1
  268. package/ui-dist/assets/{index-DU2LI7f9.js → index-DSZmO4bA.js} +1 -1
  269. package/ui-dist/assets/{index-BA9tMBhO.js → index-DfzFi2fx.js} +1 -1
  270. package/ui-dist/assets/{index-BoTz5S-X.js → index-DmEf_U5I.js} +1 -1
  271. package/ui-dist/assets/{index-kbWUQ1um.js → index-OfGDMJiA.js} +1 -1
  272. package/ui-dist/assets/{index-AkhgKOxC.js → index-ZzX8P4M5.js} +1 -1
  273. package/ui-dist/assets/{index-BQ87dGIq.js → index-fDtlbG8Y.js} +1 -1
  274. package/ui-dist/assets/{index-CXnqg1Oq.js → index-gdvFtffQ.js} +1 -1
  275. package/ui-dist/assets/index-noipz8bE.css +1 -0
  276. package/ui-dist/assets/{index-Bxz75ICF.js → index-rnOTiIXd.js} +1 -1
  277. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CnJd4-Jq.js → infoDiagram-FWYZ7A6U-DUR3sDTd.js} +1 -1
  278. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Bq-qc3pD.js → ishikawaDiagram-FXEZZL3T-CcnYT0s0.js} +1 -1
  279. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-NSmpUGUA.js → journeyDiagram-5HDEW3XC-CqfbG8T1.js} +1 -1
  280. package/ui-dist/assets/{kanban-definition-HUTT4EX6-D7pgWtfA.js → kanban-definition-HUTT4EX6-CYwQM9eR.js} +1 -1
  281. package/ui-dist/assets/{layout-BRuo6LWe.js → layout-B2IlJgLE.js} +1 -1
  282. package/ui-dist/assets/{linear-CkaWI9Nd.js → linear-CcEPcfbO.js} +1 -1
  283. package/ui-dist/assets/{map-CgA6tTpZ.js → map-Bmhfvlpu.js} +1 -1
  284. package/ui-dist/assets/{mermaid.core-DrXOt-P6.js → mermaid.core-T9Q0CuQx.js} +4 -4
  285. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-D9ImeWBe.js → mindmap-definition-LN4V7U3C-CRjQlwN4.js} +1 -1
  286. package/ui-dist/assets/{pegDiagram-2B236MQR-Cq-zZ_zz.js → pegDiagram-2B236MQR-DenccdY8.js} +1 -1
  287. package/ui-dist/assets/{pieDiagram-ENE6RG2P-FgNgy726.js → pieDiagram-ENE6RG2P-CPiTrJcY.js} +1 -1
  288. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-BxQbmGmi.js → quadrantDiagram-ABIIQ3AL-fKbvGl_-.js} +1 -1
  289. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-CrpbkPH2.js → railroadDiagram-RFXS5EU6-D6uOjEmA.js} +1 -1
  290. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-DQ-65ZW6.js → requirementDiagram-TGXJPOKE-CQIQ387O.js} +1 -1
  291. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Bom0lMZm.js → sankeyDiagram-HTMAVEWB-CKrnONJL.js} +1 -1
  292. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-C1MSDLDj.js → sequenceDiagram-DBY2YBRQ-C3vaOiZO.js} +1 -1
  293. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-Bn1vxebD.js → sizeCapture-X5ZJPWSS-F39EvxY0.js} +1 -1
  294. package/ui-dist/assets/{stateDiagram-2N3HPSRC-GRRQpmzI.js → stateDiagram-2N3HPSRC-Bq2sVFQq.js} +1 -1
  295. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-B94IPtHC.js +1 -0
  296. package/ui-dist/assets/{swimlanes-5IMT3BWC-BcOOCZ4q.js → swimlanes-5IMT3BWC-CSrygB7m.js} +2 -2
  297. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-9WQr2_E9.js +8 -0
  298. package/ui-dist/assets/{timeline-definition-FHXFAJF6-gi6amswh.js → timeline-definition-FHXFAJF6-DSMMlntv.js} +1 -1
  299. package/ui-dist/assets/{vennDiagram-L72KCM5P-B9uqeyQt.js → vennDiagram-L72KCM5P-D5XH96zV.js} +1 -1
  300. package/ui-dist/assets/{wardleyDiagram-EHGQE667-BnqWAMiE.js → wardleyDiagram-EHGQE667-BXX2RFsU.js} +1 -1
  301. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BJXKltIN.js → xychartDiagram-FW5EYKEG-awBW2lwG.js} +1 -1
  302. package/ui-dist/index.html +2 -2
  303. package/dist/bootstrap/plugin-host-runtime.d.ts +0 -116
  304. package/dist/bootstrap/plugin-host-runtime.d.ts.map +0 -1
  305. package/dist/bootstrap/plugin-host-runtime.js +0 -179
  306. package/dist/bootstrap/plugin-host-runtime.js.map +0 -1
  307. package/dist/bundled-plugins/plugin-linear/README.md +0 -22
  308. package/dist/bundled-plugins/plugin-linear/dist/manifest.js +0 -183
  309. package/dist/bundled-plugins/plugin-linear/dist/manifest.js.map +0 -7
  310. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +0 -1285
  311. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +0 -7
  312. package/dist/bundled-plugins/plugin-linear/dist/worker.js +0 -10699
  313. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +0 -7
  314. package/dist/bundled-plugins/plugin-linear/package.json +0 -42
  315. package/dist/routes/plugin-ui-static.d.ts +0 -70
  316. package/dist/routes/plugin-ui-static.d.ts.map +0 -1
  317. package/dist/routes/plugin-ui-static.js +0 -375
  318. package/dist/routes/plugin-ui-static.js.map +0 -1
  319. package/dist/routes/plugins.d.ts +0 -120
  320. package/dist/routes/plugins.d.ts.map +0 -1
  321. package/dist/routes/plugins.js +0 -1125
  322. package/dist/routes/plugins.js.map +0 -1
  323. package/dist/routes/plugins.operations-routes.d.ts +0 -28
  324. package/dist/routes/plugins.operations-routes.d.ts.map +0 -1
  325. package/dist/routes/plugins.operations-routes.js +0 -720
  326. package/dist/routes/plugins.operations-routes.js.map +0 -1
  327. package/dist/services/plugin-capability-validator.d.ts +0 -108
  328. package/dist/services/plugin-capability-validator.d.ts.map +0 -1
  329. package/dist/services/plugin-capability-validator.js +0 -268
  330. package/dist/services/plugin-capability-validator.js.map +0 -1
  331. package/dist/services/plugin-config-validator.d.ts +0 -26
  332. package/dist/services/plugin-config-validator.d.ts.map +0 -1
  333. package/dist/services/plugin-config-validator.js +0 -41
  334. package/dist/services/plugin-config-validator.js.map +0 -1
  335. package/dist/services/plugin-dev-watcher.d.ts +0 -47
  336. package/dist/services/plugin-dev-watcher.d.ts.map +0 -1
  337. package/dist/services/plugin-dev-watcher.js +0 -275
  338. package/dist/services/plugin-dev-watcher.js.map +0 -1
  339. package/dist/services/plugin-event-bus.d.ts +0 -149
  340. package/dist/services/plugin-event-bus.d.ts.map +0 -1
  341. package/dist/services/plugin-event-bus.js +0 -258
  342. package/dist/services/plugin-event-bus.js.map +0 -1
  343. package/dist/services/plugin-host-service-cleanup.d.ts +0 -14
  344. package/dist/services/plugin-host-service-cleanup.d.ts.map +0 -1
  345. package/dist/services/plugin-host-service-cleanup.js +0 -37
  346. package/dist/services/plugin-host-service-cleanup.js.map +0 -1
  347. package/dist/services/plugin-host-services.d.ts +0 -13
  348. package/dist/services/plugin-host-services.d.ts.map +0 -1
  349. package/dist/services/plugin-host-services.js +0 -933
  350. package/dist/services/plugin-host-services.js.map +0 -1
  351. package/dist/services/plugin-job-coordinator.d.ts +0 -81
  352. package/dist/services/plugin-job-coordinator.d.ts.map +0 -1
  353. package/dist/services/plugin-job-coordinator.js +0 -172
  354. package/dist/services/plugin-job-coordinator.js.map +0 -1
  355. package/dist/services/plugin-job-scheduler.d.ts +0 -163
  356. package/dist/services/plugin-job-scheduler.d.ts.map +0 -1
  357. package/dist/services/plugin-job-scheduler.js +0 -452
  358. package/dist/services/plugin-job-scheduler.js.map +0 -1
  359. package/dist/services/plugin-job-store.d.ts +0 -208
  360. package/dist/services/plugin-job-store.d.ts.map +0 -1
  361. package/dist/services/plugin-job-store.js +0 -350
  362. package/dist/services/plugin-job-store.js.map +0 -1
  363. package/dist/services/plugin-lifecycle.d.ts +0 -240
  364. package/dist/services/plugin-lifecycle.d.ts.map +0 -1
  365. package/dist/services/plugin-lifecycle.js +0 -439
  366. package/dist/services/plugin-lifecycle.js.map +0 -1
  367. package/dist/services/plugin-loader.core.d.ts +0 -40
  368. package/dist/services/plugin-loader.core.d.ts.map +0 -1
  369. package/dist/services/plugin-loader.core.js +0 -879
  370. package/dist/services/plugin-loader.core.js.map +0 -1
  371. package/dist/services/plugin-loader.d.ts +0 -30
  372. package/dist/services/plugin-loader.d.ts.map +0 -1
  373. package/dist/services/plugin-loader.helpers.d.ts +0 -495
  374. package/dist/services/plugin-loader.helpers.d.ts.map +0 -1
  375. package/dist/services/plugin-loader.helpers.js +0 -238
  376. package/dist/services/plugin-loader.helpers.js.map +0 -1
  377. package/dist/services/plugin-loader.js +0 -30
  378. package/dist/services/plugin-loader.js.map +0 -1
  379. package/dist/services/plugin-loader.worker-paths.d.ts +0 -37
  380. package/dist/services/plugin-loader.worker-paths.d.ts.map +0 -1
  381. package/dist/services/plugin-loader.worker-paths.js +0 -62
  382. package/dist/services/plugin-loader.worker-paths.js.map +0 -1
  383. package/dist/services/plugin-log-retention.d.ts +0 -20
  384. package/dist/services/plugin-log-retention.d.ts.map +0 -1
  385. package/dist/services/plugin-log-retention.js +0 -63
  386. package/dist/services/plugin-log-retention.js.map +0 -1
  387. package/dist/services/plugin-manifest-validator.d.ts +0 -90
  388. package/dist/services/plugin-manifest-validator.d.ts.map +0 -1
  389. package/dist/services/plugin-manifest-validator.js +0 -72
  390. package/dist/services/plugin-manifest-validator.js.map +0 -1
  391. package/dist/services/plugin-registry.d.ts +0 -2542
  392. package/dist/services/plugin-registry.d.ts.map +0 -1
  393. package/dist/services/plugin-registry.js +0 -536
  394. package/dist/services/plugin-registry.js.map +0 -1
  395. package/dist/services/plugin-runtime-sandbox.d.ts +0 -40
  396. package/dist/services/plugin-runtime-sandbox.d.ts.map +0 -1
  397. package/dist/services/plugin-runtime-sandbox.js +0 -154
  398. package/dist/services/plugin-runtime-sandbox.js.map +0 -1
  399. package/dist/services/plugin-secrets-handler.d.ts +0 -81
  400. package/dist/services/plugin-secrets-handler.d.ts.map +0 -1
  401. package/dist/services/plugin-secrets-handler.js +0 -275
  402. package/dist/services/plugin-secrets-handler.js.map +0 -1
  403. package/dist/services/plugin-state-store.d.ts +0 -92
  404. package/dist/services/plugin-state-store.d.ts.map +0 -1
  405. package/dist/services/plugin-state-store.js +0 -190
  406. package/dist/services/plugin-state-store.js.map +0 -1
  407. package/dist/services/plugin-stream-bus.d.ts +0 -29
  408. package/dist/services/plugin-stream-bus.d.ts.map +0 -1
  409. package/dist/services/plugin-stream-bus.js +0 -48
  410. package/dist/services/plugin-stream-bus.js.map +0 -1
  411. package/dist/services/plugin-tool-dispatcher.d.ts +0 -180
  412. package/dist/services/plugin-tool-dispatcher.d.ts.map +0 -1
  413. package/dist/services/plugin-tool-dispatcher.js +0 -224
  414. package/dist/services/plugin-tool-dispatcher.js.map +0 -1
  415. package/dist/services/plugin-tool-registry.d.ts +0 -192
  416. package/dist/services/plugin-tool-registry.d.ts.map +0 -1
  417. package/dist/services/plugin-tool-registry.js +0 -224
  418. package/dist/services/plugin-tool-registry.js.map +0 -1
  419. package/dist/services/plugin-worker-manager.d.ts +0 -260
  420. package/dist/services/plugin-worker-manager.d.ts.map +0 -1
  421. package/dist/services/plugin-worker-manager.js +0 -836
  422. package/dist/services/plugin-worker-manager.js.map +0 -1
  423. package/ui-dist/assets/channel-C08AyYJr.js +0 -1
  424. package/ui-dist/assets/classDiagram-OUVF2IWQ-BIXq6fec.js +0 -1
  425. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BIXq6fec.js +0 -1
  426. package/ui-dist/assets/index-BmXb0yC1.css +0 -1
  427. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KvSJhiLM.js +0 -1
  428. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Cr92NnJ4.js +0 -8
@@ -258,5 +258,45 @@
258
258
  "expected_public_path": "https://docs.rudderhq.dev/zh/reference/permissions-and-platforms",
259
259
  "expected_anchor": "boundaries",
260
260
  "illustrative_case_sufficient": false
261
+ },
262
+ {
263
+ "query": "How does Rudder build, review, approve, and sign Windows Desktop releases?",
264
+ "locale": "en",
265
+ "query_mode": "current",
266
+ "expected_source_class": "official_public_docs_primary",
267
+ "required_contract_ids": [],
268
+ "expected_public_path": "https://docs.rudderhq.dev/reference/code-signing-policy",
269
+ "expected_anchor": null,
270
+ "illustrative_case_sufficient": false
271
+ },
272
+ {
273
+ "query": "Rudder 如何构建、审查、批准并签名 Windows Desktop 发布产物?",
274
+ "locale": "zh",
275
+ "query_mode": "current",
276
+ "expected_source_class": "official_public_docs_primary",
277
+ "required_contract_ids": [],
278
+ "expected_public_path": "https://docs.rudderhq.dev/zh/reference/code-signing-policy",
279
+ "expected_anchor": null,
280
+ "illustrative_case_sufficient": false
281
+ },
282
+ {
283
+ "query": "Which Rudder data stays local and which optional services process data?",
284
+ "locale": "en",
285
+ "query_mode": "current",
286
+ "expected_source_class": "official_public_docs_primary",
287
+ "required_contract_ids": ["ANALYTICS.TELEMETRY.001"],
288
+ "expected_public_path": "https://docs.rudderhq.dev/reference/privacy",
289
+ "expected_anchor": null,
290
+ "illustrative_case_sufficient": false
291
+ },
292
+ {
293
+ "query": "哪些 Rudder 数据保留在本地,哪些可选服务会处理数据?",
294
+ "locale": "zh",
295
+ "query_mode": "current",
296
+ "expected_source_class": "official_public_docs_primary",
297
+ "required_contract_ids": ["ANALYTICS.TELEMETRY.001"],
298
+ "expected_public_path": "https://docs.rudderhq.dev/zh/reference/privacy",
299
+ "expected_anchor": null,
300
+ "illustrative_case_sufficient": false
261
301
  }
262
302
  ]
@@ -20,11 +20,11 @@
20
20
  "should_trigger": true
21
21
  },
22
22
  {
23
- "query": "Scaffold a new Rudder Plugin named @acme/quality-gate in a temporary external package directory. Verify the current create-rudder-plugin and SDK workflow first, then run its typecheck, tests, and build.",
23
+ "query": "Create a Codex-compatible Rudder Plugin named quality-gate in a temporary directory with one Skill. Verify plugin.json and the current import boundary, then test the package.",
24
24
  "should_trigger": true
25
25
  },
26
26
  {
27
- "query": "Rudder Plugin 的 worker capabilitysame-origin UIroutePath 和 ctx.assets 现在到底有哪些边界?请查当前 authoring guide、SDK 和源码后回答。",
27
+ "query": "Rudder Plugin 的 Codex packageSkillsMCP、App、导入检查和运行权限现在有哪些边界?请查当前 authoring guide 和源码后回答。",
28
28
  "should_trigger": true
29
29
  },
30
30
  {
@@ -246,8 +246,6 @@ or editing that URL by hand.
246
246
 
247
247
  - `GET /api/approvals/:approvalId`
248
248
  - `GET /api/approvals/:approvalId/issues`
249
- - `GET /api/approvals/:approvalId/comments`
250
- - `POST /api/approvals/:approvalId/comments`
251
249
  - `POST /api/approvals/:approvalId/request-revision`
252
250
  - `POST /api/approvals/:approvalId/resubmit`
253
251
  - `POST /api/approvals/:approvalId/approve`
@@ -1,116 +1,40 @@
1
1
  # Plugin Authoring
2
2
 
3
- Use this workflow for a Rudder Plugin source question or an explicit request to
4
- scaffold, develop, or verify a Plugin. Reading authoring guidance is read-only.
5
- Only an explicit user request to scaffold or modify a package authorizes writes,
6
- and those writes must stay inside the requested repository or target directory.
7
-
8
- The current fact sources are
9
- `doc/engineering/PLUGIN_AUTHORING_GUIDE.md` and
10
- `packages/plugins/sdk/README.md`. Use
11
- `doc/engineering/PLUGIN_RUNTIME_CONTRACT.md` only to understand the implemented
12
- runtime boundary, and label future ideas as non-current.
13
-
14
- ## Section Map
15
-
16
- - [Confirm scope and package layout](#confirm-scope-and-package-layout)
17
- - [Scaffold from the current package](#scaffold-from-the-current-package)
18
- - [Implement within current boundaries](#implement-within-current-boundaries)
19
- - [Wire a bundled example only when requested](#wire-a-bundled-example-only-when-requested)
20
- - [Verify the package and host](#verify-the-package-and-host)
21
-
22
- ## Confirm Scope And Package Layout
23
-
24
- Before writing, determine whether the Plugin is:
25
-
26
- - a repository-local example under `packages/plugins/examples/`;
27
- - another Rudder monorepo package under `packages/plugins/`; or
28
- - an external npm package in an absolute target directory.
29
-
30
- Repository-local examples are a development workflow. For deployable Plugins,
31
- prefer an npm package installed from a public or private npm-compatible
32
- registry. GitHub installs are not a first-class path today.
33
-
34
- Treat both Plugin workers and Plugin UI as trusted code. Plugin UI runs as
35
- same-origin JavaScript and is not sandboxed by manifest capabilities.
36
- Worker-side host APIs are capability-gated. Keep these boundaries visible when
37
- reviewing third-party code or selecting capabilities.
38
-
39
- ## Scaffold From The Current Package
40
-
41
- Use `create-rudder-plugin` instead of hand-writing boilerplate. In a Rudder
42
- checkout, first build the scaffold package, then run its generated CLI for the
43
- requested npm package name and output root. `--output` names the parent
44
- directory; the CLI appends the package basename, and that destination must not
45
- already exist. Verify the exact commands in
46
- the current authoring guide before execution.
47
-
48
- For a repository-local package, the scaffold uses `workspace:*` for
49
- `@rudderhq/plugin-sdk`. For an external package, pass `--sdk-path` pointing to
50
- the checkout's `packages/plugins/sdk`; the scaffold snapshots the SDK/shared
51
- packages into `.rudder-sdk/` so the Plugin can build and test before an npm
52
- publication exists.
53
-
54
- The generated package should include:
55
-
56
- - `src/manifest.ts`;
57
- - `src/worker.ts`;
58
- - `src/ui/index.tsx` when UI is used;
59
- - `tests/plugin.spec.ts`;
60
- - `package.json` and current build configuration.
61
-
62
- Scaffold only under the explicit output root and confirm the derived package
63
- directory before execution. Do not install the generated Plugin into a running
64
- Rudder instance unless the user also requested that host mutation.
65
-
66
- ## Implement Within Current Boundaries
67
-
68
- Review the manifest, worker, UI, and tests together:
69
-
70
- - Declare only capabilities used by the worker-side host APIs.
71
- - Keep tool names Plugin-namespaced; they must not shadow core or other Plugin
72
- tools.
73
- - Keep UI self-contained. Rudder does not provide a shared Plugin React
74
- component kit yet.
75
- - Do not use `ctx.assets`; it is not supported in the current runtime.
76
- - Use `routePath` only for a `page` slot. It must be one lowercase slug and may
77
- not collide with a reserved host route or another installed Plugin page.
78
- - Use the SDK's declared worker, UI, testing, bundler, and dev-server surfaces
79
- rather than undocumented application internals.
80
- - Treat jobs and webhooks as namespaced external execution surfaces and keep
81
- their capabilities, ownership, logs, and failure evidence explicit.
82
-
83
- Local development installs must use an absolute filesystem path. The server
84
- can watch a local-path Plugin and restart its worker after rebuilds, but that
85
- does not make a repo-local checkout a production deployment artifact.
86
-
87
- ## Wire A Bundled Example Only When Requested
88
-
89
- Only if the user explicitly asks for bundled example or discoverable host
90
- wiring, update the host's bundled-example list and the documentation that
91
- enumerates in-repo examples. A request to scaffold or develop a Plugin alone
92
- does not authorize changing `server/src/routes/plugins.ts` or other host
93
- registration surfaces.
94
-
95
- If host runtime, SDK, capability validation, static UI serving, or lifecycle
96
- code changes, follow the repository's Plugin engineering and Product Logic
97
- rules in addition to the package workflow.
98
-
99
- ## Verify The Package And Host
100
-
101
- At minimum, run the generated or existing Plugin package's:
102
-
103
- - `typecheck`;
104
- - `test`; and
105
- - `build`.
106
-
107
- Use the package scripts or the monorepo's `pnpm --filter <plugin-package>`
108
- forms. For a new scaffold, execute them in a temporary or explicitly requested
109
- target and confirm that its worker, manifest, UI bundle, and
110
- `tests/plugin.spec.ts` compile against the selected SDK layout.
111
-
112
- When host or SDK code changed, also run the relevant host integration tests,
113
- repository typecheck, test suite, and build. If the user asked to install the
114
- Plugin, verify the real host from its absolute local path and surface worker
115
- health, logs, route behavior, and capability failures. Package creation alone
116
- is not evidence that a Plugin is installed or active in Rudder.
3
+ Use this reference for explicit requests to create, inspect, import, or verify a
4
+ Rudder Plugin. Rudder V1 consumes the Codex Plugin package format and does not
5
+ provide a Plugin worker SDK or extension runtime.
6
+
7
+ ## Before Writing
8
+
9
+ - Confirm the requested target directory and whether the package needs Skills,
10
+ MCP definitions, App aliases, or a combination.
11
+ - Read `doc/engineering/PLUGIN_AUTHORING_GUIDE.md` and the current upstream
12
+ Codex Plugin manifest specification.
13
+ - Keep the required manifest at `.codex-plugin/plugin.json` with a lower-case
14
+ hyphenated name and strict semantic version.
15
+ - Do not recreate legacy Rudder workers, jobs, webhooks, UI slots, generic
16
+ state, host tools, or SDK dependencies.
17
+
18
+ ## Component Rules
19
+
20
+ - Put Skills at the default `skills/<slug>/SKILL.md` location or declare the
21
+ custom root in the manifest. Keep each Skill's scripts and references inside
22
+ its root.
23
+ - Declare MCP servers inline or through `.mcp.json`. Use environment references
24
+ for credentials; never embed tokens, passwords, authorization headers, or API
25
+ keys in the package.
26
+ - Treat `.app.json` as OpenAI registered App aliases only. It is not a Rudder
27
+ Local App definition or an MCP endpoint.
28
+ - Hooks, assets, and unknown fields may be preserved but are not executable in
29
+ Rudder V1.
30
+
31
+ ## Rudder Verification
32
+
33
+ Import only when the user requested that Organization mutation. Use Plugins >
34
+ Import and review the compatibility report. Verify inspection executes nothing.
35
+ After installation, verify the public workflow relevant to the
36
+ package: Agent Skill assignment, Managed MCP setup, Local App launch,
37
+ disable/re-enable, and non-destructive uninstall.
38
+
39
+ Package creation is not evidence of installation. Installation is not evidence
40
+ that MCP credentials or Agent access are active. Keep those states explicit.
@@ -48,6 +48,8 @@ Other lookup pages are similarly narrow:
48
48
  | Workspace and file placement | `https://docs.rudderhq.dev/reference/workspace-boundaries` | `https://docs.rudderhq.dev/zh/reference/workspace-boundaries` |
49
49
  | Automation result destinations | `https://docs.rudderhq.dev/reference/automation-output-routing` | `https://docs.rudderhq.dev/zh/reference/automation-output-routing` |
50
50
  | Deployment trust, credentials, Browser, and platform behavior | `https://docs.rudderhq.dev/reference/permissions-and-platforms` | `https://docs.rudderhq.dev/zh/reference/permissions-and-platforms` |
51
+ | Windows Desktop release signing policy | `https://docs.rudderhq.dev/reference/code-signing-policy` | `https://docs.rudderhq.dev/zh/reference/code-signing-policy` |
52
+ | Local data and optional service privacy | `https://docs.rudderhq.dev/reference/privacy` | `https://docs.rudderhq.dev/zh/reference/privacy` |
51
53
 
52
54
  ## Product Logic Registry
53
55
 
@@ -28,6 +28,9 @@ loopback attestation, and embedded opening.
28
28
  manager, development script, data boundary, and tests before editing.
29
29
  Preserve its stack and conventions; never replace it with the maintained
30
30
  scaffold merely to make it a Rudder App.
31
+ When the originating prompt includes `Rudder App handoff`, retain its App ID
32
+ for the completion protocol below. Do not guess an App ID or use one from a
33
+ different conversation.
31
34
  3. Read [references/scaffold-contract.md](references/scaffold-contract.md)
32
35
  before changing the runtime, database foundation, manifest, health endpoint,
33
36
  import/export contract, or background-job runner.
@@ -37,27 +40,51 @@ loopback attestation, and embedded opening.
37
40
  already has data, imports user data, changes its schema, or needs a real-data
38
41
  diagnosis.
39
42
  6. Follow [references/design-guidelines.md](references/design-guidelines.md)
40
- for visible UI work. Prefer coherent workflow screens over a generic
41
- dashboard assembled from decorative cards.
43
+ for visible UI work. For a new App, also read
44
+ [references/rudder-ui-preset.md](references/rudder-ui-preset.md) and start
45
+ from the versioned Rudder UI preset already present in the maintained
46
+ scaffold. Keep its semantic tokens and source-owned shadcn primitives unless
47
+ the brief explicitly requires a different product identity. For an existing
48
+ project, preserve its design system by default; align it to Rudder only when
49
+ the user asks for that change. Prefer coherent workflow screens over a
50
+ generic dashboard assembled from decorative cards.
42
51
  7. Run migrations against development or snapshot data, then run typecheck,
43
- unit tests, build, and relevant app E2E tests.
52
+ unit tests, build, and relevant app E2E tests. Review the final source and
53
+ rendered product for correctness, regressions, usability, data safety, and
54
+ evidence integrity; resolve every blocking finding before handoff.
44
55
  8. Prepare the website for its Rudder Apps handoff:
45
- - A new managed App created from Apps Home keeps its typed manifest and
46
- returns to that App's **Register & preview** action. Do not load the same
47
- source again through the manual Local App path.
56
+ - A new managed App created from Apps Home keeps its typed manifest. After
57
+ the completion gate passes, report `verified_source_ready` with the
58
+ originating App ID so Rudder Desktop can verify, start, and open that App
59
+ automatically. Do not load the same source through the manual Local App
60
+ path.
48
61
  - An independently authored existing project keeps a direct supported
49
62
  development script. Add the `package.json` `rudder` readiness or open-path
50
63
  fields only when discovery cannot infer them safely, then direct the
51
64
  operator to **Apps + > Add local web project** to select the folder and
52
65
  review the launch definition.
53
- The Agent writes and verifies source; Desktop alone owns runtime approval and
54
- process start. Do not invent a public URL, tunnel, cloud deployment, or
66
+ The Agent writes and verifies source; Desktop alone owns runtime admission
67
+ and process start. Do not invent a public URL, tunnel, cloud deployment, or
55
68
  unreviewed launch command.
56
69
  9. Read [references/verification.md](references/verification.md), then verify
57
70
  the rendered app with Rudder Browser. Exercise the main workflow plus at
58
71
  least one production-shaped edge case and inspect console errors.
59
72
  10. Materialize final screenshots and validation evidence in the originating
60
73
  Chat or Run. A localhost URL or tool-only screenshot is not durable output.
74
+ 11. For an originating managed App handoff, use the injected run context without
75
+ printing or requesting credentials:
76
+ - Run `node scripts/report-build-status.mjs building <app-id>` when
77
+ implementation begins.
78
+ - Run `node scripts/report-build-status.mjs verified_source_ready <app-id>`
79
+ only after every Completion Gate item passes. This is the machine-visible
80
+ signal that authorizes Desktop to verify, start, and open the exact
81
+ assigned source root.
82
+ - Run `node scripts/report-build-status.mjs failed <app-id>` when work ends
83
+ in a terminal failure. Do not emit `verified_source_ready` for a question,
84
+ partial implementation, canceled run, missing evidence, or blocker.
85
+ Finish by telling the user the App is opening and that they can continue
86
+ improving it in this Chat. If the status command fails, report that failure
87
+ honestly instead of claiming the App opened.
61
88
 
62
89
  ## Real Data Decision
63
90
 
@@ -86,7 +113,8 @@ controls and least-data workflow choices; explain the boundary honestly.
86
113
  screenshots, test fixtures, or logs. V1 does not provide a Rudder Secret
87
114
  binding UI, so ask the user how the App should obtain any required
88
115
  integration credential.
89
- - Opening Chat, Apps, an App tab, or a saved view must not passively start an app.
116
+ - Opening Chat, Apps Home, or a saved view must not passively start an app. A
117
+ run-scoped `verified_source_ready` handoff may start and open its managed App.
90
118
  - Cloud builds, hosted runtimes, public preview links, custom domains, managed
91
119
  cloud databases, and cross-device synchronization are outside this skill.
92
120
 
@@ -96,8 +124,10 @@ Do not call the app complete until:
96
124
 
97
125
  - source and any required manifest or `package.json` Rudder configuration are durable;
98
126
  - typecheck, unit tests, and build pass;
127
+ - blocking code and product review findings are resolved;
99
128
  - the reviewed readiness path is ready on an attested loopback process;
100
129
  - Browser verification covers the primary workflow and a relevant edge case;
130
+ - the versioned Rudder UI preset check passes for a new maintained App;
101
131
  - persistence behavior is verified against development or snapshot data;
102
132
  - current screenshot evidence is attached to the work;
103
133
  - user data was not modified without explicit intent; and
@@ -1,32 +1,125 @@
1
1
  @import "tailwindcss";
2
2
 
3
+ @custom-variant dark (&:is(.dark *));
4
+
3
5
  :root {
4
- --background: #f8fafc;
5
- --foreground: #172033;
6
- --card: #ffffff;
7
- --card-foreground: #172033;
8
- --muted: #eef2f7;
9
- --muted-foreground: #64748b;
10
- --primary: #2563eb;
11
- --primary-foreground: #ffffff;
12
- --destructive: #dc2626;
13
- --border: #dbe3ee;
14
- --ring: #3b82f6;
15
- --radius: 0.75rem;
6
+ color-scheme: light;
7
+ --background: oklch(0.975 0.008 80);
8
+ --foreground: oklch(0.22 0.012 75);
9
+ --card: oklch(0.992 0.004 80);
10
+ --card-foreground: oklch(0.22 0.012 75);
11
+ --popover: oklch(0.992 0.004 80);
12
+ --popover-foreground: oklch(0.22 0.012 75);
13
+ --primary: oklch(0.53 0.135 162);
14
+ --primary-foreground: oklch(0.985 0.01 160);
15
+ --secondary: oklch(0.94 0.009 78);
16
+ --secondary-foreground: oklch(0.29 0.012 75);
17
+ --muted: oklch(0.945 0.008 78);
18
+ --muted-foreground: oklch(0.52 0.014 75);
19
+ --accent: oklch(0.925 0.025 162);
20
+ --accent-foreground: oklch(0.32 0.08 162);
21
+ --destructive: oklch(0.56 0.2 27);
22
+ --destructive-foreground: oklch(0.985 0.005 27);
23
+ --border: oklch(0.875 0.01 75);
24
+ --input: oklch(0.875 0.01 75);
25
+ --ring: oklch(0.58 0.12 162);
26
+ --radius: 0.375rem;
16
27
  }
17
28
 
18
- * {
19
- border-color: var(--border);
29
+ .dark {
30
+ color-scheme: dark;
31
+ --background: oklch(0.18 0.012 75);
32
+ --foreground: oklch(0.93 0.008 75);
33
+ --card: oklch(0.215 0.012 75);
34
+ --card-foreground: oklch(0.93 0.008 75);
35
+ --popover: oklch(0.215 0.012 75);
36
+ --popover-foreground: oklch(0.93 0.008 75);
37
+ --primary: oklch(0.68 0.135 162);
38
+ --primary-foreground: oklch(0.17 0.03 162);
39
+ --secondary: oklch(0.27 0.012 75);
40
+ --secondary-foreground: oklch(0.91 0.008 75);
41
+ --muted: oklch(0.255 0.011 75);
42
+ --muted-foreground: oklch(0.69 0.012 75);
43
+ --accent: oklch(0.29 0.05 162);
44
+ --accent-foreground: oklch(0.88 0.06 162);
45
+ --destructive: oklch(0.66 0.18 27);
46
+ --destructive-foreground: oklch(0.98 0.005 27);
47
+ --border: oklch(0.34 0.012 75);
48
+ --input: oklch(0.34 0.012 75);
49
+ --ring: oklch(0.68 0.11 162);
50
+ }
51
+
52
+ @media (prefers-color-scheme: dark) {
53
+ :root:not(.light) {
54
+ color-scheme: dark;
55
+ --background: oklch(0.18 0.012 75);
56
+ --foreground: oklch(0.93 0.008 75);
57
+ --card: oklch(0.215 0.012 75);
58
+ --card-foreground: oklch(0.93 0.008 75);
59
+ --popover: oklch(0.215 0.012 75);
60
+ --popover-foreground: oklch(0.93 0.008 75);
61
+ --primary: oklch(0.68 0.135 162);
62
+ --primary-foreground: oklch(0.17 0.03 162);
63
+ --secondary: oklch(0.27 0.012 75);
64
+ --secondary-foreground: oklch(0.91 0.008 75);
65
+ --muted: oklch(0.255 0.011 75);
66
+ --muted-foreground: oklch(0.69 0.012 75);
67
+ --accent: oklch(0.29 0.05 162);
68
+ --accent-foreground: oklch(0.88 0.06 162);
69
+ --destructive: oklch(0.66 0.18 27);
70
+ --destructive-foreground: oklch(0.98 0.005 27);
71
+ --border: oklch(0.34 0.012 75);
72
+ --input: oklch(0.34 0.012 75);
73
+ --ring: oklch(0.68 0.11 162);
74
+ }
75
+ }
76
+
77
+ @theme inline {
78
+ --color-background: var(--background);
79
+ --color-foreground: var(--foreground);
80
+ --color-card: var(--card);
81
+ --color-card-foreground: var(--card-foreground);
82
+ --color-popover: var(--popover);
83
+ --color-popover-foreground: var(--popover-foreground);
84
+ --color-primary: var(--primary);
85
+ --color-primary-foreground: var(--primary-foreground);
86
+ --color-secondary: var(--secondary);
87
+ --color-secondary-foreground: var(--secondary-foreground);
88
+ --color-muted: var(--muted);
89
+ --color-muted-foreground: var(--muted-foreground);
90
+ --color-accent: var(--accent);
91
+ --color-accent-foreground: var(--accent-foreground);
92
+ --color-destructive: var(--destructive);
93
+ --color-destructive-foreground: var(--destructive-foreground);
94
+ --color-border: var(--border);
95
+ --color-input: var(--input);
96
+ --color-ring: var(--ring);
97
+ --radius-sm: calc(var(--radius) - 2px);
98
+ --radius-md: var(--radius);
99
+ --radius-lg: calc(var(--radius) + 2px);
20
100
  }
21
101
 
22
102
  body {
23
103
  margin: 0;
104
+ min-width: 320px;
24
105
  background: var(--background);
25
106
  color: var(--foreground);
26
107
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
108
+ text-rendering: optimizeLegibility;
27
109
  }
28
110
 
29
111
  button,
30
- input {
31
- font: inherit;
112
+ input,
113
+ select,
114
+ textarea {
115
+ color: inherit;
116
+ }
117
+
118
+ * {
119
+ border-color: var(--border);
120
+ }
121
+
122
+ ::selection {
123
+ background: var(--accent);
124
+ color: var(--accent-foreground);
32
125
  }