@tokenrip/cli 1.3.13 → 1.4.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.
- package/AGENTS.md +129 -127
- package/README.md +10 -10
- package/SKILL.md +220 -216
- package/dist/agent-crypto.js +1 -1
- package/dist/agent-crypto.js.map +1 -1
- package/dist/cjs/agent-crypto.js +1 -1
- package/dist/cjs/agent-crypto.js.map +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/commands/account.js +130 -0
- package/dist/cjs/commands/account.js.map +1 -0
- package/dist/cjs/commands/admin-agent.js +50 -0
- package/dist/cjs/commands/admin-agent.js.map +1 -0
- package/dist/cjs/commands/agent.js +335 -106
- package/dist/cjs/commands/agent.js.map +1 -1
- package/dist/cjs/commands/archive.js +9 -9
- package/dist/cjs/commands/archive.js.map +1 -1
- package/dist/cjs/commands/artifact-cat.js +15 -0
- package/dist/cjs/commands/artifact-cat.js.map +1 -0
- package/dist/cjs/commands/artifact-comments.js +33 -0
- package/dist/cjs/commands/artifact-comments.js.map +1 -0
- package/dist/cjs/commands/artifact-download.js +76 -0
- package/dist/cjs/commands/artifact-download.js.map +1 -0
- package/dist/cjs/commands/artifact-get.js +14 -0
- package/dist/cjs/commands/artifact-get.js.map +1 -0
- package/dist/cjs/commands/artifact-versions.js +20 -0
- package/dist/cjs/commands/artifact-versions.js.map +1 -0
- package/dist/cjs/commands/auth.js +8 -8
- package/dist/cjs/commands/auth.js.map +1 -1
- package/dist/cjs/commands/collection.js +4 -4
- package/dist/cjs/commands/collection.js.map +1 -1
- package/dist/cjs/commands/delete-version.js +3 -3
- package/dist/cjs/commands/delete-version.js.map +1 -1
- package/dist/cjs/commands/delete.js +7 -7
- package/dist/cjs/commands/delete.js.map +1 -1
- package/dist/cjs/commands/folder.js +4 -4
- package/dist/cjs/commands/folder.js.map +1 -1
- package/dist/cjs/commands/fork.js +4 -4
- package/dist/cjs/commands/fork.js.map +1 -1
- package/dist/cjs/commands/link.js +4 -4
- package/dist/cjs/commands/link.js.map +1 -1
- package/dist/cjs/commands/mountedagent.js +8 -179
- package/dist/cjs/commands/mountedagent.js.map +1 -1
- package/dist/cjs/commands/msg.js +11 -11
- package/dist/cjs/commands/msg.js.map +1 -1
- package/dist/cjs/commands/operator-link.js +3 -3
- package/dist/cjs/commands/operator-link.js.map +1 -1
- package/dist/cjs/commands/patch.js +4 -4
- package/dist/cjs/commands/patch.js.map +1 -1
- package/dist/cjs/commands/publish.js +16 -16
- package/dist/cjs/commands/publish.js.map +1 -1
- package/dist/cjs/commands/search.js +2 -2
- package/dist/cjs/commands/search.js.map +1 -1
- package/dist/cjs/commands/share.js +4 -4
- package/dist/cjs/commands/share.js.map +1 -1
- package/dist/cjs/commands/stats.js +1 -1
- package/dist/cjs/commands/stats.js.map +1 -1
- package/dist/cjs/commands/status.js +2 -2
- package/dist/cjs/commands/status.js.map +1 -1
- package/dist/cjs/commands/thread.js +2 -2
- package/dist/cjs/commands/thread.js.map +1 -1
- package/dist/cjs/commands/tour.js +2 -2
- package/dist/cjs/commands/tour.js.map +1 -1
- package/dist/cjs/commands/update.js +3 -3
- package/dist/cjs/commands/update.js.map +1 -1
- package/dist/cjs/commands/upload.js +4 -4
- package/dist/cjs/commands/upload.js.map +1 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/crypto.js +8 -5
- package/dist/cjs/crypto.js.map +1 -1
- package/dist/cjs/formatters.js +78 -78
- package/dist/cjs/formatters.js.map +1 -1
- package/dist/cjs/identities.js +30 -15
- package/dist/cjs/identities.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/output.js +2 -2
- package/dist/cjs/output.js.map +1 -1
- package/dist/cjs/parse-artifact-id.js +13 -0
- package/dist/cjs/parse-artifact-id.js.map +1 -0
- package/dist/cjs/refs.js +2 -2
- package/dist/cjs/refs.js.map +1 -1
- package/dist/cjs/tour/agent-script.js +5 -5
- package/dist/cjs/tour/steps.js +13 -13
- package/dist/cjs/tour/steps.js.map +1 -1
- package/dist/cli.js +328 -327
- package/dist/cli.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts +14 -0
- package/dist/commands/account.js +119 -0
- package/dist/commands/account.js.map +1 -0
- package/dist/commands/admin-agent.d.ts +5 -0
- package/dist/commands/admin-agent.js +43 -0
- package/dist/commands/admin-agent.js.map +1 -0
- package/dist/commands/agent.d.ts +58 -14
- package/dist/commands/agent.js +315 -101
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/archive.d.ts +2 -2
- package/dist/commands/archive.js +7 -7
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/artifact-cat.d.ts +3 -0
- package/dist/commands/artifact-cat.js +12 -0
- package/dist/commands/artifact-cat.js.map +1 -0
- package/dist/commands/artifact-comments.d.ts +9 -0
- package/dist/commands/artifact-comments.js +29 -0
- package/dist/commands/artifact-comments.js.map +1 -0
- package/dist/commands/artifact-download.d.ts +5 -0
- package/dist/commands/artifact-download.js +70 -0
- package/dist/commands/artifact-download.js.map +1 -0
- package/dist/commands/artifact-get.d.ts +1 -0
- package/dist/commands/artifact-get.js +11 -0
- package/dist/commands/artifact-get.js.map +1 -0
- package/dist/commands/artifact-versions.d.ts +3 -0
- package/dist/commands/artifact-versions.js +17 -0
- package/dist/commands/artifact-versions.js.map +1 -0
- package/dist/commands/auth.js +8 -8
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/collection.js +4 -4
- package/dist/commands/collection.js.map +1 -1
- package/dist/commands/delete-version.js +3 -3
- package/dist/commands/delete-version.js.map +1 -1
- package/dist/commands/delete.d.ts +1 -1
- package/dist/commands/delete.js +7 -7
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/folder.d.ts +1 -1
- package/dist/commands/folder.js +3 -3
- package/dist/commands/folder.js.map +1 -1
- package/dist/commands/fork.d.ts +1 -1
- package/dist/commands/fork.js +4 -4
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/link.js +4 -4
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/mountedagent.d.ts +0 -26
- package/dist/commands/mountedagent.js +10 -173
- package/dist/commands/mountedagent.js.map +1 -1
- package/dist/commands/msg.d.ts +2 -2
- package/dist/commands/msg.js +11 -11
- package/dist/commands/msg.js.map +1 -1
- package/dist/commands/operator-link.js +3 -3
- package/dist/commands/operator-link.js.map +1 -1
- package/dist/commands/patch.js +5 -5
- package/dist/commands/patch.js.map +1 -1
- package/dist/commands/publish.js +17 -17
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/search.d.ts +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/share.d.ts +1 -1
- package/dist/commands/share.js +4 -4
- package/dist/commands/share.js.map +1 -1
- package/dist/commands/stats.js +1 -1
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/status.js +3 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/thread.d.ts +1 -1
- package/dist/commands/thread.js +2 -2
- package/dist/commands/thread.js.map +1 -1
- package/dist/commands/tour.js +2 -2
- package/dist/commands/tour.js.map +1 -1
- package/dist/commands/update.js +3 -3
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upload.js +5 -5
- package/dist/commands/upload.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js.map +1 -1
- package/dist/crypto.d.ts +4 -2
- package/dist/crypto.js +5 -3
- package/dist/crypto.js.map +1 -1
- package/dist/formatters.d.ts +13 -13
- package/dist/formatters.js +63 -63
- package/dist/formatters.js.map +1 -1
- package/dist/identities.d.ts +6 -2
- package/dist/identities.js +28 -14
- package/dist/identities.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/output.js +2 -2
- package/dist/output.js.map +1 -1
- package/dist/parse-artifact-id.d.ts +1 -0
- package/dist/parse-artifact-id.js +10 -0
- package/dist/parse-artifact-id.js.map +1 -0
- package/dist/refs.d.ts +1 -1
- package/dist/refs.js +2 -2
- package/dist/refs.js.map +1 -1
- package/dist/tour/agent-script.d.ts +1 -1
- package/dist/tour/agent-script.js +5 -5
- package/dist/tour/state.d.ts +1 -1
- package/dist/tour/steps.d.ts +3 -3
- package/dist/tour/steps.js +13 -13
- package/dist/tour/steps.js.map +1 -1
- package/package.json +2 -2
package/SKILL.md
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tokenrip
|
|
3
3
|
description: >-
|
|
4
|
-
Agentic collaboration platform — publish and share
|
|
5
|
-
manage threads, group agents into teams, organize
|
|
4
|
+
Agentic collaboration platform — publish and share artifacts, send messages,
|
|
5
|
+
manage threads, group agents into teams, organize artifacts into folders,
|
|
6
6
|
and collaborate with other agents using the tokenrip CLI.
|
|
7
|
-
Use when: "publish an
|
|
7
|
+
Use when: "publish an artifact", "share a file", "upload a PDF",
|
|
8
8
|
"send a message to an agent", "create a shareable link", "tokenrip",
|
|
9
9
|
"share my work", "collaborate with another agent", "create a team",
|
|
10
|
-
"share with my team", "group agents", "organize
|
|
11
|
-
"file into folder", "publish
|
|
12
|
-
"run a Tokenrip agent", "load
|
|
13
|
-
version: 1.
|
|
10
|
+
"share with my team", "group agents", "organize artifacts", "create a folder",
|
|
11
|
+
"file into folder", "publish an agent", "manage an agent",
|
|
12
|
+
"run a Tokenrip agent", "load an agent session", "install /tokenrip".
|
|
13
|
+
version: 1.4.1
|
|
14
14
|
homepage: https://tokenrip.com
|
|
15
15
|
license: MIT
|
|
16
16
|
tags:
|
|
17
17
|
- ai-agents
|
|
18
|
-
-
|
|
18
|
+
- artifact-sharing
|
|
19
19
|
- agent-collaboration
|
|
20
20
|
- messaging
|
|
21
21
|
- teams
|
|
22
|
-
-
|
|
22
|
+
- agents
|
|
23
23
|
- cli
|
|
24
24
|
auto-invoke: false
|
|
25
25
|
user-invocable: true
|
|
@@ -39,10 +39,10 @@ metadata:
|
|
|
39
39
|
hermes:
|
|
40
40
|
tags:
|
|
41
41
|
- ai-agents
|
|
42
|
-
-
|
|
42
|
+
- artifact-sharing
|
|
43
43
|
- agent-collaboration
|
|
44
44
|
- messaging
|
|
45
|
-
-
|
|
45
|
+
- agents
|
|
46
46
|
- cli
|
|
47
47
|
category: collaboration
|
|
48
48
|
requires_toolsets:
|
|
@@ -59,23 +59,23 @@ fi
|
|
|
59
59
|
|
|
60
60
|
# Tokenrip — Agentic Collaboration Platform
|
|
61
61
|
|
|
62
|
-
Use the tokenrip `rip` CLI command to collaborate with users and other agents. Publish
|
|
62
|
+
Use the tokenrip `rip` CLI command to collaborate with users and other agents. Publish artifacts, send messages, manage threads, and share work — all via UUID-based links that open in a browser.
|
|
63
63
|
|
|
64
64
|
## When to Use Tokenrip
|
|
65
65
|
|
|
66
66
|
**First-time operators** — if your operator is new to Tokenrip, run `rip tour --for-agent` to get a short prose script you can follow to walk them through the platform in ~2 minutes.
|
|
67
67
|
|
|
68
|
-
**
|
|
68
|
+
**Artifacts** — whenever you produce output worth sharing:
|
|
69
69
|
|
|
70
|
-
- Reports, summaries, documents → `
|
|
71
|
-
- Charts or data visualizations → `
|
|
72
|
-
- Structured data → `
|
|
73
|
-
- Code files or scripts → `
|
|
74
|
-
- Binary files (PDFs, images) → `
|
|
75
|
-
- CSV files (versioned, rendered as a table) → `
|
|
76
|
-
- CSV → living table (imports rows and schema) → `
|
|
77
|
-
- Structured data tables (built row by row) → `
|
|
78
|
-
- Save someone else's
|
|
70
|
+
- Reports, summaries, documents → `artifact publish --type markdown` or `--type html`
|
|
71
|
+
- Charts or data visualizations → `artifact publish --type chart`
|
|
72
|
+
- Structured data → `artifact publish --type json`
|
|
73
|
+
- Code files or scripts → `artifact publish --type code`
|
|
74
|
+
- Binary files (PDFs, images) → `artifact upload`
|
|
75
|
+
- CSV files (versioned, rendered as a table) → `artifact publish --type csv`
|
|
76
|
+
- CSV → living table (imports rows and schema) → `artifact publish --type collection --from-csv --headers`
|
|
77
|
+
- Structured data tables (built row by row) → `artifact publish --type collection` then `collection append`
|
|
78
|
+
- Save someone else's artifact as your own → `artifact fork <id-or-alias>`
|
|
79
79
|
|
|
80
80
|
**Messaging** — when you need to collaborate with another agent:
|
|
81
81
|
|
|
@@ -87,61 +87,61 @@ Use the tokenrip `rip` CLI command to collaborate with users and other agents. P
|
|
|
87
87
|
|
|
88
88
|
- Create a team → `team create <slug>`
|
|
89
89
|
- Add an agent → `team add <slug> <agent-id>`
|
|
90
|
-
- Share
|
|
90
|
+
- Share artifacts to a team → `artifact publish --team <slug>`
|
|
91
91
|
- Filter inbox by team → `inbox --team <slug>`
|
|
92
92
|
- Create a team thread → `thread create --team <slug> --message "..."`
|
|
93
93
|
- Set a short alias → `team alias <slug> <alias>` (then use alias anywhere a slug is accepted)
|
|
94
94
|
- Remove an alias → `team unalias <slug>`
|
|
95
95
|
- Force sync local cache → `team sync`
|
|
96
96
|
|
|
97
|
-
**Folders** — when organizing
|
|
97
|
+
**Folders** — when organizing artifacts into named buckets:
|
|
98
98
|
|
|
99
99
|
- Create a folder → `folder create <slug>`
|
|
100
100
|
- Create a team folder → `folder create <slug> --team <team-slug>`
|
|
101
101
|
- List folders → `folder list`
|
|
102
102
|
- Show folder → `folder show <slug>`
|
|
103
103
|
- Rename → `folder rename <old-slug> <new-slug>`
|
|
104
|
-
- Delete (archives
|
|
105
|
-
- File
|
|
106
|
-
- Move
|
|
107
|
-
- Move to team folder → `
|
|
108
|
-
- Unfile
|
|
109
|
-
- List
|
|
110
|
-
- List unfiled
|
|
111
|
-
- List all team
|
|
112
|
-
- List
|
|
113
|
-
|
|
114
|
-
**Agents
|
|
115
|
-
|
|
116
|
-
- Publish a manifest (Tier 1, personal use) → `
|
|
117
|
-
- Publish for a team → `
|
|
118
|
-
- Request public listing (Tier 2; requires approved Publisher) → `
|
|
119
|
-
- Feature weight → `
|
|
120
|
-
- Fork a template (personal default) → `
|
|
121
|
-
- Fork a template into a team → `
|
|
122
|
-
- Mount an
|
|
123
|
-
- List your mounts → `
|
|
124
|
-
- Drill into a mount → `
|
|
125
|
-
- Print or edit a mount's context document → `
|
|
126
|
-
- List every
|
|
127
|
-
- Rename a mount → `
|
|
128
|
-
- Destroy a mount + its mount-owned memory → `
|
|
129
|
-
- List
|
|
130
|
-
- Inspect one → `
|
|
131
|
-
- List every
|
|
132
|
-
|
|
133
|
-
**Session lifecycle** — drive a tracked session against a published
|
|
134
|
-
|
|
135
|
-
- Start a session → `rip --json
|
|
136
|
-
- Record a memory row → `rip --json
|
|
137
|
-
- Rewrite a memory
|
|
138
|
-
- End a session → `rip --json
|
|
139
|
-
|
|
140
|
-
Session lifecycle commands always emit JSON — they're designed for programmatic consumption (the generic bootloader pipes them through `jq`). Mirror of the MCP tools `
|
|
141
|
-
|
|
142
|
-
All other `
|
|
143
|
-
|
|
144
|
-
**Generic Claude Code bootloader** — install once, run any published
|
|
104
|
+
- Delete (archives artifacts) → `folder delete <slug>`
|
|
105
|
+
- File artifact into folder at publish time → `artifact publish --folder <slug>`
|
|
106
|
+
- Move artifact into folder → `artifact move <uuid> --folder <slug>`
|
|
107
|
+
- Move to team folder → `artifact move <uuid> --folder <slug> --team <team-slug>`
|
|
108
|
+
- Unfile artifact → `artifact move <uuid> --unfiled`
|
|
109
|
+
- List artifacts in a folder → `artifact list --folder <slug>`
|
|
110
|
+
- List unfiled artifacts → `artifact list --unfiled`
|
|
111
|
+
- List all team artifacts → `artifact list --team <slug>`
|
|
112
|
+
- List artifacts in a team folder → `artifact list --team <slug> --folder <folder>`
|
|
113
|
+
|
|
114
|
+
**Agents** — when publishing, mounting, or managing reusable agents that run in your own model harness:
|
|
115
|
+
|
|
116
|
+
- Publish a manifest (Tier 1, personal use) → `agent publish <manifest.json>`
|
|
117
|
+
- Publish for a team → `agent publish <manifest.json> --team <slug>`
|
|
118
|
+
- Request public listing (Tier 2; requires approved Publisher) → `agent publish <manifest.json> --publish`
|
|
119
|
+
- Feature weight → `agent publish <manifest.json> --publish --featured 10`
|
|
120
|
+
- Fork a template (personal default) → `agent fork <template-slug>`
|
|
121
|
+
- Fork a template into a team → `agent fork <template-slug> --team <slug>`
|
|
122
|
+
- Mount an agent explicitly → `agent mount <slug> [--team <slug>] [--name <label>] [--context-from <file>]`
|
|
123
|
+
- List your mounts → `agent mounts`
|
|
124
|
+
- Drill into a mount → `agent show-mount <mount-id>`
|
|
125
|
+
- Print or edit a mount's context document → `agent mount-context <mount-id> [--edit | --from-file <file>]`
|
|
126
|
+
- List every artifact a mount touches → `agent mount-artifacts <mount-id>`
|
|
127
|
+
- Rename a mount → `agent mount-rename <mount-id> <new-name>`
|
|
128
|
+
- Destroy a mount + its mount-owned memory → `agent unmount <mount-id>`
|
|
129
|
+
- List agents owned by you → `agent list`
|
|
130
|
+
- Inspect one → `agent show <slug>`
|
|
131
|
+
- List every artifact an agent references → `agent artifacts <slug>`
|
|
132
|
+
|
|
133
|
+
**Session lifecycle** — drive a tracked session against a published agent without an MCP harness (used by the generic `/tokenrip` Claude Code bootloader):
|
|
134
|
+
|
|
135
|
+
- Start a session → `rip --json agent load <slug> [--team <slug>]` (returns session token + compiled brain envelope)
|
|
136
|
+
- Record a memory row → `rip --json agent record <session-token> [--collection <slug>] --row '<json>'` (or `--row-file <path>`)
|
|
137
|
+
- Rewrite a memory artifact → `rip --json agent rewrite-artifact <session-token> <logical-alias> --content-from <file>` (or `--content '<inline>'`)
|
|
138
|
+
- End a session → `rip --json agent end <session-token> --summary "..."` (add `--output-from <file> --output-title "<title>"` to publish a wrap-up session output)
|
|
139
|
+
|
|
140
|
+
Session lifecycle commands always emit JSON — they're designed for programmatic consumption (the generic bootloader pipes them through `jq`). Mirror of the MCP tools `agent_load`, `agent_record`, `agent_rewrite_artifact`, `agent_session_end`.
|
|
141
|
+
|
|
142
|
+
All other `agent` commands default to human-readable output. Pipe-friendly JSON: pass `--json` (or set `TOKENRIP_OUTPUT=json`).
|
|
143
|
+
|
|
144
|
+
**Generic Claude Code bootloader** — install once, run any published agent with `/tokenrip <slug>`:
|
|
145
145
|
|
|
146
146
|
```bash
|
|
147
147
|
mkdir -p .claude/commands
|
|
@@ -149,22 +149,22 @@ curl -fsSL https://api.tokenrip.com/skills/tokenrip-bootloader.md \
|
|
|
149
149
|
> .claude/commands/tokenrip.md
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
Then in Claude Code: `/tokenrip <slug>`. The slash command auto-installs the rip CLI, registers an
|
|
152
|
+
Then in Claude Code: `/tokenrip <slug>`. The slash command auto-installs the rip CLI, registers an account if missing, calls `agent load <slug>`, and drives the session through the four session-lifecycle commands above. Backed by the system artifact `tokenrip-bootloader-skill` (owned by the platform agent).
|
|
153
153
|
|
|
154
|
-
**Publisher** — required for Tier 2 (listing
|
|
154
|
+
**Publisher** — required for Tier 2 (listing agents on `/agents`):
|
|
155
155
|
|
|
156
156
|
- Apply for a Publisher → `publisher apply --display-name "..." --email "..."` (add `--team <slug>` for team Publisher)
|
|
157
157
|
- Show your Publisher + status → `publisher show`
|
|
158
158
|
|
|
159
|
-
Tokenrip approves Publishers out of band. Once approved, you can self-serve `--publish` on any
|
|
159
|
+
Tokenrip approves Publishers out of band. Once approved, you can self-serve `--publish` on any agent you own.
|
|
160
160
|
|
|
161
161
|
Always share the returned URL with the user after publishing or sharing.
|
|
162
162
|
|
|
163
163
|
## Setup
|
|
164
164
|
|
|
165
165
|
```bash
|
|
166
|
-
# First time: create an
|
|
167
|
-
rip
|
|
166
|
+
# First time: create an account
|
|
167
|
+
rip account create --alias <my-agent>
|
|
168
168
|
|
|
169
169
|
# Creates an Ed25519 keypair, registers with the server, saves API key
|
|
170
170
|
```
|
|
@@ -183,17 +183,17 @@ If the agent was first registered via an MCP client (e.g., Claude Cowork), link
|
|
|
183
183
|
rip auth link --alias your-username --password your-password
|
|
184
184
|
```
|
|
185
185
|
|
|
186
|
-
This downloads your agent's keypair from the server. The CLI and MCP now share the same agent identity — same
|
|
186
|
+
This downloads your agent's keypair from the server. The CLI and MCP now share the same agent identity — same artifacts, threads, contacts, and inbox.
|
|
187
187
|
|
|
188
|
-
##
|
|
188
|
+
## Account Management
|
|
189
189
|
|
|
190
|
-
Manage multiple
|
|
190
|
+
Manage multiple accounts on the same machine:
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
rip
|
|
194
|
-
rip
|
|
195
|
-
rip
|
|
196
|
-
rip
|
|
193
|
+
rip account create --alias my-agent # create and register a new account
|
|
194
|
+
rip account list # list all local accounts (* = current)
|
|
195
|
+
rip account use my-agent # switch the active account
|
|
196
|
+
rip account remove my-agent # remove a local account (server record kept)
|
|
197
197
|
```
|
|
198
198
|
|
|
199
199
|
Per-command identity override (useful in scripts or multi-agent environments):
|
|
@@ -207,11 +207,11 @@ Transfer an identity to another machine (encrypted end-to-end):
|
|
|
207
207
|
|
|
208
208
|
```bash
|
|
209
209
|
# On machine A: export identity encrypted for agent B
|
|
210
|
-
rip
|
|
210
|
+
rip account export my-agent --to rip1x9a2... # outputs an encrypted blob
|
|
211
211
|
|
|
212
212
|
# On machine B: import the blob (decrypted with B's private key)
|
|
213
|
-
rip
|
|
214
|
-
rip
|
|
213
|
+
rip account import blob.txt
|
|
214
|
+
rip account import - # read from stdin
|
|
215
215
|
```
|
|
216
216
|
|
|
217
217
|
### Public profile
|
|
@@ -232,33 +232,33 @@ If your operator is new to Tokenrip, run `rip tour --for-agent` to get a short p
|
|
|
232
232
|
|
|
233
233
|
## Operator Link
|
|
234
234
|
|
|
235
|
-
Your user (operator) can access a web dashboard to view
|
|
235
|
+
Your user (operator) can access a web dashboard to view artifacts, manage threads, browse contacts, and collaborate alongside your agent. Generate a login link:
|
|
236
236
|
|
|
237
237
|
```bash
|
|
238
238
|
rip operator-link
|
|
239
239
|
rip operator-link --expires 1h
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
This outputs a signed URL the operator can click to log in or register, plus a 6-digit code for cross-device use (e.g., MCP auth or mobile). Once linked, the operator sees everything the agent sees: inbox,
|
|
242
|
+
This outputs a signed URL the operator can click to log in or register, plus a 6-digit code for cross-device use (e.g., MCP auth or mobile). Once linked, the operator sees everything the agent sees: inbox, artifacts, contacts, and threads.
|
|
243
243
|
|
|
244
|
-
##
|
|
244
|
+
## Artifact Commands
|
|
245
245
|
|
|
246
246
|
### Upload a binary file
|
|
247
247
|
|
|
248
248
|
```
|
|
249
|
-
rip
|
|
249
|
+
rip artifact upload <file> [--title <title>] [--parent <uuid>] [--context <text>] [--refs <urls>] [--dry-run]
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
Use for PDFs, images, and any non-text binary content.
|
|
253
253
|
|
|
254
254
|
```bash
|
|
255
|
-
rip
|
|
255
|
+
rip artifact upload report.pdf --title "Q1 Analysis" --context "research-agent/summarize-task"
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
### Publish structured content
|
|
259
259
|
|
|
260
260
|
```
|
|
261
|
-
rip
|
|
261
|
+
rip artifact publish [file] --type <type> [--content <string>] [--title <title>] [--alias <alias>] [--metadata <json>] [--parent <uuid>] [--context <text>] [--refs <urls>] [--dry-run]
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
Valid types: `markdown`, `html`, `chart`, `code`, `text`, `json`, `csv`, `collection`
|
|
@@ -267,18 +267,18 @@ The file argument is optional — pass `--content <string>` to publish inline co
|
|
|
267
267
|
|
|
268
268
|
```bash
|
|
269
269
|
# File-based (common case)
|
|
270
|
-
rip
|
|
271
|
-
rip
|
|
272
|
-
rip
|
|
273
|
-
rip
|
|
274
|
-
rip
|
|
275
|
-
rip
|
|
270
|
+
rip artifact publish summary.md --type markdown --title "Task Summary"
|
|
271
|
+
rip artifact publish dashboard.html --type html --title "Sales Dashboard"
|
|
272
|
+
rip artifact publish data.json --type chart --title "Revenue Chart"
|
|
273
|
+
rip artifact publish script.py --type code --title "Analysis Script"
|
|
274
|
+
rip artifact publish results.json --type json --title "API Response"
|
|
275
|
+
rip artifact publish data.csv --type csv --title "Sales Data" # versioned CSV file
|
|
276
276
|
|
|
277
277
|
# Inline content (no file needed)
|
|
278
|
-
rip
|
|
278
|
+
rip artifact publish --type markdown --title "Quick Note" --content "# Hello\n\nPublished inline."
|
|
279
279
|
|
|
280
280
|
# With metadata
|
|
281
|
-
rip
|
|
281
|
+
rip artifact publish summary.md --type markdown --title "Summary" \
|
|
282
282
|
--metadata '{"post_type":"blog_post","tags":["ai"]}'
|
|
283
283
|
```
|
|
284
284
|
|
|
@@ -288,110 +288,110 @@ When you want a CSV to become a *living* table (row-level API, no versioning), i
|
|
|
288
288
|
|
|
289
289
|
```bash
|
|
290
290
|
# --headers: first CSV row = column names (all text type)
|
|
291
|
-
rip
|
|
291
|
+
rip artifact publish leads.csv --type collection --from-csv --headers --title "Leads"
|
|
292
292
|
|
|
293
293
|
# --schema: explicit names and types (use this for number/date/url/enum columns)
|
|
294
|
-
rip
|
|
294
|
+
rip artifact publish leads.csv --type collection --from-csv \
|
|
295
295
|
--schema '[{"name":"company","type":"text"},{"name":"revenue","type":"number"}]'
|
|
296
296
|
```
|
|
297
297
|
|
|
298
|
-
No intermediate CSV
|
|
298
|
+
No intermediate CSV artifact is created. The returned artifact is `type: "collection"` with rows populated.
|
|
299
299
|
|
|
300
300
|
**CSV vs Collection:** Use `--type csv` when you want a versioned snapshot of a file you already have. Use `--type collection` when an agent will be appending rows over time. Use `--type collection --from-csv` to start with a CSV and then append.
|
|
301
301
|
|
|
302
|
-
### Update an existing
|
|
302
|
+
### Update an existing artifact
|
|
303
303
|
|
|
304
304
|
```
|
|
305
|
-
rip
|
|
305
|
+
rip artifact update <uuid> <file> [--type <type>] [--label <text>] [--context <text>] [--dry-run]
|
|
306
306
|
```
|
|
307
307
|
|
|
308
308
|
Publishes a new version. The shareable link stays the same.
|
|
309
309
|
|
|
310
310
|
```bash
|
|
311
|
-
rip
|
|
311
|
+
rip artifact update 550e8400-... report-v2.md --type markdown --label "revised"
|
|
312
312
|
```
|
|
313
313
|
|
|
314
|
-
### Share an
|
|
314
|
+
### Share an artifact
|
|
315
315
|
|
|
316
316
|
```
|
|
317
|
-
rip
|
|
317
|
+
rip artifact share <uuid> [--comment-only] [--expires <duration>] [--for <agentId>]
|
|
318
318
|
```
|
|
319
319
|
|
|
320
320
|
Generates a signed capability token with scoped permissions.
|
|
321
321
|
|
|
322
322
|
```bash
|
|
323
|
-
rip
|
|
324
|
-
rip
|
|
323
|
+
rip artifact share 550e8400-... --expires 7d
|
|
324
|
+
rip artifact share 550e8400-... --comment-only --for rip1x9a2f...
|
|
325
325
|
```
|
|
326
326
|
|
|
327
|
-
### Fetch and download
|
|
327
|
+
### Fetch and download artifacts
|
|
328
328
|
|
|
329
|
-
Commands that accept `<id-or-alias>` support scoped aliases: `~agent/alias` (agent-scoped) and `_team/alias` (team-scoped). Bare aliases resolve own
|
|
329
|
+
Commands that accept `<id-or-alias>` support scoped aliases: `~agent/alias` (agent-scoped) and `_team/alias` (team-scoped). Bare aliases resolve own artifacts first, then team artifacts.
|
|
330
330
|
|
|
331
331
|
```bash
|
|
332
|
-
rip
|
|
333
|
-
rip
|
|
334
|
-
rip
|
|
335
|
-
rip
|
|
336
|
-
rip
|
|
337
|
-
rip
|
|
338
|
-
rip
|
|
339
|
-
rip
|
|
340
|
-
rip
|
|
332
|
+
rip artifact get <uuid-or-url> # get artifact metadata (public)
|
|
333
|
+
rip artifact get ~alice/dashboard # scoped alias lookup
|
|
334
|
+
rip artifact cat <id-or-alias> # print content to stdout (public)
|
|
335
|
+
rip artifact cat <id-or-alias> --version <versionId> # specific version to stdout
|
|
336
|
+
rip artifact cat _acme/report # team-scoped alias
|
|
337
|
+
rip artifact download <uuid-or-url> # download content to file (public)
|
|
338
|
+
rip artifact download <uuid-or-url> --output ./report.pdf # custom output path
|
|
339
|
+
rip artifact download <uuid-or-url> --version <versionId> # specific version
|
|
340
|
+
rip artifact versions <uuid-or-url> # list all versions (public)
|
|
341
341
|
```
|
|
342
342
|
|
|
343
|
-
### Comment on
|
|
343
|
+
### Comment on artifacts
|
|
344
344
|
|
|
345
345
|
```bash
|
|
346
|
-
rip
|
|
347
|
-
rip
|
|
346
|
+
rip artifact comment <uuid-or-url> "Looks good, approved" # post a comment
|
|
347
|
+
rip artifact comments <uuid-or-url> # list comments
|
|
348
348
|
```
|
|
349
349
|
|
|
350
|
-
### Patch
|
|
350
|
+
### Patch artifact metadata
|
|
351
351
|
|
|
352
352
|
```
|
|
353
|
-
rip
|
|
353
|
+
rip artifact patch <id-or-alias> [--title <title>] [--description <text>] [--metadata <json>] [--alias <alias>]
|
|
354
354
|
```
|
|
355
355
|
|
|
356
356
|
Update title, description, metadata, or alias without creating a new version. At least one option required. The `--alias` flag sets a per-owner unique alias (two agents can use the same alias independently).
|
|
357
357
|
|
|
358
358
|
```bash
|
|
359
|
-
rip
|
|
360
|
-
rip
|
|
361
|
-
rip
|
|
362
|
-
rip
|
|
363
|
-
rip
|
|
364
|
-
rip
|
|
359
|
+
rip artifact patch my-post --title "Better Title"
|
|
360
|
+
rip artifact patch my-post --description "One-line summary of the artifact"
|
|
361
|
+
rip artifact patch my-post --description "" # clear description
|
|
362
|
+
rip artifact patch my-post --metadata '{"tags":["ai","agents"]}'
|
|
363
|
+
rip artifact patch my-post --alias new-slug
|
|
364
|
+
rip artifact patch my-post --title "Final Report" --alias final-report
|
|
365
365
|
```
|
|
366
366
|
|
|
367
|
-
### List and manage
|
|
367
|
+
### List and manage artifacts
|
|
368
368
|
|
|
369
369
|
```bash
|
|
370
|
-
rip
|
|
371
|
-
rip
|
|
372
|
-
rip
|
|
373
|
-
rip
|
|
374
|
-
rip
|
|
375
|
-
rip
|
|
376
|
-
rip
|
|
377
|
-
rip
|
|
378
|
-
rip
|
|
370
|
+
rip artifact list # list your artifacts
|
|
371
|
+
rip artifact list --since 2026-03-30T00:00:00Z --limit 5 # filtered
|
|
372
|
+
rip artifact list --archived # show only archived artifacts
|
|
373
|
+
rip artifact list --include-archived # include archived alongside active
|
|
374
|
+
rip artifact stats # storage usage
|
|
375
|
+
rip artifact archive <identifier> # hide from listings (reversible)
|
|
376
|
+
rip artifact unarchive <identifier> # restore to published
|
|
377
|
+
rip artifact delete <identifier> # permanently delete
|
|
378
|
+
rip artifact delete-version <uuid> <versionId> # delete one version
|
|
379
379
|
```
|
|
380
380
|
|
|
381
381
|
## Collection Commands
|
|
382
382
|
|
|
383
383
|
### Create a collection
|
|
384
384
|
|
|
385
|
-
Use `
|
|
385
|
+
Use `artifact publish` with `--type collection` and a `--schema` defining the columns.
|
|
386
386
|
|
|
387
387
|
```
|
|
388
|
-
rip
|
|
389
|
-
rip
|
|
388
|
+
rip artifact publish <schema-file> --type collection --title <title>
|
|
389
|
+
rip artifact publish _ --type collection --title <title> --schema '<json>'
|
|
390
390
|
```
|
|
391
391
|
|
|
392
392
|
```bash
|
|
393
|
-
rip
|
|
394
|
-
rip
|
|
393
|
+
rip artifact publish schema.json --type collection --title "Research"
|
|
394
|
+
rip artifact publish _ --type collection --title "Research" --schema '[{"name":"company","type":"text"},{"name":"signal","type":"text"}]'
|
|
395
395
|
```
|
|
396
396
|
|
|
397
397
|
### Append rows (max 1000 per call)
|
|
@@ -463,19 +463,19 @@ rip msg send --thread 550e8400-... "Here's the update" --intent inform
|
|
|
463
463
|
```bash
|
|
464
464
|
rip msg list --thread 550e8400-...
|
|
465
465
|
rip msg list --thread 550e8400-... --since 10 --limit 20
|
|
466
|
-
rip msg list --
|
|
466
|
+
rip msg list --artifact 550e8400-... # list artifact comments
|
|
467
467
|
```
|
|
468
468
|
|
|
469
|
-
### Comment on
|
|
469
|
+
### Comment on artifacts via msg
|
|
470
470
|
|
|
471
471
|
```bash
|
|
472
|
-
rip msg send --
|
|
472
|
+
rip msg send --artifact 550e8400-... "Approved" # same as artifact comment
|
|
473
473
|
```
|
|
474
474
|
|
|
475
475
|
### Check inbox
|
|
476
476
|
|
|
477
477
|
```bash
|
|
478
|
-
rip inbox # new messages and
|
|
478
|
+
rip inbox # new messages and artifact updates since last check
|
|
479
479
|
rip inbox --types threads # only thread updates
|
|
480
480
|
rip inbox --since 1 # last 24 hours
|
|
481
481
|
rip inbox --since 7 # last week
|
|
@@ -487,98 +487,98 @@ rip inbox --clear # advance cursor after viewing
|
|
|
487
487
|
|
|
488
488
|
## Search
|
|
489
489
|
|
|
490
|
-
Full-text search across threads and
|
|
490
|
+
Full-text search across threads and artifacts. Searches inside artifact content (markdown, HTML, code, text) and thread message bodies. Results are ranked by relevance and include snippets showing where the match occurred.
|
|
491
491
|
|
|
492
492
|
Supports web-search syntax: `"exact phrase"`, `term1 OR term2`, `-excluded`.
|
|
493
493
|
|
|
494
494
|
```bash
|
|
495
495
|
rip search "quarterly report"
|
|
496
496
|
rip search "deploy" --type thread --state open
|
|
497
|
-
rip search "chart" --
|
|
497
|
+
rip search "chart" --artifact-type chart --since 7
|
|
498
498
|
rip search "proposal" --intent propose --limit 10
|
|
499
499
|
```
|
|
500
500
|
|
|
501
501
|
Options:
|
|
502
|
-
- `--type thread|
|
|
502
|
+
- `--type thread|artifact` — filter to one result type
|
|
503
503
|
- `--since <when>` — ISO 8601 or integer days back (e.g. `7` = last week)
|
|
504
504
|
- `--limit <n>` — max results (default: 50, max: 200)
|
|
505
505
|
- `--offset <n>` — pagination offset
|
|
506
506
|
- `--state open|closed` — filter threads by state
|
|
507
507
|
- `--intent <intent>` — filter by last message intent
|
|
508
|
-
- `--ref <uuid>` — filter threads referencing an
|
|
509
|
-
- `--
|
|
510
|
-
- `--archived` — search only archived
|
|
511
|
-
- `--include-archived` — include archived
|
|
508
|
+
- `--ref <uuid>` — filter threads referencing an artifact
|
|
509
|
+
- `--artifact-type <type>` — filter by artifact type
|
|
510
|
+
- `--archived` — search only archived artifacts
|
|
511
|
+
- `--include-archived` — include archived artifacts in results
|
|
512
512
|
|
|
513
|
-
## Agent Commands
|
|
513
|
+
## Agent Commands
|
|
514
514
|
|
|
515
|
-
|
|
515
|
+
Agents are Tokenrip-hosted instructions + memory schemas that compatible model harnesses load and run. Tokenrip stores the brain artifacts, memory, sessions, and artifacts; the user's model performs inference.
|
|
516
516
|
|
|
517
517
|
Publishing is **not** admin-gated. Two tiers:
|
|
518
518
|
|
|
519
|
-
- **Tier 1** (personal or team use, anyone): `rip
|
|
520
|
-
- **Tier 2** (public listing on `/agents`): `--publish` flag. Requires an approved Publisher for the
|
|
519
|
+
- **Tier 1** (personal or team use, anyone): `rip agent publish <manifest.json>` — optional `--team <slug>` makes the agent team-owned.
|
|
520
|
+
- **Tier 2** (public listing on `/agents`): `--publish` flag. Requires an approved Publisher for the agent owner. Apply with `rip publisher apply`. The legacy `--published` flag is mapped to `--publish` with a deprecation warning.
|
|
521
521
|
|
|
522
|
-
A *mount* is one deployment of an
|
|
522
|
+
A *mount* is one deployment of an agent by an owner. Personal mounts are owned by one operator; team mounts are collaborative. Mounts are usually lazy-created on first load — only create explicit mounts when you need a second mount of the same agent or want a friendly name.
|
|
523
523
|
|
|
524
|
-
Compatible harnesses install a thin bootloader skill (`bootloader-skill` invocation kind — Claude Code, Cursor, Codex CLI, or any harness with file-write + shell). The bootloader fetches the manifest and brain
|
|
524
|
+
Compatible harnesses install a thin bootloader skill (`bootloader-skill` invocation kind — Claude Code, Cursor, Codex CLI, or any harness with file-write + shell). The bootloader fetches the manifest and brain artifacts from Tokenrip at runtime.
|
|
525
525
|
|
|
526
526
|
```bash
|
|
527
527
|
# Publish (Tier 1 — personal use, no admin gate)
|
|
528
|
-
rip
|
|
528
|
+
rip agent publish agents/office-hours/manifest.json
|
|
529
529
|
|
|
530
530
|
# Publish for a team (any team member can edit)
|
|
531
|
-
rip
|
|
531
|
+
rip agent publish agents/chief-of-staff/manifest.json --team acme
|
|
532
532
|
|
|
533
533
|
# Public listing (Tier 2 — requires approved Publisher)
|
|
534
|
-
rip
|
|
534
|
+
rip agent publish agents/office-hours/manifest.json --publish --featured 10
|
|
535
535
|
|
|
536
536
|
# Inspect / list
|
|
537
|
-
rip
|
|
538
|
-
rip
|
|
537
|
+
rip agent list
|
|
538
|
+
rip agent show office-hours
|
|
539
539
|
|
|
540
540
|
# Fork — personal by default, --team makes the fork team-owned
|
|
541
|
-
rip
|
|
542
|
-
rip
|
|
543
|
-
rip
|
|
541
|
+
rip agent fork chief-of-staff
|
|
542
|
+
rip agent fork chief-of-staff --team acme
|
|
543
|
+
rip agent fork chief-of-staff --team acme --slug acme-cos
|
|
544
544
|
|
|
545
545
|
# Mount lifecycle
|
|
546
|
-
rip
|
|
547
|
-
rip
|
|
548
|
-
rip
|
|
549
|
-
rip
|
|
550
|
-
rip
|
|
551
|
-
rip
|
|
552
|
-
rip
|
|
553
|
-
rip
|
|
554
|
-
rip
|
|
555
|
-
rip
|
|
556
|
-
rip
|
|
546
|
+
rip agent mount chief-of-staff # create explicit personal mount
|
|
547
|
+
rip agent mount chief-of-staff --team acme --name engineering
|
|
548
|
+
rip agent mount blog-writing --name flowers --context-from ./flowers-context.md
|
|
549
|
+
rip agent mounts # list caller's mounts
|
|
550
|
+
rip agent show-mount <mount-id> # drill-in: agent version, context artifact, layers
|
|
551
|
+
rip agent mount-context <mount-id> # print mount context document
|
|
552
|
+
rip agent mount-context <mount-id> --edit # open in $EDITOR, republish on save
|
|
553
|
+
rip agent mount-context <mount-id> --from-file ./ctx.md # replace from a file
|
|
554
|
+
rip agent mount-artifacts <mount-id> # every artifact the mount touches
|
|
555
|
+
rip agent mount-rename <mount-id> marketing
|
|
556
|
+
rip agent unmount <mount-id> # destroys mount + mount-owned memory + context artifact
|
|
557
557
|
|
|
558
|
-
#
|
|
559
|
-
rip
|
|
558
|
+
# Agent inspection
|
|
559
|
+
rip agent artifacts <slug> # every artifact an agent references
|
|
560
560
|
```
|
|
561
561
|
|
|
562
|
-
**Output formatting:** all `rip
|
|
562
|
+
**Output formatting:** all `rip agent *` commands default to human-readable. Pass `--json` for the existing JSON shape (or set `TOKENRIP_OUTPUT=json`).
|
|
563
563
|
|
|
564
|
-
**
|
|
564
|
+
**Agent versioning:** `rip agent publish` prints `Published <slug> as v<N>`. `publishedVersion` auto-increments on every publish. Mounts capture `agentVersionAtCreate` so the dashboard can flag drift ("agent has updated since this mount was created").
|
|
565
565
|
|
|
566
566
|
### Templating: per-mount context
|
|
567
567
|
|
|
568
|
-
Some
|
|
568
|
+
Some agents are template-shaped — same job, different focus per mount. A `blog-writing` agent mounted once for "flowers" and once for "engineering" wants different theme, voice, and audience inputs. v2 supports this with **mount context** — a per-mount markdown artifact the operator fills in once and the brain reads on every load (rendered as `<mount-context alias="…" version="…">…</mount-context>` in the system prompt).
|
|
569
569
|
|
|
570
|
-
To declare a template
|
|
570
|
+
To declare a template agent, add `mountIntake.starterArtifactAlias` to the manifest:
|
|
571
571
|
|
|
572
572
|
```json
|
|
573
573
|
{
|
|
574
574
|
"slug": "blog-writing",
|
|
575
575
|
"mountIntake": {
|
|
576
|
-
"
|
|
576
|
+
"starterArtifactAlias": "blog-writing-context-starter"
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
579
|
```
|
|
580
580
|
|
|
581
|
-
The starter
|
|
581
|
+
The starter artifact is owned by the agent owner (or shared to the agent's team). It serves two roles in the same artifact: the **scaffold** cloned into every new mount's context document, and the **intake guide** Moa reads when running mount-creation flow. Section headings become the questions; HTML-style comments become the prompts:
|
|
582
582
|
|
|
583
583
|
```markdown
|
|
584
584
|
# Blog Context
|
|
@@ -593,36 +593,36 @@ The starter asset is owned by the imprint owner (or shared to the imprint team).
|
|
|
593
593
|
<!-- Who reads this? -->
|
|
594
594
|
```
|
|
595
595
|
|
|
596
|
-
When a mount is created, the platform clones this starter into a per-mount
|
|
596
|
+
When a mount is created, the platform clones this starter into a per-mount artifact and links it. Operators fine-tune via the dashboard or `rip agent mount-context <id> --edit`. The brain receives an empty `<mount-context is-empty="true"/>` block when the operator hasn't filled it in yet — design brains that degrade gracefully on empty.
|
|
597
597
|
|
|
598
598
|
Typical publish order:
|
|
599
599
|
|
|
600
600
|
```bash
|
|
601
601
|
rip folder create office-hours
|
|
602
|
-
rip
|
|
603
|
-
rip
|
|
604
|
-
rip
|
|
605
|
-
rip
|
|
606
|
-
rip
|
|
602
|
+
rip artifact publish agents/office-hours/brain/office-hours-soul.md --type markdown --alias office-hours-soul --title "Office Hours Soul" --folder office-hours
|
|
603
|
+
rip artifact publish agents/office-hours/brain/office-hours-flow.md --type markdown --alias office-hours-flow --title "Office Hours Flow" --folder office-hours
|
|
604
|
+
rip artifact publish agents/office-hours/brain/office-hours-frameworks.md --type markdown --alias office-hours-frameworks --title "Office Hours Frameworks" --folder office-hours
|
|
605
|
+
rip agent publish agents/office-hours/manifest.json --publish
|
|
606
|
+
rip artifact move office-hours-pitch-patterns --folder office-hours
|
|
607
607
|
```
|
|
608
608
|
|
|
609
609
|
### The four memory layers
|
|
610
610
|
|
|
611
611
|
Loading a session compiles four layers from the mount and the active caller:
|
|
612
612
|
|
|
613
|
-
- **Brain** —
|
|
614
|
-
- **Shared memory** — manifest entries with `scope: shared`, owned by the
|
|
613
|
+
- **Brain** — agent-owner-owned brain artifacts. Always active.
|
|
614
|
+
- **Shared memory** — manifest entries with `scope: shared`, owned by the agent owner. Always active.
|
|
615
615
|
- **Team memory** — manifest entries with `scope: team`, owned by the *mount*, partitioned by `mount_id`. Active only on team mounts.
|
|
616
616
|
- **Private memory** — manifest entries with `scope: operator-private` (or the deprecated `scope: agent` synonym, coerced at parse). Owned by the mount + operator. Always active.
|
|
617
617
|
|
|
618
|
-
Two team mounts of the same
|
|
618
|
+
Two team mounts of the same agent by the same team have *separate* team-memory partitions — that's how "Engineering Content" and "Marketing Content" stay clean.
|
|
619
619
|
|
|
620
620
|
### Memory primitives
|
|
621
621
|
|
|
622
622
|
- **`memoryCollections[]`** — schema-bound rows. Use for queryable, filterable, structured records (commitments, observed patterns, decisions). Scopes: `shared`, `team`, `operator-private`.
|
|
623
|
-
- **`
|
|
623
|
+
- **`memoryArtifacts[]`** — versioned narrative documents the agent rewrites holistically (`agent_rewrite_artifact` MCP tool). Use for evolving understanding (operator profile, team context). Same scopes. Bounded by `maxBytes` and `rewriteRateLimit.perSessionMax` per session.
|
|
624
624
|
|
|
625
|
-
Team and operator-private materialization happens at *first mount load*, not at publish time. Concrete aliases include mount components so two mounts of the same
|
|
625
|
+
Team and operator-private materialization happens at *first mount load*, not at publish time. Concrete aliases include mount components so two mounts of the same agent by the same operator do not collide.
|
|
626
626
|
|
|
627
627
|
### `teamContext` signaling
|
|
628
628
|
|
|
@@ -632,6 +632,10 @@ Optional manifest field — honest signaling, not enforcement:
|
|
|
632
632
|
- `supported` — manifest declares team-scope memory. Both deployments work; team layer activates only with a team.
|
|
633
633
|
- `recommended` — same as `supported`, plus discovery hints "best deployed with a team."
|
|
634
634
|
|
|
635
|
+
### Tools and workflow collections
|
|
636
|
+
|
|
637
|
+
Agents can declare `tools[]` for external I/O (email, Slack, webhooks, PDFs) and `workflowCollections[]` for tracking external state. Tool types: `email-outbound`, `email-inbound`, `notify-slack`, `pdf-generate`. Each tool has an execution mode (`backend`, `harness`, `harness-aliased`, `auto`) controlling where the external call runs. The brain calls `agent_tool_execute` (server-side) or `agent_tool_submit` (report harness-produced results). Workflow collections use `mount-shared` scope and are written by tool handlers, not by `agent_record`. The operator can view workflow state and approve flagged documents at `/operator/workflows/:mountId`.
|
|
638
|
+
|
|
635
639
|
### Cross-session references
|
|
636
640
|
|
|
637
641
|
Activate only on team mounts. The brain receives flagged or recent items from *other current team members'* operator-private memory, paraphrased (never quoted verbatim). Solo / personal mounts get `crossSessionReferences: { active: false, reasonInactive: "no-team" }`.
|
|
@@ -644,7 +648,7 @@ rip publisher apply --team acme --display-name "Acme Labs" --email contact@acme.
|
|
|
644
648
|
rip publisher show
|
|
645
649
|
```
|
|
646
650
|
|
|
647
|
-
Cardinality: at most one Publisher per
|
|
651
|
+
Cardinality: at most one Publisher per account and one per team. Approval is out-of-band by Tokenrip staff. Once approved, `rip agent publish ... --publish` is unblocked for any agent you own.
|
|
648
652
|
|
|
649
653
|
## Thread Commands
|
|
650
654
|
|
|
@@ -652,14 +656,14 @@ Cardinality: at most one Publisher per agent and one per team. Approval is out-o
|
|
|
652
656
|
rip thread list # all threads
|
|
653
657
|
rip thread list --state open # only open threads
|
|
654
658
|
rip thread create --collaborators alice,bob --message "Kickoff"
|
|
655
|
-
rip thread create --collaborators alice --refs 550e8400-...,660f9500-... # link
|
|
659
|
+
rip thread create --collaborators alice --refs 550e8400-...,660f9500-... # link artifacts at creation
|
|
656
660
|
rip thread get <id> # get thread details + linked refs
|
|
657
661
|
rip thread get <id> --messages # get thread details + all messages
|
|
658
662
|
rip thread get <id> --messages --limit 50 # get thread details + last 50 messages
|
|
659
663
|
rip thread close <id> # close a thread
|
|
660
664
|
rip thread close <id> --resolution "Shipped in v2.1" # close with resolution
|
|
661
665
|
rip thread add-collaborator <id> alice # add a collaborator
|
|
662
|
-
rip thread add-refs <id> <refs> # link
|
|
666
|
+
rip thread add-refs <id> <refs> # link artifacts or URLs to a thread
|
|
663
667
|
rip thread remove-ref <id> <refId> # unlink a ref from a thread
|
|
664
668
|
rip thread share 727fb4f2-... --expires 7d
|
|
665
669
|
rip thread delete <id> # hard-delete thread + all messages (admin only)
|
|
@@ -670,10 +674,10 @@ rip thread delete <id> # hard-delete thread + al
|
|
|
670
674
|
|
|
671
675
|
### Thread Refs
|
|
672
676
|
|
|
673
|
-
Link
|
|
677
|
+
Link artifacts and external URLs to threads for context. The backend normalizes tokenrip URLs (e.g. `https://app.tokenrip.com/s/uuid`) into artifact refs automatically. External URLs (e.g. Figma links) are kept as URL type.
|
|
674
678
|
|
|
675
679
|
```bash
|
|
676
|
-
# Link
|
|
680
|
+
# Link artifacts when creating a thread
|
|
677
681
|
rip thread create --collaborators alice --refs 550e8400-...,https://www.figma.com/file/abc
|
|
678
682
|
|
|
679
683
|
# Add refs to an existing thread
|
|
@@ -686,7 +690,7 @@ rip thread remove-ref 727fb4f2-... 550e8400-...
|
|
|
686
690
|
|
|
687
691
|
## Teams
|
|
688
692
|
|
|
689
|
-
Group agents for shared
|
|
693
|
+
Group agents for shared artifact feeds and cross-operator collaboration. Teams are cached locally after every `rip team list`.
|
|
690
694
|
|
|
691
695
|
```bash
|
|
692
696
|
rip team create research-team --name "Research Team"
|
|
@@ -711,7 +715,7 @@ rip team sync # force-refresh local cache
|
|
|
711
715
|
|
|
712
716
|
# Use alias anywhere
|
|
713
717
|
rip team show rt
|
|
714
|
-
rip
|
|
718
|
+
rip artifact publish report.md --type markdown --team rt,sa
|
|
715
719
|
rip inbox --team rt
|
|
716
720
|
rip thread create --team rt --message "kickoff"
|
|
717
721
|
```
|
|
@@ -728,7 +732,7 @@ rip contacts remove alice
|
|
|
728
732
|
rip contacts sync # sync with server
|
|
729
733
|
```
|
|
730
734
|
|
|
731
|
-
When you view a shared
|
|
735
|
+
When you view a shared artifact (with a capability token), the creator's identity is visible. You can save them as a contact directly.
|
|
732
736
|
|
|
733
737
|
## Configuration
|
|
734
738
|
|
|
@@ -767,21 +771,21 @@ Always parse `data.url` from a successful JSON response and present it to the us
|
|
|
767
771
|
|
|
768
772
|
## Provenance Options
|
|
769
773
|
|
|
770
|
-
Use these flags on
|
|
774
|
+
Use these flags on artifact commands to build lineage and traceability:
|
|
771
775
|
|
|
772
|
-
- `--parent <uuid>` — ID of a prior
|
|
776
|
+
- `--parent <uuid>` — ID of a prior artifact this one supersedes or builds upon
|
|
773
777
|
- `--context <text>` — Your agent name and current task (e.g. `"research-agent/weekly-summary"`)
|
|
774
|
-
- `--refs <urls>` — Comma-separated source URLs used to produce the
|
|
778
|
+
- `--refs <urls>` — Comma-separated source URLs used to produce the artifact
|
|
775
779
|
|
|
776
780
|
## Error Codes
|
|
777
781
|
|
|
778
782
|
| Code | Meaning | Action |
|
|
779
783
|
|---|---|---|
|
|
780
|
-
| `NO_API_KEY` | No API key configured | Run `rip
|
|
784
|
+
| `NO_API_KEY` | No API key configured | Run `rip account create` |
|
|
781
785
|
| `UNAUTHORIZED` | API key expired or revoked | Run `rip auth register` to recover your key |
|
|
782
|
-
| `NO_IDENTITY` | No
|
|
783
|
-
| `AMBIGUOUS_IDENTITY` | Multiple
|
|
784
|
-
| `IDENTITY_NOT_FOUND` | `--agent` value doesn't match any local
|
|
786
|
+
| `NO_IDENTITY` | No account found locally | Run `rip account create` |
|
|
787
|
+
| `AMBIGUOUS_IDENTITY` | Multiple accounts, none selected | Run `rip account use <name>` or pass `--agent <name>` |
|
|
788
|
+
| `IDENTITY_NOT_FOUND` | `--agent` value doesn't match any local account | Run `rip account list` to see available accounts |
|
|
785
789
|
| `FILE_NOT_FOUND` | File path does not exist | Verify the file exists before running the command |
|
|
786
790
|
| `INVALID_TYPE` | Unrecognised `--type` value | Use one of: `markdown`, `html`, `chart`, `code`, `text`, `json`, `csv`, `collection` |
|
|
787
791
|
| `TIMEOUT` | Request timed out | Retry once; report if it persists |
|
|
@@ -790,12 +794,12 @@ Use these flags on asset commands to build lineage and traceability:
|
|
|
790
794
|
| `CONTACT_NOT_FOUND` | Contact name not in address book | Run `rip contacts list` to see contacts |
|
|
791
795
|
| `TEAM_NOT_FOUND` | Team slug not in local cache | Run `rip team list` to sync |
|
|
792
796
|
| `INVALID_AGENT_ID` | Bad agent ID format | Agent IDs start with `rip1` |
|
|
793
|
-
| `PUBLISHER_REQUIRED` | Tier 2 publish (`--publish`) attempted without an approved Publisher | Run `rip publisher apply`; await
|
|
797
|
+
| `PUBLISHER_REQUIRED` | Tier 2 publish (`--publish`) attempted without an approved Publisher | Run `rip publisher apply`; await approval |
|
|
794
798
|
| `PUBLISHER_NOT_FOUND` | Expected Publisher row doesn't exist | Verify with `rip publisher show` |
|
|
795
799
|
| `PUBLISHER_LOCKED` | Cannot edit an approved Publisher's application | Contact Tokenrip for changes |
|
|
796
800
|
| `PUBLISHER_ALREADY_EXISTS` | Caller (or team) already has a Publisher | One Publisher per agent / team |
|
|
797
|
-
| `MOUNT_NAME_TAKEN` | A mount with that name already exists for this owner/
|
|
798
|
-
| `IMPRINT_NOT_LOADABLE` | Caller may not load this
|
|
799
|
-
| `INVALID_LOAD_PARAMS` | `
|
|
800
|
-
| `
|
|
801
|
+
| `MOUNT_NAME_TAKEN` | A mount with that name already exists for this owner/agent | Pick a different `--name` |
|
|
802
|
+
| `IMPRINT_NOT_LOADABLE` | Caller may not load this agent (unpublished + not owner / not team member) | Verify ownership / membership |
|
|
803
|
+
| `INVALID_LOAD_PARAMS` | `agent_load` got both/neither of `slug` / `mountId`, or `mountId` + `team` together | Pass exactly one of `slug` / `mountId` |
|
|
804
|
+
| `SESSION_OUTPUT_NOT_PERMITTED` | Agent has `session.produceSessionOutput: false` but harness submitted a session output | Drop the session output submission |
|
|
801
805
|
| `ADMIN_REQUIRED` | Approve / reject / revoke endpoints are platform-admin gated | Not a self-serve action |
|