@bowenqt/qiniu-ai-sdk 0.15.0 → 0.17.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/dist/ai/agent-graph.d.ts +5 -0
- package/dist/ai/agent-graph.d.ts.map +1 -1
- package/dist/ai/agent-graph.js +21 -2
- package/dist/ai/agent-graph.js.map +1 -1
- package/dist/ai/agent-graph.mjs +21 -2
- package/dist/ai/create-agent.d.ts +3 -0
- package/dist/ai/create-agent.d.ts.map +1 -1
- package/dist/ai/create-agent.js +6 -5
- package/dist/ai/create-agent.js.map +1 -1
- package/dist/ai/create-agent.mjs +6 -5
- package/dist/ai/generate-object.d.ts.map +1 -1
- package/dist/ai/generate-object.js +7 -1
- package/dist/ai/generate-object.js.map +1 -1
- package/dist/ai/generate-object.mjs +7 -1
- package/dist/ai/generate-text.d.ts +9 -1
- package/dist/ai/generate-text.d.ts.map +1 -1
- package/dist/ai/generate-text.js +25 -4
- package/dist/ai/generate-text.js.map +1 -1
- package/dist/ai/generate-text.mjs +25 -4
- package/dist/ai/internal-types.d.ts +11 -0
- package/dist/ai/internal-types.d.ts.map +1 -1
- package/dist/ai/internal-types.js +15 -0
- package/dist/ai/internal-types.js.map +1 -1
- package/dist/ai/internal-types.mjs +13 -0
- package/dist/ai/memory/index.d.ts +147 -0
- package/dist/ai/memory/index.d.ts.map +1 -0
- package/dist/ai/memory/index.js +240 -0
- package/dist/ai/memory/index.js.map +1 -0
- package/dist/ai/memory/index.mjs +234 -0
- package/dist/ai/nodes/memory-node.d.ts.map +1 -1
- package/dist/ai/nodes/memory-node.js +14 -16
- package/dist/ai/nodes/memory-node.js.map +1 -1
- package/dist/ai/nodes/memory-node.mjs +15 -17
- package/dist/ai/stream-object.d.ts +109 -0
- package/dist/ai/stream-object.d.ts.map +1 -0
- package/dist/ai/stream-object.js +383 -0
- package/dist/ai/stream-object.js.map +1 -0
- package/dist/ai/stream-object.mjs +347 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -1
- package/dist/lib/capability-cache.d.ts +72 -0
- package/dist/lib/capability-cache.d.ts.map +1 -0
- package/dist/lib/capability-cache.js +117 -0
- package/dist/lib/capability-cache.js.map +1 -0
- package/dist/lib/capability-cache.mjs +113 -0
- package/dist/lib/content-converter.d.ts +33 -0
- package/dist/lib/content-converter.d.ts.map +1 -0
- package/dist/lib/content-converter.js +166 -0
- package/dist/lib/content-converter.js.map +1 -0
- package/dist/lib/content-converter.mjs +161 -0
- package/dist/lib/messages.js +4 -3
- package/dist/lib/messages.js.map +1 -1
- package/dist/lib/messages.mjs +4 -3
- package/dist/lib/partial-json-parser.d.ts +63 -0
- package/dist/lib/partial-json-parser.d.ts.map +1 -0
- package/dist/lib/partial-json-parser.js +142 -0
- package/dist/lib/partial-json-parser.js.map +1 -0
- package/dist/lib/partial-json-parser.mjs +137 -0
- package/dist/lib/token-estimator.d.ts.map +1 -1
- package/dist/lib/token-estimator.js +3 -2
- package/dist/lib/token-estimator.js.map +1 -1
- package/dist/lib/token-estimator.mjs +3 -2
- package/dist/lib/types.d.ts +20 -4
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* streamObject - Stream structured output with incremental parsing.
|
|
3
|
+
* Bypasses predict-node to enable streaming with JSON schema.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { streamObject } from '@bowenqt/qiniu-ai-sdk';
|
|
8
|
+
* import { z } from 'zod';
|
|
9
|
+
*
|
|
10
|
+
* const { partialObjectStream, object } = await streamObject({
|
|
11
|
+
* client,
|
|
12
|
+
* model: 'gemini-2.5-flash',
|
|
13
|
+
* schema: z.object({
|
|
14
|
+
* title: z.string(),
|
|
15
|
+
* chapters: z.array(z.object({
|
|
16
|
+
* title: z.string(),
|
|
17
|
+
* content: z.string(),
|
|
18
|
+
* })),
|
|
19
|
+
* }),
|
|
20
|
+
* prompt: 'Generate a book outline about AI',
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // Stream partial objects
|
|
24
|
+
* for await (const partial of partialObjectStream) {
|
|
25
|
+
* console.log(partial);
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* // Get final validated object
|
|
29
|
+
* const result = await object;
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
import { StructuredOutputError } from '../lib/errors.mjs';
|
|
33
|
+
import { PartialJsonParser } from '../lib/partial-json-parser.mjs';
|
|
34
|
+
import { capabilityCache } from '../lib/capability-cache.mjs';
|
|
35
|
+
import { generateObject } from './generate-object.mjs';
|
|
36
|
+
import { normalizeContent } from '../lib/content-converter.mjs';
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// JSON Schema Conversion (reuse from generate-object)
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Dynamic import cache for zod-to-json-schema
|
|
41
|
+
let loadAttempted = false;
|
|
42
|
+
let cachedZodToJsonSchema = null;
|
|
43
|
+
async function zodToJsonSchemaAsync(schema) {
|
|
44
|
+
if (!loadAttempted) {
|
|
45
|
+
loadAttempted = true;
|
|
46
|
+
try {
|
|
47
|
+
const zodToJsonSchemaModule = await import('zod-to-json-schema');
|
|
48
|
+
cachedZodToJsonSchema = zodToJsonSchemaModule.zodToJsonSchema;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
cachedZodToJsonSchema = null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (cachedZodToJsonSchema) {
|
|
55
|
+
const result = cachedZodToJsonSchema(schema);
|
|
56
|
+
const { $schema, ...rest } = result;
|
|
57
|
+
return rest;
|
|
58
|
+
}
|
|
59
|
+
return parseZodSchemaToJsonSchema(schema);
|
|
60
|
+
}
|
|
61
|
+
function parseZodSchemaToJsonSchema(schema) {
|
|
62
|
+
const def = schema._def;
|
|
63
|
+
if (!def) {
|
|
64
|
+
return { type: 'object' };
|
|
65
|
+
}
|
|
66
|
+
const typeName = def.typeName;
|
|
67
|
+
switch (typeName) {
|
|
68
|
+
case 'ZodString':
|
|
69
|
+
return { type: 'string' };
|
|
70
|
+
case 'ZodNumber':
|
|
71
|
+
return { type: 'number' };
|
|
72
|
+
case 'ZodBoolean':
|
|
73
|
+
return { type: 'boolean' };
|
|
74
|
+
case 'ZodArray':
|
|
75
|
+
return {
|
|
76
|
+
type: 'array',
|
|
77
|
+
items: def.type ? parseZodSchemaToJsonSchema(def.type) : {},
|
|
78
|
+
};
|
|
79
|
+
case 'ZodObject': {
|
|
80
|
+
const shape = def.shape?.() ?? {};
|
|
81
|
+
const properties = {};
|
|
82
|
+
const required = [];
|
|
83
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
84
|
+
properties[key] = parseZodSchemaToJsonSchema(value);
|
|
85
|
+
const innerDef = value?._def;
|
|
86
|
+
if (innerDef?.typeName !== 'ZodOptional') {
|
|
87
|
+
required.push(key);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
type: 'object',
|
|
92
|
+
properties,
|
|
93
|
+
...(required.length > 0 ? { required } : {}),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
default:
|
|
97
|
+
return { type: 'object' };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// ============================================================================
|
|
101
|
+
// Error Classification
|
|
102
|
+
// ============================================================================
|
|
103
|
+
/**
|
|
104
|
+
* Check if error indicates unsupported streaming format.
|
|
105
|
+
*/
|
|
106
|
+
function isUnsupportedStreamError(error) {
|
|
107
|
+
// Check error code
|
|
108
|
+
const code = error?.code;
|
|
109
|
+
if (code === 'UNSUPPORTED_STREAM_FORMAT' ||
|
|
110
|
+
code === 'INVALID_RESPONSE_FORMAT' ||
|
|
111
|
+
code === 'unsupported_response_format') {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
// Check HTTP status
|
|
115
|
+
const status = error?.status;
|
|
116
|
+
if (status === 400 || status === 422) {
|
|
117
|
+
const message = String(error?.message ?? '').toLowerCase();
|
|
118
|
+
if (message.includes('stream') ||
|
|
119
|
+
message.includes('response_format') ||
|
|
120
|
+
message.includes('json_schema')) {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
// ============================================================================
|
|
127
|
+
// Main Function
|
|
128
|
+
// ============================================================================
|
|
129
|
+
/**
|
|
130
|
+
* Stream structured output with JSON schema validation.
|
|
131
|
+
*/
|
|
132
|
+
export async function streamObject(options) {
|
|
133
|
+
const { client, model, schema, allowFallback = false } = options;
|
|
134
|
+
// Check capability cache
|
|
135
|
+
if (capabilityCache.isNotSupported(client, model, 'stream_json_schema')) {
|
|
136
|
+
if (allowFallback) {
|
|
137
|
+
return createFallbackResult(options);
|
|
138
|
+
}
|
|
139
|
+
throw new Error(`Model ${model} does not support streaming JSON schema. Set allowFallback: true to use non-streaming.`);
|
|
140
|
+
}
|
|
141
|
+
// Try streaming
|
|
142
|
+
try {
|
|
143
|
+
return await streamObjectInternal(options);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (isUnsupportedStreamError(error)) {
|
|
147
|
+
// Cache the failure
|
|
148
|
+
capabilityCache.set(client, model, 'stream_json_schema', false);
|
|
149
|
+
if (allowFallback) {
|
|
150
|
+
console.warn('streamObject: API does not support streaming JSON schema, falling back to non-streaming');
|
|
151
|
+
return createFallbackResult(options);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Internal streaming implementation.
|
|
159
|
+
*/
|
|
160
|
+
async function streamObjectInternal(options) {
|
|
161
|
+
const { client, model, schema, prompt, messages, system, temperature, topP, maxTokens, abortSignal } = options;
|
|
162
|
+
// Build messages
|
|
163
|
+
const apiMessages = [];
|
|
164
|
+
if (system) {
|
|
165
|
+
apiMessages.push({ role: 'system', content: system });
|
|
166
|
+
}
|
|
167
|
+
if (messages) {
|
|
168
|
+
apiMessages.push(...messages);
|
|
169
|
+
}
|
|
170
|
+
if (prompt) {
|
|
171
|
+
apiMessages.push({ role: 'user', content: prompt });
|
|
172
|
+
}
|
|
173
|
+
// Convert schema to JSON Schema
|
|
174
|
+
const jsonSchema = await zodToJsonSchemaAsync(schema);
|
|
175
|
+
// Build response format
|
|
176
|
+
const responseFormat = {
|
|
177
|
+
type: 'json_schema',
|
|
178
|
+
json_schema: {
|
|
179
|
+
name: 'response',
|
|
180
|
+
strict: true,
|
|
181
|
+
schema: jsonSchema,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
// Normalize multimodal content (image -> image_url) for API compatibility
|
|
185
|
+
const normalizedMessages = apiMessages.map(msg => ({
|
|
186
|
+
...msg,
|
|
187
|
+
content: normalizeContent(msg.content),
|
|
188
|
+
}));
|
|
189
|
+
// Create streaming request - bypass predict-node, go directly to client
|
|
190
|
+
const response = await client.chat.createStream({
|
|
191
|
+
model,
|
|
192
|
+
messages: normalizedMessages,
|
|
193
|
+
temperature,
|
|
194
|
+
top_p: topP,
|
|
195
|
+
max_tokens: maxTokens,
|
|
196
|
+
response_format: responseFormat,
|
|
197
|
+
}, { signal: abortSignal });
|
|
198
|
+
// NOTE: capabilityCache is set AFTER stream completes successfully (in background consumer)
|
|
199
|
+
// Create parser and state
|
|
200
|
+
const parser = new PartialJsonParser();
|
|
201
|
+
let rawText = '';
|
|
202
|
+
let usage;
|
|
203
|
+
let resolveObject;
|
|
204
|
+
let rejectObject;
|
|
205
|
+
let resolveRaw;
|
|
206
|
+
let resolveUsage;
|
|
207
|
+
const objectPromise = new Promise((resolve, reject) => {
|
|
208
|
+
resolveObject = resolve;
|
|
209
|
+
rejectObject = reject;
|
|
210
|
+
});
|
|
211
|
+
const rawTextPromise = new Promise((resolve) => {
|
|
212
|
+
resolveRaw = resolve;
|
|
213
|
+
});
|
|
214
|
+
const usagePromise = new Promise((resolve) => {
|
|
215
|
+
resolveUsage = resolve;
|
|
216
|
+
});
|
|
217
|
+
// Shared state for background consumer and partial stream
|
|
218
|
+
const partialValues = [];
|
|
219
|
+
let streamComplete = false;
|
|
220
|
+
let streamError = null;
|
|
221
|
+
const waiters = [];
|
|
222
|
+
// Background consumer - ensures object resolves even if partialObjectStream is not iterated
|
|
223
|
+
const backgroundConsumer = (async () => {
|
|
224
|
+
try {
|
|
225
|
+
for await (const chunk of response) {
|
|
226
|
+
const delta = chunk.choices?.[0]?.delta?.content ?? '';
|
|
227
|
+
if (delta) {
|
|
228
|
+
rawText += delta;
|
|
229
|
+
parser.append(delta);
|
|
230
|
+
// Try to parse partial object
|
|
231
|
+
const result = parser.parsePartial();
|
|
232
|
+
if (result.value !== null) {
|
|
233
|
+
partialValues.push(result.value);
|
|
234
|
+
// Wake up any waiting iterators
|
|
235
|
+
while (waiters.length > 0) {
|
|
236
|
+
waiters.shift().resolve(false);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Capture usage from final chunk
|
|
241
|
+
if (chunk.usage) {
|
|
242
|
+
usage = chunk.usage;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// Stream complete - cache success
|
|
246
|
+
capabilityCache.set(client, model, 'stream_json_schema', true);
|
|
247
|
+
// Resolve final values
|
|
248
|
+
streamComplete = true;
|
|
249
|
+
resolveRaw(rawText);
|
|
250
|
+
resolveUsage(usage);
|
|
251
|
+
// Validate final object
|
|
252
|
+
try {
|
|
253
|
+
const parseResult = schema.safeParse(JSON.parse(rawText));
|
|
254
|
+
if (parseResult.success) {
|
|
255
|
+
resolveObject(parseResult.data);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const validationErrors = parseResult.error.errors.map(e => ({
|
|
259
|
+
path: e.path.map(String),
|
|
260
|
+
message: e.message,
|
|
261
|
+
}));
|
|
262
|
+
const error = new StructuredOutputError('Validation failed', rawText, validationErrors);
|
|
263
|
+
streamError = error; // Ensure partialObjectStream also throws
|
|
264
|
+
rejectObject(error);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
const error = e instanceof Error ? e : new Error(String(e));
|
|
269
|
+
streamError = error; // Ensure partialObjectStream also throws
|
|
270
|
+
rejectObject(error);
|
|
271
|
+
}
|
|
272
|
+
// Wake up any waiting iterators
|
|
273
|
+
while (waiters.length > 0) {
|
|
274
|
+
waiters.shift().resolve(true);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
streamError = error instanceof Error ? error : new Error(String(error));
|
|
279
|
+
streamComplete = true;
|
|
280
|
+
resolveRaw(rawText);
|
|
281
|
+
resolveUsage(usage);
|
|
282
|
+
rejectObject(streamError);
|
|
283
|
+
// Wake up any waiting iterators
|
|
284
|
+
while (waiters.length > 0) {
|
|
285
|
+
waiters.shift().resolve(true);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
})();
|
|
289
|
+
// Create async generator for partial objects (consumes from shared state)
|
|
290
|
+
async function* generatePartials() {
|
|
291
|
+
let yieldedCount = 0;
|
|
292
|
+
while (true) {
|
|
293
|
+
// Yield any new partial values
|
|
294
|
+
while (yieldedCount < partialValues.length) {
|
|
295
|
+
yield partialValues[yieldedCount++];
|
|
296
|
+
}
|
|
297
|
+
// Check if stream is complete
|
|
298
|
+
if (streamComplete) {
|
|
299
|
+
if (streamError)
|
|
300
|
+
throw streamError;
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
// Wait for more data
|
|
304
|
+
await new Promise((resolve) => {
|
|
305
|
+
waiters.push({ resolve });
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
partialObjectStream: generatePartials(),
|
|
311
|
+
object: objectPromise,
|
|
312
|
+
rawText: rawTextPromise,
|
|
313
|
+
usage: usagePromise,
|
|
314
|
+
streamed: true,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Create fallback result using non-streaming generateObject.
|
|
319
|
+
*/
|
|
320
|
+
async function createFallbackResult(options) {
|
|
321
|
+
// Use generateObject (non-streaming)
|
|
322
|
+
const result = await generateObject({
|
|
323
|
+
client: options.client,
|
|
324
|
+
model: options.model,
|
|
325
|
+
schema: options.schema,
|
|
326
|
+
prompt: options.prompt,
|
|
327
|
+
messages: options.messages,
|
|
328
|
+
system: options.system,
|
|
329
|
+
temperature: options.temperature,
|
|
330
|
+
topP: options.topP,
|
|
331
|
+
maxTokens: options.maxTokens,
|
|
332
|
+
mode: 'strict',
|
|
333
|
+
abortSignal: options.abortSignal,
|
|
334
|
+
});
|
|
335
|
+
// Create single-yield async iterable
|
|
336
|
+
async function* singleYield() {
|
|
337
|
+
yield result.object;
|
|
338
|
+
}
|
|
339
|
+
return {
|
|
340
|
+
partialObjectStream: singleYield(),
|
|
341
|
+
object: Promise.resolve(result.object),
|
|
342
|
+
rawText: Promise.resolve(result.raw),
|
|
343
|
+
usage: Promise.resolve(result.usage),
|
|
344
|
+
streamed: false,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=stream-object.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export { generateText, serializeToolResult } from './ai/generate-text';
|
|
|
12
12
|
export type { GenerateTextOptions, GenerateTextResult, StepResult, Tool, ToolResult, } from './ai/generate-text';
|
|
13
13
|
export { generateObject } from './ai/generate-object';
|
|
14
14
|
export type { GenerateObjectOptions, GenerateObjectResult, GenerateObjectMode, } from './ai/generate-object';
|
|
15
|
+
export { streamObject } from './ai/stream-object';
|
|
16
|
+
export type { StreamObjectOptions, StreamObjectResult, DeepPartial, } from './ai/stream-object';
|
|
17
|
+
export { PartialJsonParser, parsePartialJson } from './lib/partial-json-parser';
|
|
18
|
+
export type { ParseResult } from './lib/partial-json-parser';
|
|
15
19
|
export type { ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, ChatMessage, ContentPart, ToolCall, ChatDelta, ToolCallDelta, } from './lib/types';
|
|
16
20
|
export type { StreamOptions, StreamResult } from './modules/chat';
|
|
17
21
|
export { parseSSEStream, createStreamAccumulator, accumulateDelta } from './lib/sse';
|
|
@@ -33,8 +37,10 @@ export type { AgentGraphOptions, AgentGraphResult } from './ai/agent-graph';
|
|
|
33
37
|
export { createAgent } from './ai/create-agent';
|
|
34
38
|
export type { AgentConfig, Agent, AgentRunOptions, AgentRunWithThreadOptions } from './ai/create-agent';
|
|
35
39
|
export type { ApprovalConfig, ApprovalHandler, ApprovalContext, ApprovalResult } from './ai/tool-approval';
|
|
36
|
-
export type { InternalMessage, AgentState, StepResult as GraphStepResult, AgentGraphEvents } from './ai/internal-types';
|
|
37
|
-
export { stripMeta, isDroppable, getSkillId } from './ai/internal-types';
|
|
40
|
+
export type { InternalMessage, AgentState, StepResult as GraphStepResult, AgentGraphEvents, MessageMeta } from './ai/internal-types';
|
|
41
|
+
export { stripMeta, isDroppable, getSkillId, getSummaryId, getDroppableId } from './ai/internal-types';
|
|
42
|
+
export { MemoryManager, InMemoryVectorStore, isDroppable as isMessageDroppable } from './ai/memory';
|
|
43
|
+
export type { MemoryConfig, MemoryProcessOptions, MemoryProcessResult, ShortTermMemoryConfig, SummarizerConfig, LongTermMemoryConfig, VectorStore, VectorDocument, } from './ai/memory';
|
|
38
44
|
export { SkillLoader } from './modules/skills';
|
|
39
45
|
export type { Skill } from './modules/skills';
|
|
40
46
|
export { MCPClient, MCPClientError, adaptMCPToolsToRegistry, getAllMCPToolsAsRegistered, MCPHttpTransport, MCPHttpTransportError, PKCEFlow, DeviceCodeFlow, OAuthError, generateCodeVerifier, generateCodeChallenge, generateState, refreshAccessToken, MemoryTokenStore, FileTokenStore, TokenManager, } from './modules/mcp';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.OTelTracer = exports.PRODUCTION_TRACER_CONFIG = exports.DEFAULT_TRACER_CONFIG = exports.redactAttributes = exports.redactContent = exports.getGlobalTracer = exports.setGlobalTracer = exports.ConsoleTracer = exports.NoopTracer = exports.DEFAULT_ESTIMATOR_CONFIG = exports.estimateMessagesTokens = exports.estimateMessageTokens = exports.defaultContentEstimator = exports.createTokenEstimator = exports.ContextOverflowError = exports.buildToolPairs = exports.compactMessages = exports.MaxGraphStepsError = exports.END = exports.StateGraph = exports.ToolConflictError = exports.ToolRegistry = exports.resumeWithApproval = exports.getPendingApproval = exports.isPendingApproval = exports.PostgresCheckpointer = exports.RedisCheckpointer = exports.deserializeCheckpoint = exports.MemoryCheckpointer = exports.TokenManager = void 0;
|
|
17
|
+
exports.PKCEFlow = exports.MCPHttpTransportError = exports.MCPHttpTransport = exports.getAllMCPToolsAsRegistered = exports.adaptMCPToolsToRegistry = exports.MCPClientError = exports.MCPClient = exports.SkillLoader = exports.isMessageDroppable = exports.InMemoryVectorStore = exports.MemoryManager = exports.getDroppableId = exports.getSummaryId = exports.getSkillId = exports.isDroppable = exports.stripMeta = exports.createAgent = exports.AgentGraph = exports.generateTextWithGraph = exports.createPoller = exports.pollUntilComplete = exports.accumulateDelta = exports.createStreamAccumulator = exports.parseSSEStream = exports.parsePartialJson = exports.PartialJsonParser = exports.streamObject = exports.generateObject = exports.serializeToolResult = exports.generateText = exports.truncateHistory = exports.appendMessages = exports.StructuredOutputError = exports.MaxStepsExceededError = exports.ToolExecutionError = exports.AIError = exports.APIError = exports.MODEL_CATALOG = exports.VIDEO_MODELS = exports.IMAGE_MODELS = exports.CHAT_MODELS = exports.timingMiddleware = exports.headersMiddleware = exports.retryMiddleware = exports.composeMiddleware = exports.defaultFetchAdapter = exports.createFilteredLogger = exports.noopLogger = exports.consoleLogger = exports.QiniuAI = void 0;
|
|
18
|
+
exports.OTelTracer = exports.PRODUCTION_TRACER_CONFIG = exports.DEFAULT_TRACER_CONFIG = exports.redactAttributes = exports.redactContent = exports.getGlobalTracer = exports.setGlobalTracer = exports.ConsoleTracer = exports.NoopTracer = exports.DEFAULT_ESTIMATOR_CONFIG = exports.estimateMessagesTokens = exports.estimateMessageTokens = exports.defaultContentEstimator = exports.createTokenEstimator = exports.ContextOverflowError = exports.buildToolPairs = exports.compactMessages = exports.MaxGraphStepsError = exports.END = exports.StateGraph = exports.ToolConflictError = exports.ToolRegistry = exports.resumeWithApproval = exports.getPendingApproval = exports.isPendingApproval = exports.PostgresCheckpointer = exports.RedisCheckpointer = exports.deserializeCheckpoint = exports.MemoryCheckpointer = exports.TokenManager = exports.FileTokenStore = exports.MemoryTokenStore = exports.refreshAccessToken = exports.generateState = exports.generateCodeChallenge = exports.generateCodeVerifier = exports.OAuthError = exports.DeviceCodeFlow = void 0;
|
|
19
19
|
// Main client
|
|
20
20
|
var client_1 = require("./client");
|
|
21
21
|
Object.defineProperty(exports, "QiniuAI", { enumerable: true, get: function () { return client_1.QiniuAI; } });
|
|
@@ -54,6 +54,13 @@ Object.defineProperty(exports, "serializeToolResult", { enumerable: true, get: f
|
|
|
54
54
|
// generateObject (structured output)
|
|
55
55
|
var generate_object_1 = require("./ai/generate-object");
|
|
56
56
|
Object.defineProperty(exports, "generateObject", { enumerable: true, get: function () { return generate_object_1.generateObject; } });
|
|
57
|
+
// streamObject (streaming structured output)
|
|
58
|
+
var stream_object_1 = require("./ai/stream-object");
|
|
59
|
+
Object.defineProperty(exports, "streamObject", { enumerable: true, get: function () { return stream_object_1.streamObject; } });
|
|
60
|
+
// Partial JSON parser (for advanced users)
|
|
61
|
+
var partial_json_parser_1 = require("./lib/partial-json-parser");
|
|
62
|
+
Object.defineProperty(exports, "PartialJsonParser", { enumerable: true, get: function () { return partial_json_parser_1.PartialJsonParser; } });
|
|
63
|
+
Object.defineProperty(exports, "parsePartialJson", { enumerable: true, get: function () { return partial_json_parser_1.parsePartialJson; } });
|
|
57
64
|
// SSE utilities (for advanced users who want to parse streams manually)
|
|
58
65
|
var sse_1 = require("./lib/sse");
|
|
59
66
|
Object.defineProperty(exports, "parseSSEStream", { enumerable: true, get: function () { return sse_1.parseSSEStream; } });
|
|
@@ -79,6 +86,13 @@ var internal_types_1 = require("./ai/internal-types");
|
|
|
79
86
|
Object.defineProperty(exports, "stripMeta", { enumerable: true, get: function () { return internal_types_1.stripMeta; } });
|
|
80
87
|
Object.defineProperty(exports, "isDroppable", { enumerable: true, get: function () { return internal_types_1.isDroppable; } });
|
|
81
88
|
Object.defineProperty(exports, "getSkillId", { enumerable: true, get: function () { return internal_types_1.getSkillId; } });
|
|
89
|
+
Object.defineProperty(exports, "getSummaryId", { enumerable: true, get: function () { return internal_types_1.getSummaryId; } });
|
|
90
|
+
Object.defineProperty(exports, "getDroppableId", { enumerable: true, get: function () { return internal_types_1.getDroppableId; } });
|
|
91
|
+
// Memory Manager
|
|
92
|
+
var memory_1 = require("./ai/memory");
|
|
93
|
+
Object.defineProperty(exports, "MemoryManager", { enumerable: true, get: function () { return memory_1.MemoryManager; } });
|
|
94
|
+
Object.defineProperty(exports, "InMemoryVectorStore", { enumerable: true, get: function () { return memory_1.InMemoryVectorStore; } });
|
|
95
|
+
Object.defineProperty(exports, "isMessageDroppable", { enumerable: true, get: function () { return memory_1.isDroppable; } });
|
|
82
96
|
// Skills
|
|
83
97
|
var skills_1 = require("./modules/skills");
|
|
84
98
|
Object.defineProperty(exports, "SkillLoader", { enumerable: true, get: function () { return skills_1.SkillLoader; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,mCAUkB;AATd,iGAAA,OAAO,OAAA;AACP,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAGpB,gBAAgB;AAChB,mCAKkB;AAJd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AAsBjB,cAAc;AACd,yCAAyC;AAAhC,mGAAA,QAAQ,OAAA;AACjB,uCAAyG;AAAhG,iGAAA,OAAO,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAAE,+GAAA,qBAAqB,OAAA;AAGlF,eAAe;AACf,8CAA4B;AAE5B,kBAAkB;AAClB,2CAAiE;AAAxD,0GAAA,cAAc,OAAA;AAAE,2GAAA,eAAe,OAAA;AAGxC,sBAAsB;AACtB,oDAAuE;AAA9D,6GAAA,YAAY,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAS1C,qCAAqC;AACrC,wDAAsD;AAA7C,iHAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -13,6 +13,10 @@ export { appendMessages, truncateHistory } from './lib/messages.mjs';
|
|
|
13
13
|
export { generateText, serializeToolResult } from './ai/generate-text.mjs';
|
|
14
14
|
// generateObject (structured output)
|
|
15
15
|
export { generateObject } from './ai/generate-object.mjs';
|
|
16
|
+
// streamObject (streaming structured output)
|
|
17
|
+
export { streamObject } from './ai/stream-object.mjs';
|
|
18
|
+
// Partial JSON parser (for advanced users)
|
|
19
|
+
export { PartialJsonParser, parsePartialJson } from './lib/partial-json-parser.mjs';
|
|
16
20
|
// SSE utilities (for advanced users who want to parse streams manually)
|
|
17
21
|
export { parseSSEStream, createStreamAccumulator, accumulateDelta } from './lib/sse.mjs';
|
|
18
22
|
// Polling utilities (for advanced users who want to create custom pollers)
|
|
@@ -26,7 +30,9 @@ export { generateTextWithGraph } from './ai/generate-text.mjs';
|
|
|
26
30
|
export { AgentGraph } from './ai/agent-graph.mjs';
|
|
27
31
|
// createAgent (reusable agent wrapper)
|
|
28
32
|
export { createAgent } from './ai/create-agent.mjs';
|
|
29
|
-
export { stripMeta, isDroppable, getSkillId } from './ai/internal-types.mjs';
|
|
33
|
+
export { stripMeta, isDroppable, getSkillId, getSummaryId, getDroppableId } from './ai/internal-types.mjs';
|
|
34
|
+
// Memory Manager
|
|
35
|
+
export { MemoryManager, InMemoryVectorStore, isDroppable as isMessageDroppable } from './ai/memory.mjs';
|
|
30
36
|
// Skills
|
|
31
37
|
export { SkillLoader } from './modules/skills.mjs';
|
|
32
38
|
// MCP (Phase 1 + Phase 3)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability cache for model feature detection.
|
|
3
|
+
* Caches model capabilities per client/baseUrl to avoid redundant probing.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { capabilityCache } from './capability-cache';
|
|
8
|
+
*
|
|
9
|
+
* // Check if model supports streaming JSON
|
|
10
|
+
* const supports = capabilityCache.get(client, 'gemini-2.5-flash', 'stream_json_schema');
|
|
11
|
+
*
|
|
12
|
+
* // Cache result after probing
|
|
13
|
+
* capabilityCache.set(client, 'gemini-2.5-flash', 'stream_json_schema', true);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import type { IQiniuClient } from './types';
|
|
17
|
+
/**
|
|
18
|
+
* Capability types that can be cached.
|
|
19
|
+
*/
|
|
20
|
+
export type CapabilityType = 'stream_json_schema' | 'stream_json_object' | 'vision' | 'tools' | 'reasoning';
|
|
21
|
+
/**
|
|
22
|
+
* Capability cache implementation.
|
|
23
|
+
* Scoped by baseUrl + model + capability to avoid cross-provider contamination.
|
|
24
|
+
*/
|
|
25
|
+
declare class CapabilityCache {
|
|
26
|
+
private cache;
|
|
27
|
+
private ttlMs;
|
|
28
|
+
constructor(ttlMs?: number);
|
|
29
|
+
/**
|
|
30
|
+
* Generate cache key from client, model, and capability.
|
|
31
|
+
*/
|
|
32
|
+
private getKey;
|
|
33
|
+
/**
|
|
34
|
+
* Get cached capability status.
|
|
35
|
+
* Returns undefined if not cached or expired.
|
|
36
|
+
*/
|
|
37
|
+
get(client: IQiniuClient, model: string, capability: CapabilityType): boolean | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Set capability status.
|
|
40
|
+
*/
|
|
41
|
+
set(client: IQiniuClient, model: string, capability: CapabilityType, supported: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Check if capability is cached and supported.
|
|
44
|
+
*/
|
|
45
|
+
isSupported(client: IQiniuClient, model: string, capability: CapabilityType): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Check if capability is cached and not supported.
|
|
48
|
+
*/
|
|
49
|
+
isNotSupported(client: IQiniuClient, model: string, capability: CapabilityType): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Clear all cached entries.
|
|
52
|
+
*/
|
|
53
|
+
clear(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Clear entries for a specific client.
|
|
56
|
+
*/
|
|
57
|
+
clearForClient(client: IQiniuClient): void;
|
|
58
|
+
/**
|
|
59
|
+
* Get cache size.
|
|
60
|
+
*/
|
|
61
|
+
size(): number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Global capability cache instance.
|
|
65
|
+
*/
|
|
66
|
+
export declare const capabilityCache: CapabilityCache;
|
|
67
|
+
/**
|
|
68
|
+
* Create a new capability cache with custom TTL (for testing).
|
|
69
|
+
*/
|
|
70
|
+
export declare function createCapabilityCache(ttlMs?: number): CapabilityCache;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=capability-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-cache.d.ts","sourceRoot":"","sources":["../../src/lib/capability-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAelB;;;GAGG;AACH,cAAM,eAAe;IACjB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,SAAiB;IAIlC;;OAEG;IACH,OAAO,CAAC,MAAM;IAKd;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS;IAiBzF;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ9F;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO;IAIrF;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO;IAIxF;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAiB1C;;OAEG;IACH,IAAI,IAAI,MAAM;CAGjB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAErD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,CAErE"}
|