{"record":{"id":"9c470bba55e78d3d","repo":"can1357/oh-my-pi","slug":"transformers-package-is-missing-from-package-js","errorCode":null,"errorMessage":"${TRANSFORMERS_PACKAGE} is missing from package.json optionalDependencies","messagePattern":"(.+?) is missing from package\\.json optionalDependencies","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/coding-agent/src/subprocess/worker-runtime.ts","lineNumber":276,"sourceCode":" * absolute entrypoint of `packageName` to `require`.\n */\nasync function prepareCompiledRuntime(runtimeDir: string, packageName: string): Promise<string> {\n\tconst nodeModules = await installSharpStubResolver(runtimeDir);\n\tconst entry = resolveRuntimeModule(nodeModules, packageName);\n\tif (!entry) throw new Error(`Unable to resolve ${packageName} in compiled runtime at ${nodeModules}`);\n\treturn entry;\n}\n\n// ── Transformers version resolution ─────────────────────────────────\n\nfunction resolveTransformersVersionSpec(): string {\n\tconst manifest = packageJson as {\n\t\toptionalDependencies?: Record<string, string>;\n\t\tdependencies?: Record<string, string>;\n\t};\n\tconst versionSpec =\n\t\tmanifest.optionalDependencies?.[TRANSFORMERS_PACKAGE] ?? manifest.dependencies?.[TRANSFORMERS_PACKAGE];\n\tif (!versionSpec) throw new Error(`${TRANSFORMERS_PACKAGE} is missing from package.json optionalDependencies`);\n\tif (!versionSpec.startsWith(\"catalog:\")) return versionSpec;\n\tif (COMPILED_TRANSFORMERS_VERSION) return COMPILED_TRANSFORMERS_VERSION;\n\tconst installed = sourceRequire(`${TRANSFORMERS_PACKAGE}/package.json`) as { version: string };\n\treturn installed.version;\n}\n\nlet cachedTransformersVersionSpec: string | undefined;\n\n/**\n * Lazily resolve (and memoize) the transformers version spec. In the `catalog:`\n * case {@link resolveTransformersVersionSpec} `require`s the installed\n * `@huggingface/transformers/package.json`, so it is only ever touched on the\n * compiled-binary runtime-install path — loading a worker (smoke-test ping,\n * online path) never triggers the transformers resolve/install dance.\n */\nexport function getTransformersVersionSpec(): string {\n\tcachedTransformersVersionSpec ??= resolveTransformersVersionSpec();\n\treturn cachedTransformersVersionSpec;","sourceCodeStart":258,"sourceCodeEnd":294,"githubUrl":"https://github.com/can1357/oh-my-pi/blob/969062200754ea02cfac922e5ebb8c608c079e15/packages/coding-agent/src/subprocess/worker-runtime.ts#L258-L294","documentation":"resolveTransformersVersionSpec reads the coding-agent package.json to find @huggingface/transformers in optionalDependencies (falling back to dependencies). If the package is declared in neither map, the version spec cannot be determined for the side runtime install, so it throws. This is essentially an internal packaging-consistency assertion.","triggerScenarios":"getTransformersVersionSpec -> resolveTransformersVersionSpec when manifest.optionalDependencies['@huggingface/transformers'] and manifest.dependencies[...] are both undefined — i.e. a modified/patched package.json or a fork that removed the optional dependency.","commonSituations":"Downstream forks or automated dependency pruning tools removing the 'optional' transformers dependency, a bad merge dropping the entry, or tooling rewriting package.json without preserving optionalDependencies.","solutions":["Restore @huggingface/transformers to optionalDependencies (or dependencies) in the package.json of the running coding-agent build.","If running a fork/patched build, re-apply the upstream package.json entry for the transformers package.","Reinstall the package from a pristine release so its shipped package.json is intact."],"exampleFix":"// before (package.json)\n\"optionalDependencies\": {}\n// after\n\"optionalDependencies\": { \"@huggingface/transformers\": \"catalog:\" }","handlingStrategy":"validation","validationCode":"const manifest = JSON.parse(await Bun.file(new URL(\"../package.json\", import.meta.url)).text());\nconst spec = manifest.optionalDependencies?.[\"@huggingface/transformers\"] ?? manifest.dependencies?.[\"@huggingface/transformers\"];\nif (!spec) throw new Error(\"transformers dependency missing; restore optionalDependencies entry before launching\");","typeGuard":null,"tryCatchPattern":"try {\n  return resolveTransformersVersionSpec();\n} catch (err) {\n  if (String(err.message).includes(\"missing from package.json\")) {\n    logger.error(\"Packaging broken: transformers dep was removed from package.json\", {});\n  }\n  throw err;\n}","preventionTips":["Do not let dependency-pruning tools remove optionalDependencies entries used at runtime.","Add a CI check that package.json retains @huggingface/transformers.","Avoid hand-editing package.json in forks without re-running the full test suite."],"tags":["packaging","package-json","config","transformers"],"backgroundTag":"missing-package-json-dependency","analyzedSha":"969062200754ea02cfac922e5ebb8c608c079e15","analyzedAt":"2026-08-31T10:29:35.737Z","schemaVersion":2},"datasetVersion":"2026-08-31T14:17:45.589Z"}