@crewx/sdk 0.9.0-rc.90 → 0.9.0-rc.92

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.
@@ -0,0 +1,38 @@
1
+ export interface ConsoleDecoderOptions {
2
+ platform?: NodeJS.Platform;
3
+ detectCodePage?: () => Promise<number | null>;
4
+ codePage?: number | null;
5
+ }
6
+ export interface ConsoleBufferDecodeOptions {
7
+ platform?: NodeJS.Platform;
8
+ codePage?: number | null;
9
+ }
10
+ type ConsoleByteChunk = Buffer | Uint8Array<ArrayBufferLike>;
11
+ export declare function parseWindowsConsoleCodePage(output: string): number | null;
12
+ export declare function getWindowsConsoleCodePage(): Promise<number | null>;
13
+ export declare function primeWindowsConsoleCodePage(): void;
14
+ export declare class ConsoleDecoder {
15
+ private readonly platform;
16
+ private readonly detectCodePage;
17
+ private utf8Decoder;
18
+ private codePage;
19
+ private fallbackDecoder;
20
+ private replayTail;
21
+ private pendingUtf8;
22
+ private pendingFallback;
23
+ private pendingBytes;
24
+ private queue;
25
+ private ended;
26
+ constructor(options?: ConsoleDecoderOptions);
27
+ write(chunk: ConsoleByteChunk): Promise<string>;
28
+ end(): Promise<string>;
29
+ private enqueue;
30
+ private clearPendingCandidate;
31
+ private resolveCodePage;
32
+ private getFallbackDecoder;
33
+ private decodeChunk;
34
+ private finish;
35
+ }
36
+ export declare function decodeConsoleBuffer(input: ConsoleByteChunk, options?: ConsoleBufferDecodeOptions): string;
37
+ export declare function decodeConsoleBufferAsync(input: ConsoleByteChunk, options?: ConsoleDecoderOptions): Promise<string>;
38
+ export {};
@@ -0,0 +1,262 @@
1
+ CREATE TABLE IF NOT EXISTS `storage_metadata` (
2
+ `source_kind` text NOT NULL,
3
+ `source_id` text NOT NULL,
4
+ `utc_ts` text,
5
+ `bytes` integer NOT NULL,
6
+ PRIMARY KEY (`source_kind`, `source_id`)
7
+ ) WITHOUT ROWID;
8
+ --> statement-breakpoint
9
+ CREATE INDEX IF NOT EXISTS `idx_storage_metadata_kind_ts_bytes`
10
+ ON `storage_metadata` (`source_kind`, `utc_ts`, `bytes`);
11
+ --> statement-breakpoint
12
+ CREATE TABLE IF NOT EXISTS `storage_metadata_state` (
13
+ `unit` text PRIMARY KEY NOT NULL,
14
+ `cursor_rowid` integer DEFAULT 0 NOT NULL,
15
+ `end_rowid` integer,
16
+ `complete` integer DEFAULT 0 NOT NULL,
17
+ `updated_at` text NOT NULL
18
+ ) WITHOUT ROWID;
19
+ --> statement-breakpoint
20
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tle_ins`
21
+ AFTER INSERT ON `task_log_events`
22
+ BEGIN
23
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
24
+ VALUES (
25
+ 'taskLogs',
26
+ CAST(NEW.`id` AS TEXT),
27
+ datetime(NEW.`timestamp`),
28
+ COALESCE(length(CAST(NEW.`message` AS BLOB)), 0)
29
+ + COALESCE(length(CAST(NEW.`task_id` AS BLOB)), 0)
30
+ + COALESCE(length(CAST(NEW.`timestamp` AS BLOB)), 0)
31
+ + COALESCE(length(CAST(NEW.`level` AS BLOB)), 0)
32
+ )
33
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
34
+ `utc_ts` = excluded.`utc_ts`,
35
+ `bytes` = excluded.`bytes`;
36
+ END;
37
+ --> statement-breakpoint
38
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tle_upd`
39
+ AFTER UPDATE OF `id`, `timestamp`, `task_id`, `level`, `message` ON `task_log_events`
40
+ BEGIN
41
+ DELETE FROM `storage_metadata`
42
+ WHERE `source_kind` = 'taskLogs'
43
+ AND `source_id` = CAST(OLD.`id` AS TEXT)
44
+ AND OLD.`id` IS NOT NEW.`id`;
45
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
46
+ VALUES (
47
+ 'taskLogs',
48
+ CAST(NEW.`id` AS TEXT),
49
+ datetime(NEW.`timestamp`),
50
+ COALESCE(length(CAST(NEW.`message` AS BLOB)), 0)
51
+ + COALESCE(length(CAST(NEW.`task_id` AS BLOB)), 0)
52
+ + COALESCE(length(CAST(NEW.`timestamp` AS BLOB)), 0)
53
+ + COALESCE(length(CAST(NEW.`level` AS BLOB)), 0)
54
+ )
55
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
56
+ `utc_ts` = excluded.`utc_ts`,
57
+ `bytes` = excluded.`bytes`;
58
+ END;
59
+ --> statement-breakpoint
60
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tle_del`
61
+ AFTER DELETE ON `task_log_events`
62
+ BEGIN
63
+ DELETE FROM `storage_metadata`
64
+ WHERE `source_kind` = 'taskLogs'
65
+ AND `source_id` = CAST(OLD.`id` AS TEXT);
66
+ END;
67
+ --> statement-breakpoint
68
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_request_logs_ins`
69
+ AFTER INSERT ON `request_logs`
70
+ BEGIN
71
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
72
+ VALUES (
73
+ 'requestLogs',
74
+ CAST(NEW.`id` AS TEXT),
75
+ datetime(NEW.`timestamp`),
76
+ COALESCE(length(CAST(NEW.`path` AS BLOB)), 0)
77
+ + COALESCE(length(CAST(NEW.`method` AS BLOB)), 0)
78
+ + COALESCE(length(CAST(NEW.`request_body` AS BLOB)), 0)
79
+ + COALESCE(length(CAST(NEW.`response_body` AS BLOB)), 0)
80
+ + COALESCE(length(CAST(NEW.`request_headers` AS BLOB)), 0)
81
+ + COALESCE(length(CAST(NEW.`response_headers` AS BLOB)), 0)
82
+ + COALESCE(length(CAST(NEW.`query` AS BLOB)), 0)
83
+ + COALESCE(length(CAST(NEW.`metadata` AS BLOB)), 0)
84
+ )
85
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
86
+ `utc_ts` = excluded.`utc_ts`,
87
+ `bytes` = excluded.`bytes`;
88
+ END;
89
+ --> statement-breakpoint
90
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_request_logs_upd`
91
+ AFTER UPDATE OF `id`, `timestamp`, `path`, `method`, `request_body`, `response_body`, `request_headers`, `response_headers`, `query`, `metadata` ON `request_logs`
92
+ BEGIN
93
+ DELETE FROM `storage_metadata`
94
+ WHERE `source_kind` = 'requestLogs'
95
+ AND `source_id` = CAST(OLD.`id` AS TEXT)
96
+ AND OLD.`id` IS NOT NEW.`id`;
97
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
98
+ VALUES (
99
+ 'requestLogs',
100
+ CAST(NEW.`id` AS TEXT),
101
+ datetime(NEW.`timestamp`),
102
+ COALESCE(length(CAST(NEW.`path` AS BLOB)), 0)
103
+ + COALESCE(length(CAST(NEW.`method` AS BLOB)), 0)
104
+ + COALESCE(length(CAST(NEW.`request_body` AS BLOB)), 0)
105
+ + COALESCE(length(CAST(NEW.`response_body` AS BLOB)), 0)
106
+ + COALESCE(length(CAST(NEW.`request_headers` AS BLOB)), 0)
107
+ + COALESCE(length(CAST(NEW.`response_headers` AS BLOB)), 0)
108
+ + COALESCE(length(CAST(NEW.`query` AS BLOB)), 0)
109
+ + COALESCE(length(CAST(NEW.`metadata` AS BLOB)), 0)
110
+ )
111
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
112
+ `utc_ts` = excluded.`utc_ts`,
113
+ `bytes` = excluded.`bytes`;
114
+ END;
115
+ --> statement-breakpoint
116
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_request_logs_del`
117
+ AFTER DELETE ON `request_logs`
118
+ BEGIN
119
+ DELETE FROM `storage_metadata`
120
+ WHERE `source_kind` = 'requestLogs'
121
+ AND `source_id` = CAST(OLD.`id` AS TEXT);
122
+ END;
123
+ --> statement-breakpoint
124
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tasks_ins`
125
+ AFTER INSERT ON `tasks`
126
+ BEGIN
127
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
128
+ VALUES (
129
+ 'prompts',
130
+ CAST(NEW.`id` AS TEXT),
131
+ datetime(NEW.`started_at`),
132
+ COALESCE(length(CAST(NEW.`prompt` AS BLOB)), 0)
133
+ + COALESCE(length(CAST(NEW.`rendered_prompt` AS BLOB)), 0)
134
+ + COALESCE(length(CAST(NEW.`result` AS BLOB)), 0)
135
+ )
136
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
137
+ `utc_ts` = excluded.`utc_ts`,
138
+ `bytes` = excluded.`bytes`;
139
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
140
+ VALUES (
141
+ 'tasksLedger',
142
+ CAST(NEW.`id` AS TEXT),
143
+ datetime(NEW.`started_at`),
144
+ COALESCE(length(CAST(NEW.`id` AS BLOB)), 0)
145
+ + COALESCE(length(CAST(NEW.`agent_id` AS BLOB)), 0)
146
+ + COALESCE(length(CAST(NEW.`status` AS BLOB)), 0)
147
+ + COALESCE(length(CAST(NEW.`started_at` AS BLOB)), 0)
148
+ + COALESCE(length(CAST(NEW.`input_tokens` AS TEXT)), 0)
149
+ + COALESCE(length(CAST(NEW.`output_tokens` AS TEXT)), 0)
150
+ + COALESCE(length(CAST(NEW.`cost_usd` AS TEXT)), 0)
151
+ )
152
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
153
+ `utc_ts` = excluded.`utc_ts`,
154
+ `bytes` = excluded.`bytes`;
155
+ END;
156
+ --> statement-breakpoint
157
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tasks_upd`
158
+ AFTER UPDATE OF `id`, `prompt`, `rendered_prompt`, `result`, `started_at` ON `tasks`
159
+ BEGIN
160
+ DELETE FROM `storage_metadata`
161
+ WHERE `source_kind` = 'prompts'
162
+ AND `source_id` = CAST(OLD.`id` AS TEXT)
163
+ AND OLD.`id` IS NOT NEW.`id`;
164
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
165
+ VALUES (
166
+ 'prompts',
167
+ CAST(NEW.`id` AS TEXT),
168
+ datetime(NEW.`started_at`),
169
+ COALESCE(length(CAST(NEW.`prompt` AS BLOB)), 0)
170
+ + COALESCE(length(CAST(NEW.`rendered_prompt` AS BLOB)), 0)
171
+ + COALESCE(length(CAST(NEW.`result` AS BLOB)), 0)
172
+ )
173
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
174
+ `utc_ts` = excluded.`utc_ts`,
175
+ `bytes` = excluded.`bytes`;
176
+ END;
177
+ --> statement-breakpoint
178
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tasks_upd_ledger`
179
+ AFTER UPDATE OF `id`, `agent_id`, `status`, `started_at`, `input_tokens`, `output_tokens`, `cost_usd` ON `tasks`
180
+ BEGIN
181
+ DELETE FROM `storage_metadata`
182
+ WHERE `source_kind` = 'tasksLedger'
183
+ AND `source_id` = CAST(OLD.`id` AS TEXT)
184
+ AND OLD.`id` IS NOT NEW.`id`;
185
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
186
+ VALUES (
187
+ 'tasksLedger',
188
+ CAST(NEW.`id` AS TEXT),
189
+ datetime(NEW.`started_at`),
190
+ COALESCE(length(CAST(NEW.`id` AS BLOB)), 0)
191
+ + COALESCE(length(CAST(NEW.`agent_id` AS BLOB)), 0)
192
+ + COALESCE(length(CAST(NEW.`status` AS BLOB)), 0)
193
+ + COALESCE(length(CAST(NEW.`started_at` AS BLOB)), 0)
194
+ + COALESCE(length(CAST(NEW.`input_tokens` AS TEXT)), 0)
195
+ + COALESCE(length(CAST(NEW.`output_tokens` AS TEXT)), 0)
196
+ + COALESCE(length(CAST(NEW.`cost_usd` AS TEXT)), 0)
197
+ )
198
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
199
+ `utc_ts` = excluded.`utc_ts`,
200
+ `bytes` = excluded.`bytes`;
201
+ END;
202
+ --> statement-breakpoint
203
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_tasks_del`
204
+ AFTER DELETE ON `tasks`
205
+ BEGIN
206
+ DELETE FROM `storage_metadata`
207
+ WHERE `source_kind` = 'prompts'
208
+ AND `source_id` = CAST(OLD.`id` AS TEXT);
209
+ DELETE FROM `storage_metadata`
210
+ WHERE `source_kind` = 'tasksLedger'
211
+ AND `source_id` = CAST(OLD.`id` AS TEXT);
212
+ END;
213
+ --> statement-breakpoint
214
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_threads_ins`
215
+ AFTER INSERT ON `threads`
216
+ BEGIN
217
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
218
+ VALUES (
219
+ 'threadsLedger',
220
+ CAST(NEW.`id` AS TEXT),
221
+ datetime(COALESCE(NEW.`updated_at`, NEW.`created_at`)),
222
+ COALESCE(length(CAST(NEW.`id` AS BLOB)), 0)
223
+ + COALESCE(length(CAST(NEW.`workspace_id` AS BLOB)), 0)
224
+ + COALESCE(length(CAST(NEW.`platform` AS BLOB)), 0)
225
+ + COALESCE(length(CAST(NEW.`created_at` AS BLOB)), 0)
226
+ + COALESCE(length(CAST(NEW.`updated_at` AS BLOB)), 0)
227
+ )
228
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
229
+ `utc_ts` = excluded.`utc_ts`,
230
+ `bytes` = excluded.`bytes`;
231
+ END;
232
+ --> statement-breakpoint
233
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_threads_upd`
234
+ AFTER UPDATE OF `id`, `workspace_id`, `platform`, `created_at`, `updated_at` ON `threads`
235
+ BEGIN
236
+ DELETE FROM `storage_metadata`
237
+ WHERE `source_kind` = 'threadsLedger'
238
+ AND `source_id` = CAST(OLD.`id` AS TEXT)
239
+ AND OLD.`id` IS NOT NEW.`id`;
240
+ INSERT INTO `storage_metadata` (`source_kind`, `source_id`, `utc_ts`, `bytes`)
241
+ VALUES (
242
+ 'threadsLedger',
243
+ CAST(NEW.`id` AS TEXT),
244
+ datetime(COALESCE(NEW.`updated_at`, NEW.`created_at`)),
245
+ COALESCE(length(CAST(NEW.`id` AS BLOB)), 0)
246
+ + COALESCE(length(CAST(NEW.`workspace_id` AS BLOB)), 0)
247
+ + COALESCE(length(CAST(NEW.`platform` AS BLOB)), 0)
248
+ + COALESCE(length(CAST(NEW.`created_at` AS BLOB)), 0)
249
+ + COALESCE(length(CAST(NEW.`updated_at` AS BLOB)), 0)
250
+ )
251
+ ON CONFLICT (`source_kind`, `source_id`) DO UPDATE SET
252
+ `utc_ts` = excluded.`utc_ts`,
253
+ `bytes` = excluded.`bytes`;
254
+ END;
255
+ --> statement-breakpoint
256
+ CREATE TRIGGER IF NOT EXISTS `trg_storage_meta_threads_del`
257
+ AFTER DELETE ON `threads`
258
+ BEGIN
259
+ DELETE FROM `storage_metadata`
260
+ WHERE `source_kind` = 'threadsLedger'
261
+ AND `source_id` = CAST(OLD.`id` AS TEXT);
262
+ END;
@@ -169,6 +169,13 @@
169
169
  "when": 1788325893386,
170
170
  "tag": "0023_red_payback",
171
171
  "breakpoints": true
172
+ },
173
+ {
174
+ "idx": 24,
175
+ "version": "6",
176
+ "when": 1788604428845,
177
+ "tag": "0024_storage_metadata",
178
+ "breakpoints": true
172
179
  }
173
180
  ]
174
- }
181
+ }