Skip to content

feat(voice): flow version asset endpoints - #39

Merged
wavekat-eason merged 2 commits into
mainfrom
feat/flow-version-asset-transport
Jul 18, 2026
Merged

feat(voice): flow version asset endpoints#39
wavekat-eason merged 2 commits into
mainfrom
feat/flow-version-asset-transport

Conversation

@wavekat-eason

Copy link
Copy Markdown
Contributor

Adds the client half of the flow-audio transport slice (wavekat-platform doc 17), so the desktop daemon can pull a published flow version's frozen audio:

  • flow_version_assets(flow_id, version) → the frozen-audio manifest (ref, format, byte_size, duration_ms, content_hash).
  • flow_version_asset_bytes(flow_id, version, ref) → one frozen clip's bytes.
  • get_bytes helper for small in-memory binary GETs.

Both new endpoints are flow-scoped server-side (a version of a flow the caller doesn't own is a 404), reusing the bearer auth already in place. Wire types (VoiceFlowVersionAsset, VoiceFlowAssetsPage) mirror the platform's camelCase shape; ref maps to asset_ref. Unit test covers manifest parsing (incl. a null duration and an empty text-only manifest).

Consumer: wavekat-voice's sync::pull_flow_assets downloads each manifest entry into a version-scoped cache, verifying sha256 against content_hash before caching. That branch currently builds against this one via a temporary [patch]; it drops the patch and bumps the pin once this releases.

Server side: wavekat-platform feat/voice-flow-editor-continue (manifest endpoint + freeze-on-publish, docs 16/17).

🤖 Generated with Claude Code

wavekat-eason and others added 2 commits July 18, 2026 20:09
Adds the client half of the flow-audio transport slice (wavekat-platform
doc 17): flow_version_assets(flow, version) fetches a published version's
frozen-audio manifest (ref, format, byteSize, durationMs, contentHash),
and flow_version_asset_bytes(flow, version, ref) streams one frozen clip.
Both are flow-scoped server-side (404 for a non-owned version). Adds a
get_bytes helper for small in-memory binary GETs and a manifest parse
test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012hwfmDu5vALMY9yZzeftiu
@wavekat-eason
wavekat-eason merged commit e5d5af6 into main Jul 18, 2026
1 check passed
@wavekat-eason
wavekat-eason deleted the feat/flow-version-asset-transport branch July 18, 2026 08:30
@github-actions github-actions Bot mentioned this pull request Jul 18, 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