@compose-market/sdk 0.2.0 → 0.4.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 (52) hide show
  1. package/CHANGELOG.md +54 -9
  2. package/dist/events.d.ts +115 -0
  3. package/dist/events.d.ts.map +1 -0
  4. package/dist/events.js +68 -0
  5. package/dist/events.js.map +1 -0
  6. package/dist/http.d.ts +1 -1
  7. package/dist/http.d.ts.map +1 -1
  8. package/dist/http.js +4 -4
  9. package/dist/http.js.map +1 -1
  10. package/dist/index.d.ts +122 -6
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +255 -18
  13. package/dist/index.js.map +1 -1
  14. package/dist/resources/agent.d.ts +43 -0
  15. package/dist/resources/agent.d.ts.map +1 -0
  16. package/dist/resources/agent.js +297 -0
  17. package/dist/resources/agent.js.map +1 -0
  18. package/dist/resources/inference.d.ts +34 -15
  19. package/dist/resources/inference.d.ts.map +1 -1
  20. package/dist/resources/inference.js +200 -55
  21. package/dist/resources/inference.js.map +1 -1
  22. package/dist/resources/instrumentation.d.ts +28 -0
  23. package/dist/resources/instrumentation.d.ts.map +1 -0
  24. package/dist/resources/instrumentation.js +43 -0
  25. package/dist/resources/instrumentation.js.map +1 -0
  26. package/dist/resources/keys.d.ts +4 -0
  27. package/dist/resources/keys.d.ts.map +1 -1
  28. package/dist/resources/keys.js +15 -5
  29. package/dist/resources/keys.js.map +1 -1
  30. package/dist/resources/session-events.d.ts +46 -0
  31. package/dist/resources/session-events.d.ts.map +1 -0
  32. package/dist/resources/session-events.js +199 -0
  33. package/dist/resources/session-events.js.map +1 -0
  34. package/dist/resources/workflow.d.ts +47 -0
  35. package/dist/resources/workflow.d.ts.map +1 -0
  36. package/dist/resources/workflow.js +321 -0
  37. package/dist/resources/workflow.js.map +1 -0
  38. package/dist/storage.d.ts +27 -0
  39. package/dist/storage.d.ts.map +1 -0
  40. package/dist/storage.js +46 -0
  41. package/dist/storage.js.map +1 -0
  42. package/dist/streaming/budget.d.ts +22 -0
  43. package/dist/streaming/budget.d.ts.map +1 -0
  44. package/dist/streaming/budget.js +40 -0
  45. package/dist/streaming/budget.js.map +1 -0
  46. package/dist/types/index.d.ts +165 -0
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/version.d.ts +9 -0
  49. package/dist/version.d.ts.map +1 -0
  50. package/dist/version.js +9 -0
  51. package/dist/version.js.map +1 -0
  52. package/package.json +6 -5
@@ -68,7 +68,7 @@ export class KeysResource {
68
68
  path: "/api/keys",
69
69
  body,
70
70
  headers: {
71
- walletAddress: wallet.address,
71
+ userAddress: wallet.address,
72
72
  chainId,
73
73
  },
74
74
  });
@@ -84,7 +84,7 @@ export class KeysResource {
84
84
  method: "GET",
85
85
  path: "/api/session",
86
86
  headers: {
87
- walletAddress: wallet.address,
87
+ userAddress: wallet.address,
88
88
  chainId,
89
89
  },
90
90
  });
@@ -95,7 +95,7 @@ export class KeysResource {
95
95
  method: "GET",
96
96
  path: "/api/keys",
97
97
  headers: {
98
- walletAddress: wallet.address,
98
+ userAddress: wallet.address,
99
99
  chainId: wallet.chainId,
100
100
  },
101
101
  });
@@ -114,10 +114,15 @@ export class KeysResource {
114
114
  message: "keys.get() requires a Compose Key token. Call keys.use(token) first or pass composeKey via options.",
115
115
  });
116
116
  }
117
+ const wallet = this.ctx.getWalletMaybe();
117
118
  return this.client.request({
118
119
  method: "GET",
119
120
  path: `/api/keys/${encodeURIComponent(keyId)}`,
120
- headers: { composeKey: token },
121
+ headers: {
122
+ composeKey: token,
123
+ userAddress: wallet.address ?? undefined,
124
+ chainId: wallet.chainId ?? undefined,
125
+ },
121
126
  });
122
127
  }
123
128
  /**
@@ -133,10 +138,15 @@ export class KeysResource {
133
138
  message: "keys.revoke() requires a Compose Key token. Call keys.use(token) first or pass composeKey via options.",
134
139
  });
135
140
  }
141
+ const wallet = this.ctx.getWalletMaybe();
136
142
  const result = await this.client.request({
137
143
  method: "DELETE",
138
144
  path: `/api/keys/${encodeURIComponent(keyId)}`,
139
- headers: { composeKey: token },
145
+ headers: {
146
+ composeKey: token,
147
+ userAddress: wallet.address ?? undefined,
148
+ chainId: wallet.chainId ?? undefined,
149
+ },
140
150
  doNotRetry: true,
141
151
  });
142
152
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/resources/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/resources/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Session-events SSE resource.
3
+ *
4
+ * Subscribes to `/api/session/events?userAddress=<address>&chainId=<chainId>`
5
+ * and yields typed `session-active` / `session-expired` events as they arrive.
6
+ *
7
+ * Each event is additionally dispatched to the SDK event bus so application
8
+ * code can centralise listeners on `sdk.events.on("sessionActive", ...)` and
9
+ * `sdk.events.on("sessionExpired", ...)` without plumbing the iterator
10
+ * manually.
11
+ *
12
+ * The iterator auto-reconnects transparently on network errors using the
13
+ * retry policy configured on the HTTP client; callers cancel via the
14
+ * provided `AbortSignal`.
15
+ */
16
+ import type { ComposeEventBus } from "../events.js";
17
+ import type { HttpClient } from "../http.js";
18
+ import type { SessionEvent } from "../types/index.js";
19
+ export interface SessionEventsOptions {
20
+ userAddress: string;
21
+ chainId: number;
22
+ signal?: AbortSignal;
23
+ /** Max delay between reconnect attempts, in milliseconds. Default 10_000. */
24
+ reconnectMaxDelayMs?: number;
25
+ }
26
+ /**
27
+ * Drive a raw SSE subscription to `/api/session/events` and yield one event
28
+ * at a time. The generator terminates only when the caller aborts the signal
29
+ * or when a terminal `session-expired` event is emitted for the requested
30
+ * `(userAddress, chainId)` tuple (a terminal signal from the server side).
31
+ */
32
+ export declare class SessionEventsResource {
33
+ private readonly client;
34
+ private readonly events;
35
+ constructor(client: HttpClient, events: ComposeEventBus);
36
+ subscribe(opts: SessionEventsOptions): AsyncIterable<SessionEvent>;
37
+ private createIterator;
38
+ /**
39
+ * Read until a named event arrives, yield it, emit on the bus, and
40
+ * return. The outer iterator loops back to re-open the stream, preserving
41
+ * the read-one-then-reconnect cadence we want for cross-tab event
42
+ * semantics (no orphaned bytes when the consumer pauses).
43
+ */
44
+ private consumeStream;
45
+ }
46
+ //# sourceMappingURL=session-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../src/resources/session-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAER,YAAY,EAEf,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe;IAG5C,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAAC,YAAY,CAAC;IASlE,OAAO,CAAC,cAAc;IA8EtB;;;;;OAKG;YACW,aAAa;CA+B9B"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Session-events SSE resource.
3
+ *
4
+ * Subscribes to `/api/session/events?userAddress=<address>&chainId=<chainId>`
5
+ * and yields typed `session-active` / `session-expired` events as they arrive.
6
+ *
7
+ * Each event is additionally dispatched to the SDK event bus so application
8
+ * code can centralise listeners on `sdk.events.on("sessionActive", ...)` and
9
+ * `sdk.events.on("sessionExpired", ...)` without plumbing the iterator
10
+ * manually.
11
+ *
12
+ * The iterator auto-reconnects transparently on network errors using the
13
+ * retry policy configured on the HTTP client; callers cancel via the
14
+ * provided `AbortSignal`.
15
+ */
16
+ import { ComposeError } from "../errors.js";
17
+ import { parseSSEStream } from "../streaming/sse.js";
18
+ /**
19
+ * Drive a raw SSE subscription to `/api/session/events` and yield one event
20
+ * at a time. The generator terminates only when the caller aborts the signal
21
+ * or when a terminal `session-expired` event is emitted for the requested
22
+ * `(userAddress, chainId)` tuple (a terminal signal from the server side).
23
+ */
24
+ export class SessionEventsResource {
25
+ client;
26
+ events;
27
+ constructor(client, events) {
28
+ this.client = client;
29
+ this.events = events;
30
+ }
31
+ subscribe(opts) {
32
+ const self = this;
33
+ return {
34
+ [Symbol.asyncIterator]() {
35
+ return self.createIterator(opts);
36
+ },
37
+ };
38
+ }
39
+ createIterator(opts) {
40
+ const reconnectMaxDelayMs = Math.max(500, opts.reconnectMaxDelayMs ?? 10_000);
41
+ let closed = false;
42
+ let attempt = 0;
43
+ let pending = null;
44
+ // Cancellation is routed through `opts.signal` into `parseSSEStream`;
45
+ // we don't hold a reader handle here, so the iterator just flips the
46
+ // `closed` flag and lets the in-flight `asResponse()` / parseSSEStream
47
+ // receive the abort.
48
+ const abortHandler = () => { closed = true; };
49
+ opts.signal?.addEventListener("abort", abortHandler, { once: true });
50
+ const poll = async () => {
51
+ while (!closed) {
52
+ try {
53
+ const response = await this.client.request({
54
+ method: "GET",
55
+ path: "/api/session/events",
56
+ query: {
57
+ userAddress: opts.userAddress,
58
+ chainId: opts.chainId,
59
+ },
60
+ signal: opts.signal,
61
+ expectStream: true,
62
+ doNotRetry: true,
63
+ headers: {
64
+ extra: { Accept: "text/event-stream" },
65
+ },
66
+ }).asResponse();
67
+ if (!response.body) {
68
+ throw new ComposeError({
69
+ code: "upstream_error",
70
+ message: "session events stream had no body",
71
+ });
72
+ }
73
+ attempt = 0;
74
+ return await this.consumeStream(response.body, opts);
75
+ }
76
+ catch (err) {
77
+ if (closed)
78
+ break;
79
+ if (opts.signal?.aborted) {
80
+ closed = true;
81
+ break;
82
+ }
83
+ attempt += 1;
84
+ const delay = Math.min(500 * (2 ** (attempt - 1)), reconnectMaxDelayMs);
85
+ await new Promise((resolve) => setTimeout(resolve, delay));
86
+ if (closed || opts.signal?.aborted)
87
+ break;
88
+ // fall through and reconnect
89
+ }
90
+ }
91
+ opts.signal?.removeEventListener("abort", abortHandler);
92
+ return { done: true, value: undefined };
93
+ };
94
+ return {
95
+ next: async () => {
96
+ if (pending) {
97
+ const result = pending;
98
+ pending = null;
99
+ return result;
100
+ }
101
+ return poll();
102
+ },
103
+ return: async () => {
104
+ closed = true;
105
+ opts.signal?.removeEventListener("abort", abortHandler);
106
+ return { done: true, value: undefined };
107
+ },
108
+ throw: async (err) => {
109
+ closed = true;
110
+ opts.signal?.removeEventListener("abort", abortHandler);
111
+ throw err;
112
+ },
113
+ };
114
+ }
115
+ /**
116
+ * Read until a named event arrives, yield it, emit on the bus, and
117
+ * return. The outer iterator loops back to re-open the stream, preserving
118
+ * the read-one-then-reconnect cadence we want for cross-tab event
119
+ * semantics (no orphaned bytes when the consumer pauses).
120
+ */
121
+ async consumeStream(body, opts) {
122
+ const parser = parseSSEStream(body, { signal: opts.signal });
123
+ let nextResult = null;
124
+ try {
125
+ for await (const frame of parser) {
126
+ const parsed = parseSessionEventFrame(frame);
127
+ if (!parsed)
128
+ continue;
129
+ if (parsed.type === "session-active") {
130
+ this.events.emit("sessionActive", parsed);
131
+ }
132
+ else {
133
+ this.events.emit("sessionExpired", parsed);
134
+ }
135
+ if (nextResult === null) {
136
+ nextResult = { done: false, value: parsed };
137
+ return nextResult;
138
+ }
139
+ }
140
+ }
141
+ finally {
142
+ try {
143
+ body.cancel();
144
+ }
145
+ catch { /* best-effort */ }
146
+ }
147
+ // Stream ended without yielding (e.g. server closed). Signal upstream
148
+ // to reconnect rather than terminate.
149
+ throw new ComposeError({ code: "upstream_error", message: "session events stream closed without emitting a frame" });
150
+ }
151
+ }
152
+ function parseSessionEventFrame(frame) {
153
+ if (frame.event === "session-active") {
154
+ try {
155
+ const data = JSON.parse(frame.data);
156
+ return {
157
+ type: "session-active",
158
+ userAddress: String(data.userAddress ?? ""),
159
+ chainId: Number(data.chainId ?? 0),
160
+ expiresAt: typeof data.expiresAt === "number" ? data.expiresAt : undefined,
161
+ budgetLimit: coerceWeiString(data.budgetLimit),
162
+ budgetUsed: coerceWeiString(data.budgetUsed),
163
+ budgetLocked: coerceWeiString(data.budgetLocked),
164
+ budgetRemaining: coerceWeiString(data.budgetRemaining),
165
+ timestamp: typeof data.timestamp === "number" ? data.timestamp : undefined,
166
+ };
167
+ }
168
+ catch {
169
+ return null;
170
+ }
171
+ }
172
+ if (frame.event === "session-expired") {
173
+ try {
174
+ const data = JSON.parse(frame.data);
175
+ return {
176
+ type: "session-expired",
177
+ userAddress: String(data.userAddress ?? ""),
178
+ chainId: Number(data.chainId ?? 0),
179
+ reason: typeof data.reason === "string" ? data.reason : undefined,
180
+ message: typeof data.message === "string" ? data.message : undefined,
181
+ action: typeof data.action === "string" ? data.action : undefined,
182
+ expiresAt: typeof data.expiresAt === "number" ? data.expiresAt : undefined,
183
+ timestamp: typeof data.timestamp === "number" ? data.timestamp : undefined,
184
+ };
185
+ }
186
+ catch {
187
+ return null;
188
+ }
189
+ }
190
+ return null;
191
+ }
192
+ function coerceWeiString(value) {
193
+ if (typeof value === "string" && value.length > 0)
194
+ return value;
195
+ if (typeof value === "number" && Number.isFinite(value))
196
+ return String(value);
197
+ return undefined;
198
+ }
199
+ //# sourceMappingURL=session-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-events.js","sourceRoot":"","sources":["../../src/resources/session-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Compose workflow runtime stream resource.
3
+ *
4
+ * Subscribes to POST /workflow/:wallet/chat on the Compose runtime and yields
5
+ * typed `WorkflowRuntimeEvent` values. The workflow orchestrator emits its
6
+ * own vocabulary (`start`, `step`, `agent`, `progress`, `tool_start`,
7
+ * `tool_end`, `result`, `error`, `complete`, `done`) via named SSE events;
8
+ * each frame carries a JSON payload with an optional `message` field.
9
+ *
10
+ * Same normalisation contract as `AgentResource`:
11
+ * - Tool lifecycle fires on `sdk.events.toolCallStart` / `toolCallEnd`.
12
+ * - Workflow-level start/end fires on `workflowStreamStart` / `workflowStreamEnd`.
13
+ * - Budget / receipt / sessionInvalid come from response headers + streamed
14
+ * `compose.receipt` frames.
15
+ */
16
+ import type { FetchLike } from "../http.js";
17
+ import type { ComposeEventBus } from "../events.js";
18
+ import type { WorkflowRuntimeEvent, WorkflowStreamCreateParams, WorkflowStreamFinalResult } from "../types/index.js";
19
+ import { ComposeStreamIterator } from "./inference.js";
20
+ export interface WorkflowResourceContext {
21
+ runtimeBaseUrl: string;
22
+ fetch: FetchLike;
23
+ getWalletMaybe: () => {
24
+ address: string | null;
25
+ chainId: number | null;
26
+ };
27
+ getTokenMaybe: () => string | null;
28
+ events: ComposeEventBus;
29
+ userAgent: string;
30
+ }
31
+ export declare class WorkflowResource {
32
+ private readonly ctx;
33
+ constructor(ctx: WorkflowResourceContext);
34
+ stream(params: WorkflowStreamCreateParams, options?: {
35
+ signal?: AbortSignal;
36
+ timeoutMs?: number;
37
+ }): ComposeStreamIterator<WorkflowRuntimeEvent, WorkflowStreamFinalResult>;
38
+ /**
39
+ * Fire-and-forget stop signal for an in-flight workflow execution.
40
+ * Returns the raw Response so callers can inspect status.
41
+ */
42
+ stop(workflowWallet: string, threadId: string, options?: {
43
+ signal?: AbortSignal;
44
+ }): Promise<Response>;
45
+ }
46
+ export type { WorkflowStreamCreateParams, WorkflowStreamFinalResult, WorkflowRuntimeEvent };
47
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/resources/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAER,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACzE,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,gBAAgB;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,uBAAuB;IAEzD,MAAM,CACF,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3D,qBAAqB,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;IAIzE;;;OAGG;IACG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAkBlH;AAkRD,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,CAAC"}