quota-axi 0.1.39 → 0.1.41
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.md +27 -17
- package/dist/src/cache.d.ts +7 -0
- package/dist/src/cache.js +45 -12
- package/dist/src/cache.js.map +1 -1
- package/dist/src/interpretation.js +62 -4
- package/dist/src/interpretation.js.map +1 -1
- package/dist/src/providers/kimi-cache-context.d.ts +7 -0
- package/dist/src/providers/kimi-cache-context.js +30 -0
- package/dist/src/providers/kimi-cache-context.js.map +1 -0
- package/dist/src/providers/kimi-code-cli-credential.d.ts +49 -6
- package/dist/src/providers/kimi-code-cli-credential.js +103 -11
- package/dist/src/providers/kimi-code-cli-credential.js.map +1 -1
- package/dist/src/providers/kimi-code-config.d.ts +60 -0
- package/dist/src/providers/kimi-code-config.js +430 -0
- package/dist/src/providers/kimi-code-config.js.map +1 -0
- package/dist/src/providers/kimi.d.ts +1 -1
- package/dist/src/providers/kimi.js +167 -29
- package/dist/src/providers/kimi.js.map +1 -1
- package/dist/src/render.js +14 -2
- package/dist/src/render.js.map +1 -1
- package/dist/src/types.d.ts +24 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -364,7 +364,8 @@ A `quota[]` row whose `runway` is `projected_exhaustion` or `exhausted_now` has
|
|
|
364
364
|
| `no_quota` | `all` | The provider reported no measurable scope. Emitted when nothing else names it or when needed to preserve `state.authStatus`. |
|
|
365
365
|
| `unresolved_windows` | `all` | `quotaSemantics.unresolvedWindowIds`: unfamiliar vendor windows not folded into any bound. |
|
|
366
366
|
| `untrusted_windows` | `all` | `state.untrustedWindowIds`: limits that could not be parsed authoritatively. |
|
|
367
|
-
| `headroom_unknown` | scope | The scope reports no effective percentage. `detail` names the windows that block it and any finite runway verdict with its limiting window.
|
|
367
|
+
| `headroom_unknown` | scope | The scope reports no effective percentage for a reason other than a bound conflict. `detail` names the windows that block it and any finite runway verdict with its limiting window. |
|
|
368
|
+
| `bound_conflict` | scope | A window the scope only inherits reads zero while the scope's own windows still report allowance. `detail` names both sides. The scope gets no `quota[]` row and no `exhaustion[]` row. |
|
|
368
369
|
| `unmeasurable` | scope | Headroom is known but a bound blocks `runway`, `spendPriority`, or both. `detail` names which. |
|
|
369
370
|
| `degraded_source` | `all` | A credential source was superseded: it was broken or unreadable while a sibling source answered. `detail` is `<source> · <error>`. One row per source, only on a fresh reading. |
|
|
370
371
|
|
|
@@ -391,7 +392,7 @@ An unknown or stale scope deliberately gets **no** `quota[]` row: the absence of
|
|
|
391
392
|
| `effectiveAvailability[].pace.behindWindowIds`, `onPaceWindowIds` |
|
|
392
393
|
| Account identity (`account`) and per-source `attempts` |
|
|
393
394
|
|
|
394
|
-
Everything a consumer branches on stays in the default tier: `state.status`, `stale`, `authStatus`, `error`, `reason`, `remedyCommand`, `retryAfter`, `untrustedWindowIds`, and `degradedSources`; window `pace.status`, `reason`, `reservePercentPoints`, `burnMultiple`; `quotaSemantics.status` and `unresolvedWindowIds`; and every scope's `effectivePercentRemaining`, `boundedBy`, `limitingWindowIds`, `runway`, `selection`, and pace `aheadWindowIds` / `unknownWindowIds` / `worstReservePercentPoints`. `credits` also stays, so a consumer can avoid misreading it as exhaustion.
|
|
395
|
+
Everything a consumer branches on stays in the default tier: `state.status`, `stale`, `authStatus`, `error`, `reason`, `remedyCommand`, `retryAfter`, `untrustedWindowIds`, and `degradedSources`; window `pace.status`, `reason`, `reservePercentPoints`, `burnMultiple`; `quotaSemantics.status` and `unresolvedWindowIds`; and every scope's `effectivePercentRemaining`, `boundedBy`, `limitingWindowIds`, `boundConflict`, `runway`, `selection`, and pace `aheadWindowIds` / `unknownWindowIds` / `worstReservePercentPoints`. `credits` also stays, so a consumer can avoid misreading it as exhaustion.
|
|
395
396
|
|
|
396
397
|
`--tui` renders from the complete in-memory model, so demotion never changes what the human report draws.
|
|
397
398
|
|
|
@@ -443,6 +444,10 @@ Do not interpret a model window's percentage in isolation. `quotaSemantics.effec
|
|
|
443
444
|
|
|
444
445
|
A model-specific `scope` names the model window or the shared model prefix when multiple period windows describe one Codex model.
|
|
445
446
|
|
|
447
|
+
An inherited bound is only ever as good as the evidence that the vendor enforces it. When a scope's own windows all still report allowance while a window the scope merely inherits from a broader scope reports zero remaining, the two readings contradict each other, and quota-axi publishes that contradiction as `effectiveAvailability[].boundConflict` instead of resolving it. The scope's `status` stays `unknown` with no `effectivePercentRemaining`, and its `runway` and `selection` are `unknown` with both sides of the conflict named in `unmeasurableWindowIds`. This is a disclosure of uncertainty, not a claim that the scope is available - and it is deliberately not the opposite assertion either, because one live call proves the inherited bound was not enforced at that moment, not that it never binds. A zero on one of the scope's **own** windows is not a conflict: that is the scope's own meter reporting exhaustion, and it stands as `exhausted_now`.
|
|
448
|
+
|
|
449
|
+
Codex is the provider this applies to today. The vendor reports a named model limit under `additional_rate_limits` / `rateLimitsByLimitId` - a separately metered budget alongside the base limit - and a base window at zero has been observed alongside that model's own windows visibly drawing down under successful calls. Claude, Grok, and Alibaba model scopes keep their established account bounds unchanged.
|
|
450
|
+
|
|
446
451
|
`quotaSemantics.status` is `known` only when quota-axi understands the relationships needed for the reported scopes. A non-definitive availability entry omits `effectivePercentRemaining`. Unfamiliar vendor windows produce `partial` or `unknown` semantics and are named in `unresolvedWindowIds`; an empty provider report is `unknown` without inventing an unresolved window.
|
|
447
452
|
|
|
448
453
|
Cursor's IDE windows (`included_usage`, `auto_usage`, `api_usage`, and optional `spend_limit`) all draw on the same plan billing cycle, so quota-axi treats them as jointly bounding and reports an `all_models` effective remaining equal to the lowest of them. That is the conservative reading: it never overstates headroom. Grok Bot weekly usage is a separate Cursor-account meter reported as its own `grok_bot` scope, so it never lowers IDE headroom and IDE windows never mask Grok Bot exhaustion. An unfamiliar Cursor window is not folded into either bound and does not create a bound of its own - it stays named in `unresolvedWindowIds` and turns the provider's semantics `partial` while the recognized-window bounds remain. GitHub Copilot's window relationships are still unknown, so it reports no effective remaining.
|
|
@@ -498,12 +503,12 @@ Each `effectiveAvailability` entry also carries a compact `pace` summary over **
|
|
|
498
503
|
|
|
499
504
|
`effectiveAvailability[].runway` is an optional, additive field derived from every authoritative `boundedBy` window using the report's single `generatedAt` clock. It is completion-risk evidence, not a score or recommendation.
|
|
500
505
|
|
|
501
|
-
| `runway.status` | Meaning
|
|
502
|
-
| ---------------------- |
|
|
503
|
-
| `exhausted_now` | A bounding window reports zero remaining now. `usableRunwaySeconds` is `0`; `limitingWindowId` names that bound.
|
|
504
|
-
| `projected_exhaustion` | Every bound is measurable and one or more cycle-average projections exhaust before their own resets. The earliest one supplies `usableRunwaySeconds`, `projectedExhaustedAt`, `limitingWindowId`, and `projectionConfidence`.
|
|
505
|
-
| `through_reset` | Every measurable bound reaches its own current-cycle reset before projected exhaustion. There is deliberately no synthetic finite deadline or combined reset timestamp.
|
|
506
|
-
| `unknown` | A stale, missing, malformed, or otherwise unmeasurable authoritative bound prevents a sound aggregate conclusion. `unmeasurableWindowIds` names the blockers.
|
|
506
|
+
| `runway.status` | Meaning |
|
|
507
|
+
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
508
|
+
| `exhausted_now` | A bounding window reports zero remaining now. `usableRunwaySeconds` is `0`; `limitingWindowId` names that bound. Not reported when that zero is only an inherited bound the scope's own live windows contradict - see [`boundConflict`](#quota-windows). |
|
|
509
|
+
| `projected_exhaustion` | Every bound is measurable and one or more cycle-average projections exhaust before their own resets. The earliest one supplies `usableRunwaySeconds`, `projectedExhaustedAt`, `limitingWindowId`, and `projectionConfidence`. |
|
|
510
|
+
| `through_reset` | Every measurable bound reaches its own current-cycle reset before projected exhaustion. There is deliberately no synthetic finite deadline or combined reset timestamp. |
|
|
511
|
+
| `unknown` | A stale, missing, malformed, or otherwise unmeasurable authoritative bound prevents a sound aggregate conclusion, as does a disclosed [`boundConflict`](#quota-windows). `unmeasurableWindowIds` names the blockers. |
|
|
507
512
|
|
|
508
513
|
In default TOON the finite-runway detail moves to `exhaustion[]`; `runway` and `projectionConfidence` stay as the `runway` and `confidence` columns of the scope's `quota[]` row, and `unmeasurableWindowIds` becomes an `attention[]` row naming the blocked signals.
|
|
509
514
|
|
|
@@ -517,11 +522,11 @@ A bounding window with no `resetsAt` at all has not been triggered yet (e.g. a C
|
|
|
517
522
|
|
|
518
523
|
In default TOON the scalar is the `spendPriority` column of the scope's `quota[]` row - there is no separate `selection[]` block, at any tier, because the column already carries it. An unmeasurable scalar renders the literal `unknown`, never `0`: `0` is exact utilization, a completely different claim.
|
|
519
524
|
|
|
520
|
-
| Field | Meaning
|
|
521
|
-
| ----------------------- |
|
|
522
|
-
| `status` | `known` when every bounding window is measurable; otherwise `unknown`
|
|
523
|
-
| `spendPriority` | The clamped scope scalar. Present only when `status` is `known`
|
|
524
|
-
| `unmeasurableWindowIds` |
|
|
525
|
+
| Field | Meaning |
|
|
526
|
+
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
527
|
+
| `status` | `known` when every bounding window is measurable and no [`boundConflict`](#quota-windows) is disclosed; otherwise `unknown` |
|
|
528
|
+
| `spendPriority` | The clamped scope scalar. Present only when `status` is `known` |
|
|
529
|
+
| `unmeasurableWindowIds` | The bounding windows that blocked the scalar. Present whenever one made the scope `unknown` |
|
|
525
530
|
|
|
526
531
|
For each bounding window `w` of the scope:
|
|
527
532
|
|
|
@@ -619,7 +624,7 @@ Auth source entries can include `credentialPresent` when a source is not genuine
|
|
|
619
624
|
| Cursor | Cursor editor: `$CURSOR_STATE_DB` when set or the platform Cursor state database path. Cursor CLI (`cursor-agent`), macOS: identity from `$CURSOR_CLI_CONFIG` or `~/.cursor/cli-config.json` plus the `cursor-access-token` / `cursor-user` Keychain value with `--allow-keychain-prompt` or an account-scoped marker; Linux: only `accessToken` from `$CURSOR_CLI_CONFIG` or `${XDG_CONFIG_HOME:-~/.config}/cursor/auth.json` |
|
|
620
625
|
| GitHub Copilot | `$GITHUB_COPILOT_APPS_JSON` when set or the local Copilot apps auth file |
|
|
621
626
|
| Grok | Grok CLI session auth from `$GROK_AUTH_JSON`, inline `$GROK_AUTH`, `$GROK_AUTH_PATH`, or `$GROK_HOME/auth.json` / `~/.grok/auth.json`, plus Pi's independent `$PI_CODING_AGENT_DIR/auth.json` `xai` entry (default `~/.pi/agent/auth.json`) for OAuth or literal API-key model auth |
|
|
622
|
-
| Kimi | Pi's `$PI_CODING_AGENT_DIR/auth.json` (default `~/.pi/agent/auth.json`) for a literal `kimi-coding` API key or OAuth access token first, then an official Kimi Code CLI access token from `$KIMI_CODE_HOME/
|
|
627
|
+
| Kimi | Pi's `$PI_CODING_AGENT_DIR/auth.json` (default `~/.pi/agent/auth.json`) for a literal `kimi-coding` API key or OAuth access token first, then an official Kimi Code CLI access token from the slot `$KIMI_CODE_HOME/config.toml` names (default `$HOME/.kimi-code/`), falling back to `credentials/kimi-code.json` when it names none. A stored-expired token in either store is still probed rather than skipped |
|
|
623
628
|
| Z.AI | opencode's `auth.json` (`$XDG_DATA_HOME/opencode/auth.json` when set, otherwise `~/.local/share/opencode/auth.json`) for a literal Coding Plan API key under `zai-coding-plan`, `zai`, `z-ai`, `z.ai`, `zhipu`, or `zhipuai` |
|
|
624
629
|
| Antigravity | No credential files; discovers already-running Antigravity or `agy` processes and reads only their 127.0.0.1 read-only loopback endpoints |
|
|
625
630
|
| Alibaba | The local `bl` CLI (`bl usage token-plan --output json`); quota-axi never reads Alibaba credential files or exchanges refresh data |
|
|
@@ -691,11 +696,15 @@ Auth source entries can include `credentialPresent` when a source is not genuine
|
|
|
691
696
|
**Kimi**
|
|
692
697
|
|
|
693
698
|
- It opens Pi's `$PI_CODING_AGENT_DIR/auth.json` (default `~/.pi/agent/auth.json`) read-only with a strict 64 KiB cap and guaranteed descriptor cleanup. It accepts only the exact `kimi-coding` entry, either `type: "api_key"` with a nonempty, control-byte-free literal string `key`, or `type: "oauth"` with such an `access` token and an optional numeric `expires`. A stored-expired OAuth token remains eligible for the bounded read-only liveness probe in Pi's first declared source position; only the endpoint's rejection marks one dead. A missing file or `kimi-coding` entry is `missing`; malformed or oversized stores, invalid entry shapes, and unsafe environment, template, or command references are `invalid`; unknown credential types are `unsupported`; and expired OAuth is `expired` with refresh-path presence preserved. None of these states resolves references, exposes values, or mutates Pi auth state.
|
|
694
|
-
- If the Pi source cannot answer, it reads the official Kimi Code CLI credential
|
|
699
|
+
- If the Pi source cannot answer, it reads the official Kimi Code CLI credential from the environment `$KIMI_CODE_HOME/config.toml` describes, defaulting to `$HOME/.kimi-code/`. Kimi Code keeps one credential per environment and records which one is current, so quota-axi reads `[providers."managed:kimi-code".oauth]` for that pointer rather than scanning or guessing: it takes only `storage`, `key`, and `oauth_host` from that table and `base_url` from its parent (accepting either the snake_case or the camelCase spelling of the two URL keys), applies Kimi Code's own key-to-file-name rule plus its containment check, and opens `credentials/<name>.json`. It accepts only a non-empty `access_token` with a Unix-seconds `expires_at` (a JSON number or numeric string). A token within 60 seconds of expiry is classified `expired` but is still tested by the bounded read-only probe in the CLI source's declared position; only the endpoint decides the verdict.
|
|
700
|
+
- When `config.toml` names no OAuth reference, quota-axi assumes only what Kimi Code itself guarantees: the unsuffixed slot `credentials/kimi-code.json` on `https://api.kimi.com/coding/v1`, the pair a mainland-China login persists, so that reading is unchanged. A file that is absent, unopenable, past the 256 KiB cap, or unparseable before its reference is reached names no reference either, and those states deliberately share the one verdict because they share their evidence - in each, quota-axi does not know what the file says. Should such a file still have recorded a non-default `base_url`, the default slot cannot pair with it, so the result is `kimi_code_cli_region_unrecognized` and no request is sent. A suffixed slot is never given an assumed deployment: with no endpoint left to place it, it is `kimi_code_cli_config_invalid`.
|
|
701
|
+
- Those two states are not equally confident, and only the confident one produces a reading. No `config.toml` at all means the only slot Kimi Code could have written is the default one, so an absent file keeps the full default reading. A file that exists and could not be walked to its reference may name any slot, so quota-axi opens none: it reports `kimi_code_cli_credential_unconfirmed`, sends no request, and hands over to the Pi source. Nothing at a slot nobody named is read either way - not its emptiness or expiry as a sign-out, and not its contents as the current account's quota, which is what a credential left behind by a deployment the user has since left would otherwise be reported as.
|
|
702
|
+
- A credential quota-axi cannot reach is never reported as one the user does not have: a `keyring` slot is `kimi_code_cli_credential_storage_unsupported`, endpoints that are not one of Kimi Code's own deployments are `kimi_code_cli_region_unrecognized`, and configuration naming an unusable slot, or a suffixed slot with no deployment left to place it, is `kimi_code_cli_config_invalid`.
|
|
695
703
|
- The Pi source always has priority. Ambient API-key environment variables are not a credential source. The CLI source is consulted whenever Pi cannot answer - no supported credential, an unreadable store, or a Pi credential the provider definitively rejected - so a broken Pi entry does not hide a working Kimi Code CLI session. Transport, decoding, timeout, cancellation, and server failures do not trigger credential switching.
|
|
696
|
-
- It sends one redirect-disabled `GET` to
|
|
697
|
-
- It never uses `refresh_token`, accepts
|
|
704
|
+
- It sends one redirect-disabled `GET` to `<base URL>/usages` with a 15 second total deadline and a 262,144-byte decoded-body cap. That deadline also bounds how long quota-axi waits for the one reading of `config.toml` taken before the request, so a configuration file that never answers cannot outlast the operation; a run that cannot read it in time reports through the Pi source with no Kimi Code cache identity to reuse or stamp. The base URL travels with the credential: a Kimi Code CLI token is sent only to the deployment its own environment names, and a Pi-brokered credential, which records no deployment, keeps `https://api.kimi.com/coding/v1`. A configured environment is accepted only when the endpoints it records - its OAuth host, its base URL, or whichever of the two it names - identify one of Kimi Code's two published deployments (`.com` mainland China, `.ai` global). Slot and deployment must then agree in both directions, because Kimi Code derives the unsuffixed `kimi-code` slot for the default deployment and a suffixed slot for every other: neither may appear with the other's counterpart. Configuration therefore cannot redirect the bearer to an arbitrary origin or pair one deployment's token with another's host, and an unrecognized environment sends no request at all.
|
|
705
|
+
- It never uses `refresh_token`, accepts an arbitrary Kimi origin, launches Pi or Kimi, makes a model request, refreshes or writes credentials, creates a device ID, imports cookies, sends device identity, retains raw responses, or exposes account, plan, token, or fingerprint data. Kimi has no delegated refresh: no non-interactive Pi or Kimi Code CLI command was established as renewing either store, so an expired record stays read-only with honest advice.
|
|
698
706
|
- Definitive credential absence or rejection retires Kimi cache data, but only when it is the verdict that speaks for the provider: a sibling source that failed transiently outranks it, so the cache survives. Transient fallback drops reset-expired windows and applies five-hour or seven-day age bounds to windows without resets.
|
|
707
|
+
- Because a reading can come from either Kimi Code deployment, or from a Pi credential that names neither, Kimi snapshots are cache-scoped like Claude's: each carries an opaque SHA-256 identifier for what produced it, and stale fallback reuses a snapshot only when the source whose failure is being reported asks for the identity it would have read under. A Kimi Code CLI reading is identified by the environment it was taken in; a Pi-brokered reading, which records no deployment and always asks `https://api.kimi.com/coding/v1`, is identified by that source and endpoint, so its numbers are never served back as a Kimi Code deployment's stale reading. An environment quota-axi assumed rather than established is its own identity, distinct from the confirmed environment naming the same slot and host, so an unreadable or unparseable `config.toml` reuses no snapshot at all: a mainland reading is never served to a global login that fell back to the default slot. That state withholds the cached numbers without retiring them, so the environment that produced them keeps them. Legacy context-less Kimi records are not reused. The environment identifier is derived from the resolved slot and base URL, never from `config.toml`'s bytes, so no credential in that file contributes to it and an edit that selects the same environment keeps the cache usable. It also comes from the one reading of `config.toml` a run takes before it requests anything, never from a second reading taken afterwards, so a login that switches deployments mid-run cannot file one deployment's numbers under the other's identity. Both identifiers discriminate configuration, source, and endpoint rather than accounts, so neither distinguishes two Pi credentials.
|
|
699
708
|
|
|
700
709
|
**Z.AI**
|
|
701
710
|
|
|
@@ -779,6 +788,7 @@ Providers with no established non-interactive rotation command stay read-only on
|
|
|
779
788
|
| Claude cache fallback | Follows the [Claude provider rules](#provider-notes), including the denied-Keychain exception. Eligible fallback uses a formerly fresh snapshot from the same selected Claude configuration context, with a seven-day provider bound plus reset and resetless-window pruning. Its cache-only SHA-256 context identifier is opaque; legacy context-less Claude records are not reused. |
|
|
780
789
|
| Codex cache identities | Cached Codex windows are accepted only when ID, label, kind, duration, and duplicate suffix order agree; stale snapshots with mismatched identities are rejected. |
|
|
781
790
|
| Grok cache provenance | Only snapshots produced by the current `web` consumer operation can be used as Grok stale fallback; legacy `api` billing-proxy snapshots are rejected. |
|
|
791
|
+
| Kimi cache provenance | Follows the [Kimi provider rules](#provider-notes): a snapshot is reused only when its opaque SHA-256 identifier still matches the source that produced it - the selected Kimi Code environment, or the Pi source and its default endpoint - and legacy context-less Kimi records are not reused. |
|
|
782
792
|
|
|
783
793
|
## Development
|
|
784
794
|
|
package/dist/src/cache.d.ts
CHANGED
|
@@ -5,5 +5,12 @@ export declare function readCachedProvider(provider: ProviderId): ProviderQuota
|
|
|
5
5
|
* captured for the same locally selected credential context.
|
|
6
6
|
*/
|
|
7
7
|
export declare function readCachedClaudeProvider(contextId: string): ProviderQuota | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Kimi stale quota may only be reused when the cache record proves it was
|
|
10
|
+
* captured from the same source and endpoint the caller is asking about, so one
|
|
11
|
+
* deployment's numbers can never stand in for the other's and a Pi reading of
|
|
12
|
+
* the default endpoint can never stand in for either.
|
|
13
|
+
*/
|
|
14
|
+
export declare function readCachedKimiProvider(contextId: string): ProviderQuota | undefined;
|
|
8
15
|
export declare function writeCachedProviders(providers: ProviderQuota[]): void;
|
|
9
16
|
export declare function deleteCachedProvider(provider: ProviderId): void;
|
package/dist/src/cache.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { chmodSync, renameSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { cacheFilePath, claudeCredentialContextId, ensurePrivateParent, readJsonFile, } from "./lib/fs.js";
|
|
3
|
+
import { kimiReadingContextId } from "./providers/kimi-cache-context.js";
|
|
3
4
|
import { PROVIDER_IDS } from "./types.js";
|
|
4
5
|
const PROVIDER_SOURCES = [
|
|
5
6
|
"oauth",
|
|
@@ -28,7 +29,28 @@ const WINDOW_KINDS = [
|
|
|
28
29
|
"unknown",
|
|
29
30
|
];
|
|
30
31
|
const CACHE_SCHEMA_VERSION = 2;
|
|
31
|
-
const
|
|
32
|
+
const CREDENTIAL_CONTEXT_ID = /^[a-f0-9]{64}$/;
|
|
33
|
+
/**
|
|
34
|
+
* Providers whose local configuration decides which account a reading belongs
|
|
35
|
+
* to: a Claude profile selects the credential store, and a Kimi Code
|
|
36
|
+
* `config.toml` selects the deployment. A snapshot from one such context says
|
|
37
|
+
* nothing about another, so each is stamped on write and required to match on
|
|
38
|
+
* stale reuse.
|
|
39
|
+
*
|
|
40
|
+
* How that stamp is obtained is not the same question for both. A Claude
|
|
41
|
+
* profile is fixed by this process's own environment, so deriving it here reads
|
|
42
|
+
* the same selection the reading used. Kimi's is not derivable here at all.
|
|
43
|
+
* Kimi Code rewrites `config.toml` on login, so a read taken after the quota
|
|
44
|
+
* request has returned can describe a deployment the numbers never came from;
|
|
45
|
+
* and a Kimi reading need not come from that configuration in the first place,
|
|
46
|
+
* because Pi brokers a credential for the default endpoint while naming no
|
|
47
|
+
* deployment. Kimi therefore reports the identity of whatever actually produced
|
|
48
|
+
* its reading.
|
|
49
|
+
*/
|
|
50
|
+
const CONTEXT_SCOPED_PROVIDERS = {
|
|
51
|
+
claude: claudeCredentialContextId,
|
|
52
|
+
kimi: kimiReadingContextId,
|
|
53
|
+
};
|
|
32
54
|
export function readCachedProvider(provider) {
|
|
33
55
|
return readCacheProviders().find((item) => item.snapshot.provider === provider)?.snapshot;
|
|
34
56
|
}
|
|
@@ -37,10 +59,22 @@ export function readCachedProvider(provider) {
|
|
|
37
59
|
* captured for the same locally selected credential context.
|
|
38
60
|
*/
|
|
39
61
|
export function readCachedClaudeProvider(contextId) {
|
|
40
|
-
|
|
62
|
+
return readCachedProviderInContext("claude", contextId);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Kimi stale quota may only be reused when the cache record proves it was
|
|
66
|
+
* captured from the same source and endpoint the caller is asking about, so one
|
|
67
|
+
* deployment's numbers can never stand in for the other's and a Pi reading of
|
|
68
|
+
* the default endpoint can never stand in for either.
|
|
69
|
+
*/
|
|
70
|
+
export function readCachedKimiProvider(contextId) {
|
|
71
|
+
return readCachedProviderInContext("kimi", contextId);
|
|
72
|
+
}
|
|
73
|
+
function readCachedProviderInContext(provider, contextId) {
|
|
74
|
+
if (!CREDENTIAL_CONTEXT_ID.test(contextId))
|
|
41
75
|
return undefined;
|
|
42
|
-
return readCacheProviders().find((item) => item.snapshot.provider ===
|
|
43
|
-
item.
|
|
76
|
+
return readCacheProviders().find((item) => item.snapshot.provider === provider &&
|
|
77
|
+
item.credentialContextId === contextId)?.snapshot;
|
|
44
78
|
}
|
|
45
79
|
export function writeCachedProviders(providers) {
|
|
46
80
|
const clearProviders = new Set(providers
|
|
@@ -116,18 +150,17 @@ function toCacheProvider(provider) {
|
|
|
116
150
|
}, CACHE_SCHEMA_VERSION)?.snapshot;
|
|
117
151
|
if (!snapshot)
|
|
118
152
|
return undefined;
|
|
153
|
+
const contextId = CONTEXT_SCOPED_PROVIDERS[provider.provider]?.();
|
|
119
154
|
return {
|
|
120
155
|
snapshot,
|
|
121
|
-
...(
|
|
122
|
-
? { claudeCredentialContextId: claudeCredentialContextId() }
|
|
123
|
-
: {}),
|
|
156
|
+
...(contextId ? { credentialContextId: contextId } : {}),
|
|
124
157
|
};
|
|
125
158
|
}
|
|
126
159
|
function serializeCachedProvider(provider) {
|
|
127
160
|
return {
|
|
128
161
|
...provider.snapshot,
|
|
129
|
-
...(provider.
|
|
130
|
-
? { credentialContext: provider.
|
|
162
|
+
...(provider.credentialContextId
|
|
163
|
+
? { credentialContext: provider.credentialContextId }
|
|
131
164
|
: {}),
|
|
132
165
|
};
|
|
133
166
|
}
|
|
@@ -182,10 +215,10 @@ function normalizeCachedProvider(raw, schemaVersion) {
|
|
|
182
215
|
return {
|
|
183
216
|
snapshot,
|
|
184
217
|
...(schemaVersion === CACHE_SCHEMA_VERSION &&
|
|
185
|
-
snapshot.provider
|
|
218
|
+
snapshot.provider in CONTEXT_SCOPED_PROVIDERS &&
|
|
186
219
|
credentialContext &&
|
|
187
|
-
|
|
188
|
-
? {
|
|
220
|
+
CREDENTIAL_CONTEXT_ID.test(credentialContext)
|
|
221
|
+
? { credentialContextId: credentialContext }
|
|
189
222
|
: {}),
|
|
190
223
|
};
|
|
191
224
|
}
|
package/dist/src/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ function codexSemantics(windows, generatedAt) {
|
|
|
160
160
|
const recognized = new Set([...account, ...codeReview, ...modelWindows]);
|
|
161
161
|
const unresolved = windows.filter((window) => !recognized.has(window));
|
|
162
162
|
if (unresolved.length > 0) {
|
|
163
|
-
return partialSemantics(unresolved, "Codex base account windows bound every model
|
|
163
|
+
return partialSemantics(unresolved, "Codex base account windows are applied as a bound to every model scope, including scopes that have named model windows of their own, and a named model window is an additional, separately metered budget the vendor reports alongside the base limit. A base window at zero while that model's own windows all still report allowance is published as a bound conflict rather than as the model's exhaustion. Unfamiliar windows prevent a definitive effective percentage.");
|
|
164
164
|
}
|
|
165
165
|
const effectiveAvailability = [];
|
|
166
166
|
if (account.length > 0) {
|
|
@@ -170,9 +170,9 @@ function codexSemantics(windows, generatedAt) {
|
|
|
170
170
|
effectiveAvailability.push(availability("code_review", codeReview, generatedAt));
|
|
171
171
|
}
|
|
172
172
|
for (const [scope, modelWindows] of models) {
|
|
173
|
-
effectiveAvailability.push(availability(scope, [...account, ...modelWindows], generatedAt));
|
|
173
|
+
effectiveAvailability.push(availability(scope, [...account, ...modelWindows], generatedAt, modelWindows));
|
|
174
174
|
}
|
|
175
|
-
return knownSemantics(effectiveAvailability, "Codex base account windows bound every model
|
|
175
|
+
return knownSemantics(effectiveAvailability, "Codex base account windows are applied as a bound to every model scope, including scopes that have named model windows of their own, so that model's effective remaining percentage is the minimum across the named windows. A named model window is an additional, separately metered budget the vendor reports alongside the base limit, so a base window at zero while that model's own windows all still report allowance is a contradiction between the two readings and is published as a bound conflict rather than as the model's exhaustion. Code-review windows describe a separate workload and are not included in model availability.");
|
|
176
176
|
}
|
|
177
177
|
function grokSemantics(windows, generatedAt) {
|
|
178
178
|
const shared = windows.filter(({ id }) => id === "credits");
|
|
@@ -311,11 +311,69 @@ function unresolvedAvailability(scope, windows, unresolvedWindowIds) {
|
|
|
311
311
|
},
|
|
312
312
|
};
|
|
313
313
|
}
|
|
314
|
-
|
|
314
|
+
/**
|
|
315
|
+
* A scope's own meter contradicting a bound it only inherits: the inherited
|
|
316
|
+
* window reports zero remaining while every window metered for this scope alone
|
|
317
|
+
* still reports allowance. Publishing the inherited zero as this scope's
|
|
318
|
+
* effective remaining would assert an exhaustion the readings dispute, so the
|
|
319
|
+
* caller reports the conflict instead of a settled number.
|
|
320
|
+
*
|
|
321
|
+
* A zero on one of the scope's *own* windows is not a conflict: that is the
|
|
322
|
+
* scope's own meter reporting exhaustion, which stands.
|
|
323
|
+
*
|
|
324
|
+
* @param windows every window bounding the scope, own and inherited
|
|
325
|
+
* @param ownWindows the subset metered for this scope alone
|
|
326
|
+
* @returns the contradiction when one exists, otherwise `undefined`
|
|
327
|
+
*/
|
|
328
|
+
function boundConflict(windows, ownWindows) {
|
|
329
|
+
if (ownWindows.length === 0)
|
|
330
|
+
return undefined;
|
|
331
|
+
const live = ownWindows.every(({ percentRemaining }) => percentRemaining !== undefined && percentRemaining > 0);
|
|
332
|
+
if (!live)
|
|
333
|
+
return undefined;
|
|
334
|
+
const own = new Set(ownWindows);
|
|
335
|
+
const exhausted = windows.filter((window) => !own.has(window) && window.percentRemaining === 0);
|
|
336
|
+
if (exhausted.length === 0)
|
|
337
|
+
return undefined;
|
|
338
|
+
return {
|
|
339
|
+
exhaustedWindowIds: exhausted.map(({ id }) => id),
|
|
340
|
+
liveWindowIds: ownWindows.map(({ id }) => id),
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
function availability(scope, windows, generatedAt,
|
|
344
|
+
/**
|
|
345
|
+
* The subset of `windows` metered for this scope alone; the rest are bounds
|
|
346
|
+
* inherited from a broader scope. Pass it only for a provider where the
|
|
347
|
+
* inherited bound's enforcement over this scope is not established, so an
|
|
348
|
+
* inherited zero that the scope's own meter contradicts is reported as a
|
|
349
|
+
* conflict instead of as exhaustion.
|
|
350
|
+
*/
|
|
351
|
+
ownWindows) {
|
|
315
352
|
const boundedBy = windows.map(({ id }) => id);
|
|
316
353
|
const remaining = windows.map(({ percentRemaining }) => percentRemaining);
|
|
317
354
|
const pace = summarizeEffectivePace(windows);
|
|
318
355
|
const selection = summarizeEffectiveSelection(windows);
|
|
356
|
+
const conflict = ownWindows && boundConflict(windows, ownWindows);
|
|
357
|
+
if (conflict) {
|
|
358
|
+
// Both sides of the contradiction block the aggregate: the inherited zero
|
|
359
|
+
// is not established over this scope, and the live own windows cannot
|
|
360
|
+
// stand alone as the bound set either.
|
|
361
|
+
const unmeasurableWindowIds = [
|
|
362
|
+
...conflict.exhaustedWindowIds,
|
|
363
|
+
...conflict.liveWindowIds,
|
|
364
|
+
];
|
|
365
|
+
return {
|
|
366
|
+
scope,
|
|
367
|
+
status: "unknown",
|
|
368
|
+
boundedBy,
|
|
369
|
+
boundConflict: conflict,
|
|
370
|
+
// Per-window pace is each window's own draw-down and stays true; it is
|
|
371
|
+
// the very evidence that the own meter is live.
|
|
372
|
+
pace,
|
|
373
|
+
runway: { status: "unknown", unmeasurableWindowIds },
|
|
374
|
+
selection: { status: "unknown", unmeasurableWindowIds },
|
|
375
|
+
};
|
|
376
|
+
}
|
|
319
377
|
if (remaining.length === 0 ||
|
|
320
378
|
remaining.some((value) => value === undefined)) {
|
|
321
379
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretation.js","sourceRoot":"","sources":["../../src/interpretation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpretation.js","sourceRoot":"","sources":["../../src/interpretation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AASnB,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,WAAmB;IAEnB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,GAAG,MAAM;QACT,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE;YAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;SAC5B,CAAC;KACH,CAAC,CAAC,CAAC;IACJ,MAAM,WAAW,GAAG,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,OAAO;QACL,GAAG,WAAW;QACd,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAC5D,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;YAClC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,QAAuB;IAEvB,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,SAAyB;IAC/C,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC9D,WAAW,EACT,+HAA+H;QACjI,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,CAAC,GAAG,CACxD,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,MAAM,EAAE;gBACN,MAAM,EAAE,SAAkB;gBAC1B,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,SAAkB;gBAC1B,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE;YACD,GAAG,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,IAAI,EAAE;wBACJ,MAAM,EAAE,SAAkB;wBAC1B,GAAG,CAAC,IAAI,CAAC,gBAAgB;4BACvB,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;4BAC7C,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gCACpB,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE;gCACjC,CAAC,CAAC,EAAE,CAAC;qBACV;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBACpB,CAAC,CAAC;wBACE,IAAI,EAAE;4BACJ,MAAM,EAAE,SAAkB;4BAC1B,gBAAgB,EAAE,SAAS;yBAC5B;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;SACV,CAAC,CACH;QACD,GAAG,CAAC,SAAS,CAAC,mBAAmB;YAC/B,CAAC,CAAC,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,EAAE;YACxD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,QAAuB,EACvB,WAAmB;IAEnB,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxD,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvD,KAAK,MAAM;YACT,OAAO,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACtD,KAAK,MAAM;YACT,OAAO,aAAa,CAClB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,EACvC,WAAW,CACZ,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,YAAY,CACjB,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,EACvC,WAAW,CACZ,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACxD,KAAK,SAAS,CAAC;QACf,KAAK,KAAK;YACR,OAAO,gBAAgB,CACrB,QAAQ,CAAC,OAAO,EAChB,mCAAmC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,kHAAkH,CACzL,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,KAAK,aAAa;YAChB,OAAO,gBAAgB,CACrB,QAAQ,CAAC,OAAO,EAChB,6LAA6L,CAC9L,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAsB,EACtB,WAAmB;IAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxE,CAAC;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,qBAAqB,CAAC,IAAI,CACxB,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC;YAC9D,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC;QAC1C,qBAAqB,CAAC,IAAI,CACxB,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC;YAC3D,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAClD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,WAAW,EACT,+MAA+M;YACjN,qBAAqB;YACrB,mBAAmB,EAAE,aAAa;SACnC,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,wJAAwJ,CACzJ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAsB,EACtB,WAAmB;IAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACxC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACxC,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CACf,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,OAAO,CACnB,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,gBAAgB,CACrB,UAAU,EACV,iJAAiJ,CAClJ,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,mLAAmL,CACpL,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,OAAsB,EACtB,WAAmB;IAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACT,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACtC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACnC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CACvC,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,gBAAgB,CACrB,UAAU,EACV,8cAA8c,CAC/c,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;QAC3C,qBAAqB,CAAC,IAAI,CACxB,YAAY,CACV,KAAK,EACL,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,EAC7B,WAAW,EACX,YAAY,CACb,CACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,onBAAonB,CACrnB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAsB,EACtB,WAAmB;IAEnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAC3D,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,gBAAgB,CACrB,UAAU,EACV,4KAA4K,CAC7K,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAClD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,qBAAqB,CAAC,IAAI,CACxB,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,uLAAuL,CACxL,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAsB,EACtB,kBAA4B,EAC5B,WAAmB;IAEnB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,WAAW,CAClD,CAAC;IACF,MAAM,mBAAmB,GAAG;QAC1B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAC;KACvE,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,WAAW,CAClD,CAAC;QACF,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,WAAW,EACT,4JAA4J;YAC9J,qBAAqB,EACnB,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC;oBACE,sBAAsB,CACpB,YAAY,EACZ,UAAU,EACV,mBAAmB,CACpB;iBACF;gBACH,CAAC,CAAC,EAAE;YACR,mBAAmB;SACpB,CAAC;IACJ,CAAC;IACD,MAAM,qBAAqB,GACzB,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,cAAc,CACnB,qBAAqB,EACrB,wIAAwI,CACzI,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG;IAC5B,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AACF,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAE7C,SAAS,eAAe,CACtB,OAAsB,EACtB,WAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,yBAAyB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC/B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACT,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,yBAAyB,CAC1E,CAAC;IACF,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,WAAW,EACT,+RAA+R;YACjS,qBAAqB;YACrB,mBAAmB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,iNAAiN,CAClN,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,kBAA4B,EAC5B,WAAmB;IAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAC1B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,QAAQ,CAClD,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,mBAAmB,GAAG;QAC1B,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAC;KACvE,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,qBAAqB,GAA4B,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,qBAAqB,CAAC,IAAI,CACxB,sBAAsB,CAAC,YAAY,EAAE,KAAK,EAAE,mBAAmB,CAAC,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,qBAAqB,CAAC,IAAI,CACxB,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAC3D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,WAAW,EACT,2LAA2L;YAC7L,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,cAAc,CACnB,qBAAqB,EACrB,0LAA0L,CAC3L,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAC7B,KAAa,EACb,OAAsB,EACtB,mBAA6B;IAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,qBAAqB,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,mBAAmB,CAAC,CAAC;IACrE,OAAO;QACL,KAAK;QACL,MAAM,EAAE,SAAS;QACjB,SAAS;QACT,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;QACrC,MAAM,EAAE;YACN,MAAM,EAAE,SAAS;YACjB,qBAAqB;SACtB;QACD,mEAAmE;QACnE,mEAAmE;QACnE,iDAAiD;QACjD,SAAS,EAAE;YACT,MAAM,EAAE,SAAS;YACjB,qBAAqB;SACtB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,aAAa,CACpB,OAAsB,EACtB,UAAyB;IAEzB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAC3B,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACvB,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,CACzD,CAAC;IACF,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAC9D,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO;QACL,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACjD,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAa,EACb,OAAsB,EACtB,WAAmB;AACnB;;;;;;GAMG;AACH,UAA0B;IAE1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,IAAI,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,0EAA0E;QAC1E,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,qBAAqB,GAAG;YAC5B,GAAG,QAAQ,CAAC,kBAAkB;YAC9B,GAAG,QAAQ,CAAC,aAAa;SAC1B,CAAC;QACF,OAAO;YACL,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,aAAa,EAAE,QAAQ;YACvB,uEAAuE;YACvE,gDAAgD;YAChD,IAAI;YACJ,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE;YACpD,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE;SACxD,CAAC;IACJ,CAAC;IACD,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAC9C,CAAC;QACD,OAAO;YACL,KAAK;YACL,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,IAAI;YACJ,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC;YACpD,SAAS;SACV,CAAC;IACJ,CAAC;IACD,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAI,SAAsB,CAAC,CAAC;IACvE,OAAO;QACL,KAAK;QACL,MAAM,EAAE,OAAO;QACf,yBAAyB;QACzB,SAAS;QACT,iBAAiB,EAAE,OAAO;aACvB,MAAM,CACL,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACvB,gBAAgB,KAAK,yBAAyB,CACjD;aACA,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACtB,IAAI;QACJ,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC;QACpD,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,OAAO,CACL,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CACrB,qBAA8C,EAC9C,WAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC9D,WAAW,EACT,qBAAqB,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,uFAAuF;QAC7F,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAyB,EACzB,WAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,WAAW;QACX,qBAAqB,EAAE,EAAE;QACzB,mBAAmB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAsB,EACtB,WAAmB;IAEnB,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,WAAW,EACT,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,uFAAuF;QAC7F,qBAAqB,EAAE,EAAE;QACzB,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claims the identity a snapshot written from here on belongs to. Selecting a
|
|
3
|
+
* Kimi Code environment claims the identity a CLI reading would carry; a
|
|
4
|
+
* reading then claims the identity of the source that actually produced it.
|
|
5
|
+
*/
|
|
6
|
+
export declare function publishKimiReadingContextId(contextId: string): void;
|
|
7
|
+
export declare function kimiReadingContextId(): string | undefined;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cache identity the Kimi reading this process produced belongs to, or
|
|
3
|
+
* `undefined` when nothing has claimed one yet.
|
|
4
|
+
*
|
|
5
|
+
* The cache writer reads this rather than deriving an identity for itself, for
|
|
6
|
+
* two reasons. By the time a snapshot is written, the file that names the Kimi
|
|
7
|
+
* Code environment may describe a different one than the reading came from, so
|
|
8
|
+
* a read taken there could file one deployment's numbers under the other's
|
|
9
|
+
* identity. And the environment is not what every reading is scoped to at all:
|
|
10
|
+
* a Pi-brokered reading records no Kimi Code deployment and always contacts the
|
|
11
|
+
* default endpoint, so attributing it to whichever environment `config.toml`
|
|
12
|
+
* happens to select would let its numbers be served back as that deployment's
|
|
13
|
+
* stale reading.
|
|
14
|
+
*
|
|
15
|
+
* Publishing the identity of whatever actually produced the reading is the only
|
|
16
|
+
* stamp that cannot make either mistake.
|
|
17
|
+
*/
|
|
18
|
+
let readingContextId;
|
|
19
|
+
/**
|
|
20
|
+
* Claims the identity a snapshot written from here on belongs to. Selecting a
|
|
21
|
+
* Kimi Code environment claims the identity a CLI reading would carry; a
|
|
22
|
+
* reading then claims the identity of the source that actually produced it.
|
|
23
|
+
*/
|
|
24
|
+
export function publishKimiReadingContextId(contextId) {
|
|
25
|
+
readingContextId = contextId;
|
|
26
|
+
}
|
|
27
|
+
export function kimiReadingContextId() {
|
|
28
|
+
return readingContextId;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=kimi-cache-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kimi-cache-context.js","sourceRoot":"","sources":["../../../src/providers/kimi-cache-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,IAAI,gBAAoC,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,gBAAgB,GAAG,SAAS,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -1,21 +1,58 @@
|
|
|
1
|
+
import { type KimiCodeEnvironment } from "./kimi-code-config.js";
|
|
1
2
|
export declare const KIMI_CODE_CLI_CREDENTIAL_SOURCE = "kimi-code-cli";
|
|
2
|
-
export type KimiCodeCliCredentialResolution =
|
|
3
|
+
export type KimiCodeCliCredentialResolution =
|
|
4
|
+
/** The base URL travels with the token: it is the one this slot logged in against. */
|
|
5
|
+
{
|
|
3
6
|
status: "available";
|
|
4
7
|
accessToken: string;
|
|
8
|
+
baseUrl: string;
|
|
5
9
|
} | {
|
|
6
10
|
status: "expired";
|
|
7
11
|
/**
|
|
8
|
-
* The stored access token
|
|
9
|
-
* probe can test it despite the stored
|
|
10
|
-
* never log or render.
|
|
12
|
+
* The stored access token and the base URL it was issued for, present so
|
|
13
|
+
* a bounded read-only liveness probe can test it despite the stored
|
|
14
|
+
* expiry field. Probe use only; never log or render.
|
|
11
15
|
*/
|
|
12
16
|
accessToken?: string;
|
|
17
|
+
baseUrl?: string;
|
|
13
18
|
} | {
|
|
14
|
-
status: "missing"
|
|
19
|
+
status: "missing"
|
|
20
|
+
/** The configuration exists but never named the slot to read. */
|
|
21
|
+
| "environment_unconfirmed" | "invalid" | "error" | "unsupported_storage" | "unrecognized_region" | "invalid_config";
|
|
15
22
|
};
|
|
16
23
|
export type KimiCodeCliCredentialInspection = KimiCodeCliCredentialResolution["status"];
|
|
24
|
+
/**
|
|
25
|
+
* One reading of `config.toml`, shared by everything a single run derives from
|
|
26
|
+
* it: which slot to open, which host that slot's token is good for, and which
|
|
27
|
+
* cache identity the resulting numbers belong to.
|
|
28
|
+
*
|
|
29
|
+
* They travel together because a second read cannot be assumed to describe the
|
|
30
|
+
* same environment. Kimi Code rewrites this file on login, so re-deriving the
|
|
31
|
+
* cache identity after the quota request could observe the deployment the user
|
|
32
|
+
* just switched to and stamp the previous one's numbers with it.
|
|
33
|
+
*/
|
|
34
|
+
export type KimiCodeSelection = {
|
|
35
|
+
/** The Kimi Code home the environment was read from and is read against. */
|
|
36
|
+
codeHome: string;
|
|
37
|
+
environment: KimiCodeEnvironment;
|
|
38
|
+
/**
|
|
39
|
+
* Opaque, deterministic cache provenance for this environment, so a cached
|
|
40
|
+
* snapshot is only reused for the deployment and slot that produced it, and
|
|
41
|
+
* only by an environment this reader established rather than assumed.
|
|
42
|
+
*
|
|
43
|
+
* It hashes the resolved environment rather than the configuration text. The
|
|
44
|
+
* table this reader parses also holds Kimi Code's literal `api_key`, and a
|
|
45
|
+
* digest of those bytes would put a credential-derived value in the cache
|
|
46
|
+
* file and let a secret decide observable behaviour. Resolving first also
|
|
47
|
+
* keeps the identifier stable across edits that select the same environment,
|
|
48
|
+
* so changing an unrelated setting does not throw away usable stale quota.
|
|
49
|
+
*/
|
|
50
|
+
contextId: string;
|
|
51
|
+
};
|
|
17
52
|
export type KimiCodeCliCredentialSource = {
|
|
18
|
-
|
|
53
|
+
/** Reads `config.toml` once; every consumer of that run shares this answer. */
|
|
54
|
+
select(): Promise<KimiCodeSelection>;
|
|
55
|
+
resolve(selection: KimiCodeSelection): Promise<KimiCodeCliCredentialResolution>;
|
|
19
56
|
inspect(): Promise<KimiCodeCliCredentialInspection>;
|
|
20
57
|
};
|
|
21
58
|
type CredentialSourceDependencies = {
|
|
@@ -23,6 +60,12 @@ type CredentialSourceDependencies = {
|
|
|
23
60
|
homeDirectory: () => string;
|
|
24
61
|
now: () => number;
|
|
25
62
|
readFile: (path: string, maxBytes: number) => Promise<Buffer>;
|
|
63
|
+
/**
|
|
64
|
+
* Separate from `readFile` because the two reads mean different things: this
|
|
65
|
+
* one is non-secret configuration whose absence is normal, and a failure to
|
|
66
|
+
* read it is a configuration problem rather than a credential I/O error.
|
|
67
|
+
*/
|
|
68
|
+
readConfigFile: (path: string, maxBytes: number) => Promise<Buffer>;
|
|
26
69
|
};
|
|
27
70
|
export declare function createKimiCodeCliCredentialSource(overrides?: Partial<CredentialSourceDependencies>): KimiCodeCliCredentialSource;
|
|
28
71
|
export {};
|