@animalabs/membrane 0.5.80 → 0.5.82

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 (172) hide show
  1. package/dist/cache-wire-receipt.d.ts +13 -0
  2. package/dist/cache-wire-receipt.d.ts.map +1 -0
  3. package/dist/cache-wire-receipt.js +108 -0
  4. package/dist/cache-wire-receipt.js.map +1 -0
  5. package/dist/context/index.d.ts +1 -1
  6. package/dist/context/index.d.ts.map +1 -1
  7. package/dist/context/index.js +1 -1
  8. package/dist/context/index.js.map +1 -1
  9. package/dist/context/process.d.ts +3 -1
  10. package/dist/context/process.d.ts.map +1 -1
  11. package/dist/context/process.js +230 -49
  12. package/dist/context/process.js.map +1 -1
  13. package/dist/context/types.d.ts +30 -0
  14. package/dist/context/types.d.ts.map +1 -1
  15. package/dist/context/types.js +16 -0
  16. package/dist/context/types.js.map +1 -1
  17. package/dist/floating-cache-marker.test.js +21 -0
  18. package/dist/floating-cache-marker.test.js.map +1 -1
  19. package/dist/formatters/anthropic-xml.d.ts +2 -0
  20. package/dist/formatters/anthropic-xml.d.ts.map +1 -1
  21. package/dist/formatters/anthropic-xml.js +64 -23
  22. package/dist/formatters/anthropic-xml.js.map +1 -1
  23. package/dist/formatters/native.d.ts.map +1 -1
  24. package/dist/formatters/native.js +16 -3
  25. package/dist/formatters/native.js.map +1 -1
  26. package/dist/formatters/normalize-tool-pairs.d.ts +7 -0
  27. package/dist/formatters/normalize-tool-pairs.d.ts.map +1 -1
  28. package/dist/formatters/normalize-tool-pairs.js +45 -0
  29. package/dist/formatters/normalize-tool-pairs.js.map +1 -1
  30. package/dist/formatters/types.d.ts +31 -0
  31. package/dist/formatters/types.d.ts.map +1 -1
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/membrane.d.ts +137 -8
  37. package/dist/membrane.d.ts.map +1 -1
  38. package/dist/membrane.js +823 -310
  39. package/dist/membrane.js.map +1 -1
  40. package/dist/providers/anthropic.d.ts +37 -0
  41. package/dist/providers/anthropic.d.ts.map +1 -1
  42. package/dist/providers/anthropic.js +142 -25
  43. package/dist/providers/anthropic.js.map +1 -1
  44. package/dist/providers/bedrock.d.ts +8 -0
  45. package/dist/providers/bedrock.d.ts.map +1 -1
  46. package/dist/providers/bedrock.js +24 -1
  47. package/dist/providers/bedrock.js.map +1 -1
  48. package/dist/providers/gemini.d.ts +11 -0
  49. package/dist/providers/gemini.d.ts.map +1 -1
  50. package/dist/providers/gemini.js +104 -82
  51. package/dist/providers/gemini.js.map +1 -1
  52. package/dist/providers/index.d.ts +1 -1
  53. package/dist/providers/index.d.ts.map +1 -1
  54. package/dist/providers/index.js.map +1 -1
  55. package/dist/providers/mock.d.ts +2 -0
  56. package/dist/providers/mock.d.ts.map +1 -1
  57. package/dist/providers/mock.js +2 -0
  58. package/dist/providers/mock.js.map +1 -1
  59. package/dist/providers/openai-compatible.d.ts +7 -0
  60. package/dist/providers/openai-compatible.d.ts.map +1 -1
  61. package/dist/providers/openai-compatible.js +99 -48
  62. package/dist/providers/openai-compatible.js.map +1 -1
  63. package/dist/providers/openai-completions.d.ts +5 -0
  64. package/dist/providers/openai-completions.d.ts.map +1 -1
  65. package/dist/providers/openai-completions.js +107 -44
  66. package/dist/providers/openai-completions.js.map +1 -1
  67. package/dist/providers/openai-responses-api.d.ts +16 -0
  68. package/dist/providers/openai-responses-api.d.ts.map +1 -1
  69. package/dist/providers/openai-responses-api.js +38 -10
  70. package/dist/providers/openai-responses-api.js.map +1 -1
  71. package/dist/providers/openai-responses.d.ts +2 -0
  72. package/dist/providers/openai-responses.d.ts.map +1 -1
  73. package/dist/providers/openai-responses.js +8 -1
  74. package/dist/providers/openai-responses.js.map +1 -1
  75. package/dist/providers/openai.d.ts +7 -0
  76. package/dist/providers/openai.d.ts.map +1 -1
  77. package/dist/providers/openai.js +92 -44
  78. package/dist/providers/openai.js.map +1 -1
  79. package/dist/providers/openrouter.d.ts +9 -0
  80. package/dist/providers/openrouter.d.ts.map +1 -1
  81. package/dist/providers/openrouter.js +118 -62
  82. package/dist/providers/openrouter.js.map +1 -1
  83. package/dist/providers/utils.d.ts +74 -2
  84. package/dist/providers/utils.d.ts.map +1 -1
  85. package/dist/providers/utils.js +184 -3
  86. package/dist/providers/utils.js.map +1 -1
  87. package/dist/registry/default-pricing.d.ts +22 -0
  88. package/dist/registry/default-pricing.d.ts.map +1 -1
  89. package/dist/registry/default-pricing.js +162 -28
  90. package/dist/registry/default-pricing.js.map +1 -1
  91. package/dist/types/content.d.ts +13 -0
  92. package/dist/types/content.d.ts.map +1 -1
  93. package/dist/types/content.js.map +1 -1
  94. package/dist/types/errors.d.ts +15 -0
  95. package/dist/types/errors.d.ts.map +1 -1
  96. package/dist/types/errors.js +26 -0
  97. package/dist/types/errors.js.map +1 -1
  98. package/dist/types/index.d.ts +3 -3
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/types/index.js +1 -1
  101. package/dist/types/index.js.map +1 -1
  102. package/dist/types/provider.d.ts +50 -0
  103. package/dist/types/provider.d.ts.map +1 -1
  104. package/dist/types/request.d.ts +6 -0
  105. package/dist/types/request.d.ts.map +1 -1
  106. package/dist/types/response.d.ts +85 -4
  107. package/dist/types/response.d.ts.map +1 -1
  108. package/dist/types/response.js.map +1 -1
  109. package/dist/types/streaming.d.ts +6 -1
  110. package/dist/types/streaming.d.ts.map +1 -1
  111. package/dist/utils/cache-marker-budget.d.ts +91 -0
  112. package/dist/utils/cache-marker-budget.d.ts.map +1 -0
  113. package/dist/utils/cache-marker-budget.js +208 -0
  114. package/dist/utils/cache-marker-budget.js.map +1 -0
  115. package/dist/utils/cost.d.ts +22 -0
  116. package/dist/utils/cost.d.ts.map +1 -1
  117. package/dist/utils/cost.js +55 -0
  118. package/dist/utils/cost.js.map +1 -1
  119. package/dist/utils/thinking-carriers.d.ts +80 -0
  120. package/dist/utils/thinking-carriers.d.ts.map +1 -0
  121. package/dist/utils/thinking-carriers.js +115 -0
  122. package/dist/utils/thinking-carriers.js.map +1 -0
  123. package/dist/utils/tool-parser.d.ts +24 -0
  124. package/dist/utils/tool-parser.d.ts.map +1 -1
  125. package/dist/utils/tool-parser.js +367 -161
  126. package/dist/utils/tool-parser.js.map +1 -1
  127. package/dist/utils/usage.d.ts +71 -0
  128. package/dist/utils/usage.d.ts.map +1 -0
  129. package/dist/utils/usage.js +161 -0
  130. package/dist/utils/usage.js.map +1 -0
  131. package/dist/yielding-stream.d.ts +8 -0
  132. package/dist/yielding-stream.d.ts.map +1 -1
  133. package/dist/yielding-stream.js +49 -3
  134. package/dist/yielding-stream.js.map +1 -1
  135. package/package.json +1 -1
  136. package/src/cache-wire-receipt.ts +125 -0
  137. package/src/context/index.ts +1 -0
  138. package/src/context/process.ts +305 -59
  139. package/src/context/types.ts +38 -0
  140. package/src/floating-cache-marker.test.ts +24 -0
  141. package/src/formatters/anthropic-xml.ts +66 -23
  142. package/src/formatters/native.ts +23 -2
  143. package/src/formatters/normalize-tool-pairs.ts +49 -0
  144. package/src/formatters/types.ts +35 -0
  145. package/src/index.ts +6 -0
  146. package/src/membrane.ts +974 -313
  147. package/src/providers/anthropic.ts +173 -19
  148. package/src/providers/bedrock.ts +25 -1
  149. package/src/providers/gemini.ts +125 -87
  150. package/src/providers/index.ts +1 -0
  151. package/src/providers/mock.ts +3 -0
  152. package/src/providers/openai-compatible.ts +102 -45
  153. package/src/providers/openai-completions.ts +112 -46
  154. package/src/providers/openai-responses-api.ts +45 -15
  155. package/src/providers/openai-responses.ts +8 -1
  156. package/src/providers/openai.ts +95 -42
  157. package/src/providers/openrouter.ts +125 -63
  158. package/src/providers/utils.ts +227 -6
  159. package/src/registry/default-pricing.ts +165 -28
  160. package/src/types/content.ts +14 -0
  161. package/src/types/errors.ts +28 -0
  162. package/src/types/index.ts +6 -0
  163. package/src/types/provider.ts +55 -0
  164. package/src/types/request.ts +7 -0
  165. package/src/types/response.ts +109 -8
  166. package/src/types/streaming.ts +8 -2
  167. package/src/utils/cache-marker-budget.ts +237 -0
  168. package/src/utils/cost.ts +64 -0
  169. package/src/utils/thinking-carriers.ts +125 -0
  170. package/src/utils/tool-parser.ts +473 -174
  171. package/src/utils/usage.ts +184 -0
  172. package/src/yielding-stream.ts +54 -3
@@ -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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"}
@@ -7,14 +7,14 @@ export type { MessageMetadata, NormalizedMessage, } from './message.js';
7
7
  export { textMessage, extractText, hasMedia, hasToolUse, } from './message.js';
8
8
  export type { ToolParameter, ToolDefinition, ToolCall, ToolResult, ToolResultContentBlock, ToolContext, ParsedToolCalls, } from './tools.js';
9
9
  export type { GenerationConfig, StopSequenceStrategy, StopSequenceConfig, RequestOptions, NormalizedRequest, ToolMode, } from './request.js';
10
- export type { StopReason, BasicUsage, DetailedUsage, CostBreakdown, StopInfo, ModelInfo, TimingInfo, CacheInfo, ResponseDetails, RawAccess, NormalizedResponse, AbortedResponse, } from './response.js';
10
+ export type { StopReason, BasicUsage, CallUsage, DetailedUsage, TurnRoundUsage, DiscardedAttemptsUsage, CostBreakdown, StopInfo, ModelInfo, TimingInfo, CacheInfo, ResponseDetails, RawAccess, NormalizedResponse, AbortedResponse, } from './response.js';
11
11
  export { isAbortedResponse } from './response.js';
12
- export type { ProviderQuirks, MediaCapabilities, ProviderCapabilities, ModelPricing, ModelDefinition, ModelRegistry, ModelFilter, ProviderAdapter, ProviderRequest, ProviderRequestOptions, ProviderResponse, StreamCallbacks, } from './provider.js';
12
+ export type { ProviderQuirks, MediaCapabilities, ProviderCapabilities, ModelPricing, ModelDefinition, ModelRegistry, ModelFilter, ProviderAdapter, ProviderRequest, ProviderRequestOptions, ProviderResponse, StreamCallbacks, UsageCacheConvention, } from './provider.js';
13
13
  export type { StreamState, StreamOptions, CompleteOptions, OnChunkCallback, OnContentBlockCallback, OnToolCallsCallback, OnPreToolContentCallback, OnUsageCallback, OnBlockCallback, OnRequestCallback, OnResponseCallback, BlockEvent, BlockDelta, } from './streaming.js';
14
14
  export type { TokensEvent, StreamBlockEvent, ToolCallsEvent, UsageEvent, CompleteEvent, ErrorEvent, AbortedEvent, StreamEvent, YieldingStream, YieldingStreamOptions, InjectedMessage, ProvideToolResultsOptions, } from './yielding-stream.js';
15
15
  export { isTokensEvent, isToolCallsEvent, isCompleteEvent, isErrorEvent, isAbortedEvent, isTerminalEvent, } from './yielding-stream.js';
16
16
  export type { MembraneErrorType, ErrorInfo, } from './errors.js';
17
- export { MembraneError, serializeError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, safetyError, unsupportedError, classifyError, isOverloadedError, } from './errors.js';
17
+ export { MembraneError, serializeError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, TimeoutAbortError, isTimeoutAbortError, safetyError, unsupportedError, classifyError, isOverloadedError, } from './errors.js';
18
18
  export type { RetryConfig, MediaConfig, MembraneHooks, MembraneLogger, MembraneConfig, } from './config.js';
19
19
  export { DEFAULT_RETRY_CONFIG, DEFAULT_MEDIA_CONFIG, } from './config.js';
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -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,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,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,SAAS,EACT,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,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,EACf,oBAAoB,GACrB,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,kBAAkB,EAClB,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,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"}
@@ -5,6 +5,6 @@ export { isTextContent, isImageContent, isDocumentContent, isAudioContent, isVid
5
5
  export { textMessage, extractText, hasMedia, hasToolUse, } from './message.js';
6
6
  export { isAbortedResponse } from './response.js';
7
7
  export { isTokensEvent, isToolCallsEvent, isCompleteEvent, isErrorEvent, isAbortedEvent, isTerminalEvent, } from './yielding-stream.js';
8
- export { MembraneError, serializeError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, safetyError, unsupportedError, classifyError, isOverloadedError, } from './errors.js';
8
+ export { MembraneError, serializeError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, TimeoutAbortError, isTimeoutAbortError, safetyError, unsupportedError, classifyError, isOverloadedError, } from './errors.js';
9
9
  export { DEFAULT_RETRY_CONFIG, DEFAULT_MEDIA_CONFIG, } from './config.js';
10
10
  //# sourceMappingURL=index.js.map
@@ -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;AAmDlD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,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;AA0CtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAoDlD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAWrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -46,6 +46,20 @@ export interface ProviderCapabilities {
46
46
  maxCacheBreakpoints?: number;
47
47
  quirks: ProviderQuirks;
48
48
  }
49
+ /**
50
+ * Whether a provider's prompt-token count INCLUDES the span served from cache.
51
+ *
52
+ * Measured live 2026-08-25 — Anthropic (`cache-excluded`): a 4,650-token cached
53
+ * system prompt returned `input_tokens: 8` with `cache_read_input_tokens: 4650`.
54
+ * OpenAI (`cache-inclusive`): `prompt_tokens` stayed at 1732 across a cache hit
55
+ * that reported `cached_tokens: 1664`, so cached is a SUBSET of the prompt.
56
+ *
57
+ * `unknown` is a real epistemic state, not a default to lean on: it means no
58
+ * one has established this adapter's convention, and membrane will pass the
59
+ * counts through unchanged and warn the first time a cache read makes the
60
+ * ambiguity bite.
61
+ */
62
+ export type UsageCacheConvention = 'cache-excluded' | 'cache-inclusive' | 'unknown';
49
63
  export interface ModelPricing {
50
64
  /** Cost per million input tokens */
51
65
  inputPerMillion: number;
@@ -57,6 +71,13 @@ export interface ModelPricing {
57
71
  cacheReadPerMillion?: number;
58
72
  /** Currency code */
59
73
  currency: string;
74
+ /**
75
+ * ISO date these rates were last checked against the provider's published
76
+ * price page, surfaced to callers as {@link CostBreakdown.pricingAsOf}. A
77
+ * pricing source that cannot vouch for a date leaves it unset — better an
78
+ * absent freshness signal than a fabricated one.
79
+ */
80
+ asOf?: string;
60
81
  }
61
82
  export interface ModelDefinition {
62
83
  /** Unique model identifier */
@@ -100,6 +121,20 @@ export interface ModelFilter {
100
121
  export interface ProviderAdapter {
101
122
  /** Provider name */
102
123
  readonly name: string;
124
+ /**
125
+ * Which convention this adapter's `usage.inputTokens` carries. Membrane
126
+ * normalizes every response onto `cache-excluded` before any ratio or cost is
127
+ * computed, and it can only do that if the adapter says what it is reporting.
128
+ *
129
+ * OPTIONAL, defaulting to `'unknown'`: an adapter that declares nothing is in
130
+ * exactly the state `'unknown'` names, and treating it that way — pass the
131
+ * counts through untouched, warn once when a cache read makes the ambiguity
132
+ * bite — is the honest reading of silence. Requiring it would also stop every
133
+ * external custom adapter compiling for a fact membrane can already say it
134
+ * does not know. Declare it: `'unknown'` is a real epistemic state, not a
135
+ * resting place.
136
+ */
137
+ usageCacheConvention?: UsageCacheConvention;
103
138
  /** Check if this adapter handles a model */
104
139
  supportsModel(modelId: string): boolean;
105
140
  /** Make a completion request (non-streaming) */
@@ -177,6 +212,21 @@ export interface ProviderResponse {
177
212
  outputTokens: number;
178
213
  cacheCreationTokens?: number;
179
214
  cacheReadTokens?: number;
215
+ /**
216
+ * Thinking/reasoning tokens reported separately from the visible-output
217
+ * count and already folded INTO `outputTokens`.
218
+ * See {@link DetailedUsage.thinkingTokens}.
219
+ */
220
+ thinkingTokens?: number;
221
+ /**
222
+ * Overrides {@link ProviderAdapter.usageCacheConvention} for THIS response.
223
+ * Needed where one adapter fronts several upstream conventions: OpenRouter
224
+ * reads `cache_read_input_tokens` (Anthropic, cache-excluded) OR
225
+ * `prompt_tokens_details.cached_tokens` (OpenAI, cache-inclusive) depending
226
+ * on which provider it routed to, so the convention is a per-response fact
227
+ * there rather than a per-adapter one.
228
+ */
229
+ cacheConvention?: UsageCacheConvention;
180
230
  };
181
231
  /** Model that actually ran */
182
232
  model: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,9 @@ export interface RequestOptions {
64
64
  }
65
65
  export type ToolMode = 'xml' | 'native' | 'auto';
66
66
  export interface NormalizedRequest {
67
+ /** Receives the exact post-format/post-hook cache receipt immediately before
68
+ * network submission. Observability only; never forwarded to providers. */
69
+ onCacheWireReceipt?: (receipt: import('../cache-wire-receipt.js').CacheWireReceipt) => void;
67
70
  /**
68
71
  * Explicitly own the loss of old inline images when the serialized request
69
72
  * exceeds the API byte cap: oldest images are replaced with loud
@@ -96,6 +99,9 @@ export interface NormalizedRequest {
96
99
  * Set to false to disable cache_control markers in requests.
97
100
  */
98
101
  promptCaching?: boolean;
102
+ /** Marker ownership policy. `cm-owned` disables every formatter-generated
103
+ * system/context-prefix marker; only normalized message breakpoints survive. */
104
+ cacheMarkers?: 'membrane-system' | 'cm-owned';
99
105
  /**
100
106
  * Cache TTL for Anthropic prompt caching.
101
107
  * '5m' (default) = 5 minute TTL
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"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"}
@@ -8,16 +8,57 @@ export interface BasicUsage {
8
8
  inputTokens: number;
9
9
  outputTokens: number;
10
10
  }
11
- export interface DetailedUsage extends BasicUsage {
11
+ /**
12
+ * What ONE priced unit of work cost — a turn, or the discarded attempts summed
13
+ * together. Held apart from `DetailedUsage` so the discarded-spend record can
14
+ * carry every token field without also inheriting `discardedAttempts`, which
15
+ * would let the type describe discarded spend nested inside discarded spend:
16
+ * a shape nothing produces and nothing could read sensibly.
17
+ */
18
+ export interface CallUsage extends BasicUsage {
12
19
  /** Tokens used for cache creation */
13
20
  cacheCreationTokens?: number;
14
21
  /** Tokens read from cache */
15
22
  cacheReadTokens?: number;
16
- /** Tokens used for thinking/reasoning */
23
+ /**
24
+ * Thinking/reasoning tokens the provider reported separately from its
25
+ * visible-output count, already INCLUDED in `outputTokens` (they are billed
26
+ * at the output rate). Surfaced so a caller can attribute spend to thinking;
27
+ * summing it with `outputTokens` would double-count. Gemini's
28
+ * `thoughtsTokenCount` is the current source.
29
+ */
17
30
  thinkingTokens?: number;
18
31
  /** Estimated cost breakdown */
19
32
  estimatedCost?: CostBreakdown;
20
33
  }
34
+ export interface DetailedUsage extends CallUsage {
35
+ /**
36
+ * Spend on provider calls whose output was thrown away — today, refusal
37
+ * retries. Those attempts were completed, billed HTTP calls; the response
38
+ * describes only the attempt that STANDS, so without this the real cost of
39
+ * a turn is invisible. Absent when nothing was discarded.
40
+ *
41
+ * Reported on `details.usage` only: the top-level `usage` stays the
42
+ * surviving attempt's, so existing consumers keep their meaning.
43
+ */
44
+ discardedAttempts?: DiscardedAttemptsUsage;
45
+ }
46
+ export interface DiscardedAttemptsUsage extends CallUsage {
47
+ /** How many billed-but-abandoned provider calls are summed here. */
48
+ attempts: number;
49
+ }
50
+ /**
51
+ * One provider round of a turn: the model that served it and what that round
52
+ * alone used and cost. `usage.estimatedCost` here is priced at THIS round's
53
+ * model, which is why the rounds can be summed into a turn total that a
54
+ * multi-model turn's bill actually matches.
55
+ */
56
+ export interface TurnRoundUsage {
57
+ /** Model the provider named as having served this round; the requested id when it named none. */
58
+ model: string;
59
+ /** This round's own tokens and its own cost. */
60
+ usage: DetailedUsage;
61
+ }
21
62
  export interface CostBreakdown {
22
63
  input: number;
23
64
  output: number;
@@ -25,6 +66,12 @@ export interface CostBreakdown {
25
66
  cacheRead?: number;
26
67
  total: number;
27
68
  currency: string;
69
+ /**
70
+ * ISO date the rates behind this breakdown were last verified against the
71
+ * provider's published prices, when the pricing source records one. Unset
72
+ * means the source vouches for no date, NOT that the numbers are current.
73
+ */
74
+ pricingAsOf?: string;
28
75
  }
29
76
  export interface StopInfo {
30
77
  reason: StopReason;
@@ -32,14 +79,37 @@ export interface StopInfo {
32
79
  triggeredSequence?: string;
33
80
  /** Whether output was truncated */
34
81
  wasTruncated: boolean;
82
+ /**
83
+ * XML tool mode: the turn ended with a tool block still open — a
84
+ * `<function_calls>` opener with no closer, or text cut mid-tag. The loop
85
+ * does not resume on a length stop, so this is the shape a max_tokens
86
+ * truncation leaves behind. A consumer persisting the turn must not write it
87
+ * back bare: on the next round the stale opener would be read as part of that
88
+ * round's block.
89
+ */
90
+ unclosedToolBlock?: boolean;
35
91
  }
36
92
  export interface ModelInfo {
37
93
  /** Model ID that was requested */
38
94
  requested: string;
39
- /** Model ID that actually ran (may differ due to routing/fallback) */
95
+ /** Model ID that actually ran (may differ due to routing/fallback). On a
96
+ * multi-round turn this is the model that served the LAST round; see
97
+ * {@link perRound} for the whole roster. */
40
98
  actual: string;
41
99
  /** Provider that served the request */
42
100
  provider: string;
101
+ /**
102
+ * Every provider round of this turn in order, each naming the model that
103
+ * served it and what that round alone used and cost — the audit trail behind
104
+ * `usage.estimatedCost`, which is their sum. A routed turn can change models
105
+ * mid-turn (OpenRouter re-picks a provider per call), so `actual` alone
106
+ * cannot say what was billed at which rate.
107
+ *
108
+ * Set on the streaming/tool-loop paths, which are the ones that sum. Unset
109
+ * on `complete()`, which makes exactly one call: `actual` is the whole story
110
+ * there.
111
+ */
112
+ perRound?: TurnRoundUsage[];
43
113
  }
44
114
  export interface TimingInfo {
45
115
  /** Total request duration */
@@ -48,8 +118,19 @@ export interface TimingInfo {
48
118
  timeToFirstTokenMs?: number;
49
119
  /** Tokens per second (streaming only) */
50
120
  tokensPerSecond?: number;
51
- /** Number of retry attempts */
121
+ /**
122
+ * Provider calls this turn actually cost: retries plus, on the streaming
123
+ * paths, every continuation round and refusal re-issue. A stitched
124
+ * multi-call turn used to report 1 here, indistinguishable in durable
125
+ * logs from a single-shot one.
126
+ */
52
127
  attempts: number;
128
+ /**
129
+ * Continuation rounds that made up the turn — tool rounds and automatic
130
+ * resumptions. 1 for a single-round turn; lower than `attempts` whenever a
131
+ * round was re-issued. Streaming paths only.
132
+ */
133
+ rounds?: number;
53
134
  /** Delay between retries */
54
135
  retryDelaysMs?: number[];
55
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4NH,MAAM,UAAU,iBAAiB,CAC/B,QAA8C;IAE9C,OAAO,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/types/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiUH,MAAM,UAAU,iBAAiB,CAC/B,QAA8C;IAE9C,OAAO,SAAS,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC;AAC5D,CAAC"}
@@ -144,8 +144,13 @@ export type OnResponseCallback = (rawResponse: unknown) => void;
144
144
  export interface StreamOptions {
145
145
  /** Abort signal for cancellation */
146
146
  signal?: AbortSignal;
147
- /** Request timeout */
147
+ /** Request timeout (per provider call, not per turn) */
148
148
  timeoutMs?: number;
149
+ /**
150
+ * Abort a call whose stream goes silent for this many ms. Parity with
151
+ * YieldingStreamOptions.idleTimeoutMs; the adapter owns the default.
152
+ */
153
+ idleTimeoutMs?: number;
149
154
  /** Request ID for correlation */
150
155
  requestId?: string;
151
156
  /** Called immediately for each text chunk */
@@ -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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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * One recount of the cache_control markers actually present on a wire
3
+ * request, plus the clamp that keeps that count legal.
4
+ *
5
+ * Anthropic accepts at most 4 cache_control breakpoints per request and
6
+ * rejects the fifth with a non-retryable 400 ("A maximum of 4 blocks with
7
+ * cache_control may be provided. Found 5." — measured live 2026-08-25).
8
+ * Markers arrive from many sites (context strategy breakpoints, block-level
9
+ * passthrough on imported histories, the tools/system fallback, the floating
10
+ * tool-loop marker, caller-marked system blocks, and any beforeRequest hook),
11
+ * and every one of them is invisible to the others' running tallies. The
12
+ * only trustworthy number is a recount of the constructed artifacts, so this
13
+ * module owns it and every site calls it.
14
+ *
15
+ * A marker can also ride a block NESTED inside another block's content array
16
+ * (`tool_result.content` is `string | ContentBlock[]`, passed through to the
17
+ * wire verbatim), so discovery recurses. A belt that cannot see a marker
18
+ * cannot clamp it, and a top-level-only count would report four while five
19
+ * shipped — the request rejected outright with the belt's blessing.
20
+ */
21
+ /** Anthropic's hard limit on cache_control breakpoints per request. */
22
+ export declare const MAX_CACHE_BREAKPOINTS = 4;
23
+ /**
24
+ * How many levels of nested `content` arrays marker discovery descends below
25
+ * a top-level block.
26
+ *
27
+ * A marker can ride a block inside another block's own content array —
28
+ * `ToolResultContent.content` is typed `string | ContentBlock[]` and every
29
+ * builder passes it through verbatim, so a caller-built tool_result whose
30
+ * members carry `cache_control` puts real markers on the wire. The API's own
31
+ * nesting is one level deep; 4 is headroom for shapes it grows later, and it
32
+ * is also what makes this walk TOTAL — a caller-built structure that points
33
+ * back at itself terminates at the cap instead of hanging the request.
34
+ * Markers below the cap are outside the belt's reach, by construction.
35
+ */
36
+ export declare const MAX_NESTED_CONTENT_DEPTH = 4;
37
+ export interface WireCacheSurfaces {
38
+ messages?: unknown;
39
+ system?: unknown;
40
+ tools?: unknown;
41
+ }
42
+ /**
43
+ * Take ownership of a system surface before it can reach the clamp.
44
+ *
45
+ * `request.system` accepts caller-marked blocks, and the builders pass that
46
+ * array through by reference when they add no marker of their own. The clamp
47
+ * strips markers IN PLACE at the wire boundary — correct for blocks membrane
48
+ * built, catastrophic for the caller's own array, which a long-lived caller
49
+ * reuses turn after turn: one over-budget request would silently delete the
50
+ * caller's breakpoints for the life of that object. Copying the array and its
51
+ * blocks at build time keeps the clamp's mutations inside the request.
52
+ *
53
+ * The copy descends exactly as far as marker discovery does: a shallow
54
+ * `{...block}` leaves any nested `content` array shared with the caller, and
55
+ * the clamp now strips markers at that grain, so ownership has to reach it
56
+ * too or the leak just moves one level down.
57
+ */
58
+ export declare function ownSystemBlocks(system: unknown): unknown;
59
+ /** How many cache_control markers this request would actually put on the wire. */
60
+ export declare function countWireCacheMarkers(surfaces: WireCacheSurfaces): number;
61
+ /**
62
+ * Validate a caller-owned marker layout without changing it.
63
+ *
64
+ * In `cm-owned` mode the caller has deliberately allocated the complete
65
+ * breakpoint set. Silently stripping or reordering those markers would make
66
+ * the cache receipt describe a request that was never sent, so invalid
67
+ * layouts fail before submission instead of using the legacy repair clamp.
68
+ */
69
+ export declare function assertCacheMarkersWithinLimit(surfaces: WireCacheSurfaces, site: string): number;
70
+ /**
71
+ * Bring a request inside the breakpoint budget, in place, at the last exit
72
+ * before the adapter call. Two repairs, both loud:
73
+ *
74
+ * 1. a marker riding a thinking / redacted_thinking block is stripped — the
75
+ * API rejects those outright ("thinking.cache_control: Extra inputs are
76
+ * not permitted"), and the three builders' `lastCacheableBlockIndex`
77
+ * discipline is only as good as its last caller. This is the runtime
78
+ * assertion; a fourth builder can no longer repeat that history.
79
+ * 2. markers past the limit are dropped SHALLOWEST-FIRST, keeping the 4
80
+ * deepest — the deepest marker caches the longest prefix, and every
81
+ * shallower prefix it subsumes.
82
+ *
83
+ * Dropping loudly beats a 400: the request still ships, cached less than the
84
+ * caller asked for, with the overspend named.
85
+ */
86
+ export declare function clampCacheMarkers(surfaces: WireCacheSurfaces, site: string): {
87
+ total: number;
88
+ dropped: number;
89
+ strippedFromThinking: number;
90
+ };
91
+ //# sourceMappingURL=cache-marker-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-marker-budget.d.ts","sourceRoot":"","sources":["../../src/utils/cache-marker-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAiC1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAGxD;AAcD,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,GACX,MAAM,CAgBR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAqClE"}