@openlimiter/connectors 1.2.0 → 1.3.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/dist/antigravity.d.ts +19 -0
- package/dist/antigravity.d.ts.map +1 -1
- package/dist/antigravity.js +29 -0
- package/dist/antigravity.js.map +1 -1
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +30 -3
- package/dist/codex.js.map +1 -1
- package/package.json +2 -2
package/dist/antigravity.d.ts
CHANGED
|
@@ -58,6 +58,25 @@ export declare const ANTIGRAVITY_WINDOWS: Readonly<Record<string, number>>;
|
|
|
58
58
|
* identity in the registry before it can have one here.
|
|
59
59
|
*/
|
|
60
60
|
export declare function parseAntigravityPayload(payload: unknown, now: string): RawMeter[] | null;
|
|
61
|
+
/**
|
|
62
|
+
* The same Code Assist quota document, read under this provider's name.
|
|
63
|
+
*
|
|
64
|
+
* Antigravity and Gemini CLI sit on one Google Code Assist backend and answer
|
|
65
|
+
* the same per model quota shape, so `parseGeminiCliPayload` above already
|
|
66
|
+
* knows how to read it. What differs is WHOSE credential asked and therefore
|
|
67
|
+
* which row a person is looking at, and that is a provider code, not a parser.
|
|
68
|
+
*
|
|
69
|
+
* The rename is exact rather than approximate: the two label sets are field for
|
|
70
|
+
* field identical, so nothing about the reading's honesty changes when the
|
|
71
|
+
* provider does. Duplicating the bucket reader to achieve the same thing would
|
|
72
|
+
* mean two parsers to keep in step with one backend, which is how one of them
|
|
73
|
+
* ends up silently behind.
|
|
74
|
+
*
|
|
75
|
+
* This is the shape the network path reads. The group and bucket summary the
|
|
76
|
+
* `parseAntigravityPayload` reader above handles is a different document from
|
|
77
|
+
* the same family and stays exactly as it was.
|
|
78
|
+
*/
|
|
79
|
+
export declare function parseAntigravityCodeAssistPayload(payload: unknown, now: string): RawMeter[] | null;
|
|
61
80
|
/** The local application that owns this credential. */
|
|
62
81
|
export declare const ANTIGRAVITY_TOOL: ConnectionTool;
|
|
63
82
|
export declare const antigravityConnector: ConnectorContract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../src/antigravity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../src/antigravity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAY3B;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,iBAAiB;;;;;CAKM,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,EAAG,MAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGhE,CAAC;AA6DF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,QAAQ,EAAE,GAAG,IAAI,CAkCnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,QAAQ,EAAE,GAAG,IAAI,CAQnB;AAED,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,EAAE,cAA8B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAE,iBAmBlC,CAAC"}
|
package/dist/antigravity.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseGeminiCliPayload } from "./gemini-cli.js";
|
|
1
2
|
import { boundedFraction, connectorConnection, futureInstantFromRfc3339, plausibleResetHorizon, rawMeter, record, shortExpiry } from "./shared.js";
|
|
2
3
|
/**
|
|
3
4
|
* The Antigravity quota reader.
|
|
@@ -158,6 +159,34 @@ export function parseAntigravityPayload(payload, now) {
|
|
|
158
159
|
labels: antigravityLabels
|
|
159
160
|
}));
|
|
160
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* The same Code Assist quota document, read under this provider's name.
|
|
164
|
+
*
|
|
165
|
+
* Antigravity and Gemini CLI sit on one Google Code Assist backend and answer
|
|
166
|
+
* the same per model quota shape, so `parseGeminiCliPayload` above already
|
|
167
|
+
* knows how to read it. What differs is WHOSE credential asked and therefore
|
|
168
|
+
* which row a person is looking at, and that is a provider code, not a parser.
|
|
169
|
+
*
|
|
170
|
+
* The rename is exact rather than approximate: the two label sets are field for
|
|
171
|
+
* field identical, so nothing about the reading's honesty changes when the
|
|
172
|
+
* provider does. Duplicating the bucket reader to achieve the same thing would
|
|
173
|
+
* mean two parsers to keep in step with one backend, which is how one of them
|
|
174
|
+
* ends up silently behind.
|
|
175
|
+
*
|
|
176
|
+
* This is the shape the network path reads. The group and bucket summary the
|
|
177
|
+
* `parseAntigravityPayload` reader above handles is a different document from
|
|
178
|
+
* the same family and stays exactly as it was.
|
|
179
|
+
*/
|
|
180
|
+
export function parseAntigravityCodeAssistPayload(payload, now) {
|
|
181
|
+
const meters = parseGeminiCliPayload(payload, now);
|
|
182
|
+
if (meters === null)
|
|
183
|
+
return null;
|
|
184
|
+
return meters.map((meter) => ({
|
|
185
|
+
...meter,
|
|
186
|
+
provider: "ANTIGRAVITY",
|
|
187
|
+
labels: antigravityLabels
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
161
190
|
/** The local application that owns this credential. */
|
|
162
191
|
export const ANTIGRAVITY_TOOL = "Antigravity";
|
|
163
192
|
export const antigravityConnector = {
|
package/dist/antigravity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../src/antigravity.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,MAAM,EACN,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE,qBAAqB;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,cAAc,EAAE,MAAM;IACtB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,0BAA0B;IAChC,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,WAAW;CACb,CAAC;AAEX,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqC;IACnE,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;CAChB,CAAC;AASF;;;;;GAKG;AACH,SAAS,WAAW,CAAC,OAA2B,EAAE,GAAW;IAC3D,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,wBAAwB,CACtC,MAAM,CAAC,WAAW,CAAC,EACnB,GAAG,EACH,qBAAqB,CAAC,OAAO,CAAC,CAC/B,CAAC;QACF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC;;8DAEsD;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;YAC9D,OAAO;YACP,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,OAA2B;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAAE,SAAS;QACtD;gCACwB;QACxB,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC;QACzC,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE;QAC/D,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,GAAG;QACf,SAAS;QACT,MAAM,EAAE,iBAAiB;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAmB,aAAa,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,iBAAiB;IACzB,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,2BAA2B,CAAC,KAAK,GAAG,CAAC;IAC1D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,mBAAmB,CACpC,MAAM,KAAK,IAAI,EACf,OAAO,CAAC,OAAO,EACf,gBAAgB,CACjB,CAAC;QACF,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE;YAC9C,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../src/antigravity.ts"],"names":[],"mappings":"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"}
|
package/dist/codex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAa3B;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,WAAW;;;;;CAKY,CAAC;AAErC,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,aAAa,EAAG,MAAe,CAAC;AA2D7C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAuElF;AAED,uDAAuD;AACvD,eAAO,MAAM,UAAU,EAAE,cAA4B,CAAC;AAEtD,eAAO,MAAM,cAAc,EAAE,iBAmB5B,CAAC"}
|
package/dist/codex.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { boundedNumber, connectorConnection, futureInstantFromEpochSeconds, plausibleResetHorizon, rawMeter, record, shortExpiry, windowSeconds } from "./shared.js";
|
|
1
|
+
import { boundedNumber, connectorConnection, futureInstantFromEpochSeconds, instantAfter, plausibleResetHorizon, rawMeter, record, shortExpiry, windowSeconds } from "./shared.js";
|
|
2
2
|
/**
|
|
3
3
|
* The Codex usage reader.
|
|
4
4
|
*
|
|
@@ -58,6 +58,26 @@ export const codexEncoding = "json";
|
|
|
58
58
|
* uppercased, which is enough to keep two windows apart without inventing a
|
|
59
59
|
* vocabulary for buckets we have not seen yet.
|
|
60
60
|
*/
|
|
61
|
+
/**
|
|
62
|
+
* A reset stated as a countdown rather than as an instant.
|
|
63
|
+
*
|
|
64
|
+
* Some responses carry `reset_after_seconds` where others carry `reset_at`, and
|
|
65
|
+
* a reader that knows only the second reports no countdown at all against the
|
|
66
|
+
* first. The countdown is turned into an instant against the supplied clock and
|
|
67
|
+
* held to the same plausibility bound the instant form is held to, so a window
|
|
68
|
+
* cannot claim to reset years after the window it belongs to has ended.
|
|
69
|
+
*
|
|
70
|
+
* Zero and negative are refused rather than read as now: a window that reset in
|
|
71
|
+
* the past says nothing about the window running now.
|
|
72
|
+
*/
|
|
73
|
+
function resetFromCountdown(value, now, lengthSeconds) {
|
|
74
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0)
|
|
75
|
+
return null;
|
|
76
|
+
const horizon = lengthSeconds === null ? null : plausibleResetHorizon(lengthSeconds);
|
|
77
|
+
if (horizon !== null && value > horizon)
|
|
78
|
+
return null;
|
|
79
|
+
return instantAfter(now, value);
|
|
80
|
+
}
|
|
61
81
|
function meterIdFor(lengthSeconds, windowKey) {
|
|
62
82
|
if (lengthSeconds === 18_000)
|
|
63
83
|
return "FIVE_HOUR";
|
|
@@ -97,13 +117,20 @@ export function parseCodexPayload(payload, now) {
|
|
|
97
117
|
* reset is not the same as no reset, and only the corrupt one is refused.
|
|
98
118
|
*/
|
|
99
119
|
const resetProvided = windowRecord["reset_at"] !== undefined && windowRecord["reset_at"] !== null;
|
|
120
|
+
const countdownProvided = windowRecord["reset_after_seconds"] !== undefined &&
|
|
121
|
+
windowRecord["reset_after_seconds"] !== null;
|
|
122
|
+
/* The instant form wins when both are present. It is absolute, so it
|
|
123
|
+
survives a slow response and a clock this machine reads differently,
|
|
124
|
+
while a countdown is only true at the moment it was written. */
|
|
100
125
|
const resetAt = resetProvided
|
|
101
126
|
? futureInstantFromEpochSeconds(windowRecord["reset_at"], now, length === null ? undefined : plausibleResetHorizon(length))
|
|
102
|
-
:
|
|
127
|
+
: countdownProvided
|
|
128
|
+
? resetFromCountdown(windowRecord["reset_after_seconds"], now, length)
|
|
129
|
+
: null;
|
|
103
130
|
const expiresAt = shortExpiry(now);
|
|
104
131
|
if (expiresAt === null)
|
|
105
132
|
continue;
|
|
106
|
-
if (resetProvided && resetAt === null)
|
|
133
|
+
if ((resetProvided || countdownProvided) && resetAt === null)
|
|
107
134
|
continue;
|
|
108
135
|
meters.push(rawMeter({
|
|
109
136
|
provider: "CODEX",
|
package/dist/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,6BAA6B,EAC7B,qBAAqB,EACrB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,cAAc,EAAE,MAAM;IACtB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,0BAA0B;IAChC,YAAY,EAAE,4BAA4B;IAC1C,QAAQ,EAAE,WAAW;CACb,CAAC;AAEX,uEAAuE;AACvE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,aAA4B,EAAE,SAAiB;IACjE,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACjD,IAAI,aAAa,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC;IAClD,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,IAAI,YAAY,KAAK,IAAI;YAAE,SAAS;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS;QAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACnE;;;;;;;;;;;;;;WAcG;QACH,MAAM,aAAa,GACjB,YAAY,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QAC9E,MAAM,OAAO,GAAG,aAAa;YAC3B,CAAC,CAAC,6BAA6B,CAC3B,YAAY,CAAC,UAAU,CAAC,EACxB,GAAG,EACH,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAC5D;YACH,CAAC,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openlimiter/connectors",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Provider connectors that collect quota and usage data for OpenLimiter.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"NOTICE"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@openlimiter/core": "1.
|
|
22
|
+
"@openlimiter/core": "1.3.1"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|