summaryrefslogtreecommitdiffhomepage
path: root/packages/session-orchestrator/src
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-04 23:55:29 +0900
committerAdam Malczewski <[email protected]>2026-06-04 23:55:29 +0900
commite56b591d56ea3f3007c612da2f0fe2004d696f45 (patch)
tree01a3503b5c72cd78971d8dc304d80835d76201cf /packages/session-orchestrator/src
parent51a88160fbb8e06d93f7507b5e3e4cca80e98902 (diff)
downloaddispatch-e56b591d56ea3f3007c612da2f0fe2004d696f45.tar.gz
dispatch-e56b591d56ea3f3007c612da2f0fe2004d696f45.zip
fix(kernel): expose getProviders/getTools on HostAPI (CR-2) + runTurn uses input tabId/turnId (CR-3); simplify orchestrator wiring (167 tests)
Diffstat (limited to 'packages/session-orchestrator/src')
-rw-r--r--packages/session-orchestrator/src/extension.ts30
1 files changed, 3 insertions, 27 deletions
diff --git a/packages/session-orchestrator/src/extension.ts b/packages/session-orchestrator/src/extension.ts
index c75bf29..8cd4c44 100644
--- a/packages/session-orchestrator/src/extension.ts
+++ b/packages/session-orchestrator/src/extension.ts
@@ -1,11 +1,5 @@
import { conversationStoreHandle } from "@dispatch/conversation-store";
-import type {
- Extension,
- HostAPI,
- Manifest,
- ProviderContract,
- ToolContract,
-} from "@dispatch/kernel";
+import type { Extension, HostAPI, Manifest } from "@dispatch/kernel";
import { runTurn } from "@dispatch/kernel";
import {
createSessionOrchestrator,
@@ -27,31 +21,13 @@ export const manifest: Manifest = {
},
};
-interface ProviderResolvingHostAPI extends HostAPI {
- readonly getProviders?: () => ReadonlyMap<string, ProviderContract>;
- readonly getTools?: () => ReadonlyMap<string, ToolContract>;
-}
-
export function activate(host: HostAPI): void {
const conversationStore = host.getService(conversationStoreHandle);
- const extendedHost = host as ProviderResolvingHostAPI;
const orchestrator: SessionOrchestrator = createSessionOrchestrator({
conversationStore,
- resolveProvider: () => {
- if (extendedHost.getProviders !== undefined) {
- return selectFirstProvider(extendedHost.getProviders());
- }
- throw new Error(
- "HostAPI does not expose getProviders() — change-request: add provider resolution to HostAPI",
- );
- },
- resolveTools: () => {
- if (extendedHost.getTools !== undefined) {
- return [...extendedHost.getTools().values()];
- }
- return [];
- },
+ resolveProvider: () => selectFirstProvider(host.getProviders()),
+ resolveTools: () => [...host.getTools().values()],
runTurn,
});