packages / pi-fabric
extension

pi-fabric

A programmable tool and agent runtime for pi — compose tools, agents and pipelines programmatically.

No reviews yet

Install

$ pi install npm:pi-fabric

Installs from npm into ~/.pi/agent/. Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.

What this package can reach

Detected automatically from the source at version 0.31.0. This describes access, not safety — you decide whether it's appropriate for what the package claims to do.

  • 🤖
    Behavior — Changes how the agent thinks Modifies the system prompt, injects messages, or rewrites conversation context.
  • 📡
    Extension bus — Talks to other extensions Uses pi.events to emit or listen on a shared channel, so it can coordinate with — or be driven by — other installed extensions.
  • Commands — Runs shell commands Spawns processes on your machine.
  • 🔑
    Credentials — Handles your API keys Reads or passes provider credentials. Highest-trust capability there is.
  • 📁
    Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
  • Intercepts tools — Can block or rewrite tool calls Subscribes to tool_call/tool_result/input. Can change a command after you approved the one displayed.
  • Keystrokes — Reads raw terminal input Hooks ui.onTerminalInput, so it sees what you type. Legitimate for shortcut handling; the same access a keylogger needs.
  • 🌐
    Network — Talks to the internet Makes outbound network requests. Check the destinations are ones you expect.
  • 🔧
    New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
  • UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.

What it actually did when run

observed

Loaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.

Tools registered fabric_exec

Events subscribed after_provider_responseagent_endagent_settledagent_startbefore_agent_startbefore_provider_headersbefore_provider_requestcontextinputmessage_endmessage_startmessage_updatemodel_selectpi-fabric:provider:register:v1resources_discoversession_before_compactsession_before_forksession_before_switchsession_before_treesession_compactsession_info_changedsession_shutdownsession_startsession_treethinking_level_selecttool_calltool_execution_endtool_execution_starttool_execution_updatetool_resultturn_endturn_startuser_bash

APIs called events.ongetActiveToolsisProjectTrustedregisterCommandregisterToolui.setStatus

18 calls the source scan did not predict

events.on · isProjectTrusted · on("after_provider_response") · on("before_provider_headers") · on("before_provider_request") · on("message_start") · on("message_update") · on("model_select") · on("session_before_fork") · on("session_before_switch") · on("session_info_changed") · on("session_tree") · on("thinking_level_select") · on("tool_execution_start") · on("tool_execution_update") · on("turn_start") · on("user_bash") · ui.setStatus

Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.

Run against version 0.31.1 on 2026-08-01. Registration-time behaviour under default settings; other configurations may differ.

Review before you install. pi packages run with your full system permissions. Check the source, pin versions, and prefer authors you trust.

Reviews

0 published

Sign in with GitHub to write a review, reply, or vote.

No reviews yet — be the first.

More in

  • pi-autoresearch — Autonomous experiment loop extension for pi — modify, verify, keep or discard, repeat. Goa…
  • pi-subagents — Delegate tasks to subagents with chains, parallel execution, artifacts and TUI controls. T…
  • @tintinweb/pi-subagents — Smart Claude-Code-style autonomous sub-agents for pi, with an alternative take on agent de…
  • pi-messenger — Inter-agent messaging and file reservation system — let multiple pi agents coordinate acro…