@sonisoft/now-sdk-ext-core 6.15.1 → 6.17.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 (31) hide show
  1. package/README.md +3 -0
  2. package/dist/comm/http/RequestHandler.d.ts +7 -0
  3. package/dist/comm/http/RequestHandler.js +19 -5
  4. package/dist/comm/http/RequestHandler.js.map +1 -1
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.js +4 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/policy/internal/Classify.js +51 -4
  9. package/dist/policy/internal/Classify.js.map +1 -1
  10. package/dist/sn/application/ApplicationManager.d.ts +59 -1
  11. package/dist/sn/application/ApplicationManager.js +272 -0
  12. package/dist/sn/application/ApplicationManager.js.map +1 -1
  13. package/dist/sn/application/StoreAppRepairError.d.ts +14 -0
  14. package/dist/sn/application/StoreAppRepairError.js +32 -0
  15. package/dist/sn/application/StoreAppRepairError.js.map +1 -0
  16. package/dist/sn/application/StoreApplicationModels.d.ts +97 -0
  17. package/dist/sn/application/StoreApplicationModels.js +2 -1
  18. package/dist/sn/application/StoreApplicationModels.js.map +1 -1
  19. package/dist/sn/flow/FlowDebugError.d.ts +11 -0
  20. package/dist/sn/flow/FlowDebugError.js +39 -0
  21. package/dist/sn/flow/FlowDebugError.js.map +1 -0
  22. package/dist/sn/flow/FlowDebugModels.d.ts +241 -0
  23. package/dist/sn/flow/FlowDebugModels.js +8 -0
  24. package/dist/sn/flow/FlowDebugModels.js.map +1 -0
  25. package/dist/sn/flow/FlowDebugger.d.ts +162 -0
  26. package/dist/sn/flow/FlowDebugger.js +822 -0
  27. package/dist/sn/flow/FlowDebugger.js.map +1 -0
  28. package/dist/sn/flow/FlowManager.js +3 -0
  29. package/dist/sn/flow/FlowManager.js.map +1 -1
  30. package/dist/sn/flow/FlowModels.d.ts +5 -0
  31. package/package.json +1 -1
@@ -2,6 +2,9 @@ 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
+ import { STORE_APP_REPAIR_SKIPPED_LIMIT } from "./StoreApplicationModels.js";
6
+ import { StoreAppRepairError } from "./StoreAppRepairError.js";
7
+ import { TableAPIRequest } from "../../comm/http/TableAPIRequest.js";
5
8
  import { createProgressEmitter, toOperationProgress } from "../OperationProgress.js";
6
9
  export var APP_TAB_CONTEXT;
7
10
  (function (APP_TAB_CONTEXT) {
@@ -16,6 +19,10 @@ export class ApplicationManager {
16
19
  APP_INSTALL_API_URL = "/api/sn_appclient/appmanager/app/install";
17
20
  APP_SEARCH_POST_API_URL = "/api/sn_appclient/appmanager/apps";
18
21
  APP_UPDATE_API_URL = "/api/sn_appclient/appmanager/app/update";
22
+ APP_REPAIR_API_URL = "/api/sn_appclient/appmanager/app/repair";
23
+ /** Reads of the upgrade history after a repair reports success, and the pause between them. */
24
+ REPAIR_HISTORY_ATTEMPTS = 15;
25
+ REPAIR_HISTORY_SETTLE_MS = 2000;
19
26
  DEFAULT_INSTALL_TIMEOUT = 1000 * 60 * 30;
20
27
  DEFAULT_POLL_INTERVAL = 5000;
21
28
  BATCH_INSTALL_TIMEOUT = 1000 * 60 * 30;
@@ -24,7 +31,9 @@ export class ApplicationManager {
24
31
  constructor(instance) {
25
32
  this._instance = instance;
26
33
  this._req = new ServiceNowRequest(instance);
34
+ this._tableAPI = new TableAPIRequest(instance);
27
35
  }
36
+ _tableAPI;
28
37
  _instance;
29
38
  async installBatch(batchDefinitionPath) {
30
39
  const batchDefinitionRequest = fs.readFileSync(batchDefinitionPath, 'utf8');
@@ -350,6 +359,252 @@ export class ApplicationManager {
350
359
  }
351
360
  return await this.waitForInstallationCompletion(trackerId, pollIntervalMs || this.DEFAULT_POLL_INTERVAL, timeoutMs || this.DEFAULT_INSTALL_TIMEOUT, onProgress);
352
361
  }
362
+ // ============================================================
363
+ // Store Application Repair
364
+ // ============================================================
365
+ /**
366
+ * Start a repair of an installed store or company application: the platform's Repair
367
+ * Application link on sys_store_app. It reinstalls the INSTALLED version from the
368
+ * application repository without uninstalling the app, reapplying its files and its
369
+ * customization version, if any.
370
+ *
371
+ * Refused before anything is sent, as the platform refuses it, for an inactive app, an
372
+ * app that contains plugins, an app developed on this instance, and demo data the app
373
+ * does not have.
374
+ *
375
+ * Uses GET /api/sn_appclient/appmanager/app/repair, or app/install with isReinstall=true
376
+ * when the instance has queued installation off (see StoreAppRepairEndpoint).
377
+ * @returns The started repair, for waitForStoreApplicationRepair
378
+ * @throws StoreAppRepairError when the repair is refused or the App Client does not start it
379
+ */
380
+ async repairStoreApplication(options) {
381
+ const app = await this._repairTarget(options);
382
+ const previousHistory = await this._historyBefore(app.scope);
383
+ const endpoint = await this._queuedInstallation() ? 'repair' : 'install';
384
+ const query = {
385
+ app_id: app.sysId,
386
+ version: app.version,
387
+ load_demo_data: String(options.loadDemoData === true)
388
+ };
389
+ if (app.customizationVersion)
390
+ query.customization_version = app.customizationVersion;
391
+ if (endpoint === 'install')
392
+ query.isReinstall = 'true';
393
+ let resp;
394
+ try {
395
+ resp = await this._req.get({
396
+ path: endpoint === 'repair' ? this.APP_REPAIR_API_URL : this.APP_INSTALL_API_URL,
397
+ headers: null,
398
+ query,
399
+ body: null
400
+ });
401
+ }
402
+ catch (error) {
403
+ throw this._repairStartFailure(error, app);
404
+ }
405
+ const operation = resp.bodyObject?.result;
406
+ const trackerId = operation?.trackerId || operation?.tracker_id || operation?.links?.progress?.id;
407
+ if (resp.status !== 200 || !operation || !trackerId) {
408
+ throw new StoreAppRepairError('start_failed', { app: app.sysId, status: resp.status, serverMessage: operation?.message });
409
+ }
410
+ this._logger.info(`Repair of ${app.scope} ${app.version} started (${endpoint}), tracker ${trackerId}`);
411
+ return { app, trackerId, endpoint, ...previousHistory, operation };
412
+ }
413
+ /**
414
+ * Repair an installed store or company application and wait for it to finish.
415
+ * See repairStoreApplication.
416
+ * @param pollIntervalMs Polling interval in ms (default: 5000)
417
+ * @param timeoutMs Timeout in ms (default: 30 min). A queued repair can wait minutes before it runs.
418
+ */
419
+ async repairStoreApplicationAndWait(options, pollIntervalMs, timeoutMs, onProgress) {
420
+ const started = await this.repairStoreApplication(options);
421
+ return await this.waitForStoreApplicationRepair(started, pollIntervalMs, timeoutMs, onProgress);
422
+ }
423
+ /**
424
+ * Wait for a started repair, then read the upgrade history it wrote.
425
+ *
426
+ * `repaired` is true only when the App Client reported success and a new
427
+ * sys_upgrade_history row appeared for the app and finished: the App Client also
428
+ * reports success when it decided no reinstall was necessary, and its tracker can end
429
+ * seconds before the row's counts are filled.
430
+ */
431
+ async waitForStoreApplicationRepair(started, pollIntervalMs, timeoutMs, onProgress) {
432
+ const final = await this.waitForInstallationCompletion(started.trackerId, pollIntervalMs || this.DEFAULT_POLL_INTERVAL, timeoutMs || this.DEFAULT_INSTALL_TIMEOUT, onProgress);
433
+ // The tracker can report success before the history row is finished: on dev206299 the
434
+ // row appeared mid-install and its counts were filled seconds after the tracker ended.
435
+ let row = await this._repairHistoryRow(started);
436
+ for (let attempt = 0; final.success && !historyComplete(row) && attempt < this.REPAIR_HISTORY_ATTEMPTS; attempt++) {
437
+ await new Promise(resolve => setTimeout(resolve, this.REPAIR_HISTORY_SETTLE_MS));
438
+ row = await this._repairHistoryRow(started);
439
+ }
440
+ const read = row ? await this._repairHistory(row) : undefined;
441
+ const history = read?.history;
442
+ const complete = historyComplete(row);
443
+ const warnings = [];
444
+ if (final.success && !history) {
445
+ warnings.push('The App Client reported success but wrote no upgrade history for this application, so it may not have reinstalled anything.');
446
+ }
447
+ if (row && !complete) {
448
+ warnings.push(final.success
449
+ ? 'The App Client reported success, but the upgrade history was still being written when the wait ended, so the repair probably ran and its counts may be incomplete. Check the history before repairing again.'
450
+ : 'The upgrade history was still being written when the wait ended, so its counts may be incomplete.');
451
+ }
452
+ if (read) {
453
+ // The counts leave out Table Not Found, Fatal Error and Not Loaded; the listed files do not.
454
+ // Apply-once files are expected to be left alone on a reinstall.
455
+ const c = read.history.counts;
456
+ const counted = c.skipped + c.skippedError + c.skippedManualMerge;
457
+ const listed = Math.min(read.notApplied, STORE_APP_REPAIR_SKIPPED_LIMIT);
458
+ const total = Math.max(counted, listed);
459
+ if (total > 0) {
460
+ const more = read.notApplied > STORE_APP_REPAIR_SKIPPED_LIMIT && listed >= counted ? ' or more' : '';
461
+ warnings.push(`${total}${more} file(s) were not applied (skipped ${c.skipped}, errors ${c.skippedError}, manual merge ${c.skippedManualMerge}). See the skipped files and the upgrade history.`);
462
+ }
463
+ }
464
+ return {
465
+ ...final,
466
+ app: started.app,
467
+ trackerId: started.trackerId,
468
+ endpoint: started.endpoint,
469
+ history,
470
+ repaired: final.success && history !== undefined && complete,
471
+ warnings
472
+ };
473
+ }
474
+ async _repairTarget(options) {
475
+ const given = typeof options?.app === 'string' ? options.app.trim() : '';
476
+ const bySysId = /^[a-f0-9]{32}$/i.test(given);
477
+ const key = bySysId ? given.toLowerCase() : given;
478
+ // Validated before it goes into an encoded query: a ^ would add conditions.
479
+ if (!bySysId && !/^[a-z0-9_]{1,40}$/i.test(key))
480
+ throw new StoreAppRepairError('invalid_app');
481
+ const match = bySysId ? `sys_id=${key}` : `scope=${key}`;
482
+ const [app] = await this._rows('sys_store_app', match, 'sys_id,name,scope,version,active,contains_plugins,demo_data', 1);
483
+ if (!app) {
484
+ const [local] = await this._rows('sys_app', match, 'sys_id', 1);
485
+ throw new StoreAppRepairError(local ? 'not_a_store_app' : 'app_not_found', { app: key });
486
+ }
487
+ if (app.active !== 'true')
488
+ throw new StoreAppRepairError('app_inactive', { app: app.sys_id, scope: app.scope });
489
+ if (app.contains_plugins === 'true')
490
+ throw new StoreAppRepairError('contains_plugins', { app: app.sys_id, scope: app.scope });
491
+ const hasDemoData = app.demo_data !== 'no_demo_data';
492
+ if (options.loadDemoData && !hasDemoData)
493
+ throw new StoreAppRepairError('no_demo_data', { app: app.sys_id, scope: app.scope });
494
+ // As the Repair dialog does: an app under source control has no customization to
495
+ // reapply; otherwise the installed customization version goes with it.
496
+ let customizationVersion;
497
+ const [repoConfig] = await this._rows('sys_repo_config', `sys_app=${app.sys_id}`, 'sys_id', 1);
498
+ if (!repoConfig) {
499
+ const [customization] = await this._rows('sys_app_customization', `vendor_app=${app.sys_id}^version!=none`, 'version', 1);
500
+ if (customization?.version)
501
+ customizationVersion = customization.version;
502
+ }
503
+ return {
504
+ sysId: app.sys_id,
505
+ name: app.name,
506
+ scope: app.scope,
507
+ version: app.version,
508
+ customizationVersion,
509
+ hasDemoData
510
+ };
511
+ }
512
+ async _queuedInstallation() {
513
+ const [property] = await this._rows('sys_properties', 'name=sn_appclient.use_queued_installation', 'value', 1);
514
+ return property?.value === 'true';
515
+ }
516
+ /**
517
+ * What the app's upgrade history held before the repair. sys_created_on has whole-second
518
+ * precision, so every row from the newest second is remembered, not only the first returned.
519
+ */
520
+ async _historyBefore(scope) {
521
+ const [newest] = await this._rows('sys_upgrade_history', `to_version=${scope}^ORDERBYDESCsys_created_on`, 'sys_id,sys_created_on', 1);
522
+ if (!newest)
523
+ return { previousHistoryIds: [] };
524
+ const sameSecond = await this._rows('sys_upgrade_history', `to_version=${scope}^sys_created_on=${newest.sys_created_on}`, 'sys_id', 100);
525
+ return {
526
+ previousHistoryIds: [...new Set([newest.sys_id, ...sameSecond.map(row => row.sys_id)])],
527
+ previousHistoryCreated: newest.sys_created_on
528
+ };
529
+ }
530
+ /**
531
+ * The newest upgrade history row the repair can have written: created no earlier than the
532
+ * newest row before it, and not one of those. Another install of the same scope while the
533
+ * repair waited in the queue would be indistinguishable; the history row names no tracker.
534
+ */
535
+ async _repairHistoryRow(started) {
536
+ const since = started.previousHistoryCreated ? `^sys_created_on>=${started.previousHistoryCreated}` : '';
537
+ const rows = await this._rows('sys_upgrade_history', `to_version=${started.app.scope}${since}^ORDERBYDESCsys_created_on`, 'sys_id,sys_created_on,upgrade_started,upgrade_finished,summary_complete_status,added,updated,deleted,unchanged,skipped,skipped_error,skipped_manual_merge,skipped_apply_once', started.previousHistoryIds.length + 1);
538
+ return rows.find(row => !started.previousHistoryIds.includes(row.sys_id));
539
+ }
540
+ /**
541
+ * The repair's history row, with the files it did not apply. Files that were not applied
542
+ * for a reason other than apply-once are read first, so a long list of apply-once files
543
+ * cannot push a fatal error out of the list. `notApplied` counts those, up to the limit + 1.
544
+ */
545
+ async _repairHistory(row) {
546
+ const fields = 'file_name,type,target_name,disposition,reason';
547
+ const problems = Object.keys(SKIPPED_DISPOSITIONS).filter(code => code !== APPLY_ONCE_DISPOSITION).join(',');
548
+ const notApplied = await this._rows('sys_upgrade_history_log', `upgrade_history=${row.sys_id}^dispositionIN${problems}^ORDERBYfile_name`, fields, STORE_APP_REPAIR_SKIPPED_LIMIT + 1);
549
+ const room = STORE_APP_REPAIR_SKIPPED_LIMIT + 1 - notApplied.length;
550
+ const applyOnce = room > 0
551
+ ? await this._rows('sys_upgrade_history_log', `upgrade_history=${row.sys_id}^disposition=${APPLY_ONCE_DISPOSITION}^ORDERBYfile_name`, fields, room)
552
+ : [];
553
+ const skippedRows = [...notApplied, ...applyOnce];
554
+ const count = (value) => Number.parseInt(value ?? '', 10) || 0;
555
+ const history = {
556
+ sysId: row.sys_id,
557
+ started: row.upgrade_started || undefined,
558
+ finished: row.upgrade_finished || undefined,
559
+ status: row.summary_complete_status || undefined,
560
+ counts: {
561
+ added: count(row.added),
562
+ updated: count(row.updated),
563
+ deleted: count(row.deleted),
564
+ unchanged: count(row.unchanged),
565
+ skipped: count(row.skipped),
566
+ skippedError: count(row.skipped_error),
567
+ skippedManualMerge: count(row.skipped_manual_merge),
568
+ skippedApplyOnce: count(row.skipped_apply_once)
569
+ },
570
+ skippedFiles: skippedRows.slice(0, STORE_APP_REPAIR_SKIPPED_LIMIT).map(file => ({
571
+ fileName: file.file_name,
572
+ type: file.type,
573
+ targetName: file.target_name,
574
+ disposition: file.disposition,
575
+ dispositionLabel: SKIPPED_DISPOSITIONS[file.disposition] ?? file.disposition,
576
+ reason: file.reason || undefined
577
+ })),
578
+ skippedFilesTruncated: skippedRows.length > STORE_APP_REPAIR_SKIPPED_LIMIT
579
+ };
580
+ return { history, notApplied: notApplied.length };
581
+ }
582
+ _repairStartFailure(error, app) {
583
+ // Policy refusals and session errors say what is wrong themselves.
584
+ const message = error instanceof Error ? error.message : '';
585
+ const failed = /^(?:Error during request\. Status: |Request failed with status )(\d{3})/.exec(message);
586
+ if (!failed)
587
+ return error;
588
+ let serverMessage;
589
+ const body = /Body: (.*)$/s.exec(message)?.[1];
590
+ try {
591
+ const parsed = (body ? JSON.parse(body) : undefined);
592
+ serverMessage = parsed?.error?.message || parsed?.error?.detail || undefined;
593
+ }
594
+ catch {
595
+ serverMessage = undefined;
596
+ }
597
+ return new StoreAppRepairError('start_failed', { app: app.sysId, status: Number(failed[1]), serverMessage }, error);
598
+ }
599
+ async _rows(table, query, fields, limit) {
600
+ const resp = await this._tableAPI.get(table, {
601
+ sysparm_query: query,
602
+ sysparm_fields: fields,
603
+ sysparm_limit: String(limit),
604
+ sysparm_exclude_reference_link: 'true'
605
+ });
606
+ return resp.bodyObject?.result ?? [];
607
+ }
353
608
  /**
354
609
  * Poll installation progress via ProgressWorker until complete, timed out, or failed.
355
610
  * Uses GET /api/sn_cicd/progress/{progressId}
@@ -437,6 +692,23 @@ export class ApplicationManager {
437
692
  return 0;
438
693
  }
439
694
  }
695
+ /** sys_upgrade_history_log dispositions a repair reports as not applied. */
696
+ const SKIPPED_DISPOSITIONS = {
697
+ "4": "Skipped",
698
+ "6": "Table Not Found",
699
+ "9": "Skipped Error",
700
+ "10": "Skipped Manual Merge",
701
+ "11": "Skipped Apply Once",
702
+ "104": "Skipped (second pass)",
703
+ "106": "Table Not Found (second pass)",
704
+ "301": "Fatal Error",
705
+ "302": "Not Loaded"
706
+ };
707
+ const APPLY_ONCE_DISPOSITION = "11";
708
+ /** A history row is finished once it has an end time and its summary is complete. */
709
+ function historyComplete(row) {
710
+ return !!row?.upgrade_finished && row.summary_complete_status === "complete";
711
+ }
440
712
  export class BatchInstallResultResponse {
441
713
  result;
442
714
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationManager.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationManager.js","sourceRoot":"","sources":["../../../src/sn/application/ApplicationManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { StoreAppRepairErrorCode } from './StoreApplicationModels.js';
2
+ /** Values a StoreAppRepairError may carry: ids and scopes are checked, server text is bounded. */
3
+ export interface StoreAppRepairErrorDetail {
4
+ app?: string;
5
+ scope?: string;
6
+ status?: number;
7
+ serverMessage?: string;
8
+ }
9
+ /** A repair that was refused before it started, or that the App Client would not start. */
10
+ export declare class StoreAppRepairError extends Error {
11
+ readonly code: StoreAppRepairErrorCode;
12
+ readonly detail?: StoreAppRepairErrorDetail;
13
+ constructor(code: StoreAppRepairErrorCode, detail?: StoreAppRepairErrorDetail, cause?: unknown);
14
+ }
@@ -0,0 +1,32 @@
1
+ const MESSAGES = {
2
+ invalid_app: 'Give the installed application as its sys_store_app sys_id or its scope.',
3
+ app_not_found: 'No installed store or company application matches.',
4
+ not_a_store_app: 'The application was developed on this instance (sys_app), so there is no repository copy to repair it from.',
5
+ app_inactive: 'The application is not active. The platform offers Repair only for an active application.',
6
+ contains_plugins: 'The application contains plugins. Repair it from its sys_store_app record in the UI, which sends the plugin list.',
7
+ no_demo_data: 'The application has no demo data to load.',
8
+ start_failed: 'The App Client did not start the repair.',
9
+ };
10
+ const SYS_ID = /^[a-f0-9]{32}$/;
11
+ const SCOPE = /^[a-z0-9_]{1,40}$/i;
12
+ /** A repair that was refused before it started, or that the App Client would not start. */
13
+ export class StoreAppRepairError extends Error {
14
+ code;
15
+ detail;
16
+ constructor(code, detail, cause) {
17
+ super(`Store application repair refused (${code}): ${MESSAGES[code]}`, cause === undefined ? undefined : { cause });
18
+ this.code = code;
19
+ this.name = 'StoreAppRepairError';
20
+ const safe = {};
21
+ if (detail?.app && (SYS_ID.test(detail.app) || SCOPE.test(detail.app)))
22
+ safe.app = detail.app;
23
+ if (detail?.scope && SCOPE.test(detail.scope))
24
+ safe.scope = detail.scope;
25
+ if (detail?.status !== undefined && Number.isInteger(detail.status))
26
+ safe.status = detail.status;
27
+ if (detail?.serverMessage)
28
+ safe.serverMessage = String(detail.serverMessage).slice(0, 300);
29
+ this.detail = Object.keys(safe).length ? safe : undefined;
30
+ }
31
+ }
32
+ //# sourceMappingURL=StoreAppRepairError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreAppRepairError.js","sourceRoot":"","sources":["../../../src/sn/application/StoreAppRepairError.ts"],"names":[],"mappings":"AAUA,MAAM,QAAQ,GAA4C;IACtD,WAAW,EAAE,0EAA0E;IACvF,aAAa,EAAE,oDAAoD;IACnE,eAAe,EAAE,6GAA6G;IAC9H,YAAY,EAAE,2FAA2F;IACzG,gBAAgB,EAAE,mHAAmH;IACrI,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,0CAA0C;CAC3D,CAAC;AAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAEnC,2FAA2F;AAC3F,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAGP;IAFnB,MAAM,CAA6B;IAEnD,YAAmC,IAA6B,EAAE,MAAkC,EAAE,KAAe;QACjH,KAAK,CAAC,qCAAqC,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QADrF,SAAI,GAAJ,IAAI,CAAyB;QAE5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QAC9F,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzE,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACjG,IAAI,MAAM,EAAE,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;CACJ"}
@@ -97,3 +97,100 @@ export interface StoreAppFinalResult {
97
97
  /** Completion percentage */
98
98
  percent_complete: number;
99
99
  }
100
+ /**
101
+ * Options for repairing an installed store or company application: reinstalling the
102
+ * installed version from its repository without uninstalling it, as the platform's
103
+ * Repair Application link on sys_store_app does.
104
+ */
105
+ export interface StoreAppRepairOptions {
106
+ /** The installed application's sys_store_app sys_id, or its scope (e.g. "x_acme_app"). */
107
+ app: string;
108
+ /** Load the application's demo data as well. Refused for an app that has none. */
109
+ loadDemoData?: boolean;
110
+ }
111
+ /** The installed application a repair reinstalls. */
112
+ export interface StoreAppRepairTarget {
113
+ /** sys_store_app sys_id, which the App Client takes as app_id. */
114
+ sysId: string;
115
+ name: string;
116
+ scope: string;
117
+ /** The installed version: a repair reinstalls this version, never another. */
118
+ version: string;
119
+ /** The customization version reapplied with it, when the app has one. */
120
+ customizationVersion?: string;
121
+ /** Whether the application ships demo data. */
122
+ hasDemoData: boolean;
123
+ }
124
+ /**
125
+ * Which App Client endpoint started the repair.
126
+ * - `repair`: GET appmanager/app/repair, used when the property
127
+ * sn_appclient.use_queued_installation is "true".
128
+ * - `install`: GET appmanager/app/install with isReinstall=true, used otherwise (the App
129
+ * Client treats a missing property as off). With queued installation off, the repair
130
+ * endpoint passes its reinstall flag on as a boolean where a string is compared, and the
131
+ * repair silently becomes "no upgrade necessary"; this path does not.
132
+ */
133
+ export type StoreAppRepairEndpoint = 'repair' | 'install';
134
+ /** A repair that has been started: pass it to waitForStoreApplicationRepair. */
135
+ export interface StoreAppRepairStart {
136
+ app: StoreAppRepairTarget;
137
+ trackerId: string;
138
+ endpoint: StoreAppRepairEndpoint;
139
+ /** The app's sys_upgrade_history rows from the newest second before the repair, to tell the repair's own row apart. */
140
+ previousHistoryIds: string[];
141
+ /** sys_created_on of the newest of those rows; absent when the app had no history. */
142
+ previousHistoryCreated?: string;
143
+ /** The App Client's response. */
144
+ operation: StoreAppOperationResult;
145
+ }
146
+ /** Counts from the repair's sys_upgrade_history row. */
147
+ export interface StoreAppRepairCounts {
148
+ added: number;
149
+ updated: number;
150
+ deleted: number;
151
+ unchanged: number;
152
+ skipped: number;
153
+ skippedError: number;
154
+ skippedManualMerge: number;
155
+ skippedApplyOnce: number;
156
+ }
157
+ /** A file the repair did not apply, from sys_upgrade_history_log. Payloads are never read. */
158
+ export interface StoreAppRepairSkippedFile {
159
+ fileName: string;
160
+ type: string;
161
+ targetName: string;
162
+ disposition: string;
163
+ dispositionLabel: string;
164
+ reason?: string;
165
+ }
166
+ /** The upgrade history the repair wrote. */
167
+ export interface StoreAppRepairHistory {
168
+ sysId: string;
169
+ started?: string;
170
+ finished?: string;
171
+ status?: string;
172
+ counts: StoreAppRepairCounts;
173
+ /** Skipped and failed files, at most STORE_APP_REPAIR_SKIPPED_LIMIT of them. */
174
+ skippedFiles: StoreAppRepairSkippedFile[];
175
+ /** True when there were more skipped files than skippedFiles holds. */
176
+ skippedFilesTruncated: boolean;
177
+ }
178
+ /** A finished (or timed-out) repair. */
179
+ export interface StoreAppRepairResult extends StoreAppFinalResult {
180
+ app: StoreAppRepairTarget;
181
+ trackerId: string;
182
+ endpoint: StoreAppRepairEndpoint;
183
+ /** The sys_upgrade_history row this repair wrote; absent when it wrote none. */
184
+ history?: StoreAppRepairHistory;
185
+ /**
186
+ * True only when the App Client reported success AND a new upgrade history row was
187
+ * written and finished. The App Client reports success for "no upgrade necessary" too,
188
+ * so success alone does not show that anything was reinstalled.
189
+ */
190
+ repaired: boolean;
191
+ warnings: string[];
192
+ }
193
+ /** Why a repair was refused or could not start. */
194
+ export type StoreAppRepairErrorCode = 'invalid_app' | 'app_not_found' | 'not_a_store_app' | 'app_inactive' | 'contains_plugins' | 'no_demo_data' | 'start_failed';
195
+ /** Most skipped files a repair result lists. */
196
+ export declare const STORE_APP_REPAIR_SKIPPED_LIMIT = 50;
@@ -1,2 +1,3 @@
1
- export {};
1
+ /** Most skipped files a repair result lists. */
2
+ export const STORE_APP_REPAIR_SKIPPED_LIMIT = 50;
2
3
  //# sourceMappingURL=StoreApplicationModels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreApplicationModels.js","sourceRoot":"","sources":["../../../src/sn/application/StoreApplicationModels.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"StoreApplicationModels.js","sourceRoot":"","sources":["../../../src/sn/application/StoreApplicationModels.ts"],"names":[],"mappings":"AA2PA,gDAAgD;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { FlowDebugErrorCode, FlowDebugErrorDetail } from './FlowDebugModels.js';
2
+ /** A flow debugger call that was refused or failed. Messages carry codes, never caller values. */
3
+ export declare class FlowDebugError extends Error {
4
+ readonly code: FlowDebugErrorCode;
5
+ readonly detail?: FlowDebugErrorDetail;
6
+ /**
7
+ * @param cause The error that led to this one, when it came from elsewhere: for a run that could
8
+ * not be set up after it started, the original failure (a session or policy error, say).
9
+ */
10
+ constructor(code: FlowDebugErrorCode, detail?: FlowDebugErrorDetail, cause?: unknown);
11
+ }
@@ -0,0 +1,39 @@
1
+ const ID = /^[a-f0-9]{32}$/i;
2
+ const NAME = /^[a-z0-9_.$-]{1,80}$/i;
3
+ function safeDetail(detail) {
4
+ if (!detail)
5
+ return undefined;
6
+ const safe = {};
7
+ if (detail.contextId && ID.test(detail.contextId))
8
+ safe.contextId = detail.contextId;
9
+ if (detail.state && /^[A-Z_]{1,40}$/.test(detail.state))
10
+ safe.state = detail.state;
11
+ if (detail.status !== undefined && Number.isInteger(detail.status))
12
+ safe.status = detail.status;
13
+ // The debugger's messages name context ids and states, never data; still bounded.
14
+ if (detail.serverMessage)
15
+ safe.serverMessage = String(detail.serverMessage).slice(0, 300);
16
+ if (detail.inputs)
17
+ safe.inputs = detail.inputs.filter(name => NAME.test(name)).slice(0, 50);
18
+ if (detail.validSteps)
19
+ safe.validSteps = detail.validSteps.filter(n => Number.isSafeInteger(n)).slice(0, 200);
20
+ if (detail.cancelled !== undefined)
21
+ safe.cancelled = detail.cancelled === true;
22
+ return Object.keys(safe).length ? safe : undefined;
23
+ }
24
+ /** A flow debugger call that was refused or failed. Messages carry codes, never caller values. */
25
+ export class FlowDebugError extends Error {
26
+ code;
27
+ detail;
28
+ /**
29
+ * @param cause The error that led to this one, when it came from elsewhere: for a run that could
30
+ * not be set up after it started, the original failure (a session or policy error, say).
31
+ */
32
+ constructor(code, detail, cause) {
33
+ super(`Flow debugger: ${code}`, cause === undefined ? undefined : { cause });
34
+ this.code = code;
35
+ this.name = 'FlowDebugError';
36
+ this.detail = safeDetail(detail);
37
+ }
38
+ }
39
+ //# sourceMappingURL=FlowDebugError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowDebugError.js","sourceRoot":"","sources":["../../../src/sn/flow/FlowDebugError.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAC7B,MAAM,IAAI,GAAG,uBAAuB,CAAC;AAErC,SAAS,UAAU,CAAC,MAA6B;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,IAAI,GAAyB,EAAE,CAAC;IACtC,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrF,IAAI,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACnF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChG,kFAAkF;IAClF,IAAI,MAAM,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,IAAI,MAAM,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9G,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,kGAAkG;AAClG,MAAM,OAAO,cAAe,SAAQ,KAAK;IAOF;IANnB,MAAM,CAAwB;IAE9C;;;OAGG;IACH,YAAmC,IAAwB,EAAE,MAA6B,EAAE,KAAe;QACvG,KAAK,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAD9C,SAAI,GAAJ,IAAI,CAAoB;QAEvD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACJ"}