signalk-backup 1.0.1 → 1.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signalk-backup",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "Scheduled deduplicated backups of SignalK config to local storage and Google Drive (via Kopia + rclone)",
5
5
  "main": "plugin/index.js",
6
6
  "type": "module",
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@sinclair/typebox": "^0.34.0",
60
60
  "bonjour-service": "^1.4.3",
61
- "signalk-container-helper": "^0.5.0",
61
+ "signalk-container-helper": "^0.6.1",
62
62
  "unzipper": "^0.12.3"
63
63
  },
64
64
  "devDependencies": {
@@ -1,3 +1,6 @@
1
- export declare const BACKUP_SERVER_VERSION = "0.6.10";
2
- export declare function resolveImageTag(tag: string): string;
1
+ export declare const BACKUP_SERVER_VERSION = "1.0.0";
2
+ export declare const BACKUP_SERVER_REPO = "dirkwa/signalk-backup-server";
3
+ export declare function isConcreteSemver(tag: string): boolean;
4
+ export declare function compareSemver(a: string, b: string): number;
5
+ export declare function resolveImageTag(tag: string, override?: string | null): string;
3
6
  //# sourceMappingURL=image-tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-tag.d.ts","sourceRoot":"","sources":["../../src/config/image-tag.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,WAAW,CAAA;AAE7C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"image-tag.d.ts","sourceRoot":"","sources":["../../src/config/image-tag.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAG5C,eAAO,MAAM,kBAAkB,iCAAiC,CAAA;AAShE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1D;AAgCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG7E"}
@@ -1,9 +1,68 @@
1
- // The signalk-backup-server image version that "auto" resolves to.
2
- // Bump this when a new signalk-backup-server release is published to ghcr.io.
3
- // Independent of signalk-backup's own package.json version the two repos
4
- // release on independent cadences. See AGENTS.md "Gotchas" for rationale.
5
- export const BACKUP_SERVER_VERSION = '0.6.10';
6
- export function resolveImageTag(tag) {
7
- return tag === 'auto' ? BACKUP_SERVER_VERSION : tag;
1
+ // Offline floor for "auto", not the target — never couple it to this plugin's own version. See AGENTS.md.
2
+ export const BACKUP_SERVER_VERSION = '1.0.0';
3
+ // Shared by the startup resolver and the update registration so the two cannot drift.
4
+ export const BACKUP_SERVER_REPO = 'dirkwa/signalk-backup-server';
5
+ // Rejects floating tags: signalk-container treats them as non-semver and pulls the image on every update check.
6
+ const NUM = '0|[1-9]\\d*';
7
+ const PRE_ID = `(?:${NUM}|\\d*[a-zA-Z-][a-zA-Z0-9-]*)`;
8
+ const SEMVER_PATTERN = new RegExp(`^(?:${NUM})\\.(?:${NUM})\\.(?:${NUM})(?:-${PRE_ID}(?:\\.${PRE_ID})*)?$`);
9
+ export function isConcreteSemver(tag) {
10
+ return SEMVER_PATTERN.test(tag);
11
+ }
12
+ // Returns <0, 0 or >0. Both arguments must satisfy isConcreteSemver.
13
+ export function compareSemver(a, b) {
14
+ const [aCore, aPre] = splitPrerelease(a);
15
+ const [bCore, bPre] = splitPrerelease(b);
16
+ for (let i = 0; i < 3; i++) {
17
+ const diff = (aCore[i] ?? 0) - (bCore[i] ?? 0);
18
+ if (diff !== 0)
19
+ return diff;
20
+ }
21
+ if (aPre === bPre)
22
+ return 0;
23
+ if (aPre === null)
24
+ return 1;
25
+ if (bPre === null)
26
+ return -1;
27
+ return comparePrerelease(aPre, bPre);
28
+ }
29
+ // Numeric identifiers compare numerically (beta.2 < beta.11, which a string compare gets backwards).
30
+ function comparePrerelease(a, b) {
31
+ const aParts = a.split('.');
32
+ const bParts = b.split('.');
33
+ const len = Math.max(aParts.length, bParts.length);
34
+ for (let i = 0; i < len; i++) {
35
+ const x = aParts[i];
36
+ const y = bParts[i];
37
+ // A shorter identifier set has lower precedence when all else is equal.
38
+ if (x === undefined)
39
+ return -1;
40
+ if (y === undefined)
41
+ return 1;
42
+ if (x === y)
43
+ continue;
44
+ const xNum = /^\d+$/.test(x);
45
+ const yNum = /^\d+$/.test(y);
46
+ if (xNum && yNum)
47
+ return Number(x) - Number(y);
48
+ if (xNum)
49
+ return -1;
50
+ if (yNum)
51
+ return 1;
52
+ return x < y ? -1 : 1;
53
+ }
54
+ return 0;
55
+ }
56
+ function splitPrerelease(tag) {
57
+ const dash = tag.indexOf('-');
58
+ const core = dash === -1 ? tag : tag.slice(0, dash);
59
+ const pre = dash === -1 ? null : tag.slice(dash + 1);
60
+ return [core.split('.').map(Number), pre];
61
+ }
62
+ // `override` applies only to "auto": a user-pinned tag is never hijacked by a live lookup.
63
+ export function resolveImageTag(tag, override) {
64
+ if (tag !== 'auto')
65
+ return tag;
66
+ return override && isConcreteSemver(override) ? override : BACKUP_SERVER_VERSION;
8
67
  }
9
68
  //# sourceMappingURL=image-tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-tag.js","sourceRoot":"","sources":["../../src/config/image-tag.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAA;AAE7C,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"image-tag.js","sourceRoot":"","sources":["../../src/config/image-tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ContainerManagerApi } from '../types.js';
2
+ export interface ResolveAutoTagOptions {
3
+ manager: ContainerManagerApi | undefined;
4
+ persisted: string;
5
+ floor: string;
6
+ timeoutMs?: number;
7
+ debug: (msg: string) => void;
8
+ }
9
+ export declare function resolveAutoTag(opts: ResolveAutoTagOptions): Promise<string>;
10
+ //# sourceMappingURL=resolve-auto-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-auto-tag.d.ts","sourceRoot":"","sources":["../../src/config/resolve-auto-tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAMjD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAID,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBjF"}
@@ -0,0 +1,70 @@
1
+ import { buildVersionSource } from 'signalk-container-helper';
2
+ import { BACKUP_SERVER_REPO, compareSemver, isConcreteSemver } from './image-tag.js';
3
+ // Shorter than the source's own 10s: boats boot without internet routinely.
4
+ const DEFAULT_TIMEOUT_MS = 5000;
5
+ // Prefers the persisted tag (no network, so repeat boots reuse one image), then the
6
+ // newest release, then the floor. Never returns a floating tag.
7
+ export async function resolveAutoTag(opts) {
8
+ const { persisted, floor, debug } = opts;
9
+ if (isConcreteSemver(persisted) && compareSemver(persisted, floor) >= 0) {
10
+ debug(`auto: using persisted tag ${persisted}`);
11
+ return persisted;
12
+ }
13
+ const latest = await fetchLatestRelease(opts);
14
+ if (latest === null)
15
+ return floor;
16
+ if (!isConcreteSemver(latest)) {
17
+ debug(`auto: ignoring non-semver release "${latest}", using ${floor}`);
18
+ return floor;
19
+ }
20
+ // An API blip or re-tagged old release must not downgrade a running boat.
21
+ if (compareSemver(latest, floor) < 0) {
22
+ debug(`auto: release ${latest} is older than floor ${floor}, using ${floor}`);
23
+ return floor;
24
+ }
25
+ debug(`auto: resolved to ${latest}`);
26
+ return latest;
27
+ }
28
+ // Null when unavailable for any reason; never throws.
29
+ async function fetchLatestRelease(opts) {
30
+ const { manager, floor, debug } = opts;
31
+ if (!manager) {
32
+ debug(`auto: container manager unavailable, using ${floor}`);
33
+ return null;
34
+ }
35
+ const runtime = manager.getRuntime();
36
+ if (!runtime) {
37
+ debug(`auto: container runtime not ready, using ${floor}`);
38
+ return null;
39
+ }
40
+ let timer;
41
+ try {
42
+ const source = buildVersionSource(manager.updates, { githubReleases: BACKUP_SERVER_REPO });
43
+ // Cleared in `finally`, never unref'd: unref lets an idle loop exit before this resolves.
44
+ const timeout = new Promise((resolve) => {
45
+ timer = setTimeout(() => {
46
+ resolve(null);
47
+ }, opts.timeoutMs ?? DEFAULT_TIMEOUT_MS);
48
+ });
49
+ const result = await Promise.race([source.fetch(runtime), timeout]);
50
+ if (result === null) {
51
+ debug(`auto: release lookup timed out, using ${floor}`);
52
+ return null;
53
+ }
54
+ if (result.kind !== 'version') {
55
+ const detail = result.kind === 'error' ? result.error : `unexpected result "${result.kind}"`;
56
+ debug(`auto: release lookup failed (${detail}), using ${floor}`);
57
+ return null;
58
+ }
59
+ return result.latest;
60
+ }
61
+ catch (err) {
62
+ debug(`auto: release lookup threw (${err instanceof Error ? err.message : String(err)}), using ${floor}`);
63
+ return null;
64
+ }
65
+ finally {
66
+ if (timer)
67
+ clearTimeout(timer);
68
+ }
69
+ }
70
+ //# sourceMappingURL=resolve-auto-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-auto-tag.js","sourceRoot":"","sources":["../../src/config/resolve-auto-tag.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Static } from '@sinclair/typebox';
2
2
  export declare const ConfigSchema: import("@sinclair/typebox").TObject<{
3
3
  managedContainer: import("@sinclair/typebox").TBoolean;
4
4
  imageTag: import("@sinclair/typebox").TString;
5
+ resolvedImageTag: import("@sinclair/typebox").TString;
5
6
  externalUrl: import("@sinclair/typebox").TString;
6
7
  emitSignalKDeltas: import("@sinclair/typebox").TBoolean;
7
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAGhD,eAAO,MAAM,YAAY;;;;;EA8BvB,CAAA;AAGF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,GAAG;IACjD,cAAc,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAGD,eAAO,MAAM,eAAe,EAAE,MAW7B,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAGhD,eAAO,MAAM,YAAY;;;;;;EA4CvB,CAAA;AAGF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,GAAG;IACjD,cAAc,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAGD,eAAO,MAAM,eAAe,EAAE,MAY7B,CAAA"}
@@ -8,10 +8,23 @@ export const ConfigSchema = Type.Object({
8
8
  'Disable to point at an external backup-server instance via "External URL".'
9
9
  }),
10
10
  imageTag: Type.String({
11
- default: 'auto',
11
+ default: 'latest',
12
12
  title: 'Container image tag',
13
- description: '"auto" (default) tracks the signalk-backup-server version this plugin release was tested against. ' +
14
- 'Pin to a specific version (e.g. "0.4.0") or use a floating tag (e.g. "latest") to override.'
13
+ description: '"latest" (default) always runs the newest published signalk-backup-server image. ' +
14
+ 'Because it is a floating tag, the container manager detects updates by comparing image ' +
15
+ 'digests, which downloads the image on each check and reports "image rebuild available" ' +
16
+ 'rather than a version number. Pin a specific version (e.g. "1.0.0") for version-to-version ' +
17
+ 'update notices and no background downloads, or "auto" to track the newest release as a ' +
18
+ 'concrete version.'
19
+ }),
20
+ resolvedImageTag: Type.String({
21
+ default: '',
22
+ // RJSF renders `readOnly` as a disabled input: the plugin overwrites this
23
+ // field on every start, so an edit here would silently vanish.
24
+ readOnly: true,
25
+ title: 'Resolved image version',
26
+ description: 'Managed by the plugin: the concrete version "auto" resolved to. Set imageTag to something ' +
27
+ 'other than "auto" to pin a version; this field is not used then.'
15
28
  }),
16
29
  externalUrl: Type.String({
17
30
  default: '',
@@ -30,7 +43,8 @@ export const ConfigSchema = Type.Object({
30
43
  // SignalK uses schema `default` only to seed the form, not the runtime config — spread these in start(). See AGENTS.md gotchas.
31
44
  export const SCHEMA_DEFAULTS = {
32
45
  managedContainer: true,
33
- imageTag: 'auto',
46
+ imageTag: 'latest',
47
+ resolvedImageTag: '',
34
48
  externalUrl: '',
35
49
  emitSignalKDeltas: true,
36
50
  databaseExport: {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAA;AAEhD,wGAAwG;AACxG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,+CAA+C;QACtD,WAAW,EACT,0FAA0F;YAC1F,4EAA4E;KAC/E,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,oGAAoG;YACpG,6FAA6F;KAChG,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,8EAA8E;YAC9E,0CAA0C;KAC7C,CAAC;IACF,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,+CAA+C;QACtD,WAAW,EACT,2EAA2E;YAC3E,qEAAqE;YACrE,8DAA8D;KACjE,CAAC;CACH,CAAC,CAAA;AAcF,gIAAgI;AAChI,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,EAAE;KACpB;CACF,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAA;AAEhD,wGAAwG;AACxG,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,+CAA+C;QACtD,WAAW,EACT,0FAA0F;YAC1F,4EAA4E;KAC/E,CAAC;IACF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,mFAAmF;YACnF,yFAAyF;YACzF,yFAAyF;YACzF,6FAA6F;YAC7F,yFAAyF;YACzF,mBAAmB;KACtB,CAAC;IACF,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,EAAE;QACX,0EAA0E;QAC1E,+DAA+D;QAC/D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,4FAA4F;YAC5F,kEAAkE;KACrE,CAAC;IACF,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,8EAA8E;YAC9E,0CAA0C;KAC7C,CAAC;IACF,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,+CAA+C;QACtD,WAAW,EACT,2EAA2E;YAC3E,qEAAqE;YACrE,8DAA8D;KACjE,CAAC;CACH,CAAC,CAAA;AAcF,gIAAgI;AAChI,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,QAAQ;IAClB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE;QACd,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,EAAE;KACpB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAW5C,OAAO,EACL,eAAe,EAKhB,MAAM,YAAY,CAAA;AA4CnB,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,eAAe,GAAG,MAAM,CAkoBrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAY5C,OAAO,EACL,eAAe,EAKhB,MAAM,YAAY,CAAA;AAqDnB,MAAM,CAAC,OAAO,WAAW,GAAG,EAAE,eAAe,GAAG,MAAM,CA6rBrD"}
package/plugin/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import path from 'node:path';
2
2
  import { hostname } from 'node:os';
3
- import { ManagedContainer, getContainerManager, retryForever, startSafely } from 'signalk-container-helper';
3
+ import { ManagedContainer, getContainerManager, retryForever, startSafely, waitForContainerManager } from 'signalk-container-helper';
4
4
  import { BackupClient } from './backup-client.js';
5
5
  import { registerProxy } from './proxy.js';
6
6
  import { discoverSmbHosts, shutdownSmbDiscovery } from './smb-discovery.js';
7
7
  import { ConfigSchema, SCHEMA_DEFAULTS } from './config/schema.js';
8
- import { resolveImageTag } from './config/image-tag.js';
8
+ import { BACKUP_SERVER_REPO, BACKUP_SERVER_VERSION, resolveImageTag } from './config/image-tag.js';
9
+ import { resolveAutoTag } from './config/resolve-auto-tag.js';
9
10
  import { runAllExports } from './database-export/index.js';
10
11
  import { registerStagingRoutes } from './database-export/staging-routes.js';
11
12
  import { registerHostRestoreRoutes } from './restore-host-write.js';
@@ -18,6 +19,13 @@ const PLUGIN_ID = 'signalk-backup';
18
19
  const SK_MOUNT = '/signalk-data';
19
20
  const API_PORT = 3010;
20
21
  const OAUTH_PORT = 53682;
22
+ // Podman's Docker-compat socket drops an image's own HEALTHCHECK, so a
23
+ // container created through it has no probe and sits in `starting` forever.
24
+ // signalk-container re-emits this as explicit --health-* run flags. Keep in
25
+ // sync with the HEALTHCHECK in signalk-backup-server's Dockerfile, which is
26
+ // the source of truth; the image ships neither curl nor wget, so node is the
27
+ // only client available. http.get rather than fetch, matching that Dockerfile.
28
+ const HEALTH_PROBE = `const r=require('http').get('http://127.0.0.1:${API_PORT}/api/health',res=>{res.resume();process.exit(res.statusCode===200?0:1)});r.on('error',()=>process.exit(1));r.setTimeout(5000,()=>{r.destroy();process.exit(1)})`;
21
29
  // Readiness-retry backoff (15s doubling to a 2min ceiling, forever): a transient boot race must not wedge the plugin until a human restarts it — on a boat that can be weeks later.
22
30
  const READY_RETRY_MIN_MS = 15_000;
23
31
  const READY_RETRY_MAX_MS = 120_000;
@@ -46,6 +54,8 @@ const DEFAULT_RESOURCES = {
46
54
  export default function (app) {
47
55
  let client = null;
48
56
  let currentSettings = null;
57
+ // The helper's resolveTag hook is sync, so asyncStart resolves "auto" and parks it here.
58
+ let resolvedAutoTag = null;
49
59
  let containerAddress = null;
50
60
  let dbExportTimer = null;
51
61
  // In-flight tick handle so concurrent callers (scheduler + manual
@@ -95,6 +105,19 @@ export default function (app) {
95
105
  LOG_LEVEL: 'info'
96
106
  },
97
107
  resources: DEFAULT_RESOURCES,
108
+ // CMD-SHELL, not CMD: the CMD form is re-split on whitespace before it
109
+ // reaches the runtime, which shreds the script into `node -e const ...`.
110
+ // The image ships /bin/sh, and the Dockerfile's own HEALTHCHECK uses the
111
+ // shell form too.
112
+ healthcheck: {
113
+ test: ['CMD-SHELL', `node -e ${JSON.stringify(HEALTH_PROBE)}`],
114
+ interval: '30s',
115
+ timeout: '5s',
116
+ // Covers container boot: the probe exits non-zero immediately
117
+ // (ECONNREFUSED) until the server is listening.
118
+ startPeriod: '15s',
119
+ retries: 3
120
+ },
98
121
  restart: 'unless-stopped'
99
122
  });
100
123
  /**
@@ -124,10 +147,8 @@ export default function (app) {
124
147
  name: CONTAINER_NAME,
125
148
  image: BACKUP_IMAGE,
126
149
  buildConfig: buildContainerConfig,
127
- defaultTag: 'auto',
128
- // 'auto' the pinned, tested backup-server version. Applied to start(),
129
- // applyUpdate() and route input alike, and the helper validates both the
130
- // requested and the resolved tag (replacing the old SAFE_TAG check).
150
+ defaultTag: SCHEMA_DEFAULTS.imageTag,
151
+ // Maps "auto" to a concrete version; every other tag passes through.
131
152
  resolveTag: resolveImageTag,
132
153
  managerTimeoutMs: 120_000,
133
154
  readiness: {
@@ -143,8 +164,8 @@ export default function (app) {
143
164
  }
144
165
  },
145
166
  updates: {
146
- versionSource: { githubReleases: 'dirkwa/signalk-backup-server' },
147
- currentTag: () => resolveImageTag(currentSettings?.imageTag ?? 'auto')
167
+ versionSource: { githubReleases: BACKUP_SERVER_REPO },
168
+ currentTag: () => resolveImageTag(currentSettings?.imageTag ?? SCHEMA_DEFAULTS.imageTag, resolvedAutoTag)
148
169
  },
149
170
  ensureOptions: { onVolumeIssue }
150
171
  });
@@ -211,7 +232,8 @@ export default function (app) {
211
232
  // getInfo() never throws: 'unknown' state and an empty image when the
212
233
  // manager or runtime is absent.
213
234
  const { state, image } = await container.getInfo();
214
- const containerImage = image || `${BACKUP_IMAGE}:${resolveImageTag(currentSettings?.imageTag ?? 'auto')}`;
235
+ const containerImage = image ||
236
+ `${BACKUP_IMAGE}:${resolveImageTag(currentSettings?.imageTag ?? SCHEMA_DEFAULTS.imageTag, resolvedAutoTag)}`;
215
237
  // WHY: pathMapping.hostPath is operator-facing; resolveSignalkConfigRoot is SK-internal when SK is in a container.
216
238
  const managed = currentSettings?.managedContainer !== false;
217
239
  const pathMapping = managed
@@ -244,6 +266,9 @@ export default function (app) {
244
266
  return;
245
267
  }
246
268
  currentSettings.imageTag = requestedTag;
269
+ // Pin the result too, or the persisted short-circuit would undo this update next start.
270
+ currentSettings.resolvedImageTag = resolvedTag;
271
+ resolvedAutoTag = resolvedTag;
247
272
  await new Promise((resolve) => {
248
273
  app.savePluginOptions({ ...currentSettings }, (err) => {
249
274
  if (err) {
@@ -404,6 +429,27 @@ export default function (app) {
404
429
  });
405
430
  }
406
431
  };
432
+ // Lets the next start short-circuit without a lookup; a failed save costs a lookup, never startup.
433
+ async function persistResolvedTag(tag, gen) {
434
+ // savePluginOptions writes the whole options object and itself re-runs
435
+ // start(), so a save from a superseded lifecycle would republish that
436
+ // generation's imageTag over whatever the user has since saved.
437
+ if (gen !== lifecycleGeneration)
438
+ return;
439
+ if (!currentSettings || currentSettings.resolvedImageTag === tag)
440
+ return;
441
+ currentSettings.resolvedImageTag = tag;
442
+ // Spread at call time, not before: a snapshot captured earlier would drop a
443
+ // concurrent settings edit (e.g. the db-export route) made while we awaited.
444
+ await new Promise((resolve) => {
445
+ app.savePluginOptions({ ...currentSettings }, (err) => {
446
+ if (err) {
447
+ app.debug(`Could not persist resolved image tag ${tag}: ${errMsg(err)}`);
448
+ }
449
+ resolve();
450
+ });
451
+ });
452
+ }
407
453
  async function asyncStart(settings, gen, signal) {
408
454
  if (!settings.managedContainer) {
409
455
  // External-server mode: skip the container, point at user-provided URL.
@@ -433,6 +479,29 @@ export default function (app) {
433
479
  });
434
480
  return;
435
481
  }
482
+ // Resolved here, not in resolveTag: that hook is sync and this needs the network.
483
+ if (settings.imageTag === 'auto') {
484
+ // Plugins start alphabetically, so signalk-container is often not on globalThis yet.
485
+ const { manager } = await waitForContainerManager({ timeoutMs: 30_000, signal });
486
+ if (gen !== lifecycleGeneration)
487
+ return;
488
+ const resolved = await resolveAutoTag({
489
+ manager: manager ?? getContainerManager(),
490
+ persisted: settings.resolvedImageTag,
491
+ floor: BACKUP_SERVER_VERSION,
492
+ debug: (msg) => {
493
+ app.debug(msg);
494
+ }
495
+ });
496
+ // Publish after the generation check: a superseded start must not clobber the live tag.
497
+ if (gen !== lifecycleGeneration)
498
+ return;
499
+ resolvedAutoTag = resolved;
500
+ await persistResolvedTag(resolved, gen);
501
+ }
502
+ else {
503
+ resolvedAutoTag = null;
504
+ }
436
505
  // Managed-container mode. readinessRetry means this resolves only once the
437
506
  // container answers /api/health, or rejects on cancellation — it does not
438
507
  // give up and leave the plugin wedged.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,uBAAuB,EACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAQ3E,OAAO,EAAE,YAAY,EAAU,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,qBAAqB,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,YAAY,GAAG,sCAAsC,CAAA;AAC3D,MAAM,cAAc,GAAG,uBAAuB,CAAA;AAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAClC,MAAM,QAAQ,GAAG,eAAe,CAAA;AAChC,MAAM,QAAQ,GAAG,IAAI,CAAA;AACrB,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,uEAAuE;AACvE,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,YAAY,GAAG,iDAAiD,QAAQ,iKAAiK,CAAA;AAE/O,oLAAoL;AACpL,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACjC,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAElC;;;;;;;;;;GAUG;AACH,yEAAyE;AACzE,oEAAoE;AACpE,mEAAmE;AACnE,oEAAoE;AACpE,iCAAiC;AACjC,MAAM,iBAAiB,GAA4B;IACjD,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,GAAG;CACf,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,GAAoB;IAC3C,IAAI,MAAM,GAAwB,IAAI,CAAA;IACtC,IAAI,eAAe,GAAkB,IAAI,CAAA;IACzC,yFAAyF;IACzF,IAAI,eAAe,GAAkB,IAAI,CAAA;IACzC,IAAI,gBAAgB,GAAkB,IAAI,CAAA;IAC1C,IAAI,aAAa,GAA0B,IAAI,CAAA;IAC/C,kEAAkE;IAClE,4DAA4D;IAC5D,IAAI,gBAAgB,GAAyB,IAAI,CAAA;IACjD,2EAA2E;IAC3E,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,kEAAkE;IAClE,IAAI,mBAAmB,GAAG,CAAC,CAAA;IAC3B,qEAAqE;IACrE,IAAI,UAAU,GAA2B,IAAI,CAAA;IAE7C,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAmB,EAAE,CAAC,CAAC;QAC9D,KAAK,EAAE,YAAY;QACnB,GAAG;QACH,+DAA+D;QAC/D,gEAAgE;QAChE,mEAAmE;QACnE,mEAAmE;QACnE,uCAAuC;QACvC,sBAAsB,EAAE,QAAQ;QAChC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC9C,mEAAmE;QACnE,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,+DAA+D;QAC/D,wCAAwC;QACxC,OAAO,EAAE;YACP,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE;YACtD,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;SACnD;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;YACtB,qEAAqE;YACrE,sFAAsF;YACtF,QAAQ,EAAE,GAAG,QAAQ,uBAAuB,SAAS,EAAE;YACvD,iBAAiB,EAAE,QAAQ;YAC3B,eAAe,EAAE,iBAAiB,CAAC,GAAG,CAAC;YACvC,sGAAsG;YACtG,aAAa,EAAE,QAAQ,EAAE;YACzB,qEAAqE;YACrE,0DAA0D;YAC1D,SAAS,EAAE,MAAM;SAClB;QACD,SAAS,EAAE,iBAAiB;QAC5B,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,kBAAkB;QAClB,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,8DAA8D;YAC9D,gDAAgD;YAChD,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAA;IAEF;;;;OAIG;IACH,MAAM,aAAa,GAAG,CAAC,KAAkB,EAAQ,EAAE;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAC/E,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxC,GAAG,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;IAED,4EAA4E;IAC5E,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC;QACrC,GAAG;QACH,QAAQ,EAAE,SAAS;QACnB,yEAAyE;QACzE,0EAA0E;QAC1E,qDAAqD;QACrD,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,qEAAqE;QACrE,UAAU,EAAE,eAAe;QAC3B,gBAAgB,EAAE,OAAO;QACzB,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,MAAM;SACd;QACD,cAAc,EAAE;YACd,UAAU,EAAE,kBAAkB;YAC9B,UAAU,EAAE,kBAAkB;YAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;gBACpC,GAAG,CAAC,cAAc,CAChB,6BAA6B,MAAM,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAC5F,CAAA;YACH,CAAC;SACF;QACD,OAAO,EAAE;YACP,aAAa,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YACrD,UAAU,EAAE,GAAG,EAAE,CACf,eAAe,CAAC,eAAe,EAAE,QAAQ,IAAI,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC;SAC1F;QACD,aAAa,EAAE,EAAE,aAAa,EAAE;KACjC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAW;QACrB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,oFAAoF;QAEtF,MAAM,EAAE,YAAY;QAEpB,KAAK,CAAC,MAAuB;YAC3B,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACpC,oEAAoE;YACpE,+DAA+D;YAC/D,qEAAqE;YACrE,iEAAiE;YACjE,iEAAiE;YACjE,4CAA4C;YAC5C,MAAM,MAAM,GAAW;gBACrB,GAAG,eAAe;gBAClB,GAAG,MAAM;gBACT,cAAc,EAAE;oBACd,GAAG,eAAe,CAAC,cAAc;oBACjC,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;iBACjC;aACF,CAAA;YACD,eAAe,GAAG,MAAM,CAAA;YACxB,MAAM,GAAG,GAAG,EAAE,mBAAmB,CAAA;YACjC,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,UAAU,EAAE,KAAK,EAAE,CAAA;YACnB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;YACnC,UAAU,GAAG,KAAK,CAAA;YAClB,sJAAsJ;YACtJ,MAAM,GAAG,IAAI,CAAA;YACb,gBAAgB,GAAG,IAAI,CAAA;YACvB,kEAAkE;YAClE,sEAAsE;YACtE,uEAAuE;YACvE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,CAAC;QAED,KAAK,CAAC,IAAI;YACR,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACpC,uDAAuD;YACvD,mBAAmB,EAAE,CAAA;YACrB,wEAAwE;YACxE,2CAA2C;YAC3C,UAAU,EAAE,KAAK,EAAE,CAAA;YACnB,UAAU,GAAG,IAAI,CAAA;YACjB,kBAAkB,EAAE,CAAA;YACpB,iBAAiB,EAAE,CAAA;YACnB,oBAAoB,EAAE,CAAA;YACtB,MAAM,GAAG,IAAI,CAAA;YACb,gBAAgB,GAAG,IAAI,CAAA;YAEvB,IAAI,eAAe,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBAChD,2EAA2E;gBAC3E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;YACxB,CAAC;YACD,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAED,kBAAkB,CAAC,MAAe;YAChC,wDAAwD;YACxD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;gBAC3D,sEAAsE;gBACtE,gCAAgC;gBAChC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;gBAClD,MAAM,cAAc,GAClB,KAAK;oBACL,GAAG,YAAY,IAAI,eAAe,CAAC,eAAe,EAAE,QAAQ,IAAI,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,CAAA;gBAE9G,mHAAmH;gBACnH,MAAM,OAAO,GAAG,eAAe,EAAE,gBAAgB,KAAK,KAAK,CAAA;gBAC3D,MAAM,WAAW,GAAG,OAAO;oBACzB,CAAC,CAAC;wBACE,aAAa,EAAE,QAAQ;wBACvB,QAAQ,EAAE,MAAM,8BAA8B,CAAC,mBAAmB,EAAE,CAAC;qBACtE;oBACH,CAAC,CAAC,SAAS,CAAA;gBAEb,GAAG,CAAC,IAAI,CAAC;oBACP,SAAS,EAAE;wBACT,KAAK;wBACL,KAAK,EAAE,cAAc;wBACrB,OAAO;qBACR;oBACD,sOAAsO;oBACtO,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC;oBAC3D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,kEAAkE;YAClE,wDAAwD;YACxD,+DAA+D;YAC/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE;gBACrC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;oBAC7C,gGAAgG;oBAChG,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,kEAAkE;wBAClE,qEAAqE;wBACrE,GAAG,CAAC,KAAK,CACP,cAAc,WAAW,2BAA2B,YAAY,8DAA8D,CAC/H,CAAA;wBACD,OAAM;oBACR,CAAC;oBACD,eAAe,CAAC,QAAQ,GAAG,YAAY,CAAA;oBACvC,wFAAwF;oBACxF,eAAe,CAAC,gBAAgB,GAAG,WAAW,CAAA;oBAC9C,eAAe,GAAG,WAAW,CAAA;oBAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAClC,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC,GAAiC,EAAE,EAAE;4BAClF,IAAI,GAAG,EAAE,CAAC;gCACR,GAAG,CAAC,KAAK,CACP,8BAA8B,MAAM,CAAC,GAAG,CAAC,+BAA+B,WAAW,oCAAoC,CACxH,CAAA;4BACH,CAAC;4BACD,OAAO,EAAE,CAAA;wBACX,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;gBACJ,CAAC;aACF,CAAC,CAAA;YAEF,iEAAiE;YACjE,sEAAsE;YACtE,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;gBACnE,MAAM,GAAG,GAAG,eAAe,EAAE,cAAc,IAAI,eAAe,CAAC,cAAc,CAAA;gBAC7E,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC7E,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;gBACzE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAK3B,CAAA;gBAED,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5E,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5E,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9E,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC/E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;oBAClC,CAAC,CAAC,SAAS,CAAA;gBAEf,IACE,OAAO,KAAK,SAAS;oBACrB,OAAO,KAAK,SAAS;oBACrB,eAAe,KAAK,SAAS;oBAC7B,eAAe,KAAK,SAAS,EAC7B,CAAC;oBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,eAAe;4BACrB,OAAO,EACL,2GAA2G;yBAC9G;wBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,6CAA6C;yBACvD;wBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iCAAiC,EAAE;wBACxE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,MAAM,IAAI,GAAG;oBACX,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO;oBAC1D,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,cAAc,CAAC,OAAO;oBAC1D,eAAe,EAAE,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,eAAe;oBAClF,eAAe,EAAE,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,eAAe;iBACnF,CAAA;gBACD,eAAe,CAAC,cAAc,GAAG,IAAI,CAAA;gBAErC,8DAA8D;gBAC9D,gEAAgE;gBAChE,4DAA4D;gBAC5D,qDAAqD;gBACrD,IAAI,CAAC;oBACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC1C,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC,GAAiC,EAAE,EAAE;4BAClF,IAAI,GAAG;gCAAE,MAAM,CAAC,GAAG,CAAC,CAAA;;gCACf,OAAO,EAAE,CAAA;wBAChB,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,KAAK,CAAC,6CAA6C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACrE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;wBACvD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,4DAA4D;gBAC5D,iEAAiE;gBACjE,kBAAkB,EAAE,CAAA;gBAEpB,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAC9E,CAAC,CAAC,CAAA;YAEF,kEAAkE;YAClE,gEAAgE;YAChE,+DAA+D;YAC/D,2DAA2D;YAC3D,6DAA6D;YAC7D,qBAAqB,CAAC,MAAM,EAAE;gBAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,kBAAkB,CAAC;gBACzE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;aACF,CAAC,CAAA;YAEF,6DAA6D;YAC7D,4DAA4D;YAC5D,yDAAyD;YACzD,+DAA+D;YAC/D,kCAAkC;YAClC,yBAAyB,CAAC,MAAM,EAAE;gBAChC,eAAe,EAAE,GAAG,EAAE,CAAC,gBAAgB;gBACvC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;aACF,CAAC,CAAA;YAEF,kEAAkE;YAClE,0DAA0D;YAC1D,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;gBAC3E,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBAC1C,GAAG,CAAC,IAAI,CAAC;wBACP,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,EAAE,KAAK,EAAE;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;wBACxD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,4DAA4D;YAC5D,iEAAiE;YACjE,gEAAgE;YAChE,iEAAiE;YACjE,yDAAyD;YACzD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAa,EAAE,IAAc,EAAE,IAAI,EAAE,EAAE;gBACxE,MAAM,KAAK,GAAG,eAAe,EAAE,cAAc,CAAA;gBAC7C,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,eAAe,EAAE,CAAC;oBAC/D,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6DAA6D;oBAC7D,MAAM,eAAe,EAAE,CAAA;gBACzB,CAAC;gBACD,IAAI,EAAE,CAAA;YACR,CAAC,CAAC,CAAA;YAEF,4DAA4D;YAC5D,iEAAiE;YACjE,6DAA6D;YAC7D,mDAAmD;YACnD,aAAa,CAAC,MAAM,EAAE;gBACpB,eAAe,EAAE,GAAG,EAAE,CAAC,gBAAgB;gBACvC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;IAED,mGAAmG;IACnG,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,GAAW;QACxD,uEAAuE;QACvE,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,gBAAgB,KAAK,GAAG;YAAE,OAAM;QACxE,eAAe,CAAC,gBAAgB,GAAG,GAAG,CAAA;QACtC,4EAA4E;QAC5E,6EAA6E;QAC7E,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,eAAe,EAAE,EAAE,CAAC,GAAiC,EAAE,EAAE;gBAClF,IAAI,GAAG,EAAE,CAAC;oBACR,GAAG,CAAC,KAAK,CAAC,wCAAwC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1E,CAAC;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,GAAW,EAAE,MAAmB;QAC1E,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC/B,wEAAwE;YACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,CAAC,cAAc,CAChB,0FAA0F,CAC3F,CAAA;gBACD,OAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAA;YACtC,iMAAiM;YACjM,gBAAgB,GAAG,GAAG,CAAA;YACtB,0EAA0E;YAC1E,qEAAqE;YACrE,MAAM,YAAY,CAChB,KAAK,IAAI,EAAE;gBACT,IAAI,GAAG,KAAK,mBAAmB;oBAAE,OAAM;gBACvC,wFAAwF;gBACxF,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;gBACjD,MAAM,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;YACpD,CAAC,EACD;gBACE,UAAU,EAAE,kBAAkB;gBAC9B,UAAU,EAAE,kBAAkB;gBAC9B,MAAM;gBACN,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;oBACpC,GAAG,CAAC,cAAc,CAChB,6BAA6B,GAAG,iBAAiB,MAAM,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAChH,CAAA;gBACH,CAAC;aACF,CACF,CAAA;YACD,OAAM;QACR,CAAC;QAED,kFAAkF;QAClF,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACjC,qFAAqF;YACrF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAChF,IAAI,GAAG,KAAK,mBAAmB;gBAAE,OAAM;YACvC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;gBACpC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE;gBACzC,SAAS,EAAE,QAAQ,CAAC,gBAAgB;gBACpC,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;aACF,CAAC,CAAA;YACF,wFAAwF;YACxF,IAAI,GAAG,KAAK,mBAAmB;gBAAE,OAAM;YACvC,eAAe,GAAG,QAAQ,CAAA;YAC1B,MAAM,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,uCAAuC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACxE,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAEpE,wEAAwE;QACxE,+CAA+C;QAC/C,gBAAgB,GAAG,OAAO,CAAA;QAC1B,qJAAqJ;QACrJ,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,8GAA8G;IAC9G,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,QAAgB,EAChB,OAAqB,EACrB,OAAe;QAEf,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,MAAM,GAAG,OAAO,CAAA;QAChB,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE;YAChC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;SAC9C,CAAC,CAAA;QACF,kBAAkB,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,QAAgB,EAChB,CAAe,EACf,GAAW;QAEX,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,yEAAyE;QACzE,MAAM,GAAG,CAAC,CAAA;QACV,GAAG,CAAC,eAAe,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAA;QACpE,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,GAAG,KAAK,mBAAmB;YAAE,OAAM;QACvC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAChF,IACE,QAAQ,CAAC,cAAc,CAAC,OAAO;YAC/B,QAAQ,CAAC,cAAc,CAAC,OAAO;YAC/B,QAAQ,CAAC,cAAc,CAAC,eAAe,EACvC,CAAC;YACD,GAAG,CAAC,eAAe,CACjB,6DAA6D;gBAC3D,kDAAkD,CACrD,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,kBAAkB;QACzB,iBAAiB,EAAE,CAAA;QACnB,oEAAoE;QACpE,oEAAoE;QACpE,+DAA+D;QAC/D,6BAA6B;QAC7B,IAAI,eAAe,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC3D,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,EAAE,cAAc,CAAA;QAC7C,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;QACjE,GAAG,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAA;QACxE,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,KAAK,eAAe,EAAE,CAAA;QACxB,CAAC,EAAE,UAAU,CAAC,CAAA;IAChB,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,aAAa,CAAC,CAAA;YAC5B,aAAa,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,mEAAmE;IACnE,KAAK,UAAU,eAAe;QAC5B,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,eAAe,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,EAAE,cAAc,IAAI,eAAe,CAAC,cAAc,CAAA;QAC/E,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;YAClC,iBAAiB,EAAE,wBAAwB,EAAE;YAC7C,cAAc,EAAE,qBAAqB,EAAE;YACvC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,eAAe,EAAE,KAAK,CAAC,eAAe;aACvC;SACF,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QACpE,GAAG,CAAC,KAAK,CACP,yBAAyB,OAAO,CAAC,MAAM,YAAY;YACjD,GAAG,WAAW,YAAY,UAAU,QAAQ,CAC/C,CAAA;IACH,CAAC;IAED,mEAAmE;IACnE,sEAAsE;IACtE,uCAAuC;IACvC,SAAS,eAAe;QACtB,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAA;QAC7C,gBAAgB,GAAG,eAAe,EAAE;aACjC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,GAAG,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,gBAAgB,GAAG,IAAI,CAAA;QACzB,CAAC,CAAC,CAAA;QACJ,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,uHAAuH;IACvH,SAAS,wBAAwB;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACtD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAA;QACjD,mEAAmE;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,uMAAuM;IACvM,KAAK,UAAU,8BAA8B,CAC3C,UAA2C;QAE3C,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;QACxC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO,KAAK,CAAA;QACjF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YACxD,uGAAuG;YACvG,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CACP,0DAA0D,MAAM,CAAC,GAAG,CAAC,qBAAqB,KAAK,EAAE,CAClG,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB;QAC5B,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,CAAe;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YACtC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,KAAK,IAAI,CAAA;YACjE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,GAAG,CAAC,eAAe,CAAC,0BAA0B,gBAAgB,EAAE,CAAC,CAAA;gBACjE,OAAM;YACR,CAAC;YAED,uEAAuE;YACvE,2DAA2D;YAC3D,MAAM,CAAC,CAAC,WAAW,CAAC;gBAClB,SAAS,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;oBACnC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;oBACtC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE;oBACrC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;iBACtC;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACvB,CAAC,CAAA;YACF,GAAG,CAAC,eAAe,CACjB,kFAAkF,CACnF,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,2CAA2C;YAC3C,GAAG,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC9D,GAAG,CAAC,eAAe,CAAC,0BAA0B,gBAAgB,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,GAAoB;IAC7C,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,SAAS,GACZ,GAAuE,CAAC,OAAO,EAAE,OAAO;QACxF,GAAuC,CAAC,OAAO,CAAA;IAClD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;AACtF,CAAC"}
package/plugin/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { ServerAPI } from '@signalk/server-api';
2
2
  export type BackupServerAPI = ServerAPI;
3
- export type { ContainerConfig, ContainerInfo, ContainerManagerApi, ContainerResourceLimits, ContainerState, EnsureRunningOptions, UpdateCheckResult, VolumeIssue, VolumeSpec } from 'signalk-container-helper';
3
+ export type { ContainerConfig, ContainerInfo, ContainerManagerApi, ContainerResourceLimits, ContainerRuntimeInfo, ContainerState, EnsureRunningOptions, UpdateCheckResult, VolumeIssue, VolumeSpec } from 'signalk-container-helper';
4
4
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAKvC,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACX,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAA;AAKvC,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACX,MAAM,0BAA0B,CAAA"}