@usine/orchestrator 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 (222) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +174 -52
  3. package/dist/board/items.d.ts +22 -3
  4. package/dist/board/items.d.ts.map +1 -1
  5. package/dist/board/items.js +44 -4
  6. package/dist/board/items.js.map +1 -1
  7. package/dist/board/projection.d.ts +8 -1
  8. package/dist/board/projection.d.ts.map +1 -1
  9. package/dist/board/projection.js +63 -14
  10. package/dist/board/projection.js.map +1 -1
  11. package/dist/board/tasks.d.ts +15 -3
  12. package/dist/board/tasks.d.ts.map +1 -1
  13. package/dist/board/tasks.js +28 -9
  14. package/dist/board/tasks.js.map +1 -1
  15. package/dist/cloudflare.d.ts +32 -0
  16. package/dist/cloudflare.d.ts.map +1 -0
  17. package/dist/cloudflare.js +68 -0
  18. package/dist/cloudflare.js.map +1 -0
  19. package/dist/credentials.d.ts +5 -6
  20. package/dist/credentials.d.ts.map +1 -1
  21. package/dist/credentials.js +22 -15
  22. package/dist/credentials.js.map +1 -1
  23. package/dist/current-instance/changes.d.ts +87 -0
  24. package/dist/current-instance/changes.d.ts.map +1 -0
  25. package/dist/current-instance/changes.js +141 -0
  26. package/dist/current-instance/changes.js.map +1 -0
  27. package/dist/current-instance/current-instance.d.ts +89 -0
  28. package/dist/current-instance/current-instance.d.ts.map +1 -0
  29. package/dist/current-instance/current-instance.js +163 -0
  30. package/dist/current-instance/current-instance.js.map +1 -0
  31. package/dist/exe-dev.d.ts +6 -2
  32. package/dist/exe-dev.d.ts.map +1 -1
  33. package/dist/exe-dev.js +10 -9
  34. package/dist/exe-dev.js.map +1 -1
  35. package/dist/http-client.d.ts +8 -0
  36. package/dist/http-client.d.ts.map +1 -0
  37. package/dist/http-client.js +8 -0
  38. package/dist/http-client.js.map +1 -0
  39. package/dist/idle-triggers.d.ts +1 -1
  40. package/dist/idle-triggers.d.ts.map +1 -1
  41. package/dist/idle-triggers.js +1 -1
  42. package/dist/idle-triggers.js.map +1 -1
  43. package/dist/label-reconciler.d.ts +5 -2
  44. package/dist/label-reconciler.d.ts.map +1 -1
  45. package/dist/label-reconciler.js.map +1 -1
  46. package/dist/lease-order.d.ts +60 -0
  47. package/dist/lease-order.d.ts.map +1 -0
  48. package/dist/lease-order.js +76 -0
  49. package/dist/lease-order.js.map +1 -0
  50. package/dist/local.d.ts +4 -18
  51. package/dist/local.d.ts.map +1 -1
  52. package/dist/local.js +9 -45
  53. package/dist/local.js.map +1 -1
  54. package/dist/loop-matches.d.ts +28 -0
  55. package/dist/loop-matches.d.ts.map +1 -0
  56. package/dist/loop-matches.js +74 -0
  57. package/dist/loop-matches.js.map +1 -0
  58. package/dist/operator/attempt.d.ts +76 -10
  59. package/dist/operator/attempt.d.ts.map +1 -1
  60. package/dist/operator/attempt.js +69 -11
  61. package/dist/operator/attempt.js.map +1 -1
  62. package/dist/operator/board.d.ts +48 -16
  63. package/dist/operator/board.d.ts.map +1 -1
  64. package/dist/operator/board.js +48 -17
  65. package/dist/operator/board.js.map +1 -1
  66. package/dist/operator/configuration.d.ts +314 -0
  67. package/dist/operator/configuration.d.ts.map +1 -0
  68. package/dist/operator/configuration.js +490 -0
  69. package/dist/operator/configuration.js.map +1 -0
  70. package/dist/operator/desk.d.ts +206 -0
  71. package/dist/operator/desk.d.ts.map +1 -0
  72. package/dist/operator/desk.js +525 -0
  73. package/dist/operator/desk.js.map +1 -0
  74. package/dist/operator/github-changes.d.ts +88 -0
  75. package/dist/operator/github-changes.d.ts.map +1 -0
  76. package/dist/operator/github-changes.js +266 -0
  77. package/dist/operator/github-changes.js.map +1 -0
  78. package/dist/operator/http.d.ts +135 -105
  79. package/dist/operator/http.d.ts.map +1 -1
  80. package/dist/operator/http.js +155 -30
  81. package/dist/operator/http.js.map +1 -1
  82. package/dist/operator/machines.d.ts +71 -0
  83. package/dist/operator/machines.d.ts.map +1 -0
  84. package/dist/operator/machines.js +103 -0
  85. package/dist/operator/machines.js.map +1 -0
  86. package/dist/operator/need.d.ts +58 -11
  87. package/dist/operator/need.d.ts.map +1 -1
  88. package/dist/operator/need.js +61 -9
  89. package/dist/operator/need.js.map +1 -1
  90. package/dist/operator/operator.d.ts +135 -29
  91. package/dist/operator/operator.d.ts.map +1 -1
  92. package/dist/operator/operator.js +370 -63
  93. package/dist/operator/operator.js.map +1 -1
  94. package/dist/operator/overview.d.ts +7 -7
  95. package/dist/operator/overview.d.ts.map +1 -1
  96. package/dist/operator/overview.js +5 -5
  97. package/dist/operator/overview.js.map +1 -1
  98. package/dist/operator/projection.d.ts +56 -5
  99. package/dist/operator/projection.d.ts.map +1 -1
  100. package/dist/operator/projection.js +108 -9
  101. package/dist/operator/projection.js.map +1 -1
  102. package/dist/operator/run.d.ts +101 -6
  103. package/dist/operator/run.d.ts.map +1 -1
  104. package/dist/operator/run.js +100 -7
  105. package/dist/operator/run.js.map +1 -1
  106. package/dist/operator/statistics/cache.d.ts +7 -0
  107. package/dist/operator/statistics/cache.d.ts.map +1 -0
  108. package/dist/operator/statistics/cache.js +40 -0
  109. package/dist/operator/statistics/cache.js.map +1 -0
  110. package/dist/operator/statistics/runs.d.ts +36 -0
  111. package/dist/operator/statistics/runs.d.ts.map +1 -0
  112. package/dist/operator/statistics/runs.js +284 -0
  113. package/dist/operator/statistics/runs.js.map +1 -0
  114. package/dist/operator/statistics/statistics.d.ts +20 -0
  115. package/dist/operator/statistics/statistics.d.ts.map +1 -0
  116. package/dist/operator/statistics/statistics.js +138 -0
  117. package/dist/operator/statistics/statistics.js.map +1 -0
  118. package/dist/operator/statistics/tasks.d.ts +30 -0
  119. package/dist/operator/statistics/tasks.d.ts.map +1 -0
  120. package/dist/operator/statistics/tasks.js +244 -0
  121. package/dist/operator/statistics/tasks.js.map +1 -0
  122. package/dist/operator/statistics/view.d.ts +302 -0
  123. package/dist/operator/statistics/view.d.ts.map +1 -0
  124. package/dist/operator/statistics/view.js +243 -0
  125. package/dist/operator/statistics/view.js.map +1 -0
  126. package/dist/operator/statistics/window.d.ts +24 -0
  127. package/dist/operator/statistics/window.d.ts.map +1 -0
  128. package/dist/operator/statistics/window.js +47 -0
  129. package/dist/operator/statistics/window.js.map +1 -0
  130. package/dist/operator/task.d.ts +94 -0
  131. package/dist/operator/task.d.ts.map +1 -0
  132. package/dist/operator/task.js +204 -0
  133. package/dist/operator/task.js.map +1 -0
  134. package/dist/operator/transcript.d.ts +12 -12
  135. package/dist/operator/transcript.d.ts.map +1 -1
  136. package/dist/operator/transcript.js +11 -9
  137. package/dist/operator/transcript.js.map +1 -1
  138. package/dist/operator/usage.d.ts +103 -0
  139. package/dist/operator/usage.d.ts.map +1 -0
  140. package/dist/operator/usage.js +234 -0
  141. package/dist/operator/usage.js.map +1 -0
  142. package/dist/orchestrator.d.ts +8 -5
  143. package/dist/orchestrator.d.ts.map +1 -1
  144. package/dist/orchestrator.js +4 -2
  145. package/dist/orchestrator.js.map +1 -1
  146. package/dist/polling/closed-item-asks.d.ts +8 -0
  147. package/dist/polling/closed-item-asks.d.ts.map +1 -0
  148. package/dist/polling/closed-item-asks.js +28 -0
  149. package/dist/polling/closed-item-asks.js.map +1 -0
  150. package/dist/polling/cycle.d.ts +28 -10
  151. package/dist/polling/cycle.d.ts.map +1 -1
  152. package/dist/polling/cycle.js +20 -6
  153. package/dist/polling/cycle.js.map +1 -1
  154. package/dist/polling/evaluation-failures.d.ts +42 -0
  155. package/dist/polling/evaluation-failures.d.ts.map +1 -0
  156. package/dist/polling/evaluation-failures.js +103 -0
  157. package/dist/polling/evaluation-failures.js.map +1 -0
  158. package/dist/polling/hints.d.ts +2 -2
  159. package/dist/polling/hints.d.ts.map +1 -1
  160. package/dist/polling/hints.js +2 -2
  161. package/dist/polling/hints.js.map +1 -1
  162. package/dist/polling/loop-evaluation.d.ts +21 -11
  163. package/dist/polling/loop-evaluation.d.ts.map +1 -1
  164. package/dist/polling/loop-evaluation.js +70 -27
  165. package/dist/polling/loop-evaluation.js.map +1 -1
  166. package/dist/polling/open-issues.d.ts +23 -0
  167. package/dist/polling/open-issues.d.ts.map +1 -0
  168. package/dist/polling/open-issues.js +77 -0
  169. package/dist/polling/open-issues.js.map +1 -0
  170. package/dist/polling/open-pull-requests.d.ts +28 -0
  171. package/dist/polling/open-pull-requests.d.ts.map +1 -0
  172. package/dist/polling/open-pull-requests.js +131 -0
  173. package/dist/polling/open-pull-requests.js.map +1 -0
  174. package/dist/polling/polling.d.ts +20 -11
  175. package/dist/polling/polling.d.ts.map +1 -1
  176. package/dist/polling/polling.js +215 -52
  177. package/dist/polling/polling.js.map +1 -1
  178. package/dist/polling/repository-sync.d.ts +21 -14
  179. package/dist/polling/repository-sync.d.ts.map +1 -1
  180. package/dist/polling/repository-sync.js +35 -28
  181. package/dist/polling/repository-sync.js.map +1 -1
  182. package/dist/polling-triggers.d.ts +1 -1
  183. package/dist/polling-triggers.d.ts.map +1 -1
  184. package/dist/polling-triggers.js +1 -1
  185. package/dist/polling-triggers.js.map +1 -1
  186. package/dist/reloads.d.ts +14 -0
  187. package/dist/reloads.d.ts.map +1 -0
  188. package/dist/reloads.js +7 -0
  189. package/dist/reloads.js.map +1 -0
  190. package/dist/runtime.d.ts +24 -0
  191. package/dist/runtime.d.ts.map +1 -0
  192. package/dist/runtime.js +58 -0
  193. package/dist/runtime.js.map +1 -0
  194. package/dist/schedule-triggers.d.ts +14 -10
  195. package/dist/schedule-triggers.d.ts.map +1 -1
  196. package/dist/schedule-triggers.js +36 -31
  197. package/dist/schedule-triggers.js.map +1 -1
  198. package/dist/scheduler.d.ts +45 -5
  199. package/dist/scheduler.d.ts.map +1 -1
  200. package/dist/scheduler.js +587 -44
  201. package/dist/scheduler.js.map +1 -1
  202. package/dist/ssh.d.ts +103 -0
  203. package/dist/ssh.d.ts.map +1 -0
  204. package/dist/ssh.js +144 -0
  205. package/dist/ssh.js.map +1 -0
  206. package/dist/trigger-condition.d.ts +12 -0
  207. package/dist/trigger-condition.d.ts.map +1 -0
  208. package/dist/trigger-condition.js +88 -0
  209. package/dist/trigger-condition.js.map +1 -0
  210. package/dist/trigger-submission.d.ts +16 -13
  211. package/dist/trigger-submission.d.ts.map +1 -1
  212. package/dist/trigger-submission.js +19 -14
  213. package/dist/trigger-submission.js.map +1 -1
  214. package/dist/worker-engine.d.ts +13 -0
  215. package/dist/worker-engine.d.ts.map +1 -0
  216. package/dist/worker-engine.js +56 -0
  217. package/dist/worker-engine.js.map +1 -0
  218. package/dist/worker-status.d.ts +140 -0
  219. package/dist/worker-status.d.ts.map +1 -0
  220. package/dist/worker-status.js +76 -0
  221. package/dist/worker-status.js.map +1 -0
  222. package/package.json +47 -22
@@ -1 +1 @@
1
- {"version":3,"file":"need.d.ts","sourceRoot":"","sources":["../../src/operator/need.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;;;;;;;AAElD,oEAAoE;AACpE,qBAAa,YAAa,SAAQ,iBAOhC;CAAG;;;;;;;;AAEL,wFAAwF;AACxF,qBAAa,cAAe,SAAQ,mBAQlC;CAAG;;;;;AAEL,8DAA8D;AAC9D,qBAAa,eAAgB,SAAQ,oBAKnC;CAAG;;;;;AAEL,yEAAyE;AACzE,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;;AAEL,gFAAgF;AAChF,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;AAEL,8DAA8D;AAC9D,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;;;AAEL,8FAA8F;AAC9F,qBAAa,eAAgB,SAAQ,oBAQpC;CAAG;AAEJ,0EAA0E;AAC1E,eAAO,MAAM,QAAQ,0MAQnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"need.d.ts","sourceRoot":"","sources":["../../src/operator/need.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;;;;;;IAU/D;;;OAGG;;;AAXL,gEAAgE;AAChE,qBAAa,YAAa,SAAQ,iBAYhC;CAAG;;;;;;;;AAEL;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAQlC;CAAG;;;;;AAEL,+DAA+D;AAC/D,qBAAa,eAAgB,SAAQ,oBAKnC;CAAG;;;;;AAEL,yEAAyE;AACzE,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;;AAEL,mDAAmD;AACnD,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;AAEL,iEAAiE;AACjE,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;;AAEL;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAMlC;CAAG;;;;;;;;AAEL;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,2BAgB3C;CAAG;;;;;;;;;AAEJ;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;;;;;;;AAEL,oFAAoF;AACpF,qBAAa,eAAgB,SAAQ,oBAQpC;CAAG;AAEJ,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,4RAWnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC"}
@@ -1,22 +1,33 @@
1
+ import { ConfigFileError } from "@usine/config/file";
2
+ import { AttemptNumber } from "@usine/core/attempt";
1
3
  import { LoopName } from "@usine/core/loop";
2
4
  import { CycleBudgetAsk } from "@usine/core/cycle-budget";
3
5
  import { RepositoryName } from "@usine/core/repository";
4
6
  import { RunId } from "@usine/core/run";
7
+ import { WorkerName } from "@usine/core/worker";
5
8
  import { Schema } from "effect";
6
9
  import { LabelPreflightFinding } from "../label-reconciler.js";
7
10
  import { RepositoryPollFailure } from "../polling-triggers.js";
8
11
  import { ScheduleFailure } from "../schedule-triggers.js";
9
12
  import { FailureView } from "./attempt.js";
10
- import { BoardProjectionError } from "./board.js";
11
- /** An operator approval is required before this Run can proceed. */
13
+ import { BoardItemLink, BoardProjectionError } from "./board.js";
14
+ /** A Run that needs operator approval before it can proceed. */
12
15
  export class ApprovalNeed extends Schema.TaggedClass("@usine/orchestrator/ApprovalNeed")("ApprovalNeed", {
13
16
  id: Schema.String,
14
17
  repository: RepositoryName,
15
18
  runId: RunId,
16
19
  loop: LoopName,
20
+ /**
21
+ * The Run's Item as its Board card shows it, or null if no card on the Board has that Item, such
22
+ * as for a schedule Run.
23
+ */
24
+ item: Schema.NullOr(BoardItemLink),
17
25
  }) {
18
26
  }
19
- /** A failed Run requires an operator decision, with its displayable failure details. */
27
+ /**
28
+ * A failed Run that needs an operator decision. After a `QuestionFailure` or `BlockedFailure`, the
29
+ * Item's next state opens no Run of the Loop (ADR 0017).
30
+ */
20
31
  export class RunFailureNeed extends Schema.TaggedClass("@usine/orchestrator/RunFailureNeed")("RunFailureNeed", {
21
32
  id: Schema.String,
22
33
  repository: RepositoryName,
@@ -25,31 +36,69 @@ export class RunFailureNeed extends Schema.TaggedClass("@usine/orchestrator/RunF
25
36
  failure: FailureView,
26
37
  }) {
27
38
  }
28
- /** Repository polling failed and needs operator attention. */
39
+ /** A repository poll failure that needs operator attention. */
29
40
  export class PollFailureNeed extends Schema.TaggedClass("@usine/orchestrator/PollFailureNeed")("PollFailureNeed", {
30
41
  id: Schema.String,
31
42
  failure: RepositoryPollFailure,
32
43
  }) {
33
44
  }
34
- /** A declared repository label could not be provisioned or confirmed. */
45
+ /** A declared repository label that couldn't be created or confirmed. */
35
46
  export class PreflightFindingNeed extends Schema.TaggedClass("@usine/orchestrator/PreflightFindingNeed")("PreflightFindingNeed", {
36
47
  id: Schema.String,
37
48
  finding: LabelPreflightFinding,
38
49
  }) {
39
50
  }
40
- /** An Item could not be displayed on its Board and needs operator attention. */
51
+ /** An Item that couldn't be shown on its Board. */
41
52
  export class BoardProjectionNeed extends Schema.TaggedClass("@usine/orchestrator/BoardProjectionNeed")("BoardProjectionNeed", {
42
53
  id: Schema.String,
43
54
  failure: BoardProjectionError,
44
55
  }) {
45
56
  }
46
- /** A scheduled Loop could not evaluate or submit its work. */
57
+ /** A schedule Loop that couldn't evaluate or submit its work. */
47
58
  export class ScheduleFailureNeed extends Schema.TaggedClass("@usine/orchestrator/ScheduleFailureNeed")("ScheduleFailureNeed", {
48
59
  id: Schema.String,
49
60
  failure: ScheduleFailure,
50
61
  }) {
51
62
  }
52
- /** An Item stopped opening Runs and requires an explicit reset of its shared cycle budget. */
63
+ /**
64
+ * An authored file that failed to load at startup and was left out: a quarantined Loop opens no
65
+ * Runs, and an invalid Agent isn't in the roster. A fix takes effect at the next `usine up`.
66
+ */
67
+ export class ConfigFileNeed extends Schema.TaggedClass("@usine/orchestrator/ConfigFileNeed")("ConfigFileNeed", {
68
+ id: Schema.String,
69
+ kind: Schema.Literals(["loop", "agent"]),
70
+ error: ConfigFileError,
71
+ }) {
72
+ }
73
+ /**
74
+ * Attempts recorded on a Worker that `usine.yaml` no longer declares, which startup doesn't
75
+ * reconcile. Discarding their leftovers fails while `running` is above 0.
76
+ */
77
+ export class UnconfiguredWorkerNeed extends Schema.TaggedClass("@usine/orchestrator/UnconfiguredWorkerNeed")("UnconfiguredWorkerNeed", Schema.Struct({
78
+ id: Schema.String,
79
+ worker: WorkerName,
80
+ /** The number of Attempts recorded on the Worker that startup would otherwise reconcile. */
81
+ attempts: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
82
+ /** The number of `attempts` with no recorded outcome yet. */
83
+ running: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
84
+ }).check(Schema.makeFilter(({ attempts, running }) => running <= attempts, {
85
+ message: "Expected no more open attempts than attempts",
86
+ }))) {
87
+ }
88
+ /**
89
+ * A closed Attempt whose parent task couldn't be confirmed stopped. It is still ending on `worker`
90
+ * and takes one of its slots until a retried stop succeeds (#475).
91
+ */
92
+ export class UnconfirmedStopNeed extends Schema.TaggedClass("@usine/orchestrator/UnconfirmedStopNeed")("UnconfirmedStopNeed", {
93
+ id: Schema.String,
94
+ repository: RepositoryName,
95
+ runId: RunId,
96
+ loop: LoopName,
97
+ attemptNumber: AttemptNumber,
98
+ worker: WorkerName,
99
+ }) {
100
+ }
101
+ /** An Item that stopped opening Runs until the operator resets its cycle budget. */
53
102
  export class CycleBudgetNeed extends Schema.TaggedClass("CycleBudgetNeed")("CycleBudgetNeed", {
54
103
  id: Schema.String,
55
104
  ask: CycleBudgetAsk,
@@ -57,7 +106,7 @@ export class CycleBudgetNeed extends Schema.TaggedClass("CycleBudgetNeed")("Cycl
57
106
  itemUrl: Schema.NullOr(Schema.String),
58
107
  }) {
59
108
  }
60
- /** One reason the factory asks for operator attention in the overview. */
109
+ /** One reason the overview asks for operator attention. */
61
110
  export const NeedView = Schema.Union([
62
111
  CycleBudgetNeed,
63
112
  ApprovalNeed,
@@ -66,5 +115,8 @@ export const NeedView = Schema.Union([
66
115
  PollFailureNeed,
67
116
  PreflightFindingNeed,
68
117
  ScheduleFailureNeed,
118
+ ConfigFileNeed,
119
+ UnconfiguredWorkerNeed,
120
+ UnconfirmedStopNeed,
69
121
  ]);
70
122
  //# sourceMappingURL=need.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"need.js","sourceRoot":"","sources":["../../src/operator/need.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,oEAAoE;AACpE,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,CAClD,kCAAkC,CACnC,CAAC,cAAc,EAAE;IAChB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,QAAQ;CACf,CAAC;CAAG;AAEL,wFAAwF;AACxF,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,CACpD,oCAAoC,CACrC,CAAC,gBAAgB,EAAE;IAClB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,WAAW;CACrB,CAAC;CAAG;AAEL,8DAA8D;AAC9D,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,CACrD,qCAAqC,CACtC,CAAC,iBAAiB,EAAE;IACnB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;CAAG;AAEL,yEAAyE;AACzE,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,CAC1D,0CAA0C,CAC3C,CAAC,sBAAsB,EAAE;IACxB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;CAAG;AAEL,gFAAgF;AAChF,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,CACzD,yCAAyC,CAC1C,CAAC,qBAAqB,EAAE;IACvB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,oBAAoB;CAC9B,CAAC;CAAG;AAEL,8DAA8D;AAC9D,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,CACzD,yCAAyC,CAC1C,CAAC,qBAAqB,EAAE;IACvB,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,OAAO,EAAE,eAAe;CACzB,CAAC;CAAG;AAEL,8FAA8F;AAC9F,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,CAAkB,iBAAiB,CAAC,CACzF,iBAAiB,EACjB;IACE,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;CACtC,CACF;CAAG;AAEJ,0EAA0E;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,mBAAmB;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"need.js","sourceRoot":"","sources":["../../src/operator/need.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
+ import { AttemptId } from "@usine/core/attempt";
1
2
  import type { LoadedInstance } from "@usine/config/instance";
2
3
  import { CycleBudgetAskId } from "@usine/core/cycle-budget";
4
+ import { BoardMoves } from "@usine/engine/board-moves";
3
5
  import { CycleBudgets, type CycleBudgetResetRejectedError } from "@usine/engine/cycle-budget";
4
6
  import { LoopName } from "@usine/core/loop";
5
7
  import { RunId } from "@usine/core/run";
6
- import { RunEngine, type EnginePersistenceError, type RunEngineError, type RunStoreError } from "@usine/engine/engine";
8
+ import type { WorkerName } from "@usine/core/worker";
9
+ import type { ItemNumber } from "@usine/core/item";
10
+ import { type RepositoryName } from "@usine/core/repository";
11
+ import { type RunAgainResult, RunEngine, type EnginePersistenceError, type LeftoversDiscardRejectedError, type RunEngineError, type RunStoreError, UnconfirmedStops } from "@usine/engine/engine";
7
12
  import { ItemProjectionReader } from "@usine/engine/item-projection";
8
13
  import { LoopControl, type LoopRuntimeState } from "@usine/engine/loop-control";
9
14
  import { RunReader } from "@usine/engine/run-reader";
@@ -16,53 +21,154 @@ import { ScheduleTriggers } from "../schedule-triggers.ts";
16
21
  import { type BoardItemNotFoundError, type BoardLaneNotFoundError, type BoardLaneReadOnlyError, type BoardMove, type BoardProjectNotFoundError } from "./board.ts";
17
22
  import { type TranscriptAttemptNotFoundError, type TranscriptRequest } from "./transcript.ts";
18
23
  import { ReadyOverview } from "./overview.ts";
19
- import { RunDetailView, EditAndRetry, SessionIntervention, RosterAgentNotFoundError } from "./run.ts";
20
- export type BoardMoveError = BoardItemNotFoundError | BoardLaneNotFoundError | BoardLaneReadOnlyError | BoardProjectNotFoundError | EnginePersistenceError | GitHubAppError;
21
- export type OperatorError = RosterAgentNotFoundError | RunEngineError | TranscriptAttemptNotFoundError | BoardMoveError | CycleBudgetResetRejectedError;
24
+ import { RunDetailView, EditAndRetry, LoopNotFoundError, SessionIntervention, RosterAgentNotFoundError } from "./run.ts";
25
+ import { type RunGitHubChangesError, type RunGitHubChangesView } from "./github-changes.ts";
26
+ import { type TaskReadError, type TaskView } from "./task.ts";
27
+ import { type DeskView } from "./desk.ts";
28
+ import type { RunStatisticsView, StatisticsView, StatisticsWindow } from "./statistics/view.ts";
29
+ import { WorkerStatus } from "../worker-status.ts";
30
+ export type BoardMoveError = BoardItemNotFoundError | BoardLaneNotFoundError | BoardLaneReadOnlyError | BoardProjectNotFoundError | EnginePersistenceError | RunStoreError | GitHubAppError;
31
+ export type OperatorError = LoopNotFoundError | RosterAgentNotFoundError | RunEngineError | LeftoversDiscardRejectedError | TranscriptAttemptNotFoundError | BoardMoveError | CycleBudgetResetRejectedError | RunGitHubChangesError;
22
32
  export type OperatorObservationError = RunStoreError | TranscriptAttemptNotFoundError;
23
33
  declare const OperatorObservation_base: Context.ServiceClass<OperatorObservation, "@usine/orchestrator/OperatorObservation", {
24
- /** Builds the supplied instance's Projects, Boards, Runs, and items needing operator attention. */
34
+ /**
35
+ * Builds the instance's Projects, Boards, Runs, and items needing operator attention. The
36
+ * result is cached until the projection revision or instance changes, except for running
37
+ * Attempts' token usage.
38
+ */
25
39
  readonly overview: (instance: LoadedInstance) => Effect.Effect<ReadyOverview, OperatorObservationError>;
26
- /** Reads one Run and a bounded transcript page; `request` selects the latest, newer, or earlier activity. */
27
- readonly detail: (runId: RunId, request?: TranscriptRequest) => Effect.Effect<RunDetailView, OperatorObservationError>;
40
+ /**
41
+ * Reads one Run and a bounded transcript page, where `request` selects the latest, newer, or
42
+ * earlier activity.
43
+ */
44
+ readonly detail: (instance: LoadedInstance, runId: RunId, request?: TranscriptRequest) => Effect.Effect<RunDetailView, OperatorObservationError>;
45
+ /**
46
+ * Reads the Task that contains Item `item` of `repository`, with its Items, saved Runs, and
47
+ * harvested comments. Fails if the Item isn't among the Board's newest Items.
48
+ */
49
+ readonly task: (instance: LoadedInstance, repository: RepositoryName, item: ItemNumber) => Effect.Effect<TaskView, TaskReadError>;
50
+ /**
51
+ * Builds the instance's desk: running Attempts, matched Items with no running Attempt, recently
52
+ * closed Runs, Worker slots and preflights, and poll times.
53
+ */
54
+ readonly desk: (instance: LoadedInstance) => Effect.Effect<DeskView, OperatorObservationError>;
55
+ /**
56
+ * Computes the tasks done in `window`: their count and duration from first Run to merge, the
57
+ * split of that time and of their tokens by Loop, the first-time-right share, and the operator
58
+ * actions per task.
59
+ */
60
+ readonly statistics: (instance: LoadedInstance, window: StatisticsWindow) => Effect.Effect<StatisticsView, OperatorObservationError>;
61
+ /**
62
+ * Computes how the Runs went in `window`: closed Runs by outcome, Loop, Agent, and brain, with
63
+ * time, tokens, and cost, and the throughput, Worker, retry, and Needs attention measures.
64
+ */
65
+ readonly runStatistics: (instance: LoadedInstance, window: StatisticsWindow) => Effect.Effect<RunStatisticsView, OperatorObservationError>;
28
66
  }>;
29
- /** The read-only operator surface. It needs no trigger execution to build. */
67
+ /** The read-only operator surface, which needs no trigger execution. */
30
68
  export declare class OperatorObservation extends OperatorObservation_base {
31
- static readonly layer: Layer.Layer<OperatorObservation, never, CycleBudgets | ItemProjectionReader | LoopControl | PollingTriggers | RepositoryLabelProjectionReader | RunReader | ScheduleTriggers>;
69
+ static readonly layer: Layer.Layer<OperatorObservation, never, CycleBudgets | import("@usine/expression/expression-engine").ExpressionEngine | ItemProjectionReader | LoopControl | PollingTriggers | RepositoryLabelProjectionReader | RunReader | ScheduleTriggers | UnconfirmedStops | WorkerStatus>;
32
70
  }
33
71
  declare const Operator_base: Context.ServiceClass<Operator, "@usine/orchestrator/Operator", {
34
- /** Builds the supplied instance's Projects, Boards, Runs, and items needing operator attention. */
72
+ /**
73
+ * Builds the instance's Projects, Boards, Runs, and items needing operator attention. The
74
+ * result is cached until the projection revision or instance changes, except for running
75
+ * Attempts' token usage.
76
+ */
35
77
  readonly overview: (instance: LoadedInstance) => Effect.Effect<ReadyOverview, OperatorObservationError>;
36
- /** Reads one Run and a bounded transcript page; `request` selects the latest, newer, or earlier activity. */
37
- readonly detail: (runId: RunId, request?: TranscriptRequest) => Effect.Effect<RunDetailView, OperatorObservationError>;
78
+ /**
79
+ * Reads one Run and a bounded transcript page, where `request` selects the latest, newer, or
80
+ * earlier activity.
81
+ */
82
+ readonly detail: (instance: LoadedInstance, runId: RunId, request?: TranscriptRequest) => Effect.Effect<RunDetailView, OperatorObservationError>;
83
+ /**
84
+ * Reads the Task that contains Item `item` of `repository`, with its Items, saved Runs, and
85
+ * harvested comments. Fails if the Item isn't among the Board's newest Items.
86
+ */
87
+ readonly task: (instance: LoadedInstance, repository: RepositoryName, item: ItemNumber) => Effect.Effect<TaskView, TaskReadError>;
88
+ /**
89
+ * Builds the instance's desk: running Attempts, matched Items with no running Attempt, recently
90
+ * closed Runs, Worker slots and preflights, and poll times.
91
+ */
92
+ readonly desk: (instance: LoadedInstance) => Effect.Effect<DeskView, OperatorObservationError>;
93
+ /**
94
+ * Computes the tasks done in `window`: their count and duration from first Run to merge, the
95
+ * split of that time and of their tokens by Loop, the first-time-right share, and the operator
96
+ * actions per task.
97
+ */
98
+ readonly statistics: (instance: LoadedInstance, window: StatisticsWindow) => Effect.Effect<StatisticsView, OperatorObservationError>;
99
+ /**
100
+ * Computes how the Runs went in `window`: closed Runs by outcome, Loop, Agent, and brain, with
101
+ * time, tokens, and cost, and the throughput, Worker, retry, and Needs attention measures.
102
+ */
103
+ readonly runStatistics: (instance: LoadedInstance, window: StatisticsWindow) => Effect.Effect<RunStatisticsView, OperatorObservationError>;
38
104
  } & {
39
- /** Answers the Item's current cycle Ask; polling refreshes its state before more Runs open. */
105
+ /**
106
+ * Answers the Item's current cycle-budget Ask. Polling refreshes its state before more Runs
107
+ * open.
108
+ */
40
109
  readonly resetCycleBudget: (askId: CycleBudgetAskId) => Effect.Effect<void, OperatorError>;
41
- /** Records approval for a waiting Run; execution still waits for Worker capacity. */
42
- readonly approve: (runId: RunId) => Effect.Effect<void, OperatorError>;
43
- /** Requests a new Attempt for a failed Run using its effective task and Agent. */
44
- readonly retry: (runId: RunId) => Effect.Effect<void, OperatorError>;
45
- /** Atomically amends a failed Run before requesting its next Attempt. */
110
+ /**
111
+ * Records the operator's approval of a waiting Run, attributed to the operator login in
112
+ * `usine.yaml` if one is set. Execution still waits for Worker capacity.
113
+ */
114
+ readonly approve: (instance: LoadedInstance, runId: RunId) => Effect.Effect<void, OperatorError>;
115
+ /** Resolves attention for the displayed failed Attempt. Rejects stale requests. */
116
+ readonly resolveFailure: (instance: LoadedInstance, runId: RunId, attemptId: AttemptId) => Effect.Effect<void, OperatorError>;
117
+ /** Requests a new Attempt for a failed Run with its effective task and Agent. */
118
+ readonly retry: (instance: LoadedInstance, runId: RunId) => Effect.Effect<void, OperatorError>;
119
+ /** Amends a failed Run and requests its next Attempt atomically. */
46
120
  readonly editAndRetry: (instance: LoadedInstance, runId: RunId, edit: EditAndRetry) => Effect.Effect<void, OperatorError>;
47
- /** Delivers an attributed action through a live session's Attempt channel. */
121
+ /**
122
+ * Opens a new Run for the Item state of a succeeded or canceled Run, with the edited task and
123
+ * Agent and the Loop file's current settings. Returns the new Run, or the cycle-budget Ask that
124
+ * the Item opened instead.
125
+ */
126
+ readonly runAgain: (instance: LoadedInstance, runId: RunId, edit: EditAndRetry) => Effect.Effect<RunAgainResult, OperatorError>;
127
+ /** Sends an attributed action through a live session's Attempt channel. */
48
128
  readonly intervene: (instance: LoadedInstance, runId: RunId, input: SessionIntervention) => Effect.Effect<void, OperatorError>;
49
- /** Cancels an open Run and interrupts its current Attempt; an already closed Run is unchanged. */
129
+ /**
130
+ * Cancels an open Run and interrupts its current Attempt. Does nothing if the Run is already
131
+ * closed.
132
+ */
50
133
  readonly cancel: (runId: RunId) => Effect.Effect<void, OperatorError>;
51
- /** Swaps lane labels on GitHub and hints an authoritative refresh of its Board position and Loop matches. */
134
+ /**
135
+ * Answers an `UnconfiguredWorkerNeed` so startup stops reconciling the Attempts recorded on
136
+ * `worker`. Fails with `LeftoversDiscardRejectedError` if `usine.yaml` declares the Worker or
137
+ * it still runs Attempts.
138
+ */
139
+ readonly discardLeftovers: (worker: WorkerName) => Effect.Effect<void, OperatorError>;
140
+ /**
141
+ * Records the move, swaps lane labels on GitHub, and hints a refresh of the Item's Board
142
+ * position and Loop matches. If the move can't be recorded, nothing is sent to GitHub.
143
+ */
52
144
  readonly moveBoardItem: (instance: LoadedInstance, move: BoardMove) => Effect.Effect<void, BoardMoveError>;
53
- /** Pauses new work for a Loop while its existing Runs continue. */
145
+ /**
146
+ * Reads the changes on the Run's GitHub Item during each Attempt from the Item's timeline: the
147
+ * Agent's label, comment, and review changes, and the operator's Board moves.
148
+ */
149
+ readonly githubChanges: (runId: RunId) => Effect.Effect<RunGitHubChangesView, RunGitHubChangesError>;
150
+ /** Pauses new work for a Loop; its existing Runs continue. */
54
151
  readonly pause: (loop: LoopName) => Effect.Effect<LoopRuntimeState, EnginePersistenceError>;
55
- /** Allows the Loop's triggers to open new Runs again. */
152
+ /** Lets the Loop's triggers open new Runs again. */
56
153
  readonly unpause: (loop: LoopName) => Effect.Effect<LoopRuntimeState, EnginePersistenceError>;
57
154
  }>;
58
- /** The operator's view of the factory and actions for approving, retrying, canceling, and directing work. */
155
+ /**
156
+ * The operator's factory view and actions for approving, retrying, canceling, and directing work.
157
+ */
59
158
  export declare class Operator extends Operator_base {
60
- static readonly layer: Layer.Layer<Operator, never, CycleBudgets | GitHubItemWriter | ItemProjectionReader | LoopControl | PollingTriggers | RepositoryLabelProjectionReader | RunEngine | RunReader | ScheduleTriggers>;
159
+ static readonly layer: Layer.Layer<Operator, never, BoardMoves | CycleBudgets | import("@usine/expression/expression-engine").ExpressionEngine | import("@usine/github/item-history").GitHubItemHistory | GitHubItemWriter | ItemProjectionReader | LoopControl | PollingTriggers | RepositoryLabelProjectionReader | RunEngine | RunReader | ScheduleTriggers | UnconfirmedStops | WorkerStatus>;
61
160
  }
62
161
  export { ProjectStatus, ProjectView, LoopView, ReadyOverview, NeedsSetupOverview, FactoryOverview, } from "./overview.ts";
63
- export { RunStateTag, RunView, RunDetailView, EditAndRetry, SessionIntervention, RosterAgentNotFoundError, } from "./run.ts";
64
- export { InfraFailureView, DefectFailureView, AgentFailureView, RunawayFailureView, ChildSessionBudgetFailureView, FailureView, SucceededAttemptView, FailedAttemptView, CanceledAttemptView, AttemptOutcomeView, AttemptView, } from "./attempt.ts";
65
- export { BoardLaneId, BoardLaneOrigin, BoardItemLink, BoardTaskView, WritableBoardLaneView, ReadOnlyBoardLaneView, BoardLaneView, BoardProjectionError, BoardView, LabelView, BoardMove, BoardProjectNotFoundError, BoardItemNotFoundError, BoardLaneNotFoundError, BoardLaneReadOnlyError, } from "./board.ts";
66
- export { ApprovalNeed, CycleBudgetNeed, RunFailureNeed, PollFailureNeed, PreflightFindingNeed, BoardProjectionNeed, ScheduleFailureNeed, NeedView, } from "./need.ts";
162
+ export { LabelAddedView, LabelRemovedView, CommentedView, ReviewedView, BoardMovedView, GitHubChangeView, AttemptGitHubChangesView, RunGitHubChangesView, } from "./github-changes.ts";
163
+ export { ApprovalView, RunStateTag, RunView, RunDurationView, RunDetailView, UnconfirmedStopView, EditAndRetry, LoopNotFoundError, SessionIntervention, RosterAgentNotFoundError, } from "./run.ts";
164
+ export { UsageCostView, SessionUsageView, PoolUsageView, RunUsageView, TaskPoolUsageView, TaskUsageView, } from "./usage.ts";
165
+ export { InfraFailureView, DefectFailureView, AgentFailureView, BlockedFailureView, QuestionFailureView, RunawayFailureView, ChildSessionBudgetFailureView, FailureView, SucceededAttemptView, FailedAttemptView, CanceledAttemptView, AttemptOutcomeView, LocalWorkerAccess, SshWorkerAccess, ProvisionedWorkerAccess, SandboxWorkerAccess, WorkerAccess, AttemptView, } from "./attempt.ts";
166
+ export { MachineView, ProvisioningPauseView, HetznerProvisionerView, BoatProvisionerView, ProvisionerView, } from "./machines.ts";
167
+ export { BoardLaneId, BoardLaneOrigin, BoardItemLink, BoardPullRequestView, BoardTaskView, WritableBoardLaneView, ReadOnlyBoardLaneView, BoardLaneView, BoardProjectionError, BoardView, LabelView, BoardMove, BoardProjectNotFoundError, BoardItemNotFoundError, BoardLaneNotFoundError, BoardLaneReadOnlyError, } from "./board.ts";
168
+ export { TaskItemView, TaskLaneView, TaskCommentView, TaskView, type TaskReadError, } from "./task.ts";
169
+ export { ApprovalNeed, CycleBudgetNeed, RunFailureNeed, PollFailureNeed, PreflightFindingNeed, BoardProjectionNeed, ScheduleFailureNeed, ConfigFileNeed, UnconfiguredWorkerNeed, UnconfirmedStopNeed, NeedView, } from "./need.ts";
170
+ export { LoopSelectorView, LoopFileView, QuarantinedLoopView, AgentFileView, InvalidAgentView, GatewayView, WorkerSlotsView, PassedCheckView, DegradedCheckView, DeferredCheckView, FailedCheckView, PreflightCheckView, ContainerView, HarnessPreflightView, WorkerConfigurationView, RemovedWorkerView, LabelStateView, LabelLaneSourceView, StateLaneSourceView, LaneSourceView, LaneConfigurationView, RepositoryConfigurationView, SettingsView, ConfigurationView, OperatorConfiguration, } from "./configuration.ts";
171
+ export { WorkerSilentView, ProviderRetryingView, ConnectivityWarningView, RunningAttemptView, SuppressedForOperatorView, ClosedUnchangedView, RunFailedView, LoopPausedView, WaitingForStopView, CycleBudgetUsedUpView, AwaitingApprovalView, QueuedForWorkerView, AwaitingPollView, StallReasonView, StalledItemView, ClosedRunView, WorkerView, RepositoryPollView, DeskView, } from "./desk.ts";
172
+ export { StatisticsWindow, StatisticsBucket, TaskDoneView, TaskPeriodView, LoopShareView, LoopRunTimeView, TaskTimeView, TaskCostView, TaskTokensView, UntimedTasksView, StatisticsView, DurationSummaryView, OutcomeCountsView, PoolTokensView, CostSummaryView, UsageSummaryView, LoopStatisticsView, AgentStatisticsView, BrainStatisticsView, ThroughputPeriodView, WorkerQueueWaitView, AttemptCountView, WorkerUtilizationView, NeedsAttentionPeriodView, NeedsAttentionView, RunStatisticsView, } from "./statistics/view.ts";
67
173
  export { FailedTranscriptView, TranscriptPayload, TranscriptEventView, TranscriptPageCursor, ColdTranscriptRequest, TailTranscriptRequest, EarlierTranscriptRequest, TranscriptRequest, TranscriptAttemptNotFoundError, } from "./transcript.ts";
68
174
  //# sourceMappingURL=operator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../src/operator/operator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../../src/operator/operator.ts"],"names":[],"mappings":"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"}