feat: add examples directory support and update metadata schema in skill files and bug fixes#322
feat: add examples directory support and update metadata schema in skill files and bug fixes#322frontegg-david wants to merge 3 commits intorelease/1.0.xfrom
Conversation
…signatures in TypeScript files
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (38)
📝 WalkthroughWalkthroughThis PR refactors the weather tool to externalize its React UI into separate template files, implements dual-path resource argument completers with convention-based and override-based discovery, enables MCP session reinitialization with ID reuse, and enhances the UI bundling system to auto-detect and reuse pre-existing MCP bridges. Changes
Sequence Diagram(s)sequenceDiagram
participant Client as Client Request
participant HttpFlow as HttpRequestFlow
participant Notif as NotificationService
participant Transport as Transporter
participant Adapter as TransportAdapter
Client->>HttpFlow: DELETE /{sessionId}
HttpFlow->>Notif: terminateSession(sessionId)
Notif-->>HttpFlow: success
HttpFlow->>Transport: destroy()
Transport->>Adapter: destroy()
rect rgba(150, 150, 255, 0.5)
Note over Client,Adapter: Later: Re-initialization
Client->>HttpFlow: initialize (with mcp-session-id)
HttpFlow->>Notif: unmarkTerminated(sessionId)
Notif-->>HttpFlow: removed from terminated set
HttpFlow->>Transport: resetForReinitialization()
Transport->>Adapter: resetForReinitialization()
Adapter-->>Transport: ready
Transport->>Adapter: reregisterServer()
Adapter->>Notif: registerServer(sessionId, server)
Notif-->>Adapter: registered
Adapter-->>Transport: registered
Transport-->>HttpFlow: reinitialized
HttpFlow-->>Client: initialize success (same session ID)
end
sequenceDiagram
participant SDK as ResourceInstance
participant Class as ResourceClass
participant DI as DI Scope
participant Completer as Completer Method
SDK->>SDK: getArgumentCompleter('categoryName')
rect rgba(100, 200, 100, 0.5)
Note over SDK,Completer: Convention-based (Prioritized)
SDK->>Class: check for categoryNameCompleter method
Class-->>SDK: method exists
SDK->>DI: create ResourceContext instance
DI-->>SDK: instance with providers
SDK->>Completer: invoke categoryNameCompleter(partial)
Completer->>DI: this.get(CatalogService)
DI-->>Completer: service
Completer-->>SDK: { values: [...], total: N }
SDK-->>Class: return wrapped completer
end
sequenceDiagram
participant Window as Window/IIFE
participant Bridge as FrontMcpBridge
participant Provider as McpBridgeProvider
participant Hook as useCallTool
Window->>Window: Check globalThis.FrontMcpBridge
alt Existing IIFE Bridge
Window->>Provider: existing bridge found
Provider->>Provider: skip creating new bridge
alt Bridge already initialized
Provider->>Hook: use existing bridge
else Bridge not initialized
Provider->>Window: register bridge:ready listener
Window->>Provider: fire bridge:ready event
Provider->>Hook: use shared bridge
end
else No IIFE Bridge
Provider->>Bridge: create new FrontMcpBridge
Bridge-->>Provider: bridge instance
Provider->>Hook: use created bridge
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~65 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
# Conflicts: # libs/cli/src/commands/skills/read.ts # libs/skills/__tests__/skills-validation.spec.ts # libs/skills/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md # libs/skills/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md # libs/skills/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md # libs/skills/catalog/frontmcp-deployment/examples/deploy-to-lambda/cdk-deployment.md # libs/skills/catalog/frontmcp-deployment/examples/deploy-to-node/docker-compose-with-redis.md # libs/skills/catalog/frontmcp-development/examples/create-plugin-hooks/basic-logging-plugin.md # libs/skills/catalog/frontmcp-development/examples/create-plugin/plugin-with-context-extension.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-cli-binary/binary-build-config.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-lambda/scaling-and-monitoring.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-node-sdk/package-json-config.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-node-server/docker-multi-stage.md # libs/skills/catalog/frontmcp-production-readiness/examples/production-vercel/vercel-edge-config.md # libs/skills/catalog/frontmcp-testing/examples/test-cli-binary/binary-startup-test.md
Performance Test ResultsStatus: ✅ All tests passed Summary
Total: 101 tests across 21 projects 📊 View full report in workflow run Generated at: 2026-03-31T03:40:53.834Z |
Summary by CodeRabbit
New Features
Bug Fixes
Documentation