@atel-ai/agent 0.2.22 → 0.2.27

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.
@@ -0,0 +1,29 @@
1
+ export interface AgentBinding {
2
+ schemaVersion: 1;
3
+ profile: string;
4
+ runtime: string;
5
+ runtimeAgentId?: string;
6
+ did: string;
7
+ agentName?: string;
8
+ capabilities?: string[];
9
+ runtimeFingerprint?: {
10
+ version?: string;
11
+ binPath?: string;
12
+ };
13
+ machineFingerprint: {
14
+ hostnameHash: string;
15
+ userHash: string;
16
+ homeHash: string;
17
+ platform: NodeJS.Platform;
18
+ arch: string;
19
+ };
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ lastVerifiedAt?: string;
23
+ }
24
+ export declare function bindingPath(dataDir: string): string;
25
+ export declare function machineFingerprint(): AgentBinding['machineFingerprint'];
26
+ export declare function readBinding(dataDir: string): AgentBinding | null;
27
+ export declare function assertBindingCompatible(existing: AgentBinding | null, expected: Pick<AgentBinding, 'profile' | 'runtime' | 'did'>): void;
28
+ export declare function writeBinding(dataDir: string, binding: AgentBinding): void;
29
+ //# sourceMappingURL=binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kBAAkB,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAQvE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMhE;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,GAC1D,IAAI,CAWN;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAGzE"}
@@ -0,0 +1,45 @@
1
+ import crypto from 'node:crypto';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ function sha256(value) {
6
+ return `sha256:${crypto.createHash('sha256').update(value).digest('hex')}`;
7
+ }
8
+ export function bindingPath(dataDir) {
9
+ return path.join(dataDir, 'binding.json');
10
+ }
11
+ export function machineFingerprint() {
12
+ return {
13
+ hostnameHash: sha256(os.hostname()),
14
+ userHash: sha256(os.userInfo().username),
15
+ homeHash: sha256(os.homedir()),
16
+ platform: process.platform,
17
+ arch: process.arch,
18
+ };
19
+ }
20
+ export function readBinding(dataDir) {
21
+ try {
22
+ return JSON.parse(fs.readFileSync(bindingPath(dataDir), 'utf8'));
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ export function assertBindingCompatible(existing, expected) {
29
+ if (!existing)
30
+ return;
31
+ if (existing.profile !== expected.profile) {
32
+ throw new Error(`该 data-dir 已绑定 profile=${existing.profile},本次是 ${expected.profile}。请换 --profile/--data-dir,不要混用身份。`);
33
+ }
34
+ if (existing.runtime !== expected.runtime) {
35
+ throw new Error(`该 profile 已绑定 runtime=${existing.runtime},本次是 ${expected.runtime}。同一个 profile 不允许换 runtime 复用。`);
36
+ }
37
+ if (existing.did !== expected.did) {
38
+ throw new Error(`该 profile 已绑定 DID=${existing.did},本次身份是 ${expected.did}。请确认是否误删/误换 identity.json。`);
39
+ }
40
+ }
41
+ export function writeBinding(dataDir, binding) {
42
+ fs.mkdirSync(dataDir, { recursive: true });
43
+ fs.writeFileSync(bindingPath(dataDir), JSON.stringify(binding, null, 2), { mode: 0o600 });
44
+ }
45
+ //# sourceMappingURL=binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA0B7B,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAA6B,EAC7B,QAA2D;IAE3D,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,OAAO,QAAQ,QAAQ,CAAC,OAAO,kCAAkC,CAAC,CAAC;IACxH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,OAAO,QAAQ,QAAQ,CAAC,OAAO,+BAA+B,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,GAAG,UAAU,QAAQ,CAAC,GAAG,4BAA4B,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAqB;IACjE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5F,CAAC"}