Skip to content

feat(sdk): add structured headless agent adapters - #147

Closed
kjgbot wants to merge 15 commits into
feat/v2-declared-modelfrom
feat/v2-headless-adapters
Closed

feat(sdk): add structured headless agent adapters#147
kjgbot wants to merge 15 commits into
feat/v2-declared-modelfrom
feat/v2-headless-adapters

Conversation

@kjgbot

@kjgbot kjgbot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Refs #141.

Outcome

  • Adds a closed SDK-owned HeadlessAdapter registry for declared Claude, Codex, and Grok CLIs.
  • Delivers provider instructions only by stdin (Claude/Codex) or a private temporary prompt file (Grok); no instruction reaches argv.
  • Parses provider final text, structured trajectory, normalized usage, session id, and available Claude subagent evidence.
  • Completes malformed or final-message-free zero-exit provider output as worker_error; preserves the hardened feat(sdk): declare agent CLI and model with fail-closed checks #136 custom-wrapper session unchanged.
  • Reuses provider invocation definitions for model readiness preflight and execution.

Verification

$ ./node_modules/.bin/tsc && node scripts/make-cli-executable.mjs && RELAYFLOWD_BIN=/Users/khaliqgant/.relayflows-toolchain/target/1914866954/debug/relayflowd RELAYFLOWS_ALLOW_ANALYZER_SKIP=1 ./node_modules/.bin/vitest run --reporter=dot --maxWorkers=1 --minWorkers=1

Test Files  22 passed | 1 skipped (23)
     Tests  349 passed | 4 skipped (353)
Duration  155.75s
exit: 0

The four skips are the three explicit installed-provider opt-in cases and the real analyzer availability case; all fixture and live-daemon coverage passed.

$ tar -czf /tmp/flows-141-rebased-pack.roLvtS/relayflows-sdk.tgz package.json dist src && tar -tzf /tmp/flows-141-rebased-pack.roLvtS/relayflows-sdk.tgz | rg '^(dist/(index|headless-adapter)\\.(js|d\\.ts)|src/headless-adapter\\.ts)$'\ndist/index.js\ndist/headless-adapter.js\ndist/headless-adapter.d.ts\ndist/index.d.ts\nsrc/headless-adapter.ts\n\n$ node --input-type=module <built artifact smoke>\n{"finalText":"packed-final","trajectory":[{"type":"result","result":"packed-final","usage":{"input_tokens":1,"output_tokens":2}}],"usage":{"tokens_in":1,"tokens_out":2,"dollars":"0"}}\nexit: 0\n```\n\nNo merge or publish performed.

kjgbot added 15 commits September 2, 2026 18:01
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062df-b92c-7a13-815f-147a82a4fc51

Session-Id: 01a062df-b92c-7a13-815f-147a82a4fc51

Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062df-b92c-7a13-815f-147a82a4fc51

Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
Session-Id: 01a062b7-2aef-7772-8225-7cb00ee311dd
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.

Comment @coderabbitai help to get the list of available commands.

@kjgbot
kjgbot force-pushed the feat/v2-declared-model branch from 3fcf2dc to a86a497 Compare September 3, 2026 10:58
@kjgbot
kjgbot deleted the branch feat/v2-declared-model September 3, 2026 11:25
@kjgbot kjgbot closed this Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant