feat: initial pi-meta-ai extension for Muse Spark
Summary:
Add pi extension that registers meta-ai provider at https://api.meta.ai/v1
using OpenAI Responses API. Model muse-spark-1.1 with 1M context,
reasoning, text+image input, tool calling and structured output.
- Register provider via API-key side: `apiKey: "$MODEL_API_KEY"` so /login
shows under API key (not Subscription), resolves from auth.json
{type:"api_key"} or env var. Supports MODEL_API_KEY with META_API_KEY
fallback shim.
- Add /meta status and /meta help commands showing masked key, auth.json
type, model registry status. Clear legacy oauth detection with migrate
hint (/logout meta-ai then /login → API key).
- No persistent footer status bar pollution; only warns when not
authenticated on session_start, cleared on session_shutdown.
- Add models.json.example for config-only usage without extension.
- Add package.json pi manifest, .gitignore, README with setup, login,
/model selection, config reference, and migration notes.
Test Plan:
- pi -e ./extensions/meta-model-api → /login → API key → Meta Model API
appears under API key providers, stores {type:"api_key"} in auth.json
- /meta status shows masked key and api_key type
- /model meta-ai/muse-spark-1.1 completes chat, tools work
- Env fallback MODEL_API_KEY / META_API_KEY works
- Verify no bottom status bar left over E
Eli committed
a4fb4d958175d2777ad67ff919cf5e72558ed217