Skip to content

feat: support compose-managed multimodal subagents - #129

Merged
danielkov merged 2 commits into
feat/compose-files-phase-2from
feat/compose-files-phase-3
Sep 8, 2026
Merged

feat: support compose-managed multimodal subagents#129
danielkov merged 2 commits into
feat/compose-files-phase-2from
feat/compose-files-phase-3

Conversation

@danielkov

Copy link
Copy Markdown
Contributor

Summary

Adds typed image attachments and native generated-image output to compose-managed subagents, with session-authorized File values and strict output binding. Enables an end-to-end read/transform/edit/return pipeline while keeping compose as the only exposed tool.

Stacked on #127; this PR intentionally targets feat/compose-files-phase-2.

Impact

Subagent, continuation, and fork calls can receive explicit managed-image attachments. Returned images remain available after child close, and native/fallback forks inherit file authority without granting access to unrelated sessions. Existing text-only output contracts retain their fallback behavior.

Technical details

  • File-aware schemas bind actual native image bytes, never model-invented IDs. The default requires one distinct image; caller-declared x-kit-image-index enables explicit selection from multiple outputs after every occurrence passes validation and budgets.
  • Canonical OpenRouter generation uses exact-model and concrete-endpoint capability discovery, bounded native byte transport, and no automatic retries of ambiguous billable failures. Historical assistant images receive request-only input projection without changing canonical history or parallel tool-result ordering.
  • Durable grants preserve immutable File identity. Native and fallback fork publication jointly own transcript and file-authority rollback.

Implements Phase 3 of the compose-managed-files plan. Shared TUI/Markdown media presentation remains Phase 4.

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Failed unpublished imports can block subsequent session forks, and cumulative historical image limits can reject valid text-only continuations.

Comment thread src/managed_files.rs Outdated
Comment thread src/provider/adapter.rs

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional native-image capability parsing discards valid context-window metadata from legacy/custom catalogs, disabling automatic context-threshold compaction for those text sessions. Preserve the existing context-discovery behavior independently of native-generation eligibility.

Comment thread src/provider/adapter.rs Outdated

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

kit-code-agent[bot]
kit-code-agent Bot previously approved these changes Sep 8, 2026

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

@kit-code-agent kit-code-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found. The changes look good to merge.

@danielkov
danielkov merged commit a618799 into feat/compose-files-phase-2 Sep 8, 2026
5 checks passed
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