@sonisoft/now-sdk-ext-core 6.5.1 → 6.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.
package/README.md CHANGED
@@ -884,7 +884,8 @@ try {
884
884
 
885
885
  ## 📦 Dependencies
886
886
 
887
- - `@servicenow/sdk` 4.3.0 / `@servicenow/sdk-cli` 4.3.0 / `@servicenow/sdk-core` 4.3.0 - ServiceNow SDK and CLI tools
887
+ - `@servicenow/sdk` 4.12.0 / `@servicenow/sdk-cli` 4.12.0 / `@servicenow/sdk-core` 4.12.0 - ServiceNow SDK and CLI tools
888
+ - `@servicenow/sdk-cli-core` 3.0.3 - separately versioned HTTP/session compatibility layer
888
889
  - `axios` - HTTP client
889
890
  - `cometd` / `cometd-nodejs-client` - WebSocket support for AMB
890
891
  - `winston` - Logging
@@ -972,12 +973,30 @@ const session = await createBrowserSession({alias: 'dev206299'});
972
973
  const context = await browser.newContext({storageState: session.storageState});
973
974
  ```
974
975
 
976
+ `injectBrowserSessionCdp({cdpUrl, session})` applies that same `storageState` to an
977
+ already-running Chromium DevTools endpoint (Edge, Chrome, or Brave started with
978
+ `--remote-debugging-port`) and navigates to `session.instanceUrl`. It does not close
979
+ the browser. Desktop failures use `DesktopBrowserError` (`NEX_BROWSER_UNAVAILABLE` /
980
+ `NEX_BROWSER_PROTOCOL`), not `SessionAuthError`. Cookie values are never logged.
981
+
982
+ Live coverage is `test/integration/auth/DesktopBrowserSession_IT.test.ts`. It mints a
983
+ session for `SN_INSTANCE_ALIAS` (default `dev206299` in `test/test_utils/test_config.ts`)
984
+ and injects it into a loopback DevTools fixture. Override the alias in `.env` or the
985
+ environment — do not embed an instance name in the test.
986
+
987
+ ```ts
988
+ await injectBrowserSessionCdp({
989
+ cdpUrl: 'http://127.0.0.1:9222',
990
+ session,
991
+ });
992
+ ```
993
+
975
994
  Check `initCredentialStore().active` when the application requires the headless
976
995
  backend. Imports alone never install the shim. Keep session state out of logs and
977
996
  source control. A saved state file does not renew itself.
978
997
 
979
998
  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.
999
+ (including standalone `now-sdk-x`) to sn-credstore 1.2.0 or later, then restart.
981
1000
  The new lock protocol cannot safely run alongside older clients.
982
1001
 
983
1002
  Long-running embedders can supply a `credentialProvider` in
@@ -1,4 +1,4 @@
1
- import type { UserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
1
+ import type { UserSession } from '@servicenow/sdk-cli-core/dist/auth/index.js';
2
2
  import { SessionCredentials } from './CredentialProvider.js';
3
3
  /** Standard Playwright cookie representation, with no Playwright runtime dependency. */
4
4
  export interface BrowserCookie {
@@ -27,4 +27,6 @@ export declare function verifiedUserSession(credentials: SessionCredentials): Pr
27
27
  /** Create a fresh, verified Playwright session using an existing SDK alias. */
28
28
  export declare function createBrowserSession(options: {
29
29
  alias: string;
30
+ /** Pre-resolved credentials. When omitted, the alias is looked up in the SDK store. */
31
+ credentials?: SessionCredentials;
30
32
  }): Promise<BrowserSession>;
@@ -1,5 +1,5 @@
1
- import { getUserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
2
- import { resolveSessionCredentials } from './CredentialProvider.js';
1
+ import { getUserSession } from '@servicenow/sdk-cli-core/dist/auth/index.js';
2
+ import { resolveSessionCredentials, sessionCredentials } from './CredentialProvider.js';
3
3
  import { SessionAuthError } from './SessionAuthError.js';
4
4
  import { Cookie } from 'tough-cookie';
5
5
  /** Establish SDK cookies and prove they authenticate without the OAuth bearer token. */
@@ -52,7 +52,12 @@ export async function verifiedUserSession(credentials) {
52
52
  }
53
53
  /** Create a fresh, verified Playwright session using an existing SDK alias. */
54
54
  export async function createBrowserSession(options) {
55
- const credentials = await resolveSessionCredentials(options.alias);
55
+ if (!options.alias.trim()) {
56
+ throw new SessionAuthError('NEX_AUTH_INVALID', 'An explicit credential alias is required.');
57
+ }
58
+ const credentials = options.credentials
59
+ ? sessionCredentials(options.credentials)
60
+ : await resolveSessionCredentials(options.alias);
56
61
  const session = await verifiedUserSession(credentials);
57
62
  const origin = new URL(credentials.instanceUrl);
58
63
  const serialized = session.cookie.serializeSync().cookies;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserSession.js","sourceRoot":"","sources":["../../src/auth/BrowserSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserSession.js","sourceRoot":"","sources":["../../src/auth/BrowserSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { BrowserSession } from './BrowserSession.js';
2
+ /** Desktop / DevTools failures safe to expose across CLI and embedders. */
3
+ export declare class DesktopBrowserError extends Error {
4
+ readonly code: 'NEX_BROWSER_UNAVAILABLE' | 'NEX_BROWSER_PROTOCOL';
5
+ readonly remediation: string;
6
+ constructor(code: 'NEX_BROWSER_UNAVAILABLE' | 'NEX_BROWSER_PROTOCOL', remediation: string);
7
+ }
8
+ export declare function isDesktopBrowserError(error: unknown): error is DesktopBrowserError;
9
+ /** Minimal WebSocket surface used by CDP. `ws` and test fakes both satisfy this. */
10
+ export interface CdpSocket {
11
+ readonly readyState: number;
12
+ on(event: 'open' | 'message' | 'error' | 'close', listener: (data?: unknown) => void): unknown;
13
+ once(event: 'open' | 'message' | 'error' | 'close', listener: (data?: unknown) => void): unknown;
14
+ send(data: string): void;
15
+ close(): void;
16
+ }
17
+ export interface CdpWebSocketConstructor {
18
+ new (url: string): CdpSocket;
19
+ }
20
+ export interface InjectBrowserSessionCdpOptions {
21
+ cdpUrl: string;
22
+ session: BrowserSession;
23
+ timeoutMs?: number;
24
+ fetch?: typeof fetch;
25
+ WebSocket?: CdpWebSocketConstructor;
26
+ }
27
+ /**
28
+ * Apply a verified cookie session to an existing Chromium DevTools endpoint
29
+ * and navigate to the instance. Does not close the browser.
30
+ */
31
+ export declare function injectBrowserSessionCdp(options: InjectBrowserSessionCdpOptions): Promise<void>;
@@ -0,0 +1,278 @@
1
+ import { WebSocket as WsWebSocket } from 'ws';
2
+ /** Desktop / DevTools failures safe to expose across CLI and embedders. */
3
+ export class DesktopBrowserError extends Error {
4
+ code;
5
+ remediation;
6
+ constructor(code, remediation) {
7
+ super(remediation);
8
+ this.code = code;
9
+ this.remediation = remediation;
10
+ this.name = 'DesktopBrowserError';
11
+ }
12
+ }
13
+ export function isDesktopBrowserError(error) {
14
+ if (!error || typeof error !== 'object')
15
+ return false;
16
+ const value = error;
17
+ return (value.code === 'NEX_BROWSER_UNAVAILABLE' || value.code === 'NEX_BROWSER_PROTOCOL') &&
18
+ typeof value.remediation === 'string';
19
+ }
20
+ const DEFAULT_TIMEOUT_MS = 15_000;
21
+ const POLL_MS = 250;
22
+ const SOCKET_TIMEOUT_MS = 10_000;
23
+ const UNAVAILABLE = 'The browser DevTools endpoint did not become ready. Confirm the browser started with --remote-debugging-port and retry.';
24
+ const PROTOCOL = 'The browser rejected a DevTools command. Confirm the debug port is reachable and retry.';
25
+ function sleep(ms) {
26
+ return new Promise(resolve => setTimeout(resolve, ms));
27
+ }
28
+ function parseCdpHttpUrl(value) {
29
+ let origin;
30
+ try {
31
+ origin = new URL(value);
32
+ }
33
+ catch {
34
+ throw new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', 'Browser sessions require an HTTP DevTools URL.');
35
+ }
36
+ if ((origin.protocol !== 'http:' && origin.protocol !== 'https:') || origin.username || origin.password) {
37
+ throw new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', 'Browser sessions require an HTTP DevTools URL without embedded credentials.');
38
+ }
39
+ return origin;
40
+ }
41
+ function jsonBody(value) {
42
+ if (!value || typeof value !== 'object')
43
+ return undefined;
44
+ return Array.isArray(value) ? value : value;
45
+ }
46
+ async function readJson(response) {
47
+ try {
48
+ return await response.json();
49
+ }
50
+ catch {
51
+ return undefined;
52
+ }
53
+ }
54
+ async function waitForVersion(origin, timeoutMs, fetchImpl) {
55
+ const deadline = Date.now() + timeoutMs;
56
+ const endpoint = new URL('/json/version', origin);
57
+ while (Date.now() < deadline) {
58
+ try {
59
+ const response = await fetchImpl(endpoint, { signal: AbortSignal.timeout(2_000) });
60
+ if (response.ok) {
61
+ const body = jsonBody(await readJson(response));
62
+ if (body && !Array.isArray(body))
63
+ return body;
64
+ }
65
+ }
66
+ catch {
67
+ // Browser has not opened the debug port yet.
68
+ }
69
+ await sleep(Math.min(POLL_MS, Math.max(0, deadline - Date.now())));
70
+ }
71
+ throw new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', UNAVAILABLE);
72
+ }
73
+ async function listTargets(origin, fetchImpl) {
74
+ for (const path of ['/json/list', '/json']) {
75
+ try {
76
+ const response = await fetchImpl(new URL(path, origin), { signal: AbortSignal.timeout(2_000) });
77
+ if (!response.ok)
78
+ continue;
79
+ const body = jsonBody(await readJson(response));
80
+ if (Array.isArray(body))
81
+ return body;
82
+ }
83
+ catch {
84
+ // Try the next discovery path.
85
+ }
86
+ }
87
+ return [];
88
+ }
89
+ function pageSocketUrl(targets) {
90
+ for (const target of targets) {
91
+ if (!target || typeof target !== 'object')
92
+ continue;
93
+ const record = target;
94
+ if (record.type === 'page' && typeof record.webSocketDebuggerUrl === 'string' && record.webSocketDebuggerUrl) {
95
+ return record.webSocketDebuggerUrl;
96
+ }
97
+ }
98
+ return undefined;
99
+ }
100
+ function socketData(data) {
101
+ if (typeof data === 'string')
102
+ return data;
103
+ if (data instanceof Uint8Array)
104
+ return new TextDecoder().decode(data);
105
+ return '';
106
+ }
107
+ function cdpCookie(cookie, instanceUrl) {
108
+ const domain = cookie.domain.startsWith('.') ? cookie.domain.slice(1) : cookie.domain;
109
+ const params = {
110
+ name: cookie.name,
111
+ value: cookie.value,
112
+ domain,
113
+ path: cookie.path || '/',
114
+ secure: cookie.secure,
115
+ httpOnly: cookie.httpOnly,
116
+ sameSite: cookie.sameSite,
117
+ url: instanceUrl,
118
+ };
119
+ if (Number.isFinite(cookie.expires) && cookie.expires > 0)
120
+ params.expires = cookie.expires;
121
+ return params;
122
+ }
123
+ class CdpClient {
124
+ socket;
125
+ nextId = 0;
126
+ pending = new Map();
127
+ constructor(socket) {
128
+ this.socket = socket;
129
+ this.socket.on('message', (data) => {
130
+ let parsed;
131
+ try {
132
+ parsed = JSON.parse(socketData(data));
133
+ }
134
+ catch {
135
+ return;
136
+ }
137
+ if (typeof parsed.id !== 'number')
138
+ return;
139
+ const waiter = this.pending.get(parsed.id);
140
+ if (!waiter)
141
+ return;
142
+ this.pending.delete(parsed.id);
143
+ if (parsed.error)
144
+ waiter.reject(new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL));
145
+ else
146
+ waiter.resolve(parsed.result ?? {});
147
+ });
148
+ }
149
+ send(method, params, sessionId) {
150
+ const id = ++this.nextId;
151
+ const payload = { id, method };
152
+ if (params)
153
+ payload.params = params;
154
+ if (sessionId)
155
+ payload.sessionId = sessionId;
156
+ return new Promise((resolve, reject) => {
157
+ const timer = setTimeout(() => {
158
+ this.pending.delete(id);
159
+ reject(new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL));
160
+ }, SOCKET_TIMEOUT_MS);
161
+ this.pending.set(id, {
162
+ resolve: value => { clearTimeout(timer); resolve(value); },
163
+ reject: error => { clearTimeout(timer); reject(error); },
164
+ });
165
+ try {
166
+ this.socket.send(JSON.stringify(payload));
167
+ }
168
+ catch {
169
+ clearTimeout(timer);
170
+ this.pending.delete(id);
171
+ reject(new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL));
172
+ }
173
+ });
174
+ }
175
+ close() {
176
+ for (const waiter of this.pending.values())
177
+ waiter.reject(new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL));
178
+ this.pending.clear();
179
+ try {
180
+ this.socket.close();
181
+ }
182
+ catch { /* already closed */ }
183
+ }
184
+ }
185
+ async function openSocket(url, WebSocketImpl) {
186
+ const socket = new WebSocketImpl(url);
187
+ if (socket.readyState === 1)
188
+ return socket;
189
+ return new Promise((resolve, reject) => {
190
+ const timer = setTimeout(() => {
191
+ try {
192
+ socket.close();
193
+ }
194
+ catch { /* ignore */ }
195
+ reject(new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', UNAVAILABLE));
196
+ }, SOCKET_TIMEOUT_MS);
197
+ const succeed = () => { clearTimeout(timer); resolve(socket); };
198
+ const fail = () => {
199
+ clearTimeout(timer);
200
+ try {
201
+ socket.close();
202
+ }
203
+ catch { /* ignore */ }
204
+ reject(new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', UNAVAILABLE));
205
+ };
206
+ socket.once('open', succeed);
207
+ socket.once('error', fail);
208
+ });
209
+ }
210
+ async function applyCookiesAndNavigate(client, session, sessionId) {
211
+ await client.send('Network.enable', undefined, sessionId);
212
+ try {
213
+ await client.send('Storage.setCookies', {
214
+ cookies: session.storageState.cookies.map(cookie => cdpCookie(cookie, session.instanceUrl)),
215
+ }, sessionId);
216
+ }
217
+ catch {
218
+ for (const cookie of session.storageState.cookies) {
219
+ await client.send('Network.setCookie', cdpCookie(cookie, session.instanceUrl), sessionId);
220
+ }
221
+ }
222
+ await client.send('Page.navigate', { url: session.instanceUrl }, sessionId);
223
+ }
224
+ async function injectThroughSocket(url, session, WebSocketImpl, attachTarget) {
225
+ const socket = await openSocket(url, WebSocketImpl);
226
+ const client = new CdpClient(socket);
227
+ try {
228
+ let sessionId;
229
+ if (attachTarget) {
230
+ const created = await client.send('Target.createTarget', { url: 'about:blank' });
231
+ const targetId = typeof created.targetId === 'string' ? created.targetId : undefined;
232
+ if (!targetId)
233
+ throw new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL);
234
+ const attached = await client.send('Target.attachToTarget', { targetId, flatten: true });
235
+ sessionId = typeof attached.sessionId === 'string' ? attached.sessionId : undefined;
236
+ if (!sessionId)
237
+ throw new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL);
238
+ }
239
+ await applyCookiesAndNavigate(client, session, sessionId);
240
+ }
241
+ finally {
242
+ client.close();
243
+ }
244
+ }
245
+ /**
246
+ * Apply a verified cookie session to an existing Chromium DevTools endpoint
247
+ * and navigate to the instance. Does not close the browser.
248
+ */
249
+ export async function injectBrowserSessionCdp(options) {
250
+ const origin = parseCdpHttpUrl(options.cdpUrl);
251
+ if (!options.session?.instanceUrl || !Array.isArray(options.session.storageState?.cookies)) {
252
+ throw new DesktopBrowserError('NEX_BROWSER_PROTOCOL', 'A verified browser session is required before opening the desktop UI.');
253
+ }
254
+ try {
255
+ new URL(options.session.instanceUrl);
256
+ }
257
+ catch {
258
+ throw new DesktopBrowserError('NEX_BROWSER_PROTOCOL', 'A verified browser session is required before opening the desktop UI.');
259
+ }
260
+ const fetchImpl = options.fetch ?? fetch;
261
+ const WebSocketImpl = options.WebSocket ?? WsWebSocket;
262
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
263
+ const version = await waitForVersion(origin, timeoutMs, fetchImpl);
264
+ const pageUrl = pageSocketUrl(await listTargets(origin, fetchImpl));
265
+ const browserUrl = typeof version.webSocketDebuggerUrl === 'string' ? version.webSocketDebuggerUrl : undefined;
266
+ const socketUrl = pageUrl ?? browserUrl;
267
+ if (!socketUrl)
268
+ throw new DesktopBrowserError('NEX_BROWSER_UNAVAILABLE', UNAVAILABLE);
269
+ try {
270
+ await injectThroughSocket(socketUrl, options.session, WebSocketImpl, !pageUrl);
271
+ }
272
+ catch (error) {
273
+ if (isDesktopBrowserError(error))
274
+ throw error;
275
+ throw new DesktopBrowserError('NEX_BROWSER_PROTOCOL', PROTOCOL);
276
+ }
277
+ }
278
+ //# sourceMappingURL=DesktopBrowserSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesktopBrowserSession.js","sourceRoot":"","sources":["../../src/auth/DesktopBrowserSession.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { IRequestHandler } from '../comm/http/IRequestHandler.js';
2
2
  import { IAuthenticationHandler } from './IAuthenticationHandler.js';
3
3
  import { ICookieStore } from '../comm/http/ICookieStore.js';
4
4
  import { ServiceNowInstance } from '../sn/ServiceNowInstance.js';
5
- import type { UserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
5
+ import type { UserSession } from '@servicenow/sdk-cli-core/dist/auth/index.js';
6
6
  export declare class NowSDKAuthenticationHandler implements IAuthenticationHandler {
7
7
  private readonly _instance;
8
8
  private _requestHandler;
@@ -1,5 +1,5 @@
1
1
  import { Logger } from '../util/Logger.js';
2
- import { getUserSession } from '@servicenow/sdk-cli/dist/auth/index.js';
2
+ import { getUserSession } from '@servicenow/sdk-cli-core/dist/auth/index.js';
3
3
  import { sessionCredentials } from './CredentialProvider.js';
4
4
  import { SessionAuthError } from './SessionAuthError.js';
5
5
  export class NowSDKAuthenticationHandler {
@@ -1 +1 @@
1
- {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NowSDKAuthenticationHandler.js","sourceRoot":"","sources":["../../src/auth/NowSDKAuthenticationHandler.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './auth/AuthenticationHandlerFactory.js';
2
2
  export * from './auth/BrowserSession.js';
3
3
  export * from './auth/CredentialProvider.js';
4
+ export * from './auth/DesktopBrowserSession.js';
4
5
  export * from './auth/IAuthenticationHandler.js';
5
6
  export * from './auth/NowSDKAuthenticationHandler.js';
6
7
  export * from './auth/SessionAuthError.js';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './auth/AuthenticationHandlerFactory.js';
2
2
  export * from './auth/BrowserSession.js';
3
3
  export * from './auth/CredentialProvider.js';
4
+ export * from './auth/DesktopBrowserSession.js';
4
5
  export * from './auth/IAuthenticationHandler.js';
5
6
  export * from './auth/NowSDKAuthenticationHandler.js';
6
7
  export * from './auth/SessionAuthError.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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonisoft/now-sdk-ext-core",
3
- "version": "6.5.1",
3
+ "version": "6.6.0",
4
4
  "description": "Comprehensive TypeScript library extending ServiceNow SDK with application management, ATF testing, real-time log monitoring, AMB event subscriptions, and automation tools",
5
5
  "keywords": [
6
6
  "servicenow",
@@ -35,7 +35,12 @@
35
35
  "semantic-release": "semantic-release",
36
36
  "test": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --coverage --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false --testPathIgnorePatterns=\"/integration/\"",
37
37
  "test:unit": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --coverage --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false --testPathIgnorePatterns=\"/integration/\"",
38
+ "test:eval": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --runInBand --runTestsByPath test/unit/auth/CredentialProvider.test.ts test/unit/auth/BrowserSession.test.ts test/unit/auth/BrowserSessionCsrf.test.ts test/unit/auth/DesktopBrowserSession.test.ts test/unit/auth/SessionRenewal.test.ts test/unit/test_utils/instance-alias.test.ts test/unit/comm/http/sdkDeepImports.test.ts test/unit/BackgroundScriptExecutor.test.ts test/unit/sn/xml/XMLRecordManager.test.ts test/unit/sn/updateset/UpdateSetManager.test.ts test/unit/util/CSRFTokenHelper.test.ts test/unit/policy/RequestHandlerGate.test.ts test/unit/policy/ScriptEvasion.test.ts test/unit/util/LoggerRedaction.test.ts test/unit/util/NoStdoutWrites.test.ts",
39
+ "test:consumer": "node scripts/sdk-compat-consumer.mjs",
40
+ "test:consumer:cleanup": "node scripts/sdk-compat-consumer-cleanup.test.mjs",
41
+ "test:eval:live": "node scripts/sdk-compat-live.mjs",
38
42
  "test:integration": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --testPathPatterns=\"/integration/\" --watchAll=false --testTimeout=120000",
43
+ "test:integration:auth": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --runInBand --testTimeout=120000 --runTestsByPath test/integration/auth/DesktopBrowserSession_IT.test.ts",
39
44
  "test:all": "node --experimental-vm-modules node_modules/.bin/jest --forceExit --coverage --collectCoverage --coverageDirectory=\"./coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false",
40
45
  "watch-test": "npm run test:unit -- --watchAll",
41
46
  "watch-test:integration": "npm run test:integration -- --watchAll",
@@ -54,13 +59,13 @@
54
59
  "types": "./dist/index.d.ts",
55
60
  "dependencies": {
56
61
  "@servicenow/glide": "^27.0.5",
57
- "@servicenow/sdk": "4.9.2",
58
- "@servicenow/sdk-build-core": "4.9.2",
59
- "@servicenow/sdk-cli": "4.9.2",
62
+ "@servicenow/sdk": "4.12.0",
63
+ "@servicenow/sdk-build-core": "4.12.0",
64
+ "@servicenow/sdk-cli": "4.12.0",
60
65
  "@servicenow/sdk-cli-core": "3.0.3",
61
- "@servicenow/sdk-core": "4.9.2",
66
+ "@servicenow/sdk-core": "4.12.0",
62
67
  "@ts-morph/common": "^0.24.0",
63
- "@xmldom/xmldom": "^0.8.10",
68
+ "@xmldom/xmldom": "^0.9.12",
64
69
  "acorn": "^8.18.0",
65
70
  "async": "3.2.6",
66
71
  "bluebird": "3.7.2",
@@ -83,11 +88,11 @@
83
88
  "devDependencies": {
84
89
  "@eslint/js": "^9.10.0",
85
90
  "@semantic-release/git": "^10.0.1",
86
- "@semantic-release/github": "^11.0.1",
91
+ "@semantic-release/github": "^12.0.9",
87
92
  "@semantic-release/npm": "^13.0.0",
88
93
  "@types/async": "3.2.25",
89
94
  "@types/bluebird": "3.5.42",
90
- "@types/chai": "4.3.17",
95
+ "@types/chai": "5.2.3",
91
96
  "@types/crypto-js": "^4.2.2",
92
97
  "@types/eslint": "9.6.0",
93
98
  "@types/eslint__js": "^8.42.3",
@@ -106,7 +111,7 @@
106
111
  "@types/winston": "2.4.4",
107
112
  "@types/ws": "^8.5.12",
108
113
  "chai": "6.2.2",
109
- "concurrently": "10.0.4",
114
+ "concurrently": "10.0.5",
110
115
  "conventional-changelog-conventionalcommits": "^10.2.1",
111
116
  "create-ts-index": "^1.14.0",
112
117
  "ctix": "^2.6.4",
@@ -147,6 +152,6 @@
147
152
  "node": ">=26.0.0"
148
153
  },
149
154
  "optionalDependencies": {
150
- "@sonisoft/sn-credstore": "^1.1.1"
155
+ "@sonisoft/sn-credstore": "^1.2.1"
151
156
  }
152
157
  }