@ai-dossier/sched 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +179 -17
  2. package/dist/attribution.d.ts +132 -0
  3. package/dist/attribution.d.ts.map +1 -0
  4. package/dist/attribution.js +268 -0
  5. package/dist/attribution.js.map +1 -0
  6. package/dist/bisect.d.ts +67 -0
  7. package/dist/bisect.d.ts.map +1 -0
  8. package/dist/bisect.js +122 -0
  9. package/dist/bisect.js.map +1 -0
  10. package/dist/dispatch.d.ts +48 -1
  11. package/dist/dispatch.d.ts.map +1 -1
  12. package/dist/dispatch.js +92 -5
  13. package/dist/dispatch.js.map +1 -1
  14. package/dist/engine.d.ts +53 -13
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js +421 -75
  17. package/dist/engine.js.map +1 -1
  18. package/dist/enqueue.d.ts +9 -0
  19. package/dist/enqueue.d.ts.map +1 -1
  20. package/dist/enqueue.js +96 -12
  21. package/dist/enqueue.js.map +1 -1
  22. package/dist/groundtruth.d.ts +66 -5
  23. package/dist/groundtruth.d.ts.map +1 -1
  24. package/dist/groundtruth.js +150 -5
  25. package/dist/groundtruth.js.map +1 -1
  26. package/dist/index.d.ts +10 -6
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +51 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/persist.d.ts.map +1 -1
  31. package/dist/persist.js +14 -0
  32. package/dist/persist.js.map +1 -1
  33. package/dist/recovery.d.ts +263 -0
  34. package/dist/recovery.d.ts.map +1 -0
  35. package/dist/recovery.js +730 -0
  36. package/dist/recovery.js.map +1 -0
  37. package/dist/scheduler.d.ts +12 -0
  38. package/dist/scheduler.d.ts.map +1 -1
  39. package/dist/scheduler.js +53 -58
  40. package/dist/scheduler.js.map +1 -1
  41. package/dist/state.d.ts +57 -4
  42. package/dist/state.d.ts.map +1 -1
  43. package/dist/state.js +238 -8
  44. package/dist/state.js.map +1 -1
  45. package/dist/status.d.ts +16 -4
  46. package/dist/status.d.ts.map +1 -1
  47. package/dist/status.js +10 -4
  48. package/dist/status.js.map +1 -1
  49. package/dist/teardown.d.ts +57 -0
  50. package/dist/teardown.d.ts.map +1 -0
  51. package/dist/teardown.js +242 -0
  52. package/dist/teardown.js.map +1 -0
  53. package/dist/types.d.ts +155 -4
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js +39 -5
  56. package/dist/types.js.map +1 -1
  57. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,18 @@ export declare function computeAssignments(state: SchedState, config: SchedConfi
39
39
  state: SchedState;
40
40
  assignments: Assignment[];
41
41
  };
42
+ /** Free live-agent capacity: `max_slots` minus the slots holding live units (AC5). */
43
+ export declare function freeCapacity(state: SchedState, config: SchedConfig): number;
44
+ /**
45
+ * Assign `unit` to an idle slot (materializing one lazily when none is idle —
46
+ * a typed `idle → assigned` edge, never a synthetic mid-state) and return the
47
+ * new state plus the slot's id. Shared by queue refill (computeAssignments)
48
+ * and the #468 report dispatch so the slot-invariant shape exists once.
49
+ */
50
+ export declare function assignToIdleSlot(state: SchedState, unit: string, phase: string | null, now: Date): {
51
+ state: SchedState;
52
+ slotId: number;
53
+ };
42
54
  /**
43
55
  * `sched pause` / `sched resume`: toggle the paused flag. Pausing does not
44
56
  * touch live units — it only stops new assignments.
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AASvD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAEhD,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMnD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,IAAiB,EACtB,KAAK,GAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,EAAuB,GACzD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA6DlD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAAc,EACpB,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBhD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,SAAoB,EAC1B,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA+C3C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQvD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAEhD,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMnD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,IAAiB,EACtB,KAAK,GAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,EAAuB,GACzD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA+BlD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAG3E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,GAAG,EAAE,IAAI,GACR;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiCvC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAAc,EACpB,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBhD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,SAAoB,EAC1B,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB3C"}
package/dist/scheduler.js CHANGED
@@ -13,6 +13,8 @@
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.batchBlockers = exports.dependencyBlockers = exports.runnableUnits = void 0;
15
15
  exports.computeAssignments = computeAssignments;
16
+ exports.freeCapacity = freeCapacity;
17
+ exports.assignToIdleSlot = assignToIdleSlot;
16
18
  exports.setPaused = setPaused;
17
19
  exports.abandonIssue = abandonIssue;
18
20
  exports.abandonBatch = abandonBatch;
@@ -41,52 +43,67 @@ function computeAssignments(state, config, now = new Date(), kinds = ['issue', '
41
43
  if (state.paused) {
42
44
  return { state, assignments: [] };
43
45
  }
44
- const live = state.slots.filter((s) => types_1.LIVE_SLOT_STATUSES.has(s.status)).length;
45
- const freeCapacity = Math.max(0, config.max_slots - live);
46
- if (freeCapacity === 0) {
46
+ if (freeCapacity(state, config) === 0) {
47
47
  return { state, assignments: [] };
48
48
  }
49
49
  const held = new Set(state.slots.map((s) => s.unit).filter((u) => u !== null));
50
50
  const candidates = (0, readiness_1.runnableUnits)(state)
51
51
  .filter((unit) => kinds.includes(unit.kind))
52
52
  .filter((unit) => !held.has(unitId(unit)));
53
- const taken = candidates.slice(0, freeCapacity);
53
+ const taken = candidates.slice(0, freeCapacity(state, config));
54
54
  if (taken.length === 0) {
55
55
  return { state, assignments: [] };
56
56
  }
57
57
  let next = state;
58
58
  const assignments = [];
59
59
  for (const unit of taken) {
60
- let idle = next.slots.find((s) => s.status === 'idle');
61
- if (!idle) {
62
- const slot = {
63
- id: next.next_slot_id,
64
- status: 'idle',
65
- unit: null,
66
- pid: null,
67
- pid_start: null,
68
- phase: null,
69
- last_progress_at: null,
70
- branch: null,
71
- last_head: null,
72
- recoveries: 0,
73
- updated_at: now.toISOString(),
74
- };
75
- next = { ...next, slots: [...next.slots, slot], next_slot_id: next.next_slot_id + 1 };
76
- idle = slot;
77
- }
78
- next = (0, state_1.transitionSlot)(next, idle.id, 'assigned', {
79
- unit: unitId(unit),
80
- pid: null,
81
- phase: null,
82
- last_progress_at: now.toISOString(),
83
- }, now);
60
+ const assigned = assignToIdleSlot(next, unitId(unit), null, now);
61
+ next = assigned.state;
84
62
  assignments.push(unit.kind === 'issue'
85
- ? { slot: idle.id, kind: 'issue', issue: unit.issue }
86
- : { slot: idle.id, kind: 'batch', batch: unit.batch });
63
+ ? { slot: assigned.slotId, kind: 'issue', issue: unit.issue }
64
+ : { slot: assigned.slotId, kind: 'batch', batch: unit.batch });
87
65
  }
88
66
  return { state: next, assignments };
89
67
  }
68
+ /** Free live-agent capacity: `max_slots` minus the slots holding live units (AC5). */
69
+ function freeCapacity(state, config) {
70
+ const live = state.slots.filter((s) => types_1.LIVE_SLOT_STATUSES.has(s.status)).length;
71
+ return Math.max(0, config.max_slots - live);
72
+ }
73
+ /**
74
+ * Assign `unit` to an idle slot (materializing one lazily when none is idle —
75
+ * a typed `idle → assigned` edge, never a synthetic mid-state) and return the
76
+ * new state plus the slot's id. Shared by queue refill (computeAssignments)
77
+ * and the #468 report dispatch so the slot-invariant shape exists once.
78
+ */
79
+ function assignToIdleSlot(state, unit, phase, now) {
80
+ let next = state;
81
+ let idle = next.slots.find((s) => s.status === 'idle');
82
+ if (!idle) {
83
+ const slot = {
84
+ id: next.next_slot_id,
85
+ status: 'idle',
86
+ unit: null,
87
+ pid: null,
88
+ pid_start: null,
89
+ phase: null,
90
+ last_progress_at: null,
91
+ branch: null,
92
+ last_head: null,
93
+ recoveries: 0,
94
+ updated_at: now.toISOString(),
95
+ };
96
+ next = { ...next, slots: [...next.slots, slot], next_slot_id: next.next_slot_id + 1 };
97
+ idle = slot;
98
+ }
99
+ next = (0, state_1.transitionSlot)(next, idle.id, 'assigned', {
100
+ unit,
101
+ pid: null,
102
+ phase,
103
+ last_progress_at: now.toISOString(),
104
+ }, now);
105
+ return { state: next, slotId: idle.id };
106
+ }
90
107
  /**
91
108
  * `sched pause` / `sched resume`: toggle the paused flag. Pausing does not
92
109
  * touch live units — it only stops new assignments.
@@ -137,37 +154,15 @@ function abandonBatch(state, batchId, reason = 'batch abandoned', now = new Date
137
154
  }
138
155
  let next = (0, state_1.transitionBatch)(state, batchId, 'dissolving', {}, now);
139
156
  next = (0, state_1.transitionBatch)(next, batchId, 'dissolved', {}, now);
157
+ // Nothing green is discarded (F.8): terminal or already-shipped members keep
158
+ // their outcome; only active members requeue, each through the one shared
159
+ // requeue path (state.ts) that #472's eviction and dissolve also take.
140
160
  const requeued = [];
141
161
  for (const issue of batch.members) {
142
- const entry = next.entries.find((e) => e.issue === issue);
143
- if (!entry)
144
- continue;
145
- // Nothing green is discarded (F.8): terminal or already-shipped members
146
- // keep their outcome; only active members requeue.
147
- if (types_1.TERMINAL_ISSUE_STATUSES.has(entry.status) || types_1.SATISFIED_ISSUE_STATUSES.has(entry.status)) {
148
- continue;
149
- }
150
- if (entry.status === 'queued' || entry.status === 'classified') {
151
- // Never reached the batch rail — retag as full-cycle (metadata change,
152
- // not a status transition) and it stays queued as-is.
153
- next = {
154
- ...next,
155
- entries: next.entries.map((e) => e.issue === issue
156
- ? { ...e, mode: 'full', batch: null, reason, updated_at: now.toISOString() }
157
- : e),
158
- };
159
- requeued.push(issue);
160
- continue;
161
- }
162
- if (entry.status === 'evicted' || entry.status === 'requeued') {
163
- next = (0, state_1.transitionIssue)(next, issue, 'requeued', { mode: 'full', batch: null, reason }, now);
162
+ const result = (0, state_1.requeueMember)(next, issue, { mode: 'full', batch: null }, reason, now);
163
+ next = result.state;
164
+ if (result.requeued)
164
165
  requeued.push(issue);
165
- continue;
166
- }
167
- // Any other active state: force onto the failure rail (evicted → requeued{full}).
168
- next = (0, state_1.transitionIssue)(next, issue, 'evicted', { reason }, now);
169
- next = (0, state_1.transitionIssue)(next, issue, 'requeued', { mode: 'full', batch: null, reason }, now);
170
- requeued.push(issue);
171
166
  }
172
167
  return { state: next, requeued };
173
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -8,22 +8,75 @@
8
8
  * decision-pending | failed(escalation-cap)" — encoded generically for every
9
9
  * non-terminal issue status rather than repeated per row.
10
10
  */
11
- import { type BatchEntry, type BatchStatus, type IssueStatus, type QueueEntry, type SchedState, type SlotEntry, type SlotStatus } from './types';
11
+ import { type BatchEntry, type BatchStatus, type CycleMode, type FailureEvidence, type IssueStatus, type QueueEntry, type SchedState, type SlotEntry, type SlotStatus } from './types';
12
12
  /** An empty state carries no timestamps — nothing exists yet to stamp. */
13
13
  export declare function createEmptyState(): SchedState;
14
+ /**
15
+ * A fresh `forming` batch. The single place a `BatchEntry` is constructed —
16
+ * enqueue's batch creation and #472's halved dissolve both call it, so a field
17
+ * added to `BatchEntry` cannot be remembered in one and forgotten in the other.
18
+ */
19
+ export declare function createBatch(id: string, members: readonly number[], now: Date, opts?: Partial<Pick<BatchEntry, 'base_branch' | 'anchor' | 'run_id' | 'eviction_groups'>>): BatchEntry;
14
20
  /**
15
21
  * Strict validation of persisted state (mirrors pool-state's `validateState`):
16
22
  * wrong schema version or malformed shape throws instead of being coerced, so
17
23
  * a corrupt file is a loud failure, never a silent queue reset.
18
24
  *
19
- * Legacy schema versions (1.0.0, pre-#464) are accepted and migrated: slot
20
- * `branch`/`last_head` backfill to null and the state upgrades to the current
21
- * schema on the next save.
25
+ * Legacy schema versions are accepted and migrated: 1.0.0 (pre-#464) slots
26
+ * backfill `branch`/`last_head` to null; 1.1.0 (pre-#468) entries backfill
27
+ * `pr`/`cleanup` and the state backfills `last_pr_poll_at` to null; 1.2.0
28
+ * (pre-#472) entries backfill `failure_evidence` to null and batches backfill
29
+ * the recovery fields (anchor/branch/run_id/eviction_groups/evictions/
30
+ * fix_attempts/rebase_attempts). The state upgrades to the current schema on
31
+ * the next save.
22
32
  */
23
33
  export declare function validateState(data: unknown): SchedState;
24
34
  export declare function transitionIssue(state: SchedState, issue: number, to: IssueStatus, patch?: Partial<QueueEntry>, now?: Date): SchedState;
25
35
  export declare function transitionBatch(state: SchedState, batchId: string, to: BatchStatus, patch?: Partial<BatchEntry>, now?: Date): SchedState;
26
36
  export declare function transitionSlot(state: SchedState, slotId: number, to: SlotStatus, patch?: Partial<SlotEntry>, now?: Date): SchedState;
37
+ /**
38
+ * Whether a member's work is already green — terminal, or merged (§F.8
39
+ * "nothing green is discarded"). Such a member is never requeued and never
40
+ * counted as unshipped. The single definition of "green": eviction, dissolve
41
+ * and the operator abandon path all ask this question, and two answers to it
42
+ * would be two different meanings of the invariant they exist to uphold.
43
+ */
44
+ export declare function isPreservedMember(entry: QueueEntry): boolean;
45
+ /**
46
+ * Patch a batch's RECORDS and COUNTERS (evictions, fix attempts, rebase count)
47
+ * without a status change. `status` and `id` are excluded on purpose: every
48
+ * status change goes through `transitionBatch`'s typed rails, never a
49
+ * hand-written assignment.
50
+ */
51
+ export declare function patchBatch(state: SchedState, batchId: string, patch: Omit<Partial<BatchEntry>, 'id' | 'status'>, now?: Date): SchedState;
52
+ /**
53
+ * Put one batch member back on the queue, whatever batch state it was in
54
+ * (RFC-0001 §D.1 "in-work/committed → evicted(reason) → requeued", §F.8
55
+ * "nothing green is discarded").
56
+ *
57
+ * The single requeue path for `abandonBatch` (operator dissolve), eviction and
58
+ * automatic dissolve (#472), so the "which edge applies from here?" question is
59
+ * answered once:
60
+ *
61
+ * - already terminal or shipped → left alone, `requeued: false`
62
+ * - never reached the batch rail (`queued`/`classified`), or already on the
63
+ * requeue rail (`requeued`) → metadata retag only; there is no status edge to
64
+ * take, and re-transitioning `requeued → requeued` would throw
65
+ * - `evicted` → the one remaining edge, `evicted → requeued`
66
+ * - anything else active → the full failure rail, `→ evicted → requeued`
67
+ *
68
+ * `target` is where the member goes next: full-cycle (`{ mode: 'full', batch:
69
+ * null }`) or a fresh half-batch (`{ mode: 'slot', batch: '<id>-a' }`).
70
+ */
71
+ export declare function requeueMember(state: SchedState, issue: number, target: {
72
+ mode: CycleMode;
73
+ batch: string | null;
74
+ }, reason: string, now?: Date, extra?: {
75
+ failure_evidence?: FailureEvidence | null;
76
+ }): {
77
+ state: SchedState;
78
+ requeued: boolean;
79
+ };
27
80
  export declare function findEntry(state: SchedState, issue: number): QueueEntry | undefined;
28
81
  export declare function findBatch(state: SchedState, batchId: string): BatchEntry | undefined;
29
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAGf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAkGjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAS7C;AA+CD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CA6IvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAoBZ;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAiHjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAU7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC,CAAM,GAC5F,UAAU,CAkBZ;AAyID;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CA+KvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAoBZ;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,GAAG,GAAE,IAAiB,GACrB,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjD,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,IAAiB,EAKtB,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAO,GACxD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB1C;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}