@slkiser/opencode-quota 2.6.2 → 2.7.1

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.
Files changed (51) hide show
  1. package/README.md +84 -6
  2. package/dist/data/modelsdev-pricing.min.json +51 -1
  3. package/dist/lib/config.d.ts.map +1 -1
  4. package/dist/lib/config.js +18 -0
  5. package/dist/lib/config.js.map +1 -1
  6. package/dist/lib/cursor-detection.d.ts +17 -0
  7. package/dist/lib/cursor-detection.d.ts.map +1 -0
  8. package/dist/lib/cursor-detection.js +125 -0
  9. package/dist/lib/cursor-detection.js.map +1 -0
  10. package/dist/lib/cursor-pricing.d.ts +33 -0
  11. package/dist/lib/cursor-pricing.d.ts.map +1 -0
  12. package/dist/lib/cursor-pricing.js +131 -0
  13. package/dist/lib/cursor-pricing.js.map +1 -0
  14. package/dist/lib/cursor-usage.d.ts +32 -0
  15. package/dist/lib/cursor-usage.d.ts.map +1 -0
  16. package/dist/lib/cursor-usage.js +127 -0
  17. package/dist/lib/cursor-usage.js.map +1 -0
  18. package/dist/lib/entries.d.ts +4 -0
  19. package/dist/lib/entries.d.ts.map +1 -1
  20. package/dist/lib/entries.js +0 -6
  21. package/dist/lib/entries.js.map +1 -1
  22. package/dist/lib/provider-metadata.d.ts.map +1 -1
  23. package/dist/lib/provider-metadata.js +4 -0
  24. package/dist/lib/provider-metadata.js.map +1 -1
  25. package/dist/lib/quota-stats.d.ts +1 -1
  26. package/dist/lib/quota-stats.d.ts.map +1 -1
  27. package/dist/lib/quota-stats.js +26 -14
  28. package/dist/lib/quota-stats.js.map +1 -1
  29. package/dist/lib/quota-status.d.ts +4 -0
  30. package/dist/lib/quota-status.d.ts.map +1 -1
  31. package/dist/lib/quota-status.js +49 -1
  32. package/dist/lib/quota-status.js.map +1 -1
  33. package/dist/lib/token-cost.d.ts +10 -0
  34. package/dist/lib/token-cost.d.ts.map +1 -0
  35. package/dist/lib/token-cost.js +16 -0
  36. package/dist/lib/token-cost.js.map +1 -0
  37. package/dist/lib/types.d.ts +4 -0
  38. package/dist/lib/types.d.ts.map +1 -1
  39. package/dist/lib/types.js +1 -0
  40. package/dist/lib/types.js.map +1 -1
  41. package/dist/plugin.d.ts.map +1 -1
  42. package/dist/plugin.js +95 -26
  43. package/dist/plugin.js.map +1 -1
  44. package/dist/providers/cursor.d.ts +3 -0
  45. package/dist/providers/cursor.d.ts.map +1 -0
  46. package/dist/providers/cursor.js +136 -0
  47. package/dist/providers/cursor.js.map +1 -0
  48. package/dist/providers/registry.d.ts.map +1 -1
  49. package/dist/providers/registry.js +2 -0
  50. package/dist/providers/registry.js.map +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ import type { TokenBuckets } from "./quota-stats.js";
2
+ export interface CursorCycleWindow {
3
+ sinceMs: number;
4
+ untilMs: number;
5
+ resetTimeIso: string;
6
+ source: "configured_day" | "calendar_month";
7
+ }
8
+ export interface CursorUsageBucket {
9
+ costUsd: number;
10
+ tokens: TokenBuckets;
11
+ messageCount: number;
12
+ }
13
+ export interface CursorUsageSummary {
14
+ window: CursorCycleWindow;
15
+ api: CursorUsageBucket;
16
+ autoComposer: CursorUsageBucket;
17
+ total: CursorUsageBucket;
18
+ unknownModels: Array<{
19
+ sourceModelID: string;
20
+ messageCount: number;
21
+ tokens: TokenBuckets;
22
+ }>;
23
+ }
24
+ export declare function computeCursorCycleWindow(params?: {
25
+ nowMs?: number;
26
+ billingCycleStartDay?: number;
27
+ }): CursorCycleWindow;
28
+ export declare function getCurrentCursorUsageSummary(params?: {
29
+ nowMs?: number;
30
+ billingCycleStartDay?: number;
31
+ }): Promise<CursorUsageSummary>;
32
+ //# sourceMappingURL=cursor-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-usage.d.ts","sourceRoot":"","sources":["../../src/lib/cursor-usage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUrD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,iBAAiB,CAAC;IACvB,YAAY,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC7F;AA0CD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG,iBAAiB,CA4BpB;AAED,wBAAsB,4BAA4B,CAAC,MAAM,CAAC,EAAE;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+D9B"}
@@ -0,0 +1,127 @@
1
+ import { lookupCost } from "./modelsdev-pricing.js";
2
+ import { iterAssistantMessages } from "./opencode-storage.js";
3
+ import { resolvePricingKey } from "./quota-stats.js";
4
+ import { isCursorModelId, isCursorProviderId, lookupCursorLocalCost, resolveCursorModel, } from "./cursor-pricing.js";
5
+ import { calculateUsdFromTokenBuckets } from "./token-cost.js";
6
+ function emptyBuckets() {
7
+ return { input: 0, output: 0, reasoning: 0, cache_read: 0, cache_write: 0 };
8
+ }
9
+ function emptyUsageBucket() {
10
+ return { costUsd: 0, tokens: emptyBuckets(), messageCount: 0 };
11
+ }
12
+ function addBuckets(a, b) {
13
+ return {
14
+ input: a.input + b.input,
15
+ output: a.output + b.output,
16
+ reasoning: a.reasoning + b.reasoning,
17
+ cache_read: a.cache_read + b.cache_read,
18
+ cache_write: a.cache_write + b.cache_write,
19
+ };
20
+ }
21
+ function messageBuckets(msg) {
22
+ const t = msg.tokens;
23
+ if (!t)
24
+ return emptyBuckets();
25
+ return {
26
+ input: typeof t.input === "number" ? t.input : 0,
27
+ output: typeof t.output === "number" ? t.output : 0,
28
+ reasoning: typeof t.reasoning === "number" ? t.reasoning : 0,
29
+ cache_read: typeof t.cache?.read === "number" ? t.cache.read : 0,
30
+ cache_write: typeof t.cache?.write === "number" ? t.cache.write : 0,
31
+ };
32
+ }
33
+ function accumulateBucket(bucket, tokens, costUsd) {
34
+ bucket.tokens = addBuckets(bucket.tokens, tokens);
35
+ bucket.costUsd += costUsd;
36
+ bucket.messageCount += 1;
37
+ }
38
+ function isCursorMessage(msg) {
39
+ return isCursorProviderId(msg.providerID) || isCursorModelId(msg.modelID);
40
+ }
41
+ export function computeCursorCycleWindow(params) {
42
+ const nowMs = params?.nowMs ?? Date.now();
43
+ const now = new Date(nowMs);
44
+ const day = params?.billingCycleStartDay;
45
+ if (typeof day === "number" && Number.isInteger(day) && day >= 1 && day <= 28) {
46
+ const currentMonthStart = new Date(now.getFullYear(), now.getMonth(), day);
47
+ const start = nowMs >= currentMonthStart.getTime()
48
+ ? currentMonthStart
49
+ : new Date(now.getFullYear(), now.getMonth() - 1, day);
50
+ const reset = new Date(start.getFullYear(), start.getMonth() + 1, day);
51
+ return {
52
+ sinceMs: start.getTime(),
53
+ untilMs: reset.getTime(),
54
+ resetTimeIso: reset.toISOString(),
55
+ source: "configured_day",
56
+ };
57
+ }
58
+ const start = new Date(now.getFullYear(), now.getMonth(), 1);
59
+ const reset = new Date(now.getFullYear(), now.getMonth() + 1, 1);
60
+ return {
61
+ sinceMs: start.getTime(),
62
+ untilMs: reset.getTime(),
63
+ resetTimeIso: reset.toISOString(),
64
+ source: "calendar_month",
65
+ };
66
+ }
67
+ export async function getCurrentCursorUsageSummary(params) {
68
+ const nowMs = params?.nowMs ?? Date.now();
69
+ const window = computeCursorCycleWindow({
70
+ nowMs,
71
+ billingCycleStartDay: params?.billingCycleStartDay,
72
+ });
73
+ const messages = await iterAssistantMessages({ sinceMs: window.sinceMs, untilMs: nowMs });
74
+ const api = emptyUsageBucket();
75
+ const autoComposer = emptyUsageBucket();
76
+ const total = emptyUsageBucket();
77
+ const unknownModels = new Map();
78
+ for (const msg of messages) {
79
+ if (!isCursorMessage(msg))
80
+ continue;
81
+ const sourceModelID = msg.modelID ?? "unknown";
82
+ const tokens = messageBuckets(msg);
83
+ const resolved = resolveCursorModel(sourceModelID);
84
+ if (resolved.kind === "local") {
85
+ const cost = lookupCursorLocalCost(resolved.model);
86
+ if (!cost)
87
+ continue;
88
+ const costUsd = calculateUsdFromTokenBuckets(cost, tokens);
89
+ accumulateBucket(autoComposer, tokens, costUsd);
90
+ accumulateBucket(total, tokens, costUsd);
91
+ continue;
92
+ }
93
+ if (resolved.kind === "official") {
94
+ const mapped = resolvePricingKey({
95
+ providerID: resolved.providerHint,
96
+ modelID: `${resolved.providerHint}/${resolved.modelHint}`,
97
+ });
98
+ if (mapped.ok) {
99
+ const cost = lookupCost(mapped.key.provider, mapped.key.model);
100
+ if (cost) {
101
+ const costUsd = calculateUsdFromTokenBuckets(cost, tokens);
102
+ accumulateBucket(api, tokens, costUsd);
103
+ accumulateBucket(total, tokens, costUsd);
104
+ continue;
105
+ }
106
+ }
107
+ }
108
+ total.tokens = addBuckets(total.tokens, tokens);
109
+ total.messageCount += 1;
110
+ const existing = unknownModels.get(sourceModelID);
111
+ if (existing) {
112
+ existing.tokens = addBuckets(existing.tokens, tokens);
113
+ existing.messageCount += 1;
114
+ }
115
+ else {
116
+ unknownModels.set(sourceModelID, { sourceModelID, messageCount: 1, tokens });
117
+ }
118
+ }
119
+ return {
120
+ window,
121
+ api,
122
+ autoComposer,
123
+ total,
124
+ unknownModels: [...unknownModels.values()].sort((a, b) => b.messageCount - a.messageCount),
125
+ };
126
+ }
127
+ //# sourceMappingURL=cursor-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-usage.js","sourceRoot":"","sources":["../../src/lib/cursor-usage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CursorQuotaPlan } from "./types.js";
1
2
  /**
2
3
  * Normalized quota output model.
3
4
  *
@@ -83,6 +84,9 @@ export interface QuotaProviderContext {
83
84
  config: {
84
85
  googleModels: string[];
85
86
  alibabaCodingPlanTier: "lite" | "pro";
87
+ cursorPlan: CursorQuotaPlan;
88
+ cursorIncludedApiUsd?: number;
89
+ cursorBillingCycleStartDay?: number;
86
90
  toastStyle?: "classic" | "grouped";
87
91
  onlyCurrentModel?: boolean;
88
92
  currentModel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,3 @@
1
- /**
2
- * Normalized quota output model.
3
- *
4
- * Providers should map their internal quota shapes into these types so that
5
- * formatting and toast display stays universal across providers.
6
- */
7
1
  export function isValueEntry(e) {
8
2
  return e.kind === "value";
9
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0CH,MAAM,UAAU,YAAY,CAC1B,CAAkB;IAElB,OAAQ,CAAS,CAAC,IAAI,KAAK,OAAO,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAkB;IAElB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAiDA,MAAM,UAAU,YAAY,CAC1B,CAAkB;IAElB,OAAQ,CAAS,CAAC,IAAI,KAAK,OAAO,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,CAAkB;IAElB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASvE,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -4,6 +4,7 @@ export const QUOTA_PROVIDER_LABELS = {
4
4
  "google-antigravity": "Google",
5
5
  firmware: "Firmware",
6
6
  chutes: "Chutes",
7
+ cursor: "Cursor",
7
8
  "qwen-code": "Qwen",
8
9
  "alibaba-coding-plan": "Alibaba Coding Plan",
9
10
  zai: "Z.ai",
@@ -12,6 +13,9 @@ export const QUOTA_PROVIDER_ID_SYNONYMS = {
12
13
  "github-copilot": "copilot",
13
14
  "copilot-chat": "copilot",
14
15
  "github-copilot-chat": "copilot",
16
+ "cursor-acp": "cursor",
17
+ "open-cursor": "cursor",
18
+ "@rama_nigg/open-cursor": "cursor",
15
19
  qwen: "qwen-code",
16
20
  alibaba: "alibaba-coding-plan",
17
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,qBAAqB,EAAE,qBAAqB;IAC5C,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,qBAAqB,EAAE,qBAAqB;IAC5C,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IACvB,wBAAwB,EAAE,QAAQ;IAClC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -22,7 +22,7 @@ export type UnknownKey = {
22
22
  export type PricingResolution = {
23
23
  ok: true;
24
24
  key: PricedKey;
25
- method: "source_provider" | "model_prefix" | "unique_model" | "alias_fallback";
25
+ method: "source_provider" | "model_prefix" | "unique_model" | "alias_fallback" | "cursor_local" | "cursor_api_alias";
26
26
  } | {
27
27
  ok: false;
28
28
  unknown: UnknownKey;
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAA;CAAE,GAC5G;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,MAAM,EAAE;QACN,MAAM,EAAE,YAAY,CAAC;QACrB,OAAO,EAAE,YAAY,CAAC;QACtB,QAAQ,EAAE,YAAY,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AA0MF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,iBAAiB,CA+HpB;AAwDD,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4N3B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6CrC"}
1
+ {"version":3,"file":"quota-stats.d.ts","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { iterAssistantMessages, iterAssistantMessagesForSession, readAllSessionsIndex, } from "./opencode-storage.js";
2
2
  import { hasCost, hasProvider, hasModel, isModelsDevProviderId, listProvidersForModelId, lookupCost, } from "./modelsdev-pricing.js";
3
+ import { isCursorModelId, isCursorProviderId, lookupCursorLocalCost, resolveCursorModel, } from "./cursor-pricing.js";
4
+ import { calculateUsdFromTokenBuckets } from "./token-cost.js";
3
5
  // Re-export for consumers
4
6
  export { SessionNotFoundError } from "./opencode-storage.js";
5
7
  function emptyBuckets() {
@@ -78,6 +80,8 @@ function parseModelIdHint(rawModelId) {
78
80
  return { providerHint: trimmed.slice(0, lastSlash), modelPart: trimmed.slice(lastSlash + 1) };
79
81
  }
80
82
  const SOURCE_PROVIDER_ALIASES = {
83
+ cursor: "cursor",
84
+ "cursor-acp": "cursor",
81
85
  "github-copilot": "openai",
82
86
  "copilot-chat": "openai",
83
87
  chatgpt: "openai",
@@ -241,6 +245,21 @@ export function resolvePricingKey(source) {
241
245
  return null;
242
246
  return { ok: true, key: { provider: providerID, model: modelID }, method };
243
247
  };
248
+ if (isCursorProviderId(source.providerID) || isCursorModelId(source.modelID)) {
249
+ const cursorModel = resolveCursorModel(source.modelID);
250
+ if (cursorModel.kind === "local") {
251
+ return {
252
+ ok: true,
253
+ key: { provider: "cursor", model: cursorModel.model },
254
+ method: "cursor_local",
255
+ };
256
+ }
257
+ if (cursorModel.kind === "official") {
258
+ const resolved = tryProvider(cursorModel.providerHint, "cursor_api_alias", cursorModel.modelHint);
259
+ if (resolved)
260
+ return resolved;
261
+ }
262
+ }
244
263
  const fromSourceProvider = tryProvider(sourceProviderHint, "source_provider");
245
264
  if (fromSourceProvider)
246
265
  return fromSourceProvider;
@@ -325,24 +344,17 @@ function mapToOfficialPricingKey(source) {
325
344
  return resolvePricingKey(source);
326
345
  }
327
346
  function calculateCostUsd(params) {
328
- const cost = lookupCost(params.provider, params.model);
347
+ const cost = params.provider === "cursor"
348
+ ? lookupCursorLocalCost(params.model)
349
+ : lookupCost(params.provider, params.model);
329
350
  if (!cost)
330
351
  return { ok: false };
331
- // models.dev costs are USD per 1M tokens
332
- const perToken = (usdPer1M) => (typeof usdPer1M === "number" ? usdPer1M / 1_000_000 : 0);
333
- const inRate = perToken(cost.input);
334
- const outRate = perToken(cost.output);
335
- const cacheReadRate = perToken(cost.cache_read ?? cost.input);
336
- const cacheWriteRate = perToken(cost.cache_write ?? cost.input);
337
- const reasoningRate = perToken(cost.reasoning ?? cost.output);
338
- const usd = params.tokens.input * inRate +
339
- params.tokens.output * outRate +
340
- params.tokens.cache_read * cacheReadRate +
341
- params.tokens.cache_write * cacheWriteRate +
342
- params.tokens.reasoning * reasoningRate;
343
- return { ok: true, costUsd: usd };
352
+ return { ok: true, costUsd: calculateUsdFromTokenBuckets(cost, params.tokens) };
344
353
  }
345
354
  function classifyMissingPricing(params) {
355
+ if (params.mappedProvider === "cursor") {
356
+ return { kind: "unknown" };
357
+ }
346
358
  // Defensive: if provider wasn't in snapshot we should treat this as unknown mapping.
347
359
  if (!hasProvider(params.mappedProvider)) {
348
360
  return { kind: "unknown" };
@@ -1 +1 @@
1
- {"version":3,"file":"quota-stats.js","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-stats.js","sourceRoot":"","sources":["../../src/lib/quota-stats.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CursorQuotaPlan } from "./types.js";
1
2
  /** Session token fetch error info for status report */
2
3
  export interface SessionTokenError {
3
4
  sessionID: string;
@@ -9,6 +10,9 @@ export declare function buildQuotaStatusReport(params: {
9
10
  configPaths: string[];
10
11
  enabledProviders: string[] | "auto";
11
12
  alibabaCodingPlanTier: "lite" | "pro";
13
+ cursorPlan: CursorQuotaPlan;
14
+ cursorIncludedApiUsd?: number;
15
+ cursorBillingCycleStartDay?: number;
12
16
  onlyCurrentModel: boolean;
13
17
  currentModel?: string;
14
18
  /** Whether a session was available for model lookup */
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AA4CA,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuKD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,GAAG,KAAK,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsYlB"}
1
+ {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+KD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,GAAG,KAAK,CAAC;IACtC,UAAU,EAAE,eAAe,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoblB"}
@@ -14,7 +14,10 @@ import { getProviders } from "../providers/registry.js";
14
14
  import { getPackageVersion } from "./version.js";
15
15
  import { getOpenCodeDbPath, getOpenCodeDbPathCandidates, getOpenCodeDbStats, } from "./opencode-storage.js";
16
16
  import { aggregateUsage } from "./quota-stats.js";
17
- import { renderCommandHeading } from "./format-utils.js";
17
+ import { fmtUsdAmount, renderCommandHeading } from "./format-utils.js";
18
+ import { inspectCursorAuthPresence, inspectCursorOpenCodeIntegration } from "./cursor-detection.js";
19
+ import { getCurrentCursorUsageSummary } from "./cursor-usage.js";
20
+ import { getCursorPlanDisplayName, getEffectiveCursorIncludedApiUsd, } from "./cursor-pricing.js";
18
21
  async function pathExists(path) {
19
22
  try {
20
23
  await stat(path);
@@ -102,6 +105,13 @@ function supportedProviderPricingRow(params) {
102
105
  notes: "local request-count estimate (tiered rolling windows, no token pricing API)",
103
106
  };
104
107
  }
108
+ if (id === "cursor") {
109
+ return {
110
+ id,
111
+ pricing: "partial",
112
+ notes: "API-pool models map to official pricing; Auto/Composer use bundled static Cursor rates",
113
+ };
114
+ }
105
115
  // Providers that correspond directly to models.dev providers.
106
116
  if (params.snapshotProviders.includes(id)) {
107
117
  return { id, pricing: "yes", notes: "models.dev snapshot provider" };
@@ -200,6 +210,44 @@ export async function buildQuotaStatusReport(params) {
200
210
  lines.push(`- alibaba auth configured: ${alibabaAuthConfigured ? "true" : "false"}`);
201
211
  lines.push(`- alibaba coding plan fallback tier: ${params.alibabaCodingPlanTier}`);
202
212
  lines.push(`- alibaba_coding_plan: ${alibabaCodingPlanAuth.state === "configured" ? alibabaCodingPlanAuth.tier : alibabaCodingPlanAuth.state === "invalid" ? "invalid" : "(none)"}`);
213
+ const cursorPlanLabel = getCursorPlanDisplayName(params.cursorPlan);
214
+ const cursorIncludedApiUsd = getEffectiveCursorIncludedApiUsd({
215
+ plan: params.cursorPlan,
216
+ overrideUsd: params.cursorIncludedApiUsd,
217
+ });
218
+ const cursorAuth = await inspectCursorAuthPresence();
219
+ const cursorIntegration = await inspectCursorOpenCodeIntegration();
220
+ lines.push("");
221
+ lines.push("cursor:");
222
+ lines.push(`- plan: ${cursorPlanLabel ?? "none"}`);
223
+ lines.push(`- included_api_usd: ${typeof cursorIncludedApiUsd === "number" ? fmtUsdAmount(cursorIncludedApiUsd) : "(none)"}`);
224
+ lines.push(`- billing_cycle_start_day: ${typeof params.cursorBillingCycleStartDay === "number" ? params.cursorBillingCycleStartDay : "(calendar month)"}`);
225
+ lines.push(`- auth_state: ${cursorAuth.state}`);
226
+ lines.push(`- auth_selected_path: ${cursorAuth.selectedPath ?? "(none)"}`);
227
+ lines.push(`- auth_present_paths: ${joinOrNone(cursorAuth.presentPaths)}`);
228
+ lines.push(`- auth_candidate_paths: ${joinOrNone(cursorAuth.candidatePaths)}`);
229
+ if (cursorAuth.error) {
230
+ lines.push(`- auth_error: ${cursorAuth.error}`);
231
+ }
232
+ lines.push(`- plugin_enabled: ${cursorIntegration.pluginEnabled ? "true" : "false"}`);
233
+ lines.push(`- provider_configured: ${cursorIntegration.providerConfigured ? "true" : "false"}`);
234
+ lines.push(`- config_matches: ${joinOrNone(cursorIntegration.matchedPaths)}`);
235
+ lines.push(`- config_checked_paths: ${joinOrNone(cursorIntegration.checkedPaths)}`);
236
+ try {
237
+ const cursorUsage = await getCurrentCursorUsageSummary({
238
+ billingCycleStartDay: params.cursorBillingCycleStartDay,
239
+ });
240
+ lines.push(`- cycle_source: ${cursorUsage.window.source}`);
241
+ lines.push(`- cycle_reset_at: ${cursorUsage.window.resetTimeIso}`);
242
+ lines.push(`- api_usage: ${fmtUsdAmount(cursorUsage.api.costUsd)} across ${fmtInt(cursorUsage.api.messageCount)} messages`);
243
+ lines.push(`- auto_composer_usage: ${fmtUsdAmount(cursorUsage.autoComposer.costUsd)} across ${fmtInt(cursorUsage.autoComposer.messageCount)} messages`);
244
+ lines.push(`- total_cursor_usage: ${fmtUsdAmount(cursorUsage.total.costUsd)} across ${fmtInt(cursorUsage.total.messageCount)} messages`);
245
+ lines.push(`- unknown_cursor_models: ${fmtInt(cursorUsage.unknownModels.length)}`);
246
+ }
247
+ catch (err) {
248
+ const msg = err instanceof Error ? err.message : String(err);
249
+ lines.push(`- usage_error: ${msg}`);
250
+ }
203
251
  const qwenLocalQuotaPath = getQwenLocalQuotaPath();
204
252
  const qwenLocalQuotaExists = await pathExists(qwenLocalQuotaPath);
205
253
  lines.push(`- qwen free local quota: path=${qwenLocalQuotaPath} exists=${qwenLocalQuotaExists ? "true" : "false"}`);