harness-engineering-agent 0.3.3 → 0.3.5
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/README.md +2 -1
- package/dist/controller/agent-session.d.ts +2 -0
- package/dist/controller/agent-session.d.ts.map +1 -1
- package/dist/controller/agent-session.js +5 -1
- package/dist/controller/agent-session.js.map +1 -1
- package/dist/controller/run-controller.d.ts.map +1 -1
- package/dist/controller/run-controller.js +69 -9
- package/dist/controller/run-controller.js.map +1 -1
- package/dist/controller/run-persistence.js +11 -1
- package/dist/controller/run-persistence.js.map +1 -1
- package/dist/controller/task-executor.d.ts.map +1 -1
- package/dist/controller/task-executor.js +15 -11
- package/dist/controller/task-executor.js.map +1 -1
- package/dist/domain/report.d.ts +2 -0
- package/dist/domain/report.d.ts.map +1 -1
- package/dist/domain/run.d.ts +2 -0
- package/dist/domain/run.d.ts.map +1 -1
- package/dist/plugin/harness-coordinator.js +26 -6
- package/dist/plugin/harness-coordinator.js.map +1 -1
- package/dist/plugin/harness-plugin-runtime.d.ts.map +1 -1
- package/dist/plugin/harness-plugin-runtime.js +4 -0
- package/dist/plugin/harness-plugin-runtime.js.map +1 -1
- package/dist/session/contracts.d.ts +1 -0
- package/dist/session/contracts.d.ts.map +1 -1
- package/dist/session/opencode-session-adapter.d.ts.map +1 -1
- package/dist/session/opencode-session-adapter.js +35 -5
- package/dist/session/opencode-session-adapter.js.map +1 -1
- package/dist/store/run-event.d.ts +2 -0
- package/dist/store/run-event.d.ts.map +1 -1
- package/dist/workspace/discover-git-repos.d.ts +7 -0
- package/dist/workspace/discover-git-repos.d.ts.map +1 -1
- package/dist/workspace/discover-git-repos.js +52 -0
- package/dist/workspace/discover-git-repos.js.map +1 -1
- package/dist/workspace/env-preflight.d.ts +2 -1
- package/dist/workspace/env-preflight.d.ts.map +1 -1
- package/dist/workspace/env-preflight.js +12 -3
- package/dist/workspace/env-preflight.js.map +1 -1
- package/dist/workspace/git-baseline.d.ts +1 -0
- package/dist/workspace/git-baseline.d.ts.map +1 -1
- package/dist/workspace/git-baseline.js +2 -0
- package/dist/workspace/git-baseline.js.map +1 -1
- package/dist/workspace/git-workspace-adapter.d.ts +8 -3
- package/dist/workspace/git-workspace-adapter.d.ts.map +1 -1
- package/dist/workspace/git-workspace-adapter.js +123 -5
- package/dist/workspace/git-workspace-adapter.js.map +1 -1
- package/dist/workspace/index.d.ts +4 -4
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +2 -2
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/resolve-target-repository.d.ts +7 -3
- package/dist/workspace/resolve-target-repository.d.ts.map +1 -1
- package/dist/workspace/resolve-target-repository.js +14 -4
- package/dist/workspace/resolve-target-repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -485,6 +485,7 @@ export declare const RunEventSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
485
485
|
dirtyAllowed: z.ZodBoolean;
|
|
486
486
|
harnessChangedPaths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
487
487
|
}, z.core.$strip>>]>;
|
|
488
|
+
executionRoot: z.ZodOptional<z.ZodString>;
|
|
488
489
|
}, z.core.$strip>>>;
|
|
489
490
|
contextPackage: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
490
491
|
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
@@ -1236,6 +1237,7 @@ export declare const RunEventSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
1236
1237
|
dirtyAllowed: z.ZodBoolean;
|
|
1237
1238
|
harnessChangedPaths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
1238
1239
|
}, z.core.$strip>>]>;
|
|
1240
|
+
executionRoot: z.ZodOptional<z.ZodString>;
|
|
1239
1241
|
}, z.core.$strip>>>;
|
|
1240
1242
|
contextPackage: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
1241
1243
|
schemaVersion: z.ZodLiteral<"1.0.0">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-event.d.ts","sourceRoot":"","sources":["../../src/store/run-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAMhD,CAAA;AAED,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"run-event.d.ts","sourceRoot":"","sources":["../../src/store/run-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAMhD,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAad,CAAA;AAEb,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,SAAS,EAAE,GACpB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAEzC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA"}
|
|
@@ -2,5 +2,12 @@ export type DiscoveredGitRepo = {
|
|
|
2
2
|
readonly name: string;
|
|
3
3
|
readonly relativePath: string;
|
|
4
4
|
};
|
|
5
|
+
export type DiscoveredProjectDirectory = {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly relativePath: string;
|
|
8
|
+
readonly marker: string;
|
|
9
|
+
};
|
|
5
10
|
export declare const discoverChildGitRepos: (projectRoot: string, maxDepth?: number) => Promise<readonly DiscoveredGitRepo[]>;
|
|
11
|
+
export declare const discoverChildProjectDirectories: (projectRoot: string, maxDepth?: number) => Promise<readonly DiscoveredProjectDirectory[]>;
|
|
12
|
+
export declare const findProjectDirectoryMarker: (directory: string) => string | undefined;
|
|
6
13
|
//# sourceMappingURL=discover-git-repos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-git-repos.d.ts","sourceRoot":"","sources":["../../src/workspace/discover-git-repos.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-git-repos.d.ts","sourceRoot":"","sources":["../../src/workspace/discover-git-repos.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAA;AA4BD,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,WAAU,MAA0B,KACnC,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAMtC,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,aAAa,MAAM,EACnB,WAAU,MAA0B,KACnC,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAM/C,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,WAAW,MAAM,KAAG,MAAM,GAAG,SACK,CAAA"}
|
|
@@ -3,6 +3,14 @@ import { readdir, stat } from "node:fs/promises";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
const DEFAULT_MAX_DEPTH = 2;
|
|
5
5
|
const DEFAULT_MAX_RESULTS = 10;
|
|
6
|
+
const PROJECT_MARKERS = [
|
|
7
|
+
"package.json",
|
|
8
|
+
"pom.xml",
|
|
9
|
+
"pyproject.toml",
|
|
10
|
+
"go.mod",
|
|
11
|
+
"Cargo.toml",
|
|
12
|
+
"README.md",
|
|
13
|
+
];
|
|
6
14
|
const IGNORED_DIRECTORIES = new Set([
|
|
7
15
|
"node_modules",
|
|
8
16
|
".git",
|
|
@@ -23,6 +31,14 @@ export const discoverChildGitRepos = async (projectRoot, maxDepth = DEFAULT_MAX_
|
|
|
23
31
|
.sort((left, right) => left.name.localeCompare(right.name))
|
|
24
32
|
.slice(0, DEFAULT_MAX_RESULTS);
|
|
25
33
|
};
|
|
34
|
+
export const discoverChildProjectDirectories = async (projectRoot, maxDepth = DEFAULT_MAX_DEPTH) => {
|
|
35
|
+
const projects = [];
|
|
36
|
+
await walkForProjectDirectories(projectRoot, "", 0, maxDepth, projects);
|
|
37
|
+
return projects
|
|
38
|
+
.sort((left, right) => left.relativePath.localeCompare(right.relativePath))
|
|
39
|
+
.slice(0, DEFAULT_MAX_RESULTS);
|
|
40
|
+
};
|
|
41
|
+
export const findProjectDirectoryMarker = (directory) => PROJECT_MARKERS.find((candidate) => existsSync(join(directory, candidate)));
|
|
26
42
|
const walkForGitRepos = async (root, relativePath, depth, maxDepth, repos) => {
|
|
27
43
|
if (depth > maxDepth) {
|
|
28
44
|
return;
|
|
@@ -58,4 +74,40 @@ const walkForGitRepos = async (root, relativePath, depth, maxDepth, repos) => {
|
|
|
58
74
|
await walkForGitRepos(fullPath, entryRelative, depth + 1, maxDepth, repos);
|
|
59
75
|
}
|
|
60
76
|
};
|
|
77
|
+
const walkForProjectDirectories = async (root, relativePath, depth, maxDepth, projects) => {
|
|
78
|
+
if (depth > maxDepth) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
let dirEntries;
|
|
82
|
+
try {
|
|
83
|
+
dirEntries = await readdir(root);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
for (const entry of dirEntries) {
|
|
89
|
+
if (IGNORED_DIRECTORIES.has(entry)) {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const fullPath = join(root, entry);
|
|
93
|
+
const entryRelative = relativePath.length === 0 ? entry : `${relativePath}/${entry}`;
|
|
94
|
+
let isDirectory = false;
|
|
95
|
+
try {
|
|
96
|
+
const entryStat = await stat(fullPath);
|
|
97
|
+
isDirectory = entryStat.isDirectory();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (!isDirectory || existsSync(join(fullPath, ".git"))) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const marker = findProjectDirectoryMarker(fullPath);
|
|
106
|
+
if (marker !== undefined) {
|
|
107
|
+
projects.push({ name: entry, relativePath: entryRelative, marker });
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
await walkForProjectDirectories(fullPath, entryRelative, depth + 1, maxDepth, projects);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
61
113
|
//# sourceMappingURL=discover-git-repos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-git-repos.js","sourceRoot":"","sources":["../../src/workspace/discover-git-repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-git-repos.js","sourceRoot":"","sources":["../../src/workspace/discover-git-repos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DiscoveredGitRepo } from "./discover-git-repos.js";
|
|
1
|
+
import type { DiscoveredGitRepo, DiscoveredProjectDirectory } from "./discover-git-repos.js";
|
|
2
2
|
export type PreflightPolicy = {
|
|
3
3
|
readonly allowDirty: boolean;
|
|
4
4
|
readonly allowNonGit: boolean;
|
|
@@ -8,6 +8,7 @@ export type PreflightResult = {
|
|
|
8
8
|
} | {
|
|
9
9
|
readonly status: "non_git";
|
|
10
10
|
readonly detectedRepos: readonly DiscoveredGitRepo[];
|
|
11
|
+
readonly detectedProjectDirectories: readonly DiscoveredProjectDirectory[];
|
|
11
12
|
} | {
|
|
12
13
|
readonly status: "dirty";
|
|
13
14
|
readonly dirtyPaths: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-preflight.d.ts","sourceRoot":"","sources":["../../src/workspace/env-preflight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"env-preflight.d.ts","sourceRoot":"","sources":["../../src/workspace/env-preflight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAO5F,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GACzB;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACpD,QAAQ,CAAC,0BAA0B,EAAE,SAAS,0BAA0B,EAAE,CAAA;CAC3E,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC,CAAA;AAQL,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,QAAQ,eAAe,KACtB,OAAO,CAAC,eAAe,CA6BzB,CAAA"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { discoverChildGitRepos } from "./discover-git-repos.js";
|
|
2
|
+
import { discoverChildGitRepos, discoverChildProjectDirectories, findProjectDirectoryMarker, } from "./discover-git-repos.js";
|
|
3
3
|
export const runWorkspacePreflight = async (projectRoot, policy) => {
|
|
4
4
|
const repoRoot = await resolveRepoRoot(projectRoot);
|
|
5
5
|
if (repoRoot === null) {
|
|
6
|
-
if (policy.allowNonGit) {
|
|
6
|
+
if (policy.allowNonGit && findProjectDirectoryMarker(projectRoot) !== undefined) {
|
|
7
|
+
return { status: "ok" };
|
|
8
|
+
}
|
|
9
|
+
const detectedProjectDirectories = policy.allowNonGit
|
|
10
|
+
? await discoverChildProjectDirectories(projectRoot)
|
|
11
|
+
: [];
|
|
12
|
+
if (policy.allowNonGit && detectedProjectDirectories.length === 0) {
|
|
7
13
|
return { status: "ok" };
|
|
8
14
|
}
|
|
9
15
|
const detectedRepos = await discoverChildGitRepos(projectRoot);
|
|
10
|
-
|
|
16
|
+
if (policy.allowNonGit) {
|
|
17
|
+
return { status: "non_git", detectedRepos, detectedProjectDirectories };
|
|
18
|
+
}
|
|
19
|
+
return { status: "non_git", detectedRepos, detectedProjectDirectories };
|
|
11
20
|
}
|
|
12
21
|
if (policy.allowDirty) {
|
|
13
22
|
return { status: "ok" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-preflight.js","sourceRoot":"","sources":["../../src/workspace/env-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,OAAO,
|
|
1
|
+
{"version":3,"file":"env-preflight.js","sourceRoot":"","sources":["../../src/workspace/env-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,7 @@ export declare const RunWorkspaceSchema: z.ZodReadonly<z.ZodObject<{
|
|
|
52
52
|
dirtyAllowed: z.ZodBoolean;
|
|
53
53
|
harnessChangedPaths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
54
54
|
}, z.core.$strip>>]>;
|
|
55
|
+
executionRoot: z.ZodOptional<z.ZodString>;
|
|
55
56
|
}, z.core.$strip>>;
|
|
56
57
|
export type GitWorkspaceState = z.infer<typeof GitWorkspaceStateSchema>;
|
|
57
58
|
export type NonGitWorkspaceState = z.infer<typeof NonGitWorkspaceStateSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-baseline.d.ts","sourceRoot":"","sources":["../../src/workspace/git-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"git-baseline.d.ts","sourceRoot":"","sources":["../../src/workspace/git-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AASvB,eAAO,MAAM,uBAAuB;;;;;;;;kBAavB,CAAA;AAEb,eAAO,MAAM,0BAA0B;;;;;;;;kBAU1B,CAAA;AAEb,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;oBAGlC,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;kBAKlB,CAAA;AAEb,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAC7E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MACgB,CAAA;AAEtE,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MACW,CAAA;AAE9D,eAAO,MAAM,yBAAyB,QAAO,YAU3C,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { WorkspaceRelativePathSchema } from "../path/workspace-path.js";
|
|
4
4
|
const Sha256DigestSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
|
|
5
|
+
const ExecutionRootSchema = z.string().trim().min(1);
|
|
5
6
|
const ManagedFileHashesSchema = z.record(WorkspaceRelativePathSchema, Sha256DigestSchema).readonly();
|
|
6
7
|
export const GitWorkspaceStateSchema = z
|
|
7
8
|
.object({
|
|
@@ -35,6 +36,7 @@ export const WorkspaceGitStateSchema = z.union([
|
|
|
35
36
|
export const RunWorkspaceSchema = z
|
|
36
37
|
.object({
|
|
37
38
|
git: WorkspaceGitStateSchema,
|
|
39
|
+
executionRoot: ExecutionRootSchema.optional(),
|
|
38
40
|
})
|
|
39
41
|
.readonly();
|
|
40
42
|
export const createWorkspaceDigest = (value) => `sha256:${createHash("sha256").update(value, "utf8").digest("hex")}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-baseline.js","sourceRoot":"","sources":["../../src/workspace/git-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAEvE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"git-baseline.js","sourceRoot":"","sources":["../../src/workspace/git-baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAEvE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;AACpE,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEpD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAA;AAEpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,CAAC;SACvB,QAAQ,EAAE;IACb,kBAAkB,EAAE,kBAAkB;IACtC,iBAAiB,EAAE,uBAAuB;IAC1C,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IAClE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC;KACD,QAAQ,EAAE,CAAA;AAEb,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,kBAAkB,EAAE,kBAAkB;IACtC,iBAAiB,EAAE,uBAAuB;IAC1C,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IAClE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;IACzB,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC;KACD,QAAQ,EAAE,CAAA;AAEb,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,uBAAuB;IACvB,0BAA0B;CAC3B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,GAAG,EAAE,uBAAuB;IAC5B,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,QAAQ,EAAE,CAAA;AAOb,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7D,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1D,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAE9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAiB,EAAE,CAAC,CAAC;IAC5D,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QAC7C,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,EAAE;KACxB;CACF,CAAC,CAAA"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type WorkspaceGitState } from "./git-baseline.js";
|
|
2
|
+
export declare class NonGitWorkspaceScanLimitError extends Error {
|
|
3
|
+
readonly detail: string;
|
|
4
|
+
readonly name = "NonGitWorkspaceScanLimitError";
|
|
5
|
+
constructor(detail: string);
|
|
6
|
+
}
|
|
2
7
|
export type WorkspacePolicy = {
|
|
3
8
|
readonly allowDirty: boolean;
|
|
4
9
|
readonly allowNonGit?: boolean;
|
|
@@ -20,7 +25,7 @@ type RepositoryState = GitRepositoryState | NonGitRepositoryState;
|
|
|
20
25
|
export type WorkspaceChangeAssessment = {
|
|
21
26
|
readonly status: "ok";
|
|
22
27
|
readonly actualChangedPaths: readonly string[];
|
|
23
|
-
readonly nextWorkspace:
|
|
28
|
+
readonly nextWorkspace: WorkspaceGitState;
|
|
24
29
|
} | {
|
|
25
30
|
readonly status: "paused";
|
|
26
31
|
readonly actualChangedPaths: readonly string[];
|
|
@@ -31,7 +36,7 @@ export interface WorkspaceAdapter {
|
|
|
31
36
|
captureBaseline(policy: WorkspacePolicy): Promise<WorkspaceGitState>;
|
|
32
37
|
captureCurrentState(): Promise<RepositoryState>;
|
|
33
38
|
assessTaskChanges(input: {
|
|
34
|
-
readonly baseline:
|
|
39
|
+
readonly baseline: WorkspaceGitState;
|
|
35
40
|
readonly before: RepositoryState;
|
|
36
41
|
readonly afterWorker: RepositoryState;
|
|
37
42
|
readonly afterVerification: RepositoryState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-workspace-adapter.d.ts","sourceRoot":"","sources":["../../src/workspace/git-workspace-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"git-workspace-adapter.d.ts","sourceRoot":"","sources":["../../src/workspace/git-workspace-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAA;AAK1B,qBAAa,6BAA8B,SAAQ,KAAK;IAG1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IAFnC,QAAQ,CAAC,IAAI,mCAAkC;gBAE1B,MAAM,EAAE,MAAM;CAGpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAQD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,KAAK,eAAe,GAAG,kBAAkB,GAAG,qBAAqB,CAAA;AAEjE,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAA;CAC1C,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CACzC,CAAA;AAEL,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACpE,mBAAmB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;IAC/C,iBAAiB,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;QACpC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;QAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;QACrC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAA;QAC3C,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAA;QAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;KACzC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;CACvC;AAED,eAAO,MAAM,yBAAyB,GACpC,aAAa,MAAM,EACnB,SAAS,eAAe,KACvB,gBA+JD,CAAA"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import { readFile } from "node:fs/promises";
|
|
3
|
-
import { resolve } from "node:path";
|
|
2
|
+
import { readdir, readFile, stat } from "node:fs/promises";
|
|
3
|
+
import { join, resolve } from "node:path";
|
|
4
4
|
import { normalizeWorkspaceRelativePath, toWorkspaceRelativePath } from "../path/workspace-path.js";
|
|
5
5
|
import { createBufferDigest, createWorkspaceDigest, } from "./git-baseline.js";
|
|
6
|
+
const MAX_NON_GIT_MANAGED_FILES = 10_000;
|
|
7
|
+
const MAX_NON_GIT_MANAGED_BYTES = 64 * 1024 * 1024;
|
|
8
|
+
export class NonGitWorkspaceScanLimitError extends Error {
|
|
9
|
+
detail;
|
|
10
|
+
name = "NonGitWorkspaceScanLimitError";
|
|
11
|
+
constructor(detail) {
|
|
12
|
+
super(`non-git workspace scan limit exceeded: ${detail}`);
|
|
13
|
+
this.detail = detail;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
6
16
|
export const createGitWorkspaceAdapter = (projectRoot, policy) => ({
|
|
7
17
|
async captureBaseline(capturePolicy) {
|
|
8
18
|
const current = await captureRepositoryState(projectRoot);
|
|
@@ -33,10 +43,29 @@ export const createGitWorkspaceAdapter = (projectRoot, policy) => ({
|
|
|
33
43
|
input.afterWorker.mode === "non-git" ||
|
|
34
44
|
input.afterVerification.mode === "non-git") {
|
|
35
45
|
if (policy?.allowNonGit) {
|
|
46
|
+
const claimedChangedPaths = normalizePaths(input.claimedChangedPaths);
|
|
36
47
|
const actualWorkerChangedPaths = input.before.mode === "non-git" && input.afterWorker.mode === "non-git"
|
|
37
48
|
? diffManagedFileHashes(input.before.managedFileHashes, input.afterWorker.managedFileHashes)
|
|
38
49
|
: [];
|
|
39
|
-
const
|
|
50
|
+
const externalVerificationPaths = input.afterWorker.mode === "non-git" && input.afterVerification.mode === "non-git"
|
|
51
|
+
? diffManagedFileHashes(input.afterWorker.managedFileHashes, input.afterVerification.managedFileHashes)
|
|
52
|
+
: [];
|
|
53
|
+
const actualChangedPaths = normalizePaths([
|
|
54
|
+
...actualWorkerChangedPaths,
|
|
55
|
+
...externalVerificationPaths,
|
|
56
|
+
]);
|
|
57
|
+
const outOfScopePaths = normalizePaths([
|
|
58
|
+
...findDisallowedPaths(claimedChangedPaths, input.allowedPaths),
|
|
59
|
+
...findDisallowedPaths(actualChangedPaths, input.allowedPaths),
|
|
60
|
+
]);
|
|
61
|
+
if (outOfScopePaths.length > 0) {
|
|
62
|
+
return {
|
|
63
|
+
status: "paused",
|
|
64
|
+
actualChangedPaths,
|
|
65
|
+
detail: `non-git workspace changes escaped task scope: ${outOfScopePaths.join(", ")}`,
|
|
66
|
+
driftedPaths: outOfScopePaths,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
40
69
|
return {
|
|
41
70
|
status: "ok",
|
|
42
71
|
actualChangedPaths,
|
|
@@ -126,7 +155,7 @@ const captureRepositoryState = async (projectRoot) => {
|
|
|
126
155
|
if (repoRoot === null) {
|
|
127
156
|
return {
|
|
128
157
|
mode: "non-git",
|
|
129
|
-
managedFileHashes:
|
|
158
|
+
managedFileHashes: await collectNonGitManagedFileHashes(projectRoot),
|
|
130
159
|
};
|
|
131
160
|
}
|
|
132
161
|
const [headRef, dirtyPaths, managedFileHashes] = await Promise.all([
|
|
@@ -144,6 +173,78 @@ const captureRepositoryState = async (projectRoot) => {
|
|
|
144
173
|
managedFileHashes,
|
|
145
174
|
};
|
|
146
175
|
};
|
|
176
|
+
const collectNonGitManagedFileHashes = async (projectRoot) => {
|
|
177
|
+
const paths = [];
|
|
178
|
+
await collectNonGitPaths(projectRoot, "", paths, { bytes: 0 });
|
|
179
|
+
const hashEntries = await Promise.all(paths.map(async (workspacePath) => {
|
|
180
|
+
try {
|
|
181
|
+
const content = await readFile(resolve(projectRoot, workspacePath));
|
|
182
|
+
return [workspacePath, createBufferDigest(content)];
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
}));
|
|
188
|
+
const hashes = new Map();
|
|
189
|
+
for (const entry of hashEntries) {
|
|
190
|
+
if (entry !== undefined) {
|
|
191
|
+
hashes.set(entry[0], entry[1]);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return Object.fromEntries([...hashes.entries()].sort(([left], [right]) => left.localeCompare(right)));
|
|
195
|
+
};
|
|
196
|
+
const collectNonGitPaths = async (root, relativePath, paths, totals) => {
|
|
197
|
+
let entries;
|
|
198
|
+
try {
|
|
199
|
+
entries = await readdir(root);
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
for (const entry of entries) {
|
|
205
|
+
const workspacePath = relativePath.length === 0 ? entry : `${relativePath}/${entry}`;
|
|
206
|
+
if (shouldIgnoreWorkspacePath(workspacePath) || shouldIgnoreWorkspaceEntry(entry)) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
const absolutePath = join(root, entry);
|
|
210
|
+
let isDirectory = false;
|
|
211
|
+
let isFile = false;
|
|
212
|
+
try {
|
|
213
|
+
const entryStat = await stat(absolutePath);
|
|
214
|
+
isDirectory = entryStat.isDirectory();
|
|
215
|
+
isFile = entryStat.isFile();
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
if (isDirectory) {
|
|
221
|
+
await collectNonGitPaths(absolutePath, workspacePath, paths, totals);
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (isFile) {
|
|
225
|
+
const normalized = normalizeWorkspaceRelativePath(workspacePath);
|
|
226
|
+
if (normalized !== undefined) {
|
|
227
|
+
if (paths.length >= MAX_NON_GIT_MANAGED_FILES) {
|
|
228
|
+
throw new NonGitWorkspaceScanLimitError(`file count exceeded ${MAX_NON_GIT_MANAGED_FILES}`);
|
|
229
|
+
}
|
|
230
|
+
const fileSize = await readFileSize(absolutePath);
|
|
231
|
+
if (totals.bytes + fileSize > MAX_NON_GIT_MANAGED_BYTES) {
|
|
232
|
+
throw new NonGitWorkspaceScanLimitError(`managed bytes exceeded ${MAX_NON_GIT_MANAGED_BYTES}`);
|
|
233
|
+
}
|
|
234
|
+
totals.bytes += fileSize;
|
|
235
|
+
paths.push(normalized);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
const readFileSize = async (absolutePath) => {
|
|
241
|
+
try {
|
|
242
|
+
return (await stat(absolutePath)).size;
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return 0;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
147
248
|
const resolveRepoRoot = async (cwd) => {
|
|
148
249
|
const result = await runGitCommand(cwd, ["rev-parse", "--show-toplevel"]);
|
|
149
250
|
if (result.exitCode !== 0) {
|
|
@@ -309,5 +410,22 @@ const formatPathSet = (paths) => {
|
|
|
309
410
|
}
|
|
310
411
|
return `[${normalizePaths(paths).join(", ")}]`;
|
|
311
412
|
};
|
|
312
|
-
const shouldIgnoreWorkspacePath = (workspacePath) => workspacePath === ".harness" ||
|
|
413
|
+
const shouldIgnoreWorkspacePath = (workspacePath) => workspacePath === ".harness" ||
|
|
414
|
+
workspacePath.startsWith(".harness/") ||
|
|
415
|
+
workspacePath.endsWith("/www/logs") ||
|
|
416
|
+
workspacePath.includes("/www/logs/");
|
|
417
|
+
const shouldIgnoreWorkspaceEntry = (entry) => entry === ".git" ||
|
|
418
|
+
entry === "node_modules" ||
|
|
419
|
+
entry === ".harness" ||
|
|
420
|
+
entry === ".codegraph" ||
|
|
421
|
+
entry === ".m2-opencode" ||
|
|
422
|
+
entry === "dist" ||
|
|
423
|
+
entry === "build" ||
|
|
424
|
+
entry === "coverage" ||
|
|
425
|
+
entry === "target" ||
|
|
426
|
+
entry === "logs" ||
|
|
427
|
+
entry === ".next" ||
|
|
428
|
+
entry === ".nuxt" ||
|
|
429
|
+
entry === ".cache" ||
|
|
430
|
+
entry === ".harness-worktrees";
|
|
313
431
|
//# sourceMappingURL=git-workspace-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-workspace-adapter.js","sourceRoot":"","sources":["../../src/workspace/git-workspace-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-workspace-adapter.js","sourceRoot":"","sources":["../../src/workspace/git-workspace-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export { collectProjectContext } from "./collect-project-context.js";
|
|
2
|
-
export type { DiscoveredGitRepo } from "./discover-git-repos.js";
|
|
3
|
-
export { discoverChildGitRepos } from "./discover-git-repos.js";
|
|
2
|
+
export type { DiscoveredGitRepo, DiscoveredProjectDirectory } from "./discover-git-repos.js";
|
|
3
|
+
export { discoverChildGitRepos, discoverChildProjectDirectories, findProjectDirectoryMarker, } from "./discover-git-repos.js";
|
|
4
4
|
export type { PreflightPolicy, PreflightResult } from "./env-preflight.js";
|
|
5
5
|
export { runWorkspacePreflight } from "./env-preflight.js";
|
|
6
6
|
export type { GitWorkspaceState, NonGitWorkspaceState, RunWorkspace, WorkspaceGitState, } from "./git-baseline.js";
|
|
7
7
|
export { createBufferDigest, createDefaultRunWorkspace, createWorkspaceDigest, GitWorkspaceStateSchema, NonGitWorkspaceStateSchema, RunWorkspaceSchema, WorkspaceGitStateSchema, } from "./git-baseline.js";
|
|
8
8
|
export type { WorkspaceAdapter, WorkspaceChangeAssessment, WorkspacePolicy, } from "./git-workspace-adapter.js";
|
|
9
|
-
export { createGitWorkspaceAdapter } from "./git-workspace-adapter.js";
|
|
9
|
+
export { createGitWorkspaceAdapter, NonGitWorkspaceScanLimitError, } from "./git-workspace-adapter.js";
|
|
10
10
|
export type { GitWorktreeAdapter, WorktreeCreateResult, WorktreeLease, WorktreeMergeAbortResult, WorktreeMergeResult, } from "./git-worktree-adapter.js";
|
|
11
11
|
export { createGitWorktreeAdapter, GitWorktreeCommandError } from "./git-worktree-adapter.js";
|
|
12
|
-
export type { ResolvedTargetRepository } from "./resolve-target-repository.js";
|
|
12
|
+
export type { ResolvedTargetRepository, ResolveTargetRepositoryOptions, } from "./resolve-target-repository.js";
|
|
13
13
|
export { resolveTargetRepository, TargetRepositoryError } from "./resolve-target-repository.js";
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAC7F,YAAY,EACV,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA"}
|
package/dist/workspace/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { collectProjectContext } from "./collect-project-context.js";
|
|
2
|
-
export { discoverChildGitRepos } from "./discover-git-repos.js";
|
|
2
|
+
export { discoverChildGitRepos, discoverChildProjectDirectories, findProjectDirectoryMarker, } from "./discover-git-repos.js";
|
|
3
3
|
export { runWorkspacePreflight } from "./env-preflight.js";
|
|
4
4
|
export { createBufferDigest, createDefaultRunWorkspace, createWorkspaceDigest, GitWorkspaceStateSchema, NonGitWorkspaceStateSchema, RunWorkspaceSchema, WorkspaceGitStateSchema, } from "./git-baseline.js";
|
|
5
|
-
export { createGitWorkspaceAdapter } from "./git-workspace-adapter.js";
|
|
5
|
+
export { createGitWorkspaceAdapter, NonGitWorkspaceScanLimitError, } from "./git-workspace-adapter.js";
|
|
6
6
|
export { createGitWorktreeAdapter, GitWorktreeCommandError } from "./git-worktree-adapter.js";
|
|
7
7
|
export { resolveTargetRepository, TargetRepositoryError } from "./resolve-target-repository.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAO1D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAA;AAQnC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAK7F,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export declare class TargetRepositoryError extends Error {
|
|
2
|
-
readonly reason: "path_traversal" | "not_found" | "not_git" | "outside_workspace";
|
|
2
|
+
readonly reason: "path_traversal" | "not_found" | "not_directory" | "not_git" | "outside_workspace";
|
|
3
3
|
readonly detail: string;
|
|
4
4
|
readonly name = "TargetRepositoryError";
|
|
5
|
-
constructor(reason: "path_traversal" | "not_found" | "not_git" | "outside_workspace", detail: string);
|
|
5
|
+
constructor(reason: "path_traversal" | "not_found" | "not_directory" | "not_git" | "outside_workspace", detail: string);
|
|
6
6
|
}
|
|
7
7
|
export type ResolvedTargetRepository = {
|
|
8
8
|
readonly absolutePath: string;
|
|
9
9
|
readonly relativePath: string;
|
|
10
|
+
readonly mode: "git" | "non-git";
|
|
10
11
|
};
|
|
11
|
-
export
|
|
12
|
+
export type ResolveTargetRepositoryOptions = {
|
|
13
|
+
readonly allowNonGit?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const resolveTargetRepository: (targetRepository: string, projectRoot: string, options?: ResolveTargetRepositoryOptions) => Promise<ResolvedTargetRepository>;
|
|
12
16
|
//# sourceMappingURL=resolve-target-repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-target-repository.d.ts","sourceRoot":"","sources":["../../src/workspace/resolve-target-repository.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAsB,SAAQ,KAAK;IAI5C,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"resolve-target-repository.d.ts","sourceRoot":"","sources":["../../src/workspace/resolve-target-repository.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAsB,SAAQ,KAAK;IAI5C,QAAQ,CAAC,MAAM,EACX,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,SAAS,GACT,mBAAmB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM;IATzB,QAAQ,CAAC,IAAI,2BAA0B;gBAG5B,MAAM,EACX,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,SAAS,GACT,mBAAmB,EACd,MAAM,EAAE,MAAM;CAI1B;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,kBAAkB,MAAM,EACxB,aAAa,MAAM,EACnB,UAAS,8BAAmC,KAC3C,OAAO,CAAC,wBAAwB,CAoDlC,CAAA"}
|