feat(cli): fase 8.4 — profiles/contexts (omniroute config contexts)

- contexts.mjs: loadContexts/saveContexts/resolveActiveContext (~/.omniroute/config.json)
- commands/contexts.mjs: CRUD completo (add/use/list/show/remove/rename/export/import)
- config.mjs: subgroup contexts registrado sob config contexts
- program.mjs: flag global --context <name> com env OMNIROUTE_CONTEXT
- en.json/pt-BR.json: chaves program.context e config.contexts adicionadas
- import usa validação explícita de campos (sem Object.assign cru)
This commit is contained in:
diegosouzapw
2026-05-15 03:36:51 -03:00
parent fe6cffb54b
commit ed19c824c0
7 changed files with 366 additions and 2 deletions

View File

@@ -25,6 +25,12 @@ export function createProgram() {
.addOption(new Option("--timeout <ms>", t("program.timeout")).default("30000"))
.addOption(new Option("--api-key <key>", t("program.api_key")).env("OMNIROUTE_API_KEY"))
.addOption(new Option("--base-url <url>", t("program.base_url")).env("OMNIROUTE_BASE_URL"))
.addOption(
new Option(
"--context <name>",
t("program.context") || "Server context/profile to use for this command"
).env("OMNIROUTE_CONTEXT")
)
.showHelpAfterError(true)
.exitOverride();