Tool-call card
Lifecycle: running · success (params + output) · error · diff (tab a header, Enter / Space)
- file_path
- app/src/main/.../net/SseClient.kt
- limit
- 40
// SseClient.kt: the reconnect loopsuspend fun reconnect(attempt: Int) {delay(nextDelay(attempt))}
- command
- ./gradlew assembleDebug
> Task :app:compileDebugKotlinBUILD SUCCESSFUL in 18s42 actionable tasks: 11 executed, 31 up-to-date
- command
- ./gradlew compileDebugKotlin
e: Backoff.kt:14:18 unresolved reference: Random> Task :app:compileDebugKotlin FAILEDBUILD FAILED in 3s
- file_path
- app/src/main/.../net/Backoff.kt
Families: the FILLED icon tile tints by tool family (categorical, never the brand cyan)
- file_path
- AGENTS.md
# Nockerl Platform: Global Instructions
- pattern
- familyAccent
- glob
- *.kt
ToolFamily.kt:139:internal fun familyAccent
- url
- https://nockerl.ai/docs
200 OK · 14.2 kB
- cron
- */13 * * * *
Scheduled · next run 13m
Copy fired 0 times · tab a card header to expand, tab to its Copy button. The island is live.
Harness failure block (a view, no new grammar)
Section titled “Harness failure block (a view, no new grammar)”A harness failure is the whole agent run dying (a crashed session, a gateway 500, a budget kill), bigger than one tool error. It was settled deliberately as a thin composition of ratified parts, not a component:
- The failure banner. The ratified failure grammar: an inset error disc and a
whisper-red border (the
Banner22% mix, never a red fill), on a lifted solid surface. Title = what died (“Harness crashed”); message = the one-line why. - The evidence well. Whatever the failure left behind, in the part that already
owns it: this card’s error output well for a tool-level trace, a
CodeBlockfor a stack/log excerpt, aDiffViewerfor a bad patch. - Recovery actions. The banner’s own right-aligned quiet action (“Retry”, “Open logs”), or for a decision moment the Approval content CTA row.
Stack them in that order in the transcript column: banner first (the verdict), the evidence collapsed beneath (this card’s collapse idiom). Compose; invent nothing: the failure expression must stay byte-identical with the ChatBubble send-failure and the AgentMessage stream-failure, which bind to the same banner grammar.
Parameters
Section titled “Parameters”tool-call-cardvsagent-message: the tool-call card is the standalone, reusable tool-invocation panel;agent-messageis the whole assistant turn and embeds these cards inline. Document the card here, the turn there.- Family taxonomy: Android’s
ToolFamilyhas six families (shell-fs · agent · scheduling · planning · external · default); the inline panel inagent-messageonly surfaces four. The card is the full taxonomy. - Swift: the Swift code + params above document the intended API, derived from the Compose card for a macOS transcript rather than from shipped code.
- Web: no
@dizyx/nockerl-reactcomponent is published yet; the TypeScript API above is the canonical target.