Skip to content

v0.1.13 — provider-contract fixes

Choose a tag to compare

@dat-lequoc dat-lequoc released this 25 Aug 12:55
· 10 commits to main since this release

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_THRESHOLD reason and its input/prompt is too long
    wording map to CONTEXT_WINDOW_EXCEEDED, the code compaction keys emergency
    recovery to. Every other HTTP 400 stays INVALID_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. reasoningContentEvent frames 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, and PAUSE_TURN map to
    the matching outcome; an unrecognized reason stays diagnosable.
  • Output caps go where the service accepts them.
    generateAssistantResponse has no inferenceConfig — the service ignores one.
    maxTokens now travels as additionalModelRequestFields.max_tokens, clamped
    to the bounds the model advertises, and only for models that advertise a
    schema. temperature and topP have 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.13

Not published to npm. The attached tarball is the artifact this release was
verified with.

Artifact checksum

sha256  2f82c8db3136fd8cd3a8647e45247aade3506a01e27714823a0cdaf2c9eb0c99  dsh-kiro-0.1.13.tgz