@northflare/runner 0.0.25 → 0.0.26

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.
@@ -6,6 +6,8 @@ import jwt from "jsonwebtoken";
6
6
  import fs from "fs/promises";
7
7
  import path from "path";
8
8
  import { isDebugEnabledFor } from '../utils/debug.js';
9
+ import { tmpdir } from "os";
10
+ import crypto from "crypto";
9
11
  const console = createScopedConsole(isDebugEnabledFor("manager") ? "manager" : "sdk");
10
12
  function buildSystemPromptWithNorthflare(basePrompt, northflarePrompt) {
11
13
  const parts = [northflarePrompt, basePrompt]
@@ -185,12 +187,10 @@ export class CodexManager {
185
187
  });
186
188
  context.conversation = thread;
187
189
  // Launch the first turn using the provided initial messages.
188
- // Codex SDK doesn't support an initialMessages option, so we inline them
189
- // into the first prompt to ensure the assistant sees the user's request.
190
+ // Supports multimodal (images/documents) by converting to Codex Input.
190
191
  if (initialMessages?.length) {
191
- const promptText = this.formatInitialMessages(initialMessages);
192
- const prompt = this.buildPromptForMessage(context, promptText, true);
193
- this.launchTurn(context, prompt);
192
+ const initialInput = await this.buildInitialInput(initialMessages, context);
193
+ this.launchTurn(context, initialInput);
194
194
  }
195
195
  return context;
196
196
  }
@@ -238,9 +238,8 @@ export class CodexManager {
238
238
  throw new Error(`No active or fetchable conversation found for ${conversationId}`);
239
239
  }
240
240
  await this.abortActiveRun(conversationId);
241
- const messageText = this.normalizeToText(content);
242
- const prompt = this.buildPromptForMessage(context, messageText, false);
243
- this.launchTurn(context, prompt);
241
+ const input = await this.normalizeToInput(content, context, false);
242
+ this.launchTurn(context, input);
244
243
  context.lastActivityAt = new Date();
245
244
  }
246
245
  async buildEnvVars(config, githubToken, toolToken, provider) {
@@ -346,6 +345,62 @@ export class CodexManager {
346
345
  })
347
346
  .join("\n\n");
348
347
  }
348
+ async buildInitialInput(initialMessages, context) {
349
+ const hasMultimodal = initialMessages.some((msg) => this.hasMultimodalContent(msg.content));
350
+ if (!hasMultimodal) {
351
+ const promptText = this.formatInitialMessages(initialMessages);
352
+ return this.buildPromptForMessage(context, promptText, true);
353
+ }
354
+ // Preserve role markers while keeping image blocks attached
355
+ const combinedBlocks = [];
356
+ for (const msg of initialMessages) {
357
+ const role = msg.role || "user";
358
+ const content = msg.content;
359
+ // Start role section
360
+ combinedBlocks.push({
361
+ type: "text",
362
+ text: `<${role}-message>`,
363
+ });
364
+ if (Array.isArray(content)) {
365
+ for (const item of content) {
366
+ if (!item || typeof item !== "object")
367
+ continue;
368
+ if (item.type === "text" && typeof item.text === "string") {
369
+ combinedBlocks.push({ type: "text", text: item.text });
370
+ }
371
+ else if (item.type === "image" || item.type === "document") {
372
+ combinedBlocks.push(item);
373
+ }
374
+ }
375
+ }
376
+ else {
377
+ combinedBlocks.push({
378
+ type: "text",
379
+ text: this.normalizeToText(content),
380
+ });
381
+ }
382
+ // Close role section
383
+ combinedBlocks.push({
384
+ type: "text",
385
+ text: `</${role}-message>`,
386
+ });
387
+ }
388
+ const input = await this.normalizeToInput(combinedBlocks, context, true);
389
+ if (isDebugEnabledFor("manager") || isDebugEnabledFor("sdk")) {
390
+ console.log("[CodexManager] buildInitialInput multimodal payload", {
391
+ conversationId: context.conversationId,
392
+ blocks: combinedBlocks.map((b) => b.type),
393
+ inputType: Array.isArray(input) ? "array" : "string",
394
+ textItems: Array.isArray(input)
395
+ ? input.filter((i) => i.type === "text").length
396
+ : 1,
397
+ imageItems: Array.isArray(input)
398
+ ? input.filter((i) => i.type === "local_image").length
399
+ : 0,
400
+ });
401
+ }
402
+ return input;
403
+ }
349
404
  launchTurn(context, prompt) {
350
405
  const state = this.threadStates.get(context.conversationId);
351
406
  if (!state || !state.thread) {
@@ -961,6 +1016,145 @@ export class CodexManager {
961
1016
  expiresIn: "60m",
962
1017
  });
963
1018
  }
1019
+ /**
1020
+ * Detect whether incoming content contains multimodal blocks (image/document).
1021
+ */
1022
+ hasMultimodalContent(value) {
1023
+ if (!Array.isArray(value))
1024
+ return false;
1025
+ return value.some((item) => item &&
1026
+ typeof item === "object" &&
1027
+ (item.type === "image" || item.type === "document"));
1028
+ }
1029
+ /**
1030
+ * Normalize incoming content into the Codex SDK Input shape.
1031
+ * - Text-only -> single string (lets SDK do fast path)
1032
+ * - Multimodal -> [{ text }, ...{ local_image }]
1033
+ */
1034
+ async normalizeToInput(value, context, forceInstructions) {
1035
+ if (Array.isArray(value) && this.hasMultimodalContent(value)) {
1036
+ const inputs = [];
1037
+ // Collect any text blocks (or document placeholders) to keep context
1038
+ const textChunks = [];
1039
+ for (const item of value) {
1040
+ if (!item || typeof item !== "object")
1041
+ continue;
1042
+ if (item.type === "text" && typeof item.text === "string") {
1043
+ textChunks.push(item.text);
1044
+ }
1045
+ else if (item.type === "document" && item.source) {
1046
+ const docUrl = item.source.type === "url" ? item.source.url : item.source.data;
1047
+ if (docUrl) {
1048
+ textChunks.push(`[Document: ${docUrl}]`);
1049
+ }
1050
+ }
1051
+ }
1052
+ const textPart = this.buildPromptForMessage(context, textChunks.join(" ").trim(), forceInstructions);
1053
+ if (textPart) {
1054
+ inputs.push({ type: "text", text: textPart });
1055
+ }
1056
+ // Download image blocks to temp files and attach as local_image
1057
+ const imagePaths = [];
1058
+ for (const item of value) {
1059
+ if (!item || typeof item !== "object" || item.type !== "image" || !item.source) {
1060
+ continue;
1061
+ }
1062
+ const imageUrl = item.source.type === "url" ? item.source.url : item.source.data;
1063
+ if (!imageUrl)
1064
+ continue;
1065
+ const localPath = await this.downloadImageToTemp(imageUrl);
1066
+ inputs.push({ type: "local_image", path: localPath });
1067
+ imagePaths.push(localPath);
1068
+ }
1069
+ // If no text and instructions were never injected, inject an empty prompt to carry instructions
1070
+ if (!inputs.some((i) => i.type === "text")) {
1071
+ const instructionOnly = this.buildPromptForMessage(context, "", forceInstructions);
1072
+ if (instructionOnly) {
1073
+ inputs.unshift({ type: "text", text: instructionOnly });
1074
+ }
1075
+ }
1076
+ if (isDebugEnabledFor("manager") || isDebugEnabledFor("sdk")) {
1077
+ console.log("[CodexManager] normalizeToInput multimodal", {
1078
+ conversationId: context.conversationId,
1079
+ imageCount: imagePaths.length,
1080
+ imagePaths,
1081
+ textIncluded: inputs.some((i) => i.type === "text"),
1082
+ });
1083
+ }
1084
+ return inputs;
1085
+ }
1086
+ // Fallback to text-only path
1087
+ const messageText = this.normalizeToText(value);
1088
+ return this.buildPromptForMessage(context, messageText, forceInstructions);
1089
+ }
1090
+ /**
1091
+ * Download an image (http(s) or data URL) to a temp file and return the path.
1092
+ */
1093
+ async downloadImageToTemp(url) {
1094
+ // Allow local filesystem paths to be passed through unchanged
1095
+ if (url.startsWith("/") || url.startsWith("./") || url.startsWith("../")) {
1096
+ return path.isAbsolute(url) ? url : path.resolve(url);
1097
+ }
1098
+ // Handle data URLs (e.g., data:image/png;base64,...)
1099
+ if (url.startsWith("data:")) {
1100
+ const commaIdx = url.indexOf(",");
1101
+ if (commaIdx === -1) {
1102
+ throw new Error("Invalid data URL for image");
1103
+ }
1104
+ const header = url.slice(5, commaIdx); // remove "data:"
1105
+ const dataPart = url.slice(commaIdx + 1);
1106
+ const isBase64 = header.endsWith(";base64");
1107
+ const mime = header.replace(";base64", "");
1108
+ const ext = this.mimeToExtension(mime) || "png";
1109
+ const buffer = isBase64
1110
+ ? Buffer.from(dataPart, "base64")
1111
+ : Buffer.from(decodeURIComponent(dataPart), "utf-8");
1112
+ return await this.writeBufferToTemp(buffer, ext);
1113
+ }
1114
+ // Standard remote URL
1115
+ const response = await fetch(url);
1116
+ if (!response.ok) {
1117
+ throw new Error(`Failed to download image (${response.status}) from ${url}`);
1118
+ }
1119
+ const arrayBuffer = await response.arrayBuffer();
1120
+ const buffer = Buffer.from(arrayBuffer);
1121
+ const ext = this.inferExtensionFromUrl(url) || "png";
1122
+ return await this.writeBufferToTemp(buffer, ext);
1123
+ }
1124
+ async writeBufferToTemp(buffer, ext) {
1125
+ const dir = path.join(tmpdir(), "codex-images");
1126
+ await fs.mkdir(dir, { recursive: true });
1127
+ const filename = `${crypto.randomUUID()}.${ext}`;
1128
+ const fullPath = path.join(dir, filename);
1129
+ await fs.writeFile(fullPath, buffer);
1130
+ return fullPath;
1131
+ }
1132
+ inferExtensionFromUrl(url) {
1133
+ try {
1134
+ const parsed = new URL(url);
1135
+ const pathname = parsed.pathname;
1136
+ const ext = path.extname(pathname);
1137
+ if (ext) {
1138
+ return ext.replace(".", "").split(/[?#]/)[0] || null;
1139
+ }
1140
+ }
1141
+ catch {
1142
+ // Not a valid URL; fall through
1143
+ }
1144
+ return null;
1145
+ }
1146
+ mimeToExtension(mime) {
1147
+ if (!mime)
1148
+ return null;
1149
+ const map = {
1150
+ "image/png": "png",
1151
+ "image/jpeg": "jpg",
1152
+ "image/jpg": "jpg",
1153
+ "image/webp": "webp",
1154
+ "image/gif": "gif",
1155
+ };
1156
+ return map[mime] || null;
1157
+ }
964
1158
  normalizeToText(value) {
965
1159
  if (typeof value === "string")
966
1160
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-sdk-manager.js","sourceRoot":"","sources":["../../src/components/codex-sdk-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-sdk-manager.js","sourceRoot":"","sources":["../../src/components/codex-sdk-manager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { IRunnerApp } from '../types/runner-interface.js';
5
5
  export declare class MessageHandler {
6
6
  private methodHandlers;
7
7
  private runner;
8
+ /** Map of message ID to message timestamp for deduplication */
8
9
  private processedMessages;
9
10
  private sseClient;
10
11
  private apiClient;
@@ -12,6 +13,12 @@ export declare class MessageHandler {
12
13
  constructor(runner: IRunnerApp);
13
14
  startProcessing(): Promise<void>;
14
15
  stopProcessing(): Promise<void>;
16
+ /**
17
+ * Prune processed messages older than the given watermark.
18
+ * Messages at or before the watermark are filtered server-side,
19
+ * so we don't need to track them for deduplication anymore.
20
+ */
21
+ private pruneProcessedMessages;
15
22
  /**
16
23
  * Catch up on missed messages since lastProcessedAt
17
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler-sse.d.ts","sourceRoot":"","sources":["../../src/components/message-handler-sse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAmC1D,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,UAAU;IAOxB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAerC;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;YACW,UAAU;IAqCxB;;OAEG;YACW,cAAc;YAkCd,cAAc;YA6Ed,sBAAsB;YAoEtB,uBAAuB;IAwCrC,OAAO,CAAC,oBAAoB;IA+D5B,OAAO,CAAC,eAAe;YAWT,kBAAkB;YA6BlB,aAAa;YAKb,SAAS;YAgCT,WAAW;IAqCzB,OAAO,CAAC,gBAAgB;YAkBV,uBAAuB;YAwGvB,sBAAsB;YA2EtB,wBAAwB;YAwDxB,wBAAwB;YAgHxB,iBAAiB;YAsDjB,gBAAgB;YAiIhB,kBAAkB;YA2FlB,gBAAgB;YAuBhB,kBAAkB;YAsBlB,kBAAkB;IAgBhC,OAAO,CAAC,oBAAoB;IA0D5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,gCAAgC;IAaxC,OAAO,CAAC,sBAAsB;CAa/B"}
1
+ {"version":3,"file":"message-handler-sse.d.ts","sourceRoot":"","sources":["../../src/components/message-handler-sse.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAmC1D,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,MAAM,CAAa;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,UAAU;IAOxB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAerC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;YACW,UAAU;IAqCxB;;OAEG;YACW,cAAc;YAkCd,cAAc;YA6Ed,sBAAsB;YAoEtB,uBAAuB;IAwCrC,OAAO,CAAC,oBAAoB;IA+D5B,OAAO,CAAC,eAAe;YAWT,kBAAkB;YAmClB,aAAa;YAMb,SAAS;YAgCT,WAAW;IAqCzB,OAAO,CAAC,gBAAgB;YAkBV,uBAAuB;YAwGvB,sBAAsB;YA2EtB,wBAAwB;YAwDxB,wBAAwB;YAgHxB,iBAAiB;YAsGjB,gBAAgB;YAiIhB,kBAAkB;YA2FlB,gBAAgB;YAuBhB,kBAAkB;YAsBlB,kBAAkB;IAgBhC,OAAO,CAAC,oBAAoB;IA0D5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,gCAAgC;IAaxC,OAAO,CAAC,sBAAsB;CAa/B"}
@@ -25,7 +25,8 @@ const isSubPath = (base, candidate) => {
25
25
  export class MessageHandler {
26
26
  methodHandlers;
27
27
  runner;
28
- processedMessages = new Set();
28
+ /** Map of message ID to message timestamp for deduplication */
29
+ processedMessages = new Map();
29
30
  sseClient = null;
30
31
  apiClient;
31
32
  isProcessing = false;
@@ -65,6 +66,27 @@ export class MessageHandler {
65
66
  // Clear processed messages tracking
66
67
  this.processedMessages.clear();
67
68
  }
69
+ /**
70
+ * Prune processed messages older than the given watermark.
71
+ * Messages at or before the watermark are filtered server-side,
72
+ * so we don't need to track them for deduplication anymore.
73
+ */
74
+ pruneProcessedMessages(watermark) {
75
+ const beforeSize = this.processedMessages.size;
76
+ for (const [messageId, timestamp] of this.processedMessages) {
77
+ if (timestamp <= watermark) {
78
+ this.processedMessages.delete(messageId);
79
+ }
80
+ }
81
+ const pruned = beforeSize - this.processedMessages.size;
82
+ if (pruned > 0 && rpcDebugEnabled()) {
83
+ logger.debug("Pruned processed messages", {
84
+ pruned,
85
+ remaining: this.processedMessages.size,
86
+ watermark: watermark.toISOString(),
87
+ });
88
+ }
89
+ }
68
90
  /**
69
91
  * Catch up on missed messages since lastProcessedAt
70
92
  */
@@ -395,7 +417,12 @@ export class MessageHandler {
395
417
  try {
396
418
  await this.apiClient.acknowledgeMessage(message.createdAt);
397
419
  // Update local lastProcessedAt
398
- await this.runner.updateLastProcessedAt(new Date(message.createdAt));
420
+ const newWatermark = new Date(message.createdAt);
421
+ await this.runner.updateLastProcessedAt(newWatermark);
422
+ // Prune old entries from processedMessages map to prevent unbounded growth.
423
+ // Messages at or before the watermark are filtered server-side, so we
424
+ // don't need to track them for deduplication anymore.
425
+ this.pruneProcessedMessages(newWatermark);
399
426
  if (rpcDebugEnabled()) {
400
427
  logger.debug("message.acknowledge sent", {
401
428
  runnerId,
@@ -409,8 +436,9 @@ export class MessageHandler {
409
436
  }
410
437
  }
411
438
  async markProcessed(message) {
412
- // Track processed messages internally
413
- this.processedMessages.add(message.id);
439
+ // Track processed messages with their timestamp for later pruning
440
+ const timestamp = message.createdAt ? new Date(message.createdAt) : new Date();
441
+ this.processedMessages.set(message.id, timestamp);
414
442
  }
415
443
  async sendError(message, errorMessage) {
416
444
  // Send error report with conversation object info if available
@@ -709,11 +737,39 @@ export class MessageHandler {
709
737
  if (!content) {
710
738
  throw new Error("Missing required parameter: content");
711
739
  }
712
- const existingContext = this.runner.getConversationContext(conversationId);
713
- const provider = existingContext
714
- ? existingContext.provider
715
- : this.resolveAgentProvider(conversation, config);
716
- const manager = this.getManagerForProvider(provider);
740
+ let context = this.runner.getConversationContext(conversationId);
741
+ let provider;
742
+ let manager;
743
+ if (context) {
744
+ provider = context.provider;
745
+ if (!provider) {
746
+ throw new Error(`Conversation context missing provider for conversationId ${conversationId}. Orchestrator must set providerType/agentProviderType or prefix the model when starting the conversation.`);
747
+ }
748
+ manager = this.getManagerForProvider(provider);
749
+ }
750
+ else {
751
+ // Conversation is not active anymore (likely completed/cleaned up). We can
752
+ // only restart it if the orchestrator provided full conversation details
753
+ // and a resolvable provider.
754
+ if (!conversation) {
755
+ throw new Error(`No active conversation found for ${conversationId}, and no conversation details provided to restart it.`);
756
+ }
757
+ provider = this.resolveAgentProvider(conversation, config);
758
+ manager = this.getManagerForProvider(provider);
759
+ const targetObjectId = conversationObjectId ||
760
+ conversation.conversationObjectId ||
761
+ conversation.objectId;
762
+ if (!targetObjectId) {
763
+ throw new Error(`Missing conversationObjectId for ${conversationId}; cannot start conversation.`);
764
+ }
765
+ // Start a fresh conversation so the SDK process exists before streaming
766
+ await manager.startConversation(conversationObjectType, targetObjectId, config, [], // no initial messages here; this is a follow-up turn
767
+ conversation, provider);
768
+ context = this.runner.getConversationContext(conversationId);
769
+ if (!context) {
770
+ throw new Error(`Failed to start conversation for ${conversationId}; no context created.`);
771
+ }
772
+ }
717
773
  // For CodexManager (openai), pass the provider
718
774
  if (provider === "openai") {
719
775
  await manager.sendUserMessage(conversationId, content, config, conversationObjectType, conversationObjectId, conversation, agentSessionId, provider);