@uipath/case-tool 1.201.0-preview.133 → 1.202.0-preview.134

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 (96) hide show
  1. package/dist/{authoring-aaaqwck3.js → authoring-jj4zkqer.js} +74 -48
  2. package/dist/{browser-strategy-rkcvc6tn.js → browser-strategy-6atc7v8s.js} +3 -3
  3. package/dist/case-api-2nfc0ynz.js +381 -0
  4. package/dist/case-debug-studio-web-service-e31g6mrp.js +335 -0
  5. package/dist/{case-pack-service-rvyqh3x3.js → case-pack-service-ye4shs12.js} +11 -18
  6. package/dist/case-validate-service-mayc7mw1.js +2114 -0
  7. package/dist/connector-enrichment-service-83pqstp8.js +60 -0
  8. package/dist/connector-lookup-service-59kkbbwm.js +22 -0
  9. package/dist/connector-task-spec-c54daswf.js +1250 -0
  10. package/dist/{de-5KVP66U6-t37qr521.js → de-5KVP66U6-1bnf4zt5.js} +54 -54
  11. package/dist/{de-5HU6GFWV-zheyw6d2.js → de-7XQXX2DK-tqdy5n2b.js} +857 -845
  12. package/dist/debug-service-77n8tv17.js +57 -0
  13. package/dist/{en-MABQK6C4-nkzq2j8t.js → en-5ZGC5VQ3-h581y30k.js} +897 -897
  14. package/dist/{en-4KXU7N7B-24v330b5.js → en-X3S6IZ5J-nhkg6pwn.js} +55 -61
  15. package/dist/enrichment-service-27j145k3.js +421 -0
  16. package/dist/{es-MX-POESXYP2-9538722k.js → es-MX-U2VN3SZW-anynsmd8.js} +857 -845
  17. package/dist/{es-MX-XAVLOQW3-47a405kf.js → es-MX-XAVLOQW3-q00km2y7.js} +54 -54
  18. package/dist/{es-VFPNVMP5-6sftsdxe.js → es-VFPNVMP5-bx2c337j.js} +54 -54
  19. package/dist/{es-LUTYN7U7-ye5zn4sn.js → es-ZGCPPOME-8gazspjj.js} +857 -845
  20. package/dist/{fr-E5MDO4EG-f3x1jeqw.js → fr-E5MDO4EG-c3mkty2t.js} +54 -54
  21. package/dist/{fr-LJIK56LW-xf3xf2kh.js → fr-T3G5GZCT-y3f7xb1q.js} +857 -845
  22. package/dist/index-67s20rhx.js +630 -0
  23. package/dist/{index-hsadteg4.js → index-h8cph72k.js} +4 -4
  24. package/dist/index-k4xz16db.js +63712 -0
  25. package/dist/{index-p50kx6jv.js → index-k5tbd184.js} +276 -276
  26. package/dist/index-kwxe1vep.js +143 -0
  27. package/dist/{index-cncq089f.js → index-mhe5065f.js} +163 -80
  28. package/dist/{index-9f8q2ege.js → index-p3vk57z7.js} +27 -27
  29. package/dist/index.js +16 -17
  30. package/dist/{index.umd.min-drpc57vn.js → index.umd.min-fqefd9kn.js} +3 -3
  31. package/dist/input-reader-vprf0kv6.js +11 -0
  32. package/dist/{ja-FGEGLBJ3-w9byjhze.js → ja-BI5K3JDZ-77zat4z2.js} +857 -845
  33. package/dist/{ja-DPO5PPLO-fmbg7zt2.js → ja-DPO5PPLO-mysfmznx.js} +54 -54
  34. package/dist/{js-yaml-cggj6w7q.js → js-yaml-87tvr6f6.js} +16 -16
  35. package/dist/known-types-qryebm95.js +15 -0
  36. package/dist/{ko-ITOPNIYI-aqy82jk8.js → ko-ITOPNIYI-hmxd2asd.js} +54 -54
  37. package/dist/{ko-TUAK3G3A-s25w0ckg.js → ko-JOBF5V7N-4bv0mjje.js} +857 -845
  38. package/dist/{node-strategy-8gzp67xs.js → node-strategy-0267x5e5.js} +130 -14
  39. package/dist/node-sync-service-15hccr1y.js +38 -0
  40. package/dist/{packager-tool-9qecd4wb.js → packager-tool-0gctz400.js} +5 -2
  41. package/dist/packager-tool-0mj06yen.js +65 -0
  42. package/dist/{packager-tool-1cb0d5e0.js → packager-tool-0v3s8r01.js} +2 -2
  43. package/dist/packager-tool-134mvmcm.js +3040 -0
  44. package/dist/packager-tool-13kkvf2n.js +356 -0
  45. package/dist/packager-tool-1j44c5z3.js +1217 -0
  46. package/dist/packager-tool-1jsabv93.js +6717 -0
  47. package/dist/packager-tool-1v6h5met.js +852 -0
  48. package/dist/{packager-tool-wckvcay0.js → packager-tool-1yh8g550.js} +9 -7
  49. package/dist/packager-tool-37ww3cn0.js +80 -0
  50. package/dist/packager-tool-3mdhyhk6.js +4892 -0
  51. package/dist/packager-tool-50hjsghv.js +1125 -0
  52. package/dist/{packager-tool-3wygxefb.js → packager-tool-58q3tvh7.js} +10 -10
  53. package/dist/packager-tool-5ww9gbj3.js +6865 -0
  54. package/dist/{packager-tool-w3h8xrnv.js → packager-tool-66s6vs1k.js} +71 -3
  55. package/dist/{packager-tool-zqa5k9f7.js → packager-tool-a190917w.js} +990 -2287
  56. package/dist/{packager-tool-p9j43p8h.js → packager-tool-a42jnpy5.js} +3 -9
  57. package/dist/packager-tool-ay3zvfcv.js +54 -0
  58. package/dist/{packager-tool-jysvpt8p.js → packager-tool-c23zrhj8.js} +2 -2
  59. package/dist/packager-tool-dqs5qy9s.js +2327 -0
  60. package/dist/{packager-tool-wvqz81mx.js → packager-tool-gtzs471w.js} +3 -2
  61. package/dist/{packager-tool-we1phz71.js → packager-tool-hxw1a9ac.js} +31 -3
  62. package/dist/{packager-tool-8t401j6x.js → packager-tool-jhdf8gt1.js} +5054 -17851
  63. package/dist/packager-tool-ncedqc8m.js +77 -0
  64. package/dist/packager-tool-p7jgrm5r.js +15 -0
  65. package/dist/packager-tool-q24fc6jm.js +546 -0
  66. package/dist/packager-tool-r84ng21s.js +57 -0
  67. package/dist/packager-tool-sv0d6wb6.js +173 -0
  68. package/dist/packager-tool-ty1t2byf.js +27 -0
  69. package/dist/packager-tool-vepqrsse.js +23 -0
  70. package/dist/{packager-tool-5arsyj36.js → packager-tool-yc4kw997.js} +4 -2
  71. package/dist/{packager-tool-zx48pq4v.js → packager-tool-ygwa3sc0.js} +1997 -1174
  72. package/dist/packager-tool.js +91 -5
  73. package/dist/project-artifacts-9e7bs1vq.js +14 -0
  74. package/dist/{pt-BR-7XGDXRDJ-espnkgrj.js → pt-BR-7DYX2YPT-fqxqzqtf.js} +857 -845
  75. package/dist/{pt-BR-BXURWX4W-xzyndmrx.js → pt-BR-BXURWX4W-bwfcwhk1.js} +54 -54
  76. package/dist/{pt-TMVOOITK-myha14p9.js → pt-HTXGGX6Y-97t21dty.js} +857 -845
  77. package/dist/{pt-YI4VE4YQ-521681zf.js → pt-YI4VE4YQ-wdkn2dcf.js} +54 -54
  78. package/dist/resourcesSyncService-jnze5zjq.js +683 -0
  79. package/dist/{ro-2VALF3S5-cdz5afkr.js → ro-KTNQ3MNU-y08n1x5g.js} +857 -845
  80. package/dist/{ro-RKXZUG7Z-pdztdafr.js → ro-RKXZUG7Z-nndrrsq7.js} +54 -54
  81. package/dist/{ru-GSCT4ARZ-qj8dm4dp.js → ru-GSCT4ARZ-1sa9wbr8.js} +1 -1
  82. package/dist/ru-WBLQ5B2U-8r3c7v6d.js +10 -0
  83. package/dist/strict-case-rules-303vjvas.js +377 -0
  84. package/dist/strict-sdd-audit-qdmc9e1y.js +1024 -0
  85. package/dist/tool.js +17 -18
  86. package/dist/{tr-AA6O2WSR-bj9n80k8.js → tr-AA6O2WSR-86ba4bdf.js} +54 -54
  87. package/dist/{tr-RIFCEXFH-hgkb4g8y.js → tr-XHSSPNK7-cmqyc4wd.js} +857 -845
  88. package/dist/trigger-enrichment-service-46b8k7ex.js +340 -0
  89. package/dist/{zh-CN-IP3FMXWM-1cfarhcp.js → zh-CN-2EHQT23P-mr63c4xz.js} +857 -845
  90. package/dist/{zh-CN-R2KLHXQV-x6gnk2n0.js → zh-CN-R2KLHXQV-agqr45ds.js} +54 -54
  91. package/dist/{zh-TW-AGIDXIPF-n6r6w7vy.js → zh-TW-MGZCE5BT-c4ekmrz9.js} +857 -845
  92. package/dist/{zh-TW-RJGCQANM-tt8j5wv2.js → zh-TW-RJGCQANM-w0x3qc1p.js} +54 -54
  93. package/package.json +2 -2
  94. package/dist/index-8bsngk9y.js +0 -247140
  95. package/dist/packager-tool-qtwqp3q5.js +0 -13607
  96. package/dist/ru-WBLQ5B2U-8xd4gpv2.js +0 -10
@@ -0,0 +1,77 @@
1
+ import {
2
+ ConnectorsApi,
3
+ createApiClient
4
+ } from "./packager-tool-5ww9gbj3.js";
5
+ import {
6
+ loadResourceIndex
7
+ } from "./packager-tool-37ww3cn0.js";
8
+ import {
9
+ TYPECACHE_PACKAGE_INDEX_TYPES
10
+ } from "./packager-tool-r84ng21s.js";
11
+ import {
12
+ catchError
13
+ } from "./packager-tool-ygwa3sc0.js";
14
+
15
+ // src/services/connector-lookup-service.ts
16
+ async function lookupTypeCacheEntry(uiPathActivityTypeId, type) {
17
+ const types = typeof type === "string" ? [type] : type;
18
+ let entry;
19
+ let matchedType = types[0];
20
+ for (const candidate of types) {
21
+ const [loadError, entries] = await catchError(loadResourceIndex(candidate));
22
+ if (loadError) {
23
+ if (types.length === 1)
24
+ throw loadError;
25
+ continue;
26
+ }
27
+ const match = entries.find((e) => e.uiPathActivityTypeId === uiPathActivityTypeId);
28
+ if (match) {
29
+ entry = match;
30
+ matchedType = candidate;
31
+ break;
32
+ }
33
+ }
34
+ if (!entry) {
35
+ throw new Error(`No entry found in ${types.join(", ")} with uiPathActivityTypeId: ${uiPathActivityTypeId}`);
36
+ }
37
+ const [parseError, config] = catchError(() => JSON.parse(entry.configuration));
38
+ if (parseError) {
39
+ throw new Error(`Failed to parse configuration for "${entry.displayName}" in ${matchedType}: ${parseError.message}`);
40
+ }
41
+ if (!config.connectorKey) {
42
+ throw new Error(`Configuration for "${entry.displayName}" in ${matchedType} is missing connectorKey`);
43
+ }
44
+ return { entry, config, source: matchedType };
45
+ }
46
+ async function lookupConnectorDisplayName(packageId) {
47
+ if (typeof packageId !== "number")
48
+ return null;
49
+ for (const indexType of TYPECACHE_PACKAGE_INDEX_TYPES) {
50
+ const [err, packages] = await catchError(loadResourceIndex(indexType));
51
+ if (err)
52
+ continue;
53
+ const pkg = packages.find((p) => p.id === packageId);
54
+ if (pkg)
55
+ return pkg.displayName;
56
+ }
57
+ return null;
58
+ }
59
+ async function fetchConnectorConnections(connectorKey) {
60
+ const [apiError, api] = await catchError(createApiClient(ConnectorsApi));
61
+ if (apiError) {
62
+ throw new Error(`Failed to create Integration Service client: ${apiError.message}`);
63
+ }
64
+ const [fetchError, connections] = await catchError(api.apiV1ConnectorsKeyOrIdConnectionsGet({
65
+ keyOrId: connectorKey,
66
+ allFolders: true,
67
+ folderDefaults: true
68
+ }));
69
+ if (fetchError) {
70
+ throw new Error(`Failed to fetch connections for connector "${connectorKey}": ${fetchError.message}`);
71
+ }
72
+ return connections;
73
+ }
74
+
75
+ export { lookupTypeCacheEntry, lookupConnectorDisplayName, fetchConnectorConnections };
76
+
77
+ //# debugId=FE5109F1FB6EA2FF64756E2164756E21
@@ -0,0 +1,15 @@
1
+ import {
2
+ __require,
3
+ __toESM
4
+ } from "./packager-tool-1yh8g550.js";
5
+
6
+ // src/services/case-schema-loader.ts
7
+ var cached;
8
+ function loadCaseSchemaAsync() {
9
+ cached ??= import("./index-k4xz16db.js").then((m)=>__toESM(m.default,1));
10
+ return cached;
11
+ }
12
+
13
+ export { loadCaseSchemaAsync };
14
+
15
+ //# debugId=A9E9F3D03CB693EF64756E2164756E21
@@ -0,0 +1,546 @@
1
+ import {
2
+ fetchConnectorMetadata
3
+ } from "./packager-tool-1j44c5z3.js";
4
+ import {
5
+ fetchConnectorConnections,
6
+ lookupTypeCacheEntry
7
+ } from "./packager-tool-ncedqc8m.js";
8
+ import {
9
+ ElementsApi,
10
+ assertActivityMetadataResolved,
11
+ buildInputMetadata,
12
+ createApiClient,
13
+ createConfiguredActivityClient,
14
+ extractMultipartParameters
15
+ } from "./packager-tool-5ww9gbj3.js";
16
+ import {
17
+ addVarIdsToInputsOutputs,
18
+ buildErrorOutput
19
+ } from "./packager-tool-13kkvf2n.js";
20
+ import {
21
+ createConnectorBindings
22
+ } from "./packager-tool-0mj06yen.js";
23
+ import {
24
+ catchError
25
+ } from "./packager-tool-ygwa3sc0.js";
26
+
27
+ // src/services/connector-enrichment-service.ts
28
+ function parseEntryConfiguration(entry) {
29
+ if (!entry.configuration)
30
+ return {};
31
+ try {
32
+ return JSON.parse(entry.configuration);
33
+ } catch {
34
+ return {};
35
+ }
36
+ }
37
+ async function fetchMetadataSafe(connectorKey, objectName, connectionId) {
38
+ const [err, result] = await catchError(fetchConnectorMetadata(connectorKey, objectName, connectionId));
39
+ return err ? undefined : result;
40
+ }
41
+ async function resolveActivityOperation(connectorKey, displayName, operation) {
42
+ const [apiError, api] = await catchError(createApiClient(ElementsApi));
43
+ if (apiError) {
44
+ return operation;
45
+ }
46
+ const [fetchError, activities] = await catchError(api.getActivities({ elementKey: connectorKey }));
47
+ if (fetchError) {
48
+ return operation;
49
+ }
50
+ if (!Array.isArray(activities)) {
51
+ return operation;
52
+ }
53
+ const list = activities;
54
+ if (operation) {
55
+ const match2 = list.find((a) => a.operation === operation && !a.isTrigger);
56
+ if (match2) {
57
+ return match2.name;
58
+ }
59
+ }
60
+ const match = list.find((a) => a.displayName === displayName && !a.isTrigger);
61
+ if (match) {
62
+ return match.name;
63
+ }
64
+ return operation;
65
+ }
66
+ async function fetchObjectSwaggerPath(connectorKey, objectName) {
67
+ const [apiError, api] = await catchError(createApiClient(ElementsApi));
68
+ if (apiError) {
69
+ return;
70
+ }
71
+ const [fetchError, swagger] = await catchError(api.getObjectSwagger({
72
+ elementKey: connectorKey,
73
+ objectName
74
+ }));
75
+ if (fetchError) {
76
+ return;
77
+ }
78
+ const [parseError, parsed] = catchError(() => typeof swagger === "string" ? JSON.parse(swagger) : swagger);
79
+ if (parseError || !parsed?.paths) {
80
+ return;
81
+ }
82
+ const pathKeys = Object.keys(parsed.paths).filter((k) => k.startsWith("/"));
83
+ return pathKeys[0];
84
+ }
85
+ async function fetchObjectMethodConfig(connectorKey, objectName, httpMethod) {
86
+ const [apiError, api] = await catchError(createApiClient(ElementsApi));
87
+ if (apiError) {
88
+ return;
89
+ }
90
+ const [fetchError, objects] = await catchError(api.getObjects({ elementKey: connectorKey }));
91
+ if (fetchError) {
92
+ return;
93
+ }
94
+ if (!Array.isArray(objects)) {
95
+ return;
96
+ }
97
+ const match = objects.find((obj) => obj.name === objectName);
98
+ if (!match) {
99
+ return;
100
+ }
101
+ const metadata = match.metadata;
102
+ const method = httpMethod ?? "POST";
103
+ return metadata?.method?.[method];
104
+ }
105
+ async function buildActivityPropertyConfig(params) {
106
+ const { entry, uiPathActivityTypeId, connectionId } = params;
107
+ const instanceParameters = parseEntryConfiguration(entry);
108
+ const activityClient = await createConfiguredActivityClient({
109
+ instanceParameters,
110
+ connectionId
111
+ });
112
+ const { essentialConfiguration } = activityClient.getEssentialConfiguration();
113
+ assertActivityMetadataResolved(essentialConfiguration, connectionId);
114
+ const essentialConfig = { essentialConfiguration };
115
+ const multipartParams = extractMultipartParameters(params.objectMethodConfig?.parameters ?? []);
116
+ return {
117
+ ...multipartParams.length > 0 ? { multipartParameters: multipartParams } : {},
118
+ configuration: `=jsonString:${JSON.stringify(essentialConfig)}`,
119
+ uiPathActivityTypeId,
120
+ errorState: { issues: [] }
121
+ };
122
+ }
123
+ function buildInputMetadataFromParams(objectMethodConfig, resolvedOperation) {
124
+ const params = objectMethodConfig?.parameters ?? [];
125
+ const multipartParams = extractMultipartParameters(params);
126
+ return buildInputMetadata(multipartParams, resolvedOperation ?? "list") ?? undefined;
127
+ }
128
+ function extractFields(metadata) {
129
+ if (metadata.fields) {
130
+ return metadata.fields;
131
+ }
132
+ const extended = metadata;
133
+ if (extended.metadata?.fields) {
134
+ return extended.metadata.fields;
135
+ }
136
+ return;
137
+ }
138
+ function normalizeFields(raw) {
139
+ if (Array.isArray(raw)) {
140
+ return raw;
141
+ }
142
+ return Object.values(raw);
143
+ }
144
+ var UNSAFE_KEYS = new Set(["__proto__", "constructor", "prototype"]);
145
+ function nestDottedKeys(flat) {
146
+ const result = {};
147
+ for (const [key, value] of Object.entries(flat)) {
148
+ const parts = key.split(".");
149
+ if (parts.some((p) => UNSAFE_KEYS.has(p)))
150
+ continue;
151
+ let current = result;
152
+ for (let i = 0;i < parts.length - 1; i++) {
153
+ if (!Object.hasOwn(current, parts[i]) || typeof current[parts[i]] !== "object" || current[parts[i]] === null) {
154
+ current[parts[i]] = {};
155
+ }
156
+ current = current[parts[i]];
157
+ }
158
+ current[parts[parts.length - 1]] = value;
159
+ }
160
+ return result;
161
+ }
162
+ function mapISFieldsToInputOutputs(metadata, httpMethod) {
163
+ const rawFields = extractFields(metadata);
164
+ if (!rawFields) {
165
+ return { inputs: [], outputs: [] };
166
+ }
167
+ const fields = normalizeFields(rawFields);
168
+ const method = httpMethod ?? "POST";
169
+ const requestFields = [];
170
+ const responseFields = [];
171
+ for (const field of fields) {
172
+ const methodConfig = field.method?.[method];
173
+ if (!methodConfig) {
174
+ continue;
175
+ }
176
+ if (methodConfig.request || methodConfig.requestCurated) {
177
+ requestFields.push(field);
178
+ }
179
+ if (methodConfig.response || methodConfig.responseCurated) {
180
+ responseFields.push(field);
181
+ }
182
+ }
183
+ const inputs = [];
184
+ if (requestFields.length > 0) {
185
+ inputs.push({
186
+ name: "body",
187
+ type: "json",
188
+ target: "body",
189
+ body: {}
190
+ });
191
+ }
192
+ const outputs = [];
193
+ if (responseFields.length > 0) {
194
+ const properties = {};
195
+ for (const f of responseFields) {
196
+ properties[f.name] = {
197
+ title: f.displayName,
198
+ type: f.type
199
+ };
200
+ }
201
+ outputs.push({
202
+ name: "response",
203
+ displayName: "Response",
204
+ type: "jsonSchema",
205
+ source: "=response",
206
+ _jsonSchema: {
207
+ $schema: "http://json-schema.org/draft-07/schema#",
208
+ type: "object",
209
+ properties,
210
+ definitions: {}
211
+ }
212
+ });
213
+ }
214
+ outputs.push(buildErrorOutput());
215
+ return { inputs, outputs };
216
+ }
217
+ function buildParameterInputs(objectMethodConfig, activityPropertyConfig) {
218
+ const inputs = [];
219
+ inputs.push({
220
+ name: "pathParameters",
221
+ type: "json",
222
+ target: "pathParameters",
223
+ body: {}
224
+ });
225
+ if (objectMethodConfig) {
226
+ const parameters = objectMethodConfig.parameters;
227
+ if (Array.isArray(parameters) && parameters.length > 0) {
228
+ for (const param of parameters) {
229
+ if (param.type === "query") {
230
+ inputs.push({
231
+ name: "queryParameters",
232
+ type: "json",
233
+ target: "queryParameters",
234
+ body: {}
235
+ });
236
+ break;
237
+ }
238
+ }
239
+ }
240
+ }
241
+ if (activityPropertyConfig) {
242
+ const multipartParams = activityPropertyConfig.multipartParameters;
243
+ if (Array.isArray(multipartParams)) {
244
+ const hasFile = multipartParams.some((p) => p.dataType === "file");
245
+ if (hasFile) {
246
+ inputs.push({
247
+ name: "file",
248
+ type: "file",
249
+ target: "file"
250
+ });
251
+ }
252
+ }
253
+ }
254
+ return inputs;
255
+ }
256
+ function httpMethodToOperationType(method) {
257
+ switch (method?.toUpperCase()) {
258
+ case "GET":
259
+ return "read";
260
+ case "POST":
261
+ return "create";
262
+ case "PUT":
263
+ return "replace";
264
+ case "PATCH":
265
+ return "update";
266
+ case "DELETE":
267
+ return "delete";
268
+ default:
269
+ return "";
270
+ }
271
+ }
272
+ function buildConnectorContext(params) {
273
+ const {
274
+ config,
275
+ entry,
276
+ connectionBindingId,
277
+ folderKeyBindingId,
278
+ connectionId,
279
+ objectSwaggerPath,
280
+ connectorName,
281
+ activityPropertyConfig,
282
+ inputMetadata
283
+ } = params;
284
+ const context = [
285
+ {
286
+ name: "connectorKey",
287
+ value: config.connectorKey,
288
+ type: "string"
289
+ },
290
+ {
291
+ name: "connection",
292
+ value: `=bindings.${connectionBindingId}`,
293
+ type: "string"
294
+ },
295
+ {
296
+ name: "resourceKey",
297
+ value: connectionId,
298
+ type: "string"
299
+ }
300
+ ];
301
+ if (folderKeyBindingId) {
302
+ context.push({
303
+ name: "folderKey",
304
+ value: `=bindings.${folderKeyBindingId}`,
305
+ type: "string"
306
+ });
307
+ }
308
+ if (config.objectName) {
309
+ context.push({
310
+ name: "objectName",
311
+ value: config.objectName,
312
+ type: "string"
313
+ });
314
+ }
315
+ if (config.httpMethod) {
316
+ context.push({
317
+ name: "method",
318
+ value: config.httpMethod,
319
+ type: "string"
320
+ });
321
+ }
322
+ if (objectSwaggerPath) {
323
+ context.push({
324
+ name: "path",
325
+ value: objectSwaggerPath,
326
+ type: "string"
327
+ });
328
+ }
329
+ const metadataBody = {
330
+ activityPropertyConfiguration: activityPropertyConfig ?? {},
331
+ activityMetadata: { activity: entry },
332
+ inputMetadata: inputMetadata ?? {},
333
+ telemetryData: {
334
+ connectorKey: config.connectorKey,
335
+ connectorName: connectorName ?? entry.displayName,
336
+ operationType: httpMethodToOperationType(config.httpMethod),
337
+ objectName: config.objectName ?? "",
338
+ objectDisplayName: entry.displayName,
339
+ primaryKeyName: ""
340
+ }
341
+ };
342
+ context.push({
343
+ name: "metadata",
344
+ type: "json",
345
+ body: metadataBody
346
+ });
347
+ return context;
348
+ }
349
+ async function extractFieldDefinitions(connectorKey, objectName, httpMethod, prefetched) {
350
+ const result = {};
351
+ if (!objectName)
352
+ return result;
353
+ const method = httpMethod ?? "POST";
354
+ const [metadata, methodConfig] = prefetched ? [prefetched.metadata, prefetched.methodConfig] : await Promise.all([
355
+ fetchMetadataSafe(connectorKey, objectName),
356
+ fetchObjectMethodConfig(connectorKey, objectName, method)
357
+ ]);
358
+ if (metadata) {
359
+ const rawFields = extractFields(metadata);
360
+ if (rawFields) {
361
+ const fields = normalizeFields(rawFields);
362
+ const bodyDefs = {};
363
+ for (const field of fields) {
364
+ const mc = field.method?.[method];
365
+ if (!mc || !(mc.request || mc.requestCurated))
366
+ continue;
367
+ bodyDefs[field.name] = {
368
+ name: field.name,
369
+ displayName: field.displayName,
370
+ type: field.type,
371
+ required: mc.required ?? false,
372
+ ...field.description && {
373
+ description: field.description
374
+ },
375
+ ...field.enum?.length && { enum: field.enum },
376
+ ...field.reference && {
377
+ reference: {
378
+ objectName: field.reference.objectName,
379
+ lookupValue: field.reference.lookupValue
380
+ }
381
+ }
382
+ };
383
+ }
384
+ if (Object.keys(bodyDefs).length > 0) {
385
+ result.body = bodyDefs;
386
+ }
387
+ }
388
+ }
389
+ if (methodConfig) {
390
+ const parameters = methodConfig.parameters;
391
+ if (Array.isArray(parameters)) {
392
+ const pathDefs = {};
393
+ const queryDefs = {};
394
+ for (const param of parameters) {
395
+ const compact = {
396
+ name: param.name,
397
+ displayName: param.displayName ?? param.name,
398
+ type: param.dataType ?? "string",
399
+ required: !!param.required
400
+ };
401
+ if (param.type === "path") {
402
+ pathDefs[param.name] = compact;
403
+ } else if (param.type === "query") {
404
+ queryDefs[param.name] = compact;
405
+ }
406
+ }
407
+ if (Object.keys(pathDefs).length > 0) {
408
+ result.pathParameters = pathDefs;
409
+ }
410
+ if (Object.keys(queryDefs).length > 0) {
411
+ result.queryParameters = queryDefs;
412
+ }
413
+ }
414
+ }
415
+ return result;
416
+ }
417
+ async function enrichConnectorRegistryEntry(config, connectionId) {
418
+ if (!config.objectName || !config.httpMethod) {
419
+ return null;
420
+ }
421
+ const metadata = await fetchMetadataSafe(config.connectorKey, config.objectName, connectionId);
422
+ if (!metadata) {
423
+ return null;
424
+ }
425
+ const rawFields = extractFields(metadata);
426
+ if (!rawFields) {
427
+ return null;
428
+ }
429
+ const fields = normalizeFields(rawFields);
430
+ const method = config.httpMethod;
431
+ const inputFields = [];
432
+ const outputFields = [];
433
+ for (const field of fields) {
434
+ const methodInfo = field.method?.[method];
435
+ if (!methodInfo)
436
+ continue;
437
+ const compact = {
438
+ name: field.name,
439
+ displayName: field.displayName,
440
+ type: field.type,
441
+ required: methodInfo.required ?? false,
442
+ ...field.description && { description: field.description },
443
+ ...field.enum?.length && { enum: field.enum },
444
+ ...field.reference && {
445
+ reference: {
446
+ objectName: field.reference.objectName,
447
+ lookupValue: field.reference.lookupValue
448
+ }
449
+ }
450
+ };
451
+ if (methodInfo.request || methodInfo.requestCurated) {
452
+ inputFields.push(compact);
453
+ }
454
+ if (methodInfo.response || methodInfo.responseCurated) {
455
+ outputFields.push({ ...compact, required: false });
456
+ }
457
+ }
458
+ return {
459
+ inputDefinition: { fields: inputFields },
460
+ outputDefinition: { fields: outputFields }
461
+ };
462
+ }
463
+ async function enrichConnectorActivity(activityTypeId, connectionId, indexType = "typecache-activities") {
464
+ const { entry, config } = await lookupTypeCacheEntry(activityTypeId, indexType);
465
+ const resolvedOperation = await resolveActivityOperation(config.connectorKey, entry.displayName, config.operation);
466
+ let inputs = [];
467
+ let outputs = [];
468
+ let objectSwaggerPath;
469
+ let inputMetadata;
470
+ let metadata;
471
+ let objectMethodConfig;
472
+ if (config.objectName) {
473
+ const [md, swaggerPath, mc] = await Promise.all([
474
+ fetchMetadataSafe(config.connectorKey, config.objectName),
475
+ fetchObjectSwaggerPath(config.connectorKey, config.objectName),
476
+ fetchObjectMethodConfig(config.connectorKey, config.objectName, config.httpMethod)
477
+ ]);
478
+ metadata = md ?? undefined;
479
+ objectMethodConfig = mc ?? undefined;
480
+ if (metadata) {
481
+ const io = mapISFieldsToInputOutputs(metadata, config.httpMethod);
482
+ inputs = io.inputs;
483
+ outputs = io.outputs;
484
+ inputMetadata = buildInputMetadataFromParams(objectMethodConfig, resolvedOperation ?? config.operation);
485
+ }
486
+ objectSwaggerPath = swaggerPath;
487
+ }
488
+ const activityPropertyConfig = await buildActivityPropertyConfig({
489
+ entry,
490
+ config,
491
+ uiPathActivityTypeId: activityTypeId,
492
+ connectionId,
493
+ objectSwaggerPath,
494
+ objectMethodConfig
495
+ });
496
+ if (config.objectName) {
497
+ inputs = [
498
+ ...inputs,
499
+ ...buildParameterInputs(objectMethodConfig, activityPropertyConfig)
500
+ ];
501
+ }
502
+ const connections = await fetchConnectorConnections(config.connectorKey);
503
+ const connection = connections.find((c) => c.id === connectionId);
504
+ if (!connection) {
505
+ throw new Error(`Connection "${connectionId}" not found for connector "${config.connectorKey}"`);
506
+ }
507
+ const folderKey = connection.folder?.key ?? undefined;
508
+ const connectorName = connection.connector?.name;
509
+ const [connectionBinding, folderKeyBinding] = createConnectorBindings(config.connectorKey, connectionId, folderKey);
510
+ const bindings = [connectionBinding];
511
+ if (folderKeyBinding) {
512
+ bindings.push(folderKeyBinding);
513
+ }
514
+ const context = buildConnectorContext({
515
+ config,
516
+ entry,
517
+ connectionBindingId: connectionBinding.id,
518
+ folderKeyBindingId: folderKeyBinding?.id,
519
+ connectionId,
520
+ objectSwaggerPath,
521
+ connectorName,
522
+ activityPropertyConfig,
523
+ inputMetadata
524
+ });
525
+ const { inputsWithVars, outputsWithVars } = addVarIdsToInputsOutputs({
526
+ inputs,
527
+ outputs
528
+ });
529
+ return {
530
+ entry,
531
+ config,
532
+ connectionId,
533
+ folderKey,
534
+ resolvedOperation,
535
+ context,
536
+ bindings,
537
+ inputs: inputsWithVars,
538
+ outputs: outputsWithVars,
539
+ _metadata: metadata,
540
+ _methodConfig: objectMethodConfig
541
+ };
542
+ }
543
+
544
+ export { parseEntryConfiguration, resolveActivityOperation, fetchObjectSwaggerPath, fetchObjectMethodConfig, extractFields, normalizeFields, UNSAFE_KEYS, nestDottedKeys, mapISFieldsToInputOutputs, buildParameterInputs, buildConnectorContext, extractFieldDefinitions, enrichConnectorRegistryEntry, enrichConnectorActivity };
545
+
546
+ //# debugId=F2D3B4FF2B4063C064756E2164756E21
@@ -0,0 +1,57 @@
1
+ // src/types/registry.ts
2
+ var RESOURCE_TYPES = [
3
+ "agent",
4
+ "process",
5
+ "api",
6
+ "processOrchestration",
7
+ "caseManagement",
8
+ "flow",
9
+ "typecache-activities",
10
+ "typecache-triggers",
11
+ "typecache-packages",
12
+ "typecache-external-automation-activities",
13
+ "typecache-external-automation-triggers",
14
+ "typecache-external-automation-packages",
15
+ "typecache-external-agent-activities",
16
+ "typecache-external-agent-triggers",
17
+ "typecache-external-agent-packages",
18
+ "action-apps",
19
+ "solution"
20
+ ];
21
+ var TYPECACHE_ACTIVITY_INDEX_TYPES = [
22
+ "typecache-activities",
23
+ "typecache-external-automation-activities",
24
+ "typecache-external-agent-activities"
25
+ ];
26
+ var TYPECACHE_TRIGGER_INDEX_TYPES = [
27
+ "typecache-triggers",
28
+ "typecache-external-automation-triggers",
29
+ "typecache-external-agent-triggers"
30
+ ];
31
+ var TYPECACHE_PACKAGE_INDEX_TYPES = [
32
+ "typecache-packages",
33
+ "typecache-external-automation-packages",
34
+ "typecache-external-agent-packages"
35
+ ];
36
+ var TYPECACHE_INDEX_TYPES = [
37
+ ...TYPECACHE_ACTIVITY_INDEX_TYPES,
38
+ ...TYPECACHE_TRIGGER_INDEX_TYPES
39
+ ];
40
+ var GET_SEARCHABLE_TYPES = [
41
+ { type: "agent", idField: "entityKey" },
42
+ { type: "process", idField: "entityKey" },
43
+ { type: "api", idField: "entityKey" },
44
+ { type: "processOrchestration", idField: "entityKey" },
45
+ { type: "caseManagement", idField: "entityKey" },
46
+ { type: "flow", idField: "entityKey" },
47
+ { type: "action-apps", idField: "id" },
48
+ ...TYPECACHE_INDEX_TYPES.map((type) => ({
49
+ type,
50
+ idField: "uiPathActivityTypeId"
51
+ })),
52
+ { type: "solution", idField: "key" }
53
+ ];
54
+
55
+ export { RESOURCE_TYPES, TYPECACHE_ACTIVITY_INDEX_TYPES, TYPECACHE_TRIGGER_INDEX_TYPES, TYPECACHE_PACKAGE_INDEX_TYPES, TYPECACHE_INDEX_TYPES, GET_SEARCHABLE_TYPES };
56
+
57
+ //# debugId=A7AD4F9C62720BB264756E2164756E21