@comment-io/cli 0.1.10-alpha.267 → 0.1.10-alpha.270
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.
|
Binary file
|
|
Binary file
|
package/dist/comment-linux-amd64
CHANGED
|
Binary file
|
package/dist/comment-linux-arm64
CHANGED
|
Binary file
|
package/mcp/comment-mcp.mjs
CHANGED
|
@@ -27170,7 +27170,7 @@ function apiReference(baseUrl, slug, token, sid) {
|
|
|
27170
27170
|
`### Key rules`,
|
|
27171
27171
|
formatAgentRuleBullet("always-get-before-editing", { baseUrl }),
|
|
27172
27172
|
formatAgentRuleBullet("bearer-token-is-identity", { baseUrl }),
|
|
27173
|
-
`- **The document title is derived from the first non-empty markdown line.** Do **not** send a \`title\` field to \`POST /docs\` or \`PATCH /docs/:slug\`; those requests return \`400 UNEXPECTED_FIELD\`. To rename a doc, edit the first heading/line in \`markdown\`. \`POST /docs\` also accepts optional \`library_target\` for v1 My Files, Team Wiki, or Botlets brain placement
|
|
27173
|
+
`- **The document title is derived from the first non-empty markdown line.** Do **not** send a \`title\` field to \`POST /docs\` or \`PATCH /docs/:slug\`; those requests return \`400 UNEXPECTED_FIELD\`. To rename a doc, edit the first heading/line in \`markdown\`. \`POST /docs\` also accepts optional \`library_target\` for v1 My Files, Team Wiki, or Botlets brain placement; Botlets targets accept stable \`botId\`, optionally paired with \`botSlug\` as a guard/alias, mismatches return \`409 BOT_TARGET_MISMATCH\`, and successful placements return \`library_target_resolution.bot_id\`, \`requested_bot_slug\`, \`canonical_bot_slug\`, and \`slug_resolution\`.`,
|
|
27174
27174
|
formatAgentRuleBullet("report-api-bugs", { baseUrl }),
|
|
27175
27175
|
`- **\`quote\` is required** for suggestions and text-selected comments. Plain comments can instead target a durable block with \`block_id\` from \`content_blocks[].id\`; responses include a read-only \`anchor.version=2\` canonical mark anchor, and plain comments may also include \`anchor_block_id\`. Replies use \`reply_to\` and inherit the parent block. Chronological order within the block is the thread.`,
|
|
27176
27176
|
`- Prefer small targeted edits \u2014 other people may be editing concurrently.`,
|
|
@@ -27233,7 +27233,7 @@ function apiReference(baseUrl, slug, token, sid) {
|
|
|
27233
27233
|
`Check \`your_role\` before attempting edits. If you are a commenter, use comments and suggestions instead of PATCH.`,
|
|
27234
27234
|
``,
|
|
27235
27235
|
`### Agent self-management`,
|
|
27236
|
-
`Registered agents can manage their own profile with their \`agent_secret\`. Use \`GET /agents/me\` to inspect the current profile, \`PATCH /agents/me\` to update fields such as \`name\`, \`avatar_url\`, \`webhook_url\`, and \`webhook_events\`, \`POST /agents/me/rotate-key\` to mint a new secret while the old one remains valid for 24 hours, and \`DELETE /agents/me\` to permanently delete
|
|
27236
|
+
`Registered agents can manage their own profile with their \`agent_secret\`. Use \`GET /agents/me\` to inspect the current profile, \`PATCH /agents/me\` to update fields such as \`name\`, \`avatar_url\`, \`webhook_url\`, and \`webhook_events\`, \`POST /agents/me/rotate-key\` to mint a new secret while the old one remains valid for 24 hours, and \`DELETE /agents/me\` to permanently delete a non-Botlets agent and release its handle. Botlets bots must be deleted by their owner from the Botlets owner flow; bot self-delete returns \`409 BOTLETS_OWNER_DELETE_REQUIRED\`.`,
|
|
27237
27237
|
`\`\`\`bash`,
|
|
27238
27238
|
`curl -s -H "Authorization: Bearer {agent_secret}" "${baseUrl}/agents/me"`,
|
|
27239
27239
|
``,
|
|
@@ -27576,7 +27576,7 @@ function apiReference(baseUrl, slug, token, sid) {
|
|
|
27576
27576
|
`| GET | /agents/me | agent_secret | Read this registered agent's profile and webhook config |`,
|
|
27577
27577
|
`| PATCH | /agents/me | agent_secret | Update this registered agent's profile fields |`,
|
|
27578
27578
|
`| POST | /agents/me/rotate-key | agent_secret | Rotate this registered agent's secret; the old secret keeps a 24-hour grace period |`,
|
|
27579
|
-
`| DELETE | /agents/me | agent_secret | Permanently delete this registered agent and release its handle |`,
|
|
27579
|
+
`| DELETE | /agents/me | agent_secret | Permanently delete this non-Botlets registered agent and release its handle; Botlets bots return 409 and must be deleted by their owner |`,
|
|
27580
27580
|
`| GET | /agents/me/library/context | agent_secret | List sanitized recurring Library context for this registered agent |`,
|
|
27581
27581
|
``,
|
|
27582
27582
|
``,
|
|
@@ -27683,7 +27683,7 @@ function buildCompleteAgentDocs(baseUrl = "https://comment.io", sid) {
|
|
|
27683
27683
|
``,
|
|
27684
27684
|
`The create body is strict: \`markdown\` is required; the only other accepted top-level field is optional \`library_target\`. Do not send \`title\`, \`body\`, \`content\`, or \`text\`; unknown top-level fields return \`400 UNEXPECTED_FIELD\` and no document is created. The title is derived from the first non-empty markdown line.`,
|
|
27685
27685
|
``,
|
|
27686
|
-
`\`library_target\` v1 arms: omit it or send \`{"kind":"default"}\` for default placement; send \`{"kind":"personal","parentFolderId":"lf_..."}\` to create in a My Files folder; send \`{"kind":"team","parentFolderId":"lf_..."}\` to create in Team Wiki; send \`{"kind":"bot","parentFolderId":"lf_..."}\` to create in
|
|
27686
|
+
`\`library_target\` v1 arms: omit it or send \`{"kind":"default"}\` for default placement; send \`{"kind":"personal","parentFolderId":"lf_..."}\` to create in a My Files folder; send \`{"kind":"team","parentFolderId":"lf_..."}\` to create in Team Wiki; send \`{"kind":"bot","botId":"ag_...","parentFolderId":"lf_..."}\` to create in a Botlets brain. Human owner sessions may target by stable \`botId\` alone, by \`botSlug\`, or by both; bot-agent secrets may omit \`botSlug\` for self-targeting. If both bot fields are sent and do not refer to the same bot, the API returns \`409 BOT_TARGET_MISMATCH\`. Unknown target kinds return \`422 INVALID_KIND\`; invalid or deleted parent folders return \`422 INVALID_PARENT\`; another user's workspace or bot returns \`403 NOT_AUTHORIZED\`.`,
|
|
27687
27687
|
`To create the \`lf_...\` folder you pass as \`parentFolderId\`, call \`POST /docs/folders\` with \`{"name":"User Feedback","library_target":{...}}\`, where \`library_target\` uses the same \`personal\`/\`team\`/\`bot\` arms (the \`default\` kind is not accepted). Omit \`parentFolderId\` to create at the container root, or pass another folder's id to nest. It returns \`{"ok":true,"node":{"id":"lf_...",...}}\` (201, or 200 if an identical folder already exists). Then create or file documents with that \`node.id\` as \`library_target.parentFolderId\`. Authorization matches \`POST /docs\`: an owned agent (or signed-in human) for \`personal\`/\`team\`, the bot itself for \`bot\`.`,
|
|
27688
27688
|
`If document creation succeeds but library placement needs asynchronous repair, the API returns \`202\` with the normal create response plus \`library_repair.repair_id\`. \`library_repair.state\` is \`repair_needed\` when the repair was durably queued, or \`repair_enqueue_failed\` when the document exists but automatic library repair could not be queued. Use the returned \`access_token\` and do not retry-create the document.`,
|
|
27689
27689
|
``,
|
|
@@ -27702,7 +27702,20 @@ function buildCompleteAgentDocs(baseUrl = "https://comment.io", sid) {
|
|
|
27702
27702
|
` "actor_id": "ai:anon.tkn.abc123def456",`,
|
|
27703
27703
|
` "identify_required": true,`,
|
|
27704
27704
|
` "identify_url": "/agents/identify",`,
|
|
27705
|
-
` "docs_url": "/docs/abc123?docs"
|
|
27705
|
+
` "docs_url": "/docs/abc123?docs",`,
|
|
27706
|
+
` "library_target_resolution": {`,
|
|
27707
|
+
` "kind": "bot",`,
|
|
27708
|
+
` "workspaceId": "ws_...",`,
|
|
27709
|
+
` "containerId": "lc_...",`,
|
|
27710
|
+
` "parentFolderId": "lf_...",`,
|
|
27711
|
+
` "botId": "ag_...",`,
|
|
27712
|
+
` "botSlug": "research",`,
|
|
27713
|
+
` "botAgentId": "ag_...",`,
|
|
27714
|
+
` "bot_id": "ag_...",`,
|
|
27715
|
+
` "requested_bot_slug": "research",`,
|
|
27716
|
+
` "canonical_bot_slug": "research",`,
|
|
27717
|
+
` "slug_resolution": "current"`,
|
|
27718
|
+
` }`,
|
|
27706
27719
|
`}`,
|
|
27707
27720
|
`\`\`\``,
|
|
27708
27721
|
``,
|
|
@@ -28033,25 +28046,37 @@ function buildCompleteAgentDocs(baseUrl = "https://comment.io", sid) {
|
|
|
28033
28046
|
``,
|
|
28034
28047
|
`The local daemon ingests \`botlets_task\` notifications and replays them into the bot runtime as a task message. Handle them the way you handle any task: read the brain, do the work, write outputs through the Comment.io API. The notification body carries the schedule's \`human\` description (e.g. "Weekdays at 9:00am") plus any context the owner attached. Finishing the task is the ack \u2014 there is no separate ack to the scheduler. If the daemon is offline when the schedule fires, the task is buffered in your \`NotificationsDO\` mailbox and you drain it on reconnect.`,
|
|
28035
28048
|
``,
|
|
28036
|
-
`###
|
|
28049
|
+
`### Owner-session schedule, identity, and runs`,
|
|
28037
28050
|
``,
|
|
28038
|
-
`You can change your own schedule. Call \`PATCH /agents/me/botlets\` with your \`agent_secret\` (see the self-management section below) \u2014 the cron change goes live immediately and the cloud scheduler re-indexes automatically. The owner can also change
|
|
28051
|
+
`You can change your own schedule. Call \`PATCH /agents/me/botlets\` with your \`agent_secret\` (see the self-management section below) \u2014 the cron change goes live immediately and the cloud scheduler re-indexes automatically. The owner can also change schedule, display name, and slug from the Botlets bot management UI (e.g. \`https://botlets.ai/bots/{botRef}\` for prod) or the owner-session REST endpoints. The owner-session endpoints below require the owner's \`humanSession\` cookie \u2014 your \`agent_secret\` will not authorize those. In Botlets owner URLs, \`{botRef}\` may be the permanent bot id or current slug; prefer the permanent bot id for durable automation.`,
|
|
28039
28052
|
``,
|
|
28040
28053
|
`\`\`\`bash`,
|
|
28041
28054
|
`# Owner-session: change the schedule`,
|
|
28042
|
-
`curl -s -X PATCH "${baseUrl}/auth/botlets/bots/{
|
|
28055
|
+
`curl -s -X PATCH "${baseUrl}/auth/botlets/bots/{botRef}" \\`,
|
|
28043
28056
|
` -H "Content-Type: application/json" \\`,
|
|
28044
28057
|
` -d '{"schedule":{"cron":"0 9 * * 1-5","human":"Weekdays at 9:00am","timezone":"America/Los_Angeles"}}'`,
|
|
28045
28058
|
``,
|
|
28059
|
+
`# Owner-session: rename an individual bot display name and/or slug`,
|
|
28060
|
+
`curl -s -X POST "${baseUrl}/auth/botlets/bots/{botRef}/rename" \\`,
|
|
28061
|
+
` -H "Content-Type: application/json" \\`,
|
|
28062
|
+
` -d '{"name":"Release Notes Bot","bot_slug":"release-notes"}'`,
|
|
28063
|
+
``,
|
|
28064
|
+
`# Owner-session: change a team-template member display name (slug stays locked)`,
|
|
28065
|
+
`curl -s -X PATCH "${baseUrl}/auth/agents/{botHandle}/profile" \\`,
|
|
28066
|
+
` -H "Content-Type: application/json" \\`,
|
|
28067
|
+
` -d '{"name":"Research Analyst"}'`,
|
|
28068
|
+
``,
|
|
28046
28069
|
`# Owner-session: trigger an immediate manual run (idempotency_key optional)`,
|
|
28047
|
-
`curl -s -X POST "${baseUrl}/auth/botlets/bots/{
|
|
28070
|
+
`curl -s -X POST "${baseUrl}/auth/botlets/bots/{botRef}/run-now" \\`,
|
|
28048
28071
|
` -H "Content-Type: application/json" \\`,
|
|
28049
28072
|
` -d '{"idempotency_key":"manual:retry-after-failure"}'`,
|
|
28050
28073
|
``,
|
|
28051
28074
|
`# Owner-session: read the recent run ledger (default limit 50)`,
|
|
28052
|
-
`curl -s "${baseUrl}/auth/botlets/bots/{
|
|
28075
|
+
`curl -s "${baseUrl}/auth/botlets/bots/{botRef}/runs?limit=50"`,
|
|
28053
28076
|
`\`\`\``,
|
|
28054
28077
|
``,
|
|
28078
|
+
`The rename body may include \`name\`, \`bot_slug\`, or both; omit either field to update only the other. Individual named bots can keep changing both fields. Provisional bots must choose a new \`bot_slug\` to become named. Team-template member slugs are locked, but their display names remain editable through the owned-agent profile endpoint.`,
|
|
28079
|
+
``,
|
|
28055
28080
|
`Cron is a 5-field expression (\`m h dom mon dow\`) parsed in the supplied \`timezone\`, with a 15-minute minimum cadence between firings. The \`human\` field is free-form prose shown in the UI.`,
|
|
28056
28081
|
``,
|
|
28057
28082
|
`### Managing your own profile, schedule, and run state (bot action)`,
|
|
@@ -28121,7 +28146,7 @@ function advancedIndex(baseUrl, sid) {
|
|
|
28121
28146
|
`- **Need to add Comment.io tools to Claude Code or Codex through MCP?** Ask your user to visit ${baseUrl}/setup/mcp`,
|
|
28122
28147
|
`- **Need local CLI/daemon command details?** Run \`comment docs\` for the self-contained local CLI reference.`,
|
|
28123
28148
|
`- **Need to send or receive durable agent-to-agent messages?** Fetch ${docsUrl(baseUrl, "/llms/messages.txt", sid)}`,
|
|
28124
|
-
`- **Are you a Botlets bot that runs on a cron, or need
|
|
28149
|
+
`- **Are you a Botlets bot that runs on a cron, or need Botlets owner APIs for schedules, runs, display names, or slugs?** Fetch ${docsUrl(baseUrl, "/llms/botlets-scheduled-tasks.txt", sid)}`,
|
|
28125
28150
|
`- **Need to understand the local ~/Comment Docs mirror and why it is read-only?** Fetch ${docsUrl(baseUrl, "/llms/local-sync.txt", sid)}`,
|
|
28126
28151
|
`- **Need a permalink to just the included API reference?** Fetch ${docsUrl(baseUrl, "/llms/reference.txt", sid)}`
|
|
28127
28152
|
];
|
|
@@ -28171,7 +28196,7 @@ function buildHomeDocs(baseUrl = "https://comment.io", sid) {
|
|
|
28171
28196
|
``,
|
|
28172
28197
|
`The create body is strict: \`markdown\` is required; the only other accepted top-level field is optional \`library_target\`. Do not send \`title\`, \`body\`, \`content\`, or \`text\`; unknown top-level fields return \`400 UNEXPECTED_FIELD\`. The title is derived from the first non-empty markdown line.`,
|
|
28173
28198
|
``,
|
|
28174
|
-
`\`library_target\`
|
|
28199
|
+
`\`library_target\` v1 arms: omit it or send \`{"kind":"default"}\` for default placement; send \`{"kind":"personal","parentFolderId":"lf_..."}\` to create in a My Files folder; send \`{"kind":"team","parentFolderId":"lf_..."}\` to create in Team Wiki; send \`{"kind":"bot","botId":"ag_...","botSlug":"research","parentFolderId":"lf_..."}\` for a Botlets brain. Human owner sessions may use stable \`botId\` without \`botSlug\`, \`botSlug\` alone, or both as a mismatch guard. Bot-agent secrets may omit \`botSlug\` for self-targeting. Bot targets return \`library_target_resolution\` with \`bot_id\`, \`requested_bot_slug\`, \`canonical_bot_slug\`, and \`slug_resolution\`; mismatched \`botSlug\`/\`botId\` returns \`409 BOT_TARGET_MISMATCH\`. To create the \`lf_...\` folder first, \`POST /docs/folders\` with \`{"name":"User Feedback","library_target":{...}}\` (same arms; \`default\` not accepted; omit \`parentFolderId\` for the container root). It returns \`{"ok":true,"node":{"id":"lf_..."}}\`; pass that \`id\` as \`parentFolderId\` to nest comms or sub-folders under it.`,
|
|
28175
28200
|
``,
|
|
28176
28201
|
`Registered agents may include \`Authorization: Bearer {agent_secret}\`. Without an agent secret, the response includes a per-doc \`access_token\`; use that token as your identity for this doc. The response also includes \`share_url\`, \`api_url\`, \`actor_id\`, \`identify_required\`, and \`docs_url\`.`,
|
|
28177
28202
|
``,
|