nolo-cli 0.210.0-alpha.2 → 0.212.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 (158) hide show
  1. package/{_executeModel-VVQEOY3D.js → _executeModel-KE6MBNUJ.js} +51 -48
  2. package/{action-U235TV4P.js → action-DF5UYSJF.js} +4 -4
  3. package/{addContentAction-7C76J7ST.js → addContentAction-N2YC5IL3.js} +8 -8
  4. package/{addDialogAgentAction-KTYANUEC.js → addDialogAgentAction-3NKVQCEC.js} +15 -12
  5. package/{agentDeleteCommand-WHRU6VDJ.js → agentDeleteCommand-NWK7VU4N.js} +71 -67
  6. package/{agentEmailCommands-ALLHXPW3.js → agentEmailCommands-UZ4DHEX2.js} +77 -72
  7. package/{agentListCommands-POKMEKMS.js → agentListCommands-HE7L2A6L.js} +190 -77
  8. package/{agentMachineCommands-WJLZLBPI.js → agentMachineCommands-6TE4MBMP.js} +30 -29
  9. package/{agentProviderCommands-MN3ABDME.js → agentProviderCommands-Q5O33MED.js} +33 -4
  10. package/{agentRecordCommands-OULZW3KM.js → agentRecordCommands-L3QQ7HZ4.js} +66 -61
  11. package/{agentRunCommand-ZNG4LGNQ.js → agentRunCommand-2IFGQHCO.js} +68 -64
  12. package/{agentRunControl-AF7BMR22.js → agentRunControl-OI3LOENH.js} +7 -6
  13. package/{agentRuntimeLocal-YMUHFV5M.js → agentRuntimeLocal-HL526DNQ.js} +28 -25
  14. package/{agentSlice-WNGUIMQZ.js → agentSlice-TMYP2UEA.js} +12 -12
  15. package/{appDeleteCommands-6MXPLAVF.js → appDeleteCommands-ZERW4AXY.js} +30 -29
  16. package/{appDeployCommands-ERRSVASW.js → appDeployCommands-DUWSMYHL.js} +30 -29
  17. package/{appDeployStatusCommands-ULICISLI.js → appDeployStatusCommands-N2KIE4BF.js} +30 -29
  18. package/{appGetCommands-WYYYWROF.js → appGetCommands-YVR4NPVY.js} +30 -29
  19. package/{appListCommands-DFCUCRCV.js → appListCommands-JS6HOHZS.js} +30 -29
  20. package/{authCommand-ZJMWXFMA.js → authCommand-FE2C3ZUM.js} +14 -14
  21. package/{authCommands-WK6E42L2.js → authCommands-HV3EAU3V.js} +2 -2
  22. package/{builtinSkillRegistry-HH75G5J3.js → builtinSkillRegistry-3YOIGEF6.js} +5 -4
  23. package/{chunk-JKW6LERJ.js → chunk-22CIEBYO.js} +14 -14
  24. package/{chunk-6HVBI6TI.js → chunk-25JZEIXN.js} +1 -218
  25. package/{chunk-TRZP7JZ7.js → chunk-2QHFH3DR.js} +1 -0
  26. package/{chunk-4LEGTOSR.js → chunk-3AKFVZ2I.js} +1 -1
  27. package/{chunk-XE4Q46FF.js → chunk-3CGG2PAL.js} +1 -1
  28. package/{chunk-25M2K6OA.js → chunk-3FOQHGHN.js} +3 -3
  29. package/{chunk-BSISWVB4.js → chunk-4I7ERB7F.js} +1 -1
  30. package/{chunk-TCTSYFDM.js → chunk-4KH4J3G5.js} +19 -6
  31. package/{chunk-NEZGPBL7.js → chunk-5AQR3DGV.js} +2 -2
  32. package/{chunk-YLTLB5A7.js → chunk-5RYBGBQH.js} +7 -6
  33. package/{chunk-RIALQUSF.js → chunk-6NSSLV67.js} +5 -5
  34. package/{chunk-RXCCWVA2.js → chunk-6OQUPIQF.js} +3 -3
  35. package/chunk-6VLJ6YA7.js +11751 -0
  36. package/{chunk-27E2CBBY.js → chunk-7OCO4TDT.js} +1 -1
  37. package/chunk-7RFNTILS.js +2213 -0
  38. package/{chunk-4WCEC56C.js → chunk-AVTVGMDY.js} +1 -1
  39. package/{chunk-3J3U3KXB.js → chunk-B7NJ3T4A.js} +4 -4
  40. package/{chunk-UMEGDH6A.js → chunk-BFM34N54.js} +7 -7
  41. package/chunk-CJEIOP3E.js +0 -0
  42. package/{chunk-YXOBCDNW.js → chunk-CJRONOYL.js} +5 -5
  43. package/{chunk-LT3EAHJY.js → chunk-CQ46IRNN.js} +38 -36
  44. package/{chunk-NTSRCTUX.js → chunk-CTPXME7U.js} +2 -2
  45. package/{chunk-M4NTDZG3.js → chunk-D5RCRX4A.js} +134 -141
  46. package/{chunk-25OB36GU.js → chunk-DM6UMOEL.js} +4 -4
  47. package/{chunk-TPCDYNJK.js → chunk-EYUBHHFB.js} +1 -1
  48. package/{chunk-Y6M7KJOA.js → chunk-EZFQ6XRV.js} +2 -2
  49. package/{chunk-ZOO3WJIE.js → chunk-FHU44LN3.js} +711 -40
  50. package/chunk-FY7F4Q6X.js +127 -0
  51. package/chunk-G7MLNNEX.js +84 -0
  52. package/{chunk-RYWO5AKN.js → chunk-GNDJKC4B.js} +10 -10
  53. package/{chunk-V3M6IXQI.js → chunk-GPO7FCEZ.js} +187 -36
  54. package/{chunk-RQ22OZD7.js → chunk-H2TJUNCH.js} +1 -1
  55. package/{chunk-C2XZM3K4.js → chunk-HIRC32DV.js} +5 -24
  56. package/{chunk-QQM464AL.js → chunk-HPFCI4SK.js} +3 -3
  57. package/chunk-HRMJUN5J.js +26 -0
  58. package/{chunk-HD3WR3TD.js → chunk-IAPCBNEE.js} +1 -1
  59. package/{chunk-XDMGY5IU.js → chunk-IF45XG7K.js} +220 -9
  60. package/{chunk-NLT32XBZ.js → chunk-IIQ6JGRI.js} +2 -2
  61. package/{chunk-OP7PTBAJ.js → chunk-IJXYFTV7.js} +8 -8
  62. package/{chunk-IIHY4ZAI.js → chunk-INSBKSBB.js} +8 -4
  63. package/{chunk-PAFTGNWA.js → chunk-JIT6FSXJ.js} +1 -1
  64. package/{chunk-WTKYP6QO.js → chunk-JTDORD5P.js} +5 -5
  65. package/{chunk-ECX3NKRD.js → chunk-JY5NGFFH.js} +11 -0
  66. package/chunk-KC4XDTT3.js +227 -0
  67. package/{chunk-PLYWH7XM.js → chunk-KIM6CLW5.js} +7 -7
  68. package/{chunk-SCYQJPGA.js → chunk-M6RL5JCD.js} +147 -20
  69. package/chunk-MMA3LZ3W.js +105 -0
  70. package/{chunk-I5PBXF7O.js → chunk-MMNYUVLW.js} +1 -1
  71. package/{chunk-NHQKWPLP.js → chunk-NJR3WKVP.js} +24 -22
  72. package/{chunk-W5VC7F7V.js → chunk-NOMIGOST.js} +59 -60
  73. package/{chunk-WI6OGHXJ.js → chunk-NRFKLKRU.js} +5 -5
  74. package/{chunk-NXCGNS4N.js → chunk-OHNELDTO.js} +1 -1
  75. package/{chunk-7IYBN7IA.js → chunk-OOF4UPC5.js} +22 -13
  76. package/{chunk-UIOEHFF6.js → chunk-OQHIVPG4.js} +1 -0
  77. package/{chunk-X4F26D5K.js → chunk-P5L7CXOC.js} +58 -33
  78. package/{chunk-5ORJGHTL.js → chunk-PDGKOTO7.js} +5 -5
  79. package/{chunk-UCPAVEQB.js → chunk-PYRUW7XN.js} +1 -1
  80. package/{chunk-SU3QL7YG.js → chunk-QT6PKHYJ.js} +1 -1
  81. package/{chunk-SN5XE6GQ.js → chunk-RPQXPZZF.js} +4 -4
  82. package/{chunk-ZN5AH4BY.js → chunk-RU4SD66C.js} +6 -6
  83. package/{chunk-YKFP6UGT.js → chunk-SOHTHFV2.js} +14 -14
  84. package/{chunk-CKOO42G5.js → chunk-UHJGXRJ4.js} +4 -4
  85. package/{chunk-CVCRAO6Q.js → chunk-UTV2AYEG.js} +9 -7
  86. package/{chunk-DQLB4NQ3.js → chunk-VPAZOH2D.js} +2 -2
  87. package/{chunk-MBS6CTZB.js → chunk-VZKUKCA6.js} +236 -1993
  88. package/{chunk-LNYHAKBP.js → chunk-W4S457LU.js} +1 -1
  89. package/chunk-WPORQFYN.js +74 -0
  90. package/{chunk-ET2CWLIJ.js → chunk-WXYLV624.js} +3 -3
  91. package/chunk-XFYFMTOM.js +92 -0
  92. package/{chunk-NV572QM3.js → chunk-YJMRHHGY.js} +15 -15
  93. package/{chunk-JBOUVTZX.js → chunk-YOIW77S2.js} +13 -2
  94. package/{chunk-ADBWFYJD.js → chunk-YPD3VJZW.js} +9 -9
  95. package/{chunk-DA7CTWT4.js → chunk-YWSEPJ7C.js} +5 -5
  96. package/{chunk-3V2QMRNN.js → chunk-ZL5RAEEB.js} +3 -3
  97. package/cliAgentConfigHelpers-WJBZQTLW.js +41 -0
  98. package/{commandRegistry-FI2IOQ3U.js → commandRegistry-VVMTPFAX.js} +85 -81
  99. package/{contentThunks-5LKNNDGY.js → contentThunks-N52O67MI.js} +25 -24
  100. package/{createAgentAutomationAction-TI4QG4CY.js → createAgentAutomationAction-ZC57YRSV.js} +25 -24
  101. package/{createDialogAction-TJ3JKLO4.js → createDialogAction-VQW5WDYX.js} +27 -26
  102. package/{createPageAction-GKXT6WEH.js → createPageAction-M5VDA7SC.js} +26 -25
  103. package/{dbSlice-LPMZ2DGJ.js → dbSlice-HP7G4LX3.js} +7 -7
  104. package/{deleteFile-EPUQHKPA.js → deleteFile-7VQGLK2V.js} +3 -3
  105. package/{dialogCommands-IWPXIZ5P.js → dialogCommands-JHMR2N2Y.js} +32 -30
  106. package/{dialogSlice-ZWNNS7GZ.js → dialogSlice-GRSVGDTF.js} +23 -22
  107. package/{dialogUsageCommand-ZCPPHPJ5.js → dialogUsageCommand-7KCPYGHG.js} +1 -1
  108. package/{docCreateCommands-HFSPKJSI.js → docCreateCommands-F2K3UPSQ.js} +28 -27
  109. package/{docDeleteCommands-CRL62POH.js → docDeleteCommands-XGXB5RFT.js} +29 -28
  110. package/{docReadCommands-QOTOX3XW.js → docReadCommands-7HWZZV6J.js} +28 -27
  111. package/{docStore-WYLRB7ED.js → docStore-KNZK6Y2G.js} +10 -10
  112. package/{docUpdateCommands-7BMH4MCA.js → docUpdateCommands-OZZ7NQII.js} +28 -27
  113. package/{fetchMessages-YY4SATNR.js → fetchMessages-M3QU7ZCQ.js} +1 -1
  114. package/{getPricing-OQXBJ6VZ.js → getPricing-2MNMXEVG.js} +3 -3
  115. package/{handleSendMessageAction-P27YP2DQ.js → handleSendMessageAction-SHIH74GJ.js} +46 -44
  116. package/hostCredentialCreate-X64WK4JD.js +357 -0
  117. package/index.js +5 -5
  118. package/{keys-P4ZDOVJW.js → keys-BEGDOTRL.js} +3 -1
  119. package/{localDialogRead-5VCMQQZF.js → localDialogRead-XRLAH4CZ.js} +1 -1
  120. package/{localRuntimeAdapter-GP6ZSSO3.js → localRuntimeAdapter-A7K3ABA6.js} +73 -66
  121. package/{machineCommands-6Z6H4BFX.js → machineCommands-DE3MR7CJ.js} +65 -60
  122. package/{machineWsRunDispatch-F2ZIXMYM.js → machineWsRunDispatch-R26P5V36.js} +65 -60
  123. package/{memberThunks-YSEFJF47.js → memberThunks-7WJAY5V6.js} +8 -8
  124. package/package.json +1 -1
  125. package/{projectArchive-PIGEOX3D.js → projectArchive-GGL5HLMD.js} +26 -25
  126. package/{providerPresetApply-ZYMLQA46.js → providerPresetApply-YXGV6NXB.js} +4 -4
  127. package/{providerRegistry-E34XWDLJ.js → providerRegistry-S6UL6UNA.js} +4 -4
  128. package/{read-DIIQBOOO.js → read-4VZQODSN.js} +3 -3
  129. package/{readDocTool-HXYGOEA7.js → readDocTool-AVD32RUJ.js} +1 -1
  130. package/{readlineWorkspace-UG25G7KC.js → readlineWorkspace-XKYKNL2I.js} +157 -100
  131. package/{removeDialogAgentAction-ALJDUJ2E.js → removeDialogAgentAction-FKL4BYMR.js} +17 -14
  132. package/{runAgentClientLoop-IO5F7TCZ.js → runAgentClientLoop-V7E2WBVM.js} +49 -46
  133. package/{runtimeDoctorCommands-PGAA47G5.js → runtimeDoctorCommands-QAI3MBKQ.js} +6 -6
  134. package/{secretCommands-ZCZ4KVET.js → secretCommands-4QS3HCA2.js} +3 -3
  135. package/{setDialogExtraReferencesAction-O3SVMD5A.js → setDialogExtraReferencesAction-TLIOLWWI.js} +10 -10
  136. package/{setPrimaryDialogAgentAction-HE7RVFFF.js → setPrimaryDialogAgentAction-2OLWRFYR.js} +18 -15
  137. package/{settingThunks-BWWJQG4L.js → settingThunks-UGBPCNYF.js} +12 -11
  138. package/{spaceCommands-UAELIFEI.js → spaceCommands-4KSLKVNF.js} +28 -27
  139. package/{streamAgentChatTurn-VUKZQYJR.js → streamAgentChatTurn-7FR7X2NU.js} +57 -54
  140. package/{switchDialogAgentAction-3VZS7SOS.js → switchDialogAgentAction-UZSAG2N5.js} +15 -12
  141. package/{tools-VRXJAVYI.js → tools-ZLKCC25W.js} +43 -40
  142. package/{tuiSummaryLlmCaller-TGCHZLSW.js → tuiSummaryLlmCaller-WC54MVGP.js} +10 -10
  143. package/{updateCommands-Q6CYAEYJ.js → updateCommands-4744PL3P.js} +3 -1
  144. package/{updateDialogTitleAction-MULWCJCW.js → updateDialogTitleAction-U53ZT7PJ.js} +38 -70
  145. package/usageCommand-F4IPVMIZ.js +32 -0
  146. package/usageRebuildCommand-HAW2AD5N.js +626 -0
  147. package/chunk-4LCOCOR5.js +0 -50
  148. package/chunk-7AUQ3WCW.js +0 -51
  149. package/chunk-ZRAU6T47.js +0 -56
  150. package/{agentFavoriteCommands-GAFEXKKP.js → agentFavoriteCommands-EDK743YA.js} +1 -1
  151. package/{agentGrantCommands-V5FOQKFD.js → agentGrantCommands-RQWK2TEV.js} +1 -1
  152. package/{agentPullCommand-2JMJP5BS.js → agentPullCommand-6EM3URVK.js} +1 -1
  153. package/{chunk-BTYQAODF.js → chunk-CZM5YTZ7.js} +3 -3
  154. package/{chunk-A2ZMIRLN.js → chunk-INN4LTAJ.js} +5 -5
  155. package/{chunk-XPHZK3PJ.js → chunk-JNKSDZFS.js} +3 -3
  156. package/{chunk-PV6JJAUB.js → chunk-TCZHTTUU.js} +8 -8
  157. package/{chunk-AKE53VMW.js → chunk-ZCWRMUWT.js} +0 -0
  158. package/{tableCommands-D7WR4QSM.js → tableCommands-MP6VFSVT.js} +3 -3
@@ -7,16 +7,17 @@ import {
7
7
  resolveBuiltinSkillEntry,
8
8
  resolveBuiltinSkillPage,
9
9
  resolveBuiltinSkillSlug
10
- } from "./chunk-Y6M7KJOA.js";
11
- import "./chunk-TPCDYNJK.js";
10
+ } from "./chunk-EZFQ6XRV.js";
11
+ import "./chunk-EYUBHHFB.js";
12
12
  import "./chunk-AETZ7AD6.js";
13
13
  import "./chunk-Y6ORVLSS.js";
14
14
  import "./chunk-KHCLMKZZ.js";
15
- import "./chunk-AKE53VMW.js";
15
+ import "./chunk-CJEIOP3E.js";
16
+ import "./chunk-ZCWRMUWT.js";
16
17
  import "./chunk-ZC3CMUKU.js";
17
18
  import "./chunk-LOEO7LRC.js";
18
19
  import "./chunk-M2EJHDJP.js";
19
- import "./chunk-ECX3NKRD.js";
20
+ import "./chunk-JY5NGFFH.js";
20
21
  import "./chunk-XJWWBO34.js";
21
22
  import "./chunk-I42VC5KR.js";
22
23
  import "./chunk-U6VC4MU4.js";
@@ -5,7 +5,7 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-25M2K6OA.js";
8
+ } from "./chunk-3FOQHGHN.js";
9
9
  import {
10
10
  CONFIRMATION_INPUT_KEYS,
11
11
  INVALID_TOOL_ARGS_REPLACEMENT,
@@ -14,16 +14,16 @@ import {
14
14
  performFetchRequest,
15
15
  sanitizeOutboundMessages,
16
16
  stripModelToolArgs
17
- } from "./chunk-NV572QM3.js";
17
+ } from "./chunk-YJMRHHGY.js";
18
18
  import {
19
19
  findToolExecutor,
20
20
  toolDefinitionsByName
21
- } from "./chunk-LT3EAHJY.js";
21
+ } from "./chunk-CQ46IRNN.js";
22
22
  import {
23
23
  classifyApiError,
24
24
  classifyGenerationError,
25
25
  extractErrorDiagnostics
26
- } from "./chunk-ZN5AH4BY.js";
26
+ } from "./chunk-RU4SD66C.js";
27
27
  import {
28
28
  createSSEParser,
29
29
  createToolRunId,
@@ -32,7 +32,7 @@ import {
32
32
  toolRunSetPending,
33
33
  toolRunStarted,
34
34
  toolRunSucceeded
35
- } from "./chunk-RYWO5AKN.js";
35
+ } from "./chunk-GNDJKC4B.js";
36
36
  import {
37
37
  getPublicImageAgentMode
38
38
  } from "./chunk-VIDPVFP3.js";
@@ -43,10 +43,10 @@ import {
43
43
  toast,
44
44
  toolResultNeedsUserConfirmation,
45
45
  updateToolMessage
46
- } from "./chunk-MBS6CTZB.js";
46
+ } from "./chunk-VZKUKCA6.js";
47
47
  import {
48
48
  streamAgentChatTurn
49
- } from "./chunk-ADBWFYJD.js";
49
+ } from "./chunk-YPD3VJZW.js";
50
50
  import {
51
51
  getCurrentSpaceId
52
52
  } from "./chunk-5XBUWM6I.js";
@@ -61,13 +61,13 @@ import {
61
61
  } from "./chunk-YDH3FDFQ.js";
62
62
  import {
63
63
  selectCurrentServer
64
- } from "./chunk-BSISWVB4.js";
64
+ } from "./chunk-4I7ERB7F.js";
65
65
  import {
66
66
  write
67
- } from "./chunk-UMEGDH6A.js";
67
+ } from "./chunk-BFM34N54.js";
68
68
  import {
69
69
  createAsyncThunk
70
- } from "./chunk-X4F26D5K.js";
70
+ } from "./chunk-P5L7CXOC.js";
71
71
  import {
72
72
  selectIdentityToken
73
73
  } from "./chunk-PXYBUFDB.js";
@@ -90,13 +90,13 @@ import {
90
90
  } from "./chunk-56GBUMO5.js";
91
91
  import {
92
92
  normalizeChatCompletionsBodyForProvider
93
- } from "./chunk-CVCRAO6Q.js";
93
+ } from "./chunk-UTV2AYEG.js";
94
94
  import {
95
95
  EMPTY_ASSISTANT_REPAIR_PROMPT
96
- } from "./chunk-WTKYP6QO.js";
96
+ } from "./chunk-JTDORD5P.js";
97
97
  import {
98
98
  getModelInfo
99
- } from "./chunk-BTYQAODF.js";
99
+ } from "./chunk-CZM5YTZ7.js";
100
100
  import {
101
101
  isAbortError
102
102
  } from "./chunk-7DPNBQSV.js";
@@ -114,7 +114,7 @@ import {
114
114
  } from "./chunk-KUG52IAP.js";
115
115
  import {
116
116
  toTrimmedString
117
- } from "./chunk-ECX3NKRD.js";
117
+ } from "./chunk-JY5NGFFH.js";
118
118
  import {
119
119
  createDialogMessageKeyAndId,
120
120
  dialogMessageKey
@@ -2,10 +2,6 @@ import {
2
2
  asRecordOrEmpty
3
3
  } from "./chunk-KX6YBIHG.js";
4
4
  import {
5
- canonicalizeToolName
6
- } from "./chunk-AKE53VMW.js";
7
- import {
8
- isOwnedAgentKey,
9
5
  ownedAgentKey,
10
6
  publicAgentKey
11
7
  } from "./chunk-M2EJHDJP.js";
@@ -13,8 +9,7 @@ import {
13
9
  isRecord
14
10
  } from "./chunk-KUG52IAP.js";
15
11
  import {
16
- asNonEmptyStringArray,
17
- asTrimmedNonEmptyStringArray
12
+ asNonEmptyStringArray
18
13
  } from "./chunk-I42VC5KR.js";
19
14
  import {
20
15
  asOptionalFiniteNumber
@@ -23,212 +18,6 @@ import {
23
18
  asOptionalTrimmedString
24
19
  } from "./chunk-G3SUCT4W.js";
25
20
 
26
- // packages/agent-runtime/runtimeToolSurface.ts
27
- var DEFAULT_PRIVATE_NOLO_WORKSPACE_TOOLS = [
28
- "listDialogs",
29
- "readDialog",
30
- "queryDialogsBySubjectRef",
31
- "deleteDialogs",
32
- "listAgents",
33
- "readAgent",
34
- "listSpaces",
35
- "readSpace",
36
- "readDoc",
37
- "readSkillDoc",
38
- "loadSkill",
39
- "listTables",
40
- "queryTableRows",
41
- "cliWhoami",
42
- "cliDoctor",
43
- "list_cloud_resources",
44
- "cloud_probe"
45
- // cloud_exec 故意不在此清单:硬边界是「永不默认开 exec」。它只在 agent 显式启用时出现,
46
- // 且只读 run 会被 HIGH_RISK_MUTATION_TOOL_NAMES 挡住(runtimeToolSurface.test.ts 钉住)。
47
- ];
48
- var DEFAULT_SUBTASK_REFERENCE_NOLO_WORKSPACE_TOOLS = [
49
- "readDialog",
50
- "queryDialogsBySubjectRef",
51
- "readDoc",
52
- "queryTableRows"
53
- ];
54
- var HIGH_RISK_MUTATION_TOOL_NAMES = [
55
- "writeFile",
56
- "editFile",
57
- "deleteDialogs",
58
- "deleteMemory",
59
- "taskStop",
60
- // 能力包(loadSkill 授予)里的写/删/部署/记忆写入/进程启动类工具:
61
- // 只读 run 的授予通道会过同一份 blockedToolNames,名单缺项即可被绕过。
62
- // 契约测试(runtimeToolSurface.test.ts)按名字关键字钉住 CAPABILITY_PACKS 的分类。
63
- "applyEdit",
64
- "applyLineEdits",
65
- "launchProcess",
66
- "rememberMemory",
67
- "appFileWrite",
68
- "appFileReplace",
69
- "appDeploy",
70
- "appDelete",
71
- "createTable",
72
- "addTableRow",
73
- "addTableRows",
74
- "updateTableRow",
75
- "deleteTableRow",
76
- // 媒体任务译文写回:改写 job 的 translate 产物(服务端零计费、无外部副作用),
77
- // 但仍是「写」,只读 run 不该拿到写回能力;契约测试按名字关键字钉住这份分类。
78
- "writeTranslations",
79
- // 编排副作用:startAgentRun 会另起一次 run(子 run 的只读与否由调用方参数决定),
80
- // controlAgentRun 能追加指令/停止它;只读 run 不应拿到这两个(review A-1)。
81
- "startAgentRun",
82
- "controlAgentRun",
83
- // 受控云端执行:在用户拥有的云资源上跑任意命令,不可重放、副作用在云端。
84
- // 硬边界:它永不进 DEFAULT_PRIVATE_NOLO_WORKSPACE_TOOLS(见该清单注释),
85
- // 必须由 agent 显式启用才出现;这里进名单保证只读 run 即使被显式要求也拿不到。
86
- "cloud_exec"
87
- ];
88
- function resolveReadOnlyToolConstraints(additionalBlockedTools) {
89
- return {
90
- blockedToolNames: [
91
- ...HIGH_RISK_MUTATION_TOOL_NAMES,
92
- ...additionalBlockedTools ?? []
93
- ]
94
- };
95
- }
96
- function applyToolSurfaceConstraints(surface, constraints) {
97
- const allowed = constraints.allowedToolNames == null ? null : new Set(asTrimmedNonEmptyStringArray(constraints.allowedToolNames));
98
- const blocked = new Set(asTrimmedNonEmptyStringArray(constraints.blockedToolNames ?? []));
99
- const narrow = (names) => names.filter(
100
- (name) => (allowed === null || allowed.has(name)) && !blocked.has(name)
101
- );
102
- return {
103
- ...surface,
104
- explicitToolNames: narrow(surface.explicitToolNames),
105
- injectedToolNames: narrow(surface.injectedToolNames),
106
- finalToolNames: narrow(surface.finalToolNames)
107
- };
108
- }
109
- function resolveRequestToolSurface(args) {
110
- const normalize = (name) => canonicalizeToolName(name.trim().replace(/^functions\./i, ""));
111
- const names = (values) => new Set(values.map(normalize));
112
- const allowed = args.profile?.allowedToolNames == null ? null : names(args.profile.allowedToolNames);
113
- const blocked = names(args.profile?.blockedToolNames ?? []);
114
- const supported = args.backend ? names(args.backend.toolNames) : null;
115
- const scope = args.backend?.scopedToolNames ? names(args.backend.scopedToolNames) : null;
116
- const filteredTools = [];
117
- const finalToolNames = args.requestedToolNames.filter((toolName) => {
118
- const name = normalize(toolName);
119
- const reason = allowed && !allowed.has(name) ? "profile-not-allowed" : blocked.has(name) ? "profile-blocked" : supported && (!scope || scope.has(name)) && !supported.has(name) ? "backend-unsupported" : null;
120
- if (!reason) return true;
121
- filteredTools.push({ toolName, reason });
122
- return false;
123
- });
124
- return { finalToolNames, filteredTools };
125
- }
126
- function uniqueToolNames(values) {
127
- return [...new Set(asTrimmedNonEmptyStringArray(values))];
128
- }
129
- function canInjectPrivateDefaults(args) {
130
- if (!args.currentUserId) return false;
131
- if (args.invocationVisibility !== "private") return false;
132
- if (args.agentOwnerId && args.agentOwnerId === args.currentUserId) return true;
133
- if (args.trustedPrivateInvocation === true) return true;
134
- return false;
135
- }
136
- function explicitOnlyReason(args) {
137
- if (!args.currentUserId || !args.agentOwnerId) {
138
- return "explicit-only-missing-identity";
139
- }
140
- if (args.invocationVisibility === "public") return "explicit-only-public";
141
- if (args.invocationVisibility === "shared") return "explicit-only-shared";
142
- if (args.agentOwnerId !== args.currentUserId) {
143
- return "explicit-only-owner-mismatch";
144
- }
145
- return "explicit-only-anonymous";
146
- }
147
- function resolveRuntimeToolSurface(args) {
148
- const explicitToolNames = uniqueToolNames(args.explicitToolNames ?? []);
149
- if (canInjectPrivateDefaults(args)) {
150
- const baseInjected = args.injectPrivateDefaults === false ? args.defaultInjectedToolNames ?? DEFAULT_SUBTASK_REFERENCE_NOLO_WORKSPACE_TOOLS : args.defaultInjectedToolNames ?? DEFAULT_PRIVATE_NOLO_WORKSPACE_TOOLS;
151
- const injectedToolNames2 = uniqueToolNames([
152
- ...baseInjected,
153
- ...args.additionalRequiredToolNames ?? []
154
- ]);
155
- return {
156
- explicitToolNames,
157
- injectedToolNames: injectedToolNames2,
158
- finalToolNames: uniqueToolNames([
159
- ...explicitToolNames,
160
- ...injectedToolNames2
161
- ]),
162
- auditReason: "private-authenticated-defaults"
163
- };
164
- }
165
- const injectedToolNames = uniqueToolNames(args.additionalRequiredToolNames ?? []);
166
- return {
167
- explicitToolNames,
168
- injectedToolNames,
169
- finalToolNames: uniqueToolNames([
170
- ...explicitToolNames,
171
- ...injectedToolNames
172
- ]),
173
- auditReason: explicitOnlyReason(args)
174
- };
175
- }
176
- function isPublicRuntimeAgentRef(value) {
177
- return typeof value === "string" && value.startsWith("agent-pub-");
178
- }
179
- function inferOwnerIdFromRuntimeAgentKey(value) {
180
- if (typeof value !== "string") return null;
181
- const privateAgentMatch = value.match(/^agent-([^-]+)-(.+)$/);
182
- if (privateAgentMatch && privateAgentMatch[1] !== "pub") {
183
- return privateAgentMatch[1];
184
- }
185
- return null;
186
- }
187
- function resolveRuntimeToolSurfaceForAgent(args) {
188
- const agentKey = typeof args.agentKey === "string" ? args.agentKey : "";
189
- const currentUserId = typeof args.currentUserId === "string" ? args.currentUserId : "";
190
- const inferredOwnerId = args.agentOwnerId ?? (currentUserId && isOwnedAgentKey(agentKey, currentUserId) ? currentUserId : inferOwnerIdFromRuntimeAgentKey(agentKey));
191
- const publicRef = isPublicRuntimeAgentRef(agentKey);
192
- const visibility = args.trustedPrivateInvocation === true ? "private" : publicRef || args.isPublic === true || args.sharingLevel === "public" ? "public" : "private";
193
- return resolveRuntimeToolSurface({
194
- explicitToolNames: args.explicitToolNames,
195
- currentUserId: args.currentUserId,
196
- agentOwnerId: inferredOwnerId,
197
- invocationVisibility: visibility,
198
- runtimeHost: args.runtimeHost,
199
- trustedPrivateInvocation: args.trustedPrivateInvocation,
200
- injectPrivateDefaults: args.injectPrivateDefaults,
201
- defaultInjectedToolNames: args.defaultInjectedToolNames,
202
- additionalRequiredToolNames: args.additionalRequiredToolNames
203
- });
204
- }
205
- var SECRET_FIELD_NAMES = [
206
- "apikey",
207
- "api_key",
208
- "secret",
209
- "token",
210
- "authorization",
211
- "credential",
212
- "password"
213
- ];
214
- function isSecretFieldName(key) {
215
- const normalized = key.toLowerCase();
216
- return SECRET_FIELD_NAMES.some((name) => normalized.includes(name));
217
- }
218
- function redactAgentRecordForWorkspaceTool(record) {
219
- if (Array.isArray(record)) return record.map(redactAgentRecordForWorkspaceTool);
220
- if (!isRecord(record)) return record;
221
- const redacted = {};
222
- for (const [key, value] of Object.entries(record)) {
223
- if (isSecretFieldName(key)) {
224
- redacted[key] = "[redacted]";
225
- continue;
226
- }
227
- redacted[key] = Array.isArray(value) || isRecord(value) ? redactAgentRecordForWorkspaceTool(value) : value;
228
- }
229
- return redacted;
230
- }
231
-
232
21
  // packages/agent-runtime/dialogReadProjection.ts
233
22
  var DEFAULT_READ_DIALOG_MAX_RESPONSE_CHARS = 32e3;
234
23
  var MIN_RESPONSE_BUDGET_CHARS = 1024;
@@ -1537,12 +1326,6 @@ var AGENT_SELECTION_PRIORITY_INSTRUCTIONS = ` - \u4F18\u5148\u7EA7\u5951\u7EA6
1537
1326
  - 429 \u9650\u6D41\u4E0E\u77E5\u60C5\u6743\u5951\u7EA6\uFF1A\u4EFB\u4F55\u7528\u6237\u79C1\u6709\u51ED\u636E\u4E0E\u81EA\u5EFA Agent\uFF08billingSource \u4E3A user_subscription / owner_subscription / user_api / local\uFF0C\u6216 isOwned=true\uFF09\u51FA\u73B0\u5728 listAgents \u7684 unavailableAgents\uFF08429 \u51B7\u5374\u671F\uFF09\u4E2D\u65F6\uFF0C\u7981\u6B62\u9759\u9ED8\u8DF3\u8FC7\uFF1B\u6539\u6D3E\u5E73\u53F0 Agent\uFF08\u6D88\u8017\u5E73\u53F0\u79EF\u5206\uFF09\u524D\u5FC5\u987B\u5728\u56DE\u590D\u4E2D\u544A\u77E5\u7528\u6237\uFF1A\u54EA\u4E2A\u8BA2\u9605/\u81EA\u5EFA agent \u9650\u6D41\u3001\u9884\u8BA1\u4F55\u65F6\u6062\u590D\uFF08nextAvailableAt\uFF09\u3001\u672C\u6B21\u5C06\u6263\u5E73\u53F0\u79EF\u5206\uFF1B\u4EFB\u52A1\u4E0D\u7D27\u6025\u5EFA\u8BAE\u7B49\u6062\u590D\u6216\u8BE2\u95EE\u7528\u6237\u3002`;
1538
1327
 
1539
1328
  export {
1540
- HIGH_RISK_MUTATION_TOOL_NAMES,
1541
- resolveReadOnlyToolConstraints,
1542
- applyToolSurfaceConstraints,
1543
- resolveRequestToolSurface,
1544
- resolveRuntimeToolSurfaceForAgent,
1545
- redactAgentRecordForWorkspaceTool,
1546
1329
  DEFAULT_READ_DIALOG_MAX_RESPONSE_CHARS,
1547
1330
  projectDialogReadForAgent,
1548
1331
  createStreamingDialogReadProjector,
@@ -290,6 +290,7 @@ function resolveEffectiveRuntimeToolPolicy(args) {
290
290
  }
291
291
 
292
292
  export {
293
+ buildAgentApiKeyCredentialRef,
293
294
  migrateAgentSecrets,
294
295
  applyAgentSecretMigrationUpdates,
295
296
  normalizeAgentRuntimeToolPolicy,
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-XDMGY5IU.js";
5
+ } from "./chunk-IF45XG7K.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-OXME3PEE.js";
@@ -31,7 +31,7 @@ import {
31
31
  createMemoryOwnerIndexKey,
32
32
  createMemorySubjectKindIndexKey,
33
33
  memoryOwnerRange
34
- } from "./chunk-ECX3NKRD.js";
34
+ } from "./chunk-JY5NGFFH.js";
35
35
  import {
36
36
  asTrimmedNonEmptyStringArray
37
37
  } from "./chunk-I42VC5KR.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-LT3EAHJY.js";
3
+ } from "./chunk-CQ46IRNN.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-MBS6CTZB.js";
6
+ } from "./chunk-VZKUKCA6.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
- } from "./chunk-AKE53VMW.js";
9
+ } from "./chunk-ZCWRMUWT.js";
10
10
  import {
11
11
  isRecord
12
12
  } from "./chunk-KUG52IAP.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSelector
3
- } from "./chunk-X4F26D5K.js";
3
+ } from "./chunk-P5L7CXOC.js";
4
4
  import {
5
5
  getAllServers,
6
6
  getIsDesktopApp
@@ -22,15 +22,16 @@ import {
22
22
  extractToolCallsFromResponseOutput,
23
23
  getUsageRequestOptions,
24
24
  hasImageParts,
25
+ resolveReasoningReplayOptions,
25
26
  sanitizeForOutbound,
26
27
  shouldStripReasoningContentForOutbound,
27
28
  stablePromptCacheKey,
28
29
  toOpenAiCompatibleMessages,
29
30
  toResponsesTools
30
- } from "./chunk-CVCRAO6Q.js";
31
+ } from "./chunk-UTV2AYEG.js";
31
32
  import {
32
33
  resolveToolImagePolicy
33
- } from "./chunk-DA7CTWT4.js";
34
+ } from "./chunk-YWSEPJ7C.js";
34
35
  import {
35
36
  isMeaningfulChatCompletionOutput,
36
37
  isMeaningfulResponsesOutput
@@ -47,7 +48,7 @@ import {
47
48
  resolvePlatformAuthToken,
48
49
  resolvePlatformServerUrl,
49
50
  resolveProviderTransportDecision
50
- } from "./chunk-PV6JJAUB.js";
51
+ } from "./chunk-TCZHTTUU.js";
51
52
  import {
52
53
  isRecord
53
54
  } from "./chunk-KUG52IAP.js";
@@ -518,10 +519,15 @@ function buildPlatformChatCompletionRequest(args) {
518
519
  }
519
520
  const usesResponsesApi = isResponsesEndpoint(args.providerConfig.endpoint);
520
521
  const requestOptions = usesResponsesApi ? toResponsesRequestOptions(args.providerConfig.requestOptions) : args.providerConfig.requestOptions;
521
- const shouldStripReasoning = shouldStripReasoningContentForOutbound(
522
+ const shouldStripReasoning = !usesResponsesApi && shouldStripReasoningContentForOutbound(
522
523
  args.providerConfig.provider,
523
524
  args.providerConfig.model
524
525
  );
526
+ const reasoningReplayOptions = resolveReasoningReplayOptions(
527
+ args.providerConfig.provider,
528
+ args.providerConfig.model,
529
+ shouldStripReasoning
530
+ );
525
531
  const sanitizedMessages = sanitizeForOutbound(args.messages, args.tools);
526
532
  const body = {
527
533
  model: args.providerConfig.model,
@@ -537,8 +543,15 @@ function buildPlatformChatCompletionRequest(args) {
537
543
  model: args.providerConfig.model,
538
544
  customProviderUrl: args.providerConfig.endpoint,
539
545
  hasVision: args.providerConfig.hasVision
540
- })
541
- })
546
+ }),
547
+ // 占位必须在**这一层**注入,不能只交给 responsesHelpers:
548
+ // `toOpenAiCompatibleMessages` 会用 preserveAgentStateFields 重建对象,
549
+ // 而非枚举 Symbol 标记(DOWNGRADED_TOOL_TURN_ORIGIN)不会跟着走,
550
+ // 所以「整体降级成纯文本的工具轮」到了 Responses 转换器那里已经认不出来。
551
+ // 在这里注入后,转换器只需读非空 reasoning_content 这条既有真值路径。
552
+ ...reasoningReplayOptions
553
+ }),
554
+ reasoningReplayOptions
542
555
  )
543
556
  } : {
544
557
  messages: toOpenAiCompatibleMessages(sanitizedMessages, {
@@ -4,12 +4,12 @@ import {
4
4
  isAgentSkillDisabled,
5
5
  resolveAgentSkillConfig,
6
6
  resolveUserEnabledSkills
7
- } from "./chunk-I5PBXF7O.js";
7
+ } from "./chunk-MMNYUVLW.js";
8
8
  import {
9
9
  resolveBuiltinSkillEntry,
10
10
  resolveBuiltinSkillPage,
11
11
  resolveSkillGraphFromRoots
12
- } from "./chunk-Y6M7KJOA.js";
12
+ } from "./chunk-EZFQ6XRV.js";
13
13
  import {
14
14
  parseSkillDocProtocol
15
15
  } from "./chunk-AETZ7AD6.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
- formatISO
3
- } from "./chunk-ZRAU6T47.js";
2
+ require_formatISO
3
+ } from "./chunk-WPORQFYN.js";
4
4
  import {
5
5
  require_react
6
6
  } from "./chunk-YDH3FDFQ.js";
7
7
  import {
8
8
  patch,
9
9
  readAndWait
10
- } from "./chunk-UMEGDH6A.js";
10
+ } from "./chunk-BFM34N54.js";
11
11
  import {
12
12
  toErrorMessage
13
13
  } from "./chunk-HNMXYYJR.js";
@@ -20,6 +20,7 @@ import {
20
20
 
21
21
  // packages/render/page/docStore.ts
22
22
  var import_react = __toESM(require_react(), 1);
23
+ var import_formatISO = __toESM(require_formatISO(), 1);
23
24
  var createInitialState = () => ({
24
25
  content: null,
25
26
  slateData: null,
@@ -316,7 +317,7 @@ async function saveDocState(arg, { dispatch, getState }) {
316
317
  const skillSummary = buildSkillSummaryMarker(meta);
317
318
  const content = slateToRenderMarkdown(slateData);
318
319
  const now = /* @__PURE__ */ new Date();
319
- const updatedAt = formatISO(now);
320
+ const updatedAt = (0, import_formatISO.default)(now);
320
321
  await dispatch(
321
322
  patch({
322
323
  dbKey: pageKey,
@@ -333,7 +334,7 @@ async function saveDocState(arg, { dispatch, getState }) {
333
334
  ).unwrap();
334
335
  if (dbSpaceId) {
335
336
  try {
336
- const { updateContentTitle } = await import("./contentThunks-5LKNNDGY.js");
337
+ const { updateContentTitle } = await import("./contentThunks-N52O67MI.js");
337
338
  await dispatch(
338
339
  updateContentTitle({
339
340
  spaceId: dbSpaceId,
@@ -372,7 +373,7 @@ async function saveDocState(arg, { dispatch, getState }) {
372
373
  }
373
374
  }
374
375
  async function createDocState(args, thunkApi) {
375
- const { createPageAction } = await import("./createPageAction-GKXT6WEH.js");
376
+ const { createPageAction } = await import("./createPageAction-M5VDA7SC.js");
376
377
  return createPageAction(args, thunkApi);
377
378
  }
378
379
  function subscribe(listener) {
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-4LEGTOSR.js";
10
+ } from "./chunk-3AKFVZ2I.js";
11
11
  import {
12
12
  parsePositiveFiniteNumberOrFallback
13
13
  } from "./chunk-Y5GCAMGP.js";
@@ -43,13 +43,13 @@ import {
43
43
  boundSummaryText,
44
44
  buildDialogReadEnvelope,
45
45
  projectDialogReadForAgent
46
- } from "./chunk-6HVBI6TI.js";
46
+ } from "./chunk-25JZEIXN.js";
47
47
  import {
48
48
  asRecordOrEmpty
49
49
  } from "./chunk-KX6YBIHG.js";
50
50
  import {
51
51
  resolveRunsDir
52
- } from "./chunk-C2XZM3K4.js";
52
+ } from "./chunk-HIRC32DV.js";
53
53
  import {
54
54
  toErrorMessage
55
55
  } from "./chunk-HNMXYYJR.js";
@@ -780,7 +780,7 @@ function isExplicitDialogIdMismatch(meta, dialogId) {
780
780
  return meta && typeof meta === "object" && "id" in meta && meta.id != null && String(meta.id) !== dialogId;
781
781
  }
782
782
  async function readDialogFromLocalDb(dialogKey, dialogId, limit, readLocalDialog) {
783
- const reader = readLocalDialog ?? (await import("./localDialogRead-5VCMQQZF.js")).readDialogFromLocalDb;
783
+ const reader = readLocalDialog ?? (await import("./localDialogRead-XRLAH4CZ.js")).readDialogFromLocalDb;
784
784
  const result = await reader({ dialogKey, dialogId, limit });
785
785
  return {
786
786
  ...result,
@@ -795,7 +795,7 @@ async function readLocalDialogAtDbPathDefault(args) {
795
795
  );
796
796
  }
797
797
  const db = await getDefaultCliLocalRuntimeDb();
798
- const { readDialogFromLocalDb: reader } = await import("./localDialogRead-5VCMQQZF.js");
798
+ const { readDialogFromLocalDb: reader } = await import("./localDialogRead-XRLAH4CZ.js");
799
799
  return reader({ ...args, db });
800
800
  }
801
801
  async function readDialogFromLocalDbWithFallback(args) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-ZN5AH4BY.js";
4
+ } from "./chunk-RU4SD66C.js";
5
5
  import {
6
6
  updateTokensAction
7
- } from "./chunk-MBS6CTZB.js";
7
+ } from "./chunk-VZKUKCA6.js";
8
8
  import {
9
9
  applyUpdateTokensFulfilled
10
10
  } from "./chunk-OWYYDMGJ.js";
@@ -12,7 +12,7 @@ import {
12
12
  extractReasoningFromResponseOutput,
13
13
  extractTextFromResponseOutput,
14
14
  extractToolCallsFromResponseOutput
15
- } from "./chunk-CVCRAO6Q.js";
15
+ } from "./chunk-UTV2AYEG.js";
16
16
  import {
17
17
  isRecord
18
18
  } from "./chunk-KUG52IAP.js";