@uipath/case-tool 1.204.0-preview.255 → 1.205.0-preview.256

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 (135) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +24 -11
  2. package/dist/{authoring-6ckkzfc9.js → authoring-kqh34zzm.js} +49 -30
  3. package/dist/{business-rule-export-kg5bk8aw.js → business-rule-export-ey588rv7.js} +2 -2
  4. package/dist/canvas-notes-86fxx1t8.js +19 -0
  5. package/dist/{case-api-rvamfn02.js → case-api-sme7esce.js} +6 -6
  6. package/dist/case-bindings-service-cht20gqt.js +430 -0
  7. package/dist/case-debug-solution-projects-d32xxjdg.js +34 -0
  8. package/dist/{case-debug-studio-web-service-cwwt7szn.js → case-debug-studio-web-service-0k0bnkzq.js} +16 -10
  9. package/dist/{case-described-io-service-14hdnqcc.js → case-described-io-service-dx1f4nxe.js} +37 -11
  10. package/dist/case-event-trigger-bindings-g9ftnm4x.js +16 -0
  11. package/dist/{case-format-service-yb48785t.js → case-format-service-6aew6tqc.js} +2 -2
  12. package/dist/{case-pack-service-9185h6ez.js → case-pack-service-pqq8wnfd.js} +6 -6
  13. package/dist/case-schema-version-h820ne16.js +20 -0
  14. package/dist/{case-shape-reader-mw58avr0.js → case-shape-reader-dsbraetf.js} +1 -1
  15. package/dist/{case-splice-service-tkmb7xjp.js → case-splice-service-s5gccctq.js} +53 -8
  16. package/dist/{case-validate-service-3wzdsxtb.js → case-validate-service-mfkn1j7e.js} +128 -42
  17. package/dist/{connector-enrichment-service-1cxkdm5y.js → connector-enrichment-service-cvzr0ybk.js} +23 -20
  18. package/dist/{connector-lookup-service-s5cc65mt.js → connector-lookup-service-wetea6j2.js} +6 -6
  19. package/dist/connector-task-shape-mpazkf7s.js +14 -0
  20. package/dist/{connector-task-spec-m0x6wrq0.js → connector-task-spec-h3kdb6ep.js} +196 -40
  21. package/dist/{de-MUJPA4EB-dpg7t2rw.js → de-UZI7FJDO-mwvc4cxe.js} +29 -2
  22. package/dist/{de-FGHEJRCI-rv513mfh.js → de-WLW6KWOJ-2qnsqdtw.js} +238 -31
  23. package/dist/{debug-service-ch3v6jmm.js → debug-service-7q98j726.js} +3 -3
  24. package/dist/{embedded-file-reader-v8c2yj2a.js → embedded-file-reader-r66242ey.js} +2 -2
  25. package/dist/{en-FBPVNKFN-dqt573xn.js → en-EJCBA3LK-dtpdghgj.js} +12 -4
  26. package/dist/{en-BWGKA5OE-1qkvb9rn.js → en-M7GQYBV2-5nfmpnfz.js} +88 -6
  27. package/dist/{enrichment-service-3f1kygjs.js → enrichment-service-hv7ff88p.js} +56 -12
  28. package/dist/{es-7SE7HX2X-8yh1aj2y.js → es-4UBUTCQA-m1ytpyx2.js} +29 -2
  29. package/dist/{es-KR3ZSNMP-84zphx0x.js → es-5THCNRFN-tqwyrdgy.js} +235 -28
  30. package/dist/{es-MX-2MYFZU7X-3rek4r73.js → es-MX-5RELIXKI-9jhqtddc.js} +29 -2
  31. package/dist/{es-MX-XXZJGC4R-2mr8jtgm.js → es-MX-TWZBRAXK-gqd9swzw.js} +237 -30
  32. package/dist/filter-engine-7ep90g7f.js +11 -0
  33. package/dist/{fr-Y6NPVODW-8vr1ja4b.js → fr-CERONSRC-edpxhbmb.js} +237 -30
  34. package/dist/{fr-MDFKNZ4C-h4a122k9.js → fr-VBM5WRC2-63z7w4mh.js} +29 -2
  35. package/dist/{index-wmffgzmr.js → index-5dxh9z60.js} +21751 -11098
  36. package/dist/{index-4yanx3rn.js → index-ekwtgx7y.js} +1089 -218
  37. package/dist/{index-ng2f77my.js → index-fyc0k5dd.js} +985 -617
  38. package/dist/index-n9qvnx4x.js +29 -0
  39. package/dist/{index-hhsf00x8.js → index-ngs0a2he.js} +1 -1
  40. package/dist/index-tsdgf1p1.js +282 -0
  41. package/dist/{index-j2r3jb6c.js → index-xq6ajhgq.js} +2 -2
  42. package/dist/{index-qe4xemby.js → index-z541a39e.js} +4 -4
  43. package/dist/index.js +12 -12
  44. package/dist/init-entry-points-hhpv3e3f.js +98 -0
  45. package/dist/{input-reader-1tcqt27f.js → input-reader-c7wz8ra2.js} +3 -3
  46. package/dist/{ja-UTQEAP34-8e0q6swp.js → ja-43QL7CGO-c3q8gre9.js} +29 -2
  47. package/dist/{ja-Q5PXKJ2V-p4msxzjd.js → ja-U2MCNHGT-gz0ap1jk.js} +235 -28
  48. package/dist/{known-types-0h9kqwyy.js → known-types-jvkdgmzz.js} +5 -4
  49. package/dist/{ko-AXCHW2OK-askct7f6.js → ko-TLL6Z6CD-wrt3n8a9.js} +29 -2
  50. package/dist/{ko-AYBDSRZG-41mdmsg1.js → ko-XAUYQWDR-zp81gjp4.js} +237 -30
  51. package/dist/localSolutionDiscovery-yyx234ak.js +13 -0
  52. package/dist/migration-diagnosis-ns5cw4e3.js +99 -0
  53. package/dist/{node-strategy-5pz40tee.js → node-strategy-v442hwgd.js} +1 -1
  54. package/dist/node-sync-service-e3k47ktk.js +57 -0
  55. package/dist/out-target-wjgmna0r.js +111 -0
  56. package/dist/{packager-tool-69anx0yf.js → packager-tool-0edza4sc.js} +17 -7
  57. package/dist/{packager-tool-8a9yqfq7.js → packager-tool-1yfw674x.js} +4 -2
  58. package/dist/packager-tool-2sn7d8fd.js +41 -0
  59. package/dist/packager-tool-4p11fvf4.js +92 -0
  60. package/dist/{packager-tool-25hng8h4.js → packager-tool-4rtktkhv.js} +16211 -13084
  61. package/dist/{packager-tool-yfm83bzd.js → packager-tool-67vy1fz3.js} +4 -3
  62. package/dist/{packager-tool-d88rqwk8.js → packager-tool-6z1hsm2h.js} +13 -5
  63. package/dist/packager-tool-7hw344bt.js +107 -0
  64. package/dist/{packager-tool-3q3d1hk8.js → packager-tool-83v804p7.js} +56 -6
  65. package/dist/{packager-tool-00y70spr.js → packager-tool-87y6xw3a.js} +2 -1
  66. package/dist/packager-tool-93mdeqay.js +18 -0
  67. package/dist/{packager-tool-64rg5ekd.js → packager-tool-9e59z4d6.js} +75 -7
  68. package/dist/{packager-tool-vepqrsse.js → packager-tool-9kf3fqtr.js} +2 -2
  69. package/dist/packager-tool-9kvkzc05.js +74 -0
  70. package/dist/{packager-tool-s6619wtx.js → packager-tool-9sd483vs.js} +2 -2
  71. package/dist/{packager-tool-f78ntj5g.js → packager-tool-9y1w2wds.js} +51 -6
  72. package/dist/packager-tool-a17g0pj1.js +62 -0
  73. package/dist/{packager-tool-167qap9m.js → packager-tool-aagnvyba.js} +845 -38
  74. package/dist/{packager-tool-wj9d9mqe.js → packager-tool-e15kqpyh.js} +12 -13
  75. package/dist/{packager-tool-gp97k6qm.js → packager-tool-ex95af0w.js} +296 -417
  76. package/dist/{packager-tool-c31qx8kc.js → packager-tool-ezds6t5e.js} +2 -2
  77. package/dist/{packager-tool-hvzjm2nk.js → packager-tool-f8vwy92w.js} +2093 -5805
  78. package/dist/{packager-tool-xdxr3ync.js → packager-tool-hdxtgckw.js} +11 -1
  79. package/dist/packager-tool-k6jbedyc.js +69 -0
  80. package/dist/packager-tool-kdhey8gz.js +153 -0
  81. package/dist/{packager-tool-cenvh23g.js → packager-tool-kyrm4e5m.js} +718 -87
  82. package/dist/packager-tool-mqy97y5f.js +52 -0
  83. package/dist/{packager-tool-jfysbxdt.js → packager-tool-mzf4gmph.js} +4 -4
  84. package/dist/packager-tool-n7w9wx62.js +25 -0
  85. package/dist/{packager-tool-7q6z6npd.js → packager-tool-pcvhcn2k.js} +93 -11
  86. package/dist/{packager-tool-8epa61wb.js → packager-tool-pf035ttp.js} +5 -5
  87. package/dist/{packager-tool-rgpdaxbx.js → packager-tool-qf1c9mv3.js} +5385 -1098
  88. package/dist/packager-tool-r0x3qh59.js +307 -0
  89. package/dist/{packager-tool-zbrda9sn.js → packager-tool-rk25wp3c.js} +1 -1
  90. package/dist/{packager-tool-ec3d82a2.js → packager-tool-sejszbnb.js} +730 -14
  91. package/dist/{packager-tool-xcd87qyx.js → packager-tool-v2kcgjbf.js} +2 -3
  92. package/dist/{packager-tool-4b0fe0bc.js → packager-tool-w1q4amdr.js} +3 -3
  93. package/dist/{case-bindings-service-d9vezn69.js → packager-tool-wekqkmgn.js} +20 -231
  94. package/dist/packager-tool-yct6zp4m.js +335 -0
  95. package/dist/{packager-tool-kpqr938m.js → packager-tool-ydyvtknp.js} +26 -3
  96. package/dist/{packager-tool-ebpqc3nv.js → packager-tool-yj1ahqdp.js} +308 -120
  97. package/dist/{packager-tool-v99ygh9f.js → packager-tool-yn33pw57.js} +124 -58
  98. package/dist/{packager-tool-4rqd21wc.js → packager-tool-yn7r7zq2.js} +19 -5
  99. package/dist/{packager-tool-cmwets3m.js → packager-tool-zf8f9pmm.js} +1 -1
  100. package/dist/packager-tool.js +3 -3
  101. package/dist/{project-artifacts-rng5m6r2.js → project-artifacts-bgyyb0dm.js} +1 -1
  102. package/dist/{pt-BR-TKHNHMET-sn91xyq0.js → pt-BR-GNQNAAZ2-xadharv4.js} +237 -30
  103. package/dist/{pt-BR-Y6K6XHXK-mp3hwhw1.js → pt-BR-USP2T7GD-pedn77m1.js} +29 -2
  104. package/dist/{pt-3DIO5QWG-59b3f4bc.js → pt-RMIAKZB4-67enhx3m.js} +29 -2
  105. package/dist/{pt-ROXU257Y-2f6bxev4.js → pt-TO2DARY2-ftcce1bv.js} +237 -30
  106. package/dist/{resolved-check-p99hysaw.js → resolved-check-aqw7568y.js} +1 -1
  107. package/dist/{resourcesSyncService-ap9ktety.js → resourcesSyncService-5vkvapbn.js} +32 -170
  108. package/dist/{ro-BWR3ONRR-vzx3hy8a.js → ro-GHOBYW2S-mhnqsgaa.js} +29 -2
  109. package/dist/{ro-AVAWPKOO-b89pw79r.js → ro-WUYJV6OW-a8d9qy1n.js} +235 -28
  110. package/dist/{sdd-convert-service-vf0ps358.js → sdd-convert-service-8jpew7vz.js} +686 -445
  111. package/dist/{sdd-lookup-dwzpvvwn.js → sdd-lookup-fe900sdb.js} +2 -2
  112. package/dist/{sdd-resolve-service-mjqad2nn.js → sdd-resolve-service-qdtmxw9b.js} +38 -13
  113. package/dist/sdd-resolve-siblings-vvfmpavf.js +53 -0
  114. package/dist/{solution-auth-kddmbm0p.js → solution-auth-30yycqtv.js} +3 -3
  115. package/dist/solution-discovery-g6ksnrg1.js +38 -0
  116. package/dist/{strict-case-rules-tz37bspw.js → strict-case-rules-4tjcaznr.js} +3 -2
  117. package/dist/{strict-entry-points-v14d7y50.js → strict-entry-points-g2pd4mf4.js} +29 -1
  118. package/dist/{strict-sdd-audit-4aqdeh59.js → strict-sdd-audit-q7tb9yj7.js} +7 -5
  119. package/dist/task-type-declaration-7a8fqdvs.js +46 -0
  120. package/dist/tool.js +12 -12
  121. package/dist/{tr-5IIHSFW5-hw4cewew.js → tr-GDTLECMM-k5fhmq13.js} +29 -2
  122. package/dist/{tr-JMIP7ZSL-c39b6pe4.js → tr-M3F5A6AU-bb0tg39m.js} +235 -28
  123. package/dist/{trigger-enrichment-service-t7aq78ha.js → trigger-enrichment-service-stkn2thh.js} +23 -20
  124. package/dist/trigger-entry-point-id-yhqwnkx9.js +15 -0
  125. package/dist/{zh-CN-IFFXSEJS-9wm9gmrv.js → zh-CN-C5G4PC7C-ds9gkptg.js} +235 -28
  126. package/dist/{zh-CN-R2KU4U5L-tc1hat59.js → zh-CN-I5D7WHBD-sr5h0a98.js} +29 -2
  127. package/dist/{zh-TW-GNKMELBF-j674515r.js → zh-TW-2AVLM723-288pkc1z.js} +29 -2
  128. package/dist/{zh-TW-IYBNYAMG-8727c7v2.js → zh-TW-62HZIG6O-787kdwex.js} +234 -27
  129. package/package.json +2 -2
  130. package/dist/migration-diagnosis-ag2sgd1e.js +0 -71
  131. package/dist/node-sync-service-a795bcbm.js +0 -36
  132. package/dist/out-target-jakehnd3.js +0 -70
  133. package/dist/packager-tool-57pzrd0g.js +0 -32
  134. package/dist/packager-tool-dthjwajc.js +0 -13
  135. package/dist/packager-tool-xy04yy0v.js +0 -32
@@ -0,0 +1,430 @@
1
+ import {
2
+ BINDINGS_V2_FILE_NAME,
3
+ CONNECTION_ID_PROPERTY,
4
+ FOLDER_KEY_PROPERTY,
5
+ RESOURCE_BINDINGS_VERSION,
6
+ deriveEventTriggerResources,
7
+ diffBindingsV2,
8
+ hasBindingsV2Difference,
9
+ readBindingsV2Resources,
10
+ readEntryPointIds,
11
+ serializeBindingsV2File
12
+ } from "./packager-tool-wekqkmgn.js";
13
+ import"./packager-tool-5qp9xza1.js";
14
+ import {
15
+ catchError
16
+ } from "./packager-tool-83v804p7.js";
17
+ import {
18
+ getFileSystem
19
+ } from "./packager-tool-hdxtgckw.js";
20
+ import"./packager-tool-1yh8g550.js";
21
+
22
+ // src/services/case-bindings-service.ts
23
+ var asBinding = (value) => {
24
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
25
+ return;
26
+ }
27
+ const record = value;
28
+ return typeof record.id === "string" && typeof record.resource === "string" && typeof record.resourceKey === "string" && record.resourceKey !== "" && typeof record.propertyAttribute === "string" && (record.default === undefined || typeof record.default === "string") ? value : undefined;
29
+ };
30
+ var CONNECTION_RESOURCE = "Connection";
31
+ var IMPLICIT_CONNECTION = "ImplicitConnection";
32
+ var DROPPED_RESOURCES = new Set([
33
+ "connection",
34
+ "eventtrigger"
35
+ ]);
36
+ var bindingIdentity = (resource, key) => `${resource.toLowerCase()}:${key}`;
37
+ var NAME_ATTRIBUTE = "name";
38
+ var FOLDER_PATH_ATTRIBUTE = "folderPath";
39
+ var SOLUTION_FOLDER_PREFIX = "solution_folder.";
40
+ var SOLUTION_FOLDER_SENTINEL = "solution_folder";
41
+ var BINDING_REFERENCE_PREFIX = "=bindings.";
42
+ var CONNECTOR_KEY_ENTRY = "connectorKey";
43
+ var CONNECTION_ENTRY = "connection";
44
+ var readConnectorContext = (value) => {
45
+ if (!Array.isArray(value))
46
+ return;
47
+ const byName = new Map;
48
+ for (const entry of value) {
49
+ if (entry === null || typeof entry !== "object" || Array.isArray(entry))
50
+ return;
51
+ const { name, value: entryValue } = entry;
52
+ if (typeof name !== "string")
53
+ return;
54
+ if (typeof entryValue === "string")
55
+ byName.set(name, entryValue);
56
+ }
57
+ return byName.has(CONNECTOR_KEY_ENTRY) ? byName : undefined;
58
+ };
59
+ var ownLabel = (node) => {
60
+ const record = node;
61
+ for (const candidate of [
62
+ record.displayName,
63
+ record.display?.label,
64
+ record.label
65
+ ]) {
66
+ if (typeof candidate === "string" && candidate !== "")
67
+ return candidate;
68
+ }
69
+ return;
70
+ };
71
+ var walkLabelled = (document, visit) => {
72
+ const walk = (node, label) => {
73
+ visit(node, label);
74
+ if (Array.isArray(node)) {
75
+ for (const item of node)
76
+ walk(item, label);
77
+ return;
78
+ }
79
+ if (node === null || typeof node !== "object")
80
+ return;
81
+ const scoped = ownLabel(node) ?? label;
82
+ for (const value of Object.values(node))
83
+ walk(value, scoped);
84
+ };
85
+ walk(document, undefined);
86
+ };
87
+ var httpTargetConnector = (node) => {
88
+ if (node === null || typeof node !== "object" || Array.isArray(node))
89
+ return;
90
+ const task = node;
91
+ if (task.type !== "http-request" || !Array.isArray(task.data?.inputs))
92
+ return;
93
+ for (const input of task.data.inputs) {
94
+ const body = input?.body;
95
+ if (input.name === "body" && typeof body?.targetConnector === "string" && body.targetConnector !== "") {
96
+ return body.targetConnector;
97
+ }
98
+ }
99
+ return;
100
+ };
101
+ var collectConnectorKeys = (document) => {
102
+ const byBindingId = new Map;
103
+ walkLabelled(document, (node, label) => {
104
+ const target = httpTargetConnector(node);
105
+ if (target !== undefined) {
106
+ const context = readConnectorContext(node.data?.context);
107
+ const connection = context?.get(CONNECTION_ENTRY);
108
+ if (connection?.startsWith(BINDING_REFERENCE_PREFIX)) {
109
+ const bindingId = connection.slice(BINDING_REFERENCE_PREFIX.length);
110
+ if (!byBindingId.has(bindingId)) {
111
+ byBindingId.set(bindingId, {
112
+ connectorKey: target,
113
+ activityName: ownLabel(node) ?? label
114
+ });
115
+ }
116
+ }
117
+ }
118
+ if (Array.isArray(node)) {
119
+ const context = readConnectorContext(node);
120
+ const connection = context?.get(CONNECTION_ENTRY);
121
+ const connectorKey = context?.get(CONNECTOR_KEY_ENTRY);
122
+ const bindingId = connection?.startsWith(BINDING_REFERENCE_PREFIX) ? connection.slice(BINDING_REFERENCE_PREFIX.length) : undefined;
123
+ if (connectorKey !== undefined && bindingId !== undefined && !byBindingId.has(bindingId)) {
124
+ byBindingId.set(bindingId, {
125
+ connectorKey,
126
+ activityName: label
127
+ });
128
+ }
129
+ }
130
+ });
131
+ return byBindingId;
132
+ };
133
+ var attributeDefault = (group, attribute) => group.find((binding) => binding.propertyAttribute === attribute)?.default;
134
+ var connectionEntry = (group, connectorKeys) => {
135
+ const key = group[0].resourceKey;
136
+ const use = group.map((binding) => connectorKeys.get(binding.id)).find((found) => found !== undefined);
137
+ const displayLabel = (group.find((binding) => binding.propertyAttribute === CONNECTION_ID_PROPERTY) ?? group[0]).name;
138
+ const value = {
139
+ [CONNECTION_ID_PROPERTY]: {
140
+ defaultValue: attributeDefault(group, CONNECTION_ID_PROPERTY) ?? key,
141
+ isExpression: false,
142
+ ...typeof displayLabel === "string" && displayLabel !== "" && { displayName: displayLabel }
143
+ }
144
+ };
145
+ const folderKey = attributeDefault(group, FOLDER_KEY_PROPERTY);
146
+ if (folderKey !== undefined) {
147
+ value[FOLDER_KEY_PROPERTY] = { defaultValue: folderKey };
148
+ }
149
+ return {
150
+ resource: CONNECTION_RESOURCE,
151
+ key,
152
+ id: `${CONNECTION_RESOURCE}${key}`,
153
+ value,
154
+ metadata: {
155
+ ...use?.activityName !== undefined && {
156
+ ActivityName: use.activityName
157
+ },
158
+ BindingsVersion: RESOURCE_BINDINGS_VERSION,
159
+ ...typeof displayLabel === "string" && displayLabel !== "" && { DisplayLabel: displayLabel },
160
+ UseConnectionService: "true",
161
+ ...use !== undefined && { Connector: use.connectorKey }
162
+ }
163
+ };
164
+ };
165
+ var SLOT_DISPLAY_NAMES = {
166
+ app: { name: "App name", folderPath: "Folder path" },
167
+ process: { name: "Process name", folderPath: "Folder path" }
168
+ };
169
+ var designerResourceEntry = (group, labels, names) => {
170
+ const key = group[0].resourceKey;
171
+ const resource = group[0].resource;
172
+ const value = {};
173
+ const folderPath = key.startsWith(SOLUTION_FOLDER_PREFIX) ? SOLUTION_FOLDER_SENTINEL : attributeDefault(group, FOLDER_PATH_ATTRIBUTE);
174
+ if (folderPath !== undefined) {
175
+ value.folderPath = {
176
+ defaultValue: folderPath,
177
+ isExpression: false,
178
+ displayName: names.folderPath
179
+ };
180
+ }
181
+ const name = attributeDefault(group, NAME_ATTRIBUTE);
182
+ if (name !== undefined) {
183
+ value.name = {
184
+ defaultValue: name,
185
+ isExpression: false,
186
+ displayName: names.name
187
+ };
188
+ }
189
+ const subType = group.find((binding) => binding.resourceSubType !== undefined)?.resourceSubType;
190
+ const activityName = group.map((binding) => labels.get(binding.id)).find((found) => found !== undefined);
191
+ return {
192
+ resource,
193
+ key,
194
+ id: `${resource}${key}`,
195
+ value,
196
+ metadata: {
197
+ ...activityName !== undefined && { ActivityName: activityName },
198
+ BindingsVersion: RESOURCE_BINDINGS_VERSION,
199
+ DisplayLabel: NAME_ATTRIBUTE,
200
+ SolutionsSupport: "true",
201
+ ...subType !== undefined && { subType }
202
+ }
203
+ };
204
+ };
205
+ var collectBindingLabels = (document) => {
206
+ const found = new Map;
207
+ walkLabelled(document.nodes ?? [], (node, label) => {
208
+ if (typeof node !== "string" || label === undefined || !node.startsWith(BINDING_REFERENCE_PREFIX)) {
209
+ return;
210
+ }
211
+ const id = node.slice(BINDING_REFERENCE_PREFIX.length);
212
+ if (!found.has(id))
213
+ found.set(id, label);
214
+ });
215
+ return found;
216
+ };
217
+ var resourceEntry = (group, labels = new Map) => {
218
+ const names = SLOT_DISPLAY_NAMES[group[0].resource];
219
+ if (names !== undefined)
220
+ return designerResourceEntry(group, labels, names);
221
+ const key = group[0].resourceKey;
222
+ const value = {};
223
+ const name = attributeDefault(group, NAME_ATTRIBUTE);
224
+ if (name !== undefined)
225
+ value.name = { defaultValue: name };
226
+ const folderPath = key.startsWith(SOLUTION_FOLDER_PREFIX) ? SOLUTION_FOLDER_SENTINEL : attributeDefault(group, FOLDER_PATH_ATTRIBUTE);
227
+ if (folderPath !== undefined) {
228
+ value.folderPath = { defaultValue: folderPath };
229
+ }
230
+ const folderKey = attributeDefault(group, FOLDER_KEY_PROPERTY);
231
+ if (folderKey !== undefined)
232
+ value.folderKey = { defaultValue: folderKey };
233
+ const subType = group.find((binding) => binding.resourceSubType !== undefined)?.resourceSubType;
234
+ return {
235
+ resource: group[0].resource,
236
+ key,
237
+ value,
238
+ metadata: {
239
+ BindingsVersion: RESOURCE_BINDINGS_VERSION,
240
+ ...subType !== undefined && { subType }
241
+ }
242
+ };
243
+ };
244
+ var asStoredResource = (entry) => {
245
+ if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
246
+ return;
247
+ }
248
+ const record = entry;
249
+ const resource = typeof record.resource === "string" ? record.resource : "";
250
+ if (resource === "" || typeof record.key !== "string" || DROPPED_RESOURCES.has(resource.toLowerCase())) {
251
+ return;
252
+ }
253
+ const value = {};
254
+ for (const [name, slot] of Object.entries(record.value ?? {})) {
255
+ const defaultValue = slot?.defaultValue;
256
+ if (typeof defaultValue === "string")
257
+ value[name] = { defaultValue };
258
+ }
259
+ const metadata = {};
260
+ for (const [name, meta] of Object.entries(record.metadata ?? {})) {
261
+ if (typeof meta === "string")
262
+ metadata[name] = meta;
263
+ }
264
+ return {
265
+ resource,
266
+ key: record.key,
267
+ value,
268
+ ...Object.keys(metadata).length > 0 && { metadata }
269
+ };
270
+ };
271
+ var storedBindingResources = (document) => {
272
+ const found = new Map;
273
+ const visit = (node) => {
274
+ if (Array.isArray(node)) {
275
+ for (const item of node)
276
+ visit(item);
277
+ return;
278
+ }
279
+ if (node === null || typeof node !== "object")
280
+ return;
281
+ const record = node;
282
+ const body = record.body;
283
+ if (record.name === "metadata" && Array.isArray(body?.bindings)) {
284
+ for (const entry of body.bindings) {
285
+ const resource = asStoredResource(entry);
286
+ if (resource === undefined)
287
+ continue;
288
+ const id = bindingIdentity(resource.resource, resource.key);
289
+ if (found.has(id))
290
+ continue;
291
+ found.set(id, resource);
292
+ }
293
+ }
294
+ for (const value of Object.values(record))
295
+ visit(value);
296
+ };
297
+ visit(document);
298
+ return found;
299
+ };
300
+ var withActivityMetadata = (derived, fromActivity) => {
301
+ return {
302
+ ...derived,
303
+ metadata: { ...fromActivity.metadata, ...derived.metadata }
304
+ };
305
+ };
306
+ var deriveCaseBindingsV2 = (document, entryPointIds = new Map) => {
307
+ const connectorKeys = collectConnectorKeys(document);
308
+ const labels = collectBindingLabels(document);
309
+ const groups = new Map;
310
+ const bindings = [];
311
+ for (const entry of Array.isArray(document.bindings) ? document.bindings : []) {
312
+ const binding = asBinding(entry);
313
+ if (binding === undefined)
314
+ continue;
315
+ if (binding.resource === CONNECTION_RESOURCE && binding.resourceKey === IMPLICIT_CONNECTION) {
316
+ continue;
317
+ }
318
+ bindings.push(binding);
319
+ const groupKey = `${binding.resource}:${binding.resourceKey}`;
320
+ const group = groups.get(groupKey);
321
+ if (group === undefined)
322
+ groups.set(groupKey, [binding]);
323
+ else
324
+ group.push(binding);
325
+ }
326
+ const stored = storedBindingResources(document);
327
+ const derived = [...groups.values()].map((group) => {
328
+ const entry = group[0].resource === CONNECTION_RESOURCE ? connectionEntry(group, connectorKeys) : resourceEntry(group, labels);
329
+ const fromActivity = stored.get(bindingIdentity(entry.resource, entry.key));
330
+ return fromActivity === undefined ? entry : withActivityMetadata(entry, fromActivity);
331
+ });
332
+ const identity = (entry) => bindingIdentity(entry.resource, entry.key);
333
+ const merged = new Set(derived.map(identity));
334
+ const triggerEntries = deriveEventTriggerResources(document.nodes, bindings, entryPointIds).filter((entry) => !merged.has(identity(entry)));
335
+ for (const entry of triggerEntries)
336
+ merged.add(identity(entry));
337
+ return [
338
+ ...derived,
339
+ ...triggerEntries,
340
+ ...[...stored.values()].filter((entry) => !merged.has(identity(entry)))
341
+ ];
342
+ };
343
+ var bindingsV2PathFor = (casePlanPath) => {
344
+ const fs = getFileSystem();
345
+ return fs.path.join(fs.path.dirname(fs.path.resolve(casePlanPath)), BINDINGS_V2_FILE_NAME);
346
+ };
347
+ var compareCaseBindingsV2 = async (casePlanPath, document) => {
348
+ const fs = getFileSystem();
349
+ const path = bindingsV2PathFor(casePlanPath);
350
+ const entryPoints = await readEntryPointIds(casePlanPath);
351
+ if ("error" in entryPoints) {
352
+ return {
353
+ status: "entry-points-unreadable",
354
+ path: entryPoints.path,
355
+ expectedCount: 0,
356
+ reason: entryPoints.error
357
+ };
358
+ }
359
+ const expected = deriveCaseBindingsV2(document, entryPoints.ids);
360
+ const expectedCount = expected.length;
361
+ if (!await fs.exists(path))
362
+ return { status: "absent", path, expectedCount };
363
+ const [readError, raw] = await catchError(fs.readFile(path, "utf-8"));
364
+ if (readError || raw == null)
365
+ return { status: "unreadable", path, expectedCount };
366
+ const actual = readBindingsV2Resources(raw);
367
+ if (actual === undefined)
368
+ return { status: "unreadable", path, expectedCount };
369
+ const difference = diffBindingsV2(expected, actual);
370
+ return hasBindingsV2Difference(difference) ? { status: "differs", path, expectedCount, difference } : { status: "match", path, expectedCount };
371
+ };
372
+ var syncCaseBindings = async (casePlanPath) => {
373
+ const fs = getFileSystem();
374
+ const resolved = fs.path.resolve(casePlanPath);
375
+ if (!await fs.exists(resolved)) {
376
+ return {
377
+ ok: false,
378
+ message: `Case plan file not found: ${resolved}`,
379
+ instructions: "Pass the path to an existing caseplan JSON file, for example 'uip maestro case bindings sync case.json'."
380
+ };
381
+ }
382
+ const [readError, raw] = await catchError(fs.readFile(resolved, "utf-8"));
383
+ if (readError || raw == null) {
384
+ return {
385
+ ok: false,
386
+ message: `Failed to read case plan: ${readError?.message ?? "empty content"}`,
387
+ instructions: `Verify read permissions on ${resolved}.`
388
+ };
389
+ }
390
+ const [parseError, document] = catchError(() => JSON.parse(raw));
391
+ if (parseError || document == null || typeof document !== "object" || Array.isArray(document)) {
392
+ return {
393
+ ok: false,
394
+ message: `Case plan is not valid JSON: ${parseError?.message ?? "not a JSON object"}`,
395
+ instructions: `Verify the contents of ${resolved}.`
396
+ };
397
+ }
398
+ const entryPoints = await readEntryPointIds(resolved);
399
+ if ("error" in entryPoints) {
400
+ return {
401
+ ok: false,
402
+ message: entryPoints.error,
403
+ instructions: `Fix or remove ${entryPoints.path}, then run \`uip maestro case bindings sync\` again.`
404
+ };
405
+ }
406
+ const resources = deriveCaseBindingsV2(document, entryPoints.ids);
407
+ const path = bindingsV2PathFor(resolved);
408
+ const [writeError] = await catchError(fs.writeFile(path, serializeBindingsV2File(resources)));
409
+ if (writeError) {
410
+ return {
411
+ ok: false,
412
+ message: `Failed to write bindings file: ${writeError.message}`,
413
+ instructions: `Verify write permissions on ${fs.path.dirname(path)}.`
414
+ };
415
+ }
416
+ return {
417
+ ok: true,
418
+ path,
419
+ resourceCount: resources.length,
420
+ connectionCount: resources.filter((entry) => entry.resource === CONNECTION_RESOURCE).length
421
+ };
422
+ };
423
+ export {
424
+ bindingsV2PathFor,
425
+ compareCaseBindingsV2,
426
+ deriveCaseBindingsV2,
427
+ syncCaseBindings
428
+ };
429
+
430
+ //# debugId=D8F7722320D6B53E64756E2164756E21
@@ -0,0 +1,34 @@
1
+ import {
2
+ __require
3
+ } from "./packager-tool-1yh8g550.js";
4
+
5
+ // src/services/case-debug-solution-projects.ts
6
+ var caseSolutionProjects = async (solutionDir, uploaded, solutionId) => {
7
+ const { readSolutionAt } = await import("./index-tsdgf1p1.js");
8
+ const context = await readSolutionAt(solutionDir);
9
+ if (context === null)
10
+ return [];
11
+ const { readLocalResourcesForType } = await import("./localSolutionDiscovery-yyx234ak.js");
12
+ const rules = await readLocalResourcesForType(context, "businessRule");
13
+ const descriptors = [];
14
+ for (const rule of rules) {
15
+ if (rule.name === undefined)
16
+ continue;
17
+ const project = uploaded.find((one) => one.name === rule.name);
18
+ if (project === undefined)
19
+ continue;
20
+ descriptors.push({
21
+ name: rule.name,
22
+ projectId: project.id,
23
+ projectType: "BusinessRules",
24
+ entryPoint: "",
25
+ solutionId
26
+ });
27
+ }
28
+ return descriptors;
29
+ };
30
+ export {
31
+ caseSolutionProjects
32
+ };
33
+
34
+ //# debugId=06F6D5FADB7525A664756E2164756E21
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  buildSolutionPackageFromDir,
3
3
  uploadOrOverwriteSolution
4
- } from "./packager-tool-69anx0yf.js";
4
+ } from "./packager-tool-0edza4sc.js";
5
5
  import {
6
6
  findSolutionFile,
7
7
  updateSolutionFile
8
- } from "./packager-tool-yfm83bzd.js";
8
+ } from "./packager-tool-67vy1fz3.js";
9
9
  import {
10
10
  CasePlanFileNames,
11
11
  buildCasePackageDescriptor,
@@ -15,22 +15,24 @@ import {
15
15
  misnamedEntryPointBpmn,
16
16
  normalizeEntryPointPath,
17
17
  resolveDeclaredFileName
18
- } from "./packager-tool-wj9d9mqe.js";
19
- import"./packager-tool-4rqd21wc.js";
18
+ } from "./packager-tool-e15kqpyh.js";
19
+ import"./packager-tool-yn7r7zq2.js";
20
20
  import"./packager-tool-b098y4a2.js";
21
21
  import {
22
22
  loadCaseSchemaAsync
23
- } from "./packager-tool-cmwets3m.js";
23
+ } from "./packager-tool-zf8f9pmm.js";
24
24
  import {
25
25
  uploadAndDebugSolution
26
- } from "./packager-tool-64rg5ekd.js";
26
+ } from "./packager-tool-9e59z4d6.js";
27
27
  import {
28
28
  logger
29
- } from "./packager-tool-3q3d1hk8.js";
29
+ } from "./packager-tool-83v804p7.js";
30
30
  import {
31
31
  getFileSystem
32
- } from "./packager-tool-xdxr3ync.js";
33
- import"./packager-tool-1yh8g550.js";
32
+ } from "./packager-tool-hdxtgckw.js";
33
+ import {
34
+ __require
35
+ } from "./packager-tool-1yh8g550.js";
34
36
 
35
37
  // src/services/case-debug-studio-web-service.ts
36
38
  class CaseDebugStudioWebService {
@@ -120,6 +122,10 @@ class CaseDebugStudioWebService {
120
122
  projectName,
121
123
  entryPoint,
122
124
  projectType: "CaseManagement",
125
+ buildSolutionProjects: async (uploadedProjects, solutionId) => {
126
+ const { caseSolutionProjects } = await import("./case-debug-solution-projects-d32xxjdg.js");
127
+ return caseSolutionProjects(solutionDir, uploadedProjects, solutionId);
128
+ },
123
129
  apiConfig,
124
130
  organizationName: config.organizationName,
125
131
  callbacks,
@@ -131,4 +137,4 @@ export {
131
137
  CaseDebugStudioWebService
132
138
  };
133
139
 
134
- //# debugId=0DC6729E8C8F178464756E2164756E21
140
+ //# debugId=8BE54087EF22636364756E2164756E21
@@ -1,9 +1,15 @@
1
+ import {
2
+ NAME_BOUND_TASK_TYPES
3
+ } from "./packager-tool-87y6xw3a.js";
1
4
  import {
2
5
  readIoRows
3
- } from "./packager-tool-8a9yqfq7.js";
6
+ } from "./packager-tool-1yfw674x.js";
4
7
  import {
5
- NAME_BOUND_TASK_TYPES
6
- } from "./packager-tool-00y70spr.js";
8
+ RESULT_OUTPUT_SOURCE,
9
+ outputSourceFor
10
+ } from "./packager-tool-ydyvtknp.js";
11
+ import"./packager-tool-83v804p7.js";
12
+ import"./packager-tool-hdxtgckw.js";
7
13
  import"./packager-tool-1yh8g550.js";
8
14
 
9
15
  // src/services/case-described-io-service.ts
@@ -40,7 +46,11 @@ var findTask = (document, taskId) => {
40
46
  }
41
47
  return;
42
48
  };
43
- var mergeRows = (existing, described, elementId, direction) => {
49
+ var readsAnotherValue = (row, name, taskType) => {
50
+ const wanted = outputSourceFor(taskType, name);
51
+ return wanted === RESULT_OUTPUT_SOURCE && carriesValue(row.source) && row.source !== wanted;
52
+ };
53
+ var mergeRows = (existing, described, elementId, direction, taskType) => {
44
54
  const byName = new Map;
45
55
  for (const raw of described) {
46
56
  const row = asRecord(raw);
@@ -51,12 +61,17 @@ var mergeRows = (existing, described, elementId, direction) => {
51
61
  byName.set(name, row);
52
62
  }
53
63
  const updated = [];
64
+ const passed = new Set;
54
65
  const rows = existing.map((raw) => {
55
66
  const row = asRecord(raw);
56
67
  const name = typeof row?.name === "string" ? row.name : "";
57
68
  const source = byName.get(name);
58
69
  if (row === undefined || source === undefined)
59
70
  return raw;
71
+ if (direction === "outputs" && readsAnotherValue(row, name, taskType)) {
72
+ passed.add(name);
73
+ return raw;
74
+ }
60
75
  updated.push(name);
61
76
  const merged = { ...row };
62
77
  for (const field of RESOURCE_FIELDS) {
@@ -83,8 +98,13 @@ var mergeRows = (existing, described, elementId, direction) => {
83
98
  merged.elementId = elementId;
84
99
  return merged;
85
100
  });
86
- const unmatched = [...byName.keys()].filter((name) => !updated.includes(name));
87
- return { rows, updated, unmatched };
101
+ const missed = [...byName.keys()].filter((name) => !updated.includes(name));
102
+ return {
103
+ rows,
104
+ updated,
105
+ unmatched: missed.filter((name) => !passed.has(name)),
106
+ skipped: missed.filter((name) => passed.has(name))
107
+ };
88
108
  };
89
109
  var applyDescribedIo = (document, describeDocument, options) => {
90
110
  const task = findTask(document, options.taskId);
@@ -110,16 +130,22 @@ var applyDescribedIo = (document, describeDocument, options) => {
110
130
  }
111
131
  const data = asRecord(task.data) ?? {};
112
132
  const elementId = typeof task.elementId === "string" && task.elementId !== "" ? task.elementId : options.taskId;
113
- const inputs = mergeRows(asArray(data.inputs), described.inputs, elementId, "inputs");
114
- const outputs = mergeRows(asArray(data.outputs), described.outputs, elementId, "outputs");
115
- task.data = { ...data, inputs: inputs.rows, outputs: outputs.rows };
133
+ const inputs = mergeRows(asArray(data.inputs), described.inputs, elementId, "inputs", taskType);
134
+ const outputs = mergeRows(asArray(data.outputs), described.outputs, elementId, "outputs", taskType);
135
+ task.data = {
136
+ ...data,
137
+ ...described.version !== undefined && { version: described.version },
138
+ inputs: inputs.rows,
139
+ outputs: outputs.rows
140
+ };
116
141
  return {
117
142
  document,
118
143
  summary: {
119
144
  taskId: options.taskId,
120
145
  inputsUpdated: inputs.updated,
121
146
  outputsUpdated: outputs.updated,
122
- unmatched: [...inputs.unmatched, ...outputs.unmatched]
147
+ unmatched: [...inputs.unmatched, ...outputs.unmatched],
148
+ skipped: outputs.skipped
123
149
  }
124
150
  };
125
151
  };
@@ -129,4 +155,4 @@ export {
129
155
  isDescribedIoFailure
130
156
  };
131
157
 
132
- //# debugId=68B2D7B3821D688864756E2164756E21
158
+ //# debugId=324999381E52025864756E2164756E21
@@ -0,0 +1,16 @@
1
+ import {
2
+ deriveEventTriggerResources,
3
+ entryPointIdsByNode,
4
+ readEntryPointIds
5
+ } from "./packager-tool-wekqkmgn.js";
6
+ import"./packager-tool-5qp9xza1.js";
7
+ import"./packager-tool-83v804p7.js";
8
+ import"./packager-tool-hdxtgckw.js";
9
+ import"./packager-tool-1yh8g550.js";
10
+ export {
11
+ deriveEventTriggerResources,
12
+ entryPointIdsByNode,
13
+ readEntryPointIds
14
+ };
15
+
16
+ //# debugId=39F48E02A7313B2764756E2164756E21
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  catchError
3
- } from "./packager-tool-3q3d1hk8.js";
3
+ } from "./packager-tool-83v804p7.js";
4
4
  import {
5
5
  getFileSystem
6
- } from "./packager-tool-xdxr3ync.js";
6
+ } from "./packager-tool-hdxtgckw.js";
7
7
  import"./packager-tool-1yh8g550.js";
8
8
 
9
9
  // src/services/case-format-service.ts
@@ -6,26 +6,26 @@ import {
6
6
  findCasePlanFileName,
7
7
  misnamedEntryPointBpmn,
8
8
  resolveDeclaredFileName
9
- } from "./packager-tool-wj9d9mqe.js";
9
+ } from "./packager-tool-e15kqpyh.js";
10
10
  import {
11
11
  NugetPackager,
12
12
  ensureProjectId
13
- } from "./packager-tool-4rqd21wc.js";
13
+ } from "./packager-tool-yn7r7zq2.js";
14
14
  import"./packager-tool-b098y4a2.js";
15
15
  import {
16
16
  VALID_PACKAGE_NAME_REGEX
17
- } from "./packager-tool-vepqrsse.js";
17
+ } from "./packager-tool-9kf3fqtr.js";
18
18
  import {
19
19
  loadCaseSchemaAsync
20
- } from "./packager-tool-cmwets3m.js";
20
+ } from "./packager-tool-zf8f9pmm.js";
21
21
  import {
22
22
  catchError,
23
23
  logger,
24
24
  mapPackageMetadataOptions
25
- } from "./packager-tool-3q3d1hk8.js";
25
+ } from "./packager-tool-83v804p7.js";
26
26
  import {
27
27
  getFileSystem
28
- } from "./packager-tool-xdxr3ync.js";
28
+ } from "./packager-tool-hdxtgckw.js";
29
29
  import"./packager-tool-1yh8g550.js";
30
30
 
31
31
  // src/services/case-pack-service.ts