agim-cli 1.2.158 → 1.2.159

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/CHANGELOG.md CHANGED
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.2.159] - 2026-06-21
8
+
9
+ ### Added — 模型成本/窗口元数据(复用 pi-ai 目录)
10
+
11
+ agim 自家 provider(anthropic / openai-compat)只带 `(providerType, model)` 字符串,
12
+ 上游 API 常不回 cost → `costUsd` 经常是空。新增 `src/core/llm/model-catalog.ts`
13
+ 封装已依赖的 `@earendil-works/pi-ai` MODELS 全表:
14
+
15
+ - `findCatalogModel` / `lookupModelMeta`(contextWindow / maxTokens)
16
+ - `estimateCostUsd`(用 token 数走 `calculateCost`,含 Anthropic 1h cache 计费特例)
17
+
18
+ `LlmProvider.enrichUsage()` 在 API 不回成本时按目录回填 `costUsd`——所有 legacy
19
+ provider(以及 v1.2.158 的 TUI token/cost 状态栏)无需自建价格表即可显示真实 $。
20
+ 模型未收录或已计价则不动。
21
+
7
22
  ## [1.2.158] - 2026-06-21
8
23
 
9
24
  ### Added — TUI 体验(借鉴 pi CLI)
@@ -0,0 +1,18 @@
1
+ import { type Model } from '@earendil-works/pi-ai';
2
+ /** Resolve a pi-ai catalog Model for an agim (providerType, modelId) pair. */
3
+ export declare function findCatalogModel(providerType: string | undefined, modelId: string): Model<string> | null;
4
+ export interface ModelMeta {
5
+ contextWindow: number;
6
+ maxTokens: number;
7
+ }
8
+ /** contextWindow / maxTokens for an agim backend, or null when uncatalogued. */
9
+ export declare function lookupModelMeta(providerType: string | undefined, modelId: string): ModelMeta | null;
10
+ /** Estimate cost (USD) from token counts via the catalog, or null when the
11
+ * model isn't catalogued. cacheRead / cacheWrite default to 0. */
12
+ export declare function estimateCostUsd(providerType: string | undefined, modelId: string, tokens: {
13
+ input: number;
14
+ output: number;
15
+ cacheRead?: number;
16
+ cacheWrite?: number;
17
+ }): number | null;
18
+ //# sourceMappingURL=model-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../src/core/llm/model-catalog.ts"],"names":[],"mappings":"AAUA,OAAO,EAA0C,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAmB1F,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAcxG;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGnG;AAED;mEACmE;AACnE,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF,MAAM,GAAG,IAAI,CAYf"}
@@ -0,0 +1,67 @@
1
+ // Model metadata catalog — a thin wrapper over @earendil-works/pi-ai's MODELS
2
+ // table. agim's own providers (anthropic / openai-compat) carry only a
3
+ // (providerType, model) string pair and often get no cost back from the
4
+ // upstream API, so their usage telemetry shows costUsd = undefined. This maps
5
+ // them onto pi-ai's catalog to:
6
+ // - backfill real USD cost from token counts (calculateCost), and
7
+ // - expose contextWindow / maxTokens for context-budget decisions.
8
+ // pi-native already gets this directly from pi-ai; this brings the same to the
9
+ // legacy providers WITHOUT maintaining a second price table.
10
+ import { calculateCost, getModels, getProviders } from '@earendil-works/pi-ai';
11
+ // agim providerType → pi-ai KnownProvider, only where the spellings differ.
12
+ // Unknown keys fall through to a full-catalog scan by exact model id.
13
+ const PROVIDER_ALIASES = {
14
+ claude: 'anthropic',
15
+ gemini: 'google',
16
+ grok: 'xai',
17
+ kimi: 'moonshot',
18
+ };
19
+ function modelsOf(provider) {
20
+ try {
21
+ return getModels(provider);
22
+ }
23
+ catch {
24
+ return [];
25
+ }
26
+ }
27
+ /** Resolve a pi-ai catalog Model for an agim (providerType, modelId) pair. */
28
+ export function findCatalogModel(providerType, modelId) {
29
+ if (!modelId)
30
+ return null;
31
+ const hint = providerType?.toLowerCase();
32
+ const aliased = hint ? (PROVIDER_ALIASES[hint] ?? hint) : undefined;
33
+ if (aliased) {
34
+ const hit = modelsOf(aliased).find((m) => m.id === modelId);
35
+ if (hit)
36
+ return hit;
37
+ }
38
+ // Fall back to scanning every known provider for the exact model id.
39
+ for (const p of getProviders()) {
40
+ const hit = modelsOf(p).find((m) => m.id === modelId);
41
+ if (hit)
42
+ return hit;
43
+ }
44
+ return null;
45
+ }
46
+ /** contextWindow / maxTokens for an agim backend, or null when uncatalogued. */
47
+ export function lookupModelMeta(providerType, modelId) {
48
+ const m = findCatalogModel(providerType, modelId);
49
+ return m ? { contextWindow: m.contextWindow, maxTokens: m.maxTokens } : null;
50
+ }
51
+ /** Estimate cost (USD) from token counts via the catalog, or null when the
52
+ * model isn't catalogued. cacheRead / cacheWrite default to 0. */
53
+ export function estimateCostUsd(providerType, modelId, tokens) {
54
+ const model = findCatalogModel(providerType, modelId);
55
+ if (!model)
56
+ return null;
57
+ const cost = calculateCost(model, {
58
+ input: tokens.input,
59
+ output: tokens.output,
60
+ cacheRead: tokens.cacheRead ?? 0,
61
+ cacheWrite: tokens.cacheWrite ?? 0,
62
+ totalTokens: tokens.input + tokens.output,
63
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
64
+ });
65
+ return cost?.total ?? null;
66
+ }
67
+ //# sourceMappingURL=model-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../src/core/llm/model-catalog.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,wEAAwE;AACxE,8EAA8E;AAC9E,gCAAgC;AAChC,oEAAoE;AACpE,qEAAqE;AACrE,+EAA+E;AAC/E,6DAA6D;AAE7D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAc,MAAM,uBAAuB,CAAA;AAE1F,4EAA4E;AAC5E,sEAAsE;AACtE,MAAM,gBAAgB,GAA2B;IAC/C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,QAA2C,CAAyB,CAAA;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,YAAgC,EAAE,OAAe;IAChF,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,MAAM,IAAI,GAAG,YAAY,EAAE,WAAW,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAC3D,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;IACrB,CAAC;IACD,qEAAqE;IACrE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QACrD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAOD,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,YAAgC,EAAE,OAAe;IAC/E,MAAM,CAAC,GAAG,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACjD,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9E,CAAC;AAED;mEACmE;AACnE,MAAM,UAAU,eAAe,CAC7B,YAAgC,EAChC,OAAe,EACf,MAAkF;IAElF,MAAM,KAAK,GAAG,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;QAChC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM;QACzC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACrE,CAAC,CAAA;IACF,OAAO,IAAI,EAAE,KAAK,IAAI,IAAI,CAAA;AAC5B,CAAC"}
@@ -273,6 +273,10 @@ export declare abstract class LlmProvider {
273
273
  * response. Used by all Stage-1 introspection callers because the
274
274
  * downstream parsers want a complete JSON string anyway.
275
275
  */
276
+ /** Backfill costUsd from the pi-ai model catalog when the upstream API
277
+ * didn't return a cost (Anthropic / OpenAI direct usually don't). Leaves an
278
+ * already-priced usage untouched; no-ops when the model isn't catalogued. */
279
+ protected enrichUsage(usage: LlmUsage): LlmUsage;
276
280
  chat(messages: LlmMessage[], opts?: ChatOptions): Promise<ChatResult>;
277
281
  /**
278
282
  * Streaming chat call: async-iterable of text deltas. Stage-1 callers
@@ -1 +1 @@
1
- {"version":3,"file":"provider-base.d.ts","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-base.d.ts","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@
22
22
  // Concrete providers (Stage 1: OpenAICompatProvider only) subclass and
23
23
  // implement `_callApi` / `_callApiStream`. The base wraps with timeout +
24
24
  // telemetry plumbing so providers stay focused on transport details.
25
+ import { estimateCostUsd } from './model-catalog.js';
25
26
  /**
26
27
  * Base class for every LLM provider. The transport-specific work happens
27
28
  * in `_callApi` / `_callApiStream` which subclasses implement. The base
@@ -72,19 +73,33 @@ export class LlmProvider {
72
73
  * response. Used by all Stage-1 introspection callers because the
73
74
  * downstream parsers want a complete JSON string anyway.
74
75
  */
76
+ /** Backfill costUsd from the pi-ai model catalog when the upstream API
77
+ * didn't return a cost (Anthropic / OpenAI direct usually don't). Leaves an
78
+ * already-priced usage untouched; no-ops when the model isn't catalogued. */
79
+ enrichUsage(usage) {
80
+ if (usage.costUsd !== undefined)
81
+ return usage;
82
+ const input = usage.promptTokens ?? 0;
83
+ const output = usage.completionTokens ?? 0;
84
+ if (input === 0 && output === 0)
85
+ return usage;
86
+ const cost = estimateCostUsd(this.providerType, this.model, { input, output });
87
+ return cost === null ? usage : { ...usage, costUsd: cost };
88
+ }
75
89
  async chat(messages, opts = {}) {
76
90
  const prepared = this._prepareMessages(messages, opts);
77
91
  const merged = this._mergeOptions(opts);
78
92
  const signal = this._buildSignal(opts.signal, merged.timeoutMs);
79
93
  const result = await this._callApi(prepared, merged, signal.signal);
80
94
  signal.cleanup();
95
+ const usage = this.enrichUsage(result.usage);
81
96
  if (opts.onUsage) {
82
97
  try {
83
- opts.onUsage(result.usage);
98
+ opts.onUsage(usage);
84
99
  }
85
100
  catch { /* swallow — telemetry is best-effort */ }
86
101
  }
87
- return result;
102
+ return { ...result, usage };
88
103
  }
89
104
  /**
90
105
  * Streaming chat call: async-iterable of text deltas. Stage-1 callers
@@ -105,7 +120,7 @@ export class LlmProvider {
105
120
  }
106
121
  if (lastUsage && opts.onUsage) {
107
122
  try {
108
- opts.onUsage(lastUsage);
123
+ opts.onUsage(this.enrichUsage(lastUsage));
109
124
  }
110
125
  catch { /* swallow */ }
111
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-base.js","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-base.js","sourceRoot":"","sources":["../../../src/core/llm/provider-base.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agim-cli",
3
- "version": "1.2.158",
3
+ "version": "1.2.159",
4
4
  "description": "Agim (阿吉姆) — universal messenger-to-agent bridge. Connect WeChat / Feishu / DingTalk / Email to Claude Code / Codex / OpenCode, or any custom agent via ACP. Installs the `agim` command.",
5
5
  "type": "module",
6
6
  "bin": {