musonda 1.0.5 → 1.0.7

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 (82) hide show
  1. package/README.md +3 -0
  2. package/dist/agent/harness.d.ts +14 -1
  3. package/dist/agent/harness.js +175 -19
  4. package/dist/agent/harness.js.map +1 -1
  5. package/dist/agent/openaiResponsesClient.d.ts +13 -0
  6. package/dist/agent/openaiResponsesClient.js +61 -9
  7. package/dist/agent/openaiResponsesClient.js.map +1 -1
  8. package/dist/agent/runLedger.d.ts +56 -0
  9. package/dist/agent/runLedger.js +173 -0
  10. package/dist/agent/runLedger.js.map +1 -0
  11. package/dist/agent/systemPrompt.js +9 -0
  12. package/dist/agent/systemPrompt.js.map +1 -1
  13. package/dist/agent/types.d.ts +7 -0
  14. package/dist/cli/commands/connect.d.ts +19 -0
  15. package/dist/cli/commands/connect.js +270 -0
  16. package/dist/cli/commands/connect.js.map +1 -0
  17. package/dist/cli/commands/help.js +36 -0
  18. package/dist/cli/commands/help.js.map +1 -1
  19. package/dist/cli/commands/status.js +1 -0
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/cli/interactiveMenu.js +18 -2
  22. package/dist/cli/interactiveMenu.js.map +1 -1
  23. package/dist/cli/musondaCli.d.ts +9 -0
  24. package/dist/cli/musondaCli.js +83 -0
  25. package/dist/cli/musondaCli.js.map +1 -1
  26. package/dist/cli/ui.js +17 -17
  27. package/dist/cli/ui.js.map +1 -1
  28. package/dist/cli.js +6 -6
  29. package/dist/cli.js.map +1 -1
  30. package/dist/config/loader.js +18 -0
  31. package/dist/config/loader.js.map +1 -1
  32. package/dist/config/types.d.ts +44 -0
  33. package/dist/config/types.js +19 -0
  34. package/dist/config/types.js.map +1 -1
  35. package/dist/gateway/channels/cli.d.ts +14 -2
  36. package/dist/gateway/channels/cli.js +122 -17
  37. package/dist/gateway/channels/cli.js.map +1 -1
  38. package/dist/gateway/channels/discord.d.ts +10 -2
  39. package/dist/gateway/channels/discord.js +102 -15
  40. package/dist/gateway/channels/discord.js.map +1 -1
  41. package/dist/gateway/channels/slack.d.ts +10 -2
  42. package/dist/gateway/channels/slack.js +146 -13
  43. package/dist/gateway/channels/slack.js.map +1 -1
  44. package/dist/gateway/channels/telegram.d.ts +43 -0
  45. package/dist/gateway/channels/telegram.js +517 -0
  46. package/dist/gateway/channels/telegram.js.map +1 -0
  47. package/dist/gateway/channels/webhook.d.ts +19 -7
  48. package/dist/gateway/channels/webhook.js +18 -3
  49. package/dist/gateway/channels/webhook.js.map +1 -1
  50. package/dist/gateway/http.d.ts +8 -1
  51. package/dist/gateway/http.js +266 -8
  52. package/dist/gateway/http.js.map +1 -1
  53. package/dist/gateway/server.d.ts +8 -0
  54. package/dist/gateway/server.js +58 -20
  55. package/dist/gateway/server.js.map +1 -1
  56. package/dist/gateway/types.d.ts +7 -1
  57. package/dist/media/mediaManager.d.ts +43 -0
  58. package/dist/media/mediaManager.js +465 -0
  59. package/dist/media/mediaManager.js.map +1 -0
  60. package/dist/media/types.d.ts +30 -0
  61. package/dist/media/types.js +2 -0
  62. package/dist/media/types.js.map +1 -0
  63. package/dist/memory/storage.d.ts +4 -1
  64. package/dist/memory/storage.js +47 -8
  65. package/dist/memory/storage.js.map +1 -1
  66. package/dist/scheduler/scheduler.d.ts +2 -0
  67. package/dist/scheduler/scheduler.js +54 -7
  68. package/dist/scheduler/scheduler.js.map +1 -1
  69. package/dist/scheduler/types.d.ts +3 -1
  70. package/dist/tools/builtin/mediaTools.d.ts +5 -0
  71. package/dist/tools/builtin/mediaTools.js +232 -0
  72. package/dist/tools/builtin/mediaTools.js.map +1 -0
  73. package/dist/tools/builtin/scheduleTools.js +1 -1
  74. package/dist/tools/builtin/scheduleTools.js.map +1 -1
  75. package/dist/tools/registry.js +12 -0
  76. package/dist/tools/registry.js.map +1 -1
  77. package/dist/tools/types.d.ts +3 -0
  78. package/dist/utils/logger.js +8 -8
  79. package/dist/utils/logger.js.map +1 -1
  80. package/dist/wizard/onboarding.js +53 -16
  81. package/dist/wizard/onboarding.js.map +1 -1
  82. package/package.json +2 -2
package/README.md CHANGED
@@ -199,6 +199,9 @@ conversation.
199
199
  |---|---|
200
200
  | `musonda` | Opens the interactive dashboard and menu |
201
201
  | `musonda setup` | Runs the personal onboarding and channel setup wizard |
202
+ | `musonda connect <channel>` | Connects a channel (telegram\|discord\|slack) without onboarding |
203
+ | `musonda disconnect <channel>` | Disables a connected channel (tokens are kept) |
204
+ | `musonda channels` | Shows channel connection status |
202
205
  | `musonda cli` | Starts an interactive terminal conversation |
203
206
  | `musonda start gateway` | Starts the Gateway server in foreground mode |
204
207
  | `musonda start gateway --daemon` | Starts the Gateway server in detached background mode |
@@ -3,6 +3,8 @@ import { MemoryManager } from '../memory/memoryManager.js';
3
3
  import { ToolRegistry } from '../tools/registry.js';
4
4
  import { OpenAIResponsesClient } from './openaiResponsesClient.js';
5
5
  import { AgentRunInput, AgentRunResult } from './types.js';
6
+ import { FileRunLedger } from './runLedger.js';
7
+ import { MediaManager } from '../media/mediaManager.js';
6
8
  export declare class AgentHarness {
7
9
  private config;
8
10
  private memory;
@@ -12,7 +14,11 @@ export declare class AgentHarness {
12
14
  private scheduler?;
13
15
  private pluginManager?;
14
16
  private gateway?;
15
- constructor(config: MusondaConfig, memory: MemoryManager, tools: ToolRegistry, client: OpenAIResponsesClient, scheduler?: any, pluginManager?: any, gateway?: any);
17
+ private mediaManager?;
18
+ private runLedger?;
19
+ constructor(config: MusondaConfig, memory: MemoryManager, tools: ToolRegistry, client: OpenAIResponsesClient, scheduler?: any, pluginManager?: any, gateway?: any, mediaManager?: MediaManager);
20
+ setMediaManager(mediaManager: MediaManager): void;
21
+ getMediaManager(): MediaManager | undefined;
16
22
  setGateway(gateway: any): void;
17
23
  getGateway(): any;
18
24
  setScheduler(scheduler: any): void;
@@ -22,6 +28,13 @@ export declare class AgentHarness {
22
28
  getMemoryManager(): MemoryManager;
23
29
  getToolRegistry(): ToolRegistry;
24
30
  getClient(): OpenAIResponsesClient;
31
+ /** Inject a file-backed run ledger (durable journal). Optional — harness works without it. */
32
+ setRunLedger(ledger: FileRunLedger): void;
33
+ getRunLedger(): FileRunLedger | undefined;
34
+ /** Best-effort ledger rooted at <dataDir>/runs. Never throws. */
35
+ private resolveLedger;
36
+ /** Runs that crashed mid-flight (status running/awaiting_tool). For boot-time resume. */
37
+ listPendingRuns(): any[];
25
38
  private formatToolStatus;
26
39
  private formatToolReviewStatus;
27
40
  processMessage(input: AgentRunInput): Promise<AgentRunResult>;
@@ -1,4 +1,8 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
1
4
  import { SystemPromptBuilder } from './systemPrompt.js';
5
+ import { FileRunLedger } from './runLedger.js';
2
6
  import { logger } from '../utils/logger.js';
3
7
  export class AgentHarness {
4
8
  config;
@@ -9,7 +13,9 @@ export class AgentHarness {
9
13
  scheduler;
10
14
  pluginManager;
11
15
  gateway;
12
- constructor(config, memory, tools, client, scheduler, pluginManager, gateway) {
16
+ mediaManager;
17
+ runLedger;
18
+ constructor(config, memory, tools, client, scheduler, pluginManager, gateway, mediaManager) {
13
19
  this.config = config;
14
20
  this.memory = memory;
15
21
  this.tools = tools;
@@ -17,6 +23,13 @@ export class AgentHarness {
17
23
  this.scheduler = scheduler;
18
24
  this.pluginManager = pluginManager;
19
25
  this.gateway = gateway;
26
+ this.mediaManager = mediaManager;
27
+ }
28
+ setMediaManager(mediaManager) {
29
+ this.mediaManager = mediaManager;
30
+ }
31
+ getMediaManager() {
32
+ return this.mediaManager;
20
33
  }
21
34
  setGateway(gateway) {
22
35
  this.gateway = gateway;
@@ -45,6 +58,38 @@ export class AgentHarness {
45
58
  getClient() {
46
59
  return this.client;
47
60
  }
61
+ /** Inject a file-backed run ledger (durable journal). Optional — harness works without it. */
62
+ setRunLedger(ledger) {
63
+ this.runLedger = ledger;
64
+ }
65
+ getRunLedger() {
66
+ return this.runLedger;
67
+ }
68
+ /** Best-effort ledger rooted at <dataDir>/runs. Never throws. */
69
+ resolveLedger() {
70
+ if (this.runLedger)
71
+ return this.runLedger;
72
+ try {
73
+ const storageDir = this.config?.memory?.storageDir || './data/memory';
74
+ const resolved = path.resolve(storageDir);
75
+ // storageDir is usually ./data/memory -> data root is its parent.
76
+ const dataRoot = path.basename(resolved) === 'memory' ? path.dirname(resolved) : resolved;
77
+ this.runLedger = new FileRunLedger(path.join(dataRoot, 'runs'));
78
+ return this.runLedger;
79
+ }
80
+ catch {
81
+ return undefined;
82
+ }
83
+ }
84
+ /** Runs that crashed mid-flight (status running/awaiting_tool). For boot-time resume. */
85
+ listPendingRuns() {
86
+ try {
87
+ return this.resolveLedger()?.listPendingRuns() ?? [];
88
+ }
89
+ catch {
90
+ return [];
91
+ }
92
+ }
48
93
  formatToolStatus(name) {
49
94
  const lower = name.toLowerCase();
50
95
  if (lower.includes('search') || lower.includes('google') || lower.includes('bing')) {
@@ -70,10 +115,11 @@ export class AgentHarness {
70
115
  return null;
71
116
  }
72
117
  async processMessage(input) {
73
- const { sessionId, channel, channelId, userId, userName, threadTs, messageText, scheduler } = input;
118
+ const { sessionId, channel, channelId, userId, userName, threadTs, messageText, media, scheduler } = input;
74
119
  const activeScheduler = scheduler || this.scheduler;
75
120
  const assistantName = this.config.assistant.customName || this.config.assistant.name || 'Musonda';
76
121
  logger.agent(`Processing message from ${userName || userId} on [${channel}]: "${messageText.substring(0, 60)}${messageText.length > 60 ? '...' : ''}"`);
122
+ const stagedMedia = [];
77
123
  const emitEvent = async (event) => {
78
124
  if (input.onEvent) {
79
125
  try {
@@ -92,9 +138,27 @@ export class AgentHarness {
92
138
  }
93
139
  }
94
140
  };
141
+ const attachMedia = async (m) => {
142
+ stagedMedia.push(m);
143
+ await emitEvent({ type: 'media.created', media: m });
144
+ };
145
+ const runId = crypto.randomUUID();
146
+ const ledger = this.resolveLedger();
147
+ const journal = (fn) => {
148
+ try {
149
+ fn();
150
+ }
151
+ catch (err) {
152
+ logger.debug('Run ledger journal failed (non-fatal):', err);
153
+ }
154
+ };
95
155
  try {
96
156
  await emitEvent({ type: 'run.started' });
97
157
  await emitEvent({ type: 'status', text: 'Thinking…' });
158
+ journal(() => {
159
+ ledger?.createRun(runId, sessionId, channel);
160
+ ledger?.appendEvent(runId, { type: 'user', text: messageText });
161
+ });
98
162
  // 1. Fetch user profile
99
163
  const profile = this.memory.getProfile();
100
164
  // 2. Auto-recall relevant long-term memories based on the user's message
@@ -119,16 +183,63 @@ export class AgentHarness {
119
183
  });
120
184
  }
121
185
  }
186
+ // Handle media attachments uploaded by user
187
+ let enrichedUserText = messageText;
188
+ let userMessageContent = messageText;
189
+ if (media && media.length > 0) {
190
+ const mediaDetails = media
191
+ .map((m) => `- "${m.filename}" (${m.mimeType || 'unknown'}, type: ${m.type || 'file'}${m.size ? `, size: ${m.size} bytes` : ''}${m.path ? `, local path: ${m.path}` : ''}${m.altText ? `, description: ${m.altText}` : ''})`)
192
+ .join('\n');
193
+ enrichedUserText = `${messageText}\n\n[Attached Media (${media.length} file(s)):\n${mediaDetails}]`;
194
+ const hasImages = media.some((m) => m.type === 'image' || m.mimeType?.startsWith('image/'));
195
+ if (hasImages) {
196
+ const contentParts = [{ type: 'input_text', text: enrichedUserText }];
197
+ for (const m of media) {
198
+ if (m.type === 'image' || m.mimeType?.startsWith('image/')) {
199
+ if (m.url &&
200
+ (m.url.startsWith('http://') || m.url.startsWith('https://') || m.url.startsWith('data:'))) {
201
+ contentParts.push({
202
+ type: 'input_image',
203
+ image_url: m.url,
204
+ });
205
+ }
206
+ else if (m.buffer) {
207
+ const mime = m.mimeType || 'image/png';
208
+ contentParts.push({
209
+ type: 'input_image',
210
+ image_url: `data:${mime};base64,${m.buffer.toString('base64')}`,
211
+ });
212
+ }
213
+ else if (m.path && fs.existsSync(m.path)) {
214
+ try {
215
+ const buf = fs.readFileSync(m.path);
216
+ const mime = m.mimeType || 'image/png';
217
+ contentParts.push({
218
+ type: 'input_image',
219
+ image_url: `data:${mime};base64,${buf.toString('base64')}`,
220
+ });
221
+ }
222
+ catch { }
223
+ }
224
+ }
225
+ }
226
+ userMessageContent = contentParts;
227
+ }
228
+ else {
229
+ userMessageContent = enrichedUserText;
230
+ }
231
+ }
122
232
  // Add current user message
123
233
  inputItems.push({
124
234
  role: 'user',
125
- content: messageText,
235
+ content: userMessageContent,
126
236
  type: 'message',
127
237
  });
128
238
  // Record user message in session memory
129
239
  this.memory.appendSessionMessage(sessionId, {
130
240
  role: 'user',
131
241
  content: messageText,
242
+ media: media && media.length > 0 ? media : undefined,
132
243
  }, channel, userId, userName);
133
244
  // 6. Multi-turn Agent Reasoning & Tool Loop
134
245
  const openAiTools = this.tools.getOpenAITools();
@@ -151,6 +262,9 @@ export class AgentHarness {
151
262
  });
152
263
  if (modelResponse.text) {
153
264
  finalReplyText = modelResponse.text;
265
+ journal(() => {
266
+ ledger?.appendEvent(runId, { type: 'model_text', text: modelResponse.text });
267
+ });
154
268
  }
155
269
  // If no tool calls were requested, we are done
156
270
  if (!modelResponse.toolCalls || modelResponse.toolCalls.length === 0) {
@@ -159,6 +273,7 @@ export class AgentHarness {
159
273
  // Execute tool calls
160
274
  totalToolCalls += modelResponse.toolCalls.length;
161
275
  logger.agent(`Executing ${modelResponse.toolCalls.length} tool call(s) in turn ${iterations}`);
276
+ journal(() => ledger?.updateState(runId, { status: 'awaiting_tool', iterations }));
162
277
  for (const call of modelResponse.toolCalls) {
163
278
  // Append model's tool call to input items
164
279
  inputItems.push({
@@ -167,24 +282,51 @@ export class AgentHarness {
167
282
  name: call.name,
168
283
  arguments: call.arguments,
169
284
  });
285
+ journal(() => {
286
+ ledger?.appendEvent(runId, {
287
+ type: 'function_call',
288
+ callId: call.callId,
289
+ name: call.name,
290
+ arguments: call.arguments,
291
+ });
292
+ });
170
293
  const toolStatus = this.formatToolStatus(call.name);
171
294
  await emitEvent({ type: 'status', text: toolStatus });
172
295
  await emitEvent({ type: 'tool.started', name: call.name });
173
- // Execute tool with context
174
- const execResult = await this.tools.executeTool(call.name, call.arguments, {
175
- sessionId,
176
- channel,
177
- channelId,
178
- userId,
179
- userName,
180
- threadTs,
181
- memory: this.memory,
182
- config: this.config,
183
- scheduler: activeScheduler,
184
- pluginManager: this.pluginManager,
185
- toolRegistry: this.tools,
186
- gateway: input.gateway || this.gateway,
187
- });
296
+ // Idempotency: if this callId already has a journaled output (retry after
297
+ // crash), reuse it instead of re-executing side effects.
298
+ let toolOutput = null;
299
+ try {
300
+ toolOutput = ledger?.getCachedToolOutput(runId, call.callId) ?? null;
301
+ }
302
+ catch { }
303
+ let execResult;
304
+ if (toolOutput !== null) {
305
+ execResult = { output: toolOutput };
306
+ logger.agent(`Reused journaled output for tool "${call.name}" (${call.callId})`);
307
+ }
308
+ else {
309
+ // Execute tool with context
310
+ execResult = await this.tools.executeTool(call.name, call.arguments, {
311
+ sessionId,
312
+ channel,
313
+ channelId,
314
+ userId,
315
+ userName,
316
+ threadTs,
317
+ memory: this.memory,
318
+ config: this.config,
319
+ mediaManager: this.mediaManager,
320
+ attachMedia,
321
+ scheduler: activeScheduler,
322
+ pluginManager: this.pluginManager,
323
+ toolRegistry: this.tools,
324
+ gateway: input.gateway || this.gateway,
325
+ client: this.client,
326
+ });
327
+ const out = execResult.output;
328
+ journal(() => ledger?.recordToolOutput(runId, call.callId, out));
329
+ }
188
330
  await emitEvent({ type: 'tool.completed', name: call.name });
189
331
  const reviewStatus = this.formatToolReviewStatus(call.name, execResult.output);
190
332
  if (reviewStatus) {
@@ -206,16 +348,30 @@ export class AgentHarness {
206
348
  this.memory.appendSessionMessage(sessionId, {
207
349
  role: 'assistant',
208
350
  content: finalReplyText,
351
+ media: stagedMedia.length > 0 ? stagedMedia : undefined,
209
352
  }, channel, userId, userName);
210
353
  await emitEvent({ type: 'run.completed', text: finalReplyText });
211
- logger.agent(`Replied with ${finalReplyText.length} characters (tools used: ${totalToolCalls})`);
354
+ journal(() => {
355
+ ledger?.appendEvent(runId, { type: 'model_text', text: finalReplyText });
356
+ ledger?.updateState(runId, {
357
+ status: 'completed',
358
+ iterations,
359
+ toolCallsCount: totalToolCalls,
360
+ });
361
+ });
362
+ logger.agent(`Replied with ${finalReplyText.length} characters (tools used: ${totalToolCalls}, media attached: ${stagedMedia.length})`);
212
363
  return {
213
364
  replyText: finalReplyText,
214
365
  toolCallsCount: totalToolCalls,
215
366
  sessionId,
367
+ media: stagedMedia.length > 0 ? stagedMedia : undefined,
216
368
  };
217
369
  }
218
370
  catch (err) {
371
+ journal(() => {
372
+ ledger?.appendEvent(runId, { type: 'status', text: `failed: ${err.message || 'Run failed'}` });
373
+ ledger?.updateState(runId, { status: 'failed', lastError: err.message || 'Run failed' });
374
+ });
219
375
  await emitEvent({ type: 'run.failed', message: err.message || 'Run failed' });
220
376
  throw err;
221
377
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/agent/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/agent/harness.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,24 @@ export declare class OpenAIResponsesClient {
19
19
  private reasoningEffort?;
20
20
  constructor(config: ModelConfig);
21
21
  getModelName(): string;
22
+ /** Retry only transient failures (429 / 5xx / network). Never retries 400/401/404. */
23
+ private withRetry;
22
24
  /** Verify that the configured credential can access the configured model. */
23
25
  checkReadiness(cacheMs?: number): Promise<{
24
26
  ready: boolean;
25
27
  reason?: string;
26
28
  }>;
29
+ generateImage(params: {
30
+ prompt: string;
31
+ size?: string;
32
+ model?: string;
33
+ quality?: 'standard' | 'hd';
34
+ style?: 'vivid' | 'natural';
35
+ }): Promise<{
36
+ b64_json?: string;
37
+ url?: string;
38
+ revised_prompt?: string;
39
+ }>;
27
40
  private supportsTemperature;
28
41
  generate(params: {
29
42
  instructions: string;
@@ -20,6 +20,29 @@ export class OpenAIResponsesClient {
20
20
  getModelName() {
21
21
  return this.model;
22
22
  }
23
+ /** Retry only transient failures (429 / 5xx / network). Never retries 400/401/404. */
24
+ async withRetry(fn, opts) {
25
+ const tries = opts?.tries ?? 3;
26
+ let lastErr;
27
+ for (let attempt = 1; attempt <= tries; attempt++) {
28
+ try {
29
+ return await fn();
30
+ }
31
+ catch (err) {
32
+ lastErr = err;
33
+ const status = err?.status;
34
+ const retryable = status === 429 || (typeof status === 'number' && status >= 500) || status === undefined;
35
+ if (!retryable || attempt === tries)
36
+ throw err;
37
+ const retryAfter = Number(err?.headers?.['retry-after']);
38
+ const base = Number.isFinite(retryAfter) && retryAfter > 0 ? retryAfter * 1000 : 1000 * 2 ** (attempt - 1);
39
+ const delay = Math.min(base + Math.floor(Math.random() * 500), 10000);
40
+ logger.debug(`OpenAI ${opts?.label || 'request'} transient failure (attempt ${attempt}/${tries}, status ${status}). Retrying in ${delay}ms...`);
41
+ await new Promise((r) => setTimeout(r, delay));
42
+ }
43
+ }
44
+ throw lastErr;
45
+ }
23
46
  /** Verify that the configured credential can access the configured model. */
24
47
  async checkReadiness(cacheMs = 30000) {
25
48
  const now = Date.now();
@@ -40,6 +63,29 @@ export class OpenAIResponsesClient {
40
63
  }
41
64
  return { ready: this.readinessCache.ready, reason: this.readinessCache.reason };
42
65
  }
66
+ async generateImage(params) {
67
+ try {
68
+ const response = await this.client.images.generate({
69
+ model: params.model || 'dall-e-3',
70
+ prompt: params.prompt,
71
+ n: 1,
72
+ size: params.size || '1024x1024',
73
+ response_format: 'b64_json',
74
+ quality: params.quality,
75
+ style: params.style,
76
+ });
77
+ const item = response.data?.[0];
78
+ return {
79
+ b64_json: item?.b64_json,
80
+ url: item?.url,
81
+ revised_prompt: item?.revised_prompt,
82
+ };
83
+ }
84
+ catch (err) {
85
+ logger.error('OpenAI image generation error:', err.message || err);
86
+ throw err;
87
+ }
88
+ }
43
89
  supportsTemperature(model) {
44
90
  const m = model.toLowerCase();
45
91
  // gpt-5.6 family and reasoning models (o1, o3, o4) do not support temperature in Responses API
@@ -72,10 +118,10 @@ export class OpenAIResponsesClient {
72
118
  if (params.onDelta || params.onReasoningSummaryDelta) {
73
119
  let stream;
74
120
  try {
75
- stream = await this.client.responses.create({
121
+ stream = await this.withRetry(() => this.client.responses.create({
76
122
  ...requestPayload,
77
123
  stream: true,
78
- });
124
+ }), { label: 'responses.stream' });
79
125
  }
80
126
  catch (err) {
81
127
  const isTempError = err?.status === 400 &&
@@ -85,18 +131,18 @@ export class OpenAIResponsesClient {
85
131
  if (isTempError && requestPayload.temperature !== undefined) {
86
132
  logger.debug(`Model "${this.model}" does not support temperature parameter. Retrying without temperature...`);
87
133
  delete requestPayload.temperature;
88
- stream = await this.client.responses.create({
134
+ stream = await this.withRetry(() => this.client.responses.create({
89
135
  ...requestPayload,
90
136
  stream: true,
91
- });
137
+ }), { label: 'responses.stream' });
92
138
  }
93
139
  else if (isReasoningError && requestPayload.reasoning !== undefined) {
94
140
  logger.debug(`Model "${this.model}" does not support reasoning parameter. Retrying without reasoning...`);
95
141
  delete requestPayload.reasoning;
96
- stream = await this.client.responses.create({
142
+ stream = await this.withRetry(() => this.client.responses.create({
97
143
  ...requestPayload,
98
144
  stream: true,
99
- });
145
+ }), { label: 'responses.stream' });
100
146
  }
101
147
  else {
102
148
  logger.error(`OpenAI Responses API error (${this.model}):`, err.message || err);
@@ -182,7 +228,9 @@ export class OpenAIResponsesClient {
182
228
  }
183
229
  let response;
184
230
  try {
185
- response = await this.client.responses.create(requestPayload);
231
+ response = await this.withRetry(() => this.client.responses.create(requestPayload), {
232
+ label: 'responses.create',
233
+ });
186
234
  }
187
235
  catch (err) {
188
236
  // Automatic recovery: if model rejected 'temperature' or 'reasoning', retry without it
@@ -193,12 +241,16 @@ export class OpenAIResponsesClient {
193
241
  if (isTempError && requestPayload.temperature !== undefined) {
194
242
  logger.debug(`Model "${this.model}" does not support temperature parameter. Retrying without temperature...`);
195
243
  delete requestPayload.temperature;
196
- response = await this.client.responses.create(requestPayload);
244
+ response = await this.withRetry(() => this.client.responses.create(requestPayload), {
245
+ label: 'responses.create',
246
+ });
197
247
  }
198
248
  else if (isReasoningError && requestPayload.reasoning !== undefined) {
199
249
  logger.debug(`Model "${this.model}" does not support reasoning parameter. Retrying without reasoning...`);
200
250
  delete requestPayload.reasoning;
201
- response = await this.client.responses.create(requestPayload);
251
+ response = await this.withRetry(() => this.client.responses.create(requestPayload), {
252
+ label: 'responses.create',
253
+ });
202
254
  }
203
255
  else {
204
256
  logger.error(`OpenAI Responses API error (${this.model}):`, err.message || err);
@@ -1 +1 @@
1
- {"version":3,"file":"openaiResponsesClient.js","sourceRoot":"","sources":["../../src/agent/openaiResponsesClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiResponsesClient.js","sourceRoot":"","sources":["../../src/agent/openaiResponsesClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * File-based durable run ledger (no SQLite).
3
+ *
4
+ * Layout per run:
5
+ * <runsDir>/<runId>/state.json - run status + responseId + counters
6
+ * <runsDir>/<runId>/events.jsonl - append-only journal, one JSON object per line
7
+ *
8
+ * Append is crash-safe (O_APPEND + fsync). On boot, pending runs can be
9
+ * replayed via listPendingRuns() + readEvents().
10
+ */
11
+ export type RunStatus = 'running' | 'awaiting_tool' | 'completed' | 'failed';
12
+ export type RunEventType = 'user' | 'model_text' | 'function_call' | 'function_call_output' | 'status';
13
+ export interface RunState {
14
+ runId: string;
15
+ sessionId: string;
16
+ channel: string;
17
+ status: RunStatus;
18
+ responseId?: string;
19
+ iterations: number;
20
+ toolCallsCount: number;
21
+ idempotencyKeys: Record<string, string>;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ lastError?: string;
25
+ }
26
+ export interface RunEvent {
27
+ seq: number;
28
+ type: RunEventType;
29
+ callId?: string;
30
+ name?: string;
31
+ arguments?: string;
32
+ output?: string;
33
+ text?: string;
34
+ idempotencyKey?: string;
35
+ at: string;
36
+ }
37
+ export declare function buildIdempotencyKey(runId: string, callId: string, name: string, args: string): string;
38
+ export declare class FileRunLedger {
39
+ private runsDir;
40
+ constructor(dataDirOrRunsDir: string);
41
+ private runDir;
42
+ private statePath;
43
+ private eventsPath;
44
+ createRun(runId: string, sessionId: string, channel: string): RunState;
45
+ getState(runId: string): RunState | null;
46
+ updateState(runId: string, patch: Partial<RunState>): RunState | null;
47
+ private writeState;
48
+ appendEvent(runId: string, event: Omit<RunEvent, 'seq' | 'at'>): RunEvent;
49
+ countEvents(runId: string): number;
50
+ readEvents(runId: string): RunEvent[];
51
+ /** Return cached tool output if this (callId) was already executed. */
52
+ getCachedToolOutput(runId: string, callId: string): string | null;
53
+ recordToolOutput(runId: string, callId: string, output: string): void;
54
+ /** Runs that crashed mid-flight and can be resumed on boot. */
55
+ listPendingRuns(): RunState[];
56
+ }