@quantod/qq 0.3.7 → 1.0.1

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.
@@ -1,4 +1,5 @@
1
1
  export * as yaml from 'js-yaml';
2
+ export type PayloadFormat = 'yaml' | 'json' | 'text';
2
3
  export declare class QQError extends Error {
3
4
  constructor(message: string);
4
5
  }
@@ -21,27 +22,42 @@ export interface FilterOptions {
21
22
  limit?: number;
22
23
  offset?: number;
23
24
  }
24
- export declare function makePipeline(customName?: string): string;
25
+ export declare function makePipeline(customName?: string, description?: string): string;
26
+ export declare function listPipelines(): string[];
25
27
  export declare function deletePipeline(pipeline: string): void;
26
28
  export interface PushOptions {
27
29
  payload?: string;
28
30
  priority?: number;
29
- plainText?: boolean;
31
+ payloadFormat?: PayloadFormat;
30
32
  }
31
- export declare function push(pipeline: string, stage: string, id?: string, { payload, priority, plainText }?: PushOptions): string;
33
+ export declare function push(pipeline: string, stage?: string, id?: string, { payload, priority, payloadFormat }?: PushOptions): string;
34
+ export interface LoadFileOptions {
35
+ stage?: string;
36
+ deleteAfter?: boolean;
37
+ }
38
+ export interface LoadFileResult {
39
+ id: string;
40
+ status: 'ok' | 'duplicate' | 'error';
41
+ message?: string;
42
+ }
43
+ export declare function loadFile(rawPath: string, pipeline: string, { stage: defaultStage, deleteAfter }?: LoadFileOptions): LoadFileResult[];
32
44
  export interface ClaimOptions {
33
45
  random?: boolean;
34
46
  }
35
- export declare function claim(pipeline: string, stage: string, id?: string, { random }?: ClaimOptions): Item | null;
47
+ export declare function claim(pipeline: string, stage: string, id?: string, { random }?: ClaimOptions): Item;
36
48
  export interface ReleaseOptions {
37
49
  target?: string;
38
50
  payload?: string;
39
51
  replace?: boolean;
40
52
  priority?: number;
41
- plainText?: boolean;
53
+ payloadFormat?: PayloadFormat;
42
54
  }
43
- export declare function release(pipeline: string, seq: number, { target, payload, replace, priority, plainText }?: ReleaseOptions): void;
55
+ export declare function release(pipeline: string, seq: number, { target, payload, replace, priority, payloadFormat }?: ReleaseOptions): void;
44
56
  export declare function batchRead(pipeline: string, stage?: string, filters?: FilterOptions, includePayload?: boolean): Item[];
45
- export declare function stats(pipeline?: string): Record<string, [number, number]>;
57
+ export interface PipelineStatus {
58
+ description: string | null;
59
+ stats: Record<string, [number, number]>;
60
+ }
61
+ export declare function status(pipeline: string): PipelineStatus;
46
62
  export declare function unstick(pipeline: string, stage?: string, filters?: FilterOptions): number;
47
63
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAahC,qBAAa,OAAQ,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+BD,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAKD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOrD;AAID,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAc,EAAE,SAAiB,EAAE,GAAE,WAAgB,GAAG,MAAM,CAkB3I;AAID,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAc,EAAE,GAAE,YAAiB,GAAG,IAAI,GAAG,IAAI,CA8BtH;AAID,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAiB,EAAE,GAAE,cAAmB,GAAG,IAAI,CA8B3I;AA6BD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,OAAO,GAAE,aAAkB,EAAE,cAAc,UAAO,GAAG,IAAI,EAAE,CA4BnH;AAID,wBAAgB,KAAK,CAAC,QAAQ,SAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmCtE;AAID,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAkB1F"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -35,25 +35,43 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.QQError = exports.yaml = void 0;
37
37
  exports.makePipeline = makePipeline;
38
+ exports.listPipelines = listPipelines;
38
39
  exports.deletePipeline = deletePipeline;
39
40
  exports.push = push;
41
+ exports.loadFile = loadFile;
40
42
  exports.claim = claim;
41
43
  exports.release = release;
42
44
  exports.batchRead = batchRead;
43
- exports.stats = stats;
45
+ exports.status = status;
44
46
  exports.unstick = unstick;
45
47
  const node_crypto_1 = require("node:crypto");
48
+ const node_fs_1 = require("node:fs");
49
+ const node_path_1 = require("node:path");
46
50
  const js_yaml_1 = require("js-yaml");
51
+ const sync_1 = require("csv-parse/sync");
47
52
  const db_js_1 = require("./db.js");
48
53
  exports.yaml = __importStar(require("js-yaml"));
49
- function validateYaml(payload, plainText) {
50
- if (!payload || plainText)
51
- return;
52
- try {
53
- (0, js_yaml_1.load)(payload);
54
- }
55
- catch (e) {
56
- throw new QQError(`payload is not valid YAML: ${e instanceof Error ? e.message : String(e)}`);
54
+ function processPayload(payload, format = 'yaml') {
55
+ if (!payload)
56
+ return payload;
57
+ switch (format) {
58
+ case 'yaml':
59
+ try {
60
+ (0, js_yaml_1.load)(payload);
61
+ }
62
+ catch (e) {
63
+ throw new QQError(`payload is not valid YAML: ${e instanceof Error ? e.message : String(e)}`);
64
+ }
65
+ return payload;
66
+ case 'json':
67
+ try {
68
+ return JSON.stringify(JSON.parse(payload));
69
+ }
70
+ catch (e) {
71
+ throw new QQError(`payload is not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
72
+ }
73
+ case 'text':
74
+ return payload;
57
75
  }
58
76
  }
59
77
  // ── types ──────────────────────────────────────────────────────────────────────
@@ -87,7 +105,7 @@ function rowToItem(row, includePayload) {
87
105
  return msg;
88
106
  }
89
107
  // ── makePipeline ──────────────────────────────────────────────────────────────
90
- function makePipeline(customName) {
108
+ function makePipeline(customName, description) {
91
109
  if (!customName) {
92
110
  const now = new Date();
93
111
  const mm = String(now.getMonth() + 1).padStart(2, '0');
@@ -101,7 +119,7 @@ function makePipeline(customName) {
101
119
  const existing = db.prepare('SELECT id FROM pipelines WHERE id = ?').get(name);
102
120
  if (existing)
103
121
  throw new QQError(`pipeline ${name} already exists`);
104
- db.prepare('INSERT INTO pipelines (id, created) VALUES (?, ?)').run(name, Date.now());
122
+ db.prepare('INSERT INTO pipelines (id, created, description) VALUES (?, ?, ?)').run(name, Date.now(), description ?? null);
105
123
  });
106
124
  }
107
125
  finally {
@@ -109,6 +127,17 @@ function makePipeline(customName) {
109
127
  }
110
128
  return name;
111
129
  }
130
+ // ── listPipelines ─────────────────────────────────────────────────────────────
131
+ function listPipelines() {
132
+ const db = (0, db_js_1.openDb)();
133
+ try {
134
+ const rows = db.prepare('SELECT id FROM pipelines ORDER BY id ASC').all();
135
+ return rows.map(r => r.id);
136
+ }
137
+ finally {
138
+ db.close();
139
+ }
140
+ }
112
141
  // ── deletePipeline ────────────────────────────────────────────────────────────
113
142
  function deletePipeline(pipeline) {
114
143
  const db = (0, db_js_1.openDb)();
@@ -119,8 +148,8 @@ function deletePipeline(pipeline) {
119
148
  db.close();
120
149
  }
121
150
  }
122
- function push(pipeline, stage, id, { payload, priority = 0.0, plainText = false } = {}) {
123
- validateYaml(payload, plainText);
151
+ function push(pipeline, stage = '', id, { payload, priority = 0.0, payloadFormat = 'yaml' } = {}) {
152
+ const processedPayload = processPayload(payload, payloadFormat);
124
153
  const db = (0, db_js_1.openDb)();
125
154
  try {
126
155
  return (0, db_js_1.inTransaction)(db, () => {
@@ -130,7 +159,7 @@ function push(pipeline, stage, id, { payload, priority = 0.0, plainText = false
130
159
  if (existing)
131
160
  throw new QQError(`item ${actualId} already in the pipeline`);
132
161
  const now = Date.now();
133
- db.prepare('INSERT INTO messages (pipeline, id, subqueue, claimed, seq, payload, priority, created, last_modified) VALUES (?, ?, ?, 0, ?, ?, ?, ?, ?)').run(pipeline, actualId, stage, seq, payload ?? null, priority, now, now);
162
+ db.prepare('INSERT INTO messages (pipeline, id, subqueue, claimed, seq, payload, priority, created, last_modified) VALUES (?, ?, ?, 0, ?, ?, ?, ?, ?)').run(pipeline, actualId, stage, seq, processedPayload ?? null, priority, now, now);
134
163
  return actualId;
135
164
  });
136
165
  }
@@ -138,6 +167,76 @@ function push(pipeline, stage, id, { payload, priority = 0.0, plainText = false
138
167
  db.close();
139
168
  }
140
169
  }
170
+ function expandEnvVars(p) {
171
+ return p.replace(/\$([A-Z_][A-Z0-9_]*)/gi, (_, name) => process.env[name] ?? '');
172
+ }
173
+ function parseFileRecords(filePath, content) {
174
+ const ext = (0, node_path_1.extname)(filePath).toLowerCase();
175
+ switch (ext) {
176
+ case '.jsonl':
177
+ case '.ndjson':
178
+ return content.split('\n')
179
+ .map(l => l.trim()).filter(Boolean)
180
+ .map((l, i) => {
181
+ try {
182
+ return JSON.parse(l);
183
+ }
184
+ catch (e) {
185
+ throw new Error(`JSONL line ${i + 1}: ${e instanceof Error ? e.message : String(e)}`);
186
+ }
187
+ });
188
+ case '.json': {
189
+ const parsed = JSON.parse(content);
190
+ if (!Array.isArray(parsed))
191
+ throw new Error('JSON file must contain an array');
192
+ return parsed;
193
+ }
194
+ case '.yaml':
195
+ case '.yml': {
196
+ const doc = (0, js_yaml_1.load)(content);
197
+ if (!Array.isArray(doc))
198
+ throw new Error('YAML file must contain a sequence');
199
+ return doc;
200
+ }
201
+ case '.csv':
202
+ return (0, sync_1.parse)(content, { columns: true, skip_empty_lines: true });
203
+ default:
204
+ throw new Error(`unsupported file extension: ${ext} — use .jsonl, .json, .yaml, .yml, or .csv`);
205
+ }
206
+ }
207
+ function loadFile(rawPath, pipeline, { stage: defaultStage = '', deleteAfter = false } = {}) {
208
+ const filePath = expandEnvVars(rawPath);
209
+ const content = (0, node_fs_1.readFileSync)(filePath, 'utf8');
210
+ const records = parseFileRecords(filePath, content);
211
+ const results = [];
212
+ for (const rec of records) {
213
+ const recStage = typeof rec.stage === 'string' ? rec.stage : defaultStage;
214
+ const recId = rec.id !== undefined ? String(rec.id) : undefined;
215
+ const recPriority = rec.priority !== undefined ? Number(rec.priority) : undefined;
216
+ const recPayload = rec.payload !== undefined
217
+ ? (typeof rec.payload === 'string' ? rec.payload : (0, js_yaml_1.dump)(rec.payload))
218
+ : undefined;
219
+ try {
220
+ const id = push(pipeline, recStage, recId, { payload: recPayload, priority: recPriority, payloadFormat: 'text' });
221
+ results.push({ id, status: 'ok' });
222
+ }
223
+ catch (e) {
224
+ if (e instanceof QQError && e.message.includes('already in the pipeline')) {
225
+ results.push({ id: recId ?? '(autogen)', status: 'duplicate' });
226
+ }
227
+ else {
228
+ results.push({ id: recId ?? '(autogen)', status: 'error', message: e instanceof Error ? e.message : String(e) });
229
+ }
230
+ }
231
+ }
232
+ if (deleteAfter) {
233
+ try {
234
+ (0, node_fs_1.unlinkSync)(filePath);
235
+ }
236
+ catch { /* best-effort */ }
237
+ }
238
+ return results;
239
+ }
141
240
  function claim(pipeline, stage, id, { random = false } = {}) {
142
241
  const db = (0, db_js_1.openDb)();
143
242
  try {
@@ -154,7 +253,7 @@ function claim(pipeline, stage, id, { random = false } = {}) {
154
253
  const orderBy = random ? 'RANDOM()' : 'priority DESC, seq ASC';
155
254
  row = db.prepare(`SELECT * FROM messages WHERE pipeline = ? AND subqueue LIKE ? AND claimed = 0 ORDER BY ${orderBy} LIMIT 1`).get(pipeline, toGlob(stage));
156
255
  if (!row)
157
- return null;
256
+ throw new QQError('no items to claim');
158
257
  }
159
258
  const now = Date.now();
160
259
  db.prepare('UPDATE messages SET claimed = 1, last_modified = ? WHERE pipeline = ? AND id = ?').run(now, pipeline, row.id);
@@ -165,8 +264,8 @@ function claim(pipeline, stage, id, { random = false } = {}) {
165
264
  db.close();
166
265
  }
167
266
  }
168
- function release(pipeline, seq, { target, payload, replace, priority, plainText = false } = {}) {
169
- validateYaml(payload, plainText);
267
+ function release(pipeline, seq, { target, payload, replace, priority, payloadFormat = 'yaml' } = {}) {
268
+ const processedPayload = processPayload(payload, payloadFormat);
170
269
  const db = (0, db_js_1.openDb)();
171
270
  try {
172
271
  (0, db_js_1.inTransaction)(db, () => {
@@ -180,10 +279,10 @@ function release(pipeline, seq, { target, payload, replace, priority, plainText
180
279
  const newStage = target ?? row.subqueue;
181
280
  const newPriority = priority ?? row.priority ?? 0.0;
182
281
  let newPayload;
183
- if (payload !== undefined) {
282
+ if (processedPayload !== undefined) {
184
283
  newPayload = replace
185
- ? payload
186
- : [row.payload, payload].filter(Boolean).join('\n');
284
+ ? processedPayload
285
+ : [row.payload?.trimEnd() ?? null, processedPayload].filter(Boolean).join('\n');
187
286
  }
188
287
  else {
189
288
  newPayload = row.payload ?? null;
@@ -245,36 +344,41 @@ function batchRead(pipeline, stage = '*', filters = {}, includePayload = true) {
245
344
  db.close();
246
345
  }
247
346
  }
248
- // ── stats ─────────────────────────────────────────────────────────────────────
249
- function stats(pipeline = '*') {
347
+ function status(pipeline) {
250
348
  const db = (0, db_js_1.openDb)();
251
349
  try {
252
- const rows = db.prepare('SELECT pipeline, subqueue, claimed, COUNT(*) as count FROM messages WHERE pipeline LIKE ? GROUP BY pipeline, subqueue, claimed').all(toGlob(pipeline));
350
+ const pRow = db.prepare('SELECT description FROM pipelines WHERE id = ?').get(pipeline);
351
+ if (!pRow)
352
+ throw new QQError(`pipeline ${pipeline} not found`);
353
+ const rows = db.prepare('SELECT subqueue, claimed, COUNT(*) as count FROM messages WHERE pipeline = ? GROUP BY subqueue, claimed').all(pipeline);
253
354
  const agg = new Map();
254
355
  const ensure = (key) => {
255
356
  if (!agg.has(key))
256
357
  agg.set(key, { total: 0, claimed: 0 });
257
358
  return agg.get(key);
258
359
  };
360
+ let pipelineTotal = 0;
361
+ let pipelineClaimed = 0;
259
362
  for (const row of rows) {
260
- const pEntry = ensure(row.pipeline);
261
- pEntry.total += row.count;
363
+ pipelineTotal += row.count;
262
364
  if (row.claimed)
263
- pEntry.claimed += row.count;
365
+ pipelineClaimed += row.count;
366
+ if (row.subqueue === '')
367
+ continue;
264
368
  const parts = row.subqueue.split('/');
265
369
  for (let i = 0; i < parts.length; i++) {
266
- const key = row.pipeline + '/' + parts.slice(0, i + 1).join('/');
370
+ const key = parts.slice(0, i + 1).join('/');
267
371
  const entry = ensure(key);
268
372
  entry.total += row.count;
269
373
  if (row.claimed)
270
374
  entry.claimed += row.count;
271
375
  }
272
376
  }
273
- const result = {};
377
+ const stats = { '*': [pipelineTotal, pipelineClaimed] };
274
378
  for (const [key, { total, claimed }] of [...agg.entries()].sort(([a], [b]) => a.localeCompare(b))) {
275
- result[key] = [total, claimed];
379
+ stats[key] = [total, claimed];
276
380
  }
277
- return result;
381
+ return { description: pRow.description, stats };
278
382
  }
279
383
  finally {
280
384
  db.close();
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,oCAmBC;AAKD,sCAQC;AAID,wCAOC;AAUD,oBAkBC;AAgDD,4BAoCC;AAQD,sBA8BC;AAYD,0BA8BC;AA6BD,8BA4BC;AASD,wBA0CC;AAID,0BAkBC;AAncD,6CAA0C;AAC1C,qCAAmD;AACnD,yCAAoC;AAEpC,qCAAqC;AACrC,yCAAmD;AACnD,mCAAgD;AAEhD,gDAAgC;AAIhC,SAAS,cAAc,CAAC,OAA2B,EAAE,SAAwB,MAAM;IACjF,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAC7B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,IAAI,CAAC;gBAAC,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YACtB,OAAO,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,OAAO,CAAC,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAC5G,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAC,CAAC;YACnD,OAAO,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,OAAO,CAAC,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QAC9G,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,kFAAkF;AAElF,MAAa,OAAQ,SAAQ,KAAK;IAChC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF;AALD,0BAKC;AAwBD,kFAAkF;AAGlF,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,OAAO,CAAC,EAAqB,EAAE,QAAgB;IACtD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAyB,CAAC;IACtH,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,GAA4B,EAAE,cAAuB;IACtE,MAAM,GAAG,GAAS;QAChB,EAAE,EAAE,GAAG,CAAC,EAAY;QACpB,KAAK,EAAE,GAAG,CAAC,QAAkB;QAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7B,GAAG,EAAE,GAAG,CAAC,GAAa;QACtB,QAAQ,EAAG,GAAG,CAAC,QAAmB,IAAI,GAAG;QACzC,OAAO,EAAE,GAAG,CAAC,OAAiB;QAC9B,aAAa,EAAE,GAAG,CAAC,aAAuB;KAC3C,CAAC;IACF,IAAI,cAAc;QAAE,GAAG,CAAC,OAAO,GAAI,GAAG,CAAC,OAAyB,IAAI,IAAI,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AAEjF,SAAgB,YAAY,CAAC,UAAmB,EAAE,WAAoB;IACpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,UAAU,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC;IACxB,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,EAAE;YACrB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,QAAQ;gBAAE,MAAM,IAAI,OAAO,CAAC,YAAY,IAAI,iBAAiB,CAAC,CAAC;YACnE,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,iFAAiF;AAEjF,SAAgB,aAAa;IAC3B,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAsB,CAAC;QAC9F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAUD,SAAgB,IAAI,CAAC,QAAgB,EAAE,KAAK,GAAG,EAAE,EAAE,EAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,aAAa,GAAG,MAAM,KAAkB,EAAE;IACnI,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7G,IAAI,QAAQ;gBAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,QAAQ,0BAA0B,CAAC,CAAC;YAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,EAAE,CAAC,OAAO,CACR,2IAA2I,CAC5I,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAeD,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,OAAe;IACzD,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC;oBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC;gBAAC,CAAC;gBACxD,OAAO,CAAC,EAAE,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;YACtG,CAAC,CAAC,CAAC;QACP,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC/E,OAAO,MAAmC,CAAC;QAC7C,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC9E,OAAO,GAAgC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM;YACT,OAAO,IAAA,YAAQ,EAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAA8B,CAAC;QACnG;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,4CAA4C,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CACtB,OAAe,EACf,QAAgB,EAChB,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,KAAsB,EAAE;IAEvE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS;YAC1C,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,cAAI,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrE,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;YAClH,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YAAC,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,SAAgB,KAAK,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAW,EAAE,EAAE,MAAM,GAAG,KAAK,KAAmB,EAAE;IACvG,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,EAAE;YAC5B,IAAI,GAAwC,CAAC;YAE7C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,GAAG,GAAG,EAAE,CAAC,OAAO,CACd,sDAAsD,CACvD,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAwC,CAAC;gBAC3D,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpD,IAAI,GAAG,CAAC,OAAO;oBAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAC/D,GAAG,GAAG,EAAE,CAAC,OAAO,CACd,0FAA0F,OAAO,UAAU,CAC5G,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAwC,CAAC;gBACtE,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,EAAE,CAAC,OAAO,CACR,kFAAkF,CACnF,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAY,CAAC,CAAC;YAEvC,OAAO,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAYD,SAAgB,OAAO,CAAC,QAAgB,EAAE,GAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,KAAqB,EAAE;IACxI,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,EAAE;YACrB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAwC,CAAC;YAC1I,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,OAAO,CAAC,gBAAgB,GAAG,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,MAAM,IAAI,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAK,GAAG,CAAC,QAAmB,CAAC;YACpD,MAAM,WAAW,GAAG,QAAQ,IAAK,GAAG,CAAC,QAAmB,IAAI,GAAG,CAAC;YAEhE,IAAI,UAAyB,CAAC;YAC9B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,UAAU,GAAG,OAAO;oBAClB,CAAC,CAAC,gBAAgB;oBAClB,CAAC,CAAC,CAAE,GAAG,CAAC,OAAyB,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAI,GAAG,CAAC,OAAyB,IAAI,IAAI,CAAC;YACtD,CAAC;YAED,EAAE,CAAC,OAAO,CACR,qIAAqI,CACtI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,qBAAqB,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAsB;IACpF,MAAM,UAAU,GAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,MAAM,GAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAErE,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,iFAAiF;AAEjF,SAAgB,SAAS,CAAC,QAAgB,EAAE,KAAK,GAAG,GAAG,EAAE,UAAyB,EAAE,EAAE,cAAc,GAAG,IAAI;IACzG,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,GAAG,GAAG,gCAAgC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAEtF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,IAAI,UAAU,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxC,GAAG,IAAI,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,IAAI,WAAW,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAA8B,CAAC;QACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AASD,SAAgB,MAAM,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAA+C,CAAC;QACtI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,OAAO,CAAC,YAAY,QAAQ,YAAY,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,yGAAyG,CAC1G,CAAC,GAAG,CAAC,QAAQ,CAA2D,CAAC;QAE1E,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8C,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,aAAa,IAAI,GAAG,CAAC,KAAK,CAAC;YAC3B,IAAI,GAAG,CAAC,OAAO;gBAAE,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC;YAE9C,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;gBACzB,IAAI,GAAG,CAAC,OAAO;oBAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAqC,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;QAC1F,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAgB,OAAO,CAAC,QAAgB,EAAE,KAAK,GAAG,GAAG,EAAE,UAAyB,EAAE;IAChF,MAAM,EAAE,GAAG,IAAA,cAAM,GAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAA,qBAAa,EAAC,EAAE,EAAE,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/E,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAqB,CAAC;YACxH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAClC,EAAE,CAAC,OAAO,CAAC,2FAA2F,CAAC;qBACpG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA2CtC,wBAAgB,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAS1C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtE"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAgCtC,wBAAgB,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAc1C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtE"}
package/dist/db.js CHANGED
@@ -10,9 +10,11 @@ const node_fs_1 = require("node:fs");
10
10
  const node_path_1 = require("node:path");
11
11
  const DDL = `
12
12
  CREATE TABLE IF NOT EXISTS pipelines (
13
- id TEXT PRIMARY KEY,
14
- created INTEGER NOT NULL
13
+ id TEXT PRIMARY KEY,
14
+ created INTEGER NOT NULL,
15
+ description TEXT
15
16
  );
17
+
16
18
  CREATE TABLE IF NOT EXISTS messages (
17
19
  id TEXT NOT NULL,
18
20
  pipeline TEXT NOT NULL REFERENCES pipelines(id) ON DELETE CASCADE,
@@ -30,29 +32,21 @@ CREATE INDEX IF NOT EXISTS idx_claim ON messages (pipeline, subqueue, claime
30
32
  CREATE INDEX IF NOT EXISTS idx_claim_pri ON messages (pipeline, subqueue, claimed, priority, seq);
31
33
  `;
32
34
  function dbDir() {
33
- const home = process.env.HOME;
34
- if (home?.startsWith('/sessions')) {
35
- try {
36
- const workspace = (0, node_fs_1.readFileSync)((0, node_path_1.join)(home, '.cowork_workspace_location'), 'utf8').trim();
37
- if (workspace)
38
- return (0, node_path_1.join)(workspace, '.claude', 'qq');
39
- }
40
- catch { /* file absent */ }
41
- throw new Error('Cowork sandboxed environment detected.\n' +
42
- 'Before using qq, write your sandbox workspace path to $HOME/.cowork_workspace_location:\n' +
43
- ' echo "<sandbox workspace path>" > $HOME/.cowork_workspace_location\n' +
44
- 'Find the workspace path in your system prompt\'s shell access path mapping.');
45
- }
46
- return (0, node_path_1.join)(process.cwd(), '.claude', 'qq');
35
+ return (0, node_path_1.join)(process.env.HOME, '.claude', 'qq');
47
36
  }
48
37
  function openDb() {
49
38
  const dir = dbDir();
50
39
  (0, node_fs_1.mkdirSync)(dir, { recursive: true });
51
40
  const db = new better_sqlite3_1.default((0, node_path_1.join)(dir, 'qq.db'));
52
- db.pragma('journal_mode = MEMORY');
41
+ db.pragma('journal_mode = WAL');
53
42
  db.pragma('busy_timeout = 5000');
54
43
  db.pragma('foreign_keys = ON');
55
44
  db.exec(DDL);
45
+ // Migration: add description column if missing (existing DBs pre-date this column)
46
+ const cols = db.prepare("PRAGMA table_info(pipelines)").all();
47
+ if (!cols.some(c => c.name === 'description')) {
48
+ db.exec('ALTER TABLE pipelines ADD COLUMN description TEXT');
49
+ }
56
50
  return db;
57
51
  }
58
52
  function inTransaction(db, fn) {
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;;;AA2CA,wBASC;AAED,sCAEC;AAxDD,oEAAsC;AACtC,qCAAkD;AAClD,yCAAiC;AAEjC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;CAoBX,CAAC;AAEF,SAAS,KAAK;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACxF,IAAI,SAAS;gBAAE,OAAO,IAAA,gBAAI,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,0CAA0C;YAC1C,2FAA2F;YAC3F,wEAAwE;YACxE,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,MAAM;IACpB,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;IACpB,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,aAAa,CAAI,EAAqB,EAAE,EAAW;IACjE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;;;AAgCA,wBAcC;AAED,sCAEC;AAlDD,oEAAsC;AACtC,qCAAoC;AACpC,yCAAiC;AAEjC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBX,CAAC;AAEF,SAAS,KAAK;IACZ,OAAO,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,CAAC,IAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,MAAM;IACpB,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;IACpB,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACjC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,mFAAmF;IACnF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAAwB,CAAC;IACpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;QAC9C,EAAE,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,aAAa,CAAI,EAAqB,EAAE,EAAW;IACjE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACxC,CAAC"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export interface HttpServer {
2
+ port: number;
3
+ token: string;
4
+ close(): void;
5
+ }
6
+ export declare function startHttp(fixedPort?: number): Promise<HttpServer>;
7
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;CACf;AAeD,wBAAsB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwGvE"}
package/dist/http.js ADDED
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startHttp = startHttp;
7
+ const express_1 = __importDefault(require("express"));
8
+ const cors_1 = __importDefault(require("cors"));
9
+ const node_net_1 = require("node:net");
10
+ const node_crypto_1 = require("node:crypto");
11
+ const commands_js_1 = require("./commands.js");
12
+ function pickPort() {
13
+ return new Promise((resolve, reject) => {
14
+ const srv = (0, node_net_1.createServer)();
15
+ srv.listen(0, () => {
16
+ const addr = srv.address();
17
+ srv.close(() => {
18
+ if (addr && typeof addr === 'object')
19
+ resolve(addr.port);
20
+ else
21
+ reject(new Error('failed to get port'));
22
+ });
23
+ });
24
+ });
25
+ }
26
+ async function startHttp(fixedPort) {
27
+ const port = fixedPort ?? await pickPort();
28
+ const token = (0, node_crypto_1.randomBytes)(32).toString('hex');
29
+ const app = (0, express_1.default)();
30
+ app.use((0, cors_1.default)());
31
+ app.use(express_1.default.json({ limit: '50mb' }));
32
+ // Auth middleware
33
+ app.use((req, res, next) => {
34
+ const auth = req.headers['authorization'];
35
+ if (auth !== `Bearer ${token}`) {
36
+ res.status(401).json({ error: 'Unauthorized' });
37
+ return;
38
+ }
39
+ next();
40
+ });
41
+ function wrap(res, fn) {
42
+ try {
43
+ const result = fn();
44
+ res.json(result ?? { ok: true });
45
+ }
46
+ catch (e) {
47
+ const msg = e instanceof Error ? e.message : String(e);
48
+ const status = e instanceof commands_js_1.QQError ? 400 : 500;
49
+ res.status(status).json({ error: msg });
50
+ }
51
+ }
52
+ // Routes
53
+ app.post('/pipelines', (req, res) => {
54
+ wrap(res, () => ({ pipeline: (0, commands_js_1.makePipeline)(req.body?.name, req.body?.description) }));
55
+ });
56
+ app.delete('/pipelines/:pipeline', (req, res) => {
57
+ wrap(res, () => { (0, commands_js_1.deletePipeline)(req.params.pipeline); });
58
+ });
59
+ app.post('/pipelines/:pipeline/push', (req, res) => {
60
+ const { stage, id, payload, priority, payloadFormat } = req.body ?? {};
61
+ wrap(res, () => ({ id: (0, commands_js_1.push)(req.params.pipeline, stage, id, { payload, priority, payloadFormat }) }));
62
+ });
63
+ app.post('/pipelines/:pipeline/claim', (req, res) => {
64
+ const { stage = '*', id, random } = req.body ?? {};
65
+ wrap(res, () => (0, commands_js_1.claim)(req.params.pipeline, stage, id, { random }));
66
+ });
67
+ app.post('/pipelines/:pipeline/release/:seq', (req, res) => {
68
+ const seq = parseInt(req.params.seq, 10);
69
+ const { target, payload, replace, priority, payloadFormat } = req.body ?? {};
70
+ wrap(res, () => { (0, commands_js_1.release)(req.params.pipeline, seq, { target, payload, replace, priority, payloadFormat }); });
71
+ });
72
+ app.get('/pipelines/:pipeline/status', (req, res) => {
73
+ wrap(res, () => (0, commands_js_1.status)(req.params.pipeline));
74
+ });
75
+ app.get('/pipelines/:pipeline/items', (req, res) => {
76
+ const { stage = '*', includePayload, claimed, ids, createdAfter, createdBefore, modifiedAfter, limit, offset } = req.query;
77
+ wrap(res, () => (0, commands_js_1.batchRead)(req.params.pipeline, String(stage), {
78
+ claimed: claimed !== undefined ? String(claimed).toLowerCase() === 'true' : undefined,
79
+ ids: ids ? String(ids).split(',') : undefined,
80
+ created_after: createdAfter ? Number(createdAfter) : undefined,
81
+ created_before: createdBefore ? Number(createdBefore) : undefined,
82
+ modified_after: modifiedAfter ? Number(modifiedAfter) : undefined,
83
+ limit: limit ? Number(limit) : undefined,
84
+ offset: offset ? Number(offset) : undefined,
85
+ }, String(includePayload).toLowerCase() === 'true'));
86
+ });
87
+ app.post('/pipelines/:pipeline/load', (req, res) => {
88
+ const { path: filePath, stage, deleteAfter } = req.body ?? {};
89
+ wrap(res, () => {
90
+ const results = (0, commands_js_1.loadFile)(filePath, req.params.pipeline, { stage, deleteAfter });
91
+ return results.map(r => r.message ? `${r.id}: ${r.status}: ${r.message}` : `${r.id}: ${r.status}`);
92
+ });
93
+ });
94
+ app.post('/pipelines/:pipeline/unstick', (req, res) => {
95
+ const { stage = '*', ids, createdAfter, createdBefore, modifiedAfter } = req.body ?? {};
96
+ wrap(res, () => ({
97
+ unstuck: (0, commands_js_1.unstick)(req.params.pipeline, stage, {
98
+ ids: ids ?? undefined,
99
+ created_after: createdAfter ?? undefined,
100
+ created_before: createdBefore ?? undefined,
101
+ modified_after: modifiedAfter ?? undefined,
102
+ }),
103
+ }));
104
+ });
105
+ const server = app.listen(port, '0.0.0.0');
106
+ await new Promise((resolve) => server.once('listening', resolve));
107
+ return {
108
+ port,
109
+ token,
110
+ close: () => server.close(),
111
+ };
112
+ }
113
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}