@minniexcode/codex-switch 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.AI.md +52 -13
  2. package/README.CN.md +94 -39
  3. package/README.md +75 -33
  4. package/dist/app/add-provider.js +29 -26
  5. package/dist/app/bridge.js +15 -15
  6. package/dist/app/edit-provider.js +2 -18
  7. package/dist/app/get-status.js +35 -13
  8. package/dist/app/import-providers.js +1 -1
  9. package/dist/app/init-codex.js +13 -14
  10. package/dist/app/list-providers.js +0 -1
  11. package/dist/app/remove-provider.js +1 -1
  12. package/dist/app/run-doctor.js +21 -39
  13. package/dist/app/run-mutation.js +3 -2
  14. package/dist/app/setup-codex.js +30 -18
  15. package/dist/app/show-config.js +1 -5
  16. package/dist/app/switch-provider.js +16 -33
  17. package/dist/cli/output.js +4 -6
  18. package/dist/cli.js +35 -3
  19. package/dist/commands/args.js +2 -2
  20. package/dist/commands/dispatch.js +40 -0
  21. package/dist/commands/handlers.js +202 -84
  22. package/dist/commands/help.js +2 -0
  23. package/dist/commands/registry.js +33 -12
  24. package/dist/domain/backups.js +4 -4
  25. package/dist/domain/config.js +102 -61
  26. package/dist/domain/providers.js +12 -5
  27. package/dist/domain/runtime-state.js +81 -4
  28. package/dist/domain/setup.js +58 -3
  29. package/dist/interaction/add-interactive.js +55 -1
  30. package/dist/interaction/interactive.js +1 -5
  31. package/dist/runtime/copilot-adapter.js +56 -13
  32. package/dist/runtime/copilot-bridge.js +392 -44
  33. package/dist/runtime/copilot-cli.js +142 -0
  34. package/dist/runtime/copilot-installer.js +59 -11
  35. package/dist/runtime/copilot-sdk-loader.js +5 -5
  36. package/dist/storage/auth-repo.js +28 -77
  37. package/dist/storage/backup-repo.js +4 -4
  38. package/dist/storage/codex-paths.js +34 -8
  39. package/dist/storage/config-repo.js +1 -36
  40. package/dist/storage/lock-repo.js +2 -4
  41. package/dist/storage/runtime-state-repo.js +43 -10
  42. package/dist/storage/tool-config-repo.js +111 -0
  43. package/docs/Design/codex-switch-copilot-integration-design.md +517 -0
  44. package/docs/Design/codex-switch-v0.0.10-design.md +669 -0
  45. package/docs/Design/codex-switch-v0.0.11-design.md +824 -0
  46. package/docs/PRD/codex-switch-prd-v0.0.10.md +406 -0
  47. package/docs/PRD/codex-switch-prd-v0.0.11.md +577 -0
  48. package/docs/cli-usage.md +166 -271
  49. package/docs/codex-switch-product-overview.md +2 -2
  50. package/docs/codex-switch-technical-architecture.md +6 -5
  51. package/package.json +1 -1
@@ -150,7 +150,7 @@ MVP 的能力范围主要包括:
150
150
 
151
151
  - `config.toml` 是主配置文件
152
152
  - `providers.json` 是 `codex-switch` 自身维护的 provider 清单
153
- - `auth.json` 在存在时会被纳入备份与回滚考虑
153
+ - `auth.json` 是当前 active direct provider 的认证投影文件;切换 direct provider 时会刷新 `OPENAI_API_KEY`
154
154
  - `backups/` 用于保存历史备份
155
155
 
156
156
  产品不会要求用户先理解全部内部实现,只暴露统一的命令接口。
@@ -167,7 +167,7 @@ MVP 的能力范围主要包括:
167
167
 
168
168
  ### 场景 3:切换到目标 provider
169
169
 
170
- 用户执行切换命令后,工具会完成校验、备份、修改和必要的登录动作。
170
+ 用户执行切换命令后,工具会完成校验、备份、修改运行态配置,并在 direct provider 场景下同步 `auth.json`。
171
171
 
172
172
  ### 场景 4:出现异常时恢复
173
173
 
@@ -98,7 +98,7 @@
98
98
  - `Low Coupling`
99
99
  - 参数解析、业务编排、文件访问、错误模型彼此解耦
100
100
  - `Split State Model`
101
- - `providers.json` 是管理态事实源,`config.toml` / `auth.json` 是运行态镜像
101
+ - `providers.json` 是管理态事实源,`config.toml` 是运行态路由文件,`auth.json` 是 direct provider 的认证投影
102
102
  - `Lightweight Transactions`
103
103
  - 单次写操作要有锁、备份、回滚边界
104
104
 
@@ -125,7 +125,8 @@ Infrastructure 层
125
125
  当前实现还明确区分三类状态对象:
126
126
 
127
127
  - 管理态单一事实源:`providers.json`
128
- - 运行态镜像:`config.toml`、`auth.json`
128
+ - 运行态路由:`config.toml`
129
+ - 当前 active direct provider 的认证投影:`auth.json`
129
130
  - 回滚态:`backups/latest.json` 和对应 manifest
130
131
 
131
132
  这意味着未来即使引入 GUI / MCP / HTTP 适配层,核心同步目标仍然是 runtime files,而不是把 runtime files 本身当成长期管理数据库。
@@ -555,13 +556,13 @@ scripts/
555
556
  - 深度解析 profile 内部更多字段
556
557
  - 管理 base URL 或模型等 profile 内容
557
558
 
558
- 它在当前架构里属于运行态镜像,只承担“当前活跃 profile 落地”的职责。
559
+ 它在当前架构里是 direct provider 的认证投影文件,不承担 provider 选择职责,也不作为 provider registry 的事实源。
559
560
 
560
561
  ### 5.3 `auth.json`
561
562
 
562
563
  当前实现不直接建模其内部字段,但它有明确架构角色:
563
564
 
564
- - 属于运行态镜像
565
+ - 属于 direct provider 的认证投影
565
566
  - 在存在时纳入备份与回滚
566
567
  - 不是 provider registry 的事实源
567
568
 
@@ -622,7 +623,7 @@ scripts/
622
623
  6. 校验 provider 对应的 `profile` 在配置中存在
623
624
  7. 创建备份:
624
625
  - `config.toml`
625
- - `auth.json`(如果存在)
626
+ - `auth.json` 仅在历史备份清单已包含时由 rollback 兼容恢复
626
627
  8. 更新顶层 `profile`
627
628
  9. 如果未传 `--no-login`,执行 `codex login --with-api-key`
628
629
  10. 成功后把这次备份记录为 `latest.json`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minniexcode/codex-switch",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "Local-first CLI for managing and switching Codex provider/profile configuration.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",