v0.1.13 — provider-contract fixes
Provider-contract fixes found by an audit of the previous build. Every item was
reproduced first, then fixed, then verified against the live service.
Fixed
- Context overflow now triggers DSH recovery. Kiro's
CONTENT_LENGTH_EXCEEDS_THRESHOLDreason and itsinput/prompt is too long
wording map toCONTEXT_WINDOW_EXCEEDED, the code compaction keys emergency
recovery to. Every other HTTP 400 staysINVALID_REQUEST. [system: conversation continues]no longer leaks. Structural padding is
the official client's own neutral text (Continue/understood), persisted
marker blocks are stripped when history is rebuilt, and a reply that is nothing
but the marker is suppressed. Replaying local transcripts: 23 stored marker
blocks reached the wire 83 times before, 0 now.- Native reasoning is surfaced.
reasoningContentEventframes become DSH
reasoning blocks; signatures and redacted content are consumed silently. - Provider stop reasons are honored.
END_TURN,TOOL_USE,MAX_TOKENS,
MODEL_CONTEXT_WINDOW_EXCEEDED,CONTENT_FILTERED, andPAUSE_TURNmap to
the matching outcome; an unrecognized reason stays diagnosable. - Output caps go where the service accepts them.
generateAssistantResponsehas noinferenceConfig— the service ignores one.
maxTokensnow travels asadditionalModelRequestFields.max_tokens, clamped
to the bounds the model advertises, and only for models that advertise a
schema.temperatureandtopPhave no accepted placement and are ignored. - One stable conversation id per DSH session, derived from a keyed digest.
- Usage parsing for bonus grants, add-on credits, active-only trials, and the
no-limit sentinel. - Explicit credential origin on refresh-token import, so a Builder ID credential
is no longer classified as Identity Center. - Settings-nav icon: scoped observer, no polling, disposed with the plugin.
- Model-catalog pagination with duplicate, repeated-token, and no-progress guards.
- Token-telemetry claims qualified to the case where Kiro actually sends terminal
token metadata.
Verification
npm run check: 163 tests pass (7 live probes skipped), plus typecheck, build,
and client/CLI syntax checks. tests/live-*.spec.ts (KIRO_LIVE=1) re-verify
the wire contract against a real account; tests/session-replay.spec.ts
(DSH_SESSIONS=1) replays the local session store; verification/overflow-probe
proves a context-overflow failure makes DSH compact and retry a turn without
spending provider credits.
Install
dsh plugin --profile <name> add github:dat-lequoc/dsh-kiro#v0.1.13Not published to npm. The attached tarball is the artifact this release was
verified with.
Artifact checksum
sha256 2f82c8db3136fd8cd3a8647e45247aade3506a01e27714823a0cdaf2c9eb0c99 dsh-kiro-0.1.13.tgz