lazycodex-ai 5.1.41 → 5.1.42

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 (65) hide show
  1. package/README.de.md +118 -0
  2. package/README.es.md +118 -0
  3. package/README.fr.md +118 -0
  4. package/README.it.md +118 -0
  5. package/README.ja.md +2 -1
  6. package/README.ko.md +2 -1
  7. package/README.md +3 -2
  8. package/README.pt-br.md +118 -0
  9. package/README.ru.md +2 -1
  10. package/README.zh-cn.md +2 -1
  11. package/dist/cli/index.js +92 -27
  12. package/dist/cli/service-auth/index.d.ts +3 -0
  13. package/dist/cli-node/index.js +92 -27
  14. package/package.json +1 -1
  15. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  16. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +68 -9
  17. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  18. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  19. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  20. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  26. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  27. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  29. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  33. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  34. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  35. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  36. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  37. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  38. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  39. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  61. package/packages/omo-codex/plugin/package-lock.json +12 -12
  62. package/packages/omo-codex/plugin/package.json +1 -1
  63. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  64. package/packages/omo-codex/scripts/install-dist/install-local.mjs +70 -11
  65. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
@@ -0,0 +1,118 @@
1
+ [English](README.md) | [简体中文](README.zh-cn.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [한국어](README.ko.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Português (Brasil)](README.pt-br.md) | [Italiano](README.it.md)
2
+
3
+ > [!NOTE]
4
+ > **OmO 5.0: OmO ❤️ Pi**
5
+ > Instale com `curl -fsSL https://get.omo.dev/install.sh | bash`. Sistema de memória, CodeMode, assinaturas da Anthropic, tudo incluso.
6
+ > [![OmO Herdr DAG - DAGs de fluxo de trabalho do OmO ao vivo em um painel lateral do Herdr](./.github/assets/omo-herdr-dag.png)](https://github.com/jc01rho/omo-herdr-dag)
7
+ > *Basta digitar "mass ulw" com o seu prompt - agora você é o mestre da engenharia de grafos. O ultracode multimodelo, junto com um sistema de memória melhor. (O painel à direita é o [omo-herdr-dag](https://github.com/jc01rho/omo-herdr-dag).)*
8
+
9
+ > **Patrocinadores**
10
+ > Estes são os nossos patrocinadores. Eles ajudam a manter o OmO ativo como um projeto paralelo pessoal.
11
+ > | [<img alt="OpenGateway" src="./.github/assets/opengateway-logo.svg" width="156px" />](https://opengateway.ai/) | O **[OpenGateway](https://opengateway.ai/)** patrocina o OmO. Um gateway compatível com a OpenAI que reúne vários provedores de modelos em uma única API. Obrigado por apoiar o código aberto. |
12
+ > | :-----| :----- |
13
+
14
+
15
+ > [!NOTE]
16
+ >
17
+ > [![Sisyphus Labs - Conheça Dori. Não é uma demo. Assina tudo.](./.github/assets/sisyphuslabs.png?v=4)](https://sisyphuslabs.ai)
18
+ > > **O OmO é mantido por Jobdori, o assistente de IA mostrado acima. Conheça seu próprio Jobdori, Dori. <br />Entre na lista de espera [aqui](https://sisyphuslabs.ai).**
19
+
20
+ > [!TIP]
21
+ > Junte-se a nós!
22
+ >
23
+ > | [<img alt="Discord link" src="https://img.shields.io/discord/1452487457085063218?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square" width="156px" />](https://discord.gg/PUwSMR9XNk) | Entre na nossa [comunidade no Discord](https://discord.gg/PUwSMR9XNk) para se conectar com contribuidores e outros usuários do OmO. |
24
+ > | :-----| :----- |
25
+ > | [<img alt="X link" src="https://img.shields.io/badge/Follow-%40justsisyphus-00CED1?style=flat-square&logo=x&labelColor=black" width="156px" />](https://x.com/justsisyphus) | As atualizações do OmO costumavam ser postadas na minha conta do X. <br /> Como ela foi suspensa por engano, [@justsisyphus](https://x.com/justsisyphus) agora posta atualizações em meu nome. |
26
+ > | [<img alt="GitHub Follow" src="https://img.shields.io/github/followers/code-yeongyu?style=flat-square&logo=github&labelColor=black&color=24292f" width="156px" />](https://github.com/code-yeongyu) | Siga [@code-yeongyu](https://github.com/code-yeongyu) no GitHub para mais projetos. |
27
+
28
+ <!-- <CENTERED SECTION FOR GITHUB DISPLAY> -->
29
+
30
+ <div align="center">
31
+
32
+ <a href="https://omo.dev"><img src="./.github/assets/omo-icon-light.svg" alt="OmO" width="200" /></a>
33
+
34
+ # OmO
35
+
36
+ **Sua ferramenta para trabalho de verdade. Mas é um agente.**
37
+
38
+ [![GitHub Release](https://img.shields.io/github/v/release/code-yeongyu/oh-my-openagent?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/releases)
39
+ [![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fomo.dev%2Fapi%2Fdownloads&style=flat-square)](https://omo.dev)
40
+ [![GitHub Contributors](https://img.shields.io/github/contributors/code-yeongyu/oh-my-openagent?color=c4f042&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/graphs/contributors)
41
+ [![GitHub Stars](https://img.shields.io/github/stars/code-yeongyu/oh-my-openagent?color=ffcb47&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/stargazers)
42
+ [![License](https://img.shields.io/badge/license-SUL--1.0-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/blob/dev/LICENSE.md)
43
+ [![Docs](https://img.shields.io/badge/docs-omo.dev-369eff?labelColor=black&logo=readthedocs&logoColor=white&style=flat-square)](https://omo.dev/docs)
44
+
45
+
46
+ </div>
47
+
48
+ <!-- </CENTERED SECTION FOR GITHUB DISPLAY> -->
49
+
50
+ O OmO é um único comando `omo` que transforma seus tokens em trabalho pronto: pesquisa em dez mil fontes, uma apresentação que as pessoas realmente entendem, backends, frontends, código. Ele roda no senpi, nosso fork do [pi](https://github.com/badlogic/pi-mono), com tudo o que está abaixo já integrado.
51
+
52
+ ## Instalação
53
+
54
+ ```bash
55
+ curl -fsSL https://get.omo.dev/install.sh | bash
56
+ omo
57
+ ```
58
+
59
+ No Windows, no PowerShell: `irm https://get.omo.dev/install.ps1 | iex`. O script instala o binário nativo do `omo` para o seu SO e CPU em `~/.local/bin`, confere os checksums da versão e recorre ao GitHub Releases quando o espelho está inacessível. Adicione `-s -- beta` (ou uma versão como `-s -- 5.1.1`) após `bash` para escolher outro canal. O CMD do Windows, o ajuste do seu `PATH`, a atualização e a desinstalação são abordados em [omo.dev/docs/install](https://omo.dev/docs/install).
60
+
61
+ Prefere um gerenciador de pacotes? `bun add -g omo-ai` (ou `npm i -g omo-ai`) instala o mesmo OmO. O pacote é `omo-ai`; o pacote `omo` no npm não tem relação e pertence a outra pessoa.
62
+
63
+ Abra o seu projeto, execute `omo`, descreva a tarefa. Essa é toda a configuração.
64
+
65
+ Em uma sessão, `/thinking <level>` define o quanto o modelo pensa (`/thinking` sozinho abre um seletor), `Shift+Tab` alterna entre os níveis e `/efforts <level>` define o esforço de raciocínio diretamente em modelos com níveis de esforço. Para retomar um trabalho anterior, `/resume` (ou `/sessions`) abre suas sessões passadas; no shell, `omo -c` continua a última e `omo -r` abre o seletor. `/help` lista todo o resto.
66
+
67
+ Vindo da edição OpenCode ou do LazyCodex? Execute `omo setup` uma vez. Ele transfere suas chaves de provedor, provedores personalizados, servidores MCP, skills e escolhas de modelo. Em seguida, `omo doctor` mostra quais categorias de tarefas seus provedores podem executar e o que a instalação antiga deixou para trás. O passo a passo completo está em [Migrando do OpenCode](docs/guide/migrating-from-opencode.md).
68
+
69
+ Para atualizar, execute a linha de instalação novamente (uma instalação via gerenciador de pacotes atualiza com `omo update`). `rm ~/.local/bin/omo` remove a instalação do binário; `bun remove -g omo-ai` (ou `npm uninstall -g omo-ai`) remove a instalação do pacote.
70
+
71
+ ## Por que o OmO
72
+
73
+ **ultrawork.** Pule o estudo. Se uma tarefa parecer difícil, adicione `ultrawork` (ou `ulw`) ao seu prompt. O agente lê a base de código antes de tocar em uma linha, planeja, comprova cada etapa antes de avançar, verifica o resultado na superfície real e para quando termina.
74
+
75
+ **Centenas de agentes, uma palavra-chave.** Digite `mass ulw` e todo o trabalho vira um grafo de agentes: pesquisa profunda em milhares de fontes, um pipeline completo de machine learning, uma migração que ninguém quer fazer. Cada parte roda no modelo mais adequado, em paralelo, e é verificada antes que qualquer coisa seja dada como pronta.
76
+
77
+ **Kibitzer. Seu agente não esquece de você, nem do seu trabalho.** A memória fica em um repositório git de arquivos markdown. Um modelo pequeno e barato fica ao lado do agente principal mais caro, lê o que você já fez e avisa o agente principal antes que ele repita um erro. Você para de se explicar repetidamente.
78
+
79
+ **Combine modelos sem pensar nisso.** Use os modelos de ponta que você adora junto com os mais baratos. Basta entrar: `/login` cobre assinaturas do Claude, ChatGPT, Kimi e GLM. Cada modelo já vem com um system prompt ajustado para ele, então você nunca escolhe o errado.
80
+
81
+ **Skills de alta qualidade, apenas as que você precisa.** Seu modelo é inteligente, mas ainda não sabe muito sobre como resolver problemas do mundo real. O OmO entrega o conhecimento que falta na forma de skills, incluindo uso do navegador, e carrega apenas o que a tarefa precisa.
82
+
83
+ **Todo o resto é pensado nos detalhes.** Chamadas de ferramentas independentes rodam juntas em um pequeno programa, então vinte leituras acontecem em uma única viagem de ida e volta. Argumentos de ferramentas malformados são reparados antes de rodar. Esperar por um build ou deploy funciona por inscrição, não por polling. Trabalhos longos mantêm um registro do que já foi verificado, para que uma sessão reiniciada continue de onde parou. Configurações, skills e prompts recarregam ao vivo.
84
+
85
+ ## Configuração
86
+
87
+ Padrões opinativos, ajustáveis se você insistir. Suas configurações ficam em `~/.omo/omo.jsonc`, e um projeto pode adicionar seu próprio `.omo/omo.jsonc`; o arquivo mais próximo vence. Todas as chaves estão na [referência de configuração](docs/reference/configuration.md).
88
+
89
+ ## Documentação
90
+
91
+ - [omo.dev/docs](https://omo.dev/docs)
92
+ - [Migrando do OpenCode](docs/guide/migrating-from-opencode.md)
93
+ - [Referência de configuração](docs/reference/configuration.md)
94
+ - [Recursos](docs/reference/features.md)
95
+ - [Uso do computador](docs/guide/computer-use.md) (experimental)
96
+ - [Manifesto Ultrawork](docs/manifesto.md)
97
+
98
+ ## Avaliações
99
+
100
+ > "Me fez cancelar minha assinatura do Cursor. Coisas inacreditáveis estão acontecendo na comunidade open source." - [Arthur Guiot](https://x.com/arthur_guiot/status/2008736347092382053?s=20)
101
+
102
+ > "Se o Claude Code faz em 7 dias o que um humano faz em 3 meses, o OmO faz em 1 hora." <br/>- B, Pesquisador Quantitativo
103
+
104
+ > "Vocês deveriam integrar isso ao core e contratá-lo. Sério. É muito, muito, muito bom." <br/>- Henning Kilset
105
+
106
+ ## Nota do Autor
107
+
108
+ Quando preciso tomar o volante de volta de um agente, isso não é trabalho em equipe. O sistema falhou. O OmO foi construído com base nessa ideia. Você diz o que quer; o agente pesquisa, planeja, escreve um código que você não conseguiria diferenciar do de um engenheiro sênior, faz a verificação e continua até terminar. Ele gasta tokens quando eles compram velocidade real e direciona as partes fáceis para modelos baratos.
109
+
110
+ Sou o usuário mais obcecado deste projeto. Qual modelo tem a lógica mais afiada? Quem escreve a melhor prosa? O que todo mundo lançou esta semana? O OmO é onde essas respostas vão parar. Tem um jeito melhor? PRs são bem-vindos.
111
+
112
+ O objetivo é um agente que você deixa de notar. Você aperta o interruptor, a luz acende. A versão longa está no [Manifesto Ultrawork](docs/manifesto.md).
113
+
114
+ Sem afiliação com nenhum projeto ou modelo mencionado. As ideias do Ultragoal e do UltraQA vêm do [oh-my-codex](https://github.com/Yeachan-Heo/oh-my-codex), reimplementadas a partir do conceito para o OmO.
115
+
116
+ ## Amado por profissionais em
117
+
118
+ [Indent](https://indentcorp.com), criadores do Spray (solução de marketing de influência), vovushop (plataforma de comércio transfronteiriço) e vreview (solução de marketing de avaliações de comércio com IA). [Google](https://google.com). [Microsoft](https://microsoft.com). [Vercel](https://vercel.com). [ELESTYLE](https://elestyle.jp), criadores do elepay (gateway de pagamento multimóvel) e OneQR (SaaS de aplicativo móvel para soluções sem dinheiro em espécie). [Deepgram](https://deepgram.com).
package/README.ru.md CHANGED
@@ -1,3 +1,5 @@
1
+ [English](README.md) | [简体中文](README.zh-cn.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [한국어](README.ko.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Português (Brasil)](README.pt-br.md) | [Italiano](README.it.md)
2
+
1
3
  > [!NOTE]
2
4
  > **OmO Бета: OmO ❤️ Pi**
3
5
  > Установите одной командой `curl -fsSL https://get.omo.dev/install.sh | bash`: система памяти, CodeMode, подписки Anthropic. Всё включено.
@@ -41,7 +43,6 @@
41
43
  [![License](https://img.shields.io/badge/license-SUL--1.0-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/blob/dev/LICENSE.md)
42
44
  [![Docs](https://img.shields.io/badge/docs-omo.dev-369eff?labelColor=black&logo=readthedocs&logoColor=white&style=flat-square)](https://omo.dev/docs)
43
45
 
44
- [English](README.md) | [简体中文](README.zh-cn.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [한국어](README.ko.md)
45
46
 
46
47
  </div>
47
48
 
package/README.zh-cn.md CHANGED
@@ -1,3 +1,5 @@
1
+ [English](README.md) | [简体中文](README.zh-cn.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [한국어](README.ko.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [Português (Brasil)](README.pt-br.md) | [Italiano](README.it.md)
2
+
1
3
  > [!NOTE]
2
4
  > **OmO 测试版: OmO ❤️ Pi**
3
5
  > 使用 `curl -fsSL https://get.omo.dev/install.sh | bash` 安装。记忆系统、CodeMode、Anthropic 订阅,全部支持。
@@ -41,7 +43,6 @@
41
43
  [![License](https://img.shields.io/badge/license-SUL--1.0-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-openagent/blob/dev/LICENSE.md)
42
44
  [![Docs](https://img.shields.io/badge/docs-omo.dev-369eff?labelColor=black&logo=readthedocs&logoColor=white&style=flat-square)](https://omo.dev/docs)
43
45
 
44
- [English](README.md) | [简体中文](README.zh-cn.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [한국어](README.ko.md)
45
46
 
46
47
  </div>
47
48
 
package/dist/cli/index.js CHANGED
@@ -2132,7 +2132,7 @@ var package_default;
2132
2132
  var init_package = __esm(() => {
2133
2133
  package_default = {
2134
2134
  name: "oh-my-opencode",
2135
- version: "5.1.41",
2135
+ version: "5.1.42",
2136
2136
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2137
2137
  main: "./dist/index.js",
2138
2138
  types: "dist/index.d.ts",
@@ -2309,7 +2309,7 @@ var init_package = __esm(() => {
2309
2309
  },
2310
2310
  devDependencies: {
2311
2311
  "@clack/prompts": "^1.8.1",
2312
- "@code-yeongyu/senpi": "2026.10.21-1",
2312
+ "@code-yeongyu/senpi": "2026.10.21-2",
2313
2313
  "@modelcontextprotocol/sdk": "^1.30.0",
2314
2314
  "@oh-my-opencode/agents-md-core": "workspace:*",
2315
2315
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -2370,18 +2370,18 @@ var init_package = __esm(() => {
2370
2370
  typescript: "^7.0.2"
2371
2371
  },
2372
2372
  optionalDependencies: {
2373
- "oh-my-opencode-darwin-arm64": "5.1.41",
2374
- "oh-my-opencode-darwin-x64": "5.1.41",
2375
- "oh-my-opencode-darwin-x64-baseline": "5.1.41",
2376
- "oh-my-opencode-linux-arm64": "5.1.41",
2377
- "oh-my-opencode-linux-arm64-musl": "5.1.41",
2378
- "oh-my-opencode-linux-x64": "5.1.41",
2379
- "oh-my-opencode-linux-x64-baseline": "5.1.41",
2380
- "oh-my-opencode-linux-x64-musl": "5.1.41",
2381
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.41",
2382
- "oh-my-opencode-windows-arm64": "5.1.41",
2383
- "oh-my-opencode-windows-x64": "5.1.41",
2384
- "oh-my-opencode-windows-x64-baseline": "5.1.41"
2373
+ "oh-my-opencode-darwin-arm64": "5.1.42",
2374
+ "oh-my-opencode-darwin-x64": "5.1.42",
2375
+ "oh-my-opencode-darwin-x64-baseline": "5.1.42",
2376
+ "oh-my-opencode-linux-arm64": "5.1.42",
2377
+ "oh-my-opencode-linux-arm64-musl": "5.1.42",
2378
+ "oh-my-opencode-linux-x64": "5.1.42",
2379
+ "oh-my-opencode-linux-x64-baseline": "5.1.42",
2380
+ "oh-my-opencode-linux-x64-musl": "5.1.42",
2381
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.42",
2382
+ "oh-my-opencode-windows-arm64": "5.1.42",
2383
+ "oh-my-opencode-windows-x64": "5.1.42",
2384
+ "oh-my-opencode-windows-x64-baseline": "5.1.42"
2385
2385
  },
2386
2386
  overrides: {
2387
2387
  hono: "^4.13.8",
@@ -76830,7 +76830,7 @@ var init_memory_agreements = __esm(() => {
76830
76830
  });
76831
76831
 
76832
76832
  // packages/omo-config-core/src/schema/memory.ts
76833
- var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
76833
+ var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemoryAutoIdentitySchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
76834
76834
  var init_memory = __esm(() => {
76835
76835
  init_zod();
76836
76836
  init_memory_agreements();
@@ -76986,9 +76986,11 @@ var init_memory = __esm(() => {
76986
76986
  projection: OmoMemoryProjectionLayerSchema.optional(),
76987
76987
  compile_warn_tokens: number2().int().positive().optional()
76988
76988
  }).strict();
76989
+ OmoMemoryAutoIdentitySchema = _enum(["path", "git"]);
76989
76990
  OmoMemorySettingsSchema = object({
76990
76991
  enabled: boolean2().default(true),
76991
76992
  agent: string2().min(1).default("auto"),
76993
+ auto_identity: OmoMemoryAutoIdentitySchema.default("path"),
76992
76994
  reflection: OmoMemoryReflectionSchema.default({
76993
76995
  enabled: true,
76994
76996
  trigger: { step_count: 25, on_compaction: true },
@@ -77030,6 +77032,7 @@ var init_memory = __esm(() => {
77030
77032
  OmoMemorySettingsLayerSchema = object({
77031
77033
  enabled: boolean2().optional(),
77032
77034
  agent: string2().min(1).optional(),
77035
+ auto_identity: OmoMemoryAutoIdentitySchema.optional(),
77033
77036
  reflection: OmoMemoryReflectionLayerSchema.optional(),
77034
77037
  nudge: OmoMemoryNudgeLayerSchema.optional(),
77035
77038
  facts: OmoMemoryFactsLayerSchema.optional(),
@@ -77079,6 +77082,7 @@ var init_model_profile = __esm(() => {
77079
77082
  init_fallback_models();
77080
77083
  OmoModelProfileInputSchema = object({
77081
77084
  display_name: string2().optional(),
77085
+ caution: string2().optional(),
77082
77086
  family: _enum(["daily", "geeky"]).optional(),
77083
77087
  tier: _enum(["normal", "heavy"]).optional(),
77084
77088
  models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
@@ -77372,7 +77376,7 @@ var init_gateway = __esm(() => {
77372
77376
  });
77373
77377
 
77374
77378
  // packages/omo-config-core/src/schema/config.ts
77375
- var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
77379
+ var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoExcludedModelsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
77376
77380
  var init_config = __esm(() => {
77377
77381
  init_zod();
77378
77382
  init_agent();
@@ -77390,6 +77394,7 @@ var init_config = __esm(() => {
77390
77394
  init_gateway();
77391
77395
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
77392
77396
  OmoDisabledSkillsSchema = array(string2());
77397
+ OmoExcludedModelsSchema = array(string2());
77393
77398
  OmoTypedHarnessConfigSchema = object({
77394
77399
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77395
77400
  gateway: OmoGatewaySectionSchema.optional(),
@@ -77405,7 +77410,8 @@ var init_config = __esm(() => {
77405
77410
  telemetry: OmoTelemetrySettingsLayerSchema.optional(),
77406
77411
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77407
77412
  computer: OmoComputerSettingsLayerSchema.optional(),
77408
- disabled_skills: OmoDisabledSkillsSchema.optional()
77413
+ disabled_skills: OmoDisabledSkillsSchema.optional(),
77414
+ exclude_models: OmoExcludedModelsSchema.optional()
77409
77415
  }).strict();
77410
77416
  OmoConfigProfileSchema = object({
77411
77417
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
@@ -77422,6 +77428,7 @@ var init_config = __esm(() => {
77422
77428
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77423
77429
  computer: OmoComputerSettingsLayerSchema.optional(),
77424
77430
  disabled_skills: OmoDisabledSkillsSchema.optional(),
77431
+ exclude_models: OmoExcludedModelsSchema.optional(),
77425
77432
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
77426
77433
  "[native]": OmoTypedHarnessConfigSchema.optional(),
77427
77434
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -77444,6 +77451,7 @@ var init_config = __esm(() => {
77444
77451
  side_panel: OmoSidePanelSettingsSchema.optional(),
77445
77452
  computer: OmoComputerSettingsSchema.optional(),
77446
77453
  disabled_skills: OmoDisabledSkillsSchema.optional(),
77454
+ exclude_models: OmoExcludedModelsSchema.optional(),
77447
77455
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
77448
77456
  "[native]": OmoTypedHarnessConfigSchema.optional(),
77449
77457
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -77469,6 +77477,7 @@ var init_config = __esm(() => {
77469
77477
  side_panel: OmoSidePanelSettingsLayerSchema.optional(),
77470
77478
  computer: OmoComputerSettingsLayerSchema.optional(),
77471
77479
  disabled_skills: OmoDisabledSkillsSchema.optional(),
77480
+ exclude_models: OmoExcludedModelsSchema.optional(),
77472
77481
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
77473
77482
  "[native]": OmoTypedHarnessConfigSchema.optional(),
77474
77483
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
@@ -77677,7 +77686,51 @@ var init_diagnostic_lines = __esm(() => {
77677
77686
  });
77678
77687
 
77679
77688
  // packages/omo-config-core/src/loader/disabled-skills.ts
77680
- var init_disabled_skills = () => {};
77689
+ function toRecord(value) {
77690
+ if (value === null || typeof value !== "object" || Array.isArray(value))
77691
+ return;
77692
+ return value;
77693
+ }
77694
+ function namesAt(record, key) {
77695
+ const value = record?.[key];
77696
+ if (!Array.isArray(value))
77697
+ return [];
77698
+ return value.filter((entry) => typeof entry === "string" && entry.trim() !== "");
77699
+ }
77700
+ function harnessBlockKeys(harness) {
77701
+ const canonical = canonicalHarnessName(harness);
77702
+ const legacy = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([name]) => harnessBlockKey(name));
77703
+ return [harnessBlockKey(canonical), ...legacy];
77704
+ }
77705
+ function scopesOf(config, harness) {
77706
+ if (harness === undefined)
77707
+ return [config];
77708
+ return [config, ...harnessBlockKeys(harness).map((key) => toRecord(config[key]))];
77709
+ }
77710
+ function collectExcludedModels(options) {
77711
+ return collectUnionedList("exclude_models", options);
77712
+ }
77713
+ function collectUnionedList(key, options) {
77714
+ const names = new Set;
77715
+ for (const layer of options.layers) {
77716
+ const config = toRecord(layer.config);
77717
+ if (config === undefined)
77718
+ continue;
77719
+ const profile = options.profile === undefined ? undefined : toRecord(toRecord(config["profiles"])?.[options.profile]);
77720
+ const scopes = [
77721
+ ...scopesOf(config, options.harness),
77722
+ ...profile === undefined ? [] : scopesOf(profile, options.harness)
77723
+ ];
77724
+ for (const scope of scopes) {
77725
+ for (const name of namesAt(scope, key))
77726
+ names.add(name.trim());
77727
+ }
77728
+ }
77729
+ return [...names];
77730
+ }
77731
+ var init_disabled_skills = __esm(() => {
77732
+ init_schema();
77733
+ });
77681
77734
 
77682
77735
  // packages/omo-config-core/src/loader/merge.ts
77683
77736
  function isUnsafeObjectKey2(key) {
@@ -77913,7 +77966,7 @@ function stripUnrecognizedKeys(record, issues) {
77913
77966
  }
77914
77967
  return { issuePaths, stripped };
77915
77968
  }
77916
- function toRecord(value) {
77969
+ function toRecord2(value) {
77917
77970
  if (value === null || typeof value !== "object" || Array.isArray(value))
77918
77971
  return null;
77919
77972
  const record = {};
@@ -77924,7 +77977,7 @@ function toRecord(value) {
77924
77977
  }
77925
77978
  function validateConfigLayer(path, data) {
77926
77979
  const sanitized = sanitizeUnsafeKeys(data);
77927
- const record = toRecord(sanitized.value);
77980
+ const record = toRecord2(sanitized.value);
77928
77981
  const unsafeIssuePaths = sanitized.issues.flatMap((issue) => issue.keys.map((key) => [...issue.path, key].join(".")));
77929
77982
  const unsafeDiagnostics = unsafeIssuePaths.length === 0 ? [] : [{ kind: "unknown-keys", message: `Ignored unknown keys in ${path}: ${unsafeIssuePaths.join(", ")}`, path, issuePaths: unsafeIssuePaths }];
77930
77983
  const validation = OmoConfigLayerSchema.safeParse(sanitized.value);
@@ -78077,7 +78130,7 @@ function resolveOmoProfileName(options = {}) {
78077
78130
  const env = options.env ?? process.env;
78078
78131
  return profileName(options.profile) ?? profileName(env["OMO_PROFILE"]) ?? profileName(env["OCX_PROFILE"]) ?? profileNameFromOpenCodeConfigDir(env["OPENCODE_CONFIG_DIR"]);
78079
78132
  }
78080
- function toRecord2(value) {
78133
+ function toRecord3(value) {
78081
78134
  if (value === null || typeof value !== "object" || Array.isArray(value))
78082
78135
  return;
78083
78136
  return Object.fromEntries(Object.entries(value));
@@ -78098,13 +78151,13 @@ function harnessLayer(config, harness) {
78098
78151
  const legacyKeys = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([legacy]) => harnessBlockKey(legacy));
78099
78152
  let layer = {};
78100
78153
  for (const key of [...legacyKeys, harnessBlockKey(canonical)]) {
78101
- layer = mergeOmoConfigRecords(layer, toRecord2(config[key]) ?? {});
78154
+ layer = mergeOmoConfigRecords(layer, toRecord3(config[key]) ?? {});
78102
78155
  }
78103
78156
  return layer;
78104
78157
  }
78105
78158
  function resolveOmoConfigView(options) {
78106
- const profiles = toRecord2(options.config["profiles"]);
78107
- const profile = options.profile === undefined ? undefined : toRecord2(profiles?.[options.profile]);
78159
+ const profiles = toRecord3(options.config["profiles"]);
78160
+ const profile = options.profile === undefined ? undefined : toRecord3(profiles?.[options.profile]);
78108
78161
  const diagnostics = profile === undefined && options.profile !== undefined ? [{
78109
78162
  kind: "profile",
78110
78163
  message: `Activated omo profile "${options.profile}" does not exist; using the base configuration`,
@@ -78245,9 +78298,15 @@ function loadOmoConfig(options = {}) {
78245
78298
  });
78246
78299
  const finalInput = mergeOmoConfigRecords(DEFAULT_RAW_CONFIG, resolved.config);
78247
78300
  const finalConfig = OmoConfigSchema.safeParse(finalInput);
78301
+ const excludeModels = collectExcludedModels({
78302
+ layers,
78303
+ ...options.harness === undefined ? {} : { harness: options.harness },
78304
+ ...resolved.profile === undefined ? {} : { profile: resolved.profile }
78305
+ });
78306
+ const withExcludedModels = (config) => excludeModels.length === 0 ? config : { ...config, exclude_models: [...excludeModels] };
78248
78307
  if (finalConfig.success) {
78249
78308
  return {
78250
- config: stripResolutionControlKeys(finalConfig.data),
78309
+ config: withExcludedModels(stripResolutionControlKeys(finalConfig.data)),
78251
78310
  diagnostics: [...diagnostics, ...resolved.diagnostics],
78252
78311
  layers,
78253
78312
  ...resolved.profile === undefined ? {} : { profile: resolved.profile },
@@ -78260,7 +78319,7 @@ function loadOmoConfig(options = {}) {
78260
78319
  });
78261
78320
  if (pruned.ok) {
78262
78321
  return {
78263
- config: stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config)),
78322
+ config: withExcludedModels(stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config))),
78264
78323
  diagnostics: [...diagnostics, ...resolved.diagnostics, ...invalidValueDiagnostics(MERGED_OMO_CONFIG_PATH, pruned.dropped)],
78265
78324
  layers,
78266
78325
  ...resolved.profile === undefined ? {} : { profile: resolved.profile },
@@ -78279,6 +78338,7 @@ var DEFAULT_RAW_CONFIG;
78279
78338
  var init_loader2 = __esm(() => {
78280
78339
  init_main();
78281
78340
  init_schema();
78341
+ init_disabled_skills();
78282
78342
  init_layer_validation();
78283
78343
  init_merge();
78284
78344
  init_paths();
@@ -92141,7 +92201,7 @@ var package_default2;
92141
92201
  var init_package2 = __esm(() => {
92142
92202
  package_default2 = {
92143
92203
  name: "@oh-my-opencode/omo-codex",
92144
- version: "5.1.41",
92204
+ version: "5.1.42",
92145
92205
  type: "module",
92146
92206
  private: true,
92147
92207
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -99448,6 +99508,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
99448
99508
  join63("extensions", "CaseFolding.txt"),
99449
99509
  join63("extensions", "omo-thread-client.js"),
99450
99510
  join63("extensions", "omo-feedback.js"),
99511
+ join63("extensions", "omo-claim-receipt.js"),
99451
99512
  join63("extensions", "assets.generated.json"),
99452
99513
  join63("extensions", "omo-member.js"),
99453
99514
  join63("extensions", "memory-run-supervisor.mjs"),
@@ -108490,6 +108551,10 @@ var package_default3 = {
108490
108551
  types: "./src/config-migration/index.ts",
108491
108552
  import: "./src/config-migration/index.ts"
108492
108553
  },
108554
+ "./service-auth": {
108555
+ types: "./src/cli/service-auth/index.ts",
108556
+ import: "./src/cli/service-auth/index.ts"
108557
+ },
108493
108558
  "./binary-downloader": {
108494
108559
  types: "./src/shared/binary-downloader.ts",
108495
108560
  import: "./src/shared/binary-downloader.ts"
@@ -0,0 +1,3 @@
1
+ export { type CredentialStore, createCredentialStore } from "./keystore";
2
+ export { type Credentials, SignInError, serviceOrigin } from "./protocol";
3
+ export { createSession, type Session } from "./session";