@vinihcrosa/lumem-os 0.4.0 → 0.5.0

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 (48) hide show
  1. package/bin/lumem.mjs +46 -3
  2. package/dist/server/main.mjs +11637 -7544
  3. package/dist/web/assets/{codemirror-setup-u52h1pHp.js → codemirror-setup-DJO1HmWW.js} +1 -1
  4. package/dist/web/assets/index-BV0JIdw9.css +32 -0
  5. package/dist/web/assets/index-Dzie5jh_.js +101 -0
  6. package/dist/web/index.html +2 -2
  7. package/drizzle/0014_tarefa_como_entidade.sql +33 -0
  8. package/drizzle/0015_quadro_de_sete_colunas.sql +33 -0
  9. package/drizzle/0016_ordem_na_coluna.sql +13 -0
  10. package/drizzle/0017_relogio_do_encalhe.sql +10 -0
  11. package/drizzle/0018_tetos_do_workspace.sql +26 -0
  12. package/drizzle/0019_comentario_de_tarefa.sql +15 -0
  13. package/drizzle/0020_esteira_tentativa_e_autonomia.sql +51 -0
  14. package/drizzle/0021_catalogo_de_agentes.sql +27 -0
  15. package/drizzle/0022_interruptor_da_esteira.sql +30 -0
  16. package/drizzle/0023_prompt_preparado.sql +49 -0
  17. package/drizzle/0024_motivo_do_bloqueio.sql +1 -0
  18. package/drizzle/0025_aviso_uma_vez.sql +1 -0
  19. package/drizzle/0026_pr_mesclada_sempre_remove.sql +1 -0
  20. package/drizzle/0027_issue_como_identidade.sql +6 -0
  21. package/drizzle/0028_marcos_no_tracker.sql +1 -0
  22. package/drizzle/0029_parecer_do_revisor.sql +22 -0
  23. package/drizzle/0030_papel_da_sessao_e_vaivem.sql +56 -0
  24. package/drizzle/0031_recibo_do_parecer.sql +14 -0
  25. package/drizzle/0032_turno_do_consumo.sql +1 -0
  26. package/drizzle/meta/0014_snapshot.json +1895 -0
  27. package/drizzle/meta/0015_snapshot.json +1895 -0
  28. package/drizzle/meta/0016_snapshot.json +1912 -0
  29. package/drizzle/meta/0017_snapshot.json +1920 -0
  30. package/drizzle/meta/0018_snapshot.json +1945 -0
  31. package/drizzle/meta/0019_snapshot.json +2039 -0
  32. package/drizzle/meta/0020_snapshot.json +2063 -0
  33. package/drizzle/meta/0021_snapshot.json +2249 -0
  34. package/drizzle/meta/0022_snapshot.json +2273 -0
  35. package/drizzle/meta/0023_snapshot.json +2291 -0
  36. package/drizzle/meta/0024_snapshot.json +2298 -0
  37. package/drizzle/meta/0025_snapshot.json +2305 -0
  38. package/drizzle/meta/0026_snapshot.json +2313 -0
  39. package/drizzle/meta/0027_snapshot.json +2357 -0
  40. package/drizzle/meta/0028_snapshot.json +2365 -0
  41. package/drizzle/meta/0029_snapshot.json +2506 -0
  42. package/drizzle/meta/0030_snapshot.json +2525 -0
  43. package/drizzle/meta/0031_snapshot.json +2623 -0
  44. package/drizzle/meta/0032_snapshot.json +2631 -0
  45. package/drizzle/meta/_journal.json +133 -0
  46. package/package.json +1 -1
  47. package/dist/web/assets/index-CrtHjcbU.js +0 -101
  48. package/dist/web/assets/index-DliBP3a7.css +0 -32
package/bin/lumem.mjs CHANGED
@@ -4335,6 +4335,27 @@ var acpEventSchema = external_exports.discriminatedUnion("type", [
4335
4335
  /** O tamanho do bloco, em caracteres — a marca d'água. */
4336
4336
  chars: external_exports.number().int().nonnegative()
4337
4337
  }),
4338
+ /**
4339
+ * O teto do workspace falou (`028` §6, Parte 3 — T16).
4340
+ *
4341
+ * Ele **aparece na conversa**, e não só numa tela de configuração, pela mesma
4342
+ * razão que a memória injetada aparece: o que o daemon faz por conta própria
4343
+ * tem de ser legível no lugar onde a consequência acontece.
4344
+ *
4345
+ * `warn` é o turno de quem **conduz** — o número vai junto e a conversa segue.
4346
+ * `block` é o da esteira, que para. A Q45 registra por que os dois existem: o
4347
+ * mesmo número, a mesma leitura, verbos diferentes.
4348
+ */
4349
+ external_exports.object({
4350
+ type: external_exports.literal("budget"),
4351
+ outcome: external_exports.enum(["warn", "block"]),
4352
+ /** Qual teto segurou. O bloqueio nomeia, senão mexer nele é adivinhação. */
4353
+ cap: external_exports.enum(["cost-per-task", "cost-per-day", "turns-per-session"]),
4354
+ limit: external_exports.number().nonnegative(),
4355
+ spent: external_exports.number().nonnegative(),
4356
+ /** A frase pronta, porque quem monta a frase é quem sabe a unidade. */
4357
+ message: external_exports.string()
4358
+ }),
4338
4359
  /**
4339
4360
  * An event the daemon received and could not name.
4340
4361
  *
@@ -4475,16 +4496,38 @@ var CLAUDE_ADAPTER = {
4475
4496
  * está em `docs/project/claude-agent-acp-0.75.md`.
4476
4497
  */
4477
4498
  pinnedVersion: "0.75.1",
4478
- cli: { command: "claude", install: null },
4499
+ /*
4500
+ * `null` desde 2026-09-08, e isto **reverte** o que estava escrito no §
4501
+ * `cli` opcional acima: *"o `claude-agent-acp`, ao contrário, é um adaptador que
4502
+ * dirige um binário que tem que existir"*. Era verdade no `0.40.0`. Deixou de
4503
+ * ser, e a medição é o motivo — três vezes, no `0.75.1`:
4504
+ *
4505
+ * - com o `claude` fora do PATH (só `node` nele), `initialize` e `session/new`
4506
+ * fecham e ele lista os cinco modelos, Opus 5 incluído;
4507
+ * - o daemon em execução spawna
4508
+ * `@anthropic-ai/claude-agent-sdk-darwin-arm64/claude` — o binário de **dentro**
4509
+ * do pacote, nunca o do PATH;
4510
+ * - os `authMethods` que ele oferece têm `args: ["--cli", "auth", "login",
4511
+ * "--claudeai"]`. O `--cli` é do próprio adaptador; não há um `claude` a chamar.
4512
+ *
4513
+ * O que o processo filho ainda precisa do PATH é o keychain: com só `node`,
4514
+ * `session/prompt` responde `Authentication required`; com `/usr/bin/security` ao
4515
+ * lado, o mesmo turno fecha em `end_turn`. Isso é ambiente, não proveniência — a
4516
+ * distinção está na [Q3](../../../docs/features/027-adapter-provenance/open-questions.md).
4517
+ */
4518
+ cli: null,
4479
4519
  // Medido: `0.40.0` embutia o `0.3.160` e `0.75.1` embute o `0.3.257`, e o
4480
4520
  // número depois do `0.3.` é o do Claude Code que a API cobra na recusa.
4481
4521
  runtime: "@anthropic-ai/claude-agent-sdk",
4482
- apiKeyEnv: ["ANTHROPIC_API_KEY"]
4522
+ apiKeyEnv: ["ANTHROPIC_API_KEY"],
4523
+ // Medido na Q43, e é o único dos cinco que fecha o laço: `default`, `plan`,
4524
+ // `acceptEdits` e `dontAsk` param no primeiro `Edit` esperando alguém.
4525
+ autonomousMode: "bypassPermissions"
4483
4526
  };
4484
4527
  var DEFAULT_ADAPTER_ID = CLAUDE_ADAPTER.id;
4485
4528
 
4486
4529
  // ../shared/src/constants.ts
4487
- var LUMEM_VERSION = "0.4.0";
4530
+ var LUMEM_VERSION = "0.5.0";
4488
4531
 
4489
4532
  // ../shared/src/pty-protocol.ts
4490
4533
  var ptySessionStateSchema = external_exports.enum(["running", "exited"]);