@castlemilk/omega 0.6.15 → 0.6.17

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 (57) hide show
  1. package/dist/cli.js +328 -22
  2. package/dist/server/dist/app.js +2 -2
  3. package/dist/server/dist/app.js.map +1 -1
  4. package/dist/server/dist/routes/benchmarks.d.ts +4 -0
  5. package/dist/server/dist/routes/benchmarks.d.ts.map +1 -0
  6. package/dist/server/dist/routes/benchmarks.js +129 -0
  7. package/dist/server/dist/routes/benchmarks.js.map +1 -0
  8. package/dist/server/dist/routes/metrics.d.ts.map +1 -1
  9. package/dist/server/dist/routes/metrics.js +1 -3
  10. package/dist/server/dist/routes/metrics.js.map +1 -1
  11. package/dist/server/dist/routes/prompt-versions.d.ts.map +1 -1
  12. package/dist/server/dist/routes/prompt-versions.js +15 -19
  13. package/dist/server/dist/routes/prompt-versions.js.map +1 -1
  14. package/dist/server/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js +0 -0
  15. package/dist/server/node_modules/@omega/agent/dist/executor.js +23 -1
  16. package/dist/server/node_modules/@omega/agent/dist/executor.js.map +1 -1
  17. package/dist/server/node_modules/@omega/agent/dist/index.d.ts +1 -1
  18. package/dist/server/node_modules/@omega/agent/dist/index.d.ts.map +1 -1
  19. package/dist/server/node_modules/@omega/agent/dist/index.js +1 -1
  20. package/dist/server/node_modules/@omega/agent/dist/index.js.map +1 -1
  21. package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts +1 -1
  22. package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts.map +1 -1
  23. package/dist/server/node_modules/@omega/agent/dist/prompts.js +34 -13
  24. package/dist/server/node_modules/@omega/agent/dist/prompts.js.map +1 -1
  25. package/dist/server/node_modules/@omega/db/generated/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  26. package/dist/server/node_modules/mime/cli.js +0 -0
  27. package/dist/server/node_modules/mime/src/build.js +0 -0
  28. package/dist/server/node_modules/wrap-ansi/index.js +0 -0
  29. package/dist/server/pglite-data/base/5/1247 +0 -0
  30. package/dist/server/pglite-data/base/5/1249 +0 -0
  31. package/dist/server/pglite-data/base/5/1259 +0 -0
  32. package/dist/server/pglite-data/base/5/16394 +0 -0
  33. package/dist/server/pglite-data/base/5/16404 +0 -0
  34. package/dist/server/pglite-data/base/5/16406 +0 -0
  35. package/dist/server/pglite-data/base/5/16421 +0 -0
  36. package/dist/server/pglite-data/base/5/16510 +0 -0
  37. package/dist/server/pglite-data/base/5/2604 +0 -0
  38. package/dist/server/pglite-data/base/5/2606 +0 -0
  39. package/dist/server/pglite-data/base/5/2610 +0 -0
  40. package/dist/server/pglite-data/base/5/2620 +0 -0
  41. package/dist/server/pglite-data/base/5/2662 +0 -0
  42. package/dist/server/pglite-data/base/5/2663 +0 -0
  43. package/dist/server/pglite-data/base/5/pg_internal.init +0 -0
  44. package/dist/server/pglite-data/global/pg_control +0 -0
  45. package/dist/server/pglite-data/global/pg_internal.init +0 -0
  46. package/dist/server/pglite-data/pg_wal/000000010000000000000001 +0 -0
  47. package/dist/server/pglite-data/pg_xact/0000 +0 -0
  48. package/dist/server/pglite-data/postmaster.pid +1 -1
  49. package/dist/server/src/app.ts +2 -2
  50. package/dist/server/src/routes/benchmarks.ts +150 -0
  51. package/dist/server/src/routes/metrics.ts +1 -3
  52. package/dist/server/src/routes/prompt-versions.ts +15 -20
  53. package/dist/web/dist/assets/index-B_XBuJZF.js +40 -0
  54. package/dist/web/dist/assets/index-CL9S3Jj5.js +40 -0
  55. package/dist/web/dist/assets/index-bU-GzLxD.css +1 -0
  56. package/dist/web/dist/index.html +2 -2
  57. package/package.json +14 -13
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/routes/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/routes/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-versions.d.ts","sourceRoot":"","sources":["../../src/routes/prompt-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAc9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA8BhE"}
1
+ {"version":3,"file":"prompt-versions.d.ts","sourceRoot":"","sources":["../../src/routes/prompt-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAa9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA0BhE"}
@@ -1,38 +1,34 @@
1
1
  import { Router } from 'express';
2
2
  import { z } from 'zod';
3
3
  import { asyncHandler } from '../lib/async-handler.js';
4
- import { createPromptVersionRepository } from '@omega/db';
5
4
  const createSchema = z.object({
6
5
  name: z.string().min(1),
7
6
  sourcePath: z.string().min(1),
8
- systemPrompt: z.string(),
9
- textToolsPrompt: z.string(),
7
+ systemPrompt: z.string().min(1),
8
+ textToolsPrompt: z.string().min(1),
10
9
  hash: z.string().min(1),
11
10
  metadata: z.record(z.unknown()).optional(),
12
11
  });
13
12
  export function promptVersionRoutes(prisma) {
14
- const repo = createPromptVersionRepository(prisma);
15
13
  const r = Router();
16
14
  r.get('/', asyncHandler(async (_req, res) => {
17
- const versions = await repo.list();
15
+ const versions = await prisma.promptVersion.findMany({
16
+ orderBy: { createdAt: 'desc' },
17
+ });
18
18
  res.json(versions);
19
19
  }));
20
- r.get('/:id', asyncHandler(async (req, res) => {
21
- const version = await repo.findById(req.params.id);
22
- if (!version) {
23
- res.status(404).json({ error: 'Prompt version not found' });
24
- return;
25
- }
26
- res.json(version);
27
- }));
28
20
  r.post('/', asyncHandler(async (req, res) => {
29
21
  const body = createSchema.parse(req.body);
30
- const existing = await repo.findByHash(body.hash);
31
- if (existing) {
32
- res.status(200).json(existing);
33
- return;
34
- }
35
- const version = await repo.create(body);
22
+ const version = await prisma.promptVersion.create({
23
+ data: {
24
+ name: body.name,
25
+ sourcePath: body.sourcePath,
26
+ systemPrompt: body.systemPrompt,
27
+ textToolsPrompt: body.textToolsPrompt,
28
+ hash: body.hash,
29
+ metadata: body.metadata ? JSON.stringify(body.metadata) : null,
30
+ },
31
+ });
36
32
  res.status(201).json(version);
37
33
  }));
38
34
  return r;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-versions.js","sourceRoot":"","sources":["../../src/routes/prompt-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC,CAAC;IAEJ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC,CAAC;IAEJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"prompt-versions.js","sourceRoot":"","sources":["../../src/routes/prompt-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAEnB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;YACnD,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC,CAAC;IAEJ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aAC/D;SACF,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -249,7 +249,12 @@ async function executeAgentLoop(ctx) {
249
249
  },
250
250
  });
251
251
  }
252
- if (!validation.allPassed) {
252
+ if (validation.allPassed) {
253
+ finished = true;
254
+ success = true;
255
+ summary = 'Validation passed';
256
+ }
257
+ else {
253
258
  finished = true;
254
259
  success = false;
255
260
  summary = 'Validation failed';
@@ -285,6 +290,23 @@ async function executeAgentLoop(ctx) {
285
290
  await addTrace(ctx, 'tool', result.output, undefined, stepId);
286
291
  toolResults.push({ toolCallId: call.id, output: result.output });
287
292
  stepIndex++;
293
+ // Auto-validate after edits or file creation. If validation passes, finish immediately.
294
+ if (result.success && (call.name === 'edit_file' || call.name === 'write_file')) {
295
+ const autoValidateSpan = ctx.tracer.startSpan('agent.auto_validate', ctx.rootSpan.toContext());
296
+ const validation = await validateProject(ctx.projectPath);
297
+ await ctx.prisma.agentRun.update({
298
+ where: { id: ctx.agentRunId },
299
+ data: { validationSummary: JSON.stringify(validation) },
300
+ });
301
+ autoValidateSpan.setAttributes({ allPassed: validation.allPassed });
302
+ await autoValidateSpan.end(validation.allPassed ? 'ok' : 'error');
303
+ if (validation.allPassed) {
304
+ finished = true;
305
+ success = true;
306
+ summary = 'Validation passed';
307
+ break;
308
+ }
309
+ }
288
310
  }
289
311
  prompt = buildToolResultPrompt(ctx.task, toolResults);
290
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export { runAgentTask, type AgentResult } from './executor.js';
2
2
  export { createPlan, type PlanStep, type PlannerResult } from './planner.js';
3
3
  export { validateProject, type ValidationSummary } from './validator.js';
4
4
  export { publishOmega, type PublishResult } from './publisher.js';
5
- export * from './prompt-versioning.js';
5
+ export { loadCurrentPrompts, saveCurrentPrompts, readPromptsSource, hashPrompts, envForPrompts, type PromptVersionInput, } from './prompt-versioning.js';
6
6
  export * from './git.js';
7
7
  export * from './tools.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -2,7 +2,7 @@ export { runAgentTask } from './executor.js';
2
2
  export { createPlan } from './planner.js';
3
3
  export { validateProject } from './validator.js';
4
4
  export { publishOmega } from './publisher.js';
5
- export * from './prompt-versioning.js';
5
+ export { loadCurrentPrompts, saveCurrentPrompts, readPromptsSource, hashPrompts, envForPrompts, } from './prompt-versioning.js';
6
6
  export * from './git.js';
7
7
  export * from './tools.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAqC,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAA0B,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAqC,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,eAAe,EAA0B,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,aAAa,GAEd,MAAM,wBAAwB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const AGENT_SYSTEM_PROMPT: string;
2
- export declare const FORCE_ACTION_PROMPT = "You have been thinking without taking action. Stop describing plans and execute the next concrete step using a tool. Use edit_file or run_command.";
2
+ export declare const FORCE_ACTION_PROMPT = "You have been thinking without taking action. Stop describing plans and execute the next concrete step using a tool. Use edit_file, publish, or run_command.";
3
3
  export declare const TEXT_TOOLS_SYSTEM_PROMPT: string;
4
4
  export declare function buildSystemPrompt(context?: string): string;
5
5
  export declare function buildTextToolsSystemPrompt(context?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB,QAgCsF,CAAC;AAEvH,eAAO,MAAM,mBAAmB,uJAAuJ,CAAC;AAExL,eAAO,MAAM,wBAAwB,QAkCjC,CAAC;AAEL,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAChD,MAAM,CAOR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB,QA+C+D,CAAC;AAEhG,eAAO,MAAM,mBAAmB,iKAAiK,CAAC;AAElM,eAAO,MAAM,wBAAwB,QAuCjC,CAAC;AAEL,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GAChD,MAAM,CAQR"}
@@ -28,26 +28,41 @@ Available tools:
28
28
  - run_command: Run a single simple command. No pipes (|), &&, ;, redirects, or globs. Prefer pnpm/npm/node. Arguments: { "command": "pnpm lint" }
29
29
  - think: Record a reasoning step. Arguments: { "thought": "..." }
30
30
  - finish: Mark the task complete. Arguments: { "summary": "what was done", "success": true }. Use summary, not message.
31
- - publish: Run build/test/publish validation. Only after your edits pass validation. Arguments: { "version": "optional" }
31
+ - publish: Run lint/test/build validation in one step. This is the preferred validation tool. Arguments: { "version": "optional" }
32
32
 
33
33
  Rules:
34
34
  1. Read the task, then use think to plan.
35
35
  2. Use edit_file for small changes; write_file only when creating a file or rewriting most of it.
36
36
  3. ALWAYS read a file with read_file before using edit_file on it. Do NOT read a file before write_file when creating a new file.
37
37
  4. Before creating JavaScript files, read package.json to check whether "type" is "module" and use ESM (export) or CommonJS (module.exports) accordingly.
38
- 5. You MUST run validation (pnpm lint, pnpm test, or the project's validation command) after every edit using publish or run_command.
39
- 6. Do NOT call finish until validation passes. If validation fails, fix the issue and re-run validation.
40
- 7. Do not expose secrets or run destructive commands.
41
- 8. Finish only when the task is done. Always include summary and success.
42
- 9. Do not repeat the same tool call with the same arguments. If something fails, change your approach.
43
- 10. Do not ask the user for clarification. Do not say "No task was provided". Use the Task and Description above to proceed.
38
+ 5. Immediately after making any edit, call publish to run validation. Do not read more files, do not think, and do not call finish before validating.
39
+ 6. If validation fails, fix the issue and call publish again. Repeat until validation passes.
40
+ 7. Do NOT call finish until validation passes. If you call finish without validation, the task will fail.
41
+ 8. Do not expose secrets or run destructive commands.
42
+ 9. Finish only when the task is done. Always include summary and success.
43
+ 10. Do not repeat the same tool call with the same arguments. If something fails, change your approach.
44
+ 11. Do not ask the user for clarification. Do not say "No task was provided". Use the Task and Description above to proceed.
45
+ 12. You have a limited number of steps. If you spend too many steps reading or planning without validating, the task will fail.
46
+ 13. NEVER read the same file twice in a row. Once you have read a file, the next step must be edit_file, write_file, run_command, or publish.
47
+ 14. If you already know what change to make, do not read additional files. Edit and validate immediately.
48
+ 15. The think tool is for planning only. After thinking, you must use a concrete action tool next, not think or read_file again.
49
+ 16. When publish reports allPassed=true, call finish with success=true immediately. Do not make additional edits or run extra commands.
50
+ 17. Do NOT modify test files (test.js, *.test.js, *.spec.js) unless the task explicitly tells you to update the test.
51
+ 18. If a task asks you to read a test to find an import path or expected output, read the test file once and then create the required source file. Do not modify the test.
44
52
 
45
53
  Example tool call sequence for "Add a greet function":
46
54
  1. think: { "thought": "I need to create greet.js and export a greet function." }
47
- 2. write_file: { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\n" }
55
+ 2. write_file: { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\\n" }
48
56
  3. publish: { }
49
- 4. finish: { "summary": "Created greet.js with greet(name) function and verified it passes tests.", "success": true }`;
50
- export const FORCE_ACTION_PROMPT = `You have been thinking without taking action. Stop describing plans and execute the next concrete step using a tool. Use edit_file or run_command.`;
57
+ 4. finish: { "summary": "Created greet.js with greet(name) function and verified it passes tests.", "success": true }
58
+
59
+ Example tool call sequence for "Fix a lint warning":
60
+ 1. think: { "thought": "The linter flags var. I need to read src/index.js and replace var with const or let." }
61
+ 2. read_file: { "path": "src/index.js" }
62
+ 3. edit_file: { "path": "src/index.js", "old_string": "var greeting = 'Hello';", "new_string": "const greeting = 'Hello';" }
63
+ 4. publish: { }
64
+ 5. finish: { "summary": "Replaced var with const and verified lint passes.", "success": true }`;
65
+ export const FORCE_ACTION_PROMPT = `You have been thinking without taking action. Stop describing plans and execute the next concrete step using a tool. Use edit_file, publish, or run_command.`;
51
66
  export const TEXT_TOOLS_SYSTEM_PROMPT = loadPromptFromEnv('OMEGA_TEXT_TOOLS_PROMPT') ??
52
67
  `You are Omega, an autonomous software engineering agent running inside a project repository.
53
68
 
@@ -68,17 +83,22 @@ Rules:
68
83
  - Use edit_file for small changes; write_file only for new files or large rewrites.
69
84
  - ALWAYS read a file with read_file before using edit_file on it. Do NOT read a file before write_file when creating a new file.
70
85
  - Before creating JavaScript files, read package.json to check whether "type" is "module" and use ESM (export) or CommonJS (module.exports) accordingly.
71
- - You MUST run validation (pnpm lint, pnpm test, or the project's validation command) after every edit using publish or run_command.
72
- - Do NOT call finish until validation passes. If validation fails, fix the issue and re-run validation.
86
+ - Immediately after making any edit, call publish to run validation. Do not read more files or call finish before validating.
87
+ - If validation fails, fix the issue and call publish again.
88
+ - Do NOT call finish until validation passes.
73
89
  - Do not expose secrets or run destructive commands.
74
90
  - Finish only when done. Use summary, not message.
75
91
  - Do not repeat the same tool call with the same arguments.
76
92
  - Do not ask the user for clarification. Do not say "No task was provided". Use the Task and Description above to proceed.
93
+ - NEVER read the same file twice in a row. Once read, the next step must edit, write, run_command, or publish.
94
+ - The think tool is for planning only. After thinking, use a concrete action tool next.
95
+ - When publish reports allPassed=true, call finish with success=true immediately.
96
+ - Do NOT modify test files unless the task explicitly tells you to update the test.
77
97
 
78
98
  Example response for "Add a greet function":
79
99
  { "tool_calls": [
80
100
  { "id": "1", "name": "think", "arguments": { "thought": "Create greet.js with greet(name)." } },
81
- { "id": "2", "name": "write_file", "arguments": { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\n" } },
101
+ { "id": "2", "name": "write_file", "arguments": { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\\n" } },
82
102
  { "id": "3", "name": "publish", "arguments": {} },
83
103
  { "id": "4", "name": "finish", "arguments": { "summary": "Created greet.js and verified tests pass.", "success": true } }
84
104
  ] }`;
@@ -104,6 +124,7 @@ export function buildToolResultPrompt(task, results) {
104
124
  if (task.description)
105
125
  taskReminder.push(`Description: ${task.description}`);
106
126
  taskReminder.push('Do not ask for clarification. Use the tools to complete the task.');
127
+ taskReminder.push('If you just read a file, your next step must be edit_file, write_file, run_command, or publish. Do not read the same file again.');
107
128
  return `${taskReminder.join('\n')}\n\nTool results:\n${results
108
129
  .map((r) => `[${r.toolCallId}]\n${r.output}`)
109
130
  .join('\n\n')}\n\nDecide the next tool call(s).`;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC9B,iBAAiB,CAAC,qBAAqB,CAAC;IACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sHA8BoH,CAAC;AAEvH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oJAAoJ,CAAC;AAExL,MAAM,CAAC,MAAM,wBAAwB,GACnC,iBAAiB,CAAC,yBAAyB,CAAC;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCE,CAAC;AAEL,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACxE,OAAO,GAAG,mBAAmB,YAAY,OAAO,OAAO,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAC7E,OAAO,GAAG,wBAAwB,YAAY,OAAO,OAAO,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,WAAoB;IACjE,MAAM,KAAK,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IACjC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAA6C,EAC7C,OAAiD;IAEjD,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACvF,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,OAAO;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5C,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC9B,iBAAiB,CAAC,qBAAqB,CAAC;IACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FA6C6F,CAAC;AAEhG,MAAM,CAAC,MAAM,mBAAmB,GAAG,8JAA8J,CAAC;AAElM,MAAM,CAAC,MAAM,wBAAwB,GACnC,iBAAiB,CAAC,yBAAyB,CAAC;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCE,CAAC;AAEL,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACxE,OAAO,GAAG,mBAAmB,YAAY,OAAO,OAAO,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAC7E,OAAO,GAAG,wBAAwB,YAAY,OAAO,OAAO,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,WAAoB;IACjE,MAAM,KAAK,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IACjC,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAA6C,EAC7C,OAAiD;IAEjD,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,YAAY,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,CAAC,kIAAkI,CAAC,CAAC;IACtJ,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,OAAO;SAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;SAC5C,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;AACrD,CAAC"}
File without changes
File without changes
File without changes
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  -42
2
2
  /pglite/data
3
- 1783143868
3
+ 1783157723
4
4
  5432
5
5
 
6
6
 
@@ -7,7 +7,7 @@ import { providerRoutes } from './routes/providers.js';
7
7
  import { routerRoutes } from './routes/router.js';
8
8
  import { metricsRoutes } from './routes/metrics.js';
9
9
  import { promptVersionRoutes } from './routes/prompt-versions.js';
10
- import { reportRoutes } from './routes/reports.js';
10
+ import { benchmarkRoutes } from './routes/benchmarks.js';
11
11
 
12
12
  export const app: express.Express = express();
13
13
 
@@ -20,7 +20,7 @@ app.use('/providers', providerRoutes(prisma));
20
20
  app.use('/router', routerRoutes(prisma));
21
21
  app.use('/metrics', metricsRoutes(prisma));
22
22
  app.use('/prompt-versions', promptVersionRoutes(prisma));
23
- app.use('/reports', reportRoutes());
23
+ app.use('/benchmarks', benchmarkRoutes(prisma));
24
24
 
25
25
  app.use((err: unknown, _req: express.Request, res: express.Response, _next: express.NextFunction) => {
26
26
  console.error(err);
@@ -0,0 +1,150 @@
1
+ import { Router } from 'express';
2
+ import type { PrismaClient } from '@omega/db';
3
+ import fs from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { spawn } from 'node:child_process';
6
+ import { z } from 'zod';
7
+ import { asyncHandler } from '../lib/async-handler.js';
8
+
9
+ const root = process.cwd();
10
+ const reportsDir = path.join(root, '.omega', 'reports');
11
+ const statusFile = path.join(root, '.omega', 'bench-run-status.json');
12
+
13
+ const runSchema = z.object({
14
+ suite: z.enum(['synthetic', 'deep-swe']).optional(),
15
+ nTasks: z.number().int().positive().optional(),
16
+ provider: z.string().optional(),
17
+ model: z.string().optional(),
18
+ timeout: z.number().int().positive().optional(),
19
+ });
20
+
21
+ interface RunStatus {
22
+ running: boolean;
23
+ pid?: number;
24
+ output?: string;
25
+ }
26
+
27
+ async function readStatus(): Promise<RunStatus> {
28
+ try {
29
+ const raw = await fs.readFile(statusFile, 'utf-8');
30
+ return JSON.parse(raw) as RunStatus;
31
+ } catch {
32
+ return { running: false };
33
+ }
34
+ }
35
+
36
+ async function writeStatus(status: RunStatus): Promise<void> {
37
+ await fs.mkdir(path.dirname(statusFile), { recursive: true });
38
+ await fs.writeFile(statusFile, JSON.stringify(status, null, 2), 'utf-8');
39
+ }
40
+
41
+ function isReportFile(name: string, prefix: string): boolean {
42
+ return name.startsWith(prefix) && name.endsWith('.json');
43
+ }
44
+
45
+ async function listReports(prefix: string): Promise<string[]> {
46
+ try {
47
+ const files = await fs.readdir(reportsDir);
48
+ return files
49
+ .filter((f) => isReportFile(f, prefix))
50
+ .sort()
51
+ .reverse();
52
+ } catch {
53
+ return [];
54
+ }
55
+ }
56
+
57
+ export function benchmarkRoutes(_prisma: PrismaClient): Router {
58
+ const r = Router();
59
+
60
+ r.get('/reports', asyncHandler(async (_req, res) => {
61
+ const [benchmark, ab] = await Promise.all([
62
+ listReports('benchmark-'),
63
+ listReports('ab-'),
64
+ ]);
65
+ res.json({ benchmark, ab });
66
+ }));
67
+
68
+ r.get('/reports/:file', asyncHandler(async (req, res) => {
69
+ const file = req.params.file;
70
+ if (!isReportFile(file, 'benchmark-') && !isReportFile(file, 'ab-')) {
71
+ res.status(400).json({ error: 'Invalid report file' });
72
+ return;
73
+ }
74
+ const filePath = path.join(reportsDir, file);
75
+ const resolved = path.resolve(filePath);
76
+ const resolvedReportsDir = path.resolve(reportsDir);
77
+ if (!resolved.startsWith(resolvedReportsDir + path.sep) && resolved !== resolvedReportsDir) {
78
+ res.status(400).json({ error: 'Invalid report path' });
79
+ return;
80
+ }
81
+ try {
82
+ const raw = await fs.readFile(filePath, 'utf-8');
83
+ const data = JSON.parse(raw) as unknown;
84
+ res.json(data);
85
+ } catch {
86
+ res.status(404).json({ error: 'Report not found' });
87
+ }
88
+ }));
89
+
90
+ r.post('/run', asyncHandler(async (req, res) => {
91
+ const body = runSchema.parse(req.body);
92
+ const status = await readStatus();
93
+ if (status.running) {
94
+ res.status(409).json({ error: 'Benchmark run already in progress', pid: status.pid });
95
+ return;
96
+ }
97
+
98
+ const args = ['apps/cli/dist/index.js', 'bench', 'run'];
99
+ if (body.suite) {
100
+ args.push('--suite', body.suite);
101
+ }
102
+ if (body.nTasks) {
103
+ args.push('--n-tasks', String(body.nTasks));
104
+ }
105
+ if (body.timeout) {
106
+ args.push('--timeout', String(body.timeout));
107
+ }
108
+ if (body.provider) {
109
+ args.push('--provider', body.provider);
110
+ }
111
+ if (body.model) {
112
+ args.push('--model', body.model);
113
+ }
114
+
115
+ const child = spawn('node', args, {
116
+ cwd: root,
117
+ detached: true,
118
+ stdio: ['ignore', 'pipe', 'pipe'],
119
+ });
120
+
121
+ let output = '';
122
+ child.stdout.on('data', (chunk: Buffer) => {
123
+ output += chunk.toString();
124
+ });
125
+ child.stderr.on('data', (chunk: Buffer) => {
126
+ output += chunk.toString();
127
+ });
128
+
129
+ child.on('exit', () => {
130
+ void (async () => {
131
+ const current = await readStatus();
132
+ if (current.pid === child.pid) {
133
+ await writeStatus({ running: false, output });
134
+ }
135
+ })();
136
+ });
137
+
138
+ child.unref();
139
+
140
+ await writeStatus({ running: true, pid: child.pid, output: '' });
141
+ res.status(202).json({ pid: child.pid, status: 'started' });
142
+ }));
143
+
144
+ r.get('/run-status', asyncHandler(async (_req, res) => {
145
+ const status = await readStatus();
146
+ res.json(status);
147
+ }));
148
+
149
+ return r;
150
+ }