nolo-cli 0.29.2 → 0.30.0-alpha.10

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 (138) hide show
  1. package/{_executeModel-BFVTGZXE.js → _executeModel-5ARVVUIK.js} +64 -69
  2. package/{action-LG32A6DJ.js → action-HI3VRQLP.js} +15 -16
  3. package/{addContentAction-MPGMBJTQ.js → addContentAction-NCURJ6PK.js} +13 -13
  4. package/{addDialogAgentAction-ZH23WDID.js → addDialogAgentAction-RCY4ECF4.js} +12 -12
  5. package/{agentDeleteCommand-4S4STG42.js → agentDeleteCommand-5Q6TDCJU.js} +62 -40
  6. package/{agentEmailCommands-3F4IP4DI.js → agentEmailCommands-DSX4BJ2I.js} +77 -81
  7. package/{agentGrantCommands-JNDE4RWR.js → agentGrantCommands-E7ZZFRHK.js} +2 -1
  8. package/{agentListCommands-JCRV2XF6.js → agentListCommands-S66HL5RO.js} +59 -41
  9. package/{agentMachineCommands-KYXPYSFP.js → agentMachineCommands-ULCQ5ZNN.js} +55 -36
  10. package/{agentPullCommand-ZZGU5KOY.js → agentPullCommand-4V36XNGV.js} +4 -3
  11. package/{agentRecordCommands-UADUPIXO.js → agentRecordCommands-2AA3GEGO.js} +75 -79
  12. package/{agentRunCommand-MJWSR53W.js → agentRunCommand-3KOT77XY.js} +79 -83
  13. package/{agentRunControl-SNUKXN6J.js → agentRunControl-AKBN2366.js} +13 -1
  14. package/{agentRuntimeLocal-PC5RRRPT.js → agentRuntimeLocal-7TMDJD4S.js} +50 -31
  15. package/{agentSlice-C5OYLNBT.js → agentSlice-6IQRQZX3.js} +13 -14
  16. package/{appDeleteCommands-ZXODZ5AD.js → appDeleteCommands-UUDIWLNE.js} +55 -36
  17. package/{appDeployCommands-AWC6JPZH.js → appDeployCommands-CO6SZ7YP.js} +55 -36
  18. package/{appDeployStatusCommands-74NXMDAI.js → appDeployStatusCommands-QEVKVECJ.js} +55 -36
  19. package/{appGetCommands-6YGIAP5L.js → appGetCommands-3YSCCLK4.js} +55 -36
  20. package/{appListCommands-DZWBHMNK.js → appListCommands-FBJAFZKK.js} +55 -36
  21. package/{authCommand-XMQHBK5L.js → authCommand-3ADNCFKD.js} +16 -16
  22. package/{authCommands-JSOG2H4E.js → authCommands-CXJ6PI2O.js} +7 -7
  23. package/{chunk-TOGGHWHI.js → chunk-2CYGIPJH.js} +3 -3
  24. package/{chunk-HRJEPMZY.js → chunk-2HQ4OG6N.js} +2 -2
  25. package/{chunk-XMLRJUU5.js → chunk-2IJAKBK2.js} +12 -10
  26. package/{chunk-OLWMGSW2.js → chunk-2SOQY5L6.js} +41 -39
  27. package/{chunk-7H3UTGPM.js → chunk-3AUWC6EM.js} +82 -3
  28. package/{chunk-6HTWA77J.js → chunk-43EPBPZ2.js} +1 -1
  29. package/{chunk-RJBTU7AS.js → chunk-4F77PJBR.js} +302 -14
  30. package/{chunk-RZNYL4LW.js → chunk-4SAV7BD7.js} +65 -1
  31. package/{chunk-R5V5G73M.js → chunk-5RDLGLAP.js} +0 -1
  32. package/{chunk-VKBTAQWT.js → chunk-6JH2DF7J.js} +6 -6
  33. package/{chunk-DZ3XJVET.js → chunk-AOS5IN2I.js} +1 -1
  34. package/{chunk-5ZXNLOAG.js → chunk-ARPAHODF.js} +17 -10
  35. package/{chunk-IC7W63RM.js → chunk-ATK5WJOA.js} +4 -4
  36. package/{chunk-OEWEE4VW.js → chunk-BIPRFBC2.js} +4 -2
  37. package/{chunk-YTA2QOEE.js → chunk-CAENRKNJ.js} +15 -0
  38. package/chunk-CYRMUTGB.js +1707 -0
  39. package/chunk-DCDL3GC4.js +171 -0
  40. package/{chunk-WX3ZOSTL.js → chunk-EBNSAABL.js} +24 -26
  41. package/{chunk-2TYLTEAH.js → chunk-EDWM6D6L.js} +1 -1
  42. package/{chunk-GT3GG2H7.js → chunk-EIQDGAAE.js} +148 -2
  43. package/chunk-F3MP7CP6.js +73 -0
  44. package/{chunk-R7LOFGRE.js → chunk-G5GVZAXF.js} +19 -15
  45. package/{chunk-KEF5OBOZ.js → chunk-GKXS4F2I.js} +33 -27
  46. package/{chunk-R3JSTDQO.js → chunk-GVPMJPCT.js} +1 -1
  47. package/{chunk-WMB7GVPN.js → chunk-IPSPETAL.js} +152 -1177
  48. package/{chunk-MQRZ5QUH.js → chunk-IXZX5CJK.js} +1 -1
  49. package/{chunk-2FX23RGA.js → chunk-J3LHGBNO.js} +5 -5
  50. package/{chunk-VHBWHNVT.js → chunk-K6QEHQZ3.js} +8 -4
  51. package/{chunk-HRPWRVBI.js → chunk-KGEVMUMI.js} +11 -11
  52. package/{chunk-L65QKSVJ.js → chunk-L3GCUVOH.js} +1 -1
  53. package/{chunk-G2BZ43DV.js → chunk-LAXMH7JY.js} +14 -14
  54. package/chunk-LEVCXTDN.js +5558 -0
  55. package/{chunk-HEXXIS77.js → chunk-N2IX3ZYK.js} +1 -1
  56. package/{chunk-32ZM6HVI.js → chunk-NZBH7FTB.js} +95 -95
  57. package/{chunk-XOIF2TNF.js → chunk-OB6FBSH3.js} +13 -0
  58. package/{chunk-PSK2RUHV.js → chunk-OIW2RJ74.js} +360 -2
  59. package/{chunk-FRN5QOKN.js → chunk-PACNSC37.js} +19 -4
  60. package/{chunk-QC6ZWDSV.js → chunk-PIC6Z7VI.js} +3 -3
  61. package/{chunk-H5S4XUGI.js → chunk-Q243PXRU.js} +185 -158
  62. package/{chunk-BBGRJB5E.js → chunk-QBOW6RZN.js} +4 -4
  63. package/{chunk-FVOSIYXM.js → chunk-R5Y4XELF.js} +43 -394
  64. package/{chunk-DF7SMWEV.js → chunk-RWJPDKPB.js} +1 -1
  65. package/{chunk-NXMJ55RU.js → chunk-S2BMRBR2.js} +3 -3
  66. package/{chunk-GC34RRTQ.js → chunk-SWYMCHM7.js} +1 -69
  67. package/chunk-T27IEBNQ.js +149 -0
  68. package/{chunk-GMJS5AYP.js → chunk-T4X4GCYT.js} +19 -179
  69. package/{chunk-4BDPDTJU.js → chunk-TXVSNFHC.js} +8 -8
  70. package/{chunk-JSB4N6NU.js → chunk-V54H24CQ.js} +3 -3
  71. package/chunk-VQ4QPCKE.js +3226 -0
  72. package/{chunk-Q5RXHXKU.js → chunk-W3UDJJMA.js} +189 -122
  73. package/{chunk-L3QFIBZG.js → chunk-WTGCTVJG.js} +1 -1
  74. package/{chunk-XS7UPVR7.js → chunk-WTPC3XD4.js} +5 -5
  75. package/{chunk-WSQLK2KR.js → chunk-XFGM5PJP.js} +6 -6
  76. package/{chunk-HALKDXKP.js → chunk-XORE26Z4.js} +8 -4
  77. package/chunk-YLC42PIE.js +7889 -0
  78. package/{chunk-SKDNBYZK.js → chunk-ZJ2WITOO.js} +2 -2
  79. package/{chunk-L6RBX4L4.js → chunk-ZJH3LKEW.js} +21 -9
  80. package/{codingSkills-EN6Z6G6U.js → codingSkills-V35TRR4Y.js} +1 -2
  81. package/{createAgentAutomationAction-BK4UZJKU.js → createAgentAutomationAction-EYNYY2LB.js} +31 -37
  82. package/{createDialogAction-MJJUI2MK.js → createDialogAction-OUIRWYZP.js} +34 -39
  83. package/{createPageAction-YMZ7K363.js → createPageAction-2I5PHJFF.js} +45 -51
  84. package/{dbSlice-6QJYQUBV.js → dbSlice-BBL3PEVW.js} +12 -12
  85. package/{deleteFile-WDZ3VM7B.js → deleteFile-RJTEPOT4.js} +6 -6
  86. package/{dialogCommands-OKH45ASS.js → dialogCommands-5CL4QYQ7.js} +55 -38
  87. package/{dialogSlice-UDOKNDHB.js → dialogSlice-EKKVFKBJ.js} +28 -35
  88. package/{docCreateCommands-MCLMR4TE.js → docCreateCommands-QHCLYGNW.js} +54 -37
  89. package/{docDeleteCommands-ONDHI7JV.js → docDeleteCommands-DS6KOU6N.js} +56 -39
  90. package/{docReadCommands-FCXBMISW.js → docReadCommands-FRI5DAKH.js} +54 -37
  91. package/{docStore-N66O4CGH.js → docStore-V7EJS4PX.js} +30 -36
  92. package/{docUpdateCommands-T3XN6XOX.js → docUpdateCommands-RQO5ZTXT.js} +57 -40
  93. package/{fetchMessages-W4IKHPCS.js → fetchMessages-VPPQDDZ4.js} +3 -3
  94. package/{getPricing-X6I23RN6.js → getPricing-67TQVKFV.js} +6 -7
  95. package/{handleSendMessageAction-KC4AYUZP.js → handleSendMessageAction-KCF7KII4.js} +30 -37
  96. package/index.js +72 -72
  97. package/{localDialogRead-UFLBS6OT.js → localDialogRead-P72W2U2R.js} +1 -1
  98. package/{machineCommands-DIMRFA3Y.js → machineCommands-IAGAKTHV.js} +78 -82
  99. package/{machineWsRunDispatch-2DYJZI6Z.js → machineWsRunDispatch-JGKC2HEK.js} +73 -77
  100. package/{models-YT32CTT5.js → models-WDUTTYFS.js} +2 -2
  101. package/{offlineMarxistsAgentCommand-5OOWZLJI.js → offlineMarxistsAgentCommand-E6LUG63A.js} +6 -2
  102. package/package.json +1 -1
  103. package/{read-C7Y6LSBM.js → read-64OQDO3I.js} +7 -7
  104. package/{readDocTool-TOHRYJHP.js → readDocTool-MXM3T6PE.js} +2 -1
  105. package/{readlineWorkspace-HUPHMLDG.js → readlineWorkspace-5AQHHIBK.js} +209 -183
  106. package/{removeDialogAgentAction-WZXPOH5S.js → removeDialogAgentAction-NEKVAMSH.js} +16 -17
  107. package/{runAgentClientLoop-5TGSUKHV.js → runAgentClientLoop-6OGPS6SI.js} +63 -67
  108. package/{setDialogExtraReferencesAction-INZY2ENI.js → setDialogExtraReferencesAction-WTOHQDIV.js} +13 -13
  109. package/{setPrimaryDialogAgentAction-WCVLPYCF.js → setPrimaryDialogAgentAction-LDJOYC4F.js} +16 -17
  110. package/{settingSlice-IDUM4LWU.js → settingSlice-4M37TN7V.js} +14 -15
  111. package/{skillDiscovery-ITA7BI7A.js → skillDiscovery-I3QRA7NE.js} +2 -2
  112. package/{spaceCommands-XSSDB3YK.js → spaceCommands-VTDNKTSF.js} +240 -41
  113. package/{spaceSlice-BXDCO6PT.js → spaceSlice-LGUZMB7Y.js} +29 -35
  114. package/{streamAgentChatTurn-HRFMVSVC.js → streamAgentChatTurn-TIGCZUNZ.js} +133 -1301
  115. package/{switchDialogAgentAction-YBFFCBOD.js → switchDialogAgentAction-XVWGKR2Z.js} +12 -12
  116. package/{tableCommands-QSZILI7I.js → tableCommands-RJZ3V4TF.js} +7 -7
  117. package/{toolApiClient-WVTUYOFM.js → toolApiClient-ARGFDJAG.js} +2 -2
  118. package/{tools-5V6FHWQU.js → tools-BQAOPYMR.js} +51 -56
  119. package/{tuiSummaryLlmCaller-GCUPULOV.js → tuiSummaryLlmCaller-YQBN5IMG.js} +12 -12
  120. package/{updateDialogTitleAction-W62C4W4K.js → updateDialogTitleAction-E6HMEDPH.js} +39 -45
  121. package/chunk-5CS33IBL.js +0 -301
  122. package/chunk-5MMAK75Q.js +0 -15
  123. package/chunk-HYSJHRWD.js +0 -669
  124. package/chunk-MRC4Q34M.js +0 -188
  125. package/chunk-SIZQB7BD.js +0 -91
  126. package/chunk-UEOPA6MV.js +0 -641
  127. package/chunk-UFL6WHHJ.js +0 -15419
  128. package/chunk-VIDPVFP3.js +0 -20
  129. package/chunk-W2LZV5GE.js +0 -231
  130. package/chunk-Y5GCAMGP.js +0 -9
  131. package/chunk-YYLHWIW6.js +0 -48
  132. package/chunk-Z54ZAZZC.js +0 -1791
  133. package/chunk-ZZ2MH7LE.js +0 -84
  134. package/{chunk-OMP5L5NF.js → chunk-44HACRCK.js} +3 -3
  135. package/{chunk-ZVZMT3EA.js → chunk-KWCLUYGQ.js} +3 -3
  136. package/{chunk-NRY4GCKJ.js → chunk-WHLVPK32.js} +3 -3
  137. package/{chunk-RQSOAMPJ.js → chunk-Z5MXSEOJ.js} +2 -2
  138. package/{runtimeDoctorCommands-HSU632DY.js → runtimeDoctorCommands-E2OUORHK.js} +3 -3
@@ -4,11 +4,14 @@ import {
4
4
  providerHttpFailure,
5
5
  readSseFrames,
6
6
  throwIfChatCompletionStreamFailed
7
- } from "./chunk-HALKDXKP.js";
7
+ } from "./chunk-XORE26Z4.js";
8
+ import {
9
+ sanitizeForOutbound
10
+ } from "./chunk-T27IEBNQ.js";
8
11
  import {
9
12
  parseToolArgumentsJson,
10
13
  resolveHistoricalToolContentCap
11
- } from "./chunk-Z54ZAZZC.js";
14
+ } from "./chunk-VQ4QPCKE.js";
12
15
  import {
13
16
  createThinkParserState,
14
17
  createToolCallAccumulator,
@@ -19,7 +22,7 @@ import {
19
22
  import {
20
23
  requiresBareImageUrl,
21
24
  toBareImageUrlMessages
22
- } from "./chunk-PSK2RUHV.js";
25
+ } from "./chunk-OIW2RJ74.js";
23
26
  import {
24
27
  shouldStripReasoningContentForOutbound,
25
28
  toOpenAiCompatibleMessages
@@ -27,37 +30,34 @@ import {
27
30
  import {
28
31
  buildProviderAuthHeaders,
29
32
  buildProviderExecutionPlan
30
- } from "./chunk-XS7UPVR7.js";
33
+ } from "./chunk-WTPC3XD4.js";
34
+ import {
35
+ buildDialogFallbackTitleFromUserInput
36
+ } from "./chunk-2MBTWINN.js";
31
37
  import {
32
38
  NOLO_WORKSPACE_TOOL_NAMES,
33
39
  buildNoloWorkspaceCommandArgs,
34
40
  noloStringArg,
35
41
  parseNoloWorkspaceToolArguments
36
- } from "./chunk-UEOPA6MV.js";
37
- import {
38
- buildDialogFallbackTitleFromUserInput
39
- } from "./chunk-2MBTWINN.js";
40
- import {
41
- canonicalizeToolName
42
- } from "./chunk-ZZ2MH7LE.js";
42
+ } from "./chunk-CYRMUTGB.js";
43
43
  import {
44
44
  toErrorMessage
45
45
  } from "./chunk-HNMXYYJR.js";
46
46
  import {
47
47
  asRecordOrEmpty
48
48
  } from "./chunk-KX6YBIHG.js";
49
+ import {
50
+ asTrimmedLowercaseString
51
+ } from "./chunk-QSJ3HFEF.js";
52
+ import {
53
+ normalizeServerOrigin
54
+ } from "./chunk-CF7PE763.js";
49
55
  import {
50
56
  dialogMessageKey
51
- } from "./chunk-NRY4GCKJ.js";
57
+ } from "./chunk-WHLVPK32.js";
52
58
  import {
53
59
  asOptionalFiniteNumber
54
60
  } from "./chunk-WWC7I6TA.js";
55
- import {
56
- asTrimmedNonEmptyStringArray
57
- } from "./chunk-I42VC5KR.js";
58
- import {
59
- asTrimmedLowercaseString
60
- } from "./chunk-QSJ3HFEF.js";
61
61
  import {
62
62
  asTrimmedString
63
63
  } from "./chunk-3EUW3WEO.js";
@@ -68,8 +68,11 @@ import {
68
68
  isRecord
69
69
  } from "./chunk-KUG52IAP.js";
70
70
  import {
71
- normalizeServerOrigin
72
- } from "./chunk-CF7PE763.js";
71
+ canonicalizeToolName
72
+ } from "./chunk-3AUWC6EM.js";
73
+ import {
74
+ asTrimmedNonEmptyStringArray
75
+ } from "./chunk-I42VC5KR.js";
73
76
  import {
74
77
  asOptionalTrimmedString
75
78
  } from "./chunk-G3SUCT4W.js";
@@ -145,7 +148,8 @@ function buildOpenAiCompatibleChatCompletionRequest(args) {
145
148
  args.providerConfig.provider,
146
149
  args.providerConfig.model
147
150
  );
148
- const messages = toOpenAiCompatibleMessages(args.messages, {
151
+ const sanitizedMessages = sanitizeForOutbound(args.messages, args.tools);
152
+ const messages = toOpenAiCompatibleMessages(sanitizedMessages, {
149
153
  stripReasoningContent: shouldStripReasoning
150
154
  });
151
155
  const body = {
@@ -1123,6 +1127,7 @@ function resolveLocalToolPolicy(args) {
1123
1127
  reason: `${toolName} is not enabled for local runtime runs. The agent must declare the tool in its manifest; in restricted mode (NOLO_LOCAL_TOOL_MODE=restricted) non-default tools also require adding to NOLO_LOCAL_ALLOWED_TOOLS (e.g. NOLO_LOCAL_ALLOWED_TOOLS=someCustomTool) and restarting the session so the env var loads.`
1124
1128
  };
1125
1129
  }
1130
+ var ABORT_AWARE_LOCAL_TOOLS = /* @__PURE__ */ new Set(["execShell", "controlAgentRun"]);
1126
1131
  async function executeLocalToolWithPolicy(args) {
1127
1132
  const decision = resolveLocalToolPolicy({
1128
1133
  env: args.env,
@@ -1134,7 +1139,7 @@ async function executeLocalToolWithPolicy(args) {
1134
1139
  if (!executor) {
1135
1140
  throw new Error(`${decision.toolName} is allowed by policy but no local executor is registered.`);
1136
1141
  }
1137
- const effectiveExecutor = args.abortSignal && decision.toolName === "execShell" && args.executors ? (call) => args.executors.execShell(call, {
1142
+ const effectiveExecutor = args.abortSignal && ABORT_AWARE_LOCAL_TOOLS.has(decision.toolName) && args.executors ? (call) => executor(call, {
1138
1143
  abortSignal: args.abortSignal,
1139
1144
  detachMs: args.detachMs
1140
1145
  }) : executor;
@@ -2549,8 +2554,8 @@ function convertEol(text, eol) {
2549
2554
  function pluralizeReplacement(count) {
2550
2555
  return count === 1 ? "replacement" : "replacements";
2551
2556
  }
2552
- var EDIT_SNIPPET_MAX_LINES = 5;
2553
- var EDIT_SNIPPET_WIDTH = 96;
2557
+ var EDIT_SNIPPET_MAX_LINES = 24;
2558
+ var EDIT_SNIPPET_WIDTH = 160;
2554
2559
  function clipEditSnippet(text) {
2555
2560
  const lines = text.split(/\r?\n/).filter((line) => line.length > 0);
2556
2561
  return lines.slice(0, EDIT_SNIPPET_MAX_LINES).map((line) => line.length > EDIT_SNIPPET_WIDTH ? `${line.slice(0, EDIT_SNIPPET_WIDTH)}\u2026` : line).join("\n");
@@ -3239,6 +3244,7 @@ async function writeFileTool(args) {
3239
3244
  metadata: {
3240
3245
  path: relativePath,
3241
3246
  bytes: Buffer.byteLength(content),
3247
+ totalLines: content.length === 0 ? 0 : content.split(/\r?\n/).length,
3242
3248
  ...diffStat ? { diffStat } : {},
3243
3249
  ...activity ? { activity } : {}
3244
3250
  }
@@ -4080,10 +4086,10 @@ function buildLoadSkillExecutor(args) {
4080
4086
  metadata: { loadSkill: true, resolved: false }
4081
4087
  };
4082
4088
  }
4083
- const { resolveSkillByName } = await import("./skillDiscovery-ITA7BI7A.js");
4089
+ const { resolveSkillByName } = await import("./skillDiscovery-I3QRA7NE.js");
4084
4090
  const resolved = resolveSkillByName(args.cwd, name);
4085
4091
  if (!resolved) {
4086
- const { resolveCodingBuiltinSlug, buildCodingSkillContentBySlug } = await import("./codingSkills-EN6Z6G6U.js");
4092
+ const { resolveCodingBuiltinSlug, buildCodingSkillContentBySlug } = await import("./codingSkills-V35TRR4Y.js");
4087
4093
  const builtinSlug = resolveCodingBuiltinSlug(name);
4088
4094
  if (builtinSlug) {
4089
4095
  const body = buildCodingSkillContentBySlug(builtinSlug);
@@ -4118,7 +4124,7 @@ ${body}`,
4118
4124
  };
4119
4125
  }
4120
4126
  async function formatUnknownSkillMessage(cwd, requestedName) {
4121
- const { discoverSkills } = await import("./skillDiscovery-ITA7BI7A.js");
4127
+ const { discoverSkills } = await import("./skillDiscovery-I3QRA7NE.js");
4122
4128
  let available = [];
4123
4129
  try {
4124
4130
  available = discoverSkills(cwd).map((s) => s.name);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-UEOPA6MV.js";
4
+ } from "./chunk-CYRMUTGB.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;