nolo-cli 0.84.0-alpha.1 → 0.84.0

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 (168) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-IULR47HG.js → _executeModel-BPUR2QYH.js} +51 -50
  3. package/{action-D22U6CTH.js → action-P4TNFGAD.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-MB2HHMDZ.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-S2NRBCWW.js} +9 -9
  6. package/{agentDeleteCommand-2S4WCDQC.js → agentDeleteCommand-MNAA6MIG.js} +32 -30
  7. package/{agentEmailCommands-V3ADGHX7.js → agentEmailCommands-SK34WJKU.js} +70 -66
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-EPK3S274.js → agentListCommands-I26MKI4T.js} +55 -36
  10. package/{agentMachineCommands-XMZWK7P3.js → agentMachineCommands-M6QDR6P3.js} +32 -30
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-X3UNW77C.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
  13. package/agentRecordCommands-HTHLO2MM.js +129 -0
  14. package/{agentRunCommand-VUWNWC7C.js → agentRunCommand-IAIRCMTH.js} +70 -65
  15. package/{agentRunControl-T44MESII.js → agentRunControl-AVJR4JW4.js} +2 -2
  16. package/{agentRuntimeLocal-YRONTDLM.js → agentRuntimeLocal-3WTYYIT2.js} +32 -26
  17. package/{agentSlice-2P7OJFES.js → agentSlice-TVP3HINW.js} +10 -10
  18. package/{appDeleteCommands-YS7UGMP3.js → appDeleteCommands-SB5TNLKY.js} +32 -30
  19. package/{appDeployCommands-XIE5Z4BE.js → appDeployCommands-2IPKZINV.js} +32 -30
  20. package/{appDeployStatusCommands-54UDVYET.js → appDeployStatusCommands-K63TFUID.js} +32 -30
  21. package/{appGetCommands-6XYLBCRN.js → appGetCommands-VU2SLNEH.js} +32 -30
  22. package/{appListCommands-VEGH7SF5.js → appListCommands-S3T4DJ36.js} +32 -30
  23. package/{authCommand-JIEOFHXW.js → authCommand-HGP2XTKC.js} +185 -28
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-Q2VVY3SC.js +33 -0
  26. package/{chatQueueReduxAdapter-GPYCH5Z2.js → chatQueueReduxAdapter-TWIYKVIZ.js} +25 -25
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
  29. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  30. package/{chunk-BOYUESO7.js → chunk-3AMA42ZI.js} +1 -1
  31. package/{chunk-RZOJRTKR.js → chunk-3BGIKIPF.js} +444 -920
  32. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  33. package/{chunk-EBKMQULC.js → chunk-3IUWIAHP.js} +13 -15
  34. package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
  35. package/{chunk-4SZ37KLL.js → chunk-3VUWPRFW.js} +50 -30
  36. package/{chunk-WL2RKIBF.js → chunk-3YIAR5UI.js} +1 -1
  37. package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
  38. package/{chunk-AX7RMXSH.js → chunk-4MK3I7Y4.js} +38 -4
  39. package/{chunk-PF6O3GR3.js → chunk-52Q2IW2X.js} +1340 -1273
  40. package/{chunk-Y3NZYLPG.js → chunk-5MEYHVIB.js} +1 -1
  41. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  42. package/chunk-5ZUL4CUO.js +10 -0
  43. package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
  44. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  45. package/{chunk-FZGV4FGK.js → chunk-6GFOD3TK.js} +260 -140
  46. package/{chunk-TMPLPCVX.js → chunk-6OZ36FXI.js} +2 -2
  47. package/{chunk-PZM3EENV.js → chunk-6Z7MY3V7.js} +1 -1
  48. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  49. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  50. package/chunk-ACTMNVHM.js +93 -0
  51. package/{chunk-ZZCJUXUI.js → chunk-AHAHBQMU.js} +2 -2
  52. package/{chunk-BJCWNHVU.js → chunk-BFDFRLLQ.js} +2 -2
  53. package/chunk-BMQ2MJUK.js +153 -0
  54. package/chunk-BNGW5ASC.js +344 -0
  55. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  56. package/{chunk-73BR2IQT.js → chunk-CWQINZEA.js} +127 -7
  57. package/{chunk-HTMVBPOF.js → chunk-DD6XE56O.js} +19 -72
  58. package/{chunk-CADAR6QU.js → chunk-EYAQT56M.js} +4 -3
  59. package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
  60. package/{chunk-D6XYLSOS.js → chunk-FKNWP6SG.js} +1 -1
  61. package/{chunk-3VPDELAP.js → chunk-FP76KI2Y.js} +1500 -84
  62. package/chunk-FV3JEYR3.js +870 -0
  63. package/{chunk-GCJ3IS5M.js → chunk-GIVFXPWK.js} +177 -6
  64. package/chunk-GMZLP5DV.js +82 -0
  65. package/{chunk-LHDV2QUI.js → chunk-GNCCNNZD.js} +4 -2
  66. package/{chunk-XWNRAIUL.js → chunk-GP5LKBUZ.js} +6 -16
  67. package/{chunk-PZCTYKGU.js → chunk-GQBOR3G6.js} +2 -2
  68. package/{chunk-NFT2AOK5.js → chunk-H4AHY5BU.js} +13 -85
  69. package/{chunk-FNGAF7C4.js → chunk-HAFJ3NDE.js} +137 -12
  70. package/{chunk-ZVN6I33J.js → chunk-HCT7U36O.js} +9 -5
  71. package/{chunk-7QVPPOEC.js → chunk-HKNXJGEC.js} +43 -43
  72. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  73. package/{chunk-OZX2IPKM.js → chunk-HYJFRTLW.js} +2 -2
  74. package/{chunk-HH65VA5U.js → chunk-I3TQJXQ7.js} +109 -6
  75. package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
  76. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  77. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  78. package/{chunk-DUJWWUGV.js → chunk-K36IXSCQ.js} +1 -1
  79. package/{chunk-KRMWO2NN.js → chunk-KAUSRTO6.js} +3 -3
  80. package/{chunk-7FWPLK4M.js → chunk-LJ5VW2UJ.js} +1 -1
  81. package/{chunk-GHEJJGJI.js → chunk-LMREEBWT.js} +833 -109
  82. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  83. package/chunk-LVIFM7VW.js +1625 -0
  84. package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
  85. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  86. package/{chunk-KEZNSFGD.js → chunk-MZYBSTMH.js} +11 -173
  87. package/chunk-OCZKATRC.js +129 -0
  88. package/{chunk-MXUSPS2N.js → chunk-OIVSQH2O.js} +1510 -1592
  89. package/{chunk-E36HZARC.js → chunk-P5EVSOPA.js} +93 -17
  90. package/{chunk-SZLVDREM.js → chunk-PBA4UJBK.js} +3 -3
  91. package/{chunk-URWDSZRW.js → chunk-PMAIQX7A.js} +3 -3
  92. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  93. package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
  94. package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
  95. package/{chunk-NRALD3CC.js → chunk-QSHEEA5N.js} +54 -10
  96. package/chunk-QU7KDSZX.js +677 -0
  97. package/{chunk-T25L377S.js → chunk-RPJUFEGR.js} +10 -10
  98. package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
  99. package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
  100. package/{chunk-BKJO7LDP.js → chunk-U4OKDZFH.js} +6 -6
  101. package/{chunk-DM4FBSWG.js → chunk-UDVH2P4A.js} +7 -7
  102. package/{chunk-4EJ5QYB5.js → chunk-UEVXFHQB.js} +2 -2
  103. package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
  104. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  105. package/{chunk-YFADVSZE.js → chunk-VRTTFDBM.js} +7 -6
  106. package/{chunk-U7YP7ECK.js → chunk-WP5UXDA5.js} +84 -13
  107. package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
  108. package/{chunk-3QPYFHAH.js → chunk-XD2MJFUG.js} +1 -1
  109. package/{chunk-IDGYOD2O.js → chunk-XP3VVAPG.js} +3174 -223
  110. package/{chunk-ETLZZQJE.js → chunk-Z2PV6O2T.js} +121 -26
  111. package/{chunk-BZNGCVAW.js → chunk-Z5625XML.js} +4 -4
  112. package/{contentThunks-THSCADSK.js → contentThunks-JYWI7G7I.js} +26 -26
  113. package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
  114. package/{createAgentAutomationAction-WGN3UQ5A.js → createAgentAutomationAction-Z4SUJ54Y.js} +26 -26
  115. package/{createDialogAction-3EN2NLH7.js → createDialogAction-RCHFLVJ2.js} +29 -29
  116. package/{createPageAction-4VK473QV.js → createPageAction-YK2253XQ.js} +28 -28
  117. package/{dbSlice-GKGGFNOB.js → dbSlice-A6C6H32X.js} +8 -8
  118. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  119. package/{dialogCommands-PS4NWYY7.js → dialogCommands-X4UOZQWX.js} +36 -32
  120. package/{dialogSlice-CLV7SVOZ.js → dialogSlice-IVTWLCE2.js} +31 -25
  121. package/{docCreateCommands-4KANZJR6.js → docCreateCommands-VD6TGHG4.js} +33 -31
  122. package/{docDeleteCommands-F2S2TRUF.js → docDeleteCommands-OT3R2G4W.js} +34 -32
  123. package/{docReadCommands-B2WDPZQE.js → docReadCommands-2G7BIXSH.js} +33 -31
  124. package/{docStore-TDLCHWPF.js → docStore-UENKCCDX.js} +9 -9
  125. package/{docUpdateCommands-E7TKHRIO.js → docUpdateCommands-45MVJKZA.js} +33 -31
  126. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  127. package/{getPricing-QVTUQQTM.js → getPricing-LUSEABA6.js} +4 -4
  128. package/{handleSendMessageAction-AHL3ZHE4.js → handleSendMessageAction-LM2J4HC3.js} +66 -74
  129. package/index.js +99 -86
  130. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  131. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  132. package/{machineCommands-OTABVXOA.js → machineCommands-6N6MQIE6.js} +69 -65
  133. package/{machineWsRunDispatch-V4EVQSMZ.js → machineWsRunDispatch-7MFKVQCR.js} +65 -61
  134. package/{memberThunks-KATHH3F4.js → memberThunks-P2ECUJ56.js} +9 -9
  135. package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
  136. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  137. package/package.json +1 -1
  138. package/pdf-U6KSUEZZ.js +26435 -0
  139. package/providerPresetApply-XI3WUPTI.js +214 -0
  140. package/providerRegistry-KEPWWGXD.js +31 -0
  141. package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
  142. package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
  143. package/{readlineWorkspace-IIT3FQ6I.js → readlineWorkspace-JWBON5CX.js} +291 -135
  144. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-W66BJ7CF.js} +12 -12
  145. package/{runAgentClientLoop-7TQM7IAR.js → runAgentClientLoop-TA4SSPHE.js} +49 -49
  146. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  147. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-2ALKG3WA.js} +10 -10
  148. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-TQZB55F6.js} +12 -12
  149. package/{settingSlice-OEJA4NQO.js → settingSlice-P4ZW7K5X.js} +10 -10
  150. package/{spaceCommands-FSYH7AL4.js → spaceCommands-6NSAXB7D.js} +31 -29
  151. package/{streamAgentChatTurn-6EF6TVFK.js → streamAgentChatTurn-X5ENGUIS.js} +126 -65
  152. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-3KI72HHS.js} +9 -9
  153. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  154. package/{toolApiClient-VGYUB4P5.js → toolApiClient-G3M73RTB.js} +3 -3
  155. package/{tools-R3QNWWTD.js → tools-XRQR7ZZR.js} +45 -45
  156. package/tuiSummaryLlmCaller-UFGFOIIW.js +128 -0
  157. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  158. package/{updateDialogTitleAction-F3EUOWOB.js → updateDialogTitleAction-ESUUD3GT.js} +46 -29
  159. package/agentRecordCommands-WFPWLWOF.js +0 -125
  160. package/chunk-FMODTASJ.js +0 -109
  161. package/chunk-I42VC5KR.js +0 -15
  162. package/chunk-NB5SIWC4.js +0 -611
  163. package/chunk-NG4UT4K4.js +0 -79
  164. package/codingSkills-7S6523WH.js +0 -48
  165. package/tuiSummaryLlmCaller-PWOXTCBF.js +0 -116
  166. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  167. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  168. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-PUOC4YRO.js";
5
5
  import {
6
6
  AGENT_SELECTION_PRIORITY_INSTRUCTIONS
7
- } from "./chunk-ZVN6I33J.js";
7
+ } from "./chunk-HCT7U36O.js";
8
8
  import {
9
9
  getModelContextWindow
10
- } from "./chunk-7QVPPOEC.js";
10
+ } from "./chunk-HKNXJGEC.js";
11
11
  import {
12
12
  estimateTokenCount
13
13
  } from "./chunk-PSCNXBYA.js";
@@ -18,7 +18,7 @@ import {
18
18
  PLATFORM_HOSTED_KIMI_K3_MODEL,
19
19
  isFireworksKimiModel,
20
20
  isNoloHostedProvider
21
- } from "./chunk-AJHEFRGJ.js";
21
+ } from "./chunk-Q67DOFOO.js";
22
22
  import {
23
23
  asTrimmedLowercaseString
24
24
  } from "./chunk-QSJ3HFEF.js";
@@ -37,6 +37,12 @@ var buildIdentityBlock = (input) => {
37
37
  return lines.join("\n");
38
38
  };
39
39
 
40
+ // packages/agent-runtime/deleteSafety.ts
41
+ var DELETE_SAFETY_RED_LINE = [
42
+ "\u3010\u5220\u9664\u5B89\u5168\u7EA2\u7EBF \xB7 \u6700\u9AD8\u4F18\u5148\u7EA7\u3011",
43
+ "\u4EFB\u4F55\u5220\u9664\u64CD\u4F5C\uFF08\u6587\u4EF6\u3001\u6570\u636E\u3001\u5E73\u53F0/\u8FDC\u7AEF\u5185\u5BB9\u3001\u6D88\u606F\u7B49\uFF0C\u65E0\u8BBA\u5355\u6761\u6216\u6279\u91CF\uFF09\u6267\u884C\u524D\uFF0C\u5FC5\u987B\u5148\u5411\u7528\u6237\u5448\u73B0\u5B8C\u6574\u5F85\u5220\u6E05\u5355\uFF08\u540D\u79F0/\u8DEF\u5F84/\u6807\u9898\u7B49\u53EF\u8BC6\u522B\u4FE1\u606F\uFF0C\u4E0D\u5F97\u622A\u65AD\uFF09\uFF0C\u5E76\u83B7\u5F97\u7528\u6237\u660E\u786E\u786E\u8BA4\u540E\u624D\u53EF\u6267\u884C\uFF1B\u4E25\u7981\u7528\u6A21\u7CCA\u5B9A\u4F4D\uFF08\u5982\u201C\u5217\u8868\u6700\u4E0B\u65B9\u201D\uFF09\u6307\u4EE3\u5220\u9664\u76EE\u6807\uFF0C\u4E25\u7981\u5148\u5220\u540E\u62A5\u3002\uFF082026-09-26 \u6279\u91CF\u8BEF\u5220\u4E8B\u6545\u6559\u8BAD\uFF09"
44
+ ].join("\n");
45
+
40
46
  // packages/agent-runtime/contextLayerContract.ts
41
47
  var buildContextLayerContractBlock = (options = {}) => {
42
48
  const lines = [
@@ -91,6 +97,13 @@ var buildStartupProtocolBlock = (options = {}) => {
91
97
  };
92
98
 
93
99
  // packages/agent-runtime/runtimeGuidance.ts
100
+ var NOLO_WORKING_PHILOSOPHY = [
101
+ "--- Nolo \u5DE5\u4F5C\u539F\u5219 ---",
102
+ "\u9002\u5E94\u7528\u6237\u7684\u5DE5\u4F5C\u65B9\u5F0F\uFF0C\u800C\u4E0D\u662F\u8981\u6C42\u7528\u6237\u9002\u5E94\u4F60\u3002\u4FDD\u62A4\u7528\u6237\u6709\u9650\u7684\u6CE8\u610F\u529B\uFF1A\u80FD\u53EF\u9760\u5904\u7406\u7684\u5E38\u89C4\u590D\u6742\u6027\u5C3D\u91CF\u81EA\u884C\u5904\u7406\uFF1B\u771F\u6B63\u5F71\u54CD\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u548C\u65B9\u5411\u7684\u51B3\u5B9A\u7559\u7ED9\u7528\u6237\u3002",
103
+ "\u5C0A\u91CD\u7528\u6237\u7684\u610F\u56FE\u4E0E\u5224\u65AD\uFF0C\u4F46\u4E0D\u8981\u76F2\u4ECE\uFF1B\u5F53\u786E\u5B9E\u80FD\u6539\u53D8\u7ED3\u679C\u65F6\uFF0C\u6307\u51FA\u91CD\u8981\u76F2\u533A\u3001\u98CE\u9669\u3001\u66F4\u597D\u7684\u65B9\u6848\u6216\u65B0\u7684\u53EF\u80FD\u3002\u4E0D\u8981\u4E3A\u4E86\u663E\u5F97\u6709\u601D\u8003\u800C\u523B\u610F\u53CD\u9A73\u3002",
104
+ "\u5229\u7528\u76F8\u5173\u7684 Space\u3001\u8BB0\u5FC6\u3001\u5386\u53F2\u51B3\u5B9A\u548C\u5F53\u524D\u4E0A\u4E0B\u6587\uFF0C\u8BA9\u5408\u4F5C\u4EA7\u751F\u79EF\u7D2F\uFF1B\u4E0D\u8981\u56E0\u4E3A\u5B58\u5728\u65E7\u4E0A\u4E0B\u6587\u5C31\u5F3A\u884C\u5E26\u5165\u65E0\u5173\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u8981\u8BA9\u7528\u6237\u91CD\u590D\u8BF4\u660E\u5DF2\u7ECF\u53EF\u7528\u7684\u4FE1\u606F\u3002",
105
+ "\u76EE\u6807\u4E0D\u662F\u66FF\u7528\u6237\u505A\u6240\u6709\u51B3\u5B9A\uFF0C\u4E5F\u4E0D\u662F\u628A\u6240\u6709\u9009\u62E9\u91CD\u65B0\u4E22\u7ED9\u7528\u6237\uFF0C\u800C\u662F\u51CF\u5C11\u65E0\u610F\u4E49\u7684\u6253\u6270\uFF0C\u8BA9\u7528\u6237\u628A\u6CE8\u610F\u529B\u653E\u5728\u771F\u6B63\u9700\u8981\u5176\u5224\u65AD\u7684\u5730\u65B9\u3002"
106
+ ].join("\n");
94
107
  var normalizeToolName = (name) => name.replace(/[-_]/g, "").toLowerCase();
95
108
  var hasAnyTool = (normalizedTools, candidates) => candidates.some((candidate) => normalizedTools.has(normalizeToolName(candidate)));
96
109
  var hasAllTools = (normalizedTools, candidates) => candidates.every((candidate) => normalizedTools.has(normalizeToolName(candidate)));
@@ -146,11 +159,14 @@ var resolveRuntimeGuidanceToolOptions = (tools = []) => {
146
159
  var buildRuntimeGuidanceBlocks = (tools = []) => {
147
160
  const options = resolveRuntimeGuidanceToolOptions(tools);
148
161
  const normalizedTools = canonicalizeToolNames(tools);
162
+ const startupProtocol = buildStartupProtocolBlock({
163
+ hasCheckEnvTool: options.hasCheckEnvTool,
164
+ hasExecShellTool: options.hasExecShellTool
165
+ });
149
166
  return {
150
- startupProtocol: buildStartupProtocolBlock({
151
- hasCheckEnvTool: options.hasCheckEnvTool,
152
- hasExecShellTool: options.hasExecShellTool
153
- }),
167
+ // 复用现有 startup-protocol session-scope 槽位,保证 web/server/local 三条
168
+ // 装配线无需各自新增一份全局哲学;具体 startup protocol 为空时原则仍常驻。
169
+ startupProtocol: [NOLO_WORKING_PHILOSOPHY, startupProtocol].filter(Boolean).join("\n\n"),
154
170
  contextLayerContract: buildContextLayerContractBlock({
155
171
  hasRememberMemoryTool: options.hasRememberMemoryTool,
156
172
  hasDocTools: options.hasDocTools
@@ -190,25 +206,31 @@ var TOOL_USE_GUIDANCE = `--- \u5DE5\u5177\u4F7F\u7528\u7EAA\u5F8B ---
190
206
  var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
191
207
  \u7528 startAgentRun \u542F\u52A8\u5B50 Agent\uFF08wait:false \u5F02\u6B65 fork+exec \u8FD4\u56DE runId\uFF1Bwait:true \u540C\u6B65\u7B49\u7ED3\u679C\uFF09\uFF0C\u7528 controlAgentRun \u63A7\u5236/\u8BCA\u65AD\u3002\u4F55\u65F6\u6D3E\u53D1\u89C1\u300C\u591A Agent \u534F\u4F5C\u300D\u6BB5\uFF1B\u672C\u6BB5\u53EA\u8BB2\u6D3E\u53D1\u4E4B\u540E\u7684\u76EF\u68A2\u4E0E\u6392\u9519\u3002
192
208
 
193
- 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u662F\u5426\u5141\u8BB8\u963B\u585E\u7B49\u5F85\u7531\u5DE5\u5177\u8868\u56DE\u7B54\uFF0C\u4E0D\u7528\u731C\u73AF\u5883\uFF1AcontrolAgentRun \u6709 wait action \u5C31\u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4E0D\u8981\u81EA\u5DF1\u5FAA\u73AF wait\u2014\u2014\u90A3\u662F\u4F2A\u88C5\u6210\u7B49\u5F85\u7684\u8F6E\u8BE2\uFF09\uFF1B\u6CA1\u6709\u5C31\u6309\u5DE5\u5177\u63CF\u8FF0\u5904\u7406\uFF0C\u4E0D\u8981\u63A8\u65AD\u4E00\u5B9A\u5B58\u5728 terminal wake\u3002
209
+ 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u7B49\u5F85\u65B9\u5F0F\u6309\u73AF\u5883\u5206\u4E09\u79CD\uFF1A\u2460 controlAgentRun \u6709 wait action \u2192 \u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4EC5\u9650\u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C\u7684\u573A\u666F\uFF0C\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\uFF09\uFF1B\u2461 \u65E0 wait action \u4F46\u5BBF\u4E3B\u6709 terminal wake \u2192 \u6D3E\u53D1\u540E\u76F4\u63A5\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u5230\u7EC8\u6001\u65F6\u5BBF\u4E3B\u81EA\u52A8\u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF0C\u4E0D\u9700\u8981\u4EFB\u4F55\u4E3B\u52A8\u7B49\u5F85\uFF1B\u2462 \u65E0 wait action \u4E14\u65E0 terminal wake \u2192 \u6D3E\u53D1\u540E\u540C\u6837\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u7ED3\u675F\u65F6\u4E0D\u4F1A\u88AB\u81EA\u52A8\u63A5\u56DE\u6765\uFF0C\u8FD9\u662F\u5BBF\u4E3B\u9650\u5236\uFF0C\u5E94\u5728\u56DE\u590D\u4E2D\u5982\u5B9E\u544A\u77E5\u7528\u6237\u300Crun \u5DF2\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u7ED3\u679C\u9700\u624B\u52A8\u67E5\u8BE2\u300D\uFF0C\u800C\u4E0D\u662F\u7528 execShell sleep \u8F6E\u8BE2\u7ED5\u8FC7\u3002**execShell sleep \u6C38\u8FDC\u4E0D\u662F\u7B49\u5F85 agent run \u7684\u6B63\u786E\u65B9\u5F0F**\uFF1A\u547D\u4EE4\u8D85 5s \u4F1A\u88AB\u81EA\u52A8 detach \u6210\u540E\u53F0\u4EFB\u52A1\uFF0C\u6BCF\u4E2A\u5B8C\u6210\u90FD\u4EA7\u751F\u4E00\u6761\u901A\u77E5\uFF0C\u5F62\u6210\u566A\u97F3\u4E14\u5B8C\u5168\u65E0\u6548\u3002
194
210
  2. \u7981\u6B62\u8F6E\u8BE2\u3001\u7981\u7A7A\u8F6C\u3001\u522B\u590D\u8FF0 status\uFF1B\u8BED\u4E49\u4EE5\u5DE5\u5177\u63CF\u8FF0\u4E3A\u51C6\u3002status \u4EC5\u7528\u4E8E\u5F02\u5E38\u8BCA\u65AD\u2014\u2014\u6000\u7591\u5361\u6B7B\u3001failed \u540E\u770B\u8BE6\u60C5/\u65E5\u5FD7\u3001\u7528\u6237\u660E\u786E\u8BE2\u95EE\u6267\u884C\u7EC6\u8282\uFF08tailLines:0 \u53EA\u770B\u6458\u8981\uFF09\uFF1B\u5B83\u4E0D\u662F stop \u524D\u7684 preflight\u3002\u5E76\u884C\uFF1A\u65E0\u6587\u4EF6\u4EA4\u96C6\u3001\u65E0\u771F\u5B9E\u6570\u636E\u4F9D\u8D56\u7684\u72EC\u7ACB\u5B50\u4EFB\u52A1\u9ED8\u8BA4\u5E76\u53D1\u6D3E\u53D1\uFF1B\u4E0D\u8981\u56E0\u5171\u7528\u540C\u4E00\u6267\u884C agent/\u901A\u9053\u800C\u81EA\u884C\u52A0\u300C\u901A\u9053\u4E32\u884C\u300D\u4FDD\u5B88\u5047\u8BBE\uFF08\u540C\u901A\u9053\u5141\u8BB8\u5E76\u53D1 fork\uFF0C\u5B9E\u4F8B\u95F4\u65E0\u4E0A\u4E0B\u6587\u5171\u4EAB\uFF09\uFF0C\u53EA\u6709\u771F\u5B9E\u6587\u4EF6/\u6570\u636E\u4F9D\u8D56\u6216 brief \u660E\u793A\u51B2\u7A81\u9762\u65F6\u624D\u4E32\u884C\u3002
195
211
  3. \u6392\u9519\u5148\u5206\u8BCA\uFF1AagentKey \u6CA1\u7167\u6284 listAgents \u5C31\u5148\u4FEE key\uFF08\u4E0D\u7B97\u901A\u9053\u6545\u969C\uFF09\uFF1B\u62A5\u9519\u542B not found / invalid ref / Local agent config not found \u2192 \u5148 readAgent \u590D\u6838\uFF0C**\u7981\u6B62**\u636E\u6B64\u63A8\u65AD\u51ED\u8BC1\u7F3A\u5931\u6216\u901A\u9053\u5168\u6302\uFF1B\u540C\u4E00\u5DF2\u9A8C\u8BC1 key \u4ECD\u5931\u8D25\u4E14\u9519\u8BEF\u660E\u786E\u6307\u5411\u901A\u9053\uFF08429\u3001\u9274\u6743\u5931\u8D25\u3001machine offline\uFF09\u624D\u8BB0\u4E3A\u901A\u9053\u6545\u969C\u3002\u5224\u5B9A\u300C\u6D3E\u53D1\u901A\u9053\u6574\u4F53\u4E0D\u53EF\u7528\u300D\u9700 \u22652 \u4E2A\u4E0D\u540C\u5019\u9009\u5404\u81EA\u5B8C\u6210\u300C\u5DF2\u9A8C\u8BC1 key + \u4E00\u6B21\u771F\u5B9E\u6D3E\u53D1\u300D\u4E14\u5931\u8D25\uFF0C\u5019\u9009\u4E0D\u8DB3\u5C31\u5982\u5B9E\u62A5\u544A\u300C\u4EC5\u6B64\u5019\u9009\u4E14\u901A\u9053\u5931\u8D25\u300D\uFF0C\u4E0D\u5F97\u5938\u5927\u6210\u5168\u5E93\u4E0D\u53EF\u7528\u3002
196
212
  4. \u53EA\u6709 status=failed/\u8D85\u65F6\u6216 progress \u957F\u65F6\u95F4\u65E0\u52A8\u9759\uFF08\u7591\u4F3C\u5361\u6B7B\uFF09\u624D\u62C9 tailLines:30 \u770B\u65E5\u5FD7\u3002append \u53EF\u76F4\u63A5\u8C03\u7528\u2014\u2014not found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u5165\u961F\u7531 executor \u81EA\u8BC1\uFF1Bstop \u53EF\u76F4\u63A5\u8C03\u7528\uFF0Cnot found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u7531\u63A7\u5236\u5E73\u9762\u81EA\u884C\u5904\u7406\uFF08\u5DF2\u7EC8\u6001\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u4F1A\u88AB\u8986\u76D6\uFF09\u3002`;
197
- var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C\uFF08\u591A Agent \u534F\u4F5C\uFF1A\u8BA1\u5212 \u2192 \u6309\u9700\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
213
+ var AGENT_COLLABORATION_VALUE_AND_METHOD = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C\uFF08\u591A Agent \u534F\u4F5C\uFF1A\u8BA1\u5212 \u2192 \u6309\u9700\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
198
214
  \u4EA7\u51FA\u4F18\u5148\uFF1A\u4E0D\u4E3A\u300C\u51D1\u6570\u91CF\u300D\u6D3E\u53D1\uFF0C\u4E5F\u4E0D\u5305\u529E\u53EF\u5E76\u884C\u7684\u72EC\u7ACB\u9886\u57DF\uFF1B\u6BCF\u8F6E\u63A8\u8FDB\u5F53\u524D\u6700\u6709\u4EF7\u503C\u7684\u52A8\u4F5C\uFF0C\u62FF\u8BC1\u636E\u518D\u5224\u65AD\u3002
199
215
 
200
- **\u5E73\u53F0 Agent / \u5E73\u53F0\u79EF\u5206\u6263\u8D39\u786E\u8BA4\u786C\u95F8\u95E8\uFF08\u5FC5\u987B\u5148\u786E\u8BA4\uFF0C\u540E\u8C03\u7528\uFF09**\uFF1A
216
+ **\u6D3E\u53D1\u4EF7\u503C\uFF08\u5148\u5224\u65AD\u503C\u4E0D\u503C\u5F97\u6D3E\uFF0C\u518D\u9009\u4EBA\uFF09**\uFF1A
217
+ - \u4E0D\u4E3A\u201C\u770B\u8D77\u6765\u50CF\u591A Agent\u201D\u800C\u6D3E\u53D1\u3002\u53EA\u6709\u9884\u671F\u65B0\u589E\u4EF7\u503C\u660E\u663E\u5927\u4E8E\u534F\u4F5C\u6210\u672C\u65F6\u624D\u6D3E\u3002
218
+ - \u4EF7\u503C\u4E0D\u53EA\u770B\u201C\u4E3B Agent \u505A\u4E0D\u52A8\u201D\u3002\u81F3\u5C11\u4ECE\u4E09\u79CD\u6760\u6746\u5224\u65AD\uFF1A
219
+ 1. **\u4E0A\u4E0B\u6587\u6760\u6746\uFF08Context leverage\uFF09**\uFF1A\u628A\u673A\u68B0 inventory\u3001\u5927\u8F93\u51FA\u3001\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u8BC1\u636E\u641C\u96C6\u9694\u79BB\u51FA\u53BB\uFF0C\u4FDD\u62A4\u4E3B\u5BF9\u8BDD\u4E0A\u4E0B\u6587\u4E0E\u6CE8\u610F\u529B\u3002
220
+ 2. **\u5E76\u884C\u6760\u6746\uFF08Parallel leverage\uFF09**\uFF1A\u4E24\u4E2A\u6216\u66F4\u591A\u4E92\u4E0D\u4F9D\u8D56\u7684\u5DE5\u4F5C\u6D41\u53EF\u4EE5\u540C\u65F6\u63A8\u8FDB\uFF0C\u7F29\u77ED\u603B\u5B8C\u6210\u65F6\u95F4\u3002
221
+ 3. **\u8BA4\u77E5\u6760\u6746\uFF08Cognitive leverage\uFF09**\uFF1A\u72EC\u7ACB\u89C6\u89D2\u3001\u53CD\u65B9\u5BA1\u67E5\u3001\u521B\u610F\u5206\u652F\u3001\u9886\u57DF\u4E13\u5BB6\u6216\u4E0D\u540C\u6A21\u578B\u80FD\u663E\u8457\u63D0\u9AD8\u65B9\u6848\u8D28\u91CF\u3001\u53D1\u73B0\u76F2\u533A\u6216\u964D\u4F4E\u5171\u4EAB\u9519\u8BEF\u98CE\u9669\u3002\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u7814\u7A76\u3001\u5199\u4F5C\u3001\u6218\u7565\u548C\u590D\u6742\u51B3\u7B56\u540C\u6837\u9002\u7528\uFF0C\u4E0D\u9650\u4E8E\u4EE3\u7801\u3002
222
+ - **\u53CD\u7EA6\u675F**\uFF1A\u5982\u679C\u5B50 Agent \u9884\u8BA1\u53EA\u4F1A\u590D\u8FF0\u7236 Agent \u5DF2\u77E5\u4FE1\u606F\u3001\u6CA1\u6709\u72EC\u7ACB\u8BC1\u636E/\u89C6\u89D2/\u5E76\u884C\u6536\u76CA\uFF0C\u5C31\u4E0D\u8981\u6D3E\u3002\u4E0D\u8981\u628A\u534F\u8C03\u5F00\u9500\u4F2A\u88C5\u6210\u201C\u66F4\u8BA4\u771F\u201D\u3002
223
+ - **\u4FDD\u62A4\u7528\u6237\u6CE8\u610F\u529B**\uFF1A\u7F16\u6392\u8005\u5E94\u5148\u5728\u5185\u90E8\u5B8C\u6210\u80FD\u53EF\u9760\u5B8C\u6210\u7684\u6BD4\u8F83\u3001\u7B5B\u9009\u4E0E\u9ED8\u8BA4\u5224\u65AD\uFF1B\u53EA\u6709\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u7B49\u771F\u6B63\u9700\u8981\u7528\u6237\u51B3\u5B9A\u7684\u4E8B\u9879\u624D\u6253\u65AD\u7528\u6237\u3002\u4E0D\u8981\u628A\u201C\u8BF7\u9009\u62E9 A/B/C\u201D\u5F53\u4F5C\u5DF2\u7ECF\u5B8C\u6210\u89C4\u5212\uFF1B\u6709\u8DB3\u591F\u4F9D\u636E\u65F6\u5148\u7ED9\u63A8\u8350\u4E0E\u7406\u7531\uFF0C\u5E76\u8BF4\u660E\u4F55\u79CD\u6761\u4EF6\u4E0B\u5E94\u6539\u9009\u3002`;
224
+ var AGENT_PLATFORM_CREDITS_GATE = `**\u5E73\u53F0 Agent / \u5E73\u53F0\u79EF\u5206\u6263\u8D39\u786E\u8BA4\u786C\u95F8\u95E8\uFF08\u5FC5\u987B\u5148\u786E\u8BA4\uFF0C\u540E\u8C03\u7528\uFF09**\uFF1A
201
225
  - \u53EA\u8981\u5019\u9009 Agent \u7684 apiSource \u4E3A platform\uFF0C\u6216\u65E0\u6CD5\u786E\u8BA4\u8C03\u7528\u662F\u5426\u6D88\u8017\u5E73\u53F0\u79EF\u5206/\u989D\u5EA6\uFF0C\u5C31\u5FC5\u987B\u628A\u5B83\u89C6\u4E3A\u53EF\u80FD\u6263\u8D39\u7684\u9AD8\u6210\u672C\u8C03\u7528\u3002
202
226
  - **\u4EC5\u544A\u77E5\u7528\u6237\u201C\u4F1A\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u201D\u4E0D\u7B49\u4E8E\u83B7\u5F97\u6388\u6743\u3002** \u8C03\u7528 startAgentRun \u524D\uFF0C\u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\uFF1A\u539F\u4F18\u5148\u901A\u9053\u4E3A\u4F55\u4E0D\u53EF\u7528\u3001\u5019\u9009\u5E73\u53F0 Agent\u3001\u9884\u8BA1\u6263\u8D39/\u79EF\u5206\u5F71\u54CD\uFF0C\u5E76\u505C\u4E0B\u6765\u7B49\u5F85\u7528\u6237\u5F53\u6B21\u660E\u786E\u80AF\u5B9A\u6388\u6743\u3002
203
227
  - \u7528\u6237\u8BF4\u201C\u7EE7\u7EED\u201D\u201C\u6309\u8BA1\u5212\u201D\u201C\u4F60\u5904\u7406\u201D\u201C\u53EF\u4EE5\u201D\u7B49\uFF0C\u9ED8\u8BA4\u53EA\u8868\u793A\u7EE7\u7EED\u4EFB\u52A1\uFF0C\u4E0D\u8868\u793A\u540C\u610F\u65B0\u589E\u8D39\u7528\u6216\u5E73\u53F0\u79EF\u5206\u6263\u9664\uFF1B\u5FC5\u987B\u660E\u786E\u5305\u542B\u201C\u540C\u610F\u4F7F\u7528\u5E73\u53F0 Agent/\u63A5\u53D7\u6263\u5E73\u53F0\u79EF\u5206/\u540C\u610F\u8FD9\u6B21\u6263\u8D39\u201D\u7B49\u610F\u601D\uFF0C\u624D\u80FD\u89C6\u4E3A\u6388\u6743\u3002
204
228
  - \u6CA1\u6709\u660E\u786E\u6388\u6743\u65F6\uFF0C\u7981\u6B62\u8C03\u7528\u5E73\u53F0 Agent\uFF0C\u7981\u6B62\u4EE5\u5F02\u6B65\u3001\u540C\u6B65\u3001\u5E76\u884C\u3001\u81EA\u52A8 fallback\u3001\u6362\u53E6\u4E00\u4E2A\u5E73\u53F0 Agent \u6216\u91CD\u8BD5\u7684\u65B9\u5F0F\u7ED5\u8FC7\u786E\u8BA4\u3002
205
229
  - \u7528\u6237\u62D2\u7EDD\u5E73\u53F0\u6263\u8D39\u540E\uFF0C\u505C\u6B62\u6240\u6709\u5E73\u53F0 Agent \u5C1D\u8BD5\uFF1B\u53EA\u80FD\u7B49\u5F85\u79C1\u6709 Agent \u6062\u590D\u3001\u4F7F\u7528\u53EF\u7528\u7684\u975E\u5E73\u53F0 Agent\uFF0C\u6216\u518D\u6B21\u5411\u7528\u6237\u8BF4\u660E\u5E76\u91CD\u65B0\u8BF7\u6C42\u660E\u786E\u6388\u6743\u3002
206
- - \u6388\u6743\u662F\u4E00\u6B21\u6027\u7684\uFF0C\u4EC5\u8986\u76D6\u7528\u6237\u660E\u786E\u6279\u51C6\u7684 Agent\u3001\u5B50\u4EFB\u52A1\u548C\u672C\u6B21\u8C03\u7528\uFF0C\u4E0D\u5F97\u6269\u5C55\u5230\u540E\u7EED review\u3001\u540E\u7EED\u7EC4\u4EF6\u6216\u5176\u4ED6 Agent\u3002
207
-
208
- **\u6D3E\u53D1\u524D\u81EA\u68C0**\uFF1A\u6BCF\u6B21\u8C03\u7528 startAgentRun \u524D\uFF0C\u5148\u6838\u5BF9 agentKey \u7684 apiSource\u3001\u6536\u85CF/\u79C1\u6709\u72B6\u6001\u3001\u5360\u7528\u72B6\u6001\uFF08\u4EC5\u5F53\u5DE5\u5177/\u901A\u9053\u660E\u786E\u8FD4\u56DE\u8BE5\u5019\u9009\u4E0D\u53EF\u7528\uFF0C\u6216\u9879\u76EE\u660E\u786E\u89C4\u5B9A\u5B58\u5728\u540C\u4E00 Agent \u7684\u8D44\u6E90\u9501\u65F6\u6210\u7ACB\uFF09\u548C\u5F53\u524D\u6388\u6743\uFF1B\u65E0\u6CD5\u786E\u8BA4\u6263\u8D39\u72B6\u6001\u65F6\u6309\u53EF\u80FD\u6263\u8D39\u5904\u7406\uFF0C\u5148\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u731C\u6D4B\u3002
209
-
210
- **\u5206\u6863\u6807\u51C6\uFF08\u4E24\u8D26\u5224\u636E\uFF1A\u4E0A\u4E0B\u6587\u8D26 / \u5E76\u884C\u8D26\uFF1B\u6A21\u578B\u6210\u672C\u4E0D\u6784\u6210\u6D3E\u53D1\u7406\u7531\uFF09**\uFF1A
211
- - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u76F4\u63A5\u56DE\u7B54\uFF1B\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
230
+ - \u6388\u6743\u662F\u4E00\u6B21\u6027\u7684\uFF0C\u4EC5\u8986\u76D6\u7528\u6237\u660E\u786E\u6279\u51C6\u7684 Agent\u3001\u5B50\u4EFB\u52A1\u548C\u672C\u6B21\u8C03\u7528\uFF0C\u4E0D\u5F97\u6269\u5C55\u5230\u540E\u7EED review\u3001\u540E\u7EED\u7EC4\u4EF6\u6216\u5176\u4ED6 Agent\u3002`;
231
+ var AGENT_DISPATCH_PRECHECK = `**\u6D3E\u53D1\u524D\u81EA\u68C0**\uFF1A\u6BCF\u6B21\u8C03\u7528 startAgentRun \u524D\uFF0C\u5148\u6838\u5BF9 agentKey \u7684 apiSource\u3001\u6536\u85CF/\u79C1\u6709\u72B6\u6001\u3001\u5360\u7528\u72B6\u6001\uFF08\u4EC5\u5F53\u5DE5\u5177/\u901A\u9053\u660E\u786E\u8FD4\u56DE\u8BE5\u5019\u9009\u4E0D\u53EF\u7528\uFF0C\u6216\u9879\u76EE\u660E\u786E\u89C4\u5B9A\u5B58\u5728\u540C\u4E00 Agent \u7684\u8D44\u6E90\u9501\u65F6\u6210\u7ACB\uFF09\u548C\u5F53\u524D\u6388\u6743\uFF1B\u65E0\u6CD5\u786E\u8BA4\u6263\u8D39\u72B6\u6001\u65F6\u6309\u53EF\u80FD\u6263\u8D39\u5904\u7406\uFF0C\u5148\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u731C\u6D4B\u3002`;
232
+ var AGENT_COLLABORATION_FULL_PROTOCOL = `**\u5206\u6863\u6807\u51C6\uFF08\u4E24\u8D26\u5224\u636E\uFF1A\u4E0A\u4E0B\u6587\u8D26 / \u5E76\u884C\u8D26\uFF1B\u6A21\u578B\u6210\u672C\u4E0D\u6784\u6210\u6D3E\u53D1\u7406\u7531\uFF09**\uFF1A
233
+ - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u9ED8\u8BA4\u76F4\u63A5\u56DE\u7B54\u2014\u2014\u4F46\u82E5\u95EE\u9898\u672C\u8EAB\u662F\u5F00\u653E\u5F0F\u521B\u4F5C\u3001\u590D\u6742\u53D6\u820D\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u3001\u91CD\u5927\u51B3\u7B56\u6216\u660E\u786E\u5B58\u5728\u591A\u89C6\u89D2\u4EF7\u503C\uFF0C\u8BA4\u77E5\u6760\u6746\u547D\u4E2D\u5373\u6309\u53D1\u6563/\u4F1A\u5546\u6D3E\u53D1\uFF1B\u53EA\u6709\u786E\u5B9E\u6CA1\u6709\u65B0\u589E\u89C6\u89D2/\u8BC1\u636E/\u5E76\u884C\u6536\u76CA\u65F6\u624D\u76F4\u63A5\u56DE\u7B54\u3002\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
212
234
  - **\u4E0A\u4E0B\u6587\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u9A8C\u8BC1\u5FAA\u73AF \u22653 \u6B21\u300C\u8DD1\u547D\u4EE4\u2192\u770B\u62A5\u9519\u2192\u6539\u300D\uFF0C\u6216\u5355\u6B65\u5927\u8F93\u51FA\uFF08\u5168\u91CF typecheck \u62A5\u9519\u3001\u957F\u6D4B\u8BD5\u6808\u3001\u5927 diff\u3001\u5927\u6587\u4EF6\u8BFB\u53D6\uFF09\u2014\u2014\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u4E0E\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u4EA4\u7ED9\u5B50 Agent\uFF1B\u7236 Agent \u63A5\u6536\u7ED3\u6784\u5316\u8BC1\u636E\uFF0C\u5E76\u4EB2\u81EA\u590D\u6838\u6240\u6709\u5F71\u54CD\u5173\u952E\u51B3\u7B56\u7684\u539F\u59CB\u8BC1\u636E\u3002
213
235
  - **\u5173\u952E\u51B3\u7B56\u4E0A\u4E0B\u6587\u4E0D\u5916\u5305**\uFF1A\u4E0A\u4E0B\u6587\u8D26\u53EA\u51B3\u5B9A\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u3001\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u7684\u6D3E\u53D1\uFF1B\u6D89\u53CA\u67B6\u6784\u3001\u8BA1\u8D39\u3001\u5B89\u5168\u3001\u6743\u9650\u3001\u6570\u636E\u5B8C\u6574\u6027\u3001\u4E0D\u53EF\u9006\u8FC1\u79FB\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u65F6\uFF0C\u7F16\u6392\u8005\u5FC5\u987B\u4EB2\u81EA\u8BFB\u53D6\u8DB3\u4EE5\u51B3\u7B56\u7684\u4E00\u7EA7\u4EE3\u7801\u3001\u6B63\u5F0F\u771F\u503C\u3001\u539F\u59CB\u65E5\u5FD7\u548C\u771F\u5B9E\u6570\u636E\u8BC1\u636E\uFF1B\u5B50 Agent \u53EF\u505A\u5B9A\u4F4D\u3001\u673A\u68B0\u6536\u96C6\u3001\u72EC\u7ACB\u590D\u6838\u4E0E\u53CD\u65B9\u5BA1\u67E5\uFF0C\u4F46\u5176\u6458\u8981\u4E0D\u80FD\u66FF\u4EE3\u5173\u952E\u4E0A\u4E0B\u6587\u4EB2\u8BFB\u3002
214
236
  - **\u5E76\u884C\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u22652 \u4E2A\u4E92\u4E0D\u4F9D\u8D56\u7684\u72EC\u7ACB\u9886\u57DF\uFF0C\u6216\u4ED3\u5E93\u6539\u52A8\uFF0B\u9A8C\u8BC1\uFF0B\u53D1\u5E03/\u8FC1\u79FB\u957F\u94FE\u8DEF \u2192 \u6309\u9886\u57DF\u5E76\u53D1\u6D3E\u53D1\u3002
@@ -238,16 +260,32 @@ ${AGENT_SELECTION_PRIORITY_INSTRUCTIONS}
238
260
 
239
261
  **\u62C6\u5206\u4E0E brief**\uFF1A\u6309\u72EC\u7ACB\u9886\u57DF\u62C6\uFF0C\u4E0D\u6309\u6587\u4EF6\u6570\u91CF\u62C6\uFF1B\u5171\u4EAB\u63A5\u53E3/\u5F3A\u987A\u5E8F\u4F9D\u8D56\u5148\u56FA\u5316\u5951\u7EA6\u518D\u6D3E\u53D1\uFF0C\u52FF\u8BA9\u591A\u65B9\u5404\u81EA\u731C\u540C\u4E00\u63A5\u53E3\u3002\u5B50\u4EFB\u52A1\u81EA\u5305\u542B\u3001\u53EA\u4F20\u5B8C\u6210\u8BE5\u5B50\u4EFB\u52A1\u6240\u9700\u7684\u6700\u5C0F\u5DE5\u4F5C\u96C6\uFF08\u4E0A\u4E0B\u6587\u6700\u5C0F\u5316\uFF09\uFF0C\u4E25\u7981\u8F6C\u53D1\u65E0\u5173\u5386\u53F2\u4E0E\u65E5\u5FD7\uFF1B\u7236 Agent \u4FDD\u7559\u76EE\u6807\u3001\u5951\u7EA6\u3001\u96C6\u6210\u3001\u6700\u7EC8\u9A8C\u8BC1\u4E0E\u7528\u6237\u6C9F\u901A\u3002\u6D4B\u8BD5\u7C7B DoD \u5FC5\u987B\u9489\u6B7B\u57FA\u7EBF\u7CBE\u786E\u6570\u5B57\uFF08\u6D3E\u53D1\u524D\u4EB2\u81EA\u8DD1\u6D4B\u8BD5\u8BB0\u4E0B pass/fail \u4E0E\u65E2\u6709\u5931\u8D25\u5F52\u5C5E\uFF09\uFF0C\u9A8C\u6536\u4EB2\u81EA\u590D\u8DD1\u5BF9\u7167\u2014\u2014\u8D85\u57FA\u7EBF\u5373\u6267\u884C\u8005\u5F15\u5165\u56DE\u5F52\uFF08flaky \u53E6\u884C\u7504\u522B\uFF09\uFF1B\u65E0\u6570\u5B57\u7684\u300C\u6D4B\u8BD5\u901A\u8FC7\u300D\u6309\u672A\u9A8C\u8BC1\u5904\u7406\u3002
240
262
 
241
- **Tool call \u53C2\u6570\u4F53\u91CF\u7EAA\u5F8B**\uFF1A\u4EFB\u4F55 tool_call\uFF08\u5C24\u5176 startAgentRun \u7684 task/brief \u4E0E input\uFF09\u7981\u6B62\u5185\u5D4C\u5927\u6BB5\u539F\u6587\u2014\u2014diff\u3001\u65E5\u5FD7\u3001\u957F\u6587\u6863\u3001\u6D4B\u8BD5\u8F93\u51FA\u4E00\u5F8B\u53EA\u4F20\u8DEF\u5F84\uFF08worktree + \u6587\u4EF6\u6E05\u5355\uFF09\uFF0C\u7531\u6267\u884C\u65B9\u81EA\u5DF1 git diff / \u8BFB\u6587\u4EF6\u83B7\u53D6\uFF08\u5185\u5BB9\u8FD8\u66F4\u65B0\u9C9C\uFF09\u3002\u5355\u6B21 arguments \u63A7\u5236\u5728 ~5k \u5B57\u7B26\u5185\uFF1A\u8FC7\u957F\u4F1A\u88AB\u4E0A\u6E38\u6D41\u5F0F\u622A\u65AD\u6210\u975E\u6CD5 JSON\uFF0C\u89E6\u53D1 tool-error \u540E\u6574\u8F6E\u91CD\u53D1\u3002
242
-
243
- **commit \u524D\u786C\u95E8\uFF08\u9636\u6BB5\u5212\u5206\u4E0E\u72EC\u7ACB\u5BA1\u67E5\uFF09**\uFF1A
263
+ **Tool call \u53C2\u6570\u4F53\u91CF\u7EAA\u5F8B**\uFF1A\u4EFB\u4F55 tool_call\uFF08\u5C24\u5176 startAgentRun \u7684 task/brief \u4E0E input\uFF09\u7981\u6B62\u5185\u5D4C\u5927\u6BB5\u539F\u6587\u2014\u2014diff\u3001\u65E5\u5FD7\u3001\u957F\u6587\u6863\u3001\u6D4B\u8BD5\u8F93\u51FA\u4E00\u5F8B\u53EA\u4F20\u8DEF\u5F84\uFF08worktree + \u6587\u4EF6\u6E05\u5355\uFF09\uFF0C\u7531\u6267\u884C\u65B9\u81EA\u5DF1 git diff / \u8BFB\u6587\u4EF6\u83B7\u53D6\uFF08\u5185\u5BB9\u8FD8\u66F4\u65B0\u9C9C\uFF09\u3002\u5355\u6B21 arguments \u63A7\u5236\u5728 ~5k \u5B57\u7B26\u5185\uFF1A\u8FC7\u957F\u4F1A\u88AB\u4E0A\u6E38\u6D41\u5F0F\u622A\u65AD\u6210\u975E\u6CD5 JSON\uFF0C\u89E6\u53D1 tool-error \u540E\u6574\u8F6E\u91CD\u53D1\u3002`;
264
+ var AGENT_COMMIT_REVIEW_GATE = `**commit \u524D\u786C\u95E8\uFF08\u9636\u6BB5\u5212\u5206\u4E0E\u72EC\u7ACB\u5BA1\u67E5\uFF09**\uFF1A
244
265
  - **\u9636\u6BB5\u533A\u5206**\uFF1A\u4E25\u683C\u533A\u5206\u300C\u5B9E\u73B0/\u6784\u5EFA/\u5B89\u88C5/\u7528\u6237\u6D4B\u8BD5/\u6839\u636E\u53CD\u9988\u8FED\u4EE3\u300D\u4E0E\u300C\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u300D\u9636\u6BB5\u3002UI/\u524D\u7AEF\u7B49\u9700\u7528\u6237\u9A8C\u6536\u7684\u529F\u80FD\u5728\u5B9E\u73B0\u9636\u6BB5**\u4E0D\u5F97\u89E6\u53D1\u6216\u7B49\u5F85\u6700\u7EC8\u72EC\u7ACB review**\uFF0C\u5148\u4EA4\u4ED8\u53EF\u6D4B\u8BD5\u4EA7\u7269\uFF0C\u7B49\u5F85\u7528\u6237\u6D4B\u8BD5\u4E0E\u53CD\u9988\uFF1B\u5B89\u5168\u5173\u952E\u53D8\u66F4\u7684\u5FC5\u8981\u5BA1\u67E5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u72EC\u7ACB\u7684\u53EA\u8BFB\u5BA1\u8BA1\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u7684\u63D0\u524D review \u53EF\u63D0\u524D\u8FDB\u884C\uFF0C\u4F46\u4E0D\u5F97\u963B\u585E\u7528\u6237\u6D4B\u8BD5\u6216\u4F5C\u4E3A\u63D0\u524D\u7684\u63D0\u4EA4\u95E8\u3002
245
266
  - **\u6700\u7EC8\u5BA1\u67E5\u65F6\u673A**\uFF1A\u53EA\u6709\u5F53\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u65F6\uFF0C\u624D\u6D3E\u53D1\u6700\u7EC8 review\u3002\u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E\u4E0E\u6267\u884C\u8005\u4E0D\u540C\u5B9E\u4F8B\uFF08\u4E0A\u4E0B\u6587\u9694\u79BB\u5373\u53EF\uFF09\u7684 reviewer \u5BA1\u5DE5\u4F5C\u533A diff\uFF0Creviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF1B\u65E0 review \u4E0D commit\u3002\u63D0\u4EA4\u524D review \u5FAA\u73AF\uFF1A\u7528\u6237\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4 \u2192 startAgentRun \u6D3E reviewer \u5BA1 diff \u2192 \u4FEE finding \u2192 \u590D\u5BA1\u76F4\u5230 APPROVE\uFF08\u65E0 CRITICAL/HIGH\uFF09\u624D\u63D0\u4EA4\uFF1BBLOCK \u5FC5\u4FEE\u3001WARNING \u62A5\u7528\u6237\u3002
246
- - **review \u8BC1\u636E\u786C\u95E8**\uFF1A\u4EC5\u5F53 reviewer \u8FD4\u56DE\u53EF\u8BFB\u7684\u6700\u7EC8\u6587\u672C\u4E14\u660E\u786E\u542B APPROVE\u3001\u65E0 CRITICAL/HIGH \u624D\u7B97\u901A\u8FC7\uFF1Bdone\u3001exit 0\u3001\u7A7A dialog\u3001messagesCount=0\u3001agentReply=null\u3001\u8D85\u65F6\u5747\u89C6\u4E3A\u672A\u5BA1\u67E5\uFF0C\u4E25\u7981\u63D0\u4EA4\u3002review context contract\uFF1A\u6D3E reviewer \u524D\u6309\u6539\u52A8\u8303\u56F4\u52A0\u8F7D\u8BE5\u4ED3\u5E93\u7684\u9879\u76EE\u6307\u4EE4\uFF08AGENTS.md \u7C7B\uFF09\u3001\u5DE5\u4F5C\u6D41/\u8BA1\u5212\u6587\u6863\u3001\u547D\u4E2D\u7684 skill \u4E0E references\uFF0C\u4EE5\u53CA touched files \u7684\u5B8C\u6574 diff\uFF0Cbrief \u91CC\u5217\u51FA\u5B9E\u9645\u52A0\u8F7D\u7684 context\uFF1B\u5177\u4F53\u6E05\u5355\u4EE5\u8BE5\u4ED3\u5E93\u81EA\u5DF1\u7684 review \u89C4\u8303\u4E3A\u51C6\uFF08bun-nolo \u89C1 nolo-plan\u300C\u5408\u5E76\u95E8\u300D\u8282\uFF09\u3002\u5BA1\u67E5\u6E05\u5355\uFF1A\u53EF\u8BFB\u6027/\u53EF\u641C\u7D22\u6027\u3001\u53EF\u7EF4\u62A4\u6027/\u5220\u9664\u6210\u672C\u3001\u53EF\u7EC4\u5408\u6027/\u590D\u7528\u3001\u91CD\u590D\u5B9E\u73B0\u3001\u53EF\u5220\u9664\u4EE3\u7801\u3002\u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\u3002\u6D89\u53CA\u4ED3\u5E93\u6587\u4EF6\u5199\u5165\u5FC5\u987B\u7528\u72EC\u7ACB worktree\u3002\u4ED3\u5E93\u7EA7 plan / review / worktree \u7EAA\u5F8B\u4EE5 AGENTS.md \u4E3A\u51C6\u3002
247
-
248
- --- \u786E\u8BA4\u8FB9\u754C ---
267
+ - **review \u8BC1\u636E\u786C\u95E8**\uFF1A\u4EC5\u5F53 reviewer \u8FD4\u56DE\u53EF\u8BFB\u7684\u6700\u7EC8\u6587\u672C\u4E14\u660E\u786E\u542B APPROVE\u3001\u65E0 CRITICAL/HIGH \u624D\u7B97\u901A\u8FC7\uFF1Bdone\u3001exit 0\u3001\u7A7A dialog\u3001messagesCount=0\u3001agentReply=null\u3001\u8D85\u65F6\u5747\u89C6\u4E3A\u672A\u5BA1\u67E5\uFF0C\u4E25\u7981\u63D0\u4EA4\u3002review context contract\uFF1A\u6D3E reviewer \u524D\u6309\u6539\u52A8\u8303\u56F4\u52A0\u8F7D\u8BE5\u4ED3\u5E93\u7684\u9879\u76EE\u6307\u4EE4\uFF08AGENTS.md \u7C7B\uFF09\u3001\u5DE5\u4F5C\u6D41/\u8BA1\u5212\u6587\u6863\u3001\u547D\u4E2D\u7684 skill \u4E0E references\uFF0C\u4EE5\u53CA touched files \u7684\u5B8C\u6574 diff\uFF0Cbrief \u91CC\u5217\u51FA\u5B9E\u9645\u52A0\u8F7D\u7684 context\uFF1B\u5177\u4F53\u6E05\u5355\u4EE5\u8BE5\u4ED3\u5E93\u81EA\u5DF1\u7684 review \u89C4\u8303\u4E3A\u51C6\uFF08bun-nolo \u89C1 nolo-plan\u300C\u5408\u5E76\u95E8\u300D\u8282\uFF09\u3002\u5BA1\u67E5\u6E05\u5355\uFF1A\u53EF\u8BFB\u6027/\u53EF\u641C\u7D22\u6027\u3001\u53EF\u7EF4\u62A4\u6027/\u5220\u9664\u6210\u672C\u3001\u53EF\u7EC4\u5408\u6027/\u590D\u7528\u3001\u91CD\u590D\u5B9E\u73B0\u3001\u53EF\u5220\u9664\u4EE3\u7801\u3002\u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\u3002\u6D89\u53CA\u4ED3\u5E93\u6587\u4EF6\u5199\u5165\u5FC5\u987B\u7528\u72EC\u7ACB worktree\u3002\u4ED3\u5E93\u7EA7 plan / review / worktree \u7EAA\u5F8B\u4EE5 AGENTS.md \u4E3A\u51C6\u3002`;
268
+ var AGENT_CONFIRM_BOUNDARY = `--- \u786E\u8BA4\u8FB9\u754C ---
249
269
  - \u6D89\u53CA\u4E0D\u53EF\u9006\u64CD\u4F5C\uFF08\u4FEE\u6539\u6587\u4EF6\u3001\u5220\u9664\u6570\u636E\u3001\u53D1\u9001\u6D88\u606F\u3001\u751F\u6210\u6B63\u5F0F\u6587\u4EF6\u3001\u6267\u884C\u4EA4\u6613\uFF09\u6216\u9AD8\u6210\u672C\u52A8\u4F5C\uFF08\u5927\u89C4\u6A21\u91CD\u6784/\u957F\u65F6\u8FD0\u884C/\u5927\u91CF token\uFF09\u65F6\uFF0C\u4F18\u5148\u9884\u89C8\u6216\u5411\u7528\u6237\u786E\u8BA4\uFF1B\u5DE5\u5177\u8FD4\u56DE"\u9884\u89C8/\u5F85\u786E\u8BA4"\u65F6\u6682\u505C\uFF0C\u7B49\u660E\u786E\u786E\u8BA4\u518D\u7EE7\u7EED\uFF0C\u672A\u786E\u8BA4\u524D\u4E0D\u8FDE\u7EED\u53D1\u591A\u6B21\u7834\u574F\u6027\u4FEE\u6539\u3002
250
270
  - \u6536\u5230\u300C\u5B50\u5BF9\u8BDD\u7981\u6B62\u518D\u521B\u5EFA\u5B59\u5BF9\u8BDD\u300D\uFF1D\u4F60\u5DF2\u662F\u5B50\u5BF9\u8BDD\uFF0C\u7981\u6B62\u518D\u6D3E\u53D1\uFF0C\u628A\u7ED3\u679C\u8FD4\u56DE\u7236\u5BF9\u8BDD\u5373\u53EF\u3002`;
271
+ var AGENT_COLLABORATION_INSTRUCTIONS = [
272
+ AGENT_COLLABORATION_VALUE_AND_METHOD,
273
+ AGENT_PLATFORM_CREDITS_GATE,
274
+ AGENT_DISPATCH_PRECHECK,
275
+ AGENT_COLLABORATION_FULL_PROTOCOL,
276
+ AGENT_COMMIT_REVIEW_GATE,
277
+ AGENT_CONFIRM_BOUNDARY
278
+ ].join("\n\n");
279
+ var AGENT_COLLABORATION_MIN_INSTRUCTIONS = [
280
+ `--- \u591A Agent \u6D3E\u53D1\uFF08\u6700\u5C0F\u534F\u8BAE\uFF09 ---
281
+ - startAgentRun \u542F\u52A8\u5B50 Agent\uFF1AagentKey \u5FC5\u987B\u539F\u6837\u7167\u6284 listAgents \u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\uFF08\u4E0D\u62FC\u63A5/\u4E0D\u63A8\u65AD/\u4E0D\u6362\u683C\u5F0F/\u4E0D\u4F20 name\uFF09\uFF1Bwait:false\uFF08\u9ED8\u8BA4\uFF09\u5F02\u6B65\u8FD4\u56DE runId\uFF0C\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\u7B49\u7EC8\u6001\u901A\u77E5\uFF0C\u7981\u6B62\u8F6E\u8BE2\uFF1B\u5E76\u884C\u6D3E\u53D1\u7528\u540C\u4E00 batchId \u5F52\u7EC4\u3002
282
+ - \u5E76\u884C\u6247\u51FA\u53EA\u8DE8\u4E0D\u540C credentialGroup\uFF1A\u540C\u4E00\u51ED\u8BC1\u7981\u6B62\u5E76\u53D1\u6247\u51FA\uFF1Bcredentialed:false\uFF08\u51ED\u8BC1\u5F52\u5C5E\u672A\u77E5\uFF09\u7684 agent \u4E0D\u662F\u300C\u72EC\u7ACB\u51ED\u8BC1\u300D\uFF0C\u540C\u6279\u5E76\u53D1\u4F1A\u88AB\u5B88\u536B\u62D2\u7EDD\uFF0C\u9700\u4E32\u884C\u6D3E\u53D1\u6216\u663E\u5F0F allowUnknownCredential \u786E\u8BA4\u98CE\u9669\u3002
283
+ - \u672C\u8F6E\u672A\u6CE8\u5165\u5B8C\u6574\u7F16\u6392\u534F\u8BAE\uFF08\u65E0\u6D3E\u53D1\u610F\u56FE\uFF09\uFF1B\u5982\u786E\u9700\u591A Agent \u7F16\u6392\uFF0C\u6309\u672C\u6700\u5C0F\u534F\u8BAE\u4E0E startAgentRun \u5DE5\u5177\u63CF\u8FF0\u6267\u884C\uFF0C\u5B89\u5168\u786C\u95E8\u89C1\u4E0B\u3002`,
284
+ AGENT_PLATFORM_CREDITS_GATE,
285
+ AGENT_DISPATCH_PRECHECK,
286
+ AGENT_COMMIT_REVIEW_GATE,
287
+ AGENT_CONFIRM_BOUNDARY
288
+ ].join("\n\n");
251
289
  var WEBPAGE_ACCESS_INSTRUCTIONS = `--- \u7F51\u9875\u8BBF\u95EE\u80FD\u529B (Web Access) ---
252
290
  \u83B7\u53D6\u5916\u90E8\u4FE1\u606F\u7531\u7B80\u5165\u7E41\uFF1A
253
291
  0. \u7528\u6237\u5DF2\u7ED9\u660E\u786E URL \u2192 \u5148\u76F4\u63A5 fetch \u8FD9\u4E9B URL\uFF0C\u4E0D\u8981\u5148\u641C\u7D22\u6216\u731C\u5907\u7528\u7F51\u5740\uFF08\u6700\u9AD8\u4F18\u5148\u7EA7\u7684\u7F51\u9875\u771F\u503C\uFF09\uFF1B\u4EC5\u5F53\u6293\u53D6\u5931\u8D25\u3001\u7F3A\u5B57\u6BB5\u6216\u5185\u5BB9\u4E0D\u5339\u914D\u624D\u989D\u5916\u641C\u7D22\uFF0C\u5E76\u8BF4\u660E\u964D\u7EA7\u539F\u56E0\u3002
@@ -283,7 +321,7 @@ var TOOL_ROUND_ECONOMY_INSTRUCTIONS = `--- \u5DE5\u5177\u8F6E\u6B21\u7ECF\u6D4E\
283
321
  - **\u5DF2\u7ECF\u77E5\u9053\u8981\u505A\u7684\u3001\u4E92\u4E0D\u4F9D\u8D56\u7684\u8C03\u7528\uFF0C\u5728\u540C\u4E00\u8F6E\u91CC\u4E00\u6B21\u53D1\u5B8C**\uFF08\u8BFB\u591A\u4E2A\u6587\u4EF6\u3001\u67E5\u591A\u5904\u5F15\u7528\u3001\u51E0\u5904\u72EC\u7ACB\u7684\u68C0\u67E5\uFF09\uFF0C\u4E0D\u8981\u4E00\u4E2A\u4E00\u4E2A\u6765\u56DE\u95EE\u3002
284
322
  - \u53EA\u6709\u300C\u4E0B\u4E00\u6B65\u8981\u505A\u4EC0\u4E48\u53D6\u51B3\u4E8E\u4E0A\u4E00\u6B65\u7684\u7ED3\u679C\u300D\u65F6\u624D\u5206\u8F6E\u3002
285
323
  - \u4E00\u6B21\u8C03\u7528\u91CC\u80FD\u8868\u8FBE\u7684\u5C31\u522B\u62C6\u6210\u591A\u6B21\uFF1A\u7528 glob \u7684\u82B1\u62EC\u53F7\u7EC4\u4E00\u6B21\u5339\u914D\u591A\u79CD\u540E\u7F00\u3001\u7528\u4E00\u6761\u547D\u4EE4\u4EE3\u66FF\u4E09\u6761\u3001\u6309\u9700\u8981\u7684\u884C\u8303\u56F4\u8BFB\u6587\u4EF6\u800C\u4E0D\u662F\u5148\u5168\u8BFB\u518D\u56DE\u5934\u627E\u3002
286
- - \u7B49\u5F85\u7C7B\u5DE5\u5177\uFF08taskWait \u7B49\uFF09\u6309\u9884\u8BA1\u8017\u65F6\u4E00\u6B21\u7ED9\u8DB3\u9884\u7B97\uFF0C\u4E0D\u8981\u7528\u77ED\u8D85\u65F6\u53CD\u590D\u7EED\u7B49\u2014\u2014\u90A3\u662F\u628A\u5FAA\u73AF\u653E\u5728\u4E86\u6700\u8D35\u7684\u5730\u65B9\u3002`;
324
+ - \u82E5\u5F53\u524D\u5BBF\u4E3B\u63D0\u4F9B\u7B49\u5F85\u7C7B\u5DE5\u5177\uFF0C\u6309\u9884\u8BA1\u8017\u65F6\u4E00\u6B21\u7ED9\u8DB3\u9884\u7B97\u3001\u4E0D\u8981\u7528\u77ED\u8D85\u65F6\u53CD\u590D\u7EED\u7B49\uFF08\u90A3\u662F\u628A\u5FAA\u73AF\u653E\u5728\u4E86\u6700\u8D35\u7684\u5730\u65B9\uFF09\uFF1B\u5DF2\u6709\u7EC8\u6001\u81EA\u52A8\u5524\u9192\u65F6\u4E0D\u5FC5\u518D\u7B49\u5F85\u3002`;
287
325
  var PRIVILEGE_ESCALATION_INSTRUCTIONS = `--- \u6743\u9650\u63D0\u5347 ---
288
326
  \u547D\u4EE4\u5931\u8D25\u4E14\u539F\u56E0\u6307\u5411\u6743\u9650\u4E0D\u8DB3\uFF08sudo: \u9700\u8981\u5BC6\u7801 / Permission denied / EACCES / Operation not permitted\uFF09\u65F6\uFF0C\u4F18\u5148\u628A\u300C\u8F93\u5BC6\u7801\u300D\u8FD9\u4E00\u6B65\u4EA4\u8FD8\u7ED9\u7528\u6237\u7684\u56FE\u5F62\u6388\u6743\u901A\u9053\uFF0C\u800C\u4E0D\u662F\u628A sudo \u547D\u4EE4\u629B\u56DE\u7ED9\u7528\u6237\u624B\u6284\uFF1A
289
327
  1. \u684C\u9762\u4F1A\u8BDD\uFF08Linux \u6709 DISPLAY/WAYLAND_DISPLAY\uFF09\u76F4\u63A5\u8DD1 \`pkexec <\u547D\u4EE4>\`\uFF1Apolkit \u4F1A\u5728\u7528\u6237\u5C4F\u5E55\u5F39 GUI \u5BC6\u7801\u6846\u3002\u5F39\u4E4B\u524D\u5148\u4E00\u53E5\u8BDD\u8BF4\u660E\u8981\u505A\u4EC0\u4E48\u3001\u4E3A\u4F55\u9700\u8981 root\uFF0C\u907F\u514D\u51ED\u7A7A\u5F39\u7A97\uFF1B\u590D\u6742\u547D\u4EE4\u5148\u5199\u6210\u811A\u672C\u518D \`pkexec bash /tmp/xxx.sh\`\u3002
@@ -292,6 +330,9 @@ var PRIVILEGE_ESCALATION_INSTRUCTIONS = `--- \u6743\u9650\u63D0\u5347 ---
292
330
  - \u786E\u5B9E\u7ED5\u4E0D\u5F00\uFF1A\u7ED9\u51FA\u4E00\u6761\u53EF\u76F4\u63A5\u7C98\u8D34\u7684\u547D\u4EE4\uFF08\u591A\u6B65\u5408\u5E76\u6210\u4E00\u6761\uFF09\uFF0C\u4E00\u6B21\u6027\u8BF4\u6E05\u526F\u4F5C\u7528\uFF0C\u7B49\u7528\u6237\u56DE\u62A5\u7ED3\u679C\u518D\u7EE7\u7EED\uFF1B\u4E0D\u8981\u8BA9\u7528\u6237\u6765\u56DE\u8DD1\u591A\u6B65\u3001\u4E0D\u8981\u91CD\u590D\u7D22\u8981\u3002
293
331
  3. Windows \u7528 \`Start-Process -Verb RunAs\`\uFF08UAC \u5F39\u7A97\uFF09\u3001macOS \u7528 \`osascript ... with administrator privileges\`\uFF0C\u4EA4\u4E92\u539F\u5219\u76F8\u540C\uFF1A\u5F39\u7A97\u524D\u5148\u8BF4\u660E\u3001\u5931\u8D25\u540E\u4E0D\u91CD\u590D\u6253\u6270\u3002
294
332
  4. \u7981\u6B62\u9759\u9ED8\u7ED5\u8FC7\uFF1A\u4E0D\u91CD\u8BD5\u540C\u4E00\u7279\u6743\u547D\u4EE4\u8D4C\u8FD0\u6C14\u3001\u4E0D\u7528\u7BA1\u9053/\u73AF\u5883\u53D8\u91CF\u5582\u5BC6\u7801\u7ED9 sudo\u3001\u4E0D\u4FEE\u6539 polkit/sudoers \u653E\u5BBD\u6388\u6743\u3002`;
333
+ var SHELL_TASK_LIFECYCLE_INSTRUCTIONS = `--- Shell \u4EFB\u52A1\u751F\u547D\u5468\u671F\u7EAA\u5F8B\uFF08execShell / launchProcess\uFF09 ---
334
+ 1. **\u6CA1\u6709 taskId\uFF0C\u5C31\u4E0D\u5F97\u7ED3\u675F\u56DE\u5408\u5E76\u627F\u8BFA\u7A0D\u540E\u81EA\u52A8\u6C47\u62A5\u3002** execShell \u540C\u6B65\u8FD4\u56DE\uFF08\u7ED3\u679C\u91CC\u6709 exitCode\u3001\u6CA1\u6709 metadata.detached:true + taskId\uFF09\u8868\u793A\u547D\u4EE4\u5DF2\u7ECF\u7ED3\u675F\u2014\u2014\u6700\u7EC8\u7ED3\u679C\u5C31\u5728\u672C\u56DE\u5408\u91CC\uFF0C\u5FC5\u987B\u7ACB\u5373\u89E3\u6790\uFF1B\u4E0D\u5F97\u628A stdout \u91CC\u7684 \`LAUNCHED\`/\`STARTED\`/\`BACKGROUND\` \u7B49\u56DE\u6267\u5F53\u6210"\u5DF2\u653E\u540E\u53F0"\uFF08\u90A3\u53EA\u662F\u547D\u4EE4\u81EA\u5DF1\u6253\u5370\u7684\u666E\u901A\u8F93\u51FA\uFF0C\u6CA1\u6709\u4EFB\u4F55\u751F\u547D\u5468\u671F\u8BED\u4E49\uFF09\uFF0C\u4E0D\u5F97\u4EE5"\u5B8C\u6210\u540E\u6211\u4F1A\u81EA\u52A8\u56DE\u6765\u6C47\u62A5"\u7ED3\u675F\u56DE\u5408\u3002\u53EA\u6709 metadata.detached === true \u4E14\u5E26 taskId \u7684\u7ED3\u679C\u624D\u662F\u53D7\u8DDF\u8E2A\u7684\u540E\u53F0\u4EFB\u52A1\uFF0C\u624D\u53EF\u80FD\u7EC8\u6001\u81EA\u52A8\u5524\u9192\uFF1BlaunchProcess \u8FD4\u56DE\u7684 taskId \u4E5F\u53EA\u5728\u4E0B\u4E00\u6B21\u771F\u5B9E turn \u6CE8\u5165\u5B8C\u6210\u901A\u77E5\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u5F00\u65B0\u56DE\u5408\u3002
335
+ 2. **\u540C\u6B65\u8FD4\u56DE exitCode \u540E\u5FC5\u987B\u7ACB\u5373\u89E3\u6790\u7ED3\u679C\uFF1B\u82E5\u6838\u5FC3\u8F93\u51FA\u88AB\u91CD\u5B9A\u5411\u5230\u6587\u4EF6\uFF0C\u5FC5\u987B\u5728\u5F53\u524D\u56DE\u5408\u5185\u8BFB\u53D6\u8BE5\u6587\u4EF6\u3002** \u540C\u6B65\u547D\u4EE4\u6CA1\u6709\u4EFB\u4F55\u540E\u7EED\u4E8B\u4EF6\u4F1A\u63D0\u9192\u4F60\uFF0C"\u56DE\u5934\u518D\u8BFB\u6587\u4EF6"\u7B49\u4E8E\u6C38\u4E45\u4E22\u5931\u3002\u786E\u5B9E\u9700\u8981"\u7A0D\u540E\u53D6\u7ED3\u679C"\u7684\u6709\u9650\u540E\u53F0\u4F5C\u4E1A\uFF08\u6D4B\u8BD5\u3001\u6784\u5EFA\u3001\u6279\u5904\u7406\uFF09\uFF0C\u7528 execShell({ background: true })\u2014\u2014\u5B83\u7ACB\u5373\u8F6C\u4E3A\u53D7\u8DDF\u8E2A\u540E\u53F0\u4EFB\u52A1\uFF0C\u7EC8\u6001\u4F1A\u628A\u6709\u754C\u7ED3\u679C\u5E26\u56DE\u672C\u5BF9\u8BDD\u3002`;
295
336
  var TOOL_GUIDED_SECTIONS = [
296
337
  {
297
338
  id: "toolRoundEconomy",
@@ -309,6 +350,11 @@ var TOOL_GUIDED_SECTIONS = [
309
350
  triggerTools: ["execShell"],
310
351
  build: () => PRIVILEGE_ESCALATION_INSTRUCTIONS
311
352
  },
353
+ {
354
+ id: "shellTaskLifecycle",
355
+ triggerTools: ["execShell", "launchProcess"],
356
+ build: () => SHELL_TASK_LIFECYCLE_INSTRUCTIONS
357
+ },
312
358
  {
313
359
  id: "agentOrchestration",
314
360
  triggerTools: [
@@ -325,7 +371,9 @@ var TOOL_GUIDED_SECTIONS = [
325
371
  "startAgentRun",
326
372
  "controlAgentRun"
327
373
  ],
328
- build: () => AGENT_COLLABORATION_INSTRUCTIONS
374
+ // 按需注入:完整编排协议仅在有派发意图时给;无派发意图给最小协议
375
+ // (派发机制 + 安全硬门常在:平台积分授权门 / commit review 硬门)。
376
+ build: (_tools, opts) => opts?.dispatchIntent === true ? AGENT_COLLABORATION_INSTRUCTIONS : AGENT_COLLABORATION_MIN_INSTRUCTIONS
329
377
  },
330
378
  { id: "menuUsage", triggerTools: ["ask_user"], build: () => MENU_USAGE_INSTRUCTIONS },
331
379
  {
@@ -345,6 +393,7 @@ var TOOL_GUIDED_SECTION_ORDER = [
345
393
  "toolRoundEconomy",
346
394
  "toolUseGuidance",
347
395
  "privilegeEscalation",
396
+ "shellTaskLifecycle",
348
397
  "agentOrchestration",
349
398
  "agentCollaboration",
350
399
  "webAccess",
@@ -353,12 +402,12 @@ var TOOL_GUIDED_SECTION_ORDER = [
353
402
  "memoryCapture",
354
403
  "agentConfigMaintenance"
355
404
  ];
356
- function resolveToolGuidedSections(agentTools) {
405
+ function resolveToolGuidedSections(agentTools, opts) {
357
406
  const out = {};
358
407
  for (const section of TOOL_GUIDED_SECTIONS) {
359
408
  const triggered = section.triggerAnyTool ? agentTools.length > 0 : section.triggerTools.some((t) => agentTools.includes(t));
360
409
  if (triggered) {
361
- out[section.id] = section.build(agentTools);
410
+ out[section.id] = section.build(agentTools, opts);
362
411
  } else {
363
412
  out[section.id] = "";
364
413
  }
@@ -366,6 +415,49 @@ function resolveToolGuidedSections(agentTools) {
366
415
  return out;
367
416
  }
368
417
 
418
+ // packages/ai/agent/dispatchIntent.ts
419
+ var DISPATCH_INTENT_PATTERN = /(派发|派单|派个|派一|派两|派几|派人|子任务|子\s*[aA]gent|多\s*[aA]gent|多个\s*[aA]gent|并行处理|并行派发|并发派发|并行执行|并发执行|分头|分工|同时处理|后台跑|后台执行|编排|会商|发散|代码审查|独立\s*review|派.{0,4}review|dispatch|delegat|sub[\s-]?agent|sub[\s-]?task|fan[\s-]?out|orchestrat|\bbatch\b|in parallel|concurrent|paralleliz|background run|review.{0,20}(diff|code|代码))/i;
420
+ var DISPATCH_TOOL_NAMES = /* @__PURE__ */ new Set(["startAgentRun", "controlAgentRun"]);
421
+ function detectDispatchIntent(text) {
422
+ if (typeof text !== "string" || !text.trim()) return false;
423
+ return DISPATCH_INTENT_PATTERN.test(text);
424
+ }
425
+ function messageText(content) {
426
+ if (typeof content === "string") return content;
427
+ if (Array.isArray(content)) {
428
+ return content.map((part) => typeof part?.text === "string" ? part.text : "").join("\n");
429
+ }
430
+ return "";
431
+ }
432
+ function toolCallName(call) {
433
+ const nested = call?.function?.name;
434
+ if (typeof nested === "string" && nested) return nested;
435
+ const flat = call?.name;
436
+ if (typeof flat === "string" && flat) return flat;
437
+ return "";
438
+ }
439
+ function hasDispatchToolCall(msg) {
440
+ const calls = Array.isArray(msg.tool_calls) ? msg.tool_calls : Array.isArray(msg.toolCalls) ? msg.toolCalls : [];
441
+ if (calls.some((call) => DISPATCH_TOOL_NAMES.has(toolCallName(call)))) {
442
+ return true;
443
+ }
444
+ for (const field of [msg.toolName, msg.name]) {
445
+ if (typeof field === "string" && DISPATCH_TOOL_NAMES.has(field)) return true;
446
+ }
447
+ return false;
448
+ }
449
+ function detectDispatchIntentFromMessages(messages) {
450
+ if (!Array.isArray(messages)) return false;
451
+ for (const msg of messages) {
452
+ if (!msg) continue;
453
+ if (msg.role === "user" && detectDispatchIntent(messageText(msg.content))) {
454
+ return true;
455
+ }
456
+ if (hasDispatchToolCall(msg)) return true;
457
+ }
458
+ return false;
459
+ }
460
+
369
461
  // packages/ai/agent/contextCompiler.ts
370
462
  function createHash(_algo) {
371
463
  let buf = "";
@@ -513,9 +605,12 @@ var normalizeChatCompletionsBodyForProvider = ({
513
605
 
514
606
  export {
515
607
  buildIdentityBlock,
608
+ DELETE_SAFETY_RED_LINE,
516
609
  buildRuntimeGuidanceBlocks,
517
610
  TOOL_GUIDED_SECTION_ORDER,
518
611
  resolveToolGuidedSections,
612
+ detectDispatchIntent,
613
+ detectDispatchIntentFromMessages,
519
614
  hashStablePrefixContent,
520
615
  estimateContextTokens,
521
616
  compileContextLayers,
@@ -11,7 +11,7 @@ import {
11
11
  getAntigravityUserAgent,
12
12
  normalizeAntigravityTokenPayload,
13
13
  refreshAntigravityToken
14
- } from "./chunk-LHDV2QUI.js";
14
+ } from "./chunk-GNCCNNZD.js";
15
15
  import {
16
16
  writeOAuthCredential
17
17
  } from "./chunk-ONXOABJR.js";
@@ -21,12 +21,12 @@ import {
21
21
  import {
22
22
  asOptionalFiniteNumber
23
23
  } from "./chunk-WWC7I6TA.js";
24
- import {
25
- asTrimmedString
26
- } from "./chunk-3EUW3WEO.js";
27
24
  import {
28
25
  isRecord
29
26
  } from "./chunk-KUG52IAP.js";
27
+ import {
28
+ asTrimmedString
29
+ } from "./chunk-3EUW3WEO.js";
30
30
 
31
31
  // packages/cli/oauth/callback-server.ts
32
32
  import { createServer } from "node:http";
@@ -7,55 +7,55 @@ import {
7
7
  updateContentPinned,
8
8
  updateContentTitle,
9
9
  uploadAndAddFileToSpace
10
- } from "./chunk-EBKMQULC.js";
10
+ } from "./chunk-3IUWIAHP.js";
11
11
  import "./chunk-ZJ7UHBJS.js";
12
- import "./chunk-IDGYOD2O.js";
13
- import "./chunk-EVBFYPDC.js";
14
- import "./chunk-HQUORJTM.js";
12
+ import "./chunk-XP3VVAPG.js";
13
+ import "./chunk-MC4XLIJ7.js";
14
+ import "./chunk-3BMYXEUW.js";
15
15
  import "./chunk-YYLHWIW6.js";
16
16
  import "./chunk-AGGIDPCZ.js";
17
- import "./chunk-DM4FBSWG.js";
18
- import "./chunk-BJCWNHVU.js";
17
+ import "./chunk-UDVH2P4A.js";
18
+ import "./chunk-BFDFRLLQ.js";
19
19
  import "./chunk-5RGU3J7P.js";
20
- import "./chunk-6YTOJY35.js";
20
+ import "./chunk-6D2JFXLY.js";
21
21
  import "./chunk-M76ECQRD.js";
22
22
  import "./chunk-YDH3FDFQ.js";
23
- import "./chunk-7QVPPOEC.js";
24
- import "./chunk-E36HZARC.js";
25
- import "./chunk-PZCTYKGU.js";
23
+ import "./chunk-HKNXJGEC.js";
24
+ import "./chunk-P5EVSOPA.js";
26
25
  import "./chunk-PSCNXBYA.js";
26
+ import "./chunk-GQBOR3G6.js";
27
27
  import "./chunk-BYXBJQAS.js";
28
- import "./chunk-MXUSPS2N.js";
28
+ import "./chunk-OIVSQH2O.js";
29
29
  import "./chunk-DWLEOOGR.js";
30
- import "./chunk-3JQ2NRYU.js";
30
+ import "./chunk-HVURBGF3.js";
31
31
  import "./chunk-ONXOABJR.js";
32
32
  import "./chunk-W7XHHYWM.js";
33
33
  import "./chunk-HNMXYYJR.js";
34
- import "./chunk-BYEJ7K2Z.js";
35
- import "./chunk-NG4UT4K4.js";
36
- import "./chunk-AJHEFRGJ.js";
37
- import "./chunk-XWNRAIUL.js";
34
+ import "./chunk-7S4YWN7P.js";
35
+ import "./chunk-ACTMNVHM.js";
36
+ import "./chunk-Q67DOFOO.js";
37
+ import "./chunk-GP5LKBUZ.js";
38
38
  import "./chunk-Y5GCAMGP.js";
39
- import "./chunk-UZ6XXCVR.js";
39
+ import "./chunk-QDSINZM3.js";
40
40
  import "./chunk-KX6YBIHG.js";
41
- import "./chunk-ZZCJUXUI.js";
41
+ import "./chunk-AHAHBQMU.js";
42
42
  import "./chunk-UAD2WT54.js";
43
- import "./chunk-YFADVSZE.js";
44
- import "./chunk-NHRQCXIQ.js";
43
+ import "./chunk-VRTTFDBM.js";
44
+ import "./chunk-VMFTFOWF.js";
45
45
  import "./chunk-WWC7I6TA.js";
46
- import "./chunk-I42VC5KR.js";
47
- import "./chunk-SREASRV5.js";
46
+ import "./chunk-ABQYVJBJ.js";
48
47
  import "./chunk-QSJ3HFEF.js";
49
- import "./chunk-5J7W2VWW.js";
50
- import "./chunk-BJIRLHJR.js";
51
- import "./chunk-3RAG2NAD.js";
48
+ import "./chunk-WV42OMV7.js";
49
+ import "./chunk-BNGW5ASC.js";
50
+ import "./chunk-M2EJHDJP.js";
51
+ import "./chunk-UKWGR5SS.js";
52
52
  import "./chunk-QOKAKDPE.js";
53
53
  import "./chunk-OW765XBU.js";
54
54
  import "./chunk-SEJ5OS6F.js";
55
55
  import "./chunk-GBRG75BQ.js";
56
+ import "./chunk-KUG52IAP.js";
56
57
  import "./chunk-3EUW3WEO.js";
57
58
  import "./chunk-U6VC4MU4.js";
58
- import "./chunk-KUG52IAP.js";
59
59
  import "./chunk-LCBAMY2M.js";
60
60
  import "./chunk-4SN6J65J.js";
61
61
  import "./chunk-CF7PE763.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  clearCredentialAvailability,
3
3
  readCredentialAvailability
4
- } from "./chunk-DWUCB2A3.js";
5
- import "./chunk-CJCJF5XB.js";
4
+ } from "./chunk-42V6BK2E.js";
5
+ import "./chunk-FDTR4QJ6.js";
6
6
  import "./chunk-4VNS5WPM.js";
7
7
 
8
8
  // packages/cli/cooldownCommands.ts
@@ -1,64 +1,64 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-EBKMQULC.js";
3
+ } from "./chunk-3IUWIAHP.js";
4
4
  import "./chunk-ZJ7UHBJS.js";
5
- import "./chunk-IDGYOD2O.js";
6
- import "./chunk-EVBFYPDC.js";
7
- import "./chunk-HQUORJTM.js";
5
+ import "./chunk-XP3VVAPG.js";
6
+ import "./chunk-MC4XLIJ7.js";
7
+ import "./chunk-3BMYXEUW.js";
8
8
  import "./chunk-YYLHWIW6.js";
9
9
  import "./chunk-AGGIDPCZ.js";
10
- import "./chunk-DM4FBSWG.js";
11
- import "./chunk-BJCWNHVU.js";
10
+ import "./chunk-UDVH2P4A.js";
11
+ import "./chunk-BFDFRLLQ.js";
12
12
  import "./chunk-5RGU3J7P.js";
13
- import "./chunk-6YTOJY35.js";
13
+ import "./chunk-6D2JFXLY.js";
14
14
  import "./chunk-M76ECQRD.js";
15
15
  import "./chunk-YDH3FDFQ.js";
16
- import "./chunk-7QVPPOEC.js";
17
- import "./chunk-E36HZARC.js";
18
- import "./chunk-PZCTYKGU.js";
16
+ import "./chunk-HKNXJGEC.js";
17
+ import "./chunk-P5EVSOPA.js";
19
18
  import "./chunk-PSCNXBYA.js";
19
+ import "./chunk-GQBOR3G6.js";
20
20
  import "./chunk-BYXBJQAS.js";
21
- import "./chunk-MXUSPS2N.js";
21
+ import "./chunk-OIVSQH2O.js";
22
22
  import "./chunk-DWLEOOGR.js";
23
- import "./chunk-3JQ2NRYU.js";
23
+ import "./chunk-HVURBGF3.js";
24
24
  import "./chunk-ONXOABJR.js";
25
25
  import "./chunk-W7XHHYWM.js";
26
26
  import "./chunk-HNMXYYJR.js";
27
- import "./chunk-BYEJ7K2Z.js";
28
- import "./chunk-NG4UT4K4.js";
29
- import "./chunk-AJHEFRGJ.js";
30
- import "./chunk-XWNRAIUL.js";
27
+ import "./chunk-7S4YWN7P.js";
28
+ import "./chunk-ACTMNVHM.js";
29
+ import "./chunk-Q67DOFOO.js";
30
+ import "./chunk-GP5LKBUZ.js";
31
31
  import "./chunk-Y5GCAMGP.js";
32
- import "./chunk-UZ6XXCVR.js";
32
+ import "./chunk-QDSINZM3.js";
33
33
  import "./chunk-KX6YBIHG.js";
34
- import "./chunk-ZZCJUXUI.js";
34
+ import "./chunk-AHAHBQMU.js";
35
35
  import "./chunk-UAD2WT54.js";
36
36
  import {
37
37
  write
38
- } from "./chunk-YFADVSZE.js";
38
+ } from "./chunk-VRTTFDBM.js";
39
39
  import {
40
40
  buildAgentAutomationOwnerIndexValue,
41
41
  createAgentAutomationKey,
42
42
  createAgentAutomationOwnerIndexKey
43
- } from "./chunk-NHRQCXIQ.js";
43
+ } from "./chunk-VMFTFOWF.js";
44
44
  import "./chunk-WWC7I6TA.js";
45
- import "./chunk-I42VC5KR.js";
46
- import "./chunk-SREASRV5.js";
45
+ import "./chunk-ABQYVJBJ.js";
47
46
  import "./chunk-QSJ3HFEF.js";
48
- import "./chunk-5J7W2VWW.js";
49
- import "./chunk-BJIRLHJR.js";
50
- import "./chunk-3RAG2NAD.js";
47
+ import "./chunk-WV42OMV7.js";
48
+ import "./chunk-BNGW5ASC.js";
49
+ import "./chunk-M2EJHDJP.js";
50
+ import "./chunk-UKWGR5SS.js";
51
51
  import "./chunk-QOKAKDPE.js";
52
52
  import "./chunk-OW765XBU.js";
53
53
  import {
54
54
  selectIdentityUserId
55
55
  } from "./chunk-SEJ5OS6F.js";
56
56
  import "./chunk-GBRG75BQ.js";
57
+ import "./chunk-KUG52IAP.js";
57
58
  import {
58
59
  asTrimmedString
59
60
  } from "./chunk-3EUW3WEO.js";
60
61
  import "./chunk-U6VC4MU4.js";
61
- import "./chunk-KUG52IAP.js";
62
62
  import "./chunk-LCBAMY2M.js";
63
63
  import "./chunk-4SN6J65J.js";
64
64
  import "./chunk-CF7PE763.js";
@@ -1,59 +1,59 @@
1
1
  import {
2
2
  createDialogAction,
3
3
  isLocalOwnerDialogAgents
4
- } from "./chunk-KEZNSFGD.js";
5
- import "./chunk-EBKMQULC.js";
4
+ } from "./chunk-MZYBSTMH.js";
5
+ import "./chunk-3IUWIAHP.js";
6
6
  import "./chunk-ZJ7UHBJS.js";
7
- import "./chunk-IDGYOD2O.js";
8
- import "./chunk-EVBFYPDC.js";
9
- import "./chunk-HQUORJTM.js";
7
+ import "./chunk-XP3VVAPG.js";
8
+ import "./chunk-MC4XLIJ7.js";
9
+ import "./chunk-3BMYXEUW.js";
10
10
  import "./chunk-YYLHWIW6.js";
11
11
  import "./chunk-AGGIDPCZ.js";
12
- import "./chunk-DM4FBSWG.js";
13
- import "./chunk-BJCWNHVU.js";
12
+ import "./chunk-UDVH2P4A.js";
13
+ import "./chunk-BFDFRLLQ.js";
14
14
  import "./chunk-5RGU3J7P.js";
15
- import "./chunk-6YTOJY35.js";
15
+ import "./chunk-6D2JFXLY.js";
16
16
  import "./chunk-M76ECQRD.js";
17
17
  import "./chunk-YDH3FDFQ.js";
18
- import "./chunk-GCJ3IS5M.js";
19
- import "./chunk-AETZ7AD6.js";
18
+ import "./chunk-GIVFXPWK.js";
19
+ import "./chunk-Q554LLSI.js";
20
20
  import "./chunk-KHCLMKZZ.js";
21
- import "./chunk-7QVPPOEC.js";
22
- import "./chunk-E36HZARC.js";
23
- import "./chunk-PZCTYKGU.js";
21
+ import "./chunk-HKNXJGEC.js";
22
+ import "./chunk-P5EVSOPA.js";
24
23
  import "./chunk-PSCNXBYA.js";
24
+ import "./chunk-GQBOR3G6.js";
25
25
  import "./chunk-BYXBJQAS.js";
26
- import "./chunk-MXUSPS2N.js";
26
+ import "./chunk-OIVSQH2O.js";
27
27
  import "./chunk-DWLEOOGR.js";
28
- import "./chunk-3JQ2NRYU.js";
28
+ import "./chunk-HVURBGF3.js";
29
29
  import "./chunk-ONXOABJR.js";
30
30
  import "./chunk-W7XHHYWM.js";
31
31
  import "./chunk-HNMXYYJR.js";
32
- import "./chunk-BYEJ7K2Z.js";
33
- import "./chunk-NG4UT4K4.js";
34
- import "./chunk-AJHEFRGJ.js";
35
- import "./chunk-XWNRAIUL.js";
32
+ import "./chunk-7S4YWN7P.js";
33
+ import "./chunk-ACTMNVHM.js";
34
+ import "./chunk-Q67DOFOO.js";
35
+ import "./chunk-GP5LKBUZ.js";
36
36
  import "./chunk-Y5GCAMGP.js";
37
- import "./chunk-UZ6XXCVR.js";
37
+ import "./chunk-QDSINZM3.js";
38
38
  import "./chunk-KX6YBIHG.js";
39
- import "./chunk-ZZCJUXUI.js";
39
+ import "./chunk-AHAHBQMU.js";
40
40
  import "./chunk-UAD2WT54.js";
41
- import "./chunk-YFADVSZE.js";
42
- import "./chunk-NHRQCXIQ.js";
41
+ import "./chunk-VRTTFDBM.js";
42
+ import "./chunk-VMFTFOWF.js";
43
43
  import "./chunk-WWC7I6TA.js";
44
- import "./chunk-I42VC5KR.js";
45
- import "./chunk-SREASRV5.js";
44
+ import "./chunk-ABQYVJBJ.js";
46
45
  import "./chunk-QSJ3HFEF.js";
47
- import "./chunk-5J7W2VWW.js";
48
- import "./chunk-BJIRLHJR.js";
49
- import "./chunk-3RAG2NAD.js";
46
+ import "./chunk-WV42OMV7.js";
47
+ import "./chunk-BNGW5ASC.js";
48
+ import "./chunk-M2EJHDJP.js";
49
+ import "./chunk-UKWGR5SS.js";
50
50
  import "./chunk-QOKAKDPE.js";
51
51
  import "./chunk-OW765XBU.js";
52
52
  import "./chunk-SEJ5OS6F.js";
53
53
  import "./chunk-GBRG75BQ.js";
54
+ import "./chunk-KUG52IAP.js";
54
55
  import "./chunk-3EUW3WEO.js";
55
56
  import "./chunk-U6VC4MU4.js";
56
- import "./chunk-KUG52IAP.js";
57
57
  import "./chunk-LCBAMY2M.js";
58
58
  import "./chunk-4SN6J65J.js";
59
59
  import "./chunk-CF7PE763.js";