@compresr/sdk 1.2.0 → 1.2.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.
- package/dist/cjs/clients/compression.d.ts +47 -30
- package/dist/cjs/clients/compression.d.ts.map +1 -1
- package/dist/cjs/clients/compression.js +90 -76
- package/dist/cjs/clients/compression.js.map +1 -1
- package/dist/cjs/config/constants.d.ts +0 -6
- package/dist/cjs/config/constants.d.ts.map +1 -1
- package/dist/cjs/config/constants.js +0 -6
- package/dist/cjs/config/constants.js.map +1 -1
- package/dist/cjs/config/endpoints.d.ts +1 -0
- package/dist/cjs/config/endpoints.d.ts.map +1 -1
- package/dist/cjs/config/endpoints.js +1 -0
- package/dist/cjs/config/endpoints.js.map +1 -1
- package/dist/cjs/http/client.d.ts.map +1 -1
- package/dist/cjs/http/client.js +5 -4
- package/dist/cjs/http/client.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/schemas/compression.d.ts +63 -21
- package/dist/cjs/schemas/compression.d.ts.map +1 -1
- package/dist/cjs/schemas/compression.js +22 -9
- package/dist/cjs/schemas/compression.js.map +1 -1
- package/dist/cjs/schemas/index.d.ts +1 -1
- package/dist/cjs/schemas/index.d.ts.map +1 -1
- package/dist/cjs/schemas/index.js +3 -1
- package/dist/cjs/schemas/index.js.map +1 -1
- package/dist/cjs/version.d.ts +6 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +9 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/clients/compression.d.ts +47 -30
- package/dist/esm/clients/compression.d.ts.map +1 -1
- package/dist/esm/clients/compression.js +92 -78
- package/dist/esm/clients/compression.js.map +1 -1
- package/dist/esm/config/constants.d.ts +0 -6
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/constants.js +0 -6
- package/dist/esm/config/constants.js.map +1 -1
- package/dist/esm/config/endpoints.d.ts +1 -0
- package/dist/esm/config/endpoints.d.ts.map +1 -1
- package/dist/esm/config/endpoints.js +1 -0
- package/dist/esm/config/endpoints.js.map +1 -1
- package/dist/esm/http/client.d.ts.map +1 -1
- package/dist/esm/http/client.js +3 -2
- package/dist/esm/http/client.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schemas/compression.d.ts +63 -21
- package/dist/esm/schemas/compression.d.ts.map +1 -1
- package/dist/esm/schemas/compression.js +21 -8
- package/dist/esm/schemas/compression.js.map +1 -1
- package/dist/esm/schemas/index.d.ts +1 -1
- package/dist/esm/schemas/index.d.ts.map +1 -1
- package/dist/esm/schemas/index.js +1 -1
- package/dist/esm/schemas/index.js.map +1 -1
- package/dist/esm/version.d.ts +6 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +6 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -4,8 +4,8 @@ import { type CompressResponse, type CompressBatchResponse, type StreamChunk } f
|
|
|
4
4
|
* Options for single compression
|
|
5
5
|
*/
|
|
6
6
|
export interface CompressOptions {
|
|
7
|
-
/** Context to compress
|
|
8
|
-
context: string
|
|
7
|
+
/** Context to compress (single string) */
|
|
8
|
+
context: string;
|
|
9
9
|
/** Compression model (default: espresso_v1) */
|
|
10
10
|
compressionModelName?: string;
|
|
11
11
|
/** Query for query-specific models (required for latte_v1) */
|
|
@@ -16,22 +16,32 @@ export interface CompressOptions {
|
|
|
16
16
|
* - >1: Nx factor (e.g., 4 = 4x compression = keep 25%)
|
|
17
17
|
*/
|
|
18
18
|
targetCompressionRatio?: number;
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Paragraph-level compression (only for query-specific with latte_v1).
|
|
21
|
+
* - true: faster, coarser compression (default for latte_v1)
|
|
22
|
+
* - false: slower, token-level compression
|
|
23
|
+
* Ignored for agnostic compression (no query).
|
|
24
|
+
*/
|
|
20
25
|
coarse?: boolean;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
23
28
|
* Options for batch compression
|
|
29
|
+
* - If queries is undefined: uses agnostic endpoint (no queries required)
|
|
30
|
+
* - If queries is provided: uses query-specific endpoint
|
|
24
31
|
*/
|
|
25
32
|
export interface CompressBatchOptions {
|
|
26
33
|
/** List of contexts to compress (1-100 items) */
|
|
27
34
|
contexts: string[];
|
|
28
|
-
/** Single query for all contexts, or one query per context */
|
|
29
|
-
queries
|
|
30
|
-
/** Compression model (default:
|
|
35
|
+
/** Single query for all contexts, or one query per context. Omit for agnostic batch. */
|
|
36
|
+
queries?: string | string[];
|
|
37
|
+
/** Compression model (default: espresso_v1) */
|
|
31
38
|
compressionModelName?: string;
|
|
32
39
|
/** Target compression ratio */
|
|
33
40
|
targetCompressionRatio?: number;
|
|
34
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Paragraph-level compression (only for query-specific batch).
|
|
43
|
+
* Ignored for agnostic batch (queries undefined).
|
|
44
|
+
*/
|
|
35
45
|
coarse?: boolean;
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
@@ -43,49 +53,49 @@ export interface CompressBatchOptions {
|
|
|
43
53
|
*
|
|
44
54
|
* const client = new CompressionClient({ apiKey: 'cmp_...' });
|
|
45
55
|
*
|
|
46
|
-
* //
|
|
56
|
+
* // Single agnostic compression
|
|
47
57
|
* const result = await client.compress({
|
|
48
58
|
* context: 'Your long context...',
|
|
49
59
|
* });
|
|
50
60
|
*
|
|
51
|
-
* //
|
|
61
|
+
* // Single query-specific compression
|
|
52
62
|
* const result = await client.compress({
|
|
53
63
|
* context: 'Your long context...',
|
|
54
64
|
* query: 'What is the main conclusion?',
|
|
55
65
|
* compressionModelName: 'latte_v1',
|
|
56
66
|
* });
|
|
67
|
+
*
|
|
68
|
+
* // Batch agnostic compression
|
|
69
|
+
* const result = await client.compressBatch({
|
|
70
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* // Batch query-specific compression
|
|
74
|
+
* const result = await client.compressBatch({
|
|
75
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
76
|
+
* queries: 'What are the key points?',
|
|
77
|
+
* compressionModelName: 'latte_v1',
|
|
78
|
+
* });
|
|
57
79
|
* ```
|
|
58
80
|
*/
|
|
59
81
|
export declare class CompressionClient {
|
|
60
82
|
private readonly http;
|
|
61
83
|
constructor(options: HttpClientOptions);
|
|
62
|
-
/**
|
|
63
|
-
* Validate that the model is allowed
|
|
64
|
-
*/
|
|
65
|
-
private validateModel;
|
|
66
|
-
/**
|
|
67
|
-
* Validate query parameter against model requirements
|
|
68
|
-
*/
|
|
69
|
-
private validateQueryForModel;
|
|
70
|
-
/**
|
|
71
|
-
* Resolve endpoints based on model name
|
|
72
|
-
*/
|
|
73
84
|
private resolveEndpoints;
|
|
74
|
-
/**
|
|
75
|
-
* Build request payload
|
|
76
|
-
*/
|
|
77
85
|
private buildRequest;
|
|
78
86
|
/**
|
|
79
|
-
* Compress context
|
|
87
|
+
* Compress a single context
|
|
88
|
+
*
|
|
89
|
+
* For multiple contexts, use compressBatch().
|
|
80
90
|
*
|
|
81
91
|
* @example
|
|
82
92
|
* ```typescript
|
|
83
|
-
* // Agnostic compression (
|
|
93
|
+
* // Agnostic compression (no query)
|
|
84
94
|
* const result = await client.compress({
|
|
85
95
|
* context: 'Your long context text...',
|
|
86
96
|
* });
|
|
87
97
|
*
|
|
88
|
-
* // Query-specific compression (
|
|
98
|
+
* // Query-specific compression (with query)
|
|
89
99
|
* const result = await client.compress({
|
|
90
100
|
* context: 'Your long context text...',
|
|
91
101
|
* query: 'What is the main conclusion?',
|
|
@@ -112,21 +122,28 @@ export declare class CompressionClient {
|
|
|
112
122
|
/**
|
|
113
123
|
* Batch compress multiple contexts
|
|
114
124
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
125
|
+
* - If queries is undefined: uses agnostic endpoint (no queries required)
|
|
126
|
+
* - If queries is provided: uses query-specific endpoint
|
|
117
127
|
*
|
|
118
128
|
* @example
|
|
119
129
|
* ```typescript
|
|
120
|
-
* //
|
|
130
|
+
* // Agnostic batch (no queries)
|
|
131
|
+
* const result = await client.compressBatch({
|
|
132
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
133
|
+
* });
|
|
134
|
+
*
|
|
135
|
+
* // Query-specific batch (same query for all)
|
|
121
136
|
* const result = await client.compressBatch({
|
|
122
137
|
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
123
138
|
* queries: 'What are the key points?',
|
|
139
|
+
* compressionModelName: 'latte_v1',
|
|
124
140
|
* });
|
|
125
141
|
*
|
|
126
|
-
* //
|
|
142
|
+
* // Query-specific batch (different queries)
|
|
127
143
|
* const result = await client.compressBatch({
|
|
128
144
|
* contexts: ['ML doc...', 'NLP doc...'],
|
|
129
145
|
* queries: ['What is ML?', 'What is NLP?'],
|
|
146
|
+
* compressionModelName: 'latte_v1',
|
|
130
147
|
* });
|
|
131
148
|
*
|
|
132
149
|
* console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,OAAO,EAAE,iBAAiB;IAItC,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,YAAY;IAgCpB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQnE;;;;;;;;;;;OAWG;IACI,cAAc,CACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAc/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;CA4DlC"}
|
|
@@ -10,6 +10,17 @@ exports.CompressionClient = void 0;
|
|
|
10
10
|
* Models:
|
|
11
11
|
* - espresso_v1 (default): Agnostic compression, no query needed
|
|
12
12
|
* - latte_v1: Query-specific compression, query REQUIRED
|
|
13
|
+
*
|
|
14
|
+
* Endpoints:
|
|
15
|
+
* Single:
|
|
16
|
+
* /compress/question-agnostic/ - context: string (no query)
|
|
17
|
+
* /compress/question-specific/ - context: string, query: string
|
|
18
|
+
* Batch:
|
|
19
|
+
* /compress/question-agnostic/batch - inputs: [{context}]
|
|
20
|
+
* /compress/question-specific/batch - inputs: [{context, query}]
|
|
21
|
+
* Stream:
|
|
22
|
+
* /compress/question-agnostic/stream - context: string
|
|
23
|
+
* /compress/question-specific/stream - context: string, query: string
|
|
13
24
|
*/
|
|
14
25
|
const zod_1 = require("zod");
|
|
15
26
|
const index_js_1 = require("../config/index.js");
|
|
@@ -25,17 +36,29 @@ const index_js_3 = require("../schemas/index.js");
|
|
|
25
36
|
*
|
|
26
37
|
* const client = new CompressionClient({ apiKey: 'cmp_...' });
|
|
27
38
|
*
|
|
28
|
-
* //
|
|
39
|
+
* // Single agnostic compression
|
|
29
40
|
* const result = await client.compress({
|
|
30
41
|
* context: 'Your long context...',
|
|
31
42
|
* });
|
|
32
43
|
*
|
|
33
|
-
* //
|
|
44
|
+
* // Single query-specific compression
|
|
34
45
|
* const result = await client.compress({
|
|
35
46
|
* context: 'Your long context...',
|
|
36
47
|
* query: 'What is the main conclusion?',
|
|
37
48
|
* compressionModelName: 'latte_v1',
|
|
38
49
|
* });
|
|
50
|
+
*
|
|
51
|
+
* // Batch agnostic compression
|
|
52
|
+
* const result = await client.compressBatch({
|
|
53
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // Batch query-specific compression
|
|
57
|
+
* const result = await client.compressBatch({
|
|
58
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
59
|
+
* queries: 'What are the key points?',
|
|
60
|
+
* compressionModelName: 'latte_v1',
|
|
61
|
+
* });
|
|
39
62
|
* ```
|
|
40
63
|
*/
|
|
41
64
|
class CompressionClient {
|
|
@@ -43,56 +66,30 @@ class CompressionClient {
|
|
|
43
66
|
constructor(options) {
|
|
44
67
|
this.http = new client_js_1.HttpClient(options);
|
|
45
68
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*/
|
|
49
|
-
validateModel(modelName) {
|
|
50
|
-
if (!index_js_1.ALLOWED_COMPRESSION_MODELS.has(modelName)) {
|
|
51
|
-
const allowed = Array.from(index_js_1.ALLOWED_COMPRESSION_MODELS).join(', ');
|
|
52
|
-
throw new index_js_2.ValidationError(`Model '${modelName}' is not valid for CompressionClient. Allowed: ${allowed}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Validate query parameter against model requirements
|
|
57
|
-
*/
|
|
58
|
-
validateQueryForModel(modelName, query) {
|
|
59
|
-
if (index_js_1.QUERY_REQUIRED_MODELS.has(modelName) && !query) {
|
|
60
|
-
throw new index_js_2.ValidationError(`Model '${modelName}' requires a 'query' parameter.`);
|
|
61
|
-
}
|
|
62
|
-
if (!index_js_1.QUERY_REQUIRED_MODELS.has(modelName) && query !== undefined) {
|
|
63
|
-
throw new index_js_2.ValidationError(`Model '${modelName}' does not accept a 'query' parameter. ` +
|
|
64
|
-
`Remove the query or use 'latte_v1' for query-specific compression.`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Resolve endpoints based on model name
|
|
69
|
-
*/
|
|
70
|
-
resolveEndpoints(modelName) {
|
|
71
|
-
if (index_js_1.AGNOSTIC_ENDPOINT_MODELS.has(modelName)) {
|
|
69
|
+
resolveEndpoints(query) {
|
|
70
|
+
if (query !== undefined) {
|
|
72
71
|
return {
|
|
73
|
-
base: index_js_1.ENDPOINTS.
|
|
74
|
-
stream: index_js_1.ENDPOINTS.
|
|
72
|
+
base: index_js_1.ENDPOINTS.COMPRESS_QS,
|
|
73
|
+
stream: index_js_1.ENDPOINTS.COMPRESS_QS_STREAM,
|
|
75
74
|
};
|
|
76
75
|
}
|
|
77
76
|
return {
|
|
78
|
-
base: index_js_1.ENDPOINTS.
|
|
79
|
-
stream: index_js_1.ENDPOINTS.
|
|
77
|
+
base: index_js_1.ENDPOINTS.COMPRESS_AGNOSTIC,
|
|
78
|
+
stream: index_js_1.ENDPOINTS.COMPRESS_AGNOSTIC_STREAM,
|
|
80
79
|
};
|
|
81
80
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Build request payload
|
|
84
|
-
*/
|
|
85
81
|
buildRequest(options) {
|
|
86
82
|
const modelName = options.compressionModelName ?? index_js_1.MODELS.ESPRESSO;
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
// Only include coarse when using query-specific endpoint
|
|
84
|
+
// Agnostic endpoint doesn't support coarse parameter
|
|
85
|
+
const effectiveCoarse = options.query !== undefined ? options.coarse : undefined;
|
|
89
86
|
try {
|
|
90
87
|
const request = index_js_3.CompressRequestSchema.parse({
|
|
91
88
|
context: options.context,
|
|
92
89
|
compression_model_name: modelName,
|
|
93
90
|
query: options.query,
|
|
94
91
|
target_compression_ratio: options.targetCompressionRatio,
|
|
95
|
-
coarse:
|
|
92
|
+
coarse: effectiveCoarse,
|
|
96
93
|
});
|
|
97
94
|
return request;
|
|
98
95
|
}
|
|
@@ -105,19 +102,21 @@ class CompressionClient {
|
|
|
105
102
|
}
|
|
106
103
|
}
|
|
107
104
|
// ==========================================================================
|
|
108
|
-
//
|
|
105
|
+
// Single Compression
|
|
109
106
|
// ==========================================================================
|
|
110
107
|
/**
|
|
111
|
-
* Compress context
|
|
108
|
+
* Compress a single context
|
|
109
|
+
*
|
|
110
|
+
* For multiple contexts, use compressBatch().
|
|
112
111
|
*
|
|
113
112
|
* @example
|
|
114
113
|
* ```typescript
|
|
115
|
-
* // Agnostic compression (
|
|
114
|
+
* // Agnostic compression (no query)
|
|
116
115
|
* const result = await client.compress({
|
|
117
116
|
* context: 'Your long context text...',
|
|
118
117
|
* });
|
|
119
118
|
*
|
|
120
|
-
* // Query-specific compression (
|
|
119
|
+
* // Query-specific compression (with query)
|
|
121
120
|
* const result = await client.compress({
|
|
122
121
|
* context: 'Your long context text...',
|
|
123
122
|
* query: 'What is the main conclusion?',
|
|
@@ -128,9 +127,8 @@ class CompressionClient {
|
|
|
128
127
|
* ```
|
|
129
128
|
*/
|
|
130
129
|
async compress(options) {
|
|
131
|
-
const modelName = options.compressionModelName ?? index_js_1.MODELS.ESPRESSO;
|
|
132
130
|
const request = this.buildRequest(options);
|
|
133
|
-
const { base } = this.resolveEndpoints(
|
|
131
|
+
const { base } = this.resolveEndpoints(options.query);
|
|
134
132
|
const response = await this.http.post(base, request);
|
|
135
133
|
return index_js_3.CompressResponseSchema.parse(response);
|
|
136
134
|
}
|
|
@@ -147,65 +145,81 @@ class CompressionClient {
|
|
|
147
145
|
* ```
|
|
148
146
|
*/
|
|
149
147
|
async *compressStream(options) {
|
|
150
|
-
const modelName = options.compressionModelName ?? index_js_1.MODELS.ESPRESSO;
|
|
151
148
|
const request = this.buildRequest(options);
|
|
152
|
-
const { stream } = this.resolveEndpoints(
|
|
149
|
+
const { stream } = this.resolveEndpoints(options.query);
|
|
153
150
|
for await (const content of this.http.stream(stream, request)) {
|
|
154
151
|
yield { content, done: false };
|
|
155
152
|
}
|
|
156
153
|
yield { content: '', done: true };
|
|
157
154
|
}
|
|
155
|
+
// ==========================================================================
|
|
156
|
+
// Batch Compression
|
|
157
|
+
// ==========================================================================
|
|
158
158
|
/**
|
|
159
159
|
* Batch compress multiple contexts
|
|
160
160
|
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
161
|
+
* - If queries is undefined: uses agnostic endpoint (no queries required)
|
|
162
|
+
* - If queries is provided: uses query-specific endpoint
|
|
163
163
|
*
|
|
164
164
|
* @example
|
|
165
165
|
* ```typescript
|
|
166
|
-
* //
|
|
166
|
+
* // Agnostic batch (no queries)
|
|
167
|
+
* const result = await client.compressBatch({
|
|
168
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
169
|
+
* });
|
|
170
|
+
*
|
|
171
|
+
* // Query-specific batch (same query for all)
|
|
167
172
|
* const result = await client.compressBatch({
|
|
168
173
|
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
169
174
|
* queries: 'What are the key points?',
|
|
175
|
+
* compressionModelName: 'latte_v1',
|
|
170
176
|
* });
|
|
171
177
|
*
|
|
172
|
-
* //
|
|
178
|
+
* // Query-specific batch (different queries)
|
|
173
179
|
* const result = await client.compressBatch({
|
|
174
180
|
* contexts: ['ML doc...', 'NLP doc...'],
|
|
175
181
|
* queries: ['What is ML?', 'What is NLP?'],
|
|
182
|
+
* compressionModelName: 'latte_v1',
|
|
176
183
|
* });
|
|
177
184
|
*
|
|
178
185
|
* console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
|
|
179
186
|
* ```
|
|
180
187
|
*/
|
|
181
188
|
async compressBatch(options) {
|
|
182
|
-
const modelName = options.compressionModelName ?? index_js_1.MODELS.
|
|
183
|
-
// Batch only supports query-specific models
|
|
184
|
-
if (!index_js_1.QUERY_REQUIRED_MODELS.has(modelName)) {
|
|
185
|
-
throw new index_js_2.ValidationError(`Batch compression only supports query-specific models: ${Array.from(index_js_1.QUERY_REQUIRED_MODELS).join(', ')}`);
|
|
186
|
-
}
|
|
187
|
-
this.validateModel(modelName);
|
|
188
|
-
// Build query list
|
|
189
|
-
const queryList = typeof options.queries === 'string'
|
|
190
|
-
? Array(options.contexts.length).fill(options.queries)
|
|
191
|
-
: options.queries;
|
|
192
|
-
if (queryList.length !== options.contexts.length) {
|
|
193
|
-
throw new index_js_2.ValidationError(`Number of queries (${queryList.length}) must match number of contexts (${options.contexts.length})`);
|
|
194
|
-
}
|
|
195
|
-
// Build inputs
|
|
196
|
-
const inputs = options.contexts.map((context, i) => ({
|
|
197
|
-
context,
|
|
198
|
-
query: queryList[i],
|
|
199
|
-
}));
|
|
189
|
+
const modelName = options.compressionModelName ?? index_js_1.MODELS.ESPRESSO;
|
|
200
190
|
try {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
191
|
+
if (options.queries === undefined) {
|
|
192
|
+
// Agnostic batch (no queries)
|
|
193
|
+
const inputs = options.contexts.map((context) => ({ context }));
|
|
194
|
+
const request = index_js_3.AgnosticBatchRequestSchema.parse({
|
|
195
|
+
inputs,
|
|
196
|
+
compression_model_name: modelName,
|
|
197
|
+
target_compression_ratio: options.targetCompressionRatio,
|
|
198
|
+
});
|
|
199
|
+
const response = await this.http.post(index_js_1.ENDPOINTS.COMPRESS_AGNOSTIC_BATCH, request);
|
|
200
|
+
return index_js_3.CompressBatchResponseSchema.parse(response);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
// Query-specific batch
|
|
204
|
+
const queryList = typeof options.queries === 'string'
|
|
205
|
+
? Array(options.contexts.length).fill(options.queries)
|
|
206
|
+
: options.queries;
|
|
207
|
+
if (queryList.length !== options.contexts.length) {
|
|
208
|
+
throw new index_js_2.ValidationError(`Number of queries (${queryList.length}) must match number of contexts (${options.contexts.length})`);
|
|
209
|
+
}
|
|
210
|
+
const inputs = options.contexts.map((context, i) => ({
|
|
211
|
+
context,
|
|
212
|
+
query: queryList[i],
|
|
213
|
+
}));
|
|
214
|
+
const request = index_js_3.CompressBatchRequestSchema.parse({
|
|
215
|
+
inputs,
|
|
216
|
+
compression_model_name: modelName,
|
|
217
|
+
target_compression_ratio: options.targetCompressionRatio,
|
|
218
|
+
coarse: options.coarse,
|
|
219
|
+
});
|
|
220
|
+
const response = await this.http.post(index_js_1.ENDPOINTS.COMPRESS_QS_BATCH, request);
|
|
221
|
+
return index_js_3.CompressBatchResponseSchema.parse(response);
|
|
222
|
+
}
|
|
209
223
|
}
|
|
210
224
|
catch (error) {
|
|
211
225
|
if (error instanceof zod_1.ZodError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,17 +24,11 @@ export declare const MODELS: {
|
|
|
24
24
|
export type CompressionModel = typeof MODELS.ESPRESSO | typeof MODELS.LATTE;
|
|
25
25
|
export type SearchModel = typeof MODELS.MACCHIATO;
|
|
26
26
|
export type Model = (typeof MODELS)[keyof typeof MODELS];
|
|
27
|
-
/** Models allowed for CompressionClient */
|
|
28
27
|
export declare const ALLOWED_COMPRESSION_MODELS: ReadonlySet<string>;
|
|
29
|
-
/** Models allowed for SearchClient */
|
|
30
28
|
export declare const ALLOWED_SEARCH_MODELS: ReadonlySet<string>;
|
|
31
|
-
/** Models that require a query parameter */
|
|
32
29
|
export declare const QUERY_REQUIRED_MODELS: ReadonlySet<string>;
|
|
33
|
-
/** Models that support coarse parameter */
|
|
34
30
|
export declare const COARSE_SUPPORTED_MODELS: ReadonlySet<string>;
|
|
35
|
-
/** Models that use the agnostic endpoint */
|
|
36
31
|
export declare const AGNOSTIC_ENDPOINT_MODELS: ReadonlySet<string>;
|
|
37
|
-
/** Models that use the query-specific endpoint */
|
|
38
32
|
export declare const QS_ENDPOINT_MODELS: ReadonlySet<string>;
|
|
39
33
|
/**
|
|
40
34
|
* HTTP header names
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oCAAoC;AACpC,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,4BAA4B,CAAC;AAE1D,8CAA8C;AAC9C,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,6CAA6C;AAC7C,eAAO,MAAM,cAAc,SAAU,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAaT,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oCAAoC;AACpC,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,wCAAwC;AACxC,eAAO,MAAM,gBAAgB,4BAA4B,CAAC;AAE1D,8CAA8C;AAC9C,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,6CAA6C;AAC7C,eAAO,MAAM,cAAc,SAAU,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;CAaT,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,QAAQ,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC;AAC5E,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAGzD,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAEpD,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAEpD,CAAC;AAEH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAEtD,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAEvD,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAEjD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;CAKV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC"}
|
|
@@ -27,28 +27,22 @@ exports.MODELS = {
|
|
|
27
27
|
AGENTIC_TOOL_OUTPUT_LINGUA: 'agentic_tool_output_lingua',
|
|
28
28
|
AGENTIC_TOOL_DISCOVERY_SAT: 'agentic_tool_discovery_sat',
|
|
29
29
|
};
|
|
30
|
-
/** Models allowed for CompressionClient */
|
|
31
30
|
exports.ALLOWED_COMPRESSION_MODELS = new Set([
|
|
32
31
|
exports.MODELS.ESPRESSO,
|
|
33
32
|
exports.MODELS.LATTE,
|
|
34
33
|
]);
|
|
35
|
-
/** Models allowed for SearchClient */
|
|
36
34
|
exports.ALLOWED_SEARCH_MODELS = new Set([
|
|
37
35
|
exports.MODELS.MACCHIATO,
|
|
38
36
|
]);
|
|
39
|
-
/** Models that require a query parameter */
|
|
40
37
|
exports.QUERY_REQUIRED_MODELS = new Set([
|
|
41
38
|
exports.MODELS.LATTE,
|
|
42
39
|
]);
|
|
43
|
-
/** Models that support coarse parameter */
|
|
44
40
|
exports.COARSE_SUPPORTED_MODELS = new Set([
|
|
45
41
|
exports.MODELS.LATTE,
|
|
46
42
|
]);
|
|
47
|
-
/** Models that use the agnostic endpoint */
|
|
48
43
|
exports.AGNOSTIC_ENDPOINT_MODELS = new Set([
|
|
49
44
|
exports.MODELS.ESPRESSO,
|
|
50
45
|
]);
|
|
51
|
-
/** Models that use the query-specific endpoint */
|
|
52
46
|
exports.QS_ENDPOINT_MODELS = new Set([
|
|
53
47
|
exports.MODELS.LATTE,
|
|
54
48
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oCAAoC;AACvB,QAAA,cAAc,GAAG,MAAM,CAAC;AAErC,wCAAwC;AAC3B,QAAA,gBAAgB,GAAG,yBAAyB,CAAC;AAE1D,8CAA8C;AACjC,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC,6CAA6C;AAChC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,qBAAqB;IACrB,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,UAAU;IAEjB,gBAAgB;IAChB,SAAS,EAAE,cAAc;IAEzB,iBAAiB;IACjB,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,+BAA+B;IAC9D,0BAA0B,EAAE,4BAA4B;IACxD,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oCAAoC;AACvB,QAAA,cAAc,GAAG,MAAM,CAAC;AAErC,wCAAwC;AAC3B,QAAA,gBAAgB,GAAG,yBAAyB,CAAC;AAE1D,8CAA8C;AACjC,QAAA,eAAe,GAAG,MAAM,CAAC;AAEtC,6CAA6C;AAChC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,qBAAqB;IACrB,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,UAAU;IAEjB,gBAAgB;IAChB,SAAS,EAAE,cAAc;IAEzB,iBAAiB;IACjB,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,+BAA+B;IAC9D,0BAA0B,EAAE,4BAA4B;IACxD,0BAA0B,EAAE,4BAA4B;CAChD,CAAC;AAME,QAAA,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IACrE,cAAM,CAAC,QAAQ;IACf,cAAM,CAAC,KAAK;CACb,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IAChE,cAAM,CAAC,SAAS;CACjB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IAChE,cAAM,CAAC,KAAK;CACb,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAClE,cAAM,CAAC,KAAK;CACb,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,cAAM,CAAC,QAAQ;CAChB,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,cAAM,CAAC,KAAK;CACb,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,OAAO,GAAG;IACrB,OAAO,EAAE,WAAW;IACpB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;CACT,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export declare const ENDPOINTS: {
|
|
5
5
|
readonly COMPRESS_AGNOSTIC: "/api/compress/question-agnostic/";
|
|
6
6
|
readonly COMPRESS_AGNOSTIC_STREAM: "/api/compress/question-agnostic/stream";
|
|
7
|
+
readonly COMPRESS_AGNOSTIC_BATCH: "/api/compress/question-agnostic/batch";
|
|
7
8
|
readonly COMPRESS_QS: "/api/compress/question-specific/";
|
|
8
9
|
readonly COMPRESS_QS_STREAM: "/api/compress/question-specific/stream";
|
|
9
10
|
readonly COMPRESS_QS_BATCH: "/api/compress/question-specific/batch";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/config/endpoints.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/config/endpoints.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAsBZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -8,6 +8,7 @@ exports.ENDPOINTS = {
|
|
|
8
8
|
// Agnostic compression (no query required)
|
|
9
9
|
COMPRESS_AGNOSTIC: '/api/compress/question-agnostic/',
|
|
10
10
|
COMPRESS_AGNOSTIC_STREAM: '/api/compress/question-agnostic/stream',
|
|
11
|
+
COMPRESS_AGNOSTIC_BATCH: '/api/compress/question-agnostic/batch',
|
|
11
12
|
// Query-specific compression (query required)
|
|
12
13
|
COMPRESS_QS: '/api/compress/question-specific/',
|
|
13
14
|
COMPRESS_QS_STREAM: '/api/compress/question-specific/stream',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/config/endpoints.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,2CAA2C;IAC3C,iBAAiB,EAAE,kCAAkC;IACrD,wBAAwB,EAAE,wCAAwC;
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/config/endpoints.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,2CAA2C;IAC3C,iBAAiB,EAAE,kCAAkC;IACrD,wBAAwB,EAAE,wCAAwC;IAClE,uBAAuB,EAAE,uCAAuC;IAEhE,8CAA8C;IAC9C,WAAW,EAAE,kCAAkC;IAC/C,kBAAkB,EAAE,wCAAwC;IAC5D,iBAAiB,EAAE,uCAAuC;IAE1D,iBAAiB;IACjB,MAAM,EAAE,uBAAuB;IAC/B,aAAa,EAAE,6BAA6B;IAE5C,mBAAmB;IACnB,mBAAmB,EAAE,0CAA0C;IAC/D,iBAAiB,EAAE,6CAA6C;IAChE,mBAAmB,EAAE,0CAA0C;IAE/D,SAAS;IACT,aAAa,EAAE,6BAA6B;CACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,iBAAiB;IAgBtC;;OAEG;IACH,OAAO,KAAK,OAAO,GAOlB;IAED;;OAEG;IACH,OAAO,CAAC,GAAG;IAKX;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmC1E;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAkC1C;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAkC7C;;OAEG;IACI,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;IAyE1C;;OAEG;IACG,aAAa,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,GAC3E,OAAO,CAAC,CAAC,CAAC;CA0Cd"}
|
package/dist/cjs/http/client.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.HttpClient = void 0;
|
|
|
9
9
|
const constants_js_1 = require("../config/constants.js");
|
|
10
10
|
const index_js_1 = require("../errors/index.js");
|
|
11
11
|
const errors_js_1 = require("./errors.js");
|
|
12
|
-
const
|
|
12
|
+
const version_js_1 = require("../version.js");
|
|
13
13
|
/**
|
|
14
14
|
* Internal HTTP client for all Compresr API requests
|
|
15
15
|
*/
|
|
@@ -26,7 +26,7 @@ class HttpClient {
|
|
|
26
26
|
throw new index_js_1.AuthenticationError(`Invalid API key format. Keys must start with '${constants_js_1.API_KEY_PREFIX}'`);
|
|
27
27
|
}
|
|
28
28
|
this.apiKey = options.apiKey;
|
|
29
|
-
this.baseUrl = options.baseUrl ?? constants_js_1.DEFAULT_BASE_URL;
|
|
29
|
+
this.baseUrl = (options.baseUrl ?? constants_js_1.DEFAULT_BASE_URL).replace(/\/+$/, '');
|
|
30
30
|
this.timeout = options.timeout ?? constants_js_1.DEFAULT_TIMEOUT;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -37,13 +37,14 @@ class HttpClient {
|
|
|
37
37
|
[constants_js_1.HEADERS.API_KEY]: this.apiKey,
|
|
38
38
|
[constants_js_1.HEADERS.CONTENT_TYPE]: 'application/json',
|
|
39
39
|
[constants_js_1.HEADERS.ACCEPT]: 'application/json',
|
|
40
|
-
[constants_js_1.HEADERS.USER_AGENT]: `compresr-typescript-sdk/${SDK_VERSION}`,
|
|
40
|
+
[constants_js_1.HEADERS.USER_AGENT]: `compresr-typescript-sdk/${version_js_1.SDK_VERSION}`,
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Build full URL from endpoint
|
|
45
45
|
*/
|
|
46
46
|
url(endpoint) {
|
|
47
|
+
// Endpoint already starts with /, so no double slash issue
|
|
47
48
|
return `${this.baseUrl}${endpoint}`;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
@@ -236,7 +237,7 @@ class HttpClient {
|
|
|
236
237
|
method: 'POST',
|
|
237
238
|
headers: {
|
|
238
239
|
[constants_js_1.HEADERS.API_KEY]: this.apiKey,
|
|
239
|
-
[constants_js_1.HEADERS.USER_AGENT]: `compresr-typescript-sdk/${SDK_VERSION}`,
|
|
240
|
+
[constants_js_1.HEADERS.USER_AGENT]: `compresr-typescript-sdk/${version_js_1.SDK_VERSION}`,
|
|
240
241
|
},
|
|
241
242
|
body: formData,
|
|
242
243
|
signal: controller.signal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,yDAMgC;AAChC,iDAI4B;AAC5B,2CAA8D;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
|