@slkiser/opencode-quota 4.10.4 → 4.10.6

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.
@@ -1,69 +1,109 @@
1
- import { sanitizeDisplayText } from "../lib/display-sanitize.js";
2
1
  import { OPENCODE_ZEN_BILLING_UNITS_PER_DOLLAR, queryOpenCodeZenQuota, } from "../lib/opencode-zen.js";
3
- import { DEFAULT_OPENCODE_ZEN_CONFIG_CACHE_MAX_AGE_MS, getOpenCodeZenConfigDiagnostics, resolveOpenCodeZenConfigCached, } from "../lib/opencode-zen-config.js";
2
+ import { resolveOpenCodeZenAccountCached } from "../lib/opencode-zen-config.js";
4
3
  import { normalizeQuotaProviderId } from "../lib/provider-metadata.js";
5
- import { attemptedErrorResult, attemptedResult, configStatusDetails, notAttemptedResult, withStatusDetails, } from "./result-helpers.js";
6
- const OPENCODE_PROVIDER_LABEL = "OpenCode";
4
+ import { attemptedErrorResult, attemptedResult, notAttemptedResult, statusDetailsFromRecord, withStatusDetails, } from "./result-helpers.js";
7
5
  const OPENCODE_ZEN_GROUP = "OpenCode Zen";
8
6
  const OPENCODE_ZEN_BALANCE_ACCOUNTING = {
9
7
  resultType: "balance",
10
- acquisitionMethod: "dashboard_scrape",
8
+ acquisitionMethod: "remote_api",
11
9
  ownership: "maintained",
12
10
  authority: "provider_reported",
13
11
  };
14
12
  const OPENCODE_ZEN_BUDGET_ACCOUNTING = {
15
13
  resultType: "budget",
16
- acquisitionMethod: "dashboard_scrape",
14
+ acquisitionMethod: "remote_api",
17
15
  ownership: "maintained",
18
16
  authority: "locally_derived",
19
17
  };
18
+ const OPENCODE_ZEN_SPEND_ACCOUNTING = {
19
+ resultType: "spend",
20
+ acquisitionMethod: "remote_api",
21
+ ownership: "maintained",
22
+ authority: "provider_reported",
23
+ };
20
24
  const OPENCODE_ZEN_STATUS_ACCOUNTING = {
21
25
  resultType: "status",
22
- acquisitionMethod: "dashboard_scrape",
26
+ acquisitionMethod: "remote_api",
23
27
  ownership: "maintained",
24
28
  authority: "provider_reported",
25
29
  };
26
30
  const USD_UNIT = { kind: "currency", code: "USD" };
31
+ const LOGIN_HINT = "Run `opencode console login` to sign in again.";
32
+ const SWITCH_HINT = "Run `opencode console switch` to select one.";
33
+ function accountErrorMessage(state) {
34
+ if (state === "missing_org") {
35
+ return `No active OpenCode Console organization. ${SWITCH_HINT}`;
36
+ }
37
+ if (state === "inactive_account") {
38
+ return `Active OpenCode Console account not found. ${SWITCH_HINT}`;
39
+ }
40
+ if (state === "expired") {
41
+ return `OpenCode Console session expired. ${LOGIN_HINT}`;
42
+ }
43
+ if (state === "no_active_account") {
44
+ return `No active OpenCode Console account. ${LOGIN_HINT}`;
45
+ }
46
+ if (state === "invalid_url") {
47
+ return `The stored OpenCode Console URL is invalid. ${LOGIN_HINT}`;
48
+ }
49
+ if (state === "incompatible") {
50
+ return `OpenCode state database is missing the Console account tables. Update OpenCode, then ${LOGIN_HINT}`;
51
+ }
52
+ if (state === "read_error") {
53
+ return "The OpenCode state database could not be read (it may be locked). Close or retry OpenCode, then try again.";
54
+ }
55
+ return `No OpenCode Console session found. ${LOGIN_HINT}`;
56
+ }
57
+ function accountStatusDetails(params) {
58
+ return statusDetailsFromRecord({
59
+ account_state: params.state,
60
+ console_url: params.consoleUrl ?? "(none)",
61
+ });
62
+ }
27
63
  function zenUsdDecimal(value) {
28
64
  const fixed = value.toFixed(8);
29
65
  return fixed.replace(/0+$/u, "").replace(/\.$/u, "");
30
66
  }
31
67
  export const opencodeZenProvider = {
32
68
  id: "opencode",
33
- async isAvailable(_ctx) {
34
- const config = await resolveOpenCodeZenConfigCached({
35
- maxAgeMs: DEFAULT_OPENCODE_ZEN_CONFIG_CACHE_MAX_AGE_MS,
36
- });
37
- return config.state === "configured";
69
+ async isAvailable(ctx) {
70
+ const resolved = await resolveOpenCodeZenAccountCached();
71
+ if (resolved.state === "none")
72
+ return false;
73
+ // A normal DB with no Console sign-in is not an auto-mode error, but stays
74
+ // actionable when the user explicitly enables the opencode provider.
75
+ if (resolved.state === "no_active_account" && ctx.config.enabledProviders === "auto") {
76
+ return false;
77
+ }
78
+ // Other recoverable states (expired session, no active org, ...) stay
79
+ // available so fetch() can surface their recovery hints.
80
+ return true;
38
81
  },
39
82
  matchesCurrentModel(model) {
40
83
  const [provider] = model.toLowerCase().split("/", 2);
41
84
  return normalizeQuotaProviderId(provider) === "opencode";
42
85
  },
43
86
  async fetch(ctx) {
44
- const diagnostics = await getOpenCodeZenConfigDiagnostics();
45
- const statusDetails = configStatusDetails({
46
- ...diagnostics,
47
- error: diagnostics.error ? sanitizeDisplayText(diagnostics.error) : undefined,
48
- });
49
- const config = await resolveOpenCodeZenConfigCached({
50
- maxAgeMs: DEFAULT_OPENCODE_ZEN_CONFIG_CACHE_MAX_AGE_MS,
51
- });
52
- if (config.state === "none")
53
- return withStatusDetails(notAttemptedResult(), statusDetails);
54
- if (config.state === "incomplete") {
55
- return withStatusDetails(attemptedErrorResult(OPENCODE_PROVIDER_LABEL, `Missing ${config.missing} (source: ${config.source})`), statusDetails);
87
+ const resolved = await resolveOpenCodeZenAccountCached();
88
+ if (resolved.state === "none") {
89
+ // No Console CLI session in the OpenCode state DB; absent, not an error.
90
+ return withStatusDetails(notAttemptedResult(), accountStatusDetails({ state: "none", consoleUrl: null }));
56
91
  }
57
- if (config.state === "invalid") {
58
- return withStatusDetails(attemptedErrorResult(OPENCODE_PROVIDER_LABEL, `Invalid config (${config.source}): ${config.error}`), statusDetails);
92
+ if (resolved.state !== "configured") {
93
+ return withStatusDetails(attemptedErrorResult(OPENCODE_ZEN_GROUP, accountErrorMessage(resolved.state)), accountStatusDetails({ state: resolved.state, consoleUrl: null }));
59
94
  }
60
- const result = await queryOpenCodeZenQuota(config.config.workspaceId, config.config.consoleSessionCookie, {
95
+ const { account } = resolved;
96
+ const statusDetails = accountStatusDetails({
97
+ state: "configured",
98
+ consoleUrl: account.baseUrl,
99
+ });
100
+ const result = await queryOpenCodeZenQuota(account, {
61
101
  requestTimeoutMs: ctx.config?.requestTimeoutMsConfigured
62
102
  ? ctx.config.requestTimeoutMs
63
103
  : undefined,
64
104
  });
65
105
  if (!result.success) {
66
- return withStatusDetails(attemptedErrorResult(OPENCODE_PROVIDER_LABEL, result.error), [
106
+ return withStatusDetails(attemptedErrorResult(OPENCODE_ZEN_GROUP, result.error), [
67
107
  ...statusDetails,
68
108
  { key: "live_fetch_error", value: result.error },
69
109
  ]);
@@ -74,12 +114,11 @@ export const opencodeZenProvider = {
74
114
  const monthlyUsageUsd = result.data.monthlyUsage === null
75
115
  ? null
76
116
  : result.data.monthlyUsage / OPENCODE_ZEN_BILLING_UNITS_PER_DOLLAR;
117
+ const hasMonthlyUsage = monthlyUsageUsd !== null && Number.isFinite(monthlyUsageUsd) && monthlyUsageUsd >= 0;
77
118
  const hasMonthlyBudget = effectiveMonthlyLimit !== null &&
78
119
  Number.isFinite(effectiveMonthlyLimit) &&
79
120
  effectiveMonthlyLimit > 0 &&
80
- monthlyUsageUsd !== null &&
81
- Number.isFinite(monthlyUsageUsd) &&
82
- monthlyUsageUsd >= 0;
121
+ hasMonthlyUsage;
83
122
  const entries = [];
84
123
  if (hasMonthlyBudget) {
85
124
  const monthlyRemainingUsd = Math.max(0, effectiveMonthlyLimit - monthlyUsageUsd);
@@ -88,6 +127,7 @@ export const opencodeZenProvider = {
88
127
  name: "zen-monthly-budget",
89
128
  group: OPENCODE_ZEN_GROUP,
90
129
  percentRemaining: Math.min(100, (monthlyRemainingUsd / effectiveMonthlyLimit) * 100),
130
+ ...(result.data.budgetResetIso ? { resetTimeIso: result.data.budgetResetIso } : {}),
91
131
  semantic: {
92
132
  metric: { kind: "window", window: "month" },
93
133
  prominence: "primary",
@@ -108,6 +148,20 @@ export const opencodeZenProvider = {
108
148
  },
109
149
  });
110
150
  }
151
+ else if (hasMonthlyUsage) {
152
+ // No limit to measure against: still show this month's real spend.
153
+ entries.push({
154
+ accounting: OPENCODE_ZEN_SPEND_ACCOUNTING,
155
+ kind: "quantity",
156
+ name: "zen-monthly-spend",
157
+ group: OPENCODE_ZEN_GROUP,
158
+ semantic: {
159
+ metric: { kind: "window", window: "month" },
160
+ prominence: "primary",
161
+ },
162
+ quantity: { decimal: zenUsdDecimal(monthlyUsageUsd), unit: USD_UNIT },
163
+ });
164
+ }
111
165
  entries.push({
112
166
  accounting: OPENCODE_ZEN_BALANCE_ACCOUNTING,
113
167
  kind: "quantity",
@@ -132,7 +186,7 @@ export const opencodeZenProvider = {
132
186
  value: result.data.reload,
133
187
  });
134
188
  }
135
- const errors = result.errors.map((message) => ({ label: OPENCODE_PROVIDER_LABEL, message }));
189
+ const errors = result.errors.map((message) => ({ label: OPENCODE_ZEN_GROUP, message }));
136
190
  return withStatusDetails(attemptedResult(entries, errors), [
137
191
  ...statusDetails,
138
192
  { key: "balance_usd", value: `USD ${zenUsdDecimal(balanceUsd)}` },
@@ -143,10 +197,8 @@ export const opencodeZenProvider = {
143
197
  : `USD ${zenUsdDecimal(result.data.monthlyLimit)}`,
144
198
  },
145
199
  {
146
- key: "last_payment_usd",
147
- value: result.data.lastPayment === null
148
- ? "(none)"
149
- : `USD ${zenUsdDecimal(result.data.lastPayment)}`,
200
+ key: "monthly_usage_usd",
201
+ value: monthlyUsageUsd === null ? "(unknown)" : `USD ${zenUsdDecimal(monthlyUsageUsd)}`,
150
202
  },
151
203
  {
152
204
  key: "auto_reload",
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-zen.js","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-zen.js","sourceRoot":"","sources":["../../src/providers/opencode-zen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "4.10.4",
3
+ "version": "4.10.6",
4
4
  "description": "OpenCode quota & tokens usage with zero context window pollution. Supports GitHub Copilot, OpenAI (Plus/Pro), Chutes AI, Synthetic, Google AGY, Z.ai coding plan and more.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",