@sunerpy/kiro-provider 3.1.3 → 3.2.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/README.md +64 -67
- package/dist/cli.js +121 -120
- 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
|
|
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
|
|
491
|
-
|
|
|
492
|
-
| `host`
|
|
493
|
-
| `port`
|
|
494
|
-
| `api_keys`
|
|
495
|
-
| `enable_legacy_chat_completions`
|
|
496
|
-
| `protocol_projection_mode`
|
|
497
|
-
| `session_affinity_mode`
|
|
498
|
-
| `auth_source`
|
|
499
|
-
| `opencode_auth_db_path`
|
|
500
|
-
| `proxy_url`
|
|
501
|
-
| `default_region`
|
|
502
|
-
| `sdk_http_keep_alive`
|
|
503
|
-
| `enforce_single_instance`
|
|
504
|
-
| `instance_lock_path`
|
|
505
|
-
| `runtime_endpoint_mode`
|
|
506
|
-
| `dynamic_model_catalog`
|
|
507
|
-
| `model_catalog_ttl_ms`
|
|
508
|
-
| `model_catalog_stale_ttl_ms`
|
|
509
|
-
| `model_catalog_request_timeout_ms` | `10000`
|
|
510
|
-
| `account_selection_strategy`
|
|
511
|
-
| `quota_recheck_interval_ms`
|
|
512
|
-
| `quota_recheck_timeout_ms`
|
|
513
|
-
| `quota_recheck_concurrency`
|
|
514
|
-
| `account_maintenance_enabled`
|
|
515
|
-
| `account_maintenance_interval_ms`
|
|
516
|
-
| `account_maintenance_timeout_ms`
|
|
517
|
-
| `account_maintenance_concurrency`
|
|
518
|
-
| `usage_refresh_interval_ms`
|
|
519
|
-
| `session_affinity_ttl_ms`
|
|
520
|
-
| `session_affinity_max_entries`
|
|
521
|
-
| `reasoning_replay_key_path`
|
|
522
|
-
| `reasoning_replay_keys`
|
|
523
|
-
| `reasoning_replay_ttl_ms`
|
|
524
|
-
| `reasoning_replay_max_entries`
|
|
525
|
-
| `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
|
|
|
@@ -697,39 +704,29 @@ replay before Codex is marked supported. Full details live in
|
|
|
697
704
|
|
|
698
705
|
## Use with Claude Code
|
|
699
706
|
|
|
700
|
-
Claude Code
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
equivalent. The provider does not discard it. Direct Opus 5 Messages JSON/SSE
|
|
704
|
-
within the verified subset passes; the standard Claude Code configuration
|
|
705
|
-
below remains a compatibility probe rather than a full support claim:
|
|
707
|
+
Claude Code 2.1.263 is supported through the existing Anthropic Messages
|
|
708
|
+
surface. For an isolated Linux profile that cannot affect a normal
|
|
709
|
+
Bedrock-backed `claude` command, run the checkout-local launcher:
|
|
706
710
|
|
|
707
711
|
```bash
|
|
708
|
-
|
|
709
|
-
export ANTHROPIC_API_KEY="sk-your-private-key"
|
|
710
|
-
claude --bare --safe-mode --model claude-opus-5 --effort max
|
|
712
|
+
PATH="$PWD/scripts:$PATH" kiroclaude
|
|
711
713
|
```
|
|
712
714
|
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
The older [`docs/E2E_VALIDATION_2026-08-22.md`](docs/E2E_VALIDATION_2026-08-22.md)
|
|
729
|
-
is retained as historical v0.4 evidence only.
|
|
730
|
-
|
|
731
|
-
The v3.1.1 stream delivery, RPC decoding and real SDK/Zuno before/after report is in
|
|
732
|
-
[`docs/audits/stream-delivery-recovery-2026-09-13.md`](docs/audits/stream-delivery-recovery-2026-09-13.md).
|
|
715
|
+
It uses a separate `CLAUDE_CONFIG_DIR`, `apiKeyHelper`, the gateway root
|
|
716
|
+
`http://127.0.0.1:8787` (without `/v1`), and Kiro's Opus/Sonnet/Haiku plus
|
|
717
|
+
GPT-5.6 Sol/Terra/Luna model IDs. GPT rows inherit Claude Code's effort picker
|
|
718
|
+
behavior through a version-scoped `modelPicker` mapping. The default is Opus 5
|
|
719
|
+
in Ultra mode, and away/recap summaries are disabled only in this profile.
|
|
720
|
+
Ellipsis-only GPT reasoning is hidden behind a lossless replay token. A separate
|
|
721
|
+
`kiroclaude --bedrock-fable` profile provides the existing native Bedrock Fable
|
|
722
|
+
5.1 model without mixing providers in one conversation. Because Kiro exposes
|
|
723
|
+
no native GPT output-token field, only the launcher explicitly opts into an
|
|
724
|
+
audited advisory `max_tokens` mode; every other client remains fail-closed.
|
|
725
|
+
Current text, tool/result, mid-system, adaptive/omitted thinking, safe
|
|
726
|
+
context-management, cache-hint, and SSE ping behavior is covered. The scripts
|
|
727
|
+
are not installed by the release installer in this revision. See
|
|
728
|
+
[`docs/CLAUDE_CODE.md`](docs/CLAUDE_CODE.md) for configuration, compatibility
|
|
729
|
+
boundaries, and isolated validation.
|
|
733
730
|
|
|
734
731
|
## Troubleshooting
|
|
735
732
|
|