@animalabs/membrane 0.5.24 → 0.5.26
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/membrane.d.ts +37 -0
- package/dist/membrane.d.ts.map +1 -1
- package/dist/membrane.js +590 -1
- package/dist/membrane.js.map +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +9 -2
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/mock.d.ts +8 -0
- package/dist/providers/mock.d.ts.map +1 -1
- package/dist/providers/mock.js +39 -2
- package/dist/providers/mock.js.map +1 -1
- package/dist/providers/openai-compatible.d.ts.map +1 -1
- package/dist/providers/openai-compatible.js +5 -1
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +5 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +5 -1
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/yielding-stream.d.ts +167 -0
- package/dist/types/yielding-stream.d.ts.map +1 -0
- package/dist/types/yielding-stream.js +34 -0
- package/dist/types/yielding-stream.js.map +1 -0
- package/dist/yielding-stream.d.ts +60 -0
- package/dist/yielding-stream.d.ts.map +1 -0
- package/dist/yielding-stream.js +204 -0
- package/dist/yielding-stream.js.map +1 -0
- package/package.json +1 -1
- package/src/membrane.ts +729 -2
- package/src/providers/gemini.ts +11 -2
- package/src/providers/mock.ts +47 -2
- package/src/providers/openai-compatible.ts +8 -3
- package/src/providers/openai.ts +8 -3
- package/src/providers/openrouter.ts +8 -3
- package/src/types/index.ts +23 -0
- package/src/types/yielding-stream.ts +228 -0
- package/src/yielding-stream.ts +271 -0
package/dist/membrane.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* A selective boundary that transforms what passes through.
|
|
5
5
|
*/
|
|
6
6
|
import type { NormalizedRequest, NormalizedResponse, AbortedResponse, ProviderAdapter, MembraneConfig, StreamOptions, CompleteOptions } from './types/index.js';
|
|
7
|
+
import type { YieldingStream, YieldingStreamOptions } from './types/yielding-stream.js';
|
|
7
8
|
export declare class Membrane {
|
|
8
9
|
private adapter;
|
|
9
10
|
private registry?;
|
|
@@ -97,5 +98,41 @@ export declare class Membrane {
|
|
|
97
98
|
* Build an AbortedResponse from current execution state
|
|
98
99
|
*/
|
|
99
100
|
private buildAbortedResponse;
|
|
101
|
+
/**
|
|
102
|
+
* Stream inference with yielding control for tool execution.
|
|
103
|
+
*
|
|
104
|
+
* Unlike `stream()` which uses callbacks for tool execution, this method
|
|
105
|
+
* returns an async iterator that yields control back to the caller when
|
|
106
|
+
* tool calls are detected. The caller provides results via `provideToolResults()`.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const stream = membrane.streamYielding(request, options);
|
|
111
|
+
*
|
|
112
|
+
* for await (const event of stream) {
|
|
113
|
+
* switch (event.type) {
|
|
114
|
+
* case 'tokens':
|
|
115
|
+
* process.stdout.write(event.content);
|
|
116
|
+
* break;
|
|
117
|
+
* case 'tool-calls':
|
|
118
|
+
* const results = await executeTools(event.calls);
|
|
119
|
+
* stream.provideToolResults(results);
|
|
120
|
+
* break;
|
|
121
|
+
* case 'complete':
|
|
122
|
+
* console.log('Done:', event.response);
|
|
123
|
+
* break;
|
|
124
|
+
* }
|
|
125
|
+
* }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
streamYielding(request: NormalizedRequest, options?: YieldingStreamOptions): YieldingStream;
|
|
129
|
+
/**
|
|
130
|
+
* Run XML-based tool execution with yielding stream.
|
|
131
|
+
*/
|
|
132
|
+
private runXmlToolsYielding;
|
|
133
|
+
/**
|
|
134
|
+
* Run native tool execution with yielding stream.
|
|
135
|
+
*/
|
|
136
|
+
private runNativeToolsYielding;
|
|
100
137
|
}
|
|
101
138
|
//# sourceMappingURL=membrane.d.ts.map
|
package/dist/membrane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membrane.d.ts","sourceRoot":"","sources":["../src/membrane.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEf,eAAe,EAEf,cAAc,EACd,aAAa,EACb,eAAe,EAYhB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"membrane.d.ts","sourceRoot":"","sources":["../src/membrane.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEf,eAAe,EAEf,cAAc,EACd,aAAa,EACb,eAAe,EAYhB,MAAM,kBAAkB,CAAC;AAmB1B,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EAGtB,MAAM,4BAA4B,CAAC;AASpC,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,SAAS,CAAmB;gBAGlC,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,cAAmB;IAc7B;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAqE9B;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,kBAAkB,GAAG,eAAe,CAAC;IAWhD;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;OAMG;YACW,kBAAkB;IAmchC;;OAEG;YACW,qBAAqB;IA+NnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiF9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;YAqDV,UAAU;IAQxB,OAAO,CAAC,wBAAwB;IAyChC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,kCAAkC;IAyD1C,OAAO,CAAC,iBAAiB;IAiIzB,OAAO,CAAC,kBAAkB;IA+E1B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,qBAA0B,GAClC,cAAc;IAWjB;;OAEG;YACW,mBAAmB;IAqajC;;OAEG;YACW,sBAAsB;CAkNrC"}
|