@agent-relay/factory 0.1.64 → 0.1.65

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 (56) hide show
  1. package/README.md +9 -0
  2. package/dist/cli/diagnose.d.ts +92 -0
  3. package/dist/cli/diagnose.d.ts.map +1 -0
  4. package/dist/cli/diagnose.js +346 -0
  5. package/dist/cli/diagnose.js.map +1 -0
  6. package/dist/cli/fleet.d.ts +9 -1
  7. package/dist/cli/fleet.d.ts.map +1 -1
  8. package/dist/cli/fleet.js +87 -4
  9. package/dist/cli/fleet.js.map +1 -1
  10. package/dist/config/schema.d.ts +69 -2
  11. package/dist/config/schema.d.ts.map +1 -1
  12. package/dist/config/schema.js +32 -0
  13. package/dist/config/schema.js.map +1 -1
  14. package/dist/fleet/internal-fleet-client.d.ts +16 -0
  15. package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
  16. package/dist/fleet/internal-fleet-client.js +228 -13
  17. package/dist/fleet/internal-fleet-client.js.map +1 -1
  18. package/dist/hosted/orchestrator.d.ts.map +1 -1
  19. package/dist/hosted/orchestrator.js +1 -4
  20. package/dist/hosted/orchestrator.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/observability/error-class.d.ts +29 -0
  26. package/dist/observability/error-class.d.ts.map +1 -0
  27. package/dist/observability/error-class.js +36 -0
  28. package/dist/observability/error-class.js.map +1 -0
  29. package/dist/observability/index.d.ts +1 -0
  30. package/dist/observability/index.d.ts.map +1 -1
  31. package/dist/observability/index.js +1 -0
  32. package/dist/observability/index.js.map +1 -1
  33. package/dist/orchestrator/factory.d.ts.map +1 -1
  34. package/dist/orchestrator/factory.js +649 -46
  35. package/dist/orchestrator/factory.js.map +1 -1
  36. package/dist/orchestrator/index.d.ts +1 -0
  37. package/dist/orchestrator/index.d.ts.map +1 -1
  38. package/dist/orchestrator/index.js +1 -0
  39. package/dist/orchestrator/index.js.map +1 -1
  40. package/dist/orchestrator/public-health.d.ts +82 -0
  41. package/dist/orchestrator/public-health.d.ts.map +1 -0
  42. package/dist/orchestrator/public-health.js +372 -0
  43. package/dist/orchestrator/public-health.js.map +1 -0
  44. package/dist/ports/state.d.ts +16 -0
  45. package/dist/ports/state.d.ts.map +1 -1
  46. package/dist/state/file-state-store.d.ts +8 -0
  47. package/dist/state/file-state-store.d.ts.map +1 -1
  48. package/dist/state/file-state-store.js +12 -2
  49. package/dist/state/file-state-store.js.map +1 -1
  50. package/dist/state/in-memory-state-store.d.ts +8 -0
  51. package/dist/state/in-memory-state-store.d.ts.map +1 -1
  52. package/dist/state/in-memory-state-store.js +12 -2
  53. package/dist/state/in-memory-state-store.js.map +1 -1
  54. package/dist/types.d.ts +106 -1
  55. package/dist/types.d.ts.map +1 -1
  56. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  export { BatchTracker, issueKey } from './batch-tracker.js';
2
+ export { DEFAULT_PUBLIC_HEALTH_STALE_MS, DEFAULT_READINESS_RECONCILE_INTERVAL_MS, FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION, READINESS_RECONCILE_STALL_INTERVALS, derivedReadinessReconcileState, publicHealthFromHeartbeat, readinessReconcileInFlightMs, } from './public-health.js';
2
3
  export type { DependencyAdmission, DependencyBlocker, ParkedIssue } from './batch-tracker.js';
3
4
  export { dependencyIdentity, findDependencyCycle, parseBlockedBy, resolveDependency } from './dependencies.js';
4
5
  export type { DeclaredDependency, ResolvedDependency } from './dependencies.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACxD,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC3G,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAC5E,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oCAAoC,EACpC,wBAAwB,GACzB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,EACvC,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC3G,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAC5E,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oCAAoC,EACpC,wBAAwB,GACzB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,UAAU,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export { BatchTracker, issueKey } from './batch-tracker.js';
2
+ export { DEFAULT_PUBLIC_HEALTH_STALE_MS, DEFAULT_READINESS_RECONCILE_INTERVAL_MS, FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION, READINESS_RECONCILE_STALL_INTERVALS, derivedReadinessReconcileState, publicHealthFromHeartbeat, readinessReconcileInFlightMs, } from './public-health.js';
2
3
  export { dependencyIdentity, findDependencyCycle, parseBlockedBy, resolveDependency } from './dependencies.js';
3
4
  export { DEFAULT_FACTORY_LOOP_HEARTBEAT_PATH, DEFAULT_FACTORY_LOOP_REGISTRY_PATH, checkFactoryLoopLiveness, createFactory, FactoryLoop, isDispatchableIssue, isAllowedFactoryGithubDraft, isAllowedFactoryGithubArtifactDraft, isLiveDispatchStateChangedError, isRealLinearIssue, LiveDispatchStateChangedError, githubIssuePathParts, parseGithubFactoryIssue, parseLinearIssue, readLinearIssueWithCanonicalFallback, readFactoryLoopHeartbeat, } from './factory.js';
4
5
  export { FactoryEnvironmentReaper, FactoryReaper, heldAgentsFromRegistry, readFactoryInFlightRegistry, reapFactoryEnvironmentsOnce, reapFactoryOrphansOnce, } from './reaper.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG3G,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oCAAoC,EACpC,wBAAwB,GACzB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,EACvC,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG3G,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,mCAAmC,EACnC,+BAA+B,EAC/B,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oCAAoC,EACpC,wBAAwB,GACzB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAA"}
@@ -0,0 +1,82 @@
1
+ import type { FactoryLoopHeartbeat, FactoryPublicHealth, FactoryPublicSubsystemState, FactoryReadinessReconcileStatus } from '../types.js';
2
+ /**
3
+ * Public health projection (#295).
4
+ *
5
+ * A deployed Factory's only unauthenticated surface is the container's
6
+ * `/healthz`. Until now it carried subsystem *state strings* and nothing else,
7
+ * so an operator could see `degraded` without learning how badly, since when,
8
+ * or what class of failure — and could not see a wedged sweep at all, because
9
+ * a hang writes no state. The fields that answer those questions live in the
10
+ * loop heartbeat next to `lastError`, which is free text and must not be
11
+ * published.
12
+ *
13
+ * This module is that boundary. It builds the public record **by
14
+ * construction**: every field is named here, every number is coerced, every
15
+ * string is either a closed enum or passes the shared telemetry allowlist.
16
+ * Nothing is spread, so a field added upstream — or written by an older or
17
+ * hostile producer — cannot reach the public surface by default.
18
+ */
19
+ export declare const FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION = 1;
20
+ /** Default readiness-reconcile cadence, mirrored from the live daemon. */
21
+ export declare const DEFAULT_READINESS_RECONCILE_INTERVAL_MS = 60000;
22
+ /**
23
+ * How many missed passes make an in-flight sweep `stalled`.
24
+ *
25
+ * A cold container legitimately spends minutes in its first pass — #36
26
+ * measured a post-boot reconcile at 61 minutes while the Relayfile mirror
27
+ * hydrated — so a small multiple would cry wolf on every boot. Ten missed
28
+ * passes (ten minutes at the default cadence) is past any warm-path sweep,
29
+ * and `inFlightMs`/`missedPasses`/`lastCompletedAtMs` ship alongside so a
30
+ * reader can still tell "first pass since boot, still hydrating" from "was
31
+ * fine for hours, then stopped".
32
+ */
33
+ export declare const READINESS_RECONCILE_STALL_INTERVALS = 10;
34
+ /** Heartbeat age past which the whole record is treated as unknown, not green. */
35
+ export declare const DEFAULT_PUBLIC_HEALTH_STALE_MS = 60000;
36
+ /**
37
+ * How long the current pass has been running, or `undefined` when none is.
38
+ *
39
+ * A sweep that hangs takes neither the success nor the failure path, so no
40
+ * field is written while it is stuck. The only evidence is that its start
41
+ * timestamp is newer than both settle timestamps — which is why the *relative
42
+ * order* of these three numbers, not any state string, is the signal.
43
+ */
44
+ export declare function readinessReconcileInFlightMs(status: Pick<FactoryReadinessReconcileStatus, 'inFlightSinceMs' | 'lastStartedAtMs' | 'lastCompletedAtMs' | 'lastFailureAtMs'>, nowMs: number): number | undefined;
45
+ /**
46
+ * The state a reader should believe, which is not always the one on record.
47
+ *
48
+ * `state` as persisted is last-write-wins over the last *settled* pass, so it
49
+ * reports `healthy` for as long as a hang lasts. This re-derives it against
50
+ * the clock: an in-flight pass past the stall threshold is `stalled` no matter
51
+ * what the last completed pass said.
52
+ */
53
+ export declare function derivedReadinessReconcileState(status: Pick<FactoryReadinessReconcileStatus, 'state' | 'intervalMs' | 'inFlightSinceMs' | 'lastStartedAtMs' | 'lastCompletedAtMs' | 'lastFailureAtMs'>, nowMs: number): FactoryPublicSubsystemState | 'unknown';
54
+ /**
55
+ * Project a loop heartbeat into the record safe to serve unauthenticated.
56
+ *
57
+ * `nowMs` must come from the *writer's* clock, not a remote reader's: every
58
+ * derived duration here is a difference against timestamps the daemon
59
+ * produced, and comparing them to a laptop's clock would report skew as
60
+ * stall. Readers get `ageMs` instead and can bound the staleness themselves.
61
+ */
62
+ export declare function publicHealthFromHeartbeat(heartbeat: FactoryLoopHeartbeat | undefined, opts?: {
63
+ nowMs?: number;
64
+ staleMs?: number;
65
+ }): FactoryPublicHealth;
66
+ /**
67
+ * Re-read a health record that arrived over the wire.
68
+ *
69
+ * A reader of a remote `/healthz` holds parsed JSON from a process it does
70
+ * not control and that may be several versions behind. Running it back
71
+ * through the same coercions the writer used means a caller can rely on the
72
+ * shape — and means an unrecognised state or a hostile string cannot reach a
73
+ * terminal or a downstream report just because it arrived over HTTP.
74
+ *
75
+ * The derived fields are read, not recomputed: they were derived against the
76
+ * writer's clock, and a reader's clock would report skew as stall.
77
+ *
78
+ * Returns `undefined` when the record is absent, which is how a caller tells
79
+ * "instance predates the diagnostics block" from "instance is unhealthy".
80
+ */
81
+ export declare function normalizePublicHealth(value: unknown): FactoryPublicHealth | undefined;
82
+ //# sourceMappingURL=public-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-health.d.ts","sourceRoot":"","sources":["../../src/orchestrator/public-health.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,oBAAoB,EAGpB,mBAAmB,EAEnB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oCAAoC,IAAI,CAAA;AAErD,0EAA0E;AAC1E,eAAO,MAAM,uCAAuC,QAAS,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mCAAmC,KAAK,CAAA;AAErD,kFAAkF;AAClF,eAAO,MAAM,8BAA8B,QAAS,CAAA;AAyGpD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CACV,+BAA+B,EAC/B,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,CAChF,EACD,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAgBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,IAAI,CACV,+BAA+B,EAC/B,OAAO,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,CACzG,EACD,KAAK,EAAE,MAAM,GACZ,2BAA2B,GAAG,SAAS,CAQzC;AAkDD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,oBAAoB,GAAG,SAAS,EAC3C,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9C,mBAAmB,CA6FrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAsDrF"}
@@ -0,0 +1,372 @@
1
+ import { telemetryErrorClassName } from '../observability/error-class.js';
2
+ /**
3
+ * Public health projection (#295).
4
+ *
5
+ * A deployed Factory's only unauthenticated surface is the container's
6
+ * `/healthz`. Until now it carried subsystem *state strings* and nothing else,
7
+ * so an operator could see `degraded` without learning how badly, since when,
8
+ * or what class of failure — and could not see a wedged sweep at all, because
9
+ * a hang writes no state. The fields that answer those questions live in the
10
+ * loop heartbeat next to `lastError`, which is free text and must not be
11
+ * published.
12
+ *
13
+ * This module is that boundary. It builds the public record **by
14
+ * construction**: every field is named here, every number is coerced, every
15
+ * string is either a closed enum or passes the shared telemetry allowlist.
16
+ * Nothing is spread, so a field added upstream — or written by an older or
17
+ * hostile producer — cannot reach the public surface by default.
18
+ */
19
+ export const FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION = 1;
20
+ /** Default readiness-reconcile cadence, mirrored from the live daemon. */
21
+ export const DEFAULT_READINESS_RECONCILE_INTERVAL_MS = 60_000;
22
+ /**
23
+ * How many missed passes make an in-flight sweep `stalled`.
24
+ *
25
+ * A cold container legitimately spends minutes in its first pass — #36
26
+ * measured a post-boot reconcile at 61 minutes while the Relayfile mirror
27
+ * hydrated — so a small multiple would cry wolf on every boot. Ten missed
28
+ * passes (ten minutes at the default cadence) is past any warm-path sweep,
29
+ * and `inFlightMs`/`missedPasses`/`lastCompletedAtMs` ship alongside so a
30
+ * reader can still tell "first pass since boot, still hydrating" from "was
31
+ * fine for hours, then stopped".
32
+ */
33
+ export const READINESS_RECONCILE_STALL_INTERVALS = 10;
34
+ /** Heartbeat age past which the whole record is treated as unknown, not green. */
35
+ export const DEFAULT_PUBLIC_HEALTH_STALE_MS = 60_000;
36
+ const READINESS_RECONCILE_STATES = [
37
+ 'not-running',
38
+ 'healthy',
39
+ 'retrying',
40
+ 'degraded',
41
+ 'stalled',
42
+ ];
43
+ const EVENT_LISTENER_STATES = [
44
+ 'not-listening',
45
+ 'starting',
46
+ 'subscribed',
47
+ 'polling',
48
+ ];
49
+ const FLEET_CONTROL_PLANE_STATES = [
50
+ 'closed',
51
+ 'open',
52
+ 'half-open',
53
+ ];
54
+ /** Subsystems whose degradation stops issues from being dispatched. */
55
+ const DISPATCH_GATING_SUBSYSTEMS = ['readinessReconcile', 'eventListener', 'fleetControlPlane'];
56
+ const finiteNumber = (value) => typeof value === 'number' && Number.isFinite(value) ? value : undefined;
57
+ /** A cadence is a denominator: zero or negative would make every derived ratio nonsense. */
58
+ const positiveNumber = (value) => {
59
+ const parsed = finiteNumber(value);
60
+ return parsed !== undefined && parsed > 0 ? parsed : undefined;
61
+ };
62
+ const counter = (value) => {
63
+ const parsed = finiteNumber(value);
64
+ return parsed !== undefined && parsed >= 0 ? Math.floor(parsed) : 0;
65
+ };
66
+ /**
67
+ * The widest instant `Date` can represent (ECMA-262 time-value limit).
68
+ *
69
+ * Review follow-up on #300 (P2, codex): a finite number is not a valid date.
70
+ * `new Date(1e300).toISOString()` throws, and these numbers arrive from a
71
+ * remote process — so a hostile or corrupted record could abort a renderer
72
+ * that was asked to explain an outage. A timestamp outside the range is
73
+ * dropped rather than published.
74
+ */
75
+ const MAX_TIME_VALUE_MS = 8.64e15;
76
+ const timestamp = (value) => {
77
+ const parsed = finiteNumber(value);
78
+ return parsed !== undefined && Math.abs(parsed) <= MAX_TIME_VALUE_MS ? parsed : undefined;
79
+ };
80
+ const optionalTimestamp = (key, value) => {
81
+ const parsed = timestamp(value);
82
+ return parsed === undefined ? {} : { [key]: parsed };
83
+ };
84
+ const plainRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value)
85
+ ? value
86
+ : undefined;
87
+ const optionalNumber = (key, value) => {
88
+ const parsed = finiteNumber(value);
89
+ return parsed === undefined ? {} : { [key]: parsed };
90
+ };
91
+ /**
92
+ * A duration that cannot be negative, dropped rather than republished.
93
+ *
94
+ * The writer never emits these; a remote process on another version might
95
+ * (#300 review, CodeRabbit). Dropping the field keeps the promise this
96
+ * module's doc comment makes to its callers about the shape they get.
97
+ */
98
+ const optionalDuration = (key, value) => {
99
+ const parsed = finiteNumber(value);
100
+ return parsed === undefined || parsed < 0 ? {} : { [key]: parsed };
101
+ };
102
+ /** A count of whole passes: fractions are not a thing an operator can read. */
103
+ const optionalCount = (key, value) => {
104
+ const parsed = finiteNumber(value);
105
+ return parsed === undefined || parsed < 0
106
+ ? {}
107
+ : { [key]: Math.floor(parsed) };
108
+ };
109
+ const optionalPositive = (key, value) => {
110
+ const parsed = positiveNumber(value);
111
+ return parsed === undefined ? {} : { [key]: parsed };
112
+ };
113
+ /** Control characters stripped, length bounded: this text can reach a terminal. */
114
+ const boundedText = (value) =>
115
+ // C0 and C1 alike (#300 review, P2, cubic): some terminals interpret the
116
+ // C1 range as escape introducers.
117
+ value.replace(/[\u0000-\u001F\u007F-\u009F]+/gu, ' ').trim().slice(0, 300);
118
+ const enumValue = (value, allowed) => typeof value === 'string' && allowed.includes(value) ? value : 'unknown';
119
+ /**
120
+ * How long the current pass has been running, or `undefined` when none is.
121
+ *
122
+ * A sweep that hangs takes neither the success nor the failure path, so no
123
+ * field is written while it is stuck. The only evidence is that its start
124
+ * timestamp is newer than both settle timestamps — which is why the *relative
125
+ * order* of these three numbers, not any state string, is the signal.
126
+ */
127
+ export function readinessReconcileInFlightMs(status, nowMs) {
128
+ // A daemon that publishes `inFlightSinceMs` knows what is still running and
129
+ // does not need the inference below. It is strictly better: a sweep whose
130
+ // wait ended on the #296 deadline writes a settle timestamp while its
131
+ // `runOnce()` keeps running, so timestamp order alone would call that stuck
132
+ // pass "not in flight" — the exact blindness this projection exists to cure.
133
+ const inFlightSinceMs = timestamp(status.inFlightSinceMs);
134
+ if (inFlightSinceMs !== undefined)
135
+ return Math.max(0, nowMs - inFlightSinceMs);
136
+ const startedAtMs = timestamp(status.lastStartedAtMs);
137
+ if (startedAtMs === undefined)
138
+ return undefined;
139
+ const settledAtMs = Math.max(timestamp(status.lastCompletedAtMs) ?? Number.NEGATIVE_INFINITY, timestamp(status.lastFailureAtMs) ?? Number.NEGATIVE_INFINITY);
140
+ if (settledAtMs >= startedAtMs)
141
+ return undefined;
142
+ return Math.max(0, nowMs - startedAtMs);
143
+ }
144
+ /**
145
+ * The state a reader should believe, which is not always the one on record.
146
+ *
147
+ * `state` as persisted is last-write-wins over the last *settled* pass, so it
148
+ * reports `healthy` for as long as a hang lasts. This re-derives it against
149
+ * the clock: an in-flight pass past the stall threshold is `stalled` no matter
150
+ * what the last completed pass said.
151
+ */
152
+ export function derivedReadinessReconcileState(status, nowMs) {
153
+ const reported = enumValue(status.state, READINESS_RECONCILE_STATES);
154
+ // A daemon that is not running has no pass in flight; its own state wins.
155
+ if (reported === 'not-running')
156
+ return reported;
157
+ const inFlightMs = readinessReconcileInFlightMs(status, nowMs);
158
+ if (inFlightMs === undefined)
159
+ return reported;
160
+ const intervalMs = positiveNumber(status.intervalMs) ?? DEFAULT_READINESS_RECONCILE_INTERVAL_MS;
161
+ return inFlightMs > intervalMs * READINESS_RECONCILE_STALL_INTERVALS ? 'stalled' : reported;
162
+ }
163
+ function readinessReconcileHealth(status, nowMs) {
164
+ // Review follow-up on #300 (P2, cubic): a recorded `intervalMs: 0` made
165
+ // every in-flight pass instantly stalled and `missedPasses` Infinity, which
166
+ // JSON renders as null. An unusable cadence falls back to the default and is
167
+ // not republished as though it were real.
168
+ const intervalMs = positiveNumber(status.intervalMs);
169
+ const inFlightMs = readinessReconcileInFlightMs(status, nowMs);
170
+ const cadenceMs = intervalMs ?? DEFAULT_READINESS_RECONCILE_INTERVAL_MS;
171
+ return {
172
+ state: derivedReadinessReconcileState(status, nowMs),
173
+ consecutiveFailures: counter(status.consecutiveFailures),
174
+ failureThreshold: counter(status.failureThreshold),
175
+ ...(intervalMs !== undefined ? { intervalMs } : {}),
176
+ ...(finiteNumber(status.lastDurationMs) !== undefined
177
+ ? { lastDurationMs: finiteNumber(status.lastDurationMs) }
178
+ : {}),
179
+ ...optionalTimestamp('lastStartedAtMs', status.lastStartedAtMs),
180
+ ...optionalTimestamp('lastCompletedAtMs', status.lastCompletedAtMs),
181
+ ...optionalTimestamp('lastFailureAtMs', status.lastFailureAtMs),
182
+ ...(inFlightMs !== undefined
183
+ ? { inFlightMs, missedPasses: Math.floor(inFlightMs / cadenceMs) }
184
+ : {}),
185
+ // `lastError` itself never crosses. Its class does, through the same
186
+ // allowlist that guards IterationReport.skipped[].reason — and a record
187
+ // that carries an error but no admissible class still says so.
188
+ ...(status.lastErrorClass !== undefined || status.lastError !== undefined
189
+ ? { lastErrorClass: telemetryErrorClassName(status.lastErrorClass) }
190
+ : {}),
191
+ };
192
+ }
193
+ function fleetControlPlaneHealth(status) {
194
+ return {
195
+ state: enumValue(status.state, FLEET_CONTROL_PLANE_STATES),
196
+ consecutiveFailures: counter(status.consecutiveFailures),
197
+ failureThreshold: counter(status.failureThreshold),
198
+ ...optionalTimestamp('lastFailureAtMs', status.lastFailureAtMs),
199
+ ...optionalTimestamp('retryAtMs', status.retryAtMs),
200
+ // `lastError` stays behind /evidence: a roster probe failure names the
201
+ // broker socket path.
202
+ };
203
+ }
204
+ /**
205
+ * Project a loop heartbeat into the record safe to serve unauthenticated.
206
+ *
207
+ * `nowMs` must come from the *writer's* clock, not a remote reader's: every
208
+ * derived duration here is a difference against timestamps the daemon
209
+ * produced, and comparing them to a laptop's clock would report skew as
210
+ * stall. Readers get `ageMs` instead and can bound the staleness themselves.
211
+ */
212
+ export function publicHealthFromHeartbeat(heartbeat, opts = {}) {
213
+ const nowMs = opts.nowMs ?? Date.now();
214
+ const staleMs = opts.staleMs ?? DEFAULT_PUBLIC_HEALTH_STALE_MS;
215
+ if (!heartbeat) {
216
+ return {
217
+ schemaVersion: FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION,
218
+ ok: false,
219
+ status: 'unknown',
220
+ stale: true,
221
+ reason: 'heartbeat missing',
222
+ degradedSubsystems: [],
223
+ };
224
+ }
225
+ const updatedAtMs = timestamp(heartbeat.updatedAtMs);
226
+ const ageMs = updatedAtMs === undefined ? undefined : Math.max(0, nowMs - updatedAtMs);
227
+ const stale = ageMs === undefined || ageMs > staleMs;
228
+ const loopStatus = enumValue(heartbeat.status, ['running', 'idle', 'stopping']);
229
+ const readinessReconcile = heartbeat.readinessReconcile
230
+ ? readinessReconcileHealth(heartbeat.readinessReconcile, nowMs)
231
+ : undefined;
232
+ const fleetControlPlane = heartbeat.fleetControlPlane
233
+ ? fleetControlPlaneHealth(heartbeat.fleetControlPlane)
234
+ : undefined;
235
+ const eventListener = heartbeat.eventListener
236
+ // Only the state. `reason` is assembled free text and stays behind the
237
+ // authenticated surface.
238
+ ? { state: enumValue(heartbeat.eventListener.state, EVENT_LISTENER_STATES) }
239
+ : undefined;
240
+ // A daemon that is not running a readiness loop is not a live dispatcher —
241
+ // a bounded `factory loop` reports `not-running` here and is not supposed to
242
+ // hold a subscription. Only a live instance's listener is dispatch-gating.
243
+ const liveDispatcher = readinessReconcile !== undefined && readinessReconcile.state !== 'not-running';
244
+ const degradedSubsystems = DISPATCH_GATING_SUBSYSTEMS.filter((name) => {
245
+ if (name === 'readinessReconcile') {
246
+ return readinessReconcile !== undefined &&
247
+ readinessReconcile.state !== 'healthy' &&
248
+ readinessReconcile.state !== 'not-running';
249
+ }
250
+ if (name === 'fleetControlPlane') {
251
+ // An open circuit fails every spawn fast; half-open is one probe away
252
+ // from either. Both mean dispatch is not admitting work normally.
253
+ return fleetControlPlane !== undefined && fleetControlPlane.state !== 'closed';
254
+ }
255
+ // Review follow-up on #300 (P2, codex): `starting` is what a live daemon
256
+ // reports before `#startLiveSubscription` installs the subscription. No
257
+ // listener is registered, and startup can be lengthy, so anything short of
258
+ // a registered subscription or an active poll is amber — not green.
259
+ return liveDispatcher &&
260
+ eventListener !== undefined &&
261
+ eventListener.state !== 'subscribed' &&
262
+ eventListener.state !== 'polling';
263
+ });
264
+ // Deliberate split (#295, deliverable 2).
265
+ //
266
+ // `ok` answers "is this process alive", because that is the question the
267
+ // platform asks: the container ping endpoint is `/healthz`, and a non-200
268
+ // there recycles the container. Recycling a wedged Factory destroys the
269
+ // in-memory evidence of the wedge and restarts the cold-start hydration
270
+ // that #36 measured at 61 minutes, so a dispatch-gating degradation must
271
+ // not be able to reach into container lifecycle.
272
+ //
273
+ // `status` is the amber a liveness bit cannot express. No platform reads
274
+ // it, so a monitor can alert on `status !== "ok"` — or on
275
+ // `degradedSubsystems` being non-empty — and get the signal that was
276
+ // missing during the outage, with no restart-loop risk.
277
+ const ok = !stale && loopStatus !== 'stopping' && loopStatus !== 'unknown';
278
+ const status = !ok ? 'unknown' : degradedSubsystems.length > 0 ? 'degraded' : 'ok';
279
+ const reason = stale
280
+ ? 'heartbeat stale'
281
+ : loopStatus === 'stopping'
282
+ ? 'loop stopping'
283
+ : degradedSubsystems.length > 0
284
+ ? `dispatch-gating subsystem not healthy: ${degradedSubsystems.join(', ')}`
285
+ : undefined;
286
+ return {
287
+ schemaVersion: FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION,
288
+ ok,
289
+ status,
290
+ stale,
291
+ ...(updatedAtMs !== undefined ? { updatedAtMs } : {}),
292
+ ...(ageMs !== undefined ? { ageMs } : {}),
293
+ loopStatus,
294
+ degradedSubsystems: [...degradedSubsystems],
295
+ ...(reason ? { reason } : {}),
296
+ ...(readinessReconcile ? { readinessReconcile } : {}),
297
+ ...(eventListener ? { eventListener } : {}),
298
+ ...(fleetControlPlane ? { fleetControlPlane } : {}),
299
+ };
300
+ }
301
+ /**
302
+ * Re-read a health record that arrived over the wire.
303
+ *
304
+ * A reader of a remote `/healthz` holds parsed JSON from a process it does
305
+ * not control and that may be several versions behind. Running it back
306
+ * through the same coercions the writer used means a caller can rely on the
307
+ * shape — and means an unrecognised state or a hostile string cannot reach a
308
+ * terminal or a downstream report just because it arrived over HTTP.
309
+ *
310
+ * The derived fields are read, not recomputed: they were derived against the
311
+ * writer's clock, and a reader's clock would report skew as stall.
312
+ *
313
+ * Returns `undefined` when the record is absent, which is how a caller tells
314
+ * "instance predates the diagnostics block" from "instance is unhealthy".
315
+ */
316
+ export function normalizePublicHealth(value) {
317
+ const record = plainRecord(value);
318
+ if (!record)
319
+ return undefined;
320
+ const readiness = plainRecord(record.readinessReconcile);
321
+ const listener = plainRecord(record.eventListener);
322
+ const fleet = plainRecord(record.fleetControlPlane);
323
+ const degradedSubsystems = Array.isArray(record.degradedSubsystems)
324
+ ? DISPATCH_GATING_SUBSYSTEMS.filter((name) => record.degradedSubsystems.includes(name))
325
+ : [];
326
+ const status = enumValue(record.status, ['ok', 'degraded']);
327
+ return {
328
+ schemaVersion: finiteNumber(record.schemaVersion) ?? FACTORY_PUBLIC_HEALTH_SCHEMA_VERSION,
329
+ ok: record.ok === true,
330
+ status,
331
+ stale: record.stale === true,
332
+ ...optionalTimestamp('updatedAtMs', record.updatedAtMs),
333
+ ...optionalDuration('ageMs', record.ageMs),
334
+ loopStatus: enumValue(record.loopStatus, ['running', 'idle', 'stopping']),
335
+ degradedSubsystems: [...degradedSubsystems],
336
+ ...(typeof record.reason === 'string'
337
+ ? { reason: boundedText(record.reason) }
338
+ : {}),
339
+ ...(readiness
340
+ ? {
341
+ readinessReconcile: {
342
+ state: enumValue(readiness.state, READINESS_RECONCILE_STATES),
343
+ consecutiveFailures: counter(readiness.consecutiveFailures),
344
+ failureThreshold: counter(readiness.failureThreshold),
345
+ ...optionalPositive('intervalMs', readiness.intervalMs),
346
+ ...optionalDuration('lastDurationMs', readiness.lastDurationMs),
347
+ ...optionalTimestamp('lastStartedAtMs', readiness.lastStartedAtMs),
348
+ ...optionalTimestamp('lastCompletedAtMs', readiness.lastCompletedAtMs),
349
+ ...optionalTimestamp('lastFailureAtMs', readiness.lastFailureAtMs),
350
+ ...optionalDuration('inFlightMs', readiness.inFlightMs),
351
+ ...optionalCount('missedPasses', readiness.missedPasses),
352
+ ...(readiness.lastErrorClass !== undefined
353
+ ? { lastErrorClass: telemetryErrorClassName(readiness.lastErrorClass) }
354
+ : {}),
355
+ },
356
+ }
357
+ : {}),
358
+ ...(listener ? { eventListener: { state: enumValue(listener.state, EVENT_LISTENER_STATES) } } : {}),
359
+ ...(fleet
360
+ ? {
361
+ fleetControlPlane: {
362
+ state: enumValue(fleet.state, FLEET_CONTROL_PLANE_STATES),
363
+ consecutiveFailures: counter(fleet.consecutiveFailures),
364
+ failureThreshold: counter(fleet.failureThreshold),
365
+ ...optionalTimestamp('lastFailureAtMs', fleet.lastFailureAtMs),
366
+ ...optionalTimestamp('retryAtMs', fleet.retryAtMs),
367
+ },
368
+ }
369
+ : {}),
370
+ };
371
+ }
372
+ //# sourceMappingURL=public-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-health.js","sourceRoot":"","sources":["../../src/orchestrator/public-health.ts"],"names":[],"mappings":"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"}
@@ -347,6 +347,22 @@ export interface StateStore {
347
347
  /** Atomic rejection diagnostics; legacy/custom stores may omit this. */
348
348
  renewDiscoverySweepWithDetails?(workspaceId: string, owner: string, epoch: number, nowMs: number, leaseMs: number): Promise<DiscoverySweepRenewal>;
349
349
  completeDiscoverySweep(workspaceId: string, owner: string, epoch: number, checkpoint?: DiscoveryCheckpoint): Promise<boolean>;
350
+ /**
351
+ * Commit a sweep that ran while Relayfile was shedding some of it, carrying
352
+ * a decayed ratchet and a backoff forward instead of clearing both (#297).
353
+ *
354
+ * Optional, and a separate method rather than an extra argument on
355
+ * `completeDiscoverySweep`, for the same reason as
356
+ * `renewDiscoverySweepWithDetails`: a legacy or custom store keeps working,
357
+ * and its inability to carry this state is *detectable* by the caller. An
358
+ * optional argument would have been silently dropped by any store compiled
359
+ * against the old signature, losing the backoff and letting the next sweep
360
+ * retry immediately — the exact failure this change exists to prevent.
361
+ */
362
+ completeDiscoverySweepWithOverload?(workspaceId: string, owner: string, epoch: number, checkpoint: DiscoveryCheckpoint | undefined, overload: {
363
+ consecutiveOverloads: number;
364
+ backoffUntilMs: number;
365
+ }): Promise<boolean>;
350
366
  deferDiscoverySweep(workspaceId: string, owner: string, epoch: number, backoffUntilMs: number, consecutiveOverloads: number): Promise<boolean>;
351
367
  releaseDiscoverySweep(workspaceId: string, owner: string, epoch: number): Promise<void>;
352
368
  claimDispatchLifecycle(workspaceId: string, key: string, seed: DispatchLifecycle, owner: string, nowMs: number, leaseMs: number): Promise<DispatchLifecycleClaim>;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/ports/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACb,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAA;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,yBAAyB,EAAE,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE;QACrB,cAAc,EAAE,MAAM,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,kFAAkF;QAClF,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,SAAS,GAAG,WAAW,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB;;;;;WAKG;QACH,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;QACxB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,UAAU,CAAC,EAAE,UAAU,CAAA;QACvB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,4EAA4E;IAC5E,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,qFAAqF;IACrF,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;IACjC,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChF;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5E,2DAA2D;IAC3D,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,mBAAmB,EAAE,CAAA;QAC/B,+EAA+E;QAC/E,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,CAAA;KACnF,CAAA;CACF,CAAA;AAED,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG;IACF,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,6EAA6E;IAC7E,cAAc,CAAC,EAAE,mBAAmB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAC7C;IACA,OAAO,EAAE,KAAK,CAAA;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;IACvD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,CAAA;AAEH,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,aAAa,GACb,WAAW,GACX,YAAY,GACZ,SAAS,GACT,SAAS,GACT,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,mBAAmB,GACnB,WAAW,GACX,UAAU,GACV,WAAW,CAAA;AAEf;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC,sBAAsB,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;AAEtG,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,6FAA6F;IAC7F,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,CAAA;IACf,QAAQ,EAAE,cAAc,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAA;IAC7B,MAAM,EAAE,sBAAsB,EAAE,CAAA;IAChC,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,UAAU,EAAE,cAAc,CAAA;IAC1C,6EAA6E;IAC7E,aAAa,CAAC,EAAE,0BAA0B,CAAA;IAC1C,4HAA4H;IAC5H,YAAY,CAAC,EAAE,OAAO,SAAS,EAAE,8BAA8B,EAAE,CAAA;IACjE,WAAW,CAAC,EAAE,OAAO,SAAS,EAAE,8BAA8B,CAAA;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;;;OAIG;IACH,0BAA0B,CAAC,EAAE;QAC3B,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAA;IACjC,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,OAAO,EAAE,8BAA8B,EAAE,CAAA;IACzC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAA;IACpD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;IACxD,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAA;IAClC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;IACnD,QAAQ,IAAI,OAAO,CAAA;IACnB,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,aAAa,GAAG,SAAS,CAAA;IACtH,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAA;IACpG,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;IAClD,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC9B,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;IACrF,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAA;IACjE,WAAW,CACT,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAC3C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,WAAW,GAClB,IAAI,CAAA;IACP,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IACvF,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5G,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAAA;CAC9C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACrD,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1G,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACrG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErE,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/B,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,wEAAwE;IACxE,8BAA8B,CAAC,CAC7B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACjC,sBAAsB,CACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,mBAAmB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvF,sBAAsB,CACpB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClC,sBAAsB,CACpB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,wBAAwB,CACtB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,6BAA6B,CAC3B,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;IAC9F,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACxF,4BAA4B,CAC1B,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,sBAAsB,GAAG,SAAS,GAChD,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtF,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;IACtF,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAClF,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtE,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC5F,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5H,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAA;IAClH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAA;IACjG,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAA;IACnJ,uCAAuC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1K,0CAA0C,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7I;;;;OAIG;IACH,uCAAuC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzJ,yCAAyC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzI;;;;OAIG;IACH,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAChJ,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/H,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnH,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/G,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAA;IACjL,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnI,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrK,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpF;;;;OAIG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/I,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChH,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAA;IAC1G,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7E,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtE,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClH,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACzG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC9F,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACnK,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzH,qCAAqC,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjI,oCAAoC,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzG,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACpI,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACnI,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC7H,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC7J,+BAA+B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9H,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnG,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IACvJ,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7G,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzH,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjG,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7F,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/E,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAA;IAC9F,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IACxF,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpE,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3G,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;IAC7F,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5E;;;;OAIG;IACH,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC3C,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAA;IAClD,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtF,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACjF"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/ports/state.ts"],"names":[],"mappings":"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"}