Skip to content

feat: add node9 setup, doctor, explain, smart SQL check, and negotiat… #96

feat: add node9 setup, doctor, explain, smart SQL check, and negotiat…

feat: add node9 setup, doctor, explain, smart SQL check, and negotiat… #96

Triggered via push March 13, 2026 22:27
Status Failure
Total duration 22s
Artifacts

ci.yml

on: push
Matrix: test
Build
Build
Fit to window
Zoom out
Zoom in

Annotations

21 errors and 2 warnings
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > passes Gemini hook check when BeforeTool hook contains node9: src/__tests__/doctor.test.ts#L138
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /Gemini CLI.*BeforeTool hook active/ - Expected: /Gemini CLI.*BeforeTool hook active/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:138:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > warns (not fails) when Claude settings.json is absent: src/__tests__/doctor.test.ts#L125
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /Claude Code.*not configured/ - Expected: /Claude Code.*not configured/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:125:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > fails Claude hook check when settings.json has no node9 hook: src/__tests__/doctor.test.ts#L117
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /Claude Code.*hook missing/ - Expected: /Claude Code.*hook missing/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:117:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > passes Claude hook check when PreToolUse hook contains node9: src/__tests__/doctor.test.ts#L108
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /Claude Code.*PreToolUse hook active/ - Expected: /Claude Code.*PreToolUse hook active/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:108:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > warns (not fails) when credentials are missing: src/__tests__/doctor.test.ts#L92
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /local-only mode/i - Expected: /local-only mode/i + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:92:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > reports cloud credentials when present: src/__tests__/doctor.test.ts#L85
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /credentials found/i - Expected: /credentials found/i + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:85:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > fails when global config is invalid JSON: src/__tests__/doctor.test.ts#L75
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /invalid JSON/ - Expected: /invalid JSON/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:75:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > passes when valid global config exists: src/__tests__/doctor.test.ts#L66
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /config\.json found and valid/ - Expected: /config\.json found and valid/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:66:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > warns (not fails) when global config is missing: src/__tests__/doctor.test.ts#L58
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /config\.json not found/ - Expected: /config\.json not found/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:58:20
src/__tests__/doctor.test.ts > node9 doctor — binary section > always passes Node.js and git checks (they exist in CI): src/__tests__/doctor.test.ts#L47
AssertionError: expected 'node:internal/modules/cjs/loader:1210…' to match /git version/ - Expected: /git version/ + Received: "node:internal/modules/cjs/loader:1210 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1207:15) at Module._load (node:internal/modules/cjs/loader:1038:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v20.20.1 " ❯ src/__tests__/doctor.test.ts:47:20
Test (Node 22)
The strategy configuration was canceled because "test._20" failed
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > passes Gemini hook check when BeforeTool hook contains node9: src/__tests__/doctor.test.ts#L138
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /Gemini CLI.*BeforeTool hook active/ - Expected: /Gemini CLI.*BeforeTool hook active/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:138:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > warns (not fails) when Claude settings.json is absent: src/__tests__/doctor.test.ts#L125
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /Claude Code.*not configured/ - Expected: /Claude Code.*not configured/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:125:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > fails Claude hook check when settings.json has no node9 hook: src/__tests__/doctor.test.ts#L117
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /Claude Code.*hook missing/ - Expected: /Claude Code.*hook missing/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:117:20
src/__tests__/doctor.test.ts > node9 doctor — agent hooks section > passes Claude hook check when PreToolUse hook contains node9: src/__tests__/doctor.test.ts#L108
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /Claude Code.*PreToolUse hook active/ - Expected: /Claude Code.*PreToolUse hook active/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:108:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > warns (not fails) when credentials are missing: src/__tests__/doctor.test.ts#L92
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /local-only mode/i - Expected: /local-only mode/i + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:92:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > reports cloud credentials when present: src/__tests__/doctor.test.ts#L85
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /credentials found/i - Expected: /credentials found/i + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:85:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > fails when global config is invalid JSON: src/__tests__/doctor.test.ts#L75
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /invalid JSON/ - Expected: /invalid JSON/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:75:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > passes when valid global config exists: src/__tests__/doctor.test.ts#L66
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /config\.json found and valid/ - Expected: /config\.json found and valid/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:66:20
src/__tests__/doctor.test.ts > node9 doctor — configuration section > warns (not fails) when global config is missing: src/__tests__/doctor.test.ts#L58
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /config\.json not found/ - Expected: /config\.json not found/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:58:20
src/__tests__/doctor.test.ts > node9 doctor — binary section > always passes Node.js and git checks (they exist in CI): src/__tests__/doctor.test.ts#L47
AssertionError: expected 'node:internal/modules/cjs/loader:1386…' to match /git version/ - Expected: /git version/ + Received: "node:internal/modules/cjs/loader:1386 throw err; ^ Error: Cannot find module '/home/runner/work/node9-proxy/node9-proxy/dist/cli.js' at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Function._load (node:internal/modules/cjs/loader:1192:37) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:237:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v22.22.1 " ❯ src/__tests__/doctor.test.ts:47:20
Test (Node 20)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Test (Node 22)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/