@sixb/sqlite 0.1.0 → 0.1.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.
- package/README.md +18 -13
- package/dist/action-run-storage.d.ts +5 -2
- package/dist/action-run-storage.d.ts.map +1 -1
- package/dist/agents/agent-storage.d.ts +4 -2
- package/dist/agents/agent-storage.d.ts.map +1 -1
- package/dist/agents/rows.d.ts +3 -10
- package/dist/agents/rows.d.ts.map +1 -1
- package/dist/agents/runs.d.ts +3 -2
- package/dist/agents/runs.d.ts.map +1 -1
- package/dist/ai-usage-storage.d.ts +22 -0
- package/dist/ai-usage-storage.d.ts.map +1 -0
- package/dist/auth-storage/service-accounts.d.ts.map +1 -1
- package/dist/auth-storage/shared.d.ts +1 -10
- package/dist/auth-storage/shared.d.ts.map +1 -1
- package/dist/connector-connection-storage.d.ts +9 -0
- package/dist/connector-connection-storage.d.ts.map +1 -0
- package/dist/execution-storage.d.ts +14 -0
- package/dist/execution-storage.d.ts.map +1 -0
- package/dist/index.d.ts +13 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4114 -1149
- package/dist/index.js.map +30 -27
- package/dist/latest-run-query.d.ts.map +1 -1
- package/dist/migrations.d.ts +0 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/ontology-storage/materialization-session.d.ts +50 -8
- package/dist/ontology-storage/materialization-session.d.ts.map +1 -1
- package/dist/ontology-storage/materialization-state.d.ts +4 -5
- package/dist/ontology-storage/materialization-state.d.ts.map +1 -1
- package/dist/ontology-storage/materialization-writer.d.ts.map +1 -1
- package/dist/ontology-storage/materializations.d.ts +0 -2
- package/dist/ontology-storage/materializations.d.ts.map +1 -1
- package/dist/ontology-storage/outbox.d.ts.map +1 -1
- package/dist/ontology-storage/shared.d.ts +3 -3
- package/dist/ontology-storage/shared.d.ts.map +1 -1
- package/dist/ontology-storage/sources.d.ts.map +1 -1
- package/dist/pipeline-run-storage.d.ts +7 -2
- package/dist/pipeline-run-storage.d.ts.map +1 -1
- package/dist/projection-run-storage.d.ts +9 -2
- package/dist/projection-run-storage.d.ts.map +1 -1
- package/dist/run-list-query.d.ts +1 -1
- package/dist/run-list-query.d.ts.map +1 -1
- package/dist/sync-run-storage.d.ts +7 -2
- package/dist/sync-run-storage.d.ts.map +1 -1
- package/dist/testing.d.ts +6 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/transactions.d.ts +3 -0
- package/dist/transactions.d.ts.map +1 -1
- package/dist/webhook-run-storage.d.ts +9 -2
- package/dist/webhook-run-storage.d.ts.map +1 -1
- package/dist/workflow-run-storage.d.ts +7 -3
- package/dist/workflow-run-storage.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/action-run-storage.ts +51 -74
- package/src/agents/agent-storage.ts +5 -3
- package/src/agents/rows.ts +8 -40
- package/src/agents/runs.ts +27 -21
- package/src/ai-usage-storage.ts +324 -0
- package/src/auth-storage/service-accounts.ts +14 -21
- package/src/auth-storage/shared.ts +0 -22
- package/src/connector-connection-storage.ts +784 -0
- package/src/execution-storage.ts +158 -0
- package/src/index.ts +63 -22
- package/src/latest-run-query.ts +7 -1
- package/src/migrations/002-workflow-run-output.sql +27 -0
- package/src/migrations/003-merge-sync-runs.sql +71 -0
- package/src/migrations/004-executions.sql +142 -0
- package/src/migrations/005-workflow-executions.sql +7 -0
- package/src/migrations/006-narrow-ontology-source-root-index.sql +4 -0
- package/src/migrations/007-split-overrides.sql +154 -0
- package/src/migrations/008-action-executions.sql +4 -0
- package/src/migrations/009-agent-executions.sql +115 -0
- package/src/migrations/010-ai-usage-accounting-foundation.sql +74 -0
- package/src/migrations/011-sync-failure-record.sql +22 -0
- package/src/migrations/012-pipeline-failure-record.sql +45 -0
- package/src/migrations/013-workflow-failure-record.sql +45 -0
- package/src/migrations/014-agent-failure-record.sql +59 -0
- package/src/migrations/015-projection-failure-record.sql +20 -0
- package/src/migrations/016-webhook-run-failure-record.sql +19 -0
- package/src/migrations/017-action-failure-record.sql +65 -0
- package/src/migrations/018-ontology-outbox-failure-record.sql +80 -0
- package/src/migrations/019-webhook-delivery-failure-record.sql +62 -0
- package/src/migrations/020-drop-run-usage-projections.sql +7 -0
- package/src/migrations/021-sync-pipeline-executions.sql +101 -0
- package/src/migrations/022-projection-executions.sql +244 -0
- package/src/migrations/023-webhook-executions.sql +51 -0
- package/src/migrations/024-ontology-commit-executions.sql +58 -0
- package/src/migrations/025-connector-connections.sql +257 -0
- package/src/migrations.ts +126 -5
- package/src/ontology-storage/materialization-session.ts +317 -143
- package/src/ontology-storage/materialization-state.ts +398 -150
- package/src/ontology-storage/materialization-writer.ts +142 -67
- package/src/ontology-storage/materializations.ts +67 -141
- package/src/ontology-storage/outbox.ts +10 -3
- package/src/ontology-storage/shared.ts +10 -4
- package/src/ontology-storage/sources.ts +4 -1
- package/src/pipeline-run-storage.ts +128 -43
- package/src/projection-run-storage.ts +209 -97
- package/src/run-list-query.ts +9 -4
- package/src/sync-run-storage.ts +120 -34
- package/src/testing.ts +20 -0
- package/src/transactions.ts +10 -3
- package/src/webhook-run-storage.ts +118 -74
- package/src/workflow-run-storage.ts +124 -133
- package/dist/validation.d.ts +0 -5
- package/dist/validation.d.ts.map +0 -1
- package/dist/webhook-delivery-storage.d.ts +0 -27
- package/dist/webhook-delivery-storage.d.ts.map +0 -1
- package/src/validation.ts +0 -30
- package/src/webhook-delivery-storage.ts +0 -272
package/README.md
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
SQLite storage provider for Sixb, built on `bun:sqlite`.
|
|
4
4
|
|
|
5
|
-
Backs every Sixb store — objects, ontology commits, auth, agents,
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Backs every Sixb store — objects, ontology commits, auth, agents, the immutable execution and AI
|
|
6
|
+
usage ledgers, timeseries, and the run history for actions, syncs, pipelines, projections,
|
|
7
|
+
workflows, webhooks, and managed connector connections — from a single local database file. This
|
|
8
|
+
is the storage `bun create sixb` scaffolds, and part of what makes a fresh project run with no
|
|
8
9
|
service to install.
|
|
9
10
|
|
|
10
11
|
## Install
|
|
@@ -33,9 +34,10 @@ empty.
|
|
|
33
34
|
With a `path`, `SqliteStorage` exposes core's `StorageMigrator` contract and the CLI runs it at
|
|
34
35
|
startup. You do not write migrations — they ship inside this package.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
Applied migrations are checksummed and schema changes ship as new ordered steps. Keep the database
|
|
38
|
+
file when upgrading normally; incompatible or dirty history fails startup instead of silently
|
|
39
|
+
rewriting an unknown schema. Before 1.0, an explicitly breaking migration may still require deleting
|
|
40
|
+
the database file and starting over.
|
|
39
41
|
|
|
40
42
|
## Transactions
|
|
41
43
|
|
|
@@ -45,13 +47,16 @@ await storage.transaction(async (tx) => {
|
|
|
45
47
|
})
|
|
46
48
|
```
|
|
47
49
|
|
|
48
|
-
Nested transactions are rejected. The `isolation` option is accepted and **ignored**: every
|
|
49
|
-
transaction runs through one
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
meaningful on a provider with true concurrent connections, such as [`@sixb/pg`](../pg).
|
|
50
|
+
Nested transactions are rejected. The `isolation` option is accepted and **ignored**: every write
|
|
51
|
+
transaction runs through one connection, serialized by an internal lock and a `BEGIN IMMEDIATE`, so
|
|
52
|
+
there is no concurrent writer to isolate against. `isolation: "serializable"` only becomes meaningful
|
|
53
|
+
on a provider with true concurrent connections, such as [`@sixb/pg`](../pg).
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
File-backed storage uses WAL mode and serves object and timeseries queries from a separate read-only
|
|
56
|
+
snapshot connection. Long materializations therefore do not block those reads behind the writer.
|
|
57
|
+
In-memory storage keeps one connection because SQLite in-memory databases are connection-local.
|
|
58
|
+
|
|
59
|
+
Reach for `@sixb/pg` before scaling out: SQLite still has one writer and is intended for one local
|
|
60
|
+
Sixb process, not shared replicas.
|
|
56
61
|
|
|
57
62
|
Call `close()` on shutdown.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { ActionRunRecord, ActionRunStorage, EnterActionRunPhaseInput, FinishActionRunInput, ListActionRunsInput, ListActionRunsResult, LockActionMaterializationRunInput, QueueActionRunInput, RecordActionEffectsInput, RecordActionWritebackInput, StartActionRunInput } from "@sixb/core/storage";
|
|
1
|
+
import type { ActionRunRecord, ActionRunStorage, EnterActionRunPhaseInput, ExecutionStorage, FinishActionRunInput, ListActionRunsInput, ListActionRunsResult, LockActionMaterializationRunInput, QueueActionRunInput, RecordActionEffectsInput, RecordActionWritebackInput, StartActionRunInput } from "@sixb/core/storage";
|
|
2
2
|
import { type SqliteStoreConnection } from "./transactions";
|
|
3
3
|
export interface SqliteActionRunStorageOptions {
|
|
4
|
+
/** Execution lookup sharing the same provider transaction. */
|
|
5
|
+
executions: ExecutionStorage;
|
|
4
6
|
/** Path to SQLite database file. Defaults to ':memory:' for in-memory database. */
|
|
5
7
|
path?: string;
|
|
6
8
|
/** Internal shared connection used by bundled SqliteStorage. */
|
|
@@ -9,7 +11,8 @@ export interface SqliteActionRunStorageOptions {
|
|
|
9
11
|
export declare class SqliteActionRunStorage implements ActionRunStorage {
|
|
10
12
|
private readonly connection;
|
|
11
13
|
private readonly db;
|
|
12
|
-
|
|
14
|
+
private readonly executions;
|
|
15
|
+
constructor(options: SqliteActionRunStorageOptions);
|
|
13
16
|
lockForMaterialization(input: LockActionMaterializationRunInput): Promise<ActionRunRecord>;
|
|
14
17
|
queue(input: QueueActionRunInput): Promise<ActionRunRecord>;
|
|
15
18
|
private requeueAfterEnqueueFailure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-run-storage.d.ts","sourceRoot":"","sources":["../src/action-run-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-run-storage.d.ts","sourceRoot":"","sources":["../src/action-run-storage.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAKV,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,6BAA6B;IAC5C,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,OAAO,EAAE,6BAA6B;IAU5C,sBAAsB,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,eAAe,CAAC;IA+B1F,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;YA6EnD,0BAA0B;IAiDlC,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IA8C3D,UAAU,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBrE,eAAe,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC;IA+C5E,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IA6CxE,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiD7D,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAQnF,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8GrE,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,iBAAiB;CAmB1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentStorage } from "@sixb/core/storage";
|
|
1
|
+
import type { AgentStorage, ExecutionStorage } from "@sixb/core/storage";
|
|
2
2
|
import { type SqliteStoreConnection } from "../transactions";
|
|
3
3
|
import { SqliteAgentMessageStore } from "./messages";
|
|
4
4
|
import { SqliteAgentRunStore } from "./runs";
|
|
@@ -8,6 +8,8 @@ export interface SqliteAgentStorageOptions {
|
|
|
8
8
|
path?: string;
|
|
9
9
|
/** Internal shared connection used by bundled SqliteStorage. */
|
|
10
10
|
connection?: SqliteStoreConnection;
|
|
11
|
+
/** Execution ledger used to validate immutable run ownership. */
|
|
12
|
+
executions: ExecutionStorage;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* SQLite-backed agent persistence: thread / run / message sub-stores sharing one connection. The
|
|
@@ -19,7 +21,7 @@ export declare class SqliteAgentStorage implements AgentStorage {
|
|
|
19
21
|
readonly runs: SqliteAgentRunStore;
|
|
20
22
|
readonly messages: SqliteAgentMessageStore;
|
|
21
23
|
private readonly connection;
|
|
22
|
-
constructor(options
|
|
24
|
+
constructor(options: SqliteAgentStorageOptions);
|
|
23
25
|
close(): void;
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=agent-storage.d.ts.map
|
|
@@ -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,MAAM,oBAAoB,CAAA;
|
|
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"}
|
package/dist/agents/rows.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "bun:sqlite";
|
|
2
|
-
import {
|
|
2
|
+
import type { Principal } from "@sixb/core";
|
|
3
3
|
import { type AgentMessageRecord, type AgentRunRecord, type AgentThreadRecord } from "@sixb/core/storage";
|
|
4
4
|
import type { SqliteValue } from "../run-list-query";
|
|
5
5
|
export interface AgentThreadRow {
|
|
@@ -19,21 +19,14 @@ export interface AgentThreadRow {
|
|
|
19
19
|
export interface AgentRunRow {
|
|
20
20
|
project_id: string;
|
|
21
21
|
id: string;
|
|
22
|
+
execution_id: string;
|
|
22
23
|
thread_id: string;
|
|
23
24
|
agent_id: string;
|
|
24
25
|
trigger_message_id: string;
|
|
25
|
-
|
|
26
|
-
requested_by_principal_id: string | null;
|
|
27
|
-
execution_principal_type: "serviceAccount" | null;
|
|
28
|
-
execution_principal_id: string | null;
|
|
26
|
+
requester_group_ids: string;
|
|
29
27
|
status: AgentRunRecord["status"];
|
|
30
28
|
model_id: string | null;
|
|
31
29
|
finish_reason: string | null;
|
|
32
|
-
usage_input_tokens: number | null;
|
|
33
|
-
usage_output_tokens: number | null;
|
|
34
|
-
usage_total_tokens: number | null;
|
|
35
|
-
usage_reasoning_tokens: number | null;
|
|
36
|
-
usage_cached_input_tokens: number | null;
|
|
37
30
|
error: string | null;
|
|
38
31
|
diagnostics: string | null;
|
|
39
32
|
attempt: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/agents/rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/agents/rows.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/runs.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Database } from "bun:sqlite";
|
|
2
|
-
import { type AgentRunRecord, type AgentRunStore, type ConfirmAgentRunExecutionOwnershipInput, type CreateAgentRunInput, type FinishAgentRunInput, type FinishQueuedAgentRunInput, type ListAgentRunsInput, type ListAgentRunsResult, type ReclaimAgentRunInput, type StartAgentRunInput } from "@sixb/core/storage";
|
|
2
|
+
import { type AgentRunRecord, type AgentRunStore, type ConfirmAgentRunExecutionOwnershipInput, type CreateAgentRunInput, type ExecutionStorage, type FinishAgentRunInput, type FinishQueuedAgentRunInput, type ListAgentRunsInput, type ListAgentRunsResult, type ReclaimAgentRunInput, type StartAgentRunInput } from "@sixb/core/storage";
|
|
3
3
|
export declare class SqliteAgentRunStore implements AgentRunStore {
|
|
4
4
|
private readonly db;
|
|
5
|
-
|
|
5
|
+
private readonly executions;
|
|
6
|
+
constructor(db: Database, executions: ExecutionStorage);
|
|
6
7
|
create(input: CreateAgentRunInput): Promise<AgentRunRecord>;
|
|
7
8
|
start(input: StartAgentRunInput): Promise<AgentRunRecord>;
|
|
8
9
|
finishQueued(input: FinishQueuedAgentRunInput): Promise<AgentRunRecord>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/agents/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/agents/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAI1C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EAElB,KAAK,sCAAsC,EAC3C,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAA;AAY3B,qBAAa,mBAAoB,YAAW,aAAa;IAErD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,gBAAgB;IAGzC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IA8E3D,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BzD,YAAY,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0BvE,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB7D,yBAAyB,CAC7B,KAAK,EAAE,sCAAsC,GAC5C,OAAO,CAAC,cAAc,CAAC;IAuBpB,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAkD3D,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQlF,QAAQ,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,MAAM,CAAA;QACjB,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;KACvB,GAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;IAuBhC,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiCnE,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,UAAU;CAcnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type AiUsageExecutionSummary, type AiUsageStorage, type RecordAiModelCallInput, type RecordAiModelCallResult, type SummarizeAiUsageExecutionInput, type SummarizeAiUsageExecutionsInput } from "@sixb/core/storage";
|
|
2
|
+
import { type SqliteStoreConnection } from "./transactions";
|
|
3
|
+
export interface SqliteAiUsageStorageOptions {
|
|
4
|
+
readonly path?: string;
|
|
5
|
+
readonly connection?: SqliteStoreConnection;
|
|
6
|
+
}
|
|
7
|
+
/** SQLite-backed append-only model-call usage ledger. */
|
|
8
|
+
export declare class SqliteAiUsageStorage implements AiUsageStorage {
|
|
9
|
+
private readonly connection;
|
|
10
|
+
constructor(options?: SqliteAiUsageStorageOptions);
|
|
11
|
+
recordModelCall(input: RecordAiModelCallInput): Promise<RecordAiModelCallResult>;
|
|
12
|
+
summarizeExecution(input: SummarizeAiUsageExecutionInput): Promise<AiUsageExecutionSummary>;
|
|
13
|
+
summarizeExecutions(input: SummarizeAiUsageExecutionsInput): Promise<readonly AiUsageExecutionSummary[]>;
|
|
14
|
+
close(): void;
|
|
15
|
+
private insertRecord;
|
|
16
|
+
private findByIdempotencyKey;
|
|
17
|
+
private requireById;
|
|
18
|
+
private rowToRecord;
|
|
19
|
+
private executionRows;
|
|
20
|
+
private assertExecutionExists;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ai-usage-storage.d.ts.map
|
|
@@ -0,0 +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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-accounts.d.ts","sourceRoot":"","sources":["../../src/auth-storage/service-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,oBAAoB,CAAA;AAc3B,qBAAa,6BAA8B,YAAW,uBAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0D3E,OAAO,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KACpB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAOlC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"service-accounts.d.ts","sourceRoot":"","sources":["../../src/auth-storage/service-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,oBAAoB,CAAA;AAc3B,qBAAa,6BAA8B,YAAW,uBAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEnC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0D3E,OAAO,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KACpB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAOlC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8B3E,IAAI,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAqCxF"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { Database } from "bun:sqlite";
|
|
2
2
|
import type { AuthSessionAudience } from "@sixb/core";
|
|
3
|
-
import type { CompleteAuthSessionInput, CreateAuthSessionInput, GroupMembershipRecord, InvitationRecord, MagicLinkRecord, OidcAuthorizationAttemptRecord, UpsertAuthGroupMembershipInput
|
|
3
|
+
import type { CompleteAuthSessionInput, CreateAuthSessionInput, GroupMembershipRecord, InvitationRecord, MagicLinkRecord, OidcAuthorizationAttemptRecord, UpsertAuthGroupMembershipInput } from "@sixb/core/storage";
|
|
4
4
|
import type { SqliteAuthMagicLinkRow, SqliteAuthOidcAttemptRow, SqliteAuthSessionRow, SqliteAuthUserIdentityRow, SqliteAuthUserRow } from "./rows";
|
|
5
5
|
import { rowToSessionRecord } from "./rows";
|
|
6
6
|
export type SqliteValue = string | number | null;
|
|
7
7
|
export declare function assertNonEmpty(value: string, label: string): string;
|
|
8
8
|
export declare function normalizeEmail(email: string): string;
|
|
9
9
|
export declare function normalizeGroupIds(groupIds: readonly string[] | undefined): readonly string[];
|
|
10
|
-
export declare function cloneRecord<T>(record: T): T;
|
|
11
10
|
export declare function dateOrNow(value: Date | undefined): Date;
|
|
12
11
|
export declare function toIso(value: Date): string;
|
|
13
12
|
export declare function hasEmptyFilter(values: readonly unknown[] | undefined): boolean;
|
|
@@ -19,18 +18,10 @@ export declare function getUserRowById(db: Database, params: {
|
|
|
19
18
|
readonly projectId: string;
|
|
20
19
|
readonly id: string;
|
|
21
20
|
}): SqliteAuthUserRow | null;
|
|
22
|
-
export declare function getUserById(db: Database, params: {
|
|
23
|
-
readonly projectId: string;
|
|
24
|
-
readonly id: string;
|
|
25
|
-
}): UserRecord | null;
|
|
26
21
|
export declare function getUserRowByEmail(db: Database, params: {
|
|
27
22
|
readonly projectId: string;
|
|
28
23
|
readonly email: string;
|
|
29
24
|
}): SqliteAuthUserRow | null;
|
|
30
|
-
export declare function getUserByEmail(db: Database, params: {
|
|
31
|
-
readonly projectId: string;
|
|
32
|
-
readonly email: string;
|
|
33
|
-
}): UserRecord | null;
|
|
34
25
|
export declare function getIdentityRowBySubject(db: Database, params: {
|
|
35
26
|
readonly projectId: string;
|
|
36
27
|
readonly strategyId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/auth-storage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,8BAA8B,EAC9B,8BAA8B,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/auth-storage/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DurableConnectorConnectionStorage } from "@sixb/core/internal/connector-connection-storage-provider";
|
|
2
|
+
import { type SqliteStoreConnection } from "./transactions";
|
|
3
|
+
export declare class SqliteConnectorConnectionStorage extends DurableConnectorConnectionStorage {
|
|
4
|
+
private readonly clock;
|
|
5
|
+
constructor(connection: SqliteStoreConnection);
|
|
6
|
+
/** Internal deterministic clock control used only by the provider contract suite. */
|
|
7
|
+
advanceTimeForTesting(durationMs: number): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=connector-connection-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-connection-storage.d.ts","sourceRoot":"","sources":["../src/connector-connection-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,iCAAiC,EAClC,MAAM,2DAA2D,CAAA;AASlE,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEzF,qBAAa,gCAAiC,SAAQ,iCAAiC;IACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;gBAExC,UAAU,EAAE,qBAAqB;IAM7C,qFAAqF;IACrF,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAGhD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { CreateExecutionInput, ExecutionRecord, ExecutionStorage } from "@sixb/core/storage";
|
|
3
|
+
import type { SqliteAuthStorage } from "./auth-storage";
|
|
4
|
+
export declare class SqliteExecutionStorage implements ExecutionStorage {
|
|
5
|
+
private readonly db;
|
|
6
|
+
private readonly auth;
|
|
7
|
+
constructor(db: Database, auth: SqliteAuthStorage);
|
|
8
|
+
create(input: CreateExecutionInput): Promise<ExecutionRecord>;
|
|
9
|
+
getById(params: {
|
|
10
|
+
readonly projectId: string;
|
|
11
|
+
readonly id: string;
|
|
12
|
+
}): Promise<ExecutionRecord | null>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=execution-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-storage.d.ts","sourceRoot":"","sources":["../src/execution-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQ1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,qBAAa,sBAAuB,YAAW,gBAAgB;IAE3D,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,iBAAiB;IAGpC,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsE7D,OAAO,CAAC,MAAM,EAAE;QACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KACpB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CAapC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { MigrationCapableStorage, Storage, StorageMigrator, StorageTransactionOptions } from "@sixb/core";
|
|
2
|
+
import { type AiUsageStorage } from "@sixb/core/storage";
|
|
2
3
|
import { SqliteActionRunStorage } from "./action-run-storage";
|
|
3
4
|
import { SqliteAgentStorage } from "./agents";
|
|
4
5
|
import { SqliteAuthStorage } from "./auth-storage";
|
|
6
|
+
import { SqliteConnectorConnectionStorage } from "./connector-connection-storage";
|
|
7
|
+
import { SqliteExecutionStorage } from "./execution-storage";
|
|
5
8
|
import { SqliteOntologyStorage } from "./ontology-storage";
|
|
6
9
|
import { SqlitePipelineRunStorage } from "./pipeline-run-storage";
|
|
7
10
|
import { SqliteProjectionRunStorage } from "./projection-run-storage";
|
|
8
11
|
import { SqliteRulesStorage } from "./rules-storage";
|
|
9
12
|
import { SqliteSyncRunStorage } from "./sync-run-storage";
|
|
10
|
-
import { SqliteWebhookDeliveryStorage } from "./webhook-delivery-storage";
|
|
11
13
|
import { SqliteWebhookRunStorage } from "./webhook-run-storage";
|
|
12
14
|
import { SqliteWorkflowInterventionStorage } from "./workflow-intervention-storage";
|
|
13
15
|
import { SqliteWorkflowRunStorage } from "./workflow-run-storage";
|
|
@@ -18,8 +20,8 @@ export interface SqliteStorageOptions {
|
|
|
18
20
|
/**
|
|
19
21
|
* SQLite storage provider for Sixb.
|
|
20
22
|
*
|
|
21
|
-
* Bundles object, timeseries, auth, sync run, pipeline run, projection run,
|
|
22
|
-
* run, and
|
|
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
25
|
*
|
|
24
26
|
* Usage:
|
|
25
27
|
* ```ts
|
|
@@ -35,7 +37,9 @@ export declare class SqliteStorage implements MigrationCapableStorage {
|
|
|
35
37
|
readonly objects: Storage["objects"];
|
|
36
38
|
readonly ontology: SqliteOntologyStorage;
|
|
37
39
|
readonly auth: SqliteAuthStorage;
|
|
40
|
+
readonly executions: SqliteExecutionStorage;
|
|
38
41
|
readonly agents: SqliteAgentStorage;
|
|
42
|
+
readonly aiUsage: AiUsageStorage;
|
|
39
43
|
readonly actionRuns: SqliteActionRunStorage;
|
|
40
44
|
readonly pipelineRuns: SqlitePipelineRunStorage;
|
|
41
45
|
readonly syncRuns: SqliteSyncRunStorage;
|
|
@@ -43,21 +47,21 @@ export declare class SqliteStorage implements MigrationCapableStorage {
|
|
|
43
47
|
readonly workflowRuns: SqliteWorkflowRunStorage;
|
|
44
48
|
readonly workflowInterventions: SqliteWorkflowInterventionStorage;
|
|
45
49
|
readonly timeseries: Storage["timeseries"];
|
|
46
|
-
readonly webhookDeliveries: SqliteWebhookDeliveryStorage;
|
|
47
50
|
readonly webhookRuns: SqliteWebhookRunStorage;
|
|
48
51
|
readonly rules: SqliteRulesStorage;
|
|
52
|
+
readonly connectorConnections: SqliteConnectorConnectionStorage;
|
|
49
53
|
readonly migrators: readonly StorageMigrator[];
|
|
50
54
|
private readonly connection;
|
|
55
|
+
private readonly readConnection;
|
|
51
56
|
private readonly transactionScope;
|
|
52
57
|
private transactionTail;
|
|
53
58
|
constructor(options?: SqliteStorageOptions);
|
|
54
59
|
ping(): Promise<void>;
|
|
55
60
|
/**
|
|
56
|
-
* The `isolation` option is intentionally ignored. SQLite runs every transaction through
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* `isolation: "serializable"` translates to a real isolation level.
|
|
61
|
+
* The `isolation` option is intentionally ignored. SQLite runs every write transaction through
|
|
62
|
+
* one connection serialized by {@link withTransactionLock} and a `BEGIN IMMEDIATE`, so there is no
|
|
63
|
+
* concurrent writer to isolate against. File-backed object and timeseries reads use a separate WAL
|
|
64
|
+
* snapshot connection; Postgres is where `isolation: "serializable"` maps to a real isolation level.
|
|
61
65
|
*/
|
|
62
66
|
transaction<T>(run: (tx: Storage) => Promise<T> | T, _options?: StorageTransactionOptions): Promise<T>;
|
|
63
67
|
close(): void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,OAAO,EACP,eAAe,EACf,yBAAyB,EAC1B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EACvB,OAAO,EACP,eAAe,EACf,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AAUnB,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAO5D,OAAO,EAAE,qBAAqB,EAAyC,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AASzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,YAAW,uBAAuB;IAC3D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAA;IACnD,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAA;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,iCAAiC,CAAA;IACjE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;IAClC,QAAQ,CAAC,oBAAoB,EAAE,gCAAgC,CAAA;IAC/D,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;IAE9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+C;IAChF,OAAO,CAAC,eAAe,CAAmC;gBAE9C,OAAO,GAAE,oBAAyB;IA6DxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EACjB,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACpC,QAAQ,GAAE,yBAA8B,GACvC,OAAO,CAAC,CAAC,CAAC;IAqCb,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,4BAA4B;YAOtB,mBAAmB;CAclC;AAsDD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA"}
|