@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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FlowToolFactory,
|
|
3
|
+
registerInlineEntityReader
|
|
4
|
+
} from "./packager-tool-445qgxdk.js";
|
|
5
|
+
import {
|
|
6
|
+
toolsFactoryRepository
|
|
7
|
+
} from "./packager-tool-pacrqxv2.js";
|
|
8
|
+
import {
|
|
9
|
+
__require
|
|
10
|
+
} from "./packager-tool-1yh8g550.js";
|
|
11
|
+
|
|
12
|
+
// src/packager-tool.ts
|
|
13
|
+
function registerPackagerFactories() {
|
|
14
|
+
toolsFactoryRepository.registerProjectToolFactory(new FlowToolFactory);
|
|
15
|
+
registerInlineEntityReader(async (fs, flowFilePath) => {
|
|
16
|
+
const { readSolutionInlineEntities } = await import("./index-d090f35d.js");
|
|
17
|
+
return readSolutionInlineEntities(fs, flowFilePath);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { registerPackagerFactories };
|
|
22
|
+
|
|
23
|
+
//# debugId=1434713535B021A964756E2164756E21
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isRecord
|
|
3
|
-
} from "./packager-tool-
|
|
3
|
+
} from "./packager-tool-xk78j7dz.js";
|
|
4
4
|
import {
|
|
5
5
|
collectAgentInputLeaves,
|
|
6
6
|
isInlineAgentNodeType
|
|
7
|
-
} from "./packager-tool-
|
|
8
|
-
import {
|
|
9
|
-
isStartEventNode
|
|
10
|
-
} from "./packager-tool-bhqx9kez.js";
|
|
7
|
+
} from "./packager-tool-445qgxdk.js";
|
|
11
8
|
import {
|
|
12
9
|
catchError
|
|
13
|
-
} from "./packager-tool-
|
|
10
|
+
} from "./packager-tool-t7ahhaer.js";
|
|
14
11
|
|
|
15
12
|
// src/services/flow-eval-node-target.ts
|
|
16
13
|
function findFlowNode(flowContent, nodeId) {
|
|
@@ -24,21 +21,6 @@ function findFlowNode(flowContent, nodeId) {
|
|
|
24
21
|
const node = [...topLevel, ...nested].find((candidate) => isRecord(candidate) && candidate.id === nodeId);
|
|
25
22
|
return { flowParsed: true, node };
|
|
26
23
|
}
|
|
27
|
-
function listTriggerNodeIds(flowContent) {
|
|
28
|
-
const [parseError, parsed] = catchError(() => JSON.parse(flowContent));
|
|
29
|
-
if (parseError || !isRecord(parsed) || !Array.isArray(parsed.nodes)) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
return parsed.nodes.filter((node) => isRecord(node) && typeof node.id === "string" && typeof node.type === "string" && isStartEventNode({
|
|
33
|
-
id: node.id,
|
|
34
|
-
type: node.type,
|
|
35
|
-
typeVersion: typeof node.typeVersion === "string" ? node.typeVersion : "1.0"
|
|
36
|
-
})).map((node) => node.id);
|
|
37
|
-
}
|
|
38
|
-
function formatTriggerIdsHint(flowContent) {
|
|
39
|
-
const triggerIds = flowContent === undefined ? [] : listTriggerNodeIds(flowContent);
|
|
40
|
-
return triggerIds.length > 0 ? ` Valid trigger node ids: ${triggerIds.join(", ")}.` : "";
|
|
41
|
-
}
|
|
42
24
|
function readAgentSourceId(node) {
|
|
43
25
|
const inputs = isRecord(node.inputs) ? node.inputs : undefined;
|
|
44
26
|
const source = inputs?.source;
|
|
@@ -83,7 +65,7 @@ class FlowAgentNodeSchemaReader {
|
|
|
83
65
|
this.pathResolver = pathResolver;
|
|
84
66
|
}
|
|
85
67
|
async read(projectPath, nodeId) {
|
|
86
|
-
const root = await this.pathResolver.
|
|
68
|
+
const root = await this.pathResolver.resolveProjectPath(projectPath);
|
|
87
69
|
const [flowError, flowFilePath] = await catchError(this.pathResolver.findFlowFile(root));
|
|
88
70
|
if (flowError || !flowFilePath) {
|
|
89
71
|
return NO_AGENT;
|
|
@@ -134,6 +116,6 @@ function readEvalSetScope(set) {
|
|
|
134
116
|
return "flow";
|
|
135
117
|
}
|
|
136
118
|
|
|
137
|
-
export { findFlowNode,
|
|
119
|
+
export { findFlowNode, readAgentSourceId, isNodeEvalTarget, isDocumentEvalNode, readNodeTargetId, FlowAgentNodeSchemaReader, readEvalSetScope };
|
|
138
120
|
|
|
139
|
-
//# debugId=
|
|
121
|
+
//# debugId=EEBFB069B393613D64756E2164756E21
|
|
@@ -8,6 +8,17 @@ function findNodeDefinition(definitions, node) {
|
|
|
8
8
|
return byType.length === 1 ? byType[0] : undefined;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
// src/services/flow-eval-utils.ts
|
|
12
|
+
function findMatchingDefinition(nodeType, typeVersion, definitions) {
|
|
13
|
+
const strict = findNodeDefinition(definitions, {
|
|
14
|
+
type: nodeType,
|
|
15
|
+
typeVersion
|
|
16
|
+
});
|
|
17
|
+
if (strict)
|
|
18
|
+
return strict;
|
|
19
|
+
return definitions.find((d) => d.nodeType === nodeType);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { findNodeDefinition, findMatchingDefinition };
|
|
12
23
|
|
|
13
|
-
//# debugId=
|
|
24
|
+
//# debugId=2B514DC63489618164756E2164756E21
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
catchError
|
|
3
|
-
} from "./packager-tool-qa9gftnj.js";
|
|
4
1
|
import {
|
|
5
2
|
getGlobalThis,
|
|
6
3
|
isBrowser
|
|
7
4
|
} from "./packager-tool-0gctz400.js";
|
|
5
|
+
import {
|
|
6
|
+
catchError
|
|
7
|
+
} from "./packager-tool-qa9gftnj.js";
|
|
8
8
|
import {
|
|
9
9
|
AUTH_FILENAME,
|
|
10
10
|
DEFAULT_BASE_URL,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./packager-tool-yc4kw997.js";
|
|
14
14
|
import {
|
|
15
15
|
getFileSystem
|
|
16
|
-
} from "./packager-tool-
|
|
16
|
+
} from "./packager-tool-myhbp761.js";
|
|
17
17
|
import {
|
|
18
18
|
__require
|
|
19
19
|
} from "./packager-tool-1yh8g550.js";
|
|
@@ -96,22 +96,12 @@ var resolveConfigAsync = async ({
|
|
|
96
96
|
baseUrl = DEFAULT_BASE_URL;
|
|
97
97
|
}
|
|
98
98
|
baseUrl = normalizeAndValidateBaseUrl(baseUrl);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
clientId = fileAuth.clientId;
|
|
102
|
-
}
|
|
103
|
-
if (!clientId) {
|
|
104
|
-
clientId = DEFAULT_CLIENT_ID;
|
|
105
|
-
}
|
|
106
|
-
let clientSecret = customClientSecret;
|
|
107
|
-
if (!clientSecret && fileAuth.clientSecret) {
|
|
108
|
-
clientSecret = fileAuth.clientSecret;
|
|
109
|
-
}
|
|
110
|
-
const isExternalAppAuth = clientId !== DEFAULT_CLIENT_ID && (Boolean(clientSecret) || Boolean(customClientAssertion));
|
|
99
|
+
const clientId = customClientId || DEFAULT_CLIENT_ID;
|
|
100
|
+
const isExternalAppAuth = clientId !== DEFAULT_CLIENT_ID && (Boolean(customClientSecret) || Boolean(customClientAssertion));
|
|
111
101
|
const scopes = resolveScopes(isExternalAppAuth, customScopes, fileAuth.scopes);
|
|
112
102
|
return {
|
|
113
103
|
clientId,
|
|
114
|
-
clientSecret,
|
|
104
|
+
clientSecret: customClientSecret,
|
|
115
105
|
scopes,
|
|
116
106
|
baseUrl,
|
|
117
107
|
authorizationEndpoint: `${baseUrl}/identity_/connect/authorize`,
|
|
@@ -719,6 +709,16 @@ var resolveIdentityType = (claims, authFlow, email) => {
|
|
|
719
709
|
}
|
|
720
710
|
return;
|
|
721
711
|
};
|
|
712
|
+
var resolveApplicationSubtype = (claims, authFlow) => {
|
|
713
|
+
switch (asString(claims?.sub_type)) {
|
|
714
|
+
case "service.external":
|
|
715
|
+
return "External";
|
|
716
|
+
case "service.internal":
|
|
717
|
+
return "Internal";
|
|
718
|
+
default:
|
|
719
|
+
return authFlow === "client_credentials" || authFlow === "federated_credentials" ? "External" : undefined;
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
722
|
var looksLikeEmail = (value) => value?.includes("@") ?? false;
|
|
723
723
|
var pickEmail = (claims) => {
|
|
724
724
|
for (const candidate of [claims?.email, claims?.preferred_username]) {
|
|
@@ -760,6 +760,12 @@ var resolveSessionIdentity = (accessToken, authFlow) => {
|
|
|
760
760
|
const clientId = asString(claims?.client_id);
|
|
761
761
|
if (clientId)
|
|
762
762
|
identity.clientId = clientId;
|
|
763
|
+
const subType = asString(claims?.sub_type);
|
|
764
|
+
if (subType)
|
|
765
|
+
identity.subType = subType;
|
|
766
|
+
const applicationSubtype = resolveApplicationSubtype(claims, authFlow);
|
|
767
|
+
if (applicationSubtype)
|
|
768
|
+
identity.applicationSubtype = applicationSubtype;
|
|
763
769
|
return identity;
|
|
764
770
|
};
|
|
765
771
|
var readTokenScopes = (accessToken) => accessToken ? pickScopes(decodeClaims(accessToken)) : undefined;
|
|
@@ -1055,6 +1061,40 @@ var tryRobotClientFallback = async (options = {}) => {
|
|
|
1055
1061
|
}
|
|
1056
1062
|
};
|
|
1057
1063
|
|
|
1064
|
+
// ../auth/src/tenantSelection.ts
|
|
1065
|
+
var LOGIN_STATUS_HINT = "Run 'uip login status' to see the organization the CLI is signed in to.";
|
|
1066
|
+
var organizationHint = (organizationId) => `The request used '${organizationId}' as the organization. ${LOGIN_STATUS_HINT}`;
|
|
1067
|
+
var IDENTIFIER_STATUSES = new Set([400, 403, 404]);
|
|
1068
|
+
var describeNonJsonResponse = (organizationId, response, parseError) => {
|
|
1069
|
+
if (response.redirected) {
|
|
1070
|
+
return `Could not find organization '${organizationId}': the request was ` + `redirected to a sign-in page instead of the organization's tenant ` + `list. ${LOGIN_STATUS_HINT}`;
|
|
1071
|
+
}
|
|
1072
|
+
const contentType = response.headers.get("content-type") ?? "unknown";
|
|
1073
|
+
return `The organization service returned a '${contentType}' response instead ` + `of JSON: ${parseError.message}. ${organizationHint(organizationId)}`;
|
|
1074
|
+
};
|
|
1075
|
+
var fetchTenantsAndOrganizations = async (baseUrl, accessToken, organizationId, signal) => {
|
|
1076
|
+
const url = `${baseUrl}/${organizationId}/portal_/api/filtering/leftnav/tenantsAndOrganizationInfo`;
|
|
1077
|
+
const response = await fetch(url, {
|
|
1078
|
+
headers: {
|
|
1079
|
+
Authorization: `Bearer ${accessToken}`
|
|
1080
|
+
},
|
|
1081
|
+
...signal ? { signal } : {}
|
|
1082
|
+
});
|
|
1083
|
+
if (!response.ok) {
|
|
1084
|
+
if (response.status === 401) {
|
|
1085
|
+
throw new Error(`Unauthorized: the access token was rejected, it was not ` + `issued for organization '${organizationId}', or ` + `'${organizationId}' was not accepted as an organization ` + `URL segment in this environment. ` + LOGIN_STATUS_HINT);
|
|
1086
|
+
}
|
|
1087
|
+
const errorText = await response.text();
|
|
1088
|
+
const message = `Failed to get tenants and organizations: ${response.status} ${errorText}`;
|
|
1089
|
+
throw new Error(IDENTIFIER_STATUSES.has(response.status) ? `${message}. ${organizationHint(organizationId)}` : message);
|
|
1090
|
+
}
|
|
1091
|
+
const [parseError, data] = await catchError(response.json());
|
|
1092
|
+
if (parseError) {
|
|
1093
|
+
throw new Error(describeNonJsonResponse(organizationId, response, parseError));
|
|
1094
|
+
}
|
|
1095
|
+
return data;
|
|
1096
|
+
};
|
|
1097
|
+
|
|
1058
1098
|
// ../auth/src/tokenRefresh.ts
|
|
1059
1099
|
var TOKEN_REFRESH_REAUTHENTICATE_MESSAGE = "Token refresh failed. Run 'uip login' to re-authenticate.";
|
|
1060
1100
|
|
|
@@ -1274,6 +1314,8 @@ var CredentialSource;
|
|
|
1274
1314
|
CredentialSource2["Robot"] = "robot";
|
|
1275
1315
|
CredentialSource2["EnvironmentVariables"] = "env-vars";
|
|
1276
1316
|
})(CredentialSource ||= {});
|
|
1317
|
+
var defaultRobotTenantIdCache = new Map;
|
|
1318
|
+
var ROBOT_TENANT_LOOKUP_TIMEOUT_MS = 5000;
|
|
1277
1319
|
var getLoginStatusAsync = async (options = {}) => {
|
|
1278
1320
|
return getLoginStatusWithDeps(options);
|
|
1279
1321
|
};
|
|
@@ -1286,12 +1328,20 @@ var getLoginStatusWithDeps = async (options = {}, deps = {}) => {
|
|
|
1286
1328
|
refreshToken: refreshTokenFn = refreshAccessToken,
|
|
1287
1329
|
resolveConfig = resolveConfigAsync,
|
|
1288
1330
|
robotFallback = tryRobotClientFallback,
|
|
1331
|
+
fetchTenantsAndOrgs = fetchTenantsAndOrganizations,
|
|
1332
|
+
robotTenantIdCache = defaultRobotTenantIdCache,
|
|
1333
|
+
robotTenantLookupTimeoutMs = ROBOT_TENANT_LOOKUP_TIMEOUT_MS,
|
|
1289
1334
|
loadBreaker = loadRefreshBreaker,
|
|
1290
1335
|
saveBreaker = saveRefreshBreaker,
|
|
1291
1336
|
clearBreaker = clearRefreshBreaker
|
|
1292
1337
|
} = deps;
|
|
1338
|
+
const robotDeps = {
|
|
1339
|
+
fetchTenantsAndOrgs,
|
|
1340
|
+
cache: robotTenantIdCache,
|
|
1341
|
+
lookupTimeoutMs: robotTenantLookupTimeoutMs
|
|
1342
|
+
};
|
|
1293
1343
|
if (isRobotAuthEnforced()) {
|
|
1294
|
-
return resolveRobotEnforcedStatus(robotFallback);
|
|
1344
|
+
return resolveRobotEnforcedStatus(robotFallback, robotDeps);
|
|
1295
1345
|
}
|
|
1296
1346
|
if (isEnvAuthEnabled()) {
|
|
1297
1347
|
return readAuthFromEnv();
|
|
@@ -1309,7 +1359,7 @@ var getLoginStatusWithDeps = async (options = {}, deps = {}) => {
|
|
|
1309
1359
|
hint: `No credentials found for profile "${activeProfile}". Run 'uip login --profile ${activeProfile}' to authenticate this profile.`
|
|
1310
1360
|
};
|
|
1311
1361
|
}
|
|
1312
|
-
return resolveBorrowedRobotStatus(robotFallback);
|
|
1362
|
+
return resolveBorrowedRobotStatus(robotFallback, robotDeps);
|
|
1313
1363
|
}
|
|
1314
1364
|
const loaded = await loadFileCredentials(loadEnvFile, absolutePath);
|
|
1315
1365
|
if ("status" in loaded) {
|
|
@@ -1351,7 +1401,7 @@ var getLoginStatusWithDeps = async (options = {}, deps = {}) => {
|
|
|
1351
1401
|
}
|
|
1352
1402
|
return buildFileStatus(tokens, credentials, globalHint);
|
|
1353
1403
|
};
|
|
1354
|
-
async function resolveRobotEnforcedStatus(robotFallback) {
|
|
1404
|
+
async function resolveRobotEnforcedStatus(robotFallback, deps) {
|
|
1355
1405
|
if (isEnvAuthEnabled()) {
|
|
1356
1406
|
throw new EnvAuthConfigError(`${ENV_AUTH_ENABLE_VAR}=true and ${ENFORCE_ROBOT_AUTH_VAR}=true ` + `are mutually exclusive. Unset one of them and re-run.`);
|
|
1357
1407
|
}
|
|
@@ -1362,11 +1412,11 @@ async function resolveRobotEnforcedStatus(robotFallback) {
|
|
|
1362
1412
|
hint: `${ENFORCE_ROBOT_AUTH_VAR}=true but the UiPath Robot ` + `session is unavailable. Start and sign in to the Assistant, ` + `or unset ${ENFORCE_ROBOT_AUTH_VAR} to fall back to file or ` + `env-var authentication.`
|
|
1363
1413
|
};
|
|
1364
1414
|
}
|
|
1365
|
-
return buildRobotStatus(robotCreds);
|
|
1415
|
+
return buildRobotStatus(robotCreds, deps);
|
|
1366
1416
|
}
|
|
1367
|
-
async function resolveBorrowedRobotStatus(robotFallback) {
|
|
1417
|
+
async function resolveBorrowedRobotStatus(robotFallback, deps) {
|
|
1368
1418
|
const robotCreds = await robotFallback();
|
|
1369
|
-
return robotCreds ? buildRobotStatus(robotCreds) : { loginStatus: "Not logged in" };
|
|
1419
|
+
return robotCreds ? buildRobotStatus(robotCreds, deps) : { loginStatus: "Not logged in" };
|
|
1370
1420
|
}
|
|
1371
1421
|
async function loadFileCredentials(loadEnvFile, absolutePath) {
|
|
1372
1422
|
let credentials;
|
|
@@ -1501,9 +1551,10 @@ function identityFields(accessToken, credentials) {
|
|
|
1501
1551
|
...scopes ? { scopes } : {}
|
|
1502
1552
|
};
|
|
1503
1553
|
}
|
|
1504
|
-
function buildRobotStatus(robotCreds) {
|
|
1554
|
+
async function buildRobotStatus(robotCreds, deps) {
|
|
1505
1555
|
const identity = resolveSessionIdentity(robotCreds.accessToken);
|
|
1506
1556
|
const scopes = readTokenScopes(robotCreds.accessToken);
|
|
1557
|
+
const tenant = robotCreds.tenantId ? { tenantId: robotCreds.tenantId } : await resolveRobotTenantId(robotCreds, deps);
|
|
1507
1558
|
return {
|
|
1508
1559
|
loginStatus: "Logged in",
|
|
1509
1560
|
accessToken: robotCreds.accessToken,
|
|
@@ -1511,14 +1562,62 @@ function buildRobotStatus(robotCreds) {
|
|
|
1511
1562
|
organizationName: robotCreds.organizationName,
|
|
1512
1563
|
organizationId: robotCreds.organizationId,
|
|
1513
1564
|
tenantName: robotCreds.tenantName,
|
|
1514
|
-
tenantId:
|
|
1565
|
+
tenantId: tenant.tenantId,
|
|
1515
1566
|
issuer: robotCreds.issuer,
|
|
1516
1567
|
expiration: getTokenExpiration(robotCreds.accessToken),
|
|
1517
1568
|
source: "robot" /* Robot */,
|
|
1569
|
+
...tenant.hint ? { hint: tenant.hint } : {},
|
|
1518
1570
|
...identity ? { identity } : {},
|
|
1519
1571
|
...scopes ? { scopes } : {}
|
|
1520
1572
|
};
|
|
1521
1573
|
}
|
|
1574
|
+
async function resolveRobotTenantId(robotCreds, deps) {
|
|
1575
|
+
const { baseUrl, accessToken, tenantName } = robotCreds;
|
|
1576
|
+
const organization = robotCreds.organizationName ?? robotCreds.organizationId;
|
|
1577
|
+
if (!tenantName || !organization) {
|
|
1578
|
+
return {};
|
|
1579
|
+
}
|
|
1580
|
+
const key = `${baseUrl}|${organization}|${tenantName}|${accessToken}`;
|
|
1581
|
+
let pending = deps.cache.get(key);
|
|
1582
|
+
if (!pending) {
|
|
1583
|
+
pending = catchError(lookupRobotTenantId({ baseUrl, accessToken, organization, tenantName }, deps)).then(([error, resolution]) => {
|
|
1584
|
+
const settled = error ? { hint: tenantLookupFailureHint(tenantName, error.message) } : resolution;
|
|
1585
|
+
if (!settled.tenantId) {
|
|
1586
|
+
deps.cache.delete(key);
|
|
1587
|
+
}
|
|
1588
|
+
return settled;
|
|
1589
|
+
});
|
|
1590
|
+
deps.cache.set(key, pending);
|
|
1591
|
+
}
|
|
1592
|
+
return pending;
|
|
1593
|
+
}
|
|
1594
|
+
async function lookupRobotTenantId(target, deps) {
|
|
1595
|
+
const { baseUrl, accessToken, organization, tenantName } = target;
|
|
1596
|
+
const [error, data] = await catchError(deps.fetchTenantsAndOrgs(baseUrl, accessToken, organization, AbortSignal.timeout(deps.lookupTimeoutMs)));
|
|
1597
|
+
if (error) {
|
|
1598
|
+
const reason = error.name === "TimeoutError" ? `the tenant list did not answer within ${deps.lookupTimeoutMs} ms.` : error.message;
|
|
1599
|
+
return { hint: tenantLookupFailureHint(tenantName, reason) };
|
|
1600
|
+
}
|
|
1601
|
+
const rows = data?.tenants;
|
|
1602
|
+
const tenants = Array.isArray(rows) ? rows.filter((tenant) => typeof tenant?.id === "string" && typeof tenant?.name === "string") : [];
|
|
1603
|
+
const wantedName = decodePathSegment(tenantName);
|
|
1604
|
+
const wanted = wantedName.toLowerCase();
|
|
1605
|
+
const match = tenants.find((tenant) => tenant.name === wantedName) ?? tenants.find((tenant) => tenant.name.toLowerCase() === wanted);
|
|
1606
|
+
if (!match) {
|
|
1607
|
+
const names = tenants.map((tenant) => tenant.name).join(", ");
|
|
1608
|
+
return {
|
|
1609
|
+
hint: `The Robot session targets tenant '${tenantName}', but ` + `organization '${organization}' lists no tenant of that name` + `${names ? ` (available: ${names})` : ""}. Commands that need ` + `the tenant id will fail until it can be resolved.`
|
|
1610
|
+
};
|
|
1611
|
+
}
|
|
1612
|
+
return { tenantId: match.id };
|
|
1613
|
+
}
|
|
1614
|
+
function tenantLookupFailureHint(tenantName, reason) {
|
|
1615
|
+
return `Could not resolve the id of tenant '${tenantName}' from the ` + `Robot session: ${reason} Commands that need the tenant id will ` + `fail until it can be resolved.`;
|
|
1616
|
+
}
|
|
1617
|
+
function decodePathSegment(segment) {
|
|
1618
|
+
const [error, decoded] = catchError(() => decodeURIComponent(segment));
|
|
1619
|
+
return error ? segment : decoded;
|
|
1620
|
+
}
|
|
1522
1621
|
var isFileNotFoundError = (error) => {
|
|
1523
1622
|
if (!(error instanceof Object))
|
|
1524
1623
|
return false;
|
|
@@ -2040,39 +2139,6 @@ var federatedCredentialsLogin = async ({
|
|
|
2040
2139
|
buildError: buildFederatedError
|
|
2041
2140
|
});
|
|
2042
2141
|
};
|
|
2043
|
-
// ../auth/src/tenantSelection.ts
|
|
2044
|
-
var LOGIN_STATUS_HINT = "Run 'uip login status' to see the organization the CLI is signed in to.";
|
|
2045
|
-
var organizationHint = (organizationId) => `The request used '${organizationId}' as the organization. ${LOGIN_STATUS_HINT}`;
|
|
2046
|
-
var IDENTIFIER_STATUSES = new Set([400, 403, 404]);
|
|
2047
|
-
var describeNonJsonResponse = (organizationId, response, parseError) => {
|
|
2048
|
-
if (response.redirected) {
|
|
2049
|
-
return `Could not find organization '${organizationId}': the request was ` + `redirected to a sign-in page instead of the organization's tenant ` + `list. ${LOGIN_STATUS_HINT}`;
|
|
2050
|
-
}
|
|
2051
|
-
const contentType = response.headers.get("content-type") ?? "unknown";
|
|
2052
|
-
return `The organization service returned a '${contentType}' response instead ` + `of JSON: ${parseError.message}. ${organizationHint(organizationId)}`;
|
|
2053
|
-
};
|
|
2054
|
-
var fetchTenantsAndOrganizations = async (baseUrl, accessToken, organizationId) => {
|
|
2055
|
-
const url = `${baseUrl}/${organizationId}/portal_/api/filtering/leftnav/tenantsAndOrganizationInfo`;
|
|
2056
|
-
const response = await fetch(url, {
|
|
2057
|
-
headers: {
|
|
2058
|
-
Authorization: `Bearer ${accessToken}`
|
|
2059
|
-
}
|
|
2060
|
-
});
|
|
2061
|
-
if (!response.ok) {
|
|
2062
|
-
if (response.status === 401) {
|
|
2063
|
-
throw new Error(`Unauthorized: the access token was rejected, it was not ` + `issued for organization '${organizationId}', or ` + `'${organizationId}' was not accepted as an organization ` + `URL segment in this environment. ` + LOGIN_STATUS_HINT);
|
|
2064
|
-
}
|
|
2065
|
-
const errorText = await response.text();
|
|
2066
|
-
const message = `Failed to get tenants and organizations: ${response.status} ${errorText}`;
|
|
2067
|
-
throw new Error(IDENTIFIER_STATUSES.has(response.status) ? `${message}. ${organizationHint(organizationId)}` : message);
|
|
2068
|
-
}
|
|
2069
|
-
const [parseError, data] = await catchError(response.json());
|
|
2070
|
-
if (parseError) {
|
|
2071
|
-
throw new Error(describeNonJsonResponse(organizationId, response, parseError));
|
|
2072
|
-
}
|
|
2073
|
-
return data;
|
|
2074
|
-
};
|
|
2075
|
-
|
|
2076
2142
|
// ../auth/src/selectTenant.ts
|
|
2077
2143
|
var TENANT_SELECTION_REQUIRED_CODE = "TENANT_SELECTION_REQUIRED";
|
|
2078
2144
|
var INVALID_TENANT_CODE = "INVALID_TENANT";
|
|
@@ -2432,7 +2498,7 @@ var authenticate = async ({
|
|
|
2432
2498
|
const { BrowserAuthStrategy } = await import("./browser-strategy-6atc7v8s.js");
|
|
2433
2499
|
strategy = new BrowserAuthStrategy;
|
|
2434
2500
|
} else {
|
|
2435
|
-
const { NodeAuthStrategy } = await import("./node-strategy-
|
|
2501
|
+
const { NodeAuthStrategy } = await import("./node-strategy-1dmmhvf3.js");
|
|
2436
2502
|
strategy = new NodeAuthStrategy;
|
|
2437
2503
|
}
|
|
2438
2504
|
const code = await strategy.execute(authUrl, effectiveRedirectUriUrl, state, {
|
|
@@ -2452,6 +2518,6 @@ var authenticate = async ({
|
|
|
2452
2518
|
});
|
|
2453
2519
|
};
|
|
2454
2520
|
|
|
2455
|
-
export { setAuthFileConfig, InvalidBaseUrlError, DEFAULT_AUTH_PROFILE, AuthProfileValidationError, normalizeAuthProfileName, setActiveAuthProfile, clearActiveAuthProfile, getActiveAuthProfile, runWithAuthProfile, resolveAuthProfileFilePath, getActiveAuthProfileFilePath, getAuthProfilesRootPath, resolveAuthProfileDirPath, listAuthProfileNamesAsync, authProfileExistsAsync, deleteAuthProfileAsync, parseJWT, parseAuthFlow, resolveSessionIdentity, readTokenScopes, ENV_AUTH_ENABLE_VAR, ENFORCE_ROBOT_AUTH_VAR, ENV_AUTH_VARS, EnvAuthConfigError, isEnvAuthEnabled, isRobotAuthEnforced, readAuthFromEnv, refreshTokenFingerprint, loadRefreshBreaker, saveRefreshBreaker, clearRefreshBreaker, registerRobotClientLoader, TokenRefreshOAuthError, isTokenRefreshOAuthFailure, refreshAccessToken, AUTH_FLOW_ENV_VAR, DEFAULT_AUTH_FILENAME, DEFAULT_ENV_FILENAME, resolveEnvFileLocationAsync, resolveEnvFilePathAsync, loadEnvFileAsync, saveEnvFileAsync, CredentialSource, getLoginStatusAsync, getLoginStatusWithDeps, getAuthContext, getAuthEnv, describeAuthProfilesAsync, ClientCredentialsAuthenticationError, clientCredentialsLogin, JWT_BEARER_ASSERTION_TYPE, FederatedCredentialsAuthenticationError, federatedCredentialsLogin,
|
|
2521
|
+
export { setAuthFileConfig, InvalidBaseUrlError, DEFAULT_AUTH_PROFILE, AuthProfileValidationError, normalizeAuthProfileName, setActiveAuthProfile, clearActiveAuthProfile, getActiveAuthProfile, runWithAuthProfile, resolveAuthProfileFilePath, getActiveAuthProfileFilePath, getAuthProfilesRootPath, resolveAuthProfileDirPath, listAuthProfileNamesAsync, authProfileExistsAsync, deleteAuthProfileAsync, parseJWT, parseAuthFlow, resolveSessionIdentity, readTokenScopes, ENV_AUTH_ENABLE_VAR, ENFORCE_ROBOT_AUTH_VAR, ENV_AUTH_VARS, EnvAuthConfigError, isEnvAuthEnabled, isRobotAuthEnforced, readAuthFromEnv, refreshTokenFingerprint, loadRefreshBreaker, saveRefreshBreaker, clearRefreshBreaker, registerRobotClientLoader, fetchTenantsAndOrganizations, TokenRefreshOAuthError, isTokenRefreshOAuthFailure, refreshAccessToken, AUTH_FLOW_ENV_VAR, DEFAULT_AUTH_FILENAME, DEFAULT_ENV_FILENAME, resolveEnvFileLocationAsync, resolveEnvFilePathAsync, loadEnvFileAsync, saveEnvFileAsync, CredentialSource, getLoginStatusAsync, getLoginStatusWithDeps, getAuthContext, getAuthEnv, describeAuthProfilesAsync, ClientCredentialsAuthenticationError, clientCredentialsLogin, JWT_BEARER_ASSERTION_TYPE, FederatedCredentialsAuthenticationError, federatedCredentialsLogin, TENANT_SELECTION_REQUIRED_CODE, INVALID_TENANT_CODE, TenantSelectionError, TenantSelectionRequiredError, InvalidTenantError, isTenantSelectionError, selectTenantWithDeps, interactiveLoginWithDeps, interactiveLogin, logoutWithDeps, logout, authenticate };
|
|
2456
2522
|
|
|
2457
|
-
//# debugId=
|
|
2523
|
+
//# debugId=7292022086A0BDF264756E2164756E21
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// ../../node_modules/@uipath/flow-migrations/node_modules/@uipath/flow-schema/dist/chunk-WVKK2NUW.js
|
|
2
|
+
var agentDuplicateToolNames_duplicateName_message = 'Tool name "{{name}}" is used by multiple tools on this agent. Each tool must have a unique name.';
|
|
3
|
+
var agentEmptyVar_unwrittenVariable_message = `Agent uses "$vars.{{root}}" but no node assigns a value to "{{root}}", so it will be empty at runtime. Bind it to a node output (e.g. a connector's "<node>.output") or give it a value source.`;
|
|
4
|
+
var agentFileNotAnalyzed_unconsumedFileVar_message = 'Agent uses the file variable "$vars.{{path}}" in its prompt, but it has no tool that can read files, so the agent gets only the file reference and not its contents. Add a file-reading tool such as Analyze Files.';
|
|
5
|
+
var agentInputRefs_ambiguousUnderscoreRoot_message = 'Prompt references "$vars.{{ref}}", but the name "{{rootSegment}}" contains "__", which is reserved as the agent-input encoding separator and cannot round-trip. Rename it to remove the double underscore.';
|
|
6
|
+
var agentInputRefs_reservedMetadataRoot_message = 'Prompt references "$vars.{{ref}}", but a variable or node named "metadata" collides with the "$metadata" namespace once serialized for the agent and cannot round-trip. Rename it to something other than "metadata".';
|
|
7
|
+
var agentInputRefs_reservedNamespace_message = '"$agent.{{ref}}" is a Flow-internal agent-runtime namespace and cannot be used directly in prompts. Reference the flow variable via "$vars.{{ref}}" or "$metadata.{{ref}}" instead.';
|
|
8
|
+
var agentInputRefs_unresolvedRef_message = 'Prompt references "$vars.{{ref}}" but no workflow variable or node "{{rootSegment}}" exists. Add the variable/node to the flow or remove the reference.';
|
|
9
|
+
var agenticSwitchDuplicateChoices_duplicateName_message = 'Choice name "{{name}}" is used more than once. Give each choice a unique name.';
|
|
10
|
+
var conditionExpression_decisionWrapped_message = 'Invalid condition on "{{nodeLabel}}": {{error}}';
|
|
11
|
+
var conditionExpression_incomplete_message = "Incomplete expression";
|
|
12
|
+
var conditionExpression_invalid_message = "Invalid expression";
|
|
13
|
+
var conditionExpression_required_message = "Add a condition";
|
|
14
|
+
var conversationalRequired_contextRequired_message = "{{label}}: Conversation context is required";
|
|
15
|
+
var conversationalRequired_conversationIdRequired_message = "{{label}}: Conversation ID is required";
|
|
16
|
+
var conversationalVoiceEndCall_callContextInvalid_message = "{{label}}: Call context must be bound to a call context object";
|
|
17
|
+
var conversationalVoice_callContextInvalid_message = "{{label}}: Call context must be bound to a call context object";
|
|
18
|
+
var conversationalVoice_callContextRequired_message = "{{label}}: Call context is required when voice is enabled";
|
|
19
|
+
var dataTransform_customScriptMissing_message = '"{{nodeLabel}}" custom script operation has no script';
|
|
20
|
+
var dataTransform_filterMissingField_message = '"{{nodeLabel}}" filter condition is missing a field';
|
|
21
|
+
var dataTransform_filterNoConditions_message = '"{{nodeLabel}}" filter operation has no conditions';
|
|
22
|
+
var dataTransform_groupByAggMissingField_message = '"{{nodeLabel}}" group by aggregation is missing a field';
|
|
23
|
+
var dataTransform_groupByAggMissingOutputName_message = '"{{nodeLabel}}" group by aggregation is missing an output name';
|
|
24
|
+
var dataTransform_groupByMissingField_message = '"{{nodeLabel}}" group by operation is missing the group by field';
|
|
25
|
+
var dataTransform_mapMissingField_message = '"{{nodeLabel}}" map field mapping is missing a field';
|
|
26
|
+
var dataTransform_mapNoMappings_message = '"{{nodeLabel}}" map operation needs at least one field mapping when original fields are not kept';
|
|
27
|
+
var dataTransform_missingCollection_message = '"{{nodeLabel}}" is missing a collection variable';
|
|
28
|
+
var dataTransform_noOperations_message = '"{{nodeLabel}}" has no operations configured';
|
|
29
|
+
var doWhile_limitOutOfRange_message = "Set maximum iterations between {{min}} and {{max}}";
|
|
30
|
+
var entityQuery_emptyFilterExpression_message = "Write an expression for every filter, or remove the filter";
|
|
31
|
+
var entityQuery_emptyFilterValueList_message = "Add at least one value to the filter, or remove the filter";
|
|
32
|
+
var entityQuery_incompleteSingleRecordRow_message = "Select a field and enter a value";
|
|
33
|
+
var entityQuery_uncarryableExpression_message = "Store this expression in a variable, or write it without spaces, quotes, or backslashes";
|
|
34
|
+
var entityQuery_uncarryableRelationPath_message = "{{path}} cannot be used as written. Remove any spaces, quotes or backslashes from the column name.";
|
|
35
|
+
var entityQuery_unfilteredSingleRecord_message = "Add a condition, or read multiple records instead";
|
|
36
|
+
var entityQuery_unresolvedRelation_message = "{{path}} is no longer available. Pick a field on this entity or one of its direct relations.";
|
|
37
|
+
var entitySchema_fieldMissing_message = "Remove or replace fields this entity no longer has: {{fields}}";
|
|
38
|
+
var entityWrite_requiredFieldBlanked_message = "Set a value for {{fields}}, or remove them from the update";
|
|
39
|
+
var entityWrite_requiredFieldMissing_message = "Set a value for {{fields}}";
|
|
40
|
+
var escalation_appRequired_message = "Select an action app";
|
|
41
|
+
var escalation_memoryArgumentRequired_message = "{{label}}: Add at least one argument for agent memory, or turn agent memory off";
|
|
42
|
+
var escalation_nameRequired_message = "{{label}}: Escalation name is required";
|
|
43
|
+
var escalation_quickFormDuplicateFieldLabel_message = '{{label}}: Multiple fields are labeled "{{fieldLabel}}" — the escalation task would keep only one of them. Make field labels unique';
|
|
44
|
+
var escalation_recipientRequired_message = "{{label}}: Escalation recipient is required";
|
|
45
|
+
var governance_hitlRequired_message = "Agent must have at least one escalation resource or a guardrail with HITL action. Rule enforced by governance policy: {{policyName}}";
|
|
46
|
+
var governance_maxIterationsExceeded_message = "Max iterations exceeds {{maxIterations}}. Rule enforced by governance policy: {{policyName}}";
|
|
47
|
+
var governance_maxTokensExceeded_message = "Max tokens per response exceeds {{maxTokens}}. Rule enforced by governance policy: {{policyName}}";
|
|
48
|
+
var governance_modelNotAvailable_message = "{{model}} model is not allowed, enforced by governance policy: {{policyName}}";
|
|
49
|
+
var governance_noAllowedModel_message = "No allowed model selected, enforced by governance policy: {{policyName}}";
|
|
50
|
+
var governance_temperatureExceeded_message = "Temperature exceeds {{maxTemperature}}. Rule enforced by governance policy: {{policyName}}";
|
|
51
|
+
var hitlQuickForm_emptySchema_message = "Add at least one field";
|
|
52
|
+
var hitlQuickForm_fieldLabelRequired_message = "Field label is required";
|
|
53
|
+
var ixpSchemaDraft_invalidWithDetail_message = 'Schema is not valid on "{{nodeLabel}}": {{detail}}';
|
|
54
|
+
var ixpSchemaDraft_invalid_message = 'Schema is not valid on "{{nodeLabel}}".';
|
|
55
|
+
var ixpSchemaLimits_exceeded_message = '{{subject}} on "{{nodeLabel}}" is {{actual}} characters, over the {{limit}} character limit.';
|
|
56
|
+
var nodeId_invalidFormat_message = "Rename the node ID to use only letters, numbers, and underscores, starting with a letter or underscore";
|
|
57
|
+
var nodeId_reservedWord_message = 'Rename the node ID — "{{id}}" is a reserved word';
|
|
58
|
+
var outputMapping_missing_message = '"{{nodeLabel}}" is missing output mapping for "{{varId}}"';
|
|
59
|
+
var schemaValidator_genericKeyword_message = '"{{fieldName}}" on "{{nodeLabel}}": {{detail}}';
|
|
60
|
+
var schemaValidator_invalidEnum_message = '"{{fieldName}}" on "{{nodeLabel}}" must be one of the allowed values';
|
|
61
|
+
var schemaValidator_invalidField_message = '"{{fieldName}}" on "{{nodeLabel}}" is invalid';
|
|
62
|
+
var schemaValidator_invalidPattern_message = '"{{fieldName}}" on "{{nodeLabel}}" has invalid format';
|
|
63
|
+
var schemaValidator_outOfRange_message = '"{{fieldName}}" on "{{nodeLabel}}" {{detail}}';
|
|
64
|
+
var schemaValidator_required_message = '"{{fieldName}}" is required on "{{nodeLabel}}"';
|
|
65
|
+
var schemaValidator_typeMismatch_message = '"{{fieldName}}" on "{{nodeLabel}}" expects {{type}}';
|
|
66
|
+
var schemaValidator_validation_genericError = "Validation error";
|
|
67
|
+
var scriptBody_mustache_message = "Reference variables directly without double braces";
|
|
68
|
+
var singleConversationTrigger_message = "Only one conversation trigger is allowed per process. Remove the extra trigger.";
|
|
69
|
+
var triggerRequired_message = "Process must have at least one trigger node";
|
|
70
|
+
var en_default = {
|
|
71
|
+
agentDuplicateToolNames_duplicateName_message,
|
|
72
|
+
agentEmptyVar_unwrittenVariable_message,
|
|
73
|
+
agentFileNotAnalyzed_unconsumedFileVar_message,
|
|
74
|
+
agentInputRefs_ambiguousUnderscoreRoot_message,
|
|
75
|
+
agentInputRefs_reservedMetadataRoot_message,
|
|
76
|
+
agentInputRefs_reservedNamespace_message,
|
|
77
|
+
agentInputRefs_unresolvedRef_message,
|
|
78
|
+
agenticSwitchDuplicateChoices_duplicateName_message,
|
|
79
|
+
conditionExpression_decisionWrapped_message,
|
|
80
|
+
conditionExpression_incomplete_message,
|
|
81
|
+
conditionExpression_invalid_message,
|
|
82
|
+
conditionExpression_required_message,
|
|
83
|
+
conversationalRequired_contextRequired_message,
|
|
84
|
+
conversationalRequired_conversationIdRequired_message,
|
|
85
|
+
conversationalVoiceEndCall_callContextInvalid_message,
|
|
86
|
+
conversationalVoice_callContextInvalid_message,
|
|
87
|
+
conversationalVoice_callContextRequired_message,
|
|
88
|
+
dataTransform_customScriptMissing_message,
|
|
89
|
+
dataTransform_filterMissingField_message,
|
|
90
|
+
dataTransform_filterNoConditions_message,
|
|
91
|
+
dataTransform_groupByAggMissingField_message,
|
|
92
|
+
dataTransform_groupByAggMissingOutputName_message,
|
|
93
|
+
dataTransform_groupByMissingField_message,
|
|
94
|
+
dataTransform_mapMissingField_message,
|
|
95
|
+
dataTransform_mapNoMappings_message,
|
|
96
|
+
dataTransform_missingCollection_message,
|
|
97
|
+
dataTransform_noOperations_message,
|
|
98
|
+
doWhile_limitOutOfRange_message,
|
|
99
|
+
entityQuery_emptyFilterExpression_message,
|
|
100
|
+
entityQuery_emptyFilterValueList_message,
|
|
101
|
+
entityQuery_incompleteSingleRecordRow_message,
|
|
102
|
+
entityQuery_uncarryableExpression_message,
|
|
103
|
+
entityQuery_uncarryableRelationPath_message,
|
|
104
|
+
entityQuery_unfilteredSingleRecord_message,
|
|
105
|
+
entityQuery_unresolvedRelation_message,
|
|
106
|
+
entitySchema_fieldMissing_message,
|
|
107
|
+
entityWrite_requiredFieldBlanked_message,
|
|
108
|
+
entityWrite_requiredFieldMissing_message,
|
|
109
|
+
escalation_appRequired_message,
|
|
110
|
+
escalation_memoryArgumentRequired_message,
|
|
111
|
+
escalation_nameRequired_message,
|
|
112
|
+
escalation_quickFormDuplicateFieldLabel_message,
|
|
113
|
+
escalation_recipientRequired_message,
|
|
114
|
+
governance_hitlRequired_message,
|
|
115
|
+
governance_maxIterationsExceeded_message,
|
|
116
|
+
governance_maxTokensExceeded_message,
|
|
117
|
+
governance_modelNotAvailable_message,
|
|
118
|
+
governance_noAllowedModel_message,
|
|
119
|
+
governance_temperatureExceeded_message,
|
|
120
|
+
hitlQuickForm_emptySchema_message,
|
|
121
|
+
hitlQuickForm_fieldLabelRequired_message,
|
|
122
|
+
ixpSchemaDraft_invalidWithDetail_message,
|
|
123
|
+
ixpSchemaDraft_invalid_message,
|
|
124
|
+
ixpSchemaLimits_exceeded_message,
|
|
125
|
+
nodeId_invalidFormat_message,
|
|
126
|
+
nodeId_reservedWord_message,
|
|
127
|
+
outputMapping_missing_message,
|
|
128
|
+
schemaValidator_genericKeyword_message,
|
|
129
|
+
schemaValidator_invalidEnum_message,
|
|
130
|
+
schemaValidator_invalidField_message,
|
|
131
|
+
schemaValidator_invalidPattern_message,
|
|
132
|
+
schemaValidator_outOfRange_message,
|
|
133
|
+
schemaValidator_required_message,
|
|
134
|
+
schemaValidator_typeMismatch_message,
|
|
135
|
+
schemaValidator_validation_genericError,
|
|
136
|
+
scriptBody_mustache_message,
|
|
137
|
+
singleConversationTrigger_message,
|
|
138
|
+
triggerRequired_message
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export { agentDuplicateToolNames_duplicateName_message, agentEmptyVar_unwrittenVariable_message, agentFileNotAnalyzed_unconsumedFileVar_message, agentInputRefs_ambiguousUnderscoreRoot_message, agentInputRefs_reservedMetadataRoot_message, agentInputRefs_reservedNamespace_message, agentInputRefs_unresolvedRef_message, agenticSwitchDuplicateChoices_duplicateName_message, conditionExpression_decisionWrapped_message, conditionExpression_incomplete_message, conditionExpression_invalid_message, conditionExpression_required_message, conversationalRequired_contextRequired_message, conversationalRequired_conversationIdRequired_message, conversationalVoiceEndCall_callContextInvalid_message, conversationalVoice_callContextInvalid_message, conversationalVoice_callContextRequired_message, dataTransform_customScriptMissing_message, dataTransform_filterMissingField_message, dataTransform_filterNoConditions_message, dataTransform_groupByAggMissingField_message, dataTransform_groupByAggMissingOutputName_message, dataTransform_groupByMissingField_message, dataTransform_mapMissingField_message, dataTransform_mapNoMappings_message, dataTransform_missingCollection_message, dataTransform_noOperations_message, doWhile_limitOutOfRange_message, entityQuery_emptyFilterExpression_message, entityQuery_emptyFilterValueList_message, entityQuery_incompleteSingleRecordRow_message, entityQuery_uncarryableExpression_message, entityQuery_uncarryableRelationPath_message, entityQuery_unfilteredSingleRecord_message, entityQuery_unresolvedRelation_message, entitySchema_fieldMissing_message, entityWrite_requiredFieldBlanked_message, entityWrite_requiredFieldMissing_message, escalation_appRequired_message, escalation_memoryArgumentRequired_message, escalation_nameRequired_message, escalation_quickFormDuplicateFieldLabel_message, escalation_recipientRequired_message, governance_hitlRequired_message, governance_maxIterationsExceeded_message, governance_maxTokensExceeded_message, governance_modelNotAvailable_message, governance_noAllowedModel_message, governance_temperatureExceeded_message, hitlQuickForm_emptySchema_message, hitlQuickForm_fieldLabelRequired_message, ixpSchemaDraft_invalidWithDetail_message, ixpSchemaDraft_invalid_message, ixpSchemaLimits_exceeded_message, nodeId_invalidFormat_message, nodeId_reservedWord_message, outputMapping_missing_message, schemaValidator_genericKeyword_message, schemaValidator_invalidEnum_message, schemaValidator_invalidField_message, schemaValidator_invalidPattern_message, schemaValidator_outOfRange_message, schemaValidator_required_message, schemaValidator_typeMismatch_message, schemaValidator_validation_genericError, scriptBody_mustache_message, singleConversationTrigger_message, triggerRequired_message, en_default };
|
|
142
|
+
|
|
143
|
+
//# debugId=CCA95EC1032FCF8164756E2164756E21
|
|
@@ -182,6 +182,16 @@ class NodeFileSystem {
|
|
|
182
182
|
async rename(oldPath, newPath) {
|
|
183
183
|
await fs.rename(oldPath, newPath);
|
|
184
184
|
}
|
|
185
|
+
async isSymbolicLink(filePath) {
|
|
186
|
+
try {
|
|
187
|
+
return (await fs.lstat(filePath)).isSymbolicLink();
|
|
188
|
+
} catch (error) {
|
|
189
|
+
if (this.isEnoent(error) || this.hasErrnoCode(error, "ENOTDIR")) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
185
195
|
async realpath(filePath) {
|
|
186
196
|
try {
|
|
187
197
|
return await fs.realpath(filePath);
|
|
@@ -234,4 +244,4 @@ var getFileSystem = () => fsInstance;
|
|
|
234
244
|
|
|
235
245
|
export { NodeFileSystem, getFileSystem };
|
|
236
246
|
|
|
237
|
-
//# debugId=
|
|
247
|
+
//# debugId=C097B4FF8DD97C0C64756E2164756E21
|