Skip to content

Add catalog dispatch to Worker class#26

Merged
rustyconover merged 1 commit into
mainfrom
feature/worker-catalog-dispatch
Jan 6, 2026
Merged

Add catalog dispatch to Worker class#26
rustyconover merged 1 commit into
mainfrom
feature/worker-catalog-dispatch

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Summary

  • Add catalog_interface class attribute for configuring CatalogInterface support
  • Add dispatch for InvocationType.CATALOG in run() method
  • Implement _handle_catalog_invocation() for simplified catalog protocol

Key features:

  • Catalog invocations use simplified protocol: invoke → stream (no bind/init phases)
  • function_name field contains CatalogInterface method name (e.g., 'catalog_attach')
  • Input batch has 1 row with columns matching method parameters
  • Handles None, serializable dataclasses, and iterables as return types

Dependencies

This PR includes changes from:

Test plan

  • All existing tests pass (661 tests)
  • mypy type checks pass
  • ruff linting passes

🤖 Generated with Claude Code

Integrate CatalogInterface handling into Worker:
- Add catalog_interface class attribute for configuring catalog support
- Add dispatch for InvocationType.CATALOG in run() method
- Implement _handle_catalog_invocation() for simplified catalog protocol

Key features:
- Catalog invocations use simplified protocol: invoke → stream (no bind/init phases)
- function_name field contains CatalogInterface method name
- Input batch has 1 row with columns matching method parameters
- Handles None, serializable dataclasses, and iterables as return types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@rustyconover rustyconover merged commit 9df5130 into main Jan 6, 2026
0 of 16 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