@uipath/flow-tool 1.204.0 → 1.205.0-preview.258
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/README.md +9 -9
- package/dist/THIRD-PARTY-NOTICES.md +39 -15
- package/dist/{authoring-bppe07p0.js → authoring-e1k40hyw.js} +6 -5
- package/dist/{binding-service-xwgsn35p.js → binding-service-pdtxvvt8.js} +38 -30
- package/dist/{connector-service-r0w8ztas.js → connector-service-pm9hfmsv.js} +224 -47
- package/dist/de-UZI7FJDO-awjpqfz0.js +200 -0
- package/dist/{de-MUJPA4EB-dpg7t2rw.js → de-UZI7FJDO-mwvc4cxe.js} +29 -2
- package/dist/{de-FGHEJRCI-rv513mfh.js → de-WLW6KWOJ-2qnsqdtw.js} +238 -31
- package/dist/debug-conversation-trigger-xsm3ycqx.js +30 -0
- package/dist/{debug-http-client-p4kf38yt.js → debug-http-client-yqjzsnhw.js} +5 -4
- package/dist/{debug-service-893erynq.js → debug-service-nra3n02y.js} +6 -5
- package/dist/{edge-service-yzsfw4bs.js → edge-service-mddnjwb0.js} +16 -12
- package/dist/{embedded-file-reader-v8c2yj2a.js → embedded-file-reader-r66242ey.js} +2 -2
- package/dist/en-EJCBA3LK-0wb3b1xy.js +146 -0
- package/dist/{en-FBPVNKFN-dqt573xn.js → en-EJCBA3LK-dtpdghgj.js} +12 -4
- package/dist/{en-BWGKA5OE-1qkvb9rn.js → en-M7GQYBV2-5nfmpnfz.js} +88 -6
- package/dist/{es-7SE7HX2X-8yh1aj2y.js → es-4UBUTCQA-m1ytpyx2.js} +29 -2
- package/dist/es-4UBUTCQA-t7hsackg.js +200 -0
- package/dist/{es-KR3ZSNMP-84zphx0x.js → es-5THCNRFN-tqwyrdgy.js} +235 -28
- package/dist/{es-MX-2MYFZU7X-3rek4r73.js → es-MX-5RELIXKI-9jhqtddc.js} +29 -2
- package/dist/es-MX-5RELIXKI-jtjbcxbb.js +200 -0
- package/dist/{es-MX-XXZJGC4R-2mr8jtgm.js → es-MX-TWZBRAXK-gqd9swzw.js} +237 -30
- package/dist/filter-engine-7ep90g7f.js +11 -0
- package/dist/{flow-api-kjvpsxhw.js → flow-api-sat010z1.js} +16 -10
- package/dist/{flow-debug-service-dd10rg08.js → flow-debug-service-dw0d9cv7.js} +96 -58
- package/dist/{flow-eval-node-target-2ekp77s6.js → flow-eval-node-target-wttmdm4v.js} +17 -17
- package/dist/flow-eval-run-api-xdygjzfv.js +13 -0
- package/dist/{flow-eval-run-service-twzbmeq6.js → flow-eval-run-service-g09w4m9m.js} +73 -80
- package/dist/{flow-eval-service-ckwx7d5z.js → flow-eval-service-jfkz0tae.js} +167 -415
- package/dist/{flow-init-sdk-source-z9qx1zkt.js → flow-init-sdk-source-xvdvkq7d.js} +6 -5
- package/dist/{flow-init-service-m6swzk43.js → flow-init-service-5v6zwhas.js} +19 -15
- package/dist/{flow-io-tnrc53z6.js → flow-io-64tmj8n7.js} +15 -11
- package/dist/{flow-migrate-service-625gppk0.js → flow-migrate-service-bjxs35ac.js} +16 -12
- package/dist/{flow-pack-service-qdpvrmme.js → flow-pack-service-s75qhtn5.js} +47 -38
- package/dist/flow-validate-service-rbvgesrb.js +70 -0
- package/dist/{fr-Y6NPVODW-8vr1ja4b.js → fr-CERONSRC-edpxhbmb.js} +237 -30
- package/dist/{fr-MDFKNZ4C-h4a122k9.js → fr-VBM5WRC2-63z7w4mh.js} +29 -2
- package/dist/fr-VBM5WRC2-707ha692.js +200 -0
- package/dist/{governance-fetcher-zq8zmfjb.js → governance-fetcher-tw83p74c.js} +7 -6
- package/dist/{hitl-service-r19zvqsz.js → hitl-service-hgg9tr5j.js} +15 -11
- package/dist/{index-b8n7hv68.js → index-09mfatmh.js} +6 -5
- package/dist/{index-aaq9rwfv.js → index-1b2je9n2.js} +1088 -233
- package/dist/index-d090f35d.js +66 -0
- package/dist/{index-yj4xk2aw.js → index-dgdnbb2g.js} +7 -5
- package/dist/{index-ng2f77my.js → index-fyc0k5dd.js} +985 -617
- package/dist/{index-vrhcbxnk.js → index-nsn889vf.js} +6 -5
- package/dist/{index-2s8rmmw6.js → index-sqhbn7ew.js} +4 -4
- package/dist/{index-tnz5ks4t.js → index-wycgq0ff.js} +65 -2230
- package/dist/index.js +17 -14
- package/dist/init.js +19 -15
- package/dist/inline-entity-resolver-2qqf1635.js +45 -0
- package/dist/input-reader-n7kzdrev.js +12 -0
- package/dist/{ja-UTQEAP34-8e0q6swp.js → ja-43QL7CGO-c3q8gre9.js} +29 -2
- package/dist/ja-43QL7CGO-h6qfxfay.js +200 -0
- package/dist/{ja-Q5PXKJ2V-p4msxzjd.js → ja-U2MCNHGT-gz0ap1jk.js} +235 -28
- package/dist/{known-types-q6fcyq2e.js → known-types-3025scz1.js} +5 -5
- package/dist/ko-TLL6Z6CD-ag6gjynr.js +200 -0
- package/dist/{ko-AXCHW2OK-askct7f6.js → ko-TLL6Z6CD-wrt3n8a9.js} +29 -2
- package/dist/{ko-AYBDSRZG-41mdmsg1.js → ko-XAUYQWDR-zp81gjp4.js} +237 -30
- package/dist/{maestro-automate-entry-qak46eg0.js → maestro-automate-entry-6f9act3w.js} +2 -2
- package/dist/{node-ccwecksf.js → node-1wzjq3jb.js} +29 -15
- package/dist/{node-service-w8gsy23p.js → node-service-0hxtt2x6.js} +41 -30
- package/dist/{node-strategy-fdnkvq4a.js → node-strategy-1dmmhvf3.js} +1 -1
- package/dist/node-sync-service-n7r4ma3a.js +61 -0
- package/dist/{packager-tool-s4etvs59.js → packager-tool-0j8v36qh.js} +1 -1
- package/dist/packager-tool-10vc8pq4.js +2 -0
- package/dist/{packager-tool-pw6j69m5.js → packager-tool-445qgxdk.js} +1802 -378
- package/dist/packager-tool-4kr6g0zw.js +16 -0
- package/dist/packager-tool-4x7tzvv0.js +1176 -0
- package/dist/{packager-tool-86rhxbf1.js → packager-tool-5regytfc.js} +6 -4
- package/dist/{packager-tool-d88rqwk8.js → packager-tool-6z1hsm2h.js} +13 -5
- package/dist/{packager-tool-jaa5gcbv.js → packager-tool-71gqkgg6.js} +6 -6
- package/dist/packager-tool-7hw344bt.js +107 -0
- package/dist/{packager-tool-m8xtf5ej.js → packager-tool-8g5931fz.js} +7 -4
- package/dist/{packager-tool-h9tzz0qd.js → packager-tool-961vsbsc.js} +15 -10
- package/dist/{packager-tool-zzc2yp2h.js → packager-tool-99gban46.js} +172 -71
- package/dist/packager-tool-9era57c0.js +28 -0
- package/dist/packager-tool-9jxzgsxc.js +14 -0
- package/dist/{packager-tool-zxp4hya4.js → packager-tool-a5afh1dc.js} +34 -13
- package/dist/{packager-tool-02f63a08.js → packager-tool-apawc11t.js} +88 -762
- package/dist/{packager-tool-tf3d2y8z.js → packager-tool-aw9v0raw.js} +2 -2
- package/dist/{packager-tool-6y0f9qg5.js → packager-tool-b3k0mkke.js} +463 -327
- package/dist/packager-tool-cqtsj6yh.js +2 -0
- package/dist/{packager-tool-5nqhxb9e.js → packager-tool-dwd6cc01.js} +16110 -13031
- package/dist/{packager-tool-t605qewm.js → packager-tool-dxgrhfq5.js} +2 -2
- package/dist/{packager-tool-awkq26v0.js → packager-tool-e7kvq8hf.js} +5 -3
- package/dist/packager-tool-fc1xdt3y.js +35 -0
- package/dist/{packager-tool-3dc9gz35.js → packager-tool-frjt46rb.js} +1 -1
- package/dist/{packager-tool-cn7e7cx2.js → packager-tool-gcap41av.js} +668 -57
- package/dist/packager-tool-hj5x3p8g.js +23 -0
- package/dist/{packager-tool-k91rd9nx.js → packager-tool-hvgn6t66.js} +6 -24
- package/dist/{packager-tool-w5a1hhyj.js → packager-tool-hxyjn885.js} +13 -2
- package/dist/{packager-tool-hhy1gr2k.js → packager-tool-jgfzfqjm.js} +1 -1
- package/dist/{packager-tool-6h69pd2a.js → packager-tool-kn86394c.js} +127 -61
- package/dist/packager-tool-mgcz986r.js +143 -0
- package/dist/{packager-tool-3h2ktz6q.js → packager-tool-myhbp761.js} +11 -1
- package/dist/{packager-tool-hp5vnk8p.js → packager-tool-ndev7vbj.js} +13 -13
- package/dist/{packager-tool-dynm8fz9.js → packager-tool-nj4vcnq9.js} +20 -8
- package/dist/{packager-tool-ayc9nhpa.js → packager-tool-nk16zaz3.js} +519 -437
- package/dist/{packager-tool-vzbttaje.js → packager-tool-nts5rrch.js} +5 -6
- package/dist/{packager-tool-vbfz8k7w.js → packager-tool-p8gab24q.js} +52 -32
- package/dist/{packager-tool-stq8800d.js → packager-tool-pacrqxv2.js} +17 -4
- package/dist/{packager-tool-7q6z6npd.js → packager-tool-pcvhcn2k.js} +93 -11
- package/dist/packager-tool-phw8ydjx.js +331 -0
- package/dist/packager-tool-qcqb9hf8.js +26 -0
- package/dist/{packager-tool-n89vrpex.js → packager-tool-skcjythd.js} +10907 -25608
- package/dist/{packager-tool-1ca047de.js → packager-tool-sqpesv2e.js} +12 -56
- package/dist/packager-tool-t7ahhaer.js +877 -0
- package/dist/{packager-tool-peawy22c.js → packager-tool-tqjfdpda.js} +53 -8
- package/dist/{packager-tool-y8egb0fa.js → packager-tool-wds3myef.js} +2573 -535
- package/dist/{packager-tool-5tjzg56t.js → packager-tool-wh660fny.js} +1 -1
- package/dist/{packager-tool-tyg399d6.js → packager-tool-wze74wyk.js} +74 -47
- package/dist/packager-tool-xj0agqpk.js +11 -0
- package/dist/packager-tool-xk78j7dz.js +1256 -0
- package/dist/{packager-tool-py93409h.js → packager-tool-ymma2s85.js} +2 -2
- package/dist/packager-tool-z0yxfhdj.js +40 -0
- package/dist/packager-tool.js +13 -10
- package/dist/{pt-BR-TKHNHMET-sn91xyq0.js → pt-BR-GNQNAAZ2-xadharv4.js} +237 -30
- package/dist/{pt-BR-Y6K6XHXK-mp3hwhw1.js → pt-BR-USP2T7GD-pedn77m1.js} +29 -2
- package/dist/pt-BR-USP2T7GD-rppy42ym.js +200 -0
- package/dist/{pt-3DIO5QWG-59b3f4bc.js → pt-RMIAKZB4-67enhx3m.js} +29 -2
- package/dist/pt-RMIAKZB4-t80exmp7.js +200 -0
- package/dist/{pt-ROXU257Y-2f6bxev4.js → pt-TO2DARY2-ftcce1bv.js} +237 -30
- package/dist/ro-GHOBYW2S-4zevc9dy.js +200 -0
- package/dist/{ro-BWR3ONRR-vzx3hy8a.js → ro-GHOBYW2S-mhnqsgaa.js} +29 -2
- package/dist/{ro-AVAWPKOO-b89pw79r.js → ro-WUYJV6OW-a8d9qy1n.js} +235 -28
- package/dist/ru-WBLQ5B2U-dpqvtfwr.js +10 -0
- package/dist/services/connector-request-buckets.d.ts +1 -0
- package/dist/services/flow-eval-file-store.d.ts +1 -11
- package/dist/services/flow-eval-utils.d.ts +1 -32
- package/dist/services/flow-validate-service.d.ts +51 -0
- package/dist/services/inline-entity-resolver.d.ts +22 -0
- package/dist/services/node-service.d.ts +21 -1
- package/dist/services/packaging-utils.d.ts +15 -2
- package/dist/{shared-utils-pnbvyyb2.js → shared-utils-tqnx96mg.js} +4 -3
- package/dist/solution-auth-8qz5pw7z.js +14 -0
- package/dist/solution-discovery-vqravtkh.js +44 -0
- package/dist/{tidy-service-4fd4mjpb.js → tidy-service-fdctmeww.js} +143 -39
- package/dist/tool.js +17 -14
- package/dist/{tr-5IIHSFW5-hw4cewew.js → tr-GDTLECMM-k5fhmq13.js} +29 -2
- package/dist/tr-GDTLECMM-kngksm3r.js +200 -0
- package/dist/{tr-JMIP7ZSL-c39b6pe4.js → tr-M3F5A6AU-bb0tg39m.js} +235 -28
- package/dist/utils/flow-io.d.ts +2 -1
- package/dist/validation.js +39 -33
- package/dist/{variable-service-xgyaf3xy.js → variable-service-9xfk31pm.js} +16 -12
- package/dist/{wait-for-flow-job-d8m6mqb4.js → wait-for-flow-job-b0vj8828.js} +15 -12
- package/dist/{zh-CN-IFFXSEJS-9wm9gmrv.js → zh-CN-C5G4PC7C-ds9gkptg.js} +235 -28
- package/dist/zh-CN-I5D7WHBD-ge92tbx9.js +200 -0
- package/dist/{zh-CN-R2KU4U5L-tc1hat59.js → zh-CN-I5D7WHBD-sr5h0a98.js} +29 -2
- package/dist/{zh-TW-GNKMELBF-j674515r.js → zh-TW-2AVLM723-288pkc1z.js} +29 -2
- package/dist/zh-TW-2AVLM723-xsmap3gk.js +200 -0
- package/dist/{zh-TW-IYBNYAMG-8727c7v2.js → zh-TW-62HZIG6O-787kdwex.js} +234 -27
- package/package.json +2 -2
- package/dist/debug-conversation-trigger-8fgas95p.js +0 -44
- package/dist/flow-eval-run-api-byx3cacw.js +0 -13
- package/dist/flow-validate-service-ss9nt15j.js +0 -64
- package/dist/input-reader-vhar4g0k.js +0 -11
- package/dist/node-sync-service-42dpmp60.js +0 -40
- package/dist/packager-tool-a5xfcqqr.js +0 -15
- package/dist/packager-tool-epkg5s7f.js +0 -454
- package/dist/packager-tool-pz5nqg0s.js +0 -64
- package/dist/packager-tool-t3ysatjd.js +0 -521
- package/dist/packager-tool-vd6jt4n8.js +0 -208
- package/dist/packager-tool-wv3qf487.js +0 -265
- package/dist/services/flow-debug-service.d.ts +0 -320
- package/dist/services/flow-eval-schema/deterministic-evaluators.d.ts +0 -110
- package/dist/services/flow-eval-schema/evaluator-fields.d.ts +0 -66
- package/dist/services/flow-eval-schema/helpers.d.ts +0 -9
- package/dist/services/flow-eval-schema/index.d.ts +0 -4
- package/dist/services/flow-eval-schema/llm-judge-evaluators.d.ts +0 -174
- package/dist/services/flow-eval-schema/prompts.d.ts +0 -2
- package/dist/services/flow-eval-schema/registry.d.ts +0 -375
- package/dist/services/flow-eval-schema/tool-call-evaluators.d.ts +0 -93
- package/dist/services/flow-eval-schema/types.d.ts +0 -95
- package/dist/services/flow-eval-types.d.ts +0 -6
- package/dist/utils/write-resolved-flow.d.ts +0 -7
- /package/dist/{headless-45dypanh.js → headless-fw8pwyzm.js} +0 -0
- /package/dist/{localization-xecwjpe2.js → localization-d6gjmrsw.js} +0 -0
|
@@ -1,10 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
resolveInlineEntity
|
|
3
|
+
} from "./packager-tool-fc1xdt3y.js";
|
|
4
|
+
import {
|
|
5
|
+
getConnectorInfo,
|
|
6
|
+
getNode,
|
|
7
|
+
isConnectorNode,
|
|
8
|
+
isTenantManifestInvalidError
|
|
9
|
+
} from "./packager-tool-nk16zaz3.js";
|
|
10
|
+
import {
|
|
11
|
+
explainNodeTypeWithoutProcessResource
|
|
12
|
+
} from "./packager-tool-phw8ydjx.js";
|
|
13
|
+
import {
|
|
14
|
+
isKnownSdkNodeType
|
|
15
|
+
} from "./packager-tool-e7kvq8hf.js";
|
|
16
|
+
import {
|
|
17
|
+
findMatchingDefinition
|
|
18
|
+
} from "./packager-tool-hxyjn885.js";
|
|
19
|
+
import {
|
|
20
|
+
ensureDirectory
|
|
21
|
+
} from "./packager-tool-xk78j7dz.js";
|
|
22
|
+
import {
|
|
23
|
+
readFlowWorkflow,
|
|
24
|
+
writeFlowWorkflow
|
|
25
|
+
} from "./packager-tool-nts5rrch.js";
|
|
26
|
+
import {
|
|
27
|
+
bindingNodesOf,
|
|
28
|
+
buildInlineAgentContract,
|
|
29
|
+
createProcessBindings,
|
|
30
|
+
entityScopeKey,
|
|
31
|
+
extractProcessGuid,
|
|
32
|
+
isEntityNodeType,
|
|
33
|
+
isInlineAgentNodeType,
|
|
34
|
+
operateRuntimeOptions,
|
|
35
|
+
readInlineAgentSource
|
|
36
|
+
} from "./packager-tool-445qgxdk.js";
|
|
37
|
+
import {
|
|
38
|
+
addBinding,
|
|
39
|
+
addNode,
|
|
40
|
+
createBinding,
|
|
41
|
+
generateNodeIdAndName
|
|
42
|
+
} from "./packager-tool-961vsbsc.js";
|
|
43
|
+
import {
|
|
44
|
+
withRuntimeProfile
|
|
45
|
+
} from "./packager-tool-jgfzfqjm.js";
|
|
46
|
+
import {
|
|
47
|
+
defaultEntryPointNodeId
|
|
48
|
+
} from "./packager-tool-qcqb9hf8.js";
|
|
49
|
+
import {
|
|
50
|
+
EntryPointType,
|
|
51
|
+
ProjectType,
|
|
52
|
+
generateBindingsJson,
|
|
53
|
+
generateEntryPointsJson,
|
|
54
|
+
generateOperateJson,
|
|
55
|
+
getBindingResources,
|
|
56
|
+
getEntryPoints,
|
|
57
|
+
isConversationalOrVoiceAgentNodeType,
|
|
58
|
+
mergeBindingResources
|
|
59
|
+
} from "./packager-tool-bhqx9kez.js";
|
|
1
60
|
import {
|
|
2
61
|
UIPATH_HOME_DIR,
|
|
62
|
+
logger
|
|
63
|
+
} from "./packager-tool-apawc11t.js";
|
|
64
|
+
import {
|
|
3
65
|
catchError
|
|
4
|
-
} from "./packager-tool-
|
|
66
|
+
} from "./packager-tool-t7ahhaer.js";
|
|
5
67
|
import {
|
|
6
68
|
getFileSystem
|
|
7
|
-
} from "./packager-tool-
|
|
69
|
+
} from "./packager-tool-myhbp761.js";
|
|
70
|
+
|
|
8
71
|
// ../../node_modules/acorn/dist/acorn.mjs
|
|
9
72
|
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
|
10
73
|
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
|
|
@@ -5698,14 +5761,17 @@ var bpmn_spec_default = {
|
|
|
5698
5761
|
requiresDiscovery: true,
|
|
5699
5762
|
isDynamic: true,
|
|
5700
5763
|
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
5701
|
-
<
|
|
5702
|
-
<uipath:
|
|
5703
|
-
<uipath:
|
|
5704
|
-
<uipath:
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
|
|
5764
|
+
<bpmn:extensionElements>
|
|
5765
|
+
<uipath:activity version="v1">
|
|
5766
|
+
<uipath:type value="Orchestrator.StartAgentJob" version="v2" />
|
|
5767
|
+
<uipath:context>
|
|
5768
|
+
<uipath:input name="name" type="string" value="=bindings.{nameBindingId}" />
|
|
5769
|
+
<uipath:input name="folderPath" type="string" value="=bindings.{folderPathBindingId}" />
|
|
5770
|
+
</uipath:context>
|
|
5771
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
5772
|
+
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
5773
|
+
</uipath:activity>
|
|
5774
|
+
</bpmn:extensionElements>
|
|
5709
5775
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
5710
5776
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
5711
5777
|
</bpmn:ServiceTask>`,
|
|
@@ -5733,7 +5799,7 @@ var bpmn_spec_default = {
|
|
|
5733
5799
|
defaultValue: null,
|
|
5734
5800
|
bindingInfo: {
|
|
5735
5801
|
resource: "BusinessRule",
|
|
5736
|
-
resourceKeyPattern: "${metadata.
|
|
5802
|
+
resourceKeyPattern: "${metadata.folderPath}.${metadata.name}",
|
|
5737
5803
|
propertyAttribute: "name"
|
|
5738
5804
|
}
|
|
5739
5805
|
},
|
|
@@ -5747,7 +5813,7 @@ var bpmn_spec_default = {
|
|
|
5747
5813
|
defaultValue: null,
|
|
5748
5814
|
bindingInfo: {
|
|
5749
5815
|
resource: "BusinessRule",
|
|
5750
|
-
resourceKeyPattern: "${metadata.
|
|
5816
|
+
resourceKeyPattern: "${metadata.folderPath}.${metadata.name}",
|
|
5751
5817
|
propertyAttribute: "folderPath"
|
|
5752
5818
|
}
|
|
5753
5819
|
},
|
|
@@ -5764,13 +5830,22 @@ var bpmn_spec_default = {
|
|
|
5764
5830
|
inputPattern: "mergedBody",
|
|
5765
5831
|
inputName: "JobArguments",
|
|
5766
5832
|
inputTarget: "bodyField",
|
|
5767
|
-
|
|
5768
|
-
|
|
5833
|
+
outputName: "output",
|
|
5834
|
+
outputSource: "=result",
|
|
5835
|
+
outputType: "jsonSchema",
|
|
5836
|
+
additionalOutputs: [
|
|
5837
|
+
{
|
|
5838
|
+
name: "Error",
|
|
5839
|
+
type: "jsonSchema",
|
|
5840
|
+
source: "=Error",
|
|
5841
|
+
required: true
|
|
5842
|
+
}
|
|
5843
|
+
],
|
|
5769
5844
|
useRelativeSource: true,
|
|
5770
5845
|
bindingPattern: "businessRule",
|
|
5771
5846
|
bindingInfo: {
|
|
5772
5847
|
resource: "BusinessRule",
|
|
5773
|
-
resourceKeyPattern: "${metadata.
|
|
5848
|
+
resourceKeyPattern: "${metadata.folderPath}.${metadata.name}",
|
|
5774
5849
|
propertyAttribute: "name",
|
|
5775
5850
|
contextField: "name"
|
|
5776
5851
|
},
|
|
@@ -5779,7 +5854,7 @@ var bpmn_spec_default = {
|
|
|
5779
5854
|
xmlTemplate: `<bpmn:BusinessRuleTask id="{id}" name="{name}">
|
|
5780
5855
|
<bpmn:extensionElements>
|
|
5781
5856
|
<uipath:activity version="v1">
|
|
5782
|
-
<uipath:type value="Orchestrator.BusinessRules" version="
|
|
5857
|
+
<uipath:type value="Orchestrator.BusinessRules" version="v3" />
|
|
5783
5858
|
<uipath:context>
|
|
5784
5859
|
<uipath:input name="name" type="string" value="=bindings.{nameBindingId}" />
|
|
5785
5860
|
<uipath:input name="folderPath" type="string" value="=bindings.{folderPathBindingId}" />
|
|
@@ -5787,17 +5862,17 @@ var bpmn_spec_default = {
|
|
|
5787
5862
|
<uipath:inputSchema type="jsonSchema"><![CDATA[{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{},"required":[]}]]></uipath:inputSchema>
|
|
5788
5863
|
</uipath:context>
|
|
5789
5864
|
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
5865
|
+
<uipath:output name="output" type="jsonSchema" source="=result" var="{outputVarId}" />
|
|
5790
5866
|
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
5791
|
-
<uipath:output name="{outputName}" type="{outputType}" source="={outputName}" var="{outputVarId}" />
|
|
5792
5867
|
</uipath:activity>
|
|
5793
5868
|
</bpmn:extensionElements>
|
|
5794
5869
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
5795
5870
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
5796
5871
|
</bpmn:BusinessRuleTask>`,
|
|
5797
|
-
discoveryNotes: "Uses
|
|
5872
|
+
discoveryNotes: "Uses `uip rules list --all-folders --output json` to list deployed business rules; it returns 50 rows by default, so keep raising --offset while Pagination.HasMore is true",
|
|
5798
5873
|
inputNotes: "isSplitInputs=true in design schema: the canvas shows one input per rule argument and serialization merges them into the single JobArguments JSON body. The uipath:context inputSchema lists each argument with its type, and its required array names the required ones.",
|
|
5799
|
-
contextFieldNotes:
|
|
5800
|
-
outputNotes:
|
|
5874
|
+
contextFieldNotes: "name and folderPath each point to a root binding for a BusinessRule resource. Both bindings share one resourceKey. Use propertyAttribute name for name and folderPath for folderPath. _label is not bound and holds the rule name.",
|
|
5875
|
+
outputNotes: 'One output named output (type jsonSchema, source =result) holding the whole result keyed by decision, so a decision\'s column reads as vars.<outputVarId>.<decision>.<column>; plus an Error output (type jsonSchema, source =Error). Each var names a process variable declared as uipath:inputOutput on this element. Only a decision-keyed rule fits this output: its `uip rules describe` OutputArguments carry "x-uipath-decision-keyed": true; run `uip rules refresh` and redeploy a rule that does not.'
|
|
5801
5876
|
},
|
|
5802
5877
|
"Intsvc.ActivityExecution": {
|
|
5803
5878
|
extensionType: "Intsvc.ActivityExecution",
|
|
@@ -7348,52 +7423,189 @@ var bpmn_spec_default = {
|
|
|
7348
7423
|
</bpmn:ServiceTask>`,
|
|
7349
7424
|
discoveryNotes: "Uses getQueueDefinitions(serviceType, search) to list available queues"
|
|
7350
7425
|
},
|
|
7351
|
-
"Orchestrator.
|
|
7352
|
-
extensionType: "Orchestrator.
|
|
7353
|
-
label: "
|
|
7354
|
-
bpmnElement: "bpmn:
|
|
7426
|
+
"Orchestrator.SetTransactionStatus": {
|
|
7427
|
+
extensionType: "Orchestrator.SetTransactionStatus",
|
|
7428
|
+
label: "Set transaction status",
|
|
7429
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7355
7430
|
placements: {
|
|
7356
7431
|
activity: {
|
|
7357
|
-
type: "bpmn:
|
|
7432
|
+
type: "bpmn:ServiceTask"
|
|
7358
7433
|
}
|
|
7359
7434
|
},
|
|
7360
7435
|
extensionTag: "uipath:activity",
|
|
7361
7436
|
contextFields: [
|
|
7362
7437
|
{
|
|
7363
|
-
name: "
|
|
7364
|
-
displayName: "Process",
|
|
7438
|
+
name: "_label",
|
|
7365
7439
|
type: "string",
|
|
7366
7440
|
required: false,
|
|
7367
7441
|
hidden: true,
|
|
7368
7442
|
isPrimaryKey: false,
|
|
7369
7443
|
binding: false,
|
|
7444
|
+
defaultValue: null
|
|
7445
|
+
}
|
|
7446
|
+
],
|
|
7447
|
+
inputPattern: "mergedBody",
|
|
7448
|
+
outputSource: "=Error",
|
|
7449
|
+
outputType: "jsonSchema",
|
|
7450
|
+
outputName: "Error",
|
|
7451
|
+
bindingPattern: "none",
|
|
7452
|
+
requiresDiscovery: false,
|
|
7453
|
+
isDynamic: false,
|
|
7454
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7455
|
+
<bpmn:extensionElements>
|
|
7456
|
+
<uipath:activity version="v1">
|
|
7457
|
+
<uipath:type value="Orchestrator.SetTransactionStatus" version="v1" />
|
|
7458
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"QueueItem":{QueueItem},"Status":"{Status}","ErrorType":null,"Reason":null,"Details":null}]]></uipath:input>
|
|
7459
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{varId}" />
|
|
7460
|
+
</uipath:activity>
|
|
7461
|
+
</bpmn:extensionElements>
|
|
7462
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7463
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7464
|
+
</bpmn:ServiceTask>`,
|
|
7465
|
+
inputNotes: 'All inputFields go as keys of one <uipath:input name="body" type="json" target="body"> CDATA object. QueueItem takes either a JSON object literal (e.g. an object with an Id property) or a quoted "=expr"; it is not itself quoted in the template. Optional fields default to null in this example; fill only what you use.',
|
|
7466
|
+
inputFields: [
|
|
7467
|
+
{
|
|
7468
|
+
name: "QueueItem",
|
|
7469
|
+
displayName: "Transaction item",
|
|
7470
|
+
type: "object",
|
|
7471
|
+
required: true,
|
|
7472
|
+
hidden: false,
|
|
7473
|
+
isPrimaryKey: false,
|
|
7474
|
+
binding: false,
|
|
7370
7475
|
defaultValue: null,
|
|
7371
|
-
|
|
7372
|
-
resource: "process",
|
|
7373
|
-
resourceKeyPattern: "${metadata.key}",
|
|
7374
|
-
propertyAttribute: "Key"
|
|
7375
|
-
}
|
|
7476
|
+
target: "body"
|
|
7376
7477
|
},
|
|
7377
7478
|
{
|
|
7378
|
-
name: "
|
|
7479
|
+
name: "Status",
|
|
7480
|
+
type: "dropdown",
|
|
7481
|
+
required: true,
|
|
7482
|
+
hidden: false,
|
|
7483
|
+
isPrimaryKey: false,
|
|
7484
|
+
binding: false,
|
|
7485
|
+
defaultValue: null,
|
|
7486
|
+
enum: [
|
|
7487
|
+
"Successful",
|
|
7488
|
+
"Failed"
|
|
7489
|
+
],
|
|
7490
|
+
target: "body"
|
|
7491
|
+
},
|
|
7492
|
+
{
|
|
7493
|
+
name: "ErrorType",
|
|
7494
|
+
type: "dropdown",
|
|
7495
|
+
required: false,
|
|
7496
|
+
hidden: false,
|
|
7497
|
+
isPrimaryKey: false,
|
|
7498
|
+
binding: false,
|
|
7499
|
+
defaultValue: null,
|
|
7500
|
+
enum: [
|
|
7501
|
+
"BusinessException",
|
|
7502
|
+
"ApplicationException"
|
|
7503
|
+
],
|
|
7504
|
+
target: "body"
|
|
7505
|
+
},
|
|
7506
|
+
{
|
|
7507
|
+
name: "Reason",
|
|
7379
7508
|
type: "string",
|
|
7380
7509
|
required: false,
|
|
7381
|
-
hidden:
|
|
7510
|
+
hidden: false,
|
|
7382
7511
|
isPrimaryKey: false,
|
|
7383
7512
|
binding: false,
|
|
7384
|
-
defaultValue: null
|
|
7513
|
+
defaultValue: null,
|
|
7514
|
+
target: "body"
|
|
7385
7515
|
},
|
|
7386
7516
|
{
|
|
7387
|
-
name: "
|
|
7517
|
+
name: "Details",
|
|
7518
|
+
type: "string",
|
|
7519
|
+
required: false,
|
|
7520
|
+
hidden: false,
|
|
7521
|
+
isPrimaryKey: false,
|
|
7522
|
+
binding: false,
|
|
7523
|
+
defaultValue: null,
|
|
7524
|
+
target: "body"
|
|
7525
|
+
}
|
|
7526
|
+
],
|
|
7527
|
+
inputName: "body",
|
|
7528
|
+
inputTarget: "body"
|
|
7529
|
+
},
|
|
7530
|
+
"Orchestrator.SetTransactionProgress": {
|
|
7531
|
+
extensionType: "Orchestrator.SetTransactionProgress",
|
|
7532
|
+
label: "Set transaction progress",
|
|
7533
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7534
|
+
placements: {
|
|
7535
|
+
activity: {
|
|
7536
|
+
type: "bpmn:ServiceTask"
|
|
7537
|
+
}
|
|
7538
|
+
},
|
|
7539
|
+
extensionTag: "uipath:activity",
|
|
7540
|
+
contextFields: [
|
|
7541
|
+
{
|
|
7542
|
+
name: "_label",
|
|
7388
7543
|
type: "string",
|
|
7389
7544
|
required: false,
|
|
7390
7545
|
hidden: true,
|
|
7391
7546
|
isPrimaryKey: false,
|
|
7392
7547
|
binding: false,
|
|
7393
7548
|
defaultValue: null
|
|
7549
|
+
}
|
|
7550
|
+
],
|
|
7551
|
+
inputPattern: "mergedBody",
|
|
7552
|
+
outputSource: "=Error",
|
|
7553
|
+
outputType: "jsonSchema",
|
|
7554
|
+
outputName: "Error",
|
|
7555
|
+
bindingPattern: "none",
|
|
7556
|
+
requiresDiscovery: false,
|
|
7557
|
+
isDynamic: false,
|
|
7558
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7559
|
+
<bpmn:extensionElements>
|
|
7560
|
+
<uipath:activity version="v1">
|
|
7561
|
+
<uipath:type value="Orchestrator.SetTransactionProgress" version="v1" />
|
|
7562
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"QueueItem":{QueueItem},"Progress":"{Progress}"}]]></uipath:input>
|
|
7563
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{varId}" />
|
|
7564
|
+
</uipath:activity>
|
|
7565
|
+
</bpmn:extensionElements>
|
|
7566
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7567
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7568
|
+
</bpmn:ServiceTask>`,
|
|
7569
|
+
inputFields: [
|
|
7570
|
+
{
|
|
7571
|
+
name: "QueueItem",
|
|
7572
|
+
displayName: "Transaction item",
|
|
7573
|
+
type: "object",
|
|
7574
|
+
required: true,
|
|
7575
|
+
hidden: false,
|
|
7576
|
+
isPrimaryKey: false,
|
|
7577
|
+
binding: false,
|
|
7578
|
+
defaultValue: null,
|
|
7579
|
+
target: "body"
|
|
7394
7580
|
},
|
|
7395
7581
|
{
|
|
7396
|
-
name: "
|
|
7582
|
+
name: "Progress",
|
|
7583
|
+
type: "string",
|
|
7584
|
+
required: true,
|
|
7585
|
+
hidden: false,
|
|
7586
|
+
isPrimaryKey: false,
|
|
7587
|
+
binding: false,
|
|
7588
|
+
defaultValue: null,
|
|
7589
|
+
target: "body"
|
|
7590
|
+
}
|
|
7591
|
+
],
|
|
7592
|
+
inputName: "body",
|
|
7593
|
+
inputTarget: "body",
|
|
7594
|
+
inputNotes: 'All inputFields go as keys of one <uipath:input name="body" type="json" target="body"> CDATA object. QueueItem takes either a JSON object literal (e.g. an object with an Id property) or a quoted "=expr"; it is not itself quoted in the template.'
|
|
7595
|
+
},
|
|
7596
|
+
"Orchestrator.PostponeTransactionItem": {
|
|
7597
|
+
extensionType: "Orchestrator.PostponeTransactionItem",
|
|
7598
|
+
label: "Postpone transaction item",
|
|
7599
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7600
|
+
placements: {
|
|
7601
|
+
activity: {
|
|
7602
|
+
type: "bpmn:ServiceTask"
|
|
7603
|
+
}
|
|
7604
|
+
},
|
|
7605
|
+
extensionTag: "uipath:activity",
|
|
7606
|
+
contextFields: [
|
|
7607
|
+
{
|
|
7608
|
+
name: "_label",
|
|
7397
7609
|
type: "string",
|
|
7398
7610
|
required: false,
|
|
7399
7611
|
hidden: true,
|
|
@@ -7403,54 +7615,74 @@ var bpmn_spec_default = {
|
|
|
7403
7615
|
}
|
|
7404
7616
|
],
|
|
7405
7617
|
inputPattern: "mergedBody",
|
|
7406
|
-
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
bindingInfo: {
|
|
7414
|
-
resource: "process",
|
|
7415
|
-
resourceKeyPattern: "${metadata.key}",
|
|
7416
|
-
propertyAttribute: "Key",
|
|
7417
|
-
contextField: "releaseKey"
|
|
7418
|
-
},
|
|
7419
|
-
requiresDiscovery: true,
|
|
7420
|
-
isDynamic: true,
|
|
7421
|
-
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
7618
|
+
outputSource: "=Error",
|
|
7619
|
+
outputType: "jsonSchema",
|
|
7620
|
+
outputName: "Error",
|
|
7621
|
+
bindingPattern: "none",
|
|
7622
|
+
requiresDiscovery: false,
|
|
7623
|
+
isDynamic: false,
|
|
7624
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7422
7625
|
<bpmn:extensionElements>
|
|
7423
7626
|
<uipath:activity version="v1">
|
|
7424
|
-
<uipath:type value="Orchestrator.
|
|
7425
|
-
<uipath:
|
|
7426
|
-
|
|
7427
|
-
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
7428
|
-
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
7429
|
-
<uipath:input name="name" type="string" value="{name}" />
|
|
7430
|
-
</uipath:context>
|
|
7431
|
-
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
7432
|
-
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
7627
|
+
<uipath:type value="Orchestrator.PostponeTransactionItem" version="v1" />
|
|
7628
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"QueueItem":{QueueItem},"PostponeDate":"{PostponeDate}","DueDate":null}]]></uipath:input>
|
|
7629
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{varId}" />
|
|
7433
7630
|
</uipath:activity>
|
|
7434
7631
|
</bpmn:extensionElements>
|
|
7435
7632
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7436
7633
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7437
|
-
</bpmn:
|
|
7438
|
-
|
|
7634
|
+
</bpmn:ServiceTask>`,
|
|
7635
|
+
inputFields: [
|
|
7636
|
+
{
|
|
7637
|
+
name: "QueueItem",
|
|
7638
|
+
displayName: "Transaction item",
|
|
7639
|
+
type: "object",
|
|
7640
|
+
required: true,
|
|
7641
|
+
hidden: false,
|
|
7642
|
+
isPrimaryKey: false,
|
|
7643
|
+
binding: false,
|
|
7644
|
+
defaultValue: null,
|
|
7645
|
+
target: "body"
|
|
7646
|
+
},
|
|
7647
|
+
{
|
|
7648
|
+
name: "PostponeDate",
|
|
7649
|
+
type: "datetime",
|
|
7650
|
+
required: true,
|
|
7651
|
+
hidden: false,
|
|
7652
|
+
isPrimaryKey: false,
|
|
7653
|
+
binding: false,
|
|
7654
|
+
defaultValue: null,
|
|
7655
|
+
target: "body"
|
|
7656
|
+
},
|
|
7657
|
+
{
|
|
7658
|
+
name: "DueDate",
|
|
7659
|
+
type: "datetime",
|
|
7660
|
+
required: false,
|
|
7661
|
+
hidden: false,
|
|
7662
|
+
isPrimaryKey: false,
|
|
7663
|
+
binding: false,
|
|
7664
|
+
defaultValue: null,
|
|
7665
|
+
target: "body"
|
|
7666
|
+
}
|
|
7667
|
+
],
|
|
7668
|
+
inputName: "body",
|
|
7669
|
+
inputTarget: "body",
|
|
7670
|
+
inputNotes: 'All inputFields go as keys of one <uipath:input name="body" type="json" target="body"> CDATA object. QueueItem takes either a JSON object literal (e.g. an object with an Id property) or a quoted "=expr"; it is not itself quoted in the template. Optional fields default to null in this example; fill only what you use.'
|
|
7439
7671
|
},
|
|
7440
|
-
"Orchestrator.
|
|
7441
|
-
extensionType: "Orchestrator.
|
|
7442
|
-
label: "
|
|
7443
|
-
bpmnElement: "bpmn:
|
|
7672
|
+
"Orchestrator.BulkAddQueueItems": {
|
|
7673
|
+
extensionType: "Orchestrator.BulkAddQueueItems",
|
|
7674
|
+
label: "Bulk add queue items",
|
|
7675
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7444
7676
|
placements: {
|
|
7445
7677
|
activity: {
|
|
7446
|
-
type: "bpmn:
|
|
7678
|
+
type: "bpmn:ServiceTask"
|
|
7447
7679
|
}
|
|
7448
7680
|
},
|
|
7449
7681
|
extensionTag: "uipath:activity",
|
|
7450
7682
|
contextFields: [
|
|
7451
7683
|
{
|
|
7452
|
-
name: "
|
|
7453
|
-
displayName: "
|
|
7684
|
+
name: "queueName",
|
|
7685
|
+
displayName: "Queue name",
|
|
7454
7686
|
type: "string",
|
|
7455
7687
|
required: false,
|
|
7456
7688
|
hidden: true,
|
|
@@ -7458,13 +7690,13 @@ var bpmn_spec_default = {
|
|
|
7458
7690
|
binding: false,
|
|
7459
7691
|
defaultValue: null,
|
|
7460
7692
|
bindingInfo: {
|
|
7461
|
-
resource: "
|
|
7462
|
-
resourceKeyPattern: "${
|
|
7463
|
-
propertyAttribute: "
|
|
7693
|
+
resource: "queue",
|
|
7694
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
7695
|
+
propertyAttribute: "name"
|
|
7464
7696
|
}
|
|
7465
7697
|
},
|
|
7466
7698
|
{
|
|
7467
|
-
name: "
|
|
7699
|
+
name: "folderPath",
|
|
7468
7700
|
type: "string",
|
|
7469
7701
|
required: false,
|
|
7470
7702
|
hidden: true,
|
|
@@ -7473,16 +7705,7 @@ var bpmn_spec_default = {
|
|
|
7473
7705
|
defaultValue: null
|
|
7474
7706
|
},
|
|
7475
7707
|
{
|
|
7476
|
-
name: "
|
|
7477
|
-
type: "string",
|
|
7478
|
-
required: false,
|
|
7479
|
-
hidden: true,
|
|
7480
|
-
isPrimaryKey: false,
|
|
7481
|
-
binding: false,
|
|
7482
|
-
defaultValue: null
|
|
7483
|
-
},
|
|
7484
|
-
{
|
|
7485
|
-
name: "name",
|
|
7708
|
+
name: "_label",
|
|
7486
7709
|
type: "string",
|
|
7487
7710
|
required: false,
|
|
7488
7711
|
hidden: true,
|
|
@@ -7492,85 +7715,80 @@ var bpmn_spec_default = {
|
|
|
7492
7715
|
}
|
|
7493
7716
|
],
|
|
7494
7717
|
inputPattern: "mergedBody",
|
|
7495
|
-
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
outputName: null,
|
|
7500
|
-
outputNotes: "Fire-and-forget: the canvas clears the process outputs for this type (getAgenticProcessInputOutputValues sets outputs to [] for Orchestrator.StartAgenticProcessAsync), so the payload carries none of the entry-point outputs its sync sibling returns. A process picked straight from Orchestrator (no solutionResourceKey) can still contribute task-definition outputs, which is why this type stays on the canvas-owned dynamic path. Use Orchestrator.StartAgenticProcess when you need the job result.",
|
|
7501
|
-
bindingPattern: "process",
|
|
7718
|
+
outputSource: "=response",
|
|
7719
|
+
outputType: "jsonSchema",
|
|
7720
|
+
outputName: "response",
|
|
7721
|
+
bindingPattern: "queue",
|
|
7502
7722
|
bindingInfo: {
|
|
7503
|
-
resource: "
|
|
7504
|
-
resourceKeyPattern: "${
|
|
7505
|
-
propertyAttribute: "
|
|
7506
|
-
contextField: "
|
|
7723
|
+
resource: "queue",
|
|
7724
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
7725
|
+
propertyAttribute: "name",
|
|
7726
|
+
contextField: "queueName"
|
|
7507
7727
|
},
|
|
7508
7728
|
requiresDiscovery: true,
|
|
7509
|
-
isDynamic:
|
|
7510
|
-
xmlTemplate: `<bpmn:
|
|
7729
|
+
isDynamic: false,
|
|
7730
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7511
7731
|
<bpmn:extensionElements>
|
|
7512
7732
|
<uipath:activity version="v1">
|
|
7513
|
-
<uipath:type value="Orchestrator.
|
|
7733
|
+
<uipath:type value="Orchestrator.BulkAddQueueItems" version="v2" />
|
|
7514
7734
|
<uipath:context>
|
|
7515
|
-
<uipath:input name="
|
|
7516
|
-
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
7735
|
+
<uipath:input name="queueName" type="string" value="{queueName}" />
|
|
7517
7736
|
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
7518
|
-
<uipath:input name="name" type="string" value="{name}" />
|
|
7519
7737
|
</uipath:context>
|
|
7520
|
-
<uipath:input name="
|
|
7738
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"QueueItems":{QueueItems},"CommitStrategy":"{CommitStrategy}"}]]></uipath:input>
|
|
7739
|
+
<uipath:output name="response" type="jsonSchema" source="=response" var="{varId}" />
|
|
7521
7740
|
</uipath:activity>
|
|
7522
7741
|
</bpmn:extensionElements>
|
|
7523
7742
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7524
7743
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7525
|
-
</bpmn:
|
|
7526
|
-
discoveryNotes: "Uses
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7530
|
-
label: "Start and wait for case management",
|
|
7531
|
-
bpmnElement: "bpmn:CallActivity",
|
|
7532
|
-
placements: {
|
|
7533
|
-
activity: {
|
|
7534
|
-
type: "bpmn:CallActivity"
|
|
7535
|
-
}
|
|
7536
|
-
},
|
|
7537
|
-
extensionTag: "uipath:activity",
|
|
7538
|
-
contextFields: [
|
|
7539
|
-
{
|
|
7540
|
-
name: "releaseKey",
|
|
7541
|
-
displayName: "Process",
|
|
7542
|
-
type: "string",
|
|
7543
|
-
required: false,
|
|
7544
|
-
hidden: true,
|
|
7545
|
-
isPrimaryKey: false,
|
|
7546
|
-
binding: false,
|
|
7547
|
-
defaultValue: null,
|
|
7548
|
-
bindingInfo: {
|
|
7549
|
-
resource: "process",
|
|
7550
|
-
resourceKeyPattern: "${metadata.key}",
|
|
7551
|
-
propertyAttribute: "Key"
|
|
7552
|
-
}
|
|
7553
|
-
},
|
|
7744
|
+
</bpmn:ServiceTask>`,
|
|
7745
|
+
discoveryNotes: "Uses getQueueDefinitions(serviceType, search) to list available queues.",
|
|
7746
|
+
inputNotes: 'All inputFields go as keys of one <uipath:input name="body" type="json" target="body"> CDATA object. QueueItems takes either a JSON array literal or a quoted "=expr"; it is not itself quoted in the template.',
|
|
7747
|
+
outputNotes: "isDynamic is false even though the design schema says true: the queue picker only sets context and bindings here, and the input/output pair is fixed (see inputNotes), so the strict field checks are safe and should stay.",
|
|
7748
|
+
inputFields: [
|
|
7554
7749
|
{
|
|
7555
|
-
name: "
|
|
7556
|
-
|
|
7557
|
-
|
|
7558
|
-
|
|
7750
|
+
name: "QueueItems",
|
|
7751
|
+
displayName: "Transaction items",
|
|
7752
|
+
type: "json",
|
|
7753
|
+
required: true,
|
|
7754
|
+
hidden: false,
|
|
7559
7755
|
isPrimaryKey: false,
|
|
7560
7756
|
binding: false,
|
|
7561
|
-
|
|
7757
|
+
target: "body"
|
|
7562
7758
|
},
|
|
7563
7759
|
{
|
|
7564
|
-
name: "
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7760
|
+
name: "CommitStrategy",
|
|
7761
|
+
displayName: "Commit strategy",
|
|
7762
|
+
type: "dropdown",
|
|
7763
|
+
required: true,
|
|
7764
|
+
hidden: false,
|
|
7568
7765
|
isPrimaryKey: false,
|
|
7569
7766
|
binding: false,
|
|
7570
|
-
defaultValue:
|
|
7571
|
-
|
|
7767
|
+
defaultValue: "AllOrNothing",
|
|
7768
|
+
enum: [
|
|
7769
|
+
"AllOrNothing",
|
|
7770
|
+
"StopOnFirstFailure",
|
|
7771
|
+
"ProcessAllIndependently"
|
|
7772
|
+
],
|
|
7773
|
+
target: "body"
|
|
7774
|
+
}
|
|
7775
|
+
],
|
|
7776
|
+
inputName: "body",
|
|
7777
|
+
inputTarget: "body"
|
|
7778
|
+
},
|
|
7779
|
+
"Orchestrator.DeleteQueueItems": {
|
|
7780
|
+
extensionType: "Orchestrator.DeleteQueueItems",
|
|
7781
|
+
label: "Delete queue items",
|
|
7782
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7783
|
+
placements: {
|
|
7784
|
+
activity: {
|
|
7785
|
+
type: "bpmn:ServiceTask"
|
|
7786
|
+
}
|
|
7787
|
+
},
|
|
7788
|
+
extensionTag: "uipath:activity",
|
|
7789
|
+
contextFields: [
|
|
7572
7790
|
{
|
|
7573
|
-
name: "
|
|
7791
|
+
name: "_label",
|
|
7574
7792
|
type: "string",
|
|
7575
7793
|
required: false,
|
|
7576
7794
|
hidden: true,
|
|
@@ -7580,54 +7798,53 @@ var bpmn_spec_default = {
|
|
|
7580
7798
|
}
|
|
7581
7799
|
],
|
|
7582
7800
|
inputPattern: "mergedBody",
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
|
|
7587
|
-
|
|
7588
|
-
|
|
7589
|
-
|
|
7590
|
-
bindingInfo: {
|
|
7591
|
-
resource: "process",
|
|
7592
|
-
resourceKeyPattern: "${metadata.key}",
|
|
7593
|
-
propertyAttribute: "Key",
|
|
7594
|
-
contextField: "releaseKey"
|
|
7595
|
-
},
|
|
7596
|
-
requiresDiscovery: true,
|
|
7597
|
-
isDynamic: true,
|
|
7598
|
-
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
7801
|
+
outputSource: "=deletedCount",
|
|
7802
|
+
outputType: "jsonSchema",
|
|
7803
|
+
outputName: "deletedCount",
|
|
7804
|
+
bindingPattern: "none",
|
|
7805
|
+
requiresDiscovery: false,
|
|
7806
|
+
isDynamic: false,
|
|
7807
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7599
7808
|
<bpmn:extensionElements>
|
|
7600
7809
|
<uipath:activity version="v1">
|
|
7601
|
-
<uipath:type value="Orchestrator.
|
|
7602
|
-
<uipath:
|
|
7603
|
-
|
|
7604
|
-
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
7605
|
-
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
7606
|
-
<uipath:input name="name" type="string" value="{name}" />
|
|
7607
|
-
</uipath:context>
|
|
7608
|
-
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
7609
|
-
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
7810
|
+
<uipath:type value="Orchestrator.DeleteQueueItems" version="v1" />
|
|
7811
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"Items":{Items}}]]></uipath:input>
|
|
7812
|
+
<uipath:output name="deletedCount" type="jsonSchema" source="=deletedCount" var="{varId}" />
|
|
7610
7813
|
</uipath:activity>
|
|
7611
7814
|
</bpmn:extensionElements>
|
|
7612
7815
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7613
7816
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7614
|
-
</bpmn:
|
|
7615
|
-
|
|
7817
|
+
</bpmn:ServiceTask>`,
|
|
7818
|
+
inputNotes: 'All inputFields go as keys of one <uipath:input name="body" type="json" target="body"> CDATA object. Items takes either a JSON array literal or a quoted "=expr"; it is not itself quoted in the template.',
|
|
7819
|
+
inputFields: [
|
|
7820
|
+
{
|
|
7821
|
+
name: "Items",
|
|
7822
|
+
displayName: "Transaction items",
|
|
7823
|
+
type: "json",
|
|
7824
|
+
required: true,
|
|
7825
|
+
hidden: false,
|
|
7826
|
+
isPrimaryKey: false,
|
|
7827
|
+
binding: false,
|
|
7828
|
+
target: "body"
|
|
7829
|
+
}
|
|
7830
|
+
],
|
|
7831
|
+
inputName: "body",
|
|
7832
|
+
inputTarget: "body"
|
|
7616
7833
|
},
|
|
7617
|
-
"Orchestrator.
|
|
7618
|
-
extensionType: "Orchestrator.
|
|
7619
|
-
label: "
|
|
7620
|
-
bpmnElement: "bpmn:
|
|
7834
|
+
"Orchestrator.GetTransactionItem": {
|
|
7835
|
+
extensionType: "Orchestrator.GetTransactionItem",
|
|
7836
|
+
label: "Get transaction item",
|
|
7837
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7621
7838
|
placements: {
|
|
7622
7839
|
activity: {
|
|
7623
|
-
type: "bpmn:
|
|
7840
|
+
type: "bpmn:ServiceTask"
|
|
7624
7841
|
}
|
|
7625
7842
|
},
|
|
7626
7843
|
extensionTag: "uipath:activity",
|
|
7627
7844
|
contextFields: [
|
|
7628
7845
|
{
|
|
7629
|
-
name: "
|
|
7630
|
-
displayName: "
|
|
7846
|
+
name: "queueName",
|
|
7847
|
+
displayName: "Queue name",
|
|
7631
7848
|
type: "string",
|
|
7632
7849
|
required: false,
|
|
7633
7850
|
hidden: true,
|
|
@@ -7635,13 +7852,13 @@ var bpmn_spec_default = {
|
|
|
7635
7852
|
binding: false,
|
|
7636
7853
|
defaultValue: null,
|
|
7637
7854
|
bindingInfo: {
|
|
7638
|
-
resource: "
|
|
7639
|
-
resourceKeyPattern: "${
|
|
7640
|
-
propertyAttribute: "
|
|
7855
|
+
resource: "queue",
|
|
7856
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
7857
|
+
propertyAttribute: "name"
|
|
7641
7858
|
}
|
|
7642
7859
|
},
|
|
7643
7860
|
{
|
|
7644
|
-
name: "
|
|
7861
|
+
name: "folderPath",
|
|
7645
7862
|
type: "string",
|
|
7646
7863
|
required: false,
|
|
7647
7864
|
hidden: true,
|
|
@@ -7650,7 +7867,7 @@ var bpmn_spec_default = {
|
|
|
7650
7867
|
defaultValue: null
|
|
7651
7868
|
},
|
|
7652
7869
|
{
|
|
7653
|
-
name: "
|
|
7870
|
+
name: "_label",
|
|
7654
7871
|
type: "string",
|
|
7655
7872
|
required: false,
|
|
7656
7873
|
hidden: true,
|
|
@@ -7659,77 +7876,107 @@ var bpmn_spec_default = {
|
|
|
7659
7876
|
defaultValue: null
|
|
7660
7877
|
},
|
|
7661
7878
|
{
|
|
7662
|
-
name: "
|
|
7879
|
+
name: "reference",
|
|
7880
|
+
displayName: "Reference",
|
|
7663
7881
|
type: "string",
|
|
7664
7882
|
required: false,
|
|
7665
7883
|
hidden: true,
|
|
7666
7884
|
isPrimaryKey: false,
|
|
7667
7885
|
binding: false,
|
|
7668
7886
|
defaultValue: null
|
|
7887
|
+
},
|
|
7888
|
+
{
|
|
7889
|
+
name: "filterStrategy",
|
|
7890
|
+
displayName: "Reference filter strategy",
|
|
7891
|
+
type: "string",
|
|
7892
|
+
required: false,
|
|
7893
|
+
hidden: true,
|
|
7894
|
+
isPrimaryKey: false,
|
|
7895
|
+
binding: false,
|
|
7896
|
+
defaultValue: "StartsWith",
|
|
7897
|
+
enum: [
|
|
7898
|
+
"StartsWith",
|
|
7899
|
+
"Equals"
|
|
7900
|
+
]
|
|
7669
7901
|
}
|
|
7670
7902
|
],
|
|
7671
|
-
inputPattern: "
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
|
|
7903
|
+
inputPattern: "none",
|
|
7904
|
+
outputSource: "=result",
|
|
7905
|
+
outputType: "jsonSchema",
|
|
7906
|
+
outputName: "TransactionItem",
|
|
7907
|
+
additionalOutputs: [
|
|
7908
|
+
{
|
|
7909
|
+
name: "hasItem",
|
|
7910
|
+
type: "boolean",
|
|
7911
|
+
source: "=hasItem",
|
|
7912
|
+
required: true
|
|
7913
|
+
},
|
|
7914
|
+
{
|
|
7915
|
+
name: "Error",
|
|
7916
|
+
type: "jsonSchema",
|
|
7917
|
+
source: "=Error",
|
|
7918
|
+
required: true
|
|
7919
|
+
}
|
|
7920
|
+
],
|
|
7921
|
+
bindingPattern: "queue",
|
|
7679
7922
|
bindingInfo: {
|
|
7680
|
-
resource: "
|
|
7681
|
-
resourceKeyPattern: "${
|
|
7682
|
-
propertyAttribute: "
|
|
7683
|
-
contextField: "
|
|
7923
|
+
resource: "queue",
|
|
7924
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
7925
|
+
propertyAttribute: "name",
|
|
7926
|
+
contextField: "queueName"
|
|
7684
7927
|
},
|
|
7685
7928
|
requiresDiscovery: true,
|
|
7686
|
-
isDynamic:
|
|
7687
|
-
xmlTemplate: `<bpmn:
|
|
7929
|
+
isDynamic: false,
|
|
7930
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7688
7931
|
<bpmn:extensionElements>
|
|
7689
7932
|
<uipath:activity version="v1">
|
|
7690
|
-
<uipath:type value="Orchestrator.
|
|
7933
|
+
<uipath:type value="Orchestrator.GetTransactionItem" version="v2" />
|
|
7691
7934
|
<uipath:context>
|
|
7692
|
-
<uipath:input name="
|
|
7693
|
-
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
7935
|
+
<uipath:input name="queueName" type="string" value="{queueName}" />
|
|
7694
7936
|
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
7695
|
-
<uipath:input name="
|
|
7937
|
+
<uipath:input name="reference" type="string" value="" />
|
|
7938
|
+
<uipath:input name="filterStrategy" type="string" value="StartsWith" />
|
|
7696
7939
|
</uipath:context>
|
|
7697
|
-
<uipath:
|
|
7940
|
+
<uipath:output name="hasItem" type="boolean" source="=hasItem" var="{hasItemVarId}" />
|
|
7941
|
+
<uipath:output name="TransactionItem" type="jsonSchema" source="=result" var="{varId}" />
|
|
7942
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
7698
7943
|
</uipath:activity>
|
|
7699
7944
|
</bpmn:extensionElements>
|
|
7700
7945
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7701
7946
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7702
|
-
</bpmn:
|
|
7703
|
-
discoveryNotes: "Uses
|
|
7947
|
+
</bpmn:ServiceTask>`,
|
|
7948
|
+
discoveryNotes: "Uses getQueueDefinitions(serviceType, search) to list available queues.",
|
|
7949
|
+
outputNotes: "hasItem is the branchable empty-queue signal (the only property guaranteed on an empty queue). The engine flattens the dequeued item onto the result root, so =result binds TransactionItem; it is typed like the trigger's item so it chains into Set transaction status / progress / Postpone (their QueueItem input). The canvas serializes three outputs (hasItem, TransactionItem, Error); outputName/outputSource/outputType name the primary (TransactionItem) and additionalOutputs declares the other two, so all three are gated on name, type, source and presence.",
|
|
7950
|
+
contextFieldNotes: "reference and filterStrategy live in uipath:context next to queueName; the backend reads them there. filterStrategy mirrors Orchestrator's QueueItemsFilterStrategy (default StartsWith)."
|
|
7704
7951
|
},
|
|
7705
|
-
"Orchestrator.
|
|
7706
|
-
extensionType: "Orchestrator.
|
|
7707
|
-
label: "
|
|
7708
|
-
bpmnElement: "bpmn:
|
|
7952
|
+
"Orchestrator.GetQueueItems": {
|
|
7953
|
+
extensionType: "Orchestrator.GetQueueItems",
|
|
7954
|
+
label: "Get queue items",
|
|
7955
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7709
7956
|
placements: {
|
|
7710
7957
|
activity: {
|
|
7711
|
-
type: "bpmn:
|
|
7958
|
+
type: "bpmn:ServiceTask"
|
|
7712
7959
|
}
|
|
7713
7960
|
},
|
|
7714
7961
|
extensionTag: "uipath:activity",
|
|
7715
7962
|
contextFields: [
|
|
7716
7963
|
{
|
|
7717
|
-
name: "
|
|
7718
|
-
displayName: "Maestro Flow",
|
|
7964
|
+
name: "queueName",
|
|
7719
7965
|
type: "string",
|
|
7720
7966
|
required: false,
|
|
7721
7967
|
hidden: true,
|
|
7722
7968
|
isPrimaryKey: false,
|
|
7723
7969
|
binding: false,
|
|
7724
7970
|
defaultValue: null,
|
|
7971
|
+
displayName: "Queue name",
|
|
7725
7972
|
bindingInfo: {
|
|
7726
|
-
resource: "
|
|
7727
|
-
resourceKeyPattern: "${
|
|
7728
|
-
propertyAttribute: "
|
|
7973
|
+
resource: "queue",
|
|
7974
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
7975
|
+
propertyAttribute: "name"
|
|
7729
7976
|
}
|
|
7730
7977
|
},
|
|
7731
7978
|
{
|
|
7732
|
-
name: "
|
|
7979
|
+
name: "folderPath",
|
|
7733
7980
|
type: "string",
|
|
7734
7981
|
required: false,
|
|
7735
7982
|
hidden: true,
|
|
@@ -7738,7 +7985,7 @@ var bpmn_spec_default = {
|
|
|
7738
7985
|
defaultValue: null
|
|
7739
7986
|
},
|
|
7740
7987
|
{
|
|
7741
|
-
name: "
|
|
7988
|
+
name: "_label",
|
|
7742
7989
|
type: "string",
|
|
7743
7990
|
required: false,
|
|
7744
7991
|
hidden: true,
|
|
@@ -7747,18 +7994,249 @@ var bpmn_spec_default = {
|
|
|
7747
7994
|
defaultValue: null
|
|
7748
7995
|
},
|
|
7749
7996
|
{
|
|
7750
|
-
name: "
|
|
7997
|
+
name: "statuses",
|
|
7751
7998
|
type: "string",
|
|
7752
7999
|
required: false,
|
|
7753
8000
|
hidden: true,
|
|
7754
8001
|
isPrimaryKey: false,
|
|
7755
8002
|
binding: false,
|
|
7756
|
-
defaultValue: null
|
|
8003
|
+
defaultValue: null,
|
|
8004
|
+
displayName: "Status"
|
|
8005
|
+
},
|
|
8006
|
+
{
|
|
8007
|
+
name: "reference",
|
|
8008
|
+
type: "string",
|
|
8009
|
+
required: false,
|
|
8010
|
+
hidden: true,
|
|
8011
|
+
isPrimaryKey: false,
|
|
8012
|
+
binding: false,
|
|
8013
|
+
defaultValue: null,
|
|
8014
|
+
displayName: "Reference"
|
|
7757
8015
|
}
|
|
7758
8016
|
],
|
|
7759
|
-
inputPattern: "
|
|
7760
|
-
|
|
7761
|
-
|
|
8017
|
+
inputPattern: "none",
|
|
8018
|
+
outputSource: "=queueItems",
|
|
8019
|
+
outputType: "jsonSchema",
|
|
8020
|
+
outputName: "QueueItems",
|
|
8021
|
+
additionalOutputs: [
|
|
8022
|
+
{
|
|
8023
|
+
name: "Count",
|
|
8024
|
+
type: "number",
|
|
8025
|
+
source: "=count",
|
|
8026
|
+
required: true
|
|
8027
|
+
},
|
|
8028
|
+
{
|
|
8029
|
+
name: "Error",
|
|
8030
|
+
type: "jsonSchema",
|
|
8031
|
+
source: "=Error",
|
|
8032
|
+
required: true
|
|
8033
|
+
}
|
|
8034
|
+
],
|
|
8035
|
+
bindingPattern: "queue",
|
|
8036
|
+
bindingInfo: {
|
|
8037
|
+
resource: "queue",
|
|
8038
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
8039
|
+
propertyAttribute: "name",
|
|
8040
|
+
contextField: "queueName"
|
|
8041
|
+
},
|
|
8042
|
+
requiresDiscovery: true,
|
|
8043
|
+
isDynamic: false,
|
|
8044
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8045
|
+
<bpmn:extensionElements>
|
|
8046
|
+
<uipath:activity version="v1">
|
|
8047
|
+
<uipath:type value="Orchestrator.GetQueueItems" version="v2" />
|
|
8048
|
+
<uipath:context>
|
|
8049
|
+
<uipath:input name="queueName" type="string" value="{queueName}" />
|
|
8050
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8051
|
+
<uipath:input name="statuses" type="string" value="{statuses}" />
|
|
8052
|
+
<uipath:input name="reference" type="string" value="{reference}" />
|
|
8053
|
+
</uipath:context>
|
|
8054
|
+
<uipath:output name="QueueItems" type="jsonSchema" source="=queueItems" var="{varId}" />
|
|
8055
|
+
<uipath:output name="Count" type="number" source="=count" var="{countVarId}" />
|
|
8056
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
8057
|
+
</uipath:activity>
|
|
8058
|
+
</bpmn:extensionElements>
|
|
8059
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8060
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8061
|
+
</bpmn:ServiceTask>`,
|
|
8062
|
+
discoveryNotes: "Uses getQueueDefinitions(serviceType, search) to list available queues.",
|
|
8063
|
+
outputNotes: "The canvas serializes three outputs (QueueItems, Count, Error); outputName/outputSource/outputType name the primary (QueueItems) and additionalOutputs declares the other two, so all three are gated on name, type, source and presence.",
|
|
8064
|
+
contextFieldNotes: "statuses and reference filter the returned items and live in uipath:context alongside queueName."
|
|
8065
|
+
},
|
|
8066
|
+
"Queue.WaitForEvent": {
|
|
8067
|
+
extensionType: "Queue.WaitForEvent",
|
|
8068
|
+
label: "Wait for queue item",
|
|
8069
|
+
bpmnElement: "bpmn:ReceiveTask",
|
|
8070
|
+
placements: {
|
|
8071
|
+
activity: {
|
|
8072
|
+
type: "bpmn:ReceiveTask"
|
|
8073
|
+
},
|
|
8074
|
+
event: {
|
|
8075
|
+
type: "bpmn:IntermediateCatchEvent",
|
|
8076
|
+
eventDefinition: {
|
|
8077
|
+
type: "bpmn:MessageEventDefinition"
|
|
8078
|
+
}
|
|
8079
|
+
}
|
|
8080
|
+
},
|
|
8081
|
+
extensionTag: "uipath:event",
|
|
8082
|
+
contextFields: [
|
|
8083
|
+
{
|
|
8084
|
+
name: "queueName",
|
|
8085
|
+
type: "string",
|
|
8086
|
+
required: false,
|
|
8087
|
+
hidden: true,
|
|
8088
|
+
isPrimaryKey: false,
|
|
8089
|
+
binding: false,
|
|
8090
|
+
defaultValue: null,
|
|
8091
|
+
displayName: "Queue name",
|
|
8092
|
+
bindingInfo: {
|
|
8093
|
+
resource: "queue",
|
|
8094
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
8095
|
+
propertyAttribute: "name"
|
|
8096
|
+
}
|
|
8097
|
+
},
|
|
8098
|
+
{
|
|
8099
|
+
name: "folderPath",
|
|
8100
|
+
type: "string",
|
|
8101
|
+
required: false,
|
|
8102
|
+
hidden: true,
|
|
8103
|
+
isPrimaryKey: false,
|
|
8104
|
+
binding: false,
|
|
8105
|
+
defaultValue: null
|
|
8106
|
+
},
|
|
8107
|
+
{
|
|
8108
|
+
name: "_label",
|
|
8109
|
+
type: "string",
|
|
8110
|
+
required: false,
|
|
8111
|
+
hidden: true,
|
|
8112
|
+
isPrimaryKey: false,
|
|
8113
|
+
binding: false,
|
|
8114
|
+
defaultValue: null
|
|
8115
|
+
},
|
|
8116
|
+
{
|
|
8117
|
+
name: "reference",
|
|
8118
|
+
type: "string",
|
|
8119
|
+
required: false,
|
|
8120
|
+
hidden: true,
|
|
8121
|
+
isPrimaryKey: false,
|
|
8122
|
+
binding: false,
|
|
8123
|
+
defaultValue: null,
|
|
8124
|
+
displayName: "Reference"
|
|
8125
|
+
},
|
|
8126
|
+
{
|
|
8127
|
+
name: "filterStrategy",
|
|
8128
|
+
type: "string",
|
|
8129
|
+
required: false,
|
|
8130
|
+
hidden: true,
|
|
8131
|
+
isPrimaryKey: false,
|
|
8132
|
+
binding: false,
|
|
8133
|
+
defaultValue: "StartsWith",
|
|
8134
|
+
displayName: "Reference filter strategy",
|
|
8135
|
+
enum: [
|
|
8136
|
+
"StartsWith",
|
|
8137
|
+
"Equals"
|
|
8138
|
+
]
|
|
8139
|
+
}
|
|
8140
|
+
],
|
|
8141
|
+
inputPattern: "none",
|
|
8142
|
+
outputSource: "=result",
|
|
8143
|
+
outputType: "jsonSchema",
|
|
8144
|
+
outputName: "TransactionItem",
|
|
8145
|
+
additionalOutputs: [
|
|
8146
|
+
{
|
|
8147
|
+
name: "Error",
|
|
8148
|
+
type: "jsonSchema",
|
|
8149
|
+
source: "=Error",
|
|
8150
|
+
required: true
|
|
8151
|
+
}
|
|
8152
|
+
],
|
|
8153
|
+
bindingPattern: "queue",
|
|
8154
|
+
bindingInfo: {
|
|
8155
|
+
resource: "queue",
|
|
8156
|
+
resourceKeyPattern: "${folderPath}.${name}",
|
|
8157
|
+
propertyAttribute: "name",
|
|
8158
|
+
contextField: "queueName"
|
|
8159
|
+
},
|
|
8160
|
+
requiresDiscovery: true,
|
|
8161
|
+
isDynamic: false,
|
|
8162
|
+
xmlTemplate: `<bpmn:ReceiveTask id="{id}" name="{name}">
|
|
8163
|
+
<bpmn:extensionElements>
|
|
8164
|
+
<uipath:event version="v1">
|
|
8165
|
+
<uipath:type value="Queue.WaitForEvent" version="v2" />
|
|
8166
|
+
<uipath:context>
|
|
8167
|
+
<uipath:input name="queueName" type="string" value="{queueName}" />
|
|
8168
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8169
|
+
<uipath:input name="reference" type="string" value="" />
|
|
8170
|
+
<uipath:input name="filterStrategy" type="string" value="StartsWith" />
|
|
8171
|
+
</uipath:context>
|
|
8172
|
+
<uipath:output name="TransactionItem" type="jsonSchema" source="=result" var="{varId}" />
|
|
8173
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
8174
|
+
</uipath:event>
|
|
8175
|
+
</bpmn:extensionElements>
|
|
8176
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8177
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8178
|
+
</bpmn:ReceiveTask>`,
|
|
8179
|
+
discoveryNotes: "Uses getQueueDefinitions(serviceType, search) to list available queues.",
|
|
8180
|
+
outputNotes: "The canvas serializes two outputs (TransactionItem, Error); outputName/outputSource/outputType name the primary (TransactionItem) and additionalOutputs declares Error, so both are gated on name, type, source and presence.",
|
|
8181
|
+
extensionTagNotes: "Registered in the PO.Frontend isEvents array, so it serializes as uipath:event and never reaches the merged-body branch."
|
|
8182
|
+
},
|
|
8183
|
+
"Orchestrator.StartAgenticProcess": {
|
|
8184
|
+
extensionType: "Orchestrator.StartAgenticProcess",
|
|
8185
|
+
label: "Start and wait for agentic process",
|
|
8186
|
+
bpmnElement: "bpmn:CallActivity",
|
|
8187
|
+
placements: {
|
|
8188
|
+
activity: {
|
|
8189
|
+
type: "bpmn:CallActivity"
|
|
8190
|
+
}
|
|
8191
|
+
},
|
|
8192
|
+
extensionTag: "uipath:activity",
|
|
8193
|
+
contextFields: [
|
|
8194
|
+
{
|
|
8195
|
+
name: "releaseKey",
|
|
8196
|
+
displayName: "Process",
|
|
8197
|
+
type: "string",
|
|
8198
|
+
required: false,
|
|
8199
|
+
hidden: true,
|
|
8200
|
+
isPrimaryKey: false,
|
|
8201
|
+
binding: false,
|
|
8202
|
+
defaultValue: null,
|
|
8203
|
+
bindingInfo: {
|
|
8204
|
+
resource: "process",
|
|
8205
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8206
|
+
propertyAttribute: "Key"
|
|
8207
|
+
}
|
|
8208
|
+
},
|
|
8209
|
+
{
|
|
8210
|
+
name: "folderId",
|
|
8211
|
+
type: "string",
|
|
8212
|
+
required: false,
|
|
8213
|
+
hidden: true,
|
|
8214
|
+
isPrimaryKey: false,
|
|
8215
|
+
binding: false,
|
|
8216
|
+
defaultValue: null
|
|
8217
|
+
},
|
|
8218
|
+
{
|
|
8219
|
+
name: "folderPath",
|
|
8220
|
+
type: "string",
|
|
8221
|
+
required: false,
|
|
8222
|
+
hidden: true,
|
|
8223
|
+
isPrimaryKey: false,
|
|
8224
|
+
binding: false,
|
|
8225
|
+
defaultValue: null
|
|
8226
|
+
},
|
|
8227
|
+
{
|
|
8228
|
+
name: "name",
|
|
8229
|
+
type: "string",
|
|
8230
|
+
required: false,
|
|
8231
|
+
hidden: true,
|
|
8232
|
+
isPrimaryKey: false,
|
|
8233
|
+
binding: false,
|
|
8234
|
+
defaultValue: null
|
|
8235
|
+
}
|
|
8236
|
+
],
|
|
8237
|
+
inputPattern: "mergedBody",
|
|
8238
|
+
inputName: "JobArguments",
|
|
8239
|
+
inputTarget: "bodyField",
|
|
7762
8240
|
outputSource: null,
|
|
7763
8241
|
outputType: "Orchestrator.RunJob",
|
|
7764
8242
|
outputName: "Process response",
|
|
@@ -7775,7 +8253,7 @@ var bpmn_spec_default = {
|
|
|
7775
8253
|
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
7776
8254
|
<bpmn:extensionElements>
|
|
7777
8255
|
<uipath:activity version="v1">
|
|
7778
|
-
<uipath:type value="Orchestrator.
|
|
8256
|
+
<uipath:type value="Orchestrator.StartAgenticProcess" version="v1" />
|
|
7779
8257
|
<uipath:context>
|
|
7780
8258
|
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
7781
8259
|
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
@@ -7789,11 +8267,11 @@ var bpmn_spec_default = {
|
|
|
7789
8267
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7790
8268
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7791
8269
|
</bpmn:CallActivity>`,
|
|
7792
|
-
discoveryNotes: "Uses getSupportedOrchestratorTasks('
|
|
8270
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('ProcessOrchestration', search, 0, 100, true) to list available agentic processes"
|
|
7793
8271
|
},
|
|
7794
|
-
"Orchestrator.
|
|
7795
|
-
extensionType: "Orchestrator.
|
|
7796
|
-
label: "Start
|
|
8272
|
+
"Orchestrator.StartAgenticProcessAsync": {
|
|
8273
|
+
extensionType: "Orchestrator.StartAgenticProcessAsync",
|
|
8274
|
+
label: "Start agentic process",
|
|
7797
8275
|
bpmnElement: "bpmn:CallActivity",
|
|
7798
8276
|
placements: {
|
|
7799
8277
|
activity: {
|
|
@@ -7804,7 +8282,7 @@ var bpmn_spec_default = {
|
|
|
7804
8282
|
contextFields: [
|
|
7805
8283
|
{
|
|
7806
8284
|
name: "releaseKey",
|
|
7807
|
-
displayName: "
|
|
8285
|
+
displayName: "Process",
|
|
7808
8286
|
type: "string",
|
|
7809
8287
|
required: false,
|
|
7810
8288
|
hidden: true,
|
|
@@ -7851,7 +8329,7 @@ var bpmn_spec_default = {
|
|
|
7851
8329
|
outputSource: null,
|
|
7852
8330
|
outputType: null,
|
|
7853
8331
|
outputName: null,
|
|
7854
|
-
outputNotes: "Fire-and-forget: the canvas clears the process outputs for this type (getAgenticProcessInputOutputValues sets outputs to [] for Orchestrator.
|
|
8332
|
+
outputNotes: "Fire-and-forget: the canvas clears the process outputs for this type (getAgenticProcessInputOutputValues sets outputs to [] for Orchestrator.StartAgenticProcessAsync), so the payload carries none of the entry-point outputs its sync sibling returns. A process picked straight from Orchestrator (no solutionResourceKey) can still contribute task-definition outputs, which is why this type stays on the canvas-owned dynamic path. Use Orchestrator.StartAgenticProcess when you need the job result.",
|
|
7855
8333
|
bindingPattern: "process",
|
|
7856
8334
|
bindingInfo: {
|
|
7857
8335
|
resource: "process",
|
|
@@ -7864,7 +8342,7 @@ var bpmn_spec_default = {
|
|
|
7864
8342
|
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
7865
8343
|
<bpmn:extensionElements>
|
|
7866
8344
|
<uipath:activity version="v1">
|
|
7867
|
-
<uipath:type value="Orchestrator.
|
|
8345
|
+
<uipath:type value="Orchestrator.StartAgenticProcessAsync" version="v1" />
|
|
7868
8346
|
<uipath:context>
|
|
7869
8347
|
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
7870
8348
|
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
@@ -7877,191 +8355,990 @@ var bpmn_spec_default = {
|
|
|
7877
8355
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7878
8356
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7879
8357
|
</bpmn:CallActivity>`,
|
|
7880
|
-
discoveryNotes: "Uses getSupportedOrchestratorTasks('
|
|
8358
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('ProcessOrchestration', search, 0, 100, true) to list available agentic processes"
|
|
7881
8359
|
},
|
|
7882
|
-
"
|
|
7883
|
-
extensionType: "
|
|
7884
|
-
label: "Start and wait for
|
|
7885
|
-
bpmnElement: "bpmn:
|
|
8360
|
+
"Orchestrator.StartCaseMgmtProcess": {
|
|
8361
|
+
extensionType: "Orchestrator.StartCaseMgmtProcess",
|
|
8362
|
+
label: "Start and wait for case management",
|
|
8363
|
+
bpmnElement: "bpmn:CallActivity",
|
|
7886
8364
|
placements: {
|
|
7887
8365
|
activity: {
|
|
7888
|
-
type: "bpmn:
|
|
8366
|
+
type: "bpmn:CallActivity"
|
|
7889
8367
|
}
|
|
7890
8368
|
},
|
|
7891
8369
|
extensionTag: "uipath:activity",
|
|
7892
|
-
contextFields: [
|
|
7893
|
-
inputPattern: "mergedBody",
|
|
7894
|
-
inputName: "body",
|
|
7895
|
-
inputTarget: "body",
|
|
7896
|
-
outputSource: null,
|
|
7897
|
-
outputType: "A2A.AgentExecution",
|
|
7898
|
-
outputName: "a2aResponse",
|
|
7899
|
-
useRelativeSource: true,
|
|
7900
|
-
bindingPattern: "none",
|
|
7901
|
-
requiresDiscovery: false,
|
|
7902
|
-
isDynamic: true,
|
|
7903
|
-
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7904
|
-
<bpmn:extensionElements>
|
|
7905
|
-
<uipath:activity version="v1">
|
|
7906
|
-
<uipath:type value="A2A.AgentExecution" version="v1" />
|
|
7907
|
-
<uipath:input name="body" type="json" target="body"><![CDATA[{"agentUrl":"{agentUrl}","skillId":"{skillId}","input":"{input}","authToken":"{authToken}","agentName":"{agentName}"}]]></uipath:input>
|
|
7908
|
-
<uipath:output name="a2aResponse" type="A2A.AgentExecution" var="{varId}" />
|
|
7909
|
-
</uipath:activity>
|
|
7910
|
-
</bpmn:extensionElements>
|
|
7911
|
-
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7912
|
-
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7913
|
-
</bpmn:ServiceTask>`,
|
|
7914
|
-
inputFieldNotes: "Auto-initialized by A2AFPSFormControl on load. Version is set to v2. Outputs include a2aResponse (jsonSchema with A2A response schema, source=result) and Error (any, source=Error). authToken should be an expression or variable (for example =vars.authToken), never a literal token.",
|
|
7915
|
-
outputNotes: "Output schema includes: isSuccess (boolean), response (string), sessionId (string), status (string), taskId (string), artifacts (array of {index, parts, metadata}). Also includes Error output (type=any, source=Error).",
|
|
7916
|
-
inputFields: [
|
|
7917
|
-
{
|
|
7918
|
-
name: "agentUrl",
|
|
7919
|
-
displayName: "Agent URL",
|
|
7920
|
-
type: "string",
|
|
7921
|
-
required: true,
|
|
7922
|
-
description: "URL of the A2A agent endpoint"
|
|
7923
|
-
},
|
|
8370
|
+
contextFields: [
|
|
7924
8371
|
{
|
|
7925
|
-
name: "
|
|
7926
|
-
displayName: "
|
|
8372
|
+
name: "releaseKey",
|
|
8373
|
+
displayName: "Process",
|
|
7927
8374
|
type: "string",
|
|
7928
|
-
required:
|
|
7929
|
-
|
|
8375
|
+
required: false,
|
|
8376
|
+
hidden: true,
|
|
8377
|
+
isPrimaryKey: false,
|
|
8378
|
+
binding: false,
|
|
8379
|
+
defaultValue: null,
|
|
8380
|
+
bindingInfo: {
|
|
8381
|
+
resource: "process",
|
|
8382
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8383
|
+
propertyAttribute: "Key"
|
|
8384
|
+
}
|
|
8385
|
+
},
|
|
8386
|
+
{
|
|
8387
|
+
name: "folderId",
|
|
8388
|
+
type: "string",
|
|
8389
|
+
required: false,
|
|
8390
|
+
hidden: true,
|
|
8391
|
+
isPrimaryKey: false,
|
|
8392
|
+
binding: false,
|
|
8393
|
+
defaultValue: null
|
|
8394
|
+
},
|
|
8395
|
+
{
|
|
8396
|
+
name: "folderPath",
|
|
8397
|
+
type: "string",
|
|
8398
|
+
required: false,
|
|
8399
|
+
hidden: true,
|
|
8400
|
+
isPrimaryKey: false,
|
|
8401
|
+
binding: false,
|
|
8402
|
+
defaultValue: null
|
|
8403
|
+
},
|
|
8404
|
+
{
|
|
8405
|
+
name: "name",
|
|
8406
|
+
type: "string",
|
|
8407
|
+
required: false,
|
|
8408
|
+
hidden: true,
|
|
8409
|
+
isPrimaryKey: false,
|
|
8410
|
+
binding: false,
|
|
8411
|
+
defaultValue: null
|
|
8412
|
+
}
|
|
8413
|
+
],
|
|
8414
|
+
inputPattern: "mergedBody",
|
|
8415
|
+
inputName: "JobArguments",
|
|
8416
|
+
inputTarget: "bodyField",
|
|
8417
|
+
outputSource: null,
|
|
8418
|
+
outputType: "Orchestrator.RunJob",
|
|
8419
|
+
outputName: "Process response",
|
|
8420
|
+
useRelativeSource: true,
|
|
8421
|
+
bindingPattern: "process",
|
|
8422
|
+
bindingInfo: {
|
|
8423
|
+
resource: "process",
|
|
8424
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8425
|
+
propertyAttribute: "Key",
|
|
8426
|
+
contextField: "releaseKey"
|
|
8427
|
+
},
|
|
8428
|
+
requiresDiscovery: true,
|
|
8429
|
+
isDynamic: true,
|
|
8430
|
+
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
8431
|
+
<bpmn:extensionElements>
|
|
8432
|
+
<uipath:activity version="v1">
|
|
8433
|
+
<uipath:type value="Orchestrator.StartCaseMgmtProcess" version="v1" />
|
|
8434
|
+
<uipath:context>
|
|
8435
|
+
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
8436
|
+
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
8437
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8438
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
8439
|
+
</uipath:context>
|
|
8440
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
8441
|
+
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
8442
|
+
</uipath:activity>
|
|
8443
|
+
</bpmn:extensionElements>
|
|
8444
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8445
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8446
|
+
</bpmn:CallActivity>`,
|
|
8447
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('caseManagement', search, 0, 100, true) to list available case management processes"
|
|
8448
|
+
},
|
|
8449
|
+
"Orchestrator.StartCaseMgmtProcessAsync": {
|
|
8450
|
+
extensionType: "Orchestrator.StartCaseMgmtProcessAsync",
|
|
8451
|
+
label: "Start case management",
|
|
8452
|
+
bpmnElement: "bpmn:CallActivity",
|
|
8453
|
+
placements: {
|
|
8454
|
+
activity: {
|
|
8455
|
+
type: "bpmn:CallActivity"
|
|
8456
|
+
}
|
|
8457
|
+
},
|
|
8458
|
+
extensionTag: "uipath:activity",
|
|
8459
|
+
contextFields: [
|
|
8460
|
+
{
|
|
8461
|
+
name: "releaseKey",
|
|
8462
|
+
displayName: "Process",
|
|
8463
|
+
type: "string",
|
|
8464
|
+
required: false,
|
|
8465
|
+
hidden: true,
|
|
8466
|
+
isPrimaryKey: false,
|
|
8467
|
+
binding: false,
|
|
8468
|
+
defaultValue: null,
|
|
8469
|
+
bindingInfo: {
|
|
8470
|
+
resource: "process",
|
|
8471
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8472
|
+
propertyAttribute: "Key"
|
|
8473
|
+
}
|
|
8474
|
+
},
|
|
8475
|
+
{
|
|
8476
|
+
name: "folderId",
|
|
8477
|
+
type: "string",
|
|
8478
|
+
required: false,
|
|
8479
|
+
hidden: true,
|
|
8480
|
+
isPrimaryKey: false,
|
|
8481
|
+
binding: false,
|
|
8482
|
+
defaultValue: null
|
|
8483
|
+
},
|
|
8484
|
+
{
|
|
8485
|
+
name: "folderPath",
|
|
8486
|
+
type: "string",
|
|
8487
|
+
required: false,
|
|
8488
|
+
hidden: true,
|
|
8489
|
+
isPrimaryKey: false,
|
|
8490
|
+
binding: false,
|
|
8491
|
+
defaultValue: null
|
|
8492
|
+
},
|
|
8493
|
+
{
|
|
8494
|
+
name: "name",
|
|
8495
|
+
type: "string",
|
|
8496
|
+
required: false,
|
|
8497
|
+
hidden: true,
|
|
8498
|
+
isPrimaryKey: false,
|
|
8499
|
+
binding: false,
|
|
8500
|
+
defaultValue: null
|
|
8501
|
+
}
|
|
8502
|
+
],
|
|
8503
|
+
inputPattern: "mergedBody",
|
|
8504
|
+
inputName: "JobArguments",
|
|
8505
|
+
inputTarget: "bodyField",
|
|
8506
|
+
outputSource: null,
|
|
8507
|
+
outputType: null,
|
|
8508
|
+
outputName: null,
|
|
8509
|
+
outputNotes: "Fire-and-forget: the canvas clears the process outputs for this type (getAgenticProcessInputOutputValues sets outputs to [] for Orchestrator.StartCaseMgmtProcessAsync), so the payload carries none of the entry-point outputs its sync sibling returns. A process picked straight from Orchestrator (no solutionResourceKey) can still contribute task-definition outputs, which is why this type stays on the canvas-owned dynamic path. Use Orchestrator.StartCaseMgmtProcess when you need the job result.",
|
|
8510
|
+
bindingPattern: "process",
|
|
8511
|
+
bindingInfo: {
|
|
8512
|
+
resource: "process",
|
|
8513
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8514
|
+
propertyAttribute: "Key",
|
|
8515
|
+
contextField: "releaseKey"
|
|
8516
|
+
},
|
|
8517
|
+
requiresDiscovery: true,
|
|
8518
|
+
isDynamic: true,
|
|
8519
|
+
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
8520
|
+
<bpmn:extensionElements>
|
|
8521
|
+
<uipath:activity version="v1">
|
|
8522
|
+
<uipath:type value="Orchestrator.StartCaseMgmtProcessAsync" version="v1" />
|
|
8523
|
+
<uipath:context>
|
|
8524
|
+
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
8525
|
+
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
8526
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8527
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
8528
|
+
</uipath:context>
|
|
8529
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
8530
|
+
</uipath:activity>
|
|
8531
|
+
</bpmn:extensionElements>
|
|
8532
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8533
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8534
|
+
</bpmn:CallActivity>`,
|
|
8535
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('caseManagement', search, 0, 100, true) to list available case management processes"
|
|
8536
|
+
},
|
|
8537
|
+
"Orchestrator.StartFlowProcess": {
|
|
8538
|
+
extensionType: "Orchestrator.StartFlowProcess",
|
|
8539
|
+
label: "Start and wait for Maestro Flow",
|
|
8540
|
+
bpmnElement: "bpmn:CallActivity",
|
|
8541
|
+
placements: {
|
|
8542
|
+
activity: {
|
|
8543
|
+
type: "bpmn:CallActivity"
|
|
8544
|
+
}
|
|
8545
|
+
},
|
|
8546
|
+
extensionTag: "uipath:activity",
|
|
8547
|
+
contextFields: [
|
|
8548
|
+
{
|
|
8549
|
+
name: "releaseKey",
|
|
8550
|
+
displayName: "Maestro Flow",
|
|
8551
|
+
type: "string",
|
|
8552
|
+
required: false,
|
|
8553
|
+
hidden: true,
|
|
8554
|
+
isPrimaryKey: false,
|
|
8555
|
+
binding: false,
|
|
8556
|
+
defaultValue: null,
|
|
8557
|
+
bindingInfo: {
|
|
8558
|
+
resource: "process",
|
|
8559
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8560
|
+
propertyAttribute: "Key"
|
|
8561
|
+
}
|
|
8562
|
+
},
|
|
8563
|
+
{
|
|
8564
|
+
name: "folderId",
|
|
8565
|
+
type: "string",
|
|
8566
|
+
required: false,
|
|
8567
|
+
hidden: true,
|
|
8568
|
+
isPrimaryKey: false,
|
|
8569
|
+
binding: false,
|
|
8570
|
+
defaultValue: null
|
|
8571
|
+
},
|
|
8572
|
+
{
|
|
8573
|
+
name: "folderPath",
|
|
8574
|
+
type: "string",
|
|
8575
|
+
required: false,
|
|
8576
|
+
hidden: true,
|
|
8577
|
+
isPrimaryKey: false,
|
|
8578
|
+
binding: false,
|
|
8579
|
+
defaultValue: null
|
|
8580
|
+
},
|
|
8581
|
+
{
|
|
8582
|
+
name: "name",
|
|
8583
|
+
type: "string",
|
|
8584
|
+
required: false,
|
|
8585
|
+
hidden: true,
|
|
8586
|
+
isPrimaryKey: false,
|
|
8587
|
+
binding: false,
|
|
8588
|
+
defaultValue: null
|
|
8589
|
+
}
|
|
8590
|
+
],
|
|
8591
|
+
inputPattern: "mergedBody",
|
|
8592
|
+
inputName: "JobArguments",
|
|
8593
|
+
inputTarget: "bodyField",
|
|
8594
|
+
outputSource: null,
|
|
8595
|
+
outputType: "Orchestrator.RunJob",
|
|
8596
|
+
outputName: "Process response",
|
|
8597
|
+
useRelativeSource: true,
|
|
8598
|
+
bindingPattern: "process",
|
|
8599
|
+
bindingInfo: {
|
|
8600
|
+
resource: "process",
|
|
8601
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8602
|
+
propertyAttribute: "Key",
|
|
8603
|
+
contextField: "releaseKey"
|
|
8604
|
+
},
|
|
8605
|
+
requiresDiscovery: true,
|
|
8606
|
+
isDynamic: true,
|
|
8607
|
+
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
8608
|
+
<bpmn:extensionElements>
|
|
8609
|
+
<uipath:activity version="v1">
|
|
8610
|
+
<uipath:type value="Orchestrator.StartFlowProcess" version="v2" />
|
|
8611
|
+
<uipath:context>
|
|
8612
|
+
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
8613
|
+
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
8614
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8615
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
8616
|
+
</uipath:context>
|
|
8617
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
8618
|
+
<uipath:output name="Process response" type="Orchestrator.RunJob" var="{varId}" />
|
|
8619
|
+
</uipath:activity>
|
|
8620
|
+
</bpmn:extensionElements>
|
|
8621
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8622
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8623
|
+
</bpmn:CallActivity>`,
|
|
8624
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('Flow', search, 0, 100, true) to list available flow processes. Studio Web bindings use the Flow process resource subtype."
|
|
8625
|
+
},
|
|
8626
|
+
"Orchestrator.StartFlowProcessAsync": {
|
|
8627
|
+
extensionType: "Orchestrator.StartFlowProcessAsync",
|
|
8628
|
+
label: "Start Maestro Flow",
|
|
8629
|
+
bpmnElement: "bpmn:CallActivity",
|
|
8630
|
+
placements: {
|
|
8631
|
+
activity: {
|
|
8632
|
+
type: "bpmn:CallActivity"
|
|
8633
|
+
}
|
|
8634
|
+
},
|
|
8635
|
+
extensionTag: "uipath:activity",
|
|
8636
|
+
contextFields: [
|
|
8637
|
+
{
|
|
8638
|
+
name: "releaseKey",
|
|
8639
|
+
displayName: "Maestro Flow",
|
|
8640
|
+
type: "string",
|
|
8641
|
+
required: false,
|
|
8642
|
+
hidden: true,
|
|
8643
|
+
isPrimaryKey: false,
|
|
8644
|
+
binding: false,
|
|
8645
|
+
defaultValue: null,
|
|
8646
|
+
bindingInfo: {
|
|
8647
|
+
resource: "process",
|
|
8648
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8649
|
+
propertyAttribute: "Key"
|
|
8650
|
+
}
|
|
8651
|
+
},
|
|
8652
|
+
{
|
|
8653
|
+
name: "folderId",
|
|
8654
|
+
type: "string",
|
|
8655
|
+
required: false,
|
|
8656
|
+
hidden: true,
|
|
8657
|
+
isPrimaryKey: false,
|
|
8658
|
+
binding: false,
|
|
8659
|
+
defaultValue: null
|
|
8660
|
+
},
|
|
8661
|
+
{
|
|
8662
|
+
name: "folderPath",
|
|
8663
|
+
type: "string",
|
|
8664
|
+
required: false,
|
|
8665
|
+
hidden: true,
|
|
8666
|
+
isPrimaryKey: false,
|
|
8667
|
+
binding: false,
|
|
8668
|
+
defaultValue: null
|
|
8669
|
+
},
|
|
8670
|
+
{
|
|
8671
|
+
name: "name",
|
|
8672
|
+
type: "string",
|
|
8673
|
+
required: false,
|
|
8674
|
+
hidden: true,
|
|
8675
|
+
isPrimaryKey: false,
|
|
8676
|
+
binding: false,
|
|
8677
|
+
defaultValue: null
|
|
8678
|
+
}
|
|
8679
|
+
],
|
|
8680
|
+
inputPattern: "mergedBody",
|
|
8681
|
+
inputName: "JobArguments",
|
|
8682
|
+
inputTarget: "bodyField",
|
|
8683
|
+
outputSource: null,
|
|
8684
|
+
outputType: null,
|
|
8685
|
+
outputName: null,
|
|
8686
|
+
outputNotes: "Fire-and-forget: the canvas clears the process outputs for this type (getAgenticProcessInputOutputValues sets outputs to [] for Orchestrator.StartFlowProcessAsync), so the payload carries none of the entry-point outputs its sync sibling returns. A process picked straight from Orchestrator (no solutionResourceKey) can still contribute task-definition outputs, which is why this type stays on the canvas-owned dynamic path. Use Orchestrator.StartFlowProcess when you need the job result.",
|
|
8687
|
+
bindingPattern: "process",
|
|
8688
|
+
bindingInfo: {
|
|
8689
|
+
resource: "process",
|
|
8690
|
+
resourceKeyPattern: "${metadata.key}",
|
|
8691
|
+
propertyAttribute: "Key",
|
|
8692
|
+
contextField: "releaseKey"
|
|
8693
|
+
},
|
|
8694
|
+
requiresDiscovery: true,
|
|
8695
|
+
isDynamic: true,
|
|
8696
|
+
xmlTemplate: `<bpmn:CallActivity id="{id}" name="{name}">
|
|
8697
|
+
<bpmn:extensionElements>
|
|
8698
|
+
<uipath:activity version="v1">
|
|
8699
|
+
<uipath:type value="Orchestrator.StartFlowProcessAsync" version="v2" />
|
|
8700
|
+
<uipath:context>
|
|
8701
|
+
<uipath:input name="releaseKey" type="string" value="{releaseKey}" />
|
|
8702
|
+
<uipath:input name="folderId" type="string" value="{folderId}" />
|
|
8703
|
+
<uipath:input name="folderPath" type="string" value="{folderPath}" />
|
|
8704
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
8705
|
+
</uipath:context>
|
|
8706
|
+
<uipath:input name="JobArguments" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
8707
|
+
</uipath:activity>
|
|
8708
|
+
</bpmn:extensionElements>
|
|
8709
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8710
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8711
|
+
</bpmn:CallActivity>`,
|
|
8712
|
+
discoveryNotes: "Uses getSupportedOrchestratorTasks('Flow', search, 0, 100, true) to list available flow processes."
|
|
8713
|
+
},
|
|
8714
|
+
"A2A.AgentExecution": {
|
|
8715
|
+
extensionType: "A2A.AgentExecution",
|
|
8716
|
+
label: "Start and wait for A2A agent",
|
|
8717
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
8718
|
+
placements: {
|
|
8719
|
+
activity: {
|
|
8720
|
+
type: "bpmn:ServiceTask"
|
|
8721
|
+
}
|
|
8722
|
+
},
|
|
8723
|
+
extensionTag: "uipath:activity",
|
|
8724
|
+
contextFields: [],
|
|
8725
|
+
inputPattern: "mergedBody",
|
|
8726
|
+
inputName: "body",
|
|
8727
|
+
inputTarget: "body",
|
|
8728
|
+
outputSource: null,
|
|
8729
|
+
outputType: "A2A.AgentExecution",
|
|
8730
|
+
outputName: "a2aResponse",
|
|
8731
|
+
useRelativeSource: true,
|
|
8732
|
+
bindingPattern: "none",
|
|
8733
|
+
requiresDiscovery: false,
|
|
8734
|
+
isDynamic: true,
|
|
8735
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8736
|
+
<bpmn:extensionElements>
|
|
8737
|
+
<uipath:activity version="v1">
|
|
8738
|
+
<uipath:type value="A2A.AgentExecution" version="v1" />
|
|
8739
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"agentUrl":"{agentUrl}","skillId":"{skillId}","input":"{input}","authToken":"{authToken}","agentName":"{agentName}"}]]></uipath:input>
|
|
8740
|
+
<uipath:output name="a2aResponse" type="A2A.AgentExecution" var="{varId}" />
|
|
8741
|
+
</uipath:activity>
|
|
8742
|
+
</bpmn:extensionElements>
|
|
8743
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8744
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8745
|
+
</bpmn:ServiceTask>`,
|
|
8746
|
+
inputFieldNotes: "Auto-initialized by A2AFPSFormControl on load. Version is set to v2. Outputs include a2aResponse (jsonSchema with A2A response schema, source=result) and Error (any, source=Error). authToken should be an expression or variable (for example =vars.authToken), never a literal token.",
|
|
8747
|
+
outputNotes: "Output schema includes: isSuccess (boolean), response (string), sessionId (string), status (string), taskId (string), artifacts (array of {index, parts, metadata}). Also includes Error output (type=any, source=Error).",
|
|
8748
|
+
inputFields: [
|
|
8749
|
+
{
|
|
8750
|
+
name: "agentUrl",
|
|
8751
|
+
displayName: "Agent URL",
|
|
8752
|
+
type: "string",
|
|
8753
|
+
required: true,
|
|
8754
|
+
description: "URL of the A2A agent endpoint"
|
|
8755
|
+
},
|
|
8756
|
+
{
|
|
8757
|
+
name: "skillId",
|
|
8758
|
+
displayName: "Skill ID",
|
|
8759
|
+
type: "string",
|
|
8760
|
+
required: true,
|
|
8761
|
+
description: "Identifier for the specific skill to invoke on the agent"
|
|
8762
|
+
},
|
|
8763
|
+
{
|
|
8764
|
+
name: "input",
|
|
8765
|
+
displayName: "Input",
|
|
8766
|
+
type: "string",
|
|
8767
|
+
required: true,
|
|
8768
|
+
description: "Input text/message to send to the A2A agent"
|
|
8769
|
+
},
|
|
8770
|
+
{
|
|
8771
|
+
name: "authToken",
|
|
8772
|
+
displayName: "Auth Token",
|
|
8773
|
+
type: "string",
|
|
8774
|
+
required: true,
|
|
8775
|
+
description: "Authentication token for the A2A agent"
|
|
8776
|
+
},
|
|
8777
|
+
{
|
|
8778
|
+
name: "agentName",
|
|
8779
|
+
displayName: "Agent Name",
|
|
8780
|
+
type: "string",
|
|
8781
|
+
required: true,
|
|
8782
|
+
description: "Display name of the A2A agent"
|
|
8783
|
+
}
|
|
8784
|
+
]
|
|
8785
|
+
},
|
|
8786
|
+
"BPMN.Variables": {
|
|
8787
|
+
extensionType: "BPMN.Variables",
|
|
8788
|
+
label: "BPMN Variables",
|
|
8789
|
+
bpmnElement: "bpmn:Task",
|
|
8790
|
+
placements: {},
|
|
8791
|
+
extensionTag: "uipath:mapping",
|
|
8792
|
+
contextFields: [],
|
|
8793
|
+
inputPattern: "none",
|
|
8794
|
+
outputSource: null,
|
|
8795
|
+
outputType: null,
|
|
8796
|
+
bindingPattern: "none",
|
|
8797
|
+
requiresDiscovery: false,
|
|
8798
|
+
isDynamic: false,
|
|
8799
|
+
xmlTemplate: `<bpmn:Task id="{id}" name="{name}">
|
|
8800
|
+
<bpmn:extensionElements>
|
|
8801
|
+
<uipath:mapping version="v1">
|
|
8802
|
+
<uipath:type value="BPMN.Variables" version="v1" />
|
|
8803
|
+
</uipath:mapping>
|
|
8804
|
+
</bpmn:extensionElements>
|
|
8805
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8806
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8807
|
+
</bpmn:Task>`,
|
|
8808
|
+
inputNotes: "Variable mappings use uipath:mapping with direct input/output elements, not a jsonBody pattern",
|
|
8809
|
+
bpmnElementNotes: "Also used on bpmn:StartEvent, bpmn:EndEvent, bpmn:ScriptTask, and bpmn:SubProcess for variable mappings. On bpmn:Task with no serviceType, defaults to BPMN.Variables.",
|
|
8810
|
+
extensionTagNotes: "Uses uipath:mapping (not uipath:activity). BPMN.Variables mappings are supported on StartEvent, EndEvent, Task, ScriptTask, and SubProcess owners."
|
|
8811
|
+
},
|
|
8812
|
+
"BPMN.ScriptTask": {
|
|
8813
|
+
extensionType: "BPMN.ScriptTask",
|
|
8814
|
+
label: "Execute script",
|
|
8815
|
+
bpmnElement: "bpmn:ScriptTask",
|
|
8816
|
+
placements: {},
|
|
8817
|
+
extensionTag: "uipath:mapping",
|
|
8818
|
+
contextFields: [],
|
|
8819
|
+
inputPattern: "scriptArgs",
|
|
8820
|
+
inputName: "args",
|
|
8821
|
+
inputTarget: "bodyField",
|
|
8822
|
+
outputSource: null,
|
|
8823
|
+
outputType: null,
|
|
8824
|
+
bindingPattern: "none",
|
|
8825
|
+
requiresDiscovery: false,
|
|
8826
|
+
isDynamic: false,
|
|
8827
|
+
xmlTemplate: `<bpmn:ScriptTask id="{id}" name="{name}">
|
|
8828
|
+
<bpmn:extensionElements>
|
|
8829
|
+
<uipath:mapping version="v1">
|
|
8830
|
+
<uipath:type value="BPMN.ScriptTask" version="v1" />
|
|
8831
|
+
<uipath:input name="args" type="json" target="bodyField"><![CDATA[{}]]></uipath:input>
|
|
8832
|
+
</uipath:mapping>
|
|
8833
|
+
</bpmn:extensionElements>
|
|
8834
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8835
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8836
|
+
</bpmn:ScriptTask>`,
|
|
8837
|
+
inputNotes: "Inputs are merged into a single json input named 'args' with target 'bodyField'. An inputSchema is created from the input variables.",
|
|
8838
|
+
extensionTagNotes: "bpmn:ScriptTask is routed through createModdleExtensionVariableMapping (same as BPMN.Variables). Inputs are merged into a single 'args' JSON body with inputSchema."
|
|
8839
|
+
},
|
|
8840
|
+
"ConversationalService.QueueServiceMessage": {
|
|
8841
|
+
extensionType: "ConversationalService.QueueServiceMessage",
|
|
8842
|
+
label: "Queue service message",
|
|
8843
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
8844
|
+
placements: {
|
|
8845
|
+
activity: {
|
|
8846
|
+
type: "bpmn:ServiceTask"
|
|
8847
|
+
}
|
|
8848
|
+
},
|
|
8849
|
+
extensionTag: "uipath:activity",
|
|
8850
|
+
contextFields: [
|
|
8851
|
+
{
|
|
8852
|
+
name: "_label",
|
|
8853
|
+
type: "string",
|
|
8854
|
+
required: false,
|
|
8855
|
+
hidden: true,
|
|
8856
|
+
isPrimaryKey: false,
|
|
8857
|
+
binding: false,
|
|
8858
|
+
defaultValue: null
|
|
8859
|
+
}
|
|
8860
|
+
],
|
|
8861
|
+
inputPattern: "mergedBody",
|
|
8862
|
+
inputName: "body",
|
|
8863
|
+
inputTarget: "body",
|
|
8864
|
+
outputSource: "=response",
|
|
8865
|
+
outputType: "jsonSchema",
|
|
8866
|
+
outputName: "response",
|
|
8867
|
+
additionalOutputs: [
|
|
8868
|
+
{
|
|
8869
|
+
name: "Error",
|
|
8870
|
+
type: "jsonSchema",
|
|
8871
|
+
source: "=Error",
|
|
8872
|
+
required: false
|
|
8873
|
+
}
|
|
8874
|
+
],
|
|
8875
|
+
bindingPattern: "none",
|
|
8876
|
+
requiresDiscovery: false,
|
|
8877
|
+
isDynamic: false,
|
|
8878
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8879
|
+
<bpmn:extensionElements>
|
|
8880
|
+
<uipath:activity version="v1">
|
|
8881
|
+
<uipath:type value="ConversationalService.QueueServiceMessage" version="v1" />
|
|
8882
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"conversationId":"{conversationId}","userContent":"{userContent}","assistantContent":"{assistantContent}"}]]></uipath:input>
|
|
8883
|
+
<uipath:output name="response" type="jsonSchema" source="=response" var="{varId}" />
|
|
8884
|
+
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
8885
|
+
</uipath:activity>
|
|
8886
|
+
</bpmn:extensionElements>
|
|
8887
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8888
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8889
|
+
</bpmn:ServiceTask>`,
|
|
8890
|
+
inputNotes: "The custom Studio Web form seeds conversationId, userContent, and assistantContent as required fields. The generic FPS serializer merges them into the body JSON payload. It also writes a uipath:inputSchema built from those fields inside uipath:context; the template leaves it out because it is derived, not authored.",
|
|
8891
|
+
contextFieldNotes: 'The design schema declares the three fields as context; the shipped custom form (ConversationalServiceFPSFormControl.tsx) declares them as inputs with target: "body", and the generic serializer merges them into the body.',
|
|
8892
|
+
outputNotes: 'The response schema contains the queued message id, conversation and content fields, MIME types, pending state, and timestamps. Studio Web always writes the standard Error output. Validation also accepts files without it. Extra outputs that narrow the response carry custom="true".',
|
|
8893
|
+
inputFields: [
|
|
8894
|
+
{
|
|
8895
|
+
name: "conversationId",
|
|
8896
|
+
displayName: "Conversation ID",
|
|
8897
|
+
type: "string",
|
|
8898
|
+
required: true,
|
|
8899
|
+
hidden: false,
|
|
8900
|
+
isPrimaryKey: false,
|
|
8901
|
+
binding: false,
|
|
8902
|
+
defaultValue: null,
|
|
8903
|
+
target: "body"
|
|
8904
|
+
},
|
|
8905
|
+
{
|
|
8906
|
+
name: "userContent",
|
|
8907
|
+
displayName: "User content",
|
|
8908
|
+
type: "string",
|
|
8909
|
+
required: true,
|
|
8910
|
+
hidden: false,
|
|
8911
|
+
isPrimaryKey: false,
|
|
8912
|
+
binding: false,
|
|
8913
|
+
defaultValue: null,
|
|
8914
|
+
target: "body"
|
|
8915
|
+
},
|
|
8916
|
+
{
|
|
8917
|
+
name: "assistantContent",
|
|
8918
|
+
displayName: "Assistant content",
|
|
8919
|
+
type: "string",
|
|
8920
|
+
required: true,
|
|
8921
|
+
hidden: false,
|
|
8922
|
+
isPrimaryKey: false,
|
|
8923
|
+
binding: false,
|
|
8924
|
+
defaultValue: null,
|
|
8925
|
+
target: "body"
|
|
8926
|
+
}
|
|
8927
|
+
]
|
|
8928
|
+
},
|
|
8929
|
+
"Intsvc.TimerTrigger": {
|
|
8930
|
+
extensionType: "Intsvc.TimerTrigger",
|
|
8931
|
+
label: "Timer trigger",
|
|
8932
|
+
bpmnElement: "bpmn:StartEvent",
|
|
8933
|
+
placements: {},
|
|
8934
|
+
extensionTag: "uipath:activity",
|
|
8935
|
+
contextFields: [],
|
|
8936
|
+
inputPattern: "none",
|
|
8937
|
+
outputSource: ".",
|
|
8938
|
+
outputType: "custom",
|
|
8939
|
+
outputName: "result",
|
|
8940
|
+
useRelativeSource: false,
|
|
8941
|
+
bindingPattern: "none",
|
|
8942
|
+
requiresDiscovery: false,
|
|
8943
|
+
isDynamic: false,
|
|
8944
|
+
xmlTemplate: `<bpmn:StartEvent id="{id}" name="{name}">
|
|
8945
|
+
<bpmn:extensionElements>
|
|
8946
|
+
<uipath:activity version="v1">
|
|
8947
|
+
<uipath:type value="Intsvc.TimerTrigger" version="v1" />
|
|
8948
|
+
<uipath:output name="result" type="custom" source="." var="{varId}" />
|
|
8949
|
+
</uipath:activity>
|
|
8950
|
+
</bpmn:extensionElements>
|
|
8951
|
+
<bpmn:timerEventDefinition><bpmn:timeDuration xsi:type="bpmn:tFormalExpression">PT1H</bpmn:timeDuration></bpmn:timerEventDefinition>
|
|
8952
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8953
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8954
|
+
</bpmn:StartEvent>`,
|
|
8955
|
+
inputNotes: "No jsonBody, no input fields, no isSplitInputs in design schema",
|
|
8956
|
+
bpmnElementNotes: "Used via timer event definition on start events; not directly in FPS_TO_NODE_MAPPING",
|
|
8957
|
+
extensionTagNotes: "NOT in isEvents array, uses uipath:activity. However, isIntsvcTriggerDesignSchemaType returns true.",
|
|
8958
|
+
inputFields: []
|
|
8959
|
+
},
|
|
8960
|
+
"Maestro.ReceiveMessageEvent": {
|
|
8961
|
+
extensionType: "Maestro.ReceiveMessageEvent",
|
|
8962
|
+
label: "Receive internal message",
|
|
8963
|
+
bpmnElement: "bpmn:IntermediateCatchEvent",
|
|
8964
|
+
placements: {
|
|
8965
|
+
startEvent: {
|
|
8966
|
+
type: "bpmn:StartEvent",
|
|
8967
|
+
eventDefinition: {
|
|
8968
|
+
type: "bpmn:MessageEventDefinition"
|
|
8969
|
+
}
|
|
8970
|
+
},
|
|
8971
|
+
intermediateEvent: {
|
|
8972
|
+
type: "bpmn:IntermediateCatchEvent",
|
|
8973
|
+
eventDefinition: {
|
|
8974
|
+
type: "bpmn:MessageEventDefinition"
|
|
8975
|
+
}
|
|
8976
|
+
},
|
|
8977
|
+
boundaryEvent: {
|
|
8978
|
+
type: "bpmn:BoundaryEvent",
|
|
8979
|
+
eventDefinition: {
|
|
8980
|
+
type: "bpmn:MessageEventDefinition"
|
|
8981
|
+
}
|
|
8982
|
+
}
|
|
8983
|
+
},
|
|
8984
|
+
extensionTag: "uipath:event",
|
|
8985
|
+
contextFields: [
|
|
8986
|
+
{
|
|
8987
|
+
name: "name",
|
|
8988
|
+
displayName: "Message name",
|
|
8989
|
+
type: "string",
|
|
8990
|
+
required: true,
|
|
8991
|
+
hidden: false,
|
|
8992
|
+
isPrimaryKey: false,
|
|
8993
|
+
binding: false,
|
|
8994
|
+
defaultValue: null
|
|
7930
8995
|
},
|
|
7931
8996
|
{
|
|
7932
|
-
name: "
|
|
7933
|
-
|
|
8997
|
+
name: "_label",
|
|
8998
|
+
type: "string",
|
|
8999
|
+
required: false,
|
|
9000
|
+
hidden: true,
|
|
9001
|
+
isPrimaryKey: false,
|
|
9002
|
+
binding: false,
|
|
9003
|
+
defaultValue: null
|
|
9004
|
+
}
|
|
9005
|
+
],
|
|
9006
|
+
inputPattern: "separateInputs",
|
|
9007
|
+
inputName: "ItemData",
|
|
9008
|
+
inputTarget: "body",
|
|
9009
|
+
outputSource: null,
|
|
9010
|
+
outputType: "Maestro.ReceiveMessageEvent",
|
|
9011
|
+
outputName: "response",
|
|
9012
|
+
useRelativeSource: true,
|
|
9013
|
+
bindingPattern: "none",
|
|
9014
|
+
requiresDiscovery: false,
|
|
9015
|
+
isDynamic: false,
|
|
9016
|
+
xmlTemplate: `<bpmn:IntermediateCatchEvent id="{id}" name="{name}">
|
|
9017
|
+
<bpmn:extensionElements>
|
|
9018
|
+
<uipath:event version="v1">
|
|
9019
|
+
<uipath:type value="Maestro.ReceiveMessageEvent" version="v1" />
|
|
9020
|
+
<uipath:context>
|
|
9021
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
9022
|
+
<uipath:input name="_label" type="string" value="{_label}" />
|
|
9023
|
+
</uipath:context>
|
|
9024
|
+
<uipath:input name="ItemData" type="json" target="body"><![CDATA[{}]]></uipath:input>
|
|
9025
|
+
<uipath:output name="response" type="Maestro.ReceiveMessageEvent" var="{varId}" />
|
|
9026
|
+
</uipath:event>
|
|
9027
|
+
</bpmn:extensionElements>
|
|
9028
|
+
<bpmn:messageEventDefinition />
|
|
9029
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9030
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9031
|
+
</bpmn:IntermediateCatchEvent>`,
|
|
9032
|
+
inputNotes: "isSplitInputs=true in design schema but NOT in isSplitInputsEvents code array, so inputs are NOT merged into ItemData for this type. They remain separate.",
|
|
9033
|
+
extensionTagNotes: "In isEvents array, uses uipath:event",
|
|
9034
|
+
inputFields: [
|
|
9035
|
+
{
|
|
9036
|
+
name: "Reference",
|
|
9037
|
+
displayName: "Reference",
|
|
7934
9038
|
type: "string",
|
|
7935
9039
|
required: true,
|
|
7936
|
-
|
|
9040
|
+
hidden: false,
|
|
9041
|
+
isPrimaryKey: false,
|
|
9042
|
+
binding: false,
|
|
9043
|
+
defaultValue: null,
|
|
9044
|
+
target: "bodyField",
|
|
9045
|
+
description: "Correlation reference to match this receive event to its sender"
|
|
9046
|
+
}
|
|
9047
|
+
]
|
|
9048
|
+
},
|
|
9049
|
+
"Maestro.SendMessageEvent": {
|
|
9050
|
+
extensionType: "Maestro.SendMessageEvent",
|
|
9051
|
+
label: "Send internal message",
|
|
9052
|
+
bpmnElement: "bpmn:IntermediateThrowEvent",
|
|
9053
|
+
placements: {
|
|
9054
|
+
intermediateEvent: {
|
|
9055
|
+
type: "bpmn:IntermediateThrowEvent",
|
|
9056
|
+
eventDefinition: {
|
|
9057
|
+
type: "bpmn:MessageEventDefinition"
|
|
9058
|
+
}
|
|
7937
9059
|
},
|
|
9060
|
+
endEvent: {
|
|
9061
|
+
type: "bpmn:EndEvent",
|
|
9062
|
+
eventDefinition: {
|
|
9063
|
+
type: "bpmn:MessageEventDefinition"
|
|
9064
|
+
}
|
|
9065
|
+
}
|
|
9066
|
+
},
|
|
9067
|
+
extensionTag: "uipath:event",
|
|
9068
|
+
contextFields: [
|
|
7938
9069
|
{
|
|
7939
|
-
name: "
|
|
7940
|
-
displayName: "
|
|
9070
|
+
name: "name",
|
|
9071
|
+
displayName: "Message name",
|
|
7941
9072
|
type: "string",
|
|
7942
9073
|
required: true,
|
|
7943
|
-
|
|
9074
|
+
hidden: false,
|
|
9075
|
+
isPrimaryKey: false,
|
|
9076
|
+
binding: false,
|
|
9077
|
+
defaultValue: null
|
|
9078
|
+
},
|
|
9079
|
+
{
|
|
9080
|
+
name: "_label",
|
|
9081
|
+
type: "string",
|
|
9082
|
+
required: false,
|
|
9083
|
+
hidden: true,
|
|
9084
|
+
isPrimaryKey: false,
|
|
9085
|
+
binding: false,
|
|
9086
|
+
defaultValue: null
|
|
9087
|
+
},
|
|
9088
|
+
{
|
|
9089
|
+
name: "inputSchema",
|
|
9090
|
+
displayName: "Input schema",
|
|
9091
|
+
type: "jsonSchema",
|
|
9092
|
+
required: true,
|
|
9093
|
+
hidden: true,
|
|
9094
|
+
isPrimaryKey: false,
|
|
9095
|
+
binding: false,
|
|
9096
|
+
defaultValue: null
|
|
9097
|
+
}
|
|
9098
|
+
],
|
|
9099
|
+
inputPattern: "splitInputsItemData",
|
|
9100
|
+
inputName: "ItemData",
|
|
9101
|
+
inputTarget: "body",
|
|
9102
|
+
outputSource: null,
|
|
9103
|
+
outputType: "Maestro.SendMessageEvent",
|
|
9104
|
+
outputName: "response",
|
|
9105
|
+
useRelativeSource: true,
|
|
9106
|
+
bindingPattern: "none",
|
|
9107
|
+
requiresDiscovery: false,
|
|
9108
|
+
isDynamic: false,
|
|
9109
|
+
xmlTemplate: `<bpmn:IntermediateThrowEvent id="{id}" name="{name}">
|
|
9110
|
+
<bpmn:extensionElements>
|
|
9111
|
+
<uipath:event version="v1">
|
|
9112
|
+
<uipath:type value="Maestro.SendMessageEvent" version="v1" />
|
|
9113
|
+
<uipath:context>
|
|
9114
|
+
<uipath:input name="name" type="string" value="{name}" />
|
|
9115
|
+
<uipath:input name="_label" type="string" value="{_label}" />
|
|
9116
|
+
<uipath:input name="inputSchema" type="jsonSchema" value="{inputSchema}" />
|
|
9117
|
+
</uipath:context>
|
|
9118
|
+
<uipath:input name="ItemData" type="json" target="body"><![CDATA[{"Reference":"{Reference}","SpecificContent":{},"TimeToLive":""}]]></uipath:input>
|
|
9119
|
+
<uipath:output name="response" type="Maestro.SendMessageEvent" var="{varId}" />
|
|
9120
|
+
</uipath:event>
|
|
9121
|
+
</bpmn:extensionElements>
|
|
9122
|
+
<bpmn:messageEventDefinition />
|
|
9123
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9124
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9125
|
+
</bpmn:IntermediateThrowEvent>`,
|
|
9126
|
+
inputNotes: "In isSplitInputsEvents array. Inputs are merged into a single ItemData JSON body at serialization time. Uses SEND_MESSAGE_EVENT_INPUT_SCHEMA as the inputSchema.",
|
|
9127
|
+
extensionTagNotes: "In isEvents array, uses uipath:event",
|
|
9128
|
+
inputFields: [
|
|
9129
|
+
{
|
|
9130
|
+
name: "Reference",
|
|
9131
|
+
displayName: "Reference",
|
|
9132
|
+
type: "string",
|
|
9133
|
+
required: true,
|
|
9134
|
+
hidden: false,
|
|
9135
|
+
isPrimaryKey: false,
|
|
9136
|
+
binding: false,
|
|
9137
|
+
defaultValue: null,
|
|
9138
|
+
target: "body",
|
|
9139
|
+
description: "Correlation reference to match this send event to its receiver"
|
|
9140
|
+
},
|
|
9141
|
+
{
|
|
9142
|
+
name: "SpecificContent",
|
|
9143
|
+
displayName: "Item information",
|
|
9144
|
+
type: "json",
|
|
9145
|
+
required: false,
|
|
9146
|
+
hidden: false,
|
|
9147
|
+
isPrimaryKey: false,
|
|
9148
|
+
binding: false,
|
|
9149
|
+
defaultValue: null,
|
|
9150
|
+
target: "body",
|
|
9151
|
+
description: "JSON payload with the message content"
|
|
9152
|
+
},
|
|
9153
|
+
{
|
|
9154
|
+
name: "TimeToLive",
|
|
9155
|
+
displayName: "Time to live",
|
|
9156
|
+
type: "duration",
|
|
9157
|
+
required: false,
|
|
9158
|
+
hidden: false,
|
|
9159
|
+
isPrimaryKey: false,
|
|
9160
|
+
binding: false,
|
|
9161
|
+
defaultValue: null,
|
|
9162
|
+
target: "body",
|
|
9163
|
+
description: "Duration after which the message expires if not consumed"
|
|
9164
|
+
}
|
|
9165
|
+
]
|
|
9166
|
+
},
|
|
9167
|
+
"Maestro.CaseManagerPlaceholder": {
|
|
9168
|
+
extensionType: "Maestro.CaseManagerPlaceholder",
|
|
9169
|
+
label: "Case manager placeholder",
|
|
9170
|
+
bpmnElement: "bpmn:Task",
|
|
9171
|
+
placements: {},
|
|
9172
|
+
extensionTag: "uipath:activity",
|
|
9173
|
+
contextFields: [],
|
|
9174
|
+
inputPattern: "mergedBody",
|
|
9175
|
+
inputName: "caseManagerInput",
|
|
9176
|
+
inputTarget: "body",
|
|
9177
|
+
outputSource: "=js:(vars.caseRulesDecisions)",
|
|
9178
|
+
outputType: "json",
|
|
9179
|
+
outputName: "caseManagerDecisions",
|
|
9180
|
+
bindingPattern: "none",
|
|
9181
|
+
requiresDiscovery: false,
|
|
9182
|
+
isDynamic: false,
|
|
9183
|
+
contractOutputMayBeCustom: true,
|
|
9184
|
+
xmlTemplate: `<bpmn:Task id="{id}" name="{name}">
|
|
9185
|
+
<bpmn:extensionElements>
|
|
9186
|
+
<uipath:activity version="v1">
|
|
9187
|
+
<uipath:type value="Maestro.CaseManagerPlaceholder" version="v1" />
|
|
9188
|
+
<uipath:input name="caseManagerInput" type="json" target="body"><![CDATA[{"caseRulesDecisions":{caseRulesDecisions},"caseCurrentExecutionState":{caseCurrentExecutionState}}]]></uipath:input>
|
|
9189
|
+
<uipath:output name="caseManagerDecisions" type="json" source="=js:(vars.caseRulesDecisions)" var="{varId}" custom="true" />
|
|
9190
|
+
</uipath:activity>
|
|
9191
|
+
</bpmn:extensionElements>
|
|
9192
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9193
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9194
|
+
</bpmn:Task>`,
|
|
9195
|
+
inputNotes: "The case converter creates this internal fallback task when no case-manager task runs. Its two inputs are merged into caseManagerInput during BPMN serialization.",
|
|
9196
|
+
outputNotes: 'The generated output copies the case-rules decisions into caseManagerDecisions. generateCaseManagerPlaceholderNode (PO.Frontend CaseManagementCaseManagerNodes.ts) spreads caseManagerDecisionsOutputVariable(), which stamps custom="true" on this output - a converter detail, not a panel narrowing, so contractOutputMayBeCustom tells the validator to still shape-check it (name/type/source/var) instead of dropping it as an unrelated custom addition.',
|
|
9197
|
+
inputFields: [
|
|
9198
|
+
{
|
|
9199
|
+
name: "caseRulesDecisions",
|
|
9200
|
+
displayName: "Case rules decisions",
|
|
9201
|
+
type: "json",
|
|
9202
|
+
required: true,
|
|
9203
|
+
hidden: false,
|
|
9204
|
+
isPrimaryKey: false,
|
|
9205
|
+
binding: false,
|
|
9206
|
+
defaultValue: null,
|
|
9207
|
+
target: "body"
|
|
9208
|
+
},
|
|
9209
|
+
{
|
|
9210
|
+
name: "caseCurrentExecutionState",
|
|
9211
|
+
displayName: "Case current execution state",
|
|
9212
|
+
type: "json",
|
|
9213
|
+
required: true,
|
|
9214
|
+
hidden: false,
|
|
9215
|
+
isPrimaryKey: false,
|
|
9216
|
+
binding: false,
|
|
9217
|
+
defaultValue: null,
|
|
9218
|
+
target: "body"
|
|
9219
|
+
}
|
|
9220
|
+
]
|
|
9221
|
+
},
|
|
9222
|
+
"Maestro.UpdateCaseState": {
|
|
9223
|
+
extensionType: "Maestro.UpdateCaseState",
|
|
9224
|
+
label: "Update case state",
|
|
9225
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
9226
|
+
placements: {},
|
|
9227
|
+
extensionTag: "uipath:activity",
|
|
9228
|
+
contextFields: [],
|
|
9229
|
+
inputPattern: "mergedBody",
|
|
9230
|
+
inputName: "ItemData",
|
|
9231
|
+
inputTarget: "body",
|
|
9232
|
+
outputSource: null,
|
|
9233
|
+
outputType: null,
|
|
9234
|
+
bindingPattern: "none",
|
|
9235
|
+
requiresDiscovery: false,
|
|
9236
|
+
isDynamic: false,
|
|
9237
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
9238
|
+
<bpmn:extensionElements>
|
|
9239
|
+
<uipath:activity version="v1">
|
|
9240
|
+
<uipath:type value="Maestro.UpdateCaseState" version="v2" />
|
|
9241
|
+
<uipath:input name="ItemData" type="json" target="body"><![CDATA[{"upsertKeys":{upsertKeys},"deleteKeys":{deleteKeys},"tasksCompletedDeleteNames":{tasksCompletedDeleteNames}}]]></uipath:input>
|
|
9242
|
+
</uipath:activity>
|
|
9243
|
+
</bpmn:extensionElements>
|
|
9244
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9245
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9246
|
+
</bpmn:ServiceTask>`,
|
|
9247
|
+
inputNotes: "The case converter always supplies all three fields and the generic serializer merges them into ItemData. upsertKeys is a JSON-typed token: fill with a JSON literal, or a quoted string for an =js:... expression - an unquoted expression breaks the JSON. The generated helper does not bind the design-schema output.",
|
|
9248
|
+
inputFields: [
|
|
9249
|
+
{
|
|
9250
|
+
name: "upsertKeys",
|
|
9251
|
+
displayName: "Event keys to upsert",
|
|
9252
|
+
type: "json",
|
|
9253
|
+
required: true,
|
|
9254
|
+
hidden: false,
|
|
9255
|
+
isPrimaryKey: false,
|
|
9256
|
+
binding: false,
|
|
9257
|
+
defaultValue: null,
|
|
9258
|
+
target: "body"
|
|
9259
|
+
},
|
|
9260
|
+
{
|
|
9261
|
+
name: "deleteKeys",
|
|
9262
|
+
displayName: "Event keys to delete",
|
|
9263
|
+
type: "array",
|
|
9264
|
+
required: true,
|
|
9265
|
+
hidden: false,
|
|
9266
|
+
isPrimaryKey: false,
|
|
9267
|
+
binding: false,
|
|
9268
|
+
defaultValue: null,
|
|
9269
|
+
target: "body"
|
|
7944
9270
|
},
|
|
7945
9271
|
{
|
|
7946
|
-
name: "
|
|
7947
|
-
displayName: "
|
|
7948
|
-
type: "
|
|
9272
|
+
name: "tasksCompletedDeleteNames",
|
|
9273
|
+
displayName: "Completed task names to delete",
|
|
9274
|
+
type: "array",
|
|
7949
9275
|
required: true,
|
|
7950
|
-
|
|
9276
|
+
hidden: false,
|
|
9277
|
+
isPrimaryKey: false,
|
|
9278
|
+
binding: false,
|
|
9279
|
+
defaultValue: null,
|
|
9280
|
+
target: "body"
|
|
7951
9281
|
}
|
|
7952
9282
|
]
|
|
7953
9283
|
},
|
|
7954
|
-
"
|
|
7955
|
-
extensionType: "
|
|
7956
|
-
label: "
|
|
7957
|
-
bpmnElement: "bpmn:
|
|
9284
|
+
"Maestro.RetrieveCaseState": {
|
|
9285
|
+
extensionType: "Maestro.RetrieveCaseState",
|
|
9286
|
+
label: "Retrieve case state",
|
|
9287
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
7958
9288
|
placements: {},
|
|
7959
|
-
extensionTag: "uipath:
|
|
9289
|
+
extensionTag: "uipath:activity",
|
|
7960
9290
|
contextFields: [],
|
|
7961
9291
|
inputPattern: "none",
|
|
7962
|
-
outputSource:
|
|
7963
|
-
outputType:
|
|
7964
|
-
|
|
7965
|
-
requiresDiscovery: false,
|
|
7966
|
-
isDynamic: false,
|
|
7967
|
-
xmlTemplate: `<bpmn:Task id="{id}" name="{name}">
|
|
7968
|
-
<bpmn:extensionElements>
|
|
7969
|
-
<uipath:mapping version="v1">
|
|
7970
|
-
<uipath:type value="BPMN.Variables" version="v1" />
|
|
7971
|
-
</uipath:mapping>
|
|
7972
|
-
</bpmn:extensionElements>
|
|
7973
|
-
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
7974
|
-
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
7975
|
-
</bpmn:Task>`,
|
|
7976
|
-
inputNotes: "Variable mappings use uipath:mapping with direct input/output elements, not a jsonBody pattern",
|
|
7977
|
-
bpmnElementNotes: "Also used on bpmn:StartEvent, bpmn:EndEvent, bpmn:ScriptTask, and bpmn:SubProcess for variable mappings. On bpmn:Task with no serviceType, defaults to BPMN.Variables.",
|
|
7978
|
-
extensionTagNotes: "Uses uipath:mapping (not uipath:activity). BPMN.Variables mappings are supported on StartEvent, EndEvent, Task, ScriptTask, and SubProcess owners."
|
|
7979
|
-
},
|
|
7980
|
-
"BPMN.ScriptTask": {
|
|
7981
|
-
extensionType: "BPMN.ScriptTask",
|
|
7982
|
-
label: "Execute script",
|
|
7983
|
-
bpmnElement: "bpmn:ScriptTask",
|
|
7984
|
-
placements: {},
|
|
7985
|
-
extensionTag: "uipath:mapping",
|
|
7986
|
-
contextFields: [],
|
|
7987
|
-
inputPattern: "scriptArgs",
|
|
7988
|
-
inputName: "args",
|
|
7989
|
-
inputTarget: "bodyField",
|
|
7990
|
-
outputSource: null,
|
|
7991
|
-
outputType: null,
|
|
9292
|
+
outputSource: "=caseState",
|
|
9293
|
+
outputType: "jsonSchema",
|
|
9294
|
+
outputName: "latestCaseState",
|
|
7992
9295
|
bindingPattern: "none",
|
|
7993
9296
|
requiresDiscovery: false,
|
|
7994
9297
|
isDynamic: false,
|
|
7995
|
-
|
|
9298
|
+
contractOutputMayBeCustom: true,
|
|
9299
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
7996
9300
|
<bpmn:extensionElements>
|
|
7997
|
-
<uipath:
|
|
7998
|
-
<uipath:type value="
|
|
7999
|
-
<uipath:
|
|
8000
|
-
</uipath:
|
|
9301
|
+
<uipath:activity version="v1">
|
|
9302
|
+
<uipath:type value="Maestro.RetrieveCaseState" version="v2" />
|
|
9303
|
+
<uipath:output name="latestCaseState" type="jsonSchema" source="=caseState" var="{varId}" custom="true" />
|
|
9304
|
+
</uipath:activity>
|
|
8001
9305
|
</bpmn:extensionElements>
|
|
8002
9306
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8003
9307
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8004
|
-
</bpmn:
|
|
8005
|
-
inputNotes: "
|
|
8006
|
-
|
|
9308
|
+
</bpmn:ServiceTask>`,
|
|
9309
|
+
inputNotes: "The design schema declares an empty body slot, but nothing fills it: generateRetrieveCaseStateNode passes outputs only, and the type is never offered in the canvas palette, so no properties panel can configure an input either. inputPattern none is deliberately stricter than the design schema - a uipath:input on this element did not come out of Studio Web.",
|
|
9310
|
+
outputNotes: `outputName is a fixed literal here, not a variable name. PO.Frontend's generateRetrieveCaseStateNode (BpmnCaseTaskNodeConverterUtils.ts) spreads the caller's variable info and overwrites source with =caseState, and both callers - the pre-scheduler and post-scheduler lifecycle utils - pass baseEventSubprocessLatestCaseStateVariableInfo(), which hardcodes name latestCaseState and var caseState. The diagram's own variable id lands in var, never in name. The post-scheduler caller (CaseManagementAdhocEventSubProcessPostSchedulerUtilsNewGlobals.ts, node EventSubProcessRetrieveCaseStateNodePostCaseManager) additionally spreads custom: true onto this output - a converter detail, not a panel narrowing - so contractOutputMayBeCustom tells the validator to still shape-check a custom="true" output here instead of dropping it as an unrelated custom addition. The pre-scheduler caller omits custom, so a file may show this output either way.`
|
|
8007
9311
|
},
|
|
8008
|
-
"
|
|
8009
|
-
extensionType: "
|
|
8010
|
-
label: "
|
|
9312
|
+
"Maestro.NotificationService": {
|
|
9313
|
+
extensionType: "Maestro.NotificationService",
|
|
9314
|
+
label: "Notification service",
|
|
8011
9315
|
bpmnElement: "bpmn:ServiceTask",
|
|
8012
|
-
placements: {
|
|
8013
|
-
activity: {
|
|
8014
|
-
type: "bpmn:ServiceTask"
|
|
8015
|
-
}
|
|
8016
|
-
},
|
|
9316
|
+
placements: {},
|
|
8017
9317
|
extensionTag: "uipath:activity",
|
|
8018
|
-
contextFields: [
|
|
8019
|
-
{
|
|
8020
|
-
name: "_label",
|
|
8021
|
-
type: "string",
|
|
8022
|
-
required: false,
|
|
8023
|
-
hidden: true,
|
|
8024
|
-
isPrimaryKey: false,
|
|
8025
|
-
binding: false,
|
|
8026
|
-
defaultValue: null
|
|
8027
|
-
}
|
|
8028
|
-
],
|
|
9318
|
+
contextFields: [],
|
|
8029
9319
|
inputPattern: "mergedBody",
|
|
8030
9320
|
inputName: "body",
|
|
8031
9321
|
inputTarget: "body",
|
|
8032
|
-
outputSource:
|
|
8033
|
-
outputType:
|
|
8034
|
-
outputName: "response",
|
|
8035
|
-
additionalOutputs: [
|
|
8036
|
-
{
|
|
8037
|
-
name: "Error",
|
|
8038
|
-
type: "jsonSchema",
|
|
8039
|
-
source: "=Error",
|
|
8040
|
-
required: false
|
|
8041
|
-
}
|
|
8042
|
-
],
|
|
9322
|
+
outputSource: null,
|
|
9323
|
+
outputType: null,
|
|
8043
9324
|
bindingPattern: "none",
|
|
8044
9325
|
requiresDiscovery: false,
|
|
8045
9326
|
isDynamic: false,
|
|
8046
9327
|
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8047
9328
|
<bpmn:extensionElements>
|
|
8048
9329
|
<uipath:activity version="v1">
|
|
8049
|
-
<uipath:type value="
|
|
8050
|
-
<uipath:input name="body" type="json" target="body"><![CDATA[{"
|
|
8051
|
-
<uipath:output name="response" type="jsonSchema" source="=response" var="{varId}" />
|
|
8052
|
-
<uipath:output name="Error" type="jsonSchema" source="=Error" var="{errorVarId}" />
|
|
9330
|
+
<uipath:type value="Maestro.NotificationService" version="v2" />
|
|
9331
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"publisherName":"{publisherName}","topicName":"{topicName}","priority":"{priority}","messageParam":{messageParam},"recipients":{recipients}}]]></uipath:input>
|
|
8053
9332
|
</uipath:activity>
|
|
8054
9333
|
</bpmn:extensionElements>
|
|
8055
9334
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8056
9335
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8057
9336
|
</bpmn:ServiceTask>`,
|
|
8058
|
-
inputNotes:
|
|
8059
|
-
contextFieldNotes: 'The design schema declares the three fields as context; the shipped custom form (ConversationalServiceFPSFormControl.tsx) declares them as inputs with target: "body", and the generic serializer merges them into the body.',
|
|
8060
|
-
outputNotes: 'The response schema contains the queued message id, conversation and content fields, MIME types, pending state, and timestamps. Studio Web always writes the standard Error output. Validation also accepts files without it. Extra outputs that narrow the response carry custom="true".',
|
|
9337
|
+
inputNotes: `Generated case SLA notifications merge publisher, topic, priority, message parameters, and recipients into the body. The case SLA converter sends publisherName 'agenticorchestration', topicName 'CaseManagementAlert.Triggered', and priority 'High'; other callers pick their own. messageParam and recipients are JSON-typed tokens: fill with a JSON literal, or a quoted string for an =js:... expression. recipients is optional - drop its whole "recipients":{recipients} entry to omit it, not just its value. The generated helper does not bind the design-schema response.`,
|
|
8061
9338
|
inputFields: [
|
|
8062
9339
|
{
|
|
8063
|
-
name: "
|
|
8064
|
-
displayName: "
|
|
9340
|
+
name: "publisherName",
|
|
9341
|
+
displayName: "Publisher name",
|
|
8065
9342
|
type: "string",
|
|
8066
9343
|
required: true,
|
|
8067
9344
|
hidden: false,
|
|
@@ -8071,8 +9348,8 @@ var bpmn_spec_default = {
|
|
|
8071
9348
|
target: "body"
|
|
8072
9349
|
},
|
|
8073
9350
|
{
|
|
8074
|
-
name: "
|
|
8075
|
-
displayName: "
|
|
9351
|
+
name: "topicName",
|
|
9352
|
+
displayName: "Topic name",
|
|
8076
9353
|
type: "string",
|
|
8077
9354
|
required: true,
|
|
8078
9355
|
hidden: false,
|
|
@@ -8082,8 +9359,8 @@ var bpmn_spec_default = {
|
|
|
8082
9359
|
target: "body"
|
|
8083
9360
|
},
|
|
8084
9361
|
{
|
|
8085
|
-
name: "
|
|
8086
|
-
displayName: "
|
|
9362
|
+
name: "priority",
|
|
9363
|
+
displayName: "Priority",
|
|
8087
9364
|
type: "string",
|
|
8088
9365
|
required: true,
|
|
8089
9366
|
hidden: false,
|
|
@@ -8091,224 +9368,211 @@ var bpmn_spec_default = {
|
|
|
8091
9368
|
binding: false,
|
|
8092
9369
|
defaultValue: null,
|
|
8093
9370
|
target: "body"
|
|
9371
|
+
},
|
|
9372
|
+
{
|
|
9373
|
+
name: "messageParam",
|
|
9374
|
+
displayName: "Message parameters",
|
|
9375
|
+
type: "json",
|
|
9376
|
+
required: true,
|
|
9377
|
+
hidden: false,
|
|
9378
|
+
isPrimaryKey: false,
|
|
9379
|
+
binding: false,
|
|
9380
|
+
defaultValue: null,
|
|
9381
|
+
target: "body"
|
|
9382
|
+
},
|
|
9383
|
+
{
|
|
9384
|
+
name: "recipients",
|
|
9385
|
+
displayName: "Recipients",
|
|
9386
|
+
type: "json",
|
|
9387
|
+
required: false,
|
|
9388
|
+
hidden: false,
|
|
9389
|
+
isPrimaryKey: false,
|
|
9390
|
+
binding: false,
|
|
9391
|
+
defaultValue: null,
|
|
9392
|
+
target: "body"
|
|
8094
9393
|
}
|
|
8095
9394
|
]
|
|
8096
9395
|
},
|
|
8097
|
-
"
|
|
8098
|
-
extensionType: "
|
|
8099
|
-
label: "
|
|
8100
|
-
bpmnElement: "bpmn:
|
|
9396
|
+
"Maestro.AcquireLock": {
|
|
9397
|
+
extensionType: "Maestro.AcquireLock",
|
|
9398
|
+
label: "Acquire lock",
|
|
9399
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
8101
9400
|
placements: {},
|
|
8102
9401
|
extensionTag: "uipath:activity",
|
|
8103
9402
|
contextFields: [],
|
|
8104
|
-
inputPattern: "
|
|
8105
|
-
|
|
8106
|
-
|
|
8107
|
-
|
|
8108
|
-
|
|
9403
|
+
inputPattern: "mergedBody",
|
|
9404
|
+
inputName: "body",
|
|
9405
|
+
inputTarget: "body",
|
|
9406
|
+
outputSource: null,
|
|
9407
|
+
outputType: null,
|
|
8109
9408
|
bindingPattern: "none",
|
|
8110
9409
|
requiresDiscovery: false,
|
|
8111
9410
|
isDynamic: false,
|
|
8112
|
-
xmlTemplate: `<bpmn:
|
|
9411
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8113
9412
|
<bpmn:extensionElements>
|
|
8114
9413
|
<uipath:activity version="v1">
|
|
8115
|
-
<uipath:type value="
|
|
8116
|
-
<uipath:
|
|
9414
|
+
<uipath:type value="Maestro.AcquireLock" version="v2" />
|
|
9415
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"lockKey":"{lockKey}","leaseSeconds":{leaseSeconds},"acquireTimeoutSeconds":{acquireTimeoutSeconds}}]]></uipath:input>
|
|
8117
9416
|
</uipath:activity>
|
|
8118
9417
|
</bpmn:extensionElements>
|
|
8119
|
-
<bpmn:timerEventDefinition><bpmn:timeDuration xsi:type="bpmn:tFormalExpression">PT1H</bpmn:timeDuration></bpmn:timerEventDefinition>
|
|
8120
9418
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8121
9419
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8122
|
-
</bpmn:
|
|
8123
|
-
inputNotes: "
|
|
8124
|
-
|
|
8125
|
-
extensionTagNotes: "NOT in isEvents array, uses uipath:activity. However, isIntsvcTriggerDesignSchemaType returns true.",
|
|
8126
|
-
inputFields: []
|
|
8127
|
-
},
|
|
8128
|
-
"Maestro.ReceiveMessageEvent": {
|
|
8129
|
-
extensionType: "Maestro.ReceiveMessageEvent",
|
|
8130
|
-
label: "Receive internal message",
|
|
8131
|
-
bpmnElement: "bpmn:IntermediateCatchEvent",
|
|
8132
|
-
placements: {
|
|
8133
|
-
startEvent: {
|
|
8134
|
-
type: "bpmn:StartEvent",
|
|
8135
|
-
eventDefinition: {
|
|
8136
|
-
type: "bpmn:MessageEventDefinition"
|
|
8137
|
-
}
|
|
8138
|
-
},
|
|
8139
|
-
intermediateEvent: {
|
|
8140
|
-
type: "bpmn:IntermediateCatchEvent",
|
|
8141
|
-
eventDefinition: {
|
|
8142
|
-
type: "bpmn:MessageEventDefinition"
|
|
8143
|
-
}
|
|
8144
|
-
},
|
|
8145
|
-
boundaryEvent: {
|
|
8146
|
-
type: "bpmn:BoundaryEvent",
|
|
8147
|
-
eventDefinition: {
|
|
8148
|
-
type: "bpmn:MessageEventDefinition"
|
|
8149
|
-
}
|
|
8150
|
-
}
|
|
8151
|
-
},
|
|
8152
|
-
extensionTag: "uipath:event",
|
|
8153
|
-
contextFields: [
|
|
9420
|
+
</bpmn:ServiceTask>`,
|
|
9421
|
+
inputNotes: "Generated SLA flows merge the lock key and timeout settings into the body. leaseSeconds and acquireTimeoutSeconds are tokens carrying their declared defaults (600 and 0); a caller can fill either with a different number. The generated helper does not bind the design-schema response.",
|
|
9422
|
+
inputFields: [
|
|
8154
9423
|
{
|
|
8155
|
-
name: "
|
|
8156
|
-
displayName: "
|
|
9424
|
+
name: "lockKey",
|
|
9425
|
+
displayName: "Lock key",
|
|
8157
9426
|
type: "string",
|
|
8158
9427
|
required: true,
|
|
8159
9428
|
hidden: false,
|
|
8160
9429
|
isPrimaryKey: false,
|
|
8161
9430
|
binding: false,
|
|
8162
|
-
defaultValue: null
|
|
9431
|
+
defaultValue: null,
|
|
9432
|
+
target: "body"
|
|
8163
9433
|
},
|
|
8164
9434
|
{
|
|
8165
|
-
name: "
|
|
8166
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
9435
|
+
name: "leaseSeconds",
|
|
9436
|
+
displayName: "Lease seconds",
|
|
9437
|
+
type: "number",
|
|
9438
|
+
required: true,
|
|
9439
|
+
hidden: false,
|
|
8169
9440
|
isPrimaryKey: false,
|
|
8170
9441
|
binding: false,
|
|
8171
|
-
defaultValue:
|
|
8172
|
-
|
|
8173
|
-
|
|
8174
|
-
inputPattern: "separateInputs",
|
|
8175
|
-
inputName: "ItemData",
|
|
8176
|
-
inputTarget: "body",
|
|
8177
|
-
outputSource: null,
|
|
8178
|
-
outputType: "Maestro.ReceiveMessageEvent",
|
|
8179
|
-
outputName: "response",
|
|
8180
|
-
useRelativeSource: true,
|
|
8181
|
-
bindingPattern: "none",
|
|
8182
|
-
requiresDiscovery: false,
|
|
8183
|
-
isDynamic: false,
|
|
8184
|
-
xmlTemplate: `<bpmn:IntermediateCatchEvent id="{id}" name="{name}">
|
|
8185
|
-
<bpmn:extensionElements>
|
|
8186
|
-
<uipath:event version="v1">
|
|
8187
|
-
<uipath:type value="Maestro.ReceiveMessageEvent" version="v1" />
|
|
8188
|
-
<uipath:context>
|
|
8189
|
-
<uipath:input name="name" type="string" value="{name}" />
|
|
8190
|
-
<uipath:input name="_label" type="string" value="{_label}" />
|
|
8191
|
-
</uipath:context>
|
|
8192
|
-
<uipath:input name="ItemData" type="json" target="body"><![CDATA[{}]]></uipath:input>
|
|
8193
|
-
<uipath:output name="response" type="Maestro.ReceiveMessageEvent" var="{varId}" />
|
|
8194
|
-
</uipath:event>
|
|
8195
|
-
</bpmn:extensionElements>
|
|
8196
|
-
<bpmn:messageEventDefinition />
|
|
8197
|
-
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8198
|
-
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8199
|
-
</bpmn:IntermediateCatchEvent>`,
|
|
8200
|
-
inputNotes: "isSplitInputs=true in design schema but NOT in isSplitInputsEvents code array, so inputs are NOT merged into ItemData for this type. They remain separate.",
|
|
8201
|
-
extensionTagNotes: "In isEvents array, uses uipath:event",
|
|
8202
|
-
inputFields: [
|
|
9442
|
+
defaultValue: 600,
|
|
9443
|
+
target: "body"
|
|
9444
|
+
},
|
|
8203
9445
|
{
|
|
8204
|
-
name: "
|
|
8205
|
-
displayName: "
|
|
8206
|
-
type: "
|
|
9446
|
+
name: "acquireTimeoutSeconds",
|
|
9447
|
+
displayName: "Acquire timeout seconds",
|
|
9448
|
+
type: "number",
|
|
8207
9449
|
required: true,
|
|
8208
9450
|
hidden: false,
|
|
8209
9451
|
isPrimaryKey: false,
|
|
8210
9452
|
binding: false,
|
|
8211
|
-
defaultValue:
|
|
8212
|
-
target: "
|
|
8213
|
-
description: "Correlation reference to match this receive event to its sender"
|
|
9453
|
+
defaultValue: 0,
|
|
9454
|
+
target: "body"
|
|
8214
9455
|
}
|
|
8215
9456
|
]
|
|
8216
9457
|
},
|
|
8217
|
-
"Maestro.
|
|
8218
|
-
extensionType: "Maestro.
|
|
8219
|
-
label: "
|
|
8220
|
-
bpmnElement: "bpmn:
|
|
8221
|
-
placements: {
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8236
|
-
|
|
9458
|
+
"Maestro.ReleaseLock": {
|
|
9459
|
+
extensionType: "Maestro.ReleaseLock",
|
|
9460
|
+
label: "Release lock",
|
|
9461
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
9462
|
+
placements: {},
|
|
9463
|
+
extensionTag: "uipath:activity",
|
|
9464
|
+
contextFields: [],
|
|
9465
|
+
inputPattern: "mergedBody",
|
|
9466
|
+
inputName: "body",
|
|
9467
|
+
inputTarget: "body",
|
|
9468
|
+
outputSource: null,
|
|
9469
|
+
outputType: null,
|
|
9470
|
+
bindingPattern: "none",
|
|
9471
|
+
requiresDiscovery: false,
|
|
9472
|
+
isDynamic: false,
|
|
9473
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
9474
|
+
<bpmn:extensionElements>
|
|
9475
|
+
<uipath:activity version="v1">
|
|
9476
|
+
<uipath:type value="Maestro.ReleaseLock" version="v2" />
|
|
9477
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"lockKey":"{lockKey}"}]]></uipath:input>
|
|
9478
|
+
</uipath:activity>
|
|
9479
|
+
</bpmn:extensionElements>
|
|
9480
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9481
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9482
|
+
</bpmn:ServiceTask>`,
|
|
9483
|
+
inputNotes: "Generated SLA flows merge the lock key into the body. The generated helper does not bind the design-schema response.",
|
|
9484
|
+
inputFields: [
|
|
8237
9485
|
{
|
|
8238
|
-
name: "
|
|
8239
|
-
displayName: "
|
|
9486
|
+
name: "lockKey",
|
|
9487
|
+
displayName: "Lock key",
|
|
8240
9488
|
type: "string",
|
|
8241
9489
|
required: true,
|
|
8242
9490
|
hidden: false,
|
|
8243
9491
|
isPrimaryKey: false,
|
|
8244
9492
|
binding: false,
|
|
8245
|
-
defaultValue: null
|
|
8246
|
-
|
|
9493
|
+
defaultValue: null,
|
|
9494
|
+
target: "body"
|
|
9495
|
+
}
|
|
9496
|
+
]
|
|
9497
|
+
},
|
|
9498
|
+
"Maestro.CaseCyclePrepare": {
|
|
9499
|
+
extensionType: "Maestro.CaseCyclePrepare",
|
|
9500
|
+
label: "Prepare case decision cycle",
|
|
9501
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
9502
|
+
placements: {},
|
|
9503
|
+
extensionTag: "uipath:activity",
|
|
9504
|
+
contextFields: [],
|
|
9505
|
+
inputPattern: "mergedBody",
|
|
9506
|
+
bindingPattern: "none",
|
|
9507
|
+
requiresDiscovery: false,
|
|
9508
|
+
isDynamic: false,
|
|
9509
|
+
generatedOutputs: true,
|
|
9510
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
9511
|
+
<bpmn:extensionElements>
|
|
9512
|
+
<uipath:activity version="v1">
|
|
9513
|
+
<uipath:type value="Maestro.CaseCyclePrepare" version="v2" />
|
|
9514
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"CaseGlobalsLastPrimaryStageExited":"{CaseGlobalsLastPrimaryStageExited}"}]]></uipath:input>
|
|
9515
|
+
<uipath:output name="latestCaseState" type="jsonSchema" source="=caseState" var="{varId}" />
|
|
9516
|
+
</uipath:activity>
|
|
9517
|
+
</bpmn:extensionElements>
|
|
9518
|
+
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
9519
|
+
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
9520
|
+
</bpmn:ServiceTask>`,
|
|
9521
|
+
inputFields: [
|
|
8247
9522
|
{
|
|
8248
|
-
name: "
|
|
9523
|
+
name: "CaseGlobalsLastPrimaryStageExited",
|
|
8249
9524
|
type: "string",
|
|
8250
9525
|
required: false,
|
|
8251
|
-
hidden:
|
|
8252
|
-
isPrimaryKey: false,
|
|
8253
|
-
binding: false,
|
|
8254
|
-
defaultValue: null
|
|
8255
|
-
},
|
|
8256
|
-
{
|
|
8257
|
-
name: "inputSchema",
|
|
8258
|
-
displayName: "Input schema",
|
|
8259
|
-
type: "jsonSchema",
|
|
8260
|
-
required: true,
|
|
8261
|
-
hidden: true,
|
|
9526
|
+
hidden: false,
|
|
8262
9527
|
isPrimaryKey: false,
|
|
8263
9528
|
binding: false,
|
|
8264
|
-
defaultValue:
|
|
9529
|
+
defaultValue: "=instanceglobals.CaseGlobalsLastPrimaryStageExited",
|
|
9530
|
+
target: "body",
|
|
9531
|
+
displayName: "Last primary stage exited global"
|
|
8265
9532
|
}
|
|
8266
9533
|
],
|
|
8267
|
-
|
|
8268
|
-
|
|
8269
|
-
|
|
8270
|
-
|
|
8271
|
-
|
|
8272
|
-
|
|
8273
|
-
|
|
9534
|
+
inputNotes: "Generated by the case converter behind the canvas-caseBpmnConsolidatedCycle flag. The input reads the last-primary-stage-exited instance global, and its value is the read expression =instanceglobals.CaseGlobalsLastPrimaryStageExited (see defaultValue) - not the bare key, which is what the similarly named CaseCycleCommit input takes.",
|
|
9535
|
+
outputNotes: "The converter builds a diagram-specific output list (event vars off the message response, latestCaseState from =caseState, the globals copies, eventMetadata, overlays), so no specific output name, type or source can be pinned here. It always emits at least the latestCaseState, globals-copy and eventMetadata entries and every entry carries a nonblank name and binds a variable, so generatedOutputs tells the validator to require at least one uipath:output and to check each one for a nonblank name and a var attribute, and nothing else about it.",
|
|
9536
|
+
inputName: "body",
|
|
9537
|
+
inputTarget: "body"
|
|
9538
|
+
},
|
|
9539
|
+
"Maestro.CaseCycleCommit": {
|
|
9540
|
+
extensionType: "Maestro.CaseCycleCommit",
|
|
9541
|
+
label: "Commit case decision cycle",
|
|
9542
|
+
bpmnElement: "bpmn:ServiceTask",
|
|
9543
|
+
placements: {},
|
|
9544
|
+
extensionTag: "uipath:activity",
|
|
9545
|
+
contextFields: [],
|
|
9546
|
+
inputPattern: "mergedBody",
|
|
8274
9547
|
bindingPattern: "none",
|
|
8275
9548
|
requiresDiscovery: false,
|
|
8276
9549
|
isDynamic: false,
|
|
8277
|
-
|
|
9550
|
+
generatedOutputs: true,
|
|
9551
|
+
xmlTemplate: `<bpmn:ServiceTask id="{id}" name="{name}">
|
|
8278
9552
|
<bpmn:extensionElements>
|
|
8279
|
-
<uipath:
|
|
8280
|
-
<uipath:type value="Maestro.
|
|
8281
|
-
<uipath:
|
|
8282
|
-
|
|
8283
|
-
|
|
8284
|
-
<uipath:input name="inputSchema" type="jsonSchema" value="{inputSchema}" />
|
|
8285
|
-
</uipath:context>
|
|
8286
|
-
<uipath:input name="ItemData" type="json" target="body"><![CDATA[{"Reference":"{Reference}","SpecificContent":{},"TimeToLive":""}]]></uipath:input>
|
|
8287
|
-
<uipath:output name="response" type="Maestro.SendMessageEvent" var="{varId}" />
|
|
8288
|
-
</uipath:event>
|
|
9553
|
+
<uipath:activity version="v1">
|
|
9554
|
+
<uipath:type value="Maestro.CaseCycleCommit" version="v2" />
|
|
9555
|
+
<uipath:input name="body" type="json" target="body"><![CDATA[{"decisions":{decisions},"sequentialTasksToResetByStageName":{sequentialTasksToResetByStageName},"lastPrimaryStageExitedGlobalKey":"{lastPrimaryStageExitedGlobalKey}"}]]></uipath:input>
|
|
9556
|
+
<uipath:output name="latestCaseState" type="jsonSchema" source="=caseState" var="{varId}" />
|
|
9557
|
+
</uipath:activity>
|
|
8289
9558
|
</bpmn:extensionElements>
|
|
8290
|
-
<bpmn:messageEventDefinition />
|
|
8291
9559
|
<bpmn:incoming>{incomingEdge}</bpmn:incoming>
|
|
8292
9560
|
<bpmn:outgoing>{outgoingEdge}</bpmn:outgoing>
|
|
8293
|
-
</bpmn:
|
|
8294
|
-
inputNotes: "In isSplitInputsEvents array. Inputs are merged into a single ItemData JSON body at serialization time. Uses SEND_MESSAGE_EVENT_INPUT_SCHEMA as the inputSchema.",
|
|
8295
|
-
extensionTagNotes: "In isEvents array, uses uipath:event",
|
|
9561
|
+
</bpmn:ServiceTask>`,
|
|
8296
9562
|
inputFields: [
|
|
8297
9563
|
{
|
|
8298
|
-
name: "
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
required: true,
|
|
9564
|
+
name: "decisions",
|
|
9565
|
+
type: "json",
|
|
9566
|
+
required: false,
|
|
8302
9567
|
hidden: false,
|
|
8303
9568
|
isPrimaryKey: false,
|
|
8304
9569
|
binding: false,
|
|
8305
9570
|
defaultValue: null,
|
|
8306
9571
|
target: "body",
|
|
8307
|
-
|
|
9572
|
+
displayName: "Case manager decisions"
|
|
8308
9573
|
},
|
|
8309
9574
|
{
|
|
8310
|
-
name: "
|
|
8311
|
-
displayName: "Item information",
|
|
9575
|
+
name: "sequentialTasksToResetByStageName",
|
|
8312
9576
|
type: "json",
|
|
8313
9577
|
required: false,
|
|
8314
9578
|
hidden: false,
|
|
@@ -8316,21 +9580,24 @@ var bpmn_spec_default = {
|
|
|
8316
9580
|
binding: false,
|
|
8317
9581
|
defaultValue: null,
|
|
8318
9582
|
target: "body",
|
|
8319
|
-
|
|
9583
|
+
displayName: "Sequential task names to reset, keyed by stage name"
|
|
8320
9584
|
},
|
|
8321
9585
|
{
|
|
8322
|
-
name: "
|
|
8323
|
-
|
|
8324
|
-
type: "duration",
|
|
9586
|
+
name: "lastPrimaryStageExitedGlobalKey",
|
|
9587
|
+
type: "string",
|
|
8325
9588
|
required: false,
|
|
8326
9589
|
hidden: false,
|
|
8327
9590
|
isPrimaryKey: false,
|
|
8328
9591
|
binding: false,
|
|
8329
|
-
defaultValue:
|
|
9592
|
+
defaultValue: "CaseGlobalsLastPrimaryStageExited",
|
|
8330
9593
|
target: "body",
|
|
8331
|
-
|
|
9594
|
+
displayName: "Instance-globals key for the last primary stage exited"
|
|
8332
9595
|
}
|
|
8333
|
-
]
|
|
9596
|
+
],
|
|
9597
|
+
inputNotes: 'Generated by the case converter. decisions is emitted only when a case-manager decisions variable exists; omitting it makes the engine derive an empty plan - decisions is a JSON-typed token, so omit it by dropping its whole "decisions":{decisions} entry, not by leaving the token empty, and fill it with a JSON literal or a quoted string for an =js:... expression. lastPrimaryStageExitedGlobalKey takes the bare globals key, not an expression - the similarly named CaseCyclePrepare input takes the =instanceglobals read expression instead.',
|
|
9598
|
+
outputNotes: "The converter's epilogue re-reads case state after the commit: it always emits latestCaseState from =caseState, plus one cleared-selected-stage entry per waiting stage. The names and the count are diagram-specific, so no specific output name, type or source can be pinned here, but every entry still carries a nonblank name. generatedOutputs is what tells the validator to require at least one uipath:output and to check each one for a nonblank name and a var attribute, and nothing else about it.",
|
|
9599
|
+
inputName: "body",
|
|
9600
|
+
inputTarget: "body"
|
|
8334
9601
|
},
|
|
8335
9602
|
"Maestro.CaseRulesEvaluator": {
|
|
8336
9603
|
extensionType: "Maestro.CaseRulesEvaluator",
|
|
@@ -8895,7 +10162,7 @@ var bpmn_spec_default = {
|
|
|
8895
10162
|
extensionTagResolution: {
|
|
8896
10163
|
description: "How the frontend determines which XML extension tag to use",
|
|
8897
10164
|
rules: [
|
|
8898
|
-
"If serviceType is in isEvents array [Intsvc.WaitForEvent, Intsvc.EventTrigger, Maestro.ReceiveMessageEvent, Maestro.SendMessageEvent] => uipath:event",
|
|
10165
|
+
"If serviceType is in isEvents array [Intsvc.WaitForEvent, Intsvc.EventTrigger, Maestro.ReceiveMessageEvent, Maestro.SendMessageEvent, Queue.WaitForEvent] => uipath:event",
|
|
8899
10166
|
"If serviceType is BPMN.Variables on bpmn:StartEvent, bpmn:EndEvent, or bpmn:Task => uipath:mapping",
|
|
8900
10167
|
"If nodeType is bpmn:ScriptTask or bpmn:SubProcess => uipath:mapping",
|
|
8901
10168
|
"Otherwise => uipath:activity"
|
|
@@ -8905,7 +10172,8 @@ var bpmn_spec_default = {
|
|
|
8905
10172
|
"Intsvc.WaitForEvent",
|
|
8906
10173
|
"Intsvc.EventTrigger",
|
|
8907
10174
|
"Maestro.ReceiveMessageEvent",
|
|
8908
|
-
"Maestro.SendMessageEvent"
|
|
10175
|
+
"Maestro.SendMessageEvent",
|
|
10176
|
+
"Queue.WaitForEvent"
|
|
8909
10177
|
],
|
|
8910
10178
|
isExecutionArray: [
|
|
8911
10179
|
"Intsvc.ActivityExecution",
|
|
@@ -8925,6 +10193,23 @@ var bpmn_spec_default = {
|
|
|
8925
10193
|
// ../maestro-sdk/src/manifest/bpmn-spec.ts
|
|
8926
10194
|
var BPMN_SPEC = bpmn_spec_default;
|
|
8927
10195
|
var MERGED_INPUT_PATTERNS = new Set(["mergedBody", "splitInputsItemData", "scriptArgs"]);
|
|
10196
|
+
var STRUCTURAL_TEMPLATE_TOKENS = Object.freeze([
|
|
10197
|
+
"id",
|
|
10198
|
+
"name",
|
|
10199
|
+
"incomingEdge",
|
|
10200
|
+
"outgoingEdge",
|
|
10201
|
+
"varId",
|
|
10202
|
+
"errorVarId",
|
|
10203
|
+
"outputVarId",
|
|
10204
|
+
"hasItemVarId",
|
|
10205
|
+
"countVarId",
|
|
10206
|
+
"bindingId",
|
|
10207
|
+
"nameBindingId",
|
|
10208
|
+
"folderPathBindingId",
|
|
10209
|
+
"connectionBindingId",
|
|
10210
|
+
"folderBindingId",
|
|
10211
|
+
"fileRef"
|
|
10212
|
+
]);
|
|
8928
10213
|
var STATIC_UIPATH_EXTENSION_TAG_NAMES = [
|
|
8929
10214
|
"binding",
|
|
8930
10215
|
"bindings",
|
|
@@ -8972,6 +10257,12 @@ var CALL_ACTIVITY_TYPES = Object.entries(BPMN_SPEC.extensionTypes).filter(([, co
|
|
|
8972
10257
|
var CALL_ACTIVITY_PAYLOAD_TAGS = new Set(Object.values(BPMN_SPEC.extensionTypes).filter((contract) => contract.bpmnElement === "bpmn:CallActivity").map((contract) => contract.extensionTag).filter((tag) => typeof tag === "string"));
|
|
8973
10258
|
var FREE_TEXT_ELEMENTS = new Set(["documentation", "text"]);
|
|
8974
10259
|
var VARIABLE_DECLARATION_NAMES = new Set(["input", "inputoutput", "output"]);
|
|
10260
|
+
var COLLAPSED_MULTI_INSTANCE_OUTPUT_CONTRACTS = new Set([
|
|
10261
|
+
"Orchestrator.GetTransactionItem",
|
|
10262
|
+
"Orchestrator.GetQueueItems",
|
|
10263
|
+
"Orchestrator.DeleteQueueItems",
|
|
10264
|
+
"Queue.WaitForEvent"
|
|
10265
|
+
]);
|
|
8975
10266
|
// ../maestro-sdk/src/registry/storage.ts
|
|
8976
10267
|
var MAESTRO_REGISTRY_DIR = "maestro";
|
|
8977
10268
|
var REGISTRY_FILE = "registry.json";
|
|
@@ -8998,6 +10289,14 @@ async function loadRegistry() {
|
|
|
8998
10289
|
}
|
|
8999
10290
|
return parsed;
|
|
9000
10291
|
}
|
|
10292
|
+
// src/services/connector-request-buckets.ts
|
|
10293
|
+
var REQUEST_BUCKETS = [
|
|
10294
|
+
"bodyParameters",
|
|
10295
|
+
"queryParameters",
|
|
10296
|
+
"pathParameters",
|
|
10297
|
+
"eventParameters"
|
|
10298
|
+
];
|
|
10299
|
+
|
|
9001
10300
|
// src/services/inline-activity-service.ts
|
|
9002
10301
|
import { randomUUID } from "node:crypto";
|
|
9003
10302
|
var INLINE_ACTIVITY_TYPE_PREFIX = "uipath.connector.custom.";
|
|
@@ -9296,6 +10595,745 @@ function definitionConfigurationOf(definition) {
|
|
|
9296
10595
|
return;
|
|
9297
10596
|
}
|
|
9298
10597
|
|
|
9299
|
-
|
|
10598
|
+
// src/services/packaging-utils.ts
|
|
10599
|
+
function fileNodesToPackagingNodes(nodes) {
|
|
10600
|
+
return nodes.map((node) => ({
|
|
10601
|
+
id: node.id,
|
|
10602
|
+
type: node.type,
|
|
10603
|
+
typeVersion: node.typeVersion ?? "1.0",
|
|
10604
|
+
display: node.display,
|
|
10605
|
+
inputs: node.inputs,
|
|
10606
|
+
outputs: node.outputs,
|
|
10607
|
+
...node.model ? { model: node.model } : {}
|
|
10608
|
+
}));
|
|
10609
|
+
}
|
|
10610
|
+
function flowToPackagingNodes(workflow) {
|
|
10611
|
+
return fileNodesToPackagingNodes(bindingNodesOf(workflow));
|
|
10612
|
+
}
|
|
10613
|
+
function isRecord(value) {
|
|
10614
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10615
|
+
}
|
|
10616
|
+
function toResourceList(value) {
|
|
10617
|
+
if (!Array.isArray(value))
|
|
10618
|
+
return;
|
|
10619
|
+
const resources = value.filter(isRecord);
|
|
10620
|
+
return resources.length === value.length ? resources : undefined;
|
|
10621
|
+
}
|
|
10622
|
+
function normalizePackagingBindingsJson(value) {
|
|
10623
|
+
if (!isRecord(value))
|
|
10624
|
+
return;
|
|
10625
|
+
const resources = toResourceList(value.resources);
|
|
10626
|
+
if (!resources)
|
|
10627
|
+
return;
|
|
10628
|
+
return {
|
|
10629
|
+
...value,
|
|
10630
|
+
version: typeof value.version === "string" ? value.version : "2.0",
|
|
10631
|
+
resources
|
|
10632
|
+
};
|
|
10633
|
+
}
|
|
10634
|
+
function emptyPackagingBindingsJson() {
|
|
10635
|
+
return { version: "2.0", resources: [] };
|
|
10636
|
+
}
|
|
10637
|
+
function mergePackagingBindingsJson(bindingsJsons) {
|
|
10638
|
+
const first = bindingsJsons.find((bindingsJson) => bindingsJson !== undefined);
|
|
10639
|
+
return {
|
|
10640
|
+
...first ?? emptyPackagingBindingsJson(),
|
|
10641
|
+
resources: mergeBindingResources(bindingsJsons.flatMap((bindingsJson) => bindingsJson?.resources ?? []))
|
|
10642
|
+
};
|
|
10643
|
+
}
|
|
10644
|
+
var inlineAgentPackagerLogger = {
|
|
10645
|
+
debug: (message) => logger.debug(message),
|
|
10646
|
+
info: (message) => logger.info(message),
|
|
10647
|
+
warn: (message) => logger.warn(message),
|
|
10648
|
+
error: (message) => logger.error(message),
|
|
10649
|
+
progress: (message) => logger.info(message),
|
|
10650
|
+
log: (message, level) => {
|
|
10651
|
+
if (level === "Error" /* Error */)
|
|
10652
|
+
logger.error(message);
|
|
10653
|
+
else if (level === "Warning" /* Warn */)
|
|
10654
|
+
logger.warn(message);
|
|
10655
|
+
else if (level === "Debug" /* Debug */)
|
|
10656
|
+
logger.debug(message);
|
|
10657
|
+
else
|
|
10658
|
+
logger.info(message);
|
|
10659
|
+
},
|
|
10660
|
+
logMessage: (message) => inlineAgentPackagerLogger.log(message.message, message.logLevel)
|
|
10661
|
+
};
|
|
10662
|
+
async function createInlineAgentContract(fs, agentDir) {
|
|
10663
|
+
const outputPath = fs.path.join(fs.env.tmpdir(), `.inline-agent-contract-${crypto.randomUUID()}`);
|
|
10664
|
+
await fs.mkdir(outputPath);
|
|
10665
|
+
try {
|
|
10666
|
+
const built = await buildInlineAgentContract({
|
|
10667
|
+
fileSystem: fs,
|
|
10668
|
+
logger: inlineAgentPackagerLogger,
|
|
10669
|
+
projectPath: agentDir,
|
|
10670
|
+
outputPath
|
|
10671
|
+
});
|
|
10672
|
+
const bindingsJson = normalizePackagingBindingsJson(built.bindingsJson);
|
|
10673
|
+
if (!bindingsJson) {
|
|
10674
|
+
throw new Error("Agent packager returned an invalid binding contract");
|
|
10675
|
+
}
|
|
10676
|
+
return { agentJson: built.agentJson, bindingsJson };
|
|
10677
|
+
} finally {
|
|
10678
|
+
const [cleanupError] = await catchError(fs.rm(outputPath, { recursive: true }));
|
|
10679
|
+
if (cleanupError) {
|
|
10680
|
+
logger.debug(`Could not remove inline-agent contract directory ${outputPath}: ${cleanupError.message}`);
|
|
10681
|
+
}
|
|
10682
|
+
}
|
|
10683
|
+
}
|
|
10684
|
+
async function inlineAgentExists(fs, projectDir, source) {
|
|
10685
|
+
const agentJsonPath = fs.path.join(projectDir, source, "agent.json");
|
|
10686
|
+
return fs.exists(agentJsonPath);
|
|
10687
|
+
}
|
|
10688
|
+
async function packageInlineAgents(fs, projectDir, nodes) {
|
|
10689
|
+
const result = [];
|
|
10690
|
+
for (const node of nodes) {
|
|
10691
|
+
if (!isInlineAgentNodeType(node.type))
|
|
10692
|
+
continue;
|
|
10693
|
+
const source = readInlineAgentSource(node);
|
|
10694
|
+
if (!source)
|
|
10695
|
+
continue;
|
|
10696
|
+
if (/[/\\.]/.test(source))
|
|
10697
|
+
continue;
|
|
10698
|
+
if (!await inlineAgentExists(fs, projectDir, source))
|
|
10699
|
+
continue;
|
|
10700
|
+
const contract = await createInlineAgentContract(fs, fs.path.join(projectDir, source));
|
|
10701
|
+
const inputSchema = contract.agentJson.inputSchema ?? {
|
|
10702
|
+
type: "object",
|
|
10703
|
+
properties: {}
|
|
10704
|
+
};
|
|
10705
|
+
const outputSchema = contract.agentJson.outputSchema ?? {
|
|
10706
|
+
type: "object",
|
|
10707
|
+
properties: {}
|
|
10708
|
+
};
|
|
10709
|
+
result.push({
|
|
10710
|
+
source,
|
|
10711
|
+
entryPoint: {
|
|
10712
|
+
filePath: `content/${source}/agent.json`,
|
|
10713
|
+
uniqueId: contract.agentJson.projectId ?? source,
|
|
10714
|
+
type: EntryPointType.Agent,
|
|
10715
|
+
input: inputSchema,
|
|
10716
|
+
output: outputSchema,
|
|
10717
|
+
displayName: contract.agentJson.name ?? "Agent"
|
|
10718
|
+
},
|
|
10719
|
+
agentJson: contract.agentJson,
|
|
10720
|
+
bindingsJson: contract.bindingsJson
|
|
10721
|
+
});
|
|
10722
|
+
logger.info(`Packaged inline agent "${source}" for entry-points`);
|
|
10723
|
+
}
|
|
10724
|
+
return result;
|
|
10725
|
+
}
|
|
10726
|
+
async function stageInlineAgentPackageFiles(fs, sourceProjectPath, stagingProjectDir, inlineAgents, formatLogMessage) {
|
|
10727
|
+
for (const agent of inlineAgents) {
|
|
10728
|
+
const srcDir = fs.path.join(sourceProjectPath, agent.source);
|
|
10729
|
+
const destDir = fs.path.join(stagingProjectDir, agent.source);
|
|
10730
|
+
if (fs.path.resolve(srcDir) !== fs.path.resolve(destDir) && await fs.exists(srcDir)) {
|
|
10731
|
+
await fs.copyDirectory(srcDir, destDir);
|
|
10732
|
+
}
|
|
10733
|
+
const agentBuilderDir = fs.path.join(destDir, ".agent-builder");
|
|
10734
|
+
await ensureDirectory(fs, agentBuilderDir);
|
|
10735
|
+
await fs.writeFile(fs.path.join(agentBuilderDir, "agent.json"), JSON.stringify({
|
|
10736
|
+
...agent.agentJson,
|
|
10737
|
+
resources: agent.agentJson.resources ?? [],
|
|
10738
|
+
features: agent.agentJson.features ?? []
|
|
10739
|
+
}, null, 2));
|
|
10740
|
+
await fs.writeFile(fs.path.join(agentBuilderDir, "bindings.json"), `${JSON.stringify(agent.bindingsJson ?? emptyPackagingBindingsJson(), null, 2)}
|
|
10741
|
+
`);
|
|
10742
|
+
logger.info(formatLogMessage(agent.source));
|
|
10743
|
+
}
|
|
10744
|
+
}
|
|
10745
|
+
function buildInlineAgentDescriptors(nodes) {
|
|
10746
|
+
const out = [];
|
|
10747
|
+
for (const node of nodes) {
|
|
10748
|
+
if (!isInlineAgentNodeType(node.type))
|
|
10749
|
+
continue;
|
|
10750
|
+
const source = readInlineAgentSource(node);
|
|
10751
|
+
if (!source)
|
|
10752
|
+
continue;
|
|
10753
|
+
const label = node.display?.label ?? "Agent";
|
|
10754
|
+
out.push({
|
|
10755
|
+
name: label,
|
|
10756
|
+
agentProjectId: source,
|
|
10757
|
+
isConversational: isConversationalOrVoiceAgentNodeType(node.type),
|
|
10758
|
+
entryPointPath: `${source}/agent.json`
|
|
10759
|
+
});
|
|
10760
|
+
}
|
|
10761
|
+
return out;
|
|
10762
|
+
}
|
|
10763
|
+
async function writePackagingArtifacts(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions = [], options = {}) {
|
|
10764
|
+
const { entryPoints } = await writePackagingArtifactsDetailed(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions, options);
|
|
10765
|
+
return entryPoints;
|
|
10766
|
+
}
|
|
10767
|
+
async function writePackagingArtifactsDetailed(fs, projectDir, projectId, packagingNodes, bindings, variables, bpmnFileName, startEventId, flowFileName, definitions = [], options = {}) {
|
|
10768
|
+
const startNodes = options.entryPointNodes ?? packagingNodes;
|
|
10769
|
+
const flowEntryPoints = getEntryPoints(bpmnFileName, startNodes, variables, definitions, ProjectType.Flow);
|
|
10770
|
+
const entryPoints = [
|
|
10771
|
+
...flowEntryPoints,
|
|
10772
|
+
...options.additionalEntryPoints ?? []
|
|
10773
|
+
];
|
|
10774
|
+
await fs.writeFile(fs.path.join(projectDir, "entry-points.json"), `${JSON.stringify(generateEntryPointsJson(entryPoints), null, 2)}
|
|
10775
|
+
`);
|
|
10776
|
+
const bindingResources = getBindingResources(packagingNodes, bindings, definitions);
|
|
10777
|
+
const bindingsJson = normalizePackagingBindingsJson(generateBindingsJson(bindingResources)) ?? emptyPackagingBindingsJson();
|
|
10778
|
+
const stagedBindingsJson = mergePackagingBindingsJson([
|
|
10779
|
+
bindingsJson,
|
|
10780
|
+
...options.additionalBindingsJsons ?? []
|
|
10781
|
+
]);
|
|
10782
|
+
await fs.writeFile(fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(stagedBindingsJson, null, 2)}
|
|
10783
|
+
`);
|
|
10784
|
+
const mainEntryPoint = `/${bpmnFileName}#${defaultEntryPointNodeId(startNodes) ?? startEventId}`;
|
|
10785
|
+
const operateJson = withRuntimeProfile(generateOperateJson(projectId, mainEntryPoint, operateRuntimeOptions(startNodes)), options.profile ?? "Standard" /* Standard */);
|
|
10786
|
+
await fs.writeFile(fs.path.join(projectDir, "operate.json"), `${JSON.stringify(operateJson, null, 2)}
|
|
10787
|
+
`);
|
|
10788
|
+
const packageDescriptorJson = options.packageDescriptorJson ?? {
|
|
10789
|
+
$schema: "https://cloud.uipath.com/draft/2024-12/package-descriptor",
|
|
10790
|
+
files: {
|
|
10791
|
+
"operate.json": "operate.json",
|
|
10792
|
+
"entry-points.json": "entry-points.json",
|
|
10793
|
+
"bindings.json": "bindings_v2.json",
|
|
10794
|
+
[bpmnFileName]: bpmnFileName,
|
|
10795
|
+
...flowFileName ? { [flowFileName]: flowFileName } : {}
|
|
10796
|
+
}
|
|
10797
|
+
};
|
|
10798
|
+
await fs.writeFile(fs.path.join(projectDir, "package-descriptor.json"), `${JSON.stringify(packageDescriptorJson, null, 2)}
|
|
10799
|
+
`);
|
|
10800
|
+
return { entryPoints, bindingsJson: stagedBindingsJson };
|
|
10801
|
+
}
|
|
10802
|
+
function backfillNodeModelsFromDefinitions(nodes, definitions) {
|
|
10803
|
+
if (definitions.length === 0)
|
|
10804
|
+
return nodes;
|
|
10805
|
+
const definitionByType = new Map;
|
|
10806
|
+
for (const def of definitions) {
|
|
10807
|
+
if (def?.nodeType)
|
|
10808
|
+
definitionByType.set(def.nodeType, def);
|
|
10809
|
+
}
|
|
10810
|
+
return nodes.map((n) => {
|
|
10811
|
+
if (n.model)
|
|
10812
|
+
return n;
|
|
10813
|
+
const def = definitionByType.get(n.type);
|
|
10814
|
+
if (!def?.model)
|
|
10815
|
+
return n;
|
|
10816
|
+
return { ...n, model: def.model };
|
|
10817
|
+
});
|
|
10818
|
+
}
|
|
10819
|
+
async function regenerateBindingsFile(fs, flowFilePath) {
|
|
10820
|
+
const absolutePath = fs.path.resolve(flowFilePath);
|
|
10821
|
+
const projectDir = fs.path.dirname(absolutePath);
|
|
10822
|
+
const [readErr, read] = await catchError(readFlowWorkflow(absolutePath, fs));
|
|
10823
|
+
if (readErr) {
|
|
10824
|
+
throw new Error(`Failed to read .flow file at ${absolutePath}: ${readErr.message}`);
|
|
10825
|
+
}
|
|
10826
|
+
const flowData = read.workflow;
|
|
10827
|
+
const packagingNodes = backfillNodeModelsFromDefinitions(flowToPackagingNodes(flowData), flowData.definitions ?? []);
|
|
10828
|
+
const bindingResources = getBindingResources(packagingNodes, flowData.bindings ?? [], flowData.definitions ?? []);
|
|
10829
|
+
const flowBindingsJson = normalizePackagingBindingsJson(generateBindingsJson(bindingResources)) ?? emptyPackagingBindingsJson();
|
|
10830
|
+
const [agentErr, inlineAgents] = await catchError(packageInlineAgents(fs, projectDir, flowData.nodes ?? []));
|
|
10831
|
+
if (agentErr) {
|
|
10832
|
+
logger.warn(`Wrote bindings_v2.json without inline agent tool bindings: ${agentErr.message}`);
|
|
10833
|
+
}
|
|
10834
|
+
await fs.writeFile(fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(mergePackagingBindingsJson([
|
|
10835
|
+
flowBindingsJson,
|
|
10836
|
+
...(inlineAgents ?? []).map((agent) => agent.bindingsJson)
|
|
10837
|
+
]), null, 2)}
|
|
10838
|
+
`);
|
|
10839
|
+
}
|
|
10840
|
+
// src/services/node-service.ts
|
|
10841
|
+
class NodeTypeNotFoundError extends Error {
|
|
10842
|
+
code = "NodeTypeNotFound";
|
|
10843
|
+
instructions;
|
|
10844
|
+
constructor(message, instructions) {
|
|
10845
|
+
super(message);
|
|
10846
|
+
this.name = "NodeTypeNotFoundError";
|
|
10847
|
+
this.instructions = instructions;
|
|
10848
|
+
}
|
|
10849
|
+
}
|
|
10850
|
+
|
|
10851
|
+
class NodeTypeNotEnabledError extends Error {
|
|
10852
|
+
code = "NodeTypeNotEnabled";
|
|
10853
|
+
instructions;
|
|
10854
|
+
constructor(message, instructions) {
|
|
10855
|
+
super(message);
|
|
10856
|
+
this.name = "NodeTypeNotEnabledError";
|
|
10857
|
+
this.instructions = instructions;
|
|
10858
|
+
}
|
|
10859
|
+
}
|
|
10860
|
+
|
|
10861
|
+
class SourceRequiredError extends Error {
|
|
10862
|
+
code = "SourceRequired";
|
|
10863
|
+
instructions;
|
|
10864
|
+
constructor(message, instructions) {
|
|
10865
|
+
super(message);
|
|
10866
|
+
this.name = "SourceRequiredError";
|
|
10867
|
+
this.instructions = instructions;
|
|
10868
|
+
}
|
|
10869
|
+
}
|
|
10870
|
+
var listNodesInFlow = async (filePath) => {
|
|
10871
|
+
const { workflow } = await readFlowWorkflow(filePath);
|
|
10872
|
+
const nodes = workflow.nodes.map((n) => ({
|
|
10873
|
+
id: n.id,
|
|
10874
|
+
type: n.type,
|
|
10875
|
+
label: n.display.label ?? "",
|
|
10876
|
+
position: n.ui.position
|
|
10877
|
+
}));
|
|
10878
|
+
return { nodes, count: nodes.length };
|
|
10879
|
+
};
|
|
10880
|
+
var PROCESS_NODE_PREFIXES = [
|
|
10881
|
+
"uipath.core.rpa-workflow.",
|
|
10882
|
+
"uipath.agent.resource.tool.process.",
|
|
10883
|
+
"uipath.core.agent.",
|
|
10884
|
+
"uipath.core.api-workflow."
|
|
10885
|
+
];
|
|
10886
|
+
function isProcessNode(manifest) {
|
|
10887
|
+
return PROCESS_NODE_PREFIXES.some((prefix) => manifest.nodeType?.startsWith(prefix));
|
|
10888
|
+
}
|
|
10889
|
+
function isEntityNode(manifest) {
|
|
10890
|
+
return isEntityNodeType(manifest.nodeType);
|
|
10891
|
+
}
|
|
10892
|
+
function createEntityBindings(node) {
|
|
10893
|
+
const entityConfig = node.inputs?.entityConfig;
|
|
10894
|
+
const entityName = entityConfig?.entityName;
|
|
10895
|
+
if (typeof entityName !== "string" || entityName === "")
|
|
10896
|
+
return [];
|
|
10897
|
+
const scopeKey = entityScopeKey(entityConfig);
|
|
10898
|
+
if (!scopeKey)
|
|
10899
|
+
return [];
|
|
10900
|
+
const bindings = [
|
|
10901
|
+
createBinding({
|
|
10902
|
+
name: entityName,
|
|
10903
|
+
value: entityName,
|
|
10904
|
+
resource: "Entity",
|
|
10905
|
+
resourceKey: scopeKey,
|
|
10906
|
+
propertyAttribute: "name"
|
|
10907
|
+
})
|
|
10908
|
+
];
|
|
10909
|
+
const folderKey = entityConfig?._folderKey;
|
|
10910
|
+
if (typeof folderKey === "string" && folderKey !== "") {
|
|
10911
|
+
bindings.push(createBinding({
|
|
10912
|
+
name: `${entityName}Folder`,
|
|
10913
|
+
value: folderKey,
|
|
10914
|
+
resource: "Entity",
|
|
10915
|
+
resourceKey: scopeKey,
|
|
10916
|
+
propertyAttribute: "folderKey"
|
|
10917
|
+
}));
|
|
10918
|
+
}
|
|
10919
|
+
return bindings;
|
|
10920
|
+
}
|
|
10921
|
+
async function resolveEntityIdentity(filePath, node) {
|
|
10922
|
+
const entityConfig = node.inputs?.entityConfig;
|
|
10923
|
+
const entityName = entityConfig?.entityName;
|
|
10924
|
+
if (entityConfig == null || typeof entityName !== "string" || entityName === "") {
|
|
10925
|
+
return;
|
|
10926
|
+
}
|
|
10927
|
+
const entity = await resolveInlineEntity(getFileSystem(), filePath, entityName);
|
|
10928
|
+
if (entity === undefined) {
|
|
10929
|
+
return;
|
|
10930
|
+
}
|
|
10931
|
+
const current2 = entityScopeKey(entityConfig);
|
|
10932
|
+
if (current2 !== "" && current2 !== entity.resourceKey) {
|
|
10933
|
+
return;
|
|
10934
|
+
}
|
|
10935
|
+
entityConfig.entityName = entity.name;
|
|
10936
|
+
if (current2 === "") {
|
|
10937
|
+
entityConfig._resourceKey = entity.resourceKey;
|
|
10938
|
+
entityConfig._folderKey = entity.folderId;
|
|
10939
|
+
}
|
|
10940
|
+
}
|
|
10941
|
+
function resolveProcessTarget(node, definitions) {
|
|
10942
|
+
if (!isProcessNode({ nodeType: node.type }))
|
|
10943
|
+
return;
|
|
10944
|
+
let subType = "Process";
|
|
10945
|
+
if (definitions) {
|
|
10946
|
+
const def = findMatchingDefinition(node.type, node.typeVersion, definitions);
|
|
10947
|
+
const model = def?.model;
|
|
10948
|
+
const defBindings = model?.bindings;
|
|
10949
|
+
if (defBindings?.resourceSubType)
|
|
10950
|
+
subType = defBindings.resourceSubType;
|
|
10951
|
+
if (defBindings?.resourceKey) {
|
|
10952
|
+
return { key: defBindings.resourceKey, subType };
|
|
10953
|
+
}
|
|
10954
|
+
}
|
|
10955
|
+
return { key: extractProcessGuid(node.type), subType };
|
|
10956
|
+
}
|
|
10957
|
+
function resolveProcessTargetKey(node, definitions) {
|
|
10958
|
+
return resolveProcessTarget(node, definitions)?.key;
|
|
10959
|
+
}
|
|
10960
|
+
function resolveProcessBindingsInContext(node, nameBinding, folderBinding) {
|
|
10961
|
+
const model = node.model;
|
|
10962
|
+
if (!model?.context)
|
|
10963
|
+
return;
|
|
10964
|
+
for (const entry of model.context) {
|
|
10965
|
+
if (entry.name === "name" && typeof entry.value === "string") {
|
|
10966
|
+
entry.default = nameBinding.default;
|
|
10967
|
+
entry.value = `=bindings.${nameBinding.id}`;
|
|
10968
|
+
} else if (entry.name === "folderPath" && typeof entry.value === "string") {
|
|
10969
|
+
entry.default = folderBinding.default;
|
|
10970
|
+
entry.value = `=bindings.${folderBinding.id}`;
|
|
10971
|
+
}
|
|
10972
|
+
}
|
|
10973
|
+
}
|
|
10974
|
+
var UNRESOLVED_BINDING_PATTERN = /^<bindings\.\w+>$/;
|
|
10975
|
+
function ensureProcessBindings(workflow) {
|
|
10976
|
+
const nodes = workflow.nodes;
|
|
10977
|
+
const definitions = workflow.definitions ?? [];
|
|
10978
|
+
let bindingsCreated = 0;
|
|
10979
|
+
for (const node of nodes) {
|
|
10980
|
+
if (!isProcessNode({ nodeType: node.type }))
|
|
10981
|
+
continue;
|
|
10982
|
+
const nodeModel = node.model;
|
|
10983
|
+
const defModel = definitions.find((d) => d.nodeType === node.type)?.model;
|
|
10984
|
+
const hasUnresolved = [nodeModel, defModel].some((m) => m?.context?.some((entry) => typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)));
|
|
10985
|
+
if (!hasUnresolved)
|
|
10986
|
+
continue;
|
|
10987
|
+
const definition = definitions.find((d) => d.nodeType === node.type);
|
|
10988
|
+
if (!definition)
|
|
10989
|
+
continue;
|
|
10990
|
+
const [err, bindings] = catchError(() => createProcessBindings(definition));
|
|
10991
|
+
if (err) {
|
|
10992
|
+
logger.warn(`Skipping binding resolution for node "${node.id}": ${err.message}`);
|
|
10993
|
+
continue;
|
|
10994
|
+
}
|
|
10995
|
+
const { nameBinding, folderBinding } = bindings;
|
|
10996
|
+
const beforeCount = workflow.bindings?.length ?? 0;
|
|
10997
|
+
addBinding(workflow, nameBinding);
|
|
10998
|
+
addBinding(workflow, folderBinding);
|
|
10999
|
+
const storedBindings = workflow.bindings;
|
|
11000
|
+
const storedName = storedBindings.find((b) => b.resourceKey === nameBinding.resourceKey && b.propertyAttribute === nameBinding.propertyAttribute) ?? nameBinding;
|
|
11001
|
+
const storedFolder = storedBindings.find((b) => b.resourceKey === folderBinding.resourceKey && b.propertyAttribute === folderBinding.propertyAttribute) ?? folderBinding;
|
|
11002
|
+
resolveProcessBindingsInContext(node, storedName, storedFolder);
|
|
11003
|
+
if (defModel?.context) {
|
|
11004
|
+
for (const entry of defModel.context) {
|
|
11005
|
+
if (entry.name === "name" && typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)) {
|
|
11006
|
+
entry.default = storedName.default;
|
|
11007
|
+
entry.value = `=bindings.${storedName.id}`;
|
|
11008
|
+
} else if (entry.name === "folderPath" && typeof entry.value === "string" && UNRESOLVED_BINDING_PATTERN.test(entry.value)) {
|
|
11009
|
+
entry.default = storedFolder.default;
|
|
11010
|
+
entry.value = `=bindings.${storedFolder.id}`;
|
|
11011
|
+
}
|
|
11012
|
+
}
|
|
11013
|
+
}
|
|
11014
|
+
const added = (workflow.bindings?.length ?? 0) - beforeCount;
|
|
11015
|
+
bindingsCreated += added;
|
|
11016
|
+
logger.info(`Resolved process bindings for node "${node.id}" (${node.type})`);
|
|
11017
|
+
}
|
|
11018
|
+
if (bindingsCreated > 0) {
|
|
11019
|
+
logger.info(`ensureProcessBindings: created ${bindingsCreated} binding(s) for directly-authored nodes`);
|
|
11020
|
+
}
|
|
11021
|
+
return bindingsCreated;
|
|
11022
|
+
}
|
|
11023
|
+
var BINDING_REF_PATTERN = /^=bindings\.(.+)$/;
|
|
11024
|
+
function collectNodeBindingRefs(node) {
|
|
11025
|
+
const refs = new Set;
|
|
11026
|
+
const addRef = (value) => {
|
|
11027
|
+
if (typeof value !== "string")
|
|
11028
|
+
return;
|
|
11029
|
+
const match = value.match(BINDING_REF_PATTERN);
|
|
11030
|
+
if (match)
|
|
11031
|
+
refs.add(match[1]);
|
|
11032
|
+
};
|
|
11033
|
+
if (node.inputs) {
|
|
11034
|
+
const inputs = node.inputs;
|
|
11035
|
+
for (const value of Object.values(inputs))
|
|
11036
|
+
addRef(value);
|
|
11037
|
+
const detail = inputs.detail;
|
|
11038
|
+
for (const bucket of REQUEST_BUCKETS) {
|
|
11039
|
+
const values = detail?.[bucket];
|
|
11040
|
+
if (values !== null && typeof values === "object") {
|
|
11041
|
+
for (const value of Object.values(values))
|
|
11042
|
+
addRef(value);
|
|
11043
|
+
}
|
|
11044
|
+
}
|
|
11045
|
+
}
|
|
11046
|
+
return refs;
|
|
11047
|
+
}
|
|
11048
|
+
function collectNodeBindingResourceKeys(node, bindings, definitions) {
|
|
11049
|
+
const keys = new Set;
|
|
11050
|
+
const processKey = resolveProcessTargetKey(node, definitions);
|
|
11051
|
+
if (processKey) {
|
|
11052
|
+
keys.add(processKey);
|
|
11053
|
+
}
|
|
11054
|
+
const inputs = node.inputs;
|
|
11055
|
+
if (typeof inputs?.detail?.connectionResourceId === "string") {
|
|
11056
|
+
keys.add(inputs.detail.connectionResourceId);
|
|
11057
|
+
}
|
|
11058
|
+
const entityKey = entityScopeKey(inputs?.entityConfig);
|
|
11059
|
+
if (entityKey !== "") {
|
|
11060
|
+
keys.add(entityKey);
|
|
11061
|
+
}
|
|
11062
|
+
const refs = collectNodeBindingRefs(node);
|
|
11063
|
+
for (const binding of bindings) {
|
|
11064
|
+
if (refs.has(binding.id)) {
|
|
11065
|
+
keys.add(binding.resourceKey);
|
|
11066
|
+
}
|
|
11067
|
+
}
|
|
11068
|
+
return keys;
|
|
11069
|
+
}
|
|
11070
|
+
var addNodeToFlow = async (filePath, nodeType, options = {}) => {
|
|
11071
|
+
let inline;
|
|
11072
|
+
if (options.inlineActivity) {
|
|
11073
|
+
inline = await prepareInlineActivity(nodeType, options.inlineActivity);
|
|
11074
|
+
} else if (nodeType.startsWith("uipath.connector.custom.")) {
|
|
11075
|
+
throw new InlineActivityError(`Node type "${nodeType}" is a non-catalog activity, which the registry does not carry.`, "Pass --metadata <Name>.json and --scripts <dir> (the files `uip is activities metadata generate` and `script update` produced) so the definition is built locally.");
|
|
11076
|
+
}
|
|
11077
|
+
let manifest = inline?.manifest ?? null;
|
|
11078
|
+
let registryErr;
|
|
11079
|
+
if (!manifest) {
|
|
11080
|
+
const [err, registryManifest] = await catchError(getNode(nodeType));
|
|
11081
|
+
manifest = registryManifest ?? null;
|
|
11082
|
+
registryErr = err;
|
|
11083
|
+
if (err) {
|
|
11084
|
+
logger.debug(`Registry node lookup failed for ${nodeType}: ${err.message}`);
|
|
11085
|
+
}
|
|
11086
|
+
}
|
|
11087
|
+
let localErr = null;
|
|
11088
|
+
if (!manifest) {
|
|
11089
|
+
const [err, localManifest] = await catchError(getNode(nodeType, { local: true }));
|
|
11090
|
+
manifest = localManifest ?? null;
|
|
11091
|
+
if (err) {
|
|
11092
|
+
localErr = err;
|
|
11093
|
+
logger.warn(`In-solution node lookup failed for ${nodeType}: ${err.message}`);
|
|
11094
|
+
}
|
|
11095
|
+
}
|
|
11096
|
+
if (!manifest && isTenantManifestInvalidError(registryErr)) {
|
|
11097
|
+
throw registryErr;
|
|
11098
|
+
}
|
|
11099
|
+
if (!manifest) {
|
|
11100
|
+
if (isKnownSdkNodeType(nodeType)) {
|
|
11101
|
+
throw new NodeTypeNotEnabledError(`Node type '${nodeType}' is not enabled for this tenant.`, "Ask an admin to enable the feature flag for this node type, " + "or run `uip maestro flow registry list` to see every " + "known type with its `AvailableOnTenant` flag.");
|
|
11102
|
+
}
|
|
11103
|
+
const [, withoutProcessResource] = await catchError(explainNodeTypeWithoutProcessResource(nodeType));
|
|
11104
|
+
if (withoutProcessResource) {
|
|
11105
|
+
throw new NodeTypeNotFoundError(`Node type not found: ${nodeType}. ${withoutProcessResource.message}`, withoutProcessResource.instructions);
|
|
11106
|
+
}
|
|
11107
|
+
const details = [
|
|
11108
|
+
registryErr && `Registry lookup failed: ${registryErr.message}`,
|
|
11109
|
+
localErr && `In-solution lookup failed: ${localErr.message}`
|
|
11110
|
+
].filter(Boolean).join(". ");
|
|
11111
|
+
const hint = details || "If this is an in-solution node, make sure you are running " + "from inside a solution directory (with a .uipx file in CWD, parent, or grandparent).";
|
|
11112
|
+
throw new NodeTypeNotFoundError(`Node type not found: ${nodeType}. ${hint}`, "Run `uip maestro flow registry search <keyword>` to find the " + "correct node type, or `uip maestro flow registry list` " + "to see every known type (including ones not enabled on this tenant).");
|
|
11113
|
+
}
|
|
11114
|
+
if (manifest.model?.source === true) {
|
|
11115
|
+
const fromFlag = typeof options.source === "string" && options.source.length > 0;
|
|
11116
|
+
const inputsSourceCandidate = options.inputs?.source;
|
|
11117
|
+
const fromInputs = typeof inputsSourceCandidate === "string" && inputsSourceCandidate.length > 0;
|
|
11118
|
+
if (!fromFlag && !fromInputs) {
|
|
11119
|
+
throw new SourceRequiredError(`Node type "${nodeType}" requires a source UUID at inputs.source. Pass --source <uuid>.`, "Use the agent's ProjectId (returned by " + '`uip agent init "<flow-dir>" --inline-in-flow`) for inline ' + "agent nodes, or the resource id declared in the parent " + "inline agent's `resources[]` for agent-tool resource nodes. " + '`--input \'{"source":"<uuid>"}\'` is also accepted.');
|
|
11120
|
+
}
|
|
11121
|
+
}
|
|
11122
|
+
const { workflow, refMap } = await readFlowWorkflow(filePath);
|
|
11123
|
+
if (inline) {
|
|
11124
|
+
const existing = workflow.definitions.find((d) => d.nodeType === manifest.nodeType && d.version === manifest.version);
|
|
11125
|
+
if (existing && definitionConfigurationOf(existing) !== definitionConfigurationOf(manifest)) {
|
|
11126
|
+
throw new InlineActivityError(`"${nodeType}" is already defined in this flow with different activity metadata.`, "Use a different activity slug for this node type, or remove the existing nodes of this type first so the definition is rebuilt from the new metadata.");
|
|
11127
|
+
}
|
|
11128
|
+
}
|
|
11129
|
+
const existingIds = new Set(workflow.nodes.map((n) => n.id));
|
|
11130
|
+
const existingDefCount = workflow.definitions.length;
|
|
11131
|
+
const { id, displayName } = generateNodeIdAndName(options.label ?? manifest.display.label, existingIds);
|
|
11132
|
+
const bindingsBefore = workflow.bindings?.length ?? 0;
|
|
11133
|
+
const node = addNode(workflow, manifest, id, options.position ?? { x: 0, y: 0 }, options.label ?? displayName);
|
|
11134
|
+
const schema = manifest.inputDefinition;
|
|
11135
|
+
if (manifest.inputDefaults === undefined && schema?.type === "object") {
|
|
11136
|
+
for (const schemaKey of Object.keys(schema)) {
|
|
11137
|
+
delete node.inputs[schemaKey];
|
|
11138
|
+
}
|
|
11139
|
+
}
|
|
11140
|
+
let bindingsCreated = 0;
|
|
11141
|
+
if (isProcessNode(manifest)) {
|
|
11142
|
+
const { nameBinding, folderBinding } = createProcessBindings(manifest);
|
|
11143
|
+
addBinding(workflow, nameBinding);
|
|
11144
|
+
addBinding(workflow, folderBinding);
|
|
11145
|
+
const storedBindings = workflow.bindings;
|
|
11146
|
+
const storedName = storedBindings.find((b) => b.resourceKey === nameBinding.resourceKey && b.propertyAttribute === nameBinding.propertyAttribute) ?? nameBinding;
|
|
11147
|
+
const storedFolder = storedBindings.find((b) => b.resourceKey === folderBinding.resourceKey && b.propertyAttribute === folderBinding.propertyAttribute) ?? folderBinding;
|
|
11148
|
+
if (folderBinding.default === "" && storedFolder.default === undefined) {
|
|
11149
|
+
storedFolder.default = "";
|
|
11150
|
+
}
|
|
11151
|
+
resolveProcessBindingsInContext(node, storedName, storedFolder);
|
|
11152
|
+
bindingsCreated = (workflow.bindings?.length ?? 0) - bindingsBefore;
|
|
11153
|
+
}
|
|
11154
|
+
if (options.inputs && Object.keys(options.inputs).length > 0) {
|
|
11155
|
+
node.inputs = { ...node.inputs ?? {}, ...options.inputs };
|
|
11156
|
+
}
|
|
11157
|
+
if (inline) {
|
|
11158
|
+
node.inputs = {
|
|
11159
|
+
...node.inputs ?? {},
|
|
11160
|
+
inlineActivityConfiguration: inline.configuration
|
|
11161
|
+
};
|
|
11162
|
+
}
|
|
11163
|
+
if (isEntityNode(manifest)) {
|
|
11164
|
+
await resolveEntityIdentity(filePath, node);
|
|
11165
|
+
for (const entityBinding of createEntityBindings(node)) {
|
|
11166
|
+
addBinding(workflow, entityBinding);
|
|
11167
|
+
}
|
|
11168
|
+
bindingsCreated = (workflow.bindings?.length ?? 0) - bindingsBefore;
|
|
11169
|
+
}
|
|
11170
|
+
const manifestModel = manifest.model;
|
|
11171
|
+
if (manifestModel?.source === true) {
|
|
11172
|
+
if (typeof options.source === "string" && options.source.length > 0) {
|
|
11173
|
+
const inputs = node.inputs ?? {};
|
|
11174
|
+
inputs.source = options.source;
|
|
11175
|
+
node.inputs = inputs;
|
|
11176
|
+
}
|
|
11177
|
+
if (node.model) {
|
|
11178
|
+
delete node.model;
|
|
11179
|
+
}
|
|
11180
|
+
}
|
|
11181
|
+
if (typeof options.parent === "string" && options.parent.length > 0) {
|
|
11182
|
+
const allNodes = workflow.nodes;
|
|
11183
|
+
if (!allNodes.some((n) => n.id === options.parent)) {
|
|
11184
|
+
throw new Error(`--parent value "${options.parent}" is not an existing node id in this flow. ` + "Run 'uip maestro flow nodes list <file>' to see valid ids.");
|
|
11185
|
+
}
|
|
11186
|
+
node.parentId = options.parent;
|
|
11187
|
+
}
|
|
11188
|
+
await writeFlowWorkflow(filePath, workflow, refMap);
|
|
11189
|
+
if (isProcessNode(manifest) || isEntityNode(manifest)) {
|
|
11190
|
+
const fs = getFileSystem();
|
|
11191
|
+
const [regenErr] = await catchError(regenerateBindingsFile(fs, filePath));
|
|
11192
|
+
if (regenErr) {
|
|
11193
|
+
logger.warn(`Failed to regenerate bindings_v2.json after adding ${manifest.nodeType}: ${regenErr.message}`);
|
|
11194
|
+
}
|
|
11195
|
+
}
|
|
11196
|
+
const definitionAdded = workflow.definitions.length > existingDefCount;
|
|
11197
|
+
const variableCount = workflow.variables?.nodes?.length ?? 0;
|
|
11198
|
+
const inlineActivity = inline ? {
|
|
11199
|
+
scriptRef: inline.configuration.scriptRef,
|
|
11200
|
+
scripts: Object.keys(inline.configuration.scripts)
|
|
11201
|
+
} : undefined;
|
|
11202
|
+
if (isConnectorNode(manifest)) {
|
|
11203
|
+
const connInfo = getConnectorInfo(manifest);
|
|
11204
|
+
return {
|
|
11205
|
+
node,
|
|
11206
|
+
definitionAdded,
|
|
11207
|
+
bindingsCreated,
|
|
11208
|
+
variableCount,
|
|
11209
|
+
connectorInfo: connInfo ?? undefined,
|
|
11210
|
+
...inlineActivity && { inlineActivity }
|
|
11211
|
+
};
|
|
11212
|
+
} else {
|
|
11213
|
+
return {
|
|
11214
|
+
node,
|
|
11215
|
+
definitionAdded,
|
|
11216
|
+
bindingsCreated,
|
|
11217
|
+
variableCount,
|
|
11218
|
+
...inlineActivity && { inlineActivity }
|
|
11219
|
+
};
|
|
11220
|
+
}
|
|
11221
|
+
};
|
|
11222
|
+
function removeConnectedEdges(workflow, nodeId) {
|
|
11223
|
+
const edges = workflow.edges ?? [];
|
|
11224
|
+
const before = edges.length;
|
|
11225
|
+
workflow.edges = edges.filter((e) => e.sourceNodeId !== nodeId && e.targetNodeId !== nodeId);
|
|
11226
|
+
return before - workflow.edges.length;
|
|
11227
|
+
}
|
|
11228
|
+
function subflowNodes(workflow) {
|
|
11229
|
+
return Object.values(workflow.subflows ?? {}).flatMap((entry) => entry?.nodes ?? []);
|
|
11230
|
+
}
|
|
11231
|
+
function removeOrphanedBindings(workflow, deletedNodeKeys, remainingNodes, bindings) {
|
|
11232
|
+
if (deletedNodeKeys.size === 0 || bindings.length === 0)
|
|
11233
|
+
return 0;
|
|
11234
|
+
const defs = workflow.definitions ?? [];
|
|
11235
|
+
const remainingKeys = new Set;
|
|
11236
|
+
for (const node of remainingNodes) {
|
|
11237
|
+
for (const key of collectNodeBindingResourceKeys(node, bindings, defs)) {
|
|
11238
|
+
remainingKeys.add(key);
|
|
11239
|
+
}
|
|
11240
|
+
}
|
|
11241
|
+
const before = bindings.length;
|
|
11242
|
+
workflow.bindings = bindings.filter((b) => !deletedNodeKeys.has(b.resourceKey) || remainingKeys.has(b.resourceKey));
|
|
11243
|
+
return before - workflow.bindings.length;
|
|
11244
|
+
}
|
|
11245
|
+
function connectorConnectionBindingName(node, definitions) {
|
|
11246
|
+
if (!node.type.startsWith("uipath.connector"))
|
|
11247
|
+
return "";
|
|
11248
|
+
const def = definitions.find((d) => d.nodeType === node.type);
|
|
11249
|
+
const context = def?.model?.context;
|
|
11250
|
+
const connectorKey = context?.find((c) => c.name === "connectorKey")?.value;
|
|
11251
|
+
return typeof connectorKey === "string" && connectorKey.length > 0 ? `${connectorKey} connection` : "";
|
|
11252
|
+
}
|
|
11253
|
+
function removeOrphanedConnectorStub(workflow, deletedNode, remainingNodes, definitions) {
|
|
11254
|
+
const stubName = connectorConnectionBindingName(deletedNode, definitions);
|
|
11255
|
+
if (!stubName)
|
|
11256
|
+
return 0;
|
|
11257
|
+
const stillOwned = remainingNodes.some((n) => connectorConnectionBindingName(n, definitions) === stubName);
|
|
11258
|
+
if (stillOwned)
|
|
11259
|
+
return 0;
|
|
11260
|
+
const bindings = workflow.bindings ?? [];
|
|
11261
|
+
if (bindings.length === 0)
|
|
11262
|
+
return 0;
|
|
11263
|
+
const before = bindings.length;
|
|
11264
|
+
workflow.bindings = bindings.filter((b) => !(b.resource?.toLowerCase() === "connection" && b.propertyAttribute === "ConnectionId" && !b.resourceKey && !b.default && b.name === stubName));
|
|
11265
|
+
return before - workflow.bindings.length;
|
|
11266
|
+
}
|
|
11267
|
+
function removeOrphanedDefinitions(workflow, remainingNodes) {
|
|
11268
|
+
const definitions = workflow.definitions ?? [];
|
|
11269
|
+
const usedKeys = new Set(remainingNodes.map((n) => `${n.type}:${n.typeVersion}`));
|
|
11270
|
+
const before = definitions.length;
|
|
11271
|
+
workflow.definitions = definitions.filter((d) => usedKeys.has(`${d.nodeType}:${d.version}`));
|
|
11272
|
+
return before - workflow.definitions.length;
|
|
11273
|
+
}
|
|
11274
|
+
function removeVariableUpdates(workflow, nodeId) {
|
|
11275
|
+
const variables = workflow.variables;
|
|
11276
|
+
if (!variables?.variableUpdates)
|
|
11277
|
+
return 0;
|
|
11278
|
+
const updates = variables.variableUpdates[nodeId];
|
|
11279
|
+
if (!updates)
|
|
11280
|
+
return 0;
|
|
11281
|
+
const count = updates.length;
|
|
11282
|
+
delete variables.variableUpdates[nodeId];
|
|
11283
|
+
return count;
|
|
11284
|
+
}
|
|
11285
|
+
function removeNodeVariables(workflow, nodeId) {
|
|
11286
|
+
const variables = workflow.variables;
|
|
11287
|
+
if (!variables?.nodes)
|
|
11288
|
+
return 0;
|
|
11289
|
+
const before = variables.nodes.length;
|
|
11290
|
+
variables.nodes = variables.nodes.filter((v) => v.binding.nodeId !== nodeId);
|
|
11291
|
+
return before - variables.nodes.length;
|
|
11292
|
+
}
|
|
11293
|
+
var deleteNodeFromFlow = async (filePath, nodeId) => {
|
|
11294
|
+
const { workflow, refMap } = await readFlowWorkflow(filePath);
|
|
11295
|
+
const nodes = workflow.nodes;
|
|
11296
|
+
const nodeIndex = nodes.findIndex((n) => n.id === nodeId);
|
|
11297
|
+
if (nodeIndex === -1) {
|
|
11298
|
+
const available = nodes.map((n) => n.id).join(", ") || "(none)";
|
|
11299
|
+
throw new Error(`Node not found: "${nodeId}". Available node IDs: ${available}`);
|
|
11300
|
+
}
|
|
11301
|
+
const targetNode = nodes[nodeIndex];
|
|
11302
|
+
const deletedWasProcessNode = isProcessNode({ nodeType: targetNode.type });
|
|
11303
|
+
const deletedNode = {
|
|
11304
|
+
id: targetNode.id,
|
|
11305
|
+
type: targetNode.type,
|
|
11306
|
+
label: targetNode.display.label ?? "",
|
|
11307
|
+
position: targetNode.ui.position
|
|
11308
|
+
};
|
|
11309
|
+
const bindings = workflow.bindings ?? [];
|
|
11310
|
+
const definitions = workflow.definitions ?? [];
|
|
11311
|
+
const deletedNodeResourceKeys = collectNodeBindingResourceKeys(targetNode, bindings, definitions);
|
|
11312
|
+
nodes.splice(nodeIndex, 1);
|
|
11313
|
+
const edgesRemoved = removeConnectedEdges(workflow, nodeId);
|
|
11314
|
+
const remainingNodes = [...nodes, ...subflowNodes(workflow)];
|
|
11315
|
+
const bindingsRemoved = removeOrphanedBindings(workflow, deletedNodeResourceKeys, remainingNodes, bindings) + removeOrphanedConnectorStub(workflow, targetNode, remainingNodes, definitions);
|
|
11316
|
+
const definitionsRemoved = removeOrphanedDefinitions(workflow, remainingNodes);
|
|
11317
|
+
const variablesRemoved = removeNodeVariables(workflow, nodeId);
|
|
11318
|
+
const variableUpdatesRemoved = removeVariableUpdates(workflow, nodeId);
|
|
11319
|
+
await writeFlowWorkflow(filePath, workflow, refMap);
|
|
11320
|
+
if (deletedWasProcessNode || bindingsRemoved > 0) {
|
|
11321
|
+
const fs = getFileSystem();
|
|
11322
|
+
const [regenErr] = await catchError(regenerateBindingsFile(fs, filePath));
|
|
11323
|
+
if (regenErr) {
|
|
11324
|
+
logger.warn(`Failed to regenerate bindings_v2.json after deleting ${targetNode.type}: ${regenErr.message}`);
|
|
11325
|
+
}
|
|
11326
|
+
}
|
|
11327
|
+
return {
|
|
11328
|
+
deletedNode,
|
|
11329
|
+
edgesRemoved,
|
|
11330
|
+
bindingsRemoved,
|
|
11331
|
+
definitionsRemoved,
|
|
11332
|
+
variablesRemoved,
|
|
11333
|
+
variableUpdatesRemoved
|
|
11334
|
+
};
|
|
11335
|
+
};
|
|
11336
|
+
|
|
11337
|
+
export { parse3 as parse, loadRegistry, REQUEST_BUCKETS, INLINE_ACTIVITY_TYPE_PREFIX, INLINE_ACTIVITY_SOURCE, InlineActivityError, collectScriptRefs, getInlineActivityConfiguration, fileNodesToPackagingNodes, flowToPackagingNodes, packageInlineAgents, stageInlineAgentPackageFiles, buildInlineAgentDescriptors, writePackagingArtifacts, writePackagingArtifactsDetailed, regenerateBindingsFile, NodeTypeNotFoundError, NodeTypeNotEnabledError, SourceRequiredError, listNodesInFlow, PROCESS_NODE_PREFIXES, isProcessNode, isEntityNode, createEntityBindings, resolveEntityIdentity, resolveProcessTarget, resolveProcessTargetKey, ensureProcessBindings, collectNodeBindingResourceKeys, addNodeToFlow, deleteNodeFromFlow };
|
|
9300
11338
|
|
|
9301
|
-
//# debugId=
|
|
11339
|
+
//# debugId=62F4959BDDC99F5B64756E2164756E21
|