@sunerpy/kiro-provider 3.1.3 → 3.1.4

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.
Files changed (3) hide show
  1. package/README.md +45 -38
  2. package/dist/cli.js +121 -120
  3. package/package.json +4 -1
package/README.md CHANGED
@@ -72,8 +72,8 @@ account does not advertise the private `systemPrompt` feature. The default
72
72
  `v3-auto` path instead uses KiroRuntime CreateResponse's native
73
73
  `instructions` field.
74
74
 
75
- `responses_fidelity_mode` defaults to `compatible` and reports known losses in
76
- `X-Kiro-Compatibility`; `strict` rejects those semantics before generation.
75
+ `responses_fidelity_mode` defaults to `compatible` and reports request projection
76
+ losses in `X-Kiro-Compatibility`; `strict` rejects those semantics before generation.
77
77
  `X-Kiro-Transport` distinguishes native, native-adapted, and stateless calls.
78
78
  Native tool bridges are enabled only for verified model/region cells. Instruction
79
79
  lifting stays experimental until its complete continuation gate passes. See the
@@ -82,6 +82,13 @@ for history, reasoning, instruction-priority boundaries, and storage migration.
82
82
  The [before/after report](docs/audits/kiro-provider-responses-before-after-2026-09-10.zh.md)
83
83
  includes real OpenAI SDK, Codex, and Zuno results.
84
84
 
85
+ Usage preserves measured cache/read/write and reasoning sub-counts. When Kiro only
86
+ provides a context percentage and credits, compatible mode labels estimates and
87
+ unknown fields in `usage.metadata.kiro`; strict mode omits incomplete usage.
88
+ Context accounting does not multiply GPT's capped legacy percentage by its corrected
89
+ prompt budget. See [usage and context accounting](docs/RESPONSES_USAGE.md), including
90
+ the distinction between AI SDK 7's cumulative `usage` and `finalStep.usage`.
91
+
85
92
  For the transport decision table, stored-response contract, data-retention
86
93
  boundary, verified model controls, and current client evidence, see
87
94
  [`docs/PROTOCOL_COMPATIBILITY.md`](docs/PROTOCOL_COMPATIBILITY.md) and the
@@ -487,42 +494,42 @@ with the stable base URL and gateway API key.
487
494
 
488
495
  Config is loaded from `~/.config/kiro-provider/config.json` (or `$XDG_CONFIG_HOME/kiro-provider/config.json`; on Windows `%APPDATA%\kiro-provider\config.json`, with the legacy `~/.config` location still read as a fallback), overridable by `KIRO_PROVIDER_*` environment variables and, for `serve`, by CLI flags. Unknown keys in the file are rejected with a suggestion, numeric fields are range-checked, and an empty environment variable counts as unset. Precedence is **CLI flag > environment variable > config file > schema default**.
489
496
 
490
- | Field | Default | Env var |
491
- | --- | --- | --- |
492
- | `host` | `127.0.0.1` | `KIRO_PROVIDER_HOST` |
493
- | `port` | `8787` | `KIRO_PROVIDER_PORT` |
494
- | `api_keys` | required, non-empty | `KIRO_PROVIDER_API_KEYS` |
495
- | `enable_legacy_chat_completions` | `false` | `KIRO_PROVIDER_ENABLE_LEGACY_CHAT_COMPLETIONS` |
496
- | `protocol_projection_mode` | `v3-auto` | `KIRO_PROVIDER_PROTOCOL_PROJECTION_MODE` |
497
- | `session_affinity_mode` | `explicit-only` | `KIRO_PROVIDER_SESSION_AFFINITY_MODE` |
498
- | `auth_source` | `local` | `KIRO_PROVIDER_AUTH_SOURCE` |
499
- | `opencode_auth_db_path` | `null` (deprecated since 0.7.0, ignored) | `KIRO_PROVIDER_OPENCODE_AUTH_DB_PATH` |
500
- | `proxy_url` | `null` | `KIRO_PROVIDER_PROXY_URL` |
501
- | `default_region` | `us-east-1` | `KIRO_PROVIDER_DEFAULT_REGION` |
502
- | `sdk_http_keep_alive` | `false` | `KIRO_PROVIDER_SDK_HTTP_KEEP_ALIVE` |
503
- | `enforce_single_instance` | `true` | `KIRO_PROVIDER_ENFORCE_SINGLE_INSTANCE` |
504
- | `instance_lock_path` | platform config directory | `KIRO_PROVIDER_INSTANCE_LOCK_PATH` |
505
- | `runtime_endpoint_mode` | `kiro-runtime` | `KIRO_PROVIDER_RUNTIME_ENDPOINT_MODE` |
506
- | `dynamic_model_catalog` | `true` | `KIRO_PROVIDER_DYNAMIC_MODEL_CATALOG` |
507
- | `model_catalog_ttl_ms` | `900000` | `KIRO_PROVIDER_MODEL_CATALOG_TTL_MS` |
508
- | `model_catalog_stale_ttl_ms` | `86400000` | `KIRO_PROVIDER_MODEL_CATALOG_STALE_TTL_MS` |
509
- | `model_catalog_request_timeout_ms` | `10000` | `KIRO_PROVIDER_MODEL_CATALOG_REQUEST_TIMEOUT_MS` |
510
- | `account_selection_strategy` | `lowest-usage` | `KIRO_PROVIDER_ACCOUNT_SELECTION_STRATEGY` |
511
- | `quota_recheck_interval_ms` | `900000` | `KIRO_PROVIDER_QUOTA_RECHECK_INTERVAL_MS` |
512
- | `quota_recheck_timeout_ms` | `10000` | `KIRO_PROVIDER_QUOTA_RECHECK_TIMEOUT_MS` |
513
- | `quota_recheck_concurrency` | `4` | `KIRO_PROVIDER_QUOTA_RECHECK_CONCURRENCY` |
514
- | `account_maintenance_enabled` | `true` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_ENABLED` |
515
- | `account_maintenance_interval_ms` | `60000` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_INTERVAL_MS` |
516
- | `account_maintenance_timeout_ms` | `120000` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_TIMEOUT_MS` |
517
- | `account_maintenance_concurrency` | `4` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_CONCURRENCY` |
518
- | `usage_refresh_interval_ms` | `900000` | `KIRO_PROVIDER_USAGE_REFRESH_INTERVAL_MS` |
519
- | `session_affinity_ttl_ms` | `86400000` | `KIRO_PROVIDER_SESSION_AFFINITY_TTL_MS` |
520
- | `session_affinity_max_entries` | `10000` | `KIRO_PROVIDER_SESSION_AFFINITY_MAX_ENTRIES` |
521
- | `reasoning_replay_key_path` | auto-generated config path | `KIRO_PROVIDER_REASONING_REPLAY_KEY_PATH` |
522
- | `reasoning_replay_keys` | `[]` | `KIRO_PROVIDER_REASONING_REPLAY_KEYS` |
523
- | `reasoning_replay_ttl_ms` | `86400000` | `KIRO_PROVIDER_REASONING_REPLAY_TTL_MS` |
524
- | `reasoning_replay_max_entries` | `10000` | `KIRO_PROVIDER_REASONING_REPLAY_MAX_ENTRIES` |
525
- | `log_level` | `info` | `KIRO_PROVIDER_LOG_LEVEL` |
497
+ | Field | Default | Env var |
498
+ | ---------------------------------- | ---------------------------------------- | ------------------------------------------------ |
499
+ | `host` | `127.0.0.1` | `KIRO_PROVIDER_HOST` |
500
+ | `port` | `8787` | `KIRO_PROVIDER_PORT` |
501
+ | `api_keys` | required, non-empty | `KIRO_PROVIDER_API_KEYS` |
502
+ | `enable_legacy_chat_completions` | `false` | `KIRO_PROVIDER_ENABLE_LEGACY_CHAT_COMPLETIONS` |
503
+ | `protocol_projection_mode` | `v3-auto` | `KIRO_PROVIDER_PROTOCOL_PROJECTION_MODE` |
504
+ | `session_affinity_mode` | `explicit-only` | `KIRO_PROVIDER_SESSION_AFFINITY_MODE` |
505
+ | `auth_source` | `local` | `KIRO_PROVIDER_AUTH_SOURCE` |
506
+ | `opencode_auth_db_path` | `null` (deprecated since 0.7.0, ignored) | `KIRO_PROVIDER_OPENCODE_AUTH_DB_PATH` |
507
+ | `proxy_url` | `null` | `KIRO_PROVIDER_PROXY_URL` |
508
+ | `default_region` | `us-east-1` | `KIRO_PROVIDER_DEFAULT_REGION` |
509
+ | `sdk_http_keep_alive` | `false` | `KIRO_PROVIDER_SDK_HTTP_KEEP_ALIVE` |
510
+ | `enforce_single_instance` | `true` | `KIRO_PROVIDER_ENFORCE_SINGLE_INSTANCE` |
511
+ | `instance_lock_path` | platform config directory | `KIRO_PROVIDER_INSTANCE_LOCK_PATH` |
512
+ | `runtime_endpoint_mode` | `kiro-runtime` | `KIRO_PROVIDER_RUNTIME_ENDPOINT_MODE` |
513
+ | `dynamic_model_catalog` | `true` | `KIRO_PROVIDER_DYNAMIC_MODEL_CATALOG` |
514
+ | `model_catalog_ttl_ms` | `900000` | `KIRO_PROVIDER_MODEL_CATALOG_TTL_MS` |
515
+ | `model_catalog_stale_ttl_ms` | `86400000` | `KIRO_PROVIDER_MODEL_CATALOG_STALE_TTL_MS` |
516
+ | `model_catalog_request_timeout_ms` | `10000` | `KIRO_PROVIDER_MODEL_CATALOG_REQUEST_TIMEOUT_MS` |
517
+ | `account_selection_strategy` | `lowest-usage` | `KIRO_PROVIDER_ACCOUNT_SELECTION_STRATEGY` |
518
+ | `quota_recheck_interval_ms` | `900000` | `KIRO_PROVIDER_QUOTA_RECHECK_INTERVAL_MS` |
519
+ | `quota_recheck_timeout_ms` | `10000` | `KIRO_PROVIDER_QUOTA_RECHECK_TIMEOUT_MS` |
520
+ | `quota_recheck_concurrency` | `4` | `KIRO_PROVIDER_QUOTA_RECHECK_CONCURRENCY` |
521
+ | `account_maintenance_enabled` | `true` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_ENABLED` |
522
+ | `account_maintenance_interval_ms` | `60000` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_INTERVAL_MS` |
523
+ | `account_maintenance_timeout_ms` | `120000` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_TIMEOUT_MS` |
524
+ | `account_maintenance_concurrency` | `4` | `KIRO_PROVIDER_ACCOUNT_MAINTENANCE_CONCURRENCY` |
525
+ | `usage_refresh_interval_ms` | `900000` | `KIRO_PROVIDER_USAGE_REFRESH_INTERVAL_MS` |
526
+ | `session_affinity_ttl_ms` | `86400000` | `KIRO_PROVIDER_SESSION_AFFINITY_TTL_MS` |
527
+ | `session_affinity_max_entries` | `10000` | `KIRO_PROVIDER_SESSION_AFFINITY_MAX_ENTRIES` |
528
+ | `reasoning_replay_key_path` | auto-generated config path | `KIRO_PROVIDER_REASONING_REPLAY_KEY_PATH` |
529
+ | `reasoning_replay_keys` | `[]` | `KIRO_PROVIDER_REASONING_REPLAY_KEYS` |
530
+ | `reasoning_replay_ttl_ms` | `86400000` | `KIRO_PROVIDER_REASONING_REPLAY_TTL_MS` |
531
+ | `reasoning_replay_max_entries` | `10000` | `KIRO_PROVIDER_REASONING_REPLAY_MAX_ENTRIES` |
532
+ | `log_level` | `info` | `KIRO_PROVIDER_LOG_LEVEL` |
526
533
 
527
534
  The full field reference, including retry/timeout tuning and the test-only `test_upstream_endpoint`, lives in [`docs/CONFIGURATION.md`](docs/CONFIGURATION.md).
528
535