@animalabs/membrane 0.5.84 → 0.5.85
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/formatters/openai-responses.js +1 -1
- package/dist/formatters/openai-responses.js.map +1 -1
- package/dist/membrane.d.ts +3 -1
- package/dist/membrane.d.ts.map +1 -1
- package/dist/membrane.js +6 -2
- package/dist/membrane.js.map +1 -1
- package/dist/providers/anthropic.d.ts +11 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +67 -10
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/credentials.d.ts +20 -0
- package/dist/providers/credentials.d.ts.map +1 -0
- package/dist/providers/credentials.js +53 -0
- package/dist/providers/credentials.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/openai-responses-api.d.ts +22 -4
- package/dist/providers/openai-responses-api.d.ts.map +1 -1
- package/dist/providers/openai-responses-api.js +107 -42
- package/dist/providers/openai-responses-api.js.map +1 -1
- package/dist/providers/openai-responses.d.ts +2 -0
- package/dist/providers/openai-responses.d.ts.map +1 -1
- package/dist/providers/openai-responses.js +16 -7
- package/dist/providers/openai-responses.js.map +1 -1
- package/dist/providers/responses-input.d.ts +11 -0
- package/dist/providers/responses-input.d.ts.map +1 -0
- package/dist/providers/responses-input.js +128 -0
- package/dist/providers/responses-input.js.map +1 -0
- package/dist/providers/utils.d.ts +7 -3
- package/dist/providers/utils.d.ts.map +1 -1
- package/dist/providers/utils.js +28 -3
- package/dist/providers/utils.js.map +1 -1
- package/dist/types/provider.d.ts +4 -0
- package/dist/types/provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/formatters/openai-responses.ts +1 -1
- package/src/membrane.ts +6 -2
- package/src/providers/anthropic.ts +79 -13
- package/src/providers/credentials.ts +77 -0
- package/src/providers/index.ts +2 -0
- package/src/providers/openai-responses-api.ts +118 -43
- package/src/providers/openai-responses.ts +15 -6
- package/src/providers/responses-input.ts +131 -0
- package/src/providers/utils.ts +24 -3
- package/src/types/provider.ts +5 -0
|
@@ -102,15 +102,19 @@ export declare function createCombinedSignal(signal?: AbortSignal, timeoutMs?: n
|
|
|
102
102
|
* This parser buffers partial lines and only yields complete `data: ...` lines.
|
|
103
103
|
*/
|
|
104
104
|
export declare class SSELineParser {
|
|
105
|
+
private readonly options;
|
|
105
106
|
private buffer;
|
|
107
|
+
private data;
|
|
108
|
+
constructor(options?: {
|
|
109
|
+
multiline?: boolean;
|
|
110
|
+
});
|
|
106
111
|
/**
|
|
107
112
|
* Feed a raw chunk from the stream reader and get back complete SSE data lines.
|
|
108
113
|
* Each returned string is the content after `data: ` (e.g. the JSON payload or `[DONE]`).
|
|
109
114
|
*/
|
|
110
115
|
feed(chunk: string): string[];
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
*/
|
|
116
|
+
private processEventLine;
|
|
117
|
+
/** Flush any remaining event/tail when the stream ends. */
|
|
114
118
|
flush(): string[];
|
|
115
119
|
}
|
|
116
120
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,oBAAoB,CAAC;AAwE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,SAAS,GAAE,MAAuB,GACjC,IAAI,CAiCN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,OAAO,EACzB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAsBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAE5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CA2BhD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,oBAAoB,CAAC;AAwE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,SAAS,GAAE,MAAuB,GACjC,IAAI,CAiCN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,OAAO,EACzB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,OAAO,GACnB,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO9E;AAsBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAE5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CA2BhD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,IAAI,CAAgB;gBAEC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO;IAElE;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAuB7B,OAAO,CAAC,gBAAgB;IASxB,2DAA2D;IAC3D,KAAK,IAAI,MAAM,EAAE;CAgBlB"}
|
package/dist/providers/utils.js
CHANGED
|
@@ -244,7 +244,12 @@ export function createCombinedSignal(signal, timeoutMs) {
|
|
|
244
244
|
* This parser buffers partial lines and only yields complete `data: ...` lines.
|
|
245
245
|
*/
|
|
246
246
|
export class SSELineParser {
|
|
247
|
+
options;
|
|
247
248
|
buffer = '';
|
|
249
|
+
data = [];
|
|
250
|
+
constructor(options = {}) {
|
|
251
|
+
this.options = options;
|
|
252
|
+
}
|
|
248
253
|
/**
|
|
249
254
|
* Feed a raw chunk from the stream reader and get back complete SSE data lines.
|
|
250
255
|
* Each returned string is the content after `data: ` (e.g. the JSON payload or `[DONE]`).
|
|
@@ -256,6 +261,10 @@ export class SSELineParser {
|
|
|
256
261
|
const lines = this.buffer.split('\n');
|
|
257
262
|
this.buffer = lines.pop() || '';
|
|
258
263
|
for (const line of lines) {
|
|
264
|
+
if (this.options.multiline) {
|
|
265
|
+
this.processEventLine(line.replace(/\r$/, ''), results);
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
259
268
|
const trimmed = line.trim();
|
|
260
269
|
if (trimmed.startsWith('data: ')) {
|
|
261
270
|
results.push(trimmed.slice(6));
|
|
@@ -264,10 +273,26 @@ export class SSELineParser {
|
|
|
264
273
|
}
|
|
265
274
|
return results;
|
|
266
275
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
276
|
+
processEventLine(line, results) {
|
|
277
|
+
if (line === '') {
|
|
278
|
+
if (this.data.length)
|
|
279
|
+
results.push(this.data.join('\n'));
|
|
280
|
+
this.data = [];
|
|
281
|
+
}
|
|
282
|
+
else if (line.startsWith('data:')) {
|
|
283
|
+
this.data.push(line.slice(5).replace(/^ /, ''));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/** Flush any remaining event/tail when the stream ends. */
|
|
270
287
|
flush() {
|
|
288
|
+
if (this.options.multiline) {
|
|
289
|
+
const results = [];
|
|
290
|
+
if (this.buffer)
|
|
291
|
+
this.processEventLine(this.buffer.replace(/\r$/, ''), results);
|
|
292
|
+
this.buffer = '';
|
|
293
|
+
this.processEventLine('', results);
|
|
294
|
+
return results;
|
|
295
|
+
}
|
|
271
296
|
if (!this.buffer.trim())
|
|
272
297
|
return [];
|
|
273
298
|
const trimmed = this.buffer.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/types/provider.d.ts
CHANGED
|
@@ -135,6 +135,10 @@ export interface ProviderAdapter {
|
|
|
135
135
|
* resting place.
|
|
136
136
|
*/
|
|
137
137
|
usageCacheConvention?: UsageCacheConvention;
|
|
138
|
+
/** Whether this transport requires the configured Responses formatter.
|
|
139
|
+
* False permits generic per-request formatter overrides (e.g. named
|
|
140
|
+
* maintenance messages). Wrappers must forward this capability. */
|
|
141
|
+
readonly requiresNativeResponsesInput?: boolean;
|
|
138
142
|
/** Check if this adapter handles a model */
|
|
139
143
|
supportsModel(modelId: string): boolean;
|
|
140
144
|
/** Make a completion request (non-streaming) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,iDAAiD;IACjD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,iBAAiB;IAEhC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IAGpB,eAAe,EAAE,OAAO,CAAC;IAGzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD,MAAM,WAAW,oBAAoB;IAEnC,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAG3B,KAAK,EAAE,iBAAiB,CAAC;IAGzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,MAAM,EAAE,cAAc,CAAC;CACxB;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IAExB,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,yCAAyC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,YAAY,EAAE,oBAAoB,CAAC;IAEnC,yBAAyB;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IAEnE,8BAA8B;IAC9B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAEtD,6BAA6B;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAEvD,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAEvD,0CAA0C;IAC1C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAExC,4CAA4C;IAC5C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAE5C,4CAA4C;IAC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC,gDAAgD;IAChD,QAAQ,CACN,OAAO,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,+BAA+B;IAC/B,MAAM,CACJ,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B;AAGD,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAE5B,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;IAEd,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAErD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IAEjB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QAExB;;;;;;;WAOG;QACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;KACxC,CAAC;IAEF,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAC;IAEpB,iCAAiC;IACjC,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D"}
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -196,7 +196,7 @@ export class OpenAIResponsesFormatter implements PrefillFormatter {
|
|
|
196
196
|
});
|
|
197
197
|
} else if (block.type === 'redacted_thinking') {
|
|
198
198
|
flushMessage();
|
|
199
|
-
out.push({ type: 'reasoning', encrypted_content: block.data });
|
|
199
|
+
out.push({ type: 'reasoning', encrypted_content: block.data, summary: [] });
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
flushMessage();
|
package/src/membrane.ts
CHANGED
|
@@ -528,7 +528,9 @@ export class Membrane {
|
|
|
528
528
|
* item array, and a generic override (for example Context Manager's
|
|
529
529
|
* NativeFormatter) produces Anthropic-style `{ role, content: [{ type:
|
|
530
530
|
* 'text' }] }` envelopes the Responses API rejects before inference — so a
|
|
531
|
-
* configured Responses formatter stays authoritative there.
|
|
531
|
+
* configured Responses formatter stays authoritative there. Subscription
|
|
532
|
+
* mode accepts normalized envelopes, so its capability allows the override
|
|
533
|
+
* (including participant labels supplied by maintenance formatters).
|
|
532
534
|
*
|
|
533
535
|
* The exception is why this selection is a method rather than a `??` at each
|
|
534
536
|
* call site: while it lived inside transformRequest alone, the BUILD honored
|
|
@@ -537,7 +539,9 @@ export class Membrane {
|
|
|
537
539
|
* Every entry point selects once, here, and threads the result.
|
|
538
540
|
*/
|
|
539
541
|
private resolveActiveFormatter(requestFormatter?: PrefillFormatter): PrefillFormatter {
|
|
540
|
-
|
|
542
|
+
const requiresNativeInput = this.adapter.requiresNativeResponsesInput
|
|
543
|
+
?? this.adapter.name === 'openai-responses-api';
|
|
544
|
+
if (requiresNativeInput && this.formatter.name === 'openai-responses') {
|
|
541
545
|
return this.formatter;
|
|
542
546
|
}
|
|
543
547
|
return requestFormatter ?? this.formatter;
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
} from '../types/index.js';
|
|
25
25
|
import { flattenRootSchemaUnion } from './anthropic-tool-schema.js';
|
|
26
26
|
import { assertTerminalEventObserved } from './utils.js';
|
|
27
|
+
import { fetchWithCredentials, validateCredential, type CredentialContext, type CredentialResolver } from './credentials.js';
|
|
27
28
|
import { CacheKeepalive, type CacheKeepaliveConfig } from '../cache-keepalive.js';
|
|
28
29
|
|
|
29
30
|
// ============================================================================
|
|
@@ -151,7 +152,12 @@ export interface AnthropicAdapterConfig {
|
|
|
151
152
|
* is allowed to resolve environment auth). If explicitly provided, API-key
|
|
152
153
|
* auth is disabled so requests do not send both auth schemes.
|
|
153
154
|
*/
|
|
154
|
-
authToken?: string | null;
|
|
155
|
+
authToken?: string | null | ((context: CredentialContext) => string | Promise<string>);
|
|
156
|
+
|
|
157
|
+
/** Resolve a bearer token and associated headers per HTTP attempt. Takes
|
|
158
|
+
* precedence over authToken/apiKey; refreshed once after HTTP 401. Applies
|
|
159
|
+
* to complete, stream, and cache-keepalive requests. */
|
|
160
|
+
credentials?: CredentialResolver;
|
|
155
161
|
|
|
156
162
|
/** Base URL override */
|
|
157
163
|
baseURL?: string;
|
|
@@ -199,6 +205,7 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
199
205
|
*/
|
|
200
206
|
readonly usageCacheConvention = 'cache-excluded' as const;
|
|
201
207
|
private client: Anthropic;
|
|
208
|
+
private readonly credentials?: CredentialResolver;
|
|
202
209
|
private defaultMaxTokens: number;
|
|
203
210
|
/** Any anthropic-beta value from defaultHeaders (e.g. the oauth beta for
|
|
204
211
|
* subscription tokens). Per-request headers REPLACE same-key defaults in
|
|
@@ -218,8 +225,19 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
218
225
|
this.defaultBeta = extractBetaHeader(config.defaultHeaders);
|
|
219
226
|
this.dynamicHeaders = config.dynamicHeaders;
|
|
220
227
|
|
|
221
|
-
|
|
222
|
-
|
|
228
|
+
const authToken = config.authToken;
|
|
229
|
+
const credentials: CredentialResolver | undefined = config.credentials ?? (typeof authToken === 'function'
|
|
230
|
+
? async (context: CredentialContext) => ({ token: await authToken(context) })
|
|
231
|
+
: undefined);
|
|
232
|
+
this.credentials = credentials;
|
|
233
|
+
if (credentials) {
|
|
234
|
+
// Satisfy SDK auth validation without freezing a real credential. The
|
|
235
|
+
// fetch seam replaces this placeholder before every network attempt,
|
|
236
|
+
// including the SDK's stream and cache-keepalive transports.
|
|
237
|
+
clientOptions.authToken = 'membrane-resolved-at-request-time';
|
|
238
|
+
clientOptions.apiKey = null;
|
|
239
|
+
} else if (authToken !== undefined) {
|
|
240
|
+
clientOptions.authToken = authToken as string | null;
|
|
223
241
|
clientOptions.apiKey = null;
|
|
224
242
|
} else {
|
|
225
243
|
clientOptions.apiKey = config.apiKey;
|
|
@@ -234,14 +252,62 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
234
252
|
// Replay path. Deliberately bypasses buildRequest(): the payload is
|
|
235
253
|
// the already-built wire request from a real call, and rebuilding it
|
|
236
254
|
// risks a byte diff that silently converts a 0.1x read into a 2x write.
|
|
237
|
-
async (wire, headers) =>
|
|
238
|
-
wire as unknown as Anthropic.MessageCreateParamsNonStreaming,
|
|
239
|
-
headers ? { headers } : undefined,
|
|
255
|
+
async (wire, headers) => this.createMessage(
|
|
256
|
+
wire as unknown as Anthropic.MessageCreateParamsNonStreaming, headers,
|
|
240
257
|
),
|
|
241
258
|
config.cacheKeepalive ?? {},
|
|
242
259
|
);
|
|
243
260
|
}
|
|
244
261
|
|
|
262
|
+
/** One SDK operation owns its failure state: concurrent calls cannot
|
|
263
|
+
* overwrite each other's auth error or cancel each other's requests. */
|
|
264
|
+
private credentialSession(signal?: AbortSignal) {
|
|
265
|
+
const credentials = this.credentials;
|
|
266
|
+
if (!credentials) return { client: this.client, signal, failure: () => undefined };
|
|
267
|
+
const abort = new AbortController();
|
|
268
|
+
const combined = signal ? AbortSignal.any([signal, abort.signal]) : abort.signal;
|
|
269
|
+
let failure: MembraneError | undefined;
|
|
270
|
+
const client = this.client.withOptions({
|
|
271
|
+
fetch: (input, init) => {
|
|
272
|
+
const headers = new Headers(init?.headers);
|
|
273
|
+
headers.delete('x-api-key');
|
|
274
|
+
return fetchWithCredentials(input, { ...init, headers }, async context => {
|
|
275
|
+
try {
|
|
276
|
+
const credential = await credentials(context);
|
|
277
|
+
validateCredential(credential);
|
|
278
|
+
const resolvedHeaders = new Headers(credential.headers);
|
|
279
|
+
resolvedHeaders.delete('x-api-key');
|
|
280
|
+
return { ...credential, headers: Object.fromEntries(resolvedHeaders) };
|
|
281
|
+
} catch (error) {
|
|
282
|
+
if (combined.aborted) throw error;
|
|
283
|
+
failure = error instanceof MembraneError ? error : authError(
|
|
284
|
+
`Credential resolution failed: ${error instanceof Error ? error.message : String(error)}`, error,
|
|
285
|
+
);
|
|
286
|
+
// SDK 0.52 retries thrown fetch errors as connection failures.
|
|
287
|
+
// Abort this operation to bypass that loop, then restore the
|
|
288
|
+
// original error at the complete/stream/keepalive boundary.
|
|
289
|
+
abort.abort(failure);
|
|
290
|
+
throw failure;
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
return { client, signal: combined, failure: () => failure };
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
private async createMessage(
|
|
299
|
+
request: Anthropic.MessageCreateParamsNonStreaming,
|
|
300
|
+
headers?: Record<string, string>,
|
|
301
|
+
signal?: AbortSignal,
|
|
302
|
+
): Promise<Anthropic.Message> {
|
|
303
|
+
const session = this.credentialSession(signal);
|
|
304
|
+
try {
|
|
305
|
+
return await session.client.messages.create(request, { headers, signal: session.signal });
|
|
306
|
+
} catch (error) {
|
|
307
|
+
throw session.failure() ?? error;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
245
311
|
supportsModel(modelId: string): boolean {
|
|
246
312
|
return modelId.startsWith('claude-');
|
|
247
313
|
}
|
|
@@ -260,10 +326,9 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
260
326
|
);
|
|
261
327
|
|
|
262
328
|
try {
|
|
263
|
-
const response = await this.
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
});
|
|
329
|
+
const response = await this.createMessage(
|
|
330
|
+
fullRequest, this.liveHeaders(headers, 'complete'), options?.signal,
|
|
331
|
+
);
|
|
267
332
|
|
|
268
333
|
return this.parseResponse(response, fullRequest);
|
|
269
334
|
} catch (error) {
|
|
@@ -331,10 +396,11 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
331
396
|
};
|
|
332
397
|
|
|
333
398
|
resetIdleTimer();
|
|
399
|
+
const session = this.credentialSession(idleAbort.signal);
|
|
334
400
|
|
|
335
401
|
try {
|
|
336
|
-
const stream = await
|
|
337
|
-
signal:
|
|
402
|
+
const stream = await session.client.messages.stream(anthropicRequest, {
|
|
403
|
+
signal: session.signal,
|
|
338
404
|
headers: this.liveHeaders(this.betaHeaders(request), 'stream'),
|
|
339
405
|
});
|
|
340
406
|
|
|
@@ -572,7 +638,7 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
572
638
|
rawRequest: fullRequest,
|
|
573
639
|
});
|
|
574
640
|
}
|
|
575
|
-
throw this.handleError(error, fullRequest);
|
|
641
|
+
throw this.handleError(session.failure() ?? error, fullRequest);
|
|
576
642
|
}
|
|
577
643
|
}
|
|
578
644
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { authError } from '../types/index.js';
|
|
2
|
+
|
|
3
|
+
/** Credential acquisition stays with the application; transports resolve per attempt. */
|
|
4
|
+
export interface ResolvedCredential {
|
|
5
|
+
token: string;
|
|
6
|
+
/** Headers tied to this token, e.g. ChatGPT-Account-Id. Returned atomically. */
|
|
7
|
+
headers?: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface CredentialContext {
|
|
11
|
+
/** False for the first attempt; true for the single retry after HTTP 401. */
|
|
12
|
+
forceRefresh: boolean;
|
|
13
|
+
/** The request's combined cancellation/deadline signal. */
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type CredentialResolver = (
|
|
18
|
+
context: CredentialContext,
|
|
19
|
+
) => ResolvedCredential | Promise<ResolvedCredential>;
|
|
20
|
+
|
|
21
|
+
/** Internal shared HTTP seam: refresh only a 401, before a body is consumed.
|
|
22
|
+
* Static credentials retain their single-attempt behavior. SDK-backed callers
|
|
23
|
+
* can use this as their fetch implementation without rebuilding a client. */
|
|
24
|
+
export async function fetchWithCredentials(
|
|
25
|
+
input: string | URL | Request,
|
|
26
|
+
init: RequestInit,
|
|
27
|
+
credentials: CredentialResolver | ResolvedCredential,
|
|
28
|
+
): Promise<Response> {
|
|
29
|
+
const signal = init.signal ?? undefined;
|
|
30
|
+
for (const forceRefresh of [false, true]) {
|
|
31
|
+
signal?.throwIfAborted();
|
|
32
|
+
const credential = typeof credentials === 'function'
|
|
33
|
+
? await resolveWithSignal(credentials, forceRefresh, signal)
|
|
34
|
+
: credentials;
|
|
35
|
+
signal?.throwIfAborted();
|
|
36
|
+
validateCredential(credential);
|
|
37
|
+
const headers = new Headers(init.headers);
|
|
38
|
+
for (const [key, value] of Object.entries(credential.headers ?? {})) headers.set(key, value);
|
|
39
|
+
if (typeof credentials === 'function' || !headers.has('Authorization')) {
|
|
40
|
+
headers.set('Authorization', `Bearer ${credential.token}`);
|
|
41
|
+
}
|
|
42
|
+
const response = await fetch(input, { ...init, headers });
|
|
43
|
+
if (response.status !== 401 || typeof credentials !== 'function' || forceRefresh) return response;
|
|
44
|
+
void response.body?.cancel().catch(() => {});
|
|
45
|
+
}
|
|
46
|
+
throw new Error('Unreachable credential retry state');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** Bound credential acquisition by the same cancellation/deadline as HTTP. */
|
|
50
|
+
async function resolveWithSignal(
|
|
51
|
+
resolver: CredentialResolver,
|
|
52
|
+
forceRefresh: boolean,
|
|
53
|
+
signal?: AbortSignal,
|
|
54
|
+
) {
|
|
55
|
+
if (!signal) return resolver({ forceRefresh });
|
|
56
|
+
signal.throwIfAborted();
|
|
57
|
+
let onAbort: () => void = () => {};
|
|
58
|
+
const aborted = new Promise<never>((_, reject) => {
|
|
59
|
+
onAbort = () => reject(signal.reason);
|
|
60
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
61
|
+
});
|
|
62
|
+
try {
|
|
63
|
+
return await Promise.race([Promise.resolve().then(() => {
|
|
64
|
+
signal.throwIfAborted();
|
|
65
|
+
return resolver({ forceRefresh, signal });
|
|
66
|
+
}), aborted]);
|
|
67
|
+
} finally {
|
|
68
|
+
signal.removeEventListener('abort', onAbort);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Runtime validation also protects JavaScript callers and external resolvers. */
|
|
73
|
+
export function validateCredential(credential: ResolvedCredential): void {
|
|
74
|
+
if (!credential || typeof credential.token !== 'string' || credential.token.trim().length === 0) {
|
|
75
|
+
throw authError('Credential resolver must return a non-empty string token');
|
|
76
|
+
}
|
|
77
|
+
}
|