nolo-cli 0.12.0-alpha.2 → 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-K23VU36L.js → _executeModel-L4JM5R23.js} +10 -10
  2. package/{agentEmailCommands-7IBTXHNQ.js → agentEmailCommands-32ZZ4VSU.js} +9 -9
  3. package/{agentMachineCommands-5ZM2DB3X.js → agentMachineCommands-EHFBWQ2U.js} +3 -3
  4. package/{agentRecordCommands-5IVBEJLP.js → agentRecordCommands-DSMDSFMJ.js} +9 -9
  5. package/{agentRunCommand-UCAEMXQF.js → agentRunCommand-MEVHCOMH.js} +9 -9
  6. package/{agentSlice-LWIPUATN.js → agentSlice-Y3NABOKT.js} +1 -1
  7. package/{chunk-TEOXBCYU.js → chunk-324SDMXK.js} +1 -1
  8. package/{chunk-JJR3NP7R.js → chunk-74D2NYOA.js} +3 -3
  9. package/{chunk-3LVXNJON.js → chunk-A4QALINN.js} +1 -1
  10. package/{chunk-XJFP4EXZ.js → chunk-B54KNGXI.js} +2 -2
  11. package/{chunk-F22FKI27.js → chunk-DFGCBRIA.js} +11 -6
  12. package/{chunk-FVGPOJYM.js → chunk-FMT767NK.js} +8 -8
  13. package/{chunk-47TVQ7LF.js → chunk-G5S6HMHH.js} +5 -5
  14. package/{chunk-ZR4RO4ZC.js → chunk-MCXQFHBX.js} +19 -7
  15. package/{chunk-RSEUHW6T.js → chunk-MQRZ5QUH.js} +1 -1
  16. package/{chunk-LNTQ7UXG.js → chunk-QY4QCWDL.js} +2 -2
  17. package/{chunk-YDCZVUFP.js → chunk-RQSOAMPJ.js} +16 -0
  18. package/{chunk-ESR6LPO5.js → chunk-TNQJQ6HM.js} +13 -7
  19. package/{chunk-672VQUVH.js → chunk-TVQEB7RV.js} +1 -1
  20. package/{chunk-6EFMBEQG.js → chunk-TZS6YZTS.js} +17 -9
  21. package/{chunk-JNMELOHI.js → chunk-YC2MRILU.js} +1 -1
  22. package/{createAgentAutomationAction-PJTUHFYB.js → createAgentAutomationAction-YWC4P6JX.js} +2 -2
  23. package/{createDialogAction-QUCXTRAC.js → createDialogAction-IQP745JA.js} +3 -3
  24. package/{createPageAction-2EWMGYFH.js → createPageAction-T4RZCJKF.js} +2 -2
  25. package/{dialogSlice-724QVE7A.js → dialogSlice-QR7SDOEV.js} +2 -2
  26. package/{docStore-R3US5ZU5.js → docStore-Y43RC35L.js} +3 -3
  27. package/{handleSendMessageAction-NTK7QUU2.js → handleSendMessageAction-L7L463O4.js} +2 -2
  28. package/index.js +15 -15
  29. package/{machineCommands-XOU6Q7Y2.js → machineCommands-KJZXH2FO.js} +10 -10
  30. package/{machineWsRunDispatch-QRI3MSNV.js → machineWsRunDispatch-V4HBAZY6.js} +9 -9
  31. package/package.json +1 -1
  32. package/{readlineWorkspace-3MDU7AYQ.js → readlineWorkspace-LRPVHBM3.js} +26 -9
  33. package/{runAgentClientLoop-ZIQQIOUB.js → runAgentClientLoop-DXNOTYXP.js} +8 -8
  34. package/{spaceSlice-DX7Y4RUE.js → spaceSlice-PSAREO5S.js} +2 -2
  35. package/{streamAgentChatTurn-7OF2I3KI.js → streamAgentChatTurn-54CNCH2V.js} +205 -11
  36. package/{tools-4IILQ24N.js → tools-SIU3JFHL.js} +6 -6
  37. package/{updateDialogTitleAction-GNQXACIP.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-LNTQ7UXG.js";
37
+ } from "./chunk-QY4QCWDL.js";
37
38
  import {
38
39
  createDialogAction
39
- } from "./chunk-TEOXBCYU.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-FVGPOJYM.js";
79
+ } from "./chunk-FMT767NK.js";
79
80
  import {
80
81
  createAgent,
81
82
  runLlm,
82
83
  streamAgentChatTurn,
83
84
  updateAgent
84
- } from "./chunk-JJR3NP7R.js";
85
+ } from "./chunk-74D2NYOA.js";
85
86
  import {
86
87
  NOLO_WORKSPACE_TOOL_NAMES,
87
88
  buildNoloSubjectRefQueryTarget,
@@ -2240,6 +2241,7 @@ var chat_locale_default = {
2240
2241
  uploadFailed: "Upload failed",
2241
2242
  deleteMessageTitle: "Delete Message",
2242
2243
  delConfirm: "Delete this tool output?",
2244
+ delConfirmMessage: "Delete this message?",
2243
2245
  bash: {
2244
2246
  blockedTitle: "Dangerous Command Blocked",
2245
2247
  blockedDesc: "This command was detected as high-risk and was not executed. If necessary, please confirm the risk and continue.",
@@ -2594,6 +2596,7 @@ var chat_locale_default = {
2594
2596
  answerContent: "\u56DE\u7B54",
2595
2597
  deleteMessageTitle: "\u5220\u9664\u6D88\u606F",
2596
2598
  delConfirm: "\u5220\u9664\u6B64\u5DE5\u5177\u8F93\u51FA\uFF1F",
2599
+ delConfirmMessage: "\u5220\u9664\u6B64\u6D88\u606F\uFF1F",
2597
2600
  bash: {
2598
2601
  blockedTitle: "\u5371\u9669\u547D\u4EE4\u5DF2\u88AB\u62E6\u622A",
2599
2602
  blockedDesc: "\u8BE5\u547D\u4EE4\u88AB\u68C0\u6D4B\u4E3A\u9AD8\u5371\u64CD\u4F5C\uFF0C\u9ED8\u8BA4\u672A\u6267\u884C\u3002\u5982\u786E\u6709\u5FC5\u8981\uFF0C\u8BF7\u786E\u8BA4\u98CE\u9669\u540E\u7EE7\u7EED\u3002",
@@ -2939,6 +2942,7 @@ var chat_locale_default = {
2939
2942
  answerContent: "\u56DE\u7B54",
2940
2943
  deleteMessageTitle: "\u522A\u9664\u8A0A\u606F",
2941
2944
  delConfirm: "\u522A\u9664\u6B64\u5DE5\u5177\u8F38\u51FA\uFF1F",
2945
+ delConfirmMessage: "\u522A\u9664\u6B64\u8A0A\u606F\uFF1F",
2942
2946
  bash: {
2943
2947
  blockedTitle: "\u5371\u96AA\u547D\u4EE4\u5DF2\u88AB\u6514\u622A",
2944
2948
  blockedDesc: "\u8A72\u547D\u4EE4\u88AB\u6AA2\u6E2C\u70BA\u9AD8\u5371\u64CD\u4F5C\uFF0C\u9810\u8A2D\u672A\u57F7\u884C\u3002\u5982\u78BA\u6709\u5FC5\u8981\uFF0C\u8ACB\u78BA\u8A8D\u98A8\u96AA\u5F8C\u7E7C\u7E8C\u3002",
@@ -3228,6 +3232,7 @@ var chat_locale_default = {
3228
3232
  uploadFailed: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5931\u6557",
3229
3233
  deleteMessageTitle: "\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u524A\u9664",
3230
3234
  delConfirm: "\u3053\u306E\u5DE5\u5177\u306E\u51FA\u529B\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",
3235
+ delConfirmMessage: "\u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",
3231
3236
  bash: {
3232
3237
  blockedTitle: "\u5371\u967A\u306A\u30B3\u30DE\u30F3\u30C9\u3092\u30D6\u30ED\u30C3\u30AF\u3057\u307E\u3057\u305F",
3233
3238
  blockedDesc: "\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u306F\u9AD8\u30EA\u30B9\u30AF\u3068\u3057\u3066\u691C\u51FA\u3055\u308C\u3001\u5B9F\u884C\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u30EA\u30B9\u30AF\u3092\u78BA\u8A8D\u3057\u3001\u7D9A\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
@@ -13960,7 +13965,7 @@ async function deleteDialogsFunc(args, thunkApi) {
13960
13965
  const deletedDialogIds = [];
13961
13966
  const deletedDialogKeys = [];
13962
13967
  const failures = [];
13963
- const { deleteDialog } = await import("./dialogSlice-724QVE7A.js");
13968
+ const { deleteDialog } = await import("./dialogSlice-QR7SDOEV.js");
13964
13969
  for (const target of targets) {
13965
13970
  try {
13966
13971
  await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
@@ -20932,6 +20937,9 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
20932
20937
  await waitForRetryDelay(retryAfterMs, effectiveSignal);
20933
20938
  continue;
20934
20939
  }
20940
+ if (isCoreDraining) {
20941
+ throw new Error(DRAIN_EXHAUSTED_USER_MESSAGE);
20942
+ }
20935
20943
  throw new Error(`\u542F\u52A8\u540E\u53F0\u4EFB\u52A1\u5931\u8D25 (${runRes.status}): ${errText}`);
20936
20944
  }
20937
20945
  if (!runResponse) {
@@ -23094,7 +23102,7 @@ var executeToolRun = createAsyncThunk(
23094
23102
  if (!executionInput) {
23095
23103
  throw new Error(`ToolRun ${id} has no input to execute with.`);
23096
23104
  }
23097
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-4IILQ24N.js");
23105
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-SIU3JFHL.js");
23098
23106
  const { executor } = findToolExecutor2(run.toolName);
23099
23107
  toolRunStarted({
23100
23108
  id: run.id,
@@ -23118,7 +23126,7 @@ var executeToolRun = createAsyncThunk(
23118
23126
  const latestState = thunkApi.getState();
23119
23127
  const userId = latestState.auth?.currentUser?.userId;
23120
23128
  if (userId) {
23121
- const { fetchUserSpaceMemberships } = await import("./spaceSlice-DX7Y4RUE.js");
23129
+ const { fetchUserSpaceMemberships } = await import("./spaceSlice-PSAREO5S.js");
23122
23130
  await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
23123
23131
  }
23124
23132
  }
@@ -25521,7 +25529,7 @@ async function updateDocFunc(args, thunkApi) {
25521
25529
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
25522
25530
  };
25523
25531
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
25524
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-R3US5ZU5.js");
25532
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-Y43RC35L.js");
25525
25533
  if (getDocState().pageKey === id) {
25526
25534
  applyExternalDocUpdate({
25527
25535
  slateData: finalSlateData,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-6EFMBEQG.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-FVGPOJYM.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-JJR3NP7R.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-TEOXBCYU.js";
4
+ } from "./chunk-324SDMXK.js";
5
5
  import "./chunk-VC6OZXO5.js";
6
- import "./chunk-FVGPOJYM.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-JJR3NP7R.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-FVGPOJYM.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-JJR3NP7R.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-FVGPOJYM.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-JJR3NP7R.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-LNTQ7UXG.js";
28
- import "./chunk-FVGPOJYM.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-JJR3NP7R.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-FVGPOJYM.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-JJR3NP7R.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-UCAEMXQF.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-5IVBEJLP.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-5IVBEJLP.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-5IVBEJLP.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-7IBTXHNQ.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-7IBTXHNQ.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-7IBTXHNQ.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-7IBTXHNQ.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-5ZM2DB3X.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-5ZM2DB3X.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-5ZM2DB3X.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-XOU6Q7Y2.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-XOU6Q7Y2.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-XOU6Q7Y2.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-3MDU7AYQ.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-XJFP4EXZ.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-ZR4RO4ZC.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-JNMELOHI.js";
22
+ import "./chunk-YC2MRILU.js";
23
23
  import "./chunk-4GBNEA5B.js";
24
- import "./chunk-6EFMBEQG.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-LNTQ7UXG.js";
36
- import "./chunk-TEOXBCYU.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-FVGPOJYM.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-JJR3NP7R.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-XJFP4EXZ.js";
15
- import "./chunk-ZR4RO4ZC.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-JNMELOHI.js";
23
+ import "./chunk-YC2MRILU.js";
24
24
  import "./chunk-4GBNEA5B.js";
25
- import "./chunk-6EFMBEQG.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-LNTQ7UXG.js";
35
- import "./chunk-TEOXBCYU.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-FVGPOJYM.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-JJR3NP7R.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.2",
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-ESR6LPO5.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-ZR4RO4ZC.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-JNMELOHI.js";
100
+ } from "./chunk-YC2MRILU.js";
101
101
  import "./chunk-4GBNEA5B.js";
102
102
  import {
103
103
  expandEnabledPacks
104
- } from "./chunk-6EFMBEQG.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-LNTQ7UXG.js";
114
- import "./chunk-TEOXBCYU.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-FVGPOJYM.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-JJR3NP7R.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,
@@ -5263,6 +5272,14 @@ ${t("copyViewHint")}
5263
5272
  dialogKey: compactResult.dialogKey,
5264
5273
  dialogLabel: compactResult.dialogId
5265
5274
  };
5275
+ output.write(
5276
+ `${t(
5277
+ compactResult.summaryGenerated ? "compactDone" : "compactDoneNoSummary",
5278
+ result.action.dialogId,
5279
+ compactResult.dialogId
5280
+ )}
5281
+ `
5282
+ );
5266
5283
  } catch (error) {
5267
5284
  output.write(
5268
5285
  `[nolo] Compact failed: ${toErrorMessage(error)}
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  fetchAgentContexts
3
- } from "./chunk-672VQUVH.js";
3
+ } from "./chunk-TVQEB7RV.js";
4
4
  import {
5
5
  generateRequestBody,
6
6
  mergeReferences,
7
7
  performFetchRequest
8
- } from "./chunk-F22FKI27.js";
8
+ } from "./chunk-DFGCBRIA.js";
9
9
  import "./chunk-4GBNEA5B.js";
10
10
  import {
11
11
  findToolExecutor,
12
12
  getToolResultErrorData
13
- } from "./chunk-6EFMBEQG.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-LNTQ7UXG.js";
23
- import "./chunk-TEOXBCYU.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-FVGPOJYM.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-JJR3NP7R.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-FVGPOJYM.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-JJR3NP7R.js";
58
+ import "./chunk-74D2NYOA.js";
59
59
  import "./chunk-6LMFFG3K.js";
60
60
  import "./chunk-Z4NR32XR.js";
61
61
  import "./chunk-M76ECQRD.js";