@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.
Files changed (42) hide show
  1. package/dist/membrane.d.ts +37 -0
  2. package/dist/membrane.d.ts.map +1 -1
  3. package/dist/membrane.js +590 -1
  4. package/dist/membrane.js.map +1 -1
  5. package/dist/providers/gemini.d.ts.map +1 -1
  6. package/dist/providers/gemini.js +9 -2
  7. package/dist/providers/gemini.js.map +1 -1
  8. package/dist/providers/mock.d.ts +8 -0
  9. package/dist/providers/mock.d.ts.map +1 -1
  10. package/dist/providers/mock.js +39 -2
  11. package/dist/providers/mock.js.map +1 -1
  12. package/dist/providers/openai-compatible.d.ts.map +1 -1
  13. package/dist/providers/openai-compatible.js +5 -1
  14. package/dist/providers/openai-compatible.js.map +1 -1
  15. package/dist/providers/openai.d.ts.map +1 -1
  16. package/dist/providers/openai.js +5 -1
  17. package/dist/providers/openai.js.map +1 -1
  18. package/dist/providers/openrouter.d.ts.map +1 -1
  19. package/dist/providers/openrouter.js +5 -1
  20. package/dist/providers/openrouter.js.map +1 -1
  21. package/dist/types/index.d.ts +2 -0
  22. package/dist/types/index.d.ts.map +1 -1
  23. package/dist/types/index.js +1 -0
  24. package/dist/types/index.js.map +1 -1
  25. package/dist/types/yielding-stream.d.ts +167 -0
  26. package/dist/types/yielding-stream.d.ts.map +1 -0
  27. package/dist/types/yielding-stream.js +34 -0
  28. package/dist/types/yielding-stream.js.map +1 -0
  29. package/dist/yielding-stream.d.ts +60 -0
  30. package/dist/yielding-stream.d.ts.map +1 -0
  31. package/dist/yielding-stream.js +204 -0
  32. package/dist/yielding-stream.js.map +1 -0
  33. package/package.json +1 -1
  34. package/src/membrane.ts +729 -2
  35. package/src/providers/gemini.ts +11 -2
  36. package/src/providers/mock.ts +47 -2
  37. package/src/providers/openai-compatible.ts +8 -3
  38. package/src/providers/openai.ts +8 -3
  39. package/src/providers/openrouter.ts +8 -3
  40. package/src/types/index.ts +23 -0
  41. package/src/types/yielding-stream.ts +228 -0
  42. package/src/yielding-stream.ts +271 -0
@@ -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
@@ -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;AA0B1B,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;IA0ahC;;OAEG;YACW,qBAAqB;IA+NnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiF9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;YAqDV,UAAU;IAQxB,OAAO,CAAC,wBAAwB;IAyChC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,kCAAkC;IAyD1C,OAAO,CAAC,iBAAiB;IA2HzB,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;CAuB7B"}
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"}