synthesisui 0.16.446 → 0.16.447
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.
- package/dist/agent-wiring.js +28 -2
- package/package.json +1 -1
package/dist/agent-wiring.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { homedir } from "node:os";
|
|
2
3
|
import { dirname, join } from "node:path";
|
|
3
4
|
import { hasCodexBlock, pinnedInCodex, withCodexBlock } from "./codex-mcp.js";
|
|
4
5
|
import { wrapperSource } from "./statusline-wrapper.js";
|
|
@@ -341,7 +342,16 @@ async function wireCodexMcp(root) {
|
|
|
341
342
|
* o `settings.json`, nem o invólucro, que guardaria o comando ERRADO se fosse regravado (ele já
|
|
342
343
|
* aponta para si mesmo, e o anterior se perderia).
|
|
343
344
|
*/
|
|
344
|
-
export async function wireStatusLine(root
|
|
345
|
+
export async function wireStatusLine(root,
|
|
346
|
+
/**
|
|
347
|
+
* A CASA, INJETADA - e não lida de `process.env` dentro do teste.
|
|
348
|
+
*
|
|
349
|
+
* O teste precisa de um `~/.claude/settings.json` de mentira, e a primeira versão trocava o
|
|
350
|
+
* `HOME` do processo para consegui-lo. Duas coisas erradas nisso: o gate de provas dependentes de
|
|
351
|
+
* máquina passa a ver este spec como quem lê a casa de quem roda - e ele estaria certo, porque
|
|
352
|
+
* trocar env é global e vaza para o que roda em paralelo ao lado.
|
|
353
|
+
*/
|
|
354
|
+
home = homedir()) {
|
|
345
355
|
const rel = "_synthesisui/statusline.mjs";
|
|
346
356
|
const ours = `node ${rel}`;
|
|
347
357
|
const dir = join(root, ".claude");
|
|
@@ -351,7 +361,23 @@ export async function wireStatusLine(root) {
|
|
|
351
361
|
const command = typeof current?.command === "string" ? current.command : "";
|
|
352
362
|
if (command.includes(rel))
|
|
353
363
|
return { status: "already there", command: ours };
|
|
354
|
-
|
|
364
|
+
/**
|
|
365
|
+
* A BARRA DELE PODE MORAR NO SETTINGS GLOBAL, E QUASE SEMPRE MORA - achado em 21/09, com o print
|
|
366
|
+
* dele na mão e o invólucro já instalado.
|
|
367
|
+
*
|
|
368
|
+
* A primeira versão olhava só o `.claude/settings.json` DO PROJETO. No repositório dele não havia
|
|
369
|
+
* `statusLine` ali - o Pulse está em `~/.claude/settings.json` -, então o invólucro nasceu com
|
|
370
|
+
* "não havia barra anterior" e deixaria de chamar o Pulse. Na sessão seguinte ele perderia a barra
|
|
371
|
+
* inteira e veria só o nosso segmento: exatamente o contrário do que ele pediu.
|
|
372
|
+
*
|
|
373
|
+
* O Claude Code resolve `statusLine` do projeto SOBRE o global, então o que a gente substitui é o
|
|
374
|
+
* que estava valendo ali - e o que estava valendo é o global quando o projeto cala.
|
|
375
|
+
*/
|
|
376
|
+
const globalPath = join(home, ".claude", "settings.json");
|
|
377
|
+
const globalSettings = await readJson(globalPath);
|
|
378
|
+
const globalLine = globalSettings.statusLine;
|
|
379
|
+
const fallback = typeof globalLine?.command === "string" ? globalLine.command : "";
|
|
380
|
+
const was = command.trim() ? command : fallback.trim() ? fallback : null;
|
|
355
381
|
await mkdir(join(root, "_synthesisui"), { recursive: true });
|
|
356
382
|
await writeFile(join(root, rel), wrapperSource(was), "utf8");
|
|
357
383
|
await mkdir(dir, { recursive: true });
|
package/package.json
CHANGED