@animalabs/membrane 0.5.41 → 0.5.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formatters/completions.d.ts +7 -0
- package/dist/formatters/completions.d.ts.map +1 -1
- package/dist/formatters/completions.js +9 -0
- package/dist/formatters/completions.js.map +1 -1
- package/dist/membrane.d.ts +3 -0
- package/dist/membrane.d.ts.map +1 -1
- package/dist/membrane.js +69 -11
- package/dist/membrane.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +9 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/registry/default-pricing.d.ts +3 -0
- package/dist/registry/default-pricing.d.ts.map +1 -0
- package/dist/registry/default-pricing.js +75 -0
- package/dist/registry/default-pricing.js.map +1 -0
- package/dist/types/yielding-stream.d.ts +2 -2
- package/dist/types/yielding-stream.d.ts.map +1 -1
- package/dist/utils/cost.d.ts +10 -0
- package/dist/utils/cost.d.ts.map +1 -0
- package/dist/utils/cost.js +19 -0
- package/dist/utils/cost.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/formatters/completions.ts +19 -0
- package/src/membrane.ts +77 -17
- package/src/providers/anthropic.ts +13 -1
- package/src/providers/bedrock.ts +2 -2
- package/src/registry/default-pricing.ts +77 -0
- package/src/types/yielding-stream.ts +2 -2
- package/src/utils/cost.ts +29 -0
- package/src/utils/index.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-pricing.d.ts","sourceRoot":"","sources":["../../src/registry/default-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAkEzD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAU3E"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in pricing table for known models.
|
|
3
|
+
* Prices in USD per million tokens. Last updated: 2025-07.
|
|
4
|
+
*
|
|
5
|
+
* Used as fallback when no ModelRegistry is configured.
|
|
6
|
+
* Registry pricing (if available) takes precedence.
|
|
7
|
+
*/
|
|
8
|
+
const PRICING_TABLE = [
|
|
9
|
+
// Anthropic — Claude 4.6
|
|
10
|
+
{
|
|
11
|
+
prefix: 'claude-opus-4-6',
|
|
12
|
+
pricing: { inputPerMillion: 15, outputPerMillion: 75, cacheWritePerMillion: 18.75, cacheReadPerMillion: 1.50, currency: 'USD' },
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
prefix: 'claude-sonnet-4-6',
|
|
16
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
17
|
+
},
|
|
18
|
+
// Anthropic — Claude 4.5
|
|
19
|
+
{
|
|
20
|
+
prefix: 'claude-haiku-4-5',
|
|
21
|
+
pricing: { inputPerMillion: 0.80, outputPerMillion: 4, cacheWritePerMillion: 1.00, cacheReadPerMillion: 0.08, currency: 'USD' },
|
|
22
|
+
},
|
|
23
|
+
// Anthropic — Claude 4
|
|
24
|
+
{
|
|
25
|
+
prefix: 'claude-opus-4',
|
|
26
|
+
pricing: { inputPerMillion: 15, outputPerMillion: 75, cacheWritePerMillion: 18.75, cacheReadPerMillion: 1.50, currency: 'USD' },
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
prefix: 'claude-sonnet-4',
|
|
30
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
31
|
+
},
|
|
32
|
+
// Anthropic — Claude 3.5
|
|
33
|
+
{
|
|
34
|
+
prefix: 'claude-3-5-sonnet',
|
|
35
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
prefix: 'claude-3-5-haiku',
|
|
39
|
+
pricing: { inputPerMillion: 0.80, outputPerMillion: 4, cacheWritePerMillion: 1.00, cacheReadPerMillion: 0.08, currency: 'USD' },
|
|
40
|
+
},
|
|
41
|
+
// OpenAI — GPT-4o
|
|
42
|
+
{
|
|
43
|
+
prefix: 'gpt-4o-2024',
|
|
44
|
+
pricing: { inputPerMillion: 2.50, outputPerMillion: 10, cacheReadPerMillion: 1.25, currency: 'USD' },
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
prefix: 'gpt-4o',
|
|
48
|
+
pricing: { inputPerMillion: 2.50, outputPerMillion: 10, cacheReadPerMillion: 1.25, currency: 'USD' },
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
prefix: 'gpt-4o-mini',
|
|
52
|
+
pricing: { inputPerMillion: 0.15, outputPerMillion: 0.60, cacheReadPerMillion: 0.075, currency: 'USD' },
|
|
53
|
+
},
|
|
54
|
+
// Google — Gemini 2.5
|
|
55
|
+
{
|
|
56
|
+
prefix: 'gemini-2.5-pro',
|
|
57
|
+
pricing: { inputPerMillion: 1.25, outputPerMillion: 10, currency: 'USD' },
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
prefix: 'gemini-2.5-flash',
|
|
61
|
+
pricing: { inputPerMillion: 0.15, outputPerMillion: 0.60, currency: 'USD' },
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
export function getDefaultPricing(modelId) {
|
|
65
|
+
let best;
|
|
66
|
+
let bestLen = 0;
|
|
67
|
+
for (const entry of PRICING_TABLE) {
|
|
68
|
+
if (modelId.startsWith(entry.prefix) && entry.prefix.length > bestLen) {
|
|
69
|
+
best = entry.pricing;
|
|
70
|
+
bestLen = entry.prefix.length;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return best;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=default-pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-pricing.js","sourceRoot":"","sources":["../../src/registry/default-pricing.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { ContentBlock } from './content.js';
|
|
11
11
|
import type { ToolCall, ToolResult, ToolContext } from './tools.js';
|
|
12
|
-
import type {
|
|
12
|
+
import type { DetailedUsage, NormalizedResponse } from './response.js';
|
|
13
13
|
import type { ChunkMeta, BlockEvent } from './streaming.js';
|
|
14
14
|
/**
|
|
15
15
|
* Token/chunk event - raw text as it arrives from the LLM.
|
|
@@ -40,7 +40,7 @@ export interface ToolCallsEvent {
|
|
|
40
40
|
*/
|
|
41
41
|
export interface UsageEvent {
|
|
42
42
|
type: 'usage';
|
|
43
|
-
usage:
|
|
43
|
+
usage: DetailedUsage;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Complete event - inference cycle finished successfully.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yielding-stream.d.ts","sourceRoot":"","sources":["../../src/types/yielding-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"yielding-stream.d.ts","sourceRoot":"","sources":["../../src/types/yielding-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CostBreakdown } from '../types/response.js';
|
|
2
|
+
import type { ModelPricing } from '../types/provider.js';
|
|
3
|
+
export interface CostableUsage {
|
|
4
|
+
inputTokens: number;
|
|
5
|
+
outputTokens: number;
|
|
6
|
+
cacheCreationTokens?: number;
|
|
7
|
+
cacheReadTokens?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function calculateCost(usage: CostableUsage, pricing: ModelPricing): CostBreakdown;
|
|
10
|
+
//# sourceMappingURL=cost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/utils/cost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,aAAa,CAkBxF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function calculateCost(usage, pricing) {
|
|
2
|
+
const input = usage.inputTokens * pricing.inputPerMillion / 1_000_000;
|
|
3
|
+
const output = usage.outputTokens * pricing.outputPerMillion / 1_000_000;
|
|
4
|
+
const cacheWrite = pricing.cacheWritePerMillion != null
|
|
5
|
+
? (usage.cacheCreationTokens ?? 0) * pricing.cacheWritePerMillion / 1_000_000
|
|
6
|
+
: undefined;
|
|
7
|
+
const cacheRead = pricing.cacheReadPerMillion != null
|
|
8
|
+
? (usage.cacheReadTokens ?? 0) * pricing.cacheReadPerMillion / 1_000_000
|
|
9
|
+
: undefined;
|
|
10
|
+
return {
|
|
11
|
+
input,
|
|
12
|
+
output,
|
|
13
|
+
cacheWrite,
|
|
14
|
+
cacheRead,
|
|
15
|
+
total: input + output + (cacheWrite ?? 0) + (cacheRead ?? 0),
|
|
16
|
+
currency: pricing.currency,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=cost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/utils/cost.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,aAAa,CAAC,KAAoB,EAAE,OAAqB;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,IAAI,IAAI;QACrD,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS;QAC7E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI;QACnD,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS;QACxE,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,KAAK;QACL,MAAM;QACN,UAAU;QACV,SAAS;QACT,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;QAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
* Utility exports
|
|
3
3
|
*/
|
|
4
4
|
export { parseToolCalls, formatToolResults, formatToolResult, formatToolDefinitions, getToolInstructions, hasUnclosedToolBlock, endsWithPartialToolBlock, unescapeXml, type ToolDefinitionForPrompt, } from './tool-parser.js';
|
|
5
|
+
export { calculateCost } from './cost.js';
|
|
6
|
+
export type { CostableUsage } from './cost.js';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACX,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACX,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Utility exports
|
|
3
3
|
*/
|
|
4
4
|
export { parseToolCalls, formatToolResults, formatToolResult, formatToolDefinitions, getToolInstructions, hasUnclosedToolBlock, endsWithPartialToolBlock, unescapeXml, } from './tool-parser.js';
|
|
5
|
+
export { calculateCost } from './cost.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,GAEZ,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,GAEZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -63,6 +63,14 @@ export interface CompletionsFormatterConfig extends FormatterConfig {
|
|
|
63
63
|
*/
|
|
64
64
|
maxParticipantsForStop?: number;
|
|
65
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Add lowercased variants of participant stop sequences.
|
|
68
|
+
* Useful for models whose tokenizer doesn't normalize casing,
|
|
69
|
+
* allowing simmed names with different casing to still trigger stops.
|
|
70
|
+
* Default: false
|
|
71
|
+
*/
|
|
72
|
+
caseInsensitiveStops?: boolean;
|
|
73
|
+
|
|
66
74
|
/**
|
|
67
75
|
* Whether to warn when images are stripped.
|
|
68
76
|
* Default: true
|
|
@@ -187,6 +195,7 @@ export class CompletionsFormatter implements PrefillFormatter {
|
|
|
187
195
|
nameFormat: config.nameFormat ?? '{name}: ',
|
|
188
196
|
messageSeparator: config.messageSeparator ?? '\n\n',
|
|
189
197
|
maxParticipantsForStop: config.maxParticipantsForStop ?? 10,
|
|
198
|
+
caseInsensitiveStops: config.caseInsensitiveStops ?? false,
|
|
190
199
|
warnOnImageStrip: config.warnOnImageStrip ?? true,
|
|
191
200
|
// Completions models don't support images - always strip
|
|
192
201
|
unsupportedMedia: 'strip',
|
|
@@ -364,6 +373,16 @@ export class CompletionsFormatter implements PrefillFormatter {
|
|
|
364
373
|
const prefix = this.config.nameFormat.replace('{name}', participant).trimEnd();
|
|
365
374
|
stops.push(`\n\n${prefix}`);
|
|
366
375
|
stops.push(`\n${prefix}`);
|
|
376
|
+
|
|
377
|
+
// Add lowercased variants if casing differs (for models that generate mixed-case names)
|
|
378
|
+
if (this.config.caseInsensitiveStops) {
|
|
379
|
+
const lower = this.config.nameFormat.replace('{name}', participant.toLowerCase()).trimEnd();
|
|
380
|
+
if (lower !== prefix) {
|
|
381
|
+
stops.push(`\n\n${lower}`);
|
|
382
|
+
stops.push(`\n${lower}`);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
367
386
|
count++;
|
|
368
387
|
}
|
|
369
388
|
|
package/src/membrane.ts
CHANGED
|
@@ -53,6 +53,8 @@ import type {
|
|
|
53
53
|
import type { PrefillFormatter, StreamParser } from './formatters/types.js';
|
|
54
54
|
import { AnthropicXmlFormatter } from './formatters/anthropic-xml.js';
|
|
55
55
|
import { YieldingStreamImpl } from './yielding-stream.js';
|
|
56
|
+
import { calculateCost } from './utils/cost.js';
|
|
57
|
+
import { getDefaultPricing } from './registry/default-pricing.js';
|
|
56
58
|
|
|
57
59
|
// ============================================================================
|
|
58
60
|
// Membrane Class
|
|
@@ -273,6 +275,7 @@ export class Membrane {
|
|
|
273
275
|
const parser = formatter.createStreamParser();
|
|
274
276
|
let toolDepth = 0;
|
|
275
277
|
let totalUsage: DetailedUsage = { inputTokens: 0, outputTokens: 0 };
|
|
278
|
+
const pricing = this.resolvePricing(request.config.model);
|
|
276
279
|
const contentBlocks: ContentBlock[] = [];
|
|
277
280
|
let lastStopReason: StopReason = 'end_turn';
|
|
278
281
|
let lastStopSequence: string | undefined;
|
|
@@ -425,6 +428,7 @@ export class Membrane {
|
|
|
425
428
|
if (streamResult.usage.cacheReadTokens) {
|
|
426
429
|
totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens ?? 0) + streamResult.usage.cacheReadTokens;
|
|
427
430
|
}
|
|
431
|
+
if (pricing) totalUsage.estimatedCost = calculateCost(totalUsage, pricing);
|
|
428
432
|
onUsage?.(totalUsage);
|
|
429
433
|
|
|
430
434
|
// Flush the parser to complete any in-progress streaming block
|
|
@@ -737,6 +741,7 @@ export class Membrane {
|
|
|
737
741
|
|
|
738
742
|
let toolDepth = 0;
|
|
739
743
|
let totalUsage: DetailedUsage = { inputTokens: 0, outputTokens: 0 };
|
|
744
|
+
const pricing = this.resolvePricing(request.config.model);
|
|
740
745
|
let lastStopReason: StopReason = 'end_turn';
|
|
741
746
|
let lastStopSequence: string | undefined;
|
|
742
747
|
let rawRequest: unknown;
|
|
@@ -807,6 +812,7 @@ export class Membrane {
|
|
|
807
812
|
if (streamResult.usage.cacheReadTokens) {
|
|
808
813
|
totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens ?? 0) + streamResult.usage.cacheReadTokens;
|
|
809
814
|
}
|
|
815
|
+
if (pricing) totalUsage.estimatedCost = calculateCost(totalUsage, pricing);
|
|
810
816
|
onUsage?.(totalUsage);
|
|
811
817
|
|
|
812
818
|
// Parse content blocks from response
|
|
@@ -960,10 +966,13 @@ export class Membrane {
|
|
|
960
966
|
const assistantName = request.assistantParticipant
|
|
961
967
|
?? this.config.assistantParticipant ?? 'Claude';
|
|
962
968
|
|
|
969
|
+
const promptCaching = request.promptCaching ?? true;
|
|
970
|
+
const cacheControl = promptCaching ? { type: 'ephemeral' as const, ...(request.cacheTtl ? { ttl: request.cacheTtl } : {}) } : undefined;
|
|
971
|
+
|
|
963
972
|
for (const msg of messages) {
|
|
964
973
|
const isAssistant = msg.participant === assistantName;
|
|
965
974
|
const role = isAssistant ? 'assistant' : 'user';
|
|
966
|
-
|
|
975
|
+
|
|
967
976
|
// Convert content blocks
|
|
968
977
|
const content: any[] = [];
|
|
969
978
|
for (const block of msg.content) {
|
|
@@ -1005,19 +1014,42 @@ export class Membrane {
|
|
|
1005
1014
|
}
|
|
1006
1015
|
}
|
|
1007
1016
|
}
|
|
1008
|
-
|
|
1017
|
+
|
|
1018
|
+
// Apply cache_control to last block of messages with cacheBreakpoint
|
|
1019
|
+
if (msg.cacheBreakpoint && cacheControl && content.length > 0) {
|
|
1020
|
+
content[content.length - 1].cache_control = cacheControl;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1009
1023
|
providerMessages.push({ role, content });
|
|
1010
1024
|
}
|
|
1011
1025
|
|
|
1012
1026
|
// Convert tools to provider format.
|
|
1013
1027
|
// Native tool names must match ^[a-zA-Z0-9_-]{1,128}$ — sanitize colons
|
|
1014
1028
|
// from the module:tool namespace convention. Reversed in parseProviderContent.
|
|
1015
|
-
const tools = request.tools?.map(tool =>
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1029
|
+
const tools = request.tools?.map((tool, idx) => {
|
|
1030
|
+
const t: Record<string, unknown> = {
|
|
1031
|
+
name: sanitizeToolName(tool.name),
|
|
1032
|
+
description: tool.description,
|
|
1033
|
+
input_schema: tool.inputSchema,
|
|
1034
|
+
};
|
|
1035
|
+
// Cache the tool list — mark the last tool with cache_control
|
|
1036
|
+
if (cacheControl && request.tools && idx === request.tools.length - 1) {
|
|
1037
|
+
t.cache_control = cacheControl;
|
|
1038
|
+
}
|
|
1039
|
+
return t;
|
|
1040
|
+
});
|
|
1041
|
+
|
|
1042
|
+
// Wrap system prompt with cache_control if prompt caching is enabled
|
|
1043
|
+
let system: unknown = request.system;
|
|
1044
|
+
if (cacheControl && typeof system === 'string' && system.length > 0) {
|
|
1045
|
+
system = [{ type: 'text', text: system, cache_control: cacheControl }];
|
|
1046
|
+
} else if (cacheControl && Array.isArray(system) && system.length > 0) {
|
|
1047
|
+
const blocks = system as Record<string, unknown>[];
|
|
1048
|
+
system = blocks.map((block, idx) =>
|
|
1049
|
+
idx === blocks.length - 1 ? { ...block, cache_control: cacheControl } : block
|
|
1050
|
+
);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1021
1053
|
// Build thinking config for native extended thinking
|
|
1022
1054
|
const thinking = request.config.thinking?.enabled
|
|
1023
1055
|
? {
|
|
@@ -1034,7 +1066,7 @@ export class Membrane {
|
|
|
1034
1066
|
maxTokens: request.config.maxTokens,
|
|
1035
1067
|
temperature,
|
|
1036
1068
|
messages: providerMessages,
|
|
1037
|
-
system
|
|
1069
|
+
system,
|
|
1038
1070
|
tools,
|
|
1039
1071
|
thinking,
|
|
1040
1072
|
extra: request.providerParams,
|
|
@@ -1377,6 +1409,7 @@ export class Membrane {
|
|
|
1377
1409
|
outputTokens: providerResponse.usage.outputTokens,
|
|
1378
1410
|
cacheCreationTokens: providerResponse.usage.cacheCreationTokens,
|
|
1379
1411
|
cacheReadTokens: providerResponse.usage.cacheReadTokens,
|
|
1412
|
+
estimatedCost: this.estimateCost(providerResponse.usage, request.config.model),
|
|
1380
1413
|
},
|
|
1381
1414
|
timing: {
|
|
1382
1415
|
totalDurationMs: durationMs,
|
|
@@ -1458,6 +1491,7 @@ export class Membrane {
|
|
|
1458
1491
|
},
|
|
1459
1492
|
usage: {
|
|
1460
1493
|
...usage,
|
|
1494
|
+
estimatedCost: usage.estimatedCost ?? this.estimateCost(usage, request.config.model),
|
|
1461
1495
|
},
|
|
1462
1496
|
timing: {
|
|
1463
1497
|
totalDurationMs: durationMs,
|
|
@@ -1497,13 +1531,23 @@ export class Membrane {
|
|
|
1497
1531
|
}
|
|
1498
1532
|
}
|
|
1499
1533
|
|
|
1500
|
-
private calculateCacheHitRatio(usage:
|
|
1534
|
+
private calculateCacheHitRatio(usage: Pick<DetailedUsage, 'inputTokens' | 'cacheReadTokens'>): number {
|
|
1501
1535
|
const cacheRead = usage.cacheReadTokens ?? 0;
|
|
1502
1536
|
const total = usage.inputTokens ?? 0;
|
|
1503
1537
|
if (total === 0) return 0;
|
|
1504
1538
|
return cacheRead / total;
|
|
1505
1539
|
}
|
|
1506
1540
|
|
|
1541
|
+
private resolvePricing(model: string): import('./types/provider.js').ModelPricing | undefined {
|
|
1542
|
+
return this.registry?.getPricing(model) ?? getDefaultPricing(model);
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
/** Resolve pricing + calculate cost in one call (for one-shot use outside loops). */
|
|
1546
|
+
private estimateCost(usage: import('./utils/cost.js').CostableUsage, model: string): import('./types/response.js').CostBreakdown | undefined {
|
|
1547
|
+
const pricing = this.resolvePricing(model);
|
|
1548
|
+
return pricing ? calculateCost(usage, pricing) : undefined;
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1507
1551
|
private calculateRetryDelay(attempt: number): number {
|
|
1508
1552
|
const { retryDelayMs, backoffMultiplier, maxRetryDelayMs } = this.retryConfig;
|
|
1509
1553
|
const delay = retryDelayMs * Math.pow(backoffMultiplier, attempt - 1);
|
|
@@ -1639,7 +1683,8 @@ export class Membrane {
|
|
|
1639
1683
|
const formatter = this.formatter;
|
|
1640
1684
|
const parser = formatter.createStreamParser();
|
|
1641
1685
|
let toolDepth = 0;
|
|
1642
|
-
let totalUsage:
|
|
1686
|
+
let totalUsage: DetailedUsage = { inputTokens: 0, outputTokens: 0 };
|
|
1687
|
+
const pricing = this.resolvePricing(request.config.model);
|
|
1643
1688
|
const contentBlocks: ContentBlock[] = [];
|
|
1644
1689
|
let lastStopReason: StopReason = 'end_turn';
|
|
1645
1690
|
let lastStopSequence: string | undefined;
|
|
@@ -1768,9 +1813,16 @@ export class Membrane {
|
|
|
1768
1813
|
lastStopReason = this.mapStopReason(streamResult.stopReason);
|
|
1769
1814
|
lastStopSequence = streamResult.stopSequence ?? undefined;
|
|
1770
1815
|
|
|
1771
|
-
// Accumulate usage
|
|
1816
|
+
// Accumulate usage (including cache metrics)
|
|
1772
1817
|
totalUsage.inputTokens += streamResult.usage.inputTokens;
|
|
1773
1818
|
totalUsage.outputTokens += streamResult.usage.outputTokens;
|
|
1819
|
+
if (streamResult.usage.cacheCreationTokens) {
|
|
1820
|
+
totalUsage.cacheCreationTokens = (totalUsage.cacheCreationTokens ?? 0) + streamResult.usage.cacheCreationTokens;
|
|
1821
|
+
}
|
|
1822
|
+
if (streamResult.usage.cacheReadTokens) {
|
|
1823
|
+
totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens ?? 0) + streamResult.usage.cacheReadTokens;
|
|
1824
|
+
}
|
|
1825
|
+
if (pricing) totalUsage.estimatedCost = calculateCost(totalUsage, pricing);
|
|
1774
1826
|
if (emitUsage) {
|
|
1775
1827
|
stream.emit({ type: 'usage', usage: { ...totalUsage } });
|
|
1776
1828
|
}
|
|
@@ -2075,7 +2127,8 @@ export class Membrane {
|
|
|
2075
2127
|
} = options;
|
|
2076
2128
|
|
|
2077
2129
|
let toolDepth = 0;
|
|
2078
|
-
let totalUsage:
|
|
2130
|
+
let totalUsage: DetailedUsage = { inputTokens: 0, outputTokens: 0 };
|
|
2131
|
+
const pricing = this.resolvePricing(request.config.model);
|
|
2079
2132
|
let lastStopReason: StopReason = 'end_turn';
|
|
2080
2133
|
let lastStopSequence: string | undefined;
|
|
2081
2134
|
let rawRequest: unknown;
|
|
@@ -2141,9 +2194,16 @@ export class Membrane {
|
|
|
2141
2194
|
lastStopReason = this.mapStopReason(streamResult.stopReason);
|
|
2142
2195
|
lastStopSequence = streamResult.stopSequence ?? undefined;
|
|
2143
2196
|
|
|
2144
|
-
// Accumulate usage
|
|
2197
|
+
// Accumulate usage (including cache metrics)
|
|
2145
2198
|
totalUsage.inputTokens += streamResult.usage.inputTokens;
|
|
2146
2199
|
totalUsage.outputTokens += streamResult.usage.outputTokens;
|
|
2200
|
+
if (streamResult.usage.cacheCreationTokens) {
|
|
2201
|
+
totalUsage.cacheCreationTokens = (totalUsage.cacheCreationTokens ?? 0) + streamResult.usage.cacheCreationTokens;
|
|
2202
|
+
}
|
|
2203
|
+
if (streamResult.usage.cacheReadTokens) {
|
|
2204
|
+
totalUsage.cacheReadTokens = (totalUsage.cacheReadTokens ?? 0) + streamResult.usage.cacheReadTokens;
|
|
2205
|
+
}
|
|
2206
|
+
if (pricing) totalUsage.estimatedCost = calculateCost(totalUsage, pricing);
|
|
2147
2207
|
if (emitUsage) {
|
|
2148
2208
|
stream.emit({ type: 'usage', usage: { ...totalUsage } });
|
|
2149
2209
|
}
|
|
@@ -2252,9 +2312,9 @@ export class Membrane {
|
|
|
2252
2312
|
},
|
|
2253
2313
|
cache: {
|
|
2254
2314
|
markersInRequest: 0,
|
|
2255
|
-
tokensCreated: 0,
|
|
2256
|
-
tokensRead: 0,
|
|
2257
|
-
hitRatio:
|
|
2315
|
+
tokensCreated: totalUsage.cacheCreationTokens ?? 0,
|
|
2316
|
+
tokensRead: totalUsage.cacheReadTokens ?? 0,
|
|
2317
|
+
hitRatio: this.calculateCacheHitRatio(totalUsage),
|
|
2258
2318
|
},
|
|
2259
2319
|
},
|
|
2260
2320
|
raw: {
|
|
@@ -178,7 +178,19 @@ export class AnthropicAdapter implements ProviderAdapter {
|
|
|
178
178
|
const delta = event.delta as { stop_reason?: string; stop_sequence?: string };
|
|
179
179
|
stopReason = delta.stop_reason ?? 'end_turn';
|
|
180
180
|
stopSequence = delta.stop_sequence ?? undefined;
|
|
181
|
-
|
|
181
|
+
const deltaUsage = event.usage as unknown as {
|
|
182
|
+
output_tokens: number;
|
|
183
|
+
cache_creation_input_tokens?: number | null;
|
|
184
|
+
cache_read_input_tokens?: number | null;
|
|
185
|
+
};
|
|
186
|
+
outputTokens = deltaUsage.output_tokens ?? 0;
|
|
187
|
+
// message_delta carries cumulative cache metrics — use as authoritative
|
|
188
|
+
if (deltaUsage.cache_creation_input_tokens != null) {
|
|
189
|
+
cacheCreationTokens = deltaUsage.cache_creation_input_tokens;
|
|
190
|
+
}
|
|
191
|
+
if (deltaUsage.cache_read_input_tokens != null) {
|
|
192
|
+
cacheReadTokens = deltaUsage.cache_read_input_tokens;
|
|
193
|
+
}
|
|
182
194
|
break;
|
|
183
195
|
}
|
|
184
196
|
}
|
package/src/providers/bedrock.ts
CHANGED
|
@@ -275,8 +275,8 @@ export class BedrockAdapter implements ProviderAdapter {
|
|
|
275
275
|
|
|
276
276
|
// If already in Bedrock format, use as-is
|
|
277
277
|
// Supports both direct model IDs (anthropic.claude-...) and
|
|
278
|
-
// cross-region inference profile IDs (us.anthropic.claude-..., eu.anthropic.claude-...)
|
|
279
|
-
if (modelId.startsWith('anthropic.') || /^[a-z]{2}\.anthropic\./.test(modelId)) {
|
|
278
|
+
// cross-region inference profile IDs (us.anthropic.claude-..., eu.anthropic.claude-..., apac.anthropic.claude-...)
|
|
279
|
+
if (modelId.startsWith('anthropic.') || /^[a-z]{2,4}\.anthropic\./.test(modelId)) {
|
|
280
280
|
return modelId;
|
|
281
281
|
}
|
|
282
282
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { ModelPricing } from '../types/provider.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Built-in pricing table for known models.
|
|
5
|
+
* Prices in USD per million tokens. Last updated: 2025-07.
|
|
6
|
+
*
|
|
7
|
+
* Used as fallback when no ModelRegistry is configured.
|
|
8
|
+
* Registry pricing (if available) takes precedence.
|
|
9
|
+
*/
|
|
10
|
+
const PRICING_TABLE: Array<{ prefix: string; pricing: ModelPricing }> = [
|
|
11
|
+
// Anthropic — Claude 4.6
|
|
12
|
+
{
|
|
13
|
+
prefix: 'claude-opus-4-6',
|
|
14
|
+
pricing: { inputPerMillion: 15, outputPerMillion: 75, cacheWritePerMillion: 18.75, cacheReadPerMillion: 1.50, currency: 'USD' },
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
prefix: 'claude-sonnet-4-6',
|
|
18
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
19
|
+
},
|
|
20
|
+
// Anthropic — Claude 4.5
|
|
21
|
+
{
|
|
22
|
+
prefix: 'claude-haiku-4-5',
|
|
23
|
+
pricing: { inputPerMillion: 0.80, outputPerMillion: 4, cacheWritePerMillion: 1.00, cacheReadPerMillion: 0.08, currency: 'USD' },
|
|
24
|
+
},
|
|
25
|
+
// Anthropic — Claude 4
|
|
26
|
+
{
|
|
27
|
+
prefix: 'claude-opus-4',
|
|
28
|
+
pricing: { inputPerMillion: 15, outputPerMillion: 75, cacheWritePerMillion: 18.75, cacheReadPerMillion: 1.50, currency: 'USD' },
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
prefix: 'claude-sonnet-4',
|
|
32
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
33
|
+
},
|
|
34
|
+
// Anthropic — Claude 3.5
|
|
35
|
+
{
|
|
36
|
+
prefix: 'claude-3-5-sonnet',
|
|
37
|
+
pricing: { inputPerMillion: 3, outputPerMillion: 15, cacheWritePerMillion: 3.75, cacheReadPerMillion: 0.30, currency: 'USD' },
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
prefix: 'claude-3-5-haiku',
|
|
41
|
+
pricing: { inputPerMillion: 0.80, outputPerMillion: 4, cacheWritePerMillion: 1.00, cacheReadPerMillion: 0.08, currency: 'USD' },
|
|
42
|
+
},
|
|
43
|
+
// OpenAI — GPT-4o
|
|
44
|
+
{
|
|
45
|
+
prefix: 'gpt-4o-2024',
|
|
46
|
+
pricing: { inputPerMillion: 2.50, outputPerMillion: 10, cacheReadPerMillion: 1.25, currency: 'USD' },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
prefix: 'gpt-4o',
|
|
50
|
+
pricing: { inputPerMillion: 2.50, outputPerMillion: 10, cacheReadPerMillion: 1.25, currency: 'USD' },
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
prefix: 'gpt-4o-mini',
|
|
54
|
+
pricing: { inputPerMillion: 0.15, outputPerMillion: 0.60, cacheReadPerMillion: 0.075, currency: 'USD' },
|
|
55
|
+
},
|
|
56
|
+
// Google — Gemini 2.5
|
|
57
|
+
{
|
|
58
|
+
prefix: 'gemini-2.5-pro',
|
|
59
|
+
pricing: { inputPerMillion: 1.25, outputPerMillion: 10, currency: 'USD' },
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
prefix: 'gemini-2.5-flash',
|
|
63
|
+
pricing: { inputPerMillion: 0.15, outputPerMillion: 0.60, currency: 'USD' },
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
export function getDefaultPricing(modelId: string): ModelPricing | undefined {
|
|
68
|
+
let best: ModelPricing | undefined;
|
|
69
|
+
let bestLen = 0;
|
|
70
|
+
for (const entry of PRICING_TABLE) {
|
|
71
|
+
if (modelId.startsWith(entry.prefix) && entry.prefix.length > bestLen) {
|
|
72
|
+
best = entry.pricing;
|
|
73
|
+
bestLen = entry.prefix.length;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return best;
|
|
77
|
+
}
|