@sonisoft/now-sdk-ext-cli 5.7.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,6 +19,8 @@ export declare class Exec extends AuthenticatedCommand<typeof Exec> {
19
19
  };
20
20
  run(): Promise<void>;
21
21
  private applyParameters;
22
+ /** The flags that pick this connection, for repeating on a suggested command. */
23
+ private connectionArgs;
22
24
  private executeFromFile;
23
25
  private executeScript;
24
26
  private startREPL;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAI5E,qBAAa,IAAK,SAAQ,oBAAoB,CAAC,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,IAAI;;;MAMV;IAED,MAAM,CAAC,YAAY;mBAEA;YAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;MASlE;IACH,MAAM,CAAC,WAAW,SA4CwD;IAC1E,MAAM,CAAC,QAAQ;;;QAyCZ;IACH,MAAM,CAAC,KAAK;;MAMT;IAIK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1B,OAAO,CAAC,eAAe;YAUT,eAAe;YAoBf,aAAa;YAyBb,SAAS;CA0HxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/exec/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAK5E,qBAAa,IAAK,SAAQ,oBAAoB,CAAC,OAAO,IAAI,CAAC;IAEzD,MAAM,CAAC,IAAI;;;MAMV;IAED,MAAM,CAAC,YAAY;mBAEA;YAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;MASlE;IACH,MAAM,CAAC,WAAW,SAgDwD;IAC1E,MAAM,CAAC,QAAQ;;;QAyCZ;IACH,MAAM,CAAC,KAAK;;MAMT;IAIK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1B,OAAO,CAAC,eAAe;IAUvB,iFAAiF;IACjF,OAAO,CAAC,cAAc;YAOR,eAAe;YA0Bf,aAAa;YAyBb,SAAS;CAiIxB"}
@@ -7,11 +7,12 @@ import path from 'node:path';
7
7
  import * as readline from 'node:readline';
8
8
  import { AuthenticatedCommand } from '../../common/authenticated-command.js';
9
9
  import { getCachedScopes } from '../../common/scope-autocomplete.js';
10
+ import { isScriptScopeError, scriptScopeSuggestions } from '../../common/script-scope-error.js';
10
11
  import { ScriptParameterService } from '../../services/script-parameter.service.js';
11
12
  export class Exec extends AuthenticatedCommand {
12
13
  static args = {
13
14
  scope: Args.string({
14
- description: 'Scope to execute script in. Use "global" for global scope.',
15
+ description: 'Scope to execute script in: "global", the scope of an application developed on the instance (sys_app), or a scope sys_id. Installed store apps cannot be used.',
15
16
  required: true
16
17
  }),
17
18
  file: Args.string({ description: 'File to execute in scripts background. If omitted, starts REPL mode.', required: false }),
@@ -53,6 +54,10 @@ export class Exec extends AuthenticatedCommand {
53
54
  ' • Multiple parameters supported\n' +
54
55
  ' • All occurrences of each placeholder are replaced\n' +
55
56
  ' • Example: {token}, {username}, {environment}\n\n' +
57
+ 'Scopes:\n' +
58
+ ' Scripts - Background runs in "global" or in an application developed on the instance (sys_app).\n' +
59
+ ' Installed store/repository apps (sys_store_app) cannot be used: run in global and call their\n' +
60
+ ' APIs fully qualified (e.g. sn_app.Util). An unusable scope fails before the script is sent.\n\n' +
56
61
  'REPL Controls:\n' +
57
62
  ' • Press Enter to add a new line\n' +
58
63
  ' • Type .exec or press Ctrl+D to execute the script\n' +
@@ -148,6 +153,13 @@ export class Exec extends AuthenticatedCommand {
148
153
  return script;
149
154
  }
150
155
  }
156
+ /** The flags that pick this connection, for repeating on a suggested command. */
157
+ connectionArgs() {
158
+ return [
159
+ this.flags.auth ? `--auth ${this.flags.auth}` : '',
160
+ this.flags['cred-store'] ? '--cred-store' : '',
161
+ ].filter(Boolean).join(' ');
162
+ }
151
163
  async executeFromFile(filePath, scope, params) {
152
164
  this.log(`Executing script from file: ${filePath}`);
153
165
  this.log(`Scope: ${scope}`);
@@ -163,6 +175,11 @@ export class Exec extends AuthenticatedCommand {
163
175
  }
164
176
  catch (error) {
165
177
  this._logger.error("Error occurred when executing background script from file.", error);
178
+ // The message already says what is wrong and what to do; the suggestions turn
179
+ // that into commands. The script was never sent to the instance.
180
+ if (isScriptScopeError(error)) {
181
+ this.error(error.message, { exit: 2, suggestions: scriptScopeSuggestions(error, this.connectionArgs()) });
182
+ }
166
183
  this.error(error);
167
184
  }
168
185
  }
@@ -228,6 +245,12 @@ export class Exec extends AuthenticatedCommand {
228
245
  this.log(`\n ${'─'.repeat(63)}`);
229
246
  this.log(` ✗ Script execution failed`);
230
247
  this.log(` Error: ${error.message}\n`);
248
+ if (isScriptScopeError(error)) {
249
+ for (const suggestion of scriptScopeSuggestions(error, this.connectionArgs())) {
250
+ this.log(` • ${suggestion}`);
251
+ }
252
+ this.log(` (Exit and restart the REPL with a different scope.)\n`);
253
+ }
231
254
  }
232
255
  scriptBuffer = [];
233
256
  lineCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/exec/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/exec/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-autocomplete.d.ts","sourceRoot":"","sources":["../../src/common/scope-autocomplete.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AA6BD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiEvG;AAQD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY3G"}
1
+ {"version":3,"file":"scope-autocomplete.d.ts","sourceRoot":"","sources":["../../src/common/scope-autocomplete.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AA6BD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmEvG;AAQD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY3G"}
@@ -42,12 +42,14 @@ export async function queryScopes(authAlias, prefix = '') {
42
42
  credential
43
43
  };
44
44
  const instance = new ServiceNowInstance(snSettings);
45
- // Query sys_scope table via REST API
46
- const url = `${instance.getHost()}/api/now/table/sys_scope`;
45
+ // Query sys_app, not sys_scope: Scripts - Background only runs in global or an
46
+ // application developed on the instance, so store apps would be offered only to be
47
+ // rejected. Global-scoped sys_apps are excluded — exec already offers "global".
48
+ const url = `${instance.getHost()}/api/now/table/sys_app`;
47
49
  const params = new URLSearchParams({
48
50
  sysparm_fields: 'scope,name',
49
51
  sysparm_limit: '50',
50
- sysparm_query: prefix ? `scopeSTARTSWITH${prefix}^ORnameSTARTSWITH${prefix}` : ''
52
+ sysparm_query: `scope!=global${prefix ? `^scopeSTARTSWITH${prefix}^ORnameSTARTSWITH${prefix}` : ''}`
51
53
  });
52
54
  const response = await fetch(`${url}?${params.toString()}`, {
53
55
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"scope-autocomplete.js","sourceRoot":"","sources":["../../src/common/scope-autocomplete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-autocomplete.js","sourceRoot":"","sources":["../../src/common/scope-autocomplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Recognising and explaining core's ScriptScopeError — thrown when a script is asked to
3
+ * run in a scope Scripts - Background cannot use (an installed store app, a name that
4
+ * matches nothing, …).
5
+ *
6
+ * Matched on `code` rather than imported from @sonisoft/now-sdk-ext-core: a named import
7
+ * of a symbol the installed core does not export fails the whole module at load time,
8
+ * and `code` is the contract core documents for recognising its errors across copies.
9
+ */
10
+ export declare const SCRIPT_SCOPE_ERROR_CODE = "NEX_SCRIPT_SCOPE_UNAVAILABLE";
11
+ export interface ScriptScopeErrorLike extends Error {
12
+ code: string;
13
+ /** The record the scope matched when it exists but cannot be used, e.g. a store app. */
14
+ foundAs?: {
15
+ name?: string;
16
+ scope?: string;
17
+ };
18
+ reason?: string;
19
+ remediation?: string;
20
+ /** The scope exactly as passed: a name, or a sys_id. */
21
+ scope?: string;
22
+ }
23
+ export declare function isScriptScopeError(error: unknown): error is ScriptScopeErrorLike;
24
+ /**
25
+ * Next steps a user or agent can act on directly, as `nex` commands.
26
+ *
27
+ * @param error the scope error to explain.
28
+ * @param connectionArgs flags to repeat on each suggested command (`--auth x --cred-store`),
29
+ * so the suggestion can be copied and run as-is.
30
+ */
31
+ export declare function scriptScopeSuggestions(error: ScriptScopeErrorLike, connectionArgs?: string): string[];
32
+ //# sourceMappingURL=script-scope-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-scope-error.d.ts","sourceRoot":"","sources":["../../src/common/script-scope-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,uBAAuB,iCAAiC,CAAA;AAErE,MAAM,WAAW,oBAAqB,SAAQ,KAAK;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,wFAAwF;IACxF,OAAO,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEhF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,cAAc,GAAE,MAAW,GAAG,MAAM,EAAE,CA4BzG"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Recognising and explaining core's ScriptScopeError — thrown when a script is asked to
3
+ * run in a scope Scripts - Background cannot use (an installed store app, a name that
4
+ * matches nothing, …).
5
+ *
6
+ * Matched on `code` rather than imported from @sonisoft/now-sdk-ext-core: a named import
7
+ * of a symbol the installed core does not export fails the whole module at load time,
8
+ * and `code` is the contract core documents for recognising its errors across copies.
9
+ */
10
+ export const SCRIPT_SCOPE_ERROR_CODE = 'NEX_SCRIPT_SCOPE_UNAVAILABLE';
11
+ export function isScriptScopeError(error) {
12
+ return error instanceof Error && error.code === SCRIPT_SCOPE_ERROR_CODE;
13
+ }
14
+ /**
15
+ * Next steps a user or agent can act on directly, as `nex` commands.
16
+ *
17
+ * @param error the scope error to explain.
18
+ * @param connectionArgs flags to repeat on each suggested command (`--auth x --cred-store`),
19
+ * so the suggestion can be copied and run as-is.
20
+ */
21
+ export function scriptScopeSuggestions(error, connectionArgs = '') {
22
+ const auth = connectionArgs.trim() ? ` ${connectionArgs.trim()}` : '';
23
+ // When a sys_id was passed, the record it matched supplies the scope name.
24
+ const passedSysId = /^[\dA-Fa-f]{32}$/.test(error.scope ?? '');
25
+ const scopeName = error.foundAs?.scope || (passedSysId ? '' : error.scope ?? '');
26
+ // Letters only: the fragment goes into a quoted encoded query.
27
+ const fragment = scopeName.replace(/^x_/, '').replaceAll(/[^A-Za-z0-9]/g, ' ').trim().split(/\s+/)[0];
28
+ const listScopes = `List the scopes scripts can run in: nex query -t sys_app -f scope,name` +
29
+ `${fragment ? ` -q 'scopeLIKE${fragment}'` : ''}${auth}`;
30
+ switch (error.reason) {
31
+ case 'INVALID_SCOPE_NAME':
32
+ case 'SCOPE_NOT_FOUND': {
33
+ return [listScopes, `Or run in global: nex exec global <file>${auth}`];
34
+ }
35
+ case 'NOT_A_DEVELOPED_APP': {
36
+ return [
37
+ `Run in global and call the app fully qualified, e.g. ${scopeName || '<scope>'}.MyScriptInclude: nex exec global <file>${auth}`,
38
+ listScopes,
39
+ ];
40
+ }
41
+ default: {
42
+ return [error.remediation ?? 'Check that this user can read sys_app and sys_scope, then retry.'];
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=script-scope-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-scope-error.js","sourceRoot":"","sources":["../../src/common/script-scope-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAA8B,CAAA;AAYrE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,KAAK,IAAK,KAA4B,CAAC,IAAI,KAAK,uBAAuB,CAAA;AACjG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA2B,EAAE,iBAAyB,EAAE;IAC7F,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,2EAA2E;IAC3E,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAChF,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrG,MAAM,UAAU,GACd,wEAAwE;QACxE,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAA;IAE1D,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,OAAO,CAAC,UAAU,EAAE,2CAA2C,IAAI,EAAE,CAAC,CAAA;QACxE,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,OAAO;gBACL,wDAAwD,SAAS,IAAI,SAAS,2CAA2C,IAAI,EAAE;gBAC/H,UAAU;aACX,CAAA;QACH,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,kEAAkE,CAAC,CAAA;QAClG,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -3160,7 +3160,7 @@
3160
3160
  "aliases": [],
3161
3161
  "args": {
3162
3162
  "scope": {
3163
- "description": "Scope to execute script in. Use \"global\" for global scope.",
3163
+ "description": "Scope to execute script in: \"global\", the scope of an application developed on the instance (sys_app), or a scope sys_id. Installed store apps cannot be used.",
3164
3164
  "name": "scope",
3165
3165
  "required": true
3166
3166
  },
@@ -3170,7 +3170,7 @@
3170
3170
  "required": false
3171
3171
  }
3172
3172
  },
3173
- "description": "Execute JavaScript on a ServiceNow instance remotely using Scripts - Background.\n\nThis command allows you to run JavaScript either from files or interactively via REPL mode. It mimics the functionality of the Scripts - Background interface in ServiceNow, providing a way to execute scripts programmatically without manual interaction. The output is returned in real-time and can be piped to other commands or saved to files.\n\nModes:\n • File Mode: Provide a file path to execute scripts from a file\n • REPL Mode: Omit the file path to start an interactive session\n\nFeatures:\n • Execute local JavaScript files remotely\n • Interactive REPL for ad-hoc script execution\n • Script parameterization with {placeholder} replacement\n • Multi-line script support in REPL\n • Scope-aware execution (global or custom scope)\n • Real-time console output capture\n • Pipe-able output for command chaining\n • Debug logging support\n • Useful for data migration, testing, and administrative tasks\n\nScript Parameterization:\n Use {paramName} placeholders in your script files, then provide values via --params:\n • Supports any JSON-serializable values (strings, numbers, booleans)\n • Multiple parameters supported\n • All occurrences of each placeholder are replaced\n • Example: {token}, {username}, {environment}\n\nREPL Controls:\n • Press Enter to add a new line\n • Type .exec or press Ctrl+D to execute the script\n • Type .clear to clear the current input\n • Type .exit or press Ctrl+C twice to exit REPL\n\n⚠️ IMPORTANT SECURITY WARNING:\nThis command executes scripts with the same permissions and risks as using Scripts - Background directly\nin ServiceNow. Always:\n • Review scripts before execution\n • Test in non-production environments first\n • Use appropriate scoping to limit access\n • Be aware of data modification risks\n • Follow your organization's security policies\n • Never execute untrusted scripts\n\nScript Capabilities:\n Scripts run with full GlideSystem API access and can:\n • Query and modify database records\n • Create, update, and delete data\n • Execute business rules and workflows\n • Access all APIs available in Scripts - Background\n • Use gs, GlideRecord, GlideAggregate, and other server-side APIs",
3173
+ "description": "Execute JavaScript on a ServiceNow instance remotely using Scripts - Background.\n\nThis command allows you to run JavaScript either from files or interactively via REPL mode. It mimics the functionality of the Scripts - Background interface in ServiceNow, providing a way to execute scripts programmatically without manual interaction. The output is returned in real-time and can be piped to other commands or saved to files.\n\nModes:\n • File Mode: Provide a file path to execute scripts from a file\n • REPL Mode: Omit the file path to start an interactive session\n\nFeatures:\n • Execute local JavaScript files remotely\n • Interactive REPL for ad-hoc script execution\n • Script parameterization with {placeholder} replacement\n • Multi-line script support in REPL\n • Scope-aware execution (global or custom scope)\n • Real-time console output capture\n • Pipe-able output for command chaining\n • Debug logging support\n • Useful for data migration, testing, and administrative tasks\n\nScript Parameterization:\n Use {paramName} placeholders in your script files, then provide values via --params:\n • Supports any JSON-serializable values (strings, numbers, booleans)\n • Multiple parameters supported\n • All occurrences of each placeholder are replaced\n • Example: {token}, {username}, {environment}\n\nScopes:\n Scripts - Background runs in \"global\" or in an application developed on the instance (sys_app).\n Installed store/repository apps (sys_store_app) cannot be used: run in global and call their\n APIs fully qualified (e.g. sn_app.Util). An unusable scope fails before the script is sent.\n\nREPL Controls:\n • Press Enter to add a new line\n • Type .exec or press Ctrl+D to execute the script\n • Type .clear to clear the current input\n • Type .exit or press Ctrl+C twice to exit REPL\n\n⚠️ IMPORTANT SECURITY WARNING:\nThis command executes scripts with the same permissions and risks as using Scripts - Background directly\nin ServiceNow. Always:\n • Review scripts before execution\n • Test in non-production environments first\n • Use appropriate scoping to limit access\n • Be aware of data modification risks\n • Follow your organization's security policies\n • Never execute untrusted scripts\n\nScript Capabilities:\n Scripts run with full GlideSystem API access and can:\n • Query and modify database records\n • Create, update, and delete data\n • Execute business rules and workflows\n • Access all APIs available in Scripts - Background\n • Use gs, GlideRecord, GlideAggregate, and other server-side APIs",
3174
3174
  "examples": [
3175
3175
  {
3176
3176
  "description": "Start REPL in global scope",
@@ -5227,172 +5227,6 @@
5227
5227
  "test.js"
5228
5228
  ]
5229
5229
  },
5230
- "health:check": {
5231
- "aliases": [],
5232
- "args": {},
5233
- "description": "Run a consolidated health check on a ServiceNow instance.\n\nPerforms comprehensive diagnostics including version info, cluster status, stuck job detection, semaphore counts, and operational record counts.\n\nFeatures:\n • Instance version and build information\n • Cluster node status\n • Stuck job detection with configurable threshold\n • Active semaphore count\n • Operational counts (incidents, changes, problems)\n • Color-coded status indicators\n • JSON output for CI/CD monitoring",
5234
- "examples": [
5235
- {
5236
- "description": "Run full health check",
5237
- "command": "<%= config.bin %> <%= command.id %> --auth dev"
5238
- },
5239
- {
5240
- "description": "Check only version and stuck jobs",
5241
- "command": "<%= config.bin %> <%= command.id %> --include-version --include-stuck-jobs --no-include-cluster --no-include-semaphores --no-include-operational-counts --auth dev"
5242
- },
5243
- {
5244
- "description": "Health check with custom stuck job threshold",
5245
- "command": "<%= config.bin %> <%= command.id %> --stuck-job-threshold 60 --auth dev"
5246
- },
5247
- {
5248
- "description": "Health check as JSON",
5249
- "command": "<%= config.bin %> <%= command.id %> --json --auth dev"
5250
- }
5251
- ],
5252
- "flags": {
5253
- "json": {
5254
- "char": "j",
5255
- "description": "Output results as JSON",
5256
- "name": "json",
5257
- "required": false,
5258
- "allowNo": false,
5259
- "type": "boolean"
5260
- },
5261
- "auth": {
5262
- "char": "a",
5263
- "description": "Auth alias to use.",
5264
- "name": "auth",
5265
- "required": false,
5266
- "hasDynamicHelp": false,
5267
- "multiple": false,
5268
- "type": "option"
5269
- },
5270
- "cred-store": {
5271
- "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
5272
- "helpGroup": "GLOBAL",
5273
- "name": "cred-store",
5274
- "required": false,
5275
- "allowNo": false,
5276
- "type": "boolean"
5277
- },
5278
- "deny-execute": {
5279
- "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
5280
- "helpGroup": "GLOBAL",
5281
- "name": "deny-execute",
5282
- "required": false,
5283
- "allowNo": false,
5284
- "type": "boolean"
5285
- },
5286
- "deny-write": {
5287
- "description": "Refuse any change to instance data for this invocation.",
5288
- "helpGroup": "GLOBAL",
5289
- "name": "deny-write",
5290
- "required": false,
5291
- "allowNo": false,
5292
- "type": "boolean"
5293
- },
5294
- "log-dir": {
5295
- "description": "Directory to write log files to. Implies --log-file.",
5296
- "helpGroup": "GLOBAL",
5297
- "name": "log-dir",
5298
- "required": false,
5299
- "hasDynamicHelp": false,
5300
- "multiple": false,
5301
- "type": "option"
5302
- },
5303
- "log-file": {
5304
- "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
5305
- "helpGroup": "GLOBAL",
5306
- "name": "log-file",
5307
- "required": false,
5308
- "allowNo": false,
5309
- "type": "boolean"
5310
- },
5311
- "log-level": {
5312
- "helpGroup": "GLOBAL",
5313
- "name": "log-level",
5314
- "summary": "Specify level for logging.",
5315
- "default": "info",
5316
- "hasDynamicHelp": false,
5317
- "multiple": false,
5318
- "options": [
5319
- "debug",
5320
- "warn",
5321
- "error",
5322
- "info",
5323
- "trace"
5324
- ],
5325
- "type": "option"
5326
- },
5327
- "read-only": {
5328
- "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
5329
- "helpGroup": "GLOBAL",
5330
- "name": "read-only",
5331
- "required": false,
5332
- "allowNo": false,
5333
- "type": "boolean"
5334
- },
5335
- "include-version": {
5336
- "description": "Include instance version information",
5337
- "name": "include-version",
5338
- "required": false,
5339
- "allowNo": true,
5340
- "type": "boolean"
5341
- },
5342
- "include-cluster": {
5343
- "description": "Include cluster node status",
5344
- "name": "include-cluster",
5345
- "required": false,
5346
- "allowNo": true,
5347
- "type": "boolean"
5348
- },
5349
- "include-stuck-jobs": {
5350
- "description": "Include stuck job detection",
5351
- "name": "include-stuck-jobs",
5352
- "required": false,
5353
- "allowNo": true,
5354
- "type": "boolean"
5355
- },
5356
- "include-semaphores": {
5357
- "description": "Include active semaphore count",
5358
- "name": "include-semaphores",
5359
- "required": false,
5360
- "allowNo": true,
5361
- "type": "boolean"
5362
- },
5363
- "include-operational-counts": {
5364
- "description": "Include operational record counts (incidents, changes, problems)",
5365
- "name": "include-operational-counts",
5366
- "required": false,
5367
- "allowNo": true,
5368
- "type": "boolean"
5369
- },
5370
- "stuck-job-threshold": {
5371
- "description": "Minutes threshold for a job to be considered stuck",
5372
- "name": "stuck-job-threshold",
5373
- "required": false,
5374
- "default": 30,
5375
- "hasDynamicHelp": false,
5376
- "multiple": false,
5377
- "type": "option"
5378
- }
5379
- },
5380
- "hasDynamicHelp": false,
5381
- "hiddenAliases": [],
5382
- "id": "health:check",
5383
- "pluginAlias": "@sonisoft/now-sdk-ext-cli",
5384
- "pluginName": "@sonisoft/now-sdk-ext-cli",
5385
- "pluginType": "core",
5386
- "strict": true,
5387
- "enableJsonFlag": true,
5388
- "isESM": true,
5389
- "relativePath": [
5390
- "dist",
5391
- "commands",
5392
- "health",
5393
- "check.js"
5394
- ]
5395
- },
5396
5230
  "log": {
5397
5231
  "aliases": [],
5398
5232
  "args": {},
@@ -10864,7 +10698,173 @@
10864
10698
  "xml",
10865
10699
  "import.js"
10866
10700
  ]
10701
+ },
10702
+ "health:check": {
10703
+ "aliases": [],
10704
+ "args": {},
10705
+ "description": "Run a consolidated health check on a ServiceNow instance.\n\nPerforms comprehensive diagnostics including version info, cluster status, stuck job detection, semaphore counts, and operational record counts.\n\nFeatures:\n • Instance version and build information\n • Cluster node status\n • Stuck job detection with configurable threshold\n • Active semaphore count\n • Operational counts (incidents, changes, problems)\n • Color-coded status indicators\n • JSON output for CI/CD monitoring",
10706
+ "examples": [
10707
+ {
10708
+ "description": "Run full health check",
10709
+ "command": "<%= config.bin %> <%= command.id %> --auth dev"
10710
+ },
10711
+ {
10712
+ "description": "Check only version and stuck jobs",
10713
+ "command": "<%= config.bin %> <%= command.id %> --include-version --include-stuck-jobs --no-include-cluster --no-include-semaphores --no-include-operational-counts --auth dev"
10714
+ },
10715
+ {
10716
+ "description": "Health check with custom stuck job threshold",
10717
+ "command": "<%= config.bin %> <%= command.id %> --stuck-job-threshold 60 --auth dev"
10718
+ },
10719
+ {
10720
+ "description": "Health check as JSON",
10721
+ "command": "<%= config.bin %> <%= command.id %> --json --auth dev"
10722
+ }
10723
+ ],
10724
+ "flags": {
10725
+ "json": {
10726
+ "char": "j",
10727
+ "description": "Output results as JSON",
10728
+ "name": "json",
10729
+ "required": false,
10730
+ "allowNo": false,
10731
+ "type": "boolean"
10732
+ },
10733
+ "auth": {
10734
+ "char": "a",
10735
+ "description": "Auth alias to use.",
10736
+ "name": "auth",
10737
+ "required": false,
10738
+ "hasDynamicHelp": false,
10739
+ "multiple": false,
10740
+ "type": "option"
10741
+ },
10742
+ "cred-store": {
10743
+ "description": "Read credentials from @sonisoft/sn-credstore instead of the OS keyring. Use this in headless sessions (SSH, systemd, CI, agents) where the keyring cannot be unlocked.",
10744
+ "helpGroup": "GLOBAL",
10745
+ "name": "cred-store",
10746
+ "required": false,
10747
+ "allowNo": false,
10748
+ "type": "boolean"
10749
+ },
10750
+ "deny-execute": {
10751
+ "description": "Refuse background scripts, flow runs and ATF runs for this invocation.",
10752
+ "helpGroup": "GLOBAL",
10753
+ "name": "deny-execute",
10754
+ "required": false,
10755
+ "allowNo": false,
10756
+ "type": "boolean"
10757
+ },
10758
+ "deny-write": {
10759
+ "description": "Refuse any change to instance data for this invocation.",
10760
+ "helpGroup": "GLOBAL",
10761
+ "name": "deny-write",
10762
+ "required": false,
10763
+ "allowNo": false,
10764
+ "type": "boolean"
10765
+ },
10766
+ "log-dir": {
10767
+ "description": "Directory to write log files to. Implies --log-file.",
10768
+ "helpGroup": "GLOBAL",
10769
+ "name": "log-dir",
10770
+ "required": false,
10771
+ "hasDynamicHelp": false,
10772
+ "multiple": false,
10773
+ "type": "option"
10774
+ },
10775
+ "log-file": {
10776
+ "description": "Write logs to a file. Defaults to $XDG_STATE_HOME/now-sdk-ext/logs (~/.local/state/now-sdk-ext/logs). Off by default; without this, nex logs warnings and errors to stderr only.",
10777
+ "helpGroup": "GLOBAL",
10778
+ "name": "log-file",
10779
+ "required": false,
10780
+ "allowNo": false,
10781
+ "type": "boolean"
10782
+ },
10783
+ "log-level": {
10784
+ "helpGroup": "GLOBAL",
10785
+ "name": "log-level",
10786
+ "summary": "Specify level for logging.",
10787
+ "default": "info",
10788
+ "hasDynamicHelp": false,
10789
+ "multiple": false,
10790
+ "options": [
10791
+ "debug",
10792
+ "warn",
10793
+ "error",
10794
+ "info",
10795
+ "trace"
10796
+ ],
10797
+ "type": "option"
10798
+ },
10799
+ "read-only": {
10800
+ "description": "Refuse every change to the instance — equivalent to --deny-write --deny-execute. Reads are unaffected.",
10801
+ "helpGroup": "GLOBAL",
10802
+ "name": "read-only",
10803
+ "required": false,
10804
+ "allowNo": false,
10805
+ "type": "boolean"
10806
+ },
10807
+ "include-version": {
10808
+ "description": "Include instance version information",
10809
+ "name": "include-version",
10810
+ "required": false,
10811
+ "allowNo": true,
10812
+ "type": "boolean"
10813
+ },
10814
+ "include-cluster": {
10815
+ "description": "Include cluster node status",
10816
+ "name": "include-cluster",
10817
+ "required": false,
10818
+ "allowNo": true,
10819
+ "type": "boolean"
10820
+ },
10821
+ "include-stuck-jobs": {
10822
+ "description": "Include stuck job detection",
10823
+ "name": "include-stuck-jobs",
10824
+ "required": false,
10825
+ "allowNo": true,
10826
+ "type": "boolean"
10827
+ },
10828
+ "include-semaphores": {
10829
+ "description": "Include active semaphore count",
10830
+ "name": "include-semaphores",
10831
+ "required": false,
10832
+ "allowNo": true,
10833
+ "type": "boolean"
10834
+ },
10835
+ "include-operational-counts": {
10836
+ "description": "Include operational record counts (incidents, changes, problems)",
10837
+ "name": "include-operational-counts",
10838
+ "required": false,
10839
+ "allowNo": true,
10840
+ "type": "boolean"
10841
+ },
10842
+ "stuck-job-threshold": {
10843
+ "description": "Minutes threshold for a job to be considered stuck",
10844
+ "name": "stuck-job-threshold",
10845
+ "required": false,
10846
+ "default": 30,
10847
+ "hasDynamicHelp": false,
10848
+ "multiple": false,
10849
+ "type": "option"
10850
+ }
10851
+ },
10852
+ "hasDynamicHelp": false,
10853
+ "hiddenAliases": [],
10854
+ "id": "health:check",
10855
+ "pluginAlias": "@sonisoft/now-sdk-ext-cli",
10856
+ "pluginName": "@sonisoft/now-sdk-ext-cli",
10857
+ "pluginType": "core",
10858
+ "strict": true,
10859
+ "enableJsonFlag": true,
10860
+ "isESM": true,
10861
+ "relativePath": [
10862
+ "dist",
10863
+ "commands",
10864
+ "health",
10865
+ "check.js"
10866
+ ]
10867
10867
  }
10868
10868
  },
10869
- "version": "5.7.0"
10869
+ "version": "5.7.1"
10870
10870
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-cli",
3
3
  "description": "A CLI extending the functionality of the ServiceNow SDK.",
4
- "version": "5.7.0",
4
+ "version": "5.7.1",
5
5
  "author": "Chris Nanda",
6
6
  "bin": {
7
7
  "nex": "./bin/run.js"
@@ -17,8 +17,8 @@
17
17
  "@servicenow/sdk-cli": "4.9.2",
18
18
  "@servicenow/sdk-cli-core": "3.0.3",
19
19
  "@servicenow/sdk-core": "4.9.2",
20
- "@sonisoft/now-sdk-ext-core": "^6.6.0",
21
- "@sonisoft/sn-credstore": "^1.2.1",
20
+ "@sonisoft/now-sdk-ext-core": "^6.6.2",
21
+ "@sonisoft/sn-credstore": "^1.4.0",
22
22
  "@ts-morph/common": "^0.29.0",
23
23
  "chalk": "^4.1.2",
24
24
  "cometd": "^9.0.1",