Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing#56
Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing#56mega123-art wants to merge 8 commits into
Conversation
…ing, enhance skill detail view with required skills, and update state management for new actions.
- Introduced `installPlugin` request and `pluginInstallResult` event in market messages for plugin management. - Enhanced `ChatEnv` interface to include `installPlugin` method. - Implemented plugin installation logic in the chat session and webview components. - Added UI elements for installing plugins, including checks for engine compatibility and manifest validation. - Created `pluginInstall` module to handle the execution of plugin installation commands for Codex and Claude engines. - Added tests for plugin installation guards to ensure proper handling of missing metadata and unsupported engines. - Updated documentation to reflect new plugin installation features and requirements.
… updates and environment tests
|
Thanks @mega123-art — solid work here. Before merging I'd like to split this into smaller, independently-mergeable PRs so the finished pieces can land now without waiting on the on-chain plugin work. Looking at the diff, this PR actually bundles four separate concerns: ✅ Ready / self-contained — please split into their own PR(s)
These look complete and I'd like each (1 and 2 especially) as its own PR, rebased on ⛔ Not ready — please pull out and scope separately
What I'll handle on my side
Nothing implemented here is lost — once the on-chain collection + publish path exist, we'll cherry-pick the plugin work from this branch. For now let's get the dispose/re-equip and workflow-selling PRs in cleanly. 🙏 |
|
Split the ready pieces out of this bundled PR:
Plugin NFT collection/install work is left out of those PRs and can stay WIP/draft until the plugin collection minting/publishing + IQ Git PDA provenance pieces are scoped. |
PR Description: Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing
This Pull Request brings full mobile webview parity for skill management (removing/re-equipping), enables workflow selling from the marketplace screen, improves agent passive skill awareness, and merges the on-chain plugin installation plumbing.
Key Features
1. Mobile Skill Market Parity (Equip / Dispose)
marketDisposedstate record in the webview store to sync with SSE server payloads.SkillDetailViewfooter with direct RPC message triggers (disposeSkill/reEquipSkill).2. Workflow Selling
publishSkillRPC callback. If a publish input containstype: workflow, it automatically parses prerequisites (requiredSkills) and delegates the minting topublishWorkflowinstead ofpublishSkill.3. Agent Skill Awareness
updateSkillsSectionto pass the correct active runtime engine (Claude vs Codex).~/.claude/skills/or~/.codex/skills/) and instructions on using standard file tools (likeview_fileonSKILL.md) to read skill bodies.4. Plugin NFT Collection & Installation Support (Merged)
SkillDetailView.Merge Resolution & Integration
During the merge of
plugin-nft-collection-plumbingintomobile-skill-market-parity, we resolved conflicts in:protocol.ts: Combined schemas for client-side messages (disposeSkill,reEquipSkill,installPlugin) and server responses (disposeResult,reEquipResult,pluginInstallResult).store.tsx: Merged reducer handlers to support both skill status changes and plugin installation alerts.SkillDetailView.tsx: Integrated the button layout so that skills, workflows, and plugins conditionally render the correct footer options (Buy, Remove, Re-equip, Install) based on state flags.index.ts(localhost): Integrated theinstallPluginhandler straight intocreateChatSession's environment callbacks, keeping it clean, unified, and consistent with VS Code extension routing.Verification
1. Automated Tests
All 188 unit tests across 29 suites inside
packages/corepass successfully:2. Build Validation
Verified clean builds across all project packages:
pnpm --filter agentnet-webview build(Vite) — Succeededpnpm --filter agentnet-localhost build(Tsup) — Succeededpnpm --filter agentnet-cli build(Tsup) — Succeededpnpm --filter agentnet-vscode build(Tsup) — Succeeded