Relocate the AI chat layer (chat_provider.rs, chat_models.rs, agent_settings_state.rs) out of openpencil-shell-core into a dedicated op-ai crate. These three modules are dependency-free transport-free data shapes — the ChatProvider trait, the ModelEntry catalog type, and the Cmd+, settings-modal state — so they form a clean wasm32-clean leaf crate. A fresh lib.rs declares all three as modules; chat_models' `crate::agent_settings_state::` path stays valid. openpencil-desktop's chat_*.rs transports + model_discovery.rs now import `op_ai::*`. Pure relocation, no behaviour change. |
||
|---|---|---|
| .. | ||
| op-ai | ||
| op-codegen | ||
| op-editor-core | ||
| op-figma | ||
| op-i18n | ||
| op-mcp | ||
| op-pen-loader | ||
| openpencil-desktop | ||
| openpencil-shell-core | ||
| openpencil-shell-native | ||
| openpencil-shell-web | ||
| wasm-libc-shim | ||
| CLAUDE.md | ||