@roackb2/heddle 0.0.35 → 0.0.37

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 (132) hide show
  1. package/dist/src/cli/chat/App.d.ts.map +1 -1
  2. package/dist/src/cli/chat/App.js +94 -80
  3. package/dist/src/cli/chat/App.js.map +1 -1
  4. package/dist/src/cli/chat/components/PromptInput.d.ts +5 -0
  5. package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -1
  6. package/dist/src/cli/chat/components/PromptInput.js +131 -85
  7. package/dist/src/cli/chat/components/PromptInput.js.map +1 -1
  8. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts +6 -0
  9. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts.map +1 -0
  10. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js +38 -0
  11. package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js.map +1 -0
  12. package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts +48 -0
  13. package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts.map +1 -0
  14. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js +171 -0
  15. package/dist/src/cli/chat/hooks/tui-agent-turn-result.js.map +1 -0
  16. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts +24 -0
  17. package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts.map +1 -0
  18. package/dist/src/cli/chat/hooks/tui-compaction-status.js +65 -0
  19. package/dist/src/cli/chat/hooks/tui-compaction-status.js.map +1 -0
  20. package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts +28 -0
  21. package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts.map +1 -0
  22. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js +41 -0
  23. package/dist/src/cli/chat/hooks/tui-direct-shell-result.js.map +1 -0
  24. package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts +22 -0
  25. package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts.map +1 -0
  26. package/dist/src/cli/chat/hooks/tui-direct-shell.js +127 -0
  27. package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +1 -0
  28. package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts +13 -0
  29. package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts.map +1 -0
  30. package/dist/src/cli/chat/hooks/tui-drift-observer.js +36 -0
  31. package/dist/src/cli/chat/hooks/tui-drift-observer.js.map +1 -0
  32. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts +31 -0
  33. package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts.map +1 -0
  34. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js +83 -0
  35. package/dist/src/cli/chat/hooks/tui-ordinary-turn.js.map +1 -0
  36. package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts +23 -0
  37. package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts.map +1 -0
  38. package/dist/src/cli/chat/hooks/tui-run-loop-events.js +74 -0
  39. package/dist/src/cli/chat/hooks/tui-run-loop-events.js.map +1 -0
  40. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts +8 -0
  41. package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts.map +1 -0
  42. package/dist/src/cli/chat/hooks/tui-tool-approval.js +37 -0
  43. package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +1 -0
  44. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -1
  45. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
  46. package/dist/src/cli/chat/hooks/useAgentRun.js +59 -551
  47. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
  48. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts +58 -0
  49. package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts.map +1 -0
  50. package/dist/src/cli/chat/hooks/useChatStatusSummary.js +85 -0
  51. package/dist/src/cli/chat/hooks/useChatStatusSummary.js.map +1 -0
  52. package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -1
  53. package/dist/src/cli/chat/hooks/usePromptSubmission.js +1 -0
  54. package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -1
  55. package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
  56. package/dist/src/cli/chat/utils/format.js +21 -0
  57. package/dist/src/cli/chat/utils/format.js.map +1 -1
  58. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
  59. package/dist/src/cli/chat/utils/runtime.js +5 -3
  60. package/dist/src/cli/chat/utils/runtime.js.map +1 -1
  61. package/dist/src/core/agent/run-agent.js +9 -8
  62. package/dist/src/core/agent/run-agent.js.map +1 -1
  63. package/dist/src/core/agent/tool-dispatch.d.ts.map +1 -1
  64. package/dist/src/core/agent/tool-dispatch.js +8 -7
  65. package/dist/src/core/agent/tool-dispatch.js.map +1 -1
  66. package/dist/src/core/agent/util.d.ts +0 -4
  67. package/dist/src/core/agent/util.d.ts.map +1 -1
  68. package/dist/src/core/agent/util.js +1 -7
  69. package/dist/src/core/agent/util.js.map +1 -1
  70. package/dist/src/core/chat/ordinary-turn.d.ts +34 -0
  71. package/dist/src/core/chat/ordinary-turn.d.ts.map +1 -0
  72. package/dist/src/core/chat/ordinary-turn.js +274 -0
  73. package/dist/src/core/chat/ordinary-turn.js.map +1 -0
  74. package/dist/src/core/chat/session-submit.d.ts +4 -4
  75. package/dist/src/core/chat/session-submit.d.ts.map +1 -1
  76. package/dist/src/core/chat/session-submit.js +23 -282
  77. package/dist/src/core/chat/session-submit.js.map +1 -1
  78. package/dist/src/core/chat/session-title.d.ts +15 -0
  79. package/dist/src/core/chat/session-title.d.ts.map +1 -0
  80. package/dist/src/core/chat/session-title.js +17 -0
  81. package/dist/src/core/chat/session-title.js.map +1 -0
  82. package/dist/src/core/chat/session-turn-preflight.d.ts +37 -0
  83. package/dist/src/core/chat/session-turn-preflight.d.ts.map +1 -0
  84. package/dist/src/core/chat/session-turn-preflight.js +43 -0
  85. package/dist/src/core/chat/session-turn-preflight.js.map +1 -0
  86. package/dist/src/core/chat/session-turn-result.d.ts +36 -0
  87. package/dist/src/core/chat/session-turn-result.d.ts.map +1 -0
  88. package/dist/src/core/chat/session-turn-result.js +60 -0
  89. package/dist/src/core/chat/session-turn-result.js.map +1 -0
  90. package/dist/src/core/chat/tool-approval-host.d.ts +22 -0
  91. package/dist/src/core/chat/tool-approval-host.d.ts.map +1 -0
  92. package/dist/src/core/chat/tool-approval-host.js +14 -0
  93. package/dist/src/core/chat/tool-approval-host.js.map +1 -0
  94. package/dist/src/core/chat/turn-host.d.ts +25 -0
  95. package/dist/src/core/chat/turn-host.d.ts.map +1 -0
  96. package/dist/src/core/chat/turn-host.js +2 -0
  97. package/dist/src/core/chat/turn-host.js.map +1 -0
  98. package/dist/src/core/llm/openai.d.ts +7 -0
  99. package/dist/src/core/llm/openai.d.ts.map +1 -1
  100. package/dist/src/core/llm/openai.js +56 -0
  101. package/dist/src/core/llm/openai.js.map +1 -1
  102. package/dist/src/core/memory/domain-prompt.d.ts.map +1 -1
  103. package/dist/src/core/memory/domain-prompt.js +48 -32
  104. package/dist/src/core/memory/domain-prompt.js.map +1 -1
  105. package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
  106. package/dist/src/core/runtime/agent-loop.js +9 -3
  107. package/dist/src/core/runtime/agent-loop.js.map +1 -1
  108. package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
  109. package/dist/src/core/runtime/default-tools.js +1 -0
  110. package/dist/src/core/runtime/default-tools.js.map +1 -1
  111. package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
  112. package/dist/src/core/tools/file-edit-core.js +21 -2
  113. package/dist/src/core/tools/file-edit-core.js.map +1 -1
  114. package/dist/src/core/tools/memory-checkpoint.js +1 -1
  115. package/dist/src/core/tools/memory-checkpoint.js.map +1 -1
  116. package/dist/src/core/tools/record-knowledge.js +8 -4
  117. package/dist/src/core/tools/record-knowledge.js.map +1 -1
  118. package/dist/src/core/tools/view-image.d.ts.map +1 -1
  119. package/dist/src/core/tools/view-image.js +23 -58
  120. package/dist/src/core/tools/view-image.js.map +1 -1
  121. package/dist/src/core/tools/web-search.d.ts +2 -1
  122. package/dist/src/core/tools/web-search.d.ts.map +1 -1
  123. package/dist/src/core/tools/web-search.js +76 -3
  124. package/dist/src/core/tools/web-search.js.map +1 -1
  125. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts +26 -0
  126. package/dist/src/server/features/control-plane/services/chat-session-events.d.ts.map +1 -0
  127. package/dist/src/server/features/control-plane/services/chat-session-events.js +61 -0
  128. package/dist/src/server/features/control-plane/services/chat-session-events.js.map +1 -0
  129. package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
  130. package/dist/src/server/features/control-plane/services/chat-sessions.js +21 -39
  131. package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
  132. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"view-image.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAQ9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOvG,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAgEtF"}
1
+ {"version":3,"file":"view-image.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAW9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOvG,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAgEtF"}
@@ -6,9 +6,8 @@ import { readFile } from 'node:fs/promises';
6
6
  import { extname, resolve } from 'node:path';
7
7
  import Anthropic from '@anthropic-ai/sdk';
8
8
  import OpenAI from 'openai';
9
- import { OPENAI_CODEX_RESPONSES_ENDPOINT } from '../auth/openai-oauth.js';
10
9
  import { inferProviderFromModel } from '../llm/factory.js';
11
- import { createOpenAiOAuthFetch } from '../llm/openai.js';
10
+ import { createOpenAiOAuthFetch, executeOpenAiOAuthCodexSse, extractOpenAiCodexOutputTextFromSse, } from '../llm/openai.js';
12
11
  import { resolveOpenAiOAuthImageCandidateModels, validateModelCredentialCompatibility, } from '../llm/model-policy.js';
13
12
  import { DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL } from '../config.js';
14
13
  import { resolveOAuthCredentialForModel } from '../runtime/api-keys.js';
@@ -167,39 +166,29 @@ async function executeOpenAiOAuthImageStream(args) {
167
166
  if (!args.oauthFetch) {
168
167
  throw new Error('Missing OAuth fetch implementation for OpenAI image inspection.');
169
168
  }
170
- const headers = { 'content-type': 'application/json' };
171
- const body = JSON.stringify({
172
- model: args.model,
173
- store: false,
174
- stream: true,
175
- reasoning: { summary: 'auto' },
176
- instructions: 'You are a helpful vision assistant. Describe the provided screenshot briefly and focus on visible UI text, structure, and notable details.',
177
- input: [{
178
- type: 'message',
179
- role: 'user',
180
- content: [
181
- { type: 'input_text', text: args.prompt },
182
- {
183
- type: 'input_image',
184
- detail: 'auto',
185
- image_url: args.imageUrl,
186
- },
187
- ],
188
- }],
189
- });
190
- const response = await args.oauthFetch(OPENAI_CODEX_RESPONSES_ENDPOINT, {
191
- method: 'POST',
192
- headers,
193
- body,
169
+ const text = await executeOpenAiOAuthCodexSse({
170
+ oauthFetch: args.oauthFetch,
171
+ body: {
172
+ model: args.model,
173
+ store: false,
174
+ stream: true,
175
+ reasoning: { summary: 'auto' },
176
+ instructions: 'You are a helpful vision assistant. Describe the provided screenshot briefly and focus on visible UI text, structure, and notable details.',
177
+ input: [{
178
+ type: 'message',
179
+ role: 'user',
180
+ content: [
181
+ { type: 'input_text', text: args.prompt },
182
+ {
183
+ type: 'input_image',
184
+ detail: 'auto',
185
+ image_url: args.imageUrl,
186
+ },
187
+ ],
188
+ }],
189
+ },
194
190
  });
195
- if (!response.ok) {
196
- const failureBody = await response.text();
197
- const failure = new Error(failureBody || `${response.status} status code (no body)`);
198
- failure.status = response.status;
199
- throw failure;
200
- }
201
- const text = await response.text();
202
- const outputText = extractOutputTextFromSse(text);
191
+ const outputText = extractOpenAiCodexOutputTextFromSse(text);
203
192
  return {
204
193
  model: args.model,
205
194
  output_text: outputText || undefined,
@@ -325,30 +314,6 @@ function formatImageViewFailure(error) {
325
314
  const message = error instanceof Error ? error.message : String(error);
326
315
  return `Image view failed: ${message}`;
327
316
  }
328
- function extractOutputTextFromSse(text) {
329
- const chunks = text.split('\n\n');
330
- let output = '';
331
- for (const chunk of chunks) {
332
- const lines = chunk.split('\n');
333
- const dataLine = lines.find((line) => line.startsWith('data: '));
334
- if (!dataLine) {
335
- continue;
336
- }
337
- try {
338
- const payload = JSON.parse(dataLine.slice(6));
339
- if (payload.type === 'response.output_text.delta' && payload.delta) {
340
- output += payload.delta;
341
- }
342
- if (payload.type === 'response.output_text.done' && payload.text) {
343
- output = payload.text;
344
- }
345
- }
346
- catch {
347
- continue;
348
- }
349
- }
350
- return output.trim();
351
- }
352
317
  function readOpenAiErrorDetails(error) {
353
318
  if (!error || typeof error !== 'object') {
354
319
  return error instanceof Error ? error.message : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"view-image.js","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-image.js","sourceRoot":"","sources":["../../../../src/core/tools/view-image.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { ToolDefinition } from '../types.js';
2
2
  import type { LlmProvider } from '../llm/types.js';
3
- import type { ProviderCredentialSource } from '../runtime/api-keys.js';
3
+ import { type ProviderCredentialSource } from '../runtime/api-keys.js';
4
4
  export type WebSearchToolOptions = {
5
5
  model?: string;
6
6
  provider?: LlmProvider;
7
7
  apiKey?: string;
8
8
  providerCredentialSource?: ProviderCredentialSource;
9
+ credentialStorePath?: string;
9
10
  };
10
11
  export declare const webSearchTool: ToolDefinition;
11
12
  export declare function createWebSearchTool(options?: WebSearchToolOptions): ToolDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/web-search.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAoDtF"}
1
+ {"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../../src/core/tools/web-search.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,aAAa,CAAC;AAS9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAOhC,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC;AAEnE,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,cAAc,CAoDtF"}
@@ -5,7 +5,10 @@
5
5
  import Anthropic from '@anthropic-ai/sdk';
6
6
  import OpenAI from 'openai';
7
7
  import { inferProviderFromModel } from '../llm/factory.js';
8
+ import { createOpenAiOAuthFetch, executeOpenAiOAuthCodexSse, extractOpenAiCodexOutputTextFromSse, extractOpenAiCodexSseItems, } from '../llm/openai.js';
9
+ import { validateModelCredentialCompatibility } from '../llm/model-policy.js';
8
10
  import { DEFAULT_ANTHROPIC_MODEL, DEFAULT_OPENAI_MODEL } from '../config.js';
11
+ import { resolveOAuthCredentialForModel, } from '../runtime/api-keys.js';
9
12
  export const webSearchTool = createWebSearchTool();
10
13
  export function createWebSearchTool(options = {}) {
11
14
  return {
@@ -59,12 +62,31 @@ export function createWebSearchTool(options = {}) {
59
62
  };
60
63
  }
61
64
  async function executeOpenAiWebSearch(input, options) {
62
- if (options.providerCredentialSource?.type === 'oauth') {
65
+ const model = options.model ?? process.env.OPENAI_WEB_SEARCH_MODEL ?? DEFAULT_OPENAI_MODEL;
66
+ const oauthCredential = options.providerCredentialSource?.type === 'oauth' ?
67
+ resolveOAuthCredentialForModel(model, { storePath: options.credentialStorePath })
68
+ : undefined;
69
+ if (options.providerCredentialSource?.type === 'oauth' && !oauthCredential) {
70
+ return {
71
+ ok: false,
72
+ error: 'web_search could not load the stored OpenAI account sign-in credential for this workspace. Sign in again with `heddle auth login openai`, or set OPENAI_API_KEY to use Platform API-key mode.',
73
+ };
74
+ }
75
+ const compatibility = validateModelCredentialCompatibility({
76
+ model,
77
+ provider: 'openai',
78
+ credentialMode: oauthCredential ? 'oauth' : undefined,
79
+ usageLabel: 'web search',
80
+ });
81
+ if (!compatibility.ok) {
63
82
  return {
64
83
  ok: false,
65
- error: 'web_search currently requires OpenAI Platform API-key mode. The active OpenAI credential is account sign-in; set OPENAI_API_KEY or pass an explicit API key to use hosted web search.',
84
+ error: compatibility.error,
66
85
  };
67
86
  }
87
+ if (oauthCredential) {
88
+ return await executeOpenAiOAuthWebSearch(input, { ...options, model }, oauthCredential);
89
+ }
68
90
  const apiKey = firstDefinedNonEmpty(options.apiKey, process.env.OPENAI_API_KEY, process.env.PERSONAL_OPENAI_API_KEY);
69
91
  if (!apiKey) {
70
92
  return {
@@ -73,7 +95,6 @@ async function executeOpenAiWebSearch(input, options) {
73
95
  };
74
96
  }
75
97
  const client = new OpenAI({ apiKey });
76
- const model = options.model ?? process.env.OPENAI_WEB_SEARCH_MODEL ?? DEFAULT_OPENAI_MODEL;
77
98
  const response = await client.responses.create({
78
99
  model,
79
100
  input: input.query,
@@ -87,6 +108,29 @@ async function executeOpenAiWebSearch(input, options) {
87
108
  output: formatOpenAiWebSearchResult(response),
88
109
  };
89
110
  }
111
+ async function executeOpenAiOAuthWebSearch(input, options, oauthCredential) {
112
+ const oauthFetch = createOpenAiOAuthFetch(oauthCredential, { storePath: options.credentialStorePath });
113
+ const sseText = await executeOpenAiOAuthCodexSse({
114
+ oauthFetch,
115
+ body: {
116
+ model: options.model,
117
+ store: false,
118
+ stream: true,
119
+ reasoning: { summary: 'auto' },
120
+ instructions: 'Search the web and answer concisely with citations when available.',
121
+ include: ['web_search_call.action.sources'],
122
+ input: [{ type: 'message', role: 'user', content: input.query }],
123
+ tools: [{
124
+ type: 'web_search',
125
+ search_context_size: input.contextSize ?? 'medium',
126
+ }],
127
+ },
128
+ });
129
+ return {
130
+ ok: true,
131
+ output: formatOpenAiOAuthWebSearchSseResult(sseText, options.model),
132
+ };
133
+ }
90
134
  async function executeAnthropicWebSearch(input, options) {
91
135
  const apiKey = firstDefinedNonEmpty(options.apiKey, process.env.ANTHROPIC_API_KEY, process.env.PERSONAL_ANTHROPIC_API_KEY);
92
136
  if (!apiKey) {
@@ -174,6 +218,35 @@ function extractOpenAiUrlCitations(response) {
174
218
  }
175
219
  return citations;
176
220
  }
221
+ function formatOpenAiOAuthWebSearchSseResult(sseText, model) {
222
+ return {
223
+ provider: 'openai',
224
+ model,
225
+ summary: extractOpenAiCodexOutputTextFromSse(sseText).trim() || 'No summary returned.',
226
+ citations: extractSseWebSearchSources(sseText),
227
+ };
228
+ }
229
+ function extractSseWebSearchSources(sseText) {
230
+ const citations = [];
231
+ const seen = new Set();
232
+ const items = extractOpenAiCodexSseItems(sseText, (item) => Boolean(item && typeof item === 'object' && item.type === 'web_search_call'));
233
+ for (const item of items) {
234
+ for (const source of item.action?.sources ?? []) {
235
+ if (source.type !== 'url' || !source.url) {
236
+ continue;
237
+ }
238
+ if (seen.has(source.url)) {
239
+ continue;
240
+ }
241
+ seen.add(source.url);
242
+ citations.push({
243
+ title: source.url,
244
+ url: source.url,
245
+ });
246
+ }
247
+ }
248
+ return citations;
249
+ }
177
250
  function formatAnthropicWebSearchResult(response) {
178
251
  const textBlocks = response.content.filter((block) => block.type === 'text');
179
252
  const summary = textBlocks.map((block) => block.text).join('\n').trim() || 'No summary returned.';
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../../src/core/tools/web-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../../src/core/tools/web-search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { EventEmitter } from 'node:events';
2
+ import type { ToolCall, ToolDefinition } from '../../../../index.js';
3
+ import type { ChatTurnHostPort } from '../../../../core/chat/turn-host.js';
4
+ import type { AgentLoopEvent } from '../../../../core/runtime/agent-loop.js';
5
+ import type { ControlPlaneSessionLiveEvent } from '../types.js';
6
+ export declare function emitControlPlaneSessionEvent(args: {
7
+ eventBus: EventEmitter;
8
+ sessionId: string;
9
+ event: ControlPlaneSessionLiveEvent['event'];
10
+ }): void;
11
+ export declare function createControlPlaneSessionEventPublisher(args: {
12
+ eventBus: EventEmitter;
13
+ sessionId: string;
14
+ }): {
15
+ hostPort: ChatTurnHostPort;
16
+ publishAgentLoopEvent(event: AgentLoopEvent): void;
17
+ publishCompactionStatus(event: ControlPlaneSessionLiveEvent["event"]): void;
18
+ publishApprovalRequested(call: ToolCall): void;
19
+ };
20
+ export declare function createControlPlanePendingApprovalView(call: ToolCall, tool: ToolDefinition): {
21
+ tool: string;
22
+ callId: string;
23
+ input: unknown;
24
+ requestedAt: string;
25
+ };
26
+ //# sourceMappingURL=chat-session-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-session-events.d.ts","sourceRoot":"","sources":["../../../../../../src/server/features/control-plane/services/chat-session-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAA6C,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC;CAC9C,QAMA;AAED,wBAAgB,uCAAuC,CAAC,IAAI,EAAE;IAC5D,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;;iCAUgC,cAAc;mCAIZ,4BAA4B,CAAC,OAAO,CAAC;mCAIrC,QAAQ;EA+B1C;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc;;;;;EAOzF"}
@@ -0,0 +1,61 @@
1
+ export function emitControlPlaneSessionEvent(args) {
2
+ args.eventBus.emit(args.sessionId, {
3
+ sessionId: args.sessionId,
4
+ timestamp: new Date().toISOString(),
5
+ event: args.event,
6
+ });
7
+ }
8
+ export function createControlPlaneSessionEventPublisher(args) {
9
+ const publishEvent = (event) => {
10
+ emitControlPlaneSessionEvent({
11
+ eventBus: args.eventBus,
12
+ sessionId: args.sessionId,
13
+ event,
14
+ });
15
+ };
16
+ const publisher = {
17
+ publishAgentLoopEvent(event) {
18
+ publishEvent(event);
19
+ },
20
+ publishCompactionStatus(event) {
21
+ publishEvent(event);
22
+ },
23
+ publishApprovalRequested(call) {
24
+ publishEvent({
25
+ type: 'trace',
26
+ runId: 'pending-approval',
27
+ timestamp: new Date().toISOString(),
28
+ event: {
29
+ type: 'tool.approval_requested',
30
+ call,
31
+ step: 0,
32
+ timestamp: new Date().toISOString(),
33
+ },
34
+ });
35
+ },
36
+ };
37
+ const events = {
38
+ onAgentLoopEvent: publisher.publishAgentLoopEvent,
39
+ };
40
+ const compaction = {
41
+ onPreflightCompactionStatus: publisher.publishCompactionStatus,
42
+ onFinalCompactionStatus: publisher.publishCompactionStatus,
43
+ };
44
+ const hostPort = {
45
+ events,
46
+ compaction,
47
+ };
48
+ return {
49
+ ...publisher,
50
+ hostPort,
51
+ };
52
+ }
53
+ export function createControlPlanePendingApprovalView(call, tool) {
54
+ return {
55
+ tool: tool.name,
56
+ callId: call.id,
57
+ input: call.input,
58
+ requestedAt: new Date().toISOString(),
59
+ };
60
+ }
61
+ //# sourceMappingURL=chat-session-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-session-events.js","sourceRoot":"","sources":["../../../../../../src/server/features/control-plane/services/chat-session-events.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,4BAA4B,CAAC,IAI5C;IACC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK;KACqB,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,IAGvD;IACC,MAAM,YAAY,GAAG,CAAC,KAA4C,EAAE,EAAE;QACpE,4BAA4B,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,qBAAqB,CAAC,KAAqB;YACzC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,uBAAuB,CAAC,KAA4C;YAClE,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,wBAAwB,CAAC,IAAc;YACrC,YAAY,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE;oBACL,IAAI,EAAE,yBAAyB;oBAC/B,IAAI;oBACJ,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,MAAM,MAAM,GAAsB;QAChC,gBAAgB,EAAE,SAAS,CAAC,qBAAqB;KAClD,CAAC;IACF,MAAM,UAAU,GAA2B;QACzC,2BAA2B,EAAE,SAAS,CAAC,uBAAuB;QAC9D,uBAAuB,EAAE,SAAS,CAAC,uBAAuB;KAC3D,CAAC;IACF,MAAM,QAAQ,GAAqB;QACjC,MAAM;QACN,UAAU;KACX,CAAC;IAEF,OAAO;QACL,GAAG,SAAS;QACZ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAc,EAAE,IAAoB;IACxF,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-sessions.d.ts","sourceRoot":"","sources":["../../../../../../src/server/features/control-plane/services/chat-sessions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAG/E,OAAO,KAAK,EAEV,iBAAiB,EAEjB,eAAe,EACf,cAAc,EAId,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAIrB,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzD,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAIF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAiBpB;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE;IAC1D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,iBAAiB,CAqBpB;AASD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB;;;;GAwEhE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC;;;;GAclF;AAkED,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,MAAM,IAAI,CAKZ;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAEzG;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASvE;AAED,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAST;AAED,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,eAAe,EAAE,CAIlF;AAED,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAG3G;AAED,wBAAgB,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQ5H;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,eAAe,EAAE,CAmFpF;AAgDD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,EAAE,CAgBxF"}
1
+ {"version":3,"file":"chat-sessions.d.ts","sourceRoot":"","sources":["../../../../../../src/server/features/control-plane/services/chat-sessions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,gCAAgC,CAAC;AAQ/E,OAAO,KAAK,EAEV,iBAAiB,EAEjB,eAAe,EACf,cAAc,EAId,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAIrB,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzD,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AAIF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAiBpB;AAED,wBAAgB,qCAAqC,CAAC,IAAI,EAAE;IAC1D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,iBAAiB,CAqBpB;AASD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB;;;;GAoDhE;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC;;;;GAclF;AAkED,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,IAAI,GACtD,MAAM,IAAI,CAKZ;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAEzG;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASvE;AAED,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAST;AAED,wBAAgB,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,GAAG,eAAe,EAAE,CAIlF;AAED,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAG3G;AAED,wBAAgB,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQ5H;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,eAAe,EAAE,CAmFpF;AAgDD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,iBAAiB,EAAE,CAgBxF"}
@@ -7,6 +7,8 @@ import { parseUnifiedDiffFiles } from '../../../../core/review/diff-domain.js';
7
7
  import { hasProviderCredentialForModel } from '../../../../core/runtime/api-keys.js';
8
8
  import { buildConversationMessages } from '../../../../core/chat/conversation-lines.js';
9
9
  import { submitChatSessionPrompt } from '../../../../core/chat/session-submit.js';
10
+ import { requestToolApproval } from '../../../../core/chat/tool-approval-host.js';
11
+ import { createControlPlanePendingApprovalView, createControlPlaneSessionEventPublisher, } from './chat-session-events.js';
10
12
  const DEFAULT_CONTINUE_PROMPT = 'Continue from where you left off.';
11
13
  export function createControlPlaneChatSession(args) {
12
14
  const existing = readChatSessionViews(args.sessionStoragePath);
@@ -56,6 +58,10 @@ export async function submitChatPrompt(args) {
56
58
  }
57
59
  const controller = new AbortController();
58
60
  inFlightRuns.set(args.sessionId, controller);
61
+ const events = createControlPlaneSessionEventPublisher({
62
+ eventBus: sessionEventBus,
63
+ sessionId: args.sessionId,
64
+ });
59
65
  try {
60
66
  const result = await submitChatSessionPrompt({
61
67
  ...args,
@@ -63,50 +69,26 @@ export async function submitChatPrompt(args) {
63
69
  preferApiKey: args.preferApiKey,
64
70
  memoryMaintenanceMode: args.memoryMaintenanceMode,
65
71
  abortSignal: controller.signal,
66
- onEvent: (event) => {
67
- sessionEventBus.emit(args.sessionId, {
68
- sessionId: args.sessionId,
69
- timestamp: new Date().toISOString(),
70
- event,
71
- });
72
- },
72
+ onEvent: events.hostPort.events?.onAgentLoopEvent,
73
73
  approveToolCall: async (call, tool) => {
74
- const decision = await new Promise((resolve) => {
75
- pendingApprovals.set(args.sessionId, {
76
- approval: {
77
- tool: tool.name,
78
- callId: call.id,
79
- input: call.input,
80
- requestedAt: new Date().toISOString(),
81
- },
82
- resolve,
83
- });
84
- sessionEventBus.emit(args.sessionId, {
85
- sessionId: args.sessionId,
86
- timestamp: new Date().toISOString(),
87
- event: {
88
- type: 'trace',
89
- runId: 'pending-approval',
90
- timestamp: new Date().toISOString(),
91
- event: {
92
- type: 'tool.approval_requested',
93
- call,
94
- step: 0,
95
- timestamp: new Date().toISOString(),
96
- },
97
- },
98
- });
74
+ const decision = await requestToolApproval({
75
+ call,
76
+ tool,
77
+ createView: createControlPlanePendingApprovalView,
78
+ storePending: ({ view, resolve }) => {
79
+ pendingApprovals.set(args.sessionId, {
80
+ approval: view,
81
+ resolve,
82
+ });
83
+ },
84
+ publish: (_view, callForEvent) => {
85
+ events.publishApprovalRequested(callForEvent);
86
+ },
99
87
  });
100
88
  pendingApprovals.delete(args.sessionId);
101
89
  return decision;
102
90
  },
103
- onCompactionStatus: (event) => {
104
- sessionEventBus.emit(args.sessionId, {
105
- sessionId: args.sessionId,
106
- timestamp: new Date().toISOString(),
107
- event,
108
- });
109
- },
91
+ onCompactionStatus: events.hostPort.compaction?.onFinalCompactionStatus,
110
92
  });
111
93
  return {
112
94
  ...result,