nolo-cli 0.30.0 → 1.0.0

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 (102) hide show
  1. package/{_executeModel-VBHHG7LT.js → _executeModel-MYLWE5K2.js} +31 -30
  2. package/{action-FENWPT3C.js → action-P5NVIGGG.js} +7 -7
  3. package/{addContentAction-Z5S5ZQ7I.js → addContentAction-V2QQUJ32.js} +6 -6
  4. package/{addDialogAgentAction-VUNVD2XR.js → addDialogAgentAction-536QKJ6L.js} +5 -5
  5. package/{agentDeleteCommand-LLGZXUYJ.js → agentDeleteCommand-RIILFDSH.js} +24 -23
  6. package/{agentEmailCommands-LC2FPN6G.js → agentEmailCommands-KWJ5CUHY.js} +36 -35
  7. package/{agentListCommands-A6OBQ3QX.js → agentListCommands-BZZSDNCU.js} +26 -25
  8. package/{agentMachineCommands-4O4Q5B5X.js → agentMachineCommands-Q7LS3LQH.js} +24 -23
  9. package/{agentRecordCommands-W22RIQRV.js → agentRecordCommands-SJUBM3AJ.js} +35 -34
  10. package/{agentRunCommand-V4OBU4FB.js → agentRunCommand-6O2VTHXQ.js} +35 -34
  11. package/{agentRuntimeLocal-I57YSGH4.js → agentRuntimeLocal-43ZQHP35.js} +21 -20
  12. package/{agentSlice-3ZHY7RAO.js → agentSlice-JLADUWUP.js} +6 -6
  13. package/{appDeleteCommands-DJJF466K.js → appDeleteCommands-4UNQSSWN.js} +25 -24
  14. package/{appDeployCommands-WJZGIOEZ.js → appDeployCommands-KG2BZXOG.js} +25 -24
  15. package/{appDeployStatusCommands-ICYXUJNO.js → appDeployStatusCommands-KF7DF2YA.js} +25 -24
  16. package/{appGetCommands-UOCWYJPV.js → appGetCommands-QPHSEE5N.js} +25 -24
  17. package/{appListCommands-EOKWTXPW.js → appListCommands-F3EP542I.js} +25 -24
  18. package/{authCommand-H5KE7K7K.js → authCommand-YLP77TMC.js} +5 -5
  19. package/{chunk-IZ3CBMD5.js → chunk-2U6OW2C3.js} +4 -4
  20. package/{chunk-R5V5G73M.js → chunk-5RDLGLAP.js} +0 -1
  21. package/{chunk-TJYWZ3LO.js → chunk-75XQT73Q.js} +2 -2
  22. package/{chunk-7CD24PU4.js → chunk-B4HGX366.js} +6 -6
  23. package/{chunk-KWKD3BCC.js → chunk-BSMTXN5T.js} +11 -11
  24. package/{chunk-MMCVBEAD.js → chunk-D6K6XCUJ.js} +25 -23
  25. package/{chunk-A4JDTA5T.js → chunk-DFPTW7QE.js} +6 -6
  26. package/{chunk-YWGSCF37.js → chunk-DWZMXGKK.js} +1 -1
  27. package/{chunk-ZFTCLBEX.js → chunk-E5WZMGFH.js} +417 -237
  28. package/{chunk-DCWBP2O7.js → chunk-EAKXD6CA.js} +10 -10
  29. package/{chunk-VSTUQGLT.js → chunk-ECHKECDC.js} +170 -42
  30. package/{chunk-QLV2GKU5.js → chunk-FCHECEX7.js} +7 -5
  31. package/{chunk-DWQNDGO7.js → chunk-FD6FKCDH.js} +2 -2
  32. package/{chunk-GAGUBI42.js → chunk-GD5XAUJ3.js} +5 -5
  33. package/{chunk-VP4WJWKW.js → chunk-GM6PU7B6.js} +431 -345
  34. package/{chunk-KW47OSRJ.js → chunk-HC73BU6M.js} +50 -70
  35. package/{chunk-3LY4F7SV.js → chunk-INZZJSQF.js} +348 -331
  36. package/{chunk-G6VITLCZ.js → chunk-IT7IN5AX.js} +2 -2
  37. package/{chunk-Q24P6TUS.js → chunk-JQFRQWGN.js} +1 -1
  38. package/{chunk-FS5TTXPS.js → chunk-JZTOEZJ4.js} +4 -4
  39. package/{chunk-UKC5HU2C.js → chunk-KHYNTGOT.js} +5 -5
  40. package/{chunk-MEUZFIAJ.js → chunk-KMGSN747.js} +1 -1
  41. package/{chunk-CV6I4HBA.js → chunk-KR6G42Z2.js} +1 -1
  42. package/{chunk-HI7QZNWX.js → chunk-KU6JXKVW.js} +4 -4
  43. package/{chunk-2XM5KUNE.js → chunk-LE5PV7CF.js} +2 -2
  44. package/{chunk-SWOTB2TX.js → chunk-LOZF4FBI.js} +43 -36
  45. package/{chunk-66O5MZYH.js → chunk-MZIHJGB5.js} +1 -1
  46. package/{chunk-T3Y5EMJS.js → chunk-N6F6HKEE.js} +1 -1
  47. package/{chunk-DI6MXJK5.js → chunk-NHOV2D4N.js} +16 -14
  48. package/{chunk-HLG6GAUD.js → chunk-NLEEVJZU.js} +1 -1
  49. package/{chunk-446VANPP.js → chunk-OJE3M2CY.js} +4 -4
  50. package/{chunk-DKRT67FG.js → chunk-OMR6FM26.js} +3 -3
  51. package/{chunk-GVKTKT3O.js → chunk-ORCLFNKB.js} +3 -3
  52. package/{chunk-BOL2D2JW.js → chunk-QGSD46W6.js} +2 -2
  53. package/{chunk-L3VQOVKK.js → chunk-R3YEGS4D.js} +3 -3
  54. package/{chunk-56IUA7RU.js → chunk-RXGTXWYH.js} +1 -1
  55. package/{chunk-UTQZ73QQ.js → chunk-SVZ6MSA3.js} +1 -1
  56. package/{chunk-YLADSPDU.js → chunk-U2I2DYUD.js} +2 -2
  57. package/chunk-UD4A2FNM.js +7923 -0
  58. package/{chunk-OYK7PA5U.js → chunk-UEH4ANWR.js} +6 -6
  59. package/chunk-UUNZE2KQ.js +5558 -0
  60. package/{chunk-3RIWR23B.js → chunk-VWBCW4JY.js} +1 -1
  61. package/{chunk-SZ5CBYMZ.js → chunk-W427FQJD.js} +2 -2
  62. package/{chunk-W2YKDXT7.js → chunk-XBACY73D.js} +1 -1
  63. package/{chunk-G5JHHUAK.js → chunk-XD6JM3SC.js} +1 -1
  64. package/{chunk-XD5NQEOH.js → chunk-ZIKG63EC.js} +1 -1
  65. package/{clipboardy-BVE3LVEH.js → clipboardy-MMBYVRLF.js} +166 -372
  66. package/{createAgentAutomationAction-3GMH6ORX.js → createAgentAutomationAction-B6ZSNUUI.js} +12 -11
  67. package/{createDialogAction-R5MCL4RE.js → createDialogAction-G34J7HP5.js} +13 -12
  68. package/{createPageAction-QYTG656R.js → createPageAction-KL4OCNNH.js} +14 -13
  69. package/{dbSlice-OBV7VFCF.js → dbSlice-6IRTSQLA.js} +5 -5
  70. package/{deleteFile-AC45HYSM.js → deleteFile-TSEW36N4.js} +3 -3
  71. package/{dialogCommands-NUQGIXVZ.js → dialogCommands-PHH75OPO.js} +25 -24
  72. package/{dialogSlice-CFDECXEU.js → dialogSlice-2B5AGZXL.js} +11 -11
  73. package/{docCreateCommands-UNFCXB5N.js → docCreateCommands-2EZAGRNU.js} +24 -23
  74. package/{docDeleteCommands-NG5IVKE5.js → docDeleteCommands-ZYL2JBF2.js} +25 -24
  75. package/{docReadCommands-6J7MUUX6.js → docReadCommands-Q5HGLLRZ.js} +24 -23
  76. package/{docStore-MZZWJM4F.js → docStore-CCQWPWYV.js} +13 -12
  77. package/{docUpdateCommands-6AW3VZOX.js → docUpdateCommands-KGOPINTR.js} +24 -23
  78. package/{getPricing-XQYSSVV6.js → getPricing-6FIKFX4A.js} +2 -2
  79. package/{handleSendMessageAction-IU2QNTLM.js → handleSendMessageAction-TS5MF7R4.js} +11 -11
  80. package/index.js +58 -58
  81. package/{lib-FYYBQIXS.js → lib-2ZTNRXR4.js} +432 -183
  82. package/{machineCommands-Z2QEWTHZ.js → machineCommands-4UGY53XP.js} +34 -33
  83. package/{machineWsRunDispatch-SJTYHZHN.js → machineWsRunDispatch-6KNOLLYI.js} +34 -33
  84. package/package.json +1 -1
  85. package/{read-QK7ZRX6G.js → read-UMWKE5D4.js} +3 -3
  86. package/{readDocTool-EYDMVRBL.js → readDocTool-FEHZDVEE.js} +1 -1
  87. package/{readlineWorkspace-EY3BPXIU.js → readlineWorkspace-7YWWGBSU.js} +97 -59
  88. package/{removeDialogAgentAction-TBW3UZJW.js → removeDialogAgentAction-X32EDHZX.js} +7 -7
  89. package/{runAgentClientLoop-N3YDLTMS.js → runAgentClientLoop-UQ23LEWR.js} +27 -26
  90. package/{setDialogExtraReferencesAction-Q3ANF2NR.js → setDialogExtraReferencesAction-VGI5CCSY.js} +6 -6
  91. package/{setPrimaryDialogAgentAction-FQ5R3EFJ.js → setPrimaryDialogAgentAction-QOFXGQT6.js} +7 -7
  92. package/{settingSlice-JKKV2T7O.js → settingSlice-RHSYAKFT.js} +6 -6
  93. package/{slateUtils-2M7MUTWX.js → slateUtils-VO2FU36K.js} +1 -1
  94. package/{spaceCommands-R6AEQNLG.js → spaceCommands-GH5DTWKY.js} +208 -26
  95. package/{spaceSlice-MCH7RLLP.js → spaceSlice-AW66HZHQ.js} +12 -11
  96. package/{streamAgentChatTurn-Q4U2CVMI.js → streamAgentChatTurn-TZQZFDJQ.js} +32 -30
  97. package/{switchDialogAgentAction-QQGVE4SL.js → switchDialogAgentAction-KX56UKUF.js} +5 -5
  98. package/{tableCommands-PRJNWN6Q.js → tableCommands-RJZ3V4TF.js} +1 -1
  99. package/{tools-Y3UBLLYW.js → tools-FO7J53WL.js} +22 -21
  100. package/{tuiSummaryLlmCaller-4474IBTI.js → tuiSummaryLlmCaller-OX5M2GJW.js} +3 -3
  101. package/{updateDialogTitleAction-3J7GH67I.js → updateDialogTitleAction-FVDTGJNA.js} +15 -13
  102. package/chunk-THTAR67C.js +0 -16338
@@ -9,15 +9,15 @@ import {
9
9
  buildRuntimeGuidanceBlocks,
10
10
  fetchReferenceContents,
11
11
  resolveToolGuidedSections
12
- } from "./chunk-7CD24PU4.js";
12
+ } from "./chunk-B4HGX366.js";
13
13
  import {
14
14
  getAllToolRuns,
15
15
  resolveAgentRecommendedSkillNames,
16
16
  resolveAgentRequiredPackIds
17
- } from "./chunk-OYK7PA5U.js";
17
+ } from "./chunk-UEH4ANWR.js";
18
18
  import {
19
19
  getDocState
20
- } from "./chunk-FS5TTXPS.js";
20
+ } from "./chunk-JZTOEZJ4.js";
21
21
  import {
22
22
  resolveToolBaseUrl
23
23
  } from "./chunk-44HACRCK.js";
@@ -26,7 +26,12 @@ import {
26
26
  getModelPricing,
27
27
  getPrices,
28
28
  hasExplicitAgentPricing
29
- } from "./chunk-YWGSCF37.js";
29
+ } from "./chunk-DWZMXGKK.js";
30
+ import {
31
+ selectCurrentTable,
32
+ selectTableRows,
33
+ selectViewMode
34
+ } from "./chunk-UD4A2FNM.js";
30
35
  import {
31
36
  PERSONALIZATION_DIALOG_CATEGORY,
32
37
  buildPersonalizationDialogPolicyContext,
@@ -37,12 +42,8 @@ import {
37
42
  planContextUsage,
38
43
  resolveBuiltinPlatformAgentConfig,
39
44
  selectAllMsgs,
40
- selectCurrentTable,
41
- selectCurrentUserBalance,
42
- selectTableRows,
43
- selectViewMode,
44
45
  serializeMessageContent
45
- } from "./chunk-THTAR67C.js";
46
+ } from "./chunk-UUNZE2KQ.js";
46
47
  import {
47
48
  clipCompactText
48
49
  } from "./chunk-OB6FBSH3.js";
@@ -56,7 +57,7 @@ import {
56
57
  findModelConfig,
57
58
  getModelConfig,
58
59
  getProviderByModelName
59
- } from "./chunk-VSTUQGLT.js";
60
+ } from "./chunk-ECHKECDC.js";
60
61
  import {
61
62
  PLATFORM_HOSTED_QWEN_37_FLASH_MODEL
62
63
  } from "./chunk-CAENRKNJ.js";
@@ -68,26 +69,27 @@ import {
68
69
  selectKnowledgeCaptureLevel,
69
70
  selectSpaceContextLevel,
70
71
  selectUserTonePreset
71
- } from "./chunk-446VANPP.js";
72
+ } from "./chunk-OJE3M2CY.js";
72
73
  import {
73
74
  asRecordOrEmpty
74
75
  } from "./chunk-KX6YBIHG.js";
75
76
  import {
76
77
  read,
77
78
  selectById
78
- } from "./chunk-A4JDTA5T.js";
79
+ } from "./chunk-DFPTW7QE.js";
79
80
  import {
80
81
  asTrimmedLowercaseString
81
82
  } from "./chunk-QSJ3HFEF.js";
82
83
  import {
83
84
  PUBLIC_QWEN_37_FLASH_AGENT_KEY
84
- } from "./chunk-DWQNDGO7.js";
85
+ } from "./chunk-FD6FKCDH.js";
85
86
  import {
86
87
  extractCustomId
87
88
  } from "./chunk-TOW4E763.js";
88
89
  import {
90
+ selectIdentityUserBalance,
89
91
  selectIdentityUserId
90
- } from "./chunk-ZFTCLBEX.js";
92
+ } from "./chunk-E5WZMGFH.js";
91
93
  import {
92
94
  isRecord
93
95
  } from "./chunk-KUG52IAP.js";
@@ -858,11 +860,6 @@ var buildEditingContextSummary = (state, runtimeOptions) => {
858
860
  };
859
861
 
860
862
  // packages/ai/llm/agentCapabilities.ts
861
- var isCustomAgent = (agent) => {
862
- const apiSource = agent.apiSource?.toLowerCase();
863
- const provider = agent.provider?.toLowerCase();
864
- return apiSource === "custom" || provider === "custom";
865
- };
866
863
  var ANTIGRAVITY_EFFORT_SUFFIXES = [
867
864
  "-tiered",
868
865
  "-extra-low",
@@ -893,21 +890,21 @@ var lookupKnownModelVision = (provider, model) => {
893
890
  const strippedPreview = stripPreviewSuffix(model);
894
891
  if (strippedPreview !== model) candidates.push(strippedPreview);
895
892
  for (const candidate of candidates) {
896
- if (provider) {
893
+ if (provider && provider !== "custom") {
897
894
  const direct = findModelConfig(provider, candidate);
898
- if (direct) return direct.hasVision;
895
+ if (direct && typeof direct.hasVision === "boolean") return direct.hasVision;
899
896
  }
900
897
  const detected = getProviderByModelName(candidate);
901
898
  if (detected) {
902
899
  const found = findModelConfig(detected, candidate)?.hasVision;
903
900
  if (found !== void 0) return found;
904
901
  }
905
- if (!provider && candidate.includes("/")) {
902
+ if (candidate.includes("/")) {
906
903
  const slash = candidate.indexOf("/");
907
904
  const modelProvider = candidate.slice(0, slash).toLowerCase();
908
905
  const modelName = candidate.slice(slash + 1);
909
906
  const nested = findModelConfig(modelProvider, modelName);
910
- if (nested) return nested.hasVision;
907
+ if (nested && typeof nested.hasVision === "boolean") return nested.hasVision;
911
908
  }
912
909
  }
913
910
  return void 0;
@@ -916,18 +913,13 @@ var resolveAgentImageInputSupport = (agent) => {
916
913
  if (!agent) return true;
917
914
  const provider = asTrimmedLowercaseString(agent.provider) || null;
918
915
  const model = asOptionalTrimmedString(agent.model) ?? "";
919
- const custom = isCustomAgent(agent);
920
916
  const catalogHasVision = lookupKnownModelVision(
921
- custom ? null : provider,
917
+ provider,
922
918
  model
923
919
  );
924
- if (!custom && catalogHasVision !== void 0) {
920
+ if (catalogHasVision !== void 0) {
925
921
  return catalogHasVision;
926
922
  }
927
- if (custom) {
928
- if (catalogHasVision === true) return true;
929
- return true;
930
- }
931
923
  if (typeof agent.hasVision === "boolean") {
932
924
  return agent.hasVision;
933
925
  }
@@ -1219,7 +1211,7 @@ ${content}
1219
1211
  return output;
1220
1212
  };
1221
1213
  var validateAccessAndBalance = (agentConfig, state) => {
1222
- const userBalance = selectCurrentUserBalance(state);
1214
+ const userBalance = selectIdentityUserBalance(state);
1223
1215
  const currentUserId = selectIdentityUserId(state);
1224
1216
  const isCustomApi = agentConfig.apiSource === "custom";
1225
1217
  const isCliApi = agentConfig.apiSource === "cli";
@@ -2887,13 +2879,35 @@ async function runLocalAgentTurn(input) {
2887
2879
  input: input.input,
2888
2880
  contextReferenceResolver: input.adapter.host === "cli" ? input.contextReferenceResolver : void 0
2889
2881
  });
2890
- const messages = builtMessages.messages;
2882
+ let messages = builtMessages.messages;
2891
2883
  const supportsImages = resolveAgentImageInputSupport({
2892
2884
  apiSource: agentConfig.apiSource,
2893
2885
  provider: agentConfig.provider,
2894
2886
  model: agentConfig.model,
2895
2887
  hasVision: agentConfig.hasVision
2896
2888
  });
2889
+ if (!supportsImages && hasImageInRuntimeMessages(messages)) {
2890
+ const imageUrls = extractImageUrlsFromMessages(messages);
2891
+ const preprocessed = await preprocessImagesForTextOnlyAgent(
2892
+ messages,
2893
+ (urls) => describeImageWithLocalProvider(input.adapter, urls)
2894
+ );
2895
+ if (preprocessed !== messages) {
2896
+ messages = preprocessed;
2897
+ emitLoopEvent(input, {
2898
+ kind: "image-preprocessed",
2899
+ atMs: Date.now(),
2900
+ imageCount: imageUrls.length
2901
+ });
2902
+ } else {
2903
+ messages = filterImagePartsFromMessages(messages, false);
2904
+ emitLoopEvent(input, {
2905
+ kind: "image-downgraded",
2906
+ reason: "no-vision",
2907
+ atMs: Date.now()
2908
+ });
2909
+ }
2910
+ }
2897
2911
  const userInputText = extractUserInputText(input.input);
2898
2912
  let toolCallCount = 0;
2899
2913
  let result;
@@ -2904,7 +2918,6 @@ async function runLocalAgentTurn(input) {
2904
2918
  let round = 0;
2905
2919
  let emptyAssistantRepairPending = false;
2906
2920
  let emptyAssistantRepairUsed = false;
2907
- let imageDowngradeNotified = false;
2908
2921
  let skipFinalAppend = false;
2909
2922
  let partialContent = "";
2910
2923
  try {
@@ -2913,43 +2926,10 @@ async function runLocalAgentTurn(input) {
2913
2926
  partialContent = "";
2914
2927
  throwIfAborted(input);
2915
2928
  const preparedMessages = prepareMessagesForProviderCall(messages);
2916
- let baseRequestMessages;
2917
- if (!supportsImages && hasImageInRuntimeMessages(preparedMessages.messages)) {
2918
- const imageUrls = extractImageUrlsFromMessages(preparedMessages.messages);
2919
- const preprocessed = await preprocessImagesForTextOnlyAgent(
2920
- preparedMessages.messages,
2921
- (urls) => describeImageWithLocalProvider(input.adapter, urls)
2922
- );
2923
- if (preprocessed !== preparedMessages.messages) {
2924
- baseRequestMessages = preprocessed;
2925
- if (!imageDowngradeNotified) {
2926
- imageDowngradeNotified = true;
2927
- emitLoopEvent(input, {
2928
- kind: "image-preprocessed",
2929
- atMs: Date.now(),
2930
- imageCount: imageUrls.length
2931
- });
2932
- }
2933
- } else {
2934
- baseRequestMessages = filterImagePartsFromMessages(
2935
- preparedMessages.messages,
2936
- supportsImages
2937
- );
2938
- if (!imageDowngradeNotified) {
2939
- imageDowngradeNotified = true;
2940
- emitLoopEvent(input, {
2941
- kind: "image-downgraded",
2942
- reason: "no-vision",
2943
- atMs: Date.now()
2944
- });
2945
- }
2946
- }
2947
- } else {
2948
- baseRequestMessages = filterImagePartsFromMessages(
2949
- preparedMessages.messages,
2950
- supportsImages
2951
- );
2952
- }
2929
+ const baseRequestMessages = filterImagePartsFromMessages(
2930
+ preparedMessages.messages,
2931
+ supportsImages
2932
+ );
2953
2933
  const requestMessages = emptyAssistantRepairPending ? [...baseRequestMessages, { role: "user", content: EMPTY_ASSISTANT_REPAIR_PROMPT }] : baseRequestMessages;
2954
2934
  const contextMetrics = {
2955
2935
  ...preparedMessages.metrics,