@sonisoft/now-sdk-ext-core 6.2.0 → 6.3.0

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.
@@ -1,6 +1,6 @@
1
1
  import { ServiceNowInstance } from "../ServiceNowInstance.js";
2
2
  import { BackgroundScriptExecutionResult } from "../BackgroundScriptExecutor.js";
3
- import { ExecuteFlowOptions, ExecuteFlowByNameOptions, ExecuteSubflowOptions, ExecuteActionOptions, FlowExecutionResult, FlowScriptResultEnvelope, FlowContextStatusResult, FlowOutputsResult, FlowErrorResult, FlowCancelResult, FlowSendMessageResult, FlowPublishResult, TestFlowOptions, FlowTestResult, FlowDefinitionResult, FlowActionResult, CopyFlowOptions, FlowCopyResult, FlowContextDetailsResult, FlowLogOptions, FlowLogResult } from './FlowModels.js';
3
+ import { ExecuteFlowOptions, ExecuteFlowByNameOptions, ExecuteSubflowOptions, ExecuteActionOptions, FlowExecutionResult, FlowScriptResultEnvelope, FlowContextStatusResult, FlowOutputsResult, FlowErrorResult, FlowCancelResult, FlowSendMessageResult, FlowPublishResult, TestFlowOptions, FlowTestResult, FlowDefinitionResult, FlowActionResult, CopyFlowOptions, FlowCopyResult, FlowContextDetailsResult, FlowLogOptions, FlowLogResult, FlowDefinitionOptions, FlowArtifactDefinitionResult, ActionDefinitionResult } from './FlowModels.js';
4
4
  /**
5
5
  * Provides operations for executing ServiceNow Flow Designer flows,
6
6
  * subflows, and actions remotely via BackgroundScriptExecutor.
@@ -54,22 +54,144 @@ export declare class FlowManager {
54
54
  /**
55
55
  * Fetch a flow definition from the ProcessFlow REST API.
56
56
  *
57
+ * Retained unchanged for existing callers. It reports neither the artifact
58
+ * type nor a machine-readable failure reason, and it throws (rather than
59
+ * returning a failure) for a blank sys_id.
60
+ *
61
+ * @see getFlowArtifactDefinition for the typed, non-throwing replacement.
62
+ *
57
63
  * @param flowSysId The sys_id of the flow to fetch
58
64
  * @param scope Optional scope sys_id for the transaction scope query parameter
59
65
  * @returns FlowDefinitionResult containing the raw flow definition object
60
66
  */
61
67
  getFlowDefinition(flowSysId: string, scope?: string): Promise<FlowDefinitionResult>;
62
68
  /**
63
- * Fetch flow action (action type) data from the ProcessFlow REST API.
69
+ * Fetch an action's step instances from the ProcessFlow REST API.
70
+ *
71
+ * Calls `GET /api/now/processflow/action/action_types/{action_sys_id}/step_instances`.
72
+ * Despite the name this returns only the ordered steps — never the action's
73
+ * own metadata — so it cannot describe an action on its own.
64
74
  *
65
- * Calls `GET /api/now/processflow/action/action_type/{action_sys_id}` to retrieve
66
- * action type metadata used by Flow Designer.
75
+ * @deprecated Use {@link getActionDefinition}, which returns action metadata
76
+ * and step instances through one contract. This method keeps working and its
77
+ * signature is unchanged; it will be removed no earlier than the next major.
67
78
  *
68
79
  * @param actionSysId The sys_id of the action (action type) to fetch
69
80
  * @param scope Optional scope sys_id for the transaction scope query parameter
70
- * @returns FlowActionResult containing the raw action data
81
+ * @returns FlowActionResult containing the raw step instance data
71
82
  */
72
83
  getFlowActions(actionSysId: string, scope?: string): Promise<FlowActionResult>;
84
+ /**
85
+ * Retrieve the design-time definition of a flow **or** a subflow.
86
+ *
87
+ * Both are served by `GET /api/now/processflow/flow/{sys_id}` and are told
88
+ * apart by the `type` ServiceNow reports, which is echoed back verbatim on
89
+ * `reportedType` — the type is never inferred from the call site.
90
+ *
91
+ * The returned `definition` is the untouched payload and is safe to pass
92
+ * straight to `JSON.stringify`.
93
+ *
94
+ * @param sysId sys_id of the flow or subflow
95
+ * @param options Optional scope for the transaction scope query parameter
96
+ */
97
+ getFlowArtifactDefinition(sysId: string, options?: FlowDefinitionOptions): Promise<FlowArtifactDefinitionResult>;
98
+ /**
99
+ * Retrieve the design-time definition of a flow.
100
+ *
101
+ * Fails with `failureReason: 'type_mismatch'` when the sys_id belongs to a
102
+ * subflow (or anything else) rather than silently relabelling it.
103
+ *
104
+ * @param flowSysId sys_id of the flow
105
+ * @param options Optional scope for the transaction scope query parameter
106
+ */
107
+ getFlowDesignDefinition(flowSysId: string, options?: FlowDefinitionOptions): Promise<FlowArtifactDefinitionResult>;
108
+ /**
109
+ * Retrieve the design-time definition of a subflow, including its inputs,
110
+ * outputs, actions, nested subflows and flow logic.
111
+ *
112
+ * Fails with `failureReason: 'type_mismatch'` when the sys_id belongs to a
113
+ * flow rather than silently relabelling it.
114
+ *
115
+ * @param subflowSysId sys_id of the subflow
116
+ * @param options Optional scope for the transaction scope query parameter
117
+ */
118
+ getSubflowDefinition(subflowSysId: string, options?: FlowDefinitionOptions): Promise<FlowArtifactDefinitionResult>;
119
+ /**
120
+ * Retrieve a complete action definition: metadata plus ordered steps.
121
+ *
122
+ * A complete action needs two reads — `action/action_types/{id}` for the
123
+ * metadata and `action/action_types/{id}/step_instances` for the steps —
124
+ * which are composed into one result. `success` is true only when both
125
+ * parts were retrieved; a partial read is reported as a failure rather than
126
+ * as an action with no steps.
127
+ *
128
+ * `metadata` and `steps` are the untouched payloads and are safe to pass
129
+ * straight to `JSON.stringify`.
130
+ *
131
+ * @param actionSysId sys_id of the action type
132
+ * @param options Optional scope for the transaction scope query parameter
133
+ */
134
+ getActionDefinition(actionSysId: string, options?: FlowDefinitionOptions): Promise<ActionDefinitionResult>;
135
+ /**
136
+ * Shared retrieval for flow and subflow definitions.
137
+ *
138
+ * @param sysId sys_id of the artifact
139
+ * @param options Optional scope
140
+ * @param expectedType When set, the reported type must match it exactly
141
+ * @internal
142
+ */
143
+ private _fetchFlowArtifactDefinition;
144
+ /** Trim an incoming identifier, tolerating a non-string from JS callers. @internal */
145
+ private _normalizeDefinitionSysId;
146
+ /** Validate a definition sys_id, returning a failure when it is unusable. @internal */
147
+ private _validateDefinitionSysId;
148
+ /** Build a consistent malformed-wrapper failure. @internal */
149
+ private _malformedResponse;
150
+ /**
151
+ * Read `result` out of a processflow response, tolerating both the
152
+ * Axios-style (`data.result`) and RequestHandler-style (`bodyObject.result`)
153
+ * shapes. Returns undefined instead of throwing so a malformed wrapper can
154
+ * be reported as a typed failure.
155
+ * @internal
156
+ */
157
+ private _readProcessFlowResult;
158
+ /**
159
+ * Detect an error reported inside a processflow result envelope. Mirrors the
160
+ * semantics the existing definition/test/copy calls already use: a non-zero
161
+ * errorCode is an error, and so is a message with no code at all.
162
+ * @internal
163
+ */
164
+ private _readApiError;
165
+ /**
166
+ * Turn a thrown request error into a typed failure.
167
+ *
168
+ * RequestHandler throws `Error during request. Status: <n> Body: <body>` for
169
+ * any non-2xx, so the status is recovered from the message. The body is
170
+ * dropped deliberately — it can carry record data, and it must not travel
171
+ * back to the caller or into a log line.
172
+ * @internal
173
+ */
174
+ private _classifyRequestFailure;
175
+ /** Trim a transport error message down to something safe to surface. @internal */
176
+ private _summarizeErrorText;
177
+ /** Narrow an unknown to a plain object. @internal */
178
+ private _asRecord;
179
+ /** Read a string field, defaulting to '' for anything else. @internal */
180
+ private _stringField;
181
+ /** Read an array field's length, defaulting to 0 for anything else. @internal */
182
+ private _countField;
183
+ /** Project the commonly used fields of a flow/subflow definition. @internal */
184
+ private _buildFlowArtifactSummary;
185
+ /** Project the commonly used fields of an action definition. @internal */
186
+ private _buildActionSummary;
187
+ /**
188
+ * Sort step instances ascending by `order`, keeping the API's own ordering
189
+ * as the tie-break so a missing or non-numeric order never reshuffles steps.
190
+ * @internal
191
+ */
192
+ private _sortActionSteps;
193
+ /** Read a step's execution order; unusable values sort last. @internal */
194
+ private _stepOrder;
73
195
  /**
74
196
  * Test a flow as if running it from Flow Designer, without requiring it to be published.
75
197
  *
@@ -4,6 +4,10 @@ import { TableAPIRequest } from '../../comm/http/TableAPIRequest.js';
4
4
  import { ProcessFlowRequest } from '../../comm/http/ProcessFlowRequest.js';
5
5
  const RESULT_MARKER = '___FLOW_EXEC_RESULT___';
6
6
  const VALID_TYPES = ['flow', 'subflow', 'action'];
7
+ /** A ServiceNow sys_id: exactly 32 hex characters. */
8
+ const SYS_ID_PATTERN = /^[0-9a-f]{32}$/i;
9
+ /** Longest identifier echoed back in a validation message. */
10
+ const MAX_ECHOED_ID_LENGTH = 64;
7
11
  /**
8
12
  * Provides operations for executing ServiceNow Flow Designer flows,
9
13
  * subflows, and actions remotely via BackgroundScriptExecutor.
@@ -338,6 +342,12 @@ export class FlowManager {
338
342
  /**
339
343
  * Fetch a flow definition from the ProcessFlow REST API.
340
344
  *
345
+ * Retained unchanged for existing callers. It reports neither the artifact
346
+ * type nor a machine-readable failure reason, and it throws (rather than
347
+ * returning a failure) for a blank sys_id.
348
+ *
349
+ * @see getFlowArtifactDefinition for the typed, non-throwing replacement.
350
+ *
341
351
  * @param flowSysId The sys_id of the flow to fetch
342
352
  * @param scope Optional scope sys_id for the transaction scope query parameter
343
353
  * @returns FlowDefinitionResult containing the raw flow definition object
@@ -384,14 +394,19 @@ export class FlowManager {
384
394
  }
385
395
  }
386
396
  /**
387
- * Fetch flow action (action type) data from the ProcessFlow REST API.
397
+ * Fetch an action's step instances from the ProcessFlow REST API.
398
+ *
399
+ * Calls `GET /api/now/processflow/action/action_types/{action_sys_id}/step_instances`.
400
+ * Despite the name this returns only the ordered steps — never the action's
401
+ * own metadata — so it cannot describe an action on its own.
388
402
  *
389
- * Calls `GET /api/now/processflow/action/action_type/{action_sys_id}` to retrieve
390
- * action type metadata used by Flow Designer.
403
+ * @deprecated Use {@link getActionDefinition}, which returns action metadata
404
+ * and step instances through one contract. This method keeps working and its
405
+ * signature is unchanged; it will be removed no earlier than the next major.
391
406
  *
392
407
  * @param actionSysId The sys_id of the action (action type) to fetch
393
408
  * @param scope Optional scope sys_id for the transaction scope query parameter
394
- * @returns FlowActionResult containing the raw action data
409
+ * @returns FlowActionResult containing the raw step instance data
395
410
  */
396
411
  async getFlowActions(actionSysId, scope) {
397
412
  if (!actionSysId || actionSysId.trim().length === 0) {
@@ -434,6 +449,408 @@ export class FlowManager {
434
449
  };
435
450
  }
436
451
  }
452
+ // ================================================================
453
+ // Design-Time Definition API (ProcessFlow REST, read-only)
454
+ //
455
+ // These operations only ever issue GETs to the ProcessFlow definition
456
+ // routes. They do not execute, test, copy, publish or otherwise mutate an
457
+ // artifact, they never touch BackgroundScriptExecutor, and they neither
458
+ // accept nor create a flow context.
459
+ // ================================================================
460
+ /**
461
+ * Retrieve the design-time definition of a flow **or** a subflow.
462
+ *
463
+ * Both are served by `GET /api/now/processflow/flow/{sys_id}` and are told
464
+ * apart by the `type` ServiceNow reports, which is echoed back verbatim on
465
+ * `reportedType` — the type is never inferred from the call site.
466
+ *
467
+ * The returned `definition` is the untouched payload and is safe to pass
468
+ * straight to `JSON.stringify`.
469
+ *
470
+ * @param sysId sys_id of the flow or subflow
471
+ * @param options Optional scope for the transaction scope query parameter
472
+ */
473
+ getFlowArtifactDefinition(sysId, options) {
474
+ return this._fetchFlowArtifactDefinition(sysId, options);
475
+ }
476
+ /**
477
+ * Retrieve the design-time definition of a flow.
478
+ *
479
+ * Fails with `failureReason: 'type_mismatch'` when the sys_id belongs to a
480
+ * subflow (or anything else) rather than silently relabelling it.
481
+ *
482
+ * @param flowSysId sys_id of the flow
483
+ * @param options Optional scope for the transaction scope query parameter
484
+ */
485
+ getFlowDesignDefinition(flowSysId, options) {
486
+ return this._fetchFlowArtifactDefinition(flowSysId, options, 'flow');
487
+ }
488
+ /**
489
+ * Retrieve the design-time definition of a subflow, including its inputs,
490
+ * outputs, actions, nested subflows and flow logic.
491
+ *
492
+ * Fails with `failureReason: 'type_mismatch'` when the sys_id belongs to a
493
+ * flow rather than silently relabelling it.
494
+ *
495
+ * @param subflowSysId sys_id of the subflow
496
+ * @param options Optional scope for the transaction scope query parameter
497
+ */
498
+ getSubflowDefinition(subflowSysId, options) {
499
+ return this._fetchFlowArtifactDefinition(subflowSysId, options, 'subflow');
500
+ }
501
+ /**
502
+ * Retrieve a complete action definition: metadata plus ordered steps.
503
+ *
504
+ * A complete action needs two reads — `action/action_types/{id}` for the
505
+ * metadata and `action/action_types/{id}/step_instances` for the steps —
506
+ * which are composed into one result. `success` is true only when both
507
+ * parts were retrieved; a partial read is reported as a failure rather than
508
+ * as an action with no steps.
509
+ *
510
+ * `metadata` and `steps` are the untouched payloads and are safe to pass
511
+ * straight to `JSON.stringify`.
512
+ *
513
+ * @param actionSysId sys_id of the action type
514
+ * @param options Optional scope for the transaction scope query parameter
515
+ */
516
+ async getActionDefinition(actionSysId, options) {
517
+ const sysId = this._normalizeDefinitionSysId(actionSysId);
518
+ const invalid = this._validateDefinitionSysId(sysId, 'action');
519
+ if (invalid) {
520
+ return { success: false, sysId, ...invalid };
521
+ }
522
+ this._logger.info(`Fetching action definition: ${sysId}`);
523
+ const pfr = new ProcessFlowRequest(this._instance);
524
+ const query = options?.scope ? { sysparm_transaction_scope: options.scope } : undefined;
525
+ let metadataResult;
526
+ try {
527
+ const response = await pfr.get('action/action_types/{action_sys_id}', { action_sys_id: sysId }, query);
528
+ metadataResult = this._readProcessFlowResult(response);
529
+ }
530
+ catch (error) {
531
+ return { success: false, sysId, ...this._classifyRequestFailure(error, 'action definition') };
532
+ }
533
+ if (!metadataResult) {
534
+ return { success: false, sysId, ...this._malformedResponse('action definition', sysId, 'did not contain a result object') };
535
+ }
536
+ const metadataError = this._readApiError(metadataResult);
537
+ if (metadataError) {
538
+ return { success: false, sysId, ...metadataError };
539
+ }
540
+ // The action-type route returns the record directly under `result`;
541
+ // other processflow routes wrap their payload in `result.data`. Accept
542
+ // either so a family upgrade that starts wrapping does not break this.
543
+ const metadata = this._asRecord(metadataResult['data']) ?? metadataResult;
544
+ if (Object.keys(metadata).length === 0) {
545
+ return {
546
+ success: false,
547
+ sysId,
548
+ failureReason: 'not_found',
549
+ errorMessage: `No action definition found for sys_id "${sysId}".`
550
+ };
551
+ }
552
+ // Guard against an action operation quietly describing a flow artifact.
553
+ const reportedType = this._stringField(metadata, 'type').trim();
554
+ if (reportedType === 'flow' || reportedType === 'subflow') {
555
+ return {
556
+ success: false,
557
+ sysId,
558
+ failureReason: 'type_mismatch',
559
+ errorMessage: `Expected sys_id "${sysId}" to be an action, but ServiceNow reports it as "${reportedType}".`
560
+ };
561
+ }
562
+ let stepsResult;
563
+ try {
564
+ const response = await pfr.get('action/action_types/{action_sys_id}/step_instances', { action_sys_id: sysId }, query);
565
+ stepsResult = this._readProcessFlowResult(response);
566
+ }
567
+ catch (error) {
568
+ return { success: false, sysId, ...this._classifyRequestFailure(error, 'action step instances') };
569
+ }
570
+ if (!stepsResult) {
571
+ return { success: false, sysId, ...this._malformedResponse('action step instances', sysId, 'did not contain a result object') };
572
+ }
573
+ const stepsError = this._readApiError(stepsResult);
574
+ if (stepsError) {
575
+ return { success: false, sysId, ...stepsError };
576
+ }
577
+ const rawSteps = stepsResult['steps'];
578
+ if (!Array.isArray(rawSteps)) {
579
+ return { success: false, sysId, ...this._malformedResponse('action step instances', sysId, 'did not contain a steps array') };
580
+ }
581
+ const steps = this._sortActionSteps(rawSteps
582
+ .map((step) => this._asRecord(step))
583
+ .filter((step) => step !== undefined));
584
+ this._logger.info(`Action definition fetched: ${sysId} (${steps.length} steps)`);
585
+ return {
586
+ success: true,
587
+ sysId,
588
+ artifactType: 'action',
589
+ metadata,
590
+ steps,
591
+ summary: this._buildActionSummary(sysId, metadata, steps)
592
+ };
593
+ }
594
+ /**
595
+ * Shared retrieval for flow and subflow definitions.
596
+ *
597
+ * @param sysId sys_id of the artifact
598
+ * @param options Optional scope
599
+ * @param expectedType When set, the reported type must match it exactly
600
+ * @internal
601
+ */
602
+ async _fetchFlowArtifactDefinition(sysId, options, expectedType) {
603
+ const trimmed = this._normalizeDefinitionSysId(sysId);
604
+ const label = expectedType ?? 'flow or subflow';
605
+ const invalid = this._validateDefinitionSysId(trimmed, label);
606
+ if (invalid) {
607
+ return { success: false, sysId: trimmed, ...invalid };
608
+ }
609
+ this._logger.info(`Fetching ${label} definition: ${trimmed}`);
610
+ let apiResult;
611
+ try {
612
+ const response = await new ProcessFlowRequest(this._instance).get('flow/{flow_sys_id}', { flow_sys_id: trimmed }, options?.scope ? { sysparm_transaction_scope: options.scope } : undefined);
613
+ apiResult = this._readProcessFlowResult(response);
614
+ }
615
+ catch (error) {
616
+ return { success: false, sysId: trimmed, ...this._classifyRequestFailure(error, `${label} definition`) };
617
+ }
618
+ if (!apiResult) {
619
+ return { success: false, sysId: trimmed, ...this._malformedResponse(`${label} definition`, trimmed, 'did not contain a result object') };
620
+ }
621
+ const apiError = this._readApiError(apiResult);
622
+ if (apiError) {
623
+ return { success: false, sysId: trimmed, ...apiError };
624
+ }
625
+ const definition = this._asRecord(apiResult['data']);
626
+ if (!definition || Object.keys(definition).length === 0) {
627
+ return {
628
+ success: false,
629
+ sysId: trimmed,
630
+ failureReason: 'not_found',
631
+ errorMessage: `No ${label} definition found for sys_id "${trimmed}".`
632
+ };
633
+ }
634
+ const reportedType = this._stringField(definition, 'type').trim();
635
+ if (reportedType.length === 0) {
636
+ return { success: false, sysId: trimmed, ...this._malformedResponse(`${label} definition`, trimmed, 'does not identify its artifact type') };
637
+ }
638
+ if (expectedType && reportedType !== expectedType) {
639
+ return {
640
+ success: false,
641
+ sysId: trimmed,
642
+ reportedType,
643
+ failureReason: 'type_mismatch',
644
+ errorMessage: `Expected sys_id "${trimmed}" to be a ${expectedType}, but ServiceNow reports it as "${reportedType}".`
645
+ };
646
+ }
647
+ this._logger.info(`Fetched ${reportedType} definition: ${trimmed}`);
648
+ return {
649
+ success: true,
650
+ sysId: trimmed,
651
+ // Only set when ServiceNow reported a type this library knows. An
652
+ // unrecognised type is surfaced on reportedType rather than mapped
653
+ // onto the nearest known one.
654
+ artifactType: reportedType === 'flow' || reportedType === 'subflow' ? reportedType : undefined,
655
+ reportedType,
656
+ definition,
657
+ summary: this._buildFlowArtifactSummary(trimmed, definition)
658
+ };
659
+ }
660
+ // ================================================================
661
+ // Design-Time Definition Helpers
662
+ // ================================================================
663
+ /** Trim an incoming identifier, tolerating a non-string from JS callers. @internal */
664
+ _normalizeDefinitionSysId(sysId) {
665
+ return typeof sysId === 'string' ? sysId.trim() : '';
666
+ }
667
+ /** Validate a definition sys_id, returning a failure when it is unusable. @internal */
668
+ _validateDefinitionSysId(sysId, label) {
669
+ if (sysId.length === 0) {
670
+ return {
671
+ failureReason: 'invalid_identifier',
672
+ errorMessage: `A ${label} sys_id is required.`
673
+ };
674
+ }
675
+ if (!SYS_ID_PATTERN.test(sysId)) {
676
+ return {
677
+ failureReason: 'invalid_identifier',
678
+ errorMessage: `Invalid ${label} sys_id "${sysId.substring(0, MAX_ECHOED_ID_LENGTH)}". Expected a 32-character hex sys_id.`
679
+ };
680
+ }
681
+ return undefined;
682
+ }
683
+ /** Build a consistent malformed-wrapper failure. @internal */
684
+ _malformedResponse(label, sysId, problem) {
685
+ return {
686
+ failureReason: 'malformed_response',
687
+ errorMessage: `ProcessFlow API response for ${label} "${sysId}" ${problem}.`
688
+ };
689
+ }
690
+ /**
691
+ * Read `result` out of a processflow response, tolerating both the
692
+ * Axios-style (`data.result`) and RequestHandler-style (`bodyObject.result`)
693
+ * shapes. Returns undefined instead of throwing so a malformed wrapper can
694
+ * be reported as a typed failure.
695
+ * @internal
696
+ */
697
+ _readProcessFlowResult(response) {
698
+ if (!response) {
699
+ return undefined;
700
+ }
701
+ const fromData = this._asRecord(response.data)?.['result'];
702
+ const fromBody = this._asRecord(response.bodyObject)?.['result'];
703
+ return this._asRecord(fromData ?? fromBody);
704
+ }
705
+ /**
706
+ * Detect an error reported inside a processflow result envelope. Mirrors the
707
+ * semantics the existing definition/test/copy calls already use: a non-zero
708
+ * errorCode is an error, and so is a message with no code at all.
709
+ * @internal
710
+ */
711
+ _readApiError(result) {
712
+ const rawCode = result['errorCode'];
713
+ const errorCode = typeof rawCode === 'number' ? rawCode : undefined;
714
+ const errorMessage = this._stringField(result, 'errorMessage').trim();
715
+ if (errorCode !== undefined && errorCode !== 0) {
716
+ return {
717
+ failureReason: 'api_error',
718
+ errorCode,
719
+ errorMessage: errorMessage || `ProcessFlow API reported error code ${errorCode}.`
720
+ };
721
+ }
722
+ if (errorCode === undefined && errorMessage.length > 0) {
723
+ return { failureReason: 'api_error', errorMessage };
724
+ }
725
+ return undefined;
726
+ }
727
+ /**
728
+ * Turn a thrown request error into a typed failure.
729
+ *
730
+ * RequestHandler throws `Error during request. Status: <n> Body: <body>` for
731
+ * any non-2xx, so the status is recovered from the message. The body is
732
+ * dropped deliberately — it can carry record data, and it must not travel
733
+ * back to the caller or into a log line.
734
+ * @internal
735
+ */
736
+ _classifyRequestFailure(error, label) {
737
+ const message = error instanceof Error ? error.message : '';
738
+ const statusMatch = /Status:\s*(\d{3})/.exec(message);
739
+ const status = statusMatch ? Number(statusMatch[1]) : undefined;
740
+ if (status === 401 || status === 403) {
741
+ return {
742
+ failureReason: 'permission_denied',
743
+ errorMessage: `Not permitted to read the ${label} (HTTP ${status}).`
744
+ };
745
+ }
746
+ if (status === 404) {
747
+ return {
748
+ failureReason: 'not_found',
749
+ errorMessage: `ServiceNow has no ${label} for the supplied sys_id (HTTP 404).`
750
+ };
751
+ }
752
+ if (status !== undefined) {
753
+ return {
754
+ failureReason: 'request_failed',
755
+ errorMessage: `ServiceNow returned HTTP ${status} for the ${label} request.`
756
+ };
757
+ }
758
+ const detail = message.length > 0 ? `: ${this._summarizeErrorText(message)}` : '.';
759
+ return {
760
+ failureReason: 'request_failed',
761
+ errorMessage: `Failed to fetch the ${label}${detail}`
762
+ };
763
+ }
764
+ /** Trim a transport error message down to something safe to surface. @internal */
765
+ _summarizeErrorText(message) {
766
+ const bodyIndex = message.indexOf(' Body:');
767
+ const withoutBody = bodyIndex >= 0 ? message.substring(0, bodyIndex) : message;
768
+ return withoutBody.length > 200 ? `${withoutBody.substring(0, 200)}…` : withoutBody;
769
+ }
770
+ /** Narrow an unknown to a plain object. @internal */
771
+ _asRecord(value) {
772
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
773
+ ? value
774
+ : undefined;
775
+ }
776
+ /** Read a string field, defaulting to '' for anything else. @internal */
777
+ _stringField(source, key) {
778
+ const value = source[key];
779
+ return typeof value === 'string' ? value : '';
780
+ }
781
+ /** Read an array field's length, defaulting to 0 for anything else. @internal */
782
+ _countField(source, key) {
783
+ const value = source[key];
784
+ return Array.isArray(value) ? value.length : 0;
785
+ }
786
+ /** Project the commonly used fields of a flow/subflow definition. @internal */
787
+ _buildFlowArtifactSummary(sysId, definition) {
788
+ return {
789
+ sysId: this._stringField(definition, 'id') || sysId,
790
+ name: this._stringField(definition, 'name'),
791
+ internalName: this._stringField(definition, 'internalName'),
792
+ description: this._stringField(definition, 'description'),
793
+ scope: this._stringField(definition, 'scope'),
794
+ scopeName: this._stringField(definition, 'scopeName'),
795
+ status: this._stringField(definition, 'status'),
796
+ active: definition['active'] === true,
797
+ triggerCount: this._countField(definition, 'triggerInstances'),
798
+ actionCount: this._countField(definition, 'actionInstances'),
799
+ subflowCount: this._countField(definition, 'subFlowInstances'),
800
+ flowLogicCount: this._countField(definition, 'flowLogicInstances'),
801
+ inputCount: this._countField(definition, 'inputs'),
802
+ outputCount: this._countField(definition, 'outputs')
803
+ };
804
+ }
805
+ /** Project the commonly used fields of an action definition. @internal */
806
+ _buildActionSummary(sysId, metadata, steps) {
807
+ const stepSummaries = steps.map((step) => ({
808
+ stepId: this._stringField(step, 'step_id'),
809
+ order: this._stepOrder(step),
810
+ label: this._stringField(step, 'label'),
811
+ stepTypeName: this._stringField(step, 'step_type_name'),
812
+ stepTypeId: this._stringField(step, 'step_type_id')
813
+ }));
814
+ return {
815
+ sysId: this._stringField(metadata, 'id') || sysId,
816
+ name: this._stringField(metadata, 'name'),
817
+ internalName: this._stringField(metadata, 'internal_name'),
818
+ description: this._stringField(metadata, 'description'),
819
+ scope: this._stringField(metadata, 'scope'),
820
+ scopeName: this._stringField(metadata, 'scopename'),
821
+ state: this._stringField(metadata, 'state'),
822
+ active: metadata['active'] === true,
823
+ inputCount: this._countField(metadata, 'inputs'),
824
+ outputCount: this._countField(metadata, 'outputs'),
825
+ stepCount: steps.length,
826
+ steps: stepSummaries
827
+ };
828
+ }
829
+ /**
830
+ * Sort step instances ascending by `order`, keeping the API's own ordering
831
+ * as the tie-break so a missing or non-numeric order never reshuffles steps.
832
+ * @internal
833
+ */
834
+ _sortActionSteps(steps) {
835
+ return steps
836
+ .map((step, index) => ({ step, index, order: this._stepOrder(step) }))
837
+ .sort((a, b) => a.order - b.order || a.index - b.index)
838
+ .map((entry) => entry.step);
839
+ }
840
+ /** Read a step's execution order; unusable values sort last. @internal */
841
+ _stepOrder(step) {
842
+ const raw = step['order'];
843
+ if (typeof raw === 'number' && Number.isFinite(raw)) {
844
+ return raw;
845
+ }
846
+ if (typeof raw === 'string' && raw.trim().length > 0) {
847
+ const parsed = Number(raw);
848
+ if (Number.isFinite(parsed)) {
849
+ return parsed;
850
+ }
851
+ }
852
+ return Number.MAX_SAFE_INTEGER;
853
+ }
437
854
  /**
438
855
  * Test a flow as if running it from Flow Designer, without requiring it to be published.
439
856
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FlowManager.js","sourceRoot":"","sources":["../../../src/sn/flow/FlowManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowManager.js","sourceRoot":"","sources":["../../../src/sn/flow/FlowManager.ts"],"names":[],"mappings":"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"}
@@ -260,6 +260,184 @@ export interface ProcessFlowTestPayload {
260
260
  outputMap: Record<string, string>;
261
261
  runOnThread: boolean;
262
262
  }
263
+ /**
264
+ * Artifact types whose design-time definition can be retrieved.
265
+ *
266
+ * Flows and subflows are served by the same endpoint and are distinguished by
267
+ * the `type` field ServiceNow reports in the payload; actions are served by the
268
+ * action-type endpoints.
269
+ */
270
+ export type FlowDesignArtifactType = 'flow' | 'subflow';
271
+ /**
272
+ * Stable, machine-readable reason for a definition retrieval failure.
273
+ *
274
+ * The ProcessFlow design-time routes are observed Workflow Studio APIs rather
275
+ * than a documented public REST contract, so callers should branch on this
276
+ * rather than on message text.
277
+ */
278
+ export type FlowDefinitionFailureReason =
279
+ /** The supplied identifier was blank or was not a 32-character hex sys_id. */
280
+ 'invalid_identifier'
281
+ /** The artifact exists but is not the type the called operation retrieves. */
282
+ | 'type_mismatch'
283
+ /** ServiceNow reported no such artifact (or returned an empty payload for it). */
284
+ | 'not_found'
285
+ /** The session is not permitted to read the artifact. */
286
+ | 'permission_denied'
287
+ /** ServiceNow answered, but its response carried an error code/message. */
288
+ | 'api_error'
289
+ /** ServiceNow answered with a body that did not match the expected wrapper. */
290
+ | 'malformed_response'
291
+ /** The request itself failed (transport error, or an unclassified HTTP status). */
292
+ | 'request_failed';
293
+ /** Options common to every design-time definition retrieval. */
294
+ export interface FlowDefinitionOptions {
295
+ /**
296
+ * Scope sys_id or scope name sent as `sysparm_transaction_scope`.
297
+ * Optional; ServiceNow resolves the artifact's own scope when omitted.
298
+ */
299
+ scope?: string;
300
+ }
301
+ /**
302
+ * Light, stable projection of a flow/subflow definition.
303
+ *
304
+ * Deliberately small: the full payload stays available and untouched on
305
+ * `definition`, because ServiceNow evolves that schema between families and
306
+ * normalising it here would make family upgrades breaking.
307
+ */
308
+ export interface FlowArtifactSummary {
309
+ /** sys_id of the flow or subflow */
310
+ sysId: string;
311
+ /** Display name */
312
+ name: string;
313
+ /** Internal (scriptable) name */
314
+ internalName: string;
315
+ /** Description text, empty string when unset */
316
+ description: string;
317
+ /** Scope sys_id */
318
+ scope: string;
319
+ /** Scope name, e.g. "global" */
320
+ scopeName: string;
321
+ /** Publication status, e.g. "published", "draft" */
322
+ status: string;
323
+ /** Whether the artifact is active */
324
+ active: boolean;
325
+ /** Number of trigger instances (always 0 for a subflow) */
326
+ triggerCount: number;
327
+ /** Number of action instances */
328
+ actionCount: number;
329
+ /** Number of nested subflow instances */
330
+ subflowCount: number;
331
+ /** Number of flow logic instances (if/else, for-each, etc.) */
332
+ flowLogicCount: number;
333
+ /** Number of declared inputs */
334
+ inputCount: number;
335
+ /** Number of declared outputs */
336
+ outputCount: number;
337
+ }
338
+ /** Result of retrieving a flow or subflow design-time definition. */
339
+ export interface FlowArtifactDefinitionResult {
340
+ /** Whether the definition was retrieved */
341
+ success: boolean;
342
+ /** The sys_id that was requested (trimmed) */
343
+ sysId: string;
344
+ /**
345
+ * Artifact type as reported by ServiceNow, when it is one this library
346
+ * recognises. Never inferred from the operation that was called.
347
+ */
348
+ artifactType?: FlowDesignArtifactType;
349
+ /**
350
+ * Raw `type` value ServiceNow reported. Populated whenever the response
351
+ * carried one, including values this library does not recognise.
352
+ */
353
+ reportedType?: string;
354
+ /**
355
+ * The complete, JSON-serializable definition payload exactly as ServiceNow
356
+ * returned it. Pass straight to `JSON.stringify`.
357
+ */
358
+ definition?: Record<string, unknown>;
359
+ /** Convenience projection of the most commonly used definition fields */
360
+ summary?: FlowArtifactSummary;
361
+ /** Actionable failure description; never contains a response body */
362
+ errorMessage?: string;
363
+ /** Machine-readable failure classification */
364
+ failureReason?: FlowDefinitionFailureReason;
365
+ /** Numeric error code reported by the processflow API, when present */
366
+ errorCode?: number;
367
+ }
368
+ /** Light projection of one step instance within an action definition. */
369
+ export interface ActionStepSummary {
370
+ /** sys_id of the step instance */
371
+ stepId: string;
372
+ /** Execution order as reported by ServiceNow */
373
+ order: number;
374
+ /** Step label, e.g. "Script step" */
375
+ label: string;
376
+ /** Step type name, e.g. "Script" */
377
+ stepTypeName: string;
378
+ /** sys_id of the step type */
379
+ stepTypeId: string;
380
+ }
381
+ /** Light, stable projection of an action definition. */
382
+ export interface ActionDefinitionSummary {
383
+ /** sys_id of the action type */
384
+ sysId: string;
385
+ /** Display name */
386
+ name: string;
387
+ /** Internal (scriptable) name */
388
+ internalName: string;
389
+ /** Description text, empty string when unset */
390
+ description: string;
391
+ /** Scope sys_id */
392
+ scope: string;
393
+ /** Scope name, e.g. "global" */
394
+ scopeName: string;
395
+ /** Publication state, e.g. "published", "draft" */
396
+ state: string;
397
+ /** Whether the action is active */
398
+ active: boolean;
399
+ /** Number of declared inputs */
400
+ inputCount: number;
401
+ /** Number of declared outputs */
402
+ outputCount: number;
403
+ /** Number of step instances */
404
+ stepCount: number;
405
+ /** Ordered step projections, ascending by `order` */
406
+ steps: ActionStepSummary[];
407
+ }
408
+ /**
409
+ * Result of retrieving a complete action design-time definition.
410
+ *
411
+ * A complete action needs two reads — metadata and step instances — so both are
412
+ * returned through this one contract. `success` is true only when both parts
413
+ * were retrieved.
414
+ */
415
+ export interface ActionDefinitionResult {
416
+ /** Whether the complete definition was retrieved */
417
+ success: boolean;
418
+ /** The sys_id that was requested (trimmed) */
419
+ sysId: string;
420
+ /** Always 'action' on success; absent on failure */
421
+ artifactType?: 'action';
422
+ /**
423
+ * Raw action-type metadata exactly as ServiceNow returned it
424
+ * (`GET /api/now/processflow/action/action_types/{id}`).
425
+ */
426
+ metadata?: Record<string, unknown>;
427
+ /**
428
+ * Raw step instances exactly as ServiceNow returned them
429
+ * (`GET .../step_instances`), sorted ascending by `order`.
430
+ */
431
+ steps?: Array<Record<string, unknown>>;
432
+ /** Convenience projection of metadata plus ordered steps */
433
+ summary?: ActionDefinitionSummary;
434
+ /** Actionable failure description; never contains a response body */
435
+ errorMessage?: string;
436
+ /** Machine-readable failure classification */
437
+ failureReason?: FlowDefinitionFailureReason;
438
+ /** Numeric error code reported by the processflow API, when present */
439
+ errorCode?: number;
440
+ }
263
441
  /**
264
442
  * Options for copying a flow into a target scoped application via the ProcessFlow REST API.
265
443
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-core",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "description": "Comprehensive TypeScript library extending ServiceNow SDK with application management, ATF testing, real-time log monitoring, AMB event subscriptions, and automation tools",
5
5
  "keywords": [
6
6
  "servicenow",