nolo-cli 0.201.0-alpha.1 → 0.202.0-alpha.1

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 (124) hide show
  1. package/{_executeModel-JGMNIGV2.js → _executeModel-IPRTPSW7.js} +34 -33
  2. package/{agentDeleteCommand-YUUEASG5.js → agentDeleteCommand-WHT2MMAP.js} +49 -47
  3. package/{agentEmailCommands-EO2WKZMM.js → agentEmailCommands-4LW2BFLY.js} +51 -49
  4. package/{agentListCommands-RQB27IJH.js → agentListCommands-2KF47HY6.js} +81 -45
  5. package/{agentMachineCommands-G3PU5ZEO.js → agentMachineCommands-QQCFQQ4T.js} +28 -26
  6. package/{agentProviderCommands-T6E3JCR6.js → agentProviderCommands-5ALOQLE5.js} +2 -2
  7. package/{agentRecordCommands-LY2HNY4R.js → agentRecordCommands-ARVXF2C2.js} +47 -45
  8. package/{agentRunCommand-6GS6JYDS.js → agentRunCommand-3IL5PW2S.js} +49 -47
  9. package/{agentRunControl-6HHESKDB.js → agentRunControl-ABDUPJLX.js} +10 -5
  10. package/{agentRuntimeLocal-75E4BYTF.js → agentRuntimeLocal-YXHJV65L.js} +24 -22
  11. package/{agentSlice-BCY3LBE4.js → agentSlice-BFDKYW6H.js} +4 -3
  12. package/{appDeleteCommands-PB6HW4NN.js → appDeleteCommands-OWJO3WFB.js} +29 -27
  13. package/{appDeployCommands-EF4OELAA.js → appDeployCommands-X7HLT27G.js} +29 -27
  14. package/{appDeployStatusCommands-CALVQWWC.js → appDeployStatusCommands-CHCZ7ZUD.js} +29 -27
  15. package/{appGetCommands-KFWCTFRM.js → appGetCommands-AZW2EE4R.js} +29 -27
  16. package/{appListCommands-Z5PW6DK7.js → appListCommands-YFN6DP6K.js} +29 -27
  17. package/{authCommand-RV5MQDWN.js → authCommand-W34UWJGR.js} +14 -13
  18. package/{builtinSkillRegistry-7RAJP7FD.js → builtinSkillRegistry-NJVHQIKY.js} +1 -1
  19. package/{chromeOpsCommands-BA6CS4DI.js → chromeOpsCommands-USKE4B4K.js} +15 -4
  20. package/{chunk-RE3B2OCC.js → chunk-266E37EL.js} +69 -14
  21. package/chunk-2BMURXSB.js +1863 -0
  22. package/{chunk-7MDGTSNI.js → chunk-2PI4QFAL.js} +174 -100
  23. package/{chunk-NABJEYPJ.js → chunk-2Q3LOAFE.js} +38 -3
  24. package/{chunk-OIVKFSFN.js → chunk-326HCB6L.js} +28 -24
  25. package/{chunk-4CEAZRZ4.js → chunk-33W4IFUU.js} +1 -1
  26. package/{chunk-V3MGT3RF.js → chunk-3CWF2EUZ.js} +8 -8
  27. package/{chunk-G6OOUQWJ.js → chunk-4KB6WQUL.js} +2 -0
  28. package/{chunk-DYQXB46J.js → chunk-4KPB3KWX.js} +2 -2
  29. package/{chunk-DGFSVNYE.js → chunk-4SH22ZG7.js} +5 -5
  30. package/{chunk-WAZ6BTSC.js → chunk-5E4FSR4J.js} +1 -1
  31. package/{chunk-PVD7CRYV.js → chunk-6I7ZP7KJ.js} +3 -3
  32. package/chunk-6UBGXX2W.js +12 -0
  33. package/{chunk-ZBCBFOWC.js → chunk-A2ZMIRLN.js} +2 -2
  34. package/{chunk-BQZNJCW3.js → chunk-ASG7VWPK.js} +3 -3
  35. package/{chunk-T2LB32MS.js → chunk-BLFZULEQ.js} +3 -3
  36. package/{chunk-JIFYXQRD.js → chunk-BTYQAODF.js} +26 -8
  37. package/{chunk-TDTTBXCO.js → chunk-C7PKPHK6.js} +334 -12
  38. package/{chunk-6WZQGT5X.js → chunk-CJ37ZMCQ.js} +6 -2
  39. package/{chunk-VHGD6FHV.js → chunk-CKAHAVMK.js} +40 -10
  40. package/{chunk-UNOILAZP.js → chunk-CLTGWJVT.js} +76 -4
  41. package/{chunk-Q6RMLYSA.js → chunk-CMLBKYEI.js} +4 -2
  42. package/{chunk-NVOYW6H4.js → chunk-CQHMBWZH.js} +12 -8
  43. package/{chunk-7KWPNGVJ.js → chunk-CTZ4O3XD.js} +1 -1
  44. package/{chunk-OHRDHS4N.js → chunk-CVCRAO6Q.js} +9 -4
  45. package/{chunk-7XSZNV4Q.js → chunk-D57YYGMD.js} +2 -2
  46. package/{chunk-TEC5UHQK.js → chunk-DHJXDGC3.js} +2 -2
  47. package/{chunk-QYOB7RVA.js → chunk-DKZJJ2NQ.js} +3 -2
  48. package/{chunk-A2LR6ORU.js → chunk-E2FC5RMU.js} +17 -14
  49. package/{chunk-R5HEP4LL.js → chunk-ETTDZBK5.js} +4 -4
  50. package/{chunk-LOVRT3E4.js → chunk-FWMOJTGR.js} +3722 -4851
  51. package/{chunk-ZWQUWF6W.js → chunk-G7Y4GXTY.js} +8 -14
  52. package/{chunk-5KTQVMCX.js → chunk-GOO6G4PY.js} +85 -0
  53. package/{chunk-FMOZ57LN.js → chunk-H7HWWNJB.js} +1 -1
  54. package/{chunk-QXM2ETU2.js → chunk-HJS5EIKS.js} +4 -4
  55. package/{chunk-EX7OZOYM.js → chunk-HKWGI3TM.js} +178 -311
  56. package/{chunk-BBGYSMUE.js → chunk-JH7KMNGT.js} +143 -19
  57. package/{chunk-BGYMAW6B.js → chunk-KDUYNEJ5.js} +43 -26
  58. package/{chunk-O5V7QQAF.js → chunk-LEX6DEH4.js} +114 -2
  59. package/{chunk-BTBT2566.js → chunk-MNUOMXJH.js} +412 -9
  60. package/{chunk-N7E3LQ4A.js → chunk-MZXWSY4E.js} +1 -1
  61. package/{chunk-ZQ3EAOY3.js → chunk-NTLJGRAT.js} +1 -1
  62. package/{chunk-WFUIXNKC.js → chunk-P4YLK2OD.js} +3 -3
  63. package/chunk-PRJ473FK.js +63 -0
  64. package/{chunk-2SHLT6JB.js → chunk-Q7GNBUT4.js} +2 -2
  65. package/{chunk-4AUOEYDB.js → chunk-RIKSN62L.js} +3 -3
  66. package/{chunk-GTP6VNWH.js → chunk-RQ22OZD7.js} +3 -3
  67. package/{chunk-XKX3NF6X.js → chunk-RS66RJLA.js} +2 -2
  68. package/{chunk-GC64WGMD.js → chunk-SM3NSZJV.js} +16 -5
  69. package/{chunk-DKLWAY3C.js → chunk-SSK4WNJA.js} +1 -1
  70. package/{chunk-LJODCHJO.js → chunk-SUBNV2JH.js} +3 -3
  71. package/{chunk-HLAL63BZ.js → chunk-T43B7LB2.js} +1 -1
  72. package/{chunk-HTLIKE5U.js → chunk-TWVVTUNG.js} +2 -2
  73. package/{chunk-X3RWBJDQ.js → chunk-U7HTU2S7.js} +1 -1
  74. package/{chunk-76YUTLOT.js → chunk-UIOEHFF6.js} +1 -1
  75. package/{chunk-IIX6VWLW.js → chunk-VCFU3BO5.js} +224 -38
  76. package/{chunk-QU3TLYBR.js → chunk-VEUSD6OF.js} +35 -11
  77. package/{chunk-4YMD7B4Y.js → chunk-WPOKOKZA.js} +2 -2
  78. package/{chunk-K6TZSON4.js → chunk-WTKYP6QO.js} +19 -5
  79. package/{chunk-2IVB6BQL.js → chunk-XW6B2RJW.js} +193 -56
  80. package/{chunk-ZSO5B6SW.js → chunk-Y2WUYX4I.js} +9 -0
  81. package/{chunk-7L7BVUKH.js → chunk-YAGFPXOX.js} +14 -14
  82. package/{chunk-TVGX5QIN.js → chunk-YUA6OAH5.js} +2 -2
  83. package/{chunk-IJBWBWP3.js → chunk-YV2RSLM4.js} +13 -13
  84. package/{chunk-MJWUBTK7.js → chunk-YZGNKHUM.js} +2 -2
  85. package/{commandRegistry-4DGK2ONJ.js → commandRegistry-HEBIO2A4.js} +87 -67
  86. package/{contentThunks-YYLEYO25.js → contentThunks-I4IHSDTM.js} +14 -13
  87. package/{cooldownCommands-KRILPXOZ.js → cooldownCommands-5SJ74DNP.js} +1 -1
  88. package/{createAgentAutomationAction-XKZ6TRRO.js → createAgentAutomationAction-WQCH5HR2.js} +14 -13
  89. package/{createDialogAction-6K5WSBCB.js → createDialogAction-CKMZK5JQ.js} +15 -14
  90. package/{createPageAction-FFFGCOUV.js → createPageAction-QAZHQGY7.js} +14 -13
  91. package/{dialogCommands-BFGCWWVT.js → dialogCommands-YMAHICPJ.js} +30 -28
  92. package/{dialogSlice-AA7672TX.js → dialogSlice-GEGACCH2.js} +13 -12
  93. package/{docCreateCommands-R3D5LUEG.js → docCreateCommands-SNMAKBXN.js} +28 -26
  94. package/{docDeleteCommands-7AGLMCJJ.js → docDeleteCommands-K52UESRC.js} +29 -27
  95. package/{docReadCommands-UVTD4FKH.js → docReadCommands-AG6LLHJ7.js} +28 -26
  96. package/{docStore-QDK5VGEH.js → docStore-B4EFT53J.js} +1 -1
  97. package/{docUpdateCommands-R2JHDAG4.js → docUpdateCommands-B5EZ7DYN.js} +28 -26
  98. package/{fetchMessages-HWBVATSE.js → fetchMessages-YY4SATNR.js} +1 -1
  99. package/{getPricing-E2PLNWCR.js → getPricing-3PQY3TGI.js} +3 -3
  100. package/{handleSendMessageAction-24WPHMZR.js → handleSendMessageAction-4BACQWOG.js} +70 -29
  101. package/index.js +7 -7
  102. package/{lib-4YTWAGY7.js → lib-5KKIBFIT.js} +439 -272
  103. package/{localDialogRead-CT5HGDMC.js → localDialogRead-FUXGZ57B.js} +1 -1
  104. package/{localRuntimeAdapter-4CC5KOMZ.js → localRuntimeAdapter-5CVSCXHI.js} +45 -43
  105. package/{machineCommands-FWTGWKAN.js → machineCommands-R7L4IBQL.js} +48 -46
  106. package/{machineWsRunDispatch-MJ5VOB7P.js → machineWsRunDispatch-KZHTW7DW.js} +46 -44
  107. package/{models-UUNO6DOL.js → models-PJBE6JDV.js} +2 -2
  108. package/{oauthTokenStore-PADKLNOC.js → oauthTokenStore-OEERZFUC.js} +2 -1
  109. package/package.json +1 -1
  110. package/{providerPresetApply-JGNMO2KX.js → providerPresetApply-HBBUUVJD.js} +6 -6
  111. package/{providerRegistry-33J3ZYFJ.js → providerRegistry-5LK2NXYE.js} +6 -6
  112. package/{readlineWorkspace-EQV6DNSG.js → readlineWorkspace-PDPEWRSG.js} +295 -137
  113. package/{runAgentClientLoop-W423XICK.js → runAgentClientLoop-QKV66PX5.js} +31 -30
  114. package/{runtimeDoctorCommands-NYBOTA6D.js → runtimeDoctorCommands-3VFVTGPI.js} +8 -7
  115. package/{secretCommands-N6CMCJDZ.js → secretCommands-MKU25CDP.js} +311 -3
  116. package/{settingThunks-YRYNPWJM.js → settingThunks-4WU7YE62.js} +2 -2
  117. package/{skillDiscovery-F3TMVQOJ.js → skillDiscovery-BKLWW2EZ.js} +2 -2
  118. package/{spaceCommands-J4OSJIYA.js → spaceCommands-VD3CZWXM.js} +27 -25
  119. package/{streamAgentChatTurn-BE3YIENW.js → streamAgentChatTurn-GM3UNSLS.js} +46 -43
  120. package/{tools-CXSCIKA4.js → tools-UJLEQBKI.js} +25 -24
  121. package/{tuiSummaryLlmCaller-FSOADMXK.js → tuiSummaryLlmCaller-73QO3HAD.js} +12 -12
  122. package/{updateCommands-KE6LP3QX.js → updateCommands-RVDAFHBT.js} +3 -3
  123. package/{updateDialogTitleAction-RCTYD5WV.js → updateDialogTitleAction-24QO27NT.js} +14 -13
  124. package/{windowsSelfUpdate-26TSFXEZ.js → windowsSelfUpdate-N2VH2OBW.js} +2 -2
@@ -894,6 +894,9 @@ function buildNoloWorkspaceOpenAiTools(args) {
894
894
  publicOnly: { type: "boolean", description: "Deprecated compatibility alias for scope='public'." },
895
895
  showUnavailable: { type: "boolean", description: "Include agents currently rate-limited (429). Default false." },
896
896
  verbose: { type: "boolean", description: "Return full safe-summary details when supported." },
897
+ compact: { type: "boolean", description: "Return compact projection retaining admission evidence while omitting verbose text." },
898
+ limit: { type: "number", description: "Maximum number of agents to return for pagination." },
899
+ offset: { type: "number", description: "Pagination offset." },
897
900
  space: stringToolParam("Optional space id or URL.")
898
901
  });
899
902
  add("readAgent", "Read one agent's full config by exact agentKey returned by listAgents (agent-<userId>-<id> or agent-pub-<id>); do not use the display name.", {
@@ -911,9 +914,18 @@ function buildNoloWorkspaceOpenAiTools(args) {
911
914
  add("readSkillDoc", "Read one skill doc in the Nolo workspace.", {
912
915
  doc: stringToolParam("Skill doc/page key.")
913
916
  }, ["doc"]);
914
- add("loadSkill", "Load a skill by name (.agents/skills/<name>/SKILL.md) and return its full instructions inline. Returns available skills if not found.", {
915
- name: stringToolParam("Skill name advertised in skill discovery.")
916
- }, ["name"]);
917
+ add("loadSkill", "Load a skill and return its full instructions inline. Use legacy name alone (returns available skills if not found), or an exact reference without name: source=space + dbKey, source=builtin + slug, or source=project + projectBinding + relativePath. Do not mix selectors. Server execution supports space/builtin; local CLI/desktop execution supports builtin/project, not space.", {
918
+ name: stringToolParam("Legacy skill name advertised in skill discovery. Use without exact-reference fields."),
919
+ source: {
920
+ type: "string",
921
+ enum: ["space", "builtin", "project"],
922
+ description: "Exact skill source. Requires dbKey for space, slug for builtin, or projectBinding and relativePath for project. Omit name."
923
+ },
924
+ dbKey: stringToolParam("Exact skill document dbKey; use only with source=space (server execution)."),
925
+ slug: stringToolParam("Exact builtin skill slug; use only with source=builtin."),
926
+ projectBinding: stringToolParam("Authorized project root as an absolute path matching the executor cwd; use only with source=project (local execution)."),
927
+ relativePath: stringToolParam("Project-relative path to SKILL.md within the authorized project's .agents/skills/ directory; use only with source=project (local execution).")
928
+ });
917
929
  add("listTables", "List tables in the current user scope or an optional space scope.", {
918
930
  limit: { type: "integer", description: "Maximum tables to return." },
919
931
  space: stringToolParam("Optional space id or URL."),
@@ -1261,6 +1273,29 @@ function buildNoloWorkspaceCommandArgs(call) {
1261
1273
  if (args.publicOnly === true) cliArgs.push("--public-only");
1262
1274
  if (args.showUnavailable === true) cliArgs.push("--show-unavailable");
1263
1275
  if (args.verbose === true) cliArgs.push("--verbose");
1276
+ if (args.compact === true) cliArgs.push("--compact");
1277
+ const limitVal = args.limit;
1278
+ if (limitVal !== void 0 && limitVal !== null && limitVal !== "") {
1279
+ if (typeof limitVal === "boolean") {
1280
+ throw new Error(`Invalid limit '${limitVal}': must be a positive integer.`);
1281
+ }
1282
+ const parsed = Number(limitVal);
1283
+ if (!Number.isInteger(parsed) || parsed <= 0) {
1284
+ throw new Error(`Invalid limit '${limitVal}': must be a positive integer.`);
1285
+ }
1286
+ cliArgs.push("--limit", String(parsed));
1287
+ }
1288
+ const offsetVal = args.offset;
1289
+ if (offsetVal !== void 0 && offsetVal !== null && offsetVal !== "") {
1290
+ if (typeof offsetVal === "boolean") {
1291
+ throw new Error(`Invalid offset '${offsetVal}': must be a non-negative integer.`);
1292
+ }
1293
+ const parsed = Number(offsetVal);
1294
+ if (!Number.isInteger(parsed) || parsed < 0) {
1295
+ throw new Error(`Invalid offset '${offsetVal}': must be a non-negative integer.`);
1296
+ }
1297
+ cliArgs.push("--offset", String(parsed));
1298
+ }
1264
1299
  cliArgs.push("--json", "--safe");
1265
1300
  return cliArgs;
1266
1301
  }
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-523DITKR.js";
12
12
  import {
13
13
  runLlm
14
- } from "./chunk-R5HEP4LL.js";
14
+ } from "./chunk-ETTDZBK5.js";
15
15
  import {
16
16
  isMediaToolConfirmation
17
17
  } from "./chunk-QYPE3TS3.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-PXYBUFDB.js";
85
85
  import {
86
86
  fetchMessages
87
- } from "./chunk-ZSO5B6SW.js";
87
+ } from "./chunk-Y2WUYX4I.js";
88
88
  import {
89
89
  getRecordTimestamp,
90
90
  getTombstoneTimestamp,
@@ -106,7 +106,7 @@ import {
106
106
  extractReferenceKeysFromMessage,
107
107
  normalizeUsage,
108
108
  resolveAutoExecutionProfile
109
- } from "./chunk-K6TZSON4.js";
109
+ } from "./chunk-WTKYP6QO.js";
110
110
  import {
111
111
  isDevinOAuthAgent
112
112
  } from "./chunk-5ZUL4CUO.js";
@@ -123,7 +123,7 @@ import {
123
123
  getModelInfo,
124
124
  planCompression,
125
125
  serializeMessageContent
126
- } from "./chunk-JIFYXQRD.js";
126
+ } from "./chunk-BTYQAODF.js";
127
127
  import {
128
128
  isOAuthApiKeyRef
129
129
  } from "./chunk-UKZX3NHN.js";
@@ -145,16 +145,16 @@ import {
145
145
  extractUserId,
146
146
  publicAgentKey
147
147
  } from "./chunk-M2EJHDJP.js";
148
- import {
149
- toErrorMessage
150
- } from "./chunk-HNMXYYJR.js";
151
148
  import {
152
149
  estimateTokenCount
153
150
  } from "./chunk-PSCNXBYA.js";
154
151
  import {
155
152
  findModelConfig,
156
153
  getModelConfig
157
- } from "./chunk-GC64WGMD.js";
154
+ } from "./chunk-SM3NSZJV.js";
155
+ import {
156
+ toErrorMessage
157
+ } from "./chunk-HNMXYYJR.js";
158
158
  import {
159
159
  isRecord
160
160
  } from "./chunk-KUG52IAP.js";
@@ -200,7 +200,7 @@ import {
200
200
  isPlatformManagedProvider,
201
201
  resolvePlatformEffectiveModel,
202
202
  resolvePlatformHostedRouting
203
- } from "./chunk-5KTQVMCX.js";
203
+ } from "./chunk-GOO6G4PY.js";
204
204
  import {
205
205
  asTrimmedLowercaseString
206
206
  } from "./chunk-QSJ3HFEF.js";
@@ -3433,7 +3433,8 @@ var ai_locale_default = {
3433
3433
  medium: "Medium",
3434
3434
  high: "High",
3435
3435
  xhigh: "X-High",
3436
- max: "Max"
3436
+ max: "Max",
3437
+ ultra: "Ultra"
3437
3438
  }
3438
3439
  }
3439
3440
  },
@@ -3559,7 +3560,7 @@ var ai_locale_default = {
3559
3560
  maxTokensMin: "Max Tokens must be at least 1",
3560
3561
  maxTokensMax: "Max Tokens must be at most 500,000",
3561
3562
  maxTokensRange: "Max Tokens must be between {{min}} and {{max}}",
3562
- reasoningEffortInvalid: "Reasoning effort must be none, minimal, low, medium, high, xhigh, or max",
3563
+ reasoningEffortInvalid: "Reasoning effort must be none, minimal, low, medium, high, xhigh, max, or ultra",
3563
3564
  thinkingBudgetMin: "Thinking budget must be at least 1024 tokens",
3564
3565
  thinkingBudgetMax: "Thinking budget must be at most 100,000 tokens",
3565
3566
  apiKeyRequired: "API Key is required when not using Server Proxy, Ollama or Custom provider",
@@ -3833,7 +3834,8 @@ var ai_locale_default = {
3833
3834
  medium: "\u4E2D",
3834
3835
  high: "\u9AD8",
3835
3836
  xhigh: "\u8D85\u9AD8",
3836
- max: "\u6700\u5927"
3837
+ max: "\u6700\u5927",
3838
+ ultra: "\u6781\u81F4"
3837
3839
  }
3838
3840
  }
3839
3841
  },
@@ -3959,7 +3961,7 @@ var ai_locale_default = {
3959
3961
  maxTokensMin: "\u6700\u5927Token\u6570\u5FC5\u987B\u81F3\u5C11\u4E3A1",
3960
3962
  maxTokensMax: "\u6700\u5927Token\u6570\u4E0D\u80FD\u8D85\u8FC7500,000",
3961
3963
  maxTokensRange: "\u6700\u5927Token\u6570\u5FC5\u987B\u5728 {{min}} \u548C {{max}} \u4E4B\u95F4",
3962
- reasoningEffortInvalid: "\u63A8\u7406\u5F3A\u5EA6\u5FC5\u987B\u662F none, minimal, low, medium, high, xhigh, \u6216 max",
3964
+ reasoningEffortInvalid: "\u63A8\u7406\u5F3A\u5EA6\u5FC5\u987B\u662F none, minimal, low, medium, high, xhigh, max, \u6216 ultra",
3963
3965
  thinkingBudgetMin: "\u601D\u8003\u9884\u7B97\u81F3\u5C11\u9700\u8981 1024 \u4E2A Token",
3964
3966
  thinkingBudgetMax: "\u601D\u8003\u9884\u7B97\u4E0D\u80FD\u8D85\u8FC7 100,000 \u4E2A Token",
3965
3967
  apiKeyRequired: "\u672A\u4F7F\u7528\u4EE3\u7406\u6A21\u5F0F\u3001Ollama\u6216\u81EA\u5B9A\u4E49\u670D\u52A1\u5546\u65F6\uFF0CAPI\u5BC6\u94A5\u4E3A\u5FC5\u586B\u9879",
@@ -4234,7 +4236,8 @@ var ai_locale_default = {
4234
4236
  medium: "\u4E2D",
4235
4237
  high: "\u9AD8",
4236
4238
  xhigh: "\u8D85\u9AD8",
4237
- max: "\u6700\u5927"
4239
+ max: "\u6700\u5927",
4240
+ ultra: "\u6975\u81F4"
4238
4241
  }
4239
4242
  }
4240
4243
  },
@@ -4360,7 +4363,7 @@ var ai_locale_default = {
4360
4363
  maxTokensMin: "\u6700\u5927Token\u6578\u5FC5\u9808\u81F3\u5C11\u70BA1",
4361
4364
  maxTokensMax: "\u6700\u5927Token\u6578\u4E0D\u5F97\u8D85\u904E500,000",
4362
4365
  maxTokensRange: "\u6700\u5927Token\u6578\u5FC5\u9808\u5728 {{min}} \u548C {{max}} \u4E4B\u9593",
4363
- reasoningEffortInvalid: "\u63A8\u7406\u5F37\u5EA6\u5FC5\u9808\u662F none, minimal, low, medium, high, xhigh, \u6216 max",
4366
+ reasoningEffortInvalid: "\u63A8\u7406\u5F37\u5EA6\u5FC5\u9808\u662F none, minimal, low, medium, high, xhigh, max, \u6216 ultra",
4364
4367
  thinkingBudgetMin: "\u601D\u8003\u9810\u7B97\u81F3\u5C11\u9700\u8981 1024 \u500B Token",
4365
4368
  thinkingBudgetMax: "\u601D\u8003\u9810\u7B97\u4E0D\u80FD\u8D85\u904E 100,000 \u500B Token",
4366
4369
  apiKeyRequired: "\u672A\u4F7F\u7528\u4EE3\u7406\u6A21\u5F0F\u3001Ollama\u6216\u81EA\u8A02\u670D\u52D9\u63D0\u4F9B\u8005\u6642\uFF0CAPI\u91D1\u9470\u70BA\u5FC5\u586B\u9805",
@@ -4635,7 +4638,8 @@ var ai_locale_default = {
4635
4638
  medium: "\u4E2D",
4636
4639
  high: "\u9AD8",
4637
4640
  xhigh: "\u8D85\u9AD8",
4638
- max: "\u6700\u5927"
4641
+ max: "\u6700\u5927",
4642
+ ultra: "\u30A6\u30EB\u30C8\u30E9"
4639
4643
  }
4640
4644
  }
4641
4645
  },
@@ -4762,7 +4766,7 @@ var ai_locale_default = {
4762
4766
  maxTokensMin: "\u6700\u5927\u30C8\u30FC\u30AF\u30F3\u6570\u306F1\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4763
4767
  maxTokensMax: "\u6700\u5927\u30C8\u30FC\u30AF\u30F3\u6570\u306F500,000\u4EE5\u4E0B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4764
4768
  maxTokensRange: "\u6700\u5927\u30C8\u30FC\u30AF\u30F3\u6570\u306F {{min}} \u301C {{max}} \u306E\u7BC4\u56F2\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
4765
- reasoningEffortInvalid: "\u63A8\u8AD6\u5F37\u5EA6\u306F none, minimal, low, medium, high, xhigh, max \u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4769
+ reasoningEffortInvalid: "\u63A8\u8AD6\u5F37\u5EA6\u306F none, minimal, low, medium, high, xhigh, max, ultra \u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4766
4770
  thinkingBudgetMin: "\u601D\u8003\u4E88\u7B97\u306F1024\u30C8\u30FC\u30AF\u30F3\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4767
4771
  thinkingBudgetMax: "\u601D\u8003\u4E88\u7B97\u306F100,000\u30C8\u30FC\u30AF\u30F3\u4EE5\u4E0B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
4768
4772
  apiKeyRequired: "\u30D7\u30ED\u30AD\u30B7\u30E2\u30FC\u30C9\u3001Ollama\u3001\u307E\u305F\u306F\u30AB\u30B9\u30BF\u30E0\u30D7\u30ED\u30D0\u30A4\u30C0\u30FC\u3092\u4F7F\u7528\u3057\u306A\u3044\u5834\u5408\u3001API\u30AD\u30FC\u306F\u5FC5\u9808\u3067\u3059",
@@ -11073,7 +11077,7 @@ var messageSlice = createSliceWithThunks({
11073
11077
  runtimeOptions: args.runtimeOptions
11074
11078
  });
11075
11079
  if (agentKeyToUse) {
11076
- const { streamAgentChatTurn } = await import("./agentSlice-BCY3LBE4.js");
11080
+ const { streamAgentChatTurn } = await import("./agentSlice-BFDKYW6H.js");
11077
11081
  await dispatch(
11078
11082
  streamAgentChatTurn({
11079
11083
  agentKey: agentKeyToUse,
@@ -13887,7 +13891,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13887
13891
  }
13888
13892
  if (isCurrentDialog) {
13889
13893
  await thunkApi.dispatch(resetMsgs());
13890
- const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-AA7672TX.js");
13894
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-GEGACCH2.js");
13891
13895
  dispatch(clearPendingAttachments2());
13892
13896
  }
13893
13897
  return { dialogKey, isCurrentDialog, attachmentPlan };
@@ -13895,15 +13899,15 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13895
13899
 
13896
13900
  // packages/chat/dialog/dialogSlice.ts
13897
13901
  var runCreateDialogAction = async (args, thunkApi) => {
13898
- const { createDialogAction } = await import("./createDialogAction-6K5WSBCB.js");
13902
+ const { createDialogAction } = await import("./createDialogAction-CKMZK5JQ.js");
13899
13903
  return createDialogAction(args, thunkApi);
13900
13904
  };
13901
13905
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
13902
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-XKZ6TRRO.js");
13906
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-WQCH5HR2.js");
13903
13907
  return createAgentAutomationAction(args, thunkApi);
13904
13908
  };
13905
13909
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
13906
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-RCTYD5WV.js");
13910
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-24QO27NT.js");
13907
13911
  return updateDialogTitleAction(args, thunkApi);
13908
13912
  };
13909
13913
  var runAddDialogAgentAction = async (args, thunkApi) => {
@@ -13927,7 +13931,7 @@ var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
13927
13931
  return setDialogExtraReferencesAction(args, thunkApi);
13928
13932
  };
13929
13933
  var runHandleSendMessageAction = async (args, thunkApi) => {
13930
- const { handleSendMessageAction } = await import("./handleSendMessageAction-24WPHMZR.js");
13934
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-4BACQWOG.js");
13931
13935
  return handleSendMessageAction(args, thunkApi);
13932
13936
  };
13933
13937
  function clearDialogState() {
@@ -13940,7 +13944,7 @@ var createPageAndAddReference = createAsyncThunk(
13940
13944
  async (payload, { dispatch, getState, rejectWithValue }) => {
13941
13945
  const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
13942
13946
  try {
13943
- const { createDocState } = await import("./docStore-QDK5VGEH.js");
13947
+ const { createDocState } = await import("./docStore-B4EFT53J.js");
13944
13948
  const pageKey = await createDocState(
13945
13949
  { slateData, title },
13946
13950
  { dispatch, getState }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-DYQXB46J.js";
4
+ } from "./chunk-4KPB3KWX.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-FMOZ57LN.js";
10
+ } from "./chunk-H7HWWNJB.js";
11
11
  import {
12
12
  parsePositiveFiniteNumberOrFallback
13
13
  } from "./chunk-Y5GCAMGP.js";
@@ -43,16 +43,16 @@ import {
43
43
  boundSummaryText,
44
44
  buildDialogReadEnvelope,
45
45
  projectDialogReadForAgent
46
- } from "./chunk-NABJEYPJ.js";
46
+ } from "./chunk-2Q3LOAFE.js";
47
47
  import {
48
48
  asRecordOrEmpty
49
49
  } from "./chunk-KX6YBIHG.js";
50
+ import {
51
+ resolveRunsDir
52
+ } from "./chunk-MNUOMXJH.js";
50
53
  import {
51
54
  toErrorMessage
52
55
  } from "./chunk-HNMXYYJR.js";
53
- import {
54
- resolveRunsDir
55
- } from "./chunk-BTBT2566.js";
56
56
  import {
57
57
  isRecord
58
58
  } from "./chunk-KUG52IAP.js";
@@ -69,7 +69,7 @@ import {
69
69
  } from "./chunk-4SN6J65J.js";
70
70
  import {
71
71
  t
72
- } from "./chunk-UNOILAZP.js";
72
+ } from "./chunk-CLTGWJVT.js";
73
73
  import {
74
74
  asNonEmptyStringArray,
75
75
  asTrimmedNonEmptyStringArray
@@ -780,7 +780,7 @@ function isExplicitDialogIdMismatch(meta, dialogId) {
780
780
  return meta && typeof meta === "object" && "id" in meta && meta.id != null && String(meta.id) !== dialogId;
781
781
  }
782
782
  async function readDialogFromLocalDb(dialogKey, dialogId, limit, readLocalDialog) {
783
- const reader = readLocalDialog ?? (await import("./localDialogRead-CT5HGDMC.js")).readDialogFromLocalDb;
783
+ const reader = readLocalDialog ?? (await import("./localDialogRead-FUXGZ57B.js")).readDialogFromLocalDb;
784
784
  const result = await reader({ dialogKey, dialogId, limit });
785
785
  return {
786
786
  ...result,
@@ -795,7 +795,7 @@ async function readLocalDialogAtDbPathDefault(args) {
795
795
  );
796
796
  }
797
797
  const db = await getDefaultCliLocalRuntimeDb();
798
- const { readDialogFromLocalDb: reader } = await import("./localDialogRead-CT5HGDMC.js");
798
+ const { readDialogFromLocalDb: reader } = await import("./localDialogRead-FUXGZ57B.js");
799
799
  return reader({ ...args, db });
800
800
  }
801
801
  async function readDialogFromLocalDbWithFallback(args) {
@@ -45,6 +45,8 @@ var REASONING_EFFORT_VALUES = /* @__PURE__ */ new Set([
45
45
  "medium",
46
46
  "high",
47
47
  "xhigh",
48
+ "max",
49
+ "ultra",
48
50
  "unspecified",
49
51
  "other"
50
52
  ]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeOAuthCredential
3
- } from "./chunk-ZWQUWF6W.js";
3
+ } from "./chunk-G7Y4GXTY.js";
4
4
  import {
5
5
  ANTIGRAVITY_AUTH_URL,
6
6
  ANTIGRAVITY_CALLBACK_PATH,
@@ -14,7 +14,7 @@ import {
14
14
  getAntigravityUserAgent,
15
15
  normalizeAntigravityTokenPayload,
16
16
  refreshAntigravityToken
17
- } from "./chunk-QU3TLYBR.js";
17
+ } from "./chunk-VEUSD6OF.js";
18
18
  import {
19
19
  toErrorMessage
20
20
  } from "./chunk-HNMXYYJR.js";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-7MDGTSNI.js";
4
+ } from "./chunk-2PI4QFAL.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-TDTTBXCO.js";
7
+ } from "./chunk-C7PKPHK6.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-LOVRT3E4.js";
10
+ } from "./chunk-FWMOJTGR.js";
11
11
  import {
12
12
  applyToolSurfaceConstraints
13
- } from "./chunk-NABJEYPJ.js";
13
+ } from "./chunk-2Q3LOAFE.js";
14
14
  import {
15
15
  resolveLocalRuntimeEnvFromPolicy
16
16
  } from "./chunk-TRZP7JZ7.js";
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-Y6ROFCZO.js";
39
39
  import {
40
40
  t
41
- } from "./chunk-UNOILAZP.js";
41
+ } from "./chunk-CLTGWJVT.js";
42
42
  import {
43
43
  asTrimmedNonEmptyStringArray
44
44
  } from "./chunk-I42VC5KR.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-UNOILAZP.js";
3
+ } from "./chunk-CLTGWJVT.js";
4
4
 
5
5
  // packages/cli/windowsSelfUpdate.ts
6
6
  import { spawn } from "node:child_process";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  resolveAgentCallPlan
3
- } from "./chunk-WFUIXNKC.js";
3
+ } from "./chunk-P4YLK2OD.js";
4
4
  import {
5
5
  SUBSCRIPTION_OAUTH_PROVIDERS
6
- } from "./chunk-QU3TLYBR.js";
6
+ } from "./chunk-VEUSD6OF.js";
7
7
  import {
8
8
  findModelConfig,
9
9
  getProviderByModelName
10
- } from "./chunk-GC64WGMD.js";
10
+ } from "./chunk-SM3NSZJV.js";
11
11
  import {
12
12
  asOptionalTrimmedString
13
13
  } from "./chunk-G3SUCT4W.js";
@@ -0,0 +1,12 @@
1
+ // packages/agent-runtime/noloStateDir.ts
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+ function resolveNoloStateDir(name, homeDir) {
5
+ if (homeDir) return join(homeDir, ".nolo", name);
6
+ const noloHome = process.env.NOLO_HOME?.trim();
7
+ return noloHome ? join(noloHome, name) : join(homedir(), ".nolo", name);
8
+ }
9
+
10
+ export {
11
+ resolveNoloStateDir
12
+ };
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-4JH2UMJR.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-GC64WGMD.js";
9
+ } from "./chunk-SM3NSZJV.js";
10
10
  import {
11
11
  asOptionalPositiveFiniteNumber
12
12
  } from "./chunk-U6VC4MU4.js";
@@ -17,7 +17,7 @@ import {
17
17
  isPlatformHostedImageModel,
18
18
  isPlatformManagedProvider,
19
19
  resolvePlatformEffectiveModel
20
- } from "./chunk-5KTQVMCX.js";
20
+ } from "./chunk-GOO6G4PY.js";
21
21
 
22
22
  // packages/ai/llm/getPricing.ts
23
23
  var MAX_OUTPUT_TOKENS = 8192;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-DKLWAY3C.js";
3
+ } from "./chunk-SSK4WNJA.js";
4
4
  import {
5
5
  format,
6
6
  prepareAndPersistMessage,
7
7
  uiAskChoiceFunc,
8
8
  uiAskChoiceFunctionSchema
9
- } from "./chunk-OIVKFSFN.js";
9
+ } from "./chunk-326HCB6L.js";
10
10
  import {
11
11
  formatISO
12
12
  } from "./chunk-ZRAU6T47.js";
@@ -54,7 +54,7 @@ import {
54
54
  import {
55
55
  PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
56
56
  PLATFORM_HOSTED_KIMI_PROVIDER
57
- } from "./chunk-5KTQVMCX.js";
57
+ } from "./chunk-GOO6G4PY.js";
58
58
 
59
59
  // packages/chat/dialog/objectAssistantRegistry.ts
60
60
  var OBJECT_ASSISTANT_TO_SKILL = {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-EX7OZOYM.js";
3
+ } from "./chunk-HKWGI3TM.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-OIVKFSFN.js";
6
+ } from "./chunk-326HCB6L.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-AKE53VMW.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-KUG52IAP.js";
13
13
  import {
14
14
  isNoloHostedProvider
15
- } from "./chunk-5KTQVMCX.js";
15
+ } from "./chunk-GOO6G4PY.js";
16
16
  import {
17
17
  asTrimmedLowercaseString
18
18
  } from "./chunk-QSJ3HFEF.js";
@@ -3,13 +3,14 @@ import {
3
3
  } from "./chunk-PSCNXBYA.js";
4
4
  import {
5
5
  MODEL_LOOKUP_MAP
6
- } from "./chunk-GC64WGMD.js";
6
+ } from "./chunk-SM3NSZJV.js";
7
7
  import {
8
8
  ALL_MODELS
9
- } from "./chunk-HLAL63BZ.js";
9
+ } from "./chunk-T43B7LB2.js";
10
10
  import {
11
- isPlatformManagedProvider
12
- } from "./chunk-5KTQVMCX.js";
11
+ isPlatformManagedProvider,
12
+ resolvePlatformEffectiveModel
13
+ } from "./chunk-GOO6G4PY.js";
13
14
 
14
15
  // packages/core/chat/messageContentSerialize.ts
15
16
  var serializeMessageContent = (content, imagePlaceholder = "[\u56FE\u7247]") => {
@@ -771,8 +772,12 @@ var QWEN_3_6_CONTEXT_WINDOW = 262144;
771
772
  var GLM_5_2_CONTEXT_WINDOW = 1e6;
772
773
  var GPT_6_1_SOL_CONTEXT_WINDOW = 5e5;
773
774
  var GPT_6_1_SOL_PATTERN = /(^|\/)gpt-6\.1[- ]sol(?![a-z])/;
775
+ var GPT_6_1_PINNED_PATTERN = /(^|\/)gpt-6\.1[- ](sol|terra)(?![a-z0-9])/;
776
+ var GPT_272K_PINNED_PATTERN = /(^|\/)(gpt-6[- ](astra|luna|sol)|gpt-5\.6[- ](sol|terra|luna))(?![a-z0-9])/;
777
+ var GPT_272K_CONTEXT_WINDOW = 272e3;
774
778
  function channelPinnedContextWindow(normalizedName) {
775
- if (GPT_6_1_SOL_PATTERN.test(normalizedName)) return GPT_6_1_SOL_CONTEXT_WINDOW;
779
+ if (GPT_6_1_PINNED_PATTERN.test(normalizedName)) return GPT_6_1_SOL_CONTEXT_WINDOW;
780
+ if (GPT_272K_PINNED_PATTERN.test(normalizedName)) return GPT_272K_CONTEXT_WINDOW;
776
781
  return void 0;
777
782
  }
778
783
  var ANTIGRAVITY_EFFORT_SUFFIXES = [
@@ -844,6 +849,8 @@ function fuzzyContextWindow(normalizedName) {
844
849
  if (normalizedName.includes("glm-5.2") || normalizedName.includes("glm5.2")) return GLM_5_2_CONTEXT_WINDOW;
845
850
  if (normalizedName.includes("deepseek")) return 1e6;
846
851
  if (GPT_6_1_SOL_PATTERN.test(normalizedName)) return GPT_6_1_SOL_CONTEXT_WINDOW;
852
+ const channelPinned = channelPinnedContextWindow(normalizedName);
853
+ if (channelPinned !== void 0) return channelPinned;
847
854
  if (normalizedName.includes("gpt-5") || normalizedName.includes("gpt-4.1")) return 1047576;
848
855
  if (normalizedName.startsWith("cursor-grok-4.5")) return 1e6;
849
856
  if (normalizedName.includes("claude-4.6")) return 1e6;
@@ -916,15 +923,26 @@ var findModelContextWindow = (modelName, provider) => {
916
923
  for (const candidate of candidates) {
917
924
  const model = map.get(candidate);
918
925
  if (model?.contextWindow) {
919
- if (!onPlatformChannel && isPlatformManagedProvider(model.provider, model.name) && channelPinnedContextWindow(model.name.toLowerCase()) !== void 0) {
926
+ if (!onPlatformChannel && (channelPinnedContextWindow(model.name.toLowerCase()) !== void 0 || channelPinnedContextWindow(candidate.toLowerCase()) !== void 0)) {
920
927
  continue;
921
928
  }
922
929
  return typeof model.contextWindow === "number" ? model.contextWindow : void 0;
923
930
  }
924
931
  }
932
+ if (onPlatformChannel) {
933
+ const effective = resolvePlatformEffectiveModel(normalizedName);
934
+ if (effective && effective !== normalizedName) {
935
+ const aliased = map.get(effective);
936
+ if (aliased?.contextWindow) {
937
+ return typeof aliased.contextWindow === "number" ? aliased.contextWindow : void 0;
938
+ }
939
+ }
940
+ }
925
941
  if (!onPlatformChannel) {
926
- const pinned = channelPinnedContextWindow(normalizedName);
927
- if (pinned !== void 0) return pinned;
942
+ for (const candidate of candidates) {
943
+ const pinned = channelPinnedContextWindow(candidate.toLowerCase());
944
+ if (pinned !== void 0) return pinned;
945
+ }
928
946
  }
929
947
  return fuzzyContextWindow(normalizedName);
930
948
  };