@sonisoft/now-sdk-ext-core 6.4.1 → 6.5.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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@sonisoft/now-sdk-ext-core.svg)](https://www.npmjs.com/package/@sonisoft/now-sdk-ext-core)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
- [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org)
5
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D26.0.0-brightgreen)](https://nodejs.org)
6
6
 
7
7
  A comprehensive TypeScript library that extends the ServiceNow SDK with powerful features for application management, automated testing, log monitoring, and more. Perfect for CI/CD pipelines, development automation, and DevOps workflows.
8
8
 
@@ -40,7 +40,7 @@ npm install @sonisoft/now-sdk-ext-core
40
40
 
41
41
  ### Prerequisites
42
42
 
43
- - Node.js 18.x or higher
43
+ - Node.js 26.x or higher
44
44
  - ServiceNow CLI configured with instance credentials
45
45
  - TypeScript 5.x or higher (optional, for TypeScript projects)
46
46
 
@@ -51,7 +51,7 @@ npm install @sonisoft/now-sdk-ext-core
51
51
  npm install -g @servicenow/sdk
52
52
 
53
53
  # Configure your instance credentials
54
- snc configure profile set
54
+ now-sdk auth --add https://dev12345.service-now.com --alias dev --type oauth
55
55
  ```
56
56
 
57
57
  ## ⚠️ Breaking Change — v3.0.0 (ServiceNow SDK 4.3.0)
@@ -70,9 +70,7 @@ snc configure profile set
70
70
  > npm install -g @servicenow/sdk@4.3.0
71
71
  >
72
72
  > # 2. Re-add each instance alias
73
- > snc configure profile set
74
- > # — or —
75
- > npx @servicenow/sdk auth --add <your-alias>
73
+ > npx @servicenow/sdk auth --add https://dev12345.service-now.com --alias dev --type oauth
76
74
  >
77
75
  > # 3. Verify your aliases work
78
76
  > npx @servicenow/sdk auth --list
@@ -98,6 +96,97 @@ const instance = new ServiceNowInstance({
98
96
  });
99
97
  ```
100
98
 
99
+ ### Inspect Table Behavior
100
+
101
+ Use `SchemaDiscovery` for fields, choices and references, and `TableBehaviorDiscovery` for the configuration that can affect a record. Table behavior discovery is available from core **6.4.0**; **6.4.1** also fixes file-log flushing during shutdown. The same API powers [`nex behavior`](https://github.com/sonisoft-cnanda/now-sdk-ext-cli#table-behavior-discovery) and the [MCP behavior tools](https://github.com/sonisoft-cnanda/now-sdk-ext-mcp#table-behavior-discovery).
102
+
103
+ Using the authenticated `instance` from the connection example:
104
+
105
+ ```typescript
106
+ import { TableBehaviorDiscovery } from '@sonisoft/now-sdk-ext-core';
107
+
108
+ const behavior = new TableBehaviorDiscovery(instance);
109
+ const inventory = await behavior.discoverTableBehavior('change_request');
110
+
111
+ for (const section of inventory.categories) {
112
+ console.log(section.category, section.status, section.items.length);
113
+ }
114
+ ```
115
+
116
+ The eight categories expose different sources of functional requirements:
117
+
118
+ | Category | Configuration to inspect |
119
+ | --- | --- |
120
+ | `business_rules` | Before/after/async timing, operation flags, order, conditions and optional scripts (`sys_script`) |
121
+ | `ui_actions` | Form/list/workspace placement, visibility conditions, roles and optional scripts (`sys_ui_action`) |
122
+ | `client_scripts` | Client event type, target field, view and inherited applicability (`sys_script_client`) |
123
+ | `ui_policies` | Conditions and field actions such as mandatory, visible and read-only (`sys_ui_policy`, `sys_ui_policy_action`) |
124
+ | `data_policies` | Server field requirements and enforcement settings (`sys_data_policy2`, `sys_data_policy_rule`) |
125
+ | `workflows` | Legacy workflow versions, start conditions and optional activity/transition definitions (`wf_workflow_version`) |
126
+ | `flows` | Record triggers, operation/condition settings and optional current flow definitions (`sys_flow_record_trigger`, `sys_hub_flow`) |
127
+ | `state_models` | State fields, transition conditions and required-field records in supported generic state-model layouts |
128
+
129
+ Request detail immediately when you already know what you need:
130
+
131
+ ```typescript
132
+ const automation = await behavior.discoverTableBehavior('change_request', {
133
+ categories: ['business_rules', 'flows', 'state_models'],
134
+ details: ['scripts', 'definitions', 'dependencies'],
135
+ dependencyDepth: 1,
136
+ maxBytes: 262144,
137
+ });
138
+ ```
139
+
140
+ Or retrieve up to 50 known references without repeating discovery. References retain their `kind`, `sourceTable` and `sysId`:
141
+
142
+ ```typescript
143
+ const references = inventory.categories
144
+ .flatMap(section => section.items.map(item => item.reference))
145
+ .slice(0, 50);
146
+
147
+ if (references.length > 0) {
148
+ const details = await behavior.getBehaviorDetails(references, {
149
+ details: ['scripts', 'definitions', 'dependencies'],
150
+ dependencyDepth: 1,
151
+ maxBytes: 262144,
152
+ });
153
+ console.log(details.items, details.remainingReferences);
154
+ }
155
+ ```
156
+
157
+ Direct detail calls also accept known flows (`kind: 'flows'`, `sourceTable: 'sys_hub_flow'`), subflows, actions, Script Includes and decision tables. Use source IDs from your instance; a discovery flow reference can identify its trigger record rather than the flow itself.
158
+
159
+ **Defaults and output controls:**
160
+
161
+ - Active configuration and applicable ancestors are included. Use `includeInherited: false` for direct table associations, or `includeInactive: true` for inactive/draft candidates where available.
162
+ - All eight categories, 50 items per category (maximum 200), and a 65,536-byte JSON budget. `maxBytes` accepts 4,096–1,048,576 bytes.
163
+ - Summaries include conditions and declarative field actions. Script bodies, full definitions and dependencies are opt-in through `details`. `dependencyDepth: 1` requires `dependencies` and expands at most 50 unique dependency references.
164
+ - Filter with `categories`, metadata `name`, or up to 50 `sysIds`. `scope` selects the transaction scope for flow definition reads.
165
+
166
+ Follow each category's `nextCursor` with the same table and filters:
167
+
168
+ ```typescript
169
+ const rulePage = await behavior.discoverTableBehavior('change_request', {
170
+ categories: ['business_rules'],
171
+ });
172
+ const nextCursor = rulePage.categories[0]?.nextCursor;
173
+ if (nextCursor) {
174
+ const nextPage = await behavior.discoverTableBehavior('change_request', {
175
+ categories: ['business_rules'],
176
+ cursors: { business_rules: nextCursor },
177
+ });
178
+ console.log(nextPage.categories);
179
+ }
180
+ ```
181
+
182
+ Inspect category `status`, warnings, item `omittedDetails` and detail-batch `remainingReferences`. Large scripts/definitions are omitted whole; retry narrower batches or increase the byte budget. An empty page can still have a continuation. If even continuation/failure metadata exceeds the budget, the call fails with recovery instructions.
183
+
184
+ For **Change Management ATF planning**, combine schema fields/choices with UI/data-policy requirements, business-rule conditions, flow triggers and state-transition gates. Retrieve the relevant scripts/definitions, then use those requirements to choose test setup data, roles, transitions and assertions. Client mandatory fields and server enforcement remain separate requirements.
185
+
186
+ Results describe `accessible_configuration`: account permissions, domain visibility and available metadata limit what can be read. Conditions and scripts are never evaluated, and discovery does not predict execution order across automation types. Runtime flow triggers and current design-time definitions have separate provenance; current definitions may differ from the version that executed. Script-started or non-record-triggered automation is not automatically inferred as a table association.
187
+
188
+ Live validation covered **Australia** on `dev206299`; **Zurich** remains unverified. See the [Table Behavior guide](docs/TableBehaviorDiscovery.md) for source layouts, compatibility limits, dependency resolution and pagination details.
189
+
101
190
  ### Real-Time Log Monitoring
102
191
 
103
192
  ```typescript
@@ -470,6 +559,9 @@ console.log('Return value:', result.result);
470
559
 
471
560
  - **`CodeSearch`** - Search across platform code by term, app, or table
472
561
  - **`SchemaDiscovery`** - Discover table schemas, explain fields, validate catalog items
562
+ - **`TableBehaviorDiscovery`** - Read table automation, policy requirements and state gates; retrieve scripts, definitions and bounded dependencies in batches
563
+ - **`BEHAVIOR_CATEGORIES`, `BehaviorReference`, `TableBehaviorOptions`, `BehaviorDetailOptions`** - Category constants and typed inputs shared by consumers
564
+ - **`TableBehaviorResult`, `BehaviorDetailsResult`** - Configuration, provenance, warnings and continuation metadata
473
565
 
474
566
  ### Data Operations
475
567
 
@@ -641,6 +733,7 @@ Comprehensive documentation is available in the `/docs` directory:
641
733
  **Code, Schema & Search:**
642
734
  - **[Code Search](./docs/CodeSearch.md)** - Platform code search
643
735
  - **[Schema Discovery](./docs/SchemaDiscovery.md)** - Table schema and field discovery
736
+ - **[Table Behavior Discovery](./docs/TableBehaviorDiscovery.md)** - Rules, UI/client behavior, policies, workflows, flow triggers and state models
644
737
 
645
738
  **Data Operations:**
646
739
  - **[Attachment Manager](./docs/AttachmentManager.md)** - File attachment operations
@@ -690,8 +783,8 @@ logger.info('Application started');
690
783
  logger.error('Error occurred', { details: errorObj });
691
784
  ```
692
785
 
693
- Credential material is stripped from both metadata and the message text before anything
694
- is written, so passing a whole request config or session object is safe.
786
+ Named credential fields and recognized token patterns are redacted in metadata and
787
+ message text. Pass structured metadata and avoid interpolating secrets into messages.
695
788
 
696
789
  #### Turning on file logging
697
790
 
@@ -711,6 +804,8 @@ configureLogging({
711
804
  await flushLogs();
712
805
  ```
713
806
 
807
+ `flushLogs()` waits for the underlying file output to finish within a bounded timeout before returning. Await it before an explicit process exit; existing `Logger` instances remain usable after a flush.
808
+
714
809
  Equivalent environment variables, honoured with no code change — this is how the MCP
715
810
  server is configured, since it has no flags:
716
811
 
@@ -862,3 +957,53 @@ For issues, questions, or contributions:
862
957
  ---
863
958
 
864
959
  **Made with ❤️ for the ServiceNow Developer Community**
960
+
961
+ ## Browser sessions and automatic renewal
962
+
963
+ `createBrowserSession({alias})` resolves a stored SDK alias, refreshes OAuth through
964
+ the SDK, and returns `{alias, instanceUrl, createdAt, oauthExpiresAt, storageState}`.
965
+ `createdAt` is milliseconds; `oauthExpiresAt` is UNIX seconds and only a renewal hint.
966
+ `storageState` is secret and directly compatible with Playwright:
967
+
968
+ ```ts
969
+ const store = await initCredentialStore();
970
+ if (!store.active) throw new Error('Headless credential storage is required');
971
+ const session = await createBrowserSession({alias: 'dev206299'});
972
+ const context = await browser.newContext({storageState: session.storageState});
973
+ ```
974
+
975
+ Check `initCredentialStore().active` when the application requires the headless
976
+ backend. Imports alone never install the shim. Keep session state out of logs and
977
+ source control. A saved state file does not renew itself.
978
+
979
+ When upgrading a shared store, stop all clients first, upgrade every client
980
+ (including standalone `now-sdk-x`) to sn-credstore 1.1.1 or later, then restart.
981
+ The new lock protocol cannot safely run alongside older clients.
982
+
983
+ Long-running embedders can supply a `credentialProvider` in
984
+ `ServiceNowSettingsInstance`:
985
+
986
+ ```ts
987
+ const credentialProvider = () => resolveSessionCredentials('dev206299');
988
+ const instance = new ServiceNowInstance({
989
+ alias: 'dev206299',
990
+ credentialProvider,
991
+ });
992
+ ```
993
+
994
+ An initial `credential` is optional. When supplied, its origin constrains the first
995
+ provider result. Otherwise, the first successful login establishes the origin;
996
+ renewal cannot change it, even if a provider reuses a mutable credential object.
997
+
998
+ Requests renew credentials/session cookies before expiry. An authentication failure
999
+ can retry an ordinary read once; writes and stateful workflows are never replayed.
1000
+ Impersonation/debugger sessions are pinned and report expiry rather than silently
1001
+ losing workflow state. A provider resolving to a different origin is refused.
1002
+ Pinning lasts for the handler's lifetime, including after stopping impersonation
1003
+ or debugging. At a safe workflow boundary, create a new `ServiceNowInstance` to
1004
+ start a fresh session. Reusing the same alias on that new instance is supported.
1005
+
1006
+ `SessionAuthError.code` distinguishes invalid configuration, changed origin,
1007
+ temporary renewal failure, session expiry, and rejected OAuth renewal requiring login.
1008
+ Inspect the code structurally across package copies. Alias-based helpers reject SDK
1009
+ environment credentials that would silently override the alias.
@@ -0,0 +1,30 @@
1
+ import type { UserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
2
+ import { SessionCredentials } from './CredentialProvider.js';
3
+ /** Standard Playwright cookie representation, with no Playwright runtime dependency. */
4
+ export interface BrowserCookie {
5
+ name: string;
6
+ value: string;
7
+ domain: string;
8
+ path: string;
9
+ expires: number;
10
+ httpOnly: boolean;
11
+ secure: boolean;
12
+ sameSite: 'Strict' | 'Lax' | 'None';
13
+ }
14
+ /** Secret browser state: pass in memory or save to an owner-only file, never log it. */
15
+ export interface BrowserSession {
16
+ alias: string;
17
+ instanceUrl: string;
18
+ createdAt: number;
19
+ oauthExpiresAt?: number;
20
+ storageState: {
21
+ cookies: BrowserCookie[];
22
+ origins: [];
23
+ };
24
+ }
25
+ /** Establish SDK cookies and prove they authenticate without the OAuth bearer token. */
26
+ export declare function verifiedUserSession(credentials: SessionCredentials): Promise<UserSession>;
27
+ /** Create a fresh, verified Playwright session using an existing SDK alias. */
28
+ export declare function createBrowserSession(options: {
29
+ alias: string;
30
+ }): Promise<BrowserSession>;
@@ -0,0 +1,79 @@
1
+ import { getUserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
2
+ import { resolveSessionCredentials } from './CredentialProvider.js';
3
+ import { SessionAuthError } from './SessionAuthError.js';
4
+ import { Cookie } from 'tough-cookie';
5
+ /** Establish SDK cookies and prove they authenticate without the OAuth bearer token. */
6
+ export async function verifiedUserSession(credentials) {
7
+ const origin = new URL(credentials.instanceUrl);
8
+ if (origin.protocol !== 'https:' || origin.username || origin.password) {
9
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'Browser sessions require an HTTPS instance URL without embedded credentials.');
10
+ }
11
+ try {
12
+ const session = await getUserSession(credentials);
13
+ if (!session?.cookie)
14
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'The SDK did not create a cookie session.');
15
+ for (let attempt = 0; attempt < 2; attempt++) {
16
+ const response = await fetch(new URL('/angular.do?sysparm_type=get_user', origin), {
17
+ method: 'POST',
18
+ headers: {
19
+ 'Content-Type': 'application/x-www-form-urlencoded',
20
+ Cookie: session.cookie.getCookieStringSync(origin.href),
21
+ ...(session.userToken ? { 'X-UserToken': session.userToken } : {}),
22
+ },
23
+ redirect: 'manual',
24
+ signal: AbortSignal.timeout(30_000),
25
+ });
26
+ for (const cookie of response.headers.getSetCookie())
27
+ session.cookie.setCookieSync(cookie, origin.href);
28
+ const csrf = response.headers.get('x-usertoken-response');
29
+ if (response.status === 401 && csrf && attempt === 0) {
30
+ session.userToken = csrf;
31
+ continue;
32
+ }
33
+ if (response.ok) {
34
+ const body = await response.json();
35
+ const user = body && typeof body === 'object' ? body.result ?? body : undefined;
36
+ const record = user && typeof user === 'object' ? user : undefined;
37
+ const id = record?.userID ?? record?.user_id;
38
+ const name = record?.userName ?? record?.user_name;
39
+ if (typeof id === 'string' && id && id !== 'guest' &&
40
+ typeof name === 'string' && name && name !== 'guest')
41
+ return session;
42
+ }
43
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'Cookie-only UI authentication failed. Check UI access, instance policy, and the selected alias.');
44
+ }
45
+ }
46
+ catch (error) {
47
+ if (error instanceof SessionAuthError)
48
+ throw error;
49
+ throw new SessionAuthError('NEX_AUTH_TEMPORARY', 'Session bootstrap failed. Check instance connectivity and retry.');
50
+ }
51
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'Cookie-only UI authentication failed.');
52
+ }
53
+ /** Create a fresh, verified Playwright session using an existing SDK alias. */
54
+ export async function createBrowserSession(options) {
55
+ const credentials = await resolveSessionCredentials(options.alias);
56
+ const session = await verifiedUserSession(credentials);
57
+ const origin = new URL(credentials.instanceUrl);
58
+ const serialized = session.cookie.serializeSync().cookies;
59
+ const cookies = serialized
60
+ .map(value => value && typeof value === 'object' ? Cookie.fromJSON(value) : null)
61
+ .filter((cookie) => cookie !== null && Boolean(cookie.domain) &&
62
+ (origin.hostname === cookie.domain || origin.hostname.endsWith('.' + cookie.domain)))
63
+ .map((cookie) => ({
64
+ name: cookie.key,
65
+ value: cookie.value,
66
+ domain: cookie.hostOnly ? cookie.domain : '.' + cookie.domain,
67
+ path: cookie.path ?? '/',
68
+ expires: Number.isFinite(cookie.expiryTime()) ? cookie.expiryTime() / 1000 : -1,
69
+ httpOnly: cookie.httpOnly,
70
+ secure: cookie.secure,
71
+ sameSite: cookie.sameSite === 'strict' ? 'Strict' : cookie.sameSite === 'none' ? 'None' : 'Lax',
72
+ }));
73
+ return {
74
+ alias: options.alias, instanceUrl: origin.origin, createdAt: Date.now(),
75
+ ...(credentials.type === 'oauth' ? { oauthExpiresAt: credentials.expires_at } : {}),
76
+ storageState: { cookies, origins: [] },
77
+ };
78
+ }
79
+ //# sourceMappingURL=BrowserSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserSession.js","sourceRoot":"","sources":["../../src/auth/BrowserSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Creds } from '@servicenow/sdk-cli-core/dist/auth/index.js';
2
+ /** SDK-compatible credentials; refresh tokens remain private to the caller. */
3
+ export type SessionCredentials = Creds;
4
+ /** Obtain current credentials, persisting SDK rotation through the configured store. */
5
+ export type CredentialProvider = () => Promise<SessionCredentials>;
6
+ /** Validate untyped credentials without including credential material in errors. */
7
+ export declare function sessionCredentials(value: unknown): SessionCredentials;
8
+ /** Resolve an explicit alias through the SDK's existing refresh and persistence path. */
9
+ export declare function resolveSessionCredentials(alias: string): Promise<SessionCredentials>;
@@ -0,0 +1,64 @@
1
+ import { getCredentials } from '@servicenow/sdk-cli/dist/auth/index.js';
2
+ import { SessionAuthError } from './SessionAuthError.js';
3
+ const lookups = new Map();
4
+ function invalidGrant(error, depth = 0) {
5
+ if (!error || typeof error !== 'object' || depth > 4)
6
+ return false;
7
+ const value = error;
8
+ return value.error === 'invalid_grant' || value.code === 'invalid_grant' ||
9
+ invalidGrant(value.cause, depth + 1);
10
+ }
11
+ /** Validate untyped credentials without including credential material in errors. */
12
+ export function sessionCredentials(value) {
13
+ if (value && typeof value === 'object') {
14
+ const c = value;
15
+ if (typeof c.instanceUrl === 'string' &&
16
+ ((c.type === 'oauth' && typeof c.access_token === 'string' &&
17
+ typeof c.refresh_token === 'string' && typeof c.token_type === 'string' &&
18
+ typeof c.expires_at === 'number' && Number.isFinite(c.expires_at)) ||
19
+ (c.type === 'basic' && typeof c.username === 'string' && typeof c.password === 'string'))) {
20
+ return c;
21
+ }
22
+ }
23
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'Expected stored SDK credentials. Check the selected alias and credential backend.');
24
+ }
25
+ /** Resolve an explicit alias through the SDK's existing refresh and persistence path. */
26
+ export async function resolveSessionCredentials(alias) {
27
+ if (!alias.trim())
28
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'An explicit credential alias is required.');
29
+ // SDK environment credentials override aliases; an alias-bound operation must not use them.
30
+ if (process.env.SN_SDK_SESSION_TOKEN || process.env.SN_SDK_SESSION_BEARER_TOKEN ||
31
+ process.env.SN_SDK_NODE_ENV === 'SN_SDK_CI_INSTALL') {
32
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'Unset SDK session/CI credential overrides before resolving a stored alias.');
33
+ }
34
+ const existing = lookups.get(alias);
35
+ if (existing !== undefined)
36
+ return existing;
37
+ const lookup = (async () => {
38
+ try {
39
+ const credentials = sessionCredentials(await getCredentials(alias));
40
+ if (credentials.type === 'oauth' && credentials.expires_at <= Date.now() / 1000) {
41
+ throw new SessionAuthError('NEX_AUTH_TEMPORARY', 'The SDK returned an expired access token. Retry after checking instance connectivity.');
42
+ }
43
+ return credentials;
44
+ }
45
+ catch (error) {
46
+ if (error instanceof SessionAuthError) {
47
+ throw new SessionAuthError(error.code, `Alias ${JSON.stringify(alias)}: ${error.remediation}`);
48
+ }
49
+ if (invalidGrant(error)) {
50
+ throw new SessionAuthError('NEX_AUTH_REAUTH_REQUIRED', 'OAuth renewal was rejected. Reauthenticate this alias using now-sdk-x auth --add <instance>.');
51
+ }
52
+ throw new SessionAuthError('NEX_AUTH_TEMPORARY', `Credential lookup or renewal failed for alias ${JSON.stringify(alias)}. Check the backend and instance connectivity, then retry.`);
53
+ }
54
+ })();
55
+ lookups.set(alias, lookup);
56
+ try {
57
+ return await lookup;
58
+ }
59
+ finally {
60
+ if (lookups.get(alias) === lookup)
61
+ lookups.delete(alias);
62
+ }
63
+ }
64
+ //# sourceMappingURL=CredentialProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialProvider.js","sourceRoot":"","sources":["../../src/auth/CredentialProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { ICookieStore } from "../comm/http/ICookieStore.js";
2
2
  import { IRequestHandler } from "../comm/http/IRequestHandler.js";
3
3
  export interface IAuthenticationHandler {
4
+ ensureSession?(force?: boolean): Promise<unknown>;
5
+ pinSession?(): void;
4
6
  doLogin(): any;
5
7
  getRequestHandler(): IRequestHandler;
6
8
  setRequestHandler(requestHandler: IRequestHandler): any;
@@ -1,21 +1,28 @@
1
- import { IRequestHandler } from "../comm/http/IRequestHandler.js";
2
- import { IAuthenticationHandler } from "./IAuthenticationHandler.js";
3
- import { ICookieStore } from "../comm/http/ICookieStore.js";
4
- import { ServiceNowInstance } from "../sn/ServiceNowInstance.js";
1
+ import { IRequestHandler } from '../comm/http/IRequestHandler.js';
2
+ import { IAuthenticationHandler } from './IAuthenticationHandler.js';
3
+ import { ICookieStore } from '../comm/http/ICookieStore.js';
4
+ import { ServiceNowInstance } from '../sn/ServiceNowInstance.js';
5
+ import type { UserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
5
6
  export declare class NowSDKAuthenticationHandler implements IAuthenticationHandler {
7
+ private readonly _instance;
6
8
  private _requestHandler;
7
9
  private _isLoggedIn;
8
10
  private _session;
11
+ private _credentials;
12
+ private _origin;
13
+ private _pending;
14
+ private _pinned;
9
15
  private _logger;
10
- private _instance;
11
- constructor(instance: ServiceNowInstance);
12
- doLogin(): Promise<any>;
16
+ constructor(_instance: ServiceNowInstance);
17
+ doLogin(): Promise<UserSession>;
18
+ ensureSession(force?: boolean): Promise<UserSession>;
13
19
  private login;
20
+ pinSession(): void;
14
21
  getRequestHandler(): IRequestHandler;
15
- setRequestHandler(requestHandler: IRequestHandler): void;
22
+ setRequestHandler(handler: IRequestHandler): void;
16
23
  isLoggedIn(): boolean;
17
- setLoggedIn(loggedIn: boolean): void;
24
+ setLoggedIn(value: boolean): void;
18
25
  getToken(): string;
19
26
  getCookies(): ICookieStore;
20
- getSession(): unknown;
27
+ getSession(): UserSession | undefined;
21
28
  }
@@ -1,76 +1,87 @@
1
- import { Logger } from "../util/Logger.js";
2
- import { getSafeUserSession } from "@servicenow/sdk-cli-core/dist/util/sessionToken.js";
3
- import { stripSecretsFromError } from "../util/redact.js";
1
+ import { Logger } from '../util/Logger.js';
2
+ import { getUserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
3
+ import { sessionCredentials } from './CredentialProvider.js';
4
+ import { SessionAuthError } from './SessionAuthError.js';
4
5
  export class NowSDKAuthenticationHandler {
6
+ _instance;
5
7
  _requestHandler;
6
8
  _isLoggedIn = false;
7
9
  _session;
8
- _logger;
9
- _instance;
10
- constructor(instance) {
11
- this._logger = new Logger("NowSDKAuthenticationHandler");
12
- this._instance = instance;
10
+ _credentials;
11
+ _origin;
12
+ _pending;
13
+ _pinned = false;
14
+ _logger = new Logger('NowSDKAuthenticationHandler');
15
+ constructor(_instance) {
16
+ this._instance = _instance;
13
17
  }
14
18
  async doLogin() {
15
- const session = await this.login();
16
- this._session = session;
17
- return session;
19
+ return this.ensureSession(true);
20
+ }
21
+ async ensureSession(force = false) {
22
+ if (this._pending !== undefined)
23
+ return this._pending;
24
+ const credentials = this._credentials;
25
+ const due = credentials?.type === 'oauth' &&
26
+ credentials.expires_at - Date.now() / 1000 <= 15 * 60;
27
+ if (!force && this._isLoggedIn && !due)
28
+ return this._session;
29
+ if (this._pinned && this._session) {
30
+ if (!force && credentials?.type === 'oauth' && credentials.expires_at > Date.now() / 1000) {
31
+ return this._session;
32
+ }
33
+ throw new SessionAuthError('NEX_SESSION_EXPIRED', 'A stateful session expired. Restart the workflow at a safe boundary; it was not replayed.');
34
+ }
35
+ const pending = this.login();
36
+ this._pending = pending;
37
+ try {
38
+ return await pending;
39
+ }
40
+ finally {
41
+ if (this._pending === pending)
42
+ this._pending = undefined;
43
+ }
18
44
  }
19
45
  async login() {
20
46
  try {
21
- const auth = { credentials: this._instance.credential };
22
- const session = await getSafeUserSession(auth, this._logger);
23
- if (session) {
24
- // Recording WHICH instance this session was minted for is the whole
25
- // point: RequestHandler compares it against the instance it is bound to
26
- // before every dispatch, which is where a mismatch is actually caught.
27
- //
28
- // There is deliberately no re-check of this._instance across the await.
29
- // It is assigned once in the constructor and never reassigned, and
30
- // AuthenticationHandlerFactory builds a fresh handler per instance, so
31
- // such a check could not fire — it would only imply a protection that
32
- // does not exist here.
33
- this._requestHandler.setSession(session, this._instance);
34
- this.setLoggedIn(true);
47
+ const provider = this._instance.credentialProvider;
48
+ const credentials = sessionCredentials(provider
49
+ ? await provider()
50
+ : this._instance.credential);
51
+ const origin = new URL(credentials.instanceUrl).origin;
52
+ const expectedOrigin = this._origin ?? new URL(sessionCredentials(this._instance.credential ?? credentials).instanceUrl).origin;
53
+ if (origin !== expectedOrigin) {
54
+ throw new SessionAuthError('NEX_AUTH_ORIGIN_CHANGED', 'The alias now resolves to another instance. Create a new connection explicitly.');
35
55
  }
36
- else {
37
- throw new Error("Unable to login.");
56
+ if (credentials.type === 'oauth' && credentials.expires_at <= Date.now() / 1000) {
57
+ throw new SessionAuthError('NEX_SESSION_EXPIRED', 'Access token expired. Supply an alias-bound credentialProvider to enable automatic SDK renewal.');
38
58
  }
39
- this._logger.debug("Login Attempt Complete.");
59
+ const value = await getUserSession(credentials);
60
+ if (!value || typeof value !== 'object' || !('cookie' in value) || !value.cookie) {
61
+ throw new SessionAuthError('NEX_AUTH_TEMPORARY', 'The SDK did not create a session. Check connectivity and retry.');
62
+ }
63
+ const session = value;
64
+ this._requestHandler.setSession(session, this._instance);
65
+ this._session = session;
66
+ this._credentials = credentials;
67
+ this._origin = origin;
68
+ this._isLoggedIn = true;
40
69
  return session;
41
70
  }
42
- catch (e) {
43
- // Of every error in the codebase this is the one most likely to be carrying
44
- // the credential it just failed to use, and it propagates out to consumers
45
- // whose loggers have no redaction format of their own.
46
- const safe = stripSecretsFromError(e);
47
- this._logger.error("Error during login.", safe);
48
- throw safe;
71
+ catch (error) {
72
+ this._isLoggedIn = false;
73
+ if (error instanceof SessionAuthError)
74
+ throw error;
75
+ throw new SessionAuthError('NEX_AUTH_TEMPORARY', 'Session renewal failed. Check credential storage and instance connectivity, then retry.');
49
76
  }
50
- return null;
51
- }
52
- getRequestHandler() {
53
- return this._requestHandler;
54
- }
55
- setRequestHandler(requestHandler) {
56
- this._requestHandler = requestHandler;
57
- }
58
- isLoggedIn() {
59
- return this._isLoggedIn;
60
- }
61
- setLoggedIn(loggedIn) {
62
- this._isLoggedIn = loggedIn;
63
- }
64
- getToken() {
65
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
66
- return this._session.getToken();
67
- }
68
- getCookies() {
69
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
70
- return this._session.getCookies();
71
- }
72
- getSession() {
73
- return this._session;
74
77
  }
78
+ pinSession() { this._pinned = true; }
79
+ getRequestHandler() { return this._requestHandler; }
80
+ setRequestHandler(handler) { this._requestHandler = handler; }
81
+ isLoggedIn() { return this._isLoggedIn; }
82
+ setLoggedIn(value) { this._isLoggedIn = value; }
83
+ getToken() { return this._session?.userToken ?? ''; }
84
+ getCookies() { return this._session?.cookie; }
85
+ getSession() { return this._session; }
75
86
  }
76
87
  //# sourceMappingURL=NowSDKAuthenticationHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,OAAO,2BAA2B;IAE5B,eAAe,CAAiB;IAEhC,WAAW,GAAW,KAAK,CAAC;IAE5B,QAAQ,CAAS;IAEjB,OAAO,CAAQ;IAEf,SAAS,CAAoB;IAErC,YAAmB,QAA2B;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,KAAK;QAEf,IAAG,CAAC;YACA,MAAM,IAAI,GAAG,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAC,CAAC;YACtD,MAAM,OAAO,GAAa,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,IAAG,OAAO,EAAC,CAAC;gBACR,oEAAoE;gBACpE,wEAAwE;gBACxE,uEAAuE;gBACvE,EAAE;gBACF,wEAAwE;gBACxE,mEAAmE;gBACnE,uEAAuE;gBACvE,sEAAsE;gBACtE,uBAAuB;gBACvB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAI,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACnB,CAAC;QAAA,OAAM,CAAC,EAAC,CAAC;YACN,4EAA4E;YAC5E,2EAA2E;YAC3E,uDAAuD;YACvD,MAAM,IAAI,GAAY,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,cAA8B;QACnD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IAC1C,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,QAAgB;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAChC,CAAC;IAEM,QAAQ;QACX,6DAA6D;QAC7D,OAAQ,IAAI,CAAC,QAAgB,CAAC,QAAQ,EAAY,CAAC;IACvD,CAAC;IAEM,UAAU;QACb,kGAAkG;QAClG,OAAQ,IAAI,CAAC,QAAgB,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Authentication failures safe to expose across CLI, MCP, and browser runners. */
2
+ export declare class SessionAuthError extends Error {
3
+ readonly code: 'NEX_AUTH_REAUTH_REQUIRED' | 'NEX_AUTH_TEMPORARY' | 'NEX_SESSION_EXPIRED' | 'NEX_AUTH_INVALID' | 'NEX_AUTH_ORIGIN_CHANGED';
4
+ readonly remediation: string;
5
+ constructor(code: 'NEX_AUTH_REAUTH_REQUIRED' | 'NEX_AUTH_TEMPORARY' | 'NEX_SESSION_EXPIRED' | 'NEX_AUTH_INVALID' | 'NEX_AUTH_ORIGIN_CHANGED', remediation: string);
6
+ }
@@ -0,0 +1,12 @@
1
+ /** Authentication failures safe to expose across CLI, MCP, and browser runners. */
2
+ export class SessionAuthError extends Error {
3
+ code;
4
+ remediation;
5
+ constructor(code, remediation) {
6
+ super(remediation);
7
+ this.code = code;
8
+ this.remediation = remediation;
9
+ this.name = 'SessionAuthError';
10
+ }
11
+ }
12
+ //# sourceMappingURL=SessionAuthError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionAuthError.js","sourceRoot":"","sources":["../../src/auth/SessionAuthError.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEnB;IAEA;IAHpB,YACoB,IAC0D,EAC1D,WAAmB;QAEnC,KAAK,CAAC,WAAW,CAAC,CAAC;QAJH,SAAI,GAAJ,IAAI,CACsD;QAC1D,gBAAW,GAAX,WAAW,CAAQ;QAGnC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ"}
@@ -7,6 +7,7 @@ import { stripSecretsFromError, redactValue } from '../../util/redact.js';
7
7
  import { checkRequirement } from '../../policy/Policy.js';
8
8
  import { policyRefusal } from '../../policy/PolicyRefusal.js';
9
9
  import { classify } from '../../policy/internal/Classify.js';
10
+ import { SessionAuthError } from '../../auth/SessionAuthError.js';
10
11
  //axios.defaults.withCredentials = true;
11
12
  export class RequestHandler {
12
13
  _logger = new Logger("RequestHandler");
@@ -179,7 +180,7 @@ export class RequestHandler {
179
180
  return false;
180
181
  }
181
182
  }
182
- async doRequest(request) {
183
+ async doRequest(request, retried = false) {
183
184
  let response = null;
184
185
  const { config } = await this.getRequestConfig(request);
185
186
  this._logger.debug("Retrieved Configuration", { config: config });
@@ -190,6 +191,19 @@ export class RequestHandler {
190
191
  // rest: { method: request.method }
191
192
  // }
192
193
  const resp = await makeRequest(config);
194
+ if (resp.status === 401 && this._authHandler.ensureSession) {
195
+ const requirement = classify(request);
196
+ const stateful = /\/(?:impersonate|debugger|scripttracer)(?:\/|$)/.test(request.path);
197
+ await resp.body?.cancel();
198
+ if (!retried && !stateful && requirement.verbs.length === 0 && requirement.target === 'instance') {
199
+ await this._authHandler.ensureSession(true);
200
+ return this.doRequest(request, true);
201
+ }
202
+ throw new SessionAuthError('NEX_SESSION_EXPIRED', 'Session authentication failed. Renew at a safe boundary; this operation was not replayed.');
203
+ }
204
+ if (resp.ok && /\/(?:impersonate|debugger|scripttracer)(?:\/|$)/.test(request.path)) {
205
+ this._authHandler.pinSession?.();
206
+ }
193
207
  let responseBodyString = null;
194
208
  if (!resp.ok) {
195
209
  try {
@@ -354,6 +368,8 @@ export class RequestHandler {
354
368
  // construct their own ServiceNowRequest. A second chokepoint elsewhere would
355
369
  // only be a second thing to keep in sync.
356
370
  this.assertPermitted(request);
371
+ await this._authHandler.ensureSession?.();
372
+ this.assertSessionMatchesBoundInstance();
357
373
  const config = {
358
374
  auth: this._session,
359
375
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../../src/comm/http/RequestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequestHandler.js","sourceRoot":"","sources":["../../../src/comm/http/RequestHandler.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,8 @@ export class ServiceNowRequest {
68
68
  return await this._requestHandler.delete(request);
69
69
  }
70
70
  async getUserSession() {
71
+ if (this.auth.ensureSession)
72
+ return this.auth.ensureSession();
71
73
  if (this.isLoggedIn()) {
72
74
  return this.auth.getSession();
73
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceNowRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceNowRequest.js","sourceRoot":"","sources":["../../../src/comm/http/ServiceNowRequest.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ export class SessionManager {
74
74
  const key = this.getKey(instance);
75
75
  const request = this.getRequest(instance);
76
76
  if (request.isLoggedIn()) {
77
+ await request.getUserSession();
77
78
  return request;
78
79
  }
79
80
  // Guard against concurrent callers both triggering auth
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/comm/http/SessionManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEf,MAAM,CAAC,SAAS,GAA0B,IAAI,CAAC;IAC/C,SAAS,GAAmC,IAAI,GAAG,EAAE,CAAC;IACtD,aAAa,GAA4C,IAAI,GAAG,EAAE,CAAC;IACnE,OAAO,GAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEvD,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAC5B,cAAc,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,cAAc,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,aAAa;QAChB,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,QAA4B;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtC,gFAAgF;QAChF,iFAAiF;QACjF,4EAA4E;QAC5E,6EAA6E;QAC7E,kFAAkF;QAClF,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,kCAAkC,CAAC,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACK,SAAS,CAAC,OAA0B,EAAE,QAA4B;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,OAAO,KAAK,WAAW,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAA4B;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAA+B,CAAC,KAAK,IAAI,EAAE;YACxD,IAAI,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;gBAC/D,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC/B,OAAO,OAAO,CAAC;YACnB,CAAC;oBAAS,CAAC;gBACP,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC;oBAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACzC,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,6EAA6E;QAC7E,0CAA0C;QAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEO,MAAM,CAAC,QAA4B;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC"}
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/comm/http/SessionManager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  export * from './auth/AuthenticationHandlerFactory.js';
2
+ export * from './auth/BrowserSession.js';
3
+ export * from './auth/CredentialProvider.js';
2
4
  export * from './auth/IAuthenticationHandler.js';
3
5
  export * from './auth/NowSDKAuthenticationHandler.js';
6
+ export * from './auth/SessionAuthError.js';
4
7
  export * from './constants/Extension.js';
5
8
  export * from './constants/Files.js';
6
9
  export * from './constants/ServiceNow.js';
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  export * from './auth/AuthenticationHandlerFactory.js';
2
+ export * from './auth/BrowserSession.js';
3
+ export * from './auth/CredentialProvider.js';
2
4
  export * from './auth/IAuthenticationHandler.js';
3
5
  export * from './auth/NowSDKAuthenticationHandler.js';
6
+ export * from './auth/SessionAuthError.js';
4
7
  export * from './constants/Extension.js';
5
8
  export * from './constants/Files.js';
6
9
  export * from './constants/ServiceNow.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { IServiceNowInstance } from "./IServiceNowInstance.js";
2
+ import type { CredentialProvider } from "../auth/CredentialProvider.js";
2
3
  export interface ServiceNowSettingsInstance {
3
4
  host?: string;
4
5
  username?: string;
@@ -6,6 +7,7 @@ export interface ServiceNowSettingsInstance {
6
7
  isDefault?: boolean;
7
8
  password?: string;
8
9
  credential?: unknown;
10
+ credentialProvider?: CredentialProvider;
9
11
  }
10
12
  export declare class ServiceNowInstance implements IServiceNowInstance {
11
13
  private _isDefault;
@@ -14,6 +16,7 @@ export declare class ServiceNowInstance implements IServiceNowInstance {
14
16
  private _alias;
15
17
  private _password;
16
18
  private _credential;
19
+ readonly credentialProvider: CredentialProvider | undefined;
17
20
  private readonly _instanceId;
18
21
  constructor(snInstanceSettingsObj?: ServiceNowSettingsInstance | null);
19
22
  isDefault(): boolean;
@@ -19,8 +19,10 @@ export class ServiceNowInstance {
19
19
  _alias;
20
20
  _password;
21
21
  _credential;
22
+ credentialProvider;
22
23
  _instanceId = nextInstanceId++;
23
24
  constructor(snInstanceSettingsObj) {
25
+ this.credentialProvider = snInstanceSettingsObj?.credentialProvider;
24
26
  if (typeof snInstanceSettingsObj != 'undefined' && snInstanceSettingsObj != null) {
25
27
  if (snInstanceSettingsObj.host) {
26
28
  this._host = snInstanceSettingsObj.host;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceNowInstance.js","sourceRoot":"","sources":["../../src/sn/ServiceNowInstance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,IAAI,cAAc,GAAG,CAAC,CAAC;AAWvB,MAAM,OAAO,kBAAkB;IACnB,UAAU,CAAS;IACnB,KAAK,CAAQ;IACb,SAAS,CAAQ;IACjB,MAAM,CAAQ;IAEd,SAAS,CAAQ;IAEjB,WAAW,CAAS;IAEX,WAAW,GAAU,cAAc,EAAE,CAAC;IAEvD,YAAY,qBAAwD;QAChE,IAAG,OAAO,qBAAqB,IAAI,WAAW,IAAI,qBAAqB,IAAI,IAAI,EAAC,CAAC;YAC7E,IAAG,qBAAqB,CAAC,IAAI,EAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC5C,CAAC;YACD,IAAG,qBAAqB,CAAC,KAAK,EAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAC9C,CAAC;YACD,IAAG,qBAAqB,CAAC,QAAQ,EAAC,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;YACpD,CAAC;YACD,IAAG,qBAAqB,CAAC,SAAS,EAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC;YACtD,CAAC;YACD,IAAG,qBAAqB,CAAC,QAAQ,EAAC,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;YACpD,CAAC;YAED,IAAG,qBAAqB,CAAC,UAAU,EAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC;YACxD,CAAC;QAEL,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,gIAAgI;IAChI,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
1
+ {"version":3,"file":"ServiceNowInstance.js","sourceRoot":"","sources":["../../src/sn/ServiceNowInstance.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,IAAI,cAAc,GAAG,CAAC,CAAC;AAYvB,MAAM,OAAO,kBAAkB;IACnB,UAAU,CAAS;IACnB,KAAK,CAAQ;IACb,SAAS,CAAQ;IACjB,MAAM,CAAQ;IAEd,SAAS,CAAQ;IAEjB,WAAW,CAAS;IACZ,kBAAkB,CAAiC;IAElD,WAAW,GAAU,cAAc,EAAE,CAAC;IAEvD,YAAY,qBAAwD;QAChE,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,EAAE,kBAAkB,CAAC;QACpE,IAAG,OAAO,qBAAqB,IAAI,WAAW,IAAI,qBAAqB,IAAI,IAAI,EAAC,CAAC;YAC7E,IAAG,qBAAqB,CAAC,IAAI,EAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC;YAC5C,CAAC;YACD,IAAG,qBAAqB,CAAC,KAAK,EAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAC9C,CAAC;YACD,IAAG,qBAAqB,CAAC,QAAQ,EAAC,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;YACpD,CAAC;YACD,IAAG,qBAAqB,CAAC,SAAS,EAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC;YACtD,CAAC;YACD,IAAG,qBAAqB,CAAC,QAAQ,EAAC,CAAC;gBAC/B,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC;YACpD,CAAC;YAED,IAAG,qBAAqB,CAAC,UAAU,EAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC;YACxD,CAAC;QAEL,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,gIAAgI;IAChI,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-core",
3
- "version": "6.4.1",
3
+ "version": "6.5.1",
4
4
  "description": "Comprehensive TypeScript library extending ServiceNow SDK with application management, ATF testing, real-time log monitoring, AMB event subscriptions, and automation tools",
5
5
  "keywords": [
6
6
  "servicenow",
@@ -147,6 +147,6 @@
147
147
  "node": ">=26.0.0"
148
148
  },
149
149
  "optionalDependencies": {
150
- "@sonisoft/sn-credstore": "^1.0.0"
150
+ "@sonisoft/sn-credstore": "^1.1.1"
151
151
  }
152
152
  }