nolo-cli 0.88.0-alpha.2 → 0.90.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 (139) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-S7KQX4XS.js → _executeModel-W26HVI75.js} +38 -38
  3. package/{action-JZ62BXLX.js → action-6DXQGJMX.js} +7 -7
  4. package/{addContentAction-2ETXWERA.js → addContentAction-I7VX5SAC.js} +5 -5
  5. package/{addDialogAgentAction-COSPGJ4K.js → addDialogAgentAction-OJSFV7DZ.js} +4 -4
  6. package/{agentDeleteCommand-J6Y2C5X2.js → agentDeleteCommand-XNFWCKBH.js} +25 -24
  7. package/{agentEmailCommands-TGZ5DJAB.js → agentEmailCommands-W3X3EJ3V.js} +53 -52
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
  9. package/{agentListCommands-UIDWO3EG.js → agentListCommands-DFWFU6XO.js} +33 -26
  10. package/{agentMachineCommands-FPSZ6FJ4.js → agentMachineCommands-LMFOAEL4.js} +25 -24
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
  13. package/{agentRecordCommands-6SCONH5I.js → agentRecordCommands-FVVVCQFM.js} +51 -50
  14. package/{agentRunCommand-2IXI6Z2U.js → agentRunCommand-HTBVIBGV.js} +52 -51
  15. package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
  16. package/{agentRuntimeLocal-UYU2POZ7.js → agentRuntimeLocal-2JFG4HDU.js} +21 -20
  17. package/{agentSlice-J5XXG3H7.js → agentSlice-ZNLGFUB5.js} +5 -5
  18. package/{appDeleteCommands-BVSKDJNM.js → appDeleteCommands-2UN4N2NR.js} +25 -24
  19. package/{appDeployCommands-UTPULKP3.js → appDeployCommands-37D74KRR.js} +25 -24
  20. package/{appDeployStatusCommands-DKDE2ECO.js → appDeployStatusCommands-QBLWL2IA.js} +25 -24
  21. package/{appGetCommands-KT7A7JJQ.js → appGetCommands-6KXIDF2T.js} +25 -24
  22. package/{appListCommands-MTHRLBXS.js → appListCommands-G2WFGEWQ.js} +25 -24
  23. package/{authCommand-NNFLRLGJ.js → authCommand-V2DJ7DB7.js} +85 -19
  24. package/{authCommands-364ESL7K.js → authCommands-RGOGCPP6.js} +3 -3
  25. package/{builtinSkillRegistry-VXSNE7LM.js → builtinSkillRegistry-WBGYKIAZ.js} +5 -5
  26. package/{chatQueueReduxAdapter-6I4F5TQW.js → chatQueueReduxAdapter-XCJHIY3R.js} +17 -17
  27. package/{chunk-BXLB7DXE.js → chunk-2ADBVBEM.js} +98 -2
  28. package/{chunk-WKJC6UOK.js → chunk-2AYMFHUG.js} +4 -4
  29. package/{chunk-CADAR6QU.js → chunk-2F4VYGFW.js} +2 -2
  30. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  31. package/{chunk-IBT5GKZM.js → chunk-3CMTBX3X.js} +6 -6
  32. package/{chunk-T2EUOLNJ.js → chunk-3CR2LC6X.js} +1 -1
  33. package/{chunk-UMYXJWI3.js → chunk-3R5PH4IP.js} +1 -1
  34. package/{chunk-EVCXTAOR.js → chunk-4BYPU626.js} +294 -203
  35. package/{chunk-M67M3AK5.js → chunk-4DRWWIOL.js} +1 -1
  36. package/{chunk-KR3MGGC7.js → chunk-576IMUGH.js} +1 -1
  37. package/{chunk-MGRRXGZD.js → chunk-5DFFKASO.js} +3 -3
  38. package/{chunk-SENTM5XJ.js → chunk-5NMZNPTN.js} +5 -5
  39. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  40. package/{chunk-5CEIOSBX.js → chunk-5V4NJHRM.js} +6 -6
  41. package/chunk-5ZUL4CUO.js +10 -0
  42. package/{chunk-XPMTSMUR.js → chunk-6BEA566T.js} +2 -2
  43. package/{chunk-KIAHQ37Z.js → chunk-6D6VBVEW.js} +2 -2
  44. package/{chunk-PP3LAL6G.js → chunk-7MYYE7WX.js} +23 -19
  45. package/{chunk-BQKN5ZHZ.js → chunk-A2C4AKKM.js} +1 -1
  46. package/{chunk-PBMUDRON.js → chunk-AQZRTHDZ.js} +1192 -44
  47. package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
  48. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  49. package/{chunk-WVXCW7DR.js → chunk-CLI4LFSM.js} +9 -4
  50. package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
  51. package/{chunk-A3GDWRW6.js → chunk-DNQPPRHY.js} +1 -1
  52. package/{chunk-SR2I44ML.js → chunk-DPQ2WVBY.js} +1 -1
  53. package/{chunk-IZWQKAGJ.js → chunk-F2CGG72C.js} +40 -40
  54. package/{chunk-QDOYVIIL.js → chunk-FQYMLZ6C.js} +5 -5
  55. package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
  56. package/{chunk-TR54UTFI.js → chunk-GRYGRGPS.js} +4 -4
  57. package/{chunk-QIU65GHY.js → chunk-HMEMJ7GH.js} +364 -24
  58. package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
  59. package/{chunk-KMIMGCZT.js → chunk-HYZHJ5GW.js} +3 -3
  60. package/{chunk-OAJRZ35U.js → chunk-IIKPWSPX.js} +1 -1
  61. package/{chunk-EFWQMKEG.js → chunk-JBBZ5KUM.js} +10 -10
  62. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  63. package/{chunk-4YIWJYIX.js → chunk-JTK3TJYV.js} +1 -1
  64. package/{chunk-TMPLPCVX.js → chunk-K7M3MWCE.js} +2 -2
  65. package/{chunk-OHUU52T3.js → chunk-L2ICPOAL.js} +1 -1
  66. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  67. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  68. package/{chunk-LHDV2QUI.js → chunk-MJHQ3NRV.js} +1 -1
  69. package/{chunk-WHYTL6XG.js → chunk-N3OAPEZE.js} +28 -9
  70. package/{chunk-PZCTYKGU.js → chunk-ND2J3NRB.js} +2 -2
  71. package/{chunk-M2ZBPSGH.js → chunk-NFMHIUY3.js} +65 -50
  72. package/{chunk-S6FCVZ4I.js → chunk-PH5J5VUY.js} +2 -2
  73. package/{chunk-FMODTASJ.js → chunk-Q5FJJ6XI.js} +1 -7
  74. package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
  75. package/{chunk-5XV64MAU.js → chunk-QHETQ3KI.js} +35 -1
  76. package/{chunk-BEQGQMYW.js → chunk-RZANZZL2.js} +2 -2
  77. package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
  78. package/{chunk-6LUUGZTS.js → chunk-SMZSWB44.js} +10 -5
  79. package/{chunk-HJKGQPYF.js → chunk-TL6L5XUT.js} +1 -1
  80. package/{chunk-M5K26BH3.js → chunk-TVNI5FLG.js} +4 -4
  81. package/{chunk-X7WAX4JU.js → chunk-UA5S3LQQ.js} +3 -3
  82. package/{chunk-2LX7X7HX.js → chunk-UTCCPWB2.js} +31 -3
  83. package/{chunk-DJM4BCSB.js → chunk-VHJLQHPQ.js} +2 -2
  84. package/{chunk-MXUSPS2N.js → chunk-VRLI2WNW.js} +1563 -1529
  85. package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
  86. package/{chunk-NJBLAV2R.js → chunk-WXPVOQD7.js} +35 -33
  87. package/{chunk-5HKWE6OQ.js → chunk-XKQJJK4F.js} +1 -1
  88. package/{chunk-N4X2KIYL.js → chunk-XMGHGEN6.js} +1 -1
  89. package/{chunk-6IHWRTUK.js → chunk-XTUY5EL4.js} +16 -12
  90. package/{chunk-OKCTLCKS.js → chunk-YOXYA2GU.js} +1 -1
  91. package/{chunk-EDZAJS6E.js → chunk-Z33ARZCP.js} +1 -1
  92. package/chunk-ZAB3A45K.js +677 -0
  93. package/{chunk-YZHP76TR.js → chunk-ZBT3WNBK.js} +1 -1
  94. package/{contentThunks-2N2J3EGF.js → contentThunks-VURN3DFW.js} +18 -18
  95. package/{createAgentAutomationAction-7QO4ZVVP.js → createAgentAutomationAction-QZAAY77R.js} +18 -18
  96. package/{createDialogAction-PC2IQ4T7.js → createDialogAction-CHGXVTAC.js} +20 -20
  97. package/{createPageAction-EFL5EC22.js → createPageAction-IOGAFIN7.js} +18 -18
  98. package/{dbSlice-JNK4XZ27.js → dbSlice-YXQ6RYIH.js} +4 -4
  99. package/{dialogCommands-BSOWO6CA.js → dialogCommands-XREAP6WQ.js} +26 -25
  100. package/{dialogSlice-W6X5G2KS.js → dialogSlice-DOPGWGS4.js} +17 -17
  101. package/{docCreateCommands-LWZU23FP.js → docCreateCommands-3PYZGSCL.js} +24 -23
  102. package/{docDeleteCommands-RR6GKDDF.js → docDeleteCommands-3Y6MU44Q.js} +25 -24
  103. package/{docReadCommands-JP77ZTCY.js → docReadCommands-UBANMAFR.js} +24 -23
  104. package/{docStore-DMNGPTL4.js → docStore-SYYFBENY.js} +5 -5
  105. package/{docUpdateCommands-T4OACV4V.js → docUpdateCommands-4GK2X6BN.js} +24 -23
  106. package/{getPricing-QVTUQQTM.js → getPricing-F2C65RIX.js} +3 -3
  107. package/{handleSendMessageAction-RJEXW5VS.js → handleSendMessageAction-NPVTY2GE.js} +17 -17
  108. package/index.js +85 -81
  109. package/{localDialogRead-GKTRZFAP.js → localDialogRead-BTFJ4V2I.js} +1 -1
  110. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  111. package/{machineCommands-K3VQUSAX.js → machineCommands-I66X2XB7.js} +49 -48
  112. package/{machineWsRunDispatch-P7RNOLMU.js → machineWsRunDispatch-W4FVBOUM.js} +49 -48
  113. package/{memberThunks-A6OAY77F.js → memberThunks-5T4J6KXQ.js} +5 -5
  114. package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
  115. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
  116. package/package.json +1 -1
  117. package/providerPresetApply-OCWWKBSD.js +214 -0
  118. package/providerRegistry-ZJQU7AJ7.js +31 -0
  119. package/{read-2PV4PN2E.js → read-M2Q6WEKB.js} +3 -3
  120. package/{readDocTool-FGK5XGAW.js → readDocTool-T37P3YPB.js} +1 -1
  121. package/{readlineWorkspace-FGQLVWLE.js → readlineWorkspace-VY5AMOGR.js} +127 -95
  122. package/{removeDialogAgentAction-6SGBZWSW.js → removeDialogAgentAction-HB3JBVAI.js} +7 -7
  123. package/{runAgentClientLoop-75TQMT2H.js → runAgentClientLoop-3NDADLVE.js} +36 -36
  124. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  125. package/{setDialogExtraReferencesAction-LC3SOVJO.js → setDialogExtraReferencesAction-4XLHRV37.js} +5 -5
  126. package/{setPrimaryDialogAgentAction-XE2HIEVY.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +7 -7
  127. package/{settingSlice-GJYAXZZ6.js → settingSlice-CZRURSTH.js} +6 -6
  128. package/{spaceCommands-7GMVZQYI.js → spaceCommands-ENYCUUZH.js} +24 -23
  129. package/{streamAgentChatTurn-JYKKAOEU.js → streamAgentChatTurn-634OFUSR.js} +46 -44
  130. package/{switchDialogAgentAction-EDYI5RLR.js → switchDialogAgentAction-C6KVUKJP.js} +4 -4
  131. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  132. package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
  133. package/{tools-PCY3TDNR.js → tools-ILBLCF7D.js} +33 -33
  134. package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
  135. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  136. package/{updateDialogTitleAction-36NOSXEX.js → updateDialogTitleAction-RKFET73N.js} +38 -21
  137. package/tuiSummaryLlmCaller-CCYGQDGB.js +0 -116
  138. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  139. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-QSJ3HFEF.js";
10
10
  import {
11
11
  extractCustomId
12
- } from "./chunk-BJIRLHJR.js";
12
+ } from "./chunk-GII32WZW.js";
13
13
  import {
14
14
  selectIdentityToken
15
15
  } from "./chunk-SEJ5OS6F.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-NJBLAV2R.js";
3
+ } from "./chunk-WXPVOQD7.js";
4
4
  import {
5
5
  i18n_default
6
- } from "./chunk-QIU65GHY.js";
6
+ } from "./chunk-HMEMJ7GH.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-O6OSWFZQ.js";
10
10
  import {
11
11
  isNoloHostedProvider
12
- } from "./chunk-AJHEFRGJ.js";
12
+ } from "./chunk-ASGDO77C.js";
13
13
  import {
14
14
  asTrimmedLowercaseString
15
15
  } from "./chunk-QSJ3HFEF.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-OKCTLCKS.js";
4
+ } from "./chunk-YOXYA2GU.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -5,14 +5,14 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-KMIMGCZT.js";
8
+ } from "./chunk-HYZHJ5GW.js";
9
9
  import {
10
10
  INVALID_TOOL_ARGS_REPLACEMENT,
11
11
  buildInvalidToolCallSelfHealResult,
12
12
  parseToolCallArguments,
13
13
  performFetchRequest,
14
14
  sanitizeOutboundMessages
15
- } from "./chunk-PP3LAL6G.js";
15
+ } from "./chunk-7MYYE7WX.js";
16
16
  import {
17
17
  createSSEParser,
18
18
  createToolRunId,
@@ -23,7 +23,7 @@ import {
23
23
  toolRunSetPending,
24
24
  toolRunStarted,
25
25
  toolRunSucceeded
26
- } from "./chunk-NJBLAV2R.js";
26
+ } from "./chunk-WXPVOQD7.js";
27
27
  import {
28
28
  getPublicImageAgentMode
29
29
  } from "./chunk-VIDPVFP3.js";
@@ -35,10 +35,10 @@ import {
35
35
  messageStreamEnd,
36
36
  messageStreaming,
37
37
  updateToolMessage
38
- } from "./chunk-QIU65GHY.js";
38
+ } from "./chunk-HMEMJ7GH.js";
39
39
  import {
40
40
  streamAgentChatTurn
41
- } from "./chunk-M5K26BH3.js";
41
+ } from "./chunk-TVNI5FLG.js";
42
42
  import {
43
43
  addActiveController,
44
44
  removeActiveController,
@@ -56,19 +56,19 @@ import {
56
56
  import {
57
57
  EMPTY_ASSISTANT_REPAIR_PROMPT,
58
58
  getModelInfo
59
- } from "./chunk-IZWQKAGJ.js";
59
+ } from "./chunk-F2CGG72C.js";
60
60
  import {
61
61
  getApiEndpoint
62
- } from "./chunk-MXUSPS2N.js";
62
+ } from "./chunk-VRLI2WNW.js";
63
63
  import {
64
64
  toErrorMessage
65
65
  } from "./chunk-HNMXYYJR.js";
66
66
  import {
67
67
  selectCurrentServer
68
- } from "./chunk-S6FCVZ4I.js";
68
+ } from "./chunk-PH5J5VUY.js";
69
69
  import {
70
70
  write
71
- } from "./chunk-X7WAX4JU.js";
71
+ } from "./chunk-UA5S3LQQ.js";
72
72
  import {
73
73
  createDialogMessageKeyAndId,
74
74
  dialogMessageKey,
@@ -76,7 +76,7 @@ import {
76
76
  } from "./chunk-VMFTFOWF.js";
77
77
  import {
78
78
  extractCustomId
79
- } from "./chunk-BJIRLHJR.js";
79
+ } from "./chunk-GII32WZW.js";
80
80
  import {
81
81
  createAsyncThunk
82
82
  } from "./chunk-UKWGR5SS.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadProfileConfig
3
- } from "./chunk-2KDR4CWE.js";
3
+ } from "./chunk-BYMV6QZG.js";
4
4
  import {
5
5
  resolveDefaultSpawn
6
6
  } from "./chunk-X7HHHIOZ.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  patch,
9
9
  selectById
10
- } from "./chunk-X7WAX4JU.js";
10
+ } from "./chunk-UA5S3LQQ.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./chunk-4VNS5WPM.js";
@@ -3,7 +3,7 @@ import {
3
3
  resolvePlatformChatCompletionsEndpoint,
4
4
  resolvePlatformHostedCredentialProvider,
5
5
  resolvePlatformResponsesEndpoint
6
- } from "./chunk-PZCTYKGU.js";
6
+ } from "./chunk-ND2J3NRB.js";
7
7
  import {
8
8
  CLI_PROVIDER_VALUES
9
9
  } from "./chunk-W7XHHYWM.js";
@@ -11,7 +11,7 @@ import {
11
11
  CLIENT_VERSION_TOO_OLD_CODE,
12
12
  buildClientVersionGateErrorDetail,
13
13
  evaluatePlatformHostedClientVersionGate
14
- } from "./chunk-AJHEFRGJ.js";
14
+ } from "./chunk-ASGDO77C.js";
15
15
  import {
16
16
  asTrimmedLowercaseString
17
17
  } from "./chunk-QSJ3HFEF.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BUILTIN_PLATFORM_AGENT_KEYS
3
- } from "./chunk-HJKGQPYF.js";
3
+ } from "./chunk-TL6L5XUT.js";
4
4
  import {
5
5
  getRuntimeServerContext,
6
6
  partitionReadServers,
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // packages/cli/agentCommandSupport.ts
6
6
  async function getDefaultCliDb() {
7
- const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-P37ZTX55.js");
7
+ const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-SYQGUF4U.js");
8
8
  return getDefaultCliLocalRuntimeDb();
9
9
  }
10
10
  function createNullCliDb() {
@@ -3,12 +3,14 @@ var BASE_BUILTIN_DIALOG_LLM_CONFIG = {
3
3
  apiSource: "platform",
4
4
  useServerProxy: true
5
5
  };
6
+ var BUILTIN_DIALOG_LLM_FALLBACK_MODEL = "deepseek-flash";
7
+ var BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL = "glm-5-3-flash";
6
8
  var BUILTIN_TITLE_LLM_CONFIG = {
7
9
  ...BASE_BUILTIN_DIALOG_LLM_CONFIG,
8
10
  provider: "nolo",
9
11
  id: "builtin-dialog-title-llm",
10
12
  name: "Builtin Dialog Title LLM",
11
- model: "glm-5-3-flash",
13
+ model: "mimo-v2.6-flash",
12
14
  prompt: "You are a title generator for chat history. \u4F60\u53EA\u505A\u4E00\u4EF6\u4E8B\uFF1A\u6839\u636E\u5BF9\u8BDD\u5185\u5BB9\u8F93\u51FA\u6700\u7EC8\u6807\u9898\u3002\u786C\u6027\u89C4\u5219\uFF1A1) \u53EA\u8F93\u51FA\u6807\u9898\u8FD9\u4E00\u884C\uFF1B\u4E25\u7981\u8F93\u51FA\u63A8\u7406\u3001\u5206\u6790\u3001\u6B65\u9AA4\u3001\u89E3\u91CA\u3001\u524D\u8A00\u3001\u540E\u8BB0\u3001\u7FFB\u8BD1\u3001\u81F4\u6B49\u6216\u4EFB\u4F55\u989D\u5916\u8BF4\u660E\u30022) \u4E0D\u8981\u56DE\u7B54\u7528\u6237\u8BF7\u6C42\uFF0C\u4E0D\u8981\u5199\u6458\u8981\uFF0C\u53EA\u7ED9\u6807\u9898\u7ED3\u679C\u30023) \u6807\u9898\u5C3D\u91CF\u77ED\uFF1A\u901A\u5E38 2-5 \u4E2A\u8BCD\uFF0C\u82F1\u6587\u4E0D\u8D85\u8FC7 6 \u4E2A\u8BCD\u30024) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u7528\u6237\u4E3B\u8981\u8BED\u8A00\u30025) \u4F18\u5148\u590D\u7528\u5BF9\u8BDD\u4E2D\u7684\u5177\u4F53\u4E3B\u9898\u8BCD\uFF0C\u907F\u514D issue\u3001help\u3001discussion\u3001analysis\u3001update \u8FD9\u7C7B\u7A7A\u6CDB\u8BCD\u30026) \u5FFD\u7565 tool JSON\u3001\u51FD\u6570\u540D\u3001branch label\u3001agent \u540D\u3001\u7CFB\u7EDF\u6307\u4EE4\u548C\u7F16\u6392\u75D5\u8FF9\uFF08\u5982 GPT\u3001Claude\u3001Gemini\uFF09\uFF1B\u6807\u9898\u8981\u843D\u5728\u7528\u6237\u771F\u6B63\u8BA8\u8BBA\u7684\u5BF9\u8C61\u6216\u51B3\u7B56\u4E0A\u30027) \u66F4\u504F\u597D\u201C\u5BF9\u8C61 + \u52A8\u4F5C/\u5224\u65AD\u201D\u7684\u77ED\u6807\u9898\uFF0C\u4F8B\u5982\u201CAI \u90AE\u4EF6\u52A9\u624B\u53D6\u820D\u201D\u201C\u4E1C\u4EAC\u56DB\u65E5\u6162\u65C5\u884C\u201D\u201C\u91CD\u590D\u6263\u8D39\u9000\u6B3E\u201D\u30028) \u7EAF\u6587\u672C\uFF0C\u4E0D\u8981\u9879\u76EE\u7B26\u53F7\u3001\u7F16\u53F7\u3001markdown\u3001emoji\u3002\u6700\u7EC8\u53EA\u8FD4\u56DE\u6807\u9898\u6587\u672C\u3002 Output only the title text."
13
15
  };
14
16
  var BUILTIN_SUMMARY_LLM_CONFIG = {
@@ -16,13 +18,15 @@ var BUILTIN_SUMMARY_LLM_CONFIG = {
16
18
  provider: "nolo",
17
19
  id: "builtin-dialog-summary-llm",
18
20
  name: "Builtin Dialog Summary LLM",
19
- model: "glm-5-3-flash",
21
+ model: "mimo-v2.6-flash",
20
22
  // @deprecated 用 COMPACTION_SUMMARY_SYSTEM_PROMPT(packages/ai/context/compactionShared.ts)。
21
23
  // 生产代码已全部迁移;此旧两段式 prompt 仅被 scripts/probes/dialog 探针脚本使用,待探针迁移后删除。
22
24
  prompt: "\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u52A9\u7406\u3002\u8BF7\u57FA\u4E8E\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u548C\u3010\u65B0\u589E\u5BF9\u8BDD\u3011\uFF0C\u8F93\u51FA\u4E00\u4EFD\u66F4\u65B0\u540E\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u6863\u6848\u3002\u4E25\u683C\u53EA\u8F93\u51FA\u4E0B\u9762\u4E24\u90E8\u5206\uFF0C\u6807\u9898\u5FC5\u987B\u5B8C\u5168\u4E00\u81F4\uFF1A\n\u5173\u952E\u4E8B\u5B9E\u6863\u6848\n- ...\n\u5BF9\u8BDD\u5267\u60C5\u6458\u8981\n- ...\n\u8981\u6C42\uFF1A1) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u8DDF\u968F\u7528\u6237\u4E3B\u8981\u8BED\u8A00\uFF0C\u4E13\u6709\u540D\u8BCD\u4FDD\u7559\u539F\u6587\u30022) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\u53EA\u4FDD\u7559\u4E4B\u540E\u7EE7\u7EED\u5BF9\u8BDD\u4ECD\u6709\u4EF7\u503C\u7684\u4FE1\u606F\uFF0C\u4F8B\u5982\u7528\u6237\u504F\u597D\u3001\u76EE\u6807\u3001\u7EA6\u675F\u3001\u6280\u672F\u6808\u3001\u786E\u5B9A\u7684\u6587\u4EF6\u540D/\u53D8\u91CF\u540D\u3001\u6838\u5FC3\u51B3\u7B56\u3001\u5F85\u529E\u4E8B\u9879\u30023) \u5BF9\u8BDD\u5267\u60C5\u6458\u8981\u5148\u6781\u7B80\u6982\u62EC\u65E7\u4E0A\u4E0B\u6587\uFF0C\u518D\u66F4\u8BE6\u7EC6\u8BB0\u5F55\u6700\u8FD1\u65B0\u589E\u7684\u8FDB\u5C55\u3001\u5206\u6B67\u3001\u7ED3\u8BBA\u548C\u4E0B\u4E00\u6B65\u30024) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\u3001\u5DF2\u653E\u5F03\u65B9\u6848\u548C\u65E0\u4EF7\u503C\u5E9F\u8BDD\u30025) \u4E0D\u8981\u7F16\u9020\u672A\u51FA\u73B0\u7684\u4FE1\u606F\uFF0C\u4E0D\u8981\u8F93\u51FA\u5F00\u573A\u767D\u3001\u7ED3\u675F\u8BED\u3001markdown \u4EE3\u7801\u5757\u6216\u989D\u5916\u7AE0\u8282\u3002"
23
25
  };
24
26
 
25
27
  export {
28
+ BUILTIN_DIALOG_LLM_FALLBACK_MODEL,
29
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
26
30
  BUILTIN_TITLE_LLM_CONFIG,
27
31
  BUILTIN_SUMMARY_LLM_CONFIG
28
32
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-TMPLPCVX.js";
3
+ } from "./chunk-K7M3MWCE.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-PUOC4YRO.js";
5
5
  import {
6
6
  AGENT_SELECTION_PRIORITY_INSTRUCTIONS
7
- } from "./chunk-OKCTLCKS.js";
7
+ } from "./chunk-YOXYA2GU.js";
8
8
  import {
9
9
  getModelContextWindow
10
- } from "./chunk-IZWQKAGJ.js";
10
+ } from "./chunk-F2CGG72C.js";
11
11
  import {
12
12
  estimateTokenCount
13
13
  } from "./chunk-PSCNXBYA.js";
@@ -18,7 +18,7 @@ import {
18
18
  PLATFORM_HOSTED_KIMI_K3_MODEL,
19
19
  isFireworksKimiModel,
20
20
  isNoloHostedProvider
21
- } from "./chunk-AJHEFRGJ.js";
21
+ } from "./chunk-ASGDO77C.js";
22
22
  import {
23
23
  asTrimmedLowercaseString
24
24
  } from "./chunk-QSJ3HFEF.js";
@@ -91,6 +91,13 @@ var buildStartupProtocolBlock = (options = {}) => {
91
91
  };
92
92
 
93
93
  // packages/agent-runtime/runtimeGuidance.ts
94
+ var NOLO_WORKING_PHILOSOPHY = [
95
+ "--- Nolo \u5DE5\u4F5C\u539F\u5219 ---",
96
+ "\u9002\u5E94\u7528\u6237\u7684\u5DE5\u4F5C\u65B9\u5F0F\uFF0C\u800C\u4E0D\u662F\u8981\u6C42\u7528\u6237\u9002\u5E94\u4F60\u3002\u4FDD\u62A4\u7528\u6237\u6709\u9650\u7684\u6CE8\u610F\u529B\uFF1A\u80FD\u53EF\u9760\u5904\u7406\u7684\u5E38\u89C4\u590D\u6742\u6027\u5C3D\u91CF\u81EA\u884C\u5904\u7406\uFF1B\u771F\u6B63\u5F71\u54CD\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u548C\u65B9\u5411\u7684\u51B3\u5B9A\u7559\u7ED9\u7528\u6237\u3002",
97
+ "\u5C0A\u91CD\u7528\u6237\u7684\u610F\u56FE\u4E0E\u5224\u65AD\uFF0C\u4F46\u4E0D\u8981\u76F2\u4ECE\uFF1B\u5F53\u786E\u5B9E\u80FD\u6539\u53D8\u7ED3\u679C\u65F6\uFF0C\u6307\u51FA\u91CD\u8981\u76F2\u533A\u3001\u98CE\u9669\u3001\u66F4\u597D\u7684\u65B9\u6848\u6216\u65B0\u7684\u53EF\u80FD\u3002\u4E0D\u8981\u4E3A\u4E86\u663E\u5F97\u6709\u601D\u8003\u800C\u523B\u610F\u53CD\u9A73\u3002",
98
+ "\u5229\u7528\u76F8\u5173\u7684 Space\u3001\u8BB0\u5FC6\u3001\u5386\u53F2\u51B3\u5B9A\u548C\u5F53\u524D\u4E0A\u4E0B\u6587\uFF0C\u8BA9\u5408\u4F5C\u4EA7\u751F\u79EF\u7D2F\uFF1B\u4E0D\u8981\u56E0\u4E3A\u5B58\u5728\u65E7\u4E0A\u4E0B\u6587\u5C31\u5F3A\u884C\u5E26\u5165\u65E0\u5173\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u8981\u8BA9\u7528\u6237\u91CD\u590D\u8BF4\u660E\u5DF2\u7ECF\u53EF\u7528\u7684\u4FE1\u606F\u3002",
99
+ "\u76EE\u6807\u4E0D\u662F\u66FF\u7528\u6237\u505A\u6240\u6709\u51B3\u5B9A\uFF0C\u4E5F\u4E0D\u662F\u628A\u6240\u6709\u9009\u62E9\u91CD\u65B0\u4E22\u7ED9\u7528\u6237\uFF0C\u800C\u662F\u51CF\u5C11\u65E0\u610F\u4E49\u7684\u6253\u6270\uFF0C\u8BA9\u7528\u6237\u628A\u6CE8\u610F\u529B\u653E\u5728\u771F\u6B63\u9700\u8981\u5176\u5224\u65AD\u7684\u5730\u65B9\u3002"
100
+ ].join("\n");
94
101
  var normalizeToolName = (name) => name.replace(/[-_]/g, "").toLowerCase();
95
102
  var hasAnyTool = (normalizedTools, candidates) => candidates.some((candidate) => normalizedTools.has(normalizeToolName(candidate)));
96
103
  var hasAllTools = (normalizedTools, candidates) => candidates.every((candidate) => normalizedTools.has(normalizeToolName(candidate)));
@@ -146,11 +153,14 @@ var resolveRuntimeGuidanceToolOptions = (tools = []) => {
146
153
  var buildRuntimeGuidanceBlocks = (tools = []) => {
147
154
  const options = resolveRuntimeGuidanceToolOptions(tools);
148
155
  const normalizedTools = canonicalizeToolNames(tools);
156
+ const startupProtocol = buildStartupProtocolBlock({
157
+ hasCheckEnvTool: options.hasCheckEnvTool,
158
+ hasExecShellTool: options.hasExecShellTool
159
+ });
149
160
  return {
150
- startupProtocol: buildStartupProtocolBlock({
151
- hasCheckEnvTool: options.hasCheckEnvTool,
152
- hasExecShellTool: options.hasExecShellTool
153
- }),
161
+ // 复用现有 startup-protocol session-scope 槽位,保证 web/server/local 三条
162
+ // 装配线无需各自新增一份全局哲学;具体 startup protocol 为空时原则仍常驻。
163
+ startupProtocol: [NOLO_WORKING_PHILOSOPHY, startupProtocol].filter(Boolean).join("\n\n"),
154
164
  contextLayerContract: buildContextLayerContractBlock({
155
165
  hasRememberMemoryTool: options.hasRememberMemoryTool,
156
166
  hasDocTools: options.hasDocTools
@@ -190,13 +200,22 @@ var TOOL_USE_GUIDANCE = `--- \u5DE5\u5177\u4F7F\u7528\u7EAA\u5F8B ---
190
200
  var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
191
201
  \u7528 startAgentRun \u542F\u52A8\u5B50 Agent\uFF08wait:false \u5F02\u6B65 fork+exec \u8FD4\u56DE runId\uFF1Bwait:true \u540C\u6B65\u7B49\u7ED3\u679C\uFF09\uFF0C\u7528 controlAgentRun \u63A7\u5236/\u8BCA\u65AD\u3002\u4F55\u65F6\u6D3E\u53D1\u89C1\u300C\u591A Agent \u534F\u4F5C\u300D\u6BB5\uFF1B\u672C\u6BB5\u53EA\u8BB2\u6D3E\u53D1\u4E4B\u540E\u7684\u76EF\u68A2\u4E0E\u6392\u9519\u3002
192
202
 
193
- 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u662F\u5426\u5141\u8BB8\u963B\u585E\u7B49\u5F85\u7531\u5DE5\u5177\u8868\u56DE\u7B54\uFF0C\u4E0D\u7528\u731C\u73AF\u5883\uFF1AcontrolAgentRun \u6709 wait action \u5C31\u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4E0D\u8981\u81EA\u5DF1\u5FAA\u73AF wait\u2014\u2014\u90A3\u662F\u4F2A\u88C5\u6210\u7B49\u5F85\u7684\u8F6E\u8BE2\uFF09\uFF1B\u6CA1\u6709\u5C31\u6309\u5DE5\u5177\u63CF\u8FF0\u5904\u7406\uFF0C\u4E0D\u8981\u63A8\u65AD\u4E00\u5B9A\u5B58\u5728 terminal wake\u3002
203
+ 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u7B49\u5F85\u65B9\u5F0F\u6309\u73AF\u5883\u5206\u4E09\u79CD\uFF1A\u2460 controlAgentRun \u6709 wait action \u2192 \u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4EC5\u9650\u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C\u7684\u573A\u666F\uFF0C\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\uFF09\uFF1B\u2461 \u65E0 wait action \u4F46\u5BBF\u4E3B\u6709 terminal wake \u2192 \u6D3E\u53D1\u540E\u76F4\u63A5\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u5230\u7EC8\u6001\u65F6\u5BBF\u4E3B\u81EA\u52A8\u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF0C\u4E0D\u9700\u8981\u4EFB\u4F55\u4E3B\u52A8\u7B49\u5F85\uFF1B\u2462 \u65E0 wait action \u4E14\u65E0 terminal wake \u2192 \u6D3E\u53D1\u540E\u540C\u6837\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u7ED3\u675F\u65F6\u4E0D\u4F1A\u88AB\u81EA\u52A8\u63A5\u56DE\u6765\uFF0C\u8FD9\u662F\u5BBF\u4E3B\u9650\u5236\uFF0C\u5E94\u5728\u56DE\u590D\u4E2D\u5982\u5B9E\u544A\u77E5\u7528\u6237\u300Crun \u5DF2\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u7ED3\u679C\u9700\u624B\u52A8\u67E5\u8BE2\u300D\uFF0C\u800C\u4E0D\u662F\u7528 execShell sleep \u8F6E\u8BE2\u7ED5\u8FC7\u3002**execShell sleep \u6C38\u8FDC\u4E0D\u662F\u7B49\u5F85 agent run \u7684\u6B63\u786E\u65B9\u5F0F**\uFF1A\u547D\u4EE4\u8D85 5s \u4F1A\u88AB\u81EA\u52A8 detach \u6210\u540E\u53F0\u4EFB\u52A1\uFF0C\u6BCF\u4E2A\u5B8C\u6210\u90FD\u4EA7\u751F\u4E00\u6761\u901A\u77E5\uFF0C\u5F62\u6210\u566A\u97F3\u4E14\u5B8C\u5168\u65E0\u6548\u3002
194
204
  2. \u7981\u6B62\u8F6E\u8BE2\u3001\u7981\u7A7A\u8F6C\u3001\u522B\u590D\u8FF0 status\uFF1B\u8BED\u4E49\u4EE5\u5DE5\u5177\u63CF\u8FF0\u4E3A\u51C6\u3002status \u4EC5\u7528\u4E8E\u5F02\u5E38\u8BCA\u65AD\u2014\u2014\u6000\u7591\u5361\u6B7B\u3001failed \u540E\u770B\u8BE6\u60C5/\u65E5\u5FD7\u3001\u7528\u6237\u660E\u786E\u8BE2\u95EE\u6267\u884C\u7EC6\u8282\uFF08tailLines:0 \u53EA\u770B\u6458\u8981\uFF09\uFF1B\u5B83\u4E0D\u662F stop \u524D\u7684 preflight\u3002\u5E76\u884C\uFF1A\u65E0\u6587\u4EF6\u4EA4\u96C6\u3001\u65E0\u771F\u5B9E\u6570\u636E\u4F9D\u8D56\u7684\u72EC\u7ACB\u5B50\u4EFB\u52A1\u9ED8\u8BA4\u5E76\u53D1\u6D3E\u53D1\uFF1B\u4E0D\u8981\u56E0\u5171\u7528\u540C\u4E00\u6267\u884C agent/\u901A\u9053\u800C\u81EA\u884C\u52A0\u300C\u901A\u9053\u4E32\u884C\u300D\u4FDD\u5B88\u5047\u8BBE\uFF08\u540C\u901A\u9053\u5141\u8BB8\u5E76\u53D1 fork\uFF0C\u5B9E\u4F8B\u95F4\u65E0\u4E0A\u4E0B\u6587\u5171\u4EAB\uFF09\uFF0C\u53EA\u6709\u771F\u5B9E\u6587\u4EF6/\u6570\u636E\u4F9D\u8D56\u6216 brief \u660E\u793A\u51B2\u7A81\u9762\u65F6\u624D\u4E32\u884C\u3002
195
205
  3. \u6392\u9519\u5148\u5206\u8BCA\uFF1AagentKey \u6CA1\u7167\u6284 listAgents \u5C31\u5148\u4FEE key\uFF08\u4E0D\u7B97\u901A\u9053\u6545\u969C\uFF09\uFF1B\u62A5\u9519\u542B not found / invalid ref / Local agent config not found \u2192 \u5148 readAgent \u590D\u6838\uFF0C**\u7981\u6B62**\u636E\u6B64\u63A8\u65AD\u51ED\u8BC1\u7F3A\u5931\u6216\u901A\u9053\u5168\u6302\uFF1B\u540C\u4E00\u5DF2\u9A8C\u8BC1 key \u4ECD\u5931\u8D25\u4E14\u9519\u8BEF\u660E\u786E\u6307\u5411\u901A\u9053\uFF08429\u3001\u9274\u6743\u5931\u8D25\u3001machine offline\uFF09\u624D\u8BB0\u4E3A\u901A\u9053\u6545\u969C\u3002\u5224\u5B9A\u300C\u6D3E\u53D1\u901A\u9053\u6574\u4F53\u4E0D\u53EF\u7528\u300D\u9700 \u22652 \u4E2A\u4E0D\u540C\u5019\u9009\u5404\u81EA\u5B8C\u6210\u300C\u5DF2\u9A8C\u8BC1 key + \u4E00\u6B21\u771F\u5B9E\u6D3E\u53D1\u300D\u4E14\u5931\u8D25\uFF0C\u5019\u9009\u4E0D\u8DB3\u5C31\u5982\u5B9E\u62A5\u544A\u300C\u4EC5\u6B64\u5019\u9009\u4E14\u901A\u9053\u5931\u8D25\u300D\uFF0C\u4E0D\u5F97\u5938\u5927\u6210\u5168\u5E93\u4E0D\u53EF\u7528\u3002
196
206
  4. \u53EA\u6709 status=failed/\u8D85\u65F6\u6216 progress \u957F\u65F6\u95F4\u65E0\u52A8\u9759\uFF08\u7591\u4F3C\u5361\u6B7B\uFF09\u624D\u62C9 tailLines:30 \u770B\u65E5\u5FD7\u3002append \u53EF\u76F4\u63A5\u8C03\u7528\u2014\u2014not found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u5165\u961F\u7531 executor \u81EA\u8BC1\uFF1Bstop \u53EF\u76F4\u63A5\u8C03\u7528\uFF0Cnot found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u7531\u63A7\u5236\u5E73\u9762\u81EA\u884C\u5904\u7406\uFF08\u5DF2\u7EC8\u6001\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u4F1A\u88AB\u8986\u76D6\uFF09\u3002`;
197
207
  var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C\uFF08\u591A Agent \u534F\u4F5C\uFF1A\u8BA1\u5212 \u2192 \u6309\u9700\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
198
208
  \u4EA7\u51FA\u4F18\u5148\uFF1A\u4E0D\u4E3A\u300C\u51D1\u6570\u91CF\u300D\u6D3E\u53D1\uFF0C\u4E5F\u4E0D\u5305\u529E\u53EF\u5E76\u884C\u7684\u72EC\u7ACB\u9886\u57DF\uFF1B\u6BCF\u8F6E\u63A8\u8FDB\u5F53\u524D\u6700\u6709\u4EF7\u503C\u7684\u52A8\u4F5C\uFF0C\u62FF\u8BC1\u636E\u518D\u5224\u65AD\u3002
199
209
 
210
+ **\u6D3E\u53D1\u4EF7\u503C\uFF08\u5148\u5224\u65AD\u503C\u4E0D\u503C\u5F97\u6D3E\uFF0C\u518D\u9009\u4EBA\uFF09**\uFF1A
211
+ - \u4E0D\u4E3A\u201C\u770B\u8D77\u6765\u50CF\u591A Agent\u201D\u800C\u6D3E\u53D1\u3002\u53EA\u6709\u9884\u671F\u65B0\u589E\u4EF7\u503C\u660E\u663E\u5927\u4E8E\u534F\u4F5C\u6210\u672C\u65F6\u624D\u6D3E\u3002
212
+ - \u4EF7\u503C\u4E0D\u53EA\u770B\u201C\u4E3B Agent \u505A\u4E0D\u52A8\u201D\u3002\u81F3\u5C11\u4ECE\u4E09\u79CD\u6760\u6746\u5224\u65AD\uFF1A
213
+ 1. **\u4E0A\u4E0B\u6587\u6760\u6746\uFF08Context leverage\uFF09**\uFF1A\u628A\u673A\u68B0 inventory\u3001\u5927\u8F93\u51FA\u3001\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u8BC1\u636E\u641C\u96C6\u9694\u79BB\u51FA\u53BB\uFF0C\u4FDD\u62A4\u4E3B\u5BF9\u8BDD\u4E0A\u4E0B\u6587\u4E0E\u6CE8\u610F\u529B\u3002
214
+ 2. **\u5E76\u884C\u6760\u6746\uFF08Parallel leverage\uFF09**\uFF1A\u4E24\u4E2A\u6216\u66F4\u591A\u4E92\u4E0D\u4F9D\u8D56\u7684\u5DE5\u4F5C\u6D41\u53EF\u4EE5\u540C\u65F6\u63A8\u8FDB\uFF0C\u7F29\u77ED\u603B\u5B8C\u6210\u65F6\u95F4\u3002
215
+ 3. **\u8BA4\u77E5\u6760\u6746\uFF08Cognitive leverage\uFF09**\uFF1A\u72EC\u7ACB\u89C6\u89D2\u3001\u53CD\u65B9\u5BA1\u67E5\u3001\u521B\u610F\u5206\u652F\u3001\u9886\u57DF\u4E13\u5BB6\u6216\u4E0D\u540C\u6A21\u578B\u80FD\u663E\u8457\u63D0\u9AD8\u65B9\u6848\u8D28\u91CF\u3001\u53D1\u73B0\u76F2\u533A\u6216\u964D\u4F4E\u5171\u4EAB\u9519\u8BEF\u98CE\u9669\u3002\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u7814\u7A76\u3001\u5199\u4F5C\u3001\u6218\u7565\u548C\u590D\u6742\u51B3\u7B56\u540C\u6837\u9002\u7528\uFF0C\u4E0D\u9650\u4E8E\u4EE3\u7801\u3002
216
+ - **\u53CD\u7EA6\u675F**\uFF1A\u5982\u679C\u5B50 Agent \u9884\u8BA1\u53EA\u4F1A\u590D\u8FF0\u7236 Agent \u5DF2\u77E5\u4FE1\u606F\u3001\u6CA1\u6709\u72EC\u7ACB\u8BC1\u636E/\u89C6\u89D2/\u5E76\u884C\u6536\u76CA\uFF0C\u5C31\u4E0D\u8981\u6D3E\u3002\u4E0D\u8981\u628A\u534F\u8C03\u5F00\u9500\u4F2A\u88C5\u6210\u201C\u66F4\u8BA4\u771F\u201D\u3002
217
+ - **\u4FDD\u62A4\u7528\u6237\u6CE8\u610F\u529B**\uFF1A\u7F16\u6392\u8005\u5E94\u5148\u5728\u5185\u90E8\u5B8C\u6210\u80FD\u53EF\u9760\u5B8C\u6210\u7684\u6BD4\u8F83\u3001\u7B5B\u9009\u4E0E\u9ED8\u8BA4\u5224\u65AD\uFF1B\u53EA\u6709\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u7B49\u771F\u6B63\u9700\u8981\u7528\u6237\u51B3\u5B9A\u7684\u4E8B\u9879\u624D\u6253\u65AD\u7528\u6237\u3002\u4E0D\u8981\u628A\u201C\u8BF7\u9009\u62E9 A/B/C\u201D\u5F53\u4F5C\u5DF2\u7ECF\u5B8C\u6210\u89C4\u5212\uFF1B\u6709\u8DB3\u591F\u4F9D\u636E\u65F6\u5148\u7ED9\u63A8\u8350\u4E0E\u7406\u7531\uFF0C\u5E76\u8BF4\u660E\u4F55\u79CD\u6761\u4EF6\u4E0B\u5E94\u6539\u9009\u3002
218
+
200
219
  **\u5E73\u53F0 Agent / \u5E73\u53F0\u79EF\u5206\u6263\u8D39\u786E\u8BA4\u786C\u95F8\u95E8\uFF08\u5FC5\u987B\u5148\u786E\u8BA4\uFF0C\u540E\u8C03\u7528\uFF09**\uFF1A
201
220
  - \u53EA\u8981\u5019\u9009 Agent \u7684 apiSource \u4E3A platform\uFF0C\u6216\u65E0\u6CD5\u786E\u8BA4\u8C03\u7528\u662F\u5426\u6D88\u8017\u5E73\u53F0\u79EF\u5206/\u989D\u5EA6\uFF0C\u5C31\u5FC5\u987B\u628A\u5B83\u89C6\u4E3A\u53EF\u80FD\u6263\u8D39\u7684\u9AD8\u6210\u672C\u8C03\u7528\u3002
202
221
  - **\u4EC5\u544A\u77E5\u7528\u6237\u201C\u4F1A\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u201D\u4E0D\u7B49\u4E8E\u83B7\u5F97\u6388\u6743\u3002** \u8C03\u7528 startAgentRun \u524D\uFF0C\u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\uFF1A\u539F\u4F18\u5148\u901A\u9053\u4E3A\u4F55\u4E0D\u53EF\u7528\u3001\u5019\u9009\u5E73\u53F0 Agent\u3001\u9884\u8BA1\u6263\u8D39/\u79EF\u5206\u5F71\u54CD\uFF0C\u5E76\u505C\u4E0B\u6765\u7B49\u5F85\u7528\u6237\u5F53\u6B21\u660E\u786E\u80AF\u5B9A\u6388\u6743\u3002
@@ -208,7 +227,7 @@ var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C
208
227
  **\u6D3E\u53D1\u524D\u81EA\u68C0**\uFF1A\u6BCF\u6B21\u8C03\u7528 startAgentRun \u524D\uFF0C\u5148\u6838\u5BF9 agentKey \u7684 apiSource\u3001\u6536\u85CF/\u79C1\u6709\u72B6\u6001\u3001\u5360\u7528\u72B6\u6001\uFF08\u4EC5\u5F53\u5DE5\u5177/\u901A\u9053\u660E\u786E\u8FD4\u56DE\u8BE5\u5019\u9009\u4E0D\u53EF\u7528\uFF0C\u6216\u9879\u76EE\u660E\u786E\u89C4\u5B9A\u5B58\u5728\u540C\u4E00 Agent \u7684\u8D44\u6E90\u9501\u65F6\u6210\u7ACB\uFF09\u548C\u5F53\u524D\u6388\u6743\uFF1B\u65E0\u6CD5\u786E\u8BA4\u6263\u8D39\u72B6\u6001\u65F6\u6309\u53EF\u80FD\u6263\u8D39\u5904\u7406\uFF0C\u5148\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u731C\u6D4B\u3002
209
228
 
210
229
  **\u5206\u6863\u6807\u51C6\uFF08\u4E24\u8D26\u5224\u636E\uFF1A\u4E0A\u4E0B\u6587\u8D26 / \u5E76\u884C\u8D26\uFF1B\u6A21\u578B\u6210\u672C\u4E0D\u6784\u6210\u6D3E\u53D1\u7406\u7531\uFF09**\uFF1A
211
- - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u76F4\u63A5\u56DE\u7B54\uFF1B\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
230
+ - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u9ED8\u8BA4\u76F4\u63A5\u56DE\u7B54\u2014\u2014\u4F46\u82E5\u95EE\u9898\u672C\u8EAB\u662F\u5F00\u653E\u5F0F\u521B\u4F5C\u3001\u590D\u6742\u53D6\u820D\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u3001\u91CD\u5927\u51B3\u7B56\u6216\u660E\u786E\u5B58\u5728\u591A\u89C6\u89D2\u4EF7\u503C\uFF0C\u8BA4\u77E5\u6760\u6746\u547D\u4E2D\u5373\u6309\u53D1\u6563/\u4F1A\u5546\u6D3E\u53D1\uFF1B\u53EA\u6709\u786E\u5B9E\u6CA1\u6709\u65B0\u589E\u89C6\u89D2/\u8BC1\u636E/\u5E76\u884C\u6536\u76CA\u65F6\u624D\u76F4\u63A5\u56DE\u7B54\u3002\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
212
231
  - **\u4E0A\u4E0B\u6587\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u9A8C\u8BC1\u5FAA\u73AF \u22653 \u6B21\u300C\u8DD1\u547D\u4EE4\u2192\u770B\u62A5\u9519\u2192\u6539\u300D\uFF0C\u6216\u5355\u6B65\u5927\u8F93\u51FA\uFF08\u5168\u91CF typecheck \u62A5\u9519\u3001\u957F\u6D4B\u8BD5\u6808\u3001\u5927 diff\u3001\u5927\u6587\u4EF6\u8BFB\u53D6\uFF09\u2014\u2014\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u4E0E\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u4EA4\u7ED9\u5B50 Agent\uFF1B\u7236 Agent \u63A5\u6536\u7ED3\u6784\u5316\u8BC1\u636E\uFF0C\u5E76\u4EB2\u81EA\u590D\u6838\u6240\u6709\u5F71\u54CD\u5173\u952E\u51B3\u7B56\u7684\u539F\u59CB\u8BC1\u636E\u3002
213
232
  - **\u5173\u952E\u51B3\u7B56\u4E0A\u4E0B\u6587\u4E0D\u5916\u5305**\uFF1A\u4E0A\u4E0B\u6587\u8D26\u53EA\u51B3\u5B9A\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u3001\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u7684\u6D3E\u53D1\uFF1B\u6D89\u53CA\u67B6\u6784\u3001\u8BA1\u8D39\u3001\u5B89\u5168\u3001\u6743\u9650\u3001\u6570\u636E\u5B8C\u6574\u6027\u3001\u4E0D\u53EF\u9006\u8FC1\u79FB\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u65F6\uFF0C\u7F16\u6392\u8005\u5FC5\u987B\u4EB2\u81EA\u8BFB\u53D6\u8DB3\u4EE5\u51B3\u7B56\u7684\u4E00\u7EA7\u4EE3\u7801\u3001\u6B63\u5F0F\u771F\u503C\u3001\u539F\u59CB\u65E5\u5FD7\u548C\u771F\u5B9E\u6570\u636E\u8BC1\u636E\uFF1B\u5B50 Agent \u53EF\u505A\u5B9A\u4F4D\u3001\u673A\u68B0\u6536\u96C6\u3001\u72EC\u7ACB\u590D\u6838\u4E0E\u53CD\u65B9\u5BA1\u67E5\uFF0C\u4F46\u5176\u6458\u8981\u4E0D\u80FD\u66FF\u4EE3\u5173\u952E\u4E0A\u4E0B\u6587\u4EB2\u8BFB\u3002
214
233
  - **\u5E76\u884C\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u22652 \u4E2A\u4E92\u4E0D\u4F9D\u8D56\u7684\u72EC\u7ACB\u9886\u57DF\uFF0C\u6216\u4ED3\u5E93\u6539\u52A8\uFF0B\u9A8C\u8BC1\uFF0B\u53D1\u5E03/\u8FC1\u79FB\u957F\u94FE\u8DEF \u2192 \u6309\u9886\u57DF\u5E76\u53D1\u6D3E\u53D1\u3002
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-MXUSPS2N.js";
3
+ } from "./chunk-VRLI2WNW.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-AJHEFRGJ.js";
8
+ } from "./chunk-ASGDO77C.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";
@@ -4,15 +4,15 @@ import {
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
6
  xaiRefresh
7
- } from "./chunk-EDZAJS6E.js";
7
+ } from "./chunk-Z33ARZCP.js";
8
+ import {
9
+ defaultLoopbackRequest
10
+ } from "./chunk-EADNWBAZ.js";
8
11
  import {
9
12
  createChromeConnectorClient,
10
13
  createVerifiedChromeConnectorClient,
11
14
  executeChromeConnectorTool
12
15
  } from "./chunk-QCZX4FTW.js";
13
- import {
14
- defaultLoopbackRequest
15
- } from "./chunk-EADNWBAZ.js";
16
16
  import {
17
17
  ackRunRecord,
18
18
  appendRunQueue,
@@ -29,7 +29,7 @@ import {
29
29
  terminateRunProcess,
30
30
  transitionRunToTerminal,
31
31
  withQueueLock
32
- } from "./chunk-HH65VA5U.js";
32
+ } from "./chunk-CPH3W5A7.js";
33
33
  import {
34
34
  clearCredentialAvailability,
35
35
  markCredentialUnavailable,
@@ -40,27 +40,27 @@ import {
40
40
  } from "./chunk-DWUCB2A3.js";
41
41
  import {
42
42
  buildLocalAgentLookupKeys
43
- } from "./chunk-OAJRZ35U.js";
43
+ } from "./chunk-IIKPWSPX.js";
44
44
  import {
45
45
  LOCAL_CODEX_AGENT_ID,
46
46
  LOCAL_CODEX_AGENT_KEY,
47
47
  NOLO_DEFAULT_AGENT_ID,
48
48
  NOLO_DEFAULT_AGENT_KEY
49
- } from "./chunk-SPAQ4PVV.js";
49
+ } from "./chunk-SAFZABH7.js";
50
50
  import {
51
51
  CliProviderQuotaError,
52
52
  executeCli
53
53
  } from "./chunk-MP64VFGD.js";
54
54
  import {
55
55
  inferCaptureIntent
56
- } from "./chunk-SR2I44ML.js";
56
+ } from "./chunk-DPQ2WVBY.js";
57
57
  import {
58
58
  buildCliPrompt
59
59
  } from "./chunk-ATNTHIZI.js";
60
60
  import {
61
61
  inlineImageUrlsForCustomProvider,
62
62
  prepareTools
63
- } from "./chunk-KMIMGCZT.js";
63
+ } from "./chunk-HYZHJ5GW.js";
64
64
  import {
65
65
  getServerProviderSecret
66
66
  } from "./chunk-HS7MLR74.js";
@@ -78,11 +78,11 @@ import {
78
78
  rememberMemoryFunctionSchema,
79
79
  resolveAgentRequiredPackIds,
80
80
  setTodoListFunc
81
- } from "./chunk-NJBLAV2R.js";
81
+ } from "./chunk-WXPVOQD7.js";
82
82
  import {
83
83
  fetchWithTransientRetry,
84
84
  isTransientFetchError
85
- } from "./chunk-5XTOKQLW.js";
85
+ } from "./chunk-5UTFL4QJ.js";
86
86
  import {
87
87
  TASK_PREVIEW_MAX,
88
88
  formatListRunsCard,
@@ -101,19 +101,20 @@ import {
101
101
  prepareTokenUsageData,
102
102
  resolveBuiltinPlatformAgentConfig,
103
103
  runKeyed
104
- } from "./chunk-QIU65GHY.js";
104
+ } from "./chunk-HMEMJ7GH.js";
105
105
  import {
106
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
106
107
  BUILTIN_TITLE_LLM_CONFIG
107
- } from "./chunk-EVBFYPDC.js";
108
+ } from "./chunk-MC4XLIJ7.js";
108
109
  import {
109
110
  fetchServerSyncedCredential
110
- } from "./chunk-M5K26BH3.js";
111
+ } from "./chunk-TVNI5FLG.js";
111
112
  import {
112
113
  require_date_fns
113
114
  } from "./chunk-M76ECQRD.js";
114
115
  import {
115
116
  getDefaultCliLocalRuntimeDb
116
- } from "./chunk-C3FZR5EC.js";
117
+ } from "./chunk-2F7RJC6L.js";
117
118
  import {
118
119
  FORCED_TOOLS,
119
120
  addDefaultLightWebToolsForConfiguredAgents,
@@ -123,7 +124,7 @@ import {
123
124
  applySystemBuiltinSkillFilter,
124
125
  expandEnabledPacks,
125
126
  resolveEffectiveEnabledPacks
126
- } from "./chunk-WVXCW7DR.js";
127
+ } from "./chunk-CLI4LFSM.js";
127
128
  import {
128
129
  DEFAULT_HYBRID_READ_TIMEOUT_MS,
129
130
  Duration_exports,
@@ -160,7 +161,7 @@ import {
160
161
  resolveOpenAiCompatibleProviderConfig,
161
162
  shouldUseGeminiNativeToolRoute,
162
163
  summarizeToolArguments
163
- } from "./chunk-EVCXTAOR.js";
164
+ } from "./chunk-4BYPU626.js";
164
165
  import {
165
166
  PlatformStreamInterruptedError,
166
167
  buildPlatformChatCompletionRequest,
@@ -172,14 +173,14 @@ import {
172
173
  readSseDataValues,
173
174
  resolvePlatformChatProviderConfig,
174
175
  shouldUsePlatformChatProvider
175
- } from "./chunk-6LUUGZTS.js";
176
- import {
177
- isDevinOAuthAgent
178
- } from "./chunk-FMODTASJ.js";
176
+ } from "./chunk-SMZSWB44.js";
179
177
  import {
180
178
  resolveAgentRuntimeConfigFromRecord,
181
179
  resolveHistoricalToolContentCap
182
- } from "./chunk-5XV64MAU.js";
180
+ } from "./chunk-QHETQ3KI.js";
181
+ import {
182
+ isDevinOAuthAgent
183
+ } from "./chunk-5ZUL4CUO.js";
183
184
  import {
184
185
  collectStablePromptPrefix,
185
186
  convertMessagesToResponsesInput,
@@ -190,7 +191,7 @@ import {
190
191
  buildNoloWorkspaceOpenAiTools,
191
192
  parseNoloWorkspaceToolArguments,
192
193
  resolveRuntimeToolSurfaceForAgent
193
- } from "./chunk-OKCTLCKS.js";
194
+ } from "./chunk-YOXYA2GU.js";
194
195
  import {
195
196
  mergeAvailabilityDeadline,
196
197
  resolveAvailabilityAction,
@@ -198,30 +199,30 @@ import {
198
199
  } from "./chunk-CJCJF5XB.js";
199
200
  import {
200
201
  isAntigravityOAuthAgent
201
- } from "./chunk-LHDV2QUI.js";
202
+ } from "./chunk-MJHQ3NRV.js";
202
203
  import {
203
204
  resolvePlatformAuthToken
204
- } from "./chunk-TMPLPCVX.js";
205
+ } from "./chunk-K7M3MWCE.js";
205
206
  import {
206
207
  buildDialogFallbackTitleFromUserInput,
207
208
  normalizeDialogTitle
208
209
  } from "./chunk-2MBTWINN.js";
209
210
  import {
210
211
  normalizeUsage
211
- } from "./chunk-IZWQKAGJ.js";
212
+ } from "./chunk-F2CGG72C.js";
212
213
  import {
213
214
  clipCompactText,
214
215
  createProviderCallTimingTracker,
215
216
  finalizeProviderCallTiming,
216
217
  observeMeaningfulProviderResponseAt,
217
218
  withProviderCallTimingFields
218
- } from "./chunk-DJM4BCSB.js";
219
+ } from "./chunk-VHJLQHPQ.js";
219
220
  import {
220
221
  estimateTokenCount
221
222
  } from "./chunk-PSCNXBYA.js";
222
223
  import {
223
224
  isAdaptiveThinkingModelId
224
- } from "./chunk-MXUSPS2N.js";
225
+ } from "./chunk-VRLI2WNW.js";
225
226
  import {
226
227
  compactWhitespace
227
228
  } from "./chunk-DWLEOOGR.js";
@@ -261,7 +262,7 @@ import {
261
262
  } from "./chunk-QSJ3HFEF.js";
262
263
  import {
263
264
  isSystemBuiltinTrustedAgentKey
264
- } from "./chunk-HJKGQPYF.js";
265
+ } from "./chunk-TL6L5XUT.js";
265
266
  import {
266
267
  isRecord
267
268
  } from "./chunk-KUG52IAP.js";
@@ -578,6 +579,10 @@ var STRINGS = {
578
579
  en: "\u2713 Copied the selection to the clipboard.",
579
580
  zh: "\u2713 \u5DF2\u590D\u5236\u9009\u533A\u5230\u526A\u8D34\u677F\u3002"
580
581
  },
582
+ copiedSelectionBusy: {
583
+ en: "\u2713 Copied the selection to the clipboard. Press Esc to stop generating.",
584
+ zh: "\u2713 \u5DF2\u590D\u5236\u9009\u533A\u5230\u526A\u8D34\u677F\u3002\u6309 Esc \u505C\u6B62\u751F\u6210\u3002"
585
+ },
581
586
  copiedAllHistory: {
582
587
  en: "\u2713 Copied the full conversation to the clipboard.",
583
588
  zh: "\u2713 \u5DF2\u590D\u5236\u5B8C\u6574\u5BF9\u8BDD\u5230\u526A\u8D34\u677F\u3002"
@@ -11832,13 +11837,18 @@ async function generateLocalDialogTitle(input) {
11832
11837
  return { title: fallbackTitle, source: "fallback" };
11833
11838
  }
11834
11839
  if (input.resolveProviderConfig && input.buildRequest && input.parseResponse) {
11835
- try {
11836
- const providerConfig = await input.resolveProviderConfig({
11837
- agentConfig: { ...BUILTIN_TITLE_LLM_CONFIG, key: BUILTIN_TITLE_LLM_CONFIG.id },
11838
- env
11839
- });
11840
- if (providerConfig?.authToken) {
11841
- const request = input.buildRequest({
11840
+ const resolveProviderConfig = input.resolveProviderConfig;
11841
+ const buildRequest = input.buildRequest;
11842
+ const parseResponse = input.parseResponse;
11843
+ const attemptPlatformTitle = async (model) => {
11844
+ try {
11845
+ const agentConfig = model ? { ...BUILTIN_TITLE_LLM_CONFIG, model } : BUILTIN_TITLE_LLM_CONFIG;
11846
+ const providerConfig = await resolveProviderConfig({
11847
+ agentConfig: { ...agentConfig, key: agentConfig.id },
11848
+ env
11849
+ });
11850
+ if (!providerConfig?.authToken) return null;
11851
+ const request = buildRequest({
11842
11852
  providerConfig,
11843
11853
  messages: [
11844
11854
  {
@@ -11870,21 +11880,26 @@ async function generateLocalDialogTitle(input) {
11870
11880
  body: JSON.stringify(patchedBody),
11871
11881
  signal: AbortSignal.timeout(timeoutMs)
11872
11882
  });
11873
- if (res.ok) {
11874
- const raw = await res.text().catch(() => "");
11875
- const data = safeParseJson(raw);
11876
- if (data) {
11877
- const parsed = input.parseResponse({ providerConfig, data });
11878
- const generated = normalizeDialogTitle(
11879
- extractTitleFromLlmContent(parsed.content)
11880
- );
11881
- if (generated) {
11882
- return { title: generated, source: "llm" };
11883
- }
11884
- }
11885
- }
11883
+ if (!res.ok) return null;
11884
+ const raw = await res.text().catch(() => "");
11885
+ const data = safeParseJson(raw);
11886
+ if (!data) return null;
11887
+ const parsed = parseResponse({ providerConfig, data });
11888
+ const generated = normalizeDialogTitle(
11889
+ extractTitleFromLlmContent(parsed.content)
11890
+ );
11891
+ return generated || null;
11892
+ } catch {
11893
+ return null;
11886
11894
  }
11887
- } catch {
11895
+ };
11896
+ const primaryTitle = await attemptPlatformTitle();
11897
+ if (primaryTitle) return { title: primaryTitle, source: "llm" };
11898
+ const fallbackModelTitle = await attemptPlatformTitle(
11899
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL
11900
+ );
11901
+ if (fallbackModelTitle) {
11902
+ return { title: fallbackModelTitle, source: "llm" };
11888
11903
  }
11889
11904
  }
11890
11905
  if (input.resolveDirectProviderConfig) {
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  DEFAULT_SYSTEM_AGENT_CAPABILITIES,
6
6
  noloAgentId
7
- } from "./chunk-BEQGQMYW.js";
7
+ } from "./chunk-RZANZZL2.js";
8
8
  import {
9
9
  asRecordOrEmpty
10
10
  } from "./chunk-KX6YBIHG.js";
@@ -14,7 +14,7 @@ import {
14
14
  toTimestampMs,
15
15
  upsert,
16
16
  write
17
- } from "./chunk-X7WAX4JU.js";
17
+ } from "./chunk-UA5S3LQQ.js";
18
18
  import {
19
19
  createUserKey,
20
20
  createUserPreferenceKey,
@@ -93,17 +93,11 @@ function buildDevinOAuthCredential(token, now = Date.now()) {
93
93
  obtainedAt: now
94
94
  };
95
95
  }
96
- function isDevinOAuthAgent(agent) {
97
- const ref = agent.apiKeyRef?.trim().toLowerCase();
98
- const prov = agent.provider?.trim().toLowerCase();
99
- return ref === "devin" || prov === "devin";
100
- }
101
96
 
102
97
  export {
103
98
  DEVIN_CONNECT_URL,
104
99
  buildDevinAuthUrl,
105
100
  extractDevinToken,
106
101
  detectLocalDevinCredentials,
107
- buildDevinOAuthCredential,
108
- isDevinOAuthAgent
102
+ buildDevinOAuthCredential
109
103
  };
@@ -2,7 +2,7 @@ import {
2
2
  LOCAL_CODEX_AGENT_KEY,
3
3
  isLocalCliAgentKey,
4
4
  resolveCliAgentKeyInput
5
- } from "./chunk-SPAQ4PVV.js";
5
+ } from "./chunk-SAFZABH7.js";
6
6
  import {
7
7
  DEFAULT_NOLO_SERVER_URL
8
8
  } from "./chunk-OLZBQWZU.js";