@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,497 @@
1
+ /**
2
+ * Canonical Compose Market API types.
3
+ *
4
+ * These types are the public wire contract between the Compose backend
5
+ * (`api.compose.market`) and the SDK. They mirror the OpenAPI spec under
6
+ * api/openapi.yaml; if a mismatch is ever observed, the spec is authoritative
7
+ * and this file is the one that needs updating.
8
+ */
9
+ export type ComposeErrorCode = "validation_error" | "authentication_required" | "authentication_failed" | "forbidden" | "not_found" | "conflict" | "rate_limited" | "payment_required" | "insufficient_balance" | "insufficient_allowance" | "budget_exhausted" | "key_revoked" | "key_expired" | "key_not_found" | "chain_not_supported" | "model_not_found" | "model_ambiguous" | "provider_unavailable" | "upstream_timeout" | "upstream_error" | "internal_error" | "idempotency_conflict" | "idempotency_in_flight" | "settlement_failed" | "session_invalid" | "network_error" | "timeout";
10
+ export interface ComposeErrorEnvelope {
11
+ error: {
12
+ code: ComposeErrorCode;
13
+ message: string;
14
+ details?: Record<string, unknown>;
15
+ };
16
+ }
17
+ export interface PaymentRequirements {
18
+ scheme: string;
19
+ network: string;
20
+ amount: string;
21
+ asset: string;
22
+ payTo: string;
23
+ maxTimeoutSeconds: number;
24
+ extra?: Record<string, unknown> | null;
25
+ }
26
+ export interface PaymentRequired {
27
+ x402Version: 2;
28
+ error?: string;
29
+ resource: {
30
+ url: string;
31
+ description?: string;
32
+ mimeType?: string;
33
+ };
34
+ accepts: PaymentRequirements[];
35
+ extensions?: Record<string, unknown> | null;
36
+ }
37
+ export interface PaymentPayload {
38
+ x402Version: 2;
39
+ accepted: PaymentRequirements;
40
+ payload: unknown;
41
+ resource?: PaymentRequired["resource"];
42
+ extensions?: Record<string, unknown> | null;
43
+ }
44
+ export interface SettleResponse {
45
+ success: boolean;
46
+ errorReason?: string;
47
+ errorMessage?: string;
48
+ payer?: string;
49
+ transaction?: string;
50
+ network?: string;
51
+ amount?: string;
52
+ }
53
+ export interface VerifyResponse {
54
+ isValid: boolean;
55
+ invalidReason?: string;
56
+ invalidMessage?: string;
57
+ payer?: string;
58
+ }
59
+ export interface FacilitatorSupportedResponse {
60
+ kinds: Array<{
61
+ x402Version: number;
62
+ scheme: string;
63
+ network: string;
64
+ extra?: Record<string, unknown>;
65
+ }>;
66
+ extensions: string[];
67
+ signers?: Record<string, string[]>;
68
+ }
69
+ export interface FacilitatorChain {
70
+ chainId: number;
71
+ name: string;
72
+ network: `eip155:${number}`;
73
+ shortName?: string;
74
+ isTestnet: boolean;
75
+ explorer?: string;
76
+ usdcAddress: `0x${string}`;
77
+ schemes: readonly ("exact" | "upto")[];
78
+ asset: "USDC";
79
+ decimals: 6;
80
+ }
81
+ export interface FacilitatorChainsResponse {
82
+ chains: FacilitatorChain[];
83
+ defaultChainId: number;
84
+ }
85
+ export type ComposeKeyPurpose = "session" | "api";
86
+ export interface ComposeKeyCreateResponse {
87
+ keyId: string;
88
+ token: string;
89
+ purpose: ComposeKeyPurpose;
90
+ budgetLimit: string;
91
+ budgetUsed: string;
92
+ budgetRemaining: string;
93
+ createdAt: number;
94
+ expiresAt: number;
95
+ chainId: number;
96
+ name?: string;
97
+ }
98
+ export interface ComposeKeyRecord {
99
+ keyId: string;
100
+ purpose: ComposeKeyPurpose;
101
+ budgetLimit: number;
102
+ budgetUsed: number;
103
+ budgetReserved?: number;
104
+ budgetRemaining: number;
105
+ createdAt: number;
106
+ expiresAt: number;
107
+ revokedAt?: number;
108
+ lastUsedAt?: number;
109
+ name?: string;
110
+ chainId?: number;
111
+ }
112
+ export interface ActiveSessionMetadata {
113
+ hasSession: boolean;
114
+ reason?: string;
115
+ keyId?: string;
116
+ budgetLimit?: string;
117
+ budgetUsed?: string;
118
+ budgetLocked?: string;
119
+ budgetRemaining?: string;
120
+ expiresAt?: number;
121
+ chainId?: number;
122
+ name?: string;
123
+ status?: {
124
+ isActive: boolean;
125
+ isExpired: boolean;
126
+ expiresInSeconds: number;
127
+ budgetPercentRemaining: number;
128
+ warnings: {
129
+ budgetDepleted: boolean;
130
+ budgetLow: boolean;
131
+ expiringSoon: boolean;
132
+ expired: boolean;
133
+ };
134
+ };
135
+ }
136
+ export interface ComposeReceiptLineItem {
137
+ key: string;
138
+ unit: string;
139
+ quantity: number;
140
+ unitPriceUsd: number;
141
+ amountWei: string;
142
+ }
143
+ export interface ComposeReceipt {
144
+ subject?: string;
145
+ lineItems?: ComposeReceiptLineItem[];
146
+ providerAmountWei?: string;
147
+ platformFeeWei?: string;
148
+ finalAmountWei: string;
149
+ txHash?: string;
150
+ network: `eip155:${number}`;
151
+ settledAt: number;
152
+ }
153
+ export type ModelProvider = "gemini" | "openai" | "fireworks" | "asicloud" | "hugging face" | "aiml" | "vertex" | "cloudflare" | "deepgram" | "elevenlabs" | "cartesia" | "roboflow";
154
+ /**
155
+ * Canonical Compose model card. This is exactly what `/v1/models`,
156
+ * `/v1/models/all`, `/v1/models/search`, and `/v1/models/:id` return — one
157
+ * entry per row, no wrapper, no translation layer.
158
+ */
159
+ export interface Model {
160
+ modelId: string;
161
+ name: string | null;
162
+ provider: ModelProvider;
163
+ type: string | string[] | null;
164
+ description: string | null;
165
+ input: unknown;
166
+ output: unknown;
167
+ contextWindow: unknown;
168
+ pricing: unknown;
169
+ maxOutputTokens?: number;
170
+ capabilities?: string[];
171
+ ownedBy?: string;
172
+ createdAt?: string | number;
173
+ available?: boolean;
174
+ availableFrom?: string[];
175
+ hfInferenceProvider?: string;
176
+ hfProviderId?: string;
177
+ }
178
+ export interface ModelListResponse {
179
+ object: "list";
180
+ data: Model[];
181
+ }
182
+ export interface ModelSearchInput {
183
+ q?: string;
184
+ modality?: "text" | "image" | "audio" | "video" | "embedding";
185
+ provider?: ModelProvider;
186
+ priceMaxPerMTok?: number;
187
+ contextWindowMin?: number;
188
+ streaming?: boolean;
189
+ cursor?: string | null;
190
+ limit?: number;
191
+ }
192
+ export interface ModelSearchResponse {
193
+ object: "list";
194
+ data: Model[];
195
+ total: number;
196
+ next_cursor: string | null;
197
+ }
198
+ export interface ModelParamDefinition {
199
+ type: "string" | "integer" | "number" | "boolean" | "array";
200
+ required: boolean;
201
+ default?: string | number | boolean;
202
+ options?: Array<string | number>;
203
+ description?: string;
204
+ }
205
+ export interface ModelParamsResponse {
206
+ modelId: string;
207
+ type: "video" | "image" | null;
208
+ provider: string | null;
209
+ params: Record<string, ModelParamDefinition>;
210
+ defaults: Record<string, unknown>;
211
+ }
212
+ export type ChatRole = "system" | "user" | "assistant" | "tool";
213
+ export interface ChatMessageTextPart {
214
+ type: "text";
215
+ text: string;
216
+ }
217
+ export interface ChatMessageImagePart {
218
+ type: "image_url";
219
+ image_url: {
220
+ url: string;
221
+ detail?: "auto" | "low" | "high";
222
+ } | string;
223
+ }
224
+ export interface ChatMessageAudioPart {
225
+ type: "input_audio";
226
+ input_audio: {
227
+ url: string;
228
+ } | string;
229
+ }
230
+ export interface ChatMessageVideoPart {
231
+ type: "video_url";
232
+ video_url: {
233
+ url: string;
234
+ } | string;
235
+ }
236
+ export type ChatMessageContentPart = ChatMessageTextPart | ChatMessageImagePart | ChatMessageAudioPart | ChatMessageVideoPart;
237
+ export interface ChatMessage {
238
+ role: ChatRole;
239
+ content: string | ChatMessageContentPart[] | null;
240
+ name?: string;
241
+ tool_call_id?: string;
242
+ tool_calls?: Array<{
243
+ id: string;
244
+ type: "function";
245
+ function: {
246
+ name: string;
247
+ arguments: string;
248
+ };
249
+ }>;
250
+ }
251
+ export interface ChatToolDefinition {
252
+ type: "function";
253
+ function: {
254
+ name: string;
255
+ description?: string;
256
+ parameters?: Record<string, unknown>;
257
+ };
258
+ }
259
+ export type ChatToolChoice = "none" | "auto" | "required" | {
260
+ type: "function";
261
+ function: {
262
+ name: string;
263
+ };
264
+ };
265
+ export interface ChatCompletionsCreateParams {
266
+ model: string;
267
+ messages: ChatMessage[];
268
+ stream?: boolean;
269
+ temperature?: number;
270
+ max_tokens?: number;
271
+ tools?: ChatToolDefinition[];
272
+ tool_choice?: ChatToolChoice;
273
+ provider?: ModelProvider;
274
+ [key: string]: unknown;
275
+ }
276
+ export interface ChatUsage {
277
+ prompt_tokens: number;
278
+ completion_tokens: number;
279
+ total_tokens: number;
280
+ reasoning_tokens?: number;
281
+ cached_input_tokens?: number;
282
+ }
283
+ export interface ChatCompletion {
284
+ id: string;
285
+ object: "chat.completion";
286
+ created: number;
287
+ model: string;
288
+ choices: Array<{
289
+ index: number;
290
+ message: {
291
+ role: "assistant";
292
+ content: string | null;
293
+ tool_calls?: Array<{
294
+ id: string;
295
+ type: "function";
296
+ function: {
297
+ name: string;
298
+ arguments: string;
299
+ };
300
+ }>;
301
+ };
302
+ finish_reason: string;
303
+ }>;
304
+ usage: ChatUsage;
305
+ compose_receipt?: Record<string, unknown>;
306
+ }
307
+ export interface ChatCompletionChunk {
308
+ id: string;
309
+ object: "chat.completion.chunk";
310
+ created: number;
311
+ model: string;
312
+ choices: Array<{
313
+ index: number;
314
+ delta: {
315
+ role?: "assistant";
316
+ content?: string;
317
+ reasoning_content?: string;
318
+ tool_calls?: Array<{
319
+ index: number;
320
+ id?: string;
321
+ type?: "function";
322
+ function?: {
323
+ name?: string;
324
+ arguments?: string;
325
+ };
326
+ }>;
327
+ };
328
+ finish_reason: string | null;
329
+ }>;
330
+ usage?: ChatUsage;
331
+ }
332
+ export interface ResponsesCreateParams {
333
+ model: string;
334
+ input: unknown;
335
+ modalities?: Array<"text" | "image" | "audio" | "video">;
336
+ stream?: boolean;
337
+ instructions?: string;
338
+ previous_response_id?: string;
339
+ provider?: ModelProvider;
340
+ [key: string]: unknown;
341
+ }
342
+ export interface ResponseObject {
343
+ id: string;
344
+ object: "response";
345
+ created_at: number;
346
+ status: "completed" | "in_progress" | "failed" | "cancelled";
347
+ model: string;
348
+ output: Array<Record<string, unknown>>;
349
+ usage?: {
350
+ input_tokens: number;
351
+ output_tokens: number;
352
+ total_tokens: number;
353
+ };
354
+ error?: {
355
+ message: string;
356
+ type?: string;
357
+ code?: string;
358
+ };
359
+ previous_response_id?: string;
360
+ job_id?: string;
361
+ compose_receipt?: Record<string, unknown>;
362
+ }
363
+ export type ResponseStreamEvent = {
364
+ type: "response.output_text.delta";
365
+ response_id: string;
366
+ model: string;
367
+ delta: string;
368
+ } | {
369
+ type: "response.reasoning.delta";
370
+ response_id: string;
371
+ model: string;
372
+ delta: string;
373
+ } | {
374
+ type: "response.tool_call";
375
+ response_id: string;
376
+ model: string;
377
+ tool_call: {
378
+ id: string;
379
+ name: string;
380
+ arguments: string;
381
+ };
382
+ } | {
383
+ type: "response.tool_call.delta";
384
+ response_id: string;
385
+ model: string;
386
+ index: number;
387
+ delta: {
388
+ id?: string;
389
+ name?: string;
390
+ arguments?: string;
391
+ };
392
+ } | {
393
+ type: "response.completed";
394
+ response_id: string;
395
+ model: string;
396
+ finish_reason: string;
397
+ usage?: {
398
+ input_tokens: number;
399
+ output_tokens: number;
400
+ total_tokens: number;
401
+ };
402
+ };
403
+ export interface EmbeddingsCreateParams {
404
+ model: string;
405
+ input: string | string[];
406
+ dimensions?: number;
407
+ provider?: ModelProvider;
408
+ [key: string]: unknown;
409
+ }
410
+ export interface EmbeddingsResponse {
411
+ object: "list";
412
+ data: Array<{
413
+ object: "embedding";
414
+ embedding: number[];
415
+ index: number;
416
+ }>;
417
+ model: string;
418
+ usage: {
419
+ prompt_tokens: number;
420
+ total_tokens: number;
421
+ };
422
+ compose_receipt?: Record<string, unknown>;
423
+ }
424
+ export interface ImagesGenerateParams {
425
+ model: string;
426
+ prompt: string;
427
+ n?: number;
428
+ size?: string;
429
+ quality?: string;
430
+ provider?: ModelProvider;
431
+ [key: string]: unknown;
432
+ }
433
+ export interface ImagesResponse {
434
+ created: number;
435
+ data: Array<{
436
+ url?: string;
437
+ b64_json?: string;
438
+ revised_prompt?: string;
439
+ }>;
440
+ compose_receipt?: Record<string, unknown>;
441
+ }
442
+ export interface AudioSpeechCreateParams {
443
+ model: string;
444
+ input: string;
445
+ voice?: string;
446
+ response_format?: string;
447
+ speed?: number;
448
+ provider?: ModelProvider;
449
+ [key: string]: unknown;
450
+ }
451
+ export interface AudioTranscriptionCreateParams {
452
+ model: string;
453
+ file: string | Blob | File | Uint8Array;
454
+ filename?: string;
455
+ language?: string;
456
+ response_format?: string;
457
+ provider?: ModelProvider;
458
+ [key: string]: unknown;
459
+ }
460
+ export interface AudioTranscriptionResponse {
461
+ text: string;
462
+ compose_receipt?: Record<string, unknown>;
463
+ }
464
+ export interface VideoGenerateParams {
465
+ model: string;
466
+ prompt?: string;
467
+ duration?: number;
468
+ aspect_ratio?: string;
469
+ resolution?: string;
470
+ image_url?: string;
471
+ provider?: ModelProvider;
472
+ [key: string]: unknown;
473
+ }
474
+ export interface VideoJobStatus {
475
+ id: string;
476
+ object: "video.generation";
477
+ status: "queued" | "processing" | "completed" | "failed";
478
+ url?: string;
479
+ error?: string;
480
+ progress?: number;
481
+ }
482
+ export type VideoStatusStreamEvent = {
483
+ type: "compose.video.status";
484
+ jobId: string;
485
+ status: "queued" | "processing" | "completed" | "failed";
486
+ progress?: number;
487
+ url?: string;
488
+ error?: string;
489
+ } | {
490
+ type: "compose.error";
491
+ code: string;
492
+ message: string;
493
+ details?: Record<string, unknown>;
494
+ } | {
495
+ type: "done";
496
+ };
497
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Canonical Compose Market API types.
3
+ *
4
+ * These types are the public wire contract between the Compose backend
5
+ * (`api.compose.market`) and the SDK. They mirror the OpenAPI spec under
6
+ * api/openapi.yaml; if a mismatch is ever observed, the spec is authoritative
7
+ * and this file is the one that needs updating.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
package/package.json CHANGED
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "name": "@compose-market/sdk",
3
- "version": "0.1.0",
4
- "description": "Official Compose.Market SDK for Compose keys, x402 facilitator access, model discovery, and inference APIs.",
3
+ "version": "0.2.0",
4
+ "description": "Official Compose.Market SDK: Compose Keys, x402 facilitator, 45k+ model catalog, OpenAI-shaped streaming inference with typed receipts.",
5
5
  "keywords": [
6
+ "compose",
7
+ "compose-market",
6
8
  "x402",
9
+ "x402-v2",
7
10
  "facilitator",
8
- "a2a",
11
+ "inference",
12
+ "openai-compatible",
9
13
  "agentic-economy",
10
- "decentralized-inference"
14
+ "decentralized-inference",
15
+ "a2a"
11
16
  ],
12
17
  "homepage": "https://github.com/compose-market/sdk#readme",
13
18
  "bugs": {
@@ -18,109 +23,45 @@
18
23
  "url": "git+https://github.com/compose-market/sdk.git"
19
24
  },
20
25
  "license": "MIT",
21
- "author": "jabyl",
26
+ "author": "Compose.Market",
22
27
  "type": "module",
23
28
  "exports": {
24
29
  ".": {
25
- "types": "./index.d.ts",
26
- "import": "./index.js",
27
- "default": "./index.js"
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js",
32
+ "default": "./dist/index.js"
28
33
  }
29
34
  },
30
- "main": "./index.js",
31
- "types": "./index.d.ts",
35
+ "main": "./dist/index.js",
36
+ "types": "./dist/index.d.ts",
37
+ "module": "./dist/index.js",
32
38
  "directories": {
33
39
  "test": "tests"
34
40
  },
35
41
  "files": [
36
- "index.js",
37
- "index.d.ts"
42
+ "dist",
43
+ "README.md",
44
+ "LICENSE",
45
+ "CHANGELOG.md"
38
46
  ],
47
+ "sideEffects": false,
48
+ "engines": {
49
+ "node": ">=20.6"
50
+ },
39
51
  "scripts": {
40
- "clean": "rm -f index.js index.d.ts",
52
+ "clean": "rm -rf dist",
41
53
  "build": "npm run clean && tsc -p tsconfig.json",
42
- "test": "npm run build && node --import tsx --test tests/**/*.test.ts",
43
- "typecheck": "tsc --noEmit -p tsconfig.json"
44
- },
45
- "dependencies": {
46
- "accepts": "^2.0.0",
47
- "body-parser": "^2.2.2",
48
- "bytes": "^3.1.2",
49
- "call-bind-apply-helpers": "^1.0.2",
50
- "call-bound": "^1.0.4",
51
- "content-disposition": "^1.1.0",
52
- "content-type": "^1.0.5",
53
- "cookie": "^0.7.2",
54
- "cookie-signature": "^1.2.2",
55
- "debug": "^4.4.3",
56
- "depd": "^2.0.0",
57
- "dunder-proto": "^1.0.1",
58
- "ee-first": "^1.1.1",
59
- "encodeurl": "^2.0.0",
60
- "es-define-property": "^1.0.1",
61
- "es-errors": "^1.3.0",
62
- "es-object-atoms": "^1.1.1",
63
- "esbuild": "^0.27.7",
64
- "escape-html": "^1.0.3",
65
- "etag": "^1.8.1",
66
- "finalhandler": "^2.1.1",
67
- "forwarded": "^0.2.0",
68
- "fresh": "^2.0.0",
69
- "function-bind": "^1.1.2",
70
- "get-intrinsic": "^1.3.0",
71
- "get-proto": "^1.0.1",
72
- "get-tsconfig": "^4.14.0",
73
- "gopd": "^1.2.0",
74
- "has-symbols": "^1.1.0",
75
- "hasown": "^2.0.3",
76
- "http-errors": "^2.0.1",
77
- "iconv-lite": "^0.7.2",
78
- "inherits": "^2.0.4",
79
- "ipaddr.js": "^1.9.1",
80
- "is-promise": "^4.0.0",
81
- "math-intrinsics": "^1.1.0",
82
- "media-typer": "^1.1.0",
83
- "merge-descriptors": "^2.0.0",
84
- "mime-db": "^1.54.0",
85
- "mime-types": "^3.0.2",
86
- "ms": "^2.1.3",
87
- "negotiator": "^1.0.0",
88
- "object-inspect": "^1.13.4",
89
- "on-finished": "^2.4.1",
90
- "once": "^1.4.0",
91
- "parseurl": "^1.3.3",
92
- "path-to-regexp": "^8.4.2",
93
- "proxy-addr": "^2.0.7",
94
- "qs": "^6.15.1",
95
- "range-parser": "^1.2.1",
96
- "raw-body": "^3.0.2",
97
- "resolve-pkg-maps": "^1.0.0",
98
- "router": "^2.2.0",
99
- "safer-buffer": "^2.1.2",
100
- "send": "^1.2.1",
101
- "serve-static": "^2.2.1",
102
- "setprototypeof": "^1.2.0",
103
- "side-channel": "^1.1.0",
104
- "side-channel-list": "^1.0.1",
105
- "side-channel-map": "^1.0.1",
106
- "side-channel-weakmap": "^1.0.2",
107
- "statuses": "^2.0.2",
108
- "toidentifier": "^1.0.1",
109
- "type-is": "^2.0.1",
110
- "undici-types": "^7.19.2",
111
- "unpipe": "^1.0.0",
112
- "vary": "^1.1.2",
113
- "wrappy": "^1.0.2"
54
+ "test": "node --import tsx --test tests/sdk.unit.test.ts tests/sdk.streaming.test.ts tests/sdk.contract.test.ts",
55
+ "test:build": "npm run build && npm test",
56
+ "typecheck": "tsc --noEmit -p tsconfig.json",
57
+ "prepublishOnly": "npm run test:build"
114
58
  },
115
59
  "devDependencies": {
116
- "@types/express": "^5.0.6",
117
60
  "@types/node": "^25.6.0",
118
- "express": "^5.2.1",
119
61
  "tsx": "^4.21.0",
120
62
  "typescript": "^6.0.3"
121
63
  },
122
64
  "publishConfig": {
123
65
  "access": "public"
124
- },
125
- "module": "./index.js"
66
+ }
126
67
  }