nolo-cli 0.16.0-alpha.3 → 0.16.0-alpha.5

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 (96) hide show
  1. package/{_executeModel-TZUDMB24.js → _executeModel-XF7VJZ6O.js} +28 -28
  2. package/{action-GUOZYYGN.js → action-F5JACQBG.js} +4 -4
  3. package/{addContentAction-QDGHGUBH.js → addContentAction-AQXEYRBE.js} +3 -3
  4. package/{addDialogAgentAction-Z4YCYZIV.js → addDialogAgentAction-EJHHJZWW.js} +2 -2
  5. package/{agentDeleteCommand-EMXLYNAH.js → agentDeleteCommand-7AI657MF.js} +17 -17
  6. package/{agentEmailCommands-H3VL4WUZ.js → agentEmailCommands-KJJXDEGM.js} +34 -34
  7. package/{agentListCommands-HQZNTYEG.js → agentListCommands-HPXVKI4Q.js} +19 -19
  8. package/{agentMachineCommands-QJPXHLIG.js → agentMachineCommands-N3B2TVPV.js} +17 -17
  9. package/{agentRecordCommands-VABNJQU5.js → agentRecordCommands-M63W7DKA.js} +33 -33
  10. package/{agentRunCommand-37H22M3U.js → agentRunCommand-JSXYRLUZ.js} +33 -33
  11. package/{agentRuntimeLocal-WGVEZMXW.js → agentRuntimeLocal-BILOZZYS.js} +14 -14
  12. package/{agentSlice-ILWKFTS5.js → agentSlice-JE5BREZQ.js} +3 -3
  13. package/{appDeleteCommands-N5AHOOHG.js → appDeleteCommands-NUJOKI4W.js} +18 -18
  14. package/{appDeployCommands-GDD4CHRI.js → appDeployCommands-A6N2FGQI.js} +18 -18
  15. package/{appDeployStatusCommands-3ZQH2E2A.js → appDeployStatusCommands-7AM5QF3L.js} +18 -18
  16. package/{appGetCommands-U4BGN2SW.js → appGetCommands-5SKEWQ2M.js} +18 -18
  17. package/{appListCommands-S5BF2T4A.js → appListCommands-DO3DRMFF.js} +18 -18
  18. package/{authCommand-WKMPIXR6.js → authCommand-P22WCVOP.js} +7 -7
  19. package/{chunk-SFXYKGK2.js → chunk-3S2VOMIF.js} +3 -3
  20. package/{chunk-MEZVPVXM.js → chunk-3STYIYRD.js} +2 -2
  21. package/{chunk-4QQFLN5C.js → chunk-4IF3B7WC.js} +4 -4
  22. package/{chunk-AO2YB7PG.js → chunk-4LDZJAM4.js} +3 -3
  23. package/{chunk-WIZX3ACC.js → chunk-4XR5OJ7J.js} +1 -1
  24. package/{chunk-OGGHETUE.js → chunk-5BP2BROQ.js} +18 -16
  25. package/{chunk-U7LEGLEB.js → chunk-6N4KODMN.js} +1 -1
  26. package/{chunk-2L6OCZ6Z.js → chunk-ASZ2C44S.js} +1 -1
  27. package/{chunk-VD24AND2.js → chunk-AWGYJBWX.js} +10 -10
  28. package/{chunk-CT3XKUX4.js → chunk-BH4AZ7S6.js} +24 -24
  29. package/{chunk-I4NUTIXT.js → chunk-BOPYCNN3.js} +1 -1
  30. package/{chunk-W3574B3G.js → chunk-CI2G2Z2L.js} +1 -1
  31. package/{chunk-36GPBUJ2.js → chunk-CTZLNWT3.js} +3 -3
  32. package/{chunk-TTGAVETO.js → chunk-EABWT43X.js} +2 -2
  33. package/{chunk-7LFS3UL6.js → chunk-GYJSDXGN.js} +13 -6
  34. package/{chunk-XVP3C2KY.js → chunk-IWLUTMYX.js} +1 -1
  35. package/{chunk-3SCCWSA3.js → chunk-J2DR42U3.js} +13 -13
  36. package/{chunk-XXUNUXCS.js → chunk-J4VLNDI7.js} +1 -1
  37. package/{chunk-4MSDMVUW.js → chunk-KFEVY3ST.js} +10 -2
  38. package/{chunk-WNLPAOIT.js → chunk-KFHN5NGJ.js} +1 -1
  39. package/{chunk-ZODEA6YR.js → chunk-KOW2R4MZ.js} +17 -12
  40. package/{chunk-27DJM3CW.js → chunk-LJIJWXIT.js} +5 -5
  41. package/{chunk-524BDL33.js → chunk-LPWS7HMQ.js} +1 -15
  42. package/{chunk-64E4G62G.js → chunk-N7Y6Y4WV.js} +57 -39
  43. package/{chunk-Y6G5CIAW.js → chunk-NNQCFBSX.js} +16 -16
  44. package/{chunk-OOIN7HSO.js → chunk-OIX36K6R.js} +1 -1
  45. package/{chunk-ONELX7AM.js → chunk-QEZOL2ES.js} +1 -1
  46. package/{chunk-3GSNWWY3.js → chunk-QSUEDDDQ.js} +1 -1
  47. package/{chunk-JS33TCQ3.js → chunk-RPDGJO4D.js} +2 -2
  48. package/{chunk-R2PO4VB4.js → chunk-SPNQ52KM.js} +2 -2
  49. package/{chunk-LTZL7WC3.js → chunk-TCFMDZDB.js} +1 -1
  50. package/{chunk-NY6KTTLA.js → chunk-U27RSNNB.js} +1 -1
  51. package/{chunk-IKXL2HZ3.js → chunk-UALQTIWY.js} +1 -1
  52. package/{chunk-TKNX6GFV.js → chunk-VWLK6WAB.js} +3 -3
  53. package/{chunk-463YM7CS.js → chunk-XBOY5KZG.js} +21 -21
  54. package/{chunk-V2J635L5.js → chunk-XOIF2TNF.js} +2 -2
  55. package/{chunk-VPTJB4HM.js → chunk-XPC5C7BK.js} +0 -3
  56. package/{chunk-TY27RYCD.js → chunk-XQW4K7D3.js} +3 -3
  57. package/{chunk-N5424GSW.js → chunk-YJKXGHJ6.js} +1 -1
  58. package/{chunk-JKWWVF2I.js → chunk-YQMTILRW.js} +1 -1
  59. package/{chunk-WNUSEMPU.js → chunk-YU3RHZQK.js} +1 -1
  60. package/{chunk-WFFFQD6S.js → chunk-Z7R7O2YU.js} +2 -2
  61. package/chunk-ZHXJ6M7T.js +27 -0
  62. package/{chunk-MRDODOWX.js → chunk-ZTRZ2O5B.js} +3 -3
  63. package/{chunk-VOVNQ4YU.js → chunk-ZVBKL6NS.js} +4 -4
  64. package/{createAgentAutomationAction-QHGTCNTZ.js → createAgentAutomationAction-MEYL7OTC.js} +13 -13
  65. package/{createDialogAction-BEO3QLUA.js → createDialogAction-OUK5YIH4.js} +14 -14
  66. package/{createPageAction-35EGISA5.js → createPageAction-NEBMC6AB.js} +13 -13
  67. package/{dbSlice-OP6UPXKA.js → dbSlice-7KQH6GOU.js} +2 -2
  68. package/{dialogCommands-V7UHKTXT.js → dialogCommands-MFSTNUJH.js} +18 -18
  69. package/{dialogSlice-PWTRW5CX.js → dialogSlice-BKRE6NDW.js} +13 -13
  70. package/{docCreateCommands-TNC5RGE6.js → docCreateCommands-3BYOEDE4.js} +17 -17
  71. package/{docDeleteCommands-PDMKS5KK.js → docDeleteCommands-7SGOMJJC.js} +18 -18
  72. package/{docReadCommands-GGAFPAUO.js → docReadCommands-GO2ODL3E.js} +17 -17
  73. package/{docStore-BIJALNX5.js → docStore-XIPSSX7U.js} +14 -14
  74. package/{docUpdateCommands-NCZK5UPH.js → docUpdateCommands-7XUCR5T7.js} +17 -17
  75. package/{getPricing-UGDJHI7M.js → getPricing-HXWUZAEN.js} +4 -4
  76. package/{handleSendMessageAction-EN7ZJLBM.js → handleSendMessageAction-NTDBIOMZ.js} +13 -13
  77. package/index.js +47 -47
  78. package/{machineCommands-3XWBAXZL.js → machineCommands-H7KTKQAT.js} +32 -32
  79. package/{machineWsRunDispatch-OZMHQJ43.js → machineWsRunDispatch-5QP2PLA6.js} +32 -32
  80. package/{models-LSCRJJ6P.js → models-DQUMNIGQ.js} +2 -2
  81. package/package.json +1 -1
  82. package/{read-HXHAZBKH.js → read-CN3TNXIP.js} +1 -1
  83. package/{readDocTool-VPBDTO4G.js → readDocTool-WF3675ED.js} +1 -1
  84. package/{readlineWorkspace-3FRNDMQP.js → readlineWorkspace-PGZRQYIR.js} +38 -38
  85. package/{removeDialogAgentAction-HUFVN35S.js → removeDialogAgentAction-YDHBFEGI.js} +5 -5
  86. package/{runAgentClientLoop-ZAZSFAAO.js → runAgentClientLoop-ISTTN5QO.js} +25 -25
  87. package/{setDialogExtraReferencesAction-2VLGWQKG.js → setDialogExtraReferencesAction-LR6MSIXO.js} +2 -2
  88. package/{setPrimaryDialogAgentAction-VB4UV2CC.js → setPrimaryDialogAgentAction-IIVDCY5C.js} +5 -5
  89. package/{settingSlice-7JYPQNAC.js → settingSlice-O23YDK2O.js} +3 -3
  90. package/{spaceCommands-IASX6FPL.js → spaceCommands-IQQEG2MG.js} +17 -17
  91. package/{spaceSlice-HGDO7QJK.js → spaceSlice-QER2OEYB.js} +13 -13
  92. package/{streamAgentChatTurn-KTDBTZUL.js → streamAgentChatTurn-VBXKG5JA.js} +29 -29
  93. package/{tools-IUKU5H6C.js → tools-XMFFOQXS.js} +19 -19
  94. package/{tuiSummaryLlmCaller-RV6ZXCLV.js → tuiSummaryLlmCaller-ENLQTJUV.js} +7 -7
  95. package/{updateDialogTitleAction-6R62F4XS.js → updateDialogTitleAction-QJEJGVZD.js} +13 -13
  96. package/chunk-BYXBJQAS.js +0 -0
@@ -11,19 +11,19 @@ import {
11
11
  extractTextFromResponseOutput,
12
12
  extractToolCallsFromResponseOutput,
13
13
  hasImageParts,
14
+ shouldStripReasoningContentForOutbound,
14
15
  toOpenAiCompatibleMessages,
15
16
  toResponsesTools
16
- } from "./chunk-4MSDMVUW.js";
17
+ } from "./chunk-KFEVY3ST.js";
17
18
  import {
18
19
  buildProviderExecutionPlan,
19
20
  canUsePlatformChatProvider,
20
21
  hasDirectOpenAiCompatibleProvider,
21
22
  resolveAgentRuntimeLocation,
22
23
  resolvePlatformAuthToken,
23
- resolvePlatformChatCompletionsEndpoint,
24
24
  resolvePlatformServerUrl,
25
25
  resolveProviderTransportDecision
26
- } from "./chunk-27DJM3CW.js";
26
+ } from "./chunk-LJIJWXIT.js";
27
27
  import {
28
28
  clipCompactText
29
29
  } from "./chunk-5MMAK75Q.js";
@@ -259,9 +259,21 @@ async function resolvePlatformChatProviderConfig(args) {
259
259
  function buildPlatformChatCompletionRequest(args) {
260
260
  const usesResponsesApi = isResponsesEndpoint(args.providerConfig.endpoint);
261
261
  const requestOptions = usesResponsesApi ? toResponsesRequestOptions(args.providerConfig.requestOptions) : args.providerConfig.requestOptions;
262
+ const shouldStripReasoning = shouldStripReasoningContentForOutbound(
263
+ args.providerConfig.provider,
264
+ args.providerConfig.model
265
+ );
262
266
  const body = {
263
267
  model: args.providerConfig.model,
264
- ...usesResponsesApi ? { input: convertMessagesToResponsesInput(args.messages) } : { messages: toOpenAiCompatibleMessages(args.messages) },
268
+ ...usesResponsesApi ? {
269
+ input: convertMessagesToResponsesInput(args.messages, {
270
+ stripReasoningContent: shouldStripReasoning
271
+ })
272
+ } : {
273
+ messages: toOpenAiCompatibleMessages(args.messages, {
274
+ stripReasoningContent: shouldStripReasoning
275
+ })
276
+ },
265
277
  stream: args.stream ?? false,
266
278
  ...args.stream ? { stream_options: { include_usage: true } } : {},
267
279
  ...requestOptions,
@@ -290,14 +302,7 @@ function buildPlatformChatCompletionRequest(args) {
290
302
  };
291
303
  }
292
304
  function resolveLegacyDeepSeekProxyChatFallback(args) {
293
- if (args.status !== 400 || args.providerConfig.provider.toLowerCase() !== "deepseek" || !isResponsesEndpoint(args.providerConfig.endpoint) || !/UPSTREAM_400/.test(args.raw) || !/missing field [`\"]?(?:function|messages)/i.test(args.raw)) {
294
- return void 0;
295
- }
296
- const endpoint = resolvePlatformChatCompletionsEndpoint("deepseek");
297
- return endpoint ? {
298
- ...args.providerConfig,
299
- endpoint
300
- } : void 0;
305
+ return void 0;
301
306
  }
302
307
  function tryParseJson(raw) {
303
308
  try {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-OGGHETUE.js";
3
+ } from "./chunk-5BP2BROQ.js";
4
4
  import {
5
5
  asTrimmedLowercaseString
6
6
  } from "./chunk-QSJ3HFEF.js";
@@ -31,7 +31,9 @@ var OPENAI_RESPONSES_ENDPOINT = "https://api.openai.com/v1/responses";
31
31
  var DEEPSEEK_RESPONSES_ENDPOINT = "https://api.deepseek.com/v1/responses";
32
32
  var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
33
33
  deepinfra: "https://api.deepinfra.com/v1/openai/chat/completions",
34
- deepseek: "https://api.deepseek.com/chat/completions",
34
+ // DeepSeek official API endpoint removed — all DeepSeek models now route
35
+ // through the nolo provider (Ollama Cloud). See providerRegistry.ts.
36
+ // deepseek: "https://api.deepseek.com/chat/completions",
35
37
  fireworks: "https://api.fireworks.ai/inference/v1/chat/completions",
36
38
  google: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
37
39
  openai: "https://api.openai.com/v1/chat/completions",
@@ -46,9 +48,7 @@ var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
46
48
  };
47
49
  function isOpenAiResponsesModel(args) {
48
50
  const provider = asTrimmedLowercaseString(args.provider);
49
- if (provider === "deepseek") {
50
- return asTrimmedLowercaseString(args.model) === "deepseek-v4-flash";
51
- }
51
+ if (provider === "deepseek") return false;
52
52
  if (provider !== "openai") return false;
53
53
  if (args.endpointKey === "responses") return true;
54
54
  if (!args.model) return false;
@@ -14,7 +14,7 @@ var deepSeekModels = [
14
14
  fnCall: true,
15
15
  supportsTool: true,
16
16
  supportsReasoningEffort: true,
17
- endpointKey: "responses",
17
+ endpointKey: "chat.completions",
18
18
  price: {
19
19
  input: 1,
20
20
  inputCacheHit: 0.02,
@@ -499,7 +499,6 @@ var zaiModels = [];
499
499
  // packages/ai/llm/kimi.ts
500
500
  var PLATFORM_HOSTED_KIMI_K3_MODEL = "kimi-k3";
501
501
  var PLATFORM_HOSTED_KIMI_K26_MODEL = "kimi-k2.6";
502
- var PLATFORM_HOSTED_KIMI_K27_CODE_MODEL = "kimi-k2.7-code";
503
502
  var PLATFORM_HOSTED_KIMI_PROVIDER = "nolo";
504
503
  var LEGACY_OLLAMA_CLOUD_PROVIDER = "ollama-cloud";
505
504
  var isNoloHostedProvider = (provider) => {
@@ -531,10 +530,6 @@ var PLATFORM_HOSTED_KIMI_PRICE = {
531
530
  input: toPlatformCredits(0.6),
532
531
  output: toPlatformCredits(2.4)
533
532
  };
534
- var PLATFORM_HOSTED_KIMI_K27_CODE_PRICE = {
535
- input: toPlatformCredits(1.2),
536
- output: toPlatformCredits(4.8)
537
- };
538
533
  var PLATFORM_HOSTED_KIMI_K3_PRICE = {
539
534
  input: toPlatformCredits(3),
540
535
  output: toPlatformCredits(15)
@@ -572,15 +567,6 @@ var platformHostedModels = [
572
567
  contextWindow: 262144,
573
568
  supportsTool: true
574
569
  },
575
- {
576
- name: PLATFORM_HOSTED_KIMI_K27_CODE_MODEL,
577
- displayName: "Kimi K2.7 Coding",
578
- hasVision: true,
579
- price: { ...PLATFORM_HOSTED_KIMI_K27_CODE_PRICE },
580
- maxOutputTokens: 262144,
581
- contextWindow: 256e3,
582
- supportsTool: true
583
- },
584
570
  {
585
571
  name: PLATFORM_HOSTED_GLM_52_MODEL,
586
572
  displayName: "GLM 5.2",
@@ -3,12 +3,12 @@ import {
3
3
  refreshAntigravityOAuthToken,
4
4
  refreshOpenAiCodexToken,
5
5
  refreshXaiOAuthToken
6
- } from "./chunk-XXUNUXCS.js";
6
+ } from "./chunk-J4VLNDI7.js";
7
7
  import {
8
8
  buildLocalAgentLookupKeys,
9
9
  normalizeAgentHandle,
10
10
  shouldReadAgentKeyRemotely
11
- } from "./chunk-ONELX7AM.js";
11
+ } from "./chunk-QEZOL2ES.js";
12
12
  import {
13
13
  LOCAL_CODEX_AGENT_ID,
14
14
  LOCAL_CODEX_AGENT_KEY,
@@ -17,17 +17,17 @@ import {
17
17
  } from "./chunk-VHBWHNVT.js";
18
18
  import {
19
19
  inferCaptureIntent
20
- } from "./chunk-WNLPAOIT.js";
20
+ } from "./chunk-KFHN5NGJ.js";
21
21
  import {
22
22
  inlineImageUrlsForCustomProvider,
23
23
  prepareTools
24
- } from "./chunk-MEZVPVXM.js";
24
+ } from "./chunk-3STYIYRD.js";
25
25
  import {
26
26
  getAntigravityUserAgent,
27
27
  isAntigravityOAuthAgent,
28
28
  readAntigravityProjectId,
29
29
  resolveAntigravityCloudCodeBaseUrl
30
- } from "./chunk-W3574B3G.js";
30
+ } from "./chunk-CI2G2Z2L.js";
31
31
  import {
32
32
  FORCED_TOOLS,
33
33
  addDefaultLightWebToolsForConfiguredAgents,
@@ -47,7 +47,7 @@ import {
47
47
  readXhsProfileFunctionSchema,
48
48
  rememberMemoryFunctionSchema,
49
49
  resolveEffectiveEnabledPacks
50
- } from "./chunk-CT3XKUX4.js";
50
+ } from "./chunk-BH4AZ7S6.js";
51
51
  import {
52
52
  createDrainExhaustedResponse,
53
53
  isCoreDrainingBody,
@@ -59,13 +59,13 @@ import {
59
59
  } from "./chunk-OWOHNGCN.js";
60
60
  import {
61
61
  prepareTokenUsageData
62
- } from "./chunk-463YM7CS.js";
62
+ } from "./chunk-XBOY5KZG.js";
63
63
  import {
64
64
  BUILTIN_TITLE_LLM_CONFIG
65
- } from "./chunk-V2J635L5.js";
65
+ } from "./chunk-XOIF2TNF.js";
66
66
  import {
67
67
  fetchServerSyncedCredential
68
- } from "./chunk-VOVNQ4YU.js";
68
+ } from "./chunk-ZVBKL6NS.js";
69
69
  import {
70
70
  buildAgentRuntimeDialogWritePlan,
71
71
  buildLocalWorkspaceOpenAiTools,
@@ -78,7 +78,7 @@ import {
78
78
  parseSseDataLineJson,
79
79
  readOpenAiCompatibleSseCompletion,
80
80
  resolveOpenAiCompatibleProviderConfig
81
- } from "./chunk-7LFS3UL6.js";
81
+ } from "./chunk-GYJSDXGN.js";
82
82
  import {
83
83
  buildPlatformChatCompletionRequest,
84
84
  canUsePlatformChatProvider,
@@ -88,17 +88,17 @@ import {
88
88
  resolveLegacyDeepSeekProxyChatFallback,
89
89
  resolvePlatformChatProviderConfig,
90
90
  shouldUsePlatformChatProvider
91
- } from "./chunk-ZODEA6YR.js";
91
+ } from "./chunk-KOW2R4MZ.js";
92
92
  import {
93
93
  resolveAgentRuntimeConfigFromRecord
94
94
  } from "./chunk-OIQPORYI.js";
95
95
  import {
96
96
  parseToolArgumentsJson,
97
97
  summarizeToolArguments
98
- } from "./chunk-MRDODOWX.js";
98
+ } from "./chunk-ZTRZ2O5B.js";
99
99
  import {
100
100
  resolvePlatformAuthToken
101
- } from "./chunk-27DJM3CW.js";
101
+ } from "./chunk-LJIJWXIT.js";
102
102
  import {
103
103
  buildLoadSkillExecutor,
104
104
  buildNoloWorkspaceCliToolExecutors,
@@ -171,9 +171,8 @@ import {
171
171
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
172
172
  PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
173
173
  PUBLIC_GLM_52_AGENT_KEY,
174
- PUBLIC_KIMI_K26_IMAGE_AGENT_KEY,
175
- PUBLIC_KIMI_K27_CODING_AGENT_KEY
176
- } from "./chunk-VPTJB4HM.js";
174
+ PUBLIC_KIMI_K26_IMAGE_AGENT_KEY
175
+ } from "./chunk-XPC5C7BK.js";
177
176
  import {
178
177
  asTrimmedString
179
178
  } from "./chunk-3EUW3WEO.js";
@@ -1466,14 +1465,14 @@ var BUILTIN_PLATFORM_AGENT_CONFIGS = {
1466
1465
  [PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY]: {
1467
1466
  key: PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
1468
1467
  name: "DeepSeek V4 Pro",
1469
- provider: "deepseek",
1468
+ provider: "nolo",
1470
1469
  model: "deepseek-v4-pro",
1471
1470
  apiSource: "platform",
1472
1471
  useServerProxy: true,
1473
1472
  rawRecord: {
1474
1473
  dbKey: PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
1475
1474
  isPublic: true,
1476
- provider: "deepseek",
1475
+ provider: "nolo",
1477
1476
  model: "deepseek-v4-pro",
1478
1477
  apiSource: "platform",
1479
1478
  useServerProxy: true
@@ -1511,22 +1510,6 @@ var BUILTIN_PLATFORM_AGENT_CONFIGS = {
1511
1510
  useServerProxy: true
1512
1511
  }
1513
1512
  },
1514
- [PUBLIC_KIMI_K27_CODING_AGENT_KEY]: {
1515
- key: PUBLIC_KIMI_K27_CODING_AGENT_KEY,
1516
- name: "Kimi K2.7 Coding",
1517
- provider: "nolo",
1518
- model: "kimi-k2.7-code",
1519
- apiSource: "platform",
1520
- useServerProxy: true,
1521
- rawRecord: {
1522
- dbKey: PUBLIC_KIMI_K27_CODING_AGENT_KEY,
1523
- isPublic: true,
1524
- provider: "nolo",
1525
- model: "kimi-k2.7-code",
1526
- apiSource: "platform",
1527
- useServerProxy: true
1528
- }
1529
- },
1530
1513
  [BUILTIN_NOLO_AGENT_KEY]: {
1531
1514
  key: BUILTIN_NOLO_AGENT_KEY,
1532
1515
  name: "Nolo",
@@ -2662,6 +2645,7 @@ function accumulateCcaChunks(chunks) {
2662
2645
  let text = "";
2663
2646
  const toolCalls = [];
2664
2647
  let usage;
2648
+ let pendingThoughtSignature;
2665
2649
  for (const chunk of chunks) {
2666
2650
  if (!chunk || typeof chunk !== "object") continue;
2667
2651
  const response = "response" in chunk && chunk.response && typeof chunk.response === "object" ? chunk.response : chunk;
@@ -2692,16 +2676,21 @@ function accumulateCcaChunks(chunks) {
2692
2676
  text += piece;
2693
2677
  }
2694
2678
  }
2679
+ if (part.thought && typeof partSignature === "string" && partSignature) {
2680
+ pendingThoughtSignature = partSignature;
2681
+ }
2695
2682
  if ("functionCall" in part && part.functionCall) {
2696
2683
  const call = part.functionCall;
2697
2684
  const name = typeof call.name === "string" ? call.name : "tool";
2698
2685
  const id = typeof call.id === "string" ? call.id : `${name}_${toolCalls.length}`;
2699
2686
  const argsObj = asRecordOrEmpty(call.args);
2687
+ const resolvedSignature = typeof partSignature === "string" && partSignature ? partSignature : pendingThoughtSignature;
2688
+ pendingThoughtSignature = void 0;
2700
2689
  toolCalls.push({
2701
2690
  id,
2702
2691
  type: "function",
2703
2692
  function: { name, arguments: JSON.stringify(argsObj) },
2704
- ...typeof partSignature === "string" && partSignature ? { thought_signature: partSignature } : {}
2693
+ ...typeof resolvedSignature === "string" && resolvedSignature ? { thought_signature: resolvedSignature } : {}
2705
2694
  });
2706
2695
  }
2707
2696
  }
@@ -2772,25 +2761,38 @@ var CLAUDE_CODE_IDENTITY_PATTERNS = [
2772
2761
  function stringValue(value) {
2773
2762
  return typeof value === "string" && value.length > 0 ? value : void 0;
2774
2763
  }
2764
+ function isCacheControl(value) {
2765
+ return Boolean(
2766
+ value && typeof value === "object" && !Array.isArray(value) && typeof value.type === "string"
2767
+ );
2768
+ }
2775
2769
  function toAnthropicContent(content) {
2776
- if (typeof content === "string") return [{ type: "text", text: content }];
2770
+ if (typeof content === "string") {
2771
+ return content.length > 0 ? [{ type: "text", text: content }] : [];
2772
+ }
2777
2773
  if (!Array.isArray(content)) return [];
2778
2774
  const blocks = [];
2779
2775
  for (const raw of content) {
2780
2776
  if (!raw || typeof raw !== "object") continue;
2781
2777
  const part = raw;
2782
2778
  if ((part.type === "text" || part.type === "input_text") && typeof part.text === "string") {
2783
- blocks.push({ type: "text", text: part.text });
2779
+ if (part.text.length > 0) {
2780
+ const block2 = { type: "text", text: part.text };
2781
+ if (isCacheControl(part.cache_control)) block2.cache_control = part.cache_control;
2782
+ blocks.push(block2);
2783
+ }
2784
2784
  continue;
2785
2785
  }
2786
2786
  if (part.type !== "image_url") continue;
2787
2787
  const imageUrl = typeof part.image_url === "string" ? part.image_url : stringValue(part.image_url?.url);
2788
2788
  if (!imageUrl) continue;
2789
2789
  const dataMatch = imageUrl.match(/^data:([^;,]+);base64,(.+)$/s);
2790
- blocks.push({
2790
+ const block = {
2791
2791
  type: "image",
2792
2792
  source: dataMatch ? { type: "base64", media_type: dataMatch[1], data: dataMatch[2] } : { type: "url", url: imageUrl }
2793
- });
2793
+ };
2794
+ if (isCacheControl(part.cache_control)) block.cache_control = part.cache_control;
2795
+ blocks.push(block);
2794
2796
  }
2795
2797
  return blocks;
2796
2798
  }
@@ -2866,6 +2868,12 @@ function buildAnthropicMessagesBody(args) {
2866
2868
  if (!hasClaudeCodeIdentity(system)) {
2867
2869
  system.unshift({ type: "text", text: CLAUDE_CODE_SYSTEM_INSTRUCTION });
2868
2870
  }
2871
+ if (system.length > 0) {
2872
+ const last = system[system.length - 1];
2873
+ if (!isCacheControl(last.cache_control)) {
2874
+ last.cache_control = { type: "ephemeral" };
2875
+ }
2876
+ }
2869
2877
  const tools = Array.isArray(args.openAiBody.tools) ? args.openAiBody.tools.flatMap((raw) => {
2870
2878
  if (!raw || typeof raw !== "object") return [];
2871
2879
  const fn = raw.function;
@@ -2880,6 +2888,16 @@ function buildAnthropicMessagesBody(args) {
2880
2888
  const model = stringValue(args.openAiBody.model) ?? args.agentConfig.model ?? "claude-sonnet-5";
2881
2889
  const maxTokensRaw = args.openAiBody.max_completion_tokens ?? args.openAiBody.max_tokens ?? args.agentConfig.max_tokens;
2882
2890
  const maxTokens = typeof maxTokensRaw === "number" && Number.isFinite(maxTokensRaw) ? Math.max(1, Math.floor(maxTokensRaw)) : 8192;
2891
+ if (messages.length > 0) {
2892
+ const lastMessage = messages[messages.length - 1];
2893
+ const content = Array.isArray(lastMessage.content) ? lastMessage.content : [];
2894
+ if (content.length > 0) {
2895
+ const lastBlock = content[content.length - 1];
2896
+ if (!isCacheControl(lastBlock.cache_control)) {
2897
+ lastBlock.cache_control = { type: "ephemeral" };
2898
+ }
2899
+ }
2900
+ }
2883
2901
  return {
2884
2902
  model,
2885
2903
  messages,
@@ -18,17 +18,17 @@ import {
18
18
  isBuiltinNoloAgentRef,
19
19
  t,
20
20
  toolLabel
21
- } from "./chunk-64E4G62G.js";
21
+ } from "./chunk-N7Y6Y4WV.js";
22
22
  import {
23
23
  getReadableCliDb
24
24
  } from "./chunk-W4NVOSFF.js";
25
25
  import {
26
26
  readDbRecord,
27
27
  resolveAgentRecordFromHybridStore
28
- } from "./chunk-WNUSEMPU.js";
28
+ } from "./chunk-YU3RHZQK.js";
29
29
  import {
30
30
  normalizeAgentHandle
31
- } from "./chunk-ONELX7AM.js";
31
+ } from "./chunk-QEZOL2ES.js";
32
32
  import {
33
33
  NOLO_PROJECT_MANAGER_AGENT_KEY,
34
34
  isLocalCliAgentKey
@@ -45,7 +45,7 @@ import {
45
45
  formatStatusRunCard,
46
46
  formatStopRunCard,
47
47
  isAgentRunTerminalStatus
48
- } from "./chunk-CT3XKUX4.js";
48
+ } from "./chunk-BH4AZ7S6.js";
49
49
  import {
50
50
  isGatewayHttpStatus
51
51
  } from "./chunk-RQSOAMPJ.js";
@@ -54,7 +54,7 @@ import {
54
54
  chooseMemoryOwners,
55
55
  loadMemoryCandidatesFromDb,
56
56
  resolveAgentMemoryPolicy
57
- } from "./chunk-36GPBUJ2.js";
57
+ } from "./chunk-CTZLNWT3.js";
58
58
  import {
59
59
  parseExternalSkillMarkdown,
60
60
  parseSkillDocProtocol
@@ -63,14 +63,14 @@ import {
63
63
  API_REPORTED_COST_MULTIPLIER,
64
64
  normalizeUsage,
65
65
  parseUiAskChoiceContent
66
- } from "./chunk-463YM7CS.js";
66
+ } from "./chunk-XBOY5KZG.js";
67
67
  import {
68
68
  buildSkillDiscoveryContextBlock
69
69
  } from "./chunk-AS3ZQ3O2.js";
70
70
  import {
71
71
  buildPlatformChatCompletionRequest,
72
72
  parsePlatformChatCompletionData
73
- } from "./chunk-ZODEA6YR.js";
73
+ } from "./chunk-KOW2R4MZ.js";
74
74
  import {
75
75
  resolveAgentRuntimeConfigFromRecord
76
76
  } from "./chunk-OIQPORYI.js";
@@ -79,7 +79,7 @@ import {
79
79
  LOCAL_TURN_ABORTED_CODE,
80
80
  readActionGate,
81
81
  readCommandActionGatePayload
82
- } from "./chunk-MRDODOWX.js";
82
+ } from "./chunk-ZTRZ2O5B.js";
83
83
  import {
84
84
  createThinkParserState,
85
85
  flushThinkParser,
@@ -88,17 +88,17 @@ import {
88
88
  import {
89
89
  resolvePlatformAuthToken,
90
90
  resolvePlatformChatCompletionsEndpoint
91
- } from "./chunk-27DJM3CW.js";
91
+ } from "./chunk-LJIJWXIT.js";
92
92
  import {
93
93
  DEFAULT_CONTEXT_WINDOW,
94
94
  getModelContextWindow
95
- } from "./chunk-4QQFLN5C.js";
95
+ } from "./chunk-4IF3B7WC.js";
96
96
  import {
97
97
  clipCompactText
98
98
  } from "./chunk-5MMAK75Q.js";
99
99
  import {
100
100
  findModelConfig
101
- } from "./chunk-OGGHETUE.js";
101
+ } from "./chunk-5BP2BROQ.js";
102
102
  import {
103
103
  buildMemoryOverlayLayer,
104
104
  buildMemoryUseGuidanceLayer
@@ -140,7 +140,7 @@ import {
140
140
  BUILTIN_NOLO_AGENT_KEY,
141
141
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
142
142
  PUBLIC_KIMI_K26_IMAGE_AGENT_KEY
143
- } from "./chunk-VPTJB4HM.js";
143
+ } from "./chunk-XPC5C7BK.js";
144
144
  import {
145
145
  asTrimmedString
146
146
  } from "./chunk-3EUW3WEO.js";
@@ -153,7 +153,7 @@ import {
153
153
 
154
154
  // packages/agent-runtime/quickChatIntentCore.ts
155
155
  var INTENT_MODEL = "deepseek-v4-flash";
156
- var INTENT_PROVIDER = "deepseek";
156
+ var INTENT_PROVIDER = "nolo";
157
157
  var QUICK_CHAT_INTENT_TIMEOUT_MS = 4e3;
158
158
  var SHORT_GREETING_MAX_LENGTH = 20;
159
159
  var SHORT_GREETING_PATTERN = /^(?:hi|hello|hey|hiya|yo|sup|howdy|嗨|哈喽|哈囉|你好|您好|在吗|在嘛|喂|早上好|中午好|下午好|晚上好|拜拜|再见|谢谢|thanks|thx|ok|好的|收到|了解)[!.。,、~~]?$/iu;
@@ -394,7 +394,7 @@ var PROVIDER_LOOKUP_ORDER = [
394
394
  "mimo",
395
395
  "gmi",
396
396
  "google",
397
- "deepseek",
397
+ "nolo",
398
398
  "mistral",
399
399
  "vultr",
400
400
  "deepinfra",
@@ -3557,7 +3557,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3557
3557
  // packages/cli/client/agentRun.ts
3558
3558
  import { ulid } from "ulid";
3559
3559
  async function loadRunLocalAgentTurn() {
3560
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-WGVEZMXW.js");
3560
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-BILOZZYS.js");
3561
3561
  return runLocalAgentTurn;
3562
3562
  }
3563
3563
  async function resolveCurrentMachineId(options) {
@@ -3993,7 +3993,7 @@ async function runLocalAgentTurnForCli(options, settings) {
3993
3993
  } : void 0;
3994
3994
  const currentDialogId = options.continueDialogId ?? ulid();
3995
3995
  const runChildTurn = async (input) => {
3996
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-WGVEZMXW.js");
3996
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-BILOZZYS.js");
3997
3997
  return runLocalAgentTurn(input);
3998
3998
  };
3999
3999
  const createFreshChildBaseAdapter = () => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getModelAbility
3
- } from "./chunk-IKXL2HZ3.js";
3
+ } from "./chunk-UALQTIWY.js";
4
4
 
5
5
  // packages/ai/agent/safeAgentSummary.ts
6
6
  function parseTimestamp(val) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-7LFS3UL6.js";
4
+ } from "./chunk-GYJSDXGN.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-WNUSEMPU.js";
5
+ } from "./chunk-YU3RHZQK.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  selectCurrentServer
3
- } from "./chunk-TTGAVETO.js";
3
+ } from "./chunk-EABWT43X.js";
4
4
  import {
5
5
  patch
6
- } from "./chunk-SFXYKGK2.js";
6
+ } from "./chunk-3S2VOMIF.js";
7
7
  import {
8
8
  selectIdentityToken
9
9
  } from "./chunk-DVRHHFEA.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-64E4G62G.js";
3
+ } from "./chunk-N7Y6Y4WV.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-W4NVOSFF.js";
@@ -12,7 +12,7 @@ import {
12
12
  resolveAgentRecordFromHybridStore,
13
13
  sanitizeAgentRecordForCliOutput,
14
14
  writeAgentRecord
15
- } from "./chunk-WNUSEMPU.js";
15
+ } from "./chunk-YU3RHZQK.js";
16
16
  import {
17
17
  resolveCliAgentKeyInput
18
18
  } from "./chunk-VHBWHNVT.js";
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-3GSNWWY3.js";
10
+ } from "./chunk-QSUEDDDQ.js";
11
11
  import {
12
12
  buildDialogAttachmentPlan,
13
13
  extractFileContentIds
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-WFFFQD6S.js";
3
+ } from "./chunk-Z7R7O2YU.js";
4
4
  import {
5
5
  resolveServerUrl
6
6
  } from "./chunk-A7GB5UGH.js";
@@ -10,7 +10,7 @@ import {
10
10
  platformHostedModels,
11
11
  xaiModels,
12
12
  zaiModels
13
- } from "./chunk-524BDL33.js";
13
+ } from "./chunk-LPWS7HMQ.js";
14
14
 
15
15
  // packages/ai/llm/modelAbility.ts
16
16
  var MODEL_ABILITY_TABLE = {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-64E4G62G.js";
4
+ } from "./chunk-N7Y6Y4WV.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-CT3XKUX4.js";
7
+ } from "./chunk-BH4AZ7S6.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-MRDODOWX.js";
10
+ } from "./chunk-ZTRZ2O5B.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
13
  } from "./chunk-5CS33IBL.js";