{"record":{"id":"363e20f988acf404","repo":"paperclipai/paperclip","slug":"provider-pack-tree-contains-unsupported-entry-re","errorCode":null,"errorMessage":"Provider pack tree contains unsupported entry ${relativePath}","messagePattern":"Provider pack tree contains unsupported entry (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/paperclip-runner/scripts/build-provider-pack.mjs","lineNumber":76,"sourceCode":"  const hash = createHash(\"sha256\");\n  const visit = (directory, prefix = \"\") => {\n    const entries = readdirSync(directory, { withFileTypes: true }).sort(\n      (left, right) => left.name.localeCompare(right.name),\n    );\n    for (const entry of entries) {\n      const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;\n      const absolutePath = join(directory, entry.name);\n      if (entry.isDirectory()) {\n        hash.update(`directory\\0${relativePath}\\n`);\n        visit(absolutePath, relativePath);\n      } else if (entry.isFile()) {\n        hash.update(`file\\0${relativePath}\\0${sha256File(absolutePath)}\\n`);\n      } else if (entry.isSymbolicLink()) {\n        hash.update(\n          `symlink\\0${relativePath}\\0${readlinkSync(absolutePath)}\\n`,\n        );\n      } else {\n        throw new Error(\n          `Provider pack tree contains unsupported entry ${relativePath}`,\n        );\n      }\n    }\n  };\n  visit(root);\n  return `sha256:${hash.digest(\"hex\")}`;\n}\n\nfunction writePortableNodeShim(name, entrypoint) {\n  const shimPath = join(temporaryRoot, \"node_modules\", \".bin\", name);\n  writeFileSync(\n    shimPath,\n    [\n      \"#!/bin/sh\",\n      \"set -eu\",\n      'basedir=$(CDPATH= cd -- \"$(dirname -- \"$0\")\" && pwd)',\n      `exec \"$basedir/../node/bin/node\" \"$basedir/../${entrypoint}\" \"$@\"`,","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/packages/paperclip-runner/scripts/build-provider-pack.mjs#L58-L94","documentation":"Guard inside the hashing `visit` walk in build-provider-pack.mjs: while walking the built provider-pack tree to hash it, an entry was found that is neither a regular file nor a directory (e.g. a symlink, socket, or fifo at relativePath). The manifest hash only covers deterministic file/directory trees, so such entries abort the build.","triggerScenarios":"Thrown at packages/paperclip-runner/scripts/build-provider-pack.mjs:76 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Find and remove the non-regular entry (often a symlink) at the reported relative path in the pack output","Fix the build step that produced the entry so it emits a regular file or directory","Re-run the pack build after cleaning the output tree"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-09-10T03:14:50.855Z","contentChangedAt":"2026-09-10T03:14:50.855Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}