@openlimiter/core 1.3.5 → 2.0.2
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/acquire/cadence.d.ts +5 -3
- package/dist/acquire/cadence.d.ts.map +1 -1
- package/dist/acquire/cadence.js +14 -9
- package/dist/acquire/cadence.js.map +1 -1
- package/dist/acquire/coordination.d.ts.map +1 -1
- package/dist/acquire/coordination.js +3 -4
- package/dist/acquire/coordination.js.map +1 -1
- package/dist/acquire/credentials.d.ts +5 -2
- package/dist/acquire/credentials.d.ts.map +1 -1
- package/dist/acquire/credentials.js +45 -11
- package/dist/acquire/credentials.js.map +1 -1
- package/dist/acquire/cursor.d.ts +8 -0
- package/dist/acquire/cursor.d.ts.map +1 -0
- package/dist/acquire/cursor.js +60 -0
- package/dist/acquire/cursor.js.map +1 -0
- package/dist/acquire/identity.d.ts +16 -2
- package/dist/acquire/identity.d.ts.map +1 -1
- package/dist/acquire/identity.js +64 -1
- package/dist/acquire/identity.js.map +1 -1
- package/dist/acquire/index.d.ts +1 -0
- package/dist/acquire/index.d.ts.map +1 -1
- package/dist/acquire/index.js +1 -0
- package/dist/acquire/index.js.map +1 -1
- package/dist/acquire/providers.d.ts +1 -0
- package/dist/acquire/providers.d.ts.map +1 -1
- package/dist/acquire/providers.js +10 -1
- package/dist/acquire/providers.js.map +1 -1
- package/dist/acquire/runner.d.ts +7 -14
- package/dist/acquire/runner.d.ts.map +1 -1
- package/dist/acquire/runner.js +151 -9
- package/dist/acquire/runner.js.map +1 -1
- package/dist/acquire/transport.d.ts +7 -1
- package/dist/acquire/transport.d.ts.map +1 -1
- package/dist/acquire/transport.js +30 -4
- package/dist/acquire/transport.js.map +1 -1
- package/dist/activity/contract.d.ts +108 -0
- package/dist/activity/contract.d.ts.map +1 -0
- package/dist/activity/contract.js +281 -0
- package/dist/activity/contract.js.map +1 -0
- package/dist/activity/spool.d.ts +20 -0
- package/dist/activity/spool.d.ts.map +1 -0
- package/dist/activity/spool.js +305 -0
- package/dist/activity/spool.js.map +1 -0
- package/dist/cache.d.ts +41 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +134 -4
- package/dist/cache.js.map +1 -1
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +6 -0
- package/dist/collection.js.map +1 -1
- package/dist/connection-state.d.ts +15 -0
- package/dist/connection-state.d.ts.map +1 -1
- package/dist/connection-state.js +18 -0
- package/dist/connection-state.js.map +1 -1
- package/dist/contracts/notify.d.ts +47 -0
- package/dist/contracts/notify.d.ts.map +1 -0
- package/dist/contracts/notify.js +83 -0
- package/dist/contracts/notify.js.map +1 -0
- package/dist/contracts/surfaces.d.ts +61 -0
- package/dist/contracts/surfaces.d.ts.map +1 -0
- package/dist/contracts/surfaces.js +73 -0
- package/dist/contracts/surfaces.js.map +1 -0
- package/dist/contracts/wire.d.ts +108 -0
- package/dist/contracts/wire.d.ts.map +1 -0
- package/dist/contracts/wire.js +202 -0
- package/dist/contracts/wire.js.map +1 -0
- package/dist/data-rules.d.ts +30 -0
- package/dist/data-rules.d.ts.map +1 -0
- package/dist/data-rules.js +57 -0
- package/dist/data-rules.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizer.d.ts.map +1 -1
- package/dist/normalizer.js +42 -7
- package/dist/normalizer.js.map +1 -1
- package/dist/types.d.ts +44 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -1
- package/package.json +16 -1
package/dist/acquire/identity.js
CHANGED
|
@@ -14,7 +14,70 @@
|
|
|
14
14
|
* package's own version, so the constant cannot drift.
|
|
15
15
|
*/
|
|
16
16
|
/** The published version this build identifies as. */
|
|
17
|
-
|
|
17
|
+
import { createHash } from "node:crypto";
|
|
18
|
+
export const ACQUISITION_CLIENT_VERSION = "2.0.2";
|
|
18
19
|
/** The only user agent any acquisition request may carry. */
|
|
19
20
|
export const OPENLIMITER_USER_AGENT = "OpenLimiter/" + ACQUISITION_CLIENT_VERSION + " (+https://openlimiter.com)";
|
|
21
|
+
/** Mirrors provider_detection::opaque_account_id, including the zero separator. */
|
|
22
|
+
export function opaqueAccountId(provider, material) {
|
|
23
|
+
const slug = provider.toLowerCase().replaceAll("_", "-");
|
|
24
|
+
return slug + "-" + createHash("sha256").update(slug).update(new Uint8Array([0]))
|
|
25
|
+
.update(material).digest("hex").slice(0, 24);
|
|
26
|
+
}
|
|
27
|
+
export const PROVIDER_SINGLETON_MATERIAL = "one-active-account-without-stable-identity";
|
|
28
|
+
function object(value) {
|
|
29
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
30
|
+
? value : {};
|
|
31
|
+
}
|
|
32
|
+
function field(value, names) {
|
|
33
|
+
const source = object(value);
|
|
34
|
+
for (const name of names) {
|
|
35
|
+
const found = source[name];
|
|
36
|
+
if (typeof found === "string" && found.trim().length > 0 && Buffer.byteLength(found.trim()) <= 512 && !/[\u0000-\u001f\u007f]/u.test(found))
|
|
37
|
+
return found.trim();
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
export function jwtIdentity(token) {
|
|
42
|
+
try {
|
|
43
|
+
const parts = token.split(".");
|
|
44
|
+
if (parts.length !== 3 || token.length > 4096)
|
|
45
|
+
return null;
|
|
46
|
+
const claims = JSON.parse(Buffer.from(parts[1], "base64url").toString("utf8"));
|
|
47
|
+
return field(claims, ["chatgpt_account_id", "account_id", "accountId", "organization_id", "organizationId"])
|
|
48
|
+
?? field(claims, ["sub", "user_id", "userId"]);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Header identity and cache identity are separate, matching Rust's provider_account_id. */
|
|
55
|
+
export function credentialProviderAccount(provider, container, root, secret) {
|
|
56
|
+
const names = ["account_id", "accountId", "accountUuid", "workspace_id", "workspaceId", "user_id", "userId"];
|
|
57
|
+
const explicit = field(container, names) ?? field(root, names);
|
|
58
|
+
if (explicit !== null)
|
|
59
|
+
return explicit;
|
|
60
|
+
try {
|
|
61
|
+
const parts = secret.split(".");
|
|
62
|
+
if (parts.length !== 3 || secret.length > 4096)
|
|
63
|
+
return null;
|
|
64
|
+
const claims = JSON.parse(Buffer.from(parts[1], "base64url").toString("utf8"));
|
|
65
|
+
return provider === "CODEX" ? field(claims, ["chatgpt_account_id", "account_id"])
|
|
66
|
+
: provider === "GROK" ? field(claims, ["user_id", "userId", "sub"]) : null;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** Capture at acquisition time. Never assign an old observation to the current login. */
|
|
73
|
+
export function credentialIdentityMaterial(container, root, secret, hint = null) {
|
|
74
|
+
const names = ["account_id", "accountId", "accountUuid", "workspace_id", "workspaceId", "user_id", "userId"];
|
|
75
|
+
return field(container, names) ?? field(root, names) ?? hint ?? jwtIdentity(secret)
|
|
76
|
+
?? jwtIdentity(field(container, ["id_token", "idToken"]) ?? "");
|
|
77
|
+
}
|
|
78
|
+
export function acquisitionAccountId(provider, credential) {
|
|
79
|
+
if (provider === "ANTIGRAVITY" && credential.origin === "vendor_store")
|
|
80
|
+
return opaqueAccountId(provider, PROVIDER_SINGLETON_MATERIAL);
|
|
81
|
+
return opaqueAccountId(provider, credential.identityMaterial ?? credential.accountId ?? jwtIdentity(credential.secret) ?? PROVIDER_SINGLETON_MATERIAL);
|
|
82
|
+
}
|
|
20
83
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/acquire/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GACjC,cAAc,GAAG,0BAA0B,GAAG,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/acquire/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/acquire/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acquire/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acquire/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
package/dist/acquire/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acquire/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acquire/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
|
@@ -76,6 +76,7 @@ export interface ClaudeSpecOptions {
|
|
|
76
76
|
}
|
|
77
77
|
export declare function claudeSpec(options: ClaudeSpecOptions): AcquisitionSpec;
|
|
78
78
|
export declare function codexSpec(parse: PayloadParser): AcquisitionSpec;
|
|
79
|
+
export declare function cursorSpec(parse: PayloadParser): AcquisitionSpec;
|
|
79
80
|
export declare function geminiCliSpec(parse: PayloadParser): AcquisitionSpec;
|
|
80
81
|
/** Whether this credential is the Gemini CLI's, borrowed for the shared quota. */
|
|
81
82
|
export declare function isSharedCodeAssist(credential: AcquiredCredential): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/acquire/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/acquire/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAYpE,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,KACR,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;CAmBzB,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AAEnE,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAE1E,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,QAEU,CAAC;AAMrD;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,SAAS,eAAe,EAAE,CAwB5D;AAOD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAWtE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAY/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAOhE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CASnE;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAE1E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAkBrE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAU9D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAQ9D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAQpE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cursorAccountId } from "./cursor.js";
|
|
2
|
+
import { claudeUsageRequest, codeAssistLoadRequest, codeAssistQuotaRequest, codexUsageRequest, cursorUsageRequest, grokBillingRequest, kimiUsageRequest, openrouterKeyRequest } from "./transport.js";
|
|
2
3
|
/**
|
|
3
4
|
* The sentence each row carries about how its number was obtained.
|
|
4
5
|
*
|
|
@@ -113,6 +114,14 @@ export function codexSpec(parse) {
|
|
|
113
114
|
disclosure: ACQUISITION_DISCLOSURE.codex
|
|
114
115
|
};
|
|
115
116
|
}
|
|
117
|
+
export function cursorSpec(parse) {
|
|
118
|
+
return {
|
|
119
|
+
provider: "CURSOR", credentialProvider: "CURSOR", parse,
|
|
120
|
+
accountIdFor: credential => credential.accountId === null ? null : cursorAccountId(credential.accountId),
|
|
121
|
+
steps: [({ credential }) => credential.accountId === null ? null : cursorUsageRequest(credential.secret, credential.accountId)],
|
|
122
|
+
disclosure: "Experimental: parser tested on fixtures; live acquisition unverified"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
116
125
|
export function geminiCliSpec(parse) {
|
|
117
126
|
return {
|
|
118
127
|
provider: "GEMINI_CLI",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/acquire/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/acquire/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/acquire/runner.d.ts
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* One round of acquisition: read what is on this machine, ask each provider
|
|
3
|
-
* once, and say plainly what happened to every one of them.
|
|
4
|
-
*
|
|
5
|
-
* The parsers are injected rather than imported. This package sits underneath
|
|
6
|
-
* the connector package that owns them, and inverting that dependency to save
|
|
7
|
-
* one argument would put a provider response shape in the same module as the
|
|
8
|
-
* cache. So a caller wires its parsers in, and this file stays about cadence,
|
|
9
|
-
* ordering and honesty.
|
|
10
|
-
*
|
|
11
|
-
* Nothing here throws. A round that fails every provider still returns a row
|
|
12
|
-
* per provider saying why, because the surfaces above are a status line and a
|
|
13
|
-
* doctor command, and both of them owe a person an answer rather than a stack.
|
|
14
|
-
*/
|
|
15
1
|
import type { CollectionFailureReason, CollectionReport } from "../collection.js";
|
|
2
|
+
import { type MachineLease } from "../cache.js";
|
|
16
3
|
import type { ProviderCode, RawMeter } from "../types.js";
|
|
17
4
|
import { type AcquisitionSchedule } from "./cadence.js";
|
|
18
5
|
import { type AcquiredCredential, type AcquisitionProvider, type CredentialLookupOptions, type CredentialResult } from "./credentials.js";
|
|
@@ -80,6 +67,8 @@ export interface AcquisitionSpec {
|
|
|
80
67
|
/** What one provider's row says after a round. */
|
|
81
68
|
export type AcquisitionStatus = "read" | "stale" | "waiting" | "not_detected" | "off";
|
|
82
69
|
export interface AcquisitionRow {
|
|
70
|
+
readonly availability?: "expired_credentials" | "access_denied" | "rate_limited";
|
|
71
|
+
readonly retryAt?: string;
|
|
83
72
|
readonly provider: ProviderCode;
|
|
84
73
|
/** The account these rows were filed under, when one was decided. */
|
|
85
74
|
readonly accountId?: string;
|
|
@@ -99,6 +88,9 @@ export interface AcquisitionRunResult {
|
|
|
99
88
|
readonly schedule: AcquisitionSchedule;
|
|
100
89
|
}
|
|
101
90
|
export interface AcquisitionRunOptions {
|
|
91
|
+
readonly clock?: () => number;
|
|
92
|
+
readonly stateDirectory?: string;
|
|
93
|
+
readonly lease?: MachineLease;
|
|
102
94
|
readonly transport: AcquisitionTransport;
|
|
103
95
|
readonly now: string;
|
|
104
96
|
readonly schedule: AcquisitionSchedule;
|
|
@@ -134,6 +126,7 @@ export interface AcquisitionRunOptions {
|
|
|
134
126
|
* a successful read changes anything.
|
|
135
127
|
*/
|
|
136
128
|
export declare function collectionReasonFor(outcome: AcquisitionOutcome): CollectionFailureReason;
|
|
129
|
+
export declare function credentialExpired(credential: AcquiredCredential, now: number): boolean;
|
|
137
130
|
/**
|
|
138
131
|
* Run every spec once, honouring the schedule.
|
|
139
132
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/acquire/runner.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One round of acquisition: read what is on this machine, ask each provider
|
|
3
|
+
* once, and say plainly what happened to every one of them.
|
|
4
|
+
*
|
|
5
|
+
* The parsers are injected rather than imported. This package sits underneath
|
|
6
|
+
* the connector package that owns them, and inverting that dependency to save
|
|
7
|
+
* one argument would put a provider response shape in the same module as the
|
|
8
|
+
* cache. So a caller wires its parsers in, and this file stays about cadence,
|
|
9
|
+
* ordering and honesty.
|
|
10
|
+
*
|
|
11
|
+
* Nothing here throws. A round that fails every provider still returns a row
|
|
12
|
+
* per provider saying why, because the surfaces above are a status line and a
|
|
13
|
+
* doctor command, and both of them owe a person an answer rather than a stack.
|
|
14
|
+
*/
|
|
15
|
+
import { createHash } from "node:crypto";
|
|
16
|
+
import { lstat } from "node:fs/promises";
|
|
1
17
|
import { normalizeMeters } from "../normalizer.js";
|
|
18
|
+
import { acquireMachineLease, recordAcquisitionAvailability, withPolicyFreshness } from "../cache.js";
|
|
2
19
|
import { ACQUISITION_OUTCOME_SENTENCE, isProviderDue, nextAttemptInstant } from "./cadence.js";
|
|
3
|
-
import { CREDENTIAL_FAILURE_SENTENCE, readAcquisitionCredential } from "./credentials.js";
|
|
20
|
+
import { CREDENTIAL_FAILURE_SENTENCE, credentialCandidatePaths, readAcquisitionCredential } from "./credentials.js";
|
|
4
21
|
import { outcomeForStatus } from "./transport.js";
|
|
5
22
|
import { AGY_NOT_RUNNING_SENTENCE } from "./antigravity-probe.js";
|
|
6
23
|
import { isSharedCodeAssist } from "./providers.js";
|
|
24
|
+
import { acquisitionAccountId } from "./identity.js";
|
|
7
25
|
/**
|
|
8
26
|
* The failure vocabulary the cache understands, from ours.
|
|
9
27
|
*
|
|
@@ -24,10 +42,32 @@ export function collectionReasonFor(outcome) {
|
|
|
24
42
|
return "network";
|
|
25
43
|
return "remote_error";
|
|
26
44
|
}
|
|
45
|
+
export function credentialExpired(credential, now) {
|
|
46
|
+
if (credential.expiresAtMilliseconds !== null && credential.expiresAtMilliseconds <= now)
|
|
47
|
+
return true;
|
|
48
|
+
try {
|
|
49
|
+
const part = credential.secret.split(".")[1];
|
|
50
|
+
if (!part)
|
|
51
|
+
return false;
|
|
52
|
+
const payload = JSON.parse(Buffer.from(part, "base64url").toString("utf8"));
|
|
53
|
+
return typeof payload.exp === "number" && Number.isFinite(payload.exp) && payload.exp * 1000 <= now;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
27
59
|
async function attempt(spec, credential, options) {
|
|
28
60
|
const previous = [];
|
|
61
|
+
const started = Date.now();
|
|
29
62
|
let retryAfter = null;
|
|
30
63
|
for (const step of spec.steps) {
|
|
64
|
+
const at = options.clock?.() ?? Date.parse(options.now) + Date.now() - started;
|
|
65
|
+
if (credentialExpired(credential, at)) {
|
|
66
|
+
return { outcome: "unauthorized", meters: [], retryAfterSeconds: null, expiredCredentials: true };
|
|
67
|
+
}
|
|
68
|
+
if (options.lease && !(await options.lease.stillOwned(at))) {
|
|
69
|
+
return { outcome: "transport", meters: [], retryAfterSeconds: null };
|
|
70
|
+
}
|
|
31
71
|
const decided = step({ credential, previous });
|
|
32
72
|
if (decided === null) {
|
|
33
73
|
return { outcome: "drift", meters: [], retryAfterSeconds: null };
|
|
@@ -97,11 +137,35 @@ export async function runAcquisition(specs, options) {
|
|
|
97
137
|
...options.schedule
|
|
98
138
|
};
|
|
99
139
|
const stamp = options.stamp ?? ((meters) => meters);
|
|
100
|
-
const
|
|
140
|
+
const credentialReader = options.readCredential ??
|
|
101
141
|
((provider) => readAcquisitionCredential(provider, {
|
|
102
142
|
...options.lookup,
|
|
103
143
|
now: options.now
|
|
104
144
|
}));
|
|
145
|
+
const observedCredentials = new Map();
|
|
146
|
+
const readCredential = async (provider) => {
|
|
147
|
+
const result = await credentialReader(provider);
|
|
148
|
+
if (result.ok)
|
|
149
|
+
observedCredentials.set(provider, result.credential);
|
|
150
|
+
return result;
|
|
151
|
+
};
|
|
152
|
+
const revisionFor = async (spec) => {
|
|
153
|
+
const credential = await readCredential(spec.credentialProvider);
|
|
154
|
+
const files = options.readCredential && !options.lookup ? [] : credentialCandidatePaths(spec.credentialProvider, options.lookup);
|
|
155
|
+
const mtimes = await Promise.all(files.map(async (file) => {
|
|
156
|
+
try {
|
|
157
|
+
return [file, (await lstat(file)).mtimeMs];
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return [file, null];
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
163
|
+
return createHash("sha256").update(JSON.stringify([credential, mtimes])).digest("hex");
|
|
164
|
+
};
|
|
165
|
+
const refused = (outcome) => outcome === "unauthorized" || outcome === "blocked" || outcome === "identity_refused";
|
|
166
|
+
const refusalAvailability = (outcome) => outcome === "unauthorized"
|
|
167
|
+
? { availability: "expired_credentials" }
|
|
168
|
+
: outcome === "blocked" || outcome === "identity_refused" ? { availability: "access_denied" } : {};
|
|
105
169
|
/**
|
|
106
170
|
* One provider, start to finish.
|
|
107
171
|
*
|
|
@@ -122,11 +186,13 @@ export async function runAcquisition(specs, options) {
|
|
|
122
186
|
});
|
|
123
187
|
return;
|
|
124
188
|
}
|
|
125
|
-
|
|
189
|
+
const changedRefusal = existing?.refusalRevision !== undefined && refused(existing.outcome) && existing.refusalRevision !== await revisionFor(spec);
|
|
190
|
+
if (!isProviderDue(existing, options.now) && !changedRefusal) {
|
|
126
191
|
rows.push({
|
|
127
192
|
provider: spec.provider,
|
|
128
193
|
detected: true,
|
|
129
194
|
status: "waiting",
|
|
195
|
+
...(existing ? refusalAvailability(existing.outcome) : {}),
|
|
130
196
|
reason: existing === undefined
|
|
131
197
|
? null
|
|
132
198
|
: ACQUISITION_OUTCOME_SENTENCE[existing.outcome],
|
|
@@ -156,15 +222,17 @@ export async function runAcquisition(specs, options) {
|
|
|
156
222
|
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
157
223
|
outcome: "ok"
|
|
158
224
|
};
|
|
225
|
+
const accountId = acquisitionAccountId("ANTIGRAVITY", { secret: "", accountId: null, origin: "vendor_store" });
|
|
159
226
|
const snapshots = normalizeMeters(stamp(probeResult.meters, {
|
|
160
227
|
secret: "",
|
|
161
228
|
accountId: null,
|
|
162
229
|
expiresAtMilliseconds: null,
|
|
163
230
|
origin: "vendor_store"
|
|
164
|
-
}));
|
|
231
|
+
}).map(row => ({ ...row, accountId })));
|
|
165
232
|
if (snapshots.length > 0) {
|
|
166
233
|
rows.push({
|
|
167
234
|
provider: spec.provider,
|
|
235
|
+
accountId,
|
|
168
236
|
detected: true,
|
|
169
237
|
status: "read",
|
|
170
238
|
reason: null,
|
|
@@ -174,6 +242,7 @@ export async function runAcquisition(specs, options) {
|
|
|
174
242
|
reports.push({
|
|
175
243
|
ok: true,
|
|
176
244
|
provider: spec.provider,
|
|
245
|
+
accountId,
|
|
177
246
|
observedAt: options.now,
|
|
178
247
|
snapshots
|
|
179
248
|
});
|
|
@@ -184,8 +253,18 @@ export async function runAcquisition(specs, options) {
|
|
|
184
253
|
const credential = await readCredential(spec.credentialProvider);
|
|
185
254
|
if (credential.ok && isSharedCodeAssist(credential.credential)) {
|
|
186
255
|
const fallbackResult = await attempt(spec, credential.credential, options);
|
|
256
|
+
if (fallbackResult.outcome !== "ok") {
|
|
257
|
+
const expired = fallbackResult.expiredCredentials === true;
|
|
258
|
+
const nextAttemptAt = expired ? null : nextAttemptInstant(fallbackResult.outcome, options.now, fallbackResult.retryAfterSeconds, existing?.attempts ?? options.lease?.attempts ?? 0);
|
|
259
|
+
if (nextAttemptAt)
|
|
260
|
+
schedule[spec.provider] = { lastAttemptAt: options.now, nextAttemptAt, outcome: fallbackResult.outcome, attempts: (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
|
|
261
|
+
...(refused(fallbackResult.outcome) ? { refusalRevision: await revisionFor(spec) } : {}) };
|
|
262
|
+
rows.push({ provider: spec.provider, detected: true, status: "stale", reason: expired ? CREDENTIAL_FAILURE_SENTENCE.expired : ACQUISITION_OUTCOME_SENTENCE[fallbackResult.outcome], nextAttemptAt, disclosure: spec.disclosure,
|
|
263
|
+
...(expired ? { availability: "expired_credentials" } : fallbackResult.outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : refusalAvailability(fallbackResult.outcome)) });
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
187
266
|
if (fallbackResult.outcome === "ok" && fallbackResult.meters.length > 0) {
|
|
188
|
-
const accountId = spec.accountIdFor?.(credential.credential) ??
|
|
267
|
+
const accountId = spec.accountIdFor?.(credential.credential) ?? acquisitionAccountId(spec.provider, credential.credential);
|
|
189
268
|
const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
|
|
190
269
|
const disclosure = spec.disclosureFor?.(credential.credential) ?? spec.disclosure;
|
|
191
270
|
const nextAttemptAt = nextAttemptInstant("ok", options.now);
|
|
@@ -241,6 +320,7 @@ export async function runAcquisition(specs, options) {
|
|
|
241
320
|
if (!credential.ok) {
|
|
242
321
|
const absent = credential.reason === "absent";
|
|
243
322
|
rows.push({
|
|
323
|
+
...(credential.reason === "expired" ? { availability: "expired_credentials" } : {}),
|
|
244
324
|
provider: spec.provider,
|
|
245
325
|
detected: !absent,
|
|
246
326
|
status: absent ? "not_detected" : "stale",
|
|
@@ -253,13 +333,22 @@ export async function runAcquisition(specs, options) {
|
|
|
253
333
|
return;
|
|
254
334
|
}
|
|
255
335
|
const held = credential.credential;
|
|
256
|
-
|
|
336
|
+
if (credentialExpired(held, Date.parse(options.now))) {
|
|
337
|
+
rows.push({ provider: spec.provider, detected: true, status: "stale", accountId: acquisitionAccountId(spec.provider, held), availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure: spec.disclosure });
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const accountId = spec.accountIdFor?.(held) ?? acquisitionAccountId(spec.provider, held);
|
|
257
341
|
const accountLabel = spec.accountLabelFor?.(held) ?? null;
|
|
258
342
|
const disclosure = spec.disclosureFor?.(held) ?? spec.disclosure;
|
|
259
343
|
const sentence = (outcome) => spec.outcomeSentence?.[outcome] ?? ACQUISITION_OUTCOME_SENTENCE[outcome];
|
|
260
344
|
const result = await attempt(spec, held, options);
|
|
261
|
-
|
|
345
|
+
if (result.expiredCredentials) {
|
|
346
|
+
rows.push({ provider: spec.provider, detected: true, status: "stale", accountId: acquisitionAccountId(spec.provider, held), availability: "expired_credentials", reason: CREDENTIAL_FAILURE_SENTENCE.expired, nextAttemptAt: null, disclosure });
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
const nextAttemptAt = nextAttemptInstant(result.outcome, options.clock ? new Date(options.clock()).toISOString() : options.now, result.retryAfterSeconds, existing?.attempts ?? options.lease?.attempts ?? 0);
|
|
262
350
|
schedule[spec.provider] = {
|
|
351
|
+
attempts: result.outcome === "ok" ? 0 : (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
|
|
263
352
|
lastAttemptAt: options.now,
|
|
264
353
|
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
265
354
|
outcome: result.outcome
|
|
@@ -301,6 +390,8 @@ export async function runAcquisition(specs, options) {
|
|
|
301
390
|
? "drift"
|
|
302
391
|
: result.outcome;
|
|
303
392
|
schedule[spec.provider] = {
|
|
393
|
+
attempts: (existing?.attempts ?? options.lease?.attempts ?? 0) + 1,
|
|
394
|
+
...(refused(outcome) ? { refusalRevision: await revisionFor(spec) } : {}),
|
|
304
395
|
lastAttemptAt: options.now,
|
|
305
396
|
nextAttemptAt: nextAttemptAt ?? options.now,
|
|
306
397
|
outcome
|
|
@@ -310,14 +401,62 @@ export async function runAcquisition(specs, options) {
|
|
|
310
401
|
...(accountId === null ? {} : { accountId }),
|
|
311
402
|
detected: true,
|
|
312
403
|
status: "stale",
|
|
404
|
+
...(outcome === "rate_limited" && nextAttemptAt ? { availability: "rate_limited", retryAt: nextAttemptAt } : refusalAvailability(outcome)),
|
|
313
405
|
reason: sentence(outcome),
|
|
314
406
|
nextAttemptAt,
|
|
315
407
|
disclosure
|
|
316
408
|
});
|
|
317
409
|
};
|
|
318
410
|
for (const spec of specs) {
|
|
411
|
+
let lease = null;
|
|
319
412
|
try {
|
|
320
|
-
|
|
413
|
+
if (options.stateDirectory !== undefined && spec.enabled !== false) {
|
|
414
|
+
lease = await acquireMachineLease(spec.provider, options.stateDirectory, options.clock?.() ?? Date.parse(options.now), await revisionFor(spec));
|
|
415
|
+
if (lease === null) {
|
|
416
|
+
// A borrowed Gemini login describes the same quota. Reuse the observation
|
|
417
|
+
// from this round, retaining its age, instead of polling Code Assist twice.
|
|
418
|
+
if (spec.provider === "ANTIGRAVITY") {
|
|
419
|
+
const originalCredential = observedCredentials.get("GEMINI_CLI");
|
|
420
|
+
const credential = await readCredential(spec.credentialProvider);
|
|
421
|
+
const source = reports.find((report) => report.ok && report.provider === "GEMINI_CLI");
|
|
422
|
+
if (credential.ok && originalCredential?.secret === credential.credential.secret && isSharedCodeAssist(credential.credential) && !credentialExpired(credential.credential, Date.parse(options.now)) && source?.ok) {
|
|
423
|
+
const accountId = spec.accountIdFor?.(credential.credential) ?? acquisitionAccountId(spec.provider, credential.credential);
|
|
424
|
+
const accountLabel = spec.accountLabelFor?.(credential.credential) ?? null;
|
|
425
|
+
const snapshots = source.snapshots.map((snapshot) => ({ ...snapshot, provider: spec.provider,
|
|
426
|
+
...(accountId ? { accountId } : {}), ...(accountLabel ? { accountLabel } : {}) }));
|
|
427
|
+
reports.push({ ...source, provider: spec.provider, ...(accountId ? { accountId } : {}), snapshots });
|
|
428
|
+
const previous = schedule["GEMINI_CLI"];
|
|
429
|
+
if (previous)
|
|
430
|
+
schedule[spec.provider] = previous;
|
|
431
|
+
rows.push({ provider: spec.provider, ...(accountId ? { accountId } : {}), detected: true, status: "read", reason: null,
|
|
432
|
+
nextAttemptAt: previous?.nextAttemptAt ?? null, disclosure: spec.disclosureFor?.(credential.credential) ?? spec.disclosure });
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
rows.push({ provider: spec.provider, detected: true, status: "waiting", reason: "another acquisition owns this provider or its retry deadline is pending", nextAttemptAt: null, disclosure: spec.disclosure });
|
|
437
|
+
continue;
|
|
438
|
+
}
|
|
439
|
+
// Read and persist each provider while its shared machine lease is held.
|
|
440
|
+
const { stateDirectory: _directory, ...localOptions } = options;
|
|
441
|
+
const previous = schedule[spec.provider];
|
|
442
|
+
const localSchedule = previous ? { ...schedule, [spec.provider]: { ...previous, attempts: Math.max(previous.attempts ?? 0, lease.attempts) } } : schedule;
|
|
443
|
+
const single = await runAcquisition([spec], { ...localOptions, readCredential, now: options.clock ? new Date(options.clock()).toISOString() : options.now, schedule: localSchedule, lease });
|
|
444
|
+
rows.push(...single.rows);
|
|
445
|
+
reports.push(...single.reports);
|
|
446
|
+
const updated = single.schedule[spec.provider];
|
|
447
|
+
if (updated)
|
|
448
|
+
schedule[spec.provider] = updated;
|
|
449
|
+
const entry = schedule[spec.provider];
|
|
450
|
+
if (entry)
|
|
451
|
+
await lease.complete(Date.parse(entry.nextAttemptAt), entry.attempts ?? 0, entry.refusalRevision);
|
|
452
|
+
for (const row of single.rows) {
|
|
453
|
+
if (row.availability)
|
|
454
|
+
await recordAcquisitionAvailability(spec.provider, row.availability, options.now, row.retryAt, options.stateDirectory, row.accountId);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
else {
|
|
458
|
+
await readOne(spec);
|
|
459
|
+
}
|
|
321
460
|
}
|
|
322
461
|
catch {
|
|
323
462
|
/*
|
|
@@ -339,7 +478,10 @@ export async function runAcquisition(specs, options) {
|
|
|
339
478
|
disclosure: spec.disclosure
|
|
340
479
|
});
|
|
341
480
|
}
|
|
481
|
+
finally {
|
|
482
|
+
await lease?.release();
|
|
483
|
+
}
|
|
342
484
|
}
|
|
343
|
-
return { rows, reports, schedule };
|
|
485
|
+
return { rows, reports: reports.map((report) => report.ok ? { ...report, snapshots: report.snapshots.map(withPolicyFreshness) } : report), schedule };
|
|
344
486
|
}
|
|
345
487
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/acquire/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare const GEMINI_CLI_QUOTA_URL = "https://cloudcode-pa.googleapis.com
|
|
|
14
14
|
export declare const GROK_USAGE_URL = "https://cli-chat-proxy.grok.com/v1/billing?format=credits";
|
|
15
15
|
/** The Kimi Code usage report the official Kimi CLI reads. */
|
|
16
16
|
export declare const KIMI_USAGE_URL = "https://api.kimi.com/coding/v1/usages";
|
|
17
|
+
export declare const CURSOR_USAGE_URL = "https://cursor.com/api/usage-summary";
|
|
17
18
|
/** The OpenRouter inference key report: limit, remaining and usage. */
|
|
18
19
|
export declare const OPENROUTER_KEY_URL = "https://openrouter.ai/api/v1/key";
|
|
19
20
|
/**
|
|
@@ -49,6 +50,10 @@ export declare const ACQUISITION_ENDPOINTS: {
|
|
|
49
50
|
readonly url: "https://api.kimi.com/coding/v1/usages";
|
|
50
51
|
readonly method: "GET";
|
|
51
52
|
};
|
|
53
|
+
readonly cursor_usage: {
|
|
54
|
+
readonly url: "https://cursor.com/api/usage-summary";
|
|
55
|
+
readonly method: "GET";
|
|
56
|
+
};
|
|
52
57
|
readonly openrouter_key: {
|
|
53
58
|
readonly url: "https://openrouter.ai/api/v1/key";
|
|
54
59
|
readonly method: "GET";
|
|
@@ -126,6 +131,7 @@ export declare function codeAssistQuotaRequest(secret: string, project: string):
|
|
|
126
131
|
export declare function grokBillingRequest(secret: string, accountId: string | null): AcquisitionRequest | null;
|
|
127
132
|
/** The Kimi Code usage request. */
|
|
128
133
|
export declare function kimiUsageRequest(secret: string): AcquisitionRequest | null;
|
|
134
|
+
export declare function cursorUsageRequest(secret: string, authId: string): AcquisitionRequest | null;
|
|
129
135
|
/** The OpenRouter key report, the one documented interface in this table. */
|
|
130
136
|
export declare function openrouterKeyRequest(secret: string): AcquisitionRequest | null;
|
|
131
137
|
/**
|
|
@@ -163,7 +169,7 @@ export type AcquisitionTransport = (request: AcquisitionRequest) => Promise<Acqu
|
|
|
163
169
|
*/
|
|
164
170
|
export declare function outcomeForStatus(status: number): AcquisitionOutcome;
|
|
165
171
|
/** Retry-After in seconds, when the header is a count of seconds we believe. */
|
|
166
|
-
export declare function retryAfterSeconds(value: string | null): number | null;
|
|
172
|
+
export declare function retryAfterSeconds(value: string | null, now?: number): number | null;
|
|
167
173
|
/**
|
|
168
174
|
* The header names an acquisition request may carry.
|
|
169
175
|
*
|