@openlimiter/connectors 0.2.0 → 0.4.0
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 +48 -0
- package/dist/antigravity.d.ts.map +1 -1
- package/dist/antigravity.js +137 -8
- package/dist/antigravity.js.map +1 -1
- package/dist/claude.d.ts +29 -2
- package/dist/claude.d.ts.map +1 -1
- package/dist/claude.js +38 -5
- package/dist/claude.js.map +1 -1
- package/dist/codex.d.ts +39 -0
- package/dist/codex.d.ts.map +1 -1
- package/dist/codex.js +50 -5
- package/dist/codex.js.map +1 -1
- package/dist/fixtures.d.ts +255 -2
- package/dist/fixtures.d.ts.map +1 -1
- package/dist/fixtures.js +769 -18
- package/dist/fixtures.js.map +1 -1
- package/dist/manual.d.ts.map +1 -1
- package/dist/manual.js +1 -0
- package/dist/manual.js.map +1 -1
- package/dist/opencode.d.ts +62 -0
- package/dist/opencode.d.ts.map +1 -1
- package/dist/opencode.js +280 -9
- package/dist/opencode.js.map +1 -1
- package/dist/openrouter.d.ts.map +1 -1
- package/dist/openrouter.js +1 -0
- package/dist/openrouter.js.map +1 -1
- package/dist/shared.d.ts +88 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +166 -0
- package/dist/shared.js.map +1 -1
- package/package.json +2 -2
package/dist/fixtures.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,SAAS,MAAM,CAAC,GAAW,EAAE,OAAe;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,WAAW;IACrD,OAAO;QACL,WAAW,EAAE;YACX,SAAS,EAAE;gBACT,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;aACnC;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;aACnC;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE;YACJ,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,KAAK;SACnB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,WAAW;IACpD,OAAO;QACL,WAAW,EAAE;YACX,cAAc,EAAE;gBACd,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;aAClC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc,WAAW;IAC1D,OAAO;QACL,KAAK,EAAE;YACL,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC;SAC/B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,WAAW;IACvD,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC;YAC9B,aAAa,EAAE,mBAAmB;SACnC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,WAAW;IACrD,OAAO;QACL,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC;aACvC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,iDAAiD;IAC1D,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;CACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
|
package/dist/manual.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,YAAY;;;;;CAKW,CAAC;AAErC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAE5D,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAKX;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CA+BnF;AAED,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,YAAY;;;;;CAKW,CAAC;AAErC,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAE5D,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAKX;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CA+BnF;AAED,eAAO,MAAM,eAAe,EAAE,iBAc7B,CAAC"}
|
package/dist/manual.js
CHANGED
package/dist/manual.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"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"}
|
package/dist/opencode.d.ts
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
import type { ConnectorContract, RawMeter } from "@openlimiter/core";
|
|
2
|
+
/**
|
|
3
|
+
* The OpenCode usage reader, and the least trustworthy one in the product.
|
|
4
|
+
*
|
|
5
|
+
* OpenCode publishes no usage interface at all. More than twenty candidate
|
|
6
|
+
* routes were probed on 2026-08-03 and the API key opens none of them: the plan
|
|
7
|
+
* percentages exist only inside the HTML of a logged in workspace page, server
|
|
8
|
+
* rendered. So this parser reads a PAGE, not a payload, and that is why its
|
|
9
|
+
* labels say browser-session, authenticated-scrape and automationRisk high, and
|
|
10
|
+
* why they do not improve when a capture lands. They describe the method, not
|
|
11
|
+
* the amount of evidence behind it.
|
|
12
|
+
*
|
|
13
|
+
* The reader used to parse `usage.percent` out of a JSON object, a shape from
|
|
14
|
+
* an early prototype that no OpenCode surface has ever produced.
|
|
15
|
+
*
|
|
16
|
+
* Two things make reading HTML survivable rather than reckless. Windows are
|
|
17
|
+
* matched by their LABEL and never by position, so a reordered page degrades to
|
|
18
|
+
* unknown instead of quietly reporting the monthly figure as the weekly one.
|
|
19
|
+
* And all three labels must be found: a page that has changed enough to lose
|
|
20
|
+
* one of them has changed enough not to be trusted for the other two.
|
|
21
|
+
*/
|
|
2
22
|
export declare const opencodeLabels: {
|
|
3
23
|
readonly credentialOrigin: "browser-session";
|
|
4
24
|
readonly dataInterfaceStatus: "authenticated-scrape";
|
|
@@ -12,6 +32,48 @@ export declare const opencodeInput: {
|
|
|
12
32
|
readonly readMode: "read_only";
|
|
13
33
|
readonly honesty: "UNVERIFIED_AUTHENTICATED_SCRAPE_HIGH_RISK";
|
|
14
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* What this reader reads: text, not JSON.
|
|
37
|
+
*
|
|
38
|
+
* The collection pipeline keys on this. A body for this reader is handed over
|
|
39
|
+
* as the raw string it arrived as, because running it through a JSON parser
|
|
40
|
+
* first would turn every real response into a parse failure.
|
|
41
|
+
*/
|
|
42
|
+
export declare const opencodeEncoding: "text";
|
|
43
|
+
/**
|
|
44
|
+
* How far this reader will search for a window's own container, in characters.
|
|
45
|
+
*
|
|
46
|
+
* A bound on WORK, not a boundary. The boundary is structural: see
|
|
47
|
+
* `windowContainer`. A character count alone was tried and it does not close
|
|
48
|
+
* the hole, because "the first percentage within two thousand characters after
|
|
49
|
+
* the label" still reaches a footer when the window's own percentage is absent.
|
|
50
|
+
* That is the difference between bounding how far a reader wanders and
|
|
51
|
+
* bounding where it is allowed to look at all.
|
|
52
|
+
*/
|
|
53
|
+
export declare const OPENCODE_MAX_SEGMENT_CHARS = 2000;
|
|
54
|
+
/**
|
|
55
|
+
* Largest page this reader will look at, in characters.
|
|
56
|
+
*
|
|
57
|
+
* The transport already bounds the response at one mebibyte. This is the second
|
|
58
|
+
* bound, on the work done with it, so a page that is within the transport's
|
|
59
|
+
* limit still cannot make the label scan expensive.
|
|
60
|
+
*/
|
|
61
|
+
export declare const OPENCODE_MAX_PAGE_CHARS = 1048576;
|
|
62
|
+
/**
|
|
63
|
+
* The three windows the workspace page renders, and how long each one is.
|
|
64
|
+
*
|
|
65
|
+
* All three are required. Matched by label, in the page's own words.
|
|
66
|
+
*/
|
|
67
|
+
export declare const OPENCODE_WINDOWS: readonly {
|
|
68
|
+
readonly label: string;
|
|
69
|
+
readonly seconds: number;
|
|
70
|
+
}[];
|
|
71
|
+
/**
|
|
72
|
+
* The binding window, as one meter.
|
|
73
|
+
*
|
|
74
|
+
* The highest of the three, because that is the one that will stop the work,
|
|
75
|
+
* and because it is what the reference reader's own bar names.
|
|
76
|
+
*/
|
|
15
77
|
export declare function parseOpencodePayload(payload: unknown, now: string): RawMeter[] | null;
|
|
16
78
|
export declare const opencodeConnector: ConnectorContract;
|
|
17
79
|
//# sourceMappingURL=opencode.d.ts.map
|
package/dist/opencode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAQ3B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,cAAc;;;;;CAKS,CAAC;AAErC,eAAO,MAAM,eAAe,EAAG,2CAAoD,CAAC;AAEpF,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAG,MAAe,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AA6ChD;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAAY,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,EAIA,CAAC;AAuLF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAuBrF;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAc/B,CAAC"}
|
package/dist/opencode.js
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { durationSecondsFromWords, instantAfter, rawMeter, shortExpiry } from "./shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* The OpenCode usage reader, and the least trustworthy one in the product.
|
|
4
|
+
*
|
|
5
|
+
* OpenCode publishes no usage interface at all. More than twenty candidate
|
|
6
|
+
* routes were probed on 2026-08-03 and the API key opens none of them: the plan
|
|
7
|
+
* percentages exist only inside the HTML of a logged in workspace page, server
|
|
8
|
+
* rendered. So this parser reads a PAGE, not a payload, and that is why its
|
|
9
|
+
* labels say browser-session, authenticated-scrape and automationRisk high, and
|
|
10
|
+
* why they do not improve when a capture lands. They describe the method, not
|
|
11
|
+
* the amount of evidence behind it.
|
|
12
|
+
*
|
|
13
|
+
* The reader used to parse `usage.percent` out of a JSON object, a shape from
|
|
14
|
+
* an early prototype that no OpenCode surface has ever produced.
|
|
15
|
+
*
|
|
16
|
+
* Two things make reading HTML survivable rather than reckless. Windows are
|
|
17
|
+
* matched by their LABEL and never by position, so a reordered page degrades to
|
|
18
|
+
* unknown instead of quietly reporting the monthly figure as the weekly one.
|
|
19
|
+
* And all three labels must be found: a page that has changed enough to lose
|
|
20
|
+
* one of them has changed enough not to be trusted for the other two.
|
|
21
|
+
*/
|
|
2
22
|
export const opencodeLabels = {
|
|
3
23
|
credentialOrigin: "browser-session",
|
|
4
24
|
dataInterfaceStatus: "authenticated-scrape",
|
|
@@ -12,20 +32,270 @@ export const opencodeInput = {
|
|
|
12
32
|
readMode: "read_only",
|
|
13
33
|
honesty: opencodeHonesty
|
|
14
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* What this reader reads: text, not JSON.
|
|
37
|
+
*
|
|
38
|
+
* The collection pipeline keys on this. A body for this reader is handed over
|
|
39
|
+
* as the raw string it arrived as, because running it through a JSON parser
|
|
40
|
+
* first would turn every real response into a parse failure.
|
|
41
|
+
*/
|
|
42
|
+
export const opencodeEncoding = "text";
|
|
43
|
+
/**
|
|
44
|
+
* How far this reader will search for a window's own container, in characters.
|
|
45
|
+
*
|
|
46
|
+
* A bound on WORK, not a boundary. The boundary is structural: see
|
|
47
|
+
* `windowContainer`. A character count alone was tried and it does not close
|
|
48
|
+
* the hole, because "the first percentage within two thousand characters after
|
|
49
|
+
* the label" still reaches a footer when the window's own percentage is absent.
|
|
50
|
+
* That is the difference between bounding how far a reader wanders and
|
|
51
|
+
* bounding where it is allowed to look at all.
|
|
52
|
+
*/
|
|
53
|
+
export const OPENCODE_MAX_SEGMENT_CHARS = 2_000;
|
|
54
|
+
/**
|
|
55
|
+
* Elements that never close, so a scan must not wait for a closing tag.
|
|
56
|
+
*
|
|
57
|
+
* Not exhaustive HTML: exhaustive for what a rendered page puts inside a meter
|
|
58
|
+
* block. An element outside this list that never closes makes the container
|
|
59
|
+
* scan run past its own end, and the scan answers null rather than guessing,
|
|
60
|
+
* which is the direction that costs a reading instead of inventing one.
|
|
61
|
+
*/
|
|
62
|
+
const VOID_ELEMENTS = new Set([
|
|
63
|
+
"area", "base", "br", "col", "embed", "hr", "img", "input",
|
|
64
|
+
"link", "meta", "param", "source", "track", "wbr"
|
|
65
|
+
]);
|
|
66
|
+
/** Every tag in a slice of text, in order. Comments are not tags. */
|
|
67
|
+
function tagsIn(html, from, to) {
|
|
68
|
+
const tags = [];
|
|
69
|
+
const pattern = /<!--[\s\S]*?-->|<\s*(\/?)\s*([a-zA-Z][a-zA-Z0-9-]*)([^>]*)>/gu;
|
|
70
|
+
const slice = html.slice(from, to);
|
|
71
|
+
for (const match of slice.matchAll(pattern)) {
|
|
72
|
+
/* A comment matched the first alternative and has no tag name. */
|
|
73
|
+
if (match[2] === undefined)
|
|
74
|
+
continue;
|
|
75
|
+
const name = match[2].toLowerCase();
|
|
76
|
+
const attributes = match[3] ?? "";
|
|
77
|
+
tags.push({
|
|
78
|
+
at: from + (match.index ?? 0),
|
|
79
|
+
end: from + (match.index ?? 0) + match[0].length,
|
|
80
|
+
name,
|
|
81
|
+
closing: match[1] === "/",
|
|
82
|
+
selfClosing: attributes.trimEnd().endsWith("/") || VOID_ELEMENTS.has(name)
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return tags;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Largest page this reader will look at, in characters.
|
|
89
|
+
*
|
|
90
|
+
* The transport already bounds the response at one mebibyte. This is the second
|
|
91
|
+
* bound, on the work done with it, so a page that is within the transport's
|
|
92
|
+
* limit still cannot make the label scan expensive.
|
|
93
|
+
*/
|
|
94
|
+
export const OPENCODE_MAX_PAGE_CHARS = 1_048_576;
|
|
95
|
+
/**
|
|
96
|
+
* The three windows the workspace page renders, and how long each one is.
|
|
97
|
+
*
|
|
98
|
+
* All three are required. Matched by label, in the page's own words.
|
|
99
|
+
*/
|
|
100
|
+
export const OPENCODE_WINDOWS = [
|
|
101
|
+
{ label: "Rolling Usage", seconds: 18_000 },
|
|
102
|
+
{ label: "Weekly Usage", seconds: 604_800 },
|
|
103
|
+
{ label: "Monthly Usage", seconds: 2_592_000 }
|
|
104
|
+
];
|
|
105
|
+
/**
|
|
106
|
+
* Markup and hydration comments, removed so text can be matched.
|
|
107
|
+
*
|
|
108
|
+
* The page is server rendered by a framework that sprays hydration markers
|
|
109
|
+
* through the text, so it renders "Resets in<!--/--> <!--$-->5 days<!--/-->".
|
|
110
|
+
* Matching against raw HTML silently loses every reset time, which is a missing
|
|
111
|
+
* countdown rather than a wrong number, but missing for an invisible reason is
|
|
112
|
+
* still the worst kind of missing. Verified against the live page 2026-08-03.
|
|
113
|
+
*/
|
|
114
|
+
const MARKUP = /<!--[\s\S]*?-->|<[^>]*>/gu;
|
|
115
|
+
/** A percentage as the page prints it: a whole number and a percent sign. */
|
|
116
|
+
const PERCENT = /(\d{1,3})\s*%/u;
|
|
117
|
+
/**
|
|
118
|
+
* A countdown as the page prints it.
|
|
119
|
+
*
|
|
120
|
+
* Anchored on the words, and consuming only consecutive number and unit pairs,
|
|
121
|
+
* so it cannot wander into the next window's duration if a label boundary ever
|
|
122
|
+
* moves.
|
|
123
|
+
*/
|
|
124
|
+
const RESETS_IN = /Resets in\s+((?:\d{1,6}\s*(?:day|hour|minute|second)s?\s*)+)/iu;
|
|
125
|
+
function flatten(fragment) {
|
|
126
|
+
return fragment.replace(MARKUP, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
127
|
+
}
|
|
128
|
+
/** How many ancestors of a label this reader will consider. */
|
|
129
|
+
const MAX_CONTAINER_DEPTH = 6;
|
|
130
|
+
/**
|
|
131
|
+
* The element that encloses a position, as a half open range, or null.
|
|
132
|
+
*
|
|
133
|
+
* Found by walking backwards to the nearest element still open at that point,
|
|
134
|
+
* then forwards to its own closing tag. Both walks are bounded, and every
|
|
135
|
+
* failure answers null: an unbalanced page is one this reader declines rather
|
|
136
|
+
* than one it reads approximately.
|
|
137
|
+
*/
|
|
138
|
+
function enclosingElement(html, at) {
|
|
139
|
+
const searchFrom = Math.max(0, at - OPENCODE_MAX_SEGMENT_CHARS);
|
|
140
|
+
const before = tagsIn(html, searchFrom, at);
|
|
141
|
+
/* Backwards: a closing tag means a sibling element already finished, so the
|
|
142
|
+
next opening tag going left belongs to it and not to us. */
|
|
143
|
+
let pendingCloses = 0;
|
|
144
|
+
let container = null;
|
|
145
|
+
for (let index = before.length - 1; index >= 0; index -= 1) {
|
|
146
|
+
const tag = before[index];
|
|
147
|
+
if (tag.selfClosing)
|
|
148
|
+
continue;
|
|
149
|
+
if (tag.closing) {
|
|
150
|
+
pendingCloses += 1;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
if (pendingCloses > 0) {
|
|
154
|
+
pendingCloses -= 1;
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
container = tag;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
if (container === null)
|
|
161
|
+
return null;
|
|
162
|
+
/* Forwards from just inside the container to its own close, counting depth so
|
|
163
|
+
a nested element of the same name cannot end the region early. */
|
|
164
|
+
const searchTo = Math.min(html.length, container.end + OPENCODE_MAX_SEGMENT_CHARS);
|
|
165
|
+
let depth = 0;
|
|
166
|
+
for (const tag of tagsIn(html, container.end, searchTo)) {
|
|
167
|
+
if (tag.selfClosing)
|
|
168
|
+
continue;
|
|
169
|
+
if (!tag.closing) {
|
|
170
|
+
depth += 1;
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
if (depth === 0) {
|
|
174
|
+
return tag.name === container.name
|
|
175
|
+
? { openedAt: container.at, from: container.end, to: tag.at }
|
|
176
|
+
/* A closing tag for something else pops above our container, which
|
|
177
|
+
means the page is unbalanced here. Decline it. */
|
|
178
|
+
: null;
|
|
179
|
+
}
|
|
180
|
+
depth -= 1;
|
|
181
|
+
}
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* The region a window's reading may be read from, or null.
|
|
186
|
+
*
|
|
187
|
+
* This is the fix for the final segment attack, and the reason a character count
|
|
188
|
+
* could not be. A window's figure is not inside the heading that names it: it is
|
|
189
|
+
* a SIBLING of that heading, in a shared block. So the readable region is an
|
|
190
|
+
* ancestor of the label, and the right ancestor is the nearest one that holds a
|
|
191
|
+
* percentage while naming no other window.
|
|
192
|
+
*
|
|
193
|
+
* Both halves of that rule carry weight. Requiring a percentage is what walks
|
|
194
|
+
* past the bare heading element. Refusing a region that names another window is
|
|
195
|
+
* what stops the walk at the meter block instead of continuing up to the page
|
|
196
|
+
* body, which contains every window's figure and would let any of them stand in
|
|
197
|
+
* for any other. When no ancestor satisfies both, there is no region, and a
|
|
198
|
+
* window with no region is refused rather than approximated: that is the case
|
|
199
|
+
* the audit named, a monthly block that rendered no figure and a footer a few
|
|
200
|
+
* characters later that did.
|
|
201
|
+
*/
|
|
202
|
+
function windowRegion(html, labelAt, otherLabels) {
|
|
203
|
+
let position = labelAt;
|
|
204
|
+
for (let level = 0; level < MAX_CONTAINER_DEPTH; level += 1) {
|
|
205
|
+
const element = enclosingElement(html, position);
|
|
206
|
+
if (element === null)
|
|
207
|
+
return null;
|
|
208
|
+
const segment = flatten(html.slice(element.from, element.to));
|
|
209
|
+
if (otherLabels.some((label) => segment.includes(label)))
|
|
210
|
+
return null;
|
|
211
|
+
if (PERCENT.test(segment))
|
|
212
|
+
return segment;
|
|
213
|
+
/* No figure at this level, so try the block above it. */
|
|
214
|
+
position = element.openedAt;
|
|
215
|
+
}
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Every window the page states, or null unless all three are there.
|
|
220
|
+
*
|
|
221
|
+
* Each window's segment runs from its own label to the next label in page
|
|
222
|
+
* order, so a percentage can only ever be read out of the block that belongs to
|
|
223
|
+
* it.
|
|
224
|
+
*/
|
|
225
|
+
function parseWindows(html, now) {
|
|
226
|
+
const found = [];
|
|
227
|
+
for (const window of OPENCODE_WINDOWS) {
|
|
228
|
+
const at = html.indexOf(window.label);
|
|
229
|
+
if (at < 0)
|
|
230
|
+
return null;
|
|
231
|
+
/* One occurrence only. A page rendering a label twice gives this reader two
|
|
232
|
+
candidate containers and no way to know which is the meter. */
|
|
233
|
+
if (html.indexOf(window.label, at + window.label.length) >= 0)
|
|
234
|
+
return null;
|
|
235
|
+
found.push({ at, seconds: window.seconds, label: window.label });
|
|
236
|
+
}
|
|
237
|
+
found.sort((left, right) => left.at - right.at);
|
|
238
|
+
const windows = [];
|
|
239
|
+
for (const start of found) {
|
|
240
|
+
/*
|
|
241
|
+
* The readable region is this window's own CONTAINER, and nothing past it.
|
|
242
|
+
*
|
|
243
|
+
* A character count was not enough, and the way it failed is worth stating:
|
|
244
|
+
* "the first percentage within two thousand characters after the label"
|
|
245
|
+
* still reaches a footer whenever the window's own percentage is absent, so
|
|
246
|
+
* a page that stopped rendering one meter would report an unrelated figure
|
|
247
|
+
* as that meter. Outside the container is outside, at any distance.
|
|
248
|
+
*/
|
|
249
|
+
const segment = windowRegion(html, start.at, found.filter((entry) => entry.label !== start.label).map((entry) => entry.label));
|
|
250
|
+
if (segment === null)
|
|
251
|
+
return null;
|
|
252
|
+
const percentMatch = PERCENT.exec(segment);
|
|
253
|
+
if (percentMatch === null)
|
|
254
|
+
return null;
|
|
255
|
+
const percent = Number.parseInt(percentMatch[1] ?? "", 10);
|
|
256
|
+
if (!Number.isFinite(percent) || percent < 0 || percent > 100)
|
|
257
|
+
return null;
|
|
258
|
+
/* The countdown is optional, because the page omits it on a window that has
|
|
259
|
+
no reset pending. A missing countdown costs the countdown and nothing
|
|
260
|
+
else: the percentage beside it was still rendered by the provider. */
|
|
261
|
+
const resetMatch = RESETS_IN.exec(segment);
|
|
262
|
+
const seconds = resetMatch === null ? null : durationSecondsFromWords(resetMatch[1] ?? "");
|
|
263
|
+
windows.push({
|
|
264
|
+
percent,
|
|
265
|
+
seconds: start.seconds,
|
|
266
|
+
resetAt: seconds === null ? null : instantAfter(now, seconds)
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
return windows;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* The binding window, as one meter.
|
|
273
|
+
*
|
|
274
|
+
* The highest of the three, because that is the one that will stop the work,
|
|
275
|
+
* and because it is what the reference reader's own bar names.
|
|
276
|
+
*/
|
|
15
277
|
export function parseOpencodePayload(payload, now) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
278
|
+
if (typeof payload !== "string")
|
|
279
|
+
return null;
|
|
280
|
+
if (payload.length === 0 || payload.length > OPENCODE_MAX_PAGE_CHARS)
|
|
281
|
+
return null;
|
|
282
|
+
const windows = parseWindows(payload, now);
|
|
283
|
+
if (windows === null || windows.length === 0)
|
|
284
|
+
return null;
|
|
20
285
|
const expiresAt = shortExpiry(now);
|
|
21
|
-
if (
|
|
286
|
+
if (expiresAt === null)
|
|
22
287
|
return null;
|
|
288
|
+
let binding = windows[0];
|
|
289
|
+
for (const candidate of windows.slice(1)) {
|
|
290
|
+
if (candidate.percent > binding.percent)
|
|
291
|
+
binding = candidate;
|
|
292
|
+
}
|
|
23
293
|
return [rawMeter({
|
|
24
294
|
provider: "OPENCODE",
|
|
25
295
|
meter: "PRIMARY",
|
|
26
|
-
value: percent,
|
|
27
|
-
window: { kind: "
|
|
28
|
-
resetAt,
|
|
296
|
+
value: binding.percent,
|
|
297
|
+
window: { kind: "rolling", durationSeconds: binding.seconds },
|
|
298
|
+
resetAt: binding.resetAt,
|
|
29
299
|
source: "authenticated_page",
|
|
30
300
|
precision: "estimated",
|
|
31
301
|
observedAt: now,
|
|
@@ -36,6 +306,7 @@ export function parseOpencodePayload(payload, now) {
|
|
|
36
306
|
export const opencodeConnector = {
|
|
37
307
|
id: "opencode",
|
|
38
308
|
displayName: "OpenCode",
|
|
309
|
+
encoding: "text",
|
|
39
310
|
labels: opencodeLabels,
|
|
40
311
|
detect(environment) {
|
|
41
312
|
return environment["OPENCODE_SESSION_PRESENT"] === "1";
|
package/dist/opencode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,sBAAsB;IAC3C,cAAc,EAAE,MAAM;IACtB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,2CAAoD,CAAC;AAEpF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE,wBAAwB;IACtC,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,eAAe;CAChB,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO;IAC1D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;CAClD,CAAC,CAAC;AAWH,qEAAqE;AACrE,SAAS,MAAM,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;IACpD,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,+DAA+D,CAAC;IAChF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,kEAAkE;QAClE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,SAAS;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7B,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;YAChD,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YACzB,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAGvB;IACJ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE;IAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;IAC3C,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE;CAC/C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,2BAA2B,CAAC;AAE3C,6EAA6E;AAC7E,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,gEAAgE,CAAC;AAEnF,SAAS,OAAO,CAAC,QAAgB;IAC/B,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,EAAU;IAEV,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,0BAA0B,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5C;kEAC8D;IAC9D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,GAAe,IAAI,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,WAAW;YAAE,SAAS;QAC9B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,aAAa,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,aAAa,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,SAAS,GAAG,GAAG,CAAC;QAChB,MAAM;IACR,CAAC;IACD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC;wEACoE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,GAAG,0BAA0B,CAAC,CAAC;IACnF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,WAAW;YAAE,SAAS;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;gBAChC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;gBAC7D;oEACoD;gBACpD,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,YAAY,CACnB,IAAY,EACZ,OAAe,EACf,WAA8B;IAE9B,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,mBAAmB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC1C,yDAAyD;QACzD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAQD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,GAAW;IAC7C,MAAM,KAAK,GAAqD,EAAE,CAAC;IACnE,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxB;yEACiE;QACjE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B;;;;;;;;WAQG;QACH,MAAM,OAAO,GAAG,YAAY,CAC1B,IAAI,EACJ,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CACjF,CAAC;QACF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3E;;gFAEwE;QACxE,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,OAAO,GACX,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC;YACX,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,GAAW;IAChE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,uBAAuB;QAAE,OAAO,IAAI,CAAC;IAClF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAC1B,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;YAAE,OAAO,GAAG,SAAS,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,QAAQ,CAAC;YACf,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE;YAC7D,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,oBAAoB;YAC5B,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,GAAG;YACf,SAAS;YACT,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,EAAE,EAAE,UAAU;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,cAAc;IACtB,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,0BAA0B,CAAC,KAAK,GAAG,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC"}
|
package/dist/openrouter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,gBAAgB;;;;;CAKO,CAAC;AAErC,eAAO,MAAM,oBAAoB;;;;;;CAMvB,CAAC;AAEX,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAmCvF;AAED,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,eAAO,MAAM,gBAAgB;;;;;CAKO,CAAC;AAErC,eAAO,MAAM,oBAAoB;;;;;;CAMvB,CAAC;AAEX,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,IAAI,CAmCvF;AAED,eAAO,MAAM,mBAAmB,EAAE,iBAcjC,CAAC"}
|
package/dist/openrouter.js
CHANGED
package/dist/openrouter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB,EAAE,UAAU;IAC5B,mBAAmB,EAAE,gBAAgB;IACrC,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,YAAY;IACrB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,WAAW;CACb,CAAC;AAEX,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,GAAW;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IACE,OAAO,KAAK,IAAI;QAChB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,CAAC;QACZ,KAAK,GAAG,OAAO;QACf,SAAS,KAAK,IAAI;QAClB,OAAO,IAAI,CAAC;IACd,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3E;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC;YACf,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,GAAG;YACf,SAAS;YACT,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,EAAE,EAAE,YAAY;IAChB,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE,gBAAgB;IACxB,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,mCAAmC,CAAC,KAAK,WAAW,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../src/openrouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB,EAAE,UAAU;IAC5B,mBAAmB,EAAE,gBAAgB;IACrC,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,YAAY;IACrB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,WAAW;CACb,CAAC;AAEX,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,GAAW;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IACE,OAAO,KAAK,IAAI;QAChB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,CAAC;QACZ,KAAK,GAAG,OAAO;QACf,SAAS,KAAK,IAAI;QAClB,OAAO,IAAI,CAAC;IACd,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3E;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC;YACf,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,gBAAgB;YACxB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,GAAG;YACf,SAAS;YACT,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,EAAE,EAAE,YAAY;IAChB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE,gBAAgB;IACxB,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,mCAAmC,CAAC,KAAK,WAAW,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;CACF,CAAC"}
|
package/dist/shared.d.ts
CHANGED
|
@@ -2,6 +2,94 @@ import type { ConnectorLabels, ProviderCode, RawMeter, SnapshotAmounts, Snapshot
|
|
|
2
2
|
export declare function record(value: unknown): Record<string, unknown> | null;
|
|
3
3
|
export declare function boundedNumber(value: unknown, maximum?: number): number | null;
|
|
4
4
|
export declare function futureInstant(value: unknown, now: string): string | null;
|
|
5
|
+
/**
|
|
6
|
+
* Largest epoch value that is still read as seconds.
|
|
7
|
+
*
|
|
8
|
+
* A number this size in seconds is the year 33658, and the same number read as
|
|
9
|
+
* milliseconds is 2001. Anything at or above it is therefore a millisecond
|
|
10
|
+
* stamp handed to a seconds field, which is the single most likely way this
|
|
11
|
+
* conversion gets a reset instant wrong, so it is refused rather than turned
|
|
12
|
+
* into a date thirty thousand years away.
|
|
13
|
+
*/
|
|
14
|
+
export declare const MAX_EPOCH_SECONDS = 1000000000000;
|
|
15
|
+
/**
|
|
16
|
+
* Slack allowed between a machine's clock and a provider's clock.
|
|
17
|
+
*
|
|
18
|
+
* An hour covers a wrong time zone offset applied to a timestamp, which is the
|
|
19
|
+
* realistic way two correct systems disagree, without widening the plausibility
|
|
20
|
+
* bound below into something that accepts nonsense.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CLOCK_SKEW_SECONDS = 3600;
|
|
23
|
+
/**
|
|
24
|
+
* The furthest ahead a window of a given length may plausibly reset.
|
|
25
|
+
*
|
|
26
|
+
* A rolling window cannot reset more than one window from now, so twice the
|
|
27
|
+
* window is already generous, and the skew allowance sits on top of that. This
|
|
28
|
+
* is what stops a five hour meter from claiming it resets in 2038: such a value
|
|
29
|
+
* is not a reset, it is a corrupt field, a different unit, or a different
|
|
30
|
+
* meaning, and rendering a twelve year countdown beside a five hour window
|
|
31
|
+
* would be the product lying with a straight face.
|
|
32
|
+
*/
|
|
33
|
+
export declare function plausibleResetHorizon(windowSeconds: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* Read a reset instant stated as Unix epoch seconds.
|
|
36
|
+
*
|
|
37
|
+
* Claude Code states its reset times this way. The value must be a finite
|
|
38
|
+
* number, must be in seconds rather than milliseconds, must still be in the
|
|
39
|
+
* future against the supplied clock, because a window that has already reset
|
|
40
|
+
* says nothing about the window running now, and must be close enough to now to
|
|
41
|
+
* belong to the window it claims to describe. Nothing is repaired: a value that
|
|
42
|
+
* fails any of these is null and the caller drops that reading alone.
|
|
43
|
+
*
|
|
44
|
+
* `maxAheadSeconds` is the plausibility bound and is optional only so the
|
|
45
|
+
* helper stays usable for a source with no window length to reason from.
|
|
46
|
+
*/
|
|
47
|
+
export declare function futureInstantFromEpochSeconds(value: unknown, now: string, maxAheadSeconds?: number): string | null;
|
|
48
|
+
/**
|
|
49
|
+
* A fraction of a whole, as Google's quota summary states remaining quota.
|
|
50
|
+
*
|
|
51
|
+
* Zero and one are both real answers, so the bound is inclusive. A boolean is
|
|
52
|
+
* refused explicitly: JavaScript will happily do arithmetic on `true`, and a
|
|
53
|
+
* `remainingFraction` of `true` would otherwise become a usage of zero percent,
|
|
54
|
+
* which is the most dangerous wrong answer this product can give.
|
|
55
|
+
*/
|
|
56
|
+
export declare function boundedFraction(value: unknown): number | null;
|
|
57
|
+
/**
|
|
58
|
+
* A whole positive count of seconds, when a provider states a window length.
|
|
59
|
+
*
|
|
60
|
+
* Bounded above by a year, because a rolling window longer than that is not a
|
|
61
|
+
* subscription window, it is a misread field or a different unit.
|
|
62
|
+
*/
|
|
63
|
+
export declare const MAX_WINDOW_SECONDS = 31536000;
|
|
64
|
+
export declare function windowSeconds(value: unknown): number | null;
|
|
65
|
+
/**
|
|
66
|
+
* Read a reset instant stated as an RFC3339 timestamp.
|
|
67
|
+
*
|
|
68
|
+
* Google's quota summary states reset times this way, and the Antigravity
|
|
69
|
+
* client writes them with SEVEN fractional digits, which `Date.parse` on some
|
|
70
|
+
* runtimes reads and others do not. The fraction is normalised to three digits
|
|
71
|
+
* before parsing, which is the one repair made anywhere in this file, and it is
|
|
72
|
+
* a repair of ENCODING rather than of value: the instant it names is unchanged.
|
|
73
|
+
* Recorded 2026-08-07 against a real credential and a real response.
|
|
74
|
+
*
|
|
75
|
+
* An offsetless stamp is read as UTC explicitly. Both observed sources carry an
|
|
76
|
+
* offset today, so this is a guard rather than a fix, and it exists because the
|
|
77
|
+
* alternative is silent: a naive stamp read as local time moves a reset by the
|
|
78
|
+
* machine's offset instead of failing.
|
|
79
|
+
*/
|
|
80
|
+
export declare function futureInstantFromRfc3339(value: unknown, now: string, maxAheadSeconds?: number): string | null;
|
|
81
|
+
/**
|
|
82
|
+
* Seconds from a duration a page spelled out in words, or null.
|
|
83
|
+
*
|
|
84
|
+
* OpenCode's workspace page prints "Resets in 5 days 20 hours" rather than a
|
|
85
|
+
* timestamp, so the only reset available is a countdown rendered for a human.
|
|
86
|
+
* Only consecutive number and unit pairs are read, and an empty or zero total
|
|
87
|
+
* is null rather than now: a reset of zero seconds would render as a countdown
|
|
88
|
+
* that has already finished.
|
|
89
|
+
*/
|
|
90
|
+
export declare function durationSecondsFromWords(text: string): number | null;
|
|
91
|
+
/** An instant this many seconds after the supplied clock, or null. */
|
|
92
|
+
export declare function instantAfter(now: string, seconds: number): string | null;
|
|
5
93
|
export declare function shortExpiry(now: string): string | null;
|
|
6
94
|
export declare function rawMeter(input: {
|
|
7
95
|
provider: ProviderCode;
|
package/dist/shared.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAM,GAAG,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,GAAG,QAAQ,CAGX"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAM,GAAG,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOxE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,gBAAO,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AAExC;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,IAAI,CAef;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,WAAa,CAAC;AAE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,IAAI,CAuBf;AAUD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAapE;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,GAAG,QAAQ,CAGX"}
|