@sonisoft/now-sdk-ext-cli 2.0.1 → 2.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.
@@ -0,0 +1,17 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class FlowCopy extends AuthenticatedCommand<typeof FlowCopy> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'source-flow-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ 'target-scope': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/copy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IAEjE,MAAM,CAAC,IAAI,KAAK;IAChB,MAAM,CAAC,WAAW,SAUsD;IACxE,MAAM,CAAC,QAAQ;;;QAad;IACD,MAAM,CAAC,KAAK;;;;;MAsBX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3B"}
@@ -0,0 +1,79 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowCopy extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Copy an existing flow into a target scoped application.\n\n' +
9
+ 'This is the ServiceNow best practice before modifying any flow — OOB and shared ' +
10
+ 'flows must never be modified directly; always copy first. The copied flow lands ' +
11
+ 'in draft/unpublished state in the target scope.\n\n' +
12
+ 'Enables the full CLI-driven flow development lifecycle:\n' +
13
+ ' copy → pull (now-sdk transform) → modify → push → test → publish\n\n' +
14
+ 'Features:\n' +
15
+ ' \u2022 Copy flows by sys_id or scoped name\n' +
16
+ ' \u2022 Specify a display name for the new copy\n' +
17
+ ' \u2022 Target any scoped application by sys_id\n' +
18
+ ' \u2022 Returns the new flow sys_id for use in subsequent commands';
19
+ static examples = [
20
+ {
21
+ description: 'Copy an OOB flow into your app scope',
22
+ command: '<%= config.bin %> <%= command.id %> --source-flow-id e89e3ade731310108ef62d2b04f6a744 --name "Copy of Change - Standard" --target-scope 4a5a6115402946939ee48e3fe80f60f8 --auth dev',
23
+ },
24
+ {
25
+ description: 'Copy by scoped name',
26
+ command: '<%= config.bin %> <%= command.id %> -s global.change__standard -n "My Custom Change Flow" -t 4a5a6115402946939ee48e3fe80f60f8 --auth dev',
27
+ },
28
+ {
29
+ description: 'Copy with JSON output for scripting',
30
+ command: '<%= config.bin %> <%= command.id %> -s e89e3ade731310108ef62d2b04f6a744 -n "Copy" -t 4a5a6115402946939ee48e3fe80f60f8 --json --auth dev',
31
+ },
32
+ ];
33
+ static flags = {
34
+ 'source-flow-id': Flags.string({
35
+ char: 's',
36
+ description: 'Source flow sys_id or scoped name (e.g. global.change__standard)',
37
+ required: true,
38
+ }),
39
+ 'name': Flags.string({
40
+ char: 'n',
41
+ description: 'Display name for the new copied flow',
42
+ required: true,
43
+ }),
44
+ 'target-scope': Flags.string({
45
+ char: 't',
46
+ description: 'Scope sys_id of the target application (use `nex scope` to find scope sys_ids)',
47
+ required: true,
48
+ }),
49
+ 'json': Flags.boolean({
50
+ char: 'j',
51
+ description: 'Output results as JSON',
52
+ required: false,
53
+ default: false,
54
+ }),
55
+ };
56
+ async run() {
57
+ const { flags } = await this.parse(FlowCopy);
58
+ const displayService = new FlowDisplayService();
59
+ try {
60
+ // No scope in constructor — copyFlow uses ProcessFlow REST API directly
61
+ const flowManager = new FlowManager(this.instance);
62
+ this.log(`Copying flow: ${flags['source-flow-id']} → "${flags.name}" in scope ${flags['target-scope']}`);
63
+ const result = await flowManager.copyFlow({
64
+ sourceFlowId: flags['source-flow-id'],
65
+ name: flags.name,
66
+ targetScope: flags['target-scope'],
67
+ });
68
+ const lines = displayService.formatCopyResult(result, flags.json);
69
+ for (const line of lines) {
70
+ flags.json ? console.log(line) : this.log(line);
71
+ }
72
+ }
73
+ catch (error) {
74
+ this._logger.error("Error copying flow.", error);
75
+ this.error(error);
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/commands/flow/copy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class FlowDetails extends AuthenticatedCommand<typeof FlowDetails> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'context-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ 'include-definition': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/details.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,WAAY,SAAQ,oBAAoB,CAAC,OAAO,WAAW,CAAC;IAEvE,MAAM,CAAC,IAAI,KAAK;IAChB,MAAM,CAAC,WAAW,SAU2E;IAC7F,MAAM,CAAC,QAAQ;;;QAad;IACD,MAAM,CAAC,KAAK;;;;;MAsBX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B3B"}
@@ -0,0 +1,75 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowDetails extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Get rich execution details for a flow context.\n\n' +
9
+ 'Returns per-action timing, inputs, outputs, and high-level metadata ' +
10
+ '(state, runtime, who ran it, test vs production). This is the primary ' +
11
+ 'diagnostic command after flow test or flow run.\n\n' +
12
+ 'Uses the ProcessFlow operations API (GET /api/now/processflow/operations/' +
13
+ 'flow/context/{id}), the same endpoint Flow Designer uses to display ' +
14
+ 'execution details.\n\n' +
15
+ 'NOTE: Requires flow operations logging to be enabled on the instance. If ' +
16
+ 'the execution report is unavailable, a notice will explain why.\n\n' +
17
+ 'Typical workflow:\n' +
18
+ ' flow test \u2192 flow details \u2192 diagnose \u2192 modify flow \u2192 flow test again';
19
+ static examples = [
20
+ {
21
+ description: 'Get execution details after testing a flow',
22
+ command: '<%= config.bin %> <%= command.id %> --context-id d4e5f6789012345678abcdef01234567 --auth dev',
23
+ },
24
+ {
25
+ description: 'Get details with explicit scope',
26
+ command: '<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --scope x_myapp --auth dev',
27
+ },
28
+ {
29
+ description: 'Get details with JSON output for scripting',
30
+ command: '<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --json --auth dev',
31
+ },
32
+ ];
33
+ static flags = {
34
+ 'context-id': Flags.string({
35
+ char: 'c',
36
+ description: 'Flow context sys_id returned by flow test, flow run, flow subflow, or flow action',
37
+ required: true,
38
+ }),
39
+ 'scope': Flags.string({
40
+ description: 'Scope sys_id for the ProcessFlow API transaction scope parameter',
41
+ required: false,
42
+ }),
43
+ 'include-definition': Flags.boolean({
44
+ char: 'd',
45
+ description: 'Include the full flow definition snapshot in the response',
46
+ required: false,
47
+ default: false,
48
+ }),
49
+ 'json': Flags.boolean({
50
+ char: 'j',
51
+ description: 'Output results as JSON',
52
+ required: false,
53
+ default: false,
54
+ }),
55
+ };
56
+ async run() {
57
+ const { flags } = await this.parse(FlowDetails);
58
+ const displayService = new FlowDisplayService();
59
+ try {
60
+ // No scope in constructor — getFlowContextDetails uses the ProcessFlow REST API directly
61
+ const flowManager = new FlowManager(this.instance);
62
+ this.log(`Retrieving execution details for context: ${flags['context-id']}`);
63
+ const result = await flowManager.getFlowContextDetails(flags['context-id'], flags.scope, flags['include-definition']);
64
+ const lines = displayService.formatDetailsResult(result, flags.json);
65
+ for (const line of lines) {
66
+ flags.json ? console.log(line) : this.log(line);
67
+ }
68
+ }
69
+ catch (error) {
70
+ this._logger.error("Error retrieving flow execution details.", error);
71
+ this.error(error);
72
+ }
73
+ }
74
+ }
75
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/commands/flow/details.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,OAAO,WAAY,SAAQ,oBAAwC;IAEvE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAChB,MAAM,CAAC,WAAW,GAAG,oDAAoD;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,qDAAqD;QACrD,2EAA2E;QAC3E,sEAAsE;QACtE,wBAAwB;QACxB,2EAA2E;QAC3E,qEAAqE;QACrE,qBAAqB;QACrB,2FAA2F,CAAA;IAC7F,MAAM,CAAC,QAAQ,GAAG;QAChB;YACE,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,8FAA8F;SACxG;QACD;YACE,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,oGAAoG;SAC9G;QACD;YACE,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,2FAA2F;SACrG;KACF,CAAA;IACD,MAAM,CAAC,KAAK,GAAG;QACb,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mFAAmF;YAChG,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,kEAAkE;YAC/E,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,yFAAyF;YACzF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnD,IAAI,CAAC,GAAG,CAAC,6CAA6C,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAE7E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,qBAAqB,CACpD,KAAK,CAAC,YAAY,CAAC,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,oBAAoB,CAAC,CAC5B,CAAC;YAEF,MAAM,KAAK,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAc,CAAC,CAAC;YAC/E,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class FlowLogs extends AuthenticatedCommand<typeof FlowLogs> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'context-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ order: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"asc" | "desc", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/logs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IAEjE,MAAM,CAAC,IAAI,KAAK;IAChB,MAAM,CAAC,WAAW,SAQ4B;IAC9C,MAAM,CAAC,QAAQ;;;QAad;IACD,MAAM,CAAC,KAAK;;;;;MAyBX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
@@ -0,0 +1,79 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowLogs extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Retrieve flow execution log entries for a given context.\n\n' +
9
+ 'Log entries include error messages, step-level debug output, and cancellation ' +
10
+ 'reasons. Use this alongside flow details to get the full picture of what ' +
11
+ 'happened during an execution.\n\n' +
12
+ 'Queries sys_flow_log entries and maps numeric log levels to human-readable ' +
13
+ 'names (ERROR, WARN, INFO, DEBUG).\n\n' +
14
+ 'NOTE: Log entries may be empty for simple successful executions, or if the ' +
15
+ 'flow reporting level is set to NONE. Errors and warnings are always logged ' +
16
+ 'regardless of the reporting level setting.';
17
+ static examples = [
18
+ {
19
+ description: 'Get flow execution logs',
20
+ command: '<%= config.bin %> <%= command.id %> --context-id d4e5f6789012345678abcdef01234567 --auth dev',
21
+ },
22
+ {
23
+ description: 'Get latest 10 log entries in reverse order',
24
+ command: '<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --limit 10 --order desc --auth dev',
25
+ },
26
+ {
27
+ description: 'Get logs with JSON output for scripting',
28
+ command: '<%= config.bin %> <%= command.id %> -c d4e5f6789012345678abcdef01234567 --json --auth dev',
29
+ },
30
+ ];
31
+ static flags = {
32
+ 'context-id': Flags.string({
33
+ char: 'c',
34
+ description: 'Flow context sys_id returned by flow test, flow run, flow subflow, or flow action',
35
+ required: true,
36
+ }),
37
+ 'limit': Flags.integer({
38
+ char: 'l',
39
+ description: 'Maximum number of log entries to return',
40
+ required: false,
41
+ default: 100,
42
+ }),
43
+ 'order': Flags.option({
44
+ char: 'o',
45
+ description: 'Order direction: asc (oldest first) or desc (newest first)',
46
+ required: false,
47
+ default: 'asc',
48
+ options: ['asc', 'desc'],
49
+ })(),
50
+ 'json': Flags.boolean({
51
+ char: 'j',
52
+ description: 'Output results as JSON',
53
+ required: false,
54
+ default: false,
55
+ }),
56
+ };
57
+ async run() {
58
+ const { flags } = await this.parse(FlowLogs);
59
+ const displayService = new FlowDisplayService();
60
+ try {
61
+ // No scope in constructor — getFlowLogs queries sys_flow_log via Table API
62
+ const flowManager = new FlowManager(this.instance);
63
+ this.log(`Retrieving execution logs for context: ${flags['context-id']}`);
64
+ const result = await flowManager.getFlowLogs(flags['context-id'], {
65
+ limit: flags.limit,
66
+ orderDirection: flags.order,
67
+ });
68
+ const lines = displayService.formatLogsResult(result, flags.json);
69
+ for (const line of lines) {
70
+ flags.json ? console.log(line) : this.log(line);
71
+ }
72
+ }
73
+ catch (error) {
74
+ this._logger.error("Error retrieving flow logs.", error);
75
+ this.error(error);
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/commands/flow/logs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/run.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,OAAQ,SAAQ,oBAAoB,CAAC,OAAO,OAAO,CAAC;IAE/D,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAQgD;IAClE,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;;;;MAiCT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/run.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,OAAQ,SAAQ,oBAAoB,CAAC,OAAO,OAAO,CAAC;IAE/D,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAUgD;IAClE,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;;;;MAiCT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
@@ -5,9 +5,11 @@ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
5
  import { FlowDisplayService } from '../../services/flow-display.service.js';
6
6
  export class FlowRun extends AuthenticatedCommand {
7
7
  static args = {};
8
- static description = 'Execute a Flow Designer flow by scoped name.\n\n' +
8
+ static description = 'Execute a published Flow Designer flow by scoped name.\n\n' +
9
9
  'Runs a flow using the sn_fd.FlowAPI ScriptableFlowRunner. ' +
10
10
  'Supports foreground (synchronous) and background (asynchronous) execution modes.\n\n' +
11
+ 'Note: This command requires the flow to be published. For testing flows that ' +
12
+ 'are not yet published (draft/saved state), use `flow test` instead.\n\n' +
11
13
  'Features:\n' +
12
14
  ' \u2022 Execute flows by scoped name (e.g. global.my_flow)\n' +
13
15
  ' \u2022 Pass input values as JSON\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/flow/run.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,OAAO,OAAQ,SAAQ,oBAAoC;IAE/D,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,kDAAkD;QACnE,4DAA4D;QAC5D,sFAAsF;QACtF,aAAa;QACb,+DAA+D;QAC/D,sCAAsC;QACtC,oDAAoD;QACpD,wDAAwD;QACxD,6DAA6D,CAAC;IAClE,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,+BAA+B;YAC5C,OAAO,EAAE,sEAAsE;SAChF;QACD;YACE,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,8GAA8G;SACxH;QACD;YACE,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,wFAAwF;SAClG;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;SACtC,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,2DAA2D;YACxE,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,IAAI,MAA2C,CAAC;YAChD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC7C,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhE,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;gBAC3C,UAAU,EAAE,KAAK,CAAC,IAAI;gBACtB,MAAM;gBACN,IAAI,EAAE,KAAK,CAAC,IAAW;gBACvB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/flow/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subflow.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,WAAY,SAAQ,oBAAoB,CAAC,OAAO,WAAW,CAAC;IAEvE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAMgD;IAClE,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;;;;;;MAiCT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
1
+ {"version":3,"file":"subflow.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,WAAY,SAAQ,oBAAoB,CAAC,OAAO,WAAW,CAAC;IAEvE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SAQgD;IAClE,MAAM,CAAC,QAAQ;;;QASZ;IACH,MAAM,CAAC,KAAK;;;;;;;MAiCT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoC3B"}
@@ -5,8 +5,10 @@ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
5
  import { FlowDisplayService } from '../../services/flow-display.service.js';
6
6
  export class FlowSubflow extends AuthenticatedCommand {
7
7
  static args = {};
8
- static description = 'Execute a Flow Designer subflow by scoped name.\n\n' +
8
+ static description = 'Execute a published Flow Designer subflow by scoped name.\n\n' +
9
9
  'Runs a subflow using the sn_fd.FlowAPI ScriptableFlowRunner.\n\n' +
10
+ 'Note: This command requires the subflow to be published. For testing flows that ' +
11
+ 'are not yet published (draft/saved state), use `flow test` instead.\n\n' +
10
12
  'Features:\n' +
11
13
  ' \u2022 Execute subflows by scoped name\n' +
12
14
  ' \u2022 Pass input values as JSON\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"subflow.js","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subflow.js","sourceRoot":"","sources":["../../../src/commands/flow/subflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ export declare class FlowTest extends AuthenticatedCommand<typeof FlowTest> {
3
+ static args: {};
4
+ static description: string;
5
+ static examples: {
6
+ description: string;
7
+ command: string;
8
+ }[];
9
+ static flags: {
10
+ 'flow-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ 'output-map': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ synchronous: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
+ };
16
+ run(): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAG5E,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IAEjE,MAAM,CAAC,IAAI,KAAK;IAClB,MAAM,CAAC,WAAW,SASmC;IACrD,MAAM,CAAC,QAAQ;;;QAaZ;IACH,MAAM,CAAC,KAAK;;;;;;MA2BT;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkC3B"}
@@ -0,0 +1,91 @@
1
+ /* eslint-disable perfectionist/sort-objects */
2
+ import { Flags } from '@oclif/core';
3
+ import { FlowManager } from '@sonisoft/now-sdk-ext-core';
4
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
5
+ import { FlowDisplayService } from '../../services/flow-display.service.js';
6
+ export class FlowTest extends AuthenticatedCommand {
7
+ static args = {};
8
+ static description = 'Test a Flow Designer flow without requiring it to be published.\n\n' +
9
+ 'Invokes the same API as the "Test" button in Flow Designer, running the flow ' +
10
+ 'in its current saved (draft) state. Unlike `flow run` which requires a published ' +
11
+ 'flow and uses sn_fd.FlowAPI, `flow test` works on unpublished drafts via the ' +
12
+ 'ProcessFlow REST API.\n\n' +
13
+ 'Features:\n' +
14
+ ' \u2022 Test flows by sys_id or scoped name\n' +
15
+ ' \u2022 Pass trigger output values as JSON via --output-map\n' +
16
+ ' \u2022 Auto-resolves scope from flow definition if not provided\n' +
17
+ ' \u2022 Synchronous or asynchronous execution';
18
+ static examples = [
19
+ {
20
+ description: 'Test a flow by sys_id',
21
+ command: '<%= config.bin %> <%= command.id %> --flow-id 887dda5583237210fdb8f7b6feaad32c --output-map \'{"current":"0ecd7552db252200a6a2b31be0b8f5e6","table_name":"change_request"}\' --auth dev',
22
+ },
23
+ {
24
+ description: 'Test a flow by scoped name with explicit scope',
25
+ command: '<%= config.bin %> <%= command.id %> -f x_myapp.my_flow -o \'{"current":"abc123","table_name":"incident"}\' --scope x_myapp --auth dev',
26
+ },
27
+ {
28
+ description: 'Test with JSON output',
29
+ command: '<%= config.bin %> <%= command.id %> -f 887dda5583237210fdb8f7b6feaad32c -o \'{"current":"abc123"}\' --json --auth dev',
30
+ },
31
+ ];
32
+ static flags = {
33
+ 'flow-id': Flags.string({
34
+ char: 'f',
35
+ description: 'Flow sys_id or scoped name (e.g. x_myapp.my_flow)',
36
+ required: true,
37
+ }),
38
+ 'output-map': Flags.string({
39
+ char: 'o',
40
+ description: 'JSON mapping of trigger output variable names to test values (e.g. \'{"current":"<sys_id>","table_name":"change_request"}\')',
41
+ required: true,
42
+ }),
43
+ 'scope': Flags.string({
44
+ description: 'Scope sys_id for transaction scope (auto-resolved from flow definition if omitted)',
45
+ required: false,
46
+ }),
47
+ 'synchronous': Flags.boolean({
48
+ description: 'Run test synchronously (default: true)',
49
+ required: false,
50
+ default: true,
51
+ allowNo: true,
52
+ }),
53
+ 'json': Flags.boolean({
54
+ char: 'j',
55
+ description: 'Output results as JSON',
56
+ required: false,
57
+ default: false,
58
+ }),
59
+ };
60
+ async run() {
61
+ const { flags } = await this.parse(FlowTest);
62
+ const displayService = new FlowDisplayService();
63
+ try {
64
+ let outputMap;
65
+ try {
66
+ outputMap = JSON.parse(flags['output-map']);
67
+ }
68
+ catch {
69
+ this.error('Invalid JSON in --output-map flag.');
70
+ }
71
+ // Constructor scope sets the auth/session context; testFlow scope sets the transaction scope
72
+ const flowManager = new FlowManager(this.instance, flags.scope);
73
+ this.log(`Testing flow: ${flags['flow-id']} (${flags.synchronous ? 'synchronous' : 'asynchronous'})`);
74
+ const result = await flowManager.testFlow({
75
+ flowId: flags['flow-id'],
76
+ outputMap,
77
+ scope: flags.scope,
78
+ runOnThread: flags.synchronous,
79
+ });
80
+ const lines = displayService.formatTestResult(result, flags.json ?? false);
81
+ for (const line of lines) {
82
+ (flags.json ?? false) ? console.log(line) : this.log(line);
83
+ }
84
+ }
85
+ catch (error) {
86
+ this._logger.error("Error testing flow.", error);
87
+ this.error(error);
88
+ }
89
+ }
90
+ }
91
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,MAAM,OAAO,QAAS,SAAQ,oBAAqC;IAEjE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,qEAAqE;QACtF,+EAA+E;QAC/E,mFAAmF;QACnF,+EAA+E;QAC/E,2BAA2B;QAC3B,aAAa;QACb,gDAAgD;QAChD,gEAAgE;QAChE,qEAAqE;QACrE,gDAAgD,CAAC;IACrD,MAAM,CAAC,QAAQ,GAAG;QACd;YACE,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,yLAAyL;SACnM;QACD;YACE,WAAW,EAAE,gDAAgD;YAC7D,OAAO,EAAE,uIAAuI;SACjJ;QACD;YACE,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,uHAAuH;SACjI;KACF,CAAA;IACH,MAAM,CAAC,KAAK,GAAG;QACX,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,8HAA8H;YAC3I,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,oFAAoF;YACjG,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,IAAI,SAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,CAAC;YAED,6FAA6F;YAC7F,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhE,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;YAEtG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;gBACxC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACxB,SAAS;gBACT,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YAC3E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC"}
@@ -1,10 +1,30 @@
1
+ import type { FlowContextDetailsResult, FlowLogResult } from '@sonisoft/now-sdk-ext-core';
2
+ export interface FlowCopyResult {
3
+ success: boolean;
4
+ newFlowSysId?: string;
5
+ errorMessage?: string;
6
+ errorCode?: number;
7
+ }
8
+ export interface FlowTestResult {
9
+ success: boolean;
10
+ contextId?: string;
11
+ flowId?: string;
12
+ state?: string;
13
+ outputs?: Record<string, unknown>;
14
+ errorMessage?: string;
15
+ }
1
16
  export declare class FlowDisplayService {
17
+ formatCopyResult(result: FlowCopyResult, jsonOutput: boolean): string[];
2
18
  formatCancelResult(result: any, jsonOutput: boolean): string[];
3
19
  formatErrorResult(result: any, jsonOutput: boolean): string[];
4
20
  formatExecutionResult(result: any, jsonOutput: boolean): string[];
5
21
  formatMessageResult(result: any, jsonOutput: boolean): string[];
6
22
  formatOutputsResult(result: any, jsonOutput: boolean): string[];
7
23
  formatStatusResult(result: any, jsonOutput: boolean): string[];
24
+ formatTestResult(result: FlowTestResult, jsonOutput: boolean): string[];
25
+ formatDetailsResult(result: FlowContextDetailsResult, jsonOutput: boolean): string[];
26
+ formatLogsResult(result: FlowLogResult, jsonOutput: boolean): string[];
27
+ private _mapLogLevel;
8
28
  private _stateIcon;
9
29
  }
10
30
  //# sourceMappingURL=flow-display.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-display.service.d.ts","sourceRoot":"","sources":["../../src/services/flow-display.service.ts"],"names":[],"mappings":"AAEA,qBAAa,kBAAkB;IAC7B,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoB9D,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAwB7D,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA6CjE,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoB/D,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA4B/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAwC9D,OAAO,CAAC,UAAU;CAwBnB"}
1
+ {"version":3,"file":"flow-display.service.d.ts","sourceRoot":"","sources":["../../src/services/flow-display.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEzF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAC7B,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoCvE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoB9D,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAwB7D,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA6CjE,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoB/D,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IA4B/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAwC9D,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAuCvE,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAqGpF,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAmCtE,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,UAAU;CAwBnB"}