@aether-agent/evals 0.1.0 → 0.2.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.
package/dist/git.d.ts CHANGED
@@ -2,8 +2,26 @@ export declare class GitRepo {
2
2
  readonly path: string;
3
3
  private constructor();
4
4
  static fromPath(path: string): GitRepo;
5
- static clone(url: string, dest: string, signal?: AbortSignal): Promise<GitRepo>;
5
+ /** Initialize an empty repository at `dest`. */
6
+ static init(dest: string, signal?: AbortSignal): Promise<GitRepo>;
7
+ /**
8
+ * Clone `source` (a URL or a local bundle/path) into `dest` with `--no-checkout`.
9
+ *
10
+ * When `blobless` (the default), uses a partial blobless clone (`--filter=blob:none`)
11
+ * that defers blob downloads -- cheaper for large repos. Pass false to download the full
12
+ * object set so the clone is self-contained (e.g. when `source` is a bundle, which is not
13
+ * a promisor remote).
14
+ */
15
+ static clone(source: string, dest: string, signal?: AbortSignal, blobless?: boolean): Promise<GitRepo>;
6
16
  checkout(reference: string, signal?: AbortSignal): Promise<void>;
17
+ /** Fetch `revs` from `remote` (a named remote or a URL) into this repository. */
18
+ fetch(remote: string, revs: string[], signal?: AbortSignal): Promise<void>;
19
+ updateRef(name: string, commit: string, signal?: AbortSignal): Promise<void>;
20
+ /**
21
+ * Create a self-contained git bundle at `out` containing the given refs and their
22
+ * reachable objects.
23
+ */
24
+ bundle(revs: string[], out: string, signal?: AbortSignal): Promise<void>;
7
25
  diff(fromCommit: string, toCommit?: string, signal?: AbortSignal): Promise<string>;
8
26
  diffUnstaged(signal?: AbortSignal): Promise<string>;
9
27
  }
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAIA,qBAAa,OAAO;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAzC,OAAO;IAEP,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAIzB,KAAK,CAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAQb,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAMZ,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAG1D"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAIA,qBAAa,OAAO;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAzC,OAAO;IAEP,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAItC,gDAAgD;WACnC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvE;;;;;;;OAOG;WACU,KAAK,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,UAAO,GACd,OAAO,CAAC,OAAO,CAAC;IAMb,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,iFAAiF;IAC3E,KAAK,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAIV,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;OAGG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAIV,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;IAMZ,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;CAG1D"}
package/dist/git.js CHANGED
@@ -8,13 +8,41 @@ export class GitRepo {
8
8
  static fromPath(path) {
9
9
  return new GitRepo(path);
10
10
  }
11
- static async clone(url, dest, signal) {
12
- await git(["clone", "--no-checkout", "--filter=blob:none", url, dest], signal);
11
+ /** Initialize an empty repository at `dest`. */
12
+ static async init(dest, signal) {
13
+ await git(["init", dest], signal);
14
+ return new GitRepo(dest);
15
+ }
16
+ /**
17
+ * Clone `source` (a URL or a local bundle/path) into `dest` with `--no-checkout`.
18
+ *
19
+ * When `blobless` (the default), uses a partial blobless clone (`--filter=blob:none`)
20
+ * that defers blob downloads -- cheaper for large repos. Pass false to download the full
21
+ * object set so the clone is self-contained (e.g. when `source` is a bundle, which is not
22
+ * a promisor remote).
23
+ */
24
+ static async clone(source, dest, signal, blobless = true) {
25
+ const filter = blobless ? ["--filter=blob:none"] : [];
26
+ await git(["clone", "--no-checkout", ...filter, source, dest], signal);
13
27
  return new GitRepo(dest);
14
28
  }
15
29
  async checkout(reference, signal) {
16
30
  await git(["-C", this.path, "checkout", reference], signal);
17
31
  }
32
+ /** Fetch `revs` from `remote` (a named remote or a URL) into this repository. */
33
+ async fetch(remote, revs, signal) {
34
+ await git(["-C", this.path, "fetch", remote, ...revs], signal);
35
+ }
36
+ async updateRef(name, commit, signal) {
37
+ await git(["-C", this.path, "update-ref", name, commit], signal);
38
+ }
39
+ /**
40
+ * Create a self-contained git bundle at `out` containing the given refs and their
41
+ * reachable objects.
42
+ */
43
+ async bundle(revs, out, signal) {
44
+ await git(["-C", this.path, "bundle", "create", out, ...revs], signal);
45
+ }
18
46
  async diff(fromCommit, toCommit, signal) {
19
47
  const range = toCommit ? `${fromCommit}..${toCommit}` : fromCommit;
20
48
  const result = await git(["-C", this.path, "diff", range], signal);
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,GAAW,EACX,IAAY,EACZ,MAAoB;QAEpB,MAAM,GAAG,CACP,CAAC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,CAAC,EAC3D,MAAM,CACP,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,MAAoB;QACpD,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,IAAI,CACR,UAAkB,EAClB,QAAiB,EACjB,MAAoB;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAoB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,MAAoB;IACrD,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE;QACnC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,UAAU;QACf,WAAW,EAAE,MAAM;QACnB,kBAAkB,EAChB,0EAA0E;QAC5E,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,QAAQ,MAAM,MAAM,EAAE;KACnE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export type { GenerateJsonOptions, GenerateOptions, GenerateResult, ReasoningEff
14
14
  export { judge, JudgeCriterionResponseSchema, JudgeResponseSchema, } from "./judge.js";
15
15
  export type { Judge, JudgeContext, JudgeCriterionResponse, JudgeCriterionSpec, JudgeCriterionSummary, JudgeInput, JudgeRubricResponse, JudgeSummary, } from "./judge.js";
16
16
  export { Transcript, TranscriptError, ToolCall } from "./transcript.js";
17
- export { Workspace } from "./workspace.js";
18
- export type { GitRepoSpec, RetainedWorkspaceInfo, WorkspaceSource, } from "./workspace.js";
17
+ export { createGitBundle, Workspace } from "./workspace.js";
18
+ export type { GitBundleSpec, GitRepoSpec, RetainedWorkspaceInfo, WorkspaceSource, } from "./workspace.js";
19
19
  export type { AgentMessage, ContextUsage, FileDiff, PlanMeta, PlanMetaEntry, PlanMetaStatus, ToolCallError, ToolCallRequest, ToolCallResult, ToolDisplayMeta, ToolResultMeta, } from "@aether-agent/sdk";
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC3E,YAAY,EACV,SAAS,EACT,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC3E,YAAY,EACV,SAAS,EACT,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -7,5 +7,5 @@ export { diffStatsFromDiff } from "./diff.js";
7
7
  export { generate } from "./generate.js";
8
8
  export { judge, JudgeCriterionResponseSchema, JudgeResponseSchema, } from "./judge.js";
9
9
  export { Transcript, TranscriptError, ToolCall } from "./transcript.js";
10
- export { Workspace } from "./workspace.js";
10
+ export { createGitBundle, Workspace } from "./workspace.js";
11
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAS3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,OAAO,EACL,KAAK,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAWpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAS3E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,OAAO,EACL,KAAK,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAWpB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -5,6 +5,12 @@ export interface GitRepoSpec {
5
5
  goldCommit: string;
6
6
  subdir?: string;
7
7
  }
8
+ export interface GitBundleSpec {
9
+ bundlePath: string;
10
+ startCommit: string;
11
+ goldCommit: string;
12
+ subdir?: string;
13
+ }
8
14
  export interface RetainedWorkspaceInfo {
9
15
  rootPath: string;
10
16
  path: string;
@@ -16,6 +22,11 @@ export type WorkspaceSource = "local" | {
16
22
  startCommit: string;
17
23
  goldCommit: string;
18
24
  };
25
+ } | {
26
+ bundle: {
27
+ startCommit: string;
28
+ goldCommit: string;
29
+ };
19
30
  };
20
31
  /** A workspace created on the host for an eval run. */
21
32
  export declare class Workspace implements AsyncDisposable {
@@ -32,6 +43,14 @@ export declare class Workspace implements AsyncDisposable {
32
43
  static fromFiles(files: Record<string, string>): Promise<Workspace>;
33
44
  static fromDir(srcDir: string, baseDir?: string): Promise<Workspace>;
34
45
  static fromGitRepo(spec: GitRepoSpec, signal?: AbortSignal): Promise<Workspace>;
46
+ /**
47
+ * Instantiate a workspace from a local git bundle file (see {@link createGitBundle}).
48
+ *
49
+ * The bundle must contain both `startCommit` and `goldCommit` so that checkout and
50
+ * reference diffing work without the originating remote.
51
+ */
52
+ static fromGitBundle(spec: GitBundleSpec, signal?: AbortSignal): Promise<Workspace>;
53
+ private static fromClone;
35
54
  join(relativePath: string): string;
36
55
  persist(): RetainedWorkspaceInfo;
37
56
  captureGitDiffs(): Promise<{
@@ -42,4 +61,12 @@ export declare class Workspace implements AsyncDisposable {
42
61
  cleanup(): Promise<void>;
43
62
  [Symbol.asyncDispose](): Promise<void>;
44
63
  }
64
+ /**
65
+ * Create a self-contained git bundle at `outPath` containing `spec`'s start and gold
66
+ * commits.
67
+ *
68
+ * Fetches only the start and gold commits (and their reachable objects) into a fresh repo,
69
+ * then writes a bundle that {@link Workspace.fromGitBundle} can later instantiate offline.
70
+ */
71
+ export declare function createGitBundle(spec: GitRepoSpec, outPath: string, signal?: AbortSignal): Promise<void>;
45
72
  //# sourceMappingURL=workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uFAAuF;AACvF,MAAM,MAAM,eAAe,GACvB,OAAO,GACP;IAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEtE,uDAAuD;AACvD,qBAAa,SAAU,YAAW,eAAe;;IAC/C,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAIjC,OAAO;WAYM,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;WAK3B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;WAe5D,OAAO,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,SAAgB,GACtB,OAAO,CAAC,SAAS,CAAC;WAaR,WAAW,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAyBrB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,IAAI,qBAAqB;IAK1B,eAAe,IAAI,OAAO,CAAC;QAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAYF,kDAAkD;IAC5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAM5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uFAAuF;AACvF,MAAM,MAAM,eAAe,GACvB,OAAO,GACP;IAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAE5D,uDAAuD;AACvD,qBAAa,SAAU,YAAW,eAAe;;IAC/C,mGAAmG;IACnG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAIjC,OAAO;WAYM,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;WAK3B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;WAe5D,OAAO,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,SAAgB,GACtB,OAAO,CAAC,SAAS,CAAC;WAaR,WAAW,CACtB,IAAI,EAAE,WAAW,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAWrB;;;;;OAKG;WACU,aAAa,CACxB,IAAI,EAAE,aAAa,EACnB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;mBAiBA,SAAS;IAwB9B,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIlC,OAAO,IAAI,qBAAqB;IAK1B,eAAe,IAAI,OAAO,CAAC;QAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAaF,kDAAkD;IAC5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAmBf"}
package/dist/workspace.js CHANGED
@@ -4,6 +4,8 @@ import { dirname, join, relative, resolve } from "node:path";
4
4
  import { AetherSdkError } from "@aether-agent/sdk";
5
5
  import { diffStatsFromDiff } from "./diff.js";
6
6
  import { GitRepo } from "./git.js";
7
+ const EVAL_START_REF = "eval-start";
8
+ const EVAL_GOLD_REF = "eval-gold";
7
9
  /** A workspace created on the host for an eval run. */
8
10
  export class Workspace {
9
11
  /** Retained repository/temp root. Cleanup removes this directory; bind-mounted to `/workspace`. */
@@ -53,20 +55,33 @@ export class Workspace {
53
55
  }
54
56
  }
55
57
  static async fromGitRepo(spec, signal) {
58
+ const { url, startCommit, goldCommit, subdir } = spec;
59
+ return Workspace.fromClone((rootPath) => GitRepo.clone(url, rootPath, signal), startCommit, subdir, { git: { url, startCommit, goldCommit } }, signal);
60
+ }
61
+ /**
62
+ * Instantiate a workspace from a local git bundle file (see {@link createGitBundle}).
63
+ *
64
+ * The bundle must contain both `startCommit` and `goldCommit` so that checkout and
65
+ * reference diffing work without the originating remote.
66
+ */
67
+ static async fromGitBundle(spec, signal) {
68
+ const { bundlePath, startCommit, goldCommit, subdir } = spec;
69
+ if (!(await pathExists(bundlePath))) {
70
+ throw new AetherSdkError("invalid_options", `git bundle file does not exist: ${bundlePath}`);
71
+ }
72
+ return Workspace.fromClone((rootPath) => GitRepo.clone(bundlePath, rootPath, signal, false), startCommit, subdir, { bundle: { startCommit, goldCommit } }, signal);
73
+ }
74
+ static async fromClone(clone, startCommit, subdir, source, signal) {
56
75
  const rootPath = await createWorkspaceDir();
57
76
  try {
58
- const { url, startCommit, goldCommit, subdir } = spec;
59
- const repo = await GitRepo.clone(url, rootPath, signal);
77
+ const repo = await clone(rootPath);
60
78
  await repo.checkout(startCommit, signal);
61
- const path = subdir ? join(rootPath, subdir) : rootPath;
62
- if (subdir && !(await pathExists(path))) {
63
- throw new AetherSdkError("invalid_options", `git workspace subdirectory does not exist: ${path}`);
64
- }
79
+ const path = await resolveSubdir(rootPath, subdir);
65
80
  return new Workspace({
66
81
  rootPath,
67
82
  path,
68
83
  relativeCwd: subdir ?? undefined,
69
- source: { git: { url, startCommit, goldCommit } },
84
+ source,
70
85
  });
71
86
  }
72
87
  catch (err) {
@@ -82,10 +97,11 @@ export class Workspace {
82
97
  return { rootPath: this.rootPath, path: this.path };
83
98
  }
84
99
  async captureGitDiffs() {
85
- if (this.source === "local")
100
+ const commits = diffCommits(this.source);
101
+ if (!commits)
86
102
  return {};
87
103
  const repo = GitRepo.fromPath(this.path);
88
- const { startCommit, goldCommit } = this.source.git;
104
+ const { startCommit, goldCommit } = commits;
89
105
  const [agentDiff, referenceDiff] = await Promise.all([
90
106
  captureDiff(() => repo.diffUnstaged()),
91
107
  captureDiff(() => repo.diff(startCommit, goldCommit)),
@@ -103,6 +119,26 @@ export class Workspace {
103
119
  return this.cleanup();
104
120
  }
105
121
  }
122
+ /**
123
+ * Create a self-contained git bundle at `outPath` containing `spec`'s start and gold
124
+ * commits.
125
+ *
126
+ * Fetches only the start and gold commits (and their reachable objects) into a fresh repo,
127
+ * then writes a bundle that {@link Workspace.fromGitBundle} can later instantiate offline.
128
+ */
129
+ export async function createGitBundle(spec, outPath, signal) {
130
+ const tempDir = await createWorkspaceDir();
131
+ try {
132
+ const repo = await GitRepo.init(tempDir, signal);
133
+ await repo.fetch(spec.url, [spec.startCommit, spec.goldCommit], signal);
134
+ await repo.updateRef(`refs/heads/${EVAL_START_REF}`, spec.startCommit, signal);
135
+ await repo.updateRef(`refs/heads/${EVAL_GOLD_REF}`, spec.goldCommit, signal);
136
+ await repo.bundle([EVAL_START_REF, EVAL_GOLD_REF], outPath, signal);
137
+ }
138
+ finally {
139
+ await rm(tempDir, { recursive: true, force: true });
140
+ }
141
+ }
106
142
  async function captureDiff(getDiff) {
107
143
  try {
108
144
  const diff = await getDiff();
@@ -132,4 +168,18 @@ async function pathExists(path) {
132
168
  return false;
133
169
  }
134
170
  }
171
+ async function resolveSubdir(rootPath, subdir) {
172
+ if (!subdir)
173
+ return rootPath;
174
+ const path = join(rootPath, subdir);
175
+ if (!(await pathExists(path))) {
176
+ throw new AetherSdkError("invalid_options", `git workspace subdirectory does not exist: ${path}`);
177
+ }
178
+ return path;
179
+ }
180
+ function diffCommits(source) {
181
+ if (source === "local")
182
+ return undefined;
183
+ return "git" in source ? source.git : source.bundle;
184
+ }
135
185
  //# sourceMappingURL=workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aether-agent/evals",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Evaluation harness for the Aether agent SDK",
5
5
  "repository": {
6
6
  "type": "git",