@oneie/sdk 0.2.0 → 0.5.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.
Files changed (46) hide show
  1. package/README.md +276 -0
  2. package/dist/client.d.ts +28 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +173 -20
  5. package/dist/client.js.map +1 -1
  6. package/dist/errors.d.ts +23 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +45 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/react/context.d.ts +11 -0
  15. package/dist/react/context.d.ts.map +1 -0
  16. package/dist/react/context.js +13 -0
  17. package/dist/react/context.js.map +1 -0
  18. package/dist/react/hooks.d.ts +19 -0
  19. package/dist/react/hooks.d.ts.map +1 -0
  20. package/dist/react/hooks.js +65 -0
  21. package/dist/react/hooks.js.map +1 -0
  22. package/dist/react/index.d.ts +6 -0
  23. package/dist/react/index.d.ts.map +1 -0
  24. package/dist/react/index.js +5 -0
  25. package/dist/react/index.js.map +1 -0
  26. package/dist/react/optimistic.d.ts +45 -0
  27. package/dist/react/optimistic.d.ts.map +1 -0
  28. package/dist/react/optimistic.js +52 -0
  29. package/dist/react/optimistic.js.map +1 -0
  30. package/dist/react/stream.d.ts +18 -0
  31. package/dist/react/stream.d.ts.map +1 -0
  32. package/dist/react/stream.js +60 -0
  33. package/dist/react/stream.js.map +1 -0
  34. package/dist/schemas.d.ts +174 -0
  35. package/dist/schemas.d.ts.map +1 -0
  36. package/dist/schemas.js +127 -0
  37. package/dist/schemas.js.map +1 -0
  38. package/dist/testing/index.d.ts +7 -0
  39. package/dist/testing/index.d.ts.map +1 -0
  40. package/dist/testing/index.js +52 -0
  41. package/dist/testing/index.js.map +1 -0
  42. package/dist/types.d.ts +246 -4
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +3 -6
  45. package/dist/types.js.map +1 -1
  46. package/package.json +33 -3
package/README.md CHANGED
@@ -72,3 +72,279 @@ echo '{"telemetry":false}' > ~/.oneie/config.json
72
72
  ```
73
73
 
74
74
  When opt-out is active, `oneie --version` prints `telemetry: disabled`.
75
+
76
+ ---
77
+
78
+ ## Cycle 1 Methods — Identity, Commerce, Observability
79
+
80
+ ### Authentication
81
+
82
+ ```typescript
83
+ // Register or retrieve an agent identity
84
+ const agent = await client.authAgent({ name: "tutor", kind: "agent" });
85
+ // { uid, name, kind, wallet, apiKey, keyId, returning }
86
+
87
+ if (!agent.returning) {
88
+ console.log("New agent created:", agent.uid);
89
+ console.log("API key:", agent.apiKey);
90
+ }
91
+ ```
92
+
93
+ ### Agent Sync
94
+
95
+ ```typescript
96
+ // Deploy a single agent from markdown
97
+ const result = await client.syncAgent(`---
98
+ name: tutor
99
+ model: meta-llama/llama-4-maverick
100
+ skills:
101
+ - name: teach
102
+ price: 0.01
103
+ ---
104
+ You are a patient tutor.`);
105
+ // { ok, uid, wallet, skills }
106
+
107
+ // Deploy a world (multiple agents)
108
+ const world = await client.syncAgent({
109
+ world: "marketing",
110
+ agents: [
111
+ { name: "director", content: "---\nname: director\n---\nYou are the director." }
112
+ ]
113
+ });
114
+ // { ok, world, agents: [{ uid, name, skills }] }
115
+ ```
116
+
117
+ ### Discover
118
+
119
+ ```typescript
120
+ // Find agents with a specific skill
121
+ const { agents } = await client.discover("teach", 5);
122
+ // agents: [{ uid, name, price, successRate, strength }]
123
+ ```
124
+
125
+ ### Register
126
+
127
+ ```typescript
128
+ // Register an agent with capabilities
129
+ const reg = await client.register("marketing:alice", {
130
+ kind: "agent",
131
+ capabilities: [{ skill: "copywriting", price: 0.05 }]
132
+ });
133
+ // { ok, uid, status: "registered", walletLinked, capabilities: 1 }
134
+ ```
135
+
136
+ ### Pay
137
+
138
+ ```typescript
139
+ // Send a payment between agents
140
+ const payment = await client.pay("marketing:alice", "tutor:alice", "task-123", 0.05);
141
+ // { ok, from, to, task, amount, sui: string | null }
142
+ // sui is null for off-chain fast-path, a digest for on-chain
143
+ ```
144
+
145
+ ### Claw (Edge Deployment)
146
+
147
+ ```typescript
148
+ // Deploy a NanoClaw edge worker for an agent (requires session auth)
149
+ const claw = await client.claw("tutor", { persona: "one" });
150
+ // { ok, workerUrl, apiKey }
151
+ ```
152
+
153
+ ### Agent Actions
154
+
155
+ ```typescript
156
+ // Commend a well-performing agent (strengthens pheromone path)
157
+ await client.commend("marketing:alice");
158
+ // { ok, id, action: "commend" }
159
+
160
+ // Flag a misbehaving agent (weakens pheromone path)
161
+ await client.flag("marketing:alice");
162
+ // { ok, id, action: "flag" }
163
+
164
+ // Set agent lifecycle status
165
+ await client.status("marketing:alice", false); // deactivate
166
+ await client.status("marketing:alice", true); // activate
167
+ // { ok, id, status: "active" | "inactive" }
168
+
169
+ // List an agent's registered capabilities
170
+ const caps = await client.capabilities("marketing:alice");
171
+ // CapabilityItem[]
172
+ ```
173
+
174
+ ### Observability
175
+
176
+ ```typescript
177
+ // Substrate-wide stats
178
+ const stats = await client.stats();
179
+ // { units: { total, proven, atRisk }, skills, highways, revenue, signals, timestamp }
180
+
181
+ // Health check
182
+ const health = await client.health();
183
+ // { status: "healthy" | "degraded", world: { units, agents, edges, ... }, version }
184
+ if (health.status === "degraded") console.warn("Substrate degraded");
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Cycle 2 — Type Safety: Zod Schemas, Error Hierarchy, Retry
190
+
191
+ ### Error Hierarchy
192
+
193
+ ```typescript
194
+ import { SubstrateError, AuthError, RateLimitError, ValidationError } from "@oneie/sdk/errors";
195
+
196
+ try {
197
+ await client.authAgent();
198
+ } catch (err) {
199
+ if (err instanceof AuthError) console.error("Auth failed:", err.status);
200
+ if (err instanceof RateLimitError) console.error("Rate limited, retry after:", err.retryAfterMs);
201
+ if (err instanceof ValidationError) console.error("Bad request:", err.body);
202
+ if (err instanceof SubstrateError) console.error("Substrate error:", err.code);
203
+ }
204
+ ```
205
+
206
+ ### Retry Configuration
207
+
208
+ ```typescript
209
+ const client = new SubstrateClient({
210
+ apiKey: "...",
211
+ retry: { maxAttempts: 3, backoff: "exp" } // retries 503, 429, 502, 504
212
+ });
213
+
214
+ // Or use the static factory
215
+ const client = SubstrateClient.fromApiKey("api_...");
216
+ ```
217
+
218
+ ### Zod Schemas
219
+
220
+ ```typescript
221
+ import { HealthSchema, StatsSchema, AuthAgentResponseSchema } from "@oneie/sdk/schemas";
222
+
223
+ // Parse and validate responses manually
224
+ const raw = await fetch("/api/health").then(r => r.json());
225
+ const health = HealthSchema.parse(raw); // throws ZodError on mismatch
226
+ // health.status is "healthy" | "degraded" — fully inferred
227
+ ```
228
+
229
+ ### Outcome<T> with kind
230
+
231
+ ```typescript
232
+ const outcome = await client.ask("tutor:teach", { topic: "TypeScript" });
233
+
234
+ switch (outcome.kind) {
235
+ case "result": console.log("Got:", outcome.result); break;
236
+ case "timeout": console.log("Timed out"); break;
237
+ case "dissolved": console.log("No handler"); break;
238
+ case "failure": console.log("Handler failed"); break;
239
+ }
240
+ ```
241
+
242
+ ### Validation Mode
243
+
244
+ ```typescript
245
+ // strict: throw ValidationError if response shape mismatches schema
246
+ // warn: log mismatch but return data (default)
247
+ // off: skip validation entirely (perf-optimized)
248
+ const client = new SubstrateClient({ validate: "strict" });
249
+ ```
250
+
251
+ ---
252
+
253
+ ## Cycle 3 — React Integration: Hooks, Streams, Test Helpers
254
+
255
+ ### Setup
256
+
257
+ ```tsx
258
+ import { SubstrateClient } from "@oneie/sdk";
259
+ import { SubstrateProvider } from "@oneie/sdk/react";
260
+
261
+ const client = SubstrateClient.fromApiKey(process.env.ONEIE_API_KEY!);
262
+
263
+ function App() {
264
+ return (
265
+ <SubstrateProvider client={client}>
266
+ <MyApp />
267
+ </SubstrateProvider>
268
+ );
269
+ }
270
+ ```
271
+
272
+ ### Data Hooks
273
+
274
+ ```tsx
275
+ import { useAgent, useDiscover, useHighways } from "@oneie/sdk/react";
276
+
277
+ function AgentProfile({ uid }: { uid: string }) {
278
+ const { data, loading, error, refetch } = useAgent(uid);
279
+ if (loading) return <div>Loading…</div>;
280
+ if (error) return <div>Error: {error.message}</div>;
281
+ return <pre>{JSON.stringify(data, null, 2)}</pre>;
282
+ }
283
+
284
+ function TopPaths() {
285
+ const { data, refetch } = useHighways(10);
286
+ return (
287
+ <>
288
+ <button onClick={refetch}>Refresh</button>
289
+ {data?.highways.map(h => <div key={h.path}>{h.path}: {h.net}</div>)}
290
+ </>
291
+ );
292
+ }
293
+ ```
294
+
295
+ ### Optimistic Updates
296
+
297
+ ```tsx
298
+ import { useOptimisticMark } from "@oneie/sdk/react";
299
+
300
+ function MarkButton({ edge }: { edge: string }) {
301
+ const { optimistic, mark } = useOptimisticMark();
302
+ return (
303
+ <button
304
+ disabled={optimistic.pending}
305
+ onClick={() => mark(edge, { fit: 1, form: 1, truth: 1, taste: 1 })}
306
+ >
307
+ {optimistic.pending ? "Marking…" : "Mark ✓"}
308
+ </button>
309
+ );
310
+ }
311
+ ```
312
+
313
+ ### Streaming Chat
314
+
315
+ ```tsx
316
+ import { streamChat, useSubstrate } from "@oneie/sdk/react";
317
+ import { useState } from "react";
318
+
319
+ function Chat() {
320
+ const { client } = useSubstrate();
321
+ const [output, setOutput] = useState("");
322
+
323
+ async function send(text: string) {
324
+ setOutput("");
325
+ for await (const chunk of streamChat(client, [{ role: "user", content: text }])) {
326
+ setOutput(prev => prev + chunk);
327
+ }
328
+ }
329
+
330
+ return (
331
+ <>
332
+ <button onClick={() => send("Hello!")}>Send</button>
333
+ <pre>{output}</pre>
334
+ </>
335
+ );
336
+ }
337
+ ```
338
+
339
+ ### Test Helpers
340
+
341
+ ```typescript
342
+ import { createMockSubstrate } from "@oneie/sdk/testing";
343
+
344
+ const client = createMockSubstrate({
345
+ highways: () => Promise.resolve({ highways: [{ path: "a→b", strength: 5, resistance: 1, net: 4 }] })
346
+ });
347
+
348
+ const result = await client.highways();
349
+ // result.highways[0].path === "a→b"
350
+ ```
package/dist/client.d.ts CHANGED
@@ -1,8 +1,12 @@
1
- import type { DecayResponse, HighwaysResponse, HypothesesResponse, MarkDimsResponse, Outcome, SdkConfig, SignalResponse } from "./types.js";
1
+ import type { AgentActionResponse, AgentStatusResponse, AuthAgentOpts, AuthAgentResponse, BountyItem, BountyRequest, BountyResponse, CapabilityItem, ClawOpts, ClawResponse, DecayResponse, DiscoverResponse, ExportResource, Health, HireEscrowResponse, HireResponse, HighwaysResponse, HypothesesResponse, MarkDimsResponse, Outcome, PayResponse, PublishCapabilityRequest, PublishCapabilityResponse, RegisterOpts, RegisterResponse, RevenueResponse, SdkConfig, SignalResponse, Stats, SyncAgentResponse, SyncAgentWorldInput } from "./types.js";
2
2
  export declare class SubstrateClient {
3
3
  private readonly baseUrl;
4
4
  private readonly apiKey;
5
+ private readonly retryConfig;
6
+ readonly validateMode: "strict" | "warn" | "off";
5
7
  constructor(cfg?: SdkConfig);
8
+ static fromApiKey(key: string, baseUrl?: string): SubstrateClient;
9
+ private r;
6
10
  signal(sender: string, receiver: string, data?: unknown): Promise<SignalResponse>;
7
11
  ask(receiver: string, data?: unknown, timeout?: number, from?: string): Promise<Outcome<unknown>>;
8
12
  mark(edge: string, scores?: Partial<{
@@ -25,5 +29,28 @@ export declare class SubstrateClient {
25
29
  frontier(uid: string): Promise<unknown>;
26
30
  know(): Promise<unknown>;
27
31
  select(): Promise<unknown>;
32
+ authAgent(opts?: AuthAgentOpts): Promise<AuthAgentResponse>;
33
+ syncAgent(input: string | SyncAgentWorldInput): Promise<SyncAgentResponse>;
34
+ discover(skill: string, limit?: number): Promise<DiscoverResponse>;
35
+ register(uid: string, opts?: RegisterOpts): Promise<RegisterResponse>;
36
+ pay(from: string, to: string, task: string, amount: number): Promise<PayResponse>;
37
+ claw(name: string, opts?: ClawOpts): Promise<ClawResponse>;
38
+ commend(uid: string): Promise<AgentActionResponse>;
39
+ flag(uid: string): Promise<AgentActionResponse>;
40
+ status(uid: string, active: boolean): Promise<AgentStatusResponse>;
41
+ capabilities(uid: string): Promise<CapabilityItem[]>;
42
+ stats(): Promise<Stats>;
43
+ health(): Promise<Health>;
44
+ hire(providerUid: string, skillId: string, opts?: {
45
+ initialMessage?: string;
46
+ }): Promise<HireResponse | HireEscrowResponse>;
47
+ bounty(opts: BountyRequest): Promise<BountyResponse>;
48
+ bounties(query?: {
49
+ seller?: string;
50
+ poster?: string;
51
+ }): Promise<BountyItem[]>;
52
+ publish(opts: PublishCapabilityRequest): Promise<PublishCapabilityResponse>;
53
+ revenue(): Promise<RevenueResponse>;
54
+ exportData(resource: ExportResource): Promise<unknown[]>;
28
55
  }
29
56
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAsBpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;gBAEhC,GAAG,GAAE,SAAc;IAKzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAWjF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAiBjG,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5E,OAAO,CAAC,gBAAgB,CAAC;IAWtB,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5E,OAAO,CAAC,gBAAgB,CAAC;IAWtB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAWzE,QAAQ,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW/C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYpD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWvC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAMxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAUjC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,88 +1,241 @@
1
- import { OneSdkError } from "./types.js";
1
+ import { AuthError, RateLimitError, SubstrateError, TimeoutError, ValidationError } from "./errors.js";
2
2
  import { resolveApiKey, resolveBaseUrl } from "./urls.js";
3
3
  import { emit } from "./telemetry.js";
4
+ function throwForStatus(status, method, path) {
5
+ const msg = `${method} ${path} → ${status}`;
6
+ if (status === 401 || status === 403)
7
+ throw new AuthError(msg, status);
8
+ if (status === 400 || status === 422)
9
+ throw new ValidationError(msg, status);
10
+ if (status === 429)
11
+ throw new RateLimitError(msg);
12
+ if (status === 408 || status === 504)
13
+ throw new TimeoutError(msg, status);
14
+ throw new SubstrateError(msg, status);
15
+ }
16
+ function isRetryable(status) {
17
+ if (status === undefined)
18
+ return true;
19
+ return [429, 502, 503, 504].includes(status);
20
+ }
21
+ async function withRetry(fn, config) {
22
+ const maxAttempts = config?.maxAttempts ?? 1;
23
+ const backoff = config?.backoff ?? "exp";
24
+ let attempt = 0;
25
+ while (true) {
26
+ try {
27
+ return await fn();
28
+ }
29
+ catch (err) {
30
+ attempt++;
31
+ const status = err instanceof SubstrateError ? err.status : undefined;
32
+ if (attempt >= maxAttempts || !isRetryable(status))
33
+ throw err;
34
+ const delayMs = backoff === "exp" ? Math.min(300 * 2 ** attempt, 30_000) :
35
+ backoff === "linear" ? 300 * attempt :
36
+ 300;
37
+ await new Promise(r => setTimeout(r, delayMs));
38
+ }
39
+ }
40
+ }
4
41
  async function req(baseUrl, path, init = {}, apiKey) {
5
42
  const headers = { "Content-Type": "application/json" };
6
43
  if (apiKey)
7
44
  headers["Authorization"] = `Bearer ${apiKey}`;
8
45
  const res = await fetch(`${baseUrl}${path}`, { ...init, headers });
9
- if (!res.ok) {
10
- throw new OneSdkError(`${(init.method ?? "GET")} ${path} → ${res.status}`, res.status);
11
- }
46
+ if (!res.ok)
47
+ throwForStatus(res.status, init.method ?? "GET", path);
12
48
  return res.json();
13
49
  }
14
50
  export class SubstrateClient {
15
51
  baseUrl;
16
52
  apiKey;
53
+ retryConfig;
54
+ validateMode;
17
55
  constructor(cfg = {}) {
18
56
  this.baseUrl = resolveBaseUrl(cfg.baseUrl);
19
57
  this.apiKey = resolveApiKey(cfg.apiKey);
58
+ this.retryConfig = cfg.retry;
59
+ this.validateMode = cfg.validate ?? "warn";
60
+ }
61
+ static fromApiKey(key, baseUrl) {
62
+ return new SubstrateClient({ apiKey: key, baseUrl });
63
+ }
64
+ r(path, init = {}) {
65
+ return withRetry(() => req(this.baseUrl, path, init, this.apiKey), this.retryConfig);
20
66
  }
21
67
  async signal(sender, receiver, data) {
22
- const result = await req(this.baseUrl, "/api/signal", { method: "POST", body: JSON.stringify({ sender, receiver, data }) }, this.apiKey);
68
+ const result = await this.r("/api/signal", { method: "POST", body: JSON.stringify({ sender, receiver, data }) });
23
69
  emit("toolkit:sdk:signal", ["sdk", "method-signal", result.success ? "200" : "error"]);
24
70
  return result;
25
71
  }
26
72
  async ask(receiver, data, timeout, from) {
27
73
  const t = Date.now();
28
- const result = await req(this.baseUrl, "/api/ask", { method: "POST", body: JSON.stringify({ receiver, data, timeout, from }) }, this.apiKey);
29
- const outcome = "result" in result ? "result"
30
- : "timeout" in result ? "timeout"
31
- : "dissolved" in result ? "dissolved"
74
+ const raw = await this.r("/api/ask", { method: "POST", body: JSON.stringify({ receiver, data, timeout, from }) });
75
+ const kind = "result" in raw ? "result"
76
+ : "timeout" in raw ? "timeout"
77
+ : "dissolved" in raw ? "dissolved"
32
78
  : "failure";
33
- emit("toolkit:sdk:ask", ["sdk", "method-ask", `outcome-${outcome}`], { latencyMs: Date.now() - t });
79
+ const result = { ...raw, kind };
80
+ emit("toolkit:sdk:ask", ["sdk", "method-ask", `outcome-${kind}`], { latencyMs: Date.now() - t });
34
81
  return result;
35
82
  }
36
83
  async mark(edge, scores) {
37
- const result = await req(this.baseUrl, "/api/loop/mark-dims", { method: "POST", body: JSON.stringify({ edge, ...(scores ?? { fit: 1, form: 1, truth: 1, taste: 1 }) }) }, this.apiKey);
84
+ const result = await this.r("/api/loop/mark-dims", { method: "POST", body: JSON.stringify({ edge, ...(scores ?? { fit: 1, form: 1, truth: 1, taste: 1 }) }) });
38
85
  emit("toolkit:sdk:mark", ["sdk", "method-mark"]);
39
86
  return result;
40
87
  }
41
88
  async warn(edge, scores) {
42
- const result = await req(this.baseUrl, "/api/loop/mark-dims", { method: "POST", body: JSON.stringify({ edge, ...(scores ?? { fit: 0, form: 0, truth: 0, taste: 0 }) }) }, this.apiKey);
89
+ const result = await this.r("/api/loop/mark-dims", { method: "POST", body: JSON.stringify({ edge, ...(scores ?? { fit: 0, form: 0, truth: 0, taste: 0 }) }) });
43
90
  emit("toolkit:sdk:warn", ["sdk", "method-warn"]);
44
91
  return result;
45
92
  }
46
93
  async fade(trailRate, resistanceRate) {
47
- const result = await req(this.baseUrl, "/api/decay-cycle", { method: "POST", body: JSON.stringify({ trailRate, resistanceRate }) }, this.apiKey);
94
+ const result = await this.r("/api/decay-cycle", { method: "POST", body: JSON.stringify({ trailRate, resistanceRate }) });
48
95
  emit("toolkit:sdk:fade", ["sdk", "method-fade"]);
49
96
  return result;
50
97
  }
51
98
  async highways(limit = 10) {
52
- const result = await req(this.baseUrl, `/api/loop/highways?limit=${limit}`, {}, this.apiKey);
99
+ const result = await this.r(`/api/loop/highways?limit=${limit}`);
53
100
  emit("toolkit:sdk:highways", ["sdk", "method-highways"]);
54
101
  return result;
55
102
  }
56
103
  async recall(status) {
57
104
  const qs = status ? `?status=${encodeURIComponent(status)}` : "";
58
- const result = await req(this.baseUrl, `/api/hypotheses${qs}`, {}, this.apiKey);
105
+ const result = await this.r(`/api/hypotheses${qs}`);
59
106
  emit("toolkit:sdk:recall", ["sdk", "method-recall"]);
60
107
  return result;
61
108
  }
62
109
  async reveal(uid) {
63
- const result = await req(this.baseUrl, `/api/memory/reveal/${encodeURIComponent(uid)}`, {}, this.apiKey);
110
+ const result = await this.r(`/api/memory/reveal/${encodeURIComponent(uid)}`);
64
111
  emit("toolkit:sdk:reveal", ["sdk", "method-reveal"]);
65
112
  return result;
66
113
  }
67
114
  async forget(uid) {
68
- const result = await req(this.baseUrl, `/api/memory/forget/${encodeURIComponent(uid)}`, { method: "DELETE" }, this.apiKey);
115
+ const result = await this.r(`/api/memory/forget/${encodeURIComponent(uid)}`, { method: "DELETE" });
69
116
  emit("toolkit:sdk:forget", ["sdk", "method-forget"]);
70
117
  return result;
71
118
  }
72
119
  async frontier(uid) {
73
- const result = await req(this.baseUrl, `/api/memory/frontier/${encodeURIComponent(uid)}`, {}, this.apiKey);
120
+ const result = await this.r(`/api/memory/frontier/${encodeURIComponent(uid)}`);
74
121
  emit("toolkit:sdk:frontier", ["sdk", "method-frontier"]);
75
122
  return result;
76
123
  }
77
124
  async know() {
78
- const result = await req(this.baseUrl, "/api/tick", {}, this.apiKey);
125
+ const result = await this.r("/api/tick");
79
126
  emit("toolkit:sdk:know", ["sdk", "method-know"]);
80
127
  return result;
81
128
  }
82
129
  async select() {
83
- const result = await req(this.baseUrl, "/api/loop/stage", { method: "POST", body: JSON.stringify({}) }, this.apiKey);
130
+ const result = await this.r("/api/loop/stage", { method: "POST", body: JSON.stringify({}) });
84
131
  emit("toolkit:sdk:select", ["sdk", "method-select"]);
85
132
  return result;
86
133
  }
134
+ async authAgent(opts = {}) {
135
+ const result = await this.r("/api/auth/agent", { method: "POST", body: JSON.stringify(opts) });
136
+ emit("toolkit:sdk:authAgent", ["sdk", "method-authAgent", result.returning ? "returning" : "new"]);
137
+ return result;
138
+ }
139
+ async syncAgent(input) {
140
+ const body = typeof input === "string" ? { markdown: input } : input;
141
+ const result = await this.r("/api/agents/sync", { method: "POST", body: JSON.stringify(body) });
142
+ emit("toolkit:sdk:syncAgent", ["sdk", "method-syncAgent"]);
143
+ return result;
144
+ }
145
+ async discover(skill, limit = 10) {
146
+ const result = await this.r(`/api/agents/discover?skill=${encodeURIComponent(skill)}&limit=${limit}`);
147
+ emit("toolkit:sdk:discover", ["sdk", "method-discover"]);
148
+ return result;
149
+ }
150
+ async register(uid, opts = {}) {
151
+ const result = await this.r("/api/agents/register", { method: "POST", body: JSON.stringify({ uid, ...opts }) });
152
+ emit("toolkit:sdk:register", ["sdk", "method-register"]);
153
+ return result;
154
+ }
155
+ async pay(from, to, task, amount) {
156
+ const result = await this.r("/api/pay", { method: "POST", body: JSON.stringify({ from, to, task, amount }) });
157
+ emit("toolkit:sdk:pay", ["sdk", "method-pay"]);
158
+ return result;
159
+ }
160
+ async claw(name, opts = {}) {
161
+ const result = await this.r("/api/claw", { method: "POST", body: JSON.stringify({ name, ...opts }) });
162
+ emit("toolkit:sdk:claw", ["sdk", "method-claw"]);
163
+ return result;
164
+ }
165
+ async commend(uid) {
166
+ const result = await this.r(`/api/agents/${encodeURIComponent(uid)}/commend`, { method: "POST", body: JSON.stringify({}) });
167
+ emit("toolkit:sdk:commend", ["sdk", "method-commend"]);
168
+ return result;
169
+ }
170
+ async flag(uid) {
171
+ const result = await this.r(`/api/agents/${encodeURIComponent(uid)}/flag`, { method: "POST", body: JSON.stringify({}) });
172
+ emit("toolkit:sdk:flag", ["sdk", "method-flag"]);
173
+ return result;
174
+ }
175
+ async status(uid, active) {
176
+ const result = await this.r(`/api/agents/${encodeURIComponent(uid)}/status`, { method: "POST", body: JSON.stringify({ status: active ? "active" : "inactive" }) });
177
+ emit("toolkit:sdk:status", ["sdk", "method-status"]);
178
+ return result;
179
+ }
180
+ async capabilities(uid) {
181
+ const result = await this.r(`/api/agents/${encodeURIComponent(uid)}/capabilities`);
182
+ emit("toolkit:sdk:capabilities", ["sdk", "method-capabilities"]);
183
+ return result;
184
+ }
185
+ async stats() {
186
+ const result = await this.r("/api/stats");
187
+ emit("toolkit:sdk:stats", ["sdk", "method-stats"]);
188
+ return result;
189
+ }
190
+ async health() {
191
+ const result = await this.r("/api/health");
192
+ emit("toolkit:sdk:health", ["sdk", "method-health"]);
193
+ return result;
194
+ }
195
+ async hire(providerUid, skillId, opts) {
196
+ const result = await this.r("/api/buy/hire", {
197
+ method: "POST",
198
+ body: JSON.stringify({ providerUid, skillId, ...opts }),
199
+ });
200
+ emit("toolkit:sdk:hire", ["sdk", "method-hire"]);
201
+ return result;
202
+ }
203
+ async bounty(opts) {
204
+ const result = await this.r("/api/market/bounty", {
205
+ method: "POST",
206
+ body: JSON.stringify(opts),
207
+ });
208
+ emit("toolkit:sdk:bounty", ["sdk", "method-bounty"]);
209
+ return result;
210
+ }
211
+ async bounties(query) {
212
+ const params = new URLSearchParams();
213
+ if (query?.seller)
214
+ params.set("seller", query.seller);
215
+ if (query?.poster)
216
+ params.set("poster", query.poster);
217
+ const qs = params.size ? `?${params}` : "";
218
+ const result = await this.r(`/api/market/bounty${qs}`);
219
+ emit("toolkit:sdk:bounties", ["sdk", "method-bounties"]);
220
+ return result;
221
+ }
222
+ async publish(opts) {
223
+ const result = await this.r("/api/capabilities/publish", {
224
+ method: "POST",
225
+ body: JSON.stringify(opts),
226
+ });
227
+ emit("toolkit:sdk:publish", ["sdk", "method-publish"]);
228
+ return result;
229
+ }
230
+ async revenue() {
231
+ const result = await this.r("/api/revenue");
232
+ emit("toolkit:sdk:revenue", ["sdk", "method-revenue"]);
233
+ return result;
234
+ }
235
+ async exportData(resource) {
236
+ const result = await this.r(`/api/export/${resource}`);
237
+ emit("toolkit:sdk:export", ["sdk", "method-export"]);
238
+ return result;
239
+ }
87
240
  }
88
241
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,SAAS,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY;IAClE,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,MAAM,MAAM,EAAE,CAAC;IAC5C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,SAAS,CAAI,EAAoB,EAAE,MAAoB;IACpE,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,GAAG,YAAY,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,IAAI,OAAO,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC9D,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC1D,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;oBACtC,GAAG,CAAC;YACN,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG,CAChB,OAAe,EACf,IAAY,EACZ,OAAoB,EAAE,EACtB,MAAe;IAEf,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAC/E,IAAI,MAAM;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACpE,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,eAAe;IACT,OAAO,CAAS;IAChB,MAAM,CAAqB;IAC3B,WAAW,CAA0B;IAC7C,YAAY,CAA4B;IAEjD,YAAY,MAAiB,EAAE;QAC7B,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,OAAgB;QAC7C,OAAO,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,CAAC,CAAI,IAAY,EAAE,OAAoB,EAAE;QAC/C,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAc;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,aAAa,EACb,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CACrE,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,IAAc,EAAE,OAAgB,EAAE,IAAa;QACzE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,CACtB,UAAU,EACV,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAC5E,CAAC;QACF,MAAM,IAAI,GACR,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,QAAiB;YACnC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,SAAkB;gBACvC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,WAAoB;oBAC3C,CAAC,CAAC,SAAkB,CAAC;QACvB,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAsB,CAAC;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,MAA6E;QAE7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,qBAAqB,EACrB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAC3G,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,MAA6E;QAE7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,qBAAqB,EACrB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAC3G,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAkB,EAAE,cAAuB;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,kBAAkB,EAClB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAE,CACxE,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAmB,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAe;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAqB,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAU,sBAAsB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,sBAAsB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC/C,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAU,wBAAwB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAU,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,iBAAiB,EACjB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAC7C,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,iBAAiB,EACjB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnG,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAmC;QACjD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,kBAAkB,EAClB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/C,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,8BAA8B,kBAAkB,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,CACzE,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,OAAqB,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,sBAAsB,EACtB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAC3D,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,IAAY,EAAE,MAAc;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,UAAU,EACV,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CACrE,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAiB,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,WAAW,EACX,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,eAAe,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAChD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAC7C,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,eAAe,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAC7C,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,MAAe;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,eAAe,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAC/C,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CACrF,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACzB,eAAe,kBAAkB,CAAC,GAAG,CAAC,eAAe,CACtD,CAAC;QACF,IAAI,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAQ,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAS,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,WAAmB,EACnB,OAAe,EACf,IAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAoC,eAAe,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAiB,oBAAoB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA4C;QACzD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAe,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAA4B,2BAA2B,EAAE;YAClF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAkB,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAwB;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAY,eAAe,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ export declare class SubstrateError extends Error {
2
+ readonly status?: number | undefined;
3
+ readonly code?: string | undefined;
4
+ readonly body?: unknown | undefined;
5
+ constructor(message: string, status?: number | undefined, code?: string | undefined, body?: unknown | undefined);
6
+ }
7
+ export declare class AuthError extends SubstrateError {
8
+ constructor(message: string, status?: number);
9
+ }
10
+ export declare class ValidationError extends SubstrateError {
11
+ constructor(message: string, status?: number, body?: unknown);
12
+ }
13
+ export declare class RateLimitError extends SubstrateError {
14
+ readonly retryAfterMs?: number | undefined;
15
+ constructor(message: string, retryAfterMs?: number | undefined);
16
+ }
17
+ export declare class TimeoutError extends SubstrateError {
18
+ constructor(message: string, status?: number);
19
+ }
20
+ export declare class DissolvedError extends SubstrateError {
21
+ constructor(message: string);
22
+ }
23
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IAGrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;gBAHvB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,IAAI,CAAC,EAAE,OAAO,YAAA;CAK1B;AAED,qBAAa,SAAU,SAAQ,cAAc;gBAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAI7C;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,cAAe,SAAQ,cAAc;IACnB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;gBAA/C,OAAO,EAAE,MAAM,EAAW,YAAY,CAAC,EAAE,MAAM,YAAA;CAI5D;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAClC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAI7C;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,EAAE,MAAM;CAI5B"}