Rebuild as standalone web-mux package - #37
Open
mavam wants to merge 6 commits into
Open
Conversation
Expose a typed client through a standalone library, the web CLI, and a thin pi extension. Add strict XDG configuration, lazy provider loading, normalized batch output, and a versioned custom-provider contract. Retain all 16 provider integrations and cover the package with CLI, pi, provider, and packed-install tests. Assisted-by: GPT-5 (Codex)
Document the standalone package and manual migration in the unreleased changelog. Link the entry to PR #37. Assisted-by: GPT-5 (Codex)
Validate provider IDs before schema loading and keep unknown loads out of the cache. Derive runtime version metadata from package.json, preserve contents ordering across rewritten URLs, and warn pi sessions that bind no tools. Remove the unreachable pi-era implementation and its orphaned tests, move the active suite under test/, and cover the reviewed edge cases and packed metadata. Assisted-by: GPT-5 (Codex)
Build commands and provider-specific options through Commander while preserving two-pass schema discovery and existing exit and output contracts. Add TTY-aware Picocolors styling for help, provider status, progress, and human-readable results with heavy success and failure marks. Honor --no-color, NO_COLOR, and FORCE_COLOR, and keep JSON and raw output free of ANSI sequences. Assisted-by: GPT-5 (Codex)
Use icon-only capability cells and explain their meaning once in a compact legend. Account for variation selectors when measuring visible width so the colored table remains aligned. Assisted-by: GPT-5 (Codex)
Describe capability semantics, provider selection, batching, streams, and configuration behavior directly in Commander help. Add workflow examples at the root and focused examples for every capability, provider inspection, and configuration action. Keep provider-aware help alongside the exact schema-derived flags so agents can discover both the right command and its backend-specific options. Assisted-by: GPT-5 (Codex)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔍 Problem
The package is coupled to pi and exposes provider management, UI, and background features instead of a reusable web-access surface. Its configuration, output, and custom-provider contracts are not suitable for a standalone CLI and library.
🛠️ Solution
web-mux@0.1.0with a typed library, schema-drivenwebCLI, and thin pi entry point.✔︎and✘︎status marks while keeping JSON and raw output ANSI-free.💬 Review
Focus on the public API and configuration contracts, dynamic option-flag generation, and the provider/runtime boundary. The change intentionally includes no compatibility or automatic migration path.
The
mavam/web-muxrepository links and versioned unpkg schema URL become live only after these post-merge release steps:mavam/pi-web-providerstomavam/web-mux.web-mux@0.1.0and verify the CLI, library, pi entry point, and unpkg schema.pi-web-providerswith a link to the migration guide.