@intelligo-dev/executions 1.0.0-beta.1 → 1.0.0-beta.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAC"}
package/dist/db/schema.js CHANGED
@@ -41,7 +41,11 @@ export const executions = pgTable("executions", {
41
41
  * usage_records. Unique per execution attempt.
42
42
  */
43
43
  requestId: text("request_id").notNull().unique(),
44
- /** running | succeeded | failed | refused */
44
+ /**
45
+ * running | settling | succeeded | failed | refused.
46
+ * `settling` is the window between claiming the row and confirming
47
+ * the charge; a row that stays there needs an operator.
48
+ */
45
49
  status: text("status").notNull().default("running"),
46
50
  /** Model actually used; null until the run reports one. */
47
51
  model: text("model"),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAC/B,YAAY,EACZ;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;SAC9B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC7D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;QACjD,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF;;;;OAIG;IACH,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACxC;;;OAGG;IACH,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IAChD,6CAA6C;IAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,2DAA2D;IAC3D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;IAClC,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,4DAA4D;IAC5D,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,kCAAkC;IAClC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACzD,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAA2B;CAC7D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAC1C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,SAAS,CAChB;IACD,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IAChE,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;CACzE,CACF,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAC/B,YAAY,EACZ;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;SAC9B,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC7D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;QACjD,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF;;;;OAIG;IACH,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IACxC;;;OAGG;IACH,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;IAChD;;;;OAIG;IACH,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,2DAA2D;IAC3D,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;IAClC,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC;IACpC,4DAA4D;IAC5D,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACrC,kCAAkC;IAClC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACzD,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAA2B;CAC7D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAC1C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,SAAS,CAChB;IACD,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IAChE,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;CACzE,CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -13,8 +13,8 @@
13
13
  * });
14
14
  */
15
15
  export { createExecutions } from "./lifecycle";
16
- export type { Executions, ExecutionStatus, ExecutionRun, BeginExecutionInput, CompleteExecutionInput, } from "./lifecycle";
17
- export type { ExecutionPorts, EntitlementDecision, EntitlementRequest, UsageSettlement, SettlementResult, } from "./ports";
16
+ export type { Executions, ExecutionStatus, ExecutionRun, ReconcileResult, BeginExecutionInput, CompleteExecutionInput, } from "./lifecycle";
17
+ export type { ExecutionPorts, EntitlementDecision, EntitlementRequest, UsageSettlement, SettlementResult, SettlementQuery, } from "./ports";
18
18
  export { listExecutions, getExecutionByRequestId, summarizeExecutions, findStaleExecutions, summarizeExecutionsByDay, } from "./queries";
19
19
  export type { ListExecutionsOptions } from "./queries";
20
20
  export { executions } from "./db/schema";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAiB/C,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmB/C,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,WAAW,CAAC"}
@@ -56,6 +56,8 @@ export type ExecutionRun = {
56
56
  requestId: string;
57
57
  /** False when entitlement refused; complete()/fail() are then no-ops. */
58
58
  allowed: boolean;
59
+ /** Stable refusal code from the entitlement port; set when allowed is false. */
60
+ code?: string;
59
61
  /** Set when allowed is false. */
60
62
  reason?: string;
61
63
  estimatedMnt?: number;
@@ -67,6 +69,28 @@ export type ExecutionRun = {
67
69
  };
68
70
  export declare function createExecutions(ports?: ExecutionPorts): {
69
71
  begin: (input: BeginExecutionInput) => Promise<ExecutionRun>;
72
+ reconcile: (executionId: string, options?: {
73
+ abandonRunningAfterMs?: number;
74
+ }) => Promise<ReconcileResult>;
75
+ };
76
+ export type ReconcileResult = {
77
+ action: "noop";
78
+ status: ExecutionStatus | "missing";
79
+ reason?: string;
80
+ }
81
+ /** The ledger already held the charge; the row now says so. */
82
+ | {
83
+ action: "confirmed";
84
+ chargedMnt?: number;
85
+ }
86
+ /** Settlement was re-run from the recorded usage. */
87
+ | {
88
+ action: "settled";
89
+ chargedMnt?: number;
90
+ }
91
+ /** A stale `running` row was failed and its hold released. */
92
+ | {
93
+ action: "abandoned";
70
94
  };
71
95
  export type Executions = ReturnType<typeof createExecutions>;
72
96
  //# sourceMappingURL=lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,cAAmB;mBAC7B,mBAAmB,KAAG,OAAO,CAAC,YAAY,CAAC;EAkOxE;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,cAAmB;mBAC7B,mBAAmB,KAAG,OAAO,CAAC,YAAY,CAAC;6BAgQxD,MAAM,YACV;QAAE,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1C,OAAO,CAAC,eAAe,CAAC;EAoI5B;AAED,MAAM,MAAM,eAAe,GACvB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACH,+DAA+D;GAC7D;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAC9C,qDAAqD;GACnD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5C,8DAA8D;GAC5D;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/dist/lifecycle.js CHANGED
@@ -72,6 +72,7 @@ export function createExecutions(ports = {}) {
72
72
  metadata: {
73
73
  capability: input.capability,
74
74
  requestId,
75
+ code: decision.code,
75
76
  reason: decision.reason,
76
77
  },
77
78
  });
@@ -79,6 +80,7 @@ export function createExecutions(ports = {}) {
79
80
  id,
80
81
  requestId,
81
82
  allowed: false,
83
+ code: decision.code,
82
84
  reason: decision.reason,
83
85
  estimatedMnt: decision.estimatedMnt,
84
86
  usingTrialCredits,
@@ -124,8 +126,17 @@ export function createExecutions(ports = {}) {
124
126
  // complete() racing a fail() — charged the workspace again and
125
127
  // then quietly discovered it had lost the race. Status and
126
128
  // audit were idempotent; the deduction was not.
127
- if (!(await transition("running", "settling")))
129
+ // The usage is written with the claim, before any money moves,
130
+ // so a crash after this point leaves enough on the row for
131
+ // reconcile() to finish the job.
132
+ if (!(await transition("running", "settling", {
133
+ model: model ?? null,
134
+ inputTokens,
135
+ outputTokens,
136
+ totalTokens,
137
+ }))) {
128
138
  return;
139
+ }
129
140
  let chargedMnt;
130
141
  if (ports.settleUsage) {
131
142
  try {
@@ -231,6 +242,128 @@ export function createExecutions(ports = {}) {
231
242
  },
232
243
  };
233
244
  }
234
- return { begin };
245
+ /**
246
+ * Finish an execution the happy path did not.
247
+ *
248
+ * `settling` has two readings — the charge never happened, or it
249
+ * committed and the process died before the final flip — and only
250
+ * the ledger can tell them apart, so the `findSettlement` port is
251
+ * asked first. A charge that exists is confirmed onto the row; one
252
+ * that does not is re-run from the usage the claim recorded. A
253
+ * `running` row older than `abandonRunningAfterMs` (the stream died
254
+ * without reaching complete()/fail()) is failed and its hold
255
+ * released; without that option `running` rows are left alone.
256
+ *
257
+ * Every transition is the same compare-and-swap the lifecycle uses,
258
+ * so a reconcile racing a late complete()/fail() cannot double
259
+ * charge or double release.
260
+ */
261
+ async function reconcile(executionId, options = {}) {
262
+ const rows = await db
263
+ .select()
264
+ .from(executions)
265
+ .where(eq(executions.id, executionId))
266
+ .limit(1);
267
+ const row = rows[0];
268
+ if (!row)
269
+ return { action: "noop", status: "missing" };
270
+ const finish = (fields) => {
271
+ const finishedAt = new Date();
272
+ return {
273
+ finishedAt,
274
+ durationMs: finishedAt.getTime() - row.startedAt.getTime(),
275
+ ...fields,
276
+ };
277
+ };
278
+ const cas = async (from, to, fields) => {
279
+ const updated = await db
280
+ .update(executions)
281
+ .set({ status: to, ...fields })
282
+ .where(and(eq(executions.id, executionId), eq(executions.status, from)))
283
+ .returning();
284
+ return updated.length > 0;
285
+ };
286
+ const audit = (how, extra = {}) => recordAuditEvent({
287
+ workspaceId: row.workspaceId,
288
+ actorId: null,
289
+ actorKind: "system",
290
+ action: "execution.reconciled",
291
+ resourceKind: "execution",
292
+ resourceId: executionId,
293
+ metadata: { requestId: row.requestId, how, ...extra },
294
+ });
295
+ if (row.status === "running") {
296
+ const cutoff = options.abandonRunningAfterMs;
297
+ if (cutoff === undefined ||
298
+ Date.now() - row.startedAt.getTime() < cutoff) {
299
+ return { action: "noop", status: "running" };
300
+ }
301
+ const moved = await cas("running", "failed", finish({ errorMessage: "abandoned: no completion within the cutoff" }));
302
+ if (!moved)
303
+ return { action: "noop", status: "running" };
304
+ if (ports.releaseHold) {
305
+ try {
306
+ await ports.releaseHold({
307
+ workspaceId: row.workspaceId,
308
+ requestId: row.requestId,
309
+ });
310
+ }
311
+ catch (releaseError) {
312
+ log.warn("Hold release failed during reconcile", {
313
+ executionId,
314
+ error: errorMessage(releaseError),
315
+ });
316
+ }
317
+ }
318
+ await audit("abandoned");
319
+ return { action: "abandoned" };
320
+ }
321
+ if (row.status !== "settling") {
322
+ return { action: "noop", status: row.status };
323
+ }
324
+ if (!ports.findSettlement) {
325
+ // Without a way to ask the ledger, re-running settlement could
326
+ // charge a second time. Refuse to guess.
327
+ return {
328
+ action: "noop",
329
+ status: "settling",
330
+ reason: "no findSettlement port bound; cannot tell whether the charge exists",
331
+ };
332
+ }
333
+ const existing = await ports.findSettlement({
334
+ workspaceId: row.workspaceId,
335
+ requestId: row.requestId,
336
+ });
337
+ if (existing) {
338
+ const moved = await cas("settling", "succeeded", finish({ chargedMnt: existing.chargedMnt ?? null }));
339
+ if (moved)
340
+ await audit("confirmed", { chargedMnt: existing.chargedMnt });
341
+ return { action: "confirmed", chargedMnt: existing.chargedMnt };
342
+ }
343
+ if (!ports.settleUsage || row.totalTokens === null) {
344
+ return {
345
+ action: "noop",
346
+ status: "settling",
347
+ reason: "no usage recorded on the row to settle from",
348
+ };
349
+ }
350
+ const settled = await ports.settleUsage({
351
+ workspaceId: row.workspaceId,
352
+ userId: row.userId,
353
+ requestId: row.requestId,
354
+ capability: row.capability,
355
+ model: row.model ?? undefined,
356
+ inputTokens: row.inputTokens ?? 0,
357
+ outputTokens: row.outputTokens ?? 0,
358
+ totalTokens: row.totalTokens,
359
+ usingTrialCredits: false,
360
+ metadata: row.metadata ?? undefined,
361
+ });
362
+ const chargedMnt = settled?.chargedMnt;
363
+ await cas("settling", "succeeded", finish({ chargedMnt: chargedMnt ?? null }));
364
+ await audit("settled", { chargedMnt });
365
+ return { action: "settled", chargedMnt };
366
+ }
367
+ return { begin, reconcile };
235
368
  }
236
369
  //# sourceMappingURL=lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"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"}
package/dist/ports.d.ts CHANGED
@@ -14,6 +14,12 @@
14
14
  */
15
15
  export type EntitlementDecision = {
16
16
  allowed: boolean;
17
+ /**
18
+ * Stable, machine-readable refusal code from the entitlement port
19
+ * (e.g. billing's `insufficient_credits`), for transports to map to a
20
+ * status and to localize. Opaque to the lifecycle.
21
+ */
22
+ code?: string;
17
23
  /** Human-readable refusal, surfaced to the caller and recorded. */
18
24
  reason?: string;
19
25
  /** Worst-case charge held for this execution, in MNT. */
@@ -45,6 +51,10 @@ export type SettlementResult = {
45
51
  /** Actual amount charged, in MNT, if the port computed one. */
46
52
  chargedMnt?: number;
47
53
  };
54
+ export type SettlementQuery = {
55
+ workspaceId: string;
56
+ requestId: string;
57
+ };
48
58
  export type ExecutionPorts = {
49
59
  /**
50
60
  * Decide whether this execution may run and hold the worst-case
@@ -52,10 +62,20 @@ export type ExecutionPorts = {
52
62
  */
53
63
  checkEntitlement?: (request: EntitlementRequest) => Promise<EntitlementDecision>;
54
64
  /**
55
- * Record real usage and release the hold. Called after a successful
56
- * run. Must be idempotent per requestId the lifecycle may retry.
65
+ * Record real usage and release the hold. Called at most once per
66
+ * execution: the lifecycle claims the row by compare-and-swap before
67
+ * calling this and never retries it, so the port itself need not be
68
+ * idempotent (the reference binding, `recordTokenUsage`, is not).
57
69
  */
58
70
  settleUsage?: (settlement: UsageSettlement) => Promise<SettlementResult | void>;
71
+ /**
72
+ * Answer "was this request already charged?" for `reconcile()`: a
73
+ * row stuck in `settling` may mean the charge never happened OR that
74
+ * it committed and the process died before the final status flip.
75
+ * Return the charge if one exists, null otherwise. Optional; without
76
+ * it, reconcile cannot tell the two apart and leaves the row alone.
77
+ */
78
+ findSettlement?: (query: SettlementQuery) => Promise<SettlementResult | null>;
59
79
  /**
60
80
  * Release a hold without charging (run failed before producing
61
81
  * usage). Optional: when absent, the hold is left to expire.
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;;OAGG;IACH,WAAW,CAAC,EAAE,CACZ,UAAU,EAAE,eAAe,KACxB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CACZ,UAAU,EAAE,eAAe,KACxB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAE9E;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB,CAAC"}
package/dist/queries.d.ts CHANGED
@@ -98,10 +98,16 @@ export declare function summarizeExecutionsByDay(workspaceId: string, window: {
98
98
  chargedMnt: number;
99
99
  }>>;
100
100
  /**
101
- * Executions stuck in a non-terminal state past a cutoff — a stream
102
- * that died without reaching complete()/fail() (`running`), or a
103
- * settlement that threw partway (`settling`). The cleanup cron reports
104
- * these; they are the operational signal that usage went unrecorded.
101
+ * Executions stuck in a non-terminal state past a cutoff.
102
+ *
103
+ * `running`: the stream died without reaching complete()/fail()
104
+ * tokens were consumed and nothing was charged. `settling`: the charge
105
+ * was claimed but never confirmed — EITHER `settleUsage` threw and the
106
+ * workspace was not charged, OR the charge committed and the process
107
+ * died before the final `settling → succeeded` flip, in which case the
108
+ * workspace WAS charged. A `usage_records` row (or a `settled`
109
+ * reservation) for the same `requestId` distinguishes the two. This
110
+ * only reports; nothing in the framework repairs these rows.
105
111
  */
106
112
  export declare function findStaleExecutions(olderThan: Date, limit?: number): Promise<{
107
113
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrE,4DAA4D;IAC5D,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,cAAc,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;KAmBvE;AAED,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;UAO9D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE;;;;;;;;;;;;;GAyCjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAC/B,OAAO,CACR,KAAK,CAAC;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CACH,CA2BA;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,SAAM;;;;;;;;;;;;;;;;;;;KAYrE"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrE,4DAA4D;IAC5D,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,cAAc,CAAC,OAAO,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;KAmBvE;AAED,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;UAO9D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE;;;;;;;;;;;;;GAyCjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GAC/B,OAAO,CACR,KAAK,CAAC;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CACH,CA2BA;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,SAAM;;;;;;;;;;;;;;;;;;;KAYrE"}
package/dist/queries.js CHANGED
@@ -101,10 +101,16 @@ export async function summarizeExecutionsByDay(workspaceId, window) {
101
101
  }));
102
102
  }
103
103
  /**
104
- * Executions stuck in a non-terminal state past a cutoff — a stream
105
- * that died without reaching complete()/fail() (`running`), or a
106
- * settlement that threw partway (`settling`). The cleanup cron reports
107
- * these; they are the operational signal that usage went unrecorded.
104
+ * Executions stuck in a non-terminal state past a cutoff.
105
+ *
106
+ * `running`: the stream died without reaching complete()/fail()
107
+ * tokens were consumed and nothing was charged. `settling`: the charge
108
+ * was claimed but never confirmed — EITHER `settleUsage` threw and the
109
+ * workspace was not charged, OR the charge committed and the process
110
+ * died before the final `settling → succeeded` flip, in which case the
111
+ * workspace WAS charged. A `usage_records` row (or a `settled`
112
+ * reservation) for the same `requestId` distinguishes the two. This
113
+ * only reports; nothing in the framework repairs these rows.
108
114
  */
109
115
  export async function findStaleExecutions(olderThan, limit = 100) {
110
116
  return db
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intelligo-dev/executions",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "drizzle-orm": "^0.45.1",
31
- "@intelligo-dev/audit": "1.0.0-beta.1",
32
- "@intelligo-dev/core": "1.0.0-beta.1"
31
+ "@intelligo-dev/audit": "1.0.0-beta.2",
32
+ "@intelligo-dev/core": "1.0.0-beta.2"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^22.0.0",