Skip to content

refactor runtime into modular services + split Slack routing#26

Merged
LIU9293 merged 3 commits intomainfrom
ode_1770346674.753639
Feb 6, 2026
Merged

refactor runtime into modular services + split Slack routing#26
LIU9293 merged 3 commits intomainfrom
ode_1770346674.753639

Conversation

@LIU9293
Copy link
Contributor

@LIU9293 LIU9293 commented Feb 6, 2026

Summary

  • Split packages/core/runtime.ts into focused runtime modules (session-bootstrap, open-request, request-runner, event-stream, pending-question, recovery, thread-queue, selection-reply, and helpers) while preserving behavior.
  • Introduced an agent provider registry (packages/agents/registry.ts) and wired packages/agents/index.ts to select provider via ODE_AGENT_PROVIDER (default opencode).
  • Refactored Slack integration by extracting inbound routing (packages/ims/slack/message-router.ts), throttled updates (packages/ims/slack/message-updates.ts), and thread history (packages/ims/slack/message-history.ts) from packages/ims/slack/client.ts.
  • Updated final response handling so long outputs are posted below the status message instead of being cut by chat.update limits.

Plan Coverage

  • ✅ Runtime decomposition: completed
  • ✅ IM-specific button-selection isolation: completed
  • ✅ Agent wiring modularization: completed (provider registry + guards)
  • ✅ Slack client modular split: completed (router/transport helpers extracted)
  • ✅ Testability improvements: completed for unit + contract baseline
  • ✅ Final response length behavior: completed
  • ⚠️ Remaining optional follow-up: add full fake-adapter runtime integration scenarios (stop/retry/question/recovery matrix) and mark live smoke tests separately in CI

Validation

  • bun test packages/core/test
  • bun test packages/agents/test

Notes

  • Button selection is treated as optional IM capability; IMs without interactive selection can rely on plain message + question flow.

@LIU9293 LIU9293 changed the title refactor runtime and slack integration for modularity refactor runtime into modular services + split Slack routing Feb 6, 2026
@LIU9293 LIU9293 merged commit 163818b into main Feb 6, 2026
2 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