@rolino/mcp 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @rolino/mcp
2
2
 
3
+ ## 0.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 592d4f2: Add existing-delivery checks and confirmed YouTube recovery across the API, SDK, CLI, and MCP. Preserve exact video and version bindings, action-specific permissions, and stable retry results without uploading another copy. Show saved remote IDs in CLI post details.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [b4ebe20]
12
+ - Updated dependencies [592d4f2]
13
+ - @rolino/contracts@0.9.0
14
+ - @rolino/sdk@0.9.0
15
+ - @rolino/local-auth@0.9.0
16
+
3
17
  ## 0.8.0
4
18
 
5
19
  ### Minor Changes
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  # `@rolino/mcp`
2
2
 
3
- Rolino's Model Context Protocol adapter. Rolino supports hosted Streamable HTTP
4
- with client-owned OAuth and local STDIO with the shared CLI OAuth session. The
5
- hosted route is stateless and does not need this package on the caller's
6
- computer. This package supplies the local STDIO process and the shared MCP tool
7
- definitions used by both transports.
3
+ Rolino's Model Context Protocol adapter. Rolino supports hosted Streamable HTTP
4
+ with client-owned OAuth and local STDIO with the shared CLI OAuth session. The
5
+ hosted route is stateless and does not need this package on the caller's
6
+ computer. This package supplies the local STDIO process and the shared MCP tool
7
+ definitions used by both transports.
8
8
 
9
9
  ## Installation
10
10
 
11
- Local STDIO MCP remains a separate, explicit installation so CLI-only and
12
- remote users do not receive MCP runtime dependencies:
11
+ Local STDIO MCP remains a separate, explicit installation so CLI-only and
12
+ remote users do not receive MCP runtime dependencies:
13
13
 
14
14
  ```bash
15
15
  npm install --global @rolino/cli @rolino/mcp
16
16
  ```
17
17
 
18
- For hosted Streamable HTTP, run `rolino setup mcp --client codex --transport
19
- http`, then `codex mcp login rolino`. For local STDIO, the CLI handles standard
20
- OAuth Authorization Code with PKCE and writes token-free Codex or Claude Code
21
- configuration that points to this package's installed entry point.
18
+ For hosted Streamable HTTP, run `rolino setup mcp --client codex --transport
19
+ http`, then `codex mcp login rolino`. For local STDIO, the CLI handles standard
20
+ OAuth Authorization Code with PKCE and writes token-free Codex or Claude Code
21
+ configuration that points to this package's installed entry point.
22
22
  Headless operators may install only `@rolino/mcp` and provide a scoped
23
23
  `ROLINO_TOKEN` explicitly.
24
24
 
@@ -28,12 +28,12 @@ Initial tools:
28
28
  - `list_projects`
29
29
  - `get_project`
30
30
  - `create_project`
31
- - `list_media_assets`
32
- - `get_storage_usage`
33
- - `preview_media_cleanup`
34
- - `execute_media_cleanup`
35
- - `get_media_cleanup_status`
36
- - `upload_media_asset`
31
+ - `list_media_assets`
32
+ - `get_storage_usage`
33
+ - `preview_media_cleanup`
34
+ - `execute_media_cleanup`
35
+ - `get_media_cleanup_status`
36
+ - `upload_media_asset`
37
37
  - `list_posts`
38
38
  - `get_post`
39
39
  - `create_draft_post`
@@ -66,17 +66,17 @@ The media tools discover reusable project assets and stream one explicitly
66
66
  approved local JPEG, PNG, WebP, MP4, or MOV file directly to configured
67
67
  storage. Rolino derives dimensions and video duration from the stored object.
68
68
  Uploading never creates, schedules, or publishes a post; the returned
69
- asset ID is passed into a later draft operation.
70
-
71
- `get_storage_usage` and `list_media_assets` are bounded closed-world reads.
72
- Cleanup requires the separate `media:delete` permission. Preview creates an
73
- exact confirmation but deletes nothing. Before execute, show the upload-age
74
- cutoff, candidate count, excluded in-use count, unknown-size count, and estimated
75
- space. A general request to free space is not execute approval. Execute queues
76
- only the unchanged confirmed files with an idempotency key. In-use files are
77
- never detached, and queued bytes remain counted until physical deletion succeeds.
78
- The deletion worker skips a file without contacting storage if its confirmed
79
- workspace, project, asset, storage identity, or version changed.
69
+ asset ID is passed into a later draft operation.
70
+
71
+ `get_storage_usage` and `list_media_assets` are bounded closed-world reads.
72
+ Cleanup requires the separate `media:delete` permission. Preview creates an
73
+ exact confirmation but deletes nothing. Before execute, show the upload-age
74
+ cutoff, candidate count, excluded in-use count, unknown-size count, and estimated
75
+ space. A general request to free space is not execute approval. Execute queues
76
+ only the unchanged confirmed files with an idempotency key. In-use files are
77
+ never detached, and queued bytes remain counted until physical deletion succeeds.
78
+ The deletion worker skips a file without contacting storage if its confirmed
79
+ workspace, project, asset, storage identity, or version changed.
80
80
 
81
81
  The tool set includes discovery and inspection tools that are read-only.
82
82
  The four SEO tools require the exact optional `seo:read` capability. They are
@@ -251,3 +251,12 @@ when `blog:publish` is missing; otherwise preview and execute unchanged
251
251
  publication or scheduling; poll delivery and verify the live URL; and restart
252
252
  from approval preview after any content or image change. Existing credentials
253
253
  do not gain `blog:approve`, and a queued delivery is not published.
254
+
255
+
256
+ ## Existing delivery recovery
257
+
258
+ `check_post_delivery` reads an existing upload and updates Rolino. It requires `posts:write` and does not publish. `UNKNOWN` requires manual review.
259
+
260
+ `preview_post_recovery` verifies an existing YouTube video and returns the account, consequence, and a short-lived confirmation. After the user approves it, `execute_post_recovery` accepts identical action, video ID, publication time, post version, and token with a stable idempotency key. `ATTACH` cannot publish; `RESUME` requires an explicit future `publishAt` or `null` for publication now, plus `posts:schedule` or `posts:publish`. `QUEUED` is pending, not published. All recovery tools are marked as writes because they change local records. No recovery tool uploads another copy.
261
+
262
+ The same tools are available through packaged and hosted MCP. Upgrade the server and packaged client before using them.