@a5c-ai/git-a5c 1.0.12 → 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.
- package/dist/args.d.ts +20 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +47 -0
- package/dist/args.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +19 -0
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/agentGenerateContext.d.ts +16 -0
- package/dist/commands/agentGenerateContext.d.ts.map +1 -0
- package/dist/commands/agentGenerateContext.js +965 -0
- package/dist/commands/agentGenerateContext.js.map +1 -0
- package/dist/commands/agentRun.d.ts +3 -0
- package/dist/commands/agentRun.d.ts.map +1 -0
- package/dist/commands/agentRun.js +210 -0
- package/dist/commands/agentRun.js.map +1 -0
- package/dist/commands/block.d.ts.map +1 -1
- package/dist/commands/block.js +6 -0
- package/dist/commands/block.js.map +1 -1
- package/dist/commands/gate.d.ts.map +1 -1
- package/dist/commands/gate.js +6 -0
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +13 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/hookExec.d.ts +3 -0
- package/dist/commands/hookExec.d.ts.map +1 -0
- package/dist/commands/hookExec.js +56 -0
- package/dist/commands/hookExec.js.map +1 -0
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +3 -1
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +21 -0
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/ops.d.ts.map +1 -1
- package/dist/commands/ops.js +6 -0
- package/dist/commands/ops.js.map +1 -1
- package/dist/commands/parse.d.ts +31 -0
- package/dist/commands/parse.d.ts.map +1 -0
- package/dist/commands/parse.js +286 -0
- package/dist/commands/parse.js.map +1 -0
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +21 -0
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/runOrchestration.d.ts +3 -0
- package/dist/commands/runOrchestration.d.ts.map +1 -0
- package/dist/commands/runOrchestration.js +281 -0
- package/dist/commands/runOrchestration.js.map +1 -0
- package/dist/git.d.ts +7 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +46 -0
- package/dist/git.js.map +1 -1
- package/dist/orchestration/hookExecCore.d.ts +22 -0
- package/dist/orchestration/hookExecCore.d.ts.map +1 -0
- package/dist/orchestration/hookExecCore.js +380 -0
- package/dist/orchestration/hookExecCore.js.map +1 -0
- package/dist/orchestration/reconcileCore.d.ts +27 -0
- package/dist/orchestration/reconcileCore.d.ts.map +1 -0
- package/dist/orchestration/reconcileCore.js +183 -0
- package/dist/orchestration/reconcileCore.js.map +1 -0
- package/dist/orchestration/runEventWriter.d.ts +11 -0
- package/dist/orchestration/runEventWriter.d.ts.map +1 -0
- package/dist/orchestration/runEventWriter.js +44 -0
- package/dist/orchestration/runEventWriter.js.map +1 -0
- package/dist/orchestration/sweepCore.d.ts +11 -0
- package/dist/orchestration/sweepCore.d.ts.map +1 -0
- package/dist/orchestration/sweepCore.js +96 -0
- package/dist/orchestration/sweepCore.js.map +1 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +23 -0
- package/dist/run.js.map +1 -1
- package/dist/sync.d.ts +13 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +58 -0
- package/dist/sync.js.map +1 -0
- package/dist/util/githubContents.d.ts +15 -0
- package/dist/util/githubContents.d.ts.map +1 -0
- package/dist/util/githubContents.js +77 -0
- package/dist/util/githubContents.js.map +1 -0
- package/dist/util/redact.d.ts +24 -0
- package/dist/util/redact.d.ts.map +1 -0
- package/dist/util/redact.js +109 -0
- package/dist/util/redact.js.map +1 -0
- package/dist/util/uri.d.ts +12 -0
- package/dist/util/uri.d.ts.map +1 -0
- package/dist/util/uri.js +61 -0
- package/dist/util/uri.js.map +1 -0
- package/package.json +10 -5
package/dist/util/uri.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { git } from "../git.js";
|
|
4
|
+
import { fetchGithubFileContents } from "./githubContents.js";
|
|
5
|
+
export function resolveUri(raw, base) {
|
|
6
|
+
// Support protocol-relative: //path -> inherit scheme from base
|
|
7
|
+
if (raw.startsWith("//") && base) {
|
|
8
|
+
const b = new URL(base, "file://");
|
|
9
|
+
return { scheme: b.protocol.replace(":", ""), path: raw.slice(2) };
|
|
10
|
+
}
|
|
11
|
+
const m = /^(\w+):\/\/(.+)$/.exec(raw);
|
|
12
|
+
if (m)
|
|
13
|
+
return { scheme: m[1], path: m[2] };
|
|
14
|
+
return { scheme: "file", path: raw };
|
|
15
|
+
}
|
|
16
|
+
export async function readTextFromUri(opts) {
|
|
17
|
+
const { scheme, path: p } = resolveUri(opts.uriOrPath, opts.base);
|
|
18
|
+
if (scheme === "file") {
|
|
19
|
+
const resolved = path.isAbsolute(p) ? p : path.resolve(opts.repoRoot, p);
|
|
20
|
+
return fs.readFileSync(resolved, "utf8");
|
|
21
|
+
}
|
|
22
|
+
if (scheme === "github") {
|
|
23
|
+
const [owner, repo, ...rest] = p.split("/");
|
|
24
|
+
if (!owner || !repo || rest.length === 0) {
|
|
25
|
+
throw new Error(`Invalid github URI: expected github://owner/repo/ref/path, got '${opts.uriOrPath}'`);
|
|
26
|
+
}
|
|
27
|
+
let lastErr = null;
|
|
28
|
+
for (let i = rest.length - 1; i >= 1; i--) {
|
|
29
|
+
const refCandidate = rest.slice(0, i).join("/");
|
|
30
|
+
const filePathCandidate = rest.slice(i).join("/");
|
|
31
|
+
try {
|
|
32
|
+
return await fetchGithubFileContents({ owner, repo, ref: decodeURIComponent(refCandidate), filePath: decodeURIComponent(filePathCandidate), token: opts.token });
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
lastErr = e;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
throw lastErr || new Error("Failed to fetch GitHub file: unknown error");
|
|
39
|
+
}
|
|
40
|
+
if (scheme === "git") {
|
|
41
|
+
// git://<ref>/<path> (ref may contain slashes; split longest-first)
|
|
42
|
+
const decoded = decodeURIComponent(p);
|
|
43
|
+
const parts = decoded.split("/").filter(Boolean);
|
|
44
|
+
if (parts.length < 2)
|
|
45
|
+
throw new Error(`Invalid git URI: expected git://ref/path, got '${opts.uriOrPath}'`);
|
|
46
|
+
let lastErr = null;
|
|
47
|
+
for (let i = parts.length - 1; i >= 1; i--) {
|
|
48
|
+
const ref = parts.slice(0, i).join("/");
|
|
49
|
+
const filePath = parts.slice(i).join("/");
|
|
50
|
+
try {
|
|
51
|
+
return await git(["show", `${ref}:${filePath}`], opts.repoRoot);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
lastErr = e;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
throw lastErr || new Error("Failed to fetch git file: unknown error");
|
|
58
|
+
}
|
|
59
|
+
throw new Error(`Unsupported URI scheme '${scheme}'`);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=uri.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/util/uri.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a5c-ai/git-a5c",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -9,12 +9,17 @@
|
|
|
9
9
|
"git-a5c": "./dist/bin/git-a5c.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
12
|
+
"ajv": "^8.17.1",
|
|
13
|
+
"ajv-formats": "^3.0.1",
|
|
14
|
+
"minimatch": "^10.0.1",
|
|
15
|
+
"yaml": "^2.6.1",
|
|
16
|
+
"@a5c-ai/sdk": "1.1.0",
|
|
17
|
+
"@a5c-ai/ui": "1.1.0",
|
|
18
|
+
"@a5c-ai/server": "1.1.0"
|
|
15
19
|
},
|
|
16
20
|
"devDependencies": {
|
|
17
21
|
"@vitest/coverage-v8": "^2.1.8",
|
|
22
|
+
"js-yaml": "^4.1.0",
|
|
18
23
|
"typescript": "^5.7.3",
|
|
19
24
|
"vitest": "^2.1.8"
|
|
20
25
|
},
|
|
@@ -23,7 +28,7 @@
|
|
|
23
28
|
},
|
|
24
29
|
"scripts": {
|
|
25
30
|
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json",
|
|
26
|
-
"test": "vitest run",
|
|
31
|
+
"test": "pnpm -C ../sdk build && pnpm build && vitest run",
|
|
27
32
|
"test:coverage": "vitest run --coverage"
|
|
28
33
|
}
|
|
29
34
|
}
|