execbro 1.10.20 → 1.10.22
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/README.md +4 -1
- package/build/__tests__/unit/deviceResolver.test.js +87 -0
- package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
- package/build/__tests__/unit/meteringEndpoint.test.d.ts +2 -0
- package/build/__tests__/unit/meteringEndpoint.test.d.ts.map +1 -0
- package/build/__tests__/unit/meteringEndpoint.test.js +16 -0
- package/build/__tests__/unit/meteringEndpoint.test.js.map +1 -0
- package/build/__tests__/unit/projectMemory.test.d.ts +2 -0
- package/build/__tests__/unit/projectMemory.test.d.ts.map +1 -0
- package/build/__tests__/unit/projectMemory.test.js +78 -0
- package/build/__tests__/unit/projectMemory.test.js.map +1 -0
- package/build/__tests__/unit/projectStore.test.d.ts +2 -0
- package/build/__tests__/unit/projectStore.test.d.ts.map +1 -0
- package/build/__tests__/unit/projectStore.test.js +74 -0
- package/build/__tests__/unit/projectStore.test.js.map +1 -0
- package/build/__tests__/unit/signedVerdict.test.d.ts +2 -0
- package/build/__tests__/unit/signedVerdict.test.d.ts.map +1 -0
- package/build/__tests__/unit/signedVerdict.test.js +69 -0
- package/build/__tests__/unit/signedVerdict.test.js.map +1 -0
- package/build/__tests__/unit/usageCache.test.d.ts +2 -0
- package/build/__tests__/unit/usageCache.test.d.ts.map +1 -0
- package/build/__tests__/unit/usageCache.test.js +116 -0
- package/build/__tests__/unit/usageCache.test.js.map +1 -0
- package/build/__tests__/unit/usageCacheStateReport.test.d.ts +2 -0
- package/build/__tests__/unit/usageCacheStateReport.test.d.ts.map +1 -0
- package/build/__tests__/unit/usageCacheStateReport.test.js +21 -0
- package/build/__tests__/unit/usageCacheStateReport.test.js.map +1 -0
- package/build/__tests__/unit/usageGate.test.js +9 -0
- package/build/__tests__/unit/usageGate.test.js.map +1 -1
- package/build/core/config.d.ts +3 -0
- package/build/core/config.d.ts.map +1 -1
- package/build/core/config.js +7 -0
- package/build/core/config.js.map +1 -1
- package/build/core/deviceResolver.d.ts +4 -9
- package/build/core/deviceResolver.d.ts.map +1 -1
- package/build/core/deviceResolver.js +56 -1
- package/build/core/deviceResolver.js.map +1 -1
- package/build/core/license.d.ts.map +1 -1
- package/build/core/license.js +19 -33
- package/build/core/license.js.map +1 -1
- package/build/core/projectMemory.d.ts +39 -0
- package/build/core/projectMemory.d.ts.map +1 -0
- package/build/core/projectMemory.js +108 -0
- package/build/core/projectMemory.js.map +1 -0
- package/build/core/projectStore.d.ts +41 -0
- package/build/core/projectStore.d.ts.map +1 -0
- package/build/core/projectStore.js +97 -0
- package/build/core/projectStore.js.map +1 -0
- package/build/core/signedVerdict.d.ts +14 -0
- package/build/core/signedVerdict.d.ts.map +1 -0
- package/build/core/signedVerdict.js +36 -0
- package/build/core/signedVerdict.js.map +1 -0
- package/build/core/telemetry.d.ts +1 -0
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +26 -4
- package/build/core/telemetry.js.map +1 -1
- package/build/core/usageCache.d.ts +6 -0
- package/build/core/usageCache.d.ts.map +1 -0
- package/build/core/usageCache.js +76 -0
- package/build/core/usageCache.js.map +1 -0
- package/build/pro/tap.d.ts +2 -0
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +3 -0
- package/build/pro/tap.js.map +1 -1
- package/build/pro/usageGate.d.ts.map +1 -1
- package/build/pro/usageGate.js +5 -1
- package/build/pro/usageGate.js.map +1 -1
- package/build/pro/usageNotifications.d.ts +1 -1
- package/build/pro/usageNotifications.d.ts.map +1 -1
- package/build/pro/usageNotifications.js +13 -3
- package/build/pro/usageNotifications.js.map +1 -1
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +1 -0
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/screenshotTools.d.ts.map +1 -1
- package/build/tools/screenshotTools.js +27 -0
- package/build/tools/screenshotTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageCacheStateReport.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/usageCacheStateReport.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { describe, it, expect, afterEach, jest } from "@jest/globals";
|
|
2
|
+
describe("validate payload includes usageCacheState", () => {
|
|
3
|
+
const realFetch = global.fetch;
|
|
4
|
+
afterEach(() => {
|
|
5
|
+
global.fetch = realFetch;
|
|
6
|
+
jest.resetModules();
|
|
7
|
+
});
|
|
8
|
+
it("sends the current cache state in the validate body", async () => {
|
|
9
|
+
const calls = [];
|
|
10
|
+
global.fetch = jest.fn(async (url, init) => {
|
|
11
|
+
calls.push({ url: String(url), body: JSON.parse(init.body) });
|
|
12
|
+
return { ok: true, status: 200, json: async () => ({ tier: "free", validatedAt: "", cacheExpiresAt: "" }) };
|
|
13
|
+
});
|
|
14
|
+
const { refreshLicense } = await import("../../core/license.js");
|
|
15
|
+
await refreshLicense();
|
|
16
|
+
const validateCall = calls.find((c) => c.url.includes("/api/license/validate"));
|
|
17
|
+
expect(validateCall).toBeTruthy();
|
|
18
|
+
expect(["valid", "invalid_sig", "missing"]).toContain(validateCall.body.usageCacheState);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=usageCacheStateReport.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usageCacheStateReport.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageCacheStateReport.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEtE,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,KAAK,GAAiC,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YACjD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,EAAS,CAAC;QACvH,CAAC,CAAQ,CAAC;QAEV,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACjE,MAAM,cAAc,EAAE,CAAC;QAEvB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,YAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -75,4 +75,13 @@ describe("warning line", () => {
|
|
|
75
75
|
expect(line).toMatch(/next month/);
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
+
describe("agent-resistance", () => {
|
|
79
|
+
it("block message tells the agent this is a paid limit and not to modify config files", () => {
|
|
80
|
+
freezeSessionVerdict(usage({ used: 600, canUse: false }));
|
|
81
|
+
const r = isToolBlocked("tap");
|
|
82
|
+
expect(r.message).toContain("not an error");
|
|
83
|
+
expect(r.message).toContain("Do not modify");
|
|
84
|
+
expect(r.message).toContain(".execbro");
|
|
85
|
+
});
|
|
86
|
+
});
|
|
78
87
|
//# sourceMappingURL=usageGate.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageGate.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageGate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GACpB,MAAM,wBAAwB,CAAC;AAGhC,SAAS,KAAK,CAAC,OAA2B,EAAE;IACxC,OAAO;QACH,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,GAAG;QAClB,QAAQ,EAAE,sBAAsB;QAChC,GAAG,IAAI;KACV,CAAC;AACN,CAAC;AAED,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAEtC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAClC,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1D,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC7E,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,sBAAsB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;QACjD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"usageGate.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/usageGate.test.ts"],"names":[],"mappings":"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"}
|
package/build/core/config.d.ts
CHANGED
|
@@ -6,4 +6,7 @@
|
|
|
6
6
|
* 4. Default → production URL
|
|
7
7
|
*/
|
|
8
8
|
export declare const API_BASE_URL: string;
|
|
9
|
+
export declare const ACCOUNTS_API_KEY = "fb4b5d8f410ff8d0dfe3ade01adc0b2444479ac9380b3f256554dd9d7044f5d2";
|
|
10
|
+
/** Local project-memory store is on unless config.json sets it to exactly false. */
|
|
11
|
+
export declare function isProjectMemoryEnabled(): boolean;
|
|
9
12
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AA2BA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAC8D,CAAC;AAI1F,eAAO,MAAM,gBAAgB,qEAAqE,CAAC;AAEnG,oFAAoF;AACpF,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD"}
|
package/build/core/config.js
CHANGED
|
@@ -25,4 +25,11 @@ const config = loadConfig();
|
|
|
25
25
|
* 4. Default → production URL
|
|
26
26
|
*/
|
|
27
27
|
export const API_BASE_URL = process.env.EXECBRO_API_URL ?? config.apiUrl ?? (IS_DEV ? LOCAL_URL : PRODUCTION_URL);
|
|
28
|
+
// Write-only server API key shared by license validation and metering reports.
|
|
29
|
+
// Safe to embed in client code (grants no read access).
|
|
30
|
+
export const ACCOUNTS_API_KEY = "fb4b5d8f410ff8d0dfe3ade01adc0b2444479ac9380b3f256554dd9d7044f5d2";
|
|
31
|
+
/** Local project-memory store is on unless config.json sets it to exactly false. */
|
|
32
|
+
export function isProjectMemoryEnabled() {
|
|
33
|
+
return config.projectMemory?.enabled !== false;
|
|
34
|
+
}
|
|
28
35
|
//# sourceMappingURL=config.js.map
|
package/build/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAO1C,SAAS,UAAU;IACf,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GACrB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;AAE1F,+EAA+E;AAC/E,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kEAAkE,CAAC;AAEnG,oFAAoF;AACpF,MAAM,UAAU,sBAAsB;IAClC,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,KAAK,CAAC;AACnD,CAAC"}
|
|
@@ -19,6 +19,7 @@ export interface DeviceResolverError {
|
|
|
19
19
|
export type ResolveResult = {
|
|
20
20
|
ok: true;
|
|
21
21
|
target: DeviceTarget;
|
|
22
|
+
note?: string;
|
|
22
23
|
} | {
|
|
23
24
|
ok: false;
|
|
24
25
|
error: DeviceResolverError;
|
|
@@ -30,15 +31,9 @@ export type ResolveResult = {
|
|
|
30
31
|
*/
|
|
31
32
|
export declare function formatResolverError(error: DeviceResolverError): string;
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* Resolution order:
|
|
37
|
-
* 1. UDID format → iOS simulator lookup (errors if shutdown).
|
|
38
|
-
* 2. emulator-NNNN format → Android serial lookup.
|
|
39
|
-
* 3. Substring match against the RN-connected registry.
|
|
40
|
-
* 4. Substring match against booted iOS sims and online Android devices.
|
|
41
|
-
* 5. No `device` argument → pick the single running device, or error.
|
|
34
|
+
* Public resolver: delegates to the inner resolution, then records the resolved
|
|
35
|
+
* device to project memory (best-effort, never throws). The inner function also
|
|
36
|
+
* consults project memory to auto-default on no-hint ambiguity (see Step 5).
|
|
42
37
|
*/
|
|
43
38
|
export declare function resolveDeviceTarget(device?: string): Promise<ResolveResult>;
|
|
44
39
|
//# sourceMappingURL=deviceResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceResolver.d.ts","sourceRoot":"","sources":["../../src/core/deviceResolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deviceResolver.d.ts","sourceRoot":"","sources":["../../src/core/deviceResolver.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GACxB,UAAU,GACV,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,SAAS,CAAC;AAEhB,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,GAC7B,wBAAwB,GACxB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzF;AAED,MAAM,MAAM,aAAa,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,CAAC;AA2BhD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAMtE;AA+QD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAuBjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getConnectedApps } from "./connection.js";
|
|
2
2
|
import { listAllDevices } from "./deviceDiscovery.js";
|
|
3
|
+
import { listDevices, recordDevice } from "./projectMemory.js";
|
|
3
4
|
const UDID_REGEX = /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i;
|
|
4
5
|
const ADB_SERIAL_REGEX = /^emulator-\d+$/;
|
|
5
6
|
/**
|
|
@@ -40,7 +41,7 @@ export function formatResolverError(error) {
|
|
|
40
41
|
* 4. Substring match against booted iOS sims and online Android devices.
|
|
41
42
|
* 5. No `device` argument → pick the single running device, or error.
|
|
42
43
|
*/
|
|
43
|
-
|
|
44
|
+
async function resolveDeviceTargetInner(device) {
|
|
44
45
|
const trimmed = device?.trim();
|
|
45
46
|
// Step 1: UDID match.
|
|
46
47
|
if (trimmed && UDID_REGEX.test(trimmed)) {
|
|
@@ -204,6 +205,32 @@ export async function resolveDeviceTarget(device) {
|
|
|
204
205
|
...runningEmus.map((e) => ({ name: e.name, platform: "android", identifier: e.serial ?? e.name })),
|
|
205
206
|
...onlinePhys.map((p) => ({ name: p.model, platform: "android", identifier: p.serial }))
|
|
206
207
|
];
|
|
208
|
+
try {
|
|
209
|
+
const remembered = listDevices();
|
|
210
|
+
for (const dev of remembered) {
|
|
211
|
+
const match = candidates.find((c) => c.identifier === dev.identifier);
|
|
212
|
+
if (match) {
|
|
213
|
+
const day = Number.isFinite(dev.lastUsedAt)
|
|
214
|
+
? new Date(dev.lastUsedAt).toISOString().slice(0, 10)
|
|
215
|
+
: "unknown";
|
|
216
|
+
return {
|
|
217
|
+
ok: true,
|
|
218
|
+
note: `defaulted to ${match.name} (${match.identifier}) — last used ${day}; pass device= to override.`,
|
|
219
|
+
target: {
|
|
220
|
+
platform: match.platform,
|
|
221
|
+
iosUdid: match.platform === "ios" ? match.identifier : undefined,
|
|
222
|
+
androidSerial: match.platform === "android" ? match.identifier : undefined,
|
|
223
|
+
deviceName: match.name,
|
|
224
|
+
source: "default",
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Project-memory lookup must never break device resolution; fall
|
|
232
|
+
// through to the existing MULTIPLE_DEVICES_MATCH error below.
|
|
233
|
+
}
|
|
207
234
|
return err("MULTIPLE_DEVICES_MATCH", "Multiple devices available. Specify device='...'. Call list_devices to enumerate.", candidates);
|
|
208
235
|
}
|
|
209
236
|
if (bootedSims.length === 1) {
|
|
@@ -222,4 +249,32 @@ export async function resolveDeviceTarget(device) {
|
|
|
222
249
|
const p = onlinePhys[0];
|
|
223
250
|
return ok({ platform: "android", androidSerial: p.serial, deviceName: p.model, source: "default" });
|
|
224
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* Public resolver: delegates to the inner resolution, then records the resolved
|
|
254
|
+
* device to project memory (best-effort, never throws). The inner function also
|
|
255
|
+
* consults project memory to auto-default on no-hint ambiguity (see Step 5).
|
|
256
|
+
*/
|
|
257
|
+
export async function resolveDeviceTarget(device) {
|
|
258
|
+
const result = await resolveDeviceTargetInner(device);
|
|
259
|
+
if (result.ok) {
|
|
260
|
+
try {
|
|
261
|
+
const t = result.target;
|
|
262
|
+
const identifier = t.iosUdid ?? t.androidSerial ?? t.deviceName;
|
|
263
|
+
let appId;
|
|
264
|
+
try {
|
|
265
|
+
appId = getConnectedApps().find((e) => e.app.simulatorUdid === identifier ||
|
|
266
|
+
e.app.adbSerial === identifier ||
|
|
267
|
+
e.app.deviceInfo.deviceName === t.deviceName)?.app.deviceInfo.appId;
|
|
268
|
+
}
|
|
269
|
+
catch {
|
|
270
|
+
// registry lookup is best-effort
|
|
271
|
+
}
|
|
272
|
+
recordDevice({ identifier, name: t.deviceName, platform: t.platform, appId });
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
// recording must never affect resolution
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
279
|
+
}
|
|
225
280
|
//# sourceMappingURL=deviceResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceResolver.js","sourceRoot":"","sources":["../../src/core/deviceResolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deviceResolver.js","sourceRoot":"","sources":["../../src/core/deviceResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/core/license.ts"],"names":[],"mappings":"AA2BA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,WAAW,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/core/license.ts"],"names":[],"mappings":"AA2BA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,aAAa;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,WAAW,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;CACrB;AAsBD,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAE/C;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAItD;AAKD,eAAO,MAAM,eAAe,QAAsB,CAAC;AAMnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgB3F;AAuHD,UAAU,aAAa;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAKtD;AAMD,wBAAgB,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAGvD;AAgFD,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAKD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4B/D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAUnC"}
|
package/build/core/license.js
CHANGED
|
@@ -6,14 +6,14 @@ import { getInstallationId } from "./telemetry.js";
|
|
|
6
6
|
import { getDeviceFingerprint, getFingerprintVersion } from "./fingerprint.js";
|
|
7
7
|
import { getPostHogClient } from "./posthog.js";
|
|
8
8
|
import { CONFIG_DIR } from "./paths.js";
|
|
9
|
+
import { readUsageCache, writeUsageCache, getUsageCacheState } from "./usageCache.js";
|
|
9
10
|
// ============================================================================
|
|
10
11
|
// Configuration
|
|
11
12
|
// ============================================================================
|
|
12
|
-
import { API_BASE_URL } from "./config.js";
|
|
13
|
+
import { API_BASE_URL, ACCOUNTS_API_KEY } from "./config.js";
|
|
13
14
|
const IS_DEV = process.argv.includes("--http");
|
|
14
15
|
const CACHE_TTL_MS = IS_DEV ? 0 : 24 * 60 * 60 * 1000; // No cache in dev, 24h in prod
|
|
15
16
|
const VALIDATION_ENDPOINT = API_BASE_URL;
|
|
16
|
-
const ACCOUNTS_API_KEY = "fb4b5d8f410ff8d0dfe3ade01adc0b2444479ac9380b3f256554dd9d7044f5d2";
|
|
17
17
|
const API_TIMEOUT_MS = 5_000;
|
|
18
18
|
const LICENSE_FILE = join(CONFIG_DIR, "license.json");
|
|
19
19
|
const DASHBOARD_URL = API_BASE_URL;
|
|
@@ -21,7 +21,6 @@ const DASHBOARD_URL = API_BASE_URL;
|
|
|
21
21
|
// State
|
|
22
22
|
// ============================================================================
|
|
23
23
|
let currentStatus = null;
|
|
24
|
-
const USAGE_FILE = join(CONFIG_DIR, "usage.json");
|
|
25
24
|
let currentUsage = null;
|
|
26
25
|
let currentPricing = null;
|
|
27
26
|
export function getUsageInfo() {
|
|
@@ -35,7 +34,10 @@ export function formatPlanPrice(p) {
|
|
|
35
34
|
const period = p.interval === "month" ? "mo" : "yr";
|
|
36
35
|
return `${symbol}${p.amount}/${period}`;
|
|
37
36
|
}
|
|
38
|
-
|
|
37
|
+
// Grace window length. The authoritative stamp now comes from the server
|
|
38
|
+
// (verdictFreshUntil is signed inside the verdict); this constant remains for
|
|
39
|
+
// tests and documentation.
|
|
40
|
+
export const GRACE_WINDOW_MS = 72 * 60 * 60 * 1000;
|
|
39
41
|
// Offline verdict resolution. Within the grace window we trust the last server
|
|
40
42
|
// verdict verbatim (including canUse:false — this is the anti-bypass reversal of
|
|
41
43
|
// the old "never load stale usage" behavior). Past the window we block only if the
|
|
@@ -59,27 +61,6 @@ export function computeOfflineUsage(cached, now) {
|
|
|
59
61
|
const overCap = cached.capActive !== false && cached.limit != null && cached.used >= cached.limit;
|
|
60
62
|
return { ...cached, canUse: !overCap };
|
|
61
63
|
}
|
|
62
|
-
function readUsageCache() {
|
|
63
|
-
try {
|
|
64
|
-
if (!existsSync(USAGE_FILE))
|
|
65
|
-
return null;
|
|
66
|
-
return JSON.parse(readFileSync(USAGE_FILE, "utf-8"));
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
function writeUsageCache(usage) {
|
|
73
|
-
try {
|
|
74
|
-
const dir = dirname(USAGE_FILE);
|
|
75
|
-
if (!existsSync(dir))
|
|
76
|
-
mkdirSync(dir, { recursive: true });
|
|
77
|
-
writeFileSync(USAGE_FILE, JSON.stringify(usage, null, 2));
|
|
78
|
-
}
|
|
79
|
-
catch {
|
|
80
|
-
// Silent fail
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
64
|
// ============================================================================
|
|
84
65
|
// Cache Management
|
|
85
66
|
// ============================================================================
|
|
@@ -171,6 +152,7 @@ async function callValidationApi(installationId) {
|
|
|
171
152
|
serverVersion: getServerVersion(),
|
|
172
153
|
hostname: hostname(),
|
|
173
154
|
osVersion: `${platform()} ${release()}`,
|
|
155
|
+
usageCacheState: getUsageCacheState(),
|
|
174
156
|
}),
|
|
175
157
|
signal: controller.signal,
|
|
176
158
|
});
|
|
@@ -211,6 +193,9 @@ async function resolveLicense() {
|
|
|
211
193
|
const installationId = getInstallationId();
|
|
212
194
|
const cache = readCache();
|
|
213
195
|
let source = "default";
|
|
196
|
+
// Probe the signed usage cache up front: sets the cache-state flag that is
|
|
197
|
+
// reported to the server (tamper evidence) and doubles as the offline verdict.
|
|
198
|
+
const cachedUsage = readUsageCache(installationId);
|
|
214
199
|
// Always call API for fresh usage data (even if license cache is fresh)
|
|
215
200
|
const apiResponse = await callValidationApi(installationId);
|
|
216
201
|
if (apiResponse) {
|
|
@@ -238,12 +223,15 @@ async function resolveLicense() {
|
|
|
238
223
|
$set: { package_name: getPackageName() },
|
|
239
224
|
},
|
|
240
225
|
});
|
|
241
|
-
// Parse usage info from API response
|
|
226
|
+
// Parse usage info from API response. Persist only server-signed
|
|
227
|
+
// verdicts — verdictFreshUntil is stamped and signed server-side.
|
|
242
228
|
if (apiResponse.usage) {
|
|
243
229
|
const usageData = apiResponse.usage;
|
|
244
|
-
usageData.verdictFreshUntil = new Date(Date.now() + GRACE_WINDOW_MS).toISOString();
|
|
245
230
|
currentUsage = usageData;
|
|
246
|
-
|
|
231
|
+
const verdictSig = apiResponse.verdictSig;
|
|
232
|
+
if (typeof verdictSig === "string" && verdictSig && usageData.verdictFreshUntil) {
|
|
233
|
+
writeUsageCache(usageData, verdictSig, installationId);
|
|
234
|
+
}
|
|
247
235
|
}
|
|
248
236
|
if (apiResponse.pricing) {
|
|
249
237
|
currentPricing = apiResponse.pricing;
|
|
@@ -257,7 +245,7 @@ async function resolveLicense() {
|
|
|
257
245
|
// Fail-closed-after-grace: reuse the last usage verdict within the grace
|
|
258
246
|
// window; past it, block only if last-known over cap. (Replaces the old
|
|
259
247
|
// fail-open no-op which let anyone bypass the cap by blocking the endpoint.)
|
|
260
|
-
currentUsage = computeOfflineUsage(
|
|
248
|
+
currentUsage = computeOfflineUsage(cachedUsage, Date.now());
|
|
261
249
|
return { status: currentStatus, source, durationMs: Date.now() - startTime };
|
|
262
250
|
}
|
|
263
251
|
// No cache, no API — default to free
|
|
@@ -276,11 +264,9 @@ export function getLicenseStatus() {
|
|
|
276
264
|
export function incrementLocalUsage() {
|
|
277
265
|
if (!currentUsage)
|
|
278
266
|
return;
|
|
267
|
+
// In-memory only: powers the live 80% warning. The on-disk cache is
|
|
268
|
+
// server-signed content and is never client-mutated.
|
|
279
269
|
currentUsage.used += 1;
|
|
280
|
-
// Write periodically, not on every call (write every 10 increments)
|
|
281
|
-
if (currentUsage.used % 10 === 0) {
|
|
282
|
-
writeUsageCache(currentUsage);
|
|
283
|
-
}
|
|
284
270
|
}
|
|
285
271
|
export function getDashboardUrl() {
|
|
286
272
|
return DASHBOARD_URL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/core/license.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/core/license.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface ScreenMetrics {
|
|
2
|
+
rawWidth: number;
|
|
3
|
+
rawHeight: number;
|
|
4
|
+
deliveredWidth: number;
|
|
5
|
+
deliveredHeight: number;
|
|
6
|
+
downscale: number;
|
|
7
|
+
pointWidth?: number;
|
|
8
|
+
pointHeight?: number;
|
|
9
|
+
scale?: number;
|
|
10
|
+
capturedAt: number;
|
|
11
|
+
}
|
|
12
|
+
export interface DeviceMemoryEntry {
|
|
13
|
+
identifier: string;
|
|
14
|
+
name: string;
|
|
15
|
+
platform: "ios" | "android";
|
|
16
|
+
appId?: string;
|
|
17
|
+
firstSeenAt: number;
|
|
18
|
+
lastUsedAt: number;
|
|
19
|
+
useCount: number;
|
|
20
|
+
screenMetrics?: ScreenMetrics;
|
|
21
|
+
}
|
|
22
|
+
export interface RecordDeviceInput {
|
|
23
|
+
identifier: string;
|
|
24
|
+
name: string;
|
|
25
|
+
platform: "ios" | "android";
|
|
26
|
+
appId?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ProjectMemoryOpts {
|
|
29
|
+
cwd?: string;
|
|
30
|
+
baseDir?: string;
|
|
31
|
+
now?: number;
|
|
32
|
+
}
|
|
33
|
+
/** Union by identifier: newer lastUsedAt wins wholesale; earliest firstSeenAt and
|
|
34
|
+
* max useCount retained. Sorted desc by lastUsedAt, capped at MAX_DEVICES. */
|
|
35
|
+
export declare function mergeDeviceLists(a: DeviceMemoryEntry[], b: DeviceMemoryEntry[]): DeviceMemoryEntry[];
|
|
36
|
+
export declare function recordDevice(input: RecordDeviceInput, opts?: ProjectMemoryOpts): void;
|
|
37
|
+
export declare function recordScreenMetrics(identifier: string, metrics: ScreenMetrics, opts?: ProjectMemoryOpts): void;
|
|
38
|
+
export declare function listDevices(opts?: ProjectMemoryOpts): DeviceMemoryEntry[];
|
|
39
|
+
//# sourceMappingURL=projectMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectMemory.d.ts","sourceRoot":"","sources":["../../src/core/projectMemory.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD;8EAC8E;AAC9E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAgBpG;AA+BD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAqBrF;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAY9G;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAQzE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { homedir } from "os";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { isProjectMemoryEnabled } from "./config.js";
|
|
4
|
+
import { buildWriteEnvelope, computeProjectId, projectsRoot, readConcern, writeConcernAtomic, realpathOrRaw, } from "./projectStore.js";
|
|
5
|
+
const DEVICES_SCHEMA = "execbro/project-devices";
|
|
6
|
+
const META_SCHEMA = "execbro/project-meta";
|
|
7
|
+
const CURRENT_VERSION = 1;
|
|
8
|
+
const MAX_DEVICES = 20;
|
|
9
|
+
/** Union by identifier: newer lastUsedAt wins wholesale; earliest firstSeenAt and
|
|
10
|
+
* max useCount retained. Sorted desc by lastUsedAt, capped at MAX_DEVICES. */
|
|
11
|
+
export function mergeDeviceLists(a, b) {
|
|
12
|
+
const byId = new Map();
|
|
13
|
+
for (const e of [...a, ...b]) {
|
|
14
|
+
const prev = byId.get(e.identifier);
|
|
15
|
+
if (!prev) {
|
|
16
|
+
byId.set(e.identifier, e);
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const winner = e.lastUsedAt >= prev.lastUsedAt ? e : prev;
|
|
20
|
+
byId.set(e.identifier, {
|
|
21
|
+
...winner,
|
|
22
|
+
firstSeenAt: Math.min(prev.firstSeenAt, e.firstSeenAt),
|
|
23
|
+
useCount: Math.max(prev.useCount, e.useCount),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return [...byId.values()].sort((x, y) => y.lastUsedAt - x.lastUsedAt).slice(0, MAX_DEVICES);
|
|
27
|
+
}
|
|
28
|
+
/** Resolve project dir + device list, or null when disabled / degenerate cwd / foreign file. */
|
|
29
|
+
function loadDevices(opts) {
|
|
30
|
+
if (!isProjectMemoryEnabled())
|
|
31
|
+
return null;
|
|
32
|
+
const cwd = opts?.cwd ?? process.cwd();
|
|
33
|
+
const id = computeProjectId(cwd, homedir());
|
|
34
|
+
if (!id)
|
|
35
|
+
return null;
|
|
36
|
+
const dir = join(projectsRoot(opts?.baseDir), id);
|
|
37
|
+
const read = readConcern(join(dir, "devices.json"), DEVICES_SCHEMA, CURRENT_VERSION);
|
|
38
|
+
if (read.kind === "foreign")
|
|
39
|
+
return null;
|
|
40
|
+
const existing = read.kind === "ours" ? read.env : null;
|
|
41
|
+
const devices = existing?.devices ?? [];
|
|
42
|
+
return { dir, realCwd: realpathOrRaw(cwd), existing, devices };
|
|
43
|
+
}
|
|
44
|
+
function persist(dir, existing, devices, now) {
|
|
45
|
+
const env = buildWriteEnvelope(existing, DEVICES_SCHEMA, CURRENT_VERSION, now, { devices });
|
|
46
|
+
writeConcernAtomic(join(dir, "devices.json"), env);
|
|
47
|
+
}
|
|
48
|
+
function ensureMeta(dir, realCwd, now) {
|
|
49
|
+
const read = readConcern(join(dir, "meta.json"), META_SCHEMA, CURRENT_VERSION);
|
|
50
|
+
if (read.kind === "ours")
|
|
51
|
+
return; // already present (or foreign — leave it)
|
|
52
|
+
if (read.kind === "foreign")
|
|
53
|
+
return;
|
|
54
|
+
const env = buildWriteEnvelope(null, META_SCHEMA, CURRENT_VERSION, now, { path: realCwd });
|
|
55
|
+
writeConcernAtomic(join(dir, "meta.json"), env);
|
|
56
|
+
}
|
|
57
|
+
export function recordDevice(input, opts) {
|
|
58
|
+
try {
|
|
59
|
+
const ctx = loadDevices(opts);
|
|
60
|
+
if (!ctx)
|
|
61
|
+
return;
|
|
62
|
+
const now = opts?.now ?? Date.now();
|
|
63
|
+
const prior = ctx.devices.find((d) => d.identifier === input.identifier);
|
|
64
|
+
const updated = {
|
|
65
|
+
identifier: input.identifier,
|
|
66
|
+
name: input.name,
|
|
67
|
+
platform: input.platform,
|
|
68
|
+
appId: input.appId ?? prior?.appId,
|
|
69
|
+
firstSeenAt: prior?.firstSeenAt ?? now,
|
|
70
|
+
lastUsedAt: now,
|
|
71
|
+
useCount: (prior?.useCount ?? 0) + 1,
|
|
72
|
+
screenMetrics: prior?.screenMetrics,
|
|
73
|
+
};
|
|
74
|
+
persist(ctx.dir, ctx.existing, mergeDeviceLists(ctx.devices, [updated]), now);
|
|
75
|
+
ensureMeta(ctx.dir, ctx.realCwd, now);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// best-effort — never throw into a tool flow
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
export function recordScreenMetrics(identifier, metrics, opts) {
|
|
82
|
+
try {
|
|
83
|
+
const ctx = loadDevices(opts);
|
|
84
|
+
if (!ctx)
|
|
85
|
+
return;
|
|
86
|
+
const prior = ctx.devices.find((d) => d.identifier === identifier);
|
|
87
|
+
if (!prior)
|
|
88
|
+
return; // enrichment only — never create an entry
|
|
89
|
+
const now = opts?.now ?? Date.now();
|
|
90
|
+
const updated = { ...prior, screenMetrics: metrics, lastUsedAt: now };
|
|
91
|
+
persist(ctx.dir, ctx.existing, mergeDeviceLists(ctx.devices, [updated]), now);
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// best-effort
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export function listDevices(opts) {
|
|
98
|
+
try {
|
|
99
|
+
const ctx = loadDevices(opts);
|
|
100
|
+
if (!ctx)
|
|
101
|
+
return [];
|
|
102
|
+
return [...ctx.devices].sort((x, y) => y.lastUsedAt - x.lastUsedAt);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=projectMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectMemory.js","sourceRoot":"","sources":["../../src/core/projectMemory.ts"],"names":[],"mappings":"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"}
|