zcode-acp-server 0.73.0 → 0.74.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.
package/README.md CHANGED
@@ -315,7 +315,7 @@ Thanks to everyone who has contributed (updated automatically from the
315
315
  <a href="https://github.com/william0wang/zcode-acp/graphs/contributors">
316
316
  <!-- release-please re-stamps &v= on every release: the new URL busts the
317
317
  contrib.rocks and GitHub camo image caches. -->
318
- <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.73.0" alt="Contributors" /> <!-- x-release-please-version -->
318
+ <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.74.0" alt="Contributors" /> <!-- x-release-please-version -->
319
319
  </a>
320
320
 
321
321
  ## Related Projects
@@ -1 +1 @@
1
- {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../src/bin/quota.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAiC9B,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,eAAe,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,4FAA4F;IAC5F,QAAQ,EAAE,QAAQ,CAAC;IACnB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAC;CAChB;AAuDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAM/F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAiE7D;AAqKD;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBzF"}
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../src/bin/quota.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAiC9B,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,eAAe,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,4FAA4F;IAC5F,QAAQ,EAAE,QAAQ,CAAC;IACnB,2EAA2E;IAC3E,KAAK,EAAE,OAAO,CAAC;CAChB;AA4DD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAM/F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAiE7D;AAqKD;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBzF"}
package/dist/bin/quota.js CHANGED
@@ -65,14 +65,19 @@ Providers:
65
65
  GLM credentials: read from ~/.zcode/v2/config.json (created by the ZCode app).
66
66
  Non-GLM credentials resolve per field, highest precedence first:
67
67
  1. ~/.config/zcode-acp/config.json "quota" section, e.g.
68
- {"quota":{"ollamaApiKey":"…","cliproxyUrl":"https://host:port","cliproxyManagementKey":"…","opencodeGoWorkspaceId":"wrk_…","opencodeGoAuthCookie":"Fe26.2**…","opencodeGoSessionToken":"st_…"}}
68
+ {"quota":{"ollamaApiKey":"…","cliproxyUrl":"https://host:port","cliproxyManagementKey":"…","opencodeGoWorkspaceId":"wrk_…","opencodeGoAuthCookie":"Fe26.2**…","opencodeGoSessionToken":"st_…","opencodeGoApiKey":"oc_sk_…"}}
69
69
  2. Environment variables (one-off overrides)
70
70
  3. ~/.pi/agent/opencode-go.json (legacy Pi-extension reuse, Opencode Go only)
71
- Opencode Go (log in at https://opencode.ai/console first, then DevTools →
72
- Application → Cookies → opencode.ai):
73
- OPENCODE_GO_WORKSPACE_ID e.g. wrk_abc123 (from the opencode.ai workspace URL)
74
- OPENCODE_GO_AUTH_COOKIE the "auth" cookie value (starts with Fe26.2**)
75
- OPENCODE_GO_SESSION_TOKEN the "__Host-console_session" cookie value (st_…)
71
+ Opencode Go — two sources, picked automatically (cookies preferred for their
72
+ 0.1-percent precision; the API key is the cookie-free fallback):
73
+ a) Console cookies (log in at https://opencode.ai/console first, then
74
+ DevTools → Application → Cookies → opencode.ai):
75
+ OPENCODE_GO_WORKSPACE_ID e.g. wrk_abc123 (from the workspace URL)
76
+ OPENCODE_GO_AUTH_COOKIE the "auth" cookie value (starts with Fe26.2**)
77
+ OPENCODE_GO_SESSION_TOKEN the "__Host-console_session" cookie value (st_…)
78
+ b) API key (opencode.ai/console → Keys → Add Service Account; query
79
+ permissions suffice — integer-percent precision):
80
+ OPENCODE_GO_API_KEY the service-account key (starts with oc_sk_)
76
81
  Ollama Cloud:
77
82
  OLLAMA_API_KEY an Ollama Cloud API key (cloud.ollama.ai → API keys)
78
83
  CLIProxyAPI (HTTPS mandatory — the management key relays account credentials):
@@ -1 +1 @@
1
- {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../src/bin/quota.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../src/bin/quota.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
- "fingerprint": "ecc32528d4383d2c384947480171732c1895821668a75466a7c0f624b3dfbd4a",
2
+ "fingerprint": "1867195a4b50b5573554aef5a28d70abbc9ee39abd7f2f360cc4a30c72e266c8",
3
3
  "fileCount": 126
4
4
  }
@@ -87,8 +87,12 @@ export interface QuotaUserConfig {
87
87
  /** Opencode Go `auth` cookie value (`Fe26.2**…`). */
88
88
  opencodeGoAuthCookie?: string;
89
89
  /** Opencode Go `__Host-console_session` cookie value (`st_…`) — required
90
- * since the 2026-09 console migration (the API 401s the auth cookie alone). */
90
+ * since the 2026-09 console migration (the API 401s the auth cookie alone). */
91
91
  opencodeGoSessionToken?: string;
92
+ /** Opencode Go API key (`oc_sk_…`, opencode.ai Console → Keys) — the
93
+ * cookie-free fallback source: used when the cookie triple is absent or
94
+ * rejected (integer-percent precision via `/zen/go/v1/usage`). */
95
+ opencodeGoApiKey?: string;
92
96
  }
93
97
  /** The `session` section: session defaults and output preferences. */
94
98
  export interface SessionUserConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAqBH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;gDAE4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;2DAEuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;mFAC+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qFAAqF;IACrF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAG3E;AAsCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CAyO/E"}
1
+ {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,7 @@ export function loadUserConfig(env = process.env) {
139
139
  ["opencodeGoWorkspaceId", "opencodeGoWorkspaceId"],
140
140
  ["opencodeGoAuthCookie", "opencodeGoAuthCookie"],
141
141
  ["opencodeGoSessionToken", "opencodeGoSessionToken"],
142
+ ["opencodeGoApiKey", "opencodeGoApiKey"],
142
143
  ]) {
143
144
  const v = quota[jsonKey];
144
145
  if (typeof v === "string" && v.trim())
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/config/user-config.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,31 @@
1
1
  /**
2
2
  * Opencode Go status HTTP client.
3
3
  *
4
- * The Go dashboard moved off the legacy SSR page (`/workspace/<id>/go` — that
5
- * URL now bounces EVERY cookie to the login page, observed 2026-09-19) onto
6
- * the console at `https://opencode.ai/console/<org>/go`, backed by this JSON
7
- * API. Usage arrives as micro-cents meter pairs per window; the parser turns
8
- * them into percent + countdown.
4
+ * Two sources, in preference order (the orchestrator picks):
9
5
  *
10
- * Auth needs THREE pieces (verified against the live API 2026-09-19): the
11
- * `auth` cookie, the `__Host-console_session` cookie, and the `x-org-id`
6
+ * 1. The console status API (`/console/api/go/status`) — cookie auth, reports
7
+ * usage in 0.1-percent steps. The Go dashboard moved off the legacy SSR
8
+ * page (`/workspace/<id>/go` — that URL now bounces EVERY cookie to the
9
+ * login page, observed 2026-09-19) onto the console at
10
+ * `https://opencode.ai/console/<org>/go`, backed by this JSON API. Usage
11
+ * arrives as micro-cents meter pairs per window; the parser turns them
12
+ * into percent + countdown.
13
+ *
14
+ * 2. The public usage API (`/zen/go/v1/usage`, opencode PR #16513) — a single
15
+ * service-account API key (`oc_sk_…`) as a Bearer token, no cookies, no
16
+ * org header. Reports integer percents + absolute reset timestamps; the
17
+ * cookie source keeps 0.1 precision, so it stays preferred and this is the
18
+ * fallback for setups without (or with expired) cookies.
19
+ *
20
+ * Console auth needs THREE pieces (verified against the live API 2026-09-19):
21
+ * the `auth` cookie, the `__Host-console_session` cookie, and the `x-org-id`
12
22
  * header. Missing session cookie → 401, missing org header → 400; any
13
23
  * User-Agent works (one is sent for parity with the console's own requests).
14
24
  */
15
25
  /** The console status API endpoint (the org rides the `x-org-id` header). */
16
26
  export declare function goStatusUrl(): string;
27
+ /** The public usage API endpoint (key auth; the console /zen path proxies it). */
28
+ export declare function zenUsageUrl(): string;
17
29
  /**
18
30
  * Fetch the Go status JSON.
19
31
  *
@@ -26,4 +38,13 @@ export declare function fetchGoStatus(workspaceId: string, authCookie: string, s
26
38
  status: number;
27
39
  text: string;
28
40
  }>;
41
+ /**
42
+ * Fetch the public usage JSON with an API key. Same no-throw contract as
43
+ * {@link fetchGoStatus}: network errors throw (→ `unavailable`), auth
44
+ * failures come back as HTTP 401.
45
+ */
46
+ export declare function fetchZenUsage(apiKey: string, fetchImpl?: typeof globalThis.fetch): Promise<{
47
+ status: number;
48
+ text: string;
49
+ }>;
29
50
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAc3C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,kFAAkF;AAClF,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAc3C;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAY3C"}
@@ -1,14 +1,24 @@
1
1
  /**
2
2
  * Opencode Go status HTTP client.
3
3
  *
4
- * The Go dashboard moved off the legacy SSR page (`/workspace/<id>/go` — that
5
- * URL now bounces EVERY cookie to the login page, observed 2026-09-19) onto
6
- * the console at `https://opencode.ai/console/<org>/go`, backed by this JSON
7
- * API. Usage arrives as micro-cents meter pairs per window; the parser turns
8
- * them into percent + countdown.
4
+ * Two sources, in preference order (the orchestrator picks):
9
5
  *
10
- * Auth needs THREE pieces (verified against the live API 2026-09-19): the
11
- * `auth` cookie, the `__Host-console_session` cookie, and the `x-org-id`
6
+ * 1. The console status API (`/console/api/go/status`) — cookie auth, reports
7
+ * usage in 0.1-percent steps. The Go dashboard moved off the legacy SSR
8
+ * page (`/workspace/<id>/go` — that URL now bounces EVERY cookie to the
9
+ * login page, observed 2026-09-19) onto the console at
10
+ * `https://opencode.ai/console/<org>/go`, backed by this JSON API. Usage
11
+ * arrives as micro-cents meter pairs per window; the parser turns them
12
+ * into percent + countdown.
13
+ *
14
+ * 2. The public usage API (`/zen/go/v1/usage`, opencode PR #16513) — a single
15
+ * service-account API key (`oc_sk_…`) as a Bearer token, no cookies, no
16
+ * org header. Reports integer percents + absolute reset timestamps; the
17
+ * cookie source keeps 0.1 precision, so it stays preferred and this is the
18
+ * fallback for setups without (or with expired) cookies.
19
+ *
20
+ * Console auth needs THREE pieces (verified against the live API 2026-09-19):
21
+ * the `auth` cookie, the `__Host-console_session` cookie, and the `x-org-id`
12
22
  * header. Missing session cookie → 401, missing org header → 400; any
13
23
  * User-Agent works (one is sent for parity with the console's own requests).
14
24
  */
@@ -20,6 +30,10 @@ const USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Gecko/201001
20
30
  export function goStatusUrl() {
21
31
  return "https://opencode.ai/console/api/go/status";
22
32
  }
33
+ /** The public usage API endpoint (key auth; the console /zen path proxies it). */
34
+ export function zenUsageUrl() {
35
+ return "https://opencode.ai/zen/go/v1/usage";
36
+ }
23
37
  /**
24
38
  * Fetch the Go status JSON.
25
39
  *
@@ -43,4 +57,22 @@ export async function fetchGoStatus(workspaceId, authCookie, sessionToken, fetch
43
57
  const text = await resp.text();
44
58
  return { status: resp.status, text };
45
59
  }
60
+ /**
61
+ * Fetch the public usage JSON with an API key. Same no-throw contract as
62
+ * {@link fetchGoStatus}: network errors throw (→ `unavailable`), auth
63
+ * failures come back as HTTP 401.
64
+ */
65
+ export async function fetchZenUsage(apiKey, fetchImpl = globalThis.fetch) {
66
+ const resp = await fetchImpl(zenUsageUrl(), {
67
+ method: "GET",
68
+ headers: {
69
+ Authorization: `Bearer ${apiKey}`,
70
+ Accept: "application/json",
71
+ "User-Agent": USER_AGENT,
72
+ },
73
+ signal: AbortSignal.timeout(TIMEOUT_MS),
74
+ });
75
+ const text = await resp.text();
76
+ return { status: resp.status, text };
77
+ }
46
78
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4BAA4B;AAC5B,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,yEAAyE;AACzE,MAAM,UAAU,GAAG,8EAA8E,CAAC;AAElG,6EAA6E;AAC7E,MAAM,UAAU,WAAW;IACzB,OAAO,2CAA2C,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAkB,EAClB,YAAoB,EACpB,YAAqC,UAAU,CAAC,KAAK;IAErD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ,UAAU,4BAA4B,YAAY,EAAE;YACpE,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,4BAA4B;AAC5B,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,yEAAyE;AACzE,MAAM,UAAU,GAAG,8EAA8E,CAAC;AAElG,6EAA6E;AAC7E,MAAM,UAAU,WAAW;IACzB,OAAO,2CAA2C,CAAC;AACrD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW;IACzB,OAAO,qCAAqC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAkB,EAClB,YAAoB,EACpB,YAAqC,UAAU,CAAC,KAAK;IAErD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ,UAAU,4BAA4B,YAAY,EAAE;YACpE,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,UAAU;SACzB;QACD,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,YAAqC,UAAU,CAAC,KAAK;IAErD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE;QAC1C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,MAAM,EAAE,kBAAkB;YAC1B,YAAY,EAAE,UAAU;SACzB;QACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
@@ -4,23 +4,28 @@
4
4
  *
5
5
  * Full precedence (highest first), resolved in ../index.ts:
6
6
  * 1. `quota.opencodeGoWorkspaceId` / `opencodeGoAuthCookie` /
7
- * `opencodeGoSessionToken` in `~/.config/zcode-acp/config.json` (our own
8
- * config).
7
+ * `opencodeGoSessionToken` / `opencodeGoApiKey` in
8
+ * `~/.config/zcode-acp/config.json` (our own config).
9
9
  * 2. `OPENCODE_GO_WORKSPACE_ID` / `OPENCODE_GO_AUTH_COOKIE` /
10
- * `OPENCODE_GO_SESSION_TOKEN` env vars (best for CI / scripts /
11
- * temporary overrides).
10
+ * `OPENCODE_GO_SESSION_TOKEN` / `OPENCODE_GO_API_KEY` env vars (best for
11
+ * CI / scripts / temporary overrides).
12
12
  * 3. `~/.pi/agent/opencode-go.json` —
13
13
  * `{ workspaceId, authCookie, sessionToken }` (the convention used by
14
14
  * the @beyona/pi-zai-usage Pi extension, kept so users who already
15
- * configured it there get reuse for free).
15
+ * configured it there get reuse for free). No API-key field here — the
16
+ * key postdates that convention.
16
17
  *
17
- * All three fields must resolve to a valid triple — a missing/invalid one
18
- * yields `not_configured`.
18
+ * The cookie triple and the API key are two SOURCES for the same data: the
19
+ * triple drives the console status API (0.1-percent precision), the key the
20
+ * public usage API (integer percents, cookie-free). A missing/invalid
21
+ * credential on its own does not yield `not_configured` when the other
22
+ * source resolves — see ../index.ts.
19
23
  */
20
24
  /** Env var names — documented in the CLI help and README. */
21
25
  export declare const ENV_WORKSPACE_ID = "OPENCODE_GO_WORKSPACE_ID";
22
26
  export declare const ENV_AUTH_COOKIE = "OPENCODE_GO_AUTH_COOKIE";
23
27
  export declare const ENV_SESSION_TOKEN = "OPENCODE_GO_SESSION_TOKEN";
28
+ export declare const ENV_API_KEY = "OPENCODE_GO_API_KEY";
24
29
  /** Config file path (matches the @beyona/pi-zai-usage convention). */
25
30
  export declare const CONFIG_PATH: string;
26
31
  /** Shape of the JSON config file. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,sEAAsE;AACtE,eAAO,MAAM,WAAW,QAKvB,CAAC;AAEF,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAoB,GAAG,gBAAgB,CAuB/E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,4BAA4B,CAAC;AACzD,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAC7D,eAAO,MAAM,WAAW,wBAAwB,CAAC;AAEjD,sEAAsE;AACtE,eAAO,MAAM,WAAW,QAKvB,CAAC;AAEF,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAoB,GAAG,gBAAgB,CAuB/E"}
@@ -4,18 +4,22 @@
4
4
  *
5
5
  * Full precedence (highest first), resolved in ../index.ts:
6
6
  * 1. `quota.opencodeGoWorkspaceId` / `opencodeGoAuthCookie` /
7
- * `opencodeGoSessionToken` in `~/.config/zcode-acp/config.json` (our own
8
- * config).
7
+ * `opencodeGoSessionToken` / `opencodeGoApiKey` in
8
+ * `~/.config/zcode-acp/config.json` (our own config).
9
9
  * 2. `OPENCODE_GO_WORKSPACE_ID` / `OPENCODE_GO_AUTH_COOKIE` /
10
- * `OPENCODE_GO_SESSION_TOKEN` env vars (best for CI / scripts /
11
- * temporary overrides).
10
+ * `OPENCODE_GO_SESSION_TOKEN` / `OPENCODE_GO_API_KEY` env vars (best for
11
+ * CI / scripts / temporary overrides).
12
12
  * 3. `~/.pi/agent/opencode-go.json` —
13
13
  * `{ workspaceId, authCookie, sessionToken }` (the convention used by
14
14
  * the @beyona/pi-zai-usage Pi extension, kept so users who already
15
- * configured it there get reuse for free).
15
+ * configured it there get reuse for free). No API-key field here — the
16
+ * key postdates that convention.
16
17
  *
17
- * All three fields must resolve to a valid triple — a missing/invalid one
18
- * yields `not_configured`.
18
+ * The cookie triple and the API key are two SOURCES for the same data: the
19
+ * triple drives the console status API (0.1-percent precision), the key the
20
+ * public usage API (integer percents, cookie-free). A missing/invalid
21
+ * credential on its own does not yield `not_configured` when the other
22
+ * source resolves — see ../index.ts.
19
23
  */
20
24
  import { readFileSync } from "node:fs";
21
25
  import path from "node:path";
@@ -25,6 +29,7 @@ import { log } from "../../utils.js";
25
29
  export const ENV_WORKSPACE_ID = "OPENCODE_GO_WORKSPACE_ID";
26
30
  export const ENV_AUTH_COOKIE = "OPENCODE_GO_AUTH_COOKIE";
27
31
  export const ENV_SESSION_TOKEN = "OPENCODE_GO_SESSION_TOKEN";
32
+ export const ENV_API_KEY = "OPENCODE_GO_API_KEY";
28
33
  /** Config file path (matches the @beyona/pi-zai-usage convention). */
29
34
  export const CONFIG_PATH = path.join(process.env.HOME || process.env.USERPROFILE || "~", ".pi", "agent", "opencode-go.json");
30
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAE7D,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAClC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAClD,KAAK,EACL,OAAO,EACP,kBAAkB,CACnB,CAAC;AASF;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,WAAW;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,kDAAkD,QAAQ,GAAG,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,OAAO;YACL,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC9E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC3E,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,oCAAoC,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAEjD,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAClC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAClD,KAAK,EACL,OAAO,EACP,kBAAkB,CACnB,CAAC;AASF;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,WAAW;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,kDAAkD,QAAQ,GAAG,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,OAAO;YACL,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC9E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC3E,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SAClF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,oCAAoC,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -57,7 +57,7 @@ export function formatGoSection(result, windows, now = Date.now(), color = false
57
57
  const msg = result.kind === "not_configured"
58
58
  ? "not configured (set quota.opencodeGo* or OPENCODE_GO_* — see zcode-acp quota --help)"
59
59
  : result.kind === "auth_error"
60
- ? "auth expired — refresh your opencode.ai cookie + session token"
60
+ ? "auth expired — refresh your opencode.ai cookie + session token, or set quota.opencodeGoApiKey"
61
61
  : "unavailable";
62
62
  return { header, body: [msg] };
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/format.ts"],"names":[],"mappings":"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"}
@@ -6,25 +6,33 @@
6
6
  * check → parse → cache write. Any thrown error degrades to `unavailable`
7
7
  * rather than propagating, so the CLI always produces output.
8
8
  *
9
- * A missing/invalid credential triple yields `not_configured`, which the
10
- * combined view silently skips (vs. `unavailable`, which renders an error
11
- * line) — so users who only care about GLM see no noise.
9
+ * Two fetch sources (cookie console API preferred for its 0.1-percent
10
+ * precision; the API-key usage API as the cookie-free fallback — see
11
+ * queryGoUsage). A missing/invalid credential on every source yields
12
+ * `not_configured`, which the combined view silently skips (vs.
13
+ * `unavailable`, which renders an error line) — so users who only care about
14
+ * GLM see no noise.
12
15
  */
13
16
  import type { GoQueryResult } from "./types.js";
14
17
  /**
15
- * Query the Opencode Go console status API and return a normalised
16
- * {@link GoQueryResult}.
18
+ * Query Opencode Go usage and return a normalised {@link GoQueryResult}.
17
19
  *
18
- * - No credentials / invalid → `not_configured`.
20
+ * Source selection: the COOKIE triple is preferred (0.1-percent precision);
21
+ * when it is absent — or the console API rejects it (400/401/403: expired
22
+ * cookies) while an API key is configured — the public usage API serves the
23
+ * fallback (integer percents). This keeps long-lived cookie setups on the
24
+ * finer source while key-only setups, and cookie expiry, degrade seamlessly.
25
+ *
26
+ * - No usable credential → `not_configured`.
19
27
  * - Serves a cached result when fresh (< 10s).
20
- * - HTTP 400/401/403 → `auth_error` (bad/missing org id or cookie pair).
28
+ * - Auth rejected on BOTH paths → `auth_error`.
21
29
  * - Network/timeout/parse failure → `unavailable`.
22
30
  */
23
31
  export declare function queryGoUsage(): Promise<GoQueryResult>;
24
32
  export { clearCache, clearCache as clearGoCache } from "./cache.js";
25
- export { fetchGoStatus, goStatusUrl } from "./client.js";
26
- export { parseGoStatus, looksLikeGoStatus } from "./parse.js";
33
+ export { fetchGoStatus, fetchZenUsage, goStatusUrl, zenUsageUrl } from "./client.js";
34
+ export { parseGoStatus, parseZenUsage, looksLikeGoStatus, looksLikeZenUsage } from "./parse.js";
27
35
  export { formatDuration, formatGoSection } from "./format.js";
28
- export { readConfigFile, CONFIG_PATH, ENV_WORKSPACE_ID, ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, } from "./config.js";
36
+ export { readConfigFile, CONFIG_PATH, ENV_WORKSPACE_ID, ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, ENV_API_KEY, } from "./config.js";
29
37
  export type { GoQueryResult, GoWindow, GoWindowKey, GoStatusResponse } from "./types.js";
30
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAyDhD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAgD3D;AAGD,OAAO,EAAE,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2FhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CA4C3D;AAoBD,OAAO,EAAE,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -6,26 +6,31 @@
6
6
  * check → parse → cache write. Any thrown error degrades to `unavailable`
7
7
  * rather than propagating, so the CLI always produces output.
8
8
  *
9
- * A missing/invalid credential triple yields `not_configured`, which the
10
- * combined view silently skips (vs. `unavailable`, which renders an error
11
- * line) — so users who only care about GLM see no noise.
9
+ * Two fetch sources (cookie console API preferred for its 0.1-percent
10
+ * precision; the API-key usage API as the cookie-free fallback — see
11
+ * queryGoUsage). A missing/invalid credential on every source yields
12
+ * `not_configured`, which the combined view silently skips (vs.
13
+ * `unavailable`, which renders an error line) — so users who only care about
14
+ * GLM see no noise.
12
15
  */
13
16
  import { loadUserConfig } from "../../config/user-config.js";
14
17
  import { log } from "../../utils.js";
15
18
  import { getCached, setCached } from "./cache.js";
16
- import { ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, ENV_WORKSPACE_ID, readConfigFile } from "./config.js";
17
- import { fetchGoStatus } from "./client.js";
18
- import { parseGoStatus } from "./parse.js";
19
+ import { ENV_API_KEY, ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, ENV_WORKSPACE_ID, readConfigFile, } from "./config.js";
20
+ import { fetchGoStatus, fetchZenUsage } from "./client.js";
21
+ import { parseGoStatus, parseZenUsage } from "./parse.js";
19
22
  /** Format validators (match pi-go-bars conventions). */
20
23
  const RE_WORKSPACE = /^wrk_[A-Za-z0-9]+$/;
21
24
  const COOKIE_PREFIX = "Fe26.2**";
22
25
  /** Minimum plausible session-token length (console `st_…` values). */
23
26
  const MIN_SESSION_TOKEN = 8;
27
+ /** Minimum plausible API-key length (`oc_sk_…` service keys). */
28
+ const MIN_API_KEY = 16;
24
29
  /**
25
30
  * Resolve & validate credentials.
26
31
  *
27
- * Three sources, merged field-by-field with the standard user-config
28
- * precedence (highest first):
32
+ * The cookie triple merges three sources field-by-field with the standard
33
+ * user-config precedence (highest first):
29
34
  * 1. `quota.opencodeGoWorkspaceId` / `opencodeGoAuthCookie` /
30
35
  * `opencodeGoSessionToken` in `~/.config/zcode-acp/config.json` (our own
31
36
  * config — preferred home).
@@ -34,11 +39,11 @@ const MIN_SESSION_TOKEN = 8;
34
39
  * 3. `~/.pi/agent/opencode-go.json` (legacy — the @beyona/pi-zai-usage Pi
35
40
  * extension convention, kept so existing setups keep working).
36
41
  *
37
- * The session token is REQUIRED since the 2026-09 console migration: the
38
- * status API answers 401 to an `auth` cookie alone. A field present in a
39
- * higher-precedence source overrides the same field below it; a field present
40
- * only lower down still counts. Returns `null` when the resolved triple is
41
- * incomplete or malformed — `queryGoUsage` maps that to `not_configured`.
42
+ * The API key (`quota.opencodeGoApiKey` / `OPENCODE_GO_API_KEY`) has no legacy
43
+ * file source. The session token is REQUIRED since the 2026-09 console
44
+ * migration: the status API answers 401 to an `auth` cookie alone. A field
45
+ * present in a higher-precedence source overrides the same field below it; a
46
+ * field present only lower down still counts.
42
47
  */
43
48
  function loadCredentials() {
44
49
  const own = loadUserConfig().quota;
@@ -46,29 +51,57 @@ function loadCredentials() {
46
51
  const workspaceId = own?.opencodeGoWorkspaceId ?? process.env[ENV_WORKSPACE_ID] ?? file.workspaceId;
47
52
  const authCookie = own?.opencodeGoAuthCookie ?? process.env[ENV_AUTH_COOKIE] ?? file.authCookie;
48
53
  const sessionToken = own?.opencodeGoSessionToken ?? process.env[ENV_SESSION_TOKEN] ?? file.sessionToken;
49
- if (!workspaceId || !authCookie || !sessionToken)
50
- return null;
51
- if (!RE_WORKSPACE.test(workspaceId)) {
52
- log(`opencode-go: invalid workspaceId format (expected wrk_…)`);
53
- return null;
54
+ let consoleCreds = null;
55
+ if (workspaceId && authCookie && sessionToken) {
56
+ if (!RE_WORKSPACE.test(workspaceId)) {
57
+ log(`opencode-go: invalid workspaceId format (expected wrk_…)`);
58
+ }
59
+ else if (!authCookie.startsWith(COOKIE_PREFIX)) {
60
+ log(`opencode-go: authCookie does not start with ${COOKIE_PREFIX}`);
61
+ }
62
+ else if (sessionToken.trim().length < MIN_SESSION_TOKEN) {
63
+ log(`opencode-go: sessionToken looks malformed (__Host-console_session value, st_…)`);
64
+ }
65
+ else {
66
+ consoleCreds = { workspaceId, authCookie, sessionToken };
67
+ }
54
68
  }
55
- if (!authCookie.startsWith(COOKIE_PREFIX)) {
56
- log(`opencode-go: authCookie does not start with ${COOKIE_PREFIX}`);
57
- return null;
69
+ const rawKey = own?.opencodeGoApiKey ?? process.env[ENV_API_KEY] ?? "";
70
+ const apiKey = rawKey.trim().length >= MIN_API_KEY ? rawKey.trim() : null;
71
+ return { console: consoleCreds, apiKey };
72
+ }
73
+ /** Map a parsed payload to the success/unavailable distinction. */
74
+ function resultFromParsed(parsed) {
75
+ if (parsed.parserOutdated) {
76
+ log("opencode-go: status JSON recognised but no windows parsed (parser outdated)");
77
+ return { kind: "unavailable" };
58
78
  }
59
- if (sessionToken.trim().length < MIN_SESSION_TOKEN) {
60
- log(`opencode-go: sessionToken looks malformed (__Host-console_session value, st_…)`);
61
- return null;
79
+ if (!parsed.rolling && !parsed.weekly && !parsed.monthly) {
80
+ // Not a status payload at all (e.g. an HTML error page).
81
+ return { kind: "unavailable" };
62
82
  }
63
- return { workspaceId, authCookie, sessionToken };
83
+ return {
84
+ kind: "success",
85
+ // Rolling and weekly are the two windows the CLI shows by default; fall
86
+ // back to zeroes if somehow absent so the type stays simple.
87
+ rolling: parsed.rolling ?? { usagePercent: 0, resetInSec: 0 },
88
+ weekly: parsed.weekly ?? { usagePercent: 0, resetInSec: 0 },
89
+ monthly: parsed.monthly,
90
+ fetchedAt: Date.now(),
91
+ };
64
92
  }
65
93
  /**
66
- * Query the Opencode Go console status API and return a normalised
67
- * {@link GoQueryResult}.
94
+ * Query Opencode Go usage and return a normalised {@link GoQueryResult}.
68
95
  *
69
- * - No credentials / invalid → `not_configured`.
96
+ * Source selection: the COOKIE triple is preferred (0.1-percent precision);
97
+ * when it is absent — or the console API rejects it (400/401/403: expired
98
+ * cookies) while an API key is configured — the public usage API serves the
99
+ * fallback (integer percents). This keeps long-lived cookie setups on the
100
+ * finer source while key-only setups, and cookie expiry, degrade seamlessly.
101
+ *
102
+ * - No usable credential → `not_configured`.
70
103
  * - Serves a cached result when fresh (< 10s).
71
- * - HTTP 400/401/403 → `auth_error` (bad/missing org id or cookie pair).
104
+ * - Auth rejected on BOTH paths → `auth_error`.
72
105
  * - Network/timeout/parse failure → `unavailable`.
73
106
  */
74
107
  export async function queryGoUsage() {
@@ -78,54 +111,63 @@ export async function queryGoUsage() {
78
111
  return cached;
79
112
  }
80
113
  const creds = loadCredentials();
81
- if (!creds)
114
+ if (!creds.console && !creds.apiKey)
82
115
  return { kind: "not_configured" };
83
116
  let result;
84
- try {
85
- const resp = await fetchGoStatus(creds.workspaceId, creds.authCookie, creds.sessionToken);
86
- // 401/403 = bad cookie pair; 400 = missing/unknown org id (x-org-id).
87
- // The remedy is the same for all three — re-grab credentials — so they
88
- // share auth_error.
89
- if (resp.status === 400 || resp.status === 401 || resp.status === 403) {
90
- result = { kind: "auth_error" };
91
- }
92
- else if (resp.status < 200 || resp.status >= 300) {
93
- result = { kind: "unavailable" };
94
- }
95
- else {
96
- const parsed = parseGoStatus(resp.text);
97
- if (parsed.parserOutdated) {
98
- log("opencode-go: status JSON recognised but no windows parsed (parser outdated)");
99
- result = { kind: "unavailable" };
117
+ if (creds.console) {
118
+ try {
119
+ const resp = await fetchGoStatus(creds.console.workspaceId, creds.console.authCookie, creds.console.sessionToken);
120
+ // 401/403 = bad cookie pair; 400 = missing/unknown org id (x-org-id).
121
+ // The remedy is the same for all three — re-grab credentials — so they
122
+ // share auth_error… unless an API key is available, in which case the
123
+ // cookie-free endpoint takes over instead of failing the card.
124
+ if ((resp.status === 400 || resp.status === 401 || resp.status === 403) && creds.apiKey) {
125
+ log("opencode-go: console cookies rejected — falling back to the usage API key");
126
+ result = await queryViaApiKey(creds.apiKey);
127
+ }
128
+ else if (resp.status === 400 || resp.status === 401 || resp.status === 403) {
129
+ result = { kind: "auth_error" };
100
130
  }
101
- else if (!parsed.rolling && !parsed.weekly && !parsed.monthly) {
102
- // Not a status payload at all (e.g. an HTML error page).
131
+ else if (resp.status < 200 || resp.status >= 300) {
103
132
  result = { kind: "unavailable" };
104
133
  }
105
134
  else {
106
- result = {
107
- kind: "success",
108
- // Rolling and weekly are the two windows the CLI shows by default;
109
- // fall back to zeroes if somehow absent so the type stays simple.
110
- rolling: parsed.rolling ?? { usagePercent: 0, resetInSec: 0 },
111
- weekly: parsed.weekly ?? { usagePercent: 0, resetInSec: 0 },
112
- monthly: parsed.monthly,
113
- fetchedAt: Date.now(),
114
- };
135
+ result = resultFromParsed(parseGoStatus(resp.text));
115
136
  }
116
137
  }
138
+ catch (e) {
139
+ log(`opencode-go: fetch failed (${e instanceof Error ? e.message : String(e)})`);
140
+ result = { kind: "unavailable" };
141
+ }
117
142
  }
118
- catch (e) {
119
- log(`opencode-go: fetch failed (${e instanceof Error ? e.message : String(e)})`);
120
- result = { kind: "unavailable" };
143
+ else {
144
+ // Key-only setup — no cookie triple to try first.
145
+ result = await queryViaApiKey(creds.apiKey);
121
146
  }
122
147
  setCached(result);
123
148
  return result;
124
149
  }
150
+ /** Query the public usage API (`/zen/go/v1/usage`) with the service key. */
151
+ async function queryViaApiKey(apiKey) {
152
+ try {
153
+ const resp = await fetchZenUsage(apiKey);
154
+ if (resp.status === 401) {
155
+ return { kind: "auth_error" };
156
+ }
157
+ if (resp.status < 200 || resp.status >= 300) {
158
+ return { kind: "unavailable" };
159
+ }
160
+ return resultFromParsed(parseZenUsage(resp.text));
161
+ }
162
+ catch (e) {
163
+ log(`opencode-go: usage API fetch failed (${e instanceof Error ? e.message : String(e)})`);
164
+ return { kind: "unavailable" };
165
+ }
166
+ }
125
167
  // Re-exports for consumers (CLI + tests).
126
168
  export { clearCache, clearCache as clearGoCache } from "./cache.js";
127
- export { fetchGoStatus, goStatusUrl } from "./client.js";
128
- export { parseGoStatus, looksLikeGoStatus } from "./parse.js";
169
+ export { fetchGoStatus, fetchZenUsage, goStatusUrl, zenUsageUrl } from "./client.js";
170
+ export { parseGoStatus, parseZenUsage, looksLikeGoStatus, looksLikeZenUsage } from "./parse.js";
129
171
  export { formatDuration, formatGoSection } from "./format.js";
130
- export { readConfigFile, CONFIG_PATH, ENV_WORKSPACE_ID, ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, } from "./config.js";
172
+ export { readConfigFile, CONFIG_PATH, ENV_WORKSPACE_ID, ENV_AUTH_COOKIE, ENV_SESSION_TOKEN, ENV_API_KEY, } from "./config.js";
131
173
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/index.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,14 @@ export interface ParsedGoStatus {
27
27
  /** Detect the status payload shape (`access.meters`) — the parser-rot guard. */
28
28
  export declare function looksLikeGoStatus(parsed: unknown): boolean;
29
29
  export declare function parseGoStatus(text: string, now?: number): ParsedGoStatus;
30
+ /** Detect the public-usage payload shape (`usage.rolling`) — parser-rot guard. */
31
+ export declare function looksLikeZenUsage(parsed: unknown): boolean;
32
+ /**
33
+ * Parse the public usage payload
34
+ * (`{"usage":{"rolling|weekly|monthly":{"status","percent","resetsAt"}}}`).
35
+ * The percent is server-rounded (integer as of 2026-10 — finer granularity
36
+ * would pass through untouched); a missing/invalid percent drops the window
37
+ * rather than pinning a fake 0.
38
+ */
39
+ export declare function parseZenUsage(text: string, now?: number): ParsedGoStatus;
30
40
  //# sourceMappingURL=parse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAuBD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,cAAc,CAsBpF"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/quota/opencode-go/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAuBD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,cAAc,CAsBpF;AAgBD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,cAAc,CA0BpF"}
@@ -58,4 +58,45 @@ export function parseGoStatus(text, now = Date.now()) {
58
58
  parserOutdated: !rolling && !weekly && !monthly,
59
59
  };
60
60
  }
61
+ /** Detect the public-usage payload shape (`usage.rolling`) — parser-rot guard. */
62
+ export function looksLikeZenUsage(parsed) {
63
+ const usage = parsed?.usage;
64
+ return typeof usage === "object" && usage !== null;
65
+ }
66
+ /**
67
+ * Parse the public usage payload
68
+ * (`{"usage":{"rolling|weekly|monthly":{"status","percent","resetsAt"}}}`).
69
+ * The percent is server-rounded (integer as of 2026-10 — finer granularity
70
+ * would pass through untouched); a missing/invalid percent drops the window
71
+ * rather than pinning a fake 0.
72
+ */
73
+ export function parseZenUsage(text, now = Date.now()) {
74
+ let parsed;
75
+ try {
76
+ parsed = JSON.parse(text);
77
+ }
78
+ catch {
79
+ return { rolling: null, weekly: null, monthly: null, parserOutdated: false };
80
+ }
81
+ const usage = parsed?.usage;
82
+ if (!looksLikeZenUsage(parsed)) {
83
+ return { rolling: null, weekly: null, monthly: null, parserOutdated: false };
84
+ }
85
+ const fromZen = (w) => {
86
+ if (!w || typeof w.percent !== "number" || !Number.isFinite(w.percent))
87
+ return null;
88
+ const at = w.resetsAt ? Date.parse(w.resetsAt) : Number.NaN;
89
+ const resetInSec = Number.isFinite(at) ? Math.max(0, Math.round((at - now) / 1000)) : 0;
90
+ return { usagePercent: Math.min(100, Math.max(0, w.percent)), resetInSec };
91
+ };
92
+ const rolling = fromZen(usage?.rolling);
93
+ const weekly = fromZen(usage?.weekly);
94
+ const monthly = fromZen(usage?.monthly);
95
+ return {
96
+ rolling,
97
+ weekly,
98
+ monthly,
99
+ parserOutdated: !rolling && !weekly && !monthly,
100
+ };
101
+ }
61
102
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/quota/opencode-go/parse.ts"],"names":[],"mappings":"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"}
package/docs/CLI.md CHANGED
@@ -96,42 +96,45 @@ node dist/cli.js quota -w
96
96
 
97
97
  ## Opencode Go setup
98
98
 
99
- Opencode Go has no JSON API for subscription usage — the CLI scrapes the
100
- authenticated dashboard at `opencode.ai/workspace/<id>/go`, so it needs your
101
- browser `auth` cookie. Credentials are read from three sources, **merged
102
- field-by-field, highest precedence first**:
103
-
104
- - **Our config file** (`~/.config/zcode-acp/config.json`, `quota` section —
105
- the preferred home):
99
+ Two credential sources drive the Go usage card — **picked automatically,
100
+ cookies preferred** (they report usage in 0.1-percent steps; the API key
101
+ reports integer percents but never expires and needs no browser):
102
+
103
+ - **API key** (recommended, cookie-free): at
104
+ [opencode.ai/console](https://opencode.ai/console) → **Keys** → Add Service
105
+ Account → Add API Key (query permissions suffice), then either:
106
+ - config file (`~/.config/zcode-acp/config.json`, `quota` section):
107
+ ```json
108
+ { "quota": { "opencodeGoApiKey": "oc_sk_your_key" } }
109
+ ```
110
+ - or environment variable:
111
+ ```bash
112
+ export OPENCODE_GO_API_KEY="oc_sk_your_key"
113
+ ```
114
+ - **Console cookies** (higher precision, expires with the browser session):
115
+ `opencode.ai` console login → browser DevTools (F12) → Application →
116
+ Cookies → copy the `auth` cookie value and the `__Host-console_session`
117
+ value, plus the `wrk_…` workspace id from the console URL, into any of the
118
+ three merged sources (highest precedence first):
106
119
  ```json
107
120
  { "quota": {
108
121
  "opencodeGoWorkspaceId": "wrk_your_workspace_id",
109
- "opencodeGoAuthCookie": "Fe26.2**your_cookie_value"
110
- } }
122
+ "opencodeGoAuthCookie": "Fe26.2**your_cookie_value",
123
+ "opencodeGoSessionToken": "st_your_session_token" } }
111
124
  ```
112
- - **Environment variables** (override the legacy file below):
113
125
  ```bash
114
126
  export OPENCODE_GO_WORKSPACE_ID="wrk_your_workspace_id"
115
127
  export OPENCODE_GO_AUTH_COOKIE="Fe26.2**your_cookie_value"
128
+ export OPENCODE_GO_SESSION_TOKEN="st_your_session_token"
116
129
  ```
117
- - **Legacy config file**: `~/.pi/agent/opencode-go.json` — same convention as
118
- the `@beyona/pi-zai-usage` Pi extension, kept so existing setups keep
119
- working unchanged.
120
- ```json
121
- { "workspaceId": "wrk_your_workspace_id", "authCookie": "Fe26.2**your_cookie_value" }
122
- ```
123
-
124
- How to get the values:
125
-
126
- 1. **Workspace ID** — open `https://opencode.ai`, navigate to your Go
127
- workspace, and copy the `wrk_…` id from the URL
128
- (`https://opencode.ai/workspace/<wrk_…>/go`).
129
- 2. **Auth cookie** — open browser DevTools (F12) → Application → Cookies →
130
- `opencode.ai` → copy the value of the cookie named `auth` (it starts with
131
- `Fe26.2**`).
132
-
133
- Without credentials, the default multi-provider mode silently shows GLM only
134
- (no error). Running `zcode-acp quota go` without credentials prints a setup hint.
130
+ The legacy `~/.pi/agent/opencode-go.json` file
131
+ (`{ workspaceId, authCookie, sessionToken }`, the `@beyona/pi-zai-usage`
132
+ convention) still works as the lowest-precedence source.
133
+
134
+ When both are configured and the cookies expire (the console API answers
135
+ 400/401/403), the card seamlessly falls back to the API key. Without any
136
+ credentials, the default multi-provider mode silently shows GLM only (no
137
+ error); `zcode-acp quota go` without credentials prints a setup hint.
135
138
 
136
139
  ## Ollama Cloud setup
137
140
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zcode-acp-server",
3
- "version": "0.73.0",
3
+ "version": "0.74.0",
4
4
  "description": "Agent Client Protocol (ACP) server bridging headless ZCode to editors like Zed and JetBrains.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",