Skip to content

feat(den): guide chat through marketplace plugin imports - #2847

Merged
reachjalil merged 3 commits into
different-ai:devfrom
reachjalil:feature/marketplace-chat-import
Jul 17, 2026
Merged

feat(den): guide chat through marketplace plugin imports#2847
reachjalil merged 3 commits into
different-ai:devfrom
reachjalil:feature/marketplace-chat-import

Conversation

@reachjalil

@reachjalil reachjalil commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

This is the conversational entry-point follow-up to the imported MCP authentication and recovery work in #2851/#2864 and the compact action UI in #2863.

  • make Den's existing GitHub plugin preview, marketplace import, and resolved-readiness operations reliably discoverable from OpenWork Cloud chat
  • require the agent to preview first and confirm the target marketplace, selected skills/MCP servers, and audience before importing
  • make the request-wide authType explicitly a fallback for unknown servers; plugin declarations and known-server policy remain authoritative
  • require a resolved-marketplace read after import so chat reports cloudReadiness and the exact administrator/member action instead of claiming that an imported binding is usable
  • keep OAuth clients, credentials, connection repair, and provider-specific behavior out of the chat orchestration layer

End-to-end behavior

  1. A user asks chat to add a public GitHub plugin to an organization marketplace.
  2. The agent discovers the marketplace list and GitHub preview/import operations from the same OpenAPI-derived catalog used by openwork-cloud.
  3. The agent previews the repository and confirms the destination, selected component keys, and access audience.
  4. The existing Den import route applies the authentication policy merged in fix(den): recover imported MCP authentication setup #2851/fix(den): harden imported MCP connection recovery #2864 and creates the marketplace plugin.
  5. The agent reads the resolved marketplace and reports whether the plugin is ready, needs administrator setup, or needs member sign-in.
  6. The existing marketplace UI from feat(den): simplify MCP action cards #2863 presents any required MCP actions.

Scope and trust boundaries

  • Den-managed Connect only; no local/direct engine MCP or OAuth changes.
  • No schema, database, token storage, credential, tenant-scope, or authorization changes.
  • Chat cannot provide OAuth clients, API keys, or other secret setup through these operations.
  • This PR does not add a generic GitHub token to the public-import path. Private-repository import requires a separate tenant-scoped credential design.

Validation

Refreshed onto current upstream/dev at 00fa6d4bb.

  • pnpm --filter @openwork-ee/den-api exec bun test test/mcp-agent-config-policy.test.ts test/mcp-agent-timeouts.test.ts test/github-plugin-mcp-auth.test.ts23 passed
  • pnpm --filter @openwork-ee/den-api build — passed
  • git diff --check — passed

The catalog test loads Den's OpenAPI document, runs the same search used by the chat MCP, and verifies discovery of preview, import, and resolved-readiness operations plus the access, authentication-fallback, marketplace, and selected-component request fields.

Manual verification

Not run: the live signed-in chat journey mutates organization marketplace data and requires organization credentials.

Suggested reviewer flow:

  1. Ask OpenWork chat to add a public plugin folder such as https://github.com/anthropics/knowledge-work-plugins/tree/main/engineering.
  2. Confirm chat previews the contents and asks for marketplace, selection, and audience confirmation before importing.
  3. Confirm the imported plugin appears in the selected marketplace.
  4. Confirm chat reads resolved readiness and reports the actual admin/member connection action without inventing credential instructions.

Known external gap

The broader current-dev marketplace readiness suite was also attempted: 53 passed, 1 failed. The existing misclassified Slack bindings stay blocked until an admin repairs OAuth setup cleanup assertion expected the replaced connection row to be deleted, but it remained. This PR changes only agent instructions, OpenAPI descriptions, and their focused tests; it does not touch that cleanup path. The failure remains explicitly unresolved and is not presented as passing validation for this PR.

@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openwork-landing Ready Ready Preview, Comment, Open in v0 Jul 17, 2026 12:12am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
openwork-diagnostics Skipped Skipped Jul 17, 2026 12:12am

@vercel
vercel Bot temporarily deployed to Preview – openwork-diagnostics July 16, 2026 16:26 Inactive
@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@reachjalil is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

@reachjalil reachjalil changed the title feat(den): enable marketplace imports from chat [Paused] feat(den): enable marketplace imports from chat Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

Paused intentionally while we solidify plugin patterns and review the plugin/MCP connection lifecycle, including the reported disconnect behavior. Keep this PR as a draft; we will return to it after that investigation.

@reachjalil reachjalil changed the title [Paused] feat(den): enable marketplace imports from chat feat(den): guide chat through marketplace plugin imports Jul 16, 2026
@vercel
vercel Bot temporarily deployed to Preview – openwork-diagnostics July 16, 2026 23:53 Inactive
@reachjalil
reachjalil marked this pull request as ready for review July 17, 2026 01:20
@reachjalil
reachjalil merged commit 0f842ed into different-ai:dev Jul 17, 2026
7 of 15 checks passed
@reachjalil
reachjalil deleted the feature/marketplace-chat-import branch July 17, 2026 01:20
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