@sequence0/sdk 2.1.0 → 2.2.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 (54) hide show
  1. package/dist/chains/cardano.d.ts +1 -1
  2. package/dist/chains/cardano.d.ts.map +1 -1
  3. package/dist/chains/cardano.js +6 -3
  4. package/dist/chains/cardano.js.map +1 -1
  5. package/dist/chains/dogecoin-litecoin.d.ts +1 -1
  6. package/dist/chains/dogecoin-litecoin.d.ts.map +1 -1
  7. package/dist/chains/dogecoin-litecoin.js +8 -5
  8. package/dist/chains/dogecoin-litecoin.js.map +1 -1
  9. package/dist/chains/ethereum.d.ts.map +1 -1
  10. package/dist/chains/ethereum.js +26 -0
  11. package/dist/chains/ethereum.js.map +1 -1
  12. package/dist/chains/polkadot.js +2 -2
  13. package/dist/chains/polkadot.js.map +1 -1
  14. package/dist/chains/stellar.d.ts +1 -1
  15. package/dist/chains/stellar.d.ts.map +1 -1
  16. package/dist/chains/stellar.js +7 -2
  17. package/dist/chains/stellar.js.map +1 -1
  18. package/dist/chains/tezos.d.ts.map +1 -1
  19. package/dist/chains/tezos.js +3 -4
  20. package/dist/chains/tezos.js.map +1 -1
  21. package/dist/chains/ton.d.ts +1 -1
  22. package/dist/chains/ton.d.ts.map +1 -1
  23. package/dist/chains/ton.js +5 -2
  24. package/dist/chains/ton.js.map +1 -1
  25. package/dist/core/aegis.d.ts +160 -0
  26. package/dist/core/aegis.d.ts.map +1 -0
  27. package/dist/core/aegis.js +373 -0
  28. package/dist/core/aegis.js.map +1 -0
  29. package/dist/core/client.d.ts +76 -0
  30. package/dist/core/client.d.ts.map +1 -1
  31. package/dist/core/client.js +99 -1
  32. package/dist/core/client.js.map +1 -1
  33. package/dist/core/nexus.d.ts +110 -0
  34. package/dist/core/nexus.d.ts.map +1 -0
  35. package/dist/core/nexus.js +229 -0
  36. package/dist/core/nexus.js.map +1 -0
  37. package/dist/core/signet.d.ts +158 -0
  38. package/dist/core/signet.d.ts.map +1 -0
  39. package/dist/core/signet.js +231 -0
  40. package/dist/core/signet.js.map +1 -0
  41. package/dist/core/types.d.ts +2 -2
  42. package/dist/core/types.d.ts.map +1 -1
  43. package/dist/index.d.ts +5 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +11 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/utils/discovery.d.ts.map +1 -1
  48. package/dist/utils/discovery.js +32 -2
  49. package/dist/utils/discovery.js.map +1 -1
  50. package/dist/wallet/wallet.d.ts +14 -1
  51. package/dist/wallet/wallet.d.ts.map +1 -1
  52. package/dist/wallet/wallet.js +19 -5
  53. package/dist/wallet/wallet.js.map +1 -1
  54. package/package.json +7 -3
@@ -0,0 +1,160 @@
1
+ /**
2
+ * AEGIS: Sovereign Agency Protocol Client
3
+ *
4
+ * Cryptographic delegation of signing authority across all 81 chains.
5
+ * Enables scoped, hierarchical, revocable delegation enforced by
6
+ * threshold cryptography -- not law, not smart contracts, not trust.
7
+ *
8
+ * Delegates can sign within their constraints without the owner's
9
+ * involvement. Sub-delegation enables multi-level hierarchies
10
+ * (e.g., fund -> portfolio manager -> trader). Dead-man's switches
11
+ * activate authority when the owner goes silent.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { AegisClient } from '@sequence0/sdk';
16
+ *
17
+ * const aegis = new AegisClient({ baseUrl: 'http://agent:8080' });
18
+ *
19
+ * // Delegate trading authority to an AI agent
20
+ * const grant = await aegis.createDelegation('my-wallet', {
21
+ * to: '0xAiAgent...',
22
+ * chains: ['ethereum', 'arbitrum'],
23
+ * constraints: {
24
+ * maxPerTransaction: '1000000000000000000',
25
+ * allowedOperations: ['swap', 'transfer'],
26
+ * },
27
+ * validUntil: '2026-12-31T23:59:59Z',
28
+ * });
29
+ *
30
+ * // Check authority status
31
+ * const status = await aegis.checkAuthority(grant.delegationId);
32
+ * console.log('Active:', status.status);
33
+ * ```
34
+ */
35
+ import { DelegateOptions, SubDelegateOptions, DelegationGrant, DelegationTree } from './delegation';
36
+ /**
37
+ * Client for the AEGIS Sovereign Agency Protocol.
38
+ *
39
+ * Communicates with delegation endpoints on the agent node to create,
40
+ * manage, and revoke delegation grants, query delegation trees, and
41
+ * send heartbeats for dead-man's switch scenarios.
42
+ */
43
+ export declare class AegisClient {
44
+ private baseUrl;
45
+ /**
46
+ * Create a new AegisClient.
47
+ *
48
+ * @param options - Client configuration
49
+ * @param options.baseUrl - Agent node HTTP endpoint URL
50
+ */
51
+ constructor(options: {
52
+ baseUrl: string;
53
+ });
54
+ /**
55
+ * Create a new delegation grant from the wallet owner to a delegate.
56
+ *
57
+ * The delegate will be able to sign transactions within the
58
+ * specified constraints without the owner's involvement. The
59
+ * grant is recorded on-chain in the DelegationRegistry contract.
60
+ *
61
+ * @param walletId - The wallet to delegate authority for
62
+ * @param options - Delegation parameters (delegate address, chains, constraints, etc.)
63
+ * @returns The created delegation grant
64
+ *
65
+ * @throws {Sequence0Error} If the parameters are invalid
66
+ * @throws {NetworkError} If the agent is unreachable
67
+ */
68
+ createDelegation(walletId: string, options: DelegateOptions): Promise<DelegationGrant>;
69
+ /**
70
+ * Create a sub-delegation from an existing grant.
71
+ *
72
+ * A delegate with sub-delegation permission can further scope down
73
+ * authority to a child delegate. Constraints can only be narrowed,
74
+ * never expanded beyond the parent grant's limits.
75
+ *
76
+ * @param walletId - The wallet the parent grant belongs to
77
+ * @param options - Sub-delegation parameters including parent grant ID
78
+ * @returns The created sub-delegation grant
79
+ *
80
+ * @throws {Sequence0Error} If the parameters are invalid
81
+ * @throws {NetworkError} If the agent is unreachable
82
+ */
83
+ createSubDelegation(walletId: string, options: SubDelegateOptions): Promise<DelegationGrant>;
84
+ /**
85
+ * Revoke a delegation grant.
86
+ *
87
+ * Once revoked, the delegate can no longer sign transactions
88
+ * for this wallet. All sub-delegations under the revoked grant
89
+ * are also automatically revoked.
90
+ *
91
+ * @param walletId - The wallet the delegation belongs to
92
+ * @param delegationId - The delegation grant to revoke
93
+ *
94
+ * @throws {Sequence0Error} If the parameters are invalid
95
+ * @throws {NetworkError} If the agent is unreachable
96
+ */
97
+ revokeDelegation(walletId: string, delegationId: string): Promise<void>;
98
+ /**
99
+ * List all active delegation grants for a wallet.
100
+ *
101
+ * @param walletId - The wallet to query
102
+ * @returns Array of delegation grants
103
+ *
104
+ * @throws {Sequence0Error} If the wallet ID is invalid
105
+ * @throws {NetworkError} If the agent is unreachable
106
+ */
107
+ listDelegations(walletId: string): Promise<DelegationGrant[]>;
108
+ /**
109
+ * Get the full delegation tree for a wallet.
110
+ *
111
+ * Returns a hierarchical view of all delegations and sub-delegations
112
+ * rooted at the wallet owner. Useful for visualizing the authority
113
+ * structure and auditing delegation chains.
114
+ *
115
+ * @param walletId - The wallet to query
116
+ * @returns The delegation tree
117
+ *
118
+ * @throws {Sequence0Error} If the wallet ID is invalid
119
+ * @throws {NetworkError} If the agent is unreachable
120
+ */
121
+ getDelegationTree(walletId: string): Promise<DelegationTree>;
122
+ /**
123
+ * Send a heartbeat for a dead-man's switch delegation.
124
+ *
125
+ * The owner must send periodic heartbeats to prevent the dead-man's
126
+ * switch from activating. If heartbeats stop for longer than the
127
+ * configured grace period, the delegate's authority automatically
128
+ * becomes active.
129
+ *
130
+ * @param delegationId - The delegation grant with a dead-man's switch
131
+ *
132
+ * @throws {Sequence0Error} If the delegation ID is invalid
133
+ * @throws {NetworkError} If the agent is unreachable
134
+ */
135
+ heartbeat(delegationId: string): Promise<void>;
136
+ /**
137
+ * Check the current authority status of a delegation.
138
+ *
139
+ * Returns the delegation's active state, remaining budgets, and
140
+ * the full grant details. Useful for delegates to check their
141
+ * remaining authority before submitting a sign request.
142
+ *
143
+ * @param delegationId - The delegation grant to check
144
+ * @returns Status string and delegation grant details
145
+ *
146
+ * @throws {Sequence0Error} If the delegation ID is invalid
147
+ * @throws {NetworkError} If the agent is unreachable
148
+ */
149
+ checkAuthority(delegationId: string): Promise<{
150
+ status: string;
151
+ delegation: DelegationGrant | null;
152
+ }>;
153
+ private get;
154
+ private post;
155
+ private marshalConstraints;
156
+ private mapGrantResponse;
157
+ private unmarshalConstraints;
158
+ private mapTreeResponse;
159
+ }
160
+ //# sourceMappingURL=aegis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aegis.d.ts","sourceRoot":"","sources":["../../src/core/aegis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,EAGjB,MAAM,cAAc,CAAC;AAKtB;;;;;;GAMG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;OAKG;gBACS,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAIxC;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAkC5F;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0ClG;;;;;;;;;;;;OAYG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7E;;;;;;;;OAQG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBnE;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlE;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC;YA0B7F,GAAG;YA0BH,IAAI;IA6BlB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,eAAe;CAQ1B"}
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+ /**
3
+ * AEGIS: Sovereign Agency Protocol Client
4
+ *
5
+ * Cryptographic delegation of signing authority across all 81 chains.
6
+ * Enables scoped, hierarchical, revocable delegation enforced by
7
+ * threshold cryptography -- not law, not smart contracts, not trust.
8
+ *
9
+ * Delegates can sign within their constraints without the owner's
10
+ * involvement. Sub-delegation enables multi-level hierarchies
11
+ * (e.g., fund -> portfolio manager -> trader). Dead-man's switches
12
+ * activate authority when the owner goes silent.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { AegisClient } from '@sequence0/sdk';
17
+ *
18
+ * const aegis = new AegisClient({ baseUrl: 'http://agent:8080' });
19
+ *
20
+ * // Delegate trading authority to an AI agent
21
+ * const grant = await aegis.createDelegation('my-wallet', {
22
+ * to: '0xAiAgent...',
23
+ * chains: ['ethereum', 'arbitrum'],
24
+ * constraints: {
25
+ * maxPerTransaction: '1000000000000000000',
26
+ * allowedOperations: ['swap', 'transfer'],
27
+ * },
28
+ * validUntil: '2026-12-31T23:59:59Z',
29
+ * });
30
+ *
31
+ * // Check authority status
32
+ * const status = await aegis.checkAuthority(grant.delegationId);
33
+ * console.log('Active:', status.status);
34
+ * ```
35
+ */
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.AegisClient = void 0;
38
+ const errors_1 = require("../utils/errors");
39
+ // ── Aegis Client ──
40
+ /**
41
+ * Client for the AEGIS Sovereign Agency Protocol.
42
+ *
43
+ * Communicates with delegation endpoints on the agent node to create,
44
+ * manage, and revoke delegation grants, query delegation trees, and
45
+ * send heartbeats for dead-man's switch scenarios.
46
+ */
47
+ class AegisClient {
48
+ /**
49
+ * Create a new AegisClient.
50
+ *
51
+ * @param options - Client configuration
52
+ * @param options.baseUrl - Agent node HTTP endpoint URL
53
+ */
54
+ constructor(options) {
55
+ this.baseUrl = options.baseUrl.replace(/\/+$/, '');
56
+ }
57
+ /**
58
+ * Create a new delegation grant from the wallet owner to a delegate.
59
+ *
60
+ * The delegate will be able to sign transactions within the
61
+ * specified constraints without the owner's involvement. The
62
+ * grant is recorded on-chain in the DelegationRegistry contract.
63
+ *
64
+ * @param walletId - The wallet to delegate authority for
65
+ * @param options - Delegation parameters (delegate address, chains, constraints, etc.)
66
+ * @returns The created delegation grant
67
+ *
68
+ * @throws {Sequence0Error} If the parameters are invalid
69
+ * @throws {NetworkError} If the agent is unreachable
70
+ */
71
+ async createDelegation(walletId, options) {
72
+ if (!walletId || typeof walletId !== 'string') {
73
+ throw new errors_1.Sequence0Error('walletId must be a non-empty string');
74
+ }
75
+ if (!options.to || typeof options.to !== 'string') {
76
+ throw new errors_1.Sequence0Error('options.to must be a non-empty string (delegate address)');
77
+ }
78
+ if (!Array.isArray(options.chains) || options.chains.length === 0) {
79
+ throw new errors_1.Sequence0Error('options.chains must be a non-empty array of chain names');
80
+ }
81
+ if (!options.constraints || typeof options.constraints !== 'object') {
82
+ throw new errors_1.Sequence0Error('options.constraints must be a non-empty object');
83
+ }
84
+ const response = await this.post('/delegation/create', {
85
+ wallet_id: walletId,
86
+ to: options.to,
87
+ chains: options.chains,
88
+ wasm_policy_id: options.wasmPolicyId,
89
+ constraints: this.marshalConstraints(options.constraints),
90
+ valid_from: options.validFrom,
91
+ valid_until: options.validUntil,
92
+ sub_delegation: options.subDelegation ?? false,
93
+ max_sub_depth: options.maxSubDepth ?? 0,
94
+ revocation: options.revocation ?? 'immediate',
95
+ activation: options.activation ? {
96
+ heartbeat_interval: options.activation.heartbeatInterval,
97
+ grace_period: options.activation.gracePeriod,
98
+ } : undefined,
99
+ });
100
+ return this.mapGrantResponse(response);
101
+ }
102
+ /**
103
+ * Create a sub-delegation from an existing grant.
104
+ *
105
+ * A delegate with sub-delegation permission can further scope down
106
+ * authority to a child delegate. Constraints can only be narrowed,
107
+ * never expanded beyond the parent grant's limits.
108
+ *
109
+ * @param walletId - The wallet the parent grant belongs to
110
+ * @param options - Sub-delegation parameters including parent grant ID
111
+ * @returns The created sub-delegation grant
112
+ *
113
+ * @throws {Sequence0Error} If the parameters are invalid
114
+ * @throws {NetworkError} If the agent is unreachable
115
+ */
116
+ async createSubDelegation(walletId, options) {
117
+ if (!walletId || typeof walletId !== 'string') {
118
+ throw new errors_1.Sequence0Error('walletId must be a non-empty string');
119
+ }
120
+ if (!options.parentGrantId || typeof options.parentGrantId !== 'string') {
121
+ throw new errors_1.Sequence0Error('options.parentGrantId must be a non-empty string');
122
+ }
123
+ if (!options.signerKey || typeof options.signerKey !== 'string') {
124
+ throw new errors_1.Sequence0Error('options.signerKey must be a non-empty string (parent delegate private key)');
125
+ }
126
+ if (!options.to || typeof options.to !== 'string') {
127
+ throw new errors_1.Sequence0Error('options.to must be a non-empty string (sub-delegate address)');
128
+ }
129
+ if (!Array.isArray(options.chains) || options.chains.length === 0) {
130
+ throw new errors_1.Sequence0Error('options.chains must be a non-empty array of chain names');
131
+ }
132
+ if (!options.constraints || typeof options.constraints !== 'object') {
133
+ throw new errors_1.Sequence0Error('options.constraints must be a non-empty object');
134
+ }
135
+ const response = await this.post('/delegation/sub-delegate', {
136
+ wallet_id: walletId,
137
+ parent_grant_id: options.parentGrantId,
138
+ signer_key: options.signerKey,
139
+ to: options.to,
140
+ chains: options.chains,
141
+ wasm_policy_id: options.wasmPolicyId,
142
+ constraints: this.marshalConstraints(options.constraints),
143
+ valid_from: options.validFrom,
144
+ valid_until: options.validUntil,
145
+ sub_delegation: options.subDelegation ?? false,
146
+ max_sub_depth: options.maxSubDepth ?? 0,
147
+ revocation: options.revocation ?? 'immediate',
148
+ activation: options.activation ? {
149
+ heartbeat_interval: options.activation.heartbeatInterval,
150
+ grace_period: options.activation.gracePeriod,
151
+ } : undefined,
152
+ });
153
+ return this.mapGrantResponse(response);
154
+ }
155
+ /**
156
+ * Revoke a delegation grant.
157
+ *
158
+ * Once revoked, the delegate can no longer sign transactions
159
+ * for this wallet. All sub-delegations under the revoked grant
160
+ * are also automatically revoked.
161
+ *
162
+ * @param walletId - The wallet the delegation belongs to
163
+ * @param delegationId - The delegation grant to revoke
164
+ *
165
+ * @throws {Sequence0Error} If the parameters are invalid
166
+ * @throws {NetworkError} If the agent is unreachable
167
+ */
168
+ async revokeDelegation(walletId, delegationId) {
169
+ if (!walletId || typeof walletId !== 'string') {
170
+ throw new errors_1.Sequence0Error('walletId must be a non-empty string');
171
+ }
172
+ if (!delegationId || typeof delegationId !== 'string') {
173
+ throw new errors_1.Sequence0Error('delegationId must be a non-empty string');
174
+ }
175
+ await this.post('/delegation/revoke', {
176
+ wallet_id: walletId,
177
+ delegation_id: delegationId,
178
+ });
179
+ }
180
+ /**
181
+ * List all active delegation grants for a wallet.
182
+ *
183
+ * @param walletId - The wallet to query
184
+ * @returns Array of delegation grants
185
+ *
186
+ * @throws {Sequence0Error} If the wallet ID is invalid
187
+ * @throws {NetworkError} If the agent is unreachable
188
+ */
189
+ async listDelegations(walletId) {
190
+ if (!walletId || typeof walletId !== 'string') {
191
+ throw new errors_1.Sequence0Error('walletId must be a non-empty string');
192
+ }
193
+ const response = await this.get(`/delegation/list/${walletId}`);
194
+ if (!response || !Array.isArray(response.delegations)) {
195
+ throw new errors_1.Sequence0Error('Invalid response from /delegation/list: missing delegations array');
196
+ }
197
+ return response.delegations.map((d) => this.mapGrantResponse(d));
198
+ }
199
+ /**
200
+ * Get the full delegation tree for a wallet.
201
+ *
202
+ * Returns a hierarchical view of all delegations and sub-delegations
203
+ * rooted at the wallet owner. Useful for visualizing the authority
204
+ * structure and auditing delegation chains.
205
+ *
206
+ * @param walletId - The wallet to query
207
+ * @returns The delegation tree
208
+ *
209
+ * @throws {Sequence0Error} If the wallet ID is invalid
210
+ * @throws {NetworkError} If the agent is unreachable
211
+ */
212
+ async getDelegationTree(walletId) {
213
+ if (!walletId || typeof walletId !== 'string') {
214
+ throw new errors_1.Sequence0Error('walletId must be a non-empty string');
215
+ }
216
+ const response = await this.get(`/delegation/tree/${walletId}`);
217
+ if (!response || !response.grant) {
218
+ throw new errors_1.Sequence0Error('Invalid response from /delegation/tree: missing grant');
219
+ }
220
+ return this.mapTreeResponse(response);
221
+ }
222
+ /**
223
+ * Send a heartbeat for a dead-man's switch delegation.
224
+ *
225
+ * The owner must send periodic heartbeats to prevent the dead-man's
226
+ * switch from activating. If heartbeats stop for longer than the
227
+ * configured grace period, the delegate's authority automatically
228
+ * becomes active.
229
+ *
230
+ * @param delegationId - The delegation grant with a dead-man's switch
231
+ *
232
+ * @throws {Sequence0Error} If the delegation ID is invalid
233
+ * @throws {NetworkError} If the agent is unreachable
234
+ */
235
+ async heartbeat(delegationId) {
236
+ if (!delegationId || typeof delegationId !== 'string') {
237
+ throw new errors_1.Sequence0Error('delegationId must be a non-empty string');
238
+ }
239
+ await this.post('/delegation/heartbeat', {
240
+ delegation_id: delegationId,
241
+ });
242
+ }
243
+ /**
244
+ * Check the current authority status of a delegation.
245
+ *
246
+ * Returns the delegation's active state, remaining budgets, and
247
+ * the full grant details. Useful for delegates to check their
248
+ * remaining authority before submitting a sign request.
249
+ *
250
+ * @param delegationId - The delegation grant to check
251
+ * @returns Status string and delegation grant details
252
+ *
253
+ * @throws {Sequence0Error} If the delegation ID is invalid
254
+ * @throws {NetworkError} If the agent is unreachable
255
+ */
256
+ async checkAuthority(delegationId) {
257
+ if (!delegationId || typeof delegationId !== 'string') {
258
+ throw new errors_1.Sequence0Error('delegationId must be a non-empty string');
259
+ }
260
+ const response = await this.get(`/delegation/status/${delegationId}`);
261
+ if (!response || typeof response.status !== 'string') {
262
+ throw new errors_1.Sequence0Error('Invalid response from /delegation/status: missing status');
263
+ }
264
+ return {
265
+ status: response.status,
266
+ delegation: response.delegation
267
+ ? this.mapGrantResponse(response.delegation)
268
+ : null,
269
+ };
270
+ }
271
+ // ── Internal HTTP helpers ──
272
+ async get(path) {
273
+ const url = `${this.baseUrl}${path}`;
274
+ let res;
275
+ try {
276
+ res = await fetch(url, {
277
+ method: 'GET',
278
+ headers: { 'Content-Type': 'application/json' },
279
+ });
280
+ }
281
+ catch (err) {
282
+ throw new errors_1.NetworkError(`Failed to reach agent at ${url}: ${err.message}`);
283
+ }
284
+ if (!res.ok) {
285
+ const body = await res.text().catch(() => '');
286
+ throw new errors_1.NetworkError(`GET ${path} failed with status ${res.status}: ${body}`, res.status);
287
+ }
288
+ return res.json();
289
+ }
290
+ async post(path, body) {
291
+ const url = `${this.baseUrl}${path}`;
292
+ let res;
293
+ try {
294
+ res = await fetch(url, {
295
+ method: 'POST',
296
+ headers: { 'Content-Type': 'application/json' },
297
+ body: JSON.stringify(body),
298
+ });
299
+ }
300
+ catch (err) {
301
+ throw new errors_1.NetworkError(`Failed to reach agent at ${url}: ${err.message}`);
302
+ }
303
+ if (!res.ok) {
304
+ const errBody = await res.text().catch(() => '');
305
+ throw new errors_1.NetworkError(`POST ${path} failed with status ${res.status}: ${errBody}`, res.status);
306
+ }
307
+ return res.json();
308
+ }
309
+ // ── Constraint marshaling ──
310
+ marshalConstraints(constraints) {
311
+ return {
312
+ max_per_transaction: constraints.maxPerTransaction,
313
+ max_per_day: constraints.maxPerDay,
314
+ max_total: constraints.maxTotal,
315
+ allowed_operations: constraints.allowedOperations,
316
+ allowed_targets: constraints.allowedTargets,
317
+ denied_targets: constraints.deniedTargets,
318
+ deny_external_transfers: constraints.denyExternalTransfers,
319
+ };
320
+ }
321
+ // ── Response Mappers ──
322
+ mapGrantResponse(response) {
323
+ if (!response || typeof response.delegation_id !== 'string') {
324
+ throw new errors_1.Sequence0Error('Invalid delegation response: missing delegation_id');
325
+ }
326
+ return {
327
+ delegationId: response.delegation_id,
328
+ delegator: response.delegator,
329
+ delegate: response.delegate,
330
+ walletId: response.wallet_id,
331
+ chains: response.chains ?? [],
332
+ wasmPolicyId: response.wasm_policy_id,
333
+ constraints: this.unmarshalConstraints(response.constraints),
334
+ validFrom: response.valid_from,
335
+ validUntil: response.valid_until,
336
+ parentGrantId: response.parent_grant_id,
337
+ maxSubDepth: response.max_sub_depth ?? 0,
338
+ currentDepth: response.current_depth ?? 0,
339
+ allowSubDelegation: response.allow_sub_delegation ?? false,
340
+ isActive: response.is_active ?? true,
341
+ activation: response.activation ? {
342
+ heartbeatInterval: response.activation.heartbeat_interval,
343
+ gracePeriod: response.activation.grace_period,
344
+ } : undefined,
345
+ createdAt: response.created_at,
346
+ spentToday: response.spent_today ?? '0',
347
+ spentTotal: response.spent_total ?? '0',
348
+ };
349
+ }
350
+ unmarshalConstraints(raw) {
351
+ if (!raw)
352
+ return {};
353
+ return {
354
+ maxPerTransaction: raw.max_per_transaction,
355
+ maxPerDay: raw.max_per_day,
356
+ maxTotal: raw.max_total,
357
+ allowedOperations: raw.allowed_operations,
358
+ allowedTargets: raw.allowed_targets,
359
+ deniedTargets: raw.denied_targets,
360
+ denyExternalTransfers: raw.deny_external_transfers,
361
+ };
362
+ }
363
+ mapTreeResponse(response) {
364
+ return {
365
+ grant: this.mapGrantResponse(response.grant),
366
+ children: Array.isArray(response.children)
367
+ ? response.children.map((child) => this.mapTreeResponse(child))
368
+ : [],
369
+ };
370
+ }
371
+ }
372
+ exports.AegisClient = AegisClient;
373
+ //# sourceMappingURL=aegis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aegis.js","sourceRoot":"","sources":["../../src/core/aegis.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,9 @@ import { WsClient } from '../utils/websocket';
31
31
  import { UnsignedFeeTx } from '../utils/fee';
32
32
  import { SettlementClient } from '../settlement/settlement';
33
33
  import { UniversalAccountClient, UniversalAccountInfo, CreateUniversalAccountOptions } from './universal-account';
34
+ import { SignetClient } from './signet';
35
+ import { AegisClient } from './aegis';
36
+ import { NexusClient } from './nexus';
34
37
  export declare class Sequence0 {
35
38
  private config;
36
39
  private http;
@@ -428,6 +431,79 @@ export declare class Sequence0 {
428
431
  * @throws {NetworkError} If no healthy agent is available
429
432
  */
430
433
  createUniversalAccount(options: CreateUniversalAccountOptions): Promise<UniversalAccountInfo>;
434
+ /**
435
+ * Get a SignetClient for SIGNET Programmable Signing operations.
436
+ *
437
+ * The client provides methods to deploy WASM signing policy programs,
438
+ * attach/detach them to wallets, and query program information.
439
+ *
440
+ * @returns A SignetClient instance bound to the current agent
441
+ *
442
+ * @example
443
+ * ```typescript
444
+ * const signet = await s0.getSignetClient();
445
+ *
446
+ * const { programId } = await signet.deployProgram({
447
+ * bytecode: wasmHex,
448
+ * name: 'spending-limit',
449
+ * description: 'Enforces a 1 ETH per-tx limit',
450
+ * });
451
+ *
452
+ * await signet.attachProgram('my-wallet', programId);
453
+ * ```
454
+ */
455
+ getSignetClient(): Promise<SignetClient>;
456
+ /**
457
+ * Get an AegisClient for AEGIS Sovereign Agency Protocol operations.
458
+ *
459
+ * The client provides methods to create, manage, and revoke
460
+ * delegation grants, query delegation trees, and send heartbeats
461
+ * for dead-man's switch scenarios.
462
+ *
463
+ * @returns An AegisClient instance bound to the current agent
464
+ *
465
+ * @example
466
+ * ```typescript
467
+ * const aegis = await s0.getAegisClient();
468
+ *
469
+ * const grant = await aegis.createDelegation('my-wallet', {
470
+ * to: '0xAiAgent...',
471
+ * chains: ['ethereum', 'arbitrum'],
472
+ * constraints: { maxPerTransaction: '1000000000000000000' },
473
+ * });
474
+ *
475
+ * const tree = await aegis.getDelegationTree('my-wallet');
476
+ * ```
477
+ */
478
+ getAegisClient(): Promise<AegisClient>;
479
+ /**
480
+ * Get a NexusClient for NEXUS Atomic Composability operations.
481
+ *
482
+ * The client provides methods to submit multi-wallet, multi-chain
483
+ * atomic signing manifests, poll manifest status, and wait for
484
+ * completion with automatic polling.
485
+ *
486
+ * @returns A NexusClient instance bound to the current agent
487
+ *
488
+ * @example
489
+ * ```typescript
490
+ * const nexus = await s0.getNexusClient();
491
+ *
492
+ * const result = await nexus.signAtomic({
493
+ * operations: [
494
+ * { walletId: 'eth-wallet', chain: 'ethereum', message: '0xabc...' },
495
+ * { walletId: 'arb-wallet', chain: 'arbitrum', message: '0xdef...' },
496
+ * ],
497
+ * });
498
+ *
499
+ * if (result.status === 'committed') {
500
+ * for (const [reqId, sig] of result.signatures) {
501
+ * console.log(reqId, sig);
502
+ * }
503
+ * }
504
+ * ```
505
+ */
506
+ getNexusClient(): Promise<NexusClient>;
431
507
  /**
432
508
  * Subscribe to real-time events from the agent network
433
509
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}