open-agents-ai 0.71.7 → 0.71.8

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 (2) hide show
  1. package/dist/index.js +31 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -38434,7 +38434,7 @@ ${emotionContext}` : `Working directory: ${repoRoot}`;
38434
38434
  if (result.completed) {
38435
38435
  renderTaskComplete(result.summary, result.turns, result.toolCalls, result.durationMs, tokens);
38436
38436
  if (onComplete)
38437
- onComplete(result.summary);
38437
+ onComplete(result.summary, { turns: result.turns, toolCalls: result.toolCalls, durationMs: result.durationMs, model: config.model });
38438
38438
  if (voice?.enabled && result.summary) {
38439
38439
  voice.speak(describeTaskComplete(result.summary, true, vLevel));
38440
38440
  }
@@ -38838,6 +38838,7 @@ Rationale: ${proposal.rationale}${provenanceNote}`;
38838
38838
  let carouselRetired = isResumed;
38839
38839
  let lastSubmittedPrompt = "";
38840
38840
  let lastCompletedSummary = "";
38841
+ let lastTaskMeta = null;
38841
38842
  let currentTaskType;
38842
38843
  let sessionFilesTouched = [];
38843
38844
  let sessionToolCallCount = 0;
@@ -40031,8 +40032,9 @@ Execute this skill now. Follow the behavioral guidance above.`;
40031
40032
  taskMemoryStore: taskMemoryStore ?? void 0,
40032
40033
  failureStore: failureStore ?? void 0,
40033
40034
  toolPatternStore: toolPatternStore ?? void 0
40034
- }, bruteForceEnabled, statusBar, handleSudoRequest, costTracker, (summary) => {
40035
+ }, bruteForceEnabled, statusBar, handleSudoRequest, costTracker, (summary, meta) => {
40035
40036
  lastCompletedSummary = summary;
40037
+ lastTaskMeta = meta ?? null;
40036
40038
  }, currentTaskType, resolvedContextWindowSize, resolvedCaps, currentStyle, deepContextEnabled, compactionSNRCallback(), emotionEngine);
40037
40039
  activeTask = task;
40038
40040
  showPrompt();
@@ -40226,8 +40228,9 @@ NEW TASK: ${fullInput}`;
40226
40228
  taskMemoryStore: taskMemoryStore ?? void 0,
40227
40229
  failureStore: failureStore ?? void 0,
40228
40230
  toolPatternStore: toolPatternStore ?? void 0
40229
- }, bruteForceEnabled, statusBar, handleSudoRequest, costTracker, (summary) => {
40231
+ }, bruteForceEnabled, statusBar, handleSudoRequest, costTracker, (summary, meta) => {
40230
40232
  lastCompletedSummary = summary;
40233
+ lastTaskMeta = meta ?? null;
40231
40234
  }, currentTaskType, resolvedContextWindowSize, resolvedCaps, currentStyle, deepContextEnabled, compactionSNRCallback(), emotionEngine);
40232
40235
  activeTask = task;
40233
40236
  showPrompt();
@@ -40292,7 +40295,31 @@ NEW TASK: ${fullInput}`;
40292
40295
  if (activeTelegramChatId && telegramBridge?.isActive && lastCompletedSummary) {
40293
40296
  const chatId = activeTelegramChatId;
40294
40297
  activeTelegramChatId = null;
40295
- telegramBridge.sendMessage(chatId, lastCompletedSummary).catch(() => {
40298
+ const parts = [];
40299
+ parts.push(lastCompletedSummary);
40300
+ if (lastTaskMeta) {
40301
+ const dur = lastTaskMeta.durationMs < 6e4 ? `${(lastTaskMeta.durationMs / 1e3).toFixed(1)}s` : `${Math.floor(lastTaskMeta.durationMs / 6e4)}m ${Math.floor(lastTaskMeta.durationMs % 6e4 / 1e3)}s`;
40302
+ parts.push(`
40303
+ \u{1F4CA} ${lastTaskMeta.turns} turns, ${lastTaskMeta.toolCalls} tool calls in ${dur} (${lastTaskMeta.model})`);
40304
+ }
40305
+ if (sessionFilesTouched.length > 0) {
40306
+ const fileList = sessionFilesTouched.length <= 5 ? sessionFilesTouched.map((f) => ` \u2022 ${f}`).join("\n") : sessionFilesTouched.slice(0, 5).map((f) => ` \u2022 ${f}`).join("\n") + `
40307
+ ... +${sessionFilesTouched.length - 5} more`;
40308
+ parts.push(`
40309
+ \u{1F4C1} Files modified:
40310
+ ${fileList}`);
40311
+ }
40312
+ if (emotionEngine) {
40313
+ try {
40314
+ const emotion = emotionEngine.getState();
40315
+ if (emotion.label && emotion.label !== "neutral") {
40316
+ parts.push(`
40317
+ ${emotion.emoji} ${emotion.label}`);
40318
+ }
40319
+ } catch {
40320
+ }
40321
+ }
40322
+ telegramBridge.sendMessage(chatId, parts.join("")).catch(() => {
40296
40323
  });
40297
40324
  } else {
40298
40325
  activeTelegramChatId = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.71.7",
3
+ "version": "0.71.8",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",