@sunerpy/kiro-provider 0.5.0-rc.1 → 0.5.0-rc.3
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 +44 -36
- package/dist/cli.js +75 -81
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,10 @@
|
|
|
34
34
|
- Live OpenCode authentication reuse by default: `auth_source: "opencode-shared"` reads the same `~/.config/opencode/kiro.db`, honors tombstones, updates shared health/usage, and uses the account schema and refresh-lock behavior of `opencode-kiro-auth` v0.20.7.
|
|
35
35
|
- Explicit-only session affinity by default: Responses requests can opt in through standard `metadata`, compatibility `client_metadata`, or `prompt_cache_key`; requests without an explicit key never derive identity from prompt text. A matching Zuno native OpenAI transport supplies `metadata.zuno_session_id` automatically.
|
|
36
36
|
- Account-scoped scheduling and cached SDK/transport objects: unrelated accounts can run concurrently, while one account is protected from overlapping Kiro streams; access-token refresh updates the cached client instead of rebuilding it. Kiro model-call HTTP keep-alive is disabled by default and is an explicit transport opt-in.
|
|
37
|
-
- Zero provider-owned prompt injection in the default `safe` mode: a canonical
|
|
37
|
+
- Zero provider-owned prompt injection in the default `safe` mode: a canonical
|
|
38
|
+
input IR preserves client text, roles, content-block boundaries, tool
|
|
39
|
+
identity, ordering, and source paths; Kiro output is normalized into a
|
|
40
|
+
separate canonical completion/event IR before protocol-specific encoding.
|
|
38
41
|
- Encrypted reasoning replay for complete native Kiro envelopes: opaque `kr1_...` tokens, AES-256-GCM storage, tenant/model/account/conversation/output binding, TTL/LRU cleanup, and account-locked replay.
|
|
39
42
|
- Multi-account rotation with automatic token refresh and failover. Shared mode treats OpenCode's database as the authentication authority; the provider database stores session affinity only.
|
|
40
43
|
- An explicit `auth_source: "local"` compatibility mode retains `kiro-provider login` and `accounts import`; imported accounts are snapshots and must not be confused with live shared authentication.
|
|
@@ -59,25 +62,30 @@ Key boundaries:
|
|
|
59
62
|
- `instructions`, `system`, and `developer` return
|
|
60
63
|
`unsupported_instruction_projection` in safe mode because the tested Kiro
|
|
61
64
|
`additionalContext` channel was rejected;
|
|
62
|
-
- `tool_choice: auto` is supported;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
- `tool_choice: auto` is supported; `parallel_tool_calls: false` is accepted as
|
|
66
|
+
a no-op only when no callable tool can run (including `tool_choice: none`),
|
|
67
|
+
and otherwise returns `unsupported_parallel_tool_calls`; required/named
|
|
68
|
+
choice, strict schemas, custom grammars, and namespace tools are rejected
|
|
69
|
+
rather than weakened;
|
|
65
70
|
- base64/data-URL images are supported, while remote image URLs and detail
|
|
66
71
|
controls are rejected;
|
|
67
|
-
- an output-token limit is probe-confirmed
|
|
68
|
-
in the range 1,024–128,000;
|
|
72
|
+
- an output-token limit is probe-confirmed for `claude-sonnet-5` and
|
|
73
|
+
`claude-opus-5` variants in the range 1,024–128,000;
|
|
69
74
|
- stateful Responses fields and native Web Search remain unsupported, and the
|
|
70
75
|
provider never fabricates search/citation events.
|
|
71
76
|
|
|
72
|
-
Current compiled-binary acceptance on 2026-08-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
`
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
Current compiled-binary acceptance on 2026-08-27: RC.3 exposes
|
|
78
|
+
`claude-opus-5` plus `low/medium/high/xhigh/max`, with a 1,000,000-token
|
|
79
|
+
context window and a probe-confirmed 1,024–128,000 native output limit. OpenAI
|
|
80
|
+
JavaScript SDK 7.5.0 passes Opus 5 Responses streaming/non-streaming, explicit
|
|
81
|
+
Chat, function tools, and direct Anthropic Messages JSON/SSE. OpenCode 1.18.18
|
|
82
|
+
passes a real Opus 5 Max bash/read tool loop in explicit
|
|
83
|
+
`legacy-user-prefix` mode while reusing one account and Kiro conversation.
|
|
84
|
+
Codex 0.150.0-alpha.9 now passes model validation but remains blocked before
|
|
85
|
+
Kiro by `reasoning.summary`; Claude Code 2.1.209 likewise passes Opus 5 model
|
|
86
|
+
validation but remains blocked by `context_management`. Zuno was intentionally
|
|
87
|
+
not changed or rerun. These are RC findings; stable v0.5.0 remains gated
|
|
88
|
+
rather than silently discarding unsupported fields.
|
|
81
89
|
|
|
82
90
|
For the complete capability matrix, error codes, reasoning replay contract,
|
|
83
91
|
and v0.4 migration steps, see
|
|
@@ -597,12 +605,12 @@ exception scheduled for removal in v0.7.0.
|
|
|
597
605
|
|
|
598
606
|
## Use with Codex CLI
|
|
599
607
|
|
|
600
|
-
Codex uses the correct Responses endpoint
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
provider
|
|
604
|
-
|
|
605
|
-
compatibility check without touching the real `~/.codex` state:
|
|
608
|
+
Codex uses the correct Responses endpoint. The compiled RC.3 gate with Codex
|
|
609
|
+
0.150.0-alpha.9 and `claude-opus-5-max` now passes provider model validation,
|
|
610
|
+
but its first request is rejected before Kiro at `reasoning.summary`, which
|
|
611
|
+
has no proven native equivalent. The provider does not strip that field or
|
|
612
|
+
simulate it with prompt text. The following isolated configuration reproduces
|
|
613
|
+
the compatibility check without touching the real `~/.codex` state:
|
|
606
614
|
|
|
607
615
|
```bash
|
|
608
616
|
export CODEX_TEST_ROOT="$(mktemp -d)"
|
|
@@ -611,8 +619,9 @@ export CODEX_SQLITE_HOME="$CODEX_TEST_ROOT/sqlite"
|
|
|
611
619
|
mkdir -p "$CODEX_HOME" "$CODEX_SQLITE_HOME"
|
|
612
620
|
export LOCALGW_KEY="sk-...your gateway api key..."
|
|
613
621
|
cat > "$CODEX_HOME/config.toml" <<'EOF'
|
|
614
|
-
model = "
|
|
622
|
+
model = "claude-opus-5-max"
|
|
615
623
|
model_provider = "localgw"
|
|
624
|
+
model_reasoning_effort = "high"
|
|
616
625
|
[model_providers.localgw]
|
|
617
626
|
name = "Local Gateway"
|
|
618
627
|
base_url = "http://127.0.0.1:8787/v1"
|
|
@@ -622,26 +631,25 @@ EOF
|
|
|
622
631
|
codex exec --skip-git-repo-check "say hi"
|
|
623
632
|
```
|
|
624
633
|
|
|
625
|
-
For Codex 0.
|
|
626
|
-
|
|
627
|
-
real shell/custom-tool loop, continuation, and restart reasoning
|
|
628
|
-
Codex is marked supported. Full details live in
|
|
634
|
+
For Codex 0.150.0-alpha.9 the expected RC.3 result is a non-zero exit with
|
|
635
|
+
`unsupported_reasoning_summary` at `reasoning.summary`. A future supported request shape must
|
|
636
|
+
then pass a real shell/custom-tool loop, continuation, and restart reasoning
|
|
637
|
+
replay before Codex is marked supported. Full details live in
|
|
629
638
|
[`docs/CODEX.md`](docs/CODEX.md).
|
|
630
639
|
|
|
631
640
|
## Use with Claude Code
|
|
632
641
|
|
|
633
|
-
Claude Code uses Anthropic Messages
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
current support claim:
|
|
642
|
+
Claude Code uses Anthropic Messages. The compiled RC.3 run with Claude Code
|
|
643
|
+
2.1.209, `claude-opus-5`, and max effort passes provider model validation but
|
|
644
|
+
is rejected before Kiro at `context_management`, which has no proven native
|
|
645
|
+
equivalent. The provider does not discard it. Direct Opus 5 Messages JSON/SSE
|
|
646
|
+
within the verified subset passes; the standard Claude Code configuration
|
|
647
|
+
below remains a compatibility probe rather than a full support claim:
|
|
640
648
|
|
|
641
649
|
```bash
|
|
642
650
|
export ANTHROPIC_BASE_URL="http://127.0.0.1:8787"
|
|
643
|
-
export
|
|
644
|
-
claude
|
|
651
|
+
export ANTHROPIC_API_KEY="sk-your-private-key"
|
|
652
|
+
claude --bare --safe-mode --model claude-opus-5 --effort max
|
|
645
653
|
```
|
|
646
654
|
|
|
647
655
|
The gateway accepts either `Authorization: Bearer <key>` or `x-api-key:
|
|
@@ -651,7 +659,7 @@ an explicit estimate. See
|
|
|
651
659
|
[`docs/CLAUDE_CODE.md`](docs/CLAUDE_CODE.md).
|
|
652
660
|
|
|
653
661
|
The current compiled-service validation record is in
|
|
654
|
-
[`docs/audits/kiro-provider-v0.5.0-rc.
|
|
662
|
+
[`docs/audits/kiro-provider-v0.5.0-rc.3-opus5-validation-2026-08-27.md`](docs/audits/kiro-provider-v0.5.0-rc.3-opus5-validation-2026-08-27.md).
|
|
655
663
|
The older [`docs/E2E_VALIDATION_2026-08-22.md`](docs/E2E_VALIDATION_2026-08-22.md)
|
|
656
664
|
is retained as historical v0.4 evidence only.
|
|
657
665
|
|