@panorama-ai/gateway 2.30.211 → 2.30.279

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +10 -0
  2. package/dist/cli-providers/types.d.ts +1 -1
  3. package/dist/cli-providers/types.d.ts.map +1 -1
  4. package/dist/database.types.d.ts +1723 -172
  5. package/dist/database.types.d.ts.map +1 -1
  6. package/dist/database.types.js.map +1 -1
  7. package/dist/finalize-subagent-run.d.ts +2 -1
  8. package/dist/finalize-subagent-run.d.ts.map +1 -1
  9. package/dist/finalize-subagent-run.js.map +1 -1
  10. package/dist/index.js +3384 -241
  11. package/dist/index.js.map +4 -4
  12. package/dist/managed-runtime/config.d.ts +13 -0
  13. package/dist/managed-runtime/config.d.ts.map +1 -1
  14. package/dist/managed-runtime/config.js +31 -0
  15. package/dist/managed-runtime/config.js.map +1 -1
  16. package/dist/managed-runtime/dependencies.d.ts +2 -0
  17. package/dist/managed-runtime/dependencies.d.ts.map +1 -1
  18. package/dist/managed-runtime/dependencies.js +2 -0
  19. package/dist/managed-runtime/dependencies.js.map +1 -1
  20. package/dist/managed-runtime/drive-sync-filesystem.d.ts +39 -0
  21. package/dist/managed-runtime/drive-sync-filesystem.d.ts.map +1 -0
  22. package/dist/managed-runtime/drive-sync-filesystem.js +434 -0
  23. package/dist/managed-runtime/drive-sync-filesystem.js.map +1 -0
  24. package/dist/managed-runtime/drive-sync-planner.d.ts +76 -0
  25. package/dist/managed-runtime/drive-sync-planner.d.ts.map +1 -0
  26. package/dist/managed-runtime/drive-sync-planner.js +363 -0
  27. package/dist/managed-runtime/drive-sync-planner.js.map +1 -0
  28. package/dist/managed-runtime/drive-sync-remote-planner.d.ts +52 -0
  29. package/dist/managed-runtime/drive-sync-remote-planner.d.ts.map +1 -0
  30. package/dist/managed-runtime/drive-sync-remote-planner.js +77 -0
  31. package/dist/managed-runtime/drive-sync-remote-planner.js.map +1 -0
  32. package/dist/managed-runtime/drive-sync-scheduler.d.ts +50 -0
  33. package/dist/managed-runtime/drive-sync-scheduler.d.ts.map +1 -0
  34. package/dist/managed-runtime/drive-sync-scheduler.js +302 -0
  35. package/dist/managed-runtime/drive-sync-scheduler.js.map +1 -0
  36. package/dist/managed-runtime/drive-sync-state-applier.d.ts +84 -0
  37. package/dist/managed-runtime/drive-sync-state-applier.d.ts.map +1 -0
  38. package/dist/managed-runtime/drive-sync-state-applier.js +153 -0
  39. package/dist/managed-runtime/drive-sync-state-applier.js.map +1 -0
  40. package/dist/managed-runtime/drive-sync-transfer.d.ts +86 -0
  41. package/dist/managed-runtime/drive-sync-transfer.d.ts.map +1 -0
  42. package/dist/managed-runtime/drive-sync-transfer.js +245 -0
  43. package/dist/managed-runtime/drive-sync-transfer.js.map +1 -0
  44. package/dist/managed-runtime/drive-sync.d.ts +416 -0
  45. package/dist/managed-runtime/drive-sync.d.ts.map +1 -0
  46. package/dist/managed-runtime/drive-sync.js +1641 -0
  47. package/dist/managed-runtime/drive-sync.js.map +1 -0
  48. package/dist/managed-runtime.d.ts.map +1 -1
  49. package/dist/managed-runtime.js +44 -0
  50. package/dist/managed-runtime.js.map +1 -1
  51. package/dist/subagent-adapters/types.d.ts +1 -1
  52. package/dist/subagent-adapters/types.d.ts.map +1 -1
  53. package/dist/subagent-output-persistence.d.ts +1 -1
  54. package/dist/subagent-output-persistence.d.ts.map +1 -1
  55. package/dist/subagent-output-persistence.js +1 -1
  56. package/dist/subagent-output-persistence.js.map +1 -1
  57. package/package.json +5 -5
@@ -0,0 +1,416 @@
1
+ import type { ManagedGatewayRuntimeConfig } from './config.js';
2
+ import { type DriveSyncConflictRecord, type DriveSyncStateEntry } from './drive-sync-planner.js';
3
+ import { type DriveSyncStateMutationStore, type LocalDriveMutationResult } from './drive-sync-state-applier.js';
4
+ import { type ManagedGatewaySupabaseClient } from './runtime-utils.js';
5
+ export type { DriveSyncConflictRecord, DriveSyncStateEntry, DriveSyncStateEntryType, LocalDriveMutation, LocalDriveScanEntry, } from './drive-sync-planner.js';
6
+ export { resolveDriveLocalPath, resolveDriveLocalRoot } from './drive-sync-filesystem.js';
7
+ type DriveSyncClientResponse = {
8
+ id: string;
9
+ team_id: string;
10
+ agent_id: string | null;
11
+ host_id: string | null;
12
+ display_name: string | null;
13
+ status: string;
14
+ metadata: Record<string, unknown>;
15
+ created_at: string;
16
+ updated_at: string;
17
+ };
18
+ type DriveSyncCursorResponse = {
19
+ id: string;
20
+ sync_client_id: string;
21
+ drive_id: string;
22
+ last_batch_sequence: number;
23
+ status: string;
24
+ last_success_at: string | null;
25
+ last_error: string | null;
26
+ metadata: Record<string, unknown>;
27
+ created_at: string;
28
+ updated_at: string;
29
+ };
30
+ type DriveSyncStatusValue = 'active' | 'degraded' | 'error';
31
+ type DriveSyncStatusSummaryResponse = {
32
+ applied_batch_count: number;
33
+ applied_path_count: number;
34
+ remote_conflict_count: number;
35
+ uploaded_batch_count: number;
36
+ uploaded_change_count: number;
37
+ uploaded_applied_count: number;
38
+ uploaded_conflict_count: number;
39
+ uploaded_unsupported_count: number;
40
+ uploaded_rejected_count: number;
41
+ deferred_file_count: number;
42
+ };
43
+ type DriveSyncStatusReportResponse = {
44
+ id: string;
45
+ sync_client_id: string;
46
+ drive_id: string;
47
+ status: DriveSyncStatusValue;
48
+ last_reason: string | null;
49
+ last_error: string | null;
50
+ last_batch_sequence: number | null;
51
+ last_sync_at: string;
52
+ last_success_at: string | null;
53
+ summary: DriveSyncStatusSummaryResponse;
54
+ metadata: Record<string, unknown>;
55
+ created_at: string;
56
+ updated_at: string;
57
+ };
58
+ type DriveResourceResponse = {
59
+ id: string;
60
+ title: string | null;
61
+ metadata: Record<string, unknown>;
62
+ created_at: string;
63
+ updated_at: string;
64
+ };
65
+ type DriveChangeBatchPathResponse = {
66
+ id: string;
67
+ path: string;
68
+ scope: string;
69
+ change_type: string | null;
70
+ entry_type: string | null;
71
+ from_path: string | null;
72
+ to_path: string | null;
73
+ version_id: string | null;
74
+ version: {
75
+ id: string;
76
+ drive_id: string;
77
+ path: string;
78
+ content_sha256: string;
79
+ size_bytes: number;
80
+ mime_type: string | null;
81
+ } | null;
82
+ };
83
+ type DriveChangeBatchResponse = {
84
+ id: string;
85
+ sequence: number;
86
+ drive_id: string;
87
+ summary: string;
88
+ confidence: string;
89
+ counters: Record<string, unknown>;
90
+ observation_metadata: Record<string, unknown>;
91
+ completed_at: string;
92
+ created_at: string;
93
+ paths: DriveChangeBatchPathResponse[];
94
+ };
95
+ type RegisterDriveSyncClientResponse = {
96
+ success: true;
97
+ sync_client: DriveSyncClientResponse;
98
+ };
99
+ type ListSyncDrivesResponse = {
100
+ success: true;
101
+ sync_client: DriveSyncClientResponse;
102
+ drives: Array<{
103
+ resource: DriveResourceResponse;
104
+ cursor: DriveSyncCursorResponse | null;
105
+ sync_status?: DriveSyncStatusReportResponse | null;
106
+ }>;
107
+ };
108
+ type GetDriveChangesResponse = {
109
+ success: true;
110
+ sync_client: DriveSyncClientResponse;
111
+ drive_id: string;
112
+ cursor: DriveSyncCursorResponse;
113
+ changes: DriveChangeBatchResponse[];
114
+ next_batch_sequence: number | null;
115
+ has_more: boolean;
116
+ };
117
+ type DownloadDriveFileVersionResponse = {
118
+ success: true;
119
+ file: {
120
+ path: string;
121
+ version_id: string;
122
+ content_sha256: string;
123
+ mime_type: string | null;
124
+ size_bytes: number;
125
+ transfer_mode?: 'direct';
126
+ download_request?: DriveObjectSignedRequestResponse;
127
+ content_format?: 'base64' | 'text';
128
+ is_utf8_text?: boolean;
129
+ content_base64?: string;
130
+ text_content?: string;
131
+ };
132
+ };
133
+ type DriveObjectSignedRequestResponse = {
134
+ method: 'GET' | 'PUT' | 'DELETE';
135
+ url: string;
136
+ headers: Record<string, string>;
137
+ expires_at: string;
138
+ };
139
+ type PrepareDriveFileUploadResponse = {
140
+ success: true;
141
+ sync_client: DriveSyncClientResponse;
142
+ drive_id: string;
143
+ path: string;
144
+ version_id: string;
145
+ storage_backend: 'object';
146
+ storage_key: string;
147
+ content_sha256: string;
148
+ size_bytes: number;
149
+ mime_type: string | null;
150
+ upload_id?: string;
151
+ upload_expires_at?: string;
152
+ upload_status?: 'pending' | 'committed';
153
+ upload_request: DriveObjectSignedRequestResponse | null;
154
+ };
155
+ type AckDriveChangesResponse = {
156
+ success: true;
157
+ sync_client: DriveSyncClientResponse;
158
+ cursor: DriveSyncCursorResponse;
159
+ remote_conflict_count?: number;
160
+ remote_conflicts?: RemoteConflictAckResult[];
161
+ resource_operation_id?: string;
162
+ resource_operation_status?: string;
163
+ };
164
+ type RemoteConflictAckPayload = {
165
+ path: string;
166
+ reason: string | null;
167
+ conflict_path: string | null;
168
+ local_content_sha256: string | null;
169
+ local_size_bytes: number | null;
170
+ local_version_id: string | null;
171
+ remote_batch_id: string | null;
172
+ remote_sequence: number | null;
173
+ };
174
+ type RemoteConflictAckResult = {
175
+ path?: string;
176
+ status?: string;
177
+ conflict_id?: string | null;
178
+ conflict_path?: string | null;
179
+ reason?: string | null;
180
+ remote_batch_id?: string | null;
181
+ remote_sequence?: number | null;
182
+ };
183
+ type ApplyLocalDriveChangeBatchResponse = {
184
+ success: true;
185
+ idempotent: boolean;
186
+ drive_id: string;
187
+ sync_client_id: string;
188
+ batch: {
189
+ id: string;
190
+ sequence: number;
191
+ } | null;
192
+ results: LocalDriveChangeResult[];
193
+ applied_count: number;
194
+ conflict_count: number;
195
+ unsupported_count: number;
196
+ rejected_count: number;
197
+ resource_operation_status?: string;
198
+ };
199
+ type ApplyDriveConflictActionsResponse = {
200
+ success: true;
201
+ sync_client: DriveSyncClientResponse;
202
+ drive_id: string;
203
+ resolved_count: number;
204
+ ignored_count: number;
205
+ updated_count: number;
206
+ missing_count: number;
207
+ results: DriveConflictActionResult[];
208
+ };
209
+ type DriveConflictActionResult = {
210
+ index?: number;
211
+ type?: string;
212
+ path?: string;
213
+ conflict_id?: string | null;
214
+ conflict_path?: string | null;
215
+ status?: string;
216
+ };
217
+ type ReportDriveSyncStatusResponse = {
218
+ success: true;
219
+ sync_client: DriveSyncClientResponse;
220
+ status_report: DriveSyncStatusReportResponse;
221
+ };
222
+ type LocalDriveChangeResultBase = {
223
+ index: number;
224
+ type: string;
225
+ path?: string;
226
+ from_path?: string;
227
+ to_path?: string;
228
+ version_id?: string;
229
+ conflict_id?: string;
230
+ reason?: string;
231
+ };
232
+ type LocalDriveChangeResult = (LocalDriveChangeResultBase & LocalDriveMutationResult) | (LocalDriveChangeResultBase & {
233
+ status: 'staged';
234
+ });
235
+ export type DriveSyncFunctionApi = {
236
+ registerClient(body: {
237
+ agent_id: string;
238
+ host_id: string;
239
+ client_key: string;
240
+ display_name: string;
241
+ metadata: Record<string, unknown>;
242
+ }): Promise<RegisterDriveSyncClientResponse>;
243
+ listDrives(body: {
244
+ sync_client_id: string;
245
+ }): Promise<ListSyncDrivesResponse>;
246
+ getChanges(body: {
247
+ sync_client_id: string;
248
+ drive_id: string;
249
+ limit: number;
250
+ }): Promise<GetDriveChangesResponse>;
251
+ downloadFileVersion(body: {
252
+ sync_client_id: string;
253
+ drive_id: string;
254
+ version_id: string;
255
+ format: 'base64';
256
+ transfer_mode?: 'direct';
257
+ }): Promise<DownloadDriveFileVersionResponse>;
258
+ prepareFileUpload?(body: {
259
+ sync_client_id: string;
260
+ drive_id: string;
261
+ path: string;
262
+ version_id: string;
263
+ content_sha256: string;
264
+ size_bytes: number;
265
+ mime_type?: string | null;
266
+ }): Promise<PrepareDriveFileUploadResponse>;
267
+ ackChanges(body: {
268
+ sync_client_id: string;
269
+ drive_id: string;
270
+ operation_id?: string;
271
+ last_batch_sequence: number;
272
+ last_error?: string | null;
273
+ remote_conflicts?: RemoteConflictAckPayload[];
274
+ }): Promise<AckDriveChangesResponse>;
275
+ applyLocalChangeBatch(body: {
276
+ sync_client_id: string;
277
+ drive_id: string;
278
+ resource_operation_id: string;
279
+ resource_operation_fingerprint: string;
280
+ resource_operation_chunk_fingerprint: string;
281
+ resource_operation_chunk_fingerprints: string[];
282
+ resource_operation_chunk_index: number;
283
+ resource_operation_chunk_count: number;
284
+ base_cursor_sequence: number | null;
285
+ changes: Record<string, unknown>[];
286
+ }): Promise<ApplyLocalDriveChangeBatchResponse>;
287
+ applyConflictActions?(body: {
288
+ sync_client_id: string;
289
+ drive_id: string;
290
+ operation_id: string;
291
+ actions: Record<string, unknown>[];
292
+ }): Promise<ApplyDriveConflictActionsResponse>;
293
+ reportStatus(body: {
294
+ sync_client_id: string;
295
+ drive_id: string;
296
+ status?: DriveSyncStatusValue | null;
297
+ last_reason?: string | null;
298
+ last_error?: string | null;
299
+ last_batch_sequence?: number | null;
300
+ summary?: DriveSyncStatusSummaryResponse;
301
+ metadata?: Record<string, unknown>;
302
+ }): Promise<ReportDriveSyncStatusResponse>;
303
+ };
304
+ export type DriveSyncStateDrive = {
305
+ id: string;
306
+ title: string | null;
307
+ rootPath: string;
308
+ };
309
+ export type DriveSyncStateStoreLike = DriveSyncStateMutationStore & {
310
+ getOrCreateClientKey?(prefix: string): string;
311
+ getEntry?(driveId: string, drivePath: string): DriveSyncStateEntry | null;
312
+ listEntries?(driveId: string): DriveSyncStateEntry[];
313
+ listDrives?(): DriveSyncStateDrive[];
314
+ listConflicts?(driveId: string): DriveSyncConflictRecord[];
315
+ setSyncClient(client: DriveSyncClientResponse): void;
316
+ upsertDrive(drive: {
317
+ id: string;
318
+ title: string | null;
319
+ rootPath: string;
320
+ }): void;
321
+ removeDrive?(driveId: string): void;
322
+ setCursor(driveId: string, lastBatchSequence: number): void;
323
+ close?(): void;
324
+ };
325
+ export declare class DriveSyncStateStore implements DriveSyncStateStoreLike {
326
+ private readonly db;
327
+ private constructor();
328
+ static open(stateDir: string): Promise<DriveSyncStateStore>;
329
+ close(): void;
330
+ getOrCreateClientKey(prefix: string): string;
331
+ getEntry(driveId: string, drivePath: string): DriveSyncStateEntry | null;
332
+ listEntries(driveId: string): DriveSyncStateEntry[];
333
+ listDrives(): DriveSyncStateDrive[];
334
+ getConflict(driveId: string, drivePath: string): DriveSyncConflictRecord | null;
335
+ listConflicts(driveId: string): DriveSyncConflictRecord[];
336
+ setSyncClient(client: DriveSyncClientResponse): void;
337
+ upsertDrive(drive: {
338
+ id: string;
339
+ title: string | null;
340
+ rootPath: string;
341
+ }): void;
342
+ removeDrive(driveId: string): void;
343
+ setCursor(driveId: string, lastBatchSequence: number): void;
344
+ upsertEntry(entry: DriveSyncStateEntry): void;
345
+ upsertConflict(conflict: DriveSyncConflictRecord): void;
346
+ deleteConflict(driveId: string, drivePath: string): void;
347
+ deleteConflictTree(driveId: string, drivePath: string): void;
348
+ deleteEntryTree(driveId: string, drivePath: string): void;
349
+ moveEntryTree(driveId: string, fromPath: string, toPath: string): void;
350
+ private ensureSchema;
351
+ }
352
+ export type ManagedDriveSyncOptions = {
353
+ includeLocalWrites?: boolean;
354
+ dirtyLocalPaths?: string[];
355
+ schedulerStatus?: {
356
+ watchStatus: 'active' | 'unavailable' | 'error';
357
+ watchError: string | null;
358
+ };
359
+ };
360
+ export type ManagedDriveSyncService = {
361
+ syncOnce(options?: ManagedDriveSyncOptions): Promise<DriveSyncRunSummary>;
362
+ close(): void;
363
+ };
364
+ export type DriveSyncRunSummary = {
365
+ driveCount: number;
366
+ failedDriveCount: number;
367
+ appliedBatchCount: number;
368
+ appliedPathCount: number;
369
+ remoteConflictCount: number;
370
+ uploadedBatchCount: number;
371
+ uploadedChangeCount: number;
372
+ uploadedAppliedCount: number;
373
+ uploadedConflictCount: number;
374
+ uploadedUnsupportedCount: number;
375
+ uploadedRejectedCount: number;
376
+ deferredFileCount: number;
377
+ };
378
+ export declare function createManagedDriveSyncService(params: {
379
+ config: ManagedGatewayRuntimeConfig;
380
+ supabase: ManagedGatewaySupabaseClient;
381
+ api?: DriveSyncFunctionApi;
382
+ stateStore?: DriveSyncStateStoreLike;
383
+ }): Promise<ManagedDriveSyncService>;
384
+ export declare function createSupabaseDriveSyncApi(supabase: ManagedGatewaySupabaseClient, options?: {
385
+ timeoutMs?: number;
386
+ }): DriveSyncFunctionApi;
387
+ export declare function applyDriveChangeBatchToLocalFilesystem(params: {
388
+ syncClientId: string;
389
+ driveRoot: string;
390
+ batch: DriveChangeBatchResponse;
391
+ api: Pick<DriveSyncFunctionApi, 'downloadFileVersion'>;
392
+ stateStore: DriveSyncStateStoreLike;
393
+ }): Promise<{
394
+ appliedPathCount: number;
395
+ remoteConflictCount: number;
396
+ remoteConflicts: DriveSyncConflictRecord[];
397
+ }>;
398
+ export declare function reconcileLocalDriveToCloud(params: {
399
+ syncClientId: string;
400
+ driveId: string;
401
+ driveRoot: string;
402
+ baseCursorSequence: number | null;
403
+ api: Pick<DriveSyncFunctionApi, 'applyLocalChangeBatch' | 'prepareFileUpload' | 'applyConflictActions'>;
404
+ stateStore: DriveSyncStateStoreLike;
405
+ dirtyDrivePaths?: Set<string> | null;
406
+ }): Promise<{
407
+ uploadedBatchCount: number;
408
+ uploadedChangeCount: number;
409
+ uploadedAppliedCount: number;
410
+ uploadedConflictCount: number;
411
+ uploadedUnsupportedCount: number;
412
+ uploadedRejectedCount: number;
413
+ deferredFileCount: number;
414
+ }>;
415
+ export declare function logDriveSyncRunSummary(summary: DriveSyncRunSummary): void;
416
+ //# sourceMappingURL=drive-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive-sync.d.ts","sourceRoot":"","sources":["../../src/managed-runtime/drive-sync.ts"],"names":[],"mappings":"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"}