@compose-market/sdk 0.1.0 → 0.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 (50) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +21 -0
  3. package/README.md +186 -0
  4. package/dist/errors.d.ts +145 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +152 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/http.d.ts +98 -0
  9. package/dist/http.d.ts.map +1 -0
  10. package/dist/http.js +350 -0
  11. package/dist/http.js.map +1 -0
  12. package/dist/index.d.ts +104 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +137 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/resources/inference.d.ts +161 -0
  17. package/dist/resources/inference.d.ts.map +1 -0
  18. package/dist/resources/inference.js +710 -0
  19. package/dist/resources/inference.js.map +1 -0
  20. package/dist/resources/keys.d.ts +50 -0
  21. package/dist/resources/keys.d.ts.map +1 -0
  22. package/dist/resources/keys.js +154 -0
  23. package/dist/resources/keys.js.map +1 -0
  24. package/dist/resources/models.d.ts +26 -0
  25. package/dist/resources/models.d.ts.map +1 -0
  26. package/dist/resources/models.js +52 -0
  27. package/dist/resources/models.js.map +1 -0
  28. package/dist/resources/webhooks.d.ts +27 -0
  29. package/dist/resources/webhooks.d.ts.map +1 -0
  30. package/dist/resources/webhooks.js +78 -0
  31. package/dist/resources/webhooks.js.map +1 -0
  32. package/dist/resources/x402.d.ts +37 -0
  33. package/dist/resources/x402.d.ts.map +1 -0
  34. package/dist/resources/x402.js +72 -0
  35. package/dist/resources/x402.js.map +1 -0
  36. package/dist/streaming/receipt.d.ts +25 -0
  37. package/dist/streaming/receipt.d.ts.map +1 -0
  38. package/dist/streaming/receipt.js +92 -0
  39. package/dist/streaming/receipt.js.map +1 -0
  40. package/dist/streaming/sse.d.ts +29 -0
  41. package/dist/streaming/sse.d.ts.map +1 -0
  42. package/dist/streaming/sse.js +125 -0
  43. package/dist/streaming/sse.js.map +1 -0
  44. package/dist/types/index.d.ts +497 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/types/index.js +10 -0
  47. package/dist/types/index.js.map +1 -0
  48. package/package.json +30 -89
  49. package/index.d.ts +0 -244
  50. package/index.js +0 -397
@@ -0,0 +1,161 @@
1
+ import type { HttpClient } from "../http.js";
2
+ import type { AudioSpeechCreateParams, AudioTranscriptionCreateParams, AudioTranscriptionResponse, ChatCompletion, ChatCompletionChunk, ChatCompletionsCreateParams, ComposeReceipt, EmbeddingsCreateParams, EmbeddingsResponse, ImagesGenerateParams, ImagesResponse, ResponseObject, ResponseStreamEvent, ResponsesCreateParams, VideoGenerateParams, VideoJobStatus, VideoStatusStreamEvent } from "../types/index.js";
3
+ export interface ComposeCallOptions {
4
+ signal?: AbortSignal;
5
+ timeoutMs?: number;
6
+ idempotencyKey?: string;
7
+ composeRunId?: string;
8
+ x402MaxAmountWei?: string;
9
+ paymentSignature?: string;
10
+ /** Override the Compose Key for this call. Passing `null` forces the raw x402 path. */
11
+ composeKey?: string | null;
12
+ /** Override the end-user wallet address for this call. */
13
+ walletAddress?: string;
14
+ /** Override the chain id for this call. */
15
+ chainId?: number;
16
+ }
17
+ export interface ComposeCompletion<T> {
18
+ /** The parsed JSON body for the completed call. */
19
+ data: T;
20
+ /** Settlement receipt, if the call was billable and settled successfully. */
21
+ receipt: ComposeReceipt | null;
22
+ /** The request id the server assigned (or echoed) for this call. */
23
+ requestId: string | null;
24
+ /** The raw Response — useful to inspect non-standard headers. */
25
+ response: Response;
26
+ }
27
+ export interface ChatCompletionFinalResult {
28
+ chatCompletion: ChatCompletion;
29
+ receipt: ComposeReceipt | null;
30
+ requestId: string | null;
31
+ }
32
+ export interface ResponsesStreamFinalResult {
33
+ response: ResponseObject | null;
34
+ receipt: ComposeReceipt | null;
35
+ requestId: string | null;
36
+ }
37
+ interface InferenceContext {
38
+ getWalletMaybe(): {
39
+ address: string | null;
40
+ chainId: number | null;
41
+ };
42
+ getTokenMaybe(): string | null;
43
+ }
44
+ /**
45
+ * Async iterable returned by `inference.chat.completions.stream(...)` and
46
+ * `inference.responses.stream(...)`. Exposes `.final()` for consumers that
47
+ * want the reassembled final object + receipt without iterating manually.
48
+ *
49
+ * `for await (const chunk of stream) { ... }` consumes chunks; the generator's
50
+ * return value is captured internally so a subsequent `await stream.final()`
51
+ * resolves to the typed final object even when the caller drove iteration.
52
+ */
53
+ export declare class ComposeStreamIterator<Chunk, Final> implements AsyncIterable<Chunk> {
54
+ private readonly iterator;
55
+ private finalResult;
56
+ private finalSettled;
57
+ private finalPromise;
58
+ constructor(iterator: AsyncGenerator<Chunk, Final, void>);
59
+ [Symbol.asyncIterator](): AsyncIterator<Chunk, void, void>;
60
+ final(): Promise<Final>;
61
+ }
62
+ declare class ChatCompletionsNamespace {
63
+ private readonly client;
64
+ private readonly ctx;
65
+ constructor(client: HttpClient, ctx: InferenceContext);
66
+ create(params: ChatCompletionsCreateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<ChatCompletion>>;
67
+ stream(params: ChatCompletionsCreateParams, options?: ComposeCallOptions): ComposeStreamIterator<ChatCompletionChunk, ChatCompletionFinalResult>;
68
+ }
69
+ declare class ResponsesNamespace {
70
+ private readonly client;
71
+ private readonly ctx;
72
+ constructor(client: HttpClient, ctx: InferenceContext);
73
+ create(params: ResponsesCreateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<ResponseObject>>;
74
+ stream(params: ResponsesCreateParams, options?: ComposeCallOptions): ComposeStreamIterator<ResponseStreamEvent, ResponsesStreamFinalResult>;
75
+ get(responseId: string, options?: ComposeCallOptions): Promise<ResponseObject>;
76
+ inputItems(responseId: string, options?: ComposeCallOptions): Promise<{
77
+ object: "list";
78
+ data: Record<string, unknown>[];
79
+ }>;
80
+ cancel(responseId: string, options?: ComposeCallOptions): Promise<ResponseObject>;
81
+ }
82
+ declare class EmbeddingsNamespace {
83
+ private readonly client;
84
+ private readonly ctx;
85
+ constructor(client: HttpClient, ctx: InferenceContext);
86
+ create(params: EmbeddingsCreateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<EmbeddingsResponse>>;
87
+ }
88
+ declare class ImagesNamespace {
89
+ private readonly client;
90
+ private readonly ctx;
91
+ constructor(client: HttpClient, ctx: InferenceContext);
92
+ generate(params: ImagesGenerateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<ImagesResponse>>;
93
+ edit(params: ImagesGenerateParams & {
94
+ image?: string;
95
+ }, options?: ComposeCallOptions): Promise<ComposeCompletion<ImagesResponse>>;
96
+ }
97
+ declare class AudioNamespace {
98
+ private readonly client;
99
+ private readonly ctx;
100
+ constructor(client: HttpClient, ctx: InferenceContext);
101
+ /**
102
+ * Text-to-speech. Returns the raw audio `Response` (stream the body via
103
+ * `response.body` or `await response.arrayBuffer()`), plus any receipt
104
+ * extracted from response headers.
105
+ */
106
+ speech(params: AudioSpeechCreateParams, options?: ComposeCallOptions): Promise<{
107
+ response: Response;
108
+ receipt: ComposeReceipt | null;
109
+ requestId: string | null;
110
+ }>;
111
+ /**
112
+ * Speech-to-text. Supports both multipart/form-data (preferred, OpenAI-
113
+ * compatible) when `file` is a `Blob`/`File`/`Uint8Array`, and base64-in-
114
+ * JSON (Compose legacy) when `file` is a string.
115
+ */
116
+ transcriptions(params: AudioTranscriptionCreateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<AudioTranscriptionResponse>>;
117
+ }
118
+ declare class VideosNamespace {
119
+ private readonly client;
120
+ private readonly ctx;
121
+ constructor(client: HttpClient, ctx: InferenceContext);
122
+ generate(params: VideoGenerateParams, options?: ComposeCallOptions): Promise<ComposeCompletion<{
123
+ job_id?: string;
124
+ id?: string;
125
+ } & Record<string, unknown>>>;
126
+ get(videoId: string, options?: ComposeCallOptions): Promise<VideoJobStatus>;
127
+ /**
128
+ * Server-driven polling via SSE. Subscribes to `/v1/videos/:id/stream`
129
+ * and yields each status update as it arrives, terminating on the
130
+ * `completed` or `failed` state.
131
+ */
132
+ stream(videoId: string, opts?: ComposeCallOptions & {
133
+ pollIntervalMs?: number;
134
+ timeoutMs?: number;
135
+ }): ComposeStreamIterator<VideoStatusStreamEvent, {
136
+ final: VideoJobStatus | null;
137
+ requestId: string | null;
138
+ }>;
139
+ /**
140
+ * Convenience helper: resolves once the video job hits a terminal state,
141
+ * driven by the server-side SSE poller. Aborts after `timeoutMs` elapses.
142
+ */
143
+ waitUntilDone(videoId: string, opts?: ComposeCallOptions & {
144
+ pollIntervalMs?: number;
145
+ timeoutMs?: number;
146
+ onStatus?: (status: VideoStatusStreamEvent) => void;
147
+ }): Promise<VideoJobStatus | null>;
148
+ }
149
+ export declare class InferenceResource {
150
+ readonly chat: {
151
+ completions: ChatCompletionsNamespace;
152
+ };
153
+ readonly responses: ResponsesNamespace;
154
+ readonly embeddings: EmbeddingsNamespace;
155
+ readonly images: ImagesNamespace;
156
+ readonly audio: AudioNamespace;
157
+ readonly videos: VideosNamespace;
158
+ constructor(client: HttpClient, ctx: InferenceContext);
159
+ }
160
+ export {};
161
+ //# sourceMappingURL=inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/resources/inference.ts"],"names":[],"mappings":"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"}