@usine/engine 0.0.1 → 0.1.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 (96) hide show
  1. package/README.md +66 -2
  2. package/dist/cursor/model.d.ts +5 -0
  3. package/dist/cursor/model.d.ts.map +1 -0
  4. package/dist/cursor/model.js +4 -0
  5. package/dist/cursor/model.js.map +1 -0
  6. package/dist/cursor/store.d.ts +18 -0
  7. package/dist/cursor/store.d.ts.map +1 -0
  8. package/dist/cursor/store.js +54 -0
  9. package/dist/cursor/store.js.map +1 -0
  10. package/dist/database/database.d.ts +15 -0
  11. package/dist/database/database.d.ts.map +1 -0
  12. package/dist/database/database.js +5 -0
  13. package/dist/database/database.js.map +1 -0
  14. package/dist/database/local-sqlite.d.ts +17 -0
  15. package/dist/database/local-sqlite.d.ts.map +1 -0
  16. package/dist/database/local-sqlite.js +45 -0
  17. package/dist/database/local-sqlite.js.map +1 -0
  18. package/dist/database/schema.d.ts +1096 -0
  19. package/dist/database/schema.d.ts.map +1 -0
  20. package/dist/database/schema.js +171 -0
  21. package/dist/database/schema.js.map +1 -0
  22. package/dist/engine.d.ts +39 -0
  23. package/dist/engine.d.ts.map +1 -0
  24. package/dist/engine.js +179 -0
  25. package/dist/engine.js.map +1 -0
  26. package/dist/index.d.ts +16 -4
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +16 -4
  29. package/dist/index.js.map +1 -1
  30. package/dist/item-projection/model.d.ts +21 -0
  31. package/dist/item-projection/model.d.ts.map +1 -0
  32. package/dist/item-projection/model.js +16 -0
  33. package/dist/item-projection/model.js.map +1 -0
  34. package/dist/item-projection/service.d.ts +25 -0
  35. package/dist/item-projection/service.d.ts.map +1 -0
  36. package/dist/item-projection/service.js +98 -0
  37. package/dist/item-projection/service.js.map +1 -0
  38. package/dist/loop-control.d.ts +16 -0
  39. package/dist/loop-control.d.ts.map +1 -0
  40. package/dist/loop-control.js +69 -0
  41. package/dist/loop-control.js.map +1 -0
  42. package/dist/model.d.ts +185 -0
  43. package/dist/model.d.ts.map +1 -0
  44. package/dist/model.js +174 -0
  45. package/dist/model.js.map +1 -0
  46. package/dist/repository-label-projection/model.d.ts +10 -0
  47. package/dist/repository-label-projection/model.d.ts.map +1 -0
  48. package/dist/repository-label-projection/model.js +11 -0
  49. package/dist/repository-label-projection/model.js.map +1 -0
  50. package/dist/repository-label-projection/service.d.ts +20 -0
  51. package/dist/repository-label-projection/service.d.ts.map +1 -0
  52. package/dist/repository-label-projection/service.js +73 -0
  53. package/dist/repository-label-projection/service.js.map +1 -0
  54. package/dist/run-reader.d.ts +20 -0
  55. package/dist/run-reader.d.ts.map +1 -0
  56. package/dist/run-reader.js +19 -0
  57. package/dist/run-reader.js.map +1 -0
  58. package/dist/step-executor.d.ts +21 -0
  59. package/dist/step-executor.d.ts.map +1 -0
  60. package/dist/step-executor.js +8 -0
  61. package/dist/step-executor.js.map +1 -0
  62. package/dist/store/codec.d.ts +431 -0
  63. package/dist/store/codec.d.ts.map +1 -0
  64. package/dist/store/codec.js +140 -0
  65. package/dist/store/codec.js.map +1 -0
  66. package/dist/store/queries.d.ts +75 -0
  67. package/dist/store/queries.d.ts.map +1 -0
  68. package/dist/store/queries.js +508 -0
  69. package/dist/store/queries.js.map +1 -0
  70. package/dist/store/store.d.ts +83 -0
  71. package/dist/store/store.d.ts.map +1 -0
  72. package/dist/store/store.js +374 -0
  73. package/dist/store/store.js.map +1 -0
  74. package/dist/workflow.d.ts +14 -0
  75. package/dist/workflow.d.ts.map +1 -0
  76. package/dist/workflow.js +105 -0
  77. package/dist/workflow.js.map +1 -0
  78. package/drizzle/20260825055549_initial_runtime/migration.sql +73 -0
  79. package/drizzle/20260825055549_initial_runtime/snapshot.json +592 -0
  80. package/drizzle/20260830191125_polling_cursors/migration.sql +5 -0
  81. package/drizzle/20260830191125_polling_cursors/snapshot.json +629 -0
  82. package/drizzle/20260831073158_attempt_channel/migration.sql +36 -0
  83. package/drizzle/20260831073158_attempt_channel/snapshot.json +845 -0
  84. package/drizzle/20260831133534_agent_context/migration.sql +49 -0
  85. package/drizzle/20260831133534_agent_context/snapshot.json +897 -0
  86. package/drizzle/20260831134612_attempt_brain/migration.sql +26 -0
  87. package/drizzle/20260831134612_attempt_brain/snapshot.json +923 -0
  88. package/drizzle/20260831194605_loop_runtime/migration.sql +4 -0
  89. package/drizzle/20260831194605_loop_runtime/snapshot.json +954 -0
  90. package/drizzle/20260901073233_projection_revision/migration.sql +55 -0
  91. package/drizzle/20260901073233_projection_revision/snapshot.json +991 -0
  92. package/drizzle/20260901180433_item_projections/migration.sql +22 -0
  93. package/drizzle/20260901180433_item_projections/snapshot.json +1110 -0
  94. package/drizzle/20260901185146_repository_label_projections/migration.sql +17 -0
  95. package/drizzle/20260901185146_repository_label_projections/snapshot.json +1147 -0
  96. package/package.json +21 -3
@@ -0,0 +1,592 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "29403b39-52c7-42ce-b665-c5fbba2ce9fe",
5
+ "prevIds": ["00000000-0000-0000-0000-000000000000"],
6
+ "ddl": [
7
+ {
8
+ "name": "usine_approvals",
9
+ "entityType": "tables"
10
+ },
11
+ {
12
+ "name": "usine_attempts",
13
+ "entityType": "tables"
14
+ },
15
+ {
16
+ "name": "usine_events",
17
+ "entityType": "tables"
18
+ },
19
+ {
20
+ "name": "usine_ignored_events",
21
+ "entityType": "tables"
22
+ },
23
+ {
24
+ "name": "usine_runs",
25
+ "entityType": "tables"
26
+ },
27
+ {
28
+ "name": "usine_steps",
29
+ "entityType": "tables"
30
+ },
31
+ {
32
+ "name": "usine_trigger_events",
33
+ "entityType": "tables"
34
+ },
35
+ {
36
+ "name": "usine_workflow_commands",
37
+ "entityType": "tables"
38
+ },
39
+ {
40
+ "type": "text",
41
+ "notNull": false,
42
+ "autoincrement": false,
43
+ "default": null,
44
+ "generated": null,
45
+ "name": "run_id",
46
+ "entityType": "columns",
47
+ "table": "usine_approvals"
48
+ },
49
+ {
50
+ "type": "text",
51
+ "notNull": true,
52
+ "autoincrement": false,
53
+ "default": null,
54
+ "generated": null,
55
+ "name": "event_id",
56
+ "entityType": "columns",
57
+ "table": "usine_approvals"
58
+ },
59
+ {
60
+ "type": "text",
61
+ "notNull": false,
62
+ "autoincrement": false,
63
+ "default": null,
64
+ "generated": null,
65
+ "name": "attempt_id",
66
+ "entityType": "columns",
67
+ "table": "usine_attempts"
68
+ },
69
+ {
70
+ "type": "text",
71
+ "notNull": true,
72
+ "autoincrement": false,
73
+ "default": null,
74
+ "generated": null,
75
+ "name": "run_id",
76
+ "entityType": "columns",
77
+ "table": "usine_attempts"
78
+ },
79
+ {
80
+ "type": "text",
81
+ "notNull": true,
82
+ "autoincrement": false,
83
+ "default": null,
84
+ "generated": null,
85
+ "name": "step_name",
86
+ "entityType": "columns",
87
+ "table": "usine_attempts"
88
+ },
89
+ {
90
+ "type": "integer",
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": null,
94
+ "generated": null,
95
+ "name": "attempt_number",
96
+ "entityType": "columns",
97
+ "table": "usine_attempts"
98
+ },
99
+ {
100
+ "type": "text",
101
+ "notNull": true,
102
+ "autoincrement": false,
103
+ "default": null,
104
+ "generated": null,
105
+ "name": "started_at",
106
+ "entityType": "columns",
107
+ "table": "usine_attempts"
108
+ },
109
+ {
110
+ "type": "text",
111
+ "notNull": false,
112
+ "autoincrement": false,
113
+ "default": null,
114
+ "generated": null,
115
+ "name": "outcome_json",
116
+ "entityType": "columns",
117
+ "table": "usine_attempts"
118
+ },
119
+ {
120
+ "type": "text",
121
+ "notNull": false,
122
+ "autoincrement": false,
123
+ "default": null,
124
+ "generated": null,
125
+ "name": "event_id",
126
+ "entityType": "columns",
127
+ "table": "usine_events"
128
+ },
129
+ {
130
+ "type": "text",
131
+ "notNull": true,
132
+ "autoincrement": false,
133
+ "default": null,
134
+ "generated": null,
135
+ "name": "dedup_key",
136
+ "entityType": "columns",
137
+ "table": "usine_events"
138
+ },
139
+ {
140
+ "type": "text",
141
+ "notNull": true,
142
+ "autoincrement": false,
143
+ "default": null,
144
+ "generated": null,
145
+ "name": "payload_json",
146
+ "entityType": "columns",
147
+ "table": "usine_events"
148
+ },
149
+ {
150
+ "type": "text",
151
+ "notNull": true,
152
+ "autoincrement": false,
153
+ "default": null,
154
+ "generated": null,
155
+ "name": "received_at",
156
+ "entityType": "columns",
157
+ "table": "usine_events"
158
+ },
159
+ {
160
+ "type": "text",
161
+ "notNull": false,
162
+ "autoincrement": false,
163
+ "default": null,
164
+ "generated": null,
165
+ "name": "event_id",
166
+ "entityType": "columns",
167
+ "table": "usine_ignored_events"
168
+ },
169
+ {
170
+ "type": "text",
171
+ "notNull": true,
172
+ "autoincrement": false,
173
+ "default": null,
174
+ "generated": null,
175
+ "name": "reason",
176
+ "entityType": "columns",
177
+ "table": "usine_ignored_events"
178
+ },
179
+ {
180
+ "type": "text",
181
+ "notNull": false,
182
+ "autoincrement": false,
183
+ "default": null,
184
+ "generated": null,
185
+ "name": "run_id",
186
+ "entityType": "columns",
187
+ "table": "usine_runs"
188
+ },
189
+ {
190
+ "type": "text",
191
+ "notNull": true,
192
+ "autoincrement": false,
193
+ "default": null,
194
+ "generated": null,
195
+ "name": "event_id",
196
+ "entityType": "columns",
197
+ "table": "usine_runs"
198
+ },
199
+ {
200
+ "type": "text",
201
+ "notNull": true,
202
+ "autoincrement": false,
203
+ "default": null,
204
+ "generated": null,
205
+ "name": "loop_name",
206
+ "entityType": "columns",
207
+ "table": "usine_runs"
208
+ },
209
+ {
210
+ "type": "text",
211
+ "notNull": true,
212
+ "autoincrement": false,
213
+ "default": null,
214
+ "generated": null,
215
+ "name": "state_json",
216
+ "entityType": "columns",
217
+ "table": "usine_runs"
218
+ },
219
+ {
220
+ "type": "text",
221
+ "notNull": true,
222
+ "autoincrement": false,
223
+ "default": null,
224
+ "generated": null,
225
+ "name": "opened_at",
226
+ "entityType": "columns",
227
+ "table": "usine_runs"
228
+ },
229
+ {
230
+ "type": "text",
231
+ "notNull": true,
232
+ "autoincrement": false,
233
+ "default": null,
234
+ "generated": null,
235
+ "name": "run_id",
236
+ "entityType": "columns",
237
+ "table": "usine_steps"
238
+ },
239
+ {
240
+ "type": "text",
241
+ "notNull": true,
242
+ "autoincrement": false,
243
+ "default": null,
244
+ "generated": null,
245
+ "name": "step_name",
246
+ "entityType": "columns",
247
+ "table": "usine_steps"
248
+ },
249
+ {
250
+ "type": "text",
251
+ "notNull": false,
252
+ "autoincrement": false,
253
+ "default": null,
254
+ "generated": null,
255
+ "name": "result",
256
+ "entityType": "columns",
257
+ "table": "usine_steps"
258
+ },
259
+ {
260
+ "type": "text",
261
+ "notNull": false,
262
+ "autoincrement": false,
263
+ "default": null,
264
+ "generated": null,
265
+ "name": "event_id",
266
+ "entityType": "columns",
267
+ "table": "usine_trigger_events"
268
+ },
269
+ {
270
+ "type": "text",
271
+ "notNull": true,
272
+ "autoincrement": false,
273
+ "default": null,
274
+ "generated": null,
275
+ "name": "item_key",
276
+ "entityType": "columns",
277
+ "table": "usine_trigger_events"
278
+ },
279
+ {
280
+ "type": "text",
281
+ "notNull": true,
282
+ "autoincrement": false,
283
+ "default": null,
284
+ "generated": null,
285
+ "name": "loop_name",
286
+ "entityType": "columns",
287
+ "table": "usine_trigger_events"
288
+ },
289
+ {
290
+ "type": "text",
291
+ "notNull": true,
292
+ "autoincrement": false,
293
+ "default": null,
294
+ "generated": null,
295
+ "name": "step_name",
296
+ "entityType": "columns",
297
+ "table": "usine_trigger_events"
298
+ },
299
+ {
300
+ "type": "text",
301
+ "notNull": true,
302
+ "autoincrement": false,
303
+ "default": null,
304
+ "generated": null,
305
+ "name": "approval",
306
+ "entityType": "columns",
307
+ "table": "usine_trigger_events"
308
+ },
309
+ {
310
+ "type": "text",
311
+ "notNull": true,
312
+ "autoincrement": false,
313
+ "default": null,
314
+ "generated": null,
315
+ "name": "run_id",
316
+ "entityType": "columns",
317
+ "table": "usine_workflow_commands"
318
+ },
319
+ {
320
+ "type": "text",
321
+ "notNull": true,
322
+ "autoincrement": false,
323
+ "default": null,
324
+ "generated": null,
325
+ "name": "command",
326
+ "entityType": "columns",
327
+ "table": "usine_workflow_commands"
328
+ },
329
+ {
330
+ "columns": ["run_id"],
331
+ "tableTo": "usine_runs",
332
+ "columnsTo": ["run_id"],
333
+ "onUpdate": "NO ACTION",
334
+ "onDelete": "NO ACTION",
335
+ "nameExplicit": false,
336
+ "name": "fk_usine_approvals_run_id_usine_runs_run_id_fk",
337
+ "entityType": "fks",
338
+ "table": "usine_approvals"
339
+ },
340
+ {
341
+ "columns": ["event_id"],
342
+ "tableTo": "usine_events",
343
+ "columnsTo": ["event_id"],
344
+ "onUpdate": "NO ACTION",
345
+ "onDelete": "NO ACTION",
346
+ "nameExplicit": false,
347
+ "name": "fk_usine_approvals_event_id_usine_events_event_id_fk",
348
+ "entityType": "fks",
349
+ "table": "usine_approvals"
350
+ },
351
+ {
352
+ "columns": ["run_id", "step_name"],
353
+ "tableTo": "usine_steps",
354
+ "columnsTo": ["run_id", "step_name"],
355
+ "onUpdate": "NO ACTION",
356
+ "onDelete": "NO ACTION",
357
+ "nameExplicit": false,
358
+ "name": "fk_usine_attempts_run_id_step_name_usine_steps_run_id_step_name_fk",
359
+ "entityType": "fks",
360
+ "table": "usine_attempts"
361
+ },
362
+ {
363
+ "columns": ["event_id"],
364
+ "tableTo": "usine_trigger_events",
365
+ "columnsTo": ["event_id"],
366
+ "onUpdate": "NO ACTION",
367
+ "onDelete": "NO ACTION",
368
+ "nameExplicit": false,
369
+ "name": "fk_usine_ignored_events_event_id_usine_trigger_events_event_id_fk",
370
+ "entityType": "fks",
371
+ "table": "usine_ignored_events"
372
+ },
373
+ {
374
+ "columns": ["event_id"],
375
+ "tableTo": "usine_trigger_events",
376
+ "columnsTo": ["event_id"],
377
+ "onUpdate": "NO ACTION",
378
+ "onDelete": "NO ACTION",
379
+ "nameExplicit": false,
380
+ "name": "fk_usine_runs_event_id_usine_trigger_events_event_id_fk",
381
+ "entityType": "fks",
382
+ "table": "usine_runs"
383
+ },
384
+ {
385
+ "columns": ["run_id"],
386
+ "tableTo": "usine_runs",
387
+ "columnsTo": ["run_id"],
388
+ "onUpdate": "NO ACTION",
389
+ "onDelete": "NO ACTION",
390
+ "nameExplicit": false,
391
+ "name": "fk_usine_steps_run_id_usine_runs_run_id_fk",
392
+ "entityType": "fks",
393
+ "table": "usine_steps"
394
+ },
395
+ {
396
+ "columns": ["event_id"],
397
+ "tableTo": "usine_events",
398
+ "columnsTo": ["event_id"],
399
+ "onUpdate": "NO ACTION",
400
+ "onDelete": "NO ACTION",
401
+ "nameExplicit": false,
402
+ "name": "fk_usine_trigger_events_event_id_usine_events_event_id_fk",
403
+ "entityType": "fks",
404
+ "table": "usine_trigger_events"
405
+ },
406
+ {
407
+ "columns": ["run_id"],
408
+ "tableTo": "usine_runs",
409
+ "columnsTo": ["run_id"],
410
+ "onUpdate": "NO ACTION",
411
+ "onDelete": "NO ACTION",
412
+ "nameExplicit": false,
413
+ "name": "fk_usine_workflow_commands_run_id_usine_runs_run_id_fk",
414
+ "entityType": "fks",
415
+ "table": "usine_workflow_commands"
416
+ },
417
+ {
418
+ "columns": ["run_id", "step_name"],
419
+ "nameExplicit": false,
420
+ "name": "usine_steps_pk",
421
+ "entityType": "pks",
422
+ "table": "usine_steps"
423
+ },
424
+ {
425
+ "columns": ["run_id", "command"],
426
+ "nameExplicit": false,
427
+ "name": "usine_workflow_commands_pk",
428
+ "entityType": "pks",
429
+ "table": "usine_workflow_commands"
430
+ },
431
+ {
432
+ "columns": ["run_id"],
433
+ "nameExplicit": false,
434
+ "name": "usine_approvals_pk",
435
+ "table": "usine_approvals",
436
+ "entityType": "pks"
437
+ },
438
+ {
439
+ "columns": ["attempt_id"],
440
+ "nameExplicit": false,
441
+ "name": "usine_attempts_pk",
442
+ "table": "usine_attempts",
443
+ "entityType": "pks"
444
+ },
445
+ {
446
+ "columns": ["event_id"],
447
+ "nameExplicit": false,
448
+ "name": "usine_events_pk",
449
+ "table": "usine_events",
450
+ "entityType": "pks"
451
+ },
452
+ {
453
+ "columns": ["event_id"],
454
+ "nameExplicit": false,
455
+ "name": "usine_ignored_events_pk",
456
+ "table": "usine_ignored_events",
457
+ "entityType": "pks"
458
+ },
459
+ {
460
+ "columns": ["run_id"],
461
+ "nameExplicit": false,
462
+ "name": "usine_runs_pk",
463
+ "table": "usine_runs",
464
+ "entityType": "pks"
465
+ },
466
+ {
467
+ "columns": ["event_id"],
468
+ "nameExplicit": false,
469
+ "name": "usine_trigger_events_pk",
470
+ "table": "usine_trigger_events",
471
+ "entityType": "pks"
472
+ },
473
+ {
474
+ "columns": [
475
+ {
476
+ "value": "run_id",
477
+ "isExpression": false
478
+ },
479
+ {
480
+ "value": "step_name",
481
+ "isExpression": false
482
+ },
483
+ {
484
+ "value": "attempt_number",
485
+ "isExpression": false
486
+ }
487
+ ],
488
+ "isUnique": true,
489
+ "where": null,
490
+ "origin": "manual",
491
+ "name": "usine_attempt_number",
492
+ "entityType": "indexes",
493
+ "table": "usine_attempts"
494
+ },
495
+ {
496
+ "columns": [
497
+ {
498
+ "value": "run_id",
499
+ "isExpression": false
500
+ }
501
+ ],
502
+ "isUnique": true,
503
+ "where": "\"usine_attempts\".\"outcome_json\" is null",
504
+ "origin": "manual",
505
+ "name": "usine_one_in_flight_attempt",
506
+ "entityType": "indexes",
507
+ "table": "usine_attempts"
508
+ },
509
+ {
510
+ "columns": [
511
+ {
512
+ "value": "loop_name",
513
+ "isExpression": false
514
+ },
515
+ {
516
+ "value": "item_key",
517
+ "isExpression": false
518
+ }
519
+ ],
520
+ "isUnique": false,
521
+ "where": null,
522
+ "origin": "manual",
523
+ "name": "usine_trigger_events_item",
524
+ "entityType": "indexes",
525
+ "table": "usine_trigger_events"
526
+ },
527
+ {
528
+ "columns": ["event_id"],
529
+ "nameExplicit": false,
530
+ "name": "usine_approvals_event_id_unique",
531
+ "entityType": "uniques",
532
+ "table": "usine_approvals"
533
+ },
534
+ {
535
+ "columns": ["dedup_key"],
536
+ "nameExplicit": false,
537
+ "name": "usine_events_dedup_key_unique",
538
+ "entityType": "uniques",
539
+ "table": "usine_events"
540
+ },
541
+ {
542
+ "columns": ["event_id"],
543
+ "nameExplicit": false,
544
+ "name": "usine_runs_event_id_unique",
545
+ "entityType": "uniques",
546
+ "table": "usine_runs"
547
+ },
548
+ {
549
+ "value": "\"attempt_number\" >= 1",
550
+ "name": "usine_attempts_number",
551
+ "entityType": "checks",
552
+ "table": "usine_attempts"
553
+ },
554
+ {
555
+ "value": "\"outcome_json\" is null or json_valid(\"outcome_json\")",
556
+ "name": "usine_attempts_outcome_json_valid",
557
+ "entityType": "checks",
558
+ "table": "usine_attempts"
559
+ },
560
+ {
561
+ "value": "json_valid(\"payload_json\")",
562
+ "name": "usine_events_payload_json_valid",
563
+ "entityType": "checks",
564
+ "table": "usine_events"
565
+ },
566
+ {
567
+ "value": "\"reason\" in ('superseded', 'revoked')",
568
+ "name": "usine_ignored_events_reason",
569
+ "entityType": "checks",
570
+ "table": "usine_ignored_events"
571
+ },
572
+ {
573
+ "value": "json_valid(\"state_json\")",
574
+ "name": "usine_runs_state_json_valid",
575
+ "entityType": "checks",
576
+ "table": "usine_runs"
577
+ },
578
+ {
579
+ "value": "\"approval\" in ('none', 'required')",
580
+ "name": "usine_trigger_events_approval",
581
+ "entityType": "checks",
582
+ "table": "usine_trigger_events"
583
+ },
584
+ {
585
+ "value": "\"command\" in ('Approve', 'Continue', 'Interrupt', 'Resume')",
586
+ "name": "usine_workflow_commands_command",
587
+ "entityType": "checks",
588
+ "table": "usine_workflow_commands"
589
+ }
590
+ ],
591
+ "renames": []
592
+ }
@@ -0,0 +1,5 @@
1
+ CREATE TABLE `usine_cursors` (
2
+ `cursor_key` text PRIMARY KEY,
3
+ `value_json` text NOT NULL,
4
+ CONSTRAINT "usine_cursors_value_json_valid" CHECK(json_valid("value_json"))
5
+ );