summaryrefslogtreecommitdiffhomepage
path: root/packages/session-orchestrator/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/session-orchestrator/src')
-rw-r--r--packages/session-orchestrator/src/index.ts2
-rw-r--r--packages/session-orchestrator/src/orchestrator.ts14
2 files changed, 16 insertions, 0 deletions
diff --git a/packages/session-orchestrator/src/index.ts b/packages/session-orchestrator/src/index.ts
index afec2b4..3d8ad18 100644
--- a/packages/session-orchestrator/src/index.ts
+++ b/packages/session-orchestrator/src/index.ts
@@ -1,8 +1,10 @@
export { extension, manifest } from "./extension.js";
export {
type ConversationClosedPayload,
+ type ConversationOpenedPayload,
cacheWarmHandle,
conversationClosed,
+ conversationOpened,
createSessionOrchestrator,
createWarmService,
type EnqueueInput,
diff --git a/packages/session-orchestrator/src/orchestrator.ts b/packages/session-orchestrator/src/orchestrator.ts
index 3a74c2d..82ca59e 100644
--- a/packages/session-orchestrator/src/orchestrator.ts
+++ b/packages/session-orchestrator/src/orchestrator.ts
@@ -97,6 +97,20 @@ export interface ConversationClosedPayload {
export const conversationClosed: EventHookDescriptor<ConversationClosedPayload> =
defineEventHook<ConversationClosedPayload>("session-orchestrator/conversation-closed");
+/** Payload for the conversationOpened bus event. */
+export interface ConversationOpenedPayload {
+ readonly conversationId: string;
+}
+
+/**
+ * Fired when a client requests to "open" a conversation (e.g. the CLI `--open`
+ * flag). Transport-ws subscribes and broadcasts a `conversation.open` WS
+ * message to all connected frontend clients. The frontend decides whether to
+ * open/focus a tab — the backend just signals.
+ */
+export const conversationOpened: EventHookDescriptor<ConversationOpenedPayload> =
+ defineEventHook<ConversationOpenedPayload>("session-orchestrator/conversation-opened");
+
/** Payload for the warmCompleted bus event. */
export interface WarmCompletedPayload {
readonly conversationId: string;