nolo-cli 0.19.0 → 0.24.0-alpha.14

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 (134) hide show
  1. package/README.md +9 -18
  2. package/{_executeModel-X5PCIZN6.js → _executeModel-ZPNYAEFW.js} +46 -44
  3. package/{action-LT7BRFLK.js → action-5MNAXR5B.js} +7 -6
  4. package/{addContentAction-PL3KKBDH.js → addContentAction-UNSYTVTB.js} +5 -5
  5. package/{addDialogAgentAction-FCMSKYAF.js → addDialogAgentAction-LJGNP2AO.js} +5 -5
  6. package/{agentDeleteCommand-2BZDQV36.js → agentDeleteCommand-5ZV4433K.js} +27 -26
  7. package/{agentEmailCommands-2QJDGRMB.js → agentEmailCommands-Z7KOYDVQ.js} +57 -55
  8. package/{agentListCommands-6VEPTKBI.js → agentListCommands-UQUXJYUN.js} +30 -26
  9. package/{agentMachineCommands-NVVHNWYI.js → agentMachineCommands-53O6P6L5.js} +25 -24
  10. package/{agentRecordCommands-4GGRDMD4.js → agentRecordCommands-ZRYNBSSS.js} +52 -50
  11. package/{agentRunCommand-XOLQNKBZ.js → agentRunCommand-B73MKVOG.js} +55 -54
  12. package/{agentRunControl-Y5AFH5PQ.js → agentRunControl-SNUKXN6J.js} +6 -2
  13. package/{agentRuntimeLocal-7WYWCGL4.js → agentRuntimeLocal-GVNERRKQ.js} +21 -18
  14. package/{agentSlice-EAXPGEYV.js → agentSlice-OJBHIL34.js} +5 -5
  15. package/{appDeleteCommands-77KR2RJ4.js → appDeleteCommands-23Z3Z6KE.js} +23 -22
  16. package/{appDeployCommands-K7CAHGBI.js → appDeployCommands-3MFAR4Z7.js} +23 -22
  17. package/{appDeployStatusCommands-4OEKLTBT.js → appDeployStatusCommands-JHU6GSN4.js} +23 -22
  18. package/{appGetCommands-VM2WDLAZ.js → appGetCommands-24J55H2Y.js} +23 -22
  19. package/{appListCommands-GX6BBA6U.js → appListCommands-HE5KP3PH.js} +23 -22
  20. package/{authCommand-DY6UUL6O.js → authCommand-KGRK6MNU.js} +12 -13
  21. package/{authCommands-XTBV7OFZ.js → authCommands-JSOG2H4E.js} +4 -5
  22. package/{chunk-OWOHNGCN.js → chunk-2MBTWINN.js} +42 -3
  23. package/{chunk-MVQ4TBSD.js → chunk-54VHTARN.js} +1 -1
  24. package/{chunk-RQN4SEKL.js → chunk-5DWZ46RJ.js} +1 -1
  25. package/{chunk-VYHDJEQD.js → chunk-5EDKWSQN.js} +136 -78
  26. package/{chunk-Z4NR32XR.js → chunk-5RGU3J7P.js} +13 -0
  27. package/{chunk-7BUYEZ6U.js → chunk-7H3UTGPM.js} +12 -72
  28. package/{chunk-3ZX7PERL.js → chunk-AAWJ5S3G.js} +20 -7
  29. package/{chunk-SCTYAHYK.js → chunk-ADE6577S.js} +237 -142
  30. package/{chunk-PJSV3IZ5.js → chunk-AOPOTHFK.js} +1 -1
  31. package/{chunk-3ND52WIL.js → chunk-ATWUOTJP.js} +180 -24
  32. package/{chunk-SWDPIPOY.js → chunk-AZW5AHMW.js} +1 -1
  33. package/chunk-CF7S2RYZ.js +376 -0
  34. package/{chunk-L4F3I4SR.js → chunk-CV6BM7LU.js} +4 -6
  35. package/{chunk-G5U6LDLG.js → chunk-CWTT2NZ6.js} +6 -6
  36. package/{chunk-MKA6QE5E.js → chunk-CZHE6LLV.js} +135 -55
  37. package/{chunk-KFEVY3ST.js → chunk-D34RI6NI.js} +18 -8
  38. package/{chunk-XRZJGPFI.js → chunk-FON47ACC.js} +4 -4
  39. package/{chunk-K6EUAOW3.js → chunk-FXFGNOT2.js} +67 -1
  40. package/{chunk-LLWKHDG4.js → chunk-G36SUBHA.js} +14 -6
  41. package/{chunk-REA4JLBH.js → chunk-GD23ZX7Z.js} +7 -6
  42. package/{chunk-ROWQEJRP.js → chunk-GE6IWA5N.js} +12 -4
  43. package/{chunk-EDV7EBOI.js → chunk-GGB6MPHD.js} +2155 -1503
  44. package/{chunk-IYEXFJPC.js → chunk-GNGOZMU2.js} +64 -57
  45. package/{chunk-4T5F7YZQ.js → chunk-I6RJGORZ.js} +1 -1
  46. package/{chunk-DFCFMCY6.js → chunk-J2WT5CEO.js} +2 -2
  47. package/{chunk-AHCY2S2I.js → chunk-JJ2WUBFN.js} +1 -1
  48. package/{chunk-UGUW3FHG.js → chunk-JMSCXQUG.js} +2 -2
  49. package/{chunk-VDXCXCXH.js → chunk-KURQBS7S.js} +1 -1
  50. package/{chunk-FQZZLA3C.js → chunk-KXKQO4Q6.js} +17 -0
  51. package/{chunk-3Q7WHGCB.js → chunk-L65QKSVJ.js} +1 -1
  52. package/{chunk-UAIVG4J6.js → chunk-LEHTC2FI.js} +1 -8
  53. package/{chunk-UBHAWFQ6.js → chunk-LLDGWLML.js} +42 -19
  54. package/{chunk-JLA4FXYC.js → chunk-MALVZUYL.js} +1 -1
  55. package/{chunk-N54HIJVJ.js → chunk-MCXQNEJ3.js} +101 -9
  56. package/{chunk-GFUIQ4RY.js → chunk-MXFQHRSS.js} +1 -1
  57. package/{chunk-LSFAWXKC.js → chunk-N7J63Q6C.js} +1 -0
  58. package/{chunk-6Y7A3OQQ.js → chunk-NRY4GCKJ.js} +2 -0
  59. package/{chunk-ELT65PZW.js → chunk-OXLLFZNF.js} +1 -1
  60. package/{chunk-YGW4G5W5.js → chunk-P3RZ6DHN.js} +133 -25
  61. package/{chunk-5MIDPSSK.js → chunk-PB7G5MAM.js} +3 -3
  62. package/{chunk-HEGV7BH3.js → chunk-PMCKFQYC.js} +1 -1
  63. package/{chunk-23FZYPLC.js → chunk-PTKI7TIN.js} +911 -1064
  64. package/{chunk-MHSGJW4Z.js → chunk-PXPISYEH.js} +44 -14
  65. package/{chunk-I2ZJKTG5.js → chunk-PY7VGC5M.js} +29 -10
  66. package/{chunk-PIZYJVHQ.js → chunk-RM464B7I.js} +4 -4
  67. package/{chunk-XHG22OEX.js → chunk-ROJI6DRT.js} +2 -2
  68. package/{chunk-VNAEBGDK.js → chunk-RZNYL4LW.js} +123 -26
  69. package/{chunk-RVOUXDFU.js → chunk-S6KVFOUG.js} +6 -34
  70. package/{chunk-BV4VEE3W.js → chunk-S7AV3NCK.js} +277 -357
  71. package/{chunk-R35XMF6F.js → chunk-SIUEKVK4.js} +484 -67
  72. package/{chunk-B5TOXZAK.js → chunk-SIZQB7BD.js} +1 -1
  73. package/{chunk-DFFIZ25G.js → chunk-SLOGKB7M.js} +4 -1
  74. package/{chunk-MPVYDS7I.js → chunk-TLYHUIWF.js} +3 -3
  75. package/{chunk-HWW2M4SN.js → chunk-TNM27YZ7.js} +5 -4
  76. package/{chunk-OK6YSWLH.js → chunk-TWA4L7J7.js} +1 -1
  77. package/chunk-UZ6XXCVR.js +50 -0
  78. package/{chunk-DKZFOK24.js → chunk-WCP5FDTF.js} +16 -304
  79. package/{chunk-TRT4I4UD.js → chunk-WSQLK2KR.js} +2 -2
  80. package/{chunk-FXUSIQC2.js → chunk-XNZJVYFS.js} +1 -1
  81. package/{chunk-V3ED5AWK.js → chunk-YJY7HODU.js} +27 -16
  82. package/chunk-YYLHWIW6.js +48 -0
  83. package/{chunk-CZ6NYQTV.js → chunk-ZFL3LTU7.js} +2 -2
  84. package/{chunk-34WPV75U.js → chunk-ZUXIXYJI.js} +1 -1
  85. package/{chunk-VC6OZXO5.js → chunk-ZWJOGMKH.js} +2 -26
  86. package/{cliExecutor-DNE7TCC4.js → cliExecutor-K3F7DMRO.js} +2 -2
  87. package/{codingSkills-36KN5NQT.js → codingSkills-EN6Z6G6U.js} +4 -4
  88. package/{createAgentAutomationAction-GNFF524X.js → createAgentAutomationAction-PO62NUR7.js} +19 -18
  89. package/{createDialogAction-RB55KCLO.js → createDialogAction-ORFRYI3C.js} +22 -20
  90. package/{createPageAction-Y7343GLU.js → createPageAction-XWVMNTYH.js} +20 -19
  91. package/{db-W3O47YGF.js → db-W5UHK4P3.js} +150 -0
  92. package/{dbSlice-CGSRFJN3.js → dbSlice-5BKDURDL.js} +4 -4
  93. package/{dialogCommands-IAZK6YHQ.js → dialogCommands-XTJHROXM.js} +24 -23
  94. package/{dialogSlice-UQAXF23P.js → dialogSlice-DJXC53YW.js} +24 -18
  95. package/{docCreateCommands-I2EWZGCI.js → docCreateCommands-T2XRVXYS.js} +24 -27
  96. package/{docDeleteCommands-IZ45UZKG.js → docDeleteCommands-L7RXFXY3.js} +25 -24
  97. package/{docReadCommands-R6Z4QJYU.js → docReadCommands-M5PYNADQ.js} +24 -23
  98. package/{docStore-5HOJ4D7D.js → docStore-6LKLLFDW.js} +20 -19
  99. package/{docUpdateCommands-2LRBKQPY.js → docUpdateCommands-OA5EGPLQ.js} +24 -27
  100. package/{fetchMessages-BMGVZVSE.js → fetchMessages-W4IKHPCS.js} +2 -3
  101. package/{getPricing-G7DLAST6.js → getPricing-6C3C47Y4.js} +3 -3
  102. package/{handleSendMessageAction-Q4HY35WX.js → handleSendMessageAction-ILFGZTN5.js} +23 -20
  103. package/index.js +74 -74
  104. package/{localDialogRead-4H3QJFLW.js → localDialogRead-JXTAHW2E.js} +2 -2
  105. package/{machineCommands-PKBPQKTY.js → machineCommands-AKAQGPAO.js} +59 -57
  106. package/{machineWsRunDispatch-UZAW4OXJ.js → machineWsRunDispatch-RSBERM64.js} +51 -49
  107. package/{models-DJFSJ7SW.js → models-ILWKIX2Y.js} +2 -2
  108. package/package.json +1 -1
  109. package/{read-3FMPZPER.js → read-F3L3T2WJ.js} +2 -1
  110. package/{readDocTool-VSYHKK3V.js → readDocTool-FOHWVA4R.js} +1 -1
  111. package/{readlineWorkspace-Y2RDOFZG.js → readlineWorkspace-TUH3SFHO.js} +937 -430
  112. package/{removeDialogAgentAction-OAGA2G3U.js → removeDialogAgentAction-QCFGIUIH.js} +8 -7
  113. package/{runAgentClientLoop-NBPIKJ6J.js → runAgentClientLoop-C3QB2EXV.js} +45 -38
  114. package/{setDialogExtraReferencesAction-JZEXA5SL.js → setDialogExtraReferencesAction-DK4CKERU.js} +5 -5
  115. package/{setPrimaryDialogAgentAction-4ZUQQKDG.js → setPrimaryDialogAgentAction-SJSO6N27.js} +8 -7
  116. package/{settingSlice-7MNKHZ6R.js → settingSlice-XNM5AFPU.js} +6 -5
  117. package/{spaceCommands-DHCZ7J5I.js → spaceCommands-SXYOFGUJ.js} +25 -24
  118. package/{spaceSlice-ZXLLG3CR.js → spaceSlice-6BHMRP5O.js} +21 -18
  119. package/{streamAgentChatTurn-L3YW6LSB.js → streamAgentChatTurn-GF5W5OIP.js} +140 -98
  120. package/switchDialogAgentAction-4OAC6QRN.js +61 -0
  121. package/{tableCommands-BEQAGE4I.js → tableCommands-QSZILI7I.js} +1 -1
  122. package/{toolApiClient-QI3YBNWB.js → toolApiClient-ISM4ZQX4.js} +2 -2
  123. package/{tools-ECGXR5QF.js → tools-KBCLJ43G.js} +36 -33
  124. package/{tuiSummaryLlmCaller-OMSCNHXA.js → tuiSummaryLlmCaller-ARIMGILF.js} +6 -6
  125. package/{updateCommands-XTW55TOT.js → updateCommands-AK2RDOFR.js} +8 -2
  126. package/{updateDialogTitleAction-HQ2EUDFT.js → updateDialogTitleAction-LMHZUY4Q.js} +28 -27
  127. package/chunk-DL6EPNIK.js +0 -50
  128. package/chunk-V5R4NZP2.js +0 -78
  129. package/chunk-X4Q4UZEY.js +0 -26
  130. package/queryRunOverlay-O4LOMMPO.js +0 -161
  131. package/runOverlayPresentation-ZO4VCWEU.js +0 -11
  132. package/types-ZSTJ7MPR.js +0 -7
  133. package/{chunk-X7W4TNB4.js → chunk-CMKUBIGW.js} +3 -3
  134. package/{runtimeDoctorCommands-E2OUORHK.js → runtimeDoctorCommands-HSU632DY.js} +3 -3
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-CWMSB67P.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-UAIVG4J6.js";
9
+ } from "./chunk-LEHTC2FI.js";
10
10
  import {
11
11
  asOptionalFiniteNumber
12
12
  } from "./chunk-WWC7I6TA.js";
@@ -18,6 +18,9 @@ import {
18
18
  import {
19
19
  shouldReplaceWithNextRecord
20
20
  } from "./chunk-GBRG75BQ.js";
21
+ import {
22
+ publicAgentKey
23
+ } from "./chunk-SLOGKB7M.js";
21
24
  import {
22
25
  NOLO_CLUSTER_SERVERS,
23
26
  normalizeKnownServerOrigin
@@ -26,30 +29,182 @@ import {
26
29
  normalizeServerOrigin
27
30
  } from "./chunk-CF7PE763.js";
28
31
 
29
- // packages/core/builtinAgents.ts
30
- var BUILTIN_NOLO_AGENT_KEY = "agent-pub-01NOLOAPPBLD000000019KCKT0";
31
- var BUILTIN_APP_BUILDER_AGENT_KEY = "agent-pub-01APPBUILDER00000001YAII3I";
32
- var BUILTIN_ECOMMERCE_AGENT_KEY = "agent-pub-01ECOMMERCEAG00000001PYQ2J";
33
- var BUILTIN_AGENT_CREATOR_AGENT_KEY = "agent-pub-01NOLOAGENTCRT000000000001";
34
- var BUILTIN_FEEDBACK_AGENT_KEY = "agent-pub-01NOLOFEEDBACKA000000000R2";
35
- var BUILTIN_CHROME_OPERATOR_AGENT_KEY = "agent-pub-01CHROMEOPR000000000001";
36
- var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID = "01DSV4FLASHPB00000000JFPFD";
37
- var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY = `agent-pub-${PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID}`;
38
- var PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID = "01DSV4PROPUB00000001A9OLZN";
39
- var PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY = `agent-pub-${PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID}`;
40
- var PUBLIC_GLM_52_AGENT_ID = "01GLM52DIPB00000000I3E2MY";
41
- var PUBLIC_GLM_52_AGENT_KEY = `agent-pub-${PUBLIC_GLM_52_AGENT_ID}`;
42
- var PUBLIC_KIMI_K26_IMAGE_AGENT_ID = "01KIMIK26OLLAMA0000000001";
43
- var PUBLIC_KIMI_K26_IMAGE_AGENT_KEY = `agent-pub-${PUBLIC_KIMI_K26_IMAGE_AGENT_ID}`;
44
- var BUILTIN_PLATFORM_AGENT_KEYS = [
45
- BUILTIN_NOLO_AGENT_KEY,
46
- BUILTIN_APP_BUILDER_AGENT_KEY,
47
- BUILTIN_ECOMMERCE_AGENT_KEY,
48
- BUILTIN_AGENT_CREATOR_AGENT_KEY,
49
- BUILTIN_FEEDBACK_AGENT_KEY,
50
- BUILTIN_CHROME_OPERATOR_AGENT_KEY
32
+ // packages/core/builtinAgentCatalog.ts
33
+ var BUILTIN_AGENT_CATALOG = [
34
+ // ── 平台内置 6 个(builtinAgents BUILTIN_*)──
35
+ {
36
+ id: "01NOLOAPPBLD000000019KCKT0",
37
+ group: "builtin",
38
+ name: "nolo",
39
+ provider: "nolo",
40
+ model: "deepseek-v4-flash",
41
+ runtimeFallback: true
42
+ },
43
+ {
44
+ id: "01APPBUILDER00000001YAII3I",
45
+ group: "builtin",
46
+ name: "\u5E94\u7528\u6784\u5EFA\u52A9\u624B",
47
+ provider: "nolo",
48
+ model: "deepseek-v4-flash"
49
+ },
50
+ {
51
+ id: "01ECOMMERCEAG00000001PYQ2J",
52
+ group: "builtin",
53
+ name: "\u7535\u5546\u5546\u54C1\u53C2\u6570\u52A9\u624B",
54
+ provider: "openai",
55
+ model: "gpt-5.6-luna"
56
+ },
57
+ {
58
+ id: "01NOLOAGENTCRT000000000001",
59
+ group: "builtin",
60
+ name: "AI \u521B\u5EFA\u52A9\u624B",
61
+ provider: "nolo",
62
+ model: "deepseek-v4-flash"
63
+ },
64
+ {
65
+ id: "01NOLOFEEDBACKA000000000R2",
66
+ group: "builtin",
67
+ name: "\u53CD\u9988\u5165\u53E3",
68
+ provider: "nolo",
69
+ model: "deepseek-v4-flash"
70
+ },
71
+ {
72
+ id: "01CHROMEOPR000000000001",
73
+ group: "builtin",
74
+ name: "Chrome \u64CD\u4F5C\u5458",
75
+ provider: "nolo",
76
+ model: "deepseek-v4-flash"
77
+ },
78
+ // ── quick-chat 档位 / 图片档 public(runtimeFallback)──
79
+ {
80
+ id: "01DSV4FLASHPB00000000JFPFD",
81
+ group: "public",
82
+ name: "DeepSeek V4 Flash",
83
+ provider: "nolo",
84
+ model: "deepseek-v4-flash",
85
+ runtimeFallback: true
86
+ },
87
+ {
88
+ id: "01DSV4PRONPB00000001VIR3EK",
89
+ group: "public",
90
+ name: "DeepSeek V4 Pro",
91
+ provider: "nolo",
92
+ model: "deepseek-v4-pro",
93
+ runtimeFallback: true
94
+ },
95
+ {
96
+ id: "01KIMIK26OLLAMA0000000001",
97
+ group: "public",
98
+ name: "Kimi K2.6",
99
+ provider: "nolo",
100
+ model: "kimi-k2.6",
101
+ runtimeFallback: true
102
+ },
103
+ {
104
+ id: "01GPTIMG2GEN00000000SSEBOS",
105
+ group: "public",
106
+ name: "GPT Image 2 \u56FE\u7247\u751F\u6210\u5668",
107
+ provider: "openai",
108
+ model: "gpt-5.6-luna",
109
+ runtimeFallback: true,
110
+ hasImageOutput: true,
111
+ imageModel: "gpt-image-2",
112
+ imageWorkflow: "generate",
113
+ imageConfig: { enabled: true }
114
+ },
115
+ {
116
+ id: "01GPTIMG2EDT00000001R4R4H4",
117
+ group: "public",
118
+ name: "GPT Image 2 \u56FE\u7247\u7F16\u8F91\u5668",
119
+ provider: "openai",
120
+ model: "gpt-5.6-luna",
121
+ runtimeFallback: true,
122
+ hasImageOutput: true,
123
+ imageModel: "gpt-image-2",
124
+ imageWorkflow: "edit",
125
+ imageConfig: { enabled: true }
126
+ },
127
+ {
128
+ id: "01GPTIMG2CNT00000000USKZFO",
129
+ group: "public",
130
+ name: "GPT Image 2 \u8FDE\u7EED\u521B\u4F5C\u52A9\u624B",
131
+ provider: "openai",
132
+ model: "gpt-5.6-luna",
133
+ runtimeFallback: true,
134
+ hasImageOutput: true,
135
+ imageModel: "gpt-image-2",
136
+ imageWorkflow: "continuous",
137
+ imageConfig: { enabled: true }
138
+ },
139
+ {
140
+ id: "01NB2LITEGEN00000001XE1MNO",
141
+ group: "public",
142
+ name: "Nano Banana 2 Lite \u6587\u751F\u56FE",
143
+ provider: "google",
144
+ model: "gemini-3.1-flash-lite-image",
145
+ runtimeFallback: true,
146
+ hasImageOutput: true
147
+ }
51
148
  ];
149
+ var CATALOG_BY_ID = new Map(BUILTIN_AGENT_CATALOG.map((e) => [e.id, e]));
150
+ function builtinAgentCatalogEntryById(id) {
151
+ if (!id) return void 0;
152
+ return CATALOG_BY_ID.get(id);
153
+ }
154
+ function builtinRuntimeFallbackEntries() {
155
+ return BUILTIN_AGENT_CATALOG.filter((e) => e.runtimeFallback === true);
156
+ }
157
+ function builtinPlatformEntries() {
158
+ return BUILTIN_AGENT_CATALOG.filter((e) => e.group === "builtin");
159
+ }
160
+
161
+ // packages/core/builtinAgents.ts
162
+ var entry = (id) => {
163
+ const e = builtinAgentCatalogEntryById(id);
164
+ if (!e) throw new Error(`missing builtin agent catalog entry: ${id}`);
165
+ return e;
166
+ };
167
+ var BUILTIN_NOLO_AGENT_ID = entry("01NOLOAPPBLD000000019KCKT0").id;
168
+ var BUILTIN_NOLO_AGENT_KEY = publicAgentKey(BUILTIN_NOLO_AGENT_ID);
169
+ var BUILTIN_APP_BUILDER_AGENT_ID = entry("01APPBUILDER00000001YAII3I").id;
170
+ var BUILTIN_APP_BUILDER_AGENT_KEY = publicAgentKey(BUILTIN_APP_BUILDER_AGENT_ID);
171
+ var BUILTIN_ECOMMERCE_AGENT_ID = entry("01ECOMMERCEAG00000001PYQ2J").id;
172
+ var BUILTIN_ECOMMERCE_AGENT_KEY = publicAgentKey(BUILTIN_ECOMMERCE_AGENT_ID);
173
+ var BUILTIN_AGENT_CREATOR_AGENT_ID = entry("01NOLOAGENTCRT000000000001").id;
174
+ var BUILTIN_AGENT_CREATOR_AGENT_KEY = publicAgentKey(BUILTIN_AGENT_CREATOR_AGENT_ID);
175
+ var BUILTIN_FEEDBACK_AGENT_ID = entry("01NOLOFEEDBACKA000000000R2").id;
176
+ var BUILTIN_FEEDBACK_AGENT_KEY = publicAgentKey(BUILTIN_FEEDBACK_AGENT_ID);
177
+ var BUILTIN_CHROME_OPERATOR_AGENT_ID = entry("01CHROMEOPR000000000001").id;
178
+ var BUILTIN_CHROME_OPERATOR_AGENT_KEY = publicAgentKey(BUILTIN_CHROME_OPERATOR_AGENT_ID);
179
+ var BUILTIN_PLATFORM_AGENT_KEYS = builtinPlatformEntries().map(
180
+ (e) => publicAgentKey(e.id)
181
+ );
52
182
  var BUILTIN_PLATFORM_AGENT_KEY_SET = new Set(BUILTIN_PLATFORM_AGENT_KEYS);
183
+ var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID = entry("01DSV4FLASHPB00000000JFPFD").id;
184
+ var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID);
185
+ var PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID = entry("01DSV4PRONPB00000001VIR3EK").id;
186
+ var PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID);
187
+ var PUBLIC_KIMI_K26_IMAGE_AGENT_ID = entry("01KIMIK26OLLAMA0000000001").id;
188
+ var PUBLIC_KIMI_K26_IMAGE_AGENT_KEY = publicAgentKey(PUBLIC_KIMI_K26_IMAGE_AGENT_ID);
189
+ var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID = entry("01GPTIMG2GEN00000000SSEBOS").id;
190
+ var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID);
191
+ var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID = entry("01GPTIMG2EDT00000001R4R4H4").id;
192
+ var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID);
193
+ var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID = entry("01GPTIMG2CNT00000000USKZFO").id;
194
+ var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID);
195
+ var PUBLIC_NANO_BANANA_2_LITE_AGENT_ID = entry("01NB2LITEGEN00000001XE1MNO").id;
196
+ var PUBLIC_NANO_BANANA_2_LITE_AGENT_KEY = publicAgentKey(PUBLIC_NANO_BANANA_2_LITE_AGENT_ID);
197
+ var DEFAULT_CODE_PLANNER_EXECUTOR_CANDIDATE_KEYS = [
198
+ PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY
199
+ ];
200
+ var SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS = [
201
+ PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
202
+ PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY
203
+ ];
204
+ var SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET = new Set(
205
+ SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS
206
+ );
207
+ var isSystemBuiltinTrustedAgentKey = (key) => typeof key === "string" && SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET.has(key);
53
208
 
54
209
  // packages/database/actions/agentReadResolution.ts
55
210
  var BUILTIN_PLATFORM_AGENT_KEYS2 = [
@@ -465,11 +620,12 @@ var readAction = async (payload, thunkApi) => {
465
620
 
466
621
  export {
467
622
  readRequestManager,
623
+ builtinRuntimeFallbackEntries,
468
624
  BUILTIN_NOLO_AGENT_KEY,
469
625
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
470
- PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
471
- PUBLIC_GLM_52_AGENT_KEY,
472
626
  PUBLIC_KIMI_K26_IMAGE_AGENT_KEY,
627
+ DEFAULT_CODE_PLANNER_EXECUTOR_CANDIDATE_KEYS,
628
+ isSystemBuiltinTrustedAgentKey,
473
629
  resolveAgentReadServers,
474
630
  readAction
475
631
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-R35XMF6F.js";
4
+ } from "./chunk-SIUEKVK4.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -0,0 +1,376 @@
1
+ import {
2
+ SYSTEM_AGENT_CAPABILITIES,
3
+ SYSTEM_AGENT_CAPABILITY_IDS
4
+ } from "./chunk-UZ6XXCVR.js";
5
+
6
+ // packages/ai/tools/codeWorkDiscipline.ts
7
+ var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
8
+ - \u4E0D\u590D\u8FF0\u9700\u6C42\uFF0C\u4E0D\u89E3\u91CA\u300C\u6253\u7B97\u600E\u4E48\u505A\u300D\uFF0C\u76F4\u63A5\u52A8\u624B\u3002\u6539\u5B8C\u53EA\u7528\u4E00\u4E24\u53E5\u8BDD\u8BF4\u6E05\u300C\u6539\u4E86\u4EC0\u4E48\u3001\u53BB\u54EA\u770B\u300D\u3002
9
+ - \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
10
+ - \u5C0F\u6539\u52A8\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1AsearchFiles/globFiles \u5B9A\u4F4D \u2192 readFile \u786E\u8BA4 \u2192 editFile \u7CBE\u786E\u66FF\u6362\u3002\u80FD\u4E00\u6B21\u547D\u4E2D\u5C31\u4E0D\u8981\u53CD\u590D\u8BFB\u6587\u4EF6\u3002
11
+ - \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 edit\u3002
12
+ - \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
13
+
14
+ ## \u4EE3\u7801\u4FEE\u6539\u7EAA\u5F8B
15
+ - \u7F16\u8F91\u524D\u5148 readFile \u786E\u8BA4\u5F53\u524D\u5185\u5BB9\uFF0C\u907F\u514D stale hash \u9519\u8BEF\u3002
16
+ - \u53EA\u78B0\u4EFB\u52A1\u4E66\u5217\u51FA\u7684\u6587\u4EF6\uFF1B\u6539\u5B8C\u7528 \`git status --short\` \u81EA\u67E5\uFF0C\u82E5\u6539\u5230\u6E05\u5355\u5916\u6587\u4EF6\uFF0C\u5982\u5B9E\u62A5\u544A\u3002
17
+ - \u4E0D\u8981 \`git add\` / \`git commit\` / \`git push\` / \`git stash\` / \`git reset\` / \`git checkout\` / \`git clean\`\u2014\u2014\u6539\u52A8\u7559\u5728\u5DE5\u4F5C\u533A\uFF0C\u63D0\u4EA4\u7531\u8C03\u7528\u65B9\u9A8C\u6536\u540E\u5904\u7406\u3002\u4ED3\u5E93\u5E38\u6709\u591A\u4E2A\u4F1A\u8BDD\u5171\u7528\u4E00\u4E2A checkout\uFF0C\u4F60\u4E00\u63D0\u4EA4\u5C31\u4F1A\u628A\u522B\u4EBA\u7684\u5728\u9014\u6587\u4EF6\u5377\u8FDB\u6765\u3002
18
+ - \u53EA\u8DD1\u4EFB\u52A1\u91CC\u5217\u51FA\u7684\u6D4B\u8BD5\u6587\u4EF6\uFF0C\u4E0D\u8981\u8DD1 broader \u6D4B\u8BD5\uFF08broaden \u6D4B\u8BD5\u7684\u5931\u8D25\u662F\u9884\u5B58\u7684\uFF0C\u548C\u4F60\u7684\u6539\u52A8\u65E0\u5173\uFF09\u3002
19
+ - **\u5EFA\u8BAE\u6C47\u62A5**\uFF1A\u4EA4\u4ED8\u65F6\u628A\u8FC7\u7A0B\u4E2D\u53D1\u73B0\u7684**\u4EFB\u4F55\u503C\u5F97\u7528\u6237\u77E5\u9053\u7684\u4E8B**\u90FD\u5217\u51FA\u6765\uFF08\u9884\u5B58\u65E0\u5173\u6539\u52A8\u3001\u65E2\u6709\u6D4B\u8BD5\u9694\u79BB\u95EE\u9898\u3001\u6F5C\u5728\u98CE\u9669\u3001\u540E\u7EED\u53EF\u4F18\u5316\u70B9\u3001\u9700\u7528\u6237\u51B3\u7B56\u7684\u4E8B\u9879\uFF09\uFF0C\u4E0D\u8981\u53EA\u62A5\u300C\u505A\u5B8C\u4E86\u300D\u3002
20
+
21
+ ## Review \u7EAA\u5F8B\uFF08commit \u524D\u786C\u95E8\uFF09
22
+ - \u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\uFF08\u9519\u522B\u5B57/\u683C\u5F0F/CSS \u5FAE\u8C03\uFF09\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E**\u5176\u4ED6 agent**\uFF08\u4E0D\u540C\u6A21\u578B\u5BB6\u65CF\u4F18\u5148\uFF09review \u5DE5\u4F5C\u533A diff\uFF08\`git diff\`\uFF0C\u672A\u63D0\u4EA4\u7684\u6539\u52A8\uFF09\u3002reviewer \u4E0D\u53EF\u662F\u81EA\u5DF1\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
23
+ - \u6D3E\u53D1\u8D70 \`startAgentRun(agentKey, task, { ephemeral: true })\`\uFF08web/\u684C\u9762\u7AEF\u6CA1\u6709 nolo CLI\uFF0C\u6240\u6709 host \u90FD\u6709\u8FD9\u4E2A\u5DE5\u5177\uFF09\u3002ephemeral \u8BA9 review \u5B8C\u6210\u540E\u4E0D\u7559 dialog \u8BB0\u5F55\u3002
24
+ - task \u91CC\u5FC5\u987B\u5199\u660E\u5BA1\u67E5\u5BF9\u8C61\uFF08\`git diff\` \u770B\u5DE5\u4F5C\u533A\u6539\u52A8\uFF0C\u6216 \`git diff alpha...HEAD\` \u770B\u5DF2\u63D0\u4EA4\u6539\u52A8\uFF09\uFF0C\u5426\u5219 reviewer \u4E0D\u77E5\u9053\u5BA1\u4EC0\u4E48\u3002
25
+ - \u6309\u89D2\u8272\u52A0\u8F7D\u5BF9\u5E94 skill\uFF1Areviewer \u5148 \`loadSkill("coding-review")\` \u62FF\u901A\u7528\u6D41\u7A0B\uFF0C\u518D\u6309\u89D2\u8272 \`loadSkill("coding-review-<role>")\` \u62FF\u68C0\u67E5\u9879\u3002\u89D2\u8272\u6E05\u5355\uFF1Acode-quality\uFF08**\u5FC5\u8DD1**\uFF09/ architecture\uFF08**\u5355\u72EC\u6D3E\u53D1**\uFF0C\u4E2D\u7EA7\u4EE5\u4E0A\u95EE\u9898\uFF09/ security\uFF08\u6309\u9700 + \u5B89\u5168\u654F\u611F\u89E6\u53D1\u5FC5\u8DD1\uFF09/ frontend-ux\uFF08\u6D89\u53CA UI \u65F6\uFF09/ backend-data\uFF08\u6D89\u53CA server \u65F6\uFF09\u3002\u89D2\u8272\u5207\u5272\u7684\u76EE\u7684\u662F\u6CE8\u610F\u529B\u9694\u79BB\u2014\u2014\u6BCF\u4E2A\u89D2\u8272\u53EA\u76EF\u81EA\u5DF1\u7684\u68C0\u67E5\u9762\uFF0C\u6309\u9700\u542F\u7528\uFF0C\u907F\u514D\u4E00\u4E2A reviewer \u80CC\u6240\u6709\u89D2\u8272\u5BFC\u81F4\u6CE8\u610F\u529B\u7A00\u91CA\u3002
26
+ - Verdict \u6807\u51C6\uFF1AAPPROVE\uFF08\u65E0 CRITICAL \u6216 HIGH\uFF09\u2192 \u53EF commit\uFF1BWARNING\uFF08\u4EC5 HIGH\uFF09\u2192 \u62A5\u544A owner \u51B3\u5B9A\uFF1BBLOCK\uFF08\u6709 CRITICAL\uFF09\u2192 \u5FC5\u987B\u5148\u4FEE\u3002
27
+ - review \u53EF\u80FD\u591A\u8F6E\u6536\u655B\uFF08\u6709 finding\u2192\u4FEE\u2192\u518D\u5BA1\u2192\u76F4\u5230 APPROVE\uFF09\u3002\u6BCF\u8F6E review \u662F\u65E0\u4E0A\u4E0B\u6587\u7684\u2014\u2014reviewer \u53EA\u770B\u5F53\u524D\u5DE5\u4F5C\u533A diff\uFF0C\u4E0D\u5E26\u4E0A\u4E00\u8F6E finding \u8BB0\u5FC6\u3002
28
+ - **\u81EA\u52A8 review \u5FAA\u73AF**\uFF1A\u4EFB\u52A1\u5B8C\u6210\u540E**\u81EA\u52A8\u8FDB\u5165 review \u5FAA\u73AF**\uFF0C\u4E0D\u8981\u505C\u5728\u300C\u6539\u5B8C\u4EA4\u4ED8\u300D\u5C31\u7B49\u8C03\u7528\u65B9\u3002\u6D41\u7A0B\uFF1A\u6539\u5B8C \u2192 \u6D3E reviewer \u5BA1\u5DE5\u4F5C\u533A diff \u2192 \u82E5\u51FA finding \u5C31\u4FEE\u590D \u2192 \u590D\u5BA1 \u2192 \u76F4\u5230 APPROVE \u624D\u63D0\u4EA4\u3002\u9664\u975E\u8C03\u7528\u65B9\u660E\u786E\u8BF4\u300C\u53EA\u6539\u4E0D\u5BA1\u300D\uFF0C\u5426\u5219\u9ED8\u8BA4\u8D70\u5B8C\u6574\u5FAA\u73AF\u3002
29
+ - \u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u3001\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit message \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\uFF0C\u4F46\u9ED8\u8BA4\u5FC5\u987B\u6D3E review\u3002`;
30
+ var buildCodeWorkDiscipline = (heading) => `# ${heading}
31
+
32
+ ${CODE_WORK_DISCIPLINE_BODY}`;
33
+
34
+ // packages/ai/tools/toolPacks.ts
35
+ var TOOL_PACKS = {
36
+ // L1 - 核心:交互 + 自我更新,所有 Agent 必有。
37
+ // rememberMemory 已移至「长期记忆」能力包(defaultEnabled:true),用户可单关。
38
+ // searchDialogMessages 已改为内置 skill(search-dialog-messages),按需
39
+ // loadSkill 加载,不再随 CORE 常驻。
40
+ // search_all_spaces 已改为内置 skill(search-all-spaces),按需 loadSkill
41
+ // 加载,不再随 CORE 常驻;全部视图(All View)运行时只给 recommended hint,
42
+ // 不自动注入工具。search_workspace 保持常驻(分类视图的「当前空间」检索)。
43
+ CORE: [
44
+ "ask_user",
45
+ "read",
46
+ "createDoc",
47
+ "updateDoc",
48
+ "search_workspace",
49
+ "updateSelf",
50
+ "queryModelUsage",
51
+ "queryUserGrowthReport",
52
+ "createAgentAutomation",
53
+ "notifyUser",
54
+ "setTodoList"
55
+ ],
56
+ // L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
57
+ // 社交读工具属于「social-reader」包,不得因 exa_search 被旁路注入。
58
+ LIGHT_WEB: ["exa_search", "fetchWebpage"],
59
+ // 本地工作区代码读写与执行。唯一真相源——「代码执行」能力包与 coding skill
60
+ // 都从这里取。以前两边各抄一份(coding 还多抄了 agent-orchestration 那 3 个),
61
+ // 改一个忘另一个就会静默不同步。
62
+ CODE: [
63
+ "readFile",
64
+ "writeFile",
65
+ "editFile",
66
+ "applyEdit",
67
+ "applyLineEdits",
68
+ "codeSearch",
69
+ "globFiles",
70
+ "searchFiles",
71
+ "listFiles",
72
+ "execShell",
73
+ "launchProcess",
74
+ "listProcesses"
75
+ ],
76
+ // 表格读写。唯一真相源——app-builder 能力包与 table object skill 都从这里取,
77
+ // 以前两边各抄一份,改一个忘另一个就会静默不同步。
78
+ TABLE: [
79
+ "createTable",
80
+ "addTableRow",
81
+ "addTableRows",
82
+ "queryTableRows",
83
+ "updateTableRow",
84
+ "deleteTableRow"
85
+ ],
86
+ // L3 - 深度浏览器:全套复杂网页交互(与「full-browser」包对齐)
87
+ FULL_BROWSER: [
88
+ "browser_openSession",
89
+ "browser_closeSession",
90
+ "browser_click",
91
+ "browser_typeText",
92
+ "browser_readContent",
93
+ "browser_selectOption",
94
+ "fetchWebpage"
95
+ ]
96
+ };
97
+ var SYSTEM_AGENT_CAPABILITY_PACKS = SYSTEM_AGENT_CAPABILITIES.map((capability) => ({ ...capability }));
98
+ var CAPABILITY_PACKS = [
99
+ ...SYSTEM_AGENT_CAPABILITY_PACKS,
100
+ {
101
+ id: "long-term-memory",
102
+ label: "\u957F\u671F\u8BB0\u5FC6",
103
+ description: "\u5BF9\u8BDD\u524D\u81EA\u52A8\u8F7D\u5165\u9AD8\u76F8\u5173\u8BB0\u5FC6\uFF0C\u5E76\u5141\u8BB8 agent \u6309\u9700\u67E5\u8BE2\u6216\u5199\u5165\u957F\u671F\u8BB0\u5FC6\u3002",
104
+ tools: ["queryMemory", "rememberMemory"],
105
+ defaultEnabled: true,
106
+ icon: "\u{1F9E0}"
107
+ },
108
+ {
109
+ id: "full-browser",
110
+ label: "\u6DF1\u5EA6\u6D4F\u89C8\u5668",
111
+ description: "\u5B8C\u6574\u6D4F\u89C8\u5668\u81EA\u52A8\u5316\uFF1A\u6253\u5F00\u9875\u9762\u3001\u70B9\u51FB\u3001\u8F93\u5165\u3001\u8BFB\u53D6\u52A8\u6001\u6E32\u67D3\u5185\u5BB9\u3002",
112
+ tools: TOOL_PACKS.FULL_BROWSER,
113
+ defaultEnabled: false,
114
+ icon: "\u{1F5A5}"
115
+ },
116
+ {
117
+ id: "social-reader",
118
+ label: "\u793E\u4EA4\u5185\u5BB9\u8BFB\u53D6",
119
+ description: "\u8BFB\u53D6 X/Twitter \u5E16\u5B50\u3001\u5C0F\u7EA2\u4E66\u7528\u6237\u753B\u50CF\u7B49\u793E\u4EA4\u5E73\u53F0\u5185\u5BB9\u3002",
120
+ tools: ["read_x_post", "read_xhs_profile"],
121
+ defaultEnabled: false,
122
+ icon: "\u{1F4E1}"
123
+ },
124
+ {
125
+ id: "code",
126
+ label: "\u4EE3\u7801\u6267\u884C",
127
+ description: "\u8BFB\u5199\u4EE3\u7801\u6587\u4EF6\u3001\u641C\u7D22\u4EE3\u7801\u5E93\u3001\u6267\u884C shell \u547D\u4EE4\u2014\u2014\u8BA9 agent \u80FD\u6539\u4EE3\u7801\u3001\u8DD1\u6D4B\u8BD5\u3002",
128
+ tools: [...TOOL_PACKS.CODE],
129
+ defaultEnabled: false,
130
+ icon: "\u{1F4BB}",
131
+ promptPatch: buildCodeWorkDiscipline("\u4EE3\u7801\u6267\u884C\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B")
132
+ },
133
+ {
134
+ id: "skills",
135
+ label: "\u6280\u80FD\u52A0\u8F7D",
136
+ description: "\u6309\u540D\u52A0\u8F7D\u5DE5\u4F5C\u533A\u6280\u80FD\uFF08SKILL.md\uFF09\u5E76\u8BFB\u53D6\u6280\u80FD\u6587\u6863\u2014\u2014\u8BA9 agent \u5728\u9700\u8981\u65F6\u628A\u5BF9\u5E94\u6280\u80FD\u7684\u65B9\u6CD5\u8BBA\u3001\u547D\u4EE4\u548C\u6D41\u7A0B\u62C9\u8FDB\u4E0A\u4E0B\u6587\u518D\u6267\u884C\u3002",
137
+ tools: ["loadSkill", "readSkillDoc"],
138
+ defaultEnabled: true,
139
+ icon: "\u{1F4DA}"
140
+ },
141
+ {
142
+ id: "app-builder",
143
+ label: "\u5E94\u7528\u6784\u5EFA",
144
+ description: "\u6784\u5EFA/\u4FEE\u6539/\u53D1\u5E03 Web \u5E94\u7528\uFF1A\u8BFB\u53D6\u5E94\u7528\u6E90\u7801\u3001\u5B9A\u70B9\u4FEE\u6539\u3001\u9884\u68C0\u3001\u90E8\u7F72\uFF0C\u65E0\u9700\u7F16\u7A0B\u7ECF\u9A8C\u3002",
145
+ tools: [
146
+ "appRead",
147
+ "appFileList",
148
+ "appFileSearch",
149
+ "appFileRead",
150
+ "appFileReplace",
151
+ "appFileWrite",
152
+ "appList",
153
+ ...TOOL_PACKS.TABLE,
154
+ "openAIGptImage"
155
+ ],
156
+ defaultEnabled: false,
157
+ icon: "\u{1F5A5}",
158
+ // 部署那三件(预检 / 部署 / 删除)拆去 app-deploy,这里组合回来:
159
+ // 对外行为不变,但用户可以单独关掉发布权限而保留改代码的能力。
160
+ includes: ["app-deploy"],
161
+ promptPatch: `# \u5E94\u7528\u6784\u5EFA\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
162
+
163
+ ## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
164
+ - \u4E0D\u590D\u8FF0\u7528\u6237\u9700\u6C42\uFF0C\u4E0D\u89E3\u91CA\u4F60\u300C\u6253\u7B97\u600E\u4E48\u505A\u300D\uFF0C\u76F4\u63A5\u52A8\u624B\u3002\u6539\u5B8C\u53EA\u7528\u4E00\u4E24\u53E5\u8BDD\u8BF4\u6E05\u300C\u6539\u4E86\u4EC0\u4E48\u3001\u53BB\u54EA\u770B\u300D\u3002
165
+ - \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
166
+ - \u5C0F\u6539\u52A8\uFF08\u6539\u6587\u5B57\u3001\u989C\u8272\u3001\u95F4\u8DDD\u3001\u5706\u89D2\u3001\u5355\u4E2A\u7EC4\u4EF6\uFF09\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1A\`appFileSearch\` \u6216 \`appFileRead\` \u5B9A\u4F4D \u2192 \`appFileReplace\` \u7CBE\u786E\u66FF\u6362 \u2192 \`appPreflight\` \u2192 \`appDeploy\`\u3002\u80FD\u4E00\u6B21\u547D\u4E2D\u5C31\u4E0D\u8981\u53CD\u590D\u8BFB\u6587\u4EF6\u3002
167
+ - \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 replace\u3002
168
+ - \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
169
+
170
+ ## \u5B9A\u70B9\u4FEE\u6539
171
+ - \u5982\u679C\u4E0A\u4E0B\u6587\u91CC\u5E26\u6709\u7528\u6237\u300C\u9009\u4E2D\u7684\u5143\u7D20\u300D\uFF08cssPath / HTML \u7247\u6BB5 / \u6E90\u7801\u4F4D\u7F6E\uFF09\uFF0C\u76F4\u63A5\u636E\u6B64\u5B9A\u4F4D\uFF0C\u4E0D\u8981\u518D\u5168\u5C40\u641C\u7D22\u3002
172
+ - \u4FEE\u6539\u6536\u655B\u5728\u547D\u4E2D\u7684\u5143\u7D20\u53CA\u5176\u6837\u5F0F\u6765\u6E90\uFF08\u7EC4\u4EF6 / \u7C7B / design token\uFF09\u3002
173
+
174
+ ## \u6301\u7EED\u8FED\u4EE3\u6D41\u7A0B
175
+ - \u7528\u6237\u8981\u6539\u529F\u80FD\u6216\u6837\u5F0F\u65F6\uFF0C\u5148\u7528 appList \u627E\u5230\u76EE\u6807\u5E94\u7528\uFF0C\u518D\u7528 appRead \u5224\u65AD\u5F53\u524D\u662F\u6E90\u7801\u5DE5\u4F5C\u533A\u8FD8\u662F\u90E8\u7F72\u4EA7\u7269\uFF1B\u4E00\u65E6\u62FF\u5230 appId\uFF0C\u540E\u7EED\u90FD\u5FC5\u987B\u590D\u7528\u540C\u4E00\u4E2A appId\u3002
176
+ - \u6539\u5B8C\u8D70\u300C\u5E94\u7528\u53D1\u5E03\u300D\u80FD\u529B\u5305\u7684\u9884\u68C0\u90E8\u7F72\u6D41\u7A0B\uFF08appPreflight \u2192 appDeploy\uFF09\u3002\u82E5\u8BE5\u80FD\u529B\u5305\u672A\u542F\u7528\uFF0C\u8BF4\u660E\u672C agent \u53EA\u6709\u6539\u4EE3\u7801\u6743\u9650\u6CA1\u6709\u53D1\u5E03\u6743\u9650\uFF0C\u5982\u5B9E\u544A\u77E5\u7528\u6237\u3002
177
+
178
+ ## Nolo React SSR \u7EF4\u62A4\u7EAA\u5F8B\uFF08\u5F53\u524D\u9ED8\u8BA4\u8DEF\u5F84\uFF09
179
+ - \u65B0\u5EFA\u548C\u7EF4\u62A4\u7684\u5E94\u7528\u4F18\u5148\u8D70 Nolo React SSR\uFF08framework: "nolo-react", renderMode: "ssr"\uFF09\u3002
180
+ - \u5F53 appRead \u8FD4\u56DE workspaceRef / sourceFiles / sourceOmitted \u65F6\uFF0C\u4E0D\u8981\u6574\u7AD9\u91CD\u5199\uFF1B\u4F7F\u7528\u53D7\u9650 workspace \u6587\u4EF6\u5DE5\u5177\uFF1AappFileList / appFileSearch / appFileRead / appFileReplace / appFileWrite\u3002
181
+ - \u5C0F\u6539\u52A8\u5FC5\u987B\u4F18\u5148 appFileReplace\uFF1B\u53EA\u6709\u65B0\u5EFA\u6587\u4EF6\u6216\u786E\u5B9E\u9700\u8981\u6574\u6587\u4EF6\u91CD\u5199\u65F6\u624D appFileWrite\u3002
182
+ - \u4E0D\u8981\u9759\u9ED8\u628A nolo-react \u5E94\u7528\u9000\u56DE react-spa \u6216\u5355\u6587\u4EF6 Worker\u3002
183
+ - \u89C6\u89C9\u5FAE\u8C03\u4F18\u5148\u6539 theme / tokens / design system\uFF1B\u65E7\u5199\u6CD5\u5E94\u7528\u53EF\u5148\u505A\u6700\u5C0F token \u8FC1\u79FB\uFF0C\u518D\u6539\u89C6\u89C9\u53C2\u6570\u3002
184
+
185
+ ## \u8868\u5355 / \u6570\u636E\u6536\u96C6
186
+ - \u7559\u8A00\u3001\u8054\u7CFB\u8868\u5355\u3001\u9884\u7EA6\u3001\u8BA2\u9605\u3001\u53CD\u9988\u6536\u96C6\u4F18\u5148\u7528\u8868\u5DE5\u5177\uFF0C\u4E0D\u8981\u81EA\u5DF1\u53D1\u660E JSON \u6587\u4EF6\u5B58\u50A8\u3002
187
+ - \u516C\u5F00\u7F51\u9875\u8868\u5355\u5148 createTable\uFF0C\u5E76\u914D\u7F6E publicIntake\uFF08enabled\u3001slug\u3001allowedFields\u3001requiredFields\u3001\u53EF\u9009 honeypotField\uFF09\u3002
188
+ - \u516C\u5F00\u8BBF\u5BA2\u63D0\u4EA4\u53EA\u80FD\u8C03\u7528 /api/table/public-submit\uFF1B\u4E0D\u8981\u628A tenantId\u3001tableId\u3001token \u5199\u8FDB\u516C\u5F00\u5E94\u7528\u4EE3\u7801\u3002
189
+
190
+ ## \u9879\u76EE\u7D20\u6750
191
+ - \u9996\u9875\u63D2\u753B\u3001\u5C01\u9762\u3001\u6A2A\u5E45\u3001\u6309\u94AE\u56FE\u6807\u7B49\u89C6\u89C9\u7D20\u6750\uFF0C\u4F18\u5148 openAIGptImage\uFF0C\u518D\u63A5\u5165\u5E94\u7528\u3002
192
+
193
+ ## \u901A\u9053\u5F02\u5E38\u6B62\u635F
194
+ - \u5982\u679C\u5DE5\u5177\u8FD4\u56DE HTML / \u975E JSON / transport failure / retryable=false\uFF0C\u505C\u6B62\u81EA\u52A8\u91CD\u8BD5\uFF0C\u8BF4\u660E\u662F\u5E73\u53F0\u901A\u9053\u5F02\u5E38\u3002
195
+
196
+ ## \u7F3A\u5C11\u6E90\u7801\u8981\u8BF4\u660E\u98CE\u9669
197
+ - \u5982\u679C appRead \u8BFB\u51FA\u6765\u7684\u662F HTML \u58F3\u3001importmap\u3001\u538B\u7F29 bundle\uFF0C\u5FC5\u987B\u5148\u544A\u77E5\u7528\u6237\u5F53\u524D\u66F4\u50CF\u90E8\u7F72\u4EA7\u7269\u800C\u4E0D\u662F\u53EF\u7EF4\u62A4\u6E90\u7801\uFF0C\u5F97\u5230\u786E\u8BA4\u540E\u518D\u7EE7\u7EED\u5927\u6539\u3002
198
+ `
199
+ },
200
+ {
201
+ id: "app-deploy",
202
+ label: "\u5E94\u7528\u53D1\u5E03",
203
+ description: "\u9884\u68C0\u5E76\u53D1\u5E03\u5E94\u7528\u5230\u7EBF\u4E0A\uFF0C\u4EE5\u53CA\u5220\u9664\u5DF2\u53D1\u5E03\u7684\u5E94\u7528\u3002\u4E0E\u300C\u5E94\u7528\u6784\u5EFA\u300D\u5206\u5F00\uFF0C\u53EF\u4EE5\u53EA\u7ED9\u6539\u4EE3\u7801\u7684\u80FD\u529B\u800C\u4E0D\u7ED9\u53D1\u5E03\u6743\u9650\u3002",
204
+ tools: ["appPreflight", "appDeploy", "appDelete"],
205
+ defaultEnabled: false,
206
+ icon: "\u{1F680}",
207
+ promptPatch: `# \u5E94\u7528\u53D1\u5E03\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
208
+
209
+ ## \u9884\u68C0\u4E0E\u90E8\u7F72
210
+ - \u6BCF\u6B21\u4FEE\u6539\u540E\uFF1AappPreflight \u2192 appDeploy\uFF1BappDeploy \u5FC5\u987B\u7EE7\u7EED\u4F20\u540C\u4E00\u4E2A appId\u3002
211
+ - \u6536\u5230 repairPlan \u5C31\u76F4\u63A5\u4FEE\uFF1A\u6309\u8FD4\u56DE issues \u5B9A\u70B9\u4FEE\u590D\u5E76\u91CD\u65B0\u9884\u68C0\uFF0C\u4E0D\u8981\u6574\u7AD9\u91CD\u5199\uFF0C\u4E5F\u4E0D\u8981\u5148\u95EE\u7528\u6237\u8981\u4E0D\u8981\u4FEE\u3002
212
+ - \u672A\u7ECF\u7528\u6237\u786E\u8BA4\u4E0D\u8981 appDelete\u3002
213
+
214
+ ## \u90E8\u7F72\u5E94\u7B54\u6A21\u677F
215
+ \u90E8\u7F72\u6210\u529F\u540E\uFF1A
216
+ "\u2705 \u4F60\u7684\u5E94\u7528\u5DF2\u7ECF\u597D\u4E86\uFF01
217
+
218
+ \u{1F517} \u8BBF\u95EE\u94FE\u63A5\uFF1A[URL]
219
+
220
+ \u8FD9\u4E2A\u5E94\u7528\u53EF\u4EE5\u5E2E\u4F60 [\u4E00\u53E5\u8BDD\u529F\u80FD\u63CF\u8FF0]\u3002\u60F3\u8981\u4FEE\u6539\u6216\u6DFB\u52A0\u529F\u80FD\uFF0C\u76F4\u63A5\u544A\u8BC9\u6211\u5C31\u884C\uFF01"`
221
+ },
222
+ {
223
+ id: "video-transcription",
224
+ label: "\u89C6\u9891\u8F6C\u5199",
225
+ description: "\u8D34\u89C6\u9891\u94FE\u63A5\u5373\u53EF\u8F6C\u5199\u4E3A\u5E26\u6807\u70B9\u6587\u672C\u4E0E SRT\u3002\u652F\u6301 B \u7AD9\u5206 P\uFF08\u9ED8\u8BA4\u5168\u90E8\u5904\u7406\uFF09\u3001YouTube \u7B49\uFF1B\u6296\u97F3\u8BF7\u5728\u684C\u9762\u7AEF\u6D4F\u89C8\u5668\u4F7F\u7528\u3002",
226
+ tools: ["transcribeVideo"],
227
+ defaultEnabled: false,
228
+ icon: "\u{1F3AC}",
229
+ promptPatch: `# \u89C6\u9891\u8F6C\u5199\u80FD\u529B\u5305
230
+
231
+ ## \u7528\u6CD5
232
+ - \u7528\u6237\u8D34\u4E0A\u89C6\u9891\u94FE\u63A5\u65F6\uFF0C\u76F4\u63A5\u8C03\u7528 \`transcribeVideo({ url })\`\uFF0C\u4E0D\u8981\u5148\u95EE\u8981\u4E0D\u8981\u8F6C\u5199\u3002
233
+ - B \u7AD9\u5206 P / \u5408\u96C6\uFF1A\u7F3A\u7701\u5904\u7406\u5168\u90E8\uFF1B\u82E5\u7528\u6237\u6307\u5B9A\u300C\u53EA\u8981\u7B2C 3\u30014 \u96C6\u300D\u5219\u4F20 \`p: [3, 4]\`\u3002
234
+ - \u8FD4\u56DE\u91CC\u7684 \`processedParts\` / \`availableParts\` \u5FC5\u987B\u5411\u7528\u6237\u8BF4\u6E05\u695A\uFF0C\u907F\u514D\u9759\u9ED8\u4E22\u5206 P\u3002
235
+ - \u6296\u97F3\u82E5\u62A5\u300C\u8BE5\u5E73\u53F0\u9700\u8981\u767B\u5F55\u6001\uFF0C\u8BF7\u5728\u684C\u9762\u7AEF\u6D4F\u89C8\u5668\u4E2D\u4F7F\u7528\u300D\uFF0C\u63D0\u793A\u7528\u6237\u6539\u8D70\u684C\u9762\u7AEF\u6D4F\u89C8\u80FD\u529B\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u4F20 cookie\u3002
236
+ `
237
+ }
238
+ ];
239
+ var CAPABILITY_PACK_BY_ID = CAPABILITY_PACKS.reduce(
240
+ (acc, pack) => {
241
+ acc[pack.id] = pack;
242
+ return acc;
243
+ },
244
+ {}
245
+ );
246
+ var PACK_MANAGED_TOOLS = new Set(
247
+ CAPABILITY_PACKS.flatMap((pack) => pack.tools)
248
+ );
249
+ var DEFAULT_ENABLED_PACKS = CAPABILITY_PACKS.filter(
250
+ (pack) => pack.defaultEnabled
251
+ ).map((pack) => pack.id);
252
+ var ALWAYS_ON_PACK_IDS = [
253
+ "long-term-memory",
254
+ "skills"
255
+ ];
256
+ function resolveEffectiveEnabledPacks(args) {
257
+ const base = args.enabledPacks ?? [];
258
+ if (args.declaredOnly === true) return [...base];
259
+ return [
260
+ .../* @__PURE__ */ new Set([
261
+ ...base,
262
+ ...base.length === 0 ? args.emptyFallbackPacks ?? [] : [],
263
+ ...args.hostPacks ?? [],
264
+ ...ALWAYS_ON_PACK_IDS
265
+ ])
266
+ ];
267
+ }
268
+ var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
269
+ var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = ["agent-orchestration"];
270
+ function getDefaultSystemCapabilityTools() {
271
+ const ids = DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS;
272
+ return SYSTEM_AGENT_CAPABILITY_PACKS.filter((pack) => ids.includes(pack.id)).flatMap((pack) => [...pack.tools]);
273
+ }
274
+ function addDefaultSystemCapabilityTools(toolNames) {
275
+ return [.../* @__PURE__ */ new Set([...toolNames, ...getDefaultSystemCapabilityTools()])];
276
+ }
277
+ function applySystemBuiltinSkillFilter(toolNames, systemBuiltinSkills) {
278
+ if (!systemBuiltinSkills) return toolNames;
279
+ const disabledToolSet = /* @__PURE__ */ new Set();
280
+ for (const packId of SYSTEM_BUILTIN_SKILL_PACK_IDS) {
281
+ const enabled = systemBuiltinSkills[packId];
282
+ if (enabled === false) {
283
+ const pack = CAPABILITY_PACK_BY_ID[packId];
284
+ if (pack) pack.tools.forEach((t) => disabledToolSet.add(t));
285
+ }
286
+ }
287
+ if (disabledToolSet.size === 0) return toolNames;
288
+ return toolNames.filter((t) => !disabledToolSet.has(t));
289
+ }
290
+ function collectPackIdsWithIncludes(enabledPacks) {
291
+ const out = [];
292
+ const seen = /* @__PURE__ */ new Set();
293
+ const visit = (id) => {
294
+ if (seen.has(id)) return;
295
+ seen.add(id);
296
+ out.push(id);
297
+ for (const child of CAPABILITY_PACK_BY_ID[id]?.includes ?? []) visit(child);
298
+ };
299
+ for (const id of enabledPacks ?? []) visit(id);
300
+ return out;
301
+ }
302
+ function expandEnabledPacks(enabledPacks, explicitTools = []) {
303
+ const packTools = collectPackIdsWithIncludes(enabledPacks).map((id) => CAPABILITY_PACK_BY_ID[id]?.tools ?? []).flat();
304
+ return [.../* @__PURE__ */ new Set([...packTools, ...explicitTools ?? []])];
305
+ }
306
+ function expandEnabledPackPromptPatches(enabledPacks) {
307
+ return collectPackIdsWithIncludes(enabledPacks).map((id) => CAPABILITY_PACK_BY_ID[id]?.promptPatch).filter((patch) => typeof patch === "string" && patch.length > 0);
308
+ }
309
+ function appendEnabledPackPromptPatches(prompt, enabledPacks) {
310
+ const patches = expandEnabledPackPromptPatches(enabledPacks);
311
+ if (patches.length === 0) return prompt ?? void 0;
312
+ const base = typeof prompt === "string" ? prompt.trim() : "";
313
+ const addition = patches.join("\n\n");
314
+ if (!base) return addition;
315
+ if (base.includes(addition)) return base;
316
+ return `${base}
317
+
318
+ ${addition}`;
319
+ }
320
+ var FORCED_TOOLS = ["ask_user"];
321
+ function applyDisabledTools(toolNames, disabledTools) {
322
+ if (!Array.isArray(disabledTools) || disabledTools.length === 0) {
323
+ return toolNames;
324
+ }
325
+ const disabled = new Set(disabledTools);
326
+ const forced = new Set(FORCED_TOOLS);
327
+ return toolNames.filter((name) => !disabled.has(name) || forced.has(name));
328
+ }
329
+ var WEB_SEARCH_TOOL_NAMES = /* @__PURE__ */ new Set([
330
+ "fetchWebpage",
331
+ "exa_search",
332
+ "firecrawl_scrape",
333
+ "firecrawl_search"
334
+ ]);
335
+ function isWebSearchTool(name) {
336
+ return WEB_SEARCH_TOOL_NAMES.has(name);
337
+ }
338
+ function isBrowserTool(name) {
339
+ return name.startsWith("browser_");
340
+ }
341
+ function addDefaultLightWebToolsForConfiguredAgents(toolNames, agentConfig) {
342
+ const explicitToolNames = Array.isArray(
343
+ agentConfig?.toolSurface?.explicitToolNames
344
+ ) ? agentConfig.toolSurface.explicitToolNames : agentConfig?.toolNames;
345
+ if (!Array.isArray(explicitToolNames) || explicitToolNames.length === 0)
346
+ return toolNames;
347
+ const webSearch = explicitToolNames.some(isWebSearchTool);
348
+ if (!webSearch) return toolNames;
349
+ return [.../* @__PURE__ */ new Set([...toolNames, ...TOOL_PACKS.LIGHT_WEB])];
350
+ }
351
+ function applyDefaultWebToolPacks(args) {
352
+ const enhanced = new Set(args.toolNames);
353
+ if (!args.skipWeb && args.toolNames.some(isWebSearchTool)) {
354
+ TOOL_PACKS.LIGHT_WEB.forEach((t) => enhanced.add(t));
355
+ }
356
+ if (args.toolNames.some(isBrowserTool)) {
357
+ TOOL_PACKS.FULL_BROWSER.forEach((t) => enhanced.add(t));
358
+ }
359
+ return [...enhanced];
360
+ }
361
+
362
+ export {
363
+ buildCodeWorkDiscipline,
364
+ TOOL_PACKS,
365
+ CAPABILITY_PACKS,
366
+ resolveEffectiveEnabledPacks,
367
+ addDefaultSystemCapabilityTools,
368
+ applySystemBuiltinSkillFilter,
369
+ expandEnabledPacks,
370
+ expandEnabledPackPromptPatches,
371
+ appendEnabledPackPromptPatches,
372
+ FORCED_TOOLS,
373
+ applyDisabledTools,
374
+ addDefaultLightWebToolsForConfiguredAgents,
375
+ applyDefaultWebToolPacks
376
+ };
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  readDbRecord,
3
3
  writeAgentRecord
4
- } from "./chunk-DFCFMCY6.js";
4
+ } from "./chunk-J2WT5CEO.js";
5
5
  import {
6
6
  buildSkillSummaryMarker
7
7
  } from "./chunk-VF4K2QE6.js";
8
- import {
9
- createSpaceKey
10
- } from "./chunk-ELT65PZW.js";
11
8
  import {
12
9
  parseUserIdFromAuthToken,
13
10
  readOption,
14
11
  resolveAuthToken,
15
12
  resolveServerUrl
16
13
  } from "./chunk-A7GB5UGH.js";
14
+ import {
15
+ createSpaceKey
16
+ } from "./chunk-OXLLFZNF.js";
17
17
  import {
18
18
  asTrimmedLowercaseString
19
19
  } from "./chunk-QSJ3HFEF.js";
@@ -140,9 +140,7 @@ function readTitle(args) {
140
140
  "--tools",
141
141
  "--required-skills",
142
142
  "--recommended-skills",
143
- "--preferred-agents",
144
143
  "--trigger-mode",
145
- "--budget-tier",
146
144
  "--prompt-patch",
147
145
  "--token",
148
146
  "--server"