@agentistics/mcp 2.173.0 → 2.174.0

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.
@@ -24,7 +24,7 @@ var HARNESS_CAPABILITIES = {
24
24
  copilot: { tokens: true, cost: true, model: true, tools: true, agents: false, gitLines: true, dynamicWorkflows: false, activeTime: true, contextWindow: false, compaction: false, skills: false, mcpServers: false },
25
25
  antigravity: { tokens: true, cost: true, model: true, tools: true, agents: false, gitLines: false, dynamicWorkflows: false, activeTime: true, contextWindow: true, compaction: false, skills: false, mcpServers: false },
26
26
  kimi: { tokens: true, cost: true, model: true, tools: true, agents: false, gitLines: false, dynamicWorkflows: false, activeTime: true, contextWindow: true, compaction: false, skills: false, mcpServers: true },
27
- opencode: { tokens: false, cost: false, model: false, tools: false, agents: false, gitLines: false, dynamicWorkflows: false, activeTime: false, contextWindow: false, compaction: false, skills: false, mcpServers: false },
27
+ opencode: { tokens: true, cost: true, model: true, tools: false, agents: false, gitLines: false, dynamicWorkflows: false, activeTime: true, contextWindow: true, compaction: false, skills: false, mcpServers: false },
28
28
  agentistics: { tokens: true, cost: true, model: true, tools: true, agents: false, gitLines: false, dynamicWorkflows: false, activeTime: false, contextWindow: false, compaction: false, skills: false, mcpServers: false }
29
29
  };
30
30
  var HARNESS_SORT = {
@@ -115,6 +115,8 @@ function pricingKey(modelId) {
115
115
  return forwardKey || reverseKey || null;
116
116
  }
117
117
  function getModelPrice(modelId) {
118
+ if (modelId === "opencode/big-pickle" || /^opencode\/[^/]+-free$/.test(modelId))
119
+ return LOCAL_MODEL_PRICE;
118
120
  if (MODEL_PRICING[modelId])
119
121
  return MODEL_PRICING[modelId];
120
122
  if (isLocalModelId(modelId))
@@ -860,11 +862,11 @@ var CAPABILITY_REFINEMENTS = {
860
862
  gitLines: { source: `${P2}; ${REPLAY("antigravity")}`, state: { state: "partial", exactness: "exact", limit: "request-time line counts from edit payloads (CodeContent / ReplacementContent vs TargetContent), not git diff; agy stores no git metadata." } }
861
863
  },
862
864
  opencode: {
863
- tokens: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "no legacy adapter surfaces an opencode SessionMeta at all; the canonical counters (input/output/cacheRead/cacheWrite + a separate additive reasoning counter) are real, read from each assistant message's own tokens field and proven equal to session.tokens_* by an independent recount." } },
864
- cost: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "opencode's own per-message cost is carried as costSource: 'harness' (not the shared table) because both real sessions measured used unpriced local/free models (cost 0); no legacy adapter surfaces it on any surface." } },
865
- model: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "the bare model id (message.modelID) is real; no legacy adapter surfaces it on any surface." } },
866
- tools: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: 'real tool calls (name, status, timing) from part rows of type "tool"; no legacy adapter surfaces them on any surface, and only the four tool names measured on the real store (bash, write, read, skill) are known to map through canonicalTool.' } },
867
- activeTime: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "turn.started/turn.ended are emitted per user message and per settled assistant reply, closing 'last-line' always (opencode states no whole-turn duration, only per-step timing); no legacy adapter surfaces active_minutes on any surface." } }
865
+ tokens: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "the canonical counters (input/output/cacheRead/cacheWrite + a separate additive reasoning counter) are real, read from each assistant message's own tokens field and proven equal to session.tokens_* by an independent recount." } },
866
+ cost: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "opencode's own per-message cost is carried as costSource: 'harness' (not the shared table) because both real sessions measured used unpriced local/free models (cost 0); the local metrics adapter instead estimates API costs through the shared table." } },
867
+ model: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "the bare model id (message.modelID) is real; the local metrics adapter also preserves unknown provider routes." } },
868
+ tools: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: 'real tool calls (name, status, timing) from part rows of type "tool"; the local metrics adapter does not count tool parts, and only the four tool names measured on the real store (bash, write, read, skill) are known to map through canonicalTool.' } },
869
+ activeTime: { source: REPLAY("opencode"), state: { state: "partial", exactness: "exact", limit: "turn.started/turn.ended are emitted per user message and per settled assistant reply, closing 'last-line' always (opencode states no whole-turn duration, only per-step timing); the local metrics adapter also reconstructs active_minutes from message boundaries." } }
868
870
  }
869
871
  };
870
872
  function applyCapabilityRefinements(base, refinements = CAPABILITY_REFINEMENTS) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentistics/mcp",
3
- "version": "2.173.0",
3
+ "version": "2.174.0",
4
4
  "description": "Agentistics MCP server — Claude Code analytics for Claude Desktop and Claude Code",
5
5
  "type": "module",
6
6
  "main": "./dist/agentistics-mcp.js",