@agentick/core 0.12.1 → 0.12.3
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/.tsbuildinfo.build +1 -1
- package/dist/app/session.d.ts.map +1 -1
- package/dist/app/session.js +6 -3
- package/dist/app/session.js.map +1 -1
- package/dist/compiler/collector.d.ts.map +1 -1
- package/dist/compiler/collector.js +10 -2
- package/dist/compiler/collector.js.map +1 -1
- package/dist/hooks/com-state.d.ts.map +1 -1
- package/dist/hooks/com-state.js +7 -2
- package/dist/hooks/com-state.js.map +1 -1
- package/dist/model/adapter.d.ts +200 -0
- package/dist/model/adapter.d.ts.map +1 -1
- package/dist/model/adapter.js +217 -9
- package/dist/model/adapter.js.map +1 -1
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +2 -0
- package/dist/model/index.js.map +1 -1
- package/dist/model/stream-accumulator.d.ts +18 -0
- package/dist/model/stream-accumulator.d.ts.map +1 -1
- package/dist/model/stream-accumulator.js +62 -2
- package/dist/model/stream-accumulator.js.map +1 -1
- package/dist/model/stream-tag-parser.d.ts +62 -0
- package/dist/model/stream-tag-parser.d.ts.map +1 -0
- package/dist/model/stream-tag-parser.js +443 -0
- package/dist/model/stream-tag-parser.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"com-state.js","sourceRoot":"","sources":["../../src/hooks/com-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAA+B,MAAM,sBAAsB,CAAC;AAQpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,YAAe,EACf,OAA4B;IAE5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,kCAAkC;IAClC,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"com-state.js","sourceRoot":"","sources":["../../src/hooks/com-state.ts"],"names":[],"mappings":"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"}
|
package/dist/model/adapter.d.ts
CHANGED
|
@@ -293,6 +293,8 @@ export interface AdapterOptions<TProviderInput, TProviderOutput, TChunk> {
|
|
|
293
293
|
inputTokens: number;
|
|
294
294
|
outputTokens: number;
|
|
295
295
|
totalTokens: number;
|
|
296
|
+
reasoningTokens?: number;
|
|
297
|
+
cachedInputTokens?: number;
|
|
296
298
|
};
|
|
297
299
|
stopReason: string;
|
|
298
300
|
model: string;
|
|
@@ -356,7 +358,205 @@ export interface AdapterOptions<TProviderInput, TProviderOutput, TChunk> {
|
|
|
356
358
|
* This allows a single adapter to support both text generation and embedding.
|
|
357
359
|
*/
|
|
358
360
|
embed?: (texts: string[], options?: EmbedOptions) => Promise<EmbedResult>;
|
|
361
|
+
/**
|
|
362
|
+
* Custom blocks to intercept from the model's text output.
|
|
363
|
+
*
|
|
364
|
+
* Keys are semantic names used in application code. Each definition
|
|
365
|
+
* specifies what XML tag to intercept and how to handle the block.
|
|
366
|
+
*
|
|
367
|
+
* Internally creates a StreamTagParser + CustomBlockTransform pipeline,
|
|
368
|
+
* composed before any user-provided deltaTransform.
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* ```typescript
|
|
372
|
+
* createAdapter({
|
|
373
|
+
* customBlocks: {
|
|
374
|
+
* interpretation: {
|
|
375
|
+
* transform(block) {
|
|
376
|
+
* return [{ type: "text", delta: `[${block.content}]` }];
|
|
377
|
+
* },
|
|
378
|
+
* },
|
|
379
|
+
* done: { transform() { return []; } },
|
|
380
|
+
* "debug-info": {},
|
|
381
|
+
* },
|
|
382
|
+
* });
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
customBlocks?: Record<string, CustomBlockDefinition>;
|
|
386
|
+
/**
|
|
387
|
+
* Adapter-internal delta transform(s), applied FIRST in the pipeline.
|
|
388
|
+
*
|
|
389
|
+
* Runs before custom blocks and before the user's deltaTransform. Use for
|
|
390
|
+
* provider-specific stream cleanup (e.g., ThinkTagParser strips `<think>`
|
|
391
|
+
* tags before custom blocks see the text).
|
|
392
|
+
*
|
|
393
|
+
* Pipeline order: adapterTransform → customBlocks → deltaTransform
|
|
394
|
+
*
|
|
395
|
+
* Accepts a single transform, an array, or a factory function.
|
|
396
|
+
*/
|
|
397
|
+
adapterTransform?: DeltaTransformInput;
|
|
398
|
+
/**
|
|
399
|
+
* User-facing delta transform applied after custom blocks, before accumulation.
|
|
400
|
+
*
|
|
401
|
+
* Runs AFTER adapter transforms and custom blocks extraction. Use for
|
|
402
|
+
* arbitrary stream manipulation (markdown buffering, content rewriting, etc.).
|
|
403
|
+
*
|
|
404
|
+
* Accepts a single transform, an array, or a factory function that returns
|
|
405
|
+
* a fresh transform per stream call. Use a factory for stateful transforms
|
|
406
|
+
* (parsers with buffers) so each stream gets clean state.
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* ```typescript
|
|
410
|
+
* // Stateless transform — single instance is fine
|
|
411
|
+
* createAdapter({ ...options, deltaTransform: myStatelessTransform });
|
|
412
|
+
*
|
|
413
|
+
* // Stateful transform — factory ensures fresh state per stream
|
|
414
|
+
* createAdapter({ ...options, deltaTransform: () => new ThinkTagParser() });
|
|
415
|
+
*
|
|
416
|
+
* // Pipeline
|
|
417
|
+
* createAdapter({
|
|
418
|
+
* ...options,
|
|
419
|
+
* deltaTransform: [transform1, transform2],
|
|
420
|
+
* });
|
|
421
|
+
* ```
|
|
422
|
+
*/
|
|
423
|
+
deltaTransform?: DeltaTransformInput;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* A stateful transform that processes AdapterDeltas in the streaming pipeline.
|
|
427
|
+
* Sits between mapChunk output and StreamAccumulator input.
|
|
428
|
+
*
|
|
429
|
+
* Transforms can be composed into pipelines via {@link composeDeltaTransforms}.
|
|
430
|
+
*/
|
|
431
|
+
export interface DeltaTransform {
|
|
432
|
+
/** Process a delta, returning zero or more transformed deltas. */
|
|
433
|
+
process(delta: AdapterDelta): AdapterDelta[];
|
|
434
|
+
/** Flush any buffered content at stream end. */
|
|
435
|
+
flush(): AdapterDelta[];
|
|
359
436
|
}
|
|
437
|
+
/** Factory that creates a fresh DeltaTransform per stream call. */
|
|
438
|
+
export type DeltaTransformFactory = () => DeltaTransform;
|
|
439
|
+
/** Accepted forms for the deltaTransform adapter option. */
|
|
440
|
+
export type DeltaTransformInput = DeltaTransform | DeltaTransformFactory | DeltaTransform[];
|
|
441
|
+
/**
|
|
442
|
+
* Input passed to a custom block's transform function.
|
|
443
|
+
*/
|
|
444
|
+
export interface CustomBlockInput {
|
|
445
|
+
tag: string;
|
|
446
|
+
content: string;
|
|
447
|
+
attrs: Record<string, string>;
|
|
448
|
+
selfClosing?: boolean;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Definition for a custom block type.
|
|
452
|
+
*
|
|
453
|
+
* Custom blocks are XML-like tags in the model's text output that get
|
|
454
|
+
* intercepted, stripped from text, and handled by the application.
|
|
455
|
+
*
|
|
456
|
+
* @example
|
|
457
|
+
* ```typescript
|
|
458
|
+
* createAdapter({
|
|
459
|
+
* customBlocks: {
|
|
460
|
+
* // Passthrough — accumulate as CustomContentBlock
|
|
461
|
+
* citation: {},
|
|
462
|
+
*
|
|
463
|
+
* // Transform — rewrite into a text block
|
|
464
|
+
* interpretation: {
|
|
465
|
+
* transform(block) {
|
|
466
|
+
* return [{ type: "text", delta: `[${block.content}]` }];
|
|
467
|
+
* },
|
|
468
|
+
* },
|
|
469
|
+
*
|
|
470
|
+
* // Suppress — consume as side effect only
|
|
471
|
+
* done: {
|
|
472
|
+
* transform() { setDone(true); return []; },
|
|
473
|
+
* },
|
|
474
|
+
*
|
|
475
|
+
* // Override XML tag name
|
|
476
|
+
* debugInfo: {
|
|
477
|
+
* tag: "debug-info", // intercepts <debug-info>, key is "debugInfo"
|
|
478
|
+
* },
|
|
479
|
+
* },
|
|
480
|
+
* });
|
|
481
|
+
* ```
|
|
482
|
+
*/
|
|
483
|
+
export interface CustomBlockDefinition {
|
|
484
|
+
/**
|
|
485
|
+
* XML tag to intercept in the text stream.
|
|
486
|
+
* Defaults to the config key.
|
|
487
|
+
*/
|
|
488
|
+
tag?: string;
|
|
489
|
+
/**
|
|
490
|
+
* Short description of what this block represents.
|
|
491
|
+
* Appears in the auto-generated tag listing in the system prompt.
|
|
492
|
+
*
|
|
493
|
+
* When provided (alone or with `instructions`), the adapter automatically
|
|
494
|
+
* appends block documentation to the system prompt.
|
|
495
|
+
*
|
|
496
|
+
* @example
|
|
497
|
+
* ```typescript
|
|
498
|
+
* customBlocks: {
|
|
499
|
+
* citation: {
|
|
500
|
+
* description: "A quoted passage from a source.",
|
|
501
|
+
* },
|
|
502
|
+
* }
|
|
503
|
+
* ```
|
|
504
|
+
*/
|
|
505
|
+
description?: string;
|
|
506
|
+
/**
|
|
507
|
+
* Detailed usage instructions for the model.
|
|
508
|
+
* Appended after the description in the system prompt.
|
|
509
|
+
* Use for elaboration on when to use the block, constraints,
|
|
510
|
+
* expected attributes, or examples.
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* ```typescript
|
|
514
|
+
* customBlocks: {
|
|
515
|
+
* interpretation: {
|
|
516
|
+
* description: "Analytical insight derived from evidence.",
|
|
517
|
+
* instructions: "Use when synthesizing information or drawing conclusions from multiple sources. Do not use for direct observations.",
|
|
518
|
+
* },
|
|
519
|
+
* done: {
|
|
520
|
+
* description: "Signals task completion.",
|
|
521
|
+
* instructions: "Output <done/> only when the task is fully complete and no further action is needed.",
|
|
522
|
+
* transform() { return []; },
|
|
523
|
+
* },
|
|
524
|
+
* }
|
|
525
|
+
* ```
|
|
526
|
+
*/
|
|
527
|
+
instructions?: string;
|
|
528
|
+
/**
|
|
529
|
+
* Transform the complete block before it enters the content array.
|
|
530
|
+
*
|
|
531
|
+
* - Return `void` → passthrough as CustomContentBlock (default)
|
|
532
|
+
* - Return `AdapterDelta[]` → emit these instead (`[]` suppresses the block)
|
|
533
|
+
*/
|
|
534
|
+
transform?(block: CustomBlockInput): AdapterDelta[] | void;
|
|
535
|
+
/**
|
|
536
|
+
* Called when the opening tag is found, before content arrives.
|
|
537
|
+
* Side-effect only — does not affect output.
|
|
538
|
+
*/
|
|
539
|
+
onStart?(attrs: Record<string, string>): void;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Compose multiple DeltaTransforms into a single pipeline.
|
|
543
|
+
*
|
|
544
|
+
* Each transform's output feeds the next transform's input.
|
|
545
|
+
* On flush, each transform's buffered output cascades through
|
|
546
|
+
* subsequent transforms before they flush their own state.
|
|
547
|
+
*
|
|
548
|
+
* @example
|
|
549
|
+
* ```typescript
|
|
550
|
+
* const pipeline = composeDeltaTransforms(
|
|
551
|
+
* thinkTagParser, // strips <think> tags, emits reasoning
|
|
552
|
+
* customTagParser, // strips app-specific tags, emits custom blocks
|
|
553
|
+
* markdownBufferer, // coalesces text into render-friendly chunks
|
|
554
|
+
* );
|
|
555
|
+
*
|
|
556
|
+
* createAdapter({ ...opts, deltaTransform: pipeline });
|
|
557
|
+
* ```
|
|
558
|
+
*/
|
|
559
|
+
export declare function composeDeltaTransforms(...transforms: DeltaTransform[]): DeltaTransform;
|
|
360
560
|
/**
|
|
361
561
|
* Declarative options using ChunkMapping instead of mapChunk function.
|
|
362
562
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAEV,eAAe,EAGhB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/model/adapter.js
CHANGED
|
@@ -52,6 +52,7 @@ import { createEngineProcedure } from "../procedure/index.js";
|
|
|
52
52
|
import { StreamAccumulator, createChunkMapper, } from "./stream-accumulator.js";
|
|
53
53
|
import { fromEngineState, toEngineState } from "./utils/language-model.js";
|
|
54
54
|
import { Model } from "../jsx/components/model.js";
|
|
55
|
+
import { StreamTagParser } from "./stream-tag-parser.js";
|
|
55
56
|
// ============================================================================
|
|
56
57
|
// Re-exports for adapter convenience
|
|
57
58
|
// ============================================================================
|
|
@@ -186,6 +187,160 @@ export function extractAdapterOptions(libraryKey, providerKey, input, defaults)
|
|
|
186
187
|
},
|
|
187
188
|
};
|
|
188
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* DeltaTransform that applies per-tag transform functions from CustomBlockDefinitions.
|
|
192
|
+
* Intercepts `custom_block` deltas, runs the tag's transform if defined,
|
|
193
|
+
* and remaps the tag from XML name to semantic config key.
|
|
194
|
+
*/
|
|
195
|
+
class CustomBlockTransform {
|
|
196
|
+
defs;
|
|
197
|
+
constructor(config) {
|
|
198
|
+
this.defs = new Map();
|
|
199
|
+
for (const [key, def] of Object.entries(config)) {
|
|
200
|
+
const xmlTag = def.tag ?? key;
|
|
201
|
+
this.defs.set(xmlTag, { key, def });
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
process(delta) {
|
|
205
|
+
if (delta.type !== "custom_block")
|
|
206
|
+
return [delta];
|
|
207
|
+
const entry = this.defs.get(delta.tag);
|
|
208
|
+
if (!entry)
|
|
209
|
+
return [delta];
|
|
210
|
+
const { key, def } = entry;
|
|
211
|
+
// Remap tag from XML name to semantic config key
|
|
212
|
+
const block = {
|
|
213
|
+
tag: key,
|
|
214
|
+
content: delta.content,
|
|
215
|
+
attrs: delta.attrs,
|
|
216
|
+
selfClosing: delta.selfClosing,
|
|
217
|
+
};
|
|
218
|
+
if (def.transform) {
|
|
219
|
+
const result = def.transform(block);
|
|
220
|
+
if (result !== undefined)
|
|
221
|
+
return result;
|
|
222
|
+
}
|
|
223
|
+
// Default: passthrough with remapped tag
|
|
224
|
+
return [
|
|
225
|
+
{
|
|
226
|
+
...delta,
|
|
227
|
+
tag: key,
|
|
228
|
+
},
|
|
229
|
+
];
|
|
230
|
+
}
|
|
231
|
+
flush() {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Build StreamTagParser handlers from CustomBlockDefinitions.
|
|
237
|
+
*/
|
|
238
|
+
function buildTagHandlers(config) {
|
|
239
|
+
const handlers = {};
|
|
240
|
+
for (const [key, def] of Object.entries(config)) {
|
|
241
|
+
const xmlTag = def.tag ?? key;
|
|
242
|
+
handlers[xmlTag] = {
|
|
243
|
+
onStart: def.onStart,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
return handlers;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Build system prompt text from custom block descriptions and instructions.
|
|
250
|
+
* Returns null if no blocks have description or instructions.
|
|
251
|
+
*/
|
|
252
|
+
function buildCustomBlockInstructions(config) {
|
|
253
|
+
if (!config)
|
|
254
|
+
return null;
|
|
255
|
+
const lines = [];
|
|
256
|
+
for (const [key, def] of Object.entries(config)) {
|
|
257
|
+
if (!def.description && !def.instructions)
|
|
258
|
+
continue;
|
|
259
|
+
const xmlTag = def.tag ?? key;
|
|
260
|
+
if (def.description && def.instructions) {
|
|
261
|
+
lines.push(`- <${xmlTag}>: ${def.description}\n ${def.instructions}`);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
lines.push(`- <${xmlTag}>: ${def.description ?? def.instructions}`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (lines.length === 0)
|
|
268
|
+
return null;
|
|
269
|
+
return `You can use the following XML tags in your output:\n${lines.join("\n")}`;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Inject custom block instructions into the first system message.
|
|
273
|
+
* If no system message exists, prepend one. System prompt is always first.
|
|
274
|
+
* Mutates modelInput.messages in place.
|
|
275
|
+
*/
|
|
276
|
+
function injectCustomBlockInstructions(modelInput, instructions) {
|
|
277
|
+
const instructionBlock = { type: "text", text: instructions };
|
|
278
|
+
// Find the first system message
|
|
279
|
+
for (let i = 0; i < modelInput.messages.length; i++) {
|
|
280
|
+
if (modelInput.messages[i].role === "system") {
|
|
281
|
+
modelInput.messages[i] = {
|
|
282
|
+
...modelInput.messages[i],
|
|
283
|
+
content: [...modelInput.messages[i].content, instructionBlock],
|
|
284
|
+
};
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
// No system message — prepend one
|
|
289
|
+
modelInput.messages.unshift({
|
|
290
|
+
role: "system",
|
|
291
|
+
content: [instructionBlock],
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Compose multiple DeltaTransforms into a single pipeline.
|
|
296
|
+
*
|
|
297
|
+
* Each transform's output feeds the next transform's input.
|
|
298
|
+
* On flush, each transform's buffered output cascades through
|
|
299
|
+
* subsequent transforms before they flush their own state.
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* const pipeline = composeDeltaTransforms(
|
|
304
|
+
* thinkTagParser, // strips <think> tags, emits reasoning
|
|
305
|
+
* customTagParser, // strips app-specific tags, emits custom blocks
|
|
306
|
+
* markdownBufferer, // coalesces text into render-friendly chunks
|
|
307
|
+
* );
|
|
308
|
+
*
|
|
309
|
+
* createAdapter({ ...opts, deltaTransform: pipeline });
|
|
310
|
+
* ```
|
|
311
|
+
*/
|
|
312
|
+
export function composeDeltaTransforms(...transforms) {
|
|
313
|
+
if (transforms.length === 0) {
|
|
314
|
+
return { process: (d) => [d], flush: () => [] };
|
|
315
|
+
}
|
|
316
|
+
if (transforms.length === 1)
|
|
317
|
+
return transforms[0];
|
|
318
|
+
return {
|
|
319
|
+
process(delta) {
|
|
320
|
+
let deltas = [delta];
|
|
321
|
+
for (const t of transforms) {
|
|
322
|
+
const next = [];
|
|
323
|
+
for (const d of deltas)
|
|
324
|
+
next.push(...t.process(d));
|
|
325
|
+
deltas = next;
|
|
326
|
+
}
|
|
327
|
+
return deltas;
|
|
328
|
+
},
|
|
329
|
+
flush() {
|
|
330
|
+
let pending = [];
|
|
331
|
+
for (const t of transforms) {
|
|
332
|
+
// Feed pending output from upstream flushes through this transform
|
|
333
|
+
const processed = [];
|
|
334
|
+
for (const d of pending)
|
|
335
|
+
processed.push(...t.process(d));
|
|
336
|
+
// Then flush this transform's own buffered state
|
|
337
|
+
const flushed = t.flush();
|
|
338
|
+
pending = [...processed, ...flushed];
|
|
339
|
+
}
|
|
340
|
+
return pending;
|
|
341
|
+
},
|
|
342
|
+
};
|
|
343
|
+
}
|
|
189
344
|
// ============================================================================
|
|
190
345
|
// Factory Functions
|
|
191
346
|
// ============================================================================
|
|
@@ -277,7 +432,41 @@ function createAdapterEventBase() {
|
|
|
277
432
|
* - For direct calls: `await model.generate(input)`
|
|
278
433
|
*/
|
|
279
434
|
export function createAdapter(options) {
|
|
280
|
-
const { metadata, prepareInput, mapChunk, execute, executeStream, processOutput, extractMetadata, reconstructRaw, onMount: adapterOnMount, onUnmount: adapterOnUnmount, } = options;
|
|
435
|
+
const { metadata, prepareInput, mapChunk, execute, executeStream, processOutput, extractMetadata, reconstructRaw, adapterTransform: rawAdapterTransform, deltaTransform: rawDeltaTransform, customBlocks: customBlockConfig, onMount: adapterOnMount, onUnmount: adapterOnUnmount, } = options;
|
|
436
|
+
// Build a fresh delta transform pipeline per stream call.
|
|
437
|
+
// Pipeline order: adapterTransform → customBlocks → deltaTransform
|
|
438
|
+
// Transforms like StreamTagParser are stateful (buffers, mode) and must not
|
|
439
|
+
// be shared across streams. Factory ensures clean state each time.
|
|
440
|
+
const hasAdapterTransform = !!rawAdapterTransform;
|
|
441
|
+
const hasCustomBlocks = customBlockConfig && Object.keys(customBlockConfig).length > 0;
|
|
442
|
+
const hasDeltaTransform = !!rawDeltaTransform;
|
|
443
|
+
function isDeltaTransform(t) {
|
|
444
|
+
return typeof t === "object" && !Array.isArray(t) && "process" in t;
|
|
445
|
+
}
|
|
446
|
+
function resolveTransformInput(input) {
|
|
447
|
+
if (Array.isArray(input))
|
|
448
|
+
return input;
|
|
449
|
+
if (isDeltaTransform(input))
|
|
450
|
+
return [input];
|
|
451
|
+
return [input()]; // factory
|
|
452
|
+
}
|
|
453
|
+
function createDeltaTransform() {
|
|
454
|
+
const transforms = [];
|
|
455
|
+
// 1. Adapter-internal transforms (provider-specific cleanup)
|
|
456
|
+
if (hasAdapterTransform) {
|
|
457
|
+
transforms.push(...resolveTransformInput(rawAdapterTransform));
|
|
458
|
+
}
|
|
459
|
+
// 2. Custom blocks extraction (StreamTagParser + CustomBlockTransform)
|
|
460
|
+
if (hasCustomBlocks) {
|
|
461
|
+
transforms.push(new StreamTagParser({ tags: buildTagHandlers(customBlockConfig) }));
|
|
462
|
+
transforms.push(new CustomBlockTransform(customBlockConfig));
|
|
463
|
+
}
|
|
464
|
+
// 3. User-provided delta transforms
|
|
465
|
+
if (hasDeltaTransform) {
|
|
466
|
+
transforms.push(...resolveTransformInput(rawDeltaTransform));
|
|
467
|
+
}
|
|
468
|
+
return transforms.length > 0 ? composeDeltaTransforms(...transforms) : undefined;
|
|
469
|
+
}
|
|
281
470
|
// Create generate procedure
|
|
282
471
|
const generate = createEngineProcedure({
|
|
283
472
|
name: "model:generate",
|
|
@@ -330,7 +519,8 @@ export function createAdapter(options) {
|
|
|
330
519
|
provider: metadata.provider,
|
|
331
520
|
providerInput,
|
|
332
521
|
};
|
|
333
|
-
//
|
|
522
|
+
// Fresh transform + accumulator per stream call
|
|
523
|
+
const deltaTransform = createDeltaTransform();
|
|
334
524
|
const accumulator = new StreamAccumulator({ modelId: metadata.id });
|
|
335
525
|
const rawChunks = [];
|
|
336
526
|
for await (const chunk of executeStream(providerInput)) {
|
|
@@ -351,18 +541,30 @@ export function createAdapter(options) {
|
|
|
351
541
|
}
|
|
352
542
|
}
|
|
353
543
|
}
|
|
354
|
-
// Map chunk to AdapterDelta(s)
|
|
544
|
+
// Map chunk to AdapterDelta(s), optionally transform, then push to accumulator
|
|
355
545
|
const delta = mapChunk(chunk);
|
|
356
546
|
if (delta) {
|
|
357
|
-
const
|
|
358
|
-
for (const d of
|
|
359
|
-
const
|
|
360
|
-
for (const
|
|
361
|
-
|
|
547
|
+
const rawDeltas = Array.isArray(delta) ? delta : [delta];
|
|
548
|
+
for (const d of rawDeltas) {
|
|
549
|
+
const transformed = deltaTransform ? deltaTransform.process(d) : [d];
|
|
550
|
+
for (const td of transformed) {
|
|
551
|
+
const events = accumulator.push(td);
|
|
552
|
+
for (const event of events) {
|
|
553
|
+
yield event;
|
|
554
|
+
}
|
|
362
555
|
}
|
|
363
556
|
}
|
|
364
557
|
}
|
|
365
558
|
}
|
|
559
|
+
// Flush delta transform at stream end (e.g., partial tag buffers)
|
|
560
|
+
if (deltaTransform) {
|
|
561
|
+
for (const d of deltaTransform.flush()) {
|
|
562
|
+
const events = accumulator.push(d);
|
|
563
|
+
for (const event of events) {
|
|
564
|
+
yield event;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
366
568
|
// Get final accumulated output
|
|
367
569
|
const accumulatedOutput = accumulator.toModelOutput();
|
|
368
570
|
// Reconstruct raw provider response if adapter provides reconstructRaw
|
|
@@ -416,10 +618,16 @@ export function createAdapter(options) {
|
|
|
416
618
|
yield messageEvent;
|
|
417
619
|
})
|
|
418
620
|
: undefined;
|
|
621
|
+
// Build custom block instructions for system prompt injection
|
|
622
|
+
const customBlockInstructions = buildCustomBlockInstructions(customBlockConfig);
|
|
419
623
|
// Default fromEngineState using model metadata for transformation config
|
|
420
624
|
const defaultFromEngineState = async (input) => {
|
|
421
625
|
const modelInstance = { metadata };
|
|
422
|
-
|
|
626
|
+
const modelInput = (await fromEngineState(input, undefined, modelInstance));
|
|
627
|
+
if (customBlockInstructions) {
|
|
628
|
+
injectCustomBlockInstructions(modelInput, customBlockInstructions);
|
|
629
|
+
}
|
|
630
|
+
return modelInput;
|
|
423
631
|
};
|
|
424
632
|
// Build the EngineModel properties
|
|
425
633
|
const engineModel = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/model/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/model/index.d.ts
CHANGED
|
@@ -51,5 +51,6 @@ export * from "./utils/index.js";
|
|
|
51
51
|
export * from "./stream-accumulator.js";
|
|
52
52
|
export * from "./adapter.js";
|
|
53
53
|
export * from "./adapter-helpers.js";
|
|
54
|
+
export * from "./stream-tag-parser.js";
|
|
54
55
|
export * from "./embedding.js";
|
|
55
56
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,gBAAgB,CAAC"}
|
package/dist/model/index.js
CHANGED
|
@@ -52,6 +52,8 @@ export * from "./utils/index.js";
|
|
|
52
52
|
export * from "./stream-accumulator.js"; // AdapterDelta, StreamAccumulator
|
|
53
53
|
export * from "./adapter.js"; // createAdapter factory
|
|
54
54
|
export * from "./adapter-helpers.js"; // Composable helpers for adapters
|
|
55
|
+
// Stream tag parsing
|
|
56
|
+
export * from "./stream-tag-parser.js"; // StreamTagParser, StreamTagHandler
|
|
55
57
|
// Embedding adapters
|
|
56
58
|
export * from "./embedding.js";
|
|
57
59
|
//# sourceMappingURL=index.js.map
|
package/dist/model/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,mBAAmB;AACnB,cAAc,yBAAyB,CAAC,CAAC,kCAAkC;AAC3E,cAAc,cAAc,CAAC,CAAC,wBAAwB;AACtD,cAAc,sBAAsB,CAAC,CAAC,kCAAkC;AAExE,qBAAqB;AACrB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,mBAAmB;AACnB,cAAc,yBAAyB,CAAC,CAAC,kCAAkC;AAC3E,cAAc,cAAc,CAAC,CAAC,wBAAwB;AACtD,cAAc,sBAAsB,CAAC,CAAC,kCAAkC;AAExE,qBAAqB;AACrB,cAAc,wBAAwB,CAAC,CAAC,oCAAoC;AAE5E,qBAAqB;AACrB,cAAc,gBAAgB,CAAC"}
|
|
@@ -103,6 +103,23 @@ export type AdapterDelta = {
|
|
|
103
103
|
} | {
|
|
104
104
|
type: "reasoning_metadata";
|
|
105
105
|
metadata: ContentMetadata;
|
|
106
|
+
} | {
|
|
107
|
+
type: "custom_block_start";
|
|
108
|
+
tag: string;
|
|
109
|
+
attrs: Record<string, string>;
|
|
110
|
+
} | {
|
|
111
|
+
type: "custom_block_delta";
|
|
112
|
+
tag: string;
|
|
113
|
+
delta: string;
|
|
114
|
+
} | {
|
|
115
|
+
type: "custom_block_end";
|
|
116
|
+
tag: string;
|
|
117
|
+
} | {
|
|
118
|
+
type: "custom_block";
|
|
119
|
+
tag: string;
|
|
120
|
+
content: string;
|
|
121
|
+
attrs: Record<string, string>;
|
|
122
|
+
selfClosing?: boolean;
|
|
106
123
|
};
|
|
107
124
|
/**
|
|
108
125
|
* Options for StreamAccumulator.
|
|
@@ -150,6 +167,7 @@ export declare class StreamAccumulator {
|
|
|
150
167
|
private modelId?;
|
|
151
168
|
private contentMetadata?;
|
|
152
169
|
private reasoningMetadata?;
|
|
170
|
+
private orderedContent;
|
|
153
171
|
private messageStarted;
|
|
154
172
|
private messageStartedAt?;
|
|
155
173
|
private textStarted;
|