@velum-labs/routekit-eval-setup 1.0.26 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/adapters/git-basis-snapshot.d.ts +27 -0
  2. package/dist/adapters/git-basis-snapshot.js +178 -0
  3. package/dist/basis-candidates.d.ts +72 -0
  4. package/dist/basis-candidates.js +157 -0
  5. package/dist/basis-projection.d.ts +9 -0
  6. package/dist/basis-projection.js +30 -0
  7. package/dist/basis-validation.d.ts +38 -0
  8. package/dist/basis-validation.js +187 -0
  9. package/dist/effect-api.d.ts +8 -0
  10. package/dist/effect-api.js +5 -0
  11. package/dist/errors.d.ts +11 -1
  12. package/dist/errors.js +5 -0
  13. package/dist/index.d.ts +15 -3
  14. package/dist/index.js +10 -2
  15. package/dist/project-artifacts.d.ts +26 -1
  16. package/dist/project-artifacts.js +52 -1
  17. package/dist/project-contracts.d.ts +3594 -0
  18. package/dist/project-contracts.js +344 -1
  19. package/dist/project-store.d.ts +3 -1
  20. package/dist/project-store.js +39 -33
  21. package/dist/project-workflow.d.ts +2 -2
  22. package/dist/services/basis-authoring/service.d.ts +253 -0
  23. package/dist/services/basis-authoring/service.js +547 -0
  24. package/dist/services/basis-onboarding/service.d.ts +48 -0
  25. package/dist/services/basis-onboarding/service.js +491 -0
  26. package/dist/services/basis-repair/service.d.ts +25 -0
  27. package/dist/services/basis-repair/service.js +249 -0
  28. package/dist/test/basis-authoring.test.d.ts +1 -0
  29. package/dist/test/basis-authoring.test.js +194 -0
  30. package/dist/test/basis-onboarding.test.d.ts +1 -0
  31. package/dist/test/basis-onboarding.test.js +385 -0
  32. package/dist/test/basis-repair.test.d.ts +1 -0
  33. package/dist/test/basis-repair.test.js +338 -0
  34. package/dist/test/basis-v3.test.d.ts +1 -0
  35. package/dist/test/basis-v3.test.js +262 -0
  36. package/dist/test/project-v2.test.d.ts +1 -0
  37. package/dist/test/project-v2.test.js +99 -0
  38. package/package.json +4 -3
@@ -0,0 +1,99 @@
1
+ import assert from "node:assert/strict";
2
+ import { mkdtemp, readFile, rm, stat } from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { after, test } from "node:test";
6
+ import { layer as NodeServicesLayer } from "@effect/platform-node/NodeServices";
7
+ import { Effect } from "effect";
8
+ import { EVAL_PROJECT_VERSION } from "../project-contracts.js";
9
+ import { makeFileEvalProjectStore } from "../project-store.js";
10
+ const roots = [];
11
+ after(async () => Promise.all(roots.map((root) => rm(root, { recursive: true, force: true }))));
12
+ const configuration = {
13
+ workloadDescription: "RouteKit repository changes",
14
+ candidateModels: ["openai/a", "openai/b"],
15
+ classifierModel: "openai/classifier",
16
+ authorModel: "openai/author",
17
+ judgeModel: "openai/judge",
18
+ objective: { kind: "highest-quality" },
19
+ maximumUnknownWeight: 0.3
20
+ };
21
+ function generationReadyState(root) {
22
+ const digest = (value) => value.repeat(64);
23
+ return {
24
+ version: 2,
25
+ projectId: "classification-v3-project",
26
+ revision: 0,
27
+ createdAt: "2026-08-23T00:00:00.000Z",
28
+ updatedAt: "2026-08-23T00:00:00.000Z",
29
+ sourceInventory: ["README.md"],
30
+ configuration,
31
+ stage: "basis-generation-ready",
32
+ snapshot: {
33
+ repositoryRootDigest: digest("1"),
34
+ requestedRef: "HEAD",
35
+ commit: digest("2"),
36
+ tree: digest("3"),
37
+ repositoryDigest: digest("4"),
38
+ capturedAt: "2026-08-23T00:00:00.000Z",
39
+ dirty: false,
40
+ sourceInventoryDigest: digest("5")
41
+ },
42
+ split: {
43
+ version: 1,
44
+ splitDigest: digest("6"),
45
+ construction: [],
46
+ validation: [],
47
+ final: [],
48
+ provisional: true,
49
+ warnings: ["validation cohort contains fewer than 12 tasks"]
50
+ },
51
+ generationPlan: {
52
+ version: 1,
53
+ planDigest: digest("7"),
54
+ repositoryDigest: digest("4"),
55
+ splitDigest: digest("6"),
56
+ authorModel: configuration.authorModel,
57
+ recipes: [],
58
+ plannedPrimaryCalls: 0,
59
+ maximumAttempts: 0,
60
+ requiredTotalInputTokens: 0,
61
+ requiredTotalOutputTokens: 0
62
+ },
63
+ generationLedger: {
64
+ version: 1,
65
+ planDigest: digest("7"),
66
+ ledgerDigest: digest("8"),
67
+ jobs: []
68
+ }
69
+ };
70
+ }
71
+ test("project store persists V2 documents without converting legacy V1 state", async () => {
72
+ const root = await mkdtemp(path.join(os.tmpdir(), "routekit-eval-project-v2-"));
73
+ roots.push(root);
74
+ await Effect.runPromise(Effect.gen(function* () {
75
+ const store = yield* makeFileEvalProjectStore;
76
+ const v2 = generationReadyState(root);
77
+ yield* store.saveDocument(root, v2);
78
+ assert.deepEqual(yield* store.loadDocument(root), v2);
79
+ const legacyRead = yield* Effect.exit(store.load(root));
80
+ assert.equal(legacyRead._tag, "Failure");
81
+ const v1 = {
82
+ version: EVAL_PROJECT_VERSION,
83
+ projectId: "legacy-project",
84
+ revision: 0,
85
+ createdAt: "2026-08-23T00:00:00.000Z",
86
+ updatedAt: "2026-08-23T00:00:00.000Z",
87
+ sourceInventory: [],
88
+ stage: "setup-required",
89
+ progress: { _tag: "WorkloadDescriptionRequired" }
90
+ };
91
+ yield* store.save(root, v1);
92
+ assert.deepEqual(yield* store.load(root), v1);
93
+ assert.deepEqual(yield* store.loadDocument(root), v1);
94
+ }).pipe(Effect.provide(NodeServicesLayer)));
95
+ const projectPath = path.join(root, ".routekit", "evals", "project.json");
96
+ assert.equal(JSON.parse(await readFile(projectPath, "utf8"))
97
+ .version, 1);
98
+ assert.equal((await stat(projectPath)).mode & 0o777, 0o600);
99
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@velum-labs/routekit-eval-setup",
3
3
  "private": false,
4
- "version": "1.0.26",
4
+ "version": "1.1.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/velum-labs/routekit.git",
@@ -32,8 +32,9 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "effect": "4.0.0-rc.108",
35
- "@velum-labs/routekit-eval-contracts": "1.0.26",
36
- "@velum-labs/routekit-runtime": "1.0.26"
35
+ "@velum-labs/routekit-eval-contracts": "1.1.0",
36
+ "@velum-labs/routekit-eval-core": "1.1.0",
37
+ "@velum-labs/routekit-runtime": "1.1.0"
37
38
  },
38
39
  "keywords": [
39
40
  "routekit",