openlimiter 2.0.2 → 2.0.3

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 (49) hide show
  1. package/dist/api-spend.d.ts +29 -0
  2. package/dist/api-spend.d.ts.map +1 -0
  3. package/dist/api-spend.js +113 -0
  4. package/dist/api-spend.js.map +1 -0
  5. package/dist/cli.d.ts +7 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +77 -14
  8. package/dist/cli.js.map +1 -1
  9. package/dist/codex-device-login.d.ts.map +1 -1
  10. package/dist/codex-device-login.js +1 -0
  11. package/dist/codex-device-login.js.map +1 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +2 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/hub-auth.d.ts +2 -0
  16. package/dist/hub-auth.d.ts.map +1 -1
  17. package/dist/hub-auth.js +18 -1
  18. package/dist/hub-auth.js.map +1 -1
  19. package/dist/hub-sync.d.ts +1 -1
  20. package/dist/hub-sync.js +1 -1
  21. package/dist/ingest.d.ts +24 -0
  22. package/dist/ingest.d.ts.map +1 -1
  23. package/dist/ingest.js +33 -1
  24. package/dist/ingest.js.map +1 -1
  25. package/dist/session.d.ts.map +1 -1
  26. package/dist/session.js +1 -4
  27. package/dist/session.js.map +1 -1
  28. package/dist/statusline-wrapper.d.ts.map +1 -1
  29. package/dist/statusline-wrapper.js +2 -1
  30. package/dist/statusline-wrapper.js.map +1 -1
  31. package/dist/statusline.d.ts +2 -0
  32. package/dist/statusline.d.ts.map +1 -1
  33. package/dist/statusline.js +24 -1
  34. package/dist/statusline.js.map +1 -1
  35. package/dist/terminal-backup.d.ts +85 -1
  36. package/dist/terminal-backup.d.ts.map +1 -1
  37. package/dist/terminal-backup.js +148 -22
  38. package/dist/terminal-backup.js.map +1 -1
  39. package/dist/terminal-fallback.d.ts.map +1 -1
  40. package/dist/terminal-fallback.js +13 -3
  41. package/dist/terminal-fallback.js.map +1 -1
  42. package/dist/terminal-toml.d.ts +8 -0
  43. package/dist/terminal-toml.d.ts.map +1 -1
  44. package/dist/terminal-toml.js +59 -2
  45. package/dist/terminal-toml.js.map +1 -1
  46. package/dist/terminal.d.ts.map +1 -1
  47. package/dist/terminal.js +145 -36
  48. package/dist/terminal.js.map +1 -1
  49. package/package.json +4 -4
package/dist/terminal.js CHANGED
@@ -1,13 +1,14 @@
1
1
  import { lstat, readFile, mkdir, realpath } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { writeFileAtomically } from "@openlimiter/core";
3
+ import { windowsPathTool, windowsSystemTool, writeFileAtomically } from "@openlimiter/core";
4
4
  import { DEFAULT_PROVIDERS, DEFAULT_STATUSLINE, TERMINAL_SEGMENTS, readConfig, writeConfig } from "./config.js";
5
5
  import { decodeWrappedStatuslineCommand, encodeWrappedStatuslineCommand } from "./statusline-wrapper.js";
6
6
  import { PROVIDER_SHORT_TAGS } from "./statusline.js";
7
- import { parseToml, editToml, tomlValue } from "./terminal-toml.js";
7
+ import { MONEY_TAGS } from "./api-spend.js";
8
+ import { parseToml, editToml, restoreToml, tomlValue } from "./terminal-toml.js";
8
9
  import { installLauncher } from "./terminal-launcher.js";
9
10
  import { fallbackLauncherCommand } from "./terminal-fallback.js";
10
- import { isOwned, originalConfiguration, readOptional, restoreOwned, writeOwned } from "./terminal-backup.js";
11
+ import { classifyInstallOwnership, driftedOriginal, isOwned, originalConfiguration, readOptional, restoreOwned, writeDriftedOwned, writeOwned } from "./terminal-backup.js";
11
12
  export const TERMINAL_HOST_NAMES = [
12
13
  "claude",
13
14
  "antigravity",
@@ -184,6 +185,24 @@ function ownedMarker(text, json) {
184
185
  return json ? JSON.parse(text)["openlimiter managed"] === true
185
186
  : text.split(/\r?\n/).some(line => line.trim() === "# openlimiter managed");
186
187
  }
188
+ /** Whether the status line currently in the file is one OpenLimiter wrote (any launcher generation). */
189
+ function statusLineIsOurs(host, json, text) {
190
+ try {
191
+ if (json) {
192
+ const command = claudeLikeStatusLineCommand(JSON.parse(text)["statusLine"]);
193
+ return command !== null && isOpenLimiterStatuslineCommand(command);
194
+ }
195
+ if (host === "codex") {
196
+ return tomlValue(text, ["tui", "status_line_use_colors"]) === true &&
197
+ JSON.stringify(tomlValue(text, ["tui", "status_line"])) === JSON.stringify(CODEX_ITEMS);
198
+ }
199
+ const command = tomlValue(text, ["ui", "status_line", "command"]);
200
+ return tomlValue(text, ["ui", "status_line", "type"]) === "command" && typeof command === "string" && isOpenLimiterStatuslineCommand(command);
201
+ }
202
+ catch {
203
+ return false;
204
+ }
205
+ }
187
206
  async function changeConfigHost(host, context, install) {
188
207
  const spec = HOST_CONFIG[host];
189
208
  let file;
@@ -201,36 +220,97 @@ async function changeConfigHost(host, context, install) {
201
220
  return { ok: false, message: `Could not read ${file}, fix it or move it aside` };
202
221
  try {
203
222
  const original = await readOptional(file);
204
- const firstConfiguration = await originalConfiguration(file, original);
205
223
  const text = original ?? (spec.json ? "{}" : "");
206
224
  const marker = ownedMarker(text, spec.json);
225
+ // ── Uninstall path ────────────────────────────────────────────────────
207
226
  if (!install) {
208
- const restored = original !== null && await restoreOwned(file, original, marker);
209
- if (marker && !restored)
210
- return { ok: false, message: `Could not update ${file}.` };
211
- return { ok: true, message: restored ? `Uninstalled ${spec.label} status line.` : `${spec.label} status line is not installed.` };
227
+ if (original === null) {
228
+ return { ok: true, message: `${spec.label} status line is not installed.` };
229
+ }
230
+ // Check whether the host has edited the file since we installed, now or
231
+ // before a reinstall. Either way the original bytes predate those edits.
232
+ const firstConfiguration = await driftedOriginal(file, original);
233
+ if (firstConfiguration !== undefined) {
234
+ // If drift exists but our marker is gone, the file was replaced
235
+ // entirely by someone else. Refuse — same contract as the P2 test
236
+ // "refuses changed settings even when the marker was removed".
237
+ if (!marker || !statusLineIsOurs(host, spec.json, original)) {
238
+ return { ok: false, message: `The status line in ${file} was replaced by something that is not OpenLimiter` };
239
+ }
240
+ // Host edited the file but kept our marker. Patch the current content
241
+ // instead of restoring exact bytes: restore the original statusLine
242
+ // value (or remove it), strip our marker, keep every other key.
243
+ let driftedContent;
244
+ if (spec.json) {
245
+ const data = JSON.parse(original);
246
+ const restoredOriginalData = firstConfiguration !== null
247
+ ? JSON.parse(firstConfiguration)
248
+ : null;
249
+ if (restoredOriginalData !== null && "statusLine" in restoredOriginalData) {
250
+ data["statusLine"] = restoredOriginalData["statusLine"];
251
+ }
252
+ else {
253
+ delete data["statusLine"];
254
+ }
255
+ delete data["openlimiter managed"];
256
+ driftedContent = JSON.stringify(data, null, 2) + "\n";
257
+ }
258
+ else if (host === "grok") {
259
+ driftedContent = restoreToml(original, firstConfiguration ?? "", ["ui", "status_line"], ["type", "command"]);
260
+ }
261
+ else {
262
+ driftedContent = restoreToml(original, firstConfiguration ?? "", ["tui"], ["status_line", "status_line_use_colors"]);
263
+ }
264
+ const restoreResult = await restoreOwned(file, original, marker, driftedContent);
265
+ if (restoreResult.kind === "not_owned") {
266
+ return { ok: true, message: `${spec.label} status line is not installed.` };
267
+ }
268
+ if (restoreResult.kind === "concurrent_change") {
269
+ return { ok: false, message: `The file ${restoreResult.path} changed during the operation, try again` };
270
+ }
271
+ return { ok: true, message: `Uninstalled ${spec.label} status line.` };
272
+ }
273
+ // No drift: standard restore of exact bytes.
274
+ const restoreResult = await restoreOwned(file, original, marker);
275
+ if (restoreResult.kind === "not_owned") {
276
+ if (marker) {
277
+ return { ok: false, message: `The status line in ${file} was replaced by something that is not OpenLimiter` };
278
+ }
279
+ return { ok: true, message: `${spec.label} status line is not installed.` };
280
+ }
281
+ if (restoreResult.kind === "concurrent_change") {
282
+ return { ok: false, message: `The file ${restoreResult.path} changed during the operation, try again` };
283
+ }
284
+ return { ok: true, message: `Uninstalled ${spec.label} status line.` };
285
+ }
286
+ // ── Install path ──────────────────────────────────────────────────────
287
+ const legacyOpenLimiter = statusLineIsOurs(host, spec.json, text);
288
+ if (marker && !legacyOpenLimiter)
289
+ return { ok: false, message: `The status line in ${file} was replaced by something that is not OpenLimiter` };
290
+ const ownership = await classifyInstallOwnership(file, original, marker, legacyOpenLimiter);
291
+ if (ownership.kind === "replaced_by_other") {
292
+ return { ok: false, message: `The status line in ${file} was replaced by something that is not OpenLimiter` };
212
293
  }
213
- const previous = spec.json
214
- ? claudeLikeStatusLineCommand(JSON.parse(text)["statusLine"])
215
- : host === "grok"
216
- ? (() => {
217
- const value = tomlValue(text, ["ui", "status_line", "command"]);
218
- return typeof value === "string" ? value : null;
219
- })()
220
- : null;
221
- const legacyOpenLimiter = previous !== null && isOpenLimiterStatuslineCommand(previous);
222
- const owned = original !== null && await isOwned(file, original, marker);
223
- if (marker && !owned && !legacyOpenLimiter)
224
- return { ok: false, message: `Could not write ${file}.` };
225
- const savedText = firstConfiguration ?? (spec.json ? "{}" : "");
294
+ const isDrifted = ownership.kind === "drifted";
295
+ // Use backup.original (the pre-install snapshot) to recover the user's
296
+ // original command so wrap logic works correctly on reinstall. In the
297
+ // "unowned" case there is no backup yet, so current content is the original.
298
+ const firstConfigurationText = (() => {
299
+ if (ownership.kind === "owned" || ownership.kind === "drifted") {
300
+ return ownership.original ?? (spec.json ? "{}" : "");
301
+ }
302
+ return original ?? (spec.json ? "{}" : "");
303
+ })();
226
304
  const savedCommand = spec.json
227
- ? claudeLikeStatusLineCommand(JSON.parse(savedText)["statusLine"])
228
- : host === "grok" ? grokStatusLineCommand(savedText) : null;
305
+ ? claudeLikeStatusLineCommand(JSON.parse(firstConfigurationText)["statusLine"])
306
+ : host === "grok" ? grokStatusLineCommand(firstConfigurationText) : null;
229
307
  const userCommand = savedCommand === null ? null : unwrapOpenLimiterStatuslineCommand(savedCommand);
230
- const replaced = !owned && (userCommand !== null || (host === "codex" && tomlValue(savedText, ["tui", "status_line"]) !== undefined));
308
+ const replaced = ownership.kind === "unowned" && (userCommand !== null ||
309
+ (host === "codex" && tomlValue(firstConfigurationText, ["tui", "status_line"]) !== undefined));
231
310
  const message = replaced
232
311
  ? `Your previous ${spec.label} status line is stored, and openlimiter terminal uninstall ${host} restores it.`
233
312
  : spec.wired;
313
+ // Build updated content from current text so the host's edits are preserved.
234
314
  let updated;
235
315
  if (spec.json) {
236
316
  const data = JSON.parse(text);
@@ -255,14 +335,24 @@ async function changeConfigHost(host, context, install) {
255
335
  (context.wrap && typeof userCommand === "string" ? ` --wrap ${encodeWrappedStatuslineCommand(userCommand)}` : "");
256
336
  updated = editToml(text, ["ui", "status_line"], { type: "command", command });
257
337
  }
258
- if (owned && updated === text)
259
- return { ok: true, message: spec.wired };
260
338
  await mkdir(path.dirname(file), { recursive: true });
261
- await writeOwned(file, original, updated);
339
+ if (isDrifted) {
340
+ // Preserve backup.original; update backup.installed to the new content.
341
+ // writeDriftedOwned handles the case where updated === current gracefully
342
+ // (updates backup but skips the file write).
343
+ await writeDriftedOwned(file, original, updated);
344
+ }
345
+ else {
346
+ // writeOwned re-reads the file under the lock. When updated === text it
347
+ // returns early (no write needed) but still validates the concurrency
348
+ // guard so a concurrent change is detected and refused.
349
+ await writeOwned(file, original, updated);
350
+ }
262
351
  return { ok: true, message };
263
352
  }
264
- catch {
265
- return { ok: false, message: `Could not ${install ? "write" : "update"} ${file}.` };
353
+ catch (error) {
354
+ const msg = error instanceof Error ? error.message : String(error);
355
+ return { ok: false, message: `Could not ${install ? "write" : "update"} ${file}: ${msg}` };
266
356
  }
267
357
  }
268
358
  export const installClaude = (context) => changeConfigHost("claude", context, true);
@@ -305,7 +395,7 @@ async function shellTarget(context) {
305
395
  "$p = Get-CimInstance Win32_Process -Filter ('ProcessId=' + $ancestorId); " +
306
396
  "if ($p.Name -match '^(pwsh|powershell|bash|zsh)(\\.exe)?$') { $p.ExecutablePath; break }; " +
307
397
  "$ancestorId = $p.ParentProcessId }";
308
- const found = await context.shellRunner("powershell.exe", ["-NoProfile", "-NonInteractive", "-Command", query], POWERSHELL_PROFILE_TIMEOUT_MILLISECONDS);
398
+ const found = await context.shellRunner(windowsSystemTool("WindowsPowerShell", "v1.0", "powershell.exe", env), ["-NoProfile", "-NonInteractive", "-Command", query], POWERSHELL_PROFILE_TIMEOUT_MILLISECONDS);
309
399
  if (found.ok)
310
400
  executable = found.stdout.trim();
311
401
  }
@@ -317,6 +407,10 @@ async function shellTarget(context) {
317
407
  return { kind: "zsh", file: path.join(env["ZDOTDIR"] || context.homeDirectory, ".zshrc") };
318
408
  }
319
409
  if (name === "pwsh" || name === "pwsh.exe" || name === "powershell" || name === "powershell.exe") {
410
+ if (context.platform === "win32" && !path.win32.isAbsolute(executable)) {
411
+ const program = name.endsWith(".exe") ? name : `${name}.exe`;
412
+ executable = await windowsPathTool(program, env) ?? windowsSystemTool("WindowsPowerShell", "v1.0", "powershell.exe", env);
413
+ }
320
414
  return { kind: "powershell", file: await resolvePowerShellProfilePath(executable, context.shellRunner) };
321
415
  }
322
416
  if (name !== "")
@@ -450,11 +544,15 @@ export async function uninstallShell(context) {
450
544
  try {
451
545
  const target = await shellTarget(context);
452
546
  const original = await readOptional(target.file);
547
+ // originalConfiguration is used here only to validate that no unexpected
548
+ // state exists; the shell profile does not drift the same way config hosts do.
453
549
  await originalConfiguration(target.file, original);
454
550
  if (original !== null) {
455
551
  const marker = ownedMarker(original, false);
456
- const restored = await restoreOwned(target.file, original, marker);
457
- if (marker && !restored)
552
+ const result = await restoreOwned(target.file, original, marker);
553
+ if (result.kind === "concurrent_change")
554
+ return { ok: false, message: `The file ${result.path} changed during the operation, try again` };
555
+ if (marker && result.kind === "not_owned")
458
556
  return { ok: false, message: `Could not update ${target.file}.` };
459
557
  }
460
558
  return { ok: true, message: "Uninstalled shell prompt integration." };
@@ -654,11 +752,20 @@ export async function terminalStatusTable(context) {
654
752
  rows.push(`${name}: ${status}`);
655
753
  }
656
754
  const { statusline } = await loadTerminalConfig(context);
657
- const visible = (id) => statusline.visibility?.[id] ??
658
- (TERMINAL_SEGMENTS.includes(id) ||
755
+ // "dir" is opt-in since 2.0.2: only shown when visibility.dir === true.
756
+ const visible = (id) => {
757
+ const explicit = statusline.visibility?.[id];
758
+ if (explicit !== undefined)
759
+ return explicit;
760
+ if (id === "dir")
761
+ return false;
762
+ return (TERMINAL_SEGMENTS.includes(id) ||
659
763
  statusline.show.length === 0 && statusline.showMode !== "explicit" ||
660
- statusline.show.includes(id) || statusline.show.includes(PROVIDER_SHORT_TAGS[id.toUpperCase()]));
661
- const ids = [...TERMINAL_SEGMENTS, ...Object.keys(PROVIDER_SHORT_TAGS).map((id) => id.toLowerCase())];
764
+ statusline.show.includes(id) ||
765
+ statusline.show.includes(PROVIDER_SHORT_TAGS[id.toUpperCase()]) ||
766
+ statusline.show.includes(MONEY_TAGS[id] ?? ""));
767
+ };
768
+ const ids = [...TERMINAL_SEGMENTS, ...Object.keys(PROVIDER_SHORT_TAGS).map((id) => id.toLowerCase()), ...Object.keys(MONEY_TAGS)];
662
769
  rows.push(TERMINAL_VISIBILITY_TEXT.shown + (ids.filter(visible).join(", ") || "none"));
663
770
  rows.push(TERMINAL_VISIBILITY_TEXT.hidden + (ids.filter((id) => !visible(id)).join(", ") || "none"));
664
771
  rows.push(TERMINAL_VISIBILITY_TEXT.automatic);
@@ -689,6 +796,8 @@ async function loadTerminalConfig(context) {
689
796
  /** Segment and provider overrides preserve automatic discovery for other providers. */
690
797
  async function terminalVisibility(ids, context, enabled) {
691
798
  const aliases = new Map(Object.entries(PROVIDER_SHORT_TAGS).flatMap(([provider, tag]) => [[provider.toLowerCase(), provider.toLowerCase()], [tag, provider.toLowerCase()]]));
799
+ for (const [name, tag] of Object.entries(MONEY_TAGS))
800
+ aliases.set(name, name).set(tag, name);
692
801
  const resolved = ids.map((id) => aliases.get(id.toLowerCase()) ?? id.toLowerCase());
693
802
  const known = new Set([...TERMINAL_SEGMENTS, ...aliases.values()]);
694
803
  if (resolved.length === 0 || resolved.some((id) => !known.has(id))) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlimiter",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "A local command line meter for AI quota, usage, and reset times.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,9 +22,9 @@
22
22
  "NOTICE"
23
23
  ],
24
24
  "dependencies": {
25
- "@openlimiter/adapters": "2.0.2",
26
- "@openlimiter/core": "2.0.2",
27
- "@openlimiter/connectors": "2.0.2"
25
+ "@openlimiter/adapters": "2.0.3",
26
+ "@openlimiter/core": "2.0.3",
27
+ "@openlimiter/connectors": "2.0.3"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",