nolo-cli 0.1.44 → 0.1.46

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 (613) hide show
  1. package/README.md +258 -102
  2. package/index.js +73433 -0
  3. package/package.json +10 -633
  4. package/LICENSE +0 -21
  5. package/agent-runtime/agentConfigOptions.ts +0 -12
  6. package/agent-runtime/agentRecordConfig.ts +0 -101
  7. package/agent-runtime/agentRecordKeys.ts +0 -14
  8. package/agent-runtime/agentThread.ts +0 -222
  9. package/agent-runtime/agentThreadAdmission.ts +0 -74
  10. package/agent-runtime/dialogMessageRecord.ts +0 -16
  11. package/agent-runtime/dialogWritePlan.ts +0 -211
  12. package/agent-runtime/hostAdapter.ts +0 -81
  13. package/agent-runtime/hybridRecordStore.ts +0 -170
  14. package/agent-runtime/index.ts +0 -184
  15. package/agent-runtime/localDialogRead.ts +0 -23
  16. package/agent-runtime/localLoop.ts +0 -334
  17. package/agent-runtime/localToolPolicy.ts +0 -179
  18. package/agent-runtime/localWorkspaceTools.ts +0 -2310
  19. package/agent-runtime/noloWorkspaceTools.ts +0 -390
  20. package/agent-runtime/openAiCompatibleProvider.ts +0 -74
  21. package/agent-runtime/openAiCompatibleProviderConfig.ts +0 -27
  22. package/agent-runtime/platformChatProvider.ts +0 -229
  23. package/agent-runtime/providerResolution.ts +0 -302
  24. package/agent-runtime/runtimeDecision.ts +0 -70
  25. package/agent-runtime/runtimeFacts.ts +0 -40
  26. package/agent-runtime/runtimeToolPolicy.ts +0 -191
  27. package/agent-runtime/runtimeToolSurface.ts +0 -199
  28. package/agent-runtime/shellCommandPolicy.ts +0 -120
  29. package/agent-runtime/types.ts +0 -137
  30. package/agentAliases.ts +0 -110
  31. package/agentCommandSupport.ts +0 -81
  32. package/agentInternalCommandEntries.ts +0 -44
  33. package/agentListCommands.ts +0 -185
  34. package/agentListHelpers.ts +0 -242
  35. package/agentMachineCommands.ts +0 -403
  36. package/agentPullCommand.ts +0 -142
  37. package/agentRecordCommands.ts +0 -226
  38. package/agentRecordHelpers.ts +0 -571
  39. package/agentRunCommand.ts +0 -556
  40. package/agentRuntimeCommands.ts +0 -7
  41. package/agentRuntimeLocal.ts +0 -45
  42. package/ai/agent/_executeModel.ts +0 -146
  43. package/ai/agent/agentSlice.ts +0 -557
  44. package/ai/agent/appWorkingMemory.ts +0 -126
  45. package/ai/agent/buildEditingContext.ts +0 -378
  46. package/ai/agent/buildSystemPrompt.ts +0 -599
  47. package/ai/agent/canvasEditingContext.ts +0 -49
  48. package/ai/agent/cleanAgentMessages.ts +0 -140
  49. package/ai/agent/cliChatClient.ts +0 -153
  50. package/ai/agent/cliExecutor.ts +0 -1465
  51. package/ai/agent/cliPrompt.ts +0 -10
  52. package/ai/agent/contextCompiler.ts +0 -107
  53. package/ai/agent/contextLayerContract.ts +0 -44
  54. package/ai/agent/createAgentSchema.ts +0 -272
  55. package/ai/agent/currentTimeContext.ts +0 -65
  56. package/ai/agent/executeToolCall.ts +0 -58
  57. package/ai/agent/fetchAgentContexts.ts +0 -42
  58. package/ai/agent/generatePrompt.ts +0 -3
  59. package/ai/agent/getFullChatContextKeys.ts +0 -168
  60. package/ai/agent/guidedCreation/capabilities.ts +0 -84
  61. package/ai/agent/guidedCreation/types.ts +0 -38
  62. package/ai/agent/isLiveAudioOnlyAgent.ts +0 -26
  63. package/ai/agent/liveAudioModel.ts +0 -2
  64. package/ai/agent/machineRunPermissions.ts +0 -113
  65. package/ai/agent/pageBuilderHandoffRules.ts +0 -75
  66. package/ai/agent/persistMessageWithFixedId.ts +0 -37
  67. package/ai/agent/planSlice.ts +0 -259
  68. package/ai/agent/referenceUtils.ts +0 -229
  69. package/ai/agent/runAgentBackground.ts +0 -310
  70. package/ai/agent/runAgentClientLoop.ts +0 -164
  71. package/ai/agent/runtimeGuidance.ts +0 -116
  72. package/ai/agent/serverOrigin.ts +0 -7
  73. package/ai/agent/startParallelAgentStreams.ts +0 -424
  74. package/ai/agent/startupProtocol.ts +0 -53
  75. package/ai/agent/streamAgentChatTurn.ts +0 -2135
  76. package/ai/agent/streamAgentChatTurnUtils.ts +0 -923
  77. package/ai/agent/toolFailureGuard.ts +0 -99
  78. package/ai/agent/types.ts +0 -73
  79. package/ai/agent/utils/imageOutput.ts +0 -37
  80. package/ai/agent/utils/publicImageAgentMode.ts +0 -26
  81. package/ai/agent.ts +0 -2
  82. package/ai/ai.locale.ts +0 -1165
  83. package/ai/chat/accumulateToolCallChunks.ts +0 -126
  84. package/ai/chat/fetchUtils.ts +0 -143
  85. package/ai/chat/inlineImageUrlsForCustomProvider.ts +0 -122
  86. package/ai/chat/parseApiError.ts +0 -67
  87. package/ai/chat/parseMultilineSSE.ts +0 -95
  88. package/ai/chat/sendOpenAICompletionsRequest.ts +0 -921
  89. package/ai/chat/sendOpenAIResponseRequest.ts +0 -720
  90. package/ai/chat/serverProxyRetry.ts +0 -102
  91. package/ai/chat/shouldUseServerProxy.ts +0 -18
  92. package/ai/chat/streamRetry.ts +0 -46
  93. package/ai/chat/updateTotalUsage.ts +0 -89
  94. package/ai/context/buildReferenceContext.ts +0 -437
  95. package/ai/context/retention.ts +0 -165
  96. package/ai/context/tokenUtils.ts +0 -78
  97. package/ai/index.ts +0 -1
  98. package/ai/llm/agentCapabilities.ts +0 -74
  99. package/ai/llm/deepinfra.ts +0 -79
  100. package/ai/llm/fireworks.ts +0 -68
  101. package/ai/llm/generateRequestBody.ts +0 -165
  102. package/ai/llm/getModelContextWindow.ts +0 -93
  103. package/ai/llm/getPricing.ts +0 -252
  104. package/ai/llm/imagePricing.ts +0 -66
  105. package/ai/llm/isResponseAPIModel.ts +0 -13
  106. package/ai/llm/kimi.ts +0 -22
  107. package/ai/llm/mimo.ts +0 -99
  108. package/ai/llm/mistral.ts +0 -21
  109. package/ai/llm/models.ts +0 -45
  110. package/ai/llm/openrouterModels.ts +0 -31
  111. package/ai/llm/providers.ts +0 -313
  112. package/ai/llm/reasoningModels.ts +0 -27
  113. package/ai/llm/types.ts +0 -82
  114. package/ai/llm/usageRequestOptions.ts +0 -59
  115. package/ai/memory/policy.ts +0 -49
  116. package/ai/memory/queryShared.ts +0 -167
  117. package/ai/memory/recentRelationshipRecap.ts +0 -251
  118. package/ai/memory/remember.ts +0 -111
  119. package/ai/memory/scope.ts +0 -74
  120. package/ai/memory/store.ts +0 -20
  121. package/ai/memory/storeShared.ts +0 -76
  122. package/ai/memory/types.ts +0 -52
  123. package/ai/memory/understanding.ts +0 -341
  124. package/ai/memory/understandingGreeting.ts +0 -264
  125. package/ai/policy/personalizationDialog.ts +0 -333
  126. package/ai/policy/runtimePolicy.ts +0 -526
  127. package/ai/policy/selfUpdateFields.ts +0 -48
  128. package/ai/policy/types.ts +0 -64
  129. package/ai/skills/referenceRuntime.ts +0 -274
  130. package/ai/skills/skillDiagnostics.ts +0 -251
  131. package/ai/skills/skillDocBuilder.ts +0 -139
  132. package/ai/skills/skillDocProtocol.ts +0 -526
  133. package/ai/skills/skillSummaryMarker.ts +0 -26
  134. package/ai/token/calculatePrice.ts +0 -576
  135. package/ai/token/missingUsageEstimate.ts +0 -42
  136. package/ai/token/normalizeUsage.ts +0 -124
  137. package/ai/token/openaiImageGenerationUsage.ts +0 -56
  138. package/ai/token/prepareTokenUsageData.ts +0 -93
  139. package/ai/token/resolveBillingTarget.ts +0 -52
  140. package/ai/token/saveTokenRecord.ts +0 -53
  141. package/ai/token/types.ts +0 -103
  142. package/ai/tools/agent/agentTools.ts +0 -214
  143. package/ai/tools/agent/agentUpdateShared.ts +0 -311
  144. package/ai/tools/agent/callAgentTool.ts +0 -139
  145. package/ai/tools/agent/createAgentTool.ts +0 -512
  146. package/ai/tools/agent/createDialogTool.ts +0 -69
  147. package/ai/tools/agent/createSkillAgentTool.ts +0 -62
  148. package/ai/tools/agent/parallelBudget.ts +0 -221
  149. package/ai/tools/agent/prepareAgentDraftTool.ts +0 -159
  150. package/ai/tools/agent/presets/appBuilderPreset.ts +0 -154
  151. package/ai/tools/agent/runLlmTool.ts +0 -96
  152. package/ai/tools/agent/runStreamingAgentTool.ts +0 -73
  153. package/ai/tools/agent/skillAgentArgs.ts +0 -106
  154. package/ai/tools/agent/startAgentDialogTool.ts +0 -54
  155. package/ai/tools/agent/streamParallelAgentsTool.ts +0 -123
  156. package/ai/tools/agent/updateAgentTool.ts +0 -96
  157. package/ai/tools/agent/updateSelfTool.ts +0 -113
  158. package/ai/tools/amazonProductScraperTool.ts +0 -86
  159. package/ai/tools/apifyActorClient.ts +0 -45
  160. package/ai/tools/appEditGuard.ts +0 -372
  161. package/ai/tools/appReadSnapshot.ts +0 -153
  162. package/ai/tools/appTools.ts +0 -1549
  163. package/ai/tools/applyEditTool.ts +0 -259
  164. package/ai/tools/applyLineEditsTool.ts +0 -315
  165. package/ai/tools/browserTools/click.ts +0 -33
  166. package/ai/tools/browserTools/closeSession.ts +0 -29
  167. package/ai/tools/browserTools/common.ts +0 -27
  168. package/ai/tools/browserTools/openSession.ts +0 -48
  169. package/ai/tools/browserTools/readContent.ts +0 -38
  170. package/ai/tools/browserTools/selectOption.ts +0 -46
  171. package/ai/tools/browserTools/typeText.ts +0 -42
  172. package/ai/tools/category/createCategoryTool.ts +0 -66
  173. package/ai/tools/category/queryContentsByCategoryTool.ts +0 -69
  174. package/ai/tools/category/updateContentCategoryTool.ts +0 -75
  175. package/ai/tools/cfBrowserTools.ts +0 -319
  176. package/ai/tools/cfSpeechToTextTool.ts +0 -49
  177. package/ai/tools/checkEnvTool.ts +0 -102
  178. package/ai/tools/cloudflareCrawlTool.ts +0 -289
  179. package/ai/tools/codeSearchTool.ts +0 -123
  180. package/ai/tools/codeTools.ts +0 -101
  181. package/ai/tools/convertMarxistsBookTool.ts +0 -103
  182. package/ai/tools/createDocTool.ts +0 -132
  183. package/ai/tools/createSkillDocTool.ts +0 -155
  184. package/ai/tools/createWorkflowTool.ts +0 -154
  185. package/ai/tools/delayTool.ts +0 -31
  186. package/ai/tools/deleteSpacesTool.ts +0 -325
  187. package/ai/tools/deleteSpacesToolModel.ts +0 -159
  188. package/ai/tools/devReloadUtils.ts +0 -29
  189. package/ai/tools/dialogMessageSearch.ts +0 -137
  190. package/ai/tools/doctorSkillTool.ts +0 -72
  191. package/ai/tools/ecommerceScraperTool.ts +0 -86
  192. package/ai/tools/emailTools.ts +0 -549
  193. package/ai/tools/evalSkillTool.ts +0 -92
  194. package/ai/tools/exaSearchTool.ts +0 -63
  195. package/ai/tools/execShellTool.ts +0 -266
  196. package/ai/tools/executeSqlTool.ts +0 -192
  197. package/ai/tools/fetchWebpageSupport.ts +0 -333
  198. package/ai/tools/fetchWebpageTool.ts +0 -97
  199. package/ai/tools/geminiImagePreviewTool.ts +0 -386
  200. package/ai/tools/generateDocxTool.ts +0 -215
  201. package/ai/tools/googleSearchScraperTool.ts +0 -106
  202. package/ai/tools/importDataTool.ts +0 -133
  203. package/ai/tools/importSkillTool.ts +0 -162
  204. package/ai/tools/index.ts +0 -2290
  205. package/ai/tools/jdProductScraperTool.ts +0 -821
  206. package/ai/tools/listUserSpacesTool.ts +0 -113
  207. package/ai/tools/localFilesTool.ts +0 -276
  208. package/ai/tools/marxistsOfflineBook.ts +0 -253
  209. package/ai/tools/modelUsageTools.ts +0 -206
  210. package/ai/tools/noloWorkspaceReadTools.ts +0 -467
  211. package/ai/tools/olmOcrTool.ts +0 -33
  212. package/ai/tools/openaiImageTool.ts +0 -267
  213. package/ai/tools/prepareTools.ts +0 -193
  214. package/ai/tools/readDocTool.ts +0 -88
  215. package/ai/tools/readFileTool.ts +0 -214
  216. package/ai/tools/readTool.ts +0 -194
  217. package/ai/tools/readXPostTool.ts +0 -229
  218. package/ai/tools/readXhsProfileTool.ts +0 -638
  219. package/ai/tools/rememberMemoryTool.ts +0 -84
  220. package/ai/tools/remotionVideoTool.ts +0 -151
  221. package/ai/tools/searchDialogMessagesTool.ts +0 -222
  222. package/ai/tools/searchWorkspaceTool.ts +0 -259
  223. package/ai/tools/skillFollowup.ts +0 -86
  224. package/ai/tools/surfWeatherTool.ts +0 -169
  225. package/ai/tools/table/addTableRowTool.ts +0 -217
  226. package/ai/tools/table/createTableTool.ts +0 -326
  227. package/ai/tools/table/rowTools.ts +0 -386
  228. package/ai/tools/table/schemaTools.ts +0 -244
  229. package/ai/tools/table/shareTableTool.ts +0 -148
  230. package/ai/tools/table/toolShared.ts +0 -129
  231. package/ai/tools/taobaoTmallProductScraperTool.ts +0 -49
  232. package/ai/tools/toolApiClient.ts +0 -279
  233. package/ai/tools/toolNameAliases.ts +0 -70
  234. package/ai/tools/toolPacks.ts +0 -19
  235. package/ai/tools/toolResultError.ts +0 -42
  236. package/ai/tools/toolRunSlice.ts +0 -303
  237. package/ai/tools/toolSchemaCompatibility.ts +0 -53
  238. package/ai/tools/uiAskChoiceTool.ts +0 -104
  239. package/ai/tools/updateContentTitleTool.ts +0 -84
  240. package/ai/tools/updateDocTool.ts +0 -105
  241. package/ai/tools/updateUserPreferenceProfileTool.ts +0 -153
  242. package/ai/tools/wereadGatewayTool.ts +0 -152
  243. package/ai/tools/whisperTool.ts +0 -76
  244. package/ai/tools/writeFileTool.ts +0 -213
  245. package/ai/tools/youtubeScraperTool.ts +0 -116
  246. package/ai/tools/ziweiChartTool.ts +0 -678
  247. package/ai/types.ts +0 -58
  248. package/ai/workflow/workflowExecutor.ts +0 -323
  249. package/ai/workflow/workflowSlice.ts +0 -73
  250. package/ai/workflow/workflowTypes.ts +0 -106
  251. package/app/actions/syncAppRecord.ts +0 -73
  252. package/app/constants/animationSets.ts +0 -21
  253. package/app/constants/appEditor.ts +0 -99
  254. package/app/favorite/deletedFavoriteProjection.ts +0 -31
  255. package/app/favorite/favoriteSlice.ts +0 -690
  256. package/app/favorite/type.ts +0 -43
  257. package/app/hooks/deleteDbKey.ts +0 -254
  258. package/app/i18n/client.ts +0 -13
  259. package/app/i18n/i18n.base.ts +0 -14
  260. package/app/i18n/i18n.config.ts +0 -77
  261. package/app/i18n/index.ts +0 -15
  262. package/app/i18n/mapLanguage.ts +0 -11
  263. package/app/i18n/translations/appBuilder.locale.ts +0 -453
  264. package/app/i18n/translations/error.locale.ts +0 -246
  265. package/app/i18n/translations/interface.locale.ts +0 -2206
  266. package/app/i18n/translations/pricing.locale.ts +0 -397
  267. package/app/i18n/translations/privacy.locale.ts +0 -168
  268. package/app/i18n/translations/seo.locale.ts +0 -129
  269. package/app/i18n/translations/terms.locale.ts +0 -124
  270. package/app/i18n/types.ts +0 -6
  271. package/app/notifications/model.ts +0 -77
  272. package/app/notifications/notificationSlice.ts +0 -141
  273. package/app/reducer.ts +0 -36
  274. package/app/settings/dbActionThunks.ts +0 -34
  275. package/app/settings/defaultSpacePreference.ts +0 -87
  276. package/app/settings/settingSlice.tsx +0 -1212
  277. package/app/settings/settingsRecord.ts +0 -8
  278. package/app/stateViews/runtime.ts +0 -90
  279. package/app/store.ts +0 -55
  280. package/app/theme/colors.ts +0 -280
  281. package/app/theme/fontPreference.ts +0 -77
  282. package/app/theme/theme.config.ts +0 -120
  283. package/app/theme/themeModeBootstrap.ts +0 -123
  284. package/app/types/appSummary.ts +0 -118
  285. package/app/types.ts +0 -358
  286. package/app/utils/appKeys.ts +0 -55
  287. package/app/utils/async.ts +0 -28
  288. package/app/utils/desktopAgentRuntimeTurnClient.ts +0 -75
  289. package/app/utils/env.ts +0 -17
  290. package/app/utils/fileUtils.ts +0 -229
  291. package/app/utils/imageUtils.ts +0 -274
  292. package/app/utils/myContentItems.ts +0 -317
  293. package/app/utils/retryAfter.ts +0 -36
  294. package/app/utils/retryFetch.ts +0 -61
  295. package/app/utils/toast.ts +0 -3
  296. package/auth/action/signUpAction.ts +0 -227
  297. package/auth/adminPermissions.ts +0 -78
  298. package/auth/authSlice.ts +0 -531
  299. package/auth/client/loginRequest.ts +0 -14
  300. package/auth/resetAuthScopedClientState.ts +0 -27
  301. package/auth/routes.ts +0 -183
  302. package/auth/token.ts +0 -63
  303. package/auth/types.ts +0 -40
  304. package/authCommands.ts +0 -230
  305. package/chat/chat.locale.ts +0 -817
  306. package/chat/dialog/actions/addCybotAction.ts +0 -52
  307. package/chat/dialog/actions/addReferenceKeysAction.ts +0 -62
  308. package/chat/dialog/actions/builtinDialogLlm.ts +0 -35
  309. package/chat/dialog/actions/cleanupCliSession.ts +0 -40
  310. package/chat/dialog/actions/createDialogAction.ts +0 -379
  311. package/chat/dialog/actions/createScheduledTaskAction.ts +0 -78
  312. package/chat/dialog/actions/handleSendMessageAction.ts +0 -202
  313. package/chat/dialog/actions/handleSendMessageResolver.ts +0 -27
  314. package/chat/dialog/actions/removeCybotAction.ts +0 -6
  315. package/chat/dialog/actions/removeDialogAgentAction.ts +0 -44
  316. package/chat/dialog/actions/replacePrimaryCybotAction.ts +0 -6
  317. package/chat/dialog/actions/setPrimaryDialogAgentAction.ts +0 -52
  318. package/chat/dialog/actions/updateDialogSummaryAction.ts +0 -430
  319. package/chat/dialog/actions/updateDialogTitleAction.ts +0 -151
  320. package/chat/dialog/actions/updateDialogTitlePolicy.ts +0 -30
  321. package/chat/dialog/actions/updateTokensAction.ts +0 -233
  322. package/chat/dialog/dialogAgents.ts +0 -72
  323. package/chat/dialog/dialogAttachmentCleanup.ts +0 -135
  324. package/chat/dialog/dialogSlice.ts +0 -985
  325. package/chat/dialog/dialogTitle.ts +0 -81
  326. package/chat/dialog/dialogTokenStats.ts +0 -12
  327. package/chat/dialog/dialogUrl.ts +0 -6
  328. package/chat/dialog/goal.ts +0 -108
  329. package/chat/dialog/objectAssistantRegistry.ts +0 -286
  330. package/chat/dialog/schedule.ts +0 -17
  331. package/chat/messages/activityCompletion.ts +0 -97
  332. package/chat/messages/fetchAndCacheMessages.ts +0 -119
  333. package/chat/messages/fetchConvMsgs.ts +0 -51
  334. package/chat/messages/fetchMessages.ts +0 -84
  335. package/chat/messages/fileUrl.ts +0 -13
  336. package/chat/messages/imagePayloadPersistence.ts +0 -22
  337. package/chat/messages/messageAgent.ts +0 -8
  338. package/chat/messages/messageContent.ts +0 -203
  339. package/chat/messages/messageContract.ts +0 -88
  340. package/chat/messages/messageSlice.ts +0 -1386
  341. package/chat/messages/toolThunks.ts +0 -646
  342. package/chat/messages/types.ts +0 -192
  343. package/chat/messages/web/toolDisplayName.ts +0 -686
  344. package/cli/agentAliases.ts +0 -110
  345. package/cli/agentCommandSupport.ts +0 -81
  346. package/cli/agentInternalCommandEntries.ts +0 -44
  347. package/cli/agentListCommands.ts +0 -185
  348. package/cli/agentListHelpers.ts +0 -242
  349. package/cli/agentMachineCommands.ts +0 -403
  350. package/cli/agentPullCommand.ts +0 -142
  351. package/cli/agentRecordCommands.ts +0 -226
  352. package/cli/agentRecordHelpers.ts +0 -571
  353. package/cli/agentRunCommand.ts +0 -556
  354. package/cli/agentRuntimeLocal.ts +0 -45
  355. package/cli/authCommands.ts +0 -230
  356. package/cli/cliCommandAdapters.ts +0 -28
  357. package/cli/cliCommandDispatch.ts +0 -66
  358. package/cli/cliCommandFactories.ts +0 -66
  359. package/cli/cliCommandTypes.ts +0 -49
  360. package/cli/cliEnvHelpers.ts +0 -116
  361. package/cli/cliSpaceHelpers.ts +0 -39
  362. package/cli/client/agentConfigResolver.ts +0 -1
  363. package/cli/client/agentRun.ts +0 -795
  364. package/cli/client/compactDialog.ts +0 -222
  365. package/cli/client/hybridRecordStore.ts +0 -52
  366. package/cli/client/localAgentRecords.ts +0 -7
  367. package/cli/client/localDialogRecords.ts +0 -30
  368. package/cli/client/localProviderResolver.ts +0 -1
  369. package/cli/client/localRuntimeAdapter.ts +0 -1104
  370. package/cli/client/localToolPolicy.ts +0 -8
  371. package/cli/client/profileConfig.ts +0 -101
  372. package/cli/client/streamingOutput.ts +0 -38
  373. package/cli/commandRegistry.ts +0 -98
  374. package/cli/connectorRunArtifact.ts +0 -120
  375. package/cli/connectorWebSocketTarget.ts +0 -112
  376. package/cli/defaultServer.ts +0 -1
  377. package/cli/dialogAttachmentCleanup.ts +0 -151
  378. package/cli/dialogCommands.ts +0 -1120
  379. package/cli/dialogInternalCommandEntries.ts +0 -17
  380. package/cli/docCreateCommands.ts +0 -345
  381. package/cli/docInternalCommandEntries.ts +0 -11
  382. package/cli/docPageHelpers.ts +0 -80
  383. package/cli/docSkillHelpers.ts +0 -67
  384. package/cli/docSpaceHelpers.ts +0 -46
  385. package/cli/globalRecordOperations.ts +0 -258
  386. package/cli/internalCommandEntries.ts +0 -18
  387. package/cli/localRuntimeAuthority.ts +0 -182
  388. package/cli/localRuntimeDb.ts +0 -26
  389. package/cli/machineCommands.ts +0 -307
  390. package/cli/machineDaemonCommands.ts +0 -185
  391. package/cli/machineHeartbeatCommands.ts +0 -30
  392. package/cli/machineStatusCommands.ts +0 -95
  393. package/cli/machineWatchCommands.ts +0 -41
  394. package/cli/machineWsPromptMaterialization.ts +0 -89
  395. package/cli/machineWsRunDispatch.ts +0 -695
  396. package/cli/machineWsSession.ts +0 -213
  397. package/cli/memoryCommands.ts +0 -253
  398. package/cli/memoryInternalCommandEntries.ts +0 -9
  399. package/cli/offlineMarxistsAgentCommand.ts +0 -316
  400. package/cli/qoderUsageProbe.ts +0 -252
  401. package/cli/runtimeDoctorCommands.ts +0 -174
  402. package/cli/runtimeModeArgs.ts +0 -33
  403. package/cli/scriptCommandEntries.ts +0 -66
  404. package/cli/secretScan.ts +0 -31
  405. package/cli/systemInternalCommandEntries.ts +0 -65
  406. package/cli/tableCommands.ts +0 -453
  407. package/cli/tui/readlineWorkspace.ts +0 -210
  408. package/cli/tui/session.ts +0 -554
  409. package/cli/updateCommands.ts +0 -134
  410. package/cli/workflowInternalCommandEntries.ts +0 -10
  411. package/cliCommandAdapters.ts +0 -28
  412. package/cliCommandDispatch.ts +0 -66
  413. package/cliCommandFactories.ts +0 -66
  414. package/cliCommandTypes.ts +0 -49
  415. package/cliEnvHelpers.ts +0 -116
  416. package/cliSpaceHelpers.ts +0 -39
  417. package/client/agentConfigResolver.test.ts +0 -69
  418. package/client/agentConfigResolver.ts +0 -1
  419. package/client/agentRun.test.ts +0 -1344
  420. package/client/agentRun.ts +0 -795
  421. package/client/compactDialog.test.ts +0 -238
  422. package/client/compactDialog.ts +0 -222
  423. package/client/hybridRecordStore.test.ts +0 -157
  424. package/client/hybridRecordStore.ts +0 -52
  425. package/client/localAgentRecords.test.ts +0 -27
  426. package/client/localAgentRecords.ts +0 -7
  427. package/client/localDialogRecords.test.ts +0 -124
  428. package/client/localDialogRecords.ts +0 -30
  429. package/client/localProviderResolver.test.ts +0 -102
  430. package/client/localProviderResolver.ts +0 -1
  431. package/client/localRuntimeAdapter.test.ts +0 -2804
  432. package/client/localRuntimeAdapter.ts +0 -1104
  433. package/client/localRuntimeDryRun.test.ts +0 -135
  434. package/client/localToolPolicy.test.ts +0 -48
  435. package/client/localToolPolicy.ts +0 -8
  436. package/client/profileConfig.test.ts +0 -106
  437. package/client/profileConfig.ts +0 -101
  438. package/client/streamingOutput.test.ts +0 -22
  439. package/client/streamingOutput.ts +0 -38
  440. package/commandRegistry.ts +0 -98
  441. package/connector-experimental/capabilities.ts +0 -75
  442. package/connector-experimental/codexBinary.ts +0 -41
  443. package/connector-experimental/heartbeatLoop.ts +0 -22
  444. package/connector-experimental/machineInfo.ts +0 -46
  445. package/connector-experimental/protocol.ts +0 -54
  446. package/connectorRunArtifact.ts +0 -120
  447. package/connectorWebSocketTarget.ts +0 -112
  448. package/core/builtinAgents.ts +0 -209
  449. package/core/config.ts +0 -15
  450. package/core/crypto.ts +0 -51
  451. package/core/generateKeyPairFromSeedV1.ts +0 -15
  452. package/core/generateMainKey.ts +0 -22
  453. package/core/init.ts +0 -41
  454. package/core/localOrigins.ts +0 -8
  455. package/core/password.ts +0 -13
  456. package/core/prefix.ts +0 -23
  457. package/create/editor/transforms/fromMarkdown/index.ts +0 -260
  458. package/create/editor/transforms/fromMarkdown/inline.ts +0 -285
  459. package/create/editor/transforms/fromMarkdown/table.ts +0 -130
  460. package/create/editor/transforms/markdownToSlate.ts +0 -24
  461. package/create/editor/transforms/slateToRenderMarkdown.ts +0 -218
  462. package/create/editor/transforms/slateToSimplifiedMarkdown.ts +0 -224
  463. package/create/editor/transforms/slateToText.ts +0 -33
  464. package/create/editor/utils/slateUtils.ts +0 -233
  465. package/create/space/addSpaceAction.ts +0 -193
  466. package/create/space/category/categoryActions.ts +0 -427
  467. package/create/space/changeSpaceAction.ts +0 -36
  468. package/create/space/constants.ts +0 -8
  469. package/create/space/content/addContentAction.ts +0 -116
  470. package/create/space/content/contentThunks.ts +0 -90
  471. package/create/space/content/deleteContentFromSpaceAction.ts +0 -187
  472. package/create/space/content/deleteMultipleContentAction.ts +0 -112
  473. package/create/space/content/moveContentAction.ts +0 -285
  474. package/create/space/content/updateContentCategoryAction.ts +0 -154
  475. package/create/space/content/updateContentTitleAction.ts +0 -151
  476. package/create/space/content/uploadAndAddFileToSpaceAction.ts +0 -98
  477. package/create/space/contentKeyUtils.ts +0 -117
  478. package/create/space/deleteSpaceAction.ts +0 -276
  479. package/create/space/fetchSpaceAction.ts +0 -70
  480. package/create/space/fetchSpaceSidebarStateAction.ts +0 -26
  481. package/create/space/loadDefaultSpaceAction.ts +0 -57
  482. package/create/space/member/addMemberAction.ts +0 -79
  483. package/create/space/member/fetchUserSpaceMembershipsAction.ts +0 -386
  484. package/create/space/member/memberThunks.ts +0 -47
  485. package/create/space/member/removeMemberAction.ts +0 -67
  486. package/create/space/resolvePreferredSpaceId.ts +0 -113
  487. package/create/space/sidebarVisibleTypes.ts +0 -260
  488. package/create/space/space.locale.ts +0 -1087
  489. package/create/space/spaceAccess.ts +0 -182
  490. package/create/space/spaceCollapsedState.ts +0 -54
  491. package/create/space/spaceKeys.ts +0 -65
  492. package/create/space/spaceSlice.ts +0 -328
  493. package/create/space/spaceThunks.ts +0 -410
  494. package/create/space/types.ts +0 -27
  495. package/create/space/updateSpaceAction.ts +0 -107
  496. package/create/space/utils/permissions.ts +0 -47
  497. package/create/types.ts +0 -21
  498. package/database/actions/agentReadResolution.ts +0 -33
  499. package/database/actions/common.ts +0 -243
  500. package/database/actions/deleteFile.ts +0 -40
  501. package/database/actions/fileContent.ts +0 -125
  502. package/database/actions/patch.ts +0 -155
  503. package/database/actions/read.ts +0 -358
  504. package/database/actions/readAndWait.ts +0 -260
  505. package/database/actions/readRequestManager.ts +0 -120
  506. package/database/actions/readResolution.ts +0 -125
  507. package/database/actions/remove.ts +0 -94
  508. package/database/actions/replication.ts +0 -477
  509. package/database/actions/upload.ts +0 -186
  510. package/database/actions/upsert.ts +0 -56
  511. package/database/actions/write.ts +0 -146
  512. package/database/authority/ownerKey.ts +0 -80
  513. package/database/authority/recordAuthority.ts +0 -67
  514. package/database/authority/userAuthorityRegistry.ts +0 -54
  515. package/database/client/fetchUserData.ts +0 -61
  516. package/database/config.ts +0 -40
  517. package/database/dbActionThunks.ts +0 -1
  518. package/database/dbSlice.ts +0 -149
  519. package/database/fileRing.ts +0 -51
  520. package/database/fileStorage.ts +0 -232
  521. package/database/fileUrl.ts +0 -34
  522. package/database/keys.ts +0 -767
  523. package/database/queryPrefixes.ts +0 -14
  524. package/database/requests.ts +0 -443
  525. package/database/runtimeServerContext.ts +0 -54
  526. package/database/server/authorityStoreTypes.ts +0 -31
  527. package/database/server/cliAuthorityBrokerClient.ts +0 -227
  528. package/database/server/cliAuthorityBrokerServer.ts +0 -283
  529. package/database/server/cliAuthorityBrokerTypes.ts +0 -43
  530. package/database/server/cliAuthorityStoreDriver.ts +0 -98
  531. package/database/server/db.ts +0 -99
  532. package/database/server/dbPath.ts +0 -20
  533. package/database/server/ensureDbOpen.ts +0 -12
  534. package/database/server/legacyServerDb.ts +0 -58
  535. package/database/server/levelAuthorityStore.ts +0 -114
  536. package/database/server/memoryAuthorityStore.ts +0 -133
  537. package/database/server/serverStoreFactory.ts +0 -118
  538. package/database/tenantPlacement.ts +0 -57
  539. package/database/tombstones.ts +0 -52
  540. package/database/userDataMerge.ts +0 -95
  541. package/database/userPreferenceRegister.ts +0 -131
  542. package/database/utils/ulid.ts +0 -1
  543. package/defaultServer.ts +0 -1
  544. package/dialogAttachmentCleanup.ts +0 -151
  545. package/dialogCommands.ts +0 -1120
  546. package/dialogInternalCommandEntries.ts +0 -17
  547. package/docCreateCommands.ts +0 -345
  548. package/docInternalCommandEntries.ts +0 -11
  549. package/docPageHelpers.ts +0 -80
  550. package/docSkillHelpers.ts +0 -67
  551. package/docSpaceHelpers.ts +0 -46
  552. package/globalRecordOperations.ts +0 -258
  553. package/index.ts +0 -78
  554. package/integrations/anthropic/anthropicModels.ts +0 -47
  555. package/integrations/deepseek/models.ts +0 -37
  556. package/integrations/google/models.ts +0 -341
  557. package/integrations/openai/chatCompletionStreamMode.ts +0 -10
  558. package/integrations/openai/filterAndCleanMessages.ts +0 -284
  559. package/integrations/openai/flexTier.ts +0 -102
  560. package/integrations/openai/generateOpenAIRequestBody.ts +0 -271
  561. package/integrations/openai/generateResponseRequestBody.ts +0 -77
  562. package/integrations/openai/models.ts +0 -271
  563. package/integrations/openai/providerBodyCompatibility.ts +0 -23
  564. package/integrations/openai/responsesHelpers.ts +0 -297
  565. package/integrations/x-reader/types.ts +0 -109
  566. package/integrations/xai/models.ts +0 -13
  567. package/integrations/xhs-reader/redaction.ts +0 -68
  568. package/integrations/xhs-reader/types.ts +0 -277
  569. package/integrations/xhs-reader/url.ts +0 -80
  570. package/internalCommandEntries.ts +0 -18
  571. package/localRuntimeAuthority.ts +0 -182
  572. package/localRuntimeDb.ts +0 -26
  573. package/machineCommands.ts +0 -307
  574. package/machineDaemonCommands.ts +0 -185
  575. package/machineHeartbeatCommands.ts +0 -30
  576. package/machineStatusCommands.ts +0 -95
  577. package/machineWatchCommands.ts +0 -41
  578. package/machineWsPromptMaterialization.ts +0 -89
  579. package/machineWsRunDispatch.ts +0 -695
  580. package/machineWsSession.ts +0 -213
  581. package/memoryCommands.ts +0 -253
  582. package/memoryInternalCommandEntries.ts +0 -9
  583. package/offlineMarxistsAgentCommand.ts +0 -316
  584. package/qoderUsageProbe.ts +0 -252
  585. package/render/contentIcon/types.ts +0 -167
  586. package/render/page/createPageAction.ts +0 -183
  587. package/render/page/docSlice.ts +0 -495
  588. package/render/page/types.ts +0 -19
  589. package/render/table/activityColumns.ts +0 -6
  590. package/render/table/createTableAction.ts +0 -274
  591. package/render/table/deleteTableAction.ts +0 -193
  592. package/render/table/fetchAndCacheTableRows.ts +0 -174
  593. package/render/table/tableSlice.ts +0 -1167
  594. package/render/table/toolValueUtils.ts +0 -363
  595. package/render/table/types.ts +0 -262
  596. package/render/table/utils/tableSerialization.ts +0 -50
  597. package/runtimeDoctorCommands.ts +0 -174
  598. package/runtimeModeArgs.ts +0 -33
  599. package/scriptCommandEntries.ts +0 -66
  600. package/secretScan.ts +0 -31
  601. package/server/handlers/agentRun/types.ts +0 -105
  602. package/share/action.ts +0 -225
  603. package/share/helpers.ts +0 -302
  604. package/share/keys.ts +0 -243
  605. package/share/publicSharePolicy.ts +0 -27
  606. package/share/shareSlice.ts +0 -53
  607. package/share/types.ts +0 -100
  608. package/systemInternalCommandEntries.ts +0 -65
  609. package/tableCommands.ts +0 -453
  610. package/tui/readlineWorkspace.ts +0 -210
  611. package/tui/session.ts +0 -554
  612. package/updateCommands.ts +0 -134
  613. package/workflowInternalCommandEntries.ts +0 -10
@@ -1,289 +0,0 @@
1
- // packages/ai/tools/cloudflareCrawlTool.ts
2
- // Cloudflare Browser Rendering /crawl 工具
3
- // Docs: https://developers.cloudflare.com/browser-rendering/rest-api/crawl-endpoint/
4
-
5
- import { callToolApi } from "./toolApiClient";
6
- import { assertFetchableDocsUrl, discoverCanonicalDocsUrl } from "./fetchWebpageSupport";
7
-
8
- // ──────────────────────────────────────────────────────────
9
- // Schema
10
- // ──────────────────────────────────────────────────────────
11
- export const cloudflareCrawlFunctionSchema = {
12
- name: "cloudflareCrawl",
13
- description:
14
- "使用 Cloudflare Browser Rendering 的 /crawl 接口,从指定 URL 出发自动发现并爬取整个站点(或指定深度/页数)," +
15
- "支持 JS 渲染,返回 Markdown 格式内容,适合需要抓取多页且页面依赖 JavaScript 渲染的场景。" +
16
- "如果目标是单页静态内容,优先使用 fetchWebpage;此工具适合多页爬取或需要完整站点索引的任务。",
17
- parameters: {
18
- type: "object",
19
- properties: {
20
- url: {
21
- type: "string",
22
- description: "爬取起始 URL,必须是完整的 http/https 地址。",
23
- },
24
- limit: {
25
- type: "integer",
26
- description: "最多爬取的页面数量(默认 10,最大 100000)。建议先从小值开始测试。",
27
- default: 10,
28
- },
29
- depth: {
30
- type: "integer",
31
- description: "从起始 URL 开始的最大链接层深度(默认不限)。",
32
- },
33
- formats: {
34
- type: "array",
35
- items: { type: "string", enum: ["markdown", "html"] },
36
- description: "返回格式,支持 markdown(推荐)和 html,默认 [\"markdown\"]。",
37
- default: ["markdown"],
38
- },
39
- render: {
40
- type: "boolean",
41
- description:
42
- "是否启动无头浏览器执行 JavaScript(默认 true)。" +
43
- "静态网站可设为 false 以加快速度。",
44
- default: true,
45
- },
46
- source: {
47
- type: "string",
48
- enum: ["all", "sitemaps", "links"],
49
- description: "URL 发现来源:all(默认)、sitemaps 或 links。",
50
- },
51
- includeSubdomains: {
52
- type: "boolean",
53
- description: "是否跟踪子域名链接(默认 false)。",
54
- },
55
- includePatterns: {
56
- type: "array",
57
- items: { type: "string" },
58
- description: "只访问匹配这些通配符的 URL(* 匹配单段,** 匹配多段)。",
59
- },
60
- excludePatterns: {
61
- type: "array",
62
- items: { type: "string" },
63
- description: "跳过匹配这些通配符的 URL(优先级高于 includePatterns)。",
64
- },
65
- wait: {
66
- type: "boolean",
67
- description:
68
- "是否等待爬取完成后再返回结果(默认 true,服务端最多等 60s)。" +
69
- "设为 false 时立即返回 jobId,可用 cloudflareCrawlStatus 工具轮询结果。",
70
- default: true,
71
- },
72
- },
73
- required: ["url"],
74
- },
75
- };
76
-
77
- // ──────────────────────────────────────────────────────────
78
- // Types
79
- // ──────────────────────────────────────────────────────────
80
- interface CrawlRecord {
81
- url: string;
82
- status: string;
83
- markdown?: string;
84
- html?: string;
85
- metadata?: {
86
- status: number;
87
- title: string;
88
- url: string;
89
- };
90
- }
91
-
92
- interface CrawlResult {
93
- jobId: string;
94
- status?: string;
95
- total?: number;
96
- finished?: number;
97
- browserSecondsUsed?: number;
98
- records?: CrawlRecord[];
99
- cursor?: number;
100
- }
101
-
102
- // ──────────────────────────────────────────────────────────
103
- // Executor: 启动爬取(可选等待结果)
104
- // ──────────────────────────────────────────────────────────
105
- export async function cloudflareCrawlFunc(
106
- args: {
107
- url: string;
108
- limit?: number;
109
- depth?: number;
110
- formats?: string[];
111
- render?: boolean;
112
- source?: string;
113
- includeSubdomains?: boolean;
114
- includePatterns?: string[];
115
- excludePatterns?: string[];
116
- wait?: boolean;
117
- },
118
- thunkApi: any
119
- ): Promise<{ rawData: any; displayData: string }> {
120
- const {
121
- url,
122
- limit = 10,
123
- depth,
124
- formats = ["markdown"],
125
- render = true,
126
- source,
127
- includeSubdomains,
128
- includePatterns,
129
- excludePatterns,
130
- wait = true,
131
- } = args;
132
-
133
- if (!url || !url.startsWith("http")) {
134
- throw new Error("必须提供有效的 http/https URL");
135
- }
136
-
137
- const resolution = await discoverCanonicalDocsUrl(url);
138
- const targetUrl = resolution.resolvedUrl;
139
- if (targetUrl !== url) {
140
- await assertFetchableDocsUrl(targetUrl, fetch, url);
141
- }
142
- const normalizationNote =
143
- targetUrl !== url ? `\n🧭 文档地址已规范化: ${url} → ${targetUrl}` : "";
144
-
145
- const options: Record<string, any> = {};
146
- if (includeSubdomains !== undefined) options.includeSubdomains = includeSubdomains;
147
- if (includePatterns?.length) options.includePatterns = includePatterns;
148
- if (excludePatterns?.length) options.excludePatterns = excludePatterns;
149
-
150
- const body: Record<string, any> = { url: targetUrl, limit, formats, render, wait };
151
- if (depth !== undefined) body.depth = depth;
152
- if (source !== undefined) body.source = source;
153
- if (Object.keys(options).length > 0) body.options = options;
154
-
155
- const data = await callToolApi<CrawlResult>(
156
- thunkApi,
157
- "/api/cloudflare-crawl",
158
- body,
159
- { withAuth: true }
160
- );
161
-
162
- // 仅返回 jobId(未等待)
163
- if (!wait || data.status === "running") {
164
- const rawData = targetUrl === url ? data : { ...data, originalUrl: url, resolvedUrl: targetUrl };
165
- return {
166
- rawData,
167
- displayData:
168
- `🚀 爬取任务已启动 (jobId: ${data.jobId})\n目标: ${targetUrl}` +
169
- normalizationNote +
170
- `\n使用 cloudflareCrawlStatus 工具查询结果。`,
171
- };
172
- }
173
-
174
- // 已完成:格式化结果
175
- const records = data.records ?? [];
176
- const completedCount = records.filter((r) => r.status === "completed").length;
177
- const mdParts = records
178
- .filter((r) => r.status === "completed" && r.markdown)
179
- .map((r) => `## ${r.metadata?.title || r.url}\n> ${r.url}\n\n${r.markdown}`)
180
- .join("\n\n---\n\n");
181
-
182
- const rawData = {
183
- jobId: data.jobId,
184
- status: data.status,
185
- total: data.total,
186
- finished: data.finished,
187
- browserSecondsUsed: data.browserSecondsUsed,
188
- pages: records.map((r) => ({
189
- url: r.url,
190
- status: r.status,
191
- title: r.metadata?.title,
192
- content: r.markdown || r.html || "",
193
- })),
194
- ...(targetUrl === url ? {} : { originalUrl: url, resolvedUrl: targetUrl }),
195
- };
196
-
197
- const statusIcon = data.status === "completed" ? "✅" : "⚠️";
198
- const displayData =
199
- `${statusIcon} Cloudflare 爬取完成\n` +
200
- `- 目标: ${targetUrl}\n` +
201
- `- 状态: ${data.status}\n` +
202
- `- 已完成页面: ${completedCount} / ${data.total ?? "?"}\n` +
203
- `- 浏览器用时: ${data.browserSecondsUsed?.toFixed(1) ?? "?"}s` +
204
- normalizationNote +
205
- `\n\n` +
206
- (mdParts ? `**内容摘要(前 3 页):**\n\n${records.slice(0, 3).map((r) => `- [${r.metadata?.title || r.url}](${r.url})`).join("\n")}` : "无可用内容");
207
-
208
- return { rawData, displayData };
209
- }
210
-
211
- // ──────────────────────────────────────────────────────────
212
- // Schema: 查询已有任务状态
213
- // ──────────────────────────────────────────────────────────
214
- export const cloudflareCrawlStatusFunctionSchema = {
215
- name: "cloudflareCrawlStatus",
216
- description:
217
- "查询由 cloudflareCrawl 工具创建的爬取任务的当前状态和结果。" +
218
- "当 cloudflareCrawl 以 wait=false 模式启动时,使用此工具轮询结果。",
219
- parameters: {
220
- type: "object",
221
- properties: {
222
- jobId: {
223
- type: "string",
224
- description: "由 cloudflareCrawl 返回的任务 ID。",
225
- },
226
- limit: {
227
- type: "integer",
228
- description: "最多返回多少条记录(用于分页)。",
229
- },
230
- status: {
231
- type: "string",
232
- enum: ["queued", "completed", "disallowed", "skipped", "errored", "cancelled"],
233
- description: "按 URL 状态过滤结果。",
234
- },
235
- cursor: {
236
- type: "integer",
237
- description: "分页游标,从上一页响应的 cursor 字段获取。",
238
- },
239
- },
240
- required: ["jobId"],
241
- },
242
- };
243
-
244
- // ──────────────────────────────────────────────────────────
245
- // Executor: 查询任务状态
246
- // ──────────────────────────────────────────────────────────
247
- export async function cloudflareCrawlStatusFunc(
248
- args: { jobId: string; limit?: number; status?: string; cursor?: number },
249
- thunkApi: any
250
- ): Promise<{ rawData: any; displayData: string }> {
251
- const { jobId, limit, status, cursor } = args;
252
-
253
- if (!jobId) throw new Error("必须提供 jobId");
254
-
255
- // 通过 GET /api/cloudflare-crawl/:jobId 查询
256
- const { getToolRequestContext } = await import("./toolApiClient");
257
- const { baseUrl, token } = getToolRequestContext(thunkApi);
258
-
259
- const params = new URLSearchParams();
260
- if (limit !== undefined) params.set("limit", String(limit));
261
- if (status) params.set("status", status);
262
- if (cursor !== undefined) params.set("cursor", String(cursor));
263
- const qs = params.toString() ? `?${params}` : "";
264
-
265
- const headers: Record<string, string> = { "Content-Type": "application/json" };
266
- if (token) headers["Authorization"] = `Bearer ${token}`;
267
-
268
- const resp = await fetch(`${baseUrl}/api/cloudflare-crawl/${jobId}${qs}`, { headers });
269
- if (!resp.ok) {
270
- const err = await resp.json().catch(() => ({})) as any;
271
- throw new Error(`查询爬取任务失败: ${err?.error?.message ?? resp.status}`);
272
- }
273
-
274
- const data = await resp.json() as CrawlResult & { status: string };
275
-
276
- const isRunning = data.status === "running";
277
- const statusIcon = isRunning ? "🔄" : data.status === "completed" ? "✅" : "⚠️";
278
- const records = (data as any).records ?? [];
279
-
280
- return {
281
- rawData: data,
282
- displayData:
283
- `${statusIcon} 任务 ${jobId} 状态: ${data.status}\n` +
284
- `- 总页面: ${(data as any).total ?? "?"}, 已完成: ${(data as any).finished ?? "?"}\n` +
285
- (records.length > 0
286
- ? `\n已抓取页面:\n${records.slice(0, 5).map((r: CrawlRecord) => ` - ${r.metadata?.title || r.url} (${r.status})`).join("\n")}`
287
- : ""),
288
- };
289
- }
@@ -1,123 +0,0 @@
1
- import { buildToolRequestHeaders, getToolBaseUrl } from "./toolApiClient";
2
-
3
- export type CodeSearchArgs = {
4
- query?: string;
5
- path?: string;
6
- pathScope?: string;
7
- glob?: string;
8
- mode?: "content" | "files";
9
- maxResults?: number;
10
- maxFiles?: number;
11
- caseSensitive?: boolean;
12
- };
13
-
14
- export const codeSearchFunctionSchema = {
15
- name: "codeSearch",
16
- description: [
17
- "使用 ripgrep (rg) 在项目代码中搜索文本,或按 glob 列出文件。",
18
- "",
19
- "推荐场景:",
20
- "- mode=content:按关键词搜索代码内容,替代旧的 searchRepo。",
21
- "- mode=files:按路径范围和 glob 列出文件,替代旧的 listFiles。",
22
- "",
23
- "参数说明:",
24
- "- query:搜索文本;mode=content 时必填,mode=files 时可省略。",
25
- "- path/pathScope:限制搜索目录,例如 'packages/server'。",
26
- "- glob:可选文件匹配模式,例如 '**/*.ts'。",
27
- "- maxResults:最大返回数量;兼容旧参数 maxFiles。",
28
- "- caseSensitive:是否区分大小写,默认 false。",
29
- ].join("\n"),
30
- parameters: {
31
- type: "object",
32
- properties: {
33
- query: {
34
- type: "string",
35
- description: "可选:要搜索的文本。mode=content 时必须提供。",
36
- },
37
- path: {
38
- type: "string",
39
- description: "可选:限制搜索目录,例如 'packages/ai'。",
40
- },
41
- pathScope: {
42
- type: "string",
43
- description: "兼容旧参数:限制搜索目录,例如 'packages/ai'。",
44
- },
45
- glob: {
46
- type: "string",
47
- description: "可选:文件 glob,例如 '**/*.ts'。",
48
- },
49
- mode: {
50
- type: "string",
51
- enum: ["content", "files"],
52
- description: "搜索模式:content=搜内容,files=列文件。",
53
- },
54
- maxResults: {
55
- type: "number",
56
- description: "最大返回数量。兼容旧参数 maxFiles。",
57
- },
58
- maxFiles: {
59
- type: "number",
60
- description: "兼容旧参数:等价于 maxResults。",
61
- },
62
- caseSensitive: {
63
- type: "boolean",
64
- description: "是否区分大小写,默认 false。",
65
- },
66
- },
67
- },
68
- };
69
-
70
- export async function codeSearchFunc(
71
- args: CodeSearchArgs,
72
- thunkApi: any,
73
- context?: { signal?: AbortSignal; agentKey?: string },
74
- ): Promise<{ rawData: any; displayData?: string }> {
75
- const baseUrl = getToolBaseUrl(thunkApi);
76
- const apiUrl = `${baseUrl}/api/code-search`;
77
- const mode = args.mode ?? "content";
78
-
79
- const response = await fetch(apiUrl, {
80
- method: "POST",
81
- headers: buildToolRequestHeaders(thunkApi, {
82
- withAuth: true,
83
- agentKey: context?.agentKey,
84
- }),
85
- signal: context?.signal,
86
- body: JSON.stringify({
87
- query: args.query,
88
- path: args.path ?? args.pathScope,
89
- glob: args.glob,
90
- mode,
91
- maxResults: args.maxResults ?? args.maxFiles,
92
- caseSensitive: args.caseSensitive,
93
- }),
94
- });
95
-
96
- const responseText = await response.text();
97
- let data: any = null;
98
- try {
99
- data = responseText ? JSON.parse(responseText) : {};
100
- } catch {
101
- data = null;
102
- }
103
- if (!response.ok || data?.error) {
104
- throw new Error(
105
- data?.error ||
106
- `codeSearch 请求失败: ${response.status}${responseText ? `. 响应: ${responseText}` : ""}`
107
- );
108
- }
109
-
110
- if (mode === "files") {
111
- const files = Array.isArray(data.files) ? data.files : [];
112
- return {
113
- rawData: data,
114
- displayData: `📁 codeSearch 列出 ${files.length} 个文件${data.truncated ? "(已截断)" : ""}`,
115
- };
116
- }
117
-
118
- const hits = Array.isArray(data.hits) ? data.hits : [];
119
- return {
120
- rawData: data,
121
- displayData: `🔍 codeSearch 找到 ${hits.length} 条匹配${data.truncated ? "(已截断)" : ""}`,
122
- };
123
- }
@@ -1,101 +0,0 @@
1
- // 文件路径: packages/ai/tools/codeTools.ts
2
-
3
- import {
4
- readFileFunctionSchema,
5
- readFileFunc,
6
- readFilePreviewFunc,
7
- } from "./readFileTool";
8
- import {
9
- writeFileFunctionSchema,
10
- writeFileFunc,
11
- writeFilePreviewFunc,
12
- } from "./writeFileTool";
13
-
14
- import {
15
- codeSearchFunctionSchema,
16
- codeSearchFunc,
17
- } from "./codeSearchTool";
18
- import {
19
- applyEditFunctionSchema,
20
- applyEditFunc,
21
- } from "./applyEditTool";
22
- import {
23
- applyLineEditsFunctionSchema,
24
- applyLineEditsFunc,
25
- } from "./applyLineEditsTool";
26
-
27
-
28
- import type { ToolDefinition } from "./index";
29
-
30
- export const codeToolDefinitions: ToolDefinition[] = [
31
- {
32
- id: "readFile",
33
- schema: readFileFunctionSchema,
34
- executor: readFileFunc,
35
- previewExecutor: readFilePreviewFunc,
36
- description: {
37
- name: "readFile",
38
- description:
39
- "读取项目中的指定文本文件的完整内容,常用于在修改前先查看代码。",
40
- category: "代码 / 文件操作",
41
- },
42
- behavior: "data",
43
- uiGroup: "data",
44
- },
45
- {
46
- id: "writeFile",
47
- schema: writeFileFunctionSchema,
48
- executor: writeFileFunc,
49
- previewExecutor: writeFilePreviewFunc,
50
- description: {
51
- name: "writeFile",
52
- description:
53
- "在项目中创建或覆盖一个文件的完整内容,适合新建文件或整文件重写。",
54
- category: "代码编辑",
55
- },
56
- behavior: "action",
57
- cancelable: true,
58
- uiGroup: "data",
59
- },
60
- {
61
- id: "applyEdit",
62
- schema: applyEditFunctionSchema,
63
- executor: applyEditFunc,
64
- description: {
65
- name: "applyEdit",
66
- description:
67
- "基于精确文本片段执行局部代码修改,默认唯一匹配,适合作为首选编辑工具。",
68
- category: "代码编辑",
69
- },
70
- behavior: "action",
71
- cancelable: true,
72
- uiGroup: "data",
73
- },
74
-
75
- {
76
- id: "codeSearch",
77
- schema: codeSearchFunctionSchema,
78
- executor: codeSearchFunc,
79
- description: {
80
- name: "codeSearch",
81
- description: "基于 rg 搜索代码内容或列出文件,统一替代旧的 searchRepo/listFiles。",
82
- category: "代码分析",
83
- },
84
- behavior: "data",
85
- uiGroup: "data",
86
- },
87
- {
88
- id: "applyLineEdits",
89
- schema: applyLineEditsFunctionSchema,
90
- executor: applyLineEditsFunc,
91
- description: {
92
- name: "applyLineEdits",
93
- description:
94
- "对指定代码文件按行号执行精确的文本编辑操作,适合 applyEdit 不方便表达的局部修改。",
95
- category: "代码编辑",
96
- },
97
- behavior: "action",
98
- cancelable: true,
99
- uiGroup: "data",
100
- },
101
- ];
@@ -1,103 +0,0 @@
1
- import { convertMarxistsBookToOfflineHtml } from "./marxistsOfflineBook";
2
-
3
- export const convertMarxistsBookToOfflineHtmlFunctionSchema = {
4
- name: "convertMarxistsBookToOfflineHtml",
5
- description:
6
- "将 Marxists.org 中文旧式书籍页面转换成离线单 HTML。会从章节 URL 推导目录页,下载同目录章节、CSS 和背景图,保留原始排版并内嵌资源,适合 iPad/移动设备离线阅读。",
7
- parameters: {
8
- type: "object",
9
- properties: {
10
- startUrl: {
11
- type: "string",
12
- description:
13
- "任意一个 Marxists.org 中文书籍章节 URL,例如 https://www.marxists.org/chinese/fromm/1973/01.htm。",
14
- },
15
- encoding: {
16
- type: "string",
17
- description: "源站 HTML/CSS 编码,老中文页面通常是 gb2312。默认 gb2312。",
18
- default: "gb2312",
19
- },
20
- outputMode: {
21
- type: "string",
22
- enum: ["summary", "html"],
23
- description:
24
- "summary 只返回元数据和文件引用;html 同时返回完整 HTML 字符串。需要直接拿到文件内容时用 html。",
25
- default: "summary",
26
- },
27
- singleFileName: {
28
- type: "string",
29
- description:
30
- "生成文件建议名称,默认根据书名或 URL 生成;server-side agent 可用它作为保存文件名。",
31
- },
32
- maxPages: {
33
- type: "number",
34
- description: "最多允许抓取的同目录章节页数量,默认 80,防止误抓整个站点。",
35
- default: 80,
36
- },
37
- saveAsFile: {
38
- type: "boolean",
39
- description:
40
- "server-side agent 可设为 true,将 HTML 保存为 Nolo 文件并返回下载 URL;如果只需要 HTML 字符串,可设为 false。",
41
- default: true,
42
- },
43
- },
44
- required: ["startUrl"],
45
- },
46
- };
47
-
48
- export type ConvertMarxistsBookToolArgs = {
49
- startUrl: string;
50
- encoding?: string;
51
- outputMode?: "summary" | "html";
52
- singleFileName?: string;
53
- maxPages?: number;
54
- saveAsFile?: boolean;
55
- };
56
-
57
- export async function convertMarxistsBookToOfflineHtmlFunc(
58
- args: ConvertMarxistsBookToolArgs,
59
- ): Promise<{ rawData: Record<string, unknown>; displayData: string }> {
60
- const result = await convertMarxistsBookToOfflineHtml({
61
- startUrl: args.startUrl,
62
- encoding: args.encoding,
63
- maxPages: args.maxPages,
64
- });
65
-
66
- const rawData: Record<string, unknown> = {
67
- title: result.title,
68
- startUrl: result.startUrl,
69
- indexUrl: result.indexUrl,
70
- stylesheetUrl: result.stylesheetUrl,
71
- pages: result.pages,
72
- validation: result.validation,
73
- fileName: args.singleFileName,
74
- };
75
- if (args.outputMode === "html") {
76
- rawData.html = result.html;
77
- }
78
-
79
- return {
80
- rawData,
81
- displayData: formatMarxistsOfflineBookDisplayData({
82
- ...rawData,
83
- htmlIncluded: args.outputMode === "html",
84
- }),
85
- };
86
- }
87
-
88
- export function formatMarxistsOfflineBookDisplayData(data: Record<string, unknown>): string {
89
- const validation = (data.validation ?? {}) as any;
90
- const pages = Array.isArray(data.pages) ? data.pages : [];
91
- return [
92
- "✅ 已生成离线 HTML",
93
- `书名:${data.title || "未知"}`,
94
- `章节数:${validation.pageCount ?? pages.length}`,
95
- `大小:${validation.byteLength ?? "未知"} bytes`,
96
- `资源内嵌:${validation.hasEmbeddedAssets ? "是" : "否"}`,
97
- `残留网络 URL:${validation.hasNetworkUrls ? "是" : "否"}`,
98
- data.fileUrl ? `文件:${data.fileUrl}` : undefined,
99
- data.htmlIncluded ? "已在 rawData.html 返回完整 HTML。" : undefined,
100
- ]
101
- .filter(Boolean)
102
- .join("\n");
103
- }