@castlemilk/omega 0.6.19 → 0.6.21
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.
- package/dist/cli.js +293 -850
- package/dist/server/dist/app.d.ts.map +1 -1
- package/dist/server/dist/app.js +4 -2
- package/dist/server/dist/app.js.map +1 -1
- package/dist/server/dist/grpc.js +1 -1
- package/dist/server/dist/grpc.js.map +1 -1
- package/dist/server/dist/index.js +14 -0
- package/dist/server/dist/index.js.map +1 -1
- package/dist/server/dist/lib/run-task.d.ts +8 -1
- package/dist/server/dist/lib/run-task.d.ts.map +1 -1
- package/dist/server/dist/lib/run-task.js +19 -1
- package/dist/server/dist/lib/run-task.js.map +1 -1
- package/dist/server/dist/routes/metrics.d.ts.map +1 -1
- package/dist/server/dist/routes/metrics.js +3 -1
- package/dist/server/dist/routes/metrics.js.map +1 -1
- package/dist/server/dist/routes/prompt-versions.d.ts.map +1 -1
- package/dist/server/dist/routes/prompt-versions.js +16 -0
- package/dist/server/dist/routes/prompt-versions.js.map +1 -1
- package/dist/server/dist/routes/tasks.d.ts.map +1 -1
- package/dist/server/dist/routes/tasks.js +4 -2
- package/dist/server/dist/routes/tasks.js.map +1 -1
- package/dist/server/node_modules/.package-lock.json +12 -0
- package/dist/server/node_modules/@omega/agent/dist/executor.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/executor.js +505 -92
- package/dist/server/node_modules/@omega/agent/dist/executor.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/git.d.ts +3 -0
- package/dist/server/node_modules/@omega/agent/dist/git.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/git.js +33 -3
- package/dist/server/node_modules/@omega/agent/dist/git.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/index.d.ts +0 -1
- package/dist/server/node_modules/@omega/agent/dist/index.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/index.js +0 -1
- package/dist/server/node_modules/@omega/agent/dist/index.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/lsp/client.d.ts +68 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/client.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/client.js +239 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/client.js.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/index.d.ts +3 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/index.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/index.js +3 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/index.js.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/registry.d.ts +10 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/registry.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/registry.js +53 -0
- package/dist/server/node_modules/@omega/agent/dist/lsp/registry.js.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/planner.d.ts +3 -2
- package/dist/server/node_modules/@omega/agent/dist/planner.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/planner.js +11 -6
- package/dist/server/node_modules/@omega/agent/dist/planner.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-context.d.ts +1 -0
- package/dist/server/node_modules/@omega/agent/dist/prompt-context.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-context.js +78 -4
- package/dist/server/node_modules/@omega/agent/dist/prompt-context.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.d.ts +3 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.js +32 -13
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts +5 -1
- package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompts.js +122 -78
- package/dist/server/node_modules/@omega/agent/dist/prompts.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/skill-resolver.d.ts +10 -0
- package/dist/server/node_modules/@omega/agent/dist/skill-resolver.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/skill-resolver.js +213 -0
- package/dist/server/node_modules/@omega/agent/dist/skill-resolver.js.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/tool-definitions.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/tool-definitions.js +71 -0
- package/dist/server/node_modules/@omega/agent/dist/tool-definitions.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/tools.d.ts +8 -0
- package/dist/server/node_modules/@omega/agent/dist/tools.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/tools.js +392 -9
- package/dist/server/node_modules/@omega/agent/dist/tools.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/validator.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/validator.js +3 -2
- package/dist/server/node_modules/@omega/agent/dist/validator.js.map +1 -1
- package/dist/server/node_modules/@omega/core/dist/agent.d.ts +1 -0
- package/dist/server/node_modules/@omega/core/dist/agent.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/core/dist/provider.d.ts +21 -0
- package/dist/server/node_modules/@omega/core/dist/provider.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/index.d.ts +0 -1
- package/dist/server/node_modules/@omega/db/dist/index.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/index.js +0 -1
- package/dist/server/node_modules/@omega/db/dist/index.js.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.d.ts +4 -0
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.js +9 -0
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.js.map +1 -1
- package/dist/server/node_modules/@omega/db/generated/client/edge.js +10 -3
- package/dist/server/node_modules/@omega/db/generated/client/index-browser.js +7 -0
- package/dist/server/node_modules/@omega/db/generated/client/index.d.ts +824 -1
- package/dist/server/node_modules/@omega/db/generated/client/index.js +10 -3
- package/dist/server/node_modules/@omega/db/generated/client/package.json +1 -1
- package/dist/server/node_modules/@omega/db/generated/client/schema.prisma +18 -8
- package/dist/server/node_modules/@omega/db/generated/client/wasm.js +10 -3
- package/dist/server/node_modules/@omega/db/prisma/migrations/20260704130000_prompt_version_scores/migration.sql +13 -0
- package/dist/server/node_modules/@omega/providers/dist/anthropic.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/anthropic.js +10 -0
- package/dist/server/node_modules/@omega/providers/dist/anthropic.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/gemini.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/gemini.js +8 -0
- package/dist/server/node_modules/@omega/providers/dist/gemini.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/ollama.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/ollama.js +8 -0
- package/dist/server/node_modules/@omega/providers/dist/ollama.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/openai.d.ts +1 -0
- package/dist/server/node_modules/@omega/providers/dist/openai.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/openai.js +88 -22
- package/dist/server/node_modules/@omega/providers/dist/openai.js.map +1 -1
- package/dist/server/node_modules/@omega/router/dist/rules.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/router/dist/rules.js +8 -0
- package/dist/server/node_modules/@omega/router/dist/rules.js.map +1 -1
- package/dist/server/node_modules/dotenv/CHANGELOG.md +643 -0
- package/dist/server/node_modules/dotenv/LICENSE +23 -0
- package/dist/server/node_modules/dotenv/README-es.md +757 -0
- package/dist/server/node_modules/dotenv/README.md +812 -0
- package/dist/server/node_modules/dotenv/SECURITY.md +1 -0
- package/dist/server/node_modules/dotenv/config.d.ts +1 -0
- package/dist/server/node_modules/dotenv/config.js +9 -0
- package/dist/server/node_modules/dotenv/lib/cli-options.js +17 -0
- package/dist/server/node_modules/dotenv/lib/env-options.js +28 -0
- package/dist/server/node_modules/dotenv/lib/main.d.ts +179 -0
- package/dist/server/node_modules/dotenv/lib/main.js +423 -0
- package/dist/server/node_modules/dotenv/package.json +62 -0
- package/dist/server/node_modules/dotenv/skills/dotenv/SKILL.md +200 -0
- package/dist/server/node_modules/dotenv/skills/dotenvx/SKILL.md +118 -0
- package/dist/server/package.json +1 -0
- package/dist/server/web/assets/index-BiAMtCPr.css +1 -0
- package/dist/{web/dist/assets/index-D-wO1mM7.js → server/web/assets/index-sYmFKhPv.js} +5 -5
- package/dist/{web/dist → server/web}/index.html +2 -2
- package/dist/web/assets/index-BiAMtCPr.css +1 -0
- package/dist/web/{dist/assets/index-B2af4AQD.js → assets/index-sYmFKhPv.js} +6 -6
- package/dist/web/index.html +2 -2
- package/package.json +6 -4
- package/dist/server/pglite-data/PG_VERSION +0 -1
- package/dist/server/pglite-data/base/1/112 +0 -0
- package/dist/server/pglite-data/base/1/113 +0 -0
- package/dist/server/pglite-data/base/1/1247 +0 -0
- package/dist/server/pglite-data/base/1/1247_fsm +0 -0
- package/dist/server/pglite-data/base/1/1247_vm +0 -0
- package/dist/server/pglite-data/base/1/1249 +0 -0
- package/dist/server/pglite-data/base/1/1249_fsm +0 -0
- package/dist/server/pglite-data/base/1/1249_vm +0 -0
- package/dist/server/pglite-data/base/1/1255 +0 -0
- package/dist/server/pglite-data/base/1/1255_fsm +0 -0
- package/dist/server/pglite-data/base/1/1255_vm +0 -0
- package/dist/server/pglite-data/base/1/1259 +0 -0
- package/dist/server/pglite-data/base/1/1259_fsm +0 -0
- package/dist/server/pglite-data/base/1/1259_vm +0 -0
- package/dist/server/pglite-data/base/1/12607 +0 -0
- package/dist/server/pglite-data/base/1/12607_fsm +0 -0
- package/dist/server/pglite-data/base/1/12607_vm +0 -0
- package/dist/server/pglite-data/base/1/12610 +0 -0
- package/dist/server/pglite-data/base/1/12611 +0 -0
- package/dist/server/pglite-data/base/1/12612 +0 -0
- package/dist/server/pglite-data/base/1/12612_fsm +0 -0
- package/dist/server/pglite-data/base/1/12612_vm +0 -0
- package/dist/server/pglite-data/base/1/12615 +0 -0
- package/dist/server/pglite-data/base/1/12616 +0 -0
- package/dist/server/pglite-data/base/1/12617 +0 -0
- package/dist/server/pglite-data/base/1/12617_fsm +0 -0
- package/dist/server/pglite-data/base/1/12617_vm +0 -0
- package/dist/server/pglite-data/base/1/12620 +0 -0
- package/dist/server/pglite-data/base/1/12621 +0 -0
- package/dist/server/pglite-data/base/1/12622 +0 -0
- package/dist/server/pglite-data/base/1/12622_fsm +0 -0
- package/dist/server/pglite-data/base/1/12622_vm +0 -0
- package/dist/server/pglite-data/base/1/12625 +0 -0
- package/dist/server/pglite-data/base/1/12626 +0 -0
- package/dist/server/pglite-data/base/1/1417 +0 -0
- package/dist/server/pglite-data/base/1/1418 +0 -0
- package/dist/server/pglite-data/base/1/174 +0 -0
- package/dist/server/pglite-data/base/1/175 +0 -0
- package/dist/server/pglite-data/base/1/2187 +0 -0
- package/dist/server/pglite-data/base/1/2224 +0 -0
- package/dist/server/pglite-data/base/1/2228 +0 -0
- package/dist/server/pglite-data/base/1/2328 +0 -0
- package/dist/server/pglite-data/base/1/2336 +0 -0
- package/dist/server/pglite-data/base/1/2337 +0 -0
- package/dist/server/pglite-data/base/1/2579 +0 -0
- package/dist/server/pglite-data/base/1/2600 +0 -0
- package/dist/server/pglite-data/base/1/2600_fsm +0 -0
- package/dist/server/pglite-data/base/1/2600_vm +0 -0
- package/dist/server/pglite-data/base/1/2601 +0 -0
- package/dist/server/pglite-data/base/1/2601_fsm +0 -0
- package/dist/server/pglite-data/base/1/2601_vm +0 -0
- package/dist/server/pglite-data/base/1/2602 +0 -0
- package/dist/server/pglite-data/base/1/2602_fsm +0 -0
- package/dist/server/pglite-data/base/1/2602_vm +0 -0
- package/dist/server/pglite-data/base/1/2603 +0 -0
- package/dist/server/pglite-data/base/1/2603_fsm +0 -0
- package/dist/server/pglite-data/base/1/2603_vm +0 -0
- package/dist/server/pglite-data/base/1/2604 +0 -0
- package/dist/server/pglite-data/base/1/2605 +0 -0
- package/dist/server/pglite-data/base/1/2605_fsm +0 -0
- package/dist/server/pglite-data/base/1/2605_vm +0 -0
- package/dist/server/pglite-data/base/1/2606 +0 -0
- package/dist/server/pglite-data/base/1/2606_fsm +0 -0
- package/dist/server/pglite-data/base/1/2606_vm +0 -0
- package/dist/server/pglite-data/base/1/2607 +0 -0
- package/dist/server/pglite-data/base/1/2607_fsm +0 -0
- package/dist/server/pglite-data/base/1/2607_vm +0 -0
- package/dist/server/pglite-data/base/1/2608 +0 -0
- package/dist/server/pglite-data/base/1/2608_fsm +0 -0
- package/dist/server/pglite-data/base/1/2608_vm +0 -0
- package/dist/server/pglite-data/base/1/2609 +0 -0
- package/dist/server/pglite-data/base/1/2609_fsm +0 -0
- package/dist/server/pglite-data/base/1/2609_vm +0 -0
- package/dist/server/pglite-data/base/1/2610 +0 -0
- package/dist/server/pglite-data/base/1/2610_fsm +0 -0
- package/dist/server/pglite-data/base/1/2610_vm +0 -0
- package/dist/server/pglite-data/base/1/2611 +0 -0
- package/dist/server/pglite-data/base/1/2612 +0 -0
- package/dist/server/pglite-data/base/1/2612_fsm +0 -0
- package/dist/server/pglite-data/base/1/2612_vm +0 -0
- package/dist/server/pglite-data/base/1/2613 +0 -0
- package/dist/server/pglite-data/base/1/2615 +0 -0
- package/dist/server/pglite-data/base/1/2615_fsm +0 -0
- package/dist/server/pglite-data/base/1/2615_vm +0 -0
- package/dist/server/pglite-data/base/1/2616 +0 -0
- package/dist/server/pglite-data/base/1/2616_fsm +0 -0
- package/dist/server/pglite-data/base/1/2616_vm +0 -0
- package/dist/server/pglite-data/base/1/2617 +0 -0
- package/dist/server/pglite-data/base/1/2617_fsm +0 -0
- package/dist/server/pglite-data/base/1/2617_vm +0 -0
- package/dist/server/pglite-data/base/1/2618 +0 -0
- package/dist/server/pglite-data/base/1/2618_fsm +0 -0
- package/dist/server/pglite-data/base/1/2618_vm +0 -0
- package/dist/server/pglite-data/base/1/2619 +0 -0
- package/dist/server/pglite-data/base/1/2619_fsm +0 -0
- package/dist/server/pglite-data/base/1/2619_vm +0 -0
- package/dist/server/pglite-data/base/1/2620 +0 -0
- package/dist/server/pglite-data/base/1/2650 +0 -0
- package/dist/server/pglite-data/base/1/2651 +0 -0
- package/dist/server/pglite-data/base/1/2652 +0 -0
- package/dist/server/pglite-data/base/1/2653 +0 -0
- package/dist/server/pglite-data/base/1/2654 +0 -0
- package/dist/server/pglite-data/base/1/2655 +0 -0
- package/dist/server/pglite-data/base/1/2656 +0 -0
- package/dist/server/pglite-data/base/1/2657 +0 -0
- package/dist/server/pglite-data/base/1/2658 +0 -0
- package/dist/server/pglite-data/base/1/2659 +0 -0
- package/dist/server/pglite-data/base/1/2660 +0 -0
- package/dist/server/pglite-data/base/1/2661 +0 -0
- package/dist/server/pglite-data/base/1/2662 +0 -0
- package/dist/server/pglite-data/base/1/2663 +0 -0
- package/dist/server/pglite-data/base/1/2664 +0 -0
- package/dist/server/pglite-data/base/1/2665 +0 -0
- package/dist/server/pglite-data/base/1/2666 +0 -0
- package/dist/server/pglite-data/base/1/2667 +0 -0
- package/dist/server/pglite-data/base/1/2668 +0 -0
- package/dist/server/pglite-data/base/1/2669 +0 -0
- package/dist/server/pglite-data/base/1/2670 +0 -0
- package/dist/server/pglite-data/base/1/2673 +0 -0
- package/dist/server/pglite-data/base/1/2674 +0 -0
- package/dist/server/pglite-data/base/1/2675 +0 -0
- package/dist/server/pglite-data/base/1/2678 +0 -0
- package/dist/server/pglite-data/base/1/2679 +0 -0
- package/dist/server/pglite-data/base/1/2680 +0 -0
- package/dist/server/pglite-data/base/1/2681 +0 -0
- package/dist/server/pglite-data/base/1/2682 +0 -0
- package/dist/server/pglite-data/base/1/2683 +0 -0
- package/dist/server/pglite-data/base/1/2684 +0 -0
- package/dist/server/pglite-data/base/1/2685 +0 -0
- package/dist/server/pglite-data/base/1/2686 +0 -0
- package/dist/server/pglite-data/base/1/2687 +0 -0
- package/dist/server/pglite-data/base/1/2688 +0 -0
- package/dist/server/pglite-data/base/1/2689 +0 -0
- package/dist/server/pglite-data/base/1/2690 +0 -0
- package/dist/server/pglite-data/base/1/2691 +0 -0
- package/dist/server/pglite-data/base/1/2692 +0 -0
- package/dist/server/pglite-data/base/1/2693 +0 -0
- package/dist/server/pglite-data/base/1/2696 +0 -0
- package/dist/server/pglite-data/base/1/2699 +0 -0
- package/dist/server/pglite-data/base/1/2701 +0 -0
- package/dist/server/pglite-data/base/1/2702 +0 -0
- package/dist/server/pglite-data/base/1/2703 +0 -0
- package/dist/server/pglite-data/base/1/2704 +0 -0
- package/dist/server/pglite-data/base/1/2753 +0 -0
- package/dist/server/pglite-data/base/1/2753_fsm +0 -0
- package/dist/server/pglite-data/base/1/2753_vm +0 -0
- package/dist/server/pglite-data/base/1/2754 +0 -0
- package/dist/server/pglite-data/base/1/2755 +0 -0
- package/dist/server/pglite-data/base/1/2756 +0 -0
- package/dist/server/pglite-data/base/1/2757 +0 -0
- package/dist/server/pglite-data/base/1/2830 +0 -0
- package/dist/server/pglite-data/base/1/2831 +0 -0
- package/dist/server/pglite-data/base/1/2832 +0 -0
- package/dist/server/pglite-data/base/1/2833 +0 -0
- package/dist/server/pglite-data/base/1/2834 +0 -0
- package/dist/server/pglite-data/base/1/2835 +0 -0
- package/dist/server/pglite-data/base/1/2836 +0 -0
- package/dist/server/pglite-data/base/1/2836_fsm +0 -0
- package/dist/server/pglite-data/base/1/2836_vm +0 -0
- package/dist/server/pglite-data/base/1/2837 +0 -0
- package/dist/server/pglite-data/base/1/2838 +0 -0
- package/dist/server/pglite-data/base/1/2838_fsm +0 -0
- package/dist/server/pglite-data/base/1/2838_vm +0 -0
- package/dist/server/pglite-data/base/1/2839 +0 -0
- package/dist/server/pglite-data/base/1/2840 +0 -0
- package/dist/server/pglite-data/base/1/2840_fsm +0 -0
- package/dist/server/pglite-data/base/1/2840_vm +0 -0
- package/dist/server/pglite-data/base/1/2841 +0 -0
- package/dist/server/pglite-data/base/1/2995 +0 -0
- package/dist/server/pglite-data/base/1/2996 +0 -0
- package/dist/server/pglite-data/base/1/3079 +0 -0
- package/dist/server/pglite-data/base/1/3079_fsm +0 -0
- package/dist/server/pglite-data/base/1/3079_vm +0 -0
- package/dist/server/pglite-data/base/1/3080 +0 -0
- package/dist/server/pglite-data/base/1/3081 +0 -0
- package/dist/server/pglite-data/base/1/3085 +0 -0
- package/dist/server/pglite-data/base/1/3118 +0 -0
- package/dist/server/pglite-data/base/1/3119 +0 -0
- package/dist/server/pglite-data/base/1/3164 +0 -0
- package/dist/server/pglite-data/base/1/3256 +0 -0
- package/dist/server/pglite-data/base/1/3257 +0 -0
- package/dist/server/pglite-data/base/1/3258 +0 -0
- package/dist/server/pglite-data/base/1/3350 +0 -0
- package/dist/server/pglite-data/base/1/3351 +0 -0
- package/dist/server/pglite-data/base/1/3379 +0 -0
- package/dist/server/pglite-data/base/1/3380 +0 -0
- package/dist/server/pglite-data/base/1/3381 +0 -0
- package/dist/server/pglite-data/base/1/3394 +0 -0
- package/dist/server/pglite-data/base/1/3394_fsm +0 -0
- package/dist/server/pglite-data/base/1/3394_vm +0 -0
- package/dist/server/pglite-data/base/1/3395 +0 -0
- package/dist/server/pglite-data/base/1/3429 +0 -0
- package/dist/server/pglite-data/base/1/3430 +0 -0
- package/dist/server/pglite-data/base/1/3431 +0 -0
- package/dist/server/pglite-data/base/1/3433 +0 -0
- package/dist/server/pglite-data/base/1/3439 +0 -0
- package/dist/server/pglite-data/base/1/3440 +0 -0
- package/dist/server/pglite-data/base/1/3455 +0 -0
- package/dist/server/pglite-data/base/1/3456 +0 -0
- package/dist/server/pglite-data/base/1/3456_fsm +0 -0
- package/dist/server/pglite-data/base/1/3456_vm +0 -0
- package/dist/server/pglite-data/base/1/3466 +0 -0
- package/dist/server/pglite-data/base/1/3467 +0 -0
- package/dist/server/pglite-data/base/1/3468 +0 -0
- package/dist/server/pglite-data/base/1/3501 +0 -0
- package/dist/server/pglite-data/base/1/3502 +0 -0
- package/dist/server/pglite-data/base/1/3503 +0 -0
- package/dist/server/pglite-data/base/1/3534 +0 -0
- package/dist/server/pglite-data/base/1/3541 +0 -0
- package/dist/server/pglite-data/base/1/3541_fsm +0 -0
- package/dist/server/pglite-data/base/1/3541_vm +0 -0
- package/dist/server/pglite-data/base/1/3542 +0 -0
- package/dist/server/pglite-data/base/1/3574 +0 -0
- package/dist/server/pglite-data/base/1/3575 +0 -0
- package/dist/server/pglite-data/base/1/3576 +0 -0
- package/dist/server/pglite-data/base/1/3596 +0 -0
- package/dist/server/pglite-data/base/1/3597 +0 -0
- package/dist/server/pglite-data/base/1/3598 +0 -0
- package/dist/server/pglite-data/base/1/3599 +0 -0
- package/dist/server/pglite-data/base/1/3600 +0 -0
- package/dist/server/pglite-data/base/1/3600_fsm +0 -0
- package/dist/server/pglite-data/base/1/3600_vm +0 -0
- package/dist/server/pglite-data/base/1/3601 +0 -0
- package/dist/server/pglite-data/base/1/3601_fsm +0 -0
- package/dist/server/pglite-data/base/1/3601_vm +0 -0
- package/dist/server/pglite-data/base/1/3602 +0 -0
- package/dist/server/pglite-data/base/1/3602_fsm +0 -0
- package/dist/server/pglite-data/base/1/3602_vm +0 -0
- package/dist/server/pglite-data/base/1/3603 +0 -0
- package/dist/server/pglite-data/base/1/3603_fsm +0 -0
- package/dist/server/pglite-data/base/1/3603_vm +0 -0
- package/dist/server/pglite-data/base/1/3604 +0 -0
- package/dist/server/pglite-data/base/1/3605 +0 -0
- package/dist/server/pglite-data/base/1/3606 +0 -0
- package/dist/server/pglite-data/base/1/3607 +0 -0
- package/dist/server/pglite-data/base/1/3608 +0 -0
- package/dist/server/pglite-data/base/1/3609 +0 -0
- package/dist/server/pglite-data/base/1/3712 +0 -0
- package/dist/server/pglite-data/base/1/3764 +0 -0
- package/dist/server/pglite-data/base/1/3764_fsm +0 -0
- package/dist/server/pglite-data/base/1/3764_vm +0 -0
- package/dist/server/pglite-data/base/1/3766 +0 -0
- package/dist/server/pglite-data/base/1/3767 +0 -0
- package/dist/server/pglite-data/base/1/3997 +0 -0
- package/dist/server/pglite-data/base/1/4143 +0 -0
- package/dist/server/pglite-data/base/1/4144 +0 -0
- package/dist/server/pglite-data/base/1/4145 +0 -0
- package/dist/server/pglite-data/base/1/4146 +0 -0
- package/dist/server/pglite-data/base/1/4147 +0 -0
- package/dist/server/pglite-data/base/1/4148 +0 -0
- package/dist/server/pglite-data/base/1/4149 +0 -0
- package/dist/server/pglite-data/base/1/4150 +0 -0
- package/dist/server/pglite-data/base/1/4151 +0 -0
- package/dist/server/pglite-data/base/1/4152 +0 -0
- package/dist/server/pglite-data/base/1/4153 +0 -0
- package/dist/server/pglite-data/base/1/4154 +0 -0
- package/dist/server/pglite-data/base/1/4155 +0 -0
- package/dist/server/pglite-data/base/1/4156 +0 -0
- package/dist/server/pglite-data/base/1/4157 +0 -0
- package/dist/server/pglite-data/base/1/4158 +0 -0
- package/dist/server/pglite-data/base/1/4159 +0 -0
- package/dist/server/pglite-data/base/1/4160 +0 -0
- package/dist/server/pglite-data/base/1/4163 +0 -0
- package/dist/server/pglite-data/base/1/4164 +0 -0
- package/dist/server/pglite-data/base/1/4165 +0 -0
- package/dist/server/pglite-data/base/1/4166 +0 -0
- package/dist/server/pglite-data/base/1/4167 +0 -0
- package/dist/server/pglite-data/base/1/4168 +0 -0
- package/dist/server/pglite-data/base/1/4169 +0 -0
- package/dist/server/pglite-data/base/1/4170 +0 -0
- package/dist/server/pglite-data/base/1/4171 +0 -0
- package/dist/server/pglite-data/base/1/4172 +0 -0
- package/dist/server/pglite-data/base/1/4173 +0 -0
- package/dist/server/pglite-data/base/1/4174 +0 -0
- package/dist/server/pglite-data/base/1/5002 +0 -0
- package/dist/server/pglite-data/base/1/548 +0 -0
- package/dist/server/pglite-data/base/1/549 +0 -0
- package/dist/server/pglite-data/base/1/6102 +0 -0
- package/dist/server/pglite-data/base/1/6104 +0 -0
- package/dist/server/pglite-data/base/1/6106 +0 -0
- package/dist/server/pglite-data/base/1/6110 +0 -0
- package/dist/server/pglite-data/base/1/6111 +0 -0
- package/dist/server/pglite-data/base/1/6112 +0 -0
- package/dist/server/pglite-data/base/1/6113 +0 -0
- package/dist/server/pglite-data/base/1/6116 +0 -0
- package/dist/server/pglite-data/base/1/6117 +0 -0
- package/dist/server/pglite-data/base/1/6175 +0 -0
- package/dist/server/pglite-data/base/1/6176 +0 -0
- package/dist/server/pglite-data/base/1/6228 +0 -0
- package/dist/server/pglite-data/base/1/6229 +0 -0
- package/dist/server/pglite-data/base/1/6237 +0 -0
- package/dist/server/pglite-data/base/1/6238 +0 -0
- package/dist/server/pglite-data/base/1/6239 +0 -0
- package/dist/server/pglite-data/base/1/6351 +0 -0
- package/dist/server/pglite-data/base/1/6352 +0 -0
- package/dist/server/pglite-data/base/1/826 +0 -0
- package/dist/server/pglite-data/base/1/827 +0 -0
- package/dist/server/pglite-data/base/1/828 +0 -0
- package/dist/server/pglite-data/base/1/PG_VERSION +0 -1
- package/dist/server/pglite-data/base/1/pg_filenode.map +0 -0
- package/dist/server/pglite-data/base/4/112 +0 -0
- package/dist/server/pglite-data/base/4/113 +0 -0
- package/dist/server/pglite-data/base/4/1247 +0 -0
- package/dist/server/pglite-data/base/4/1247_fsm +0 -0
- package/dist/server/pglite-data/base/4/1247_vm +0 -0
- package/dist/server/pglite-data/base/4/1249 +0 -0
- package/dist/server/pglite-data/base/4/1249_fsm +0 -0
- package/dist/server/pglite-data/base/4/1249_vm +0 -0
- package/dist/server/pglite-data/base/4/1255 +0 -0
- package/dist/server/pglite-data/base/4/1255_fsm +0 -0
- package/dist/server/pglite-data/base/4/1255_vm +0 -0
- package/dist/server/pglite-data/base/4/1259 +0 -0
- package/dist/server/pglite-data/base/4/1259_fsm +0 -0
- package/dist/server/pglite-data/base/4/1259_vm +0 -0
- package/dist/server/pglite-data/base/4/12607 +0 -0
- package/dist/server/pglite-data/base/4/12607_fsm +0 -0
- package/dist/server/pglite-data/base/4/12607_vm +0 -0
- package/dist/server/pglite-data/base/4/12610 +0 -0
- package/dist/server/pglite-data/base/4/12611 +0 -0
- package/dist/server/pglite-data/base/4/12612 +0 -0
- package/dist/server/pglite-data/base/4/12612_fsm +0 -0
- package/dist/server/pglite-data/base/4/12612_vm +0 -0
- package/dist/server/pglite-data/base/4/12615 +0 -0
- package/dist/server/pglite-data/base/4/12616 +0 -0
- package/dist/server/pglite-data/base/4/12617 +0 -0
- package/dist/server/pglite-data/base/4/12617_fsm +0 -0
- package/dist/server/pglite-data/base/4/12617_vm +0 -0
- package/dist/server/pglite-data/base/4/12620 +0 -0
- package/dist/server/pglite-data/base/4/12621 +0 -0
- package/dist/server/pglite-data/base/4/12622 +0 -0
- package/dist/server/pglite-data/base/4/12622_fsm +0 -0
- package/dist/server/pglite-data/base/4/12622_vm +0 -0
- package/dist/server/pglite-data/base/4/12625 +0 -0
- package/dist/server/pglite-data/base/4/12626 +0 -0
- package/dist/server/pglite-data/base/4/1417 +0 -0
- package/dist/server/pglite-data/base/4/1418 +0 -0
- package/dist/server/pglite-data/base/4/174 +0 -0
- package/dist/server/pglite-data/base/4/175 +0 -0
- package/dist/server/pglite-data/base/4/2187 +0 -0
- package/dist/server/pglite-data/base/4/2224 +0 -0
- package/dist/server/pglite-data/base/4/2228 +0 -0
- package/dist/server/pglite-data/base/4/2328 +0 -0
- package/dist/server/pglite-data/base/4/2336 +0 -0
- package/dist/server/pglite-data/base/4/2337 +0 -0
- package/dist/server/pglite-data/base/4/2579 +0 -0
- package/dist/server/pglite-data/base/4/2600 +0 -0
- package/dist/server/pglite-data/base/4/2600_fsm +0 -0
- package/dist/server/pglite-data/base/4/2600_vm +0 -0
- package/dist/server/pglite-data/base/4/2601 +0 -0
- package/dist/server/pglite-data/base/4/2601_fsm +0 -0
- package/dist/server/pglite-data/base/4/2601_vm +0 -0
- package/dist/server/pglite-data/base/4/2602 +0 -0
- package/dist/server/pglite-data/base/4/2602_fsm +0 -0
- package/dist/server/pglite-data/base/4/2602_vm +0 -0
- package/dist/server/pglite-data/base/4/2603 +0 -0
- package/dist/server/pglite-data/base/4/2603_fsm +0 -0
- package/dist/server/pglite-data/base/4/2603_vm +0 -0
- package/dist/server/pglite-data/base/4/2604 +0 -0
- package/dist/server/pglite-data/base/4/2605 +0 -0
- package/dist/server/pglite-data/base/4/2605_fsm +0 -0
- package/dist/server/pglite-data/base/4/2605_vm +0 -0
- package/dist/server/pglite-data/base/4/2606 +0 -0
- package/dist/server/pglite-data/base/4/2606_fsm +0 -0
- package/dist/server/pglite-data/base/4/2606_vm +0 -0
- package/dist/server/pglite-data/base/4/2607 +0 -0
- package/dist/server/pglite-data/base/4/2607_fsm +0 -0
- package/dist/server/pglite-data/base/4/2607_vm +0 -0
- package/dist/server/pglite-data/base/4/2608 +0 -0
- package/dist/server/pglite-data/base/4/2608_fsm +0 -0
- package/dist/server/pglite-data/base/4/2608_vm +0 -0
- package/dist/server/pglite-data/base/4/2609 +0 -0
- package/dist/server/pglite-data/base/4/2609_fsm +0 -0
- package/dist/server/pglite-data/base/4/2609_vm +0 -0
- package/dist/server/pglite-data/base/4/2610 +0 -0
- package/dist/server/pglite-data/base/4/2610_fsm +0 -0
- package/dist/server/pglite-data/base/4/2610_vm +0 -0
- package/dist/server/pglite-data/base/4/2611 +0 -0
- package/dist/server/pglite-data/base/4/2612 +0 -0
- package/dist/server/pglite-data/base/4/2612_fsm +0 -0
- package/dist/server/pglite-data/base/4/2612_vm +0 -0
- package/dist/server/pglite-data/base/4/2613 +0 -0
- package/dist/server/pglite-data/base/4/2615 +0 -0
- package/dist/server/pglite-data/base/4/2615_fsm +0 -0
- package/dist/server/pglite-data/base/4/2615_vm +0 -0
- package/dist/server/pglite-data/base/4/2616 +0 -0
- package/dist/server/pglite-data/base/4/2616_fsm +0 -0
- package/dist/server/pglite-data/base/4/2616_vm +0 -0
- package/dist/server/pglite-data/base/4/2617 +0 -0
- package/dist/server/pglite-data/base/4/2617_fsm +0 -0
- package/dist/server/pglite-data/base/4/2617_vm +0 -0
- package/dist/server/pglite-data/base/4/2618 +0 -0
- package/dist/server/pglite-data/base/4/2618_fsm +0 -0
- package/dist/server/pglite-data/base/4/2618_vm +0 -0
- package/dist/server/pglite-data/base/4/2619 +0 -0
- package/dist/server/pglite-data/base/4/2619_fsm +0 -0
- package/dist/server/pglite-data/base/4/2619_vm +0 -0
- package/dist/server/pglite-data/base/4/2620 +0 -0
- package/dist/server/pglite-data/base/4/2650 +0 -0
- package/dist/server/pglite-data/base/4/2651 +0 -0
- package/dist/server/pglite-data/base/4/2652 +0 -0
- package/dist/server/pglite-data/base/4/2653 +0 -0
- package/dist/server/pglite-data/base/4/2654 +0 -0
- package/dist/server/pglite-data/base/4/2655 +0 -0
- package/dist/server/pglite-data/base/4/2656 +0 -0
- package/dist/server/pglite-data/base/4/2657 +0 -0
- package/dist/server/pglite-data/base/4/2658 +0 -0
- package/dist/server/pglite-data/base/4/2659 +0 -0
- package/dist/server/pglite-data/base/4/2660 +0 -0
- package/dist/server/pglite-data/base/4/2661 +0 -0
- package/dist/server/pglite-data/base/4/2662 +0 -0
- package/dist/server/pglite-data/base/4/2663 +0 -0
- package/dist/server/pglite-data/base/4/2664 +0 -0
- package/dist/server/pglite-data/base/4/2665 +0 -0
- package/dist/server/pglite-data/base/4/2666 +0 -0
- package/dist/server/pglite-data/base/4/2667 +0 -0
- package/dist/server/pglite-data/base/4/2668 +0 -0
- package/dist/server/pglite-data/base/4/2669 +0 -0
- package/dist/server/pglite-data/base/4/2670 +0 -0
- package/dist/server/pglite-data/base/4/2673 +0 -0
- package/dist/server/pglite-data/base/4/2674 +0 -0
- package/dist/server/pglite-data/base/4/2675 +0 -0
- package/dist/server/pglite-data/base/4/2678 +0 -0
- package/dist/server/pglite-data/base/4/2679 +0 -0
- package/dist/server/pglite-data/base/4/2680 +0 -0
- package/dist/server/pglite-data/base/4/2681 +0 -0
- package/dist/server/pglite-data/base/4/2682 +0 -0
- package/dist/server/pglite-data/base/4/2683 +0 -0
- package/dist/server/pglite-data/base/4/2684 +0 -0
- package/dist/server/pglite-data/base/4/2685 +0 -0
- package/dist/server/pglite-data/base/4/2686 +0 -0
- package/dist/server/pglite-data/base/4/2687 +0 -0
- package/dist/server/pglite-data/base/4/2688 +0 -0
- package/dist/server/pglite-data/base/4/2689 +0 -0
- package/dist/server/pglite-data/base/4/2690 +0 -0
- package/dist/server/pglite-data/base/4/2691 +0 -0
- package/dist/server/pglite-data/base/4/2692 +0 -0
- package/dist/server/pglite-data/base/4/2693 +0 -0
- package/dist/server/pglite-data/base/4/2696 +0 -0
- package/dist/server/pglite-data/base/4/2699 +0 -0
- package/dist/server/pglite-data/base/4/2701 +0 -0
- package/dist/server/pglite-data/base/4/2702 +0 -0
- package/dist/server/pglite-data/base/4/2703 +0 -0
- package/dist/server/pglite-data/base/4/2704 +0 -0
- package/dist/server/pglite-data/base/4/2753 +0 -0
- package/dist/server/pglite-data/base/4/2753_fsm +0 -0
- package/dist/server/pglite-data/base/4/2753_vm +0 -0
- package/dist/server/pglite-data/base/4/2754 +0 -0
- package/dist/server/pglite-data/base/4/2755 +0 -0
- package/dist/server/pglite-data/base/4/2756 +0 -0
- package/dist/server/pglite-data/base/4/2757 +0 -0
- package/dist/server/pglite-data/base/4/2830 +0 -0
- package/dist/server/pglite-data/base/4/2831 +0 -0
- package/dist/server/pglite-data/base/4/2832 +0 -0
- package/dist/server/pglite-data/base/4/2833 +0 -0
- package/dist/server/pglite-data/base/4/2834 +0 -0
- package/dist/server/pglite-data/base/4/2835 +0 -0
- package/dist/server/pglite-data/base/4/2836 +0 -0
- package/dist/server/pglite-data/base/4/2836_fsm +0 -0
- package/dist/server/pglite-data/base/4/2836_vm +0 -0
- package/dist/server/pglite-data/base/4/2837 +0 -0
- package/dist/server/pglite-data/base/4/2838 +0 -0
- package/dist/server/pglite-data/base/4/2838_fsm +0 -0
- package/dist/server/pglite-data/base/4/2838_vm +0 -0
- package/dist/server/pglite-data/base/4/2839 +0 -0
- package/dist/server/pglite-data/base/4/2840 +0 -0
- package/dist/server/pglite-data/base/4/2840_fsm +0 -0
- package/dist/server/pglite-data/base/4/2840_vm +0 -0
- package/dist/server/pglite-data/base/4/2841 +0 -0
- package/dist/server/pglite-data/base/4/2995 +0 -0
- package/dist/server/pglite-data/base/4/2996 +0 -0
- package/dist/server/pglite-data/base/4/3079 +0 -0
- package/dist/server/pglite-data/base/4/3079_fsm +0 -0
- package/dist/server/pglite-data/base/4/3079_vm +0 -0
- package/dist/server/pglite-data/base/4/3080 +0 -0
- package/dist/server/pglite-data/base/4/3081 +0 -0
- package/dist/server/pglite-data/base/4/3085 +0 -0
- package/dist/server/pglite-data/base/4/3118 +0 -0
- package/dist/server/pglite-data/base/4/3119 +0 -0
- package/dist/server/pglite-data/base/4/3164 +0 -0
- package/dist/server/pglite-data/base/4/3256 +0 -0
- package/dist/server/pglite-data/base/4/3257 +0 -0
- package/dist/server/pglite-data/base/4/3258 +0 -0
- package/dist/server/pglite-data/base/4/3350 +0 -0
- package/dist/server/pglite-data/base/4/3351 +0 -0
- package/dist/server/pglite-data/base/4/3379 +0 -0
- package/dist/server/pglite-data/base/4/3380 +0 -0
- package/dist/server/pglite-data/base/4/3381 +0 -0
- package/dist/server/pglite-data/base/4/3394 +0 -0
- package/dist/server/pglite-data/base/4/3394_fsm +0 -0
- package/dist/server/pglite-data/base/4/3394_vm +0 -0
- package/dist/server/pglite-data/base/4/3395 +0 -0
- package/dist/server/pglite-data/base/4/3429 +0 -0
- package/dist/server/pglite-data/base/4/3430 +0 -0
- package/dist/server/pglite-data/base/4/3431 +0 -0
- package/dist/server/pglite-data/base/4/3433 +0 -0
- package/dist/server/pglite-data/base/4/3439 +0 -0
- package/dist/server/pglite-data/base/4/3440 +0 -0
- package/dist/server/pglite-data/base/4/3455 +0 -0
- package/dist/server/pglite-data/base/4/3456 +0 -0
- package/dist/server/pglite-data/base/4/3456_fsm +0 -0
- package/dist/server/pglite-data/base/4/3456_vm +0 -0
- package/dist/server/pglite-data/base/4/3466 +0 -0
- package/dist/server/pglite-data/base/4/3467 +0 -0
- package/dist/server/pglite-data/base/4/3468 +0 -0
- package/dist/server/pglite-data/base/4/3501 +0 -0
- package/dist/server/pglite-data/base/4/3502 +0 -0
- package/dist/server/pglite-data/base/4/3503 +0 -0
- package/dist/server/pglite-data/base/4/3534 +0 -0
- package/dist/server/pglite-data/base/4/3541 +0 -0
- package/dist/server/pglite-data/base/4/3541_fsm +0 -0
- package/dist/server/pglite-data/base/4/3541_vm +0 -0
- package/dist/server/pglite-data/base/4/3542 +0 -0
- package/dist/server/pglite-data/base/4/3574 +0 -0
- package/dist/server/pglite-data/base/4/3575 +0 -0
- package/dist/server/pglite-data/base/4/3576 +0 -0
- package/dist/server/pglite-data/base/4/3596 +0 -0
- package/dist/server/pglite-data/base/4/3597 +0 -0
- package/dist/server/pglite-data/base/4/3598 +0 -0
- package/dist/server/pglite-data/base/4/3599 +0 -0
- package/dist/server/pglite-data/base/4/3600 +0 -0
- package/dist/server/pglite-data/base/4/3600_fsm +0 -0
- package/dist/server/pglite-data/base/4/3600_vm +0 -0
- package/dist/server/pglite-data/base/4/3601 +0 -0
- package/dist/server/pglite-data/base/4/3601_fsm +0 -0
- package/dist/server/pglite-data/base/4/3601_vm +0 -0
- package/dist/server/pglite-data/base/4/3602 +0 -0
- package/dist/server/pglite-data/base/4/3602_fsm +0 -0
- package/dist/server/pglite-data/base/4/3602_vm +0 -0
- package/dist/server/pglite-data/base/4/3603 +0 -0
- package/dist/server/pglite-data/base/4/3603_fsm +0 -0
- package/dist/server/pglite-data/base/4/3603_vm +0 -0
- package/dist/server/pglite-data/base/4/3604 +0 -0
- package/dist/server/pglite-data/base/4/3605 +0 -0
- package/dist/server/pglite-data/base/4/3606 +0 -0
- package/dist/server/pglite-data/base/4/3607 +0 -0
- package/dist/server/pglite-data/base/4/3608 +0 -0
- package/dist/server/pglite-data/base/4/3609 +0 -0
- package/dist/server/pglite-data/base/4/3712 +0 -0
- package/dist/server/pglite-data/base/4/3764 +0 -0
- package/dist/server/pglite-data/base/4/3764_fsm +0 -0
- package/dist/server/pglite-data/base/4/3764_vm +0 -0
- package/dist/server/pglite-data/base/4/3766 +0 -0
- package/dist/server/pglite-data/base/4/3767 +0 -0
- package/dist/server/pglite-data/base/4/3997 +0 -0
- package/dist/server/pglite-data/base/4/4143 +0 -0
- package/dist/server/pglite-data/base/4/4144 +0 -0
- package/dist/server/pglite-data/base/4/4145 +0 -0
- package/dist/server/pglite-data/base/4/4146 +0 -0
- package/dist/server/pglite-data/base/4/4147 +0 -0
- package/dist/server/pglite-data/base/4/4148 +0 -0
- package/dist/server/pglite-data/base/4/4149 +0 -0
- package/dist/server/pglite-data/base/4/4150 +0 -0
- package/dist/server/pglite-data/base/4/4151 +0 -0
- package/dist/server/pglite-data/base/4/4152 +0 -0
- package/dist/server/pglite-data/base/4/4153 +0 -0
- package/dist/server/pglite-data/base/4/4154 +0 -0
- package/dist/server/pglite-data/base/4/4155 +0 -0
- package/dist/server/pglite-data/base/4/4156 +0 -0
- package/dist/server/pglite-data/base/4/4157 +0 -0
- package/dist/server/pglite-data/base/4/4158 +0 -0
- package/dist/server/pglite-data/base/4/4159 +0 -0
- package/dist/server/pglite-data/base/4/4160 +0 -0
- package/dist/server/pglite-data/base/4/4163 +0 -0
- package/dist/server/pglite-data/base/4/4164 +0 -0
- package/dist/server/pglite-data/base/4/4165 +0 -0
- package/dist/server/pglite-data/base/4/4166 +0 -0
- package/dist/server/pglite-data/base/4/4167 +0 -0
- package/dist/server/pglite-data/base/4/4168 +0 -0
- package/dist/server/pglite-data/base/4/4169 +0 -0
- package/dist/server/pglite-data/base/4/4170 +0 -0
- package/dist/server/pglite-data/base/4/4171 +0 -0
- package/dist/server/pglite-data/base/4/4172 +0 -0
- package/dist/server/pglite-data/base/4/4173 +0 -0
- package/dist/server/pglite-data/base/4/4174 +0 -0
- package/dist/server/pglite-data/base/4/5002 +0 -0
- package/dist/server/pglite-data/base/4/548 +0 -0
- package/dist/server/pglite-data/base/4/549 +0 -0
- package/dist/server/pglite-data/base/4/6102 +0 -0
- package/dist/server/pglite-data/base/4/6104 +0 -0
- package/dist/server/pglite-data/base/4/6106 +0 -0
- package/dist/server/pglite-data/base/4/6110 +0 -0
- package/dist/server/pglite-data/base/4/6111 +0 -0
- package/dist/server/pglite-data/base/4/6112 +0 -0
- package/dist/server/pglite-data/base/4/6113 +0 -0
- package/dist/server/pglite-data/base/4/6116 +0 -0
- package/dist/server/pglite-data/base/4/6117 +0 -0
- package/dist/server/pglite-data/base/4/6175 +0 -0
- package/dist/server/pglite-data/base/4/6176 +0 -0
- package/dist/server/pglite-data/base/4/6228 +0 -0
- package/dist/server/pglite-data/base/4/6229 +0 -0
- package/dist/server/pglite-data/base/4/6237 +0 -0
- package/dist/server/pglite-data/base/4/6238 +0 -0
- package/dist/server/pglite-data/base/4/6239 +0 -0
- package/dist/server/pglite-data/base/4/6351 +0 -0
- package/dist/server/pglite-data/base/4/6352 +0 -0
- package/dist/server/pglite-data/base/4/826 +0 -0
- package/dist/server/pglite-data/base/4/827 +0 -0
- package/dist/server/pglite-data/base/4/828 +0 -0
- package/dist/server/pglite-data/base/4/PG_VERSION +0 -1
- package/dist/server/pglite-data/base/4/pg_filenode.map +0 -0
- package/dist/server/pglite-data/base/5/112 +0 -0
- package/dist/server/pglite-data/base/5/113 +0 -0
- package/dist/server/pglite-data/base/5/1247 +0 -0
- package/dist/server/pglite-data/base/5/1247_fsm +0 -0
- package/dist/server/pglite-data/base/5/1247_vm +0 -0
- package/dist/server/pglite-data/base/5/1249 +0 -0
- package/dist/server/pglite-data/base/5/1249_fsm +0 -0
- package/dist/server/pglite-data/base/5/1249_vm +0 -0
- package/dist/server/pglite-data/base/5/1255 +0 -0
- package/dist/server/pglite-data/base/5/1255_fsm +0 -0
- package/dist/server/pglite-data/base/5/1255_vm +0 -0
- package/dist/server/pglite-data/base/5/1259 +0 -0
- package/dist/server/pglite-data/base/5/1259_fsm +0 -0
- package/dist/server/pglite-data/base/5/1259_vm +0 -0
- package/dist/server/pglite-data/base/5/12607 +0 -0
- package/dist/server/pglite-data/base/5/12607_fsm +0 -0
- package/dist/server/pglite-data/base/5/12607_vm +0 -0
- package/dist/server/pglite-data/base/5/12610 +0 -0
- package/dist/server/pglite-data/base/5/12611 +0 -0
- package/dist/server/pglite-data/base/5/12612 +0 -0
- package/dist/server/pglite-data/base/5/12612_fsm +0 -0
- package/dist/server/pglite-data/base/5/12612_vm +0 -0
- package/dist/server/pglite-data/base/5/12615 +0 -0
- package/dist/server/pglite-data/base/5/12616 +0 -0
- package/dist/server/pglite-data/base/5/12617 +0 -0
- package/dist/server/pglite-data/base/5/12617_fsm +0 -0
- package/dist/server/pglite-data/base/5/12617_vm +0 -0
- package/dist/server/pglite-data/base/5/12620 +0 -0
- package/dist/server/pglite-data/base/5/12621 +0 -0
- package/dist/server/pglite-data/base/5/12622 +0 -0
- package/dist/server/pglite-data/base/5/12622_fsm +0 -0
- package/dist/server/pglite-data/base/5/12622_vm +0 -0
- package/dist/server/pglite-data/base/5/12625 +0 -0
- package/dist/server/pglite-data/base/5/12626 +0 -0
- package/dist/server/pglite-data/base/5/1417 +0 -0
- package/dist/server/pglite-data/base/5/1418 +0 -0
- package/dist/server/pglite-data/base/5/16384 +0 -0
- package/dist/server/pglite-data/base/5/16390 +0 -0
- package/dist/server/pglite-data/base/5/16391 +0 -0
- package/dist/server/pglite-data/base/5/16392 +0 -0
- package/dist/server/pglite-data/base/5/16394 +0 -0
- package/dist/server/pglite-data/base/5/16402 +0 -0
- package/dist/server/pglite-data/base/5/16403 +0 -0
- package/dist/server/pglite-data/base/5/16404 +0 -0
- package/dist/server/pglite-data/base/5/16406 +0 -0
- package/dist/server/pglite-data/base/5/16419 +0 -0
- package/dist/server/pglite-data/base/5/16420 +0 -0
- package/dist/server/pglite-data/base/5/16421 +0 -0
- package/dist/server/pglite-data/base/5/16423 +0 -0
- package/dist/server/pglite-data/base/5/16435 +0 -0
- package/dist/server/pglite-data/base/5/16436 +0 -0
- package/dist/server/pglite-data/base/5/16437 +0 -0
- package/dist/server/pglite-data/base/5/16439 +0 -0
- package/dist/server/pglite-data/base/5/16447 +0 -0
- package/dist/server/pglite-data/base/5/16448 +0 -0
- package/dist/server/pglite-data/base/5/16449 +0 -0
- package/dist/server/pglite-data/base/5/16451 +0 -0
- package/dist/server/pglite-data/base/5/16460 +0 -0
- package/dist/server/pglite-data/base/5/16461 +0 -0
- package/dist/server/pglite-data/base/5/16462 +0 -0
- package/dist/server/pglite-data/base/5/16464 +0 -0
- package/dist/server/pglite-data/base/5/16476 +0 -0
- package/dist/server/pglite-data/base/5/16477 +0 -0
- package/dist/server/pglite-data/base/5/16478 +0 -0
- package/dist/server/pglite-data/base/5/16480 +0 -0
- package/dist/server/pglite-data/base/5/16492 +0 -0
- package/dist/server/pglite-data/base/5/16493 +0 -0
- package/dist/server/pglite-data/base/5/16494 +0 -0
- package/dist/server/pglite-data/base/5/16496 +0 -0
- package/dist/server/pglite-data/base/5/16506 +0 -0
- package/dist/server/pglite-data/base/5/16507 +0 -0
- package/dist/server/pglite-data/base/5/16508 +0 -0
- package/dist/server/pglite-data/base/5/16510 +0 -0
- package/dist/server/pglite-data/base/5/16511 +0 -0
- package/dist/server/pglite-data/base/5/16512 +0 -0
- package/dist/server/pglite-data/base/5/16513 +0 -0
- package/dist/server/pglite-data/base/5/16514 +0 -0
- package/dist/server/pglite-data/base/5/16515 +0 -0
- package/dist/server/pglite-data/base/5/16516 +0 -0
- package/dist/server/pglite-data/base/5/16542 +0 -0
- package/dist/server/pglite-data/base/5/16553 +0 -0
- package/dist/server/pglite-data/base/5/16554 +0 -0
- package/dist/server/pglite-data/base/5/16555 +0 -0
- package/dist/server/pglite-data/base/5/16557 +0 -0
- package/dist/server/pglite-data/base/5/16558 +0 -0
- package/dist/server/pglite-data/base/5/16564 +0 -0
- package/dist/server/pglite-data/base/5/16575 +0 -0
- package/dist/server/pglite-data/base/5/16576 +0 -0
- package/dist/server/pglite-data/base/5/16577 +0 -0
- package/dist/server/pglite-data/base/5/16579 +0 -0
- package/dist/server/pglite-data/base/5/174 +0 -0
- package/dist/server/pglite-data/base/5/175 +0 -0
- package/dist/server/pglite-data/base/5/2187 +0 -0
- package/dist/server/pglite-data/base/5/2224 +0 -0
- package/dist/server/pglite-data/base/5/2228 +0 -0
- package/dist/server/pglite-data/base/5/2328 +0 -0
- package/dist/server/pglite-data/base/5/2336 +0 -0
- package/dist/server/pglite-data/base/5/2337 +0 -0
- package/dist/server/pglite-data/base/5/2579 +0 -0
- package/dist/server/pglite-data/base/5/2600 +0 -0
- package/dist/server/pglite-data/base/5/2600_fsm +0 -0
- package/dist/server/pglite-data/base/5/2600_vm +0 -0
- package/dist/server/pglite-data/base/5/2601 +0 -0
- package/dist/server/pglite-data/base/5/2601_fsm +0 -0
- package/dist/server/pglite-data/base/5/2601_vm +0 -0
- package/dist/server/pglite-data/base/5/2602 +0 -0
- package/dist/server/pglite-data/base/5/2602_fsm +0 -0
- package/dist/server/pglite-data/base/5/2602_vm +0 -0
- package/dist/server/pglite-data/base/5/2603 +0 -0
- package/dist/server/pglite-data/base/5/2603_fsm +0 -0
- package/dist/server/pglite-data/base/5/2603_vm +0 -0
- package/dist/server/pglite-data/base/5/2604 +0 -0
- package/dist/server/pglite-data/base/5/2604_fsm +0 -0
- package/dist/server/pglite-data/base/5/2605 +0 -0
- package/dist/server/pglite-data/base/5/2605_fsm +0 -0
- package/dist/server/pglite-data/base/5/2605_vm +0 -0
- package/dist/server/pglite-data/base/5/2606 +0 -0
- package/dist/server/pglite-data/base/5/2606_fsm +0 -0
- package/dist/server/pglite-data/base/5/2606_vm +0 -0
- package/dist/server/pglite-data/base/5/2607 +0 -0
- package/dist/server/pglite-data/base/5/2607_fsm +0 -0
- package/dist/server/pglite-data/base/5/2607_vm +0 -0
- package/dist/server/pglite-data/base/5/2608 +0 -0
- package/dist/server/pglite-data/base/5/2608_fsm +0 -0
- package/dist/server/pglite-data/base/5/2608_vm +0 -0
- package/dist/server/pglite-data/base/5/2609 +0 -0
- package/dist/server/pglite-data/base/5/2609_fsm +0 -0
- package/dist/server/pglite-data/base/5/2609_vm +0 -0
- package/dist/server/pglite-data/base/5/2610 +0 -0
- package/dist/server/pglite-data/base/5/2610_fsm +0 -0
- package/dist/server/pglite-data/base/5/2610_vm +0 -0
- package/dist/server/pglite-data/base/5/2611 +0 -0
- package/dist/server/pglite-data/base/5/2612 +0 -0
- package/dist/server/pglite-data/base/5/2612_fsm +0 -0
- package/dist/server/pglite-data/base/5/2612_vm +0 -0
- package/dist/server/pglite-data/base/5/2613 +0 -0
- package/dist/server/pglite-data/base/5/2615 +0 -0
- package/dist/server/pglite-data/base/5/2615_fsm +0 -0
- package/dist/server/pglite-data/base/5/2615_vm +0 -0
- package/dist/server/pglite-data/base/5/2616 +0 -0
- package/dist/server/pglite-data/base/5/2616_fsm +0 -0
- package/dist/server/pglite-data/base/5/2616_vm +0 -0
- package/dist/server/pglite-data/base/5/2617 +0 -0
- package/dist/server/pglite-data/base/5/2617_fsm +0 -0
- package/dist/server/pglite-data/base/5/2617_vm +0 -0
- package/dist/server/pglite-data/base/5/2618 +0 -0
- package/dist/server/pglite-data/base/5/2618_fsm +0 -0
- package/dist/server/pglite-data/base/5/2618_vm +0 -0
- package/dist/server/pglite-data/base/5/2619 +0 -0
- package/dist/server/pglite-data/base/5/2619_fsm +0 -0
- package/dist/server/pglite-data/base/5/2619_vm +0 -0
- package/dist/server/pglite-data/base/5/2620 +0 -0
- package/dist/server/pglite-data/base/5/2650 +0 -0
- package/dist/server/pglite-data/base/5/2651 +0 -0
- package/dist/server/pglite-data/base/5/2652 +0 -0
- package/dist/server/pglite-data/base/5/2653 +0 -0
- package/dist/server/pglite-data/base/5/2654 +0 -0
- package/dist/server/pglite-data/base/5/2655 +0 -0
- package/dist/server/pglite-data/base/5/2656 +0 -0
- package/dist/server/pglite-data/base/5/2657 +0 -0
- package/dist/server/pglite-data/base/5/2658 +0 -0
- package/dist/server/pglite-data/base/5/2659 +0 -0
- package/dist/server/pglite-data/base/5/2660 +0 -0
- package/dist/server/pglite-data/base/5/2661 +0 -0
- package/dist/server/pglite-data/base/5/2662 +0 -0
- package/dist/server/pglite-data/base/5/2663 +0 -0
- package/dist/server/pglite-data/base/5/2664 +0 -0
- package/dist/server/pglite-data/base/5/2665 +0 -0
- package/dist/server/pglite-data/base/5/2666 +0 -0
- package/dist/server/pglite-data/base/5/2667 +0 -0
- package/dist/server/pglite-data/base/5/2668 +0 -0
- package/dist/server/pglite-data/base/5/2669 +0 -0
- package/dist/server/pglite-data/base/5/2670 +0 -0
- package/dist/server/pglite-data/base/5/2673 +0 -0
- package/dist/server/pglite-data/base/5/2674 +0 -0
- package/dist/server/pglite-data/base/5/2675 +0 -0
- package/dist/server/pglite-data/base/5/2678 +0 -0
- package/dist/server/pglite-data/base/5/2679 +0 -0
- package/dist/server/pglite-data/base/5/2680 +0 -0
- package/dist/server/pglite-data/base/5/2681 +0 -0
- package/dist/server/pglite-data/base/5/2682 +0 -0
- package/dist/server/pglite-data/base/5/2683 +0 -0
- package/dist/server/pglite-data/base/5/2684 +0 -0
- package/dist/server/pglite-data/base/5/2685 +0 -0
- package/dist/server/pglite-data/base/5/2686 +0 -0
- package/dist/server/pglite-data/base/5/2687 +0 -0
- package/dist/server/pglite-data/base/5/2688 +0 -0
- package/dist/server/pglite-data/base/5/2689 +0 -0
- package/dist/server/pglite-data/base/5/2690 +0 -0
- package/dist/server/pglite-data/base/5/2691 +0 -0
- package/dist/server/pglite-data/base/5/2692 +0 -0
- package/dist/server/pglite-data/base/5/2693 +0 -0
- package/dist/server/pglite-data/base/5/2696 +0 -0
- package/dist/server/pglite-data/base/5/2699 +0 -0
- package/dist/server/pglite-data/base/5/2701 +0 -0
- package/dist/server/pglite-data/base/5/2702 +0 -0
- package/dist/server/pglite-data/base/5/2703 +0 -0
- package/dist/server/pglite-data/base/5/2704 +0 -0
- package/dist/server/pglite-data/base/5/2753 +0 -0
- package/dist/server/pglite-data/base/5/2753_fsm +0 -0
- package/dist/server/pglite-data/base/5/2753_vm +0 -0
- package/dist/server/pglite-data/base/5/2754 +0 -0
- package/dist/server/pglite-data/base/5/2755 +0 -0
- package/dist/server/pglite-data/base/5/2756 +0 -0
- package/dist/server/pglite-data/base/5/2757 +0 -0
- package/dist/server/pglite-data/base/5/2830 +0 -0
- package/dist/server/pglite-data/base/5/2831 +0 -0
- package/dist/server/pglite-data/base/5/2832 +0 -0
- package/dist/server/pglite-data/base/5/2833 +0 -0
- package/dist/server/pglite-data/base/5/2834 +0 -0
- package/dist/server/pglite-data/base/5/2835 +0 -0
- package/dist/server/pglite-data/base/5/2836 +0 -0
- package/dist/server/pglite-data/base/5/2836_fsm +0 -0
- package/dist/server/pglite-data/base/5/2836_vm +0 -0
- package/dist/server/pglite-data/base/5/2837 +0 -0
- package/dist/server/pglite-data/base/5/2838 +0 -0
- package/dist/server/pglite-data/base/5/2838_fsm +0 -0
- package/dist/server/pglite-data/base/5/2838_vm +0 -0
- package/dist/server/pglite-data/base/5/2839 +0 -0
- package/dist/server/pglite-data/base/5/2840 +0 -0
- package/dist/server/pglite-data/base/5/2840_fsm +0 -0
- package/dist/server/pglite-data/base/5/2840_vm +0 -0
- package/dist/server/pglite-data/base/5/2841 +0 -0
- package/dist/server/pglite-data/base/5/2995 +0 -0
- package/dist/server/pglite-data/base/5/2996 +0 -0
- package/dist/server/pglite-data/base/5/3079 +0 -0
- package/dist/server/pglite-data/base/5/3079_fsm +0 -0
- package/dist/server/pglite-data/base/5/3079_vm +0 -0
- package/dist/server/pglite-data/base/5/3080 +0 -0
- package/dist/server/pglite-data/base/5/3081 +0 -0
- package/dist/server/pglite-data/base/5/3085 +0 -0
- package/dist/server/pglite-data/base/5/3118 +0 -0
- package/dist/server/pglite-data/base/5/3119 +0 -0
- package/dist/server/pglite-data/base/5/3164 +0 -0
- package/dist/server/pglite-data/base/5/3256 +0 -0
- package/dist/server/pglite-data/base/5/3257 +0 -0
- package/dist/server/pglite-data/base/5/3258 +0 -0
- package/dist/server/pglite-data/base/5/3350 +0 -0
- package/dist/server/pglite-data/base/5/3351 +0 -0
- package/dist/server/pglite-data/base/5/3379 +0 -0
- package/dist/server/pglite-data/base/5/3380 +0 -0
- package/dist/server/pglite-data/base/5/3381 +0 -0
- package/dist/server/pglite-data/base/5/3394 +0 -0
- package/dist/server/pglite-data/base/5/3394_fsm +0 -0
- package/dist/server/pglite-data/base/5/3394_vm +0 -0
- package/dist/server/pglite-data/base/5/3395 +0 -0
- package/dist/server/pglite-data/base/5/3429 +0 -0
- package/dist/server/pglite-data/base/5/3430 +0 -0
- package/dist/server/pglite-data/base/5/3431 +0 -0
- package/dist/server/pglite-data/base/5/3433 +0 -0
- package/dist/server/pglite-data/base/5/3439 +0 -0
- package/dist/server/pglite-data/base/5/3440 +0 -0
- package/dist/server/pglite-data/base/5/3455 +0 -0
- package/dist/server/pglite-data/base/5/3456 +0 -0
- package/dist/server/pglite-data/base/5/3456_fsm +0 -0
- package/dist/server/pglite-data/base/5/3456_vm +0 -0
- package/dist/server/pglite-data/base/5/3466 +0 -0
- package/dist/server/pglite-data/base/5/3467 +0 -0
- package/dist/server/pglite-data/base/5/3468 +0 -0
- package/dist/server/pglite-data/base/5/3501 +0 -0
- package/dist/server/pglite-data/base/5/3502 +0 -0
- package/dist/server/pglite-data/base/5/3503 +0 -0
- package/dist/server/pglite-data/base/5/3534 +0 -0
- package/dist/server/pglite-data/base/5/3541 +0 -0
- package/dist/server/pglite-data/base/5/3541_fsm +0 -0
- package/dist/server/pglite-data/base/5/3541_vm +0 -0
- package/dist/server/pglite-data/base/5/3542 +0 -0
- package/dist/server/pglite-data/base/5/3574 +0 -0
- package/dist/server/pglite-data/base/5/3575 +0 -0
- package/dist/server/pglite-data/base/5/3576 +0 -0
- package/dist/server/pglite-data/base/5/3596 +0 -0
- package/dist/server/pglite-data/base/5/3597 +0 -0
- package/dist/server/pglite-data/base/5/3598 +0 -0
- package/dist/server/pglite-data/base/5/3599 +0 -0
- package/dist/server/pglite-data/base/5/3600 +0 -0
- package/dist/server/pglite-data/base/5/3600_fsm +0 -0
- package/dist/server/pglite-data/base/5/3600_vm +0 -0
- package/dist/server/pglite-data/base/5/3601 +0 -0
- package/dist/server/pglite-data/base/5/3601_fsm +0 -0
- package/dist/server/pglite-data/base/5/3601_vm +0 -0
- package/dist/server/pglite-data/base/5/3602 +0 -0
- package/dist/server/pglite-data/base/5/3602_fsm +0 -0
- package/dist/server/pglite-data/base/5/3602_vm +0 -0
- package/dist/server/pglite-data/base/5/3603 +0 -0
- package/dist/server/pglite-data/base/5/3603_fsm +0 -0
- package/dist/server/pglite-data/base/5/3603_vm +0 -0
- package/dist/server/pglite-data/base/5/3604 +0 -0
- package/dist/server/pglite-data/base/5/3605 +0 -0
- package/dist/server/pglite-data/base/5/3606 +0 -0
- package/dist/server/pglite-data/base/5/3607 +0 -0
- package/dist/server/pglite-data/base/5/3608 +0 -0
- package/dist/server/pglite-data/base/5/3609 +0 -0
- package/dist/server/pglite-data/base/5/3712 +0 -0
- package/dist/server/pglite-data/base/5/3764 +0 -0
- package/dist/server/pglite-data/base/5/3764_fsm +0 -0
- package/dist/server/pglite-data/base/5/3764_vm +0 -0
- package/dist/server/pglite-data/base/5/3766 +0 -0
- package/dist/server/pglite-data/base/5/3767 +0 -0
- package/dist/server/pglite-data/base/5/3997 +0 -0
- package/dist/server/pglite-data/base/5/4143 +0 -0
- package/dist/server/pglite-data/base/5/4144 +0 -0
- package/dist/server/pglite-data/base/5/4145 +0 -0
- package/dist/server/pglite-data/base/5/4146 +0 -0
- package/dist/server/pglite-data/base/5/4147 +0 -0
- package/dist/server/pglite-data/base/5/4148 +0 -0
- package/dist/server/pglite-data/base/5/4149 +0 -0
- package/dist/server/pglite-data/base/5/4150 +0 -0
- package/dist/server/pglite-data/base/5/4151 +0 -0
- package/dist/server/pglite-data/base/5/4152 +0 -0
- package/dist/server/pglite-data/base/5/4153 +0 -0
- package/dist/server/pglite-data/base/5/4154 +0 -0
- package/dist/server/pglite-data/base/5/4155 +0 -0
- package/dist/server/pglite-data/base/5/4156 +0 -0
- package/dist/server/pglite-data/base/5/4157 +0 -0
- package/dist/server/pglite-data/base/5/4158 +0 -0
- package/dist/server/pglite-data/base/5/4159 +0 -0
- package/dist/server/pglite-data/base/5/4160 +0 -0
- package/dist/server/pglite-data/base/5/4163 +0 -0
- package/dist/server/pglite-data/base/5/4164 +0 -0
- package/dist/server/pglite-data/base/5/4165 +0 -0
- package/dist/server/pglite-data/base/5/4166 +0 -0
- package/dist/server/pglite-data/base/5/4167 +0 -0
- package/dist/server/pglite-data/base/5/4168 +0 -0
- package/dist/server/pglite-data/base/5/4169 +0 -0
- package/dist/server/pglite-data/base/5/4170 +0 -0
- package/dist/server/pglite-data/base/5/4171 +0 -0
- package/dist/server/pglite-data/base/5/4172 +0 -0
- package/dist/server/pglite-data/base/5/4173 +0 -0
- package/dist/server/pglite-data/base/5/4174 +0 -0
- package/dist/server/pglite-data/base/5/5002 +0 -0
- package/dist/server/pglite-data/base/5/548 +0 -0
- package/dist/server/pglite-data/base/5/549 +0 -0
- package/dist/server/pglite-data/base/5/6102 +0 -0
- package/dist/server/pglite-data/base/5/6104 +0 -0
- package/dist/server/pglite-data/base/5/6106 +0 -0
- package/dist/server/pglite-data/base/5/6110 +0 -0
- package/dist/server/pglite-data/base/5/6111 +0 -0
- package/dist/server/pglite-data/base/5/6112 +0 -0
- package/dist/server/pglite-data/base/5/6113 +0 -0
- package/dist/server/pglite-data/base/5/6116 +0 -0
- package/dist/server/pglite-data/base/5/6117 +0 -0
- package/dist/server/pglite-data/base/5/6175 +0 -0
- package/dist/server/pglite-data/base/5/6176 +0 -0
- package/dist/server/pglite-data/base/5/6228 +0 -0
- package/dist/server/pglite-data/base/5/6229 +0 -0
- package/dist/server/pglite-data/base/5/6237 +0 -0
- package/dist/server/pglite-data/base/5/6238 +0 -0
- package/dist/server/pglite-data/base/5/6239 +0 -0
- package/dist/server/pglite-data/base/5/6351 +0 -0
- package/dist/server/pglite-data/base/5/6352 +0 -0
- package/dist/server/pglite-data/base/5/826 +0 -0
- package/dist/server/pglite-data/base/5/827 +0 -0
- package/dist/server/pglite-data/base/5/828 +0 -0
- package/dist/server/pglite-data/base/5/PG_VERSION +0 -1
- package/dist/server/pglite-data/base/5/pg_filenode.map +0 -0
- package/dist/server/pglite-data/base/5/pg_internal.init +0 -0
- package/dist/server/pglite-data/global/1213 +0 -0
- package/dist/server/pglite-data/global/1213_fsm +0 -0
- package/dist/server/pglite-data/global/1213_vm +0 -0
- package/dist/server/pglite-data/global/1214 +0 -0
- package/dist/server/pglite-data/global/1232 +0 -0
- package/dist/server/pglite-data/global/1233 +0 -0
- package/dist/server/pglite-data/global/1260 +0 -0
- package/dist/server/pglite-data/global/1260_fsm +0 -0
- package/dist/server/pglite-data/global/1260_vm +0 -0
- package/dist/server/pglite-data/global/1261 +0 -0
- package/dist/server/pglite-data/global/1261_fsm +0 -0
- package/dist/server/pglite-data/global/1261_vm +0 -0
- package/dist/server/pglite-data/global/1262 +0 -0
- package/dist/server/pglite-data/global/1262_fsm +0 -0
- package/dist/server/pglite-data/global/1262_vm +0 -0
- package/dist/server/pglite-data/global/2396 +0 -0
- package/dist/server/pglite-data/global/2396_fsm +0 -0
- package/dist/server/pglite-data/global/2396_vm +0 -0
- package/dist/server/pglite-data/global/2397 +0 -0
- package/dist/server/pglite-data/global/2671 +0 -0
- package/dist/server/pglite-data/global/2672 +0 -0
- package/dist/server/pglite-data/global/2676 +0 -0
- package/dist/server/pglite-data/global/2677 +0 -0
- package/dist/server/pglite-data/global/2694 +0 -0
- package/dist/server/pglite-data/global/2695 +0 -0
- package/dist/server/pglite-data/global/2697 +0 -0
- package/dist/server/pglite-data/global/2698 +0 -0
- package/dist/server/pglite-data/global/2846 +0 -0
- package/dist/server/pglite-data/global/2847 +0 -0
- package/dist/server/pglite-data/global/2964 +0 -0
- package/dist/server/pglite-data/global/2965 +0 -0
- package/dist/server/pglite-data/global/2966 +0 -0
- package/dist/server/pglite-data/global/2967 +0 -0
- package/dist/server/pglite-data/global/3592 +0 -0
- package/dist/server/pglite-data/global/3593 +0 -0
- package/dist/server/pglite-data/global/4060 +0 -0
- package/dist/server/pglite-data/global/4061 +0 -0
- package/dist/server/pglite-data/global/4177 +0 -0
- package/dist/server/pglite-data/global/4178 +0 -0
- package/dist/server/pglite-data/global/4183 +0 -0
- package/dist/server/pglite-data/global/4184 +0 -0
- package/dist/server/pglite-data/global/4185 +0 -0
- package/dist/server/pglite-data/global/4186 +0 -0
- package/dist/server/pglite-data/global/6000 +0 -0
- package/dist/server/pglite-data/global/6001 +0 -0
- package/dist/server/pglite-data/global/6002 +0 -0
- package/dist/server/pglite-data/global/6100 +0 -0
- package/dist/server/pglite-data/global/6114 +0 -0
- package/dist/server/pglite-data/global/6115 +0 -0
- package/dist/server/pglite-data/global/6243 +0 -0
- package/dist/server/pglite-data/global/6244 +0 -0
- package/dist/server/pglite-data/global/6245 +0 -0
- package/dist/server/pglite-data/global/6246 +0 -0
- package/dist/server/pglite-data/global/6247 +0 -0
- package/dist/server/pglite-data/global/6302 +0 -0
- package/dist/server/pglite-data/global/6303 +0 -0
- package/dist/server/pglite-data/global/pg_control +0 -0
- package/dist/server/pglite-data/global/pg_filenode.map +0 -0
- package/dist/server/pglite-data/global/pg_internal.init +0 -0
- package/dist/server/pglite-data/pg_hba.conf +0 -126
- package/dist/server/pglite-data/pg_ident.conf +0 -72
- package/dist/server/pglite-data/pg_logical/replorigin_checkpoint +0 -0
- package/dist/server/pglite-data/pg_multixact/members/0000 +0 -0
- package/dist/server/pglite-data/pg_multixact/offsets/0000 +0 -0
- package/dist/server/pglite-data/pg_subtrans/0000 +0 -0
- package/dist/server/pglite-data/pg_wal/000000010000000000000001 +0 -0
- package/dist/server/pglite-data/pg_xact/0000 +0 -0
- package/dist/server/pglite-data/postgresql.auto.conf +0 -2
- package/dist/server/pglite-data/postgresql.conf +0 -888
- package/dist/server/pglite-data/postmaster.pid +0 -7
- package/dist/server/src/app.test.ts +0 -45
- package/dist/server/src/app.ts +0 -29
- package/dist/server/src/grpc.ts +0 -170
- package/dist/server/src/index.ts +0 -23
- package/dist/server/src/lib/async-handler.ts +0 -9
- package/dist/server/src/lib/run-task.ts +0 -108
- package/dist/server/src/routes/benchmarks.ts +0 -150
- package/dist/server/src/routes/metrics.ts +0 -110
- package/dist/server/src/routes/projects.ts +0 -52
- package/dist/server/src/routes/prompt-versions.ts +0 -41
- package/dist/server/src/routes/providers.ts +0 -70
- package/dist/server/src/routes/reports.ts +0 -54
- package/dist/server/src/routes/router.ts +0 -62
- package/dist/server/src/routes/tasks.ts +0 -151
- package/dist/server/tsconfig.json +0 -8
- package/dist/web/App.d.ts +0 -3
- package/dist/web/App.d.ts.map +0 -1
- package/dist/web/App.js +0 -39
- package/dist/web/App.js.map +0 -1
- package/dist/web/assets/index-BD8kY1aj.css +0 -1
- package/dist/web/assets/index-Dkm6k3Ip.js +0 -40
- package/dist/web/components/ProjectSidebar.d.ts +0 -18
- package/dist/web/components/ProjectSidebar.d.ts.map +0 -1
- package/dist/web/components/ProjectSidebar.js +0 -16
- package/dist/web/components/ProjectSidebar.js.map +0 -1
- package/dist/web/components/ProviderSettings.d.ts +0 -16
- package/dist/web/components/ProviderSettings.d.ts.map +0 -1
- package/dist/web/components/ProviderSettings.js +0 -41
- package/dist/web/components/ProviderSettings.js.map +0 -1
- package/dist/web/components/RouterPanel.d.ts +0 -2
- package/dist/web/components/RouterPanel.d.ts.map +0 -1
- package/dist/web/components/RouterPanel.js +0 -31
- package/dist/web/components/RouterPanel.js.map +0 -1
- package/dist/web/components/TaskBoard.d.ts +0 -20
- package/dist/web/components/TaskBoard.d.ts.map +0 -1
- package/dist/web/components/TaskBoard.js +0 -60
- package/dist/web/components/TaskBoard.js.map +0 -1
- package/dist/web/dist/App.d.ts +0 -3
- package/dist/web/dist/App.d.ts.map +0 -1
- package/dist/web/dist/App.js +0 -41
- package/dist/web/dist/App.js.map +0 -1
- package/dist/web/dist/assets/index-BD8kY1aj.css +0 -1
- package/dist/web/dist/assets/index-BVjHH_u_.js +0 -40
- package/dist/web/dist/assets/index-B_XBuJZF.js +0 -40
- package/dist/web/dist/assets/index-BkzWwMOJ.js +0 -40
- package/dist/web/dist/assets/index-CL9S3Jj5.js +0 -40
- package/dist/web/dist/assets/index-CP84vBfp.js +0 -40
- package/dist/web/dist/assets/index-CcB5ffO8.js +0 -40
- package/dist/web/dist/assets/index-CcDem7e3.js +0 -40
- package/dist/web/dist/assets/index-Ce9D9lg5.css +0 -1
- package/dist/web/dist/assets/index-D4rY_mY0.css +0 -1
- package/dist/web/dist/assets/index-DE4b_m6Q.css +0 -1
- package/dist/web/dist/assets/index-DHQbiQAM.css +0 -1
- package/dist/web/dist/assets/index-Dkm6k3Ip.js +0 -40
- package/dist/web/dist/assets/index-DwxpCs63.css +0 -1
- package/dist/web/dist/assets/index-bU-GzLxD.css +0 -1
- package/dist/web/dist/assets/index-iY2pDoq8.css +0 -1
- package/dist/web/dist/components/ProjectSidebar.d.ts +0 -18
- package/dist/web/dist/components/ProjectSidebar.d.ts.map +0 -1
- package/dist/web/dist/components/ProjectSidebar.js +0 -16
- package/dist/web/dist/components/ProjectSidebar.js.map +0 -1
- package/dist/web/dist/components/ProviderSettings.d.ts +0 -16
- package/dist/web/dist/components/ProviderSettings.d.ts.map +0 -1
- package/dist/web/dist/components/ProviderSettings.js +0 -41
- package/dist/web/dist/components/ProviderSettings.js.map +0 -1
- package/dist/web/dist/components/RouterPanel.d.ts +0 -2
- package/dist/web/dist/components/RouterPanel.d.ts.map +0 -1
- package/dist/web/dist/components/RouterPanel.js +0 -31
- package/dist/web/dist/components/RouterPanel.js.map +0 -1
- package/dist/web/dist/components/TaskBoard.d.ts +0 -20
- package/dist/web/dist/components/TaskBoard.d.ts.map +0 -1
- package/dist/web/dist/components/TaskBoard.js +0 -60
- package/dist/web/dist/components/TaskBoard.js.map +0 -1
- package/dist/web/dist/lib/api.d.ts +0 -36
- package/dist/web/dist/lib/api.d.ts.map +0 -1
- package/dist/web/dist/lib/api.js +0 -36
- package/dist/web/dist/lib/api.js.map +0 -1
- package/dist/web/dist/main.d.ts +0 -2
- package/dist/web/dist/main.d.ts.map +0 -1
- package/dist/web/dist/main.js +0 -11
- package/dist/web/dist/main.js.map +0 -1
- package/dist/web/lib/api.d.ts +0 -30
- package/dist/web/lib/api.d.ts.map +0 -1
- package/dist/web/lib/api.js +0 -27
- package/dist/web/lib/api.js.map +0 -1
- package/dist/web/main.d.ts +0 -2
- package/dist/web/main.d.ts.map +0 -1
- package/dist/web/main.js +0 -7
- package/dist/web/main.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -320,7 +320,6 @@ var init_tui = __esm({
|
|
|
320
320
|
|
|
321
321
|
// ../../apps/cli/src/index.ts
|
|
322
322
|
import { program as program2 } from "commander";
|
|
323
|
-
import { createRequire } from "node:module";
|
|
324
323
|
|
|
325
324
|
// ../../apps/cli/src/commands/project.ts
|
|
326
325
|
import { Command } from "commander";
|
|
@@ -331,8 +330,8 @@ function getApiUrl() {
|
|
|
331
330
|
const opts = program.opts();
|
|
332
331
|
return opts.api ?? "http://localhost:4000";
|
|
333
332
|
}
|
|
334
|
-
async function apiFetch(
|
|
335
|
-
const url = `${getApiUrl()}${
|
|
333
|
+
async function apiFetch(path10, init) {
|
|
334
|
+
const url = `${getApiUrl()}${path10}`;
|
|
336
335
|
const res = await fetch(url, init);
|
|
337
336
|
const data = await res.json().catch(() => ({}));
|
|
338
337
|
if (!res.ok) {
|
|
@@ -735,8 +734,8 @@ function getOutputDir() {
|
|
|
735
734
|
}
|
|
736
735
|
try {
|
|
737
736
|
const __filename3 = fileURLToPath3(import.meta.url);
|
|
738
|
-
const
|
|
739
|
-
return path3.join(path3.resolve(
|
|
737
|
+
const __dirname3 = path3.dirname(__filename3);
|
|
738
|
+
return path3.join(path3.resolve(__dirname3, "../../../.."), "packages/skills/src");
|
|
740
739
|
} catch {
|
|
741
740
|
return path3.join(process.cwd(), "harness-skills");
|
|
742
741
|
}
|
|
@@ -820,8 +819,7 @@ agentCmd.command("diffs").description("Show diffs for a task").argument("<id>",
|
|
|
820
819
|
|
|
821
820
|
// ../../apps/cli/src/commands/bench.ts
|
|
822
821
|
import { Command as Command8 } from "commander";
|
|
823
|
-
import
|
|
824
|
-
import path10 from "node:path";
|
|
822
|
+
import path9 from "node:path";
|
|
825
823
|
|
|
826
824
|
// ../bench/dist/api-client.js
|
|
827
825
|
var ApiError = class extends Error {
|
|
@@ -838,15 +836,15 @@ async function apiFetch2(url, init) {
|
|
|
838
836
|
}
|
|
839
837
|
return res.json();
|
|
840
838
|
}
|
|
841
|
-
async function ensureProject2(apiUrl, name,
|
|
839
|
+
async function ensureProject2(apiUrl, name, path10) {
|
|
842
840
|
const res = await fetch(`${apiUrl}/projects`, {
|
|
843
841
|
method: "POST",
|
|
844
842
|
headers: { "Content-Type": "application/json" },
|
|
845
|
-
body: JSON.stringify({ name, path:
|
|
843
|
+
body: JSON.stringify({ name, path: path10 })
|
|
846
844
|
});
|
|
847
845
|
if (res.status === 409) {
|
|
848
|
-
const projects = await fetch(`${apiUrl}/projects?path=${encodeURIComponent(
|
|
849
|
-
const existing = projects.find((p) => p.path ===
|
|
846
|
+
const projects = await fetch(`${apiUrl}/projects?path=${encodeURIComponent(path10)}`).then((r) => r.json());
|
|
847
|
+
const existing = projects.find((p) => p.path === path10);
|
|
850
848
|
if (existing)
|
|
851
849
|
return existing;
|
|
852
850
|
}
|
|
@@ -904,6 +902,13 @@ async function getTraceFlow(apiUrl, taskId) {
|
|
|
904
902
|
return void 0;
|
|
905
903
|
}
|
|
906
904
|
}
|
|
905
|
+
async function getPromptVersion(apiUrl, id) {
|
|
906
|
+
try {
|
|
907
|
+
return await apiFetch2(`${apiUrl}/prompt-versions/${id}`);
|
|
908
|
+
} catch {
|
|
909
|
+
return void 0;
|
|
910
|
+
}
|
|
911
|
+
}
|
|
907
912
|
function countSpans(node) {
|
|
908
913
|
let count = 1;
|
|
909
914
|
if (Array.isArray(node.children)) {
|
|
@@ -936,7 +941,7 @@ function ensureGitRepo(repoPath) {
|
|
|
936
941
|
execSync('git commit -m "bench init"', { cwd: repoPath, stdio: "ignore" });
|
|
937
942
|
}
|
|
938
943
|
async function runBenchmark(tasks, options) {
|
|
939
|
-
const { apiUrl, suiteName, timeoutMs = 12e4, projectPrefix = "bench"
|
|
944
|
+
const { apiUrl, suiteName, timeoutMs = 12e4, projectPrefix = "bench" } = options;
|
|
940
945
|
const report = {
|
|
941
946
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
942
947
|
suite: suiteName,
|
|
@@ -959,6 +964,7 @@ async function runBenchmark(tasks, options) {
|
|
|
959
964
|
let evaluation = { passed: false, message: "Task did not complete" };
|
|
960
965
|
let projectId = "";
|
|
961
966
|
let projectPath = "";
|
|
967
|
+
let promptVersion = void 0;
|
|
962
968
|
try {
|
|
963
969
|
projectPath = path4.join(baseDir, task.id);
|
|
964
970
|
await fs.mkdir(projectPath, { recursive: true });
|
|
@@ -974,21 +980,24 @@ async function runBenchmark(tasks, options) {
|
|
|
974
980
|
tags: ["benchmark", "agent"]
|
|
975
981
|
});
|
|
976
982
|
harnessTaskId = harnessTask.id;
|
|
977
|
-
if (provider || model) {
|
|
983
|
+
if (options.provider || options.model) {
|
|
978
984
|
await fetch(`${apiUrl}/tasks/${harnessTaskId}`, {
|
|
979
985
|
method: "PATCH",
|
|
980
986
|
headers: { "Content-Type": "application/json" },
|
|
981
|
-
body: JSON.stringify({ provider, model })
|
|
987
|
+
body: JSON.stringify({ provider: options.provider, model: options.model })
|
|
982
988
|
});
|
|
983
989
|
}
|
|
984
990
|
await runTask(apiUrl, harnessTask.id);
|
|
985
991
|
const finished = await waitForTask(apiUrl, harnessTask.id, timeoutMs);
|
|
986
|
-
|
|
992
|
+
status = finished.status === "timeout" ? "timeout" : finished.status;
|
|
987
993
|
[agentRun, diffs, traceFlow] = await Promise.all([
|
|
988
994
|
getAgentRun(apiUrl, harnessTask.id),
|
|
989
995
|
getDiffs(apiUrl, harnessTask.id),
|
|
990
996
|
getTraceFlow(apiUrl, harnessTask.id)
|
|
991
997
|
]);
|
|
998
|
+
if (agentRun?.promptVersionId) {
|
|
999
|
+
promptVersion = await getPromptVersion(apiUrl, agentRun.promptVersionId);
|
|
1000
|
+
}
|
|
992
1001
|
evaluation = await task.evaluate({
|
|
993
1002
|
apiUrl,
|
|
994
1003
|
taskId: harnessTask.id,
|
|
@@ -998,13 +1007,11 @@ async function runBenchmark(tasks, options) {
|
|
|
998
1007
|
diffs,
|
|
999
1008
|
traceFlow
|
|
1000
1009
|
});
|
|
1001
|
-
status = harnessStatus === "timeout" ? "timeout" : evaluation.passed ? "done" : "failed";
|
|
1002
1010
|
} catch (err) {
|
|
1003
1011
|
evaluation = {
|
|
1004
1012
|
passed: false,
|
|
1005
1013
|
message: err instanceof Error ? err.message : String(err)
|
|
1006
1014
|
};
|
|
1007
|
-
status = "failed";
|
|
1008
1015
|
}
|
|
1009
1016
|
const durationMs = Date.now() - start;
|
|
1010
1017
|
const result = {
|
|
@@ -1014,7 +1021,9 @@ async function runBenchmark(tasks, options) {
|
|
|
1014
1021
|
status,
|
|
1015
1022
|
evaluation,
|
|
1016
1023
|
agentRun,
|
|
1017
|
-
spanCount: countAllSpans(traceFlow)
|
|
1024
|
+
spanCount: countAllSpans(traceFlow),
|
|
1025
|
+
promptVersionId: agentRun?.promptVersionId,
|
|
1026
|
+
promptHash: promptVersion?.hash
|
|
1018
1027
|
};
|
|
1019
1028
|
if (status === "timeout")
|
|
1020
1029
|
report.timeouts++;
|
|
@@ -1026,6 +1035,11 @@ async function runBenchmark(tasks, options) {
|
|
|
1026
1035
|
report.results.push(result);
|
|
1027
1036
|
options.onProgress?.(result);
|
|
1028
1037
|
}
|
|
1038
|
+
if (report.results.length > 0) {
|
|
1039
|
+
const latestResult = report.results[report.results.length - 1];
|
|
1040
|
+
report.promptVersionId = latestResult.promptVersionId;
|
|
1041
|
+
report.promptHash = latestResult.promptHash;
|
|
1042
|
+
}
|
|
1029
1043
|
return report;
|
|
1030
1044
|
}
|
|
1031
1045
|
|
|
@@ -1053,7 +1067,7 @@ async function writeReport(report, outputDir = ".omega/reports") {
|
|
|
1053
1067
|
const jsonFile = path5.join(outputDir, `benchmark-${ts}.json`);
|
|
1054
1068
|
const mdFile = path5.join(outputDir, `benchmark-${ts}.md`);
|
|
1055
1069
|
await fs2.writeFile(jsonFile, JSON.stringify(report, null, 2), "utf-8");
|
|
1056
|
-
const
|
|
1070
|
+
const passRate = report.total > 0 ? Math.round(report.passed / report.total * 100) : 0;
|
|
1057
1071
|
const md = [
|
|
1058
1072
|
"# Omega Benchmark Report",
|
|
1059
1073
|
"",
|
|
@@ -1063,7 +1077,7 @@ async function writeReport(report, outputDir = ".omega/reports") {
|
|
|
1063
1077
|
`- Passed: ${String(report.passed)}`,
|
|
1064
1078
|
`- Failed: ${String(report.failed)}`,
|
|
1065
1079
|
`- Timeouts: ${String(report.timeouts)}`,
|
|
1066
|
-
`- Pass rate: ${String(
|
|
1080
|
+
`- Pass rate: ${String(passRate)}%`,
|
|
1067
1081
|
`- Total duration: ${formatDuration(report.totalDurationMs)}`,
|
|
1068
1082
|
"",
|
|
1069
1083
|
"## Results",
|
|
@@ -1081,11 +1095,11 @@ async function writeReport(report, outputDir = ".omega/reports") {
|
|
|
1081
1095
|
return jsonFile;
|
|
1082
1096
|
}
|
|
1083
1097
|
function printSummary(report) {
|
|
1084
|
-
const
|
|
1098
|
+
const passRate = report.total > 0 ? Math.round(report.passed / report.total * 100) : 0;
|
|
1085
1099
|
console.log(`
|
|
1086
1100
|
Benchmark: ${report.suite}`);
|
|
1087
1101
|
console.log(`Total: ${String(report.total)} | Passed: ${String(report.passed)} | Failed: ${String(report.failed)} | Timeouts: ${String(report.timeouts)}`);
|
|
1088
|
-
console.log(`Pass rate: ${String(
|
|
1102
|
+
console.log(`Pass rate: ${String(passRate)}%`);
|
|
1089
1103
|
console.log(`Duration: ${formatDuration(report.totalDurationMs)}`);
|
|
1090
1104
|
for (const r of report.results) {
|
|
1091
1105
|
console.log(resultLine(r, report.results.indexOf(r)));
|
|
@@ -1131,28 +1145,6 @@ function basePackage() {
|
|
|
1131
1145
|
}
|
|
1132
1146
|
};
|
|
1133
1147
|
}
|
|
1134
|
-
function simpleTask(id, name, title, description, files, complexity = "simple") {
|
|
1135
|
-
return {
|
|
1136
|
-
id,
|
|
1137
|
-
name,
|
|
1138
|
-
title,
|
|
1139
|
-
description,
|
|
1140
|
-
complexity,
|
|
1141
|
-
setup: async (projectPath) => {
|
|
1142
|
-
await writeJson(projectPath, "package.json", basePackage());
|
|
1143
|
-
for (const [file, content] of Object.entries(files)) {
|
|
1144
|
-
await writeFile2(projectPath, file, content);
|
|
1145
|
-
}
|
|
1146
|
-
if (!files["lint.js"])
|
|
1147
|
-
await writeFile2(projectPath, "lint.js", `console.log('lint ok');
|
|
1148
|
-
`);
|
|
1149
|
-
if (!files["build.js"])
|
|
1150
|
-
await writeFile2(projectPath, "build.js", `console.log('build ok');
|
|
1151
|
-
`);
|
|
1152
|
-
},
|
|
1153
|
-
evaluate: (ctx) => Promise.resolve(validate(ctx))
|
|
1154
|
-
};
|
|
1155
|
-
}
|
|
1156
1148
|
var TASKS = [
|
|
1157
1149
|
{
|
|
1158
1150
|
id: "greet-function",
|
|
@@ -1245,259 +1237,6 @@ console.log('constant test passed');
|
|
|
1245
1237
|
},
|
|
1246
1238
|
evaluate: (ctx) => Promise.resolve(validate(ctx))
|
|
1247
1239
|
},
|
|
1248
|
-
simpleTask("sum-function", "Add a sum function", "Add math.js with a sum function", "Create math.js that exports sum(a, b) returning the numeric sum of the two arguments.", {
|
|
1249
|
-
"test.js": `import { sum } from './math.js';
|
|
1250
|
-
import assert from 'node:assert';
|
|
1251
|
-
assert.strictEqual(sum(2, 3), 5);
|
|
1252
|
-
assert.strictEqual(sum(-1, 1), 0);
|
|
1253
|
-
console.log('sum test passed');
|
|
1254
|
-
`
|
|
1255
|
-
}),
|
|
1256
|
-
simpleTask("reverse-string", "Add reverse string function", "Add string.js with reverse function", "Create string.js that exports reverse(str) returning the input string reversed.", {
|
|
1257
|
-
"test.js": `import { reverse } from './string.js';
|
|
1258
|
-
import assert from 'node:assert';
|
|
1259
|
-
assert.strictEqual(reverse('abc'), 'cba');
|
|
1260
|
-
assert.strictEqual(reverse('Hello'), 'olleH');
|
|
1261
|
-
console.log('reverse test passed');
|
|
1262
|
-
`
|
|
1263
|
-
}),
|
|
1264
|
-
simpleTask("is-even", "Add isEven helper", "Add helpers.js with isEven function", "Create helpers.js that exports isEven(n) returning true when n is divisible by 2.", {
|
|
1265
|
-
"test.js": `import { isEven } from './helpers.js';
|
|
1266
|
-
import assert from 'node:assert';
|
|
1267
|
-
assert.strictEqual(isEven(4), true);
|
|
1268
|
-
assert.strictEqual(isEven(3), false);
|
|
1269
|
-
console.log('isEven test passed');
|
|
1270
|
-
`
|
|
1271
|
-
}),
|
|
1272
|
-
simpleTask("uppercase-first", "Uppercase first letter", "Add capitalize.js with capitalize function", "Create capitalize.js that exports capitalize(str) returning the string with the first character upper-cased.", {
|
|
1273
|
-
"test.js": `import { capitalize } from './capitalize.js';
|
|
1274
|
-
import assert from 'node:assert';
|
|
1275
|
-
assert.strictEqual(capitalize('hello'), 'Hello');
|
|
1276
|
-
assert.strictEqual(capitalize(''), '');
|
|
1277
|
-
console.log('capitalize test passed');
|
|
1278
|
-
`
|
|
1279
|
-
}),
|
|
1280
|
-
simpleTask("remove-console-log", "Remove debug console.log", "Clean up debug logging", "Remove the console.log call from src/main.js so the linter passes. Do not change the exported function behavior.", {
|
|
1281
|
-
"src/main.js": `export function run() { console.log('debug'); return 'ok'; }
|
|
1282
|
-
`,
|
|
1283
|
-
"test.js": `import { run } from './src/main.js';
|
|
1284
|
-
import assert from 'node:assert';
|
|
1285
|
-
assert.strictEqual(run(), 'ok');
|
|
1286
|
-
console.log('run test passed');
|
|
1287
|
-
`,
|
|
1288
|
-
"lint.js": `import fs from 'node:fs/promises';
|
|
1289
|
-
const code = await fs.readFile('./src/main.js', 'utf-8');
|
|
1290
|
-
if (code.includes('console.log')) { console.error('lint failed: console.log found'); process.exit(1); }
|
|
1291
|
-
console.log('lint ok');
|
|
1292
|
-
`
|
|
1293
|
-
}),
|
|
1294
|
-
simpleTask("fix-indentation", "Fix indentation", "Normalize indentation in src/code.js", "Convert the mixed tabs/spaces indentation in src/code.js to two spaces so the lint script passes. Keep behavior.", {
|
|
1295
|
-
"src/code.js": `export function add(a, b) {
|
|
1296
|
-
return a + b;
|
|
1297
|
-
}
|
|
1298
|
-
`,
|
|
1299
|
-
"test.js": `import { add } from './src/code.js';
|
|
1300
|
-
import assert from 'node:assert';
|
|
1301
|
-
assert.strictEqual(add(1, 2), 3);
|
|
1302
|
-
console.log('add test passed');
|
|
1303
|
-
`,
|
|
1304
|
-
"lint.js": `import fs from 'node:fs/promises';
|
|
1305
|
-
const code = await fs.readFile('./src/code.js', 'utf-8');
|
|
1306
|
-
if (code.includes('\\t')) { console.error('lint failed: tabs found'); process.exit(1); }
|
|
1307
|
-
console.log('lint ok');
|
|
1308
|
-
`
|
|
1309
|
-
}),
|
|
1310
|
-
simpleTask("arrow-function", "Convert to arrow function", "Refactor src/math.js to use arrow function", "Rewrite src/math.js so double is defined as a const arrow function. Do not change behavior.", {
|
|
1311
|
-
"src/math.js": `export function double(n) { return n * 2; }
|
|
1312
|
-
`,
|
|
1313
|
-
"test.js": `import fs from 'node:fs/promises';
|
|
1314
|
-
import { double } from './src/math.js';
|
|
1315
|
-
import assert from 'node:assert';
|
|
1316
|
-
const code = await fs.readFile('./src/math.js', 'utf-8');
|
|
1317
|
-
assert.strictEqual(double(5), 10);
|
|
1318
|
-
if (!code.includes('=>')) { console.error('lint failed: not arrow function'); process.exit(1); }
|
|
1319
|
-
console.log('arrow test passed');
|
|
1320
|
-
`
|
|
1321
|
-
}),
|
|
1322
|
-
simpleTask("default-export", "Add a default export", "Make greet the default export", "Update greet.js so the greet function is the default export instead of a named export. Update the test accordingly.", {
|
|
1323
|
-
"greet.js": `export function greet(name) { return 'Hello, ' + name + '!'; }
|
|
1324
|
-
`,
|
|
1325
|
-
"test.js": `import greet from './greet.js';
|
|
1326
|
-
import assert from 'node:assert';
|
|
1327
|
-
assert.strictEqual(greet('World'), 'Hello, World!');
|
|
1328
|
-
console.log('default export test passed');
|
|
1329
|
-
`
|
|
1330
|
-
}),
|
|
1331
|
-
simpleTask("update-env", "Update environment variable default", "Set PORT in .env", "Create or update .env so it contains PORT=3000.", {
|
|
1332
|
-
"test.js": `import { readFile } from 'node:fs/promises';
|
|
1333
|
-
const env = await readFile('./.env', 'utf-8');
|
|
1334
|
-
if (!env.includes('PORT=3000')) { console.error('PORT=3000 not found'); process.exit(1); }
|
|
1335
|
-
console.log('env test passed');
|
|
1336
|
-
`
|
|
1337
|
-
}),
|
|
1338
|
-
simpleTask("add-package-script", "Add package script", "Add a format script to package.json", "Edit package.json to add a format script with value prettier --write .. Do not remove existing scripts.", {
|
|
1339
|
-
"test.js": `import { readFile } from 'node:fs/promises';
|
|
1340
|
-
const pkg = JSON.parse(await readFile('./package.json', 'utf-8'));
|
|
1341
|
-
if (pkg.scripts?.format !== 'prettier --write .') { console.error('format script missing'); process.exit(1); }
|
|
1342
|
-
console.log('package script test passed');
|
|
1343
|
-
`
|
|
1344
|
-
}),
|
|
1345
|
-
simpleTask("update-readme", "Update README heading", "Fix the README title", "Update README.md so the first line is # Omega Synthetic Bench instead of # Old Title.", {
|
|
1346
|
-
"README.md": `# Old Title
|
|
1347
|
-
|
|
1348
|
-
This is a sample project.
|
|
1349
|
-
`,
|
|
1350
|
-
"test.js": `import { readFile } from 'node:fs/promises';
|
|
1351
|
-
const readme = await readFile('./README.md', 'utf-8');
|
|
1352
|
-
if (!readme.startsWith('# Omega Synthetic Bench')) { console.error('README heading wrong'); process.exit(1); }
|
|
1353
|
-
console.log('readme test passed');
|
|
1354
|
-
`
|
|
1355
|
-
}),
|
|
1356
|
-
simpleTask("rename-variable", "Rename a variable", "Rename x to value", "In src/calc.js, rename the parameter x to value everywhere. Do not change behavior.", {
|
|
1357
|
-
"src/calc.js": `export function calc(x) { return x * 2; }
|
|
1358
|
-
`,
|
|
1359
|
-
"test.js": `import { calc } from './src/calc.js';
|
|
1360
|
-
import assert from 'node:assert';
|
|
1361
|
-
assert.strictEqual(calc(4), 8);
|
|
1362
|
-
console.log('rename test passed');
|
|
1363
|
-
`,
|
|
1364
|
-
"lint.js": `import fs from 'node:fs/promises';
|
|
1365
|
-
const code = await fs.readFile('./src/calc.js', 'utf-8');
|
|
1366
|
-
if (code.includes('(x)') || code.includes(' x ')) { console.error('old variable name found'); process.exit(1); }
|
|
1367
|
-
console.log('lint ok');
|
|
1368
|
-
`
|
|
1369
|
-
}),
|
|
1370
|
-
simpleTask("add-input-validation", "Add input validation", "Validate input in divide function", "Update src/divide.js so divide(a, b) throws an error when b is 0.", {
|
|
1371
|
-
"src/divide.js": `export function divide(a, b) { return a / b; }
|
|
1372
|
-
`,
|
|
1373
|
-
"test.js": `import { divide } from './src/divide.js';
|
|
1374
|
-
import assert from 'node:assert';
|
|
1375
|
-
assert.strictEqual(divide(10, 2), 5);
|
|
1376
|
-
try { divide(1, 0); console.error('should throw'); process.exit(1); } catch { }
|
|
1377
|
-
console.log('divide test passed');
|
|
1378
|
-
`
|
|
1379
|
-
}),
|
|
1380
|
-
simpleTask("handle-empty-array", "Handle empty array", "Make sumAll handle empty arrays", "Update src/sumAll.js so sumAll([]) returns 0 instead of throwing.", {
|
|
1381
|
-
"src/sumAll.js": `export function sumAll(numbers) { return numbers.reduce((a, b) => a + b); }
|
|
1382
|
-
`,
|
|
1383
|
-
"test.js": `import { sumAll } from './src/sumAll.js';
|
|
1384
|
-
import assert from 'node:assert';
|
|
1385
|
-
assert.strictEqual(sumAll([1, 2, 3]), 6);
|
|
1386
|
-
assert.strictEqual(sumAll([]), 0);
|
|
1387
|
-
console.log('sumAll test passed');
|
|
1388
|
-
`
|
|
1389
|
-
}),
|
|
1390
|
-
simpleTask("add-unit-test", "Add a unit test", "Write a test for multiply", "Create src/multiply.js exporting multiply(a, b). Then create test.js that asserts multiply(3, 4) === 12.", {
|
|
1391
|
-
"src/multiply.js": `export function multiply(a, b) { return a * b; }
|
|
1392
|
-
`,
|
|
1393
|
-
"test.js": `// replace with proper tests
|
|
1394
|
-
`,
|
|
1395
|
-
"lint.js": `import fs from 'node:fs/promises';
|
|
1396
|
-
const test = await fs.readFile('./test.js', 'utf-8');
|
|
1397
|
-
if (!test.includes('multiply')) { console.error('test does not cover multiply'); process.exit(1); }
|
|
1398
|
-
console.log('lint ok');
|
|
1399
|
-
`
|
|
1400
|
-
}),
|
|
1401
|
-
simpleTask("create-module-index", "Create module index", "Export all helpers from index.js", "Create src/index.js that re-exports foo from ./foo.js and bar from ./bar.js.", {
|
|
1402
|
-
"src/foo.js": `export const foo = 'foo';
|
|
1403
|
-
`,
|
|
1404
|
-
"src/bar.js": `export const bar = 'bar';
|
|
1405
|
-
`,
|
|
1406
|
-
"test.js": `import { foo, bar } from './src/index.js';
|
|
1407
|
-
import assert from 'node:assert';
|
|
1408
|
-
assert.strictEqual(foo, 'foo');
|
|
1409
|
-
assert.strictEqual(bar, 'bar');
|
|
1410
|
-
console.log('index test passed');
|
|
1411
|
-
`
|
|
1412
|
-
}),
|
|
1413
|
-
simpleTask("add-async-function", "Add async fetch wrapper", "Create fetchText function", "Create src/fetch.js exporting fetchText(url) that returns a Promise resolving to the string fetched: <url>.", {
|
|
1414
|
-
"test.js": `import { fetchText } from './src/fetch.js';
|
|
1415
|
-
import assert from 'node:assert';
|
|
1416
|
-
const result = await fetchText('https://example.com');
|
|
1417
|
-
assert.strictEqual(result, 'fetched: https://example.com');
|
|
1418
|
-
console.log('fetch test passed');
|
|
1419
|
-
`
|
|
1420
|
-
}),
|
|
1421
|
-
simpleTask("add-try-catch", "Wrap parsing in try/catch", "Make safeParse not throw", "Update src/parse.js so safeParse(str) returns null when JSON parsing fails instead of throwing.", {
|
|
1422
|
-
"src/parse.js": `export function safeParse(str) { return JSON.parse(str); }
|
|
1423
|
-
`,
|
|
1424
|
-
"test.js": `import { safeParse } from './src/parse.js';
|
|
1425
|
-
import assert from 'node:assert';
|
|
1426
|
-
assert.deepStrictEqual(safeParse('{"a":1}'), { a: 1 });
|
|
1427
|
-
assert.strictEqual(safeParse('not json'), null);
|
|
1428
|
-
console.log('safeParse test passed');
|
|
1429
|
-
`
|
|
1430
|
-
}),
|
|
1431
|
-
simpleTask("timeout-promise", "Add delay helper", "Create sleep(ms) helper", "Create src/time.js exporting sleep(ms) that returns a Promise resolving after ms milliseconds.", {
|
|
1432
|
-
"test.js": `import { sleep } from './src/time.js';
|
|
1433
|
-
const start = Date.now();
|
|
1434
|
-
await sleep(50);
|
|
1435
|
-
if (Date.now() - start < 40) { console.error('sleep too short'); process.exit(1); }
|
|
1436
|
-
console.log('sleep test passed');
|
|
1437
|
-
`
|
|
1438
|
-
}),
|
|
1439
|
-
simpleTask("read-test-path", "Create file at path from test", "Create lib/helpers.js with capitalize function", "Create a file that exports a capitalize(str) function. Read the existing test to find the exact import path and expected output.", {
|
|
1440
|
-
"test.js": `import { capitalize } from './lib/helpers.js';
|
|
1441
|
-
import assert from 'node:assert';
|
|
1442
|
-
assert.strictEqual(capitalize('hello'), 'Hello');
|
|
1443
|
-
console.log('capitalize test passed');
|
|
1444
|
-
`
|
|
1445
|
-
}, "medium"),
|
|
1446
|
-
simpleTask("add-cli-args-parser", "Add CLI argument parser", "Create parseArgs function", "Create src/args.js exporting parseArgs(argv) that returns an object from --key value pairs.", {
|
|
1447
|
-
"test.js": `import { parseArgs } from './src/args.js';
|
|
1448
|
-
import assert from 'node:assert';
|
|
1449
|
-
assert.deepStrictEqual(parseArgs(['--name', 'x', '--count', '2']), { name: 'x', count: '2' });
|
|
1450
|
-
console.log('args test passed');
|
|
1451
|
-
`
|
|
1452
|
-
}, "medium"),
|
|
1453
|
-
simpleTask("create-middleware", "Create logging middleware", "Add logger middleware", "Create src/middleware.js exporting logger(req, next) that calls next(), increments req.logCount and returns the result.", {
|
|
1454
|
-
"test.js": `import { logger } from './src/middleware.js';
|
|
1455
|
-
import assert from 'node:assert';
|
|
1456
|
-
const req = { logCount: 0 };
|
|
1457
|
-
const result = logger(req, () => 'done');
|
|
1458
|
-
assert.strictEqual(result, 'done');
|
|
1459
|
-
assert.strictEqual(req.logCount, 1);
|
|
1460
|
-
console.log('middleware test passed');
|
|
1461
|
-
`
|
|
1462
|
-
}, "medium"),
|
|
1463
|
-
simpleTask("add-throttle", "Add throttle helper", "Create throttle function", "Create src/throttle.js exporting throttle(fn, ms) that returns a throttled function (only calls fn at most once per ms).", {
|
|
1464
|
-
"test.js": `import { throttle } from './src/throttle.js';
|
|
1465
|
-
import assert from 'node:assert';
|
|
1466
|
-
let calls = 0;
|
|
1467
|
-
const fn = throttle(() => calls++, 100);
|
|
1468
|
-
fn(); fn(); fn();
|
|
1469
|
-
assert.strictEqual(calls, 1);
|
|
1470
|
-
console.log('throttle test passed');
|
|
1471
|
-
`
|
|
1472
|
-
}, "medium"),
|
|
1473
|
-
simpleTask("memoize-function", "Add memoize helper", "Create memoize function", "Create src/memoize.js exporting memoize(fn) that caches results by first argument.", {
|
|
1474
|
-
"test.js": `import { memoize } from './src/memoize.js';
|
|
1475
|
-
import assert from 'node:assert';
|
|
1476
|
-
let calls = 0;
|
|
1477
|
-
const fn = memoize((n) => { calls++; return n * 2; });
|
|
1478
|
-
assert.strictEqual(fn(3), 6);
|
|
1479
|
-
assert.strictEqual(fn(3), 6);
|
|
1480
|
-
assert.strictEqual(calls, 1);
|
|
1481
|
-
console.log('memoize test passed');
|
|
1482
|
-
`
|
|
1483
|
-
}, "medium"),
|
|
1484
|
-
simpleTask("fix-race-condition", "Fix a race condition", "Make counter increment atomic", "Update src/counter.js so increment() returns a Promise and uses a local variable correctly. Keep the async interface.", {
|
|
1485
|
-
"src/counter.js": `let count = 0;
|
|
1486
|
-
export async function increment() {
|
|
1487
|
-
const current = count;
|
|
1488
|
-
await Promise.resolve();
|
|
1489
|
-
count = current + 1;
|
|
1490
|
-
return count;
|
|
1491
|
-
}
|
|
1492
|
-
`,
|
|
1493
|
-
"test.js": `import { increment } from './src/counter.js';
|
|
1494
|
-
import assert from 'node:assert';
|
|
1495
|
-
await Promise.all([increment(), increment(), increment()]);
|
|
1496
|
-
const final = await increment();
|
|
1497
|
-
assert.strictEqual(final, 4);
|
|
1498
|
-
console.log('counter test passed');
|
|
1499
|
-
`
|
|
1500
|
-
}, "medium"),
|
|
1501
1240
|
{
|
|
1502
1241
|
id: "noop-validation",
|
|
1503
1242
|
name: "Run validation on a clean project",
|
|
@@ -1568,10 +1307,214 @@ async function readTask(taskDir) {
|
|
|
1568
1307
|
const instructionRaw = await fs4.readFile(path7.join(taskDir, "instruction.md"), "utf-8");
|
|
1569
1308
|
return { toml: parseToml(tomlRaw), instruction: instructionRaw };
|
|
1570
1309
|
}
|
|
1571
|
-
async function cloneRepo(repoUrl,
|
|
1310
|
+
async function cloneRepo(repoUrl, commit, targetPath) {
|
|
1572
1311
|
await fs4.mkdir(path7.dirname(targetPath), { recursive: true });
|
|
1573
1312
|
await execFileAsync("git", ["clone", repoUrl, targetPath], { timeout: 12e4 });
|
|
1574
|
-
await execFileAsync("git", ["-C", targetPath, "checkout",
|
|
1313
|
+
await execFileAsync("git", ["-C", targetPath, "checkout", commit], { timeout: 6e4 });
|
|
1314
|
+
}
|
|
1315
|
+
async function writeFile3(filePath, content) {
|
|
1316
|
+
await fs4.mkdir(path7.dirname(filePath), { recursive: true });
|
|
1317
|
+
await fs4.writeFile(filePath, content, "utf-8");
|
|
1318
|
+
}
|
|
1319
|
+
async function generateModelPatch(projectPath, baseCommit) {
|
|
1320
|
+
const { stdout } = await execFileAsync("git", ["-C", projectPath, "diff", "--binary", baseCommit, "HEAD"], {
|
|
1321
|
+
timeout: 6e4
|
|
1322
|
+
});
|
|
1323
|
+
return stdout;
|
|
1324
|
+
}
|
|
1325
|
+
function normalisePatch(patch) {
|
|
1326
|
+
if (patch.length === 0)
|
|
1327
|
+
return patch;
|
|
1328
|
+
return patch.endsWith("\n") ? patch : `${patch}
|
|
1329
|
+
`;
|
|
1330
|
+
}
|
|
1331
|
+
async function rewriteConfig(taskDir, copiedTestsDir, appDir, verifierDir, artifactsDir) {
|
|
1332
|
+
const configPath = path7.join(taskDir, "tests", "config.json");
|
|
1333
|
+
const raw = await fs4.readFile(configPath, "utf-8");
|
|
1334
|
+
const config = JSON.parse(raw);
|
|
1335
|
+
const replacer = (value) => {
|
|
1336
|
+
if (typeof value === "string") {
|
|
1337
|
+
return value.replace(/\/logs\/verifier/g, verifierDir).replace(/\/logs\/artifacts/g, artifactsDir).replace(/\/tests/g, copiedTestsDir).replace(/\/app\b/g, appDir).replace(/\/app\//g, `${appDir}/`);
|
|
1338
|
+
}
|
|
1339
|
+
if (Array.isArray(value)) {
|
|
1340
|
+
return value.map(replacer);
|
|
1341
|
+
}
|
|
1342
|
+
if (value && typeof value === "object") {
|
|
1343
|
+
const out = {};
|
|
1344
|
+
for (const [k, v] of Object.entries(value)) {
|
|
1345
|
+
out[k] = replacer(v);
|
|
1346
|
+
}
|
|
1347
|
+
return out;
|
|
1348
|
+
}
|
|
1349
|
+
return value;
|
|
1350
|
+
};
|
|
1351
|
+
const rewritten = replacer(config);
|
|
1352
|
+
await writeFile3(path7.join(copiedTestsDir, "config.json"), JSON.stringify(rewritten, null, 2));
|
|
1353
|
+
return rewritten;
|
|
1354
|
+
}
|
|
1355
|
+
function replaceTestShPaths(script) {
|
|
1356
|
+
let replaced = script;
|
|
1357
|
+
replaced = replaced.replace(/\/logs\/verifier/g, "${VERIFIER_DIR}");
|
|
1358
|
+
replaced = replaced.replace(/\/logs\/artifacts/g, "${ARTIFACTS_DIR}");
|
|
1359
|
+
replaced = replaced.replace(/\/tests/g, "${TESTS_DIR}");
|
|
1360
|
+
replaced = replaced.replace(/\/app\b/g, "${APP_DIR}");
|
|
1361
|
+
replaced = replaced.replace(/\/app\//g, "${APP_DIR}/");
|
|
1362
|
+
return replaced;
|
|
1363
|
+
}
|
|
1364
|
+
async function runCommand(command, args, options) {
|
|
1365
|
+
try {
|
|
1366
|
+
const { stdout, stderr } = await execFileAsync(command, args, {
|
|
1367
|
+
cwd: options.cwd,
|
|
1368
|
+
env: options.env,
|
|
1369
|
+
timeout: options.timeout ?? 6e5
|
|
1370
|
+
});
|
|
1371
|
+
return { stdout, stderr, exitCode: 0 };
|
|
1372
|
+
} catch (err) {
|
|
1373
|
+
const e = err;
|
|
1374
|
+
return {
|
|
1375
|
+
stdout: e.stdout ?? "",
|
|
1376
|
+
stderr: e.stderr ?? "",
|
|
1377
|
+
exitCode: e.code ?? 1
|
|
1378
|
+
};
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
async function dockerAvailable() {
|
|
1382
|
+
try {
|
|
1383
|
+
const { exitCode } = await runCommand("docker", ["info"], { timeout: 1e4 });
|
|
1384
|
+
return exitCode === 0;
|
|
1385
|
+
} catch {
|
|
1386
|
+
return false;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
async function imageExists(tag) {
|
|
1390
|
+
const { exitCode } = await runCommand("docker", ["image", "inspect", tag], { timeout: 1e4 });
|
|
1391
|
+
return exitCode === 0;
|
|
1392
|
+
}
|
|
1393
|
+
async function buildDeepSWEImage(taskDir, taskName) {
|
|
1394
|
+
const dockerfileDir = path7.join(taskDir, "environment");
|
|
1395
|
+
const dockerfilePath = path7.join(dockerfileDir, "Dockerfile");
|
|
1396
|
+
try {
|
|
1397
|
+
await fs4.access(dockerfilePath);
|
|
1398
|
+
} catch {
|
|
1399
|
+
return void 0;
|
|
1400
|
+
}
|
|
1401
|
+
const tag = `omega-deepswe-${taskName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`;
|
|
1402
|
+
if (await imageExists(tag)) {
|
|
1403
|
+
return tag;
|
|
1404
|
+
}
|
|
1405
|
+
const build = await runCommand("docker", ["build", "-t", tag, "-f", dockerfilePath, dockerfileDir], {
|
|
1406
|
+
timeout: 12e5
|
|
1407
|
+
});
|
|
1408
|
+
if (build.exitCode !== 0) {
|
|
1409
|
+
throw new Error(`Docker build failed for ${taskName}:
|
|
1410
|
+
${build.stderr}
|
|
1411
|
+
${build.stdout}`);
|
|
1412
|
+
}
|
|
1413
|
+
return tag;
|
|
1414
|
+
}
|
|
1415
|
+
async function runDeepSWEVerifierDocker(projectPath, taskDir, baseCommit, taskName, modelPatchArg) {
|
|
1416
|
+
const absoluteTaskDir = path7.resolve(taskDir);
|
|
1417
|
+
const testsDir = path7.join(absoluteTaskDir, "tests");
|
|
1418
|
+
const workDir = path7.join("/tmp", `deepswe-${path7.basename(taskDir)}-${String(Date.now())}`);
|
|
1419
|
+
const verifierDir = path7.join(workDir, "logs", "verifier");
|
|
1420
|
+
const artifactsDir = path7.join(workDir, "logs", "artifacts");
|
|
1421
|
+
const logFile = path7.join(workDir, "verifier.log");
|
|
1422
|
+
await fs4.mkdir(verifierDir, { recursive: true });
|
|
1423
|
+
await fs4.mkdir(artifactsDir, { recursive: true });
|
|
1424
|
+
const modelPatch = normalisePatch(modelPatchArg ?? await generateModelPatch(projectPath, baseCommit));
|
|
1425
|
+
await writeFile3(path7.join(artifactsDir, "model.patch"), modelPatch);
|
|
1426
|
+
const image = await buildDeepSWEImage(absoluteTaskDir, taskName);
|
|
1427
|
+
if (!image) {
|
|
1428
|
+
throw new Error(`No Dockerfile found for DeepSWE task ${taskName}`);
|
|
1429
|
+
}
|
|
1430
|
+
const logLines = [];
|
|
1431
|
+
function log(line) {
|
|
1432
|
+
logLines.push(line);
|
|
1433
|
+
}
|
|
1434
|
+
log(`Using Docker image ${image}`);
|
|
1435
|
+
const args = [
|
|
1436
|
+
"run",
|
|
1437
|
+
"--rm",
|
|
1438
|
+
"-v",
|
|
1439
|
+
`${testsDir}:/tests:ro`,
|
|
1440
|
+
"-v",
|
|
1441
|
+
`${artifactsDir}:/logs/artifacts`,
|
|
1442
|
+
"-v",
|
|
1443
|
+
`${verifierDir}:/logs/verifier`,
|
|
1444
|
+
image,
|
|
1445
|
+
"bash",
|
|
1446
|
+
"/tests/test.sh"
|
|
1447
|
+
];
|
|
1448
|
+
const testRun = await runCommand("docker", args, { timeout: 6e5 });
|
|
1449
|
+
log(`=== test.sh stdout ===
|
|
1450
|
+
${testRun.stdout}`);
|
|
1451
|
+
log(`=== test.sh stderr ===
|
|
1452
|
+
${testRun.stderr}`);
|
|
1453
|
+
let reward = {};
|
|
1454
|
+
try {
|
|
1455
|
+
const rewardRaw = await fs4.readFile(path7.join(verifierDir, "reward.json"), "utf-8");
|
|
1456
|
+
reward = JSON.parse(rewardRaw);
|
|
1457
|
+
} catch {
|
|
1458
|
+
}
|
|
1459
|
+
const logs = logLines.join("\n");
|
|
1460
|
+
await fs4.writeFile(logFile, logs, "utf-8").catch(() => {
|
|
1461
|
+
});
|
|
1462
|
+
return { reward, logs, logFile, exitCode: testRun.exitCode };
|
|
1463
|
+
}
|
|
1464
|
+
async function runDeepSWEVerifier(projectPath, taskDir, baseCommit, useDocker, modelPatchArg) {
|
|
1465
|
+
if (useDocker && await dockerAvailable()) {
|
|
1466
|
+
return runDeepSWEVerifierDocker(projectPath, taskDir, baseCommit, path7.basename(taskDir), modelPatchArg);
|
|
1467
|
+
}
|
|
1468
|
+
const testsDir = path7.join(taskDir, "tests");
|
|
1469
|
+
const workDir = path7.join("/tmp", `deepswe-${path7.basename(taskDir)}-${String(Date.now())}`);
|
|
1470
|
+
const verifierDir = path7.join(workDir, "logs", "verifier");
|
|
1471
|
+
const artifactsDir = path7.join(workDir, "logs", "artifacts");
|
|
1472
|
+
const copiedTestsDir = path7.join(workDir, "tests");
|
|
1473
|
+
const logFile = path7.join(workDir, "verifier.log");
|
|
1474
|
+
await fs4.mkdir(verifierDir, { recursive: true });
|
|
1475
|
+
await fs4.mkdir(artifactsDir, { recursive: true });
|
|
1476
|
+
await execFileAsync("cp", ["-R", testsDir, copiedTestsDir], { timeout: 6e4 });
|
|
1477
|
+
await rewriteConfig(taskDir, copiedTestsDir, projectPath, verifierDir, artifactsDir);
|
|
1478
|
+
const modelPatch = normalisePatch(modelPatchArg ?? await generateModelPatch(projectPath, baseCommit));
|
|
1479
|
+
await writeFile3(path7.join(artifactsDir, "model.patch"), modelPatch);
|
|
1480
|
+
await execFileAsync("git", ["-C", projectPath, "checkout", "-f", baseCommit], { timeout: 6e4 });
|
|
1481
|
+
const env = {
|
|
1482
|
+
...process.env,
|
|
1483
|
+
APP_DIR: projectPath,
|
|
1484
|
+
TESTS_DIR: copiedTestsDir,
|
|
1485
|
+
VERIFIER_DIR: verifierDir,
|
|
1486
|
+
ARTIFACTS_DIR: artifactsDir,
|
|
1487
|
+
PATH: `${process.env.PATH ?? ""}:${process.env.HOME ?? "/Users/benebsworth"}/go/bin`
|
|
1488
|
+
};
|
|
1489
|
+
const logLines = [];
|
|
1490
|
+
function log(line) {
|
|
1491
|
+
logLines.push(line);
|
|
1492
|
+
}
|
|
1493
|
+
const testShPath = path7.join(copiedTestsDir, "test.sh");
|
|
1494
|
+
const testShRaw = await fs4.readFile(testShPath, "utf-8");
|
|
1495
|
+
const rewritten = replaceTestShPaths(testShRaw);
|
|
1496
|
+
const localTestSh = path7.join(workDir, "test.sh");
|
|
1497
|
+
await writeFile3(localTestSh, rewritten);
|
|
1498
|
+
await fs4.chmod(localTestSh, 493);
|
|
1499
|
+
const testRun = await runCommand("bash", [localTestSh], {
|
|
1500
|
+
cwd: projectPath,
|
|
1501
|
+
env,
|
|
1502
|
+
timeout: 6e5
|
|
1503
|
+
});
|
|
1504
|
+
log(`=== test.sh stdout ===
|
|
1505
|
+
${testRun.stdout}`);
|
|
1506
|
+
log(`=== test.sh stderr ===
|
|
1507
|
+
${testRun.stderr}`);
|
|
1508
|
+
let reward = {};
|
|
1509
|
+
try {
|
|
1510
|
+
const rewardRaw = await fs4.readFile(path7.join(verifierDir, "reward.json"), "utf-8");
|
|
1511
|
+
reward = JSON.parse(rewardRaw);
|
|
1512
|
+
} catch {
|
|
1513
|
+
}
|
|
1514
|
+
const logs = logLines.join("\n");
|
|
1515
|
+
await fs4.writeFile(logFile, logs, "utf-8").catch(() => {
|
|
1516
|
+
});
|
|
1517
|
+
return { reward, logs, logFile, exitCode: testRun.exitCode };
|
|
1575
1518
|
}
|
|
1576
1519
|
async function loadDeepSWESuite(options) {
|
|
1577
1520
|
const entries = await fs4.readdir(options.tasksDir, { withFileTypes: true });
|
|
@@ -1600,7 +1543,7 @@ async function loadDeepSWESuite(options) {
|
|
|
1600
1543
|
const id = toml.metadata?.task_id ?? path7.basename(dir);
|
|
1601
1544
|
const title = toml.metadata?.display_title ?? toml.metadata?.original_title ?? id;
|
|
1602
1545
|
const repo = toml.metadata?.repository_url;
|
|
1603
|
-
const
|
|
1546
|
+
const commit = toml.metadata?.base_commit_hash;
|
|
1604
1547
|
tasks.push({
|
|
1605
1548
|
id: `deepswe-${id}`,
|
|
1606
1549
|
name: id,
|
|
@@ -1608,19 +1551,37 @@ async function loadDeepSWESuite(options) {
|
|
|
1608
1551
|
description: instruction,
|
|
1609
1552
|
complexity: "complex",
|
|
1610
1553
|
setup: async (projectPath) => {
|
|
1611
|
-
if (!repo || !
|
|
1554
|
+
if (!repo || !commit) {
|
|
1612
1555
|
throw new Error(`DeepSWE task ${id} is missing repository_url or base_commit_hash`);
|
|
1613
1556
|
}
|
|
1614
|
-
await cloneRepo(repo,
|
|
1557
|
+
await cloneRepo(repo, commit, projectPath);
|
|
1615
1558
|
},
|
|
1616
|
-
evaluate: (ctx) => {
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1559
|
+
evaluate: async (ctx) => {
|
|
1560
|
+
if (!commit) {
|
|
1561
|
+
return { passed: false, message: "Missing base_commit_hash" };
|
|
1562
|
+
}
|
|
1563
|
+
const storedPatch = ctx.diffs.length > 0 ? ctx.diffs[0].patch : void 0;
|
|
1564
|
+
const { reward, logs, logFile, exitCode } = await runDeepSWEVerifier(ctx.projectPath, dir, commit, options.useDocker ?? false, storedPatch);
|
|
1565
|
+
const passed = reward.reward === 1;
|
|
1566
|
+
const metrics = {
|
|
1567
|
+
f2p_passed: reward.f2p_passed ?? 0,
|
|
1568
|
+
f2p_total: reward.f2p_total ?? 0,
|
|
1569
|
+
p2p_passed: reward.p2p_passed ?? 0,
|
|
1570
|
+
p2p_total: reward.p2p_total ?? 0,
|
|
1571
|
+
partial: reward.partial ?? 0,
|
|
1572
|
+
verifier_exit_code: exitCode,
|
|
1573
|
+
verifier_log_file: logFile
|
|
1574
|
+
};
|
|
1575
|
+
if (reward.apply_failed) {
|
|
1576
|
+
metrics.apply_failed = 1;
|
|
1577
|
+
}
|
|
1578
|
+
metrics.verifier_logs = logs.slice(-4096);
|
|
1579
|
+
return {
|
|
1621
1580
|
passed,
|
|
1622
|
-
|
|
1623
|
-
|
|
1581
|
+
score: reward.partial,
|
|
1582
|
+
message: passed ? `DeepSWE verifier passed (f2p ${String(reward.f2p_passed ?? 0)}/${String(reward.f2p_total ?? 0)}, p2p ${String(reward.p2p_passed ?? 0)}/${String(reward.p2p_total ?? 0)})` : `DeepSWE verifier failed (reward=${String(reward.reward ?? "missing")}, f2p ${String(reward.f2p_passed ?? 0)}/${String(reward.f2p_total ?? 0)}, p2p ${String(reward.p2p_passed ?? 0)}/${String(reward.p2p_total ?? 0)})`,
|
|
1583
|
+
metrics
|
|
1584
|
+
};
|
|
1624
1585
|
}
|
|
1625
1586
|
});
|
|
1626
1587
|
}
|
|
@@ -1645,12 +1606,12 @@ function summariseTraceFlow(report, maxLines = 60) {
|
|
|
1645
1606
|
return lines.slice(0, maxLines).join("\n") + "\n... (truncated)";
|
|
1646
1607
|
}
|
|
1647
1608
|
function buildOptimisePrompt(report, failedResult, traceFlowText) {
|
|
1648
|
-
const
|
|
1609
|
+
const passRate = report.total > 0 ? Math.round(report.passed / report.total * 100) : 0;
|
|
1649
1610
|
const failed = report.results.filter((r) => !r.evaluation.passed);
|
|
1650
1611
|
const lines = [];
|
|
1651
1612
|
lines.push("# Prompt optimisation task");
|
|
1652
1613
|
lines.push("");
|
|
1653
|
-
lines.push(`The latest benchmark run achieved ${String(
|
|
1614
|
+
lines.push(`The latest benchmark run achieved ${String(passRate)}% pass rate (${String(report.passed)}/${String(report.total)}).`);
|
|
1654
1615
|
lines.push("");
|
|
1655
1616
|
lines.push("## Failed tasks");
|
|
1656
1617
|
for (const r of failed.slice(0, 5)) {
|
|
@@ -1671,14 +1632,11 @@ function buildOptimisePrompt(report, failedResult, traceFlowText) {
|
|
|
1671
1632
|
lines.push("");
|
|
1672
1633
|
}
|
|
1673
1634
|
lines.push("## Instructions");
|
|
1674
|
-
lines.push("Analyse the failures above and edit
|
|
1675
|
-
lines.push("Your goal is to change the system prompt text so the agent avoids the observed failures.");
|
|
1635
|
+
lines.push("Analyse the failures above and edit `packages/agent/src/prompts.ts` (and optionally `packages/agent/src/planner.ts`) to improve the Omega agent.");
|
|
1676
1636
|
lines.push("Rules:");
|
|
1677
|
-
lines.push("-
|
|
1678
|
-
lines.push("- Keep changes minimal and targeted to the failure pattern.");
|
|
1679
|
-
lines.push("- Use edit_file with an exact old_string from the file. Read the file first if needed.");
|
|
1637
|
+
lines.push("- Keep changes minimal and targeted.");
|
|
1680
1638
|
lines.push("- Do not break existing tool signatures or system behaviour.");
|
|
1681
|
-
lines.push("-
|
|
1639
|
+
lines.push("- Run `pnpm lint` and `pnpm test` after edits.");
|
|
1682
1640
|
lines.push("- Finish with a summary of what changed and why it should help.");
|
|
1683
1641
|
return lines.join("\n");
|
|
1684
1642
|
}
|
|
@@ -1714,359 +1672,6 @@ async function submitOptimiseTask(apiUrl, projectId, prompt) {
|
|
|
1714
1672
|
return res.json();
|
|
1715
1673
|
}
|
|
1716
1674
|
|
|
1717
|
-
// ../bench/dist/ab.js
|
|
1718
|
-
function passRate(report) {
|
|
1719
|
-
return report.total > 0 ? Math.round(report.passed / report.total * 100) : 0;
|
|
1720
|
-
}
|
|
1721
|
-
function findResult(report, taskId) {
|
|
1722
|
-
return report.results.find((r) => r.task.id === taskId);
|
|
1723
|
-
}
|
|
1724
|
-
function buildAbReport(baseline, candidate, baselineReport, candidateReport) {
|
|
1725
|
-
const baselineRate = passRate(baselineReport);
|
|
1726
|
-
const candidateRate = passRate(candidateReport);
|
|
1727
|
-
const taskIds = /* @__PURE__ */ new Set();
|
|
1728
|
-
for (const r of baselineReport.results)
|
|
1729
|
-
taskIds.add(r.task.id);
|
|
1730
|
-
for (const r of candidateReport.results)
|
|
1731
|
-
taskIds.add(r.task.id);
|
|
1732
|
-
const perTask = Array.from(taskIds).map((taskId) => {
|
|
1733
|
-
const base = findResult(baselineReport, taskId);
|
|
1734
|
-
const cand = findResult(candidateReport, taskId);
|
|
1735
|
-
return {
|
|
1736
|
-
taskId,
|
|
1737
|
-
taskName: base?.task.name ?? cand?.task.name ?? taskId,
|
|
1738
|
-
baselinePassed: base?.evaluation.passed ?? false,
|
|
1739
|
-
candidatePassed: cand?.evaluation.passed ?? false,
|
|
1740
|
-
baselineTokens: base?.usage?.totalTokens,
|
|
1741
|
-
candidateTokens: cand?.usage?.totalTokens
|
|
1742
|
-
};
|
|
1743
|
-
});
|
|
1744
|
-
return {
|
|
1745
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1746
|
-
baseline,
|
|
1747
|
-
candidate,
|
|
1748
|
-
baselineReport,
|
|
1749
|
-
candidateReport,
|
|
1750
|
-
delta: {
|
|
1751
|
-
passRate: candidateRate - baselineRate,
|
|
1752
|
-
passedDelta: candidateReport.passed - baselineReport.passed,
|
|
1753
|
-
durationMsDelta: candidateReport.totalDurationMs - baselineReport.totalDurationMs,
|
|
1754
|
-
promptTokensDelta: (candidateReport.totalUsage?.promptTokens ?? 0) - (baselineReport.totalUsage?.promptTokens ?? 0),
|
|
1755
|
-
completionTokensDelta: (candidateReport.totalUsage?.completionTokens ?? 0) - (baselineReport.totalUsage?.completionTokens ?? 0),
|
|
1756
|
-
totalTokensDelta: (candidateReport.totalUsage?.totalTokens ?? 0) - (baselineReport.totalUsage?.totalTokens ?? 0)
|
|
1757
|
-
},
|
|
1758
|
-
perTask
|
|
1759
|
-
};
|
|
1760
|
-
}
|
|
1761
|
-
async function runAbBenchmark(tasks, baseline, candidate, options) {
|
|
1762
|
-
const suiteName = options.suiteName ?? "ab";
|
|
1763
|
-
const baselineReport = await runBenchmark(tasks, {
|
|
1764
|
-
...options,
|
|
1765
|
-
suiteName: `${suiteName}-baseline`
|
|
1766
|
-
});
|
|
1767
|
-
const candidateReport = await runBenchmark(tasks, {
|
|
1768
|
-
...options,
|
|
1769
|
-
suiteName: `${suiteName}-candidate`
|
|
1770
|
-
});
|
|
1771
|
-
return buildAbReport(baseline, candidate, baselineReport, candidateReport);
|
|
1772
|
-
}
|
|
1773
|
-
function deltaSymbol(value) {
|
|
1774
|
-
if (value > 0)
|
|
1775
|
-
return "+";
|
|
1776
|
-
if (value < 0)
|
|
1777
|
-
return "";
|
|
1778
|
-
return "";
|
|
1779
|
-
}
|
|
1780
|
-
function formatDelta(value) {
|
|
1781
|
-
return `${deltaSymbol(value)}${String(value)}`;
|
|
1782
|
-
}
|
|
1783
|
-
function formatAbReport(report) {
|
|
1784
|
-
const lines = [];
|
|
1785
|
-
lines.push("# Omega A/B Benchmark Report");
|
|
1786
|
-
lines.push("");
|
|
1787
|
-
lines.push(`- Timestamp: ${report.timestamp}`);
|
|
1788
|
-
lines.push(`- Baseline: ${report.baseline.name}`);
|
|
1789
|
-
lines.push(`- Candidate: ${report.candidate.name}`);
|
|
1790
|
-
lines.push("");
|
|
1791
|
-
lines.push("## Summary");
|
|
1792
|
-
lines.push(`| Metric | Baseline | Candidate | Delta |`);
|
|
1793
|
-
lines.push(`|---|---|---|---|`);
|
|
1794
|
-
lines.push(`| Pass rate | ${String(passRate(report.baselineReport))}% | ${String(passRate(report.candidateReport))}% | ${formatDelta(report.delta.passRate)}% |`);
|
|
1795
|
-
lines.push(`| Passed | ${String(report.baselineReport.passed)}/${String(report.baselineReport.total)} | ${String(report.candidateReport.passed)}/${String(report.candidateReport.total)} | ${formatDelta(report.delta.passedDelta)} |`);
|
|
1796
|
-
lines.push(`| Duration | ${formatDuration2(report.baselineReport.totalDurationMs)} | ${formatDuration2(report.candidateReport.totalDurationMs)} | ${formatDuration2(report.delta.durationMsDelta)} |`);
|
|
1797
|
-
lines.push(`| Tokens | ${String(report.baselineReport.totalUsage?.totalTokens ?? 0)} | ${String(report.candidateReport.totalUsage?.totalTokens ?? 0)} | ${formatDelta(report.delta.totalTokensDelta)} |`);
|
|
1798
|
-
lines.push("");
|
|
1799
|
-
lines.push("## Per-task comparison");
|
|
1800
|
-
lines.push(`| Task | Baseline | Candidate | Token delta |`);
|
|
1801
|
-
lines.push(`|---|---|---|---|`);
|
|
1802
|
-
for (const t of report.perTask) {
|
|
1803
|
-
const tokenDelta = t.baselineTokens !== void 0 && t.candidateTokens !== void 0 ? formatDelta(t.candidateTokens - t.baselineTokens) : "-";
|
|
1804
|
-
lines.push(`| ${t.taskName} | ${t.baselinePassed ? "pass" : "fail"} | ${t.candidatePassed ? "pass" : "fail"} | ${tokenDelta} |`);
|
|
1805
|
-
}
|
|
1806
|
-
lines.push("");
|
|
1807
|
-
return lines.join("\n");
|
|
1808
|
-
}
|
|
1809
|
-
function formatDuration2(ms) {
|
|
1810
|
-
if (ms < 1e3)
|
|
1811
|
-
return `${String(Math.round(ms))}ms`;
|
|
1812
|
-
return `${(ms / 1e3).toFixed(1)}s`;
|
|
1813
|
-
}
|
|
1814
|
-
|
|
1815
|
-
// ../agent/dist/tool-definitions.js
|
|
1816
|
-
var AGENT_TOOLS = [
|
|
1817
|
-
{
|
|
1818
|
-
name: "read_file",
|
|
1819
|
-
description: "Read a file relative to project root.",
|
|
1820
|
-
parameters: {
|
|
1821
|
-
type: "object",
|
|
1822
|
-
properties: { path: { type: "string" } },
|
|
1823
|
-
required: ["path"]
|
|
1824
|
-
}
|
|
1825
|
-
},
|
|
1826
|
-
{
|
|
1827
|
-
name: "write_file",
|
|
1828
|
-
description: "Write content to a file relative to project root.",
|
|
1829
|
-
parameters: {
|
|
1830
|
-
type: "object",
|
|
1831
|
-
properties: { path: { type: "string" }, content: { type: "string" } },
|
|
1832
|
-
required: ["path", "content"]
|
|
1833
|
-
}
|
|
1834
|
-
},
|
|
1835
|
-
{
|
|
1836
|
-
name: "edit_file",
|
|
1837
|
-
description: "Apply a targeted edit to an existing file relative to project root. Replaces one occurrence of old_string with new_string.",
|
|
1838
|
-
parameters: {
|
|
1839
|
-
type: "object",
|
|
1840
|
-
properties: {
|
|
1841
|
-
path: { type: "string" },
|
|
1842
|
-
old_string: { type: "string" },
|
|
1843
|
-
new_string: { type: "string" }
|
|
1844
|
-
},
|
|
1845
|
-
required: ["path", "old_string", "new_string"]
|
|
1846
|
-
}
|
|
1847
|
-
},
|
|
1848
|
-
{
|
|
1849
|
-
name: "run_command",
|
|
1850
|
-
description: "Run a shell command in the project root.",
|
|
1851
|
-
parameters: {
|
|
1852
|
-
type: "object",
|
|
1853
|
-
properties: { command: { type: "string" } },
|
|
1854
|
-
required: ["command"]
|
|
1855
|
-
}
|
|
1856
|
-
},
|
|
1857
|
-
{
|
|
1858
|
-
name: "think",
|
|
1859
|
-
description: "Record reasoning.",
|
|
1860
|
-
parameters: {
|
|
1861
|
-
type: "object",
|
|
1862
|
-
properties: { thought: { type: "string" } },
|
|
1863
|
-
required: ["thought"]
|
|
1864
|
-
}
|
|
1865
|
-
},
|
|
1866
|
-
{
|
|
1867
|
-
name: "finish",
|
|
1868
|
-
description: "Mark the task complete.",
|
|
1869
|
-
parameters: {
|
|
1870
|
-
type: "object",
|
|
1871
|
-
properties: { summary: { type: "string" }, success: { type: "boolean" } },
|
|
1872
|
-
required: ["summary", "success"]
|
|
1873
|
-
}
|
|
1874
|
-
},
|
|
1875
|
-
{
|
|
1876
|
-
name: "publish",
|
|
1877
|
-
description: "Build, validate, and publish the project.",
|
|
1878
|
-
parameters: {
|
|
1879
|
-
type: "object",
|
|
1880
|
-
properties: { version: { type: "string" } },
|
|
1881
|
-
required: []
|
|
1882
|
-
}
|
|
1883
|
-
}
|
|
1884
|
-
];
|
|
1885
|
-
|
|
1886
|
-
// ../agent/dist/planner.js
|
|
1887
|
-
var toolDescriptions = AGENT_TOOLS.map((t) => `- ${t.name}: ${t.description}`).join("\n");
|
|
1888
|
-
var PLAN_PROMPT = `You are a planning assistant. Given a task, produce a concise step-by-step plan.
|
|
1889
|
-
|
|
1890
|
-
Respond with strict JSON in this exact shape (no markdown):
|
|
1891
|
-
{
|
|
1892
|
-
"reasoning": "brief reasoning",
|
|
1893
|
-
"plan": [
|
|
1894
|
-
{ "name": "step name", "tool": "optional tool name", "input": { optional tool args } }
|
|
1895
|
-
]
|
|
1896
|
-
}
|
|
1897
|
-
|
|
1898
|
-
Available tools:
|
|
1899
|
-
${toolDescriptions}
|
|
1900
|
-
|
|
1901
|
-
If a step does not need a tool, omit tool/input. Use edit_file for small file changes.`;
|
|
1902
|
-
|
|
1903
|
-
// ../agent/dist/tools.js
|
|
1904
|
-
import { execFile as execFile2 } from "node:child_process";
|
|
1905
|
-
import { promisify as promisify2 } from "node:util";
|
|
1906
|
-
var execFileAsync2 = promisify2(execFile2);
|
|
1907
|
-
|
|
1908
|
-
// ../agent/dist/validator.js
|
|
1909
|
-
import { execFile as execFile3 } from "node:child_process";
|
|
1910
|
-
import { promisify as promisify3 } from "node:util";
|
|
1911
|
-
var execFileAsync3 = promisify3(execFile3);
|
|
1912
|
-
|
|
1913
|
-
// ../agent/dist/publisher.js
|
|
1914
|
-
import { execFile as execFile5 } from "node:child_process";
|
|
1915
|
-
import { promisify as promisify5 } from "node:util";
|
|
1916
|
-
|
|
1917
|
-
// ../agent/dist/git.js
|
|
1918
|
-
import { execFile as execFile4 } from "node:child_process";
|
|
1919
|
-
import { promisify as promisify4 } from "node:util";
|
|
1920
|
-
var execFileAsync4 = promisify4(execFile4);
|
|
1921
|
-
|
|
1922
|
-
// ../agent/dist/publisher.js
|
|
1923
|
-
var execFileAsync5 = promisify5(execFile5);
|
|
1924
|
-
|
|
1925
|
-
// ../agent/dist/prompts.js
|
|
1926
|
-
import fs6 from "node:fs";
|
|
1927
|
-
function loadPromptFromEnv(name) {
|
|
1928
|
-
const direct = process.env[name];
|
|
1929
|
-
if (direct)
|
|
1930
|
-
return direct;
|
|
1931
|
-
const fileKey = `${name}_FILE`;
|
|
1932
|
-
const filePath = process.env[fileKey];
|
|
1933
|
-
if (filePath) {
|
|
1934
|
-
try {
|
|
1935
|
-
return fs6.readFileSync(filePath, "utf-8");
|
|
1936
|
-
} catch {
|
|
1937
|
-
}
|
|
1938
|
-
}
|
|
1939
|
-
return void 0;
|
|
1940
|
-
}
|
|
1941
|
-
var AGENT_SYSTEM_PROMPT = loadPromptFromEnv("OMEGA_SYSTEM_PROMPT") ?? `You are Omega, an autonomous software engineering agent running inside a project repository.
|
|
1942
|
-
|
|
1943
|
-
Your job is to complete the user's task by calling tools. Do not write prose or explanations outside tool calls. Prefer targeted edits over full rewrites.
|
|
1944
|
-
|
|
1945
|
-
Available tools:
|
|
1946
|
-
|
|
1947
|
-
- read_file: Read a file relative to project root. Arguments: { "path": "relative/path" }
|
|
1948
|
-
- write_file: Overwrite or create a file. Arguments: { "path": "relative/path", "content": "full file content" }
|
|
1949
|
-
- edit_file: Replace one exact occurrence of old_string with new_string in an existing file. Use this for small changes. Arguments: { "path": "relative/path", "old_string": "...", "new_string": "..." }
|
|
1950
|
-
- run_command: Run a single simple command. No pipes (|), &&, ;, redirects, or globs. Prefer pnpm/npm/node. Arguments: { "command": "pnpm lint" }
|
|
1951
|
-
- think: Record a reasoning step. Arguments: { "thought": "..." }
|
|
1952
|
-
- finish: Mark the task complete. Arguments: { "summary": "what was done", "success": true }. Use summary, not message.
|
|
1953
|
-
- publish: Run lint/test/build validation in one step. This is the preferred validation tool. Arguments: { "version": "optional" }
|
|
1954
|
-
|
|
1955
|
-
Rules:
|
|
1956
|
-
1. Read the task, then use think to plan.
|
|
1957
|
-
2. Use edit_file for small changes; write_file only when creating a file or rewriting most of it.
|
|
1958
|
-
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.
|
|
1959
|
-
4. Before creating JavaScript files, read package.json to check whether "type" is "module" and use ESM (export) or CommonJS (module.exports) accordingly.
|
|
1960
|
-
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.
|
|
1961
|
-
6. If validation fails, fix the issue and call publish again. Repeat until validation passes.
|
|
1962
|
-
7. Do NOT call finish until validation passes. If you call finish without validation, the task will fail.
|
|
1963
|
-
8. Do not expose secrets or run destructive commands.
|
|
1964
|
-
9. Finish only when the task is done. Always include summary and success.
|
|
1965
|
-
10. Do not repeat the same tool call with the same arguments. If something fails, change your approach.
|
|
1966
|
-
11. Do not ask the user for clarification. Do not say "No task was provided". Use the Task and Description above to proceed.
|
|
1967
|
-
12. You have a limited number of steps. If you spend too many steps reading or planning without validating, the task will fail.
|
|
1968
|
-
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.
|
|
1969
|
-
14. If you already know what change to make, do not read additional files. Edit and validate immediately.
|
|
1970
|
-
15. The think tool is for planning only. After thinking, you must use a concrete action tool next, not think or read_file again.
|
|
1971
|
-
16. When publish reports allPassed=true, call finish with success=true immediately. Do not make additional edits or run extra commands.
|
|
1972
|
-
17. Do NOT modify test files (test.js, *.test.js, *.spec.js) unless the task explicitly tells you to update the test.
|
|
1973
|
-
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.
|
|
1974
|
-
19. Create files at the EXACT path specified in the task. If the task says "create capitalize.js", create it at the project root as "capitalize.js", not inside src/ or another folder.
|
|
1975
|
-
20. Export functions with the EXACT name requested as a named export (e.g., export function capitalize(...)). Do not use default exports unless explicitly instructed.
|
|
1976
|
-
21. Guard string/array operations against empty inputs and null/undefined values (e.g., str ? str[0].toUpperCase() + str.slice(1) : '').
|
|
1977
|
-
|
|
1978
|
-
Example tool call sequence for "Add a greet function":
|
|
1979
|
-
1. think: { "thought": "I need to create greet.js and export a greet function." }
|
|
1980
|
-
2. write_file: { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\\n" }
|
|
1981
|
-
3. publish: { }
|
|
1982
|
-
4. finish: { "summary": "Created greet.js with greet(name) function and verified it passes tests.", "success": true }
|
|
1983
|
-
|
|
1984
|
-
Example tool call sequence for "Fix a lint warning":
|
|
1985
|
-
1. think: { "thought": "The linter flags var. I need to read src/index.js and replace var with const or let." }
|
|
1986
|
-
2. read_file: { "path": "src/index.js" }
|
|
1987
|
-
3. edit_file: { "path": "src/index.js", "old_string": "var greeting = 'Hello';", "new_string": "const greeting = 'Hello';" }
|
|
1988
|
-
4. publish: { }
|
|
1989
|
-
5. finish: { "summary": "Replaced var with const and verified lint passes.", "success": true }`;
|
|
1990
|
-
var TEXT_TOOLS_SYSTEM_PROMPT = loadPromptFromEnv("OMEGA_TEXT_TOOLS_PROMPT") ?? `You are Omega, an autonomous software engineering agent running inside a project repository.
|
|
1991
|
-
|
|
1992
|
-
You MUST respond with a single JSON object containing a "tool_calls" array. Do not output markdown, explanations, or reasoning outside the JSON.
|
|
1993
|
-
|
|
1994
|
-
Available tools (use ONLY these exact names):
|
|
1995
|
-
|
|
1996
|
-
- read_file: { "path": "relative/path" }
|
|
1997
|
-
- write_file: { "path": "relative/path", "content": "full file content" }
|
|
1998
|
-
- edit_file: { "path": "relative/path", "old_string": "...", "new_string": "..." }
|
|
1999
|
-
- run_command: { "command": "simple command, no pipes/&&/;/redirects" }
|
|
2000
|
-
- think: { "thought": "reasoning text" }
|
|
2001
|
-
- finish: { "summary": "what was done", "success": true | false }
|
|
2002
|
-
- publish: { "version": "optional" }
|
|
2003
|
-
|
|
2004
|
-
Rules:
|
|
2005
|
-
- Plan with think, then act.
|
|
2006
|
-
- Use edit_file for small changes; write_file only for new files or large rewrites.
|
|
2007
|
-
- 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.
|
|
2008
|
-
- Before creating JavaScript files, read package.json to check whether "type" is "module" and use ESM (export) or CommonJS (module.exports) accordingly.
|
|
2009
|
-
- Immediately after making any edit, call publish to run validation. Do not read more files or call finish before validating.
|
|
2010
|
-
- If validation fails, fix the issue and call publish again.
|
|
2011
|
-
- Do NOT call finish until validation passes.
|
|
2012
|
-
- Do not expose secrets or run destructive commands.
|
|
2013
|
-
- Finish only when done. Use summary, not message.
|
|
2014
|
-
- Do not repeat the same tool call with the same arguments.
|
|
2015
|
-
- Do not ask the user for clarification. Do not say "No task was provided". Use the Task and Description above to proceed.
|
|
2016
|
-
- NEVER read the same file twice in a row. Once read, the next step must edit, write, run_command, or publish.
|
|
2017
|
-
- The think tool is for planning only. After thinking, use a concrete action tool next.
|
|
2018
|
-
- When publish reports allPassed=true, call finish with success=true immediately.
|
|
2019
|
-
- Do NOT modify test files unless the task explicitly tells you to update the test.
|
|
2020
|
-
- Create files at the EXACT path specified in the task. If the task says "create capitalize.js", create it at the project root as "capitalize.js", not inside src/ or another folder.
|
|
2021
|
-
- Export functions with the EXACT name requested as a named export (e.g., export function capitalize(...)). Do not use default exports unless explicitly instructed.
|
|
2022
|
-
- Guard string/array operations against empty inputs and null/undefined values.
|
|
2023
|
-
|
|
2024
|
-
Example response for "Add a greet function":
|
|
2025
|
-
{ "tool_calls": [
|
|
2026
|
-
{ "id": "1", "name": "think", "arguments": { "thought": "Create greet.js with greet(name)." } },
|
|
2027
|
-
{ "id": "2", "name": "write_file", "arguments": { "path": "greet.js", "content": "export function greet(name) { return 'Hello, ' + name + '!'; }\\n" } },
|
|
2028
|
-
{ "id": "3", "name": "publish", "arguments": {} },
|
|
2029
|
-
{ "id": "4", "name": "finish", "arguments": { "summary": "Created greet.js and verified tests pass.", "success": true } }
|
|
2030
|
-
] }`;
|
|
2031
|
-
|
|
2032
|
-
// ../agent/dist/prompt-versioning.js
|
|
2033
|
-
import fs7 from "node:fs/promises";
|
|
2034
|
-
import path9 from "node:path";
|
|
2035
|
-
import crypto from "node:crypto";
|
|
2036
|
-
import { fileURLToPath as fileURLToPath4 } from "node:url";
|
|
2037
|
-
var __dirname3 = path9.dirname(fileURLToPath4(import.meta.url));
|
|
2038
|
-
var PROMPTS_PATH = path9.resolve(__dirname3, "..", "src", "prompts.ts");
|
|
2039
|
-
var PLANNER_PATH = path9.resolve(__dirname3, "..", "src", "planner.ts");
|
|
2040
|
-
function hashString(value) {
|
|
2041
|
-
return crypto.createHash("sha256").update(value).digest("hex").slice(0, 16);
|
|
2042
|
-
}
|
|
2043
|
-
function hashPrompts(input) {
|
|
2044
|
-
return hashString([input.systemPrompt, input.textToolsPrompt, input.planningPrompt ?? ""].join("\n---\n"));
|
|
2045
|
-
}
|
|
2046
|
-
async function readPromptsSource() {
|
|
2047
|
-
const source = await fs7.readFile(PROMPTS_PATH, "utf-8");
|
|
2048
|
-
const systemMatch = /export const AGENT_SYSTEM_PROMPT =\s*(?:loadPromptFromEnv\('OMEGA_SYSTEM_PROMPT'\) \?\?\s*)?`([\s\S]*?)`;/m.exec(source);
|
|
2049
|
-
const textToolsMatch = /export const TEXT_TOOLS_SYSTEM_PROMPT =\s*(?:loadPromptFromEnv\('OMEGA_TEXT_TOOLS_PROMPT'\) \?\?\s*)?`([\s\S]*?)`;/m.exec(source);
|
|
2050
|
-
return {
|
|
2051
|
-
systemPrompt: systemMatch?.[1] ?? "",
|
|
2052
|
-
textToolsPrompt: textToolsMatch?.[1] ?? ""
|
|
2053
|
-
};
|
|
2054
|
-
}
|
|
2055
|
-
async function loadCurrentPrompts() {
|
|
2056
|
-
const { systemPrompt, textToolsPrompt } = await readPromptsSource();
|
|
2057
|
-
const plannerSource = await fs7.readFile(PLANNER_PATH, "utf-8");
|
|
2058
|
-
const planningMatch = /const PLAN_PROMPT = `([\s\S]*?)`;/m.exec(plannerSource);
|
|
2059
|
-
const planningPrompt = planningMatch?.[1];
|
|
2060
|
-
return {
|
|
2061
|
-
name: `auto-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`,
|
|
2062
|
-
sourcePath: PROMPTS_PATH,
|
|
2063
|
-
systemPrompt,
|
|
2064
|
-
textToolsPrompt,
|
|
2065
|
-
planningPrompt,
|
|
2066
|
-
hash: hashPrompts({ systemPrompt, textToolsPrompt, planningPrompt })
|
|
2067
|
-
};
|
|
2068
|
-
}
|
|
2069
|
-
|
|
2070
1675
|
// ../../apps/cli/src/commands/bench.ts
|
|
2071
1676
|
async function waitForApi2(apiUrl, maxMs = 1e4) {
|
|
2072
1677
|
const deadline = Date.now() + maxMs;
|
|
@@ -2082,75 +1687,36 @@ async function waitForApi2(apiUrl, maxMs = 1e4) {
|
|
|
2082
1687
|
}
|
|
2083
1688
|
function currentProject(apiUrl) {
|
|
2084
1689
|
const cwd = process.cwd();
|
|
2085
|
-
const name =
|
|
1690
|
+
const name = path9.basename(cwd);
|
|
2086
1691
|
return ensureProject2(apiUrl, `bench-${name}`, cwd);
|
|
2087
1692
|
}
|
|
2088
|
-
|
|
2089
|
-
const
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
name: name ?? current.name,
|
|
2095
|
-
sourcePath: current.sourcePath,
|
|
2096
|
-
systemPrompt: current.systemPrompt,
|
|
2097
|
-
textToolsPrompt: current.textToolsPrompt,
|
|
2098
|
-
hash: current.hash,
|
|
2099
|
-
metadata: { planningPrompt: current.planningPrompt }
|
|
2100
|
-
})
|
|
2101
|
-
});
|
|
2102
|
-
if (!versionRes.ok) {
|
|
2103
|
-
console.warn("Could not save prompt version:", await versionRes.text());
|
|
2104
|
-
return void 0;
|
|
2105
|
-
}
|
|
2106
|
-
return versionRes.json();
|
|
2107
|
-
}
|
|
2108
|
-
async function loadPromptSpec(source) {
|
|
2109
|
-
if (source === "current") {
|
|
2110
|
-
const current = await loadCurrentPrompts();
|
|
2111
|
-
return {
|
|
2112
|
-
name: "current",
|
|
2113
|
-
systemPrompt: current.systemPrompt,
|
|
2114
|
-
textToolsPrompt: current.textToolsPrompt
|
|
2115
|
-
};
|
|
2116
|
-
}
|
|
2117
|
-
const raw = await fs8.readFile(path10.resolve(source), "utf-8");
|
|
2118
|
-
const parsed = JSON.parse(raw);
|
|
2119
|
-
if (!parsed.systemPrompt || !parsed.textToolsPrompt) {
|
|
2120
|
-
throw new Error("Prompt spec must include systemPrompt and textToolsPrompt");
|
|
2121
|
-
}
|
|
2122
|
-
return parsed;
|
|
2123
|
-
}
|
|
2124
|
-
async function resolveTasks(opts) {
|
|
1693
|
+
var runCmd = new Command8("run").description("Run a benchmark suite").option("--suite <name>", "suite name: synthetic | deep-swe", "synthetic").option("--path <dir>", "path to DeepSWE tasks directory (for deep-swe suite)").option("--n-tasks <n>", "limit number of tasks (for deep-swe)", parseInt).option("--sample-seed <n>", "seed for deterministic sampling (for deep-swe)", parseInt).option("--timeout <ms>", "per-task timeout in ms", "120000").option("--output-dir <dir>", "report output directory", ".omega/reports").option("--provider <name>", "provider to use for benchmark tasks").option("--model <model>", "model to use for benchmark tasks").option("--docker", "run DeepSWE verifiers in Docker (required for most Node.js tasks)").action(async (opts) => {
|
|
1694
|
+
const apiUrl = getApiUrl();
|
|
1695
|
+
await waitForApi2(apiUrl);
|
|
1696
|
+
const timeoutMs = Number(opts.timeout);
|
|
1697
|
+
let tasks;
|
|
1698
|
+
let suiteName;
|
|
2125
1699
|
if (opts.suite === "deep-swe") {
|
|
2126
1700
|
if (!opts.path) {
|
|
2127
1701
|
throw new Error("--path is required for the deep-swe suite");
|
|
2128
1702
|
}
|
|
2129
|
-
|
|
1703
|
+
tasks = await loadDeepSWESuite({
|
|
2130
1704
|
tasksDir: opts.path,
|
|
2131
1705
|
nTasks: opts.nTasks,
|
|
2132
|
-
sampleSeed: opts.sampleSeed
|
|
1706
|
+
sampleSeed: opts.sampleSeed,
|
|
1707
|
+
useDocker: opts.docker
|
|
2133
1708
|
});
|
|
2134
|
-
|
|
2135
|
-
}
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
}
|
|
2141
|
-
return { tasks, suiteName: "synthetic" };
|
|
1709
|
+
suiteName = "deep-swe";
|
|
1710
|
+
} else if (opts.suite === "synthetic") {
|
|
1711
|
+
tasks = syntheticSuite();
|
|
1712
|
+
suiteName = "synthetic";
|
|
1713
|
+
} else {
|
|
1714
|
+
throw new Error(`Unknown suite: ${opts.suite}`);
|
|
2142
1715
|
}
|
|
2143
|
-
throw new Error(`Unknown suite: ${opts.suite}`);
|
|
2144
|
-
}
|
|
2145
|
-
var runCmd = new Command8("run").description("Run a benchmark suite").option("--suite <name>", "suite name: synthetic | deep-swe", "synthetic").option("--path <dir>", "path to DeepSWE tasks directory (for deep-swe suite)").option("--n-tasks <n>", "limit number of tasks", parseInt).option("--sample-seed <n>", "seed for deterministic sampling (for deep-swe)", parseInt).option("--timeout <ms>", "per-task timeout in ms", "120000").option("--output-dir <dir>", "report output directory", ".omega/reports").option("--provider <name>", "provider to use for benchmark tasks").option("--model <model>", "model to use for benchmark tasks").action(async (opts) => {
|
|
2146
|
-
const apiUrl = getApiUrl();
|
|
2147
|
-
await waitForApi2(apiUrl);
|
|
2148
|
-
const { tasks, suiteName } = await resolveTasks(opts);
|
|
2149
1716
|
if (tasks.length === 0) {
|
|
2150
1717
|
console.log("No benchmark tasks to run.");
|
|
2151
1718
|
return;
|
|
2152
1719
|
}
|
|
2153
|
-
const timeoutMs = Number(opts.timeout);
|
|
2154
1720
|
console.log(`Running ${String(tasks.length)} benchmark tasks against ${apiUrl}`);
|
|
2155
1721
|
const report = await runBenchmark(tasks, {
|
|
2156
1722
|
apiUrl,
|
|
@@ -2186,133 +1752,10 @@ var optimiseCmd = new Command8("optimise").description("Create a self-improve ta
|
|
|
2186
1752
|
console.log(`Created self-improve task ${task.id}`);
|
|
2187
1753
|
console.log(`Run \`omega task run ${task.id}\` to execute it.`);
|
|
2188
1754
|
});
|
|
2189
|
-
var
|
|
2190
|
-
if (!opts.candidate) {
|
|
2191
|
-
throw new Error("--candidate is required");
|
|
2192
|
-
}
|
|
2193
|
-
if (opts.suite === "deep-swe") {
|
|
2194
|
-
throw new Error("DeepSWE A/B not yet supported; use --suite synthetic");
|
|
2195
|
-
}
|
|
2196
|
-
const apiUrl = getApiUrl();
|
|
2197
|
-
await waitForApi2(apiUrl);
|
|
2198
|
-
const { tasks, suiteName } = await resolveTasks(opts);
|
|
2199
|
-
if (tasks.length === 0) {
|
|
2200
|
-
console.log("No benchmark tasks to run.");
|
|
2201
|
-
return;
|
|
2202
|
-
}
|
|
2203
|
-
const timeoutMs = Number(opts.timeout);
|
|
2204
|
-
const baselineSpec = await loadPromptSpec(opts.baseline);
|
|
2205
|
-
const candidateSpec = await loadPromptSpec(opts.candidate);
|
|
2206
|
-
console.log(`Baseline: ${baselineSpec.name}`);
|
|
2207
|
-
console.log(`Candidate: ${candidateSpec.name}`);
|
|
2208
|
-
const report = await runAbBenchmark(tasks, baselineSpec, candidateSpec, {
|
|
2209
|
-
apiUrl,
|
|
2210
|
-
suiteName,
|
|
2211
|
-
timeoutMs,
|
|
2212
|
-
provider: opts.provider,
|
|
2213
|
-
model: opts.model,
|
|
2214
|
-
onProgress: (result) => {
|
|
2215
|
-
const symbol = result.evaluation.passed ? "\u2713" : "\u2717";
|
|
2216
|
-
console.log(`${symbol} ${result.task.name} [${result.status}] ${String(result.durationMs)}ms`);
|
|
2217
|
-
}
|
|
2218
|
-
});
|
|
2219
|
-
await fs8.mkdir(opts.outputDir, { recursive: true });
|
|
2220
|
-
const ts = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
2221
|
-
const jsonFile = path10.join(opts.outputDir, `ab-${ts}.json`);
|
|
2222
|
-
const mdFile = path10.join(opts.outputDir, `ab-${ts}.md`);
|
|
2223
|
-
await fs8.writeFile(jsonFile, JSON.stringify(report, null, 2), "utf-8");
|
|
2224
|
-
await fs8.writeFile(mdFile, formatAbReport(report), "utf-8");
|
|
2225
|
-
console.log("\n" + formatAbReport(report));
|
|
2226
|
-
console.log(`
|
|
2227
|
-
A/B report written to ${jsonFile}`);
|
|
2228
|
-
});
|
|
2229
|
-
var loopCmd = new Command8("loop").description("Run a self-improve benchmark loop").option("--suite <name>", "suite name: synthetic | deep-swe", "synthetic").option("--path <dir>", "path to DeepSWE tasks directory (for deep-swe suite)").option("--n-tasks <n>", "limit number of tasks", parseInt).option("--sample-seed <n>", "seed for deterministic sampling (for deep-swe)", parseInt).option("--iterations <n>", "max iterations", "1").option("--timeout <ms>", "per-task timeout in ms", "120000").option("--output-dir <dir>", "report output directory", ".omega/reports").option("--provider <name>", "provider to use for self-improve tasks").option("--model <model>", "model to use for self-improve tasks").action(async (opts) => {
|
|
2230
|
-
const apiUrl = getApiUrl();
|
|
2231
|
-
await waitForApi2(apiUrl);
|
|
2232
|
-
const { tasks, suiteName } = await resolveTasks(opts);
|
|
2233
|
-
if (tasks.length === 0) {
|
|
2234
|
-
console.log("No benchmark tasks to run.");
|
|
2235
|
-
return;
|
|
2236
|
-
}
|
|
2237
|
-
const timeoutMs = Number(opts.timeout);
|
|
2238
|
-
const maxIterations = Number(opts.iterations);
|
|
2239
|
-
const project = await currentProject(apiUrl);
|
|
2240
|
-
for (let i = 1; i <= maxIterations; i++) {
|
|
2241
|
-
console.log(`
|
|
2242
|
-
=== Iteration ${String(i)}/${String(maxIterations)} ===`);
|
|
2243
|
-
const beforeVersion = await savePromptVersion(
|
|
2244
|
-
apiUrl,
|
|
2245
|
-
`loop-before-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`
|
|
2246
|
-
);
|
|
2247
|
-
if (beforeVersion) {
|
|
2248
|
-
console.log(`Saved before-loop prompt version: ${beforeVersion.name} (${beforeVersion.id})`);
|
|
2249
|
-
}
|
|
2250
|
-
console.log(`
|
|
2251
|
-
Running ${String(tasks.length)} benchmark tasks...`);
|
|
2252
|
-
const report = await runBenchmark(tasks, {
|
|
2253
|
-
apiUrl,
|
|
2254
|
-
suiteName,
|
|
2255
|
-
timeoutMs,
|
|
2256
|
-
provider: opts.provider,
|
|
2257
|
-
model: opts.model,
|
|
2258
|
-
onProgress: (result) => {
|
|
2259
|
-
const symbol = result.evaluation.passed ? "\u2713" : "\u2717";
|
|
2260
|
-
console.log(`${symbol} ${result.task.name} [${result.status}] ${String(result.durationMs)}ms`);
|
|
2261
|
-
}
|
|
2262
|
-
});
|
|
2263
|
-
await writeReport(report, opts.outputDir);
|
|
2264
|
-
printSummary(report);
|
|
2265
|
-
const passRate2 = report.total > 0 ? Math.round(report.passed / report.total * 100) : 0;
|
|
2266
|
-
if (passRate2 === 100) {
|
|
2267
|
-
console.log("\nAll tasks passed. Loop complete.");
|
|
2268
|
-
break;
|
|
2269
|
-
}
|
|
2270
|
-
const context = await loadOptimisationContext(apiUrl, opts.outputDir);
|
|
2271
|
-
if (!context) {
|
|
2272
|
-
throw new Error("Benchmark report could not be loaded for optimisation");
|
|
2273
|
-
}
|
|
2274
|
-
const prompt = buildOptimisePrompt(context.report, context.failedResult, context.traceFlowText);
|
|
2275
|
-
const task = await submitOptimiseTask(apiUrl, project.id, prompt);
|
|
2276
|
-
if (opts.provider || opts.model) {
|
|
2277
|
-
await fetch(`${apiUrl}/tasks/${task.id}`, {
|
|
2278
|
-
method: "PATCH",
|
|
2279
|
-
headers: { "Content-Type": "application/json" },
|
|
2280
|
-
body: JSON.stringify({ provider: opts.provider, model: opts.model })
|
|
2281
|
-
});
|
|
2282
|
-
}
|
|
2283
|
-
console.log(
|
|
2284
|
-
`
|
|
2285
|
-
Created self-improve task ${task.id}${opts.provider ? ` (provider: ${opts.provider})` : ""}${opts.model ? ` (model: ${opts.model})` : ""}`
|
|
2286
|
-
);
|
|
2287
|
-
console.log("Running agent...");
|
|
2288
|
-
await runTask(apiUrl, task.id);
|
|
2289
|
-
const finished = await waitForTask(apiUrl, task.id, timeoutMs * 5);
|
|
2290
|
-
console.log(`Agent finished: ${finished.status}`);
|
|
2291
|
-
if (finished.error) {
|
|
2292
|
-
console.error(`Agent error: ${finished.error}`);
|
|
2293
|
-
}
|
|
2294
|
-
const afterVersion = await savePromptVersion(
|
|
2295
|
-
apiUrl,
|
|
2296
|
-
`loop-after-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}`
|
|
2297
|
-
);
|
|
2298
|
-
if (afterVersion) {
|
|
2299
|
-
console.log(`Saved after-loop prompt version: ${afterVersion.name} (${afterVersion.id})`);
|
|
2300
|
-
}
|
|
2301
|
-
}
|
|
2302
|
-
});
|
|
2303
|
-
var benchCmd = new Command8("bench").description("Run benchmarks and optimise prompts").addCommand(runCmd).addCommand(abCmd).addCommand(optimiseCmd).addCommand(loopCmd);
|
|
1755
|
+
var benchCmd = new Command8("bench").description("Run benchmarks and optimise prompts").addCommand(runCmd).addCommand(optimiseCmd);
|
|
2304
1756
|
|
|
2305
1757
|
// ../../apps/cli/src/index.ts
|
|
2306
|
-
|
|
2307
|
-
try {
|
|
2308
|
-
const req = createRequire(import.meta.url);
|
|
2309
|
-
const pkg = req("../package.json");
|
|
2310
|
-
return pkg.version ?? "0.0.0";
|
|
2311
|
-
} catch {
|
|
2312
|
-
return "0.0.0";
|
|
2313
|
-
}
|
|
2314
|
-
}
|
|
2315
|
-
program2.name("harness").description("Omega harness CLI").version(getVersion()).option("--api <url>", "API base URL", "http://localhost:4000");
|
|
1758
|
+
program2.name("harness").description("Omega harness CLI").version("0.1.0").option("--api <url>", "API base URL", "http://localhost:4000");
|
|
2316
1759
|
program2.addCommand(projectCmd);
|
|
2317
1760
|
program2.addCommand(taskCmd);
|
|
2318
1761
|
program2.addCommand(uiCmd);
|