@attest-ai/core 0.4.0 → 0.4.1
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/engine-downloader.d.ts +7 -0
- package/dist/engine-downloader.d.ts.map +1 -0
- package/dist/engine-downloader.js +136 -0
- package/dist/engine-downloader.js.map +1 -0
- package/dist/engine-manager.d.ts +1 -1
- package/dist/engine-manager.d.ts.map +1 -1
- package/dist/engine-manager.js +33 -8
- package/dist/engine-manager.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +2 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function attestBinDir(): string;
|
|
2
|
+
export declare function platformKey(): string;
|
|
3
|
+
export declare function binaryFilename(): string;
|
|
4
|
+
export declare function cachedEnginePath(): string | null;
|
|
5
|
+
export declare function parseChecksums(text: string): Map<string, string>;
|
|
6
|
+
export declare function downloadEngine(): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=engine-downloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-downloader.d.ts","sourceRoot":"","sources":["../src/engine-downloader.ts"],"names":[],"mappings":"AAYA,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,wBAAgB,WAAW,IAAI,MAAM,CA0BpC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAmBhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYhE;AAuCD,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAiDtD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as https from "node:https";
|
|
2
|
+
import * as http from "node:http";
|
|
3
|
+
import * as fs from "node:fs";
|
|
4
|
+
import * as path from "node:path";
|
|
5
|
+
import * as os from "node:os";
|
|
6
|
+
import * as crypto from "node:crypto";
|
|
7
|
+
import { ENGINE_VERSION } from "./version.js";
|
|
8
|
+
const RELEASE_BASE = `https://github.com/attest-framework/attest/releases/download/v${ENGINE_VERSION}`;
|
|
9
|
+
const CHECKSUMS_URL = `${RELEASE_BASE}/checksums-sha256.txt`;
|
|
10
|
+
const MAX_REDIRECTS = 5;
|
|
11
|
+
export function attestBinDir() {
|
|
12
|
+
const dir = path.join(os.homedir(), ".attest", "bin");
|
|
13
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
14
|
+
return dir;
|
|
15
|
+
}
|
|
16
|
+
export function platformKey() {
|
|
17
|
+
const platform = os.platform();
|
|
18
|
+
const arch = os.arch();
|
|
19
|
+
const mapping = {
|
|
20
|
+
darwin: { arm64: "darwin-arm64", x64: "darwin-amd64" },
|
|
21
|
+
linux: { arm64: "linux-arm64", x64: "linux-amd64" },
|
|
22
|
+
win32: { x64: "windows-amd64", arm64: "windows-arm64" }
|
|
23
|
+
};
|
|
24
|
+
const osMap = mapping[platform];
|
|
25
|
+
if (!osMap) {
|
|
26
|
+
throw new Error(`Unsupported platform: ${platform}. Supported: darwin, linux, win32.`);
|
|
27
|
+
}
|
|
28
|
+
const key = osMap[arch];
|
|
29
|
+
if (!key) {
|
|
30
|
+
throw new Error(`Unsupported architecture '${arch}' on platform '${platform}'. ` +
|
|
31
|
+
`Supported architectures: ${Object.keys(osMap).join(", ")}.`);
|
|
32
|
+
}
|
|
33
|
+
return key;
|
|
34
|
+
}
|
|
35
|
+
export function binaryFilename() {
|
|
36
|
+
return os.platform() === "win32" ? "attest-engine.exe" : "attest-engine";
|
|
37
|
+
}
|
|
38
|
+
export function cachedEnginePath() {
|
|
39
|
+
const dir = path.join(os.homedir(), ".attest", "bin");
|
|
40
|
+
const binPath = path.join(dir, binaryFilename());
|
|
41
|
+
const versionFile = path.join(dir, ".engine-version");
|
|
42
|
+
if (!fs.existsSync(binPath)) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (!fs.existsSync(versionFile)) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const cachedVersion = fs.readFileSync(versionFile, "utf-8").trim();
|
|
49
|
+
if (cachedVersion !== ENGINE_VERSION) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return binPath;
|
|
53
|
+
}
|
|
54
|
+
export function parseChecksums(text) {
|
|
55
|
+
const checksums = new Map();
|
|
56
|
+
for (const line of text.split("\n")) {
|
|
57
|
+
const trimmed = line.trim();
|
|
58
|
+
if (!trimmed)
|
|
59
|
+
continue;
|
|
60
|
+
// Format: "{hash} {filename}" (two spaces between hash and filename)
|
|
61
|
+
const match = trimmed.match(/^([a-f0-9]{64})\s+(.+)$/);
|
|
62
|
+
if (match) {
|
|
63
|
+
checksums.set(match[2], match[1]);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return checksums;
|
|
67
|
+
}
|
|
68
|
+
function httpsGet(url, redirectCount = 0) {
|
|
69
|
+
if (redirectCount > MAX_REDIRECTS) {
|
|
70
|
+
return Promise.reject(new Error(`Too many redirects (>${MAX_REDIRECTS}) following ${url}`));
|
|
71
|
+
}
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
const client = url.startsWith("https:") ? https : http;
|
|
74
|
+
client.get(url, (res) => {
|
|
75
|
+
const status = res.statusCode ?? 0;
|
|
76
|
+
if (status === 301 || status === 302) {
|
|
77
|
+
const location = res.headers.location;
|
|
78
|
+
if (!location) {
|
|
79
|
+
reject(new Error(`Redirect ${status} without Location header from ${url}`));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
res.resume();
|
|
83
|
+
resolve(httpsGet(location, redirectCount + 1));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (status < 200 || status >= 300) {
|
|
87
|
+
res.resume();
|
|
88
|
+
reject(new Error(`HTTP ${status} fetching ${url}`));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const chunks = [];
|
|
92
|
+
res.on("data", (chunk) => chunks.push(chunk));
|
|
93
|
+
res.on("end", () => resolve(Buffer.concat(chunks)));
|
|
94
|
+
res.on("error", reject);
|
|
95
|
+
}).on("error", reject);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
export async function downloadEngine() {
|
|
99
|
+
const key = platformKey();
|
|
100
|
+
const filename = `attest-engine-${key}`;
|
|
101
|
+
const binaryUrl = `${RELEASE_BASE}/${filename}`;
|
|
102
|
+
process.stderr.write(`[attest] Downloading engine v${ENGINE_VERSION} for ${key}...\n`);
|
|
103
|
+
// Fetch checksums
|
|
104
|
+
process.stderr.write(`[attest] Fetching checksums...\n`);
|
|
105
|
+
const checksumsText = (await httpsGet(CHECKSUMS_URL)).toString("utf-8");
|
|
106
|
+
const checksums = parseChecksums(checksumsText);
|
|
107
|
+
const expectedHash = checksums.get(filename);
|
|
108
|
+
if (!expectedHash) {
|
|
109
|
+
throw new Error(`No checksum found for '${filename}' in checksums-sha256.txt. ` +
|
|
110
|
+
`Available files: ${[...checksums.keys()].join(", ")}`);
|
|
111
|
+
}
|
|
112
|
+
// Download binary
|
|
113
|
+
process.stderr.write(`[attest] Downloading ${binaryUrl}...\n`);
|
|
114
|
+
const data = await httpsGet(binaryUrl);
|
|
115
|
+
// Verify SHA256
|
|
116
|
+
const actualHash = crypto.createHash("sha256").update(data).digest("hex");
|
|
117
|
+
if (actualHash !== expectedHash) {
|
|
118
|
+
throw new Error(`SHA256 mismatch for ${filename}. ` +
|
|
119
|
+
`Expected: ${expectedHash}, got: ${actualHash}. ` +
|
|
120
|
+
`The download may be corrupted. Delete ~/.attest/bin/ and retry.`);
|
|
121
|
+
}
|
|
122
|
+
process.stderr.write(`[attest] Checksum verified.\n`);
|
|
123
|
+
// Atomic write: temp file + rename
|
|
124
|
+
const dir = attestBinDir();
|
|
125
|
+
const destFilename = binaryFilename();
|
|
126
|
+
const destPath = path.join(dir, destFilename);
|
|
127
|
+
const tmpPath = path.join(dir, `.${destFilename}.tmp.${process.pid}`);
|
|
128
|
+
fs.writeFileSync(tmpPath, data);
|
|
129
|
+
fs.chmodSync(tmpPath, 0o755);
|
|
130
|
+
fs.renameSync(tmpPath, destPath);
|
|
131
|
+
// Write version marker
|
|
132
|
+
fs.writeFileSync(path.join(dir, ".engine-version"), ENGINE_VERSION);
|
|
133
|
+
process.stderr.write(`[attest] Engine installed at ${destPath}\n`);
|
|
134
|
+
return destPath;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=engine-downloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-downloader.js","sourceRoot":"","sources":["../src/engine-downloader.ts"],"names":[],"mappings":"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"}
|
package/dist/engine-manager.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type ChildProcess } from "node:child_process";
|
|
|
2
2
|
import { type Interface as ReadlineInterface } from "node:readline";
|
|
3
3
|
import type { InitializeResult } from "./proto/types.js";
|
|
4
4
|
export declare class EngineManager {
|
|
5
|
-
private
|
|
5
|
+
private enginePath;
|
|
6
6
|
private readonly logLevel;
|
|
7
7
|
private process;
|
|
8
8
|
private reader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../src/engine-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAmB,KAAK,SAAS,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../src/engine-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAmB,KAAK,SAAS,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA+DzD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAiC;gBAEvC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAK1D,KAAK,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA6BlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCrB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAOtE,mBAAmB;IAmCjC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,yDAAyD;IACzD,IAAI,YAAY,IAAI,YAAY,GAAG,IAAI,CAEtC;IAED,6DAA6D;IAC7D,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,IAAI,CAEhD;CACF"}
|
package/dist/engine-manager.js
CHANGED
|
@@ -5,21 +5,36 @@ import { resolve, join, dirname } from "node:path";
|
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { decodeResponse, encodeRequest, extractResult } from "./proto/codec.js";
|
|
7
7
|
import { VERSION } from "./version.js";
|
|
8
|
+
import { cachedEnginePath, downloadEngine } from "./engine-downloader.js";
|
|
8
9
|
const ENGINE_BINARY_NAME = "attest-engine";
|
|
9
|
-
function findEngineBinary() {
|
|
10
|
-
//
|
|
10
|
+
async function findEngineBinary() {
|
|
11
|
+
// 1. Explicit env var override
|
|
12
|
+
const envPath = process.env["ATTEST_ENGINE_PATH"];
|
|
13
|
+
if (envPath) {
|
|
14
|
+
if (!existsSync(envPath)) {
|
|
15
|
+
throw new Error(`ATTEST_ENGINE_PATH is set to '${envPath}' but the file does not exist.`);
|
|
16
|
+
}
|
|
17
|
+
return envPath;
|
|
18
|
+
}
|
|
19
|
+
// 2. Check PATH via which/where
|
|
11
20
|
try {
|
|
12
|
-
const
|
|
21
|
+
const cmd = process.platform === "win32" ? "where" : "which";
|
|
22
|
+
const found = execSync(`${cmd} ${ENGINE_BINARY_NAME}`, { encoding: "utf-8" }).trim();
|
|
13
23
|
if (found)
|
|
14
24
|
return found;
|
|
15
25
|
}
|
|
16
26
|
catch {
|
|
17
27
|
// not on PATH
|
|
18
28
|
}
|
|
19
|
-
//
|
|
29
|
+
// 3. Cached download in ~/.attest/bin/
|
|
30
|
+
const cached = cachedEnginePath();
|
|
31
|
+
if (cached)
|
|
32
|
+
return cached;
|
|
33
|
+
// 4. Monorepo dev layout (../../bin/ relative to this file)
|
|
34
|
+
// 5. CWD ./bin/
|
|
20
35
|
const candidates = [
|
|
21
36
|
join(dirname(fileURLToPath(import.meta.url)), "..", "..", "..", "..", "..", "bin", ENGINE_BINARY_NAME),
|
|
22
|
-
join(process.cwd(), "bin", ENGINE_BINARY_NAME)
|
|
37
|
+
join(process.cwd(), "bin", ENGINE_BINARY_NAME)
|
|
23
38
|
];
|
|
24
39
|
for (const candidate of candidates) {
|
|
25
40
|
const resolved = resolve(candidate);
|
|
@@ -32,8 +47,15 @@ function findEngineBinary() {
|
|
|
32
47
|
// not accessible
|
|
33
48
|
}
|
|
34
49
|
}
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
// 6. Auto-download
|
|
51
|
+
const noDownload = process.env["ATTEST_ENGINE_NO_DOWNLOAD"];
|
|
52
|
+
if (noDownload === "1" || noDownload === "true" || noDownload === "yes") {
|
|
53
|
+
throw new Error(`Cannot find '${ENGINE_BINARY_NAME}' binary and auto-download is disabled ` +
|
|
54
|
+
"(ATTEST_ENGINE_NO_DOWNLOAD is set). Install the engine manually:\n" +
|
|
55
|
+
" 1. Download from https://github.com/attest-framework/attest/releases\n" +
|
|
56
|
+
" 2. Place the binary on your PATH or set ATTEST_ENGINE_PATH");
|
|
57
|
+
}
|
|
58
|
+
return downloadEngine();
|
|
37
59
|
}
|
|
38
60
|
export class EngineManager {
|
|
39
61
|
enginePath;
|
|
@@ -44,10 +66,13 @@ export class EngineManager {
|
|
|
44
66
|
requestId = 0;
|
|
45
67
|
initResult = null;
|
|
46
68
|
constructor(options) {
|
|
47
|
-
this.enginePath = options?.enginePath ??
|
|
69
|
+
this.enginePath = options?.enginePath ?? "";
|
|
48
70
|
this.logLevel = options?.logLevel ?? "warn";
|
|
49
71
|
}
|
|
50
72
|
async start() {
|
|
73
|
+
if (!this.enginePath) {
|
|
74
|
+
this.enginePath = await findEngineBinary();
|
|
75
|
+
}
|
|
51
76
|
this.process = spawn(this.enginePath, [`--log-level=${this.logLevel}`], {
|
|
52
77
|
stdio: ["pipe", "pipe", "pipe"],
|
|
53
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../src/engine-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAuC,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../src/engine-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./proto/index.js";
|
|
2
|
-
export { VERSION } from "./version.js";
|
|
2
|
+
export { VERSION, ENGINE_VERSION } from "./version.js";
|
|
3
3
|
export { EngineManager } from "./engine-manager.js";
|
|
4
4
|
export { AttestClient } from "./client.js";
|
|
5
5
|
export { TraceBuilder } from "./trace.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./proto/index.js";
|
|
2
|
-
export { VERSION } from "./version.js";
|
|
2
|
+
export { VERSION, ENGINE_VERSION } from "./version.js";
|
|
3
3
|
export { EngineManager } from "./engine-manager.js";
|
|
4
4
|
export { AttestClient } from "./client.js";
|
|
5
5
|
export { TraceBuilder } from "./trace.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,cAAc,UAAU,CAAC"}
|
package/dist/version.js
CHANGED
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@attest-ai/core",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Attest SDK for testing AI agents — protocol types, codec, trace builder, assertion DSL",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|
|
29
|
-
"url": "https://github.com/attest-
|
|
29
|
+
"url": "https://github.com/attest-framework/attest.git",
|
|
30
30
|
"directory": "sdks/typescript/packages/core"
|
|
31
31
|
},
|
|
32
32
|
"license": "MIT",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^25.3.0",
|
|
43
43
|
"typescript": "^5.7.0",
|
|
44
|
-
"vitest": "^
|
|
44
|
+
"vitest": "^4.0.18"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsc",
|