@uipath/case-tool 1.202.1 → 1.203.0-preview.180

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +75 -251
  2. package/dist/{authoring-vpa82rhb.js → authoring-kngaggwm.js} +42 -4
  3. package/dist/{case-api-63ncrr7n.js → case-api-v6cjyrfw.js} +8 -8
  4. package/dist/case-bindings-service-1wxfghzd.js +240 -0
  5. package/dist/case-debug-studio-web-service-tpfm4r66.js +133 -0
  6. package/dist/case-format-service-q345a2fd.js +84 -0
  7. package/dist/{case-pack-service-72ymxkvq.js → case-pack-service-29rza2q2.js} +61 -11
  8. package/dist/{case-validate-service-4fzrq8ee.js → case-validate-service-cqw3tz9y.js} +1422 -40
  9. package/dist/{connector-enrichment-service-wqdd0561.js → connector-enrichment-service-qa26zsjg.js} +20 -20
  10. package/dist/{connector-lookup-service-cwm3bk3a.js → connector-lookup-service-8v4qawd5.js} +7 -7
  11. package/dist/{connector-task-spec-pn5vqw89.js → connector-task-spec-q9v9vjd2.js} +24 -24
  12. package/dist/{de-MUJPA4EB-209jpeqe.js → de-MUJPA4EB-dpg7t2rw.js} +3 -3
  13. package/dist/{debug-service-rgh5q6v7.js → debug-service-8x087xxt.js} +2 -2
  14. package/dist/{index-71zc7k6y.js → embedded-file-reader-0sjt4nkj.js} +96 -16641
  15. package/dist/{en-TBNO2WUV-rfe87pgh.js → en-BWGKA5OE-1qkvb9rn.js} +2 -2
  16. package/dist/{en-GN2ZGWUE-03z2df4k.js → en-FBPVNKFN-dqt573xn.js} +5 -3
  17. package/dist/{enrichment-service-6qd2ekgp.js → enrichment-service-7vbxcwge.js} +7 -7
  18. package/dist/{es-7SE7HX2X-qda7whn6.js → es-7SE7HX2X-8yh1aj2y.js} +3 -3
  19. package/dist/{es-MX-2MYFZU7X-6v0q5rbn.js → es-MX-2MYFZU7X-3rek4r73.js} +3 -3
  20. package/dist/first-party-service-srxaftkn.js +27 -0
  21. package/dist/{fr-MDFKNZ4C-qmypp92m.js → fr-MDFKNZ4C-h4a122k9.js} +3 -3
  22. package/dist/{index-j63n7z6x.js → index-38apv2p1.js} +6 -4
  23. package/dist/{index-kwxe1vep.js → index-fz4ttsde.js} +16 -4
  24. package/dist/index-jxj2jz45.js +16742 -0
  25. package/dist/index-kmp9fmhb.js +25 -0
  26. package/dist/index.js +10 -10
  27. package/dist/{input-reader-8kdvqfaf.js → input-reader-pnh948bq.js} +1 -1
  28. package/dist/{ja-UTQEAP34-hvyf683h.js → ja-UTQEAP34-8e0q6swp.js} +3 -3
  29. package/dist/{known-types-dec5kvwh.js → known-types-mn8xn36b.js} +4 -4
  30. package/dist/{ko-AXCHW2OK-pkwdcbmx.js → ko-AXCHW2OK-askct7f6.js} +3 -3
  31. package/dist/{node-strategy-0267x5e5.js → node-strategy-gc4sg6a2.js} +4 -4
  32. package/dist/{node-sync-service-nyzvsxte.js → node-sync-service-y471a8jm.js} +11 -11
  33. package/dist/{packager-tool-2rqwt6k1.js → packager-tool-052kvydg.js} +1 -1
  34. package/dist/packager-tool-53w8skv5.js +262 -0
  35. package/dist/{packager-tool-gqa97ecv.js → packager-tool-61hxhgeg.js} +1 -1
  36. package/dist/{packager-tool-11x9d29d.js → packager-tool-6vm5fd0w.js} +6 -6
  37. package/dist/{packager-tool-r87gxwqa.js → packager-tool-7q6z6npd.js} +12 -12
  38. package/dist/packager-tool-83qnybab.js +1564 -0
  39. package/dist/{packager-tool-ph7m6q8q.js → packager-tool-8q7vzh65.js} +5 -4
  40. package/dist/{packager-tool-g27rwyhq.js → packager-tool-adcaxdhs.js} +15 -5
  41. package/dist/{packager-tool-6q9vpaye.js → packager-tool-cg2j4rma.js} +8 -8
  42. package/dist/{packager-tool-e65xt669.js → packager-tool-cr03q3q4.js} +213 -51
  43. package/dist/packager-tool-d4sjk46c.js +88 -0
  44. package/dist/{packager-tool-4mna26cc.js → packager-tool-d88rqwk8.js} +5 -3
  45. package/dist/packager-tool-dd8bq6az.js +8462 -0
  46. package/dist/packager-tool-gdtpsdn7.js +342 -0
  47. package/dist/{packager-tool-k4edys72.js → packager-tool-hrdan5ms.js} +1 -1
  48. package/dist/{packager-tool-73266j0h.js → packager-tool-hz1mz8fs.js} +1 -1
  49. package/dist/{packager-tool-c23zrhj8.js → packager-tool-jysvpt8p.js} +2 -2
  50. package/dist/{packager-tool-m9yxkjc5.js → packager-tool-kkxhc0fp.js} +2905 -817
  51. package/dist/{packager-tool-8m22sr4j.js → packager-tool-kpcjnxd1.js} +269 -23
  52. package/dist/{packager-tool-s44cpykq.js → packager-tool-n6vfz7c3.js} +22 -16
  53. package/dist/{packager-tool-axgsbgv9.js → packager-tool-sqd89cn1.js} +10 -13
  54. package/dist/{packager-tool-fh1f8bv4.js → packager-tool-tatg1kz2.js} +10 -9
  55. package/dist/{packager-tool-51a9f6yz.js → packager-tool-wefb1zw3.js} +1 -1
  56. package/dist/{packager-tool-3fm9yhgv.js → packager-tool-x2hktw5m.js} +11 -11
  57. package/dist/{packager-tool-dqs5qy9s.js → packager-tool-yrsrzz1a.js} +134 -19
  58. package/dist/packager-tool.js +5 -1501
  59. package/dist/{project-artifacts-a69j3g1q.js → project-artifacts-8snev67g.js} +1 -1
  60. package/dist/{pt-3DIO5QWG-hb763vct.js → pt-3DIO5QWG-59b3f4bc.js} +3 -3
  61. package/dist/{pt-BR-Y6K6XHXK-37a932vp.js → pt-BR-Y6K6XHXK-mp3hwhw1.js} +3 -3
  62. package/dist/{resourcesSyncService-gnmpre85.js → resourcesSyncService-8t5qdtvt.js} +20 -20
  63. package/dist/{ro-BWR3ONRR-jmap5ajd.js → ro-BWR3ONRR-vzx3hy8a.js} +3 -3
  64. package/dist/ru-WBLQ5B2U-s4em88p0.js +10 -0
  65. package/dist/sdd-lookup-x08j9g9m.js +48 -0
  66. package/dist/{strict-case-rules-303vjvas.js → strict-case-rules-x6t0vb40.js} +141 -109
  67. package/dist/strict-sdd-audit-8e2fh9jg.js +2520 -0
  68. package/dist/tool.js +9 -9
  69. package/dist/{tr-5IIHSFW5-stsb3dar.js → tr-5IIHSFW5-hw4cewew.js} +3 -3
  70. package/dist/{trigger-enrichment-service-52h9fjqd.js → trigger-enrichment-service-n622a230.js} +24 -24
  71. package/dist/{zh-CN-R2KU4U5L-q4yhc33t.js → zh-CN-R2KU4U5L-tc1hat59.js} +3 -3
  72. package/dist/{zh-TW-GNKMELBF-r4ay2475.js → zh-TW-GNKMELBF-j674515r.js} +3 -3
  73. package/package.json +3 -2
  74. package/dist/case-debug-studio-web-service-45rb4ej9.js +0 -335
  75. package/dist/packager-tool-134mvmcm.js +0 -3040
  76. package/dist/packager-tool-ty1t2byf.js +0 -27
  77. package/dist/ru-WBLQ5B2U-8r3c7v6d.js +0 -10
  78. package/dist/strict-sdd-audit-qdmc9e1y.js +0 -1024
package/dist/tool.js CHANGED
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  metadata,
3
3
  registerCommands
4
- } from "./packager-tool-e65xt669.js";
5
- import"./packager-tool-sv0d6wb6.js";
4
+ } from "./packager-tool-cr03q3q4.js";
6
5
  import"./packager-tool-0mj06yen.js";
7
- import"./packager-tool-6q9vpaye.js";
6
+ import"./packager-tool-sv0d6wb6.js";
7
+ import"./packager-tool-cg2j4rma.js";
8
8
  import"./packager-tool-r84ng21s.js";
9
- import"./packager-tool-g27rwyhq.js";
10
- import"./packager-tool-73266j0h.js";
9
+ import"./packager-tool-hz1mz8fs.js";
11
10
  import"./packager-tool-vepqrsse.js";
12
- import"./packager-tool-dqs5qy9s.js";
13
- import"./packager-tool-qa9gftnj.js";
14
- import"./packager-tool-8m22sr4j.js";
15
- import"./packager-tool-0v3s8r01.js";
11
+ import"./packager-tool-yrsrzz1a.js";
16
12
  import"./packager-tool-0gctz400.js";
13
+ import"./packager-tool-qa9gftnj.js";
17
14
  import"./packager-tool-yc4kw997.js";
15
+ import"./packager-tool-adcaxdhs.js";
16
+ import"./packager-tool-kpcjnxd1.js";
17
+ import"./packager-tool-0v3s8r01.js";
18
18
  import"./packager-tool-1yh8g550.js";
19
19
  export {
20
20
  metadata,
@@ -1,7 +1,7 @@
1
- import"./packager-tool-c23zrhj8.js";
1
+ import"./packager-tool-jysvpt8p.js";
2
2
  import"./packager-tool-1yh8g550.js";
3
3
 
4
- // ../../node_modules/@uipath/flow-schema/dist/tr-5IIHSFW5.js
4
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/tr-5IIHSFW5.js
5
5
  var agentDuplicateToolNames_duplicateName_message = 'Araç adı "{{name}}" bu aracıda birden çok araç tarafından kullanılıyor. Her aracın benzersiz bir adı olmalıdır.';
6
6
  var agentEmptyVar_unwrittenVariable_message = 'Aracı "$vars{{root}}" ancak hiçbir düğüm "{{root}}" öğesine bir değer atamadığından çalışma zamanında boş olur. Bir düğüm çıkışına (örneğin bir bağlayıcının "<node>.çıkış") ya da bir değer kaynağı atayın.';
7
7
  var agentInputRefs_ambiguousUnderscoreRoot_message = 'İstem "$vars.{{ref}}" başvurusunda bulunuyor, adı "{{rootSegment}}" aracı-giriş kodlama ayırıcısı olarak ayrılan ve gidip gelemeyen "__" içeriyor. Çift alt çizgiyi kaldırmak için yeniden adlandırın.';
@@ -170,4 +170,4 @@ export {
170
170
  triggerRequired_message
171
171
  };
172
172
 
173
- //# debugId=D389C9D3ADEA37D764756E2164756E21
173
+ //# debugId=656DE780AED9CAE564756E2164756E21
@@ -1,48 +1,48 @@
1
1
  import {
2
2
  parseEntryConfiguration
3
- } from "./packager-tool-3fm9yhgv.js";
4
- import"./packager-tool-134mvmcm.js";
5
- import"./packager-tool-s44cpykq.js";
6
- import"./packager-tool-k4edys72.js";
3
+ } from "./packager-tool-x2hktw5m.js";
7
4
  import {
8
5
  fetchConnectorConnections,
9
6
  lookupTypeCacheEntry
10
- } from "./packager-tool-11x9d29d.js";
7
+ } from "./packager-tool-6vm5fd0w.js";
8
+ import {
9
+ addVarIdsToInputsOutputs,
10
+ buildErrorOutput
11
+ } from "./packager-tool-61hxhgeg.js";
12
+ import"./packager-tool-dd8bq6az.js";
13
+ import"./packager-tool-wefb1zw3.js";
14
+ import"./packager-tool-n6vfz7c3.js";
15
+ import"./packager-tool-hrdan5ms.js";
11
16
  import {
12
17
  ConnectionOperationsApi,
13
18
  ElementsApi,
14
19
  assertActivityMetadataResolved,
15
20
  createApiClient,
16
21
  createConfiguredActivityClient
17
- } from "./packager-tool-fh1f8bv4.js";
18
- import {
19
- addVarIdsToInputsOutputs,
20
- buildErrorOutput
21
- } from "./packager-tool-gqa97ecv.js";
22
- import"./packager-tool-51a9f6yz.js";
23
- import"./packager-tool-m9yxkjc5.js";
24
- import"./packager-tool-r87gxwqa.js";
22
+ } from "./packager-tool-tatg1kz2.js";
23
+ import"./packager-tool-kkxhc0fp.js";
24
+ import"./packager-tool-7q6z6npd.js";
25
25
  import"./packager-tool-sc961w0q.js";
26
- import"./packager-tool-4mna26cc.js";
27
- import"./packager-tool-c23zrhj8.js";
28
- import"./packager-tool-ph7m6q8q.js";
26
+ import"./packager-tool-d88rqwk8.js";
27
+ import"./packager-tool-8q7vzh65.js";
28
+ import"./packager-tool-jysvpt8p.js";
29
29
  import {
30
30
  createConnectorBindings
31
31
  } from "./packager-tool-0mj06yen.js";
32
- import"./packager-tool-6q9vpaye.js";
32
+ import"./packager-tool-cg2j4rma.js";
33
33
  import"./packager-tool-r84ng21s.js";
34
- import"./packager-tool-g27rwyhq.js";
35
- import"./packager-tool-73266j0h.js";
34
+ import"./packager-tool-hz1mz8fs.js";
36
35
  import"./packager-tool-vepqrsse.js";
37
- import"./packager-tool-dqs5qy9s.js";
36
+ import"./packager-tool-yrsrzz1a.js";
37
+ import"./packager-tool-0gctz400.js";
38
38
  import"./packager-tool-qa9gftnj.js";
39
+ import"./packager-tool-yc4kw997.js";
40
+ import"./packager-tool-adcaxdhs.js";
39
41
  import {
40
42
  catchError,
41
43
  logger
42
- } from "./packager-tool-8m22sr4j.js";
44
+ } from "./packager-tool-kpcjnxd1.js";
43
45
  import"./packager-tool-0v3s8r01.js";
44
- import"./packager-tool-0gctz400.js";
45
- import"./packager-tool-yc4kw997.js";
46
46
  import"./packager-tool-1yh8g550.js";
47
47
 
48
48
  // src/services/trigger-enrichment-service.ts
@@ -337,4 +337,4 @@ export {
337
337
  fetchTriggerFieldInfo
338
338
  };
339
339
 
340
- //# debugId=0E16C74D39425D2D64756E2164756E21
340
+ //# debugId=42A04C4FDC1BB52F64756E2164756E21
@@ -1,7 +1,7 @@
1
- import"./packager-tool-c23zrhj8.js";
1
+ import"./packager-tool-jysvpt8p.js";
2
2
  import"./packager-tool-1yh8g550.js";
3
3
 
4
- // ../../node_modules/@uipath/flow-schema/dist/zh-CN-R2KU4U5L.js
4
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/zh-CN-R2KU4U5L.js
5
5
  var agentDuplicateToolNames_duplicateName_message = "工具名称“{{name}}”正在由该智能体上的多个工具使用。每个工具都必须具有唯一的名称。";
6
6
  var agentEmptyVar_unwrittenVariable_message = '智能体使用“$vars.{{root}}”字段但没有节点为“{{root}}”分配值,因此它在运行时为空。将其绑定到节点输出(例如连接器的“<node> .output"),或为其提供值来源。';
7
7
  var agentInputRefs_ambiguousUnderscoreRoot_message = "提示词引用“$vars.{{ref}}”,但名称“{{rootSegment}}”包含“__”,该分隔符保留为智能体输入编码分隔符,并且无法往返。重命名以删除双下划线。";
@@ -170,4 +170,4 @@ export {
170
170
  triggerRequired_message
171
171
  };
172
172
 
173
- //# debugId=FDA142E4112F764D64756E2164756E21
173
+ //# debugId=10DBE6937E7776CF64756E2164756E21
@@ -1,7 +1,7 @@
1
- import"./packager-tool-c23zrhj8.js";
1
+ import"./packager-tool-jysvpt8p.js";
2
2
  import"./packager-tool-1yh8g550.js";
3
3
 
4
- // ../../node_modules/@uipath/flow-schema/dist/zh-TW-GNKMELBF.js
4
+ // ../../node_modules/@uipath/flow-core/node_modules/@uipath/flow-schema/dist/zh-TW-GNKMELBF.js
5
5
  var agentDuplicateToolNames_duplicateName_message = "工具名稱「{{name}}」由此代理程式上的多個工具使用。每個工具都必須有一個唯一的名稱。";
6
6
  var agentEmptyVar_unwrittenVariable_message = '代理程式使用 “$vars.{{root}}”但沒有節點將值指派給 “{{root}}”,因此在執行時間該值將為空。將其係結至節點輸出 (例如,連接器的 "<node> .output") ,或指定值來源。';
7
7
  var agentInputRefs_ambiguousUnderscoreRoot_message = '提示參考 "$vars.{{ref}}",但名稱為 "{{rootSegment}}"包含“__”,該值將保留為代理程式輸入編碼分隔符號,且無法來回傳送。重新命名以移除雙底線。';
@@ -170,4 +170,4 @@ export {
170
170
  triggerRequired_message
171
171
  };
172
172
 
173
- //# debugId=144A0A065CCF5A1064756E2164756E21
173
+ //# debugId=62E7B9030EEC5F5664756E2164756E21
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@uipath/case-tool",
3
+ "author": "UiPath",
3
4
  "license": "SEE LICENSE IN LICENSE.txt",
4
- "version": "1.202.1",
5
+ "version": "1.203.0-preview.180",
5
6
  "description": "Manage Case Management instances, processes, and incidents.",
6
7
  "private": false,
7
8
  "repository": {
@@ -27,5 +28,5 @@
27
28
  "files": [
28
29
  "dist"
29
30
  ],
30
- "gitHead": "280b581b7893224d512dd194f47dd57243cc6a5c"
31
+ "gitHead": "4e0a51e3ab2c9d89afd3d35a7b087a7fa58133a0"
31
32
  }
@@ -1,335 +0,0 @@
1
- import {
2
- loadCaseSchemaAsync
3
- } from "./packager-tool-p7jgrm5r.js";
4
- import {
5
- buildSolutionPackageFromDir,
6
- createZipFromDir,
7
- uploadOrOverwriteSolution
8
- } from "./packager-tool-axgsbgv9.js";
9
- import {
10
- findSolutionFile,
11
- updateSolutionFile
12
- } from "./packager-tool-2rqwt6k1.js";
13
- import"./packager-tool-b098y4a2.js";
14
- import {
15
- extractStartEventId,
16
- uploadAndDebugSolution
17
- } from "./packager-tool-g27rwyhq.js";
18
- import {
19
- logger
20
- } from "./packager-tool-8m22sr4j.js";
21
- import {
22
- getFileSystem
23
- } from "./packager-tool-0v3s8r01.js";
24
- import"./packager-tool-1yh8g550.js";
25
-
26
- // src/services/case-debug-studio-web-service.ts
27
- class CaseDebugStudioWebService {
28
- fs;
29
- constructor() {
30
- this.fs = getFileSystem();
31
- }
32
- async readCaseFile(caseFilePath) {
33
- const absolutePath = this.fs.path.resolve(caseFilePath);
34
- if (!await this.fs.exists(absolutePath)) {
35
- throw new Error(`File not found: ${absolutePath}`);
36
- }
37
- if (!absolutePath.endsWith(".json")) {
38
- throw new Error(`Expected a .json file but got: ${this.fs.path.basename(absolutePath)}`);
39
- }
40
- const content = await this.fs.readFile(absolutePath, "utf-8");
41
- if (content === null) {
42
- throw new Error(`Could not read file: ${absolutePath}`);
43
- }
44
- return JSON.parse(content);
45
- }
46
- async readBpmnFile(bpmnFilePath) {
47
- const absolutePath = this.fs.path.resolve(bpmnFilePath);
48
- if (!await this.fs.exists(absolutePath)) {
49
- throw new Error(`File not found: ${absolutePath}`);
50
- }
51
- if (!absolutePath.endsWith(".bpmn")) {
52
- throw new Error(`Expected a .bpmn file but got: ${this.fs.path.basename(absolutePath)}`);
53
- }
54
- const xml = await this.fs.readFile(absolutePath, "utf-8");
55
- if (xml === null) {
56
- throw new Error(`Could not read file: ${absolutePath}`);
57
- }
58
- return xml;
59
- }
60
- async generateProjectFiles(caseData, bpmnXml, casePlanJson, caseFileContent, startEventId) {
61
- const caseName = caseData.name ?? caseData.root?.name ?? "case";
62
- const safeName = caseName.replace(/[^a-zA-Z0-9_-]/g, "_");
63
- const projectDir = this.fs.path.join(this.fs.env.tmpdir(), `.case-debug-${safeName}-${Date.now()}`);
64
- await this.fs.mkdir(projectDir);
65
- const entryPointId = crypto.randomUUID();
66
- const name = safeName;
67
- const resolvedStartEventId = startEventId ?? extractStartEventId(bpmnXml);
68
- const entryPointsJson = {
69
- $schema: "https://cloud.uipath.com/draft/2024-12/entry-point",
70
- $id: "entry-points.json",
71
- entryPoints: [
72
- {
73
- filePath: `/caseplan.json.bpmn#${resolvedStartEventId}`,
74
- uniqueId: entryPointId,
75
- type: "CaseManagement",
76
- displayName: caseName
77
- }
78
- ]
79
- };
80
- const bindingsJson = {
81
- version: "2.0",
82
- resources: caseData.bindings ?? []
83
- };
84
- const projectUiproj = {
85
- Name: caseName,
86
- ProjectType: "CaseManagement"
87
- };
88
- await this.fs.writeFile(this.fs.path.join(projectDir, "project.uiproj"), `${JSON.stringify(projectUiproj, null, 2)}
89
- `);
90
- await this.fs.writeFile(this.fs.path.join(projectDir, "entry-points.json"), `${JSON.stringify(entryPointsJson, null, 2)}
91
- `);
92
- await this.fs.writeFile(this.fs.path.join(projectDir, "bindings_v2.json"), `${JSON.stringify(bindingsJson, null, 2)}
93
- `);
94
- await this.fs.writeFile(this.fs.path.join(projectDir, "case-plan.json"), `${JSON.stringify(casePlanJson, null, 2)}
95
- `);
96
- await this.fs.writeFile(this.fs.path.join(projectDir, `${name}.bpmn`), bpmnXml);
97
- if (caseFileContent) {
98
- await this.fs.writeFile(this.fs.path.join(projectDir, "caseplan.json"), caseFileContent);
99
- }
100
- return projectDir;
101
- }
102
- async generateBpmnProjectFiles(filePath) {
103
- const bpmnXml = await this.readBpmnFile(filePath);
104
- const startEventId = extractStartEventId(bpmnXml);
105
- const displayName = this.fs.path.basename(filePath, ".bpmn");
106
- const safeName = displayName.replace(/[^a-zA-Z0-9_-]/g, "_");
107
- const projectDir = this.fs.path.join(this.fs.env.tmpdir(), `.case-debug-${safeName}-${Date.now()}`);
108
- await this.fs.mkdir(projectDir);
109
- const entryPointsJson = {
110
- $schema: "https://cloud.uipath.com/draft/2024-12/entry-point",
111
- $id: "entry-points.json",
112
- entryPoints: [
113
- {
114
- filePath: `/${safeName}.bpmn#${startEventId}`,
115
- uniqueId: crypto.randomUUID(),
116
- type: "CaseManagement",
117
- displayName
118
- }
119
- ]
120
- };
121
- const bindingsJson = { version: "2.0", resources: [] };
122
- const projectUiproj = {
123
- Name: displayName,
124
- ProjectType: "CaseManagement"
125
- };
126
- await this.fs.writeFile(this.fs.path.join(projectDir, "project.uiproj"), JSON.stringify(projectUiproj, null, 2));
127
- await this.fs.writeFile(this.fs.path.join(projectDir, "entry-points.json"), JSON.stringify(entryPointsJson, null, 2));
128
- await this.fs.writeFile(this.fs.path.join(projectDir, "bindings_v2.json"), JSON.stringify(bindingsJson, null, 2));
129
- await this.fs.writeFile(this.fs.path.join(projectDir, `${safeName}.bpmn`), bpmnXml);
130
- return {
131
- projectDir,
132
- projectName: safeName,
133
- entryPointBpmnFile: `${safeName}.bpmn`,
134
- startEventId
135
- };
136
- }
137
- async executeProjectViaStudioWeb(projectPath, config, callbacks, pollInterval) {
138
- const absoluteProjectPath = this.fs.path.resolve(projectPath);
139
- const projectUiprojPath = this.fs.path.join(absoluteProjectPath, "project.uiproj");
140
- if (!await this.fs.exists(projectUiprojPath)) {
141
- throw new Error(`Not a valid case project directory: missing project.uiproj in ${absoluteProjectPath}`);
142
- }
143
- const projectUiprojContent = await this.fs.readFile(projectUiprojPath, "utf-8");
144
- if (projectUiprojContent === null) {
145
- throw new Error(`Could not read project.uiproj in ${absoluteProjectPath}`);
146
- }
147
- const projectUiproj = JSON.parse(projectUiprojContent);
148
- const projectName = projectUiproj.Name;
149
- const entryPointsPath = this.fs.path.join(absoluteProjectPath, "entry-points.json");
150
- if (!await this.fs.exists(entryPointsPath)) {
151
- throw new Error(`Not a valid case project directory: missing entry-points.json in ${absoluteProjectPath}`);
152
- }
153
- const entryPointsContent = await this.fs.readFile(entryPointsPath, "utf-8");
154
- if (entryPointsContent === null) {
155
- throw new Error(`Could not read entry-points.json in ${absoluteProjectPath}`);
156
- }
157
- const entryPointsJson = JSON.parse(entryPointsContent);
158
- const rawEntryPoint = entryPointsJson.entryPoints?.[0]?.filePath ?? "";
159
- const entryPoint = rawEntryPoint.replace(/^\/content/, "");
160
- logger.info("Looking for .uipx solution file...");
161
- const solutionInfo = await findSolutionFile(this.fs, absoluteProjectPath);
162
- const existingSolutionId = solutionInfo?.solutionId;
163
- logger.info("Reading case JSON file...");
164
- const caseJsonPath = this.fs.path.join(absoluteProjectPath, "caseplan.json");
165
- if (!await this.fs.exists(caseJsonPath)) {
166
- throw new Error(`Not a valid case project directory: missing caseplan.json in ${absoluteProjectPath}`);
167
- }
168
- const caseFileContent = await this.fs.readFile(caseJsonPath, "utf-8");
169
- if (caseFileContent === null) {
170
- throw new Error(`Could not read file: ${caseJsonPath}`);
171
- }
172
- logger.info("Converting case JSON to BPMN and case plan JSON...");
173
- const { serializeCaseDiskJsonToBpmnAndRulesJson } = await loadCaseSchemaAsync();
174
- const { bpmnXml, rulesJson: casePlanJson } = await serializeCaseDiskJsonToBpmnAndRulesJson(caseFileContent);
175
- await this.fs.writeFile(this.fs.path.join(absoluteProjectPath, "caseplan.json.bpmn"), bpmnXml);
176
- await this.fs.writeFile(this.fs.path.join(absoluteProjectPath, "case-plan.json"), `${JSON.stringify(casePlanJson, null, 2)}
177
- `);
178
- logger.info("Building solution package from project...");
179
- const solutionDir = this.fs.path.resolve(absoluteProjectPath, "..");
180
- const uisPath = await buildSolutionPackageFromDir(this.fs, solutionDir);
181
- const apiConfig = {
182
- baseUrl: config.baseUrl,
183
- organizationId: config.organizationId,
184
- tenantName: config.tenantName,
185
- tenantId: config.tenantId,
186
- authToken: config.authToken,
187
- organizationUnitId: config.organizationUnitId
188
- };
189
- return uploadAndDebugSolution({
190
- upload: () => uploadOrOverwriteSolution(apiConfig, config.organizationName, uisPath, existingSolutionId, this.fs),
191
- onSolutionId: (id) => updateSolutionFile(this.fs, absoluteProjectPath, id),
192
- projectName,
193
- entryPoint,
194
- projectType: "CaseManagement",
195
- apiConfig,
196
- organizationName: config.organizationName,
197
- callbacks,
198
- pollInterval
199
- });
200
- }
201
- async buildSolutionPackage(projectDir, projectName) {
202
- const solutionId = crypto.randomUUID();
203
- const projectId = crypto.randomUUID();
204
- const stagingDir = this.fs.path.join(this.fs.env.tmpdir(), `.case-debug-solution-${Date.now()}`);
205
- await this.fs.mkdir(stagingDir);
206
- const solutionStorage = {
207
- SolutionId: solutionId,
208
- Projects: [
209
- {
210
- ProjectId: projectId,
211
- ProjectRelativePath: `${projectName}/project.uiproj`
212
- }
213
- ]
214
- };
215
- await this.fs.writeFile(this.fs.path.join(stagingDir, "SolutionStorage.json"), JSON.stringify(solutionStorage));
216
- const uipx = {
217
- SolutionId: solutionId,
218
- Projects: [
219
- {
220
- Type: "CaseManagement",
221
- ProjectRelativePath: `${projectName}/project.uiproj`,
222
- Id: projectId
223
- }
224
- ]
225
- };
226
- await this.fs.writeFile(this.fs.path.join(stagingDir, `${projectName}Solution.uipx`), JSON.stringify(uipx, null, 2));
227
- const destProjectDir = this.fs.path.join(stagingDir, projectName);
228
- await this.fs.mkdir(destProjectDir);
229
- await this.flattenCopyToDir(projectDir, destProjectDir);
230
- const uisPath = this.fs.path.join(this.fs.env.tmpdir(), `${projectName}Solution-${Date.now()}.uis`);
231
- const zipData = await createZipFromDir(this.fs, stagingDir);
232
- await this.fs.writeFile(uisPath, zipData);
233
- await this.fs.rm(stagingDir).catch(() => {});
234
- return uisPath;
235
- }
236
- async executeViaStudioWeb(filePath, config, callbacks, pollInterval) {
237
- const dotIndex = filePath.lastIndexOf(".");
238
- const ext = dotIndex >= 0 ? filePath.slice(dotIndex).toLowerCase() : "";
239
- if (ext !== ".json" && ext !== ".bpmn") {
240
- throw new Error(`Unsupported file type "${ext}". Only .json and .bpmn files are supported.`);
241
- }
242
- let projectDir;
243
- let projectName;
244
- let entryPointBpmnFile;
245
- let startEventId;
246
- if (ext === ".json") {
247
- logger.info("Reading case JSON file...");
248
- const absolutePath = this.fs.path.resolve(filePath);
249
- if (!await this.fs.exists(absolutePath)) {
250
- throw new Error(`File not found: ${absolutePath}`);
251
- }
252
- const rawContent = await this.fs.readFile(absolutePath, "utf-8");
253
- if (rawContent === null) {
254
- throw new Error(`Could not read file: ${absolutePath}`);
255
- }
256
- const caseData = JSON.parse(rawContent);
257
- logger.info("Converting case JSON to BPMN and case plan JSON...");
258
- const { serializeCaseDiskJsonToBpmnAndRulesJson } = await loadCaseSchemaAsync();
259
- const { bpmnXml, rulesJson: casePlanJson } = await serializeCaseDiskJsonToBpmnAndRulesJson(rawContent);
260
- startEventId = extractStartEventId(bpmnXml);
261
- logger.info("Generating project files...");
262
- projectDir = await this.generateProjectFiles(caseData, bpmnXml, casePlanJson, rawContent, startEventId);
263
- const caseName = caseData.name ?? caseData.root?.name ?? "case";
264
- projectName = caseName.replace(/[^a-zA-Z0-9_-]/g, "_");
265
- entryPointBpmnFile = `${projectName}.bpmn`;
266
- } else {
267
- ({ projectDir, projectName, entryPointBpmnFile, startEventId } = await this.generateBpmnProjectFiles(filePath));
268
- }
269
- logger.info("Building solution package...");
270
- const uisPath = await this.buildSolutionPackage(projectDir, projectName);
271
- const cleanupPaths = [projectDir, uisPath];
272
- try {
273
- const apiConfig = {
274
- baseUrl: config.baseUrl,
275
- organizationId: config.organizationId,
276
- tenantName: config.tenantName,
277
- tenantId: config.tenantId,
278
- authToken: config.authToken,
279
- organizationUnitId: config.organizationUnitId
280
- };
281
- const entryPoint = `/${entryPointBpmnFile}#${startEventId}`;
282
- return await uploadAndDebugSolution({
283
- upload: () => uploadOrOverwriteSolution(apiConfig, config.organizationName, uisPath, undefined, this.fs),
284
- projectName,
285
- entryPoint,
286
- projectType: "CaseManagement",
287
- apiConfig,
288
- organizationName: config.organizationName,
289
- callbacks,
290
- pollInterval
291
- });
292
- } finally {
293
- for (const p of cleanupPaths) {
294
- this.fs.rm(p).catch(() => {});
295
- }
296
- }
297
- }
298
- async copyDirRecursive(src, dest) {
299
- await this.fs.mkdir(dest);
300
- const entries = await this.fs.readdir(src);
301
- for (const entry of entries) {
302
- const srcPath = this.fs.path.join(src, entry);
303
- const destPath = this.fs.path.join(dest, entry);
304
- const stats = await this.fs.stat(srcPath);
305
- if (stats?.isDirectory()) {
306
- await this.copyDirRecursive(srcPath, destPath);
307
- } else {
308
- const content = await this.fs.readFile(srcPath);
309
- if (content !== null) {
310
- await this.fs.writeFile(destPath, content);
311
- }
312
- }
313
- }
314
- }
315
- async flattenCopyToDir(src, dest) {
316
- const entries = await this.fs.readdir(src);
317
- for (const entry of entries) {
318
- const srcPath = this.fs.path.join(src, entry);
319
- const stats = await this.fs.stat(srcPath);
320
- if (stats?.isDirectory()) {
321
- await this.copyDirRecursive(srcPath, this.fs.path.join(dest, entry));
322
- } else {
323
- const content = await this.fs.readFile(srcPath);
324
- if (content !== null) {
325
- await this.fs.writeFile(this.fs.path.join(dest, entry), content);
326
- }
327
- }
328
- }
329
- }
330
- }
331
- export {
332
- CaseDebugStudioWebService
333
- };
334
-
335
- //# debugId=5431DE1BB4EFCF8F64756E2164756E21