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.
- package/build/__tests__/unit/usageNotifications.test.js +37 -1
- package/build/__tests__/unit/usageNotifications.test.js.map +1 -1
- package/build/pro/usageNotifications.d.ts.map +1 -1
- package/build/pro/usageNotifications.js +10 -3
- package/build/pro/usageNotifications.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"usageNotifications.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageNotifications.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
72
|
-
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,GAAG,YAAY,UAAU,CAAC;AAG9C,MAAM,mBAAmB,GAAG,GAAG,WAAW,WAAW,CAAC;AAItD,MAAM,gBAAgB,GAAG,8EAA8E,CAAC;AAGxG,SAAS,QAAQ;IACb,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,OAAO,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACpE,CAAC;AAGD,SAAS,WAAW,CAAC,KAAgB;IACjC,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAC;IACzC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,YAAY,CAAC;IACnD,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAQD,SAAS,IAAI;IACT,IAAI,CAAC;QACD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,CAAc;IACzB,IAAI,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAuB;IACjD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IACrC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"usageNotifications.js","sourceRoot":"","sources":["../../src/pro/usageNotifications.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED