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