nolo-cli 0.8.0-alpha.23 → 0.8.0-alpha.25

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 (114) hide show
  1. package/{_executeModel-YXTTYRXS.js → _executeModel-IYPAOWQQ.js} +48 -48
  2. package/{action-QM2ONPYZ.js → action-UAHWPMZB.js} +7 -8
  3. package/{addContentAction-UXY3GM53.js → addContentAction-PFIP76LT.js} +6 -8
  4. package/{addDialogAgentAction-MUBYOG65.js → addDialogAgentAction-LWDAIDEU.js} +8 -9
  5. package/{agentDeleteCommand-4NO7Y6UI.js → agentDeleteCommand-M6KIV6ZZ.js} +36 -27
  6. package/{agentEmailCommands-NPP5TGZV.js → agentEmailCommands-JGAZ26N2.js} +60 -59
  7. package/{agentListCommands-IP5BNB5W.js → agentListCommands-3TQWUC4W.js} +120 -28
  8. package/{agentMachineCommands-24NFTIKY.js → agentMachineCommands-EBCDKO4T.js} +36 -26
  9. package/{agentRecordCommands-7AWSR46F.js → agentRecordCommands-ZKOLGEMX.js} +53 -52
  10. package/{agentRunCommand-P46WCJ6P.js → agentRunCommand-L6A3DKTB.js} +56 -57
  11. package/{agentRuntimeLocal-V5UV7S4R.js → agentRuntimeLocal-6Q4CEFXY.js} +27 -14
  12. package/{agentSlice-3CVAZZOP.js → agentSlice-XRG5ODYW.js} +7 -8
  13. package/{authCommand-B6P2XYLN.js → authCommand-ELPMOABY.js} +13 -13
  14. package/{authCommands-4YKA4GTU.js → authCommands-PUQRVHHW.js} +5 -5
  15. package/{chunk-AFON4QUU.js → chunk-3QKO4EHV.js} +3 -3
  16. package/{chunk-D55DXHXL.js → chunk-4GBNEA5B.js} +1 -1
  17. package/{chunk-PXZAAB4L.js → chunk-4LG74DRG.js} +4 -4
  18. package/{chunk-RBCNBU2A.js → chunk-524BDL33.js} +1 -0
  19. package/{chunk-HAC6GPRE.js → chunk-5EUAXXSV.js} +2 -2
  20. package/{chunk-P7GAHW32.js → chunk-5LDYVJXY.js} +191 -40
  21. package/{chunk-DSNLHTP3.js → chunk-66DXKPRS.js} +9 -2
  22. package/{chunk-5NYGMN4O.js → chunk-67Z375LK.js} +17 -17
  23. package/{chunk-6OHYC4BY.js → chunk-6PXKSN2M.js} +4 -3
  24. package/{chunk-LFFATN2M.js → chunk-ALEDPZVP.js} +94 -54
  25. package/{chunk-ZAUDEKML.js → chunk-DW75SYWV.js} +95 -2327
  26. package/{chunk-A4MYG3TR.js → chunk-EEUWELOX.js} +15 -15
  27. package/chunk-GVQT3FIB.js +2286 -0
  28. package/chunk-I2HCZWJU.js +144 -0
  29. package/{chunk-LBUTKV7S.js → chunk-IG2EZS3N.js} +67 -20
  30. package/chunk-IKXL2HZ3.js +70 -0
  31. package/{chunk-2CVZSC5L.js → chunk-IVAOVLM7.js} +1 -1
  32. package/{chunk-L3KWEH3V.js → chunk-KPFGD3YA.js} +43 -12
  33. package/{chunk-4VA3UQRF.js → chunk-KRMH46UV.js} +10 -10
  34. package/{chunk-MIQOUMSN.js → chunk-LFETMU66.js} +8 -8
  35. package/{chunk-RBB43B5W.js → chunk-LWYCA4ZT.js} +307 -43
  36. package/{chunk-EUN3SYY7.js → chunk-MMCDCZM4.js} +6 -6
  37. package/{chunk-YOCHZD7D.js → chunk-NCGFB7NN.js} +5 -3
  38. package/{chunk-KLOCUWKZ.js → chunk-OCDEWRE2.js} +1 -1
  39. package/{chunk-LJCH34R2.js → chunk-OOOKLEJ7.js} +6 -6
  40. package/{chunk-C4FTUXVF.js → chunk-QLUFR47U.js} +11 -1
  41. package/{chunk-RYMUT5JO.js → chunk-RB43SIIG.js} +32 -26
  42. package/{chunk-RQPZX6KP.js → chunk-S37OTGU7.js} +2 -2
  43. package/{chunk-AOKWJZ5N.js → chunk-S3UTETIC.js} +3 -2
  44. package/{chunk-ZJS64PZJ.js → chunk-SCBYSC74.js} +1 -1
  45. package/{chunk-AWY2AFHN.js → chunk-TSKWE74T.js} +53 -7
  46. package/{chunk-UBSKX3LP.js → chunk-UZZCXRHF.js} +6 -6
  47. package/{chunk-Q2WC4KGQ.js → chunk-V6ICY2YU.js} +5 -5
  48. package/{chunk-6KRA6AWI.js → chunk-VNGCTQ32.js} +1 -1
  49. package/{chunk-BB2PII22.js → chunk-WKWEV6K4.js} +1 -1
  50. package/{chunk-LW6FJFCT.js → chunk-WO6IG6YT.js} +146 -50
  51. package/{chunk-JTINRTBT.js → chunk-WPHL6ALY.js} +1 -1
  52. package/{chunk-KTHLAJEY.js → chunk-WZF7M6GX.js} +1 -1
  53. package/{chunk-LTH6AVG7.js → chunk-XDXO65DS.js} +3 -3
  54. package/{chunk-BFDWXLFF.js → chunk-XGMCGPEA.js} +64 -5
  55. package/{chunk-WESWWEVA.js → chunk-XGOTQ6ZG.js} +1 -1
  56. package/{chunk-VBKJTOAW.js → chunk-XHQWJUW4.js} +2 -2
  57. package/{chunk-O7VS7JLJ.js → chunk-XIZIRGXB.js} +15 -15
  58. package/{chunk-PTT6KSYQ.js → chunk-Y7QCVJ73.js} +239 -90
  59. package/{chunk-6UUD2WES.js → chunk-ZR4VHQ5D.js} +14 -13
  60. package/{createAgentAutomationAction-DYQOGAVE.js → createAgentAutomationAction-HZJ4LPCW.js} +23 -25
  61. package/{createDialogAction-ETB3KQQE.js → createDialogAction-KICYAHEQ.js} +25 -27
  62. package/{createPageAction-UF2RHA63.js → createPageAction-VWBZOQPP.js} +25 -27
  63. package/{dbSlice-R5EJKZBW.js → dbSlice-V4H2JFNB.js} +5 -6
  64. package/{deleteFile-WPWVZE4B.js → deleteFile-M7UNIUOO.js} +3 -3
  65. package/{dialogCommands-LYYC7XHF.js → dialogCommands-UMT7AOOR.js} +31 -22
  66. package/{dialogSlice-IFBZ4IT2.js → dialogSlice-G3WPGLY5.js} +23 -25
  67. package/{docCreateCommands-I66OI374.js → docCreateCommands-MAZSFQQ5.js} +34 -25
  68. package/{docDeleteCommands-OVRBCHMF.js → docDeleteCommands-DOTLD7HA.js} +34 -26
  69. package/{docReadCommands-YLWUMEH7.js → docReadCommands-PH255AKZ.js} +34 -25
  70. package/{docStore-65WO7U36.js → docStore-K7U47JYV.js} +22 -24
  71. package/{docUpdateCommands-NSICS4IN.js → docUpdateCommands-RLRID2K7.js} +34 -25
  72. package/fetchMessages-KTNM7QAR.js +1 -1
  73. package/{getPricing-7PUT44ZS.js → getPricing-6TOZXPAU.js} +4 -4
  74. package/{handleSendMessageAction-T76HEDOP.js → handleSendMessageAction-UAI2ZOGG.js} +27 -29
  75. package/index.js +62 -62
  76. package/{localDialogRead-YSKFFRTT.js → localDialogRead-2VRI24F4.js} +1 -1
  77. package/{machineCommands-4HQY6UVZ.js → machineCommands-FE5HOJWR.js} +58 -57
  78. package/{machineWsRunDispatch-7YW2M4FS.js → machineWsRunDispatch-J56M67NJ.js} +52 -51
  79. package/{models-MFXNI3TF.js → models-LSCRJJ6P.js} +2 -2
  80. package/package.json +1 -1
  81. package/{read-5ZMY7FKP.js → read-2MIMRBZ2.js} +3 -3
  82. package/{readDocTool-2NXDK32S.js → readDocTool-QHVGQHUJ.js} +1 -1
  83. package/{readlineWorkspace-FLQWOAUR.js → readlineWorkspace-GK33VXX2.js} +196 -123
  84. package/{removeDialogAgentAction-KOLQ2R5W.js → removeDialogAgentAction-7GO2PRVQ.js} +12 -13
  85. package/{runAgentClientLoop-IUV2TR3X.js → runAgentClientLoop-EEC3BHWI.js} +45 -46
  86. package/{setDialogExtraReferencesAction-OMTEO7X6.js → setDialogExtraReferencesAction-ZIDAVJSZ.js} +8 -9
  87. package/{setPrimaryDialogAgentAction-DOCIS6V4.js → setPrimaryDialogAgentAction-LK35C2D7.js} +12 -13
  88. package/{settingSlice-UWZJYDOA.js → settingSlice-PRRC6IJ7.js} +6 -7
  89. package/{skillDiscovery-UGSQGX2U.js → skillDiscovery-ZYHSX7VD.js} +3 -3
  90. package/{spaceCommands-BDDAT4VU.js → spaceCommands-XE4PS24W.js} +36 -29
  91. package/{spaceSlice-HH633ZA4.js → spaceSlice-OE57MB22.js} +21 -23
  92. package/{streamAgentChatTurn-UBZOVFKV.js → streamAgentChatTurn-CI6VMD2Y.js} +208 -101
  93. package/{toolApiClient-C7P7YSE4.js → toolApiClient-QI3YBNWB.js} +2 -2
  94. package/{tools-OQZ34KCU.js → tools-I5VPDJHG.js} +32 -33
  95. package/{tuiSummaryLlmCaller-42AEL3LL.js → tuiSummaryLlmCaller-TXLF4MEI.js} +5 -5
  96. package/{updateDialogTitleAction-A3OOMSDO.js → updateDialogTitleAction-BKXHTAYL.js} +27 -28
  97. package/chunk-5MMAK75Q.js +0 -15
  98. package/chunk-AZPCASRE.js +0 -36
  99. package/chunk-RBCENBG7.js +0 -36
  100. package/chunk-UAD2WT54.js +0 -64
  101. package/{agentPullCommand-N6UWRTVL.js → agentPullCommand-LHFBA5EI.js} +6 -6
  102. package/{chunk-JK7VW2FN.js → chunk-5MIDPSSK.js} +3 -3
  103. package/{chunk-VC6OZXO5.js → chunk-6WWHKODG.js} +4 -4
  104. package/{chunk-BT37DVDA.js → chunk-7VKWMOSI.js} +9 -9
  105. package/{chunk-3QAF2LTL.js → chunk-DZ3XJVET.js} +3 -3
  106. package/{chunk-5CS33IBL.js → chunk-PDL2AV3E.js} +3 -3
  107. package/{chunk-5MMZUWSG.js → chunk-TOILAPLH.js} +5 -5
  108. package/{chunk-DVRHHFEA.js → chunk-TSUJOM6N.js} +3 -3
  109. package/{db-6QED3ZVO.js → db-HCJ5PRB5.js} +3 -3
  110. package/{memoryCommands-HG4WKTU7.js → memoryCommands-HGNEENIN.js} +3 -3
  111. package/{offlineMarxistsAgentCommand-BCPJITJL.js → offlineMarxistsAgentCommand-5OOWZLJI.js} +3 -3
  112. package/{runtimeDoctorCommands-UWR5UDSM.js → runtimeDoctorCommands-4YVMXBQP.js} +5 -5
  113. package/{tableCommands-M3DJUETS.js → tableCommands-LV2PPHNY.js} +6 -6
  114. package/{understanding-ZOESBLF3.js → understanding-3CUQQ6SV.js} +3 -3
@@ -3,6 +3,10 @@ import {
3
3
  normalizeNonNegativeMs,
4
4
  parseRetryAfterHeaderMs
5
5
  } from "./chunk-GAKEBQD6.js";
6
+ import {
7
+ sortSafeAgentSummaries,
8
+ toSafeAgentSummary
9
+ } from "./chunk-I2HCZWJU.js";
6
10
  import {
7
11
  getUserDataItemTimestamp,
8
12
  mergeAndDedupUserData
@@ -13,7 +17,7 @@ import {
13
17
  readPageFunc,
14
18
  readPageFunctionSchema,
15
19
  slateToSimplifiedMarkdown
16
- } from "./chunk-2CVZSC5L.js";
20
+ } from "./chunk-IVAOVLM7.js";
17
21
  import {
18
22
  markdownToSlate
19
23
  } from "./chunk-3LY4F7SV.js";
@@ -28,10 +32,10 @@ import {
28
32
  } from "./chunk-VF4K2QE6.js";
29
33
  import {
30
34
  createDocState
31
- } from "./chunk-LJCH34R2.js";
35
+ } from "./chunk-OOOKLEJ7.js";
32
36
  import {
33
37
  createDialogAction
34
- } from "./chunk-A4MYG3TR.js";
38
+ } from "./chunk-EEUWELOX.js";
35
39
  import {
36
40
  buildSkillDocMarkdown,
37
41
  normalizeSkillBudgetTier,
@@ -40,12 +44,11 @@ import {
40
44
  parseExternalSkillMarkdown,
41
45
  parseSkillDocProtocol,
42
46
  resolvePageSkillMetadata
43
- } from "./chunk-VC6OZXO5.js";
47
+ } from "./chunk-6WWHKODG.js";
44
48
  import {
45
49
  addCategory,
46
50
  addContentToSpace,
47
51
  addRow,
48
- buildDatabaseFileContentUrl,
49
52
  createTable,
50
53
  deleteDbKey,
51
54
  deleteSpace,
@@ -71,38 +74,13 @@ import {
71
74
  updateContentCategory,
72
75
  updateContentTitle,
73
76
  updateStep
74
- } from "./chunk-ZAUDEKML.js";
77
+ } from "./chunk-DW75SYWV.js";
75
78
  import {
76
79
  createAgent,
77
80
  runLlm,
78
81
  streamAgentChatTurn,
79
82
  updateAgent
80
- } from "./chunk-4VA3UQRF.js";
81
- import {
82
- shareResourceAction
83
- } from "./chunk-RQPZX6KP.js";
84
- import {
85
- AGENT_UPDATE_FIELD_NAMES,
86
- normalizeAgentUpdateFieldList,
87
- selectAutoApproveSelfUpdateFields,
88
- selectCurrentServer,
89
- selectSyncServers
90
- } from "./chunk-UBSKX3LP.js";
91
- import {
92
- addContentAction
93
- } from "./chunk-BFDWXLFF.js";
94
- import {
95
- createSpaceKey,
96
- normalizeSpaceId
97
- } from "./chunk-UAD2WT54.js";
98
- import {
99
- patch,
100
- read,
101
- readAndWait,
102
- readAndWaitAction,
103
- toTimestampMs,
104
- write
105
- } from "./chunk-L3KWEH3V.js";
83
+ } from "./chunk-KRMH46UV.js";
106
84
  import {
107
85
  NOLO_WORKSPACE_TOOL_NAMES,
108
86
  buildNoloSubjectRefQueryTarget,
@@ -118,13 +96,62 @@ import {
118
96
  redactAgentRecordForWorkspaceTool,
119
97
  resolveNoloDialogInput,
120
98
  verifyNoloDialogSubjectRefQuery
121
- } from "./chunk-6OHYC4BY.js";
99
+ } from "./chunk-6PXKSN2M.js";
100
+ import {
101
+ buildDatabaseFileContentUrl
102
+ } from "./chunk-GVQT3FIB.js";
122
103
  import {
123
104
  DEFAULT_MODEL
124
- } from "./chunk-AOKWJZ5N.js";
105
+ } from "./chunk-S3UTETIC.js";
106
+ import {
107
+ ToolApiError,
108
+ buildToolRequestHeaders,
109
+ callToolApi,
110
+ getRequestConfig,
111
+ getToolBaseUrl,
112
+ getToolRequestContext
113
+ } from "./chunk-5MIDPSSK.js";
114
+ import {
115
+ extractCustomId
116
+ } from "./chunk-DFFIZ25G.js";
117
+ import {
118
+ getActiveDialogKey,
119
+ require_react,
120
+ selectCurrentDialogKey,
121
+ selectPendingRawDataByPageKey
122
+ } from "./chunk-3ASDTTEI.js";
123
+ import {
124
+ toErrorMessage
125
+ } from "./chunk-HNMXYYJR.js";
126
+ import {
127
+ compactWhitespace
128
+ } from "./chunk-DWLEOOGR.js";
129
+ import {
130
+ shareResourceAction
131
+ } from "./chunk-S37OTGU7.js";
132
+ import {
133
+ AGENT_UPDATE_FIELD_NAMES,
134
+ normalizeAgentUpdateFieldList,
135
+ selectAutoApproveSelfUpdateFields,
136
+ selectCurrentServer,
137
+ selectSyncServers
138
+ } from "./chunk-UZZCXRHF.js";
125
139
  import {
126
140
  asRecordOrEmpty
127
141
  } from "./chunk-KX6YBIHG.js";
142
+ import {
143
+ addContentAction,
144
+ createSpaceKey,
145
+ normalizeSpaceId
146
+ } from "./chunk-XGMCGPEA.js";
147
+ import {
148
+ patch,
149
+ read,
150
+ readAndWait,
151
+ readAndWaitAction,
152
+ toTimestampMs,
153
+ write
154
+ } from "./chunk-KPFGD3YA.js";
128
155
  import {
129
156
  SEPARATOR,
130
157
  createAgentKey,
@@ -144,35 +171,12 @@ import {
144
171
  import {
145
172
  asOptionalFiniteNumber
146
173
  } from "./chunk-WWC7I6TA.js";
147
- import {
148
- ToolApiError,
149
- buildToolRequestHeaders,
150
- callToolApi,
151
- getRequestConfig,
152
- getToolBaseUrl,
153
- getToolRequestContext
154
- } from "./chunk-JK7VW2FN.js";
155
- import {
156
- extractCustomId
157
- } from "./chunk-DFFIZ25G.js";
158
- import {
159
- getActiveDialogKey,
160
- require_react,
161
- selectCurrentDialogKey,
162
- selectPendingRawDataByPageKey
163
- } from "./chunk-3ASDTTEI.js";
164
174
  import {
165
175
  asTrimmedLowercaseString
166
176
  } from "./chunk-QSJ3HFEF.js";
167
- import {
168
- compactWhitespace
169
- } from "./chunk-DWLEOOGR.js";
170
- import {
171
- toErrorMessage
172
- } from "./chunk-HNMXYYJR.js";
173
177
  import {
174
178
  readAction
175
- } from "./chunk-VBKJTOAW.js";
179
+ } from "./chunk-XHQWJUW4.js";
176
180
  import {
177
181
  createAsyncThunk,
178
182
  getRuntimeServerContext,
@@ -180,16 +184,16 @@ import {
180
184
  selectIdentityToken,
181
185
  selectIdentityUserId,
182
186
  selectRuntimeSnapshot
183
- } from "./chunk-DVRHHFEA.js";
187
+ } from "./chunk-TSUJOM6N.js";
184
188
  import {
185
189
  isAbortError
186
190
  } from "./chunk-OOSFSFMA.js";
187
- import {
188
- asTrimmedString
189
- } from "./chunk-3EUW3WEO.js";
190
191
  import {
191
192
  isRecord
192
193
  } from "./chunk-KUG52IAP.js";
194
+ import {
195
+ asTrimmedString
196
+ } from "./chunk-3EUW3WEO.js";
193
197
  import {
194
198
  API_ENDPOINTS
195
199
  } from "./chunk-LCBAMY2M.js";
@@ -11012,10 +11016,90 @@ var CAPABILITY_PACKS = [
11012
11016
  {
11013
11017
  id: "agent-orchestration",
11014
11018
  label: "\u591A agent \u7F16\u6392",
11015
- description: "\u5217\u51FA\u5019\u9009 agent\u3001\u540E\u53F0\u542F\u52A8\u5176\u4ED6 agent \u6267\u884C\u5B50\u4EFB\u52A1\uFF0C\u5E76\u89C2\u5BDF\u3001\u67E5\u8BE2\u3001\u505C\u6B62\u8FD0\u884C\u4E2D\u7684 agent run\u2014\u2014\u9002\u5408\u5E76\u884C\u6D3E\u53D1\u3001\u957F\u4EFB\u52A1\u8DDF\u8E2A\u3001\u4E2D\u9014\u53EB\u505C\u7B49\u7F16\u6392\u573A\u666F\u3002",
11019
+ description: "\u5148\u6309\u6536\u85CF\u3001\u7B80\u4ECB\u3001\u80FD\u529B\u548C\u6210\u672C\u5217\u51FA\u5B89\u5168 agent \u6458\u8981\uFF0C\u6309\u9700\u8BFB\u53D6\u5019\u9009\u914D\u7F6E\u89E3\u6790\u53EF\u8FD0\u884C key\uFF0C\u518D\u540E\u53F0\u542F\u52A8\u5176\u4ED6 agent \u6267\u884C\u5B50\u4EFB\u52A1\uFF0C\u5E76\u89C2\u5BDF\u3001\u67E5\u8BE2\u3001\u505C\u6B62\u8FD0\u884C\u4E2D\u7684 agent run\u2014\u2014\u9002\u5408\u5E76\u884C\u6D3E\u53D1\u3001\u957F\u4EFB\u52A1\u8DDF\u8E2A\u3001\u4E2D\u9014\u53EB\u505C\u7B49\u7F16\u6392\u573A\u666F\u3002",
11016
11020
  tools: ["startAgentRun", "controlAgentRun", "listAgents"],
11017
11021
  defaultEnabled: true,
11018
11022
  icon: "\u{1F9E9}"
11023
+ },
11024
+ {
11025
+ id: "skills",
11026
+ label: "\u6280\u80FD\u52A0\u8F7D",
11027
+ 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",
11028
+ tools: ["loadSkill", "readSkillDoc"],
11029
+ defaultEnabled: true,
11030
+ icon: "\u{1F4DA}"
11031
+ },
11032
+ {
11033
+ id: "app-builder",
11034
+ label: "\u5E94\u7528\u6784\u5EFA",
11035
+ 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",
11036
+ tools: [
11037
+ "appRead",
11038
+ "appFileList",
11039
+ "appFileSearch",
11040
+ "appFileRead",
11041
+ "appFileReplace",
11042
+ "appFileWrite",
11043
+ "appPreflight",
11044
+ "appDeploy",
11045
+ "appList",
11046
+ "appDelete",
11047
+ "createTable",
11048
+ "addTableRow",
11049
+ "addTableRows",
11050
+ "queryTableRows",
11051
+ "updateTableRow",
11052
+ "deleteTableRow",
11053
+ "openAIGptImage"
11054
+ ],
11055
+ defaultEnabled: false,
11056
+ icon: "\u{1F5A5}",
11057
+ promptPatch: `# \u5E94\u7528\u6784\u5EFA\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
11058
+
11059
+ ## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
11060
+ - \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
11061
+ - \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
11062
+ - \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
11063
+ - \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 replace\u3002
11064
+ - \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
11065
+
11066
+ ## \u5B9A\u70B9\u4FEE\u6539
11067
+ - \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
11068
+ - \u4FEE\u6539\u6536\u655B\u5728\u547D\u4E2D\u7684\u5143\u7D20\u53CA\u5176\u6837\u5F0F\u6765\u6E90\uFF08\u7EC4\u4EF6 / \u7C7B / design token\uFF09\u3002
11069
+
11070
+ ## \u6301\u7EED\u8FED\u4EE3\u6D41\u7A0B
11071
+ - \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
11072
+ - \u6BCF\u6B21\u4FEE\u6539\u540E\uFF1AappPreflight \u2192 appDeploy\uFF1BappDeploy \u5FC5\u987B\u7EE7\u7EED\u4F20\u540C\u4E00\u4E2A appId\u3002
11073
+ - \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
11074
+
11075
+ ## Nolo React SSR \u7EF4\u62A4\u7EAA\u5F8B\uFF08\u5F53\u524D\u9ED8\u8BA4\u8DEF\u5F84\uFF09
11076
+ - \u65B0\u5EFA\u548C\u7EF4\u62A4\u7684\u5E94\u7528\u4F18\u5148\u8D70 Nolo React SSR\uFF08framework: "nolo-react", renderMode: "ssr"\uFF09\u3002
11077
+ - \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
11078
+ - \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
11079
+ - \u4E0D\u8981\u9759\u9ED8\u628A nolo-react \u5E94\u7528\u9000\u56DE react-spa \u6216\u5355\u6587\u4EF6 Worker\u3002
11080
+ - \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
11081
+
11082
+ ## \u8868\u5355 / \u6570\u636E\u6536\u96C6
11083
+ - \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
11084
+ - \u516C\u5F00\u7F51\u9875\u8868\u5355\u5148 createTable\uFF0C\u5E76\u914D\u7F6E publicIntake\uFF08enabled\u3001slug\u3001allowedFields\u3001requiredFields\u3001\u53EF\u9009 honeypotField\uFF09\u3002
11085
+ - \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
11086
+
11087
+ ## \u9879\u76EE\u7D20\u6750
11088
+ - \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
11089
+
11090
+ ## \u901A\u9053\u5F02\u5E38\u6B62\u635F
11091
+ - \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
11092
+
11093
+ ## \u7F3A\u5C11\u6E90\u7801\u8981\u8BF4\u660E\u98CE\u9669
11094
+ - \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
11095
+
11096
+ ## \u90E8\u7F72\u5E94\u7B54\u6A21\u677F
11097
+ \u90E8\u7F72\u6210\u529F\u540E\uFF1A
11098
+ "\u2705 \u4F60\u7684\u5E94\u7528\u5DF2\u7ECF\u597D\u4E86\uFF01
11099
+
11100
+ \u{1F517} \u8BBF\u95EE\u94FE\u63A5\uFF1A[URL]
11101
+
11102
+ \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"`
11019
11103
  }
11020
11104
  ];
11021
11105
  var CAPABILITY_PACK_BY_ID = CAPABILITY_PACKS.reduce(
@@ -11035,6 +11119,20 @@ function expandEnabledPacks(enabledPacks, explicitTools = []) {
11035
11119
  const packTools = (enabledPacks ?? []).map((id) => CAPABILITY_PACK_BY_ID[id]?.tools ?? []).flat();
11036
11120
  return [.../* @__PURE__ */ new Set([...packTools, ...explicitTools ?? []])];
11037
11121
  }
11122
+ function expandEnabledPackPromptPatches(enabledPacks) {
11123
+ return (enabledPacks ?? []).map((id) => CAPABILITY_PACK_BY_ID[id]?.promptPatch).filter((patch2) => typeof patch2 === "string" && patch2.length > 0);
11124
+ }
11125
+ function appendEnabledPackPromptPatches(prompt, enabledPacks) {
11126
+ const patches = expandEnabledPackPromptPatches(enabledPacks);
11127
+ if (patches.length === 0) return prompt ?? void 0;
11128
+ const base = typeof prompt === "string" ? prompt.trim() : "";
11129
+ const addition = patches.join("\n\n");
11130
+ if (!base) return addition;
11131
+ if (base.includes(addition)) return base;
11132
+ return `${base}
11133
+
11134
+ ${addition}`;
11135
+ }
11038
11136
  var FORCED_TOOLS = ["ui_ask_choice"];
11039
11137
  function applyDisabledTools(toolNames, disabledTools) {
11040
11138
  if (!Array.isArray(disabledTools) || disabledTools.length === 0) {
@@ -11083,7 +11181,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
11083
11181
  workspace: { mode: "lease" }
11084
11182
  };
11085
11183
  var findModelConfig = async (modelName, provider) => {
11086
- const { ALL_MODELS } = await import("./models-MFXNI3TF.js");
11184
+ const { ALL_MODELS } = await import("./models-LSCRJJ6P.js");
11087
11185
  const name = toTrimmedString(modelName);
11088
11186
  const prov = toTrimmedString(provider ?? "");
11089
11187
  if (!name) return null;
@@ -11324,7 +11422,7 @@ var buildFormDataFromArgs = async (args) => {
11324
11422
  const trimmedModel = toTrimmedString(model);
11325
11423
  const trimmedProvider = toTrimmedString(provider);
11326
11424
  const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
11327
- const { getModelPricing } = await import("./getPricing-7PUT44ZS.js");
11425
+ const { getModelPricing } = await import("./getPricing-6TOZXPAU.js");
11328
11426
  const normalizedTools = tools ?? [];
11329
11427
  const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
11330
11428
  const formData = {
@@ -13754,7 +13852,7 @@ async function deleteDialogsFunc(args, thunkApi) {
13754
13852
  const deletedDialogIds = [];
13755
13853
  const deletedDialogKeys = [];
13756
13854
  const failures = [];
13757
- const { deleteDialog } = await import("./dialogSlice-IFBZ4IT2.js");
13855
+ const { deleteDialog } = await import("./dialogSlice-G3WPGLY5.js");
13758
13856
  for (const target of targets) {
13759
13857
  try {
13760
13858
  await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
@@ -13779,9 +13877,44 @@ async function deleteDialogsFunc(args, thunkApi) {
13779
13877
  displayData: deletedDialogIds.length > 0 ? `\u5DF2\u5220\u9664 ${deletedDialogIds.length} \u4E2A\u5BF9\u8BDD\uFF1A${deletedDialogIds.join(", ")}\u3002` : "\u6CA1\u6709\u5220\u9664\u4EFB\u4F55\u5BF9\u8BDD\u3002"
13780
13878
  };
13781
13879
  }
13880
+ async function fetchUserFavoriteAgentMap(thunkApi) {
13881
+ const runtime = getRuntime2(thunkApi);
13882
+ if (!runtime?.currentServer || !runtime?.currentToken) return {};
13883
+ try {
13884
+ const serverBase = normalizeServerOrigin(runtime.currentServer);
13885
+ if (!serverBase) return {};
13886
+ const response = await fetch(`${serverBase}/rpc/listFavorites`, {
13887
+ method: "POST",
13888
+ headers: {
13889
+ "Content-Type": "application/json",
13890
+ ...authHeaders2(runtime.currentToken)
13891
+ },
13892
+ body: JSON.stringify({ targetType: "agent" })
13893
+ }).catch(() => null);
13894
+ if (!response || !response.ok) return {};
13895
+ const data = await response.json().catch(() => ({}));
13896
+ const favoritedAtByKey = {};
13897
+ const items = Array.isArray(data?.items) ? data.items : [];
13898
+ for (const item of items) {
13899
+ const id = typeof item?.id === "string" ? item.id : "";
13900
+ if (!id) continue;
13901
+ const at = Number(item?.favoritedAt) || 0;
13902
+ favoritedAtByKey[id] = Math.max(favoritedAtByKey[id] ?? 0, at || Date.now());
13903
+ }
13904
+ const ids = Array.isArray(data?.ids) ? data.ids : [];
13905
+ for (const id of ids) {
13906
+ if (typeof id === "string" && id && !(id in favoritedAtByKey)) {
13907
+ favoritedAtByKey[id] = 1;
13908
+ }
13909
+ }
13910
+ return favoritedAtByKey;
13911
+ } catch {
13912
+ return {};
13913
+ }
13914
+ }
13782
13915
  var listAgentsFunctionSchema = {
13783
13916
  name: "listAgents",
13784
- description: "List the current user's Nolo agents.",
13917
+ description: "List the current user's Nolo agents as safe summaries. Use readAgent with the selected id/publicKey to resolve the runnable agentKey before delegation.",
13785
13918
  parameters: {
13786
13919
  type: "object",
13787
13920
  properties: {
@@ -13792,20 +13925,34 @@ var listAgentsFunctionSchema = {
13792
13925
  };
13793
13926
  async function listAgentsFunc(args, thunkApi) {
13794
13927
  const limit = clampNoloPositiveInteger(args?.limit, 100, 500);
13795
- const records = await queryBestRecords(thunkApi, "agent" /* AGENT */, limit);
13796
- const agents = records.sort((left, right) => getNoloComparableUpdatedAt(right) - getNoloComparableUpdatedAt(left)).map((record) => ({
13797
- id: record?.id ?? null,
13798
- // 不返回 privateKey/dbKey:这是私有 workspace 工具,dbKey 属于敏感标识,
13799
- // 避免出现在公开/分享文本(与 readAgent 的 redactAgentRecordForWorkspaceTool
13800
- // 脱敏策略对齐)。后续读取走 readAgent(id/publicKey 已足够)。
13801
- publicKey: typeof record?.id === "string" ? `agent-pub-${record.id}` : null,
13802
- name: record?.name ?? "(unnamed)",
13803
- model: record?.model ?? null,
13804
- provider: record?.provider ?? record?.apiSource ?? null,
13805
- isPublic: record?.isPublic === true,
13806
- updatedAt: record?.updatedAt ?? record?.createdAt ?? null,
13807
- tools: Array.isArray(record?.tools) ? record.tools : []
13808
- })).filter((agent) => args?.publicOnly !== true || agent.isPublic);
13928
+ const userRecords = await queryBestRecords(thunkApi, "agent" /* AGENT */, limit);
13929
+ const favoritesMap = await fetchUserFavoriteAgentMap(thunkApi);
13930
+ const recordsMap = /* @__PURE__ */ new Map();
13931
+ for (const record of userRecords) {
13932
+ const key = record?.dbKey || record?.id || record?.publicKey;
13933
+ if (key) recordsMap.set(key, record);
13934
+ }
13935
+ for (const favKey of Object.keys(favoritesMap)) {
13936
+ const isAlreadyPresent = Array.from(recordsMap.values()).some(
13937
+ (record) => record?.dbKey === favKey || record?.id === favKey || record?.publicKey === favKey || `agent-pub-${record?.id}` === favKey
13938
+ );
13939
+ if (!isAlreadyPresent) {
13940
+ const favRecord = await readBestRecord(thunkApi, favKey).catch(() => null);
13941
+ if (favRecord) {
13942
+ const key = favRecord?.dbKey || favRecord?.id || favKey;
13943
+ recordsMap.set(key, favRecord);
13944
+ }
13945
+ }
13946
+ }
13947
+ const runtime = getRuntime2(thunkApi);
13948
+ const userId = runtime?.currentUserId ?? void 0;
13949
+ let agents = Array.from(recordsMap.values()).map(
13950
+ (record) => toSafeAgentSummary(record, { favoritesMap, userId })
13951
+ );
13952
+ if (args?.publicOnly === true) {
13953
+ agents = agents.filter((agent) => agent.isPublic);
13954
+ }
13955
+ agents = sortSafeAgentSummaries(agents);
13809
13956
  return {
13810
13957
  rawData: { success: true, total: agents.length, agents },
13811
13958
  displayData: jsonPreview({ total: agents.length, agents })
@@ -13950,7 +14097,7 @@ var readSkillDocFunctionSchema = {
13950
14097
  }
13951
14098
  };
13952
14099
  async function readSkillDocFunc(args, thunkApi) {
13953
- const { buildReadDocResult } = await import("./readDocTool-2NXDK32S.js");
14100
+ const { buildReadDocResult } = await import("./readDocTool-QHVGQHUJ.js");
13954
14101
  const id = args?.id ?? args?.doc ?? args?.docKey ?? args?.pageKey;
13955
14102
  if (typeof id !== "string" || !id.trim()) {
13956
14103
  throw new Error("readSkillDoc requires id or doc.");
@@ -18563,7 +18710,7 @@ var cloudflareCrawlStatusFunctionSchema = {
18563
18710
  async function cloudflareCrawlStatusFunc(args, thunkApi) {
18564
18711
  const { jobId, limit, status, cursor } = args;
18565
18712
  if (!jobId) throw new Error("\u5FC5\u987B\u63D0\u4F9B jobId");
18566
- const { getToolRequestContext: getToolRequestContext2 } = await import("./toolApiClient-C7P7YSE4.js");
18713
+ const { getToolRequestContext: getToolRequestContext2 } = await import("./toolApiClient-QI3YBNWB.js");
18567
18714
  const { baseUrl, token } = getToolRequestContext2(thunkApi);
18568
18715
  const params = new URLSearchParams();
18569
18716
  if (limit !== void 0) params.set("limit", String(limit));
@@ -19338,7 +19485,7 @@ var selectUserIdFromState = (state) => typeof state?.auth?.currentUser?.userId =
19338
19485
  var selectCurrentServerFromState = (state) => typeof state?.settings?.currentServer === "string" ? state.settings.currentServer : null;
19339
19486
  async function addImageContentToSpace(input) {
19340
19487
  const injectedAddContentAction = input.thunkApi?.extra?.addContentAction;
19341
- const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-UXY3GM53.js")).addContentAction;
19488
+ const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-PFIP76LT.js")).addContentAction;
19342
19489
  await addContentAction2(
19343
19490
  {
19344
19491
  spaceId: input.spaceId,
@@ -21327,7 +21474,7 @@ var startAgentRunFunctionSchema = {
21327
21474
  properties: {
21328
21475
  agentKey: {
21329
21476
  type: "string",
21330
- description: "\u8981\u542F\u52A8\u7684 Agent \u7684\u552F\u4E00 ID\uFF08dbKey\uFF0C\u683C\u5F0F\u5982 agent-xxx\uFF09\u3002"
21477
+ description: "\u8981\u542F\u52A8\u7684 Agent \u7684\u53EF\u8FD0\u884C dbKey\uFF08\u4F18\u5148\u4F7F\u7528 readAgent \u8FD4\u56DE\u7684 agentKey\uFF0C\u683C\u5F0F\u5982 agent-xxx\uFF09\u3002"
21331
21478
  },
21332
21479
  task: {
21333
21480
  type: "string",
@@ -22702,7 +22849,7 @@ var executeToolRun = createAsyncThunk(
22702
22849
  if (!executionInput) {
22703
22850
  throw new Error(`ToolRun ${id} has no input to execute with.`);
22704
22851
  }
22705
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-OQZ34KCU.js");
22852
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-I5VPDJHG.js");
22706
22853
  const { executor } = findToolExecutor2(run.toolName);
22707
22854
  toolRunStarted({
22708
22855
  id: run.id,
@@ -22726,7 +22873,7 @@ var executeToolRun = createAsyncThunk(
22726
22873
  const latestState = thunkApi.getState();
22727
22874
  const userId = latestState.auth?.currentUser?.userId;
22728
22875
  if (userId) {
22729
- const { fetchUserSpaceMemberships } = await import("./spaceSlice-HH633ZA4.js");
22876
+ const { fetchUserSpaceMemberships } = await import("./spaceSlice-OE57MB22.js");
22730
22877
  await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
22731
22878
  }
22732
22879
  }
@@ -25129,7 +25276,7 @@ async function updateDocFunc(args, thunkApi) {
25129
25276
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
25130
25277
  };
25131
25278
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
25132
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-65WO7U36.js");
25279
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-K7U47JYV.js");
25133
25280
  if (getDocState().pageKey === id) {
25134
25281
  applyExternalDocUpdate({
25135
25282
  slateData: finalSlateData,
@@ -25154,7 +25301,7 @@ async function updateDocFunc(args, thunkApi) {
25154
25301
  // packages/ai/tools/updateUserPreferenceProfileTool.ts
25155
25302
  async function dispatchSetSettings(thunkApi, changes) {
25156
25303
  const injectedSetSettings = thunkApi?.extra?.setSettings;
25157
- const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-UWZJYDOA.js")).setSettings;
25304
+ const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-PRRC6IJ7.js")).setSettings;
25158
25305
  await thunkApi.dispatch(setSettings(changes)).unwrap();
25159
25306
  }
25160
25307
  var updateUserPreferenceProfileFunctionSchema = {
@@ -26556,7 +26703,7 @@ var baseToolDefinitions = [
26556
26703
  executor: listAgentsFunc,
26557
26704
  description: {
26558
26705
  name: "listAgents",
26559
- description: "List the current user's Nolo agents.",
26706
+ description: "List the current user's Nolo agents as safe summaries; use readAgent to resolve the runnable agentKey before delegation.",
26560
26707
  category: "Nolo workspace"
26561
26708
  },
26562
26709
  behavior: "data",
@@ -27361,6 +27508,8 @@ export {
27361
27508
  readXhsProfileFunc,
27362
27509
  TOOL_PACKS,
27363
27510
  expandEnabledPacks,
27511
+ expandEnabledPackPromptPatches,
27512
+ appendEnabledPackPromptPatches,
27364
27513
  FORCED_TOOLS,
27365
27514
  applyDisabledTools,
27366
27515
  addDefaultLightWebToolsForConfiguredAgents,
@@ -12,21 +12,12 @@ import {
12
12
  hasDirectOpenAiCompatibleProvider,
13
13
  resolveAgentRuntimeLocation,
14
14
  resolvePlatformAuthToken,
15
+ resolvePlatformChatCompletionsEndpoint,
15
16
  resolvePlatformServerUrl,
16
17
  resolveProviderTransportDecision,
18
+ toOpenAiCompatibleMessages,
17
19
  toResponsesTools
18
- } from "./chunk-AWY2AFHN.js";
19
-
20
- // packages/agent-runtime/openAiCompatibleMessages.ts
21
- function toOpenAiCompatibleMessages(messages) {
22
- return messages.map((message) => ({
23
- role: message.role,
24
- content: message.content ?? "",
25
- ...message.tool_call_id ? { tool_call_id: message.tool_call_id } : {},
26
- ...Array.isArray(message.tool_calls) ? { tool_calls: message.tool_calls } : {},
27
- ...message.reasoning_content ? { reasoning_content: message.reasoning_content } : {}
28
- }));
29
- }
20
+ } from "./chunk-TSKWE74T.js";
30
21
 
31
22
  // packages/agent-runtime/toolCallAccumulator.ts
32
23
  function accumulateToolCallDelta(accumulated, deltas) {
@@ -268,6 +259,16 @@ function buildPlatformChatCompletionRequest(args) {
268
259
  }
269
260
  };
270
261
  }
262
+ function resolveLegacyDeepSeekProxyChatFallback(args) {
263
+ if (args.status !== 400 || args.providerConfig.provider.toLowerCase() !== "deepseek" || !isResponsesEndpoint(args.providerConfig.endpoint) || !/UPSTREAM_400/.test(args.raw) || !/missing field [`\"]?(?:function|messages)/i.test(args.raw)) {
264
+ return void 0;
265
+ }
266
+ const endpoint = resolvePlatformChatCompletionsEndpoint("deepseek");
267
+ return endpoint ? {
268
+ ...args.providerConfig,
269
+ endpoint
270
+ } : void 0;
271
+ }
271
272
  function tryParseJson(raw) {
272
273
  try {
273
274
  return JSON.parse(raw);
@@ -373,11 +374,11 @@ export {
373
374
  throwIfChatCompletionStreamFailed,
374
375
  applyChatCompletionDelta,
375
376
  flushChatCompletionStream,
376
- toOpenAiCompatibleMessages,
377
377
  readSseFrames,
378
378
  readSseDataValues,
379
379
  resolvePlatformChatProviderConfig,
380
380
  buildPlatformChatCompletionRequest,
381
+ resolveLegacyDeepSeekProxyChatFallback,
381
382
  parsePlatformChatCompletionData,
382
383
  parsePlatformChatCompletionResponse,
383
384
  canUsePlatformChatProvider2 as canUsePlatformChatProvider,
@@ -1,32 +1,33 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-ZAUDEKML.js";
3
+ } from "./chunk-DW75SYWV.js";
4
4
  import "./chunk-V2J635L5.js";
5
5
  import "./chunk-MRC4Q34M.js";
6
6
  import "./chunk-MTU75CZ2.js";
7
7
  import "./chunk-CWMSB67P.js";
8
- import "./chunk-4VA3UQRF.js";
9
- import "./chunk-LTH6AVG7.js";
8
+ import "./chunk-KRMH46UV.js";
9
+ import "./chunk-XDXO65DS.js";
10
10
  import "./chunk-Z4NR32XR.js";
11
11
  import "./chunk-M76ECQRD.js";
12
- import "./chunk-UBSKX3LP.js";
13
- import "./chunk-Y5GCAMGP.js";
14
- import "./chunk-SOTZ6RDN.js";
15
- import "./chunk-BFDWXLFF.js";
16
- import "./chunk-UAD2WT54.js";
17
- import {
18
- write
19
- } from "./chunk-L3KWEH3V.js";
20
- import "./chunk-AZPCASRE.js";
21
- import "./chunk-RBCENBG7.js";
22
- import "./chunk-JTINRTBT.js";
23
- import "./chunk-5MMAK75Q.js";
24
- import "./chunk-AOKWJZ5N.js";
25
- import "./chunk-5CS33IBL.js";
12
+ import "./chunk-GVQT3FIB.js";
13
+ import "./chunk-S3UTETIC.js";
14
+ import "./chunk-PDL2AV3E.js";
26
15
  import "./chunk-JZPBVBIY.js";
27
16
  import "./chunk-BYXBJQAS.js";
17
+ import "./chunk-DFFIZ25G.js";
18
+ import "./chunk-3ASDTTEI.js";
19
+ import "./chunk-HNMXYYJR.js";
20
+ import "./chunk-SOTZ6RDN.js";
21
+ import "./chunk-DWLEOOGR.js";
22
+ import "./chunk-IKXL2HZ3.js";
23
+ import "./chunk-524BDL33.js";
24
+ import "./chunk-UZZCXRHF.js";
25
+ import "./chunk-Y5GCAMGP.js";
28
26
  import "./chunk-KX6YBIHG.js";
29
- import "./chunk-RBCNBU2A.js";
27
+ import "./chunk-XGMCGPEA.js";
28
+ import {
29
+ write
30
+ } from "./chunk-KPFGD3YA.js";
30
31
  import {
31
32
  buildAgentAutomationOwnerIndexValue,
32
33
  createAgentAutomationKey,
@@ -34,22 +35,19 @@ import {
34
35
  } from "./chunk-O4BU24WZ.js";
35
36
  import "./chunk-I42VC5KR.js";
36
37
  import "./chunk-WWC7I6TA.js";
37
- import "./chunk-DFFIZ25G.js";
38
- import "./chunk-3ASDTTEI.js";
38
+ import "./chunk-WPHL6ALY.js";
39
39
  import "./chunk-QSJ3HFEF.js";
40
- import "./chunk-DWLEOOGR.js";
41
- import "./chunk-HNMXYYJR.js";
42
- import "./chunk-VBKJTOAW.js";
40
+ import "./chunk-XHQWJUW4.js";
43
41
  import {
44
42
  selectIdentityUserId
45
- } from "./chunk-DVRHHFEA.js";
43
+ } from "./chunk-TSUJOM6N.js";
46
44
  import "./chunk-OOSFSFMA.js";
47
45
  import "./chunk-GBRG75BQ.js";
46
+ import "./chunk-KUG52IAP.js";
48
47
  import {
49
48
  asTrimmedString
50
49
  } from "./chunk-3EUW3WEO.js";
51
50
  import "./chunk-U6VC4MU4.js";
52
- import "./chunk-KUG52IAP.js";
53
51
  import "./chunk-LCBAMY2M.js";
54
52
  import "./chunk-4SN6J65J.js";
55
53
  import "./chunk-CF7PE763.js";