nolo-cli 0.65.0 → 0.66.0-alpha.3

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 (76) hide show
  1. package/{_executeModel-R26QYY66.js → _executeModel-TBSKCSBE.js} +21 -21
  2. package/{agentDeleteCommand-6R6EXQOR.js → agentDeleteCommand-22K5XPEC.js} +11 -11
  3. package/{agentEmailCommands-AKENZOKO.js → agentEmailCommands-U56B5FHS.js} +26 -26
  4. package/{agentListCommands-XJU3JJQO.js → agentListCommands-D6JN4CL4.js} +18 -13
  5. package/{agentMachineCommands-V7IJDPAY.js → agentMachineCommands-KTW5UF5B.js} +12 -12
  6. package/{agentRecordCommands-VIEINDIV.js → agentRecordCommands-TVNB6F7R.js} +25 -25
  7. package/{agentRunCommand-GT5ZTYRM.js → agentRunCommand-ORQVEPWY.js} +25 -25
  8. package/{agentRunControl-WECMOO6O.js → agentRunControl-T44MESII.js} +1 -1
  9. package/{agentRuntimeLocal-HGJ4D3JF.js → agentRuntimeLocal-5ENMNOG5.js} +11 -11
  10. package/{agentSlice-7XJH5WQF.js → agentSlice-FYVXEVSO.js} +1 -1
  11. package/{appDeleteCommands-VG2UVW4T.js → appDeleteCommands-TCJYBQHN.js} +11 -11
  12. package/{appDeployCommands-PABMVMN2.js → appDeployCommands-2O4Y7BB3.js} +11 -11
  13. package/{appDeployStatusCommands-X7WEU4TU.js → appDeployStatusCommands-M6U7ZLJ7.js} +11 -11
  14. package/{appGetCommands-NQYXHVJL.js → appGetCommands-H2JW2R4K.js} +11 -11
  15. package/{appListCommands-5NGZQ6IK.js → appListCommands-MWFD4SXY.js} +11 -11
  16. package/{authCommand-WOTWLJNF.js → authCommand-QHMBXOOH.js} +7 -7
  17. package/{chatQueueReduxAdapter-F3R253JE.js → chatQueueReduxAdapter-ZFRURUPP.js} +7 -7
  18. package/{chunk-VAKVNHK5.js → chunk-2NVUXKVF.js} +7 -7
  19. package/{chunk-LJ6OKZ6D.js → chunk-2WB3CWWX.js} +17 -13
  20. package/{chunk-3ROJR3TG.js → chunk-4TNFXQTF.js} +7 -7
  21. package/{chunk-SYNKICCB.js → chunk-5RHCYQBK.js} +2 -2
  22. package/{chunk-22BTGNSP.js → chunk-5YIL5WDC.js} +38 -5
  23. package/{chunk-FKFMIBTT.js → chunk-6IT5ECCC.js} +1 -1
  24. package/{chunk-ZRSJ3JEH.js → chunk-AJF6YRN7.js} +5 -11
  25. package/{chunk-QEFJJS2I.js → chunk-AM3KKSJJ.js} +10 -9
  26. package/{chunk-BWIPK2PD.js → chunk-AQPKZXCQ.js} +53 -16
  27. package/{chunk-MXUDQZXQ.js → chunk-BNATE77Z.js} +1 -1
  28. package/{chunk-OOCYHKCV.js → chunk-EIBTZ5WF.js} +1 -1
  29. package/{chunk-45YO6H7P.js → chunk-HH65VA5U.js} +21 -0
  30. package/{chunk-TBHAHL33.js → chunk-JMVS6OB2.js} +16 -12
  31. package/{chunk-XAVSS3KE.js → chunk-KFE6BJJS.js} +8 -1
  32. package/{chunk-F44FAXP2.js → chunk-LNFMVJK5.js} +3 -3
  33. package/{chunk-3BLB7QKO.js → chunk-N2COMZCD.js} +55 -2
  34. package/{chunk-DWYSDNOH.js → chunk-NPZQNQFD.js} +4 -4
  35. package/{chunk-N6HLMLKE.js → chunk-PAETKIBR.js} +1 -1
  36. package/{chunk-7A3RRUCQ.js → chunk-PGX53HOY.js} +2 -2
  37. package/{chunk-5ZYA4JJ3.js → chunk-Q6FPSY5O.js} +2 -2
  38. package/{chunk-NO42UD73.js → chunk-ROXJVF7X.js} +1 -1
  39. package/{chunk-PQDIDWGX.js → chunk-RSDPPLSM.js} +1 -1
  40. package/{chunk-E3YVTQWT.js → chunk-RW76G3YN.js} +2 -2
  41. package/{chunk-3QGUVVX5.js → chunk-SHPRRU2W.js} +2 -2
  42. package/{chunk-LJKICKVC.js → chunk-SQDGTW2T.js} +2 -2
  43. package/{chunk-MMZ6ZTVO.js → chunk-TQC77XVE.js} +4 -3
  44. package/{chunk-RDBARW6T.js → chunk-VLQRD7ZJ.js} +2 -2
  45. package/{chunk-CQ2OZMLQ.js → chunk-WF4MZQFZ.js} +28 -24
  46. package/{chunk-URHZKKK7.js → chunk-WVP4TZ4A.js} +3 -3
  47. package/{chunk-XOKOSO35.js → chunk-Y7PULBIA.js} +1 -1
  48. package/{chunk-GSXDRMDO.js → chunk-YEI76VEX.js} +2 -2
  49. package/{chunk-QEW2MFDQ.js → chunk-ZW22L5ES.js} +1 -1
  50. package/{chunk-7KELZLC2.js → chunk-ZZXMGOIJ.js} +10 -10
  51. package/{codingSkills-TKROLCBA.js → codingSkills-DB4QPUND.js} +2 -2
  52. package/{contentThunks-OZPK5B4Z.js → contentThunks-NUN6NRHW.js} +8 -8
  53. package/{createAgentAutomationAction-LCIBGE5T.js → createAgentAutomationAction-3MOAQ3JB.js} +8 -8
  54. package/{createDialogAction-JPJZMHJE.js → createDialogAction-AYGXU34I.js} +10 -10
  55. package/{createPageAction-6P2WLNHO.js → createPageAction-Y77VWMIU.js} +8 -8
  56. package/{dialogCommands-HGMV4NQJ.js → dialogCommands-23KV3AP6.js} +11 -11
  57. package/{dialogSlice-R5RZHFTU.js → dialogSlice-FEJXMIMV.js} +7 -7
  58. package/{docCreateCommands-WQT5EZG2.js → docCreateCommands-7H24OAVG.js} +11 -11
  59. package/{docDeleteCommands-GUMELBKM.js → docDeleteCommands-FUAMVMAV.js} +11 -11
  60. package/{docReadCommands-T6FDDKJ3.js → docReadCommands-ZOSN3RRZ.js} +11 -11
  61. package/{docStore-DKWZ6XJ5.js → docStore-5LRRKLQA.js} +1 -1
  62. package/{docUpdateCommands-GBWGXG2G.js → docUpdateCommands-Q3FFXNVX.js} +11 -11
  63. package/{getPricing-NM3NUTAS.js → getPricing-JRNHI5CV.js} +3 -3
  64. package/{handleSendMessageAction-UQGKM4UX.js → handleSendMessageAction-YMQD6VXX.js} +7 -7
  65. package/index.js +52 -52
  66. package/{machineCommands-SCGLQQCA.js → machineCommands-O2SEOXVE.js} +25 -25
  67. package/{machineWsRunDispatch-EAH5VIEL.js → machineWsRunDispatch-SZ2M5MMG.js} +25 -25
  68. package/{models-FAMINFZ7.js → models-NBVTQACP.js} +2 -2
  69. package/package.json +1 -1
  70. package/{readlineWorkspace-7FNJDYLD.js → readlineWorkspace-EZ2IKTXS.js} +32 -28
  71. package/{runAgentClientLoop-Y6HWP2PT.js → runAgentClientLoop-FJFKDMVZ.js} +19 -19
  72. package/{spaceCommands-76ECKNFH.js → spaceCommands-7XAOMP6I.js} +11 -11
  73. package/{streamAgentChatTurn-6WFQJ4DY.js → streamAgentChatTurn-4O2VTVPB.js} +22 -22
  74. package/{tools-RR53D65Q.js → tools-CHXW6V2S.js} +14 -14
  75. package/{tuiSummaryLlmCaller-F3DPFFZM.js → tuiSummaryLlmCaller-D7CCLLS7.js} +5 -5
  76. package/{updateDialogTitleAction-WXS3AKOL.js → updateDialogTitleAction-Y4UFJSEB.js} +8 -8
@@ -6,13 +6,16 @@ import {
6
6
  } from "./chunk-RJ2SAFB5.js";
7
7
  import {
8
8
  getModelAbility
9
- } from "./chunk-FKFMIBTT.js";
9
+ } from "./chunk-6IT5ECCC.js";
10
10
  import {
11
11
  isOwnedAgentKey,
12
12
  ownedAgentKey,
13
13
  publicAgentKey
14
14
  } from "./chunk-BJIRLHJR.js";
15
15
 
16
+ // packages/ai/agent/safeAgentSummary.ts
17
+ import { createHash } from "node:crypto";
18
+
16
19
  // packages/ai/agent/agentBilling.ts
17
20
  function resolveBillingSource(candidate) {
18
21
  if (candidate?.local === true || candidate?.isLocal === true || candidate?.cliProvider === "local" || candidate?.apiSource === "local" || candidate?.provider === "local" || candidate?.billingSource === "local") return "local";
@@ -194,6 +197,46 @@ function resolveEconomicsSnapshot(input, at, policies = ECONOMICS_POLICIES) {
194
197
  }
195
198
 
196
199
  // packages/ai/agent/safeAgentSummary.ts
200
+ function deriveCredentialGroup(ref) {
201
+ if (!ref || typeof ref !== "string") return void 0;
202
+ const trimmed = ref.trim();
203
+ if (!trimmed) return void 0;
204
+ if (isOAuthApiKeyRef(trimmed)) {
205
+ return {
206
+ credentialGroup: trimmed.toLowerCase(),
207
+ credentialKind: "oauth"
208
+ };
209
+ }
210
+ const hash = createHash("sha256").update(trimmed).digest("hex").slice(0, 12);
211
+ return {
212
+ credentialGroup: `cred-${hash}`,
213
+ credentialKind: "api-key"
214
+ };
215
+ }
216
+ function summarizeCredentialGroups(agents, now = Date.now()) {
217
+ const groups = /* @__PURE__ */ new Map();
218
+ for (const agent of agents) {
219
+ if (!agent.credentialGroup || !agent.credentialKind) continue;
220
+ const existing = groups.get(agent.credentialGroup);
221
+ const at = typeof agent.nextAvailableAt === "number" && agent.nextAvailableAt > now ? agent.nextAvailableAt : void 0;
222
+ if (!existing) {
223
+ groups.set(agent.credentialGroup, {
224
+ credentialGroup: agent.credentialGroup,
225
+ credentialKind: agent.credentialKind,
226
+ agentCount: 1,
227
+ ...at !== void 0 ? { availableAt: at } : {}
228
+ });
229
+ } else {
230
+ existing.agentCount += 1;
231
+ if (at !== void 0) {
232
+ existing.availableAt = Math.max(existing.availableAt ?? 0, at);
233
+ }
234
+ }
235
+ }
236
+ return Array.from(groups.values()).sort(
237
+ (a, b) => a.credentialGroup.localeCompare(b.credentialGroup)
238
+ );
239
+ }
197
240
  function parseTimestamp(val) {
198
241
  if (typeof val === "number" && Number.isFinite(val)) return val;
199
242
  if (typeof val === "string") return Date.parse(val) || 0;
@@ -327,6 +370,10 @@ function toSafeAgentSummary(record, options) {
327
370
  agentKey = publicKey;
328
371
  }
329
372
  }
373
+ const rawCredRef = (typeof record?.apiKeyRef === "string" && record.apiKeyRef ? record.apiKeyRef : void 0) ?? (typeof record?.credentialRef === "string" && record.credentialRef ? record.credentialRef : void 0);
374
+ const credInfo = deriveCredentialGroup(record?.credentialGroup ?? rawCredRef);
375
+ const credentialGroup = record?.credentialGroup ?? credInfo?.credentialGroup;
376
+ const credentialKind = record?.credentialKind ?? credInfo?.credentialKind;
330
377
  return {
331
378
  id,
332
379
  ...agentKey !== void 0 ? { agentKey } : {},
@@ -350,6 +397,8 @@ function toSafeAgentSummary(record, options) {
350
397
  isOwned,
351
398
  isOAuth,
352
399
  ...nextAvailableAt !== void 0 ? { nextAvailableAt } : {},
400
+ ...credentialGroup !== void 0 ? { credentialGroup } : {},
401
+ ...credentialKind !== void 0 ? { credentialKind } : {},
353
402
  updatedAt
354
403
  };
355
404
  }
@@ -374,7 +423,9 @@ var COMPACT_AGENT_SUMMARY_FIELDS = [
374
423
  // 仅限流中的 agent 才会带(可用 agent 上不存在)。对"现在能不能选它"是
375
424
  // 决策信息(CLI --show-unavailable 场景);默认列表已把这类 agent 过滤掉,
376
425
  // 所以通常根本不占字节。
377
- "nextAvailableAt"
426
+ "nextAvailableAt",
427
+ "credentialGroup",
428
+ "credentialKind"
378
429
  ];
379
430
  function omitNullishAgentSummaryFields(summary) {
380
431
  const result = {};
@@ -425,6 +476,8 @@ function toUnavailableAgentSummary(summary) {
425
476
  }
426
477
 
427
478
  export {
479
+ deriveCredentialGroup,
480
+ summarizeCredentialGroups,
428
481
  toSafeAgentSummary,
429
482
  sortSafeAgentSummaries,
430
483
  omitNullishAgentSummaryFields,
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-N6HLMLKE.js";
3
+ } from "./chunk-PAETKIBR.js";
4
4
  import {
5
5
  prepareAndPersistMessage,
6
6
  uiAskChoiceFunc,
7
7
  uiAskChoiceFunctionSchema
8
- } from "./chunk-TBHAHL33.js";
8
+ } from "./chunk-JMVS6OB2.js";
9
9
  import {
10
10
  require_date_fns
11
11
  } from "./chunk-M76ECQRD.js";
12
12
  import {
13
13
  TOOL_PACKS
14
- } from "./chunk-ZRSJ3JEH.js";
14
+ } from "./chunk-AJF6YRN7.js";
15
15
  import {
16
16
  buildSkillDocMarkdown
17
17
  } from "./chunk-AETZ7AD6.js";
18
18
  import {
19
19
  PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
20
20
  PLATFORM_HOSTED_KIMI_PROVIDER
21
- } from "./chunk-22BTGNSP.js";
21
+ } from "./chunk-5YIL5WDC.js";
22
22
  import {
23
23
  read,
24
24
  readAndWait,
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  deleteDialog,
8
8
  toast
9
- } from "./chunk-TBHAHL33.js";
9
+ } from "./chunk-JMVS6OB2.js";
10
10
  import {
11
11
  require_date_fns
12
12
  } from "./chunk-M76ECQRD.js";
@@ -35,7 +35,7 @@ import {
35
35
  resolvePlatformAuthToken,
36
36
  resolvePlatformServerUrl,
37
37
  resolveProviderTransportDecision
38
- } from "./chunk-RDBARW6T.js";
38
+ } from "./chunk-VLQRD7ZJ.js";
39
39
  import {
40
40
  clipCompactText,
41
41
  isMeaningfulChatCompletionOutput,
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-Z4QSJILV.js";
44
44
  import {
45
45
  NOLO_CLIENT_VERSION_HEADER
46
- } from "./chunk-22BTGNSP.js";
46
+ } from "./chunk-5YIL5WDC.js";
47
47
  import {
48
48
  isRecord
49
49
  } from "./chunk-KUG52IAP.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  MODEL_LOOKUP_MAP
3
- } from "./chunk-MMZ6ZTVO.js";
3
+ } from "./chunk-TQC77XVE.js";
4
4
  import {
5
5
  ALL_MODELS
6
- } from "./chunk-FKFMIBTT.js";
6
+ } from "./chunk-6IT5ECCC.js";
7
7
  import {
8
8
  BUILTIN_NOLO_AGENT_KEY
9
9
  } from "./chunk-L7B47JXR.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-7KELZLC2.js";
4
+ } from "./chunk-ZZXMGOIJ.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-MXUDQZXQ.js";
4
+ } from "./chunk-BNATE77Z.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TOOL_PACKS,
3
3
  buildCodeWorkDiscipline
4
- } from "./chunk-ZRSJ3JEH.js";
4
+ } from "./chunk-AJF6YRN7.js";
5
5
  import {
6
6
  buildSkillDocMarkdown,
7
7
  resolvePageSkillMetadata
@@ -226,7 +226,7 @@ var CODING_SKILL_SEEDS = [
226
226
  "reviewer \u4E0D\u5F97\u4FEE\u6539\u88AB\u5BA1\u6587\u4EF6\u3001\u5207\u5206\u652F\u3001\u56DE\u6EDA\u4ED6\u4EBA\u6539\u52A8\u3001\u8FD0\u884C\u4F1A\u5199\u5165\u5DE5\u4F5C\u533A/\u8FDC\u7AEF\u7684\u547D\u4EE4\u3002\u4E0D\u8981\u6574\u4F53\u7981\u7528 shell/\u6587\u4EF6\u5DE5\u5177\u2014\u2014review \u9700\u901A\u8FC7 `git diff`/`git status`/\u641C\u7D22/\u8BFB\u53D6\u53D6\u8BC1\u3002\u5141\u8BB8\u53EA\u8BFB Git/shell \u547D\u4EE4\u3002\u82E5 reviewer \u8FDD\u53CD\u4EA7\u751F\u6587\u4EF6\u6539\u52A8\uFF0C\u89C4\u5212\u8005\u89C6\u8BE5 review \u65E0\u6548\u5E76\u505C\u6B62 run\uFF0C\u4E0D\u5F97\u81EA\u52A8\u56DE\u6EDA\uFF08\u5DE5\u4F5C\u6811\u53EF\u80FD\u542B\u4ED6\u4EBA\u6539\u52A8\uFF09\u3002",
227
227
  "",
228
228
  "## \u6D3E\u53D1\u4E0E\u5B8C\u6210\u6761\u4EF6",
229
- "- \u4E00\u5F8B\u975E\u6301\u4E45\u5316\uFF08ephemeral\uFF09\u6D3E\u53D1\uFF0C\u5B8C\u6210\u540E\u4E0D\u7559 dialog \u8BB0\u5F55\uFF1A`startAgentRun(agentKey, task, { ephemeral: true })`\uFF1B\u5BBF\u4E3B\u5DE5\u5177\u4E0D\u53EF\u7528\u65F6\u7528 CLI \u5E26 `--ephemeral`\u3002",
229
+ "- \u6D3E\u53D1\uFF1A`startAgentRun(agentKey, task)`\uFF1B\u5BBF\u4E3B\u5DE5\u5177\u4E0D\u53EF\u7528\u65F6\u7528 CLI\u3002",
230
230
  "- \u89C4\u5212\u8005\u53EA\u628A diff/\u80CC\u666F/\u68C0\u67E5\u8303\u56F4/\u9A8C\u6536\u8BC1\u636E/\u89D2\u8272\u5199\u8FDB spec\uFF1B\u89C4\u5219\u7531\u672C\u6587\u4EF6\u63D0\u4F9B\uFF0C\u4E0D\u8981\u590D\u5236\u8FDB prompt\u3002",
231
231
  "- \u53EA\u6709\u5E26\u5B9E\u9645\u68C0\u67E5\u8BC1\u636E\u7684 finding \u6216 `Clean review` \u624D\u7B97\u5B8C\u6210\u3002\u7A7A\u54CD\u5E94\u3001\u53EA\u8BF4\u300C\u6211\u5148\u68C0\u67E5\u300D\u3001timeout \u90FD\u4E0D\u662F\u8BC1\u636E\uFF1B\u6700\u591A\u91CD\u8BD5\u4E00\u6B21\uFF0C\u4ECD\u65E0\u7ED3\u8BBA\u5C31\u6807\u8BB0 `review incomplete` \u4EA4 owner\uFF0C\u7981\u6B62\u65E0\u9650\u6362 agent\u3002",
232
232
  "",
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-AGGIDPCZ.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-MMZ6ZTVO.js";
9
+ } from "./chunk-TQC77XVE.js";
10
10
  import {
11
11
  isPlatformHostedImageModel
12
- } from "./chunk-22BTGNSP.js";
12
+ } from "./chunk-5YIL5WDC.js";
13
13
  import {
14
14
  asOptionalFiniteNumber
15
15
  } from "./chunk-WWC7I6TA.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-MMZ6ZTVO.js";
3
+ } from "./chunk-TQC77XVE.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-22BTGNSP.js";
8
+ } from "./chunk-5YIL5WDC.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";
@@ -9,7 +9,7 @@ import {
9
9
  platformHostedModels,
10
10
  toCnyCredits,
11
11
  zaiModels
12
- } from "./chunk-22BTGNSP.js";
12
+ } from "./chunk-5YIL5WDC.js";
13
13
 
14
14
  // packages/integrations/anthropic/anthropicModels.ts
15
15
  var anthropicModels = [
@@ -1580,6 +1580,7 @@ var referenceItemSchema = pipe(
1580
1580
  // packages/ai/llm/reasoningModels.ts
1581
1581
  var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
1582
1582
  "deepseek-flash",
1583
+ "deepseek-v4-pro",
1583
1584
  "gemini-3.7-flash",
1584
1585
  "gemini-3.8-flash",
1585
1586
  "gemini-3.6-flash",
@@ -1696,8 +1697,8 @@ var NOLO_MODEL_ALIASES = {
1696
1697
  "glm-5.2": "glm-5.3",
1697
1698
  "glm-5.3-flash": "glm-5-3-flash",
1698
1699
  "deepseek-v4-flash": "deepseek-flash",
1699
- "deepseek-v4-flash-vision-exp": "deepseek-flash",
1700
- "deepseek-v4-pro": "deepseek-flash"
1700
+ "deepseek-v4-flash-vision-exp": "deepseek-flash"
1701
+ // deepseek-v4-pro 已恢复为平台托管一等模型(2026-09-14 官方继续提供),不再折到 flash。
1701
1702
  };
1702
1703
  var normalizeLookupProvider = (provider) => {
1703
1704
  if (!provider) return null;
@@ -3,7 +3,7 @@ import {
3
3
  resolvePlatformChatCompletionsEndpoint,
4
4
  resolvePlatformHostedCredentialProvider,
5
5
  resolvePlatformResponsesEndpoint
6
- } from "./chunk-LJKICKVC.js";
6
+ } from "./chunk-SQDGTW2T.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-22BTGNSP.js";
14
+ } from "./chunk-5YIL5WDC.js";
15
15
  import {
16
16
  asTrimmedLowercaseString
17
17
  } from "./chunk-QSJ3HFEF.js";
@@ -25,10 +25,11 @@ import {
25
25
  import {
26
26
  omitNullishAgentSummaryFields,
27
27
  sortSafeAgentSummaries,
28
+ summarizeCredentialGroups,
28
29
  toCompactAgentSummary,
29
30
  toSafeAgentSummary,
30
31
  toUnavailableAgentSummary
31
- } from "./chunk-3BLB7QKO.js";
32
+ } from "./chunk-N2COMZCD.js";
32
33
  import {
33
34
  getUserDataItemTimestamp,
34
35
  mergeAndDedupUserData
@@ -80,14 +81,14 @@ import {
80
81
  } from "./chunk-VF4K2QE6.js";
81
82
  import {
82
83
  createDocState
83
- } from "./chunk-GSXDRMDO.js";
84
+ } from "./chunk-YEI76VEX.js";
84
85
  import {
85
86
  BUILTIN_OBJECT_SKILL_IDS,
86
87
  buildBuiltinObjectSkillConfig,
87
88
  buildBuiltinObjectSkillDbKey,
88
89
  buildBuiltinObjectSkillPageContent,
89
90
  createDialogAction
90
- } from "./chunk-DWYSDNOH.js";
91
+ } from "./chunk-NPZQNQFD.js";
91
92
  import {
92
93
  DEFAULT_COLLAPSED_CATEGORIES,
93
94
  addContentToSpace,
@@ -108,7 +109,7 @@ import {
108
109
  updateContentCategory,
109
110
  updateContentTitle,
110
111
  writeStoredCollapsedCategories
111
- } from "./chunk-N6HLMLKE.js";
112
+ } from "./chunk-PAETKIBR.js";
112
113
  import {
113
114
  getCurrentSpaceId,
114
115
  getCurrentSpaceIdRaw,
@@ -129,14 +130,14 @@ import {
129
130
  selectMsgById,
130
131
  uiAskChoiceFunc,
131
132
  uiAskChoiceFunctionSchema
132
- } from "./chunk-TBHAHL33.js";
133
+ } from "./chunk-JMVS6OB2.js";
133
134
  import {
134
135
  createAgent,
135
136
  deleteServerSyncedCredential,
136
137
  runLlm,
137
138
  streamAgentChatTurn,
138
139
  updateAgent
139
- } from "./chunk-F44FAXP2.js";
140
+ } from "./chunk-LNFMVJK5.js";
140
141
  import {
141
142
  getActiveDialogKey,
142
143
  selectCurrentDialogKey,
@@ -151,10 +152,10 @@ import {
151
152
  buildCodingSkillContentBySlug,
152
153
  buildCodingSkillId,
153
154
  buildCodingSkillPageKey
154
- } from "./chunk-E3YVTQWT.js";
155
+ } from "./chunk-RW76G3YN.js";
155
156
  import {
156
157
  CAPABILITY_PACKS
157
- } from "./chunk-ZRSJ3JEH.js";
158
+ } from "./chunk-AJF6YRN7.js";
158
159
  import {
159
160
  buildSkillDocMarkdown,
160
161
  normalizeSkillModalities,
@@ -186,7 +187,7 @@ import {
186
187
  } from "./chunk-Z4QSJILV.js";
187
188
  import {
188
189
  DEFAULT_MODEL
189
- } from "./chunk-MMZ6ZTVO.js";
190
+ } from "./chunk-TQC77XVE.js";
190
191
  import {
191
192
  compactWhitespace
192
193
  } from "./chunk-DWLEOOGR.js";
@@ -12441,7 +12442,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
12441
12442
  workspace: { mode: "lease" }
12442
12443
  };
12443
12444
  var findModelConfig = async (modelName, provider) => {
12444
- const { ALL_MODELS } = await import("./models-FAMINFZ7.js");
12445
+ const { ALL_MODELS } = await import("./models-NBVTQACP.js");
12445
12446
  const name = toTrimmedString(modelName);
12446
12447
  const prov = toTrimmedString(provider ?? "");
12447
12448
  if (!name) return null;
@@ -12686,7 +12687,7 @@ var buildPlatformFormDataFromArgs = async (args) => {
12686
12687
  const trimmedModel = toTrimmedString(model);
12687
12688
  const trimmedProvider = toTrimmedString(provider);
12688
12689
  const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
12689
- const { getModelPricing } = await import("./getPricing-NM3NUTAS.js");
12690
+ const { getModelPricing } = await import("./getPricing-JRNHI5CV.js");
12690
12691
  const normalizedTools = tools ?? [];
12691
12692
  const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
12692
12693
  const formData = {
@@ -15717,6 +15718,7 @@ function buildAgentDiscoveryResult(options) {
15717
15718
  const unavailableList = scopedAgents.filter((a) => isAgentUnavailableNow(a, now));
15718
15719
  const unavailableCount = unavailableList.length;
15719
15720
  const unavailableAgents = sortSafeAgentSummaries(unavailableList).map(toUnavailableAgentSummary);
15721
+ const credentialGroups = summarizeCredentialGroups(scopedAgents, now);
15720
15722
  if (options.showUnavailable !== true) {
15721
15723
  scopedAgents = scopedAgents.filter((a) => !isAgentUnavailableNow(a, now));
15722
15724
  }
@@ -15726,6 +15728,7 @@ function buildAgentDiscoveryResult(options) {
15726
15728
  total: projectedAgents.length,
15727
15729
  unavailableCount,
15728
15730
  unavailableAgents,
15731
+ credentialGroups,
15729
15732
  agents: projectedAgents
15730
15733
  };
15731
15734
  }
@@ -16178,7 +16181,7 @@ async function deleteDialogsFunc(args, thunkApi) {
16178
16181
  const deletedDialogIds = [];
16179
16182
  const deletedDialogKeys = [];
16180
16183
  const failures = [];
16181
- const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-R5RZHFTU.js");
16184
+ const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-FEJXMIMV.js");
16182
16185
  for (const target of targets) {
16183
16186
  try {
16184
16187
  await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
@@ -16262,7 +16265,7 @@ function formatAgentListCard(agents, maxDisplay = 8) {
16262
16265
  }
16263
16266
  var listAgentsFunctionSchema = {
16264
16267
  name: "listAgents",
16265
- description: "List Nolo agents available for delegation as safe summaries. By default (scope='preferred'), returns the user's preferred agents (favorites, self-owned, OAuth subscriptions, custom API, and local agents). Note: favorited public agents stay in preferred and may still consume platform credits - check each agent's billingSource before dispatching. If no suitable preferred candidate is found or the user explicitly asks to explore public/shared agents, call with scope='public' (public agents may consume platform credits). scope='all' returns the deduplicated union for troubleshooting/management. listAgents does not automatically fallback to public agents. The `agents` array carries a compact agent-selection projection per agent: runnable `agentKey` (agent-<userId>-<id> owned, agent-pub-<id> public), name, model, provider, apiSource, billingSource ('user_subscription' | 'user_api' | 'platform_credits' | 'local'), tools, isFavorite, isOAuth, isOwned, isPublic. Copy `agentKey` verbatim into startAgentRun. Rate-limited agents (429, nextAvailableAt in the future) are hidden by default; unavailableCount and unavailableAgents carry their nextAvailableAt recovery timestamps; pass `showUnavailable: true` to include them. Set `verbose: true` for full safe summary details.",
16268
+ description: "List Nolo agents available for delegation as safe summaries. By default (scope='preferred'), returns the user's preferred agents (favorites, self-owned, OAuth subscriptions, custom API, and local agents). Note: favorited public agents stay in preferred and may still consume platform credits - check each agent's billingSource before dispatching. If no suitable preferred candidate is found or the user explicitly asks to explore public/shared agents, call with scope='public' (public agents may consume platform credits). scope='all' returns the deduplicated union for troubleshooting/management. listAgents does not automatically fallback to public agents. The payload returns `credentialGroups` summarizing independent credential capacities (credentialGroup, credentialKind, agentCount, and availableAt recovery timestamps). Orchestration discipline: Never fan out parallel runs on one credential; fan out only across distinct credentialGroups. A channel verdict is valid for the current dispatch attempt only; always re-read availability before dispatching, and never reuse a failure verdict from an earlier attempt. On config_unresolved-class errors, retry once before degrading. Reserve the strongest private channels for review; execution should use cheap channels. The `agents` array carries a compact agent-selection projection per agent: runnable `agentKey` (agent-<userId>-<id> owned, agent-pub-<id> public), name, model, provider, apiSource, billingSource ('user_subscription' | 'user_api' | 'platform_credits' | 'local'), tools, isFavorite, isOAuth, isOwned, isPublic, credentialGroup, credentialKind. Copy `agentKey` verbatim into startAgentRun. Rate-limited agents (429, nextAvailableAt in the future) are hidden by default; unavailableCount and unavailableAgents carry their nextAvailableAt recovery timestamps; pass `showUnavailable: true` to include them. Set `verbose: true` for full safe summary details.",
16266
16269
  parameters: {
16267
16270
  type: "object",
16268
16271
  properties: {
@@ -16334,6 +16337,7 @@ async function listAgentsFunc(args, thunkApi) {
16334
16337
  total: discovery.total,
16335
16338
  unavailableCount: discovery.unavailableCount,
16336
16339
  unavailableAgents: discovery.unavailableAgents,
16340
+ credentialGroups: discovery.credentialGroups,
16337
16341
  agents: discovery.agents
16338
16342
  },
16339
16343
  displayData: formatAgentListCard(discovery.agents)
@@ -25146,7 +25150,7 @@ function buildStartAgentRunFunctionSchema(opts) {
25146
25150
  const wakeEnabled = opts?.wakeEnabled === true;
25147
25151
  return {
25148
25152
  name: "startAgentRun",
25149
- description: "\u542F\u52A8\u4E00\u4E2A Agent \u6267\u884C\u5B50\u4EFB\u52A1\u3002\u9ED8\u8BA4\u5F02\u6B65\uFF08fork+exec\uFF09\uFF1A\u7ACB\u5373\u8FD4\u56DE runId \u4E0D\u963B\u585E\u5BF9\u8BDD\uFF0C\u6D3E\u53D1\u540E\u76F4\u63A5\u6536\u5C3E\u7B49\u7EC8\u6001\u901A\u77E5\uFF0C\u7981\u6B62\u8F6E\u8BE2\uFF1BcontrolAgentRun \u7528\u4E8E\u63A7\u5236\uFF08\u53EB\u505C/\u8FFD\u52A0\u6307\u4EE4\uFF09\u4E0E\u5F02\u5E38\u8BCA\u65AD\u3002" + (supportsWait ? "\u8981\u540C\u6B65\u7ED3\u679C\u4F20 wait:true\uFF08\u4F1A\u51BB\u7ED3\u5BF9\u8BDD\uFF0C\u4EC5\u9650 \u2460 \u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C \u2461 \u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\u6216\u6B63\u5728\u4E0E\u8BE5\u5B50\u4EFB\u52A1\u5BF9\u8BDD \u2462 \u73AF\u5883\u4E0D\u652F\u6301\u7EC8\u6001\u5524\u9192\u4E14\u65E0\u5E76\u884C\u5DE5\u4F5C\uFF1B\u8BE6\u89C1 wait \u53C2\u6570\uFF09\u3002wait:true \u65F6\u53EF\u7528 resultMode \u63A7\u5236\u8FD4\u56DE\u5185\u5BB9\uFF1Afull=\u5B8C\u6574\u8F93\u51FA\uFF1Bsummary=\u53EA\u56DE\u5934\u5C3E\u603B\u7ED3\uFF08\u9632\u957F\u8F93\u51FA\u6491\u7206\u4E0A\u4E0B\u6587\uFF09\u3002" : wakeEnabled ? "\u53EA\u652F\u6301\u5F02\u6B65\u6D3E\u53D1\uFF1Brun \u5230\u7EC8\u6001\u4F1A\u81EA\u52A8\u901A\u8FC7 terminal wake \u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF1B\u6D3E\u53D1\u540E\u76F4\u63A5\u6536\u5C3E\uFF0C\u4E0D\u8981\u8F6E\u8BE2" : "\u53EA\u652F\u6301\u5F02\u6B65\u6D3E\u53D1\uFF0CstartAgentRun \u4E0D\u63D0\u4F9B\u540C\u6B65\u7B49\u5F85\uFF1B\u9700\u8981\u7B49\u7EC8\u6001\u65F6\u53EF\u7528 controlAgentRun(wait)\uFF08\u82E5\u8BE5 action \u53EF\u7528\uFF09\uFF1B\u4E0D\u8981\u5047\u8BBE\u4F1A\u81EA\u52A8 terminal wake"),
25153
+ description: "\u542F\u52A8\u4E00\u4E2A Agent \u6267\u884C\u5B50\u4EFB\u52A1\u3002\u9ED8\u8BA4\u5F02\u6B65\uFF08fork+exec\uFF09\uFF1A\u7ACB\u5373\u8FD4\u56DE runId \u4E0D\u963B\u585E\u5BF9\u8BDD\uFF0C\u6D3E\u53D1\u540E\u76F4\u63A5\u6536\u5C3E\u7B49\u7EC8\u6001\u901A\u77E5\uFF0C\u7981\u6B62\u8F6E\u8BE2\uFF1BcontrolAgentRun \u7528\u4E8E\u63A7\u5236\uFF08\u53EB\u505C/\u8FFD\u52A0\u6307\u4EE4\uFF09\u4E0E\u5F02\u5E38\u8BCA\u65AD\u3002\u3010\u6D3E\u53D1\u7EAA\u5F8B\u3011\u901A\u9053\u53EF\u7528\u6027\u4EC5\u5BF9\u5F53\u6B21\u6D3E\u53D1\u6709\u6548\uFF0C\u6D3E\u53D1\u524D\u52A1\u5FC5\u91CD\u65B0\u8BFB\u53D6\u53EF\u7528\u6027\uFF0C\u5207\u52FF\u590D\u7528\u6B64\u524D\u5931\u8D25\u7ED3\u8BBA\uFF1B\u9047\u5230 config_unresolved \u7C7B\u9519\u8BEF\u964D\u7EA7\u524D\u91CD\u8BD5\u4E00\u6B21\uFF1B\u4E25\u7981\u5728\u540C\u4E00\u51ED\u8BC1\u4E0A\u5E76\u53D1\u6247\u51FA\uFF0C\u4EC5\u8DE8\u4E0D\u540C credentialGroup \u6247\u51FA\uFF1B\u6700\u5F3A\u79C1\u6709\u901A\u9053\u7559\u7ED9\u5BA1\u67E5\uFF0C\u6267\u884C\u4F18\u5148\u4F7F\u7528\u4F4E\u6210\u672C\u901A\u9053\u3002" + (supportsWait ? "\u8981\u540C\u6B65\u7ED3\u679C\u4F20 wait:true\uFF08\u4F1A\u51BB\u7ED3\u5BF9\u8BDD\uFF0C\u4EC5\u9650 \u2460 \u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C \u2461 \u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\u6216\u6B63\u5728\u4E0E\u8BE5\u5B50\u4EFB\u52A1\u5BF9\u8BDD \u2462 \u73AF\u5883\u4E0D\u652F\u6301\u7EC8\u6001\u5524\u9192\u4E14\u65E0\u5E76\u884C\u5DE5\u4F5C\uFF1B\u8BE6\u89C1 wait \u53C2\u6570\uFF09\u3002wait:true \u65F6\u53EF\u7528 resultMode \u63A7\u5236\u8FD4\u56DE\u5185\u5BB9\uFF1Afull=\u5B8C\u6574\u8F93\u51FA\uFF1Bsummary=\u53EA\u56DE\u5934\u5C3E\u603B\u7ED3\uFF08\u9632\u957F\u8F93\u51FA\u6491\u7206\u4E0A\u4E0B\u6587\uFF09\u3002" : wakeEnabled ? "\u53EA\u652F\u6301\u5F02\u6B65\u6D3E\u53D1\uFF1Brun \u5230\u7EC8\u6001\u4F1A\u81EA\u52A8\u901A\u8FC7 terminal wake \u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF1B\u6D3E\u53D1\u540E\u76F4\u63A5\u6536\u5C3E\uFF0C\u4E0D\u8981\u8F6E\u8BE2" : "\u53EA\u652F\u6301\u5F02\u6B65\u6D3E\u53D1\uFF0CstartAgentRun \u4E0D\u63D0\u4F9B\u540C\u6B65\u7B49\u5F85\uFF1B\u9700\u8981\u7B49\u7EC8\u6001\u65F6\u53EF\u7528 controlAgentRun(wait)\uFF08\u82E5\u8BE5 action \u53EF\u7528\uFF09\uFF1B\u4E0D\u8981\u5047\u8BBE\u4F1A\u81EA\u52A8 terminal wake"),
25150
25154
  parameters: {
25151
25155
  type: "object",
25152
25156
  properties: {
@@ -25165,10 +25169,11 @@ function buildStartAgentRunFunctionSchema(opts) {
25165
25169
  type: "string",
25166
25170
  description: "\u53EF\u9009\u3002\u7531 listAgents/readAgent \u5F97\u5230\u7684\u53EF\u8BFB Agent \u540D\u79F0\uFF0C\u7528\u4E8E TUI \u8FD0\u884C\u5361\u7247\u5C55\u793A\u3002"
25167
25171
  },
25168
- ephemeral: {
25169
- type: "boolean",
25170
- description: "\u53EF\u9009\u3002\u4E3A true \u65F6\u672C\u6B21 run \u4E0D\u6301\u4E45\u5316 dialog\uFF08\u4E0D\u7559\u8BB0\u5F55\uFF09\u3002\u7528\u4E8E\u4E00\u6B21\u6027\u5BA1\u67E5\uFF08review\uFF09\u7B49\u4E0D\u9700\u7559\u75D5\u7684\u573A\u666F\u3002\u9ED8\u8BA4 false\u3002"
25171
- },
25172
+ // 刻意不向模型暴露 ephemeral:AI 不需要知道这个选项,不提供即默认持久化。
25173
+ // 非持久化 run 在失败/stall/输出被截断时不会留下任何可找回的结论,而
25174
+ // review findings 与子任务产出都必须可回读——把选项藏起来比写一条
25175
+ // 「不要用它」的克制指令更可靠(2026-09-14 owner 反馈)。CLI `--ephemeral`
25176
+ // 与 server 透传保持不动,探活/烟测仍走 CLI 侧。
25172
25177
  batchId: {
25173
25178
  type: "string",
25174
25179
  description: "\u53EF\u9009\u3002\u6279\u6B21 id\uFF0C\u7528\u4E8E\u628A\u591A\u4E2A\u5E76\u884C run \u5F52\u4E3A\u4E00\u7EC4\uFF0C\u4FBF\u4E8E\u540E\u7EED controlAgentRun(list, batchId=...) \u6309\u6279\u67E5\u8BE2\u3002\u672A\u4F20\u65F6\u81EA\u52A8\u751F\u6210\u4E00\u4E2A\u5E76\u5728\u8FD4\u56DE\u503C\u4E2D\u5E26\u56DE\uFF0C\u8C03\u7528\u65B9\u65E0\u9700\u5148\u521B\u5EFA\u3002"
@@ -25201,7 +25206,7 @@ function buildStartAgentRunFunctionSchema(opts) {
25201
25206
  }
25202
25207
  var startAgentRunFunctionSchema = buildStartAgentRunFunctionSchema();
25203
25208
  async function startAgentRunFunc(args, thunkApi, _context) {
25204
- const { agentKey, task, input, agentName, ephemeral, batchId, wait } = args;
25209
+ const { agentKey, task, input, agentName, batchId, wait } = args;
25205
25210
  const resultMode = args.resultMode ?? "full";
25206
25211
  const { dispatch } = thunkApi;
25207
25212
  const effectiveBatchId = typeof batchId === "string" && batchId.trim() ? batchId.trim() : `batch-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}-${Math.random().toString(36).slice(2, 8)}`;
@@ -25226,8 +25231,7 @@ async function startAgentRunFunc(args, thunkApi, _context) {
25226
25231
  // undefined 会误入同步等待分支。
25227
25232
  waitForCompletion: wait === true,
25228
25233
  runKind: "subtask",
25229
- ...parentDialogId ? { parentDialogId } : {},
25230
- ...ephemeral ? { ephemeral: true } : {}
25234
+ ...parentDialogId ? { parentDialogId } : {}
25231
25235
  })
25232
25236
  ).unwrap();
25233
25237
  if (wait === true) {
@@ -25863,7 +25867,7 @@ var agentToolDefinitions = [
25863
25867
  executor: startAgentRunFunc,
25864
25868
  description: {
25865
25869
  name: "startAgentRun",
25866
- description: "\u540E\u53F0\u542F\u52A8\u4E00\u4E2A Agent \u6267\u884C\u5B50\u4EFB\u52A1\uFF0C\u7ACB\u5373\u8FD4\u56DE runId\uFF0C\u4E0D\u963B\u585E\u5F53\u524D\u5BF9\u8BDD\u3002\u9002\u5408\u957F\u4EFB\u52A1\u3001\u5E76\u884C\u5B50\u4EFB\u52A1\u3001\u9700\u8981\u89C2\u5BDF\u6216\u53EB\u505C\u7684\u573A\u666F\u3002",
25870
+ description: "\u540E\u53F0\u542F\u52A8\u4E00\u4E2A Agent \u6267\u884C\u5B50\u4EFB\u52A1\uFF0C\u7ACB\u5373\u8FD4\u56DE runId\uFF0C\u4E0D\u963B\u585E\u5F53\u524D\u5BF9\u8BDD\u3002\u9002\u5408\u957F\u4EFB\u52A1\u3001\u5E76\u884C\u5B50\u4EFB\u52A1\u3001\u9700\u8981\u89C2\u5BDF\u6216\u53EB\u505C\u7684\u573A\u666F\u3002\u901A\u9053\u53EF\u7528\u6027\u5F53\u6B21\u91CD\u8BFB\uFF0C\u4E25\u7981\u540C\u51ED\u8BC1\u6247\u51FA\uFF08\u4EC5\u8DE8 credentialGroup \u6247\u51FA\uFF09\u3002",
25867
25871
  category: "\u8BA1\u5212\u4E0E\u7F16\u6392"
25868
25872
  },
25869
25873
  behavior: "orchestrator",
@@ -26934,7 +26938,7 @@ var executeToolRun = createAsyncThunk(
26934
26938
  if (!executionInput) {
26935
26939
  throw new Error(`ToolRun ${id} has no input to execute with.`);
26936
26940
  }
26937
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-RR53D65Q.js");
26941
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-CHXW6V2S.js");
26938
26942
  const { executor } = findToolExecutor2(run.toolName);
26939
26943
  toolRunStarted({
26940
26944
  id: run.id,
@@ -29441,7 +29445,7 @@ async function updateDocFunc(args, thunkApi) {
29441
29445
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
29442
29446
  };
29443
29447
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
29444
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-DKWZ6XJ5.js");
29448
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-5LRRKLQA.js");
29445
29449
  if (getDocState().pageKey === id) {
29446
29450
  applyExternalDocUpdate({
29447
29451
  slateData: finalSlateData,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-LJ6OKZ6D.js";
4
+ } from "./chunk-2WB3CWWX.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-CQ2OZMLQ.js";
7
+ } from "./chunk-WF4MZQFZ.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-3ROJR3TG.js";
10
+ } from "./chunk-4TNFXQTF.js";
11
11
  import {
12
12
  applyToolSurfaceConstraints
13
13
  } from "./chunk-RJ2SAFB5.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  findModelConfig,
3
3
  getProviderByModelName
4
- } from "./chunk-MMZ6ZTVO.js";
4
+ } from "./chunk-TQC77XVE.js";
5
5
  import {
6
6
  asOptionalFiniteNumber
7
7
  } from "./chunk-WWC7I6TA.js";
@@ -326,7 +326,7 @@ async function saveDocState(arg, { dispatch, getState }) {
326
326
  ).unwrap();
327
327
  if (dbSpaceId) {
328
328
  try {
329
- const { updateContentTitle } = await import("./contentThunks-OZPK5B4Z.js");
329
+ const { updateContentTitle } = await import("./contentThunks-NUN6NRHW.js");
330
330
  await dispatch(
331
331
  updateContentTitle({
332
332
  spaceId: dbSpaceId,
@@ -365,7 +365,7 @@ async function saveDocState(arg, { dispatch, getState }) {
365
365
  }
366
366
  }
367
367
  async function createDocState(args, thunkApi) {
368
- const { createPageAction } = await import("./createPageAction-6P2WLNHO.js");
368
+ const { createPageAction } = await import("./createPageAction-Y77VWMIU.js");
369
369
  return createPageAction(args, thunkApi);
370
370
  }
371
371
  function subscribe(listener) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-RDBARW6T.js";
3
+ } from "./chunk-VLQRD7ZJ.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
@@ -8,7 +8,7 @@ import {
8
8
  clipMultilineText,
9
9
  fetchAndSerializeTable,
10
10
  resolveBuiltinSkillPage
11
- } from "./chunk-CQ2OZMLQ.js";
11
+ } from "./chunk-WF4MZQFZ.js";
12
12
  import {
13
13
  isGatewayHttpStatus
14
14
  } from "./chunk-NF64D32W.js";
@@ -29,25 +29,25 @@ import {
29
29
  } from "./chunk-MEYIRKDN.js";
30
30
  import {
31
31
  fetchAndCacheMessages
32
- } from "./chunk-TBHAHL33.js";
32
+ } from "./chunk-JMVS6OB2.js";
33
33
  import {
34
34
  shouldUseServerProxy
35
35
  } from "./chunk-YYLHWIW6.js";
36
36
  import {
37
37
  fetchServerSyncedCredential
38
- } from "./chunk-F44FAXP2.js";
38
+ } from "./chunk-LNFMVJK5.js";
39
39
  import {
40
40
  buildSkillGuidancePromptBlock,
41
41
  extractRuntimePageCapabilities,
42
42
  resolveSkillGraphFromRoots
43
- } from "./chunk-E3YVTQWT.js";
43
+ } from "./chunk-RW76G3YN.js";
44
44
  import {
45
45
  buildIdentityBlock,
46
46
  buildRuntimeGuidanceBlocks,
47
47
  compileContextLayers,
48
48
  normalizeChatCompletionsBodyForProvider,
49
49
  resolveToolGuidedSections
50
- } from "./chunk-QEFJJS2I.js";
50
+ } from "./chunk-AM3KKSJJ.js";
51
51
  import {
52
52
  convertMessagesToResponsesInput,
53
53
  getUsageRequestOptions,
@@ -57,15 +57,15 @@ import {
57
57
  import {
58
58
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
59
59
  isAntigravityOAuthAgent
60
- } from "./chunk-QEW2MFDQ.js";
60
+ } from "./chunk-ZW22L5ES.js";
61
61
  import {
62
62
  buildProviderAuthHeaders
63
- } from "./chunk-RDBARW6T.js";
63
+ } from "./chunk-VLQRD7ZJ.js";
64
64
  import {
65
65
  isOpenAiResponsesModel,
66
66
  resolvePlatformChatCompletionsEndpoint,
67
67
  resolvePlatformResponsesEndpoint
68
- } from "./chunk-LJKICKVC.js";
68
+ } from "./chunk-SQDGTW2T.js";
69
69
  import {
70
70
  estimateTokenCount
71
71
  } from "./chunk-PSCNXBYA.js";
@@ -73,7 +73,7 @@ import {
73
73
  clampReasoningEffort,
74
74
  getModelConfig,
75
75
  isModelSupportReasoningEffort
76
- } from "./chunk-MMZ6ZTVO.js";
76
+ } from "./chunk-TQC77XVE.js";
77
77
  import {
78
78
  createFileCredentialBroker
79
79
  } from "./chunk-3JQ2NRYU.js";
@@ -92,7 +92,7 @@ import {
92
92
  isDeepInfraKimiModel,
93
93
  isFireworksKimiModel,
94
94
  resolveFireworksKimiModel
95
- } from "./chunk-22BTGNSP.js";
95
+ } from "./chunk-5YIL5WDC.js";
96
96
  import {
97
97
  createSpaceKey
98
98
  } from "./chunk-UAD2WT54.js";
@@ -17,8 +17,8 @@ import {
17
17
  compileCodingEffectiveTools,
18
18
  resolveCodingBuiltinSlug,
19
19
  resolveCodingEffectiveTools
20
- } from "./chunk-E3YVTQWT.js";
21
- import "./chunk-ZRSJ3JEH.js";
20
+ } from "./chunk-RW76G3YN.js";
21
+ import "./chunk-AJF6YRN7.js";
22
22
  import "./chunk-AETZ7AD6.js";
23
23
  import "./chunk-KHCLMKZZ.js";
24
24
  import "./chunk-O6OSWFZQ.js";