@sonisoft/now-sdk-ext-core 6.7.0 → 6.8.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/dist/comm/http/FormHtmlParser.d.ts +2 -2
- package/dist/comm/http/FormHtmlParser.js +26 -9
- package/dist/comm/http/FormHtmlParser.js.map +1 -1
- package/dist/comm/http/FormRecordWriter.d.ts +30 -16
- package/dist/comm/http/FormRecordWriter.js +135 -40
- package/dist/comm/http/FormRecordWriter.js.map +1 -1
- package/dist/comm/http/HTTPRequest.d.ts +4 -0
- package/dist/comm/http/RequestHandler.d.ts +1 -0
- package/dist/comm/http/RequestHandler.js +34 -22
- package/dist/comm/http/RequestHandler.js.map +1 -1
- package/dist/comm/http/internal/FormTransportModels.d.ts +26 -0
- package/dist/comm/http/internal/FormTransportModels.js +2 -0
- package/dist/comm/http/internal/FormTransportModels.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/sn/metadata/MetadataFormWriter.d.ts +13 -0
- package/dist/sn/metadata/MetadataFormWriter.js +264 -0
- package/dist/sn/metadata/MetadataFormWriter.js.map +1 -0
- package/dist/sn/metadata/MetadataModels.d.ts +44 -0
- package/dist/sn/metadata/MetadataModels.js +2 -0
- package/dist/sn/metadata/MetadataModels.js.map +1 -0
- package/dist/sn/metadata/MetadataScopeError.d.ts +5 -0
- package/dist/sn/metadata/MetadataScopeError.js +10 -0
- package/dist/sn/metadata/MetadataScopeError.js.map +1 -0
- package/dist/sn/metadata/MetadataVerificationError.d.ts +11 -0
- package/dist/sn/metadata/MetadataVerificationError.js +20 -0
- package/dist/sn/metadata/MetadataVerificationError.js.map +1 -0
- package/dist/sn/metadata/internal/MetadataPreferences.d.ts +12 -0
- package/dist/sn/metadata/internal/MetadataPreferences.js +27 -0
- package/dist/sn/metadata/internal/MetadataPreferences.js.map +1 -0
- package/dist/sn/metadata/internal/MetadataReader.d.ts +9 -0
- package/dist/sn/metadata/internal/MetadataReader.js +55 -0
- package/dist/sn/metadata/internal/MetadataReader.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { FormWriteOptions } from '../../comm/http/FormRecordModels.js';
|
|
2
|
+
/** Global must be requested explicitly. Named scopes resolve to one active application. */
|
|
3
|
+
export type MetadataScopeRef = {
|
|
4
|
+
sysId: string;
|
|
5
|
+
} | {
|
|
6
|
+
scope: string;
|
|
7
|
+
} | 'global';
|
|
8
|
+
export interface MetadataWriteOptions extends FormWriteOptions {
|
|
9
|
+
scope: MetadataScopeRef;
|
|
10
|
+
updateSet?: string;
|
|
11
|
+
allowMixedScopeCapture?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface MetadataDeleteOptions extends Omit<MetadataWriteOptions, 'fields' | 'variables' | 'initialQuery'> {
|
|
14
|
+
confirm: {
|
|
15
|
+
table: string;
|
|
16
|
+
sysId: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface CaptureReport {
|
|
20
|
+
updateSetSysId: string;
|
|
21
|
+
updateSetName: string;
|
|
22
|
+
updateSetScope: string;
|
|
23
|
+
predictedUpdateSetSysId?: string;
|
|
24
|
+
recordScope: string;
|
|
25
|
+
action: string;
|
|
26
|
+
preferencesUnchanged: boolean;
|
|
27
|
+
preferenceRowsReplaced: string[];
|
|
28
|
+
currentUpdateSet: {
|
|
29
|
+
before?: string;
|
|
30
|
+
after?: string;
|
|
31
|
+
switched: boolean;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface MetadataWriteResult {
|
|
35
|
+
table: string;
|
|
36
|
+
sysId: string;
|
|
37
|
+
action: 'insert' | 'update' | 'delete';
|
|
38
|
+
scope: {
|
|
39
|
+
sysId: string;
|
|
40
|
+
scope: string;
|
|
41
|
+
};
|
|
42
|
+
capture: CaptureReport;
|
|
43
|
+
messages: string[];
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataModels.js","sourceRoot":"","sources":["../../../src/sn/metadata/MetadataModels.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** A refusal before the form POST. Messages contain codes, never caller values. */
|
|
2
|
+
export declare class MetadataScopeError extends Error {
|
|
3
|
+
readonly code: 'scope_required' | 'scope_unknown' | 'scope_ambiguous' | 'scope_mismatch' | 'scope_not_applied' | 'store_scope' | 'table_not_supported' | 'field_not_supported' | 'delete_not_supported' | 'not_permitted' | 'csrf_token_unavailable' | 'invalid_input' | 'evidence_unavailable';
|
|
4
|
+
constructor(code: 'scope_required' | 'scope_unknown' | 'scope_ambiguous' | 'scope_mismatch' | 'scope_not_applied' | 'store_scope' | 'table_not_supported' | 'field_not_supported' | 'delete_not_supported' | 'not_permitted' | 'csrf_token_unavailable' | 'invalid_input' | 'evidence_unavailable');
|
|
5
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** A refusal before the form POST. Messages contain codes, never caller values. */
|
|
2
|
+
export class MetadataScopeError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
constructor(code) {
|
|
5
|
+
super(`Metadata write refused: ${code}`);
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.name = 'MetadataScopeError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=MetadataScopeError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataScopeError.js","sourceRoot":"","sources":["../../../src/sn/metadata/MetadataScopeError.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACN;IAAnC,YAAmC,IAGS;QACxC,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAJV,SAAI,GAAJ,IAAI,CAGK;QAExC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACrC,CAAC;CACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CaptureReport } from './MetadataModels.js';
|
|
2
|
+
/** A submit was attempted. Read the evidence before deciding how to clean up. Never replay automatically. */
|
|
3
|
+
export declare class MetadataVerificationError extends Error {
|
|
4
|
+
readonly code: 'scope_not_applied' | 'not_captured' | 'captured_elsewhere' | 'mixed_scope_capture' | 'session_changed' | 'delete_not_applied' | 'delete_not_captured' | 'write_not_applied' | 'verification_unavailable' | 'csrf_rejected';
|
|
5
|
+
readonly table: string;
|
|
6
|
+
readonly sysId: string;
|
|
7
|
+
readonly capture?: Partial<CaptureReport>;
|
|
8
|
+
readonly messages: string[];
|
|
9
|
+
readonly writeAttempted: boolean;
|
|
10
|
+
constructor(code: 'scope_not_applied' | 'not_captured' | 'captured_elsewhere' | 'mixed_scope_capture' | 'session_changed' | 'delete_not_applied' | 'delete_not_captured' | 'write_not_applied' | 'verification_unavailable' | 'csrf_rejected', table: string, sysId: string, capture?: Partial<CaptureReport>, messages?: string[], writeAttempted?: boolean);
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** A submit was attempted. Read the evidence before deciding how to clean up. Never replay automatically. */
|
|
2
|
+
export class MetadataVerificationError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
table;
|
|
5
|
+
sysId;
|
|
6
|
+
capture;
|
|
7
|
+
messages;
|
|
8
|
+
writeAttempted;
|
|
9
|
+
constructor(code, table, sysId, capture, messages = [], writeAttempted = true) {
|
|
10
|
+
super(`Metadata submit verification failed: ${code}`);
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.table = table;
|
|
13
|
+
this.sysId = sysId;
|
|
14
|
+
this.capture = capture;
|
|
15
|
+
this.messages = messages;
|
|
16
|
+
this.writeAttempted = writeAttempted;
|
|
17
|
+
this.name = 'MetadataVerificationError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=MetadataVerificationError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataVerificationError.js","sourceRoot":"","sources":["../../../src/sn/metadata/MetadataVerificationError.ts"],"names":[],"mappings":"AACA,6GAA6G;AAC7G,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACb;IAGf;IAA+B;IAC/B;IAAkD;IAAyC;IAJ/G,YAAmC,IAEmC,EAClD,KAAa,EAAkB,KAAa,EAC5C,OAAgC,EAAkB,WAAqB,EAAE,EAAkB,iBAAiB,IAAI;QAChI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QALvB,SAAI,GAAJ,IAAI,CAE+B;QAClD,UAAK,GAAL,KAAK,CAAQ;QAAkB,UAAK,GAAL,KAAK,CAAQ;QAC5C,YAAO,GAAP,OAAO,CAAyB;QAAkB,aAAQ,GAAR,QAAQ,CAAe;QAAkB,mBAAc,GAAd,cAAc,CAAO;QAEhI,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC5C,CAAC;CACJ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MetadataRow } from './MetadataReader.js';
|
|
2
|
+
export declare function preferenceValue(rows: MetadataRow[], name: string): string | undefined;
|
|
3
|
+
export declare function comparePreferences(before: MetadataRow[], after: MetadataRow[], expectedSet?: string | string[]): {
|
|
4
|
+
valid: boolean;
|
|
5
|
+
unchanged: boolean;
|
|
6
|
+
replaced: string[];
|
|
7
|
+
currentUpdateSet: {
|
|
8
|
+
before: string;
|
|
9
|
+
after: string;
|
|
10
|
+
switched: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MetadataScopeError } from '../MetadataScopeError.js';
|
|
2
|
+
export function preferenceValue(rows, name) {
|
|
3
|
+
const values = [...new Set(rows.filter(row => row.name === name).map(row => row.value))];
|
|
4
|
+
if (values.length > 1)
|
|
5
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
6
|
+
return values[0];
|
|
7
|
+
}
|
|
8
|
+
function multiset(rows) {
|
|
9
|
+
return rows.map(row => JSON.stringify([row.name, row.value])).sort();
|
|
10
|
+
}
|
|
11
|
+
export function comparePreferences(before, after, expectedSet) {
|
|
12
|
+
const oldSet = preferenceValue(before, 'sys_update_set');
|
|
13
|
+
const newSet = preferenceValue(after, 'sys_update_set');
|
|
14
|
+
const switched = oldSet !== newSet;
|
|
15
|
+
const unchanged = JSON.stringify(multiset(before)) === JSON.stringify(multiset(after));
|
|
16
|
+
const destinations = Array.isArray(expectedSet) ? expectedSet : [expectedSet];
|
|
17
|
+
const allowed = switched && !!newSet && destinations.includes(newSet) &&
|
|
18
|
+
before.filter(row => row.name === 'sys_update_set').length === 1 &&
|
|
19
|
+
after.filter(row => row.name === 'sys_update_set').length === 1;
|
|
20
|
+
const remaining = (rows) => allowed ? rows.filter(row => row.name !== 'sys_update_set') : rows;
|
|
21
|
+
const valid = JSON.stringify(multiset(remaining(before))) === JSON.stringify(multiset(remaining(after)));
|
|
22
|
+
const oldIds = new Set(before.map(row => JSON.stringify([row.sys_id, row.name, row.value])));
|
|
23
|
+
const replaced = [...new Set(after.filter(row => !oldIds.has(JSON.stringify([row.sys_id, row.name, row.value])) &&
|
|
24
|
+
before.some(old => old.name === row.name && old.value === row.value)).map(row => row.name))].sort();
|
|
25
|
+
return { valid, unchanged, replaced, currentUpdateSet: { before: oldSet, after: newSet, switched } };
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=MetadataPreferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataPreferences.js","sourceRoot":"","sources":["../../../../src/sn/metadata/internal/MetadataPreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ServiceNowRequest } from '../../../comm/http/ServiceNowRequest.js';
|
|
2
|
+
export type MetadataRow = Record<string, string>;
|
|
3
|
+
/** Read-only, bounded pagination on the same authenticated request as the forms. */
|
|
4
|
+
export declare class MetadataReader {
|
|
5
|
+
private _request;
|
|
6
|
+
constructor(_request: ServiceNowRequest);
|
|
7
|
+
rows(table: string, query: string, fields: string): Promise<MetadataRow[]>;
|
|
8
|
+
exact(table: string, sysId: string, fields: string): Promise<MetadataRow | undefined>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { READ_ONLY } from '../../../policy/PolicyTypes.js';
|
|
2
|
+
import { MetadataScopeError } from '../MetadataScopeError.js';
|
|
3
|
+
/** Read-only, bounded pagination on the same authenticated request as the forms. */
|
|
4
|
+
export class MetadataReader {
|
|
5
|
+
_request;
|
|
6
|
+
constructor(_request) {
|
|
7
|
+
this._request = _request;
|
|
8
|
+
}
|
|
9
|
+
async rows(table, query, fields) {
|
|
10
|
+
const result = [];
|
|
11
|
+
const ids = new Set();
|
|
12
|
+
let expectedCount;
|
|
13
|
+
for (let page = 0; page < 100; page++) {
|
|
14
|
+
const response = await this._request.get({ path: `/api/now/table/${table}`,
|
|
15
|
+
headers: { Accept: 'application/json' }, body: null, requires: READ_ONLY, sensitive: true,
|
|
16
|
+
query: { sysparm_query: `${query}^ORDERBYsys_id`, sysparm_fields: fields,
|
|
17
|
+
sysparm_display_value: 'false', sysparm_exclude_reference_link: 'true', sysparm_no_count: 'false',
|
|
18
|
+
sysparm_limit: '200', sysparm_offset: String(page * 200) } });
|
|
19
|
+
const rows = response.bodyObject?.result;
|
|
20
|
+
if (response.status !== 200 || !Array.isArray(rows) || rows.length > 200)
|
|
21
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
22
|
+
const countHeader = response.headers?.['x-total-count'];
|
|
23
|
+
const count = Number(countHeader);
|
|
24
|
+
if (countHeader === undefined || !Number.isSafeInteger(count) || count < 0 || count > 20000 ||
|
|
25
|
+
(expectedCount !== undefined && expectedCount !== count))
|
|
26
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
27
|
+
expectedCount = count;
|
|
28
|
+
for (const value of rows) {
|
|
29
|
+
if (!value || typeof value !== 'object')
|
|
30
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
31
|
+
const row = value;
|
|
32
|
+
if (typeof row.sys_id !== 'string' || !row.sys_id || ids.has(row.sys_id) ||
|
|
33
|
+
fields.split(',').some(field => typeof row[field] !== 'string'))
|
|
34
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
35
|
+
ids.add(row.sys_id);
|
|
36
|
+
result.push(row);
|
|
37
|
+
}
|
|
38
|
+
if (result.length > expectedCount)
|
|
39
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
40
|
+
if (rows.length < 200) {
|
|
41
|
+
if (result.length !== expectedCount)
|
|
42
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
47
|
+
}
|
|
48
|
+
async exact(table, sysId, fields) {
|
|
49
|
+
const rows = await this.rows(table, `sys_id=${sysId}`, `sys_id,${fields}`);
|
|
50
|
+
if (rows.some(row => row.sys_id !== sysId) || rows.length > 1)
|
|
51
|
+
throw new MetadataScopeError('evidence_unavailable');
|
|
52
|
+
return rows[0];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=MetadataReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataReader.js","sourceRoot":"","sources":["../../../../src/sn/metadata/internal/MetadataReader.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.
|
|
3
|
+
"version": "6.8.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",
|