nolo-cli 0.16.0-alpha.1 → 0.16.0-alpha.11

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 (97) hide show
  1. package/{_executeModel-QAUS6B7J.js → _executeModel-LGHYA5XS.js} +29 -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-365DMKHW.js → agentDeleteCommand-PBIUC4FT.js} +18 -17
  6. package/{agentEmailCommands-TQMXL36I.js → agentEmailCommands-KC2QCPQV.js} +35 -34
  7. package/{agentListCommands-6B5X4RC6.js → agentListCommands-N64PHBXM.js} +20 -19
  8. package/{agentMachineCommands-LOEARB6V.js → agentMachineCommands-P7S5WAVA.js} +18 -17
  9. package/{agentRecordCommands-DCH2WBL2.js → agentRecordCommands-JKZR2TZJ.js} +34 -33
  10. package/{agentRunCommand-SGMH67WT.js → agentRunCommand-2ELKCBWR.js} +34 -33
  11. package/{agentRuntimeLocal-YSYZ33ER.js → agentRuntimeLocal-T6YECTNF.js} +15 -16
  12. package/{agentSlice-IVE735EV.js → agentSlice-NXLMDKR7.js} +3 -3
  13. package/{appDeleteCommands-6QYOO3JB.js → appDeleteCommands-D6B6Z4ZQ.js} +19 -18
  14. package/{appDeployCommands-WTCT6XO6.js → appDeployCommands-YMO5FK4T.js} +19 -18
  15. package/{appDeployStatusCommands-CGWGZJKB.js → appDeployStatusCommands-EO5DWWPQ.js} +19 -18
  16. package/{appGetCommands-O4OCAMRW.js → appGetCommands-6SMZ3URQ.js} +19 -18
  17. package/{appListCommands-UENFP4XY.js → appListCommands-RZXSWR2G.js} +19 -18
  18. package/{authCommand-YFTR3347.js → authCommand-MSSBXCQ6.js} +8 -2
  19. package/{chunk-EMXI3N3Z.js → chunk-22NGXGN3.js} +2 -2
  20. package/{chunk-WPN6RMDF.js → chunk-2WXMU64E.js} +3 -3
  21. package/{chunk-SFXYKGK2.js → chunk-3S2VOMIF.js} +3 -3
  22. package/{chunk-WRN5EQT7.js → chunk-47QUPRHO.js} +3 -3
  23. package/{chunk-YNHQIXX5.js → chunk-4LXOVZ4W.js} +21 -21
  24. package/{chunk-O53CP2QR.js → chunk-6CRACQXW.js} +3 -3
  25. package/{chunk-E237VE6U.js → chunk-6KBBMW4D.js} +2 -2
  26. package/{chunk-U7LEGLEB.js → chunk-6N4KODMN.js} +1 -1
  27. package/{chunk-GRTFNYLR.js → chunk-A7O4KKLZ.js} +3 -3
  28. package/{chunk-WA6KZL5V.js → chunk-AAODAAUQ.js} +23 -20
  29. package/{chunk-Z24FGIU2.js → chunk-BXXECNBU.js} +3 -3
  30. package/{chunk-4NLUNENX.js → chunk-C4MMO7W4.js} +1 -1
  31. package/{chunk-JKWWVF2I.js → chunk-D3HVJJIA.js} +1 -1
  32. package/{chunk-VE6XMVKG.js → chunk-D4NCEGGR.js} +167 -53
  33. package/{chunk-TTGAVETO.js → chunk-EABWT43X.js} +2 -2
  34. package/{chunk-YYIRR6QC.js → chunk-EQTZPEID.js} +140 -175
  35. package/{chunk-RSYUDGGZ.js → chunk-F3UOACU4.js} +1 -1
  36. package/{chunk-RKM3K52F.js → chunk-GPELDE6I.js} +2 -2
  37. package/{chunk-OGGHETUE.js → chunk-HQPG2PIV.js} +62 -19
  38. package/{chunk-BFRVXJJJ.js → chunk-HSASSW4L.js} +27 -11
  39. package/{chunk-XVP3C2KY.js → chunk-IWLUTMYX.js} +1 -1
  40. package/{chunk-B4KT7RN2.js → chunk-JTMNCCWF.js} +2 -2
  41. package/chunk-KFEVY3ST.js +255 -0
  42. package/{chunk-WNLPAOIT.js → chunk-KFHN5NGJ.js} +1 -1
  43. package/{chunk-ISYE6GZB.js → chunk-L6NVTGI7.js} +1 -1
  44. package/{chunk-J55UHASN.js → chunk-MSA4JAOZ.js} +1 -1
  45. package/{chunk-HRQCKQA5.js → chunk-MUCU6ATG.js} +8 -257
  46. package/{chunk-524BDL33.js → chunk-O6W2O2DA.js} +1 -15
  47. package/{chunk-4QQFLN5C.js → chunk-OVBVEXZ7.js} +4 -4
  48. package/{chunk-QZVGMD5F.js → chunk-PU4LXVAC.js} +1 -1
  49. package/{chunk-4IJYA27C.js → chunk-RG2U2MTJ.js} +1 -1
  50. package/{chunk-6MHDWKOT.js → chunk-RIF3XLXK.js} +9 -5
  51. package/{chunk-IKXL2HZ3.js → chunk-RK5NYQEL.js} +1 -1
  52. package/{chunk-JS33TCQ3.js → chunk-RPDGJO4D.js} +2 -2
  53. package/{chunk-EHLHSX7R.js → chunk-UB4RYYNQ.js} +9 -2
  54. package/{chunk-YC3DJILJ.js → chunk-VHXXRWNL.js} +22 -8
  55. package/{chunk-G2MKOQCB.js → chunk-WBA6SIBB.js} +1 -1
  56. package/{chunk-6565R2TI.js → chunk-XEWUC53Z.js} +38 -20
  57. package/{chunk-OOIN7HSO.js → chunk-XJITGCTM.js} +10 -1
  58. package/{chunk-V2J635L5.js → chunk-XOIF2TNF.js} +2 -2
  59. package/{chunk-VPTJB4HM.js → chunk-XPC5C7BK.js} +0 -3
  60. package/{chunk-I66RU7P7.js → chunk-XRSPI6CP.js} +1 -1
  61. package/{chunk-N5424GSW.js → chunk-YJKXGHJ6.js} +1 -1
  62. package/{chunk-QLFCNUVQ.js → chunk-ZH62XNZE.js} +877 -172
  63. package/chunk-ZHXJ6M7T.js +27 -0
  64. package/{chunk-OQMPU2ML.js → chunk-ZXQ52OY2.js} +4 -4
  65. package/{createAgentAutomationAction-TS6NNZ4X.js → createAgentAutomationAction-RKWIMKHW.js} +13 -13
  66. package/{createDialogAction-5HVQ33EX.js → createDialogAction-VN7MEBS3.js} +14 -14
  67. package/{createPageAction-4F3ZGQJD.js → createPageAction-JBUWBHHC.js} +13 -13
  68. package/{dbSlice-OP6UPXKA.js → dbSlice-7KQH6GOU.js} +2 -2
  69. package/{dialogCommands-ZL6L24BS.js → dialogCommands-DFY5HJ6M.js} +19 -18
  70. package/{dialogSlice-FAWUQDJW.js → dialogSlice-NNYBU35K.js} +13 -13
  71. package/{docCreateCommands-LYROQTFH.js → docCreateCommands-5L76YTI2.js} +18 -17
  72. package/{docDeleteCommands-6TWGTZNR.js → docDeleteCommands-3GASP3VR.js} +19 -18
  73. package/{docReadCommands-PRULNF26.js → docReadCommands-ALA77AZM.js} +18 -17
  74. package/{docStore-2UHVWLTV.js → docStore-DR22GGF3.js} +14 -14
  75. package/{docUpdateCommands-NNYYWJBI.js → docUpdateCommands-6AZGXE5M.js} +18 -17
  76. package/{getPricing-UGDJHI7M.js → getPricing-RYY6OBA4.js} +4 -4
  77. package/{handleSendMessageAction-LJPUYNOH.js → handleSendMessageAction-FHITDM7H.js} +201 -15
  78. package/index.js +47 -47
  79. package/{machineCommands-JQPEQFSE.js → machineCommands-3B4IHHVK.js} +33 -32
  80. package/{machineWsRunDispatch-FFFNWVEW.js → machineWsRunDispatch-AXZ6OL3V.js} +33 -32
  81. package/{models-LSCRJJ6P.js → models-5K5G2CZI.js} +2 -2
  82. package/package.json +1 -1
  83. package/{read-HXHAZBKH.js → read-CN3TNXIP.js} +1 -1
  84. package/{readDocTool-VPBDTO4G.js → readDocTool-WF3675ED.js} +1 -1
  85. package/{readlineWorkspace-QSXHSBHA.js → readlineWorkspace-DBZCXS7Y.js} +145 -92
  86. package/{removeDialogAgentAction-HUFVN35S.js → removeDialogAgentAction-YDHBFEGI.js} +5 -5
  87. package/{runAgentClientLoop-A75BUU6D.js → runAgentClientLoop-AB7PQ3TB.js} +26 -25
  88. package/{setDialogExtraReferencesAction-2VLGWQKG.js → setDialogExtraReferencesAction-LR6MSIXO.js} +2 -2
  89. package/{setPrimaryDialogAgentAction-VB4UV2CC.js → setPrimaryDialogAgentAction-IIVDCY5C.js} +5 -5
  90. package/{settingSlice-7JYPQNAC.js → settingSlice-O23YDK2O.js} +3 -3
  91. package/{spaceCommands-4LE45GB7.js → spaceCommands-AB2D7A2R.js} +18 -17
  92. package/{spaceSlice-444MFUP6.js → spaceSlice-TEJDCU6A.js} +13 -13
  93. package/{streamAgentChatTurn-DJAE7USZ.js → streamAgentChatTurn-NZ3HLAXS.js} +30 -32
  94. package/{tools-YB6LXSVN.js → tools-M4USUF3R.js} +20 -20
  95. package/{tuiSummaryLlmCaller-QQL3JA5I.js → tuiSummaryLlmCaller-VUNVBRX3.js} +7 -6
  96. package/{updateDialogTitleAction-6HGFBM64.js → updateDialogTitleAction-SMPQVKWT.js} +13 -13
  97. package/chunk-BYXBJQAS.js +0 -0
@@ -1,15 +1,12 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-OGGHETUE.js";
3
+ } from "./chunk-HQPG2PIV.js";
4
4
  import {
5
5
  asTrimmedLowercaseString
6
6
  } from "./chunk-QSJ3HFEF.js";
7
7
  import {
8
8
  asTrimmedString
9
9
  } from "./chunk-3EUW3WEO.js";
10
- import {
11
- isRecord
12
- } from "./chunk-KUG52IAP.js";
13
10
  import {
14
11
  normalizeServerOrigin
15
12
  } from "./chunk-CF7PE763.js";
@@ -31,10 +28,11 @@ function pickAgentRuntimeInferenceOptions(agentConfig) {
31
28
 
32
29
  // packages/agent-runtime/platformProviderEndpoints.ts
33
30
  var OPENAI_RESPONSES_ENDPOINT = "https://api.openai.com/v1/responses";
34
- var DEEPSEEK_RESPONSES_ENDPOINT = "https://api.deepseek.com/v1/responses";
35
31
  var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
36
32
  deepinfra: "https://api.deepinfra.com/v1/openai/chat/completions",
37
- deepseek: "https://api.deepseek.com/chat/completions",
33
+ // DeepSeek official API endpoint removed — all DeepSeek models now route
34
+ // through the nolo provider (Ollama Cloud). See providerRegistry.ts.
35
+ // deepseek: "https://api.deepseek.com/chat/completions",
38
36
  fireworks: "https://api.fireworks.ai/inference/v1/chat/completions",
39
37
  google: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
40
38
  openai: "https://api.openai.com/v1/chat/completions",
@@ -49,9 +47,6 @@ var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
49
47
  };
50
48
  function isOpenAiResponsesModel(args) {
51
49
  const provider = asTrimmedLowercaseString(args.provider);
52
- if (provider === "deepseek") {
53
- return asTrimmedLowercaseString(args.model) === "deepseek-v4-flash";
54
- }
55
50
  if (provider !== "openai") return false;
56
51
  if (args.endpointKey === "responses") return true;
57
52
  if (!args.model) return false;
@@ -62,17 +57,11 @@ function isOpenAiResponsesModel(args) {
62
57
  }
63
58
  }
64
59
  function resolvePlatformResponsesEndpoint(provider) {
65
- switch (asTrimmedLowercaseString(provider)) {
66
- case "openai":
67
- return OPENAI_RESPONSES_ENDPOINT;
68
- case "deepseek":
69
- return DEEPSEEK_RESPONSES_ENDPOINT;
70
- default:
71
- return void 0;
72
- }
60
+ return asTrimmedLowercaseString(provider) === "openai" ? OPENAI_RESPONSES_ENDPOINT : void 0;
73
61
  }
74
62
  var PLATFORM_PROVIDER_ENDPOINT_ALIASES = {
75
- "ollama-cloud": "nolo"
63
+ "ollama-cloud": "nolo",
64
+ deepseek: "nolo"
76
65
  };
77
66
  function resolvePlatformChatCompletionsEndpoint(provider) {
78
67
  const key = asTrimmedLowercaseString(provider);
@@ -344,235 +333,6 @@ async function buildProviderExecutionPlan(args) {
344
333
  };
345
334
  }
346
335
 
347
- // packages/agent-runtime/openAiCompatibleMessages.ts
348
- function preserveAgentStateFields(source, target, options) {
349
- const mutableTarget = target;
350
- if (source.role === "assistant") {
351
- if (!options?.stripReasoningContent && typeof source.reasoning_content === "string") {
352
- mutableTarget.reasoning_content = source.reasoning_content;
353
- }
354
- if (Array.isArray(source.tool_calls)) {
355
- mutableTarget.tool_calls = source.tool_calls;
356
- }
357
- }
358
- if (source.role === "tool") {
359
- const toolCallId = typeof source.tool_call_id === "string" ? source.tool_call_id.trim() : typeof source.toolCallId === "string" ? source.toolCallId.trim() : "";
360
- if (toolCallId) mutableTarget.tool_call_id = toolCallId;
361
- }
362
- return target;
363
- }
364
- function toOpenAiCompatibleMessages(messages, options) {
365
- return messages.map(
366
- (message) => preserveAgentStateFields(message, {
367
- role: message.role,
368
- content: message.content ?? ""
369
- }, options)
370
- );
371
- }
372
-
373
- // packages/integrations/openai/responsesHelpers.ts
374
- var RESPONSES_TOP_LEVEL_SCHEMA_KEYS = ["anyOf", "oneOf", "allOf", "enum", "not"];
375
- var sanitizeResponsesParameters = (parameters) => {
376
- if (!isRecord(parameters)) {
377
- return parameters;
378
- }
379
- const next = { ...parameters };
380
- for (const key of RESPONSES_TOP_LEVEL_SCHEMA_KEYS) {
381
- delete next[key];
382
- }
383
- return next;
384
- };
385
- var appendTextPart = (parts, text, role) => {
386
- if (!text) return;
387
- const last = parts.at(-1);
388
- const textType = role === "assistant" ? "output_text" : "input_text";
389
- if (last?.type === textType) {
390
- last.text += text;
391
- return;
392
- }
393
- parts.push({ type: textType, text });
394
- };
395
- var normalizeMessageParts = (content, role) => {
396
- if (typeof content === "string") {
397
- if (!content) return [];
398
- return [
399
- {
400
- type: role === "assistant" ? "output_text" : "input_text",
401
- text: content
402
- }
403
- ];
404
- }
405
- const parts = [];
406
- for (const part of content ?? []) {
407
- const typedPart = part;
408
- if (typedPart?.type === "text" && typeof typedPart.text === "string") {
409
- appendTextPart(parts, typedPart.text, role);
410
- continue;
411
- }
412
- if (typedPart?.type === "image_url" && typeof typedPart.image_url?.url === "string" && typedPart.image_url.url) {
413
- if (role === "assistant") continue;
414
- parts.push({
415
- type: "input_image",
416
- image_url: typedPart.image_url.url,
417
- detail: typedPart.image_url.detail
418
- });
419
- }
420
- }
421
- return parts;
422
- };
423
- var normalizeToolOutput = (content) => {
424
- if (typeof content === "string") return content;
425
- return JSON.stringify(content ?? "");
426
- };
427
- var toResponsesTools = (tools) => {
428
- if (!Array.isArray(tools) || tools.length === 0) return void 0;
429
- return tools.map((tool) => {
430
- const fn = tool?.function;
431
- if (!fn?.name) return null;
432
- return {
433
- type: "function",
434
- name: fn.name,
435
- description: fn.description,
436
- parameters: sanitizeResponsesParameters(fn.parameters),
437
- strict: fn.strict
438
- };
439
- }).filter(Boolean);
440
- };
441
- var convertMessagesToResponsesInput = (messages) => {
442
- const input = [];
443
- for (const message of messages) {
444
- if (!message?.role) continue;
445
- if (message.role === "tool") {
446
- if (!message.tool_call_id) continue;
447
- input.push({
448
- type: "function_call_output",
449
- call_id: message.tool_call_id,
450
- output: normalizeToolOutput(message.content)
451
- });
452
- continue;
453
- }
454
- const role = message.role;
455
- if (role === "assistant" && typeof message.reasoning_content === "string" && message.reasoning_content) {
456
- input.push({ type: "reasoning", content: message.reasoning_content });
457
- }
458
- const contentParts = normalizeMessageParts(message.content, role);
459
- if (contentParts.length > 0) {
460
- input.push({
461
- type: "message",
462
- role,
463
- content: contentParts
464
- });
465
- }
466
- if (role === "assistant" && Array.isArray(message.content)) {
467
- const replayImages = message.content.map((part) => part).filter(
468
- (part) => part?.type === "image_url" && typeof part.image_url?.url === "string" && Boolean(part.image_url.url)
469
- ).map((part) => ({
470
- type: "input_image",
471
- image_url: part.image_url.url,
472
- detail: part.image_url.detail
473
- }));
474
- if (replayImages.length > 0) {
475
- input.push({
476
- type: "message",
477
- role: "user",
478
- content: replayImages
479
- });
480
- }
481
- }
482
- if (role === "assistant" && Array.isArray(message.tool_calls)) {
483
- for (const toolCall of message.tool_calls) {
484
- if (!toolCall?.id || !toolCall.function?.name) continue;
485
- input.push({
486
- type: "function_call",
487
- call_id: toolCall.id,
488
- name: toolCall.function.name,
489
- arguments: typeof toolCall.function.arguments === "string" ? toolCall.function.arguments : JSON.stringify(toolCall.function.arguments ?? {})
490
- });
491
- }
492
- }
493
- }
494
- return input;
495
- };
496
- var extractTextFromResponseOutput = (response) => {
497
- const parts = [];
498
- for (const item of response?.output ?? []) {
499
- if (item?.type !== "message") continue;
500
- for (const content of item.content ?? []) {
501
- if (content?.type === "output_text" && typeof content.text === "string") {
502
- parts.push(content.text);
503
- }
504
- }
505
- }
506
- return parts.join("");
507
- };
508
- var toDataUrl = (base64Data, mimeType) => {
509
- const normalizedMimeType = asOptionalTrimmedString(mimeType) ?? "image/png";
510
- return `data:${normalizedMimeType};base64,${base64Data}`;
511
- };
512
- var extractImagePartsFromResponseOutput = (response) => {
513
- const images = [];
514
- for (const item of response?.output ?? []) {
515
- if (item?.type === "image_generation_call") {
516
- const result = asOptionalTrimmedString(item.result);
517
- if (result) {
518
- const outputFormat = asOptionalTrimmedString(item.output_format);
519
- images.push({
520
- type: "image_url",
521
- image_url: {
522
- url: toDataUrl(
523
- result,
524
- outputFormat ? `image/${outputFormat}` : void 0
525
- )
526
- }
527
- });
528
- }
529
- continue;
530
- }
531
- if (item?.type !== "message") continue;
532
- for (const content of item.content ?? []) {
533
- const result = asOptionalTrimmedString(content?.result);
534
- if (content?.type === "output_image" && result) {
535
- images.push({
536
- type: "image_url",
537
- image_url: {
538
- url: toDataUrl(
539
- result,
540
- content.mime_type ?? content.mimeType ?? null
541
- )
542
- }
543
- });
544
- }
545
- }
546
- }
547
- return images;
548
- };
549
- var extractToolCallsFromResponseOutput = (response) => {
550
- const calls = [];
551
- for (const item of response?.output ?? []) {
552
- if (item?.type !== "function_call") continue;
553
- if (!item.call_id || !item.name) continue;
554
- calls.push({
555
- id: item.call_id,
556
- type: "function",
557
- function: {
558
- name: item.name,
559
- arguments: typeof item.arguments === "string" ? item.arguments : JSON.stringify(item.arguments ?? {})
560
- }
561
- });
562
- }
563
- return calls;
564
- };
565
-
566
- // packages/core/chat/imageParts.ts
567
- function isImageUrlPart(part) {
568
- return isRecord(part) && part.type === "image_url";
569
- }
570
- function hasImageParts(messages) {
571
- return messages.some(
572
- (message) => Array.isArray(message.content) && message.content.some(isImageUrlPart)
573
- );
574
- }
575
-
576
336
  export {
577
337
  pickAgentRuntimeInferenceOptions,
578
338
  isOpenAiResponsesModel,
@@ -586,14 +346,5 @@ export {
586
346
  resolveAgentRuntimeLocation,
587
347
  resolveProviderTransportDecision,
588
348
  buildProviderAuthHeaders,
589
- buildProviderExecutionPlan,
590
- isImageUrlPart,
591
- hasImageParts,
592
- preserveAgentStateFields,
593
- toOpenAiCompatibleMessages,
594
- toResponsesTools,
595
- convertMessagesToResponsesInput,
596
- extractTextFromResponseOutput,
597
- extractImagePartsFromResponseOutput,
598
- extractToolCallsFromResponseOutput
349
+ buildProviderExecutionPlan
599
350
  };
@@ -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",
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  MODEL_LOOKUP_MAP
3
- } from "./chunk-OGGHETUE.js";
3
+ } from "./chunk-HQPG2PIV.js";
4
4
  import {
5
5
  ALL_MODELS
6
- } from "./chunk-IKXL2HZ3.js";
6
+ } from "./chunk-RK5NYQEL.js";
7
7
  import {
8
8
  addContentAction
9
- } from "./chunk-XVP3C2KY.js";
9
+ } from "./chunk-IWLUTMYX.js";
10
10
  import {
11
11
  upload
12
- } from "./chunk-SFXYKGK2.js";
12
+ } from "./chunk-3S2VOMIF.js";
13
13
  import {
14
14
  getRuntimeServerContext
15
15
  } from "./chunk-DVRHHFEA.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-YC3DJILJ.js";
4
+ } from "./chunk-VHXXRWNL.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-EHLHSX7R.js";
4
+ } from "./chunk-UB4RYYNQ.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -2,24 +2,24 @@ import {
2
2
  buildCurrentTimeBlock,
3
3
  buildIdentityBlock,
4
4
  buildRuntimeGuidanceBlocks
5
- } from "./chunk-RKM3K52F.js";
5
+ } from "./chunk-GPELDE6I.js";
6
6
  import {
7
7
  canonicalizeToolNames
8
- } from "./chunk-B4KT7RN2.js";
8
+ } from "./chunk-JTMNCCWF.js";
9
9
  import {
10
10
  estimateTokenCount,
11
11
  getModelContextWindow,
12
12
  planCompression,
13
13
  planContextUsage,
14
14
  serializeMessageContent
15
- } from "./chunk-4QQFLN5C.js";
15
+ } from "./chunk-OVBVEXZ7.js";
16
16
  import {
17
17
  clipCompactText
18
18
  } from "./chunk-5MMAK75Q.js";
19
19
  import {
20
20
  findModelConfig,
21
21
  getProviderByModelName
22
- } from "./chunk-OGGHETUE.js";
22
+ } from "./chunk-HQPG2PIV.js";
23
23
  import {
24
24
  buildDialogSummaryLayer
25
25
  } from "./chunk-QLUFR47U.js";
@@ -1034,7 +1034,11 @@ function buildMessages(args) {
1034
1034
  ${dynamicContent}` : stableContent;
1035
1035
  return {
1036
1036
  messages: [
1037
- ...systemContent2 ? [{ role: "system", content: systemContent2 }] : [],
1037
+ ...systemContent2 ? [{
1038
+ role: "system",
1039
+ content: systemContent2,
1040
+ ...stableContent ? { stable_prefix_chars: stableContent.length } : {}
1041
+ }] : [],
1038
1042
  ...prepareHistoryForNextTurn(args.history, args.contextReferenceResolver),
1039
1043
  { role: "user", content: args.input }
1040
1044
  ],
@@ -10,7 +10,7 @@ import {
10
10
  platformHostedModels,
11
11
  xaiModels,
12
12
  zaiModels
13
- } from "./chunk-524BDL33.js";
13
+ } from "./chunk-O6W2O2DA.js";
14
14
 
15
15
  // packages/ai/llm/modelAbility.ts
16
16
  var MODEL_ABILITY_TABLE = {
@@ -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,3 +1,6 @@
1
+ import {
2
+ getAntigravityUserAgent
3
+ } from "./chunk-L6NVTGI7.js";
1
4
  import {
2
5
  writeOAuthCredential
3
6
  } from "./chunk-JZPBVBIY.js";
@@ -167,7 +170,7 @@ var SCOPES = [
167
170
  var AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
168
171
  var TOKEN_URL = "https://oauth2.googleapis.com/token";
169
172
  var USERINFO_URL = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json";
170
- var CLOUD_CODE_ENDPOINT = "https://cloudcode-pa.googleapis.com";
173
+ var CLOUD_CODE_ENDPOINT = "https://daily-cloudcode-pa.googleapis.com";
171
174
  var TIER_LEGACY = "legacy-tier";
172
175
  var PROJECT_ONBOARD_MAX_ATTEMPTS = 5;
173
176
  var PROJECT_ONBOARD_INTERVAL_MS = 2e3;
@@ -241,7 +244,11 @@ async function onboardProjectWithRetries(fetchImpl, endpoint, headers, onboardBo
241
244
  async function discoverProject(fetchImpl, accessToken, onProgress) {
242
245
  const headers = {
243
246
  Authorization: `Bearer ${accessToken}`,
244
- "Content-Type": "application/json"
247
+ "Content-Type": "application/json",
248
+ // Google's Cloud Code Assist API validates the Antigravity client
249
+ // User-Agent; requests without it are rejected even with a valid token.
250
+ // (Matches oh-my-pi's google-antigravity.ts discoverProject.)
251
+ "User-Agent": getAntigravityUserAgent()
245
252
  };
246
253
  onProgress?.("Checking for existing project...");
247
254
  const endpoint = CLOUD_CODE_ENDPOINT;
@@ -4,10 +4,10 @@ import {
4
4
  providerHttpFailure,
5
5
  readSseFrames,
6
6
  throwIfChatCompletionStreamFailed
7
- } from "./chunk-WA6KZL5V.js";
7
+ } from "./chunk-AAODAAUQ.js";
8
8
  import {
9
9
  parseToolArgumentsJson
10
- } from "./chunk-6MHDWKOT.js";
10
+ } from "./chunk-RIF3XLXK.js";
11
11
  import {
12
12
  createThinkParserState,
13
13
  createToolCallAccumulator,
@@ -18,17 +18,20 @@ import {
18
18
  import {
19
19
  requiresBareImageUrl,
20
20
  toBareImageUrlMessages
21
- } from "./chunk-RKM3K52F.js";
21
+ } from "./chunk-GPELDE6I.js";
22
22
  import {
23
- buildProviderAuthHeaders,
24
- buildProviderExecutionPlan,
23
+ shouldStripReasoningContentForOutbound,
25
24
  toOpenAiCompatibleMessages
26
- } from "./chunk-HRQCKQA5.js";
25
+ } from "./chunk-KFEVY3ST.js";
26
+ import {
27
+ buildProviderAuthHeaders,
28
+ buildProviderExecutionPlan
29
+ } from "./chunk-MUCU6ATG.js";
27
30
  import {
28
31
  canonicalizeToolName,
29
32
  createGlob,
30
33
  resolveExecutableOnPath
31
- } from "./chunk-B4KT7RN2.js";
34
+ } from "./chunk-JTMNCCWF.js";
32
35
  import {
33
36
  toErrorMessage
34
37
  } from "./chunk-HNMXYYJR.js";
@@ -85,10 +88,20 @@ function parseSseDataLineJson(line) {
85
88
  return null;
86
89
  }
87
90
  }
91
+ function parseSseDataLineObject(line) {
92
+ const parsed = parseSseDataLineJson(line);
93
+ return parsed && typeof parsed === "object" ? parsed : null;
94
+ }
88
95
 
89
96
  // packages/agent-runtime/openAiCompatibleProvider.ts
90
97
  function buildOpenAiCompatibleChatCompletionRequest(args) {
91
- const messages = toOpenAiCompatibleMessages(args.messages);
98
+ const shouldStripReasoning = shouldStripReasoningContentForOutbound(
99
+ args.providerConfig.provider,
100
+ args.providerConfig.model
101
+ );
102
+ const messages = toOpenAiCompatibleMessages(args.messages, {
103
+ stripReasoningContent: shouldStripReasoning
104
+ });
92
105
  const body = {
93
106
  model: args.providerConfig.model,
94
107
  messages: requiresBareImageUrl({
@@ -3617,6 +3630,7 @@ function createLocalWorkspaceToolExecutors(args) {
3617
3630
 
3618
3631
  export {
3619
3632
  parseSseDataLineJson,
3633
+ parseSseDataLineObject,
3620
3634
  buildOpenAiCompatibleChatCompletionRequest,
3621
3635
  parseOpenAiCompatibleChatCompletionResponse,
3622
3636
  readOpenAiCompatibleSseCompletion,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-6565R2TI.js";
4
+ } from "./chunk-XEWUC53Z.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {