@flow-a2a/shared 0.1.1 → 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.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type { LobsterIdentity, LobsterInfo, MentionTarget, ClientMessage, ServerMessage, TelemetryRecord, TriggerUserInfo, LobbyAdapter, } from "./types.js";
1
+ export type { LobsterIdentity, LobsterInfo, MentionTarget, ClientMessage, ServerMessage, TelemetryRecord, TriggerUserInfo, Recommendation, LobbyAdapter, } from "./types.js";
2
2
  export { MODEL_PRICING, MODEL_ALIASES, computeCost, type ModelPrice, type CostSource, type CostResult, } from "./pricing.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,GAIZ,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,GAIZ,MAAM,cAAc,CAAC"}
package/dist/pricing.d.ts CHANGED
@@ -14,4 +14,9 @@ export interface CostResult {
14
14
  costUsd: number;
15
15
  source: CostSource;
16
16
  }
17
- export declare function computeCost(model: string, inputTokens: number, outputTokens: number, telemetryCostUsd?: number): CostResult;
17
+ /**
18
+ * Compute cost for an LLM call, including cache tokens.
19
+ * Anthropic cache pricing: cache_read = 10% of input price, cache_creation = 125% of input price.
20
+ * Google cache pricing: cache_read ~25% of input price.
21
+ */
22
+ export declare function computeCost(model: string, inputTokens: number, outputTokens: number, telemetryCostUsd?: number, cacheReadTokens?: number, cacheCreationTokens?: number): CostResult;
package/dist/pricing.js CHANGED
@@ -6,47 +6,68 @@
6
6
  // Prices as of March 2026 — update entries as needed
7
7
  export const MODEL_PRICING = {
8
8
  // OpenAI
9
- "gpt-4o": { inputPer1M: 2.50, outputPer1M: 10.00 },
10
- "gpt-4o-2024-11-20": { inputPer1M: 2.50, outputPer1M: 10.00 },
11
- "gpt-4o-mini": { inputPer1M: 0.15, outputPer1M: 0.60 },
12
- "gpt-4o-mini-2024-07-18": { inputPer1M: 0.15, outputPer1M: 0.60 },
13
- "gpt-4-turbo": { inputPer1M: 10.00, outputPer1M: 30.00 },
14
- "gpt-4": { inputPer1M: 30.00, outputPer1M: 60.00 },
15
- "gpt-3.5-turbo": { inputPer1M: 0.50, outputPer1M: 1.50 },
16
- "o1": { inputPer1M: 15.00, outputPer1M: 60.00 },
17
- "o1-mini": { inputPer1M: 3.00, outputPer1M: 12.00 },
18
- "o3": { inputPer1M: 10.00, outputPer1M: 40.00 },
19
- "o3-mini": { inputPer1M: 1.10, outputPer1M: 4.40 },
20
- "o4-mini": { inputPer1M: 1.10, outputPer1M: 4.40 },
9
+ "gpt-4o": { inputPer1M: 2.5, outputPer1M: 10.0 },
10
+ "gpt-4o-2024-11-20": { inputPer1M: 2.5, outputPer1M: 10.0 },
11
+ "gpt-4o-mini": { inputPer1M: 0.15, outputPer1M: 0.6 },
12
+ "gpt-4o-mini-2024-07-18": { inputPer1M: 0.15, outputPer1M: 0.6 },
13
+ "gpt-4-turbo": { inputPer1M: 10.0, outputPer1M: 30.0 },
14
+ "gpt-4": { inputPer1M: 30.0, outputPer1M: 60.0 },
15
+ "gpt-3.5-turbo": { inputPer1M: 0.5, outputPer1M: 1.5 },
16
+ o1: { inputPer1M: 15.0, outputPer1M: 60.0 },
17
+ "o1-mini": { inputPer1M: 3.0, outputPer1M: 12.0 },
18
+ o3: { inputPer1M: 10.0, outputPer1M: 40.0 },
19
+ "o3-mini": { inputPer1M: 1.1, outputPer1M: 4.4 },
20
+ "o4-mini": { inputPer1M: 1.1, outputPer1M: 4.4 },
21
21
  // Anthropic Claude
22
- "claude-3-5-sonnet-20241022": { inputPer1M: 3.00, outputPer1M: 15.00 },
23
- "claude-3-5-sonnet-20240620": { inputPer1M: 3.00, outputPer1M: 15.00 },
24
- "claude-3-5-haiku-20241022": { inputPer1M: 0.80, outputPer1M: 4.00 },
25
- "claude-3-opus-20240229": { inputPer1M: 15.00, outputPer1M: 75.00 },
26
- "claude-3-sonnet-20240229": { inputPer1M: 3.00, outputPer1M: 15.00 },
22
+ "claude-3-5-sonnet-20241022": { inputPer1M: 3.0, outputPer1M: 15.0 },
23
+ "claude-3-5-sonnet-20240620": { inputPer1M: 3.0, outputPer1M: 15.0 },
24
+ "claude-3-5-haiku-20241022": { inputPer1M: 0.8, outputPer1M: 4.0 },
25
+ "claude-3-opus-20240229": { inputPer1M: 15.0, outputPer1M: 75.0 },
26
+ "claude-3-sonnet-20240229": { inputPer1M: 3.0, outputPer1M: 15.0 },
27
27
  "claude-3-haiku-20240307": { inputPer1M: 0.25, outputPer1M: 1.25 },
28
- "claude-sonnet-4-6": { inputPer1M: 3.00, outputPer1M: 15.00 },
29
- "claude-opus-4-6": { inputPer1M: 15.00, outputPer1M: 75.00 },
30
- "claude-haiku-4-5": { inputPer1M: 0.80, outputPer1M: 4.00 },
28
+ "claude-opus-4-7": { inputPer1M: 5.0, outputPer1M: 25.0 },
29
+ "claude-sonnet-4-6": { inputPer1M: 3.0, outputPer1M: 15.0 },
30
+ "claude-opus-4-6": { inputPer1M: 15.0, outputPer1M: 75.0 },
31
+ "claude-haiku-4-5": { inputPer1M: 0.8, outputPer1M: 4.0 },
31
32
  // Google Gemini
32
- "gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10.00 },
33
- "gemini-2.5-flash": { inputPer1M: 0.30, outputPer1M: 2.50 },
34
- "gemini-2.5-flash-lite": { inputPer1M: 0.10, outputPer1M: 0.40 },
35
- "gemini-2.0-flash": { inputPer1M: 0.10, outputPer1M: 0.40 },
36
- "gemini-1.5-pro": { inputPer1M: 1.25, outputPer1M: 5.00 },
37
- "gemini-1.5-flash": { inputPer1M: 0.075, outputPer1M: 0.30 },
33
+ "gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10.0 },
34
+ "gemini-2.5-flash": { inputPer1M: 0.3, outputPer1M: 2.5 },
35
+ "gemini-2.5-flash-lite": { inputPer1M: 0.1, outputPer1M: 0.4 },
36
+ "gemini-2.0-flash": { inputPer1M: 0.1, outputPer1M: 0.4 },
37
+ "gemini-1.5-pro": { inputPer1M: 1.25, outputPer1M: 5.0 },
38
+ "gemini-1.5-flash": { inputPer1M: 0.075, outputPer1M: 0.3 },
38
39
  // xAI Grok
39
- "grok-2": { inputPer1M: 2.00, outputPer1M: 10.00 },
40
- "grok-2-mini": { inputPer1M: 0.20, outputPer1M: 0.40 },
41
- "grok-3": { inputPer1M: 3.00, outputPer1M: 15.00 },
40
+ "grok-2": { inputPer1M: 2.0, outputPer1M: 10.0 },
41
+ "grok-2-mini": { inputPer1M: 0.2, outputPer1M: 0.4 },
42
+ "grok-3": { inputPer1M: 3.0, outputPer1M: 15.0 },
42
43
  // Meta Llama (via API providers — prices vary, these are common averages)
43
- "llama-3.1-405b-instruct": { inputPer1M: 3.00, outputPer1M: 3.00 },
44
+ "llama-3.1-405b-instruct": { inputPer1M: 3.0, outputPer1M: 3.0 },
44
45
  "llama-3.1-70b-instruct": { inputPer1M: 0.52, outputPer1M: 0.75 },
45
46
  "llama-3.1-8b-instruct": { inputPer1M: 0.05, outputPer1M: 0.08 },
46
- "llama-3.3-70b-instruct": { inputPer1M: 0.23, outputPer1M: 0.40 },
47
+ "llama-3.3-70b-instruct": { inputPer1M: 0.23, outputPer1M: 0.4 },
47
48
  };
48
49
  // Canonical aliases for prefix matching (longest match wins)
49
50
  export const MODEL_ALIASES = [
51
+ // AWS Bedrock model IDs → canonical Anthropic names
52
+ ["us.anthropic.claude-opus-4-7", "claude-opus-4-7"],
53
+ ["us.anthropic.claude-opus-4-6", "claude-opus-4-6"],
54
+ ["us.anthropic.claude-sonnet-4-6", "claude-sonnet-4-6"],
55
+ ["us.anthropic.claude-haiku-4-5", "claude-haiku-4-5"],
56
+ ["us.anthropic.claude-3-5-sonnet", "claude-3-5-sonnet-20241022"],
57
+ ["us.anthropic.claude-3-5-haiku", "claude-3-5-haiku-20241022"],
58
+ ["us.anthropic.claude-3-opus", "claude-3-opus-20240229"],
59
+ ["us.anthropic.claude-3-sonnet", "claude-3-sonnet-20240229"],
60
+ ["us.anthropic.claude-3-haiku", "claude-3-haiku-20240307"],
61
+ ["anthropic.claude-opus-4-7", "claude-opus-4-7"],
62
+ ["anthropic.claude-opus-4-6", "claude-opus-4-6"],
63
+ ["anthropic.claude-sonnet-4-6", "claude-sonnet-4-6"],
64
+ ["anthropic.claude-haiku-4-5", "claude-haiku-4-5"],
65
+ ["anthropic.claude-3-5-sonnet", "claude-3-5-sonnet-20241022"],
66
+ ["anthropic.claude-3-5-haiku", "claude-3-5-haiku-20241022"],
67
+ ["anthropic.claude-3-opus", "claude-3-opus-20240229"],
68
+ ["anthropic.claude-3-sonnet", "claude-3-sonnet-20240229"],
69
+ ["anthropic.claude-3-haiku", "claude-3-haiku-20240307"],
70
+ // Standard aliases
50
71
  ["claude-3-5-sonnet", "claude-3-5-sonnet-20241022"],
51
72
  ["claude-3-5-haiku", "claude-3-5-haiku-20241022"],
52
73
  ["claude-3-opus", "claude-3-opus-20240229"],
@@ -54,6 +75,7 @@ export const MODEL_ALIASES = [
54
75
  ["claude-3-haiku", "claude-3-haiku-20240307"],
55
76
  ["gpt-4o-mini", "gpt-4o-mini"],
56
77
  ["gpt-4o", "gpt-4o"],
78
+ ["gr-claude-opus-4.7", "claude-opus-4-7"],
57
79
  ["gr-claude-opus", "claude-opus-4-6"],
58
80
  ["gr-claude-sonnet", "claude-sonnet-4-6"],
59
81
  ];
@@ -61,7 +83,9 @@ function resolveModel(raw) {
61
83
  const lower = raw.toLowerCase().trim();
62
84
  if (MODEL_PRICING[lower])
63
85
  return lower;
64
- for (const [alias, canonical] of MODEL_ALIASES) {
86
+ // Alias match (longest prefix first)
87
+ const sorted = [...MODEL_ALIASES].sort((a, b) => b[0].length - a[0].length);
88
+ for (const [alias, canonical] of sorted) {
65
89
  if (lower.startsWith(alias))
66
90
  return canonical;
67
91
  }
@@ -72,7 +96,12 @@ function resolveModel(raw) {
72
96
  }
73
97
  return null;
74
98
  }
75
- export function computeCost(model, inputTokens, outputTokens, telemetryCostUsd) {
99
+ /**
100
+ * Compute cost for an LLM call, including cache tokens.
101
+ * Anthropic cache pricing: cache_read = 10% of input price, cache_creation = 125% of input price.
102
+ * Google cache pricing: cache_read ~25% of input price.
103
+ */
104
+ export function computeCost(model, inputTokens, outputTokens, telemetryCostUsd, cacheReadTokens, cacheCreationTokens) {
76
105
  if (telemetryCostUsd != null && telemetryCostUsd > 0) {
77
106
  return { costUsd: telemetryCostUsd, source: "telemetry" };
78
107
  }
@@ -81,8 +110,18 @@ export function computeCost(model, inputTokens, outputTokens, telemetryCostUsd)
81
110
  return { costUsd: 0, source: "estimated" };
82
111
  }
83
112
  const price = MODEL_PRICING[resolved];
84
- const costUsd = (inputTokens / 1_000_000) * price.inputPer1M +
85
- (outputTokens / 1_000_000) * price.outputPer1M;
113
+ const inputPer = price.inputPer1M / 1_000_000;
114
+ const outputPer = price.outputPer1M / 1_000_000;
115
+ // Determine cache pricing ratios based on provider
116
+ const isAnthropic = resolved.includes("claude");
117
+ const cacheReadRatio = isAnthropic ? 0.1 : 0.25; // 10% for Anthropic, 25% for Google
118
+ const cacheCreateRatio = isAnthropic ? 1.25 : 1.0; // 125% for Anthropic, same for others
119
+ const cacheRead = cacheReadTokens ?? 0;
120
+ const cacheCreate = cacheCreationTokens ?? 0;
121
+ const costUsd = inputTokens * inputPer +
122
+ outputTokens * outputPer +
123
+ cacheRead * inputPer * cacheReadRatio +
124
+ cacheCreate * inputPer * cacheCreateRatio;
86
125
  return { costUsd, source: "calculated" };
87
126
  }
88
127
  //# sourceMappingURL=pricing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -118,6 +118,8 @@ export interface TelemetryRecord {
118
118
  model?: string;
119
119
  inputTokens?: number;
120
120
  outputTokens?: number;
121
+ cacheReadTokens?: number;
122
+ cacheCreationTokens?: number;
121
123
  costUsd?: number;
122
124
  costSource?: string;
123
125
  trigger?: string;
@@ -136,6 +138,13 @@ export interface TriggerUserInfo {
136
138
  conversationName?: string;
137
139
  ts: number;
138
140
  }
141
+ export interface Recommendation {
142
+ id: string;
143
+ title: string;
144
+ description: string;
145
+ estimatedSavingsUsd: number | null;
146
+ confidence: "high" | "medium" | "low";
147
+ }
139
148
  export interface LobbyAdapter {
140
149
  onLobbyMessage?(msg: {
141
150
  from: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flow-a2a/shared",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Shared types, protocol definitions, and pricing logic for Flow-A2A",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,10 +17,10 @@
17
17
  ],
18
18
  "repository": {
19
19
  "type": "git",
20
- "url": "https://github.com/nicepkg/flow-a2a.git",
21
- "directory": "packages/shared"
20
+ "url": "https://github.com/FlowGPT/lattice.git",
21
+ "directory": "packages/flow-a2a/shared"
22
22
  },
23
- "homepage": "https://github.com/nicepkg/flow-a2a#readme",
23
+ "homepage": "https://github.com/FlowGPT/lattice#readme",
24
24
  "keywords": [
25
25
  "flow-a2a",
26
26
  "a2a",
@@ -32,10 +32,10 @@
32
32
  "publishConfig": {
33
33
  "access": "public"
34
34
  },
35
- "devDependencies": {
36
- "typescript": "^5.7.0"
37
- },
38
35
  "scripts": {
39
36
  "build": "tsc"
37
+ },
38
+ "devDependencies": {
39
+ "typescript": "^5.7.0"
40
40
  }
41
- }
41
+ }