nolo-cli 0.1.45 → 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 (615) hide show
  1. package/README.md +272 -118
  2. package/index.js +73433 -0
  3. package/package.json +10 -635
  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 -40
  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 -426
  36. package/agentNameResolver.ts +0 -164
  37. package/agentPullCommand.ts +0 -142
  38. package/agentRecordCommands.ts +0 -224
  39. package/agentRecordHelpers.ts +0 -592
  40. package/agentRunCommand.ts +0 -568
  41. package/agentRuntimeCommands.ts +0 -7
  42. package/agentRuntimeLocal.ts +0 -45
  43. package/ai/agent/_executeModel.ts +0 -146
  44. package/ai/agent/agentSlice.ts +0 -557
  45. package/ai/agent/appWorkingMemory.ts +0 -126
  46. package/ai/agent/buildEditingContext.ts +0 -378
  47. package/ai/agent/buildSystemPrompt.ts +0 -599
  48. package/ai/agent/canvasEditingContext.ts +0 -49
  49. package/ai/agent/cleanAgentMessages.ts +0 -140
  50. package/ai/agent/cliChatClient.ts +0 -153
  51. package/ai/agent/cliExecutor.ts +0 -1465
  52. package/ai/agent/cliPrompt.ts +0 -10
  53. package/ai/agent/contextCompiler.ts +0 -107
  54. package/ai/agent/contextLayerContract.ts +0 -44
  55. package/ai/agent/createAgentSchema.ts +0 -272
  56. package/ai/agent/currentTimeContext.ts +0 -65
  57. package/ai/agent/executeToolCall.ts +0 -58
  58. package/ai/agent/fetchAgentContexts.ts +0 -42
  59. package/ai/agent/generatePrompt.ts +0 -3
  60. package/ai/agent/getFullChatContextKeys.ts +0 -168
  61. package/ai/agent/guidedCreation/capabilities.ts +0 -84
  62. package/ai/agent/guidedCreation/types.ts +0 -38
  63. package/ai/agent/isLiveAudioOnlyAgent.ts +0 -26
  64. package/ai/agent/liveAudioModel.ts +0 -2
  65. package/ai/agent/machineRunPermissions.ts +0 -113
  66. package/ai/agent/pageBuilderHandoffRules.ts +0 -75
  67. package/ai/agent/persistMessageWithFixedId.ts +0 -37
  68. package/ai/agent/planSlice.ts +0 -259
  69. package/ai/agent/referenceUtils.ts +0 -229
  70. package/ai/agent/runAgentBackground.ts +0 -310
  71. package/ai/agent/runAgentClientLoop.ts +0 -164
  72. package/ai/agent/runtimeGuidance.ts +0 -116
  73. package/ai/agent/serverOrigin.ts +0 -7
  74. package/ai/agent/startParallelAgentStreams.ts +0 -424
  75. package/ai/agent/startupProtocol.ts +0 -53
  76. package/ai/agent/streamAgentChatTurn.ts +0 -2135
  77. package/ai/agent/streamAgentChatTurnUtils.ts +0 -923
  78. package/ai/agent/toolFailureGuard.ts +0 -99
  79. package/ai/agent/types.ts +0 -73
  80. package/ai/agent/utils/imageOutput.ts +0 -37
  81. package/ai/agent/utils/publicImageAgentMode.ts +0 -26
  82. package/ai/agent.ts +0 -2
  83. package/ai/ai.locale.ts +0 -1165
  84. package/ai/chat/accumulateToolCallChunks.ts +0 -126
  85. package/ai/chat/fetchUtils.ts +0 -143
  86. package/ai/chat/inlineImageUrlsForCustomProvider.ts +0 -122
  87. package/ai/chat/parseApiError.ts +0 -67
  88. package/ai/chat/parseMultilineSSE.ts +0 -95
  89. package/ai/chat/sendOpenAICompletionsRequest.ts +0 -921
  90. package/ai/chat/sendOpenAIResponseRequest.ts +0 -720
  91. package/ai/chat/serverProxyRetry.ts +0 -102
  92. package/ai/chat/shouldUseServerProxy.ts +0 -18
  93. package/ai/chat/streamRetry.ts +0 -46
  94. package/ai/chat/updateTotalUsage.ts +0 -89
  95. package/ai/context/buildReferenceContext.ts +0 -437
  96. package/ai/context/retention.ts +0 -165
  97. package/ai/context/tokenUtils.ts +0 -78
  98. package/ai/index.ts +0 -1
  99. package/ai/llm/agentCapabilities.ts +0 -74
  100. package/ai/llm/deepinfra.ts +0 -79
  101. package/ai/llm/fireworks.ts +0 -68
  102. package/ai/llm/generateRequestBody.ts +0 -165
  103. package/ai/llm/getModelContextWindow.ts +0 -93
  104. package/ai/llm/getPricing.ts +0 -252
  105. package/ai/llm/imagePricing.ts +0 -66
  106. package/ai/llm/isResponseAPIModel.ts +0 -13
  107. package/ai/llm/kimi.ts +0 -22
  108. package/ai/llm/mimo.ts +0 -99
  109. package/ai/llm/mistral.ts +0 -21
  110. package/ai/llm/models.ts +0 -45
  111. package/ai/llm/openrouterModels.ts +0 -31
  112. package/ai/llm/providers.ts +0 -313
  113. package/ai/llm/reasoningModels.ts +0 -27
  114. package/ai/llm/types.ts +0 -82
  115. package/ai/llm/usageRequestOptions.ts +0 -59
  116. package/ai/memory/policy.ts +0 -49
  117. package/ai/memory/queryShared.ts +0 -167
  118. package/ai/memory/recentRelationshipRecap.ts +0 -251
  119. package/ai/memory/remember.ts +0 -111
  120. package/ai/memory/scope.ts +0 -74
  121. package/ai/memory/store.ts +0 -20
  122. package/ai/memory/storeShared.ts +0 -76
  123. package/ai/memory/types.ts +0 -52
  124. package/ai/memory/understanding.ts +0 -341
  125. package/ai/memory/understandingGreeting.ts +0 -264
  126. package/ai/policy/personalizationDialog.ts +0 -333
  127. package/ai/policy/runtimePolicy.ts +0 -526
  128. package/ai/policy/selfUpdateFields.ts +0 -48
  129. package/ai/policy/types.ts +0 -64
  130. package/ai/skills/referenceRuntime.ts +0 -274
  131. package/ai/skills/skillDiagnostics.ts +0 -251
  132. package/ai/skills/skillDocBuilder.ts +0 -139
  133. package/ai/skills/skillDocProtocol.ts +0 -526
  134. package/ai/skills/skillSummaryMarker.ts +0 -26
  135. package/ai/token/calculatePrice.ts +0 -576
  136. package/ai/token/missingUsageEstimate.ts +0 -42
  137. package/ai/token/normalizeUsage.ts +0 -124
  138. package/ai/token/openaiImageGenerationUsage.ts +0 -56
  139. package/ai/token/prepareTokenUsageData.ts +0 -93
  140. package/ai/token/resolveBillingTarget.ts +0 -52
  141. package/ai/token/saveTokenRecord.ts +0 -53
  142. package/ai/token/types.ts +0 -103
  143. package/ai/tools/agent/agentTools.ts +0 -214
  144. package/ai/tools/agent/agentUpdateShared.ts +0 -311
  145. package/ai/tools/agent/callAgentTool.ts +0 -139
  146. package/ai/tools/agent/createAgentTool.ts +0 -512
  147. package/ai/tools/agent/createDialogTool.ts +0 -69
  148. package/ai/tools/agent/createSkillAgentTool.ts +0 -62
  149. package/ai/tools/agent/parallelBudget.ts +0 -221
  150. package/ai/tools/agent/prepareAgentDraftTool.ts +0 -159
  151. package/ai/tools/agent/presets/appBuilderPreset.ts +0 -154
  152. package/ai/tools/agent/runLlmTool.ts +0 -96
  153. package/ai/tools/agent/runStreamingAgentTool.ts +0 -73
  154. package/ai/tools/agent/skillAgentArgs.ts +0 -106
  155. package/ai/tools/agent/startAgentDialogTool.ts +0 -54
  156. package/ai/tools/agent/streamParallelAgentsTool.ts +0 -123
  157. package/ai/tools/agent/updateAgentTool.ts +0 -96
  158. package/ai/tools/agent/updateSelfTool.ts +0 -113
  159. package/ai/tools/amazonProductScraperTool.ts +0 -86
  160. package/ai/tools/apifyActorClient.ts +0 -45
  161. package/ai/tools/appEditGuard.ts +0 -372
  162. package/ai/tools/appReadSnapshot.ts +0 -153
  163. package/ai/tools/appTools.ts +0 -1549
  164. package/ai/tools/applyEditTool.ts +0 -259
  165. package/ai/tools/applyLineEditsTool.ts +0 -315
  166. package/ai/tools/browserTools/click.ts +0 -33
  167. package/ai/tools/browserTools/closeSession.ts +0 -29
  168. package/ai/tools/browserTools/common.ts +0 -27
  169. package/ai/tools/browserTools/openSession.ts +0 -48
  170. package/ai/tools/browserTools/readContent.ts +0 -38
  171. package/ai/tools/browserTools/selectOption.ts +0 -46
  172. package/ai/tools/browserTools/typeText.ts +0 -42
  173. package/ai/tools/category/createCategoryTool.ts +0 -66
  174. package/ai/tools/category/queryContentsByCategoryTool.ts +0 -69
  175. package/ai/tools/category/updateContentCategoryTool.ts +0 -75
  176. package/ai/tools/cfBrowserTools.ts +0 -319
  177. package/ai/tools/cfSpeechToTextTool.ts +0 -49
  178. package/ai/tools/checkEnvTool.ts +0 -102
  179. package/ai/tools/cloudflareCrawlTool.ts +0 -289
  180. package/ai/tools/codeSearchTool.ts +0 -123
  181. package/ai/tools/codeTools.ts +0 -101
  182. package/ai/tools/convertMarxistsBookTool.ts +0 -103
  183. package/ai/tools/createDocTool.ts +0 -132
  184. package/ai/tools/createSkillDocTool.ts +0 -155
  185. package/ai/tools/createWorkflowTool.ts +0 -154
  186. package/ai/tools/delayTool.ts +0 -31
  187. package/ai/tools/deleteSpacesTool.ts +0 -325
  188. package/ai/tools/deleteSpacesToolModel.ts +0 -159
  189. package/ai/tools/devReloadUtils.ts +0 -29
  190. package/ai/tools/dialogMessageSearch.ts +0 -137
  191. package/ai/tools/doctorSkillTool.ts +0 -72
  192. package/ai/tools/ecommerceScraperTool.ts +0 -86
  193. package/ai/tools/emailTools.ts +0 -549
  194. package/ai/tools/evalSkillTool.ts +0 -92
  195. package/ai/tools/exaSearchTool.ts +0 -63
  196. package/ai/tools/execShellTool.ts +0 -266
  197. package/ai/tools/executeSqlTool.ts +0 -192
  198. package/ai/tools/fetchWebpageSupport.ts +0 -333
  199. package/ai/tools/fetchWebpageTool.ts +0 -97
  200. package/ai/tools/geminiImagePreviewTool.ts +0 -386
  201. package/ai/tools/generateDocxTool.ts +0 -215
  202. package/ai/tools/googleSearchScraperTool.ts +0 -106
  203. package/ai/tools/importDataTool.ts +0 -133
  204. package/ai/tools/importSkillTool.ts +0 -162
  205. package/ai/tools/index.ts +0 -2290
  206. package/ai/tools/jdProductScraperTool.ts +0 -821
  207. package/ai/tools/listUserSpacesTool.ts +0 -113
  208. package/ai/tools/localFilesTool.ts +0 -276
  209. package/ai/tools/marxistsOfflineBook.ts +0 -253
  210. package/ai/tools/modelUsageTools.ts +0 -206
  211. package/ai/tools/noloWorkspaceReadTools.ts +0 -467
  212. package/ai/tools/olmOcrTool.ts +0 -33
  213. package/ai/tools/openaiImageTool.ts +0 -267
  214. package/ai/tools/prepareTools.ts +0 -193
  215. package/ai/tools/readDocTool.ts +0 -88
  216. package/ai/tools/readFileTool.ts +0 -214
  217. package/ai/tools/readTool.ts +0 -194
  218. package/ai/tools/readXPostTool.ts +0 -229
  219. package/ai/tools/readXhsProfileTool.ts +0 -638
  220. package/ai/tools/rememberMemoryTool.ts +0 -84
  221. package/ai/tools/remotionVideoTool.ts +0 -151
  222. package/ai/tools/searchDialogMessagesTool.ts +0 -222
  223. package/ai/tools/searchWorkspaceTool.ts +0 -259
  224. package/ai/tools/skillFollowup.ts +0 -86
  225. package/ai/tools/surfWeatherTool.ts +0 -169
  226. package/ai/tools/table/addTableRowTool.ts +0 -217
  227. package/ai/tools/table/createTableTool.ts +0 -326
  228. package/ai/tools/table/rowTools.ts +0 -386
  229. package/ai/tools/table/schemaTools.ts +0 -244
  230. package/ai/tools/table/shareTableTool.ts +0 -148
  231. package/ai/tools/table/toolShared.ts +0 -129
  232. package/ai/tools/taobaoTmallProductScraperTool.ts +0 -49
  233. package/ai/tools/toolApiClient.ts +0 -279
  234. package/ai/tools/toolNameAliases.ts +0 -70
  235. package/ai/tools/toolPacks.ts +0 -19
  236. package/ai/tools/toolResultError.ts +0 -42
  237. package/ai/tools/toolRunSlice.ts +0 -303
  238. package/ai/tools/toolSchemaCompatibility.ts +0 -53
  239. package/ai/tools/uiAskChoiceTool.ts +0 -104
  240. package/ai/tools/updateContentTitleTool.ts +0 -84
  241. package/ai/tools/updateDocTool.ts +0 -105
  242. package/ai/tools/updateUserPreferenceProfileTool.ts +0 -153
  243. package/ai/tools/wereadGatewayTool.ts +0 -152
  244. package/ai/tools/whisperTool.ts +0 -76
  245. package/ai/tools/writeFileTool.ts +0 -213
  246. package/ai/tools/youtubeScraperTool.ts +0 -116
  247. package/ai/tools/ziweiChartTool.ts +0 -678
  248. package/ai/types.ts +0 -58
  249. package/ai/workflow/workflowExecutor.ts +0 -323
  250. package/ai/workflow/workflowSlice.ts +0 -73
  251. package/ai/workflow/workflowTypes.ts +0 -106
  252. package/app/actions/syncAppRecord.ts +0 -73
  253. package/app/constants/animationSets.ts +0 -21
  254. package/app/constants/appEditor.ts +0 -99
  255. package/app/favorite/deletedFavoriteProjection.ts +0 -31
  256. package/app/favorite/favoriteSlice.ts +0 -690
  257. package/app/favorite/type.ts +0 -43
  258. package/app/hooks/deleteDbKey.ts +0 -254
  259. package/app/i18n/client.ts +0 -13
  260. package/app/i18n/i18n.base.ts +0 -14
  261. package/app/i18n/i18n.config.ts +0 -77
  262. package/app/i18n/index.ts +0 -15
  263. package/app/i18n/mapLanguage.ts +0 -11
  264. package/app/i18n/translations/appBuilder.locale.ts +0 -453
  265. package/app/i18n/translations/error.locale.ts +0 -246
  266. package/app/i18n/translations/interface.locale.ts +0 -2206
  267. package/app/i18n/translations/pricing.locale.ts +0 -397
  268. package/app/i18n/translations/privacy.locale.ts +0 -168
  269. package/app/i18n/translations/seo.locale.ts +0 -129
  270. package/app/i18n/translations/terms.locale.ts +0 -124
  271. package/app/i18n/types.ts +0 -6
  272. package/app/notifications/model.ts +0 -77
  273. package/app/notifications/notificationSlice.ts +0 -141
  274. package/app/reducer.ts +0 -36
  275. package/app/settings/dbActionThunks.ts +0 -34
  276. package/app/settings/defaultSpacePreference.ts +0 -87
  277. package/app/settings/settingSlice.tsx +0 -1212
  278. package/app/settings/settingsRecord.ts +0 -8
  279. package/app/stateViews/runtime.ts +0 -90
  280. package/app/store.ts +0 -55
  281. package/app/theme/colors.ts +0 -280
  282. package/app/theme/fontPreference.ts +0 -77
  283. package/app/theme/theme.config.ts +0 -120
  284. package/app/theme/themeModeBootstrap.ts +0 -123
  285. package/app/types/appSummary.ts +0 -118
  286. package/app/types.ts +0 -358
  287. package/app/utils/appKeys.ts +0 -55
  288. package/app/utils/async.ts +0 -28
  289. package/app/utils/desktopAgentRuntimeTurnClient.ts +0 -75
  290. package/app/utils/env.ts +0 -17
  291. package/app/utils/fileUtils.ts +0 -229
  292. package/app/utils/imageUtils.ts +0 -274
  293. package/app/utils/myContentItems.ts +0 -317
  294. package/app/utils/retryAfter.ts +0 -36
  295. package/app/utils/retryFetch.ts +0 -61
  296. package/app/utils/toast.ts +0 -3
  297. package/auth/action/signUpAction.ts +0 -227
  298. package/auth/adminPermissions.ts +0 -78
  299. package/auth/authSlice.ts +0 -531
  300. package/auth/client/loginRequest.ts +0 -14
  301. package/auth/resetAuthScopedClientState.ts +0 -27
  302. package/auth/routes.ts +0 -183
  303. package/auth/token.ts +0 -63
  304. package/auth/types.ts +0 -40
  305. package/authCommands.ts +0 -230
  306. package/chat/chat.locale.ts +0 -817
  307. package/chat/dialog/actions/addCybotAction.ts +0 -52
  308. package/chat/dialog/actions/addReferenceKeysAction.ts +0 -62
  309. package/chat/dialog/actions/builtinDialogLlm.ts +0 -35
  310. package/chat/dialog/actions/cleanupCliSession.ts +0 -40
  311. package/chat/dialog/actions/createDialogAction.ts +0 -379
  312. package/chat/dialog/actions/createScheduledTaskAction.ts +0 -78
  313. package/chat/dialog/actions/handleSendMessageAction.ts +0 -202
  314. package/chat/dialog/actions/handleSendMessageResolver.ts +0 -27
  315. package/chat/dialog/actions/removeCybotAction.ts +0 -6
  316. package/chat/dialog/actions/removeDialogAgentAction.ts +0 -44
  317. package/chat/dialog/actions/replacePrimaryCybotAction.ts +0 -6
  318. package/chat/dialog/actions/setPrimaryDialogAgentAction.ts +0 -52
  319. package/chat/dialog/actions/updateDialogSummaryAction.ts +0 -430
  320. package/chat/dialog/actions/updateDialogTitleAction.ts +0 -151
  321. package/chat/dialog/actions/updateDialogTitlePolicy.ts +0 -30
  322. package/chat/dialog/actions/updateTokensAction.ts +0 -233
  323. package/chat/dialog/dialogAgents.ts +0 -72
  324. package/chat/dialog/dialogAttachmentCleanup.ts +0 -135
  325. package/chat/dialog/dialogSlice.ts +0 -985
  326. package/chat/dialog/dialogTitle.ts +0 -81
  327. package/chat/dialog/dialogTokenStats.ts +0 -12
  328. package/chat/dialog/dialogUrl.ts +0 -6
  329. package/chat/dialog/goal.ts +0 -108
  330. package/chat/dialog/objectAssistantRegistry.ts +0 -286
  331. package/chat/dialog/schedule.ts +0 -17
  332. package/chat/messages/activityCompletion.ts +0 -97
  333. package/chat/messages/fetchAndCacheMessages.ts +0 -119
  334. package/chat/messages/fetchConvMsgs.ts +0 -51
  335. package/chat/messages/fetchMessages.ts +0 -84
  336. package/chat/messages/fileUrl.ts +0 -13
  337. package/chat/messages/imagePayloadPersistence.ts +0 -22
  338. package/chat/messages/messageAgent.ts +0 -8
  339. package/chat/messages/messageContent.ts +0 -203
  340. package/chat/messages/messageContract.ts +0 -88
  341. package/chat/messages/messageSlice.ts +0 -1386
  342. package/chat/messages/toolThunks.ts +0 -646
  343. package/chat/messages/types.ts +0 -192
  344. package/chat/messages/web/toolDisplayName.ts +0 -686
  345. package/cli/agentAliases.ts +0 -40
  346. package/cli/agentCommandSupport.ts +0 -81
  347. package/cli/agentInternalCommandEntries.ts +0 -44
  348. package/cli/agentListCommands.ts +0 -185
  349. package/cli/agentListHelpers.ts +0 -242
  350. package/cli/agentMachineCommands.ts +0 -426
  351. package/cli/agentNameResolver.ts +0 -164
  352. package/cli/agentPullCommand.ts +0 -142
  353. package/cli/agentRecordCommands.ts +0 -224
  354. package/cli/agentRecordHelpers.ts +0 -592
  355. package/cli/agentRunCommand.ts +0 -568
  356. package/cli/agentRuntimeLocal.ts +0 -45
  357. package/cli/authCommands.ts +0 -230
  358. package/cli/cliCommandAdapters.ts +0 -28
  359. package/cli/cliCommandDispatch.ts +0 -66
  360. package/cli/cliCommandFactories.ts +0 -66
  361. package/cli/cliCommandTypes.ts +0 -49
  362. package/cli/cliEnvHelpers.ts +0 -116
  363. package/cli/cliSpaceHelpers.ts +0 -39
  364. package/cli/client/agentConfigResolver.ts +0 -1
  365. package/cli/client/agentRun.ts +0 -735
  366. package/cli/client/compactDialog.ts +0 -222
  367. package/cli/client/hybridRecordStore.ts +0 -52
  368. package/cli/client/localAgentRecords.ts +0 -7
  369. package/cli/client/localDialogRecords.ts +0 -30
  370. package/cli/client/localProviderResolver.ts +0 -1
  371. package/cli/client/localRuntimeAdapter.ts +0 -1098
  372. package/cli/client/localToolPolicy.ts +0 -8
  373. package/cli/client/profileConfig.ts +0 -101
  374. package/cli/client/streamingOutput.ts +0 -38
  375. package/cli/commandRegistry.ts +0 -98
  376. package/cli/connectorRunArtifact.ts +0 -120
  377. package/cli/connectorWebSocketTarget.ts +0 -112
  378. package/cli/defaultServer.ts +0 -1
  379. package/cli/dialogAttachmentCleanup.ts +0 -151
  380. package/cli/dialogCommands.ts +0 -1120
  381. package/cli/dialogInternalCommandEntries.ts +0 -17
  382. package/cli/docCreateCommands.ts +0 -345
  383. package/cli/docInternalCommandEntries.ts +0 -11
  384. package/cli/docPageHelpers.ts +0 -80
  385. package/cli/docSkillHelpers.ts +0 -67
  386. package/cli/docSpaceHelpers.ts +0 -46
  387. package/cli/globalRecordOperations.ts +0 -258
  388. package/cli/internalCommandEntries.ts +0 -18
  389. package/cli/localRuntimeAuthority.ts +0 -182
  390. package/cli/localRuntimeDb.ts +0 -26
  391. package/cli/machineCommands.ts +0 -312
  392. package/cli/machineDaemonCommands.ts +0 -185
  393. package/cli/machineHeartbeatCommands.ts +0 -30
  394. package/cli/machineStatusCommands.ts +0 -95
  395. package/cli/machineWatchCommands.ts +0 -41
  396. package/cli/machineWsPromptMaterialization.ts +0 -89
  397. package/cli/machineWsRunDispatch.ts +0 -695
  398. package/cli/machineWsSession.ts +0 -213
  399. package/cli/memoryCommands.ts +0 -253
  400. package/cli/memoryInternalCommandEntries.ts +0 -9
  401. package/cli/offlineMarxistsAgentCommand.ts +0 -315
  402. package/cli/qoderUsageProbe.ts +0 -252
  403. package/cli/runtimeDoctorCommands.ts +0 -174
  404. package/cli/runtimeModeArgs.ts +0 -33
  405. package/cli/scriptCommandEntries.ts +0 -66
  406. package/cli/secretScan.ts +0 -31
  407. package/cli/systemInternalCommandEntries.ts +0 -65
  408. package/cli/tableCommands.ts +0 -453
  409. package/cli/tui/readlineWorkspace.ts +0 -210
  410. package/cli/tui/session.ts +0 -554
  411. package/cli/updateCommands.ts +0 -134
  412. package/cli/workflowInternalCommandEntries.ts +0 -10
  413. package/cliCommandAdapters.ts +0 -28
  414. package/cliCommandDispatch.ts +0 -66
  415. package/cliCommandFactories.ts +0 -66
  416. package/cliCommandTypes.ts +0 -49
  417. package/cliEnvHelpers.ts +0 -116
  418. package/cliSpaceHelpers.ts +0 -39
  419. package/client/agentConfigResolver.test.ts +0 -69
  420. package/client/agentConfigResolver.ts +0 -1
  421. package/client/agentRun.test.ts +0 -1346
  422. package/client/agentRun.ts +0 -735
  423. package/client/compactDialog.test.ts +0 -238
  424. package/client/compactDialog.ts +0 -222
  425. package/client/hybridRecordStore.test.ts +0 -157
  426. package/client/hybridRecordStore.ts +0 -52
  427. package/client/localAgentRecords.test.ts +0 -27
  428. package/client/localAgentRecords.ts +0 -7
  429. package/client/localDialogRecords.test.ts +0 -124
  430. package/client/localDialogRecords.ts +0 -30
  431. package/client/localProviderResolver.test.ts +0 -102
  432. package/client/localProviderResolver.ts +0 -1
  433. package/client/localRuntimeAdapter.test.ts +0 -2809
  434. package/client/localRuntimeAdapter.ts +0 -1098
  435. package/client/localRuntimeDryRun.test.ts +0 -135
  436. package/client/localToolPolicy.test.ts +0 -48
  437. package/client/localToolPolicy.ts +0 -8
  438. package/client/profileConfig.test.ts +0 -106
  439. package/client/profileConfig.ts +0 -101
  440. package/client/streamingOutput.test.ts +0 -22
  441. package/client/streamingOutput.ts +0 -38
  442. package/commandRegistry.ts +0 -98
  443. package/connector-experimental/capabilities.ts +0 -75
  444. package/connector-experimental/codexBinary.ts +0 -41
  445. package/connector-experimental/heartbeatLoop.ts +0 -22
  446. package/connector-experimental/machineInfo.ts +0 -46
  447. package/connector-experimental/protocol.ts +0 -54
  448. package/connectorRunArtifact.ts +0 -120
  449. package/connectorWebSocketTarget.ts +0 -112
  450. package/core/builtinAgents.ts +0 -209
  451. package/core/config.ts +0 -15
  452. package/core/crypto.ts +0 -51
  453. package/core/generateKeyPairFromSeedV1.ts +0 -15
  454. package/core/generateMainKey.ts +0 -22
  455. package/core/init.ts +0 -41
  456. package/core/localOrigins.ts +0 -8
  457. package/core/password.ts +0 -13
  458. package/core/prefix.ts +0 -23
  459. package/create/editor/transforms/fromMarkdown/index.ts +0 -260
  460. package/create/editor/transforms/fromMarkdown/inline.ts +0 -285
  461. package/create/editor/transforms/fromMarkdown/table.ts +0 -130
  462. package/create/editor/transforms/markdownToSlate.ts +0 -24
  463. package/create/editor/transforms/slateToRenderMarkdown.ts +0 -218
  464. package/create/editor/transforms/slateToSimplifiedMarkdown.ts +0 -224
  465. package/create/editor/transforms/slateToText.ts +0 -33
  466. package/create/editor/utils/slateUtils.ts +0 -233
  467. package/create/space/addSpaceAction.ts +0 -193
  468. package/create/space/category/categoryActions.ts +0 -427
  469. package/create/space/changeSpaceAction.ts +0 -36
  470. package/create/space/constants.ts +0 -8
  471. package/create/space/content/addContentAction.ts +0 -116
  472. package/create/space/content/contentThunks.ts +0 -90
  473. package/create/space/content/deleteContentFromSpaceAction.ts +0 -187
  474. package/create/space/content/deleteMultipleContentAction.ts +0 -112
  475. package/create/space/content/moveContentAction.ts +0 -285
  476. package/create/space/content/updateContentCategoryAction.ts +0 -154
  477. package/create/space/content/updateContentTitleAction.ts +0 -151
  478. package/create/space/content/uploadAndAddFileToSpaceAction.ts +0 -98
  479. package/create/space/contentKeyUtils.ts +0 -117
  480. package/create/space/deleteSpaceAction.ts +0 -276
  481. package/create/space/fetchSpaceAction.ts +0 -70
  482. package/create/space/fetchSpaceSidebarStateAction.ts +0 -26
  483. package/create/space/loadDefaultSpaceAction.ts +0 -57
  484. package/create/space/member/addMemberAction.ts +0 -79
  485. package/create/space/member/fetchUserSpaceMembershipsAction.ts +0 -386
  486. package/create/space/member/memberThunks.ts +0 -47
  487. package/create/space/member/removeMemberAction.ts +0 -67
  488. package/create/space/resolvePreferredSpaceId.ts +0 -113
  489. package/create/space/sidebarVisibleTypes.ts +0 -260
  490. package/create/space/space.locale.ts +0 -1087
  491. package/create/space/spaceAccess.ts +0 -182
  492. package/create/space/spaceCollapsedState.ts +0 -54
  493. package/create/space/spaceKeys.ts +0 -65
  494. package/create/space/spaceSlice.ts +0 -328
  495. package/create/space/spaceThunks.ts +0 -410
  496. package/create/space/types.ts +0 -27
  497. package/create/space/updateSpaceAction.ts +0 -107
  498. package/create/space/utils/permissions.ts +0 -47
  499. package/create/types.ts +0 -21
  500. package/database/actions/agentReadResolution.ts +0 -33
  501. package/database/actions/common.ts +0 -243
  502. package/database/actions/deleteFile.ts +0 -40
  503. package/database/actions/fileContent.ts +0 -125
  504. package/database/actions/patch.ts +0 -155
  505. package/database/actions/read.ts +0 -358
  506. package/database/actions/readAndWait.ts +0 -260
  507. package/database/actions/readRequestManager.ts +0 -120
  508. package/database/actions/readResolution.ts +0 -125
  509. package/database/actions/remove.ts +0 -94
  510. package/database/actions/replication.ts +0 -477
  511. package/database/actions/upload.ts +0 -186
  512. package/database/actions/upsert.ts +0 -56
  513. package/database/actions/write.ts +0 -146
  514. package/database/authority/ownerKey.ts +0 -80
  515. package/database/authority/recordAuthority.ts +0 -67
  516. package/database/authority/userAuthorityRegistry.ts +0 -54
  517. package/database/client/fetchUserData.ts +0 -61
  518. package/database/config.ts +0 -40
  519. package/database/dbActionThunks.ts +0 -1
  520. package/database/dbSlice.ts +0 -149
  521. package/database/fileRing.ts +0 -51
  522. package/database/fileStorage.ts +0 -232
  523. package/database/fileUrl.ts +0 -34
  524. package/database/keys.ts +0 -767
  525. package/database/queryPrefixes.ts +0 -14
  526. package/database/requests.ts +0 -443
  527. package/database/runtimeServerContext.ts +0 -54
  528. package/database/server/authorityStoreTypes.ts +0 -31
  529. package/database/server/cliAuthorityBrokerClient.ts +0 -227
  530. package/database/server/cliAuthorityBrokerServer.ts +0 -283
  531. package/database/server/cliAuthorityBrokerTypes.ts +0 -43
  532. package/database/server/cliAuthorityStoreDriver.ts +0 -98
  533. package/database/server/db.ts +0 -99
  534. package/database/server/dbPath.ts +0 -20
  535. package/database/server/ensureDbOpen.ts +0 -12
  536. package/database/server/legacyServerDb.ts +0 -58
  537. package/database/server/levelAuthorityStore.ts +0 -114
  538. package/database/server/memoryAuthorityStore.ts +0 -133
  539. package/database/server/serverStoreFactory.ts +0 -118
  540. package/database/tenantPlacement.ts +0 -57
  541. package/database/tombstones.ts +0 -52
  542. package/database/userDataMerge.ts +0 -95
  543. package/database/userPreferenceRegister.ts +0 -131
  544. package/database/utils/ulid.ts +0 -1
  545. package/defaultServer.ts +0 -1
  546. package/dialogAttachmentCleanup.ts +0 -151
  547. package/dialogCommands.ts +0 -1120
  548. package/dialogInternalCommandEntries.ts +0 -17
  549. package/docCreateCommands.ts +0 -345
  550. package/docInternalCommandEntries.ts +0 -11
  551. package/docPageHelpers.ts +0 -80
  552. package/docSkillHelpers.ts +0 -67
  553. package/docSpaceHelpers.ts +0 -46
  554. package/globalRecordOperations.ts +0 -258
  555. package/index.ts +0 -78
  556. package/integrations/anthropic/anthropicModels.ts +0 -47
  557. package/integrations/deepseek/models.ts +0 -37
  558. package/integrations/google/models.ts +0 -341
  559. package/integrations/openai/chatCompletionStreamMode.ts +0 -10
  560. package/integrations/openai/filterAndCleanMessages.ts +0 -284
  561. package/integrations/openai/flexTier.ts +0 -102
  562. package/integrations/openai/generateOpenAIRequestBody.ts +0 -271
  563. package/integrations/openai/generateResponseRequestBody.ts +0 -77
  564. package/integrations/openai/models.ts +0 -271
  565. package/integrations/openai/providerBodyCompatibility.ts +0 -23
  566. package/integrations/openai/responsesHelpers.ts +0 -297
  567. package/integrations/x-reader/types.ts +0 -109
  568. package/integrations/xai/models.ts +0 -13
  569. package/integrations/xhs-reader/redaction.ts +0 -68
  570. package/integrations/xhs-reader/types.ts +0 -277
  571. package/integrations/xhs-reader/url.ts +0 -80
  572. package/internalCommandEntries.ts +0 -18
  573. package/localRuntimeAuthority.ts +0 -182
  574. package/localRuntimeDb.ts +0 -26
  575. package/machineCommands.ts +0 -312
  576. package/machineDaemonCommands.ts +0 -185
  577. package/machineHeartbeatCommands.ts +0 -30
  578. package/machineStatusCommands.ts +0 -95
  579. package/machineWatchCommands.ts +0 -41
  580. package/machineWsPromptMaterialization.ts +0 -89
  581. package/machineWsRunDispatch.ts +0 -695
  582. package/machineWsSession.ts +0 -213
  583. package/memoryCommands.ts +0 -253
  584. package/memoryInternalCommandEntries.ts +0 -9
  585. package/offlineMarxistsAgentCommand.ts +0 -315
  586. package/qoderUsageProbe.ts +0 -252
  587. package/render/contentIcon/types.ts +0 -167
  588. package/render/page/createPageAction.ts +0 -183
  589. package/render/page/docSlice.ts +0 -495
  590. package/render/page/types.ts +0 -19
  591. package/render/table/activityColumns.ts +0 -6
  592. package/render/table/createTableAction.ts +0 -274
  593. package/render/table/deleteTableAction.ts +0 -193
  594. package/render/table/fetchAndCacheTableRows.ts +0 -174
  595. package/render/table/tableSlice.ts +0 -1167
  596. package/render/table/toolValueUtils.ts +0 -363
  597. package/render/table/types.ts +0 -262
  598. package/render/table/utils/tableSerialization.ts +0 -50
  599. package/runtimeDoctorCommands.ts +0 -174
  600. package/runtimeModeArgs.ts +0 -33
  601. package/scriptCommandEntries.ts +0 -66
  602. package/secretScan.ts +0 -31
  603. package/server/handlers/agentRun/types.ts +0 -105
  604. package/share/action.ts +0 -225
  605. package/share/helpers.ts +0 -302
  606. package/share/keys.ts +0 -243
  607. package/share/publicSharePolicy.ts +0 -27
  608. package/share/shareSlice.ts +0 -53
  609. package/share/types.ts +0 -100
  610. package/systemInternalCommandEntries.ts +0 -65
  611. package/tableCommands.ts +0 -453
  612. package/tui/readlineWorkspace.ts +0 -210
  613. package/tui/session.ts +0 -554
  614. package/updateCommands.ts +0 -134
  615. 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
- };