@indexnetwork/protocol 4.3.7-rc.317.1 → 4.4.0-rc.318.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/chat/chat-streaming.types.d.ts +29 -2
  2. package/dist/chat/chat-streaming.types.d.ts.map +1 -1
  3. package/dist/chat/chat-streaming.types.js +3 -0
  4. package/dist/chat/chat-streaming.types.js.map +1 -1
  5. package/dist/chat/chat.agent.d.ts +15 -0
  6. package/dist/chat/chat.agent.d.ts.map +1 -1
  7. package/dist/chat/chat.agent.js.map +1 -1
  8. package/dist/chat/chat.prompt.d.ts.map +1 -1
  9. package/dist/chat/chat.prompt.js +3 -0
  10. package/dist/chat/chat.prompt.js.map +1 -1
  11. package/dist/chat/chat.streamer.d.ts.map +1 -1
  12. package/dist/chat/chat.streamer.js +9 -1
  13. package/dist/chat/chat.streamer.js.map +1 -1
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/questioner/questioner.ask.tool.d.ts +14 -0
  18. package/dist/questioner/questioner.ask.tool.d.ts.map +1 -0
  19. package/dist/questioner/questioner.ask.tool.js +309 -0
  20. package/dist/questioner/questioner.ask.tool.js.map +1 -0
  21. package/dist/questioner/questioner.presets.d.ts.map +1 -1
  22. package/dist/questioner/questioner.presets.js +73 -0
  23. package/dist/questioner/questioner.presets.js.map +1 -1
  24. package/dist/questioner/questioner.types.d.ts +21 -1
  25. package/dist/questioner/questioner.types.d.ts.map +1 -1
  26. package/dist/questioner/questioner.types.js.map +1 -1
  27. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  28. package/dist/shared/agent/tool.factory.js +10 -0
  29. package/dist/shared/agent/tool.factory.js.map +1 -1
  30. package/dist/shared/agent/tool.helpers.d.ts +19 -1
  31. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  32. package/dist/shared/agent/tool.helpers.js.map +1 -1
  33. package/dist/shared/agent/tool.runtime.d.ts +1 -1
  34. package/dist/shared/agent/tool.runtime.d.ts.map +1 -1
  35. package/dist/shared/agent/tool.runtime.js +14 -3
  36. package/dist/shared/agent/tool.runtime.js.map +1 -1
  37. package/dist/shared/interfaces/questioner.interface.d.ts +26 -0
  38. package/dist/shared/interfaces/questioner.interface.d.ts.map +1 -1
  39. package/dist/shared/interfaces/questioner.interface.js.map +1 -1
  40. package/dist/shared/observability/request-context.d.ts +15 -0
  41. package/dist/shared/observability/request-context.d.ts.map +1 -1
  42. package/dist/shared/observability/request-context.js.map +1 -1
  43. package/dist/shared/schemas/question.schema.d.ts +4 -4
  44. package/dist/shared/schemas/question.schema.d.ts.map +1 -1
  45. package/dist/shared/schemas/question.schema.js +2 -0
  46. package/dist/shared/schemas/question.schema.js.map +1 -1
  47. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  * Events are sent as Server-Sent Events (SSE) with JSON payloads.
6
6
  */
7
7
  import type { Question, QuestionStrategy } from "../shared/schemas/question.schema.js";
8
- export type ChatStreamEventType = "status" | "routing" | "thinking" | "subgraph_start" | "subgraph_result" | "token" | "done" | "error" | "tool_start" | "tool_end" | "agent_thinking" | "tool_activity" | "iteration_start" | "llm_start" | "llm_end" | "response_complete" | "response_reset" | "debug_meta" | "graph_start" | "graph_end" | "phase_start" | "phase_end" | "agent_start" | "agent_end" | "hallucination_detected" | "negotiation_session_start" | "negotiation_session_end" | "negotiation_turn" | "negotiation_outcome" | "chat_summarizer_start" | "chat_summarizer_end" | "question_generator_start" | "question_generator_end" | "decision_questions" | "steer_or_queue";
8
+ export type ChatStreamEventType = "status" | "routing" | "thinking" | "subgraph_start" | "subgraph_result" | "token" | "done" | "error" | "tool_start" | "tool_end" | "agent_thinking" | "tool_activity" | "iteration_start" | "llm_start" | "llm_end" | "response_complete" | "response_reset" | "debug_meta" | "graph_start" | "graph_end" | "phase_start" | "phase_end" | "agent_start" | "agent_end" | "hallucination_detected" | "negotiation_session_start" | "negotiation_session_end" | "negotiation_turn" | "negotiation_outcome" | "chat_summarizer_start" | "chat_summarizer_end" | "question_generator_start" | "question_generator_end" | "decision_questions" | "user_question" | "steer_or_queue";
9
9
  /**
10
10
  * Base interface for all chat stream events.
11
11
  */
@@ -473,6 +473,30 @@ export interface DecisionQuestionsEvent extends ChatStreamEventBase {
473
473
  type: "decision_questions";
474
474
  questions: Question[];
475
475
  }
476
+ /**
477
+ * One persisted question streamed by the ask_user_question tool.
478
+ * Carries the DB id so the frontend can answer/dismiss it through the
479
+ * questions REST endpoints while the turn is still blocked.
480
+ */
481
+ export interface UserQuestionPayload {
482
+ id: string;
483
+ title: string;
484
+ prompt: string;
485
+ options: Array<{
486
+ label: string;
487
+ description: string;
488
+ }>;
489
+ multiSelect: boolean;
490
+ }
491
+ /**
492
+ * User question event — emitted when the orchestrator's ask_user_question
493
+ * tool persisted chat-mode questions and is now blocking the turn awaiting
494
+ * the user's inline answer.
495
+ */
496
+ export interface UserQuestionEvent extends ChatStreamEventBase {
497
+ type: "user_question";
498
+ questions: UserQuestionPayload[];
499
+ }
476
500
  /**
477
501
  * Steer-or-queue event — injected into the active SSE stream by the /chat/interrupt
478
502
  * endpoint after the classifier runs. The frontend holds the mid-stream message as
@@ -488,7 +512,7 @@ export interface SteerOrQueueEvent extends ChatStreamEventBase {
488
512
  /**
489
513
  * Union type of all chat stream events.
490
514
  */
491
- export type ChatStreamEvent = StatusEvent | RoutingEvent | ThinkingEvent | SubgraphStartEvent | SubgraphResultEvent | TokenEvent | DoneEvent | ErrorEvent | ToolStartEvent | ToolEndEvent | AgentThinkingEvent | ToolActivityEvent | IterationStartEvent | LlmStartEvent | LlmEndEvent | ResponseCompleteEvent | ResponseResetEvent | HallucinationDetectedEvent | DebugMetaEvent | GraphStartEvent | GraphEndEvent | PhaseStartEvent | PhaseEndEvent | AgentStartEvent | AgentEndEvent | NegotiationSessionStartEvent | NegotiationSessionEndEvent | NegotiationTurnEvent | NegotiationOutcomeEvent | ChatSummarizerStartEvent | ChatSummarizerEndEvent | QuestionGeneratorStartEvent | QuestionGeneratorEndEvent | DecisionQuestionsEvent | SteerOrQueueEvent;
515
+ export type ChatStreamEvent = StatusEvent | RoutingEvent | ThinkingEvent | SubgraphStartEvent | SubgraphResultEvent | TokenEvent | DoneEvent | ErrorEvent | ToolStartEvent | ToolEndEvent | AgentThinkingEvent | ToolActivityEvent | IterationStartEvent | LlmStartEvent | LlmEndEvent | ResponseCompleteEvent | ResponseResetEvent | HallucinationDetectedEvent | DebugMetaEvent | GraphStartEvent | GraphEndEvent | PhaseStartEvent | PhaseEndEvent | AgentStartEvent | AgentEndEvent | NegotiationSessionStartEvent | NegotiationSessionEndEvent | NegotiationTurnEvent | NegotiationOutcomeEvent | ChatSummarizerStartEvent | ChatSummarizerEndEvent | QuestionGeneratorStartEvent | QuestionGeneratorEndEvent | DecisionQuestionsEvent | UserQuestionEvent | SteerOrQueueEvent;
492
516
  /**
493
517
  * Formats a chat stream event as an SSE message. If JSON.stringify throws (e.g. circular ref,
494
518
  * non-serializable value), returns a minimal error event so the stream stays valid.
@@ -635,6 +659,9 @@ export declare function createQuestionGeneratorEndEvent(sessionId: string, paylo
635
659
  export declare function createDecisionQuestionsEvent(sessionId: string, payload: {
636
660
  questions: Question[];
637
661
  }): DecisionQuestionsEvent;
662
+ export declare function createUserQuestionEvent(sessionId: string, payload: {
663
+ questions: UserQuestionPayload[];
664
+ }): UserQuestionEvent;
638
665
  /**
639
666
  * Creates a steer-or-queue event injected into the active stream by the interrupt endpoint.
640
667
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-streaming.types.d.ts","sourceRoot":"/","sources":["chat/chat-streaming.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-streaming.types.d.ts","sourceRoot":"/","sources":["chat/chat-streaming.types.ts"],"names":[],"mappings":"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"}
@@ -293,6 +293,9 @@ export function createQuestionGeneratorEndEvent(sessionId, payload) {
293
293
  export function createDecisionQuestionsEvent(sessionId, payload) {
294
294
  return createStreamEvent("decision_questions", sessionId, payload);
295
295
  }
296
+ export function createUserQuestionEvent(sessionId, payload) {
297
+ return createStreamEvent("user_question", sessionId, payload);
298
+ }
296
299
  /**
297
300
  * Creates a steer-or-queue event injected into the active stream by the interrupt endpoint.
298
301
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-streaming.types.js","sourceRoot":"/","sources":["chat/chat-streaming.types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SSE Event types for Chat Graph streaming.\n *\n * These types define the structure of events sent during streaming chat responses.\n * Events are sent as Server-Sent Events (SSE) with JSON payloads.\n */\n\nimport type { Question, QuestionStrategy } from \"../shared/schemas/question.schema.js\";\n\n// Event type discriminator\nexport type ChatStreamEventType =\n | \"status\"\n | \"routing\"\n | \"thinking\"\n | \"subgraph_start\"\n | \"subgraph_result\"\n | \"token\"\n | \"done\"\n | \"error\"\n // Agent Loop Architecture events\n | \"tool_start\"\n | \"tool_end\"\n | \"agent_thinking\"\n // Streaming narration events\n | \"tool_activity\"\n // Agent loop trace events\n | \"iteration_start\"\n | \"llm_start\"\n | \"llm_end\"\n // Internal response tracking events\n | \"response_complete\"\n | \"response_reset\"\n // Debug meta (per-turn graph/tool usage for copy debug)\n | \"debug_meta\"\n | \"graph_start\"\n | \"graph_end\"\n | \"phase_start\"\n | \"phase_end\"\n | \"agent_start\"\n | \"agent_end\"\n | \"hallucination_detected\"\n // Orchestrator-inline negotiation trace events\n | \"negotiation_session_start\"\n | \"negotiation_session_end\"\n | \"negotiation_turn\"\n | \"negotiation_outcome\"\n // Discovery decision-question events\n | \"chat_summarizer_start\"\n | \"chat_summarizer_end\"\n | \"question_generator_start\"\n | \"question_generator_end\"\n | \"decision_questions\"\n // Steer-or-queue interrupt event\n | \"steer_or_queue\";\n\n/**\n * Base interface for all chat stream events.\n */\nexport interface ChatStreamEventBase {\n /** Event type discriminator */\n type: ChatStreamEventType;\n /** Session ID for the chat session */\n sessionId: string;\n /** ISO 8601 timestamp */\n timestamp: string;\n}\n\n/**\n * Status event - sent to indicate processing state changes.\n */\nexport interface StatusEvent extends ChatStreamEventBase {\n type: \"status\";\n /** Human-readable status message */\n message: string;\n}\n\n/**\n * Routing event - sent when the router determines which subgraph to use.\n */\nexport interface RoutingEvent extends ChatStreamEventBase {\n type: \"routing\";\n /** Target subgraph name */\n target: string;\n /** Optional reasoning for the routing decision */\n reasoning?: string;\n}\n\n/**\n * Thinking event - sent to stream the model's reasoning and decision-making process.\n */\nexport interface ThinkingEvent extends ChatStreamEventBase {\n type: \"thinking\";\n /** The thinking/reasoning content */\n content: string;\n /** Optional step identifier (e.g., 'router', 'inference', 'verification') */\n step?: string;\n}\n\n/**\n * Subgraph start event - sent when a subgraph begins processing.\n */\nexport interface SubgraphStartEvent extends ChatStreamEventBase {\n type: \"subgraph_start\";\n /** Name of the subgraph being executed */\n subgraph: string;\n}\n\n/**\n * Subgraph result event - sent when a subgraph completes with results.\n */\nexport interface SubgraphResultEvent extends ChatStreamEventBase {\n type: \"subgraph_result\";\n /** Name of the subgraph that completed */\n subgraph: string;\n /** Result data from the subgraph */\n data: Record<string, unknown>;\n}\n\n/**\n * Token event - sent for each token during streaming response.\n */\nexport interface TokenEvent extends ChatStreamEventBase {\n type: \"token\";\n /** Token content (partial text) */\n content: string;\n}\n\n/**\n * Chat suggestion for follow-up actions.\n * Matches frontend Suggestion type (label, type, followupText/prefill).\n */\nexport interface ChatSuggestion {\n label: string;\n type: \"direct\" | \"prompt\";\n /** For 'direct' type: text to auto-submit as next message */\n followupText?: string;\n /** For 'prompt' type: text to prefill the input */\n prefill?: string;\n}\n\n/**\n * Rich opportunity card data for chat messages.\n * Matches the home page card format for consistent rendering.\n */\nexport interface OpportunityCardPayload {\n opportunityId: string;\n userId: string;\n name?: string;\n avatar?: string | null;\n /** Main body text (personalizedSummary from presenter). */\n mainText: string;\n /** Call-to-action line (suggestedAction from presenter). */\n cta?: string;\n /** Short headline hook. */\n headline?: string;\n /** Label for primary action button (e.g. \"Start Chat\"). */\n primaryActionLabel?: string;\n /** Label for secondary action button (e.g. \"Skip\"). */\n secondaryActionLabel?: string;\n /** Subtitle under the other party name (e.g. \"1 mutual intent\"). */\n mutualIntentsLabel?: string;\n /** Narrator chip for human-introduced opportunities. */\n narratorChip?: {\n name: string;\n text: string;\n avatar?: string | null;\n userId?: string;\n };\n /** Viewer's role in this opportunity. */\n viewerRole?: string;\n /** Match confidence score (0-1). */\n score?: number;\n /** Opportunity status. */\n status?: string;\n /** Second party in introducer arrow layout (name -> name). Present when viewerRole is 'introducer'. */\n secondParty?: {\n name: string;\n avatar?: string | null;\n userId?: string;\n };\n}\n\n/**\n * Done event - sent when the response is complete.\n */\nexport interface DoneEvent extends ChatStreamEventBase {\n type: \"done\";\n /** Complete response text */\n response: string;\n /** Server-generated assistant message ID (for trace event persistence) */\n messageId?: string;\n /** Optional routing decision metadata */\n routingDecision?: Record<string, unknown>;\n /** Optional subgraph results metadata */\n subgraphResults?: Record<string, unknown>;\n /** Optional session title (auto-generated or existing) */\n title?: string;\n /** Optional context-aware follow-up suggestions */\n suggestions?: ChatSuggestion[];\n /** Optional rich opportunity cards returned by tools */\n opportunityCards?: OpportunityCardPayload[];\n /** Decision questions to render (orchestrator flow only). */\n decisionQuestions?: Question[];\n}\n\n/**\n * Error event - sent when an error occurs.\n */\nexport interface ErrorEvent extends ChatStreamEventBase {\n type: \"error\";\n /** Human-readable error message */\n message: string;\n /** Optional error code for programmatic handling */\n code?: string;\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP ARCHITECTURE EVENTS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Tool start event - sent when a tool begins executing.\n */\nexport interface ToolStartEvent extends ChatStreamEventBase {\n type: \"tool_start\";\n /** Name of the tool being executed */\n toolName: string;\n /** Arguments passed to the tool */\n toolArgs: Record<string, unknown>;\n}\n\n/**\n * Tool end event - sent when a tool finishes executing.\n */\nexport interface ToolEndEvent extends ChatStreamEventBase {\n type: \"tool_end\";\n /** Name of the tool that completed */\n toolName: string;\n /** Whether the tool execution succeeded */\n success: boolean;\n /** Brief summary of the result */\n resultSummary?: string;\n}\n\n/**\n * Agent thinking event - sent between agent iterations.\n */\nexport interface AgentThinkingEvent extends ChatStreamEventBase {\n type: \"agent_thinking\";\n /** Current iteration number */\n iteration: number;\n /** Tools used in this iteration */\n toolsUsed: string[];\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP TRACE EVENTS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Iteration start event - emitted when a new agent loop iteration begins.\n */\nexport interface IterationStartEvent extends ChatStreamEventBase {\n type: \"iteration_start\";\n iteration: number;\n}\n\n/**\n * LLM start event - emitted when the LLM begins generating a response.\n */\nexport interface LlmStartEvent extends ChatStreamEventBase {\n type: \"llm_start\";\n iteration: number;\n}\n\n/**\n * LLM end event - emitted when the LLM finishes generating (may include tool calls).\n */\nexport interface LlmEndEvent extends ChatStreamEventBase {\n type: \"llm_end\";\n iteration: number;\n hasToolCalls: boolean;\n toolNames?: string[];\n}\n\n/**\n * Tool activity event - inline narration of tool execution.\n * Sent as the agent streams its response, replacing the old ThinkingDropdown.\n */\nexport interface ToolActivityEvent extends ChatStreamEventBase {\n type: \"tool_activity\";\n /** Internal tool name */\n toolName: string;\n /** User-friendly description (e.g. \"Looking up your profile...\") */\n description: string;\n /** Whether the tool is starting or has finished */\n phase: \"start\" | \"end\";\n /** Whether the tool succeeded (present when phase === 'end') */\n success?: boolean;\n /** Brief result summary (present when phase === 'end') */\n summary?: string;\n /** Internal steps executed by this tool (present when phase === 'end') */\n steps?: DebugMetaStep[];\n}\n\n/**\n * Internal event carrying the agent's authoritative final response text.\n * Emitted by the streamer after the graph completes. Not forwarded to the frontend SSE stream.\n */\nexport interface ResponseCompleteEvent extends ChatStreamEventBase {\n type: \"response_complete\";\n /** The agent's final response text (from the last iteration only) */\n response: string;\n}\n\n/**\n * Response reset event — tells the frontend to discard all previously streamed tokens.\n * Emitted when the agent detects hallucinated code blocks and forces a correction iteration.\n */\nexport interface ResponseResetEvent extends ChatStreamEventBase {\n type: \"response_reset\";\n /** Human-readable reason for the reset */\n reason: string;\n}\n\n/**\n * Hallucination detected event — tells the frontend that the agent caught a\n * hallucinated code block and is auto-invoking the correct tool.\n */\nexport interface HallucinationDetectedEvent extends ChatStreamEventBase {\n type: \"hallucination_detected\";\n /** The type of block that was hallucinated (e.g. \"intent_proposal\", \"opportunity\") */\n blockType: string;\n /** The tool being auto-invoked to recover */\n tool: string;\n}\n\n/**\n * One internal step reported by a tool for debug visibility (e.g. subgraph, subtask).\n */\nexport interface DebugMetaStep {\n step: string;\n detail?: string;\n /** Structured data for rich display (e.g., Felicity scores, classification, candidate info). */\n data?: Record<string, unknown>;\n}\n\n/**\n * One agent invocation recorded inside a graph run.\n */\nexport interface DebugMetaAgent {\n /** Name of the agent (e.g. \"opportunity.evaluator\"). */\n name: string;\n /** Wall-clock milliseconds for this agent invocation. */\n durationMs: number;\n}\n\n/**\n * One graph invocation recorded by a tool that calls a LangGraph graph.\n */\nexport interface DebugMetaGraph {\n /** Name of the graph (e.g. \"opportunity\"). */\n name: string;\n /** Wall-clock milliseconds for the full graph run. */\n durationMs: number;\n /** Agent invocations recorded inside this graph run. */\n agents: DebugMetaAgent[];\n}\n\n/**\n * One tool call entry in debug meta (sanitized args, result summary, optional steps).\n */\nexport interface DebugMetaToolCall {\n name: string;\n args: Record<string, unknown>;\n resultSummary: string;\n success: boolean;\n /** Wall-clock milliseconds for the full tool execution. */\n durationMs: number;\n /** Internal steps (subgraphs, subtasks) when the tool reports debugSteps in its result. */\n steps?: DebugMetaStep[];\n /** LangGraph graphs invoked by this tool, with their agent timings. */\n graphs?: DebugMetaGraph[];\n}\n\n/**\n * LLM call statistics accumulated during a single agent turn.\n */\nexport interface DebugMetaLlm {\n /** Total number of LLM calls made in this turn. */\n calls: number;\n /** Cumulative wall-clock time spent waiting for the LLM across all calls. */\n totalDurationMs: number;\n /** Entries recorded each time a response_reset event was emitted. */\n resets: Array<{ reason: string; at: number }>;\n /** Entries recorded each time a hallucination_detected event was emitted. */\n hallucinations: Array<{ blockType: string; tool: string; at: number }>;\n}\n\n/**\n * Negotiation sessions initiated by the orchestrator during this turn.\n */\nexport interface DebugMetaOrchestratorNegotiations {\n /** Opportunity IDs for which a negotiation_session_start was emitted. */\n opportunityIds: string[];\n}\n\n/**\n * Decision-question generation debug data (orchestrator path only).\n */\nexport interface DebugMetaDiscoveryQuestions {\n inputMode: \"transcripts\" | \"insights\";\n finalCount: number;\n strategies: QuestionStrategy[];\n durationMs: number;\n}\n\n/**\n * Debug meta event - per-turn graph and tool usage for copy debug.\n */\nexport interface DebugMetaEvent extends ChatStreamEventBase {\n type: \"debug_meta\";\n graph: string;\n iterations: number;\n tools: DebugMetaToolCall[];\n llm: DebugMetaLlm;\n orchestratorNegotiations?: DebugMetaOrchestratorNegotiations;\n /** Decision-question generation debug data (orchestrator path only). */\n discoveryQuestions?: DebugMetaDiscoveryQuestions;\n}\n\n/** Graph start event — emitted when a LangGraph sub-graph begins inside a tool. */\nexport interface GraphStartEvent extends ChatStreamEventBase {\n type: \"graph_start\";\n graphName: string;\n}\n\n/** Graph end event — emitted when a LangGraph sub-graph completes. */\nexport interface GraphEndEvent extends ChatStreamEventBase {\n type: \"graph_end\";\n graphName: string;\n durationMs: number;\n}\n\n/**\n * Phase start event — emitted when a logical groupings of inline work begins\n * inside a tool. Phases share container semantics with graphs (they can host\n * agents) but render differently in the trace UI so users can tell them\n * apart from LangGraph state machines.\n */\nexport interface PhaseStartEvent extends ChatStreamEventBase {\n type: \"phase_start\";\n phaseName: string;\n}\n\n/** Phase end event — emitted when a logical phase completes. */\nexport interface PhaseEndEvent extends ChatStreamEventBase {\n type: \"phase_end\";\n phaseName: string;\n durationMs: number;\n}\n\n/** Agent start event — emitted when an LLM agent begins inside a graph node. */\nexport interface AgentStartEvent extends ChatStreamEventBase {\n type: \"agent_start\";\n agentName: string;\n}\n\n/** Agent end event — emitted when an LLM agent completes. */\nexport interface AgentEndEvent extends ChatStreamEventBase {\n type: \"agent_end\";\n agentName: string;\n durationMs: number;\n /** Structured outcome summary, e.g. \"5 of 12 passed\" or \"3 intents extracted\". */\n summary: string;\n}\n\n/** Orchestrator per-candidate negotiation wrapper — emitted from `negotiateCandidates`. */\nexport interface NegotiationSessionStartEvent extends ChatStreamEventBase {\n type: \"negotiation_session_start\";\n opportunityId: string;\n negotiationConversationId: string;\n sourceUserId: string;\n candidateUserId: string;\n candidateName?: string;\n trigger: \"orchestrator\" | \"ambient\";\n startedAt: number;\n}\n\nexport interface NegotiationSessionEndEvent extends ChatStreamEventBase {\n type: \"negotiation_session_end\";\n opportunityId: string;\n negotiationConversationId: string;\n durationMs: number;\n}\n\n/** One turn inside a bilateral negotiation. Emitted by the negotiation graph's turn node. */\nexport interface NegotiationTurnEvent extends ChatStreamEventBase {\n type: \"negotiation_turn\";\n opportunityId: string;\n negotiationConversationId: string;\n turnIndex: number;\n actor: \"source\" | \"candidate\";\n action: \"propose\" | \"accept\" | \"reject\" | \"counter\" | \"question\";\n reasoning?: string;\n message?: string;\n suggestedRoles?: { ownUser?: string; otherUser?: string };\n durationMs: number;\n}\n\nexport interface NegotiationOutcomeEvent extends ChatStreamEventBase {\n type: \"negotiation_outcome\";\n opportunityId: string;\n outcome:\n | \"accepted\"\n | \"rejected_stalled\"\n | \"waiting_for_agent\"\n | \"timed_out\"\n | \"turn_cap\";\n turnCount: number;\n reasoning?: string;\n agreedRoles?: { ownUser?: string; otherUser?: string };\n}\n\nexport interface ChatSummarizerStartEvent extends ChatStreamEventBase {\n type: \"chat_summarizer_start\";\n payload: { sessionId: string };\n}\n\nexport interface ChatSummarizerEndEvent extends ChatStreamEventBase {\n type: \"chat_summarizer_end\";\n payload: {\n durationMs: number;\n };\n}\n\nexport interface QuestionGeneratorStartEvent extends ChatStreamEventBase {\n type: \"question_generator_start\";\n payload: {\n inputMode: \"transcripts\" | \"insights\";\n negotiationCount: number;\n hasChatContext: boolean;\n truncated?: { originalCount: number; keptCount: number };\n };\n}\n\nexport interface QuestionGeneratorEndEvent extends ChatStreamEventBase {\n type: \"question_generator_end\";\n payload: {\n finalCount: number;\n strategies: QuestionStrategy[];\n durationMs: number;\n inputMode: \"transcripts\" | \"insights\";\n };\n}\n\nexport interface DecisionQuestionsEvent extends ChatStreamEventBase {\n type: \"decision_questions\";\n questions: Question[];\n}\n\n/**\n * Steer-or-queue event — injected into the active SSE stream by the /chat/interrupt\n * endpoint after the classifier runs. The frontend holds the mid-stream message as\n * \"pending\" until this event arrives, then acts on the decision.\n */\nexport interface SteerOrQueueEvent extends ChatStreamEventBase {\n type: \"steer_or_queue\";\n /** Classifier decision: interrupt and restart, or buffer until current run completes. */\n decision: \"steer\" | \"queue\";\n /** Echoed from the interrupt request so the frontend can update the correct pending message. */\n messageId: string;\n}\n\n/**\n * Union type of all chat stream events.\n */\nexport type ChatStreamEvent =\n | StatusEvent\n | RoutingEvent\n | ThinkingEvent\n | SubgraphStartEvent\n | SubgraphResultEvent\n | TokenEvent\n | DoneEvent\n | ErrorEvent\n // Agent Loop Architecture events\n | ToolStartEvent\n | ToolEndEvent\n | AgentThinkingEvent\n // Streaming narration events\n | ToolActivityEvent\n // Agent loop trace events\n | IterationStartEvent\n | LlmStartEvent\n | LlmEndEvent\n // Internal response tracking events\n | ResponseCompleteEvent\n | ResponseResetEvent\n | HallucinationDetectedEvent\n // Debug meta\n | DebugMetaEvent\n // Trace hierarchy events\n | GraphStartEvent\n | GraphEndEvent\n | PhaseStartEvent\n | PhaseEndEvent\n | AgentStartEvent\n | AgentEndEvent\n | NegotiationSessionStartEvent\n | NegotiationSessionEndEvent\n | NegotiationTurnEvent\n | NegotiationOutcomeEvent\n | ChatSummarizerStartEvent\n | ChatSummarizerEndEvent\n | QuestionGeneratorStartEvent\n | QuestionGeneratorEndEvent\n | DecisionQuestionsEvent\n | SteerOrQueueEvent;\n\n/**\n * Formats a chat stream event as an SSE message. If JSON.stringify throws (e.g. circular ref,\n * non-serializable value), returns a minimal error event so the stream stays valid.\n *\n * @param event - The event to format\n * @returns SSE-formatted string with \"data: \" prefix and double newline\n */\nexport function formatSSEEvent(event: ChatStreamEvent): string {\n try {\n return `data: ${JSON.stringify(event)}\\n\\n`;\n } catch (serializeError) {\n const fallback: ErrorEvent = {\n type: \"error\",\n sessionId:\n typeof (event as ChatStreamEventBase).sessionId === \"string\"\n ? (event as ChatStreamEventBase).sessionId\n : \"unknown\",\n timestamp: new Date().toISOString(),\n message: \"Response could not be serialized. Please try again.\",\n code: \"SERIALIZATION_ERROR\",\n };\n return `data: ${JSON.stringify(fallback)}\\n\\n`;\n }\n}\n\n/**\n * Creates a chat stream event with common fields populated.\n *\n * @param type - Event type\n * @param sessionId - Session ID\n * @param data - Event-specific data (excluding type, sessionId, timestamp)\n * @returns Complete event object\n *\n * @example\n * ```ts\n * const statusEvent = createStreamEvent<StatusEvent>('status', 'session-123', {\n * message: 'Processing your request...'\n * });\n * ```\n */\nexport function createStreamEvent<T extends ChatStreamEvent>(\n type: T[\"type\"],\n sessionId: string,\n data: Omit<T, \"type\" | \"sessionId\" | \"timestamp\">,\n): T {\n return {\n ...data,\n type,\n sessionId,\n timestamp: new Date().toISOString(),\n } as T;\n}\n\n/**\n * Type guard to check if an event is a specific type.\n */\nexport function isEventType<T extends ChatStreamEvent>(\n event: ChatStreamEvent,\n type: T[\"type\"],\n): event is T {\n return event.type === type;\n}\n\n/**\n * Creates a formatted status event.\n */\nexport function createStatusEvent(\n sessionId: string,\n message: string,\n): StatusEvent {\n return createStreamEvent<StatusEvent>(\"status\", sessionId, { message });\n}\n\n/**\n * Creates a formatted routing event.\n */\nexport function createRoutingEvent(\n sessionId: string,\n target: string,\n reasoning?: string,\n): RoutingEvent {\n return createStreamEvent<RoutingEvent>(\"routing\", sessionId, {\n target,\n reasoning,\n });\n}\n\n/**\n * Creates a formatted subgraph start event.\n */\nexport function createSubgraphStartEvent(\n sessionId: string,\n subgraph: string,\n): SubgraphStartEvent {\n return createStreamEvent<SubgraphStartEvent>(\"subgraph_start\", sessionId, {\n subgraph,\n });\n}\n\n/**\n * Creates a formatted subgraph result event.\n */\nexport function createSubgraphResultEvent(\n sessionId: string,\n subgraph: string,\n data: Record<string, unknown>,\n): SubgraphResultEvent {\n return createStreamEvent<SubgraphResultEvent>(\"subgraph_result\", sessionId, {\n subgraph,\n data,\n });\n}\n\n/**\n * Creates a formatted token event.\n */\nexport function createTokenEvent(\n sessionId: string,\n content: string,\n): TokenEvent {\n return createStreamEvent<TokenEvent>(\"token\", sessionId, { content });\n}\n\n/**\n * Options for the done event (optional metadata).\n */\nexport interface CreateDoneEventOptions {\n messageId?: string;\n routingDecision?: Record<string, unknown>;\n subgraphResults?: Record<string, unknown>;\n title?: string;\n suggestions?: ChatSuggestion[];\n opportunityCards?: OpportunityCardPayload[];\n decisionQuestions?: Question[];\n}\n\n/**\n * Creates a formatted done event.\n */\nexport function createDoneEvent(\n sessionId: string,\n response: string,\n options?: CreateDoneEventOptions,\n): DoneEvent {\n return createStreamEvent<DoneEvent>(\"done\", sessionId, {\n ...options,\n response,\n });\n}\n\n/**\n * Creates a formatted error event.\n */\nexport function createErrorEvent(\n sessionId: string,\n message: string,\n code?: string,\n): ErrorEvent {\n return createStreamEvent<ErrorEvent>(\"error\", sessionId, { message, code });\n}\n\n/**\n * Creates a formatted thinking event.\n */\nexport function createThinkingEvent(\n sessionId: string,\n content: string,\n step?: string,\n): ThinkingEvent {\n return createStreamEvent<ThinkingEvent>(\"thinking\", sessionId, {\n content,\n step,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted tool start event.\n */\nexport function createToolStartEvent(\n sessionId: string,\n toolName: string,\n toolArgs: Record<string, unknown>,\n): ToolStartEvent {\n return createStreamEvent<ToolStartEvent>(\"tool_start\", sessionId, {\n toolName,\n toolArgs,\n });\n}\n\n/**\n * Creates a formatted tool end event.\n */\nexport function createToolEndEvent(\n sessionId: string,\n toolName: string,\n success: boolean,\n resultSummary?: string,\n): ToolEndEvent {\n return createStreamEvent<ToolEndEvent>(\"tool_end\", sessionId, {\n toolName,\n success,\n resultSummary,\n });\n}\n\n/**\n * Creates a formatted agent thinking event.\n */\nexport function createAgentThinkingEvent(\n sessionId: string,\n iteration: number,\n toolsUsed: string[],\n): AgentThinkingEvent {\n return createStreamEvent<AgentThinkingEvent>(\"agent_thinking\", sessionId, {\n iteration,\n toolsUsed,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP TRACE EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted iteration start event.\n */\nexport function createIterationStartEvent(\n sessionId: string,\n iteration: number,\n): IterationStartEvent {\n return createStreamEvent<IterationStartEvent>(\"iteration_start\", sessionId, {\n iteration,\n });\n}\n\n/**\n * Creates a formatted LLM start event.\n */\nexport function createLlmStartEvent(\n sessionId: string,\n iteration: number,\n): LlmStartEvent {\n return createStreamEvent<LlmStartEvent>(\"llm_start\", sessionId, {\n iteration,\n });\n}\n\n/**\n * Creates a formatted LLM end event.\n */\nexport function createLlmEndEvent(\n sessionId: string,\n iteration: number,\n hasToolCalls: boolean,\n toolNames?: string[],\n): LlmEndEvent {\n return createStreamEvent<LlmEndEvent>(\"llm_end\", sessionId, {\n iteration,\n hasToolCalls,\n toolNames,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// STREAMING NARRATION EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted tool activity event (inline narration).\n */\nexport function createToolActivityEvent(\n sessionId: string,\n toolName: string,\n description: string,\n phase: \"start\" | \"end\",\n success?: boolean,\n summary?: string,\n steps?: DebugMetaStep[],\n): ToolActivityEvent {\n return createStreamEvent<ToolActivityEvent>(\"tool_activity\", sessionId, {\n toolName,\n description,\n phase,\n success,\n summary,\n steps,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// INTERNAL RESPONSE TRACKING EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted response complete event.\n */\nexport function createResponseCompleteEvent(\n sessionId: string,\n response: string,\n): ResponseCompleteEvent {\n return createStreamEvent<ResponseCompleteEvent>(\"response_complete\", sessionId, { response });\n}\n\n/**\n * Creates a formatted response reset event.\n * Tells the frontend to discard all previously streamed tokens.\n */\nexport function createResponseResetEvent(\n sessionId: string,\n reason: string,\n): ResponseResetEvent {\n return createStreamEvent<ResponseResetEvent>(\"response_reset\", sessionId, { reason });\n}\n\n/**\n * Creates a hallucination detected event for the trace panel.\n */\nexport function createHallucinationDetectedEvent(\n sessionId: string,\n blockType: string,\n tool: string,\n): HallucinationDetectedEvent {\n return createStreamEvent<HallucinationDetectedEvent>(\"hallucination_detected\", sessionId, { blockType, tool });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// DEBUG META EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted debug meta event (per-turn graph and tool usage).\n */\nexport function createDebugMetaEvent(\n sessionId: string,\n graph: string,\n iterations: number,\n tools: DebugMetaToolCall[],\n llm: DebugMetaLlm,\n orchestratorNegotiations?: DebugMetaOrchestratorNegotiations,\n discoveryQuestions?: DebugMetaDiscoveryQuestions,\n): DebugMetaEvent {\n return createStreamEvent<DebugMetaEvent>(\"debug_meta\", sessionId, {\n graph,\n iterations,\n tools,\n llm,\n ...(orchestratorNegotiations !== undefined && { orchestratorNegotiations }),\n ...(discoveryQuestions !== undefined && { discoveryQuestions }),\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// TRACE HIERARCHY EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a graph start event emitted when a LangGraph sub-graph begins inside a tool.\n */\nexport function createGraphStartEvent(sessionId: string, graphName: string): GraphStartEvent {\n return createStreamEvent<GraphStartEvent>(\"graph_start\", sessionId, { graphName });\n}\n\n/**\n * Creates a graph end event emitted when a LangGraph sub-graph completes.\n */\nexport function createGraphEndEvent(sessionId: string, graphName: string, durationMs: number): GraphEndEvent {\n return createStreamEvent<GraphEndEvent>(\"graph_end\", sessionId, { graphName, durationMs });\n}\n\nexport function createPhaseStartEvent(sessionId: string, phaseName: string): PhaseStartEvent {\n return createStreamEvent<PhaseStartEvent>(\"phase_start\", sessionId, { phaseName });\n}\n\nexport function createPhaseEndEvent(sessionId: string, phaseName: string, durationMs: number): PhaseEndEvent {\n return createStreamEvent<PhaseEndEvent>(\"phase_end\", sessionId, { phaseName, durationMs });\n}\n\n/**\n * Creates an agent start event emitted when an LLM agent begins inside a graph node.\n */\nexport function createAgentStartEvent(sessionId: string, agentName: string): AgentStartEvent {\n return createStreamEvent<AgentStartEvent>(\"agent_start\", sessionId, { agentName });\n}\n\n/**\n * Creates an agent end event emitted when an LLM agent completes.\n */\nexport function createAgentEndEvent(\n sessionId: string,\n agentName: string,\n durationMs: number,\n summary: string,\n): AgentEndEvent {\n return createStreamEvent<AgentEndEvent>(\"agent_end\", sessionId, { agentName, durationMs, summary });\n}\n\nexport function createNegotiationSessionStartEvent(\n sessionId: string,\n payload: Omit<NegotiationSessionStartEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationSessionStartEvent {\n return createStreamEvent<NegotiationSessionStartEvent>(\n \"negotiation_session_start\",\n sessionId,\n payload,\n );\n}\n\nexport function createNegotiationSessionEndEvent(\n sessionId: string,\n payload: Omit<NegotiationSessionEndEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationSessionEndEvent {\n return createStreamEvent<NegotiationSessionEndEvent>(\n \"negotiation_session_end\",\n sessionId,\n payload,\n );\n}\n\nexport function createNegotiationTurnEvent(\n sessionId: string,\n payload: Omit<NegotiationTurnEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationTurnEvent {\n return createStreamEvent<NegotiationTurnEvent>(\"negotiation_turn\", sessionId, payload);\n}\n\nexport function createNegotiationOutcomeEvent(\n sessionId: string,\n payload: Omit<NegotiationOutcomeEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationOutcomeEvent {\n return createStreamEvent<NegotiationOutcomeEvent>(\n \"negotiation_outcome\",\n sessionId,\n payload,\n );\n}\n\nexport function createChatSummarizerStartEvent(\n sessionId: string,\n payload: ChatSummarizerStartEvent[\"payload\"],\n): ChatSummarizerStartEvent {\n return createStreamEvent<ChatSummarizerStartEvent>(\"chat_summarizer_start\", sessionId, { payload });\n}\n\nexport function createChatSummarizerEndEvent(\n sessionId: string,\n payload: ChatSummarizerEndEvent[\"payload\"],\n): ChatSummarizerEndEvent {\n return createStreamEvent<ChatSummarizerEndEvent>(\"chat_summarizer_end\", sessionId, { payload });\n}\n\nexport function createQuestionGeneratorStartEvent(\n sessionId: string,\n payload: QuestionGeneratorStartEvent[\"payload\"],\n): QuestionGeneratorStartEvent {\n return createStreamEvent<QuestionGeneratorStartEvent>(\"question_generator_start\", sessionId, { payload });\n}\n\nexport function createQuestionGeneratorEndEvent(\n sessionId: string,\n payload: QuestionGeneratorEndEvent[\"payload\"],\n): QuestionGeneratorEndEvent {\n return createStreamEvent<QuestionGeneratorEndEvent>(\"question_generator_end\", sessionId, { payload });\n}\n\nexport function createDecisionQuestionsEvent(\n sessionId: string,\n payload: { questions: Question[] },\n): DecisionQuestionsEvent {\n return createStreamEvent<DecisionQuestionsEvent>(\"decision_questions\", sessionId, payload);\n}\n\n/**\n * Creates a steer-or-queue event injected into the active stream by the interrupt endpoint.\n */\nexport function createSteerOrQueueEvent(\n sessionId: string,\n decision: \"steer\" | \"queue\",\n messageId: string,\n): SteerOrQueueEvent {\n return createStreamEvent<SteerOrQueueEvent>(\"steer_or_queue\", sessionId, {\n decision,\n messageId,\n });\n}\n"]}
1
+ {"version":3,"file":"chat-streaming.types.js","sourceRoot":"/","sources":["chat/chat-streaming.types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SSE Event types for Chat Graph streaming.\n *\n * These types define the structure of events sent during streaming chat responses.\n * Events are sent as Server-Sent Events (SSE) with JSON payloads.\n */\n\nimport type { Question, QuestionStrategy } from \"../shared/schemas/question.schema.js\";\n\n// Event type discriminator\nexport type ChatStreamEventType =\n | \"status\"\n | \"routing\"\n | \"thinking\"\n | \"subgraph_start\"\n | \"subgraph_result\"\n | \"token\"\n | \"done\"\n | \"error\"\n // Agent Loop Architecture events\n | \"tool_start\"\n | \"tool_end\"\n | \"agent_thinking\"\n // Streaming narration events\n | \"tool_activity\"\n // Agent loop trace events\n | \"iteration_start\"\n | \"llm_start\"\n | \"llm_end\"\n // Internal response tracking events\n | \"response_complete\"\n | \"response_reset\"\n // Debug meta (per-turn graph/tool usage for copy debug)\n | \"debug_meta\"\n | \"graph_start\"\n | \"graph_end\"\n | \"phase_start\"\n | \"phase_end\"\n | \"agent_start\"\n | \"agent_end\"\n | \"hallucination_detected\"\n // Orchestrator-inline negotiation trace events\n | \"negotiation_session_start\"\n | \"negotiation_session_end\"\n | \"negotiation_turn\"\n | \"negotiation_outcome\"\n // Discovery decision-question events\n | \"chat_summarizer_start\"\n | \"chat_summarizer_end\"\n | \"question_generator_start\"\n | \"question_generator_end\"\n | \"decision_questions\"\n // Blocking mid-turn user question (ask_user_question tool)\n | \"user_question\"\n // Steer-or-queue interrupt event\n | \"steer_or_queue\";\n\n/**\n * Base interface for all chat stream events.\n */\nexport interface ChatStreamEventBase {\n /** Event type discriminator */\n type: ChatStreamEventType;\n /** Session ID for the chat session */\n sessionId: string;\n /** ISO 8601 timestamp */\n timestamp: string;\n}\n\n/**\n * Status event - sent to indicate processing state changes.\n */\nexport interface StatusEvent extends ChatStreamEventBase {\n type: \"status\";\n /** Human-readable status message */\n message: string;\n}\n\n/**\n * Routing event - sent when the router determines which subgraph to use.\n */\nexport interface RoutingEvent extends ChatStreamEventBase {\n type: \"routing\";\n /** Target subgraph name */\n target: string;\n /** Optional reasoning for the routing decision */\n reasoning?: string;\n}\n\n/**\n * Thinking event - sent to stream the model's reasoning and decision-making process.\n */\nexport interface ThinkingEvent extends ChatStreamEventBase {\n type: \"thinking\";\n /** The thinking/reasoning content */\n content: string;\n /** Optional step identifier (e.g., 'router', 'inference', 'verification') */\n step?: string;\n}\n\n/**\n * Subgraph start event - sent when a subgraph begins processing.\n */\nexport interface SubgraphStartEvent extends ChatStreamEventBase {\n type: \"subgraph_start\";\n /** Name of the subgraph being executed */\n subgraph: string;\n}\n\n/**\n * Subgraph result event - sent when a subgraph completes with results.\n */\nexport interface SubgraphResultEvent extends ChatStreamEventBase {\n type: \"subgraph_result\";\n /** Name of the subgraph that completed */\n subgraph: string;\n /** Result data from the subgraph */\n data: Record<string, unknown>;\n}\n\n/**\n * Token event - sent for each token during streaming response.\n */\nexport interface TokenEvent extends ChatStreamEventBase {\n type: \"token\";\n /** Token content (partial text) */\n content: string;\n}\n\n/**\n * Chat suggestion for follow-up actions.\n * Matches frontend Suggestion type (label, type, followupText/prefill).\n */\nexport interface ChatSuggestion {\n label: string;\n type: \"direct\" | \"prompt\";\n /** For 'direct' type: text to auto-submit as next message */\n followupText?: string;\n /** For 'prompt' type: text to prefill the input */\n prefill?: string;\n}\n\n/**\n * Rich opportunity card data for chat messages.\n * Matches the home page card format for consistent rendering.\n */\nexport interface OpportunityCardPayload {\n opportunityId: string;\n userId: string;\n name?: string;\n avatar?: string | null;\n /** Main body text (personalizedSummary from presenter). */\n mainText: string;\n /** Call-to-action line (suggestedAction from presenter). */\n cta?: string;\n /** Short headline hook. */\n headline?: string;\n /** Label for primary action button (e.g. \"Start Chat\"). */\n primaryActionLabel?: string;\n /** Label for secondary action button (e.g. \"Skip\"). */\n secondaryActionLabel?: string;\n /** Subtitle under the other party name (e.g. \"1 mutual intent\"). */\n mutualIntentsLabel?: string;\n /** Narrator chip for human-introduced opportunities. */\n narratorChip?: {\n name: string;\n text: string;\n avatar?: string | null;\n userId?: string;\n };\n /** Viewer's role in this opportunity. */\n viewerRole?: string;\n /** Match confidence score (0-1). */\n score?: number;\n /** Opportunity status. */\n status?: string;\n /** Second party in introducer arrow layout (name -> name). Present when viewerRole is 'introducer'. */\n secondParty?: {\n name: string;\n avatar?: string | null;\n userId?: string;\n };\n}\n\n/**\n * Done event - sent when the response is complete.\n */\nexport interface DoneEvent extends ChatStreamEventBase {\n type: \"done\";\n /** Complete response text */\n response: string;\n /** Server-generated assistant message ID (for trace event persistence) */\n messageId?: string;\n /** Optional routing decision metadata */\n routingDecision?: Record<string, unknown>;\n /** Optional subgraph results metadata */\n subgraphResults?: Record<string, unknown>;\n /** Optional session title (auto-generated or existing) */\n title?: string;\n /** Optional context-aware follow-up suggestions */\n suggestions?: ChatSuggestion[];\n /** Optional rich opportunity cards returned by tools */\n opportunityCards?: OpportunityCardPayload[];\n /** Decision questions to render (orchestrator flow only). */\n decisionQuestions?: Question[];\n}\n\n/**\n * Error event - sent when an error occurs.\n */\nexport interface ErrorEvent extends ChatStreamEventBase {\n type: \"error\";\n /** Human-readable error message */\n message: string;\n /** Optional error code for programmatic handling */\n code?: string;\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP ARCHITECTURE EVENTS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Tool start event - sent when a tool begins executing.\n */\nexport interface ToolStartEvent extends ChatStreamEventBase {\n type: \"tool_start\";\n /** Name of the tool being executed */\n toolName: string;\n /** Arguments passed to the tool */\n toolArgs: Record<string, unknown>;\n}\n\n/**\n * Tool end event - sent when a tool finishes executing.\n */\nexport interface ToolEndEvent extends ChatStreamEventBase {\n type: \"tool_end\";\n /** Name of the tool that completed */\n toolName: string;\n /** Whether the tool execution succeeded */\n success: boolean;\n /** Brief summary of the result */\n resultSummary?: string;\n}\n\n/**\n * Agent thinking event - sent between agent iterations.\n */\nexport interface AgentThinkingEvent extends ChatStreamEventBase {\n type: \"agent_thinking\";\n /** Current iteration number */\n iteration: number;\n /** Tools used in this iteration */\n toolsUsed: string[];\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP TRACE EVENTS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Iteration start event - emitted when a new agent loop iteration begins.\n */\nexport interface IterationStartEvent extends ChatStreamEventBase {\n type: \"iteration_start\";\n iteration: number;\n}\n\n/**\n * LLM start event - emitted when the LLM begins generating a response.\n */\nexport interface LlmStartEvent extends ChatStreamEventBase {\n type: \"llm_start\";\n iteration: number;\n}\n\n/**\n * LLM end event - emitted when the LLM finishes generating (may include tool calls).\n */\nexport interface LlmEndEvent extends ChatStreamEventBase {\n type: \"llm_end\";\n iteration: number;\n hasToolCalls: boolean;\n toolNames?: string[];\n}\n\n/**\n * Tool activity event - inline narration of tool execution.\n * Sent as the agent streams its response, replacing the old ThinkingDropdown.\n */\nexport interface ToolActivityEvent extends ChatStreamEventBase {\n type: \"tool_activity\";\n /** Internal tool name */\n toolName: string;\n /** User-friendly description (e.g. \"Looking up your profile...\") */\n description: string;\n /** Whether the tool is starting or has finished */\n phase: \"start\" | \"end\";\n /** Whether the tool succeeded (present when phase === 'end') */\n success?: boolean;\n /** Brief result summary (present when phase === 'end') */\n summary?: string;\n /** Internal steps executed by this tool (present when phase === 'end') */\n steps?: DebugMetaStep[];\n}\n\n/**\n * Internal event carrying the agent's authoritative final response text.\n * Emitted by the streamer after the graph completes. Not forwarded to the frontend SSE stream.\n */\nexport interface ResponseCompleteEvent extends ChatStreamEventBase {\n type: \"response_complete\";\n /** The agent's final response text (from the last iteration only) */\n response: string;\n}\n\n/**\n * Response reset event — tells the frontend to discard all previously streamed tokens.\n * Emitted when the agent detects hallucinated code blocks and forces a correction iteration.\n */\nexport interface ResponseResetEvent extends ChatStreamEventBase {\n type: \"response_reset\";\n /** Human-readable reason for the reset */\n reason: string;\n}\n\n/**\n * Hallucination detected event — tells the frontend that the agent caught a\n * hallucinated code block and is auto-invoking the correct tool.\n */\nexport interface HallucinationDetectedEvent extends ChatStreamEventBase {\n type: \"hallucination_detected\";\n /** The type of block that was hallucinated (e.g. \"intent_proposal\", \"opportunity\") */\n blockType: string;\n /** The tool being auto-invoked to recover */\n tool: string;\n}\n\n/**\n * One internal step reported by a tool for debug visibility (e.g. subgraph, subtask).\n */\nexport interface DebugMetaStep {\n step: string;\n detail?: string;\n /** Structured data for rich display (e.g., Felicity scores, classification, candidate info). */\n data?: Record<string, unknown>;\n}\n\n/**\n * One agent invocation recorded inside a graph run.\n */\nexport interface DebugMetaAgent {\n /** Name of the agent (e.g. \"opportunity.evaluator\"). */\n name: string;\n /** Wall-clock milliseconds for this agent invocation. */\n durationMs: number;\n}\n\n/**\n * One graph invocation recorded by a tool that calls a LangGraph graph.\n */\nexport interface DebugMetaGraph {\n /** Name of the graph (e.g. \"opportunity\"). */\n name: string;\n /** Wall-clock milliseconds for the full graph run. */\n durationMs: number;\n /** Agent invocations recorded inside this graph run. */\n agents: DebugMetaAgent[];\n}\n\n/**\n * One tool call entry in debug meta (sanitized args, result summary, optional steps).\n */\nexport interface DebugMetaToolCall {\n name: string;\n args: Record<string, unknown>;\n resultSummary: string;\n success: boolean;\n /** Wall-clock milliseconds for the full tool execution. */\n durationMs: number;\n /** Internal steps (subgraphs, subtasks) when the tool reports debugSteps in its result. */\n steps?: DebugMetaStep[];\n /** LangGraph graphs invoked by this tool, with their agent timings. */\n graphs?: DebugMetaGraph[];\n}\n\n/**\n * LLM call statistics accumulated during a single agent turn.\n */\nexport interface DebugMetaLlm {\n /** Total number of LLM calls made in this turn. */\n calls: number;\n /** Cumulative wall-clock time spent waiting for the LLM across all calls. */\n totalDurationMs: number;\n /** Entries recorded each time a response_reset event was emitted. */\n resets: Array<{ reason: string; at: number }>;\n /** Entries recorded each time a hallucination_detected event was emitted. */\n hallucinations: Array<{ blockType: string; tool: string; at: number }>;\n}\n\n/**\n * Negotiation sessions initiated by the orchestrator during this turn.\n */\nexport interface DebugMetaOrchestratorNegotiations {\n /** Opportunity IDs for which a negotiation_session_start was emitted. */\n opportunityIds: string[];\n}\n\n/**\n * Decision-question generation debug data (orchestrator path only).\n */\nexport interface DebugMetaDiscoveryQuestions {\n inputMode: \"transcripts\" | \"insights\";\n finalCount: number;\n strategies: QuestionStrategy[];\n durationMs: number;\n}\n\n/**\n * Debug meta event - per-turn graph and tool usage for copy debug.\n */\nexport interface DebugMetaEvent extends ChatStreamEventBase {\n type: \"debug_meta\";\n graph: string;\n iterations: number;\n tools: DebugMetaToolCall[];\n llm: DebugMetaLlm;\n orchestratorNegotiations?: DebugMetaOrchestratorNegotiations;\n /** Decision-question generation debug data (orchestrator path only). */\n discoveryQuestions?: DebugMetaDiscoveryQuestions;\n}\n\n/** Graph start event — emitted when a LangGraph sub-graph begins inside a tool. */\nexport interface GraphStartEvent extends ChatStreamEventBase {\n type: \"graph_start\";\n graphName: string;\n}\n\n/** Graph end event — emitted when a LangGraph sub-graph completes. */\nexport interface GraphEndEvent extends ChatStreamEventBase {\n type: \"graph_end\";\n graphName: string;\n durationMs: number;\n}\n\n/**\n * Phase start event — emitted when a logical groupings of inline work begins\n * inside a tool. Phases share container semantics with graphs (they can host\n * agents) but render differently in the trace UI so users can tell them\n * apart from LangGraph state machines.\n */\nexport interface PhaseStartEvent extends ChatStreamEventBase {\n type: \"phase_start\";\n phaseName: string;\n}\n\n/** Phase end event — emitted when a logical phase completes. */\nexport interface PhaseEndEvent extends ChatStreamEventBase {\n type: \"phase_end\";\n phaseName: string;\n durationMs: number;\n}\n\n/** Agent start event — emitted when an LLM agent begins inside a graph node. */\nexport interface AgentStartEvent extends ChatStreamEventBase {\n type: \"agent_start\";\n agentName: string;\n}\n\n/** Agent end event — emitted when an LLM agent completes. */\nexport interface AgentEndEvent extends ChatStreamEventBase {\n type: \"agent_end\";\n agentName: string;\n durationMs: number;\n /** Structured outcome summary, e.g. \"5 of 12 passed\" or \"3 intents extracted\". */\n summary: string;\n}\n\n/** Orchestrator per-candidate negotiation wrapper — emitted from `negotiateCandidates`. */\nexport interface NegotiationSessionStartEvent extends ChatStreamEventBase {\n type: \"negotiation_session_start\";\n opportunityId: string;\n negotiationConversationId: string;\n sourceUserId: string;\n candidateUserId: string;\n candidateName?: string;\n trigger: \"orchestrator\" | \"ambient\";\n startedAt: number;\n}\n\nexport interface NegotiationSessionEndEvent extends ChatStreamEventBase {\n type: \"negotiation_session_end\";\n opportunityId: string;\n negotiationConversationId: string;\n durationMs: number;\n}\n\n/** One turn inside a bilateral negotiation. Emitted by the negotiation graph's turn node. */\nexport interface NegotiationTurnEvent extends ChatStreamEventBase {\n type: \"negotiation_turn\";\n opportunityId: string;\n negotiationConversationId: string;\n turnIndex: number;\n actor: \"source\" | \"candidate\";\n action: \"propose\" | \"accept\" | \"reject\" | \"counter\" | \"question\";\n reasoning?: string;\n message?: string;\n suggestedRoles?: { ownUser?: string; otherUser?: string };\n durationMs: number;\n}\n\nexport interface NegotiationOutcomeEvent extends ChatStreamEventBase {\n type: \"negotiation_outcome\";\n opportunityId: string;\n outcome:\n | \"accepted\"\n | \"rejected_stalled\"\n | \"waiting_for_agent\"\n | \"timed_out\"\n | \"turn_cap\";\n turnCount: number;\n reasoning?: string;\n agreedRoles?: { ownUser?: string; otherUser?: string };\n}\n\nexport interface ChatSummarizerStartEvent extends ChatStreamEventBase {\n type: \"chat_summarizer_start\";\n payload: { sessionId: string };\n}\n\nexport interface ChatSummarizerEndEvent extends ChatStreamEventBase {\n type: \"chat_summarizer_end\";\n payload: {\n durationMs: number;\n };\n}\n\nexport interface QuestionGeneratorStartEvent extends ChatStreamEventBase {\n type: \"question_generator_start\";\n payload: {\n inputMode: \"transcripts\" | \"insights\";\n negotiationCount: number;\n hasChatContext: boolean;\n truncated?: { originalCount: number; keptCount: number };\n };\n}\n\nexport interface QuestionGeneratorEndEvent extends ChatStreamEventBase {\n type: \"question_generator_end\";\n payload: {\n finalCount: number;\n strategies: QuestionStrategy[];\n durationMs: number;\n inputMode: \"transcripts\" | \"insights\";\n };\n}\n\nexport interface DecisionQuestionsEvent extends ChatStreamEventBase {\n type: \"decision_questions\";\n questions: Question[];\n}\n\n/**\n * One persisted question streamed by the ask_user_question tool.\n * Carries the DB id so the frontend can answer/dismiss it through the\n * questions REST endpoints while the turn is still blocked.\n */\nexport interface UserQuestionPayload {\n id: string;\n title: string;\n prompt: string;\n options: Array<{ label: string; description: string }>;\n multiSelect: boolean;\n}\n\n/**\n * User question event — emitted when the orchestrator's ask_user_question\n * tool persisted chat-mode questions and is now blocking the turn awaiting\n * the user's inline answer.\n */\nexport interface UserQuestionEvent extends ChatStreamEventBase {\n type: \"user_question\";\n questions: UserQuestionPayload[];\n}\n\n/**\n * Steer-or-queue event — injected into the active SSE stream by the /chat/interrupt\n * endpoint after the classifier runs. The frontend holds the mid-stream message as\n * \"pending\" until this event arrives, then acts on the decision.\n */\nexport interface SteerOrQueueEvent extends ChatStreamEventBase {\n type: \"steer_or_queue\";\n /** Classifier decision: interrupt and restart, or buffer until current run completes. */\n decision: \"steer\" | \"queue\";\n /** Echoed from the interrupt request so the frontend can update the correct pending message. */\n messageId: string;\n}\n\n/**\n * Union type of all chat stream events.\n */\nexport type ChatStreamEvent =\n | StatusEvent\n | RoutingEvent\n | ThinkingEvent\n | SubgraphStartEvent\n | SubgraphResultEvent\n | TokenEvent\n | DoneEvent\n | ErrorEvent\n // Agent Loop Architecture events\n | ToolStartEvent\n | ToolEndEvent\n | AgentThinkingEvent\n // Streaming narration events\n | ToolActivityEvent\n // Agent loop trace events\n | IterationStartEvent\n | LlmStartEvent\n | LlmEndEvent\n // Internal response tracking events\n | ResponseCompleteEvent\n | ResponseResetEvent\n | HallucinationDetectedEvent\n // Debug meta\n | DebugMetaEvent\n // Trace hierarchy events\n | GraphStartEvent\n | GraphEndEvent\n | PhaseStartEvent\n | PhaseEndEvent\n | AgentStartEvent\n | AgentEndEvent\n | NegotiationSessionStartEvent\n | NegotiationSessionEndEvent\n | NegotiationTurnEvent\n | NegotiationOutcomeEvent\n | ChatSummarizerStartEvent\n | ChatSummarizerEndEvent\n | QuestionGeneratorStartEvent\n | QuestionGeneratorEndEvent\n | DecisionQuestionsEvent\n | UserQuestionEvent\n | SteerOrQueueEvent;\n\n/**\n * Formats a chat stream event as an SSE message. If JSON.stringify throws (e.g. circular ref,\n * non-serializable value), returns a minimal error event so the stream stays valid.\n *\n * @param event - The event to format\n * @returns SSE-formatted string with \"data: \" prefix and double newline\n */\nexport function formatSSEEvent(event: ChatStreamEvent): string {\n try {\n return `data: ${JSON.stringify(event)}\\n\\n`;\n } catch (serializeError) {\n const fallback: ErrorEvent = {\n type: \"error\",\n sessionId:\n typeof (event as ChatStreamEventBase).sessionId === \"string\"\n ? (event as ChatStreamEventBase).sessionId\n : \"unknown\",\n timestamp: new Date().toISOString(),\n message: \"Response could not be serialized. Please try again.\",\n code: \"SERIALIZATION_ERROR\",\n };\n return `data: ${JSON.stringify(fallback)}\\n\\n`;\n }\n}\n\n/**\n * Creates a chat stream event with common fields populated.\n *\n * @param type - Event type\n * @param sessionId - Session ID\n * @param data - Event-specific data (excluding type, sessionId, timestamp)\n * @returns Complete event object\n *\n * @example\n * ```ts\n * const statusEvent = createStreamEvent<StatusEvent>('status', 'session-123', {\n * message: 'Processing your request...'\n * });\n * ```\n */\nexport function createStreamEvent<T extends ChatStreamEvent>(\n type: T[\"type\"],\n sessionId: string,\n data: Omit<T, \"type\" | \"sessionId\" | \"timestamp\">,\n): T {\n return {\n ...data,\n type,\n sessionId,\n timestamp: new Date().toISOString(),\n } as T;\n}\n\n/**\n * Type guard to check if an event is a specific type.\n */\nexport function isEventType<T extends ChatStreamEvent>(\n event: ChatStreamEvent,\n type: T[\"type\"],\n): event is T {\n return event.type === type;\n}\n\n/**\n * Creates a formatted status event.\n */\nexport function createStatusEvent(\n sessionId: string,\n message: string,\n): StatusEvent {\n return createStreamEvent<StatusEvent>(\"status\", sessionId, { message });\n}\n\n/**\n * Creates a formatted routing event.\n */\nexport function createRoutingEvent(\n sessionId: string,\n target: string,\n reasoning?: string,\n): RoutingEvent {\n return createStreamEvent<RoutingEvent>(\"routing\", sessionId, {\n target,\n reasoning,\n });\n}\n\n/**\n * Creates a formatted subgraph start event.\n */\nexport function createSubgraphStartEvent(\n sessionId: string,\n subgraph: string,\n): SubgraphStartEvent {\n return createStreamEvent<SubgraphStartEvent>(\"subgraph_start\", sessionId, {\n subgraph,\n });\n}\n\n/**\n * Creates a formatted subgraph result event.\n */\nexport function createSubgraphResultEvent(\n sessionId: string,\n subgraph: string,\n data: Record<string, unknown>,\n): SubgraphResultEvent {\n return createStreamEvent<SubgraphResultEvent>(\"subgraph_result\", sessionId, {\n subgraph,\n data,\n });\n}\n\n/**\n * Creates a formatted token event.\n */\nexport function createTokenEvent(\n sessionId: string,\n content: string,\n): TokenEvent {\n return createStreamEvent<TokenEvent>(\"token\", sessionId, { content });\n}\n\n/**\n * Options for the done event (optional metadata).\n */\nexport interface CreateDoneEventOptions {\n messageId?: string;\n routingDecision?: Record<string, unknown>;\n subgraphResults?: Record<string, unknown>;\n title?: string;\n suggestions?: ChatSuggestion[];\n opportunityCards?: OpportunityCardPayload[];\n decisionQuestions?: Question[];\n}\n\n/**\n * Creates a formatted done event.\n */\nexport function createDoneEvent(\n sessionId: string,\n response: string,\n options?: CreateDoneEventOptions,\n): DoneEvent {\n return createStreamEvent<DoneEvent>(\"done\", sessionId, {\n ...options,\n response,\n });\n}\n\n/**\n * Creates a formatted error event.\n */\nexport function createErrorEvent(\n sessionId: string,\n message: string,\n code?: string,\n): ErrorEvent {\n return createStreamEvent<ErrorEvent>(\"error\", sessionId, { message, code });\n}\n\n/**\n * Creates a formatted thinking event.\n */\nexport function createThinkingEvent(\n sessionId: string,\n content: string,\n step?: string,\n): ThinkingEvent {\n return createStreamEvent<ThinkingEvent>(\"thinking\", sessionId, {\n content,\n step,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted tool start event.\n */\nexport function createToolStartEvent(\n sessionId: string,\n toolName: string,\n toolArgs: Record<string, unknown>,\n): ToolStartEvent {\n return createStreamEvent<ToolStartEvent>(\"tool_start\", sessionId, {\n toolName,\n toolArgs,\n });\n}\n\n/**\n * Creates a formatted tool end event.\n */\nexport function createToolEndEvent(\n sessionId: string,\n toolName: string,\n success: boolean,\n resultSummary?: string,\n): ToolEndEvent {\n return createStreamEvent<ToolEndEvent>(\"tool_end\", sessionId, {\n toolName,\n success,\n resultSummary,\n });\n}\n\n/**\n * Creates a formatted agent thinking event.\n */\nexport function createAgentThinkingEvent(\n sessionId: string,\n iteration: number,\n toolsUsed: string[],\n): AgentThinkingEvent {\n return createStreamEvent<AgentThinkingEvent>(\"agent_thinking\", sessionId, {\n iteration,\n toolsUsed,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// AGENT LOOP TRACE EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted iteration start event.\n */\nexport function createIterationStartEvent(\n sessionId: string,\n iteration: number,\n): IterationStartEvent {\n return createStreamEvent<IterationStartEvent>(\"iteration_start\", sessionId, {\n iteration,\n });\n}\n\n/**\n * Creates a formatted LLM start event.\n */\nexport function createLlmStartEvent(\n sessionId: string,\n iteration: number,\n): LlmStartEvent {\n return createStreamEvent<LlmStartEvent>(\"llm_start\", sessionId, {\n iteration,\n });\n}\n\n/**\n * Creates a formatted LLM end event.\n */\nexport function createLlmEndEvent(\n sessionId: string,\n iteration: number,\n hasToolCalls: boolean,\n toolNames?: string[],\n): LlmEndEvent {\n return createStreamEvent<LlmEndEvent>(\"llm_end\", sessionId, {\n iteration,\n hasToolCalls,\n toolNames,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// STREAMING NARRATION EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted tool activity event (inline narration).\n */\nexport function createToolActivityEvent(\n sessionId: string,\n toolName: string,\n description: string,\n phase: \"start\" | \"end\",\n success?: boolean,\n summary?: string,\n steps?: DebugMetaStep[],\n): ToolActivityEvent {\n return createStreamEvent<ToolActivityEvent>(\"tool_activity\", sessionId, {\n toolName,\n description,\n phase,\n success,\n summary,\n steps,\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// INTERNAL RESPONSE TRACKING EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted response complete event.\n */\nexport function createResponseCompleteEvent(\n sessionId: string,\n response: string,\n): ResponseCompleteEvent {\n return createStreamEvent<ResponseCompleteEvent>(\"response_complete\", sessionId, { response });\n}\n\n/**\n * Creates a formatted response reset event.\n * Tells the frontend to discard all previously streamed tokens.\n */\nexport function createResponseResetEvent(\n sessionId: string,\n reason: string,\n): ResponseResetEvent {\n return createStreamEvent<ResponseResetEvent>(\"response_reset\", sessionId, { reason });\n}\n\n/**\n * Creates a hallucination detected event for the trace panel.\n */\nexport function createHallucinationDetectedEvent(\n sessionId: string,\n blockType: string,\n tool: string,\n): HallucinationDetectedEvent {\n return createStreamEvent<HallucinationDetectedEvent>(\"hallucination_detected\", sessionId, { blockType, tool });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// DEBUG META EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a formatted debug meta event (per-turn graph and tool usage).\n */\nexport function createDebugMetaEvent(\n sessionId: string,\n graph: string,\n iterations: number,\n tools: DebugMetaToolCall[],\n llm: DebugMetaLlm,\n orchestratorNegotiations?: DebugMetaOrchestratorNegotiations,\n discoveryQuestions?: DebugMetaDiscoveryQuestions,\n): DebugMetaEvent {\n return createStreamEvent<DebugMetaEvent>(\"debug_meta\", sessionId, {\n graph,\n iterations,\n tools,\n llm,\n ...(orchestratorNegotiations !== undefined && { orchestratorNegotiations }),\n ...(discoveryQuestions !== undefined && { discoveryQuestions }),\n });\n}\n\n// ════════════════════════════════════════════════════════════════════════════\n// TRACE HIERARCHY EVENT CREATORS\n// ════════════════════════════════════════════════════════════════════════════\n\n/**\n * Creates a graph start event emitted when a LangGraph sub-graph begins inside a tool.\n */\nexport function createGraphStartEvent(sessionId: string, graphName: string): GraphStartEvent {\n return createStreamEvent<GraphStartEvent>(\"graph_start\", sessionId, { graphName });\n}\n\n/**\n * Creates a graph end event emitted when a LangGraph sub-graph completes.\n */\nexport function createGraphEndEvent(sessionId: string, graphName: string, durationMs: number): GraphEndEvent {\n return createStreamEvent<GraphEndEvent>(\"graph_end\", sessionId, { graphName, durationMs });\n}\n\nexport function createPhaseStartEvent(sessionId: string, phaseName: string): PhaseStartEvent {\n return createStreamEvent<PhaseStartEvent>(\"phase_start\", sessionId, { phaseName });\n}\n\nexport function createPhaseEndEvent(sessionId: string, phaseName: string, durationMs: number): PhaseEndEvent {\n return createStreamEvent<PhaseEndEvent>(\"phase_end\", sessionId, { phaseName, durationMs });\n}\n\n/**\n * Creates an agent start event emitted when an LLM agent begins inside a graph node.\n */\nexport function createAgentStartEvent(sessionId: string, agentName: string): AgentStartEvent {\n return createStreamEvent<AgentStartEvent>(\"agent_start\", sessionId, { agentName });\n}\n\n/**\n * Creates an agent end event emitted when an LLM agent completes.\n */\nexport function createAgentEndEvent(\n sessionId: string,\n agentName: string,\n durationMs: number,\n summary: string,\n): AgentEndEvent {\n return createStreamEvent<AgentEndEvent>(\"agent_end\", sessionId, { agentName, durationMs, summary });\n}\n\nexport function createNegotiationSessionStartEvent(\n sessionId: string,\n payload: Omit<NegotiationSessionStartEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationSessionStartEvent {\n return createStreamEvent<NegotiationSessionStartEvent>(\n \"negotiation_session_start\",\n sessionId,\n payload,\n );\n}\n\nexport function createNegotiationSessionEndEvent(\n sessionId: string,\n payload: Omit<NegotiationSessionEndEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationSessionEndEvent {\n return createStreamEvent<NegotiationSessionEndEvent>(\n \"negotiation_session_end\",\n sessionId,\n payload,\n );\n}\n\nexport function createNegotiationTurnEvent(\n sessionId: string,\n payload: Omit<NegotiationTurnEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationTurnEvent {\n return createStreamEvent<NegotiationTurnEvent>(\"negotiation_turn\", sessionId, payload);\n}\n\nexport function createNegotiationOutcomeEvent(\n sessionId: string,\n payload: Omit<NegotiationOutcomeEvent, \"type\" | \"sessionId\" | \"timestamp\">,\n): NegotiationOutcomeEvent {\n return createStreamEvent<NegotiationOutcomeEvent>(\n \"negotiation_outcome\",\n sessionId,\n payload,\n );\n}\n\nexport function createChatSummarizerStartEvent(\n sessionId: string,\n payload: ChatSummarizerStartEvent[\"payload\"],\n): ChatSummarizerStartEvent {\n return createStreamEvent<ChatSummarizerStartEvent>(\"chat_summarizer_start\", sessionId, { payload });\n}\n\nexport function createChatSummarizerEndEvent(\n sessionId: string,\n payload: ChatSummarizerEndEvent[\"payload\"],\n): ChatSummarizerEndEvent {\n return createStreamEvent<ChatSummarizerEndEvent>(\"chat_summarizer_end\", sessionId, { payload });\n}\n\nexport function createQuestionGeneratorStartEvent(\n sessionId: string,\n payload: QuestionGeneratorStartEvent[\"payload\"],\n): QuestionGeneratorStartEvent {\n return createStreamEvent<QuestionGeneratorStartEvent>(\"question_generator_start\", sessionId, { payload });\n}\n\nexport function createQuestionGeneratorEndEvent(\n sessionId: string,\n payload: QuestionGeneratorEndEvent[\"payload\"],\n): QuestionGeneratorEndEvent {\n return createStreamEvent<QuestionGeneratorEndEvent>(\"question_generator_end\", sessionId, { payload });\n}\n\nexport function createDecisionQuestionsEvent(\n sessionId: string,\n payload: { questions: Question[] },\n): DecisionQuestionsEvent {\n return createStreamEvent<DecisionQuestionsEvent>(\"decision_questions\", sessionId, payload);\n}\n\nexport function createUserQuestionEvent(\n sessionId: string,\n payload: { questions: UserQuestionPayload[] },\n): UserQuestionEvent {\n return createStreamEvent<UserQuestionEvent>(\"user_question\", sessionId, payload);\n}\n\n/**\n * Creates a steer-or-queue event injected into the active stream by the interrupt endpoint.\n */\nexport function createSteerOrQueueEvent(\n sessionId: string,\n decision: \"steer\" | \"queue\",\n messageId: string,\n): SteerOrQueueEvent {\n return createStreamEvent<SteerOrQueueEvent>(\"steer_or_queue\", sessionId, {\n decision,\n messageId,\n });\n}\n"]}
@@ -130,6 +130,21 @@ export type AgentStreamEvent = {
130
130
  ownUser?: string;
131
131
  otherUser?: string;
132
132
  };
133
+ } | {
134
+ type: "user_question";
135
+ questions: Array<{
136
+ id: string;
137
+ title: string;
138
+ prompt: string;
139
+ options: Array<{
140
+ label: string;
141
+ description: string;
142
+ }>;
143
+ multiSelect: boolean;
144
+ }>;
145
+ } | {
146
+ type: "status";
147
+ message: string;
133
148
  } | {
134
149
  type: "decision_questions";
135
150
  questions: Question[];
@@ -1 +1 @@
1
- {"version":3,"file":"chat.agent.d.ts","sourceRoot":"/","sources":["chat/chat.agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.agent.d.ts","sourceRoot":"/","sources":["chat/chat.agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAA8C,MAAM,0BAA0B,CAAC;AAC9G,OAAO,EAAmB,KAAK,WAAW,EAA4B,MAAM,iCAAiC,CAAC;AAS9G,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACjJ,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAQ9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAClF,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxE;IAME,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,GACD;IACE,IAAI,EAAE,2BAA2B,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EACH,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,WAAW,GACX,UAAU,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,GACD;IAGE,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvD,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;CACJ,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,OAAO,EAAE;QAAE,SAAS,EAAE,aAAa,GAAG,UAAU,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrM;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,aAAa,GAAG,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAMnK;;GAEG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AA4BvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC,CAAC;IACH,iDAAiD;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IASlB,OAAO,CAAC,eAAe;IARzB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,OAAO;IAkBP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC;;;OAGG;WACU,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB7D;;;;;;OAMG;IAEG,YAAY,CAChB,QAAQ,EAAE,WAAW,EAAE,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,oBAAoB,CAAC;IA8FhC;;OAEG;YACW,gBAAgB;IAsE9B;;;OAGG;YACW,0BAA0B;IAgDxC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAanC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAM5C;IAEF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;IAE5C;;;;;;;OAOG;YACW,mBAAmB;IAgHjC;;;;;OAKG;IAEG,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACjD,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAiDF;;;;;;;;;;;OAWG;IAEG,SAAS,CACb,eAAe,EAAE,WAAW,EAAE,EAC9B,MAAM,CAAC,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC;YAAC,GAAG,EAAE,YAAY,CAAC;YAAC,wBAAwB,CAAC,EAAE,iCAAiC,CAAC;YAAC,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;SAAE,CAAC;KACjN,CAAC;CAikBH"}