nolo-cli 0.37.0-alpha.2 → 0.37.0-alpha.3

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.
package/index.js CHANGED
@@ -824,7 +824,7 @@ async function runScript(script, forwardedArgs, env) {
824
824
  return proc.exited;
825
825
  }
826
826
  async function launchTuiWorkspace(args2) {
827
- const { startTuiWorkspace } = await import("./readlineWorkspace-NFM3Z5UX.js");
827
+ const { startTuiWorkspace } = await import("./readlineWorkspace-WOKEACUU.js");
828
828
  const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-SHRB4RWM.js");
829
829
  return startTuiWorkspace({
830
830
  ...args2,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolo-cli",
3
- "version": "0.37.0-alpha.2",
3
+ "version": "0.37.0-alpha.3",
4
4
  "type": "module",
5
5
  "description": "Agent-first terminal workspace for Nolo",
6
6
  "bin": {
@@ -4394,6 +4394,24 @@ async function readImagePaths(paths, options = {}) {
4394
4394
  }
4395
4395
  return { images, failures };
4396
4396
  }
4397
+ async function resolveAttachmentImageUrls({
4398
+ actionImagePaths,
4399
+ attachedImages,
4400
+ onFailure
4401
+ }) {
4402
+ const pathsToRead = [
4403
+ ...actionImagePaths ?? [],
4404
+ ...attachedImages.map((img) => img.sourcePath)
4405
+ ];
4406
+ let imageUrls = [];
4407
+ if (pathsToRead.length > 0) {
4408
+ const readResult = await readImagePaths(pathsToRead, {
4409
+ onFailure
4410
+ });
4411
+ imageUrls = readResult.images.map((img) => img.dataUrl);
4412
+ }
4413
+ return { imageUrls };
4414
+ }
4397
4415
 
4398
4416
  // packages/cli/tui/clipboardImage.ts
4399
4417
  import { createHash } from "node:crypto";
@@ -7596,8 +7614,9 @@ ${content}`);
7596
7614
  const previousAgentKey = state.agentKey;
7597
7615
  state = result.nextState;
7598
7616
  const interactive = isInteractiveInput(input);
7599
- if (result.action?.type !== "chat" && result.action?.type !== "exit" && result.output) {
7600
- emitCommandOutput(result.output, interactive ? line.trim() : "");
7617
+ if (result.action?.type !== "exit" && result.output) {
7618
+ const shouldEmit = result.action?.type !== "chat" || !interactive;
7619
+ if (shouldEmit) emitCommandOutput(result.output, interactive ? line.trim() : "");
7601
7620
  }
7602
7621
  if (state.agentKey !== previousAgentKey) {
7603
7622
  persistExplicitAgentSwitch(previousAgentKey);
@@ -7990,18 +8009,12 @@ ${stderrText.trim()}
7990
8009
  }
7991
8010
  }
7992
8011
  if (result.action?.type === "chat") {
7993
- const pathsToRead = [
7994
- ...result.action.imagePaths ?? [],
7995
- ...state.attachedImages.map((img) => img.sourcePath)
7996
- ];
7997
- let imageUrls = [];
7998
- if (pathsToRead.length > 0) {
7999
- const readResult = await readImagePaths(pathsToRead, {
8000
- onFailure: (_path, err) => output.write(`[nolo] image skipped: ${err.message}
8012
+ const { imageUrls } = await resolveAttachmentImageUrls({
8013
+ actionImagePaths: result.action.imagePaths,
8014
+ attachedImages: state.attachedImages,
8015
+ onFailure: (_path, err) => output.write(`[nolo] image skipped: ${err.message}
8001
8016
  `)
8002
- });
8003
- imageUrls = readResult.images.map((img) => img.dataUrl);
8004
- }
8017
+ });
8005
8018
  state = {
8006
8019
  ...state,
8007
8020
  attachedImages: []