@sonisoft/now-sdk-ext-core 2.2.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/comm/http/RequestHandler.js +7 -11
- package/dist/comm/http/RequestHandler.js.map +1 -1
- package/dist/comm/http/TableAPIRequest.js +3 -10
- package/dist/comm/http/TableAPIRequest.js.map +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/sn/BackgroundScriptExecutor.d.ts +34 -0
- package/dist/sn/BackgroundScriptExecutor.js +96 -0
- package/dist/sn/BackgroundScriptExecutor.js.map +1 -1
- package/dist/sn/application/ApplicationManager.d.ts +58 -1
- package/dist/sn/application/ApplicationManager.js +202 -11
- package/dist/sn/application/ApplicationManager.js.map +1 -1
- package/dist/sn/application/StoreApplicationModels.d.ts +99 -0
- package/dist/sn/application/StoreApplicationModels.js +2 -0
- package/dist/sn/application/StoreApplicationModels.js.map +1 -0
- package/dist/sn/attachment/AttachmentManager.d.ts +32 -0
- package/dist/sn/attachment/AttachmentManager.js +87 -0
- package/dist/sn/attachment/AttachmentManager.js.map +1 -0
- package/dist/sn/attachment/AttachmentModels.d.ts +28 -0
- package/dist/sn/attachment/AttachmentModels.js +2 -0
- package/dist/sn/attachment/AttachmentModels.js.map +1 -0
- package/dist/sn/batch/BatchModels.d.ts +90 -0
- package/dist/sn/batch/BatchModels.js +5 -0
- package/dist/sn/batch/BatchModels.js.map +1 -0
- package/dist/sn/batch/BatchOperations.d.ts +40 -0
- package/dist/sn/batch/BatchOperations.js +169 -0
- package/dist/sn/batch/BatchOperations.js.map +1 -0
- package/dist/sn/schema/SchemaDiscovery.d.ts +68 -0
- package/dist/sn/schema/SchemaDiscovery.js +346 -0
- package/dist/sn/schema/SchemaDiscovery.js.map +1 -0
- package/dist/sn/schema/SchemaModels.d.ts +277 -0
- package/dist/sn/schema/SchemaModels.js +5 -0
- package/dist/sn/schema/SchemaModels.js.map +1 -0
- package/dist/sn/scope/ScopeManager.d.ts +51 -0
- package/dist/sn/scope/ScopeManager.js +177 -0
- package/dist/sn/scope/ScopeManager.js.map +1 -0
- package/dist/sn/scope/ScopeModels.d.ts +66 -0
- package/dist/sn/scope/ScopeModels.js +5 -0
- package/dist/sn/scope/ScopeModels.js.map +1 -0
- package/dist/sn/scriptsync/ScriptSync.d.ts +38 -0
- package/dist/sn/scriptsync/ScriptSync.js +266 -0
- package/dist/sn/scriptsync/ScriptSync.js.map +1 -0
- package/dist/sn/scriptsync/ScriptSyncModels.d.ts +55 -0
- package/dist/sn/scriptsync/ScriptSyncModels.js +8 -0
- package/dist/sn/scriptsync/ScriptSyncModels.js.map +1 -0
- package/dist/sn/scriptsync/ScriptWatcher.d.ts +30 -0
- package/dist/sn/scriptsync/ScriptWatcher.js +74 -0
- package/dist/sn/scriptsync/ScriptWatcher.js.map +1 -0
- package/dist/sn/task/TaskModels.d.ts +85 -0
- package/dist/sn/task/TaskModels.js +5 -0
- package/dist/sn/task/TaskModels.js.map +1 -0
- package/dist/sn/task/TaskOperations.d.ts +63 -0
- package/dist/sn/task/TaskOperations.js +195 -0
- package/dist/sn/task/TaskOperations.js.map +1 -0
- package/dist/sn/updateset/UpdateSetManager.d.ts +78 -0
- package/dist/sn/updateset/UpdateSetManager.js +391 -0
- package/dist/sn/updateset/UpdateSetManager.js.map +1 -0
- package/dist/sn/updateset/UpdateSetModels.d.ts +177 -0
- package/dist/sn/updateset/UpdateSetModels.js +5 -0
- package/dist/sn/updateset/UpdateSetModels.js.map +1 -0
- package/dist/sn/workflow/WorkflowManager.d.ts +81 -0
- package/dist/sn/workflow/WorkflowManager.js +388 -0
- package/dist/sn/workflow/WorkflowManager.js.map +1 -0
- package/dist/sn/workflow/WorkflowModels.d.ts +242 -0
- package/dist/sn/workflow/WorkflowModels.js +5 -0
- package/dist/sn/workflow/WorkflowModels.js.map +1 -0
- package/package.json +5 -5
|
@@ -2,10 +2,21 @@ import { Logger } from "../../util/Logger.js";
|
|
|
2
2
|
import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import { ProgressWorker } from "../ProgressWorker.js";
|
|
5
|
+
export var APP_TAB_CONTEXT;
|
|
6
|
+
(function (APP_TAB_CONTEXT) {
|
|
7
|
+
APP_TAB_CONTEXT["AVAILABLE_FOR_YOU"] = "available_for_you";
|
|
8
|
+
APP_TAB_CONTEXT["INSTALLED"] = "installed";
|
|
9
|
+
APP_TAB_CONTEXT["UPDATES"] = "updates";
|
|
10
|
+
})(APP_TAB_CONTEXT || (APP_TAB_CONTEXT = {}));
|
|
5
11
|
export class ApplicationManager {
|
|
6
12
|
BATCH_API_URL = "/api/sn_cicd/app/batch/install";
|
|
7
13
|
APP_DETAILS_API_URL = "/api/sn_appclient/appmanager/app/{appID}";
|
|
8
|
-
|
|
14
|
+
APP_SEARCH_API_URL = "/api/sn_appclient/appmanager/apps?search_key={searchKey}&sysparm_limit={limit}&tab_context={tabContext}";
|
|
15
|
+
APP_INSTALL_API_URL = "/api/sn_appclient/appmanager/app/install";
|
|
16
|
+
APP_SEARCH_POST_API_URL = "/api/sn_appclient/appmanager/apps";
|
|
17
|
+
APP_UPDATE_API_URL = "/api/sn_appclient/appmanager/app/update";
|
|
18
|
+
DEFAULT_INSTALL_TIMEOUT = 1000 * 60 * 30;
|
|
19
|
+
DEFAULT_POLL_INTERVAL = 5000;
|
|
9
20
|
BATCH_INSTALL_TIMEOUT = 1000 * 60 * 30;
|
|
10
21
|
_logger = new Logger("ApplicationManager");
|
|
11
22
|
_req;
|
|
@@ -16,16 +27,13 @@ export class ApplicationManager {
|
|
|
16
27
|
_instance;
|
|
17
28
|
async installBatch(batchDefinitionPath) {
|
|
18
29
|
const batchDefinitionRequest = fs.readFileSync(batchDefinitionPath, 'utf8');
|
|
19
|
-
|
|
30
|
+
this._logger.info(`Batch definition loaded from: ${batchDefinitionPath}`);
|
|
20
31
|
const batchInstall = JSON.parse(batchDefinitionRequest);
|
|
21
|
-
//let installablePackages = await this.getInstallableApplicationPackages(batchInstall);
|
|
22
|
-
// console.log(installablePackages);
|
|
23
|
-
//batchInstall.packages = installablePackages;
|
|
24
32
|
const batchDefinitionJson = JSON.stringify(batchInstall);
|
|
25
|
-
|
|
33
|
+
this._logger.info(`Batch definition: ${batchDefinitionJson}`);
|
|
26
34
|
const result = await this.executeBatchInstallRequest(batchInstall);
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
this._logger.info(`Batch install result: ${JSON.stringify(result)}`);
|
|
36
|
+
this._logger.info(`Batch install links: ${JSON.stringify(result.result.links)}`);
|
|
29
37
|
if (result.result.links && result.result.links.progress) {
|
|
30
38
|
await this.waitForBatchInstallCompletion(result.result);
|
|
31
39
|
}
|
|
@@ -34,7 +42,7 @@ export class ApplicationManager {
|
|
|
34
42
|
async getInstallableApplicationPackages(batchInstall) {
|
|
35
43
|
for (const appPackage of batchInstall.packages) {
|
|
36
44
|
const appDetails = await this.getApplicationDetails(appPackage.id);
|
|
37
|
-
|
|
45
|
+
this._logger.info(`App details for ${appPackage.id}: ${JSON.stringify(appDetails)}`);
|
|
38
46
|
if (appDetails && appDetails.version == appPackage.requested_version) {
|
|
39
47
|
batchInstall.packages.splice(batchInstall.packages.indexOf(appPackage), 1);
|
|
40
48
|
}
|
|
@@ -52,11 +60,11 @@ export class ApplicationManager {
|
|
|
52
60
|
async waitForBatchInstallCompletion(batchInstallResult) {
|
|
53
61
|
const startTime = Date.now();
|
|
54
62
|
let progressResult = await this.getBatchProgress(batchInstallResult);
|
|
55
|
-
|
|
63
|
+
this._logger.info(`Batch install progress: ${JSON.stringify(progressResult)}`);
|
|
56
64
|
while (progressResult.percent_complete < 100 && (Date.now() - startTime) < this.BATCH_INSTALL_TIMEOUT) {
|
|
57
65
|
await new Promise(resolve => setTimeout(resolve, 5000));
|
|
58
66
|
progressResult = await this.getBatchProgress(batchInstallResult);
|
|
59
|
-
|
|
67
|
+
this._logger.info(`Batch install progress: ${progressResult.percent_complete}%`);
|
|
60
68
|
}
|
|
61
69
|
if (progressResult.percent_complete < 100) {
|
|
62
70
|
throw new Error("Batch install timed out");
|
|
@@ -215,6 +223,189 @@ export class ApplicationManager {
|
|
|
215
223
|
const validationResult = await this.validateBatchDefinition(batchDefinitionPath);
|
|
216
224
|
return validationResult.applications.filter(app => app.needsAction);
|
|
217
225
|
}
|
|
226
|
+
// ============================================================
|
|
227
|
+
// Store Application Management
|
|
228
|
+
// ============================================================
|
|
229
|
+
/**
|
|
230
|
+
* Search/list store applications by tab context with optional search key and pagination.
|
|
231
|
+
* Uses POST /api/sn_appclient/appmanager/apps
|
|
232
|
+
* @param options Search options including tabContext, searchKey, limit, offset, requestBody
|
|
233
|
+
* @returns Array of ApplicationDetailModel matching the search criteria
|
|
234
|
+
*/
|
|
235
|
+
async searchApplications(options) {
|
|
236
|
+
const queryParams = {
|
|
237
|
+
tab_context: options.tabContext
|
|
238
|
+
};
|
|
239
|
+
if (options.searchKey) {
|
|
240
|
+
queryParams.search_key = options.searchKey;
|
|
241
|
+
}
|
|
242
|
+
if (options.limit !== undefined) {
|
|
243
|
+
queryParams.sysparm_limit = String(options.limit);
|
|
244
|
+
}
|
|
245
|
+
if (options.offset !== undefined) {
|
|
246
|
+
queryParams.sysparm_offset = String(options.offset);
|
|
247
|
+
}
|
|
248
|
+
const request = {
|
|
249
|
+
method: 'POST',
|
|
250
|
+
path: this.APP_SEARCH_POST_API_URL,
|
|
251
|
+
headers: { 'Content-Type': 'application/json' },
|
|
252
|
+
query: queryParams,
|
|
253
|
+
json: options.requestBody || {},
|
|
254
|
+
body: null
|
|
255
|
+
};
|
|
256
|
+
const resp = await this._req.post(request);
|
|
257
|
+
if (resp.status === 200 && resp.bodyObject?.result?.apps) {
|
|
258
|
+
return resp.bodyObject.result.apps;
|
|
259
|
+
}
|
|
260
|
+
return [];
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Initiate installation of a store application.
|
|
264
|
+
* Uses GET /api/sn_appclient/appmanager/app/install
|
|
265
|
+
* @param options Install options including appId and version
|
|
266
|
+
* @returns StoreAppOperationResult with tracker info for monitoring progress
|
|
267
|
+
*/
|
|
268
|
+
async installStoreApplication(options) {
|
|
269
|
+
const queryParams = {
|
|
270
|
+
app_id: options.appId,
|
|
271
|
+
version: options.version
|
|
272
|
+
};
|
|
273
|
+
if (options.customizationVersion) {
|
|
274
|
+
queryParams.customization_version = options.customizationVersion;
|
|
275
|
+
}
|
|
276
|
+
if (options.loadDemoData !== undefined) {
|
|
277
|
+
queryParams.load_demo_data = String(options.loadDemoData);
|
|
278
|
+
}
|
|
279
|
+
const request = {
|
|
280
|
+
method: 'GET',
|
|
281
|
+
path: this.APP_INSTALL_API_URL,
|
|
282
|
+
headers: null,
|
|
283
|
+
query: queryParams,
|
|
284
|
+
body: null
|
|
285
|
+
};
|
|
286
|
+
const resp = await this._req.get(request);
|
|
287
|
+
if (resp.status === 200 && resp.bodyObject?.result) {
|
|
288
|
+
return resp.bodyObject.result;
|
|
289
|
+
}
|
|
290
|
+
throw new Error(`Failed to initiate store app install: HTTP ${resp.status}`);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Install a store application and wait for completion by polling the tracker.
|
|
294
|
+
* @param options Install options including appId and version
|
|
295
|
+
* @param pollIntervalMs Polling interval in ms (default: 5000)
|
|
296
|
+
* @param timeoutMs Timeout in ms (default: 30 min)
|
|
297
|
+
* @returns StoreAppFinalResult with success status and details
|
|
298
|
+
*/
|
|
299
|
+
async installStoreApplicationAndWait(options, pollIntervalMs, timeoutMs) {
|
|
300
|
+
const operationResult = await this.installStoreApplication(options);
|
|
301
|
+
const trackerId = operationResult.tracker_id || operationResult.trackerId || operationResult.links?.progress?.id;
|
|
302
|
+
if (!trackerId) {
|
|
303
|
+
throw new Error('No tracker ID returned from install operation');
|
|
304
|
+
}
|
|
305
|
+
return await this.waitForInstallationCompletion(trackerId, pollIntervalMs || this.DEFAULT_POLL_INTERVAL, timeoutMs || this.DEFAULT_INSTALL_TIMEOUT);
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Initiate update of a store application.
|
|
309
|
+
* Uses GET /api/sn_appclient/appmanager/app/update
|
|
310
|
+
* @param options Update options including appId and version
|
|
311
|
+
* @returns StoreAppOperationResult with tracker info for monitoring progress
|
|
312
|
+
*/
|
|
313
|
+
async updateStoreApplication(options) {
|
|
314
|
+
const queryParams = {
|
|
315
|
+
app_id: options.appId,
|
|
316
|
+
version: options.version
|
|
317
|
+
};
|
|
318
|
+
if (options.customizationVersion) {
|
|
319
|
+
queryParams.customization_version = options.customizationVersion;
|
|
320
|
+
}
|
|
321
|
+
if (options.loadDemoData !== undefined) {
|
|
322
|
+
queryParams.load_demo_data = String(options.loadDemoData);
|
|
323
|
+
}
|
|
324
|
+
const request = {
|
|
325
|
+
method: 'GET',
|
|
326
|
+
path: this.APP_UPDATE_API_URL,
|
|
327
|
+
headers: null,
|
|
328
|
+
query: queryParams,
|
|
329
|
+
body: null
|
|
330
|
+
};
|
|
331
|
+
const resp = await this._req.get(request);
|
|
332
|
+
if (resp.status === 200 && resp.bodyObject?.result) {
|
|
333
|
+
return resp.bodyObject.result;
|
|
334
|
+
}
|
|
335
|
+
throw new Error(`Failed to initiate store app update: HTTP ${resp.status}`);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Update a store application and wait for completion by polling the tracker.
|
|
339
|
+
* @param options Update options including appId and version
|
|
340
|
+
* @param pollIntervalMs Polling interval in ms (default: 5000)
|
|
341
|
+
* @param timeoutMs Timeout in ms (default: 30 min)
|
|
342
|
+
* @returns StoreAppFinalResult with success status and details
|
|
343
|
+
*/
|
|
344
|
+
async updateStoreApplicationAndWait(options, pollIntervalMs, timeoutMs) {
|
|
345
|
+
const operationResult = await this.updateStoreApplication(options);
|
|
346
|
+
const trackerId = operationResult.tracker_id || operationResult.trackerId || operationResult.links?.progress?.id;
|
|
347
|
+
if (!trackerId) {
|
|
348
|
+
throw new Error('No tracker ID returned from update operation');
|
|
349
|
+
}
|
|
350
|
+
return await this.waitForInstallationCompletion(trackerId, pollIntervalMs || this.DEFAULT_POLL_INTERVAL, timeoutMs || this.DEFAULT_INSTALL_TIMEOUT);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Poll installation progress via ProgressWorker until complete, timed out, or failed.
|
|
354
|
+
* Uses GET /api/sn_cicd/progress/{progressId}
|
|
355
|
+
* @param progressId Progress ID from an install/update operation
|
|
356
|
+
* @param pollIntervalMs Polling interval in ms
|
|
357
|
+
* @param timeoutMs Timeout in ms
|
|
358
|
+
* @returns StoreAppFinalResult with success status
|
|
359
|
+
*/
|
|
360
|
+
async waitForInstallationCompletion(progressId, pollIntervalMs, timeoutMs) {
|
|
361
|
+
const progressWorker = new ProgressWorker(this._instance);
|
|
362
|
+
const startTime = Date.now();
|
|
363
|
+
let progress = await progressWorker.getProgress(progressId);
|
|
364
|
+
this._logger.info(`Installation progress: ${JSON.stringify(progress)}`);
|
|
365
|
+
while (progress.percent_complete < 100 && (Date.now() - startTime) < timeoutMs) {
|
|
366
|
+
await new Promise(resolve => setTimeout(resolve, pollIntervalMs));
|
|
367
|
+
progress = await progressWorker.getProgress(progressId);
|
|
368
|
+
this._logger.info(`Installation progress: ${progress.percent_complete}%`);
|
|
369
|
+
}
|
|
370
|
+
if (progress.percent_complete < 100) {
|
|
371
|
+
return {
|
|
372
|
+
success: false,
|
|
373
|
+
status: progress.status,
|
|
374
|
+
status_label: progress.status_label,
|
|
375
|
+
status_message: progress.status_message,
|
|
376
|
+
error: 'Installation timed out',
|
|
377
|
+
percent_complete: progress.percent_complete
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
if (progress.error) {
|
|
381
|
+
return {
|
|
382
|
+
success: false,
|
|
383
|
+
status: progress.status,
|
|
384
|
+
status_label: progress.status_label,
|
|
385
|
+
status_message: progress.status_message,
|
|
386
|
+
error: progress.error,
|
|
387
|
+
percent_complete: progress.percent_complete
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
// Status "3" typically indicates failure in ServiceNow
|
|
391
|
+
if (progress.status === '3') {
|
|
392
|
+
return {
|
|
393
|
+
success: false,
|
|
394
|
+
status: progress.status,
|
|
395
|
+
status_label: progress.status_label,
|
|
396
|
+
status_message: progress.status_message,
|
|
397
|
+
error: `${progress.status_label}: ${progress.status_message}`,
|
|
398
|
+
percent_complete: progress.percent_complete
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
return {
|
|
402
|
+
success: true,
|
|
403
|
+
status: progress.status,
|
|
404
|
+
status_label: progress.status_label,
|
|
405
|
+
status_message: progress.status_message,
|
|
406
|
+
percent_complete: progress.percent_complete
|
|
407
|
+
};
|
|
408
|
+
}
|
|
218
409
|
/**
|
|
219
410
|
* Compares two version strings
|
|
220
411
|
* @param version1 First version string (e.g., "1.2.3")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationManager.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,OAAO,kBAAkB;IAC3B,aAAa,GAAG,gCAAgC,CAAC;IACjD,mBAAmB,GAAG,0CAA0C,CAAC;IACjE,wBAAwB,GAAG,oGAAoG,CAAC;IAEhI,qBAAqB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAE;IACxC,OAAO,GAAU,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAElD,IAAI,CAAmB;IAIvB,YAAmB,QAA2B;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,SAAS,CAAoB;IAE/B,KAAK,CAAC,YAAY,CAAC,mBAA0B;QAEnD,MAAM,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAsB,CAAC;QAE7E,uFAAuF;QACxF,oCAAoC;QACnC,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC;YACpD,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAGD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,YAA8B;QAC7E,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,IAAG,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,iBAAiB,EAAC,CAAC;gBACjE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAIM,KAAK,CAAC,qBAAqB,CAAC,KAAY;QAC9C,MAAM,OAAO,GAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC9I,MAAM,IAAI,GAAiD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,OAAO,CAAC,CAAC;QACxH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,kBAAqC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5B,OAAM,cAAc,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAC,CAAC;YAClG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,gBAAgB,GAAG,GAAG,EAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAG,cAAc,CAAC,KAAK,EAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAG,cAAc,CAAC,MAAM,KAAK,GAAG,EAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAGO,KAAK,CAAC,0BAA0B,CAAC,sBAA6B;QAErE,MAAM,OAAO,GAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,sBAAsB,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC9K,MAAM,IAAI,GAA6C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,OAAO,CAAC,CAAC;QACjH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,kBAAqC;QACnE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB,CAAC,mBAA2B;QAC5D,MAAM,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAsB,CAAC;QAE7E,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,yBAAyB,CAAC,YAA+B;QAClE,MAAM,iBAAiB,GAAkC,EAAE,CAAC;QAE5D,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtD,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAEnC,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,eAAe,CAAC,CAAC,MAAM,CAAC;QACvG,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,eAAe,IAAI,CAAC,CAAC,gBAAgB,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QACvI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC;QAE7B,OAAO;YACH,YAAY,EAAE,iBAAiB;YAC/B,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,YAAY;YACZ,MAAM;YACN,OAAO;SACV,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,GAAoB;QACjD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,yCAAyC;gBACzC,OAAO;oBACH,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,WAAW,EAAE,KAAK;oBAClB,cAAc,EAAE,KAAK;oBACrB,iBAAiB,EAAE,KAAK;oBACxB,WAAW,EAAE,IAAI;oBACjB,gBAAgB,EAAE,eAAe;oBACjC,KAAK,EAAE,mCAAmC;iBAC7C,CAAC;YACN,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC;YACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YAE/C,mBAAmB;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACnF,MAAM,cAAc,GAAG,iBAAiB,KAAK,CAAC,CAAC;YAC/C,MAAM,iBAAiB,GAAG,UAAU,CAAC,6BAA6B,IAAI,KAAK,CAAC;YAE5E,IAAI,gBAAoF,CAAC;YACzF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,gBAAgB,GAAG,eAAe,CAAC;gBACnC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBACxB,gBAAgB,GAAG,OAAO,CAAC;gBAC3B,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC/B,4CAA4C;gBAC5C,gBAAgB,GAAG,eAAe,CAAC;gBACnC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,4CAA4C;gBAC5C,gBAAgB,GAAG,UAAU,CAAC;gBAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,qDAAqD;YAC9E,CAAC;YAED,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,iBAAiB,EAAE,gBAAgB;gBACnC,iBAAiB,EAAE,gBAAgB;gBACnC,WAAW;gBACX,cAAc;gBACd,iBAAiB;gBACjB,WAAW;gBACX,gBAAgB;gBAChB,UAAU;aACb,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YACvE,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,OAAO;gBACzB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,0BAA0B,CAAC,mBAA2B;QAC/D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACjF,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,4BAA4B,CAAC,mBAA2B;QACjE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACjF,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAAgB,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvB,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;CACH;AAED,MAAM,OAAO,0BAA0B;IACnC,MAAM,CAAoB;CAC7B;AASD,MAAM,OAAO,kBAAkB;IAC3B,KAAK,CAA0B;CAClC"}
|
|
1
|
+
{"version":3,"file":"ApplicationManager.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAcnD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,0DAAuC,CAAA;IACvC,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;AACvB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,OAAO,kBAAkB;IAC3B,aAAa,GAAG,gCAAgC,CAAC;IACjD,mBAAmB,GAAG,0CAA0C,CAAC;IACjE,kBAAkB,GAAG,yGAAyG,CAAC;IAE/H,mBAAmB,GAAG,0CAA0C,CAAC;IACjE,uBAAuB,GAAG,mCAAmC,CAAC;IAC9D,kBAAkB,GAAG,yCAAyC,CAAC;IAC/D,uBAAuB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;IACzC,qBAAqB,GAAG,IAAI,CAAC;IAC7B,qBAAqB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAE;IACxC,OAAO,GAAU,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAElD,IAAI,CAAmB;IAKvB,YAAmB,QAA2B;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,SAAS,CAAoB;IAE/B,KAAK,CAAC,YAAY,CAAC,mBAA0B;QAEnD,MAAM,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,mBAAmB,EAAE,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAsB,CAAC;QAE7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,mBAAmB,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC;YACpD,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAGD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,YAA8B;QAC7E,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrF,IAAG,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,iBAAiB,EAAC,CAAC;gBACjE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAIM,KAAK,CAAC,qBAAqB,CAAC,KAAY;QAC9C,MAAM,OAAO,GAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC9I,MAAM,IAAI,GAAiD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,OAAO,CAAC,CAAC;QACxH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,kBAAqC;QAChF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAM,cAAc,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAC,CAAC;YAClG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,cAAc,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACrF,CAAC;QAED,IAAG,cAAc,CAAC,gBAAgB,GAAG,GAAG,EAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAG,cAAc,CAAC,KAAK,EAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAG,cAAc,CAAC,MAAM,KAAK,GAAG,EAAC,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAGO,KAAK,CAAC,0BAA0B,CAAC,sBAA6B;QAErE,MAAM,OAAO,GAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,sBAAsB,EAAE,IAAI,EAAC,IAAI,EAAC,CAAC;QAC9K,MAAM,IAAI,GAA6C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,OAAO,CAAC,CAAC;QACjH,IAAG,IAAI,CAAC,MAAM,IAAI,GAAG,EAAC,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,kBAAqC;QACnE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB,CAAC,mBAA2B;QAC5D,MAAM,sBAAsB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAsB,CAAC;QAE7E,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,yBAAyB,CAAC,YAA+B;QAClE,MAAM,iBAAiB,GAAkC,EAAE,CAAC;QAE5D,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtD,iBAAiB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAEnC,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QAC1F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,eAAe,CAAC,CAAC,MAAM,CAAC;QACvG,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,eAAe,IAAI,CAAC,CAAC,gBAAgB,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QACvI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC;QAE7B,OAAO;YACH,YAAY,EAAE,iBAAiB;YAC/B,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,YAAY;YACZ,MAAM;YACN,OAAO;SACV,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,GAAoB;QACjD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,yCAAyC;gBACzC,OAAO;oBACH,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,WAAW,EAAE,KAAK;oBAClB,cAAc,EAAE,KAAK;oBACrB,iBAAiB,EAAE,KAAK;oBACxB,WAAW,EAAE,IAAI;oBACjB,gBAAgB,EAAE,eAAe;oBACjC,KAAK,EAAE,mCAAmC;iBAC7C,CAAC;YACN,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC;YACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YAE/C,mBAAmB;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACnF,MAAM,cAAc,GAAG,iBAAiB,KAAK,CAAC,CAAC;YAC/C,MAAM,iBAAiB,GAAG,UAAU,CAAC,6BAA6B,IAAI,KAAK,CAAC;YAE5E,IAAI,gBAAoF,CAAC;YACzF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,gBAAgB,GAAG,eAAe,CAAC;gBACnC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBACxB,gBAAgB,GAAG,OAAO,CAAC;gBAC3B,WAAW,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC/B,4CAA4C;gBAC5C,gBAAgB,GAAG,eAAe,CAAC;gBACnC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,4CAA4C;gBAC5C,gBAAgB,GAAG,UAAU,CAAC;gBAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,qDAAqD;YAC9E,CAAC;YAED,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,iBAAiB,EAAE,gBAAgB;gBACnC,iBAAiB,EAAE,gBAAgB;gBACnC,WAAW;gBACX,cAAc;gBACd,iBAAiB;gBACjB,WAAW;gBACX,gBAAgB;gBAChB,UAAU;aACb,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YACvE,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,OAAO;gBACzB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,0BAA0B,CAAC,mBAA2B;QAC/D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACjF,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,4BAA4B,CAAC,mBAA2B;QACjE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACjF,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAE/D;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAA8B;QAC1D,MAAM,WAAW,GAA2B;YACxC,WAAW,EAAE,OAAO,CAAC,UAAU;SAClC,CAAC;QACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,uBAAuB;YAClC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YAC/B,IAAI,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,GAA0C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyB,OAAO,CAAC,CAAC;QAC1G,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,uBAAuB,CAAC,OAA+B;QAChE,MAAM,WAAW,GAA2B;YACxC,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/B,WAAW,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,mBAAmB;YAC9B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,GAA6C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,OAAO,CAAC,CAAC;QAC/G,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,8BAA8B,CACvC,OAA+B,EAC/B,cAAuB,EACvB,SAAkB;QAElB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;QACjH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAC3C,SAAS,EACT,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAC5C,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAC5C,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,sBAAsB,CAAC,OAA8B;QAC9D,MAAM,WAAW,GAA2B;YACxC,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/B,WAAW,CAAC,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,kBAAkB;YAC7B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,IAAI,GAA6C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,OAAO,CAAC,CAAC;QAC/G,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,6BAA6B,CACtC,OAA8B,EAC9B,cAAuB,EACvB,SAAkB;QAElB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC;QACjH,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAC3C,SAAS,EACT,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAC5C,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAC5C,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,6BAA6B,CACvC,UAAkB,EAClB,cAAsB,EACtB,SAAiB;QAEjB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO,QAAQ,CAAC,gBAAgB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;YAC7E,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAClE,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,QAAQ,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC;YAClC,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,KAAK,EAAE,wBAAwB;gBAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC9C,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC9C,CAAC;QACN,CAAC;QAED,uDAAuD;QACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,KAAK,EAAE,GAAG,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,cAAc,EAAE;gBAC7D,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC9C,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;SAC9C,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,QAAgB,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvB,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;CACH;AAED,MAAM,OAAO,0BAA0B;IACnC,MAAM,CAAoB;CAC7B;AASD,MAAM,OAAO,kBAAkB;IAC3B,KAAK,CAA0B;CAClC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { APP_TAB_CONTEXT } from './ApplicationManager.js';
|
|
2
|
+
import { ApplicationDetailModel } from './ApplicationDetailModel.js';
|
|
3
|
+
/**
|
|
4
|
+
* Options for searching/listing store applications.
|
|
5
|
+
*/
|
|
6
|
+
export interface StoreAppSearchOptions {
|
|
7
|
+
/** Required: Tab context filter */
|
|
8
|
+
tabContext: APP_TAB_CONTEXT;
|
|
9
|
+
/** Optional: Search keyword to filter applications */
|
|
10
|
+
searchKey?: string;
|
|
11
|
+
/** Optional: Maximum number of results (default: 10,000) */
|
|
12
|
+
limit?: number;
|
|
13
|
+
/** Optional: Pagination offset (default: 0) */
|
|
14
|
+
offset?: number;
|
|
15
|
+
/** Optional: Request body for POST /apps endpoint (for advanced filtering) */
|
|
16
|
+
requestBody?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Response wrapper from POST /api/sn_appclient/appmanager/apps
|
|
20
|
+
*/
|
|
21
|
+
export interface StoreAppSearchResponse {
|
|
22
|
+
result: StoreAppSearchResult;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The result payload inside the search response.
|
|
26
|
+
*/
|
|
27
|
+
export interface StoreAppSearchResult {
|
|
28
|
+
apps: ApplicationDetailModel[];
|
|
29
|
+
total?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Options for installing a store application.
|
|
33
|
+
*/
|
|
34
|
+
export interface StoreAppInstallOptions {
|
|
35
|
+
/** Required: The app_id (source app id) of the application */
|
|
36
|
+
appId: string;
|
|
37
|
+
/** Required: The version to install */
|
|
38
|
+
version: string;
|
|
39
|
+
/** Optional: Customization version to apply */
|
|
40
|
+
customizationVersion?: string;
|
|
41
|
+
/** Optional: Whether to load demo data */
|
|
42
|
+
loadDemoData?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for updating a store application.
|
|
46
|
+
*/
|
|
47
|
+
export interface StoreAppUpdateOptions {
|
|
48
|
+
/** Required: The app_id (source app id) of the application */
|
|
49
|
+
appId: string;
|
|
50
|
+
/** Required: The version to update to */
|
|
51
|
+
version: string;
|
|
52
|
+
/** Optional: Customization version to apply */
|
|
53
|
+
customizationVersion?: string;
|
|
54
|
+
/** Optional: Whether to load demo data */
|
|
55
|
+
loadDemoData?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Response from store app install or update.
|
|
59
|
+
*/
|
|
60
|
+
export interface StoreAppOperationResponse {
|
|
61
|
+
result: StoreAppOperationResult;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Result of initiating an install or update operation.
|
|
65
|
+
*/
|
|
66
|
+
export interface StoreAppOperationResult {
|
|
67
|
+
/** Tracker ID for monitoring progress (snake_case variant) */
|
|
68
|
+
tracker_id?: string;
|
|
69
|
+
/** Tracker ID for monitoring progress (camelCase variant) */
|
|
70
|
+
trackerId?: string;
|
|
71
|
+
/** Status of the initiated operation */
|
|
72
|
+
status?: string;
|
|
73
|
+
/** Any message from the server */
|
|
74
|
+
message?: string;
|
|
75
|
+
/** Links (may include progress link) */
|
|
76
|
+
links?: {
|
|
77
|
+
progress?: {
|
|
78
|
+
id: string;
|
|
79
|
+
url: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Final result after an install/update operation completes.
|
|
85
|
+
*/
|
|
86
|
+
export interface StoreAppFinalResult {
|
|
87
|
+
/** Whether the operation completed successfully */
|
|
88
|
+
success: boolean;
|
|
89
|
+
/** Final status */
|
|
90
|
+
status: string;
|
|
91
|
+
/** Status label */
|
|
92
|
+
status_label: string;
|
|
93
|
+
/** Status message */
|
|
94
|
+
status_message: string;
|
|
95
|
+
/** Error message if any */
|
|
96
|
+
error?: string;
|
|
97
|
+
/** Completion percentage */
|
|
98
|
+
percent_complete: number;
|
|
99
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreApplicationModels.js","sourceRoot":"","sources":["../../../src/sn/application/StoreApplicationModels.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ServiceNowInstance } from "../ServiceNowInstance.js";
|
|
2
|
+
import { AttachmentRecord, UploadAttachmentOptions, ListAttachmentsOptions } from './AttachmentModels.js';
|
|
3
|
+
/**
|
|
4
|
+
* AttachmentManager provides methods for uploading, listing, and retrieving
|
|
5
|
+
* attachments on ServiceNow records via the Attachment API.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AttachmentManager {
|
|
8
|
+
static readonly ATTACHMENT_API_PATH = "/api/now/attachment";
|
|
9
|
+
static readonly ATTACHMENT_FILE_API_PATH = "/api/now/attachment/file";
|
|
10
|
+
static readonly ATTACHMENT_TABLE = "sys_attachment";
|
|
11
|
+
private _logger;
|
|
12
|
+
private _req;
|
|
13
|
+
private _tableAPI;
|
|
14
|
+
private _instance;
|
|
15
|
+
constructor(instance: ServiceNowInstance);
|
|
16
|
+
/**
|
|
17
|
+
* Upload an attachment to a ServiceNow record.
|
|
18
|
+
* POST to /api/now/attachment/file with multipart/form-data headers
|
|
19
|
+
* and query params for table_name, table_sys_id, and file_name.
|
|
20
|
+
*/
|
|
21
|
+
uploadAttachment(options: UploadAttachmentOptions): Promise<AttachmentRecord>;
|
|
22
|
+
/**
|
|
23
|
+
* List attachments for a specific record.
|
|
24
|
+
* Uses TableAPIRequest.get on sys_attachment with encoded query.
|
|
25
|
+
*/
|
|
26
|
+
listAttachments(options: ListAttachmentsOptions): Promise<AttachmentRecord[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Get a single attachment record by sys_id.
|
|
29
|
+
* Uses TableAPIRequest.get on sys_attachment with sys_id filter.
|
|
30
|
+
*/
|
|
31
|
+
getAttachment(sysId: string): Promise<AttachmentRecord>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Logger } from "../../util/Logger.js";
|
|
2
|
+
import { ServiceNowRequest } from "../../comm/http/ServiceNowRequest.js";
|
|
3
|
+
import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
|
|
4
|
+
/**
|
|
5
|
+
* AttachmentManager provides methods for uploading, listing, and retrieving
|
|
6
|
+
* attachments on ServiceNow records via the Attachment API.
|
|
7
|
+
*/
|
|
8
|
+
export class AttachmentManager {
|
|
9
|
+
static ATTACHMENT_API_PATH = '/api/now/attachment';
|
|
10
|
+
static ATTACHMENT_FILE_API_PATH = '/api/now/attachment/file';
|
|
11
|
+
static ATTACHMENT_TABLE = 'sys_attachment';
|
|
12
|
+
_logger = new Logger("AttachmentManager");
|
|
13
|
+
_req;
|
|
14
|
+
_tableAPI;
|
|
15
|
+
_instance;
|
|
16
|
+
constructor(instance) {
|
|
17
|
+
this._instance = instance;
|
|
18
|
+
this._req = new ServiceNowRequest(instance);
|
|
19
|
+
this._tableAPI = new TableAPIRequest(instance);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Upload an attachment to a ServiceNow record.
|
|
23
|
+
* POST to /api/now/attachment/file with multipart/form-data headers
|
|
24
|
+
* and query params for table_name, table_sys_id, and file_name.
|
|
25
|
+
*/
|
|
26
|
+
async uploadAttachment(options) {
|
|
27
|
+
const { tableName, recordSysId, fileName, contentType, data } = options;
|
|
28
|
+
this._logger.info(`Uploading attachment '${fileName}' to ${tableName}/${recordSysId}`);
|
|
29
|
+
const query = {
|
|
30
|
+
table_name: tableName,
|
|
31
|
+
table_sys_id: recordSysId,
|
|
32
|
+
file_name: fileName
|
|
33
|
+
};
|
|
34
|
+
const request = {
|
|
35
|
+
path: AttachmentManager.ATTACHMENT_FILE_API_PATH,
|
|
36
|
+
method: 'POST',
|
|
37
|
+
headers: {
|
|
38
|
+
'Content-Type': contentType,
|
|
39
|
+
'Accept': 'application/json'
|
|
40
|
+
},
|
|
41
|
+
query: query,
|
|
42
|
+
body: data
|
|
43
|
+
};
|
|
44
|
+
const response = await this._req.post(request);
|
|
45
|
+
if (response && (response.status === 200 || response.status === 201) && response.bodyObject?.result) {
|
|
46
|
+
this._logger.info(`Successfully uploaded attachment '${fileName}' with sys_id: ${response.bodyObject.result.sys_id}`);
|
|
47
|
+
return response.bodyObject.result;
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`Failed to upload attachment '${fileName}' to ${tableName}/${recordSysId}. Status: ${response?.status ?? 'unknown'}`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* List attachments for a specific record.
|
|
53
|
+
* Uses TableAPIRequest.get on sys_attachment with encoded query.
|
|
54
|
+
*/
|
|
55
|
+
async listAttachments(options) {
|
|
56
|
+
const { tableName, recordSysId, limit = 100 } = options;
|
|
57
|
+
this._logger.info(`Listing attachments for ${tableName}/${recordSysId}`);
|
|
58
|
+
const query = {
|
|
59
|
+
sysparm_query: `table_name=${tableName}^table_sys_id=${recordSysId}`,
|
|
60
|
+
sysparm_limit: limit
|
|
61
|
+
};
|
|
62
|
+
const response = await this._tableAPI.get(AttachmentManager.ATTACHMENT_TABLE, query);
|
|
63
|
+
if (response && response.status === 200 && response.bodyObject?.result) {
|
|
64
|
+
this._logger.info(`Found ${response.bodyObject.result.length} attachments`);
|
|
65
|
+
return response.bodyObject.result;
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Failed to list attachments for ${tableName}/${recordSysId}. Status: ${response?.status ?? 'unknown'}`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get a single attachment record by sys_id.
|
|
71
|
+
* Uses TableAPIRequest.get on sys_attachment with sys_id filter.
|
|
72
|
+
*/
|
|
73
|
+
async getAttachment(sysId) {
|
|
74
|
+
this._logger.info(`Getting attachment with sys_id: ${sysId}`);
|
|
75
|
+
const query = {
|
|
76
|
+
sysparm_query: `sys_id=${sysId}`,
|
|
77
|
+
sysparm_limit: 1
|
|
78
|
+
};
|
|
79
|
+
const response = await this._tableAPI.get(AttachmentManager.ATTACHMENT_TABLE, query);
|
|
80
|
+
if (response && response.status === 200 && response.bodyObject?.result && response.bodyObject.result.length > 0) {
|
|
81
|
+
this._logger.info(`Found attachment: ${response.bodyObject.result[0].file_name}`);
|
|
82
|
+
return response.bodyObject.result[0];
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Attachment with sys_id '${sysId}' not found. Status: ${response?.status ?? 'unknown'}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=AttachmentManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentManager.js","sourceRoot":"","sources":["../../../src/sn/attachment/AttachmentManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface AttachmentRecord {
|
|
2
|
+
sys_id: string;
|
|
3
|
+
file_name: string;
|
|
4
|
+
table_name: string;
|
|
5
|
+
table_sys_id: string;
|
|
6
|
+
content_type: string;
|
|
7
|
+
size_bytes?: string;
|
|
8
|
+
sys_created_on?: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface UploadAttachmentOptions {
|
|
12
|
+
tableName: string;
|
|
13
|
+
recordSysId: string;
|
|
14
|
+
fileName: string;
|
|
15
|
+
contentType: string;
|
|
16
|
+
data: Buffer | string;
|
|
17
|
+
}
|
|
18
|
+
export interface ListAttachmentsOptions {
|
|
19
|
+
tableName: string;
|
|
20
|
+
recordSysId: string;
|
|
21
|
+
limit?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface AttachmentResponse {
|
|
24
|
+
result: AttachmentRecord[];
|
|
25
|
+
}
|
|
26
|
+
export interface AttachmentSingleResponse {
|
|
27
|
+
result: AttachmentRecord;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentModels.js","sourceRoot":"","sources":["../../../src/sn/attachment/AttachmentModels.ts"],"names":[],"mappings":""}
|