@sonisoft/now-sdk-ext-core 3.5.0 → 3.6.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.
@@ -0,0 +1,42 @@
1
+ import { IServiceNowInstance } from "../../sn/IServiceNowInstance.js";
2
+ import { IHttpResponse } from "./IHttpResponse.js";
3
+ /**
4
+ * HTTP wrapper for the ServiceNow ProcessFlow REST API (`/api/now/processflow/`).
5
+ *
6
+ * Provides typed GET and POST methods with path interpolation for operations
7
+ * such as retrieving flow definitions, testing flows, and other Flow Designer
8
+ * REST interactions.
9
+ *
10
+ * Usage:
11
+ * ```ts
12
+ * const pfr = new ProcessFlowRequest(instance);
13
+ * const def = await pfr.get<FlowDefResponse>('flow/{flow_sys_id}', { flow_sys_id: id }, queryParams);
14
+ * const res = await pfr.post<TestResponse>('flow/{flow_sys_id}/test', { flow_sys_id: id }, queryParams, body);
15
+ * ```
16
+ *
17
+ * Note: The `as ServiceNowInstance` cast in `_doRequest` mirrors the pattern
18
+ * used by TableAPIRequest. The root fix (accepting IServiceNowInstance in
19
+ * ServiceNowRequest's constructor) is a broader refactor tracked separately.
20
+ */
21
+ export declare class ProcessFlowRequest {
22
+ private _headers;
23
+ private _snInstance;
24
+ constructor(instance: IServiceNowInstance);
25
+ /**
26
+ * GET a resource from the processflow API.
27
+ * @param pathTemplate Path template relative to /api/now/processflow/ (e.g. "flow/{flow_sys_id}")
28
+ * @param pathVars Variables to interpolate into the path template
29
+ * @param query Optional query parameters
30
+ */
31
+ get<T>(pathTemplate: string, pathVars: Record<string, string>, query?: Record<string, string>): Promise<IHttpResponse<T>>;
32
+ /**
33
+ * POST to a resource on the processflow API.
34
+ * @param pathTemplate Path template relative to /api/now/processflow/ (e.g. "flow/{flow_sys_id}/test")
35
+ * @param pathVars Variables to interpolate into the path template
36
+ * @param query Optional query parameters
37
+ * @param body JSON body to send
38
+ */
39
+ post<T>(pathTemplate: string, pathVars: Record<string, string>, query?: Record<string, string>, body?: object): Promise<IHttpResponse<T>>;
40
+ private _doRequest;
41
+ private _buildUri;
42
+ }
@@ -0,0 +1,64 @@
1
+ import { ServiceNowRequest } from "./ServiceNowRequest.js";
2
+ import { PROCESSFLOW_API_BASE } from "../../constants/ServiceNow.js";
3
+ /**
4
+ * HTTP wrapper for the ServiceNow ProcessFlow REST API (`/api/now/processflow/`).
5
+ *
6
+ * Provides typed GET and POST methods with path interpolation for operations
7
+ * such as retrieving flow definitions, testing flows, and other Flow Designer
8
+ * REST interactions.
9
+ *
10
+ * Usage:
11
+ * ```ts
12
+ * const pfr = new ProcessFlowRequest(instance);
13
+ * const def = await pfr.get<FlowDefResponse>('flow/{flow_sys_id}', { flow_sys_id: id }, queryParams);
14
+ * const res = await pfr.post<TestResponse>('flow/{flow_sys_id}/test', { flow_sys_id: id }, queryParams, body);
15
+ * ```
16
+ *
17
+ * Note: The `as ServiceNowInstance` cast in `_doRequest` mirrors the pattern
18
+ * used by TableAPIRequest. The root fix (accepting IServiceNowInstance in
19
+ * ServiceNowRequest's constructor) is a broader refactor tracked separately.
20
+ */
21
+ export class ProcessFlowRequest {
22
+ _headers = {
23
+ "Content-Type": "application/json",
24
+ "Accept": "application/json"
25
+ };
26
+ _snInstance;
27
+ constructor(instance) {
28
+ this._snInstance = instance;
29
+ }
30
+ /**
31
+ * GET a resource from the processflow API.
32
+ * @param pathTemplate Path template relative to /api/now/processflow/ (e.g. "flow/{flow_sys_id}")
33
+ * @param pathVars Variables to interpolate into the path template
34
+ * @param query Optional query parameters
35
+ */
36
+ async get(pathTemplate, pathVars, query) {
37
+ const uri = this._buildUri(pathTemplate, pathVars);
38
+ return this._doRequest(uri, "get", query ?? null, null);
39
+ }
40
+ /**
41
+ * POST to a resource on the processflow API.
42
+ * @param pathTemplate Path template relative to /api/now/processflow/ (e.g. "flow/{flow_sys_id}/test")
43
+ * @param pathVars Variables to interpolate into the path template
44
+ * @param query Optional query parameters
45
+ * @param body JSON body to send
46
+ */
47
+ async post(pathTemplate, pathVars, query, body) {
48
+ const uri = this._buildUri(pathTemplate, pathVars);
49
+ return this._doRequest(uri, "post", query ?? null, body ?? null);
50
+ }
51
+ _doRequest(uri, httpMethod, query, bodyData) {
52
+ const req = new ServiceNowRequest(this._snInstance);
53
+ const request = { path: uri, method: httpMethod, headers: this._headers, query: query, body: null, json: bodyData };
54
+ return req.executeRequest(request);
55
+ }
56
+ _buildUri(pathTemplate, pathVars) {
57
+ let path = pathTemplate;
58
+ for (const [key, value] of Object.entries(pathVars)) {
59
+ path = path.replaceAll(`{${key}}`, encodeURIComponent(value));
60
+ }
61
+ return `${PROCESSFLOW_API_BASE}/${path}`;
62
+ }
63
+ }
64
+ //# sourceMappingURL=ProcessFlowRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessFlowRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ProcessFlowRequest.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,kBAAkB;IAEnB,QAAQ,GAA2B;QACvC,cAAc,EAAE,kBAAkB;QAClC,QAAQ,EAAE,kBAAkB;KAC/B,CAAC;IAEM,WAAW,CAAsB;IAEzC,YAAmB,QAA6B;QAC5C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAI,YAAoB,EAAE,QAAgC,EAAE,KAA8B;QACtG,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAI,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CAAI,YAAoB,EAAE,QAAgC,EAAE,KAA8B,EAAE,IAAa;QACtH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAI,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IACxE,CAAC;IAEO,UAAU,CAAI,GAAW,EAAE,UAAkB,EAAE,KAAoC,EAAE,QAAuB;QAChH,MAAM,GAAG,GAAsB,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAiC,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjI,OAAO,GAAG,CAAC,cAAc,CAAI,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,SAAS,CAAC,YAAoB,EAAE,QAAgC;QACpE,IAAI,IAAI,GAAG,YAAY,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,oBAAoB,IAAI,IAAI,EAAE,CAAC;IAC7C,CAAC;CACJ"}
@@ -1,2 +1,3 @@
1
1
  export declare const XMLHTTP_PROCESSOR_ENDPOINT = "/xmlhttp.do";
2
2
  export declare const BG_SCRIPT_ENDPOINT = "/sys.scripts.do";
3
+ export declare const PROCESSFLOW_API_BASE = "/api/now/processflow";
@@ -1,3 +1,4 @@
1
1
  export const XMLHTTP_PROCESSOR_ENDPOINT = '/xmlhttp.do';
2
2
  export const BG_SCRIPT_ENDPOINT = '/sys.scripts.do';
3
+ export const PROCESSFLOW_API_BASE = '/api/now/processflow';
3
4
  //# sourceMappingURL=ServiceNow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceNow.js","sourceRoot":"","sources":["../../src/constants/ServiceNow.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ServiceNow.js","sourceRoot":"","sources":["../../src/constants/ServiceNow.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ export * from './comm/http/HttpResponse.js';
24
24
  export * from './comm/http/ICookieStore.js';
25
25
  export * from './comm/http/IHttpResponse.js';
26
26
  export * from './comm/http/IRequestHandler.js';
27
+ export * from './comm/http/ProcessFlowRequest.js';
27
28
  export * from './comm/http/RequestHandler.js';
28
29
  export * from './comm/http/RequestHandlerFactory.js';
29
30
  export * from './comm/http/ServiceNowProcessorRequest.js';
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ export * from './comm/http/HttpResponse.js';
24
24
  export * from './comm/http/ICookieStore.js';
25
25
  export * from './comm/http/IHttpResponse.js';
26
26
  export * from './comm/http/IRequestHandler.js';
27
+ export * from './comm/http/ProcessFlowRequest.js';
27
28
  export * from './comm/http/RequestHandler.js';
28
29
  export * from './comm/http/RequestHandlerFactory.js';
29
30
  export * from './comm/http/ServiceNowProcessorRequest.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -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 } from './FlowModels.js';
3
+ import { ExecuteFlowOptions, ExecuteFlowByNameOptions, ExecuteSubflowOptions, ExecuteActionOptions, FlowExecutionResult, FlowScriptResultEnvelope, FlowContextStatusResult, FlowOutputsResult, FlowErrorResult, FlowCancelResult, FlowSendMessageResult, FlowPublishResult, TestFlowOptions, FlowTestResult, FlowDefinitionResult } from './FlowModels.js';
4
4
  /**
5
5
  * Provides operations for executing ServiceNow Flow Designer flows,
6
6
  * subflows, and actions remotely via BackgroundScriptExecutor.
@@ -51,6 +51,32 @@ export declare class FlowManager {
51
51
  * by querying the sys_hub_flow table.
52
52
  */
53
53
  private _resolveFlowIdentifier;
54
+ /**
55
+ * Fetch a flow definition from the ProcessFlow REST API.
56
+ *
57
+ * @param flowSysId The sys_id of the flow to fetch
58
+ * @param scope Optional scope sys_id for the transaction scope query parameter
59
+ * @returns FlowDefinitionResult containing the raw flow definition object
60
+ */
61
+ getFlowDefinition(flowSysId: string, scope?: string): Promise<FlowDefinitionResult>;
62
+ /**
63
+ * Test a flow as if running it from Flow Designer, without requiring it to be published.
64
+ *
65
+ * This uses the ProcessFlow REST API (`POST /api/now/processflow/flow/{id}/test`)
66
+ * rather than the scripted FlowAPI.getRunner() approach used by the execute*() methods.
67
+ *
68
+ * The method fetches the full flow definition from the instance, combines it with
69
+ * the provided outputMap (trigger test values), and submits it to the test endpoint.
70
+ *
71
+ * @param options Test flow options including flowId, outputMap, and optional scope/runOnThread
72
+ * @returns FlowTestResult with the execution context sys_id on success
73
+ */
74
+ testFlow(options: TestFlowOptions): Promise<FlowTestResult>;
75
+ /**
76
+ * Extract the result from a ProcessFlow API response, handling both
77
+ * Axios-style (data.result) and RequestHandler-style (bodyObject.result) response shapes.
78
+ */
79
+ private _extractProcessFlowResult;
54
80
  /** Build the ServiceNow server-side script string. */
55
81
  _buildFlowScript(options: ExecuteFlowOptions): string;
56
82
  /** Serialize inputs for embedding in the generated script. */
@@ -1,6 +1,7 @@
1
1
  import { BackgroundScriptExecutor } from "../BackgroundScriptExecutor.js";
2
2
  import { Logger } from "../../util/Logger.js";
3
3
  import { TableAPIRequest } from '../../comm/http/TableAPIRequest.js';
4
+ import { ProcessFlowRequest } from '../../comm/http/ProcessFlowRequest.js';
4
5
  const RESULT_MARKER = '___FLOW_EXEC_RESULT___';
5
6
  const VALID_TYPES = ['flow', 'subflow', 'action'];
6
7
  /**
@@ -332,6 +333,148 @@ export class FlowManager {
332
333
  };
333
334
  }
334
335
  // ================================================================
336
+ // Test Flow API (ProcessFlow REST)
337
+ // ================================================================
338
+ /**
339
+ * Fetch a flow definition from the ProcessFlow REST API.
340
+ *
341
+ * @param flowSysId The sys_id of the flow to fetch
342
+ * @param scope Optional scope sys_id for the transaction scope query parameter
343
+ * @returns FlowDefinitionResult containing the raw flow definition object
344
+ */
345
+ async getFlowDefinition(flowSysId, scope) {
346
+ if (!flowSysId || flowSysId.trim().length === 0) {
347
+ throw new Error('Flow sys_id is required');
348
+ }
349
+ this._logger.info(`Fetching flow definition: ${flowSysId}`);
350
+ const pfr = new ProcessFlowRequest(this._instance);
351
+ const query = scope ? { sysparm_transaction_scope: scope } : undefined;
352
+ try {
353
+ const response = await pfr.get('flow/{flow_sys_id}', { flow_sys_id: flowSysId }, query);
354
+ const apiResult = this._extractProcessFlowResult(response);
355
+ if (apiResult.errorCode !== 0 || (apiResult.errorCode == null && apiResult.errorMessage)) {
356
+ return {
357
+ success: false,
358
+ errorMessage: apiResult.errorMessage || 'Unknown error from processflow API',
359
+ rawResponse: apiResult
360
+ };
361
+ }
362
+ const definition = apiResult.data;
363
+ if (!definition || typeof definition !== 'object') {
364
+ return {
365
+ success: false,
366
+ errorMessage: 'ProcessFlow API returned no flow definition data',
367
+ rawResponse: apiResult
368
+ };
369
+ }
370
+ this._logger.info(`Flow definition fetched: ${String(definition['name'] ?? flowSysId)}`);
371
+ return {
372
+ success: true,
373
+ definition,
374
+ rawResponse: apiResult
375
+ };
376
+ }
377
+ catch (error) {
378
+ const err = error;
379
+ this._logger.error(`Error fetching flow definition "${flowSysId}": ${err.message}`);
380
+ return {
381
+ success: false,
382
+ errorMessage: `Failed to fetch flow definition: ${err.message}`
383
+ };
384
+ }
385
+ }
386
+ /**
387
+ * Test a flow as if running it from Flow Designer, without requiring it to be published.
388
+ *
389
+ * This uses the ProcessFlow REST API (`POST /api/now/processflow/flow/{id}/test`)
390
+ * rather than the scripted FlowAPI.getRunner() approach used by the execute*() methods.
391
+ *
392
+ * The method fetches the full flow definition from the instance, combines it with
393
+ * the provided outputMap (trigger test values), and submits it to the test endpoint.
394
+ *
395
+ * @param options Test flow options including flowId, outputMap, and optional scope/runOnThread
396
+ * @returns FlowTestResult with the execution context sys_id on success
397
+ */
398
+ async testFlow(options) {
399
+ if (!options.flowId || options.flowId.trim().length === 0) {
400
+ throw new Error('Flow identifier is required (sys_id or scoped_name)');
401
+ }
402
+ if (!options.outputMap || typeof options.outputMap !== 'object') {
403
+ throw new Error('outputMap is required (maps trigger output variables to test values)');
404
+ }
405
+ this._logger.info(`Testing flow: ${options.flowId}`);
406
+ // Step 1: Resolve identifier to sys_id
407
+ let resolved;
408
+ try {
409
+ resolved = await this._resolveFlowIdentifier(options.flowId);
410
+ }
411
+ catch (error) {
412
+ const err = error;
413
+ return {
414
+ success: false,
415
+ errorMessage: err.message
416
+ };
417
+ }
418
+ // Step 2: Fetch the flow definition
419
+ const defResult = await this.getFlowDefinition(resolved.sysId, options.scope);
420
+ if (!defResult.success || !defResult.definition) {
421
+ return {
422
+ success: false,
423
+ errorMessage: defResult.errorMessage || 'Failed to fetch flow definition'
424
+ };
425
+ }
426
+ // Step 3: Determine the scope for the transaction
427
+ const transactionScope = options.scope || defResult.definition.scope || undefined;
428
+ // Step 4: Build and send the test payload
429
+ const payload = {
430
+ flow: defResult.definition,
431
+ outputMap: options.outputMap,
432
+ runOnThread: options.runOnThread !== undefined ? options.runOnThread : true
433
+ };
434
+ const pfr = new ProcessFlowRequest(this._instance);
435
+ const query = transactionScope ? { sysparm_transaction_scope: transactionScope } : undefined;
436
+ try {
437
+ const response = await pfr.post('flow/{flow_sys_id}/test', { flow_sys_id: resolved.sysId }, query, payload);
438
+ const apiResult = this._extractProcessFlowResult(response);
439
+ if (apiResult.errorCode !== 0 || (apiResult.errorCode == null && apiResult.errorMessage)) {
440
+ this._logger.error(`Test flow failed: ${apiResult.errorMessage}`);
441
+ return {
442
+ success: false,
443
+ errorMessage: apiResult.errorMessage || 'Unknown error from processflow test API',
444
+ errorCode: apiResult.errorCode,
445
+ rawResponse: apiResult
446
+ };
447
+ }
448
+ const contextId = apiResult.data;
449
+ this._logger.info(`Flow test started, context: ${contextId}`);
450
+ return {
451
+ success: true,
452
+ contextId,
453
+ errorCode: 0,
454
+ rawResponse: apiResult
455
+ };
456
+ }
457
+ catch (error) {
458
+ const err = error;
459
+ this._logger.error(`Error testing flow "${options.flowId}": ${err.message}`);
460
+ return {
461
+ success: false,
462
+ errorMessage: `Failed to test flow: ${err.message}`
463
+ };
464
+ }
465
+ }
466
+ /**
467
+ * Extract the result from a ProcessFlow API response, handling both
468
+ * Axios-style (data.result) and RequestHandler-style (bodyObject.result) response shapes.
469
+ */
470
+ _extractProcessFlowResult(response) {
471
+ const result = response?.data?.result ?? response?.bodyObject?.result;
472
+ if (!result) {
473
+ throw new Error('Unexpected response structure from processflow API: no result field');
474
+ }
475
+ return result;
476
+ }
477
+ // ================================================================
335
478
  // Internal Methods
336
479
  // ================================================================
337
480
  /** Build the ServiceNow server-side script string. */
@@ -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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"}
@@ -176,3 +176,71 @@ export interface FlowPublishEnvelope {
176
176
  flowSysId: string;
177
177
  errorMessage: string | null;
178
178
  }
179
+ /**
180
+ * Options for testing a flow via the ProcessFlow REST API.
181
+ * This tests the flow as if from Flow Designer, without requiring it to be published.
182
+ */
183
+ export interface TestFlowOptions {
184
+ /** Flow identifier: either a 32-char hex sys_id or a scoped name (e.g. "x_myapp.my_flow") */
185
+ flowId: string;
186
+ /**
187
+ * Maps trigger output variable names to concrete test values.
188
+ * For record-triggered flows, typically: `{ current: "<record_sys_id>", table_name: "<table>" }`
189
+ */
190
+ outputMap: Record<string, string>;
191
+ /**
192
+ * Scope sys_id for the transaction scope query parameter.
193
+ * If omitted, the scope is read from the fetched flow definition.
194
+ */
195
+ scope?: string;
196
+ /**
197
+ * Whether to run the test synchronously on the current thread.
198
+ * Default: true
199
+ */
200
+ runOnThread?: boolean;
201
+ }
202
+ /** Result from testing a flow via the ProcessFlow REST API. */
203
+ export interface FlowTestResult {
204
+ /** Whether the test request completed successfully */
205
+ success: boolean;
206
+ /** sys_id of the test execution context (returned by the API as result.data) */
207
+ contextId?: string;
208
+ /** Error message from the API or from local processing */
209
+ errorMessage?: string;
210
+ /** Numeric error code from the API (0 = no error) */
211
+ errorCode?: number;
212
+ /** The raw API response for advanced inspection */
213
+ rawResponse?: unknown;
214
+ }
215
+ /** Result from fetching a flow definition via the ProcessFlow REST API. */
216
+ export interface FlowDefinitionResult {
217
+ /** Whether the fetch completed successfully */
218
+ success: boolean;
219
+ /** The raw flow definition object as returned by the processflow API */
220
+ definition?: Record<string, unknown>;
221
+ /** Error message if the fetch failed */
222
+ errorMessage?: string;
223
+ /** The raw API response for advanced inspection */
224
+ rawResponse?: unknown;
225
+ }
226
+ /**
227
+ * Shape of the processflow API response wrapper.
228
+ * @internal
229
+ */
230
+ export interface ProcessFlowApiResponse {
231
+ result: {
232
+ data: unknown;
233
+ errorMessage: string;
234
+ errorCode: number;
235
+ integrationsPluginActive: boolean;
236
+ };
237
+ }
238
+ /**
239
+ * Payload sent to the processflow test endpoint.
240
+ * @internal
241
+ */
242
+ export interface ProcessFlowTestPayload {
243
+ flow: Record<string, unknown>;
244
+ outputMap: Record<string, string>;
245
+ runOnThread: boolean;
246
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-core",
3
- "version": "3.5.0",
3
+ "version": "3.6.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",