@izagood/avcs 0.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/LICENSE +201 -0
- package/README.md +221 -0
- package/dist/api/repo.d.ts +616 -0
- package/dist/api/repo.d.ts.map +1 -0
- package/dist/api/repo.js +1772 -0
- package/dist/api/repo.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +660 -0
- package/dist/cli.js.map +1 -0
- package/dist/concurrency/lease.d.ts +27 -0
- package/dist/concurrency/lease.d.ts.map +1 -0
- package/dist/concurrency/lease.js +63 -0
- package/dist/concurrency/lease.js.map +1 -0
- package/dist/core/canonical.d.ts +16 -0
- package/dist/core/canonical.d.ts.map +1 -0
- package/dist/core/canonical.js +66 -0
- package/dist/core/canonical.js.map +1 -0
- package/dist/core/cbor.d.ts +9 -0
- package/dist/core/cbor.d.ts.map +1 -0
- package/dist/core/cbor.js +213 -0
- package/dist/core/cbor.js.map +1 -0
- package/dist/core/clock.d.ts +18 -0
- package/dist/core/clock.d.ts.map +1 -0
- package/dist/core/clock.js +32 -0
- package/dist/core/clock.js.map +1 -0
- package/dist/core/identity.d.ts +34 -0
- package/dist/core/identity.d.ts.map +1 -0
- package/dist/core/identity.js +62 -0
- package/dist/core/identity.js.map +1 -0
- package/dist/hub/hubClient.d.ts +38 -0
- package/dist/hub/hubClient.d.ts.map +1 -0
- package/dist/hub/hubClient.js +157 -0
- package/dist/hub/hubClient.js.map +1 -0
- package/dist/hub/hubServer.d.ts +28 -0
- package/dist/hub/hubServer.d.ts.map +1 -0
- package/dist/hub/hubServer.js +365 -0
- package/dist/hub/hubServer.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/objects/types.d.ts +352 -0
- package/dist/objects/types.d.ts.map +1 -0
- package/dist/objects/types.js +17 -0
- package/dist/objects/types.js.map +1 -0
- package/dist/observe/logger.d.ts +27 -0
- package/dist/observe/logger.d.ts.map +1 -0
- package/dist/observe/logger.js +37 -0
- package/dist/observe/logger.js.map +1 -0
- package/dist/observe/metrics.d.ts +20 -0
- package/dist/observe/metrics.d.ts.map +1 -0
- package/dist/observe/metrics.js +42 -0
- package/dist/observe/metrics.js.map +1 -0
- package/dist/policy/owners.d.ts +5 -0
- package/dist/policy/owners.d.ts.map +1 -0
- package/dist/policy/owners.js +38 -0
- package/dist/policy/owners.js.map +1 -0
- package/dist/policy/reliability.d.ts +7 -0
- package/dist/policy/reliability.d.ts.map +1 -0
- package/dist/policy/reliability.js +41 -0
- package/dist/policy/reliability.js.map +1 -0
- package/dist/query/diff.d.ts +16 -0
- package/dist/query/diff.d.ts.map +1 -0
- package/dist/query/diff.js +32 -0
- package/dist/query/diff.js.map +1 -0
- package/dist/reducer/incremental.d.ts +2 -0
- package/dist/reducer/incremental.d.ts.map +1 -0
- package/dist/reducer/incremental.js +14 -0
- package/dist/reducer/incremental.js.map +1 -0
- package/dist/reducer/policy.d.ts +17 -0
- package/dist/reducer/policy.d.ts.map +1 -0
- package/dist/reducer/policy.js +143 -0
- package/dist/reducer/policy.js.map +1 -0
- package/dist/reducer/reducer.d.ts +155 -0
- package/dist/reducer/reducer.d.ts.map +1 -0
- package/dist/reducer/reducer.js +849 -0
- package/dist/reducer/reducer.js.map +1 -0
- package/dist/release/sbom.d.ts +7 -0
- package/dist/release/sbom.d.ts.map +1 -0
- package/dist/release/sbom.js +26 -0
- package/dist/release/sbom.js.map +1 -0
- package/dist/semantic/contract.d.ts +32 -0
- package/dist/semantic/contract.d.ts.map +1 -0
- package/dist/semantic/contract.js +150 -0
- package/dist/semantic/contract.js.map +1 -0
- package/dist/semantic/symbols.d.ts +45 -0
- package/dist/semantic/symbols.d.ts.map +1 -0
- package/dist/semantic/symbols.js +323 -0
- package/dist/semantic/symbols.js.map +1 -0
- package/dist/store/applyRedactions.d.ts +16 -0
- package/dist/store/applyRedactions.d.ts.map +1 -0
- package/dist/store/applyRedactions.js +60 -0
- package/dist/store/applyRedactions.js.map +1 -0
- package/dist/store/lock.d.ts +12 -0
- package/dist/store/lock.d.ts.map +1 -0
- package/dist/store/lock.js +63 -0
- package/dist/store/lock.js.map +1 -0
- package/dist/store/objectStore.d.ts +127 -0
- package/dist/store/objectStore.d.ts.map +1 -0
- package/dist/store/objectStore.js +549 -0
- package/dist/store/objectStore.js.map +1 -0
- package/dist/validation/repair.d.ts +31 -0
- package/dist/validation/repair.d.ts.map +1 -0
- package/dist/validation/repair.js +37 -0
- package/dist/validation/repair.js.map +1 -0
- package/dist/validation/runner.d.ts +20 -0
- package/dist/validation/runner.d.ts.map +1 -0
- package/dist/validation/runner.js +90 -0
- package/dist/validation/runner.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/validation/repair.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,oFAAoF;AACpF,gFAAgF;AAehF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAgB,EAChB,QAAoB,EACpB,SAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAa,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,QAAQ;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1G,MAAM,gBAAgB,GAAG,SAAS;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAa,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAE1F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;QAChC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4GACzB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EACvE,EAAE,CAAC,IAAI,EAAE;QACX,CAAC,CAAC,0CAA0C,CAAC;IAE/C,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,GAAG,EAAE,CAAC,CAAC,GAAa;YACpB,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QACH,QAAQ;QACR,gBAAgB;QAChB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAqB,EAAE,CAAS;IAChD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Repo } from "../api/repo.ts";
|
|
2
|
+
import type { Actor, EvidenceKind } from "../objects/types.ts";
|
|
3
|
+
/** A single validation step: what kind of evidence it produces + the shell command. */
|
|
4
|
+
export interface CheckSpec {
|
|
5
|
+
kind: EvidenceKind;
|
|
6
|
+
command: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Materialize the view, write it to `workspaceDir`, run each check, and attach a
|
|
10
|
+
* pass/fail Evidence for every check (exit 0 → "pass", anything else → "fail").
|
|
11
|
+
* Returns the oids of the attached Evidence objects, in `checks` order.
|
|
12
|
+
*/
|
|
13
|
+
export declare function runChecks(repo: Repo, opts: {
|
|
14
|
+
ops: string[];
|
|
15
|
+
view?: string;
|
|
16
|
+
workspaceDir: string;
|
|
17
|
+
ciActor: Actor;
|
|
18
|
+
checks: CheckSpec[];
|
|
19
|
+
}): Promise<string[]>;
|
|
20
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/validation/runner.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/D,uFAAuF;AACvF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AA4DD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE;IACJ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// Phase 3: validation runner.
|
|
2
|
+
//
|
|
3
|
+
// Self-contained module that turns real shell-command results into AVCS Evidence.
|
|
4
|
+
// It materializes a view, writes the workspace to disk, runs each check command
|
|
5
|
+
// against that workspace, and attaches a pass/fail Evidence object per check.
|
|
6
|
+
//
|
|
7
|
+
// Design notes:
|
|
8
|
+
// - Uses ONLY the public Repo API (materialize, writeWorkspace, attachEvidence).
|
|
9
|
+
// - Robust: a command that cannot be spawned (e.g. command-not-found) maps to a
|
|
10
|
+
// "fail" Evidence, never a thrown error, so one broken check can't abort the run.
|
|
11
|
+
// - Bounded: stdout/stderr capture is truncated so a runaway command can't bloat
|
|
12
|
+
// the object store.
|
|
13
|
+
import { execFile } from "node:child_process";
|
|
14
|
+
/** Detail (stdout/stderr) is truncated to keep evidence objects small. */
|
|
15
|
+
const DETAIL_LIMIT = 2000;
|
|
16
|
+
/** Per-command wall-clock budget. */
|
|
17
|
+
const TIMEOUT_MS = 30_000;
|
|
18
|
+
/**
|
|
19
|
+
* Run a shell command in `cwd`, capturing exit code + bounded stdout/stderr.
|
|
20
|
+
* Never rejects: a spawn failure (command-not-found) or a timeout resolves with a
|
|
21
|
+
* non-zero/null code so the caller can treat it as a "fail".
|
|
22
|
+
*/
|
|
23
|
+
function runCommand(command, cwd) {
|
|
24
|
+
return new Promise((resolve) => {
|
|
25
|
+
// Route through the shell so `command` can be an arbitrary command line.
|
|
26
|
+
const child = execFile(command, {
|
|
27
|
+
cwd,
|
|
28
|
+
shell: true,
|
|
29
|
+
timeout: TIMEOUT_MS,
|
|
30
|
+
// Cap captured bytes; overflow kills the child and surfaces as an error.
|
|
31
|
+
maxBuffer: DETAIL_LIMIT * 8,
|
|
32
|
+
windowsHide: true,
|
|
33
|
+
}, (err, stdout, stderr) => {
|
|
34
|
+
const out = String(stdout ?? "");
|
|
35
|
+
const errOut = String(stderr ?? "");
|
|
36
|
+
if (err) {
|
|
37
|
+
// execFile's error carries `.code` (exit code) for normal non-zero exits,
|
|
38
|
+
// but a number-or-string. A real spawn failure has no numeric exit code.
|
|
39
|
+
const code = typeof err.code === "number"
|
|
40
|
+
? (err.code)
|
|
41
|
+
: child.exitCode;
|
|
42
|
+
resolve({
|
|
43
|
+
code: typeof code === "number" ? code : null,
|
|
44
|
+
stdout: out,
|
|
45
|
+
stderr: errOut,
|
|
46
|
+
spawnError: code === undefined || typeof code !== "number" ? err.message : undefined,
|
|
47
|
+
});
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
resolve({ code: child.exitCode ?? 0, stdout: out, stderr: errOut });
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function truncate(s, limit = DETAIL_LIMIT) {
|
|
55
|
+
if (s.length <= limit)
|
|
56
|
+
return s;
|
|
57
|
+
return s.slice(0, limit) + `\n…[truncated ${s.length - limit} chars]`;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Materialize the view, write it to `workspaceDir`, run each check, and attach a
|
|
61
|
+
* pass/fail Evidence for every check (exit 0 → "pass", anything else → "fail").
|
|
62
|
+
* Returns the oids of the attached Evidence objects, in `checks` order.
|
|
63
|
+
*/
|
|
64
|
+
export async function runChecks(repo, opts) {
|
|
65
|
+
const result = await repo.materialize(opts.view ?? "main");
|
|
66
|
+
await repo.writeWorkspace(result, opts.workspaceDir);
|
|
67
|
+
const evidenceOids = [];
|
|
68
|
+
for (const check of opts.checks) {
|
|
69
|
+
const run = await runCommand(check.command, opts.workspaceDir);
|
|
70
|
+
const pass = run.code === 0;
|
|
71
|
+
const detailParts = [`$ ${check.command}`, `exit: ${run.code ?? "null"}`];
|
|
72
|
+
if (run.spawnError)
|
|
73
|
+
detailParts.push(`spawn-error: ${run.spawnError}`);
|
|
74
|
+
if (run.stdout.trim())
|
|
75
|
+
detailParts.push(`--- stdout ---\n${run.stdout}`);
|
|
76
|
+
if (run.stderr.trim())
|
|
77
|
+
detailParts.push(`--- stderr ---\n${run.stderr}`);
|
|
78
|
+
const oid = await repo.attachEvidence({
|
|
79
|
+
forOps: opts.ops,
|
|
80
|
+
kind: check.kind,
|
|
81
|
+
result: pass ? "pass" : "fail",
|
|
82
|
+
producedBy: opts.ciActor,
|
|
83
|
+
command: check.command,
|
|
84
|
+
detail: truncate(detailParts.join("\n")),
|
|
85
|
+
});
|
|
86
|
+
evidenceOids.push(oid);
|
|
87
|
+
}
|
|
88
|
+
return evidenceOids;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/validation/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@izagood/avcs",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Agentic Version Control System — an AI-native VCS where intent, session, operation, evidence and decision are first-class objects and code is a materialized projection of an operation graph.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"author": "jaebin lee",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/izagood/avcs.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/izagood/avcs#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/izagood/avcs/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"version-control",
|
|
18
|
+
"vcs",
|
|
19
|
+
"content-addressed",
|
|
20
|
+
"operation-graph",
|
|
21
|
+
"ai-native",
|
|
22
|
+
"deterministic",
|
|
23
|
+
"agentic"
|
|
24
|
+
],
|
|
25
|
+
"bin": {
|
|
26
|
+
"avcs": "dist/cli.js"
|
|
27
|
+
},
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"default": "./dist/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./hub": {
|
|
34
|
+
"types": "./dist/hub/hubServer.d.ts",
|
|
35
|
+
"default": "./dist/hub/hubServer.js"
|
|
36
|
+
},
|
|
37
|
+
"./hub/client": {
|
|
38
|
+
"types": "./dist/hub/hubClient.d.ts",
|
|
39
|
+
"default": "./dist/hub/hubClient.js"
|
|
40
|
+
},
|
|
41
|
+
"./store": {
|
|
42
|
+
"types": "./dist/store/objectStore.d.ts",
|
|
43
|
+
"default": "./dist/store/objectStore.js"
|
|
44
|
+
},
|
|
45
|
+
"./identity": {
|
|
46
|
+
"types": "./dist/core/identity.d.ts",
|
|
47
|
+
"default": "./dist/core/identity.js"
|
|
48
|
+
},
|
|
49
|
+
"./types": {
|
|
50
|
+
"types": "./dist/objects/types.d.ts",
|
|
51
|
+
"default": "./dist/objects/types.js"
|
|
52
|
+
},
|
|
53
|
+
"./package.json": "./package.json"
|
|
54
|
+
},
|
|
55
|
+
"files": [
|
|
56
|
+
"dist",
|
|
57
|
+
"README.md",
|
|
58
|
+
"LICENSE"
|
|
59
|
+
],
|
|
60
|
+
"scripts": {
|
|
61
|
+
"avcs": "node --experimental-strip-types src/cli.ts",
|
|
62
|
+
"demo": "node --experimental-strip-types src/demo.ts",
|
|
63
|
+
"test": "node --experimental-strip-types --test test/*.test.ts",
|
|
64
|
+
"mcp": "node --experimental-strip-types src/mcp/server.ts",
|
|
65
|
+
"typecheck": "tsc --noEmit",
|
|
66
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/postbuild.mjs",
|
|
67
|
+
"prepublishOnly": "npm run typecheck && npm test && npm run build",
|
|
68
|
+
"bench": "node --experimental-strip-types bench/materialize-bench.ts",
|
|
69
|
+
"bench:incremental": "node --experimental-strip-types bench/incremental-bench.ts"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=22.6"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
},
|
|
77
|
+
"dependencies": {},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
80
|
+
"@types/node": "^22.0.0",
|
|
81
|
+
"typescript": "^5.7.0"
|
|
82
|
+
}
|
|
83
|
+
}
|