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,221 +0,0 @@
1
- import { prepareTokenUsageData } from "../../token/prepareTokenUsageData";
2
- import type { RawUsage } from "../../token/types";
3
-
4
- const roundCredits = (value: number) => Number(value.toFixed(6));
5
- const toRoundedFiniteNumber = (value: unknown): number | null =>
6
- typeof value === "number" && Number.isFinite(value) ? roundCredits(value) : null;
7
- const getUsageCost = (usage: unknown): number | null => {
8
- if (!usage || typeof usage !== "object") {
9
- return null;
10
- }
11
- const cost = (usage as { cost?: unknown }).cost;
12
- return typeof cost === "number" && Number.isFinite(cost) && cost >= 0
13
- ? roundCredits(cost)
14
- : null;
15
- };
16
- const getUsageBillingServiceTier = (usage: unknown): string | null => {
17
- if (!usage || typeof usage !== "object") {
18
- return null;
19
- }
20
- const serviceTier = (usage as { billing_service_tier?: unknown }).billing_service_tier;
21
- return typeof serviceTier === "string" && serviceTier.trim()
22
- ? serviceTier.trim()
23
- : null;
24
- };
25
-
26
- const normalizePositiveNumber = (value: unknown): number | undefined => {
27
- if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
28
- return undefined;
29
- }
30
- return roundCredits(value);
31
- };
32
-
33
- export const normalizeBudgetCredits = (value: unknown): number | undefined =>
34
- normalizePositiveNumber(value);
35
-
36
- export interface ParallelBranchPricingInput {
37
- usage?: unknown;
38
- agentKey: string;
39
- dialogId?: string | null;
40
- agentConfig: {
41
- id?: string;
42
- model?: string | null;
43
- provider?: string | null;
44
- inputPrice?: number | null;
45
- outputPrice?: number | null;
46
- };
47
- }
48
-
49
- export interface ParallelBranchPricingResult {
50
- spentCredits: number | null;
51
- billedModel: string | null;
52
- billedProvider: string | null;
53
- billingServiceTier: string | null;
54
- pricingError: string | null;
55
- }
56
-
57
- export const calculateParallelBranchPricing = (
58
- input: ParallelBranchPricingInput
59
- ): ParallelBranchPricingResult => {
60
- if (!input.usage || typeof input.usage !== "object") {
61
- return {
62
- spentCredits: null,
63
- billedModel: null,
64
- billedProvider: null,
65
- billingServiceTier: null,
66
- pricingError: "missing usage",
67
- };
68
- }
69
-
70
- const model =
71
- typeof input.agentConfig.model === "string" && input.agentConfig.model.trim()
72
- ? input.agentConfig.model.trim()
73
- : null;
74
- const provider =
75
- typeof input.agentConfig.provider === "string" && input.agentConfig.provider.trim()
76
- ? input.agentConfig.provider.trim()
77
- : null;
78
- const fallbackUsageCost = getUsageCost(input.usage);
79
- const fallbackBillingServiceTier = getUsageBillingServiceTier(input.usage);
80
- if (!model) {
81
- return {
82
- spentCredits: null,
83
- billedModel: null,
84
- billedProvider: null,
85
- billingServiceTier: null,
86
- pricingError: "missing model",
87
- };
88
- }
89
-
90
- try {
91
- const prepared = prepareTokenUsageData({
92
- rawUsage: input.usage as RawUsage,
93
- agentConfig: {
94
- id: input.agentConfig.id ?? input.agentKey,
95
- model,
96
- ...(typeof input.agentConfig.provider === "string" &&
97
- input.agentConfig.provider.trim()
98
- ? { provider: input.agentConfig.provider.trim() }
99
- : {}),
100
- ...(typeof input.agentConfig.inputPrice === "number" &&
101
- Number.isFinite(input.agentConfig.inputPrice)
102
- ? { inputPrice: input.agentConfig.inputPrice }
103
- : {}),
104
- ...(typeof input.agentConfig.outputPrice === "number" &&
105
- Number.isFinite(input.agentConfig.outputPrice)
106
- ? { outputPrice: input.agentConfig.outputPrice }
107
- : {}),
108
- },
109
- cybotId: input.agentKey,
110
- dialogId: input.dialogId ?? `parallel-${input.agentKey}`,
111
- });
112
- const preparedCost = toRoundedFiniteNumber(prepared.tokenData.cost);
113
- if (preparedCost != null) {
114
- return {
115
- spentCredits: preparedCost,
116
- billedModel: prepared.billedModel,
117
- billedProvider: prepared.recordProvider,
118
- billingServiceTier: prepared.billedServiceTier ?? null,
119
- pricingError: null,
120
- };
121
- }
122
-
123
- if (fallbackUsageCost != null) {
124
- return {
125
- spentCredits: fallbackUsageCost,
126
- billedModel: prepared.billedModel ?? model,
127
- billedProvider: prepared.recordProvider ?? provider,
128
- billingServiceTier:
129
- prepared.billedServiceTier ?? fallbackBillingServiceTier ?? null,
130
- pricingError: null,
131
- };
132
- }
133
-
134
- return {
135
- spentCredits: null,
136
- billedModel: null,
137
- billedProvider: null,
138
- billingServiceTier: null,
139
- pricingError: "invalid cost",
140
- };
141
- } catch (error: any) {
142
- if (fallbackUsageCost != null) {
143
- return {
144
- spentCredits: fallbackUsageCost,
145
- billedModel: model,
146
- billedProvider: provider,
147
- billingServiceTier: fallbackBillingServiceTier,
148
- pricingError: null,
149
- };
150
- }
151
- return {
152
- spentCredits: null,
153
- billedModel: null,
154
- billedProvider: null,
155
- billingServiceTier: null,
156
- pricingError: error?.message || String(error),
157
- };
158
- }
159
- };
160
-
161
- export interface ParallelCostSummary {
162
- spentCredits: number;
163
- pricedBranches: number;
164
- unpricedBranches: number;
165
- }
166
-
167
- export interface ParallelBudgetSummary extends ParallelCostSummary {
168
- budgetCredits: number;
169
- remainingCredits: number;
170
- exhausted: boolean;
171
- }
172
-
173
- export const summarizeParallelCosts = (
174
- results: Array<{ spentCredits?: number | null; ok?: boolean }>
175
- ): ParallelCostSummary => {
176
- const spentCredits = roundCredits(
177
- results.reduce(
178
- (sum, item) =>
179
- sum +
180
- (typeof item.spentCredits === "number" && Number.isFinite(item.spentCredits)
181
- ? item.spentCredits
182
- : 0),
183
- 0
184
- )
185
- );
186
-
187
- return {
188
- spentCredits,
189
- pricedBranches: results.filter(
190
- (item) => typeof item.spentCredits === "number" && Number.isFinite(item.spentCredits)
191
- ).length,
192
- unpricedBranches: results.filter(
193
- (item) =>
194
- item.ok &&
195
- (item.spentCredits == null ||
196
- (typeof item.spentCredits === "number" && !Number.isFinite(item.spentCredits)))
197
- ).length,
198
- };
199
- };
200
-
201
- export const summarizeParallelBudget = (input: {
202
- budgetCredits?: number;
203
- results: Array<{ spentCredits?: number | null; ok?: boolean }>;
204
- }): ParallelBudgetSummary | null => {
205
- const budgetCredits = normalizePositiveNumber(input.budgetCredits);
206
- if (budgetCredits === undefined) {
207
- return null;
208
- }
209
-
210
- const costSummary = summarizeParallelCosts(input.results);
211
- const remainingCredits = roundCredits(
212
- Math.max(0, budgetCredits - costSummary.spentCredits)
213
- );
214
-
215
- return {
216
- ...costSummary,
217
- budgetCredits,
218
- remainingCredits,
219
- exhausted: remainingCredits <= 0,
220
- };
221
- };
@@ -1,159 +0,0 @@
1
- import { DEFAULT_MODEL } from "../../llm/providers";
2
- import {
3
- GUIDED_AGENT_CAPABILITIES,
4
- mapCapabilityIdsToToolIds,
5
- } from "../../agent/guidedCreation/capabilities";
6
- import type {
7
- GuidedAgentCapabilityId,
8
- GuidedAgentDraft,
9
- GuidedAgentReferenceChoice,
10
- } from "../../agent/guidedCreation/types";
11
-
12
- export type PrepareAgentDraftToolArgs = Partial<GuidedAgentDraft>;
13
-
14
- const capabilityIds = new Set(Object.keys(GUIDED_AGENT_CAPABILITIES));
15
-
16
- const trim = (value: unknown) =>
17
- typeof value === "string" ? value.trim() : "";
18
-
19
- const stringArray = (value: unknown): string[] =>
20
- Array.isArray(value)
21
- ? value.map((item) => trim(item)).filter(Boolean)
22
- : [];
23
-
24
- const guidedCapabilityArray = (value: unknown): GuidedAgentCapabilityId[] =>
25
- stringArray(value).filter((id): id is GuidedAgentCapabilityId =>
26
- capabilityIds.has(id)
27
- );
28
-
29
- const referencesArray = (value: unknown): GuidedAgentReferenceChoice[] =>
30
- Array.isArray(value)
31
- ? value
32
- .filter((item): item is Record<string, unknown> =>
33
- !!item && typeof item === "object" && !Array.isArray(item)
34
- )
35
- .map((item) => ({
36
- dbKey: trim(item.dbKey),
37
- title: trim(item.title),
38
- type: item.type === "instruction" ? "instruction" : "knowledge",
39
- selected: item.selected === true,
40
- ...(trim(item.reason) ? { reason: trim(item.reason) } : {}),
41
- }))
42
- .filter((item) => item.dbKey)
43
- : [];
44
-
45
- const buildPrompt = (args: PrepareAgentDraftToolArgs) => {
46
- const prompt = trim(args.prompt);
47
- if (prompt) return prompt;
48
- const name = trim(args.name) || "用户的专属 AI";
49
- const summary = trim(args.promptSummary) || trim(args.introduction);
50
- return [
51
- `你是${name}。`,
52
- summary || "你需要理解用户目标,并给出清晰、可执行、有边界的帮助。",
53
- "如果信息不足,先提出必要澄清问题;不要编造用户没有确认的资料来源。",
54
- ].join("\n");
55
- };
56
-
57
- export const buildPreparedAgentDraft = (
58
- args: PrepareAgentDraftToolArgs
59
- ): GuidedAgentDraft => {
60
- const selectedCapabilities = guidedCapabilityArray(args.capabilityIds);
61
- const providedToolIds = stringArray(args.toolIds);
62
- const mappedToolIds = mapCapabilityIdsToToolIds(selectedCapabilities);
63
- return {
64
- name: trim(args.name),
65
- introduction: trim(args.introduction),
66
- prompt: buildPrompt(args),
67
- promptSummary: trim(args.promptSummary),
68
- provider: trim(args.provider) || DEFAULT_MODEL.provider,
69
- model: trim(args.model) || DEFAULT_MODEL.name,
70
- isPublic: args.isPublic === true,
71
- capabilityIds: selectedCapabilities,
72
- toolIds: Array.from(new Set([...providedToolIds, ...mappedToolIds])),
73
- references: referencesArray(args.references),
74
- tags: stringArray(args.tags),
75
- unresolved: stringArray(args.unresolved),
76
- };
77
- };
78
-
79
- export const prepareAgentDraftToolFunctionSchema = {
80
- name: "prepareAgentDraft",
81
- description:
82
- "整理一个可预览的 Agent 创建草稿。只生成草稿,不创建真实 Agent 记录。",
83
- parameters: {
84
- type: "object",
85
- properties: {
86
- name: { type: "string", description: "建议的 Agent 名称。" },
87
- introduction: { type: "string", description: "面向用户展示的简介。" },
88
- prompt: { type: "string", description: "完整系统 prompt 草稿。" },
89
- promptSummary: { type: "string", description: "prompt 的简短摘要。" },
90
- provider: { type: "string", description: "建议 provider。" },
91
- model: { type: "string", description: "建议模型名称。" },
92
- isPublic: { type: "boolean", description: "是否建议公开。" },
93
- capabilityIds: {
94
- type: "array",
95
- items: {
96
- type: "string",
97
- enum: Object.keys(GUIDED_AGENT_CAPABILITIES),
98
- },
99
- description: "已确认或高度确定的能力标签。",
100
- },
101
- toolIds: {
102
- type: "array",
103
- items: { type: "string" },
104
- description: "可选的底层工具名;通常由 capabilityIds 推导。",
105
- },
106
- references: {
107
- type: "array",
108
- items: {
109
- type: "object",
110
- properties: {
111
- dbKey: { type: "string" },
112
- title: { type: "string" },
113
- type: { type: "string", enum: ["knowledge", "instruction"] },
114
- selected: { type: "boolean" },
115
- reason: { type: "string" },
116
- },
117
- required: ["dbKey"],
118
- },
119
- description: "建议挂载的知识引用,默认等待用户确认。",
120
- },
121
- tags: {
122
- type: "array",
123
- items: { type: "string" },
124
- },
125
- unresolved: {
126
- type: "array",
127
- items: { type: "string" },
128
- description: "仍需确认的字段或问题。",
129
- },
130
- },
131
- required: ["name", "introduction", "promptSummary"],
132
- },
133
- };
134
-
135
- export async function prepareAgentDraftToolFunc(
136
- args: PrepareAgentDraftToolArgs
137
- ): Promise<{
138
- rawData: { draft: GuidedAgentDraft; createUrl: string };
139
- displayData: string;
140
- }> {
141
- const draft = buildPreparedAgentDraft(args);
142
- const missing = draft.unresolved.length
143
- ? `\n- 待确认: ${draft.unresolved.join(", ")}`
144
- : "";
145
- return {
146
- rawData: {
147
- draft,
148
- createUrl: "/create/agent",
149
- },
150
- displayData: [
151
- `Agent 草稿: ${draft.name || "未命名 AI"}`,
152
- draft.promptSummary ? `- 摘要: ${draft.promptSummary}` : "",
153
- draft.capabilityIds.length
154
- ? `- 能力: ${draft.capabilityIds.join(", ")}`
155
- : "",
156
- missing,
157
- ].filter(Boolean).join("\n"),
158
- };
159
- }
@@ -1,154 +0,0 @@
1
- /**
2
- * App Builder 预设:面向非技术用户的网站型小应用构建助手配置
3
- * 用途:在 AgentForm 中预填充,或通过 createAgent 工具一键创建
4
- *
5
- * Maintenance note:
6
- * - The online App Builder agent record is the runtime source of truth.
7
- * - Keep this preset as a creation/bootstrap template only.
8
- * - To make App Builder fully online-truth-only, replace consumers of this
9
- * preset with a read/pull of agent-pub-01APPBUILDER00000001YAII3I and leave
10
- * only a tiny emergency placeholder here.
11
- */
12
- import { FIREWORKS_KIMI_LATEST_MODEL } from "../../../llm/kimi";
13
-
14
- export const APP_BUILDER_PRESET = {
15
- name: "App Builder",
16
- introduction: "帮你把想法变成真正可以访问的网站型小应用,无需任何编程知识",
17
- model: FIREWORKS_KIMI_LATEST_MODEL,
18
- provider: "fireworks",
19
- inputPrice: 0.95 * 8,
20
- outputPrice: 4 * 8,
21
- useServerProxy: true,
22
- greeting:
23
- `你好!我是 App Builder 🚀
24
-
25
- **如果你想改这个应用**,直接告诉我要改什么就行——
26
- • "把首页改得更温柔一点"
27
- • "加一个预约入口"
28
- • "让博客页更适合手机阅读"
29
-
30
- 我会自动读取现有代码、修改并重新发布,你不需要动任何代码。
31
-
32
- **如果你想新建一个应用**,直接描述你想做的网站或小应用,我来帮你构建并生成可访问的链接。
33
-
34
- 比如:个人品牌站、博客 + AI 分身、咨询预约页、作品集站、轻互动工具……`,
35
- tools: [
36
- "appPreflight",
37
- "appDeploy",
38
- "appList",
39
- "appDelete",
40
- "appRead",
41
- "openAIGptImage",
42
- "createTable",
43
- "addTableRow",
44
- "addTableRows",
45
- "queryTableRows",
46
- "updateTableRow",
47
- "deleteTableRow",
48
- ],
49
- prompt: `你是一个应用构建助手,专门帮助没有任何编程经验的用户创建和管理 Web 应用。
50
-
51
- ## 工作方式
52
-
53
- 1. **理解需求**:用简单的对话了解用户想要什么,最多问 1-2 个关键问题,不要追问太多技术细节
54
- 2. **自动构建**:根据用户描述,自动生成代码并调用部署工具,用户不需要看到任何代码
55
- 3. **给出结果**:部署成功后,立即告诉用户可以访问的链接
56
- 4. **持续迭代**:用户说"帮我加个功能"或"改一下样式",先用 appList 找到目标应用,再用 appRead 读取现有代码;一旦拿到 appId,后续修改和重发都必须复用这个 appId
57
- 5. **管理应用**:用户问"我有哪些应用",先调用 appList;用户说"删掉它"时,也先从 appList 确认目标 appId,再按 appId 删除,不要靠 name 兜底
58
- 6. **先预检再部署**:生成或修改完代码后,先调用 \`appPreflight\` 看问题;只有预检通过后再调用 \`appDeploy\`
59
- 7. **收到 repairPlan 就直接修**:如果 \`appPreflight\` 或 \`appDeploy\` 返回 \`repairPlan\` / \`issues\`,立即基于当前代码做定点修复并重新预检,不要先问用户要不要修,也不要整页重写
60
- 8. **遇到通道异常就止损**:如果工具返回 HTML / 非 JSON / transport failure / \`retryable=false\`,停止自动部署重试;这代表当前是平台接口异常,不是代码问题
61
- 9. **看到部署产物先止损**:如果 \`appRead\` 读出来的是 HTML 壳、importmap、压缩 bundle,或明显不像原始源码文件,说明当前拿到的更像部署产物而不是可维护源码。此时如果用户只是想“小改一处”,不要静默整站重写;必须先告诉用户“当前缺少原始源码快照,继续修改更像整体重建”,得到确认后再继续。
62
- 10. **视觉微调默认走设计系统**:用户说“字大一点”“颜色柔和一点”“卡片圆一点”这类小改动时,优先修改现有主题 token / design system;如果当前应用还没有,就先补一层最小共享 token(颜色、字号层级、间距、圆角、阴影),再基于 token 调整,不要顺手重做整页结构。
63
- 11. **项目素材直接出图**:如果用户要首页插画、海报、封面、功能配图、活动横幅、按钮图标草图等视觉素材,优先调用 \`openAIGptImage\` 生成或改图,再把产物接入当前应用;不要只给文案描述。
64
-
65
- ## 对话风格
66
-
67
- - 语气轻松友好,避免所有技术术语(不说 Worker、JavaScript、API、部署等词)
68
- - 部署成功后,用 1-2 句话说明应用能做什么、怎么使用
69
- - 如果用户描述模糊,举例说明你能做什么,让用户选择或细化
70
- - **绝不把代码展示给用户**,除非用户明确说"我想看代码"
71
- - 优先把需求收敛成“内容驱动的网站型小应用”:个人品牌站、博客 + AI 助手、咨询/预约站、作品集、知识站、轻互动工具
72
-
73
- ## 技术规范(内部遵守,不暴露给用户)
74
-
75
- 简单应用可以直接生成 \`export default { fetch }\`。
76
- 复杂交互、图表、组件化界面优先使用 React SPA 模式:调用 \`appDeploy\` 时传 \`framework: "react-spa"\` 和 \`files\`,推荐至少包含 \`main.tsx\` 与 \`App.tsx\`。
77
- 严禁把 React 组件直接塞进 \`code\` 字段当单文件 Worker 部署;只要出现 \`import React\`、\`react-dom/client\`、\`createRoot\`、JSX 组件树,就必须走 \`framework: "react-spa"\` + \`files\`。
78
- 如果上游临时生成的是 \`pages\` 字段,可直接原样传给 \`appDeploy\`,系统会兼容成 \`files\`;但你在新回复里应优先自己使用 \`files\` 命名。
79
- React SPA 当前优先支持这些内置依赖:\`react\`、\`react-dom/client\`、\`react-icons/lu\`、\`echarts\`、\`echarts-for-react\`、\`docx\`、\`@xyflow/react\`、\`three\`、\`@react-three/fiber\`、\`@react-three/drei\`、\`leaflet\`、\`react-leaflet\`、\`xlsx\`、\`d3\`、\`recharts\`、\`dayjs\`。
80
- React SPA 暂不使用 CSS 文件 import;优先用内联样式、style 对象或组件内 style 标签。像 flow / three 这类库如果默认文档依赖外部 CSS,请直接在应用内补最小必要样式,不要写 \`import "./x.css"\`。leaflet 的 CSS 会由平台自动注入,无需手动 import。
81
-
82
- **设计系统与小改动纪律**:
83
- - 新建 React SPA 时,默认先建立一层轻量设计系统(如 \`theme\` / \`tokens\` / \`designSystem\` 对象),至少统一:\`colors\`、\`typography\`、\`spacing\`、\`radius\`、\`shadow\`。
84
- - 如果现有应用已经有主题变量、token、共享样式常量或 design system,优先沿用和扩展,不要再平行创建第二套。
85
- - 如果现有应用还是旧写法:样式值直接硬编码在多个组件 / 内联 style / 重复常量里,而用户需求又是字体、颜色、间距、圆角、阴影这类视觉微调,默认先做一次**最小设计系统迁移**:把这批视觉值抽到一层很薄的 \`tokens\` / \`theme\` 对象(必要时可新增 \`tokens.ts\`),再让当前页面消费它。除非用户明确要求“只改数字不要重构”,否则不要继续在旧代码上追加更多分散硬编码。
86
- - 用户只要求调整字体大小、字重、颜色、圆角、阴影、间距等视觉参数时,优先改 token 或当前命中的局部组件;不要顺手改布局、组件树、文案、数据流、路由或整套页面结构。
87
- - 如果只是局部视觉修改,尽量把改动收敛在命中的 1-3 个文件;非必要不要重命名组件、改文件结构或大面积重新格式化。
88
- - 新增页面或模块时,也应消费同一套 token,避免不同页面各自写一套颜色和字号。
89
-
90
- **react-icons/lu 图标使用规范(违反会部署失败)**:
91
- - 只能使用 \`react-icons/lu\` 中实际存在的图标,如 \`LuCode\`、\`LuMap\`、\`LuChart\`、\`LuSearch\`、\`LuSettings\`、\`LuStar\`
92
- - 常见错误:\`LuCode2\`(不存在,应用 \`LuCode\`)、\`LuGithub\`(不存在,用 \`LuGitBranch\`)
93
- - 不确定时优先用基础图标:\`LuCircle\`、\`LuCheck\`、\`LuX\`、\`LuPlus\`、\`LuMinus\`、\`LuInfo\`、\`LuArrowRight\`
94
- - 每次使用图标前确认名称已知存在,不要猜测或推断变体名称
95
-
96
- 构建要求:
97
- - 响应式设计,手机和电脑都正常显示
98
- - 简洁现代的中文界面(用户未指定语言时默认中文)
99
- - 对计算/工具类应用:优先产出可直接访问的页面;复杂页面优先 React SPA
100
- - 对数据接口:返回规范 JSON,设置正确的 Content-Type
101
- - 代码质量:干净、无注释堆砌、运行稳定
102
-
103
- **大数据文件处理规范**:
104
- - 绝对禁止把大型数据(JSON 数组、GeoJSON、CSV 解析结果等超过 50KB 的数据)直接内嵌到代码里作为常量
105
- - 用户通过对话上传的文件已存储在 nolo.chat,必须通过运行时 fetch 加载,URL 格式为:\`https://nolo.chat/api/database/file/content/{fileKey}\`
106
- - 对话中提到"用这个文件"/"用我上传的数据"时,先从消息历史或 appRead 里找 fileKey,用 fetch 加载,不要重新内嵌数据
107
- - 示例:\`const data = await fetch("https://nolo.chat/api/database/file/content/file-b2e06f801f-01XXXXX").then(r => r.json())\`
108
- - 此 URL 已开放 CORS,任何域名部署的应用都可以直接访问,无需鉴权
109
-
110
- 部署时:
111
- - name 参数使用简洁的英文或拼音(如 brand-home、tarot-blog)
112
- - 默认发布到平台托管地址(nolo.chat/apps/{appId}/),这是用户分享给别人的链接
113
- - 更新应用时必须传入 appId,避免重复创建新应用
114
- - 读取和删除应用时必须使用 appId;如果还没有 appId,就先调用 appList 找到目标应用
115
- - 一旦通过 appList / appRead / appDeploy 拿到 appId,就把它当成后续操作的主标识
116
- - 如果现有应用是 React SPA,修改时继续沿用 React SPA + files,不要退回单文件 Worker
117
- - 如果 \`appRead\` 结果更像部署后的 bundle / HTML 壳,而不是源文件,不要假装自己拿到了可维护源码;这种情况下默认先提示用户风险,而不是直接覆盖整个应用
118
- - React SPA 首次部署前,先调用 \`appPreflight\`;重点检查:是否传了 \`files\`、是否包含 \`main.tsx\` 与 \`App.tsx\`、是否误用了 \`code\`
119
- - 如果首次部署失败,尝试调整代码重新部署,给用户友好的提示
120
- - 如果工具返回了 \`repairPlan\`:
121
- - 严格按 repairPlan 只修改命中的文件 / 依赖 / 图标 / 入口,不要为了省事重建整个应用
122
- - 默认继续在当前轮自动修复,不需要再次征求用户确认
123
- - 修完后必须重新 \`appPreflight\`,通过后再 \`appDeploy\`
124
- - 如果工具返回 HTML 页面、非 JSON、transport failure 或 \`retryable=false\`:
125
- - 立即停止自动 \`appDeploy\` / \`appPreflight\` 重试
126
- - 不要把这种错误误判成图标/依赖/入口问题
127
- - 直接告诉用户当前是平台部署通道异常,建议稍后再试
128
-
129
- 表单/提交类功能:
130
- - 如果用户要做博客留言、联系表单、预约申请、订阅邮箱、反馈收集这类“收集记录”的功能,优先使用表工具,不要自己发明 JSON 文件存储结构。
131
- - 先调用 \`createTable\` 创建表,再把返回结果中的 \`tenantId\` 和 \`tableId\` 记住,随后让应用代码直接调用现有表接口(如 \`/api/table/add-row\`、\`/api/table/query-rows\`)。
132
- - 当前阶段允许把 \`tenantId\` 和 \`tableId\` 直接写进应用代码配置中;这是最小实现,目的是先把功能跑通。
133
- - 但在生成代码时,**必须在这两个字段附近添加简短注释**,明确说明:
134
- 1. 这里直接暴露了 \`tenantId/tableId\`,当前是最小实现;
135
- 2. 后续应替换为更安全的服务端映射或 app 级数据接口;
136
- 3. 当前表接口默认按用户自己可写模型工作,后续应补充额外权限控制。
137
- - **不要**把现有表接口直接当成公开留言/公开评论入口;未登录访客提交、公开写入、限流和防滥用策略需要后续单独设计。
138
- - 因此当前阶段更适合:用户自己管理的数据后台、登录后提交、站长自己录入或内部运营使用;不适合直接上线公开评论区。
139
- - 如果是博客应用,优先支持这些轻数据能力:评论/留言、订阅邮箱、联系反馈;文章正文、封面图、插图等内容资产优先继续使用文件。
140
-
141
- ## 示例应答模板
142
-
143
- 部署成功后:
144
- "✅ 你的应用已经好了!
145
-
146
- 🔗 访问链接:[URL]
147
-
148
- 这个应用可以帮你 [一句话功能描述],直接打开链接就能使用,也可以把链接分享给任何人。
149
-
150
- 想要修改或添加功能,直接告诉我就行!"
151
- `,
152
- } as const;
153
-
154
- export type AppBuilderPreset = typeof APP_BUILDER_PRESET;
@@ -1,96 +0,0 @@
1
- // 文件路径: ai/tools/agent/runLlmTool.ts
2
-
3
- /**
4
- * runLlm 工具
5
- *
6
- * 单轮 LLM 调用,不加载 Agent 的 references(知识库),不触发多轮 tool loop。
7
- * 工具列表和系统提示均可在调用时覆盖 Agent 的默认配置。
8
- *
9
- * 与 callAgent 的区别:
10
- * - runLlm:1 轮回复,不加载知识库;可携带工具但不会循环调用,更快且可预期
11
- * - callAgent:可能多轮(agent 内部有 tool loop),带完整 agent 上下文
12
- */
13
-
14
- import { runLlm } from "../../agent/agentSlice";
15
-
16
- export const runLlmFunctionSchema = {
17
- name: "runLlm",
18
- description:
19
- "对指定模型发起一次单轮 LLM 调用并返回结果。" +
20
- "不加载 Agent 知识库(references),适合摘要、分类、格式化、翻译等纯文本处理任务。" +
21
- "可选择注入临时系统提示或覆盖工具列表。",
22
- parameters: {
23
- type: "object",
24
- properties: {
25
- agentKey: {
26
- type: "string",
27
- description:
28
- "要使用的模型配置 ID。若不填,使用当前对话绑定的默认模型。",
29
- },
30
- userInput: {
31
- type: "string",
32
- description: "发送给模型的提示词或问题。",
33
- },
34
- systemPrompt: {
35
- type: "string",
36
- description:
37
- "可选。临时系统提示,会覆盖 Agent 原有配置中的 prompt。适合临时调整模型行为或角色。",
38
- },
39
- tools: {
40
- type: "array",
41
- items: { type: "string" },
42
- description:
43
- "可选。工具 ID 列表,覆盖 Agent 默认配置的工具集。传空数组则禁用所有工具。",
44
- },
45
- },
46
- required: ["userInput"],
47
- },
48
- };
49
-
50
- interface RunLlmToolArgs {
51
- agentKey?: string;
52
- userInput: string;
53
- systemPrompt?: string;
54
- tools?: string[];
55
- }
56
-
57
- export async function runLlmToolFunc(
58
- args: RunLlmToolArgs,
59
- thunkApi: any,
60
- _context?: { parentMessageId: string }
61
- ): Promise<{ rawData: any; displayData?: string }> {
62
- const { agentKey, userInput, systemPrompt, tools } = args;
63
-
64
- if (!userInput?.trim()) {
65
- throw new Error("runLlm: 缺少 userInput 参数。");
66
- }
67
-
68
- const { dispatch } = thunkApi;
69
-
70
- try {
71
- const result = await dispatch(
72
- runLlm({
73
- agentKey,
74
- content: userInput,
75
- isStreaming: false,
76
- ...(systemPrompt !== undefined && { systemPromptOverride: systemPrompt }),
77
- ...(tools !== undefined && { toolsOverride: tools }),
78
- })
79
- ).unwrap();
80
-
81
- // 取前 60 字作为 header 摘要
82
- const preview = typeof result === "string"
83
- ? result.slice(0, 60) + (result.length > 60 ? "…" : "")
84
- : "";
85
-
86
- return {
87
- rawData: { result, userInput },
88
- displayData: preview || "✅ runLlm 完成",
89
- };
90
- } catch (e: any) {
91
- const msg = e?.message || String(e);
92
- throw new Error(`runLlm 调用失败: ${msg}`);
93
- }
94
- }
95
-
96
-