@sonisoft/now-sdk-ext-core 6.7.0 → 6.9.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.
Files changed (57) hide show
  1. package/dist/comm/http/FormHtmlParser.d.ts +2 -2
  2. package/dist/comm/http/FormHtmlParser.js +26 -9
  3. package/dist/comm/http/FormHtmlParser.js.map +1 -1
  4. package/dist/comm/http/FormRecordWriter.d.ts +30 -16
  5. package/dist/comm/http/FormRecordWriter.js +153 -40
  6. package/dist/comm/http/FormRecordWriter.js.map +1 -1
  7. package/dist/comm/http/HTTPRequest.d.ts +4 -0
  8. package/dist/comm/http/RequestHandler.d.ts +1 -0
  9. package/dist/comm/http/RequestHandler.js +34 -22
  10. package/dist/comm/http/RequestHandler.js.map +1 -1
  11. package/dist/comm/http/internal/FormTransportModels.d.ts +26 -0
  12. package/dist/comm/http/internal/FormTransportModels.js +2 -0
  13. package/dist/comm/http/internal/FormTransportModels.js.map +1 -0
  14. package/dist/index.d.ts +8 -1
  15. package/dist/index.js +8 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/policy/ScanScript.js +3 -0
  18. package/dist/policy/ScanScript.js.map +1 -1
  19. package/dist/sn/metadata/FormLayoutWriter.d.ts +22 -0
  20. package/dist/sn/metadata/FormLayoutWriter.js +237 -0
  21. package/dist/sn/metadata/FormLayoutWriter.js.map +1 -0
  22. package/dist/sn/metadata/MetadataFormWriter.d.ts +12 -0
  23. package/dist/sn/metadata/MetadataFormWriter.js +274 -0
  24. package/dist/sn/metadata/MetadataFormWriter.js.map +1 -0
  25. package/dist/sn/metadata/MetadataModels.d.ts +102 -0
  26. package/dist/sn/metadata/MetadataModels.js +2 -0
  27. package/dist/sn/metadata/MetadataModels.js.map +1 -0
  28. package/dist/sn/metadata/MetadataScopeError.d.ts +17 -0
  29. package/dist/sn/metadata/MetadataScopeError.js +32 -0
  30. package/dist/sn/metadata/MetadataScopeError.js.map +1 -0
  31. package/dist/sn/metadata/MetadataVerificationError.d.ts +11 -0
  32. package/dist/sn/metadata/MetadataVerificationError.js +20 -0
  33. package/dist/sn/metadata/MetadataVerificationError.js.map +1 -0
  34. package/dist/sn/metadata/internal/MetadataPreferences.d.ts +12 -0
  35. package/dist/sn/metadata/internal/MetadataPreferences.js +27 -0
  36. package/dist/sn/metadata/internal/MetadataPreferences.js.map +1 -0
  37. package/dist/sn/metadata/internal/MetadataReader.d.ts +9 -0
  38. package/dist/sn/metadata/internal/MetadataReader.js +55 -0
  39. package/dist/sn/metadata/internal/MetadataReader.js.map +1 -0
  40. package/dist/sn/metadata/internal/MetadataScope.d.ts +12 -0
  41. package/dist/sn/metadata/internal/MetadataScope.js +48 -0
  42. package/dist/sn/metadata/internal/MetadataScope.js.map +1 -0
  43. package/dist/sn/metadata/internal/MetadataUpdateNames.d.ts +8 -0
  44. package/dist/sn/metadata/internal/MetadataUpdateNames.js +28 -0
  45. package/dist/sn/metadata/internal/MetadataUpdateNames.js.map +1 -0
  46. package/dist/sn/metadata/internal/SlushbucketPage.d.ts +20 -0
  47. package/dist/sn/metadata/internal/SlushbucketPage.js +67 -0
  48. package/dist/sn/metadata/internal/SlushbucketPage.js.map +1 -0
  49. package/dist/sn/updateset/UpdateSetManager.js +30 -3
  50. package/dist/sn/updateset/UpdateSetManager.js.map +1 -1
  51. package/dist/sn/updateset/WorkingSetManager.d.ts +53 -0
  52. package/dist/sn/updateset/WorkingSetManager.js +275 -0
  53. package/dist/sn/updateset/WorkingSetManager.js.map +1 -0
  54. package/dist/sn/updateset/WorkingSetModels.d.ts +77 -0
  55. package/dist/sn/updateset/WorkingSetModels.js +12 -0
  56. package/dist/sn/updateset/WorkingSetModels.js.map +1 -0
  57. package/package.json +1 -1
@@ -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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"}
@@ -0,0 +1,12 @@
1
+ import type { CustomizationReport, MetadataScopeRef } from '../MetadataModels.js';
2
+ import type { MetadataReader } from './MetadataReader.js';
3
+ export interface ResolvedScope {
4
+ sysId: string;
5
+ scope: string;
6
+ /** An installed Store application: writes need the caller's explicit opt-in. */
7
+ store: boolean;
8
+ }
9
+ /** Resolve an explicit scope to exactly one application. There is no default scope. */
10
+ export declare function resolveScope(reader: MetadataReader, ref: MetadataScopeRef): Promise<ResolvedScope>;
11
+ /** Upgrade evidence for a Store file. Best effort: a missing read never turns a verified write into a failure. */
12
+ export declare function customizationEvidence(reader: MetadataReader, captureId: string | undefined, name: string | undefined): Promise<CustomizationReport>;
@@ -0,0 +1,48 @@
1
+ import { isPolicyRefusal } from '../../../policy/PolicyRefusal.js';
2
+ import { MetadataScopeError } from '../MetadataScopeError.js';
3
+ const ID = /^[a-f0-9]{32}$/i;
4
+ const NAME = /^[a-z0-9_]+$/i;
5
+ /** Resolve an explicit scope to exactly one application. There is no default scope. */
6
+ export async function resolveScope(reader, ref) {
7
+ if (!ref)
8
+ throw new MetadataScopeError('scope_required');
9
+ const id = ref === 'global' ? 'global' : typeof ref === 'object' && 'sysId' in ref ? ref.sysId : undefined;
10
+ const name = typeof ref === 'object' && 'scope' in ref ? ref.scope : undefined;
11
+ if (id ? id !== 'global' && !ID.test(id) : !name || !NAME.test(name) || name === 'global') {
12
+ throw new MetadataScopeError('invalid_input');
13
+ }
14
+ const rows = await reader.rows('sys_scope', id ? `sys_id=${id}` : `scope=${name}^active=true`, 'sys_id,scope,active,sys_class_name');
15
+ if (rows.some(row => id ? row.sys_id !== id : row.scope !== name))
16
+ throw new MetadataScopeError('evidence_unavailable');
17
+ if (!rows.length)
18
+ throw new MetadataScopeError('scope_unknown');
19
+ if (rows.length !== 1)
20
+ throw new MetadataScopeError('scope_ambiguous');
21
+ const app = rows[0];
22
+ if ((!id && app.active !== 'true') || !app.scope || (app.sys_id !== 'global' && !ID.test(app.sys_id)))
23
+ throw new MetadataScopeError('evidence_unavailable');
24
+ const store = app.sys_class_name === 'sys_store_app' || !!await reader.exact('sys_store_app', app.sys_id, 'scope');
25
+ return { sysId: app.sys_id, scope: app.scope, store };
26
+ }
27
+ /** Upgrade evidence for a Store file. Best effort: a missing read never turns a verified write into a failure. */
28
+ export async function customizationEvidence(reader, captureId, name) {
29
+ const report = { storeApplication: true };
30
+ const read = async (collect) => {
31
+ try {
32
+ return await collect();
33
+ }
34
+ catch (error) {
35
+ if (isPolicyRefusal(error))
36
+ throw error;
37
+ return undefined;
38
+ }
39
+ };
40
+ const capture = captureId ? await read(() => reader.exact('sys_update_xml', captureId, 'replace_on_upgrade')) : undefined;
41
+ if (capture && ['true', 'false', '1', '0'].includes(capture.replace_on_upgrade))
42
+ report.replaceOnUpgrade = ['true', '1'].includes(capture.replace_on_upgrade);
43
+ const versions = name ? await read(() => reader.rows('sys_update_version', `name=${name}^source_table=sys_store_app`, 'sys_id,name')) : undefined;
44
+ if (versions)
45
+ report.baselineVersion = versions.some(row => row.name === name);
46
+ return report;
47
+ }
48
+ //# sourceMappingURL=MetadataScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataScope.js","sourceRoot":"","sources":["../../../../src/sn/metadata/internal/MetadataScope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { MetadataRow } from './MetadataReader.js';
2
+ /** Record fields to read so that {@link updateName} can name the capture; empty for `<table>_<sys_id>`. */
3
+ export declare function updateNameFields(table: string): string[];
4
+ /**
5
+ * The sys_update_xml name a change of this record is captured under, or undefined when the record
6
+ * does not supply a usable name (the caller must then fail rather than guess).
7
+ */
8
+ export declare function updateName(table: string, sysId: string, row?: MetadataRow): string | undefined;
@@ -0,0 +1,28 @@
1
+ const PART = /^[a-z0-9_]+$/i;
2
+ /**
3
+ * Tables whose captures coalesce under a platform name rather than `<table>_<sys_id>`, with the
4
+ * record fields that name is built from. Seen on Australia: every later change of the same label
5
+ * or choice list replaces the one capture with that name.
6
+ */
7
+ const COALESCING = {
8
+ sys_documentation: { fields: ['name', 'element', 'language'],
9
+ name: row => `sys_documentation_${row.name}_${row.element}_${row.language}` },
10
+ sys_choice_set: { fields: ['name', 'element'], name: row => `sys_choice_${row.name}_${row.element}` },
11
+ };
12
+ /** Record fields to read so that {@link updateName} can name the capture; empty for `<table>_<sys_id>`. */
13
+ export function updateNameFields(table) {
14
+ return COALESCING[table]?.fields ?? [];
15
+ }
16
+ /**
17
+ * The sys_update_xml name a change of this record is captured under, or undefined when the record
18
+ * does not supply a usable name (the caller must then fail rather than guess).
19
+ */
20
+ export function updateName(table, sysId, row) {
21
+ const rule = COALESCING[table];
22
+ if (!rule)
23
+ return `${table}_${sysId}`;
24
+ if (!row || rule.fields.some(field => !PART.test(row[field] ?? '')))
25
+ return undefined;
26
+ return rule.name(row);
27
+ }
28
+ //# sourceMappingURL=MetadataUpdateNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataUpdateNames.js","sourceRoot":"","sources":["../../../../src/sn/metadata/internal/MetadataUpdateNames.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAG,eAAe,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,GAA6E;IACzF,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE;IACjF,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;CACxG,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC1C,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa,EAAE,GAAiB;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACtF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,20 @@
1
+ /** The parts of the classic Form Layout page (`/slushbucket.do?sysparm_form=section`) a save needs. */
2
+ export interface SlushbucketPage {
3
+ /** Hidden inputs of the `editPage` form, first value per name. */
4
+ inputs: Record<string, string>;
5
+ /** Option values of the Available bucket (`select_0`), in page order. */
6
+ available: string[];
7
+ /** Option values of the Selected bucket (`select_1`): the section's current layout, in order. */
8
+ selected: string[];
9
+ /** Whether the page rendered a Save button. */
10
+ canSave: boolean;
11
+ }
12
+ /** Parse the Form Layout page. Throws when the page has no `editPage` form (a login or error page). */
13
+ export declare function parseSlushbucketPage(html: string): SlushbucketPage;
14
+ /** The Section select's option values from the GlideViewManager `refreshSection` response, in order. */
15
+ export declare function parseSectionChoices(xml: string): string[];
16
+ /**
17
+ * The page's `saveAllSelected` join: comma-separated, with a comma inside a value written `\,`. The page escapes only
18
+ * the delimiter, so a value holding a backslash cannot be encoded unambiguously and is refused (undefined).
19
+ */
20
+ export declare function joinLayoutValues(values: string[]): string | undefined;
@@ -0,0 +1,67 @@
1
+ import { Parser } from 'htmlparser2';
2
+ /** Parse the Form Layout page. Throws when the page has no `editPage` form (a login or error page). */
3
+ export function parseSlushbucketPage(html) {
4
+ const inputs = {};
5
+ const buckets = { select_0: [], select_1: [] };
6
+ let inForm = false, sawForm = false, canSave = false;
7
+ let bucket;
8
+ const parser = new Parser({
9
+ onopentag(tag, attrs) {
10
+ if (tag === 'form') {
11
+ inForm = attrs.name === 'editPage';
12
+ sawForm ||= inForm;
13
+ return;
14
+ }
15
+ if (!inForm)
16
+ return;
17
+ if (tag === 'input' && attrs.name && (attrs.type ?? '').toLowerCase() === 'hidden' && !(attrs.name in inputs && inputs[attrs.name])) {
18
+ inputs[attrs.name] = attrs.value ?? '';
19
+ }
20
+ if (tag === 'select' && (attrs.name === 'select_0' || attrs.name === 'select_1'))
21
+ bucket = attrs.name;
22
+ if (tag === 'option' && bucket && attrs.value !== undefined)
23
+ buckets[bucket].push(attrs.value);
24
+ if (tag === 'button' && attrs.id === 'sysverb_save')
25
+ canSave = true;
26
+ },
27
+ onclosetag(tag) {
28
+ if (tag === 'select')
29
+ bucket = undefined;
30
+ if (tag === 'form')
31
+ inForm = false;
32
+ },
33
+ }, { decodeEntities: true, lowerCaseTags: true, lowerCaseAttributeNames: true });
34
+ parser.write(html);
35
+ parser.end();
36
+ if (!sawForm)
37
+ throw new Error('Not a Form Layout page');
38
+ return { inputs, available: buckets.select_0, selected: buckets.select_1, canSave };
39
+ }
40
+ /** The Section select's option values from the GlideViewManager `refreshSection` response, in order. */
41
+ export function parseSectionChoices(xml) {
42
+ const values = [];
43
+ let inSections = false;
44
+ const parser = new Parser({
45
+ onopentag(tag, attrs) {
46
+ if (tag === 'sections')
47
+ inSections = true;
48
+ if (inSections && tag === 'choice' && attrs.value)
49
+ values.push(attrs.value);
50
+ },
51
+ onclosetag(tag) { if (tag === 'sections')
52
+ inSections = false; },
53
+ }, { xmlMode: true, decodeEntities: true, lowerCaseTags: true, lowerCaseAttributeNames: true });
54
+ parser.write(xml);
55
+ parser.end();
56
+ return values;
57
+ }
58
+ /**
59
+ * The page's `saveAllSelected` join: comma-separated, with a comma inside a value written `\,`. The page escapes only
60
+ * the delimiter, so a value holding a backslash cannot be encoded unambiguously and is refused (undefined).
61
+ */
62
+ export function joinLayoutValues(values) {
63
+ if (values.some(value => value.includes('\\')))
64
+ return undefined;
65
+ return values.map(value => value.split(',').join('\\,')).join(',');
66
+ }
67
+ //# sourceMappingURL=SlushbucketPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlushbucketPage.js","sourceRoot":"","sources":["../../../../src/sn/metadata/internal/SlushbucketPage.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { CSRFTokenHelper } from "../../util/CSRFTokenHelper.js";
3
3
  import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
4
4
  import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
5
5
  import { BackgroundScriptExecutor } from "../BackgroundScriptExecutor.js";
6
+ import { WorkingSetManager } from "./WorkingSetManager.js";
6
7
  /**
7
8
  * UpdateSetManager provides operations for managing ServiceNow update sets.
8
9
  * Supports setting/getting the current update set, listing, creating,
@@ -72,10 +73,15 @@ export class UpdateSetManager {
72
73
  if (resp.status === 200 && resp.bodyObject?.result?.currentUpdateSet) {
73
74
  const current = resp.bodyObject.result.currentUpdateSet;
74
75
  this._logger.info(`Current update set: ${current.name}`);
76
+ // The picker reports only name and sys_id; read the real state and application.
77
+ const record = await this._tableAPI.get(`${UpdateSetManager.UPDATE_SET_TABLE}/${current.sysId}`, { sysparm_fields: 'sys_id,name,state,application' });
78
+ const row = record?.status === 200 ? record.bodyObject?.result : undefined;
79
+ const application = typeof row?.application === 'object' ? row.application?.value : row?.application;
75
80
  return {
76
81
  sys_id: current.sysId,
77
82
  name: current.name,
78
- state: 'in progress'
83
+ state: row?.state ?? '',
84
+ ...(application ? { application } : {})
79
85
  };
80
86
  }
81
87
  throw new Error(`Failed to get current update set. Status: ${resp.status}`);
@@ -118,6 +124,15 @@ export class UpdateSetManager {
118
124
  if (!options.name || options.name.trim().length === 0) {
119
125
  throw new Error('Update set name is required');
120
126
  }
127
+ // The Table API drops sys_update_set.application (its create ACL), so a set requested for an
128
+ // application is created through WorkingSetManager, which writes and verifies it.
129
+ if (options.application && (!options.state || options.state === 'in progress')) {
130
+ const created = await new WorkingSetManager(this._instance).createUpdateSet({
131
+ application: options.application, name: options.name, description: options.description
132
+ });
133
+ this._logger.info(`Created update set: ${created.name} with sys_id: ${created.sysId} in ${created.application}`);
134
+ return { sys_id: created.sysId, name: created.name, state: created.state, application: created.application, description: options.description };
135
+ }
121
136
  this._logger.info(`Creating update set: ${options.name}`);
122
137
  const body = {
123
138
  name: options.name,
@@ -152,6 +167,10 @@ export class UpdateSetManager {
152
167
  if (!options.recordSysIds && !options.timeRange && !options.sourceUpdateSet) {
153
168
  throw new Error('At least one selection criteria is required: recordSysIds, timeRange, or sourceUpdateSet');
154
169
  }
170
+ if (options.timeRange && !options.recordSysIds && !options.sourceUpdateSet) {
171
+ // A time range alone selects every capture on the instance in that window, from every user and set.
172
+ throw new Error('timeRange requires sourceUpdateSet or recordSysIds');
173
+ }
155
174
  this._logger.info(`Moving records to update set: ${targetUpdateSetId}`);
156
175
  const result = {
157
176
  moved: 0,
@@ -205,7 +224,13 @@ export class UpdateSetManager {
205
224
  options.onProgress(`Moving record ${record.sys_id} (${record.name || record.type || 'unknown'})`);
206
225
  }
207
226
  const putResp = await this._tableAPI.put(UpdateSetManager.UPDATE_XML_TABLE, record.sys_id, { update_set: targetUpdateSetId });
208
- if (putResp && (putResp.status === 200 || putResp.status === 201)) {
227
+ // The platform's move rule can abort a cross-scope move without an error status: read it back.
228
+ const after = putResp && (putResp.status === 200 || putResp.status === 201)
229
+ ? await this._tableAPI.get(`${UpdateSetManager.UPDATE_XML_TABLE}/${record.sys_id}`, { sysparm_fields: 'sys_id,update_set' })
230
+ : undefined;
231
+ const landed = after?.bodyObject?.result?.update_set;
232
+ const landedId = typeof landed === 'object' ? landed?.value : landed;
233
+ if (landedId === targetUpdateSetId) {
209
234
  result.moved++;
210
235
  result.records.push({
211
236
  sys_id: record.sys_id,
@@ -224,7 +249,9 @@ export class UpdateSetManager {
224
249
  });
225
250
  result.errors.push({
226
251
  sys_id: record.sys_id,
227
- error: `Unexpected status: ${putResp?.status ?? 'unknown'}`
252
+ error: putResp && (putResp.status === 200 || putResp.status === 201)
253
+ ? 'Move not applied: the record is not in the target update set (a cross-scope move is aborted by the platform)'
254
+ : `Unexpected status: ${putResp?.status ?? 'unknown'}`
228
255
  });
229
256
  }
230
257
  }
@@ -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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"}
@@ -0,0 +1,53 @@
1
+ import type { ServiceNowInstance } from '../ServiceNowInstance.js';
2
+ import type { CompleteUpdateSetOptions, CreateScopedUpdateSetOptions, MoveCaptureOptions, MoveCaptureResult, UpdateSetSummary, UseUpdateSetOptions, UseUpdateSetResult, WorkingSet, RestoreWorkingSetResult } from './WorkingSetModels.js';
3
+ /**
4
+ * Update-set lifecycle for changes in any application, including installed Store applications and
5
+ * Global: create a set that really belongs to the application, make it the user's working set in
6
+ * every later session, move one capture into it, complete it, and restore the previous working set.
7
+ *
8
+ * Every step reads its outcome back and throws {@link WorkingSetError} rather than report success
9
+ * it did not observe. Only creating a set and saving the working-set preferences run as background
10
+ * scripts: the Table API drops sys_update_set.application, and no API persists apps.current_app.
11
+ */
12
+ export declare class WorkingSetManager {
13
+ private readonly _instance;
14
+ private readonly _request;
15
+ private readonly _reader;
16
+ constructor(_instance: ServiceNowInstance);
17
+ /** The authenticated user's current application and update set. */
18
+ getWorkingSet(): Promise<WorkingSet>;
19
+ /** Read one update set. */
20
+ getUpdateSet(sysId: string): Promise<UpdateSetSummary>;
21
+ /** Create an In progress set whose application is verified to be the requested one. */
22
+ createUpdateSet(options: CreateScopedUpdateSetOptions): Promise<UpdateSetSummary>;
23
+ /**
24
+ * Make an In progress set the user's working set in every later session: apps.current_app,
25
+ * sys_update_set and updateSetForScope<application> are saved and read back. A Default is
26
+ * refused unless `allowDefault` (for restoring a previous context only).
27
+ */
28
+ useUpdateSet(sysId: string, options?: UseUpdateSetOptions): Promise<UseUpdateSetResult>;
29
+ /**
30
+ * Put back a working set returned by {@link useUpdateSet}. When its set has closed since, the
31
+ * application's single In progress Default is used instead and reported as the fallback.
32
+ */
33
+ restoreWorkingSet(previous: WorkingSet): Promise<RestoreWorkingSetResult>;
34
+ /**
35
+ * Move one capture between two In progress sets of the same application, as the platform's
36
+ * "Handle updates moving between sets" rule allows, and read the move back. Refused before the
37
+ * move when the scopes differ, the target is a Default, the target already holds a capture of
38
+ * the same record, or a newer capture of the same record exists elsewhere.
39
+ */
40
+ moveCapture(options: MoveCaptureOptions): Promise<MoveCaptureResult>;
41
+ /**
42
+ * Mark a set Complete after checking that it holds exactly `expectedCaptures` rows, all of the
43
+ * set's own application, one per record, and that no other user is working in it. Reads the
44
+ * state back. The caller restores its own working set afterwards ({@link restoreWorkingSet}).
45
+ */
46
+ completeUpdateSet(sysId: string, options: CompleteUpdateSetOptions): Promise<UpdateSetSummary>;
47
+ private user;
48
+ /** The value a set of this application carries in sys_update_set.application. */
49
+ private application;
50
+ private persist;
51
+ /** Run a global background script with JSON parameters `P`; `out(value)` returns one JSON result. */
52
+ private script;
53
+ }