pikibun 0.21.0 → 0.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/README.md +5 -9
  2. package/dist/chunks/{chunk-3TZBT5V3.js → chunk-NAPYFPGG.js} +7171 -3238
  3. package/dist/chunks/{cli-IULTMVDM.js → cli-DRWVFHEJ.js} +13683 -13007
  4. package/dist/cli.js +11 -6
  5. package/dist/migrations/postgres/0040_child_session_settings.sql +12 -0
  6. package/dist/migrations/postgres/0040_host_builtin_extensions.sql +5 -0
  7. package/dist/migrations/postgres/0040_notifications.sql +47 -0
  8. package/dist/migrations/postgres/0041_piki_extensions.sql +32 -0
  9. package/dist/migrations/postgres/0042_default_extensions.sql +23 -0
  10. package/dist/migrations/postgres/0043_host_required_extensions.sql +6 -0
  11. package/dist/migrations/postgres/0044_host_browser.sql +6 -0
  12. package/dist/migrations/sqlite/0047_child_session_settings.sql +10 -0
  13. package/dist/migrations/sqlite/0047_host_builtin_extensions.sql +3 -0
  14. package/dist/migrations/sqlite/0047_notifications.sql +45 -0
  15. package/dist/migrations/sqlite/0048_piki_extensions.sql +30 -0
  16. package/dist/migrations/sqlite/0049_default_extensions.sql +22 -0
  17. package/dist/migrations/sqlite/0050_host_required_extensions.sql +4 -0
  18. package/dist/migrations/sqlite/0051_host_browser.sql +4 -0
  19. package/dist/web/assets/{index-C4R4RKOE.js → index-BChj4uOJ.js} +1 -1
  20. package/dist/web/assets/index-CEoUvOKr.js +64 -0
  21. package/dist/web/assets/{index-DR-JFaOB.css → index-TpNsUNeA.css} +1 -1
  22. package/dist/web/index.html +2 -2
  23. package/dist/web/sw.js +61 -0
  24. package/npm-shrinkwrap.json +3 -2
  25. package/package.json +2 -1
  26. package/dist/web/assets/index-DAiR46ZC.js +0 -62
package/README.md CHANGED
@@ -54,19 +54,13 @@ Model credentials stay in Pi on your host. Pairing keeps the host private to you
54
54
 
55
55
  The connector offers the models matched by `enabledModels` in Pi's `settings.json` (the same patterns Pi uses for model cycling, e.g. `"anthropic/*"`, `"*/claude-opus-5-5*"`), or every authenticated Pi model when that list is unset. `--model PROVIDER/MODEL` (repeatable) overrides both. In the web app, you and the host's admins can also disable any of these models, for everyone who uses the host, without restarting the connector (**Settings → Hosts →** the host **→ Models**).
56
56
 
57
- ## Host commands from chat
57
+ ## Host commands
58
58
 
59
- Ask the agent to use `host_bash` when you need a host-installed SDK or network access, for example `dotnet --info`. Ordinary `bash` remains in the offline sandbox; a missing SDK does not silently turn a sandbox command into a host command. Update the connector to a version advertising `hostCommands` to expose this tool.
60
-
61
- **Host commands run outside the sandbox as the connector's OS user.** They can read or change host files and credentials, access the network, and launch other processes. They have no CPU, memory, process-count or disk quotas. Pikibun passes the host's `PATH` and `HOME`, not the connector's entire environment, and starts Bash without shell profiles, in the session worktree. Use an absolute SDK path or configure the connector's `PATH` if a tool is only available in your interactive shell.
62
-
63
- Commands run in the session's worktree, whose files and Git configuration the agent can change: builds, package scripts, Git hooks and settings such as `core.fsmonitor` there can run the agent's code on the host, even for a command that looks harmless like `git status`. Approve a host command only if you would run it yourself in that directory.
64
-
65
- Each exact command and timeout needs the approval of the **host owner**, or of a member they (or one of the host's admins) granted host commands, in the session. On a shared host, the approver must also have approve access to the session. The session owner's **Auto-approve** skips this decision only when they own the host too, or hold an automatic host command grant on it; without one it never authorizes commands on someone else's host. Commands default to a five-minute timeout (`timeout_seconds`, 1-3600); timeout, cancellation and output limits terminate the process group, but cannot contain an unrestricted command that deliberately detaches processes.
59
+ Sessions have no shell on the host: `host_bash` was removed. What runs outside the sandbox as the connector's OS user are the tools of the workspace's [extensions](../../docs/extensions.md), and every command of a session that runs on the host itself. Each needs the approval of the **host owner**, or of a member they (or one of the host's admins) granted host commands; see [host commands](../../docs/host-commands.md). For an SDK the sandbox lacks, install it where the sandbox sees it (`/usr` or `/usr/local`).
66
60
 
67
61
  ## macOS, Windows and hosts without bubblewrap
68
62
 
69
- The isolated sandbox needs Linux (or WSL2 on Windows). macOS and native Windows can try their own experimental sandboxes with `--experimental-sandbox` (see the main README, "Experimental sandboxes on macOS and Windows"). On macOS, native Windows, or Linux without bubblewrap, you can also opt out of isolation:
63
+ The isolated sandbox needs Linux (or WSL2 on Windows). macOS and native Windows can try their own experimental sandboxes with `--experimental-sandbox` (see "Experimental sandboxes on macOS and Windows" in [`docs/hosts.md`](https://github.com/OpenCara/pikibun/blob/main/docs/hosts.md#experimental-sandboxes-on-macos-and-windows)). On macOS, native Windows, or Linux without bubblewrap, you can also opt out of isolation:
70
64
 
71
65
  ```sh
72
66
  npx pikibun@latest connect --unsafe-no-sandbox
@@ -138,6 +132,8 @@ They live in the connector's state directory; npm runs none of their install scr
138
132
 
139
133
  Extensions run in the connector, as this machine's user, with your files, credentials and network, outside the sandbox. Install only code you trust. Their tool calls are approved like host commands. Pikibun's own `web_fetch` and `web_search` tools are retired: web search comes from extensions.
140
134
 
135
+ Three extensions are built into the connector, so there is nothing to install: `piki:gh`, `piki:glab` and `piki:azure-cli` give sessions the GitHub, GitLab and Azure CLIs (`gh`, `glab`, `az`) where their workspace uses them. Install those commands on this machine and sign in to them (`gh auth login`, `glab auth login`, `az login` and `az extension add --name azure-devops`); their tool calls act as you. `pikibun extensions list` shows them.
136
+
141
137
  ## Chat options
142
138
 
143
139
  In a session's chat box you can pick any model this host's Pi offers that isn't disabled in the web app, its reasoning level, and the access mode for each message: **Read only**, **Ask before acting** (the default) or **Auto-approve** (session owner only). Hosts running a connector older than 0.3.0 keep each session's pinned model; restart the connector with `npx pikibun@latest connect` to enable the options.