@anonx3247/universal-agent-harness 0.1.0 → 0.1.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.
Files changed (77) hide show
  1. package/dist/agent-harness.js +143 -143
  2. package/dist/agent-harness.js.map +1 -1
  3. package/dist/db/schema.d.ts +125 -14
  4. package/dist/db/schema.d.ts.map +1 -1
  5. package/dist/db/schema.js +19 -5
  6. package/dist/db/schema.js.map +1 -1
  7. package/dist/index.d.ts +43 -33
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +67 -53
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/advisory.d.ts +21 -0
  12. package/dist/lib/advisory.d.ts.map +1 -0
  13. package/dist/lib/advisory.js +47 -0
  14. package/dist/lib/advisory.js.map +1 -0
  15. package/dist/lib/problems.d.ts +43 -0
  16. package/dist/lib/problems.d.ts.map +1 -0
  17. package/dist/lib/problems.js +96 -0
  18. package/dist/lib/problems.js.map +1 -0
  19. package/dist/lib/profiles.d.ts +44 -0
  20. package/dist/lib/profiles.d.ts.map +1 -0
  21. package/dist/lib/profiles.js +97 -0
  22. package/dist/lib/profiles.js.map +1 -0
  23. package/dist/models/anthropic.d.ts +1 -1
  24. package/dist/models/anthropic.d.ts.map +1 -1
  25. package/dist/models/anthropic.js +2 -2
  26. package/dist/models/anthropic.js.map +1 -1
  27. package/dist/models/deepseek/index.d.ts +1 -1
  28. package/dist/models/deepseek/index.d.ts.map +1 -1
  29. package/dist/models/deepseek/index.js +2 -2
  30. package/dist/models/deepseek/index.js.map +1 -1
  31. package/dist/models/gemini.d.ts +1 -1
  32. package/dist/models/gemini.d.ts.map +1 -1
  33. package/dist/models/gemini.js +2 -2
  34. package/dist/models/gemini.js.map +1 -1
  35. package/dist/models/index.d.ts +1 -1
  36. package/dist/models/index.d.ts.map +1 -1
  37. package/dist/models/mistral.d.ts +1 -1
  38. package/dist/models/mistral.d.ts.map +1 -1
  39. package/dist/models/mistral.js +2 -2
  40. package/dist/models/mistral.js.map +1 -1
  41. package/dist/models/moonshotai.d.ts +1 -1
  42. package/dist/models/moonshotai.d.ts.map +1 -1
  43. package/dist/models/moonshotai.js +2 -2
  44. package/dist/models/moonshotai.js.map +1 -1
  45. package/dist/models/openai.d.ts +1 -1
  46. package/dist/models/openai.d.ts.map +1 -1
  47. package/dist/models/openai.js +2 -2
  48. package/dist/models/openai.js.map +1 -1
  49. package/dist/models/provider.d.ts +4 -3
  50. package/dist/models/provider.d.ts.map +1 -1
  51. package/dist/models/provider.js +13 -1
  52. package/dist/models/provider.js.map +1 -1
  53. package/dist/models/redpill.d.ts +20 -0
  54. package/dist/models/redpill.d.ts.map +1 -0
  55. package/dist/models/redpill.js +224 -0
  56. package/dist/models/redpill.js.map +1 -0
  57. package/dist/resources/advisory.d.ts +13 -0
  58. package/dist/resources/advisory.d.ts.map +1 -0
  59. package/dist/resources/advisory.js +32 -0
  60. package/dist/resources/advisory.js.map +1 -0
  61. package/dist/resources/messages.d.ts +19 -8
  62. package/dist/resources/messages.d.ts.map +1 -1
  63. package/dist/resources/messages.js +41 -19
  64. package/dist/resources/messages.js.map +1 -1
  65. package/dist/resources/run.d.ts +23 -0
  66. package/dist/resources/run.d.ts.map +1 -0
  67. package/dist/resources/run.js +73 -0
  68. package/dist/resources/run.js.map +1 -0
  69. package/dist/runner/index.d.ts +4 -4
  70. package/dist/runner/index.d.ts.map +1 -1
  71. package/dist/runner/index.js +26 -18
  72. package/dist/runner/index.js.map +1 -1
  73. package/package.json +2 -2
  74. package/dist/resources/experiment.d.ts +0 -18
  75. package/dist/resources/experiment.d.ts.map +0 -1
  76. package/dist/resources/experiment.js +0 -55
  77. package/dist/resources/experiment.js.map +0 -1
@@ -1,16 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander";
3
- import { readFileContent } from "./lib/fs";
4
- import { ExperimentResource } from "./resources/experiment";
5
- import { Runner } from "./runner";
6
- import { removeNulls } from "./lib/utils";
3
+ import { RunResource } from "./resources/run";
4
+ import { run as runExecution } from "./index";
7
5
  import { MODELS } from "./models/provider";
8
6
  import { MessageResource } from "./resources/messages";
9
7
  import { db } from "./db";
10
8
  import { messages } from "./db/schema";
11
9
  import { eq } from "drizzle-orm";
12
10
  import { select, confirm, number, prompt } from "./lib/prompts";
13
- import { existsSync } from "fs";
11
+ import { listProfiles, getDefaultProfile, profileExists } from "./lib/profiles";
12
+ import { listProblems, problemExists, getProblemContent } from "./lib/problems";
14
13
  const exitWithError = (err) => {
15
14
  console.error(`\x1b[31mError [${err.error.code}] ${err.error.message}\x1b[0m`);
16
15
  if (err.error.cause) {
@@ -26,45 +25,59 @@ program
26
25
  // Create command
27
26
  program
28
27
  .command("create [name]")
29
- .description("Create a new experiment")
30
- .option("-p, --problem <path>", "Path to problem file")
28
+ .description("Create a new run")
29
+ .option("-p, --problem <id>", "Problem ID (directory name in problems/)")
31
30
  .option("-m, --model <model>", "AI model to use", "claude-sonnet-4-5")
32
31
  .option("-n, --agents <count>", "Number of agents", "1")
33
- .option("--profile <profile>", "Agent profile", "example")
32
+ .option("--profile <profile>", "Agent profile (defaults to 'example' or first available)")
34
33
  .action(async (name, options) => {
35
- console.log("\n\x1b[1m=== Create New Experiment ===\x1b[0m\n");
36
- // Get experiment name
34
+ console.log("\n\x1b[1m=== Create New Run ===\x1b[0m\n");
35
+ // Get run name
37
36
  if (!name) {
38
- name = await prompt("Experiment name: ");
37
+ name = await prompt("Run name: ");
39
38
  if (!name) {
40
- console.log("Error: Experiment name is required.");
39
+ console.log("Error: Run name is required.");
41
40
  process.exit(1);
42
41
  }
43
42
  }
44
- // Check if experiment already exists
45
- const existing = await ExperimentResource.findByName(name);
43
+ // Check if run already exists
44
+ const existing = await RunResource.findByName(name);
46
45
  if (existing.isOk()) {
47
- console.log(`Error: Experiment '${name}' already exists.`);
46
+ console.log(`Error: Run '${name}' already exists.`);
48
47
  process.exit(1);
49
48
  }
50
- // Get problem file
51
- let problemPath = options?.problem;
52
- if (!problemPath) {
53
- problemPath = await prompt("Problem file path: ");
54
- while (!existsSync(problemPath)) {
55
- console.log(`Error: File '${problemPath}' not found.`);
56
- problemPath = await prompt("Problem file path: ");
49
+ // Get problem ID
50
+ let problemId;
51
+ if (options?.problem) {
52
+ problemId = options.problem;
53
+ // Validate problem exists
54
+ if (!problemExists(problemId)) {
55
+ console.log(`Error: Problem '${problemId}' not found.`);
56
+ process.exit(1);
57
57
  }
58
58
  }
59
- else if (!existsSync(problemPath)) {
60
- console.log(`Error: File '${problemPath}' not found.`);
61
- process.exit(1);
59
+ else {
60
+ // Get available problems
61
+ const problemsResult = listProblems();
62
+ if (problemsResult.isErr()) {
63
+ console.log(`Error: ${problemsResult.error.message}`);
64
+ console.log(`\nCreate a problem directory in ./problems/ with a problem.md file.`);
65
+ process.exit(1);
66
+ }
67
+ const availableProblems = problemsResult.value;
68
+ if (availableProblems.length === 0) {
69
+ console.log("Error: No problems found.");
70
+ console.log(`\nCreate a problem directory in ./problems/ with a problem.md file.`);
71
+ process.exit(1);
72
+ }
73
+ problemId = await select("Select problem:", availableProblems, availableProblems[0]);
62
74
  }
63
- const problem = await readFileContent(problemPath);
64
- if (problem.isErr()) {
65
- return exitWithError(problem);
75
+ // Get problem content for display
76
+ const problemResult = getProblemContent(problemId);
77
+ if (problemResult.isErr()) {
78
+ return exitWithError(problemResult);
66
79
  }
67
- console.log(`\nProblem loaded (${problem.value.length} characters)`);
80
+ console.log(`\nProblem '${problemId}' loaded (${problemResult.value.length} characters)`);
68
81
  // Select model
69
82
  let model;
70
83
  if (options?.model) {
@@ -86,72 +99,88 @@ program
86
99
  let profile;
87
100
  if (options?.profile) {
88
101
  profile = options.profile;
102
+ // Validate profile exists
103
+ if (!profileExists(profile)) {
104
+ console.log(`Error: Profile '${profile}' not found.`);
105
+ process.exit(1);
106
+ }
89
107
  }
90
108
  else {
91
- const validProfiles = ["example"];
92
- profile = await select("Select agent profile:", validProfiles, "example");
109
+ // Get available profiles
110
+ const profilesResult = listProfiles();
111
+ if (profilesResult.isErr()) {
112
+ return exitWithError(profilesResult);
113
+ }
114
+ const validProfiles = profilesResult.value;
115
+ // Get default profile
116
+ const defaultProfileResult = getDefaultProfile();
117
+ if (defaultProfileResult.isErr()) {
118
+ return exitWithError(defaultProfileResult);
119
+ }
120
+ const defaultProfile = defaultProfileResult.value;
121
+ profile = await select("Select agent profile:", validProfiles, defaultProfile);
93
122
  }
94
- // Create experiment
95
- const experiment = await ExperimentResource.create({
123
+ // Create run
124
+ const run = await RunResource.create({
96
125
  name,
97
- problem: problem.value,
126
+ problem_id: problemId,
98
127
  model,
99
128
  agent_count: agentCount,
100
129
  profile,
101
130
  });
102
- const e = experiment.toJSON();
103
- console.log(`\n\x1b[32m✓ Experiment created successfully!\x1b[0m`);
104
- console.log(`\n Name: ${e.name}`);
105
- console.log(` Model: ${e.model}`);
106
- console.log(` Agents: ${e.agent_count}`);
107
- console.log(` Profile: ${e.profile}`);
108
- console.log(`\nRun with: npx tsx src/agent-harness.ts run ${e.name}\n`);
131
+ const r = run.toJSON();
132
+ console.log(`\n\x1b[32m✓ Run created successfully!\x1b[0m`);
133
+ console.log(`\n Name: ${r.name}`);
134
+ console.log(` Model: ${r.model}`);
135
+ console.log(` Agents: ${r.agent_count}`);
136
+ console.log(` Profile: ${r.profile}`);
137
+ console.log(`\nRun with: npx tsx src/agent-harness.ts run ${r.name}\n`);
109
138
  });
110
139
  // List command
111
140
  program
112
141
  .command("list")
113
- .description("List all experiments")
142
+ .description("List all runs")
114
143
  .action(async () => {
115
- const experiments = await ExperimentResource.all();
116
- if (experiments.length === 0) {
117
- console.log("No experiments found.");
144
+ const runs = await RunResource.all();
145
+ if (runs.length === 0) {
146
+ console.log("No runs found.");
118
147
  return;
119
148
  }
120
- console.log(`\n\x1b[1mExperiments (${experiments.length}):\x1b[0m\n`);
121
- for (const exp of experiments) {
122
- const e = exp.toJSON();
123
- const cost = await MessageResource.totalCostForExperiment(exp);
124
- const tokens = await MessageResource.totalTokensForExperiment(exp);
125
- console.log(` \x1b[1m${e.name}\x1b[0m`);
126
- console.log(` Model: ${e.model}`);
127
- console.log(` Agents: ${e.agent_count}`);
128
- console.log(` Profile: ${e.profile}`);
149
+ console.log(`\n\x1b[1mRuns (${runs.length}):\x1b[0m\n`);
150
+ for (const run of runs) {
151
+ const r = run.toJSON();
152
+ const cost = await MessageResource.totalCostForRun(run);
153
+ const tokens = await MessageResource.totalTokensForRun(run);
154
+ console.log(` \x1b[1m${r.name}\x1b[0m`);
155
+ console.log(` Model: ${r.model}`);
156
+ console.log(` Agents: ${r.agent_count}`);
157
+ console.log(` Profile: ${r.profile}`);
129
158
  console.log(` Cost: $${cost.toFixed(4)} (${tokens.toLocaleString()} tokens)`);
130
159
  console.log();
131
160
  }
132
161
  });
133
162
  // Run command
134
163
  program
135
- .command("run <experiment>")
136
- .description("Run agents in an experiment")
164
+ .command("run <run-name>")
165
+ .description("Run agents in a run")
137
166
  .option("--tick <agent>", "Run single tick for specific agent (0-indexed)")
138
167
  .option("--agent <index>", "Run specific agent continuously (0-indexed)")
139
168
  .option("--max-cost <amount>", "Maximum cost limit in dollars")
140
169
  .option("--no-thinking", "Disable extended thinking")
141
- .action(async (experimentName, options) => {
142
- // Find experiment
143
- const experimentRes = await ExperimentResource.findByName(experimentName);
144
- if (experimentRes.isErr()) {
145
- return exitWithError(experimentRes);
170
+ .action(async (runName, options) => {
171
+ // Find run
172
+ const runRes = await RunResource.findByName(runName);
173
+ if (runRes.isErr()) {
174
+ return exitWithError(runRes);
146
175
  }
147
- const experiment = experimentRes.value;
148
- const expData = experiment.toJSON();
149
- const agentCount = expData.agent_count;
150
- console.log(`\n\x1b[1m=== Run Experiment: ${experimentName} ===\x1b[0m\n`);
151
- console.log(` Model: ${expData.model}`);
176
+ const run = runRes.value;
177
+ const runData = run.toJSON();
178
+ const agentCount = runData.agent_count;
179
+ console.log(`\n\x1b[1m=== Run: ${runName} ===\x1b[0m\n`);
180
+ console.log(` Model: ${runData.model}`);
152
181
  console.log(` Agents: ${agentCount}`);
153
- console.log(` Profile: ${expData.profile}`);
154
- const cost = await MessageResource.totalCostForExperiment(experiment);
182
+ console.log(` Profile: ${runData.profile}`);
183
+ const cost = await MessageResource.totalCostForRun(run);
155
184
  console.log(` Current cost: $${cost.toFixed(4)}\n`);
156
185
  // Determine run mode
157
186
  let agentIndices = [];
@@ -211,38 +240,7 @@ program
211
240
  ? await confirm("Enable extended thinking?", true)
212
241
  : true)
213
242
  : false;
214
- console.log("\n\x1b[1mStarting experiment...\x1b[0m\n");
215
- // Build runners for all agents
216
- const builders = await Promise.all(agentIndices.map((agentIndex) => Runner.builder(experiment, agentIndex, {
217
- thinking,
218
- })));
219
- for (const res of builders) {
220
- if (res.isErr()) {
221
- return exitWithError(res);
222
- }
223
- }
224
- const runners = removeNulls(builders.map((res) => {
225
- if (res.isOk()) {
226
- return res.value;
227
- }
228
- return null;
229
- }));
230
- // Run single tick if specified
231
- if (singleTick) {
232
- console.log(`\nRunning single tick for agent ${agentIndices[0]}...\n`);
233
- const tickResults = await Promise.all(runners.map((r) => r.tick()));
234
- for (const tick of tickResults) {
235
- if (tick.isErr()) {
236
- return exitWithError(tick);
237
- }
238
- }
239
- console.log("\n\x1b[32m✓ Single tick completed.\x1b[0m\n");
240
- return;
241
- }
242
- // Check every 20 ticks except when near the max value
243
- const shouldCheck = (tickCount, lastVal, maxVal) => (lastVal / maxVal) < 0.95 ? tickCount % 20 === 0 : true;
244
- let tickCount = 0;
245
- let lastCost = await MessageResource.totalCostForExperiment(experiment);
243
+ console.log("\n\x1b[1mStarting run...\x1b[0m\n");
246
244
  // Fast shutdown - exit cleanly
247
245
  const fastShutdown = (reason) => {
248
246
  console.log(`\n\x1b[33m${reason}\x1b[0m`);
@@ -251,8 +249,8 @@ program
251
249
  }
252
250
  process.exit(0);
253
251
  };
254
- // Set up keyboard listener for 'q' to quit
255
- if (process.stdin.isTTY) {
252
+ // Set up keyboard listener for 'q' to quit (for continuous runs)
253
+ if (!singleTick && process.stdin.isTTY) {
256
254
  process.stdin.setRawMode(true);
257
255
  process.stdin.resume();
258
256
  process.stdin.on("data", (key) => {
@@ -265,62 +263,64 @@ program
265
263
  fastShutdown("Interrupted.");
266
264
  }
267
265
  });
266
+ // Display instructions
267
+ console.log("\n\x1b[36mPress 'q' to quit\x1b[0m\n");
268
268
  }
269
- // Display instructions
270
- console.log("\n\x1b[36mPress 'q' to quit\x1b[0m\n");
271
- // For continuous running, start each agent in its own independent loop
272
- const runnerPromises = runners.map(async (runner) => {
273
- while (true) {
274
- if (maxCost && shouldCheck(tickCount, lastCost, maxCost)) {
275
- lastCost = await MessageResource.totalCostForExperiment(experiment);
276
- if (lastCost > maxCost) {
277
- console.log(`\nCost limit reached: $${lastCost.toFixed(2)}`);
278
- fastShutdown("Cost limit reached.");
279
- return;
280
- }
281
- }
282
- const tick = await runner.tick();
283
- tickCount++;
284
- if (tick.isErr()) {
285
- // eslint-disable-next-line
286
- throw tick;
269
+ // Determine which agent(s) to run
270
+ const agentIndex = agentIndices.length === 1 ? agentIndices[0] : undefined;
271
+ // Execute the run using the library function
272
+ const result = await runExecution({
273
+ runName,
274
+ agentIndex,
275
+ singleTick,
276
+ maxCost,
277
+ thinking,
278
+ onCostUpdate: (currentCost) => {
279
+ if (maxCost && currentCost > maxCost) {
280
+ console.log(`\nCost limit reached: $${currentCost.toFixed(2)}`);
281
+ fastShutdown("Cost limit reached.");
287
282
  }
288
- }
283
+ },
289
284
  });
290
- // Wait for agents to finish or stop
291
- try {
292
- await Promise.all(runnerPromises);
285
+ if (result.isErr()) {
286
+ return exitWithError(result);
287
+ }
288
+ if (singleTick) {
289
+ console.log("\n\x1b[32m✓ Single tick completed.\x1b[0m\n");
293
290
  }
294
- catch (error) {
295
- fastShutdown("Error occurred.");
296
- return exitWithError(error);
291
+ else {
292
+ console.log("\n\x1b[32m✓ Run completed.\x1b[0m\n");
293
+ }
294
+ // Cleanup stdin if needed
295
+ if (process.stdin.isTTY) {
296
+ process.stdin.setRawMode(false);
297
297
  }
298
298
  });
299
299
  // Clean command
300
300
  program
301
- .command("clean <experiment>")
302
- .description("Delete an experiment and all its data")
303
- .action(async (experimentName) => {
304
- // Find experiment
305
- const experimentRes = await ExperimentResource.findByName(experimentName);
306
- if (experimentRes.isErr()) {
307
- return exitWithError(experimentRes);
301
+ .command("clean <run-name>")
302
+ .description("Delete a run and all its data")
303
+ .action(async (runName) => {
304
+ // Find run
305
+ const runRes = await RunResource.findByName(runName);
306
+ if (runRes.isErr()) {
307
+ return exitWithError(runRes);
308
308
  }
309
- const experiment = experimentRes.value;
310
- const expId = experiment.toJSON().id;
311
- console.log(`\n\x1b[1m=== Clean Experiment: ${experimentName} ===\x1b[0m\n`);
312
- const confirmed = await confirm("Delete experiment and all data?", false);
309
+ const run = runRes.value;
310
+ const runId = run.toJSON().id;
311
+ console.log(`\n\x1b[1m=== Clean Run: ${runName} ===\x1b[0m\n`);
312
+ const confirmed = await confirm("Delete run and all data?", false);
313
313
  if (!confirmed) {
314
314
  console.log("Aborted.");
315
315
  return;
316
316
  }
317
- console.log(`\nDeleting experiment '${experimentName}'...`);
317
+ console.log(`\nDeleting run '${runName}'...`);
318
318
  // Delete messages
319
319
  console.log(" Deleting messages...");
320
- db.delete(messages).where(eq(messages.experiment, expId)).run();
321
- console.log(" Deleting experiment...");
322
- await experiment.delete();
323
- console.log(`\n\x1b[32m✓ Experiment '${experimentName}' deleted.\x1b[0m\n`);
320
+ db.delete(messages).where(eq(messages.run, runId)).run();
321
+ console.log(" Deleting run...");
322
+ await run.delete();
323
+ console.log(`\n\x1b[32m✓ Run '${runName}' deleted.\x1b[0m\n`);
324
324
  });
325
325
  program.parse();
326
326
  //# sourceMappingURL=agent-harness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-harness.js","sourceRoot":"","sources":["../src/agent-harness.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
2
- name: "experiments";
1
+ export declare const runs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
2
+ name: "runs";
3
3
  schema: undefined;
4
4
  columns: {
5
5
  id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
6
6
  name: "id";
7
- tableName: "experiments";
7
+ tableName: "runs";
8
8
  dataType: "number";
9
9
  columnType: "SQLiteInteger";
10
10
  data: number;
@@ -21,7 +21,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
21
21
  }, {}, {}>;
22
22
  created: import("drizzle-orm/sqlite-core").SQLiteColumn<{
23
23
  name: "created";
24
- tableName: "experiments";
24
+ tableName: "runs";
25
25
  dataType: "date";
26
26
  columnType: "SQLiteTimestamp";
27
27
  data: Date;
@@ -38,7 +38,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
38
38
  }, {}, {}>;
39
39
  updated: import("drizzle-orm/sqlite-core").SQLiteColumn<{
40
40
  name: "updated";
41
- tableName: "experiments";
41
+ tableName: "runs";
42
42
  dataType: "date";
43
43
  columnType: "SQLiteTimestamp";
44
44
  data: Date;
@@ -55,7 +55,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
55
55
  }, {}, {}>;
56
56
  name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
57
57
  name: "name";
58
- tableName: "experiments";
58
+ tableName: "runs";
59
59
  dataType: "string";
60
60
  columnType: "SQLiteText";
61
61
  data: string;
@@ -72,9 +72,9 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
72
72
  }, {}, {
73
73
  length: number | undefined;
74
74
  }>;
75
- problem: import("drizzle-orm/sqlite-core").SQLiteColumn<{
76
- name: "problem";
77
- tableName: "experiments";
75
+ problem_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
76
+ name: "problem_id";
77
+ tableName: "runs";
78
78
  dataType: "string";
79
79
  columnType: "SQLiteText";
80
80
  data: string;
@@ -93,7 +93,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
93
93
  }>;
94
94
  profile: import("drizzle-orm/sqlite-core").SQLiteColumn<{
95
95
  name: "profile";
96
- tableName: "experiments";
96
+ tableName: "runs";
97
97
  dataType: "string";
98
98
  columnType: "SQLiteText";
99
99
  data: string;
@@ -112,7 +112,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
112
112
  }>;
113
113
  model: import("drizzle-orm/sqlite-core").SQLiteColumn<{
114
114
  name: "model";
115
- tableName: "experiments";
115
+ tableName: "runs";
116
116
  dataType: "string";
117
117
  columnType: "SQLiteText";
118
118
  data: Model;
@@ -132,7 +132,7 @@ export declare const experiments: import("drizzle-orm/sqlite-core").SQLiteTableW
132
132
  }>;
133
133
  agent_count: import("drizzle-orm/sqlite-core").SQLiteColumn<{
134
134
  name: "agent_count";
135
- tableName: "experiments";
135
+ tableName: "runs";
136
136
  dataType: "number";
137
137
  columnType: "SQLiteInteger";
138
138
  data: number;
@@ -205,8 +205,8 @@ export declare const messages: import("drizzle-orm/sqlite-core").SQLiteTableWith
205
205
  identity: undefined;
206
206
  generated: undefined;
207
207
  }, {}, {}>;
208
- experiment: import("drizzle-orm/sqlite-core").SQLiteColumn<{
209
- name: "experiment";
208
+ run: import("drizzle-orm/sqlite-core").SQLiteColumn<{
209
+ name: "run";
210
210
  tableName: "messages";
211
211
  dataType: "number";
212
212
  columnType: "SQLiteInteger";
@@ -332,4 +332,115 @@ export declare const messages: import("drizzle-orm/sqlite-core").SQLiteTableWith
332
332
  };
333
333
  dialect: "sqlite";
334
334
  }>;
335
+ export declare const advisories: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
336
+ name: "advisories";
337
+ schema: undefined;
338
+ columns: {
339
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
340
+ name: "id";
341
+ tableName: "advisories";
342
+ dataType: "number";
343
+ columnType: "SQLiteInteger";
344
+ data: number;
345
+ driverParam: number;
346
+ notNull: true;
347
+ hasDefault: true;
348
+ isPrimaryKey: true;
349
+ isAutoincrement: false;
350
+ hasRuntimeDefault: false;
351
+ enumValues: undefined;
352
+ baseColumn: never;
353
+ identity: undefined;
354
+ generated: undefined;
355
+ }, {}, {}>;
356
+ created: import("drizzle-orm/sqlite-core").SQLiteColumn<{
357
+ name: "created";
358
+ tableName: "advisories";
359
+ dataType: "date";
360
+ columnType: "SQLiteTimestamp";
361
+ data: Date;
362
+ driverParam: number;
363
+ notNull: true;
364
+ hasDefault: true;
365
+ isPrimaryKey: false;
366
+ isAutoincrement: false;
367
+ hasRuntimeDefault: true;
368
+ enumValues: undefined;
369
+ baseColumn: never;
370
+ identity: undefined;
371
+ generated: undefined;
372
+ }, {}, {}>;
373
+ run_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
374
+ name: "run_id";
375
+ tableName: "advisories";
376
+ dataType: "number";
377
+ columnType: "SQLiteInteger";
378
+ data: number;
379
+ driverParam: number;
380
+ notNull: true;
381
+ hasDefault: false;
382
+ isPrimaryKey: false;
383
+ isAutoincrement: false;
384
+ hasRuntimeDefault: false;
385
+ enumValues: undefined;
386
+ baseColumn: never;
387
+ identity: undefined;
388
+ generated: undefined;
389
+ }, {}, {}>;
390
+ agent_index: import("drizzle-orm/sqlite-core").SQLiteColumn<{
391
+ name: "agent_index";
392
+ tableName: "advisories";
393
+ dataType: "number";
394
+ columnType: "SQLiteInteger";
395
+ data: number;
396
+ driverParam: number;
397
+ notNull: false;
398
+ hasDefault: false;
399
+ isPrimaryKey: false;
400
+ isAutoincrement: false;
401
+ hasRuntimeDefault: false;
402
+ enumValues: undefined;
403
+ baseColumn: never;
404
+ identity: undefined;
405
+ generated: undefined;
406
+ }, {}, {}>;
407
+ content: import("drizzle-orm/sqlite-core").SQLiteColumn<{
408
+ name: "content";
409
+ tableName: "advisories";
410
+ dataType: "string";
411
+ columnType: "SQLiteText";
412
+ data: string;
413
+ driverParam: string;
414
+ notNull: true;
415
+ hasDefault: false;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: [string, ...string[]];
420
+ baseColumn: never;
421
+ identity: undefined;
422
+ generated: undefined;
423
+ }, {}, {
424
+ length: number | undefined;
425
+ }>;
426
+ delivered: import("drizzle-orm/sqlite-core").SQLiteColumn<{
427
+ name: "delivered";
428
+ tableName: "advisories";
429
+ dataType: "boolean";
430
+ columnType: "SQLiteBoolean";
431
+ data: boolean;
432
+ driverParam: number;
433
+ notNull: true;
434
+ hasDefault: true;
435
+ isPrimaryKey: false;
436
+ isAutoincrement: false;
437
+ hasRuntimeDefault: false;
438
+ enumValues: undefined;
439
+ baseColumn: never;
440
+ identity: undefined;
441
+ generated: undefined;
442
+ }, {}, {}>;
443
+ };
444
+ dialect: "sqlite";
445
+ }>;
335
446
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBvB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBhB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BpB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAarB,CAAC"}