database-devtools 0.1.0

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 (94) hide show
  1. package/LICENSE +5 -0
  2. package/dist/adapter/index.cjs +314 -0
  3. package/dist/adapter/index.cjs.map +1 -0
  4. package/dist/adapter/index.d.cts +34 -0
  5. package/dist/adapter/index.d.ts +34 -0
  6. package/dist/adapter/index.js +6 -0
  7. package/dist/adapter/index.js.map +1 -0
  8. package/dist/adapter-BjJm71wW.d.cts +30 -0
  9. package/dist/adapter-DJSjDewg.d.ts +30 -0
  10. package/dist/adapters/sqlite/index.cjs +251 -0
  11. package/dist/adapters/sqlite/index.cjs.map +1 -0
  12. package/dist/adapters/sqlite/index.d.cts +21 -0
  13. package/dist/adapters/sqlite/index.d.ts +21 -0
  14. package/dist/adapters/sqlite/index.js +6 -0
  15. package/dist/adapters/sqlite/index.js.map +1 -0
  16. package/dist/chunk-2JGL2JVD.js +52 -0
  17. package/dist/chunk-2JGL2JVD.js.map +1 -0
  18. package/dist/chunk-AZECU6D7.js +27 -0
  19. package/dist/chunk-AZECU6D7.js.map +1 -0
  20. package/dist/chunk-BLOSGEQV.js +71 -0
  21. package/dist/chunk-BLOSGEQV.js.map +1 -0
  22. package/dist/chunk-CPVVIH5G.js +258 -0
  23. package/dist/chunk-CPVVIH5G.js.map +1 -0
  24. package/dist/chunk-DGUM43GV.js +10 -0
  25. package/dist/chunk-DGUM43GV.js.map +1 -0
  26. package/dist/chunk-HIDZTOJ3.js +9 -0
  27. package/dist/chunk-HIDZTOJ3.js.map +1 -0
  28. package/dist/chunk-I65IM47D.js +243 -0
  29. package/dist/chunk-I65IM47D.js.map +1 -0
  30. package/dist/chunk-MXVIGMVT.js +3 -0
  31. package/dist/chunk-MXVIGMVT.js.map +1 -0
  32. package/dist/chunk-O6AO7KHA.js +3 -0
  33. package/dist/chunk-O6AO7KHA.js.map +1 -0
  34. package/dist/chunk-TNDOAHT5.js +1784 -0
  35. package/dist/chunk-TNDOAHT5.js.map +1 -0
  36. package/dist/chunk-ZS5MZR75.js +655 -0
  37. package/dist/chunk-ZS5MZR75.js.map +1 -0
  38. package/dist/cli.cjs +2053 -0
  39. package/dist/cli.cjs.map +1 -0
  40. package/dist/client/index.cjs +947 -0
  41. package/dist/client/index.cjs.map +1 -0
  42. package/dist/client/index.d.cts +75 -0
  43. package/dist/client/index.d.ts +75 -0
  44. package/dist/client/index.js +98 -0
  45. package/dist/client/index.js.map +1 -0
  46. package/dist/createDevToolsServer-B7NQ_5H4.d.cts +292 -0
  47. package/dist/createDevToolsServer-DlNMoCJR.d.ts +292 -0
  48. package/dist/handleDeviceSnapshot-CR-4QMdk.d.ts +116 -0
  49. package/dist/handleDeviceSnapshot-cYGuitSc.d.cts +116 -0
  50. package/dist/index.cjs +5877 -0
  51. package/dist/index.cjs.map +1 -0
  52. package/dist/index.d.cts +61 -0
  53. package/dist/index.d.ts +61 -0
  54. package/dist/index.js +2748 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/inspector/index.cjs +57 -0
  57. package/dist/inspector/index.cjs.map +1 -0
  58. package/dist/inspector/index.d.cts +26 -0
  59. package/dist/inspector/index.d.ts +26 -0
  60. package/dist/inspector/index.js +5 -0
  61. package/dist/inspector/index.js.map +1 -0
  62. package/dist/inspectors/sqlite/index.cjs +306 -0
  63. package/dist/inspectors/sqlite/index.cjs.map +1 -0
  64. package/dist/inspectors/sqlite/index.d.cts +53 -0
  65. package/dist/inspectors/sqlite/index.d.ts +53 -0
  66. package/dist/inspectors/sqlite/index.js +260 -0
  67. package/dist/inspectors/sqlite/index.js.map +1 -0
  68. package/dist/register-BuicFu9L.d.cts +32 -0
  69. package/dist/register-aITLN9Q9.d.ts +32 -0
  70. package/dist/server/index.cjs +1948 -0
  71. package/dist/server/index.cjs.map +1 -0
  72. package/dist/server/index.d.cts +15 -0
  73. package/dist/server/index.d.ts +15 -0
  74. package/dist/server/index.js +7 -0
  75. package/dist/server/index.js.map +1 -0
  76. package/dist/snapshot-Dhyecgo2.d.cts +33 -0
  77. package/dist/snapshot-Dhyecgo2.d.ts +33 -0
  78. package/dist/types/protocol.cjs +309 -0
  79. package/dist/types/protocol.cjs.map +1 -0
  80. package/dist/types/protocol.d.cts +291 -0
  81. package/dist/types/protocol.d.ts +291 -0
  82. package/dist/types/protocol.js +4 -0
  83. package/dist/types/protocol.js.map +1 -0
  84. package/dist/types-BRLJdBRY.d.cts +16 -0
  85. package/dist/types-CF6qEU-_.d.ts +16 -0
  86. package/dist/types-CIA11diJ.d.cts +62 -0
  87. package/dist/types-CKVRCX-e.d.ts +62 -0
  88. package/dist/web/assets/index-CLEaIsUd.css +1 -0
  89. package/dist/web/assets/index-DQrPRTOy.js +100 -0
  90. package/dist/web/assets/sql-wasm-UFUCzYNW.wasm +0 -0
  91. package/dist/web/index.html +26 -0
  92. package/dist/write-C3toEIMs.d.cts +21 -0
  93. package/dist/write-C3toEIMs.d.ts +21 -0
  94. package/package.json +137 -0
@@ -0,0 +1,291 @@
1
+ import { a as WriteOperation } from '../write-C3toEIMs.cjs';
2
+
3
+ /** Client and server roles on the WebSocket hub. */
4
+ declare const DevToolsRole: {
5
+ readonly MOBILE: "mobile";
6
+ readonly BROWSER: "browser";
7
+ };
8
+ type DevToolsRole = (typeof DevToolsRole)[keyof typeof DevToolsRole];
9
+ /** All wire message type identifiers. */
10
+ declare const MessageType: {
11
+ readonly REGISTER: "register";
12
+ readonly PING: "ping";
13
+ readonly PONG: "pong";
14
+ readonly DEVICE_STATUS: "deviceStatus";
15
+ readonly BROADCAST: "broadcast";
16
+ readonly REFRESH_REQUEST: "refreshRequest";
17
+ readonly SNAPSHOT_UPLOAD_REQUESTED: "snapshotUploadRequested";
18
+ readonly REFRESH_STATUS: "refreshStatus";
19
+ readonly SNAPSHOT_READY: "snapshotReady";
20
+ readonly REFRESH_ERROR: "refreshError";
21
+ readonly EXPORT_SNAPSHOT_REQUEST: "exportSnapshotRequest";
22
+ readonly EXPORT_SNAPSHOT_ERROR: "exportSnapshotError";
23
+ readonly BEGIN_TRANSACTION_REQUEST: "beginTransactionRequest";
24
+ readonly COMMIT_TRANSACTION_REQUEST: "commitTransactionRequest";
25
+ readonly ROLLBACK_TRANSACTION_REQUEST: "rollbackTransactionRequest";
26
+ readonly WRITE_REQUEST: "writeRequest";
27
+ readonly BEGIN_TRANSACTION: "beginTransaction";
28
+ readonly COMMIT_TRANSACTION: "commitTransaction";
29
+ readonly ROLLBACK_TRANSACTION: "rollbackTransaction";
30
+ readonly EXECUTE_WRITE: "executeWrite";
31
+ readonly TRANSACTION_ACK: "transactionAck";
32
+ readonly WRITE_ACK: "writeAck";
33
+ readonly TRANSACTION_STATUS: "transactionStatus";
34
+ readonly WRITE_RESULT: "writeResult";
35
+ readonly WRITE_ERROR: "writeError";
36
+ };
37
+ type MessageTypeValue = (typeof MessageType)[keyof typeof MessageType];
38
+ /** Shared base for every protocol message. */
39
+ interface DevToolsMessageBase {
40
+ type: MessageTypeValue;
41
+ timestamp: number;
42
+ }
43
+ type DeviceMetadata = {
44
+ platform?: string;
45
+ appName?: string;
46
+ [key: string]: string | undefined;
47
+ };
48
+ /** Client → Server: register role on connect. */
49
+ interface RegisterMessage extends DevToolsMessageBase {
50
+ type: typeof MessageType.REGISTER;
51
+ role: DevToolsRole;
52
+ deviceId?: string;
53
+ metadata?: DeviceMetadata;
54
+ }
55
+ /** Server → Client: heartbeat probe. */
56
+ interface PingMessage extends DevToolsMessageBase {
57
+ type: typeof MessageType.PING;
58
+ pingId: string;
59
+ }
60
+ /** Client → Server: heartbeat response. */
61
+ interface PongMessage extends DevToolsMessageBase {
62
+ type: typeof MessageType.PONG;
63
+ pingId: string;
64
+ }
65
+ type BrowserConnectionInfo = {
66
+ connectionId: string;
67
+ connectedAt: number;
68
+ };
69
+ type MobileDeviceInfo = {
70
+ deviceId: string;
71
+ connectionId: string;
72
+ connectedAt: number;
73
+ metadata?: DeviceMetadata;
74
+ };
75
+ type DeviceStatusPayload = {
76
+ browserCount: number;
77
+ mobileCount: number;
78
+ browsers: BrowserConnectionInfo[];
79
+ mobiles: MobileDeviceInfo[];
80
+ };
81
+ /** Server → Client: hub snapshot after connect/disconnect. */
82
+ interface DeviceStatusMessage extends DevToolsMessageBase {
83
+ type: typeof MessageType.DEVICE_STATUS;
84
+ payload: DeviceStatusPayload;
85
+ }
86
+ /** Server → Client: generic routed envelope for future features. */
87
+ interface BroadcastMessage extends DevToolsMessageBase {
88
+ type: typeof MessageType.BROADCAST;
89
+ payload: unknown;
90
+ }
91
+ type RefreshType = 'snapshot';
92
+ type RefreshState = 'requested' | 'exporting' | 'uploading' | 'ready' | 'failed' | 'timeout';
93
+ /** @deprecated Use RefreshState */
94
+ type SyncState = RefreshState;
95
+ type RefreshErrorCode = 'DEVICE_OFFLINE' | 'REFRESH_IN_PROGRESS' | 'EXPORT_FAILED' | 'UPLOAD_FAILED' | 'TIMEOUT' | 'SNAPSHOT_NOT_FOUND' | 'INVALID_REQUEST';
96
+ /** @deprecated Use RefreshErrorCode */
97
+ type SyncErrorCode = RefreshErrorCode;
98
+ /** Browser → Server: request a database snapshot from a mobile device. */
99
+ interface RefreshRequestMessage extends DevToolsMessageBase {
100
+ type: typeof MessageType.REFRESH_REQUEST;
101
+ deviceId: string;
102
+ refreshType: RefreshType;
103
+ }
104
+ /** Server → Mobile: export database and upload via REST. */
105
+ interface SnapshotUploadRequestedMessage extends DevToolsMessageBase {
106
+ type: typeof MessageType.SNAPSHOT_UPLOAD_REQUESTED;
107
+ deviceId: string;
108
+ refreshType: RefreshType;
109
+ }
110
+ /** Server → Browser: refresh progress update. */
111
+ interface RefreshStatusMessage extends DevToolsMessageBase {
112
+ type: typeof MessageType.REFRESH_STATUS;
113
+ deviceId: string;
114
+ state: RefreshState;
115
+ message?: string;
116
+ }
117
+ /** Server → Browser: snapshot uploaded and ready to download. */
118
+ interface SnapshotReadyMessage extends DevToolsMessageBase {
119
+ type: typeof MessageType.SNAPSHOT_READY;
120
+ deviceId: string;
121
+ size: number;
122
+ exportedAt: number;
123
+ kind: string;
124
+ mimeType: string;
125
+ databaseName?: string;
126
+ }
127
+ /** Server → Browser: refresh failed. */
128
+ interface RefreshErrorMessage extends DevToolsMessageBase {
129
+ type: typeof MessageType.REFRESH_ERROR;
130
+ deviceId: string;
131
+ code: RefreshErrorCode;
132
+ message: string;
133
+ }
134
+ /** Mobile → Server: push database snapshot to the web inspector. */
135
+ interface ExportSnapshotRequestMessage extends DevToolsMessageBase {
136
+ type: typeof MessageType.EXPORT_SNAPSHOT_REQUEST;
137
+ refreshType: RefreshType;
138
+ }
139
+ /** Server → Mobile: export request failed before upload. */
140
+ interface ExportSnapshotErrorMessage extends DevToolsMessageBase {
141
+ type: typeof MessageType.EXPORT_SNAPSHOT_ERROR;
142
+ code: RefreshErrorCode;
143
+ message: string;
144
+ }
145
+ type RefreshInitiator = 'browser' | 'mobile';
146
+ type TransactionStatusState = 'idle' | 'opening' | 'open' | 'committing' | 'rolling_back' | 'failed';
147
+ type WriteErrorCode = 'DEVICE_OFFLINE' | 'NO_TRANSACTION' | 'TRANSACTION_BUSY' | 'INVALID_OPERATION' | 'WRITE_FAILED' | 'ADAPTER_ERROR' | 'TIMEOUT';
148
+ /** Browser → Server: open a write transaction on a device. */
149
+ interface BeginTransactionRequestMessage extends DevToolsMessageBase {
150
+ type: typeof MessageType.BEGIN_TRANSACTION_REQUEST;
151
+ transactionId: string;
152
+ deviceId: string;
153
+ }
154
+ /** Browser → Server: commit the active transaction. */
155
+ interface CommitTransactionRequestMessage extends DevToolsMessageBase {
156
+ type: typeof MessageType.COMMIT_TRANSACTION_REQUEST;
157
+ transactionId: string;
158
+ deviceId: string;
159
+ }
160
+ /** Browser → Server: roll back the active transaction. */
161
+ interface RollbackTransactionRequestMessage extends DevToolsMessageBase {
162
+ type: typeof MessageType.ROLLBACK_TRANSACTION_REQUEST;
163
+ transactionId: string;
164
+ deviceId: string;
165
+ }
166
+ /** Browser → Server: execute a structured write inside a transaction. */
167
+ interface WriteRequestMessage extends DevToolsMessageBase {
168
+ type: typeof MessageType.WRITE_REQUEST;
169
+ writeId: string;
170
+ transactionId: string;
171
+ deviceId: string;
172
+ operation: WriteOperation;
173
+ }
174
+ /** Server → Mobile: begin a transaction on the live database. */
175
+ interface BeginTransactionMessage extends DevToolsMessageBase {
176
+ type: typeof MessageType.BEGIN_TRANSACTION;
177
+ transactionId: string;
178
+ }
179
+ /** Server → Mobile: commit the open transaction. */
180
+ interface CommitTransactionMessage extends DevToolsMessageBase {
181
+ type: typeof MessageType.COMMIT_TRANSACTION;
182
+ transactionId: string;
183
+ }
184
+ /** Server → Mobile: roll back the open transaction. */
185
+ interface RollbackTransactionMessage extends DevToolsMessageBase {
186
+ type: typeof MessageType.ROLLBACK_TRANSACTION;
187
+ transactionId: string;
188
+ }
189
+ /** Server → Mobile: run a structured write operation. */
190
+ interface ExecuteWriteMessage extends DevToolsMessageBase {
191
+ type: typeof MessageType.EXECUTE_WRITE;
192
+ writeId: string;
193
+ transactionId: string;
194
+ operation: WriteOperation;
195
+ }
196
+ /** Mobile → Server: transaction lifecycle acknowledgement. */
197
+ interface TransactionAckMessage extends DevToolsMessageBase {
198
+ type: typeof MessageType.TRANSACTION_ACK;
199
+ transactionId: string;
200
+ action: 'begin' | 'commit' | 'rollback';
201
+ ok: boolean;
202
+ message?: string;
203
+ }
204
+ /** Mobile → Server: write operation acknowledgement. */
205
+ interface WriteAckMessage extends DevToolsMessageBase {
206
+ type: typeof MessageType.WRITE_ACK;
207
+ writeId: string;
208
+ transactionId: string;
209
+ ok: boolean;
210
+ rowsAffected?: number;
211
+ message?: string;
212
+ }
213
+ /** Server → Browser: transaction state update. */
214
+ interface TransactionStatusMessage extends DevToolsMessageBase {
215
+ type: typeof MessageType.TRANSACTION_STATUS;
216
+ transactionId: string;
217
+ deviceId: string;
218
+ state: TransactionStatusState;
219
+ message?: string;
220
+ }
221
+ /** Server → Browser: write succeeded. */
222
+ interface WriteResultMessage extends DevToolsMessageBase {
223
+ type: typeof MessageType.WRITE_RESULT;
224
+ writeId: string;
225
+ transactionId: string;
226
+ rowsAffected: number;
227
+ }
228
+ /** Server → Browser: write or transaction failed. */
229
+ interface WriteErrorMessage extends DevToolsMessageBase {
230
+ type: typeof MessageType.WRITE_ERROR;
231
+ transactionId: string;
232
+ writeId?: string;
233
+ code: WriteErrorCode;
234
+ message: string;
235
+ }
236
+ type ClientMessage = RegisterMessage | PongMessage | RefreshRequestMessage | ExportSnapshotRequestMessage | BeginTransactionRequestMessage | CommitTransactionRequestMessage | RollbackTransactionRequestMessage | WriteRequestMessage | TransactionAckMessage | WriteAckMessage;
237
+ type ServerMessage = PingMessage | DeviceStatusMessage | BroadcastMessage | SnapshotUploadRequestedMessage | RefreshStatusMessage | SnapshotReadyMessage | RefreshErrorMessage | ExportSnapshotErrorMessage | BeginTransactionMessage | CommitTransactionMessage | RollbackTransactionMessage | ExecuteWriteMessage | TransactionStatusMessage | WriteResultMessage | WriteErrorMessage;
238
+ type DevToolsMessage = ClientMessage | ServerMessage;
239
+ declare const DEVTOOLS_WS_PATH = "/ws";
240
+ declare const DEFAULT_DEVTOOLS_PORT = 3847;
241
+ declare const DEFAULT_DEVTOOLS_HOST = "0.0.0.0";
242
+ declare const HEARTBEAT_INTERVAL_MS = 30000;
243
+ declare const HEARTBEAT_TIMEOUT_MS = 10000;
244
+ declare const DEVICE_SNAPSHOT_API_PATH = "/api/devices";
245
+ declare const PROJECT_DATABASE_API_PATH = "/api/project/database";
246
+ declare const PROJECT_DATABASE_META_API_PATH = "/api/project/database/meta";
247
+ declare const PROJECT_DATABASES_API_PATH = "/api/project/databases";
248
+ declare const PROJECT_DEVICE_EXPORTS_API_PATH = "/api/project/devices";
249
+ /** @deprecated Use DEVICE_SNAPSHOT_API_PATH */
250
+ declare const SNAPSHOT_API_PATH = "/api/devices";
251
+ declare const REFRESH_TIMEOUT_MS = 60000;
252
+ /** @deprecated Use REFRESH_TIMEOUT_MS */
253
+ declare const SYNC_TIMEOUT_MS = 60000;
254
+ declare const WRITE_TRANSACTION_TIMEOUT_MS: number;
255
+ declare const MAX_SNAPSHOT_BYTES: number;
256
+ declare function createMessage<T extends DevToolsMessageBase>(message: Omit<T, 'timestamp'>): T;
257
+ declare function buildDevToolsHttpUrl(host?: string, port?: number): string;
258
+ declare function buildDevToolsWsUrl(host?: string, port?: number): string;
259
+ declare function buildDeviceSnapshotUrl(httpBaseUrl: string, deviceId: string): string;
260
+ /** @deprecated Use buildDeviceSnapshotUrl */
261
+ declare function buildSnapshotUrl(httpBaseUrl: string, deviceId: string): string;
262
+ declare function wsUrlToHttpUrl(wsUrl: string): string;
263
+ declare function isRegisterMessage(value: unknown): value is RegisterMessage;
264
+ declare function isPongMessage(value: unknown): value is PongMessage;
265
+ declare function isRefreshRequestMessage(value: unknown): value is RefreshRequestMessage;
266
+ declare function isSnapshotUploadRequestedMessage(value: unknown): value is SnapshotUploadRequestedMessage;
267
+ declare function isRefreshStatusMessage(value: unknown): value is RefreshStatusMessage;
268
+ declare function isSnapshotReadyMessage(value: unknown): value is SnapshotReadyMessage;
269
+ declare function isRefreshErrorMessage(value: unknown): value is RefreshErrorMessage;
270
+ declare function isExportSnapshotRequestMessage(value: unknown): value is ExportSnapshotRequestMessage;
271
+ declare function isExportSnapshotErrorMessage(value: unknown): value is ExportSnapshotErrorMessage;
272
+ declare function isBeginTransactionRequestMessage(value: unknown): value is BeginTransactionRequestMessage;
273
+ declare function isCommitTransactionRequestMessage(value: unknown): value is CommitTransactionRequestMessage;
274
+ declare function isRollbackTransactionRequestMessage(value: unknown): value is RollbackTransactionRequestMessage;
275
+ declare function isWriteRequestMessage(value: unknown): value is WriteRequestMessage;
276
+ declare function isTransactionAckMessage(value: unknown): value is TransactionAckMessage;
277
+ declare function isWriteAckMessage(value: unknown): value is WriteAckMessage;
278
+ declare function isClientMessage(value: unknown): value is ClientMessage;
279
+ declare function isPingMessage(value: unknown): value is PingMessage;
280
+ declare function isDeviceStatusMessage(value: unknown): value is DeviceStatusMessage;
281
+ declare function isBroadcastMessage(value: unknown): value is BroadcastMessage;
282
+ declare function isBeginTransactionMessage(value: unknown): value is BeginTransactionMessage;
283
+ declare function isCommitTransactionMessage(value: unknown): value is CommitTransactionMessage;
284
+ declare function isRollbackTransactionMessage(value: unknown): value is RollbackTransactionMessage;
285
+ declare function isExecuteWriteMessage(value: unknown): value is ExecuteWriteMessage;
286
+ declare function isTransactionStatusMessage(value: unknown): value is TransactionStatusMessage;
287
+ declare function isWriteResultMessage(value: unknown): value is WriteResultMessage;
288
+ declare function isWriteErrorMessage(value: unknown): value is WriteErrorMessage;
289
+ declare function isServerMessage(value: unknown): value is ServerMessage;
290
+
291
+ export { type BeginTransactionMessage, type BeginTransactionRequestMessage, type BroadcastMessage, type BrowserConnectionInfo, type ClientMessage, type CommitTransactionMessage, type CommitTransactionRequestMessage, DEFAULT_DEVTOOLS_HOST, DEFAULT_DEVTOOLS_PORT, DEVICE_SNAPSHOT_API_PATH, DEVTOOLS_WS_PATH, type DevToolsMessage, type DevToolsMessageBase, DevToolsRole, type DeviceMetadata, type DeviceStatusMessage, type DeviceStatusPayload, type ExecuteWriteMessage, type ExportSnapshotErrorMessage, type ExportSnapshotRequestMessage, HEARTBEAT_INTERVAL_MS, HEARTBEAT_TIMEOUT_MS, MAX_SNAPSHOT_BYTES, MessageType, type MessageTypeValue, type MobileDeviceInfo, PROJECT_DATABASES_API_PATH, PROJECT_DATABASE_API_PATH, PROJECT_DATABASE_META_API_PATH, PROJECT_DEVICE_EXPORTS_API_PATH, type PingMessage, type PongMessage, REFRESH_TIMEOUT_MS, type RefreshErrorCode, type RefreshErrorMessage, type RefreshInitiator, type RefreshRequestMessage, type RefreshState, type RefreshStatusMessage, type RefreshType, type RegisterMessage, type RollbackTransactionMessage, type RollbackTransactionRequestMessage, SNAPSHOT_API_PATH, SYNC_TIMEOUT_MS, type ServerMessage, type SnapshotReadyMessage, type SnapshotUploadRequestedMessage, type SyncErrorCode, type SyncState, type TransactionAckMessage, type TransactionStatusMessage, type TransactionStatusState, WRITE_TRANSACTION_TIMEOUT_MS, type WriteAckMessage, type WriteErrorCode, type WriteErrorMessage, type WriteRequestMessage, type WriteResultMessage, buildDevToolsHttpUrl, buildDevToolsWsUrl, buildDeviceSnapshotUrl, buildSnapshotUrl, createMessage, isBeginTransactionMessage, isBeginTransactionRequestMessage, isBroadcastMessage, isClientMessage, isCommitTransactionMessage, isCommitTransactionRequestMessage, isDeviceStatusMessage, isExecuteWriteMessage, isExportSnapshotErrorMessage, isExportSnapshotRequestMessage, isPingMessage, isPongMessage, isRefreshErrorMessage, isRefreshRequestMessage, isRefreshStatusMessage, isRegisterMessage, isRollbackTransactionMessage, isRollbackTransactionRequestMessage, isServerMessage, isSnapshotReadyMessage, isSnapshotUploadRequestedMessage, isTransactionAckMessage, isTransactionStatusMessage, isWriteAckMessage, isWriteErrorMessage, isWriteRequestMessage, isWriteResultMessage, wsUrlToHttpUrl };
@@ -0,0 +1,291 @@
1
+ import { a as WriteOperation } from '../write-C3toEIMs.js';
2
+
3
+ /** Client and server roles on the WebSocket hub. */
4
+ declare const DevToolsRole: {
5
+ readonly MOBILE: "mobile";
6
+ readonly BROWSER: "browser";
7
+ };
8
+ type DevToolsRole = (typeof DevToolsRole)[keyof typeof DevToolsRole];
9
+ /** All wire message type identifiers. */
10
+ declare const MessageType: {
11
+ readonly REGISTER: "register";
12
+ readonly PING: "ping";
13
+ readonly PONG: "pong";
14
+ readonly DEVICE_STATUS: "deviceStatus";
15
+ readonly BROADCAST: "broadcast";
16
+ readonly REFRESH_REQUEST: "refreshRequest";
17
+ readonly SNAPSHOT_UPLOAD_REQUESTED: "snapshotUploadRequested";
18
+ readonly REFRESH_STATUS: "refreshStatus";
19
+ readonly SNAPSHOT_READY: "snapshotReady";
20
+ readonly REFRESH_ERROR: "refreshError";
21
+ readonly EXPORT_SNAPSHOT_REQUEST: "exportSnapshotRequest";
22
+ readonly EXPORT_SNAPSHOT_ERROR: "exportSnapshotError";
23
+ readonly BEGIN_TRANSACTION_REQUEST: "beginTransactionRequest";
24
+ readonly COMMIT_TRANSACTION_REQUEST: "commitTransactionRequest";
25
+ readonly ROLLBACK_TRANSACTION_REQUEST: "rollbackTransactionRequest";
26
+ readonly WRITE_REQUEST: "writeRequest";
27
+ readonly BEGIN_TRANSACTION: "beginTransaction";
28
+ readonly COMMIT_TRANSACTION: "commitTransaction";
29
+ readonly ROLLBACK_TRANSACTION: "rollbackTransaction";
30
+ readonly EXECUTE_WRITE: "executeWrite";
31
+ readonly TRANSACTION_ACK: "transactionAck";
32
+ readonly WRITE_ACK: "writeAck";
33
+ readonly TRANSACTION_STATUS: "transactionStatus";
34
+ readonly WRITE_RESULT: "writeResult";
35
+ readonly WRITE_ERROR: "writeError";
36
+ };
37
+ type MessageTypeValue = (typeof MessageType)[keyof typeof MessageType];
38
+ /** Shared base for every protocol message. */
39
+ interface DevToolsMessageBase {
40
+ type: MessageTypeValue;
41
+ timestamp: number;
42
+ }
43
+ type DeviceMetadata = {
44
+ platform?: string;
45
+ appName?: string;
46
+ [key: string]: string | undefined;
47
+ };
48
+ /** Client → Server: register role on connect. */
49
+ interface RegisterMessage extends DevToolsMessageBase {
50
+ type: typeof MessageType.REGISTER;
51
+ role: DevToolsRole;
52
+ deviceId?: string;
53
+ metadata?: DeviceMetadata;
54
+ }
55
+ /** Server → Client: heartbeat probe. */
56
+ interface PingMessage extends DevToolsMessageBase {
57
+ type: typeof MessageType.PING;
58
+ pingId: string;
59
+ }
60
+ /** Client → Server: heartbeat response. */
61
+ interface PongMessage extends DevToolsMessageBase {
62
+ type: typeof MessageType.PONG;
63
+ pingId: string;
64
+ }
65
+ type BrowserConnectionInfo = {
66
+ connectionId: string;
67
+ connectedAt: number;
68
+ };
69
+ type MobileDeviceInfo = {
70
+ deviceId: string;
71
+ connectionId: string;
72
+ connectedAt: number;
73
+ metadata?: DeviceMetadata;
74
+ };
75
+ type DeviceStatusPayload = {
76
+ browserCount: number;
77
+ mobileCount: number;
78
+ browsers: BrowserConnectionInfo[];
79
+ mobiles: MobileDeviceInfo[];
80
+ };
81
+ /** Server → Client: hub snapshot after connect/disconnect. */
82
+ interface DeviceStatusMessage extends DevToolsMessageBase {
83
+ type: typeof MessageType.DEVICE_STATUS;
84
+ payload: DeviceStatusPayload;
85
+ }
86
+ /** Server → Client: generic routed envelope for future features. */
87
+ interface BroadcastMessage extends DevToolsMessageBase {
88
+ type: typeof MessageType.BROADCAST;
89
+ payload: unknown;
90
+ }
91
+ type RefreshType = 'snapshot';
92
+ type RefreshState = 'requested' | 'exporting' | 'uploading' | 'ready' | 'failed' | 'timeout';
93
+ /** @deprecated Use RefreshState */
94
+ type SyncState = RefreshState;
95
+ type RefreshErrorCode = 'DEVICE_OFFLINE' | 'REFRESH_IN_PROGRESS' | 'EXPORT_FAILED' | 'UPLOAD_FAILED' | 'TIMEOUT' | 'SNAPSHOT_NOT_FOUND' | 'INVALID_REQUEST';
96
+ /** @deprecated Use RefreshErrorCode */
97
+ type SyncErrorCode = RefreshErrorCode;
98
+ /** Browser → Server: request a database snapshot from a mobile device. */
99
+ interface RefreshRequestMessage extends DevToolsMessageBase {
100
+ type: typeof MessageType.REFRESH_REQUEST;
101
+ deviceId: string;
102
+ refreshType: RefreshType;
103
+ }
104
+ /** Server → Mobile: export database and upload via REST. */
105
+ interface SnapshotUploadRequestedMessage extends DevToolsMessageBase {
106
+ type: typeof MessageType.SNAPSHOT_UPLOAD_REQUESTED;
107
+ deviceId: string;
108
+ refreshType: RefreshType;
109
+ }
110
+ /** Server → Browser: refresh progress update. */
111
+ interface RefreshStatusMessage extends DevToolsMessageBase {
112
+ type: typeof MessageType.REFRESH_STATUS;
113
+ deviceId: string;
114
+ state: RefreshState;
115
+ message?: string;
116
+ }
117
+ /** Server → Browser: snapshot uploaded and ready to download. */
118
+ interface SnapshotReadyMessage extends DevToolsMessageBase {
119
+ type: typeof MessageType.SNAPSHOT_READY;
120
+ deviceId: string;
121
+ size: number;
122
+ exportedAt: number;
123
+ kind: string;
124
+ mimeType: string;
125
+ databaseName?: string;
126
+ }
127
+ /** Server → Browser: refresh failed. */
128
+ interface RefreshErrorMessage extends DevToolsMessageBase {
129
+ type: typeof MessageType.REFRESH_ERROR;
130
+ deviceId: string;
131
+ code: RefreshErrorCode;
132
+ message: string;
133
+ }
134
+ /** Mobile → Server: push database snapshot to the web inspector. */
135
+ interface ExportSnapshotRequestMessage extends DevToolsMessageBase {
136
+ type: typeof MessageType.EXPORT_SNAPSHOT_REQUEST;
137
+ refreshType: RefreshType;
138
+ }
139
+ /** Server → Mobile: export request failed before upload. */
140
+ interface ExportSnapshotErrorMessage extends DevToolsMessageBase {
141
+ type: typeof MessageType.EXPORT_SNAPSHOT_ERROR;
142
+ code: RefreshErrorCode;
143
+ message: string;
144
+ }
145
+ type RefreshInitiator = 'browser' | 'mobile';
146
+ type TransactionStatusState = 'idle' | 'opening' | 'open' | 'committing' | 'rolling_back' | 'failed';
147
+ type WriteErrorCode = 'DEVICE_OFFLINE' | 'NO_TRANSACTION' | 'TRANSACTION_BUSY' | 'INVALID_OPERATION' | 'WRITE_FAILED' | 'ADAPTER_ERROR' | 'TIMEOUT';
148
+ /** Browser → Server: open a write transaction on a device. */
149
+ interface BeginTransactionRequestMessage extends DevToolsMessageBase {
150
+ type: typeof MessageType.BEGIN_TRANSACTION_REQUEST;
151
+ transactionId: string;
152
+ deviceId: string;
153
+ }
154
+ /** Browser → Server: commit the active transaction. */
155
+ interface CommitTransactionRequestMessage extends DevToolsMessageBase {
156
+ type: typeof MessageType.COMMIT_TRANSACTION_REQUEST;
157
+ transactionId: string;
158
+ deviceId: string;
159
+ }
160
+ /** Browser → Server: roll back the active transaction. */
161
+ interface RollbackTransactionRequestMessage extends DevToolsMessageBase {
162
+ type: typeof MessageType.ROLLBACK_TRANSACTION_REQUEST;
163
+ transactionId: string;
164
+ deviceId: string;
165
+ }
166
+ /** Browser → Server: execute a structured write inside a transaction. */
167
+ interface WriteRequestMessage extends DevToolsMessageBase {
168
+ type: typeof MessageType.WRITE_REQUEST;
169
+ writeId: string;
170
+ transactionId: string;
171
+ deviceId: string;
172
+ operation: WriteOperation;
173
+ }
174
+ /** Server → Mobile: begin a transaction on the live database. */
175
+ interface BeginTransactionMessage extends DevToolsMessageBase {
176
+ type: typeof MessageType.BEGIN_TRANSACTION;
177
+ transactionId: string;
178
+ }
179
+ /** Server → Mobile: commit the open transaction. */
180
+ interface CommitTransactionMessage extends DevToolsMessageBase {
181
+ type: typeof MessageType.COMMIT_TRANSACTION;
182
+ transactionId: string;
183
+ }
184
+ /** Server → Mobile: roll back the open transaction. */
185
+ interface RollbackTransactionMessage extends DevToolsMessageBase {
186
+ type: typeof MessageType.ROLLBACK_TRANSACTION;
187
+ transactionId: string;
188
+ }
189
+ /** Server → Mobile: run a structured write operation. */
190
+ interface ExecuteWriteMessage extends DevToolsMessageBase {
191
+ type: typeof MessageType.EXECUTE_WRITE;
192
+ writeId: string;
193
+ transactionId: string;
194
+ operation: WriteOperation;
195
+ }
196
+ /** Mobile → Server: transaction lifecycle acknowledgement. */
197
+ interface TransactionAckMessage extends DevToolsMessageBase {
198
+ type: typeof MessageType.TRANSACTION_ACK;
199
+ transactionId: string;
200
+ action: 'begin' | 'commit' | 'rollback';
201
+ ok: boolean;
202
+ message?: string;
203
+ }
204
+ /** Mobile → Server: write operation acknowledgement. */
205
+ interface WriteAckMessage extends DevToolsMessageBase {
206
+ type: typeof MessageType.WRITE_ACK;
207
+ writeId: string;
208
+ transactionId: string;
209
+ ok: boolean;
210
+ rowsAffected?: number;
211
+ message?: string;
212
+ }
213
+ /** Server → Browser: transaction state update. */
214
+ interface TransactionStatusMessage extends DevToolsMessageBase {
215
+ type: typeof MessageType.TRANSACTION_STATUS;
216
+ transactionId: string;
217
+ deviceId: string;
218
+ state: TransactionStatusState;
219
+ message?: string;
220
+ }
221
+ /** Server → Browser: write succeeded. */
222
+ interface WriteResultMessage extends DevToolsMessageBase {
223
+ type: typeof MessageType.WRITE_RESULT;
224
+ writeId: string;
225
+ transactionId: string;
226
+ rowsAffected: number;
227
+ }
228
+ /** Server → Browser: write or transaction failed. */
229
+ interface WriteErrorMessage extends DevToolsMessageBase {
230
+ type: typeof MessageType.WRITE_ERROR;
231
+ transactionId: string;
232
+ writeId?: string;
233
+ code: WriteErrorCode;
234
+ message: string;
235
+ }
236
+ type ClientMessage = RegisterMessage | PongMessage | RefreshRequestMessage | ExportSnapshotRequestMessage | BeginTransactionRequestMessage | CommitTransactionRequestMessage | RollbackTransactionRequestMessage | WriteRequestMessage | TransactionAckMessage | WriteAckMessage;
237
+ type ServerMessage = PingMessage | DeviceStatusMessage | BroadcastMessage | SnapshotUploadRequestedMessage | RefreshStatusMessage | SnapshotReadyMessage | RefreshErrorMessage | ExportSnapshotErrorMessage | BeginTransactionMessage | CommitTransactionMessage | RollbackTransactionMessage | ExecuteWriteMessage | TransactionStatusMessage | WriteResultMessage | WriteErrorMessage;
238
+ type DevToolsMessage = ClientMessage | ServerMessage;
239
+ declare const DEVTOOLS_WS_PATH = "/ws";
240
+ declare const DEFAULT_DEVTOOLS_PORT = 3847;
241
+ declare const DEFAULT_DEVTOOLS_HOST = "0.0.0.0";
242
+ declare const HEARTBEAT_INTERVAL_MS = 30000;
243
+ declare const HEARTBEAT_TIMEOUT_MS = 10000;
244
+ declare const DEVICE_SNAPSHOT_API_PATH = "/api/devices";
245
+ declare const PROJECT_DATABASE_API_PATH = "/api/project/database";
246
+ declare const PROJECT_DATABASE_META_API_PATH = "/api/project/database/meta";
247
+ declare const PROJECT_DATABASES_API_PATH = "/api/project/databases";
248
+ declare const PROJECT_DEVICE_EXPORTS_API_PATH = "/api/project/devices";
249
+ /** @deprecated Use DEVICE_SNAPSHOT_API_PATH */
250
+ declare const SNAPSHOT_API_PATH = "/api/devices";
251
+ declare const REFRESH_TIMEOUT_MS = 60000;
252
+ /** @deprecated Use REFRESH_TIMEOUT_MS */
253
+ declare const SYNC_TIMEOUT_MS = 60000;
254
+ declare const WRITE_TRANSACTION_TIMEOUT_MS: number;
255
+ declare const MAX_SNAPSHOT_BYTES: number;
256
+ declare function createMessage<T extends DevToolsMessageBase>(message: Omit<T, 'timestamp'>): T;
257
+ declare function buildDevToolsHttpUrl(host?: string, port?: number): string;
258
+ declare function buildDevToolsWsUrl(host?: string, port?: number): string;
259
+ declare function buildDeviceSnapshotUrl(httpBaseUrl: string, deviceId: string): string;
260
+ /** @deprecated Use buildDeviceSnapshotUrl */
261
+ declare function buildSnapshotUrl(httpBaseUrl: string, deviceId: string): string;
262
+ declare function wsUrlToHttpUrl(wsUrl: string): string;
263
+ declare function isRegisterMessage(value: unknown): value is RegisterMessage;
264
+ declare function isPongMessage(value: unknown): value is PongMessage;
265
+ declare function isRefreshRequestMessage(value: unknown): value is RefreshRequestMessage;
266
+ declare function isSnapshotUploadRequestedMessage(value: unknown): value is SnapshotUploadRequestedMessage;
267
+ declare function isRefreshStatusMessage(value: unknown): value is RefreshStatusMessage;
268
+ declare function isSnapshotReadyMessage(value: unknown): value is SnapshotReadyMessage;
269
+ declare function isRefreshErrorMessage(value: unknown): value is RefreshErrorMessage;
270
+ declare function isExportSnapshotRequestMessage(value: unknown): value is ExportSnapshotRequestMessage;
271
+ declare function isExportSnapshotErrorMessage(value: unknown): value is ExportSnapshotErrorMessage;
272
+ declare function isBeginTransactionRequestMessage(value: unknown): value is BeginTransactionRequestMessage;
273
+ declare function isCommitTransactionRequestMessage(value: unknown): value is CommitTransactionRequestMessage;
274
+ declare function isRollbackTransactionRequestMessage(value: unknown): value is RollbackTransactionRequestMessage;
275
+ declare function isWriteRequestMessage(value: unknown): value is WriteRequestMessage;
276
+ declare function isTransactionAckMessage(value: unknown): value is TransactionAckMessage;
277
+ declare function isWriteAckMessage(value: unknown): value is WriteAckMessage;
278
+ declare function isClientMessage(value: unknown): value is ClientMessage;
279
+ declare function isPingMessage(value: unknown): value is PingMessage;
280
+ declare function isDeviceStatusMessage(value: unknown): value is DeviceStatusMessage;
281
+ declare function isBroadcastMessage(value: unknown): value is BroadcastMessage;
282
+ declare function isBeginTransactionMessage(value: unknown): value is BeginTransactionMessage;
283
+ declare function isCommitTransactionMessage(value: unknown): value is CommitTransactionMessage;
284
+ declare function isRollbackTransactionMessage(value: unknown): value is RollbackTransactionMessage;
285
+ declare function isExecuteWriteMessage(value: unknown): value is ExecuteWriteMessage;
286
+ declare function isTransactionStatusMessage(value: unknown): value is TransactionStatusMessage;
287
+ declare function isWriteResultMessage(value: unknown): value is WriteResultMessage;
288
+ declare function isWriteErrorMessage(value: unknown): value is WriteErrorMessage;
289
+ declare function isServerMessage(value: unknown): value is ServerMessage;
290
+
291
+ export { type BeginTransactionMessage, type BeginTransactionRequestMessage, type BroadcastMessage, type BrowserConnectionInfo, type ClientMessage, type CommitTransactionMessage, type CommitTransactionRequestMessage, DEFAULT_DEVTOOLS_HOST, DEFAULT_DEVTOOLS_PORT, DEVICE_SNAPSHOT_API_PATH, DEVTOOLS_WS_PATH, type DevToolsMessage, type DevToolsMessageBase, DevToolsRole, type DeviceMetadata, type DeviceStatusMessage, type DeviceStatusPayload, type ExecuteWriteMessage, type ExportSnapshotErrorMessage, type ExportSnapshotRequestMessage, HEARTBEAT_INTERVAL_MS, HEARTBEAT_TIMEOUT_MS, MAX_SNAPSHOT_BYTES, MessageType, type MessageTypeValue, type MobileDeviceInfo, PROJECT_DATABASES_API_PATH, PROJECT_DATABASE_API_PATH, PROJECT_DATABASE_META_API_PATH, PROJECT_DEVICE_EXPORTS_API_PATH, type PingMessage, type PongMessage, REFRESH_TIMEOUT_MS, type RefreshErrorCode, type RefreshErrorMessage, type RefreshInitiator, type RefreshRequestMessage, type RefreshState, type RefreshStatusMessage, type RefreshType, type RegisterMessage, type RollbackTransactionMessage, type RollbackTransactionRequestMessage, SNAPSHOT_API_PATH, SYNC_TIMEOUT_MS, type ServerMessage, type SnapshotReadyMessage, type SnapshotUploadRequestedMessage, type SyncErrorCode, type SyncState, type TransactionAckMessage, type TransactionStatusMessage, type TransactionStatusState, WRITE_TRANSACTION_TIMEOUT_MS, type WriteAckMessage, type WriteErrorCode, type WriteErrorMessage, type WriteRequestMessage, type WriteResultMessage, buildDevToolsHttpUrl, buildDevToolsWsUrl, buildDeviceSnapshotUrl, buildSnapshotUrl, createMessage, isBeginTransactionMessage, isBeginTransactionRequestMessage, isBroadcastMessage, isClientMessage, isCommitTransactionMessage, isCommitTransactionRequestMessage, isDeviceStatusMessage, isExecuteWriteMessage, isExportSnapshotErrorMessage, isExportSnapshotRequestMessage, isPingMessage, isPongMessage, isRefreshErrorMessage, isRefreshRequestMessage, isRefreshStatusMessage, isRegisterMessage, isRollbackTransactionMessage, isRollbackTransactionRequestMessage, isServerMessage, isSnapshotReadyMessage, isSnapshotUploadRequestedMessage, isTransactionAckMessage, isTransactionStatusMessage, isWriteAckMessage, isWriteErrorMessage, isWriteRequestMessage, isWriteResultMessage, wsUrlToHttpUrl };
@@ -0,0 +1,4 @@
1
+ export { DEFAULT_DEVTOOLS_HOST, DEFAULT_DEVTOOLS_PORT, DEVICE_SNAPSHOT_API_PATH, DEVTOOLS_WS_PATH, DevToolsRole, HEARTBEAT_INTERVAL_MS, HEARTBEAT_TIMEOUT_MS, MAX_SNAPSHOT_BYTES, MessageType, PROJECT_DATABASES_API_PATH, PROJECT_DATABASE_API_PATH, PROJECT_DATABASE_META_API_PATH, PROJECT_DEVICE_EXPORTS_API_PATH, REFRESH_TIMEOUT_MS, SNAPSHOT_API_PATH, SYNC_TIMEOUT_MS, WRITE_TRANSACTION_TIMEOUT_MS, buildDevToolsHttpUrl, buildDevToolsWsUrl, buildDeviceSnapshotUrl, buildSnapshotUrl, createMessage, isBeginTransactionMessage, isBeginTransactionRequestMessage, isBroadcastMessage, isClientMessage, isCommitTransactionMessage, isCommitTransactionRequestMessage, isDeviceStatusMessage, isExecuteWriteMessage, isExportSnapshotErrorMessage, isExportSnapshotRequestMessage, isPingMessage, isPongMessage, isRefreshErrorMessage, isRefreshRequestMessage, isRefreshStatusMessage, isRegisterMessage, isRollbackTransactionMessage, isRollbackTransactionRequestMessage, isServerMessage, isSnapshotReadyMessage, isSnapshotUploadRequestedMessage, isTransactionAckMessage, isTransactionStatusMessage, isWriteAckMessage, isWriteErrorMessage, isWriteRequestMessage, isWriteResultMessage, wsUrlToHttpUrl } from '../chunk-CPVVIH5G.js';
2
+ import '../chunk-DGUM43GV.js';
3
+ //# sourceMappingURL=protocol.js.map
4
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"protocol.js"}
@@ -0,0 +1,16 @@
1
+ import { D as DatabaseAdapter } from './adapter-BjJm71wW.cjs';
2
+ import { D as DatabaseKind } from './snapshot-Dhyecgo2.cjs';
3
+
4
+ type AdapterDefinition = {
5
+ kind: DatabaseKind;
6
+ displayName: string;
7
+ priority: number;
8
+ detect: (database: unknown) => boolean;
9
+ create: (database: unknown) => DatabaseAdapter | Promise<DatabaseAdapter>;
10
+ };
11
+ type ResolveAdapterOptions = {
12
+ adapter?: DatabaseAdapter;
13
+ type?: DatabaseKind;
14
+ };
15
+
16
+ export type { AdapterDefinition as A, ResolveAdapterOptions as R };
@@ -0,0 +1,16 @@
1
+ import { D as DatabaseAdapter } from './adapter-DJSjDewg.js';
2
+ import { D as DatabaseKind } from './snapshot-Dhyecgo2.js';
3
+
4
+ type AdapterDefinition = {
5
+ kind: DatabaseKind;
6
+ displayName: string;
7
+ priority: number;
8
+ detect: (database: unknown) => boolean;
9
+ create: (database: unknown) => DatabaseAdapter | Promise<DatabaseAdapter>;
10
+ };
11
+ type ResolveAdapterOptions = {
12
+ adapter?: DatabaseAdapter;
13
+ type?: DatabaseKind;
14
+ };
15
+
16
+ export type { AdapterDefinition as A, ResolveAdapterOptions as R };