@rudderhq/server 0.2.10-canary.8 → 0.2.10

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 (234) hide show
  1. package/dist/bootstrap/plugin-host-runtime.d.ts +38 -38
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js +311 -159
  3. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
  4. package/dist/config.d.ts +1 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +8 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/home-paths.d.ts +23 -4
  9. package/dist/home-paths.d.ts.map +1 -1
  10. package/dist/home-paths.js +46 -11
  11. package/dist/home-paths.js.map +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +4 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/routes/access.helpers.d.ts +8 -8
  16. package/dist/routes/agents.d.ts.map +1 -1
  17. package/dist/routes/agents.js +15 -1
  18. package/dist/routes/agents.js.map +1 -1
  19. package/dist/routes/approvals.d.ts.map +1 -1
  20. package/dist/routes/approvals.js +34 -2
  21. package/dist/routes/approvals.js.map +1 -1
  22. package/dist/routes/chat-issue-assignment-wakeup.d.ts +28 -0
  23. package/dist/routes/chat-issue-assignment-wakeup.d.ts.map +1 -0
  24. package/dist/routes/chat-issue-assignment-wakeup.js +54 -0
  25. package/dist/routes/chat-issue-assignment-wakeup.js.map +1 -0
  26. package/dist/routes/chats.d.ts.map +1 -1
  27. package/dist/routes/chats.js +24 -6
  28. package/dist/routes/chats.js.map +1 -1
  29. package/dist/routes/chats.stream-routes.d.ts.map +1 -1
  30. package/dist/routes/chats.stream-routes.js +14 -3
  31. package/dist/routes/chats.stream-routes.js.map +1 -1
  32. package/dist/routes/issues.d.ts.map +1 -1
  33. package/dist/routes/issues.js +3 -0
  34. package/dist/routes/issues.js.map +1 -1
  35. package/dist/routes/issues.mutations.d.ts.map +1 -1
  36. package/dist/routes/issues.mutations.js +89 -32
  37. package/dist/routes/issues.mutations.js.map +1 -1
  38. package/dist/routes/orgs.d.ts.map +1 -1
  39. package/dist/routes/orgs.js +302 -3
  40. package/dist/routes/orgs.js.map +1 -1
  41. package/dist/routes/plugin-ui-static.d.ts +2 -1
  42. package/dist/routes/plugin-ui-static.d.ts.map +1 -1
  43. package/dist/routes/plugin-ui-static.js +8 -42
  44. package/dist/routes/plugin-ui-static.js.map +1 -1
  45. package/dist/routes/projects.d.ts.map +1 -1
  46. package/dist/routes/projects.js +6 -0
  47. package/dist/routes/projects.js.map +1 -1
  48. package/dist/services/access.d.ts +21 -21
  49. package/dist/services/activity.d.ts +19 -19
  50. package/dist/services/agent-run-context.d.ts +0 -2
  51. package/dist/services/agent-run-context.d.ts.map +1 -1
  52. package/dist/services/agent-run-context.js +6 -3
  53. package/dist/services/agent-run-context.js.map +1 -1
  54. package/dist/services/agents.d.ts +171 -171
  55. package/dist/services/approvals.d.ts +29 -29
  56. package/dist/services/assets.d.ts +8 -8
  57. package/dist/services/automation-chat-output.d.ts +3 -3
  58. package/dist/services/automations.d.ts +40 -32
  59. package/dist/services/automations.d.ts.map +1 -1
  60. package/dist/services/automations.js +467 -0
  61. package/dist/services/automations.js.map +1 -1
  62. package/dist/services/automations.scheduler.d.ts.map +1 -1
  63. package/dist/services/automations.scheduler.js +5 -3
  64. package/dist/services/automations.scheduler.js.map +1 -1
  65. package/dist/services/board-auth.d.ts +32 -32
  66. package/dist/services/calendar.d.ts +26 -26
  67. package/dist/services/chat-assistant.d.ts.map +1 -1
  68. package/dist/services/chat-assistant.helpers.d.ts +3 -2
  69. package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
  70. package/dist/services/chat-assistant.helpers.js +3 -2
  71. package/dist/services/chat-assistant.helpers.js.map +1 -1
  72. package/dist/services/chat-assistant.js +11 -1
  73. package/dist/services/chat-assistant.js.map +1 -1
  74. package/dist/services/chat-generation-locks.d.ts +1 -0
  75. package/dist/services/chat-generation-locks.d.ts.map +1 -1
  76. package/dist/services/chat-generation-locks.js +10 -0
  77. package/dist/services/chat-generation-locks.js.map +1 -1
  78. package/dist/services/chats.d.ts +185 -161
  79. package/dist/services/chats.d.ts.map +1 -1
  80. package/dist/services/chats.helpers.d.ts +4 -4
  81. package/dist/services/chats.js +27 -0
  82. package/dist/services/chats.js.map +1 -1
  83. package/dist/services/costs.d.ts +8 -8
  84. package/dist/services/documents.d.ts +126 -0
  85. package/dist/services/documents.d.ts.map +1 -1
  86. package/dist/services/documents.js +323 -1
  87. package/dist/services/documents.js.map +1 -1
  88. package/dist/services/finance.d.ts +18 -18
  89. package/dist/services/goals.d.ts +30 -30
  90. package/dist/services/issue-approvals.d.ts +4 -4
  91. package/dist/services/issue-goal-fallback.d.ts.map +1 -1
  92. package/dist/services/issue-goal-fallback.js +9 -3
  93. package/dist/services/issue-goal-fallback.js.map +1 -1
  94. package/dist/services/issue-review-wakeup.d.ts +3 -3
  95. package/dist/services/issues.comments-attachments.d.ts +6 -6
  96. package/dist/services/issues.d.ts +26 -26
  97. package/dist/services/issues.d.ts.map +1 -1
  98. package/dist/services/issues.js +20 -0
  99. package/dist/services/issues.js.map +1 -1
  100. package/dist/services/knowledge-portability/organization-portability.core.d.ts +1 -1
  101. package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +1 -1
  102. package/dist/services/messenger.d.ts +3 -2
  103. package/dist/services/messenger.d.ts.map +1 -1
  104. package/dist/services/messenger.js +98 -26
  105. package/dist/services/messenger.js.map +1 -1
  106. package/dist/services/organization-workspace-browser.d.ts +10 -1
  107. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  108. package/dist/services/organization-workspace-browser.js +286 -8
  109. package/dist/services/organization-workspace-browser.js.map +1 -1
  110. package/dist/services/orgs.d.ts +9 -9
  111. package/dist/services/plugin-loader.worker-paths.d.ts +5 -1
  112. package/dist/services/plugin-loader.worker-paths.d.ts.map +1 -1
  113. package/dist/services/plugin-loader.worker-paths.js +27 -24
  114. package/dist/services/plugin-loader.worker-paths.js.map +1 -1
  115. package/dist/services/plugin-registry.d.ts +137 -137
  116. package/dist/services/projects.d.ts +8 -8
  117. package/dist/services/projects.d.ts.map +1 -1
  118. package/dist/services/projects.js +52 -6
  119. package/dist/services/projects.js.map +1 -1
  120. package/dist/services/resource-catalog.d.ts.map +1 -1
  121. package/dist/services/resource-catalog.js +93 -27
  122. package/dist/services/resource-catalog.js.map +1 -1
  123. package/dist/services/runtime-kernel/heartbeat.d.ts +40 -33
  124. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  125. package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
  126. package/dist/services/runtime-kernel/heartbeat.execute.js +19 -0
  127. package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
  128. package/dist/services/runtime-kernel/heartbeat.js +88 -1
  129. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  130. package/dist/services/runtime-kernel/heartbeat.sessions.d.ts +1 -1
  131. package/dist/services/secrets.d.ts +25 -25
  132. package/dist/services/sidebar-badges.d.ts +0 -3
  133. package/dist/services/sidebar-badges.d.ts.map +1 -1
  134. package/dist/services/sidebar-badges.js +4 -54
  135. package/dist/services/sidebar-badges.js.map +1 -1
  136. package/dist/services/workspace-runtime.services.d.ts +13 -13
  137. package/package.json +13 -13
  138. package/resources/bundled-skills/para-memory-files/SKILL.md +4 -4
  139. package/resources/bundled-skills/rudder/SKILL.md +30 -13
  140. package/resources/bundled-skills/rudder/references/api-reference.md +16 -0
  141. package/resources/bundled-skills/rudder/references/cli-reference.md +9 -1
  142. package/resources/bundled-skills/rudder/references/organization-skills.md +1 -1
  143. package/skills/para-memory-files/SKILL.md +4 -4
  144. package/skills/rudder/SKILL.md +30 -13
  145. package/skills/rudder/references/api-reference.md +16 -0
  146. package/skills/rudder/references/cli-reference.md +9 -1
  147. package/skills/rudder/references/organization-skills.md +1 -1
  148. package/ui-dist/assets/_basePickBy-CSCT5uM-.js +1 -0
  149. package/ui-dist/assets/_baseUniq-6uzN-zvk.js +1 -0
  150. package/ui-dist/assets/{arc-DJicYGuR.js → arc-BwwnVVnu.js} +1 -1
  151. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-CNAjB0bS.js → architectureDiagram-2XIMDMQ5-DiP6mFDS.js} +1 -1
  152. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-Cb2SN0O8.js → blockDiagram-WCTKOSBZ-DS7tlCEj.js} +1 -1
  153. package/ui-dist/assets/{c4Diagram-IC4MRINW-BUwidppn.js → c4Diagram-IC4MRINW-B2RNViSE.js} +1 -1
  154. package/ui-dist/assets/channel-D5xRBEMp.js +1 -0
  155. package/ui-dist/assets/{chunk-4BX2VUAB-DRq9D-c0.js → chunk-4BX2VUAB-Cg9RRkJ9.js} +1 -1
  156. package/ui-dist/assets/{chunk-55IACEB6-BU7fhJ5E.js → chunk-55IACEB6-C3OAh-Nm.js} +1 -1
  157. package/ui-dist/assets/{chunk-FMBD7UC4-B5KY7bkB.js → chunk-FMBD7UC4-BQ2yCpRL.js} +1 -1
  158. package/ui-dist/assets/{chunk-JSJVCQXG-CcU3d2u7.js → chunk-JSJVCQXG-D6lFBo3f.js} +1 -1
  159. package/ui-dist/assets/{chunk-KX2RTZJC-HQV7Thyw.js → chunk-KX2RTZJC-CUaDFynR.js} +1 -1
  160. package/ui-dist/assets/{chunk-NQ4KR5QH-CFZQUHUm.js → chunk-NQ4KR5QH-DOffnVy8.js} +1 -1
  161. package/ui-dist/assets/{chunk-QZHKN3VN-qWkcATvx.js → chunk-QZHKN3VN-C7Jx3r9m.js} +1 -1
  162. package/ui-dist/assets/{chunk-WL4C6EOR-rWD9bJYe.js → chunk-WL4C6EOR-DeATO8Iz.js} +1 -1
  163. package/ui-dist/assets/classDiagram-VBA2DB6C-CX2-VvTG.js +1 -0
  164. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CX2-VvTG.js +1 -0
  165. package/ui-dist/assets/clone-CAhALgsh.js +1 -0
  166. package/ui-dist/assets/{cose-bilkent-S5V4N54A-CsSjm2Co.js → cose-bilkent-S5V4N54A-x_82-QHb.js} +1 -1
  167. package/ui-dist/assets/{dagre-KLK3FWXG-mcPh1s1q.js → dagre-KLK3FWXG-B3xaAjXo.js} +1 -1
  168. package/ui-dist/assets/{diagram-E7M64L7V-BcWqAyuY.js → diagram-E7M64L7V-B7f9YQXK.js} +1 -1
  169. package/ui-dist/assets/{diagram-IFDJBPK2-B-5OERYu.js → diagram-IFDJBPK2-BdIywx8n.js} +1 -1
  170. package/ui-dist/assets/{diagram-P4PSJMXO-BPCuOOZ2.js → diagram-P4PSJMXO-B6Jz8GYG.js} +1 -1
  171. package/ui-dist/assets/{erDiagram-INFDFZHY-Cvau-JqB.js → erDiagram-INFDFZHY-CD_uFaUj.js} +1 -1
  172. package/ui-dist/assets/{flowDiagram-PKNHOUZH-BmTY4iN1.js → flowDiagram-PKNHOUZH-Btsi4bIC.js} +1 -1
  173. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-Rx3_ciMY.js → ganttDiagram-A5KZAMGK-D9607_n7.js} +1 -1
  174. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-BSRwIrhI.js → gitGraphDiagram-K3NZZRJ6-DuJZbawi.js} +1 -1
  175. package/ui-dist/assets/{graph-C8ZACe2j.js → graph-CzzcMZjZ.js} +1 -1
  176. package/ui-dist/assets/{index-BZKsiCwA.js → index-6-mBOW4L.js} +1 -1
  177. package/ui-dist/assets/{index-z1an-zlr.js → index-BElMoOcl.js} +1 -1
  178. package/ui-dist/assets/{index-DP8nG4Ma.js → index-BHTArDmw.js} +1 -1
  179. package/ui-dist/assets/{index-jdhuEGPi.js → index-B_mXuEqJ.js} +1 -1
  180. package/ui-dist/assets/{index-B_wfe9Sq.js → index-Be1rLxo8.js} +1 -1
  181. package/ui-dist/assets/{index-B-SBJR-6.js → index-BlzWsRRW.js} +1 -1
  182. package/ui-dist/assets/{index-B8VxXSbS.js → index-C7eD9kLO.js} +1 -1
  183. package/ui-dist/assets/{index-ChHRnQjN.js → index-CB2kOtYK.js} +1 -1
  184. package/ui-dist/assets/{index-BWBQ0gJ1.js → index-CF3c2_3B.js} +1 -1
  185. package/ui-dist/assets/{index-BBtSnB9K.js → index-CIKUBddL.js} +1 -1
  186. package/ui-dist/assets/{index-DgPWaICy.js → index-CV51eG9V.js} +1 -1
  187. package/ui-dist/assets/index-Cl8ezghO.js +1575 -0
  188. package/ui-dist/assets/{index-B1jERrQP.js → index-CnKhnjg4.js} +1 -1
  189. package/ui-dist/assets/{index-oZ4uufqd.js → index-CxEId4kL.js} +1 -1
  190. package/ui-dist/assets/{index-Bc2KXsRy.js → index-CzoiRvOV.js} +1 -1
  191. package/ui-dist/assets/{index-BMaTBxHN.js → index-DFXiVVb9.js} +1 -1
  192. package/ui-dist/assets/{index-BZSbMc-V.js → index-DIM_TiMc.js} +1 -1
  193. package/ui-dist/assets/{index-B1lP_8Qm.js → index-DNHf2t08.js} +1 -1
  194. package/ui-dist/assets/{index-CIs6NOKk.js → index-DUi_nJkz.js} +1 -1
  195. package/ui-dist/assets/{index-CBTxOaVA.js → index-DZhxjaRV.js} +1 -1
  196. package/ui-dist/assets/{index-CCpTBOz2.js → index-De1w_DPK.js} +1 -1
  197. package/ui-dist/assets/index-DqSQXuKR.css +1 -0
  198. package/ui-dist/assets/{index-Av1vlrq_.js → index-DwK538a4.js} +1 -1
  199. package/ui-dist/assets/{index-jXMbbWhe.js → index-PLtyPrYV.js} +1 -1
  200. package/ui-dist/assets/{infoDiagram-LFFYTUFH-ZZkrWlCG.js → infoDiagram-LFFYTUFH-DiGITl2v.js} +1 -1
  201. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-C2kVJE3b.js → ishikawaDiagram-PHBUUO56-B0Wcc98L.js} +1 -1
  202. package/ui-dist/assets/{journeyDiagram-4ABVD52K-CUD8BfGC.js → journeyDiagram-4ABVD52K-CcwSx0Z4.js} +1 -1
  203. package/ui-dist/assets/{kanban-definition-K7BYSVSG-BSWhRDpQ.js → kanban-definition-K7BYSVSG-DeFt4kJ_.js} +1 -1
  204. package/ui-dist/assets/layout-BrGj-OnF.js +1 -0
  205. package/ui-dist/assets/{linear-B-yRz7s6.js → linear-DuFtuF_z.js} +1 -1
  206. package/ui-dist/assets/{mermaid.core-C-baF8bZ.js → mermaid.core-2Rx3AQaR.js} +57 -57
  207. package/ui-dist/assets/{mindmap-definition-YRQLILUH--gAgZZcl.js → mindmap-definition-YRQLILUH-B1Ng106P.js} +1 -1
  208. package/ui-dist/assets/{pieDiagram-SKSYHLDU-D98SS0Px.js → pieDiagram-SKSYHLDU-CHZc9iJf.js} +1 -1
  209. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-BmE8vYkT.js → quadrantDiagram-337W2JSQ-vPyVOekT.js} +1 -1
  210. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-CBQB1rD1.js → requirementDiagram-Z7DCOOCP-OigqxZdS.js} +1 -1
  211. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-B3YGzVwa.js → sankeyDiagram-WA2Y5GQK-BlqJUkbX.js} +1 -1
  212. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-B2MI2OVq.js → sequenceDiagram-2WXFIKYE-Dz0GHXK-.js} +1 -1
  213. package/ui-dist/assets/{stateDiagram-RAJIS63D-CnS8Uc6U.js → stateDiagram-RAJIS63D-BDp0frpT.js} +1 -1
  214. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-5yU2N9vK.js +1 -0
  215. package/ui-dist/assets/{timeline-definition-YZTLITO2-BSfReMsG.js → timeline-definition-YZTLITO2-Dluuvy7L.js} +1 -1
  216. package/ui-dist/assets/{treemap-KZPCXAKY-C4agj3NM.js → treemap-KZPCXAKY-CPpWyCyI.js} +4 -4
  217. package/ui-dist/assets/{vennDiagram-LZ73GAT5-tQ-QmgUr.js → vennDiagram-LZ73GAT5-CROeIBwe.js} +1 -1
  218. package/ui-dist/assets/{xychartDiagram-JWTSCODW-BcGHupvs.js → xychartDiagram-JWTSCODW-C3xQ6szH.js} +1 -1
  219. package/ui-dist/brands/claude-logo.svg +1 -0
  220. package/ui-dist/brands/cursor-logo.svg +1 -0
  221. package/ui-dist/brands/google-gemini-logo.svg +1 -0
  222. package/ui-dist/brands/openai-logo.svg +1 -0
  223. package/ui-dist/brands/pi-logo.svg +28 -0
  224. package/ui-dist/index.html +2 -2
  225. package/ui-dist/assets/_basePickBy-DHmAX-Ut.js +0 -1
  226. package/ui-dist/assets/_baseUniq-DpYhcode.js +0 -1
  227. package/ui-dist/assets/channel-L2R-jds5.js +0 -1
  228. package/ui-dist/assets/classDiagram-VBA2DB6C-CGKCZZyI.js +0 -1
  229. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-CGKCZZyI.js +0 -1
  230. package/ui-dist/assets/clone-DxezikrM.js +0 -1
  231. package/ui-dist/assets/index-DB4yE_BH.js +0 -1537
  232. package/ui-dist/assets/index-bF3vOu6G.css +0 -1
  233. package/ui-dist/assets/layout-ChF-xA6S.js +0 -1
  234. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DU4TN-D0.js +0 -1
@@ -4,17 +4,17 @@ var __export = (target, all) => {
4
4
  __defProp(target, name, { get: all[name], enumerable: true });
5
5
  };
6
6
 
7
- // ../../sdk/dist/define-plugin.js
7
+ // ../../sdk/src/define-plugin.ts
8
8
  function definePlugin(definition) {
9
9
  return Object.freeze({ definition });
10
10
  }
11
11
 
12
- // ../../sdk/dist/worker-rpc-host.js
12
+ // ../../sdk/src/worker-rpc-host.ts
13
13
  import path from "node:path";
14
14
  import { createInterface } from "node:readline";
15
15
  import { fileURLToPath } from "node:url";
16
16
 
17
- // ../../sdk/dist/protocol.js
17
+ // ../../sdk/src/protocol.ts
18
18
  var JSONRPC_VERSION = "2.0";
19
19
  var JSONRPC_ERROR_CODES = {
20
20
  /** Invalid JSON was received by the server. */
@@ -78,20 +78,17 @@ function createNotification(method, params) {
78
78
  };
79
79
  }
80
80
  function isJsonRpcRequest(value) {
81
- if (typeof value !== "object" || value === null)
82
- return false;
81
+ if (typeof value !== "object" || value === null) return false;
83
82
  const obj = value;
84
83
  return obj.jsonrpc === JSONRPC_VERSION && typeof obj.method === "string" && "id" in obj && obj.id !== void 0 && obj.id !== null;
85
84
  }
86
85
  function isJsonRpcNotification(value) {
87
- if (typeof value !== "object" || value === null)
88
- return false;
86
+ if (typeof value !== "object" || value === null) return false;
89
87
  const obj = value;
90
88
  return obj.jsonrpc === JSONRPC_VERSION && typeof obj.method === "string" && !("id" in obj);
91
89
  }
92
90
  function isJsonRpcResponse(value) {
93
- if (typeof value !== "object" || value === null)
94
- return false;
91
+ if (typeof value !== "object" || value === null) return false;
95
92
  const obj = value;
96
93
  return obj.jsonrpc === JSONRPC_VERSION && "id" in obj && ("result" in obj || "error" in obj);
97
94
  }
@@ -121,7 +118,9 @@ function parseMessage(line) {
121
118
  }
122
119
  const obj = parsed;
123
120
  if (obj.jsonrpc !== JSONRPC_VERSION) {
124
- throw new JsonRpcParseError(`Invalid or missing jsonrpc version (expected "${JSONRPC_VERSION}", got ${JSON.stringify(obj.jsonrpc)})`);
121
+ throw new JsonRpcParseError(
122
+ `Invalid or missing jsonrpc version (expected "${JSONRPC_VERSION}", got ${JSON.stringify(obj.jsonrpc)})`
123
+ );
125
124
  }
126
125
  return parsed;
127
126
  }
@@ -144,7 +143,7 @@ var JsonRpcCallError = class extends Error {
144
143
  }
145
144
  };
146
145
 
147
- // ../../sdk/dist/worker-rpc-host.js
146
+ // ../../sdk/src/worker-rpc-host.ts
148
147
  var DEFAULT_RPC_TIMEOUT_MS = 3e4;
149
148
  function runWorker(plugin2, moduleUrl, options) {
150
149
  if (options?.stdin != null && options?.stdout != null) {
@@ -155,8 +154,7 @@ function runWorker(plugin2, moduleUrl, options) {
155
154
  });
156
155
  }
157
156
  const entry = process.argv[1];
158
- if (typeof entry !== "string")
159
- return;
157
+ if (typeof entry !== "string") return;
160
158
  const thisFile = path.resolve(fileURLToPath(moduleUrl));
161
159
  const entryPath = path.resolve(entry);
162
160
  if (thisFile === entryPath) {
@@ -183,8 +181,7 @@ function startWorkerRpcHost(options) {
183
181
  let nextOutboundId = 1;
184
182
  const MAX_OUTBOUND_ID = Number.MAX_SAFE_INTEGER - 1;
185
183
  function sendMessage(message) {
186
- if (!running)
187
- return;
184
+ if (!running) return;
188
185
  const serialized = serializeMessage(message);
189
186
  stdoutStream.write(serialized);
190
187
  }
@@ -201,18 +198,20 @@ function startWorkerRpcHost(options) {
201
198
  const timeout = timeoutMs ?? rpcTimeoutMs;
202
199
  let settled = false;
203
200
  const settle = (fn, value) => {
204
- if (settled)
205
- return;
201
+ if (settled) return;
206
202
  settled = true;
207
203
  clearTimeout(timer);
208
204
  pendingRequests.delete(id);
209
205
  fn(value);
210
206
  };
211
207
  const timer = setTimeout(() => {
212
- settle(reject, new JsonRpcCallError({
213
- code: PLUGIN_RPC_ERROR_CODES.TIMEOUT,
214
- message: `Worker\u2192host call "${method}" timed out after ${timeout}ms`
215
- }));
208
+ settle(
209
+ reject,
210
+ new JsonRpcCallError({
211
+ code: PLUGIN_RPC_ERROR_CODES.TIMEOUT,
212
+ message: `Worker\u2192host call "${method}" timed out after ${timeout}ms`
213
+ })
214
+ );
216
215
  }, timeout);
217
216
  pendingRequests.set(id, {
218
217
  resolve: (response) => {
@@ -243,8 +242,7 @@ function startWorkerRpcHost(options) {
243
242
  function buildContext() {
244
243
  return {
245
244
  get manifest() {
246
- if (!manifest)
247
- throw new Error("Plugin context accessed before initialization");
245
+ if (!manifest) throw new Error("Plugin context accessed before initialization");
248
246
  return manifest;
249
247
  },
250
248
  config: {
@@ -258,8 +256,7 @@ function startWorkerRpcHost(options) {
258
256
  if (typeof filterOrFn === "function") {
259
257
  registration = { name, fn: filterOrFn };
260
258
  } else {
261
- if (!maybeFn)
262
- throw new Error("Event handler function is required");
259
+ if (!maybeFn) throw new Error("Event handler function is required");
263
260
  registration = { name, filter: filterOrFn, fn: maybeFn };
264
261
  }
265
262
  eventHandlers.push(registration);
@@ -271,8 +268,7 @@ function startWorkerRpcHost(options) {
271
268
  });
272
269
  return () => {
273
270
  const idx = eventHandlers.indexOf(registration);
274
- if (idx !== -1)
275
- eventHandlers.splice(idx, 1);
271
+ if (idx !== -1) eventHandlers.splice(idx, 1);
276
272
  };
277
273
  },
278
274
  async emit(name, orgId, payload) {
@@ -293,8 +289,7 @@ function startWorkerRpcHost(options) {
293
289
  async fetch(url, init) {
294
290
  const serializedInit = {};
295
291
  if (init) {
296
- if (init.method)
297
- serializedInit.method = init.method;
292
+ if (init.method) serializedInit.method = init.method;
298
293
  if (init.headers) {
299
294
  if (init.headers instanceof Headers) {
300
295
  const obj = {};
@@ -304,8 +299,7 @@ function startWorkerRpcHost(options) {
304
299
  serializedInit.headers = obj;
305
300
  } else if (Array.isArray(init.headers)) {
306
301
  const obj = {};
307
- for (const [k, v] of init.headers)
308
- obj[k] = v;
302
+ for (const [k, v] of init.headers) obj[k] = v;
309
303
  serializedInit.headers = obj;
310
304
  } else {
311
305
  serializedInit.headers = init.headers;
@@ -669,7 +663,10 @@ function startWorkerRpcHost(options) {
669
663
  case "executeTool":
670
664
  return handleExecuteTool(params);
671
665
  default:
672
- throw Object.assign(new Error(`Unknown method: ${method}`), { code: JSONRPC_ERROR_CODES.METHOD_NOT_FOUND });
666
+ throw Object.assign(
667
+ new Error(`Unknown method: ${method}`),
668
+ { code: JSONRPC_ERROR_CODES.METHOD_NOT_FOUND }
669
+ );
673
670
  }
674
671
  }
675
672
  async function handleInitialize(params) {
@@ -681,14 +678,10 @@ function startWorkerRpcHost(options) {
681
678
  await plugin2.definition.setup(ctx);
682
679
  initialized = true;
683
680
  const supportedMethods = [];
684
- if (plugin2.definition.onValidateConfig)
685
- supportedMethods.push("validateConfig");
686
- if (plugin2.definition.onConfigChanged)
687
- supportedMethods.push("configChanged");
688
- if (plugin2.definition.onHealth)
689
- supportedMethods.push("health");
690
- if (plugin2.definition.onShutdown)
691
- supportedMethods.push("shutdown");
681
+ if (plugin2.definition.onValidateConfig) supportedMethods.push("validateConfig");
682
+ if (plugin2.definition.onConfigChanged) supportedMethods.push("configChanged");
683
+ if (plugin2.definition.onHealth) supportedMethods.push("health");
684
+ if (plugin2.definition.onShutdown) supportedMethods.push("shutdown");
692
685
  return { ok: true, supportedMethods };
693
686
  }
694
687
  async function handleHealth() {
@@ -710,13 +703,19 @@ function startWorkerRpcHost(options) {
710
703
  }
711
704
  async function handleValidateConfig(params) {
712
705
  if (!plugin2.definition.onValidateConfig) {
713
- throw Object.assign(new Error("validateConfig is not implemented by this plugin"), { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED });
706
+ throw Object.assign(
707
+ new Error("validateConfig is not implemented by this plugin"),
708
+ { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED }
709
+ );
714
710
  }
715
711
  return plugin2.definition.onValidateConfig(params.config);
716
712
  }
717
713
  async function handleConfigChanged(params) {
718
714
  if (!plugin2.definition.onConfigChanged) {
719
- throw Object.assign(new Error("configChanged is not implemented by this plugin"), { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED });
715
+ throw Object.assign(
716
+ new Error("configChanged is not implemented by this plugin"),
717
+ { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED }
718
+ );
720
719
  }
721
720
  currentConfig = params.config;
722
721
  await plugin2.definition.onConfigChanged(params.config);
@@ -727,10 +726,8 @@ function startWorkerRpcHost(options) {
727
726
  const exactMatch = registration.name === event.eventType;
728
727
  const wildcardPluginAll = registration.name === "plugin.*" && event.eventType.startsWith("plugin.");
729
728
  const wildcardPluginOne = registration.name.endsWith(".*") && event.eventType.startsWith(registration.name.slice(0, -1));
730
- if (!exactMatch && !wildcardPluginAll && !wildcardPluginOne)
731
- continue;
732
- if (registration.filter && !allowsEvent(registration.filter, event))
733
- continue;
729
+ if (!exactMatch && !wildcardPluginAll && !wildcardPluginOne) continue;
730
+ if (registration.filter && !allowsEvent(registration.filter, event)) continue;
734
731
  try {
735
732
  await registration.fn(event);
736
733
  } catch (err) {
@@ -751,7 +748,10 @@ function startWorkerRpcHost(options) {
751
748
  }
752
749
  async function handleWebhook(params) {
753
750
  if (!plugin2.definition.onWebhook) {
754
- throw Object.assign(new Error("handleWebhook is not implemented by this plugin"), { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED });
751
+ throw Object.assign(
752
+ new Error("handleWebhook is not implemented by this plugin"),
753
+ { code: PLUGIN_RPC_ERROR_CODES.METHOD_NOT_IMPLEMENTED }
754
+ );
755
755
  }
756
756
  await plugin2.definition.onWebhook(params);
757
757
  }
@@ -760,14 +760,18 @@ function startWorkerRpcHost(options) {
760
760
  if (!handler) {
761
761
  throw new Error(`No data handler registered for key "${params.key}"`);
762
762
  }
763
- return handler(params.renderEnvironment === void 0 ? params.params : { ...params.params, renderEnvironment: params.renderEnvironment });
763
+ return handler(
764
+ params.renderEnvironment === void 0 ? params.params : { ...params.params, renderEnvironment: params.renderEnvironment }
765
+ );
764
766
  }
765
767
  async function handlePerformAction(params) {
766
768
  const handler = actionHandlers.get(params.key);
767
769
  if (!handler) {
768
770
  throw new Error(`No action handler registered for key "${params.key}"`);
769
771
  }
770
- return handler(params.renderEnvironment === void 0 ? params.params : { ...params.params, renderEnvironment: params.renderEnvironment });
772
+ return handler(
773
+ params.renderEnvironment === void 0 ? params.params : { ...params.params, renderEnvironment: params.renderEnvironment }
774
+ );
771
775
  }
772
776
  async function handleExecuteTool(params) {
773
777
  const entry = toolHandlers.get(params.toolName);
@@ -780,41 +784,41 @@ function startWorkerRpcHost(options) {
780
784
  const payload = event.payload;
781
785
  if (filter.orgId !== void 0) {
782
786
  const orgId = event.orgId ?? String(payload?.orgId ?? "");
783
- if (orgId !== filter.orgId)
784
- return false;
787
+ if (orgId !== filter.orgId) return false;
785
788
  }
786
789
  if (filter.projectId !== void 0) {
787
790
  const projectId = event.entityType === "project" ? event.entityId : String(payload?.projectId ?? "");
788
- if (projectId !== filter.projectId)
789
- return false;
791
+ if (projectId !== filter.projectId) return false;
790
792
  }
791
793
  if (filter.agentId !== void 0) {
792
794
  const agentId = event.entityType === "agent" ? event.entityId : String(payload?.agentId ?? "");
793
- if (agentId !== filter.agentId)
794
- return false;
795
+ if (agentId !== filter.agentId) return false;
795
796
  }
796
797
  return true;
797
798
  }
798
799
  function handleHostResponse(response) {
799
800
  const id = response.id;
800
- if (id === null || id === void 0)
801
- return;
801
+ if (id === null || id === void 0) return;
802
802
  const pending = pendingRequests.get(id);
803
- if (!pending)
804
- return;
803
+ if (!pending) return;
805
804
  clearTimeout(pending.timer);
806
805
  pendingRequests.delete(id);
807
806
  pending.resolve(response);
808
807
  }
809
808
  function handleLine(line) {
810
- if (!line.trim())
811
- return;
809
+ if (!line.trim()) return;
812
810
  let message;
813
811
  try {
814
812
  message = parseMessage(line);
815
813
  } catch (err) {
816
814
  if (err instanceof JsonRpcParseError) {
817
- sendMessage(createErrorResponse(null, JSONRPC_ERROR_CODES.PARSE_ERROR, `Parse error: ${err.message}`));
815
+ sendMessage(
816
+ createErrorResponse(
817
+ null,
818
+ JSONRPC_ERROR_CODES.PARSE_ERROR,
819
+ `Parse error: ${err.message}`
820
+ )
821
+ );
818
822
  }
819
823
  return;
820
824
  }
@@ -825,7 +829,13 @@ function startWorkerRpcHost(options) {
825
829
  const errorMessage = err instanceof Error ? err.message : String(err);
826
830
  const errorCode = err?.code ?? PLUGIN_RPC_ERROR_CODES.WORKER_ERROR;
827
831
  try {
828
- sendMessage(createErrorResponse(message.id, typeof errorCode === "number" ? errorCode : PLUGIN_RPC_ERROR_CODES.WORKER_ERROR, errorMessage));
832
+ sendMessage(
833
+ createErrorResponse(
834
+ message.id,
835
+ typeof errorCode === "number" ? errorCode : PLUGIN_RPC_ERROR_CODES.WORKER_ERROR,
836
+ errorMessage
837
+ )
838
+ );
829
839
  } catch {
830
840
  }
831
841
  });
@@ -834,8 +844,7 @@ function startWorkerRpcHost(options) {
834
844
  if (notif.method === "agents.sessions.event" && notif.params) {
835
845
  const event = notif.params;
836
846
  const cb = sessionEventCallbacks.get(event.sessionId);
837
- if (cb)
838
- cb(event);
847
+ if (cb) cb(event);
839
848
  } else if (notif.method === "onEvent" && notif.params) {
840
849
  handleOnEvent(notif.params).catch((err) => {
841
850
  notifyHost("log", {
@@ -854,7 +863,13 @@ function startWorkerRpcHost(options) {
854
863
  }
855
864
  for (const [id, pending] of pendingRequests) {
856
865
  clearTimeout(pending.timer);
857
- pending.resolve(createErrorResponse(id, PLUGIN_RPC_ERROR_CODES.WORKER_UNAVAILABLE, "Worker RPC host is shutting down"));
866
+ pending.resolve(
867
+ createErrorResponse(
868
+ id,
869
+ PLUGIN_RPC_ERROR_CODES.WORKER_UNAVAILABLE,
870
+ "Worker RPC host is shutting down"
871
+ )
872
+ );
858
873
  }
859
874
  pendingRequests.clear();
860
875
  sessionEventCallbacks.clear();
@@ -4942,7 +4957,7 @@ var coerce = {
4942
4957
  };
4943
4958
  var NEVER = INVALID;
4944
4959
 
4945
- // ../../../shared/dist/constants.js
4960
+ // ../../../shared/src/constants.ts
4946
4961
  var ORGANIZATION_STATUSES = ["active", "paused", "archived"];
4947
4962
  var ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES = ["lightweight", "reasoning"];
4948
4963
  var ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES = ["configured", "disabled", "invalid"];
@@ -5079,6 +5094,10 @@ var ORGANIZATION_RESOURCE_KINDS = [
5079
5094
  "url",
5080
5095
  "connector_object"
5081
5096
  ];
5097
+ var ORGANIZATION_RESOURCE_SOURCE_TYPES = [
5098
+ "external",
5099
+ "library"
5100
+ ];
5082
5101
  var PROJECT_RESOURCE_ATTACHMENT_ROLES = [
5083
5102
  "working_set",
5084
5103
  "reference",
@@ -5335,7 +5354,7 @@ var PLUGIN_STATE_SCOPE_KINDS = [
5335
5354
  "run"
5336
5355
  ];
5337
5356
 
5338
- // ../../../shared/dist/validators/instance.js
5357
+ // ../../../shared/src/validators/instance.ts
5339
5358
  var instanceLocaleSchema = external_exports.enum(["en", "zh-CN"]);
5340
5359
  var instanceGeneralSettingsSchema = external_exports.object({
5341
5360
  censorUsernameInLogs: external_exports.boolean().default(false),
@@ -5381,7 +5400,7 @@ var instancePathPickerResultSchema = external_exports.object({
5381
5400
  cancelled: external_exports.boolean()
5382
5401
  }).strict();
5383
5402
 
5384
- // ../../../shared/dist/validators/budget.js
5403
+ // ../../../shared/src/validators/budget.ts
5385
5404
  var upsertBudgetPolicySchema = external_exports.object({
5386
5405
  scopeType: external_exports.enum(BUDGET_SCOPE_TYPES),
5387
5406
  scopeId: external_exports.string().uuid(),
@@ -5407,7 +5426,7 @@ var resolveBudgetIncidentSchema = external_exports.object({
5407
5426
  }
5408
5427
  });
5409
5428
 
5410
- // ../../../shared/dist/validators/organization.js
5429
+ // ../../../shared/src/validators/organization.ts
5411
5430
  var logoAssetIdSchema = external_exports.string().uuid().nullable().optional();
5412
5431
  var brandColorSchema = external_exports.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional();
5413
5432
  var createOrganizationSchema = external_exports.object({
@@ -5431,12 +5450,28 @@ var updateOrganizationBrandingSchema = external_exports.object({
5431
5450
  description: external_exports.string().nullable().optional(),
5432
5451
  brandColor: brandColorSchema,
5433
5452
  logoAssetId: logoAssetIdSchema
5434
- }).strict().refine((value) => value.name !== void 0 || value.description !== void 0 || value.brandColor !== void 0 || value.logoAssetId !== void 0, "At least one branding field must be provided");
5453
+ }).strict().refine(
5454
+ (value) => value.name !== void 0 || value.description !== void 0 || value.brandColor !== void 0 || value.logoAssetId !== void 0,
5455
+ "At least one branding field must be provided"
5456
+ );
5435
5457
  var updateOrganizationWorkspaceFileSchema = external_exports.object({
5436
5458
  content: external_exports.string()
5437
5459
  });
5460
+ var createOrganizationWorkspaceFileSchema = external_exports.object({
5461
+ filePath: external_exports.string().trim().min(1).max(1e3),
5462
+ content: external_exports.string().optional().default("")
5463
+ });
5464
+ var createOrganizationWorkspaceDirectorySchema = external_exports.object({
5465
+ directoryPath: external_exports.string().trim().min(1).max(1e3)
5466
+ });
5467
+ var renameOrganizationWorkspaceEntrySchema = external_exports.object({
5468
+ name: external_exports.string().trim().min(1).max(255)
5469
+ });
5470
+ var moveOrganizationWorkspaceEntrySchema = external_exports.object({
5471
+ destinationDirectoryPath: external_exports.string().trim().max(1e3).default("")
5472
+ });
5438
5473
 
5439
- // ../../../shared/dist/validators/secret.js
5474
+ // ../../../shared/src/validators/secret.ts
5440
5475
  var envBindingPlainSchema = external_exports.object({
5441
5476
  type: external_exports.literal("plain"),
5442
5477
  value: external_exports.string()
@@ -5469,15 +5504,14 @@ var updateSecretSchema = external_exports.object({
5469
5504
  externalRef: external_exports.string().optional().nullable()
5470
5505
  });
5471
5506
 
5472
- // ../../../shared/dist/validators/model-fallbacks.js
5507
+ // ../../../shared/src/validators/model-fallbacks.ts
5473
5508
  var agentRuntimeTypes = new Set(AGENT_RUNTIME_TYPES);
5474
5509
  function isRecord(value) {
5475
5510
  return typeof value === "object" && value !== null && !Array.isArray(value);
5476
5511
  }
5477
5512
  function validateModelFallbacksConfig(value, ctx, pathPrefix) {
5478
5513
  const fallbackModels = value.modelFallbacks;
5479
- if (fallbackModels === void 0)
5480
- return;
5514
+ if (fallbackModels === void 0) return;
5481
5515
  if (!Array.isArray(fallbackModels)) {
5482
5516
  ctx.addIssue({
5483
5517
  code: external_exports.ZodIssueCode.custom,
@@ -5544,9 +5578,13 @@ function validateModelFallbacksConfig(value, ctx, pathPrefix) {
5544
5578
  });
5545
5579
  }
5546
5580
 
5547
- // ../../../shared/dist/validators/organization-intelligence-profile.js
5548
- var organizationIntelligenceProfilePurposeSchema = external_exports.enum(ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES);
5549
- var organizationIntelligenceProfileStatusSchema = external_exports.enum(ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES);
5581
+ // ../../../shared/src/validators/organization-intelligence-profile.ts
5582
+ var organizationIntelligenceProfilePurposeSchema = external_exports.enum(
5583
+ ORGANIZATION_INTELLIGENCE_PROFILE_PURPOSES
5584
+ );
5585
+ var organizationIntelligenceProfileStatusSchema = external_exports.enum(
5586
+ ORGANIZATION_INTELLIGENCE_PROFILE_STATUSES
5587
+ );
5550
5588
  var organizationIntelligenceProfileConfigSchema = external_exports.record(external_exports.unknown()).superRefine((value, ctx) => {
5551
5589
  const envValue = value.env;
5552
5590
  if (envValue !== void 0) {
@@ -5567,23 +5605,56 @@ var upsertOrganizationIntelligenceProfileSchema = external_exports.object({
5567
5605
  status: organizationIntelligenceProfileStatusSchema.optional().default("configured")
5568
5606
  });
5569
5607
 
5570
- // ../../../shared/dist/validators/resource.js
5608
+ // ../../../shared/src/validators/resource.ts
5571
5609
  var organizationResourceKindSchema = external_exports.enum(ORGANIZATION_RESOURCE_KINDS);
5610
+ var organizationResourceSourceTypeSchema = external_exports.enum(ORGANIZATION_RESOURCE_SOURCE_TYPES);
5572
5611
  var projectResourceAttachmentRoleSchema = external_exports.enum(PROJECT_RESOURCE_ATTACHMENT_ROLES);
5573
- var createOrganizationResourceSchema = external_exports.object({
5612
+ var LIBRARY_PATH_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
5613
+ function isValidLibraryProjectPath(locator, kind) {
5614
+ const trimmed = locator.trim();
5615
+ if (!trimmed) return false;
5616
+ if (LIBRARY_PATH_SCHEME_RE.test(trimmed)) return false;
5617
+ if (trimmed.startsWith("/") || trimmed.startsWith("\\") || trimmed.startsWith("~")) return false;
5618
+ if (trimmed.includes("\\")) return false;
5619
+ const parts = trimmed.split("/");
5620
+ if (!parts.every((part) => part.length > 0 && part !== "." && part !== "..")) return false;
5621
+ if (parts[0] !== "projects") return false;
5622
+ return kind === "directory" ? parts.length >= 2 : parts.length >= 3;
5623
+ }
5624
+ function validateLibraryResourceContract(value, ctx) {
5625
+ if (value.sourceType !== "library") return;
5626
+ if (value.kind !== void 0 && value.kind !== "file" && value.kind !== "directory") {
5627
+ ctx.addIssue({
5628
+ code: external_exports.ZodIssueCode.custom,
5629
+ message: "Library resources must be file or directory resources.",
5630
+ path: ["kind"]
5631
+ });
5632
+ }
5633
+ if (value.locator !== void 0 && !isValidLibraryProjectPath(value.locator, value.kind)) {
5634
+ ctx.addIssue({
5635
+ code: external_exports.ZodIssueCode.custom,
5636
+ message: "Library resource locator must be a normalized project Library path.",
5637
+ path: ["locator"]
5638
+ });
5639
+ }
5640
+ }
5641
+ var createOrganizationResourceBaseSchema = external_exports.object({
5574
5642
  name: external_exports.string().min(1),
5575
5643
  kind: organizationResourceKindSchema,
5644
+ sourceType: organizationResourceSourceTypeSchema.optional().default("external"),
5576
5645
  locator: external_exports.string().min(1),
5577
5646
  description: external_exports.string().optional().nullable(),
5578
5647
  metadata: external_exports.record(external_exports.unknown()).optional().nullable()
5579
5648
  });
5649
+ var createOrganizationResourceSchema = createOrganizationResourceBaseSchema.superRefine(validateLibraryResourceContract);
5580
5650
  var updateOrganizationResourceSchema = external_exports.object({
5581
5651
  name: external_exports.string().min(1).optional(),
5582
5652
  kind: organizationResourceKindSchema.optional(),
5653
+ sourceType: organizationResourceSourceTypeSchema.optional(),
5583
5654
  locator: external_exports.string().min(1).optional(),
5584
5655
  description: external_exports.string().optional().nullable(),
5585
5656
  metadata: external_exports.record(external_exports.unknown()).optional().nullable()
5586
- }).strict();
5657
+ }).strict().superRefine(validateLibraryResourceContract);
5587
5658
  var projectResourceAttachmentInputSchema = external_exports.object({
5588
5659
  resourceId: external_exports.string().uuid(),
5589
5660
  role: projectResourceAttachmentRoleSchema.optional(),
@@ -5595,13 +5666,13 @@ var updateProjectResourceAttachmentSchema = external_exports.object({
5595
5666
  note: external_exports.string().optional().nullable(),
5596
5667
  sortOrder: external_exports.number().int().nonnegative().optional()
5597
5668
  }).strict();
5598
- var createProjectInlineResourceSchema = createOrganizationResourceSchema.extend({
5669
+ var createProjectInlineResourceSchema = createOrganizationResourceBaseSchema.extend({
5599
5670
  role: projectResourceAttachmentRoleSchema.optional(),
5600
5671
  note: external_exports.string().optional().nullable(),
5601
5672
  sortOrder: external_exports.number().int().nonnegative().optional()
5602
- }).strict();
5673
+ }).strict().superRefine(validateLibraryResourceContract);
5603
5674
 
5604
- // ../../../shared/dist/validators/chat.js
5675
+ // ../../../shared/src/validators/chat.ts
5605
5676
  var chatConversationStatusSchema = external_exports.enum(CHAT_CONVERSATION_STATUSES);
5606
5677
  var chatIssueCreationModeSchema = external_exports.enum(CHAT_ISSUE_CREATION_MODES);
5607
5678
  var chatMessageRoleSchema = external_exports.enum(CHAT_MESSAGE_ROLES);
@@ -5712,7 +5783,7 @@ var chatAutomationCreateSchema = external_exports.object({
5712
5783
  status: external_exports.enum(AUTOMATION_STATUSES).optional().default("active"),
5713
5784
  concurrencyPolicy: external_exports.enum(AUTOMATION_CONCURRENCY_POLICIES).optional().default("coalesce_if_active"),
5714
5785
  catchUpPolicy: external_exports.enum(AUTOMATION_CATCH_UP_POLICIES).optional().default("skip_missed"),
5715
- outputMode: external_exports.enum(AUTOMATION_OUTPUT_MODES).optional().default("chat_output"),
5786
+ outputMode: external_exports.enum(AUTOMATION_OUTPUT_MODES).optional().default("track_issue"),
5716
5787
  schedule: external_exports.object({
5717
5788
  cronExpression: external_exports.string().trim().min(1),
5718
5789
  timezone: external_exports.string().trim().min(1),
@@ -5774,7 +5845,7 @@ var updateChatConversationUserStateSchema = external_exports.object({
5774
5845
  unread: external_exports.boolean().optional()
5775
5846
  });
5776
5847
 
5777
- // ../../../shared/dist/validators/organization-skill.js
5848
+ // ../../../shared/src/validators/organization-skill.ts
5778
5849
  var organizationSkillSourceTypeSchema = external_exports.enum(["local_path", "github", "url", "catalog", "skills_sh"]);
5779
5850
  var organizationSkillTrustLevelSchema = external_exports.enum(["markdown_only", "assets", "scripts_executables"]);
5780
5851
  var organizationSkillCompatibilitySchema = external_exports.enum(["compatible", "unknown", "invalid"]);
@@ -5929,7 +6000,7 @@ var organizationSkillFileUpdateSchema = external_exports.object({
5929
6000
  content: external_exports.string()
5930
6001
  });
5931
6002
 
5932
- // ../../../shared/dist/validators/adapter-skills.js
6003
+ // ../../../shared/src/validators/adapter-skills.ts
5933
6004
  var agentSkillStateSchema = external_exports.enum([
5934
6005
  "available",
5935
6006
  "configured",
@@ -5939,8 +6010,7 @@ var agentSkillStateSchema = external_exports.enum([
5939
6010
  "external"
5940
6011
  ]);
5941
6012
  var agentSkillOriginSchema = external_exports.preprocess((value) => {
5942
- if (value === "company_managed")
5943
- return "organization_managed";
6013
+ if (value === "company_managed") return "organization_managed";
5944
6014
  return value;
5945
6015
  }, external_exports.enum([
5946
6016
  "organization_managed",
@@ -5994,7 +6064,7 @@ var agentSkillEnableSchema = external_exports.object({
5994
6064
  skills: external_exports.array(external_exports.string().min(1)).min(1)
5995
6065
  });
5996
6066
 
5997
- // ../../../shared/dist/validators/organization-portability.js
6067
+ // ../../../shared/src/validators/organization-portability.ts
5998
6068
  var portabilityIncludeSchema = external_exports.object({
5999
6069
  organization: external_exports.boolean().optional(),
6000
6070
  agents: external_exports.boolean().optional(),
@@ -6201,7 +6271,7 @@ var organizationPortabilityImportSchema = organizationPortabilityPreviewSchema.e
6201
6271
  agentRuntimeOverrides: external_exports.record(external_exports.string().min(1), portabilityAdapterOverrideSchema).optional()
6202
6272
  });
6203
6273
 
6204
- // ../../../shared/dist/validators/agent.js
6274
+ // ../../../shared/src/validators/agent.ts
6205
6275
  var agentPermissionsSchema = external_exports.object({
6206
6276
  canCreateAgents: external_exports.boolean().optional().default(false),
6207
6277
  canManageSkills: external_exports.boolean().optional().default(true)
@@ -6232,24 +6302,40 @@ var agentRuntimeConfigSchema = external_exports.record(external_exports.unknown(
6232
6302
  }
6233
6303
  validateModelFallbacksConfig(value, ctx, []);
6234
6304
  });
6235
- var optionalAgentNameSchema = external_exports.preprocess((value) => {
6236
- if (typeof value !== "string")
6237
- return value;
6238
- const trimmed = value.trim();
6239
- return trimmed.length > 0 ? trimmed : void 0;
6240
- }, external_exports.string().trim().min(1).optional());
6241
- var uploadedAgentIconSchema = external_exports.string().regex(new RegExp(`^asset:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid uploaded avatar reference");
6242
- var diceBearNotionistsAgentIconSchema = external_exports.string().regex(new RegExp(`^${AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX}[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`, "i"), "Invalid DiceBear avatar reference");
6243
- var agentIconSchema = external_exports.preprocess((value) => {
6244
- if (typeof value !== "string")
6245
- return value;
6246
- const trimmed = value.trim();
6247
- return trimmed.length > 0 ? trimmed : null;
6248
- }, external_exports.union([
6249
- external_exports.enum(AGENT_ICON_NAMES),
6250
- uploadedAgentIconSchema,
6251
- diceBearNotionistsAgentIconSchema
6252
- ]).nullable());
6305
+ var optionalAgentNameSchema = external_exports.preprocess(
6306
+ (value) => {
6307
+ if (typeof value !== "string") return value;
6308
+ const trimmed = value.trim();
6309
+ return trimmed.length > 0 ? trimmed : void 0;
6310
+ },
6311
+ external_exports.string().trim().min(1).optional()
6312
+ );
6313
+ var uploadedAgentIconSchema = external_exports.string().regex(
6314
+ new RegExp(
6315
+ `^asset:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`,
6316
+ "i"
6317
+ ),
6318
+ "Invalid uploaded avatar reference"
6319
+ );
6320
+ var diceBearNotionistsAgentIconSchema = external_exports.string().regex(
6321
+ new RegExp(
6322
+ `^${AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX}[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}(?:\\?bg=(?:${AGENT_AVATAR_BACKGROUND_PRESET_IDS.join("|")}))?$`,
6323
+ "i"
6324
+ ),
6325
+ "Invalid DiceBear avatar reference"
6326
+ );
6327
+ var agentIconSchema = external_exports.preprocess(
6328
+ (value) => {
6329
+ if (typeof value !== "string") return value;
6330
+ const trimmed = value.trim();
6331
+ return trimmed.length > 0 ? trimmed : null;
6332
+ },
6333
+ external_exports.union([
6334
+ external_exports.enum(AGENT_ICON_NAMES),
6335
+ uploadedAgentIconSchema,
6336
+ diceBearNotionistsAgentIconSchema
6337
+ ]).nullable()
6338
+ );
6253
6339
  var createAgentSchema = external_exports.object({
6254
6340
  name: optionalAgentNameSchema,
6255
6341
  role: external_exports.enum(AGENT_ROLES).optional().default("general"),
@@ -6288,7 +6374,10 @@ var wakeAgentSchema = external_exports.object({
6288
6374
  reason: external_exports.string().optional().nullable(),
6289
6375
  payload: external_exports.record(external_exports.unknown()).optional().nullable(),
6290
6376
  idempotencyKey: external_exports.string().optional().nullable(),
6291
- forceFreshSession: external_exports.preprocess((value) => value === null ? void 0 : value, external_exports.boolean().optional().default(false))
6377
+ forceFreshSession: external_exports.preprocess(
6378
+ (value) => value === null ? void 0 : value,
6379
+ external_exports.boolean().optional().default(false)
6380
+ )
6292
6381
  });
6293
6382
  var resetAgentSessionSchema = external_exports.object({
6294
6383
  taskKey: external_exports.string().min(1).optional().nullable()
@@ -6302,7 +6391,7 @@ var updateAgentPermissionsSchema = external_exports.object({
6302
6391
  canAssignTasks: external_exports.boolean()
6303
6392
  });
6304
6393
 
6305
- // ../../../shared/dist/validators/project.js
6394
+ // ../../../shared/src/validators/project.ts
6306
6395
  var executionWorkspaceStrategySchema = external_exports.object({
6307
6396
  type: external_exports.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
6308
6397
  baseRef: external_exports.string().optional().nullable(),
@@ -6342,7 +6431,10 @@ var projectWorkspaceFields = {
6342
6431
  };
6343
6432
  var projectColorValues = new Set(PROJECT_COLORS);
6344
6433
  var legacyProjectColorSchema = external_exports.string().regex(/^#[0-9a-fA-F]{6}$/);
6345
- var projectColorSchema = external_exports.string().refine((value) => legacyProjectColorSchema.safeParse(value).success || projectColorValues.has(value), "Color must be a 6-digit hex value or a supported project gradient");
6434
+ var projectColorSchema = external_exports.string().refine(
6435
+ (value) => legacyProjectColorSchema.safeParse(value).success || projectColorValues.has(value),
6436
+ "Color must be a 6-digit hex value or a supported project gradient"
6437
+ );
6346
6438
  function validateProjectWorkspace(value, ctx) {
6347
6439
  const sourceType = value.sourceType ?? "local_path";
6348
6440
  const hasCwd = typeof value.cwd === "string" && value.cwd.trim().length > 0;
@@ -6394,7 +6486,7 @@ var createProjectSchema = external_exports.object({
6394
6486
  });
6395
6487
  var updateProjectSchema = external_exports.object(projectFields).partial();
6396
6488
 
6397
- // ../../../shared/dist/validators/issue.js
6489
+ // ../../../shared/src/validators/issue.ts
6398
6490
  var executionWorkspaceStrategySchema2 = external_exports.object({
6399
6491
  type: external_exports.enum(["project_primary", "git_worktree", "adapter_managed", "cloud_sandbox"]).optional(),
6400
6492
  baseRef: external_exports.string().optional().nullable(),
@@ -6444,9 +6536,12 @@ var createIssueLabelSchema = external_exports.object({
6444
6536
  name: external_exports.string().trim().min(1).max(48),
6445
6537
  color: external_exports.string().regex(/^#(?:[0-9a-fA-F]{6})$/, "Color must be a 6-digit hex value")
6446
6538
  });
6447
- var updateIssueLabelSchema = createIssueLabelSchema.partial().refine((value) => value.name !== void 0 || value.color !== void 0, {
6448
- message: "At least one label field must be provided"
6449
- });
6539
+ var updateIssueLabelSchema = createIssueLabelSchema.partial().refine(
6540
+ (value) => value.name !== void 0 || value.color !== void 0,
6541
+ {
6542
+ message: "At least one label field must be provided"
6543
+ }
6544
+ );
6450
6545
  var updateIssueSchema = createIssueSchema.partial().extend({
6451
6546
  comment: external_exports.string().min(1).optional(),
6452
6547
  reopen: external_exports.boolean().optional(),
@@ -6459,9 +6554,12 @@ var reorderIssueSchema = external_exports.object({
6459
6554
  previousIssueId: external_exports.string().uuid().optional().nullable(),
6460
6555
  nextIssueId: external_exports.string().uuid().optional().nullable(),
6461
6556
  position: external_exports.enum(["start", "end"]).optional()
6462
- }).refine((value) => !(value.previousIssueId && value.nextIssueId && value.previousIssueId === value.nextIssueId), {
6463
- message: "previousIssueId and nextIssueId must be different"
6464
- });
6557
+ }).refine(
6558
+ (value) => !(value.previousIssueId && value.nextIssueId && value.previousIssueId === value.nextIssueId),
6559
+ {
6560
+ message: "previousIssueId and nextIssueId must be different"
6561
+ }
6562
+ );
6465
6563
  var checkoutIssueSchema = external_exports.object({
6466
6564
  agentId: external_exports.string().uuid(),
6467
6565
  expectedStatuses: external_exports.array(external_exports.enum(ISSUE_STATUSES)).nonempty()
@@ -6499,8 +6597,24 @@ var upsertIssueDocumentSchema = external_exports.object({
6499
6597
  changeSummary: external_exports.string().trim().max(500).nullable().optional(),
6500
6598
  baseRevisionId: external_exports.string().uuid().nullable().optional()
6501
6599
  });
6600
+ var createLibraryDocumentSchema = external_exports.object({
6601
+ title: external_exports.string().trim().max(200).nullable().optional(),
6602
+ format: issueDocumentFormatSchema.optional().default("markdown"),
6603
+ body: external_exports.string().max(524288).optional().default(""),
6604
+ changeSummary: external_exports.string().trim().max(500).nullable().optional()
6605
+ });
6606
+ var updateLibraryDocumentSchema = external_exports.object({
6607
+ title: external_exports.string().trim().max(200).nullable().optional(),
6608
+ format: issueDocumentFormatSchema.optional().default("markdown"),
6609
+ body: external_exports.string().max(524288),
6610
+ changeSummary: external_exports.string().trim().max(500).nullable().optional(),
6611
+ baseRevisionId: external_exports.string().uuid().nullable().optional()
6612
+ });
6613
+ var restoreLibraryDocumentRevisionSchema = external_exports.object({
6614
+ changeSummary: external_exports.string().trim().max(500).nullable().optional()
6615
+ });
6502
6616
 
6503
- // ../../../shared/dist/validators/work-product.js
6617
+ // ../../../shared/src/validators/work-product.ts
6504
6618
  var issueWorkProductTypeSchema = external_exports.enum([
6505
6619
  "preview_url",
6506
6620
  "runtime_service",
@@ -6546,7 +6660,7 @@ var createIssueWorkProductSchema = external_exports.object({
6546
6660
  });
6547
6661
  var updateIssueWorkProductSchema = createIssueWorkProductSchema.partial();
6548
6662
 
6549
- // ../../../shared/dist/validators/execution-workspace.js
6663
+ // ../../../shared/src/validators/execution-workspace.ts
6550
6664
  var executionWorkspaceStatusSchema = external_exports.enum([
6551
6665
  "active",
6552
6666
  "idle",
@@ -6561,7 +6675,7 @@ var updateExecutionWorkspaceSchema = external_exports.object({
6561
6675
  metadata: external_exports.record(external_exports.unknown()).optional().nullable()
6562
6676
  }).strict();
6563
6677
 
6564
- // ../../../shared/dist/validators/workspace-backup.js
6678
+ // ../../../shared/src/validators/workspace-backup.ts
6565
6679
  var workspaceBackupTriggerSourceSchema = external_exports.enum(["manual", "scheduled", "pre_restore"]);
6566
6680
  var createWorkspaceBackupSchema = external_exports.object({
6567
6681
  triggerSource: workspaceBackupTriggerSourceSchema.optional().default("manual")
@@ -6570,7 +6684,7 @@ var restoreWorkspaceBackupSchema = external_exports.object({
6570
6684
  confirm: external_exports.literal(true)
6571
6685
  }).strict();
6572
6686
 
6573
- // ../../../shared/dist/validators/goal.js
6687
+ // ../../../shared/src/validators/goal.ts
6574
6688
  var createGoalSchema = external_exports.object({
6575
6689
  title: external_exports.string().min(1),
6576
6690
  description: external_exports.string().optional().nullable(),
@@ -6581,7 +6695,7 @@ var createGoalSchema = external_exports.object({
6581
6695
  });
6582
6696
  var updateGoalSchema = createGoalSchema.partial();
6583
6697
 
6584
- // ../../../shared/dist/validators/approval.js
6698
+ // ../../../shared/src/validators/approval.ts
6585
6699
  var createApprovalSchema = external_exports.object({
6586
6700
  type: external_exports.enum(APPROVAL_TYPES),
6587
6701
  requestedByAgentId: external_exports.string().uuid().optional().nullable(),
@@ -6604,7 +6718,7 @@ var addApprovalCommentSchema = external_exports.object({
6604
6718
  body: external_exports.string().min(1)
6605
6719
  });
6606
6720
 
6607
- // ../../../shared/dist/validators/automation.js
6721
+ // ../../../shared/src/validators/automation.ts
6608
6722
  var automationBodySchema = external_exports.object({
6609
6723
  projectId: external_exports.string().uuid().optional().nullable().default(null),
6610
6724
  goalId: external_exports.string().uuid().optional().nullable(),
@@ -6616,7 +6730,7 @@ var automationBodySchema = external_exports.object({
6616
6730
  status: external_exports.enum(AUTOMATION_STATUSES).optional().default("active"),
6617
6731
  concurrencyPolicy: external_exports.enum(AUTOMATION_CONCURRENCY_POLICIES).optional().default("coalesce_if_active"),
6618
6732
  catchUpPolicy: external_exports.enum(AUTOMATION_CATCH_UP_POLICIES).optional().default("skip_missed"),
6619
- outputMode: external_exports.enum(AUTOMATION_OUTPUT_MODES).optional().default("chat_output"),
6733
+ outputMode: external_exports.enum(AUTOMATION_OUTPUT_MODES).optional().default("track_issue"),
6620
6734
  chatConversationId: external_exports.string().uuid().optional().nullable().default(null)
6621
6735
  });
6622
6736
  var createAutomationSchema = automationBodySchema.superRefine((value, ctx) => {
@@ -6672,7 +6786,7 @@ var runAutomationSchema = external_exports.object({
6672
6786
  });
6673
6787
  var rotateAutomationTriggerSecretSchema = external_exports.object({});
6674
6788
 
6675
- // ../../../shared/dist/validators/calendar.js
6789
+ // ../../../shared/src/validators/calendar.ts
6676
6790
  var nullableUuid = external_exports.string().uuid().optional().nullable();
6677
6791
  var createCalendarSourceSchema = external_exports.object({
6678
6792
  type: external_exports.enum(CALENDAR_SOURCE_TYPES).optional().default("rudder_local"),
@@ -6716,8 +6830,14 @@ var calendarEventBaseSchema = external_exports.object({
6716
6830
  externalEtag: external_exports.string().trim().min(1).max(512).optional().nullable(),
6717
6831
  externalUpdatedAt: external_exports.coerce.date().optional().nullable()
6718
6832
  });
6719
- var createCalendarEventSchema = calendarEventBaseSchema.refine((value) => value.endAt.getTime() > value.startAt.getTime(), { path: ["endAt"], message: "End time must be after start time" });
6720
- var updateCalendarEventSchema = calendarEventBaseSchema.partial().refine((value) => value.startAt === void 0 || value.endAt === void 0 || value.endAt.getTime() > value.startAt.getTime(), { path: ["endAt"], message: "End time must be after start time" });
6833
+ var createCalendarEventSchema = calendarEventBaseSchema.refine(
6834
+ (value) => value.endAt.getTime() > value.startAt.getTime(),
6835
+ { path: ["endAt"], message: "End time must be after start time" }
6836
+ );
6837
+ var updateCalendarEventSchema = calendarEventBaseSchema.partial().refine(
6838
+ (value) => value.startAt === void 0 || value.endAt === void 0 || value.endAt.getTime() > value.startAt.getTime(),
6839
+ { path: ["endAt"], message: "End time must be after start time" }
6840
+ );
6721
6841
  var calendarEventListQuerySchema = external_exports.object({
6722
6842
  start: external_exports.coerce.date(),
6723
6843
  end: external_exports.coerce.date(),
@@ -6725,7 +6845,10 @@ var calendarEventListQuerySchema = external_exports.object({
6725
6845
  sourceIds: external_exports.string().optional(),
6726
6846
  eventKinds: external_exports.string().optional(),
6727
6847
  statuses: external_exports.string().optional()
6728
- }).refine((value) => value.end.getTime() > value.start.getTime(), { path: ["end"], message: "End time must be after start time" });
6848
+ }).refine(
6849
+ (value) => value.end.getTime() > value.start.getTime(),
6850
+ { path: ["end"], message: "End time must be after start time" }
6851
+ );
6729
6852
  var googleCalendarSyncSchema = external_exports.object({
6730
6853
  sourceId: external_exports.string().uuid().optional().nullable()
6731
6854
  });
@@ -6733,9 +6856,12 @@ var updateGoogleCalendarOAuthConfigSchema = external_exports.object({
6733
6856
  clientId: external_exports.string().trim().min(1).max(512).optional(),
6734
6857
  clientSecret: external_exports.string().trim().min(1).max(2048).optional(),
6735
6858
  clear: external_exports.boolean().optional().default(false)
6736
- }).refine((value) => value.clear || value.clientId !== void 0 || value.clientSecret !== void 0, { message: "Provide credentials or clear the stored Google Calendar OAuth configuration" });
6859
+ }).refine(
6860
+ (value) => value.clear || value.clientId !== void 0 || value.clientSecret !== void 0,
6861
+ { message: "Provide credentials or clear the stored Google Calendar OAuth configuration" }
6862
+ );
6737
6863
 
6738
- // ../../../shared/dist/validators/cost.js
6864
+ // ../../../shared/src/validators/cost.ts
6739
6865
  var createCostEventSchema = external_exports.object({
6740
6866
  agentId: external_exports.string().uuid(),
6741
6867
  issueId: external_exports.string().uuid().optional().nullable(),
@@ -6760,7 +6886,7 @@ var updateBudgetSchema = external_exports.object({
6760
6886
  budgetMonthlyCents: external_exports.number().int().nonnegative()
6761
6887
  });
6762
6888
 
6763
- // ../../../shared/dist/validators/finance.js
6889
+ // ../../../shared/src/validators/finance.ts
6764
6890
  var createFinanceEventSchema = external_exports.object({
6765
6891
  agentId: external_exports.string().uuid().optional().nullable(),
6766
6892
  issueId: external_exports.string().uuid().optional().nullable(),
@@ -6791,12 +6917,12 @@ var createFinanceEventSchema = external_exports.object({
6791
6917
  currency: value.currency.toUpperCase()
6792
6918
  }));
6793
6919
 
6794
- // ../../../shared/dist/validators/asset.js
6920
+ // ../../../shared/src/validators/asset.ts
6795
6921
  var createAssetImageMetadataSchema = external_exports.object({
6796
6922
  namespace: external_exports.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9/_-]+$/).optional()
6797
6923
  });
6798
6924
 
6799
- // ../../../shared/dist/validators/access.js
6925
+ // ../../../shared/src/validators/access.ts
6800
6926
  var createCompanyInviteSchema = external_exports.object({
6801
6927
  allowedJoinTypes: external_exports.enum(INVITE_JOIN_TYPES).default("both"),
6802
6928
  defaultsPayload: external_exports.record(external_exports.string(), external_exports.unknown()).optional().nullable(),
@@ -6839,36 +6965,41 @@ var resolveCliAuthChallengeSchema = external_exports.object({
6839
6965
  token: external_exports.string().min(16).max(256)
6840
6966
  });
6841
6967
  var updateMemberPermissionsSchema = external_exports.object({
6842
- grants: external_exports.array(external_exports.object({
6843
- permissionKey: external_exports.enum(PERMISSION_KEYS),
6844
- scope: external_exports.record(external_exports.string(), external_exports.unknown()).optional().nullable()
6845
- }))
6968
+ grants: external_exports.array(
6969
+ external_exports.object({
6970
+ permissionKey: external_exports.enum(PERMISSION_KEYS),
6971
+ scope: external_exports.record(external_exports.string(), external_exports.unknown()).optional().nullable()
6972
+ })
6973
+ )
6846
6974
  });
6847
6975
  var updateUserCompanyAccessSchema = external_exports.object({
6848
6976
  orgIds: external_exports.array(external_exports.string().uuid()).default([])
6849
6977
  });
6850
6978
 
6851
- // ../../../shared/dist/validators/plugin.js
6852
- var jsonSchemaSchema = external_exports.record(external_exports.unknown()).refine((val) => {
6853
- if (Object.keys(val).length === 0)
6854
- return true;
6855
- return typeof val.type === "string" || val.$ref !== void 0 || val.oneOf !== void 0 || val.anyOf !== void 0 || val.allOf !== void 0;
6856
- }, { message: "Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)" });
6979
+ // ../../../shared/src/validators/plugin.ts
6980
+ var jsonSchemaSchema = external_exports.record(external_exports.unknown()).refine(
6981
+ (val) => {
6982
+ if (Object.keys(val).length === 0) return true;
6983
+ return typeof val.type === "string" || val.$ref !== void 0 || val.oneOf !== void 0 || val.anyOf !== void 0 || val.allOf !== void 0;
6984
+ },
6985
+ { message: "Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)" }
6986
+ );
6857
6987
  var CRON_FIELD_PATTERN = /^(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?)(?:,(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?))*$/;
6858
6988
  function isValidCronExpression(expression) {
6859
6989
  const trimmed = expression.trim();
6860
- if (!trimmed)
6861
- return false;
6990
+ if (!trimmed) return false;
6862
6991
  const fields = trimmed.split(/\s+/);
6863
- if (fields.length !== 5)
6864
- return false;
6992
+ if (fields.length !== 5) return false;
6865
6993
  return fields.every((f) => CRON_FIELD_PATTERN.test(f));
6866
6994
  }
6867
6995
  var pluginJobDeclarationSchema = external_exports.object({
6868
6996
  jobKey: external_exports.string().min(1),
6869
6997
  displayName: external_exports.string().min(1),
6870
6998
  description: external_exports.string().optional(),
6871
- schedule: external_exports.string().refine((val) => isValidCronExpression(val), { message: "schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')" }).optional()
6999
+ schedule: external_exports.string().refine(
7000
+ (val) => isValidCronExpression(val),
7001
+ { message: "schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')" }
7002
+ ).optional()
6872
7003
  });
6873
7004
  var pluginWebhookDeclarationSchema = external_exports.object({
6874
7005
  endpointKey: external_exports.string().min(1),
@@ -7049,15 +7180,27 @@ var pluginLauncherDeclarationSchema = external_exports.object({
7049
7180
  }
7050
7181
  });
7051
7182
  var pluginManifestV1Schema = external_exports.object({
7052
- id: external_exports.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/, "Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),
7183
+ id: external_exports.string().min(1).regex(
7184
+ /^[a-z0-9][a-z0-9._-]*$/,
7185
+ "Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"
7186
+ ),
7053
7187
  apiVersion: external_exports.literal(1),
7054
- version: external_exports.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),
7188
+ version: external_exports.string().min(1).regex(
7189
+ /^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,
7190
+ "Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"
7191
+ ),
7055
7192
  displayName: external_exports.string().min(1).max(100),
7056
7193
  description: external_exports.string().min(1).max(500),
7057
7194
  author: external_exports.string().min(1).max(200),
7058
7195
  categories: external_exports.array(external_exports.enum(PLUGIN_CATEGORIES)).min(1),
7059
- minimumHostVersion: external_exports.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),
7060
- minimumPaperclipVersion: external_exports.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumPaperclipVersion must follow semver (e.g. 1.0.0)").optional(),
7196
+ minimumHostVersion: external_exports.string().regex(
7197
+ /^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,
7198
+ "minimumHostVersion must follow semver (e.g. 1.0.0)"
7199
+ ).optional(),
7200
+ minimumPaperclipVersion: external_exports.string().regex(
7201
+ /^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,
7202
+ "minimumPaperclipVersion must follow semver (e.g. 1.0.0)"
7203
+ ).optional(),
7061
7204
  capabilities: external_exports.array(external_exports.enum(PLUGIN_CAPABILITIES)).min(1),
7062
7205
  entrypoints: external_exports.object({
7063
7206
  worker: external_exports.string().min(1),
@@ -7217,7 +7360,7 @@ var listPluginStateSchema = external_exports.object({
7217
7360
  namespace: external_exports.string().min(1).optional()
7218
7361
  });
7219
7362
 
7220
- // ../../../shared/dist/api.js
7363
+ // ../../../shared/src/api.ts
7221
7364
  var API_PREFIX = "/api";
7222
7365
  var API = {
7223
7366
  health: `${API_PREFIX}/health`,
@@ -7241,7 +7384,7 @@ var API = {
7241
7384
  admin: `${API_PREFIX}/admin`
7242
7385
  };
7243
7386
 
7244
- // ../../../shared/dist/organization-skill-reference.js
7387
+ // ../../../shared/src/organization-skill-reference.ts
7245
7388
  var RUDDER_BUNDLED_SKILL_SLUGS = [
7246
7389
  "para-memory-files",
7247
7390
  "rudder",
@@ -7251,12 +7394,21 @@ var RUDDER_BUNDLED_SKILL_SLUGS = [
7251
7394
  "skill-optimizer",
7252
7395
  "conversation-to-skill"
7253
7396
  ];
7254
- var RUDDER_BUNDLED_SKILL_KEYS = new Set(RUDDER_BUNDLED_SKILL_SLUGS.map((slug) => `rudder/${slug}`));
7397
+ var RUDDER_BUNDLED_SKILL_KEYS = new Set(
7398
+ RUDDER_BUNDLED_SKILL_SLUGS.map((slug) => `rudder/${slug}`)
7399
+ );
7255
7400
 
7256
- // ../../../shared/dist/project-mentions.js
7401
+ // ../../../shared/src/project-mentions.ts
7402
+ var AGENT_AVATAR_UUID_RE = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}";
7403
+ var AGENT_ASSET_ICON_RE = new RegExp(`^asset:${AGENT_AVATAR_UUID_RE}(?:\\?bg=([a-z0-9-]+))?$`, "i");
7404
+ var AGENT_DICEBEAR_NOTIONISTS_ICON_RE = new RegExp(
7405
+ `^${AGENT_DICEBEAR_NOTIONISTS_ICON_PREFIX}${AGENT_AVATAR_UUID_RE}(?:\\?bg=([a-z0-9-]+))?$`,
7406
+ "i"
7407
+ );
7257
7408
  var PROJECT_COLOR_VALUES = new Set(PROJECT_COLORS);
7409
+ var AGENT_AVATAR_BACKGROUND_VALUES = new Set(AGENT_AVATAR_BACKGROUND_PRESET_IDS);
7258
7410
 
7259
- // ../../../shared/dist/config-schema.js
7411
+ // ../../../shared/src/config-schema.ts
7260
7412
  var DEFAULT_DATABASE_BACKUP_MAX_ESTIMATED_BYTES = 256 * 1024 * 1024;
7261
7413
  var configMetaSchema = external_exports.object({
7262
7414
  version: external_exports.literal(1),