@sonisoft/now-sdk-ext-core 6.12.0 → 6.13.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/index.d.ts CHANGED
@@ -108,6 +108,8 @@ export * from './sn/task/TaskModels.js';
108
108
  export * from './sn/task/TaskOperations.js';
109
109
  export * from './sn/transaction/ClusterTransactionManager.js';
110
110
  export * from './sn/transaction/ClusterTransactionModels.js';
111
+ export * from './sn/updateset/UpdateSetExporter.js';
112
+ export * from './sn/updateset/UpdateSetExportModels.js';
111
113
  export * from './sn/updateset/UpdateSetManager.js';
112
114
  export * from './sn/updateset/UpdateSetModels.js';
113
115
  export * from './sn/updateset/WorkingSetManager.js';
package/dist/index.js CHANGED
@@ -108,6 +108,8 @@ export * from './sn/task/TaskModels.js';
108
108
  export * from './sn/task/TaskOperations.js';
109
109
  export * from './sn/transaction/ClusterTransactionManager.js';
110
110
  export * from './sn/transaction/ClusterTransactionModels.js';
111
+ export * from './sn/updateset/UpdateSetExporter.js';
112
+ export * from './sn/updateset/UpdateSetExportModels.js';
111
113
  export * from './sn/updateset/UpdateSetManager.js';
112
114
  export * from './sn/updateset/UpdateSetModels.js';
113
115
  export * from './sn/updateset/WorkingSetManager.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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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Models for {@link UpdateSetExporter}: exporting an update set to the platform's XML unload.
3
+ */
4
+ export interface UpdateSetExportOptions {
5
+ /**
6
+ * Export a set (or batch) that is not Complete. The platform's Export to XML is offered only for a
7
+ * Complete set; an In progress export is a snapshot of unfinished work. For a batch it also includes
8
+ * children that are not Complete, as `UpdateSetExport.onlyIncludeCompletedChildren = false` does.
9
+ */
10
+ includeIncomplete?: boolean;
11
+ }
12
+ /** One update set in the file. For a local export, `sysId` is the source set, not the temporary copy. */
13
+ export interface ExportedUpdateSet {
14
+ sysId: string;
15
+ name: string;
16
+ state: string;
17
+ /** sys_update_xml rows in the set, and in the file. */
18
+ records: number;
19
+ }
20
+ export interface UpdateSetExportResult {
21
+ /** The unload XML. It holds every record's full payload. */
22
+ xml: string;
23
+ /** `local`: a sys_update_set; `retrieved`: a sys_remote_update_set (Retrieved Update Sets). */
24
+ source: 'local' | 'retrieved';
25
+ /** `batch`: a batch base exported with its children. */
26
+ kind: 'single' | 'batch';
27
+ /** The set that was asked for. */
28
+ updateSet: {
29
+ sysId: string;
30
+ name: string;
31
+ state: string;
32
+ application: string;
33
+ };
34
+ /** Every set in the file, the requested one first. */
35
+ sets: ExportedUpdateSet[];
36
+ /** Batch children the platform leaves out (not Complete, without includeIncomplete), and their descendants. */
37
+ excluded: Array<{
38
+ sysId: string;
39
+ name: string;
40
+ state: string;
41
+ }>;
42
+ recordCount: number;
43
+ /**
44
+ * A local export makes a temporary Retrieved Update Set copy, which the download deletes. `removedBy` is
45
+ * `platform` when the download removed it and `nex` when the exporter had to; both are read back.
46
+ */
47
+ cleanup?: {
48
+ temporarySysId: string;
49
+ removedBy: 'platform' | 'nex';
50
+ };
51
+ messages: string[];
52
+ }
53
+ export type UpdateSetExportErrorCode = 'invalid_input' | 'update_set_not_found' | 'update_set_incomplete' | 'batch_member' | 'retrieved_state' | 'evidence_unavailable' | 'script_result_unavailable' | 'export_failed' | 'export_mismatch' | 'cleanup_unverified';
54
+ /** Identifiers and counts that explain a refusal; never names, descriptions or payloads. */
55
+ export interface UpdateSetExportErrorDetail {
56
+ updateSet?: string;
57
+ /** The batch base to export instead of a batch member. */
58
+ base?: string;
59
+ state?: string;
60
+ status?: number;
61
+ expected?: number;
62
+ actual?: number;
63
+ /** Temporary Retrieved Update Set copies left on the instance: delete them (sys_remote_update_set). */
64
+ temporary?: string[];
65
+ }
66
+ export declare class UpdateSetExportError extends Error {
67
+ readonly code: UpdateSetExportErrorCode;
68
+ readonly detail?: UpdateSetExportErrorDetail;
69
+ constructor(code: UpdateSetExportErrorCode, detail?: UpdateSetExportErrorDetail);
70
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Models for {@link UpdateSetExporter}: exporting an update set to the platform's XML unload.
3
+ */
4
+ export class UpdateSetExportError extends Error {
5
+ code;
6
+ detail;
7
+ constructor(code, detail) {
8
+ super(`Update set export failed: ${code}`);
9
+ this.code = code;
10
+ this.detail = detail;
11
+ this.name = 'UpdateSetExportError';
12
+ }
13
+ }
14
+ //# sourceMappingURL=UpdateSetExportModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSetExportModels.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetExportModels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmEH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACR;IAAgD;IAAnF,YAAmC,IAA8B,EAAkB,MAAmC;QAClH,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QADZ,SAAI,GAAJ,IAAI,CAA0B;QAAkB,WAAM,GAAN,MAAM,CAA6B;QAElH,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ"}
@@ -0,0 +1,60 @@
1
+ import type { ServiceNowInstance } from '../ServiceNowInstance.js';
2
+ import type { UpdateSetExportOptions, UpdateSetExportResult } from './UpdateSetExportModels.js';
3
+ /**
4
+ * Exports an update set to the XML unload the platform's own UI actions produce, and checks the file.
5
+ *
6
+ * - A local set uses **Export to XML** (`UpdateSetExport.exportUpdateSet`, then `export_update_set.do`).
7
+ * - A local batch base uses **Export Update Set Batch to XML** (`exportHierarchy`, then
8
+ * `export_base_update_set.do`).
9
+ * - A Retrieved Update Set is a plain read of the same processors with `sysparm_is_remote=true`.
10
+ *
11
+ * A local export copies the set into a temporary Retrieved Update Set (state `loaded`), which the
12
+ * download deletes. Left behind, it would sit under Retrieved Update Sets ready to preview and commit,
13
+ * so the exporter reads it back afterwards, deletes it if the platform did not, and refuses to report
14
+ * success while one remains. The file must hold exactly the expected sets and sys_update_xml rows.
15
+ */
16
+ export declare class UpdateSetExporter {
17
+ private readonly _instance;
18
+ private readonly _request;
19
+ private readonly _reader;
20
+ /** How long to wait for the platform to finish deleting a temporary copy's rows (about 15 seconds). */
21
+ private readonly _poll;
22
+ constructor(_instance: ServiceNowInstance);
23
+ /**
24
+ * Export one update set, a batch base with its children, or a Retrieved Update Set.
25
+ *
26
+ * @param sysId A sys_update_set or sys_remote_update_set sys_id.
27
+ * @throws UpdateSetExportError when the set cannot be exported as asked or the file does not match it.
28
+ */
29
+ exportUpdateSet(sysId: string, options?: UpdateSetExportOptions): Promise<UpdateSetExportResult>;
30
+ /** Which sets the platform will put in the file, refusing what its UI would not offer. */
31
+ private plan;
32
+ /** The sets exportHierarchy walks: children by parent, Complete only unless includeIncomplete. */
33
+ private hierarchy;
34
+ /** Make the temporary copy with the platform's own UpdateSetExport, as the UI action does. */
35
+ private copy;
36
+ /**
37
+ * The script's result is unknown: report any copy of this set that appeared meanwhile instead of
38
+ * deleting it, because another session may be exporting the same set.
39
+ */
40
+ private leftovers;
41
+ /** Retrieved Update Set copies of a local set, by remote_sys_id. */
42
+ private copies;
43
+ private download;
44
+ /**
45
+ * Remove the temporary copy if the download did not, and prove that neither it nor its rows remain.
46
+ * The platform's delete runs after the download returns: live, a batch's copies and a set's rows were
47
+ * still readable at first. So after a good download the exporter waits for the platform before
48
+ * deleting anything itself, and a delete that races the platform's is settled by the read-back.
49
+ */
50
+ private cleanup;
51
+ private parse;
52
+ /** The file holds exactly the planned sets, each with its own number of sys_update_xml rows. */
53
+ private verify;
54
+ private result;
55
+ private token;
56
+ /** sys_update_xml counts come from the Stats API: a set can hold more rows than a paged read allows. */
57
+ private count;
58
+ /** Reads raise MetadataScopeError('evidence_unavailable'); export callers see their own code. */
59
+ private evidence;
60
+ }
@@ -0,0 +1,365 @@
1
+ import { Parser } from 'xml2js';
2
+ import { SessionManager } from '../../comm/http/SessionManager.js';
3
+ import { checkRequirement } from '../../policy/Policy.js';
4
+ import { policyRefusal } from '../../policy/PolicyRefusal.js';
5
+ import { READ_ONLY } from '../../policy/PolicyTypes.js';
6
+ import { CSRFTokenHelper } from '../../util/CSRFTokenHelper.js';
7
+ import { BackgroundScriptExecutor } from '../BackgroundScriptExecutor.js';
8
+ import { MetadataScopeError } from '../metadata/MetadataScopeError.js';
9
+ import { MetadataReader } from '../metadata/internal/MetadataReader.js';
10
+ import { UpdateSetExportError } from './UpdateSetExportModels.js';
11
+ const ID = /^[a-f0-9]{32}$/;
12
+ const MARKER = 'NEX_EXPORT_RESULT=';
13
+ const SINGLE = '/export_update_set.do';
14
+ const BATCH = '/export_base_update_set.do';
15
+ const MAX_DEPTH = 20;
16
+ /**
17
+ * Exports an update set to the XML unload the platform's own UI actions produce, and checks the file.
18
+ *
19
+ * - A local set uses **Export to XML** (`UpdateSetExport.exportUpdateSet`, then `export_update_set.do`).
20
+ * - A local batch base uses **Export Update Set Batch to XML** (`exportHierarchy`, then
21
+ * `export_base_update_set.do`).
22
+ * - A Retrieved Update Set is a plain read of the same processors with `sysparm_is_remote=true`.
23
+ *
24
+ * A local export copies the set into a temporary Retrieved Update Set (state `loaded`), which the
25
+ * download deletes. Left behind, it would sit under Retrieved Update Sets ready to preview and commit,
26
+ * so the exporter reads it back afterwards, deletes it if the platform did not, and refuses to report
27
+ * success while one remains. The file must hold exactly the expected sets and sys_update_xml rows.
28
+ */
29
+ export class UpdateSetExporter {
30
+ _instance;
31
+ _request;
32
+ _reader;
33
+ /** How long to wait for the platform to finish deleting a temporary copy's rows (about 15 seconds). */
34
+ _poll = { attempts: 30, delayMs: 500 };
35
+ constructor(_instance) {
36
+ this._instance = _instance;
37
+ this._request = SessionManager.getInstance().getRequest(_instance);
38
+ this._reader = new MetadataReader(this._request);
39
+ }
40
+ /**
41
+ * Export one update set, a batch base with its children, or a Retrieved Update Set.
42
+ *
43
+ * @param sysId A sys_update_set or sys_remote_update_set sys_id.
44
+ * @throws UpdateSetExportError when the set cannot be exported as asked or the file does not match it.
45
+ */
46
+ async exportUpdateSet(sysId, options = {}) {
47
+ const id = String(sysId ?? '').trim().toLowerCase();
48
+ if (!ID.test(id))
49
+ throw new UpdateSetExportError('invalid_input');
50
+ const plan = await this.evidence(() => this.plan(id, options.includeIncomplete === true));
51
+ const token = await this.token();
52
+ const messages = [];
53
+ if (plan.root.state !== 'complete' && plan.source === 'local') {
54
+ messages.push(`The set is ${plan.root.state}: the file is a snapshot of unfinished work.`);
55
+ }
56
+ if (plan.excluded.length) {
57
+ messages.push(`${plan.excluded.length} batch member(s) that are not Complete were left out, as the platform does; pass includeIncomplete to add them.`);
58
+ }
59
+ if (plan.source === 'retrieved') {
60
+ const xml = await this.download(plan.kind === 'batch' ? BATCH : SINGLE, { sysparm_sys_id: id, sysparm_ck: token, sysparm_is_remote: 'true' }, true);
61
+ this.verify(await this.parse(xml), plan, set => set.sysId);
62
+ return this.result(xml, plan, undefined, messages);
63
+ }
64
+ // The script's write is inside the platform's UpdateSetExport, which the script scan cannot see, so it
65
+ // would be sent with execute alone. Its copy is deleted by a download and a cleanup that need write:
66
+ // refuse here, before anything is copied, rather than leave a Loaded copy that cannot be removed.
67
+ const decision = checkRequirement({ verbs: ['execute', 'write'], target: 'instance' });
68
+ if (!decision.allowed)
69
+ throw policyRefusal(decision);
70
+ const before = await this.evidence(() => this.copies(id));
71
+ const temporary = await this.copy(id, plan.kind === 'batch', options.includeIncomplete === true, before);
72
+ let xml, failure;
73
+ try {
74
+ xml = await this.download(plan.kind === 'batch' ? BATCH : SINGLE, { sysparm_sys_id: temporary, sysparm_ck: token, sysparm_delete_when_done: 'true', sysparm_is_remote: 'false' }, false);
75
+ }
76
+ catch (error) {
77
+ failure = error;
78
+ }
79
+ const removedBy = await this.cleanup(temporary, failure === undefined);
80
+ if (failure !== undefined)
81
+ throw failure;
82
+ const parsed = await this.parse(xml);
83
+ this.verify(parsed, plan, set => set.remoteSysId);
84
+ return this.result(xml, plan, { temporarySysId: temporary, removedBy }, messages);
85
+ }
86
+ /** Which sets the platform will put in the file, refusing what its UI would not offer. */
87
+ async plan(id, includeIncomplete) {
88
+ const local = await this._reader.exact('sys_update_set', id, 'name,state,application,parent,base_update_set');
89
+ if (local) {
90
+ const base = local.base_update_set;
91
+ if (base && base !== id)
92
+ throw new UpdateSetExportError('batch_member', { updateSet: id, base });
93
+ if (local.state !== 'complete' && !includeIncomplete)
94
+ throw new UpdateSetExportError('update_set_incomplete', { updateSet: id, state: local.state });
95
+ const kind = base === id ? 'batch' : 'single';
96
+ const { included, excluded } = kind === 'batch' ? await this.hierarchy(local, includeIncomplete) : { included: [local], excluded: [] };
97
+ const sets = await Promise.all(included.map(async (row) => ({ sysId: row.sys_id, name: row.name, state: row.state,
98
+ records: await this.count('sys_update_xml', `update_set=${row.sys_id}`) })));
99
+ return { source: 'local', kind, root: local, sets, excluded };
100
+ }
101
+ const remote = await this._reader.exact('sys_remote_update_set', id, 'name,state,application,remote_base_update_set');
102
+ if (!remote)
103
+ throw new UpdateSetExportError('update_set_not_found', { updateSet: id });
104
+ const base = remote.remote_base_update_set;
105
+ if (base && base !== id)
106
+ throw new UpdateSetExportError('batch_member', { updateSet: id, base });
107
+ // The platform offers Export to XML on a Retrieved Update Set only while it is Loaded.
108
+ if (remote.state !== 'loaded')
109
+ throw new UpdateSetExportError('retrieved_state', { updateSet: id, state: remote.state });
110
+ const kind = base === id ? 'batch' : 'single';
111
+ const members = kind === 'batch'
112
+ ? [remote, ...(await this._reader.rows('sys_remote_update_set', `remote_base_update_set=${id}^sys_id!=${id}`, 'sys_id,name,state'))]
113
+ : [remote];
114
+ const sets = await Promise.all(members.map(async (row) => ({ sysId: row.sys_id, name: row.name, state: row.state,
115
+ records: await this.count('sys_update_xml', `remote_update_set=${row.sys_id}`) })));
116
+ return { source: 'retrieved', kind, root: remote, sets, excluded: [] };
117
+ }
118
+ /** The sets exportHierarchy walks: children by parent, Complete only unless includeIncomplete. */
119
+ async hierarchy(base, includeIncomplete) {
120
+ const included = [base], excluded = [];
121
+ let level = [base.sys_id];
122
+ for (let depth = 0; level.length; depth++) {
123
+ if (depth >= MAX_DEPTH)
124
+ throw new MetadataScopeError('evidence_unavailable');
125
+ const children = await this._reader.rows('sys_update_set', `parentIN${level.join(',')}`, 'sys_id,name,state,parent');
126
+ const next = [];
127
+ for (const child of children) {
128
+ if (included.some(row => row.sys_id === child.sys_id))
129
+ throw new MetadataScopeError('evidence_unavailable');
130
+ if (includeIncomplete || child.state === 'complete') {
131
+ included.push(child);
132
+ next.push(child.sys_id);
133
+ }
134
+ else
135
+ excluded.push(child);
136
+ }
137
+ level = next;
138
+ }
139
+ // A left-out child's own children are never visited by the platform either.
140
+ let skipped = excluded.map(row => row.sys_id);
141
+ for (let depth = 0; skipped.length; depth++) {
142
+ if (depth >= MAX_DEPTH)
143
+ throw new MetadataScopeError('evidence_unavailable');
144
+ const children = await this._reader.rows('sys_update_set', `parentIN${skipped.join(',')}`, 'sys_id,name,state,parent');
145
+ excluded.push(...children);
146
+ skipped = children.map(row => row.sys_id);
147
+ }
148
+ return { included, excluded };
149
+ }
150
+ /** Make the temporary copy with the platform's own UpdateSetExport, as the UI action does. */
151
+ async copy(id, batch, includeIncomplete, before) {
152
+ const literal = JSON.stringify({ id, batch, onlyCompleted: !includeIncomplete });
153
+ const script = `(function () {
154
+ var P = ${literal};
155
+ function out(value) { gs.print('${MARKER}' + JSON.stringify(value)); }
156
+ var set = new GlideRecord('sys_update_set');
157
+ if (!set.get(P.id)) { out({ error: 'not_found' }); return; }
158
+ var exporter = new UpdateSetExport();
159
+ exporter.onlyIncludeCompletedChildren = P.onlyCompleted;
160
+ out({ id: String(P.batch ? exporter.exportHierarchy(set) : exporter.exportUpdateSet(set)) });
161
+ })();`;
162
+ let lines;
163
+ try {
164
+ const result = await new BackgroundScriptExecutor(this._instance, 'global').executeScript(script, 'global', this._instance);
165
+ lines = [...(result.scriptResults ?? []).map(line => line.line), ...(result.consoleResult ?? [])].map(decode);
166
+ }
167
+ catch (error) {
168
+ return await this.leftovers(id, before, error);
169
+ }
170
+ const line = lines.find(text => text.includes(MARKER));
171
+ let value;
172
+ try {
173
+ value = line ? JSON.parse(line.slice(line.indexOf(MARKER) + MARKER.length)) : undefined;
174
+ }
175
+ catch {
176
+ value = undefined;
177
+ }
178
+ if (typeof value?.id === 'string' && ID.test(value.id))
179
+ return value.id;
180
+ if (value?.error === 'not_found')
181
+ throw new UpdateSetExportError('update_set_not_found', { updateSet: id });
182
+ return await this.leftovers(id, before, new UpdateSetExportError('script_result_unavailable', { updateSet: id }));
183
+ }
184
+ /**
185
+ * The script's result is unknown: report any copy of this set that appeared meanwhile instead of
186
+ * deleting it, because another session may be exporting the same set.
187
+ */
188
+ async leftovers(id, before, error) {
189
+ let after;
190
+ try {
191
+ after = await this.copies(id);
192
+ }
193
+ catch {
194
+ throw error;
195
+ }
196
+ const copies = after.filter(sysId => !before.includes(sysId));
197
+ if (!copies.length)
198
+ throw error;
199
+ // A batch copy's children carry their own remote_sys_id; they point at the copied base instead.
200
+ let children = [];
201
+ try {
202
+ children = (await this._reader.rows('sys_remote_update_set', `remote_base_update_setIN${copies.join(',')}`, 'sys_id')).map(row => row.sys_id);
203
+ }
204
+ catch { /* report the copies found so far */ }
205
+ const temporary = [...new Set([...copies, ...children])];
206
+ throw new UpdateSetExportError(error instanceof UpdateSetExportError ? error.code : 'script_result_unavailable', { updateSet: id, temporary });
207
+ }
208
+ /** Retrieved Update Set copies of a local set, by remote_sys_id. */
209
+ async copies(id) {
210
+ return (await this._reader.rows('sys_remote_update_set', `remote_sys_id=${id}`, 'sys_id')).map(row => row.sys_id);
211
+ }
212
+ async download(path, query, readOnly) {
213
+ const response = await this._request.get({ path, query, body: null, responseFormat: 'text', sensitive: true,
214
+ headers: { Accept: 'application/xml, text/xml, */*' }, ...(readOnly ? { requires: READ_ONLY } : {}) });
215
+ const xml = typeof response.data === 'string' ? response.data : '';
216
+ if (response.status !== 200 || !xml.trim())
217
+ throw new UpdateSetExportError('export_failed', { status: response.status });
218
+ return xml;
219
+ }
220
+ /**
221
+ * Remove the temporary copy if the download did not, and prove that neither it nor its rows remain.
222
+ * The platform's delete runs after the download returns: live, a batch's copies and a set's rows were
223
+ * still readable at first. So after a good download the exporter waits for the platform before
224
+ * deleting anything itself, and a delete that races the platform's is settled by the read-back.
225
+ */
226
+ async cleanup(temporary, downloaded) {
227
+ const query = `sys_id=${temporary}^ORremote_base_update_set=${temporary}`;
228
+ let sets = [temporary];
229
+ const remaining = async () => {
230
+ const found = (await this._reader.rows('sys_remote_update_set', query, 'sys_id')).map(row => row.sys_id);
231
+ sets = [...new Set([...sets, ...found])];
232
+ return { found, rows: await this.count('sys_update_xml', `remote_update_setIN${sets.join(',')}`) };
233
+ };
234
+ const settle = async (left) => {
235
+ for (let attempt = 1; (left.found.length || left.rows) && attempt < this._poll.attempts; attempt++) {
236
+ await new Promise(resolve => setTimeout(resolve, this._poll.delayMs));
237
+ left = await remaining();
238
+ }
239
+ return left;
240
+ };
241
+ let removedBy = 'platform';
242
+ let left;
243
+ try {
244
+ left = await remaining();
245
+ if (downloaded)
246
+ left = await settle(left);
247
+ if (left.found.length) {
248
+ removedBy = 'nex';
249
+ // Children first; deleting a Retrieved Update Set deletes its sys_update_xml rows.
250
+ for (const sysId of [...left.found.filter(sysId => sysId !== temporary), ...left.found.filter(sysId => sysId === temporary)]) {
251
+ try {
252
+ await this._request.delete({ path: `/api/now/table/sys_remote_update_set/${sysId}`, headers: null, query: null, body: null });
253
+ }
254
+ catch { /* the read-back decides */ }
255
+ }
256
+ left = await settle(await remaining());
257
+ }
258
+ }
259
+ catch {
260
+ throw new UpdateSetExportError('cleanup_unverified', { temporary: sets });
261
+ }
262
+ if (left.found.length || left.rows)
263
+ throw new UpdateSetExportError('cleanup_unverified', { temporary: sets });
264
+ return removedBy;
265
+ }
266
+ async parse(xml) {
267
+ let document;
268
+ // xml2js ships no types that the type-aware lint can resolve (as in XMLRecordManager).
269
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
270
+ try {
271
+ document = await new Parser({ explicitArray: true }).parseStringPromise(xml);
272
+ }
273
+ catch {
274
+ throw new UpdateSetExportError('export_mismatch');
275
+ }
276
+ const unload = document?.unload;
277
+ if (!unload || typeof unload !== 'object')
278
+ throw new UpdateSetExportError('export_mismatch');
279
+ const unexpected = Object.keys(unload).filter(key => !['$', 'sys_remote_update_set', 'sys_update_xml'].includes(key));
280
+ if (unexpected.length)
281
+ throw new UpdateSetExportError('export_mismatch');
282
+ const sets = new Map();
283
+ for (const element of array(unload.sys_remote_update_set)) {
284
+ const sysId = text(field(element, 'sys_id'));
285
+ if (!ID.test(sysId))
286
+ throw new UpdateSetExportError('export_mismatch');
287
+ // The batch processor writes the base twice; the same row, imported once.
288
+ sets.set(sysId, { sysId, remoteSysId: text(field(element, 'remote_sys_id')) });
289
+ }
290
+ const records = array(unload.sys_update_xml).map(element => text(field(element, 'remote_update_set')));
291
+ return { sets: [...sets.values()], records };
292
+ }
293
+ /** The file holds exactly the planned sets, each with its own number of sys_update_xml rows. */
294
+ verify(parsed, plan, source) {
295
+ const expected = plan.sets.reduce((sum, set) => sum + set.records, 0);
296
+ const mismatch = () => new UpdateSetExportError('export_mismatch', { updateSet: plan.root.sys_id, expected, actual: parsed.records.length });
297
+ if (parsed.sets.length !== plan.sets.length)
298
+ throw mismatch();
299
+ for (const set of plan.sets) {
300
+ const inFile = parsed.sets.filter(entry => source(entry) === set.sysId);
301
+ if (inFile.length !== 1)
302
+ throw mismatch();
303
+ if (parsed.records.filter(owner => owner === inFile[0].sysId).length !== set.records)
304
+ throw mismatch();
305
+ }
306
+ if (parsed.records.length !== expected)
307
+ throw mismatch();
308
+ }
309
+ result(xml, plan, cleanup, messages) {
310
+ const root = plan.root;
311
+ return { xml, source: plan.source, kind: plan.kind,
312
+ updateSet: { sysId: root.sys_id, name: root.name, state: root.state, application: root.application },
313
+ sets: plan.sets, excluded: plan.excluded.map(row => ({ sysId: row.sys_id, name: row.name, state: row.state })),
314
+ recordCount: plan.sets.reduce((sum, set) => sum + set.records, 0), ...(cleanup ? { cleanup } : {}), messages };
315
+ }
316
+ async token() {
317
+ const response = await this._request.get({ path: '/upload.do', headers: null, query: null, body: null, responseFormat: 'text',
318
+ requires: READ_ONLY, sensitive: true });
319
+ const token = response.status === 200 && typeof response.data === 'string' ? CSRFTokenHelper.extractCSRFToken(response.data) : null;
320
+ if (!token)
321
+ throw new UpdateSetExportError('evidence_unavailable', { status: response.status });
322
+ return token;
323
+ }
324
+ /** sys_update_xml counts come from the Stats API: a set can hold more rows than a paged read allows. */
325
+ async count(table, query) {
326
+ const response = await this._request.get({ path: `/api/now/stats/${table}`,
327
+ headers: { Accept: 'application/json' }, body: null, requires: READ_ONLY, query: { sysparm_query: query, sysparm_count: 'true' } });
328
+ const count = Number(response.bodyObject?.result?.stats?.count);
329
+ if (response.status !== 200 || !Number.isSafeInteger(count) || count < 0)
330
+ throw new UpdateSetExportError('evidence_unavailable');
331
+ return count;
332
+ }
333
+ /** Reads raise MetadataScopeError('evidence_unavailable'); export callers see their own code. */
334
+ async evidence(read) {
335
+ try {
336
+ return await read();
337
+ }
338
+ catch (error) {
339
+ if (error instanceof MetadataScopeError)
340
+ throw new UpdateSetExportError('evidence_unavailable');
341
+ throw error;
342
+ }
343
+ }
344
+ }
345
+ function array(value) {
346
+ return Array.isArray(value) ? value : [];
347
+ }
348
+ function field(element, name) {
349
+ return element && typeof element === 'object' ? element[name] : undefined;
350
+ }
351
+ /** xml2js gives `['id']`, `[{ _: 'id', $: {...} }]` or `[{ $: {...} }]` for an empty element. */
352
+ function text(value) {
353
+ if (Array.isArray(value))
354
+ return text(value[0]);
355
+ if (typeof value === 'string')
356
+ return value.trim();
357
+ if (value && typeof value === 'object' && typeof value._ === 'string')
358
+ return value._.trim();
359
+ return '';
360
+ }
361
+ function decode(text) {
362
+ return String(text ?? '').replace(/<BR\/?>/gi, '').replace(/&quot;/g, '"').replace(/&#39;/g, "'")
363
+ .replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&').trim();
364
+ }
365
+ //# sourceMappingURL=UpdateSetExporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateSetExporter.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetExporter.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,6 @@ export declare class UpdateSetManager {
10
10
  private static readonly UI_CONCOURSEPICKER_CURRENT_PATH;
11
11
  private static readonly UPDATE_SET_TABLE;
12
12
  private static readonly UPDATE_XML_TABLE;
13
- private static readonly UPDATE_SET_EXPORT_PATH;
14
- private static readonly UPLOAD_DO_PATH;
15
13
  private _logger;
16
14
  private _req;
17
15
  private _tableAPI;
@@ -77,9 +75,12 @@ export declare class UpdateSetManager {
77
75
  * @throws Error if updateSetSysId is empty or the update set is not found
78
76
  */
79
77
  inspectUpdateSet(updateSetSysId: string): Promise<InspectUpdateSetResult>;
80
- exportUpdateSet(updateSetSysId: string): Promise<string>;
81
78
  /**
82
- * Fetch the CSRF token from /upload.do by parsing the sysparm_ck hidden input.
79
+ * Export an update set to XML and return the unload.
80
+ *
81
+ * @deprecated Use {@link UpdateSetExporter.exportUpdateSet}, which also reports the sets and record counts in
82
+ * the file and refuses a set that is not Complete unless asked. This wrapper keeps the old behaviour of
83
+ * exporting any state, now through the same platform path as the UI and with the temporary copy cleaned up.
83
84
  */
84
- private _getUploadCSRFToken;
85
+ exportUpdateSet(updateSetSysId: string): Promise<string>;
85
86
  }
@@ -1,8 +1,7 @@
1
1
  import { Logger } from "../../util/Logger.js";
2
- import { CSRFTokenHelper } from "../../util/CSRFTokenHelper.js";
3
2
  import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
4
3
  import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
5
- import { BackgroundScriptExecutor } from "../BackgroundScriptExecutor.js";
4
+ import { UpdateSetExporter } from "./UpdateSetExporter.js";
6
5
  import { WorkingSetManager } from "./WorkingSetManager.js";
7
6
  /**
8
7
  * UpdateSetManager provides operations for managing ServiceNow update sets.
@@ -14,8 +13,6 @@ export class UpdateSetManager {
14
13
  static UI_CONCOURSEPICKER_CURRENT_PATH = '/api/now/ui/concoursepicker/current';
15
14
  static UPDATE_SET_TABLE = 'sys_update_set';
16
15
  static UPDATE_XML_TABLE = 'sys_update_xml';
17
- static UPDATE_SET_EXPORT_PATH = '/export_base_update_set.do';
18
- static UPLOAD_DO_PATH = '/upload.do';
19
16
  _logger = new Logger("UpdateSetManager");
20
17
  _req;
21
18
  _tableAPI;
@@ -423,77 +420,19 @@ export class UpdateSetManager {
423
420
  components
424
421
  };
425
422
  }
423
+ /**
424
+ * Export an update set to XML and return the unload.
425
+ *
426
+ * @deprecated Use {@link UpdateSetExporter.exportUpdateSet}, which also reports the sets and record counts in
427
+ * the file and refuses a set that is not Complete unless asked. This wrapper keeps the old behaviour of
428
+ * exporting any state, now through the same platform path as the UI and with the temporary copy cleaned up.
429
+ */
426
430
  async exportUpdateSet(updateSetSysId) {
427
431
  if (!updateSetSysId || updateSetSysId.trim().length === 0) {
428
432
  throw new Error('Update set sys_id is required');
429
433
  }
430
- this._logger.info(`Exporting update set: ${updateSetSysId}`);
431
- // Step 1: Get CSRF token
432
- const csrfToken = await this._getUploadCSRFToken();
433
- if (!csrfToken) {
434
- throw new Error('Failed to obtain CSRF token from /upload.do. ' +
435
- 'This may indicate an authentication failure or insufficient permissions.');
436
- }
437
- const backgroundScriptExecutor = new BackgroundScriptExecutor(this._instance, 'global');
438
- const script = `
439
- var updateSet = new GlideRecord('sys_update_set');
440
- updateSet.get('${updateSetSysId}');
441
- if (updateSet.isValidRecord()) {
442
- var util = new UpdateSetExport();
443
- var exportID = util.exportHierarchy(updateSet);
444
- gs.print(exportID);
445
- }
446
- `;
447
- const result = await backgroundScriptExecutor.executeScript(script, 'global', this._instance);
448
- if (result.scriptResults.length === 0) {
449
- throw new Error('Failed to export update set: background script produced no output lines. ' +
450
- `rawResult length: ${result.rawResult.length}`);
451
- }
452
- // gs.print output may include HTML (e.g. <BR/>) from the script runner UI
453
- const rawLine = result.scriptResults[0].line.trim();
454
- const idMatch = rawLine.match(/[0-9a-f]{32}/i);
455
- if (!idMatch) {
456
- throw new Error(`Invalid export ID: ${rawLine}`);
457
- }
458
- const exportID = idMatch[0];
459
- const exportRequest = {
460
- path: UpdateSetManager.UPDATE_SET_EXPORT_PATH,
461
- headers: { Accept: 'application/xml, text/xml, */*' },
462
- query: {
463
- sysparm_sys_id: `${exportID}`,
464
- sysparm_ck: csrfToken,
465
- sysparm_delete_when_done: true,
466
- sysparm_is_remote: false
467
- },
468
- body: null
469
- };
470
- const response = await this._req.get(exportRequest);
471
- if (response.status !== 200 || response.data === null || response.data === undefined) {
472
- throw new Error(`Failed to download exported update set XML. Status: ${response.status}`);
473
- }
474
- if (typeof response.data !== 'string') {
475
- throw new Error('Export response was not XML text');
476
- }
477
- return response.data;
478
- }
479
- /**
480
- * Fetch the CSRF token from /upload.do by parsing the sysparm_ck hidden input.
481
- */
482
- async _getUploadCSRFToken() {
483
- const request = {
484
- path: UpdateSetManager.UPLOAD_DO_PATH,
485
- headers: null,
486
- query: null,
487
- body: null
488
- };
489
- const response = await this._req.get(request);
490
- if (response.status === 200 && response.data) {
491
- const token = CSRFTokenHelper.extractCSRFToken(response.data);
492
- this._logger.debug('CSRF token received for update set export', { token });
493
- return token;
494
- }
495
- this._logger.error('Failed to fetch CSRF token from /upload.do', { status: response.status });
496
- return null;
434
+ const result = await new UpdateSetExporter(this._instance).exportUpdateSet(updateSetSysId.trim(), { includeIncomplete: true });
435
+ return result.xml;
497
436
  }
498
437
  }
499
438
  //# sourceMappingURL=UpdateSetManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateSetManager.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateSetManager.js","sourceRoot":"","sources":["../../../src/sn/updateset/UpdateSetManager.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.12.0",
3
+ "version": "6.13.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",