@openlimiter/connectors 0.1.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 +285 -2
- package/dist/fixtures.d.ts.map +1 -1
- package/dist/fixtures.js +802 -21
- 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 +10 -1
- package/dist/openrouter.js.map +1 -1
- package/dist/shared.d.ts +97 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +168 -1
- 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,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,IAAI,EAAE;YACJ,aAAa,EAAE,GAAG;YAClB,WAAW,EAAE,EAAE;SAChB;KACF,CAAC;AACJ,CAAC;AAED,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,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":"AAMA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1F,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,cAAc;IAChC,mBAAmB,EAAE,QAAQ;IAC7B,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,YAAY;CACQ,CAAC;AAErC,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,qBAAqB,GAAG,gBAAgB;IACtD,QAAQ,EAAE,WAAW;CACb,CAAC;AAEX,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,GAAW;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,OAAO,KAAK,IAAI;YAChB,OAAO,KAAK,IAAI;YAChB,SAAS;QACX,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACzB,OAAO;YACP,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,GAAG;YACf,SAAS;YACT,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,EAAE,EAAE,QAAQ;IACZ,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,YAAY;IACpB,MAAM,CAAC,WAAW;QAChB,OAAO,WAAW,CAAC,kBAAkB,CAAC,KAAK,WAAW,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO;QAChB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,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/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":"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"}
|
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,
|
|
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
|
@@ -27,6 +27,13 @@ export function parseOpenrouterPayload(payload, now) {
|
|
|
27
27
|
const percent = (usage / credits) * 100;
|
|
28
28
|
if (!Number.isFinite(percent) || percent < 0 || percent > 100)
|
|
29
29
|
return null;
|
|
30
|
+
/*
|
|
31
|
+
* OpenRouter is the one provider whose documented shape states money rather
|
|
32
|
+
* than a percentage: total_credits is what the plan holds and total_usage is
|
|
33
|
+
* what has been spent out of it. Both are handed on as they were read. The
|
|
34
|
+
* normalizer decides whether they are believable and drops all three fields
|
|
35
|
+
* together if they are not, which leaves the percentage above intact.
|
|
36
|
+
*/
|
|
30
37
|
return [rawMeter({
|
|
31
38
|
provider: "OPENROUTER",
|
|
32
39
|
meter: "CREDITS",
|
|
@@ -37,11 +44,13 @@ export function parseOpenrouterPayload(payload, now) {
|
|
|
37
44
|
precision: "exact",
|
|
38
45
|
observedAt: now,
|
|
39
46
|
expiresAt,
|
|
40
|
-
labels: openrouterLabels
|
|
47
|
+
labels: openrouterLabels,
|
|
48
|
+
amounts: { usedAmount: usage, limitAmount: credits, currency: "USD" }
|
|
41
49
|
})];
|
|
42
50
|
}
|
|
43
51
|
export const openrouterConnector = {
|
|
44
52
|
id: "openrouter",
|
|
53
|
+
encoding: "json",
|
|
45
54
|
displayName: "OpenRouter",
|
|
46
55
|
labels: openrouterLabels,
|
|
47
56
|
detect(environment) {
|
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,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;
|
|
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"}
|