@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.
Files changed (3) hide show
  1. package/README.md +57 -0
  2. package/dist/index.js +421 -55676
  3. 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.