Skip to content

refactor(mcp): consume the shared upload-manager app seam - #699

Merged
pcfreak30 merged 1 commit into
developfrom
refactor/mcp-consume-upload-manager-seam
Sep 12, 2026
Merged

pcfreak30 merged 1 commit into
developfrom
refactor/mcp-consume-upload-manager-seam

Conversation

@pcfreak30

@pcfreak30 pcfreak30 commented Sep 12, 2026 •

Copy link
Copy Markdown
Member

Consumes the shared Upload to IPFS app seam from the pinner module (bumps go.lumeweb.com/pinner past the upload-manager and mint-poll-fragment changes): open_upload_manager, its app view + helper tools, the async upload tools, and the presign-TTL parser are now all provided by the module, removing the CLI's parallel copies. The launcher URI, tool names, and launcher wording resolve from the shared table, and upload_list stays registered since the CLI assembly runs a single-user manager in-process.


Summary

This refactor consumes the shared Upload to IPFS app seam now provided by the go.lumeweb.com/pinner/mcp/appswire module, replacing the CLI-local implementation. It eliminates duplicated code and ensures the CLI’s upload manager surfaces (launcher, helpers, resource URI, async tools) stay byte-identical with the hosted assembly.

Key Changes

  • Module-owned upload manager
    The launcher descriptor (appswire.UploadManagerDescriptor), installer (appswire.UploadManagerInstaller), and launcher tool name (appswire.LauncherUploadManager) are now sourced from the shared pinner module. The CLI’s apps package adapts them to the process-global registry and supplies the render function (RenderAppView) and the canonical ui:// resource URI (UploadManagerAppURI).

  • Single resource URI
    All call sites that set connect domains, unregister resources, or check the URI now use apps.UploadManagerAppURI() (derived from the shared table) instead of the now-removed upload.IPFSUploadAppURI constant. This prevents the wire URI from drifting.

  • Shared async upload tools
    The upload_status, upload_cancel, and upload_list descriptors now come from pinnermcp.NewAsyncUploadTools (module-owned) rather than the CLI-local upload.NewAsyncUploadTools.

  • Unified presign-TTL parser
    The presign-TTL parsing (ParsePresignTTL) is centralized in go.lumeweb.com/pinner/transfer; all upload paths (upload_file, open_vault_manager, vault_put_file, upload_vault_app) now call that single canonical parser, removing local duplicates.

  • Test alignment
    Tests updated to verify the new seam: they reference appswire.LauncherUploadManager, apps.UploadManagerAppURI(), apps.InstallUploadManagerApp, and pinnermcp.NewAsyncUploadTools. Contract tests for the module-owned descriptors now only check boolean hints and non-empty schema descriptions (the openai/toolInvocation labels are module-owned and no longer part of the CLI wire contract).

Impact

  • Eliminates duplicated upload-manager code across the CLI and the hosted module.
  • Guarantees the CLI exposes the same launcher wording, resource URI, and helper-tool surfaces as any hosted assembly.
  • Centralizes TTL parsing and async tool definitions, reducing drift and maintenance burden.

Bumps go.lumeweb.com/pinner past the upload-manager seam and the mint
poll-fragment changes, and drops the CLI's parallel copies:
open_upload_manager and its app view + helper tools now come from
appswire, the async upload tools from pinnermcp, and the presign-TTL
parser from pinner/transfer. Launcher URI, tool names, and wording
resolve from the shared shared table; upload_list stays registered
because the CLI assembly runs a single-user manager in-process.
@kody-ai

kody-ai Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

Kody Review Complete

Great news! 🎉
No issues were found that match your current review configurations.

Keep up the excellent work! 🚀

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@pcfreak30
pcfreak30 marked this pull request as ready for review September 12, 2026 18:33
@github-actions

Copy link
Copy Markdown

Code Coverage Report

Total Coverage: 55.3%

Generated from commit: a478d77
Repository: LumeWeb/pinner-cli

@pcfreak30
pcfreak30 merged commit 9f619fc into develop Sep 12, 2026
11 checks passed
@pcfreak30
pcfreak30 deleted the refactor/mcp-consume-upload-manager-seam branch September 12, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant