nolo-cli 0.8.0-alpha.23 → 0.8.0-alpha.24

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 (66) hide show
  1. package/{_executeModel-YXTTYRXS.js → _executeModel-2ZAPHFOX.js} +19 -17
  2. package/{agentDeleteCommand-4NO7Y6UI.js → agentDeleteCommand-5TFSII4Z.js} +11 -11
  3. package/{agentEmailCommands-NPP5TGZV.js → agentEmailCommands-XMXWGUMZ.js} +22 -20
  4. package/{agentListCommands-IP5BNB5W.js → agentListCommands-OWEFQEY4.js} +99 -15
  5. package/{agentMachineCommands-24NFTIKY.js → agentMachineCommands-DGHYBBFC.js} +11 -11
  6. package/{agentRecordCommands-7AWSR46F.js → agentRecordCommands-I433EE5F.js} +22 -20
  7. package/{agentRunCommand-P46WCJ6P.js → agentRunCommand-UQSX3IGW.js} +22 -20
  8. package/{agentRuntimeLocal-V5UV7S4R.js → agentRuntimeLocal-73SVOC5U.js} +8 -8
  9. package/{agentSlice-3CVAZZOP.js → agentSlice-JQCS4LR3.js} +1 -1
  10. package/{chunk-AWY2AFHN.js → chunk-3HPUUWOR.js} +50 -4
  11. package/{chunk-6UUD2WES.js → chunk-3KGTFX3T.js} +2 -13
  12. package/{chunk-RBCNBU2A.js → chunk-524BDL33.js} +1 -0
  13. package/chunk-6QFNUK2G.js +144 -0
  14. package/{chunk-RBB43B5W.js → chunk-AISLHYDB.js} +3 -3
  15. package/{chunk-BB2PII22.js → chunk-BKGNXJAM.js} +1 -1
  16. package/{chunk-P7GAHW32.js → chunk-BQECZ3Q4.js} +9 -9
  17. package/{chunk-A4MYG3TR.js → chunk-BT57QC5K.js} +2 -2
  18. package/{chunk-LBUTKV7S.js → chunk-C4DZRHFJ.js} +7 -7
  19. package/{chunk-Q2WC4KGQ.js → chunk-DS3VC4EA.js} +2 -2
  20. package/{chunk-ZJS64PZJ.js → chunk-FVVST32H.js} +1 -1
  21. package/{chunk-6OHYC4BY.js → chunk-FZ2G3I4B.js} +2 -1
  22. package/{chunk-6KRA6AWI.js → chunk-G7KM6BBZ.js} +1 -1
  23. package/{chunk-ZAUDEKML.js → chunk-GROGNZOA.js} +21 -12
  24. package/{chunk-RBCENBG7.js → chunk-IOQIOZNI.js} +8 -2
  25. package/{chunk-PTT6KSYQ.js → chunk-IPA2WQGY.js} +83 -30
  26. package/{chunk-DSNLHTP3.js → chunk-IYMGQ3TN.js} +9 -2
  27. package/{chunk-WESWWEVA.js → chunk-L76QNLGU.js} +1 -1
  28. package/{chunk-LJCH34R2.js → chunk-LE6JAIXE.js} +2 -2
  29. package/{chunk-5NYGMN4O.js → chunk-LRKEOCWY.js} +3 -3
  30. package/{chunk-KLOCUWKZ.js → chunk-OCDEWRE2.js} +1 -1
  31. package/{chunk-RYMUT5JO.js → chunk-P2SPC3FT.js} +12 -8
  32. package/{chunk-4VA3UQRF.js → chunk-Q7S2ORXX.js} +3 -3
  33. package/{chunk-D55DXHXL.js → chunk-QWM7YWVT.js} +1 -1
  34. package/{chunk-AOKWJZ5N.js → chunk-S3UTETIC.js} +3 -2
  35. package/{chunk-EUN3SYY7.js → chunk-SBVUZC2E.js} +1 -1
  36. package/{chunk-O7VS7JLJ.js → chunk-VUEXKW6U.js} +1 -1
  37. package/{chunk-MIQOUMSN.js → chunk-WKQGZJVI.js} +1 -1
  38. package/{chunk-LFFATN2M.js → chunk-WM7P5OWZ.js} +18 -12
  39. package/{chunk-LW6FJFCT.js → chunk-WTBWWBSF.js} +122 -28
  40. package/{chunk-HAC6GPRE.js → chunk-WVS3GX3B.js} +2 -2
  41. package/chunk-Z3NEXVYE.js +33 -0
  42. package/{createAgentAutomationAction-DYQOGAVE.js → createAgentAutomationAction-GXZNLJZK.js} +6 -5
  43. package/{createDialogAction-ETB3KQQE.js → createDialogAction-KLW42ZGF.js} +7 -6
  44. package/{createPageAction-UF2RHA63.js → createPageAction-IBJHE6MH.js} +6 -5
  45. package/{dialogCommands-LYYC7XHF.js → dialogCommands-7O5PUZRU.js} +12 -12
  46. package/{dialogSlice-IFBZ4IT2.js → dialogSlice-GGV7PF53.js} +6 -5
  47. package/{docCreateCommands-I66OI374.js → docCreateCommands-7ZO2NQQF.js} +11 -11
  48. package/{docDeleteCommands-OVRBCHMF.js → docDeleteCommands-YKIXZYBR.js} +12 -12
  49. package/{docReadCommands-YLWUMEH7.js → docReadCommands-5UDONBUL.js} +11 -11
  50. package/{docStore-65WO7U36.js → docStore-VDWTATFH.js} +7 -6
  51. package/{docUpdateCommands-NSICS4IN.js → docUpdateCommands-EPZIIQMY.js} +11 -11
  52. package/{getPricing-7PUT44ZS.js → getPricing-6TOZXPAU.js} +3 -3
  53. package/{handleSendMessageAction-T76HEDOP.js → handleSendMessageAction-MMATC5V5.js} +6 -5
  54. package/index.js +36 -36
  55. package/{machineCommands-4HQY6UVZ.js → machineCommands-PTHPKSIZ.js} +21 -19
  56. package/{machineWsRunDispatch-7YW2M4FS.js → machineWsRunDispatch-M5L2NVWJ.js} +21 -19
  57. package/{models-MFXNI3TF.js → models-H524GH3U.js} +3 -2
  58. package/package.json +1 -1
  59. package/{readlineWorkspace-FLQWOAUR.js → readlineWorkspace-4NXMEOHP.js} +106 -48
  60. package/{runAgentClientLoop-IUV2TR3X.js → runAgentClientLoop-FGUYNGSA.js} +16 -14
  61. package/{spaceCommands-BDDAT4VU.js → spaceCommands-S3EB6TOS.js} +11 -11
  62. package/{spaceSlice-HH633ZA4.js → spaceSlice-RG2GSV7K.js} +6 -5
  63. package/{streamAgentChatTurn-UBZOVFKV.js → streamAgentChatTurn-X576C23M.js} +131 -31
  64. package/{tools-OQZ34KCU.js → tools-HURZ2N4O.js} +11 -9
  65. package/{tuiSummaryLlmCaller-42AEL3LL.js → tuiSummaryLlmCaller-DG2LBTBX.js} +4 -4
  66. package/{updateDialogTitleAction-A3OOMSDO.js → updateDialogTitleAction-62LVIAUZ.js} +6 -5
@@ -14,7 +14,7 @@ import {
14
14
  createCliCallAgentToolExecutor,
15
15
  createCliLocalRuntimeAdapter,
16
16
  isBuiltinNoloAgentRef
17
- } from "./chunk-P7GAHW32.js";
17
+ } from "./chunk-BQECZ3Q4.js";
18
18
  import {
19
19
  CliProviderQuotaError
20
20
  } from "./chunk-CMKUBIGW.js";
@@ -24,10 +24,10 @@ import {
24
24
  import {
25
25
  readDbRecord,
26
26
  resolveAgentRecordFromHybridStore
27
- } from "./chunk-EUN3SYY7.js";
27
+ } from "./chunk-SBVUZC2E.js";
28
28
  import {
29
29
  normalizeAgentHandle
30
- } from "./chunk-ZJS64PZJ.js";
30
+ } from "./chunk-FVVST32H.js";
31
31
  import {
32
32
  NOLO_PROJECT_MANAGER_AGENT_KEY,
33
33
  isLocalCliAgentKey
@@ -42,16 +42,17 @@ import {
42
42
  import {
43
43
  buildMemorySubjectsForAgent,
44
44
  resolveAgentMemoryPolicy
45
- } from "./chunk-A4MYG3TR.js";
45
+ } from "./chunk-BT57QC5K.js";
46
46
  import {
47
47
  parseExternalSkillMarkdown,
48
48
  parseSkillDocProtocol
49
49
  } from "./chunk-VC6OZXO5.js";
50
50
  import {
51
+ API_REPORTED_COST_MULTIPLIER,
51
52
  DEFAULT_CONTEXT_WINDOW,
52
53
  getModelContextWindow,
53
54
  parseUiAskChoiceContent
54
- } from "./chunk-ZAUDEKML.js";
55
+ } from "./chunk-GROGNZOA.js";
55
56
  import {
56
57
  parsePositiveFiniteNumberOrFallback
57
58
  } from "./chunk-Y5GCAMGP.js";
@@ -76,7 +77,7 @@ import {
76
77
  import {
77
78
  buildPlatformChatCompletionRequest,
78
79
  parsePlatformChatCompletionData
79
- } from "./chunk-6UUD2WES.js";
80
+ } from "./chunk-3KGTFX3T.js";
80
81
  import {
81
82
  resolveAgentRuntimeConfigFromRecord
82
83
  } from "./chunk-YOCHZD7D.js";
@@ -85,16 +86,16 @@ import {
85
86
  LOCAL_TURN_ABORTED_CODE,
86
87
  readActionGate,
87
88
  readCommandActionGatePayload
88
- } from "./chunk-RBB43B5W.js";
89
+ } from "./chunk-AISLHYDB.js";
89
90
  import {
90
91
  resolvePlatformChatCompletionsEndpoint
91
- } from "./chunk-AWY2AFHN.js";
92
+ } from "./chunk-3HPUUWOR.js";
92
93
  import {
93
94
  clipCompactText
94
95
  } from "./chunk-5MMAK75Q.js";
95
96
  import {
96
97
  findModelConfig
97
- } from "./chunk-AOKWJZ5N.js";
98
+ } from "./chunk-S3UTETIC.js";
98
99
  import {
99
100
  asTrimmedLowercaseString
100
101
  } from "./chunk-QSJ3HFEF.js";
@@ -396,10 +397,13 @@ function buildTurnTokenUsage(usage, model) {
396
397
  if (!parsed) return void 0;
397
398
  const contextWindow = resolveContextWindow(model);
398
399
  const remaining = contextWindow && parsed.input > 0 ? Math.max(0, contextWindow - parsed.input) : void 0;
400
+ const rawCost = typeof usage?.cost === "number" ? usage.cost : void 0;
401
+ const credits = rawCost !== void 0 && rawCost > 0 ? rawCost * API_REPORTED_COST_MULTIPLIER : void 0;
399
402
  return {
400
403
  ...parsed,
401
404
  ...contextWindow ? { contextWindow } : {},
402
- ...remaining != null ? { remaining } : {}
405
+ ...remaining != null ? { remaining } : {},
406
+ ...credits !== void 0 ? { credits } : {}
403
407
  };
404
408
  }
405
409
  function formatTokenCount(value) {
@@ -3970,7 +3974,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3970
3974
  // packages/cli/client/agentRun.ts
3971
3975
  import { ulid } from "ulid";
3972
3976
  async function loadRunLocalAgentTurn() {
3973
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-V5UV7S4R.js");
3977
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-73SVOC5U.js");
3974
3978
  return runLocalAgentTurn;
3975
3979
  }
3976
3980
  async function resolveCurrentMachineId(options) {
@@ -4407,7 +4411,7 @@ async function runLocalAgentTurnForCli(options, settings) {
4407
4411
  } : void 0;
4408
4412
  const currentDialogId = options.continueDialogId ?? ulid();
4409
4413
  const runChildTurn = async (input) => {
4410
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-V5UV7S4R.js");
4414
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-73SVOC5U.js");
4411
4415
  return runLocalAgentTurn(input);
4412
4416
  };
4413
4417
  const createFreshChildBaseAdapter = () => {
@@ -5715,8 +5719,10 @@ function isBalanceExhaustedError(error) {
5715
5719
  }
5716
5720
 
5717
5721
  export {
5722
+ CLI_AUTO_TIER_AGENT_KEYS,
5718
5723
  CLI_IMAGE_AGENT_KEY,
5719
5724
  CLI_AUTO_TIER_AGENT_KEY_TABLE,
5725
+ resolveCliAutoFallbackTier,
5720
5726
  classifyCliAutoRoute,
5721
5727
  resolveAgentContextWindow,
5722
5728
  formatTokenCount,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
3
3
  isAntigravityOAuthAgent
4
- } from "./chunk-D55DXHXL.js";
4
+ } from "./chunk-QWM7YWVT.js";
5
5
  import {
6
6
  clipMultilineText,
7
7
  fetchAndSerializeTable
8
- } from "./chunk-PTT6KSYQ.js";
8
+ } from "./chunk-IPA2WQGY.js";
9
9
  import {
10
10
  normalizeNonNegativeMs,
11
11
  parseRetryAfterHeaderMs
@@ -23,10 +23,10 @@ import {
23
23
  estimateTokenCount,
24
24
  fetchAndCacheMessages,
25
25
  shouldUseServerProxy
26
- } from "./chunk-ZAUDEKML.js";
26
+ } from "./chunk-GROGNZOA.js";
27
27
  import {
28
28
  fetchServerSyncedCredential
29
- } from "./chunk-4VA3UQRF.js";
29
+ } from "./chunk-Q7S2ORXX.js";
30
30
  import {
31
31
  createSpaceKey
32
32
  } from "./chunk-UAD2WT54.js";
@@ -41,22 +41,23 @@ import {
41
41
  buildCurrentTimeBlock,
42
42
  buildIdentityBlock,
43
43
  buildRuntimeGuidanceBlocks
44
- } from "./chunk-6KRA6AWI.js";
44
+ } from "./chunk-G7KM6BBZ.js";
45
45
  import {
46
- OPENAI_RESPONSES_ENDPOINT,
47
46
  buildProviderAuthHeaders,
48
47
  convertMessagesToResponsesInput,
49
48
  isOpenAiResponsesModel,
50
- resolvePlatformChatCompletionsEndpoint
51
- } from "./chunk-AWY2AFHN.js";
49
+ preserveAgentStateFields,
50
+ resolvePlatformChatCompletionsEndpoint,
51
+ resolvePlatformResponsesEndpoint
52
+ } from "./chunk-3HPUUWOR.js";
52
53
  import {
53
54
  canonicalizeToolNames
54
- } from "./chunk-6OHYC4BY.js";
55
+ } from "./chunk-FZ2G3I4B.js";
55
56
  import {
56
57
  clampReasoningEffort,
57
58
  getModelConfig,
58
59
  isModelSupportReasoningEffort
59
- } from "./chunk-AOKWJZ5N.js";
60
+ } from "./chunk-S3UTETIC.js";
60
61
  import {
61
62
  createFileCredentialBroker
62
63
  } from "./chunk-5CS33IBL.js";
@@ -64,7 +65,7 @@ import {
64
65
  isDeepInfraKimiModel,
65
66
  isFireworksKimiModel,
66
67
  resolveFireworksKimiModel
67
- } from "./chunk-RBCNBU2A.js";
68
+ } from "./chunk-524BDL33.js";
68
69
  import {
69
70
  asNonEmptyStringArray
70
71
  } from "./chunk-I42VC5KR.js";
@@ -407,6 +408,45 @@ var resolveToolsFromKeys = async (keys, dispatch, preloaded) => {
407
408
  };
408
409
  };
409
410
 
411
+ // packages/agent-runtime/responsesConversationState.ts
412
+ function supportsResponsesConversationState(agent) {
413
+ return normalizeIdentityPart(agent.provider) === "openai";
414
+ }
415
+ var normalizeIdentityPart = (value) => typeof value === "string" ? value.trim().toLowerCase() : "";
416
+ function normalizeResponsesConversationState(value) {
417
+ if (!value || typeof value !== "object") return null;
418
+ const raw = value;
419
+ const provider = normalizeIdentityPart(raw.provider);
420
+ const model = normalizeIdentityPart(raw.model);
421
+ const responseId = typeof raw.responseId === "string" ? raw.responseId.trim() : "";
422
+ if (!provider || !model || !responseId) return null;
423
+ return { provider, model, responseId };
424
+ }
425
+ function selectResponsesConversationState(value, agent) {
426
+ if (!supportsResponsesConversationState(agent)) return null;
427
+ const state = normalizeResponsesConversationState(value);
428
+ if (!state) return null;
429
+ if (state.provider !== normalizeIdentityPart(agent.provider)) return null;
430
+ if (state.model !== normalizeIdentityPart(agent.model)) return null;
431
+ return state;
432
+ }
433
+ function updateResponsesConversationState(agent, responseId) {
434
+ if (!supportsResponsesConversationState(agent)) return null;
435
+ const provider = normalizeIdentityPart(agent.provider);
436
+ const model = normalizeIdentityPart(agent.model);
437
+ const normalizedResponseId = typeof responseId === "string" ? responseId.trim() : "";
438
+ if (!provider || !model || !normalizedResponseId) return null;
439
+ return { provider, model, responseId: normalizedResponseId };
440
+ }
441
+ function isResponsesConversationStateRejection(status, responseBody) {
442
+ if (![400, 404, 409].includes(status)) return false;
443
+ const text = typeof responseBody === "string" ? responseBody.trim().toLowerCase() : "";
444
+ if (!text) return false;
445
+ const mentionsResponseState = /previous[\s_-]*response/.test(text) || /response[\s_-]*(?:id|state)/.test(text);
446
+ const rejectsState = /not[\s_-]*found/.test(text) || /does not exist/.test(text) || /invalid/.test(text) || /expired/.test(text) || /unknown/.test(text);
447
+ return mentionsResponseState && rejectsState;
448
+ }
449
+
410
450
  // packages/agent-runtime/agentCallPlan.ts
411
451
  var CODEX_RESPONSES_URL = "https://chatgpt.com/backend-api/codex/responses";
412
452
  var CURSOR_AGENT_URL = "https://api2.cursor.sh/agent.v1.AgentService/Run";
@@ -522,7 +562,7 @@ function resolveAgentCallPlan(agentConfig, _env) {
522
562
  endpointKey: agentConfig.endpointKey
523
563
  });
524
564
  const upstreamWire = useResponses ? "responses" : "chat.completions";
525
- const endpoint = useResponses ? OPENAI_RESPONSES_ENDPOINT : resolvePlatformChatCompletionsEndpoint(provider) ?? "";
565
+ const endpoint = useResponses ? resolvePlatformResponsesEndpoint(provider) ?? "" : resolvePlatformChatCompletionsEndpoint(provider) ?? "";
526
566
  return {
527
567
  authMethod: { kind: "platform-key" },
528
568
  transport,
@@ -710,9 +750,12 @@ var CONTEXT_USAGE_INSTRUCTIONS = `\u53C2\u8003\u8D44\u6599\u4F7F\u7528\u8BF4\u66
710
750
  - \u5F53\u901A\u7528\u6307\u4EE4\u4E0E\u66F4\u5177\u4F53\u7684"\u6309 Agent / \u6309\u6587\u6863"\u7684\u89C4\u5219\u53D1\u751F\u51B2\u7A81\u65F6\uFF0C\u5FC5\u987B\u4F18\u5148\u9075\u5B88\u66F4\u5177\u4F53\u3001\u4F18\u5148\u7EA7\u66F4\u9AD8\u7684\u89C4\u5219\u3002`;
711
751
  var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
712
752
  \u4F60\u53EF\u7528 startAgentRun \u540E\u53F0\u542F\u52A8\u5B50 Agent\uFF08fork+exec\uFF0C\u8FD4\u56DE runId\uFF09\uFF0C\u7528 controlAgentRun \u89C2\u5BDF/\u505C\u6B62\uFF08wait+signal+proc\uFF09\u3002\u6838\u5FC3\u7EAA\u5F8B\uFF08\u53CD\u9762\u6559\u6750\uFF1A\u5B50\u4EE3\u7406\u5D29\u6E83/\u6302\u8D77\u800C\u7F16\u6392\u5668\u6BEB\u65E0\u5BDF\u89C9\uFF09\uFF1A
713
- 1. \u6D3E\u53D1\u540E\u5FC5\u987B\u8F6E\u8BE2\u3002startAgentRun \u62FF\u5230 runId \u540E\uFF0C\u7528 controlAgentRun(action:"status", runId, tailLines:30) \u8F6E\u8BE2\uFF08\u5EFA\u8BAE 5\u201310s \u4E00\u6B21\uFF09\uFF0C\u4E0D\u8981\u53EA\u9760\u804A\u5929\u590D\u8FF0\u7ED3\u679C\u3002\u4E0D\u8F6E\u8BE2 = \u6CA1\u7F16\u6392\u3002
714
- 2. \u8BFB\u65E5\u5FD7\u786E\u8BA4\u8FDB\u5C55\u3002tailLines>0 \u8BFB\u5B9E\u9645\u8F93\u51FA/\u5DE5\u5177\u8C03\u7528\uFF0C\u4E0D\u53EA\u770B status=running\u2014\u2014\u540E\u53F0\u76D1\u89C6\u5668\u53EF\u80FD\u7A7A\u8F6C\u3002
715
- 3. stop \u524D\u5148\u770B\u65E5\u5FD7\u3002\u7528 status \u5224\u65AD\u662F\u771F\u5361\u6B7B\u8FD8\u662F\u6B63\u5E38\u8DD1\uFF0C\u786E\u8BA4\u9700\u8981\u53EB\u505C\u518D controlAgentRun(action:"stop", runId)\uFF1B\u7528 list/status \u786E\u8BA4 run \u771F\u5B9E\u5B58\u5728\u4E14\u975E\u7EC8\u6001\uFF0C\u522B\u5047\u8BBE"\u6D3E\u53D1\u4E86\u5C31\u5728\u8DD1"\u3002
753
+ 1. \u5148\u53D1\u73B0\u518D\u6D3E\u53D1\u3002\u8C03\u7528 listAgents \u8BFB\u53D6\u5B89\u5168\u6458\u8981\uFF1B\u5728\u80DC\u4EFB\u5019\u9009\u4E2D\u4F18\u5148 isFavorite\uFF0C\u518D\u7ED3\u5408 introduction\u3001modelAbility.passAt1/benchmarkScore\u3001inputPrice/outputPrice \u548C\u7279\u5B9A\u5DE5\u5177\u80FD\u529B\u9009\u62E9\u3002\u4E0D\u8981\u67E5\u6307\u6D3E\u8868\uFF0C\u4E0D\u8981\u6C42 recommendedFor\uFF0C\u4E5F\u4E0D\u8981\u6839\u636E\u6A21\u578B\u540D\u79F0\u81C6\u9020\u80FD\u529B\u7B49\u7EA7\u3002
754
+ 2. coding \u662F\u9ED8\u8BA4\u80FD\u529B\u3002tools \u53EA\u7528\u4E8E\u6D4F\u89C8\u5668\u3001\u56FE\u7247\u3001\u8868\u683C\u3001\u90AE\u4EF6\u3001\u6570\u636E\u5E93\u7B49\u7279\u5B9A\u5DE5\u5177\u4EFB\u52A1\uFF1B\u4E0D\u8981\u56E0\u4E3A coding agent \u7684 tools \u6458\u8981\u4E3A\u7A7A\u5C31\u6DD8\u6C70\u5B83\u3002
755
+ 3. listAgents \u8FD4\u56DE\u7684 id\u3001publicKey\u3001handle \u53EA\u662F\u5019\u9009\u6807\u8BC6\u3002\u9009\u4E2D\u540E\u4F18\u5148\u8C03\u7528 readAgent \u89E3\u6790\u53EF\u8FD0\u884C\u7684 agentKey\uFF0C\u518D\u628A\u8BE5 agentKey \u4F20\u7ED9 startAgentRun\uFF1B\u4E0D\u8981\u51ED\u5C55\u793A\u540D\u79F0\u6216 id \u731C key\uFF0C\u4E5F\u4E0D\u8981\u7D22\u53D6 prompt\u3001\u5BC6\u94A5\u6216\u6570\u636E\u5E93 key \u6765\u9009\u4EBA\u3002\u6CA1\u6709 readAgent \u65F6\u53EA\u80FD\u4F7F\u7528\u5DF2\u6709\u4E0A\u4E0B\u6587\u4E2D\u660E\u786E\u7684 agentKey\u3002
756
+ 4. \u6D3E\u53D1\u540E\u5FC5\u987B\u8F6E\u8BE2\u3002startAgentRun \u62FF\u5230 runId \u540E\uFF0C\u7528 controlAgentRun(action:"status", runId, tailLines:30) \u8F6E\u8BE2\uFF08\u5EFA\u8BAE 5\u201310s \u4E00\u6B21\uFF09\uFF0C\u4E0D\u8981\u53EA\u9760\u804A\u5929\u590D\u8FF0\u7ED3\u679C\u3002\u4E0D\u8F6E\u8BE2 = \u6CA1\u7F16\u6392\u3002
757
+ 5. \u8BFB\u65E5\u5FD7\u786E\u8BA4\u8FDB\u5C55\u3002tailLines>0 \u8BFB\u5B9E\u9645\u8F93\u51FA/\u5DE5\u5177\u8C03\u7528\uFF0C\u4E0D\u53EA\u770B status=running\u2014\u2014\u540E\u53F0\u76D1\u89C6\u5668\u53EF\u80FD\u7A7A\u8F6C\u3002
758
+ 6. stop \u524D\u5148\u770B\u65E5\u5FD7\u3002\u7528 status \u5224\u65AD\u662F\u771F\u5361\u6B7B\u8FD8\u662F\u6B63\u5E38\u8DD1\uFF0C\u786E\u8BA4\u9700\u8981\u53EB\u505C\u518D controlAgentRun(action:"stop", runId)\uFF1B\u7528 list/status \u786E\u8BA4 run \u771F\u5B9E\u5B58\u5728\u4E14\u975E\u7EC8\u6001\uFF0C\u522B\u5047\u8BBE"\u6D3E\u53D1\u4E86\u5C31\u5728\u8DD1"\u3002
716
759
  \u5DE5\u5177\u9009\u62E9\uFF1A\u5B50\u4EFB\u52A1 <100s \u4E14\u8981\u7ACB\u5373\u62FF\u7ED3\u679C \u2192 callAgent\uFF08\u540C\u6B65\uFF09\uFF1B\u957F\u4EFB\u52A1 / \u5E76\u884C / \u9700\u8981\u89C2\u5BDF\u6216\u53EB\u505C \u2192 startAgentRun\uFF08\u672C\u6BB5\uFF09\u3002`;
717
760
  var MENU_USAGE_INSTRUCTIONS = `--- \u4EA4\u4E92\u8BF4\u660E ---
718
761
  \u6240\u6709\u7528\u6237\u8F93\u5165\u5747\u4E3A\u7EAF\u6587\u672C\u6D88\u606F\uFF0C\u76F4\u63A5\u7406\u89E3\u5373\u53EF\uFF0C\u4E0D\u8981\u5728\u56DE\u590D\u4E2D\u63D0\u53CA\u6309\u94AE\u3001\u83DC\u5355\u3001\u754C\u9762\u7B49 UI \u5143\u7D20\u3002
@@ -1032,6 +1075,8 @@ ${wrapHistoricalSummaryWithReplayGuard(contexts.dialogSummary)}` : "";
1032
1075
  };
1033
1076
 
1034
1077
  // packages/integrations/openai/providerBodyCompatibility.ts
1078
+ var MOONSHOT_KIMI_K3_MODEL = "kimi-k3";
1079
+ var isMoonshotKimiK3 = (provider, model) => asTrimmedLowercaseString(provider) === "moonshot" && asTrimmedLowercaseString(model) === MOONSHOT_KIMI_K3_MODEL;
1035
1080
  var normalizeChatCompletionsBodyForProvider = ({
1036
1081
  body,
1037
1082
  provider,
@@ -1043,6 +1088,16 @@ var normalizeChatCompletionsBodyForProvider = ({
1043
1088
  delete nextBody.reasoning;
1044
1089
  delete nextBody.reasoning_effort;
1045
1090
  }
1091
+ if (isMoonshotKimiK3(provider, model)) {
1092
+ delete nextBody.temperature;
1093
+ delete nextBody.top_p;
1094
+ delete nextBody.frequency_penalty;
1095
+ delete nextBody.presence_penalty;
1096
+ if (typeof nextBody.max_tokens === "number") {
1097
+ nextBody.max_completion_tokens = nextBody.max_tokens;
1098
+ delete nextBody.max_tokens;
1099
+ }
1100
+ }
1046
1101
  return nextBody;
1047
1102
  };
1048
1103
 
@@ -1107,15 +1162,7 @@ var sanitizeChatCompletionsMessage = (message) => {
1107
1162
  };
1108
1163
  const name = asOptionalTrimmedString(message.name);
1109
1164
  if (name) sanitized.name = name;
1110
- const toolCallId = asOptionalTrimmedString(message.tool_call_id);
1111
- if (toolCallId) sanitized.tool_call_id = toolCallId;
1112
- if (Array.isArray(message.tool_calls)) {
1113
- sanitized.tool_calls = message.tool_calls;
1114
- }
1115
- if (message.role === "assistant" && typeof message.reasoning_content === "string" && message.reasoning_content) {
1116
- sanitized.reasoning_content = message.reasoning_content;
1117
- }
1118
- return sanitized;
1165
+ return preserveAgentStateFields(message, sanitized);
1119
1166
  };
1120
1167
  var buildRequestBody = (options) => {
1121
1168
  const {
@@ -1221,9 +1268,32 @@ var generateOpenAIRequestBody = (agentConfig, providerName, messages, contexts,
1221
1268
  };
1222
1269
 
1223
1270
  // packages/integrations/openai/generateResponseRequestBody.ts
1224
- function generateResponseRequestBody(agentConfig, msgs, contexts, prependSystemPrompt = true) {
1271
+ var DEFAULT_RESPONSES_COMPACTION_THRESHOLD = 2e5;
1272
+ function resolveResponsesCompactionThreshold(agentConfig) {
1273
+ const configured = Number(
1274
+ agentConfig.responsesCompactionThreshold ?? agentConfig.responses_compaction_threshold
1275
+ );
1276
+ return Number.isFinite(configured) && configured > 0 ? Math.floor(configured) : DEFAULT_RESPONSES_COMPACTION_THRESHOLD;
1277
+ }
1278
+ function selectResponsesContinuationMessages(msgs) {
1279
+ let lastAssistantIndex = -1;
1280
+ for (let index = msgs.length - 1; index >= 0; index -= 1) {
1281
+ if (msgs[index]?.role === "assistant") {
1282
+ lastAssistantIndex = index;
1283
+ break;
1284
+ }
1285
+ }
1286
+ const candidates = lastAssistantIndex >= 0 ? msgs.slice(lastAssistantIndex + 1) : msgs;
1287
+ return candidates.filter((message) => message.role !== "system");
1288
+ }
1289
+ function generateResponseRequestBody(agentConfig, msgs, contexts, prependSystemPrompt = true, responsesState) {
1225
1290
  const language = typeof navigator !== "undefined" && navigator.language ? navigator.language : "zh-CN";
1226
- const input = convertMessagesToResponsesInput(msgs);
1291
+ const state = responsesState !== void 0 ? responsesState : selectResponsesConversationState(agentConfig.responsesState, agentConfig);
1292
+ const supportsServerState = supportsResponsesConversationState(agentConfig);
1293
+ const stateful = supportsServerState && state && agentConfig.store !== false ? state : null;
1294
+ const input = convertMessagesToResponsesInput(
1295
+ stateful ? selectResponsesContinuationMessages(msgs) : msgs
1296
+ );
1227
1297
  const body = {
1228
1298
  model: agentConfig.model,
1229
1299
  input,
@@ -1259,6 +1329,25 @@ function generateResponseRequestBody(agentConfig, msgs, contexts, prependSystemP
1259
1329
  if (agentConfig.metadata !== void 0) {
1260
1330
  body.metadata = agentConfig.metadata;
1261
1331
  }
1332
+ if (stateful) {
1333
+ body.previous_response_id = stateful.responseId;
1334
+ if (agentConfig.context_management === void 0) {
1335
+ body.context_management = [
1336
+ {
1337
+ type: "compaction",
1338
+ compact_threshold: resolveResponsesCompactionThreshold(agentConfig)
1339
+ }
1340
+ ];
1341
+ }
1342
+ } else if (supportsServerState && responsesState === void 0 && agentConfig.previous_response_id !== void 0) {
1343
+ body.previous_response_id = agentConfig.previous_response_id;
1344
+ }
1345
+ if (supportsServerState && agentConfig.store !== void 0) {
1346
+ body.store = agentConfig.store;
1347
+ }
1348
+ if (supportsServerState && agentConfig.context_management !== void 0) {
1349
+ body.context_management = agentConfig.context_management;
1350
+ }
1262
1351
  return body;
1263
1352
  }
1264
1353
 
@@ -1333,7 +1422,8 @@ var generateRequestBody = ({
1333
1422
  messages,
1334
1423
  contexts,
1335
1424
  stableMessages,
1336
- prependSystemPrompt = true
1425
+ prependSystemPrompt = true,
1426
+ responsesState
1337
1427
  }) => {
1338
1428
  const provider = (agentConfig.provider || "").toLowerCase();
1339
1429
  const imageSettings = getImageOutputSettings(agentConfig, provider);
@@ -1349,7 +1439,8 @@ var generateRequestBody = ({
1349
1439
  agentConfigForRequest,
1350
1440
  [...stableMessages ?? [], ...messages],
1351
1441
  contexts,
1352
- prependSystemPrompt
1442
+ prependSystemPrompt,
1443
+ responsesState
1353
1444
  );
1354
1445
  }
1355
1446
  const baseBody = generateOpenAIRequestBody(
@@ -1909,6 +2000,9 @@ export {
1909
2000
  mergeReferences,
1910
2001
  resolveReferenceAssets,
1911
2002
  resolveToolsFromKeys,
2003
+ selectResponsesConversationState,
2004
+ updateResponsesConversationState,
2005
+ isResponsesConversationStateRejection,
1912
2006
  resolveClientWire,
1913
2007
  resolveAgentCallPlan,
1914
2008
  generateRequestBody,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-PTT6KSYQ.js";
4
+ } from "./chunk-IPA2WQGY.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
- } from "./chunk-6OHYC4BY.js";
7
+ } from "./chunk-FZ2G3I4B.js";
8
8
  import {
9
9
  asTrimmedLowercaseString
10
10
  } from "./chunk-QSJ3HFEF.js";
@@ -0,0 +1,33 @@
1
+ // packages/ai/llm/modelAbility.ts
2
+ var MODEL_ABILITY_TABLE = {
3
+ "claude-opus-5": { passAt1: 74, benchmarkScore: 61 },
4
+ "gpt-5.6-sol": { passAt1: 73, benchmarkScore: 59 },
5
+ "gpt-5.6-terra": { passAt1: 70, benchmarkScore: 55 },
6
+ "kimi-k3": { passAt1: 69, benchmarkScore: 57 },
7
+ "grok-4.5": { passAt1: 54, benchmarkScore: 54 },
8
+ "claude-sonnet-5": { passAt1: 54, benchmarkScore: 53 },
9
+ "gpt-5.6-luna": { passAt1: 67, benchmarkScore: 51 },
10
+ "glm-5.2": { passAt1: 44, benchmarkScore: 51 },
11
+ "gemini-3.6-flash": { passAt1: 49, benchmarkScore: 50 }
12
+ };
13
+ var EFFORT_SUFFIXES = ["-extra-low", "-low", "-medium", "-high"];
14
+ function normalizeModelName(raw) {
15
+ let name = raw.trim().toLowerCase();
16
+ const slash = name.indexOf("/");
17
+ if (slash !== -1) name = name.slice(slash + 1);
18
+ for (const suffix of EFFORT_SUFFIXES) {
19
+ if (name.endsWith(suffix) && name.length > suffix.length) {
20
+ name = name.slice(0, -suffix.length);
21
+ break;
22
+ }
23
+ }
24
+ return name;
25
+ }
26
+ function getModelAbility(modelName) {
27
+ const entry = MODEL_ABILITY_TABLE[normalizeModelName(modelName)];
28
+ return entry ? { ...entry } : void 0;
29
+ }
30
+
31
+ export {
32
+ getModelAbility
33
+ };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-ZAUDEKML.js";
3
+ } from "./chunk-GROGNZOA.js";
4
4
  import "./chunk-V2J635L5.js";
5
5
  import "./chunk-MRC4Q34M.js";
6
6
  import "./chunk-MTU75CZ2.js";
7
7
  import "./chunk-CWMSB67P.js";
8
- import "./chunk-4VA3UQRF.js";
8
+ import "./chunk-Q7S2ORXX.js";
9
9
  import "./chunk-LTH6AVG7.js";
10
10
  import "./chunk-Z4NR32XR.js";
11
11
  import "./chunk-M76ECQRD.js";
@@ -18,15 +18,16 @@ import {
18
18
  write
19
19
  } from "./chunk-L3KWEH3V.js";
20
20
  import "./chunk-AZPCASRE.js";
21
- import "./chunk-RBCENBG7.js";
21
+ import "./chunk-IOQIOZNI.js";
22
+ import "./chunk-Z3NEXVYE.js";
22
23
  import "./chunk-JTINRTBT.js";
23
24
  import "./chunk-5MMAK75Q.js";
24
- import "./chunk-AOKWJZ5N.js";
25
+ import "./chunk-S3UTETIC.js";
25
26
  import "./chunk-5CS33IBL.js";
26
27
  import "./chunk-JZPBVBIY.js";
27
28
  import "./chunk-BYXBJQAS.js";
28
29
  import "./chunk-KX6YBIHG.js";
29
- import "./chunk-RBCNBU2A.js";
30
+ import "./chunk-524BDL33.js";
30
31
  import {
31
32
  buildAgentAutomationOwnerIndexValue,
32
33
  createAgentAutomationKey,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createDialogAction,
3
3
  isLocalOwnerDialogAgents
4
- } from "./chunk-A4MYG3TR.js";
4
+ } from "./chunk-BT57QC5K.js";
5
5
  import "./chunk-VC6OZXO5.js";
6
- import "./chunk-ZAUDEKML.js";
6
+ import "./chunk-GROGNZOA.js";
7
7
  import "./chunk-V2J635L5.js";
8
8
  import "./chunk-MRC4Q34M.js";
9
9
  import "./chunk-MTU75CZ2.js";
10
10
  import "./chunk-CWMSB67P.js";
11
- import "./chunk-4VA3UQRF.js";
11
+ import "./chunk-Q7S2ORXX.js";
12
12
  import "./chunk-LTH6AVG7.js";
13
13
  import "./chunk-Z4NR32XR.js";
14
14
  import "./chunk-M76ECQRD.js";
@@ -19,17 +19,18 @@ import "./chunk-BFDWXLFF.js";
19
19
  import "./chunk-UAD2WT54.js";
20
20
  import "./chunk-L3KWEH3V.js";
21
21
  import "./chunk-AZPCASRE.js";
22
- import "./chunk-RBCENBG7.js";
22
+ import "./chunk-IOQIOZNI.js";
23
+ import "./chunk-Z3NEXVYE.js";
23
24
  import "./chunk-XENYHRUE.js";
24
25
  import "./chunk-JTINRTBT.js";
25
26
  import "./chunk-WZSRQNQG.js";
26
27
  import "./chunk-5MMAK75Q.js";
27
- import "./chunk-AOKWJZ5N.js";
28
+ import "./chunk-S3UTETIC.js";
28
29
  import "./chunk-5CS33IBL.js";
29
30
  import "./chunk-JZPBVBIY.js";
30
31
  import "./chunk-BYXBJQAS.js";
31
32
  import "./chunk-KX6YBIHG.js";
32
- import "./chunk-RBCNBU2A.js";
33
+ import "./chunk-524BDL33.js";
33
34
  import "./chunk-O4BU24WZ.js";
34
35
  import "./chunk-I42VC5KR.js";
35
36
  import "./chunk-WWC7I6TA.js";
@@ -18,12 +18,12 @@ import {
18
18
  addContentToSpace,
19
19
  client_default,
20
20
  selectCurrentSpaceId
21
- } from "./chunk-ZAUDEKML.js";
21
+ } from "./chunk-GROGNZOA.js";
22
22
  import "./chunk-V2J635L5.js";
23
23
  import "./chunk-MRC4Q34M.js";
24
24
  import "./chunk-MTU75CZ2.js";
25
25
  import "./chunk-CWMSB67P.js";
26
- import "./chunk-4VA3UQRF.js";
26
+ import "./chunk-Q7S2ORXX.js";
27
27
  import "./chunk-LTH6AVG7.js";
28
28
  import "./chunk-Z4NR32XR.js";
29
29
  import "./chunk-M76ECQRD.js";
@@ -36,16 +36,17 @@ import {
36
36
  write
37
37
  } from "./chunk-L3KWEH3V.js";
38
38
  import "./chunk-AZPCASRE.js";
39
- import "./chunk-RBCENBG7.js";
39
+ import "./chunk-IOQIOZNI.js";
40
+ import "./chunk-Z3NEXVYE.js";
40
41
  import "./chunk-JTINRTBT.js";
41
42
  import "./chunk-WZSRQNQG.js";
42
43
  import "./chunk-5MMAK75Q.js";
43
- import "./chunk-AOKWJZ5N.js";
44
+ import "./chunk-S3UTETIC.js";
44
45
  import "./chunk-5CS33IBL.js";
45
46
  import "./chunk-JZPBVBIY.js";
46
47
  import "./chunk-BYXBJQAS.js";
47
48
  import "./chunk-KX6YBIHG.js";
48
- import "./chunk-RBCNBU2A.js";
49
+ import "./chunk-524BDL33.js";
49
50
  import {
50
51
  createPageKey
51
52
  } from "./chunk-O4BU24WZ.js";
@@ -8,32 +8,32 @@ import {
8
8
  runDialogReadCommand,
9
9
  runDialogStatusCommand,
10
10
  sortDialogs
11
- } from "./chunk-O7VS7JLJ.js";
11
+ } from "./chunk-VUEXKW6U.js";
12
12
  import "./chunk-ID4G2MAR.js";
13
- import "./chunk-BB2PII22.js";
14
- import "./chunk-EUN3SYY7.js";
15
- import "./chunk-ZJS64PZJ.js";
13
+ import "./chunk-BKGNXJAM.js";
14
+ import "./chunk-SBVUZC2E.js";
15
+ import "./chunk-FVVST32H.js";
16
16
  import "./chunk-VHBWHNVT.js";
17
17
  import "./chunk-KQHGZWSV.js";
18
18
  import "./chunk-MTU75CZ2.js";
19
19
  import "./chunk-Y5GCAMGP.js";
20
20
  import "./chunk-IDZTNRP2.js";
21
- import "./chunk-LBUTKV7S.js";
22
- import "./chunk-6UUD2WES.js";
21
+ import "./chunk-C4DZRHFJ.js";
22
+ import "./chunk-3KGTFX3T.js";
23
23
  import "./chunk-ZNFJWEN4.js";
24
24
  import "./chunk-YOCHZD7D.js";
25
- import "./chunk-RBB43B5W.js";
25
+ import "./chunk-AISLHYDB.js";
26
26
  import "./chunk-OPZYGHUC.js";
27
- import "./chunk-6KRA6AWI.js";
28
- import "./chunk-AWY2AFHN.js";
29
- import "./chunk-6OHYC4BY.js";
27
+ import "./chunk-G7KM6BBZ.js";
28
+ import "./chunk-3HPUUWOR.js";
29
+ import "./chunk-FZ2G3I4B.js";
30
30
  import "./chunk-5MMAK75Q.js";
31
- import "./chunk-AOKWJZ5N.js";
31
+ import "./chunk-S3UTETIC.js";
32
32
  import "./chunk-5CS33IBL.js";
33
33
  import "./chunk-JZPBVBIY.js";
34
34
  import "./chunk-BYXBJQAS.js";
35
35
  import "./chunk-KX6YBIHG.js";
36
- import "./chunk-RBCNBU2A.js";
36
+ import "./chunk-524BDL33.js";
37
37
  import "./chunk-O4BU24WZ.js";
38
38
  import "./chunk-I42VC5KR.js";
39
39
  import "./chunk-WWC7I6TA.js";
@@ -19,12 +19,12 @@ import {
19
19
  setPrimaryDialogAgent,
20
20
  updateDialogTitle,
21
21
  updateTokens
22
- } from "./chunk-ZAUDEKML.js";
22
+ } from "./chunk-GROGNZOA.js";
23
23
  import "./chunk-V2J635L5.js";
24
24
  import "./chunk-MRC4Q34M.js";
25
25
  import "./chunk-MTU75CZ2.js";
26
26
  import "./chunk-CWMSB67P.js";
27
- import "./chunk-4VA3UQRF.js";
27
+ import "./chunk-Q7S2ORXX.js";
28
28
  import "./chunk-LTH6AVG7.js";
29
29
  import "./chunk-Z4NR32XR.js";
30
30
  import "./chunk-M76ECQRD.js";
@@ -35,15 +35,16 @@ import "./chunk-BFDWXLFF.js";
35
35
  import "./chunk-UAD2WT54.js";
36
36
  import "./chunk-L3KWEH3V.js";
37
37
  import "./chunk-AZPCASRE.js";
38
- import "./chunk-RBCENBG7.js";
38
+ import "./chunk-IOQIOZNI.js";
39
+ import "./chunk-Z3NEXVYE.js";
39
40
  import "./chunk-JTINRTBT.js";
40
41
  import "./chunk-5MMAK75Q.js";
41
- import "./chunk-AOKWJZ5N.js";
42
+ import "./chunk-S3UTETIC.js";
42
43
  import "./chunk-5CS33IBL.js";
43
44
  import "./chunk-JZPBVBIY.js";
44
45
  import "./chunk-BYXBJQAS.js";
45
46
  import "./chunk-KX6YBIHG.js";
46
- import "./chunk-RBCNBU2A.js";
47
+ import "./chunk-524BDL33.js";
47
48
  import "./chunk-O4BU24WZ.js";
48
49
  import "./chunk-I42VC5KR.js";
49
50
  import "./chunk-WWC7I6TA.js";