@hasna/testers 0.0.5 → 0.0.6

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,17 +1,18 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
-
4
- // src/server/index.ts
5
- import { existsSync as existsSync4 } from "fs";
6
- import { join as join4 } from "path";
7
- import { homedir as homedir4 } from "os";
3
+ var __defProp = Object.defineProperty;
4
+ var __export = (target, all) => {
5
+ for (var name in all)
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true,
9
+ configurable: true,
10
+ set: (newValue) => all[name] = () => newValue
11
+ });
12
+ };
13
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
8
14
 
9
15
  // src/types/index.ts
10
- var MODEL_MAP = {
11
- quick: "claude-haiku-4-5-20251001",
12
- thorough: "claude-sonnet-4-6-20260311",
13
- deep: "claude-opus-4-6-20260311"
14
- };
15
16
  function scenarioFromRow(row) {
16
17
  return {
17
18
  id: row.id,
@@ -103,39 +104,61 @@ function scheduleFromRow(row) {
103
104
  updatedAt: row.updated_at
104
105
  };
105
106
  }
106
- class VersionConflictError extends Error {
107
- constructor(entity, id) {
108
- super(`Version conflict on ${entity}: ${id}`);
109
- this.name = "VersionConflictError";
110
- }
111
- }
112
-
113
- class BrowserError extends Error {
114
- constructor(message) {
115
- super(message);
116
- this.name = "BrowserError";
117
- }
118
- }
119
-
120
- class AIClientError extends Error {
121
- constructor(message) {
122
- super(message);
123
- this.name = "AIClientError";
124
- }
125
- }
126
- class ScheduleNotFoundError extends Error {
127
- constructor(id) {
128
- super(`Schedule not found: ${id}`);
129
- this.name = "ScheduleNotFoundError";
130
- }
107
+ function flowFromRow(row) {
108
+ return {
109
+ id: row.id,
110
+ projectId: row.project_id,
111
+ name: row.name,
112
+ description: row.description,
113
+ scenarioIds: JSON.parse(row.scenario_ids),
114
+ createdAt: row.created_at,
115
+ updatedAt: row.updated_at
116
+ };
131
117
  }
118
+ var MODEL_MAP, VersionConflictError, BrowserError, AIClientError, ScheduleNotFoundError, DependencyCycleError;
119
+ var init_types = __esm(() => {
120
+ MODEL_MAP = {
121
+ quick: "claude-haiku-4-5-20251001",
122
+ thorough: "claude-sonnet-4-6-20260311",
123
+ deep: "claude-opus-4-6-20260311"
124
+ };
125
+ VersionConflictError = class VersionConflictError extends Error {
126
+ constructor(entity, id) {
127
+ super(`Version conflict on ${entity}: ${id}`);
128
+ this.name = "VersionConflictError";
129
+ }
130
+ };
131
+ BrowserError = class BrowserError extends Error {
132
+ constructor(message) {
133
+ super(message);
134
+ this.name = "BrowserError";
135
+ }
136
+ };
137
+ AIClientError = class AIClientError extends Error {
138
+ constructor(message) {
139
+ super(message);
140
+ this.name = "AIClientError";
141
+ }
142
+ };
143
+ ScheduleNotFoundError = class ScheduleNotFoundError extends Error {
144
+ constructor(id) {
145
+ super(`Schedule not found: ${id}`);
146
+ this.name = "ScheduleNotFoundError";
147
+ }
148
+ };
149
+ DependencyCycleError = class DependencyCycleError extends Error {
150
+ constructor(scenarioId, dependsOn) {
151
+ super(`Adding dependency ${dependsOn} to ${scenarioId} would create a cycle`);
152
+ this.name = "DependencyCycleError";
153
+ }
154
+ };
155
+ });
132
156
 
133
157
  // src/db/database.ts
134
158
  import { Database } from "bun:sqlite";
135
159
  import { mkdirSync, existsSync } from "fs";
136
160
  import { dirname, join } from "path";
137
161
  import { homedir } from "os";
138
- var db = null;
139
162
  function now() {
140
163
  return new Date().toISOString();
141
164
  }
@@ -154,8 +177,50 @@ function resolveDbPath() {
154
177
  mkdirSync(dir, { recursive: true });
155
178
  return join(dir, "testers.db");
156
179
  }
157
- var MIGRATIONS = [
158
- `
180
+ function applyMigrations(database) {
181
+ const applied = database.query("SELECT id FROM _migrations ORDER BY id").all();
182
+ const appliedIds = new Set(applied.map((r) => r.id));
183
+ for (let i = 0;i < MIGRATIONS.length; i++) {
184
+ const migrationId = i + 1;
185
+ if (appliedIds.has(migrationId))
186
+ continue;
187
+ const migration = MIGRATIONS[i];
188
+ database.exec(migration);
189
+ database.query("INSERT INTO _migrations (id, applied_at) VALUES (?, ?)").run(migrationId, now());
190
+ }
191
+ }
192
+ function getDatabase() {
193
+ if (db)
194
+ return db;
195
+ const dbPath = resolveDbPath();
196
+ const dir = dirname(dbPath);
197
+ if (dbPath !== ":memory:" && !existsSync(dir)) {
198
+ mkdirSync(dir, { recursive: true });
199
+ }
200
+ db = new Database(dbPath);
201
+ db.exec("PRAGMA journal_mode = WAL");
202
+ db.exec("PRAGMA foreign_keys = ON");
203
+ db.exec("PRAGMA busy_timeout = 5000");
204
+ db.exec(`
205
+ CREATE TABLE IF NOT EXISTS _migrations (
206
+ id INTEGER PRIMARY KEY,
207
+ applied_at TEXT NOT NULL DEFAULT (datetime('now'))
208
+ );
209
+ `);
210
+ applyMigrations(db);
211
+ return db;
212
+ }
213
+ function resolvePartialId(table, partialId) {
214
+ const database = getDatabase();
215
+ const rows = database.query(`SELECT id FROM ${table} WHERE id LIKE ? || '%'`).all(partialId);
216
+ if (rows.length === 1)
217
+ return rows[0].id;
218
+ return null;
219
+ }
220
+ var db = null, MIGRATIONS;
221
+ var init_database = __esm(() => {
222
+ MIGRATIONS = [
223
+ `
159
224
  CREATE TABLE IF NOT EXISTS projects (
160
225
  id TEXT PRIMARY KEY,
161
226
  name TEXT NOT NULL UNIQUE,
@@ -244,7 +309,7 @@ var MIGRATIONS = [
244
309
  applied_at TEXT NOT NULL DEFAULT (datetime('now'))
245
310
  );
246
311
  `,
247
- `
312
+ `
248
313
  CREATE INDEX IF NOT EXISTS idx_scenarios_project ON scenarios(project_id);
249
314
  CREATE INDEX IF NOT EXISTS idx_scenarios_priority ON scenarios(priority);
250
315
  CREATE INDEX IF NOT EXISTS idx_scenarios_short_id ON scenarios(short_id);
@@ -255,11 +320,11 @@ var MIGRATIONS = [
255
320
  CREATE INDEX IF NOT EXISTS idx_results_status ON results(status);
256
321
  CREATE INDEX IF NOT EXISTS idx_screenshots_result ON screenshots(result_id);
257
322
  `,
258
- `
323
+ `
259
324
  ALTER TABLE projects ADD COLUMN scenario_prefix TEXT DEFAULT 'TST';
260
325
  ALTER TABLE projects ADD COLUMN scenario_counter INTEGER DEFAULT 0;
261
326
  `,
262
- `
327
+ `
263
328
  CREATE TABLE IF NOT EXISTS schedules (
264
329
  id TEXT PRIMARY KEY,
265
330
  project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
@@ -283,12 +348,12 @@ var MIGRATIONS = [
283
348
  CREATE INDEX IF NOT EXISTS idx_schedules_enabled ON schedules(enabled);
284
349
  CREATE INDEX IF NOT EXISTS idx_schedules_next_run ON schedules(next_run_at);
285
350
  `,
286
- `
351
+ `
287
352
  ALTER TABLE screenshots ADD COLUMN description TEXT;
288
353
  ALTER TABLE screenshots ADD COLUMN page_url TEXT;
289
354
  ALTER TABLE screenshots ADD COLUMN thumbnail_path TEXT;
290
355
  `,
291
- `
356
+ `
292
357
  CREATE TABLE IF NOT EXISTS auth_presets (
293
358
  id TEXT PRIMARY KEY,
294
359
  name TEXT NOT NULL UNIQUE,
@@ -299,7 +364,7 @@ var MIGRATIONS = [
299
364
  created_at TEXT NOT NULL DEFAULT (datetime('now'))
300
365
  );
301
366
  `,
302
- `
367
+ `
303
368
  CREATE TABLE IF NOT EXISTS webhooks (
304
369
  id TEXT PRIMARY KEY,
305
370
  url TEXT NOT NULL,
@@ -310,50 +375,191 @@ var MIGRATIONS = [
310
375
  created_at TEXT NOT NULL DEFAULT (datetime('now'))
311
376
  );
312
377
  CREATE INDEX IF NOT EXISTS idx_webhooks_active ON webhooks(active);
378
+ `,
379
+ `
380
+ CREATE TABLE IF NOT EXISTS scenario_dependencies (
381
+ scenario_id TEXT NOT NULL REFERENCES scenarios(id) ON DELETE CASCADE,
382
+ depends_on TEXT NOT NULL REFERENCES scenarios(id) ON DELETE CASCADE,
383
+ PRIMARY KEY (scenario_id, depends_on),
384
+ CHECK (scenario_id != depends_on)
385
+ );
386
+
387
+ CREATE TABLE IF NOT EXISTS flows (
388
+ id TEXT PRIMARY KEY,
389
+ project_id TEXT REFERENCES projects(id) ON DELETE CASCADE,
390
+ name TEXT NOT NULL,
391
+ description TEXT,
392
+ scenario_ids TEXT NOT NULL DEFAULT '[]',
393
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
394
+ updated_at TEXT NOT NULL DEFAULT (datetime('now'))
395
+ );
396
+
397
+ CREATE INDEX IF NOT EXISTS idx_deps_scenario ON scenario_dependencies(scenario_id);
398
+ CREATE INDEX IF NOT EXISTS idx_deps_depends ON scenario_dependencies(depends_on);
399
+ CREATE INDEX IF NOT EXISTS idx_flows_project ON flows(project_id);
313
400
  `
314
- ];
315
- function applyMigrations(database) {
316
- const applied = database.query("SELECT id FROM _migrations ORDER BY id").all();
317
- const appliedIds = new Set(applied.map((r) => r.id));
318
- for (let i = 0;i < MIGRATIONS.length; i++) {
319
- const migrationId = i + 1;
320
- if (appliedIds.has(migrationId))
401
+ ];
402
+ });
403
+
404
+ // src/db/flows.ts
405
+ var exports_flows = {};
406
+ __export(exports_flows, {
407
+ topologicalSort: () => topologicalSort,
408
+ removeDependency: () => removeDependency,
409
+ listFlows: () => listFlows,
410
+ getTransitiveDependencies: () => getTransitiveDependencies,
411
+ getFlow: () => getFlow,
412
+ getDependents: () => getDependents,
413
+ getDependencies: () => getDependencies,
414
+ deleteFlow: () => deleteFlow,
415
+ createFlow: () => createFlow,
416
+ addDependency: () => addDependency
417
+ });
418
+ function addDependency(scenarioId, dependsOn) {
419
+ const db2 = getDatabase();
420
+ const visited = new Set;
421
+ const queue = [dependsOn];
422
+ while (queue.length > 0) {
423
+ const current = queue.shift();
424
+ if (current === scenarioId) {
425
+ throw new DependencyCycleError(scenarioId, dependsOn);
426
+ }
427
+ if (visited.has(current))
321
428
  continue;
322
- const migration = MIGRATIONS[i];
323
- database.exec(migration);
324
- database.query("INSERT INTO _migrations (id, applied_at) VALUES (?, ?)").run(migrationId, now());
429
+ visited.add(current);
430
+ const deps = db2.query("SELECT depends_on FROM scenario_dependencies WHERE scenario_id = ?").all(current);
431
+ for (const dep of deps) {
432
+ if (!visited.has(dep.depends_on)) {
433
+ queue.push(dep.depends_on);
434
+ }
435
+ }
325
436
  }
437
+ db2.query("INSERT OR IGNORE INTO scenario_dependencies (scenario_id, depends_on) VALUES (?, ?)").run(scenarioId, dependsOn);
326
438
  }
327
- function getDatabase() {
328
- if (db)
329
- return db;
330
- const dbPath = resolveDbPath();
331
- const dir = dirname(dbPath);
332
- if (dbPath !== ":memory:" && !existsSync(dir)) {
333
- mkdirSync(dir, { recursive: true });
439
+ function removeDependency(scenarioId, dependsOn) {
440
+ const db2 = getDatabase();
441
+ const result = db2.query("DELETE FROM scenario_dependencies WHERE scenario_id = ? AND depends_on = ?").run(scenarioId, dependsOn);
442
+ return result.changes > 0;
443
+ }
444
+ function getDependencies(scenarioId) {
445
+ const db2 = getDatabase();
446
+ const rows = db2.query("SELECT depends_on FROM scenario_dependencies WHERE scenario_id = ?").all(scenarioId);
447
+ return rows.map((r) => r.depends_on);
448
+ }
449
+ function getDependents(scenarioId) {
450
+ const db2 = getDatabase();
451
+ const rows = db2.query("SELECT scenario_id FROM scenario_dependencies WHERE depends_on = ?").all(scenarioId);
452
+ return rows.map((r) => r.scenario_id);
453
+ }
454
+ function getTransitiveDependencies(scenarioId) {
455
+ const db2 = getDatabase();
456
+ const visited = new Set;
457
+ const queue = [scenarioId];
458
+ while (queue.length > 0) {
459
+ const current = queue.shift();
460
+ const deps = db2.query("SELECT depends_on FROM scenario_dependencies WHERE scenario_id = ?").all(current);
461
+ for (const dep of deps) {
462
+ if (!visited.has(dep.depends_on)) {
463
+ visited.add(dep.depends_on);
464
+ queue.push(dep.depends_on);
465
+ }
466
+ }
334
467
  }
335
- db = new Database(dbPath);
336
- db.exec("PRAGMA journal_mode = WAL");
337
- db.exec("PRAGMA foreign_keys = ON");
338
- db.exec("PRAGMA busy_timeout = 5000");
339
- db.exec(`
340
- CREATE TABLE IF NOT EXISTS _migrations (
341
- id INTEGER PRIMARY KEY,
342
- applied_at TEXT NOT NULL DEFAULT (datetime('now'))
343
- );
344
- `);
345
- applyMigrations(db);
346
- return db;
468
+ return Array.from(visited);
347
469
  }
348
- function resolvePartialId(table, partialId) {
349
- const database = getDatabase();
350
- const rows = database.query(`SELECT id FROM ${table} WHERE id LIKE ? || '%'`).all(partialId);
351
- if (rows.length === 1)
352
- return rows[0].id;
470
+ function topologicalSort(scenarioIds) {
471
+ const db2 = getDatabase();
472
+ const idSet = new Set(scenarioIds);
473
+ const inDegree = new Map;
474
+ const dependents = new Map;
475
+ for (const id of scenarioIds) {
476
+ inDegree.set(id, 0);
477
+ dependents.set(id, []);
478
+ }
479
+ for (const id of scenarioIds) {
480
+ const deps = db2.query("SELECT depends_on FROM scenario_dependencies WHERE scenario_id = ?").all(id);
481
+ for (const dep of deps) {
482
+ if (idSet.has(dep.depends_on)) {
483
+ inDegree.set(id, (inDegree.get(id) ?? 0) + 1);
484
+ dependents.get(dep.depends_on).push(id);
485
+ }
486
+ }
487
+ }
488
+ const queue = [];
489
+ for (const [id, deg] of inDegree) {
490
+ if (deg === 0)
491
+ queue.push(id);
492
+ }
493
+ const sorted = [];
494
+ while (queue.length > 0) {
495
+ const current = queue.shift();
496
+ sorted.push(current);
497
+ for (const dep of dependents.get(current) ?? []) {
498
+ const newDeg = (inDegree.get(dep) ?? 1) - 1;
499
+ inDegree.set(dep, newDeg);
500
+ if (newDeg === 0)
501
+ queue.push(dep);
502
+ }
503
+ }
504
+ if (sorted.length !== scenarioIds.length) {
505
+ throw new DependencyCycleError("multiple", "multiple");
506
+ }
507
+ return sorted;
508
+ }
509
+ function createFlow(input) {
510
+ const db2 = getDatabase();
511
+ const id = uuid();
512
+ const timestamp = now();
513
+ db2.query(`
514
+ INSERT INTO flows (id, project_id, name, description, scenario_ids, created_at, updated_at)
515
+ VALUES (?, ?, ?, ?, ?, ?, ?)
516
+ `).run(id, input.projectId ?? null, input.name, input.description ?? null, JSON.stringify(input.scenarioIds), timestamp, timestamp);
517
+ return getFlow(id);
518
+ }
519
+ function getFlow(id) {
520
+ const db2 = getDatabase();
521
+ let row = db2.query("SELECT * FROM flows WHERE id = ?").get(id);
522
+ if (row)
523
+ return flowFromRow(row);
524
+ const fullId = resolvePartialId("flows", id);
525
+ if (fullId) {
526
+ row = db2.query("SELECT * FROM flows WHERE id = ?").get(fullId);
527
+ if (row)
528
+ return flowFromRow(row);
529
+ }
353
530
  return null;
354
531
  }
532
+ function listFlows(projectId) {
533
+ const db2 = getDatabase();
534
+ if (projectId) {
535
+ const rows2 = db2.query("SELECT * FROM flows WHERE project_id = ? ORDER BY created_at DESC").all(projectId);
536
+ return rows2.map(flowFromRow);
537
+ }
538
+ const rows = db2.query("SELECT * FROM flows ORDER BY created_at DESC").all();
539
+ return rows.map(flowFromRow);
540
+ }
541
+ function deleteFlow(id) {
542
+ const db2 = getDatabase();
543
+ const flow = getFlow(id);
544
+ if (!flow)
545
+ return false;
546
+ const result = db2.query("DELETE FROM flows WHERE id = ?").run(flow.id);
547
+ return result.changes > 0;
548
+ }
549
+ var init_flows = __esm(() => {
550
+ init_database();
551
+ init_database();
552
+ init_types();
553
+ });
554
+
555
+ // src/server/index.ts
556
+ import { existsSync as existsSync4 } from "fs";
557
+ import { join as join4 } from "path";
558
+ import { homedir as homedir4 } from "os";
355
559
 
356
560
  // src/db/scenarios.ts
561
+ init_types();
562
+ init_database();
357
563
  function nextShortId(projectId) {
358
564
  const db2 = getDatabase();
359
565
  if (projectId) {
@@ -517,6 +723,8 @@ function deleteScenario(id) {
517
723
  }
518
724
 
519
725
  // src/db/runs.ts
726
+ init_types();
727
+ init_database();
520
728
  function createRun(input) {
521
729
  const db2 = getDatabase();
522
730
  const id = uuid();
@@ -629,6 +837,8 @@ function updateRun(id, updates) {
629
837
  }
630
838
 
631
839
  // src/db/results.ts
840
+ init_types();
841
+ init_database();
632
842
  function createResult(input) {
633
843
  const db2 = getDatabase();
634
844
  const id = uuid();
@@ -705,6 +915,8 @@ function getResultsByRun(runId) {
705
915
  }
706
916
 
707
917
  // src/db/screenshots.ts
918
+ init_types();
919
+ init_database();
708
920
  function createScreenshot(input) {
709
921
  const db2 = getDatabase();
710
922
  const id = uuid();
@@ -728,6 +940,7 @@ function listScreenshots(resultId) {
728
940
 
729
941
  // src/lib/browser.ts
730
942
  import { chromium } from "playwright";
943
+ init_types();
731
944
  var DEFAULT_VIEWPORT = { width: 1280, height: 720 };
732
945
  async function launchBrowser(options) {
733
946
  const headless = options?.headless ?? true;
@@ -947,6 +1160,7 @@ class Screenshotter {
947
1160
  }
948
1161
 
949
1162
  // src/lib/ai-client.ts
1163
+ init_types();
950
1164
  import Anthropic from "@anthropic-ai/sdk";
951
1165
  function resolveModel(nameOrPreset) {
952
1166
  if (nameOrPreset in MODEL_MAP) {
@@ -1638,6 +1852,7 @@ function createClient(apiKey) {
1638
1852
  }
1639
1853
 
1640
1854
  // src/lib/config.ts
1855
+ init_types();
1641
1856
  import { homedir as homedir3 } from "os";
1642
1857
  import { join as join3 } from "path";
1643
1858
  import { readFileSync, existsSync as existsSync3 } from "fs";
@@ -1794,24 +2009,70 @@ async function runBatch(scenarios, options) {
1794
2009
  projectId: options.projectId
1795
2010
  });
1796
2011
  updateRun(run.id, { status: "running", total: scenarios.length });
2012
+ let sortedScenarios = scenarios;
2013
+ try {
2014
+ const { topologicalSort: topologicalSort2 } = await Promise.resolve().then(() => (init_flows(), exports_flows));
2015
+ const scenarioIds = scenarios.map((s) => s.id);
2016
+ const sortedIds = topologicalSort2(scenarioIds);
2017
+ const scenarioMap = new Map(scenarios.map((s) => [s.id, s]));
2018
+ sortedScenarios = sortedIds.map((id) => scenarioMap.get(id)).filter((s) => s !== undefined);
2019
+ for (const s of scenarios) {
2020
+ if (!sortedIds.includes(s.id))
2021
+ sortedScenarios.push(s);
2022
+ }
2023
+ } catch {}
1797
2024
  const results = [];
2025
+ const failedScenarioIds = new Set;
2026
+ const canRun = async (scenario) => {
2027
+ try {
2028
+ const { getDependencies: getDependencies2 } = await Promise.resolve().then(() => (init_flows(), exports_flows));
2029
+ const deps = getDependencies2(scenario.id);
2030
+ for (const depId of deps) {
2031
+ if (failedScenarioIds.has(depId))
2032
+ return false;
2033
+ }
2034
+ } catch {}
2035
+ return true;
2036
+ };
1798
2037
  if (parallel <= 1) {
1799
- for (const scenario of scenarios) {
2038
+ for (const scenario of sortedScenarios) {
2039
+ if (!await canRun(scenario)) {
2040
+ const result2 = createResult({ runId: run.id, scenarioId: scenario.id, model, stepsTotal: 0 });
2041
+ const skipped = updateResult(result2.id, { status: "skipped", error: "Skipped: dependency failed" });
2042
+ results.push(skipped);
2043
+ failedScenarioIds.add(scenario.id);
2044
+ emit({ type: "scenario:error", scenarioId: scenario.id, scenarioName: scenario.name, error: "Dependency failed \u2014 skipped", runId: run.id });
2045
+ continue;
2046
+ }
1800
2047
  const result = await runSingleScenario(scenario, run.id, options);
1801
2048
  results.push(result);
2049
+ if (result.status === "failed" || result.status === "error") {
2050
+ failedScenarioIds.add(scenario.id);
2051
+ }
1802
2052
  }
1803
2053
  } else {
1804
- const queue = [...scenarios];
2054
+ const queue = [...sortedScenarios];
1805
2055
  const running = [];
1806
2056
  const processNext = async () => {
1807
2057
  const scenario = queue.shift();
1808
2058
  if (!scenario)
1809
2059
  return;
2060
+ if (!await canRun(scenario)) {
2061
+ const result2 = createResult({ runId: run.id, scenarioId: scenario.id, model, stepsTotal: 0 });
2062
+ const skipped = updateResult(result2.id, { status: "skipped", error: "Skipped: dependency failed" });
2063
+ results.push(skipped);
2064
+ failedScenarioIds.add(scenario.id);
2065
+ await processNext();
2066
+ return;
2067
+ }
1810
2068
  const result = await runSingleScenario(scenario, run.id, options);
1811
2069
  results.push(result);
2070
+ if (result.status === "failed" || result.status === "error") {
2071
+ failedScenarioIds.add(scenario.id);
2072
+ }
1812
2073
  await processNext();
1813
2074
  };
1814
- const workers = Math.min(parallel, scenarios.length);
2075
+ const workers = Math.min(parallel, sortedScenarios.length);
1815
2076
  for (let i = 0;i < workers; i++) {
1816
2077
  running.push(processNext());
1817
2078
  }
@@ -1861,7 +2122,14 @@ function estimateCost(model, tokens) {
1861
2122
  return tokens / 1e6 * costPer1M * 100;
1862
2123
  }
1863
2124
 
2125
+ // src/server/index.ts
2126
+ init_types();
2127
+ init_database();
2128
+
1864
2129
  // src/db/schedules.ts
2130
+ init_database();
2131
+ init_types();
2132
+ init_database();
1865
2133
  function createSchedule(input) {
1866
2134
  const db2 = getDatabase();
1867
2135
  const id = uuid();
@@ -1988,6 +2256,7 @@ function updateLastRun(id, runId, nextRunAt) {
1988
2256
  }
1989
2257
 
1990
2258
  // src/lib/scheduler.ts
2259
+ init_types();
1991
2260
  function parseCronField(field, min, max) {
1992
2261
  const results = new Set;
1993
2262
  const parts = field.split(",");
@@ -359,4 +359,35 @@ export declare class AgentNotFoundError extends Error {
359
359
  export declare class ScheduleNotFoundError extends Error {
360
360
  constructor(id: string);
361
361
  }
362
+ export declare class FlowNotFoundError extends Error {
363
+ constructor(id: string);
364
+ }
365
+ export declare class DependencyCycleError extends Error {
366
+ constructor(scenarioId: string, dependsOn: string);
367
+ }
368
+ export interface FlowRow {
369
+ id: string;
370
+ project_id: string | null;
371
+ name: string;
372
+ description: string | null;
373
+ scenario_ids: string;
374
+ created_at: string;
375
+ updated_at: string;
376
+ }
377
+ export interface Flow {
378
+ id: string;
379
+ projectId: string | null;
380
+ name: string;
381
+ description: string | null;
382
+ scenarioIds: string[];
383
+ createdAt: string;
384
+ updatedAt: string;
385
+ }
386
+ export declare function flowFromRow(row: FlowRow): Flow;
387
+ export interface CreateFlowInput {
388
+ name: string;
389
+ description?: string;
390
+ scenarioIds: string[];
391
+ projectId?: string;
392
+ }
362
393
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAClF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIjD,CAAC;AAIF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CASvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAUjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAoB1D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAgB3C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAiBpD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,CAchE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAmB1D;AAID,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAIvC;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,EAAE,EAAE,MAAM;CAIvB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,EAAE,EAAE,MAAM;CAIvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/testers",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "AI-powered QA testing CLI — spawns cheap AI agents to test web apps with headless browsers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",