@caplets/pi 0.2.0 → 0.3.0
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.
- package/README.md +57 -0
- package/dist/index.js +421 -55676
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -32,3 +32,60 @@ removed or disabled Caplets are deactivated with Pi's active-tool APIs when avai
|
|
|
32
32
|
running without `getActiveTools()` / `setActiveTools()`, stale tools may remain registered until
|
|
33
33
|
Pi reloads extensions or restarts, but calls to removed Caplets return Caplets' normal structured
|
|
34
34
|
"server not found" error.
|
|
35
|
+
|
|
36
|
+
## Remote Caplets service
|
|
37
|
+
|
|
38
|
+
By default the extension uses the local Caplets native service. To connect Pi to a remote
|
|
39
|
+
`caplets serve --transport http` service, prefer environment variables for connection details,
|
|
40
|
+
especially the password:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
export CAPLETS_REMOTE_URL="https://caplets.example.com/mcp"
|
|
44
|
+
export CAPLETS_REMOTE_USER="caplets"
|
|
45
|
+
export CAPLETS_REMOTE_PASSWORD="..." # or load from your shell/secret manager
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Pi currently calls extension factories with the Pi API only, so this extension reads its remote
|
|
49
|
+
settings from the top-level `caplets` key in `~/.pi/agent/settings.json` when no programmatic
|
|
50
|
+
options are supplied:
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"packages": ["npm:@caplets/pi"],
|
|
55
|
+
"caplets": {
|
|
56
|
+
"mode": "remote",
|
|
57
|
+
"remote": {
|
|
58
|
+
"url": "https://caplets.example.com/mcp",
|
|
59
|
+
"user": "caplets"
|
|
60
|
+
},
|
|
61
|
+
"statusWidget": true,
|
|
62
|
+
"nerdFontIcons": true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Only this top-level `caplets` settings form is read from Pi settings. Object package entries
|
|
68
|
+
with `args` or `native` are ignored.
|
|
69
|
+
|
|
70
|
+
When remote mode is active, Pi shows a compact footer status such as ` caplets ✓` or
|
|
71
|
+
` caplets ×`. Set `"statusWidget": false` under top-level `caplets` to hide it, or
|
|
72
|
+
`"nerdFontIcons": false` to use plain `caplets ✓` / `caplets ×` text.
|
|
73
|
+
Programmatic or inline embedding can pass explicit native options with the exported factory
|
|
74
|
+
helper instead of relying on Pi package-loader args:
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
import { createCapletsPiExtension } from "@caplets/pi";
|
|
78
|
+
|
|
79
|
+
export default createCapletsPiExtension({
|
|
80
|
+
args: {
|
|
81
|
+
mode: "remote",
|
|
82
|
+
remote: {
|
|
83
|
+
url: "https://caplets.example.com/mcp",
|
|
84
|
+
user: "caplets",
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Prefer environment variables for `CAPLETS_REMOTE_PASSWORD` rather than storing passwords in
|
|
91
|
+
settings files or source code.
|