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,126 +0,0 @@
1
- import type { Message } from "../../chat/messages/types";
2
- import type { ToolRun } from "../tools/toolRunSlice";
3
-
4
- const APP_TOOL_NAMES = new Set([
5
- "appList",
6
- "appRead",
7
- "appDeploy",
8
- "appPreflight",
9
- "appDelete",
10
- ]);
11
-
12
- const contentToText = (content: Message["content"] | undefined): string => {
13
- if (!content) return "";
14
- if (typeof content === "string") return content;
15
- if (Array.isArray(content)) {
16
- return content
17
- .map((part) => ("text" in part ? part.text ?? "" : ""))
18
- .join("\n");
19
- }
20
- return "";
21
- };
22
-
23
- const parseAppListEntries = (text: string): string[] =>
24
- text
25
- .split("\n")
26
- .map((line) => line.trim())
27
- .filter((line) => line.startsWith("- **") && line.includes("(appId:"));
28
-
29
- export const buildRecentAppToolMemory = (
30
- messages: Message[],
31
- toolRuns: ToolRun[],
32
- ): string | null => {
33
- const messageById = new Map(messages.map((msg) => [msg.id, msg]));
34
- const recentRuns = [...toolRuns]
35
- .filter((run) => APP_TOOL_NAMES.has(run.toolName))
36
- .sort((a, b) => (b.startedAt ?? 0) - (a.startedAt ?? 0))
37
- .slice(0, 8);
38
-
39
- if (recentRuns.length === 0) return null;
40
-
41
- const lines: string[] = [
42
- "这些信息来自当前对话里最近的 app 工具调用,不依赖右侧编辑态。",
43
- ];
44
-
45
- const latestDeployLike = recentRuns.find((run) =>
46
- ["appDeploy", "appRead", "appPreflight"].includes(run.toolName),
47
- );
48
- if (latestDeployLike) {
49
- const input = latestDeployLike.input ?? {};
50
- const parts = [
51
- `- 最近一次关键 app 操作: ${latestDeployLike.toolName}`,
52
- typeof input.appId === "string" ? `appId=${input.appId}` : null,
53
- typeof input.name === "string" ? `name=${input.name}` : null,
54
- typeof input.framework === "string" ? `framework=${input.framework}` : null,
55
- ].filter(Boolean);
56
- lines.push(parts.join(","));
57
- }
58
-
59
- const relatedMessages = recentRuns
60
- .map((run) => messageById.get(run.messageId))
61
- .filter((msg): msg is Message => !!msg);
62
-
63
- const appListMessage = relatedMessages.find((msg) => msg.toolName === "appList");
64
- if (appListMessage) {
65
- const entries = parseAppListEntries(contentToText(appListMessage.content)).slice(0, 5);
66
- if (entries.length > 0) {
67
- lines.push("- 最近一次 appList 结果:");
68
- lines.push(...entries.map((entry) => ` ${entry}`));
69
- }
70
- }
71
-
72
- const latestReadMessage = relatedMessages.find((msg) => msg.toolName === "appRead");
73
- if (latestReadMessage) {
74
- const text = contentToText(latestReadMessage.content);
75
- const appId = text.match(/- appId:\s*(.+)/)?.[1]?.trim();
76
- const url = text.match(/- 访问地址:\s*(.+)/)?.[1]?.trim();
77
- if (appId || url) {
78
- lines.push(
79
- [
80
- "- 最近一次 appRead 真值:",
81
- appId ? `appId=${appId}` : null,
82
- url ? `url=${url}` : null,
83
- ]
84
- .filter(Boolean)
85
- .join(","),
86
- );
87
- }
88
- }
89
-
90
- const latestPreflightRun = recentRuns.find((run) => run.toolName === "appPreflight");
91
- if (latestPreflightRun) {
92
- lines.push(
93
- [
94
- "- 最近一次 appPreflight:",
95
- latestPreflightRun.status === "failed" ? "失败" : "已执行",
96
- latestPreflightRun.outputSummary ? `摘要=${latestPreflightRun.outputSummary}` : null,
97
- ]
98
- .filter(Boolean)
99
- .join(","),
100
- );
101
- }
102
-
103
- const latestDeployMessage = relatedMessages.find((msg) => msg.toolName === "appDeploy");
104
- if (latestDeployMessage) {
105
- const text = contentToText(latestDeployMessage.content);
106
- const appId = text.match(/- appId:\s*(.+)/)?.[1]?.trim();
107
- const url = text.match(/- 访问地址:\s*(.+)/)?.[1]?.trim();
108
- if (appId || url) {
109
- lines.push(
110
- [
111
- "- 最近一次 appDeploy 结果:",
112
- appId ? `appId=${appId}` : null,
113
- url ? `url=${url}` : null,
114
- ]
115
- .filter(Boolean)
116
- .join(","),
117
- );
118
- }
119
- }
120
-
121
- lines.push(
122
- "- 如果用户说“刚才那个 app / 那个网站”,优先把它理解为上面最近一次被读取、预检或部署的应用;若仍有歧义,再用 appList 或 appRead 确认。",
123
- );
124
-
125
- return lines.join("\n");
126
- };
@@ -1,378 +0,0 @@
1
- // 文件路径: ai/agent/buildEditingContext.ts
2
-
3
- import type { RootState } from "../../app/store";
4
- import type { AgentRuntimeOptions } from "./types";
5
- import { buildCanvasNodeEditingContextSummary } from "./canvasEditingContext";
6
- import { selectCurrentTable, selectTableRows } from "../../render/table/tableSlice";
7
- import { selectDoc } from "../../render/page/docSlice";
8
-
9
- type AppConstraintPack = {
10
- id: string;
11
- title: string;
12
- rules: string[];
13
- };
14
-
15
- const buildAppConstraintPacks = (args: {
16
- framework: string;
17
- fileNames: string[];
18
- externalImports: string[];
19
- }): AppConstraintPack[] => {
20
- const imports = new Set(args.externalImports);
21
- const fileSet = new Set(args.fileNames);
22
- const packs: AppConstraintPack[] = [
23
- {
24
- id: "repair-loop",
25
- title: "预检与定点修复",
26
- rules: [
27
- "每次改完代码后,先调用 appPreflight,只有预检通过后再调用 appDeploy。",
28
- "如果 preflight / deploy 失败,优先根据返回的 issues 做定点修复,然后重新 preflight;不要无关重写整页应用。",
29
- "如果工具结果里带有 repairPlan,默认立即执行 repairPlan 中的局部修复步骤,不要先停下来问用户。",
30
- "如果工具结果明确说明是 HTML / 非 JSON 响应、transport failure 或 retryable=false,停止自动 deploy 重试;这说明当前是平台通道异常,不是代码问题。",
31
- ],
32
- },
33
- {
34
- id: "design-system",
35
- title: "设计系统与小改动约束",
36
- rules: [
37
- "先检查当前应用是否已经有 theme / tokens / designSystem / 共享样式常量;如果已有,优先沿用这套设计系统,不要平行再造一套。",
38
- "如果当前应用还没有设计系统,而用户需求涉及 UI / 样式 / 新页面,优先补一层最小共享 token(colors、typography、spacing、radius、shadow),再让组件消费这些 token。",
39
- "如果当前应用是旧写法:视觉值散落在多个组件的硬编码 style / 常量里,而本次需求只是调字体、颜色、间距、圆角、阴影,默认执行一次最小 token 迁移,再在 token 层完成调整;不要继续把新数字散落写回多个位置。",
40
- "当用户只是想调字体大小、字重、颜色、圆角、阴影、间距等视觉参数时,优先修改 token 或命中的局部组件,不要顺手重写整个页面结构。",
41
- "除非用户明确要求整体改版或重做风格,否则不要连带修改布局、组件树、文案、数据流、路由或未命中的页面。",
42
- "如果只是小改一处,尽量把变更收敛在少数文件,并保持未命中文件的结构与命名稳定。",
43
- ],
44
- },
45
- ];
46
-
47
- if (args.framework === "react-spa" || fileSet.has("main.tsx") || fileSet.has("App.tsx")) {
48
- packs.push({
49
- id: "react-spa-core",
50
- title: "React SPA 形态保持",
51
- rules: [
52
- '继续沿用 framework: "react-spa" + files,不要退回单文件 Worker。',
53
- "保留稳定入口结构,优先维护 main.tsx + App.tsx,再局部修改组件文件。",
54
- ],
55
- });
56
- }
57
-
58
- if (imports.has("react-icons/lu")) {
59
- packs.push({
60
- id: "react-icons-lu",
61
- title: "Lucide 图标安全规则",
62
- rules: [
63
- "只能使用 react-icons/lu 中真实存在的图标名,不要猜测变体名。",
64
- "如果不确定图标名,优先使用 LuCircle、LuCheck、LuX、LuInfo、LuArrowRight 这类基础图标。",
65
- ],
66
- });
67
- }
68
-
69
- if (imports.has("leaflet") || imports.has("react-leaflet")) {
70
- packs.push({
71
- id: "leaflet",
72
- title: "Leaflet 地图约束",
73
- rules: [
74
- "不要手动 import leaflet.css;平台会自动注入 Leaflet 样式。",
75
- "修改地图时优先保留现有坐标、缩放和图层结构,只做必要的交互或视觉调整。",
76
- ],
77
- });
78
- }
79
-
80
- if (imports.has("@xyflow/react")) {
81
- packs.push({
82
- id: "xyflow",
83
- title: "Flow 图编辑约束",
84
- rules: [
85
- "不要新增外部 CSS import;需要样式时直接补最小必要内联样式或组件内 style 标签。",
86
- "优先复用现有节点/边数据结构,避免重写整套 flow 画布。",
87
- ],
88
- });
89
- }
90
-
91
- if (imports.has("echarts") || imports.has("echarts-for-react")) {
92
- packs.push({
93
- id: "echarts",
94
- title: "图表改动约束",
95
- rules: [
96
- "优先局部修改 option 配置、数据映射和组件 props,不要重写整个图表页面。",
97
- "响应式布局优先靠容器尺寸和现有组件结构调整,不要额外引入 CSS 文件。",
98
- ],
99
- });
100
- }
101
-
102
- if (imports.has("docx") || imports.has("xlsx")) {
103
- packs.push({
104
- id: "file-processing",
105
- title: "文档/表格处理约束",
106
- rules: [
107
- "不要把大型数据或模板内容直接内嵌进代码常量;优先保留运行时加载方式。",
108
- "修改导入导出逻辑时,优先沿用现有文件处理链路和数据结构。",
109
- ],
110
- });
111
- }
112
-
113
- return packs;
114
- };
115
-
116
- const formatAppConstraintPacks = (packs: AppConstraintPack[]): string[] => {
117
- if (packs.length === 0) return [];
118
-
119
- return [
120
- "",
121
- "当前激活约束包(按当前应用依赖/形态动态注入):",
122
- ...packs.flatMap((pack) => [
123
- `- ${pack.title}(${pack.id})`,
124
- ...pack.rules.map((rule) => ` - ${rule}`),
125
- ]),
126
- ];
127
- };
128
-
129
- /**
130
- * 根据当前 Redux 状态 + 本次调用的 runtimeOptions,生成「当前编辑对象」的自然语言描述。
131
- *
132
- * 设计目标:
133
- * - 只返回一段 string 或 null,不关心 Prompt 结构。
134
- * - 不涉及任何持久化(DialogConfig / AgentConfig),完全是运行时。
135
- * - 目前重点支持:
136
- * - kind === "table": 当前表格 + 部分行数据
137
- * - kind === "page" | "article": 当前页面/文章的标题(正文后面可以再丰富)
138
- */
139
- export const buildEditingContextSummary = (
140
- state: RootState,
141
- runtimeOptions?: AgentRuntimeOptions
142
- ): string | null => {
143
- const targetKind = runtimeOptions?.editingTarget?.kind;
144
-
145
- // 1) 表格场景:基于当前表 meta + 行数据
146
- if (targetKind === "table") {
147
- const table = selectCurrentTable(state);
148
- const rows = selectTableRows(state);
149
- const metadata = runtimeOptions?.editingTarget?.metadata;
150
- const focusContext =
151
- metadata && typeof metadata === "object" ? metadata.focusContext : null;
152
-
153
-
154
- if (!table) return null;
155
-
156
-
157
- const columns = Array.isArray(table.columns) ? table.columns : [];
158
-
159
-
160
- const columnSummaries = columns.length
161
- ? columns.map((c) => {
162
- const displayName = c.label || c.name;
163
- const type = c.type || "text";
164
- const requiredFlag = c.required ? "必填" : "可选";
165
- const primaryFlag = c.isPrimary ? ",主字段" : "";
166
- const optionsStr =
167
- Array.isArray(c.options) && c.options.length
168
- ? `,可选值:${c.options.join(" | ")}`
169
- : "";
170
- const descStr = c.description ? `。说明:${c.description}` : "";
171
-
172
-
173
- return `- ${c.name}(显示名:${displayName},类型:${type},${requiredFlag}${primaryFlag}${optionsStr}${descStr})`;
174
- })
175
- : ["- (当前表尚未定义字段)"];
176
-
177
-
178
- // 只给出前 20 行作为结构示例,避免 prompt 过长
179
- const sampleRows = Array.isArray(rows) ? rows.slice(0, 20) : [];
180
- const rowsPreview = sampleRows.length
181
- ? JSON.stringify(sampleRows, null, 2)
182
- : "(当前表暂无行数据)";
183
-
184
-
185
- const tableTitle = table.displayName ?? table.tableId ?? "(未命名表)";
186
- const tableDesc = table.description
187
- ? `用途说明:${table.description}`
188
- : "(暂无用途说明)";
189
-
190
-
191
- // ✅ 新增:如果有表级 tags,把它们也告诉 Agent
192
- const tableTagsLine =
193
- Array.isArray(table.tags) && table.tags.length
194
- ? `- 关键词标签: ${table.tags.join(", ")}`
195
- : null;
196
-
197
-
198
- return [
199
- "当前编辑目标:一张数据表(Editing Table)。",
200
- `- 表 ID: ${table.tableId}`,
201
- `- 显示名称: ${tableTitle}`,
202
- `- ${tableDesc}`,
203
- ...(tableTagsLine ? [tableTagsLine] : []),
204
- ...(focusContext &&
205
- typeof focusContext === "object" &&
206
- "columnName" in focusContext
207
- ? [
208
- "",
209
- "当前焦点(Focus Context):",
210
- `- 当前单元格列: ${String((focusContext as any).columnName ?? "(未知列)")}`,
211
- ...((focusContext as any).rowTitle
212
- ? [`- 当前行标题: ${String((focusContext as any).rowTitle)}`]
213
- : []),
214
- ...((focusContext as any).rowIndex !== null &&
215
- (focusContext as any).rowIndex !== undefined
216
- ? [`- 当前行号: ${Number((focusContext as any).rowIndex) + 1}`]
217
- : []),
218
- ...((focusContext as any).cellPreview
219
- ? [`- 当前单元格内容预览: ${String((focusContext as any).cellPreview)}`]
220
- : []),
221
- ]
222
- : []),
223
- "",
224
- "字段定义(Field Schema):",
225
- ...columnSummaries,
226
- "",
227
- "【给 AI 的操作指南 / 非用户原话】",
228
- "当用户希望在当前表中“新增一行 / 新增记录 / 插入一条 / 帮我记一条 xxx”时:",
229
- "1. 必须调用工具 addTableRow(而不是只在回答中口头描述要新增的数据)。",
230
- "2. 调用 addTableRow 时:",
231
- " - 使用参数 values(一个对象),其中每个 key 必须是上面字段名之一(name,而不是 label)。",
232
- ' - 例如:{"values":{"title":"修 Bug #123","status":"todo","note":"高优先级"}}。',
233
- " - 尽量从用户的自然语言中推断并填满所有相关字段;对于必填字段(required=true)尤其要注意。",
234
- ' - 用户没有提到的字段,可以使用空字符串 "" 或 null 作为占位。',
235
- " - 绝不要传入空对象 {} 作为 values。",
236
- "",
237
- "以下是部分示例行(最多 20 行,用于帮助你理解列含义,请避免在回答中完整粘贴整表):",
238
- rowsPreview,
239
- ].join("\n");
240
- }
241
-
242
-
243
-
244
-
245
- // 2) 页面 / 文章场景:先只提供标题信息(正文后面可以在这里丰富)
246
- if (targetKind === "page" || targetKind === "article") {
247
- const page = selectDoc(state);
248
- const metadata = runtimeOptions?.editingTarget?.metadata;
249
- const focusContext =
250
- metadata && typeof metadata === "object" ? metadata.focusContext : null;
251
- if (!page) return null;
252
-
253
- const title = page.title ?? "(未命名页面)";
254
-
255
- return [
256
- "当前编辑目标:一个页面 / 文章(Editing Document)。",
257
- `- 标题: ${title}`,
258
- ...(focusContext &&
259
- typeof focusContext === "object" &&
260
- "anchorPath" in focusContext
261
- ? [
262
- "",
263
- "当前焦点(Focus Context):",
264
- `- 光标是否折叠: ${Boolean((focusContext as any).isCollapsed) ? "是" : "否"}`,
265
- ...((focusContext as any).blockType
266
- ? [`- 当前块类型: ${String((focusContext as any).blockType)}`]
267
- : []),
268
- ...((focusContext as any).selectedText
269
- ? [`- 当前选中文本: ${String((focusContext as any).selectedText)}`]
270
- : []),
271
- ...((focusContext as any).anchorPath?.length
272
- ? [`- 当前锚点路径: ${(focusContext as any).anchorPath.join(" > ")}`]
273
- : []),
274
- ]
275
- : []),
276
- "",
277
- "如果用户要求你对这篇文章进行修改或优化,请在回答中明确指出修改方向。",
278
- "如果存在当前选区或光标上下文,优先围绕该局部位置做定点改写,而不是泛泛重写整篇文档。",
279
- ].join("\n");
280
- }
281
-
282
- if (targetKind === "app") {
283
- const editingTarget = runtimeOptions?.editingTarget;
284
- const metadata = editingTarget?.metadata;
285
- const appId = editingTarget?.key ?? "(未知 appId)";
286
- const title = editingTarget?.title ?? "(未命名应用)";
287
- const framework =
288
- typeof metadata?.framework === "string"
289
- ? metadata.framework
290
- : "worker";
291
- const appUrl =
292
- typeof metadata?.appUrl === "string" ? metadata.appUrl : null;
293
- const fileNames = Array.isArray(metadata?.fileNames)
294
- ? metadata.fileNames.filter((name): name is string => typeof name === "string")
295
- : [];
296
- const externalImports = Array.isArray(metadata?.externalImports)
297
- ? metadata.externalImports.filter(
298
- (name): name is string => typeof name === "string"
299
- )
300
- : [];
301
- const sourceSummary =
302
- typeof editingTarget?.summary === "string" && editingTarget.summary.trim()
303
- ? editingTarget.summary.trim()
304
- : null;
305
- const constraintPacks = buildAppConstraintPacks({
306
- framework,
307
- fileNames,
308
- externalImports,
309
- });
310
-
311
- return [
312
- "当前编辑目标:一个 Web 应用(Editing App)。",
313
- `- 应用 ID: ${appId}`,
314
- `- 名称: ${title}`,
315
- `- 技术形态: ${framework}`,
316
- ...(appUrl ? [`- 当前访问地址: ${appUrl}`] : []),
317
- ...(fileNames.length
318
- ? [`- 当前源码文件: ${fileNames.join(", ")}`]
319
- : ["- 当前源码文件: (未提供多文件清单;可能是单文件源码,也可能只剩部署产物)"]),
320
- ...(externalImports.length
321
- ? [`- 当前依赖白名单命中: ${externalImports.join(", ")}`]
322
- : []),
323
- ...(sourceSummary ? ["", sourceSummary] : []),
324
- "",
325
- "【给 AI 的操作指南 / 非用户原话】",
326
- "1. 用户要求修改当前应用时,先调用 appRead 获取当前代码/文件,再基于现有实现修改。",
327
- "2. 先识别当前应用是否已有 theme / tokens / design system;已有就优先改这层,没有再补一层最小共享 token,再基于 token 调整组件。",
328
- "3. 如果当前应用还是旧写法:视觉值散落在组件硬编码 style 里,而用户只是做字体/颜色/间距等视觉微调,默认先把命中的视觉值抽到最小 token 层,再完成本次修改;除非用户明确要求不要重构。",
329
- `4. 重新部署当前应用时,appDeploy 必须继续传同一个 appId(${appId}),避免创建新应用。`,
330
- framework === "react-spa"
331
- ? '5. 当前应用是 React SPA,修改时继续沿用 framework: "react-spa" + files,不要退回单文件 Worker。'
332
- : "5. 当前应用目前是 Worker 形态;如果需求变成复杂交互或图表,可以评估升级为 React SPA。",
333
- ...(fileNames.length
334
- ? []
335
- : [
336
- "6. 当前没有源码文件清单时,必须先用 appRead 判断读到的是可维护源码还是部署产物 / 打包 bundle。",
337
- "7. 如果 appRead 返回的是 HTML 壳、importmap、压缩 bundle 或明显不是原始源码文件,禁止在未告知用户风险的情况下整站重写;应先说明“当前缺少原始源码快照,继续修改更像整体重建”,等用户确认后再继续。",
338
- ]),
339
- "8. 如果用户只是要调字体大小、配色、圆角、阴影、留白等视觉细节,默认优先改设计 token 或命中的局部组件;对旧写法应用则优先做最小 token 迁移,不要只改散落硬编码。",
340
- "9. 每次修改完成后,先 appPreflight,再 appDeploy;如果失败,按返回 issues 定点修复。",
341
- "10. 回复用户时优先说明做了什么变化、现在应用可以怎么用,而不是直接堆代码。",
342
- ...formatAppConstraintPacks(constraintPacks),
343
- ].join("\n");
344
- }
345
-
346
- if (targetKind === "image" || targetKind === "file") {
347
- const editingTarget = runtimeOptions?.editingTarget;
348
- const metadata = editingTarget?.metadata;
349
- const title = editingTarget?.title ?? "(未命名对象)";
350
- const objectKey = editingTarget?.key ?? "(未知 key)";
351
- const fileId =
352
- typeof metadata?.fileId === "string" ? metadata.fileId : null;
353
- const url = typeof metadata?.url === "string" ? metadata.url : null;
354
- const size =
355
- typeof metadata?.size === "number" ? metadata.size : null;
356
-
357
- return [
358
- `当前编辑目标:一个${targetKind === "image" ? "图片" : "文件"}对象(Editing ${targetKind === "image" ? "Image" : "File"})。`,
359
- `- 对象 key: ${objectKey}`,
360
- `- 标题: ${title}`,
361
- ...(fileId ? [`- fileId: ${fileId}`] : []),
362
- ...(url ? [`- 资源地址: ${url}`] : []),
363
- ...(size !== null ? [`- 文件大小: ${size} bytes`] : []),
364
- "",
365
- "【给 AI 的操作指南 / 非用户原话】",
366
- targetKind === "image"
367
- ? "当前阶段优先帮助用户理解图片内容、提炼重点、命名归类和下一步处理建议。不要假装已经完成复杂图片编辑。"
368
- : "当前阶段优先帮助用户理解文件用途、提取处理思路、给出整理建议和下一步操作建议。不要假装已经完整解析文件内容。",
369
- ].join("\n");
370
- }
371
-
372
- if (targetKind === "canvas_node") {
373
- return buildCanvasNodeEditingContextSummary(runtimeOptions);
374
- }
375
-
376
- // 其它 kind 以后按需扩展
377
- return null;
378
- };