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,42 +0,0 @@
1
- export class ToolResultError extends Error {
2
- code?: string;
3
- rawData?: unknown;
4
- displayData?: string;
5
- retryable?: boolean;
6
-
7
- constructor(
8
- message: string,
9
- options?: {
10
- code?: string;
11
- rawData?: unknown;
12
- displayData?: string;
13
- retryable?: boolean;
14
- }
15
- ) {
16
- super(message);
17
- this.name = "ToolResultError";
18
- this.code = options?.code;
19
- this.rawData = options?.rawData;
20
- this.displayData = options?.displayData;
21
- this.retryable = options?.retryable;
22
- }
23
- }
24
-
25
- export const getToolResultErrorData = (error: unknown) => {
26
- if (!error || typeof error !== "object") return null;
27
- const candidate = error as {
28
- rawData?: unknown;
29
- displayData?: string;
30
- code?: string;
31
- retryable?: boolean;
32
- message?: string;
33
- };
34
- return {
35
- rawData: candidate.rawData,
36
- displayData: candidate.displayData,
37
- code: candidate.code,
38
- retryable: candidate.retryable,
39
- message: candidate.message,
40
- };
41
- };
42
-
@@ -1,303 +0,0 @@
1
- // File: ai/tools/toolRunSlice.ts
2
- import {
3
- createSlice,
4
- createEntityAdapter,
5
- EntityState,
6
- PayloadAction,
7
- createAsyncThunk,
8
- createSelector,
9
- } from "@reduxjs/toolkit";
10
- import type { RootState } from "../../app/store";
11
- import type { ToolBehavior, ToolInteraction } from ".";
12
- import { getToolResultErrorData } from "./toolResultError";
13
-
14
- export type ToolRunStatus = "pending" | "running" | "succeeded" | "failed";
15
- export type ToolRunStepStatus = ToolRunStatus;
16
-
17
- export interface ToolRunStep {
18
- id: string;
19
- label: string;
20
- status: ToolRunStepStatus;
21
- detail?: string;
22
- }
23
-
24
- export interface ToolRun {
25
- id: string;
26
- messageId: string; // 这次工具调用属于哪条消息或步骤消息
27
- toolName: string;
28
- behavior?: ToolBehavior;
29
- inputSummary?: string;
30
- outputSummary?: string;
31
- steps?: ToolRunStep[];
32
- status: ToolRunStatus;
33
- error?: string;
34
- startedAt: number;
35
- finishedAt?: number;
36
-
37
- // 交互模式(从 ToolDefinition 抄过来)
38
- interaction?: ToolInteraction;
39
-
40
- // 保存本次调用的完整参数,后续确认或重放时会用到
41
- input?: any;
42
- }
43
-
44
- const toolRunAdapter = createEntityAdapter<ToolRun>({
45
- selectId: (run) => run.id,
46
- sortComparer: (a, b) => a.startedAt - b.startedAt,
47
- });
48
-
49
- export interface ToolRunSliceState {
50
- runs: EntityState<ToolRun>;
51
- }
52
-
53
- const initialState: ToolRunSliceState = {
54
- runs: toolRunAdapter.getInitialState(),
55
- };
56
-
57
- export const createToolRunId = () =>
58
- `toolrun_${Date.now().toString(36)}_${Math.random()
59
- .toString(36)
60
- .slice(2, 8)}`;
61
-
62
- const toolRunSlice = createSlice({
63
- name: "toolRun",
64
- initialState,
65
- reducers: {
66
- toolRunStarted: (
67
- state,
68
- action: PayloadAction<{
69
- id: string;
70
- messageId: string;
71
- toolName: string;
72
- behavior?: ToolBehavior;
73
- inputSummary?: string;
74
- startedAt?: number;
75
- interaction?: ToolInteraction;
76
- input?: any;
77
- }>
78
- ) => {
79
- const {
80
- id,
81
- messageId,
82
- toolName,
83
- behavior,
84
- inputSummary,
85
- startedAt,
86
- interaction,
87
- input,
88
- } = action.payload;
89
-
90
- // 每次开始(包括重试)都清空上一次的 error / 输出 / 结束时间
91
- toolRunAdapter.upsertOne(state.runs, {
92
- id,
93
- messageId,
94
- toolName,
95
- behavior,
96
- inputSummary,
97
- status: "running",
98
- startedAt: startedAt ?? Date.now(),
99
- interaction,
100
- input,
101
- error: undefined,
102
- finishedAt: undefined,
103
- outputSummary: undefined,
104
- steps: undefined,
105
- });
106
- },
107
-
108
- // 把某个 ToolRun 状态设为 pending(用于“预览但未执行”的阶段)
109
- toolRunSetPending: (
110
- state,
111
- action: PayloadAction<{
112
- id: string;
113
- }>
114
- ) => {
115
- const { id } = action.payload;
116
- toolRunAdapter.updateOne(state.runs, {
117
- id,
118
- changes: {
119
- status: "pending",
120
- },
121
- });
122
- },
123
-
124
- toolRunSucceeded: (
125
- state,
126
- action: PayloadAction<{
127
- id: string;
128
- outputSummary?: string;
129
- steps?: ToolRunStep[];
130
- finishedAt?: number;
131
- }>
132
- ) => {
133
- const { id, outputSummary, steps, finishedAt } = action.payload;
134
- toolRunAdapter.updateOne(state.runs, {
135
- id,
136
- changes: {
137
- status: "succeeded",
138
- outputSummary,
139
- ...(steps === undefined ? {} : { steps }),
140
- finishedAt: finishedAt ?? Date.now(),
141
- },
142
- });
143
- },
144
- toolRunUpdated: (
145
- state,
146
- action: PayloadAction<{
147
- id: string;
148
- outputSummary?: string;
149
- steps?: ToolRunStep[];
150
- }>
151
- ) => {
152
- const { id, outputSummary, steps } = action.payload;
153
- toolRunAdapter.updateOne(state.runs, {
154
- id,
155
- changes: {
156
- ...(outputSummary === undefined ? {} : { outputSummary }),
157
- ...(steps === undefined ? {} : { steps }),
158
- },
159
- });
160
- },
161
- toolRunFailed: (
162
- state,
163
- action: PayloadAction<{
164
- id: string;
165
- error: string;
166
- outputSummary?: string;
167
- steps?: ToolRunStep[];
168
- finishedAt?: number;
169
- }>
170
- ) => {
171
- const { id, error, outputSummary, steps, finishedAt } = action.payload;
172
- toolRunAdapter.updateOne(state.runs, {
173
- id,
174
- changes: {
175
- status: "failed",
176
- error,
177
- ...(outputSummary === undefined ? {} : { outputSummary }),
178
- ...(steps === undefined ? {} : { steps }),
179
- finishedAt: finishedAt ?? Date.now(),
180
- },
181
- });
182
- },
183
- resetToolRunsForMessage: (
184
- state,
185
- action: PayloadAction<{ messageId: string }>
186
- ) => {
187
- const { messageId } = action.payload;
188
- const all = state.runs.ids as string[];
189
- const toRemove = all.filter((id) => {
190
- const run = state.runs.entities[id];
191
- return run?.messageId === messageId;
192
- });
193
- toolRunAdapter.removeMany(state.runs, toRemove);
194
- },
195
- resetAllToolRuns: (state) => {
196
- toolRunAdapter.removeAll(state.runs);
197
- },
198
- },
199
- });
200
-
201
- export const {
202
- toolRunStarted,
203
- toolRunSetPending,
204
- toolRunSucceeded,
205
- toolRunUpdated,
206
- toolRunFailed,
207
- resetToolRunsForMessage,
208
- resetAllToolRuns,
209
- } = toolRunSlice.actions;
210
-
211
- export default toolRunSlice.reducer;
212
-
213
- // ===== selectors =====
214
- const selectors = toolRunAdapter.getSelectors<RootState>(
215
- (state) => state.toolRun.runs
216
- );
217
-
218
- export const selectAllToolRuns = selectors.selectAll;
219
-
220
- export const selectToolRunsByMessageId = createSelector(
221
- [selectors.selectAll, (_state: RootState, messageId: string) => messageId],
222
- (runs, messageId) => runs.filter((run) => run.messageId === messageId)
223
- );
224
-
225
- // 按 id 精确获取(导出给组件用)
226
- export const selectToolRunById = (
227
- state: RootState,
228
- id: string
229
- ): ToolRun | undefined => selectors.selectById(state, id);
230
-
231
- // ===== 通用执行 thunk:基于已有 ToolRun.input 再次执行工具(可作为重试) =====
232
- export const executeToolRun = createAsyncThunk(
233
- "toolRun/executeToolRun",
234
- async ({ id }: { id: string }, thunkApi) => {
235
- const state = thunkApi.getState() as RootState;
236
- const run = selectToolRunById(state, id);
237
-
238
- if (!run) {
239
- throw new Error(`ToolRun not found: ${id}`);
240
- }
241
- if (!run.input) {
242
- throw new Error(`ToolRun ${id} has no input to execute with.`);
243
- }
244
-
245
- const { findToolExecutor } = await import(".");
246
- const { executor } = findToolExecutor(run.toolName);
247
-
248
- // 点击按钮时,把状态重新置为 running,方便 UI 显示“执行中…”;这同时也清掉旧错误
249
- thunkApi.dispatch(
250
- toolRunStarted({
251
- id: run.id,
252
- messageId: run.messageId,
253
- toolName: run.toolName,
254
- behavior: run.behavior,
255
- inputSummary: run.inputSummary,
256
- startedAt: Date.now(),
257
- interaction: run.interaction,
258
- input: run.input,
259
- })
260
- );
261
-
262
- try {
263
- const result = await executor(run.input, thunkApi, {
264
- parentMessageId: run.messageId,
265
- });
266
-
267
- thunkApi.dispatch(
268
- toolRunSucceeded({
269
- id: run.id,
270
- outputSummary: result?.displayData || "",
271
- })
272
- );
273
-
274
- if (run.toolName === "deleteSpaces") {
275
- const latestState = thunkApi.getState() as RootState;
276
- const userId = latestState.auth?.currentUser?.userId;
277
- if (userId) {
278
- const { fetchUserSpaceMemberships } = await import("../../create/space/spaceSlice");
279
- await thunkApi.dispatch(fetchUserSpaceMemberships(userId) as any);
280
- }
281
- }
282
-
283
- return {
284
- id: run.id,
285
- rawData: result?.rawData,
286
- displayData: result?.displayData,
287
- };
288
- } catch (e: any) {
289
- const msg = e?.message || String(e);
290
- const structured = getToolResultErrorData(e);
291
- thunkApi.dispatch(
292
- toolRunFailed({
293
- id: run.id,
294
- error: msg,
295
- outputSummary:
296
- (typeof structured?.displayData === "string" && structured.displayData.trim()) ||
297
- undefined,
298
- })
299
- );
300
- throw e;
301
- }
302
- }
303
- );
@@ -1,53 +0,0 @@
1
- const COMPOSITION_KEYS = ["anyOf", "oneOf", "allOf"] as const;
2
-
3
- const LIMITED_JSON_SCHEMA_PROVIDERS = new Set([
4
- "fireworks",
5
- ]);
6
-
7
- const isPlainObject = (value: unknown): value is Record<string, any> =>
8
- !!value && typeof value === "object" && !Array.isArray(value);
9
-
10
- const sanitizeSchemaNode = (value: unknown): unknown => {
11
- if (Array.isArray(value)) {
12
- return value.map((item) => sanitizeSchemaNode(item));
13
- }
14
-
15
- if (!isPlainObject(value)) {
16
- return value;
17
- }
18
-
19
- const next: Record<string, any> = {};
20
- for (const [key, child] of Object.entries(value)) {
21
- if (COMPOSITION_KEYS.includes(key as (typeof COMPOSITION_KEYS)[number])) {
22
- continue;
23
- }
24
- next[key] = sanitizeSchemaNode(child);
25
- }
26
- return next;
27
- };
28
-
29
- const shouldSanitizeProviderSchema = (provider: string | undefined): boolean =>
30
- typeof provider === "string" &&
31
- LIMITED_JSON_SCHEMA_PROVIDERS.has(provider.trim().toLowerCase());
32
-
33
- export const sanitizeToolForProvider = (
34
- tool: any,
35
- provider: string | undefined
36
- ) => {
37
- if (!shouldSanitizeProviderSchema(provider)) {
38
- return tool;
39
- }
40
-
41
- const parameters = tool?.function?.parameters;
42
- if (!isPlainObject(parameters)) {
43
- return tool;
44
- }
45
-
46
- return {
47
- ...tool,
48
- function: {
49
- ...tool.function,
50
- parameters: sanitizeSchemaNode(parameters),
51
- },
52
- };
53
- };
@@ -1,104 +0,0 @@
1
- // 文件: ai/tools/uiAskChoiceTool.ts
2
-
3
- export const uiAskChoiceFunctionSchema = {
4
- name: "ui_ask_choice",
5
- description: [
6
- "当你需要让用户在几个互斥的选项之间做选择时,使用本工具。",
7
- "",
8
- "这是一个通用的“出选项”工具,适用于多种场景,例如:",
9
- "1)用户的需求比较宽泛或模糊,你可以给出 2~5 个不同方向的候选方案,让 TA 先选一个方向;",
10
- "2)一个计划 / 流程到了分支节点,需要用户决定下一步做什么;",
11
- "3)你想为用户设计一组练习题、测试题或问卷题(如出题练习、人格测试等单选题);",
12
- "4)在新阶段/新会话中,根据系统提示或用户画像,给出若干“接下来可以尝试的事情”(例如功能导航或使用技巧)。",
13
- "",
14
- "使用建议:",
15
- "- 当你判断“先给出 2~5 个明确选项能显著帮用户理清下一步要做什么”时,可以主动调用本工具;",
16
- "- 如果用户的目标已经非常具体、清晰,并且你可以直接给出高质量答案,优先直接回答,而不是再弹出选择菜单;",
17
- "- 默认情况下,不要在完全没有有效上下文的场景(例如用户只说“你好”)立刻调用本工具,除非系统提示中已经明确要求你在新会话开头用它来生成欢迎菜单或功能导航;",
18
- "- 请把给用户看的问题写在 question 字段中,不要在同一轮 assistant 普通文本里重复这句话;",
19
- "- 每个选项的 userMessage 建议写成完整的一句话,方便后续理解上下文;如果留空,将自动使用 label 作为 userMessage。",
20
- "",
21
- "在代码协作场景下的推荐用法:",
22
- "- 如果你已经在本轮 assistant 的 content 中给出了分析、说明或多个备选方案,可以在同一轮消息的结尾调用本工具,请用户选择“是否根据上述方案开始实际修改代码”或“优先执行哪一个方案/步骤”。",
23
- "- 在这种情况下,question 字段通常是一个简短的问题(例如:“接下来你希望我按哪个方案来具体修改代码?”),而详细的解释和方案描述放在 content 中。",
24
- "- 如果当前对话只需要一个简单的选择,而不需要额外解释,你也可以不输出额外的 content,而只调用本工具,由 question 字段直接向用户提问。"
25
- ].join("\n"),
26
- parameters: {
27
- type: "object",
28
- properties: {
29
- question: {
30
- type: "string",
31
- description:
32
- "展示给用户的问题文案,用一句话说明要做什么选择。例如:“接下来你更希望我帮你做哪件事?”。不要在同一轮 assistant 普通文本里重复这句话。"
33
- },
34
- choices: {
35
- type: "array",
36
- description:
37
- "备选项列表。每个选项会渲染成一个按钮,供用户点击选择。",
38
- items: {
39
- type: "object",
40
- properties: {
41
- id: {
42
- type: "string",
43
- description:
44
- "选项内部标识(用于后续逻辑或调试,不会直接展示给用户)。"
45
- },
46
- label: {
47
- type: "string",
48
- description:
49
- "显示给用户看的按钮文字。例如:“生成本周周报”。"
50
- },
51
- userMessage: {
52
- type: "string",
53
- description: [
54
- "用户点击此选项后,你希望作为下一条 user 消息发送给模型的自然语言内容。",
55
- "建议写成完整的一句话,例如:“帮我生成一份本周的工作周报”。",
56
- "如果留空,将使用 label 作为 userMessage。"
57
- ].join(" ")
58
- }
59
- },
60
- required: ["id", "label"]
61
- }
62
- },
63
- blocking: {
64
- type: "boolean",
65
- description: [
66
- "是否需要等待用户选择之后,再继续当前流程(例如 Plan)。",
67
- "默认 true:即发出问题后,等待用户点击某个选项再继续。"
68
- ].join(" "),
69
- default: true
70
- }
71
- },
72
- required: ["question", "choices"]
73
- }
74
- };
75
- export async function uiAskChoiceFunc(
76
- args: any,
77
- _thunkApi: AppThunkApi
78
- ): Promise<{
79
- rawData: {
80
- type: "ui_ask_choice";
81
- question: string;
82
- choices: any[];
83
- blocking: boolean;
84
- };
85
- displayData: string;
86
- }> {
87
- const question = String(args?.question ?? "").trim();
88
- const choices = Array.isArray(args?.choices) ? args.choices : [];
89
- const blocking = args?.blocking !== false;
90
-
91
- if (!question || choices.length === 0) {
92
- throw new Error("ui_ask_choice 需要 question 和至少一个 choice。");
93
- }
94
-
95
- return {
96
- rawData: {
97
- type: "ui_ask_choice",
98
- question,
99
- choices,
100
- blocking,
101
- },
102
- displayData: question,
103
- };
104
- }
@@ -1,84 +0,0 @@
1
- import { updateContentTitle } from "../../create/space/spaceSlice"; // 假设有一个对应的 action
2
- import { selectCurrentSpaceId } from "../../create/space/spaceSlice";
3
-
4
- // Tool definition
5
- export const updateContentTitleTool = {
6
- type: "function",
7
- function: {
8
- name: "update_content_title",
9
- description: "更新当前空间中某个内容的标题",
10
- parameters: {
11
- type: "object",
12
- properties: {
13
- contentId: {
14
- type: "string",
15
- description: "要更新的内容ID",
16
- },
17
- title: {
18
- type: "string",
19
- description: "新的页面标题",
20
- },
21
- },
22
- required: ["contentId", "title"],
23
- },
24
- },
25
- };
26
-
27
- /**
28
- * 更新当前空间中某个内容标题的实现
29
- * @param args 工具参数 { contentId: string, title: string }
30
- * @param thunkApi Redux Thunk API { dispatch, getState }
31
- * @returns Promise<{ success: true, id: string, title: string } | never> - 成功时返回包含 id 和新标题的对象,失败时抛出错误
32
- */
33
- export const updateContentTitleFunc = async (
34
- args: { contentId: string; title: string },
35
- thunkApi: any /* Replace 'any' with your actual ThunkApi type */
36
- ) => {
37
- const { dispatch, getState } = thunkApi;
38
- const state = getState(); // Assuming getState returns RootState
39
- const spaceId = selectCurrentSpaceId(state); // 获取当前空间ID
40
- const { contentId, title } = args;
41
-
42
- console.log(
43
- `[updateContentTitleFunc] spaceId: ${spaceId}, contentId: ${contentId}, title: ${title}`
44
- );
45
-
46
- if (!spaceId) {
47
- console.error("[updateContentTitleFunc] 更新标题失败:未找到当前空间ID");
48
- throw new Error("无法更新标题,因为当前空间未设定。");
49
- }
50
-
51
- if (!contentId) {
52
- console.error("[updateContentTitleFunc] 更新标题失败:未提供内容ID");
53
- throw new Error("无法更新标题,因为内容ID未提供。");
54
- }
55
-
56
- try {
57
- // 调用 updateContentTitle action (直接从 spaceSlice 中导入)
58
- console.log(
59
- "[updateContentTitleFunc] Dispatching updateContentTitle action..."
60
- );
61
- const updatedContentId = await dispatch(
62
- updateContentTitle({
63
- spaceId,
64
- contentId,
65
- title: title.trim(), // 确保标题去除首尾空格
66
- })
67
- ).unwrap(); // unwrap 会在失败时抛出错误
68
-
69
- console.log(
70
- `[updateContentTitleFunc] Content title updated successfully. contentId: ${updatedContentId}`
71
- );
72
-
73
- // 返回结构化数据
74
- return {
75
- success: true, // 明确表示成功
76
- id: updatedContentId, // 返回内容ID
77
- title: title, // 返回使用的新标题
78
- };
79
- } catch (error: any) {
80
- console.error("[updateContentTitleFunc] 更新标题失败:", error);
81
- const errorMessage = error?.message || JSON.stringify(error) || "未知错误";
82
- throw new Error(`更新标题时出错: ${errorMessage}`);
83
- }
84
- };
@@ -1,105 +0,0 @@
1
- // ai/tools/updateDocTool.ts
2
-
3
- import { readAction } from "../../database/actions/read";
4
- import { write } from "../../database/dbSlice";
5
- import { markdownToSlate } from "../../create/editor/transforms/markdownToSlate";
6
- import { slateToRenderMarkdown } from "../../create/editor/transforms/slateToRenderMarkdown";
7
- import { extractMentionsFromSlate } from "../../create/editor/utils/slateUtils";
8
- import type { PageData } from "../../render/page/types";
9
- import { parseSkillDocProtocol } from "../skills/skillDocProtocol";
10
-
11
- export const updateDocFunctionSchema = {
12
- name: "updateDoc",
13
- description: "更新指定页面/文档的内容。支持全量覆盖或在末尾追加内容。",
14
- parameters: {
15
- type: "object",
16
- properties: {
17
- id: {
18
- type: "string",
19
- description: "页面/文档的 dbKey,通常以 page- 开头,例如 page-user-01ABC...",
20
- },
21
- content: {
22
- type: "string",
23
- description: "要更新或追加的 Markdown 格式内容。",
24
- },
25
- mode: {
26
- type: "string",
27
- enum: ["replace", "append"],
28
- description: "更新模式:'replace' 表示全量覆盖(默认),'append' 表示在页面末尾追加。",
29
- default: "replace",
30
- },
31
- },
32
- required: ["id", "content"],
33
- },
34
- };
35
-
36
- /**
37
- * [Executor] 'updateDoc' 工具的执行函数。
38
- */
39
- export async function updateDocFunc(
40
- args: { id: string; content: string; mode?: "replace" | "append" },
41
- thunkApi: any
42
- ): Promise<{ rawData: any; displayData: string }> {
43
- const { id, content, mode = "replace" } = args;
44
- const { dispatch } = thunkApi;
45
-
46
- if (!id.toLowerCase().startsWith("page-")) {
47
- throw new Error("updateDoc 工具仅支持更新页面 (page-xxx)。");
48
- }
49
- try {
50
- // 1. 读取原页面数据
51
- const originalData = (await readAction({ dbKey: id }, thunkApi)) as PageData;
52
- if (!originalData) {
53
- throw new Error(`未找到 ID 为 ${id} 的页面。`);
54
- }
55
-
56
- const currentMarkdown =
57
- typeof originalData.content === "string" && originalData.content.trim()
58
- ? originalData.content
59
- : slateToRenderMarkdown(
60
- Array.isArray(originalData.slateData) ? originalData.slateData : [],
61
- );
62
-
63
- const mergedMarkdown = mode === "append"
64
- ? [currentMarkdown, content].filter(Boolean).join("\n\n")
65
- : content;
66
- const parsedProtocol = parseSkillDocProtocol(
67
- mergedMarkdown,
68
- originalData.meta,
69
- originalData.tools,
70
- );
71
- const finalSlateData = markdownToSlate(parsedProtocol.content);
72
- const tools = extractMentionsFromSlate(finalSlateData as any);
73
-
74
- // 3. 构造更新后的数据
75
- const updatedPageData: PageData = {
76
- ...originalData,
77
- slateData: finalSlateData,
78
- content: parsedProtocol.content,
79
- tools,
80
- ...(parsedProtocol.meta ? { meta: parsedProtocol.meta } : {}),
81
- updated_at: new Date().toISOString(),
82
- };
83
-
84
- // 4. 写入数据库
85
- // 4. 写入数据库
86
- await (dispatch as any)(write({ data: updatedPageData, customKey: id })).unwrap();
87
-
88
- const displayData = mode === "append"
89
- ? `已成功在页面《${originalData.title}》末尾追加了内容。`
90
- : `页面《${originalData.title}》的内容已成功更新。`;
91
-
92
- return {
93
- rawData: { success: true, id, title: originalData.title },
94
- displayData,
95
- };
96
- } catch (error: any) {
97
- console.error("执行 updateDoc 工具时出错:", error);
98
- throw new Error(`更新页面失败:${error?.message || String(error)}`);
99
- }
100
- }
101
- // ── 向后兼容别名(旧名 updatePage / update_page)────────────────────────────
102
- /** @deprecated 使用 updateDocFunctionSchema */
103
- export const updatePageFunctionSchema = updateDocFunctionSchema;
104
- /** @deprecated 使用 updateDocFunc */
105
- export const updatePageFunc = updateDocFunc;