@uipath/case-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/dist/THIRD-PARTY-NOTICES.md +24 -11
- package/dist/{authoring-6ckkzfc9.js → authoring-kqh34zzm.js} +49 -30
- package/dist/{business-rule-export-kg5bk8aw.js → business-rule-export-ey588rv7.js} +2 -2
- package/dist/canvas-notes-86fxx1t8.js +19 -0
- package/dist/{case-api-rvamfn02.js → case-api-sme7esce.js} +6 -6
- package/dist/case-bindings-service-cht20gqt.js +430 -0
- package/dist/case-debug-solution-projects-h3w2nx0a.js +34 -0
- package/dist/{case-debug-studio-web-service-xxfesw4v.js → case-debug-studio-web-service-3mkrtaet.js} +16 -10
- package/dist/{case-described-io-service-14hdnqcc.js → case-described-io-service-dx1f4nxe.js} +37 -11
- package/dist/case-event-trigger-bindings-g9ftnm4x.js +16 -0
- package/dist/{case-format-service-yb48785t.js → case-format-service-6aew6tqc.js} +2 -2
- package/dist/{case-pack-service-9185h6ez.js → case-pack-service-pqq8wnfd.js} +6 -6
- package/dist/case-schema-version-h820ne16.js +20 -0
- package/dist/{case-shape-reader-mw58avr0.js → case-shape-reader-dsbraetf.js} +1 -1
- package/dist/{case-splice-service-tkmb7xjp.js → case-splice-service-s5gccctq.js} +53 -8
- package/dist/{case-validate-service-c84e2bhv.js → case-validate-service-rey6btew.js} +128 -42
- package/dist/{connector-enrichment-service-hfv0kwht.js → connector-enrichment-service-crqs2216.js} +23 -20
- package/dist/{connector-lookup-service-whgjceyj.js → connector-lookup-service-dwv8q5eh.js} +6 -6
- package/dist/connector-task-shape-mpazkf7s.js +14 -0
- package/dist/{connector-task-spec-k0cwavrm.js → connector-task-spec-trs4tcb3.js} +196 -40
- 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-service-ch3v6jmm.js → debug-service-7q98j726.js} +3 -3
- package/dist/{embedded-file-reader-v8c2yj2a.js → embedded-file-reader-r66242ey.js} +2 -2
- 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/{enrichment-service-3f1kygjs.js → enrichment-service-hv7ff88p.js} +56 -12
- package/dist/{es-7SE7HX2X-8yh1aj2y.js → es-4UBUTCQA-m1ytpyx2.js} +29 -2
- 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-XXZJGC4R-2mr8jtgm.js → es-MX-TWZBRAXK-gqd9swzw.js} +237 -30
- package/dist/filter-engine-7ep90g7f.js +11 -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/index-332n0kxj.js +282 -0
- package/dist/{index-wmffgzmr.js → index-5dxh9z60.js} +21751 -11098
- package/dist/{index-aw2gqqat.js → index-a2fvrrth.js} +4 -4
- package/dist/{index-4yanx3rn.js → index-ekwtgx7y.js} +1089 -218
- package/dist/{index-ng2f77my.js → index-fyc0k5dd.js} +985 -617
- package/dist/index-n9qvnx4x.js +29 -0
- package/dist/{index-hhsf00x8.js → index-ngs0a2he.js} +1 -1
- package/dist/{index-j2r3jb6c.js → index-xq6ajhgq.js} +2 -2
- package/dist/index.js +12 -12
- package/dist/init-entry-points-hhpv3e3f.js +98 -0
- package/dist/{input-reader-1tcqt27f.js → input-reader-c7wz8ra2.js} +3 -3
- package/dist/{ja-UTQEAP34-8e0q6swp.js → ja-43QL7CGO-c3q8gre9.js} +29 -2
- package/dist/{ja-Q5PXKJ2V-p4msxzjd.js → ja-U2MCNHGT-gz0ap1jk.js} +235 -28
- package/dist/{known-types-0h9kqwyy.js → known-types-jvkdgmzz.js} +5 -4
- 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/localSolutionDiscovery-yyx234ak.js +13 -0
- package/dist/migration-diagnosis-ns5cw4e3.js +99 -0
- package/dist/{node-strategy-5pz40tee.js → node-strategy-v442hwgd.js} +1 -1
- package/dist/node-sync-service-1wkcyn1n.js +57 -0
- package/dist/out-target-wjgmna0r.js +111 -0
- package/dist/{packager-tool-85q4f3pq.js → packager-tool-1pcmxqny.js} +3 -3
- package/dist/{packager-tool-8a9yqfq7.js → packager-tool-1yfw674x.js} +4 -2
- package/dist/{packager-tool-pdhhzfr5.js → packager-tool-29x6vran.js} +296 -417
- package/dist/packager-tool-2sn7d8fd.js +41 -0
- package/dist/packager-tool-4p11fvf4.js +92 -0
- package/dist/{packager-tool-25hng8h4.js → packager-tool-4rtktkhv.js} +16211 -13084
- package/dist/{packager-tool-yfm83bzd.js → packager-tool-67vy1fz3.js} +4 -3
- package/dist/{packager-tool-d88rqwk8.js → packager-tool-6z1hsm2h.js} +13 -5
- package/dist/packager-tool-7hw344bt.js +107 -0
- package/dist/{packager-tool-3q3d1hk8.js → packager-tool-83v804p7.js} +56 -6
- package/dist/{packager-tool-00y70spr.js → packager-tool-87y6xw3a.js} +2 -1
- package/dist/packager-tool-93mdeqay.js +18 -0
- package/dist/{packager-tool-64rg5ekd.js → packager-tool-9e59z4d6.js} +75 -7
- package/dist/{packager-tool-vepqrsse.js → packager-tool-9kf3fqtr.js} +2 -2
- package/dist/packager-tool-9kvkzc05.js +74 -0
- package/dist/{packager-tool-s6619wtx.js → packager-tool-9sd483vs.js} +2 -2
- package/dist/{packager-tool-f78ntj5g.js → packager-tool-9y1w2wds.js} +51 -6
- package/dist/packager-tool-a17g0pj1.js +62 -0
- package/dist/{packager-tool-167qap9m.js → packager-tool-aagnvyba.js} +845 -38
- package/dist/{packager-tool-0p6dbsp0.js → packager-tool-c5q10254.js} +5 -5
- package/dist/{packager-tool-wj9d9mqe.js → packager-tool-e15kqpyh.js} +12 -13
- package/dist/{packager-tool-c31qx8kc.js → packager-tool-ezds6t5e.js} +2 -2
- package/dist/{packager-tool-d3zvghjd.js → packager-tool-f2z2dscy.js} +308 -120
- package/dist/{packager-tool-hvzjm2nk.js → packager-tool-f8vwy92w.js} +2093 -5805
- package/dist/{packager-tool-rgpdaxbx.js → packager-tool-gx2cer6a.js} +5385 -1098
- package/dist/{packager-tool-xdxr3ync.js → packager-tool-hdxtgckw.js} +11 -1
- package/dist/{packager-tool-mr149jsw.js → packager-tool-k5cpxdm4.js} +17 -7
- package/dist/packager-tool-k6jbedyc.js +69 -0
- package/dist/packager-tool-kdhey8gz.js +153 -0
- package/dist/{packager-tool-cenvh23g.js → packager-tool-kyrm4e5m.js} +718 -87
- package/dist/packager-tool-mqy97y5f.js +52 -0
- package/dist/{packager-tool-jfysbxdt.js → packager-tool-mzf4gmph.js} +4 -4
- package/dist/packager-tool-n7w9wx62.js +25 -0
- package/dist/{packager-tool-7q6z6npd.js → packager-tool-pcvhcn2k.js} +93 -11
- package/dist/packager-tool-r0x3qh59.js +307 -0
- package/dist/{packager-tool-w1b5pyj6.js → packager-tool-r6b5ktzb.js} +730 -14
- package/dist/{packager-tool-zbrda9sn.js → packager-tool-rk25wp3c.js} +1 -1
- package/dist/{packager-tool-xcd87qyx.js → packager-tool-v2kcgjbf.js} +2 -3
- package/dist/{case-bindings-service-d9vezn69.js → packager-tool-wekqkmgn.js} +20 -231
- package/dist/packager-tool-yct6zp4m.js +335 -0
- package/dist/{packager-tool-kpqr938m.js → packager-tool-ydyvtknp.js} +26 -3
- package/dist/{packager-tool-v99ygh9f.js → packager-tool-yn33pw57.js} +124 -58
- package/dist/{packager-tool-4rqd21wc.js → packager-tool-yn7r7zq2.js} +19 -5
- package/dist/{packager-tool-cmwets3m.js → packager-tool-zf8f9pmm.js} +1 -1
- package/dist/packager-tool.js +3 -3
- package/dist/{project-artifacts-rng5m6r2.js → project-artifacts-bgyyb0dm.js} +1 -1
- 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-3DIO5QWG-59b3f4bc.js → pt-RMIAKZB4-67enhx3m.js} +29 -2
- package/dist/{pt-ROXU257Y-2f6bxev4.js → pt-TO2DARY2-ftcce1bv.js} +237 -30
- package/dist/{resolved-check-p99hysaw.js → resolved-check-aqw7568y.js} +1 -1
- package/dist/{resourcesSyncService-zwjyp1qx.js → resourcesSyncService-d302jnap.js} +32 -170
- 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/{sdd-convert-service-vf0ps358.js → sdd-convert-service-8jpew7vz.js} +686 -445
- package/dist/{sdd-lookup-dwzpvvwn.js → sdd-lookup-fe900sdb.js} +2 -2
- package/dist/{sdd-resolve-service-mjqad2nn.js → sdd-resolve-service-qdtmxw9b.js} +38 -13
- package/dist/sdd-resolve-siblings-6kfxc2t6.js +53 -0
- package/dist/{solution-auth-kddmbm0p.js → solution-auth-30yycqtv.js} +3 -3
- package/dist/solution-discovery-g6ksnrg1.js +38 -0
- package/dist/{strict-case-rules-tz37bspw.js → strict-case-rules-4tjcaznr.js} +3 -2
- package/dist/{strict-entry-points-v14d7y50.js → strict-entry-points-g2pd4mf4.js} +29 -1
- package/dist/{strict-sdd-audit-4aqdeh59.js → strict-sdd-audit-q7tb9yj7.js} +7 -5
- package/dist/task-type-declaration-7a8fqdvs.js +46 -0
- package/dist/tool.js +12 -12
- package/dist/{tr-5IIHSFW5-hw4cewew.js → tr-GDTLECMM-k5fhmq13.js} +29 -2
- package/dist/{tr-JMIP7ZSL-c39b6pe4.js → tr-M3F5A6AU-bb0tg39m.js} +235 -28
- package/dist/{trigger-enrichment-service-g3vt051f.js → trigger-enrichment-service-sj0p2d1j.js} +23 -20
- package/dist/trigger-entry-point-id-yhqwnkx9.js +15 -0
- package/dist/{zh-CN-IFFXSEJS-9wm9gmrv.js → zh-CN-C5G4PC7C-ds9gkptg.js} +235 -28
- 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-IYBNYAMG-8727c7v2.js → zh-TW-62HZIG6O-787kdwex.js} +234 -27
- package/package.json +2 -2
- package/dist/migration-diagnosis-ag2sgd1e.js +0 -71
- package/dist/node-sync-service-2tfrgbjs.js +0 -36
- package/dist/out-target-jakehnd3.js +0 -70
- package/dist/packager-tool-57pzrd0g.js +0 -32
- package/dist/packager-tool-dthjwajc.js +0 -13
- package/dist/packager-tool-xy04yy0v.js +0 -32
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./packager-tool-
|
|
2
|
+
resolveCaseSchemaWriteVersion
|
|
3
|
+
} from "./packager-tool-mqy97y5f.js";
|
|
4
|
+
import {
|
|
5
|
+
buildMinimalCaseDocument
|
|
6
|
+
} from "./packager-tool-v2kcgjbf.js";
|
|
4
7
|
import {
|
|
5
8
|
createTaskBindings
|
|
6
9
|
} from "./packager-tool-sq931c23.js";
|
|
7
|
-
import {
|
|
8
|
-
CASE_PLAN_FILENAME,
|
|
9
|
-
buildMinimalCaseDocument
|
|
10
|
-
} from "./packager-tool-xcd87qyx.js";
|
|
11
10
|
import {
|
|
12
11
|
prefixedId
|
|
13
12
|
} from "./packager-tool-mknccck5.js";
|
|
13
|
+
import {
|
|
14
|
+
GET_SEARCHABLE_TYPES,
|
|
15
|
+
RESOURCE_TYPES,
|
|
16
|
+
TYPECACHE_INDEX_TYPES
|
|
17
|
+
} from "./packager-tool-7nxppa3d.js";
|
|
14
18
|
import {
|
|
15
19
|
DEFAULT_TRIGGER_ID,
|
|
16
|
-
DEFAULT_TRIGGER_LABEL,
|
|
17
20
|
VALID_CASE_COMPLETION_RULE_TYPES,
|
|
18
21
|
VALID_CASE_EXIT_RULE_TYPES,
|
|
19
22
|
VALID_STAGE_COMPLETION_RULE_TYPES,
|
|
@@ -35,31 +38,27 @@ import {
|
|
|
35
38
|
registerSharedInstanceCommands,
|
|
36
39
|
registerSharedProcessCommands,
|
|
37
40
|
registerSharedProcessesCommands
|
|
38
|
-
} from "./packager-tool-
|
|
39
|
-
import {
|
|
40
|
-
GET_SEARCHABLE_TYPES,
|
|
41
|
-
RESOURCE_TYPES,
|
|
42
|
-
TYPECACHE_INDEX_TYPES
|
|
43
|
-
} from "./packager-tool-7nxppa3d.js";
|
|
41
|
+
} from "./packager-tool-aagnvyba.js";
|
|
44
42
|
import {
|
|
45
43
|
VALID_PROJECT_NAME_REGEX,
|
|
46
44
|
formatTraceLine
|
|
47
|
-
} from "./packager-tool-
|
|
45
|
+
} from "./packager-tool-9kf3fqtr.js";
|
|
48
46
|
import {
|
|
49
47
|
Option,
|
|
50
48
|
OutputFormatter,
|
|
51
49
|
RESULTS,
|
|
52
50
|
catchError,
|
|
53
51
|
createHiddenDeprecatedTenantOption,
|
|
52
|
+
extractErrorDetails,
|
|
54
53
|
instructionsFor,
|
|
55
54
|
logger,
|
|
56
55
|
mapPackageMetadataOptions,
|
|
57
56
|
processContext,
|
|
58
57
|
registerPackageMetadataOptions
|
|
59
|
-
} from "./packager-tool-
|
|
58
|
+
} from "./packager-tool-83v804p7.js";
|
|
60
59
|
import {
|
|
61
60
|
getFileSystem
|
|
62
|
-
} from "./packager-tool-
|
|
61
|
+
} from "./packager-tool-hdxtgckw.js";
|
|
63
62
|
import {
|
|
64
63
|
__require
|
|
65
64
|
} from "./packager-tool-1yh8g550.js";
|
|
@@ -68,7 +67,7 @@ var package_default = {
|
|
|
68
67
|
name: "@uipath/case-tool",
|
|
69
68
|
author: "UiPath",
|
|
70
69
|
license: "SEE LICENSE IN LICENSE.txt",
|
|
71
|
-
version: "1.
|
|
70
|
+
version: "1.205.0-preview.258",
|
|
72
71
|
description: "Manage Case Management instances, processes, and incidents.",
|
|
73
72
|
private: false,
|
|
74
73
|
repository: {
|
|
@@ -106,8 +105,9 @@ var package_default = {
|
|
|
106
105
|
devDependencies: {
|
|
107
106
|
"@uipath/auth": "workspace:*",
|
|
108
107
|
"@uipath/builder-sdk": "workspace:*",
|
|
109
|
-
"@uipath/case-schema": "0.
|
|
108
|
+
"@uipath/case-schema": "0.1199.0",
|
|
110
109
|
"@uipath/common": "workspace:*",
|
|
110
|
+
"@uipath/dmn-editor-utils": "0.1201.7",
|
|
111
111
|
"@uipath/filesystem": "workspace:*",
|
|
112
112
|
"@uipath/integrationservice-sdk": "workspace:*",
|
|
113
113
|
"@uipath/maestro-sdk": "workspace:*",
|
|
@@ -155,7 +155,7 @@ invisible to 'uip solution resources refresh'.
|
|
|
155
155
|
Subcommands:
|
|
156
156
|
sync Write 'bindings_v2.json' next to a case plan.`);
|
|
157
157
|
bindings.command("sync").description("Derive bindings_v2.json from a case plan and write it into the same directory.").argument("<file>", "Path to the case plan JSON file. The output 'bindings_v2.json' is written next to it, overwriting any existing file.").examples(CASE_BINDINGS_SYNC_EXAMPLES).trackedAction(processContext, async (file) => {
|
|
158
|
-
const { syncCaseBindings } = await import("./case-bindings-service-
|
|
158
|
+
const { syncCaseBindings } = await import("./case-bindings-service-cht20gqt.js");
|
|
159
159
|
const [error, result] = await catchError(syncCaseBindings(file));
|
|
160
160
|
if (error) {
|
|
161
161
|
OutputFormatter.error({
|
|
@@ -627,7 +627,7 @@ var registerCasesCommand = (program) => {
|
|
|
627
627
|
}
|
|
628
628
|
const schema = buildMinimalCaseDocument({
|
|
629
629
|
...options,
|
|
630
|
-
schemaVersion: await
|
|
630
|
+
schemaVersion: await resolveCaseSchemaWriteVersion()
|
|
631
631
|
});
|
|
632
632
|
const triggerId = schema.nodes.find(isAnyTriggerNode)?.id;
|
|
633
633
|
const [writeError] = await catchError(writeSchema(options.file, schema));
|
|
@@ -759,7 +759,7 @@ var CASE_DEBUG_EXAMPLES = [
|
|
|
759
759
|
];
|
|
760
760
|
function registerDebugCommand(program) {
|
|
761
761
|
program.command("debug").description("Debug a case project by uploading to Studio Web and running a debug session").argument("<project-path>", "Path to the case project directory (must contain project.uiproj)").option("--folder-id <id>", "Orchestrator folder ID (OrganizationUnitId). Auto-detected if not provided.").option("--poll-interval <ms>", "Polling interval in milliseconds", "2000").option("--login-validity <minutes>", "Minimum minutes before token expiration to trigger a refresh (default: 10)", parseInt, 10).examples(CASE_DEBUG_EXAMPLES).trackedAction(processContext, async (projectPath, options) => {
|
|
762
|
-
const { getLoginStatusAsync } = await import("./index-
|
|
762
|
+
const { getLoginStatusAsync } = await import("./index-xq6ajhgq.js");
|
|
763
763
|
const [loginError, loginStatus] = await catchError(getLoginStatusAsync({
|
|
764
764
|
ensureTokenValidityMinutes: options.loginValidity
|
|
765
765
|
}));
|
|
@@ -862,8 +862,8 @@ function registerDebugCommand(program) {
|
|
|
862
862
|
logger.info(` Tenant: ${tenantName} (${tenantId})`);
|
|
863
863
|
logger.info(` Base URL: ${baseUrl}`);
|
|
864
864
|
const pollInterval = parseInt(options.pollInterval || "2000", 10);
|
|
865
|
-
const { CaseDebugStudioWebService } = await import("./case-debug-studio-web-service-
|
|
866
|
-
const { DebugPollTimeoutError, buildPollTimeoutFailureOutput } = await import("./debug-service-
|
|
865
|
+
const { CaseDebugStudioWebService } = await import("./case-debug-studio-web-service-3mkrtaet.js");
|
|
866
|
+
const { DebugPollTimeoutError, buildPollTimeoutFailureOutput } = await import("./debug-service-7q98j726.js");
|
|
867
867
|
const service = new CaseDebugStudioWebService;
|
|
868
868
|
logger.info(`Starting Studio Web debug session for: ${projectPath}`);
|
|
869
869
|
const [executeError, result] = await catchError(service.executeProjectViaStudioWeb(projectPath, studioWebConfig, {
|
|
@@ -889,7 +889,7 @@ function registerDebugCommand(program) {
|
|
|
889
889
|
const {
|
|
890
890
|
buildSolutionUploadFailureOutput,
|
|
891
891
|
isSolutionUploadHttpError
|
|
892
|
-
} = await import("./index-
|
|
892
|
+
} = await import("./index-a2fvrrth.js");
|
|
893
893
|
if (isSolutionUploadHttpError(executeError)) {
|
|
894
894
|
OutputFormatter.error(buildSolutionUploadFailureOutput(executeError, {
|
|
895
895
|
subject: "case",
|
|
@@ -1235,7 +1235,7 @@ var CASE_FORMAT_EXAMPLES = [
|
|
|
1235
1235
|
];
|
|
1236
1236
|
var registerFormatCommand = (program) => {
|
|
1237
1237
|
program.command("format").description("Rewrite a case plan JSON file pretty-printed (2-space indent, one key per line) so it can be patched with a file-edit tool.").argument("<file>", "Path to the case plan JSON file, rewritten in place").examples(CASE_FORMAT_EXAMPLES).trackedAction(processContext, async (file) => {
|
|
1238
|
-
const { formatCasePlan } = await import("./case-format-service-
|
|
1238
|
+
const { formatCasePlan } = await import("./case-format-service-6aew6tqc.js");
|
|
1239
1239
|
const [error, result] = await catchError(formatCasePlan(file));
|
|
1240
1240
|
if (error) {
|
|
1241
1241
|
OutputFormatter.error({
|
|
@@ -1287,7 +1287,7 @@ var CASE_INIT_EXAMPLES = [
|
|
|
1287
1287
|
Data: {
|
|
1288
1288
|
Status: "Created successfully",
|
|
1289
1289
|
Path: "/workspace/my-case-project",
|
|
1290
|
-
CasePlan: "/workspace/my-case-project/caseplan.
|
|
1290
|
+
CasePlan: "/workspace/my-case-project/caseplan.case",
|
|
1291
1291
|
CasePlanStatus: "Created"
|
|
1292
1292
|
}
|
|
1293
1293
|
}
|
|
@@ -1298,7 +1298,7 @@ var initCaseProject = async (name, options) => {
|
|
|
1298
1298
|
throw new Error(`Invalid project name "${name}". Name can only contain letters, numbers, underscores (_), and hyphens (-).`);
|
|
1299
1299
|
}
|
|
1300
1300
|
const fs = getFileSystem();
|
|
1301
|
-
const { prepareProjectLocation, tryRegisterProjectInParentSolution } = await import("./index-
|
|
1301
|
+
const { prepareProjectLocation, tryRegisterProjectInParentSolution } = await import("./index-a2fvrrth.js");
|
|
1302
1302
|
const { projectDir, autoCreatedSolution } = await prepareProjectLocation(fs, fs.path.resolve(name), name, { skipRegistration: options.skipSolutionRegistration === true });
|
|
1303
1303
|
const projectDirExists = await fs.stat(projectDir).then(() => true).catch((err) => {
|
|
1304
1304
|
const code = err instanceof Error ? err.code : undefined;
|
|
@@ -1323,6 +1323,13 @@ var initCaseProject = async (name, options) => {
|
|
|
1323
1323
|
}
|
|
1324
1324
|
};
|
|
1325
1325
|
await safeMkdir(projectDir);
|
|
1326
|
+
const { CasePlanFileNames, casePlanSidecarName, findCasePlanFileName } = await import("./index-n9qvnx4x.js");
|
|
1327
|
+
const [readError, entries] = await catchError(fs.readdir(projectDir));
|
|
1328
|
+
if (readError || entries === undefined) {
|
|
1329
|
+
throw new Error(`Could not read "${projectDir}" to find an existing case plan (${readError?.message ?? "no entries returned"}), so no plan was written: a new one could shadow a plan already there.`);
|
|
1330
|
+
}
|
|
1331
|
+
const casePlanFileName = findCasePlanFileName(entries) ?? CasePlanFileNames[0];
|
|
1332
|
+
const sidecarFileName = casePlanSidecarName(casePlanFileName);
|
|
1326
1333
|
const projectId = crypto.randomUUID();
|
|
1327
1334
|
const operateJson = {
|
|
1328
1335
|
$schema: "https://cloud.uipath.com/draft/2024-12/operate",
|
|
@@ -1334,26 +1341,32 @@ var initCaseProject = async (name, options) => {
|
|
|
1334
1341
|
isAttended: false
|
|
1335
1342
|
}
|
|
1336
1343
|
};
|
|
1337
|
-
const
|
|
1344
|
+
const casePlanPath = fs.path.join(projectDir, casePlanFileName);
|
|
1345
|
+
const casePlanExists = await fs.exists(casePlanPath);
|
|
1346
|
+
const entryPointsPath = fs.path.join(projectDir, "entry-points.json");
|
|
1347
|
+
const readIfThere = async (path) => {
|
|
1348
|
+
if (!await fs.exists(path))
|
|
1349
|
+
return;
|
|
1350
|
+
const [error, text] = await catchError(fs.readFile(path, "utf-8"));
|
|
1351
|
+
if (error || text === null) {
|
|
1352
|
+
throw new Error(`Could not read "${path}" (${error?.message ?? "no content returned"}), so the project's entry points were not rewritten: they have to follow what that file says.`);
|
|
1353
|
+
}
|
|
1354
|
+
return String(text);
|
|
1355
|
+
};
|
|
1356
|
+
const { initEntryPoints } = await import("./init-entry-points-hhpv3e3f.js");
|
|
1357
|
+
const entryPoints = initEntryPoints({
|
|
1358
|
+
sidecarFileName,
|
|
1359
|
+
...casePlanExists && {
|
|
1360
|
+
keptPlan: await readIfThere(casePlanPath) ?? ""
|
|
1361
|
+
},
|
|
1362
|
+
existingEntryPoints: await readIfThere(entryPointsPath),
|
|
1363
|
+
newId: () => crypto.randomUUID()
|
|
1364
|
+
});
|
|
1365
|
+
const entryPointsJson = "write" in entryPoints ? {
|
|
1338
1366
|
$schema: "https://cloud.uipath.com/draft/2024-12/entry-point",
|
|
1339
1367
|
$id: "entry-points.json",
|
|
1340
|
-
entryPoints:
|
|
1341
|
-
|
|
1342
|
-
filePath: `/content/caseplan.json.bpmn#${DEFAULT_TRIGGER_ID}`,
|
|
1343
|
-
uniqueId: crypto.randomUUID(),
|
|
1344
|
-
type: "CaseManagement",
|
|
1345
|
-
input: {
|
|
1346
|
-
type: "object",
|
|
1347
|
-
properties: {}
|
|
1348
|
-
},
|
|
1349
|
-
output: {
|
|
1350
|
-
type: "object",
|
|
1351
|
-
properties: {}
|
|
1352
|
-
},
|
|
1353
|
-
displayName: DEFAULT_TRIGGER_LABEL
|
|
1354
|
-
}
|
|
1355
|
-
]
|
|
1356
|
-
};
|
|
1368
|
+
entryPoints: entryPoints.write
|
|
1369
|
+
} : undefined;
|
|
1357
1370
|
const bindingsJson = {
|
|
1358
1371
|
version: "2.0",
|
|
1359
1372
|
resources: []
|
|
@@ -1364,8 +1377,8 @@ var initCaseProject = async (name, options) => {
|
|
|
1364
1377
|
"operate.json": "content/operate.json",
|
|
1365
1378
|
"entry-points.json": "content/entry-points.json",
|
|
1366
1379
|
"bindings.json": "content/bindings_v2.json",
|
|
1367
|
-
|
|
1368
|
-
|
|
1380
|
+
[casePlanFileName]: `content/${casePlanFileName}`,
|
|
1381
|
+
[sidecarFileName]: `content/${sidecarFileName}`
|
|
1369
1382
|
}
|
|
1370
1383
|
};
|
|
1371
1384
|
const projectUiproj = {
|
|
@@ -1376,25 +1389,36 @@ var initCaseProject = async (name, options) => {
|
|
|
1376
1389
|
`);
|
|
1377
1390
|
await fs.writeFile(fs.path.join(projectDir, "operate.json"), `${JSON.stringify(operateJson, null, 2)}
|
|
1378
1391
|
`);
|
|
1379
|
-
|
|
1392
|
+
if (entryPointsJson !== undefined) {
|
|
1393
|
+
await fs.writeFile(entryPointsPath, `${JSON.stringify(entryPointsJson, null, 2)}
|
|
1380
1394
|
`);
|
|
1395
|
+
}
|
|
1381
1396
|
await fs.writeFile(fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(bindingsJson, null, 2)}
|
|
1382
1397
|
`);
|
|
1383
1398
|
await fs.writeFile(fs.path.join(projectDir, "package-descriptor.json"), `${JSON.stringify(packageDescriptorJson, null, 2)}
|
|
1384
1399
|
`);
|
|
1385
|
-
const
|
|
1386
|
-
|
|
1387
|
-
if (!casePlanExists) {
|
|
1388
|
-
await fs.writeFile(casePlanPath, `${JSON.stringify(buildMinimalCaseDocument({
|
|
1400
|
+
const newCasePlan = async () => {
|
|
1401
|
+
const document = buildMinimalCaseDocument({
|
|
1389
1402
|
name,
|
|
1390
|
-
schemaVersion: await
|
|
1391
|
-
})
|
|
1403
|
+
schemaVersion: await resolveCaseSchemaWriteVersion()
|
|
1404
|
+
});
|
|
1405
|
+
if ("write" in entryPoints) {
|
|
1406
|
+
const [{ entryPointIdsByNode }, { stampEntryPointIds }] = await Promise.all([
|
|
1407
|
+
import("./case-event-trigger-bindings-g9ftnm4x.js"),
|
|
1408
|
+
import("./trigger-entry-point-id-yhqwnkx9.js")
|
|
1409
|
+
]);
|
|
1410
|
+
stampEntryPointIds(document, entryPointIdsByNode({ entryPoints: entryPoints.write }));
|
|
1411
|
+
}
|
|
1412
|
+
return document;
|
|
1413
|
+
};
|
|
1414
|
+
if (!casePlanExists) {
|
|
1415
|
+
await fs.writeFile(casePlanPath, `${JSON.stringify(await newCasePlan(), null, 4)}
|
|
1392
1416
|
`);
|
|
1393
1417
|
}
|
|
1394
1418
|
const solutionRegistration = await tryRegisterProjectInParentSolution(fs, projectDir, { skipRegistration: options.skipSolutionRegistration === true });
|
|
1395
1419
|
let projectArtifacts;
|
|
1396
1420
|
if ((solutionRegistration.Status === "Registered" || solutionRegistration.Status === "AlreadyRegistered") && solutionRegistration.Solution && solutionRegistration.ProjectId) {
|
|
1397
|
-
const { ensureProjectArtifacts } = await import("./project-artifacts-
|
|
1421
|
+
const { ensureProjectArtifacts } = await import("./project-artifacts-bgyyb0dm.js");
|
|
1398
1422
|
projectArtifacts = await ensureProjectArtifacts({
|
|
1399
1423
|
solutionDir: fs.path.dirname(solutionRegistration.Solution),
|
|
1400
1424
|
projectId: solutionRegistration.ProjectId,
|
|
@@ -1449,8 +1473,8 @@ var registerInstancesCommand = (program) => {
|
|
|
1449
1473
|
};
|
|
1450
1474
|
|
|
1451
1475
|
// src/commands/job.ts
|
|
1452
|
-
var loadAuth = () => import("./index-
|
|
1453
|
-
var loadCaseApi = () => import("./case-api-
|
|
1476
|
+
var loadAuth = () => import("./index-xq6ajhgq.js");
|
|
1477
|
+
var loadCaseApi = () => import("./case-api-sme7esce.js");
|
|
1454
1478
|
var CASE_JOB_STATUS_EXAMPLES = [
|
|
1455
1479
|
{
|
|
1456
1480
|
Description: "Get detailed status of a case job",
|
|
@@ -1696,7 +1720,7 @@ var CASE_PACK_EXAMPLES = [
|
|
|
1696
1720
|
var registerPackCommand = (program) => {
|
|
1697
1721
|
const command = program.command("pack").description("Pack a Case project into a .nupkg file").argument("<project-path>", "Path to the Case project directory").argument("<output-path>", "Output directory where the .nupkg will be saved").option("-n, --name <name>", "Package name (default: project folder name)").option("-v, --version <version>", "Package version (default: 1.0.0)", "1.0.0");
|
|
1698
1722
|
registerPackageMetadataOptions(command).examples(CASE_PACK_EXAMPLES).trackedAction(processContext, async (projectPath, outputPath, options) => {
|
|
1699
|
-
const { CasePackService } = await import("./case-pack-service-
|
|
1723
|
+
const { CasePackService } = await import("./case-pack-service-pqq8wnfd.js");
|
|
1700
1724
|
const service = new CasePackService;
|
|
1701
1725
|
const [error, result] = await catchError(service.execute(projectPath, {
|
|
1702
1726
|
output: outputPath,
|
|
@@ -1778,8 +1802,8 @@ var CASE_PROCESS_RUN_EXAMPLES = [
|
|
|
1778
1802
|
}
|
|
1779
1803
|
}
|
|
1780
1804
|
];
|
|
1781
|
-
var loadAuth2 = () => import("./index-
|
|
1782
|
-
var loadCaseApi2 = () => import("./case-api-
|
|
1805
|
+
var loadAuth2 = () => import("./index-xq6ajhgq.js");
|
|
1806
|
+
var loadCaseApi2 = () => import("./case-api-sme7esce.js");
|
|
1783
1807
|
function registerProcessCommand(program) {
|
|
1784
1808
|
const processCmd = program.command("process").description("Manage Case processes");
|
|
1785
1809
|
registerSharedProcessCommands(processCmd, { toolLabel: "Case" });
|
|
@@ -2017,7 +2041,7 @@ function registerProcessCommand(program) {
|
|
|
2017
2041
|
}
|
|
2018
2042
|
inputs = parsed;
|
|
2019
2043
|
} else {
|
|
2020
|
-
const { readStdin } = await import("./input-reader-
|
|
2044
|
+
const { readStdin } = await import("./input-reader-c7wz8ra2.js");
|
|
2021
2045
|
const [stdinError, stdinData] = await catchError(readStdin());
|
|
2022
2046
|
if (!stdinError && stdinData) {
|
|
2023
2047
|
const [parseError, parsed] = await catchError(parseCaseInputs(stdinData));
|
|
@@ -2320,6 +2344,18 @@ var REGISTRY_GET_CONNECTION_EXAMPLES = [
|
|
|
2320
2344
|
}
|
|
2321
2345
|
}
|
|
2322
2346
|
];
|
|
2347
|
+
async function reportSearchError(error) {
|
|
2348
|
+
const details = await extractErrorDetails(error);
|
|
2349
|
+
OutputFormatter.error({
|
|
2350
|
+
Result: RESULTS.Failure,
|
|
2351
|
+
Message: "Error searching resources",
|
|
2352
|
+
Instructions: details.message,
|
|
2353
|
+
ErrorCode: details.errorCode,
|
|
2354
|
+
Retry: details.retry,
|
|
2355
|
+
Context: details.context
|
|
2356
|
+
});
|
|
2357
|
+
processContext.exit(1);
|
|
2358
|
+
}
|
|
2323
2359
|
var registerRegistryCommand = (program) => {
|
|
2324
2360
|
const registry = program.command("registry").description("Manage the Case management registry").addHelpText("after", `
|
|
2325
2361
|
Typical workflow:
|
|
@@ -2333,7 +2369,7 @@ Subcommands:
|
|
|
2333
2369
|
search Find resources by keyword and/or field filters
|
|
2334
2370
|
get Get full schema for a single resource`);
|
|
2335
2371
|
registry.command("pull").description("Pull and sync data from Case registry").option("-f, --force", "Force refresh, ignore cache").option("-s, --solution-id <solutionId>", "Include the registry of the solution").examples(REGISTRY_PULL_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
2336
|
-
const { pullResources } = await import("./resourcesSyncService-
|
|
2372
|
+
const { pullResources } = await import("./resourcesSyncService-d302jnap.js");
|
|
2337
2373
|
const [mapError, promises] = catchError(() => RESOURCE_TYPES.map((type) => pullResources({
|
|
2338
2374
|
force: options.force,
|
|
2339
2375
|
solutionId: options.solutionId
|
|
@@ -2385,7 +2421,7 @@ Subcommands:
|
|
|
2385
2421
|
processContext.exit(1);
|
|
2386
2422
|
return;
|
|
2387
2423
|
}
|
|
2388
|
-
const { searchResources, searchResourcesWithFilters } = await import("./resourcesSyncService-
|
|
2424
|
+
const { searchResources, searchResourcesWithFilters } = await import("./resourcesSyncService-d302jnap.js");
|
|
2389
2425
|
let searchResult;
|
|
2390
2426
|
if (options.filter) {
|
|
2391
2427
|
const [parseError, filters] = catchError(() => parseFilterString(options.filter));
|
|
@@ -2402,12 +2438,7 @@ Subcommands:
|
|
|
2402
2438
|
local: options.local
|
|
2403
2439
|
}));
|
|
2404
2440
|
if (searchError) {
|
|
2405
|
-
|
|
2406
|
-
Result: RESULTS.Failure,
|
|
2407
|
-
Message: "Error searching resources",
|
|
2408
|
-
Instructions: searchError.message
|
|
2409
|
-
});
|
|
2410
|
-
processContext.exit(1);
|
|
2441
|
+
await reportSearchError(searchError);
|
|
2411
2442
|
return;
|
|
2412
2443
|
}
|
|
2413
2444
|
searchResult = searchResults;
|
|
@@ -2416,12 +2447,7 @@ Subcommands:
|
|
|
2416
2447
|
local: options.local
|
|
2417
2448
|
}));
|
|
2418
2449
|
if (searchError) {
|
|
2419
|
-
|
|
2420
|
-
Result: RESULTS.Failure,
|
|
2421
|
-
Message: "Error searching resources",
|
|
2422
|
-
Instructions: searchError.message
|
|
2423
|
-
});
|
|
2424
|
-
processContext.exit(1);
|
|
2450
|
+
await reportSearchError(searchError);
|
|
2425
2451
|
return;
|
|
2426
2452
|
}
|
|
2427
2453
|
searchResult = searchResults;
|
|
@@ -2443,7 +2469,7 @@ Subcommands:
|
|
|
2443
2469
|
});
|
|
2444
2470
|
});
|
|
2445
2471
|
registry.command("list").description("List all resources (use pull to update list)").option("--local", "List only in-solution sibling project resources (requires a .uipx in the current directory, its parent, or grandparent). Skips the tenant cache.").examples(REGISTRY_LIST_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
2446
|
-
const { listLocalResources, listResources } = await import("./resourcesSyncService-
|
|
2472
|
+
const { listLocalResources, listResources } = await import("./resourcesSyncService-d302jnap.js");
|
|
2447
2473
|
let grouped;
|
|
2448
2474
|
if (options.local) {
|
|
2449
2475
|
const [localError, localGrouped] = await catchError(listLocalResources());
|
|
@@ -2490,7 +2516,7 @@ Subcommands:
|
|
|
2490
2516
|
});
|
|
2491
2517
|
});
|
|
2492
2518
|
registry.command("get").description("Get resource(s) by identifier (entityKey or id)").argument("<identifier>", "The entityKey (process-types) or id (action-apps) of the resource").addOption(new Option("-t, --type <type>", `Limit search to a specific resource type (${GET_SEARCHABLE_TYPES.map((t) => t.type).join(", ")})`).choices(GET_SEARCHABLE_TYPES.map((t) => t.type))).option("--connection-id <id>", "Connection ID for connector-specific IS field metadata (custom fields). Only applies to typecache-* activity / trigger results.").option("--local", "Resolve the identifier against in-solution sibling project resources (requires a .uipx in the current directory, its parent, or grandparent). Skips the tenant cache. The identifier is the sibling's resource key or .uipx project Id.").examples(REGISTRY_GET_EXAMPLES).trackedAction(processContext, async (identifier, options) => {
|
|
2493
|
-
const { getResources } = await import("./resourcesSyncService-
|
|
2519
|
+
const { getResources } = await import("./resourcesSyncService-d302jnap.js");
|
|
2494
2520
|
const [error, matches] = await catchError(getResources(identifier, options.type, {
|
|
2495
2521
|
local: options.local
|
|
2496
2522
|
}));
|
|
@@ -2527,11 +2553,11 @@ Subcommands:
|
|
|
2527
2553
|
const id = m.resource.uiPathActivityTypeId;
|
|
2528
2554
|
if (typeof id !== "string")
|
|
2529
2555
|
return m;
|
|
2530
|
-
const { lookupTypeCacheEntry } = await import("./connector-lookup-service-
|
|
2556
|
+
const { lookupTypeCacheEntry } = await import("./connector-lookup-service-dwv8q5eh.js");
|
|
2531
2557
|
const [lookupError, lookupResult] = await catchError(lookupTypeCacheEntry(id, m.resourceType));
|
|
2532
2558
|
if (lookupError)
|
|
2533
2559
|
return m;
|
|
2534
|
-
const { enrichConnectorRegistryEntry } = await import("./connector-enrichment-service-
|
|
2560
|
+
const { enrichConnectorRegistryEntry } = await import("./connector-enrichment-service-crqs2216.js");
|
|
2535
2561
|
const [enrichError, definitions] = await catchError(enrichConnectorRegistryEntry(lookupResult.config, options.connectionId));
|
|
2536
2562
|
if (enrichError || definitions === null)
|
|
2537
2563
|
return m;
|
|
@@ -2557,7 +2583,7 @@ Subcommands:
|
|
|
2557
2583
|
});
|
|
2558
2584
|
});
|
|
2559
2585
|
registry.command("get-connector").description(`Look up a connector activity/trigger from the local TypeCache index. ${OUTPUT_CASING_HINT}`).addOption(new Option("-t, --type <type>", "Resource type").choices([...TYPECACHE_INDEX_TYPES]).makeOptionMandatory()).requiredOption("--activity-type-id <id>", "The uiPathActivityTypeId to look up").examples(REGISTRY_GET_CONNECTOR_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
2560
|
-
const { lookupTypeCacheEntry } = await import("./connector-lookup-service-
|
|
2586
|
+
const { lookupTypeCacheEntry } = await import("./connector-lookup-service-dwv8q5eh.js");
|
|
2561
2587
|
const [error, result] = await catchError(lookupTypeCacheEntry(options.activityTypeId, options.type));
|
|
2562
2588
|
if (error) {
|
|
2563
2589
|
OutputFormatter.error({
|
|
@@ -2578,7 +2604,7 @@ Subcommands:
|
|
|
2578
2604
|
}, { preserveDataKeys: VERBATIM_REGISTRY_FIELDS });
|
|
2579
2605
|
});
|
|
2580
2606
|
registry.command("get-connection").description(`Look up a connector and fetch available connections from Integration Service. ${OUTPUT_CASING_HINT}`).addOption(new Option("-t, --type <type>", "Resource type").choices([...TYPECACHE_INDEX_TYPES]).makeOptionMandatory()).requiredOption("--activity-type-id <id>", "The uiPathActivityTypeId to look up").examples(REGISTRY_GET_CONNECTION_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
2581
|
-
const { fetchConnectorConnections, lookupTypeCacheEntry } = await import("./connector-lookup-service-
|
|
2607
|
+
const { fetchConnectorConnections, lookupTypeCacheEntry } = await import("./connector-lookup-service-dwv8q5eh.js");
|
|
2582
2608
|
const [lookupError, lookupResult] = await catchError(lookupTypeCacheEntry(options.activityTypeId, options.type));
|
|
2583
2609
|
if (lookupError) {
|
|
2584
2610
|
OutputFormatter.error({
|
|
@@ -2628,7 +2654,7 @@ var reportParseFailure = (file, error) => {
|
|
|
2628
2654
|
ErrorCode: "invalid_argument",
|
|
2629
2655
|
Retry: "RetryWillNotFix",
|
|
2630
2656
|
Message: `Could not parse ${file}: ${error.message}`,
|
|
2631
|
-
Instructions: "The document is read as Markdown. Check that its tables are well formed."
|
|
2657
|
+
Instructions: error.name === "SddNameCollisionError" ? `Rename one variable of each pair named above in ${file}, then run the command again.` : "The document is read as Markdown. Check that its tables are well formed."
|
|
2632
2658
|
});
|
|
2633
2659
|
processContext.exit(1);
|
|
2634
2660
|
};
|
|
@@ -2686,12 +2712,12 @@ var SDD_RESOLVE_EXAMPLES = [
|
|
|
2686
2712
|
var SDD_CONVERT_EXAMPLES = [
|
|
2687
2713
|
{
|
|
2688
2714
|
Description: "Emit a case plan from an SDD, and list what the SDD does not determine",
|
|
2689
|
-
Command: "uip maestro case sdd convert sdd.md --out caseplan.
|
|
2715
|
+
Command: "uip maestro case sdd convert sdd.md --out caseplan.case",
|
|
2690
2716
|
Output: {
|
|
2691
2717
|
Code: "SddConvert",
|
|
2692
2718
|
Data: {
|
|
2693
2719
|
File: "sdd.md",
|
|
2694
|
-
Out: "caseplan.
|
|
2720
|
+
Out: "caseplan.case",
|
|
2695
2721
|
Derived: { stages: 8, tasks: 15, conditions: 11, variables: 0 },
|
|
2696
2722
|
Unresolved: [
|
|
2697
2723
|
{
|
|
@@ -2707,7 +2733,7 @@ var SDD_CONVERT_EXAMPLES = [
|
|
|
2707
2733
|
var registerSddCommand = (program) => {
|
|
2708
2734
|
const sdd = program.command("sdd").description("Read and inspect a Solution Design Document (sdd.md) — the document `validate --sdd` audits a case plan against.");
|
|
2709
2735
|
sdd.command("parse").description("Print the structured model parsed out of an sdd.md, as JSON. Reads the document only: it audits nothing and needs no case plan. Fields under `intake` describe the read (row counts, whether a section was seen, parser notes) rather than the document.").argument("<file>", "Path to the sdd.md to read").examples(SDD_PARSE_EXAMPLES).trackedAction(processContext, async (file) => {
|
|
2710
|
-
const { getFileSystemAsync } = await import("./index-
|
|
2736
|
+
const { getFileSystemAsync } = await import("./index-ngs0a2he.js");
|
|
2711
2737
|
const fs = await getFileSystemAsync();
|
|
2712
2738
|
if (!await fs.exists(file)) {
|
|
2713
2739
|
OutputFormatter.error({
|
|
@@ -2725,7 +2751,7 @@ var registerSddCommand = (program) => {
|
|
|
2725
2751
|
reportReadFailure(file, readError);
|
|
2726
2752
|
return;
|
|
2727
2753
|
}
|
|
2728
|
-
const { parseSddToJson } = await import("./strict-sdd-audit-
|
|
2754
|
+
const { parseSddToJson } = await import("./strict-sdd-audit-q7tb9yj7.js");
|
|
2729
2755
|
const [parseError, model] = catchError(() => parseSddToJson(text));
|
|
2730
2756
|
if (parseError) {
|
|
2731
2757
|
reportParseFailure(file, parseError);
|
|
@@ -2738,7 +2764,7 @@ var registerSddCommand = (program) => {
|
|
|
2738
2764
|
}, { preserveDataKeys: ["model"] });
|
|
2739
2765
|
});
|
|
2740
2766
|
sdd.command("resolve").description("Resolve an sdd.md's task resources against the caches `registry pull` wrote. Does the part of the registry gate that has one right answer — which index a task type uses, the exact-name search, the folder narrowing — and reports the part that does not: a name matching several resources is left for a person to choose between, and a name matching none is grouped for one batched question. Reads caches only: no tenant, no network.").argument("<file>", "Path to the sdd.md to resolve").option("--out <file>", "Write the resolved file to this path instead of printing it").examples(SDD_RESOLVE_EXAMPLES).trackedAction(processContext, async (file, options) => {
|
|
2741
|
-
const { getFileSystemAsync } = await import("./index-
|
|
2767
|
+
const { getFileSystemAsync } = await import("./index-ngs0a2he.js");
|
|
2742
2768
|
const fs = await getFileSystemAsync();
|
|
2743
2769
|
if (!await fs.exists(file)) {
|
|
2744
2770
|
OutputFormatter.error({
|
|
@@ -2756,14 +2782,26 @@ var registerSddCommand = (program) => {
|
|
|
2756
2782
|
reportReadFailure(file, readError);
|
|
2757
2783
|
return;
|
|
2758
2784
|
}
|
|
2759
|
-
const { parseSddToJson } = await import("./strict-sdd-audit-
|
|
2760
|
-
const { resolveSddResources } = await import("./sdd-resolve-service-
|
|
2785
|
+
const { parseSddToJson } = await import("./strict-sdd-audit-q7tb9yj7.js");
|
|
2786
|
+
const { resolveCacheFiles, resolveSddResources } = await import("./sdd-resolve-service-qdtmxw9b.js");
|
|
2787
|
+
const { loadSiblings } = await import("./sdd-resolve-siblings-6kfxc2t6.js");
|
|
2761
2788
|
const [parseError, model] = catchError(() => parseSddToJson(text));
|
|
2762
2789
|
if (parseError) {
|
|
2763
2790
|
reportParseFailure(file, parseError);
|
|
2764
2791
|
return;
|
|
2765
2792
|
}
|
|
2766
|
-
const
|
|
2793
|
+
const [siblingError, siblings] = await catchError(loadSiblings(resolveCacheFiles()));
|
|
2794
|
+
if (siblingError) {
|
|
2795
|
+
OutputFormatter.error({
|
|
2796
|
+
Result: RESULTS.Failure,
|
|
2797
|
+
ErrorCode: "unknown_error",
|
|
2798
|
+
Message: `Could not read the solution's projects: ${siblingError.message}`,
|
|
2799
|
+
Instructions: "Check that the .uipx and its project folders are readable, or run outside the solution to resolve against the tenant caches only."
|
|
2800
|
+
});
|
|
2801
|
+
processContext.exit(1);
|
|
2802
|
+
return;
|
|
2803
|
+
}
|
|
2804
|
+
const result = await resolveSddResources(model, { siblings });
|
|
2767
2805
|
const counts = {
|
|
2768
2806
|
tasks: result.resolved.length,
|
|
2769
2807
|
selected: result.resolved.filter((one) => one.selected !== null).length,
|
|
@@ -2789,7 +2827,7 @@ var registerSddCommand = (program) => {
|
|
|
2789
2827
|
return;
|
|
2790
2828
|
}
|
|
2791
2829
|
}
|
|
2792
|
-
const { staleCacheWarning } = await import("./sdd-resolve-service-
|
|
2830
|
+
const { staleCacheWarning } = await import("./sdd-resolve-service-qdtmxw9b.js");
|
|
2793
2831
|
const warnings = [
|
|
2794
2832
|
...result.scope.missingIndexes.map((missing) => `The \`${missing}\` index is not pulled, so tasks needing it were not searched. Run \`uip maestro case registry pull\`.`),
|
|
2795
2833
|
staleCacheWarning(result.scope.cache)
|
|
@@ -2826,7 +2864,7 @@ var registerSddCommand = (program) => {
|
|
|
2826
2864
|
});
|
|
2827
2865
|
});
|
|
2828
2866
|
sdd.command("convert").description("Emit a case plan from an sdd.md. Writes only what the document determines and reports what it does not — a resource that has to be resolved against a tenant, a cross-task reference, a connector's connection. The result is checked with `case validate`, not here.").argument("<file>", "Path to the sdd.md to convert").option("--out <file>", "Write the case plan to this path instead of printing it").option("--resolved <file>", "Read a `sdd resolve` file and use it to fill a resource name or folder the document left out").examples(SDD_CONVERT_EXAMPLES).trackedAction(processContext, async (file, options) => {
|
|
2829
|
-
const { getFileSystemAsync } = await import("./index-
|
|
2867
|
+
const { getFileSystemAsync } = await import("./index-ngs0a2he.js");
|
|
2830
2868
|
const fs = await getFileSystemAsync();
|
|
2831
2869
|
if (!await fs.exists(file)) {
|
|
2832
2870
|
OutputFormatter.error({
|
|
@@ -2844,8 +2882,8 @@ var registerSddCommand = (program) => {
|
|
|
2844
2882
|
reportReadFailure(file, readError);
|
|
2845
2883
|
return;
|
|
2846
2884
|
}
|
|
2847
|
-
const { parseSddToJson } = await import("./strict-sdd-audit-
|
|
2848
|
-
const { convertSddToCasePlan } = await import("./sdd-convert-service-
|
|
2885
|
+
const { parseSddToJson } = await import("./strict-sdd-audit-q7tb9yj7.js");
|
|
2886
|
+
const { convertSddToCasePlan } = await import("./sdd-convert-service-8jpew7vz.js");
|
|
2849
2887
|
let resolved;
|
|
2850
2888
|
let resolvedEntries = [];
|
|
2851
2889
|
if (options.resolved !== undefined) {
|
|
@@ -2909,7 +2947,7 @@ var registerSddCommand = (program) => {
|
|
|
2909
2947
|
processContext.exit(1);
|
|
2910
2948
|
return;
|
|
2911
2949
|
}
|
|
2912
|
-
const { isDeferredEntry } = await import("./resolved-check-
|
|
2950
|
+
const { isDeferredEntry } = await import("./resolved-check-aqw7568y.js");
|
|
2913
2951
|
const deferred = new Set;
|
|
2914
2952
|
for (const entry of entries ?? []) {
|
|
2915
2953
|
if (isDeferredEntry(entry)) {
|
|
@@ -2935,7 +2973,7 @@ var registerSddCommand = (program) => {
|
|
|
2935
2973
|
reportParseFailure(file, parseError);
|
|
2936
2974
|
return;
|
|
2937
2975
|
}
|
|
2938
|
-
const { staleResolvedEntry } = await import("./resolved-check-
|
|
2976
|
+
const { staleResolvedEntry } = await import("./resolved-check-aqw7568y.js");
|
|
2939
2977
|
const stale = staleResolvedEntry(model, resolvedEntries);
|
|
2940
2978
|
if (stale !== undefined) {
|
|
2941
2979
|
OutputFormatter.error({
|
|
@@ -2952,14 +2990,18 @@ var registerSddCommand = (program) => {
|
|
|
2952
2990
|
const fallback = fromFile === "" ? "case" : fromFile;
|
|
2953
2991
|
const result = convertSddToCasePlan(model, {
|
|
2954
2992
|
name: model.caseName ?? fallback,
|
|
2955
|
-
schemaVersion: await
|
|
2993
|
+
schemaVersion: await resolveCaseSchemaWriteVersion(),
|
|
2956
2994
|
...model.caseDescription !== undefined && {
|
|
2957
2995
|
description: model.caseDescription
|
|
2958
2996
|
},
|
|
2959
2997
|
...resolved !== undefined && { resolved }
|
|
2960
2998
|
});
|
|
2961
2999
|
if (options.out !== undefined) {
|
|
2962
|
-
const {
|
|
3000
|
+
const {
|
|
3001
|
+
correctedConvert,
|
|
3002
|
+
otherPlanInProject,
|
|
3003
|
+
projectsBelowOut
|
|
3004
|
+
} = await import("./out-target-wjgmna0r.js");
|
|
2963
3005
|
const meant = await projectsBelowOut(fs, options.out);
|
|
2964
3006
|
if (meant.length > 0) {
|
|
2965
3007
|
const corrected = meant.length === 1 ? correctedConvert(file, meant[0], options.resolved) : undefined;
|
|
@@ -2968,7 +3010,57 @@ var registerSddCommand = (program) => {
|
|
|
2968
3010
|
ErrorCode: "invalid_argument",
|
|
2969
3011
|
Retry: "RetryWillNotFix",
|
|
2970
3012
|
Message: `${options.out} is not in a case project, and the folder holding it contains ${meant.length === 1 ? "one" : `${meant.length}`}: ${meant.join(", ")}. Writing here leaves a second case plan beside the project's.`,
|
|
2971
|
-
Instructions: meant.length === 1 ? corrected === undefined ? `Pass \`--out\` as ${meant[0]}, the
|
|
3013
|
+
Instructions: meant.length === 1 ? corrected === undefined ? `Pass \`--out\` as ${meant[0]}, the ${fs.path.basename(meant[0])} inside the project.` : `Write into the project: \`${corrected}\`.` : `Pass \`--out\` as the case plan inside the project you mean — one of ${meant.join(", ")}.`
|
|
3014
|
+
});
|
|
3015
|
+
processContext.exit(1);
|
|
3016
|
+
return;
|
|
3017
|
+
}
|
|
3018
|
+
const [listError, plan] = await catchError(otherPlanInProject(fs, options.out));
|
|
3019
|
+
if (listError) {
|
|
3020
|
+
OutputFormatter.error({
|
|
3021
|
+
Result: RESULTS.Failure,
|
|
3022
|
+
ErrorCode: "unknown_error",
|
|
3023
|
+
Retry: "RetryWillNotFix",
|
|
3024
|
+
Message: listError.message,
|
|
3025
|
+
Instructions: `Make the project folder readable and its project.uiproj readable, valid JSON, so convert can see which plan it holds, then re-run. ${options.out} was not written.`
|
|
3026
|
+
});
|
|
3027
|
+
processContext.exit(1);
|
|
3028
|
+
return;
|
|
3029
|
+
}
|
|
3030
|
+
if (plan !== undefined) {
|
|
3031
|
+
const corrected = correctedConvert(file, plan, options.resolved);
|
|
3032
|
+
OutputFormatter.error({
|
|
3033
|
+
Result: RESULTS.Failure,
|
|
3034
|
+
ErrorCode: "invalid_argument",
|
|
3035
|
+
Retry: "RetryWillNotFix",
|
|
3036
|
+
Message: `${options.out} is in a case project whose plan is ${plan}. \`pack\` reads ${fs.path.basename(plan)}, so writing here leaves a second case plan it never reads.`,
|
|
3037
|
+
Instructions: corrected === undefined ? `Pass \`--out\` as ${plan}, the project's own plan.` : `Write the project's own plan: \`${corrected}\`.`
|
|
3038
|
+
});
|
|
3039
|
+
processContext.exit(1);
|
|
3040
|
+
return;
|
|
3041
|
+
}
|
|
3042
|
+
const { stampFromEntryPointsBeside } = await import("./trigger-entry-point-id-yhqwnkx9.js");
|
|
3043
|
+
const stamped = await stampFromEntryPointsBeside(result.document, options.out);
|
|
3044
|
+
if ("error" in stamped) {
|
|
3045
|
+
OutputFormatter.error({
|
|
3046
|
+
Result: RESULTS.Failure,
|
|
3047
|
+
ErrorCode: "unknown_error",
|
|
3048
|
+
Retry: "RetryWillNotFix",
|
|
3049
|
+
Message: stamped.error,
|
|
3050
|
+
Instructions: `Fix or remove the project's entry-points.json, then re-run. ${options.out} was not written: its triggers take their entryPointId from that file.`
|
|
3051
|
+
});
|
|
3052
|
+
processContext.exit(1);
|
|
3053
|
+
return;
|
|
3054
|
+
}
|
|
3055
|
+
const { carryCanvasNotesFrom } = await import("./canvas-notes-86fxx1t8.js");
|
|
3056
|
+
const carried = await carryCanvasNotesFrom(result.document, options.out, result.unresolved);
|
|
3057
|
+
if (typeof carried !== "number") {
|
|
3058
|
+
OutputFormatter.error({
|
|
3059
|
+
Result: RESULTS.Failure,
|
|
3060
|
+
ErrorCode: "unknown_error",
|
|
3061
|
+
Retry: "RetryWillNotFix",
|
|
3062
|
+
Message: carried.error,
|
|
3063
|
+
Instructions: `Fix ${options.out}, or move it aside to convert from scratch, then re-run. ${options.out} was not written: its sticky notes may hold edits made in the Case Designer.`
|
|
2972
3064
|
});
|
|
2973
3065
|
processContext.exit(1);
|
|
2974
3066
|
return;
|
|
@@ -3686,7 +3778,8 @@ var registerSlaCommand = (program) => {
|
|
|
3686
3778
|
var VERBATIM_SPEC_FIELDS = [
|
|
3687
3779
|
"caseShape",
|
|
3688
3780
|
"typecacheEntry",
|
|
3689
|
-
"essentialConfiguration"
|
|
3781
|
+
"essentialConfiguration",
|
|
3782
|
+
"resourceBindings"
|
|
3690
3783
|
];
|
|
3691
3784
|
var SPEC_EXAMPLES = [
|
|
3692
3785
|
{
|
|
@@ -3744,7 +3837,7 @@ var SPEC_EXAMPLES = [
|
|
|
3744
3837
|
}
|
|
3745
3838
|
];
|
|
3746
3839
|
var registerSpecCommand = (program) => {
|
|
3747
|
-
program.command("spec").description(`Generate a normalized ConnectorTaskSpec — a one-stop description of everything a consumer needs to construct a runnable Integration Service activity or trigger task. Looks up the typeId in the local TypeCache, lists IS connections for the connector, and fetches IS metadata. ${OUTPUT_CASING_HINT}`).addOption(new Option("--type <type>", "TypeCache to look up").choices(["activity", "trigger"]).makeOptionMandatory()).requiredOption("--activity-type-id <uuid>", "Studio Web uiPathActivityTypeId — found via 'uip maestro case registry pull' + reading typecache-{activities,triggers}-index.json or 'uip maestro case registry get-connector'").requiredOption("--connection-id <id>", "Connection UUID. List candidates with `uip maestro case registry get-connection --type typecache-{activities,triggers} --activity-type-id <uuid>` and pick one before invoking spec.").option("--object-name <name>", "Override the typecache objectName. Required for entity-typed Curated triggers whose typecache stores a placeholder (e.g. Data Service `{tenantEntityName|folderEntityName}` — pick a real entity name).").addOption(new Option("--trigger-kind <kind>", "With --type trigger: 'start' for a case start trigger (Intsvc.EventTrigger on a trigger node, runtime type CuratedTrigger) or 'wait-for' for a wait-for-connector task or condition rule (runtime type CuratedWaitFor). Ignored for --type activity.").choices(["start", "wait-for"]).default("wait-for")).option("--skip-case-shape", "Omit `caseShape` (`inputs[]`, `outputs[]`, `context[]`) from the response. Use during the planning phase when the caller only needs the connector contract (`inputs.*[?required]`, `references[*].discoverCommand`, `outputs.responseFields`). Re-run without the flag during implementation to get the full caseShape scaffold. Mutually exclusive with --input-details.").option("--input-details <json>", "JSON values to fold into the generated `caseShape`. Activity accepts {bodyParameters, queryParameters, pathParameters, filter}; trigger accepts {eventParameters, queryParameters, pathParameters, filter}. See `packages/case-tool/docs/spec-input-details.md` for the full reference. Mutually exclusive with --skip-case-shape.").examples(SPEC_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
3840
|
+
program.command("spec").description(`Generate a normalized ConnectorTaskSpec — a one-stop description of everything a consumer needs to construct a runnable Integration Service activity or trigger task. Looks up the typeId in the local TypeCache, lists IS connections for the connector, and fetches IS metadata. ${OUTPUT_CASING_HINT}`).addOption(new Option("--type <type>", "TypeCache to look up").choices(["activity", "trigger"]).makeOptionMandatory()).requiredOption("--activity-type-id <uuid>", "Studio Web uiPathActivityTypeId — found via 'uip maestro case registry pull' + reading typecache-{activities,triggers}-index.json or 'uip maestro case registry get-connector'").requiredOption("--connection-id <id>", "Connection UUID. List candidates with `uip maestro case registry get-connection --type typecache-{activities,triggers} --activity-type-id <uuid>` and pick one before invoking spec.").option("--object-name <name>", "Override the typecache objectName. Required for entity-typed Curated triggers whose typecache stores a placeholder (e.g. Data Service `{tenantEntityName|folderEntityName}` — pick a real entity name).").addOption(new Option("--trigger-kind <kind>", "With --type trigger: 'start' for a case start trigger (Intsvc.EventTrigger on a trigger node, runtime type CuratedTrigger) or 'wait-for' for a wait-for-connector task or condition rule (runtime type CuratedWaitFor). Ignored for --type activity.").choices(["start", "wait-for"]).default("wait-for")).option("--skip-case-shape", "Omit `caseShape` (`inputs[]`, `outputs[]`, `context[]`) from the response. Use during the planning phase when the caller only needs the connector contract (`inputs.*[?required]`, `references[*].discoverCommand`, `outputs.responseFields`). Re-run without the flag during implementation to get the full caseShape scaffold. Mutually exclusive with --input-details.").option("--input-details <json>", "JSON values to fold into the generated `caseShape`. Activity accepts {bodyParameters, queryParameters, pathParameters, filter}; trigger accepts {eventParameters, queryParameters, pathParameters, filter}. See `packages/case-tool/docs/spec-input-details.md` for the full reference. Mutually exclusive with --skip-case-shape.").option("--solution-folder <path>", "Solution root that resource-picker values (such as a Data Fabric entity) in --input-details are referenced into. Defaults to the solution containing the current folder.").examples(SPEC_EXAMPLES).trackedAction(processContext, async (options) => {
|
|
3748
3841
|
logger.info(`Fetching ${options.type} spec for typeId ${options.activityTypeId} (connection: ${options.connectionId})`);
|
|
3749
3842
|
let parsedInputDetails;
|
|
3750
3843
|
if (options.inputDetails !== undefined) {
|
|
@@ -3773,9 +3866,10 @@ var registerSpecCommand = (program) => {
|
|
|
3773
3866
|
objectNameOverride: options.objectName,
|
|
3774
3867
|
skipCaseShape: options.skipCaseShape === true,
|
|
3775
3868
|
triggerKind: options.triggerKind,
|
|
3869
|
+
solutionFolder: options.solutionFolder,
|
|
3776
3870
|
inputDetails: parsedInputDetails
|
|
3777
3871
|
};
|
|
3778
|
-
const { fetchConnectorTaskSpec } = await import("./connector-task-spec-
|
|
3872
|
+
const { fetchConnectorTaskSpec } = await import("./connector-task-spec-trs4tcb3.js");
|
|
3779
3873
|
const [error, spec] = await catchError(fetchConnectorTaskSpec(options.type, options.activityTypeId, options.connectionId, fetchOpts));
|
|
3780
3874
|
if (error) {
|
|
3781
3875
|
OutputFormatter.error({
|
|
@@ -3820,7 +3914,7 @@ var SPLICE_EXAMPLES = [
|
|
|
3820
3914
|
];
|
|
3821
3915
|
var registerSpliceCommand = (program) => {
|
|
3822
3916
|
program.command("splice").description("Write a connector task's `caseShape` from a `case spec` result into the task that runs it: `data.context` with the binding references resolved, `data.inputs`/`data.outputs` with their ids minted, the matching `serviceType`, and the connection's root bindings. Does the transport by hand-carrying nothing — the shape comes from the spec, the bindings from the binding builder, the service type from the task's own type. Offline: it reads the spec you hand it and never fetches one.").argument("<file>", "Path to the case plan to splice into").option("--task-id <task-id>", "Id of the connector task to write into, from `nodes[].data.tasks[][].id`. Pass this or --task-name.").option("--task-name <task-name>", "Display name of the task to write into, exactly as the plan spells it — same case and spacing, the way the SDD audit compares it. Pass this or --task-id.").option("--described <file>", "A `uip maestro case tasks describe` result saved as JSON. Writes a resource task's inputs and outputs from the resource's own contract — types, schemas and options — keeping the ids the plan already carries. Use instead of --spec for a process, rpa, business-rule, api-workflow, agent, action, function or child-case task.").option("--spec <file>", "A `uip maestro case spec` result saved as JSON — the envelope as written, `Data.CaseShape` and all. A bare shape or an older PascalCased save is read too. Must carry the shape: run spec without `--skip-case-shape`.").option("--connection-id <id>", "Connection UUID the task runs against. Optional: it defaults to the connection the spec was fetched for, which the spec's own `caseShape.context.resourceKey` states. Pass it to override, and a value that disagrees with the spec is refused. The root bindings are keyed on it, so splicing twice for the same connection reuses them rather than appending a second pair.").option("--folder-key <key>", "Folder key for the connection. Optional: it defaults to the folder the spec's own `Data.Connection.FolderKey` states, and a value that disagrees with the spec is refused. When the connection has no folder, `case spec` returns a shape with no `folderKey` entry, and this drops any folder binding left over for that connection rather than leaving one with no `default`. If the shape asks for a folder binding and neither this nor the spec gives one, that is refused rather than written.").option("--out <file>", "Write the spliced plan here instead of in place").examples(SPLICE_EXAMPLES).trackedAction(processContext, async (file, options) => {
|
|
3823
|
-
const { getFileSystemAsync } = await import("./index-
|
|
3917
|
+
const { getFileSystemAsync } = await import("./index-ngs0a2he.js");
|
|
3824
3918
|
const fs = await getFileSystemAsync();
|
|
3825
3919
|
const mode = options.described !== undefined ? "described" : "spec";
|
|
3826
3920
|
if (options.described === undefined === (options.spec === undefined)) {
|
|
@@ -3887,7 +3981,7 @@ var registerSpliceCommand = (program) => {
|
|
|
3887
3981
|
}
|
|
3888
3982
|
const taskId = selected.id;
|
|
3889
3983
|
if (mode === "described") {
|
|
3890
|
-
const { applyDescribedIo, isDescribedIoFailure } = await import("./case-described-io-service-
|
|
3984
|
+
const { applyDescribedIo, isDescribedIoFailure } = await import("./case-described-io-service-dx1f4nxe.js");
|
|
3891
3985
|
const applied = applyDescribedIo(plan, specDocument, {
|
|
3892
3986
|
taskId
|
|
3893
3987
|
});
|
|
@@ -3915,14 +4009,15 @@ var registerSpliceCommand = (program) => {
|
|
|
3915
4009
|
TaskId: applied.summary.taskId,
|
|
3916
4010
|
InputsUpdated: applied.summary.inputsUpdated,
|
|
3917
4011
|
OutputsUpdated: applied.summary.outputsUpdated,
|
|
3918
|
-
Unmatched: applied.summary.unmatched
|
|
4012
|
+
Unmatched: applied.summary.unmatched,
|
|
4013
|
+
Skipped: applied.summary.skipped
|
|
3919
4014
|
},
|
|
3920
4015
|
NextSteps: "Run `uip maestro case validate <file> --strict` to check the task."
|
|
3921
4016
|
}
|
|
3922
4017
|
});
|
|
3923
4018
|
return;
|
|
3924
4019
|
}
|
|
3925
|
-
const { readCaseShape, readSpecFolderKey } = await import("./case-shape-reader-
|
|
4020
|
+
const { readCaseShape, readSpecFolderKey } = await import("./case-shape-reader-dsbraetf.js");
|
|
3926
4021
|
const caseShape = readCaseShape(specDocument);
|
|
3927
4022
|
if (caseShape === undefined) {
|
|
3928
4023
|
OutputFormatter.error({
|
|
@@ -3935,7 +4030,7 @@ var registerSpliceCommand = (program) => {
|
|
|
3935
4030
|
processContext.exit(1);
|
|
3936
4031
|
return;
|
|
3937
4032
|
}
|
|
3938
|
-
const { spliceConnectorShape, isSpliceFailure } = await import("./case-splice-service-
|
|
4033
|
+
const { spliceConnectorShape, isSpliceFailure } = await import("./case-splice-service-s5gccctq.js");
|
|
3939
4034
|
const result = spliceConnectorShape(plan, caseShape, {
|
|
3940
4035
|
taskId,
|
|
3941
4036
|
connectionId: options.connectionId,
|
|
@@ -3953,6 +4048,8 @@ var registerSpliceCommand = (program) => {
|
|
|
3953
4048
|
processContext.exit(1);
|
|
3954
4049
|
return;
|
|
3955
4050
|
}
|
|
4051
|
+
const { designerShapeConnectorTasks } = await import("./connector-task-shape-mpazkf7s.js");
|
|
4052
|
+
designerShapeConnectorTasks(result.document, (task) => task.id === taskId);
|
|
3956
4053
|
const target = options.out ?? file;
|
|
3957
4054
|
await fs.writeFile(target, `${JSON.stringify(result.document, null, 4)}
|
|
3958
4055
|
`);
|
|
@@ -5088,6 +5185,30 @@ var registerStagesCommand = (program) => {
|
|
|
5088
5185
|
};
|
|
5089
5186
|
|
|
5090
5187
|
// src/commands/sticky-notes.ts
|
|
5188
|
+
var STICKY_NOTES_GET_EXAMPLES = [
|
|
5189
|
+
{
|
|
5190
|
+
Description: "Read one sticky note on the case canvas",
|
|
5191
|
+
Command: "uip maestro case sticky-notes get caseplan.case StickyNote_a1b2c3",
|
|
5192
|
+
Output: {
|
|
5193
|
+
Code: "StickyNoteFound",
|
|
5194
|
+
Data: {
|
|
5195
|
+
StickyNote: {
|
|
5196
|
+
Id: "StickyNote_a1b2c3",
|
|
5197
|
+
Type: "case-management:StickyNote",
|
|
5198
|
+
Position: { X: 400, Y: 120 },
|
|
5199
|
+
Data: {
|
|
5200
|
+
ParentElement: {
|
|
5201
|
+
Id: "root",
|
|
5202
|
+
Type: "case-management:root"
|
|
5203
|
+
},
|
|
5204
|
+
Color: "yellow",
|
|
5205
|
+
Content: "Confirm the breach SLA with ops."
|
|
5206
|
+
}
|
|
5207
|
+
}
|
|
5208
|
+
}
|
|
5209
|
+
}
|
|
5210
|
+
}
|
|
5211
|
+
];
|
|
5091
5212
|
function requireStickyNoteNode(schema, noteId) {
|
|
5092
5213
|
const node = schema.nodes.find((n) => n.id === noteId);
|
|
5093
5214
|
if (!node) {
|
|
@@ -5241,7 +5362,7 @@ var registerStickyNotesCommand = (program) => {
|
|
|
5241
5362
|
}
|
|
5242
5363
|
});
|
|
5243
5364
|
});
|
|
5244
|
-
stickyNotes.command("get").description("Print a sticky note from a case management definition").argument("<file>", "Path to the case management JSON file").argument("<note-id>", "ID of the sticky note to retrieve").trackedAction(processContext, async (file, noteId) => {
|
|
5365
|
+
stickyNotes.command("get").description("Print a sticky note from a case management definition").argument("<file>", "Path to the case management JSON file").argument("<note-id>", "ID of the sticky note to retrieve").examples(STICKY_NOTES_GET_EXAMPLES).trackedAction(processContext, async (file, noteId) => {
|
|
5245
5366
|
const [readError, schema] = await catchError(readSchema(file));
|
|
5246
5367
|
if (readError) {
|
|
5247
5368
|
OutputFormatter.error({
|
|
@@ -5715,6 +5836,63 @@ var registerTaskEntryConditionsCommand = (program) => {
|
|
|
5715
5836
|
});
|
|
5716
5837
|
};
|
|
5717
5838
|
|
|
5839
|
+
// src/commands/task-types.ts
|
|
5840
|
+
var TASK_TYPES_LIST_EXAMPLES = [
|
|
5841
|
+
{
|
|
5842
|
+
Description: "List the task types an SDD may declare, the ones only Studio Web authors, and the spellings that are not task types",
|
|
5843
|
+
Command: "uip maestro case task-types list --output json",
|
|
5844
|
+
Output: {
|
|
5845
|
+
Code: "TaskTypeList",
|
|
5846
|
+
Data: {
|
|
5847
|
+
WriteSchemaVersion: "<the case plan schema version sdd convert stamps>",
|
|
5848
|
+
ReadSchemaVersion: "<the newest case plan schema version this CLI reads>",
|
|
5849
|
+
Authorable: [{ Type: "action" }, { Type: "wait-for-timer" }],
|
|
5850
|
+
StudioWebOnly: [{ Type: "script" }],
|
|
5851
|
+
NotTaskTypes: [
|
|
5852
|
+
{
|
|
5853
|
+
Spelling: "connector-activity",
|
|
5854
|
+
Layer: "uip maestro case tasks describe --type",
|
|
5855
|
+
PlanType: "execute-connector-activity"
|
|
5856
|
+
}
|
|
5857
|
+
]
|
|
5858
|
+
}
|
|
5859
|
+
}
|
|
5860
|
+
}
|
|
5861
|
+
];
|
|
5862
|
+
var caseSchemaVersions = async () => {
|
|
5863
|
+
const { resolveCaseSchemaVersion, resolveCaseSchemaWriteVersion: resolveCaseSchemaWriteVersion2 } = await import("./case-schema-version-h820ne16.js");
|
|
5864
|
+
const [writeSchemaVersion, readSchemaVersion] = await Promise.all([
|
|
5865
|
+
resolveCaseSchemaWriteVersion2(),
|
|
5866
|
+
resolveCaseSchemaVersion()
|
|
5867
|
+
]);
|
|
5868
|
+
return { writeSchemaVersion, readSchemaVersion };
|
|
5869
|
+
};
|
|
5870
|
+
var registerTaskTypesCommand = (program, sources = { load: caseSchemaVersions }) => {
|
|
5871
|
+
const taskTypes = program.command("task-types").description("The case task types: which an SDD may declare, which only Studio Web authors, and which spellings are not task types.");
|
|
5872
|
+
taskTypes.command("list").description("List the case task types an SDD may declare (`Authorable`), the real types only Studio Web authors (`StudioWebOnly`), and spellings that name the right concept in another layer but are not task types (`NotTaskTypes`, each with the plan type to write). `WriteSchemaVersion` is what `sdd convert` stamps; `ReadSchemaVersion` is the newest a plan may declare and still validate. Reads nothing from the tenant.").examples(TASK_TYPES_LIST_EXAMPLES).trackedAction(processContext, async () => {
|
|
5873
|
+
const [error, declaration] = await catchError((async () => {
|
|
5874
|
+
const { taskTypeDeclaration } = await import("./task-type-declaration-7a8fqdvs.js");
|
|
5875
|
+
return taskTypeDeclaration(await sources.load());
|
|
5876
|
+
})());
|
|
5877
|
+
if (error) {
|
|
5878
|
+
OutputFormatter.error({
|
|
5879
|
+
Result: RESULTS.Failure,
|
|
5880
|
+
ErrorCode: "unknown_error",
|
|
5881
|
+
Retry: "RetryWillNotFix",
|
|
5882
|
+
Message: `Could not read the case schema versions: ${error.message}`,
|
|
5883
|
+
Instructions: "The installed case tool carries a broken schema package or floor file. Run `uip tools update maestro`, then re-run."
|
|
5884
|
+
});
|
|
5885
|
+
processContext.exit(1);
|
|
5886
|
+
return;
|
|
5887
|
+
}
|
|
5888
|
+
OutputFormatter.success({
|
|
5889
|
+
Result: RESULTS.Success,
|
|
5890
|
+
Code: "TaskTypeList",
|
|
5891
|
+
Data: declaration
|
|
5892
|
+
});
|
|
5893
|
+
});
|
|
5894
|
+
};
|
|
5895
|
+
|
|
5718
5896
|
// src/commands/tasks.ts
|
|
5719
5897
|
var TASKS_ADD_EXAMPLES = [
|
|
5720
5898
|
{
|
|
@@ -5831,9 +6009,9 @@ var TASKS_DESCRIBE_EXAMPLES = [
|
|
|
5831
6009
|
}
|
|
5832
6010
|
}
|
|
5833
6011
|
];
|
|
5834
|
-
var loadConnectorEnrichment = () => import("./connector-enrichment-service-
|
|
5835
|
-
var loadTriggerEnrichment = () => import("./trigger-enrichment-service-
|
|
5836
|
-
var loadEnrichment = () => import("./enrichment-service-
|
|
6012
|
+
var loadConnectorEnrichment = () => import("./connector-enrichment-service-crqs2216.js");
|
|
6013
|
+
var loadTriggerEnrichment = () => import("./trigger-enrichment-service-sj0p2d1j.js");
|
|
6014
|
+
var loadEnrichment = () => import("./enrichment-service-hv7ff88p.js");
|
|
5837
6015
|
var TASK_TYPES = [
|
|
5838
6016
|
"process",
|
|
5839
6017
|
"action",
|
|
@@ -5989,6 +6167,8 @@ async function saveConnectorTask(params) {
|
|
|
5989
6167
|
const taskData = params.task.data;
|
|
5990
6168
|
taskData.bindings = usedBindings;
|
|
5991
6169
|
params.stageNode.data.tasks[params.laneIndex].push(params.task);
|
|
6170
|
+
const { designerConnectorShape } = await import("./connector-task-shape-mpazkf7s.js");
|
|
6171
|
+
designerConnectorShape(params.task);
|
|
5992
6172
|
const [writeError] = await catchError(writeSchema(params.file, params.schema));
|
|
5993
6173
|
if (writeError)
|
|
5994
6174
|
throw writeError;
|
|
@@ -6092,7 +6272,11 @@ async function describeConnectorTrigger(id, connectionId) {
|
|
|
6092
6272
|
async function describeEnrichableTask(type, id) {
|
|
6093
6273
|
const { enrichTask } = await loadEnrichment();
|
|
6094
6274
|
const result = await enrichTask(type, id);
|
|
6095
|
-
return {
|
|
6275
|
+
return {
|
|
6276
|
+
inputs: result.inputs,
|
|
6277
|
+
outputs: result.outputs,
|
|
6278
|
+
...result.version !== undefined && { version: result.version }
|
|
6279
|
+
};
|
|
6096
6280
|
}
|
|
6097
6281
|
async function runDescribeTask(options) {
|
|
6098
6282
|
const normalizedType = options.type.toLowerCase();
|
|
@@ -6565,6 +6749,9 @@ var registerTasksCommand = (program) => {
|
|
|
6565
6749
|
Data: {
|
|
6566
6750
|
inputs: result.inputs,
|
|
6567
6751
|
outputs: result.outputs,
|
|
6752
|
+
...result.version !== undefined && {
|
|
6753
|
+
version: result.version
|
|
6754
|
+
},
|
|
6568
6755
|
...result.enrichment ? { enrichment: result.enrichment } : {}
|
|
6569
6756
|
}
|
|
6570
6757
|
}, { preserveDataKeys: VERBATIM_TASK_IO_FIELDS });
|
|
@@ -6868,7 +7055,7 @@ var registerTriggersCommand = (program) => {
|
|
|
6868
7055
|
const result = await readAndBuildTrigger(file, options.displayName, options.position, options.description);
|
|
6869
7056
|
if (result.error)
|
|
6870
7057
|
return;
|
|
6871
|
-
const { enrichConnectorTrigger } = await import("./trigger-enrichment-service-
|
|
7058
|
+
const { enrichConnectorTrigger } = await import("./trigger-enrichment-service-sj0p2d1j.js");
|
|
6872
7059
|
const [enrichError, enrichment] = await catchError(enrichConnectorTrigger("start", options.typeId, options.connectionId, parsedEventParams));
|
|
6873
7060
|
if (enrichError) {
|
|
6874
7061
|
OutputFormatter.error({
|
|
@@ -7001,11 +7188,11 @@ var toIssueData = (issues) => issues.map((issue) => ({
|
|
|
7001
7188
|
Severity: issue.severity
|
|
7002
7189
|
}));
|
|
7003
7190
|
var suppressedAudit = async (file, shown) => {
|
|
7004
|
-
const { findAdjacentSdd } = await import("./sdd-lookup-
|
|
7191
|
+
const { findAdjacentSdd } = await import("./sdd-lookup-fe900sdb.js");
|
|
7005
7192
|
const [lookupError, sdd] = await catchError(Promise.resolve(findAdjacentSdd(file)));
|
|
7006
7193
|
if (lookupError || sdd === undefined)
|
|
7007
7194
|
return;
|
|
7008
|
-
const { CaseValidateService } = await import("./case-validate-service-
|
|
7195
|
+
const { CaseValidateService } = await import("./case-validate-service-rey6btew.js");
|
|
7009
7196
|
const [auditError, audited] = await catchError(new CaseValidateService().validateFileUsingSDK(file, {
|
|
7010
7197
|
profile: "strict",
|
|
7011
7198
|
sddPath: sdd
|
|
@@ -7021,7 +7208,7 @@ var suppressedAudit = async (file, shown) => {
|
|
|
7021
7208
|
};
|
|
7022
7209
|
};
|
|
7023
7210
|
var executeCaseValidate = async (file, options = {}) => {
|
|
7024
|
-
const { CaseValidateService } = await import("./case-validate-service-
|
|
7211
|
+
const { CaseValidateService } = await import("./case-validate-service-rey6btew.js");
|
|
7025
7212
|
const service = new CaseValidateService;
|
|
7026
7213
|
const [error, result] = await catchError(service.validateFileUsingSDK(file, {
|
|
7027
7214
|
profile: resolveProfile(options),
|
|
@@ -7354,8 +7541,8 @@ var DEPRECATED_CASE_AUTHORING_MUTATORS = [
|
|
|
7354
7541
|
["sla", "rules", "add"],
|
|
7355
7542
|
["sla", "rules", "remove"]
|
|
7356
7543
|
];
|
|
7357
|
-
var DIRECT_EDIT_REPLACEMENT = "Edit caseplan.json directly, then run `uip maestro case validate <file>`." + " See the uipath-maestro-case skill (references/plugins/) for the stage and task JSON shapes.";
|
|
7358
|
-
var EDGE_REPLACEMENT = "Keep
|
|
7544
|
+
var DIRECT_EDIT_REPLACEMENT = "Edit the case plan (caseplan.case, or caseplan.json in an older project) directly, then run `uip maestro case validate <file>`." + " See the uipath-maestro-case skill (references/plugins/) for the stage and task JSON shapes.";
|
|
7545
|
+
var EDGE_REPLACEMENT = "Keep the case plan's edges as []; model transitions with stage entry/exit conditions, then run `uip maestro case validate <file>`." + " See the uipath-maestro-case skill (references/plugins/) for the stage and task JSON shapes.";
|
|
7359
7546
|
function findCommand(program, commandParts) {
|
|
7360
7547
|
let parent = program;
|
|
7361
7548
|
for (const part of commandParts) {
|
|
@@ -7412,7 +7599,7 @@ var metadata = {
|
|
|
7412
7599
|
commandPrefix: "case"
|
|
7413
7600
|
};
|
|
7414
7601
|
var registerCommands = async (program) => {
|
|
7415
|
-
const { registerCaseAuthoringCommands } = await import("./authoring-
|
|
7602
|
+
const { registerCaseAuthoringCommands } = await import("./authoring-kqh34zzm.js");
|
|
7416
7603
|
registerCaseAuthoringCommands(program);
|
|
7417
7604
|
registerInitCommand(program);
|
|
7418
7605
|
registerSddCommand(program);
|
|
@@ -7429,6 +7616,7 @@ var registerCommands = async (program) => {
|
|
|
7429
7616
|
registerCasesCommand(program);
|
|
7430
7617
|
registerStagesCommand(program);
|
|
7431
7618
|
registerTasksCommand(program);
|
|
7619
|
+
registerTaskTypesCommand(program);
|
|
7432
7620
|
registerSlaCommand(program);
|
|
7433
7621
|
registerSpecCommand(program);
|
|
7434
7622
|
registerSpliceCommand(program);
|
|
@@ -7446,4 +7634,4 @@ var registerCommands = async (program) => {
|
|
|
7446
7634
|
|
|
7447
7635
|
export { metadata, registerCommands };
|
|
7448
7636
|
|
|
7449
|
-
//# debugId=
|
|
7637
|
+
//# debugId=3FBF33D826E0E6A264756E2164756E21
|