@sage-protocol/pi-adapter 0.2.1 → 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 +33 -282
- package/SKILL.md +20 -2
- package/dist/sage-pi-adapter.d.ts +24 -11
- package/dist/sage-pi-adapter.d.ts.map +1 -1
- package/dist/sage-pi-adapter.js +206 -124
- package/dist/sage-pi-adapter.js.map +1 -1
- package/extensions/index.ts +161 -42
- package/package.json +2 -1
- package/skills/sage-bridge/SKILL.md +43 -5
|
@@ -50,6 +50,11 @@ sage_status({})
|
|
|
50
50
|
|
|
51
51
|
Returns bridge health, wallet connection, network, and session info.
|
|
52
52
|
|
|
53
|
+
If `sage_status` reports a degraded or unavailable bridge, do not keep retrying
|
|
54
|
+
silently. Tell the user the Sage MCP bridge is unavailable and suggest
|
|
55
|
+
restarting Pi/Sage bridge or verifying `sage mcp start`. Only suggest
|
|
56
|
+
`sage daemon start` when the reported failure is specifically daemon reachability.
|
|
57
|
+
|
|
53
58
|
---
|
|
54
59
|
|
|
55
60
|
## Behavior Loop
|
|
@@ -85,13 +90,40 @@ sage_search({ domain: "rlm", action: "stats" })
|
|
|
85
90
|
**5. Earn & Collaborate** — Publish, vote, tip, bounty.
|
|
86
91
|
|
|
87
92
|
```bash
|
|
88
|
-
sage library push my-library
|
|
93
|
+
sage library push my-library --bump patch
|
|
89
94
|
sage governance proposals vote 1 for
|
|
90
95
|
sage bounties list
|
|
91
96
|
```
|
|
92
97
|
|
|
93
98
|
---
|
|
94
99
|
|
|
100
|
+
## Choose a Sage distribution surface by intent
|
|
101
|
+
|
|
102
|
+
Do not collapse every write path into a generic idea of "publish." Choose the smallest surface that matches the actual goal:
|
|
103
|
+
|
|
104
|
+
- **P2P** — sync trusted machines/agents privately.
|
|
105
|
+
- **Shared library** — collaborate privately with explicit members/invites.
|
|
106
|
+
- **Personal cloud** — host a creator-controlled canonical library; it starts private by default.
|
|
107
|
+
- **Public personal cloud** — make a hosted library publicly discoverable only when the user explicitly asks, with `sage library visibility <library-id> public`.
|
|
108
|
+
- **Marketplace** — sell a polished public personal library as a packaged capability.
|
|
109
|
+
- **DAO promotion** — make a library canonical for a group/community and unlock curation, legitimacy, on-chain reputation, tips, bounties, and community-driven improvement.
|
|
110
|
+
|
|
111
|
+
**Governance chooser**
|
|
112
|
+
- **personal DAO** — fastest operator-controlled canon
|
|
113
|
+
- **team DAO** — trusted shared stewardship
|
|
114
|
+
- **community DAO** — strongest public curation and legitimacy
|
|
115
|
+
|
|
116
|
+
Pi routing rules:
|
|
117
|
+
- If the user says **direct share** or **share privately**, think **shared library** first.
|
|
118
|
+
- If the goal is trusted fleet propagation, think **P2P**, not governance.
|
|
119
|
+
- If the goal is creator-controlled hosting, think **personal cloud** and remember it is private by default.
|
|
120
|
+
- If the goal is public web/discovery access, confirm explicit intent before making a library public.
|
|
121
|
+
- If the goal is monetization, think **marketplace**.
|
|
122
|
+
- If the goal is public canon, stronger provenance, future bounties, and repeated community improvement, think **DAO promotion**.
|
|
123
|
+
- If one surface is clearly implied, proactively suggest it instead of waiting for the user to name the exact Sage term.
|
|
124
|
+
- Install/expose is local harness visibility only; do not treat it as publishing.
|
|
125
|
+
- Public feeds/search should only advertise anonymously readable prompts and skills; keep owner-only, unpinned, expired, or otherwise non-openable CIDs out of public discovery until republished or made public.
|
|
126
|
+
|
|
95
127
|
## When to Trigger
|
|
96
128
|
|
|
97
129
|
Proactively search Sage when:
|
|
@@ -131,7 +163,7 @@ Recommended `.pi/settings.json` shape in a local monorepo:
|
|
|
131
163
|
"-../.agents/skills/frontend-design/SKILL.md",
|
|
132
164
|
"-~/.pi/agent/skills/prompt-builder/SKILL.md",
|
|
133
165
|
"-~/.pi/agent/skills/sage/SKILL.md",
|
|
134
|
-
"-~/.pi/agent/skills/sage-
|
|
166
|
+
"-~/.pi/agent/skills/sage-workflow/SKILL.md"
|
|
135
167
|
],
|
|
136
168
|
"enableSkillCommands": true
|
|
137
169
|
}
|
|
@@ -190,8 +222,9 @@ sage library list
|
|
|
190
222
|
sage library create <name>
|
|
191
223
|
sage library skill add <path> -l <library>
|
|
192
224
|
sage library prompt add <name> -l <library> --file <path>
|
|
193
|
-
sage library push <library>
|
|
225
|
+
sage library push <library> --bump patch
|
|
194
226
|
sage library promote <library> --dao 0x... --collection default --yes
|
|
227
|
+
# Use `major`, `minor`, or `patch` for `--bump`; exact SemVer and `status --across` are not current CLI commands.
|
|
195
228
|
sage library discover
|
|
196
229
|
sage library sync
|
|
197
230
|
```
|
|
@@ -237,7 +270,9 @@ sage social post "message"
|
|
|
237
270
|
```bash
|
|
238
271
|
sage wallet balance
|
|
239
272
|
sage wallet current
|
|
240
|
-
sage wallet
|
|
273
|
+
sage wallet create sage-wallet
|
|
274
|
+
sage wallet connect ows -n sage-wallet
|
|
275
|
+
sage wallet connect privy --device-code
|
|
241
276
|
sage wallet delegate
|
|
242
277
|
sage delegation create --delegation-profile voter
|
|
243
278
|
sage delegation list
|
|
@@ -247,7 +282,9 @@ sage agent register
|
|
|
247
282
|
sage agent quickstart
|
|
248
283
|
```
|
|
249
284
|
|
|
250
|
-
|
|
285
|
+
Preserve the user's already-working wallet/session preference when one exists. The examples above show common direct-wallet and provider-session paths, not a requirement to force one provider.
|
|
286
|
+
|
|
287
|
+
`sage wallet delegate` is ERC20Votes self-delegation for governance voting power. `sage delegation ...` is scoped agent delegation management.
|
|
251
288
|
|
|
252
289
|
### RLM Capture
|
|
253
290
|
|
|
@@ -274,6 +311,7 @@ sage mcp call <tool> --args '{...}'
|
|
|
274
311
|
## Common Pitfalls
|
|
275
312
|
|
|
276
313
|
- **Hook mode vs query mode**: `sage suggest hook skill` reads the `PROMPT` environment variable or stdin — don't pass the prompt as a positional argument.
|
|
314
|
+
- **Bridge vs daemon wording**: Pi primarily talks to Sage through the MCP bridge. When `sage_status` shows bridge degradation, say "Sage MCP bridge unavailable" and verify `sage mcp start`; don't default to daemon-start advice unless the daemon is the reported failure.
|
|
277
315
|
- **`external/search` requires `tool_name`**: Always include `tool_name` in params when searching via external domain (e.g., `tool_name: "web_search"`).
|
|
278
316
|
- **Domain routing**: Each domain has its own set of actions. Use `sage_search({ domain: "help", action: "list" })` to discover available actions.
|
|
279
317
|
- **Legacy commands removed**: Do not use `sage dao ...`, `sage proposals ...`, or `sage ipfs ...` — these are replaced by `sage governance dao ...`, `sage governance proposals ...`, and `sage config ipfs ...`.
|