nolo-cli 0.12.0-alpha.3 → 0.12.0-alpha.4

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 (37) hide show
  1. package/{_executeModel-DYX65HE6.js → _executeModel-L4JM5R23.js} +10 -10
  2. package/{agentEmailCommands-4EWEJIW3.js → agentEmailCommands-32ZZ4VSU.js} +9 -9
  3. package/{agentMachineCommands-23GPUVUG.js → agentMachineCommands-EHFBWQ2U.js} +3 -3
  4. package/{agentRecordCommands-5MST6OCG.js → agentRecordCommands-DSMDSFMJ.js} +9 -9
  5. package/{agentRunCommand-ZZCK5KS5.js → agentRunCommand-MEVHCOMH.js} +9 -9
  6. package/{agentSlice-5M6DF3VW.js → agentSlice-Y3NABOKT.js} +1 -1
  7. package/{chunk-SG4IHGHL.js → chunk-324SDMXK.js} +1 -1
  8. package/{chunk-3Q64BA2C.js → chunk-74D2NYOA.js} +3 -3
  9. package/{chunk-APQE7WBO.js → chunk-A4QALINN.js} +1 -1
  10. package/{chunk-OPHV7MFH.js → chunk-B54KNGXI.js} +2 -2
  11. package/{chunk-2VKA626C.js → chunk-DFGCBRIA.js} +11 -6
  12. package/{chunk-S4G3EZ3V.js → chunk-FMT767NK.js} +8 -8
  13. package/{chunk-Q37VOO7A.js → chunk-G5S6HMHH.js} +5 -5
  14. package/{chunk-OQIFEHJ3.js → chunk-MCXQFHBX.js} +11 -7
  15. package/{chunk-RSEUHW6T.js → chunk-MQRZ5QUH.js} +1 -1
  16. package/{chunk-7NGAIE2Y.js → chunk-QY4QCWDL.js} +2 -2
  17. package/{chunk-YDCZVUFP.js → chunk-RQSOAMPJ.js} +16 -0
  18. package/{chunk-XIOEEGEC.js → chunk-TNQJQ6HM.js} +13 -7
  19. package/{chunk-MHB7ECF2.js → chunk-TVQEB7RV.js} +1 -1
  20. package/{chunk-QZOLL5LS.js → chunk-TZS6YZTS.js} +13 -9
  21. package/{chunk-JK757FQM.js → chunk-YC2MRILU.js} +1 -1
  22. package/{createAgentAutomationAction-2Y6J7DVC.js → createAgentAutomationAction-YWC4P6JX.js} +2 -2
  23. package/{createDialogAction-HZR3DAFH.js → createDialogAction-IQP745JA.js} +3 -3
  24. package/{createPageAction-WIKKXHEK.js → createPageAction-T4RZCJKF.js} +2 -2
  25. package/{dialogSlice-FFRARUSK.js → dialogSlice-QR7SDOEV.js} +2 -2
  26. package/{docStore-7JP3KJMP.js → docStore-Y43RC35L.js} +3 -3
  27. package/{handleSendMessageAction-RTW7SKG4.js → handleSendMessageAction-L7L463O4.js} +2 -2
  28. package/index.js +15 -15
  29. package/{machineCommands-YA4W37PB.js → machineCommands-KJZXH2FO.js} +10 -10
  30. package/{machineWsRunDispatch-WEL6YC2V.js → machineWsRunDispatch-V4HBAZY6.js} +9 -9
  31. package/package.json +1 -1
  32. package/{readlineWorkspace-4L25GLAW.js → readlineWorkspace-LRPVHBM3.js} +18 -9
  33. package/{runAgentClientLoop-OJWWFGUK.js → runAgentClientLoop-DXNOTYXP.js} +8 -8
  34. package/{spaceSlice-2IORSGIG.js → spaceSlice-PSAREO5S.js} +2 -2
  35. package/{streamAgentChatTurn-EZ2HPJK6.js → streamAgentChatTurn-54CNCH2V.js} +205 -11
  36. package/{tools-QZNJVUVP.js → tools-SIU3JFHL.js} +6 -6
  37. package/{updateDialogTitleAction-HRVW3WRJ.js → updateDialogTitleAction-3VT7R3GN.js} +2 -2
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  CORE_DRAIN_REASON,
3
+ DRAIN_EXHAUSTED_USER_MESSAGE,
3
4
  isGatewayHttpStatus,
4
5
  normalizeNonNegativeMs,
5
6
  parseRetryAfterHeaderMs
6
- } from "./chunk-YDCZVUFP.js";
7
+ } from "./chunk-RQSOAMPJ.js";
7
8
  import {
8
9
  sortSafeAgentSummaries,
9
10
  toSafeAgentSummary
@@ -33,10 +34,10 @@ import {
33
34
  } from "./chunk-VF4K2QE6.js";
34
35
  import {
35
36
  createDocState
36
- } from "./chunk-7NGAIE2Y.js";
37
+ } from "./chunk-QY4QCWDL.js";
37
38
  import {
38
39
  createDialogAction
39
- } from "./chunk-SG4IHGHL.js";
40
+ } from "./chunk-324SDMXK.js";
40
41
  import {
41
42
  buildSkillDocMarkdown,
42
43
  normalizeSkillBudgetTier,
@@ -75,13 +76,13 @@ import {
75
76
  updateContentCategory,
76
77
  updateContentTitle,
77
78
  updateStep
78
- } from "./chunk-S4G3EZ3V.js";
79
+ } from "./chunk-FMT767NK.js";
79
80
  import {
80
81
  createAgent,
81
82
  runLlm,
82
83
  streamAgentChatTurn,
83
84
  updateAgent
84
- } from "./chunk-3Q64BA2C.js";
85
+ } from "./chunk-74D2NYOA.js";
85
86
  import {
86
87
  NOLO_WORKSPACE_TOOL_NAMES,
87
88
  buildNoloSubjectRefQueryTarget,
@@ -13964,7 +13965,7 @@ async function deleteDialogsFunc(args, thunkApi) {
13964
13965
  const deletedDialogIds = [];
13965
13966
  const deletedDialogKeys = [];
13966
13967
  const failures = [];
13967
- const { deleteDialog } = await import("./dialogSlice-FFRARUSK.js");
13968
+ const { deleteDialog } = await import("./dialogSlice-QR7SDOEV.js");
13968
13969
  for (const target of targets) {
13969
13970
  try {
13970
13971
  await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
@@ -20936,6 +20937,9 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
20936
20937
  await waitForRetryDelay(retryAfterMs, effectiveSignal);
20937
20938
  continue;
20938
20939
  }
20940
+ if (isCoreDraining) {
20941
+ throw new Error(DRAIN_EXHAUSTED_USER_MESSAGE);
20942
+ }
20939
20943
  throw new Error(`\u542F\u52A8\u540E\u53F0\u4EFB\u52A1\u5931\u8D25 (${runRes.status}): ${errText}`);
20940
20944
  }
20941
20945
  if (!runResponse) {
@@ -23098,7 +23102,7 @@ var executeToolRun = createAsyncThunk(
23098
23102
  if (!executionInput) {
23099
23103
  throw new Error(`ToolRun ${id} has no input to execute with.`);
23100
23104
  }
23101
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-QZNJVUVP.js");
23105
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-SIU3JFHL.js");
23102
23106
  const { executor } = findToolExecutor2(run.toolName);
23103
23107
  toolRunStarted({
23104
23108
  id: run.id,
@@ -23122,7 +23126,7 @@ var executeToolRun = createAsyncThunk(
23122
23126
  const latestState = thunkApi.getState();
23123
23127
  const userId = latestState.auth?.currentUser?.userId;
23124
23128
  if (userId) {
23125
- const { fetchUserSpaceMemberships } = await import("./spaceSlice-2IORSGIG.js");
23129
+ const { fetchUserSpaceMemberships } = await import("./spaceSlice-PSAREO5S.js");
23126
23130
  await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
23127
23131
  }
23128
23132
  }
@@ -25525,7 +25529,7 @@ async function updateDocFunc(args, thunkApi) {
25525
25529
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
25526
25530
  };
25527
25531
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
25528
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-7JP3KJMP.js");
25532
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-Y43RC35L.js");
25529
25533
  if (getDocState().pageKey === id) {
25530
25534
  applyExternalDocUpdate({
25531
25535
  slateData: finalSlateData,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-QZOLL5LS.js";
4
+ } from "./chunk-TZS6YZTS.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
7
  } from "./chunk-5DVIMRVT.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-S4G3EZ3V.js";
3
+ } from "./chunk-FMT767NK.js";
4
4
  import "./chunk-V2J635L5.js";
5
5
  import "./chunk-MRC4Q34M.js";
6
6
  import "./chunk-MTU75CZ2.js";
7
7
  import "./chunk-CWMSB67P.js";
8
- import "./chunk-3Q64BA2C.js";
8
+ import "./chunk-74D2NYOA.js";
9
9
  import "./chunk-6LMFFG3K.js";
10
10
  import "./chunk-Z4NR32XR.js";
11
11
  import "./chunk-M76ECQRD.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createDialogAction,
3
3
  isLocalOwnerDialogAgents
4
- } from "./chunk-SG4IHGHL.js";
4
+ } from "./chunk-324SDMXK.js";
5
5
  import "./chunk-VC6OZXO5.js";
6
- import "./chunk-S4G3EZ3V.js";
6
+ import "./chunk-FMT767NK.js";
7
7
  import "./chunk-V2J635L5.js";
8
8
  import "./chunk-MRC4Q34M.js";
9
9
  import "./chunk-MTU75CZ2.js";
10
10
  import "./chunk-CWMSB67P.js";
11
- import "./chunk-3Q64BA2C.js";
11
+ import "./chunk-74D2NYOA.js";
12
12
  import "./chunk-6LMFFG3K.js";
13
13
  import "./chunk-Z4NR32XR.js";
14
14
  import "./chunk-M76ECQRD.js";
@@ -18,12 +18,12 @@ import {
18
18
  addContentToSpace,
19
19
  client_default,
20
20
  selectCurrentSpaceId
21
- } from "./chunk-S4G3EZ3V.js";
21
+ } from "./chunk-FMT767NK.js";
22
22
  import "./chunk-V2J635L5.js";
23
23
  import "./chunk-MRC4Q34M.js";
24
24
  import "./chunk-MTU75CZ2.js";
25
25
  import "./chunk-CWMSB67P.js";
26
- import "./chunk-3Q64BA2C.js";
26
+ import "./chunk-74D2NYOA.js";
27
27
  import "./chunk-6LMFFG3K.js";
28
28
  import "./chunk-Z4NR32XR.js";
29
29
  import "./chunk-M76ECQRD.js";
@@ -19,12 +19,12 @@ import {
19
19
  setPrimaryDialogAgent,
20
20
  updateDialogTitle,
21
21
  updateTokens
22
- } from "./chunk-S4G3EZ3V.js";
22
+ } from "./chunk-FMT767NK.js";
23
23
  import "./chunk-V2J635L5.js";
24
24
  import "./chunk-MRC4Q34M.js";
25
25
  import "./chunk-MTU75CZ2.js";
26
26
  import "./chunk-CWMSB67P.js";
27
- import "./chunk-3Q64BA2C.js";
27
+ import "./chunk-74D2NYOA.js";
28
28
  import "./chunk-6LMFFG3K.js";
29
29
  import "./chunk-Z4NR32XR.js";
30
30
  import "./chunk-M76ECQRD.js";
@@ -24,13 +24,13 @@ import {
24
24
  updateTitleDoc,
25
25
  useDocField,
26
26
  useDocState
27
- } from "./chunk-7NGAIE2Y.js";
28
- import "./chunk-S4G3EZ3V.js";
27
+ } from "./chunk-QY4QCWDL.js";
28
+ import "./chunk-FMT767NK.js";
29
29
  import "./chunk-V2J635L5.js";
30
30
  import "./chunk-MRC4Q34M.js";
31
31
  import "./chunk-MTU75CZ2.js";
32
32
  import "./chunk-CWMSB67P.js";
33
- import "./chunk-3Q64BA2C.js";
33
+ import "./chunk-74D2NYOA.js";
34
34
  import "./chunk-6LMFFG3K.js";
35
35
  import "./chunk-Z4NR32XR.js";
36
36
  import "./chunk-M76ECQRD.js";
@@ -2,14 +2,14 @@ import {
2
2
  messageStreamEnd,
3
3
  prepareAndPersistUserMessage,
4
4
  resolveHandleSendMessageContext
5
- } from "./chunk-S4G3EZ3V.js";
5
+ } from "./chunk-FMT767NK.js";
6
6
  import "./chunk-V2J635L5.js";
7
7
  import "./chunk-MRC4Q34M.js";
8
8
  import "./chunk-MTU75CZ2.js";
9
9
  import "./chunk-CWMSB67P.js";
10
10
  import {
11
11
  streamAgentChatTurn
12
- } from "./chunk-3Q64BA2C.js";
12
+ } from "./chunk-74D2NYOA.js";
13
13
  import "./chunk-6LMFFG3K.js";
14
14
  import "./chunk-Z4NR32XR.js";
15
15
  import "./chunk-M76ECQRD.js";
package/index.js CHANGED
@@ -126,7 +126,7 @@ function createDaemonShortcutCommand(path, description, command2) {
126
126
  // packages/cli/agentInternalCommandEntries.ts
127
127
  function getAgentInternalCommandEntries() {
128
128
  const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args2, ctx) => {
129
- const { runAgentRunCommand } = await import("./agentRunCommand-ZZCK5KS5.js");
129
+ const { runAgentRunCommand } = await import("./agentRunCommand-MEVHCOMH.js");
130
130
  return runAgentRunCommand(args2, {
131
131
  env: ctx.env,
132
132
  scriptDir: ctx.scriptDir,
@@ -142,7 +142,7 @@ function getAgentInternalCommandEntries() {
142
142
  return runAgentListCommand(args2, deps);
143
143
  }),
144
144
  createEnvCommand(["agent", "create"], "Create a new agent", async (args2, deps) => {
145
- const { runAgentCreateCommand } = await import("./agentRecordCommands-5MST6OCG.js");
145
+ const { runAgentCreateCommand } = await import("./agentRecordCommands-DSMDSFMJ.js");
146
146
  return runAgentCreateCommand(args2, deps);
147
147
  }),
148
148
  createEnvCommand(["agent", "pull"], "Cache an agent for local runs", async (args2, deps) => {
@@ -150,7 +150,7 @@ function getAgentInternalCommandEntries() {
150
150
  return runAgentPullCommand(args2, deps);
151
151
  }),
152
152
  createEnvCommand(["agent", "read"], "Read a single agent", async (args2, deps) => {
153
- const { runAgentReadCommand } = await import("./agentRecordCommands-5MST6OCG.js");
153
+ const { runAgentReadCommand } = await import("./agentRecordCommands-DSMDSFMJ.js");
154
154
  return runAgentReadCommand(args2, deps);
155
155
  }),
156
156
  createAgentRunCommand(["agent", "run"], "Run an agent"),
@@ -179,26 +179,26 @@ function getAgentInternalCommandEntries() {
179
179
  return runSetupOfflineMarxistsAgentCommand(args2, deps);
180
180
  }),
181
181
  createEnvCommand(["agent", "update"], "Update agent fields", async (args2, deps) => {
182
- const { runAgentUpdateCommand } = await import("./agentRecordCommands-5MST6OCG.js");
182
+ const { runAgentUpdateCommand } = await import("./agentRecordCommands-DSMDSFMJ.js");
183
183
  return runAgentUpdateCommand(args2, deps);
184
184
  }),
185
185
  createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args2, deps) => {
186
- const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-4EWEJIW3.js");
186
+ const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-32ZZ4VSU.js");
187
187
  return runAgentEmailProvisionCommand(args2, deps);
188
188
  }),
189
189
  createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args2, deps) => {
190
- const { runAgentEmailBindCommand } = await import("./agentEmailCommands-4EWEJIW3.js");
190
+ const { runAgentEmailBindCommand } = await import("./agentEmailCommands-32ZZ4VSU.js");
191
191
  return runAgentEmailBindCommand(args2, deps);
192
192
  }),
193
193
  createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args2, deps) => {
194
- const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-4EWEJIW3.js");
194
+ const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-32ZZ4VSU.js");
195
195
  return runAgentEmailTransferCommand(args2, deps);
196
196
  }),
197
197
  createEnvCommand(
198
198
  ["agent", "email", "create-and-provision"],
199
199
  "Create an agent and provision its controlled inbox",
200
200
  async (args2, deps) => {
201
- const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-4EWEJIW3.js");
201
+ const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-32ZZ4VSU.js");
202
202
  return runAgentEmailCreateAndProvisionCommand(args2, deps);
203
203
  }
204
204
  ),
@@ -207,15 +207,15 @@ function getAgentInternalCommandEntries() {
207
207
  return runAgentDeleteCommand(args2, deps);
208
208
  }),
209
209
  createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args2, deps) => {
210
- const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-23GPUVUG.js");
210
+ const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-EHFBWQ2U.js");
211
211
  return runAgentBindCurrentCommand(args2, deps);
212
212
  }),
213
213
  createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args2, deps) => {
214
- const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-23GPUVUG.js");
214
+ const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-EHFBWQ2U.js");
215
215
  return runAgentSmokeCurrentCommand(args2, deps);
216
216
  }),
217
217
  createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args2, deps) => {
218
- const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-23GPUVUG.js");
218
+ const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-EHFBWQ2U.js");
219
219
  return runAgentRuntimeDoctorCommand(args2, deps);
220
220
  }),
221
221
  createAgentRunCommand(["agent", "chat"], "Chat with an agent")
@@ -370,15 +370,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
370
370
  return runWhoamiCommand({ args: args2, env: ctx.env });
371
371
  }),
372
372
  createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args2, deps) => {
373
- const { runMachineConnectCommand } = await import("./machineCommands-YA4W37PB.js");
373
+ const { runMachineConnectCommand } = await import("./machineCommands-KJZXH2FO.js");
374
374
  return runMachineConnectCommand(args2, deps);
375
375
  }),
376
376
  createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args2, deps) => {
377
- const { runMachineConnectCommand } = await import("./machineCommands-YA4W37PB.js");
377
+ const { runMachineConnectCommand } = await import("./machineCommands-KJZXH2FO.js");
378
378
  return runMachineConnectCommand(args2, deps);
379
379
  }),
380
380
  createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args2, deps) => {
381
- const { runMachineStatusCommand } = await import("./machineCommands-YA4W37PB.js");
381
+ const { runMachineStatusCommand } = await import("./machineCommands-KJZXH2FO.js");
382
382
  return runMachineStatusCommand(args2, deps);
383
383
  }),
384
384
  createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args2, deps) => {
@@ -753,7 +753,7 @@ async function runScript(script, forwardedArgs, env) {
753
753
  return proc.exited;
754
754
  }
755
755
  async function launchTuiWorkspace(args2) {
756
- const { startTuiWorkspace } = await import("./readlineWorkspace-4L25GLAW.js");
756
+ const { startTuiWorkspace } = await import("./readlineWorkspace-LRPVHBM3.js");
757
757
  const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-TXLF4MEI.js");
758
758
  return startTuiWorkspace({
759
759
  ...args2,
@@ -2,16 +2,16 @@ import {
2
2
  buildMachinePermissionPromptBlock,
3
3
  handleConnectorRunMessage,
4
4
  resolveMachineRunPermissionPolicy
5
- } from "./chunk-OPHV7MFH.js";
5
+ } from "./chunk-B54KNGXI.js";
6
6
  import {
7
7
  isConnectorWebSocketAuthError,
8
8
  isConnectorWebSocketRetryableError,
9
9
  resolveConnectorWebSocketTarget
10
- } from "./chunk-RSEUHW6T.js";
10
+ } from "./chunk-MQRZ5QUH.js";
11
11
  import {
12
12
  detectMachineInfo
13
13
  } from "./chunk-6HYVJV7B.js";
14
- import "./chunk-OQIFEHJ3.js";
14
+ import "./chunk-MCXQFHBX.js";
15
15
  import "./chunk-TOILAPLH.js";
16
16
  import "./chunk-CMKUBIGW.js";
17
17
  import "./chunk-JBTJAPUF.js";
@@ -19,12 +19,12 @@ import "./chunk-XRFEX5ZP.js";
19
19
  import "./chunk-VHBWHNVT.js";
20
20
  import "./chunk-UG3WOFU6.js";
21
21
  import "./chunk-ATNTHIZI.js";
22
- import "./chunk-JK757FQM.js";
22
+ import "./chunk-YC2MRILU.js";
23
23
  import "./chunk-4GBNEA5B.js";
24
- import "./chunk-QZOLL5LS.js";
24
+ import "./chunk-TZS6YZTS.js";
25
25
  import {
26
26
  CORE_DRAIN_REASON
27
- } from "./chunk-YDCZVUFP.js";
27
+ } from "./chunk-RQSOAMPJ.js";
28
28
  import "./chunk-OOIN7HSO.js";
29
29
  import "./chunk-KQHGZWSV.js";
30
30
  import "./chunk-IVAOVLM7.js";
@@ -32,16 +32,16 @@ import "./chunk-3LY4F7SV.js";
32
32
  import "./chunk-VP4WJWKW.js";
33
33
  import "./chunk-63W5N6P3.js";
34
34
  import "./chunk-VF4K2QE6.js";
35
- import "./chunk-7NGAIE2Y.js";
36
- import "./chunk-SG4IHGHL.js";
35
+ import "./chunk-QY4QCWDL.js";
36
+ import "./chunk-324SDMXK.js";
37
37
  import "./chunk-VC6OZXO5.js";
38
38
  import "./chunk-OWOHNGCN.js";
39
- import "./chunk-S4G3EZ3V.js";
39
+ import "./chunk-FMT767NK.js";
40
40
  import "./chunk-V2J635L5.js";
41
41
  import "./chunk-MRC4Q34M.js";
42
42
  import "./chunk-MTU75CZ2.js";
43
43
  import "./chunk-CWMSB67P.js";
44
- import "./chunk-3Q64BA2C.js";
44
+ import "./chunk-74D2NYOA.js";
45
45
  import "./chunk-6LMFFG3K.js";
46
46
  import "./chunk-Z4NR32XR.js";
47
47
  import "./chunk-M76ECQRD.js";
@@ -11,8 +11,8 @@ import {
11
11
  runtimeWorkspacePermissionPolicy,
12
12
  scopePermissionPolicyToRuntimeWorkspace,
13
13
  summarizeAgentConfigForLogs
14
- } from "./chunk-OPHV7MFH.js";
15
- import "./chunk-OQIFEHJ3.js";
14
+ } from "./chunk-B54KNGXI.js";
15
+ import "./chunk-MCXQFHBX.js";
16
16
  import "./chunk-TOILAPLH.js";
17
17
  import "./chunk-CMKUBIGW.js";
18
18
  import "./chunk-JBTJAPUF.js";
@@ -20,10 +20,10 @@ import "./chunk-XRFEX5ZP.js";
20
20
  import "./chunk-VHBWHNVT.js";
21
21
  import "./chunk-UG3WOFU6.js";
22
22
  import "./chunk-ATNTHIZI.js";
23
- import "./chunk-JK757FQM.js";
23
+ import "./chunk-YC2MRILU.js";
24
24
  import "./chunk-4GBNEA5B.js";
25
- import "./chunk-QZOLL5LS.js";
26
- import "./chunk-YDCZVUFP.js";
25
+ import "./chunk-TZS6YZTS.js";
26
+ import "./chunk-RQSOAMPJ.js";
27
27
  import "./chunk-OOIN7HSO.js";
28
28
  import "./chunk-KQHGZWSV.js";
29
29
  import "./chunk-IVAOVLM7.js";
@@ -31,16 +31,16 @@ import "./chunk-3LY4F7SV.js";
31
31
  import "./chunk-VP4WJWKW.js";
32
32
  import "./chunk-63W5N6P3.js";
33
33
  import "./chunk-VF4K2QE6.js";
34
- import "./chunk-7NGAIE2Y.js";
35
- import "./chunk-SG4IHGHL.js";
34
+ import "./chunk-QY4QCWDL.js";
35
+ import "./chunk-324SDMXK.js";
36
36
  import "./chunk-VC6OZXO5.js";
37
37
  import "./chunk-OWOHNGCN.js";
38
- import "./chunk-S4G3EZ3V.js";
38
+ import "./chunk-FMT767NK.js";
39
39
  import "./chunk-V2J635L5.js";
40
40
  import "./chunk-MRC4Q34M.js";
41
41
  import "./chunk-MTU75CZ2.js";
42
42
  import "./chunk-CWMSB67P.js";
43
- import "./chunk-3Q64BA2C.js";
43
+ import "./chunk-74D2NYOA.js";
44
44
  import "./chunk-6LMFFG3K.js";
45
45
  import "./chunk-Z4NR32XR.js";
46
46
  import "./chunk-M76ECQRD.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolo-cli",
3
- "version": "0.12.0-alpha.3",
3
+ "version": "0.12.0-alpha.4",
4
4
  "type": "module",
5
5
  "description": "Agent-first terminal workspace for Nolo",
6
6
  "bin": {
@@ -57,7 +57,7 @@ import {
57
57
  visibleWidth,
58
58
  wrapTextToLines,
59
59
  wrapTranscriptLine
60
- } from "./chunk-XIOEEGEC.js";
60
+ } from "./chunk-TNQJQ6HM.js";
61
61
  import "./chunk-3QAF2LTL.js";
62
62
  import "./chunk-6HYVJV7B.js";
63
63
  import {
@@ -76,7 +76,7 @@ import {
76
76
  parseCliLocale,
77
77
  setCliLocale,
78
78
  t
79
- } from "./chunk-OQIFEHJ3.js";
79
+ } from "./chunk-MCXQFHBX.js";
80
80
  import "./chunk-TOILAPLH.js";
81
81
  import "./chunk-CMKUBIGW.js";
82
82
  import "./chunk-JBTJAPUF.js";
@@ -97,12 +97,12 @@ import "./chunk-ATNTHIZI.js";
97
97
  import "./chunk-JEXVIMYZ.js";
98
98
  import {
99
99
  prepareTools
100
- } from "./chunk-JK757FQM.js";
100
+ } from "./chunk-YC2MRILU.js";
101
101
  import "./chunk-4GBNEA5B.js";
102
102
  import {
103
103
  expandEnabledPacks
104
- } from "./chunk-QZOLL5LS.js";
105
- import "./chunk-YDCZVUFP.js";
104
+ } from "./chunk-TZS6YZTS.js";
105
+ import "./chunk-RQSOAMPJ.js";
106
106
  import "./chunk-OOIN7HSO.js";
107
107
  import "./chunk-KQHGZWSV.js";
108
108
  import "./chunk-IVAOVLM7.js";
@@ -110,20 +110,20 @@ import "./chunk-3LY4F7SV.js";
110
110
  import "./chunk-VP4WJWKW.js";
111
111
  import "./chunk-63W5N6P3.js";
112
112
  import "./chunk-VF4K2QE6.js";
113
- import "./chunk-7NGAIE2Y.js";
114
- import "./chunk-SG4IHGHL.js";
113
+ import "./chunk-QY4QCWDL.js";
114
+ import "./chunk-324SDMXK.js";
115
115
  import "./chunk-VC6OZXO5.js";
116
116
  import "./chunk-OWOHNGCN.js";
117
117
  import {
118
118
  extractReferenceKeysFromMessage
119
- } from "./chunk-S4G3EZ3V.js";
119
+ } from "./chunk-FMT767NK.js";
120
120
  import {
121
121
  buildBuiltinSummaryContent
122
122
  } from "./chunk-V2J635L5.js";
123
123
  import "./chunk-MRC4Q34M.js";
124
124
  import "./chunk-MTU75CZ2.js";
125
125
  import "./chunk-CWMSB67P.js";
126
- import "./chunk-3Q64BA2C.js";
126
+ import "./chunk-74D2NYOA.js";
127
127
  import "./chunk-6LMFFG3K.js";
128
128
  import "./chunk-Z4NR32XR.js";
129
129
  import "./chunk-M76ECQRD.js";
@@ -1343,6 +1343,7 @@ async function runAskChoiceDialog(args) {
1343
1343
  typeof args.bottomRow === "function" ? args.bottomRow() : args.bottomRow ?? 0
1344
1344
  );
1345
1345
  let lastBottomRow = 0;
1346
+ let scrolledHeadroom = false;
1346
1347
  let unanchoredCursorLift = 0;
1347
1348
  const restoreUnanchoredCursor = () => {
1348
1349
  if (unanchoredCursorLift <= 0) return;
@@ -1356,6 +1357,14 @@ async function runAskChoiceDialog(args) {
1356
1357
  const canPosition = outputIsTty(output) && typeof output.write === "function";
1357
1358
  if (bottomAnchored && canPosition) {
1358
1359
  const anchorRow = resolveBottomRow();
1360
+ if (!scrolledHeadroom) {
1361
+ const ttyRows = typeof output === "object" && output !== null && "rows" in output && typeof output.rows === "number" ? output.rows : 24;
1362
+ const scrollN = Math.min(lineCount, Math.max(0, ttyRows - 1));
1363
+ if (scrollN > 0) {
1364
+ output.write(`\x1B[${scrollN}S`);
1365
+ }
1366
+ scrolledHeadroom = true;
1367
+ }
1359
1368
  clearAnchoredLines(
1360
1369
  output,
1361
1370
  lastBottomRow > 0 ? lastBottomRow : anchorRow,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  fetchAgentContexts
3
- } from "./chunk-MHB7ECF2.js";
3
+ } from "./chunk-TVQEB7RV.js";
4
4
  import {
5
5
  generateRequestBody,
6
6
  mergeReferences,
7
7
  performFetchRequest
8
- } from "./chunk-2VKA626C.js";
8
+ } from "./chunk-DFGCBRIA.js";
9
9
  import "./chunk-4GBNEA5B.js";
10
10
  import {
11
11
  findToolExecutor,
12
12
  getToolResultErrorData
13
- } from "./chunk-QZOLL5LS.js";
14
- import "./chunk-YDCZVUFP.js";
13
+ } from "./chunk-TZS6YZTS.js";
14
+ import "./chunk-RQSOAMPJ.js";
15
15
  import "./chunk-OOIN7HSO.js";
16
16
  import "./chunk-KQHGZWSV.js";
17
17
  import "./chunk-IVAOVLM7.js";
@@ -19,17 +19,17 @@ import "./chunk-3LY4F7SV.js";
19
19
  import "./chunk-VP4WJWKW.js";
20
20
  import "./chunk-63W5N6P3.js";
21
21
  import "./chunk-VF4K2QE6.js";
22
- import "./chunk-7NGAIE2Y.js";
23
- import "./chunk-SG4IHGHL.js";
22
+ import "./chunk-QY4QCWDL.js";
23
+ import "./chunk-324SDMXK.js";
24
24
  import "./chunk-VC6OZXO5.js";
25
25
  import {
26
26
  updateTokensAction
27
- } from "./chunk-S4G3EZ3V.js";
27
+ } from "./chunk-FMT767NK.js";
28
28
  import "./chunk-V2J635L5.js";
29
29
  import "./chunk-MRC4Q34M.js";
30
30
  import "./chunk-MTU75CZ2.js";
31
31
  import "./chunk-CWMSB67P.js";
32
- import "./chunk-3Q64BA2C.js";
32
+ import "./chunk-74D2NYOA.js";
33
33
  import "./chunk-6LMFFG3K.js";
34
34
  import "./chunk-Z4NR32XR.js";
35
35
  import "./chunk-M76ECQRD.js";
@@ -50,12 +50,12 @@ import {
50
50
  updateContentTitle,
51
51
  updateSpace,
52
52
  uploadAndAddFileToSpace
53
- } from "./chunk-S4G3EZ3V.js";
53
+ } from "./chunk-FMT767NK.js";
54
54
  import "./chunk-V2J635L5.js";
55
55
  import "./chunk-MRC4Q34M.js";
56
56
  import "./chunk-MTU75CZ2.js";
57
57
  import "./chunk-CWMSB67P.js";
58
- import "./chunk-3Q64BA2C.js";
58
+ import "./chunk-74D2NYOA.js";
59
59
  import "./chunk-6LMFFG3K.js";
60
60
  import "./chunk-Z4NR32XR.js";
61
61
  import "./chunk-M76ECQRD.js";