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,217 +0,0 @@
1
- // 文件: ai/tools/table/addTableRowTool.ts
2
-
3
- import type { RootState } from "../../../app/store";
4
- import { addRow } from "../../../render/table/tableSlice";
5
-
6
- /**
7
- * [Schema] addTableRow:在当前已打开的表中新增一行数据
8
- *
9
- * 设计要点:
10
- * - 默认情况下,从当前 Redux 状态里的 tableSlice.currentTable 推断 tenantId / tableId
11
- * - LLM 主要只需要关心 values(列名 -> 值)
12
- * - 如果没有当前表,又没显式传 tenantId / tableId,则报错
13
- */
14
- export const addTableRowFunctionSchema = {
15
- name: "addTableRow",
16
- description:
17
- [
18
- "在指定表中新增一行数据。",
19
- "【重要】如果你是在对话(chat)中调用此函数(而非在表格页面的「页面助手」中),",
20
- "则必须显式传入 tenantId 和 tableId。这两个值可从 createTable 的返回结果中获取。",
21
- "如果你刚刚调用了 createTable,请务必将其返回的 tenantId 和 tableId 传入此函数。",
22
- "只有在表格页面打开「页面助手」时,tenantId 和 tableId 才可以省略(会自动推断)。",
23
- "【重要】表格字段必须放在 values 对象里,不要把 content、status 这类列名直接放在顶层。",
24
- '完整示例:{"tenantId":"u1","tableId":"t1","values":{"content":"希望支持支付宝支付","status":"待处理"}}。',
25
- ].join("\n"),
26
- parameters: {
27
- type: "object",
28
- properties: {
29
- values: {
30
- type: "object",
31
- description:
32
- [
33
- "要写入新行的数据。key 必须是目标表已有的列名,多余字段会被忽略。",
34
- '请根据用户的自然语言描述,为每个相关字段填上合理的值,而不是传入空对象 {}。',
35
- '字段必须包在 values 中。示例:{"values": {"name": "张三", "desc": "测试任务", "date": "2025-01-01"}}。',
36
- ].join("\n"),
37
- additionalProperties: {
38
- description:
39
- "单个字段的值;可以是字符串、数字、布尔值、null、对象或数组。",
40
- },
41
- },
42
- tenantId: {
43
- type: "string",
44
- description:
45
- "租户 ID。在对话(chat)中调用时必须显式传入,从 createTable 的返回结果获取。",
46
- },
47
- tableId: {
48
- type: "string",
49
- description:
50
- "表 ID。在对话(chat)中调用时必须显式传入,从 createTable 的返回结果获取。",
51
- },
52
- },
53
- required: ["values"],
54
- },
55
- };
56
-
57
- type AddTableRowArgs = {
58
- values?: Record<string, any>;
59
- tenantId?: string;
60
- tableId?: string;
61
- } & Record<string, any>;
62
-
63
- type AddTableRowResult = {
64
- rawData: any;
65
- displayData: string;
66
- };
67
-
68
- const toPreviewJson = (value: unknown, maxLength = 400): string => {
69
- try {
70
- const json = JSON.stringify(value, null, 2);
71
- if (json.length <= maxLength) return json;
72
- return `${json.slice(0, maxLength)}\n…(已截断)…`;
73
- } catch {
74
- return "[无法序列化为 JSON]";
75
- }
76
- };
77
-
78
- const RESERVED_ARG_KEYS = new Set(["tenantId", "tableId", "values"]);
79
-
80
- const extractLegacyValues = (args: AddTableRowArgs | undefined): Record<string, any> => {
81
- if (!args || typeof args !== "object" || Array.isArray(args)) {
82
- return {};
83
- }
84
-
85
- return Object.fromEntries(
86
- Object.entries(args).filter(
87
- ([key, value]) => !RESERVED_ARG_KEYS.has(key) && value !== undefined
88
- )
89
- );
90
- };
91
-
92
- /**
93
- * [Executor] 在当前表中新增一行
94
- *
95
- * - 优先从 args.tenantId / args.tableId 取值
96
- * - 否则使用 state.table.currentTable 的 tenantId / tableId
97
- * - 如果当前表元数据可用,会自动过滤掉不存在的列名,并在 displayData 提示
98
- */
99
- export async function addTableRowFunc(
100
- args: AddTableRowArgs,
101
- thunkApi: any
102
- ): Promise<AddTableRowResult> {
103
- const state = thunkApi.getState() as RootState;
104
- const tableState = state.table as RootState["table"];
105
-
106
- const currentTable = tableState.currentTable;
107
-
108
- const tenantId = args?.tenantId ?? currentTable?.tenantId;
109
- const tableId = args?.tableId ?? currentTable?.tableId;
110
- const normalizedValues =
111
- args?.values !== undefined ? args.values : extractLegacyValues(args);
112
- const values = (normalizedValues ?? {}) as Record<string, any>;
113
-
114
- if (!tenantId || !tableId) {
115
- throw new Error(
116
- "addTableRow 只能在已打开某张表的页面中调用,或显式提供 tenantId 和 tableId。"
117
- );
118
- }
119
-
120
- if (!values || typeof values !== "object" || Array.isArray(values)) {
121
- throw new Error(
122
- 'addTableRow.values 必须是一个对象(列名到值的映射,例如 { "name": "张三", "desc": "测试任务" })。'
123
- );
124
- }
125
-
126
- // 兜底:禁止传空对象 {},要求至少提供一个字段
127
- if (Object.keys(values).length === 0) {
128
- const knownCols = currentTable
129
- ? currentTable.columns.map((c) => c.name).join(", ") || "(无列定义)"
130
- : "(当前表字段未知)";
131
-
132
- throw new Error(
133
- `addTableRow.values 不能为空:你需要至少为一个字段提供值。\n` +
134
- `请根据用户的输入,从以下字段中选择并填充值:${knownCols}`
135
- );
136
- }
137
-
138
- let sanitizedValues: Record<string, any> = values;
139
- let ignoredColumns: string[] = [];
140
-
141
- if (
142
- currentTable &&
143
- currentTable.tenantId === tenantId &&
144
- currentTable.tableId === tableId
145
- ) {
146
- const allowedColumns = new Set(currentTable.columns.map((c) => c.name));
147
-
148
- sanitizedValues = {};
149
- ignoredColumns = [];
150
-
151
- for (const [key, val] of Object.entries(values)) {
152
- if (allowedColumns.has(key)) {
153
- sanitizedValues[key] = val;
154
- } else {
155
- ignoredColumns.push(key);
156
- }
157
- }
158
-
159
- if (
160
- Object.keys(sanitizedValues).length === 0 &&
161
- Object.keys(values).length > 0
162
- ) {
163
- const knownCols =
164
- currentTable.columns.map((c) => c.name).join(", ") || "(无列定义)";
165
-
166
- throw new Error(
167
- `addTableRow 失败:提供的字段名都不在当前表中。\n` +
168
- `已知字段: ${knownCols}\n` +
169
- `请仅使用这些字段名作为 key。`
170
- );
171
- }
172
- }
173
-
174
- try {
175
- const actionResult = await thunkApi.dispatch(
176
- addRow({ tenantId, tableId, values: sanitizedValues })
177
- );
178
-
179
- if (!addRow.fulfilled.match(actionResult)) {
180
- const msg =
181
- (actionResult.payload as string) ||
182
- actionResult.error?.message ||
183
- "新增表行失败";
184
- throw new Error(msg);
185
- }
186
-
187
- const createdRow = actionResult.payload as any;
188
-
189
- const tableLabel =
190
- currentTable?.displayName ||
191
- currentTable?.tableId ||
192
- tableId ||
193
- "当前表";
194
-
195
- const ignoredInfo =
196
- ignoredColumns.length > 0
197
- ? `\n\n注意:以下字段在当前表中不存在,已被忽略:${ignoredColumns.join(
198
- ", "
199
- )}`
200
- : "";
201
-
202
- return {
203
- rawData: {
204
- ...createdRow,
205
- values: sanitizedValues,
206
- },
207
- displayData:
208
- `已在表「${tableLabel}」中新增一行数据。\n` +
209
- `rowId: ${createdRow.rowId ?? "(无 rowId 字段)"}\n\n` +
210
- `数据预览:\n${toPreviewJson(createdRow)}${ignoredInfo}`,
211
- };
212
- } catch (error: any) {
213
- throw new Error(
214
- `addTableRow 调用失败:${error?.message ?? "未知错误"}`
215
- );
216
- }
217
- }
@@ -1,326 +0,0 @@
1
- // 文件: ai/tools/table/createTableTool.ts
2
-
3
- import { createTable } from "../../../render/table/tableSlice";
4
- import { SEPARATOR } from "../../../database/keys";
5
-
6
- type ColumnType =
7
- | "text"
8
- | "number"
9
- | "boolean"
10
- | "date"
11
- | "datetime"
12
- | "select"
13
- | "multi_select";
14
-
15
- interface ToolTableColumnInput {
16
- name: string;
17
- label?: string;
18
- type?: ColumnType;
19
- description?: string;
20
- required?: boolean;
21
- options?: string[];
22
- }
23
-
24
- type CreateTableToolArgs = {
25
- spaceId?: string;
26
- title?: string;
27
- purpose?: string;
28
- description?: string;
29
- tags?: string[];
30
- categoryId?: string;
31
- columns: ToolTableColumnInput[];
32
- withDefaultRows?: boolean;
33
- };
34
-
35
- type CreateTableResult = {
36
- rawData: any;
37
- displayData: string;
38
- };
39
-
40
- /**
41
- * 解析 meta dbKey,得到 tenantId / tableId
42
- * 约定:meta-{tenantId}-{tableId}
43
- */
44
- const parseMetaKey = (dbKey: string): { tenantId: string; tableId: string } => {
45
- const parts = dbKey.split(SEPARATOR);
46
- if (parts[0] !== "meta" || parts.length < 3) {
47
- return { tenantId: "", tableId: "" };
48
- }
49
- const tenantId = parts[1];
50
- const tableId = parts.slice(2).join(SEPARATOR);
51
- return { tenantId, tableId };
52
- };
53
-
54
- const toPreviewJson = (value: unknown, maxLength = 400): string => {
55
- try {
56
- const json = JSON.stringify(value, null, 2);
57
- if (json.length <= maxLength) return json;
58
- return `${json.slice(0, maxLength)}\n…(已截断)…`;
59
- } catch {
60
- return "[无法序列化为 JSON]";
61
- }
62
- };
63
-
64
- /**
65
- * [Schema] createTable:为当前用户创建一张新表
66
- */
67
- export const createTableFunctionSchema = {
68
- name: "createTable",
69
- description: [
70
- "在当前用户(租户)下创建一张新的结构化数据表。",
71
- "根据用户的描述,设计表的标题(title)、用途说明(description)以及字段列表(columns)。",
72
- "字段名建议使用简洁的英文或拼音(如 name, desc, status, dueDate),避免空格和特殊符号。",
73
- ].join("\n"),
74
- parameters: {
75
- type: "object",
76
- properties: {
77
- spaceId: {
78
- type: "string",
79
- description:
80
- "可选:指定要创建到的 Space ID。不传则使用当前 Space。",
81
- },
82
- title: {
83
- type: "string",
84
- description:
85
- "表的显示名称,可以使用中文,例如「任务清单」「客户管理」。",
86
- },
87
- purpose: {
88
- type: "string",
89
- description:
90
- "可选:机器可读用途,用于之后在当前用户/Space 范围内查找这类表,例如 agent_eval_workbench。不要用它写自然语言说明。",
91
- },
92
- description: {
93
- type: "string",
94
- description:
95
- "表用途说明(给人和 AI 看):建议描述每一行代表什么,以及这张表大致用来干什么。",
96
- },
97
- tags: {
98
- type: "array",
99
- items: { type: "string" },
100
- description:
101
- "可选:表示该表的关键词标签列表,例如 [\"记账\",\"交易\",\"预算\"]。主要供 AI 选表使用,用户无需手动维护。",
102
- },
103
- categoryId: {
104
- type: "string",
105
- description: "可选:Space 内分类 ID。",
106
- },
107
- columns: {
108
- type: "array",
109
- description: [
110
- "要创建的字段列表,至少包含 1 个字段。",
111
- "字段顺序会按数组顺序保存。",
112
- "",
113
- "每个字段对象支持:",
114
- "- name: 字段 machine 名(英文/拼音,无空格),必填;",
115
- "- label: 字段显示名,可中文;",
116
- "- type: 字段类型,默认 text,可选:text/number/boolean/date/datetime/select/multi_select;",
117
- "- description: 字段含义说明,给人和 AI 看;",
118
- "- required: 是否必填;",
119
- "- options: 对于 select/multi_select 的可选值列表。",
120
- ].join("\n"),
121
- minItems: 1,
122
- items: {
123
- type: "object",
124
- properties: {
125
- name: {
126
- type: "string",
127
- description:
128
- "字段名(machine name),例如 name、desc、status、dueDate。必须是单个标识符,不要包含空格。",
129
- },
130
- label: {
131
- type: "string",
132
- description:
133
- "字段显示名,可中文,例如「订单金额」「备注」。不填时前端会回退为 name。",
134
- },
135
- type: {
136
- type: "string",
137
- enum: [
138
- "text",
139
- "number",
140
- "boolean",
141
- "date",
142
- "datetime",
143
- "select",
144
- "multi_select",
145
- ],
146
- description:
147
- "字段类型,默认 text。选择类字段请使用 select 或 multi_select。",
148
- },
149
- description: {
150
- type: "string",
151
- description:
152
- "字段含义说明,既给用户也给 AI 看,例如「订单金额(单位人民币)」。",
153
- },
154
- required: {
155
- type: "boolean",
156
- description: "是否为必填字段。",
157
- },
158
- options: {
159
- type: "array",
160
- items: { type: "string" },
161
- description:
162
- "当 type 为 select 或 multi_select 时可用,表示允许的取值列表,例如 [\"created\",\"paid\",\"done\"]。",
163
- },
164
- },
165
- required: ["name"],
166
- },
167
- },
168
- withDefaultRows: {
169
- type: "boolean",
170
- description:
171
- "是否自动创建两行示例数据。默认 false(AI 创建的表通常不需要示例行)。",
172
- },
173
- },
174
- required: ["columns"],
175
- },
176
- };
177
-
178
- /**
179
- * [Executor] 创建一张新表(调用 tableSlice.createTable thunk)
180
- */
181
- export async function createTableFunc(
182
- args: CreateTableToolArgs,
183
- thunkApi: any
184
- ): Promise<CreateTableResult> {
185
- const spaceId =
186
- typeof args?.spaceId === "string" && args.spaceId.trim()
187
- ? args.spaceId.trim()
188
- : undefined;
189
- const title =
190
- typeof args?.title === "string" && args.title.trim()
191
- ? args.title.trim()
192
- : undefined;
193
- const purpose =
194
- typeof args?.purpose === "string" && args.purpose.trim()
195
- ? args.purpose.trim()
196
- : undefined;
197
- const description =
198
- typeof args?.description === "string" && args.description.trim()
199
- ? args.description.trim()
200
- : undefined;
201
- const tags =
202
- Array.isArray(args?.tags) && args.tags.length
203
- ? args.tags
204
- .map((t) => (typeof t === "string" ? t.trim() : ""))
205
- .filter(Boolean)
206
- : undefined;
207
- const categoryId =
208
- typeof args?.categoryId === "string" && args.categoryId.trim()
209
- ? args.categoryId.trim()
210
- : undefined;
211
- const withDefaultRows =
212
- typeof args?.withDefaultRows === "boolean" ? args.withDefaultRows : false;
213
-
214
- const columnsInput = Array.isArray(args?.columns) ? args.columns : [];
215
-
216
- if (columnsInput.length === 0) {
217
- throw new Error(
218
- "createTable.columns 至少需要包含一个字段,请根据用户需求设计字段。"
219
- );
220
- }
221
-
222
- // 1. 清洗字段:去空白、去重
223
- const seen = new Set<string>();
224
- const sanitizedColumns: ToolTableColumnInput[] = [];
225
-
226
- for (const col of columnsInput) {
227
- if (!col || typeof col.name !== "string") continue;
228
- const name = col.name.trim();
229
- if (!name) continue;
230
- if (seen.has(name)) continue;
231
- seen.add(name);
232
-
233
- const sanitized: ToolTableColumnInput = { name };
234
-
235
- if (typeof col.label === "string" && col.label.trim()) {
236
- sanitized.label = col.label.trim();
237
- }
238
- if (typeof col.type === "string") {
239
- sanitized.type = col.type as ColumnType;
240
- }
241
- if (typeof col.description === "string" && col.description.trim()) {
242
- sanitized.description = col.description.trim();
243
- }
244
- if (typeof col.required === "boolean") {
245
- sanitized.required = col.required;
246
- }
247
- if (Array.isArray(col.options)) {
248
- const opts = col.options
249
- .map((opt) => (typeof opt === "string" ? opt.trim() : ""))
250
- .filter(Boolean);
251
- if (opts.length) sanitized.options = opts;
252
- }
253
-
254
- sanitizedColumns.push(sanitized);
255
- }
256
-
257
- if (sanitizedColumns.length === 0) {
258
- throw new Error(
259
- "createTable.columns 中没有任何有效的字段名,请为至少一个字段提供非空的 name。"
260
- );
261
- }
262
-
263
- // 2. 构造 CreateTableArgs(与 render/table/createTableAction.ts 对齐)
264
- const createArgs: any = {
265
- spaceId,
266
- title,
267
- purpose,
268
- description,
269
- tags,
270
- categoryId,
271
- columns: sanitizedColumns,
272
- withDefaultRows,
273
- };
274
-
275
- try {
276
- const actionResult = await thunkApi.dispatch(createTable(createArgs));
277
-
278
- if (!createTable.fulfilled.match(actionResult)) {
279
- const msg =
280
- (actionResult.payload as string) ||
281
- actionResult.error?.message ||
282
- "创建表失败";
283
- throw new Error(msg);
284
- }
285
-
286
- // createTableAction 返回的是 dbKey(string)
287
- const dbKey = actionResult.payload as string;
288
-
289
- // 解析出 tenantId / tableId
290
- const { tenantId, tableId } = parseMetaKey(dbKey);
291
-
292
- const finalTitle = title || "新建表格";
293
- const colNamesForDisplay = sanitizedColumns.map((c) => c.name).join(", ");
294
-
295
- // 给聊天前端的结构化数据,供 Tool 卡片渲染
296
- const tableMetaForUi = {
297
- dbKey, // meta-{tenantId}-{tableId}
298
- tenantId,
299
- tableId,
300
- displayName: finalTitle,
301
- description,
302
- tags,
303
- columns: sanitizedColumns, // [{ name, label?, type?, description?, required?, options? }]
304
- };
305
-
306
- return {
307
- rawData: tableMetaForUi,
308
- displayData:
309
- `已创建新表「${finalTitle}」(tableId: ${tableId})。\n` +
310
- `字段列表:${colNamesForDisplay}\n\n` +
311
- `接下来调用 addTableRow 时,请传入完整结构:\n` +
312
- `{\n` +
313
- ` "tenantId": "${tenantId}",\n` +
314
- ` "tableId": "${tableId}",\n` +
315
- ` "values": {\n` +
316
- ` "列名": "字段值"\n` +
317
- ` }\n` +
318
- `}\n\n` +
319
- `服务器返回 dbKey:\n${toPreviewJson(dbKey)}`,
320
- };
321
- } catch (error: any) {
322
- throw new Error(
323
- `createTable 调用失败:${error?.message ?? "未知错误"}`
324
- );
325
- }
326
- }