@animalabs/membrane 0.1.0 → 0.1.2

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.
@@ -83,6 +83,7 @@ export declare class Membrane {
83
83
  private mapStopReason;
84
84
  private calculateCacheHitRatio;
85
85
  private calculateRetryDelay;
86
+ private attachRawRequest;
86
87
  private sleep;
87
88
  /**
88
89
  * Check if an error is an abort error
@@ -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;AA2B1B,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAiB;gBAG7B,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,cAAmB;IAY7B;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IA4D9B;;;;;;;;;;;;;;;;;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;IAgRhC;;OAEG;YACW,qBAAqB;IAyMnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsD9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,gBAAgB;YA2CV,UAAU;IAQxB,OAAO,CAAC,wBAAwB;IAuChC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,kCAAkC;IAuD1C,OAAO,CAAC,iBAAiB;IA8FzB,OAAO,CAAC,kBAAkB;IAyE1B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAoB7B"}
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;AA2B1B,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAiB;gBAG7B,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,cAAmB;IAY7B;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IAmE9B;;;;;;;;;;;;;;;;;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;IA0RhC;;OAEG;YACW,qBAAqB;IA6MnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsD9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,gBAAgB;YA2CV,UAAU;IAQxB,OAAO,CAAC,wBAAwB;IAuChC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,kCAAkC;IAuD1C,OAAO,CAAC,iBAAiB;IA8FzB,OAAO,CAAC,kBAAkB;IAyE1B,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;CAoB7B"}
package/dist/membrane.js CHANGED
@@ -30,6 +30,7 @@ export class Membrane {
30
30
  async complete(request, options = {}) {
31
31
  const startTime = Date.now();
32
32
  let attempts = 0;
33
+ let rawRequest;
33
34
  while (true) {
34
35
  attempts++;
35
36
  try {
@@ -39,6 +40,9 @@ export class Membrane {
39
40
  if (this.config.hooks?.beforeRequest) {
40
41
  finalRequest = await this.config.hooks.beforeRequest(request, providerRequest) ?? providerRequest;
41
42
  }
43
+ rawRequest = finalRequest;
44
+ // Call onRequest callback for logging
45
+ options.onRequest?.(rawRequest);
42
46
  const providerResponse = await this.adapter.complete(finalRequest, {
43
47
  signal: options.signal,
44
48
  timeoutMs: options.timeoutMs,
@@ -52,12 +56,13 @@ export class Membrane {
52
56
  }
53
57
  catch (error) {
54
58
  const errorInfo = classifyError(error);
59
+ errorInfo.rawRequest = rawRequest;
55
60
  if (errorInfo.retryable && attempts < this.retryConfig.maxRetries) {
56
61
  // Check hook for retry decision
57
62
  if (this.config.hooks?.onError) {
58
63
  const decision = await this.config.hooks.onError(errorInfo, attempts);
59
64
  if (decision === 'abort') {
60
- throw error instanceof MembraneError ? error : new MembraneError(errorInfo);
65
+ throw new MembraneError(errorInfo);
61
66
  }
62
67
  }
63
68
  // Wait before retry
@@ -65,7 +70,7 @@ export class Membrane {
65
70
  await this.sleep(delay);
66
71
  continue;
67
72
  }
68
- throw error instanceof MembraneError ? error : new MembraneError(errorInfo);
73
+ throw new MembraneError(errorInfo);
69
74
  }
70
75
  }
71
76
  }
@@ -123,7 +128,7 @@ export class Membrane {
123
128
  */
124
129
  async streamWithXmlTools(request, options) {
125
130
  const startTime = Date.now();
126
- const { onChunk, onContentBlockUpdate, onToolCalls, onPreToolContent, onUsage, onBlock, maxToolDepth = 10, signal, } = options;
131
+ const { onChunk, onContentBlockUpdate, onToolCalls, onPreToolContent, onUsage, onBlock, onRequest, maxToolDepth = 10, signal, } = options;
127
132
  // Initialize incremental parser for XML tracking
128
133
  const parser = new IncrementalXmlParser();
129
134
  let toolDepth = 0;
@@ -137,10 +142,17 @@ export class Membrane {
137
142
  const executedToolResults = [];
138
143
  // Transform initial request (XML tools are injected into system prompt)
139
144
  let { providerRequest, prefillResult } = this.transformRequest(request);
145
+ // Initialize parser with prefill content so it knows about any open tags
146
+ // (e.g., <thinking> in the prefill means API response continues inside thinking)
147
+ if (prefillResult.assistantPrefill) {
148
+ parser.push(prefillResult.assistantPrefill);
149
+ }
140
150
  try {
141
151
  // Tool execution loop
142
152
  while (toolDepth <= maxToolDepth) {
143
153
  rawRequest = providerRequest;
154
+ // Call onRequest callback for logging
155
+ onRequest?.(rawRequest);
144
156
  // Track if we manually detected a stop sequence (API doesn't always stop)
145
157
  let detectedStopSequence = null;
146
158
  let truncatedAccumulated = null;
@@ -308,8 +320,8 @@ export class Membrane {
308
320
  if (this.isAbortError(error)) {
309
321
  return this.buildAbortedResponse(parser.getAccumulated(), totalUsage, executedToolCalls, executedToolResults, 'user');
310
322
  }
311
- // Re-throw non-abort errors
312
- throw error;
323
+ // Re-throw with rawRequest attached for logging
324
+ throw this.attachRawRequest(error, rawRequest);
313
325
  }
314
326
  }
315
327
  /**
@@ -317,7 +329,7 @@ export class Membrane {
317
329
  */
318
330
  async streamWithNativeTools(request, options) {
319
331
  const startTime = Date.now();
320
- const { onChunk, onContentBlockUpdate, onToolCalls, onPreToolContent, onUsage, maxToolDepth = 10, signal, } = options;
332
+ const { onChunk, onContentBlockUpdate, onToolCalls, onPreToolContent, onUsage, onRequest, maxToolDepth = 10, signal, } = options;
321
333
  let toolDepth = 0;
322
334
  let totalUsage = { inputTokens: 0, outputTokens: 0 };
323
335
  let lastStopReason = 'end_turn';
@@ -337,6 +349,8 @@ export class Membrane {
337
349
  // Build provider request with native tools
338
350
  const providerRequest = this.buildNativeToolRequest(request, messages);
339
351
  rawRequest = providerRequest;
352
+ // Call onRequest callback for logging
353
+ onRequest?.(rawRequest);
340
354
  // Stream from provider
341
355
  let textAccumulated = '';
342
356
  let blockIndex = 0;
@@ -466,8 +480,8 @@ export class Membrane {
466
480
  if (this.isAbortError(error)) {
467
481
  return this.buildAbortedResponse(allTextAccumulated, totalUsage, executedToolCalls, executedToolResults, 'user');
468
482
  }
469
- // Re-throw non-abort errors
470
- throw error;
483
+ // Re-throw with rawRequest attached for logging
484
+ throw this.attachRawRequest(error, rawRequest);
471
485
  }
472
486
  }
473
487
  /**
@@ -852,6 +866,11 @@ export class Membrane {
852
866
  const delay = retryDelayMs * Math.pow(backoffMultiplier, attempt - 1);
853
867
  return Math.min(delay, maxRetryDelayMs);
854
868
  }
869
+ attachRawRequest(error, rawRequest) {
870
+ const errorInfo = classifyError(error);
871
+ errorInfo.rawRequest = rawRequest;
872
+ return new MembraneError(errorInfo);
873
+ }
855
874
  sleep(ms) {
856
875
  return new Promise((resolve) => setTimeout(resolve, ms));
857
876
  }
@@ -1 +1 @@
1
- {"version":3,"file":"membrane.js","sourceRoot":"","sources":["../src/membrane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"membrane.js","sourceRoot":"","sources":["../src/membrane.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,aAAa,GAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAA2B,MAAM,0BAA0B,CAAC;AAGzF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,OAAO,QAAQ;IACX,OAAO,CAAkB;IACzB,QAAQ,CAAiB;IACzB,WAAW,CAAc;IACzB,MAAM,CAAiB;IAE/B,YACE,OAAwB,EACxB,SAAyB,EAAE;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAA2B,EAAE;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAmB,CAAC;QAExB,OAAO,IAAI,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAE1E,0BAA0B;gBAC1B,IAAI,YAAY,GAAG,eAAe,CAAC;gBACnC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;oBACrC,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,eAAe,CAAC;gBACpG,CAAC;gBAED,UAAU,GAAG,YAAY,CAAC;gBAE1B,sCAAsC;gBACtC,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;gBAEhC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACjE,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CACrC,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,CACb,CAAC;gBAEF,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;oBACrC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,QAAQ,CAAC;YAElB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;gBAElC,IAAI,SAAS,CAAC,SAAS,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAClE,gCAAgC;oBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;wBAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;wBACtE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;4BACzB,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;oBAED,oBAAoB;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxB,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,UAAyB,EAAE;QAE3B,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAA0B;QAChD,iCAAiC;QACjC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpD,OAAO,OAAO,CAAC,QAAQ,CAAC;QAC1B,CAAC;QAED,sCAAsC;QACtC,yDAAyD;QACzD,oDAAoD;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAA0B,EAC1B,OAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EACJ,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,MAAM,GACP,GAAG,OAAO,CAAC;QAEZ,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,GAAe,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,IAAI,cAAc,GAAe,UAAU,CAAC;QAC5C,IAAI,UAAmB,CAAC;QACxB,IAAI,WAAoB,CAAC;QAEzB,wCAAwC;QACxC,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAiB,EAAE,CAAC;QAE7C,wEAAwE;QACxE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAExE,yEAAyE;QACzE,iFAAiF;QACjF,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,sBAAsB;YACtB,OAAO,SAAS,IAAI,YAAY,EAAE,CAAC;gBACjC,UAAU,GAAG,eAAe,CAAC;gBAE7B,sCAAsC;gBACtC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;gBAExB,0EAA0E;gBAC1E,IAAI,oBAAoB,GAAkB,IAAI,CAAC;gBAC/C,IAAI,oBAAoB,GAAkB,IAAI,CAAC;gBAE/C,oFAAoF;gBACpF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC;gBAEtD,uBAAuB;gBACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CACxC,eAAe,EACf;oBACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,kEAAkE;wBAClE,IAAI,oBAAoB,EAAE,CAAC;4BACzB,OAAO;wBACT,CAAC;wBAED,4CAA4C;wBAC5C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBAE5D,uEAAuE;wBACvE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAErD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;4BAClD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACxC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gCACf,6CAA6C;gCAC7C,MAAM,WAAW,GAAG,cAAc,GAAG,GAAG,CAAC;gCACzC,oBAAoB,GAAG,OAAO,CAAC;gCAC/B,oBAAoB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gCAEzD,0DAA0D;gCAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gCACzD,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;oCACjC,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oCACtE,MAAM,IAAI,GAAc;wCACtB,IAAI,EAAE,MAAM,CAAC,mBAAmB,EAAE;wCAClC,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,KAAK,MAAM;wCAChD,UAAU,EAAE,CAAC,EAAE,cAAc;qCAC9B,CAAC;oCACF,OAAO,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gCAClC,CAAC;gCACD,OAAO;4BACT,CAAC;wBACH,CAAC;wBAED,0BAA0B;wBAC1B,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gCAChC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACjB,CAAC;wBACH,CAAC;wBAED,oCAAoC;wBACpC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;4BACrC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC;oBACD,cAAc,EAAE,oBAAoB;wBAClC,CAAC,CAAC,CAAC,KAAa,EAAE,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAqB,CAAC;wBACvF,CAAC,CAAC,SAAS;iBACd,EACD,EAAE,MAAM,EAAE,CACX,CAAC;gBAEF,sEAAsE;gBACtE,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;oBAC1D,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAClC,YAAY,CAAC,UAAU,GAAG,eAAe,CAAC;oBAC1C,YAAY,CAAC,YAAY,GAAG,oBAAoB,CAAC;gBACnD,CAAC;gBAED,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC;gBAC/B,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAE7D,mBAAmB;gBACnB,UAAU,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;gBACzD,UAAU,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;gBAEtB,mCAAmC;gBACnC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBAE5C,6CAA6C;gBAC7C,IAAI,WAAW,IAAI,YAAY,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;oBACrE,4EAA4E;oBAC5E,MAAM,QAAQ,GAAG,mBAAmB,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtB,2EAA2E;oBAE3E,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;oBAEvD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtC,gCAAgC;wBAChC,IAAI,gBAAgB,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;4BACjD,MAAM,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC5C,CAAC;wBAED,uBAAuB;wBACvB,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBAExC,gBAAgB;wBAChB,MAAM,OAAO,GAAgB;4BAC3B,OAAO,EAAE,MAAM,CAAC,SAAS;4BACzB,QAAQ,EAAE,MAAM,CAAC,UAAU;4BAC3B,KAAK,EAAE,SAAS;4BAChB,eAAe,EAAE,mBAAmB;4BACpC,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE;yBACrC,CAAC;wBAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBAEzD,yBAAyB;wBACzB,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;wBAErC,kEAAkE;wBAClE,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;4BACnC,sCAAsC;4BACtC,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;4BAE5D,wDAAwD;4BACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;4BACzC,MAAM,cAAc,GAAc;gCAChC,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,KAAK;gCACd,UAAU,EAAE,CAAC;6BACd,CAAC;4BACF,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;4BAEvD,0CAA0C;4BAC1C,eAAe,GAAG,IAAI,CAAC,kCAAkC,CACvD,OAAO,EACP,aAAa,EACb,MAAM,CAAC,cAAc,EAAE,EACvB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,aAAa,CAC3B,CAAC;4BAEF,sEAAsE;4BACtE,8DAA8D;4BAC9D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;4BACxC,OAAO,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;4BACtD,aAAa,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC3D,CAAC;6BAAM,CAAC;4BACN,qDAAqD;4BACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;4BAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACxB,MAAM,cAAc,GAAc;gCAChC,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,KAAK;gCACd,UAAU,EAAE,CAAC;6BACd,CAAC;4BACF,OAAO,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;4BAEtC,8BAA8B;4BAC9B,aAAa,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;4BACzD,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAC7C,OAAO,EACP,aAAa,EACb,MAAM,CAAC,cAAc,EAAE,CACxB,CAAC;wBACJ,CAAC;wBAED,SAAS,EAAE,CAAC;wBACZ,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,4EAA4E;gBAC5E,6EAA6E;gBAC7E,IAAI,cAAc,KAAK,eAAe,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;oBACjE,kFAAkF;oBAClF,yDAAyD;oBACzD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;wBAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBACvC,MAAM,IAAI,GAAc;4BACtB,IAAI,EAAE,MAAM,CAAC,mBAAmB,EAAE;4BAClC,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,KAAK,MAAM;4BAChD,UAAU,EAAE,CAAC;yBACd,CAAC;wBACF,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBAED,qEAAqE;oBACrE,SAAS,EAAE,CAAC,CAAC,8CAA8C;oBAC3D,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,aAAa,CAAC,gBAAgB,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;oBACzD,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAC7C,OAAO,EACP,aAAa,EACb,MAAM,CAAC,cAAc,EAAE,CACxB,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,sDAAsD;gBACtD,MAAM;YACR,CAAC;YAED,uBAAuB;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,MAAM,CAAC,cAAc,EAAE,EACvB,aAAa,EACb,cAAc,EACd,UAAU,EACV,OAAO,EACP,aAAa,EACb,SAAS,EACT,CAAC,EAAE,WAAW;YACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,oBAAoB,CAC9B,MAAM,CAAC,cAAc,EAAE,EACvB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,CACP,CAAC;YACJ,CAAC;YACD,gDAAgD;YAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,OAA0B,EAC1B,OAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EACJ,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,YAAY,GAAG,EAAE,EACjB,MAAM,GACP,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,GAAe,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,cAAc,GAAe,UAAU,CAAC;QAC5C,IAAI,UAAmB,CAAC;QACxB,IAAI,WAAoB,CAAC;QAEzB,sCAAsC;QACtC,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAE5B,wCAAwC;QACxC,MAAM,iBAAiB,GAAe,EAAE,CAAC;QACzC,MAAM,mBAAmB,GAAiB,EAAE,CAAC;QAE7C,2DAA2D;QAC3D,IAAI,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,gBAAgB,GAAmB,EAAE,CAAC;QAE1C,IAAI,CAAC;YACH,sBAAsB;YACtB,OAAO,SAAS,IAAI,YAAY,EAAE,CAAC;gBACjC,2CAA2C;gBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACvE,UAAU,GAAG,eAAe,CAAC;gBAE7B,sCAAsC;gBACtC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;gBAExB,uBAAuB;gBACvB,IAAI,eAAe,GAAG,EAAE,CAAC;gBACzB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CACxC,eAAe,EACf;oBACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACjB,eAAe,IAAI,KAAK,CAAC;wBACzB,kBAAkB,IAAI,KAAK,CAAC;wBAC5B,wDAAwD;wBACxD,gEAAgE;wBAChE,MAAM,IAAI,GAAc;4BACtB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,IAAI;4BACb,UAAU;yBACX,CAAC;wBACF,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACzB,CAAC;oBACD,cAAc,EAAE,oBAAoB;wBAClC,CAAC,CAAC,CAAC,KAAa,EAAE,KAAc,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAqB,CAAC;wBACvF,CAAC,CAAC,SAAS;iBACd,EACD,EAAE,MAAM,EAAE,CACX,CAAC;gBAEF,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC;gBAC/B,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAE7D,mBAAmB;gBACnB,UAAU,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;gBACzD,UAAU,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;gBAEtB,qCAAqC;gBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACvE,gBAAgB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;gBAEzC,4BAA4B;gBAC5B,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,CAAC,EAA4C,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CACvE,CAAC;gBAEF,IAAI,WAAW,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;oBAC7E,gCAAgC;oBAChC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBACjE,IAAI,gBAAgB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9C,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAClE,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;4BACvB,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;oBAED,mCAAmC;oBACnC,MAAM,SAAS,GAAe,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACxD,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAgC;qBAC9C,CAAC,CAAC,CAAC;oBAEJ,mBAAmB;oBACnB,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;oBAErC,gBAAgB;oBAChB,MAAM,OAAO,GAAgB;wBAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;wBACtC,QAAQ,EAAE,eAAe;wBACzB,KAAK,EAAE,SAAS;wBAChB,eAAe,EAAE,mBAAmB;wBACpC,WAAW,EAAE,kBAAkB;qBAChC,CAAC;oBAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAEtD,qBAAqB;oBACrB,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;oBAErC,qCAAqC;oBACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,gBAAgB,CAAC,IAAI,CAAC;4BACpB,IAAI,EAAE,aAAa;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,MAAM,CAAC,OAAO;yBACxB,CAAC,CAAC;oBACL,CAAC;oBAED,yEAAyE;oBACzE,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW,EAAE,QAAQ;wBACrB,OAAO,EAAE,cAAc;qBACxB,CAAC,CAAC;oBAEH,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW,EAAE,MAAM;wBACnB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACzB,IAAI,EAAE,aAAsB;4BAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;4BACtB,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,OAAO,EAAE,CAAC,CAAC,OAAO;yBACnB,CAAC,CAAC;qBACJ,CAAC,CAAC;oBAEH,SAAS,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,4BAA4B;gBAC5B,MAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE1C,OAAO;gBACL,OAAO,EAAE,gBAAgB;gBACzB,gBAAgB,EAAE,kBAAkB;gBACpC,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE,mBAAmB;gBAChC,UAAU,EAAE,cAAc;gBAC1B,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,MAAM,EAAE,cAAc;wBACtB,YAAY,EAAE,cAAc,KAAK,YAAY;qBAC9C;oBACD,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE;oBACxB,MAAM,EAAE;wBACN,eAAe,EAAE,UAAU;wBAC3B,QAAQ,EAAE,CAAC;qBACZ;oBACD,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;wBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;wBAC5B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;qBAC5B;oBACD,KAAK,EAAE;wBACL,gBAAgB,EAAE,CAAC;wBACnB,aAAa,EAAE,CAAC;wBAChB,UAAU,EAAE,CAAC;wBACb,QAAQ,EAAE,CAAC;qBACZ;iBACF;gBACD,GAAG,EAAE;oBACH,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,WAAW;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,oBAAoB,CAC9B,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,CACP,CAAC;YACJ,CAAC;YACD,gDAAgD;YAChD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,OAA0B,EAC1B,QAAiC;QAEjC,sCAAsC;QACtC,MAAM,gBAAgB,GAAU,EAAE,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC;YACjD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhD,yBAAyB;YACzB,MAAM,OAAO,GAAU,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,KAAK,CAAC,SAAS;wBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,QAAQ,EAAE,KAAK,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,mCAAmC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,WAAW;SAC/B,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;YACvC,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,cAAc;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAgB;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAmB,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAErE,gBAAgB,CAAC,OAA0B;QAIjD,iCAAiC;QACjC,wEAAwE;QAExE,oEAAoE;QACpE,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YAClE,CAAC,CAAC,OAAO,CAAC,aAAa;YACvB,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAC;QAE3C,6EAA6E;QAC7E,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB;eACxD,IAAI,CAAC,MAAM,CAAC,sBAAsB;eAClC,EAAE,CAAC;QAER,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE;YAChD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,QAAQ;YAC3D,aAAa,EAAE,IAAI,EAAE,kCAAkC;YACvD,uBAAuB;YACvB,sBAAsB;SACvB,CAAC,CAAC;QAEH,oDAAoD;QACpD,oEAAoE;QACpE,MAAM,eAAe,GAAG;YACtB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;YACnC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;YACvC,QAAQ,EAAE,aAAa,CAAC,QAAQ;YAChC,oDAAoD;YACpD,6DAA6D;YAC7D,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC7B,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,KAAK,EAAE,OAAO,CAAC,cAAc;SAC9B,CAAC;QAEF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAAY,EACZ,SAAyG,EACzG,OAAiC;QAEjC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAEO,wBAAwB,CAC9B,eAAkC,EAClC,aAAqC,EACrC,WAAmB;QAEnB,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEjD,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE7C,yDAAyD;QACzD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;gBACjE,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK;YACnC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS;YAC3C,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW;YAC/C,QAAQ;YACR,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC7B,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,KAAK,EAAE,eAAe,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,kCAAkC,CACxC,eAAkC,EAClC,aAAqC,EACrC,WAAmB,EACnB,MAA4B,EAC5B,aAAqB;QAErB,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAEjD,gEAAgE;QAChE,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,sDAAsD;QACtD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,8CAA8C;gBAC9C,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,gEAAgE;QAChE,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QAEH,wCAAwC;QACxC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,8CAA8C;QAC9C,yEAAyE;QACzE,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK;YACnC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS;YAC3C,WAAW,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW;YAC/C,QAAQ;YACR,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC7B,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,KAAK,EAAE,eAAe,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,gBAAqB,EACrB,OAA0B,EAC1B,aAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,UAAoB;QAEpB,6BAA6B;QAC7B,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,sCAAsC;QACtC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjD,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC,CAAC;oBACH,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;qBAC3B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,gBAAgB,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,KAAK,GAAG;YACZ,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,WAAW;YAC/C,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAY;SAClD,CAAC;QAEF,OAAO;YACL,OAAO;YACP,gBAAgB;YAChB,SAAS;YACT,WAAW,EAAE,EAAE,EAAE,mCAAmC;YACpD,UAAU;YACV,KAAK;YACL,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU;oBAClB,iBAAiB,EAAE,gBAAgB,CAAC,YAAY;oBAChD,YAAY,EAAE,UAAU,KAAK,YAAY;iBAC1C;gBACD,KAAK,EAAE;oBACL,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,WAAW;oBAC/C,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAY;oBACjD,mBAAmB,EAAE,gBAAgB,CAAC,KAAK,CAAC,mBAAmB;oBAC/D,eAAe,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe;iBACxD;gBACD,MAAM,EAAE;oBACN,eAAe,EAAE,UAAU;oBAC3B,QAAQ;iBACT;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;oBAC/B,MAAM,EAAE,gBAAgB,CAAC,KAAK;oBAC9B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iBAC5B;gBACD,KAAK,EAAE;oBACL,gBAAgB,EAAE,aAAa,CAAC,mBAAmB;oBACnD,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC;oBAC9D,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC;oBACvD,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,KAAK,CAAC;iBAC9D;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE,UAAU,IAAI,IAAI;gBAC3B,QAAQ,EAAE,gBAAgB,CAAC,GAAG;aAC/B;SACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,WAAmB,EACnB,aAA6B,EAC7B,UAAsB,EACtB,KAAiB,EACjB,OAA0B,EAC1B,aAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,UAAmB,EACnB,WAAoB,EACpB,oBAAgC,EAAE,EAClC,sBAAoC,EAAE;QAEtC,wDAAwD;QACxD,iEAAiE;QACjE,IAAI,YAA4B,CAAC;QACjC,IAAI,SAAqB,CAAC;QAC1B,IAAI,WAAyB,CAAC;QAE9B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,kDAAkD;YAClD,YAAY,GAAG,aAAa,CAAC;YAC7B,SAAS,GAAG,iBAAiB,CAAC;YAC9B,WAAW,GAAG,mBAAmB,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;YACvD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC/E,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1C,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,gBAAgB,EAAE,WAAW;YAC7B,SAAS;YACT,WAAW;YACX,UAAU;YACV,KAAK;YACL,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,UAAU,KAAK,YAAY;iBAC1C;gBACD,KAAK,EAAE;oBACL,GAAG,KAAK;iBACT;gBACD,MAAM,EAAE;oBACN,eAAe,EAAE,UAAU;oBAC3B,QAAQ;iBACT;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;oBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,0BAA0B;oBACxD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iBAC5B;gBACD,KAAK,EAAE;oBACL,gBAAgB,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;oBAChB,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,CAAC;iBACZ;aACF;YACD,GAAG,EAAE;gBACH,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,WAAW;aACtB;SACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,cAAsB;QAC1C,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,UAAU;gBACb,OAAO,UAAU,CAAC;YACpB,KAAK,YAAY;gBACf,OAAO,YAAY,CAAC;YACtB,KAAK,eAAe;gBAClB,OAAO,eAAe,CAAC;YACzB,KAAK,UAAU;gBACb,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,UAAU,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAAU;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,mBAAmB,CAAC,OAAe;QACzC,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9E,MAAM,KAAK,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,KAAc,EAAE,UAAmB;QAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,sBAAsB;YACtB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAC7C,sBAAsB;YACtB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxF,CAAC;QACD,wCAAwC;QACxC,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YACzE,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,WAAmB,EACnB,KAAiB,EACjB,SAAqB,EACrB,WAAyB,EACzB,MAAoC;QAEpC,iEAAiE;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACtD,YAAY,EAAE,KAAK;YACnB,MAAM;YACN,gBAAgB,EAAE,WAAW,IAAI,SAAS;YAC1C,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;CACF"}
@@ -17,6 +17,8 @@ export interface ErrorInfo {
17
17
  providerErrorCode?: string;
18
18
  /** Raw error object */
19
19
  rawError: unknown;
20
+ /** Raw request that caused the error (for logging) */
21
+ rawRequest?: unknown;
20
22
  }
21
23
  export declare class MembraneError extends Error {
22
24
  readonly type: MembraneErrorType;
@@ -25,6 +27,7 @@ export declare class MembraneError extends Error {
25
27
  readonly httpStatus?: number;
26
28
  readonly providerErrorCode?: string;
27
29
  readonly rawError?: unknown;
30
+ readonly rawRequest?: unknown;
28
31
  constructor(info: ErrorInfo);
29
32
  toErrorInfo(): ErrorInfo;
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AAMd,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IAExB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAEhB,IAAI,EAAE,SAAS;IAW3B,WAAW,IAAI,SAAS;CAWzB;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CASnG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQjF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQvE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQ9F;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAA8B,GAAG,aAAa,CAOjF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAOzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAO/D;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAwFvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AAMd,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IAExB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC;IAElB,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;gBAElB,IAAI,EAAE,SAAS;IAY3B,WAAW,IAAI,SAAS;CAYzB;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CASnG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQjF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQvE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQ9F;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAA8B,GAAG,aAAa,CAOjF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAOzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAO/D;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAwFvD"}
@@ -11,6 +11,7 @@ export class MembraneError extends Error {
11
11
  httpStatus;
12
12
  providerErrorCode;
13
13
  rawError;
14
+ rawRequest;
14
15
  constructor(info) {
15
16
  super(info.message);
16
17
  this.name = 'MembraneError';
@@ -20,6 +21,7 @@ export class MembraneError extends Error {
20
21
  this.httpStatus = info.httpStatus;
21
22
  this.providerErrorCode = info.providerErrorCode;
22
23
  this.rawError = info.rawError;
24
+ this.rawRequest = info.rawRequest;
23
25
  }
24
26
  toErrorInfo() {
25
27
  return {
@@ -30,6 +32,7 @@ export class MembraneError extends Error {
30
32
  httpStatus: this.httpStatus,
31
33
  providerErrorCode: this.providerErrorCode,
32
34
  rawError: this.rawError,
35
+ rawRequest: this.rawRequest,
33
36
  };
34
37
  }
35
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export type { GenerationConfig, StopSequenceStrategy, StopSequenceConfig, Reques
10
10
  export type { StopReason, BasicUsage, DetailedUsage, CostBreakdown, StopInfo, ModelInfo, TimingInfo, CacheInfo, ResponseDetails, RawAccess, NormalizedResponse, AbortedResponse, } from './response.js';
11
11
  export { isAbortedResponse } from './response.js';
12
12
  export type { ProviderQuirks, MediaCapabilities, ProviderCapabilities, ModelPricing, ModelDefinition, ModelRegistry, ModelFilter, ProviderAdapter, ProviderRequest, ProviderRequestOptions, ProviderResponse, StreamCallbacks, } from './provider.js';
13
- export type { StreamState, StreamOptions, CompleteOptions, OnChunkCallback, OnContentBlockCallback, OnToolCallsCallback, OnPreToolContentCallback, OnUsageCallback, OnBlockCallback, BlockEvent, BlockDelta, } from './streaming.js';
13
+ export type { StreamState, StreamOptions, CompleteOptions, OnChunkCallback, OnContentBlockCallback, OnToolCallsCallback, OnPreToolContentCallback, OnUsageCallback, OnBlockCallback, OnRequestCallback, BlockEvent, BlockDelta, } from './streaming.js';
14
14
  export type { MembraneErrorType, ErrorInfo, } from './errors.js';
15
15
  export { MembraneError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, safetyError, unsupportedError, classifyError, } from './errors.js';
16
16
  export type { RetryConfig, MediaConfig, MembraneHooks, MembraneLogger, MembraneConfig, } from './config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAuCtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAuClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAWrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAuCtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAwClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAWrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -129,6 +129,11 @@ export type OnUsageCallback = (usage: BasicUsage) => void;
129
129
  * Provides parsed block information as it's detected.
130
130
  */
131
131
  export type OnBlockCallback = (event: BlockEvent) => void;
132
+ /**
133
+ * Callback called with the raw provider request before it's sent.
134
+ * Useful for logging/debugging.
135
+ */
136
+ export type OnRequestCallback = (rawRequest: unknown) => void;
132
137
  export interface StreamOptions {
133
138
  /** Abort signal for cancellation */
134
139
  signal?: AbortSignal;
@@ -148,6 +153,8 @@ export interface StreamOptions {
148
153
  onUsage?: OnUsageCallback;
149
154
  /** Called for structured block events (thinking, tool_use, tool_result) */
150
155
  onBlock?: OnBlockCallback;
156
+ /** Called with raw provider request before sending (for logging) */
157
+ onRequest?: OnRequestCallback;
151
158
  /** Maximum tool execution depth (default: 10) */
152
159
  maxToolDepth?: number;
153
160
  /** Timeout for each tool execution */
@@ -160,5 +167,7 @@ export interface CompleteOptions {
160
167
  timeoutMs?: number;
161
168
  /** Request ID for correlation */
162
169
  requestId?: string;
170
+ /** Called with raw provider request before sending (for logging) */
171
+ onRequest?: OnRequestCallback;
163
172
  }
164
173
  //# sourceMappingURL=streaming.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@animalabs/membrane",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "LLM middleware - a selective boundary that transforms what passes through",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/membrane.ts CHANGED
@@ -81,24 +81,30 @@ export class Membrane {
81
81
  ): Promise<NormalizedResponse> {
82
82
  const startTime = Date.now();
83
83
  let attempts = 0;
84
-
84
+ let rawRequest: unknown;
85
+
85
86
  while (true) {
86
87
  attempts++;
87
-
88
+
88
89
  try {
89
90
  const { providerRequest, prefillResult } = this.transformRequest(request);
90
-
91
+
91
92
  // Call beforeRequest hook
92
93
  let finalRequest = providerRequest;
93
94
  if (this.config.hooks?.beforeRequest) {
94
95
  finalRequest = await this.config.hooks.beforeRequest(request, providerRequest) ?? providerRequest;
95
96
  }
96
-
97
+
98
+ rawRequest = finalRequest;
99
+
100
+ // Call onRequest callback for logging
101
+ options.onRequest?.(rawRequest);
102
+
97
103
  const providerResponse = await this.adapter.complete(finalRequest, {
98
104
  signal: options.signal,
99
105
  timeoutMs: options.timeoutMs,
100
106
  });
101
-
107
+
102
108
  const response = this.transformResponse(
103
109
  providerResponse,
104
110
  request,
@@ -107,33 +113,34 @@ export class Membrane {
107
113
  attempts,
108
114
  finalRequest
109
115
  );
110
-
116
+
111
117
  // Call afterResponse hook
112
118
  if (this.config.hooks?.afterResponse) {
113
119
  return await this.config.hooks.afterResponse(response, providerResponse.raw);
114
120
  }
115
-
121
+
116
122
  return response;
117
-
123
+
118
124
  } catch (error) {
119
125
  const errorInfo = classifyError(error);
120
-
126
+ errorInfo.rawRequest = rawRequest;
127
+
121
128
  if (errorInfo.retryable && attempts < this.retryConfig.maxRetries) {
122
129
  // Check hook for retry decision
123
130
  if (this.config.hooks?.onError) {
124
131
  const decision = await this.config.hooks.onError(errorInfo, attempts);
125
132
  if (decision === 'abort') {
126
- throw error instanceof MembraneError ? error : new MembraneError(errorInfo);
133
+ throw new MembraneError(errorInfo);
127
134
  }
128
135
  }
129
-
136
+
130
137
  // Wait before retry
131
138
  const delay = this.calculateRetryDelay(attempts);
132
139
  await this.sleep(delay);
133
140
  continue;
134
141
  }
135
-
136
- throw error instanceof MembraneError ? error : new MembraneError(errorInfo);
142
+
143
+ throw new MembraneError(errorInfo);
137
144
  }
138
145
  }
139
146
  }
@@ -209,6 +216,7 @@ export class Membrane {
209
216
  onPreToolContent,
210
217
  onUsage,
211
218
  onBlock,
219
+ onRequest,
212
220
  maxToolDepth = 10,
213
221
  signal,
214
222
  } = options;
@@ -229,11 +237,20 @@ export class Membrane {
229
237
  // Transform initial request (XML tools are injected into system prompt)
230
238
  let { providerRequest, prefillResult } = this.transformRequest(request);
231
239
 
240
+ // Initialize parser with prefill content so it knows about any open tags
241
+ // (e.g., <thinking> in the prefill means API response continues inside thinking)
242
+ if (prefillResult.assistantPrefill) {
243
+ parser.push(prefillResult.assistantPrefill);
244
+ }
245
+
232
246
  try {
233
247
  // Tool execution loop
234
248
  while (toolDepth <= maxToolDepth) {
235
249
  rawRequest = providerRequest;
236
250
 
251
+ // Call onRequest callback for logging
252
+ onRequest?.(rawRequest);
253
+
237
254
  // Track if we manually detected a stop sequence (API doesn't always stop)
238
255
  let detectedStopSequence: string | null = null;
239
256
  let truncatedAccumulated: string | null = null;
@@ -464,8 +481,8 @@ export class Membrane {
464
481
  'user'
465
482
  );
466
483
  }
467
- // Re-throw non-abort errors
468
- throw error;
484
+ // Re-throw with rawRequest attached for logging
485
+ throw this.attachRawRequest(error, rawRequest);
469
486
  }
470
487
  }
471
488
 
@@ -483,6 +500,7 @@ export class Membrane {
483
500
  onToolCalls,
484
501
  onPreToolContent,
485
502
  onUsage,
503
+ onRequest,
486
504
  maxToolDepth = 10,
487
505
  signal,
488
506
  } = options;
@@ -511,6 +529,9 @@ export class Membrane {
511
529
  const providerRequest = this.buildNativeToolRequest(request, messages);
512
530
  rawRequest = providerRequest;
513
531
 
532
+ // Call onRequest callback for logging
533
+ onRequest?.(rawRequest);
534
+
514
535
  // Stream from provider
515
536
  let textAccumulated = '';
516
537
  let blockIndex = 0;
@@ -668,8 +689,8 @@ export class Membrane {
668
689
  'user'
669
690
  );
670
691
  }
671
- // Re-throw non-abort errors
672
- throw error;
692
+ // Re-throw with rawRequest attached for logging
693
+ throw this.attachRawRequest(error, rawRequest);
673
694
  }
674
695
  }
675
696
 
@@ -1127,6 +1148,12 @@ export class Membrane {
1127
1148
  return Math.min(delay, maxRetryDelayMs);
1128
1149
  }
1129
1150
 
1151
+ private attachRawRequest(error: unknown, rawRequest: unknown): Error {
1152
+ const errorInfo = classifyError(error);
1153
+ errorInfo.rawRequest = rawRequest;
1154
+ return new MembraneError(errorInfo);
1155
+ }
1156
+
1130
1157
  private sleep(ms: number): Promise<void> {
1131
1158
  return new Promise((resolve) => setTimeout(resolve, ms));
1132
1159
  }
@@ -26,24 +26,27 @@ export type MembraneErrorType =
26
26
  export interface ErrorInfo {
27
27
  /** Normalized error type */
28
28
  type: MembraneErrorType;
29
-
29
+
30
30
  /** Human-readable message */
31
31
  message: string;
32
-
32
+
33
33
  /** Whether this error is retryable */
34
34
  retryable: boolean;
35
-
35
+
36
36
  /** Retry after (milliseconds) - for rate limits */
37
37
  retryAfterMs?: number;
38
-
38
+
39
39
  /** HTTP status code if available */
40
40
  httpStatus?: number;
41
-
41
+
42
42
  /** Provider-specific error code */
43
43
  providerErrorCode?: string;
44
-
44
+
45
45
  /** Raw error object */
46
46
  rawError: unknown;
47
+
48
+ /** Raw request that caused the error (for logging) */
49
+ rawRequest?: unknown;
47
50
  }
48
51
 
49
52
  // ============================================================================
@@ -57,6 +60,7 @@ export class MembraneError extends Error {
57
60
  readonly httpStatus?: number;
58
61
  readonly providerErrorCode?: string;
59
62
  readonly rawError?: unknown;
63
+ readonly rawRequest?: unknown;
60
64
 
61
65
  constructor(info: ErrorInfo) {
62
66
  super(info.message);
@@ -67,6 +71,7 @@ export class MembraneError extends Error {
67
71
  this.httpStatus = info.httpStatus;
68
72
  this.providerErrorCode = info.providerErrorCode;
69
73
  this.rawError = info.rawError;
74
+ this.rawRequest = info.rawRequest;
70
75
  }
71
76
 
72
77
  toErrorInfo(): ErrorInfo {
@@ -78,6 +83,7 @@ export class MembraneError extends Error {
78
83
  httpStatus: this.httpStatus,
79
84
  providerErrorCode: this.providerErrorCode,
80
85
  rawError: this.rawError,
86
+ rawRequest: this.rawRequest,
81
87
  };
82
88
  }
83
89
  }
@@ -114,6 +114,7 @@ export type {
114
114
  OnPreToolContentCallback,
115
115
  OnUsageCallback,
116
116
  OnBlockCallback,
117
+ OnRequestCallback,
117
118
  BlockEvent,
118
119
  BlockDelta,
119
120
  } from './streaming.js';
@@ -172,6 +172,12 @@ export type OnUsageCallback = (usage: BasicUsage) => void;
172
172
  */
173
173
  export type OnBlockCallback = (event: BlockEvent) => void;
174
174
 
175
+ /**
176
+ * Callback called with the raw provider request before it's sent.
177
+ * Useful for logging/debugging.
178
+ */
179
+ export type OnRequestCallback = (rawRequest: unknown) => void;
180
+
175
181
  // ============================================================================
176
182
  // Stream Options
177
183
  // ============================================================================
@@ -206,6 +212,9 @@ export interface StreamOptions {
206
212
  /** Called for structured block events (thinking, tool_use, tool_result) */
207
213
  onBlock?: OnBlockCallback;
208
214
 
215
+ /** Called with raw provider request before sending (for logging) */
216
+ onRequest?: OnRequestCallback;
217
+
209
218
  // ---- Tool Loop Config ----
210
219
 
211
220
  /** Maximum tool execution depth (default: 10) */
@@ -222,10 +231,13 @@ export interface StreamOptions {
222
231
  export interface CompleteOptions {
223
232
  /** Abort signal for cancellation */
224
233
  signal?: AbortSignal;
225
-
234
+
226
235
  /** Request timeout */
227
236
  timeoutMs?: number;
228
-
237
+
229
238
  /** Request ID for correlation */
230
239
  requestId?: string;
240
+
241
+ /** Called with raw provider request before sending (for logging) */
242
+ onRequest?: OnRequestCallback;
231
243
  }