Skip to content

feat(cost): Anthropic and OpenAI as cost sources - #2577

Merged
Makisuo merged 8 commits into
mainfrom
feat/cost-anthropic-openai
Nov 13, 2026
Merged

Makisuo merged 8 commits into
mainfrom
feat/cost-anthropic-openai

docs(cost): what the live Anthropic check settled

b24e872
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Nov 13, 2026 in 16s

Confidence – · Nothing to review

Nothing to review

Only docs/cloud-cost-plan.md changed since the reviewed head fddaf62; the Anthropic/OpenAI cost code is unchanged, so there is nothing new to review. The http-graph.ts edit only registers two routes and addresses neither VcsWebhookEnqueueFailure nor McpOAuthProtocolError.

Production impact

Open errors in the changed files (2)
Issue Service Occurrences File
@maple/api/routes/VcsWebhookEnqueueFailure (2 issues) maple-api 9 apps/api/src/runtime/http-graph.ts
@maple/backend/errors/McpOAuthProtocolError maple-api 4 apps/api/src/runtime/http-graph.ts

After this merges, Maple checks whether they stop.

Telemetry this change adds and removes (16)
  • ➕ span name HttpAnthropicCost.set · apps/api/src/routes/internal/anthropic-cost.http.ts:15
  • ➕ span name HttpAnthropicCost.remove · apps/api/src/routes/internal/anthropic-cost.http.ts:19
  • ➕ span name HttpOpenAiCost.set · apps/api/src/routes/internal/openai-cost.http.ts:15
  • ➕ span name HttpOpenAiCost.remove · apps/api/src/routes/internal/openai-cost.http.ts:19
  • ➕ span name AnthropicCostConnectionService.validateWithAnthropic · packages/backend/src/services/cost/AnthropicCostConnectionService.ts:73
  • ➕ span name AnthropicCostConnectionService.set · packages/backend/src/services/cost/AnthropicCostConnectionService.ts:88
  • ➕ span name AnthropicCostConnectionService.remove · packages/backend/src/services/cost/AnthropicCostConnectionService.ts:127
  • ➕ span name OpenAiCostConnectionService.validateWithOpenAi · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:71
  • ➕ attribute maple.cost.openai.pages · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:99
  • ➕ attribute maple.cost.openai.organizations · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:100
  • ➕ attribute maple.cost.openai.has_results · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:101
  • ➕ span name OpenAiCostConnectionService.set · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:120
  • ➕ span name OpenAiCostConnectionService.remove · packages/backend/src/services/cost/OpenAiCostConnectionService.ts:159
  • ➕ span name AnthropicCostProvider.pull · packages/backend/src/services/cost/providers/anthropic/AnthropicCostProvider.ts:92
  • ➕ attribute maple.cost.anthropic.pages · packages/backend/src/services/cost/providers/anthropic/AnthropicCostProvider.ts:108
  • ➕ span name OpenAiCostProvider.pull · packages/backend/src/services/cost/providers/openai/OpenAiCostProvider.ts:62
What was checked
  • docs/cloud-cost-plan.md diff is prose: provider facts, route list and phase notes, no code or config
  • http-graph.ts adds two route layers to ApiInternalRoutes; no error handling change
  • service-graph.ts adds the two connection service layers to HttpServicesLive

b24e872 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.