@compresr/sdk 1.0.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/README.md +263 -0
- package/dist/cjs/clients/compression.d.ts +137 -0
- package/dist/cjs/clients/compression.d.ts.map +1 -0
- package/dist/cjs/clients/compression.js +220 -0
- package/dist/cjs/clients/compression.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +2 -0
- package/dist/cjs/clients/index.d.ts.map +1 -0
- package/dist/cjs/clients/index.js +6 -0
- package/dist/cjs/clients/index.js.map +1 -0
- package/dist/cjs/config/constants.d.ts +61 -0
- package/dist/cjs/config/constants.d.ts.map +1 -0
- package/dist/cjs/config/constants.js +77 -0
- package/dist/cjs/config/constants.js.map +1 -0
- package/dist/cjs/config/endpoints.d.ts +18 -0
- package/dist/cjs/config/endpoints.d.ts.map +1 -0
- package/dist/cjs/config/endpoints.js +25 -0
- package/dist/cjs/config/endpoints.js.map +1 -0
- package/dist/cjs/config/index.d.ts +3 -0
- package/dist/cjs/config/index.d.ts.map +1 -0
- package/dist/cjs/config/index.js +20 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/errors/exceptions.d.ts +72 -0
- package/dist/cjs/errors/exceptions.d.ts.map +1 -0
- package/dist/cjs/errors/exceptions.js +107 -0
- package/dist/cjs/errors/exceptions.js.map +1 -0
- package/dist/cjs/errors/index.d.ts +2 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/errors/index.js +13 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/http/client.d.ts +53 -0
- package/dist/cjs/http/client.d.ts.map +1 -0
- package/dist/cjs/http/client.js +268 -0
- package/dist/cjs/http/client.js.map +1 -0
- package/dist/cjs/http/errors.d.ts +19 -0
- package/dist/cjs/http/errors.d.ts.map +1 -0
- package/dist/cjs/http/errors.js +87 -0
- package/dist/cjs/http/errors.js.map +1 -0
- package/dist/cjs/http/index.d.ts +3 -0
- package/dist/cjs/http/index.d.ts.map +1 -0
- package/dist/cjs/http/index.js +8 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/index.d.ts +33 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +49 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/schemas/common.d.ts +47 -0
- package/dist/cjs/schemas/common.d.ts.map +1 -0
- package/dist/cjs/schemas/common.js +29 -0
- package/dist/cjs/schemas/common.js.map +1 -0
- package/dist/cjs/schemas/compression.d.ts +378 -0
- package/dist/cjs/schemas/compression.d.ts.map +1 -0
- package/dist/cjs/schemas/compression.js +99 -0
- package/dist/cjs/schemas/compression.js.map +1 -0
- package/dist/cjs/schemas/index.d.ts +7 -0
- package/dist/cjs/schemas/index.d.ts.map +1 -0
- package/dist/cjs/schemas/index.js +30 -0
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/schemas/search.d.ts +184 -0
- package/dist/cjs/schemas/search.d.ts.map +1 -0
- package/dist/cjs/schemas/search.js +75 -0
- package/dist/cjs/schemas/search.js.map +1 -0
- package/dist/esm/clients/compression.d.ts +137 -0
- package/dist/esm/clients/compression.d.ts.map +1 -0
- package/dist/esm/clients/compression.js +216 -0
- package/dist/esm/clients/compression.js.map +1 -0
- package/dist/esm/clients/index.d.ts +2 -0
- package/dist/esm/clients/index.d.ts.map +1 -0
- package/dist/esm/clients/index.js +2 -0
- package/dist/esm/clients/index.js.map +1 -0
- package/dist/esm/config/constants.d.ts +61 -0
- package/dist/esm/config/constants.d.ts.map +1 -0
- package/dist/esm/config/constants.js +74 -0
- package/dist/esm/config/constants.js.map +1 -0
- package/dist/esm/config/endpoints.d.ts +18 -0
- package/dist/esm/config/endpoints.d.ts.map +1 -0
- package/dist/esm/config/endpoints.js +22 -0
- package/dist/esm/config/endpoints.js.map +1 -0
- package/dist/esm/config/index.d.ts +3 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +3 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/errors/exceptions.d.ts +72 -0
- package/dist/esm/errors/exceptions.d.ts.map +1 -0
- package/dist/esm/errors/exceptions.js +96 -0
- package/dist/esm/errors/exceptions.js.map +1 -0
- package/dist/esm/errors/index.d.ts +2 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/errors/index.js +2 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/http/client.d.ts +53 -0
- package/dist/esm/http/client.d.ts.map +1 -0
- package/dist/esm/http/client.js +264 -0
- package/dist/esm/http/client.js.map +1 -0
- package/dist/esm/http/errors.d.ts +19 -0
- package/dist/esm/http/errors.d.ts.map +1 -0
- package/dist/esm/http/errors.js +84 -0
- package/dist/esm/http/errors.js.map +1 -0
- package/dist/esm/http/index.d.ts +3 -0
- package/dist/esm/http/index.d.ts.map +1 -0
- package/dist/esm/http/index.js +3 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/index.d.ts +33 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +36 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/schemas/common.d.ts +47 -0
- package/dist/esm/schemas/common.d.ts.map +1 -0
- package/dist/esm/schemas/common.js +26 -0
- package/dist/esm/schemas/common.js.map +1 -0
- package/dist/esm/schemas/compression.d.ts +378 -0
- package/dist/esm/schemas/compression.d.ts.map +1 -0
- package/dist/esm/schemas/compression.js +96 -0
- package/dist/esm/schemas/compression.js.map +1 -0
- package/dist/esm/schemas/index.d.ts +7 -0
- package/dist/esm/schemas/index.d.ts.map +1 -0
- package/dist/esm/schemas/index.js +10 -0
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/schemas/search.d.ts +184 -0
- package/dist/esm/schemas/search.d.ts.map +1 -0
- package/dist/esm/schemas/search.js +72 -0
- package/dist/esm/schemas/search.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic Search schemas
|
|
3
|
+
*
|
|
4
|
+
* Schemas for agentic search endpoints (macchiato_v1).
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* Search request schema
|
|
9
|
+
*/
|
|
10
|
+
export declare const SearchRequestSchema: z.ZodObject<{
|
|
11
|
+
query: z.ZodString;
|
|
12
|
+
index_name: z.ZodString;
|
|
13
|
+
compression_model_name: z.ZodString;
|
|
14
|
+
max_time_s: z.ZodDefault<z.ZodNumber>;
|
|
15
|
+
source: z.ZodDefault<z.ZodString>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
compression_model_name: string;
|
|
18
|
+
query: string;
|
|
19
|
+
source: string;
|
|
20
|
+
index_name: string;
|
|
21
|
+
max_time_s: number;
|
|
22
|
+
}, {
|
|
23
|
+
compression_model_name: string;
|
|
24
|
+
query: string;
|
|
25
|
+
index_name: string;
|
|
26
|
+
source?: string | undefined;
|
|
27
|
+
max_time_s?: number | undefined;
|
|
28
|
+
}>;
|
|
29
|
+
export type SearchRequest = z.infer<typeof SearchRequestSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* Index creation payload
|
|
32
|
+
*/
|
|
33
|
+
export declare const IndexCreatePayloadSchema: z.ZodObject<{
|
|
34
|
+
chunks: z.ZodArray<z.ZodString, "many">;
|
|
35
|
+
candidate_questions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
36
|
+
source_docs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
chunks: string[];
|
|
39
|
+
candidate_questions?: string[] | undefined;
|
|
40
|
+
source_docs?: Record<string, unknown> | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
chunks: string[];
|
|
43
|
+
candidate_questions?: string[] | undefined;
|
|
44
|
+
source_docs?: Record<string, unknown> | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
export type IndexCreatePayload = z.infer<typeof IndexCreatePayloadSchema>;
|
|
47
|
+
/**
|
|
48
|
+
* Search result
|
|
49
|
+
*/
|
|
50
|
+
export declare const SearchResultSchema: z.ZodObject<{
|
|
51
|
+
chunks: z.ZodArray<z.ZodString, "many">;
|
|
52
|
+
chunk_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
53
|
+
chunks_count: z.ZodNumber;
|
|
54
|
+
original_tokens: z.ZodNumber;
|
|
55
|
+
compressed_tokens: z.ZodNumber;
|
|
56
|
+
compression_ratio: z.ZodNumber;
|
|
57
|
+
duration_ms: z.ZodDefault<z.ZodNumber>;
|
|
58
|
+
index_name: z.ZodString;
|
|
59
|
+
cost: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
original_tokens: number;
|
|
62
|
+
compressed_tokens: number;
|
|
63
|
+
duration_ms: number;
|
|
64
|
+
index_name: string;
|
|
65
|
+
chunks: string[];
|
|
66
|
+
chunk_ids: string[];
|
|
67
|
+
chunks_count: number;
|
|
68
|
+
compression_ratio: number;
|
|
69
|
+
cost?: Record<string, unknown> | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
original_tokens: number;
|
|
72
|
+
compressed_tokens: number;
|
|
73
|
+
index_name: string;
|
|
74
|
+
chunks: string[];
|
|
75
|
+
chunks_count: number;
|
|
76
|
+
compression_ratio: number;
|
|
77
|
+
duration_ms?: number | undefined;
|
|
78
|
+
chunk_ids?: string[] | undefined;
|
|
79
|
+
cost?: Record<string, unknown> | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
export type SearchResult = z.infer<typeof SearchResultSchema>;
|
|
82
|
+
/**
|
|
83
|
+
* Index task status
|
|
84
|
+
*/
|
|
85
|
+
export declare const IndexTaskStatusSchema: z.ZodObject<{
|
|
86
|
+
status: z.ZodEnum<["pending", "processing", "completed", "failed"]>;
|
|
87
|
+
task_id: z.ZodString;
|
|
88
|
+
index_name: z.ZodOptional<z.ZodString>;
|
|
89
|
+
num_chunks: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
error: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, "strip", z.ZodTypeAny, {
|
|
92
|
+
status: "pending" | "processing" | "completed" | "failed";
|
|
93
|
+
task_id: string;
|
|
94
|
+
error?: string | undefined;
|
|
95
|
+
index_name?: string | undefined;
|
|
96
|
+
num_chunks?: number | undefined;
|
|
97
|
+
}, {
|
|
98
|
+
status: "pending" | "processing" | "completed" | "failed";
|
|
99
|
+
task_id: string;
|
|
100
|
+
error?: string | undefined;
|
|
101
|
+
index_name?: string | undefined;
|
|
102
|
+
num_chunks?: number | undefined;
|
|
103
|
+
}>;
|
|
104
|
+
export type IndexTaskStatus = z.infer<typeof IndexTaskStatusSchema>;
|
|
105
|
+
/**
|
|
106
|
+
* Search response
|
|
107
|
+
*/
|
|
108
|
+
export declare const SearchResponseSchema: z.ZodObject<{
|
|
109
|
+
success: z.ZodBoolean;
|
|
110
|
+
} & {
|
|
111
|
+
data: z.ZodNullable<z.ZodObject<{
|
|
112
|
+
chunks: z.ZodArray<z.ZodString, "many">;
|
|
113
|
+
chunk_ids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
114
|
+
chunks_count: z.ZodNumber;
|
|
115
|
+
original_tokens: z.ZodNumber;
|
|
116
|
+
compressed_tokens: z.ZodNumber;
|
|
117
|
+
compression_ratio: z.ZodNumber;
|
|
118
|
+
duration_ms: z.ZodDefault<z.ZodNumber>;
|
|
119
|
+
index_name: z.ZodString;
|
|
120
|
+
cost: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
121
|
+
}, "strip", z.ZodTypeAny, {
|
|
122
|
+
original_tokens: number;
|
|
123
|
+
compressed_tokens: number;
|
|
124
|
+
duration_ms: number;
|
|
125
|
+
index_name: string;
|
|
126
|
+
chunks: string[];
|
|
127
|
+
chunk_ids: string[];
|
|
128
|
+
chunks_count: number;
|
|
129
|
+
compression_ratio: number;
|
|
130
|
+
cost?: Record<string, unknown> | undefined;
|
|
131
|
+
}, {
|
|
132
|
+
original_tokens: number;
|
|
133
|
+
compressed_tokens: number;
|
|
134
|
+
index_name: string;
|
|
135
|
+
chunks: string[];
|
|
136
|
+
chunks_count: number;
|
|
137
|
+
compression_ratio: number;
|
|
138
|
+
duration_ms?: number | undefined;
|
|
139
|
+
chunk_ids?: string[] | undefined;
|
|
140
|
+
cost?: Record<string, unknown> | undefined;
|
|
141
|
+
}>>;
|
|
142
|
+
}, "strip", z.ZodTypeAny, {
|
|
143
|
+
success: boolean;
|
|
144
|
+
data: {
|
|
145
|
+
original_tokens: number;
|
|
146
|
+
compressed_tokens: number;
|
|
147
|
+
duration_ms: number;
|
|
148
|
+
index_name: string;
|
|
149
|
+
chunks: string[];
|
|
150
|
+
chunk_ids: string[];
|
|
151
|
+
chunks_count: number;
|
|
152
|
+
compression_ratio: number;
|
|
153
|
+
cost?: Record<string, unknown> | undefined;
|
|
154
|
+
} | null;
|
|
155
|
+
}, {
|
|
156
|
+
success: boolean;
|
|
157
|
+
data: {
|
|
158
|
+
original_tokens: number;
|
|
159
|
+
compressed_tokens: number;
|
|
160
|
+
index_name: string;
|
|
161
|
+
chunks: string[];
|
|
162
|
+
chunks_count: number;
|
|
163
|
+
compression_ratio: number;
|
|
164
|
+
duration_ms?: number | undefined;
|
|
165
|
+
chunk_ids?: string[] | undefined;
|
|
166
|
+
cost?: Record<string, unknown> | undefined;
|
|
167
|
+
} | null;
|
|
168
|
+
}>;
|
|
169
|
+
export type SearchResponse = z.infer<typeof SearchResponseSchema>;
|
|
170
|
+
/**
|
|
171
|
+
* Index creation response
|
|
172
|
+
*/
|
|
173
|
+
export declare const IndexCreateResponseSchema: z.ZodObject<{
|
|
174
|
+
task_id: z.ZodString;
|
|
175
|
+
status: z.ZodString;
|
|
176
|
+
}, "strip", z.ZodTypeAny, {
|
|
177
|
+
status: string;
|
|
178
|
+
task_id: string;
|
|
179
|
+
}, {
|
|
180
|
+
status: string;
|
|
181
|
+
task_id: string;
|
|
182
|
+
}>;
|
|
183
|
+
export type IndexCreateResponse = z.infer<typeof IndexCreateResponseSchema>;
|
|
184
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/schemas/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IndexCreateResponseSchema = exports.SearchResponseSchema = exports.IndexTaskStatusSchema = exports.SearchResultSchema = exports.IndexCreatePayloadSchema = exports.SearchRequestSchema = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Agentic Search schemas
|
|
6
|
+
*
|
|
7
|
+
* Schemas for agentic search endpoints (macchiato_v1).
|
|
8
|
+
*/
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const common_js_1 = require("./common.js");
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Request Schemas
|
|
13
|
+
// =============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Search request schema
|
|
16
|
+
*/
|
|
17
|
+
exports.SearchRequestSchema = zod_1.z.object({
|
|
18
|
+
query: zod_1.z.string().min(1, 'query must not be empty'),
|
|
19
|
+
index_name: zod_1.z.string().min(1, 'index_name must not be empty'),
|
|
20
|
+
compression_model_name: zod_1.z.string(),
|
|
21
|
+
max_time_s: zod_1.z.number().min(0.1).max(30).default(4.5),
|
|
22
|
+
source: zod_1.z.string().default('sdk:typescript'),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Index creation payload
|
|
26
|
+
*/
|
|
27
|
+
exports.IndexCreatePayloadSchema = zod_1.z.object({
|
|
28
|
+
chunks: zod_1.z.array(zod_1.z.string()),
|
|
29
|
+
candidate_questions: zod_1.z.array(zod_1.z.string()).optional(),
|
|
30
|
+
source_docs: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
|
|
31
|
+
});
|
|
32
|
+
// =============================================================================
|
|
33
|
+
// Result Schemas
|
|
34
|
+
// =============================================================================
|
|
35
|
+
/**
|
|
36
|
+
* Search result
|
|
37
|
+
*/
|
|
38
|
+
exports.SearchResultSchema = zod_1.z.object({
|
|
39
|
+
chunks: zod_1.z.array(zod_1.z.string()),
|
|
40
|
+
chunk_ids: zod_1.z.array(zod_1.z.string()).default([]),
|
|
41
|
+
chunks_count: zod_1.z.number(),
|
|
42
|
+
original_tokens: zod_1.z.number(),
|
|
43
|
+
compressed_tokens: zod_1.z.number(),
|
|
44
|
+
compression_ratio: zod_1.z.number(),
|
|
45
|
+
duration_ms: zod_1.z.number().default(0),
|
|
46
|
+
index_name: zod_1.z.string(),
|
|
47
|
+
cost: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Index task status
|
|
51
|
+
*/
|
|
52
|
+
exports.IndexTaskStatusSchema = zod_1.z.object({
|
|
53
|
+
status: zod_1.z.enum(['pending', 'processing', 'completed', 'failed']),
|
|
54
|
+
task_id: zod_1.z.string(),
|
|
55
|
+
index_name: zod_1.z.string().optional(),
|
|
56
|
+
num_chunks: zod_1.z.number().optional(),
|
|
57
|
+
error: zod_1.z.string().optional(),
|
|
58
|
+
});
|
|
59
|
+
// =============================================================================
|
|
60
|
+
// Response Schemas
|
|
61
|
+
// =============================================================================
|
|
62
|
+
/**
|
|
63
|
+
* Search response
|
|
64
|
+
*/
|
|
65
|
+
exports.SearchResponseSchema = common_js_1.BaseResponseSchema.extend({
|
|
66
|
+
data: exports.SearchResultSchema.nullable(),
|
|
67
|
+
});
|
|
68
|
+
/**
|
|
69
|
+
* Index creation response
|
|
70
|
+
*/
|
|
71
|
+
exports.IndexCreateResponseSchema = zod_1.z.object({
|
|
72
|
+
task_id: zod_1.z.string(),
|
|
73
|
+
status: zod_1.z.string(),
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/schemas/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { type HttpClientOptions } from '../http/client.js';
|
|
2
|
+
import { type CompressResponse, type CompressBatchResponse, type StreamChunk } from '../schemas/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Options for single compression
|
|
5
|
+
*/
|
|
6
|
+
export interface CompressOptions {
|
|
7
|
+
/** Context to compress - single string or array of strings */
|
|
8
|
+
context: string | string[];
|
|
9
|
+
/** Compression model (default: espresso_v1) */
|
|
10
|
+
compressionModelName?: string;
|
|
11
|
+
/** Query for query-specific models (required for latte_v1) */
|
|
12
|
+
query?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Target compression ratio:
|
|
15
|
+
* - 0-1: percentage to keep (e.g., 0.5 = keep 50%)
|
|
16
|
+
* - >1: Nx factor (e.g., 4 = 4x compression = keep 25%)
|
|
17
|
+
*/
|
|
18
|
+
targetCompressionRatio?: number;
|
|
19
|
+
/** Use paragraph-level compression (faster, latte_v1 only) */
|
|
20
|
+
coarse?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Options for batch compression
|
|
24
|
+
*/
|
|
25
|
+
export interface CompressBatchOptions {
|
|
26
|
+
/** List of contexts to compress (1-100 items) */
|
|
27
|
+
contexts: string[];
|
|
28
|
+
/** Single query for all contexts, or one query per context */
|
|
29
|
+
queries: string | string[];
|
|
30
|
+
/** Compression model (default: latte_v1 for batch) */
|
|
31
|
+
compressionModelName?: string;
|
|
32
|
+
/** Target compression ratio */
|
|
33
|
+
targetCompressionRatio?: number;
|
|
34
|
+
/** Use paragraph-level compression (faster) */
|
|
35
|
+
coarse?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Token-level compression client
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* import { CompressionClient } from 'compresr';
|
|
43
|
+
*
|
|
44
|
+
* const client = new CompressionClient({ apiKey: 'cmp_...' });
|
|
45
|
+
*
|
|
46
|
+
* // Agnostic compression
|
|
47
|
+
* const result = await client.compress({
|
|
48
|
+
* context: 'Your long context...',
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* // Query-specific compression
|
|
52
|
+
* const result = await client.compress({
|
|
53
|
+
* context: 'Your long context...',
|
|
54
|
+
* query: 'What is the main conclusion?',
|
|
55
|
+
* compressionModelName: 'latte_v1',
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare class CompressionClient {
|
|
60
|
+
private readonly http;
|
|
61
|
+
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
|
+
private resolveEndpoints;
|
|
74
|
+
/**
|
|
75
|
+
* Build request payload
|
|
76
|
+
*/
|
|
77
|
+
private buildRequest;
|
|
78
|
+
/**
|
|
79
|
+
* Compress context (async)
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* // Agnostic compression (espresso_v1)
|
|
84
|
+
* const result = await client.compress({
|
|
85
|
+
* context: 'Your long context text...',
|
|
86
|
+
* });
|
|
87
|
+
*
|
|
88
|
+
* // Query-specific compression (latte_v1)
|
|
89
|
+
* const result = await client.compress({
|
|
90
|
+
* context: 'Your long context text...',
|
|
91
|
+
* query: 'What is the main conclusion?',
|
|
92
|
+
* compressionModelName: 'latte_v1',
|
|
93
|
+
* });
|
|
94
|
+
*
|
|
95
|
+
* console.log(`Saved ${result.data.tokens_saved} tokens!`);
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
compress(options: CompressOptions): Promise<CompressResponse>;
|
|
99
|
+
/**
|
|
100
|
+
* Stream compression chunks
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* for await (const chunk of client.compressStream({
|
|
105
|
+
* context: 'Your long context...',
|
|
106
|
+
* })) {
|
|
107
|
+
* process.stdout.write(chunk.content);
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
compressStream(options: CompressOptions): AsyncGenerator<StreamChunk, void, undefined>;
|
|
112
|
+
/**
|
|
113
|
+
* Batch compress multiple contexts
|
|
114
|
+
*
|
|
115
|
+
* More efficient than calling compress() multiple times.
|
|
116
|
+
* Only supports query-specific models (latte_v1).
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* // Same query for all contexts
|
|
121
|
+
* const result = await client.compressBatch({
|
|
122
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
123
|
+
* queries: 'What are the key points?',
|
|
124
|
+
* });
|
|
125
|
+
*
|
|
126
|
+
* // Different query per context
|
|
127
|
+
* const result = await client.compressBatch({
|
|
128
|
+
* contexts: ['ML doc...', 'NLP doc...'],
|
|
129
|
+
* queries: ['What is ML?', 'What is NLP?'],
|
|
130
|
+
* });
|
|
131
|
+
*
|
|
132
|
+
* console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
compressBatch(options: CompressBatchOptions): Promise<CompressBatchResponse>;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,+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,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,OAAO,EAAE,iBAAiB;IAItC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASnE;;;;;;;;;;;OAWG;IACI,cAAc,CACnB,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAW/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;CAsDlC"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CompressionClient - Token-level context compression
|
|
3
|
+
*
|
|
4
|
+
* Compresses context text to reduce token count before sending to LLMs.
|
|
5
|
+
* Supports both agnostic (no query) and query-specific compression.
|
|
6
|
+
*
|
|
7
|
+
* Models:
|
|
8
|
+
* - espresso_v1 (default): Agnostic compression, no query needed
|
|
9
|
+
* - latte_v1: Query-specific compression, query REQUIRED
|
|
10
|
+
*/
|
|
11
|
+
import { ZodError } from 'zod';
|
|
12
|
+
import { ENDPOINTS, ALLOWED_COMPRESSION_MODELS, QUERY_REQUIRED_MODELS, AGNOSTIC_ENDPOINT_MODELS, MODELS, } from '../config/index.js';
|
|
13
|
+
import { ValidationError } from '../errors/index.js';
|
|
14
|
+
import { HttpClient } from '../http/client.js';
|
|
15
|
+
import { CompressRequestSchema, CompressResponseSchema, CompressBatchRequestSchema, CompressBatchResponseSchema, } from '../schemas/index.js';
|
|
16
|
+
/**
|
|
17
|
+
* Token-level compression client
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { CompressionClient } from 'compresr';
|
|
22
|
+
*
|
|
23
|
+
* const client = new CompressionClient({ apiKey: 'cmp_...' });
|
|
24
|
+
*
|
|
25
|
+
* // Agnostic compression
|
|
26
|
+
* const result = await client.compress({
|
|
27
|
+
* context: 'Your long context...',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Query-specific compression
|
|
31
|
+
* const result = await client.compress({
|
|
32
|
+
* context: 'Your long context...',
|
|
33
|
+
* query: 'What is the main conclusion?',
|
|
34
|
+
* compressionModelName: 'latte_v1',
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export class CompressionClient {
|
|
39
|
+
http;
|
|
40
|
+
constructor(options) {
|
|
41
|
+
this.http = new HttpClient(options);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Validate that the model is allowed
|
|
45
|
+
*/
|
|
46
|
+
validateModel(modelName) {
|
|
47
|
+
if (!ALLOWED_COMPRESSION_MODELS.has(modelName)) {
|
|
48
|
+
const allowed = Array.from(ALLOWED_COMPRESSION_MODELS).join(', ');
|
|
49
|
+
throw new ValidationError(`Model '${modelName}' is not valid for CompressionClient. Allowed: ${allowed}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Validate query parameter against model requirements
|
|
54
|
+
*/
|
|
55
|
+
validateQueryForModel(modelName, query) {
|
|
56
|
+
if (QUERY_REQUIRED_MODELS.has(modelName) && !query) {
|
|
57
|
+
throw new ValidationError(`Model '${modelName}' requires a 'query' parameter.`);
|
|
58
|
+
}
|
|
59
|
+
if (!QUERY_REQUIRED_MODELS.has(modelName) && query !== undefined) {
|
|
60
|
+
throw new ValidationError(`Model '${modelName}' does not accept a 'query' parameter. ` +
|
|
61
|
+
`Remove the query or use 'latte_v1' for query-specific compression.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve endpoints based on model name
|
|
66
|
+
*/
|
|
67
|
+
resolveEndpoints(modelName) {
|
|
68
|
+
if (AGNOSTIC_ENDPOINT_MODELS.has(modelName)) {
|
|
69
|
+
return {
|
|
70
|
+
base: ENDPOINTS.COMPRESS_AGNOSTIC,
|
|
71
|
+
stream: ENDPOINTS.COMPRESS_AGNOSTIC_STREAM,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
base: ENDPOINTS.COMPRESS_QS,
|
|
76
|
+
stream: ENDPOINTS.COMPRESS_QS_STREAM,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build request payload
|
|
81
|
+
*/
|
|
82
|
+
buildRequest(options) {
|
|
83
|
+
const modelName = options.compressionModelName ?? MODELS.ESPRESSO;
|
|
84
|
+
this.validateModel(modelName);
|
|
85
|
+
this.validateQueryForModel(modelName, options.query);
|
|
86
|
+
try {
|
|
87
|
+
const request = CompressRequestSchema.parse({
|
|
88
|
+
context: options.context,
|
|
89
|
+
compression_model_name: modelName,
|
|
90
|
+
query: options.query,
|
|
91
|
+
target_compression_ratio: options.targetCompressionRatio,
|
|
92
|
+
coarse: options.coarse,
|
|
93
|
+
});
|
|
94
|
+
return request;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error instanceof ZodError) {
|
|
98
|
+
const firstError = error.errors[0];
|
|
99
|
+
throw new ValidationError(firstError?.message ?? 'Validation failed', firstError?.path.join('.'));
|
|
100
|
+
}
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// ==========================================================================
|
|
105
|
+
// Public Methods
|
|
106
|
+
// ==========================================================================
|
|
107
|
+
/**
|
|
108
|
+
* Compress context (async)
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* // Agnostic compression (espresso_v1)
|
|
113
|
+
* const result = await client.compress({
|
|
114
|
+
* context: 'Your long context text...',
|
|
115
|
+
* });
|
|
116
|
+
*
|
|
117
|
+
* // Query-specific compression (latte_v1)
|
|
118
|
+
* const result = await client.compress({
|
|
119
|
+
* context: 'Your long context text...',
|
|
120
|
+
* query: 'What is the main conclusion?',
|
|
121
|
+
* compressionModelName: 'latte_v1',
|
|
122
|
+
* });
|
|
123
|
+
*
|
|
124
|
+
* console.log(`Saved ${result.data.tokens_saved} tokens!`);
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
async compress(options) {
|
|
128
|
+
const modelName = options.compressionModelName ?? MODELS.ESPRESSO;
|
|
129
|
+
const request = this.buildRequest(options);
|
|
130
|
+
const { base } = this.resolveEndpoints(modelName);
|
|
131
|
+
const response = await this.http.post(base, request);
|
|
132
|
+
return CompressResponseSchema.parse(response);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stream compression chunks
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* for await (const chunk of client.compressStream({
|
|
140
|
+
* context: 'Your long context...',
|
|
141
|
+
* })) {
|
|
142
|
+
* process.stdout.write(chunk.content);
|
|
143
|
+
* }
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
async *compressStream(options) {
|
|
147
|
+
const modelName = options.compressionModelName ?? MODELS.ESPRESSO;
|
|
148
|
+
const request = this.buildRequest(options);
|
|
149
|
+
const { stream } = this.resolveEndpoints(modelName);
|
|
150
|
+
for await (const content of this.http.stream(stream, request)) {
|
|
151
|
+
yield { content, done: false };
|
|
152
|
+
}
|
|
153
|
+
yield { content: '', done: true };
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Batch compress multiple contexts
|
|
157
|
+
*
|
|
158
|
+
* More efficient than calling compress() multiple times.
|
|
159
|
+
* Only supports query-specific models (latte_v1).
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* // Same query for all contexts
|
|
164
|
+
* const result = await client.compressBatch({
|
|
165
|
+
* contexts: ['Doc 1...', 'Doc 2...', 'Doc 3...'],
|
|
166
|
+
* queries: 'What are the key points?',
|
|
167
|
+
* });
|
|
168
|
+
*
|
|
169
|
+
* // Different query per context
|
|
170
|
+
* const result = await client.compressBatch({
|
|
171
|
+
* contexts: ['ML doc...', 'NLP doc...'],
|
|
172
|
+
* queries: ['What is ML?', 'What is NLP?'],
|
|
173
|
+
* });
|
|
174
|
+
*
|
|
175
|
+
* console.log(`Saved ${result.data.total_tokens_saved} tokens!`);
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
async compressBatch(options) {
|
|
179
|
+
const modelName = options.compressionModelName ?? MODELS.LATTE;
|
|
180
|
+
// Batch only supports query-specific models
|
|
181
|
+
if (!QUERY_REQUIRED_MODELS.has(modelName)) {
|
|
182
|
+
throw new ValidationError(`Batch compression only supports query-specific models: ${Array.from(QUERY_REQUIRED_MODELS).join(', ')}`);
|
|
183
|
+
}
|
|
184
|
+
this.validateModel(modelName);
|
|
185
|
+
// Build query list
|
|
186
|
+
const queryList = typeof options.queries === 'string'
|
|
187
|
+
? Array(options.contexts.length).fill(options.queries)
|
|
188
|
+
: options.queries;
|
|
189
|
+
if (queryList.length !== options.contexts.length) {
|
|
190
|
+
throw new ValidationError(`Number of queries (${queryList.length}) must match number of contexts (${options.contexts.length})`);
|
|
191
|
+
}
|
|
192
|
+
// Build inputs
|
|
193
|
+
const inputs = options.contexts.map((context, i) => ({
|
|
194
|
+
context,
|
|
195
|
+
query: queryList[i],
|
|
196
|
+
}));
|
|
197
|
+
try {
|
|
198
|
+
const request = CompressBatchRequestSchema.parse({
|
|
199
|
+
inputs,
|
|
200
|
+
compression_model_name: modelName,
|
|
201
|
+
target_compression_ratio: options.targetCompressionRatio,
|
|
202
|
+
coarse: options.coarse,
|
|
203
|
+
});
|
|
204
|
+
const response = await this.http.post(ENDPOINTS.COMPRESS_QS_BATCH, request);
|
|
205
|
+
return CompressBatchResponseSchema.parse(response);
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
if (error instanceof ZodError) {
|
|
209
|
+
const firstError = error.errors[0];
|
|
210
|
+
throw new ValidationError(firstError?.message ?? 'Validation failed', firstError?.path.join('.'));
|
|
211
|
+
}
|
|
212
|
+
throw error;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../../src/clients/compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,kBAAkB,CAAC"}
|