{"record":{"id":"9bd6f326c621cb5d","repo":"paperclipai/paperclip","slug":"bundled-local-plugin-packagename-is-still-missi","errorCode":null,"errorMessage":"Bundled local plugin ${packageName} is still missing ${missingDetails.join(\"; \")} after auto-build. Run `${manualBuildCommand}` from the repo root and retry.","messagePattern":"Bundled local plugin (.+?) is still missing (.+?) after auto-build\\. Run `(.+?)` from the repo root and retry\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/services/plugin-loader.ts","lineNumber":932,"sourceCode":"    throw new Error(\n      `Failed to auto-build bundled local plugin ${packageName}${timeoutMessage}. ` +\n        `Run \\`${manualBuildCommand}\\` from the repo root and retry.${stderrMessage}`,\n    );\n  }\n\n  const stillMissingEntrypoints = listMissingDeclaredPluginEntrypoints(packageRoot, pkgJson);\n  const stillMissingStandaloneRuntimeDeps = isStandaloneBundledPluginPath(packageRoot, { repoRoot: options.repoRoot })\n    ? listMissingStandaloneBundledPluginRuntimeDependencies(packageRoot, pkgJson)\n    : [];\n  if (stillMissingEntrypoints.length > 0 || stillMissingStandaloneRuntimeDeps.length > 0) {\n    const missingDetails: string[] = [];\n    if (stillMissingEntrypoints.length > 0) {\n      missingDetails.push(`built entrypoints: ${stillMissingEntrypoints.map((entrypoint) => entrypoint.key).join(\", \")}`);\n    }\n    if (stillMissingStandaloneRuntimeDeps.length > 0) {\n      missingDetails.push(`runtime dependencies: ${stillMissingStandaloneRuntimeDeps.join(\", \")}`);\n    }\n    throw new Error(\n      `Bundled local plugin ${packageName} is still missing ${missingDetails.join(\"; \")} after auto-build. ` +\n        `Run \\`${manualBuildCommand}\\` from the repo root and retry.`,\n    );\n  }\n}\n\n/**\n * Resolve the manifest entrypoint from a package.json and package root.\n *\n * The spec defines a \"paperclipPlugin\" key in package.json with a \"manifest\"\n * subkey pointing to the manifest module.  This helper resolves the path.\n *\n * @see PLUGIN_SPEC.md §10 — Package Contract\n */\nfunction resolveManifestPath(\n  packageRoot: string,\n  pkgJson: Record<string, unknown>,\n): string | null {","sourceCodeStart":914,"sourceCodeEnd":950,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/services/plugin-loader.ts#L914-L950","documentation":"Post-build verification in ensureLocalPluginBuilt: after auto-build, declared entrypoints and/or standalone runtime dependencies are still missing from the package. Auto-build cannot fix this — the developer must run the named manual build command; the incomplete plugin build output is at fault.","triggerScenarios":"Thrown at server/src/services/plugin-loader.ts:932 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The auto-build completed but dist artifacts are still missing. Run the printed manual build command from the repo root and verify the listed missing files are produced."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}