Keysat 1c78e46ebd Module split: extract Gemini-specific helpers to server/gemini-helpers.js
• PRICING table             — per-1M-token rates by model
  • calcCost(model, usage)    — Gemini usage object → cost record
  • buildAnalysisPrompt(...)  — JSON-output topic-analysis prompt

These all share the Gemini contract — pricing schema, usage shape, and
prompt format. When we add other providers, each gets its own
provider-specific helpers file; this becomes the basis of the Gemini
provider implementation.

server/index.js: 2828 → 2758 lines.

Smoke tested: server boots; /api/license-status, /api/health, and /
(frontend) all respond. No behavior change.
2026-05-08 16:50:34 -05:00
2026-05-08 16:38:44 -05:00
2026-04-09 15:03:31 -05:00
2026-04-09 15:03:31 -05:00
2026-04-09 15:03:31 -05:00
2026-04-09 15:03:31 -05:00
2026-04-09 15:03:31 -05:00
S
Description
No description provided
52 MiB
Languages
JavaScript 45.6%
HTML 39.3%
TypeScript 13.4%
Shell 1.2%
Makefile 0.3%
Other 0.2%