@fnndsc/stratus 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/chris/values-openshift.yaml +59 -0
  2. package/dist/backend.d.ts +6 -3
  3. package/dist/backend.js +12 -5
  4. package/dist/backend.js.map +1 -1
  5. package/dist/cloud/builder.d.ts +3 -1
  6. package/dist/cloud/builder.js +1 -1
  7. package/dist/cloud/builder.js.map +1 -1
  8. package/dist/cloud/fake/builder.d.ts +4 -1
  9. package/dist/cloud/fake/builder.js +14 -9
  10. package/dist/cloud/fake/builder.js.map +1 -1
  11. package/dist/cloud/fake/driver.d.ts +1 -1
  12. package/dist/cloud/fake/driver.js +9 -9
  13. package/dist/cloud/fake/driver.js.map +1 -1
  14. package/dist/cloud/oci/api.js +15 -15
  15. package/dist/cloud/oci/api.js.map +1 -1
  16. package/dist/cloud/oci/buildApi.d.ts +2 -0
  17. package/dist/cloud/oci/buildApi.js +10 -9
  18. package/dist/cloud/oci/buildApi.js.map +1 -1
  19. package/dist/cloud/oci/builder.d.ts +14 -1
  20. package/dist/cloud/oci/builder.js +46 -14
  21. package/dist/cloud/oci/builder.js.map +1 -1
  22. package/dist/cloud/oci/driver.d.ts +1 -1
  23. package/dist/cloud/oci/driver.js +21 -21
  24. package/dist/cloud/oci/driver.js.map +1 -1
  25. package/dist/cloud/oci/errors.d.ts +13 -0
  26. package/dist/cloud/oci/errors.js +16 -0
  27. package/dist/cloud/oci/errors.js.map +1 -0
  28. package/dist/cloud/oci/resourceApi.js +22 -22
  29. package/dist/cloud/oci/resourceApi.js.map +1 -1
  30. package/dist/cloud/oci/resourceMap.d.ts +3 -3
  31. package/dist/cloud/oci/resourceMap.js +3 -3
  32. package/dist/cloud/oci/resourceMap.js.map +1 -1
  33. package/dist/cloud/oci/rmApi.js +7 -7
  34. package/dist/cloud/oci/rmApi.js.map +1 -1
  35. package/dist/cloud/oci/stackVars.d.ts +1 -1
  36. package/dist/cloud/oci/stackVars.js +2 -2
  37. package/dist/cloud/oci/stackVars.js.map +1 -1
  38. package/dist/cluster/chris.d.ts +156 -0
  39. package/dist/cluster/chris.js +493 -0
  40. package/dist/cluster/chris.js.map +1 -0
  41. package/dist/cluster/fakeKube.d.ts +6 -0
  42. package/dist/cluster/fakeKube.js +21 -0
  43. package/dist/cluster/fakeKube.js.map +1 -1
  44. package/dist/cluster/kubeHttp.d.ts +7 -0
  45. package/dist/cluster/kubeHttp.js +26 -1
  46. package/dist/cluster/kubeHttp.js.map +1 -1
  47. package/dist/commands/build.d.ts +18 -0
  48. package/dist/commands/build.js +63 -17
  49. package/dist/commands/build.js.map +1 -1
  50. package/dist/commands/capacity.d.ts +1 -1
  51. package/dist/commands/capacity.js +2 -2
  52. package/dist/commands/capacity.js.map +1 -1
  53. package/dist/commands/size.js +10 -6
  54. package/dist/commands/size.js.map +1 -1
  55. package/dist/commands/verify.js +4 -14
  56. package/dist/commands/verify.js.map +1 -1
  57. package/dist/domain/adopt.d.ts +11 -1
  58. package/dist/domain/adopt.js +26 -2
  59. package/dist/domain/adopt.js.map +1 -1
  60. package/dist/domain/readout.d.ts +8 -13
  61. package/dist/domain/readout.js +26 -24
  62. package/dist/domain/readout.js.map +1 -1
  63. package/dist/domain/sizing.d.ts +1 -1
  64. package/dist/domain/sizing.js +3 -3
  65. package/dist/domain/sizing.js.map +1 -1
  66. package/dist/domain/spec.d.ts +1 -1
  67. package/dist/domain/spec.js +1 -1
  68. package/dist/domain/spec.js.map +1 -1
  69. package/dist/domain/state.d.ts +2 -2
  70. package/dist/domain/state.js +11 -11
  71. package/dist/domain/state.js.map +1 -1
  72. package/dist/domain/steps.d.ts +18 -20
  73. package/dist/domain/steps.js +111 -10
  74. package/dist/domain/steps.js.map +1 -1
  75. package/dist/domain/verify.d.ts +39 -0
  76. package/dist/domain/verify.js +64 -17
  77. package/dist/domain/verify.js.map +1 -1
  78. package/dist/domain/view.d.ts +1 -1
  79. package/dist/domain/view.js +3 -3
  80. package/dist/domain/view.js.map +1 -1
  81. package/dist/domains/harborOci.d.ts +1 -1
  82. package/dist/domains/harborOci.js +1 -1
  83. package/dist/domains/harborOci.js.map +1 -1
  84. package/dist/index.d.ts +7 -7
  85. package/dist/index.js +7 -7
  86. package/dist/index.js.map +1 -1
  87. package/dist/names.d.ts +1 -1
  88. package/dist/names.js +2 -2
  89. package/dist/names.js.map +1 -1
  90. package/dist/prompt.d.ts +1 -1
  91. package/dist/prompt.js +2 -2
  92. package/dist/prompt.js.map +1 -1
  93. package/dist/stratus.js +3 -2
  94. package/dist/stratus.js.map +1 -1
  95. package/dist/vfs/domains.js +2 -2
  96. package/dist/vfs/domains.js.map +1 -1
  97. package/dist/vfs/resources.d.ts +4 -4
  98. package/dist/vfs/resources.js +14 -14
  99. package/dist/vfs/resources.js.map +1 -1
  100. package/dist/vfs/tenancy.d.ts +3 -3
  101. package/dist/vfs/tenancy.js +10 -10
  102. package/dist/vfs/tenancy.js.map +1 -1
  103. package/manifests/tenant.mise +8 -10
  104. package/package.json +7 -6
@@ -1,13 +1,39 @@
1
- import { planCounts_alter, planCounts_of, planCounts_words } from '../cloud/builder.js';
2
- import { specNodes_of } from './spec.js';
1
+ /**
2
+ * @file A domain's build steps, written once over the three drivers
3
+ * (docs/stratus.adoc, D3): their names and order, what each asks of the
4
+ * cloud's builder and of the installer, and the run that takes a domain from
5
+ * its first step not done to where it was asked to stop.
6
+ *
7
+ * A run is one of the core runner's jobs (`/proc/steps/<domain>-build`): it
8
+ * outlives the command that started it and every surface. It stops on its
9
+ * own before the first step that bills until the operator has accepted the
10
+ * cost, which only the foreground `domain build` asks; and before a step
11
+ * this session does not have yet. Every step records what later ones need in
12
+ * the domain's state, so a run picked up after a restart starts from the
13
+ * first step not done and repeats nothing the cloud already holds.
14
+ *
15
+ * The order and the waits are `harbor-oci`'s, proven live once: the hosts
16
+ * have 45 minutes to register, the install 120.
17
+ *
18
+ * @module
19
+ */
20
+ import { join } from 'node:path';
21
+ import { CHRIS_RELEASE, CHRIS_WAITS, chrisWork_cluster, hostRun_spawn } from '../cluster/chris.js';
22
+ import { planCounts_alter, plan_count, planCounts_words } from '../cloud/builder.js';
23
+ import { specNodes_build } from './spec.js';
24
+ import { verify_run, verifyChecks_keep } from './verify.js';
3
25
  /** The build's steps, in order: the machine, then ChRIS on it. */
4
26
  export const BUILD_STEPS = ['compartment', 'preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run', 'postinstall', 'verify', 'chris-deploy', 'chris-seed', 'smoke'];
5
27
  /** The first step that bills: the run stops before it until the cost is accepted. */
6
28
  export const FIRST_BILLING_STEP = 'infra-apply';
29
+ /** The machine's steps, through the install: what an adopted checkout already did. */
30
+ export const MACHINE_STEPS = BUILD_STEPS.slice(0, BUILD_STEPS.indexOf('run') + 1);
7
31
  /** The steps this session has; the run stops before any other. */
8
- export const STEPS_WRITTEN = ['compartment', 'preflight', 'cluster', 'iso', 'infra-plan', 'infra-apply', 'dns', 'manifests', 'hosts', 'run'];
32
+ export const STEPS_WRITTEN = BUILD_STEPS;
9
33
  /** The task source the runs are kept in. */
10
34
  export const STEPS_SOURCE = 'steps';
35
+ /** How long a new cluster has to settle until verify passes: its operators go on rolling after the install says done. */
36
+ export const VERIFY_WAIT_MS = 30 * 60_000;
11
37
  /** The waits `harbor-oci` proved, polled each minute. */
12
38
  export const BUILD_WAITS = { pollMs: 60_000, hostsWaitMs: 45 * 60_000, installWaitMs: 120 * 60_000 };
13
39
  /**
@@ -25,7 +51,7 @@ export function buildJob_id(domain) {
25
51
  * @param record - The domain's state.
26
52
  * @returns The step, or null when every step is done.
27
53
  */
28
- export function stepNext_of(record) {
54
+ export function stepNext_find(record) {
29
55
  return BUILD_STEPS.find((step) => record.steps[step]?.state !== 'done') ?? null;
30
56
  }
31
57
  /**
@@ -66,6 +92,44 @@ function id_need(record, key, step) {
66
92
  function ids_need(record) {
67
93
  return { clusterId: id_need(record, 'clusterId', 'cluster'), infraEnvId: id_need(record, 'infraEnvId', 'cluster') };
68
94
  }
95
+ /**
96
+ * The installed cluster's kubeconfig, or why there is none.
97
+ *
98
+ * @param call - The step.
99
+ * @returns Its text.
100
+ */
101
+ function kubeconfig_need(call) {
102
+ const text = call.deps.store.secret_read(call.name, 'kubeconfig');
103
+ if (text === null)
104
+ throw new Error('no kubeconfig kept: run has not been done');
105
+ return text;
106
+ }
107
+ /**
108
+ * What a ChRIS step is handed, from the build's step.
109
+ *
110
+ * @param call - The step.
111
+ * @returns The ChRIS call.
112
+ */
113
+ function chrisCall_build(call) {
114
+ if (call.deps.reach === undefined)
115
+ throw new Error('this session cannot reach a cluster');
116
+ const folder = call.deps.store.folder_derive(call.name);
117
+ return {
118
+ kube: call.deps.reach.kube_make(kubeconfig_need(call)),
119
+ host: call.deps.host ?? hostRun_spawn,
120
+ kubeconfigPath: join(folder, 'auth', 'kubeconfig'),
121
+ folder,
122
+ cubeHost: `cube.apps.${call.name}.${call.record().baseDomain}`,
123
+ spec: call.spec,
124
+ release: CHRIS_RELEASE,
125
+ waits: call.deps.chrisWaits ?? CHRIS_WAITS,
126
+ secret_read: (file) => call.deps.store.secret_read(call.name, file),
127
+ secret_write: (file, text) => call.deps.store.secret_write(call.name, file, text),
128
+ secret_path: (file) => join(folder, 'auth', file),
129
+ log: call.log,
130
+ signal: call.signal,
131
+ };
132
+ }
69
133
  /** Each step's work. */
70
134
  const STEP_WORK = {
71
135
  compartment: async (call) => {
@@ -112,7 +176,7 @@ const STEP_WORK = {
112
176
  ...(record.compartmentId !== undefined ? { compartmentId: record.compartmentId } : {}),
113
177
  ...(record.ids['stackRef'] !== undefined ? { stackRef: record.ids['stackRef'] } : {}),
114
178
  }, call);
115
- const counts = planCounts_of(plan);
179
+ const counts = plan_count(plan);
116
180
  call.deps.store.file_write(call.name, 'plan.json', `${JSON.stringify(plan, null, 2)}\n`);
117
181
  call.remember({ planRef: plan.ref, ...(plan.stackRef !== undefined ? { stackRef: plan.stackRef } : {}) });
118
182
  if (planCounts_alter(counts))
@@ -131,7 +195,7 @@ const STEP_WORK = {
131
195
  call.remember({ stackRef: outputs.stackRef, apiIp: outputs.apiIp, apiIntIp: outputs.apiIntIp, appsIp: outputs.appsIp, appliedAt: new Date().toISOString() });
132
196
  // The manifests the stack made, for the manifests step, kept with the domain.
133
197
  call.deps.store.file_write(call.name, 'manifests.json', `${JSON.stringify(outputs.manifests, null, 2)}\n`);
134
- return `${planCounts_of(plan).create} created; billing since ${new Date().toISOString().slice(0, 16)}`;
198
+ return `${plan_count(plan).create} created; billing since ${new Date().toISOString().slice(0, 16)}`;
135
199
  },
136
200
  dns: async (call) => {
137
201
  const record = call.record();
@@ -150,7 +214,7 @@ const STEP_WORK = {
150
214
  },
151
215
  hosts: async (call) => {
152
216
  const ids = ids_need(call.record());
153
- const nodes = specNodes_of(call.name, call.spec, call.deps.zones);
217
+ const nodes = specNodes_build(call.name, call.spec, call.deps.zones);
154
218
  const deadline = Date.now() + call.deps.hostsWaitMs;
155
219
  const assigned = new Set();
156
220
  let seen = -1;
@@ -209,6 +273,43 @@ const STEP_WORK = {
209
273
  }
210
274
  return 'stopped while installing';
211
275
  },
276
+ postinstall: async () => 'nothing to do after the install on this cloud',
277
+ verify: async (call) => {
278
+ if (call.deps.reach === undefined)
279
+ throw new Error('this session cannot reach a cluster');
280
+ const reach = call.deps.reach;
281
+ const record = call.record();
282
+ const kube = reach.kube_make(kubeconfig_need(call));
283
+ const shape = call.deps.shape_find === undefined ? null : await call.deps.shape_find(record.region, call.spec.family).catch(() => null);
284
+ const deadline = Date.now() + (call.deps.verifyWaitMs ?? VERIFY_WAIT_MS);
285
+ while (!call.signal.aborted) {
286
+ const checks = await verify_run({
287
+ kube, resolve: reach.resolve, https_status: reach.https_status, domain: call.name, baseDomain: record.baseDomain, shape,
288
+ expectedNodes: call.spec.controlPlane.count + call.spec.workers.count,
289
+ addresses: { api: record.ids['apiIp'], apiInt: record.ids['apiIntIp'], apps: record.ids['appsIp'] },
290
+ // The build runs under the tasks tier, so the volume probe may write.
291
+ probe: true, probeTimeoutMs: reach.probeTimeoutMs, pollMs: reach.pollMs, signal: call.signal,
292
+ });
293
+ const summary = verifyChecks_keep(call.deps.store, call.name, checks);
294
+ const failed = checks.filter((check) => check.ok === false);
295
+ if (failed.length === 0)
296
+ return summary;
297
+ const why = failed.map((check) => `${check.name}: ${check.detail}`).join('; ');
298
+ if (Date.now() >= deadline)
299
+ throw new Error(`${summary} after ${Math.round((call.deps.verifyWaitMs ?? VERIFY_WAIT_MS) / 60_000)} minutes: ${why}`);
300
+ call.log(`${summary}; the cluster may still be settling, asking again: ${why}`);
301
+ await poll_wait(call.deps.pollMs, call.signal);
302
+ }
303
+ return 'stopped while verifying';
304
+ },
305
+ 'chris-deploy': async (call) => {
306
+ const chris = chrisCall_build(call);
307
+ const note = await (call.deps.chris ?? chrisWork_cluster).deploy(chris);
308
+ call.remember({ cubeUrl: `https://${chris.cubeHost}/api/v1/` });
309
+ return note;
310
+ },
311
+ 'chris-seed': async (call) => (call.deps.chris ?? chrisWork_cluster).seed(chrisCall_build(call)),
312
+ smoke: async (call) => (call.deps.chris ?? chrisWork_cluster).smoke(chrisCall_build(call)),
212
313
  };
213
314
  /**
214
315
  * Records a step's state.
@@ -244,7 +345,7 @@ export function buildRun_make(name, through, deps) {
244
345
  const record = deps.store.record_read(name);
245
346
  if (record === null)
246
347
  throw new Error(`${name}: no such domain`);
247
- const step = stepNext_of(record);
348
+ const step = stepNext_find(record);
248
349
  if (step === null) {
249
350
  context.log_write('every step is done');
250
351
  return;
@@ -286,7 +387,7 @@ export function buildRun_make(name, through, deps) {
286
387
  step_record(deps.store, name, step, { state: 'done', ended: new Date().toISOString(), note });
287
388
  context.log_write(`${step}: done · ${note}`);
288
389
  if (step === through) {
289
- context.data_set('stoppedBefore', stepNext_of(deps.store.record_read(name)) ?? '');
390
+ context.data_set('stoppedBefore', stepNext_find(deps.store.record_read(name)) ?? '');
290
391
  return;
291
392
  }
292
393
  }
@@ -314,7 +415,7 @@ export function planRun_make(name, builder, store) {
314
415
  if (context.signal.aborted)
315
416
  return;
316
417
  store.file_write(name, 'plan.json', `${JSON.stringify(plan, null, 2)}\n`);
317
- const counts = planCounts_of(plan);
418
+ const counts = plan_count(plan);
318
419
  context.log_write(`plan: ${planCounts_words(counts)}`);
319
420
  };
320
421
  }
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/domain/steps.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAA6F,MAAM,qBAAqB,CAAC;AAEnL,OAAO,EAAE,YAAY,EAAkC,MAAM,WAAW,CAAC;AAGzE,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAElO,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAW,aAAa,CAAC;AAExD,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAEpK,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAW,OAAO,CAAC;AAmB5C,yDAAyD;AACzD,MAAM,CAAC,MAAM,WAAW,GAAgE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;AAElK;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,GAAG,MAAM,QAAQ,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;AACnG,CAAC;AAYD;;;;;GAKG;AACH,SAAS,SAAS,CAAC,EAAU,EAAE,MAAmB;IAChD,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAmB,EAAQ,EAAE;QACrD,MAAM,KAAK,GAAkC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,OAAO,CAAC,MAAoB,EAAE,GAAW,EAAE,IAAY;IAC9D,MAAM,KAAK,GAAuB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc,IAAI,oBAAoB,CAAC,CAAC;IAC1F,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,MAAoB;IACpC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,wBAAwB;AACxB,MAAM,SAAS,GAAkE;IAC/E,WAAW,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACrD,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5E,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;QACzJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3G,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAqB,EAAQ,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAY,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACnD,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAqB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClN,MAAM,MAAM,GAAqB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAqB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,CAAC,KAAqB,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjJ,OAAO,GAAG,MAAM,CAAC,MAAM,cAAc,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACjD,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,OAAO,iBAAiB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACvL,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,OAAO,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QAC7C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAChK,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClG,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,GAAG,MAAM,CAAC,MAAM,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACtD,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAc,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACzD,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC;YACzG,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE;YAChG,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,EAAE,IAAI,CAAC,CAAC;QACT,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAI,gBAAgB,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrH,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,aAAa,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACvD,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,OAAO,oBAAoB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACrG,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACrF,MAAM,IAAI,GAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;QACtD,MAAM,OAAO,GAAiB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACnN,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7J,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3G,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,2BAA2B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACzG,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QAC7C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC9P,MAAM,KAAK,GAAa,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QAClM,OAAO,GAAG,KAAK,CAAC,MAAM,UAAU,CAAC;IACnC,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QACnD,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACnF,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAuB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;QAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpG,OAAO,GAAG,SAAS,CAAC,MAAM,0BAA0B,CAAC;IACvD,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QAC/C,MAAM,GAAG,GAAiB,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAe,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5D,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;QACxC,IAAI,IAAI,GAAW,CAAC,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAoB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,KAAoB,EAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC5F,MAAM,IAAI,GAAwB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAc,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5I,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,KAAK,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,IAAmB,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YACxF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAAC,IAAI,GAAG,KAAK,CAAC;YAAC,CAAC;YAC5G,gFAAgF;YAChF,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,GAAG,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,6BAA6B,CAAC;YAClI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,sBAAsB,KAAK,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAChL,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,IAAc,EAAmB,EAAE;QAC7C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAiB,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAC9D,IAAI,IAAI,GAAW,CAAC,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAkB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5E,+EAA+E;YAC/E,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClF,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAAC,CAAC;YACxK,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAChI,OAAO,6EAA6E,CAAC;YACvF,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACnJ,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,0BAA0B,CAAC;IACpC,CAAC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,KAAkB,EAAE,IAAY,EAAE,IAAY,EAAE,MAAkB;IACrF,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAoB,EAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5H,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAA2B,EAAE,IAAe;IACtF,OAAO,KAAK,EAAE,OAAmB,EAAiB,EAAE;QAClD,MAAM,IAAI,GAAsB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;QACzE,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qEAAqE,CAAC,CAAC;QACvJ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0CAA0C,CAAC,CAAC;QACzH,SAAS,CAAC;YACR,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACnC,MAAM,MAAM,GAAwB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;YAChE,MAAM,IAAI,GAAkB,WAAW,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,IAAI,mCAAmC,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtK,IAAI,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACxE,OAAO,CAAC,SAAS,CAAC,mBAAmB,IAAI,yEAAyE,IAAI,GAAG,CAAC,CAAC;gBAC3H,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7F,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,GAAa;gBACrB,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,GAAiB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAiB;gBACxE,QAAQ,EAAE,CAAC,GAA2B,EAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,OAAqB,EAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3J,QAAQ,EAAE,CAAC,QAAQ,EAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;aAC7D,CAAC;YACF,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAO,SAAS,CAAC,IAAI,CAAyC,CAAC,IAAI,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9F,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;QACvI,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAqB,EAAE,KAAkB;IAClF,OAAO,KAAK,EAAE,OAAmB,EAAiB,EAAE;QAClD,MAAM,MAAM,GAAwB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAsB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;QACpE,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kDAAkD,CAAC,CAAC;QACjH,MAAM,QAAQ,GAAuB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QACrE,MAAM,IAAI,GAAc,MAAM,OAAO,CAAC,UAAU,CAC9C,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EACjG,EAAE,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACjF,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACnC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,SAAS,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/domain/steps.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,16 @@
11
11
  *
12
12
  * @module
13
13
  */
14
+ import type { VerifyCheckModel } from '@fnndsc/menu';
14
15
  import type { KubeApi } from '../cluster/kube.js';
16
+ import type { DomainStore } from './state.js';
17
+ /** The file `verify` keeps its checks in, beside `plan.json`. */
18
+ export declare const VERIFY_FILE: string;
19
+ /** What `verify.json` holds. */
20
+ export interface VerifyKept {
21
+ at: string;
22
+ checks: VerifyCheckModel[];
23
+ }
15
24
  /** The storage class ChRIS's claims use. */
16
25
  export declare const STORAGE_CLASS: string;
17
26
  /** The cores one ChRIS plugin job asks for. */
@@ -59,6 +68,20 @@ export interface VerifyContext {
59
68
  * @returns Cores.
60
69
  */
61
70
  export declare function cpuQuantity_parse(quantity: string): number;
71
+ /** A node's unrequested CPU. */
72
+ export interface NodeCpu {
73
+ readonly name: string;
74
+ /** Its `kubernetes.io/hostname` label, what a pod is pinned by. */
75
+ readonly hostname: string;
76
+ readonly cores: number;
77
+ }
78
+ /**
79
+ * Each node's allocatable cores less what its running pods request.
80
+ *
81
+ * @param kube - The cluster.
82
+ * @returns By node, in the cluster's order.
83
+ */
84
+ export declare function cpuFree_read(kube: KubeApi): Promise<NodeCpu[]>;
62
85
  /**
63
86
  * Runs every check, in order.
64
87
  *
@@ -66,3 +89,19 @@ export declare function cpuQuantity_parse(quantity: string): number;
66
89
  * @returns Each check's answer.
67
90
  */
68
91
  export declare function verify_run(context: VerifyContext): Promise<VerifyCheck[]>;
92
+ /**
93
+ * The checks in a line: how many pass, fail, and were not run.
94
+ *
95
+ * @param checks - The checks.
96
+ * @returns `9 of 10 pass, 1 fail`.
97
+ */
98
+ export declare function verifySummary_render(checks: ReadonlyArray<VerifyCheck>): string;
99
+ /**
100
+ * Keeps a verify as the domain's verify step and in `verify.json`, so `domain status` and the tiles show it.
101
+ *
102
+ * @param store - The domains.
103
+ * @param name - The domain.
104
+ * @param checks - The checks.
105
+ * @returns The summary.
106
+ */
107
+ export declare function verifyChecks_keep(store: DomainStore, name: string, checks: ReadonlyArray<VerifyCheck>): string;
@@ -1,3 +1,5 @@
1
+ /** The file `verify` keeps its checks in, beside `plan.json`. */
2
+ export const VERIFY_FILE = 'verify.json';
1
3
  /** The storage class ChRIS's claims use. */
2
4
  export const STORAGE_CLASS = 'oci-bv';
3
5
  /** The annotation that makes a storage class the default. */
@@ -14,7 +16,7 @@ const PROBE_TEXT = 'stratus';
14
16
  * @param conditions - Its conditions.
15
17
  * @returns Type to status.
16
18
  */
17
- function conditions_of(conditions) {
19
+ function conditions_map(conditions) {
18
20
  return Object.fromEntries((conditions ?? []).map((condition) => [condition.type, condition.status]));
19
21
  }
20
22
  /**
@@ -40,6 +42,31 @@ function wait(ms, signal) {
40
42
  signal?.addEventListener('abort', () => { clearTimeout(timer); resolve(); }, { once: true });
41
43
  });
42
44
  }
45
+ /**
46
+ * Each node's allocatable cores less what its running pods request.
47
+ *
48
+ * @param kube - The cluster.
49
+ * @returns By node, in the cluster's order.
50
+ */
51
+ export async function cpuFree_read(kube) {
52
+ const nodes = (await kube.json_get('/api/v1/nodes')).items ?? [];
53
+ const pods = (await kube.json_get('/api/v1/pods')).items ?? [];
54
+ const requested = new Map();
55
+ for (const pod of pods) {
56
+ if (pod.status?.phase === 'Succeeded' || pod.status?.phase === 'Failed' || pod.spec?.nodeName === undefined)
57
+ continue;
58
+ for (const container of pod.spec.containers ?? []) {
59
+ const cpu = container.resources?.requests?.cpu;
60
+ if (cpu !== undefined)
61
+ requested.set(pod.spec.nodeName, (requested.get(pod.spec.nodeName) ?? 0) + cpuQuantity_parse(cpu));
62
+ }
63
+ }
64
+ return nodes.map((node) => ({
65
+ name: node.metadata.name,
66
+ hostname: node.metadata.labels?.['kubernetes.io/hostname'] ?? node.metadata.name,
67
+ cores: cpuQuantity_parse(node.status?.allocatable?.cpu ?? '0') - (requested.get(node.metadata.name) ?? 0),
68
+ }));
69
+ }
43
70
  /** The checks, in `harbor-oci`'s order. */
44
71
  const CHECKS = [
45
72
  {
@@ -53,7 +80,7 @@ const CHECKS = [
53
80
  name: 'cluster version', how: 'reads',
54
81
  run: async (context) => {
55
82
  const version = await context.kube.json_get('/apis/config.openshift.io/v1/clusterversions/version');
56
- const conditions = conditions_of(version.status?.conditions);
83
+ const conditions = conditions_map(version.status?.conditions);
57
84
  return { ok: conditions['Available'] === 'True' && conditions['Failing'] !== 'True', detail: `${version.status?.desired?.version ?? '?'}, Available=${conditions['Available'] ?? '?'}` };
58
85
  },
59
86
  },
@@ -61,7 +88,7 @@ const CHECKS = [
61
88
  name: 'nodes', how: 'reads',
62
89
  run: async (context) => {
63
90
  const nodes = (await context.kube.json_get('/api/v1/nodes')).items ?? [];
64
- const ready = nodes.filter((node) => conditions_of(node.status?.conditions)['Ready'] === 'True').length;
91
+ const ready = nodes.filter((node) => conditions_map(node.status?.conditions)['Ready'] === 'True').length;
65
92
  return { ok: nodes.length === context.expectedNodes && ready === context.expectedNodes, detail: `${ready}/${context.expectedNodes} Ready` };
66
93
  },
67
94
  },
@@ -87,7 +114,7 @@ const CHECKS = [
87
114
  run: async (context) => {
88
115
  const operators = (await context.kube.json_get('/apis/config.openshift.io/v1/clusteroperators')).items ?? [];
89
116
  const unhealthy = operators.filter((operator) => {
90
- const conditions = conditions_of(operator.status?.conditions);
117
+ const conditions = conditions_map(operator.status?.conditions);
91
118
  return conditions['Available'] !== 'True' || conditions['Progressing'] !== 'False' || conditions['Degraded'] !== 'False';
92
119
  }).map((operator) => operator.metadata.name);
93
120
  return { ok: unhealthy.length === 0, detail: `${operators.length} operators, ${unhealthy.length === 0 ? 'all available, none degraded' : `not settled: ${unhealthy.join(', ')}`}` };
@@ -136,19 +163,7 @@ const CHECKS = [
136
163
  {
137
164
  name: 'CPU headroom', how: 'reads',
138
165
  run: async (context) => {
139
- const nodes = (await context.kube.json_get('/api/v1/nodes')).items ?? [];
140
- const pods = (await context.kube.json_get('/api/v1/pods')).items ?? [];
141
- const requested = new Map();
142
- for (const pod of pods) {
143
- if (pod.status?.phase === 'Succeeded' || pod.status?.phase === 'Failed' || pod.spec?.nodeName === undefined)
144
- continue;
145
- for (const container of pod.spec.containers ?? []) {
146
- const cpu = container.resources?.requests?.cpu;
147
- if (cpu !== undefined)
148
- requested.set(pod.spec.nodeName, (requested.get(pod.spec.nodeName) ?? 0) + cpuQuantity_parse(cpu));
149
- }
150
- }
151
- const free = nodes.map((node) => cpuQuantity_parse(node.status?.allocatable?.cpu ?? '0') - (requested.get(node.metadata.name) ?? 0));
166
+ const free = (await cpuFree_read(context.kube)).map((node) => node.cores);
152
167
  return { ok: Math.max(0, ...free) >= PLUGIN_CPU_CORES, detail: `unrequested cores: ${free.map((cores) => cores.toFixed(1)).join(' / ')} (a plugin job asks ${PLUGIN_CPU_CORES})` };
153
168
  },
154
169
  },
@@ -213,4 +228,36 @@ export async function verify_run(context) {
213
228
  }
214
229
  return results;
215
230
  }
231
+ /**
232
+ * The checks in a line: how many pass, fail, and were not run.
233
+ *
234
+ * @param checks - The checks.
235
+ * @returns `9 of 10 pass, 1 fail`.
236
+ */
237
+ export function verifySummary_render(checks) {
238
+ const ran = checks.filter((check) => check.ok !== null);
239
+ const passed = ran.filter((check) => check.ok === true).length;
240
+ const failed = ran.length - passed;
241
+ const skipped = checks.length - ran.length;
242
+ return `${passed} of ${checks.length} pass${failed > 0 ? `, ${failed} fail` : ''}${skipped > 0 ? `, ${skipped} not run (needs the tasks tier)` : ''}`;
243
+ }
244
+ /**
245
+ * Keeps a verify as the domain's verify step and in `verify.json`, so `domain status` and the tiles show it.
246
+ *
247
+ * @param store - The domains.
248
+ * @param name - The domain.
249
+ * @param checks - The checks.
250
+ * @returns The summary.
251
+ */
252
+ export function verifyChecks_keep(store, name, checks) {
253
+ const summary = verifySummary_render(checks);
254
+ const at = new Date().toISOString();
255
+ const failed = checks.some((check) => check.ok === false);
256
+ store.record_update(name, (current) => {
257
+ current.steps['verify'] = { state: failed ? 'failed' : 'done', ended: at, note: summary };
258
+ });
259
+ const kept = { at, checks: checks.map((check) => ({ name: check.name, ok: check.ok, detail: check.detail, how: check.how })) };
260
+ store.file_write(name, VERIFY_FILE, `${JSON.stringify(kept, null, 2)}\n`);
261
+ return summary;
262
+ }
216
263
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/domain/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/domain/verify.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare const ADOPTED_COMPARTMENT: StepRecord;
15
15
  * @param record - Its state.
16
16
  * @returns Every step, with its state and what it rests on.
17
17
  */
18
- export declare function builtSteps_of(record: DomainRecord): StepState[];
18
+ export declare function builtSteps_derive(record: DomainRecord): StepState[];
19
19
  /**
20
20
  * A built domain, read now.
21
21
  *
@@ -7,7 +7,7 @@ export const ADOPTED_COMPARTMENT = { state: 'done', note: 'its own compartment,
7
7
  * @param record - Its state.
8
8
  * @returns Every step, with its state and what it rests on.
9
9
  */
10
- export function builtSteps_of(record) {
10
+ export function builtSteps_derive(record) {
11
11
  return BUILD_STEPS.map((step, index) => {
12
12
  // An adopted domain came with its compartment; one adopted before that step existed keeps no record of it.
13
13
  const kept = record.steps[step] ?? (step === 'compartment' && record.adopted !== undefined ? ADOPTED_COMPARTMENT : undefined);
@@ -28,11 +28,11 @@ export function builtDomain_read(store, name) {
28
28
  return null;
29
29
  return {
30
30
  name,
31
- root: store.folder_of(name),
31
+ root: store.folder_derive(name),
32
32
  spec: store.spec_read(name)?.text ?? null,
33
33
  settings: { CLUSTER_NAME: name, BASE_DOMAIN: record.baseDomain, OCI_REGION: record.region, ...(record.compartmentId !== undefined ? { OCI_COMPARTMENT_OCID: record.compartmentId } : {}) },
34
34
  state: { ...record },
35
- steps: builtSteps_of(record),
35
+ steps: builtSteps_derive(record),
36
36
  secrets: store.secrets_list(name),
37
37
  cluster: `${name}.${record.baseDomain}`,
38
38
  origin: 'built',
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/domain/view.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAa,EAAE;QAChE,2GAA2G;QAC3G,MAAM,IAAI,GAA2B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtJ,MAAM,QAAQ,GAAW,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC1H,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC7H,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAwB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI;QACzC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1L,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE;QACpB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;QACvC,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/domain/view.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGxD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;AAEpH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAa,EAAE;QAChE,2GAA2G;QAC3G,MAAM,IAAI,GAA2B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtJ,MAAM,QAAQ,GAAW,IAAI,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC1H,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC7H,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAwB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI;QACzC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1L,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE;QACpB,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;QACvC,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC"}
@@ -72,4 +72,4 @@ export declare function harborDomain_read(source: DomainSource, now?: Date): Har
72
72
  * @param domain - The domain.
73
73
  * @returns The step.
74
74
  */
75
- export declare function lastDone_of(domain: HarborDomain): StepState | null;
75
+ export declare function lastDone_find(domain: HarborDomain): StepState | null;
@@ -158,7 +158,7 @@ export function harborDomain_read(source, now = new Date()) {
158
158
  * @param domain - The domain.
159
159
  * @returns The step.
160
160
  */
161
- export function lastDone_of(domain) {
161
+ export function lastDone_find(domain) {
162
162
  const done = domain.steps.filter((step) => step.state === 'done');
163
163
  return done.length > 0 ? done[done.length - 1] : null;
164
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harborOci.js","sourceRoot":"","sources":["../../src/domains/harborOci.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harborOci.js","sourceRoot":"","sources":["../../src/domains/harborOci.ts"],"names":[],"mappings":"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"}