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
package/database/keys.ts DELETED
@@ -1,767 +0,0 @@
1
- // 文件: database/keys.ts
2
-
3
- /* ===========================================================================
4
- * keys.ts —— 统一的 Key 辅助函数集合
5
- * 1) 通用存储键(row / idx / dir / meta / view /
6
- * 2) 现有业务键(user / tx / token / dialog / page / cybot …)
7
- * 3) 收藏(favorite)相关键(区分 id / key)
8
- * =========================================================================*/
9
-
10
- import { ulid } from "./utils/ulid";
11
- import { curry } from "rambda";
12
- import { DataType } from "../create/types"; // 枚举:DIALOG / PAGE / CYBOT …
13
-
14
- /* --------------------------------------------------------------------------
15
- * 基础工具
16
- * ------------------------------------------------------------------------*/
17
-
18
- export const SEPARATOR = "-";
19
-
20
- export const createKey = (...parts: (string | number)[]) =>
21
- parts.join(SEPARATOR);
22
-
23
- export const splitKey = (key: string) => key.split(SEPARATOR);
24
-
25
- /**
26
- * 判断一个 dbKey 是否是「表定义(TableMeta)」的 key
27
- * 形如:meta-{tenantId}-{tableId}
28
- */
29
- export const isTableMetaKey = (key: string): boolean => {
30
- const parts = splitKey(key);
31
- return parts.length >= 3 && parts[0] === "meta";
32
- };
33
-
34
- /**
35
- * 判断一个 dbKey 是否是 Page 的 key
36
- * 形如:PAGE-{userId}-{pageId}
37
- */
38
- export const isPageKey = (key: string): boolean => {
39
- const parts = splitKey(key);
40
- return parts.length >= 3 && parts[0] === DataType.DOC;
41
- };
42
-
43
- /**
44
- * 判断一个 dbKey 是否是 Dialog 的 key
45
- * 形如:DIALOG-{userId}-{dialogId}
46
- */
47
- export const isDialogKey = (key: string): boolean => {
48
- const parts = splitKey(key);
49
- return parts.length >= 3 && parts[0] === DataType.DIALOG;
50
- };
51
-
52
- export const isTaskKey = (key: string): boolean => {
53
- const parts = splitKey(key);
54
- return parts.length >= 3 && parts[0] === DataType.TASK;
55
- };
56
-
57
- /**
58
- * 判断一个 dbKey 是否是 File/Image 的 key
59
- * 形如:file-{userId}-{fileId} 或 image-{userId}-{imageId}
60
- */
61
- export const isFileKey = (key: string): boolean => {
62
- const parts = splitKey(key);
63
- return (
64
- parts.length >= 3 &&
65
- (parts[0] === DataType.FILE || parts[0] === DataType.IMAGE)
66
- );
67
- };
68
-
69
- /**
70
- * 判断一个 dbKey 是否是 Agent/Cybot 的 key
71
- * 形如:agent-{userId}-{agentId} 或 cybot-{userId}-{agentId}
72
- */
73
- export const isAgentKey = (key: string): boolean => {
74
- const parts = splitKey(key);
75
- return (
76
- parts.length >= 3 &&
77
- (parts[0] === DataType.AGENT || parts[0] === DataType.CYBOT)
78
- );
79
- };
80
-
81
- /**
82
- * 判断一个 dbKey 是否是 App 的 key
83
- * 形如:app-{userId}-{appId}
84
- */
85
- export const isAppKey = (key: string): boolean => {
86
- const parts = splitKey(key);
87
- return parts.length >= 2 && parts[0] === DataType.APP;
88
- };
89
-
90
- /**
91
- * 判断一个 dbKey 是否是 Email 的 key
92
- * 形如:email-{ownerId}-{emailId}
93
- */
94
- export const isEmailKey = (key: string): boolean => {
95
- const parts = splitKey(key);
96
- return parts.length >= 3 && parts[0] === DataType.EMAIL;
97
- };
98
-
99
-
100
- /* --------------------------------------------------------------------------
101
- * 1. 通用存储键 —— 行 / 索引 / 目录 / 元数据 / 视图 / 触发器
102
- * ------------------------------------------------------------------------*/
103
-
104
- /**
105
- * 行主键(表行)
106
- *
107
- * 形如:
108
- * row-{tenantId}-{tableId}-{rowId}
109
- *
110
- * 设计原则:
111
- * - 统一以 "row" 前缀标识实体类型,便于全库扫描时按前缀过滤
112
- * - 以 tenantId 在前、tableId 在后,便于:
113
- * - 按租户导出/删除:row-{tenantId}-
114
- * - 按 (tenantId, tableId) 扫描整张表:row-{tenantId}-{tableId}-
115
- */
116
- export const rowKey = {
117
- /** 生成新行主键 + rowId */
118
- create: (tenantId: string, tableId: string) => {
119
- const rowId = ulid();
120
- return { dbKey: createKey("row", tenantId, tableId, rowId), rowId };
121
- },
122
-
123
- /** 单行键 */
124
- single: (tenantId: string, tableId: string, rowId: string) =>
125
- createKey("row", tenantId, tableId, rowId),
126
-
127
- /** 整张表的范围(gte / lte)—— 供批量操作使用 */
128
- range: (tenantId: string, tableId: string) => {
129
- const start = createKey("row", tenantId, tableId, "");
130
- return {
131
- gte: start,
132
- lte: start + "\uffff",
133
- };
134
- },
135
-
136
- /** 旧接口(start / end)—— 与早期代码兼容 */
137
- rangeOfTable: (tenantId: string, tableId: string) => {
138
- const start = createKey("row", tenantId, tableId, "");
139
- return {
140
- start,
141
- end: start + "\uffff",
142
- };
143
- },
144
-
145
- /** 某个租户的所有行范围 */
146
- rangeOfTenant: (tenantId: string) => {
147
- const start = createKey("row", tenantId, "");
148
- return {
149
- start,
150
- end: start + "\uffff",
151
- };
152
- },
153
- };
154
-
155
- /**
156
- * 二级索引键(表行索引用)
157
- *
158
- * 形如:
159
- * idx-{tenantId}-{tableId}-{indexName}-{indexKey}-{rowId}
160
- *
161
- * 说明:
162
- * - 与 rowKey 一致,tenantId 在前、tableId 在后
163
- * - 某表所有索引:
164
- * prefix: idx-{tenantId}-{tableId}-
165
- * - 某索引名前缀:
166
- * idx-{tenantId}-{tableId}-{indexName}-{indexKeyPrefix}
167
- */
168
- export const idxKey = {
169
- /** 写入单条索引 */
170
- put: (
171
- tenantId: string,
172
- tableId: string,
173
- indexName: string,
174
- indexKey: string,
175
- rowId: string
176
- ) => createKey("idx", tenantId, tableId, indexName, indexKey, rowId),
177
-
178
- /** 某一索引名前缀的范围(start / end)—— 供前缀扫描 */
179
- range: (
180
- tenantId: string,
181
- tableId: string,
182
- indexName: string,
183
- indexKeyPrefix = ""
184
- ) => {
185
- const start = createKey(
186
- "idx",
187
- tenantId,
188
- tableId,
189
- indexName,
190
- indexKeyPrefix
191
- );
192
- return { start, end: start + "\uffff" };
193
- },
194
-
195
- /** 整张表所有索引的范围(gte / lte)—— 供整表删除 */
196
- prefix: (tenantId: string, tableId: string) => {
197
- const start = createKey("idx", tenantId, tableId, "");
198
- return {
199
- gte: start,
200
- lte: start + "\uffff",
201
- };
202
- },
203
-
204
- /** 某个租户的所有索引范围 */
205
- rangeOfTenant: (tenantId: string) => {
206
- const start = createKey("idx", tenantId, "");
207
- return {
208
- start,
209
- end: start + "\uffff",
210
- };
211
- },
212
- };
213
-
214
- /**
215
- * 元数据键(表定义 TableMeta)
216
- *
217
- * 形如:
218
- * meta-{tenantId}-{tableId}
219
- */
220
- export const metaKey = Object.assign(
221
- (tenantId: string, tableId: string) => createKey("meta", tenantId, tableId),
222
- {
223
- /** 某个租户的所有表定义范围 */
224
- rangeOfTenant: (tenantId: string) => {
225
- const start = createKey("meta", tenantId, "");
226
- return {
227
- start,
228
- end: start + "\uffff",
229
- };
230
- },
231
- }
232
- );
233
-
234
- /**
235
- * 视图键(TableView)
236
- *
237
- * 形如:
238
- * view-{tenantId}-{tableId}-{viewId}
239
- *
240
- * 用途:
241
- * - 为某张表定义多个视图(grid / kanban / calendar 等)
242
- * - 视图本身作为独立实体存储,便于按表/租户管理
243
- */
244
- export const viewKey = {
245
- /** 创建一个新视图 key + viewId(由调用方生成或传入) */
246
- create: (tenantId: string, tableId: string, viewId?: string) => {
247
- const id = viewId || ulid();
248
- const dbKey = createKey("view", tenantId, tableId, id);
249
- return { dbKey, id };
250
- },
251
-
252
- /** 某一视图的单键 */
253
- single: (tenantId: string, tableId: string, viewId: string) =>
254
- createKey("view", tenantId, tableId, viewId),
255
-
256
- /** 某张表下面的所有视图范围 */
257
- rangeOfTable: (tenantId: string, tableId: string) => {
258
- const start = createKey("view", tenantId, tableId, "");
259
- return {
260
- start,
261
- end: start + "\uffff",
262
- };
263
- },
264
-
265
- /** 某个租户的所有视图范围 */
266
- rangeOfTenant: (tenantId: string) => {
267
- const start = createKey("view", tenantId, "");
268
- return {
269
- start,
270
- end: start + "\uffff",
271
- };
272
- },
273
- };
274
-
275
-
276
-
277
- /* --------------------------------------------------------------------------
278
- * 2. 业务侧原有键(保持完全兼容)
279
- * ------------------------------------------------------------------------*/
280
-
281
- export const DB_PREFIX = {
282
- USER: "user:",
283
- } as const;
284
-
285
- /* ---- User ---- */
286
- // TODO(keys): 目前 user 相关 key 没有统一的前缀(如 "user-settings-"),
287
- // 将来如果需要按实体类型/租户范围扫描,可以考虑加前缀做一次轻量重构。
288
- export const createUserKey = {
289
- settings: (userId: string) => createKey(userId, "settings"),
290
- profile: (userId: string) => createKey(userId, "profile"),
291
- };
292
-
293
- /**
294
- * 用户级“寄存器 / 指针”key。
295
- *
296
- * 用于存放跨服务器 sticky 的小型决策状态(如默认 space 指针),
297
- * 避免把这类高价值字段长期埋在整份 settings blob 里做粗粒度 LWW。
298
- */
299
- export const createUserPreferenceKey = {
300
- single: (userId: string, preferenceName: string) =>
301
- createKey("user", "pref", userId, preferenceName),
302
- authorityHome: (userId: string) =>
303
- createKey("user", "pref", userId, "authority_home"),
304
- defaultSpace: (userId: string) =>
305
- createKey("user", "pref", userId, "space_default"),
306
- defaultAgent: (userId: string) =>
307
- createKey("user", "pref", userId, "agent_default"),
308
- rangeOfUser: (userId: string) => ({
309
- start: createKey("user", "pref", userId, ""),
310
- end: createKey("user", "pref", userId, "\uffff"),
311
- }),
312
- };
313
-
314
- /* ---- Memory ---- */
315
- export const createMemoryKey = (
316
- ownerType: "user" | "space" | "system",
317
- ownerId: string,
318
- memoryId: string
319
- ) => createKey("mem", ownerType, ownerId, memoryId);
320
-
321
- export const createMemoryOwnerIndexKey = (
322
- ownerType: "user" | "space" | "system",
323
- ownerId: string,
324
- createdAt: string,
325
- memoryId: string
326
- ) => createKey("memidx", "owner", ownerType, ownerId, createdAt, memoryId);
327
-
328
- export const createMemorySubjectKindIndexKey = (
329
- subjectType: "user" | "agent" | "space" | "project" | "system",
330
- subjectId: string,
331
- kind: "episodic" | "semantic" | "procedural",
332
- createdAt: string,
333
- memoryId: string
334
- ) =>
335
- createKey(
336
- "memidx",
337
- "subject",
338
- subjectType,
339
- subjectId,
340
- kind,
341
- createdAt,
342
- memoryId
343
- );
344
-
345
- export const isMemoryKey = (key: string): boolean => {
346
- const parts = splitKey(key);
347
- return parts.length >= 4 && parts[0] === "mem";
348
- };
349
-
350
- export const memoryOwnerRange = (
351
- ownerType: "user" | "space" | "system",
352
- ownerId: string
353
- ) => ({
354
- start: createKey("memidx", "owner", ownerType, ownerId, ""),
355
- end: createKey("memidx", "owner", ownerType, ownerId, "\uffff"),
356
- });
357
-
358
- export const memorySubjectKindRange = (
359
- subjectType: "user" | "agent" | "space" | "project" | "system",
360
- subjectId: string,
361
- kind: "episodic" | "semantic" | "procedural"
362
- ) => ({
363
- start: createKey("memidx", "subject", subjectType, subjectId, kind, ""),
364
- end: createKey("memidx", "subject", subjectType, subjectId, kind, "\uffff"),
365
- });
366
-
367
- /* ---- Transaction ---- */
368
- // TODO(keys): tx 相关 key 目前前缀为 "tx",结构为 tx-{userId}-{txId},
369
- // 与表 row/idx/meta 的租户在前原则基本一致,可以后续统一文档说明。
370
- export const createTransactionKey = {
371
- record: curry((userId: string, txId: string) =>
372
- createKey("tx", userId, txId)
373
- ),
374
- index: (txId: string) => createKey("tx", "index", txId),
375
- range: (userId: string) => ({
376
- start: createKey("tx", userId, ""),
377
- end: createKey("tx", userId, "\uffff"),
378
- }),
379
- };
380
-
381
- /* ---- Token ---- */
382
- // TODO(keys): token 统计相关 key 已经带有 "token" 前缀,整体结构还算统一,
383
- // 将来如果需要按 tenant 维度聚合,再考虑是否引入 tenantId 作为前缀第二位。
384
- export const createTokenKey = {
385
- record: curry((userId: string, timestamp: number) =>
386
- createKey("token", userId, timestamp.toString())
387
- ),
388
- range: (userId: string, timestamp: number) => ({
389
- start: createKey("token", userId, timestamp.toString()),
390
- end: createKey("token", userId, (timestamp + 86_400_000).toString()),
391
- }),
392
- /** 某个用户的所有 Token 记录范围 */
393
- rangeOfUser: (userId: string) => ({
394
- start: createKey("token", userId, ""),
395
- end: createKey("token", userId, "\uffff"),
396
- }),
397
- };
398
-
399
- /* ---- Token Stats ---- */
400
- export const createTokenStatsKey = Object.assign(
401
- (userId: string, dateKey: string) =>
402
- createKey("token", "stats", "day", "user", userId, dateKey),
403
- {
404
- /** 某个用户的所有统计记录范围 */
405
- rangeOfUser: (userId: string) => ({
406
- start: createKey("token", "stats", "day", "user", userId, ""),
407
- end: createKey("token", "stats", "day", "user", userId, "\uffff"),
408
- }),
409
- }
410
- );
411
-
412
- /* ---- Dialog ---- */
413
- // TODO(keys): Dialog 相关 key 使用 DataType.DIALOG 前缀,结构为
414
- // DIALOG-{userId}-{dialogId} / DIALOG-{dialogId}-msg-{messageId},
415
- // 已经与其它实体类型的前缀策略对齐,可以保持。
416
- export const createDialogKey = Object.assign(
417
- (userId: string) => createKey(DataType.DIALOG, userId, ulid()),
418
- {
419
- rangeOfUser: (userId: string) => ({
420
- start: createKey(DataType.DIALOG, userId, ""),
421
- end: createKey(DataType.DIALOG, userId, "\uffff"),
422
- }),
423
- }
424
- );
425
-
426
- export const createTaskKey = Object.assign(
427
- (userId: string) => createKey(DataType.TASK, userId, ulid()),
428
- {
429
- rangeOfUser: (userId: string) => ({
430
- start: createKey(DataType.TASK, userId, ""),
431
- end: createKey(DataType.TASK, userId, "\uffff"),
432
- }),
433
- }
434
- );
435
-
436
- /* ---- Notification ---- */
437
- export const createNotificationKey = {
438
- single: (userId: string, notificationId: string) =>
439
- createKey(DataType.NOTIFICATION, userId, notificationId),
440
- rangeOfUser: (userId: string) => ({
441
- start: createKey(DataType.NOTIFICATION, userId, ""),
442
- end: createKey(DataType.NOTIFICATION, userId, "\uffff"),
443
- }),
444
- };
445
-
446
- export const emailKey = {
447
- create: (ownerId: string) => {
448
- const emailId = ulid();
449
- return { dbKey: createKey(DataType.EMAIL, ownerId, emailId), emailId };
450
- },
451
- single: (ownerId: string, emailId: string) =>
452
- createKey(DataType.EMAIL, ownerId, emailId),
453
- rangeOfOwner: (ownerId: string) => ({
454
- start: createKey(DataType.EMAIL, ownerId, ""),
455
- end: createKey(DataType.EMAIL, ownerId, "\uffff"),
456
- }),
457
- };
458
-
459
- export const createDialogMessageKeyAndId = (
460
- dialogId: string,
461
- ulidFn: () => string = ulid
462
- ): { key: string; messageId: string } => {
463
- const messageId = ulidFn();
464
- const key = createKey(DataType.DIALOG, dialogId, "msg", messageId);
465
- return { key, messageId };
466
- };
467
-
468
- /**
469
- * 某个对话下所有消息的 key 范围
470
- * 形如:DIALOG-{dialogId}-msg-{messageId}
471
- */
472
- export const dialogMessageRange = (dialogId: string) => ({
473
- start: createKey(DataType.DIALOG, dialogId, "msg", ""),
474
- end: createKey(DataType.DIALOG, dialogId, "msg", "\uffff"),
475
- });
476
-
477
- /* ---- Page ---- */
478
- // TODO(keys): Page key 目前为 PAGE-{userId}-{pageId},与 Dialog 一致,
479
- // 后续如果有“空间 Space 维度”的独立前缀,可以评估是否要引入 spaceId。
480
- export const createPageKey = {
481
- create: (userId: string) => {
482
- const id = ulid();
483
- return { dbKey: createKey(DataType.DOC, userId, id), id };
484
- },
485
- rangeOfUser: (userId: string) => ({
486
- start: createKey(DataType.DOC, userId, ""),
487
- end: createKey(DataType.DOC, userId, "\uffff"),
488
- }),
489
- };
490
-
491
- /* ---- Cybot / Agent ---- */
492
- // TODO(keys): Agent/Cybot 已采用 DataType.CYBOT 前缀 + userId/cybotId,
493
- // 后续如果引入多租户组织层,可以考虑把 orgId 作为第二位前缀。
494
- export const createCybotKey = {
495
- private: curry((userId: string, cybotId: string) =>
496
- createKey(DataType.CYBOT, userId, cybotId)
497
- ),
498
- public: (cybotId: string) => createKey(DataType.CYBOT, "pub", cybotId),
499
- rangeOfUser: (userId: string) => ({
500
- start: createKey(DataType.CYBOT, userId, ""),
501
- end: createKey(DataType.CYBOT, userId, "\uffff"),
502
- }),
503
- };
504
-
505
- /**
506
- * 推荐使用:新的 Agent Key 系列
507
- * 使用 DataType.AGENT ("agent") 前缀
508
- */
509
- export const createAgentKey = {
510
- private: curry((userId: string, agentId: string) =>
511
- createKey(DataType.AGENT, userId, agentId)
512
- ),
513
- public: (agentId: string) => createKey(DataType.AGENT, "pub", agentId),
514
- rangeOfUser: (userId: string) => ({
515
- start: createKey(DataType.AGENT, userId, ""),
516
- end: createKey(DataType.AGENT, userId, "\uffff"),
517
- }),
518
- };
519
-
520
- /**
521
- * 公开 Agent 列表范围(现有)
522
- * CYBOT-pub-{id}
523
- */
524
- export const pubAgentKeys = {
525
- single: (cybotId: string) => createKey(DataType.CYBOT, "pub", cybotId),
526
- list: () => ({
527
- start: createKey(DataType.CYBOT, "pub", ""),
528
- end: createKey(DataType.CYBOT, "pub", "\uffff"),
529
- }),
530
- /** 同时获取 cybot-pub 和 agent-pub 两个前缀的范围 */
531
- allPublicRanges: () => [
532
- {
533
- start: createKey(DataType.CYBOT, "pub", ""),
534
- end: createKey(DataType.CYBOT, "pub", "\uffff"),
535
- },
536
- {
537
- start: createKey(DataType.AGENT, "pub", ""),
538
- end: createKey(DataType.AGENT, "pub", "\uffff"),
539
- },
540
- ],
541
- };
542
-
543
- /* ---- Share (re-exported from share/keys) ---- */
544
- export { shareKey } from "../share/keys";
545
-
546
- /* --------------------------------------------------------------------------
547
- * 3. 收藏(Favorite)相关键 —— 显式区分 id / key
548
- * ------------------------------------------------------------------------*/
549
-
550
- const FAV_PREFIX = "fav";
551
-
552
- // 类型区分:AgentId 是“逻辑 ID”(比如 cybotId),AgentKey 是“存储键 / dbKey”
553
- export type AgentId = string;
554
- export type AgentKey = string;
555
- // TODO(keys): 将来如果 Page/File 也有单独逻辑 ID,可以在这里增加 PageId/FileId 类型。
556
-
557
- /**
558
- * 收藏关系:
559
- *
560
- * 当前实际使用的是「按 agentKey 存」的版本(byKey):
561
- * - Agent:fav-agent-key-{userId}-{agentKey}
562
- * - Page :fav-page-key-{userId}-{pageKey}
563
- *
564
- * 预留了一套「按逻辑 ID 存」的前缀(byId),将来如果有更抽象的逻辑 ID,可以切换到该版本。
565
- */
566
- export const createFavoriteKey = {
567
- /* ---------- Agent 收藏(按 agentKey 存,当前使用) ---------- */
568
-
569
- /**
570
- * 某个用户收藏了某个 Agent 实例(用完整的 agentKey/dbKey)
571
- * key: fav-agent-key-{userId}-{agentKey}
572
- */
573
- agentByKey: (userId: string, agentKey: AgentKey) =>
574
- createKey(FAV_PREFIX, "agent", "key", userId, agentKey),
575
-
576
- /**
577
- * 查询某用户收藏的所有 Agent(基于 agentKey 版本)
578
- * 范围: [fav-agent-key-{userId}-, fav-agent-key-{userId}-\uffff]
579
- */
580
- agentKeyRangeOfUser: (userId: string) => ({
581
- start: createKey(FAV_PREFIX, "agent", "key", userId, ""),
582
- end: createKey(FAV_PREFIX, "agent", "key", userId, "\uffff"),
583
- }),
584
-
585
- userRangeOfAgentKey: (agentKey: AgentKey) => ({
586
- start: createKey(FAV_PREFIX, "agent", "key", "by-agent", agentKey, ""),
587
- end: createKey(FAV_PREFIX, "agent", "key", "by-agent", agentKey, "\uffff"),
588
- }),
589
- agentByKeyReverse: (agentKey: AgentKey, userId: string) =>
590
- createKey(FAV_PREFIX, "agent", "key", "by-agent", agentKey, userId),
591
-
592
- /* ---------- Agent 收藏(按 agentId 存,预留,将来可用) ---------- */
593
-
594
- /**
595
- * 某个用户收藏了某个逻辑 AgentId(当前未使用,预留)
596
- * key: fav-agent-id-{userId}-{agentId}
597
- */
598
- agentById: (userId: string, agentId: AgentId) =>
599
- createKey(FAV_PREFIX, "agent", "id", userId, agentId),
600
-
601
- /** 查询某用户收藏的所有 AgentId(预留) */
602
- agentIdRangeOfUser: (userId: string) => ({
603
- start: createKey(FAV_PREFIX, "agent", "id", userId, ""),
604
- end: createKey(FAV_PREFIX, "agent", "id", userId, "\uffff"),
605
- }),
606
-
607
- userRangeOfAgentId: (agentId: AgentId) => ({
608
- start: createKey(FAV_PREFIX, "agent", "id", "by-agent", agentId, ""),
609
- end: createKey(FAV_PREFIX, "agent", "id", "by-agent", agentId, "\uffff"),
610
- }),
611
- agentByIdReverse: (agentId: AgentId, userId: string) =>
612
- createKey(FAV_PREFIX, "agent", "id", "by-agent", agentId, userId),
613
-
614
- /* ---------- Page 收藏(同样区分 key / id,当前可以只用 byKey) ---------- */
615
-
616
- // Page byKey: fav-page-key-{userId}-{pageKey}
617
- pageByKey: (userId: string, pageKey: string) =>
618
- createKey(FAV_PREFIX, "page", "key", userId, pageKey),
619
-
620
- pageKeyRangeOfUser: (userId: string) => ({
621
- start: createKey(FAV_PREFIX, "page", "key", userId, ""),
622
- end: createKey(FAV_PREFIX, "page", "key", userId, "\uffff"),
623
- }),
624
-
625
- userRangeOfPageKey: (pageKey: string) => ({
626
- start: createKey(FAV_PREFIX, "page", "key", "by-page", pageKey, ""),
627
- end: createKey(FAV_PREFIX, "page", "key", "by-page", pageKey, "\uffff"),
628
- }),
629
- pageByKeyReverse: (pageKey: string, userId: string) =>
630
- createKey(FAV_PREFIX, "page", "key", "by-page", pageKey, userId),
631
-
632
- // Page byId(预留)
633
- pageById: (userId: string, pageId: string) =>
634
- createKey(FAV_PREFIX, "page", "id", userId, pageId),
635
-
636
- pageIdRangeOfUser: (userId: string) => ({
637
- start: createKey(FAV_PREFIX, "page", "id", userId, ""),
638
- end: createKey(FAV_PREFIX, "page", "id", userId, "\uffff"),
639
- }),
640
-
641
- userRangeOfPageId: (pageId: string) => ({
642
- start: createKey(FAV_PREFIX, "page", "id", "by-page", pageId, ""),
643
- end: createKey(FAV_PREFIX, "page", "id", "by-page", pageId, "\uffff"),
644
- }),
645
-
646
- pageByIdReverse: (pageId: string, userId: string) =>
647
- createKey(FAV_PREFIX, "page", "id", "by-page", pageId, userId),
648
-
649
- /** 从 dbKey 中解析出目标标识符 (agentKey/agentId/pageKey/pageId) */
650
- getIdentifierFromKey: (key: string) => {
651
- const parts = key.split(SEPARATOR);
652
- // 结构: fav-{type}-{mode}-{userId}-{targetIdentifier...}
653
- return parts.slice(4).join(SEPARATOR);
654
- },
655
- };
656
-
657
- /**
658
- * 收藏统计:
659
- * - Agent byKey:fav-agent-count-key-{agentKey}(当前实际使用)
660
- * - Agent byId :fav-agent-count-id-{agentId}(预留)
661
- * - Page 同理
662
- */
663
- export const createFavoriteStatsKey = {
664
- // 被多少人收藏的 Agent(按 agentKey 统计,当前实际使用)
665
- agentByKey: (agentKey: AgentKey) =>
666
- createKey(FAV_PREFIX, "agent-count", "key", agentKey),
667
-
668
- // 预留:按逻辑 AgentId 统计
669
- agentById: (agentId: AgentId) =>
670
- createKey(FAV_PREFIX, "agent-count", "id", agentId),
671
-
672
- // Page:按 pageKey 统计(预留)
673
- pageByKey: (pageKey: string) =>
674
- createKey(FAV_PREFIX, "page-count", "key", pageKey),
675
-
676
- pageById: (pageId: string) =>
677
- createKey(FAV_PREFIX, "page-count", "id", pageId),
678
- };
679
-
680
-
681
- export const jobKey = {
682
- create: (tenantId: string, jobId?: string) => {
683
- const id = jobId || ulid();
684
- const dbKey = createKey("job", tenantId, id);
685
- return { dbKey, id };
686
- },
687
- single: (tenantId: string, jobId: string) =>
688
- createKey("job", tenantId, jobId),
689
- rangeOfTenant: (tenantId: string) => {
690
- const start = createKey("job", tenantId, "");
691
- return { start, end: start + "\uffff" };
692
- },
693
- };
694
-
695
- /* --------------------------------------------------------------------------
696
- * 4. 文件(Blob / File / Stats)相关 key
697
- * ------------------------------------------------------------------------*/
698
-
699
- /**
700
- * Blob 主记录:
701
- * blob-{sha256}
702
- *
703
- * 说明:
704
- * - 以 sha256 唯一标识物理内容
705
- * - 用于查重和 refCount 管理
706
- */
707
- export const blobKey = (sha256: string): string => createKey("blob", sha256);
708
-
709
- /**
710
- * File 主记录:
711
- * file-{tenantId}-{fileId}
712
- *
713
- * 说明:
714
- * - tenantId 在前,便于按租户范围扫描 / 清理
715
- * - fileId 通常为 ulid
716
- */
717
- export const fileKey = {
718
- single: (tenantId: string, fileId: string): string =>
719
- createKey("file", tenantId, fileId),
720
-
721
- rangeOfTenant: (tenantId: string): { start: string; end: string } => {
722
- const start = createKey("file", tenantId, "");
723
- return {
724
- start,
725
- end: start + "\uffff",
726
- };
727
- },
728
- };
729
-
730
- /**
731
- * File 反查索引:
732
- * file-id-{fileId} -> { tenantId, fileId }
733
- *
734
- * 说明:
735
- * - 便于通过 fileId(URL 里只有这个)快速找到 tenant 维度的主记录
736
- * - 避免通过全库扫描来反查 tenantId
737
- */
738
- export const fileIdIndexKey = (fileId: string): string =>
739
- createKey("file", "id", fileId);
740
-
741
- /** 从 fileKey 中解析出 fileId */
742
- export const getFileIdFromKey = (key: string) => {
743
- const parts = key.split(SEPARATOR);
744
- return parts[2]; // file-{userId}-{fileId}
745
- };
746
-
747
-
748
- /**
749
- * 文件统计:
750
- *
751
- * - 按租户 + 日:
752
- * file-stat-tenant-{tenantId}-{dateKey}
753
- *
754
- * - 按模型 + 日(AI 生成):
755
- * file-stat-model-{modelName}-{dateKey}
756
- *
757
- * 说明:
758
- * - 仅存聚合数字,不重复存 metadata
759
- * - dateKey 建议使用 "YYYYMMDD"
760
- */
761
- export const fileStatKey = {
762
- tenantPerDay: (tenantId: string, dateKey: string): string =>
763
- createKey("file", "stat", "tenant", tenantId, dateKey),
764
-
765
- modelPerDay: (modelName: string, dateKey: string): string =>
766
- createKey("file", "stat", "model", modelName, dateKey),
767
- };