@jmanuelcorral/openteam 0.2.0 → 0.2.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/README.es.md +5 -5
- package/README.md +5 -5
- package/dist/config/graphFeatureGate.d.ts +8 -3
- package/dist/config/graphFeatureGate.d.ts.map +1 -1
- package/dist/graph/certificate.d.ts +12 -2
- package/dist/graph/certificate.d.ts.map +1 -1
- package/dist/graph/soakLedger.d.ts +25 -2
- package/dist/graph/soakLedger.d.ts.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1383 -1375
- package/dist/orchestrator/graphIngress.d.ts +1 -1
- package/dist/orchestrator/graphIngress.d.ts.map +1 -1
- package/dist/orchestrator/ledger.d.ts +11 -42
- package/dist/orchestrator/ledger.d.ts.map +1 -1
- package/dist/orchestrator/sddCompiler.d.ts +25 -1
- package/dist/orchestrator/sddCompiler.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/orchestrator/sdd.d.ts +0 -180
- package/dist/orchestrator/sdd.d.ts.map +0 -1
package/README.es.md
CHANGED
|
@@ -46,7 +46,7 @@ El router mantiene una garantía de privacidad: con `privacyMode: "forceLocalOnS
|
|
|
46
46
|
|
|
47
47
|
## Requisitos
|
|
48
48
|
|
|
49
|
-
- opencode compatible con `@opencode-ai/plugin` `1.
|
|
49
|
+
- opencode compatible con `@opencode-ai/plugin` `1.18.18`.
|
|
50
50
|
- Bun `1.3.14` para instalaciones, desarrollo y tests reproducibles.
|
|
51
51
|
- Node.js `^22.22.2 || ^24.15.0 || >=26.0.0` para la CLI y el plugin publicados.
|
|
52
52
|
- Runtimes locales opcionales:
|
|
@@ -723,13 +723,13 @@ Gates no negociables:
|
|
|
723
723
|
|
|
724
724
|
## Compatibilidad
|
|
725
725
|
|
|
726
|
-
Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `2026-08-
|
|
726
|
+
Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `2026-08-23`:
|
|
727
727
|
|
|
728
728
|
| Superficie | Versión / contrato |
|
|
729
729
|
| --- | --- |
|
|
730
|
-
| openteam | `0.2.
|
|
731
|
-
| `@opencode-ai/plugin` | `1.
|
|
732
|
-
| `@opencode-ai/sdk` | `1.
|
|
730
|
+
| openteam | `0.2.1`; versión actual del paquete |
|
|
731
|
+
| `@opencode-ai/plugin` | `1.18.18` |
|
|
732
|
+
| `@opencode-ai/sdk` | `1.18.18` |
|
|
733
733
|
| Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
|
|
734
734
|
| Subsesiones | `client.session.create` + `client.session.prompt({ body: { model } })` |
|
|
735
735
|
|
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ The router keeps a privacy guarantee: with `privacyMode: "forceLocalOnSensitive"
|
|
|
51
51
|
|
|
52
52
|
## Requirements
|
|
53
53
|
|
|
54
|
-
- opencode compatible with `@opencode-ai/plugin` `1.
|
|
54
|
+
- opencode compatible with `@opencode-ai/plugin` `1.18.18`.
|
|
55
55
|
- [Bun](https://bun.sh) `1.3.14` for reproducible installs, development, and tests.
|
|
56
56
|
- Node.js `^22.22.2 || ^24.15.0 || >=26.0.0` for the published CLI/plugin.
|
|
57
57
|
- Optional local runtimes:
|
|
@@ -340,13 +340,13 @@ Non-negotiable gates (see [docs/testing-and-quality.md](docs/testing-and-quality
|
|
|
340
340
|
|
|
341
341
|
## Compatibility
|
|
342
342
|
|
|
343
|
-
See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026-08-
|
|
343
|
+
See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026-08-23`:
|
|
344
344
|
|
|
345
345
|
| Surface | Version / contract |
|
|
346
346
|
| --- | --- |
|
|
347
|
-
| openteam | `0.2.
|
|
348
|
-
| `@opencode-ai/plugin` | `1.
|
|
349
|
-
| `@opencode-ai/sdk` | `1.
|
|
347
|
+
| openteam | `0.2.1`; current package version |
|
|
348
|
+
| `@opencode-ai/plugin` | `1.18.18` |
|
|
349
|
+
| `@opencode-ai/sdk` | `1.18.18` |
|
|
350
350
|
| Routing hook | `chat.message`; not `chat.params` for model changes |
|
|
351
351
|
| Child sessions | `client.session.create` + `client.session.prompt({ body: { model } })` |
|
|
352
352
|
|
|
@@ -18,9 +18,14 @@
|
|
|
18
18
|
* 2. **No raw certificate reads.** The gate never inspects certificate fields.
|
|
19
19
|
* It receives `CertificateStatus` values produced by the recomputing
|
|
20
20
|
* parsers (`parseShadowCertificate`, `parseReleaseCertificate`,
|
|
21
|
-
* `parseSoakCertificate`), which derive verdicts from evidence.
|
|
22
|
-
* `status: "valid"` means the parser
|
|
23
|
-
*
|
|
21
|
+
* `parseSoakCertificate`), which derive verdicts from evidence. This module
|
|
22
|
+
* itself contains no version logic. A `status: "valid"` means the parser
|
|
23
|
+
* accepted it — verdict recomputed from the embedded evidence and digest
|
|
24
|
+
* verified. For shadow and release that acceptance additionally required the
|
|
25
|
+
* live opencode version to match the version stamped in the certificate; the
|
|
26
|
+
* soak parser performs no live-version check, so its opencode guarantee rests
|
|
27
|
+
* on the eligibility filter applied to the recorded evidence, not on this
|
|
28
|
+
* gate.
|
|
24
29
|
*
|
|
25
30
|
* 3. **Operator approval is a declaration, not a proof.** The `operatorApproval`
|
|
26
31
|
* flag records that the operator has reviewed the certificates and completed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphFeatureGate.d.ts","sourceRoot":"","sources":["../../src/config/graphFeatureGate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graphFeatureGate.d.ts","sourceRoot":"","sources":["../../src/config/graphFeatureGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAIN;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAIjE,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC,CAAC;AAIF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,4BAA4B,GAC5B,6BAA6B,GAC7B,yBAAyB,GACzB,0BAA0B,GAC1B,mBAAmB,GACnB,mBAAmB,GACnB,2BAA2B,CAAC;AAEhC,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAIF,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C,CAAC;AAuBF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAyCxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAE3E"}
|
|
@@ -354,12 +354,20 @@ export type RecomputedDivergenceCode = z.infer<typeof RecomputedDivergenceCodeSc
|
|
|
354
354
|
* Codes with provenance "carried" or "validated" copy the same trace field on
|
|
355
355
|
* both sides — including them would inflate declared coverage without
|
|
356
356
|
* measuring anything.
|
|
357
|
+
*
|
|
358
|
+
* `supportedOpencodeVersions` is the **set** of opencode versions whose contract
|
|
359
|
+
* surface openteam has verified (mirrors `SUPPORTED_OPENCODE_VERSIONS`). An
|
|
360
|
+
* observation only accrues toward the soak if its version is a member. Modelling
|
|
361
|
+
* it as a set — not a single string — is deliberate: a soak legitimately spans a
|
|
362
|
+
* mid-window upgrade between two supported versions, and the evidence field
|
|
363
|
+
* `opencodeVersionsObserved` records which of them were actually exercised, so
|
|
364
|
+
* the certificate cannot misattribute evidence to a version it never ran on.
|
|
357
365
|
*/
|
|
358
366
|
export declare const SoakPolicySchema: z.ZodObject<{
|
|
359
367
|
minimumGenuineObservations: z.ZodNumber;
|
|
360
368
|
minimumDistinctDays: z.ZodNumber;
|
|
361
369
|
requireGenuineUsageOnAllPlatforms: z.ZodBoolean;
|
|
362
|
-
|
|
370
|
+
supportedOpencodeVersions: z.ZodArray<z.ZodString>;
|
|
363
371
|
criticalDivergenceCodes: z.ZodArray<z.ZodEnum<{
|
|
364
372
|
fixes: "fixes";
|
|
365
373
|
}>>;
|
|
@@ -373,6 +381,7 @@ declare const SoakEvidenceSchema: z.ZodObject<{
|
|
|
373
381
|
genuineUsageObservations: z.ZodNumber;
|
|
374
382
|
ciSyntheticObservations: z.ZodNumber;
|
|
375
383
|
recorderCount: z.ZodNumber;
|
|
384
|
+
ineligibleObservations: z.ZodNumber;
|
|
376
385
|
firstTimestamp: z.ZodNullable<z.ZodString>;
|
|
377
386
|
lastTimestamp: z.ZodNullable<z.ZodString>;
|
|
378
387
|
distinctDays: z.ZodNumber;
|
|
@@ -413,7 +422,7 @@ declare const SoakCertificateSchema: z.ZodObject<{
|
|
|
413
422
|
minimumGenuineObservations: z.ZodNumber;
|
|
414
423
|
minimumDistinctDays: z.ZodNumber;
|
|
415
424
|
requireGenuineUsageOnAllPlatforms: z.ZodBoolean;
|
|
416
|
-
|
|
425
|
+
supportedOpencodeVersions: z.ZodArray<z.ZodString>;
|
|
417
426
|
criticalDivergenceCodes: z.ZodArray<z.ZodEnum<{
|
|
418
427
|
fixes: "fixes";
|
|
419
428
|
}>>;
|
|
@@ -423,6 +432,7 @@ declare const SoakCertificateSchema: z.ZodObject<{
|
|
|
423
432
|
genuineUsageObservations: z.ZodNumber;
|
|
424
433
|
ciSyntheticObservations: z.ZodNumber;
|
|
425
434
|
recorderCount: z.ZodNumber;
|
|
435
|
+
ineligibleObservations: z.ZodNumber;
|
|
426
436
|
firstTimestamp: z.ZodNullable<z.ZodString>;
|
|
427
437
|
lastTimestamp: z.ZodNullable<z.ZodString>;
|
|
428
438
|
distinctDays: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../src/graph/certificate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../src/graph/certificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,13 @@ export type SoakEvidence = {
|
|
|
97
97
|
readonly genuineUsageObservations: number;
|
|
98
98
|
readonly ciSyntheticObservations: number;
|
|
99
99
|
readonly recorderCount: number;
|
|
100
|
+
/**
|
|
101
|
+
* Count of chain-valid observations that were excluded from every total in
|
|
102
|
+
* this evidence because their `opencodeVersion` is not in the supported set.
|
|
103
|
+
* Recorded (not dropped) so the exclusion is auditable — a large value means
|
|
104
|
+
* evidence was gathered on versions this certificate does not cover.
|
|
105
|
+
*/
|
|
106
|
+
readonly ineligibleObservations: number;
|
|
100
107
|
readonly firstTimestamp: string | null;
|
|
101
108
|
readonly lastTimestamp: string | null;
|
|
102
109
|
readonly distinctDays: number;
|
|
@@ -131,8 +138,24 @@ export declare function aggregateObservations(chains: readonly (readonly SoakObs
|
|
|
131
138
|
validObs: SoakObservation[];
|
|
132
139
|
invalidChains: number;
|
|
133
140
|
};
|
|
134
|
-
/**
|
|
135
|
-
|
|
141
|
+
/**
|
|
142
|
+
* Deriva la evidencia completa a partir de las cadenas validadas.
|
|
143
|
+
*
|
|
144
|
+
* **Eligibility filter (GE-055a, soak-pin semantics).** An observation only
|
|
145
|
+
* contributes to the soak totals — counts, distinct days, platform coverage,
|
|
146
|
+
* the aggregate safety counters, and `opencodeVersionsObserved` — when its
|
|
147
|
+
* `opencodeVersion` is in `supportedOpencodeVersions`. Off-version observations
|
|
148
|
+
* are excluded from *all* derivation (not just the count gates) so this
|
|
149
|
+
* certificate carries one crisp invariant: everything it summarizes happened on
|
|
150
|
+
* a supported version. Excluded observations are **not** discarded from the raw
|
|
151
|
+
* ledger — they remain chain-valid on disk and are only filtered here, at
|
|
152
|
+
* derivation time, so evidence gathered before a policy change re-derives
|
|
153
|
+
* without re-running the clock. Their count surfaces as `ineligibleObservations`.
|
|
154
|
+
*
|
|
155
|
+
* Pure and deterministic: a function of `chains` and `supportedOpencodeVersions`
|
|
156
|
+
* only. No I/O, clock, or randomness.
|
|
157
|
+
*/
|
|
158
|
+
export declare function deriveSoakEvidence(chains: readonly (readonly SoakObservation[])[], supportedOpencodeVersions: readonly string[]): SoakEvidence;
|
|
136
159
|
/**
|
|
137
160
|
* Digest canónico del contenido del ledger completo. Se calcula sobre las
|
|
138
161
|
* cadenas válidas en orden de cadena (sorted por primer seq-0 chainDigest),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"soakLedger.d.ts","sourceRoot":"","sources":["../../src/graph/soakLedger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB;oEACoE;AACpE,eAAO,MAAM,kBAAkB;;;;EAAuC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,QAAA,MAAM,iBAAiB;;;kBAKZ,CAAC;AAEZ;;;;GAIG;AACH,QAAA,MAAM,yBAAyB;;;kBAKpB,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,QAAA,MAAM,2BAA2B;;;;kBAMtB,CAAC;AAEZ,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,oDAAoD;AACpD,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEhF,yDAAyD;AACzD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,2BAA2B,CACnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuBvB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD,CAAC;AAsBF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,SAAS,eAAe,EAAE,GACvC,qBAAqB,CAkCvB;AAMD,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1E,qFAAqF;IACrF,QAAQ,CAAC,gBAAgB,EAAE;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI,CAAC;IACT,sFAAsF;IACtF,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC;IAC5C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,CAAC,SAAS,eAAe,EAAE,CAAC,EAAE,GAC9C;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAcxD;AAED
|
|
1
|
+
{"version":3,"file":"soakLedger.d.ts","sourceRoot":"","sources":["../../src/graph/soakLedger.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,15 +16,20 @@ export declare function logTelemetryError(error: unknown): void;
|
|
|
16
16
|
* endpoint always reflects the currently running binary — so after an upgrade
|
|
17
17
|
* the gate sees the new version immediately.
|
|
18
18
|
*
|
|
19
|
-
* Returns `"unknown"` if the call fails or the response is unexpected
|
|
20
|
-
* fail-closed
|
|
21
|
-
*
|
|
19
|
+
* Returns `"unknown"` if the call fails or the response is unexpected. This is
|
|
20
|
+
* fail-closed for the **shadow and release** certificates: their recomputing
|
|
21
|
+
* parsers receive this live version and compare it to the value stamped in the
|
|
22
|
+
* certificate, so `"unknown"` (or any mismatch) yields `opencode-mismatch` and
|
|
23
|
+
* closes the cutover gate. The **soak** certificate is intentionally not
|
|
24
|
+
* compared to this live value (see the `parseSoakCertificate` call site); its
|
|
25
|
+
* version guarantee comes from the eligibility filter applied to the recorded
|
|
26
|
+
* evidence at build time, not from a live cross-check here.
|
|
22
27
|
*/
|
|
23
28
|
/**
|
|
24
29
|
* Branded type for a version string obtained from a live opencode server.
|
|
25
30
|
*
|
|
26
31
|
* The brand prevents a compile-time constant (e.g.
|
|
27
|
-
* `DEFAULT_SOAK_POLICY.
|
|
32
|
+
* `DEFAULT_SOAK_POLICY.supportedOpencodeVersions`) from being silently
|
|
28
33
|
* substituted where a live-read version is expected — `buildGateInput`
|
|
29
34
|
* requires the brand, so a plain `string` fails `tsc --noEmit`. Only
|
|
30
35
|
* `readOpencodeVersion` produces this type in production code. Tests may
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAenD,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAqB9B,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGtD;AA0CD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAenD,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,sBAAsB,CAAC;AAqB9B,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAGtD;AA0CD;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG;IACzC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,mBAAmB,CAAC,CAqB9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,mBAAmB,GACnC,OAAO,CAAC,cAAc,CAAC,CAyEzB;AAED,uEAAuE;AACvE,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,aAAa,CAmBf;AAoED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,eAAwD,GAChE,SAAS,CAYX;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOrD;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,MAA6B,EAC1C,OAAO,GAAE,eAAwD,GAChE,OAAO,CA4CT;AAED,eAAO,MAAM,MAAM,EAAE,MA8KpB,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,YAGb,CAAC;eAEa,MAAM"}
|