@gobi-ai/cli 2.0.18 → 2.0.19

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.18",
7
+ "version": "2.0.19",
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, manage saved notes and posts, manage sessions, generate images and videos.",
12
- "version": "2.0.18",
12
+ "version": "2.0.19",
13
13
  "author": {
14
14
  "name": "gobi-ai"
15
15
  },
@@ -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.18",
4
+ "version": "2.0.19",
5
5
  "author": {
6
6
  "name": "gobi-ai"
7
7
  },
@@ -196,6 +196,7 @@ export function registerGlobalCommand(program) {
196
196
  .option("--auto-attachments", "Upload wiki-linked [[files]] to webdrive before posting (also sets authorVaultSlug to that vault)")
197
197
  .option("--draft-id <draftId>", "Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId on draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.")
198
198
  .option("--attach <file>", "Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video.", (value, prev = []) => [...prev, value], [])
199
+ .option("--repost-post-id <postId>", "Wrap an existing top-level post as the embedded card on this new post. Composes with --content / --rich-text / --attach (the wrapping author's text + media render above the embedded card). Reposts-of-reposts are collapsed to the transitive root server-side. The referenced post must exist, not be deleted, and not itself be a reply.")
199
200
  .action(async (opts) => {
200
201
  if (opts.draftId) {
201
202
  if (opts.title || opts.content || opts.richText) {
@@ -246,6 +247,13 @@ export function registerGlobalCommand(program) {
246
247
  assertPostAttachmentMix(opts.attach);
247
248
  body.attachments = await uploadPostAttachments(opts.attach);
248
249
  }
250
+ if (opts.repostPostId != null) {
251
+ const n = Number(opts.repostPostId);
252
+ if (!Number.isFinite(n) || n <= 0 || !Number.isInteger(n)) {
253
+ throw new Error("--repost-post-id must be a positive integer.");
254
+ }
255
+ body.repostPostId = n;
256
+ }
249
257
  const resp = (await apiPost(`/posts`, body));
250
258
  const post = unwrapResp(resp);
251
259
  if (opts.draftId && post.id != null) {
@@ -321,6 +321,7 @@ export function registerSpaceCommand(program) {
321
321
  .option("--space-slug <spaceSlug>", "Space slug (overrides .gobi/settings.yaml)")
322
322
  .option("--draft-id <draftId>", "Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId/spaceSlug on draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.")
323
323
  .option("--attach <file>", "Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video.", (value, prev = []) => [...prev, value], [])
324
+ .option("--repost-post-id <postId>", "Wrap an existing top-level post as the embedded card on this new post. Composes with --content / --rich-text / --attach (the wrapping author's text + media render above the embedded card). Reposts-of-reposts are collapsed to the transitive root server-side. The referenced post must exist, not be deleted, and not itself be a reply.")
324
325
  .action(async (opts) => {
325
326
  if (opts.draftId) {
326
327
  if (opts.title || opts.content || opts.richText) {
@@ -371,6 +372,13 @@ export function registerSpaceCommand(program) {
371
372
  assertPostAttachmentMix(opts.attach);
372
373
  body.attachments = await uploadPostAttachments(opts.attach);
373
374
  }
375
+ if (opts.repostPostId != null) {
376
+ const n = Number(opts.repostPostId);
377
+ if (!Number.isFinite(n) || n <= 0 || !Number.isInteger(n)) {
378
+ throw new Error("--repost-post-id must be a positive integer.");
379
+ }
380
+ body.repostPostId = n;
381
+ }
374
382
  const spaceSlug = resolveSpaceSlug(space, opts);
375
383
  const resp = (await apiPost(`/spaces/${spaceSlug}/posts`, body));
376
384
  const post = unwrapResp(resp);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobi-ai/cli",
3
- "version": "2.0.18",
3
+ "version": "2.0.19",
4
4
  "description": "CLI client for the Gobi collaborative knowledge platform",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -72,15 +72,17 @@ Usage: gobi global create-post [options]
72
72
  Create a post in the global feed. --vault-slug attributes it to a vault you own; defaults to your primary vault.
73
73
 
74
74
  Options:
75
- --title <title> Title of the post
76
- --content <content> Post content (markdown supported, use "-" for stdin)
77
- --rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
78
- --vault-slug <vaultSlug> Attribute the post to this vault (sets authorVaultSlug). Defaults to your primary vault.
79
- --auto-attachments Upload wiki-linked [[files]] to webdrive before posting (also sets authorVaultSlug to that vault)
80
- --draft-id <draftId> Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId on
81
- draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.
82
- --attach <file> Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. (default: [])
83
- -h, --help display help for command
75
+ --title <title> Title of the post
76
+ --content <content> Post content (markdown supported, use "-" for stdin)
77
+ --rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
78
+ --vault-slug <vaultSlug> Attribute the post to this vault (sets authorVaultSlug). Defaults to your primary vault.
79
+ --auto-attachments Upload wiki-linked [[files]] to webdrive before posting (also sets authorVaultSlug to that vault)
80
+ --draft-id <draftId> Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId on
81
+ draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.
82
+ --attach <file> Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. (default: [])
83
+ --repost-post-id <postId> Wrap an existing top-level post as the embedded card on this new post. Composes with --content / --rich-text / --attach (the wrapping author's text + media render above
84
+ the embedded card). Reposts-of-reposts are collapsed to the transitive root server-side. The referenced post must exist, not be deleted, and not itself be a reply.
85
+ -h, --help display help for command
84
86
  ```
85
87
 
86
88
  ## edit-post
@@ -117,16 +117,18 @@ Usage: gobi space create-post [options]
117
117
  Create a post in a space.
118
118
 
119
119
  Options:
120
- --title <title> Title of the post
121
- --content <content> Post content (markdown supported, use "-" for stdin)
122
- --rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
123
- --auto-attachments Upload wiki-linked [[files]] to webdrive before posting (also attributes the post to that vault)
124
- --vault-slug <vaultSlug> Attribute the post to this vault (sets authorVaultId). Also used as upload destination for --auto-attachments.
125
- --space-slug <spaceSlug> Space slug (overrides .gobi/settings.yaml)
126
- --draft-id <draftId> Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId/spaceSlug on
127
- draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.
128
- --attach <file> Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. (default: [])
129
- -h, --help display help for command
120
+ --title <title> Title of the post
121
+ --content <content> Post content (markdown supported, use "-" for stdin)
122
+ --rich-text <richText> Rich-text JSON array (mutually exclusive with --content)
123
+ --auto-attachments Upload wiki-linked [[files]] to webdrive before posting (also attributes the post to that vault)
124
+ --vault-slug <vaultSlug> Attribute the post to this vault (sets authorVaultId). Also used as upload destination for --auto-attachments.
125
+ --space-slug <spaceSlug> Space slug (overrides .gobi/settings.yaml)
126
+ --draft-id <draftId> Use this draft as the source of title and content (mutually exclusive with --title/--content/--rich-text). On success, links the post back by recording postId/spaceSlug
127
+ on draft.metadata so the client can render an 'Open post' button. The draft's vaultSlug seeds --vault-slug when not given explicitly.
128
+ --attach <file> Local media file to attach. Repeatable. X-style mix rule: up to 4 photos OR 1 GIF OR 1 video. Size ceilings: 5MB photos / 15MB GIFs / 512MB video. (default: [])
129
+ --repost-post-id <postId> Wrap an existing top-level post as the embedded card on this new post. Composes with --content / --rich-text / --attach (the wrapping author's text + media render above
130
+ the embedded card). Reposts-of-reposts are collapsed to the transitive root server-side. The referenced post must exist, not be deleted, and not itself be a reply.
131
+ -h, --help display help for command
130
132
  ```
131
133
 
132
134
  ## edit-post