openclaw - 💡(How to fix) Fix [Bug]: [MISSING_EXPORT] Error: "isPrivateIpAddress" is not exported by "src/plugin-sdk/ssrf-runtime.ts". [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#75971Fetched 2026-05-03 04:43:41
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
2
Author
Timeline (top)
labeled ×2closed ×1commented ×1

pnpm build didn't complete and stopped. See the log for the full output.

Error Message

pnpm build

[email protected] build /home/g/Documents/contrib/openclaw node scripts/build-all.mjs

[build-all] canvas:a2ui:bundle

[email protected] canvas:a2ui:bundle /home/g/Documents/contrib/openclaw node scripts/bundle-a2ui.mjs

A2UI bundle up to date; skipping. [build-all] tsdown

ERROR Error: Build failed with 1 error:

[MISSING_EXPORT] Error: "isPrivateIpAddress" is not exported by "src/plugin-sdk/ssrf-runtime.ts". ╭─[ extensions/firecrawl/src/firecrawl-client.ts:18:3 ] │ 18 │ isPrivateIpAddress, │ ─────────┬────────
│ ╰────────── Missing export │ │ Note: If you meant to import a type rather than a value, make sure to add the type modifier (e.g. import { type Foo } from 'openclaw/plugin-sdk/ssrf-runtime'). ────╯

at aggregateBindingErrorsIntoJsError (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:48:18)
at unwrapBindingResult (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:18:128)
at #build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/rolldown-build-DSxL8qiP.mjs:3317:34)
at async build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/index.mjs:42:22)
at async Promise.all (index 0)
at async buildSingle (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:760:19)
at async Promise.all (index 0)
at async buildWithConfigs (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:716:18)
at async CAC.<anonymous> (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:25:2)
at async runCLI (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:49:3)

 ELIFECYCLE  Command failed with exit code 1.

Root Cause

pnpm build didn't complete and stopped. See the log for the full output.

Fix Action

Fix / Workaround

It was solved by --- a/src/plugin-sdk/ssrf-runtime.ts +++ b/src/plugin-sdk/ssrf-runtime.ts @@ -6,6 +6,7 @@ export { createPinnedDispatcher, SsrFBlockedError, isBlockedHostnameOrIp,

  • isPrivateIpAddress, resolvePinnedHostname, resolvePinnedHostnameWithPolicy, ssrfPolicyFromHttpBaseUrlAllowedHostname,

Code Example

pnpm build

> openclaw@2026.4.30 build /home/g/Documents/contrib/openclaw
> node scripts/build-all.mjs

[build-all] canvas:a2ui:bundle

> openclaw@2026.4.30 canvas:a2ui:bundle /home/g/Documents/contrib/openclaw
> node scripts/bundle-a2ui.mjs

A2UI bundle up to date; skipping.
[build-all] tsdown

 ERROR  Error: Build failed with 1 error:

[MISSING_EXPORT] Error: "isPrivateIpAddress" is not exported by "src/plugin-sdk/ssrf-runtime.ts".
    ╭─[ extensions/firecrawl/src/firecrawl-client.ts:18:3 ]
 18 │   isPrivateIpAddress,
    │   ─────────┬────────  
    │            ╰────────── Missing export
Note: If you meant to import a type rather than a value, make sure to add the `type` modifier (e.g. `import { type Foo } from 'openclaw/plugin-sdk/ssrf-runtime'`).
────╯

    at aggregateBindingErrorsIntoJsError (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:48:18)
    at unwrapBindingResult (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:18:128)
    at #build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/rolldown-build-DSxL8qiP.mjs:3317:34)
    at async build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/index.mjs:42:22)
    at async Promise.all (index 0)
    at async buildSingle (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:760:19)
    at async Promise.all (index 0)
    at async buildWithConfigs (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:716:18)
    at async CAC.<anonymous> (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:25:2)
    at async runCLI (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:49:3)

ELIFECYCLECommand failed with exit code 1.
RAW_BUFFERClick to expand / collapse

Bug type

Crash (process/app exits or hangs)

Beta release blocker

No

Summary

pnpm build didn't complete and stopped. See the log for the full output.

Steps to reproduce

I have simply cloned the repo and executed pnpm install , pnpm ui:build then pnpm build. the error was in pnpm build.

Expected behavior

The build should be executed without any error.

Actual behavior

It was solved by --- a/src/plugin-sdk/ssrf-runtime.ts +++ b/src/plugin-sdk/ssrf-runtime.ts @@ -6,6 +6,7 @@ export { createPinnedDispatcher, SsrFBlockedError, isBlockedHostnameOrIp,

  • isPrivateIpAddress, resolvePinnedHostname, resolvePinnedHostnameWithPolicy, ssrfPolicyFromHttpBaseUrlAllowedHostname,

OpenClaw version

2026.4.30

Operating system

Ubuntu 24.04.4 LTS

Install method

source code

Model

Didnt test with any models since openclaw was not builded.

Provider / routing chain

NA

Additional provider/model setup details

No response

Logs, screenshots, and evidence

pnpm build

> [email protected] build /home/g/Documents/contrib/openclaw
> node scripts/build-all.mjs

[build-all] canvas:a2ui:bundle

> [email protected] canvas:a2ui:bundle /home/g/Documents/contrib/openclaw
> node scripts/bundle-a2ui.mjs

A2UI bundle up to date; skipping.
[build-all] tsdown

 ERROR  Error: Build failed with 1 error:

[MISSING_EXPORT] Error: "isPrivateIpAddress" is not exported by "src/plugin-sdk/ssrf-runtime.ts".
    ╭─[ extensions/firecrawl/src/firecrawl-client.ts:18:3 ]
 18 │   isPrivateIpAddress,
    │   ─────────┬────────  
    │            ╰────────── Missing export
    │ Note: If you meant to import a type rather than a value, make sure to add the `type` modifier (e.g. `import { type Foo } from 'openclaw/plugin-sdk/ssrf-runtime'`).
────╯

    at aggregateBindingErrorsIntoJsError (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:48:18)
    at unwrapBindingResult (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs:18:128)
    at #build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/shared/rolldown-build-DSxL8qiP.mjs:3317:34)
    at async build (file:///home/g/Documents/contrib/openclaw/node_modules/rolldown/dist/index.mjs:42:22)
    at async Promise.all (index 0)
    at async buildSingle (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:760:19)
    at async Promise.all (index 0)
    at async buildWithConfigs (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/build-CgGnBlCD.mjs:716:18)
    at async CAC.<anonymous> (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:25:2)
    at async runCLI (file:///home/g/Documents/contrib/openclaw/node_modules/tsdown/dist/run.mjs:49:3)

 ELIFECYCLE  Command failed with exit code 1.

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The build error can be fixed by adding the missing export "isPrivateIpAddress" to the "src/plugin-sdk/ssrf-runtime.ts" file.

Guidance

  • The error message indicates a missing export "isPrivateIpAddress" in the "src/plugin-sdk/ssrf-runtime.ts" file.
  • To fix the issue, add the "isPrivateIpAddress" export to the "src/plugin-sdk/ssrf-runtime.ts" file, as shown in the provided diff.
  • Verify that the build process completes successfully after adding the missing export.
  • If the issue persists, check for any other missing exports or dependencies in the project.

Example

// src/plugin-sdk/ssrf-runtime.ts
export {
  createPinnedDispatcher,
  SsrFBlockedError,
  isBlockedHostnameOrIp,
  isPrivateIpAddress, // Add this line
  resolvePinnedHostname,
  resolvePinnedHostnameWithPolicy,
  ssrfPolicyFromHttpBaseUrlAllowedHostname,
}

Notes

The provided diff already shows the fix, which is to add the missing export "isPrivateIpAddress" to the "src/plugin-sdk/ssrf-runtime.ts" file.

Recommendation

Apply the workaround by adding the missing export "isPrivateIpAddress" to the "src/plugin-sdk/ssrf-runtime.ts" file, as this fix is already provided in the issue description.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The build should be executed without any error.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: [MISSING_EXPORT] Error: "isPrivateIpAddress" is not exported by "src/plugin-sdk/ssrf-runtime.ts". [1 comments, 2 participants]