@sixb/sqlite 0.1.2 → 0.1.4

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 (40) hide show
  1. package/dist/agents/agent-storage.d.ts +5 -3
  2. package/dist/agents/agent-storage.d.ts.map +1 -1
  3. package/dist/agents/checkpoints.d.ts +18 -0
  4. package/dist/agents/checkpoints.d.ts.map +1 -0
  5. package/dist/agents/index.d.ts +1 -0
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/messages.d.ts +2 -1
  8. package/dist/agents/messages.d.ts.map +1 -1
  9. package/dist/agents/rows.d.ts +18 -1
  10. package/dist/agents/rows.d.ts.map +1 -1
  11. package/dist/ai-cost-storage.d.ts +15 -0
  12. package/dist/ai-cost-storage.d.ts.map +1 -0
  13. package/dist/ai-usage-storage.d.ts +2 -1
  14. package/dist/ai-usage-storage.d.ts.map +1 -1
  15. package/dist/index.d.ts +4 -3
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +979 -74
  18. package/dist/index.js.map +15 -13
  19. package/dist/migrations.d.ts.map +1 -1
  20. package/dist/object-storage.d.ts +4 -3
  21. package/dist/object-storage.d.ts.map +1 -1
  22. package/dist/ontology-storage/materialization-state.d.ts.map +1 -1
  23. package/dist/ontology-storage/materialization-writer.d.ts.map +1 -1
  24. package/package.json +3 -3
  25. package/src/agents/agent-storage.ts +6 -3
  26. package/src/agents/checkpoints.ts +205 -0
  27. package/src/agents/index.ts +1 -0
  28. package/src/agents/messages.ts +59 -0
  29. package/src/agents/rows.ts +44 -0
  30. package/src/ai-cost-storage.ts +744 -0
  31. package/src/ai-usage-storage.ts +19 -0
  32. package/src/index.ts +8 -2
  33. package/src/migrations/026-ai-cost-accounting.sql +57 -0
  34. package/src/migrations/027-agent-context-checkpoints.sql +28 -0
  35. package/src/migrations/028-object-override-edit-times.sql +3 -0
  36. package/src/migrations.ts +10 -0
  37. package/src/object-query-compiler.ts +50 -0
  38. package/src/object-storage.ts +138 -34
  39. package/src/ontology-storage/materialization-state.ts +2 -0
  40. package/src/ontology-storage/materialization-writer.ts +6 -3
@@ -1,5 +1,6 @@
1
1
  import type { AgentStorage, ExecutionStorage } from "@sixb/core/storage";
2
2
  import { type SqliteStoreConnection } from "../transactions";
3
+ import { SqliteAgentContextCheckpointStore } from "./checkpoints";
3
4
  import { SqliteAgentMessageStore } from "./messages";
4
5
  import { SqliteAgentRunStore } from "./runs";
5
6
  import { SqliteAgentThreadStore } from "./threads";
@@ -12,14 +13,15 @@ export interface SqliteAgentStorageOptions {
12
13
  executions: ExecutionStorage;
13
14
  }
14
15
  /**
15
- * SQLite-backed agent persistence: thread / run / message sub-stores sharing one connection. The
16
- * cross-table writes (reserve + finish touch the thread anchor, append bumps thread stats) run in
17
- * SQLite transactions; the bundled {@link SqliteStorage} serializes all of them on one connection.
16
+ * SQLite-backed agent persistence: thread, run, message, and context-checkpoint sub-stores sharing
17
+ * one connection. Cross-table writes run in SQLite transactions; the bundled {@link SqliteStorage}
18
+ * serializes them for single-flight and checkpoint compare-and-swap safety.
18
19
  */
19
20
  export declare class SqliteAgentStorage implements AgentStorage {
20
21
  readonly threads: SqliteAgentThreadStore;
21
22
  readonly runs: SqliteAgentRunStore;
22
23
  readonly messages: SqliteAgentMessageStore;
24
+ readonly checkpoints: SqliteAgentContextCheckpointStore;
23
25
  private readonly connection;
24
26
  constructor(options: SqliteAgentStorageOptions);
25
27
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-storage.d.ts","sourceRoot":"","sources":["../../src/agents/agent-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,iEAAiE;IACjE,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAA;IAE1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,OAAO,EAAE,yBAAyB;IAY9C,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"agent-storage.d.ts","sourceRoot":"","sources":["../../src/agents/agent-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,WAAW,yBAAyB;IACxC,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,iEAAiE;IACjE,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,iCAAiC,CAAA;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,OAAO,EAAE,yBAAyB;IAa9C,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,18 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import { type AgentContextCheckpointRecord, type AgentContextCheckpointStore, type CreateAgentContextCheckpointInput } from "@sixb/core/storage";
3
+ export declare class SqliteAgentContextCheckpointStore implements AgentContextCheckpointStore {
4
+ private readonly db;
5
+ constructor(db: Database);
6
+ create(input: CreateAgentContextCheckpointInput): Promise<AgentContextCheckpointRecord>;
7
+ getLatest(input: {
8
+ readonly projectId: string;
9
+ readonly threadId: string;
10
+ }): Promise<AgentContextCheckpointRecord | null>;
11
+ getByRunIds(input: {
12
+ readonly projectId: string;
13
+ readonly runIds: readonly string[];
14
+ }): Promise<readonly AgentContextCheckpointRecord[]>;
15
+ private findLatest;
16
+ private requireById;
17
+ }
18
+ //# sourceMappingURL=checkpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../src/agents/checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQ1C,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAEhC,KAAK,iCAAiC,EACvC,MAAM,oBAAoB,CAAA;AAc3B,qBAAa,iCAAkC,YAAW,2BAA2B;IACvE,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAiHvF,SAAS,CAAC,KAAK,EAAE;QACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAI1C,WAAW,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KACnC,GAAG,OAAO,CAAC,SAAS,4BAA4B,EAAE,CAAC;IAyBpD,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,WAAW;CAYpB"}
@@ -1,5 +1,6 @@
1
1
  export type { SqliteAgentStorageOptions } from "./agent-storage";
2
2
  export { SqliteAgentStorage } from "./agent-storage";
3
+ export { SqliteAgentContextCheckpointStore } from "./checkpoints";
3
4
  export { SqliteAgentMessageStore } from "./messages";
4
5
  export { SqliteAgentRunStore } from "./runs";
5
6
  export { SqliteAgentThreadStore } from "./threads";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import type { Database } from "bun:sqlite";
2
- import { type AgentMessageRecord, type AgentMessageStore, type AppendAgentMessageInput, type ListAgentMessagesInput, type ListAgentMessagesResult } from "@sixb/core/storage";
2
+ import { type AgentMessageRecord, type AgentMessageStore, type AppendAgentMessageInput, type DeleteAgentMessagesByRunInput, type ListAgentMessagesInput, type ListAgentMessagesResult } from "@sixb/core/storage";
3
3
  export declare class SqliteAgentMessageStore implements AgentMessageStore {
4
4
  private readonly db;
5
5
  constructor(db: Database);
6
6
  append(input: AppendAgentMessageInput): Promise<AgentMessageRecord>;
7
+ deleteByRunId(input: DeleteAgentMessagesByRunInput): Promise<number>;
7
8
  getById(params: {
8
9
  projectId: string;
9
10
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/agents/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAA;AAK3B,qBAAa,uBAAwB,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+FnE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAQtF,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2B3E,OAAO,CAAC,cAAc;CAcvB"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/agents/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEtB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAA;AAK3B,qBAAa,uBAAwB,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+FnE,aAAa,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC;IAqDpE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAQtF,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgC3E,OAAO,CAAC,cAAc;CAcvB"}
@@ -1,6 +1,6 @@
1
1
  import type { Database } from "bun:sqlite";
2
2
  import type { Principal } from "@sixb/core";
3
- import { type AgentMessageRecord, type AgentRunRecord, type AgentThreadRecord } from "@sixb/core/storage";
3
+ import { type AgentContextCheckpointRecord, type AgentMessageRecord, type AgentRunRecord, type AgentThreadRecord } from "@sixb/core/storage";
4
4
  import type { SqliteValue } from "../run-list-query";
5
5
  export interface AgentThreadRow {
6
6
  project_id: string;
@@ -51,9 +51,26 @@ export interface AgentMessageRow {
51
51
  created_at: string;
52
52
  completed_at: string | null;
53
53
  }
54
+ export interface AgentContextCheckpointRow {
55
+ project_id: string;
56
+ id: string;
57
+ thread_id: string;
58
+ created_by_run_id: string;
59
+ previous_checkpoint_id: string | null;
60
+ reason: AgentContextCheckpointRecord["reason"];
61
+ summary: string;
62
+ summary_format_version: number;
63
+ summarized_through_seq: number;
64
+ observed_head_seq: number;
65
+ estimated_input_tokens_before: number;
66
+ estimated_input_tokens_after: number;
67
+ summary_model_id: string;
68
+ created_at: string;
69
+ }
54
70
  export declare function rowToThreadRecord(row: AgentThreadRow): AgentThreadRecord;
55
71
  export declare function rowToRunRecord(row: AgentRunRow): AgentRunRecord;
56
72
  export declare function rowToMessageRecord(row: AgentMessageRow): AgentMessageRecord;
73
+ export declare function rowToContextCheckpointRecord(row: AgentContextCheckpointRow): AgentContextCheckpointRecord;
57
74
  export declare function queryAgentList<TRow>(input: {
58
75
  readonly db: Database;
59
76
  readonly table: "agent_threads" | "agent_messages";
@@ -1 +1 @@
1
- {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/agents/rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/agents/rows.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type AiAccountingOverview, type AiCostStorage, type AiCostSummary, type AiModelCallCostRecord, type ListAiModelCallAccountingInput, type ListAiModelCallAccountingResult, type QueryAiAccountingOverviewInput, type SummarizeAiCostExecutionsInput } from "@sixb/core/storage";
2
+ import { type SqliteStoreConnection } from "./transactions";
3
+ /** SQLite-backed immutable valuations stored in one append-only table. */
4
+ export declare class SqliteAiCostStorage implements AiCostStorage {
5
+ private readonly connection;
6
+ constructor(connection: SqliteStoreConnection);
7
+ recordModelCallCost(input: AiModelCallCostRecord): Promise<void>;
8
+ summarizeExecutions(input: SummarizeAiCostExecutionsInput): Promise<readonly AiCostSummary[]>;
9
+ queryProjectOverview(input: QueryAiAccountingOverviewInput): Promise<AiAccountingOverview>;
10
+ listModelCalls(input: ListAiModelCallAccountingInput): Promise<ListAiModelCallAccountingResult>;
11
+ private insertCost;
12
+ private findCost;
13
+ private findUsage;
14
+ }
15
+ //# sourceMappingURL=ai-cost-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-cost-storage.d.ts","sourceRoot":"","sources":["../src/ai-cost-storage.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAElB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAE1B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEpF,0EAA0E;AAC1E,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,qBAAqB;IAExD,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhE,mBAAmB,CACvB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAuB9B,oBAAoB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiB1F,cAAc,CAClB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,+BAA+B,CAAC;IAkB3C,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,SAAS;CAMlB"}
@@ -1,4 +1,4 @@
1
- import { type AiUsageExecutionSummary, type AiUsageStorage, type RecordAiModelCallInput, type RecordAiModelCallResult, type SummarizeAiUsageExecutionInput, type SummarizeAiUsageExecutionsInput } from "@sixb/core/storage";
1
+ import { type AiModelCallUsageRecord, type AiUsageExecutionSummary, type AiUsageStorage, type GetLatestAiModelCallForExecutionInput, type RecordAiModelCallInput, type RecordAiModelCallResult, type SummarizeAiUsageExecutionInput, type SummarizeAiUsageExecutionsInput } from "@sixb/core/storage";
2
2
  import { type SqliteStoreConnection } from "./transactions";
3
3
  export interface SqliteAiUsageStorageOptions {
4
4
  readonly path?: string;
@@ -10,6 +10,7 @@ export declare class SqliteAiUsageStorage implements AiUsageStorage {
10
10
  constructor(options?: SqliteAiUsageStorageOptions);
11
11
  recordModelCall(input: RecordAiModelCallInput): Promise<RecordAiModelCallResult>;
12
12
  summarizeExecution(input: SummarizeAiUsageExecutionInput): Promise<AiUsageExecutionSummary>;
13
+ getLatestForExecution(input: GetLatestAiModelCallForExecutionInput): Promise<AiModelCallUsageRecord | null>;
13
14
  summarizeExecutions(input: SummarizeAiUsageExecutionsInput): Promise<readonly AiUsageExecutionSummary[]>;
14
15
  close(): void;
15
16
  private insertRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-usage-storage.d.ts","sourceRoot":"","sources":["../src/ai-usage-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAKnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACrC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAC5C;AAED,yDAAyD;AACzD,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,OAAO,GAAE,2BAAgC;IAO/C,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoChF,kBAAkB,CACtB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,uBAAuB,CAAC;IAQ7B,mBAAmB,CACvB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC;IAS9C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,YAAY;IAwDpB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,qBAAqB;CAU9B"}
1
+ {"version":3,"file":"ai-usage-storage.d.ts","sourceRoot":"","sources":["../src/ai-usage-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAInB,KAAK,qCAAqC,EAE1C,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACrC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAC5C;AAED,yDAAyD;AACzD,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,OAAO,GAAE,2BAAgC;IAO/C,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoChF,kBAAkB,CACtB,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,uBAAuB,CAAC;IAQ7B,qBAAqB,CACzB,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAgBnC,mBAAmB,CACvB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC;IAS9C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,YAAY;IAwDpB,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,qBAAqB;CAU9B"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { MigrationCapableStorage, Storage, StorageMigrator, StorageTransactionOptions } from "@sixb/core";
2
- import { type AiUsageStorage } from "@sixb/core/storage";
2
+ import { type AiCostStorage, type AiUsageStorage } from "@sixb/core/storage";
3
3
  import { SqliteActionRunStorage } from "./action-run-storage";
4
4
  import { SqliteAgentStorage } from "./agents";
5
5
  import { SqliteAuthStorage } from "./auth-storage";
@@ -20,8 +20,8 @@ export interface SqliteStorageOptions {
20
20
  /**
21
21
  * SQLite storage provider for Sixb.
22
22
  *
23
- * Bundles object, timeseries, auth, execution, AI usage, sync run, pipeline run, projection run,
24
- * workflow run, webhook run, and connector connection storage backed by SQLite.
23
+ * Bundles object, timeseries, auth, execution, AI accounting, sync run, pipeline run, projection
24
+ * run, workflow run, webhook run, and connector connection storage backed by SQLite.
25
25
  *
26
26
  * Usage:
27
27
  * ```ts
@@ -40,6 +40,7 @@ export declare class SqliteStorage implements MigrationCapableStorage {
40
40
  readonly executions: SqliteExecutionStorage;
41
41
  readonly agents: SqliteAgentStorage;
42
42
  readonly aiUsage: AiUsageStorage;
43
+ readonly aiCosts: AiCostStorage;
43
44
  readonly actionRuns: SqliteActionRunStorage;
44
45
  readonly pipelineRuns: SqlitePipelineRunStorage;
45
46
  readonly syncRuns: SqliteSyncRunStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}