@uipath/maestro-builder-sdk 6.65.0 → 6.66.1

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.
@@ -22,6 +22,7 @@ import { connectorOutputVars, typedNodeDeclaredVars } from './declared-vars.js';
22
22
  import { defaultEntryPointId } from './entry-point-id.js';
23
23
  import { parseXmlRanges } from './xml-ranges.js';
24
24
  import { ownEntry } from '../core/own-entry.js';
25
+ import { CompileRefusal } from '../core/compile-refusal.js';
25
26
  const require = createRequire(import.meta.url);
26
27
  const uipathDescriptor = require('./uipath-moddle.v1.json');
27
28
  const NS = {
@@ -251,7 +252,16 @@ function jsonInputBodiesAsCdata(xml) {
251
252
  collect(node.children);
252
253
  }
253
254
  };
254
- collect(parseXmlRanges(xml));
255
+ let ranges;
256
+ try {
257
+ ranges = parseXmlRanges(xml);
258
+ }
259
+ catch (e) {
260
+ // `xml` is moddle's own output, so malformed XML here is the serializer's
261
+ // defect, not the author's. BPMN_XML_MALFORMED stays for what `bpmn merge` reads.
262
+ throw new Error(`internal SDK error: the serializer wrote malformed XML: ${e instanceof Error ? e.message : String(e)}`, { cause: e });
263
+ }
264
+ collect(ranges);
255
265
  let out = xml;
256
266
  // Splice from the end so the earlier offsets stay valid.
257
267
  for (const input of bodies.sort((a, b) => b.innerStart - a.innerStart)) {
@@ -289,12 +299,12 @@ function cdata(name, text) {
289
299
  value = JSON.parse(text);
290
300
  }
291
301
  catch {
292
- throw new Error(`json input "${name}" contains "]]>" and is not valid JSON, so it cannot be written as the single CDATA section the engine reads.`);
302
+ throw new CompileRefusal('BPMN_JSON_INPUT_CDATA_END', `json input "${name}" contains "]]>" and is not valid JSON, so it cannot be written as the single CDATA section the engine reads.`);
293
303
  }
294
304
  const escaped = text.replaceAll(']]>', ']]\\u003e');
295
305
  // Holds by the argument above; checked because a wrong payload here would be silent.
296
306
  if (JSON.stringify(JSON.parse(escaped)) !== JSON.stringify(value)) {
297
- throw new Error(`json input "${name}": escaping "]]>" changed its value.`);
307
+ throw new Error(`internal SDK error: json input "${name}": escaping "]]>" changed its value.`);
298
308
  }
299
309
  return `<![CDATA[${escaped}]]>`;
300
310
  }
@@ -356,30 +366,35 @@ function stampEntryPointIds(ctx, built, flowElements, rootDefault) {
356
366
  /** Build the flowElements array for one scope, wiring all references within it. */
357
367
  function buildScope(ctx, nodes, flows) {
358
368
  const { m } = ctx;
359
- const byId = new Map();
369
+ const nodeById = new Map();
370
+ const flowById = new Map();
360
371
  const nodeEls = nodes.map((n) => {
361
372
  const el = createNode(ctx, n);
362
- byId.set(n.id, el);
373
+ nodeById.set(n.id, el);
363
374
  return el;
364
375
  });
365
376
  const flowEls = flows.map((f) => {
366
377
  const el = m.create('bpmn:SequenceFlow', { id: f.id, name: f.name });
367
378
  if (f.condition !== undefined)
368
379
  el.conditionExpression = m.create('bpmn:FormalExpression', { body: f.condition });
369
- byId.set(f.id, el);
380
+ flowById.set(f.id, el);
370
381
  return el;
371
382
  });
372
- const ref = (id, where) => {
383
+ // A flow endpoint and a boundary attachment name a node in this scope, as
384
+ // `check` resolves them (DANGLING_FLOW, BOUNDARY_UNATTACHED); a sequence flow
385
+ // is never one. A gateway default names a flow, or any element as before.
386
+ const ref = (byId, id, where, code) => {
373
387
  const el = byId.get(id);
374
388
  if (!el)
375
- throw new Error(`${where} references unknown element id "${id}".`);
389
+ throw new CompileRefusal(code, `${where} references unknown element id "${id}".`);
376
390
  return el;
377
391
  };
392
+ const anyById = new Map([...nodeById, ...flowById]);
378
393
  // Wire sequence flows to source/target and populate incoming/outgoing.
379
394
  flows.forEach((f, i) => {
380
395
  const flowEl = flowEls[i];
381
- const src = ref(f.source, `sequenceFlow "${f.id}"`);
382
- const tgt = ref(f.target, `sequenceFlow "${f.id}"`);
396
+ const src = ref(nodeById, f.source, `sequenceFlow "${f.id}"`, 'DANGLING_FLOW');
397
+ const tgt = ref(nodeById, f.target, `sequenceFlow "${f.id}"`, 'DANGLING_FLOW');
383
398
  flowEl.sourceRef = src;
384
399
  flowEl.targetRef = tgt;
385
400
  (src.outgoing ??= []).push(flowEl);
@@ -389,9 +404,9 @@ function buildScope(ctx, nodes, flows) {
389
404
  nodes.forEach((n, i) => {
390
405
  const el = nodeEls[i];
391
406
  if (n.kind === 'boundaryEvent')
392
- el.attachedToRef = ref(n.attachedTo, `boundaryEvent "${n.id}"`);
407
+ el.attachedToRef = ref(nodeById, n.attachedTo, `boundaryEvent "${n.id}"`, 'BOUNDARY_UNATTACHED');
393
408
  if ((n.kind === 'exclusiveGateway' || n.kind === 'inclusiveGateway') && n.default !== undefined)
394
- el.default = ref(n.default, `gateway "${n.id}" default`);
409
+ el.default = ref(anyById, n.default, `gateway "${n.id}" default`, 'BPMN_GATEWAY_DEFAULT_UNKNOWN');
395
410
  });
396
411
  return [...nodeEls, ...flowEls];
397
412
  }
@@ -729,8 +744,9 @@ function eventDefinition(ctx, def) {
729
744
  */
730
745
  function moddleTaskType(element) {
731
746
  const [ns, local] = element.split(':');
747
+ // `.plainTask()` refuses any element outside `PlainTaskElement` (BPMN_PLAIN_TASK_ELEMENT_INVALID).
732
748
  if (!ns || !local)
733
- throw new Error(`plainTask: "${element}" is not a qualified element name`);
749
+ throw new Error(`internal SDK error: plainTask: "${element}" is not a qualified element name`);
734
750
  return `${ns}:${local.charAt(0).toUpperCase()}${local.slice(1)}`;
735
751
  }
736
752
  function outputRows(ctx, map, custom = false) {
@@ -3,6 +3,7 @@ import { resolveFromRegistry } from './registry-fallback.js';
3
3
  import { nestConnectorBody } from '../core/connector-inputs.js';
4
4
  import { types } from '../core/expr.js';
5
5
  import { ownEntry } from '../core/own-entry.js';
6
+ import { CompileRefusal } from '../core/compile-refusal.js';
6
7
  const require = createRequire(import.meta.url);
7
8
  const REGISTRY = require('./registry-types.json');
8
9
  /** Every extension type in the snapshot, sorted. */
@@ -33,7 +34,7 @@ export function registryType(type, inline) {
33
34
  // for one the snapshot describes wrongly. See `ActivityNodeOpts.spec`.
34
35
  const spec = inline ?? REGISTRY.types[type] ?? resolveFromRegistry(type);
35
36
  if (!spec) {
36
- throw new Error(`unknown extension type "${type}". The committed registry snapshot has ${REGISTRY.provenance.typeCount} types `
37
+ throw new CompileRefusal('BPMN_TYPE_UNKNOWN', `unknown extension type "${type}". The committed registry snapshot has ${REGISTRY.provenance.typeCount} types `
37
38
  + `(uip ${REGISTRY.provenance.uipVersion}) and the registry could not be asked for this one either — `
38
39
  + 'no `uip` on PATH, not logged in, or the type does not exist. '
39
40
  + 'Check the spelling with `uip maestro bpmn registry search <term>`, then refresh the snapshot with '
@@ -306,7 +307,7 @@ function contextRows(m, type, spec, supplied, verbatim = false) {
306
307
  ]);
307
308
  const unknown = Object.keys(supplied).filter((k) => !known.has(k));
308
309
  if (unknown.length) {
309
- throw new Error(`context field(s) ${unknown.map((u) => `"${u}"`).join(', ')} are not declared by this extension type. ` +
310
+ throw new CompileRefusal('BPMN_CONTEXT_FIELD_UNKNOWN', `context field(s) ${unknown.map((u) => `"${u}"`).join(', ')} are not declared by this extension type. ` +
310
311
  `Declared: ${[...known].join(', ') || '(none)'}.`);
311
312
  }
312
313
  // Permitted-but-undeclared fields (a recorded `extraContext` gap) still have to
@@ -355,7 +356,7 @@ function inputRows(m, spec, inputs) {
355
356
  const keys = Object.keys(inputs);
356
357
  if (spec.inputPattern === 'none') {
357
358
  if (keys.length) {
358
- throw new Error(`this extension type takes no inputs, but ${keys.length} were supplied (${keys.join(', ')}).`);
359
+ throw new CompileRefusal('BPMN_TYPE_NO_INPUTS', `this extension type takes no inputs, but ${keys.length} were supplied (${keys.join(', ')}).`);
359
360
  }
360
361
  return [];
361
362
  }
@@ -502,7 +503,7 @@ export function createTypedNode(m, id, type, input,
502
503
  varType) {
503
504
  const spec = registryType(type, input.spec);
504
505
  if (!spec.element || !spec.tag) {
505
- throw new Error(`extension type "${type}" has no element/tag in the registry snapshot; it cannot be authored.`);
506
+ throw new CompileRefusal('BPMN_TYPE_NOT_AUTHORABLE', `extension type "${type}" has no element/tag in the registry snapshot; it cannot be authored.`);
506
507
  }
507
508
  const payload = {
508
509
  version: 'v1',
@@ -512,7 +513,7 @@ varType) {
512
513
  // carry it, and moddle would silently drop it (see ActivityOpts in bpmn-sdk).
513
514
  if (input.skipCondition !== undefined) {
514
515
  if (spec.tag === 'uipath:mapping') {
515
- throw new Error(`extension type "${type}" serializes a uipath:mapping, which cannot carry a skipCondition.`);
516
+ throw new CompileRefusal('BPMN_TYPE_SKIP_UNSUPPORTED', `extension type "${type}" serializes a uipath:mapping, which cannot carry a skipCondition.`);
516
517
  }
517
518
  payload.skipCondition = input.skipCondition;
518
519
  }
@@ -636,7 +637,7 @@ export function verbatimOutputRows(m, rows) {
636
637
  export function createExtensionPayload(m, type, rows) {
637
638
  const spec = registryType(type);
638
639
  if (!spec.tag) {
639
- throw new Error(`extension type "${type}" has no tag in the registry snapshot; it cannot be authored.`);
640
+ throw new CompileRefusal('BPMN_TYPE_NOT_AUTHORABLE', `extension type "${type}" has no tag in the registry snapshot; it cannot be authored.`);
640
641
  }
641
642
  const payload = {
642
643
  version: 'v1',
@@ -664,7 +665,7 @@ function finish(m, spec, id, name, payload) {
664
665
  /** `bpmn:SendTask` is already the moddle type name; keep it, but validate the shape. */
665
666
  function moddleElementOf(element) {
666
667
  if (!/^bpmn:[A-Z]/.test(element)) {
667
- throw new Error(`registry element "${element}" is not a moddle type name (expected e.g. bpmn:SendTask).`);
668
+ throw new CompileRefusal('BPMN_TYPE_ELEMENT_INVALID', `registry element "${element}" is not a moddle type name (expected e.g. bpmn:SendTask).`);
668
669
  }
669
670
  return element;
670
671
  }
@@ -1,22 +1,3 @@
1
- /**
2
- * xml-ranges — locate elements by their SOURCE RANGE in an XML document.
3
- *
4
- * A tolerant scanner, not a parser: it reports where each element's text begins and
5
- * ends and nothing about what it means. That is all a merge needs, and it is the only
6
- * shape that can preserve an element **byte for byte** — the merged document is the
7
- * original text with a few ranges spliced, so anything untouched is untouched in the
8
- * literal sense, down to attribute order, quoting and indentation.
9
- *
10
- * Why not `bpmn-moddle`, which the SDK already depends on: a moddle round trip
11
- * normalises. It drops attributes its descriptor does not declare, and the whole point
12
- * of a brownfield merge is to carry through exactly the payloads the builder does NOT
13
- * model. Reading with moddle would lose the thing being preserved.
14
- *
15
- * Correspondingly, this file must not be mistaken for a general XML implementation. It
16
- * handles what a `.bpmn` contains — elements, attributes, comments, CDATA, processing
17
- * instructions, a doctype — and it assumes well-formed input, because every caller has
18
- * either just written the file or is about to hand it to a real parser anyway.
19
- */
20
1
  /** One element's place in the source text. */
21
2
  export interface XmlRange {
22
3
  /** Qualified name as written, e.g. `bpmn:scriptTask`. */
@@ -17,6 +17,7 @@
17
17
  * instructions, a doctype — and it assumes well-formed input, because every caller has
18
18
  * either just written the file or is about to hand it to a real parser anyway.
19
19
  */
20
+ import { CompileRefusal } from '../core/compile-refusal.js';
20
21
  const ATTRIBUTE = /([^\s=/>]+)\s*=\s*("([^"]*)"|'([^']*)')/g;
21
22
  function parseAttributes(source) {
22
23
  const attributes = {};
@@ -44,13 +45,13 @@ function endOfTag(xml, from) {
44
45
  return i;
45
46
  }
46
47
  }
47
- throw new Error(`xml-ranges: unterminated tag at offset ${from}`);
48
+ throw new CompileRefusal('BPMN_XML_MALFORMED', `xml-ranges: unterminated tag at offset ${from}`);
48
49
  }
49
50
  /** Skip a construct that ends with a known terminator; returns the offset past it. */
50
51
  function skipUntil(xml, from, terminator) {
51
52
  const at = xml.indexOf(terminator, from);
52
53
  if (at < 0)
53
- throw new Error(`xml-ranges: unterminated ${terminator.trim()} at offset ${from}`);
54
+ throw new CompileRefusal('BPMN_XML_MALFORMED', `xml-ranges: unterminated ${terminator.trim()} at offset ${from}`);
54
55
  return at + terminator.length;
55
56
  }
56
57
  function* rawTags(xml) {
@@ -122,7 +123,7 @@ export function parseXmlRanges(xml) {
122
123
  if (tag.closing) {
123
124
  const node = stack.pop();
124
125
  if (!node)
125
- throw new Error(`xml-ranges: stray </${tag.name}> at offset ${tag.start}`);
126
+ throw new CompileRefusal('BPMN_XML_MALFORMED', `xml-ranges: stray </${tag.name}> at offset ${tag.start}`);
126
127
  finish(tag, node, tag.end);
127
128
  continue;
128
129
  }
@@ -134,7 +135,7 @@ export function parseXmlRanges(xml) {
134
135
  stack.push({ tag, children: [] });
135
136
  }
136
137
  if (stack.length > 0) {
137
- throw new Error(`xml-ranges: unclosed <${stack[stack.length - 1].tag.name}>`);
138
+ throw new CompileRefusal('BPMN_XML_MALFORMED', `xml-ranges: unclosed <${stack[stack.length - 1].tag.name}>`);
138
139
  }
139
140
  return roots;
140
141
  }
@@ -1,7 +1,7 @@
1
1
  /** What a code means for `check` and `compile`. */
2
2
  export type RefusalClass = 'lint' | 'lowering' | 'draft';
3
3
  /**
4
- * Every code the Flow and Case compile paths emit → its class. Sorted by code.
4
+ * Every code the Flow, Case and BPMN compile paths emit → its class. Sorted by code.
5
5
  *
6
6
  * One table, because codes are one namespace: `check` codes such as
7
7
  * `CONNECTOR_INPUT` and `LIBRARY_REQUIRED` are shared across families, and a
@@ -52,11 +52,84 @@ export declare const REFUSALS: {
52
52
  readonly APIWF_READ_WITHOUT_RETURNS: "lint";
53
53
  readonly API_EVENT_NO_BUSINESS_EVENT: "lowering";
54
54
  readonly ARM_SCOPED_OUTPUT_READ: "lint";
55
+ readonly ASSIGNMENT_NOT_ALLOWED: "lint";
56
+ readonly BAD_DEFAULT: "lint";
55
57
  readonly BINDING_CONNECTION_TWO_FOLDERS: "lowering";
56
58
  readonly BINDING_MISSING: "draft";
57
59
  readonly BINDING_PLACEHOLDER_UNRESOLVED: "draft";
60
+ readonly BINDING_REQUIRED: "lint";
58
61
  readonly BINDING_SELF_NAME: "draft";
59
62
  readonly BINDING_UNDECLARED: "draft";
63
+ readonly BOUNDARY_NOT_ACTIVITY: "lint";
64
+ readonly BOUNDARY_UNATTACHED: "lowering";
65
+ readonly BPMN_BINDING_READ_BEFORE_DECLARED: "lowering";
66
+ readonly BPMN_BINDING_RESOURCE_KEY_CONFLICT: "lowering";
67
+ readonly BPMN_BOUNDARY_NO_EVENT: "lowering";
68
+ readonly BPMN_BRANCH_EMPTY_ARMS: "lowering";
69
+ readonly BPMN_BRANCH_NOWHERE_TO_GO: "lowering";
70
+ readonly BPMN_BRANCH_NO_ARMS: "lowering";
71
+ readonly BPMN_BUSINESS_RULE_KEY_FIELDS: "lowering";
72
+ readonly BPMN_CHOOSE_ARM_NO_WHEN: "lowering";
73
+ readonly BPMN_CHOOSE_MANY_OTHERWISE: "lowering";
74
+ readonly BPMN_CONTEXT_FIELD_UNKNOWN: "lowering";
75
+ readonly BPMN_DUP_BOUNDARY_ID: "lowering";
76
+ readonly BPMN_DUP_ERROR_CATCH: "lowering";
77
+ readonly BPMN_ERROR_NAME_EMPTY: "lowering";
78
+ readonly BPMN_ERROR_START_NOT_INTERRUPTING: "lowering";
79
+ readonly BPMN_ERROR_VAR_AND_PAYLOAD: "lowering";
80
+ readonly BPMN_ERROR_VAR_WITHOUT_ERROR: "lowering";
81
+ readonly BPMN_EVENT_BINDINGS_MISSING: "lowering";
82
+ readonly BPMN_EVENT_KIND_MISMATCH: "lowering";
83
+ readonly BPMN_EVENT_NO_SERVICE_TYPE: "lowering";
84
+ readonly BPMN_EVENT_SUBPROCESS_START_COUNT: "lowering";
85
+ readonly BPMN_EXPORT_NOT_BUILT: "lowering";
86
+ readonly BPMN_FLOW_MODE_AFTER_ELEMENT: "lowering";
87
+ readonly BPMN_FLOW_MODE_IN_BODY: "lowering";
88
+ readonly BPMN_FORM_DUP_FIELD: "lowering";
89
+ readonly BPMN_FORM_DUP_OUTCOME: "lowering";
90
+ readonly BPMN_FORM_DUP_OUTCOME_ID: "lowering";
91
+ readonly BPMN_FORM_DUP_VARIABLE_WRITER: "lowering";
92
+ readonly BPMN_FORM_FIELDS_NOT_ARRAY: "lowering";
93
+ readonly BPMN_FORM_FIELD_ID_NOT_IDENTIFIER: "lowering";
94
+ readonly BPMN_FORM_FIELD_ID_RESERVED: "lowering";
95
+ readonly BPMN_FORM_FIELD_NO_ID: "lowering";
96
+ readonly BPMN_FORM_FIELD_NO_OPTIONS: "lowering";
97
+ readonly BPMN_FORM_FIELD_NO_VALUE: "lowering";
98
+ readonly BPMN_FORM_FIELD_OUTCOME_COLLISION: "lowering";
99
+ readonly BPMN_FORM_FIELD_SETTING_INVALID: "lowering";
100
+ readonly BPMN_FORM_FIELD_TYPE_UNKNOWN: "lowering";
101
+ readonly BPMN_FORM_NO_OUTCOMES: "lowering";
102
+ readonly BPMN_FORM_OUTCOME_NO_NAME: "lowering";
103
+ readonly BPMN_GATEWAY_DEFAULT_UNKNOWN: "lowering";
104
+ readonly BPMN_GATEWAY_IN_BODY: "lowering";
105
+ readonly BPMN_HANDLER_PATH_NOT_CLOSED: "lowering";
106
+ readonly BPMN_HTTP_CONNECTOR_FIELDS_NO_CONNECTION: "lowering";
107
+ readonly BPMN_HTTP_OUTPUT_VAR_RESERVED: "lowering";
108
+ readonly BPMN_HUMAN_TASK_APP_FIELDS_ON_FORM: "lowering";
109
+ readonly BPMN_HUMAN_TASK_APP_XOR_FORM: "lowering";
110
+ readonly BPMN_JSON_INPUT_CDATA_END: "lowering";
111
+ readonly BPMN_NO_DEFAULT_EXPORT: "lowering";
112
+ readonly BPMN_OUTPUT_VAR_NO_OUTPUT_ROW: "lowering";
113
+ readonly BPMN_PATH_ALREADY_LEFT: "lowering";
114
+ readonly BPMN_PATH_NOT_CONTINUED: "lowering";
115
+ readonly BPMN_PLAIN_TASK_ELEMENT_INVALID: "lowering";
116
+ readonly BPMN_RACE_ARM_NOT_WAIT: "lowering";
117
+ readonly BPMN_SEQUENCE_NO_INCOMING: "lowering";
118
+ readonly BPMN_SOURCE_NOT_FOUND: "lowering";
119
+ readonly BPMN_START_ALREADY_SYNTHESIZED: "lowering";
120
+ readonly BPMN_START_IN_BODY: "lowering";
121
+ readonly BPMN_START_TRIGGER_AND_PAYLOAD: "lowering";
122
+ readonly BPMN_START_TRIGGER_NO_TIMER: "lowering";
123
+ readonly BPMN_START_WHILE_PATH_OPEN: "lowering";
124
+ readonly BPMN_SUBPROCESS_START_HAS_EVENT: "lowering";
125
+ readonly BPMN_SUBPROCESS_START_NO_EVENT: "lowering";
126
+ readonly BPMN_TYPE_ELEMENT_INVALID: "lowering";
127
+ readonly BPMN_TYPE_NOT_AUTHORABLE: "lowering";
128
+ readonly BPMN_TYPE_NO_INPUTS: "lowering";
129
+ readonly BPMN_TYPE_SKIP_UNSUPPORTED: "lowering";
130
+ readonly BPMN_TYPE_UNKNOWN: "lowering";
131
+ readonly BPMN_UNREACHABLE_IN_BODY: "lowering";
132
+ readonly BPMN_XML_MALFORMED: "lowering";
60
133
  readonly BRANCH_CONST_COND: "lint";
61
134
  readonly BREAK_OUTSIDE_LOOP: "lowering";
62
135
  readonly BUSINESS_EVENT_NAME: "lowering";
@@ -87,7 +160,10 @@ export declare const REFUSALS: {
87
160
  readonly CONNECTION_STUB: "lint";
88
161
  readonly CONNECTOR_IMPORT_NOT_A_FILE: "lowering";
89
162
  readonly CONNECTOR_INPUT: "lowering";
163
+ readonly CONNECTOR_INPUTS_SHADOWED: "lint";
90
164
  readonly CONNECTOR_INPUT_MISSING: "draft";
165
+ readonly CONNECTOR_INPUT_ROW_NO_TARGET: "lint";
166
+ readonly CONNECTOR_INPUT_ROW_TARGET_UNKNOWN: "lint";
91
167
  readonly CONNECTOR_LIBRARY_ENTRY_UNREADABLE: "lowering";
92
168
  readonly CONNECTOR_NODE_TYPE_INVALID: "lowering";
93
169
  readonly CONNECTOR_NOT_IN_LIBRARY: "lowering";
@@ -95,6 +171,7 @@ export declare const REFUSALS: {
95
171
  readonly CONNECTOR_OBJECT_NOT_GENERIC: "lowering";
96
172
  readonly CONNECTOR_OBJECT_REQUIRED: "draft";
97
173
  readonly CONNECTOR_OUTPUT_SOURCE: "lint";
174
+ readonly CONNECTOR_OUTPUT_VAR_CLASH: "lint";
98
175
  readonly CONNECTOR_RESOLVE_FAILED: "lowering";
99
176
  readonly CONTINUE_OUTSIDE_LOOP: "lowering";
100
177
  readonly CONTRIBUTION_BINDING_UNRESOLVED: "draft";
@@ -107,6 +184,7 @@ export declare const REFUSALS: {
107
184
  readonly CONV_AGENT_NO_TURN: "lint";
108
185
  readonly CONV_AGENT_SETTINGS_MODE: "lint";
109
186
  readonly CUSTOM_FIELDS_UNPREPARED: "lint";
187
+ readonly DANGLING_FLOW: "lowering";
110
188
  readonly DATAFABRIC_DELETE_HAS_NO_OUTPUT: "lint";
111
189
  readonly DATAFABRIC_EMPTY_SET: "lint";
112
190
  readonly DATAFABRIC_EMPTY_VALUES: "lint";
@@ -122,6 +200,7 @@ export declare const REFUSALS: {
122
200
  readonly DATAFABRIC_RESOURCE_KEY_NO_FOLDER: "lint";
123
201
  readonly DATAFABRIC_RESULT_MODE_VERSION: "lowering";
124
202
  readonly DATAFABRIC_SYSTEM_COLUMN: "lint";
203
+ readonly DEAD_END: "lint";
125
204
  readonly DECLARATION_SHAPE: "lowering";
126
205
  readonly DECLARATION_TYPE_UNKNOWN: "lowering";
127
206
  readonly DECOMPILE_NOT_A_NUMBER: "lowering";
@@ -139,10 +218,12 @@ export declare const REFUSALS: {
139
218
  readonly DOC_NO_FILEREF: "lint";
140
219
  readonly DOWHILE_CONST_COND: "lint";
141
220
  readonly DOWHILE_LIMIT: "lint";
221
+ readonly DUPLICATE_DOCUMENT_ID: "lint";
142
222
  readonly DUP_BUSINESS_EVENT: "lowering";
143
223
  readonly DUP_CASE: "lint";
144
224
  readonly DUP_END_NAME: "lowering";
145
225
  readonly DUP_EXIT_RULE: "lint";
226
+ readonly DUP_ID: "lint";
146
227
  readonly DUP_RULE_NAME: "lint";
147
228
  readonly DUP_STAGE: "lowering";
148
229
  readonly DUP_STEP: "lowering";
@@ -150,6 +231,7 @@ export declare const REFUSALS: {
150
231
  readonly EMPTY_ARM: "lint";
151
232
  readonly EMPTY_LOOP: "lint";
152
233
  readonly EMPTY_REQUIRED_FIELD: "lint";
234
+ readonly ENTRYPOINT_ID_NOT_GUID: "lint";
153
235
  readonly ENTRY_POINT_DUP_ID: "lowering";
154
236
  readonly ENTRY_POINT_INPUT_COLLISION: "lint";
155
237
  readonly ENTRY_POINT_NO_SHARED_BODY: "lowering";
@@ -157,6 +239,7 @@ export declare const REFUSALS: {
157
239
  readonly ERROR_FIELD_UNDECLARED: "lint";
158
240
  readonly ERROR_READ_OUTSIDE_HANDLER: "lowering";
159
241
  readonly ERROR_READ_VIA_OUT: "lint";
242
+ readonly ERROR_START_OUTSIDE_EVENT_SUBPROCESS: "lint";
160
243
  readonly ESCALATION_NO_RECIPIENTS: "lint";
161
244
  readonly ESCALATION_ZERO_ATRISK_PCT: "lint";
162
245
  readonly EVENT_BYOA_UNVERIFIED: "lowering";
@@ -177,6 +260,7 @@ export declare const REFUSALS: {
177
260
  readonly EVENT_UNKNOWN: "lowering";
178
261
  readonly EVENT_UNPREPARED: "lint";
179
262
  readonly EXCEPTION_STAGE_REQUIRED: "lint";
263
+ readonly EXPR_BARE_VAR_REF: "lowering";
180
264
  readonly EXPR_SYNTAX: "lowering";
181
265
  readonly EXPR_UNDECLARED_REF: "lowering";
182
266
  readonly EXTERNAL_TASK_CONNECTION: "lowering";
@@ -187,13 +271,18 @@ export declare const REFUSALS: {
187
271
  readonly EXTERNAL_TASK_HYBRID_UNSUPPORTED: "lowering";
188
272
  readonly EXTERNAL_TASK_MODE: "lowering";
189
273
  readonly EXTRACT_SCHEMA_SHAPE: "lint";
274
+ readonly FAKE_JOIN: "lint";
190
275
  readonly FILE_NOT_FOUND: "lowering";
191
276
  readonly FIRE_AND_FORGET_READ: "lint";
192
277
  readonly FIRE_AND_FORGET_RETURNS: "lowering";
193
278
  readonly FLOW_EXPORT_NOT_BUILT: "lowering";
279
+ readonly FLOW_INTO_START: "lint";
194
280
  readonly FLOW_NO_DEFAULT_EXPORT: "lowering";
281
+ readonly FLOW_OUT_OF_END: "lint";
195
282
  readonly FLOW_PROCESS_EMPTY_DATA: "lint";
196
283
  readonly FLOW_SOURCE_NOT_FOUND: "lowering";
284
+ readonly FOLDER_BINDING_KEYED_BY_FOLDER: "lint";
285
+ readonly FOLDER_BINDING_UNPAIRED: "lint";
197
286
  readonly FORM_TRIGGER_NO_INPUTS: "lint";
198
287
  readonly FUNCTION_EMPTY_RETURNS: "lint";
199
288
  readonly FUNCTION_KEY_NOT_KEY: "lint";
@@ -287,6 +376,7 @@ export declare const REFUSALS: {
287
376
  readonly HTTP_TARGET_CONNECTOR_REQUIRES_BINDING: "lowering";
288
377
  readonly HTTP_TIMEOUT_NOT_DURATION: "lint";
289
378
  readonly HTTP_V1_RETIRED: "lint";
379
+ readonly IMPLICIT_SPLIT: "lint";
290
380
  readonly INLINE_AGENT_COMPOSITE_INPUT: "lint";
291
381
  readonly INLINE_AGENT_EMPTY_RETURNS: "lint";
292
382
  readonly INLINE_AGENT_ESCALATION_APP_KEY_NOT_GUID: "lint";
@@ -329,6 +419,16 @@ export declare const REFUSALS: {
329
419
  readonly INLINE_AGENT_UNDECLARED_PLACEHOLDER: "lint";
330
420
  readonly INLINE_AGENT_UNREFERENCED_INPUT: "lint";
331
421
  readonly INPUT_READ_WITHOUT_TRIGGER: "lint";
422
+ readonly INTSVC_BINDING_MISMATCH: "lint";
423
+ readonly INTSVC_BINDING_UNDECLARED: "lint";
424
+ readonly INTSVC_CATALOG_PLACEHOLDER: "lint";
425
+ readonly INTSVC_CONNECTION_MISSING: "lint";
426
+ readonly INTSVC_CONNECTION_NOT_BINDING: "lint";
427
+ readonly INTSVC_METHOD_UNKNOWN: "lint";
428
+ readonly INTSVC_OBJECT_NAME_SLUG: "lint";
429
+ readonly INTSVC_OPERATION_NOT_IDENTIFIER: "lint";
430
+ readonly INTSVC_PATH_NOT_ABSOLUTE: "lint";
431
+ readonly INTSVC_PATH_PARAM_UNBOUND: "lint";
332
432
  readonly IXP_FORBIDDEN_INPUT: "lint";
333
433
  readonly IXP_NO_FILE: "lint";
334
434
  readonly IXP_NO_FOLDER: "lint";
@@ -337,6 +437,7 @@ export declare const REFUSALS: {
337
437
  readonly IXP_NO_PROJECT: "lowering";
338
438
  readonly IXP_PROJECT_NOT_NODE_TYPE: "lowering";
339
439
  readonly IXP_PROJECT_TAIL_UNPARSEABLE: "lowering";
440
+ readonly JOB_FOLDER_KEY_MISSING: "lint";
340
441
  readonly JSON_REF_CIRCULAR: "lowering";
341
442
  readonly JSON_REF_NOT_JSON: "lowering";
342
443
  readonly JSON_REF_PATH_INVALID: "lowering";
@@ -358,23 +459,34 @@ export declare const REFUSALS: {
358
459
  readonly LOOKUP_UNKNOWN_FIELD: "lowering";
359
460
  readonly LOOKUP_UNKNOWN_MATCH_KEY: "lowering";
360
461
  readonly LOOKUP_UNRESOLVED: "lowering";
462
+ readonly LOOP_COMPLETION_NOT_LOCAL: "lint";
361
463
  readonly LOOP_EXIT_IN_PARALLEL_ARM: "lint";
362
464
  readonly LOOP_EXIT_UNREACHABLE_AFTER: "lint";
465
+ readonly LOOP_NO_COLLECTION: "lint";
466
+ readonly LOOP_NO_ITEM_VAR: "lint";
363
467
  readonly LOOP_PARALLEL_LEGACY: "lint";
364
468
  readonly LOOP_VERSION_UNSUPPORTED: "lowering";
469
+ readonly MANAGED_HTTP_ABSOLUTE_URL: "lint";
470
+ readonly METHOD_MISSING_PARENTHESES: "lint";
471
+ readonly MISSING_CONDITION_EXPRESSION: "lint";
472
+ readonly MISSING_RESOURCE: "lint";
365
473
  readonly MOCK_HAS_NO_OUTPUT: "lint";
474
+ readonly MULTIPLE_BLANK_START_EVENTS: "lint";
366
475
  readonly NAME_HYGIENE: "lint";
367
476
  readonly NODE_FAMILY_REGISTRATION: "lowering";
368
477
  readonly NODE_VERSION_UNREGISTERED: "lowering";
369
478
  readonly NO_CASE_COMPLETION: "lint";
479
+ readonly NO_DEFAULT_FLOW: "lint";
370
480
  readonly NO_ID: "lint";
371
481
  readonly NO_REQUIRED_TASK: "lint";
372
482
  readonly NO_RETURN: "lint";
373
483
  readonly NO_STAGES: "lint";
484
+ readonly NO_START: "lint";
374
485
  readonly OBJECT_UNPREPARED: "lint";
375
486
  readonly ONERROR_NO_ERROR_PORT: "lowering";
376
487
  readonly OUTPUT_BACKING_COLLISION: "lowering";
377
488
  readonly OUTPUT_FORWARD_READ: "lint";
489
+ readonly OUTPUT_ROWS_FIXED: "lint";
378
490
  readonly OUTPUT_SELF_REFERENCE: "lint";
379
491
  readonly OUTPUT_TYPE_MISMATCH: "lint";
380
492
  readonly OUTPUT_VAR_MISMATCH: "lowering";
@@ -422,6 +534,9 @@ export declare const REFUSALS: {
422
534
  readonly REF_UNREACHABLE_AFTER: "lint";
423
535
  readonly RESOURCE_BINDING_UNDECLARED: "lowering";
424
536
  readonly RESOURCE_REF_IS_BINDING: "lowering";
537
+ readonly RETRY_BASE_WITHOUT_EXPONENTIAL: "lint";
538
+ readonly RETRY_INVALID_COUNT: "lint";
539
+ readonly RETRY_INVALID_DURATION: "lint";
425
540
  readonly RETURN_UPDATES_SAME_VAR: "lowering";
426
541
  readonly RPA_KEY_NOT_KEY: "lint";
427
542
  readonly RPA_LOCAL_HAS_FOLDER: "lint";
@@ -445,14 +560,18 @@ export declare const REFUSALS: {
445
560
  readonly SCHEMA_VERSION_BELOW_FLOOR: "lint";
446
561
  readonly SCHEMA_VERSION_ON_SUBFLOW: "lint";
447
562
  readonly SCHEMA_VERSION_UNSUPPORTED: "lowering";
563
+ readonly SCOPED_VAR_UNKNOWN_ELEMENT: "lint";
564
+ readonly SCRIPT_BARE_INPUT_REF: "lint";
448
565
  readonly SCRIPT_EMPTY_RETURNS: "lint";
449
566
  readonly SCRIPT_FUNCTION_SCOPE: "lowering";
450
567
  readonly SCRIPT_FUNCTION_UNLOWERABLE: "lowering";
451
568
  readonly SCRIPT_RETURNS_UNKNOWN_TYPE: "lint";
569
+ readonly SCRIPT_TASK_NO_BODY: "lint";
452
570
  readonly SDK_RESOLVE_HOOK_MISSING: "lowering";
453
571
  readonly SELECT_NEXT_STAGE_EXIT_TYPE: "lowering";
454
572
  readonly SELECT_NEXT_STAGE_MULTIPLE: "lowering";
455
573
  readonly SELECT_NEXT_STAGE_OBJECT_NAME: "lowering";
574
+ readonly SELF_FLOW: "lint";
456
575
  readonly SEND_MESSAGE_NO_CONTENT: "lint";
457
576
  readonly SEND_MESSAGE_NO_EXCHANGE: "lint";
458
577
  readonly SHARED_INPUT_IN_SUBFLOW: "lowering";
@@ -462,6 +581,7 @@ export declare const REFUSALS: {
462
581
  readonly SHARED_INPUT_SAME_ROOT: "lowering";
463
582
  readonly SHARED_INPUT_TARGET_IS_INPUT: "lowering";
464
583
  readonly SHARED_INPUT_TYPE_MISMATCH: "lowering";
584
+ readonly SINGLE_CONDITIONAL_OUTGOING_FLOW: "lint";
465
585
  readonly SINGLE_CONVERSATION_TRIGGER: "lint";
466
586
  readonly SLA_COUNT_RANGE: "lint";
467
587
  readonly SLA_NONPOSITIVE: "lint";
@@ -490,6 +610,7 @@ export declare const REFUSALS: {
490
610
  readonly SUBFLOW_OUTPUT_NO_FIELD: "lint";
491
611
  readonly SUBFLOW_UNKNOWN_INPUT: "lint";
492
612
  readonly SUBFLOW_UNKNOWN_OUTPUT: "lint";
613
+ readonly SUPERFLUOUS_GATEWAY: "lint";
493
614
  readonly SWITCH_CASE_FORM: "lint";
494
615
  readonly SWITCH_CASE_ID: "lint";
495
616
  readonly SWITCH_CASE_TYPE_MISMATCH: "lint";
@@ -509,10 +630,14 @@ export declare const REFUSALS: {
509
630
  readonly TASK_OUTPUTS_UNSUPPORTED: "lowering";
510
631
  readonly TASK_OUTPUT_SOURCE_AND_ASSIGN: "lowering";
511
632
  readonly TASK_REENTRY_IGNORED: "lint";
633
+ readonly TASK_TIMER_OUT_OF_RANGE: "lint";
512
634
  readonly TEMPLATED_EXITS_ONLY: "lowering";
513
635
  readonly TERMINATE_HAS_NO_OUTPUT: "lint";
514
636
  readonly TERMINATE_NOT_ARM_HEAD: "lint";
515
637
  readonly TERMINATE_UNREACHABLE_AFTER: "lint";
638
+ readonly TIMER_DURATION_INVALID: "lint";
639
+ readonly TIMER_DURATION_NOT_RUNTIME_PARSEABLE: "lint";
640
+ readonly TIMER_MISSING_FIELD: "lint";
516
641
  readonly TIMER_VALUE_REQUIRED: "lint";
517
642
  readonly TRANSFORM_AGG_NO_ALIAS: "lint";
518
643
  readonly TRANSFORM_AGG_NO_FIELD: "lint";
@@ -537,6 +662,7 @@ export declare const REFUSALS: {
537
662
  readonly TRIGGER_INPUTS_IGNORED: "lint";
538
663
  readonly TRIGGER_UNKNOWN_KIND: "lowering";
539
664
  readonly TYPESCRIPT_UNAVAILABLE: "lowering";
665
+ readonly TYPE_RUNTIME_INTERNAL: "lint";
540
666
  readonly UNKNOWN_BUSINESS_EVENT: "lowering";
541
667
  readonly UNKNOWN_ESCALATION_REF: "lowering";
542
668
  readonly UNKNOWN_EXIT_STAGE: "lowering";
@@ -550,6 +676,9 @@ export declare const REFUSALS: {
550
676
  readonly UPDATE_INPUT_READONLY: "lint";
551
677
  readonly UPDATE_UNKNOWN_VAR: "lint";
552
678
  readonly VARIABLE_NAME_COLLISION: "lowering";
679
+ readonly VARIABLE_ORDER_DUPLICATE_ID: "lint";
680
+ readonly VARIABLE_ORDER_INCOMPLETE: "lint";
681
+ readonly VARIABLE_ORDER_UNKNOWN_ID: "lint";
553
682
  readonly VARS_BRACKET_READ: "lint";
554
683
  readonly VERSION_DEPRECATED: "lint";
555
684
  readonly VERSION_MISMATCH: "lint";