@cat-factory/kernel 0.141.0 → 0.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- import { mergeRegisteredPipelines } from './pipeline-registry.js';
2
1
  // Sample architecture used to populate a workspace on creation. Mirrors the
3
2
  // frontend's `app/utils/seed.ts`. Block ids are stable strings; because blocks
4
3
  // are keyed by (workspace_id, id) every workspace gets its own copy, so reusing
@@ -126,6 +125,7 @@ function definePipeline(spec) {
126
125
  return {
127
126
  id: spec.id,
128
127
  name: spec.name,
128
+ ...(spec.description ? { description: spec.description } : {}),
129
129
  agentKinds: norm.map((s) => s.kind),
130
130
  ...(gates.some(Boolean) ? { gates } : {}),
131
131
  ...(enabled.some((e) => !e) ? { enabled } : {}),
@@ -136,11 +136,14 @@ function definePipeline(spec) {
136
136
  };
137
137
  }
138
138
  /**
139
- * Reusable pipelines shown in the pipeline palette on first load: the built-in catalog
140
- * plus any pipelines a deployment registered via `registerPipeline` (e.g. a proprietary
141
- * org package), merged by id.
139
+ * Reusable pipelines shown in the pipeline palette on first load: the built-in catalog plus any
140
+ * pipelines a deployment registered on the app-owned {@link PipelineRegistry} (e.g. a proprietary
141
+ * org package), merged by id. Omit `registry` (or pass a fresh one) for the built-in catalog only —
142
+ * the shape a caller that only resolves a BUILT-IN pipeline's id needs (e.g. plan-helpers, the
143
+ * cross-runtime conformance baseline). The workspace + pipeline services thread the app-owned
144
+ * instance so a deployment's custom pipelines are seeded into every new workspace.
142
145
  */
143
- export function seedPipelines() {
146
+ export function seedPipelines(registry) {
144
147
  const builtins = [
145
148
  // `requirements` runs first and reviews the collected requirements; the spec-writer then
146
149
  // applies them as an increment onto the in-repo spec baseline, and only THEN does the architect
@@ -153,11 +156,13 @@ export function seedPipelines() {
153
156
  definePipeline({
154
157
  id: 'pl_full',
155
158
  name: 'Full build',
159
+ description: 'The standard end-to-end build: review the requirements, write the spec, design the solution, implement and review it, refresh the service map, test, then gate on conflicts + CI and merge the PR.',
156
160
  // `code-commenter` runs after the reviewer clears the implementation: it amends the coder's
157
161
  // PR in place with comment-only edits (WHY-not-what, fixes drifted comments, drops noise), so
158
162
  // basic comment hygiene is business-as-usual on every task. `ci` re-runs to prove the
159
- // comment-only diff is behaviour-neutral. Version bumped for the code-commenter reseed.
160
- version: 3,
163
+ // comment-only diff is behaviour-neutral. Version bumped for the code-commenter reseed,
164
+ // then again for the pipeline-description reseed.
165
+ version: 4,
161
166
  steps: [
162
167
  // Opt-in structured-dialogue option exploration before the requirements review.
163
168
  { kind: 'requirements-brainstorm', gate: true, enabled: false },
@@ -212,12 +217,13 @@ export function seedPipelines() {
212
217
  // conflicts → ci → merger → the same mergeability / CI / merge tail as Full build
213
218
  id: 'pl_fullstack',
214
219
  name: 'Complex fullstack feature',
220
+ description: 'The most thorough preset — engages every valuable agent (research, spec, design, mocks, end-to-end tests and docs) for a complex, full-stack feature, then gates and ships the PR.',
215
221
  // A `deployer` runs before the tester (k8s/custom only; a no-op otherwise). Human gates: the
216
222
  // two opt-in brainstorm dialogues, the requirements review, and — after its companion clears
217
223
  // the quality bar — the architecture (on `architect-companion`). A `code-commenter` runs after
218
224
  // the reviewer to keep in-source comments up to standard on the same PR. Version bumped for
219
- // the code-commenter reseed.
220
- version: 3,
225
+ // the code-commenter reseed, then again for the pipeline-description reseed.
226
+ version: 4,
221
227
  steps: [
222
228
  // Opt-in structured-dialogue option exploration.
223
229
  { kind: 'requirements-brainstorm', gate: true, enabled: false },
@@ -252,6 +258,8 @@ export function seedPipelines() {
252
258
  definePipeline({
253
259
  id: 'pl_bugfix',
254
260
  name: 'Triage & fix bug',
261
+ version: 2,
262
+ description: 'Investigate a bug report against the codebase, triage it for fixability with you, then fix, review, and ship the PR.',
255
263
  steps: [
256
264
  'bug-investigator',
257
265
  { kind: 'clarity-review', gate: true },
@@ -267,10 +275,12 @@ export function seedPipelines() {
267
275
  {
268
276
  id: 'pl_quick',
269
277
  name: 'Quick implement',
278
+ description: 'A fast build with no design or spec phase: implement, refresh the map, mock and test, then gate on conflicts + CI and merge.',
270
279
  // A `deployer` runs before the tester so a kubernetes/custom service gets its ephemeral env
271
280
  // stood up (a no-op for docker-compose/infraless/frontend); bump the version for the reseed
272
- // offer. Same pattern across every tester/human-test built-in below.
273
- version: 2,
281
+ // offer. Same pattern across every tester/human-test built-in below. Bumped again for the
282
+ // pipeline-description reseed.
283
+ version: 3,
274
284
  agentKinds: [
275
285
  'coder',
276
286
  'blueprints',
@@ -291,7 +301,8 @@ export function seedPipelines() {
291
301
  {
292
302
  id: 'pl_simple',
293
303
  name: 'Simple',
294
- version: 2,
304
+ description: 'The leanest build: implement and review, run the tests, then gate on conflicts + CI and merge — no design, spec, or docs.',
305
+ version: 3,
295
306
  agentKinds: [
296
307
  'coder',
297
308
  'reviewer',
@@ -311,11 +322,18 @@ export function seedPipelines() {
311
322
  // iteration budget are per-task agent config on the `ralph` step (no design/spec phases;
312
323
  // the task description is the spec, and prior iterations' validation output is threaded
313
324
  // forward as feedback). See backend/docs/ralph-loop.md.
314
- { id: 'pl_ralph', name: 'Ralph loop', agentKinds: ['ralph', 'conflicts', 'ci', 'merger'] },
325
+ {
326
+ id: 'pl_ralph',
327
+ name: 'Ralph loop',
328
+ version: 2,
329
+ description: 'A single persistent coding step that retries against your validation command until it passes, then gates and ships the PR.',
330
+ agentKinds: ['ralph', 'conflicts', 'ci', 'merger'],
331
+ },
315
332
  {
316
333
  id: 'pl_integrate',
317
334
  name: 'Integrate & ship',
318
- version: 2,
335
+ description: 'Wire an existing change into the surrounding system, mock and test it, then document it.',
336
+ version: 3,
319
337
  agentKinds: ['integrator', 'mocker', 'deployer', 'tester-api', 'documenter'],
320
338
  },
321
339
  // A human-in-the-loop build: implement → review, then a `human-test` gate that spins up an
@@ -327,10 +345,11 @@ export function seedPipelines() {
327
345
  {
328
346
  id: 'pl_human_review',
329
347
  name: 'Build & human-test',
348
+ description: 'Implement and review, then pause on a live ephemeral environment for a person to validate the change before gating on conflicts + CI and merging.',
330
349
  // The `deployer` stands the ephemeral env up before the human-test gate reads it (the gate no
331
350
  // longer provisions its own — the deployer is the single provisioner; the gate loops back here
332
- // to rebuild on a fix/recreate).
333
- version: 2,
351
+ // to rebuild on a fix/recreate). Bumped again for the pipeline-description reseed.
352
+ version: 3,
334
353
  agentKinds: ['coder', 'reviewer', 'deployer', 'human-test', 'conflicts', 'ci', 'merger'],
335
354
  },
336
355
  // A human-code-review build: the full implement → review → map → test tail, then a
@@ -343,7 +362,8 @@ export function seedPipelines() {
343
362
  {
344
363
  id: 'pl_pr_review',
345
364
  name: 'Build & PR review',
346
- version: 2,
365
+ description: 'The full implement → review → test build, then wait for a human code review on the PR — looping a fixer on comments — before merging.',
366
+ version: 3,
347
367
  agentKinds: [
348
368
  'coder',
349
369
  'reviewer',
@@ -375,8 +395,9 @@ export function seedPipelines() {
375
395
  {
376
396
  id: 'pl_visual',
377
397
  name: 'Build & visual confirmation',
398
+ description: 'Implement and UI-test, then pause for a person to compare the captured screenshots against the reference designs before gating and merging.',
378
399
  labels: ['experimental'],
379
- version: 2,
400
+ version: 3,
380
401
  agentKinds: [
381
402
  'coder',
382
403
  'reviewer',
@@ -412,8 +433,9 @@ export function seedPipelines() {
412
433
  {
413
434
  id: 'pl_frontend',
414
435
  name: 'Frontend build & UI test',
436
+ description: 'A self-contained frontend build that drives a real browser against the app the platform stands up, then gates on conflicts + CI and ships the PR.',
415
437
  labels: ['experimental'],
416
- version: 2,
438
+ version: 3,
417
439
  agentKinds: [
418
440
  'coder',
419
441
  'reviewer',
@@ -433,7 +455,8 @@ export function seedPipelines() {
433
455
  {
434
456
  id: 'pl_dep_update',
435
457
  name: 'Dependency updates',
436
- version: 2,
458
+ description: 'A recurring implement → review → test → merge run for keeping a repository up to date on its dependencies.',
459
+ version: 3,
437
460
  agentKinds: [
438
461
  'coder',
439
462
  'reviewer',
@@ -449,7 +472,8 @@ export function seedPipelines() {
449
472
  {
450
473
  id: 'pl_tech_debt',
451
474
  name: 'Tech debt',
452
- version: 2,
475
+ description: 'Audit the repository, file a tracker ticket from the findings, then implement, test, and ship the fix.',
476
+ version: 3,
453
477
  agentKinds: [
454
478
  'analysis',
455
479
  'tracker',
@@ -488,10 +512,12 @@ export function seedPipelines() {
488
512
  // investigator auto-advances and the conflicts/ci/merger tail self-drives.
489
513
  id: 'pl_bug_triage',
490
514
  name: 'Bug triage (recurring)',
515
+ description: 'A recurring run that pulls one open issue from your tracker board, investigates and clarifies it, then fixes, tests, and ships the PR.',
491
516
  availability: 'recurring',
492
517
  // A `deployer` runs before the tester (k8s/custom only; a no-op otherwise). Only
493
- // `clarity-review` is a human gate; version bumped for the reseed offer.
494
- version: 2,
518
+ // `clarity-review` is a human gate; version bumped for the reseed offer, then again for the
519
+ // pipeline-description reseed.
520
+ version: 3,
495
521
  steps: [
496
522
  'bug-intake',
497
523
  'bug-investigator',
@@ -509,13 +535,25 @@ export function seedPipelines() {
509
535
  }),
510
536
  // A blueprint-only pipeline, run after a bootstrap to create the initial
511
537
  // service map (and populate the board) from the freshly bootstrapped repo.
512
- { id: 'pl_blueprint', name: 'Map service', agentKinds: ['blueprints'] },
538
+ {
539
+ id: 'pl_blueprint',
540
+ name: 'Map service',
541
+ version: 2,
542
+ description: 'Map the repository into the service → modules blueprint and populate the board (run after a bootstrap).',
543
+ agentKinds: ['blueprints'],
544
+ },
513
545
  // The PR deep-review pipeline (the DEFAULT for a `review` task): a single read-only
514
546
  // `pr-reviewer` step that slices an open PR's diff into cohesive chunks, reviews each,
515
547
  // and returns prioritized findings. No code is written and no PR is opened, so there is
516
548
  // no merge tail — the run terminates cleanly via the no-PR terminal path in
517
549
  // `RunStateMachine.finalizeBlock`. See backend/docs/adr/0023-pr-deep-review.md.
518
- { id: 'pl_review', name: 'Review a pull request', agentKinds: ['pr-reviewer'] },
550
+ {
551
+ id: 'pl_review',
552
+ name: 'Review a pull request',
553
+ version: 2,
554
+ description: 'A read-only deep review of an open pull request that returns prioritized findings — no code is written and no PR is opened.',
555
+ agentKinds: ['pr-reviewer'],
556
+ },
519
557
  definePipeline({
520
558
  // The Initiative Planning pipeline — the ONLY pipeline runnable on an
521
559
  // `initiative`-level block (and initiative blocks accept no other; see the
@@ -529,10 +567,12 @@ export function seedPipelines() {
529
567
  // `docs/initiatives/<slug>/`) and arms the execution loop.
530
568
  id: 'pl_initiative',
531
569
  name: 'Plan initiative',
570
+ description: 'Interview you on the initiative, analyze the codebase, and draft a multi-phase plan for approval before committing it.',
532
571
  // Slice 2 added the interviewer + analyst in front of the planner; version bumped for the
533
572
  // reseed offer. The interviewer parks via its own controller (not a `gate`); the only human
534
- // gate is on the planner's output, before the committer persists it.
535
- version: 2,
573
+ // gate is on the planner's output, before the committer persists it. Bumped again for the
574
+ // pipeline-description reseed.
575
+ version: 3,
536
576
  steps: [
537
577
  'initiative-interviewer',
538
578
  'initiative-analyst',
@@ -550,11 +590,19 @@ export function seedPipelines() {
550
590
  {
551
591
  id: 'pl_initiative_docs',
552
592
  name: 'Plan documentation refresh',
593
+ version: 2,
594
+ description: 'Audit the codebase for documentation gaps and draft a phased documentation-refresh plan — no interview, runs unattended.',
553
595
  agentKinds: ['initiative-analyst', 'initiative-planner', 'initiative-committer'],
554
596
  },
555
597
  // A spec-only pipeline, to (re)generate a service's unified in-repo specification
556
598
  // (and its Gherkin acceptance scenarios) independently.
557
- { id: 'pl_spec', name: 'Write spec', agentKinds: ['spec-writer'] },
599
+ {
600
+ id: 'pl_spec',
601
+ name: 'Write spec',
602
+ version: 2,
603
+ description: '(Re)generate the unified in-repo specification for a service and its Gherkin acceptance scenarios, independently.',
604
+ agentKinds: ['spec-writer'],
605
+ },
558
606
  definePipeline({
559
607
  // The SPIKE pipeline — a timeboxed research/investigation task that produces a findings
560
608
  // document, delivered as a PULL REQUEST (the default). It is the type-default a
@@ -571,6 +619,8 @@ export function seedPipelines() {
571
619
  // no-PR path on an unprotected repo.
572
620
  id: 'pl_spike',
573
621
  name: 'Run a spike',
622
+ version: 2,
623
+ description: 'A timeboxed read-only investigation that answers a research question and delivers a findings document as a pull request.',
574
624
  steps: [
575
625
  { kind: 'requirements-review', gate: true, enabled: false },
576
626
  'spike',
@@ -589,6 +639,8 @@ export function seedPipelines() {
589
639
  // / throwaway research where the PR round-trip of `pl_spike` isn't wanted.
590
640
  id: 'pl_spike_direct',
591
641
  name: 'Run a spike (direct commit)',
642
+ version: 2,
643
+ description: 'A timeboxed read-only investigation that commits its findings document straight to the base branch — no PR or review tail.',
592
644
  steps: [{ kind: 'requirements-review', gate: true, enabled: false }, 'spike'],
593
645
  }),
594
646
  // An analyst-only pipeline: the opt-in `environment-analyst` clones a service's repo
@@ -599,6 +651,8 @@ export function seedPipelines() {
599
651
  {
600
652
  id: 'pl_environment_analysis',
601
653
  name: 'Analyze environment',
654
+ version: 2,
655
+ description: 'Read the service repository and draft a non-binding Docker Compose stack-recipe recommendation for the setup wizard.',
602
656
  agentKinds: ['environment-analyst'],
603
657
  },
604
658
  // The first PUBLIC-API pipeline: a single inline `initiative-breakdown` step that
@@ -609,6 +663,8 @@ export function seedPipelines() {
609
663
  {
610
664
  id: 'pl_initiative_breakdown',
611
665
  name: 'Break down initiative',
666
+ version: 2,
667
+ description: 'Decompose an initiative brief into a structured plan headlessly (inline, no repo) — the first pipeline exposed to the public API.',
612
668
  agentKinds: ['initiative-breakdown'],
613
669
  public: true,
614
670
  },
@@ -638,11 +694,13 @@ export function seedPipelines() {
638
694
  // conflicts → ci → merger → the same mergeability / CI / merge tail as a code pipeline
639
695
  id: 'pl_document',
640
696
  name: 'Author a document',
697
+ description: 'Turn a brief and its linked context into a polished in-repo Markdown document — research, outline, interview, write, review, then gate and ship the PR.',
641
698
  // Slice WS5 inserted the interactive `doc-interviewer` after the outliner and replaced the
642
699
  // outline's binary human gate with its iterative loop; version bumped for the reseed offer. The
643
700
  // interviewer parks via its OWN controller (not a `gate`), `doc-quality` is a polling gate
644
701
  // (auto), so the only human `gate` is the converged review (`doc-reviewer`, after its loop).
645
- version: 3,
702
+ // Bumped again for the pipeline-description reseed.
703
+ version: 4,
646
704
  steps: [
647
705
  'doc-researcher',
648
706
  'doc-outliner',
@@ -663,7 +721,8 @@ export function seedPipelines() {
663
721
  // just without the research / outline / finalize stages and their human gates.
664
722
  id: 'pl_document_quick',
665
723
  name: 'Quick document',
666
- version: 2,
724
+ description: 'A lean document build for a small or low-stakes doc: draft, auto-review, the structural quality gate, then gate on conflicts + CI and merge.',
725
+ version: 3,
667
726
  agentKinds: ['doc-writer', 'doc-reviewer', 'doc-quality', 'conflicts', 'ci', 'merger'],
668
727
  },
669
728
  // The Documentation-refresh pilot's two lean spawn pipelines (initiative-presets slice 7).
@@ -678,6 +737,8 @@ export function seedPipelines() {
678
737
  // load-bearing here — it proves the diff is behaviour-neutral before `merger` ships it.
679
738
  id: 'pl_code_comments',
680
739
  name: 'Improve code comments',
740
+ version: 2,
741
+ description: 'Add or clarify why-not-what in-source comments with no behaviour change, prove the diff is behaviour-neutral on CI, then merge.',
681
742
  agentKinds: ['code-commenter', 'conflicts', 'ci', 'merger'],
682
743
  },
683
744
  {
@@ -687,6 +748,8 @@ export function seedPipelines() {
687
748
  // documenter into a full build pipeline when only the domain-rules docs are wanted.
688
749
  id: 'pl_business_docs',
689
750
  name: 'Document business rules',
751
+ version: 2,
752
+ description: 'Read the implementation and capture the service business rules / domain constraints as in-repo docs, then gate on conflicts + CI and ship the PR.',
690
753
  agentKinds: ['business-documenter', 'conflicts', 'ci', 'merger'],
691
754
  },
692
755
  ];
@@ -697,9 +760,11 @@ export function seedPipelines() {
697
760
  // version of a built-in, bump that pipeline's own `version` here (an explicit `version: N`
698
761
  // on the object overrides this default) — that increment is the signal the app's reseed
699
762
  // prompt keys off. The default is applied to EVERY built-in in the merged catalog — including
700
- // ones contributed by `registerPipeline` — so a registered built-in is version-tracked +
763
+ // ones contributed via the pipeline registry — so a registered built-in is version-tracked +
701
764
  // reseedable too, while custom (non-built-in) registered pipelines stay versionless.
702
- return mergeRegisteredPipelines(builtins.map((p) => ({ ...p, builtin: true }))).map((p) => p.builtin ? { ...p, version: p.version ?? 1 } : p);
765
+ const tagged = builtins.map((p) => ({ ...p, builtin: true }));
766
+ const merged = registry ? registry.merge(tagged) : tagged;
767
+ return merged.map((p) => (p.builtin ? { ...p, version: p.version ?? 1 } : p));
703
768
  }
704
769
  /** Pipeline id of the blueprint-only run kicked off after a successful bootstrap. */
705
770
  export const BLUEPRINT_PIPELINE_ID = 'pl_blueprint';
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAGjE,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,uCAAuC;AAEvC,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,CAAC,CAAqE,EAAS,EAAE,CAAC,CAAC;QAC9F,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI;QACd,GAAG,CAAC;KACL,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,CAAC;YACH,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1B,WAAW,EAAE,gDAAgD;YAC7D,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YAC3B,WAAW,EAAE,yDAAyD;YACtE,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YAC5B,WAAW,EAAE,2CAA2C;YACxD,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;YAC3B,WAAW,EAAE,kDAAkD;YAC/D,MAAM,EAAE,OAAO;SAChB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YAC5B,WAAW,EAAE,0DAA0D;YACvE,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE;YAC7B,WAAW,EAAE,kDAAkD;YAC/D,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,6CAA6C;QAC7C,IAAI,CAAC;YACH,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1B,WAAW,EAAE,uCAAuC;YACpD,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,UAAU;SACvB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;YAC3B,WAAW,EAAE,+CAA+C;YAC5D,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;QAEF,2EAA2E;QAC3E,IAAI,CAAC;YACH,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE;YAC3B,WAAW,EAAE,2BAA2B;YACxC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,UAAU;SACrB,CAAC;QACF,IAAI,CAAC;YACH,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1B,WAAW,EAAE,sCAAsC;YACnD,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,IAAI;SACjB,CAAC;KACH,CAAA;AACH,CAAC;AAaD;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAQvB;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAA;IACpD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAe;QAC3B,yFAAyF;QACzF,gGAAgG;QAChG,gGAAgG;QAChG,iGAAiG;QACjG,6FAA6F;QAC7F,8FAA8F;QAC9F,4FAA4F;QAC5F,8FAA8F;QAC9F,cAAc,CAAC;YACb,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,YAAY;YAClB,4FAA4F;YAC5F,8FAA8F;YAC9F,sFAAsF;YACtF,wFAAwF;YACxF,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,gFAAgF;gBAChF,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3C,aAAa;gBACb,gBAAgB;gBAChB,wEAAwE;gBACxE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;gBACjC,YAAY;gBACZ,OAAO;gBACP,UAAU;gBACV,gBAAgB;gBAChB,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC;QACF,cAAc,CAAC;YACb,2EAA2E;YAC3E,8EAA8E;YAC9E,8EAA8E;YAC9E,2EAA2E;YAC3E,2EAA2E;YAC3E,EAAE;YACF,+EAA+E;YAC/E,2EAA2E;YAC3E,6EAA6E;YAC7E,+EAA+E;YAC/E,oEAAoE;YACpE,2EAA2E;YAC3E,2EAA2E;YAC3E,uEAAuE;YACvE,0EAA0E;YAC1E,yEAAyE;YACzE,iEAAiE;YACjE,uEAAuE;YACvE,8EAA8E;YAC9E,6DAA6D;YAC7D,+EAA+E;YAC/E,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,gEAAgE;YAChE,gFAAgF;YAChF,4CAA4C;YAC5C,6DAA6D;YAC7D,oFAAoF;YACpF,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,2BAA2B;YACjC,6FAA6F;YAC7F,6FAA6F;YAC7F,+FAA+F;YAC/F,4FAA4F;YAC5F,6BAA6B;YAC7B,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,iDAAiD;gBACjD,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3C,YAAY;gBACZ,aAAa;gBACb,gBAAgB;gBAChB,mDAAmD;gBACnD,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,WAAW;gBACX,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3C,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,gBAAgB;gBAChB,YAAY;gBACZ,qBAAqB;gBACrB,UAAU;gBACV,YAAY;gBACZ,YAAY;gBACZ,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC;QACF,8FAA8F;QAC9F,8FAA8F;QAC9F,kGAAkG;QAClG,gGAAgG;QAChG,0DAA0D;QAC1D,cAAc,CAAC;YACb,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE;gBACL,kBAAkB;gBAClB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;gBACtC,aAAa;gBACb,WAAW;gBACX,OAAO;gBACP,UAAU;gBACV,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC;QACF;YACE,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,iBAAiB;YACvB,4FAA4F;YAC5F,4FAA4F;YAC5F,qEAAqE;YACrE,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,+EAA+E;QAC/E,8EAA8E;QAC9E,gDAAgD;QAChD;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD,yFAAyF;QACzF,2FAA2F;QAC3F,yFAAyF;QACzF,oFAAoF;QACpF,mFAAmF;QACnF,yFAAyF;QACzF,wFAAwF;QACxF,wDAAwD;QACxD,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE;QAC1F;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;SAC7E;QACD,2FAA2F;QAC3F,2FAA2F;QAC3F,yFAAyF;QACzF,6FAA6F;QAC7F,qFAAqF;QACrF,4FAA4F;QAC5F;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,oBAAoB;YAC1B,8FAA8F;YAC9F,+FAA+F;YAC/F,iCAAiC;YACjC,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC;SACzF;QACD,mFAAmF;QACnF,yFAAyF;QACzF,oFAAoF;QACpF,sFAAsF;QACtF,uFAAuF;QACvF,yFAAyF;QACzF,sFAAsF;QACtF;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,UAAU;gBACV,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,cAAc;gBACd,QAAQ;aACT;SACF;QACD,yFAAyF;QACzF,yEAAyE;QACzE,wFAAwF;QACxF,0FAA0F;QAC1F,wFAAwF;QACxF,4FAA4F;QAC5F,0EAA0E;QAC1E,EAAE;QACF,0FAA0F;QAC1F,2FAA2F;QAC3F,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,wFAAwF;QACxF,qBAAqB;QACrB;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,qBAAqB;gBACrB,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD,kFAAkF;QAClF,uFAAuF;QACvF,2FAA2F;QAC3F,2FAA2F;QAC3F,0FAA0F;QAC1F,uFAAuF;QACvF,4FAA4F;QAC5F,yFAAyF;QACzF,sFAAsF;QACtF,0FAA0F;QAC1F,sFAAsF;QACtF,EAAE;QACF,qFAAqF;QACrF,6FAA6F;QAC7F,8FAA8F;QAC9F,6FAA6F;QAC7F,0FAA0F;QAC1F,6FAA6F;QAC7F,wFAAwF;QACxF,uEAAuE;QACvE;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD,0EAA0E;QAC1E,8EAA8E;QAC9E,wEAAwE;QACxE,6EAA6E;QAC7E,yBAAyB;QACzB;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,OAAO;gBACP,UAAU;gBACV,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE;gBACV,UAAU;gBACV,SAAS;gBACT,OAAO;gBACP,UAAU;gBACV,YAAY;gBACZ,QAAQ;gBACR,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF;QACD,cAAc,CAAC;YACb,kFAAkF;YAClF,mFAAmF;YACnF,mFAAmF;YACnF,oFAAoF;YACpF,gFAAgF;YAChF,uFAAuF;YACvF,uFAAuF;YACvF,sFAAsF;YACtF,sFAAsF;YACtF,yFAAyF;YACzF,0FAA0F;YAC1F,uFAAuF;YACvF,+CAA+C;YAC/C,EAAE;YACF,qFAAqF;YACrF,sFAAsF;YACtF,yFAAyF;YACzF,yFAAyF;YACzF,uFAAuF;YACvF,uFAAuF;YACvF,2EAA2E;YAC3E,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,wBAAwB;YAC9B,YAAY,EAAE,WAAW;YACzB,iFAAiF;YACjF,yEAAyE;YACzE,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;gBACtC,gBAAgB;gBAChB,YAAY;gBACZ,OAAO;gBACP,UAAU;gBACV,UAAU;gBACV,YAAY;gBACZ,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE;QACvE,oFAAoF;QACpF,uFAAuF;QACvF,wFAAwF;QACxF,4EAA4E;QAC5E,gFAAgF;QAChF,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE;QAC/E,cAAc,CAAC;YACb,sEAAsE;YACtE,2EAA2E;YAC3E,4EAA4E;YAC5E,+EAA+E;YAC/E,8EAA8E;YAC9E,4EAA4E;YAC5E,2EAA2E;YAC3E,kFAAkF;YAClF,iEAAiE;YACjE,2DAA2D;YAC3D,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,iBAAiB;YACvB,0FAA0F;YAC1F,4FAA4F;YAC5F,qEAAqE;YACrE,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,wBAAwB;gBACxB,oBAAoB;gBACpB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1C,sBAAsB;aACvB;SACF,CAAC;QACF,8FAA8F;QAC9F,8FAA8F;QAC9F,0FAA0F;QAC1F,yFAAyF;QACzF,oFAAoF;QACpF,iGAAiG;QACjG,2FAA2F;QAC3F;YACE,EAAE,EAAE,oBAAoB;YACxB,IAAI,EAAE,4BAA4B;YAClC,UAAU,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC;SACjF;QACD,kFAAkF;QAClF,wDAAwD;QACxD,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE;QAClE,cAAc,CAAC;YACb,wFAAwF;YACxF,gFAAgF;YAChF,4FAA4F;YAC5F,oFAAoF;YACpF,2FAA2F;YAC3F,yFAAyF;YACzF,4EAA4E;YAC5E,sFAAsF;YACtF,2FAA2F;YAC3F,qFAAqF;YACrF,4FAA4F;YAC5F,0FAA0F;YAC1F,qCAAqC;YACrC,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC3D,OAAO;gBACP,WAAW;gBACX,IAAI;gBACJ,cAAc;gBACd,QAAQ;aACT;SACF,CAAC;QACF,cAAc,CAAC;YACb,yFAAyF;YACzF,sFAAsF;YACtF,sFAAsF;YACtF,yFAAyF;YACzF,4FAA4F;YAC5F,2EAA2E;YAC3E,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;SAC9E,CAAC;QACF,qFAAqF;QACrF,+EAA+E;QAC/E,wFAAwF;QACxF,4FAA4F;QAC5F,6FAA6F;QAC7F;YACE,EAAE,EAAE,yBAAyB;YAC7B,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,CAAC,qBAAqB,CAAC;SACpC;QACD,kFAAkF;QAClF,sFAAsF;QACtF,yFAAyF;QACzF,wFAAwF;QACxF,uFAAuF;QACvF;YACE,EAAE,EAAE,yBAAyB;YAC7B,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,MAAM,EAAE,IAAI;SACb;QACD,cAAc,CAAC;YACb,uFAAuF;YACvF,oFAAoF;YACpF,oFAAoF;YACpF,sFAAsF;YACtF,qDAAqD;YACrD,EAAE;YACF,mFAAmF;YACnF,kEAAkE;YAClE,sFAAsF;YACtF,yFAAyF;YACzF,yFAAyF;YACzF,0FAA0F;YAC1F,4FAA4F;YAC5F,kFAAkF;YAClF,8CAA8C;YAC9C,sFAAsF;YACtF,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,0FAA0F;YAC1F,wFAAwF;YACxF,yFAAyF;YACzF,yFAAyF;YACzF,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,mBAAmB;YACzB,2FAA2F;YAC3F,gGAAgG;YAChG,2FAA2F;YAC3F,6FAA6F;YAC7F,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,gBAAgB;gBAChB,cAAc;gBACd,iBAAiB;gBACjB,YAAY;gBACZ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpC,eAAe;gBACf,aAAa;gBACb,WAAW;gBACX,IAAI;gBACJ,QAAQ;aACT;SACF,CAAC;QACF;YACE,sFAAsF;YACtF,wFAAwF;YACxF,sFAAsF;YACtF,+EAA+E;YAC/E,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC;SACvF;QACD,2FAA2F;QAC3F,8FAA8F;QAC9F,oFAAoF;QACpF,4FAA4F;QAC5F,2FAA2F;QAC3F,iGAAiG;QACjG;YACE,yFAAyF;YACzF,6FAA6F;YAC7F,wFAAwF;YACxF,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC;SAC5D;QACD;YACE,0FAA0F;YAC1F,2FAA2F;YAC3F,oFAAoF;YACpF,oFAAoF;YACpF,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,yBAAyB;YAC/B,UAAU,EAAE,CAAC,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC;SACjE;KACF,CAAA;IACD,mFAAmF;IACnF,2FAA2F;IAC3F,4FAA4F;IAC5F,2FAA2F;IAC3F,2FAA2F;IAC3F,wFAAwF;IACxF,8FAA8F;IAC9F,yFAAyF;IACzF,qFAAqF;IACrF,OAAO,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxF,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAClD,CAAA;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAA;AAEnD,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAA;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB,CAAA;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAA;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAA;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAE3C,+FAA+F;AAC/F,iGAAiG;AACjG,6FAA6F;AAC7F,+FAA+F;AAE/F;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,mBAAmB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAA;AAE7C,2GAA2G;AAC3G,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAA2B;IACtE,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,oBAAoB,CAAA;IACxD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,iBAAiB,CAAA;IAClD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAA;IACpD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,iBAAiB,CAAA;IAClD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAA;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAA;AACnD,kHAAkH;AAClH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"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"}
@@ -22,25 +22,40 @@ export interface VcsProviderBundle {
22
22
  readonly provisioning?: VcsProvisioningClient;
23
23
  }
24
24
  /**
25
- * Register a VCS provider bundle. A later registration of the same provider replaces the
26
- * earlier one (so a deployment can override a built-in adapter). Register at startup,
27
- * before serving.
25
+ * App-owned registry of VCS provider bundles, keyed by the {@link VcsProvider} discriminator.
26
+ * The composition root news ONE instance and threads it through the container; a deployment
27
+ * (or an adapter package like `@cat-factory/gitlab`) registers each provider it supports on
28
+ * that instance by reference, and any caller holding a {@link VcsConnectionRef} resolves the
29
+ * concrete adapter through it. Mirrors {@link GateRegistry} / the backend registries — there
30
+ * is no module-global `Map` and no `clear*()` test cruft.
28
31
  */
29
- export declare function registerVcsProvider(bundle: VcsProviderBundle): void;
30
- /** The registered bundle for a provider, or `undefined` when nothing is registered. */
31
- export declare function getVcsProvider(provider: VcsProvider): VcsProviderBundle | undefined;
32
- /** Whether a bundle is registered for a provider. */
33
- export declare function isVcsProviderRegistered(provider: VcsProvider): boolean;
32
+ export declare class VcsProviderRegistry {
33
+ private readonly registry;
34
+ /**
35
+ * Register a VCS provider bundle. A later registration of the same provider replaces the
36
+ * earlier one (so a deployment can override a built-in adapter). Register at startup,
37
+ * before serving.
38
+ */
39
+ register(bundle: VcsProviderBundle): void;
40
+ /** The registered bundle for a provider, or `undefined` when nothing is registered. */
41
+ get(provider: VcsProvider): VcsProviderBundle | undefined;
42
+ /** Whether a bundle is registered for a provider. */
43
+ has(provider: VcsProvider): boolean;
44
+ /**
45
+ * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
46
+ * hand means a provider MUST be wired (a connection can only exist for a registered
47
+ * provider) — the throw then surfaces a wiring bug rather than failing deep in a call.
48
+ */
49
+ require(provider: VcsProvider): VcsProviderBundle;
50
+ /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
51
+ resolve(connection: VcsConnectionRef): VcsProviderBundle;
52
+ /** Every registered provider discriminator (registration order). */
53
+ providers(): VcsProvider[];
54
+ }
34
55
  /**
35
- * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
36
- * hand means a provider MUST be wired (a connection can only exist for a registered
37
- * provider) the throw then surfaces a wiring bug rather than failing deep in a call.
56
+ * A fresh, empty VCS provider registry. A facade news one, registers the providers its
57
+ * configuration enables (e.g. `@cat-factory/gitlab`'s `registerGitLab(registry, …)`), and
58
+ * threads the SAME instance through the container.
38
59
  */
39
- export declare function requireVcsProvider(provider: VcsProvider): VcsProviderBundle;
40
- /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
41
- export declare function resolveVcsProvider(connection: VcsConnectionRef): VcsProviderBundle;
42
- /** Every registered provider discriminator (registration order). */
43
- export declare function registeredVcsProviders(): VcsProvider[];
44
- /** Drop all registered providers. Intended for tests that exercise registration. */
45
- export declare function clearVcsProviders(): void;
60
+ export declare function defaultVcsRegistry(): VcsProviderRegistry;
46
61
  //# sourceMappingURL=vcs-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcs-registry.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAgB/D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,8FAA8F;IAC9F,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAC9C;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEnE;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAEnF;AAED,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,CAM3E;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAElF;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,WAAW,EAAE,CAEtD;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
1
+ {"version":3,"file":"vcs-registry.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAqB/D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,8FAA8F;IAC9F,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAC9C;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAErE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAExC;IAED,uFAAuF;IACvF,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAExD;IAED,qDAAqD;IACrD,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAElC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,CAMhD;IAED,qFAAqF;IACrF,OAAO,CAAC,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAEvD;IAED,oEAAoE;IACpE,SAAS,IAAI,WAAW,EAAE,CAEzB;CACF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAExD"}
@@ -1,44 +1,56 @@
1
- // Process-wide map, keyed by provider discriminator. Registration is a startup side
2
- // effect, read whenever a caller resolves a provider from a connection ref.
3
- const registry = new Map();
4
1
  /**
5
- * Register a VCS provider bundle. A later registration of the same provider replaces the
6
- * earlier one (so a deployment can override a built-in adapter). Register at startup,
7
- * before serving.
2
+ * App-owned registry of VCS provider bundles, keyed by the {@link VcsProvider} discriminator.
3
+ * The composition root news ONE instance and threads it through the container; a deployment
4
+ * (or an adapter package like `@cat-factory/gitlab`) registers each provider it supports on
5
+ * that instance by reference, and any caller holding a {@link VcsConnectionRef} resolves the
6
+ * concrete adapter through it. Mirrors {@link GateRegistry} / the backend registries — there
7
+ * is no module-global `Map` and no `clear*()` test cruft.
8
8
  */
9
- export function registerVcsProvider(bundle) {
10
- registry.set(bundle.provider, bundle);
11
- }
12
- /** The registered bundle for a provider, or `undefined` when nothing is registered. */
13
- export function getVcsProvider(provider) {
14
- return registry.get(provider);
15
- }
16
- /** Whether a bundle is registered for a provider. */
17
- export function isVcsProviderRegistered(provider) {
18
- return registry.has(provider);
9
+ export class VcsProviderRegistry {
10
+ registry = new Map();
11
+ /**
12
+ * Register a VCS provider bundle. A later registration of the same provider replaces the
13
+ * earlier one (so a deployment can override a built-in adapter). Register at startup,
14
+ * before serving.
15
+ */
16
+ register(bundle) {
17
+ this.registry.set(bundle.provider, bundle);
18
+ }
19
+ /** The registered bundle for a provider, or `undefined` when nothing is registered. */
20
+ get(provider) {
21
+ return this.registry.get(provider);
22
+ }
23
+ /** Whether a bundle is registered for a provider. */
24
+ has(provider) {
25
+ return this.registry.has(provider);
26
+ }
27
+ /**
28
+ * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
29
+ * hand means a provider MUST be wired (a connection can only exist for a registered
30
+ * provider) — the throw then surfaces a wiring bug rather than failing deep in a call.
31
+ */
32
+ require(provider) {
33
+ const bundle = this.registry.get(provider);
34
+ if (!bundle) {
35
+ throw new Error(`VCS provider "${provider}" is not registered.`);
36
+ }
37
+ return bundle;
38
+ }
39
+ /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
40
+ resolve(connection) {
41
+ return this.require(connection.provider);
42
+ }
43
+ /** Every registered provider discriminator (registration order). */
44
+ providers() {
45
+ return [...this.registry.keys()];
46
+ }
19
47
  }
20
48
  /**
21
- * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
22
- * hand means a provider MUST be wired (a connection can only exist for a registered
23
- * provider) the throw then surfaces a wiring bug rather than failing deep in a call.
49
+ * A fresh, empty VCS provider registry. A facade news one, registers the providers its
50
+ * configuration enables (e.g. `@cat-factory/gitlab`'s `registerGitLab(registry, …)`), and
51
+ * threads the SAME instance through the container.
24
52
  */
25
- export function requireVcsProvider(provider) {
26
- const bundle = registry.get(provider);
27
- if (!bundle) {
28
- throw new Error(`VCS provider "${provider}" is not registered.`);
29
- }
30
- return bundle;
31
- }
32
- /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
33
- export function resolveVcsProvider(connection) {
34
- return requireVcsProvider(connection.provider);
35
- }
36
- /** Every registered provider discriminator (registration order). */
37
- export function registeredVcsProviders() {
38
- return [...registry.keys()];
39
- }
40
- /** Drop all registered providers. Intended for tests that exercise registration. */
41
- export function clearVcsProviders() {
42
- registry.clear();
53
+ export function defaultVcsRegistry() {
54
+ return new VcsProviderRegistry();
43
55
  }
44
56
  //# sourceMappingURL=vcs-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcs-registry.js","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AAuCA,oFAAoF;AACpF,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAA;AAE1D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,QAAqB;IAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,QAAqB;IAC3D,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqB;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,sBAAsB,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,UAA4B;IAC7D,OAAO,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"vcs-registry.js","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AA4CA;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAA;IAErE;;;;OAIG;IACH,QAAQ,CAAC,MAAyB;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,uFAAuF;IACvF,GAAG,CAAC,QAAqB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,qDAAqD;IACrD,GAAG,CAAC,QAAqB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,sBAAsB,CAAC,CAAA;QAClE,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,qFAAqF;IACrF,OAAO,CAAC,UAA4B;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;IAED,oEAAoE;IACpE,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,mBAAmB,EAAE,CAAA;AAClC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,13 +11,13 @@ export { seedBlocks, seedPipelines, BLUEPRINT_PIPELINE_ID, INITIATIVE_PIPELINE_I
11
11
  export { INITIATIVE_INTERVIEWER_AGENT_KIND, INITIATIVE_ANALYST_AGENT_KIND, INITIATIVE_PLANNER_AGENT_KIND, INITIATIVE_COMMITTER_AGENT_KIND, INITIATIVE_AGENT_KINDS, isInitiativeAgentKind, hasInitiativeKinds, } from './domain/initiative-logic.js';
12
12
  export { DOC_INTERVIEWER_AGENT_KIND } from './domain/doc-interview-logic.js';
13
13
  export { resolveServiceFrameBlock } from './domain/block-tree.js';
14
- export { registerPipeline, registerPipelines, registeredPipelines, clearRegisteredPipelines, } from './domain/pipeline-registry.js';
14
+ export { PipelineRegistry, defaultPipelineRegistry } from './domain/pipeline-registry.js';
15
15
  export { type InitiativePresetRegistration, GENERIC_INITIATIVE_PRESET_ID, InitiativePresetRegistry, } from './domain/initiative-preset-registry.js';
16
16
  export { type GateProbe, type GateHelperOutcome, type GateHelperJobResult, type GateHelperCompletionArgs, type GateExhaustedArgs, type GateDefinition, type GateContext, type GateFactory, recordGateAttempt, GateRegistry, defaultGateRegistry, stubGateContext, } from './domain/gate-registry.js';
17
17
  export { type StepResolverContext, type StepResolution, type StepCompletionResolver, type ResolverContext, type StepResolverFactory, StepResolverRegistry, defaultStepResolverRegistry, stubResolverContext, } from './domain/step-resolver-registry.js';
18
- export { type ProviderToken, defineProviderToken, wireProvider, getProvider, isProviderWired, requireProvider, clearProviders, } from './domain/provider-registry.js';
18
+ export { type ProviderToken, ProviderRegistry, defineProviderToken, defaultProviderRegistry, } from './domain/provider-registry.js';
19
19
  export { type VcsProvider, type VcsConnectionRef, type VcsRepoRef, VCS_PROVIDERS, isVcsProvider, githubConnectionRef, githubInstallationId, } from './domain/vcs-types.js';
20
- export { type VcsProviderBundle, registerVcsProvider, getVcsProvider, isVcsProviderRegistered, requireVcsProvider, resolveVcsProvider, registeredVcsProviders, clearVcsProviders, } from './domain/vcs-registry.js';
20
+ export { type VcsProviderBundle, VcsProviderRegistry, defaultVcsRegistry, } from './domain/vcs-registry.js';
21
21
  export { type VcsHttpErrorContext, describeVcsApiError, VCS_DOC_URLS, GITHUB_SETTINGS_URLS, } from './domain/vcs-errors.js';
22
22
  export { DispatchError, DISPATCH_DOC_URLS, harnessDispatchError, harnessDispatchFailureMessage, isDispatchFailure, } from './domain/dispatch-errors.js';
23
23
  export { HARNESS_FAILURE_CAUSES, type HarnessFailureCause, isHarnessFailureCause, failureKindFromHarnessCause, } from './domain/harness-failure.js';