execbro 2.9.0 → 2.9.1

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.
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from "@jest/globals";
1
+ import { describe, test, expect, jest, beforeEach } from "@jest/globals";
2
2
  import { nextThreshold } from "../../pro/usageNotifications.js";
3
3
  function usage(over = {}) {
4
4
  return {
@@ -24,4 +24,40 @@ describe("nextThreshold", () => {
24
24
  expect(nextThreshold(usage({ limit: null, used: 9999 }))).toBeNull();
25
25
  });
26
26
  });
27
+ describe("maybeNotifyUsage — 100% cap banner fires once per session", () => {
28
+ const pushLogBoxMock = jest.fn().mockResolvedValue(undefined);
29
+ jest.unstable_mockModule("../../core/logbox.js", () => ({
30
+ pushLogBox: pushLogBoxMock,
31
+ getLastLogBoxError: jest.fn(),
32
+ detectLogBox: jest.fn(),
33
+ dismissLogBox: jest.fn(),
34
+ addLogBoxIgnorePatterns: jest.fn(),
35
+ formatLogBoxWarning: jest.fn(),
36
+ formatDismissedEntries: jest.fn(),
37
+ notifyDriverMissing: jest.fn()
38
+ }));
39
+ let maybeNotifyUsage;
40
+ beforeEach(async () => {
41
+ pushLogBoxMock.mockClear();
42
+ jest.resetModules();
43
+ const actualFs = await import("fs");
44
+ jest.unstable_mockModule("fs", () => ({
45
+ ...actualFs,
46
+ existsSync: () => true,
47
+ readFileSync: () => JSON.stringify({ monthKey: "2026-08", lastThreshold: 100 }),
48
+ writeFileSync: jest.fn(),
49
+ mkdirSync: jest.fn()
50
+ }));
51
+ ({ maybeNotifyUsage } = await import("../../pro/usageNotifications.js"));
52
+ });
53
+ test("still pushes the banner on a fresh process despite monthly dedup already recorded", async () => {
54
+ await maybeNotifyUsage(usage({ monthKey: "2026-08", used: 600 }));
55
+ expect(pushLogBoxMock).toHaveBeenCalledTimes(1);
56
+ });
57
+ test("does not repeat within the same session", async () => {
58
+ await maybeNotifyUsage(usage({ monthKey: "2026-08", used: 600 }));
59
+ await maybeNotifyUsage(usage({ monthKey: "2026-08", used: 600 }));
60
+ expect(pushLogBoxMock).toHaveBeenCalledTimes(1);
61
+ });
62
+ });
27
63
  //# sourceMappingURL=usageNotifications.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usageNotifications.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageNotifications.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,SAAS,KAAK,CAAC,OAA2B,EAAE;IACxC,OAAO;QACH,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,GAAG;QAClB,GAAG,IAAI;KACV,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"usageNotifications.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageNotifications.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,SAAS,KAAK,CAAC,OAA2B,EAAE;IACxC,OAAO;QACH,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,GAAG;QAClB,GAAG,IAAI;KACV,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAKH,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAA4C,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAExG,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACpD,UAAU,EAAE,cAAc;QAC1B,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;QACvB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;QACxB,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;QAClC,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC9B,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE;QACjC,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;KACjC,CAAC,CAAC,CAAC;IACJ,IAAI,gBAAmF,CAAC;IAExF,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,cAAc,CAAC,SAAS,EAAE,CAAC;QAG3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAClC,GAAG,QAAQ;YAEX,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;YACtB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;YAC/E,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;SACvB,CAAC,CAAC,CAAC;QACJ,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usageNotifications.d.ts","sourceRoot":"","sources":["../../src/pro/usageNotifications.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkDrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAMtE;AAGD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC9F;AAGD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjG"}
1
+ {"version":3,"file":"usageNotifications.d.ts","sourceRoot":"","sources":["../../src/pro/usageNotifications.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkDrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAMtE;AAYD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C9F;AAGD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjG"}
@@ -47,6 +47,7 @@ export function nextThreshold(usage) {
47
47
  return 80;
48
48
  return null;
49
49
  }
50
+ let sessionCapNotified = false;
50
51
  export async function maybeNotifyUsage(usage, device) {
51
52
  try {
52
53
  const threshold = nextThreshold(usage);
@@ -57,8 +58,12 @@ export async function maybeNotifyUsage(usage, device) {
57
58
  state.monthKey = usage.monthKey;
58
59
  state.lastThreshold = undefined;
59
60
  }
60
- if (state.lastThreshold === threshold || (state.lastThreshold === 100 && threshold === 80))
61
+ const alreadyNotifiedThisMonth = state.lastThreshold === threshold || (state.lastThreshold === 100 && threshold === 80);
62
+ const sessionNeedsCapBanner = threshold === 100 && !sessionCapNotified;
63
+ if (alreadyNotifiedThisMonth && !sessionNeedsCapBanner)
61
64
  return;
65
+ if (threshold === 100)
66
+ sessionCapNotified = true;
62
67
  const askAgent = `Ask your AI assistant: "Check my ExecBro license status and help me link my account and upgrade to Pro."`;
63
68
  const msg = NOT_AN_APP_ERROR +
64
69
  (threshold === 100
@@ -68,8 +73,10 @@ export async function maybeNotifyUsage(usage, device) {
68
73
  : `ExecBro: ${usage.used}/${usage.limit} free tool calls used this month, resets ${formatReset(usage)}. ` +
69
74
  `At ${usage.limit} your AI assistant will be blocked from using ExecBro until the reset. ` +
70
75
  `Unlock unlimited usage at ${UPGRADE_URL} — ${askAgent}`);
71
- state.lastThreshold = threshold;
72
- write(state);
76
+ if (!alreadyNotifiedThisMonth) {
77
+ state.lastThreshold = threshold;
78
+ write(state);
79
+ }
73
80
  await pushLogBox(msg, "warning", true, "logbox", "ExecBro", device);
74
81
  }
75
82
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"usageNotifications.js","sourceRoot":"","sources":["../../src/pro/usageNotifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usageNotifications.js","sourceRoot":"","sources":["../../src/pro/usageNotifications.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "execbro",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "mcpName": "com.execbro/execbro",
5
5
  "description": "ExecBro — MCP server giving AI agents eyes and hands into React Native apps. Logs, REPL, state inspection, tap, screenshot.",
6
6
  "type": "module",