@uipath/case-tool 1.205.0-preview.281 → 1.206.0-preview.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 (211) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +68 -7
  2. package/dist/applicationinsights-web-8m26566f.js +17209 -0
  3. package/dist/{authoring-kqh34zzm.js → authoring-vg90pqrn.js} +488 -213
  4. package/dist/bindings-v2-1da35xsc.js +27 -0
  5. package/dist/{browser-strategy-6atc7v8s.js → browser-strategy-627rrg7z.js} +6 -7
  6. package/dist/{business-rule-export-ey588rv7.js → business-rule-export-jv60r9jf.js} +3 -7
  7. package/dist/carry-forward-sfdnta6q.js +52 -0
  8. package/dist/{case-api-sme7esce.js → case-api-by95rf40.js} +38 -37
  9. package/dist/{case-bindings-service-cht20gqt.js → case-bindings-service-pp3c9g1e.js} +93 -45
  10. package/dist/{case-debug-solution-projects-qqd3h10v.js → case-debug-solution-projects-je7h4hmq.js} +3 -7
  11. package/dist/{case-debug-studio-web-service-nqzmwbr5.js → case-debug-studio-web-service-d83h3atd.js} +48 -45
  12. package/dist/{case-described-io-service-dx1f4nxe.js → case-described-io-service-tsm8r189.js} +33 -15
  13. package/dist/case-event-trigger-bindings-qbs8ywf5.js +17 -0
  14. package/dist/{case-format-service-6aew6tqc.js → case-format-service-3sab2297.js} +9 -10
  15. package/dist/{case-pack-service-pqq8wnfd.js → case-pack-service-txnv711n.js} +47 -42
  16. package/dist/case-schema-version-cw0h2nrv.js +18 -0
  17. package/dist/case-shape-reader-xaxmrd40.js +14 -0
  18. package/dist/{case-splice-service-s5gccctq.js → case-splice-service-6y35w83e.js} +139 -51
  19. package/dist/{case-validate-service-vq38va33.js → case-validate-service-hz0j90we.js} +234 -170
  20. package/dist/connector-enrichment-service-sjjmb9dy.js +56 -0
  21. package/dist/connector-library-1yw5r47w.js +99 -0
  22. package/dist/connector-lookup-service-yerhg9cd.js +20 -0
  23. package/dist/connector-task-shape-bgywpbqc.js +13 -0
  24. package/dist/{de-WLW6KWOJ-2qnsqdtw.js → de-2BEKRUMY-x4dx0nn9.js} +190 -10
  25. package/dist/{de-UZI7FJDO-mwvc4cxe.js → de-AI7ML6JM-km47f8k4.js} +20 -5
  26. package/dist/debug-service-h4jxbn1r.js +56 -0
  27. package/dist/{embedded-file-reader-r66242ey.js → embedded-file-reader-0228j82a.js} +1 -4
  28. package/dist/en-LAVDF7IQ-yzy20n6d.js +254 -0
  29. package/dist/en-X6T4SP2Y-xm47mf18.js +2752 -0
  30. package/dist/{enrichment-service-hv7ff88p.js → enrichment-service-wpprec7k.js} +36 -37
  31. package/dist/{es-5THCNRFN-tqwyrdgy.js → es-7ZTQTGKN-11sj0yjx.js} +190 -10
  32. package/dist/{es-MX-5RELIXKI-9jhqtddc.js → es-MX-7KJZPEQN-1fq0a9jr.js} +20 -5
  33. package/dist/{es-MX-TWZBRAXK-gqd9swzw.js → es-MX-IHGRIEWH-g63p0gb4.js} +191 -11
  34. package/dist/{es-4UBUTCQA-m1ytpyx2.js → es-SPNKTD5Y-vw5cbgv5.js} +20 -5
  35. package/dist/filter-engine-dh9s90gb.js +10 -0
  36. package/dist/first-party-service-ahcc6xc6.js +8 -0
  37. package/dist/{fr-CERONSRC-edpxhbmb.js → fr-7ZDL4MVO-pd27vwh6.js} +191 -11
  38. package/dist/{fr-VBM5WRC2-63z7w4mh.js → fr-AXJGUT53-hdg3pmd4.js} +20 -5
  39. package/dist/index-21kns9qg.js +10 -0
  40. package/dist/{index-fyc0k5dd.js → index-5pzp2qeb.js} +5350 -3271
  41. package/dist/{connector-task-spec-pzfzmfr5.js → index-9f8naxbk.js} +320 -144
  42. package/dist/{index-5dxh9z60.js → index-a7y7etmy.js} +6 -5
  43. package/dist/{index-ekwtgx7y.js → index-ec115v05.js} +309 -287
  44. package/dist/index-j9t2k52h.js +35 -0
  45. package/dist/index-myf7b4a5.js +26 -0
  46. package/dist/index-nj3axvya.js +159 -0
  47. package/dist/{index-h8cph72k.js → index-nzr4mx5p.js} +2 -22
  48. package/dist/index-pg9wmyrf.js +36 -0
  49. package/dist/index-z2qk2qn6.js +24 -0
  50. package/dist/index.js +19 -25
  51. package/dist/index.umd.min-ttg1qc0x.js +7814 -0
  52. package/dist/{init-entry-points-hhpv3e3f.js → init-entry-points-pc128f7z.js} +22 -35
  53. package/dist/input-reader-9ym8mkbc.js +10 -0
  54. package/dist/{ja-43QL7CGO-c3q8gre9.js → ja-C7GZV6YP-hvtbngr5.js} +20 -5
  55. package/dist/{ja-U2MCNHGT-gz0ap1jk.js → ja-LGAM5HKR-sgrtjqjh.js} +190 -10
  56. package/dist/{jmespath-e4a59c8w.js → jmespath-wwym30dp.js} +1 -1
  57. package/dist/{js-yaml-87cdx6bm.js → js-yaml-a2bk27p6.js} +1 -3
  58. package/dist/known-types-gak9by1w.js +11 -0
  59. package/dist/{ko-XAUYQWDR-zp81gjp4.js → ko-7B4SUZB7-c8wr20sc.js} +190 -10
  60. package/dist/{ko-TLL6Z6CD-wrt3n8a9.js → ko-Q24HSSL4-5vn55pte.js} +20 -5
  61. package/dist/localSolutionDiscovery-48d1bnkj.js +15 -0
  62. package/dist/{migration-diagnosis-ns5cw4e3.js → migration-diagnosis-myqqgwj0.js} +1 -4
  63. package/dist/{node-strategy-v442hwgd.js → node-strategy-2mqzg36t.js} +15 -18
  64. package/dist/node-sync-service-y8b5w1rd.js +56 -0
  65. package/dist/{out-target-wjgmna0r.js → out-target-eqsttq1k.js} +18 -22
  66. package/dist/{packager-tool-f8vwy92w.js → packager-tool-0te1tyhf.js} +186 -16
  67. package/dist/{packager-tool-ydyvtknp.js → packager-tool-0w4fsdzv.js} +44 -20
  68. package/dist/{packager-tool-8ftat1vn.js → packager-tool-17b466mr.js} +59158 -59666
  69. package/dist/packager-tool-1nfdj0zm.js +425 -0
  70. package/dist/packager-tool-1wgav5ma.js +139 -0
  71. package/dist/{packager-tool-b1nw50ev.js → packager-tool-265h946t.js} +256 -486
  72. package/dist/{packager-tool-nj4seavy.js → packager-tool-35c9npcy.js} +26 -7
  73. package/dist/{packager-tool-r0x3qh59.js → packager-tool-388vyja1.js} +185 -29
  74. package/dist/packager-tool-3m8482sw.js +78 -0
  75. package/dist/packager-tool-3r23qsca.js +4832 -0
  76. package/dist/packager-tool-3xehbdyd.js +1302 -0
  77. package/dist/packager-tool-4avchhz8.js +539 -0
  78. package/dist/{packager-tool-9kvkzc05.js → packager-tool-5w0gjcck.js} +4 -4
  79. package/dist/packager-tool-68648y3j.js +6 -0
  80. package/dist/{packager-tool-1yh8g550.js → packager-tool-6an893wm.js} +12 -3
  81. package/dist/{packager-tool-aagnvyba.js → packager-tool-76zhn5pa.js} +131 -432
  82. package/dist/packager-tool-7x1tmb8a.js +46 -0
  83. package/dist/{packager-tool-kyrm4e5m.js → packager-tool-9ar5829n.js} +781 -741
  84. package/dist/{packager-tool-4p11fvf4.js → packager-tool-b2q8m9pq.js} +10 -13
  85. package/dist/packager-tool-bg3tdpva.js +27 -0
  86. package/dist/{packager-tool-wr12ndwk.js → packager-tool-ccejfs0r.js} +252 -468
  87. package/dist/{packager-tool-yn33pw57.js → packager-tool-dn9d4ywm.js} +246 -225
  88. package/dist/{packager-tool-kdhey8gz.js → packager-tool-e02jkmrq.js} +41 -29
  89. package/dist/{packager-tool-sq931c23.js → packager-tool-e1tx5mqg.js} +1 -1
  90. package/dist/{packager-tool-qn3zkrrc.js → packager-tool-ehjw672b.js} +32 -15
  91. package/dist/packager-tool-gy4yjqhf.js +178 -0
  92. package/dist/packager-tool-h2ar8xf8.js +222 -0
  93. package/dist/{packager-tool-v2kcgjbf.js → packager-tool-j6nfje7t.js} +5 -4
  94. package/dist/packager-tool-k0ar6cn7.js +295 -0
  95. package/dist/packager-tool-kz7zz79p.js +71 -0
  96. package/dist/{packager-tool-1gwbq864.js → packager-tool-m5384a1s.js} +66 -82
  97. package/dist/{packager-tool-9e59z4d6.js → packager-tool-me8gd22q.js} +82 -83
  98. package/dist/packager-tool-mk9fmzdy.js +20 -0
  99. package/dist/{packager-tool-yfmby4dd.js → packager-tool-mkt1njk2.js} +630 -689
  100. package/dist/{packager-tool-gdtpsdn7.js → packager-tool-mm1x18d6.js} +223 -28
  101. package/dist/{packager-tool-mqy97y5f.js → packager-tool-p5gs9xqy.js} +14 -14
  102. package/dist/{packager-tool-83v804p7.js → packager-tool-psmb758n.js} +3108 -2627
  103. package/dist/packager-tool-q26hncjr.js +13 -0
  104. package/dist/packager-tool-q9fnx278.js +77 -0
  105. package/dist/{packager-tool-ezds6t5e.js → packager-tool-s12s1dp6.js} +11 -11
  106. package/dist/packager-tool-scy94jyb.js +5424 -0
  107. package/dist/{packager-tool-yn7r7zq2.js → packager-tool-snesn0bt.js} +177 -96
  108. package/dist/{packager-tool-d8e2mrkq.js → packager-tool-tgehy324.js} +56 -56
  109. package/dist/{packager-tool-tqn0j6f9.js → packager-tool-v11fx4dk.js} +7 -7
  110. package/dist/{packager-tool-67vy1fz3.js → packager-tool-v6rkp2ay.js} +24 -92
  111. package/dist/{packager-tool-9sd483vs.js → packager-tool-vs7gqa4r.js} +15 -15
  112. package/dist/packager-tool-vyavrbym.js +488 -0
  113. package/dist/{packager-tool-b098y4a2.js → packager-tool-wbksf242.js} +97 -97
  114. package/dist/{packager-tool-2sn7d8fd.js → packager-tool-x74mmjkw.js} +9 -13
  115. package/dist/{packager-tool-7hw344bt.js → packager-tool-xb16e3tz.js} +5 -5
  116. package/dist/{packager-tool-a17g0pj1.js → packager-tool-xd1wbvay.js} +10 -8
  117. package/dist/{packager-tool-1yfw674x.js → packager-tool-xehhk3c3.js} +10 -5
  118. package/dist/packager-tool-yh8mmj3p.js +123 -0
  119. package/dist/{packager-tool-hdxtgckw.js → packager-tool-z070caqq.js} +56 -12
  120. package/dist/{packager-tool-b250k6w4.js → packager-tool-z1fw9a8v.js} +41 -9
  121. package/dist/{packager-tool-0gctz400.js → packager-tool-z9fmqtm6.js} +4 -4
  122. package/dist/{packager-tool-mzf4gmph.js → packager-tool-zbx189j3.js} +11 -8
  123. package/dist/{packager-tool-zf8f9pmm.js → packager-tool-zrbnms9b.js} +3 -4
  124. package/dist/packager-tool.js +10 -11
  125. package/dist/prepare-uip-ad7mfs8t.js +92 -0
  126. package/dist/{project-artifacts-bgyyb0dm.js → project-artifacts-q0c0zghw.js} +2 -6
  127. package/dist/{pt-BR-USP2T7GD-pedn77m1.js → pt-BR-BIUJXIPU-2sqzhr8y.js} +20 -5
  128. package/dist/{pt-BR-GNQNAAZ2-xadharv4.js → pt-BR-PHLFHMXZ-n6de4s7z.js} +191 -11
  129. package/dist/{pt-RMIAKZB4-67enhx3m.js → pt-MHX6JGAX-xfgvdqwg.js} +20 -5
  130. package/dist/{pt-TO2DARY2-ftcce1bv.js → pt-N7ZTJT4W-d6c67xcn.js} +190 -10
  131. package/dist/{resolved-check-aqw7568y.js → resolved-check-dz8eqrf6.js} +2 -3
  132. package/dist/{resourcesSyncService-8ac6ncq2.js → resourcesSyncService-yrhhh62m.js} +81 -141
  133. package/dist/{ro-GHOBYW2S-mhnqsgaa.js → ro-3RKJNGJZ-xqj14e3d.js} +20 -5
  134. package/dist/{ro-WUYJV6OW-a8d9qy1n.js → ro-FLNXVYJI-ytrwabg2.js} +190 -10
  135. package/dist/ru-GSCT4ARZ-c2cfq4h1.js +7 -0
  136. package/dist/ru-WBLQ5B2U-bf20yr5y.js +7 -0
  137. package/dist/{rule-group-members-zje7n3kf.js → rule-group-members-p0nv1rmj.js} +1 -3
  138. package/dist/rule-type-declaration-s2nxpcfy.js +77 -0
  139. package/dist/{sdd-convert-service-8jpew7vz.js → sdd-convert-service-ffbx00k6.js} +481 -504
  140. package/dist/{sdd-lookup-fe900sdb.js → sdd-lookup-sah7wj5j.js} +8 -9
  141. package/dist/{sdd-resolve-service-qdtmxw9b.js → sdd-resolve-service-6nt10vhq.js} +28 -20
  142. package/dist/{sdd-resolve-siblings-8gf9zjwf.js → sdd-resolve-siblings-ap8j1c8h.js} +11 -14
  143. package/dist/solution-auth-a1p22hq1.js +11 -0
  144. package/dist/solution-discovery-r1y550sz.js +33 -0
  145. package/dist/{strict-case-rules-4tjcaznr.js → strict-case-rules-045kbjvv.js} +16 -28
  146. package/dist/{strict-entry-points-g2pd4mf4.js → strict-entry-points-40ha9afz.js} +15 -14
  147. package/dist/strict-sdd-audit-bp7fq2tg.js +26 -0
  148. package/dist/{task-selector-8bjn35dv.js → task-selector-jt60hdbt.js} +1 -3
  149. package/dist/{task-type-declaration-7a8fqdvs.js → task-type-declaration-yhczvj05.js} +9 -9
  150. package/dist/tool.js +18 -24
  151. package/dist/{tr-M3F5A6AU-bb0tg39m.js → tr-7AIZZWZ6-pdzp9n0p.js} +190 -10
  152. package/dist/{tr-GDTLECMM-k5fhmq13.js → tr-PQLUUHPC-qsb7btxn.js} +20 -5
  153. package/dist/{trigger-enrichment-service-agvnhdf7.js → trigger-enrichment-service-z8kxy6qr.js} +53 -57
  154. package/dist/trigger-entry-point-id-751v48qd.js +14 -0
  155. package/dist/{zh-CN-C5G4PC7C-ds9gkptg.js → zh-CN-CN2ARPFS-e0p2qrxf.js} +190 -10
  156. package/dist/{zh-CN-I5D7WHBD-sr5h0a98.js → zh-CN-OHNTHZRI-b0hjkfqn.js} +20 -5
  157. package/dist/{zh-TW-62HZIG6O-787kdwex.js → zh-TW-7RUFEVFK-qd7myw31.js} +190 -10
  158. package/dist/{zh-TW-2AVLM723-288pkc1z.js → zh-TW-E4D3Y6ZR-tn3bmzz5.js} +20 -5
  159. package/package.json +2 -2
  160. package/dist/canvas-notes-86fxx1t8.js +0 -19
  161. package/dist/case-event-trigger-bindings-g9ftnm4x.js +0 -16
  162. package/dist/case-schema-version-h820ne16.js +0 -20
  163. package/dist/case-shape-reader-dsbraetf.js +0 -13
  164. package/dist/connector-enrichment-service-6kskfevq.js +0 -65
  165. package/dist/connector-lookup-service-yyn8kkw7.js +0 -22
  166. package/dist/connector-task-shape-mpazkf7s.js +0 -14
  167. package/dist/debug-service-7q98j726.js +0 -59
  168. package/dist/en-EJCBA3LK-dtpdghgj.js +0 -146
  169. package/dist/en-M7GQYBV2-5nfmpnfz.js +0 -2018
  170. package/dist/filter-engine-7ep90g7f.js +0 -11
  171. package/dist/first-party-service-srxaftkn.js +0 -27
  172. package/dist/index-0d7qc2gs.js +0 -282
  173. package/dist/index-jmv5by9z.js +0 -666
  174. package/dist/index-kmp9fmhb.js +0 -25
  175. package/dist/index-n9qvnx4x.js +0 -29
  176. package/dist/index-ngs0a2he.js +0 -15
  177. package/dist/index-xq6ajhgq.js +0 -157
  178. package/dist/index.umd.min-fqefd9kn.js +0 -7814
  179. package/dist/input-reader-c7wz8ra2.js +0 -11
  180. package/dist/known-types-5b6yrsqn.js +0 -16
  181. package/dist/localSolutionDiscovery-yyx234ak.js +0 -13
  182. package/dist/node-sync-service-2ezr3akv.js +0 -57
  183. package/dist/packager-tool-53w8skv5.js +0 -262
  184. package/dist/packager-tool-6z1hsm2h.js +0 -143
  185. package/dist/packager-tool-93mdeqay.js +0 -18
  186. package/dist/packager-tool-9kf3fqtr.js +0 -23
  187. package/dist/packager-tool-bfgdz1zh.js +0 -73
  188. package/dist/packager-tool-e15kqpyh.js +0 -266
  189. package/dist/packager-tool-gmykn1ef.js +0 -5365
  190. package/dist/packager-tool-jysvpt8p.js +0 -11
  191. package/dist/packager-tool-pcvhcn2k.js +0 -2019
  192. package/dist/packager-tool-rk25wp3c.js +0 -28
  193. package/dist/packager-tool-sc961w0q.js +0 -16
  194. package/dist/packager-tool-wekqkmgn.js +0 -265
  195. package/dist/packager-tool-yc4kw997.js +0 -13
  196. package/dist/packager-tool-zgpsnxkd.js +0 -13189
  197. package/dist/ru-GSCT4ARZ-1sa9wbr8.js +0 -10
  198. package/dist/ru-WBLQ5B2U-s4em88p0.js +0 -10
  199. package/dist/solution-auth-30yycqtv.js +0 -14
  200. package/dist/solution-discovery-e9mamp6w.js +0 -38
  201. package/dist/strict-sdd-audit-q7tb9yj7.js +0 -25
  202. package/dist/trigger-entry-point-id-yhqwnkx9.js +0 -15
  203. /package/dist/{packager-tool-5qp9xza1.js → packager-tool-1c30ttpm.js} +0 -0
  204. /package/dist/{packager-tool-mknccck5.js → packager-tool-1h7abxw6.js} +0 -0
  205. /package/dist/{packager-tool-9y1w2wds.js → packager-tool-fcektt1g.js} +0 -0
  206. /package/dist/{packager-tool-k6jbedyc.js → packager-tool-hcdnc420.js} +0 -0
  207. /package/dist/{packager-tool-7nxppa3d.js → packager-tool-jv5byaww.js} +0 -0
  208. /package/dist/{packager-tool-qa9gftnj.js → packager-tool-mxgybnmt.js} +0 -0
  209. /package/dist/{packager-tool-87y6xw3a.js → packager-tool-nfhtwa72.js} +0 -0
  210. /package/dist/{packager-tool-cv05dwac.js → packager-tool-p0rdmmvk.js} +0 -0
  211. /package/dist/{packager-tool-21qfsbxn.js → packager-tool-yaertxsw.js} +0 -0
@@ -1,73 +1,87 @@
1
1
  import {
2
- nestDottedKeys
3
- } from "./packager-tool-1gwbq864.js";
4
- import {
5
- lookupConnectorDisplayName,
6
- lookupTypeCacheEntry
7
- } from "./packager-tool-qn3zkrrc.js";
8
- import"./packager-tool-ydyvtknp.js";
9
- import"./packager-tool-9sd483vs.js";
10
- import"./packager-tool-zgpsnxkd.js";
11
- import"./packager-tool-bfgdz1zh.js";
12
- import {
13
- extractActivityFilterFields,
14
- extractTriggerEventParameters,
15
- extractTriggerFilterFields,
16
- fetchConnectionInfo,
17
- fetchConnectorMetadata,
18
- fetchConnectorTriggerMetadata
19
- } from "./packager-tool-b1nw50ev.js";
20
- import"./packager-tool-ezds6t5e.js";
2
+ catchError2
3
+ } from "./packager-tool-psmb758n.js";
21
4
  import {
22
- assertActivityMetadataResolved,
5
+ getEventOperationObjects,
6
+ resourceFolderKeyFieldName,
7
+ ResourceFieldResolutionError2,
8
+ createSolutionResourceConfigurationsProvider,
23
9
  buildActivityEssentialConfiguration,
24
- buildInputMetadata,
25
10
  configureActivityClient,
26
- createSolutionResourceConfigurationsProvider,
11
+ assertActivityMetadataResolved,
27
12
  extractMultipartParameters,
28
- findTriggerDesignAction,
29
- getEventOperationObjects,
30
- planResourceBindings,
13
+ inlineMultipartFileValues,
14
+ buildInputMetadata,
15
+ ConflictingDesignActionsError,
31
16
  resourcePickersRequestNeeds,
32
- runTriggerDesignAction,
17
+ findTriggerDesignAction,
18
+ triggerEventParameters,
19
+ runTriggerDesignAction
20
+ } from "./packager-tool-ccejfs0r.js";
21
+ import"./packager-tool-q26hncjr.js";
22
+ import"./packager-tool-dn9d4ywm.js";
23
+ import"./packager-tool-z070caqq.js";
24
+ import {
33
25
  storedActivityBindings,
34
- triggerEventParameters
35
- } from "./packager-tool-wr12ndwk.js";
36
- import"./packager-tool-7hw344bt.js";
37
- import"./packager-tool-tqn0j6f9.js";
38
- import"./packager-tool-f8vwy92w.js";
26
+ planResourceBindings,
27
+ guardJsonString,
28
+ CONN_BINDING_ID_PLACEHOLDER,
29
+ FOLDER_BINDING_ID_PLACEHOLDER,
30
+ resourceBindingIdPlaceholder,
31
+ externalExecutionOf,
32
+ externalExecutionWarning
33
+ } from "./packager-tool-h2ar8xf8.js";
34
+ import"./packager-tool-17b466mr.js";
39
35
  import {
40
- findSolutionFromCwd
41
- } from "./packager-tool-d8e2mrkq.js";
42
- import"./packager-tool-8ftat1vn.js";
43
- import"./packager-tool-pcvhcn2k.js";
44
- import"./packager-tool-sc961w0q.js";
45
- import"./packager-tool-6z1hsm2h.js";
46
- import"./packager-tool-jysvpt8p.js";
47
- import"./packager-tool-sq931c23.js";
48
- import"./packager-tool-mknccck5.js";
36
+ findSolutionFromCwd2
37
+ } from "./packager-tool-tgehy324.js";
38
+ import"./packager-tool-3m8482sw.js";
49
39
  import {
50
- TYPECACHE_ACTIVITY_INDEX_TYPES,
51
- TYPECACHE_TRIGGER_INDEX_TYPES
52
- } from "./packager-tool-7nxppa3d.js";
53
- import"./packager-tool-aagnvyba.js";
54
- import"./packager-tool-mzf4gmph.js";
55
- import"./packager-tool-9kf3fqtr.js";
56
- import"./packager-tool-9e59z4d6.js";
57
- import"./packager-tool-yn33pw57.js";
58
- import"./packager-tool-0gctz400.js";
59
- import"./packager-tool-qa9gftnj.js";
60
- import"./packager-tool-yc4kw997.js";
40
+ extractTriggerEventParameters,
41
+ extractTriggerFilterFields,
42
+ extractActivityFilterFields,
43
+ fetchConnectorTriggerMetadata,
44
+ ConnectionConnectorMismatchError2,
45
+ assertConnectionConnector,
46
+ fetchConnectionInfo,
47
+ fetchConnectorMetadata2
48
+ } from "./packager-tool-k0ar6cn7.js";
61
49
  import {
62
- catchError
63
- } from "./packager-tool-83v804p7.js";
64
- import"./packager-tool-hdxtgckw.js";
65
- import"./packager-tool-1yh8g550.js";
50
+ genericObjectDiscoveryCommands
51
+ } from "./packager-tool-q9fnx278.js";
52
+ import {
53
+ v2ConfigurationVersionEntry
54
+ } from "./packager-tool-68648y3j.js";
55
+ // ../maestro-sdk/src/connector-spec/bpmn-element.ts
56
+ var ELEMENT_TOKENS = {
57
+ id: "{{ID}}",
58
+ name: "{{NAME}}",
59
+ incomingEdge: "{{INCOMING_EDGE}}",
60
+ outgoingEdge: "{{OUTGOING_EDGE}}",
61
+ varId: "{{VAR_ID}}",
62
+ errorVarId: "{{ERROR_VAR_ID}}"
63
+ };
64
+ var VAR_TOKENS = {
65
+ response: ELEMENT_TOKENS.varId,
66
+ Error: ELEMENT_TOKENS.errorVarId
67
+ };
68
+ // ../maestro-sdk/src/connector-spec/option-labels.ts
69
+ var OPTION_NAMES = {
70
+ inputDetails: "inputDetails",
71
+ skipCaseShape: "skipCaseShape",
72
+ objectNameOverride: "objectNameOverride",
73
+ solutionFolder: "solutionFolder"
74
+ };
75
+ function optionLabels(labels) {
76
+ return { ...OPTION_NAMES, ...labels };
77
+ }
66
78
 
67
- // src/services/case-spec-input-validator.ts
79
+ // ../maestro-sdk/src/connector-spec/input-validator.ts
68
80
  class InvalidInputDetailsError extends Error {
69
- constructor(message) {
81
+ instructions;
82
+ constructor(message, instructions) {
70
83
  super(message);
84
+ this.instructions = instructions;
71
85
  this.name = "InvalidInputDetailsError";
72
86
  }
73
87
  }
@@ -83,11 +97,11 @@ var TRIGGER_VALID_KEYS = new Set([
83
97
  "pathParameters",
84
98
  "filter"
85
99
  ]);
86
- function validateActivityInputDetails(raw, isHttpRequest) {
100
+ function validateActivityInputDetails(raw, isHttpRequest, label = optionLabels(undefined).inputDetails) {
87
101
  if (raw === undefined || raw === null)
88
102
  return {};
89
103
  if (typeof raw !== "object" || Array.isArray(raw)) {
90
- throw new InvalidInputDetailsError("--input-details must be a JSON object");
104
+ throw new InvalidInputDetailsError(`${label} must be a JSON object`);
91
105
  }
92
106
  const config = raw;
93
107
  const errors = [];
@@ -98,42 +112,28 @@ function validateActivityInputDetails(raw, isHttpRequest) {
98
112
  if (unknownKeys.length > 0) {
99
113
  errors.push(`Unknown keys: ${unknownKeys.join(", ")}. Valid keys for activity: ${[...ACTIVITY_VALID_KEYS].join(", ")}`);
100
114
  }
101
- for (const key of [
115
+ errors.push(...objectFieldErrors(config, [
102
116
  "bodyParameters",
103
117
  "queryParameters",
104
118
  "pathParameters"
105
- ]) {
106
- const val = config[key];
107
- if (val !== undefined && (typeof val !== "object" || val === null || Array.isArray(val))) {
108
- errors.push(`${key} must be a JSON object`);
109
- }
110
- }
111
- if (config.filter !== undefined && (typeof config.filter !== "object" || config.filter === null || Array.isArray(config.filter))) {
112
- errors.push("filter must be a JSON object (FilterTree)");
113
- }
114
- if (config.filter !== undefined && typeof config.queryParameters === "object" && config.queryParameters !== null && !Array.isArray(config.queryParameters) && "where" in config.queryParameters) {
119
+ ]), ...filterErrors(config.filter));
120
+ if (config.filter !== undefined && isPlainObject(config.queryParameters) && "where" in config.queryParameters) {
115
121
  errors.push("queryParameters.where is derived from `filter` and cannot be set alongside it. " + 'Drop one of the two — prefer "filter" so Studio Web can re-render the filter widget.');
116
122
  }
117
- if (isHttpRequest) {
118
- if (config.bodyParameters !== undefined) {
119
- errors.push("bodyParameters is not supported for synthetic HTTP request activities. " + "Pass body via --input-details.queryParameters or omit.");
120
- }
121
- if (config.filter !== undefined) {
122
- errors.push("filter is not supported for synthetic HTTP request activities " + "(no curated filterable fields).");
123
- }
124
- }
123
+ if (isHttpRequest)
124
+ errors.push(...httpRequestErrors(config, label));
125
125
  if (errors.length > 0) {
126
- throw new InvalidInputDetailsError(`Invalid --input-details:
126
+ throw new InvalidInputDetailsError(`Invalid ${label}:
127
127
  - ${errors.join(`
128
128
  - `)}`);
129
129
  }
130
130
  return config;
131
131
  }
132
- function validateTriggerInputDetails(raw) {
132
+ function validateTriggerInputDetails(raw, label = optionLabels(undefined).inputDetails) {
133
133
  if (raw === undefined || raw === null)
134
134
  return {};
135
135
  if (typeof raw !== "object" || Array.isArray(raw)) {
136
- throw new InvalidInputDetailsError("--input-details must be a JSON object");
136
+ throw new InvalidInputDetailsError(`${label} must be a JSON object`);
137
137
  }
138
138
  const config = raw;
139
139
  const errors = [];
@@ -154,11 +154,9 @@ function validateTriggerInputDetails(raw) {
154
154
  errors.push(`${key} must be a JSON object`);
155
155
  }
156
156
  }
157
- if (config.filter !== undefined && (typeof config.filter !== "object" || config.filter === null || Array.isArray(config.filter))) {
158
- errors.push("filter must be a JSON object (FilterTree)");
159
- }
157
+ errors.push(...filterErrors(config.filter));
160
158
  if (errors.length > 0) {
161
- throw new InvalidInputDetailsError(`Invalid --input-details:
159
+ throw new InvalidInputDetailsError(`Invalid ${label}:
162
160
  - ${errors.join(`
163
161
  - `)}`);
164
162
  }
@@ -184,13 +182,52 @@ function normalizeGroupOperator(value) {
184
182
  return 1;
185
183
  return value;
186
184
  }
185
+ var isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
186
+ function objectFieldErrors(config, keys) {
187
+ return keys.filter((key) => config[key] !== undefined && !isPlainObject(config[key])).map((key) => `${key} must be a JSON object`);
188
+ }
189
+ function httpRequestErrors(config, label) {
190
+ const errors = [];
191
+ if (config.bodyParameters !== undefined) {
192
+ errors.push("bodyParameters is not supported for synthetic HTTP request activities. " + `Pass body via ${label}.queryParameters or omit.`);
193
+ }
194
+ if (config.filter !== undefined) {
195
+ errors.push("filter is not supported for synthetic HTTP request activities " + "(no curated filterable fields).");
196
+ }
197
+ return errors;
198
+ }
199
+ function filterErrors(filter) {
200
+ if (filter === undefined)
201
+ return [];
202
+ if (!isPlainObject(filter)) {
203
+ return ["filter must be a JSON object (FilterTree)"];
204
+ }
205
+ return Array.isArray(filter.filters) || Array.isArray(filter.groups) ? [] : [
206
+ 'filter must be a FilterTree: {"groupOperator":"And","filters":[{"id":"<field>","operator":"<operator>","value":{...}}],"groups":[]}'
207
+ ];
208
+ }
187
209
 
188
- // src/services/connector-task-spec.types.ts
189
- var CONN_BINDING_ID_PLACEHOLDER = "{{CONN_BINDING_ID}}";
190
- var FOLDER_BINDING_ID_PLACEHOLDER = "{{FOLDER_BINDING_ID}}";
191
- var resourceBindingIdPlaceholder = (field) => `{{RESOURCE_BINDING_ID:${field}}}`;
210
+ // ../maestro-sdk/src/connector-spec/nest-dotted-keys.ts
211
+ var UNSAFE_KEYS = new Set(["__proto__", "constructor", "prototype"]);
212
+ function nestDottedKeys(flat) {
213
+ const result = {};
214
+ for (const [key, value] of Object.entries(flat)) {
215
+ const parts = key.split(".");
216
+ if (parts.some((p) => UNSAFE_KEYS.has(p)))
217
+ continue;
218
+ let current = result;
219
+ for (let i = 0;i < parts.length - 1; i++) {
220
+ if (!Object.hasOwn(current, parts[i]) || typeof current[parts[i]] !== "object" || current[parts[i]] === null) {
221
+ current[parts[i]] = {};
222
+ }
223
+ current = current[parts[i]];
224
+ }
225
+ current[parts.at(-1)] = value;
226
+ }
227
+ return result;
228
+ }
192
229
 
193
- // src/services/trigger-scope-parameters.ts
230
+ // ../maestro-sdk/src/connector-spec/trigger-scope-parameters.ts
194
231
  var isParam = (value) => value !== null && typeof value === "object" && !Array.isArray(value) && typeof value.name === "string";
195
232
  function extractTriggerScopeParameters(eventObject) {
196
233
  const raw = eventObject?.parameters;
@@ -220,34 +257,39 @@ function triggerScopeInputMetadata(details) {
220
257
  };
221
258
  }
222
259
 
223
- // src/services/connector-task-spec.ts
224
- async function fetchConnectorTaskSpec(type, activityTypeId, connectionId, opts = {}) {
260
+ // ../maestro-sdk/src/connector-spec/connector-task-spec.ts
261
+ async function fetchConnectorTaskSpec(type, activityTypeId, connectionId, opts) {
262
+ const labels = optionLabels(opts.optionLabels);
225
263
  if (opts.inputDetails !== undefined && opts.skipCaseShape === true) {
226
- throw new InvalidInputDetailsError("--input-details has no effect when --skip-case-shape is set; remove one of the two flags.");
264
+ throw new InvalidInputDetailsError(`${labels.inputDetails} has no effect when ${labels.skipCaseShape} is set; remove one of the two.`);
227
265
  }
228
266
  if (type === "trigger" && opts.triggerKind === undefined) {
229
- throw new Error("A trigger spec needs a trigger kind: 'start' for a case start trigger, 'wait-for' for a wait-for-connector task or rule.");
267
+ throw new Error("A trigger spec needs a trigger kind: 'start' or 'wait-for'.");
230
268
  }
231
269
  const diagnostics = {
232
270
  fetched: [],
233
271
  fallbacks: [],
234
272
  timestamp: new Date().toISOString()
235
273
  };
236
- const typecache = await resolveTypeCacheEntry(type, activityTypeId);
274
+ const typecache = await resolveTypeCacheEntry(type, activityTypeId, opts.typeCache);
237
275
  diagnostics.fetched.push(`TypeCache(${typecache.source})`);
238
276
  const { connectorKey } = typecache.config;
239
277
  const objectName = opts.objectNameOverride ?? typecache.config.objectName;
240
278
  if (typecache.config.activityType === "Generic" && opts.objectNameOverride === undefined) {
241
- throw new Error(`Generic ${type} (${activityTypeId}, "${typecache.entry.displayName}") requires --object-name. ` + `Discover available objects via:
242
- ` + ` uip is resources list --connector-key ${connectorKey}
243
- ` + ` uip is resources describe --connector-key ${connectorKey} --object-name <name>`);
279
+ throw new Error(`Generic ${type} (${activityTypeId}, "${typecache.entry.displayName}") requires ${labels.objectNameOverride}. ` + `Discover available objects via:
280
+ ` + genericObjectDiscoveryCommands(connectorKey, connectionId).map((command) => ` ${command}`).join(`
281
+ `));
244
282
  }
245
- const connection = await fetchConnectionContext(connectionId, diagnostics);
283
+ const connection = await fetchConnectionContext(connectionId, {
284
+ connectorKey,
285
+ activityTypeId,
286
+ displayName: typecache.entry.displayName
287
+ }, diagnostics);
246
288
  if (type === "activity") {
247
289
  if (!typecache.config.httpMethod) {
248
290
  throw new Error(`TypeCache entry ${activityTypeId} ("${typecache.entry.displayName}") has no httpMethod — not a connector activity. Verify the id is for a connector activity (Curated/Generic), not a non-connector activity (process/agent/etc.).`);
249
291
  }
250
- const validatedDetails = validateActivityInputDetails(opts.inputDetails, isHttpRequestObject(objectName));
292
+ const validatedDetails = validateActivityInputDetails(opts.inputDetails, isHttpRequestObject(objectName), labels.inputDetails);
251
293
  const optsForActivity = {
252
294
  ...opts,
253
295
  inputDetails: validatedDetails
@@ -261,7 +303,7 @@ async function fetchConnectorTaskSpec(type, activityTypeId, connectionId, opts =
261
303
  if (!typecache.config.eventOperation) {
262
304
  throw new Error(`TypeCache entry ${activityTypeId} ("${typecache.entry.displayName}") has no eventOperation — not a connector trigger.`);
263
305
  }
264
- const validatedTriggerDetails = validateTriggerInputDetails(opts.inputDetails);
306
+ const validatedTriggerDetails = validateTriggerInputDetails(opts.inputDetails, labels.inputDetails);
265
307
  const optsForTrigger = {
266
308
  ...opts,
267
309
  inputDetails: validatedTriggerDetails
@@ -272,12 +314,8 @@ async function fetchConnectorTaskSpec(type, activityTypeId, connectionId, opts =
272
314
  parsedConfig: typecache.config
273
315
  });
274
316
  }
275
- async function resolveTypeCacheEntry(type, activityTypeId) {
276
- const sources = type === "activity" ? TYPECACHE_ACTIVITY_INDEX_TYPES : TYPECACHE_TRIGGER_INDEX_TYPES;
277
- const [err, result] = await catchError(lookupTypeCacheEntry(activityTypeId, sources));
278
- if (err) {
279
- throw new Error(`No TypeCache entry found in ${sources.join(", ")} for uiPathActivityTypeId "${activityTypeId}". ` + `If the id is correct, run 'uip maestro case registry pull' to refresh the local cache. ` + `If you're looking up the other kind, pass --type ${type === "activity" ? "trigger" : "activity"}.`);
280
- }
317
+ async function resolveTypeCacheEntry(type, activityTypeId, typeCache) {
318
+ const result = await typeCache.lookupEntry(type, activityTypeId);
281
319
  return {
282
320
  source: result.source,
283
321
  entry: result.entry,
@@ -519,7 +557,8 @@ function buildActivityCaseShape(objectName, _pathParameters, _queryParameters, b
519
557
  inputs.push({
520
558
  name: param.name,
521
559
  type: "file",
522
- target: "file"
560
+ target: "file",
561
+ ...param.value !== undefined && { value: param.value }
523
562
  });
524
563
  }
525
564
  }
@@ -544,16 +583,46 @@ function buildActivityContext(args) {
544
583
  });
545
584
  }
546
585
  entries.push({ name: "objectName", type: "string", value: args.objectName }, { name: "method", type: "string", value: args.httpMethod }, { name: "path", type: "string", value: args.path });
586
+ const external = args.externalExecution;
587
+ if (external?.eventType) {
588
+ entries.push({
589
+ name: "operation",
590
+ type: "string",
591
+ value: external.eventType
592
+ });
593
+ }
594
+ if (external?.eventMode) {
595
+ entries.push({
596
+ name: "eventMode",
597
+ type: "string",
598
+ value: external.eventMode
599
+ });
600
+ }
601
+ if (external) {
602
+ entries.push({
603
+ name: "executionType",
604
+ type: "string",
605
+ value: external.executionType
606
+ });
607
+ }
547
608
  const activityPropertyConfiguration = {};
548
609
  if (args.multipart && args.multipart.parameters.length > 0) {
549
610
  activityPropertyConfiguration.multipartParameters = args.multipart.parameters.map((p) => ({
550
611
  name: p.name,
551
- dataType: p.dataType
612
+ dataType: p.dataType,
613
+ ...p.value !== undefined && { value: p.value }
552
614
  }));
553
615
  }
554
- activityPropertyConfiguration.configuration = `=jsonString:${JSON.stringify(args.essentialConfiguration)}`;
616
+ activityPropertyConfiguration.configuration = guardJsonString(JSON.stringify(args.essentialConfiguration));
555
617
  activityPropertyConfiguration.uiPathActivityTypeId = args.uiPathActivityTypeId;
556
618
  activityPropertyConfiguration.errorState = { issues: [] };
619
+ if (external) {
620
+ Object.assign(activityPropertyConfiguration, {
621
+ ...external.eventType && { eventType: external.eventType },
622
+ ...external.eventMode && { eventMode: external.eventMode },
623
+ executionType: external.executionType
624
+ });
625
+ }
557
626
  const multipartParams = args.multipart?.parameters.map((p) => ({
558
627
  name: p.name,
559
628
  dataType: p.dataType
@@ -573,7 +642,7 @@ function buildActivityContext(args) {
573
642
  primaryKeyName: args.primaryKeyName
574
643
  }
575
644
  };
576
- entries.push({ name: "metadata", type: "json", body: metadataBody });
645
+ entries.push({ name: "metadata", type: "json", body: metadataBody }, v2ConfigurationVersionEntry());
577
646
  return entries;
578
647
  }
579
648
  function buildTriggerContext(args) {
@@ -599,7 +668,7 @@ function buildTriggerContext(args) {
599
668
  objectName: args.objectName,
600
669
  eventType: args.eventOperation,
601
670
  eventMode: args.eventMode,
602
- configuration: `=jsonString:${JSON.stringify(args.essentialConfiguration)}`,
671
+ configuration: guardJsonString(JSON.stringify(args.essentialConfiguration)),
603
672
  uiPathActivityTypeId: args.uiPathActivityTypeId,
604
673
  errorState: { issues: [] },
605
674
  ...args.filterExpression && args.filterExpression.length > 0 ? { filterExpression: args.filterExpression } : {}
@@ -617,7 +686,7 @@ function buildTriggerContext(args) {
617
686
  inputMetadata: args.inputMetadata ?? {},
618
687
  telemetryData
619
688
  };
620
- entries.push({ name: "metadata", type: "json", body: metadataBody });
689
+ entries.push({ name: "metadata", type: "json", body: metadataBody }, v2ConfigurationVersionEntry());
621
690
  return entries;
622
691
  }
623
692
  function buildTriggerCaseShape(objectName, _eventParameters, responseFields, responseDisplayName) {
@@ -632,8 +701,8 @@ function buildTriggerCaseShape(objectName, _eventParameters, responseFields, res
632
701
  const outputs = buildOutputs(objectName, responseDisplayName, responseFields);
633
702
  return { inputs, outputs };
634
703
  }
635
- async function fetchConnectionContext(connectionId, diagnostics) {
636
- const [err, info] = await catchError(fetchConnectionInfo(connectionId));
704
+ async function fetchConnectionContext(connectionId, target, diagnostics) {
705
+ const [err, info] = await catchError2(fetchConnectionInfo(connectionId));
637
706
  if (err) {
638
707
  diagnostics.fallbacks.push({
639
708
  endpoint: "fetchConnectionInfo",
@@ -642,6 +711,7 @@ async function fetchConnectionContext(connectionId, diagnostics) {
642
711
  throw new Error(`Connection "${connectionId}" not found or inaccessible: ${err.message}`);
643
712
  }
644
713
  diagnostics.fetched.push("fetchConnectionInfo");
714
+ assertConnectionConnector(connectionId, info, target.connectorKey, `${target.activityTypeId} ("${String(target.displayName)}")`);
645
715
  return {
646
716
  context: {
647
717
  id: info.id,
@@ -729,11 +799,17 @@ function buildActivityPagination(verb, methodInfo) {
729
799
  const declared = methodInfo.pagination?.maxPageSize;
730
800
  return { maxPageSize: declared ? declared : 1000 };
731
801
  }
802
+ function warnAboutExternalExecution(diagnostics, external, target) {
803
+ const warning = external && externalExecutionWarning(external, target);
804
+ if (warning) {
805
+ diagnostics.warnings = [...diagnostics.warnings ?? [], warning];
806
+ }
807
+ }
732
808
  async function buildActivitySpec(connectorKey, objectName, httpMethod, resolvedConnection, diagnostics, opts, typecacheCtx) {
733
809
  if (isHttpRequestObject(objectName)) {
734
810
  return buildHttpActivitySpec(connectorKey, objectName, httpMethod, resolvedConnection, diagnostics, opts, typecacheCtx);
735
811
  }
736
- const [metaErr, metadata] = await catchError(fetchActivityMetadata(connectorKey, objectName, resolvedConnection.context.id));
812
+ const [metaErr, metadata] = await catchError2(fetchActivityMetadata(connectorKey, objectName, resolvedConnection.context.id));
737
813
  if (metaErr) {
738
814
  diagnostics.fallbacks.push({
739
815
  endpoint: "fetchConnectorMetadata",
@@ -751,24 +827,24 @@ async function buildActivitySpec(connectorKey, objectName, httpMethod, resolvedC
751
827
  const params = methodInfo.parameters ?? [];
752
828
  const pathParameters = params.filter((p) => p.type === "path").map(parameterFromIS);
753
829
  const queryParameters = params.filter((p) => p.type === "query").map(parameterFromIS);
754
- const multipart = buildMultipartSpec(params);
755
830
  const fields = collectFields(metadata);
756
831
  const bodyFields = filterFieldsByMethod(fields, httpMethod, "request");
757
832
  const responseFields = filterFieldsByMethod(fields, httpMethod, "response");
758
- const filter = buildActivityFilter(metadata, httpMethod, verb);
833
+ const metadataFilter = buildActivityFilter(metadata, httpMethod, verb);
759
834
  const pagination = buildActivityPagination(verb, methodInfo);
760
835
  const references = collectReferences(connectorKey, resolvedConnection.context.id, [
761
836
  ...pathParameters.map((p) => ({ p, slot: "pathParameters" })),
762
837
  ...queryParameters.map((p) => ({ p, slot: "queryParameters" })),
763
838
  ...bodyFields.map((p) => ({ p, slot: "bodyFields" }))
764
839
  ]);
765
- const inputDetails = opts.inputDetails;
840
+ const { multipart, inputDetails } = withMultipartFileValues(buildMultipartSpec(params), opts.inputDetails);
841
+ assertActivityParameters(inputDetails, params, connectorKey, objectName);
766
842
  let savedFilterTrees = null;
767
843
  let activityFilterParamName = null;
768
844
  if (inputDetails?.filter !== undefined) {
769
845
  const filterBuilderParam = (methodInfo.parameters ?? []).find((p) => p.design?.component === "FilterBuilder");
770
846
  if (!filterBuilderParam) {
771
- throw new InvalidInputDetailsError(`Activity "${connectorKey}/${objectName}" does not declare a FilterBuilder parameter — server-side filtering is not supported by this operation. Drop "filter" from --input-details.`);
847
+ throw new InvalidInputDetailsError(`Activity "${connectorKey}/${objectName}" does not declare a FilterBuilder parameter — server-side filtering is not supported by this operation. Drop "filter" from ${optionLabels(opts.optionLabels).inputDetails}.`);
772
848
  }
773
849
  activityFilterParamName = filterBuilderParam.name;
774
850
  savedFilterTrees = {
@@ -789,15 +865,16 @@ async function buildActivitySpec(connectorKey, objectName, httpMethod, resolvedC
789
865
  fieldValues: authoredValues ?? null,
790
866
  solutionDir: authoredValues ? await solutionDirFor(opts) : null
791
867
  });
792
- await assertPickersResolved(activityClient, authoredValues, resolvedResources);
868
+ await assertPickersResolved(activityClient, authoredValues, resolvedResources, optionLabels(opts.optionLabels));
793
869
  const { essentialConfiguration: essentialConfig } = activityClient.getEssentialConfiguration();
794
870
  assertActivityMetadataResolved(essentialConfig, resolvedConnection.context.id);
795
871
  const activityCeqlExpression = activityFilterParamName ? activityClient.getCompiledFilter(activityFilterParamName) : null;
872
+ const filter = withBuilderOperators(metadataFilter, "ceql", activityClient.getFilterFields());
796
873
  const essentialConfiguration = { essentialConfiguration: essentialConfig };
797
874
  const primaryKeyName = responseFields.filter((f) => f.primaryKey === true).map((f) => f.name).join(",");
798
875
  let caseShape;
799
876
  if (!opts.skipCaseShape) {
800
- const connectorDisplayName = await lookupConnectorDisplayName(typecacheCtx.entry.packageId);
877
+ const connectorDisplayName = await opts.typeCache.lookupConnectorDisplayName(typecacheCtx.entry.packageId);
801
878
  caseShape = buildActivityCaseShape(objectName, pathParameters, queryParameters, bodyFields, responseFields, multipart);
802
879
  if (inputDetails) {
803
880
  applyActivityInputDetails(caseShape, inputDetails, {
@@ -805,6 +882,7 @@ async function buildActivitySpec(connectorKey, objectName, httpMethod, resolvedC
805
882
  ceqlExpression: activityCeqlExpression
806
883
  });
807
884
  }
885
+ const externalExecution = externalExecutionOf(metadata);
808
886
  caseShape.context = buildActivityContext({
809
887
  connectorKey,
810
888
  connectorName: resolvedConnection.connectorName,
@@ -821,8 +899,10 @@ async function buildActivitySpec(connectorKey, objectName, httpMethod, resolvedC
821
899
  multipart,
822
900
  maxPageSize: pagination?.maxPageSize,
823
901
  primaryKeyName,
824
- essentialConfiguration
902
+ essentialConfiguration,
903
+ externalExecution
825
904
  });
905
+ warnAboutExternalExecution(diagnostics, externalExecution, `${connectorKey}/${objectName}`);
826
906
  }
827
907
  const resourceBindings = bindResolvedResources(caseShape, resolvedResources, activityClient);
828
908
  return {
@@ -877,7 +957,16 @@ async function withTriggerDesignAction(params) {
877
957
  if (!eventObject || Object.keys(fieldValues).length === 0) {
878
958
  return triggerMeta;
879
959
  }
880
- const action = await findTriggerDesignAction(eventObject, fieldValues, params.target);
960
+ const [conflict, action] = await catchError2(findTriggerDesignAction(eventObject, fieldValues, params.target));
961
+ if (conflict instanceof ConflictingDesignActionsError) {
962
+ params.diagnostics.fallbacks.push({
963
+ endpoint: `triggerDesignAction.${conflict.actionNames.join(",")}`,
964
+ reason: `the authored values match more than one design action on '${conflict.fieldName}' [${conflict.actionNames.join(", ")}], so the spec cannot pick one and its fields are missing; Studio Web refuses these values too. Run 'uip is triggers describe <connector-key> <operation> <object-name> --connection-id <id> -f <field>=<value> --action <name>' to inspect one action's fields`
965
+ });
966
+ return triggerMeta;
967
+ }
968
+ if (conflict)
969
+ throw conflict;
881
970
  if (!action)
882
971
  return triggerMeta;
883
972
  const endpoint = `triggerDesignAction.${action.name}`;
@@ -886,7 +975,7 @@ async function withTriggerDesignAction(params) {
886
975
  if (unresolved.length > 0) {
887
976
  params.diagnostics.fallbacks.push({
888
977
  endpoint,
889
- reason: `the picker [${unresolved.join(", ")}] did not resolve into a solution, so the fields it loads are missing; run inside a solution or pass --solution-folder, without --skip-case-shape`
978
+ reason: `the picker [${unresolved.join(", ")}] did not resolve into a solution, so the fields it loads are missing; run inside a solution or pass ${params.labels.solutionFolder}, without ${params.labels.skipCaseShape}`
890
979
  });
891
980
  return triggerMeta;
892
981
  }
@@ -894,7 +983,7 @@ async function withTriggerDesignAction(params) {
894
983
  r.field,
895
984
  { resourceKey: r.selection.key }
896
985
  ]));
897
- const [error, designed] = await catchError(runTriggerDesignAction(undefined, params.connectionId, triggerMeta, action, fieldValues, solutionResources, createSolutionResourceConfigurationsProvider(params.solutionDir, new Map(resolvedResources.map((r) => [
986
+ const [error, designed] = await catchError2(runTriggerDesignAction(undefined, params.connectionId, triggerMeta, action, fieldValues, solutionResources, createSolutionResourceConfigurationsProvider(params.solutionDir, new Map(resolvedResources.map((r) => [
898
987
  r.selection.key,
899
988
  r.selection.name
900
989
  ])))));
@@ -905,9 +994,45 @@ async function withTriggerDesignAction(params) {
905
994
  return designed;
906
995
  }
907
996
  async function solutionDirFor(opts) {
908
- return opts.solutionFolder ?? (await findSolutionFromCwd())?.solutionDir ?? null;
997
+ return opts.solutionFolder ?? (await findSolutionFromCwd2())?.solutionDir ?? null;
909
998
  }
910
- async function assertPickersResolved(client, values, resolved) {
999
+ function assertActivityParameters(inputDetails, params, connectorKey, objectName) {
1000
+ const pathBucket = parameterBucket("pathParameters", params, "path");
1001
+ const queryBucket = parameterBucket("queryParameters", params, "query");
1002
+ const target = `${connectorKey}/${objectName}`;
1003
+ assertDeclaredParameters(inputDetails?.pathParameters, pathBucket, [queryBucket], target);
1004
+ if (!isHttpRequestObject(objectName) && queryBucket.names.length > 0) {
1005
+ assertDeclaredParameters(inputDetails?.queryParameters, queryBucket, [pathBucket], target);
1006
+ }
1007
+ }
1008
+ var isPickerParam = (param) => param.design?.component === "Resources";
1009
+ function parameterBucket(key, params, type) {
1010
+ const declared = params.filter((p) => p.type === type && p.name);
1011
+ return {
1012
+ key,
1013
+ names: declared.map((p) => p.name),
1014
+ pickers: declared.filter(isPickerParam).map((p) => p.name)
1015
+ };
1016
+ }
1017
+ function assertDeclaredParameters(authored, bucket, others, target) {
1018
+ const accepted = new Set([
1019
+ ...bucket.names,
1020
+ ...bucket.pickers.map(resourceFolderKeyFieldName)
1021
+ ]);
1022
+ const unknown = Object.keys(authored ?? {}).filter((name) => !accepted.has(name));
1023
+ if (unknown.length === 0)
1024
+ return;
1025
+ const moves = others.flatMap((other) => {
1026
+ const here = unknown.filter((name) => other.names.includes(name));
1027
+ return here.length > 0 ? [`put ${here.join(", ")} under ${other.key}`] : [];
1028
+ });
1029
+ const moveText = moves.join("; ");
1030
+ throw new InvalidInputDetailsError([
1031
+ bucket.names.length === 0 ? `"${target}" declares no ${bucket.key}, but the authored ${bucket.key} sets ${unknown.join(", ")}.` : `"${target}" has no ${bucket.key} entry ${unknown.join(", ")}. Its ${bucket.key}: ${bucket.names.join(", ")}.`,
1032
+ moveText !== "" && `${moveText[0].toUpperCase()}${moveText.slice(1)}.`
1033
+ ].filter(Boolean).join(" "));
1034
+ }
1035
+ async function assertPickersResolved(client, values, resolved, labels) {
911
1036
  if (!values)
912
1037
  return;
913
1038
  const unresolved = (await client.getResourceFields()).filter((f) => {
@@ -917,7 +1042,7 @@ async function assertPickersResolved(client, values, resolved) {
917
1042
  if (unresolved.length === 0)
918
1043
  return;
919
1044
  const names = unresolved.map((f) => `'${f.name}' (${f.kind})`).join(", ");
920
- throw new InvalidInputDetailsError(`${names} ${unresolved.length === 1 ? "is a resource picker" : "are resource pickers"} and must be referenced into the case's solution, but no solution was found from the current folder. Pass --solution-folder <path to the folder holding the .uipx>, or run from inside the solution.`);
1045
+ throw new InvalidInputDetailsError(`${names} ${unresolved.length === 1 ? "is a resource picker" : "are resource pickers"} and must be referenced into the case's solution, but no solution was found from the current folder.`, `Pass ${labels.solutionFolder} <path to the folder holding the .uipx>, or run from inside the solution.`);
921
1046
  }
922
1047
  function authoredFieldValues(inputDetails) {
923
1048
  if (!inputDetails)
@@ -1000,7 +1125,7 @@ async function buildHttpActivitySpec(connectorKey, objectName, httpMethod, resol
1000
1125
  const httpInputDetails = opts.inputDetails;
1001
1126
  let caseShape;
1002
1127
  if (!opts.skipCaseShape) {
1003
- const connectorDisplayName = await lookupConnectorDisplayName(typecacheCtx.entry.packageId);
1128
+ const connectorDisplayName = await opts.typeCache.lookupConnectorDisplayName(typecacheCtx.entry.packageId);
1004
1129
  caseShape = buildActivityCaseShape(objectName, [], [], [], [], null);
1005
1130
  if (httpInputDetails) {
1006
1131
  applyActivityInputDetails(caseShape, httpInputDetails, {
@@ -1065,7 +1190,7 @@ async function buildHttpActivitySpec(connectorKey, objectName, httpMethod, resol
1065
1190
  };
1066
1191
  }
1067
1192
  async function fetchActivityMetadata(connectorKey, objectName, connectionId) {
1068
- return fetchConnectorMetadata(connectorKey, objectName, connectionId);
1193
+ return fetchConnectorMetadata2(connectorKey, objectName, connectionId);
1069
1194
  }
1070
1195
  function extractMethodInfo(metadata, httpMethod) {
1071
1196
  const methodMap = metadata.metadata;
@@ -1077,7 +1202,7 @@ function listMethods(metadata) {
1077
1202
  return Object.keys(methodMap?.method ?? {});
1078
1203
  }
1079
1204
  async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolvedConnection, diagnostics, opts, typecacheCtx) {
1080
- const [metaErr, triggerMeta] = await catchError(fetchTriggerMetadata(connectorKey, objectName, eventOperation, resolvedConnection.context.id));
1205
+ const [metaErr, triggerMeta] = await catchError2(fetchTriggerMetadata(connectorKey, objectName, eventOperation, resolvedConnection.context.id));
1081
1206
  if (metaErr) {
1082
1207
  diagnostics.fallbacks.push({
1083
1208
  endpoint: "fetchConnectorTriggerMetadata",
@@ -1089,7 +1214,7 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1089
1214
  const elementInstanceId = resolvedConnection.context.elementInstanceId;
1090
1215
  let eventOpFlags = null;
1091
1216
  if (elementInstanceId !== null) {
1092
- const [flagsErr, flags] = await catchError(getEventOperationObjects(undefined, elementInstanceId, connectorKey, eventOperation));
1217
+ const [flagsErr, flags] = await catchError2(getEventOperationObjects(undefined, elementInstanceId, connectorKey, eventOperation));
1093
1218
  if (flagsErr) {
1094
1219
  diagnostics.fallbacks.push({
1095
1220
  endpoint: "client-factory.getEventOperationObjects",
@@ -1118,6 +1243,15 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1118
1243
  const queryParameters = scope.query.map(parameterFromIS);
1119
1244
  const pathParameters = scope.path.map(parameterFromIS);
1120
1245
  const triggerInputDetails = opts.inputDetails;
1246
+ const scopeBuckets = [
1247
+ parameterBucket("queryParameters", scope.query, "query"),
1248
+ parameterBucket("pathParameters", scope.path, "path")
1249
+ ];
1250
+ if (eventOpFlags !== null) {
1251
+ for (const bucket of scopeBuckets) {
1252
+ assertDeclaredParameters(triggerInputDetails?.[bucket.key], bucket, scopeBuckets.filter((other) => other !== bucket), `${connectorKey}/${objectName} ${eventOperation}`);
1253
+ }
1254
+ }
1121
1255
  let triggerFilterTree = null;
1122
1256
  if (triggerInputDetails?.filter !== undefined) {
1123
1257
  triggerFilterTree = normalizeFilterTree(triggerInputDetails.filter);
@@ -1147,7 +1281,7 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1147
1281
  fieldValues: pickerValues,
1148
1282
  solutionDir: resolvePickers ? await solutionDirFor(opts) : null
1149
1283
  });
1150
- await assertPickersResolved(triggerClient, resolvePickers ? pickerValues : undefined, resolvedResources);
1284
+ await assertPickersResolved(triggerClient, resolvePickers ? pickerValues : undefined, resolvedResources, optionLabels(opts.optionLabels));
1151
1285
  const { essentialConfiguration: triggerEssentialConfig } = triggerClient.getEssentialConfiguration();
1152
1286
  assertActivityMetadataResolved(triggerEssentialConfig, resolvedConnection.context.id);
1153
1287
  const designedMeta = await withTriggerDesignAction({
@@ -1158,7 +1292,8 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1158
1292
  solutionDir: resolvePickers ? await solutionDirFor(opts) : null,
1159
1293
  connectionId: resolvedConnection.context.id,
1160
1294
  target: { connectorKey, operation: eventOperation, objectName },
1161
- diagnostics
1295
+ diagnostics,
1296
+ labels: optionLabels(opts.optionLabels)
1162
1297
  });
1163
1298
  const fieldsMap = designedMeta.fields ?? {};
1164
1299
  const allFields = Object.values(fieldsMap);
@@ -1176,7 +1311,13 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1176
1311
  const essentialConfiguration = {
1177
1312
  essentialConfiguration: triggerEssentialConfig
1178
1313
  };
1179
- const filter = filterFieldDefs.length > 0 ? { builder: "jmes", fields: filterFieldDefs } : undefined;
1314
+ const filter = withBuilderOperators(filterFieldDefs.length > 0 ? { builder: "jmes", fields: filterFieldDefs } : undefined, "jmes", triggerClient.getFilterFields());
1315
+ if (filter?.freeformOperators && filter.fields.length === 0 && responseFields.length === 0) {
1316
+ diagnostics.warnings = [
1317
+ ...diagnostics.warnings ?? [],
1318
+ "the filter takes any field name and this trigger lists no payload fields, so a field name cannot be checked against the spec"
1319
+ ];
1320
+ }
1180
1321
  const byoaConnection = eventOpFlags?.byoaConnection ?? resolvedConnection.context.byoaConnection;
1181
1322
  resolvedConnection.context.byoaConnection = byoaConnection;
1182
1323
  const responseDisplayName = typecacheCtx.entry.displayName ?? objectDisplayName ?? "Response";
@@ -1186,7 +1327,7 @@ async function buildTriggerSpec(connectorKey, objectName, eventOperation, resolv
1186
1327
  if (triggerInputDetails) {
1187
1328
  applyTriggerInputDetails(caseShape, triggerInputDetails, combinedFilterExpression);
1188
1329
  }
1189
- const connectorDisplayName = await lookupConnectorDisplayName(typecacheCtx.entry.packageId);
1330
+ const connectorDisplayName = await opts.typeCache.lookupConnectorDisplayName(typecacheCtx.entry.packageId);
1190
1331
  caseShape.context = buildTriggerContext({
1191
1332
  connectorKey,
1192
1333
  connectorName: resolvedConnection.connectorName,
@@ -1363,6 +1504,21 @@ function buildActivityFilter(metadata, method, verb) {
1363
1504
  const filterFields = extractActivityFilterFields(metadata, method).map(toFilterFieldSpec);
1364
1505
  return filterFields.length > 0 ? { builder: "ceql", fields: filterFields } : undefined;
1365
1506
  }
1507
+ function withBuilderOperators(filter, builder, builderFields) {
1508
+ const operatorsByName = new Map(builderFields.fields.map((f) => [f.name, f.operators]));
1509
+ const fields = (filter?.fields ?? []).map((field) => {
1510
+ const operators = operatorsByName.get(field.name);
1511
+ return operators ? { ...field, operators: [...operators] } : field;
1512
+ });
1513
+ const { freeformOperators } = builderFields;
1514
+ if (fields.length === 0 && freeformOperators === null)
1515
+ return;
1516
+ return {
1517
+ builder: filter?.builder ?? builder,
1518
+ fields,
1519
+ ...freeformOperators === null ? {} : { freeformOperators: [...freeformOperators] }
1520
+ };
1521
+ }
1366
1522
  function normalizeFilterType(raw) {
1367
1523
  switch ((raw ?? "").toLowerCase()) {
1368
1524
  case "number":
@@ -1394,6 +1550,26 @@ function parameterFromIS(p) {
1394
1550
  }
1395
1551
  return spec;
1396
1552
  }
1553
+ function withMultipartFileValues(multipart, inputDetails) {
1554
+ if (multipart === null || inputDetails?.bodyParameters === undefined) {
1555
+ return { multipart, inputDetails };
1556
+ }
1557
+ const { multipartParams, bodyParameters } = inlineMultipartFileValues(multipart.parameters, inputDetails.bodyParameters);
1558
+ const unmoved = multipart.parameters.find((param) => param.dataType === "file" && bodyParameters?.[param.name] !== undefined);
1559
+ if (unmoved) {
1560
+ throw new InvalidInputDetailsError(`bodyParameters.${unmoved.name} takes a file variable as a string, e.g. "=js:vars.download".`);
1561
+ }
1562
+ return {
1563
+ multipart: {
1564
+ ...multipart,
1565
+ parameters: multipart.parameters.map((param, index) => {
1566
+ const value = multipartParams[index].value;
1567
+ return value === undefined ? param : { ...param, value };
1568
+ })
1569
+ },
1570
+ inputDetails: { ...inputDetails, bodyParameters }
1571
+ };
1572
+ }
1397
1573
  function buildMultipartSpec(params) {
1398
1574
  const multiparts = extractMultipartParameters(params);
1399
1575
  if (multiparts.length === 0)
@@ -1455,12 +1631,12 @@ function extractElementVersion(rc) {
1455
1631
  return rc.elementVersion;
1456
1632
  }
1457
1633
  export {
1458
- applyActivityInputDetails,
1459
- applyTriggerInputDetails,
1460
- buildActivityContext,
1461
- buildResponseJsonSchema,
1462
- buildTriggerContext,
1463
- fetchConnectorTaskSpec
1634
+ ConnectionConnectorMismatchError2 as ConnectionConnectorMismatchError,
1635
+ InvalidInputDetailsError,
1636
+ ResourceFieldResolutionError2 as ResourceFieldResolutionError,
1637
+ UNSAFE_KEYS,
1638
+ fetchConnectorTaskSpec,
1639
+ nestDottedKeys
1464
1640
  };
1465
1641
 
1466
- //# debugId=7B6C3F0AC1329CE164756E2164756E21
1642
+ //# debugId=E30D0AF4D91E22C864756E2164756E21