@usine/engine 0.1.0 → 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 (156) hide show
  1. package/README.md +39 -12
  2. package/dist/cursor/{store.d.ts → cursor.d.ts} +9 -7
  3. package/dist/cursor/cursor.d.ts.map +1 -0
  4. package/dist/cursor/{store.js → cursor.js} +8 -7
  5. package/dist/cursor/cursor.js.map +1 -0
  6. package/dist/cycle-budget/cycle-budget.d.ts +25 -0
  7. package/dist/cycle-budget/cycle-budget.d.ts.map +1 -0
  8. package/dist/cycle-budget/cycle-budget.js +117 -0
  9. package/dist/cycle-budget/cycle-budget.js.map +1 -0
  10. package/dist/cycle-budget/model.d.ts +26 -0
  11. package/dist/cycle-budget/model.d.ts.map +1 -0
  12. package/dist/cycle-budget/model.js +20 -0
  13. package/dist/cycle-budget/model.js.map +1 -0
  14. package/dist/cycle-budget/queries.d.ts +27 -0
  15. package/dist/cycle-budget/queries.d.ts.map +1 -0
  16. package/dist/cycle-budget/queries.js +175 -0
  17. package/dist/cycle-budget/queries.js.map +1 -0
  18. package/dist/database/database.d.ts +1 -1
  19. package/dist/database/database.d.ts.map +1 -1
  20. package/dist/database/local-sqlite.d.ts +32 -12
  21. package/dist/database/local-sqlite.d.ts.map +1 -1
  22. package/dist/database/local-sqlite.js +121 -16
  23. package/dist/database/local-sqlite.js.map +1 -1
  24. package/dist/database/schema.d.ts +302 -9
  25. package/dist/database/schema.d.ts.map +1 -1
  26. package/dist/database/schema.js +69 -12
  27. package/dist/database/schema.js.map +1 -1
  28. package/dist/engine/engine.d.ts +59 -0
  29. package/dist/engine/engine.d.ts.map +1 -0
  30. package/dist/{engine.js → engine/engine.js} +80 -32
  31. package/dist/engine/engine.js.map +1 -0
  32. package/dist/engine/error.d.ts +45 -0
  33. package/dist/engine/error.d.ts.map +1 -0
  34. package/dist/engine/error.js +49 -0
  35. package/dist/engine/error.js.map +1 -0
  36. package/dist/engine/lifecycle.d.ts +112 -0
  37. package/dist/engine/lifecycle.d.ts.map +1 -0
  38. package/dist/engine/lifecycle.js +132 -0
  39. package/dist/engine/lifecycle.js.map +1 -0
  40. package/dist/engine/shutdown.d.ts +12 -0
  41. package/dist/engine/shutdown.d.ts.map +1 -0
  42. package/dist/engine/shutdown.js +10 -0
  43. package/dist/engine/shutdown.js.map +1 -0
  44. package/dist/engine/submission.d.ts +58 -0
  45. package/dist/engine/submission.d.ts.map +1 -0
  46. package/dist/engine/submission.js +54 -0
  47. package/dist/engine/submission.js.map +1 -0
  48. package/dist/item-projection/{service.d.ts → item-projection.d.ts} +6 -6
  49. package/dist/item-projection/item-projection.d.ts.map +1 -0
  50. package/dist/item-projection/{service.js → item-projection.js} +7 -5
  51. package/dist/item-projection/item-projection.js.map +1 -0
  52. package/dist/item-projection/model.d.ts +2 -5
  53. package/dist/item-projection/model.d.ts.map +1 -1
  54. package/dist/item-projection/model.js +5 -5
  55. package/dist/item-projection/model.js.map +1 -1
  56. package/dist/loop-control/loop-control.d.ts +21 -0
  57. package/dist/loop-control/loop-control.d.ts.map +1 -0
  58. package/dist/{loop-control.js → loop-control/loop-control.js} +7 -5
  59. package/dist/loop-control/loop-control.js.map +1 -0
  60. package/dist/loop-control/model.d.ts +10 -0
  61. package/dist/loop-control/model.d.ts.map +1 -0
  62. package/dist/loop-control/model.js +9 -0
  63. package/dist/loop-control/model.js.map +1 -0
  64. package/dist/repository-label-projection/model.d.ts +12 -3
  65. package/dist/repository-label-projection/model.d.ts.map +1 -1
  66. package/dist/repository-label-projection/model.js +14 -5
  67. package/dist/repository-label-projection/model.js.map +1 -1
  68. package/dist/repository-label-projection/{service.d.ts → repository-label-projection.d.ts} +5 -5
  69. package/dist/repository-label-projection/repository-label-projection.d.ts.map +1 -0
  70. package/dist/repository-label-projection/{service.js → repository-label-projection.js} +17 -7
  71. package/dist/repository-label-projection/repository-label-projection.js.map +1 -0
  72. package/dist/run-reader/model.d.ts +46 -0
  73. package/dist/run-reader/model.d.ts.map +1 -0
  74. package/dist/run-reader/model.js +44 -0
  75. package/dist/run-reader/model.js.map +1 -0
  76. package/dist/run-reader/run-reader.d.ts +29 -0
  77. package/dist/run-reader/run-reader.d.ts.map +1 -0
  78. package/dist/run-reader/run-reader.js +44 -0
  79. package/dist/run-reader/run-reader.js.map +1 -0
  80. package/dist/step-executor.d.ts +36 -12
  81. package/dist/step-executor.d.ts.map +1 -1
  82. package/dist/step-executor.js +22 -5
  83. package/dist/step-executor.js.map +1 -1
  84. package/dist/store/codec.d.ts +278 -40
  85. package/dist/store/codec.d.ts.map +1 -1
  86. package/dist/store/codec.js +72 -44
  87. package/dist/store/codec.js.map +1 -1
  88. package/dist/store/queries.d.ts +49 -16
  89. package/dist/store/queries.d.ts.map +1 -1
  90. package/dist/store/queries.js +104 -91
  91. package/dist/store/queries.js.map +1 -1
  92. package/dist/store/store.d.ts +44 -26
  93. package/dist/store/store.d.ts.map +1 -1
  94. package/dist/store/store.js +199 -128
  95. package/dist/store/store.js.map +1 -1
  96. package/dist/store/transcript.d.ts +9 -0
  97. package/dist/store/transcript.d.ts.map +1 -0
  98. package/dist/store/transcript.js +71 -0
  99. package/dist/store/transcript.js.map +1 -0
  100. package/dist/transcript.d.ts +86 -0
  101. package/dist/transcript.d.ts.map +1 -0
  102. package/dist/transcript.js +77 -0
  103. package/dist/transcript.js.map +1 -0
  104. package/dist/workflow/admission.d.ts +13 -0
  105. package/dist/workflow/admission.d.ts.map +1 -0
  106. package/dist/workflow/admission.js +55 -0
  107. package/dist/workflow/admission.js.map +1 -0
  108. package/dist/workflow/command.d.ts +13 -0
  109. package/dist/workflow/command.d.ts.map +1 -0
  110. package/dist/workflow/command.js +17 -0
  111. package/dist/workflow/command.js.map +1 -0
  112. package/dist/workflow/workflow.d.ts +18 -0
  113. package/dist/workflow/workflow.d.ts.map +1 -0
  114. package/dist/workflow/workflow.js +108 -0
  115. package/dist/workflow/workflow.js.map +1 -0
  116. package/drizzle/20260903091940_queued_approved_runs/migration.sql +3 -0
  117. package/drizzle/20260903091940_queued_approved_runs/snapshot.json +1147 -0
  118. package/drizzle/20260905150403_item_cycle_budgets/migration.sql +58 -0
  119. package/drizzle/20260905150403_item_cycle_budgets/snapshot.json +1417 -0
  120. package/drizzle/20260905174009_item_run_history/migration.sql +1 -0
  121. package/drizzle/20260905174009_item_run_history/snapshot.json +1431 -0
  122. package/drizzle/20260912111855_operator_intervention/migration.sql +42 -0
  123. package/drizzle/20260912111855_operator_intervention/snapshot.json +1461 -0
  124. package/package.json +41 -5
  125. package/dist/cursor/model.d.ts +0 -5
  126. package/dist/cursor/model.d.ts.map +0 -1
  127. package/dist/cursor/model.js +0 -4
  128. package/dist/cursor/model.js.map +0 -1
  129. package/dist/cursor/store.d.ts.map +0 -1
  130. package/dist/cursor/store.js.map +0 -1
  131. package/dist/engine.d.ts +0 -39
  132. package/dist/engine.d.ts.map +0 -1
  133. package/dist/engine.js.map +0 -1
  134. package/dist/index.d.ts +0 -20
  135. package/dist/index.d.ts.map +0 -1
  136. package/dist/index.js +0 -20
  137. package/dist/index.js.map +0 -1
  138. package/dist/item-projection/service.d.ts.map +0 -1
  139. package/dist/item-projection/service.js.map +0 -1
  140. package/dist/loop-control.d.ts +0 -16
  141. package/dist/loop-control.d.ts.map +0 -1
  142. package/dist/loop-control.js.map +0 -1
  143. package/dist/model.d.ts +0 -185
  144. package/dist/model.d.ts.map +0 -1
  145. package/dist/model.js +0 -174
  146. package/dist/model.js.map +0 -1
  147. package/dist/repository-label-projection/service.d.ts.map +0 -1
  148. package/dist/repository-label-projection/service.js.map +0 -1
  149. package/dist/run-reader.d.ts +0 -20
  150. package/dist/run-reader.d.ts.map +0 -1
  151. package/dist/run-reader.js +0 -19
  152. package/dist/run-reader.js.map +0 -1
  153. package/dist/workflow.d.ts +0 -14
  154. package/dist/workflow.d.ts.map +0 -1
  155. package/dist/workflow.js +0 -105
  156. package/dist/workflow.js.map +0 -1
@@ -153,11 +153,43 @@ export declare const triggerEvents: import("drizzle-orm/sqlite-core").SQLiteTabl
153
153
  identity: undefined;
154
154
  generated: undefined;
155
155
  }, {}>;
156
+ cycleLimit: import("drizzle-orm/sqlite-core").SQLiteColumn<{
157
+ name: string;
158
+ tableName: "usine_trigger_events";
159
+ dataType: "number int53";
160
+ data: number & import("effect/Brand").Brand<"CycleLimit">;
161
+ driverParam: number;
162
+ notNull: false;
163
+ hasDefault: false;
164
+ isPrimaryKey: false;
165
+ isAutoincrement: false;
166
+ hasRuntimeDefault: false;
167
+ enumValues: undefined;
168
+ baseColumn: never;
169
+ identity: undefined;
170
+ generated: undefined;
171
+ }, {}>;
172
+ cycleGeneration: import("drizzle-orm/sqlite-core").SQLiteColumn<{
173
+ name: string;
174
+ tableName: "usine_trigger_events";
175
+ dataType: "number int53";
176
+ data: number;
177
+ driverParam: number;
178
+ notNull: true;
179
+ hasDefault: true;
180
+ isPrimaryKey: false;
181
+ isAutoincrement: false;
182
+ hasRuntimeDefault: false;
183
+ enumValues: undefined;
184
+ baseColumn: never;
185
+ identity: undefined;
186
+ generated: undefined;
187
+ }, {}>;
156
188
  repository: import("drizzle-orm/sqlite-core").SQLiteColumn<{
157
189
  name: string;
158
190
  tableName: "usine_trigger_events";
159
191
  dataType: "string";
160
- data: string & import("effect/Brand").Brand<"RepoName">;
192
+ data: string & import("effect/Brand").Brand<"RepositoryName">;
161
193
  driverParam: string;
162
194
  notNull: true;
163
195
  hasDefault: false;
@@ -236,6 +268,219 @@ export declare const triggerEvents: import("drizzle-orm/sqlite-core").SQLiteTabl
236
268
  };
237
269
  dialect: 'sqlite';
238
270
  }>;
271
+ export declare const itemCycleBudgets: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
272
+ name: "usine_item_cycle_budgets";
273
+ schema: undefined;
274
+ columns: {
275
+ itemKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
276
+ name: string;
277
+ tableName: "usine_item_cycle_budgets";
278
+ dataType: "string";
279
+ data: string & import("effect/Brand").Brand<"ItemKey">;
280
+ driverParam: string;
281
+ notNull: true;
282
+ hasDefault: false;
283
+ isPrimaryKey: true;
284
+ isAutoincrement: false;
285
+ hasRuntimeDefault: false;
286
+ enumValues: [string, ...string[]];
287
+ baseColumn: never;
288
+ identity: undefined;
289
+ generated: undefined;
290
+ }, {}>;
291
+ repository: import("drizzle-orm/sqlite-core").SQLiteColumn<{
292
+ name: string;
293
+ tableName: "usine_item_cycle_budgets";
294
+ dataType: "string";
295
+ data: string & import("effect/Brand").Brand<"RepositoryName">;
296
+ driverParam: string;
297
+ notNull: true;
298
+ hasDefault: false;
299
+ isPrimaryKey: false;
300
+ isAutoincrement: false;
301
+ hasRuntimeDefault: false;
302
+ enumValues: [string, ...string[]];
303
+ baseColumn: never;
304
+ identity: undefined;
305
+ generated: undefined;
306
+ }, {}>;
307
+ generation: import("drizzle-orm/sqlite-core").SQLiteColumn<{
308
+ name: string;
309
+ tableName: "usine_item_cycle_budgets";
310
+ dataType: "number int53";
311
+ data: number;
312
+ driverParam: number;
313
+ notNull: true;
314
+ hasDefault: true;
315
+ isPrimaryKey: false;
316
+ isAutoincrement: false;
317
+ hasRuntimeDefault: false;
318
+ enumValues: undefined;
319
+ baseColumn: never;
320
+ identity: undefined;
321
+ generated: undefined;
322
+ }, {}>;
323
+ askJson: import("drizzle-orm/sqlite-core").SQLiteColumn<{
324
+ name: string;
325
+ tableName: "usine_item_cycle_budgets";
326
+ dataType: "object json";
327
+ data: unknown;
328
+ driverParam: string;
329
+ notNull: false;
330
+ hasDefault: false;
331
+ isPrimaryKey: false;
332
+ isAutoincrement: false;
333
+ hasRuntimeDefault: false;
334
+ enumValues: undefined;
335
+ baseColumn: never;
336
+ identity: undefined;
337
+ generated: undefined;
338
+ }, {}>;
339
+ resetPending: import("drizzle-orm/sqlite-core").SQLiteColumn<{
340
+ name: string;
341
+ tableName: "usine_item_cycle_budgets";
342
+ dataType: "boolean";
343
+ data: boolean;
344
+ driverParam: number;
345
+ notNull: true;
346
+ hasDefault: true;
347
+ isPrimaryKey: false;
348
+ isAutoincrement: false;
349
+ hasRuntimeDefault: false;
350
+ enumValues: undefined;
351
+ baseColumn: never;
352
+ identity: undefined;
353
+ generated: undefined;
354
+ }, {}>;
355
+ };
356
+ dialect: 'sqlite';
357
+ }>;
358
+ export declare const cycleReservations: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
359
+ name: "usine_cycle_reservations";
360
+ schema: undefined;
361
+ columns: {
362
+ runId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
363
+ name: string;
364
+ tableName: "usine_cycle_reservations";
365
+ dataType: "string";
366
+ data: string & import("effect/Brand").Brand<"RunId">;
367
+ driverParam: string;
368
+ notNull: true;
369
+ hasDefault: false;
370
+ isPrimaryKey: true;
371
+ isAutoincrement: false;
372
+ hasRuntimeDefault: false;
373
+ enumValues: [string, ...string[]];
374
+ baseColumn: never;
375
+ identity: undefined;
376
+ generated: undefined;
377
+ }, {}>;
378
+ itemKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
379
+ name: string;
380
+ tableName: "usine_cycle_reservations";
381
+ dataType: "string";
382
+ data: string & import("effect/Brand").Brand<"ItemKey">;
383
+ driverParam: string;
384
+ notNull: true;
385
+ hasDefault: false;
386
+ isPrimaryKey: false;
387
+ isAutoincrement: false;
388
+ hasRuntimeDefault: false;
389
+ enumValues: [string, ...string[]];
390
+ baseColumn: never;
391
+ identity: undefined;
392
+ generated: undefined;
393
+ }, {}>;
394
+ generation: import("drizzle-orm/sqlite-core").SQLiteColumn<{
395
+ name: string;
396
+ tableName: "usine_cycle_reservations";
397
+ dataType: "number int53";
398
+ data: number;
399
+ driverParam: number;
400
+ notNull: true;
401
+ hasDefault: false;
402
+ isPrimaryKey: false;
403
+ isAutoincrement: false;
404
+ hasRuntimeDefault: false;
405
+ enumValues: undefined;
406
+ baseColumn: never;
407
+ identity: undefined;
408
+ generated: undefined;
409
+ }, {}>;
410
+ loop: import("drizzle-orm/sqlite-core").SQLiteColumn<{
411
+ name: string;
412
+ tableName: "usine_cycle_reservations";
413
+ dataType: "string";
414
+ data: string & import("effect/Brand").Brand<"LoopName">;
415
+ driverParam: string;
416
+ notNull: true;
417
+ hasDefault: false;
418
+ isPrimaryKey: false;
419
+ isAutoincrement: false;
420
+ hasRuntimeDefault: false;
421
+ enumValues: [string, ...string[]];
422
+ baseColumn: never;
423
+ identity: undefined;
424
+ generated: undefined;
425
+ }, {}>;
426
+ };
427
+ dialect: 'sqlite';
428
+ }>;
429
+ export declare const cycleResets: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
430
+ name: "usine_cycle_resets";
431
+ schema: undefined;
432
+ columns: {
433
+ askId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
434
+ name: string;
435
+ tableName: "usine_cycle_resets";
436
+ dataType: "string";
437
+ data: string & import("effect/Brand").Brand<"EventId"> & import("effect/Brand").Brand<"CycleBudgetAskId">;
438
+ driverParam: string;
439
+ notNull: true;
440
+ hasDefault: false;
441
+ isPrimaryKey: true;
442
+ isAutoincrement: false;
443
+ hasRuntimeDefault: false;
444
+ enumValues: [string, ...string[]];
445
+ baseColumn: never;
446
+ identity: undefined;
447
+ generated: undefined;
448
+ }, {}>;
449
+ eventId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
450
+ name: string;
451
+ tableName: "usine_cycle_resets";
452
+ dataType: "string";
453
+ data: string & import("effect/Brand").Brand<"EventId">;
454
+ driverParam: string;
455
+ notNull: true;
456
+ hasDefault: false;
457
+ isPrimaryKey: false;
458
+ isAutoincrement: false;
459
+ hasRuntimeDefault: false;
460
+ enumValues: [string, ...string[]];
461
+ baseColumn: never;
462
+ identity: undefined;
463
+ generated: undefined;
464
+ }, {}>;
465
+ itemKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
466
+ name: string;
467
+ tableName: "usine_cycle_resets";
468
+ dataType: "string";
469
+ data: string & import("effect/Brand").Brand<"ItemKey">;
470
+ driverParam: string;
471
+ notNull: true;
472
+ hasDefault: false;
473
+ isPrimaryKey: false;
474
+ isAutoincrement: false;
475
+ hasRuntimeDefault: false;
476
+ enumValues: [string, ...string[]];
477
+ baseColumn: never;
478
+ identity: undefined;
479
+ generated: undefined;
480
+ }, {}>;
481
+ };
482
+ dialect: 'sqlite';
483
+ }>;
239
484
  export declare const runs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
240
485
  name: "usine_runs";
241
486
  schema: undefined;
@@ -324,7 +569,7 @@ export declare const runs: import("drizzle-orm/sqlite-core").SQLiteTableWithColu
324
569
  name: string;
325
570
  tableName: "usine_runs";
326
571
  dataType: "string";
327
- data: string & import("effect/Brand").Brand<"RepoName">;
572
+ data: string & import("effect/Brand").Brand<"RepositoryName">;
328
573
  driverParam: string;
329
574
  notNull: true;
330
575
  hasDefault: false;
@@ -558,6 +803,54 @@ export declare const attempts: import("drizzle-orm/sqlite-core").SQLiteTableWith
558
803
  identity: undefined;
559
804
  generated: undefined;
560
805
  }, {}>;
806
+ task: import("drizzle-orm/sqlite-core").SQLiteColumn<{
807
+ name: string;
808
+ tableName: "usine_attempts";
809
+ dataType: "string";
810
+ data: string & import("effect/Brand").Brand<"AttemptTask">;
811
+ driverParam: string;
812
+ notNull: true;
813
+ hasDefault: false;
814
+ isPrimaryKey: false;
815
+ isAutoincrement: false;
816
+ hasRuntimeDefault: false;
817
+ enumValues: [string, ...string[]];
818
+ baseColumn: never;
819
+ identity: undefined;
820
+ generated: undefined;
821
+ }, {}>;
822
+ agent: import("drizzle-orm/sqlite-core").SQLiteColumn<{
823
+ name: string;
824
+ tableName: "usine_attempts";
825
+ dataType: "string";
826
+ data: string & import("effect/Brand").Brand<"AgentName">;
827
+ driverParam: string;
828
+ notNull: true;
829
+ hasDefault: false;
830
+ isPrimaryKey: false;
831
+ isAutoincrement: false;
832
+ hasRuntimeDefault: false;
833
+ enumValues: [string, ...string[]];
834
+ baseColumn: never;
835
+ identity: undefined;
836
+ generated: undefined;
837
+ }, {}>;
838
+ operatorIntervened: import("drizzle-orm/sqlite-core").SQLiteColumn<{
839
+ name: string;
840
+ tableName: "usine_attempts";
841
+ dataType: "boolean";
842
+ data: boolean;
843
+ driverParam: number;
844
+ notNull: true;
845
+ hasDefault: true;
846
+ isPrimaryKey: false;
847
+ isAutoincrement: false;
848
+ hasRuntimeDefault: false;
849
+ enumValues: undefined;
850
+ baseColumn: never;
851
+ identity: undefined;
852
+ generated: undefined;
853
+ }, {}>;
561
854
  parentModel: import("drizzle-orm/sqlite-core").SQLiteColumn<{
562
855
  name: string;
563
856
  tableName: "usine_attempts";
@@ -829,7 +1122,7 @@ export declare const workflowCommands: import("drizzle-orm/sqlite-core").SQLiteT
829
1122
  };
830
1123
  dialect: 'sqlite';
831
1124
  }>;
832
- /** Opaque, owner-validated cursors for efficiency-only trigger state. */
1125
+ /** Cursors that only save work; each owner validates its own value. */
833
1126
  export declare const cursors: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
834
1127
  name: "usine_cursors";
835
1128
  schema: undefined;
@@ -869,7 +1162,7 @@ export declare const cursors: import("drizzle-orm/sqlite-core").SQLiteTableWithC
869
1162
  };
870
1163
  dialect: 'sqlite';
871
1164
  }>;
872
- /** Latest trigger-owned payload for each Item, projected for operator reads. */
1165
+ /** The latest payload seen for each Item, for operator reads. */
873
1166
  export declare const itemProjections: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
874
1167
  name: "usine_item_projections";
875
1168
  schema: undefined;
@@ -894,7 +1187,7 @@ export declare const itemProjections: import("drizzle-orm/sqlite-core").SQLiteTa
894
1187
  name: string;
895
1188
  tableName: "usine_item_projections";
896
1189
  dataType: "string";
897
- data: string & import("effect/Brand").Brand<"RepoName">;
1190
+ data: string & import("effect/Brand").Brand<"RepositoryName">;
898
1191
  driverParam: string;
899
1192
  notNull: true;
900
1193
  hasDefault: false;
@@ -973,7 +1266,7 @@ export declare const itemProjections: import("drizzle-orm/sqlite-core").SQLiteTa
973
1266
  };
974
1267
  dialect: 'sqlite';
975
1268
  }>;
976
- /** Latest complete GitHub label catalog for each managed repository. */
1269
+ /** The latest complete label catalog for each managed repository. */
977
1270
  export declare const repositoryLabelProjections: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
978
1271
  name: "usine_repository_label_projections";
979
1272
  schema: undefined;
@@ -982,7 +1275,7 @@ export declare const repositoryLabelProjections: import("drizzle-orm/sqlite-core
982
1275
  name: string;
983
1276
  tableName: "usine_repository_label_projections";
984
1277
  dataType: "string";
985
- data: string & import("effect/Brand").Brand<"RepoName">;
1278
+ data: string & import("effect/Brand").Brand<"RepositoryName">;
986
1279
  driverParam: string;
987
1280
  notNull: true;
988
1281
  hasDefault: false;
@@ -1013,7 +1306,7 @@ export declare const repositoryLabelProjections: import("drizzle-orm/sqlite-core
1013
1306
  };
1014
1307
  dialect: 'sqlite';
1015
1308
  }>;
1016
- /** Operator-owned runtime toggles; deliberately separate from authored Loop files (ADR 0009). */
1309
+ /** Operator-owned runtime toggles, kept apart from authored loop files (ADR 0009). */
1017
1310
  export declare const loopRuntime: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
1018
1311
  name: "usine_loop_runtime";
1019
1312
  schema: undefined;
@@ -1053,7 +1346,7 @@ export declare const loopRuntime: import("drizzle-orm/sqlite-core").SQLiteTableW
1053
1346
  };
1054
1347
  dialect: 'sqlite';
1055
1348
  }>;
1056
- /** Singleton invalidation token for cached operator projections. */
1349
+ /** Single row whose version invalidates cached operator projections. */
1057
1350
  export declare const projectionRevision: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
1058
1351
  name: "usine_projection_revision";
1059
1352
  schema: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBzB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBhB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBjB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B9B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnB,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYtC,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCzB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB7B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBhB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBjB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B9B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB5B,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnB,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYtC,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC"}
@@ -1,7 +1,19 @@
1
- import { Agent, Attempt, AttemptChannel, Event, Item, Loop, Repository, Run, Step, Worker, } from "@usine/core";
1
+ import { ModelId } from "@usine/core/agent/brain";
2
+ import { AgentName } from "@usine/core/agent";
3
+ import { AttemptNumber, AttemptTask, AttemptId } from "@usine/core/attempt";
4
+ import * as AttemptChannel from "@usine/core/attempt/channel";
5
+ import { DedupKey, EventId } from "@usine/core/event";
6
+ import { ItemKey } from "@usine/core/item";
7
+ import { CycleLimit, CycleBudgetAskId } from "@usine/core/cycle-budget";
8
+ import { LoopName, APPROVAL_REQUIREMENTS } from "@usine/core/loop";
9
+ import { RepositoryName, RepositoryRevision } from "@usine/core/repository";
10
+ import { RunId } from "@usine/core/run";
11
+ import { StepName } from "@usine/core/step";
12
+ import { WorkerName } from "@usine/core/worker";
2
13
  import { sql } from "drizzle-orm";
3
14
  import { check, foreignKey, index, integer, primaryKey, snakeCase, text, uniqueIndex, } from "drizzle-orm/sqlite-core";
4
- import { APPROVAL_REQUIREMENTS, IGNORED_REASONS, WORKFLOW_COMMANDS, } from "../model.js";
15
+ import { IGNORED_REASONS } from "../engine/submission.js";
16
+ import { WORKFLOW_COMMANDS } from "../workflow/command.js";
5
17
  export const events = snakeCase.table("usine_events", {
6
18
  eventId: text().$type().primaryKey(),
7
19
  dedupKey: text().$type().notNull().unique(),
@@ -17,9 +29,12 @@ export const triggerEvents = snakeCase.table("usine_trigger_events", {
17
29
  loopName: text().$type().notNull(),
18
30
  stepName: text().$type().notNull(),
19
31
  approval: text({ enum: APPROVAL_REQUIREMENTS }).$type().notNull(),
20
- // The submitted execution context, part of the immutable Event fact. A
21
- // queued Event (blocked behind a running Run) is claimed later from these
22
- // columns; the Run's own copy below is what execution reads.
32
+ cycleLimit: integer().$type(),
33
+ // Item allowance observed before fetching this Event's trigger input.
34
+ cycleGeneration: integer().notNull().default(0),
35
+ // The execution context as submitted, part of the immutable Event fact. A
36
+ // queued Event is claimed later from these columns, while execution reads
37
+ // the Run's own copy below.
23
38
  repository: text().$type().notNull(),
24
39
  revision: text().$type().notNull(),
25
40
  task: text().$type().notNull(),
@@ -27,9 +42,48 @@ export const triggerEvents = snakeCase.table("usine_trigger_events", {
27
42
  parentModel: text().$type(),
28
43
  }, (table) => [
29
44
  check("usine_trigger_events_approval", sql `${table.approval} in ('none', 'required')`),
45
+ check("usine_trigger_events_cycle_limit", sql `${table.cycleLimit} is null or ${table.cycleLimit} >= 1`),
30
46
  check("usine_trigger_events_agent_json_valid", sql `json_valid(${table.agentJson})`),
31
47
  index("usine_trigger_events_item").on(table.loopName, table.itemKey),
48
+ index("usine_trigger_events_item_history").on(table.itemKey),
32
49
  ]);
50
+ export const itemCycleBudgets = snakeCase.table("usine_item_cycle_budgets", {
51
+ itemKey: text().$type().primaryKey(),
52
+ repository: text().$type().notNull(),
53
+ generation: integer().notNull().default(0),
54
+ askJson: text({ mode: "json" }).$type(),
55
+ resetPending: integer({ mode: "boolean" }).notNull().default(false),
56
+ }, (table) => [
57
+ check("usine_item_cycle_generation", sql `${table.generation} >= 0`),
58
+ check("usine_item_cycle_ask_json", sql `${table.askJson} is null or json_valid(${table.askJson})`),
59
+ ]);
60
+ export const cycleReservations = snakeCase.table("usine_cycle_reservations", {
61
+ runId: text()
62
+ .$type()
63
+ .primaryKey()
64
+ .references(() => runs.runId),
65
+ itemKey: text()
66
+ .$type()
67
+ .notNull()
68
+ .references(() => itemCycleBudgets.itemKey),
69
+ generation: integer().notNull(),
70
+ loop: text().$type().notNull(),
71
+ }, (table) => [
72
+ index("usine_cycle_reservations_item").on(table.itemKey, table.generation, table.loop),
73
+ check("usine_cycle_reservations_generation", sql `${table.generation} >= 0`),
74
+ ]);
75
+ export const cycleResets = snakeCase.table("usine_cycle_resets", {
76
+ askId: text().$type().primaryKey(),
77
+ eventId: text()
78
+ .$type()
79
+ .notNull()
80
+ .unique()
81
+ .references(() => events.eventId),
82
+ itemKey: text()
83
+ .$type()
84
+ .notNull()
85
+ .references(() => itemCycleBudgets.itemKey),
86
+ });
33
87
  export const runs = snakeCase.table("usine_runs", {
34
88
  runId: text().$type().primaryKey(),
35
89
  eventId: text()
@@ -40,8 +94,8 @@ export const runs = snakeCase.table("usine_runs", {
40
94
  loopName: text().$type().notNull(),
41
95
  stateJson: text({ mode: "json" }).$type().notNull(),
42
96
  openedAt: text().notNull(),
43
- // The Run's *effective* context, seeded from the claiming submission.
44
- // ADR 0018's edit-and-retry amends these; the Event columns never change.
97
+ // The Run's effective context, seeded from the claiming submission.
98
+ // Edit-and-retry amends these columns; the Event columns never change (ADR 0018).
45
99
  repository: text().$type().notNull(),
46
100
  revision: text().$type().notNull(),
47
101
  task: text().$type().notNull(),
@@ -69,6 +123,9 @@ export const attempts = snakeCase.table("usine_attempts", {
69
123
  workerName: text().$type().notNull(),
70
124
  attemptNumber: integer({ mode: "number" }).$type().notNull(),
71
125
  brainJson: text({ mode: "json" }).$type().notNull(),
126
+ task: text().$type().notNull(),
127
+ agent: text().$type().notNull(),
128
+ operatorIntervened: integer({ mode: "boolean" }).notNull().default(false),
72
129
  parentModel: text().$type(),
73
130
  startedAt: text().notNull(),
74
131
  outcomeJson: text({ mode: "json" }).$type(),
@@ -132,12 +189,12 @@ export const workflowCommands = snakeCase.table("usine_workflow_commands", {
132
189
  check("usine_workflow_commands_command", sql `${table.command} in ('Approve', 'Continue', 'Interrupt', 'Resume')`),
133
190
  primaryKey({ columns: [table.runId, table.command] }),
134
191
  ]);
135
- /** Opaque, owner-validated cursors for efficiency-only trigger state. */
192
+ /** Cursors that only save work; each owner validates its own value. */
136
193
  export const cursors = snakeCase.table("usine_cursors", {
137
194
  cursorKey: text().primaryKey(),
138
195
  valueJson: text({ mode: "json" }).$type().notNull(),
139
196
  }, (table) => [check("usine_cursors_value_json_valid", sql `json_valid(${table.valueJson})`)]);
140
- /** Latest trigger-owned payload for each Item, projected for operator reads. */
197
+ /** The latest payload seen for each Item, for operator reads. */
141
198
  export const itemProjections = snakeCase.table("usine_item_projections", {
142
199
  itemKey: text().$type().primaryKey(),
143
200
  repository: text().$type().notNull(),
@@ -151,19 +208,19 @@ export const itemProjections = snakeCase.table("usine_item_projections", {
151
208
  uniqueIndex("usine_item_projection_number").on(table.repository, table.itemNumber),
152
209
  index("usine_item_projection_repository").on(table.repository, table.itemNumber),
153
210
  ]);
154
- /** Latest complete GitHub label catalog for each managed repository. */
211
+ /** The latest complete label catalog for each managed repository. */
155
212
  export const repositoryLabelProjections = snakeCase.table("usine_repository_label_projections", {
156
213
  repository: text().$type().primaryKey(),
157
214
  labelsJson: text({ mode: "json" }).$type().notNull(),
158
215
  }, (table) => [
159
216
  check("usine_repository_label_projections_labels_json_valid", sql `json_valid(${table.labelsJson})`),
160
217
  ]);
161
- /** Operator-owned runtime toggles; deliberately separate from authored Loop files (ADR 0009). */
218
+ /** Operator-owned runtime toggles, kept apart from authored loop files (ADR 0009). */
162
219
  export const loopRuntime = snakeCase.table("usine_loop_runtime", {
163
220
  loopName: text().$type().primaryKey(),
164
221
  paused: integer({ mode: "boolean" }).notNull(),
165
222
  });
166
- /** Singleton invalidation token for cached operator projections. */
223
+ /** Single row whose version invalidates cached operator projections. */
167
224
  export const projectionRevision = snakeCase.table("usine_projection_revision", {
168
225
  singleton: integer({ mode: "number" }).primaryKey().default(1),
169
226
  revision: integer({ mode: "number" }).notNull().default(0),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { Event } from "@usine/core/event";
2
+ import { AttemptContext, AttemptId } from "@usine/core/attempt";
3
+ import { Intervention } from "@usine/core/attempt/channel";
4
+ import { ItemKey } from "@usine/core/item";
5
+ import { LoopName } from "@usine/core/loop";
6
+ import { RunId } from "@usine/core/run";
7
+ import { Context, Crypto, Effect, Layer, Option } from "effect";
8
+ import { SqlClient } from "effect/unstable/sql";
9
+ import { RunDatabase } from "../database/database.ts";
10
+ import { type RunEngineError } from "./error.ts";
11
+ import type { RunSnapshot } from "../run-reader/model.ts";
12
+ import type { Submission, SubmissionResult } from "./submission.ts";
13
+ import type { TranscriptEntry, TranscriptQuery } from "../transcript.ts";
14
+ import { RunReader } from "../run-reader/run-reader.ts";
15
+ import { ItemProjectionReader, ItemProjectionWriter } from "../item-projection/item-projection.ts";
16
+ import { RepositoryLabelProjectionReader, RepositoryLabelProjectionWriter } from "../repository-label-projection/repository-label-projection.ts";
17
+ import { StepExecutor } from "../step-executor.ts";
18
+ import { CursorStore } from "../cursor/cursor.ts";
19
+ import { LoopControl } from "../loop-control/loop-control.ts";
20
+ import { CycleBudgets } from "../cycle-budget/cycle-budget.ts";
21
+ declare const RunEngine_base: Context.ServiceClass<RunEngine, "@usine/engine/RunEngine", {
22
+ /** Stops admitting Attempts, including retries, and waits for admitted work to settle. Interrupting this wait keeps admission closed until restart. */
23
+ readonly drain: () => Effect.Effect<void>;
24
+ /** Records the operator's approval Event and opens the Run's gate; execution still waits for a Worker slot. */
25
+ readonly approve: (runId: RunId, approval: Event) => Effect.Effect<void, RunEngineError>;
26
+ /** Cancels an open Run and interrupts its active Attempt. An already closed Run is unchanged. */
27
+ readonly cancel: (runId: RunId) => Effect.Effect<void, RunEngineError>;
28
+ /** Reads the Run's current state, effective task and Agent, Step result, and Attempt history. */
29
+ readonly inspect: (runId: RunId) => Effect.Effect<RunSnapshot, RunEngineError>;
30
+ /** Addresses one current Attempt explicitly so an old drawer cannot steer its replacement. */
31
+ readonly intervene: (runId: RunId, attemptId: AttemptId, intervention: Intervention) => Effect.Effect<void, RunEngineError>;
32
+ /** Recovers unfinished Runs and outstanding actions from stored state; also runs when the engine starts. */
33
+ readonly reconcile: () => Effect.Effect<void, RunEngineError>;
34
+ /** Requests another Attempt for a failed Run using its existing Event and effective task and Agent. */
35
+ readonly retry: (runId: RunId, amendment?: Option.Option<AttemptContext>) => Effect.Effect<void, RunEngineError>;
36
+ /** Cancels unstarted Runs and discards queued Events for a Loop's Item when it stops matching; running Attempts continue. */
37
+ readonly revoke: (loop: LoopName, itemKey: ItemKey) => Effect.Effect<ReadonlyArray<RunId>, RunEngineError>;
38
+ /**
39
+ * Records a matching Event and claims its Run, or queues it behind the Item's
40
+ * running Attempt. Repeated Events are deduplicated; execution continues separately.
41
+ */
42
+ readonly submit: (submission: Submission) => Effect.Effect<SubmissionResult, RunEngineError>;
43
+ /** Reads the requested portion of an Attempt's persisted transcript in append order. */
44
+ readonly transcript: (query: TranscriptQuery) => Effect.Effect<ReadonlyArray<TranscriptEntry>, RunEngineError>;
45
+ }>;
46
+ /** Records Events and manages their Runs through approval, execution, retry, and cancellation. */
47
+ export declare class RunEngine extends RunEngine_base {
48
+ }
49
+ /**
50
+ * Provides Run execution and recovery on the supplied database.
51
+ * `database` must supply Drizzle and Effect SQL clients for the same database,
52
+ * so Run records and pending execution remain together across restarts.
53
+ * The deployment supplies `Crypto` and the Worker implementation through `StepExecutor`.
54
+ */
55
+ export declare const layerWithDatabase: <DatabaseError, DatabaseRequirements>(database: Layer.Layer<RunDatabase | SqlClient.SqlClient, DatabaseError, DatabaseRequirements>) => Layer.Layer<CursorStore | CycleBudgets | ItemProjectionReader | ItemProjectionWriter | LoopControl | RepositoryLabelProjectionReader | RepositoryLabelProjectionWriter | RunEngine | RunReader, RunEngineError | DatabaseError, Crypto.Crypto | StepExecutor | DatabaseRequirements>;
56
+ export { Submission, Claimed, Queued, Ignored, CycleBlocked, IgnoreReason, SubmissionResult, } from "./submission.ts";
57
+ export { RunEngineShutdown } from "./shutdown.ts";
58
+ export { RunNotFoundError, RunOperationRejectedError, EnginePersistenceError, AttemptCancellationError, RunInterventionRejectedError, RunStoreError, RunEngineError, } from "./error.ts";
59
+ //# sourceMappingURL=engine.d.ts.map