Summary
Every google provider model is unusable in @code-yeongyu/senpi@2026.8.19.
The bundled @earendil-works/pi-ai (npm:@code-yeongyu/senpi-ai@2026.8.19) declares @google/genai@2.13.0 as a hard dependencies entry, but @google/genai is not in senpi's bundledDependencies (240 entries) and not in senpi's own dependencies. It is therefore absent from the published tarball, and because it is declared only inside a bundled package's manifest, npm never fetches it — a clean reinstall reproduces the identical broken tree.
15 of pi-ai's 16 dependencies are bundled correctly. @google/genai is the single omission.
Reproduce
npm i -g omo-ai@beta # omo-ai@5.0.0-0.beta.12 -> pins @code-yeongyu/senpi@2026.8.19
omo -p --model google/gemini-3.6-flash --no-tools "Reply with exactly: PONG"
Actual:
Cannot find package '@google/genai' imported from
.../@code-yeongyu/senpi/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js
Expected: the model responds.
This is not an auth problem — omo auth check --provider google already returns {"status":"ready"} with an API-key credential in auth.json, and no request ever reaches Google.
Evidence (published tarball, not a local tree)
npm pack @code-yeongyu/senpi@2026.8.19
tar -tzf code-yeongyu-senpi-2026.8.19.tgz | grep -c 'node_modules/@google/genai/'
# -> 0
tar -tzf code-yeongyu-senpi-2026.8.19.tgz \
| grep -oE 'package/node_modules/(@[^/]+/)?[^/]+/package.json' | wc -l
# -> 240
package.json of the published @code-yeongyu/senpi@2026.8.19:
| check |
result |
bundledDependencies.length |
240 |
bundledDependencies.includes("@google/genai") |
false |
dependencies["@google/genai"] |
absent |
dependencies["@earendil-works/pi-ai"] |
npm:@code-yeongyu/senpi-ai@2026.8.19 |
The bundled consumer does declare it:
npm view @code-yeongyu/senpi-ai@2026.8.19 dependencies --json
# "@google/genai": "2.13.0"
Cross-checking pi-ai's 16 dependencies against senpi's bundledDependencies:
- In the bundle (15):
@anthropic-ai/sdk, @aws-sdk/client-bedrock-runtime, @bufbuild/protobuf, @earendil-works/pi-telemetry, @mistralai/mistralai, @smithy/node-http-handler, @smithy/types, chalk, http-proxy-agent, https-proxy-agent, openai, partial-json, proxy-from-env, typebox, yaml
- Not in the bundle (1):
@google/genai
All 240 bundled entries are present on disk after install (0 missing), so the bundle is otherwise intact.
Why reinstalling does not help
npm uninstall -g omo-ai && npm i -g omo-ai@beta
produces the same tree. Since @google/genai appears in no manifest npm reads during resolution, there is nothing for npm to install.
Workaround
Drop it into senpi's bundled node_modules out of band, nesting its dependency closure so the existing bundle is left untouched:
SENPI="$(npm root -g)/omo-ai/node_modules/@code-yeongyu/senpi/node_modules"
mkdir -p /tmp/genai && cd /tmp/genai && npm init -y >/dev/null && npm i @google/genai@2.13.0
mkdir -p "$SENPI/@google"
cp -r node_modules/@google/genai "$SENPI/@google/genai"
mkdir -p "$SENPI/@google/genai/node_modules"
for d in $(ls -A node_modules | grep -v '^@google$'); do
cp -r "node_modules/$d" "$SENPI/@google/genai/node_modules/$d"
done
After this, google/gemini-3.6-flash responds normally. The patch is lost on the next update.
Suggested fix
Include @google/genai in the bundling input so it lands in bundledDependencies. Since the other 15 pi-ai dependencies are bundled, this looks like a single miss rather than a systematic gap — but it may be worth asserting in CI that every dependency of each bundled workspace package is itself bundled, so a missing entry fails the release instead of shipping a dead provider.
Notes
Unrelated to the fix, but observed while diagnosing: the catalog still advertises google/gemini-2.5-flash, and Google now rejects it for new users with 404 NOT_FOUND — "This model models/gemini-2.5-flash is no longer available to new users. Please update your code to use models/gemini-3.6-flash".
Environment
omo-ai@5.0.0-0.beta.12 (beta tag), engine @code-yeongyu/senpi@2026.8.19
@earendil-works/pi-ai = @code-yeongyu/senpi-ai@2026.8.19
- Node
v24.19.0, npm 11.17.0
- Linux x64 (Ubuntu, glibc)
Summary
Every
googleprovider model is unusable in@code-yeongyu/senpi@2026.8.19.The bundled
@earendil-works/pi-ai(npm:@code-yeongyu/senpi-ai@2026.8.19) declares@google/genai@2.13.0as a harddependenciesentry, but@google/genaiis not in senpi'sbundledDependencies(240 entries) and not in senpi's owndependencies. It is therefore absent from the published tarball, and because it is declared only inside a bundled package's manifest, npm never fetches it — a clean reinstall reproduces the identical broken tree.15 of pi-ai's 16 dependencies are bundled correctly.
@google/genaiis the single omission.Reproduce
Actual:
Expected: the model responds.
This is not an auth problem —
omo auth check --provider googlealready returns{"status":"ready"}with an API-key credential inauth.json, and no request ever reaches Google.Evidence (published tarball, not a local tree)
package.jsonof the published@code-yeongyu/senpi@2026.8.19:bundledDependencies.length240bundledDependencies.includes("@google/genai")falsedependencies["@google/genai"]dependencies["@earendil-works/pi-ai"]npm:@code-yeongyu/senpi-ai@2026.8.19The bundled consumer does declare it:
npm view @code-yeongyu/senpi-ai@2026.8.19 dependencies --json # "@google/genai": "2.13.0"Cross-checking pi-ai's 16 dependencies against senpi's
bundledDependencies:@anthropic-ai/sdk,@aws-sdk/client-bedrock-runtime,@bufbuild/protobuf,@earendil-works/pi-telemetry,@mistralai/mistralai,@smithy/node-http-handler,@smithy/types,chalk,http-proxy-agent,https-proxy-agent,openai,partial-json,proxy-from-env,typebox,yaml@google/genaiAll 240 bundled entries are present on disk after install (0 missing), so the bundle is otherwise intact.
Why reinstalling does not help
npm uninstall -g omo-ai && npm i -g omo-ai@betaproduces the same tree. Since
@google/genaiappears in no manifest npm reads during resolution, there is nothing for npm to install.Workaround
Drop it into senpi's bundled
node_modulesout of band, nesting its dependency closure so the existing bundle is left untouched:After this,
google/gemini-3.6-flashresponds normally. The patch is lost on the next update.Suggested fix
Include
@google/genaiin the bundling input so it lands inbundledDependencies. Since the other 15 pi-ai dependencies are bundled, this looks like a single miss rather than a systematic gap — but it may be worth asserting in CI that every dependency of each bundled workspace package is itself bundled, so a missing entry fails the release instead of shipping a dead provider.Notes
Unrelated to the fix, but observed while diagnosing: the catalog still advertises
google/gemini-2.5-flash, and Google now rejects it for new users with404 NOT_FOUND — "This model models/gemini-2.5-flash is no longer available to new users. Please update your code to use models/gemini-3.6-flash".Environment
omo-ai@5.0.0-0.beta.12(beta tag), engine@code-yeongyu/senpi@2026.8.19@earendil-works/pi-ai=@code-yeongyu/senpi-ai@2026.8.19v24.19.0, npm11.17.0