@gobi-ai/cli 2.0.24 → 2.0.26

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.
@@ -4,12 +4,12 @@
4
4
  "name": "gobi-ai"
5
5
  },
6
6
  "description": "Claude Code plugin for the Gobi collaborative knowledge platform CLI",
7
- "version": "2.0.24",
7
+ "version": "2.0.26",
8
8
  "plugins": [
9
9
  {
10
10
  "name": "gobi",
11
11
  "description": "Manage the Gobi collaborative knowledge platform from the command line. Publish vault profiles, create posts and replies, generate images and videos.",
12
- "version": "2.0.24",
12
+ "version": "2.0.26",
13
13
  "author": {
14
14
  "name": "gobi-ai"
15
15
  },
@@ -19,7 +19,7 @@
19
19
  "./skills/gobi-core",
20
20
  "./skills/gobi-space",
21
21
  "./skills/gobi-vault",
22
- "./skills/gobi-draft",
22
+ "./skills/gobi-artifact",
23
23
  "./skills/gobi-media",
24
24
  "./skills/gobi-sense",
25
25
  "./skills/gobi-homepage"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gobi",
3
3
  "description": "Manage the Gobi collaborative knowledge platform from the command line",
4
- "version": "2.0.24",
4
+ "version": "2.0.26",
5
5
  "author": {
6
6
  "name": "gobi-ai"
7
7
  },
@@ -10,7 +10,7 @@
10
10
  "./skills/gobi-core",
11
11
  "./skills/gobi-space",
12
12
  "./skills/gobi-vault",
13
- "./skills/gobi-draft",
13
+ "./skills/gobi-artifact",
14
14
  "./skills/gobi-media",
15
15
  "./skills/gobi-sense",
16
16
  "./skills/gobi-homepage"
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![npm](https://img.shields.io/npm/v/@gobi-ai/cli)](https://www.npmjs.com/package/@gobi-ai/cli)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
6
 
7
- The programmatic interface to [Gobi](https://gobispace.com) — the agent-facing surface of the ecosystem. The same capabilities the desktop and web clients use (auth, vault sync and publishing, personal posts and replies, drafts, media generation, activity reads) exposed as composable shell commands so AI agents and developer scripts can act on a user's behalf in Gobi.
7
+ The programmatic interface to [Gobi](https://gobispace.com) — the agent-facing surface of the ecosystem. The same capabilities the desktop and web clients use (auth, vault sync and publishing, personal posts and replies, artifacts, media generation, activity reads) exposed as composable shell commands so AI agents and developer scripts can act on a user's behalf in Gobi.
8
8
 
9
9
  ## Why a CLI?
10
10
 
@@ -63,7 +63,7 @@ Each setup step unlocks a different family of commands — run only the ones the
63
63
  | Step | Unlocks |
64
64
  |------|---------|
65
65
  | `gobi auth login` | All authenticated commands |
66
- | `gobi vault init` | Every `gobi vault …` command (`publish`, `unpublish`, `sync`); also lets `global create-post --auto-attachments` resolve that vault automatically |
66
+ | `gobi vault init` | Every `gobi vault …` command (`publish`, `unpublish`, `sync`); also lets `artifact create --auto-attachments` resolve that vault automatically |
67
67
  | `gobi space warp` | Every `gobi space …` command without needing `--space-slug` |
68
68
 
69
69
  ---
@@ -113,10 +113,6 @@ If `.gobi/settings.yaml` is missing, `gobi vault init` and `gobi space warp` are
113
113
 
114
114
  `gobi auth login` is a device-code flow: it prints a URL and a user code to stdout, then polls. An agent can run it as a background task, surface the URL to the user as a clickable link, and wait for the process to exit. See [`commands/login.md`](commands/login.md) for the canonical agent recipe.
115
115
 
116
- ### Per-session context for drafts
117
-
118
- When the runtime exports `GOBI_SESSION_ID`, `gobi draft add` picks it up automatically — no need to pass `--session` from inside an agent run. See the **Drafts** section below.
119
-
120
116
  ---
121
117
 
122
118
  ## Commands
@@ -148,7 +144,7 @@ When the runtime exports `GOBI_SESSION_ID`, `gobi draft add` picks it up automat
148
144
  | `gobi vault set-primary <slug>` | Mark a vault as your primary. Unsets primary on the others. |
149
145
  | `gobi vault publish` | Upload `PUBLISH.md` to your vault. Triggers profile/metadata refresh. |
150
146
  | `gobi vault unpublish` | Remove `PUBLISH.md` from your vault. |
151
- | `gobi vault status [--vault-slug <slug>]` | Show the configured vault's publish state (`isPublished`), profile fields, file count, and public profile URL. Useful as a pre-flight check before posting with `--auto-attachments`. |
147
+ | `gobi vault status [--vault-slug <slug>]` | Show the configured vault's publish state (`isPublished`), profile fields, file count, and public profile URL. Useful as a pre-flight check before authoring a markdown artifact with `--auto-attachments`. |
152
148
  | `gobi vault sync` | Sync local vault files with Gobi WebDrive. |
153
149
 
154
150
  Public vaults are accessible at `https://gobispace.com/@{vaultSlug}`.
@@ -182,30 +178,30 @@ A *Space* is a community knowledge area. A *Space Post* lives in one space. The
182
178
  | `gobi space list-topic-posts <topicSlug>` | List posts tagged with a topic |
183
179
  | `gobi space list-posts` | List posts in the space |
184
180
  | `gobi space get-post <postId> [--full]` | Get a post with its ancestors and replies. `--full` shows reply content without truncation. |
185
- | `gobi space create-post [--title <t>] (--content <c> \| --rich-text <json> \| --draft-id <id>) [--vault-slug <slug>] [--auto-attachments] [--repost-post-id <id>] [--attach <file>]…` | Create a space post. Must provide content via one of `--content`, `--rich-text`, or `--draft-id`. `--vault-slug` attributes it to a vault you own; `--auto-attachments` uploads `[[wikilinks]]` to that vault and uses it as `authorVaultSlug`. `--draft-id` links the post back to a draft (records `postId`/`spaceSlug` on `draft.metadata` so the client can render an "Open post" button). `--repost-post-id` reposts an existing post (sets `repostPostId` on the new post). `--attach` uploads local media to render inline in-feed (repeatable; X-style mix rule — up to 4 photos OR 1 GIF OR 1 video). |
186
- | `gobi space edit-post <postId> [--title <t>] [--content <c>] [--vault-slug <slug>] [--auto-attachments]` | Edit a space post. `--vault-slug ""` detaches the vault. |
181
+ | `gobi space create-post [--title <t>] (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--repost-post-id <id>] [--attach <file>]…` | Create a space post. Must provide content via `--content` or `--rich-text`. `--vault-slug` attributes it to a vault you own. `--repost-post-id` reposts an existing post (sets `repostPostId` on the new post). `--attach` uploads local media to render inline in-feed (repeatable; X-style mix rule — up to 4 photos OR 1 GIF OR 1 video). |
182
+ | `gobi space edit-post <postId> [--title <t>] [--content <c>] [--vault-slug <slug>]` | Edit a space post. `--vault-slug ""` detaches the vault. |
187
183
  | `gobi space delete-post <postId>` | Delete a space post |
188
- | `gobi space create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--auto-attachments] [--attach <file>]…` | Create a reply to a space post. `--attach` works the same as on `create-post`. |
189
- | `gobi space edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>] [--auto-attachments]` | Edit a reply you authored. `--vault-slug ""` detaches attribution. |
184
+ | `gobi space create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--attach <file>]…` | Create a reply to a space post. `--attach` works the same as on `create-post`. |
185
+ | `gobi space edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>]` | Edit a reply you authored. `--vault-slug ""` detaches attribution. |
190
186
  | `gobi space delete-reply <replyId>` | Delete a reply you authored |
191
187
 
192
188
  ### Global feed (personal posts)
193
189
 
194
- A *Personal Post* surfaces in the public global feed. Pass `--vault-slug` to attribute it to a vault you own (it'll then surface on that vault's profile too); with no `--vault-slug` and no `--auto-attachments` the post has no `authorVaultSlug` and lives only on the global feed. Same `Post` model as a Space Post, scoped to the user instead of a space.
190
+ A *Personal Post* surfaces in the public global feed. Pass `--vault-slug` to attribute it to a vault you own (it'll then surface on that vault's profile too); with no `--vault-slug` the post has no `authorVaultSlug` and lives only on the global feed. Same `Post` model as a Space Post, scoped to the user instead of a space.
195
191
 
196
192
  | Command | Description |
197
193
  |---------|-------------|
198
194
  | `gobi global feed [--following]` | List the global public feed (posts + replies, newest first). `--following` limits to authors you follow. |
199
195
  | `gobi global list-posts [--mine] [--vault-slug <slug>]` | List personal posts; filter to your own or by author vault |
200
196
  | `gobi global get-post <postId> [--full]` | Get a personal post with its ancestors and replies. `--full` shows reply content without truncation. |
201
- | `gobi global create-post [--title <t>] (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--auto-attachments] [--draft-id <id>] [--repost-post-id <id>] [--attach <file>]…` | Create a personal post. `--draft-id` links the post back to a draft (records `postId` on `draft.metadata`). `--repost-post-id` reposts an existing post. `--attach` uploads local media for inline rendering (see `gobi space create-post` above for the mix rule). |
197
+ | `gobi global create-post [--title <t>] (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--repost-post-id <id>] [--attach <file>]…` | Create a personal post. `--repost-post-id` reposts an existing post. `--attach` uploads local media for inline rendering (see `gobi space create-post` above for the mix rule). |
202
198
  | `gobi global edit-post <postId> [--title <t>] [--content <c>] [--vault-slug <slug>]` | Edit a personal post you authored. `--vault-slug ""` detaches the vault. |
203
199
  | `gobi global delete-post <postId>` | Delete a personal post you authored |
204
- | `gobi global create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--auto-attachments] [--attach <file>]…` | Create a reply to a personal post |
205
- | `gobi global edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>] [--auto-attachments]` | Edit a reply you authored. `--vault-slug ""` detaches attribution. |
200
+ | `gobi global create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--attach <file>]…` | Create a reply to a personal post |
201
+ | `gobi global edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>]` | Edit a reply you authored. `--vault-slug ""` detaches attribution. |
206
202
  | `gobi global delete-reply <replyId>` | Delete a reply you authored |
207
203
 
208
- `--vault-slug` requires that the caller hold `role: 'owner'` on the target vault. When set, it becomes the post's `authorVaultSlug`. When `--auto-attachments` is set, the same vault is used both as the upload destination for `[[wikilinks]]` and as `authorVaultSlug`.
204
+ `--vault-slug` requires that the caller hold `role: 'owner'` on the target vault. When set, it becomes the post's `authorVaultSlug`.
209
205
 
210
206
  ### Personal space (private posts)
211
207
 
@@ -218,11 +214,11 @@ Private posts and replies visible only to you. Same `Post` data model and subcom
218
214
  | `gobi personal feed` | Your personal-space feed (posts + replies, newest first) |
219
215
  | `gobi personal list-posts` | List personal-space posts |
220
216
  | `gobi personal get-post <postId> [--full]` | Get a personal-space post with its ancestors and replies |
221
- | `gobi personal create-post [--title <t>] (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--auto-attachments] [--draft-id <id>] [--repost-post-id <id>] [--attach <file>]…` | Create a private post in your personal space. `--vault-slug` attributes it to a vault you own. `--attach` works the same as on `gobi global create-post`. |
222
- | `gobi personal edit-post <postId> [--title <t>] [--content <c>] [--vault-slug <slug>] [--auto-attachments]` | Edit a personal-space post you authored |
217
+ | `gobi personal create-post [--title <t>] (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--repost-post-id <id>] [--attach <file>]…` | Create a private post in your personal space. `--vault-slug` attributes it to a vault you own. `--attach` works the same as on `gobi global create-post`. |
218
+ | `gobi personal edit-post <postId> [--title <t>] [--content <c>] [--vault-slug <slug>]` | Edit a personal-space post you authored |
223
219
  | `gobi personal delete-post <postId>` | Delete a personal-space post you authored |
224
- | `gobi personal create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--auto-attachments] [--attach <file>]…` | Reply to a personal-space post (inherits the parent's private scope) |
225
- | `gobi personal edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>] [--auto-attachments]` | Edit a reply you authored |
220
+ | `gobi personal create-reply <postId> (--content <c> \| --rich-text <json>) [--vault-slug <slug>] [--attach <file>]…` | Reply to a personal-space post (inherits the parent's private scope) |
221
+ | `gobi personal edit-reply <replyId> [--content <c>] [--rich-text <json>] [--vault-slug <slug>]` | Edit a reply you authored |
226
222
  | `gobi personal delete-reply <replyId>` | Delete a reply you authored |
227
223
 
228
224
  ### Sense
@@ -236,23 +232,23 @@ Activity and transcription data captured by Gobi Sense (or the mobile app).
236
232
 
237
233
  Times are ISO 8601 UTC (e.g. `2026-03-20T00:00:00Z`).
238
234
 
239
- ### Drafts
240
-
241
- A *draft* is a unit of standing guidance authored by an agent. Each draft carries 0–3 AI-suggested actions the user picks from. The top 5 pending drafts (lowest priority first) are injected into the agent's system prompt every turn — drafts turn agent suggestions into running context.
242
-
243
- When invoked from inside an agent run, the runtime exports `GOBI_SESSION_ID` so `gobi draft add` picks it up automatically; otherwise pass `--session <uuid>`.
235
+ ### Artifacts
244
236
 
245
- Each action is `{ label, message? }`: `label` is the short button text (1–80 chars) the user sees; `message` (optional, ≤2000 chars) is what the user is taken to be saying to the agent on click. When `message` is omitted, the client falls back to `label`. From the CLI, pass an action as `--action "Label::Message"` — the literal `::` separates the two. Without `::`, the whole value is the label.
237
+ An *artifact* is a versioned, human-owned creation attached to posts. Kinds: `image | video | gif | markdown | meeting_summary`. Markdown kinds carry a body; media kinds carry an uploaded file. Revisions form a draft/published tree (at most one published per artifact). Markdown kinds store `metadata.vaultSlug` for `[[wikilink]]` resolution. See the `gobi-artifact` skill for full workflows.
246
238
 
247
239
  | Command | Description |
248
240
  |---------|-------------|
249
- | `gobi draft list [--limit N]` | List drafts (priority ASC, then newest first) |
250
- | `gobi draft get <id>` | Get one draft with its history and suggested actions |
251
- | `gobi draft add <title> <content> [--session <id>] [--vault-slug <slug>] [--priority N] [--action <label[::message]>]…` | Add a draft. Pass `--action` up to 3 times; each action is `Label` or `Label::Message`. `--session` falls back to `$GOBI_SESSION_ID`. `--vault-slug` anchors the draft to a specific vault (must be one you own). Use `-` for content to read from stdin. |
252
- | `gobi draft delete <id>` | Delete a draft |
253
- | `gobi draft prioritize <id> <priority>` | Set priority (lower = higher) |
254
- | `gobi draft action <id> <index>` | Take one of the draft's suggested actions by 0-based index. Marks `actioned` and posts the action's `message` (or `label`, if no message) into the originating session. |
255
- | `gobi draft revise <id> <comment> [--title <t>] [--content <c>] [--vault-slug <slug>] [--action <label[::message]>]…` | Bump revision with a comment; optionally replace title / content / vault-slug / actions in the same call |
241
+ | `gobi artifact list [--kind <k>] [--limit N]` | List your artifacts (newest first) |
242
+ | `gobi artifact get <artifactId>` | Get one artifact with its current revision |
243
+ | `gobi artifact create --kind <k> [--file <path> \| --content <md>] [--title <t>] [--vault-slug <slug>] [--post-id <id>] [--auto-attachments] [--change-note <note>]` | Create an artifact. markdown/meeting_summary take a body via `--file`, `--content`, or stdin (`-`); image/gif/video upload `--file`. `--post-id` attaches it to a post (appends, doesn't clobber). `--auto-attachments` (markdown) uploads `[[wikilinks]]` to `--vault-slug`. |
244
+ | `gobi artifact revise <artifactId> [--file <path> \| --content <md>] [--change-note <note>] [--from <revisionId>] [--auto-attachments]` | Add a draft revision. `--from` branches off a specific revision. `--auto-attachments` reuses the artifact's stored `metadata.vaultSlug`. |
245
+ | `gobi artifact publish <artifactId> --revision <revisionId>` | Publish a revision (the artifact's single published revision) |
246
+ | `gobi artifact revert <artifactId> --to <revisionId>` | Move the published pointer to an earlier revision |
247
+ | `gobi artifact history <artifactId>` | List the full revision tree (owner only) |
248
+ | `gobi artifact download <artifactId> [--revision <revisionId>] [--out <path>]` | Download a revision's content (markdown body to file/stdout; media bytes to file). Defaults to the current revision. |
249
+ | `gobi artifact delete <artifactId>` | Delete an artifact and its revision tree |
250
+
251
+ Attach an artifact to a post at creation time with `gobi artifact create --post-id <postId>` (it merges into the post's existing artifacts without clobbering them).
256
252
 
257
253
  ### Media generation
258
254
 
@@ -290,7 +286,6 @@ Image, video, and avatar generation. See the `gobi-media` skill for full workflo
290
286
  | `GOBI_BASE_URL` | `https://api.joingobi.com` | API server URL |
291
287
  | `GOBI_WEBDRIVE_BASE_URL` | `https://webdrive.joingobi.com` | File storage URL |
292
288
  | `GOBI_WEB_BASE_URL` | `https://gobispace.com` | Public web URL (used when assembling shareable links) |
293
- | `GOBI_SESSION_ID` | — | Default `--session` for `gobi draft add` (set automatically inside agent runs) |
294
289
 
295
290
  ### Files
296
291
 
@@ -311,7 +306,7 @@ The CLI ships a `.claude-plugin/` manifest with skills that wrap the command gro
311
306
  | `gobi-core` | Auth, update, space list/warp |
312
307
  | `gobi-vault` | `gobi vault init/list/publish/unpublish/sync` |
313
308
  | `gobi-space` | `gobi space …`, `gobi global …`, and `gobi personal …` |
314
- | `gobi-draft` | `gobi draft …` |
309
+ | `gobi-artifact` | `gobi artifact …` |
315
310
  | `gobi-media` | `gobi media …` |
316
311
  | `gobi-sense` | `gobi sense list-activities/list-transcriptions` |
317
312
  | `gobi-homepage` | Building custom HTML homepages with `window.gobi` |