nolo-cli 0.19.0 → 0.24.0-alpha.7

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 (133) hide show
  1. package/{_executeModel-X5PCIZN6.js → _executeModel-ARCMGGMY.js} +46 -44
  2. package/{action-LT7BRFLK.js → action-5MNAXR5B.js} +7 -6
  3. package/{addContentAction-PL3KKBDH.js → addContentAction-UNSYTVTB.js} +5 -5
  4. package/{addDialogAgentAction-FCMSKYAF.js → addDialogAgentAction-LJGNP2AO.js} +5 -5
  5. package/{agentDeleteCommand-2BZDQV36.js → agentDeleteCommand-C5PIEBMZ.js} +27 -26
  6. package/{agentEmailCommands-2QJDGRMB.js → agentEmailCommands-QTGQ3ZAD.js} +57 -55
  7. package/{agentListCommands-6VEPTKBI.js → agentListCommands-LRHBS3A5.js} +30 -26
  8. package/{agentMachineCommands-NVVHNWYI.js → agentMachineCommands-4PXIT4BP.js} +25 -24
  9. package/{agentRecordCommands-4GGRDMD4.js → agentRecordCommands-ZZPTYTYR.js} +52 -50
  10. package/{agentRunCommand-XOLQNKBZ.js → agentRunCommand-7ZTPZNUX.js} +55 -54
  11. package/{agentRunControl-Y5AFH5PQ.js → agentRunControl-SNUKXN6J.js} +6 -2
  12. package/{agentRuntimeLocal-7WYWCGL4.js → agentRuntimeLocal-QOYY5UV2.js} +19 -18
  13. package/{agentSlice-EAXPGEYV.js → agentSlice-J3W3RX2I.js} +5 -5
  14. package/{appDeleteCommands-77KR2RJ4.js → appDeleteCommands-7NS46XDH.js} +23 -22
  15. package/{appDeployCommands-K7CAHGBI.js → appDeployCommands-RSRNQ67U.js} +23 -22
  16. package/{appDeployStatusCommands-4OEKLTBT.js → appDeployStatusCommands-EF4RSGC6.js} +23 -22
  17. package/{appGetCommands-VM2WDLAZ.js → appGetCommands-YA7JWYUX.js} +23 -22
  18. package/{appListCommands-GX6BBA6U.js → appListCommands-WM2ON6JW.js} +23 -22
  19. package/{authCommand-DY6UUL6O.js → authCommand-HJP7FURK.js} +12 -13
  20. package/{authCommands-XTBV7OFZ.js → authCommands-NYZM2B2I.js} +4 -5
  21. package/{chunk-MKA6QE5E.js → chunk-2IPEVBUO.js} +126 -68
  22. package/{chunk-OWOHNGCN.js → chunk-2MBTWINN.js} +42 -3
  23. package/{chunk-K6EUAOW3.js → chunk-35RYGII3.js} +1 -1
  24. package/{chunk-TRT4I4UD.js → chunk-4POUK2BV.js} +2 -2
  25. package/{chunk-LLWKHDG4.js → chunk-4ULSC37S.js} +1 -3
  26. package/{chunk-EDV7EBOI.js → chunk-4ZH6GUJF.js} +2151 -1500
  27. package/{chunk-MVQ4TBSD.js → chunk-54VHTARN.js} +1 -1
  28. package/{chunk-L4F3I4SR.js → chunk-5HQQ4LUU.js} +4 -6
  29. package/{chunk-Z4NR32XR.js → chunk-5RGU3J7P.js} +13 -0
  30. package/{chunk-7BUYEZ6U.js → chunk-7H3UTGPM.js} +12 -72
  31. package/{chunk-RQN4SEKL.js → chunk-7W6GFNJL.js} +1 -1
  32. package/{chunk-HEGV7BH3.js → chunk-AQZCWJOG.js} +1 -1
  33. package/{chunk-3ND52WIL.js → chunk-ATWUOTJP.js} +180 -24
  34. package/chunk-CF7S2RYZ.js +376 -0
  35. package/{chunk-I2ZJKTG5.js → chunk-CGVRC2TB.js} +7 -7
  36. package/{chunk-UAIVG4J6.js → chunk-CHSCAUZN.js} +1 -8
  37. package/{chunk-KFEVY3ST.js → chunk-D34RI6NI.js} +18 -8
  38. package/{chunk-ROWQEJRP.js → chunk-DXJS7VSG.js} +3 -2
  39. package/{chunk-MHSGJW4Z.js → chunk-EHOYZRTI.js} +44 -14
  40. package/{chunk-XRZJGPFI.js → chunk-FON47ACC.js} +4 -4
  41. package/{chunk-SCTYAHYK.js → chunk-H2NAWOLH.js} +217 -141
  42. package/{chunk-MPVYDS7I.js → chunk-H6ODMJR3.js} +3 -3
  43. package/{chunk-R35XMF6F.js → chunk-H73ZV2GL.js} +352 -30
  44. package/{chunk-4T5F7YZQ.js → chunk-I6RJGORZ.js} +1 -1
  45. package/{chunk-OK6YSWLH.js → chunk-IICW77GI.js} +1 -1
  46. package/{chunk-VDXCXCXH.js → chunk-IUDMBCXC.js} +1 -1
  47. package/{chunk-AHCY2S2I.js → chunk-JADNODCQ.js} +1 -1
  48. package/{chunk-DFCFMCY6.js → chunk-JBLY6HQP.js} +2 -2
  49. package/{chunk-UGUW3FHG.js → chunk-JMSCXQUG.js} +2 -2
  50. package/{chunk-N54HIJVJ.js → chunk-KFUCLS7Z.js} +101 -9
  51. package/{chunk-FQZZLA3C.js → chunk-KXKQO4Q6.js} +17 -0
  52. package/{chunk-3Q7WHGCB.js → chunk-L65QKSVJ.js} +1 -1
  53. package/{chunk-3ZX7PERL.js → chunk-LALVWNE4.js} +20 -7
  54. package/{chunk-PJSV3IZ5.js → chunk-M3TMVJKG.js} +1 -1
  55. package/{chunk-REA4JLBH.js → chunk-M5OZCOBV.js} +7 -6
  56. package/{chunk-JLA4FXYC.js → chunk-MALVZUYL.js} +1 -1
  57. package/{chunk-GFUIQ4RY.js → chunk-MXFQHRSS.js} +1 -1
  58. package/{chunk-LSFAWXKC.js → chunk-N7J63Q6C.js} +1 -0
  59. package/{chunk-6Y7A3OQQ.js → chunk-NRY4GCKJ.js} +2 -0
  60. package/{chunk-G5U6LDLG.js → chunk-NVHPMDSZ.js} +6 -6
  61. package/{chunk-23FZYPLC.js → chunk-OJFYT3ZQ.js} +842 -1060
  62. package/{chunk-ELT65PZW.js → chunk-OXLLFZNF.js} +1 -1
  63. package/{chunk-CZ6NYQTV.js → chunk-P4QWLZGU.js} +2 -2
  64. package/{chunk-5MIDPSSK.js → chunk-PB7G5MAM.js} +3 -3
  65. package/{chunk-HWW2M4SN.js → chunk-QLVWFXZQ.js} +5 -4
  66. package/{chunk-VYHDJEQD.js → chunk-QNLLGS37.js} +136 -78
  67. package/{chunk-XHG22OEX.js → chunk-ROJI6DRT.js} +2 -2
  68. package/{chunk-BV4VEE3W.js → chunk-ROYOKSX4.js} +243 -354
  69. package/{chunk-VNAEBGDK.js → chunk-RZNYL4LW.js} +123 -26
  70. package/{chunk-RVOUXDFU.js → chunk-S6KVFOUG.js} +6 -34
  71. package/{chunk-V3ED5AWK.js → chunk-S77SCVBU.js} +27 -16
  72. package/{chunk-UBHAWFQ6.js → chunk-S7RWIPDI.js} +42 -19
  73. package/{chunk-B5TOXZAK.js → chunk-SIZQB7BD.js} +1 -1
  74. package/{chunk-DFFIZ25G.js → chunk-SLOGKB7M.js} +4 -1
  75. package/{chunk-FXUSIQC2.js → chunk-SROR5TSM.js} +1 -1
  76. package/{chunk-PIZYJVHQ.js → chunk-TN4YHAI3.js} +4 -4
  77. package/{chunk-IYEXFJPC.js → chunk-TW35GDNW.js} +64 -57
  78. package/chunk-UZ6XXCVR.js +50 -0
  79. package/{chunk-DKZFOK24.js → chunk-UZH44DWK.js} +7 -288
  80. package/{chunk-YGW4G5W5.js → chunk-X546QUDT.js} +61 -12
  81. package/chunk-YYLHWIW6.js +48 -0
  82. package/{chunk-SWDPIPOY.js → chunk-ZGVW7MSZ.js} +1 -1
  83. package/{chunk-34WPV75U.js → chunk-ZUXIXYJI.js} +1 -1
  84. package/{chunk-VC6OZXO5.js → chunk-ZWJOGMKH.js} +2 -26
  85. package/{cliExecutor-DNE7TCC4.js → cliExecutor-K3F7DMRO.js} +2 -2
  86. package/{codingSkills-36KN5NQT.js → codingSkills-EN6Z6G6U.js} +4 -4
  87. package/{createAgentAutomationAction-GNFF524X.js → createAgentAutomationAction-MKQWN4VQ.js} +19 -18
  88. package/{createDialogAction-RB55KCLO.js → createDialogAction-YWIZPLFS.js} +22 -20
  89. package/{createPageAction-Y7343GLU.js → createPageAction-74TTEIPC.js} +20 -19
  90. package/{db-W3O47YGF.js → db-W5UHK4P3.js} +150 -0
  91. package/{dbSlice-CGSRFJN3.js → dbSlice-5BKDURDL.js} +4 -4
  92. package/{dialogCommands-IAZK6YHQ.js → dialogCommands-MJIP32FL.js} +24 -23
  93. package/{dialogSlice-UQAXF23P.js → dialogSlice-KLLVH4WI.js} +24 -18
  94. package/{docCreateCommands-I2EWZGCI.js → docCreateCommands-5DN472U6.js} +24 -27
  95. package/{docDeleteCommands-IZ45UZKG.js → docDeleteCommands-HE76LBN4.js} +25 -24
  96. package/{docReadCommands-R6Z4QJYU.js → docReadCommands-XVGZSCBS.js} +24 -23
  97. package/{docStore-5HOJ4D7D.js → docStore-SPH3D6BT.js} +20 -19
  98. package/{docUpdateCommands-2LRBKQPY.js → docUpdateCommands-P7IAWUAD.js} +24 -27
  99. package/{fetchMessages-BMGVZVSE.js → fetchMessages-W4IKHPCS.js} +2 -3
  100. package/{getPricing-G7DLAST6.js → getPricing-WENPBVWH.js} +3 -3
  101. package/{handleSendMessageAction-Q4HY35WX.js → handleSendMessageAction-ZU6WJVL7.js} +23 -20
  102. package/index.js +74 -74
  103. package/{localDialogRead-4H3QJFLW.js → localDialogRead-JXTAHW2E.js} +2 -2
  104. package/{machineCommands-PKBPQKTY.js → machineCommands-NI76PVHK.js} +59 -57
  105. package/{machineWsRunDispatch-UZAW4OXJ.js → machineWsRunDispatch-W3G6NJVQ.js} +51 -49
  106. package/{models-DJFSJ7SW.js → models-DB27UAE3.js} +2 -2
  107. package/package.json +1 -1
  108. package/{read-3FMPZPER.js → read-F3L3T2WJ.js} +2 -1
  109. package/{readDocTool-VSYHKK3V.js → readDocTool-FOHWVA4R.js} +1 -1
  110. package/{readlineWorkspace-Y2RDOFZG.js → readlineWorkspace-BDH4G477.js} +880 -425
  111. package/{removeDialogAgentAction-OAGA2G3U.js → removeDialogAgentAction-QCFGIUIH.js} +8 -7
  112. package/{runAgentClientLoop-NBPIKJ6J.js → runAgentClientLoop-ZPKMXCM5.js} +45 -38
  113. package/{setDialogExtraReferencesAction-JZEXA5SL.js → setDialogExtraReferencesAction-DK4CKERU.js} +5 -5
  114. package/{setPrimaryDialogAgentAction-4ZUQQKDG.js → setPrimaryDialogAgentAction-SJSO6N27.js} +8 -7
  115. package/{settingSlice-7MNKHZ6R.js → settingSlice-XNM5AFPU.js} +6 -5
  116. package/{spaceCommands-DHCZ7J5I.js → spaceCommands-3GGBJRQR.js} +25 -24
  117. package/{spaceSlice-ZXLLG3CR.js → spaceSlice-47Z6XLFQ.js} +21 -18
  118. package/{streamAgentChatTurn-L3YW6LSB.js → streamAgentChatTurn-VT5K5JSD.js} +140 -98
  119. package/switchDialogAgentAction-4OAC6QRN.js +61 -0
  120. package/{tableCommands-BEQAGE4I.js → tableCommands-HEQYT2KP.js} +1 -1
  121. package/{toolApiClient-QI3YBNWB.js → toolApiClient-ISM4ZQX4.js} +2 -2
  122. package/{tools-ECGXR5QF.js → tools-L7RCHAPT.js} +36 -33
  123. package/{tuiSummaryLlmCaller-OMSCNHXA.js → tuiSummaryLlmCaller-3DYOLTVN.js} +6 -6
  124. package/{updateCommands-XTW55TOT.js → updateCommands-HTCOBXCA.js} +2 -2
  125. package/{updateDialogTitleAction-HQ2EUDFT.js → updateDialogTitleAction-KMPVPQ4A.js} +28 -27
  126. package/chunk-DL6EPNIK.js +0 -50
  127. package/chunk-V5R4NZP2.js +0 -78
  128. package/chunk-X4Q4UZEY.js +0 -26
  129. package/queryRunOverlay-O4LOMMPO.js +0 -161
  130. package/runOverlayPresentation-ZO4VCWEU.js +0 -11
  131. package/types-ZSTJ7MPR.js +0 -7
  132. package/{chunk-X7W4TNB4.js → chunk-CMKUBIGW.js} +3 -3
  133. package/{runtimeDoctorCommands-E2OUORHK.js → runtimeDoctorCommands-HSU632DY.js} +3 -3
@@ -3,30 +3,30 @@ import {
3
3
  buildCurrentTimeBlock,
4
4
  buildIdentityBlock,
5
5
  buildRuntimeGuidanceBlocks
6
- } from "./chunk-34WPV75U.js";
6
+ } from "./chunk-ZUXIXYJI.js";
7
7
  import {
8
8
  estimateTokenCount,
9
9
  getModelContextWindow,
10
10
  planCompression,
11
11
  planContextUsage,
12
12
  serializeMessageContent
13
- } from "./chunk-I2ZJKTG5.js";
13
+ } from "./chunk-CGVRC2TB.js";
14
14
  import {
15
15
  clipCompactText
16
16
  } from "./chunk-5MMAK75Q.js";
17
17
  import {
18
18
  findModelConfig,
19
19
  getProviderByModelName
20
- } from "./chunk-UAIVG4J6.js";
21
- import {
22
- toErrorMessage
23
- } from "./chunk-HNMXYYJR.js";
20
+ } from "./chunk-CHSCAUZN.js";
24
21
  import {
25
22
  buildDialogSummaryLayer
26
23
  } from "./chunk-AL2V7U3E.js";
27
24
  import {
28
25
  canonicalizeToolNames
29
26
  } from "./chunk-ZZ2MH7LE.js";
27
+ import {
28
+ toErrorMessage
29
+ } from "./chunk-HNMXYYJR.js";
30
30
  import {
31
31
  asRecordOrEmpty
32
32
  } from "./chunk-KX6YBIHG.js";
@@ -1074,7 +1074,7 @@ function mergeTurnUsage(current, next) {
1074
1074
  const right = read(next);
1075
1075
  const left = current ? read(current) : { input: 0, output: 0, cacheHit: 0, cacheMiss: 0 };
1076
1076
  return {
1077
- input_tokens: right.input || left.input,
1077
+ input_tokens: left.input + right.input,
1078
1078
  output_tokens: left.output + right.output,
1079
1079
  cache_read_input_tokens: left.cacheHit + right.cacheHit,
1080
1080
  cache_creation_input_tokens: left.cacheMiss + right.cacheMiss
@@ -1120,8 +1120,12 @@ async function persistFailedLocalTurn(args) {
1120
1120
  model: args.model ?? "unknown",
1121
1121
  toolCallCount: args.toolCallCount ?? 0,
1122
1122
  error: true,
1123
- errorMessage
1123
+ errorMessage,
1124
+ ...args.usage ? { usage: args.usage } : {}
1124
1125
  },
1126
+ ...args.accountingUsage ? { accountingUsage: args.accountingUsage } : {},
1127
+ ...args.usageRecords?.length ? { usageRecords: args.usageRecords } : {},
1128
+ ...args.billingConfig ? { billingConfig: args.billingConfig } : {},
1125
1129
  ...args.input.runtimeContext ? { runtimeContext: args.input.runtimeContext } : {},
1126
1130
  ...args.input.continueDialogId ? { continueDialogId: args.input.continueDialogId } : {},
1127
1131
  ...args.input.spaceId ? { spaceId: args.input.spaceId } : {},
@@ -1159,6 +1163,18 @@ async function runLocalAgentTurn(input) {
1159
1163
  error.agentRef = input.agentRef;
1160
1164
  throw error;
1161
1165
  }
1166
+ const rawBillingConfig = agentConfig.rawRecord ?? {};
1167
+ const billingConfig = {
1168
+ model: agentConfig.model || "unknown",
1169
+ ...agentConfig.provider ? { provider: agentConfig.provider } : {},
1170
+ ...agentConfig.apiSource ? { apiSource: agentConfig.apiSource } : {},
1171
+ ...agentConfig.apiKeyRef !== void 0 ? { apiKeyRef: agentConfig.apiKeyRef } : {},
1172
+ ...typeof rawBillingConfig.inputPrice === "number" ? { inputPrice: rawBillingConfig.inputPrice } : {},
1173
+ ...typeof rawBillingConfig.outputPrice === "number" ? { outputPrice: rawBillingConfig.outputPrice } : {},
1174
+ ...rawBillingConfig.sharingLevel ? { sharingLevel: rawBillingConfig.sharingLevel } : {},
1175
+ id: agentConfig.key,
1176
+ ...typeof rawBillingConfig.userId === "string" ? { userId: rawBillingConfig.userId } : {}
1177
+ };
1162
1178
  let history = [];
1163
1179
  try {
1164
1180
  history = input.continueDialogId ? await input.adapter.loadDialogHistory(input.continueDialogId) : [];
@@ -1250,6 +1266,8 @@ async function runLocalAgentTurn(input) {
1250
1266
  let toolCallCount = 0;
1251
1267
  let result;
1252
1268
  let turnUsage;
1269
+ let contextUsage;
1270
+ const usageRecords = [];
1253
1271
  let loopError;
1254
1272
  let round = 0;
1255
1273
  let emptyAssistantRepairPending = false;
@@ -1306,6 +1324,15 @@ async function runLocalAgentTurn(input) {
1306
1324
  context: contextMetrics
1307
1325
  });
1308
1326
  turnUsage = mergeTurnUsage(turnUsage, result.usage);
1327
+ contextUsage = result.usage;
1328
+ if (result.usage && Object.keys(result.usage).length > 0) {
1329
+ usageRecords.push({
1330
+ callId: typeof result.usage.provider_call_id === "string" && result.usage.provider_call_id.trim() ? result.usage.provider_call_id.trim() : crypto.randomUUID(),
1331
+ usage: result.usage,
1332
+ model: result.model || agentConfig.model || "unknown",
1333
+ ...result.provider || agentConfig.provider ? { provider: result.provider || agentConfig.provider } : {}
1334
+ });
1335
+ }
1309
1336
  const toolCalls = result.tool_calls ?? [];
1310
1337
  const rawToolCallsCount = (result.tool_calls?.length ?? 0) || (Array.isArray(result.raw_tool_calls) ? result.raw_tool_calls.length : 0);
1311
1338
  if (toolCalls.length === 0 && rawToolCallsCount === 0) {
@@ -1463,6 +1490,18 @@ async function runLocalAgentTurn(input) {
1463
1490
  model: agentConfig.model,
1464
1491
  toolCallCount,
1465
1492
  partialContent,
1493
+ usage: contextUsage,
1494
+ accountingUsage: addOutOfBandUsage(turnUsage, compactionUsage),
1495
+ usageRecords: [
1496
+ ...compactionUsage ? [{
1497
+ callId: typeof compactionUsage.provider_call_id === "string" && compactionUsage.provider_call_id.trim() ? compactionUsage.provider_call_id.trim() : crypto.randomUUID(),
1498
+ usage: compactionUsage,
1499
+ model: agentConfig.model || "unknown",
1500
+ ...agentConfig.provider ? { provider: agentConfig.provider } : {}
1501
+ }] : [],
1502
+ ...usageRecords
1503
+ ],
1504
+ billingConfig,
1466
1505
  input
1467
1506
  });
1468
1507
  attachDialogIdToError(loopError, dialogId);
@@ -1483,6 +1522,15 @@ async function runLocalAgentTurn(input) {
1483
1522
  input.persistedInput,
1484
1523
  input.persistedInputReference
1485
1524
  );
1525
+ if (compactionUsage && Object.keys(compactionUsage).length > 0) {
1526
+ usageRecords.unshift({
1527
+ callId: typeof compactionUsage.provider_call_id === "string" && compactionUsage.provider_call_id.trim() ? compactionUsage.provider_call_id.trim() : crypto.randomUUID(),
1528
+ usage: compactionUsage,
1529
+ model: agentConfig.model || result.model || "unknown",
1530
+ ...agentConfig.provider ? { provider: agentConfig.provider } : {}
1531
+ });
1532
+ }
1533
+ const accountingUsage = addOutOfBandUsage(turnUsage, compactionUsage);
1486
1534
  const saved = await input.adapter.saveTurn({
1487
1535
  agentKey: agentConfig.key,
1488
1536
  messages: turnMessages,
@@ -1491,6 +1539,9 @@ async function runLocalAgentTurn(input) {
1491
1539
  ...toolCallCount > 0 ? { toolCallCount } : {},
1492
1540
  ...agentConfig.toolSurface ? { runtimeToolSurface: agentConfig.toolSurface } : {}
1493
1541
  },
1542
+ ...usageRecords.length > 0 ? { usageRecords } : {},
1543
+ ...accountingUsage ? { accountingUsage } : {},
1544
+ billingConfig,
1494
1545
  ...input.runtimeContext ? { runtimeContext: input.runtimeContext } : {},
1495
1546
  ...input.continueDialogId ? { continueDialogId: input.continueDialogId } : {},
1496
1547
  ...input.spaceId ? { spaceId: input.spaceId } : {},
@@ -1500,10 +1551,8 @@ async function runLocalAgentTurn(input) {
1500
1551
  });
1501
1552
  return {
1502
1553
  ...result,
1503
- ...(() => {
1504
- const merged = addOutOfBandUsage(turnUsage, compactionUsage);
1505
- return merged ? { usage: merged } : {};
1506
- })(),
1554
+ ...usageRecords.length > 0 ? { usageRecords } : {},
1555
+ ...accountingUsage ? { accountingUsage } : {},
1507
1556
  ...toolCallCount > 0 ? { toolCallCount } : {},
1508
1557
  ...agentConfig.toolSurface ? { runtimeToolSurface: agentConfig.toolSurface } : {},
1509
1558
  // 透出最后一轮 provider 调用的 finish_reason;多轮工具循环里只有最后一轮收尾状态有意义。
@@ -0,0 +1,48 @@
1
+ import {
2
+ asTrimmedLowercaseString
3
+ } from "./chunk-QSJ3HFEF.js";
4
+
5
+ // packages/agent-runtime/serverProxyPolicy.ts
6
+ var OAUTH_APIKEY_REFS = /* @__PURE__ */ new Set([
7
+ "antigravity",
8
+ "xai",
9
+ "chatgpt",
10
+ "claude",
11
+ "cursor"
12
+ ]);
13
+ function isGoogleFamilyProvider(provider) {
14
+ const normalized = asTrimmedLowercaseString(provider);
15
+ return normalized === "google" || normalized.startsWith("google-");
16
+ }
17
+ function isOAuthApiKeyRef(value) {
18
+ const ref = asTrimmedLowercaseString(value);
19
+ return ref.length > 0 && OAUTH_APIKEY_REFS.has(ref);
20
+ }
21
+ function shouldUseServerProxy(agentConfig, requestProvider) {
22
+ const effectiveProvider = (requestProvider || agentConfig.provider || "").toLowerCase();
23
+ if (isGoogleFamilyProvider(effectiveProvider)) {
24
+ return true;
25
+ }
26
+ if (isOAuthApiKeyRef(agentConfig.apiKeyRef)) {
27
+ return true;
28
+ }
29
+ if (agentConfig.apiSource === "custom" && isRemoteCustomEndpoint(agentConfig.customProviderUrl)) {
30
+ return true;
31
+ }
32
+ return !!agentConfig.useServerProxy;
33
+ }
34
+ var LOCAL_HOSTS = /* @__PURE__ */ new Set(["127.0.0.1", "localhost", "::1", "0.0.0.0"]);
35
+ function isRemoteCustomEndpoint(url) {
36
+ if (typeof url !== "string") return false;
37
+ try {
38
+ const host = new URL(url).hostname.toLowerCase();
39
+ return !LOCAL_HOSTS.has(host);
40
+ } catch {
41
+ return false;
42
+ }
43
+ }
44
+
45
+ export {
46
+ isOAuthApiKeyRef,
47
+ shouldUseServerProxy
48
+ };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-R35XMF6F.js";
4
+ } from "./chunk-H73ZV2GL.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isImageUrlPart
3
- } from "./chunk-KFEVY3ST.js";
3
+ } from "./chunk-D34RI6NI.js";
4
4
  import {
5
5
  canonicalizeToolNames
6
6
  } from "./chunk-ZZ2MH7LE.js";
@@ -12,6 +12,7 @@ import {
12
12
  // packages/ai/skills/skillDocProtocol.ts
13
13
  var SKILL_DOC_ENUMS = {
14
14
  triggerMode: ["explicit", "required", "recommended"],
15
+ // budgetTier 只服务 WorkflowReferenceConfig;skill 侧已移除(零读点)。
15
16
  budgetTier: ["low", "medium", "high"],
16
17
  modality: ["text", "image", "video", "audio", "3d"],
17
18
  docKind: ["knowledge", "instruction", "skill"]
@@ -24,9 +25,7 @@ var normalizeStringArray = (value) => {
24
25
  const items = [...new Set(asTrimmedNonEmptyStringArray(value))];
25
26
  return items.length > 0 ? items : void 0;
26
27
  };
27
- var normalizeBoolean = (value) => typeof value === "boolean" ? value : void 0;
28
28
  var normalizeSkillEnumValue = (key, value) => typeof value === "string" && SKILL_DOC_ENUMS[key].includes(value) ? value : void 0;
29
- var normalizeSkillBudgetTier = (value) => normalizeSkillEnumValue("budgetTier", value);
30
29
  var normalizeSkillModalities = (value) => {
31
30
  const raw = normalizeStringArray(value);
32
31
  if (!raw) return void 0;
@@ -43,17 +42,8 @@ var normalizeSkillConfig = (value, fallbackTools) => {
43
42
  const description = asOptionalTrimmedString(record.description) ?? "";
44
43
  if (!name || !description) return void 0;
45
44
  const triggerMode = normalizeSkillEnumValue("triggerMode", record.triggerMode);
46
- const budgetTier = normalizeSkillEnumValue("budgetTier", record.budgetTier);
47
45
  const modalities = normalizeSkillModalities(record.modalities);
48
46
  const toolNames = normalizeStringArray(record.toolNames) ?? normalizeStringArray(fallbackTools) ?? void 0;
49
- const discover = record.discover && typeof record.discover === "object" ? {
50
- keywords: normalizeStringArray(
51
- record.discover.keywords
52
- ),
53
- examples: normalizeStringArray(
54
- record.discover.examples
55
- )
56
- } : void 0;
57
47
  return {
58
48
  version: "0.1",
59
49
  kind: "skill",
@@ -62,14 +52,10 @@ var normalizeSkillConfig = (value, fallbackTools) => {
62
52
  description,
63
53
  triggerMode,
64
54
  toolNames,
65
- preferredAgents: normalizeStringArray(record.preferredAgents),
66
- budgetTier,
67
- dispatchPreferred: normalizeBoolean(record.dispatchPreferred),
68
55
  modalities,
69
56
  requiredSkills: normalizeStringArray(record.requiredSkills),
70
57
  recommendedSkills: normalizeStringArray(record.recommendedSkills),
71
- promptPatch: asOptionalTrimmedString(record.promptPatch),
72
- discover: discover?.keywords || discover?.examples ? discover : void 0
58
+ promptPatch: asOptionalTrimmedString(record.promptPatch)
73
59
  };
74
60
  };
75
61
  var normalizeEvalConfig = (value) => {
@@ -208,16 +194,7 @@ var buildSkillConfigComment = (config) => {
208
194
  ...config.requiredSkills?.length ? { requiredSkills: config.requiredSkills } : {},
209
195
  ...config.recommendedSkills?.length ? { recommendedSkills: config.recommendedSkills } : {},
210
196
  ...config.toolNames?.length ? { toolNames: config.toolNames } : {},
211
- ...config.preferredAgents?.length ? { preferredAgents: config.preferredAgents } : {},
212
- ...config.budgetTier ? { budgetTier: config.budgetTier } : {},
213
- ...typeof config.dispatchPreferred === "boolean" ? { dispatchPreferred: config.dispatchPreferred } : {},
214
197
  ...config.modalities?.length ? { modalities: config.modalities } : {},
215
- ...config.discover?.keywords?.length || config.discover?.examples?.length ? {
216
- discover: {
217
- ...config.discover?.keywords?.length ? { keywords: config.discover.keywords } : {},
218
- ...config.discover?.examples?.length ? { examples: config.discover.examples } : {}
219
- }
220
- } : {},
221
198
  ...config.promptPatch ? { promptPatch: config.promptPatch } : {}
222
199
  };
223
200
  return `<!-- ${SKILL_CONFIG_BLOCK}
@@ -289,7 +266,6 @@ var parseExternalSkillMarkdown = (markdown) => {
289
266
 
290
267
  export {
291
268
  normalizeStringArray,
292
- normalizeSkillBudgetTier,
293
269
  normalizeSkillModalities,
294
270
  parseSkillDocProtocol,
295
271
  resolvePageSkillMetadata,
@@ -12,11 +12,11 @@ import {
12
12
  isBufferedCliStreamingProvider,
13
13
  materializeCliImageInputs,
14
14
  startCliSession
15
- } from "./chunk-X7W4TNB4.js";
15
+ } from "./chunk-CMKUBIGW.js";
16
+ import "./chunk-JBTJAPUF.js";
16
17
  import {
17
18
  buildCliPrompt
18
19
  } from "./chunk-ATNTHIZI.js";
19
- import "./chunk-JBTJAPUF.js";
20
20
  import "./chunk-4VNS5WPM.js";
21
21
  export {
22
22
  CLI_PROBE_BINARIES,
@@ -15,13 +15,14 @@ import {
15
15
  collectCodingReachableSkillSlugs,
16
16
  compileCodingEffectivePromptPatches,
17
17
  compileCodingEffectiveTools,
18
- ensureCodingSkills,
19
18
  resolveCodingBuiltinSlug,
20
19
  resolveCodingEffectiveTools
21
- } from "./chunk-7BUYEZ6U.js";
22
- import "./chunk-VC6OZXO5.js";
20
+ } from "./chunk-7H3UTGPM.js";
21
+ import "./chunk-CF7S2RYZ.js";
22
+ import "./chunk-ZWJOGMKH.js";
23
23
  import "./chunk-WZSRQNQG.js";
24
24
  import "./chunk-ZZ2MH7LE.js";
25
+ import "./chunk-UZ6XXCVR.js";
25
26
  import "./chunk-I42VC5KR.js";
26
27
  import "./chunk-G3SUCT4W.js";
27
28
  import "./chunk-4VNS5WPM.js";
@@ -42,7 +43,6 @@ export {
42
43
  collectCodingReachableSkillSlugs,
43
44
  compileCodingEffectivePromptPatches,
44
45
  compileCodingEffectiveTools,
45
- ensureCodingSkills,
46
46
  resolveCodingBuiltinSlug,
47
47
  resolveCodingEffectiveTools
48
48
  };
@@ -1,45 +1,45 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-SCTYAHYK.js";
3
+ } from "./chunk-H2NAWOLH.js";
4
4
  import "./chunk-XOIF2TNF.js";
5
- import "./chunk-B5TOXZAK.js";
6
5
  import "./chunk-MRC4Q34M.js";
7
- import "./chunk-REA4JLBH.js";
6
+ import "./chunk-SIZQB7BD.js";
7
+ import "./chunk-M5OZCOBV.js";
8
+ import "./chunk-YYLHWIW6.js";
8
9
  import "./chunk-CWMSB67P.js";
9
- import "./chunk-XHG22OEX.js";
10
- import "./chunk-Z4NR32XR.js";
10
+ import "./chunk-ROJI6DRT.js";
11
+ import "./chunk-5RGU3J7P.js";
11
12
  import "./chunk-M76ECQRD.js";
12
- import "./chunk-3Q7WHGCB.js";
13
- import "./chunk-I2ZJKTG5.js";
13
+ import "./chunk-L65QKSVJ.js";
14
+ import "./chunk-CGVRC2TB.js";
14
15
  import "./chunk-5MMAK75Q.js";
15
16
  import "./chunk-5CS33IBL.js";
16
17
  import "./chunk-JZPBVBIY.js";
17
- import "./chunk-UAIVG4J6.js";
18
+ import "./chunk-CHSCAUZN.js";
18
19
  import "./chunk-ZHXJ6M7T.js";
19
- import "./chunk-HNMXYYJR.js";
20
- import "./chunk-ELT65PZW.js";
21
- import "./chunk-DFFIZ25G.js";
22
20
  import "./chunk-3ASDTTEI.js";
23
21
  import "./chunk-DWLEOOGR.js";
24
- import "./chunk-LLWKHDG4.js";
25
- import "./chunk-MKA6QE5E.js";
26
- import "./chunk-RVOUXDFU.js";
22
+ import "./chunk-HNMXYYJR.js";
23
+ import "./chunk-4ULSC37S.js";
24
+ import "./chunk-2IPEVBUO.js";
25
+ import "./chunk-S6KVFOUG.js";
27
26
  import "./chunk-Y5GCAMGP.js";
27
+ import "./chunk-UZ6XXCVR.js";
28
28
  import "./chunk-KX6YBIHG.js";
29
+ import "./chunk-OXLLFZNF.js";
29
30
  import {
30
31
  write
31
- } from "./chunk-XRZJGPFI.js";
32
+ } from "./chunk-FON47ACC.js";
32
33
  import {
33
34
  buildAgentAutomationOwnerIndexValue,
34
35
  createAgentAutomationKey,
35
36
  createAgentAutomationOwnerIndexKey
36
- } from "./chunk-6Y7A3OQQ.js";
37
+ } from "./chunk-NRY4GCKJ.js";
37
38
  import "./chunk-WWC7I6TA.js";
38
39
  import "./chunk-SKDNBYZK.js";
39
40
  import "./chunk-I42VC5KR.js";
40
41
  import "./chunk-QSJ3HFEF.js";
41
- import "./chunk-X4Q4UZEY.js";
42
- import "./chunk-3ND52WIL.js";
42
+ import "./chunk-ATWUOTJP.js";
43
43
  import {
44
44
  selectIdentityUserId
45
45
  } from "./chunk-XMLRJUU5.js";
@@ -49,6 +49,7 @@ import {
49
49
  asTrimmedString
50
50
  } from "./chunk-3EUW3WEO.js";
51
51
  import "./chunk-U6VC4MU4.js";
52
+ import "./chunk-SLOGKB7M.js";
52
53
  import "./chunk-KUG52IAP.js";
53
54
  import "./chunk-LCBAMY2M.js";
54
55
  import "./chunk-4SN6J65J.js";
@@ -1,48 +1,50 @@
1
1
  import {
2
2
  createDialogAction,
3
3
  isLocalOwnerDialogAgents
4
- } from "./chunk-IYEXFJPC.js";
5
- import "./chunk-SCTYAHYK.js";
4
+ } from "./chunk-TW35GDNW.js";
5
+ import "./chunk-H2NAWOLH.js";
6
6
  import "./chunk-XOIF2TNF.js";
7
- import "./chunk-B5TOXZAK.js";
8
7
  import "./chunk-MRC4Q34M.js";
9
- import "./chunk-REA4JLBH.js";
8
+ import "./chunk-SIZQB7BD.js";
9
+ import "./chunk-M5OZCOBV.js";
10
+ import "./chunk-YYLHWIW6.js";
10
11
  import "./chunk-CWMSB67P.js";
11
- import "./chunk-XHG22OEX.js";
12
- import "./chunk-Z4NR32XR.js";
12
+ import "./chunk-ROJI6DRT.js";
13
+ import "./chunk-5RGU3J7P.js";
13
14
  import "./chunk-M76ECQRD.js";
14
- import "./chunk-3Q7WHGCB.js";
15
- import "./chunk-VC6OZXO5.js";
15
+ import "./chunk-L65QKSVJ.js";
16
+ import "./chunk-CF7S2RYZ.js";
17
+ import "./chunk-ZWJOGMKH.js";
16
18
  import "./chunk-WZSRQNQG.js";
17
- import "./chunk-I2ZJKTG5.js";
19
+ import "./chunk-CGVRC2TB.js";
18
20
  import "./chunk-5MMAK75Q.js";
19
21
  import "./chunk-5CS33IBL.js";
20
22
  import "./chunk-JZPBVBIY.js";
21
- import "./chunk-UAIVG4J6.js";
23
+ import "./chunk-CHSCAUZN.js";
22
24
  import "./chunk-ZHXJ6M7T.js";
23
- import "./chunk-HNMXYYJR.js";
24
- import "./chunk-ELT65PZW.js";
25
- import "./chunk-DFFIZ25G.js";
26
25
  import "./chunk-3ASDTTEI.js";
27
26
  import "./chunk-DWLEOOGR.js";
28
- import "./chunk-LLWKHDG4.js";
29
- import "./chunk-MKA6QE5E.js";
30
- import "./chunk-RVOUXDFU.js";
27
+ import "./chunk-HNMXYYJR.js";
28
+ import "./chunk-4ULSC37S.js";
29
+ import "./chunk-2IPEVBUO.js";
30
+ import "./chunk-S6KVFOUG.js";
31
31
  import "./chunk-Y5GCAMGP.js";
32
+ import "./chunk-UZ6XXCVR.js";
32
33
  import "./chunk-KX6YBIHG.js";
33
- import "./chunk-XRZJGPFI.js";
34
- import "./chunk-6Y7A3OQQ.js";
34
+ import "./chunk-OXLLFZNF.js";
35
+ import "./chunk-FON47ACC.js";
36
+ import "./chunk-NRY4GCKJ.js";
35
37
  import "./chunk-WWC7I6TA.js";
36
38
  import "./chunk-SKDNBYZK.js";
37
39
  import "./chunk-I42VC5KR.js";
38
40
  import "./chunk-QSJ3HFEF.js";
39
- import "./chunk-X4Q4UZEY.js";
40
- import "./chunk-3ND52WIL.js";
41
+ import "./chunk-ATWUOTJP.js";
41
42
  import "./chunk-XMLRJUU5.js";
42
43
  import "./chunk-R5V5G73M.js";
43
44
  import "./chunk-GBRG75BQ.js";
44
45
  import "./chunk-3EUW3WEO.js";
45
46
  import "./chunk-U6VC4MU4.js";
47
+ import "./chunk-SLOGKB7M.js";
46
48
  import "./chunk-KUG52IAP.js";
47
49
  import "./chunk-LCBAMY2M.js";
48
50
  import "./chunk-4SN6J65J.js";
@@ -15,48 +15,48 @@ import {
15
15
  addContentToSpace,
16
16
  client_default,
17
17
  selectCurrentSpaceId
18
- } from "./chunk-SCTYAHYK.js";
18
+ } from "./chunk-H2NAWOLH.js";
19
19
  import "./chunk-XOIF2TNF.js";
20
- import "./chunk-B5TOXZAK.js";
21
20
  import "./chunk-MRC4Q34M.js";
22
- import "./chunk-REA4JLBH.js";
21
+ import "./chunk-SIZQB7BD.js";
22
+ import "./chunk-M5OZCOBV.js";
23
+ import "./chunk-YYLHWIW6.js";
23
24
  import "./chunk-CWMSB67P.js";
24
- import "./chunk-XHG22OEX.js";
25
- import "./chunk-Z4NR32XR.js";
25
+ import "./chunk-ROJI6DRT.js";
26
+ import "./chunk-5RGU3J7P.js";
26
27
  import "./chunk-M76ECQRD.js";
27
- import "./chunk-3Q7WHGCB.js";
28
+ import "./chunk-L65QKSVJ.js";
28
29
  import {
29
30
  parseSkillDocProtocol
30
- } from "./chunk-VC6OZXO5.js";
31
+ } from "./chunk-ZWJOGMKH.js";
31
32
  import "./chunk-WZSRQNQG.js";
32
- import "./chunk-I2ZJKTG5.js";
33
+ import "./chunk-CGVRC2TB.js";
33
34
  import "./chunk-5MMAK75Q.js";
34
35
  import "./chunk-5CS33IBL.js";
35
36
  import "./chunk-JZPBVBIY.js";
36
- import "./chunk-UAIVG4J6.js";
37
+ import "./chunk-CHSCAUZN.js";
37
38
  import "./chunk-ZHXJ6M7T.js";
38
- import "./chunk-HNMXYYJR.js";
39
- import "./chunk-ELT65PZW.js";
40
- import "./chunk-DFFIZ25G.js";
41
39
  import "./chunk-3ASDTTEI.js";
42
40
  import "./chunk-DWLEOOGR.js";
43
- import "./chunk-LLWKHDG4.js";
44
- import "./chunk-MKA6QE5E.js";
45
- import "./chunk-RVOUXDFU.js";
41
+ import "./chunk-HNMXYYJR.js";
42
+ import "./chunk-4ULSC37S.js";
43
+ import "./chunk-2IPEVBUO.js";
44
+ import "./chunk-S6KVFOUG.js";
46
45
  import "./chunk-Y5GCAMGP.js";
46
+ import "./chunk-UZ6XXCVR.js";
47
47
  import "./chunk-KX6YBIHG.js";
48
+ import "./chunk-OXLLFZNF.js";
48
49
  import {
49
50
  write
50
- } from "./chunk-XRZJGPFI.js";
51
+ } from "./chunk-FON47ACC.js";
51
52
  import {
52
53
  createPageKey
53
- } from "./chunk-6Y7A3OQQ.js";
54
+ } from "./chunk-NRY4GCKJ.js";
54
55
  import "./chunk-WWC7I6TA.js";
55
56
  import "./chunk-SKDNBYZK.js";
56
57
  import "./chunk-I42VC5KR.js";
57
58
  import "./chunk-QSJ3HFEF.js";
58
- import "./chunk-X4Q4UZEY.js";
59
- import "./chunk-3ND52WIL.js";
59
+ import "./chunk-ATWUOTJP.js";
60
60
  import {
61
61
  selectIdentityUserId
62
62
  } from "./chunk-XMLRJUU5.js";
@@ -64,6 +64,7 @@ import "./chunk-R5V5G73M.js";
64
64
  import "./chunk-GBRG75BQ.js";
65
65
  import "./chunk-3EUW3WEO.js";
66
66
  import "./chunk-U6VC4MU4.js";
67
+ import "./chunk-SLOGKB7M.js";
67
68
  import "./chunk-KUG52IAP.js";
68
69
  import "./chunk-LCBAMY2M.js";
69
70
  import "./chunk-4SN6J65J.js";