@sonisoft/now-sdk-ext-core 2.4.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/index.d.ts +10 -0
  2. package/dist/index.js +10 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/sn/aggregate/AggregateModels.d.ts +89 -0
  5. package/dist/sn/aggregate/AggregateModels.js +5 -0
  6. package/dist/sn/aggregate/AggregateModels.js.map +1 -0
  7. package/dist/sn/aggregate/AggregateQuery.d.ts +50 -0
  8. package/dist/sn/aggregate/AggregateQuery.js +144 -0
  9. package/dist/sn/aggregate/AggregateQuery.js.map +1 -0
  10. package/dist/sn/batch/QueryBatchModels.d.ts +93 -0
  11. package/dist/sn/batch/QueryBatchModels.js +5 -0
  12. package/dist/sn/batch/QueryBatchModels.js.map +1 -0
  13. package/dist/sn/batch/QueryBatchOperations.d.ts +41 -0
  14. package/dist/sn/batch/QueryBatchOperations.js +195 -0
  15. package/dist/sn/batch/QueryBatchOperations.js.map +1 -0
  16. package/dist/sn/cmdb/CMDBModels.d.ts +141 -0
  17. package/dist/sn/cmdb/CMDBModels.js +5 -0
  18. package/dist/sn/cmdb/CMDBModels.js.map +1 -0
  19. package/dist/sn/cmdb/CMDBRelationships.d.ts +60 -0
  20. package/dist/sn/cmdb/CMDBRelationships.js +286 -0
  21. package/dist/sn/cmdb/CMDBRelationships.js.map +1 -0
  22. package/dist/sn/discovery/DiscoveryModels.d.ts +160 -0
  23. package/dist/sn/discovery/DiscoveryModels.js +5 -0
  24. package/dist/sn/discovery/DiscoveryModels.js.map +1 -0
  25. package/dist/sn/discovery/InstanceDiscovery.d.ts +45 -0
  26. package/dist/sn/discovery/InstanceDiscovery.js +163 -0
  27. package/dist/sn/discovery/InstanceDiscovery.js.map +1 -0
  28. package/dist/sn/health/HealthModels.d.ts +124 -0
  29. package/dist/sn/health/HealthModels.js +5 -0
  30. package/dist/sn/health/HealthModels.js.map +1 -0
  31. package/dist/sn/health/InstanceHealth.d.ts +58 -0
  32. package/dist/sn/health/InstanceHealth.js +221 -0
  33. package/dist/sn/health/InstanceHealth.js.map +1 -0
  34. package/dist/sn/scope/ScopeManager.d.ts +7 -7
  35. package/dist/sn/scope/ScopeManager.js +19 -14
  36. package/dist/sn/scope/ScopeManager.js.map +1 -1
  37. package/dist/sn/scope/ScopeModels.d.ts +9 -3
  38. package/dist/sn/updateset/UpdateSetManager.d.ts +3 -3
  39. package/dist/sn/updateset/UpdateSetManager.js +12 -7
  40. package/dist/sn/updateset/UpdateSetManager.js.map +1 -1
  41. package/dist/sn/updateset/UpdateSetModels.d.ts +11 -0
  42. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceDiscovery.js","sourceRoot":"","sources":["../../../src/sn/discovery/InstanceDiscovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Options for the health check.
3
+ */
4
+ export interface HealthCheckOptions {
5
+ /** Include instance version info from sys_properties. Defaults to true. */
6
+ includeVersion?: boolean;
7
+ /** Include cluster node status from sys_cluster_state. Defaults to true. */
8
+ includeCluster?: boolean;
9
+ /** Include stuck job detection from sys_trigger. Defaults to true. */
10
+ includeStuckJobs?: boolean;
11
+ /** Include active semaphore count from sys_semaphore. Defaults to true. */
12
+ includeSemaphores?: boolean;
13
+ /** Include operational counts (incidents, changes, problems). Defaults to true. */
14
+ includeOperationalCounts?: boolean;
15
+ /** Threshold in minutes for a job to be considered "stuck". Defaults to 30. */
16
+ stuckJobThresholdMinutes?: number;
17
+ }
18
+ /**
19
+ * Instance version information.
20
+ */
21
+ export interface InstanceVersionInfo {
22
+ /** The WAR version (glide.war) */
23
+ version?: string | null;
24
+ /** Build date (glide.build.date) */
25
+ buildDate?: string | null;
26
+ /** Build tag (glide.build.tag) */
27
+ buildTag?: string | null;
28
+ }
29
+ /**
30
+ * A cluster node status record.
31
+ */
32
+ export interface ClusterNodeStatus {
33
+ /** The system ID */
34
+ sys_id: string;
35
+ /** The node ID */
36
+ node_id?: string;
37
+ /** The node status */
38
+ status?: string;
39
+ /** System updated on */
40
+ sys_updated_on?: string;
41
+ /** Additional fields */
42
+ [key: string]: unknown;
43
+ }
44
+ /**
45
+ * A stuck job (sys_trigger) record.
46
+ */
47
+ export interface StuckJobRecord {
48
+ /** The system ID */
49
+ sys_id: string;
50
+ /** Name of the trigger */
51
+ name?: string;
52
+ /** The next scheduled action time */
53
+ next_action?: string;
54
+ /** The state of the trigger */
55
+ state?: string;
56
+ /** Additional fields */
57
+ [key: string]: unknown;
58
+ }
59
+ /**
60
+ * Operational record counts.
61
+ */
62
+ export interface OperationalCounts {
63
+ /** Number of open incidents */
64
+ openIncidents?: number | null;
65
+ /** Number of open change requests */
66
+ openChanges?: number | null;
67
+ /** Number of open problems */
68
+ openProblems?: number | null;
69
+ }
70
+ /**
71
+ * Consolidated health check result.
72
+ */
73
+ export interface HealthCheckResult {
74
+ /** Timestamp of the health check */
75
+ timestamp: string;
76
+ /** Instance version information (null if check failed or was skipped) */
77
+ version: InstanceVersionInfo | null;
78
+ /** Cluster node statuses (null if check failed or was skipped) */
79
+ clusterNodes: ClusterNodeStatus[] | null;
80
+ /** Stuck jobs (null if check failed or was skipped) */
81
+ stuckJobs: StuckJobRecord[] | null;
82
+ /** Number of active semaphores (null if check failed or was skipped) */
83
+ activeSemaphoreCount: number | null;
84
+ /** Operational counts (null if check failed or was skipped) */
85
+ operationalCounts: OperationalCounts | null;
86
+ /** Summary string describing overall health */
87
+ summary: string;
88
+ }
89
+ /**
90
+ * A sys_properties record.
91
+ */
92
+ export interface SysPropertyRecord {
93
+ sys_id: string;
94
+ name?: string;
95
+ value?: string;
96
+ [key: string]: unknown;
97
+ }
98
+ /**
99
+ * Response from sys_properties query.
100
+ */
101
+ export interface SysPropertyResponse {
102
+ result: SysPropertyRecord[];
103
+ }
104
+ /**
105
+ * Response from sys_cluster_state query.
106
+ */
107
+ export interface ClusterStateResponse {
108
+ result: ClusterNodeStatus[];
109
+ }
110
+ /**
111
+ * Response from sys_trigger query.
112
+ */
113
+ export interface SysTriggerResponse {
114
+ result: StuckJobRecord[];
115
+ }
116
+ /**
117
+ * Response from sys_semaphore query.
118
+ */
119
+ export interface SysSemaphoreResponse {
120
+ result: Array<{
121
+ sys_id: string;
122
+ [key: string]: unknown;
123
+ }>;
124
+ }
@@ -0,0 +1,5 @@
1
+ // ============================================================
2
+ // Options Types
3
+ // ============================================================
4
+ export {};
5
+ //# sourceMappingURL=HealthModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HealthModels.js","sourceRoot":"","sources":["../../../src/sn/health/HealthModels.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gBAAgB;AAChB,+DAA+D"}
@@ -0,0 +1,58 @@
1
+ import { ServiceNowInstance } from "../ServiceNowInstance.js";
2
+ import { AggregateQuery } from "../aggregate/AggregateQuery.js";
3
+ import { HealthCheckOptions, HealthCheckResult } from './HealthModels.js';
4
+ /**
5
+ * InstanceHealth provides a consolidated health check for a ServiceNow instance.
6
+ * Checks version info, cluster status, stuck jobs, semaphores, and operational counts.
7
+ * Each sub-check is isolated — a failure in one does not affect others.
8
+ */
9
+ export declare class InstanceHealth {
10
+ private static readonly SYS_PROPERTIES_TABLE;
11
+ private static readonly SYS_CLUSTER_STATE_TABLE;
12
+ private static readonly SYS_TRIGGER_TABLE;
13
+ private static readonly SYS_SEMAPHORE_TABLE;
14
+ private _logger;
15
+ private _tableAPI;
16
+ private _aggregateQuery;
17
+ private _instance;
18
+ constructor(instance: ServiceNowInstance, aggregateQuery?: AggregateQuery);
19
+ /**
20
+ * Run a consolidated health check on the instance.
21
+ * Each sub-check is wrapped in try/catch — failures return null for that check
22
+ * without affecting the overall result.
23
+ *
24
+ * @param options Options to control which checks are run
25
+ * @returns HealthCheckResult with all collected information and a summary
26
+ */
27
+ checkHealth(options?: HealthCheckOptions): Promise<HealthCheckResult>;
28
+ /**
29
+ * Get instance version information from sys_properties.
30
+ * @private
31
+ */
32
+ private _getVersionInfo;
33
+ /**
34
+ * Get cluster node status from sys_cluster_state.
35
+ * @private
36
+ */
37
+ private _getClusterStatus;
38
+ /**
39
+ * Get stuck jobs from sys_trigger (state=0 and next_action overdue).
40
+ * @private
41
+ */
42
+ private _getStuckJobs;
43
+ /**
44
+ * Get count of active semaphores from sys_semaphore.
45
+ * @private
46
+ */
47
+ private _getActiveSemaphores;
48
+ /**
49
+ * Get operational counts using AggregateQuery.
50
+ * @private
51
+ */
52
+ private _getOperationalCounts;
53
+ /**
54
+ * Build a human-readable summary string from the health check results.
55
+ * @private
56
+ */
57
+ private _buildSummary;
58
+ }
@@ -0,0 +1,221 @@
1
+ import { Logger } from "../../util/Logger.js";
2
+ import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
3
+ import { AggregateQuery } from "../aggregate/AggregateQuery.js";
4
+ /**
5
+ * InstanceHealth provides a consolidated health check for a ServiceNow instance.
6
+ * Checks version info, cluster status, stuck jobs, semaphores, and operational counts.
7
+ * Each sub-check is isolated — a failure in one does not affect others.
8
+ */
9
+ export class InstanceHealth {
10
+ static SYS_PROPERTIES_TABLE = 'sys_properties';
11
+ static SYS_CLUSTER_STATE_TABLE = 'sys_cluster_state';
12
+ static SYS_TRIGGER_TABLE = 'sys_trigger';
13
+ static SYS_SEMAPHORE_TABLE = 'sys_semaphore';
14
+ _logger = new Logger("InstanceHealth");
15
+ _tableAPI;
16
+ _aggregateQuery;
17
+ _instance;
18
+ constructor(instance, aggregateQuery) {
19
+ this._instance = instance;
20
+ this._tableAPI = new TableAPIRequest(instance);
21
+ this._aggregateQuery = aggregateQuery || new AggregateQuery(instance);
22
+ }
23
+ /**
24
+ * Run a consolidated health check on the instance.
25
+ * Each sub-check is wrapped in try/catch — failures return null for that check
26
+ * without affecting the overall result.
27
+ *
28
+ * @param options Options to control which checks are run
29
+ * @returns HealthCheckResult with all collected information and a summary
30
+ */
31
+ async checkHealth(options = {}) {
32
+ const includeVersion = options.includeVersion !== false;
33
+ const includeCluster = options.includeCluster !== false;
34
+ const includeStuckJobs = options.includeStuckJobs !== false;
35
+ const includeSemaphores = options.includeSemaphores !== false;
36
+ const includeOperationalCounts = options.includeOperationalCounts !== false;
37
+ const stuckJobThreshold = options.stuckJobThresholdMinutes ?? 30;
38
+ this._logger.info('Running instance health check');
39
+ const version = includeVersion ? await this._getVersionInfo() : null;
40
+ const clusterNodes = includeCluster ? await this._getClusterStatus() : null;
41
+ const stuckJobs = includeStuckJobs ? await this._getStuckJobs(stuckJobThreshold) : null;
42
+ const activeSemaphoreCount = includeSemaphores ? await this._getActiveSemaphores() : null;
43
+ const operationalCounts = includeOperationalCounts ? await this._getOperationalCounts() : null;
44
+ const summary = this._buildSummary(version, clusterNodes, stuckJobs, activeSemaphoreCount, operationalCounts);
45
+ this._logger.info(`Health check complete: ${summary}`);
46
+ return {
47
+ timestamp: new Date().toISOString(),
48
+ version,
49
+ clusterNodes,
50
+ stuckJobs,
51
+ activeSemaphoreCount,
52
+ operationalCounts,
53
+ summary
54
+ };
55
+ }
56
+ /**
57
+ * Get instance version information from sys_properties.
58
+ * @private
59
+ */
60
+ async _getVersionInfo() {
61
+ try {
62
+ const query = {
63
+ sysparm_query: 'nameINglide.war,glide.build.date,glide.build.tag',
64
+ sysparm_limit: 10
65
+ };
66
+ const response = await this._tableAPI.get(InstanceHealth.SYS_PROPERTIES_TABLE, query);
67
+ if (response && response.status === 200 && response.bodyObject?.result) {
68
+ const props = response.bodyObject.result;
69
+ const versionInfo = {};
70
+ for (const prop of props) {
71
+ switch (prop.name) {
72
+ case 'glide.war':
73
+ versionInfo.version = prop.value || null;
74
+ break;
75
+ case 'glide.build.date':
76
+ versionInfo.buildDate = prop.value || null;
77
+ break;
78
+ case 'glide.build.tag':
79
+ versionInfo.buildTag = prop.value || null;
80
+ break;
81
+ }
82
+ }
83
+ return versionInfo;
84
+ }
85
+ return null;
86
+ }
87
+ catch (err) {
88
+ this._logger.error(`Failed to get version info: ${err}`);
89
+ return null;
90
+ }
91
+ }
92
+ /**
93
+ * Get cluster node status from sys_cluster_state.
94
+ * @private
95
+ */
96
+ async _getClusterStatus() {
97
+ try {
98
+ const query = {
99
+ sysparm_limit: 100
100
+ };
101
+ const response = await this._tableAPI.get(InstanceHealth.SYS_CLUSTER_STATE_TABLE, query);
102
+ if (response && response.status === 200 && response.bodyObject?.result) {
103
+ return response.bodyObject.result;
104
+ }
105
+ return null;
106
+ }
107
+ catch (err) {
108
+ this._logger.error(`Failed to get cluster status: ${err}`);
109
+ return null;
110
+ }
111
+ }
112
+ /**
113
+ * Get stuck jobs from sys_trigger (state=0 and next_action overdue).
114
+ * @private
115
+ */
116
+ async _getStuckJobs(thresholdMinutes) {
117
+ try {
118
+ const query = {
119
+ sysparm_query: `state=0^next_action<javascript:gs.minutesAgoStart(${thresholdMinutes})`,
120
+ sysparm_limit: 100
121
+ };
122
+ const response = await this._tableAPI.get(InstanceHealth.SYS_TRIGGER_TABLE, query);
123
+ if (response && response.status === 200 && response.bodyObject?.result) {
124
+ return response.bodyObject.result;
125
+ }
126
+ return null;
127
+ }
128
+ catch (err) {
129
+ this._logger.error(`Failed to get stuck jobs: ${err}`);
130
+ return null;
131
+ }
132
+ }
133
+ /**
134
+ * Get count of active semaphores from sys_semaphore.
135
+ * @private
136
+ */
137
+ async _getActiveSemaphores() {
138
+ try {
139
+ const query = {
140
+ sysparm_limit: 1000
141
+ };
142
+ const response = await this._tableAPI.get(InstanceHealth.SYS_SEMAPHORE_TABLE, query);
143
+ if (response && response.status === 200 && response.bodyObject?.result) {
144
+ return response.bodyObject.result.length;
145
+ }
146
+ return null;
147
+ }
148
+ catch (err) {
149
+ this._logger.error(`Failed to get active semaphores: ${err}`);
150
+ return null;
151
+ }
152
+ }
153
+ /**
154
+ * Get operational counts using AggregateQuery.
155
+ * @private
156
+ */
157
+ async _getOperationalCounts() {
158
+ try {
159
+ const counts = {};
160
+ try {
161
+ counts.openIncidents = await this._aggregateQuery.count({ table: 'incident', query: 'active=true' });
162
+ }
163
+ catch {
164
+ counts.openIncidents = null;
165
+ }
166
+ try {
167
+ counts.openChanges = await this._aggregateQuery.count({ table: 'change_request', query: 'active=true' });
168
+ }
169
+ catch {
170
+ counts.openChanges = null;
171
+ }
172
+ try {
173
+ counts.openProblems = await this._aggregateQuery.count({ table: 'problem', query: 'active=true' });
174
+ }
175
+ catch {
176
+ counts.openProblems = null;
177
+ }
178
+ return counts;
179
+ }
180
+ catch (err) {
181
+ this._logger.error(`Failed to get operational counts: ${err}`);
182
+ return null;
183
+ }
184
+ }
185
+ /**
186
+ * Build a human-readable summary string from the health check results.
187
+ * @private
188
+ */
189
+ _buildSummary(version, clusterNodes, stuckJobs, activeSemaphoreCount, operationalCounts) {
190
+ const parts = [];
191
+ if (version) {
192
+ parts.push(`Version: ${version.version || 'unknown'}${version.buildTag ? ` (${version.buildTag})` : ''}`);
193
+ }
194
+ if (clusterNodes !== null) {
195
+ parts.push(`Cluster: ${clusterNodes.length} node(s)`);
196
+ }
197
+ if (stuckJobs !== null) {
198
+ parts.push(`Stuck jobs: ${stuckJobs.length}`);
199
+ }
200
+ if (activeSemaphoreCount !== null) {
201
+ parts.push(`Active semaphores: ${activeSemaphoreCount}`);
202
+ }
203
+ if (operationalCounts) {
204
+ const countParts = [];
205
+ if (operationalCounts.openIncidents !== null && operationalCounts.openIncidents !== undefined) {
206
+ countParts.push(`${operationalCounts.openIncidents} incidents`);
207
+ }
208
+ if (operationalCounts.openChanges !== null && operationalCounts.openChanges !== undefined) {
209
+ countParts.push(`${operationalCounts.openChanges} changes`);
210
+ }
211
+ if (operationalCounts.openProblems !== null && operationalCounts.openProblems !== undefined) {
212
+ countParts.push(`${operationalCounts.openProblems} problems`);
213
+ }
214
+ if (countParts.length > 0) {
215
+ parts.push(`Open: ${countParts.join(', ')}`);
216
+ }
217
+ }
218
+ return parts.length > 0 ? parts.join(' | ') : 'Health check completed (no data collected)';
219
+ }
220
+ }
221
+ //# sourceMappingURL=InstanceHealth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceHealth.js","sourceRoot":"","sources":["../../../src/sn/health/InstanceHealth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAc7D;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACf,MAAM,CAAU,oBAAoB,GAAG,gBAAgB,CAAC;IACxD,MAAM,CAAU,uBAAuB,GAAG,mBAAmB,CAAC;IAC9D,MAAM,CAAU,iBAAiB,GAAG,aAAa,CAAC;IAClD,MAAM,CAAU,mBAAmB,GAAG,eAAe,CAAC;IAEtD,OAAO,GAAW,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/C,SAAS,CAAkB;IAC3B,eAAe,CAAiB;IAChC,SAAS,CAAqB;IAEtC,YAAmB,QAA4B,EAAE,cAA+B;QAC5E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,cAAc,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QACrD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC;QACxD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC;QACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;QAC5D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,KAAK,KAAK,CAAC;QAC9D,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,KAAK,KAAK,CAAC;QAC5E,MAAM,iBAAiB,GAAG,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/F,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QAE9G,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;QAEvD,OAAO;YACH,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO;YACP,YAAY;YACZ,SAAS;YACT,oBAAoB;YACpB,iBAAiB;YACjB,OAAO;SACV,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe;QACzB,IAAI,CAAC;YACD,MAAM,KAAK,GAAoC;gBAC3C,aAAa,EAAE,kDAAkD;gBACjE,aAAa,EAAE,EAAE;aACpB,CAAC;YAEF,MAAM,QAAQ,GAAuC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACzE,cAAc,CAAC,oBAAoB,EACnC,KAAK,CACR,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBACzC,MAAM,WAAW,GAAwB,EAAE,CAAC;gBAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChB,KAAK,WAAW;4BACZ,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;4BACzC,MAAM;wBACV,KAAK,kBAAkB;4BACnB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;4BAC3C,MAAM;wBACV,KAAK,iBAAiB;4BAClB,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;4BAC1C,MAAM;oBACd,CAAC;gBACL,CAAC;gBAED,OAAO,WAAW,CAAC;YACvB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC;YACD,MAAM,KAAK,GAAoC;gBAC3C,aAAa,EAAE,GAAG;aACrB,CAAC;YAEF,MAAM,QAAQ,GAAwC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAC1E,cAAc,CAAC,uBAAuB,EACtC,KAAK,CACR,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrE,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,gBAAwB;QAChD,IAAI,CAAC;YACD,MAAM,KAAK,GAAoC;gBAC3C,aAAa,EAAE,qDAAqD,gBAAgB,GAAG;gBACvF,aAAa,EAAE,GAAG;aACrB,CAAC;YAEF,MAAM,QAAQ,GAAsC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACxE,cAAc,CAAC,iBAAiB,EAChC,KAAK,CACR,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrE,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB;QAC9B,IAAI,CAAC;YACD,MAAM,KAAK,GAAoC;gBAC3C,aAAa,EAAE,IAAI;aACtB,CAAC;YAEF,MAAM,QAAQ,GAAwC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAC1E,cAAc,CAAC,mBAAmB,EAClC,KAAK,CACR,CAAC;YAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACrE,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7C,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB;QAC/B,IAAI,CAAC;YACD,MAAM,MAAM,GAAsB,EAAE,CAAC;YAErC,IAAI,CAAC;gBACD,MAAM,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YACzG,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAC7G,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YACvG,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,aAAa,CACjB,OAAmC,EACnC,YAAwC,EACxC,SAAkC,EAClC,oBAAmC,EACnC,iBAA2C;QAE3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,IAAI,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,MAAM,UAAU,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,sBAAsB,oBAAoB,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACpB,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,IAAI,iBAAiB,CAAC,aAAa,KAAK,IAAI,IAAI,iBAAiB,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC5F,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,aAAa,YAAY,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,iBAAiB,CAAC,WAAW,KAAK,IAAI,IAAI,iBAAiB,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACxF,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,UAAU,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,iBAAiB,CAAC,YAAY,KAAK,IAAI,IAAI,iBAAiB,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1F,UAAU,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,YAAY,WAAW,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4CAA4C,CAAC;IAC/F,CAAC"}
@@ -7,8 +7,8 @@ import { ApplicationRecord, SetCurrentApplicationResult, ListApplicationsOptions
7
7
  */
8
8
  export declare class ScopeManager {
9
9
  private static readonly UI_APP_PATH;
10
- private static readonly UI_PREF_APP_PATH;
11
- private static readonly SYS_APP_TABLE;
10
+ private static readonly UI_CONCOURSEPICKER_CURRENT_PATH;
11
+ private static readonly SYS_SCOPE_TABLE;
12
12
  private _logger;
13
13
  private _req;
14
14
  private _tableAPI;
@@ -25,15 +25,15 @@ export declare class ScopeManager {
25
25
  */
26
26
  setCurrentApplication(appSysId: string): Promise<SetCurrentApplicationResult>;
27
27
  /**
28
- * Get the current application from session preferences.
29
- * Uses GET /api/now/ui/preferences/apps.current
28
+ * Get the current application scope.
29
+ * Uses GET /api/now/ui/concoursepicker/current
30
30
  *
31
31
  * @returns The current ApplicationRecord or null
32
32
  */
33
33
  getCurrentApplication(): Promise<ApplicationRecord | null>;
34
34
  /**
35
- * List applications from the sys_app table.
36
- * Uses Table API GET on sys_app.
35
+ * List applications from the sys_scope table.
36
+ * Uses Table API GET on sys_scope.
37
37
  *
38
38
  * @param options Optional query and limit options
39
39
  * @returns Array of ApplicationRecord
@@ -41,7 +41,7 @@ export declare class ScopeManager {
41
41
  listApplications(options?: ListApplicationsOptions): Promise<ApplicationRecord[]>;
42
42
  /**
43
43
  * Get a specific application by sys_id.
44
- * Uses Table API GET on sys_app with sys_id filter.
44
+ * Uses Table API GET on sys_scope with sys_id filter.
45
45
  *
46
46
  * @param sysId The sys_id of the application to retrieve
47
47
  * @returns The ApplicationRecord or null if not found
@@ -8,8 +8,8 @@ import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
8
8
  */
9
9
  export class ScopeManager {
10
10
  static UI_APP_PATH = '/api/now/ui/concoursepicker/application';
11
- static UI_PREF_APP_PATH = '/api/now/ui/preferences/apps.current';
12
- static SYS_APP_TABLE = 'sys_app';
11
+ static UI_CONCOURSEPICKER_CURRENT_PATH = '/api/now/ui/concoursepicker/current';
12
+ static SYS_SCOPE_TABLE = 'sys_scope';
13
13
  _logger = new Logger("ScopeManager");
14
14
  _req;
15
15
  _tableAPI;
@@ -44,7 +44,7 @@ export class ScopeManager {
44
44
  sysparm_query: `sys_id=${appSysId}`,
45
45
  sysparm_limit: 1
46
46
  };
47
- const appResp = await this._tableAPI.get(ScopeManager.SYS_APP_TABLE, appQuery);
47
+ const appResp = await this._tableAPI.get(ScopeManager.SYS_SCOPE_TABLE, appQuery);
48
48
  if (!appResp || appResp.status !== 200 || !appResp.bodyObject?.result || appResp.bodyObject.result.length === 0) {
49
49
  throw new Error(`Application '${appSysId}' not found`);
50
50
  }
@@ -102,8 +102,8 @@ export class ScopeManager {
102
102
  };
103
103
  }
104
104
  /**
105
- * Get the current application from session preferences.
106
- * Uses GET /api/now/ui/preferences/apps.current
105
+ * Get the current application scope.
106
+ * Uses GET /api/now/ui/concoursepicker/current
107
107
  *
108
108
  * @returns The current ApplicationRecord or null
109
109
  */
@@ -111,21 +111,26 @@ export class ScopeManager {
111
111
  this._logger.info('Getting current application');
112
112
  const request = {
113
113
  method: 'GET',
114
- path: ScopeManager.UI_PREF_APP_PATH,
114
+ path: ScopeManager.UI_CONCOURSEPICKER_CURRENT_PATH,
115
115
  headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
116
116
  query: null,
117
117
  body: null
118
118
  };
119
119
  const resp = await this._req.get(request);
120
- if (resp.status === 200 && resp.bodyObject?.result) {
121
- this._logger.info(`Current application: ${resp.bodyObject.result.name}`);
122
- return resp.bodyObject.result;
120
+ if (resp.status === 200 && resp.bodyObject?.result?.currentApplication) {
121
+ const current = resp.bodyObject.result.currentApplication;
122
+ this._logger.info(`Current application: ${current.name}`);
123
+ return {
124
+ sys_id: current.sysId,
125
+ name: current.name,
126
+ scope: current.scopeName
127
+ };
123
128
  }
124
129
  throw new Error(`Failed to get current application. Status: ${resp.status}`);
125
130
  }
126
131
  /**
127
- * List applications from the sys_app table.
128
- * Uses Table API GET on sys_app.
132
+ * List applications from the sys_scope table.
133
+ * Uses Table API GET on sys_scope.
129
134
  *
130
135
  * @param options Optional query and limit options
131
136
  * @returns Array of ApplicationRecord
@@ -139,7 +144,7 @@ export class ScopeManager {
139
144
  if (encodedQuery) {
140
145
  query.sysparm_query = encodedQuery;
141
146
  }
142
- const response = await this._tableAPI.get(ScopeManager.SYS_APP_TABLE, query);
147
+ const response = await this._tableAPI.get(ScopeManager.SYS_SCOPE_TABLE, query);
143
148
  if (response.status === 200 && response.bodyObject?.result) {
144
149
  this._logger.info(`Retrieved ${response.bodyObject.result.length} applications`);
145
150
  return response.bodyObject.result;
@@ -148,7 +153,7 @@ export class ScopeManager {
148
153
  }
149
154
  /**
150
155
  * Get a specific application by sys_id.
151
- * Uses Table API GET on sys_app with sys_id filter.
156
+ * Uses Table API GET on sys_scope with sys_id filter.
152
157
  *
153
158
  * @param sysId The sys_id of the application to retrieve
154
159
  * @returns The ApplicationRecord or null if not found
@@ -163,7 +168,7 @@ export class ScopeManager {
163
168
  sysparm_query: `sys_id=${sysId}`,
164
169
  sysparm_limit: 1
165
170
  };
166
- const response = await this._tableAPI.get(ScopeManager.SYS_APP_TABLE, query);
171
+ const response = await this._tableAPI.get(ScopeManager.SYS_SCOPE_TABLE, query);
167
172
  if (response.status === 200 && response.bodyObject?.result) {
168
173
  if (response.bodyObject.result.length > 0) {
169
174
  this._logger.info(`Found application: ${response.bodyObject.result[0].name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeManager.js","sourceRoot":"","sources":["../../../src/sn/scope/ScopeManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAYlE;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACb,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAC;IACxE,MAAM,CAAU,gBAAgB,GAAG,sCAAsC,CAAC;IAC1E,MAAM,CAAU,aAAa,GAAG,SAAS,CAAC;IAE1C,OAAO,GAAW,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAoB;IACxB,SAAS,CAAkB;IAC3B,SAAS,CAAqB;IAEtC,YAAmB,QAA4B;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QAC/C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAAG,mBAAmB,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,qCAAqC;QACrC,MAAM,QAAQ,GAAoC;YAC9C,aAAa,EAAE,UAAU,QAAQ,EAAE;YACnC,aAAa,EAAE,CAAC;SACnB,CAAC;QAEF,MAAM,OAAO,GAAuC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACxE,YAAY,CAAC,aAAa,EAC1B,QAAQ,CACX,CAAC;QAEF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE/C,+CAA+C;QAC/C,IAAI,aAA6D,CAAC;QAClE,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,IAAI,UAAU,EAAE,CAAC;gBACb,aAAa,GAAG;oBACZ,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,IAAI,EAAE,UAAU,CAAC,IAAI;iBACxB,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAgB;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY,CAAC,WAAW;YAC9B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YAC7E,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC7B,CAAC;QAEF,MAAM,OAAO,GAA2B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,UAAU,CAAC,CAAC;QAEjF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,6DAA6D;QAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACrD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7C,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,eAAe,GAAG,CAAC,CAAC;QAE3G,OAAO;YACH,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,SAAS,CAAC,IAAI;YAC3B,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAW;YACxC,KAAK,EAAE,QAAQ;YACf,aAAa;YACb,QAAQ;YACR,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY,CAAC,gBAAgB;YACnC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YAC7E,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,GAA8C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,OAAO,CAAC,CAAC;QAEjH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB,CAAC,UAAmC,EAAE;QAC/D,MAAM,EAAE,YAAY,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;QAEhF,MAAM,KAAK,GAAoC;YAC3C,aAAa,EAAE,KAAK;SACvB,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC;QACvC,CAAC;QAED,MAAM,QAAQ,GAAuC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACzE,YAAY,CAAC,aAAa,EAC1B,KAAK,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;YACjF,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,cAAc,CAAC,KAAa;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAoC;YAC3C,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,aAAa,EAAE,CAAC;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAuC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACzE,YAAY,CAAC,aAAa,EAC1B,KAAK,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC"}
1
+ {"version":3,"file":"ScopeManager.js","sourceRoot":"","sources":["../../../src/sn/scope/ScopeManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * A record from the sys_app table.
2
+ * A record from the sys_scope table.
3
3
  */
4
4
  export interface ApplicationRecord {
5
5
  /** System ID */
@@ -59,8 +59,14 @@ export interface ApplicationSingleResponse {
59
59
  result: ApplicationRecord;
60
60
  }
61
61
  /**
62
- * Response from the UI preferences API for the current application.
62
+ * Response from GET /api/now/ui/concoursepicker/current for the current application.
63
63
  */
64
64
  export interface CurrentApplicationResponse {
65
- result: ApplicationRecord;
65
+ result: {
66
+ currentApplication: {
67
+ name: string;
68
+ scopeName: string;
69
+ sysId: string;
70
+ };
71
+ };
66
72
  }
@@ -7,7 +7,7 @@ import { SetUpdateSetOptions, ListUpdateSetsOptions, CreateUpdateSetOptions, Mov
7
7
  */
8
8
  export declare class UpdateSetManager {
9
9
  private static readonly UI_UPDATESET_PATH;
10
- private static readonly UI_PREF_UPDATESET_PATH;
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
13
  private _logger;
@@ -24,8 +24,8 @@ export declare class UpdateSetManager {
24
24
  */
25
25
  setCurrentUpdateSet(options: SetUpdateSetOptions): Promise<void>;
26
26
  /**
27
- * Get the current update set from the session preferences.
28
- * Uses GET /api/now/ui/preferences/sys_update_set
27
+ * Get the current update set.
28
+ * Uses GET /api/now/ui/concoursepicker/current
29
29
  *
30
30
  * @returns The current update set record or null if not set
31
31
  */