@sonisoft/now-sdk-ext-cli 5.4.0 → 5.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.
Files changed (35) hide show
  1. package/README.md +320 -230
  2. package/dist/commands/auth/browser-session.d.ts +13 -0
  3. package/dist/commands/auth/browser-session.d.ts.map +1 -0
  4. package/dist/commands/auth/browser-session.js +31 -0
  5. package/dist/commands/auth/browser-session.js.map +1 -0
  6. package/dist/commands/behavior/details.d.ts +16 -0
  7. package/dist/commands/behavior/details.d.ts.map +1 -0
  8. package/dist/commands/behavior/details.js +31 -0
  9. package/dist/commands/behavior/details.js.map +1 -0
  10. package/dist/commands/behavior/index.d.ts +23 -0
  11. package/dist/commands/behavior/index.d.ts.map +1 -0
  12. package/dist/commands/behavior/index.js +41 -0
  13. package/dist/commands/behavior/index.js.map +1 -0
  14. package/dist/commands/flow/definition.d.ts +1 -1
  15. package/dist/common/authenticated-command.d.ts.map +1 -1
  16. package/dist/common/authenticated-command.js +24 -4
  17. package/dist/common/authenticated-command.js.map +1 -1
  18. package/dist/common/behavior-flags.d.ts +17 -0
  19. package/dist/common/behavior-flags.d.ts.map +1 -0
  20. package/dist/common/behavior-flags.js +14 -0
  21. package/dist/common/behavior-flags.js.map +1 -0
  22. package/dist/services/behavior-display.service.d.ts +6 -0
  23. package/dist/services/behavior-display.service.d.ts.map +1 -0
  24. package/dist/services/behavior-display.service.js +50 -0
  25. package/dist/services/behavior-display.service.js.map +1 -0
  26. package/dist/services/browser-session-writer.d.ts +4 -0
  27. package/dist/services/browser-session-writer.d.ts.map +1 -0
  28. package/dist/services/browser-session-writer.js +52 -0
  29. package/dist/services/browser-session-writer.js.map +1 -0
  30. package/dist/services/flow-display.service.d.ts +9 -9
  31. package/dist/services/flow-display.service.d.ts.map +1 -1
  32. package/dist/services/flow-display.service.js +117 -117
  33. package/dist/services/flow-display.service.js.map +1 -1
  34. package/oclif.manifest.json +1397 -983
  35. package/package.json +6 -3
@@ -0,0 +1,13 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class BrowserSessionCommand extends Command {
3
+ static description: string;
4
+ static enableJsonFlag: boolean;
5
+ static flags: {
6
+ auth: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ 'cred-store': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
+ force: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ output: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ };
11
+ run(): Promise<unknown>;
12
+ }
13
+ //# sourceMappingURL=browser-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/browser-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAQ,MAAM,aAAa,CAAA;AAM1C,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IACxD,MAAM,CAAC,WAAW,SAA0E;IAC5F,MAAM,CAAC,cAAc,UAAO;IAC5B,MAAM,CAAC,KAAK;;;;;MAKX;IAEK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAgB9B"}
@@ -0,0 +1,31 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { logger as sdkLogger } from '@servicenow/sdk-cli/dist/logger/index.js';
3
+ import { createBrowserSession } from '@sonisoft/now-sdk-ext-core';
4
+ import { writeBrowserSession } from '../../services/browser-session-writer.js';
5
+ export default class BrowserSessionCommand extends Command {
6
+ static description = 'Create a verified Playwright cookie session using a stored SDK alias.';
7
+ static enableJsonFlag = true;
8
+ static flags = {
9
+ auth: Flags.string({ char: 'a', description: 'Stored SDK credential alias.', required: true }),
10
+ 'cred-store': Flags.boolean({ description: 'Use the headless credential store.' }),
11
+ force: Flags.boolean({ description: 'Replace an existing regular output file.' }),
12
+ output: Flags.string({ description: 'Owner-only Playwright storage-state file.', required: true }),
13
+ };
14
+ async run() {
15
+ const { flags } = await this.parse(BrowserSessionCommand);
16
+ sdkLogger.setLevel('silent');
17
+ if ((flags['cred-store'] || process.env.SN_CRED_STORE_ENABLE) && process.env.NOW_SDK_KEYCHAIN_PATCHED !== '1') {
18
+ this.error('The requested credential store is inactive. Unset SN_CRED_STORE_DISABLE and check nex auth doctor.');
19
+ }
20
+ const session = await createBrowserSession({ alias: flags.auth });
21
+ const path = await writeBrowserSession(session, flags.output, flags.force);
22
+ const metadata = {
23
+ alias: session.alias, createdAt: session.createdAt, instanceUrl: session.instanceUrl,
24
+ oauthExpiresAt: session.oauthExpiresAt, path,
25
+ };
26
+ if (!this.jsonEnabled())
27
+ this.log(path);
28
+ return metadata;
29
+ }
30
+ }
31
+ //# sourceMappingURL=browser-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../../../src/commands/auth/browser-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAC,MAAM,IAAI,SAAS,EAAC,MAAM,0CAA0C,CAAA;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAA;AAE/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,0CAA0C,CAAA;AAE5E,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,OAAO;IACxD,MAAM,CAAC,WAAW,GAAG,uEAAuE,CAAA;IAC5F,MAAM,CAAC,cAAc,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QAC5F,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,oCAAoC,EAAC,CAAC;QAChF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,0CAA0C,EAAC,CAAC;QAC/E,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KACjG,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,EAAE,CAAC;YAC9G,IAAI,CAAC,KAAK,CAAC,oGAAoG,CAAC,CAAA;QAClH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1E,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;YACpF,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI;SAC7C,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvC,OAAO,QAAQ,CAAA;IACjB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ /** Retrieve known behavior references in a batch, without table discovery. */
3
+ export declare class BehaviorDetails extends AuthenticatedCommand<typeof BehaviorDetails> {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ reference: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[], import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ 'dependency-depth': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ details: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<("dependencies" | "scripts" | "definitions")[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ 'max-bytes': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, 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
+ };
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/commands/behavior/details.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAI5E,8EAA8E;AAC9E,qBAAa,eAAgB,SAAQ,oBAAoB,CAAC,OAAO,eAAe,CAAC;IAC/E,MAAM,CAAC,WAAW,SAAwU;IAC1V,MAAM,CAAC,QAAQ,WAAqJ;IACpK,MAAM,CAAC,KAAK;;;;;;;MAGX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3B"}
@@ -0,0 +1,31 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { TableBehaviorDiscovery } from '@sonisoft/now-sdk-ext-core';
3
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
4
+ import { behaviorFlags, behaviorOptions } from '../../common/behavior-flags.js';
5
+ import { BehaviorDisplayService } from '../../services/behavior-display.service.js';
6
+ /** Retrieve known behavior references in a batch, without table discovery. */
7
+ export class BehaviorDetails extends AuthenticatedCommand {
8
+ static description = 'Retrieve known behavior artifacts without rediscovery. Repeat --reference kind:source_table:sys_id for up to 50 records. Add --details scripts, --details definitions or --details dependencies to include bodies immediately. Source references are returned by behavior discovery; flows also accept flows:sys_hub_flow:<sys_id>.';
9
+ static examples = ['<%= config.bin %> <%= command.id %> --reference business_rules:sys_script:0123456789abcdef0123456789abcdef --details scripts --auth dev --json'];
10
+ static flags = {
11
+ ...behaviorFlags,
12
+ reference: Flags.string({ description: 'kind:source_table:sys_id; repeat for a batch', multiple: true, required: true }),
13
+ };
14
+ async run() {
15
+ const { flags } = await this.parse(BehaviorDetails);
16
+ const references = flags.reference.map(value => {
17
+ const parts = value.split(':');
18
+ if (parts.length !== 3)
19
+ this.error('Reference must be kind:source_table:sys_id');
20
+ return { kind: parts[0], sourceTable: parts[1], sysId: parts[2] };
21
+ });
22
+ const result = await new TableBehaviorDiscovery(this.instance).getBehaviorDetails(references, behaviorOptions(flags));
23
+ for (const line of new BehaviorDisplayService().format(result, flags.json)) {
24
+ if (flags.json)
25
+ process.stdout.write(`${line}\n`);
26
+ else
27
+ this.log(line);
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../../src/commands/behavior/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAqB,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,OAAO,eAAgB,SAAQ,oBAA4C;IAC/E,MAAM,CAAC,WAAW,GAAG,qUAAqU,CAAA;IAC1V,MAAM,CAAC,QAAQ,GAAG,CAAC,gJAAgJ,CAAC,CAAA;IACpK,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,aAAa;QAChB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACzH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;YAChF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAA8B,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAChG,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QACrH,KAAK,MAAM,IAAI,IAAI,IAAI,sBAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
2
+ /** Discover configuration that can affect a table, including optional detail immediately. */
3
+ export declare class Behavior extends AuthenticatedCommand<typeof Behavior> {
4
+ static description: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ category: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<("business_rules" | "ui_actions" | "client_scripts" | "ui_policies" | "data_policies" | "workflows" | "flows" | "state_models")[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ cursor: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ 'include-inactive': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
+ 'include-inherited': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ 'sys-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ table: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ 'dependency-depth': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
+ details: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<("dependencies" | "scripts" | "definitions")[] | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
18
+ 'max-bytes': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
19
+ scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
20
+ };
21
+ run(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/behavior/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAI5E,6FAA6F;AAC7F,qBAAa,QAAS,SAAQ,oBAAoB,CAAC,OAAO,QAAQ,CAAC;IACjE,MAAM,CAAC,WAAW,SAAsS;IACxT,MAAM,CAAC,QAAQ,WAGd;IACD,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAUX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAa3B"}
@@ -0,0 +1,41 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BEHAVIOR_CATEGORIES, TableBehaviorDiscovery } from '@sonisoft/now-sdk-ext-core';
3
+ import { AuthenticatedCommand } from '../../common/authenticated-command.js';
4
+ import { behaviorFlags, behaviorOptions } from '../../common/behavior-flags.js';
5
+ import { BehaviorDisplayService } from '../../services/behavior-display.service.js';
6
+ /** Discover configuration that can affect a table, including optional detail immediately. */
7
+ export class Behavior extends AuthenticatedCommand {
8
+ static description = 'Discover table behavior: rules, UI actions/scripts, UI/data policies, workflows, flows and state models. Active and applicable inherited behavior is included by default. Conditions describe configuration, not a prediction of execution. Select categories and details to control output size.';
9
+ static examples = [
10
+ '<%= config.bin %> <%= command.id %> --table incident --auth dev --json',
11
+ '<%= config.bin %> <%= command.id %> --table change_request --category business_rules --details scripts --auth dev --json',
12
+ ];
13
+ static flags = {
14
+ ...behaviorFlags,
15
+ category: Flags.option({ description: 'Category to inspect; repeat to select several, default all', multiple: true, options: BEHAVIOR_CATEGORIES })(),
16
+ cursor: Flags.string({ description: 'Continuation token; requires exactly one --category and the same filters' }),
17
+ 'include-inactive': Flags.boolean({ default: false, description: 'Include inactive/published and draft candidates when discoverable' }),
18
+ 'include-inherited': Flags.boolean({ allowNo: true, default: true, description: 'Include applicable ancestor behavior' }),
19
+ limit: Flags.integer({ default: 50, description: 'Maximum items per category', max: 200, min: 1 }),
20
+ name: Flags.string({ description: 'Metadata name contains this text' }),
21
+ 'sys-id': Flags.string({ description: 'Metadata source sys_id to include; repeat for multiple records', multiple: true }),
22
+ table: Flags.string({ char: 't', description: 'Target table name', required: true }),
23
+ };
24
+ async run() {
25
+ const { flags } = await this.parse(Behavior);
26
+ if (flags.cursor && flags.category?.length !== 1)
27
+ this.error('--cursor requires exactly one --category');
28
+ const result = await new TableBehaviorDiscovery(this.instance).discoverTableBehavior(flags.table, {
29
+ ...behaviorOptions(flags), categories: flags.category, cursors: flags.cursor && flags.category ? { [flags.category[0]]: flags.cursor } : undefined,
30
+ includeInactive: flags['include-inactive'], includeInherited: flags['include-inherited'], limit: flags.limit, name: flags.name,
31
+ sysIds: flags['sys-id'],
32
+ });
33
+ for (const line of new BehaviorDisplayService().format(result, flags.json)) {
34
+ if (flags.json)
35
+ process.stdout.write(`${line}\n`);
36
+ else
37
+ this.log(line);
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/behavior/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class FlowDefinition extends AuthenticatedCommand<typeof FlowDefi
8
8
  }[];
9
9
  static flags: {
10
10
  'sys-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
- type: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"action" | "flow" | "subflow", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ type: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<"subflow" | "action" | "flow", import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
12
  scope: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
13
  json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authenticated-command.d.ts","sourceRoot":"","sources":["../../src/common/authenticated-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAgD,MAAM,EAAE,kBAAkB,EAA8B,MAAM,4BAA4B,CAAC;AAOlJ,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;AAC7H,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE/E,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IAElF,MAAM,CAAC,SAAS;;;;;;;;;MA4Df;IAEC,MAAM,CAAC,cAAc,UAAO;IAChC,SAAS,CAAC,OAAO,EAAG,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAEnC,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAE/B;cAEa,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC;cA8BrD,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAO9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiFlC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;CA0BjB"}
1
+ {"version":3,"file":"authenticated-command.d.ts","sourceRoot":"","sources":["../../src/common/authenticated-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,UAAU,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAgD,MAAM,EAA0C,kBAAkB,EAA8B,MAAM,4BAA4B,CAAC;AAO1L,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;AAC7H,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE/E,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IAElF,MAAM,CAAC,SAAS;;;;;;;;;MA4Df;IAEC,MAAM,CAAC,cAAc,UAAO;IAChC,SAAS,CAAC,OAAO,EAAG,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IAEnC,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,MAAM,EAE/B;cAEa,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC;cA8BrD,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAO9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgGlC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;CA0BjB"}
@@ -1,6 +1,6 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
- import { getCredentials } from "@servicenow/sdk-cli/dist/auth/index.js";
3
- import { configureLogging, flushLogs, isPolicyRefusal, ServiceNowInstance } from '@sonisoft/now-sdk-ext-core';
2
+ import { logger as sdkLogger } from '@servicenow/sdk-cli/dist/logger/index.js';
3
+ import { configureLogging, flushLogs, isPolicyRefusal, redactValue, resolveSessionCredentials, ServiceNowInstance } from '@sonisoft/now-sdk-ext-core';
4
4
  import { LogFactory } from '../util/log-factory.js';
5
5
  import { installCliPolicy } from './policy.js';
6
6
  export class AuthenticatedCommand extends Command {
@@ -142,6 +142,25 @@ export class AuthenticatedCommand extends Command {
142
142
  });
143
143
  this.logger = LogFactory.createLogger(this.ctor.name);
144
144
  this.authLogger = LogFactory.createLogger("AuthenticatedCommand");
145
+ if (this.jsonEnabled()) {
146
+ const sdkLog = LogFactory.createLogger('ServiceNow SDK');
147
+ sdkLogger.setLevel('silent');
148
+ for (const level of ['info', 'warn', 'error', 'debug']) {
149
+ sdkLogger[level] = (...args) => {
150
+ const message = args.map(arg => {
151
+ if (typeof arg === 'string')
152
+ return arg;
153
+ try {
154
+ return JSON.stringify(redactValue(arg)) ?? String(arg);
155
+ }
156
+ catch {
157
+ return '[unserializable]';
158
+ }
159
+ }).join(' ');
160
+ sdkLog[level](message || 'ServiceNow SDK');
161
+ };
162
+ }
163
+ }
145
164
  // Install the permission ladder before anything can issue a request. Core's gate
146
165
  // is inert until this runs, so ordering matters: after logging (so a malformed
147
166
  // NEX_POLICY_DENY has somewhere to warn) and before the first credential fetch.
@@ -156,7 +175,7 @@ export class AuthenticatedCommand extends Command {
156
175
  const alias = flags.auth || "fluent-default";
157
176
  let credential;
158
177
  try {
159
- credential = await getCredentials(alias);
178
+ credential = await resolveSessionCredentials(alias);
160
179
  }
161
180
  catch (error) {
162
181
  // getCredentials throws for an unknown alias, but it also throws when the
@@ -177,7 +196,8 @@ export class AuthenticatedCommand extends Command {
177
196
  }
178
197
  const snSettings = {
179
198
  alias: flags.auth,
180
- credential
199
+ credential,
200
+ credentialProvider: () => resolveSessionCredentials(alias),
181
201
  };
182
202
  this.instance = new ServiceNowInstance(snSettings);
183
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authenticated-command.js","sourceRoot":"","sources":["../../src/common/authenticated-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authenticated-command.js","sourceRoot":"","sources":["../../src/common/authenticated-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { BehaviorDetailOptions } from '@sonisoft/now-sdk-ext-core';
2
+ /** Shared controls for table discovery and direct behavior retrieval. */
3
+ export declare const behaviorFlags: {
4
+ 'dependency-depth': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
5
+ details: import("@oclif/core/lib/interfaces").OptionFlag<("dependencies" | "scripts" | "definitions")[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ 'max-bytes': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ };
10
+ /** Translate CLI flag spelling into core options. */
11
+ export declare function behaviorOptions(flags: {
12
+ 'dependency-depth': number;
13
+ details?: BehaviorDetailOptions['details'];
14
+ 'max-bytes': number;
15
+ scope?: string;
16
+ }): BehaviorDetailOptions;
17
+ //# sourceMappingURL=behavior-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-flags.d.ts","sourceRoot":"","sources":["../../src/common/behavior-flags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,yEAAyE;AACzE,eAAO,MAAM,aAAa;;;;;;CAMzB,CAAA;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,qBAAqB,CAExB"}
@@ -0,0 +1,14 @@
1
+ import { Flags } from '@oclif/core';
2
+ /** Shared controls for table discovery and direct behavior retrieval. */
3
+ export const behaviorFlags = {
4
+ 'dependency-depth': Flags.integer({ default: 0, description: 'Expand one dependency level; requires --details dependencies', max: 1, min: 0 }),
5
+ details: Flags.option({ description: 'Include selected detail now; repeat for multiple kinds', multiple: true, options: ['scripts', 'definitions', 'dependencies'] })(),
6
+ json: Flags.boolean({ default: false, description: 'Emit one JSON document' }),
7
+ 'max-bytes': Flags.integer({ default: 65_536, description: 'Maximum JSON response bytes; omissions include retrieval references', max: 1_048_576, min: 4096 }),
8
+ scope: Flags.string({ description: 'Transaction scope for flow definition reads' }),
9
+ };
10
+ /** Translate CLI flag spelling into core options. */
11
+ export function behaviorOptions(flags) {
12
+ return { dependencyDepth: flags['dependency-depth'], details: flags.details, maxBytes: flags['max-bytes'], scope: flags.scope };
13
+ }
14
+ //# sourceMappingURL=behavior-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-flags.js","sourceRoot":"","sources":["../../src/common/behavior-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9I,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAU,EAAE,CAAC,EAAE;IAChL,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IAC9E,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,qEAAqE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9J,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC;CACpF,CAAA;AAED,qDAAqD;AACrD,MAAM,UAAU,eAAe,CAAC,KAK/B;IACC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;AAC1I,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BehaviorDetailsResult, TableBehaviorResult } from '@sonisoft/now-sdk-ext-core';
2
+ /** Human and JSON rendering of the shared core behavior response. */
3
+ export declare class BehaviorDisplayService {
4
+ format(result: BehaviorDetailsResult | TableBehaviorResult, json: boolean): string[];
5
+ }
6
+ //# sourceMappingURL=behavior-display.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-display.service.d.ts","sourceRoot":"","sources":["../../src/services/behavior-display.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAErG,qEAAqE;AACrE,qBAAa,sBAAsB;IACjC,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;CAgCrF"}
@@ -0,0 +1,50 @@
1
+ /** Human and JSON rendering of the shared core behavior response. */
2
+ export class BehaviorDisplayService {
3
+ format(result, json) {
4
+ if (json)
5
+ return [JSON.stringify(result)];
6
+ const lines = ['Configuration visible to this account; conditions are not evaluated.'];
7
+ const show = (item) => {
8
+ lines.push(`${item.name} [${item.reference.kind}] ${item.reference.sourceTable}:${item.reference.sysId}`);
9
+ if (item.inherited)
10
+ lines.push(` Inherited from ${item.table}`);
11
+ lines.push(` ${JSON.stringify(item.configuration)}`);
12
+ if (item.related?.length)
13
+ lines.push(` Related: ${JSON.stringify(item.related)}`);
14
+ if (item.scripts)
15
+ lines.push(` Scripts: ${JSON.stringify(item.scripts)}`);
16
+ if (item.definition)
17
+ lines.push(` Definition (${item.definitionSource}): ${JSON.stringify(item.definition)}`);
18
+ if (item.dependencies?.length)
19
+ lines.push(` Dependencies: ${JSON.stringify(item.dependencies)}`);
20
+ for (const warning of item.warnings)
21
+ lines.push(` ${warning.code}: ${warning.message}`);
22
+ };
23
+ if ('categories' in result) {
24
+ lines.push(`Table: ${result.table}; ancestors: ${result.ancestors.join(', ') || '(none)'}`);
25
+ for (const section of result.categories) {
26
+ lines.push(`${section.category}: ${section.items.length} (${section.status})`);
27
+ for (const item of section.items)
28
+ show(item);
29
+ for (const warning of section.warnings)
30
+ lines.push(` ${warning.code}: ${warning.message}`);
31
+ if (section.nextCursor)
32
+ lines.push(` Continue: --category ${section.category} --cursor ${section.nextCursor}`);
33
+ }
34
+ }
35
+ else {
36
+ for (const item of result.items)
37
+ show(item);
38
+ if (result.remainingReferences.length > 0)
39
+ lines.push(`Remaining references: ${JSON.stringify(result.remainingReferences)}`);
40
+ }
41
+ if (result.dependencies.length > 0)
42
+ lines.push('Expanded dependencies:');
43
+ for (const item of result.dependencies)
44
+ show(item);
45
+ for (const warning of result.warnings)
46
+ lines.push(`${warning.code}: ${warning.message}`);
47
+ return lines;
48
+ }
49
+ }
50
+ //# sourceMappingURL=behavior-display.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior-display.service.js","sourceRoot":"","sources":["../../src/services/behavior-display.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { BrowserSession } from '@sonisoft/now-sdk-ext-core';
2
+ /** Persist browser state without exposing credentials through command output. */
3
+ export declare function writeBrowserSession(session: BrowserSession, output: string, force?: boolean): Promise<string>;
4
+ //# sourceMappingURL=browser-session-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-session-writer.d.ts","sourceRoot":"","sources":["../../src/services/browser-session-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAA;AAM9D,iFAAiF;AACjF,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCjH"}
@@ -0,0 +1,52 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { link, lstat, mkdir, open, rename, unlink } from 'node:fs/promises';
3
+ import { dirname, resolve } from 'node:path';
4
+ /** Persist browser state without exposing credentials through command output. */
5
+ export async function writeBrowserSession(session, output, force = false) {
6
+ const path = resolve(output);
7
+ const parent = dirname(path);
8
+ await mkdir(parent, { mode: 0o700, recursive: true });
9
+ try {
10
+ const existing = await lstat(path);
11
+ if (existing.isSymbolicLink() || !existing.isFile())
12
+ throw new Error('Auth output must be a regular file.');
13
+ if (!force)
14
+ throw new Error('Auth output exists. Use --force to replace it.');
15
+ }
16
+ catch (error) {
17
+ if (error.code !== 'ENOENT')
18
+ throw error;
19
+ }
20
+ const temporary = resolve(parent, '.auth-' + randomUUID());
21
+ try {
22
+ const handle = await open(temporary, 'wx', 0o600);
23
+ try {
24
+ await handle.writeFile(JSON.stringify(session.storageState));
25
+ await handle.sync();
26
+ }
27
+ finally {
28
+ await handle.close();
29
+ }
30
+ if (force) {
31
+ const current = await lstat(path).catch((error) => {
32
+ if (error.code === 'ENOENT')
33
+ return;
34
+ throw error;
35
+ });
36
+ if (current && (!current.isFile() || current.isSymbolicLink()))
37
+ throw new Error('Auth output must be a regular file.');
38
+ await rename(temporary, path);
39
+ }
40
+ else {
41
+ await link(temporary, path);
42
+ }
43
+ return path;
44
+ }
45
+ finally {
46
+ await unlink(temporary).catch((error) => {
47
+ if (error.code !== 'ENOENT')
48
+ throw error;
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=browser-session-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-session-writer.js","sourceRoot":"","sources":["../../src/services/browser-session-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,WAAW,CAAA;AAE1C,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAuB,EAAE,MAAc,EAAE,KAAK,GAAG,KAAK;IAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,KAAK,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAC3G,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAC/E,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAA;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,EAAE,CAAC,CAAA;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;YAC5D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACrB,CAAC;gBAAS,CAAC;YAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;QAElC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACzD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAM;gBAC9D,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;YACF,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YACtH,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/C,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import type { ActionDefinitionResult, FlowArtifactDefinitionResult, FlowContextDetailsResult, FlowLogResult } from '@sonisoft/now-sdk-ext-core';
2
2
  export interface FlowCopyResult {
3
- success: boolean;
4
- newFlowSysId?: string;
5
- errorMessage?: string;
6
3
  errorCode?: number;
4
+ errorMessage?: string;
5
+ newFlowSysId?: string;
6
+ success: boolean;
7
7
  }
8
8
  export interface FlowTestResult {
9
- success: boolean;
10
9
  contextId?: string;
10
+ errorMessage?: string;
11
11
  flowId?: string;
12
- state?: string;
13
12
  outputs?: Record<string, unknown>;
14
- errorMessage?: string;
13
+ state?: string;
14
+ success: boolean;
15
15
  }
16
16
  export declare class FlowDisplayService {
17
17
  /** Widest description the one-line summary will print before eliding. */
@@ -32,16 +32,16 @@ export declare class FlowDisplayService {
32
32
  * carries step scripts and input values, which do not belong on a terminal.
33
33
  */
34
34
  formatArtifactDefinitionResult(result: FlowArtifactDefinitionResult, jsonOutput: boolean): string[];
35
- formatCopyResult(result: FlowCopyResult, jsonOutput: boolean): string[];
36
35
  formatCancelResult(result: any, jsonOutput: boolean): string[];
36
+ formatCopyResult(result: FlowCopyResult, jsonOutput: boolean): string[];
37
+ formatDetailsResult(result: FlowContextDetailsResult, jsonOutput: boolean): string[];
37
38
  formatErrorResult(result: any, jsonOutput: boolean): string[];
38
39
  formatExecutionResult(result: any, jsonOutput: boolean): string[];
40
+ formatLogsResult(result: FlowLogResult, jsonOutput: boolean): string[];
39
41
  formatMessageResult(result: any, jsonOutput: boolean): string[];
40
42
  formatOutputsResult(result: any, jsonOutput: boolean): string[];
41
43
  formatStatusResult(result: any, jsonOutput: boolean): string[];
42
44
  formatTestResult(result: FlowTestResult, jsonOutput: boolean): string[];
43
- formatDetailsResult(result: FlowContextDetailsResult, jsonOutput: boolean): string[];
44
- formatLogsResult(result: FlowLogResult, jsonOutput: boolean): string[];
45
45
  private _artifactLabel;
46
46
  private _mapLogLevel;
47
47
  private _stateIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-display.service.d.ts","sourceRoot":"","sources":["../../src/services/flow-display.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/I,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,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAO;IAErD;;;;;OAKG;IACH,4BAA4B,CAAC,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoD3F;;;;;;;OAOG;IACH,8BAA8B,CAAC,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAiDnG,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,cAAc;IAatB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,UAAU;IAyBlB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
1
+ {"version":3,"file":"flow-display.service.d.ts","sourceRoot":"","sources":["../../src/services/flow-display.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/I,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,kBAAkB;IAC7B,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAO;IAErD;;;;;OAKG;IACH,4BAA4B,CAAC,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoD3F;;;;;;;OAOG;IACH,8BAA8B,CAAC,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAiDnG,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoB9D,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAoCvE,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAqGpF,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,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE;IAmCtE,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,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,UAAU;IAyBlB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}