a1-ai 2.8.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.
Files changed (41) hide show
  1. package/dist/cjs/index.d.ts +373 -0
  2. package/dist/cjs/index.d.ts.map +1 -0
  3. package/dist/cjs/index.js +574 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/integrations.d.ts +232 -0
  6. package/dist/cjs/integrations.d.ts.map +1 -0
  7. package/dist/cjs/integrations.js +368 -0
  8. package/dist/cjs/integrations.js.map +1 -0
  9. package/dist/cjs/middleware.d.ts +159 -0
  10. package/dist/cjs/middleware.d.ts.map +1 -0
  11. package/dist/cjs/middleware.js +207 -0
  12. package/dist/cjs/middleware.js.map +1 -0
  13. package/dist/cjs/passport.d.ts +109 -0
  14. package/dist/cjs/passport.d.ts.map +1 -0
  15. package/dist/cjs/passport.js +158 -0
  16. package/dist/cjs/passport.js.map +1 -0
  17. package/dist/cjs/swarm.d.ts +78 -0
  18. package/dist/cjs/swarm.d.ts.map +1 -0
  19. package/dist/cjs/swarm.js +125 -0
  20. package/dist/cjs/swarm.js.map +1 -0
  21. package/dist/esm/index.d.ts +373 -0
  22. package/dist/esm/index.d.ts.map +1 -0
  23. package/dist/esm/index.js +562 -0
  24. package/dist/esm/index.js.map +1 -0
  25. package/dist/esm/integrations.d.ts +232 -0
  26. package/dist/esm/integrations.d.ts.map +1 -0
  27. package/dist/esm/integrations.js +358 -0
  28. package/dist/esm/integrations.js.map +1 -0
  29. package/dist/esm/middleware.d.ts +159 -0
  30. package/dist/esm/middleware.d.ts.map +1 -0
  31. package/dist/esm/middleware.js +201 -0
  32. package/dist/esm/middleware.js.map +1 -0
  33. package/dist/esm/passport.d.ts +109 -0
  34. package/dist/esm/passport.d.ts.map +1 -0
  35. package/dist/esm/passport.js +151 -0
  36. package/dist/esm/passport.js.map +1 -0
  37. package/dist/esm/swarm.d.ts +78 -0
  38. package/dist/esm/swarm.d.ts.map +1 -0
  39. package/dist/esm/swarm.js +120 -0
  40. package/dist/esm/swarm.js.map +1 -0
  41. package/package.json +112 -0
@@ -0,0 +1,78 @@
1
+ /**
2
+ * a1 swarm — SwarmPassport TypeScript client.
3
+ *
4
+ * ```typescript
5
+ * import { SwarmClient, SwarmRole } from '@a1/sdk/swarm';
6
+ *
7
+ * const swarm = new SwarmClient('http://localhost:8080', { adminSecret: process.env.A1_ADMIN_SECRET });
8
+ *
9
+ * const swarmId = await swarm.createSwarm({
10
+ * name: 'acme-trading-swarm',
11
+ * capabilities: ['trade.equity', 'portfolio.read'],
12
+ * ttlDays: 30,
13
+ * signingKeyHex: ROOT_SK_HEX,
14
+ * });
15
+ *
16
+ * const member = await swarm.addMember({
17
+ * swarmId,
18
+ * agentPkHex: WORKER_PK,
19
+ * role: SwarmRole.Worker,
20
+ * capabilities: ['trade.equity'],
21
+ * ttlSeconds: 3600,
22
+ * signingKeyHex: ROOT_SK_HEX,
23
+ * });
24
+ * ```
25
+ */
26
+ export declare enum SwarmRole {
27
+ Orchestrator = "orchestrator",
28
+ Worker = "worker",
29
+ Supervisor = "supervisor",
30
+ Auditor = "auditor"
31
+ }
32
+ export interface SwarmMemberInfo {
33
+ agentDid: string;
34
+ agentPkHex: string;
35
+ role: string;
36
+ issuedAtUnix: number;
37
+ expiresAtUnix: number;
38
+ certFingerprintHex?: string;
39
+ }
40
+ export interface CreateSwarmOptions {
41
+ name: string;
42
+ capabilities: string[];
43
+ ttlDays?: number;
44
+ signingKeyHex: string;
45
+ }
46
+ export interface AddMemberOptions {
47
+ swarmId: string;
48
+ agentPkHex: string;
49
+ role: SwarmRole | string;
50
+ capabilities: string[];
51
+ ttlSeconds?: number;
52
+ signingKeyHex: string;
53
+ }
54
+ export interface GetChainOptions {
55
+ swarmId: string;
56
+ agentPkHex: string;
57
+ ttlSeconds?: number;
58
+ signingKeyHex: string;
59
+ }
60
+ export declare class SwarmError extends Error {
61
+ readonly code: string;
62
+ constructor(message: string, code?: string);
63
+ }
64
+ export declare class SwarmClient {
65
+ private readonly base;
66
+ private readonly headers;
67
+ constructor(gatewayUrl: string, opts?: {
68
+ adminSecret?: string;
69
+ });
70
+ createSwarm(opts: CreateSwarmOptions): Promise<string>;
71
+ addMember(opts: AddMemberOptions): Promise<SwarmMemberInfo>;
72
+ getChain(opts: GetChainOptions): Promise<Record<string, unknown>>;
73
+ listMembers(swarmId: string): Promise<SwarmMemberInfo[]>;
74
+ removeMember(swarmId: string, agentDid: string): Promise<void>;
75
+ private post;
76
+ private get;
77
+ }
78
+ //# sourceMappingURL=swarm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/swarm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,oBAAY,SAAS;IACnB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,UAAW,SAAQ,KAAK;aACU,IAAI;gBAArC,OAAO,EAAE,MAAM,EAAkB,IAAI,SAAgB;CAIlE;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAQ7D,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUtD,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoB3D,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IASjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAYxD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAItD,IAAI;YAWJ,GAAG;CAQlB"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * a1 swarm — SwarmPassport TypeScript client.
3
+ *
4
+ * ```typescript
5
+ * import { SwarmClient, SwarmRole } from '@a1/sdk/swarm';
6
+ *
7
+ * const swarm = new SwarmClient('http://localhost:8080', { adminSecret: process.env.A1_ADMIN_SECRET });
8
+ *
9
+ * const swarmId = await swarm.createSwarm({
10
+ * name: 'acme-trading-swarm',
11
+ * capabilities: ['trade.equity', 'portfolio.read'],
12
+ * ttlDays: 30,
13
+ * signingKeyHex: ROOT_SK_HEX,
14
+ * });
15
+ *
16
+ * const member = await swarm.addMember({
17
+ * swarmId,
18
+ * agentPkHex: WORKER_PK,
19
+ * role: SwarmRole.Worker,
20
+ * capabilities: ['trade.equity'],
21
+ * ttlSeconds: 3600,
22
+ * signingKeyHex: ROOT_SK_HEX,
23
+ * });
24
+ * ```
25
+ */
26
+ export var SwarmRole;
27
+ (function (SwarmRole) {
28
+ SwarmRole["Orchestrator"] = "orchestrator";
29
+ SwarmRole["Worker"] = "worker";
30
+ SwarmRole["Supervisor"] = "supervisor";
31
+ SwarmRole["Auditor"] = "auditor";
32
+ })(SwarmRole || (SwarmRole = {}));
33
+ export class SwarmError extends Error {
34
+ code;
35
+ constructor(message, code = 'SWARM_ERROR') {
36
+ super(message);
37
+ this.code = code;
38
+ this.name = 'SwarmError';
39
+ }
40
+ }
41
+ export class SwarmClient {
42
+ base;
43
+ headers;
44
+ constructor(gatewayUrl, opts = {}) {
45
+ this.base = gatewayUrl.replace(/\/$/, '');
46
+ this.headers = {
47
+ 'Content-Type': 'application/json',
48
+ ...(opts.adminSecret ? { Authorization: `Bearer ${opts.adminSecret}` } : {}),
49
+ };
50
+ }
51
+ async createSwarm(opts) {
52
+ const data = await this.post('/v1/swarm/create', {
53
+ swarm_name: opts.name,
54
+ capabilities: opts.capabilities,
55
+ ttl_days: opts.ttlDays ?? 30,
56
+ signing_key_hex: opts.signingKeyHex,
57
+ });
58
+ return data.swarm_id;
59
+ }
60
+ async addMember(opts) {
61
+ const data = await this.post('/v1/swarm/member/add', {
62
+ swarm_id: opts.swarmId,
63
+ agent_pk_hex: opts.agentPkHex,
64
+ role: typeof opts.role === 'string' ? opts.role : opts.role,
65
+ capabilities: opts.capabilities,
66
+ ttl_seconds: opts.ttlSeconds ?? 3600,
67
+ signing_key_hex: opts.signingKeyHex,
68
+ });
69
+ const m = data.member;
70
+ return {
71
+ agentDid: m.agent_did,
72
+ agentPkHex: m.agent_pk_hex,
73
+ role: m.role,
74
+ issuedAtUnix: m.issued_at_unix,
75
+ expiresAtUnix: m.expires_at_unix,
76
+ certFingerprintHex: m.cert_fingerprint_hex,
77
+ };
78
+ }
79
+ async getChain(opts) {
80
+ return this.post('/v1/swarm/member/chain', {
81
+ swarm_id: opts.swarmId,
82
+ agent_pk_hex: opts.agentPkHex,
83
+ ttl_seconds: opts.ttlSeconds ?? 3600,
84
+ signing_key_hex: opts.signingKeyHex,
85
+ });
86
+ }
87
+ async listMembers(swarmId) {
88
+ const data = await this.get(`/v1/swarm/${swarmId}/members`);
89
+ return (data.members ?? []).map(m => ({
90
+ agentDid: m.agent_did,
91
+ agentPkHex: m.agent_pk_hex,
92
+ role: m.role,
93
+ issuedAtUnix: m.issued_at_unix,
94
+ expiresAtUnix: m.expires_at_unix,
95
+ certFingerprintHex: m.cert_fingerprint_hex,
96
+ }));
97
+ }
98
+ async removeMember(swarmId, agentDid) {
99
+ await this.post('/v1/swarm/member/remove', { swarm_id: swarmId, agent_did: agentDid });
100
+ }
101
+ async post(path, body) {
102
+ const resp = await fetch(`${this.base}${path}`, {
103
+ method: 'POST', headers: this.headers, body: JSON.stringify(body),
104
+ });
105
+ if (!resp.ok) {
106
+ const err = await resp.json().catch(() => ({ error: resp.statusText }));
107
+ throw new SwarmError(err.error ?? resp.statusText);
108
+ }
109
+ return resp.json();
110
+ }
111
+ async get(path) {
112
+ const resp = await fetch(`${this.base}${path}`, { headers: this.headers });
113
+ if (!resp.ok) {
114
+ const err = await resp.json().catch(() => ({ error: resp.statusText }));
115
+ throw new SwarmError(err.error ?? resp.statusText);
116
+ }
117
+ return resp.json();
118
+ }
119
+ }
120
+ //# sourceMappingURL=swarm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/swarm.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,112 @@
1
+ {
2
+ "name": "a1-ai",
3
+ "version": "2.8.0",
4
+ "description": "TypeScript/Node.js client for A1: cryptographic identity and authorization for AI agents",
5
+ "author": "dyolo <dyologician@users.noreply.github.com>",
6
+ "license": "MIT OR Apache-2.0",
7
+ "homepage": "https://github.com/dyologician/a1",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/dyologician/a1.git"
11
+ },
12
+ "keywords": [
13
+ "ai-agents",
14
+ "delegation",
15
+ "authorization",
16
+ "cryptography",
17
+ "langchain",
18
+ "langgraph",
19
+ "openai",
20
+ "autogen",
21
+ "crewai",
22
+ "semantic-kernel",
23
+ "zero-knowledge",
24
+ "ed25519"
25
+ ],
26
+ "bugs": {
27
+ "url": "https://github.com/dyologician/a1/issues"
28
+ },
29
+ "sideEffects": false,
30
+ "type": "module",
31
+ "main": "./dist/cjs/index.js",
32
+ "module": "./dist/esm/index.js",
33
+ "types": "./dist/cjs/index.d.ts",
34
+ "exports": {
35
+ ".": {
36
+ "import": {
37
+ "types": "./dist/esm/index.d.ts",
38
+ "default": "./dist/esm/index.js"
39
+ },
40
+ "require": {
41
+ "types": "./dist/cjs/index.d.ts",
42
+ "default": "./dist/cjs/index.js"
43
+ }
44
+ },
45
+ "./integrations": {
46
+ "import": {
47
+ "types": "./dist/esm/integrations.d.ts",
48
+ "default": "./dist/esm/integrations.js"
49
+ },
50
+ "require": {
51
+ "types": "./dist/cjs/integrations.d.ts",
52
+ "default": "./dist/cjs/integrations.js"
53
+ }
54
+ },
55
+ "./passport": {
56
+ "import": {
57
+ "types": "./dist/esm/passport.d.ts",
58
+ "default": "./dist/esm/passport.js"
59
+ },
60
+ "require": {
61
+ "types": "./dist/cjs/passport.d.ts",
62
+ "default": "./dist/cjs/passport.js"
63
+ }
64
+ },
65
+ "./middleware": {
66
+ "import": {
67
+ "types": "./dist/esm/middleware.d.ts",
68
+ "default": "./dist/esm/middleware.js"
69
+ },
70
+ "require": {
71
+ "types": "./dist/cjs/middleware.d.ts",
72
+ "default": "./dist/cjs/middleware.js"
73
+ }
74
+ }
75
+ },
76
+ "files": [
77
+ "dist"
78
+ ],
79
+ "scripts": {
80
+ "build:esm": "tsc -p tsconfig.esm.json",
81
+ "build:cjs": "tsc -p tsconfig.cjs.json",
82
+ "build": "npm run build:esm && npm run build:cjs",
83
+ "test": "jest",
84
+ "test:coverage": "jest --coverage",
85
+ "prepublishOnly": "npm run build && npm run test"
86
+ },
87
+ "engines": {
88
+ "node": ">=18"
89
+ },
90
+ "dependencies": {
91
+ "zod": "^3.23.0"
92
+ },
93
+ "devDependencies": {
94
+ "@jest/globals": "^29.7.0",
95
+ "@types/jest": "^29.5.12",
96
+ "jest": "^29.7.0",
97
+ "ts-jest": "^29.1.4",
98
+ "typescript": "^5.4.0",
99
+ "ts-node": "^10.9.2"
100
+ },
101
+ "optionalDependencies": {
102
+ "@noble/ed25519": "^2.1.0"
103
+ },
104
+ "peerDependencies": {
105
+ "@noble/ed25519": "^2.1.0"
106
+ },
107
+ "peerDependenciesMeta": {
108
+ "@noble/ed25519": {
109
+ "optional": true
110
+ }
111
+ }
112
+ }