@framers/sql-storage-adapter 0.3.2 → 0.3.3
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 +42 -38
- package/dist/adapters/indexedDbAdapter.d.ts +48 -15
- package/dist/adapters/indexedDbAdapter.d.ts.map +1 -1
- package/dist/adapters/indexedDbAdapter.js +48 -15
- package/dist/adapters/indexedDbAdapter.js.map +1 -1
- package/dist/adapters/postgresAdapter.d.ts +5 -0
- package/dist/adapters/postgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresAdapter.js +23 -1
- package/dist/adapters/postgresAdapter.js.map +1 -1
- package/dist/adapters/supabase.d.ts.map +1 -1
- package/dist/adapters/supabase.js +8 -1
- package/dist/adapters/supabase.js.map +1 -1
- package/dist/core/resolver.d.ts.map +1 -1
- package/dist/core/resolver.js +43 -5
- package/dist/core/resolver.js.map +1 -1
- package/package.json +1 -1
- package/dist/agentos/AgentOSStorageAdapter.d.ts +0 -320
- package/dist/agentos/AgentOSStorageAdapter.d.ts.map +0 -1
- package/dist/agentos/AgentOSStorageAdapter.js +0 -406
- package/dist/agentos/AgentOSStorageAdapter.js.map +0 -1
- package/dist/agentos/index.d.ts +0 -7
- package/dist/agentos/index.d.ts.map +0 -1
- package/dist/agentos/index.js +0 -7
- package/dist/agentos/index.js.map +0 -1
package/dist/core/resolver.js
CHANGED
|
@@ -1,4 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
// Browser-safe path utilities - avoid importing Node.js 'path' module in browser builds
|
|
2
|
+
const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
3
|
+
const isNode = typeof process !== 'undefined' && !!process.versions?.node;
|
|
4
|
+
// Browser-safe path join (only used in Node.js environments)
|
|
5
|
+
const joinPath = async (parts) => {
|
|
6
|
+
if (isBrowser) {
|
|
7
|
+
// In browser, just join with '/' (not used anyway since filePath is provided)
|
|
8
|
+
return parts.join('/');
|
|
9
|
+
}
|
|
10
|
+
// In Node.js, use path.join dynamically
|
|
11
|
+
if (isNode) {
|
|
12
|
+
try {
|
|
13
|
+
// Dynamic import to avoid bundling 'path' in browser builds
|
|
14
|
+
const path = await import('path');
|
|
15
|
+
return path.join(...parts);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// Fallback if import fails
|
|
19
|
+
return parts.join('/');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return parts.join('/');
|
|
23
|
+
};
|
|
24
|
+
// Browser-safe process.env access
|
|
25
|
+
const getEnv = (key) => {
|
|
26
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
27
|
+
return process.env[key];
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
};
|
|
31
|
+
// Browser-safe process.cwd()
|
|
32
|
+
const getCwd = () => {
|
|
33
|
+
if (isNode && typeof process !== 'undefined' && process.cwd) {
|
|
34
|
+
return process.cwd();
|
|
35
|
+
}
|
|
36
|
+
// Browser fallback (not used in browser anyway)
|
|
37
|
+
return '/';
|
|
38
|
+
};
|
|
2
39
|
import { StorageResolutionError } from './contracts';
|
|
3
40
|
import { createBetterSqliteAdapter } from '../adapters/betterSqliteAdapter';
|
|
4
41
|
import { createSqlJsAdapter } from '../adapters/sqlJsAdapter';
|
|
@@ -17,9 +54,10 @@ const isCapacitorRuntime = () => {
|
|
|
17
54
|
* Tries candidates in the supplied priority order and falls back when one fails.
|
|
18
55
|
*/
|
|
19
56
|
export const resolveStorageAdapter = async (options = {}) => {
|
|
20
|
-
const envOverride =
|
|
21
|
-
const postgresConnection = options.postgres?.connectionString ??
|
|
22
|
-
const
|
|
57
|
+
const envOverride = getEnv('STORAGE_ADAPTER');
|
|
58
|
+
const postgresConnection = options.postgres?.connectionString ?? getEnv('DATABASE_URL') ?? undefined;
|
|
59
|
+
const defaultFilePath = isBrowser ? 'db_data/app.sqlite3' : await joinPath([getCwd(), 'db_data', 'app.sqlite3']);
|
|
60
|
+
const filePath = options.filePath ?? defaultFilePath;
|
|
23
61
|
const defaultPriority = (() => {
|
|
24
62
|
if (options.priority && options.priority.length > 0) {
|
|
25
63
|
return options.priority;
|
|
@@ -70,7 +108,7 @@ export const resolveStorageAdapter = async (options = {}) => {
|
|
|
70
108
|
factory: async () => {
|
|
71
109
|
const adapterOptions = options.openOptions?.adapterOptions;
|
|
72
110
|
return new IndexedDbAdapter({
|
|
73
|
-
dbName: adapterOptions?.dbName || '
|
|
111
|
+
dbName: adapterOptions?.dbName || 'app-db',
|
|
74
112
|
autoSave: true,
|
|
75
113
|
});
|
|
76
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview AgentOS-First Storage Adapter
|
|
3
|
-
* @description Opinionated storage layer designed specifically for AgentOS with auto-schema,
|
|
4
|
-
* typed queries, and cross-platform persistence. This is the recommended way to use
|
|
5
|
-
* sql-storage-adapter with AgentOS.
|
|
6
|
-
*
|
|
7
|
-
* **Features:**
|
|
8
|
-
* - Auto-detects best adapter for platform (web, electron, capacitor, node, cloud)
|
|
9
|
-
* - Pre-configured schema for conversations, sessions, personas, telemetry
|
|
10
|
-
* - Typed query builders for common AgentOS operations
|
|
11
|
-
* - Optional cloud sync for hybrid local+remote architectures
|
|
12
|
-
* - Export/import for data portability
|
|
13
|
-
*
|
|
14
|
-
* @example Basic Usage
|
|
15
|
-
* ```typescript
|
|
16
|
-
* import { createAgentOSStorage } from '../agentos';
|
|
17
|
-
* import { AgentOS } from '@agentos/core';
|
|
18
|
-
*
|
|
19
|
-
* const storage = await createAgentOSStorage({
|
|
20
|
-
* platform: 'auto', // Detects: web, electron, capacitor, node, cloud
|
|
21
|
-
* persistence: true,
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* const agentos = new AgentOS();
|
|
25
|
-
* await agentos.initialize({
|
|
26
|
-
* storageAdapter: storage,
|
|
27
|
-
* // ... other config
|
|
28
|
-
* });
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @example Multi-Platform
|
|
32
|
-
* ```typescript
|
|
33
|
-
* // Web (browser): Uses IndexedDB
|
|
34
|
-
* const webStorage = await createAgentOSStorage({ platform: 'web' });
|
|
35
|
-
*
|
|
36
|
-
* // Desktop (Electron): Uses better-sqlite3
|
|
37
|
-
* const desktopStorage = await createAgentOSStorage({ platform: 'electron' });
|
|
38
|
-
*
|
|
39
|
-
* // Mobile (Capacitor): Uses native SQLite
|
|
40
|
-
* const mobileStorage = await createAgentOSStorage({ platform: 'capacitor' });
|
|
41
|
-
*
|
|
42
|
-
* // Cloud (Node): Uses PostgreSQL
|
|
43
|
-
* const cloudStorage = await createAgentOSStorage({
|
|
44
|
-
* platform: 'cloud',
|
|
45
|
-
* postgres: { connectionString: process.env.DATABASE_URL }
|
|
46
|
-
* });
|
|
47
|
-
* ```
|
|
48
|
-
*
|
|
49
|
-
* @example Hybrid Sync
|
|
50
|
-
* ```typescript
|
|
51
|
-
* const storage = await createAgentOSStorage({
|
|
52
|
-
* local: { adapter: 'indexeddb' },
|
|
53
|
-
* remote: { adapter: 'postgres', connectionString: CLOUD_URL },
|
|
54
|
-
* syncStrategy: 'optimistic', // Local-first, background sync
|
|
55
|
-
* syncIntervalMs: 30000,
|
|
56
|
-
* });
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
import type { StorageAdapter } from '../core/contracts';
|
|
60
|
-
import type { AdapterKind } from '../core/contracts/context';
|
|
61
|
-
/**
|
|
62
|
-
* Platform types for AgentOS deployment
|
|
63
|
-
*/
|
|
64
|
-
export type AgentOSPlatform = 'web' | 'electron' | 'capacitor' | 'node' | 'cloud' | 'auto';
|
|
65
|
-
/**
|
|
66
|
-
* Sync strategy for hybrid local+remote storage
|
|
67
|
-
*/
|
|
68
|
-
export type SyncStrategy = 'local-only' | 'remote-only' | 'optimistic' | 'pessimistic';
|
|
69
|
-
/**
|
|
70
|
-
* Configuration for AgentOS-optimized storage
|
|
71
|
-
*/
|
|
72
|
-
export interface AgentOSStorageConfig {
|
|
73
|
-
/**
|
|
74
|
-
* Target platform. 'auto' detects runtime automatically.
|
|
75
|
-
* @default 'auto'
|
|
76
|
-
*/
|
|
77
|
-
platform?: AgentOSPlatform;
|
|
78
|
-
/**
|
|
79
|
-
* Enable persistence (vs in-memory only).
|
|
80
|
-
* @default true
|
|
81
|
-
*/
|
|
82
|
-
persistence?: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Database name (for IndexedDB, SQLite file, etc.)
|
|
85
|
-
* @default 'agentos-db'
|
|
86
|
-
*/
|
|
87
|
-
dbName?: string;
|
|
88
|
-
/**
|
|
89
|
-
* File path for SQLite adapters
|
|
90
|
-
*/
|
|
91
|
-
filePath?: string;
|
|
92
|
-
/**
|
|
93
|
-
* PostgreSQL connection config
|
|
94
|
-
*/
|
|
95
|
-
postgres?: {
|
|
96
|
-
connectionString?: string;
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Capacitor-specific options
|
|
100
|
-
*/
|
|
101
|
-
capacitor?: {
|
|
102
|
-
database?: string;
|
|
103
|
-
encrypted?: boolean;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Features to enable (auto-creates tables)
|
|
107
|
-
* @default all enabled
|
|
108
|
-
*/
|
|
109
|
-
features?: {
|
|
110
|
-
conversations?: boolean;
|
|
111
|
-
sessions?: boolean;
|
|
112
|
-
personas?: boolean;
|
|
113
|
-
telemetry?: boolean;
|
|
114
|
-
workflows?: boolean;
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Optional cloud sync for hybrid architectures
|
|
118
|
-
*/
|
|
119
|
-
cloudSync?: {
|
|
120
|
-
enabled?: boolean;
|
|
121
|
-
provider?: 'supabase' | 'postgres' | 'custom';
|
|
122
|
-
connectionString?: string;
|
|
123
|
-
syncStrategy?: SyncStrategy;
|
|
124
|
-
syncIntervalMs?: number;
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* Advanced: manual adapter priority override
|
|
128
|
-
*/
|
|
129
|
-
adapterPriority?: AdapterKind[];
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* AgentOS-optimized storage adapter with auto-schema and typed queries.
|
|
133
|
-
*
|
|
134
|
-
* This class wraps a generic StorageAdapter and adds AgentOS-specific
|
|
135
|
-
* functionality like auto-schema creation, typed query builders, and
|
|
136
|
-
* optional cloud sync.
|
|
137
|
-
*/
|
|
138
|
-
export declare class AgentOSStorageAdapter {
|
|
139
|
-
private adapter;
|
|
140
|
-
private config;
|
|
141
|
-
constructor(adapter: StorageAdapter, config: AgentOSStorageConfig);
|
|
142
|
-
/**
|
|
143
|
-
* Initializes the storage adapter and creates AgentOS schema.
|
|
144
|
-
*/
|
|
145
|
-
initialize(): Promise<void>;
|
|
146
|
-
/**
|
|
147
|
-
* Gets the underlying storage adapter for custom queries.
|
|
148
|
-
*/
|
|
149
|
-
getAdapter(): StorageAdapter;
|
|
150
|
-
/**
|
|
151
|
-
* Closes the storage adapter.
|
|
152
|
-
*/
|
|
153
|
-
close(): Promise<void>;
|
|
154
|
-
/**
|
|
155
|
-
* Conversations API with typed query builders.
|
|
156
|
-
*
|
|
157
|
-
* @example
|
|
158
|
-
* ```typescript
|
|
159
|
-
* await storage.conversations.save('conv-1', 'user-1', 'v_researcher', [
|
|
160
|
-
* { type: 'user', content: 'Hello', timestamp: Date.now() },
|
|
161
|
-
* { type: 'assistant', content: 'Hi!', timestamp: Date.now() },
|
|
162
|
-
* ]);
|
|
163
|
-
*
|
|
164
|
-
* const conversation = await storage.conversations.get('conv-1');
|
|
165
|
-
* const allConversations = await storage.conversations.list('user-1', { limit: 50 });
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
get conversations(): {
|
|
169
|
-
/**
|
|
170
|
-
* Saves a conversation with its events.
|
|
171
|
-
* Creates the conversation if it doesn't exist, updates if it does.
|
|
172
|
-
*/
|
|
173
|
-
save: (id: string, userId: string, personaId: string, events: any[]) => Promise<void>;
|
|
174
|
-
/**
|
|
175
|
-
* Gets a conversation by ID with all its events.
|
|
176
|
-
* Returns null if not found.
|
|
177
|
-
*/
|
|
178
|
-
get: (id: string) => Promise<{
|
|
179
|
-
events: any[];
|
|
180
|
-
id: string;
|
|
181
|
-
user_id: string;
|
|
182
|
-
persona_id: string;
|
|
183
|
-
created_at: number;
|
|
184
|
-
updated_at: number;
|
|
185
|
-
metadata: string;
|
|
186
|
-
} | null>;
|
|
187
|
-
/**
|
|
188
|
-
* Lists conversations for a user, ordered by most recent first.
|
|
189
|
-
*/
|
|
190
|
-
list: (userId: string, options?: {
|
|
191
|
-
limit?: number;
|
|
192
|
-
offset?: number;
|
|
193
|
-
}) => Promise<{
|
|
194
|
-
id: string;
|
|
195
|
-
user_id: string;
|
|
196
|
-
persona_id: string;
|
|
197
|
-
created_at: number;
|
|
198
|
-
updated_at: number;
|
|
199
|
-
metadata: string;
|
|
200
|
-
}[]>;
|
|
201
|
-
/**
|
|
202
|
-
* Deletes a conversation and all its events.
|
|
203
|
-
*/
|
|
204
|
-
delete: (id: string) => Promise<void>;
|
|
205
|
-
};
|
|
206
|
-
/**
|
|
207
|
-
* Sessions API with typed query builders.
|
|
208
|
-
*
|
|
209
|
-
* @example
|
|
210
|
-
* ```typescript
|
|
211
|
-
* await storage.sessions.save('session-1', 'user-1', 'V Session', 'persona', 'v_researcher');
|
|
212
|
-
* const session = await storage.sessions.get('session-1');
|
|
213
|
-
* const allSessions = await storage.sessions.list('user-1', { limit: 25 });
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
get sessions(): {
|
|
217
|
-
/**
|
|
218
|
-
* Saves a session (creates or updates).
|
|
219
|
-
*/
|
|
220
|
-
save: (id: string, userId: string, displayName: string, targetType: "persona" | "agency", targetId: string, metadata?: Record<string, any>) => Promise<void>;
|
|
221
|
-
/**
|
|
222
|
-
* Gets a session by ID.
|
|
223
|
-
*/
|
|
224
|
-
get: (id: string) => Promise<{
|
|
225
|
-
id: string;
|
|
226
|
-
user_id: string;
|
|
227
|
-
display_name: string;
|
|
228
|
-
target_type: "persona" | "agency";
|
|
229
|
-
target_id: string;
|
|
230
|
-
created_at: number;
|
|
231
|
-
updated_at: number;
|
|
232
|
-
metadata: string;
|
|
233
|
-
} | null>;
|
|
234
|
-
/**
|
|
235
|
-
* Lists sessions for a user, ordered by most recent first.
|
|
236
|
-
*/
|
|
237
|
-
list: (userId: string, options?: {
|
|
238
|
-
limit?: number;
|
|
239
|
-
offset?: number;
|
|
240
|
-
targetType?: "persona" | "agency";
|
|
241
|
-
}) => Promise<{
|
|
242
|
-
id: string;
|
|
243
|
-
user_id: string;
|
|
244
|
-
display_name: string;
|
|
245
|
-
target_type: "persona" | "agency";
|
|
246
|
-
target_id: string;
|
|
247
|
-
created_at: number;
|
|
248
|
-
updated_at: number;
|
|
249
|
-
metadata: string;
|
|
250
|
-
}[]>;
|
|
251
|
-
/**
|
|
252
|
-
* Deletes a session.
|
|
253
|
-
*/
|
|
254
|
-
delete: (id: string) => Promise<void>;
|
|
255
|
-
};
|
|
256
|
-
/**
|
|
257
|
-
* Personas API with typed query builders.
|
|
258
|
-
*
|
|
259
|
-
* @example
|
|
260
|
-
* ```typescript
|
|
261
|
-
* await storage.personas.cache('v_researcher', 'V', personaDefinition);
|
|
262
|
-
* const persona = await storage.personas.get('v_researcher');
|
|
263
|
-
* const allPersonas = await storage.personas.list();
|
|
264
|
-
* ```
|
|
265
|
-
*/
|
|
266
|
-
get personas(): {
|
|
267
|
-
/**
|
|
268
|
-
* Caches a persona definition (creates or updates).
|
|
269
|
-
*/
|
|
270
|
-
cache: (id: string, displayName: string, definition: any) => Promise<void>;
|
|
271
|
-
/**
|
|
272
|
-
* Gets a persona by ID.
|
|
273
|
-
*/
|
|
274
|
-
get: (id: string) => Promise<{
|
|
275
|
-
definition: any;
|
|
276
|
-
id: string;
|
|
277
|
-
display_name: string;
|
|
278
|
-
description: string;
|
|
279
|
-
created_at: number;
|
|
280
|
-
updated_at: number;
|
|
281
|
-
} | null>;
|
|
282
|
-
/**
|
|
283
|
-
* Lists all personas, ordered by display name.
|
|
284
|
-
*/
|
|
285
|
-
list: () => Promise<{
|
|
286
|
-
definition: any;
|
|
287
|
-
id: string;
|
|
288
|
-
display_name: string;
|
|
289
|
-
description: string;
|
|
290
|
-
created_at: number;
|
|
291
|
-
updated_at: number;
|
|
292
|
-
}[]>;
|
|
293
|
-
/**
|
|
294
|
-
* Deletes a persona.
|
|
295
|
-
*/
|
|
296
|
-
delete: (id: string) => Promise<void>;
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Creates an AgentOS-optimized storage adapter with auto-detection and schema setup.
|
|
301
|
-
*
|
|
302
|
-
* This is the recommended way to use sql-storage-adapter with AgentOS.
|
|
303
|
-
* It automatically:
|
|
304
|
-
* 1. Detects the best storage adapter for the current platform
|
|
305
|
-
* 2. Creates AgentOS-specific tables (conversations, sessions, personas, etc.)
|
|
306
|
-
* 3. Provides typed query builders for common operations
|
|
307
|
-
* 4. Handles graceful degradation (e.g., IndexedDB → sql.js)
|
|
308
|
-
*
|
|
309
|
-
* @param config Configuration for platform, persistence, and features
|
|
310
|
-
* @returns Initialized AgentOSStorageAdapter
|
|
311
|
-
*
|
|
312
|
-
* @example
|
|
313
|
-
* ```typescript
|
|
314
|
-
* const storage = await createAgentOSStorage({ platform: 'auto' });
|
|
315
|
-
* const agentos = new AgentOS();
|
|
316
|
-
* await agentos.initialize({ storageAdapter: storage.getAdapter() });
|
|
317
|
-
* ```
|
|
318
|
-
*/
|
|
319
|
-
export declare function createAgentOSStorage(config?: AgentOSStorageConfig): Promise<AgentOSStorageAdapter>;
|
|
320
|
-
//# sourceMappingURL=AgentOSStorageAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOSStorageAdapter.d.ts","sourceRoot":"","sources":["../../src/agentos/AgentOSStorageAdapter.ts"],"names":[],"mappings":"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"}
|