@uipath/case-tool 1.203.0-preview.205 → 1.204.0-preview.206

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 (85) hide show
  1. package/README.md +6 -1
  2. package/dist/THIRD-PARTY-NOTICES.md +48 -9
  3. package/dist/authoring-0hr88kff.js +623 -0
  4. package/dist/{case-api-v6cjyrfw.js → case-api-gdaj9469.js} +5 -5
  5. package/dist/case-bindings-service-c2mze9vj.js +476 -0
  6. package/dist/{case-debug-studio-web-service-shg84pn8.js → case-debug-studio-web-service-cc0vj7md.js} +11 -10
  7. package/dist/case-described-io-service-cpe5h2ks.js +132 -0
  8. package/dist/{case-format-service-q345a2fd.js → case-format-service-qwyjyt0y.js} +2 -2
  9. package/dist/{case-pack-service-29rza2q2.js → case-pack-service-47yrvmg0.js} +11 -11
  10. package/dist/case-shape-reader-mw58avr0.js +13 -0
  11. package/dist/case-splice-service-9zvw19ca.js +312 -0
  12. package/dist/{case-validate-service-2n2bqc1g.js → case-validate-service-vrvx19c1.js} +415 -1449
  13. package/dist/{connector-enrichment-service-h662r92z.js → connector-enrichment-service-rg87npf0.js} +20 -18
  14. package/dist/{connector-lookup-service-y7x6xsc6.js → connector-lookup-service-c49pvfwb.js} +7 -7
  15. package/dist/{connector-task-spec-qm6q8qma.js → connector-task-spec-t3tjeeqt.js} +86 -26
  16. package/dist/{debug-service-8x087xxt.js → debug-service-vf5mw0nr.js} +3 -3
  17. package/dist/{embedded-file-reader-0sjt4nkj.js → embedded-file-reader-v8c2yj2a.js} +2 -2
  18. package/dist/{enrichment-service-7vbxcwge.js → enrichment-service-78b0gqck.js} +8 -7
  19. package/dist/index-hhsf00x8.js +15 -0
  20. package/dist/{index-fz4ttsde.js → index-j2r3jb6c.js} +5 -3
  21. package/dist/{index-jxj2jz45.js → index-rgw7caht.js} +416 -87
  22. package/dist/{index-k4xz16db.js → index-wmffgzmr.js} +12522 -7316
  23. package/dist/{index-va9sm89y.js → index-ynnr55wk.js} +59 -27
  24. package/dist/index.js +15 -11
  25. package/dist/{input-reader-pnh948bq.js → input-reader-bb0ptk2v.js} +2 -2
  26. package/dist/migration-diagnosis-ag2sgd1e.js +71 -0
  27. package/dist/{node-strategy-gc4sg6a2.js → node-strategy-5pz40tee.js} +1 -1
  28. package/dist/{node-sync-service-mehbp4qq.js → node-sync-service-xw3tpfj5.js} +6 -6
  29. package/dist/out-target-1f4n9vqb.js +70 -0
  30. package/dist/{packager-tool-wefb1zw3.js → packager-tool-0p3td5zv.js} +8 -7
  31. package/dist/packager-tool-21qfsbxn.js +17 -0
  32. package/dist/{strict-sdd-audit-8e2fh9jg.js → packager-tool-4e56rmwe.js} +2771 -1746
  33. package/dist/{packager-tool-sfkyb4kz.js → packager-tool-4rqd21wc.js} +194 -2
  34. package/dist/packager-tool-57pzrd0g.js +32 -0
  35. package/dist/{packager-tool-kpcjnxd1.js → packager-tool-58kx79ta.js} +586 -113
  36. package/dist/{packager-tool-hrdan5ms.js → packager-tool-5qghkdd0.js} +2 -2
  37. package/dist/packager-tool-5qp9xza1.js +10 -0
  38. package/dist/packager-tool-8a9yqfq7.js +76 -0
  39. package/dist/{packager-tool-40vq60aa.js → packager-tool-8mpxsyje.js} +4 -4
  40. package/dist/{packager-tool-e3k5gzd3.js → packager-tool-a6wztj6y.js} +669 -100
  41. package/dist/{packager-tool-p0zh9hw6.js → packager-tool-ayevyw80.js} +5 -5
  42. package/dist/packager-tool-b250k6w4.js +75 -0
  43. package/dist/packager-tool-bfgdz1zh.js +73 -0
  44. package/dist/{packager-tool-p7jgrm5r.js → packager-tool-cmwets3m.js} +1 -1
  45. package/dist/{packager-tool-d4sjk46c.js → packager-tool-cv05dwac.js} +18 -21
  46. package/dist/packager-tool-d7jjng8a.js +21 -0
  47. package/dist/packager-tool-dthjwajc.js +13 -0
  48. package/dist/{packager-tool-zcsm7dsj.js → packager-tool-e760vtgg.js} +4 -4
  49. package/dist/packager-tool-f78ntj5g.js +228 -0
  50. package/dist/{packager-tool-2xfyykm0.js → packager-tool-ggbvxvey.js} +320 -200
  51. package/dist/{packager-tool-6karkrc8.js → packager-tool-jx0yq0b5.js} +6 -6
  52. package/dist/{packager-tool-cg2j4rma.js → packager-tool-kacqd7h7.js} +4 -4
  53. package/dist/packager-tool-mknccck5.js +24 -0
  54. package/dist/{packager-tool-sv0d6wb6.js → packager-tool-nj4seavy.js} +7 -3
  55. package/dist/{packager-tool-adcaxdhs.js → packager-tool-paepfv5d.js} +1 -1
  56. package/dist/{packager-tool-052kvydg.js → packager-tool-pm646ag4.js} +1 -1
  57. package/dist/{packager-tool-dd8bq6az.js → packager-tool-rgpdaxbx.js} +548 -108
  58. package/dist/{packager-tool-8q7vzh65.js → packager-tool-s3e2kepj.js} +455 -13
  59. package/dist/{packager-tool-r84ng21s.js → packager-tool-sag9gz55.js} +3 -1
  60. package/dist/{packager-tool-0mj06yen.js → packager-tool-sq931c23.js} +5 -22
  61. package/dist/{packager-tool-yrsrzz1a.js → packager-tool-v99ygh9f.js} +23 -8
  62. package/dist/packager-tool-wj9d9mqe.js +267 -0
  63. package/dist/{packager-tool-hz1mz8fs.js → packager-tool-wjaya2k2.js} +2 -2
  64. package/dist/packager-tool-xcd87qyx.js +44 -0
  65. package/dist/{packager-tool-0v3s8r01.js → packager-tool-xdxr3ync.js} +4 -2
  66. package/dist/{packager-tool-61hxhgeg.js → packager-tool-xkgq5fkf.js} +3 -3
  67. package/dist/packager-tool.js +6 -6
  68. package/dist/{project-artifacts-8snev67g.js → project-artifacts-wzrhketn.js} +1 -1
  69. package/dist/resolved-check-p99hysaw.js +50 -0
  70. package/dist/{resourcesSyncService-pmfwz9cd.js → resourcesSyncService-1ezvhcbc.js} +25 -18
  71. package/dist/rule-group-members-zje7n3kf.js +76 -0
  72. package/dist/sdd-convert-service-gp9733qv.js +1962 -0
  73. package/dist/{sdd-lookup-x08j9g9m.js → sdd-lookup-vpjej1kt.js} +2 -2
  74. package/dist/sdd-resolve-service-4hx64x3z.js +288 -0
  75. package/dist/strict-case-rules-ksy8q7pg.js +731 -0
  76. package/dist/strict-entry-points-v14d7y50.js +124 -0
  77. package/dist/strict-sdd-audit-k6hh0mbr.js +23 -0
  78. package/dist/task-selector-8bjn35dv.js +57 -0
  79. package/dist/tool.js +15 -11
  80. package/dist/{trigger-enrichment-service-xexg7qbk.js → trigger-enrichment-service-pjw5ysny.js} +41 -23
  81. package/package.json +2 -2
  82. package/dist/authoring-kngaggwm.js +0 -360
  83. package/dist/case-bindings-service-1wxfghzd.js +0 -240
  84. package/dist/packager-tool-83qnybab.js +0 -1564
  85. package/dist/strict-case-rules-x6t0vb40.js +0 -409
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  resolveMaestroRegistry
3
- } from "./packager-tool-hrdan5ms.js";
3
+ } from "./packager-tool-5qghkdd0.js";
4
4
  import {
5
5
  ConnectionsApi,
6
6
  ElementsApi,
7
7
  createApiClient,
8
8
  getConnectorActivityMetadataV4,
9
9
  isV4ActivityConfiguration
10
- } from "./packager-tool-zcsm7dsj.js";
10
+ } from "./packager-tool-e760vtgg.js";
11
11
  import {
12
12
  MANIFEST_FEATURE_FLAGS,
13
13
  ManifestClient,
@@ -18,16 +18,16 @@ import {
18
18
  } from "./packager-tool-16q84571.js";
19
19
  import {
20
20
  getLoginStatusAsync
21
- } from "./packager-tool-yrsrzz1a.js";
21
+ } from "./packager-tool-v99ygh9f.js";
22
22
  import {
23
23
  UIPATH_HOME_DIR,
24
24
  catchError,
25
25
  hashContent,
26
26
  logger
27
- } from "./packager-tool-kpcjnxd1.js";
27
+ } from "./packager-tool-58kx79ta.js";
28
28
  import {
29
29
  getFileSystem
30
- } from "./packager-tool-0v3s8r01.js";
30
+ } from "./packager-tool-xdxr3ync.js";
31
31
 
32
32
  // ../maestro-sdk/src/registry/filter-engine.ts
33
33
  function filterNodes(nodes, parsedFilters) {
@@ -0,0 +1,75 @@
1
+ // src/services/registry-ledger.ts
2
+ var taskKey = (stage, task) => JSON.stringify([stage, task]);
3
+ var asRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? value : undefined;
4
+ var text = (value) => typeof value === "string" && value !== "" ? value : undefined;
5
+ var queryName = (value) => text(value) ?? text(asRecord(value)?.name);
6
+ var collectEntries = (value, into, depth = 0) => {
7
+ if (depth > 4)
8
+ return;
9
+ if (Array.isArray(value)) {
10
+ for (const item of value) {
11
+ const record2 = asRecord(item);
12
+ if (record2 !== undefined && text(record2.task) !== undefined && (("matches" in record2) || ("selected" in record2))) {
13
+ into.push(record2);
14
+ continue;
15
+ }
16
+ collectEntries(item, into, depth + 1);
17
+ }
18
+ return;
19
+ }
20
+ const record = asRecord(value);
21
+ if (record === undefined)
22
+ return;
23
+ for (const entry of Object.values(record)) {
24
+ collectEntries(entry, into, depth + 1);
25
+ }
26
+ };
27
+ var readRegistryLedger = (document) => {
28
+ const entries = [];
29
+ collectEntries(document, entries);
30
+ if (entries.length === 0)
31
+ return;
32
+ const declared = asRecord(asRecord(document)?.scope)?.missingIndexes;
33
+ const missing = new Set((Array.isArray(declared) ? declared : []).map(text).filter((name) => name !== undefined));
34
+ const unresolvable = new Map;
35
+ for (const entry of entries) {
36
+ const stage = text(entry.stage);
37
+ const task = text(entry.task);
38
+ if (stage === undefined || task === undefined)
39
+ continue;
40
+ const cacheFile = text(entry.cacheFile);
41
+ if (cacheFile !== undefined && missing.has(cacheFile))
42
+ continue;
43
+ if (entry.matches !== undefined && !Array.isArray(entry.matches)) {
44
+ continue;
45
+ }
46
+ const matches = Array.isArray(entry.matches) ? entry.matches : [];
47
+ if (entry.selected !== undefined && entry.selected !== null && asRecord(entry.selected) === undefined) {
48
+ continue;
49
+ }
50
+ const selected = asRecord(entry.selected);
51
+ if (matches.length > 0 || selected !== undefined)
52
+ continue;
53
+ unresolvable.set(taskKey(stage, task), {
54
+ query: queryName(entry.searchQuery) ?? task,
55
+ cacheFile: text(entry.cacheFile)
56
+ });
57
+ }
58
+ return { unresolvable };
59
+ };
60
+ var ledgerMissFor = (ledger, stageSpellings, task) => {
61
+ if (ledger === undefined || task === undefined)
62
+ return;
63
+ for (const stage of stageSpellings) {
64
+ if (stage === undefined || stage === "")
65
+ continue;
66
+ const hit = ledger.unresolvable.get(taskKey(stage, task));
67
+ if (hit !== undefined)
68
+ return hit;
69
+ }
70
+ return;
71
+ };
72
+
73
+ export { readRegistryLedger, ledgerMissFor };
74
+
75
+ //# debugId=1A6B812F5C666AD964756E2164756E21
@@ -0,0 +1,73 @@
1
+ // ../maestro-sdk/src/jint-globals.ts
2
+ var JINT_GLOBALS = [
3
+ "AggregateError",
4
+ "Array",
5
+ "ArrayBuffer",
6
+ "AsyncDisposableStack",
7
+ "Atomics",
8
+ "BigInt",
9
+ "BigInt64Array",
10
+ "BigUint64Array",
11
+ "Boolean",
12
+ "DataView",
13
+ "Date",
14
+ "DisposableStack",
15
+ "Error",
16
+ "EvalError",
17
+ "FinalizationRegistry",
18
+ "Float16Array",
19
+ "Float32Array",
20
+ "Float64Array",
21
+ "Function",
22
+ "Generator",
23
+ "Infinity",
24
+ "Int16Array",
25
+ "Int32Array",
26
+ "Int8Array",
27
+ "JSON",
28
+ "Map",
29
+ "Math",
30
+ "NaN",
31
+ "Number",
32
+ "Object",
33
+ "Promise",
34
+ "Proxy",
35
+ "RangeError",
36
+ "ReferenceError",
37
+ "Reflect",
38
+ "RegExp",
39
+ "Set",
40
+ "ShadowRealm",
41
+ "SharedArrayBuffer",
42
+ "String",
43
+ "SuppressedError",
44
+ "Symbol",
45
+ "SyntaxError",
46
+ "TypeError",
47
+ "TypedArray",
48
+ "URIError",
49
+ "Uint16Array",
50
+ "Uint32Array",
51
+ "Uint8Array",
52
+ "Uint8ClampedArray",
53
+ "WeakMap",
54
+ "WeakRef",
55
+ "WeakSet",
56
+ "decodeURI",
57
+ "decodeURIComponent",
58
+ "encodeURI",
59
+ "encodeURIComponent",
60
+ "escape",
61
+ "eval",
62
+ "globalThis",
63
+ "isFinite",
64
+ "isNaN",
65
+ "parseFloat",
66
+ "parseInt",
67
+ "undefined",
68
+ "unescape"
69
+ ];
70
+
71
+ export { JINT_GLOBALS };
72
+
73
+ //# debugId=7C295C70D286DDB864756E2164756E21
@@ -6,7 +6,7 @@ import {
6
6
  // src/services/case-schema-loader.ts
7
7
  var cached;
8
8
  function loadCaseSchemaAsync() {
9
- cached ??= import("./index-k4xz16db.js").then((m)=>__toESM(m.default,1));
9
+ cached ??= import("./index-wmffgzmr.js").then((m)=>__toESM(m.default,1));
10
10
  return cached;
11
11
  }
12
12
 
@@ -14,10 +14,24 @@ var REQUIRED_TRIGGER_CONTEXT_KEYS = [
14
14
  var asRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? value : undefined;
15
15
  var contextEntries = (context) => (Array.isArray(context) ? context : []).map((entry) => asRecord(entry)).filter((entry) => entry !== undefined);
16
16
  var contextEntry = (context, name) => contextEntries(context).find((entry) => entry.name === name);
17
- var missingContextKeys = (context, waitsForEvent) => {
17
+ var FOLDER_KEY = "folderKey";
18
+ var entryValue = (context, name) => {
19
+ const value = contextEntry(context, name)?.value;
20
+ return typeof value === "string" && value !== "" ? value : undefined;
21
+ };
22
+ var claimsFolderBinding = (bindings, connectionId) => {
23
+ if (connectionId === undefined)
24
+ return false;
25
+ return (Array.isArray(bindings) ? bindings : []).some((entry) => {
26
+ const binding = asRecord(entry);
27
+ return binding?.resource === "Connection" && binding?.propertyAttribute === FOLDER_KEY && binding?.resourceKey === connectionId;
28
+ });
29
+ };
30
+ var missingContextKeys = (context, waitsForEvent, bindings) => {
18
31
  const present = new Set(contextEntries(context).map((entry) => entry.name).filter((name) => typeof name === "string"));
19
32
  const required = waitsForEvent ? REQUIRED_TRIGGER_CONTEXT_KEYS : REQUIRED_CONNECTOR_CONTEXT_KEYS;
20
- return required.filter((key) => !present.has(key));
33
+ const folderOptional = !present.has(FOLDER_KEY) && !claimsFolderBinding(bindings, entryValue(context, "resourceKey"));
34
+ return required.filter((key) => !present.has(key) && !(folderOptional && key === FOLDER_KEY));
21
35
  };
22
36
  var readActivityTypeId = (context) => {
23
37
  const metadata = contextEntry(context, "metadata");
@@ -66,23 +80,6 @@ var activityTypeIdMessage = (subject, context, consequence) => {
66
80
  return `Connector ${subject} has a metadata configuration with no ` + `${ACTIVITY_TYPE_ID_KEY} at context[metadata].` + `${ACTIVITY_TYPE_ID_PATH}. ${consequence}`;
67
81
  };
68
82
 
69
- // src/services/resource-task-binding.ts
70
- var NAME_BOUND_TASK_TYPES = new Set([
71
- "action",
72
- "agent",
73
- "api-workflow",
74
- "case-management",
75
- "process",
76
- "rpa"
77
- ]);
78
- var RESOLVED_IDENTITY_KEYS = [
79
- "resourceId",
80
- "typeId",
81
- "actionAppId",
82
- "actionDefinitionId"
83
- ];
84
- var BINDING_REFERENCE_PREFIX = "=bindings.";
85
-
86
- export { contextEntries, contextEntry, missingContextKeys, readActivityTypeId, ACTIVITY_TYPE_ID_PATH, activityTypeIdMessage, NAME_BOUND_TASK_TYPES, RESOLVED_IDENTITY_KEYS, BINDING_REFERENCE_PREFIX };
83
+ export { contextEntries, contextEntry, missingContextKeys, readActivityTypeId, ACTIVITY_TYPE_ID_PATH, activityTypeIdMessage };
87
84
 
88
- //# debugId=F24FF71C1A7CE33164756E2164756E21
85
+ //# debugId=F8BD888811A2746964756E2164756E21
@@ -0,0 +1,21 @@
1
+ // src/services/resource-task-binding.ts
2
+ var NAME_BOUND_TASK_TYPES = new Set([
3
+ "action",
4
+ "agent",
5
+ "api-workflow",
6
+ "case-management",
7
+ "function",
8
+ "process",
9
+ "rpa"
10
+ ]);
11
+ var RESOLVED_IDENTITY_KEYS = [
12
+ "resourceId",
13
+ "typeId",
14
+ "actionAppId",
15
+ "actionDefinitionId"
16
+ ];
17
+ var BINDING_REFERENCE_PREFIX = "=bindings.";
18
+
19
+ export { NAME_BOUND_TASK_TYPES, RESOLVED_IDENTITY_KEYS, BINDING_REFERENCE_PREFIX };
20
+
21
+ //# debugId=9DA5A52DF375A06864756E2164756E21
@@ -0,0 +1,13 @@
1
+ // src/services/connector-task-types.ts
2
+ var CONNECTOR_TASK_TYPES = new Set([
3
+ "execute-connector-activity",
4
+ "wait-for-connector"
5
+ ]);
6
+ var SERVICE_TYPE_BY_TASK = {
7
+ "execute-connector-activity": "Intsvc.ActivityExecution",
8
+ "wait-for-connector": "Intsvc.WaitForEvent"
9
+ };
10
+
11
+ export { CONNECTOR_TASK_TYPES, SERVICE_TYPE_BY_TASK };
12
+
13
+ //# debugId=5E05EF2E4B85DEA864756E2164756E21
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getAuthContext
3
- } from "./packager-tool-yrsrzz1a.js";
3
+ } from "./packager-tool-v99ygh9f.js";
4
4
  import {
5
5
  isBrowser
6
6
  } from "./packager-tool-0gctz400.js";
@@ -8,7 +8,7 @@ import {
8
8
  addSdkUserAgentHeader,
9
9
  getSdkUserAgentToken,
10
10
  installSdkUserAgentHeader
11
- } from "./packager-tool-kpcjnxd1.js";
11
+ } from "./packager-tool-58kx79ta.js";
12
12
  import {
13
13
  __require
14
14
  } from "./packager-tool-1yh8g550.js";
@@ -6240,7 +6240,7 @@ var package_default = {
6240
6240
  name: "@uipath/integrationservice-sdk",
6241
6241
  author: "UiPath",
6242
6242
  license: "SEE LICENSE IN LICENSE.txt",
6243
- version: "1.203.0-preview.205",
6243
+ version: "1.204.0-preview.206",
6244
6244
  repository: {
6245
6245
  type: "git",
6246
6246
  url: "https://github.com/UiPath/cli.git",
@@ -6863,4 +6863,4 @@ var CONNECTION_STATE_NAMES = new Map([
6863
6863
  var CRUD_OPERATIONS = new Set(["CREATED", "UPDATED", "DELETED"]);
6864
6864
  export { ConnectionOperationsApi, ConnectionsApi, ConnectorsApi, ElementsApi, createApiClient, isV4ActivityConfiguration, getConnectorActivityMetadataV4, getEventOperationObjects, buildActivityEssentialConfiguration, createConfiguredActivityClient, assertActivityMetadataResolved, extractMultipartParameters, buildInputMetadata, validateIntSvcNode };
6865
6865
 
6866
- //# debugId=5909446F5EFBDEC864756E2164756E21
6866
+ //# debugId=0EA6A7B53E169D7964756E2164756E21
@@ -0,0 +1,228 @@
1
+ // src/services/sdd-table.ts
2
+ var isSlugChar = (ch) => isDigit(ch) || isLetter(ch) || ch === "-" || ch === "_";
3
+ var withoutTrailingSlug = (text) => {
4
+ const trimmed = text.trimEnd();
5
+ if (!trimmed.endsWith(")"))
6
+ return text;
7
+ const open = trimmed.lastIndexOf("(");
8
+ if (open === -1)
9
+ return text;
10
+ let inner = trimmed.slice(open + 1, -1).trim();
11
+ if (inner.startsWith("`") && inner.endsWith("`") && inner.length >= 2) {
12
+ inner = inner.slice(1, -1);
13
+ }
14
+ if (inner === "" || ![...inner].every(isSlugChar))
15
+ return text;
16
+ return trimmed.slice(0, open).trimEnd();
17
+ };
18
+ var QUOTE_CHARS = new Set(["`", '"', "“", "”", "‘", "’", " "]);
19
+ var field = (block, label) => labelLineField(block, label) ?? tableRowField(block, label);
20
+ var isDigit = (ch) => ch >= "0" && ch <= "9";
21
+ var isLetter = (ch) => isLowerLetter(ch) || isUpperLetter(ch);
22
+ var isLowerLetter = (ch) => ch >= "a" && ch <= "z";
23
+ var isUpperLetter = (ch) => ch >= "A" && ch <= "Z";
24
+ var labelLineField = (block, label) => {
25
+ const wanted = label.toLowerCase();
26
+ for (const line of block.split(`
27
+ `)) {
28
+ const text = line.trim();
29
+ if (!text.startsWith("**"))
30
+ continue;
31
+ const close = text.indexOf("**", 2);
32
+ if (close === -1)
33
+ continue;
34
+ let name = text.slice(2, close).trim().toLowerCase();
35
+ if (name.endsWith(":"))
36
+ name = name.slice(0, -1);
37
+ if (name !== wanted)
38
+ continue;
39
+ return text.slice(close + 2).trim();
40
+ }
41
+ return;
42
+ };
43
+ var tableRowField = (block, label) => {
44
+ const wanted = label.toLowerCase();
45
+ let inKeyValueTable = false;
46
+ for (const line of block.split(`
47
+ `)) {
48
+ const text = line.trim();
49
+ if (!text.startsWith("|")) {
50
+ inKeyValueTable = false;
51
+ continue;
52
+ }
53
+ const body = text.endsWith("|") ? text.slice(1, -1) : text.slice(1);
54
+ const cells = splitRowCells(body);
55
+ if (cells.length !== 2) {
56
+ inKeyValueTable = false;
57
+ continue;
58
+ }
59
+ if (!inKeyValueTable) {
60
+ inKeyValueTable = KEY_VALUE_HEADERS.has(cells[0].toLowerCase()) && cells[1].toLowerCase() === "value";
61
+ continue;
62
+ }
63
+ let name = cells[0].toLowerCase();
64
+ if (name.endsWith(":"))
65
+ name = name.slice(0, -1);
66
+ if (name === wanted)
67
+ return cells[1];
68
+ }
69
+ return;
70
+ };
71
+ var KEY_VALUE_HEADERS = new Set([
72
+ "field",
73
+ "property",
74
+ "key",
75
+ "attribute",
76
+ "setting"
77
+ ]);
78
+ var PLACEHOLDER_CELLS = [
79
+ "",
80
+ "-",
81
+ "—",
82
+ "–",
83
+ "n/a",
84
+ "na",
85
+ "none",
86
+ "tbd"
87
+ ];
88
+ var trimQuotes = (text) => {
89
+ let start = 0;
90
+ let end = text.length;
91
+ while (start < end && QUOTE_CHARS.has(text[start]))
92
+ start += 1;
93
+ while (end > start && QUOTE_CHARS.has(text[end - 1]))
94
+ end -= 1;
95
+ return text.slice(start, end);
96
+ };
97
+ var norm = (value) => {
98
+ const text = trimQuotes(withoutTrailingSlug(String(value ?? "").trim()));
99
+ const words = [];
100
+ let word = "";
101
+ for (const ch of text.toLowerCase()) {
102
+ if (isLowerLetter(ch) || isDigit(ch))
103
+ word += ch;
104
+ else if (word !== "") {
105
+ words.push(word);
106
+ word = "";
107
+ }
108
+ }
109
+ if (word !== "")
110
+ words.push(word);
111
+ return words.join(" ");
112
+ };
113
+ var stripTicks = (value) => {
114
+ const span = /^(`+)([\s\S]*?)\1/.exec(value.trim());
115
+ return (span ? span[2] : value).trim();
116
+ };
117
+ var isBlank = (cell) => PLACEHOLDER_CELLS.map(norm).includes(norm(cell));
118
+ var namedValue = (value) => {
119
+ const text = (value ?? "").trim();
120
+ return isBlank(text) || text.toLowerCase().includes("<unresolved") ? "" : text;
121
+ };
122
+ var splitRowCells = (inner) => {
123
+ const cells = [];
124
+ let current = "";
125
+ let fence = 0;
126
+ for (let at = 0;at < inner.length; at += 1) {
127
+ const ch = inner[at];
128
+ if (ch === "\\" && inner[at + 1] === "|") {
129
+ current += "|";
130
+ at += 1;
131
+ continue;
132
+ }
133
+ if (ch === "`") {
134
+ let run = 1;
135
+ while (inner[at + run] === "`")
136
+ run += 1;
137
+ if (fence === 0)
138
+ fence = run;
139
+ else if (run === fence)
140
+ fence = 0;
141
+ current += "`".repeat(run);
142
+ at += run - 1;
143
+ continue;
144
+ }
145
+ if (ch === "|" && fence === 0) {
146
+ cells.push(current.trim());
147
+ current = "";
148
+ continue;
149
+ }
150
+ current += ch;
151
+ }
152
+ cells.push(current.trim());
153
+ return cells;
154
+ };
155
+ var isSeparatorCell = (cell) => {
156
+ let body = cell;
157
+ if (body.startsWith(":"))
158
+ body = body.slice(1);
159
+ if (body.endsWith(":"))
160
+ body = body.slice(0, -1);
161
+ return body.length >= 2 && [...body].every((ch) => ch === "-");
162
+ };
163
+ var firstTable = (block) => {
164
+ let header = [];
165
+ const rows = [];
166
+ for (const line of block.split(`
167
+ `)) {
168
+ const stripped = line.trim();
169
+ if (!stripped.startsWith("|")) {
170
+ if (header.length > 0 && rows.length > 0)
171
+ break;
172
+ continue;
173
+ }
174
+ let inner = stripped;
175
+ if (inner.startsWith("|"))
176
+ inner = inner.slice(1);
177
+ if (inner.endsWith("|"))
178
+ inner = inner.slice(0, -1);
179
+ const cells = splitRowCells(inner);
180
+ if (cells.length > 0 && cells.filter((c) => c !== "").every(isSeparatorCell)) {
181
+ continue;
182
+ }
183
+ if (header.length === 0)
184
+ header = cells;
185
+ else
186
+ rows.push(cells);
187
+ }
188
+ return { header, rows };
189
+ };
190
+ var columnIndex = (header, ...names) => {
191
+ const wanted = new Set(names.map(norm));
192
+ const found = header.findIndex((c) => wanted.has(norm(c)));
193
+ return found === -1 ? undefined : found;
194
+ };
195
+ var cellAt = (row, index) => index !== undefined && index < row.length ? row[index] : "";
196
+ var withoutAnnotation = (text) => {
197
+ const trimmed = text.replace(/\s*_\([^)]*\)_\s*$/, "").trim();
198
+ if (trimmed !== text)
199
+ return trimmed;
200
+ return text.replace(/\s*\(\s*source\s*:[^)]*\)\s*$/i, "").trim();
201
+ };
202
+ var columnField = (block, column) => {
203
+ const lines = block.split(`
204
+ `);
205
+ for (let at = 0;at < lines.length; at += 1) {
206
+ const text = lines[at].trim();
207
+ if (!text.startsWith("|"))
208
+ continue;
209
+ const header = splitRowCells(text.endsWith("|") ? text.slice(1, -1) : text.slice(1));
210
+ const index = columnIndex(header, column);
211
+ if (index === undefined)
212
+ continue;
213
+ for (let row = at + 1;row < lines.length; row += 1) {
214
+ const line = lines[row].trim();
215
+ if (!line.startsWith("|"))
216
+ break;
217
+ const cells = splitRowCells(line.endsWith("|") ? line.slice(1, -1) : line.slice(1));
218
+ if (cells.every((cell) => isSeparatorCell(cell)))
219
+ continue;
220
+ return cellAt(cells, index);
221
+ }
222
+ }
223
+ return;
224
+ };
225
+
226
+ export { withoutTrailingSlug, field, isDigit, isLetter, isLowerLetter, trimQuotes, norm, stripTicks, isBlank, namedValue, firstTable, columnIndex, cellAt, withoutAnnotation, columnField };
227
+
228
+ //# debugId=0856C8537FB484AC64756E2164756E21