@usine/orchestrator 0.2.1 → 0.3.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 (173) hide show
  1. package/README.md +151 -52
  2. package/dist/board/items.d.ts +9 -1
  3. package/dist/board/items.d.ts.map +1 -1
  4. package/dist/board/items.js +16 -4
  5. package/dist/board/items.js.map +1 -1
  6. package/dist/board/projection.d.ts +7 -1
  7. package/dist/board/projection.d.ts.map +1 -1
  8. package/dist/board/projection.js +53 -14
  9. package/dist/board/projection.js.map +1 -1
  10. package/dist/board/tasks.d.ts +14 -2
  11. package/dist/board/tasks.d.ts.map +1 -1
  12. package/dist/board/tasks.js +23 -8
  13. package/dist/board/tasks.js.map +1 -1
  14. package/dist/credentials.d.ts +5 -6
  15. package/dist/credentials.d.ts.map +1 -1
  16. package/dist/credentials.js +22 -15
  17. package/dist/credentials.js.map +1 -1
  18. package/dist/current-instance/changes.d.ts +87 -0
  19. package/dist/current-instance/changes.d.ts.map +1 -0
  20. package/dist/current-instance/changes.js +138 -0
  21. package/dist/current-instance/changes.js.map +1 -0
  22. package/dist/current-instance/current-instance.d.ts +89 -0
  23. package/dist/current-instance/current-instance.d.ts.map +1 -0
  24. package/dist/current-instance/current-instance.js +163 -0
  25. package/dist/current-instance/current-instance.js.map +1 -0
  26. package/dist/exe-dev.d.ts +6 -2
  27. package/dist/exe-dev.d.ts.map +1 -1
  28. package/dist/exe-dev.js +7 -8
  29. package/dist/exe-dev.js.map +1 -1
  30. package/dist/idle-triggers.d.ts +1 -1
  31. package/dist/idle-triggers.d.ts.map +1 -1
  32. package/dist/idle-triggers.js +1 -1
  33. package/dist/idle-triggers.js.map +1 -1
  34. package/dist/label-reconciler.d.ts +5 -2
  35. package/dist/label-reconciler.d.ts.map +1 -1
  36. package/dist/label-reconciler.js.map +1 -1
  37. package/dist/local.d.ts +4 -18
  38. package/dist/local.d.ts.map +1 -1
  39. package/dist/local.js +7 -45
  40. package/dist/local.js.map +1 -1
  41. package/dist/loop-matches.d.ts +28 -0
  42. package/dist/loop-matches.d.ts.map +1 -0
  43. package/dist/loop-matches.js +74 -0
  44. package/dist/loop-matches.js.map +1 -0
  45. package/dist/operator/attempt.d.ts +57 -10
  46. package/dist/operator/attempt.d.ts.map +1 -1
  47. package/dist/operator/attempt.js +49 -10
  48. package/dist/operator/attempt.js.map +1 -1
  49. package/dist/operator/board.d.ts +43 -16
  50. package/dist/operator/board.d.ts.map +1 -1
  51. package/dist/operator/board.js +43 -16
  52. package/dist/operator/board.js.map +1 -1
  53. package/dist/operator/configuration.d.ts +258 -0
  54. package/dist/operator/configuration.d.ts.map +1 -0
  55. package/dist/operator/configuration.js +410 -0
  56. package/dist/operator/configuration.js.map +1 -0
  57. package/dist/operator/desk.d.ts +181 -0
  58. package/dist/operator/desk.d.ts.map +1 -0
  59. package/dist/operator/desk.js +463 -0
  60. package/dist/operator/desk.js.map +1 -0
  61. package/dist/operator/github-changes.d.ts +88 -0
  62. package/dist/operator/github-changes.d.ts.map +1 -0
  63. package/dist/operator/github-changes.js +266 -0
  64. package/dist/operator/github-changes.js.map +1 -0
  65. package/dist/operator/http.d.ts +152 -57
  66. package/dist/operator/http.d.ts.map +1 -1
  67. package/dist/operator/http.js +140 -21
  68. package/dist/operator/http.js.map +1 -1
  69. package/dist/operator/need.d.ts +44 -11
  70. package/dist/operator/need.d.ts.map +1 -1
  71. package/dist/operator/need.js +46 -9
  72. package/dist/operator/need.js.map +1 -1
  73. package/dist/operator/operator.d.ts +109 -29
  74. package/dist/operator/operator.d.ts.map +1 -1
  75. package/dist/operator/operator.js +254 -52
  76. package/dist/operator/operator.js.map +1 -1
  77. package/dist/operator/overview.d.ts +7 -7
  78. package/dist/operator/overview.d.ts.map +1 -1
  79. package/dist/operator/overview.js +5 -5
  80. package/dist/operator/overview.js.map +1 -1
  81. package/dist/operator/projection.d.ts +54 -5
  82. package/dist/operator/projection.d.ts.map +1 -1
  83. package/dist/operator/projection.js +100 -9
  84. package/dist/operator/projection.js.map +1 -1
  85. package/dist/operator/run.d.ts +71 -6
  86. package/dist/operator/run.d.ts.map +1 -1
  87. package/dist/operator/run.js +69 -6
  88. package/dist/operator/run.js.map +1 -1
  89. package/dist/operator/task.d.ts +93 -0
  90. package/dist/operator/task.d.ts.map +1 -0
  91. package/dist/operator/task.js +204 -0
  92. package/dist/operator/task.js.map +1 -0
  93. package/dist/operator/transcript.d.ts +12 -12
  94. package/dist/operator/transcript.d.ts.map +1 -1
  95. package/dist/operator/transcript.js +11 -9
  96. package/dist/operator/transcript.js.map +1 -1
  97. package/dist/operator/usage.d.ts +111 -0
  98. package/dist/operator/usage.d.ts.map +1 -0
  99. package/dist/operator/usage.js +219 -0
  100. package/dist/operator/usage.js.map +1 -0
  101. package/dist/orchestrator.d.ts +8 -5
  102. package/dist/orchestrator.d.ts.map +1 -1
  103. package/dist/orchestrator.js +4 -2
  104. package/dist/orchestrator.js.map +1 -1
  105. package/dist/polling/cycle.d.ts +28 -10
  106. package/dist/polling/cycle.d.ts.map +1 -1
  107. package/dist/polling/cycle.js +20 -6
  108. package/dist/polling/cycle.js.map +1 -1
  109. package/dist/polling/evaluation-failures.d.ts +42 -0
  110. package/dist/polling/evaluation-failures.d.ts.map +1 -0
  111. package/dist/polling/evaluation-failures.js +103 -0
  112. package/dist/polling/evaluation-failures.js.map +1 -0
  113. package/dist/polling/hints.d.ts +2 -2
  114. package/dist/polling/hints.d.ts.map +1 -1
  115. package/dist/polling/hints.js +2 -2
  116. package/dist/polling/hints.js.map +1 -1
  117. package/dist/polling/loop-evaluation.d.ts +21 -11
  118. package/dist/polling/loop-evaluation.d.ts.map +1 -1
  119. package/dist/polling/loop-evaluation.js +70 -27
  120. package/dist/polling/loop-evaluation.js.map +1 -1
  121. package/dist/polling/open-issues.d.ts +23 -0
  122. package/dist/polling/open-issues.d.ts.map +1 -0
  123. package/dist/polling/open-issues.js +77 -0
  124. package/dist/polling/open-issues.js.map +1 -0
  125. package/dist/polling/polling.d.ts +20 -11
  126. package/dist/polling/polling.d.ts.map +1 -1
  127. package/dist/polling/polling.js +201 -51
  128. package/dist/polling/polling.js.map +1 -1
  129. package/dist/polling/repository-sync.d.ts +20 -14
  130. package/dist/polling/repository-sync.d.ts.map +1 -1
  131. package/dist/polling/repository-sync.js +34 -27
  132. package/dist/polling/repository-sync.js.map +1 -1
  133. package/dist/polling-triggers.d.ts +1 -1
  134. package/dist/polling-triggers.d.ts.map +1 -1
  135. package/dist/polling-triggers.js +1 -1
  136. package/dist/polling-triggers.js.map +1 -1
  137. package/dist/reloads.d.ts +14 -0
  138. package/dist/reloads.d.ts.map +1 -0
  139. package/dist/reloads.js +7 -0
  140. package/dist/reloads.js.map +1 -0
  141. package/dist/runtime.d.ts +24 -0
  142. package/dist/runtime.d.ts.map +1 -0
  143. package/dist/runtime.js +58 -0
  144. package/dist/runtime.js.map +1 -0
  145. package/dist/schedule-triggers.d.ts +14 -10
  146. package/dist/schedule-triggers.d.ts.map +1 -1
  147. package/dist/schedule-triggers.js +36 -31
  148. package/dist/schedule-triggers.js.map +1 -1
  149. package/dist/scheduler.d.ts +35 -4
  150. package/dist/scheduler.d.ts.map +1 -1
  151. package/dist/scheduler.js +327 -41
  152. package/dist/scheduler.js.map +1 -1
  153. package/dist/ssh.d.ts +39 -0
  154. package/dist/ssh.d.ts.map +1 -0
  155. package/dist/ssh.js +75 -0
  156. package/dist/ssh.js.map +1 -0
  157. package/dist/trigger-condition.d.ts +12 -0
  158. package/dist/trigger-condition.d.ts.map +1 -0
  159. package/dist/trigger-condition.js +88 -0
  160. package/dist/trigger-condition.js.map +1 -0
  161. package/dist/trigger-submission.d.ts +16 -13
  162. package/dist/trigger-submission.d.ts.map +1 -1
  163. package/dist/trigger-submission.js +19 -14
  164. package/dist/trigger-submission.js.map +1 -1
  165. package/dist/worker-engine.d.ts +10 -0
  166. package/dist/worker-engine.d.ts.map +1 -0
  167. package/dist/worker-engine.js +25 -0
  168. package/dist/worker-engine.js.map +1 -0
  169. package/dist/worker-status.d.ts +70 -0
  170. package/dist/worker-status.d.ts.map +1 -0
  171. package/dist/worker-status.js +55 -0
  172. package/dist/worker-status.js.map +1 -0
  173. package/package.json +31 -10
@@ -12,10 +12,11 @@ import { RunEngine, SubmissionResult, } from "@usine/engine/engine";
12
12
  import { LoopControl } from "@usine/engine/loop-control";
13
13
  import { ExpressionEngine } from "@usine/expression/expression-engine";
14
14
  import { Clock, Context, Cron, DateTime, Duration, Effect, Layer, Option, Ref, Result, Schema, } from "effect";
15
+ import { reloadedFrom } from "./reloads.js";
15
16
  import { configFileErrorLogFields, DEFAULT_BRANCH_REVISION, resolveTriggerLoop, submissionLogFields, triggerSubmission, } from "./trigger-submission.js";
16
- /** Fanout submits into local SQLite, so it stays small to keep write transactions from piling up. */
17
+ /** The maximum concurrent submissions, kept small to avoid piling up SQLite write transactions. */
17
18
  const FANOUT_CONCURRENCY = 4;
18
- /** How often the loop wakes when no schedule can name its next boundary. */
19
+ /** The wake interval when no schedule has a next boundary. */
19
20
  const IDLE_WAKE_MILLIS = 60_000;
20
21
  const scheduleFailureLogFields = (error) => {
21
22
  const common = { errorTag: error._tag, message: error.message };
@@ -27,14 +28,14 @@ const scheduleFailureLogFields = (error) => {
27
28
  }
28
29
  return common;
29
30
  };
30
- /** A schedule loop whose agent is no longer in the loaded roster. */
31
+ /** A schedule Loop whose Agent is no longer in the loaded roster. */
31
32
  export class ScheduleAgentFailure extends Schema.TaggedClass("@usine/orchestrator/ScheduleAgentFailure")("ScheduleAgentFailure", {
32
33
  loop: LoopName,
33
34
  agent: AgentName,
34
35
  message: Schema.String,
35
36
  }) {
36
37
  }
37
- /** A selected repository whose Tick could not be evaluated or submitted. */
38
+ /** A selected repository whose Tick couldn't be evaluated or submitted. */
38
39
  export class ScheduleTickFailure extends Schema.TaggedClass("@usine/orchestrator/ScheduleTickFailure")("ScheduleTickFailure", {
39
40
  loop: LoopName,
40
41
  repository: RepositoryName,
@@ -44,9 +45,8 @@ export class ScheduleTickFailure extends Schema.TaggedClass("@usine/orchestrator
44
45
  }) {
45
46
  }
46
47
  /**
47
- * A schedule whose cron boundaries could not be computed at this instant.
48
- * Cron.prev and Cron.next fail inside a DST spring-forward gap even for a cron
49
- * that parsed; the schedule retries next cycle and its siblings run.
48
+ * A schedule whose cron boundaries couldn't be computed at this instant. `Cron.prev` and
49
+ * `Cron.next` fail inside a DST spring-forward gap; the schedule retries next cycle.
50
50
  */
51
51
  export class ScheduleCronFailure extends Schema.TaggedClass("@usine/orchestrator/ScheduleCronFailure")("ScheduleCronFailure", {
52
52
  loop: LoopName,
@@ -84,10 +84,8 @@ const watchedSchedules = (instance) => instance.loops.flatMap((loop) => {
84
84
  ];
85
85
  });
86
86
  /**
87
- * The latest occurrence at or before `now`; Cron.prev alone excludes an exact
88
- * match. Across a DST fall-back one local time maps to two UTC instants and
89
- * both are boundaries: the payload's zone-local time tells them apart in logs
90
- * and the dedup ledger keeps each a single fact.
87
+ * Returns the latest occurrence at or before `now`, since `Cron.prev` alone excludes an exact
88
+ * match. Across a DST fall-back, both UTC instants of the repeated local time are boundaries.
91
89
  */
92
90
  const latestScheduledAt = (cron, now) => {
93
91
  const minuteBoundary = DateTime.toDateUtc(now);
@@ -126,12 +124,14 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
126
124
  const runs = yield* RunEngine;
127
125
  const loops = yield* LoopControl;
128
126
  const latestCycle = yield* Ref.make(Option.none());
129
- // Remembers fired ticks to skip repeat work. An empty map after a restart
130
- // fires the latest missed tick (ADR 0007); the dedup ledger stays the
131
- // correctness guarantee.
132
- const lastFired = yield* Ref.make(new Map());
133
- // Cron sources were validated at the config boundary, so parseUnsafe is
134
- // safe and the result is cached instead of re-parsed each cycle.
127
+ // Remembers fired Ticks to skip repeat work. After a restart or reload, the empty map fires
128
+ // the latest missed Tick (ADR 0007); the dedup ledger guarantees correctness.
129
+ const lastFired = yield* Ref.make({
130
+ instance: Option.none(),
131
+ ticks: new Map(),
132
+ });
133
+ // Cron sources were validated at the config boundary, so `parseUnsafe` is safe; results are
134
+ // cached per trigger.
135
135
  const parsedCrons = new WeakMap();
136
136
  const cronFor = (trigger) => {
137
137
  const cached = parsedCrons.get(trigger);
@@ -197,7 +197,12 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
197
197
  }
198
198
  }
199
199
  const schedules = watchedSchedules(instance).filter(({ loop }) => !paused.has(loop.name));
200
- const fired = yield* Ref.get(lastFired);
200
+ const fired = yield* Ref.modify(lastFired, (memory) => {
201
+ const current = Option.contains(memory.instance, instance)
202
+ ? memory
203
+ : { instance: Option.some(instance), ticks: new Map() };
204
+ return [current.ticks, current];
205
+ });
201
206
  const due = [];
202
207
  const agentFailures = [];
203
208
  const cronFailures = [];
@@ -210,9 +215,8 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
210
215
  loop: schedule.loop.name,
211
216
  });
212
217
  }
213
- // Cron evaluation throws inside a DST spring-forward gap even though
214
- // the expression parsed; one schedule's bad instant must not stop the
215
- // stream.
218
+ // Cron evaluation throws inside a DST spring-forward gap even for a valid expression, and
219
+ // one schedule's bad instant must not stop the others.
216
220
  const computed = yield* Effect.try({
217
221
  try: () => {
218
222
  const cron = cronFor(schedule.trigger);
@@ -327,18 +331,17 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
327
331
  message: error.message,
328
332
  }));
329
333
  }
330
- // Only loops that submitted without a failure advance the fired-tick
331
- // memory: an all-unmatched tick keeps re-evaluating so a fixed `if:`
332
- // still fires it, a failed loop retries every repository next cycle, and
333
- // the dedup ledger absorbs the submissions that already landed.
334
- yield* Ref.update(lastFired, (current) => {
335
- const next = new Map(current);
334
+ // Only Loops that submitted without a failure advance the fired-Tick memory, so unmatched
335
+ // Ticks and failed Loops are retried next cycle. The dedup ledger absorbs duplicate
336
+ // submissions.
337
+ yield* Ref.update(lastFired, (memory) => {
338
+ const next = new Map(memory.ticks);
336
339
  for (const [loop, latestEpoch] of boundariesByLoop) {
337
340
  if (submittedLoops.has(loop) && !failedLoops.has(loop)) {
338
341
  next.set(loop, latestEpoch);
339
342
  }
340
343
  }
341
- return next;
344
+ return { ...memory, ticks: next };
342
345
  });
343
346
  const cycle = new ScheduleCycle({
344
347
  loops: schedules.length,
@@ -352,9 +355,11 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
352
355
  yield* Ref.set(latestCycle, Option.some(cycle));
353
356
  return cycle;
354
357
  });
358
+ const waitForNextTick = (instances, evaluated, sleepMs) => Effect.raceFirst(Effect.sleep(Duration.millis(sleepMs)), reloadedFrom(instances, evaluated).pipe(Effect.andThen(Effect.logInfo("Instance reloaded; evaluating schedules now instead of after the sleep"))));
355
359
  // `run` never returns, so wrapping it in Effect.fn would open a span that
356
360
  // never closes; `tick` opens the span for each cycle.
357
- const run = (instance) => Effect.gen(function* () {
361
+ const run = (instances) => Effect.gen(function* () {
362
+ const instance = yield* instances.get;
358
363
  const result = yield* Effect.result(tick(instance));
359
364
  if (Result.isFailure(result)) {
360
365
  yield* Effect.logError("Schedule cycle could not read Loop runtime state; retrying", {
@@ -363,7 +368,7 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
363
368
  operation: result.failure.operation,
364
369
  sleepMs: IDLE_WAKE_MILLIS,
365
370
  });
366
- yield* Effect.sleep(Duration.millis(IDLE_WAKE_MILLIS));
371
+ yield* waitForNextTick(instances, instance, IDLE_WAKE_MILLIS);
367
372
  return;
368
373
  }
369
374
  const cycle = result.success;
@@ -393,7 +398,7 @@ export class ScheduleTriggers extends Context.Service()("@usine/orchestrator/Sch
393
398
  else {
394
399
  yield* Effect.logInfo("Schedule cycle complete", summary);
395
400
  }
396
- yield* Effect.sleep(Duration.millis(sleepMs));
401
+ yield* waitForNextTick(instances, instance, sleepMs);
397
402
  }).pipe(Effect.forever);
398
403
  return { latest: Ref.get(latestCycle), run, tick };
399
404
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-triggers.js","sourceRoot":"","sources":["../src/schedule-triggers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-triggers.js","sourceRoot":"","sources":["../src/schedule-triggers.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,46 @@
1
- import type { UsineConfig } from "@usine/config/factory";
1
+ import type { UsineConfig, Worker as ConfigWorker } from "@usine/config/factory";
2
2
  import type { BrainSpec } from "@usine/core/agent/brain";
3
+ import { WorkerName } from "@usine/core/worker";
3
4
  import { Executor, ExecutorError } from "@usine/executor";
4
5
  import { StepExecutor } from "@usine/engine/step-executor";
5
- import { Layer, Schema } from "effect";
6
+ import { GitHubApp } from "@usine/github/github-app";
7
+ import { Effect, Layer, Schema } from "effect";
8
+ import { CurrentInstance } from "./current-instance/current-instance.ts";
9
+ import { WorkerStatus } from "./worker-status.ts";
6
10
  declare const UnsupportedWorkerError_base: Schema.Class<UnsupportedWorkerError, Schema.TaggedStruct<"UnsupportedWorkerError", {
7
11
  readonly worker: Schema.brand<Schema.String, "WorkerName">;
8
12
  readonly kind: Schema.String;
9
13
  }>, import("effect/Cause").YieldableError>;
10
14
  export declare class UnsupportedWorkerError extends UnsupportedWorkerError_base {
11
15
  }
12
- /** Schedules Attempts FIFO over the configured Workers and adapts the Executor to the engine's StepExecutor port. */
13
- export declare const stepExecutorLayer: (config: UsineConfig, brains: ReadonlyArray<BrainSpec>) => Layer.Layer<StepExecutor, ExecutorError | UnsupportedWorkerError, Executor>;
16
+ /**
17
+ * The Worker set of an executor that connects only to the Workers it was given, such as the SSH
18
+ * executor.
19
+ */
20
+ export interface ExecutorWorkers {
21
+ /**
22
+ * Adds `worker` to the executor before its preflight. On failure, the reload fails with
23
+ * `ReloadPreflightError`.
24
+ */
25
+ readonly add: (worker: ConfigWorker) => Effect.Effect<void, ExecutorError>;
26
+ /**
27
+ * Removes `worker` once no Attempt runs on it: a Worker removed by a reload, or one added by a
28
+ * reload whose preflight failed.
29
+ */
30
+ readonly remove: (worker: WorkerName) => Effect.Effect<void>;
31
+ }
32
+ export interface StepExecutorOptions {
33
+ /**
34
+ * The executor's Worker set, which the scheduler updates on each reload. If omitted, the executor
35
+ * runs any Worker of its kind by name, like the local executor.
36
+ */
37
+ readonly workers?: ExecutorWorkers;
38
+ }
39
+ /**
40
+ * Schedules Attempts FIFO over the Workers and adapts the Executor to the engine's `StepExecutor`
41
+ * port. Reservations for a specific Worker go first (#177), and a removed Worker stays until its
42
+ * last Attempt ends.
43
+ */
44
+ export declare const stepExecutorLayer: (config: UsineConfig, brains: ReadonlyArray<BrainSpec>, options?: StepExecutorOptions) => Layer.Layer<StepExecutor | WorkerStatus, ExecutorError | UnsupportedWorkerError, CurrentInstance | Executor | GitHubApp>;
14
45
  export {};
15
46
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,uBAAuB,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAEL,QAAQ,EACR,aAAa,EAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAoB,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAIL,KAAK,EAKL,MAAM,EAEP,MAAM,QAAQ,CAAC;;;;;AAEhB,qBAAa,sBAAuB,SAAQ,2BAK1C;CAAG;AAsDL,qHAAqH;AACrH,eAAO,MAAM,iBAAiB,WACpB,WAAW,UACX,aAAa,CAAC,SAAS,CAAC,KAC/B,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,GAAG,sBAAsB,EAAE,QAAQ,CA4G1E,CAAC"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAmB,QAAQ,EAAE,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAoB,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAqB,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAKL,MAAM,EAEN,KAAK,EAKL,MAAM,EAIP,MAAM,QAAQ,CAAC;AAOhB,OAAO,EACL,eAAe,EAIhB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAoD,YAAY,EAAE,MAAM,oBAAoB,CAAC;;;;;AAEpG,qBAAa,sBAAuB,SAAQ,2BAK1C;CAAG;AAuIL;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3E;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAKD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WACpB,WAAW,UACX,aAAa,CAAC,SAAS,CAAC,YACvB,mBAAmB,KAC3B,KAAK,CAAC,KAAK,CACZ,YAAY,GAAG,YAAY,EAC3B,aAAa,GAAG,sBAAsB,EACtC,eAAe,GAAG,QAAQ,GAAG,SAAS,CAodrC,CAAC"}