@cleocode/contracts 2026.5.56 → 2026.5.57
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/dist/docs-accessor.d.ts +174 -0
- package/dist/docs-accessor.d.ts.map +1 -0
- package/dist/docs-accessor.js +33 -0
- package/dist/docs-accessor.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/postgres-data-accessor.d.ts +167 -0
- package/dist/postgres-data-accessor.d.ts.map +1 -0
- package/dist/postgres-data-accessor.js +33 -0
- package/dist/postgres-data-accessor.js.map +1 -0
- package/package.json +2 -2
- package/src/docs-accessor.ts +208 -0
- package/src/index.ts +22 -0
- package/src/postgres-data-accessor.ts +199 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocsAccessor — unified interface for all document operations in CLEO.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts the scattered document surfaces behind a single typed API:
|
|
5
|
+
* - llmtxt/sdk (AgentSession, receipt, version patches)
|
|
6
|
+
* - llmtxt/blob (content-addressed blob store)
|
|
7
|
+
* - llmtxt/graph (KnowledgeGraph)
|
|
8
|
+
* - raw filesystem agent-outputs (migrated via T9064)
|
|
9
|
+
*
|
|
10
|
+
* Consumers depend on DocsAccessor, NOT on llmtxt/* subpaths directly.
|
|
11
|
+
* The llmtxt SDK becomes an implementation detail of DocsAccessorImpl.
|
|
12
|
+
*
|
|
13
|
+
* DB storage split (ADR-068 — DB Charter):
|
|
14
|
+
* - storeDoc(kind=session-receipt | transcript) → writes to llmtxt.db
|
|
15
|
+
* - storeDoc(kind=adr | agent-output | attachment) → writes to manifest.db (blob store)
|
|
16
|
+
* - searchDocs() → queries llmtxt.db via llmtxt/similarity
|
|
17
|
+
* - listDocs(kind=knowledge-graph-node) → queries llmtxt.db graph tables
|
|
18
|
+
*
|
|
19
|
+
* Coordination model (ADR-069 — Coordination Layers):
|
|
20
|
+
* - DocsAccessor is a read/write accessor in the Storage Layer.
|
|
21
|
+
* - CLI commands go through the Dispatch Layer; they accept a DocsAccessor
|
|
22
|
+
* injected via the existing createDataAccessor() → UmbrellaDataAccessor chain.
|
|
23
|
+
* - No direct SQLite access in consumers — all queries route through DocsAccessor.
|
|
24
|
+
*
|
|
25
|
+
* @task T9063
|
|
26
|
+
* @epic T9048
|
|
27
|
+
* @see ADR-068 (DB Charter — per-DB write ownership)
|
|
28
|
+
* @see ADR-069 (Coordination Layers — Storage Layer contract)
|
|
29
|
+
* @see T1824 (Decision Storage Consolidation — DocsAccessor becomes the write path for ADRs)
|
|
30
|
+
* @see T1825 (ADR migration — ADR files ingest via storeDoc(kind='adr'))
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* All document kinds that DocsAccessor can store and retrieve.
|
|
34
|
+
*
|
|
35
|
+
* - `adr` — Architecture Decision Records (docs/adr/*.md)
|
|
36
|
+
* - `agent-output` — Agent session markdown outputs (.cleo/agent-outputs/*.md)
|
|
37
|
+
* - `transcript` — Full agent conversation transcripts (llmtxt.db)
|
|
38
|
+
* - `attachment` — Task attachments (manifest.db blob store)
|
|
39
|
+
* - `session-receipt` — llmtxt session receipts (llmtxt.db sessions table)
|
|
40
|
+
* - `knowledge-graph-node` — Nodes from llmtxt/graph KnowledgeGraph (llmtxt.db)
|
|
41
|
+
*/
|
|
42
|
+
export type DocKind = 'adr' | 'agent-output' | 'transcript' | 'attachment' | 'session-receipt' | 'knowledge-graph-node';
|
|
43
|
+
/**
|
|
44
|
+
* A stored document record returned by getDoc / listDocs.
|
|
45
|
+
*/
|
|
46
|
+
export interface DocRecord {
|
|
47
|
+
/** Content-addressed identifier (SHA-256 hex for blob-backed; UUID for DB-backed). */
|
|
48
|
+
readonly id: string;
|
|
49
|
+
/** Document kind. */
|
|
50
|
+
readonly kind: DocKind;
|
|
51
|
+
/** Raw content of the document (UTF-8 text or base64 for binary). */
|
|
52
|
+
readonly content: string;
|
|
53
|
+
/** Human-readable title or filename. */
|
|
54
|
+
readonly title: string | null;
|
|
55
|
+
/** ISO 8601 creation timestamp. */
|
|
56
|
+
readonly createdAt: string;
|
|
57
|
+
/** Linked task IDs (e.g. the task this agent-output was produced for). */
|
|
58
|
+
readonly linkedTaskIds: string[];
|
|
59
|
+
/** Arbitrary metadata blob (kind-specific). */
|
|
60
|
+
readonly meta: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Parameters for {@link DocsAccessor.storeDoc}.
|
|
64
|
+
*/
|
|
65
|
+
export interface StoreDocParams {
|
|
66
|
+
/** Document kind determining which backing store is used. */
|
|
67
|
+
kind: DocKind;
|
|
68
|
+
/** Raw document content (UTF-8). */
|
|
69
|
+
content: string;
|
|
70
|
+
/** Human-readable title or filename. */
|
|
71
|
+
title?: string;
|
|
72
|
+
/** Task IDs to link to this document. */
|
|
73
|
+
linkedTaskIds?: string[];
|
|
74
|
+
/** Arbitrary metadata to attach (kind-specific). */
|
|
75
|
+
meta?: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Result from {@link DocsAccessor.storeDoc}.
|
|
79
|
+
*/
|
|
80
|
+
export interface StoreDocResult {
|
|
81
|
+
/** Assigned document ID (SHA-256 for blob-backed, UUID for DB-backed). */
|
|
82
|
+
readonly id: string;
|
|
83
|
+
/** The backing store that received the write. */
|
|
84
|
+
readonly backend: 'llmtxt.db' | 'manifest.db';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Filters for {@link DocsAccessor.listDocs}.
|
|
88
|
+
*/
|
|
89
|
+
export interface ListDocsFilters {
|
|
90
|
+
/** Restrict to one document kind. */
|
|
91
|
+
kind?: DocKind;
|
|
92
|
+
/** Restrict to documents linked to this task ID. */
|
|
93
|
+
linkedTaskId?: string;
|
|
94
|
+
/** Maximum number of results. Default: 100. */
|
|
95
|
+
limit?: number;
|
|
96
|
+
/** Offset for pagination. */
|
|
97
|
+
offset?: number;
|
|
98
|
+
/** Order by. Default: 'createdAt'. */
|
|
99
|
+
orderBy?: 'createdAt' | 'title';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* A search hit from {@link DocsAccessor.searchDocs}.
|
|
103
|
+
*/
|
|
104
|
+
export interface DocSearchHit {
|
|
105
|
+
/** The matching document record. */
|
|
106
|
+
readonly doc: DocRecord;
|
|
107
|
+
/** Similarity score (0–1, higher is more relevant). */
|
|
108
|
+
readonly score: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Export format for {@link DocsAccessor.exportDoc}.
|
|
112
|
+
*/
|
|
113
|
+
export type DocExportFormat = 'markdown' | 'json' | 'plain';
|
|
114
|
+
/**
|
|
115
|
+
* DocsAccessor — unified interface for all CLEO document operations.
|
|
116
|
+
*
|
|
117
|
+
* Backed by llmtxt.db (sessions + receipts) and manifest.db (blob attachments).
|
|
118
|
+
* Both backing stores are opaque to consumers — all access goes through this
|
|
119
|
+
* interface.
|
|
120
|
+
*
|
|
121
|
+
* DB write ownership (ADR-068):
|
|
122
|
+
* - `session-receipt`, `transcript`, `knowledge-graph-node` → llmtxt.db
|
|
123
|
+
* - `adr`, `agent-output`, `attachment` → manifest.db (blob store)
|
|
124
|
+
*
|
|
125
|
+
* @see ADR-068 — DB Charter per-DB write ownership table
|
|
126
|
+
* @see ADR-069 — Coordination Layers: DocsAccessor is a Storage Layer contract
|
|
127
|
+
*/
|
|
128
|
+
export interface DocsAccessor {
|
|
129
|
+
/**
|
|
130
|
+
* Store a document, routing to the correct backing store by kind.
|
|
131
|
+
*
|
|
132
|
+
* @param params - Document content, kind, and metadata.
|
|
133
|
+
* @returns The assigned ID and backend that received the write.
|
|
134
|
+
*/
|
|
135
|
+
storeDoc(params: StoreDocParams): Promise<StoreDocResult>;
|
|
136
|
+
/**
|
|
137
|
+
* Retrieve a document by ID or content hash.
|
|
138
|
+
*
|
|
139
|
+
* @param idOrHash - Document ID (UUID or SHA-256 hex).
|
|
140
|
+
* @returns The document record, or null if not found.
|
|
141
|
+
*/
|
|
142
|
+
getDoc(idOrHash: string): Promise<DocRecord | null>;
|
|
143
|
+
/**
|
|
144
|
+
* List documents matching filters with pagination support.
|
|
145
|
+
*
|
|
146
|
+
* @param filters - Optional filter bag.
|
|
147
|
+
* @returns Array of matching document records.
|
|
148
|
+
*/
|
|
149
|
+
listDocs(filters?: ListDocsFilters): Promise<DocRecord[]>;
|
|
150
|
+
/**
|
|
151
|
+
* Search documents by semantic similarity via llmtxt/similarity.
|
|
152
|
+
*
|
|
153
|
+
* Queries the llmtxt.db embeddings index. Only documents with embeddings
|
|
154
|
+
* are returned (agent-outputs, ADRs, transcripts ingested via storeDoc).
|
|
155
|
+
*
|
|
156
|
+
* @param query - Natural language query string.
|
|
157
|
+
* @param limit - Maximum hits to return. Default: 10.
|
|
158
|
+
* @returns Ranked search results with similarity scores.
|
|
159
|
+
*/
|
|
160
|
+
searchDocs(query: string, limit?: number): Promise<DocSearchHit[]>;
|
|
161
|
+
/**
|
|
162
|
+
* Export a document in the requested format.
|
|
163
|
+
*
|
|
164
|
+
* @param id - Document ID.
|
|
165
|
+
* @param format - Output format. Default: 'markdown'.
|
|
166
|
+
* @returns Formatted document content string, or null if not found.
|
|
167
|
+
*/
|
|
168
|
+
exportDoc(id: string, format?: DocExportFormat): Promise<string | null>;
|
|
169
|
+
/**
|
|
170
|
+
* Release any resources held by this accessor (close DB connections).
|
|
171
|
+
*/
|
|
172
|
+
close(): Promise<void>;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=docs-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-accessor.d.ts","sourceRoot":"","sources":["../src/docs-accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocsAccessor — unified interface for all document operations in CLEO.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts the scattered document surfaces behind a single typed API:
|
|
5
|
+
* - llmtxt/sdk (AgentSession, receipt, version patches)
|
|
6
|
+
* - llmtxt/blob (content-addressed blob store)
|
|
7
|
+
* - llmtxt/graph (KnowledgeGraph)
|
|
8
|
+
* - raw filesystem agent-outputs (migrated via T9064)
|
|
9
|
+
*
|
|
10
|
+
* Consumers depend on DocsAccessor, NOT on llmtxt/* subpaths directly.
|
|
11
|
+
* The llmtxt SDK becomes an implementation detail of DocsAccessorImpl.
|
|
12
|
+
*
|
|
13
|
+
* DB storage split (ADR-068 — DB Charter):
|
|
14
|
+
* - storeDoc(kind=session-receipt | transcript) → writes to llmtxt.db
|
|
15
|
+
* - storeDoc(kind=adr | agent-output | attachment) → writes to manifest.db (blob store)
|
|
16
|
+
* - searchDocs() → queries llmtxt.db via llmtxt/similarity
|
|
17
|
+
* - listDocs(kind=knowledge-graph-node) → queries llmtxt.db graph tables
|
|
18
|
+
*
|
|
19
|
+
* Coordination model (ADR-069 — Coordination Layers):
|
|
20
|
+
* - DocsAccessor is a read/write accessor in the Storage Layer.
|
|
21
|
+
* - CLI commands go through the Dispatch Layer; they accept a DocsAccessor
|
|
22
|
+
* injected via the existing createDataAccessor() → UmbrellaDataAccessor chain.
|
|
23
|
+
* - No direct SQLite access in consumers — all queries route through DocsAccessor.
|
|
24
|
+
*
|
|
25
|
+
* @task T9063
|
|
26
|
+
* @epic T9048
|
|
27
|
+
* @see ADR-068 (DB Charter — per-DB write ownership)
|
|
28
|
+
* @see ADR-069 (Coordination Layers — Storage Layer contract)
|
|
29
|
+
* @see T1824 (Decision Storage Consolidation — DocsAccessor becomes the write path for ADRs)
|
|
30
|
+
* @see T1825 (ADR migration — ADR files ingest via storeDoc(kind='adr'))
|
|
31
|
+
*/
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=docs-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-accessor.js","sourceRoot":"","sources":["../src/docs-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export type { AdapterContextMonitorProvider } from './context-monitor.js';
|
|
|
29
29
|
export type { ArchiveFields, ArchiveFile, DataAccessor, DataAccessorAgentInstance, QueryTasksResult, TaskFieldUpdates, TaskQueryFilters, TransactionAccessor, } from './data-accessor.js';
|
|
30
30
|
export type { DependencyCategory, DependencyCheckResult, DependencyReport, DependencySpec, } from './dependency.js';
|
|
31
31
|
export type { AdapterManifest, DetectionPattern } from './discovery.js';
|
|
32
|
+
export type { DocExportFormat, DocKind, DocRecord, DocSearchHit, DocsAccessor, ListDocsFilters, StoreDocParams, StoreDocResult, } from './docs-accessor.js';
|
|
32
33
|
export { ClassifierUnregisteredAgentError, createErrorResult, createSuccessResult, DecisionValidatorFailedError, formatError, getErrorMessage, isErrorResult, isErrorType, LifecycleScopeDeniedError, normalizeError, ThinAgentViolationError, } from './errors.js';
|
|
33
34
|
export type { CommandOutputRecord, EvidenceRecord, EvidenceRecordKind, ImplDiffRecord, LintReportRecord, TestOutputRecord, ValidateSpecCheckRecord, } from './evidence-record.js';
|
|
34
35
|
export type { CommandOutputRecordInput, EvidenceRecordInput, ImplDiffRecordInput, LintReportRecordInput, TestOutputRecordInput, ValidateSpecCheckRecordInput, } from './evidence-record-schema.js';
|
|
@@ -69,6 +70,7 @@ export type { CreateWorktreeOptions, CreateWorktreeResult, DestroyWorktreeOption
|
|
|
69
70
|
export type { EpicRollup, RollupBlocker, RollupEvidenceAtom, RollupWorker, WaveRollup, } from './orchestration-rollup.js';
|
|
70
71
|
export { assertPeerIdentity, filterPeerIdentities, isPeerIdentity, type PeerIdentity, type PeerKind, } from './peer.js';
|
|
71
72
|
export type { ContractViolationRecord, PlaybookAgenticNode, PlaybookApproval, PlaybookApprovalNode, PlaybookApprovalStatus, PlaybookDefinition, PlaybookDeterministicNode, PlaybookEdge, PlaybookEnsures, PlaybookErrorHandler, PlaybookInput, PlaybookNode, PlaybookNodeBase, PlaybookNodeOnFailure, PlaybookNodeType, PlaybookPolicy, PlaybookRequires, PlaybookRun, PlaybookRunStatus, } from './playbook.js';
|
|
73
|
+
export type { CreatePostgresDataAccessorFn, PostgresDataAccessor, PostgresDataAccessorOptions, PostgresSyncDirection, PostgresTenantNamespace, PostgresTenantStrategy, SyncResult, SyncStatus, } from './postgres-data-accessor.js';
|
|
72
74
|
export type { AdapterPathProvider } from './provider-paths.js';
|
|
73
75
|
export type { PublishResult, ReleaseGateStatus, ReleaseHandle, ReleaseReconcileResult, ReleaseVersionScheme, VerifyResult, } from './release/pipeline.js';
|
|
74
76
|
export type { BottleneckTask, CompleteTaskUnblocked, ContextResult, DashboardResult, LabelCount, LeveragedTask, LogQueryResult, SequenceResult, StatsActivityMetrics, StatsAllTime, StatsCompletionMetrics, StatsCurrentState, StatsCycleTimes, StatsResult, TaskAnalysisResult, TaskDepsResult, TaskRef, TaskRefPriority, TaskSummary, } from './results.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE7E,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE1E,YAAY,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,aAAa,EACb,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1F,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAW,EACX,QAAQ,EACR,OAAO,GACR,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,QAAQ,EACR,2BAA2B,EAC3B,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAQ/B,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAK7C,YAAY,EACV,IAAI,EACJ,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAEvB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAI/B,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,YAAY,EACV,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAElB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,4BAA4B,EAC5B,kCAAkC,EAClC,kCAAkC,EAClC,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,gCAAgC,EAChC,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAI/C,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,eAAe,EACf,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE9D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElF,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,aAAa,EACb,KAAK,UAAU,EACf,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,cAAc,EAEnB,qBAAqB,EACrB,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,aAAa,EAClB,kBAAkB,EAClB,eAAe,EACf,KAAK,WAAW,EAChB,yBAAyB,EACzB,2BAA2B,EAE3B,aAAa,EAEb,KAAK,UAAU,EACf,0BAA0B,EAC1B,uBAAuB,EAEvB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,WAAW,EAEX,mBAAmB,EACnB,IAAI,EACJ,UAAU,EAEV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,wBAAwB,EACxB,SAAS,EACT,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,SAAS,GACV,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA0DrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA0DhC,iDAAiD;AACjD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA0DrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA0DhC,iDAAiD;AACjD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AA0F1B,0BAA0B;AAC1B,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAgCzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AA4BxD,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAiKnB,8FAA8F;AAC9F,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AA8N7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA+N3D,kEAAkE;AAClE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GAGf,MAAM,WAAW,CAAC;AAmFnB,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,kDAAkD;AAClD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAa9B,uEAAuE;AACvE,OAAO,EACL,YAAY,EAIZ,aAAa,EAEb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB;AAEjB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EAEf,yBAAyB,EACzB,2BAA2B;AAC3B,YAAY;AACZ,aAAa,EAGb,0BAA0B,EAC1B,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAgD9B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAuB5B,uEAAuE;AACvE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAgD5B,yCAAyC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgresDataAccessor — interface stub for cloud-sync backend.
|
|
3
|
+
*
|
|
4
|
+
* SCAFFOLD ONLY (T9062). This file defines the type surface and namespacing
|
|
5
|
+
* contract for the PostgreSQL-backed DataAccessor. Full implementation
|
|
6
|
+
* (sync commands, migration, multi-tenant namespacing, auth) is deferred
|
|
7
|
+
* to T9062 child tasks.
|
|
8
|
+
*
|
|
9
|
+
* Architecture overview (ADR-TBD — cloud-sync):
|
|
10
|
+
* - CLEO is local-first SQLite for portability and offline operation.
|
|
11
|
+
* - A PostgresDataAccessor provides an engine-neutral drop-in replacement
|
|
12
|
+
* for SqliteDataAccessor — same DataAccessor interface, different engine.
|
|
13
|
+
* - Multi-tenant namespacing: each CLEO project maps to a Postgres
|
|
14
|
+
* "tenant namespace" (schema or row-level tenant key) inside a shared
|
|
15
|
+
* cluster. Cross-tenant isolation is enforced at the DB layer.
|
|
16
|
+
* - Sync model: pull/push with last-write-wins per row (initial design).
|
|
17
|
+
* CRDT merge (cr-sqlite) is opt-in per ADR from T947.
|
|
18
|
+
* - Auth: each tenant identified by SignalDock identity (Ed25519 keypair).
|
|
19
|
+
* Push receipts signed with the same primitive as llmtxt/sdk receipts.
|
|
20
|
+
*
|
|
21
|
+
* Engine-neutral proof:
|
|
22
|
+
* The DataAccessor interface in @cleocode/contracts carries `engine: 'sqlite'`.
|
|
23
|
+
* PostgresDataAccessor will carry `engine: 'postgres'`. Both satisfy the
|
|
24
|
+
* same interface contract, proving the abstraction from T9050 is real.
|
|
25
|
+
*
|
|
26
|
+
* @task T9062
|
|
27
|
+
* @epic T9048
|
|
28
|
+
* @see packages/contracts/src/data-accessor.ts (DataAccessor interface)
|
|
29
|
+
* @see packages/contracts/src/postgres-sync-spec.ts (sync semantics spec)
|
|
30
|
+
* @see docs/adr/ (ADR-TBD: cloud-sync architecture — to be authored in T9062)
|
|
31
|
+
*/
|
|
32
|
+
import type { DataAccessor } from './data-accessor.js';
|
|
33
|
+
/**
|
|
34
|
+
* Strategy for isolating tenant data in a shared Postgres cluster.
|
|
35
|
+
*
|
|
36
|
+
* - `schema`: Each project gets a dedicated Postgres schema
|
|
37
|
+
* (`cleo_<projectHash>`). Strongest isolation; higher overhead.
|
|
38
|
+
* - `row-level`: All projects share tables; tenant key (`project_id`) filters
|
|
39
|
+
* every query. Simpler to manage; requires RLS enforcement.
|
|
40
|
+
*/
|
|
41
|
+
export type PostgresTenantStrategy = 'schema' | 'row-level';
|
|
42
|
+
/**
|
|
43
|
+
* Identifies a CLEO project namespace inside the shared Postgres cluster.
|
|
44
|
+
*
|
|
45
|
+
* Generated deterministically from the project root hash (the same
|
|
46
|
+
* `projectHash` used in worktree paths) to ensure stable cross-machine
|
|
47
|
+
* identity without requiring a central registry lookup.
|
|
48
|
+
*/
|
|
49
|
+
export interface PostgresTenantNamespace {
|
|
50
|
+
/**
|
|
51
|
+
* Postgres-safe schema name (schema strategy) or tenant key (row-level).
|
|
52
|
+
* Format: `cleo_<projectHash>` where projectHash is the 16-char hex used
|
|
53
|
+
* in worktree directory names (e.g. `cleo_1e3146b7352ba279`).
|
|
54
|
+
*/
|
|
55
|
+
readonly namespaceName: string;
|
|
56
|
+
/** Original hex project hash. */
|
|
57
|
+
readonly projectHash: string;
|
|
58
|
+
/** Isolation strategy in use for this cluster. */
|
|
59
|
+
readonly strategy: PostgresTenantStrategy;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Connection options for the PostgresDataAccessor.
|
|
63
|
+
*
|
|
64
|
+
* All credentials are passed at construction time. The accessor never
|
|
65
|
+
* reads environment variables directly — callers are responsible for
|
|
66
|
+
* resolving the connection string from their config/secret store.
|
|
67
|
+
*/
|
|
68
|
+
export interface PostgresDataAccessorOptions {
|
|
69
|
+
/**
|
|
70
|
+
* PostgreSQL connection string (libpq format).
|
|
71
|
+
* Example: `postgresql://user:pass@host:5432/cleo_sync`.
|
|
72
|
+
*/
|
|
73
|
+
connectionString: string;
|
|
74
|
+
/** Project namespace within the cluster. */
|
|
75
|
+
namespace: PostgresTenantNamespace;
|
|
76
|
+
/**
|
|
77
|
+
* Optional connection pool size. Default: 5.
|
|
78
|
+
* Keep small — CLI invocations are short-lived, not long-running servers.
|
|
79
|
+
*/
|
|
80
|
+
poolSize?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Optional Ed25519 signing keypair for authenticated push receipts.
|
|
83
|
+
* When present, every push batch is signed with this key.
|
|
84
|
+
* Aligns with llmtxt/sdk ContributionReceipt signing.
|
|
85
|
+
*/
|
|
86
|
+
signingKeyHex?: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Direction of a sync operation.
|
|
90
|
+
*
|
|
91
|
+
* - `push`: Write local SQLite state → Postgres.
|
|
92
|
+
* - `pull`: Read Postgres state → update local SQLite.
|
|
93
|
+
* - `bidirectional`: Pull then push (last-write-wins per row).
|
|
94
|
+
*/
|
|
95
|
+
export type PostgresSyncDirection = 'push' | 'pull' | 'bidirectional';
|
|
96
|
+
/**
|
|
97
|
+
* Result from a sync operation.
|
|
98
|
+
*/
|
|
99
|
+
export interface SyncResult {
|
|
100
|
+
/** Direction that was executed. */
|
|
101
|
+
direction: PostgresSyncDirection;
|
|
102
|
+
/** Number of rows written to Postgres (push) or read from Postgres (pull). */
|
|
103
|
+
rowsSynced: number;
|
|
104
|
+
/** Number of conflicts resolved (last-write-wins). */
|
|
105
|
+
conflictsResolved: number;
|
|
106
|
+
/** ISO-8601 timestamp of sync completion. */
|
|
107
|
+
completedAt: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Status report from `getStatus()`.
|
|
111
|
+
*/
|
|
112
|
+
export interface SyncStatus {
|
|
113
|
+
/** Whether the Postgres connection is healthy. */
|
|
114
|
+
connected: boolean;
|
|
115
|
+
/** ISO-8601 timestamp of the last successful sync, or null if never synced. */
|
|
116
|
+
lastSyncedAt: string | null;
|
|
117
|
+
/** Number of local changes not yet pushed. */
|
|
118
|
+
pendingPushCount: number;
|
|
119
|
+
/** Whether the remote has changes not yet pulled. */
|
|
120
|
+
remoteAhead: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* PostgresDataAccessor — Postgres-backed implementation of DataAccessor.
|
|
124
|
+
*
|
|
125
|
+
* INTERFACE STUB — full implementation deferred to T9062 child tasks.
|
|
126
|
+
*
|
|
127
|
+
* Extends the base DataAccessor interface with `engine: 'postgres'` and
|
|
128
|
+
* adds cloud-sync-specific methods (sync, getStatus, close).
|
|
129
|
+
*
|
|
130
|
+
* All methods from DataAccessor are inherited and must be implemented
|
|
131
|
+
* using Postgres queries (pg or postgres.js driver). The implementation
|
|
132
|
+
* will live in @cleocode/core (NOT in @cleocode/cleo — CLI-layer only).
|
|
133
|
+
*
|
|
134
|
+
* @see DataAccessor for the full list of inherited methods.
|
|
135
|
+
*/
|
|
136
|
+
export interface PostgresDataAccessor extends Omit<DataAccessor, 'engine'> {
|
|
137
|
+
/**
|
|
138
|
+
* The storage engine backing this accessor.
|
|
139
|
+
* Discriminates from SqliteDataAccessor at the type level.
|
|
140
|
+
*/
|
|
141
|
+
readonly engine: 'postgres';
|
|
142
|
+
/**
|
|
143
|
+
* Sync local state with the Postgres backend.
|
|
144
|
+
*
|
|
145
|
+
* @param direction - Which direction(s) to sync.
|
|
146
|
+
* @returns Summary of the sync operation.
|
|
147
|
+
*/
|
|
148
|
+
sync(direction?: PostgresSyncDirection): Promise<SyncResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Get the current sync status (connection health + divergence metrics).
|
|
151
|
+
*
|
|
152
|
+
* @returns Sync status report.
|
|
153
|
+
*/
|
|
154
|
+
getStatus(): Promise<SyncStatus>;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Factory type for creating a PostgresDataAccessor.
|
|
158
|
+
*
|
|
159
|
+
* The concrete implementation (`createPostgresDataAccessor`) lives in
|
|
160
|
+
* @cleocode/core and will be exported from @cleocode/core/internal once
|
|
161
|
+
* the full implementation is complete (T9062 child tasks).
|
|
162
|
+
*
|
|
163
|
+
* @param options - Connection and namespace options.
|
|
164
|
+
* @returns A fully initialized PostgresDataAccessor.
|
|
165
|
+
*/
|
|
166
|
+
export type CreatePostgresDataAccessorFn = (options: PostgresDataAccessorOptions) => Promise<PostgresDataAccessor>;
|
|
167
|
+
//# sourceMappingURL=postgres-data-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-data-accessor.d.ts","sourceRoot":"","sources":["../src/postgres-data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;CAC3C;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,SAAS,EAAE,uBAAuB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,SAAS,EAAE,qBAAqB,CAAC;IACjC,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAC;CACtB;AAMD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxE;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B;;;;;OAKG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7D;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CAClC;AAMD;;;;;;;;;GASG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,2BAA2B,KACjC,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgresDataAccessor — interface stub for cloud-sync backend.
|
|
3
|
+
*
|
|
4
|
+
* SCAFFOLD ONLY (T9062). This file defines the type surface and namespacing
|
|
5
|
+
* contract for the PostgreSQL-backed DataAccessor. Full implementation
|
|
6
|
+
* (sync commands, migration, multi-tenant namespacing, auth) is deferred
|
|
7
|
+
* to T9062 child tasks.
|
|
8
|
+
*
|
|
9
|
+
* Architecture overview (ADR-TBD — cloud-sync):
|
|
10
|
+
* - CLEO is local-first SQLite for portability and offline operation.
|
|
11
|
+
* - A PostgresDataAccessor provides an engine-neutral drop-in replacement
|
|
12
|
+
* for SqliteDataAccessor — same DataAccessor interface, different engine.
|
|
13
|
+
* - Multi-tenant namespacing: each CLEO project maps to a Postgres
|
|
14
|
+
* "tenant namespace" (schema or row-level tenant key) inside a shared
|
|
15
|
+
* cluster. Cross-tenant isolation is enforced at the DB layer.
|
|
16
|
+
* - Sync model: pull/push with last-write-wins per row (initial design).
|
|
17
|
+
* CRDT merge (cr-sqlite) is opt-in per ADR from T947.
|
|
18
|
+
* - Auth: each tenant identified by SignalDock identity (Ed25519 keypair).
|
|
19
|
+
* Push receipts signed with the same primitive as llmtxt/sdk receipts.
|
|
20
|
+
*
|
|
21
|
+
* Engine-neutral proof:
|
|
22
|
+
* The DataAccessor interface in @cleocode/contracts carries `engine: 'sqlite'`.
|
|
23
|
+
* PostgresDataAccessor will carry `engine: 'postgres'`. Both satisfy the
|
|
24
|
+
* same interface contract, proving the abstraction from T9050 is real.
|
|
25
|
+
*
|
|
26
|
+
* @task T9062
|
|
27
|
+
* @epic T9048
|
|
28
|
+
* @see packages/contracts/src/data-accessor.ts (DataAccessor interface)
|
|
29
|
+
* @see packages/contracts/src/postgres-sync-spec.ts (sync semantics spec)
|
|
30
|
+
* @see docs/adr/ (ADR-TBD: cloud-sync architecture — to be authored in T9062)
|
|
31
|
+
*/
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=postgres-data-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-data-accessor.js","sourceRoot":"","sources":["../src/postgres-data-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/contracts",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.57",
|
|
4
4
|
"description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"zod": "^4.3.6",
|
|
84
84
|
"zod-to-json-schema": "^3.25.2",
|
|
85
|
-
"@cleocode/lafs": "2026.5.
|
|
85
|
+
"@cleocode/lafs": "2026.5.57"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "tsc -b --force && node scripts/emit-schemas.mjs",
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocsAccessor — unified interface for all document operations in CLEO.
|
|
3
|
+
*
|
|
4
|
+
* Abstracts the scattered document surfaces behind a single typed API:
|
|
5
|
+
* - llmtxt/sdk (AgentSession, receipt, version patches)
|
|
6
|
+
* - llmtxt/blob (content-addressed blob store)
|
|
7
|
+
* - llmtxt/graph (KnowledgeGraph)
|
|
8
|
+
* - raw filesystem agent-outputs (migrated via T9064)
|
|
9
|
+
*
|
|
10
|
+
* Consumers depend on DocsAccessor, NOT on llmtxt/* subpaths directly.
|
|
11
|
+
* The llmtxt SDK becomes an implementation detail of DocsAccessorImpl.
|
|
12
|
+
*
|
|
13
|
+
* DB storage split (ADR-068 — DB Charter):
|
|
14
|
+
* - storeDoc(kind=session-receipt | transcript) → writes to llmtxt.db
|
|
15
|
+
* - storeDoc(kind=adr | agent-output | attachment) → writes to manifest.db (blob store)
|
|
16
|
+
* - searchDocs() → queries llmtxt.db via llmtxt/similarity
|
|
17
|
+
* - listDocs(kind=knowledge-graph-node) → queries llmtxt.db graph tables
|
|
18
|
+
*
|
|
19
|
+
* Coordination model (ADR-069 — Coordination Layers):
|
|
20
|
+
* - DocsAccessor is a read/write accessor in the Storage Layer.
|
|
21
|
+
* - CLI commands go through the Dispatch Layer; they accept a DocsAccessor
|
|
22
|
+
* injected via the existing createDataAccessor() → UmbrellaDataAccessor chain.
|
|
23
|
+
* - No direct SQLite access in consumers — all queries route through DocsAccessor.
|
|
24
|
+
*
|
|
25
|
+
* @task T9063
|
|
26
|
+
* @epic T9048
|
|
27
|
+
* @see ADR-068 (DB Charter — per-DB write ownership)
|
|
28
|
+
* @see ADR-069 (Coordination Layers — Storage Layer contract)
|
|
29
|
+
* @see T1824 (Decision Storage Consolidation — DocsAccessor becomes the write path for ADRs)
|
|
30
|
+
* @see T1825 (ADR migration — ADR files ingest via storeDoc(kind='adr'))
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Document kind discriminated union
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* All document kinds that DocsAccessor can store and retrieve.
|
|
39
|
+
*
|
|
40
|
+
* - `adr` — Architecture Decision Records (docs/adr/*.md)
|
|
41
|
+
* - `agent-output` — Agent session markdown outputs (.cleo/agent-outputs/*.md)
|
|
42
|
+
* - `transcript` — Full agent conversation transcripts (llmtxt.db)
|
|
43
|
+
* - `attachment` — Task attachments (manifest.db blob store)
|
|
44
|
+
* - `session-receipt` — llmtxt session receipts (llmtxt.db sessions table)
|
|
45
|
+
* - `knowledge-graph-node` — Nodes from llmtxt/graph KnowledgeGraph (llmtxt.db)
|
|
46
|
+
*/
|
|
47
|
+
export type DocKind =
|
|
48
|
+
| 'adr'
|
|
49
|
+
| 'agent-output'
|
|
50
|
+
| 'transcript'
|
|
51
|
+
| 'attachment'
|
|
52
|
+
| 'session-receipt'
|
|
53
|
+
| 'knowledge-graph-node';
|
|
54
|
+
|
|
55
|
+
// ---------------------------------------------------------------------------
|
|
56
|
+
// Core document record
|
|
57
|
+
// ---------------------------------------------------------------------------
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* A stored document record returned by getDoc / listDocs.
|
|
61
|
+
*/
|
|
62
|
+
export interface DocRecord {
|
|
63
|
+
/** Content-addressed identifier (SHA-256 hex for blob-backed; UUID for DB-backed). */
|
|
64
|
+
readonly id: string;
|
|
65
|
+
/** Document kind. */
|
|
66
|
+
readonly kind: DocKind;
|
|
67
|
+
/** Raw content of the document (UTF-8 text or base64 for binary). */
|
|
68
|
+
readonly content: string;
|
|
69
|
+
/** Human-readable title or filename. */
|
|
70
|
+
readonly title: string | null;
|
|
71
|
+
/** ISO 8601 creation timestamp. */
|
|
72
|
+
readonly createdAt: string;
|
|
73
|
+
/** Linked task IDs (e.g. the task this agent-output was produced for). */
|
|
74
|
+
readonly linkedTaskIds: string[];
|
|
75
|
+
/** Arbitrary metadata blob (kind-specific). */
|
|
76
|
+
readonly meta: Record<string, unknown>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Method parameter types
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Parameters for {@link DocsAccessor.storeDoc}.
|
|
85
|
+
*/
|
|
86
|
+
export interface StoreDocParams {
|
|
87
|
+
/** Document kind determining which backing store is used. */
|
|
88
|
+
kind: DocKind;
|
|
89
|
+
/** Raw document content (UTF-8). */
|
|
90
|
+
content: string;
|
|
91
|
+
/** Human-readable title or filename. */
|
|
92
|
+
title?: string;
|
|
93
|
+
/** Task IDs to link to this document. */
|
|
94
|
+
linkedTaskIds?: string[];
|
|
95
|
+
/** Arbitrary metadata to attach (kind-specific). */
|
|
96
|
+
meta?: Record<string, unknown>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Result from {@link DocsAccessor.storeDoc}.
|
|
101
|
+
*/
|
|
102
|
+
export interface StoreDocResult {
|
|
103
|
+
/** Assigned document ID (SHA-256 for blob-backed, UUID for DB-backed). */
|
|
104
|
+
readonly id: string;
|
|
105
|
+
/** The backing store that received the write. */
|
|
106
|
+
readonly backend: 'llmtxt.db' | 'manifest.db';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Filters for {@link DocsAccessor.listDocs}.
|
|
111
|
+
*/
|
|
112
|
+
export interface ListDocsFilters {
|
|
113
|
+
/** Restrict to one document kind. */
|
|
114
|
+
kind?: DocKind;
|
|
115
|
+
/** Restrict to documents linked to this task ID. */
|
|
116
|
+
linkedTaskId?: string;
|
|
117
|
+
/** Maximum number of results. Default: 100. */
|
|
118
|
+
limit?: number;
|
|
119
|
+
/** Offset for pagination. */
|
|
120
|
+
offset?: number;
|
|
121
|
+
/** Order by. Default: 'createdAt'. */
|
|
122
|
+
orderBy?: 'createdAt' | 'title';
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* A search hit from {@link DocsAccessor.searchDocs}.
|
|
127
|
+
*/
|
|
128
|
+
export interface DocSearchHit {
|
|
129
|
+
/** The matching document record. */
|
|
130
|
+
readonly doc: DocRecord;
|
|
131
|
+
/** Similarity score (0–1, higher is more relevant). */
|
|
132
|
+
readonly score: number;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Export format for {@link DocsAccessor.exportDoc}.
|
|
137
|
+
*/
|
|
138
|
+
export type DocExportFormat = 'markdown' | 'json' | 'plain';
|
|
139
|
+
|
|
140
|
+
// ---------------------------------------------------------------------------
|
|
141
|
+
// DocsAccessor interface
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* DocsAccessor — unified interface for all CLEO document operations.
|
|
146
|
+
*
|
|
147
|
+
* Backed by llmtxt.db (sessions + receipts) and manifest.db (blob attachments).
|
|
148
|
+
* Both backing stores are opaque to consumers — all access goes through this
|
|
149
|
+
* interface.
|
|
150
|
+
*
|
|
151
|
+
* DB write ownership (ADR-068):
|
|
152
|
+
* - `session-receipt`, `transcript`, `knowledge-graph-node` → llmtxt.db
|
|
153
|
+
* - `adr`, `agent-output`, `attachment` → manifest.db (blob store)
|
|
154
|
+
*
|
|
155
|
+
* @see ADR-068 — DB Charter per-DB write ownership table
|
|
156
|
+
* @see ADR-069 — Coordination Layers: DocsAccessor is a Storage Layer contract
|
|
157
|
+
*/
|
|
158
|
+
export interface DocsAccessor {
|
|
159
|
+
/**
|
|
160
|
+
* Store a document, routing to the correct backing store by kind.
|
|
161
|
+
*
|
|
162
|
+
* @param params - Document content, kind, and metadata.
|
|
163
|
+
* @returns The assigned ID and backend that received the write.
|
|
164
|
+
*/
|
|
165
|
+
storeDoc(params: StoreDocParams): Promise<StoreDocResult>;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Retrieve a document by ID or content hash.
|
|
169
|
+
*
|
|
170
|
+
* @param idOrHash - Document ID (UUID or SHA-256 hex).
|
|
171
|
+
* @returns The document record, or null if not found.
|
|
172
|
+
*/
|
|
173
|
+
getDoc(idOrHash: string): Promise<DocRecord | null>;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* List documents matching filters with pagination support.
|
|
177
|
+
*
|
|
178
|
+
* @param filters - Optional filter bag.
|
|
179
|
+
* @returns Array of matching document records.
|
|
180
|
+
*/
|
|
181
|
+
listDocs(filters?: ListDocsFilters): Promise<DocRecord[]>;
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Search documents by semantic similarity via llmtxt/similarity.
|
|
185
|
+
*
|
|
186
|
+
* Queries the llmtxt.db embeddings index. Only documents with embeddings
|
|
187
|
+
* are returned (agent-outputs, ADRs, transcripts ingested via storeDoc).
|
|
188
|
+
*
|
|
189
|
+
* @param query - Natural language query string.
|
|
190
|
+
* @param limit - Maximum hits to return. Default: 10.
|
|
191
|
+
* @returns Ranked search results with similarity scores.
|
|
192
|
+
*/
|
|
193
|
+
searchDocs(query: string, limit?: number): Promise<DocSearchHit[]>;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Export a document in the requested format.
|
|
197
|
+
*
|
|
198
|
+
* @param id - Document ID.
|
|
199
|
+
* @param format - Output format. Default: 'markdown'.
|
|
200
|
+
* @returns Formatted document content string, or null if not found.
|
|
201
|
+
*/
|
|
202
|
+
exportDoc(id: string, format?: DocExportFormat): Promise<string | null>;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Release any resources held by this accessor (close DB connections).
|
|
206
|
+
*/
|
|
207
|
+
close(): Promise<void>;
|
|
208
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -254,6 +254,17 @@ export type {
|
|
|
254
254
|
DependencySpec,
|
|
255
255
|
} from './dependency.js';
|
|
256
256
|
export type { AdapterManifest, DetectionPattern } from './discovery.js';
|
|
257
|
+
// === DocsAccessor Contracts (T9063) ===
|
|
258
|
+
export type {
|
|
259
|
+
DocExportFormat,
|
|
260
|
+
DocKind,
|
|
261
|
+
DocRecord,
|
|
262
|
+
DocSearchHit,
|
|
263
|
+
DocsAccessor,
|
|
264
|
+
ListDocsFilters,
|
|
265
|
+
StoreDocParams,
|
|
266
|
+
StoreDocResult,
|
|
267
|
+
} from './docs-accessor.js';
|
|
257
268
|
// === Error Utilities ===
|
|
258
269
|
export {
|
|
259
270
|
ClassifierUnregisteredAgentError,
|
|
@@ -1024,6 +1035,17 @@ export type {
|
|
|
1024
1035
|
PlaybookRun,
|
|
1025
1036
|
PlaybookRunStatus,
|
|
1026
1037
|
} from './playbook.js';
|
|
1038
|
+
// === PostgresDataAccessor Contracts — cloud-sync scaffold (T9062) ===
|
|
1039
|
+
export type {
|
|
1040
|
+
CreatePostgresDataAccessorFn,
|
|
1041
|
+
PostgresDataAccessor,
|
|
1042
|
+
PostgresDataAccessorOptions,
|
|
1043
|
+
PostgresSyncDirection,
|
|
1044
|
+
PostgresTenantNamespace,
|
|
1045
|
+
PostgresTenantStrategy,
|
|
1046
|
+
SyncResult,
|
|
1047
|
+
SyncStatus,
|
|
1048
|
+
} from './postgres-data-accessor.js';
|
|
1027
1049
|
export type { AdapterPathProvider } from './provider-paths.js';
|
|
1028
1050
|
// === Release Pipeline (T1597 / ADR-063) ===
|
|
1029
1051
|
export type {
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgresDataAccessor — interface stub for cloud-sync backend.
|
|
3
|
+
*
|
|
4
|
+
* SCAFFOLD ONLY (T9062). This file defines the type surface and namespacing
|
|
5
|
+
* contract for the PostgreSQL-backed DataAccessor. Full implementation
|
|
6
|
+
* (sync commands, migration, multi-tenant namespacing, auth) is deferred
|
|
7
|
+
* to T9062 child tasks.
|
|
8
|
+
*
|
|
9
|
+
* Architecture overview (ADR-TBD — cloud-sync):
|
|
10
|
+
* - CLEO is local-first SQLite for portability and offline operation.
|
|
11
|
+
* - A PostgresDataAccessor provides an engine-neutral drop-in replacement
|
|
12
|
+
* for SqliteDataAccessor — same DataAccessor interface, different engine.
|
|
13
|
+
* - Multi-tenant namespacing: each CLEO project maps to a Postgres
|
|
14
|
+
* "tenant namespace" (schema or row-level tenant key) inside a shared
|
|
15
|
+
* cluster. Cross-tenant isolation is enforced at the DB layer.
|
|
16
|
+
* - Sync model: pull/push with last-write-wins per row (initial design).
|
|
17
|
+
* CRDT merge (cr-sqlite) is opt-in per ADR from T947.
|
|
18
|
+
* - Auth: each tenant identified by SignalDock identity (Ed25519 keypair).
|
|
19
|
+
* Push receipts signed with the same primitive as llmtxt/sdk receipts.
|
|
20
|
+
*
|
|
21
|
+
* Engine-neutral proof:
|
|
22
|
+
* The DataAccessor interface in @cleocode/contracts carries `engine: 'sqlite'`.
|
|
23
|
+
* PostgresDataAccessor will carry `engine: 'postgres'`. Both satisfy the
|
|
24
|
+
* same interface contract, proving the abstraction from T9050 is real.
|
|
25
|
+
*
|
|
26
|
+
* @task T9062
|
|
27
|
+
* @epic T9048
|
|
28
|
+
* @see packages/contracts/src/data-accessor.ts (DataAccessor interface)
|
|
29
|
+
* @see packages/contracts/src/postgres-sync-spec.ts (sync semantics spec)
|
|
30
|
+
* @see docs/adr/ (ADR-TBD: cloud-sync architecture — to be authored in T9062)
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
import type { DataAccessor } from './data-accessor.js';
|
|
34
|
+
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Multi-tenant namespacing
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Strategy for isolating tenant data in a shared Postgres cluster.
|
|
41
|
+
*
|
|
42
|
+
* - `schema`: Each project gets a dedicated Postgres schema
|
|
43
|
+
* (`cleo_<projectHash>`). Strongest isolation; higher overhead.
|
|
44
|
+
* - `row-level`: All projects share tables; tenant key (`project_id`) filters
|
|
45
|
+
* every query. Simpler to manage; requires RLS enforcement.
|
|
46
|
+
*/
|
|
47
|
+
export type PostgresTenantStrategy = 'schema' | 'row-level';
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Identifies a CLEO project namespace inside the shared Postgres cluster.
|
|
51
|
+
*
|
|
52
|
+
* Generated deterministically from the project root hash (the same
|
|
53
|
+
* `projectHash` used in worktree paths) to ensure stable cross-machine
|
|
54
|
+
* identity without requiring a central registry lookup.
|
|
55
|
+
*/
|
|
56
|
+
export interface PostgresTenantNamespace {
|
|
57
|
+
/**
|
|
58
|
+
* Postgres-safe schema name (schema strategy) or tenant key (row-level).
|
|
59
|
+
* Format: `cleo_<projectHash>` where projectHash is the 16-char hex used
|
|
60
|
+
* in worktree directory names (e.g. `cleo_1e3146b7352ba279`).
|
|
61
|
+
*/
|
|
62
|
+
readonly namespaceName: string;
|
|
63
|
+
/** Original hex project hash. */
|
|
64
|
+
readonly projectHash: string;
|
|
65
|
+
/** Isolation strategy in use for this cluster. */
|
|
66
|
+
readonly strategy: PostgresTenantStrategy;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
// Connection options
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Connection options for the PostgresDataAccessor.
|
|
75
|
+
*
|
|
76
|
+
* All credentials are passed at construction time. The accessor never
|
|
77
|
+
* reads environment variables directly — callers are responsible for
|
|
78
|
+
* resolving the connection string from their config/secret store.
|
|
79
|
+
*/
|
|
80
|
+
export interface PostgresDataAccessorOptions {
|
|
81
|
+
/**
|
|
82
|
+
* PostgreSQL connection string (libpq format).
|
|
83
|
+
* Example: `postgresql://user:pass@host:5432/cleo_sync`.
|
|
84
|
+
*/
|
|
85
|
+
connectionString: string;
|
|
86
|
+
/** Project namespace within the cluster. */
|
|
87
|
+
namespace: PostgresTenantNamespace;
|
|
88
|
+
/**
|
|
89
|
+
* Optional connection pool size. Default: 5.
|
|
90
|
+
* Keep small — CLI invocations are short-lived, not long-running servers.
|
|
91
|
+
*/
|
|
92
|
+
poolSize?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Optional Ed25519 signing keypair for authenticated push receipts.
|
|
95
|
+
* When present, every push batch is signed with this key.
|
|
96
|
+
* Aligns with llmtxt/sdk ContributionReceipt signing.
|
|
97
|
+
*/
|
|
98
|
+
signingKeyHex?: string;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Sync semantics
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Direction of a sync operation.
|
|
107
|
+
*
|
|
108
|
+
* - `push`: Write local SQLite state → Postgres.
|
|
109
|
+
* - `pull`: Read Postgres state → update local SQLite.
|
|
110
|
+
* - `bidirectional`: Pull then push (last-write-wins per row).
|
|
111
|
+
*/
|
|
112
|
+
export type PostgresSyncDirection = 'push' | 'pull' | 'bidirectional';
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Result from a sync operation.
|
|
116
|
+
*/
|
|
117
|
+
export interface SyncResult {
|
|
118
|
+
/** Direction that was executed. */
|
|
119
|
+
direction: PostgresSyncDirection;
|
|
120
|
+
/** Number of rows written to Postgres (push) or read from Postgres (pull). */
|
|
121
|
+
rowsSynced: number;
|
|
122
|
+
/** Number of conflicts resolved (last-write-wins). */
|
|
123
|
+
conflictsResolved: number;
|
|
124
|
+
/** ISO-8601 timestamp of sync completion. */
|
|
125
|
+
completedAt: string;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Status report from `getStatus()`.
|
|
130
|
+
*/
|
|
131
|
+
export interface SyncStatus {
|
|
132
|
+
/** Whether the Postgres connection is healthy. */
|
|
133
|
+
connected: boolean;
|
|
134
|
+
/** ISO-8601 timestamp of the last successful sync, or null if never synced. */
|
|
135
|
+
lastSyncedAt: string | null;
|
|
136
|
+
/** Number of local changes not yet pushed. */
|
|
137
|
+
pendingPushCount: number;
|
|
138
|
+
/** Whether the remote has changes not yet pulled. */
|
|
139
|
+
remoteAhead: boolean;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
// PostgresDataAccessor interface stub
|
|
144
|
+
// ---------------------------------------------------------------------------
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* PostgresDataAccessor — Postgres-backed implementation of DataAccessor.
|
|
148
|
+
*
|
|
149
|
+
* INTERFACE STUB — full implementation deferred to T9062 child tasks.
|
|
150
|
+
*
|
|
151
|
+
* Extends the base DataAccessor interface with `engine: 'postgres'` and
|
|
152
|
+
* adds cloud-sync-specific methods (sync, getStatus, close).
|
|
153
|
+
*
|
|
154
|
+
* All methods from DataAccessor are inherited and must be implemented
|
|
155
|
+
* using Postgres queries (pg or postgres.js driver). The implementation
|
|
156
|
+
* will live in @cleocode/core (NOT in @cleocode/cleo — CLI-layer only).
|
|
157
|
+
*
|
|
158
|
+
* @see DataAccessor for the full list of inherited methods.
|
|
159
|
+
*/
|
|
160
|
+
export interface PostgresDataAccessor extends Omit<DataAccessor, 'engine'> {
|
|
161
|
+
/**
|
|
162
|
+
* The storage engine backing this accessor.
|
|
163
|
+
* Discriminates from SqliteDataAccessor at the type level.
|
|
164
|
+
*/
|
|
165
|
+
readonly engine: 'postgres';
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Sync local state with the Postgres backend.
|
|
169
|
+
*
|
|
170
|
+
* @param direction - Which direction(s) to sync.
|
|
171
|
+
* @returns Summary of the sync operation.
|
|
172
|
+
*/
|
|
173
|
+
sync(direction?: PostgresSyncDirection): Promise<SyncResult>;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Get the current sync status (connection health + divergence metrics).
|
|
177
|
+
*
|
|
178
|
+
* @returns Sync status report.
|
|
179
|
+
*/
|
|
180
|
+
getStatus(): Promise<SyncStatus>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// ---------------------------------------------------------------------------
|
|
184
|
+
// Factory signature (implementation deferred)
|
|
185
|
+
// ---------------------------------------------------------------------------
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Factory type for creating a PostgresDataAccessor.
|
|
189
|
+
*
|
|
190
|
+
* The concrete implementation (`createPostgresDataAccessor`) lives in
|
|
191
|
+
* @cleocode/core and will be exported from @cleocode/core/internal once
|
|
192
|
+
* the full implementation is complete (T9062 child tasks).
|
|
193
|
+
*
|
|
194
|
+
* @param options - Connection and namespace options.
|
|
195
|
+
* @returns A fully initialized PostgresDataAccessor.
|
|
196
|
+
*/
|
|
197
|
+
export type CreatePostgresDataAccessorFn = (
|
|
198
|
+
options: PostgresDataAccessorOptions,
|
|
199
|
+
) => Promise<PostgresDataAccessor>;
|