Skip to content

Add native web tools for Pi Durable - #56

Merged
mavam merged 2 commits into
mainfrom
durable-adapter
Oct 3, 2026
Merged

mavam merged 2 commits into
mainfrom
durable-adapter

Conversation

@mavam

@mavam mavam commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

🔍 Problem

  • Durable hosts cannot load Webfox's ordinary Pi extension.

🛠️ Solution

  • Export createWebfoxExtension through webfox/durable, sharing provider schemas and descriptions with normal Pi.
  • Follow conversation environments and cancellation, stream progress, retain partial failures, and spill oversized output privately.
  • Mark billable external requests unsafe to replay.
  • Keep the library, CLI, and Pi entry points independent of the optional durable runtime.
  • Verify both adapters from the packed package; refresh dependency locks and the Nix dependency hash.

💬 Review

  • Experimental Pi Durable 1.0 API; no codemode structured-result interface in the durable adapter.
  • Cancellation and unsafe replay do not undo provider effects or billing.
  • Validation: 516 tests, typecheck, formatting, build, and packed-package smoke passed.
  • Nix dependency hash was computed with fetcher v2; no local Nix build was run.
  • Production dependency audit still reports three high-severity findings through Firecrawl/Axios. Those dependency versions are unchanged from the base branch; no audit fix was applied.

📎 Related: mavam/pi-fancy-footer#41, mavam/pi-mcp-client#38, mavam/infra#1

Reuse provider clients, schemas, and bounded output in a separate durable
adapter. Follow conversation execution environments and cancellation,
and mark billable external requests unsafe to replay.

Keep normal Pi and standalone entry points independent of the optional
durable runtime. Verify both adapters in the packed-package smoke test.
@mavam
mavam merged commit a17968c into main Oct 3, 2026
8 checks passed
@mavam
mavam deleted the durable-adapter branch October 3, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant