@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.
- package/dist/THIRD-PARTY-NOTICES.md +68 -7
- package/dist/applicationinsights-web-8m26566f.js +17209 -0
- package/dist/{authoring-kqh34zzm.js → authoring-vg90pqrn.js} +488 -213
- package/dist/bindings-v2-1da35xsc.js +27 -0
- package/dist/{browser-strategy-6atc7v8s.js → browser-strategy-627rrg7z.js} +6 -7
- package/dist/{business-rule-export-ey588rv7.js → business-rule-export-jv60r9jf.js} +3 -7
- package/dist/carry-forward-sfdnta6q.js +52 -0
- package/dist/{case-api-sme7esce.js → case-api-by95rf40.js} +38 -37
- package/dist/{case-bindings-service-cht20gqt.js → case-bindings-service-pp3c9g1e.js} +93 -45
- package/dist/{case-debug-solution-projects-qqd3h10v.js → case-debug-solution-projects-je7h4hmq.js} +3 -7
- package/dist/{case-debug-studio-web-service-nqzmwbr5.js → case-debug-studio-web-service-d83h3atd.js} +48 -45
- package/dist/{case-described-io-service-dx1f4nxe.js → case-described-io-service-tsm8r189.js} +33 -15
- package/dist/case-event-trigger-bindings-qbs8ywf5.js +17 -0
- package/dist/{case-format-service-6aew6tqc.js → case-format-service-3sab2297.js} +9 -10
- package/dist/{case-pack-service-pqq8wnfd.js → case-pack-service-txnv711n.js} +47 -42
- package/dist/case-schema-version-cw0h2nrv.js +18 -0
- package/dist/case-shape-reader-xaxmrd40.js +14 -0
- package/dist/{case-splice-service-s5gccctq.js → case-splice-service-6y35w83e.js} +139 -51
- package/dist/{case-validate-service-vq38va33.js → case-validate-service-hz0j90we.js} +234 -170
- package/dist/connector-enrichment-service-sjjmb9dy.js +56 -0
- package/dist/connector-library-1yw5r47w.js +99 -0
- package/dist/connector-lookup-service-yerhg9cd.js +20 -0
- package/dist/connector-task-shape-bgywpbqc.js +13 -0
- package/dist/{de-WLW6KWOJ-2qnsqdtw.js → de-2BEKRUMY-x4dx0nn9.js} +190 -10
- package/dist/{de-UZI7FJDO-mwvc4cxe.js → de-AI7ML6JM-km47f8k4.js} +20 -5
- package/dist/debug-service-h4jxbn1r.js +56 -0
- package/dist/{embedded-file-reader-r66242ey.js → embedded-file-reader-0228j82a.js} +1 -4
- package/dist/en-LAVDF7IQ-yzy20n6d.js +254 -0
- package/dist/en-X6T4SP2Y-xm47mf18.js +2752 -0
- package/dist/{enrichment-service-hv7ff88p.js → enrichment-service-wpprec7k.js} +36 -37
- package/dist/{es-5THCNRFN-tqwyrdgy.js → es-7ZTQTGKN-11sj0yjx.js} +190 -10
- package/dist/{es-MX-5RELIXKI-9jhqtddc.js → es-MX-7KJZPEQN-1fq0a9jr.js} +20 -5
- package/dist/{es-MX-TWZBRAXK-gqd9swzw.js → es-MX-IHGRIEWH-g63p0gb4.js} +191 -11
- package/dist/{es-4UBUTCQA-m1ytpyx2.js → es-SPNKTD5Y-vw5cbgv5.js} +20 -5
- package/dist/filter-engine-dh9s90gb.js +10 -0
- package/dist/first-party-service-ahcc6xc6.js +8 -0
- package/dist/{fr-CERONSRC-edpxhbmb.js → fr-7ZDL4MVO-pd27vwh6.js} +191 -11
- package/dist/{fr-VBM5WRC2-63z7w4mh.js → fr-AXJGUT53-hdg3pmd4.js} +20 -5
- package/dist/index-21kns9qg.js +10 -0
- package/dist/{index-fyc0k5dd.js → index-5pzp2qeb.js} +5350 -3271
- package/dist/{connector-task-spec-pzfzmfr5.js → index-9f8naxbk.js} +320 -144
- package/dist/{index-5dxh9z60.js → index-a7y7etmy.js} +6 -5
- package/dist/{index-ekwtgx7y.js → index-ec115v05.js} +309 -287
- package/dist/index-j9t2k52h.js +35 -0
- package/dist/index-myf7b4a5.js +26 -0
- package/dist/index-nj3axvya.js +159 -0
- package/dist/{index-h8cph72k.js → index-nzr4mx5p.js} +2 -22
- package/dist/index-pg9wmyrf.js +36 -0
- package/dist/index-z2qk2qn6.js +24 -0
- package/dist/index.js +19 -25
- package/dist/index.umd.min-ttg1qc0x.js +7814 -0
- package/dist/{init-entry-points-hhpv3e3f.js → init-entry-points-pc128f7z.js} +22 -35
- package/dist/input-reader-9ym8mkbc.js +10 -0
- package/dist/{ja-43QL7CGO-c3q8gre9.js → ja-C7GZV6YP-hvtbngr5.js} +20 -5
- package/dist/{ja-U2MCNHGT-gz0ap1jk.js → ja-LGAM5HKR-sgrtjqjh.js} +190 -10
- package/dist/{jmespath-e4a59c8w.js → jmespath-wwym30dp.js} +1 -1
- package/dist/{js-yaml-87cdx6bm.js → js-yaml-a2bk27p6.js} +1 -3
- package/dist/known-types-gak9by1w.js +11 -0
- package/dist/{ko-XAUYQWDR-zp81gjp4.js → ko-7B4SUZB7-c8wr20sc.js} +190 -10
- package/dist/{ko-TLL6Z6CD-wrt3n8a9.js → ko-Q24HSSL4-5vn55pte.js} +20 -5
- package/dist/localSolutionDiscovery-48d1bnkj.js +15 -0
- package/dist/{migration-diagnosis-ns5cw4e3.js → migration-diagnosis-myqqgwj0.js} +1 -4
- package/dist/{node-strategy-v442hwgd.js → node-strategy-2mqzg36t.js} +15 -18
- package/dist/node-sync-service-y8b5w1rd.js +56 -0
- package/dist/{out-target-wjgmna0r.js → out-target-eqsttq1k.js} +18 -22
- package/dist/{packager-tool-f8vwy92w.js → packager-tool-0te1tyhf.js} +186 -16
- package/dist/{packager-tool-ydyvtknp.js → packager-tool-0w4fsdzv.js} +44 -20
- package/dist/{packager-tool-8ftat1vn.js → packager-tool-17b466mr.js} +59158 -59666
- package/dist/packager-tool-1nfdj0zm.js +425 -0
- package/dist/packager-tool-1wgav5ma.js +139 -0
- package/dist/{packager-tool-b1nw50ev.js → packager-tool-265h946t.js} +256 -486
- package/dist/{packager-tool-nj4seavy.js → packager-tool-35c9npcy.js} +26 -7
- package/dist/{packager-tool-r0x3qh59.js → packager-tool-388vyja1.js} +185 -29
- package/dist/packager-tool-3m8482sw.js +78 -0
- package/dist/packager-tool-3r23qsca.js +4832 -0
- package/dist/packager-tool-3xehbdyd.js +1302 -0
- package/dist/packager-tool-4avchhz8.js +539 -0
- package/dist/{packager-tool-9kvkzc05.js → packager-tool-5w0gjcck.js} +4 -4
- package/dist/packager-tool-68648y3j.js +6 -0
- package/dist/{packager-tool-1yh8g550.js → packager-tool-6an893wm.js} +12 -3
- package/dist/{packager-tool-aagnvyba.js → packager-tool-76zhn5pa.js} +131 -432
- package/dist/packager-tool-7x1tmb8a.js +46 -0
- package/dist/{packager-tool-kyrm4e5m.js → packager-tool-9ar5829n.js} +781 -741
- package/dist/{packager-tool-4p11fvf4.js → packager-tool-b2q8m9pq.js} +10 -13
- package/dist/packager-tool-bg3tdpva.js +27 -0
- package/dist/{packager-tool-wr12ndwk.js → packager-tool-ccejfs0r.js} +252 -468
- package/dist/{packager-tool-yn33pw57.js → packager-tool-dn9d4ywm.js} +246 -225
- package/dist/{packager-tool-kdhey8gz.js → packager-tool-e02jkmrq.js} +41 -29
- package/dist/{packager-tool-sq931c23.js → packager-tool-e1tx5mqg.js} +1 -1
- package/dist/{packager-tool-qn3zkrrc.js → packager-tool-ehjw672b.js} +32 -15
- package/dist/packager-tool-gy4yjqhf.js +178 -0
- package/dist/packager-tool-h2ar8xf8.js +222 -0
- package/dist/{packager-tool-v2kcgjbf.js → packager-tool-j6nfje7t.js} +5 -4
- package/dist/packager-tool-k0ar6cn7.js +295 -0
- package/dist/packager-tool-kz7zz79p.js +71 -0
- package/dist/{packager-tool-1gwbq864.js → packager-tool-m5384a1s.js} +66 -82
- package/dist/{packager-tool-9e59z4d6.js → packager-tool-me8gd22q.js} +82 -83
- package/dist/packager-tool-mk9fmzdy.js +20 -0
- package/dist/{packager-tool-yfmby4dd.js → packager-tool-mkt1njk2.js} +630 -689
- package/dist/{packager-tool-gdtpsdn7.js → packager-tool-mm1x18d6.js} +223 -28
- package/dist/{packager-tool-mqy97y5f.js → packager-tool-p5gs9xqy.js} +14 -14
- package/dist/{packager-tool-83v804p7.js → packager-tool-psmb758n.js} +3108 -2627
- package/dist/packager-tool-q26hncjr.js +13 -0
- package/dist/packager-tool-q9fnx278.js +77 -0
- package/dist/{packager-tool-ezds6t5e.js → packager-tool-s12s1dp6.js} +11 -11
- package/dist/packager-tool-scy94jyb.js +5424 -0
- package/dist/{packager-tool-yn7r7zq2.js → packager-tool-snesn0bt.js} +177 -96
- package/dist/{packager-tool-d8e2mrkq.js → packager-tool-tgehy324.js} +56 -56
- package/dist/{packager-tool-tqn0j6f9.js → packager-tool-v11fx4dk.js} +7 -7
- package/dist/{packager-tool-67vy1fz3.js → packager-tool-v6rkp2ay.js} +24 -92
- package/dist/{packager-tool-9sd483vs.js → packager-tool-vs7gqa4r.js} +15 -15
- package/dist/packager-tool-vyavrbym.js +488 -0
- package/dist/{packager-tool-b098y4a2.js → packager-tool-wbksf242.js} +97 -97
- package/dist/{packager-tool-2sn7d8fd.js → packager-tool-x74mmjkw.js} +9 -13
- package/dist/{packager-tool-7hw344bt.js → packager-tool-xb16e3tz.js} +5 -5
- package/dist/{packager-tool-a17g0pj1.js → packager-tool-xd1wbvay.js} +10 -8
- package/dist/{packager-tool-1yfw674x.js → packager-tool-xehhk3c3.js} +10 -5
- package/dist/packager-tool-yh8mmj3p.js +123 -0
- package/dist/{packager-tool-hdxtgckw.js → packager-tool-z070caqq.js} +56 -12
- package/dist/{packager-tool-b250k6w4.js → packager-tool-z1fw9a8v.js} +41 -9
- package/dist/{packager-tool-0gctz400.js → packager-tool-z9fmqtm6.js} +4 -4
- package/dist/{packager-tool-mzf4gmph.js → packager-tool-zbx189j3.js} +11 -8
- package/dist/{packager-tool-zf8f9pmm.js → packager-tool-zrbnms9b.js} +3 -4
- package/dist/packager-tool.js +10 -11
- package/dist/prepare-uip-ad7mfs8t.js +92 -0
- package/dist/{project-artifacts-bgyyb0dm.js → project-artifacts-q0c0zghw.js} +2 -6
- package/dist/{pt-BR-USP2T7GD-pedn77m1.js → pt-BR-BIUJXIPU-2sqzhr8y.js} +20 -5
- package/dist/{pt-BR-GNQNAAZ2-xadharv4.js → pt-BR-PHLFHMXZ-n6de4s7z.js} +191 -11
- package/dist/{pt-RMIAKZB4-67enhx3m.js → pt-MHX6JGAX-xfgvdqwg.js} +20 -5
- package/dist/{pt-TO2DARY2-ftcce1bv.js → pt-N7ZTJT4W-d6c67xcn.js} +190 -10
- package/dist/{resolved-check-aqw7568y.js → resolved-check-dz8eqrf6.js} +2 -3
- package/dist/{resourcesSyncService-8ac6ncq2.js → resourcesSyncService-yrhhh62m.js} +81 -141
- package/dist/{ro-GHOBYW2S-mhnqsgaa.js → ro-3RKJNGJZ-xqj14e3d.js} +20 -5
- package/dist/{ro-WUYJV6OW-a8d9qy1n.js → ro-FLNXVYJI-ytrwabg2.js} +190 -10
- package/dist/ru-GSCT4ARZ-c2cfq4h1.js +7 -0
- package/dist/ru-WBLQ5B2U-bf20yr5y.js +7 -0
- package/dist/{rule-group-members-zje7n3kf.js → rule-group-members-p0nv1rmj.js} +1 -3
- package/dist/rule-type-declaration-s2nxpcfy.js +77 -0
- package/dist/{sdd-convert-service-8jpew7vz.js → sdd-convert-service-ffbx00k6.js} +481 -504
- package/dist/{sdd-lookup-fe900sdb.js → sdd-lookup-sah7wj5j.js} +8 -9
- package/dist/{sdd-resolve-service-qdtmxw9b.js → sdd-resolve-service-6nt10vhq.js} +28 -20
- package/dist/{sdd-resolve-siblings-8gf9zjwf.js → sdd-resolve-siblings-ap8j1c8h.js} +11 -14
- package/dist/solution-auth-a1p22hq1.js +11 -0
- package/dist/solution-discovery-r1y550sz.js +33 -0
- package/dist/{strict-case-rules-4tjcaznr.js → strict-case-rules-045kbjvv.js} +16 -28
- package/dist/{strict-entry-points-g2pd4mf4.js → strict-entry-points-40ha9afz.js} +15 -14
- package/dist/strict-sdd-audit-bp7fq2tg.js +26 -0
- package/dist/{task-selector-8bjn35dv.js → task-selector-jt60hdbt.js} +1 -3
- package/dist/{task-type-declaration-7a8fqdvs.js → task-type-declaration-yhczvj05.js} +9 -9
- package/dist/tool.js +18 -24
- package/dist/{tr-M3F5A6AU-bb0tg39m.js → tr-7AIZZWZ6-pdzp9n0p.js} +190 -10
- package/dist/{tr-GDTLECMM-k5fhmq13.js → tr-PQLUUHPC-qsb7btxn.js} +20 -5
- package/dist/{trigger-enrichment-service-agvnhdf7.js → trigger-enrichment-service-z8kxy6qr.js} +53 -57
- package/dist/trigger-entry-point-id-751v48qd.js +14 -0
- package/dist/{zh-CN-C5G4PC7C-ds9gkptg.js → zh-CN-CN2ARPFS-e0p2qrxf.js} +190 -10
- package/dist/{zh-CN-I5D7WHBD-sr5h0a98.js → zh-CN-OHNTHZRI-b0hjkfqn.js} +20 -5
- package/dist/{zh-TW-62HZIG6O-787kdwex.js → zh-TW-7RUFEVFK-qd7myw31.js} +190 -10
- package/dist/{zh-TW-2AVLM723-288pkc1z.js → zh-TW-E4D3Y6ZR-tn3bmzz5.js} +20 -5
- package/package.json +2 -2
- package/dist/canvas-notes-86fxx1t8.js +0 -19
- package/dist/case-event-trigger-bindings-g9ftnm4x.js +0 -16
- package/dist/case-schema-version-h820ne16.js +0 -20
- package/dist/case-shape-reader-dsbraetf.js +0 -13
- package/dist/connector-enrichment-service-6kskfevq.js +0 -65
- package/dist/connector-lookup-service-yyn8kkw7.js +0 -22
- package/dist/connector-task-shape-mpazkf7s.js +0 -14
- package/dist/debug-service-7q98j726.js +0 -59
- package/dist/en-EJCBA3LK-dtpdghgj.js +0 -146
- package/dist/en-M7GQYBV2-5nfmpnfz.js +0 -2018
- package/dist/filter-engine-7ep90g7f.js +0 -11
- package/dist/first-party-service-srxaftkn.js +0 -27
- package/dist/index-0d7qc2gs.js +0 -282
- package/dist/index-jmv5by9z.js +0 -666
- package/dist/index-kmp9fmhb.js +0 -25
- package/dist/index-n9qvnx4x.js +0 -29
- package/dist/index-ngs0a2he.js +0 -15
- package/dist/index-xq6ajhgq.js +0 -157
- package/dist/index.umd.min-fqefd9kn.js +0 -7814
- package/dist/input-reader-c7wz8ra2.js +0 -11
- package/dist/known-types-5b6yrsqn.js +0 -16
- package/dist/localSolutionDiscovery-yyx234ak.js +0 -13
- package/dist/node-sync-service-2ezr3akv.js +0 -57
- package/dist/packager-tool-53w8skv5.js +0 -262
- package/dist/packager-tool-6z1hsm2h.js +0 -143
- package/dist/packager-tool-93mdeqay.js +0 -18
- package/dist/packager-tool-9kf3fqtr.js +0 -23
- package/dist/packager-tool-bfgdz1zh.js +0 -73
- package/dist/packager-tool-e15kqpyh.js +0 -266
- package/dist/packager-tool-gmykn1ef.js +0 -5365
- package/dist/packager-tool-jysvpt8p.js +0 -11
- package/dist/packager-tool-pcvhcn2k.js +0 -2019
- package/dist/packager-tool-rk25wp3c.js +0 -28
- package/dist/packager-tool-sc961w0q.js +0 -16
- package/dist/packager-tool-wekqkmgn.js +0 -265
- package/dist/packager-tool-yc4kw997.js +0 -13
- package/dist/packager-tool-zgpsnxkd.js +0 -13189
- package/dist/ru-GSCT4ARZ-1sa9wbr8.js +0 -10
- package/dist/ru-WBLQ5B2U-s4em88p0.js +0 -10
- package/dist/solution-auth-30yycqtv.js +0 -14
- package/dist/solution-discovery-e9mamp6w.js +0 -38
- package/dist/strict-sdd-audit-q7tb9yj7.js +0 -25
- package/dist/trigger-entry-point-id-yhqwnkx9.js +0 -15
- /package/dist/{packager-tool-5qp9xza1.js → packager-tool-1c30ttpm.js} +0 -0
- /package/dist/{packager-tool-mknccck5.js → packager-tool-1h7abxw6.js} +0 -0
- /package/dist/{packager-tool-9y1w2wds.js → packager-tool-fcektt1g.js} +0 -0
- /package/dist/{packager-tool-k6jbedyc.js → packager-tool-hcdnc420.js} +0 -0
- /package/dist/{packager-tool-7nxppa3d.js → packager-tool-jv5byaww.js} +0 -0
- /package/dist/{packager-tool-qa9gftnj.js → packager-tool-mxgybnmt.js} +0 -0
- /package/dist/{packager-tool-87y6xw3a.js → packager-tool-nfhtwa72.js} +0 -0
- /package/dist/{packager-tool-cv05dwac.js → packager-tool-p0rdmmvk.js} +0 -0
- /package/dist/{packager-tool-21qfsbxn.js → packager-tool-yaertxsw.js} +0 -0
|
@@ -1,73 +1,87 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./packager-tool-
|
|
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
|
-
|
|
5
|
+
getEventOperationObjects,
|
|
6
|
+
resourceFolderKeyFieldName,
|
|
7
|
+
ResourceFieldResolutionError2,
|
|
8
|
+
createSolutionResourceConfigurationsProvider,
|
|
23
9
|
buildActivityEssentialConfiguration,
|
|
24
|
-
buildInputMetadata,
|
|
25
10
|
configureActivityClient,
|
|
26
|
-
|
|
11
|
+
assertActivityMetadataResolved,
|
|
27
12
|
extractMultipartParameters,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
inlineMultipartFileValues,
|
|
14
|
+
buildInputMetadata,
|
|
15
|
+
ConflictingDesignActionsError,
|
|
31
16
|
resourcePickersRequestNeeds,
|
|
32
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
41
|
-
} from "./packager-tool-
|
|
42
|
-
import"./packager-tool-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
63
|
-
} from "./packager-tool-
|
|
64
|
-
import
|
|
65
|
-
|
|
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/
|
|
79
|
+
// ../maestro-sdk/src/connector-spec/input-validator.ts
|
|
68
80
|
class InvalidInputDetailsError extends Error {
|
|
69
|
-
|
|
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(
|
|
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
|
-
|
|
115
|
+
errors.push(...objectFieldErrors(config, [
|
|
102
116
|
"bodyParameters",
|
|
103
117
|
"queryParameters",
|
|
104
118
|
"pathParameters"
|
|
105
|
-
])
|
|
106
|
-
|
|
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
|
-
|
|
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
|
|
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(
|
|
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
|
-
|
|
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
|
|
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/
|
|
189
|
-
var
|
|
190
|
-
|
|
191
|
-
|
|
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/
|
|
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/
|
|
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(
|
|
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'
|
|
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
|
|
242
|
-
` +
|
|
243
|
-
`
|
|
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,
|
|
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
|
|
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 =
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
997
|
+
return opts.solutionFolder ?? (await findSolutionFromCwd2())?.solutionDir ?? null;
|
|
909
998
|
}
|
|
910
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1634
|
+
ConnectionConnectorMismatchError2 as ConnectionConnectorMismatchError,
|
|
1635
|
+
InvalidInputDetailsError,
|
|
1636
|
+
ResourceFieldResolutionError2 as ResourceFieldResolutionError,
|
|
1637
|
+
UNSAFE_KEYS,
|
|
1638
|
+
fetchConnectorTaskSpec,
|
|
1639
|
+
nestDottedKeys
|
|
1464
1640
|
};
|
|
1465
1641
|
|
|
1466
|
-
//# debugId=
|
|
1642
|
+
//# debugId=E30D0AF4D91E22C864756E2164756E21
|