crewly 1.20.280 → 1.20.282

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 (80) hide show
  1. package/config/hooks/live-checkout-guard/guard.mjs +452 -0
  2. package/config/skills/agent/core/receive-file/SKILL.md +53 -0
  3. package/config/skills/agent/core/receive-file/execute.sh +125 -0
  4. package/config/skills/agent/core/receive-file/execute.test.sh +80 -0
  5. package/config/skills/agent/core/send-file/SKILL.md +62 -0
  6. package/config/skills/agent/core/send-file/execute.sh +145 -0
  7. package/config/skills/agent/core/send-file/execute.test.sh +81 -0
  8. package/dist/backend/backend/src/constants.d.ts +30 -1
  9. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  10. package/dist/backend/backend/src/constants.js +38 -0
  11. package/dist/backend/backend/src/constants.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts +12 -0
  13. package/dist/backend/backend/src/controllers/apps/apps.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/apps/apps.controller.js +41 -0
  15. package/dist/backend/backend/src/controllers/apps/apps.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts +4 -0
  17. package/dist/backend/backend/src/controllers/apps/apps.routes.d.ts.map +1 -1
  18. package/dist/backend/backend/src/controllers/apps/apps.routes.js +12 -1
  19. package/dist/backend/backend/src/controllers/apps/apps.routes.js.map +1 -1
  20. package/dist/backend/backend/src/controllers/connector/remote-mcp-proxy.controller.d.ts +5 -0
  21. package/dist/backend/backend/src/controllers/connector/remote-mcp-proxy.controller.d.ts.map +1 -1
  22. package/dist/backend/backend/src/controllers/connector/remote-mcp-proxy.controller.js +42 -1
  23. package/dist/backend/backend/src/controllers/connector/remote-mcp-proxy.controller.js.map +1 -1
  24. package/dist/backend/backend/src/controllers/connector/remote-mcp-tool-policy.d.ts +72 -0
  25. package/dist/backend/backend/src/controllers/connector/remote-mcp-tool-policy.d.ts.map +1 -0
  26. package/dist/backend/backend/src/controllers/connector/remote-mcp-tool-policy.js +113 -0
  27. package/dist/backend/backend/src/controllers/connector/remote-mcp-tool-policy.js.map +1 -0
  28. package/dist/backend/backend/src/index.d.ts.map +1 -1
  29. package/dist/backend/backend/src/index.js +25 -1
  30. package/dist/backend/backend/src/index.js.map +1 -1
  31. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +4 -1
  32. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +11 -2
  34. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/agent/credential-guard.service.d.ts +3 -2
  36. package/dist/backend/backend/src/services/agent/credential-guard.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/agent/credential-guard.service.js +12 -4
  38. package/dist/backend/backend/src/services/agent/credential-guard.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/agent/live-checkout-guard.service.d.ts +45 -0
  40. package/dist/backend/backend/src/services/agent/live-checkout-guard.service.d.ts.map +1 -0
  41. package/dist/backend/backend/src/services/agent/live-checkout-guard.service.js +109 -0
  42. package/dist/backend/backend/src/services/agent/live-checkout-guard.service.js.map +1 -0
  43. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +13 -7
  45. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  46. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  48. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  49. package/dist/backend/backend/src/utils/boot-owner-alert.d.ts +33 -0
  50. package/dist/backend/backend/src/utils/boot-owner-alert.d.ts.map +1 -0
  51. package/dist/backend/backend/src/utils/boot-owner-alert.js +60 -0
  52. package/dist/backend/backend/src/utils/boot-owner-alert.js.map +1 -0
  53. package/dist/backend/backend/src/utils/build-provenance.d.ts +38 -0
  54. package/dist/backend/backend/src/utils/build-provenance.d.ts.map +1 -1
  55. package/dist/backend/backend/src/utils/build-provenance.js +63 -1
  56. package/dist/backend/backend/src/utils/build-provenance.js.map +1 -1
  57. package/dist/backend/build-info.json +2 -2
  58. package/dist/cli/backend/src/constants.d.ts +30 -1
  59. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  60. package/dist/cli/backend/src/constants.js +38 -0
  61. package/dist/cli/backend/src/constants.js.map +1 -1
  62. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +4 -1
  63. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +11 -2
  65. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  66. package/dist/cli/backend/src/services/agent/credential-guard.service.d.ts +3 -2
  67. package/dist/cli/backend/src/services/agent/credential-guard.service.d.ts.map +1 -1
  68. package/dist/cli/backend/src/services/agent/credential-guard.service.js +12 -4
  69. package/dist/cli/backend/src/services/agent/credential-guard.service.js.map +1 -1
  70. package/dist/cli/backend/src/services/agent/live-checkout-guard.service.d.ts +45 -0
  71. package/dist/cli/backend/src/services/agent/live-checkout-guard.service.d.ts.map +1 -0
  72. package/dist/cli/backend/src/services/agent/live-checkout-guard.service.js +109 -0
  73. package/dist/cli/backend/src/services/agent/live-checkout-guard.service.js.map +1 -0
  74. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +13 -7
  76. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  77. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  78. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  79. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  80. package/package.json +1 -1
@@ -300,4 +300,45 @@ export const useTemplate = handle(async (req, caller) => {
300
300
  export const unlistTemplate = handle(async (req, caller) => requireTemplates().unlist(req.params.templateId, caller));
301
301
  /** POST /api/apps/:appId/template-files `{ source? }` — the template files of an app made from a template */
302
302
  export const checkoutTemplateFiles = handle(async (req, caller) => requireTemplates().checkout(req.params.appId, caller, { source: body(req).source }));
303
+ // ---------------------------------------------------------------------------
304
+ // File handoff (crewly-services apps/SPEC.md section 18): a temporary relay for one
305
+ // large file between agents of the same account. The bytes never pass through
306
+ // this backend: the skills PUT to / GET from the presigned URLs Cloud returns.
307
+ // ---------------------------------------------------------------------------
308
+ const HANDOFF_ID_RE = /^hf_[A-Za-z0-9_-]{22}$/;
309
+ /** A handoff id from the URL, or a 404 that names nothing. */
310
+ function handoffIdOf(req) {
311
+ const id = req.params.handoffId;
312
+ if (!HANDOFF_ID_RE.test(id))
313
+ throw new AppsCloudError(404, 'not_found', 'No such handoff.');
314
+ return id;
315
+ }
316
+ /** Call Cloud's handoff API as this agent (or the owner). */
317
+ function handoffCall(method, path, caller, reqBody) {
318
+ return getAppsParts().client.request(method, path, {
319
+ ...(reqBody !== undefined ? { body: reqBody } : {}),
320
+ ...(caller.agentSession ? { agent: caller.agentSession } : { asOwner: true }),
321
+ });
322
+ }
323
+ /** POST /api/apps/handoffs `{ fileName, sizeBytes, contentType?, note?, to? }` — reserve a handoff; answers a presigned upload URL */
324
+ export const createHandoff = handle(async (req, caller) => {
325
+ const b = body(req);
326
+ const result = await handoffCall('POST', '/handoffs', caller, { fileName: b.fileName, sizeBytes: b.sizeBytes, contentType: b.contentType, note: b.note, to: b.to });
327
+ logger.info('File handoff created', { handoffId: result.handoffId, sizeBytes: result.sizeBytes, agent: caller.agentSession ?? 'owner' });
328
+ return result;
329
+ }, 201);
330
+ /** POST /api/apps/handoffs/:handoffId/complete — the upload finished; Cloud checks the size */
331
+ export const completeHandoff = handle((req, caller) => handoffCall('POST', `/handoffs/${handoffIdOf(req)}/complete`, caller));
332
+ /** GET /api/apps/handoffs/:handoffId — metadata, plus a presigned download URL once ready */
333
+ export const getHandoff = handle((req, caller) => handoffCall('GET', `/handoffs/${handoffIdOf(req)}`, caller));
334
+ /** GET /api/apps/handoffs — the account's waiting handoffs */
335
+ export const listHandoffs = handle((_req, caller) => handoffCall('GET', '/handoffs', caller));
336
+ /** POST /api/apps/handoffs/:handoffId/ack — received; Cloud deletes the file */
337
+ export const ackHandoff = handle(async (req, caller) => {
338
+ const result = await handoffCall('POST', `/handoffs/${handoffIdOf(req)}/ack`, caller);
339
+ logger.info('File handoff acknowledged', { handoffId: req.params.handoffId, agent: caller.agentSession ?? 'owner' });
340
+ return result;
341
+ });
342
+ /** DELETE /api/apps/handoffs/:handoffId — withdraw */
343
+ export const cancelHandoff = handle((req, caller) => handoffCall('DELETE', `/handoffs/${handoffIdOf(req)}`, caller));
303
344
  //# sourceMappingURL=apps.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,GAAY;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAa,EAAE,GAAY;IACvD,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,WAAW,CAAC,aAAa;YAC1D,CAAC,CAAC,+EAA+E;YACjF,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;gBACxB,CAAC,CAAC,oDAAoD;gBACtD,CAAC,CAAC,SAAS,CAAC;QAClB,qGAAqG;QACrG,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,WAAW,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACrJ,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC,CAAC;AAClI,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,EAA0D,EAAE,MAAM,GAAG,GAAG,EAAE,OAA6B,EAAE;IACvH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,CAAC,GAAY,EAA2B,EAAE,CACrD,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,IAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;AAEpH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,OAAO,CACjD,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,EAClJ,MAAM,CACP,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;QACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1B,wFAAwF;AACxF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC5G,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC;IAC/J,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1B,6DAA6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhI,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElI,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjH,uHAAuH;AACvH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9J,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;IACjI,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1B,iDAAiD;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjI,yCAAyC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvM,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9G;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1F,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC;IACnI,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,uKAAuK;AACvK,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpJ,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjI,mDAAmD;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtF,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/G,wDAAwD;AACxD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAC7C,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CACrI,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;AAEnJ,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhJ,8DAA8D;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAC3C,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CACjH,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,YAAY,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9H,CAAC,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,0GAA0G,CAAC,CAAC;IAChK,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,IAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,UAAU,IAAI,SAAS,CAAC;IACjC,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,0BAA0B,CAAC;IAC7I,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAuC,CAAC;IAChK,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC;IAC/I,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,GAAG,CAAC,CAAC;AAER,2EAA2E;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErI,+CAA+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAErI,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAChC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EACpH,GAAG,CACJ,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1J,uDAAuD;AACvD,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAExJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAA0E,CAAC;IAC5J,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;KACtK,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;IAClI,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAC7H,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;IACvF,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;YAC1H,OAAO;QACT,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;YACvH,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QAC/C,KAAK,UAAU;aACZ,UAAU,CAAC,IAAI,CAAC;aAChB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC,CAAC;AAEF,mJAAmJ;AACnJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAEnI,2GAA2G;AAC3G,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9G,yGAAyG;AACzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7H,qDAAqD;AACrD,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,kDAAkD,CAAC,CAAC;IAC3G,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,iDAAiD;AACjD,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,SAAS,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,kDAAkD,CAAC,CAAC;IAC3G,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uJAAuJ;AACvJ,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE;QAC/E,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC;IACjM,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CACxD,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAC9H,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3F,qHAAqH;AACrH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACtD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/G,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3I,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,GAAG,CAAC,CAAC;AAER,gHAAgH;AAChH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtH,6GAA6G;AAC7G,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"apps.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.controller.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@
35
35
  * - POST /:appId/comments/:commentId/replies — reply `{ text }`
36
36
  * - POST /:appId/comments/:commentId/resolve — resolve (`/reopen` reopens)
37
37
  * - POST /:appId/comments/:commentId/audio — download its voice recordings here; answers local paths
38
+ * - POST /handoffs — `{ fileName, sizeBytes, contentType?, note?, to? }`: reserve a large-file handoff; answers a presigned upload URL
39
+ * - POST /handoffs/:handoffId/complete — upload finished (Cloud checks the size)
40
+ * - GET /handoffs/:handoffId — metadata + presigned download URL once ready (`GET /handoffs` lists)
41
+ * - POST /handoffs/:handoffId/ack — received: Cloud deletes the file (`DELETE /handoffs/:handoffId` withdraws)
38
42
  * - GET /templates — `?q&tag&category&limit`: search Marketplace app templates
39
43
  * - GET /templates/mine — this account's own templates
40
44
  * - POST /templates/:templateId/use — `{ name?, source? }`: a new app from a template (+ its files)
@@ -1 +1 @@
1
- {"version":3,"file":"apps.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAgB,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AA4D/G;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAS5E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ5F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ3F;AAeD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CA6CzC"}
1
+ {"version":3,"file":"apps.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAgB,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE/G;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAS5E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ5F;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAQ3F;AAeD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAoDzC"}
@@ -35,6 +35,10 @@
35
35
  * - POST /:appId/comments/:commentId/replies — reply `{ text }`
36
36
  * - POST /:appId/comments/:commentId/resolve — resolve (`/reopen` reopens)
37
37
  * - POST /:appId/comments/:commentId/audio — download its voice recordings here; answers local paths
38
+ * - POST /handoffs — `{ fileName, sizeBytes, contentType?, note?, to? }`: reserve a large-file handoff; answers a presigned upload URL
39
+ * - POST /handoffs/:handoffId/complete — upload finished (Cloud checks the size)
40
+ * - GET /handoffs/:handoffId — metadata + presigned download URL once ready (`GET /handoffs` lists)
41
+ * - POST /handoffs/:handoffId/ack — received: Cloud deletes the file (`DELETE /handoffs/:handoffId` withdraws)
38
42
  * - GET /templates — `?q&tag&category&limit`: search Marketplace app templates
39
43
  * - GET /templates/mine — this account's own templates
40
44
  * - POST /templates/:templateId/use — `{ name?, source? }`: a new app from a template (+ its files)
@@ -51,7 +55,7 @@
51
55
  import express, { Router } from 'express';
52
56
  import { ownerOrVerifiedAgent, rejectNonOwner } from '../../middleware/caller-identity.middleware.js';
53
57
  import { CREWLY_APPS_CONSTANTS } from '../../constants.js';
54
- import { publishApp, listApps, rollbackApp, transferApp, getAppOwner, setAppOwner, addAgentCollaborator, requestCollaborator, listCollaborators, addCollaborator, removeCollaborator, listVersions, listDocs, addDoc, getDoc, setDoc, updateDoc, deleteDoc, shareApp, listLinks, revokeLink, revokeLinks, requestPublic, cancelPublicRequest, makePrivate, listComments, getComment, replyComment, resolveComment, reopenComment, downloadCommentAudio, refreshThumbnail, refreshAllThumbnails, uploadFile, requestTemplate, findTemplates, myTemplates, useTemplate, unlistTemplate, checkoutTemplateFiles, } from './apps.controller.js';
58
+ import { publishApp, listApps, rollbackApp, transferApp, getAppOwner, setAppOwner, addAgentCollaborator, requestCollaborator, listCollaborators, addCollaborator, removeCollaborator, listVersions, listDocs, addDoc, getDoc, setDoc, updateDoc, deleteDoc, shareApp, listLinks, revokeLink, revokeLinks, requestPublic, cancelPublicRequest, makePrivate, listComments, getComment, replyComment, resolveComment, reopenComment, downloadCommentAudio, refreshThumbnail, refreshAllThumbnails, uploadFile, requestTemplate, findTemplates, myTemplates, useTemplate, unlistTemplate, checkoutTemplateFiles, createHandoff, completeHandoff, getHandoff, listHandoffs, ackHandoff, cancelHandoff, } from './apps.controller.js';
55
59
  const C = CREWLY_APPS_CONSTANTS;
56
60
  /**
57
61
  * The declared body size, or null when the request does not say.
@@ -147,6 +151,13 @@ export function createAppsRouter() {
147
151
  router.post('/templates/:templateId/unlist', unlistTemplate);
148
152
  router.post('/:appId/template-request', requestTemplate);
149
153
  router.post('/:appId/template-files', checkoutTemplateFiles);
154
+ // File handoff (large files between agents): registered before the /:appId routes.
155
+ router.post('/handoffs', createHandoff);
156
+ router.get('/handoffs', listHandoffs);
157
+ router.get('/handoffs/:handoffId', getHandoff);
158
+ router.post('/handoffs/:handoffId/complete', completeHandoff);
159
+ router.post('/handoffs/:handoffId/ack', ackHandoff);
160
+ router.delete('/handoffs/:handoffId', cancelHandoff);
150
161
  router.post('/thumbnails/refresh-all', refreshAllThumbnails);
151
162
  router.post('/:appId/thumbnail/refresh', refreshThumbnail);
152
163
  router.post('/:appId/transfer', transferApp);
@@ -1 +1 @@
1
- {"version":3,"file":"apps.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/apps/apps.routes.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@
17
17
  * retried; when that fails the owner gets a sign-in card (throttled) and
18
18
  * the agent gets a JSON-RPC error saying so.
19
19
  *
20
+ * 5. for servers with a per-tool deny list (CREW-400: no agent sends Zoho
21
+ * mail) a denied `tools/call` — alone or inside a batch — is refused
22
+ * without reaching the server, and denied tools are removed from
23
+ * `tools/list`.
24
+ *
20
25
  * Nothing about the URL, token or body is logged.
21
26
  *
22
27
  * @module controllers/connector/remote-mcp-proxy.controller
@@ -1 +1 @@
1
- {"version":3,"file":"remote-mcp-proxy.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-proxy.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAA8C,MAAM,gDAAgD,CAAC;AAC9H,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAW3F,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC;IACnG,MAAM,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC;IACzE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACtJ;AASD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CASpF;AAmBD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkH/E"}
1
+ {"version":3,"file":"remote-mcp-proxy.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-proxy.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAA8C,MAAM,gDAAgD,CAAC;AAC9H,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAY3F,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC;IACnG,MAAM,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC;IACzE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACtJ;AASD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CASpF;AAmBD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJ/E"}
@@ -17,6 +17,11 @@
17
17
  * retried; when that fails the owner gets a sign-in card (throttled) and
18
18
  * the agent gets a JSON-RPC error saying so.
19
19
  *
20
+ * 5. for servers with a per-tool deny list (CREW-400: no agent sends Zoho
21
+ * mail) a denied `tools/call` — alone or inside a batch — is refused
22
+ * without reaching the server, and denied tools are removed from
23
+ * `tools/list`.
24
+ *
20
25
  * Nothing about the URL, token or body is logged.
21
26
  *
22
27
  * @module controllers/connector/remote-mcp-proxy.controller
@@ -29,6 +34,7 @@ import { ConnectorAccessService } from '../../services/connector/connector-acces
29
34
  import { RemoteMcpService, remoteMcpConnectorId } from '../../services/connector/remote-mcp.service.js';
30
35
  import { RemoteMcpAuthService } from '../../services/connector/remote-mcp-auth.service.js';
31
36
  import { REMOTE_MCP_CONSTANTS } from '../../constants.js';
37
+ import { deniedToolsFor, parseRpc, isDeniedCall, isToolsList, filterToolsBody } from './remote-mcp-tool-policy.js';
32
38
  const logger = LoggerService.getInstance().createComponentLogger('RemoteMcpProxy');
33
39
  const C = REMOTE_MCP_CONSTANTS;
34
40
  /** Request headers passed upstream. */
@@ -92,7 +98,7 @@ function refuse(res, body, message, httpStatus, rpcCode = -32000) {
92
98
  export async function proxyRemoteMcp(req, res) {
93
99
  const id = String(req.params.id ?? '');
94
100
  const raw = req.rawBody;
95
- const body = req.method === 'POST' ? (raw ?? (req.body && Object.keys(req.body).length ? JSON.stringify(req.body) : undefined)) : undefined;
101
+ let body = req.method === 'POST' ? (raw ?? (req.body && Object.keys(req.body).length ? JSON.stringify(req.body) : undefined)) : undefined;
96
102
  const identity = getCallerIdentity(req);
97
103
  if (identity.kind !== 'agent') {
98
104
  res.status(403).json({ success: false, error: 'agents_only', message: 'This endpoint is for Crewly agents. The owner manages servers in Connections.' });
@@ -116,6 +122,30 @@ export async function proxyRemoteMcp(req, res) {
116
122
  refuse(res, body, `Your role (${caller.role}) may not use ${server.label}. The owner limited it to: ${allowed.join(', ')}.`, 403);
117
123
  return;
118
124
  }
125
+ // Per-tool deny list: inspect what we forward, and forward exactly that
126
+ // (re-serialised), so a parser difference upstream cannot disagree with us.
127
+ const denied = deniedToolsFor(server);
128
+ let filterList = false;
129
+ if (denied.size > 0 && req.method === 'POST') {
130
+ const rpc = parseRpc(body);
131
+ if (!rpc) {
132
+ refuse(res, undefined, 'Only JSON-RPC requests are accepted for this server.', 400);
133
+ return;
134
+ }
135
+ if (rpc.messages.some((m) => isDeniedCall(m, denied))) {
136
+ const names = rpc.messages.filter((m) => isDeniedCall(m, denied)).map((m) => String(m.params?.name));
137
+ logger.warn('Remote MCP proxy: denied tool call refused', { id, session: caller.session, tool: names.join(',') });
138
+ const error = { code: -32000, message: C.DENIED_TOOL_MESSAGE };
139
+ const answers = rpc.messages.filter((m) => m.id !== undefined).map((m) => ({ jsonrpc: '2.0', id: m.id, error }));
140
+ if (answers.length === 0)
141
+ res.status(403).json({ success: false, error: C.DENIED_TOOL_MESSAGE });
142
+ else
143
+ res.status(200).json(rpc.batch ? answers : answers[0]);
144
+ return;
145
+ }
146
+ filterList = rpc.messages.some(isToolsList);
147
+ body = JSON.stringify(rpc.parsed);
148
+ }
119
149
  const auth = deps.auth();
120
150
  const oauth = await auth.usesOAuth(server.id);
121
151
  const needsSignIn = async () => {
@@ -179,6 +209,17 @@ export async function proxyRemoteMcp(req, res) {
179
209
  refuse(res, body, `${server.label} is unreachable right now.`, 502);
180
210
  return;
181
211
  }
212
+ if (filterList && upstream.status === 200) {
213
+ const type = upstream.headers.get('content-type') ?? '';
214
+ const text = filterToolsBody(await upstream.text(), type, denied);
215
+ for (const name of FORWARD_RESPONSE) {
216
+ const v = upstream.headers.get(name);
217
+ if (v)
218
+ res.setHeader(name, v);
219
+ }
220
+ res.status(200).send(text);
221
+ return;
222
+ }
182
223
  res.status(upstream.status);
183
224
  for (const name of FORWARD_RESPONSE) {
184
225
  const v = upstream.headers.get(name);
@@ -1 +1 @@
1
- {"version":3,"file":"remote-mcp-proxy.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-proxy.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-mcp-proxy.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-proxy.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Per-tool deny policy for agents using a remote MCP server through the
3
+ * proxy (CREW-400): refuse `tools/call` for a denied tool and hide denied
4
+ * tools from `tools/list`. Pure functions; the proxy wires them in.
5
+ *
6
+ * @module controllers/connector/remote-mcp-tool-policy
7
+ */
8
+ /** A parsed JSON-RPC message (loosely typed: it is agent input). */
9
+ export type RpcMessage = {
10
+ id?: string | number | null;
11
+ method?: unknown;
12
+ params?: {
13
+ name?: unknown;
14
+ } & Record<string, unknown>;
15
+ result?: {
16
+ tools?: unknown;
17
+ } & Record<string, unknown>;
18
+ };
19
+ /**
20
+ * The denied tool names (normalised) for a server, or an empty set.
21
+ *
22
+ * @param server - The server's provider and id
23
+ * @returns Normalised denied names
24
+ */
25
+ export declare function deniedToolsFor(server: {
26
+ id: string;
27
+ provider?: string;
28
+ }): Set<string>;
29
+ /**
30
+ * Parse a request body into its JSON-RPC messages.
31
+ *
32
+ * @param body - Raw body
33
+ * @returns Messages and whether it was a batch, or null when not JSON
34
+ */
35
+ export declare function parseRpc(body: string | undefined): {
36
+ messages: RpcMessage[];
37
+ batch: boolean;
38
+ parsed: unknown;
39
+ } | null;
40
+ /**
41
+ * Is this message a call to a denied tool?
42
+ *
43
+ * @param msg - JSON-RPC message
44
+ * @param denied - Normalised denied names
45
+ * @returns True when it must be refused
46
+ */
47
+ export declare function isDeniedCall(msg: RpcMessage, denied: Set<string>): boolean;
48
+ /**
49
+ * Is this message a `tools/list` request?
50
+ *
51
+ * @param msg - JSON-RPC message
52
+ * @returns True for tools/list
53
+ */
54
+ export declare function isToolsList(msg: RpcMessage): boolean;
55
+ /**
56
+ * Remove denied tools from a tools/list JSON-RPC response (single or batch).
57
+ *
58
+ * @param payload - Parsed response
59
+ * @param denied - Normalised denied names
60
+ * @returns The payload with denied tools removed
61
+ */
62
+ export declare function filterToolsResult(payload: unknown, denied: Set<string>): unknown;
63
+ /**
64
+ * Filter an upstream tools/list body, JSON or `text/event-stream`.
65
+ *
66
+ * @param text - Upstream body
67
+ * @param contentType - Upstream content type
68
+ * @param denied - Normalised denied names
69
+ * @returns Filtered body (unchanged when it cannot be parsed)
70
+ */
71
+ export declare function filterToolsBody(text: string, contentType: string, denied: Set<string>): string;
72
+ //# sourceMappingURL=remote-mcp-tool-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-mcp-tool-policy.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-tool-policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,oEAAoE;AACpE,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAO1L;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAIrF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAUrH;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAWhF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAmB9F"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Per-tool deny policy for agents using a remote MCP server through the
3
+ * proxy (CREW-400): refuse `tools/call` for a denied tool and hide denied
4
+ * tools from `tools/list`. Pure functions; the proxy wires them in.
5
+ *
6
+ * @module controllers/connector/remote-mcp-tool-policy
7
+ */
8
+ import { REMOTE_MCP_CONSTANTS } from '../../constants.js';
9
+ /** Normalise a tool or method name for comparison. */
10
+ function norm(name) {
11
+ return typeof name === 'string' ? name.normalize('NFKC').trim().toLowerCase() : '';
12
+ }
13
+ /**
14
+ * The denied tool names (normalised) for a server, or an empty set.
15
+ *
16
+ * @param server - The server's provider and id
17
+ * @returns Normalised denied names
18
+ */
19
+ export function deniedToolsFor(server) {
20
+ const map = REMOTE_MCP_CONSTANTS.DENIED_AGENT_TOOLS;
21
+ const names = (server.provider && map[server.provider]) || map[server.id] || [];
22
+ return new Set(names.map(norm));
23
+ }
24
+ /**
25
+ * Parse a request body into its JSON-RPC messages.
26
+ *
27
+ * @param body - Raw body
28
+ * @returns Messages and whether it was a batch, or null when not JSON
29
+ */
30
+ export function parseRpc(body) {
31
+ if (!body)
32
+ return null;
33
+ try {
34
+ const parsed = JSON.parse(body);
35
+ const batch = Array.isArray(parsed);
36
+ const list = (batch ? parsed : [parsed]);
37
+ return { messages: list.filter((m) => !!m && typeof m === 'object'), batch, parsed };
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Is this message a call to a denied tool?
45
+ *
46
+ * @param msg - JSON-RPC message
47
+ * @param denied - Normalised denied names
48
+ * @returns True when it must be refused
49
+ */
50
+ export function isDeniedCall(msg, denied) {
51
+ return norm(msg.method) === 'tools/call' && denied.has(norm(msg.params?.name));
52
+ }
53
+ /**
54
+ * Is this message a `tools/list` request?
55
+ *
56
+ * @param msg - JSON-RPC message
57
+ * @returns True for tools/list
58
+ */
59
+ export function isToolsList(msg) {
60
+ return norm(msg.method) === 'tools/list';
61
+ }
62
+ /**
63
+ * Remove denied tools from a tools/list JSON-RPC response (single or batch).
64
+ *
65
+ * @param payload - Parsed response
66
+ * @param denied - Normalised denied names
67
+ * @returns The payload with denied tools removed
68
+ */
69
+ export function filterToolsResult(payload, denied) {
70
+ const one = (m) => {
71
+ if (!m || typeof m !== 'object')
72
+ return m;
73
+ const msg = m;
74
+ if (msg.result && Array.isArray(msg.result.tools)) {
75
+ const tools = msg.result.tools.filter((t) => !denied.has(norm(t?.name)));
76
+ return { ...msg, result: { ...msg.result, tools } };
77
+ }
78
+ return m;
79
+ };
80
+ return Array.isArray(payload) ? payload.map(one) : one(payload);
81
+ }
82
+ /**
83
+ * Filter an upstream tools/list body, JSON or `text/event-stream`.
84
+ *
85
+ * @param text - Upstream body
86
+ * @param contentType - Upstream content type
87
+ * @param denied - Normalised denied names
88
+ * @returns Filtered body (unchanged when it cannot be parsed)
89
+ */
90
+ export function filterToolsBody(text, contentType, denied) {
91
+ if (contentType.includes('text/event-stream')) {
92
+ return text
93
+ .split('\n')
94
+ .map((line) => {
95
+ if (!line.startsWith('data:'))
96
+ return line;
97
+ try {
98
+ return `data: ${JSON.stringify(filterToolsResult(JSON.parse(line.slice(5)), denied))}`;
99
+ }
100
+ catch {
101
+ return line;
102
+ }
103
+ })
104
+ .join('\n');
105
+ }
106
+ try {
107
+ return JSON.stringify(filterToolsResult(JSON.parse(text), denied));
108
+ }
109
+ catch {
110
+ return text;
111
+ }
112
+ }
113
+ //# sourceMappingURL=remote-mcp-tool-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-mcp-tool-policy.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/connector/remote-mcp-tool-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":"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"}
@@ -6878,15 +6878,39 @@ if (isMainModule) {
6878
6878
  // A stale build throws here and stops startup — that is the point. Every
6879
6879
  // other outcome (unstamped build, no repository, skip flag set) only
6880
6880
  // warns, so this can never block a legitimate container deploy.
6881
+ let wrongBranchAlert = null;
6881
6882
  try {
6882
6883
  assertBuildProvenance({
6883
6884
  log: (message) => logger.info(message),
6884
6885
  warn: (message) => logger.warn(message),
6886
+ // Stale build because the live checkout sits on a non-main branch
6887
+ // with no local changes (an agent switched it): still refuse to
6888
+ // start, but tell the owner how to fix it instead of going quiet.
6889
+ onWrongBranch: (_state, line) => {
6890
+ wrongBranchAlert = line;
6891
+ },
6885
6892
  });
6886
6893
  }
6887
6894
  catch (error) {
6888
6895
  logger.error(error instanceof Error ? error.message : String(error));
6889
- process.exit(1);
6896
+ const alertLine = wrongBranchAlert;
6897
+ if (!alertLine)
6898
+ process.exit(1);
6899
+ void (async () => {
6900
+ try {
6901
+ const { loadSlackCredentials } = await import('./services/slack/slack-credentials.service.js');
6902
+ const { postBootOwnerAlert } = await import('./utils/boot-owner-alert.js');
6903
+ await postBootOwnerAlert(alertLine, getCrewlyHomePath(), async () => {
6904
+ const creds = await loadSlackCredentials();
6905
+ const channel = creds?.allowedUserIds?.[0] ?? creds?.defaultChannelId;
6906
+ return creds && channel ? { botToken: creds.botToken, channel } : null;
6907
+ });
6908
+ }
6909
+ catch {
6910
+ /* best effort */
6911
+ }
6912
+ process.exit(1);
6913
+ })();
6890
6914
  }
6891
6915
  server.start().catch((error) => {
6892
6916
  logger.error('Failed to start Crewly server', { error: error instanceof Error ? error.message : String(error) });