oc2token 0.1.18 → 0.1.19

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.
@@ -64,7 +64,7 @@ export interface OpenCodeConnection {
64
64
  export declare function fingerprintForHealth(endpointUrl: string | undefined, version: string, pid: unknown): string;
65
65
  export declare function parseOpenCodeHealth(value: unknown, endpoint: Endpoint): OpenCodeHealth;
66
66
  /**
67
- * Resolve the V2 executable to an absolute path.
67
+ * Locate the V2 executable, or `undefined` when nothing is on disk.
68
68
  *
69
69
  * `opencode2` is only a PATH shim in some installs (the official macOS
70
70
  * installer drops it in `~/.opencode/bin`, Homebrew in `/opt/homebrew/bin`),
@@ -72,6 +72,13 @@ export declare function parseOpenCodeHealth(value: unknown, endpoint: Endpoint):
72
72
  * has neither. Spawning the bare name then fails with ENOENT and no service
73
73
  * ever starts, so probe PATH ourselves and then the well-known install dirs.
74
74
  */
75
+ export declare function resolveServeExecutable(): string[] | undefined;
76
+ /**
77
+ * Resolve the V2 executable to an absolute path.
78
+ *
79
+ * Falls back to the bare name so callers still get a usable command when the
80
+ * executable genuinely is absent; `doctor` reports that case explicitly.
81
+ */
75
82
  export declare function resolveServeCommand(): string[];
76
83
  /** Discover a running service, optionally ensuring the V2 service exists. */
77
84
  export declare function connectOpenCode(options?: ConnectionOptions): Promise<OpenCodeConnection>;
@@ -92,8 +92,13 @@ function mergeDiscoveryOptions(options) {
92
92
  ...(options.version === undefined ? {} : { version: options.version }),
93
93
  };
94
94
  }
95
+ /** Underlying spawn failure, e.g. `spawn opencode2 ENOENT`. */
96
+ function publicReason(error) {
97
+ const message = error instanceof Error ? error.message : String(error);
98
+ return message === "" ? "spawn failed" : message;
99
+ }
95
100
  /**
96
- * Resolve the V2 executable to an absolute path.
101
+ * Locate the V2 executable, or `undefined` when nothing is on disk.
97
102
  *
98
103
  * `opencode2` is only a PATH shim in some installs (the official macOS
99
104
  * installer drops it in `~/.opencode/bin`, Homebrew in `/opt/homebrew/bin`),
@@ -101,7 +106,7 @@ function mergeDiscoveryOptions(options) {
101
106
  * has neither. Spawning the bare name then fails with ENOENT and no service
102
107
  * ever starts, so probe PATH ourselves and then the well-known install dirs.
103
108
  */
104
- export function resolveServeCommand() {
109
+ export function resolveServeExecutable() {
105
110
  const home = process.env.HOME;
106
111
  const dirs = [...(process.env.PATH ?? "").split(":")];
107
112
  if (home !== undefined && home !== "")
@@ -111,11 +116,21 @@ export function resolveServeCommand() {
111
116
  if (dir !== "") {
112
117
  const candidate = join(dir, name);
113
118
  if (existsSync(candidate))
114
- return [candidate, "serve", "--service"];
119
+ return [candidate];
115
120
  }
116
121
  }
117
122
  }
118
- return ["opencode2", "serve", "--service"];
123
+ return undefined;
124
+ }
125
+ /**
126
+ * Resolve the V2 executable to an absolute path.
127
+ *
128
+ * Falls back to the bare name so callers still get a usable command when the
129
+ * executable genuinely is absent; `doctor` reports that case explicitly.
130
+ */
131
+ export function resolveServeCommand() {
132
+ const executable = resolveServeExecutable();
133
+ return executable === undefined ? ["opencode2", "serve", "--service"] : [...executable, "serve", "--service"];
119
134
  }
120
135
  function mergeEnsureOptions(options) {
121
136
  return {
@@ -153,7 +168,19 @@ export async function connectOpenCode(options = {}) {
153
168
  if (options.ensure === false) {
154
169
  throw new DomainError("transport", "No healthy OpenCode 2 service was discovered");
155
170
  }
156
- endpoint = await service.ensure(mergeEnsureOptions(options));
171
+ const ensureOptions = mergeEnsureOptions(options);
172
+ try {
173
+ endpoint = await service.ensure(ensureOptions);
174
+ }
175
+ catch (error) {
176
+ // Spawning the bare executable name fails with ENOENT whenever OC2Token
177
+ // is launched without the install dir on PATH. Naming the executable we
178
+ // tried turns "no service discovered" into an actionable message.
179
+ if (error?.code === "ENOENT") {
180
+ throw new DomainError("transport", `Could not start OpenCode 2: ${ensureOptions.command?.[0]} not found (${publicReason(error)})`);
181
+ }
182
+ throw error;
183
+ }
157
184
  throwIfAborted(signal);
158
185
  // A freshly ensured 2.0.6 service still has no `/api/health`, so the
159
186
  // endpoint returned by ensure is used directly without re-probing.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/opencode/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/opencode/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type OpenCodeTransport, type UsageWindow } from "../domain/index.js";
2
2
  import { type ConnectionOptions, type OpenCodeConnection } from "./client.js";
3
- export type DoctorCheckName = "service" | "health" | "stats-range" | "opencode" | "codex" | "antigravity";
3
+ export type DoctorCheckName = "executable" | "service" | "health" | "stats-range" | "opencode" | "codex" | "antigravity";
4
4
  export interface DoctorCheck {
5
5
  readonly name: DoctorCheckName;
6
6
  readonly ok: boolean;
@@ -1,5 +1,5 @@
1
1
  import { DomainError, } from "../domain/index.js";
2
- import { connectOpenCode, } from "./client.js";
2
+ import { connectOpenCode, resolveServeExecutable, } from "./client.js";
3
3
  import { isStatsRangeMismatch, OpenCode2Transport } from "./transport.js";
4
4
  function publicError(error) {
5
5
  if (error instanceof DomainError)
@@ -16,6 +16,19 @@ export async function runOpenCodeDoctor(options = {}) {
16
16
  const checks = [];
17
17
  let connection = options.connection;
18
18
  let transport = options.transport;
19
+ // Reported before discovery: "the executable does not exist" and "no
20
+ // service is running" look identical downstream, but only the first means
21
+ // OC2Token can never start a service on its own.
22
+ if (options.ensureOptions?.command === undefined) {
23
+ const executable = resolveServeExecutable();
24
+ checks.push(executable === undefined
25
+ ? {
26
+ name: "executable",
27
+ ok: false,
28
+ message: "opencode2 executable not found on PATH or in ~/.opencode/bin; reinstall OpenCode 2 or pass ensureOptions.command",
29
+ }
30
+ : { name: "executable", ok: true, message: executable[0] });
31
+ }
19
32
  if (connection === undefined && transport === undefined) {
20
33
  try {
21
34
  connection = await connectOpenCode({ ...options, ensure: options.ensure ?? false });
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/opencode/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/opencode/doctor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc2token",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "A macOS-first OpenCode 2 token usage dashboard CLI",
5
5
  "type": "module",
6
6
  "bin": {