nolo-cli 0.1.23 → 0.1.29

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 (931) hide show
  1. package/README.md +25 -3
  2. package/agent-runtime/dialogStatus.ts +139 -0
  3. package/agent-runtime/hybridRecordStore.ts +30 -9
  4. package/agent-runtime/index.ts +8 -0
  5. package/agent-runtime/localLoop.ts +12 -4
  6. package/agent-runtime/localToolPolicy.ts +22 -10
  7. package/agent-runtime/localWorkspaceTools.ts +140 -374
  8. package/agent-runtime/runtimeToolPolicy.ts +43 -2
  9. package/agent-runtime/types.ts +5 -0
  10. package/agentAliases.ts +12 -15
  11. package/agentCommandSupport.ts +77 -0
  12. package/agentCreateCustomCommands.ts +273 -0
  13. package/agentDialogsCommands.ts +226 -0
  14. package/agentDoctorCommands.ts +203 -0
  15. package/agentInternalCommandEntries.ts +43 -0
  16. package/agentListCommands.ts +132 -0
  17. package/agentListHelpers.ts +187 -0
  18. package/agentMachineCommands.ts +476 -0
  19. package/agentPullCommand.ts +9 -9
  20. package/agentRecordCommands.ts +141 -0
  21. package/agentRecordHelpers.ts +452 -0
  22. package/agentRunCommand.ts +35 -411
  23. package/agentRunLocalWorkspace.ts +182 -0
  24. package/agentRunParsing.ts +279 -0
  25. package/agentRuntimeCommands.ts +7 -701
  26. package/agentSuperviseCommands.ts +8 -0
  27. package/agentUnpublishCommands.ts +112 -0
  28. package/ai/agent/_executeModel.ts +42 -16
  29. package/ai/agent/agentSlice.ts +8 -8
  30. package/ai/agent/appWorkingMemory.ts +2 -2
  31. package/ai/agent/avatarUtils.ts +1 -1
  32. package/ai/agent/buildEditingContext.ts +3 -3
  33. package/ai/agent/buildSystemPrompt.ts +32 -6
  34. package/ai/agent/cleanAgentMessages.ts +1 -1
  35. package/ai/agent/cliChatClient.ts +41 -7
  36. package/ai/agent/cliExecutor.ts +308 -27
  37. package/ai/agent/createAgentSchema.ts +3 -3
  38. package/ai/agent/executeToolCall.ts +2 -2
  39. package/ai/agent/fetchAgentContexts.ts +3 -3
  40. package/ai/agent/getFullChatContextKeys.ts +4 -4
  41. package/ai/agent/guidedCreation/assistant.ts +82 -0
  42. package/ai/agent/guidedCreation/capabilities.ts +84 -0
  43. package/ai/agent/guidedCreation/draft.ts +62 -0
  44. package/ai/agent/guidedCreation/types.ts +38 -0
  45. package/ai/agent/hooks/fetchPublicAgents.ts +6 -6
  46. package/ai/agent/hooks/useAgentConfig.ts +49 -21
  47. package/ai/agent/hooks/useAgentDialog.ts +1 -1
  48. package/ai/agent/hooks/useAgentFormValidation.ts +9 -9
  49. package/ai/agent/hooks/usePublicAgents.ts +9 -9
  50. package/ai/agent/machineRunPermissions.ts +21 -3
  51. package/ai/agent/persistMessageWithFixedId.ts +4 -4
  52. package/ai/agent/planSlice.ts +1 -1
  53. package/ai/agent/referenceUtils.ts +4 -4
  54. package/ai/agent/runAgentBackground.ts +3 -3
  55. package/ai/agent/runAgentClientLoop.ts +12 -12
  56. package/ai/agent/runtimeGuidance.ts +2 -2
  57. package/ai/agent/server/fetchPublicAgents.ts +12 -7
  58. package/ai/agent/startParallelAgentStreams.ts +12 -12
  59. package/ai/agent/streamAgentChatTurn.ts +509 -36
  60. package/ai/agent/streamAgentChatTurnUtils.ts +22 -22
  61. package/ai/agent/utils/imageOutput.ts +2 -2
  62. package/ai/agent/utils/publicImageAgentMode.ts +1 -1
  63. package/ai/agent/utils/sortUtils.ts +1 -1
  64. package/ai/agent/web/useGuidedAgentCreation.ts +238 -0
  65. package/ai/ai.locale.ts +14 -2
  66. package/ai/chat/fetchUtils.native.ts +2 -2
  67. package/ai/chat/fetchUtils.ts +2 -2
  68. package/ai/chat/sendOpenAICompletionsRequest.native.ts +11 -11
  69. package/ai/chat/sendOpenAICompletionsRequest.ts +40 -15
  70. package/ai/chat/sendOpenAIResponseRequest.ts +17 -16
  71. package/ai/chat/shouldUseServerProxy.ts +1 -1
  72. package/ai/chat/updateTotalUsage.ts +1 -1
  73. package/ai/context/buildReferenceContext.ts +14 -14
  74. package/ai/context/calculateContextUsage.ts +1 -1
  75. package/ai/llm/generateRequestBody.ts +3 -3
  76. package/ai/llm/getPricing.ts +18 -4
  77. package/ai/llm/hooks/useModelPricing.ts +2 -2
  78. package/ai/llm/imagePricing.ts +1 -1
  79. package/ai/llm/kimi.ts +3 -0
  80. package/ai/llm/modelAvatar.ts +1 -0
  81. package/ai/llm/models.ts +3 -3
  82. package/ai/llm/providers.ts +9 -9
  83. package/ai/memory/capture.ts +1 -1
  84. package/ai/memory/consolidate.ts +1 -1
  85. package/ai/memory/delete.ts +2 -2
  86. package/ai/memory/query.ts +1 -1
  87. package/ai/memory/queryShared.ts +1 -1
  88. package/ai/memory/recentRelationshipRecap.ts +2 -2
  89. package/ai/memory/remember.ts +1 -1
  90. package/ai/memory/store.ts +1 -1
  91. package/ai/memory/storeShared.ts +2 -2
  92. package/ai/memory/understanding.ts +1 -1
  93. package/ai/messages/type.ts +1 -1
  94. package/ai/policy/personalizationDialog.ts +6 -6
  95. package/ai/policy/runtimePolicy.ts +1 -1
  96. package/ai/skills/referenceRuntime.ts +1 -1
  97. package/ai/skills/skillDiagnostics.ts +1 -1
  98. package/ai/skills/skillDocBuilder.ts +1 -1
  99. package/ai/skills/skillReferenceSummary.ts +1 -1
  100. package/ai/skills/skillSummaryMarker.ts +1 -1
  101. package/ai/taskRun/taskRunProtocol.ts +24 -10
  102. package/ai/token/calculatePrice.ts +5 -5
  103. package/ai/token/db.ts +3 -3
  104. package/ai/token/externalToolCost.ts +4 -4
  105. package/ai/token/hooks/useRecords.ts +3 -3
  106. package/ai/token/modelUsageQuery.ts +19 -2
  107. package/ai/token/openaiImageGenerationUsage.ts +2 -2
  108. package/ai/token/prepareTokenUsageData.ts +1 -1
  109. package/ai/token/query.ts +1 -1
  110. package/ai/token/queryUserTokens.ts +1 -1
  111. package/ai/token/resolveBillingTarget.ts +1 -1
  112. package/ai/token/saveTokenRecord.ts +5 -5
  113. package/ai/token/serverDialogProjection.ts +4 -4
  114. package/ai/token/serverTokenWriter.ts +3 -3
  115. package/ai/token/tokenThunks.ts +1 -1
  116. package/ai/tools/agent/agentTools.ts +21 -0
  117. package/ai/tools/agent/agentUpdateShared.ts +4 -4
  118. package/ai/tools/agent/callAgentTool.ts +3 -3
  119. package/ai/tools/agent/createAgentTool.ts +12 -12
  120. package/ai/tools/agent/createDialogTool.ts +3 -3
  121. package/ai/tools/agent/parallelBudget.ts +2 -2
  122. package/ai/tools/agent/prepareAgentDraftTool.ts +173 -0
  123. package/ai/tools/agent/presets/appBuilderPreset.ts +1 -1
  124. package/ai/tools/agent/runLlmTool.ts +1 -1
  125. package/ai/tools/agent/skillAgentPreset.ts +6 -6
  126. package/ai/tools/agent/updateAgentTool.ts +4 -4
  127. package/ai/tools/agent/updateSelfTool.ts +8 -8
  128. package/ai/tools/appTools.ts +3 -3
  129. package/ai/tools/category/createCategoryTool.ts +2 -2
  130. package/ai/tools/category/queryContentsByCategoryTool.ts +2 -2
  131. package/ai/tools/category/updateContentCategoryTool.ts +2 -2
  132. package/ai/tools/checkEnvTool.ts +52 -20
  133. package/ai/tools/convertMarxistsBookTool.ts +103 -0
  134. package/ai/tools/createDocTool.ts +3 -3
  135. package/ai/tools/createPlanTool.ts +9 -9
  136. package/ai/tools/createSkillDocTool.ts +4 -4
  137. package/ai/tools/createWorkflowTool.ts +2 -2
  138. package/ai/tools/deleteSpacesTool.ts +5 -5
  139. package/ai/tools/deleteSpacesToolModel.ts +1 -1
  140. package/ai/tools/doctorSkillTool.ts +3 -3
  141. package/ai/tools/evalSkillTool.ts +3 -3
  142. package/ai/tools/{execBashTool.ts → execShellTool.ts} +44 -161
  143. package/ai/tools/executeSqlTool.ts +1 -1
  144. package/ai/tools/geminiImagePreviewTool.ts +9 -9
  145. package/ai/tools/importDataTool.ts +2 -2
  146. package/ai/tools/importSkillTool.ts +4 -4
  147. package/ai/tools/index.ts +61 -14
  148. package/ai/tools/listUserSpacesTool.ts +2 -2
  149. package/ai/tools/localFilesTool.ts +85 -9
  150. package/ai/tools/marxistsOfflineBook.ts +253 -0
  151. package/ai/tools/modelUsageTools.ts +4 -2
  152. package/ai/tools/openaiImageTool.ts +9 -9
  153. package/ai/tools/readDocTool.ts +3 -3
  154. package/ai/tools/readTool.ts +40 -9
  155. package/ai/tools/rememberMemoryTool.ts +3 -3
  156. package/ai/tools/remotionVideoTool.ts +7 -7
  157. package/ai/tools/searchDialogMessagesTool.ts +2 -2
  158. package/ai/tools/searchWorkspaceTool.ts +4 -4
  159. package/ai/tools/table/addTableRowTool.ts +2 -2
  160. package/ai/tools/table/createTableTool.ts +2 -2
  161. package/ai/tools/table/rowTools.ts +2 -2
  162. package/ai/tools/table/schemaTools.ts +3 -3
  163. package/ai/tools/table/shareTableTool.ts +5 -5
  164. package/ai/tools/table/toolShared.ts +6 -6
  165. package/ai/tools/toolApiClient.ts +49 -6
  166. package/ai/tools/toolNameAliases.ts +13 -0
  167. package/ai/tools/toolRunSlice.ts +2 -2
  168. package/ai/tools/updateContentTitleTool.ts +2 -2
  169. package/ai/tools/updateDocTool.ts +7 -7
  170. package/ai/tools/updateUserPreferenceProfileTool.ts +3 -3
  171. package/ai/workflow/workflowExecutor.ts +3 -3
  172. package/ai/workflow/workflowSlice.ts +1 -1
  173. package/app/actions/syncAppRecord.ts +73 -0
  174. package/app/admin/adminPages.ts +13 -0
  175. package/app/colors.ts +1 -0
  176. package/app/constants/animationSets.ts +21 -0
  177. package/app/constants/appEditor.ts +99 -0
  178. package/app/constants/clientDownloads.ts +54 -0
  179. package/app/constants/desktopReleaseManifest.ts +68 -0
  180. package/app/constants/homeTabs.ts +15 -0
  181. package/app/constants/routePaths.ts +15 -0
  182. package/app/email/emailApiRoutes.ts +14 -0
  183. package/app/favorite/favoriteSlice.ts +690 -0
  184. package/app/favorite/type.ts +43 -0
  185. package/app/favorite/useAgentFavorite.ts +43 -0
  186. package/app/favorite/useContentFavorite.ts +41 -0
  187. package/app/fetchOwnedApps.ts +269 -0
  188. package/app/guide/quickStartGuide.ts +128 -0
  189. package/app/hooks/deleteDbKey.ts +233 -0
  190. package/app/hooks/index.ts +4 -0
  191. package/app/hooks/useAppDetail.ts +208 -0
  192. package/app/hooks/useAppVersions.ts +52 -0
  193. package/app/hooks/useAutoResizeTextarea.ts +29 -0
  194. package/app/hooks/useChatPageTitle.ts +85 -0
  195. package/app/hooks/useClipboardFiles.ts +20 -0
  196. package/app/hooks/useDesktopLocalConnectorAutostart.ts +38 -0
  197. package/app/hooks/useDragResize.ts +91 -0
  198. package/app/hooks/useElementSizeVar.ts +24 -0
  199. package/app/hooks/useFileDropZone.ts +52 -0
  200. package/app/hooks/useHasMounted.ts +11 -0
  201. package/app/hooks/useImageLoadFallback.ts +19 -0
  202. package/app/hooks/useIsMobile.ts +46 -0
  203. package/app/hooks/useMyApps.ts +375 -0
  204. package/app/hooks/useMyContentItems.ts +91 -0
  205. package/app/hooks/useNewMessageNotification.ts +81 -0
  206. package/app/hooks/usePageMeta.ts +107 -0
  207. package/app/hooks/useRecentlyOpened.ts +84 -0
  208. package/app/hooks/useUnifiedStore.ts +11 -0
  209. package/app/hooks/useUserNotifications.ts +197 -0
  210. package/app/hooks.ts +55 -0
  211. package/app/i18n/clientResources.ts +65 -0
  212. package/app/i18n/i18n.base.ts +14 -0
  213. package/app/i18n/i18n.config.ts +62 -0
  214. package/app/i18n/i18n.server.ts +13 -0
  215. package/app/i18n/index.ts +15 -0
  216. package/app/i18n/mapLanguage.ts +11 -0
  217. package/app/i18n/translations/appBuilder.locale.ts +453 -0
  218. package/app/i18n/translations/error.locale.ts +246 -0
  219. package/app/i18n/translations/interface.locale.ts +2174 -0
  220. package/app/i18n/translations/seo.locale.ts +129 -0
  221. package/app/i18n/types.ts +6 -0
  222. package/app/notifications/formatNotification.ts +134 -0
  223. package/app/notifications/model.ts +77 -0
  224. package/app/notifications/notificationSlice.ts +141 -0
  225. package/app/notifications/useNotificationActions.ts +67 -0
  226. package/app/pages/homeTabState.ts +57 -0
  227. package/app/pages/quickChatFlow.ts +109 -0
  228. package/app/pages/rechargeCheckout.ts +23 -0
  229. package/app/pages/usePageArt.ts +91 -0
  230. package/app/realtime/sharedSse.ts +182 -0
  231. package/app/reducer.ts +36 -0
  232. package/app/seo/pageMeta.ts +123 -0
  233. package/app/settings/config.ts +54 -0
  234. package/app/settings/dbActionThunks.ts +34 -0
  235. package/app/settings/defaultSpacePreference.ts +87 -0
  236. package/app/settings/navItems.ts +73 -0
  237. package/app/settings/prepareUserSetting.ts +11 -0
  238. package/app/settings/settingsRecord.ts +8 -0
  239. package/app/settings/web/chat-config/useAutoSaveGlobalPrompt.ts +59 -0
  240. package/app/settings/web/machineStatus.ts +23 -0
  241. package/app/settings/web/useSettingsStylesheet.ts +28 -0
  242. package/app/settings/web/userSecurityUtils.ts +21 -0
  243. package/app/stateViews/runtime.ts +86 -0
  244. package/app/store.ts +53 -0
  245. package/app/theme/colors.ts +280 -0
  246. package/app/theme/fontPreference.ts +77 -0
  247. package/app/theme/index.ts +7 -0
  248. package/app/theme/theme.config.ts +120 -0
  249. package/app/theme/themeModeBootstrap.ts +123 -0
  250. package/app/theme/useSystemTheme.ts +33 -0
  251. package/app/types/appSummary.ts +114 -0
  252. package/app/types.ts +358 -0
  253. package/app/utils/appDeploySource.ts +50 -0
  254. package/app/utils/appKeys.ts +55 -0
  255. package/app/utils/appRuntimeUrl.ts +51 -0
  256. package/app/utils/async.ts +28 -0
  257. package/app/utils/asyncMapStatus.ts +31 -0
  258. package/app/utils/clipboard.ts +86 -0
  259. package/app/utils/credits.ts +12 -0
  260. package/app/utils/desktopAgentRuntimeStatusClient.ts +42 -0
  261. package/app/utils/desktopAgentRuntimeTurnClient.ts +70 -0
  262. package/app/utils/desktopLocalConnectorClient.ts +83 -0
  263. package/app/utils/env.ts +12 -0
  264. package/app/utils/excelToSlate.ts +430 -0
  265. package/app/utils/fileReaders.ts +12 -0
  266. package/app/utils/fileUtils.ts +229 -0
  267. package/app/utils/imageUtils.native.ts +96 -0
  268. package/app/utils/imageUtils.ts +244 -0
  269. package/app/utils/ime.ts +43 -0
  270. package/app/utils/myContentItems.ts +290 -0
  271. package/app/utils/processDateRange.ts +30 -0
  272. package/app/utils/retryFetch.ts +61 -0
  273. package/app/utils/slateToExcel.ts +58 -0
  274. package/app/utils/toast.native.ts +42 -0
  275. package/app/utils/toast.ts +3 -0
  276. package/app/web/spaceInitGuard.ts +28 -0
  277. package/auth/action/signOutAction.ts +0 -0
  278. package/auth/action/signUpAction.ts +227 -0
  279. package/auth/actor.ts +16 -0
  280. package/auth/authSlice.ts +517 -0
  281. package/auth/billing.ts +130 -0
  282. package/auth/client/deleteUserRequest.ts +86 -0
  283. package/auth/client/loginRequest.ts +14 -0
  284. package/auth/hooks/useAuth.ts +9 -0
  285. package/auth/hooks/useDeleteOwnAccount.ts +50 -0
  286. package/auth/hooks/useDeleteOwnAccountFlow.ts +66 -0
  287. package/auth/hooks/useDeleteUser.ts +45 -0
  288. package/auth/hooks/useEnableUser.ts +50 -0
  289. package/auth/hooks/useFetchUsers.ts +77 -0
  290. package/auth/hooks/useRechargeUser.ts +82 -0
  291. package/auth/index.ts +1 -0
  292. package/auth/invite.ts +19 -0
  293. package/auth/locale.ts +84 -0
  294. package/auth/resetAuthScopedClientState.ts +27 -0
  295. package/auth/rn/tokenManager.ts +72 -0
  296. package/auth/routes.ts +127 -0
  297. package/auth/server/accessActivity.ts +143 -0
  298. package/auth/server/billingFullChainSimulator.ts +325 -0
  299. package/auth/server/billingUsageReport.ts +192 -0
  300. package/auth/server/cliLogin.ts +198 -0
  301. package/auth/server/creatorEarningCreditConversion.ts +515 -0
  302. package/auth/server/creatorEarningsLedger.ts +165 -0
  303. package/auth/server/creatorEarningsReport.ts +299 -0
  304. package/auth/server/creatorSettlementLedger.ts +386 -0
  305. package/auth/server/creatorSettlementReport.ts +442 -0
  306. package/auth/server/creatorSplitConfig.ts +191 -0
  307. package/auth/server/deduct.ts +270 -0
  308. package/auth/server/delete.ts +887 -0
  309. package/auth/server/disable.ts +61 -0
  310. package/auth/server/emailAutomation.ts +358 -0
  311. package/auth/server/emailAutomationConfig.ts +88 -0
  312. package/auth/server/emailAutomationRules.ts +94 -0
  313. package/auth/server/emailAutomationTemplates.ts +131 -0
  314. package/auth/server/emailAutomationTypes.ts +38 -0
  315. package/auth/server/emailDbConfig.ts +147 -0
  316. package/auth/server/emailDelivery.ts +960 -0
  317. package/auth/server/emailDeliveryGuards.ts +282 -0
  318. package/auth/server/emailPolicy.ts +43 -0
  319. package/auth/server/emailPreferences.ts +117 -0
  320. package/auth/server/emailProvider.ts +277 -0
  321. package/auth/server/emailReport.ts +439 -0
  322. package/auth/server/emailRuntimeConfig.ts +86 -0
  323. package/auth/server/emailScenarioNotifications.ts +340 -0
  324. package/auth/server/enable.ts +61 -0
  325. package/auth/server/getRechargeHistory.ts +110 -0
  326. package/auth/server/getUser.ts +71 -0
  327. package/auth/server/inviteReward.ts +295 -0
  328. package/auth/server/inviteRewardEmail.ts +1 -0
  329. package/auth/server/ledger.ts +422 -0
  330. package/auth/server/ledgerAudit.ts +424 -0
  331. package/auth/server/ledgerWitness.ts +472 -0
  332. package/auth/server/listusers.ts +154 -0
  333. package/auth/server/locks.ts +32 -0
  334. package/auth/server/login.ts +184 -0
  335. package/auth/server/productBillingSplits.ts +166 -0
  336. package/auth/server/productEntitlements.ts +139 -0
  337. package/auth/server/productPurchase.ts +382 -0
  338. package/auth/server/recharge.ts +284 -0
  339. package/auth/server/revenueShareLedger.ts +389 -0
  340. package/auth/server/revenueShareReport.ts +258 -0
  341. package/auth/server/revenueSplitPolicy.ts +119 -0
  342. package/auth/server/revokeSessions.ts +59 -0
  343. package/auth/server/route.ts +195 -0
  344. package/auth/server/sendEmail.ts +176 -0
  345. package/auth/server/shared.ts +51 -0
  346. package/auth/server/signup.ts +423 -0
  347. package/auth/server/signupIpQuota.ts +44 -0
  348. package/auth/server/token.ts +109 -0
  349. package/auth/server/tokenUsageBilling.ts +312 -0
  350. package/auth/server/transfer.ts +40 -0
  351. package/auth/server/utils.ts +200 -0
  352. package/auth/sessionTokenVersion.ts +38 -0
  353. package/auth/token.ts +63 -0
  354. package/auth/tokenCookie.ts +1 -0
  355. package/auth/types.ts +28 -0
  356. package/auth/utils.ts +108 -0
  357. package/auth/web/bootstrapAuthState.ts +60 -0
  358. package/auth/web/tokenManager.ts +61 -0
  359. package/auth/web/useRegister.ts +70 -0
  360. package/build.ts +16 -0
  361. package/buildPublish.ts +133 -0
  362. package/buildPublishArtifactAssembly.ts +346 -0
  363. package/buildPublishImportAnalysis.ts +237 -0
  364. package/chat/chat.locale.ts +804 -0
  365. package/chat/dialog/actions/addCybotAction.ts +52 -0
  366. package/chat/dialog/actions/addReferenceKeysAction.ts +62 -0
  367. package/chat/dialog/actions/builtinDialogLlm.ts +35 -0
  368. package/chat/dialog/actions/cleanupCliSession.ts +40 -0
  369. package/chat/dialog/actions/compactDialogAndForkAction.ts +47 -0
  370. package/chat/dialog/actions/createDialogAction.ts +372 -0
  371. package/chat/dialog/actions/createScheduledTaskAction.ts +78 -0
  372. package/chat/dialog/actions/handleSendMessageAction.ts +197 -0
  373. package/chat/dialog/actions/handleSendMessageResolver.ts +29 -0
  374. package/chat/dialog/actions/removeCybotAction.ts +6 -0
  375. package/chat/dialog/actions/removeDialogAgentAction.ts +44 -0
  376. package/chat/dialog/actions/replacePrimaryCybotAction.ts +6 -0
  377. package/chat/dialog/actions/setPrimaryDialogAgentAction.ts +52 -0
  378. package/chat/dialog/actions/updateDialogSummaryAction.ts +405 -0
  379. package/chat/dialog/actions/updateDialogTitleAction.ts +151 -0
  380. package/chat/dialog/actions/updateDialogTitlePolicy.ts +30 -0
  381. package/chat/dialog/actions/updateTokensAction.ts +233 -0
  382. package/chat/dialog/dialogAgents.ts +54 -0
  383. package/chat/dialog/dialogPageRenderMode.ts +182 -0
  384. package/chat/dialog/dialogSlice.ts +872 -0
  385. package/chat/dialog/dialogTitle.ts +81 -0
  386. package/chat/dialog/dialogTokenStats.ts +12 -0
  387. package/chat/dialog/dialogUrl.ts +6 -0
  388. package/chat/dialog/ensureDialogSpaceAction.ts +208 -0
  389. package/chat/dialog/goal.ts +108 -0
  390. package/chat/dialog/hooks/useStreamingSymbol.ts +63 -0
  391. package/chat/dialog/objectAssistantRegistry.ts +286 -0
  392. package/chat/dialog/schedule.ts +17 -0
  393. package/chat/dialog/useCreateDialog.ts +52 -0
  394. package/chat/hooks/sendPermissionResolver.ts +128 -0
  395. package/chat/hooks/useChatInput.ts +99 -0
  396. package/chat/hooks/useChatInputSeed.ts +31 -0
  397. package/chat/hooks/useMessageInteraction.ts +412 -0
  398. package/chat/hooks/useSendPermission.ts +92 -0
  399. package/chat/hooks/useThinkingVisibility.ts +27 -0
  400. package/chat/messages/browserImageUrl.ts +48 -0
  401. package/chat/messages/deleteMessages.ts +47 -0
  402. package/chat/messages/fetchAndCacheMessages.ts +119 -0
  403. package/chat/messages/fetchConvMsgs.ts +51 -0
  404. package/chat/messages/fetchMessages.ts +84 -0
  405. package/chat/messages/fileUrl.ts +13 -0
  406. package/chat/messages/generateMessageKey.ts +21 -0
  407. package/chat/messages/hooks/useBase64Migration.ts +115 -0
  408. package/chat/messages/messageAgent.ts +8 -0
  409. package/chat/messages/messageContent.ts +199 -0
  410. package/chat/messages/messageContract.ts +88 -0
  411. package/chat/messages/messageSlice.ts +1191 -0
  412. package/chat/messages/pendingAttachmentParts.ts +117 -0
  413. package/chat/messages/sendFirstMessage.ts +193 -0
  414. package/chat/messages/toolPresentation.ts +212 -0
  415. package/chat/messages/toolThunks.ts +625 -0
  416. package/chat/messages/types.ts +176 -0
  417. package/chat/messages/web/ChatDisplayContext.ts +14 -0
  418. package/chat/messages/web/ToolMessageTypes.ts +23 -0
  419. package/chat/messages/web/diffViewerModel.ts +61 -0
  420. package/chat/messages/web/groupToolEntries.ts +44 -0
  421. package/chat/messages/web/groupToolMessages.ts +35 -0
  422. package/chat/messages/web/inlineReactArtifactParser.ts +63 -0
  423. package/chat/messages/web/toolDisplayName.ts +22 -0
  424. package/chat/messages/web/useLoopStopReason.ts +43 -0
  425. package/chat/messages/ziweiChartDoc.ts +94 -0
  426. package/chat/web/docxToSlate.ts +597 -0
  427. package/chat/web/fileProcessor.ts +442 -0
  428. package/chat/web/hooks/useProgressiveDisplayCount.ts +102 -0
  429. package/chat/web/messageInputAgentUi.ts +189 -0
  430. package/chat/web/messageInputKeyBehavior.ts +53 -0
  431. package/chat/web/messageInputMention.ts +102 -0
  432. package/chat/web/messageInputSendResolver.ts +51 -0
  433. package/chat/web/messageSlashCommands.ts +10 -0
  434. package/chat/web/pdfOcrProcessor.ts +131 -0
  435. package/chat/web/sidebar/allViewSearch.ts +87 -0
  436. package/chat/web/sidebar/types.ts +12 -0
  437. package/chat/web/sidebar/useChatSidebarFilteredData.ts +141 -0
  438. package/chat/web/sidebar/useSidebarDragAndDrop.ts +56 -0
  439. package/cliCommandAdapters.ts +28 -0
  440. package/cliCommandDispatch.ts +66 -0
  441. package/cliCommandFactories.ts +66 -0
  442. package/cliCommandTypes.ts +49 -0
  443. package/cliEnvHelpers.ts +130 -0
  444. package/cliIoTypes.ts +3 -0
  445. package/client/agentRun.test.ts +123 -19
  446. package/client/agentRun.ts +62 -226
  447. package/client/agentRunLocalExecution.test.ts +123 -0
  448. package/client/agentRunLocalExecution.ts +124 -0
  449. package/client/agentRunRuntimeSelection.test.ts +158 -0
  450. package/client/agentRunRuntimeSelection.ts +155 -0
  451. package/client/hybridRecordStore.test.ts +42 -0
  452. package/client/hybridRecordStore.ts +11 -0
  453. package/client/localRuntimeAdapter.test.ts +189 -21
  454. package/client/localRuntimeAdapter.ts +84 -8
  455. package/client/localRuntimeDryRun.test.ts +5 -2
  456. package/client/profileConfig.test.ts +66 -0
  457. package/client/profileConfig.ts +41 -0
  458. package/client/streamingOutput.ts +1 -3
  459. package/client/taskRunPrompt.ts +7 -23
  460. package/commandRegistry.ts +13 -63
  461. package/connector-experimental/capabilities.ts +1 -0
  462. package/connector-experimental/daemonLauncher.ts +189 -0
  463. package/core/builtinAgents.ts +58 -0
  464. package/core/coin.ts +42 -0
  465. package/core/config.ts +15 -0
  466. package/core/crypto.ts +51 -0
  467. package/core/events/types.ts +145 -0
  468. package/core/generateKeyPairFromSeedV1.ts +15 -0
  469. package/core/generateMainKey.ts +22 -0
  470. package/core/init.ts +41 -0
  471. package/core/localOrigins.ts +8 -0
  472. package/core/password.ts +13 -0
  473. package/core/prefix.ts +23 -0
  474. package/create/editor/blockCommands.ts +118 -0
  475. package/create/editor/highlightExample.ts +66 -0
  476. package/create/editor/imageUpload.ts +66 -0
  477. package/create/editor/mark.ts +15 -0
  478. package/create/editor/plugins/normalizeChineseTypography.ts +85 -0
  479. package/create/editor/plugins/withBlockStructure.ts +53 -0
  480. package/create/editor/plugins/withChineseTypography.ts +61 -0
  481. package/create/editor/plugins/withLayout.ts +30 -0
  482. package/create/editor/plugins/withLinks.ts +13 -0
  483. package/create/editor/plugins/withMentions.ts +15 -0
  484. package/create/editor/plugins/withTables.ts +52 -0
  485. package/create/editor/tableCommands.ts +270 -0
  486. package/create/editor/theme/prism/default.ts +145 -0
  487. package/create/editor/theme/prism/githubDark.ts +139 -0
  488. package/create/editor/theme/prism/githubLight.ts +139 -0
  489. package/create/editor/theme/prism/index.ts +23 -0
  490. package/create/editor/theme/prism/okaidia.ts +197 -0
  491. package/create/editor/toolMentionOptions.ts +19 -0
  492. package/create/editor/transforms/fromMarkdown/index.ts +260 -0
  493. package/create/editor/transforms/fromMarkdown/inline.ts +285 -0
  494. package/create/editor/transforms/fromMarkdown/table.ts +130 -0
  495. package/create/editor/transforms/markdownToSlate.ts +24 -0
  496. package/create/editor/transforms/slateToRenderMarkdown.ts +218 -0
  497. package/create/editor/transforms/slateToSimplifiedMarkdown.ts +224 -0
  498. package/create/editor/transforms/slateToText.ts +33 -0
  499. package/create/editor/types.ts +120 -0
  500. package/create/editor/utils/editorFactory.ts +54 -0
  501. package/create/editor/utils/hasPlainCodeBlock.ts +39 -0
  502. package/create/editor/utils/linkCommands.ts +63 -0
  503. package/create/editor/utils/pdfToSlate.ts +706 -0
  504. package/create/editor/utils/slateUtils.ts +233 -0
  505. package/create/editor/utils/txtToSlate.ts +40 -0
  506. package/create/hooks/category.ts +82 -0
  507. package/create/routePaths.ts +5 -0
  508. package/create/space/addSpaceAction.ts +193 -0
  509. package/create/space/category/categoryActions.ts +427 -0
  510. package/create/space/changeSpaceAction.ts +36 -0
  511. package/create/space/constants.ts +8 -0
  512. package/create/space/content/addContentAction.ts +116 -0
  513. package/create/space/content/contentThunks.ts +90 -0
  514. package/create/space/content/deleteContentFromSpaceAction.ts +187 -0
  515. package/create/space/content/deleteMultipleContentAction.ts +112 -0
  516. package/create/space/content/moveContentAction.ts +285 -0
  517. package/create/space/content/updateContentCategoryAction.ts +154 -0
  518. package/create/space/content/updateContentTitleAction.ts +106 -0
  519. package/create/space/content/uploadAndAddFileToSpaceAction.ts +98 -0
  520. package/create/space/contentKeyUtils.ts +117 -0
  521. package/create/space/contentLabels.ts +56 -0
  522. package/create/space/contentTypeMeta.ts +169 -0
  523. package/create/space/deleteSpaceAction.ts +276 -0
  524. package/create/space/fetchSpaceAction.ts +70 -0
  525. package/create/space/fetchSpaceSidebarStateAction.ts +26 -0
  526. package/create/space/hooks/agentFetchRetry.ts +19 -0
  527. package/create/space/hooks/useAgentFetcher.ts +149 -0
  528. package/create/space/hooks/useGroupedContent.ts +118 -0
  529. package/create/space/hooks/useSpaceEvents.ts +43 -0
  530. package/create/space/initialSpace.ts +78 -0
  531. package/create/space/loadDefaultSpaceAction.ts +57 -0
  532. package/create/space/member/addMemberAction.ts +79 -0
  533. package/create/space/member/fetchUserSpaceMembershipsAction.ts +386 -0
  534. package/create/space/member/memberThunks.ts +47 -0
  535. package/create/space/member/removeMemberAction.ts +67 -0
  536. package/create/space/publicCatalogSpace.ts +39 -0
  537. package/create/space/resolvePreferredSpaceId.ts +113 -0
  538. package/create/space/sidebarVisibleTypes.ts +214 -0
  539. package/create/space/space.locale.ts +981 -0
  540. package/create/space/spaceAccess.ts +182 -0
  541. package/create/space/spaceCollapsedState.ts +54 -0
  542. package/create/space/spaceKeys.ts +65 -0
  543. package/create/space/spaceSlice.ts +328 -0
  544. package/create/space/spaceThunks.ts +410 -0
  545. package/create/space/types.ts +27 -0
  546. package/create/space/updateSpaceAction.ts +107 -0
  547. package/create/space/utils/permissions.ts +47 -0
  548. package/create/space/validateSpacePermission.ts +38 -0
  549. package/create/types.ts +21 -0
  550. package/create/version/appVersionReplication.ts +160 -0
  551. package/create/version/versionApi.ts +142 -0
  552. package/customCodingAgentFlow.ts +208 -0
  553. package/customCodingAgentRecord.ts +179 -0
  554. package/database/actions/agentReadResolution.ts +33 -0
  555. package/database/actions/cacheMergedUserData.ts +1 -1
  556. package/database/actions/common.ts +44 -8
  557. package/database/actions/fetchUserData.ts +1 -1
  558. package/database/actions/fileContent.ts +3 -3
  559. package/database/actions/patch.ts +3 -3
  560. package/database/actions/read.ts +115 -76
  561. package/database/actions/readAndWait.ts +54 -86
  562. package/database/actions/readOutcome.ts +45 -0
  563. package/database/actions/readResolution.ts +102 -0
  564. package/database/actions/remove.ts +2 -2
  565. package/database/actions/upload.ts +4 -4
  566. package/database/actions/upsert.ts +2 -2
  567. package/database/actions/write.ts +4 -4
  568. package/database/client/handleError.ts +1 -1
  569. package/database/client/queryRequest.ts +1 -1
  570. package/database/dbSlice.ts +2 -2
  571. package/database/email.ts +1 -1
  572. package/database/hooks/useUserData.ts +4 -4
  573. package/database/keys.ts +2 -2
  574. package/database/runtimeServerContext.ts +3 -3
  575. package/database/server/actorAccess.ts +1 -1
  576. package/database/server/coreDataProxy.ts +43 -26
  577. package/database/server/cybotReadonly.ts +1 -1
  578. package/database/server/dataHandlers.ts +1 -1
  579. package/database/server/delete.ts +8 -8
  580. package/database/server/emailRepository.ts +7 -7
  581. package/database/server/fileService.ts +1 -1
  582. package/database/server/handleTransaction.ts +2 -2
  583. package/database/server/patch.ts +3 -3
  584. package/database/server/read.ts +5 -5
  585. package/database/server/resourceAccess.ts +2 -2
  586. package/database/server/routes.ts +3 -3
  587. package/database/server/write.ts +5 -5
  588. package/database/table/deleteTable.ts +1 -1
  589. package/database/userPreferenceRegister.ts +2 -2
  590. package/dialogDataAccess.ts +186 -0
  591. package/dialogInternalCommandEntries.ts +11 -0
  592. package/dialogReadCommands.ts +179 -0
  593. package/dialogReadHelpers.ts +226 -0
  594. package/dialogStatusCommands.ts +122 -0
  595. package/docInternalCommandEntries.ts +20 -0
  596. package/hybridReadHelpers.ts +109 -0
  597. package/index.ts +56 -197
  598. package/integrations/anthropic/anthropicModels.ts +47 -0
  599. package/integrations/anthropic/type.ts +41 -0
  600. package/integrations/deepseek/models.ts +67 -0
  601. package/integrations/google/models.ts +298 -0
  602. package/integrations/openai/chatCompletionStreamMode.ts +10 -0
  603. package/integrations/openai/filterAndCleanMessages.ts +284 -0
  604. package/integrations/openai/flexTier.ts +102 -0
  605. package/integrations/openai/generateOpenAIRequestBody.ts +274 -0
  606. package/integrations/openai/generateResponseRequestBody.ts +77 -0
  607. package/integrations/openai/models.ts +271 -0
  608. package/integrations/openai/providerBodyCompatibility.ts +23 -0
  609. package/integrations/openai/responsesHelpers.ts +297 -0
  610. package/integrations/postmark/index.ts +57 -0
  611. package/integrations/resend/index.ts +353 -0
  612. package/integrations/weather/getWeather.ts +24 -0
  613. package/integrations/weather/index.ts +6 -0
  614. package/integrations/weather/routes.ts +31 -0
  615. package/integrations/weather/weatherApi.ts +27 -0
  616. package/integrations/weather/weatherConstants.ts +2 -0
  617. package/integrations/weather/weatherI18n.ts +50 -0
  618. package/integrations/weather/weatherService.ts +50 -0
  619. package/integrations/weather/weatherTypes.ts +140 -0
  620. package/integrations/weather/weatherUtils.ts +46 -0
  621. package/integrations/x-reader/backends/localBrowser.ts +215 -0
  622. package/integrations/x-reader/backends/publicFallback.ts +31 -0
  623. package/integrations/x-reader/backends/rawCdp.ts +218 -0
  624. package/integrations/x-reader/bridge/chromeBridgeManager.ts +235 -0
  625. package/integrations/x-reader/bridge/readXPostWithBridge.ts +73 -0
  626. package/integrations/x-reader/fixtureParser.ts +101 -0
  627. package/integrations/x-reader/index.ts +9 -0
  628. package/integrations/x-reader/redaction.ts +27 -0
  629. package/integrations/x-reader/types.ts +109 -0
  630. package/integrations/x-reader/visibleTextParser.ts +108 -0
  631. package/integrations/xai/models.ts +13 -0
  632. package/internalCommandEntries.ts +20 -0
  633. package/machineCommandPrompts.ts +77 -0
  634. package/machineCommandResolution.ts +43 -0
  635. package/machineCommands.ts +104 -853
  636. package/machineDaemonCommands.ts +29 -0
  637. package/machineHeartbeatCommands.ts +29 -0
  638. package/machineStatusCommands.ts +95 -0
  639. package/machineWatchCommands.ts +41 -0
  640. package/machineWsPromptMaterialization.ts +89 -0
  641. package/machineWsRunDispatch.ts +570 -0
  642. package/machineWsSession.ts +148 -0
  643. package/package.json +126 -4
  644. package/pageCreateCommands.ts +219 -0
  645. package/pageDeleteCommands.ts +167 -0
  646. package/pageReadCommands.ts +151 -0
  647. package/pageUpdateCommands.ts +249 -0
  648. package/pageWriteHelpers.ts +209 -0
  649. package/publishPackage.ts +36 -0
  650. package/render/canvas/canvasEditContext.ts +1 -1
  651. package/render/layout/mainLayoutViewMode.ts +1 -1
  652. package/render/page/createPageAction.ts +12 -12
  653. package/render/page/docSlice.ts +8 -8
  654. package/render/page/server/createPage.ts +7 -7
  655. package/render/page/server/handleCreatePage.ts +2 -2
  656. package/render/page/types.ts +2 -2
  657. package/render/surf/utils/groupedWeatherData.ts +1 -1
  658. package/render/table/createTableAction.ts +7 -7
  659. package/render/table/deleteTableAction.ts +4 -4
  660. package/render/table/fetchAndCacheTableRows.ts +2 -2
  661. package/render/table/tableSlice.ts +6 -6
  662. package/render/table/types.ts +1 -1
  663. package/render/table/useCreateTable.ts +2 -2
  664. package/render/table/useTable.ts +2 -2
  665. package/render/table/utils/tableSerialization.ts +1 -1
  666. package/runtimeDoctorCommands.ts +118 -0
  667. package/runtimeInternalCommandEntries.ts +15 -0
  668. package/runtimePassthroughCommands.ts +22 -0
  669. package/scriptCommandEntries.ts +31 -0
  670. package/scriptPassthroughHelpers.ts +28 -0
  671. package/secretScanHelpers.ts +31 -0
  672. package/server/agentEmailRegistrationRoutes.ts +29 -0
  673. package/server/agentRunRouteContract.ts +9 -0
  674. package/server/agentRunRoutes.ts +10 -0
  675. package/server/api/methods.ts +333 -0
  676. package/server/api/tableHandlers.ts +55 -0
  677. package/server/api/types.ts +27 -0
  678. package/server/apiContract.ts +88 -0
  679. package/server/apiRouteAdapter.ts +218 -0
  680. package/server/appBundler.ts +90 -0
  681. package/server/appRoutes.ts +92 -0
  682. package/server/artifactIconsRoute.ts +89 -0
  683. package/server/artifactRuntimeRoute.ts +136 -0
  684. package/server/authenticateToken.ts +73 -0
  685. package/server/billingLedgerRoutes.ts +48 -0
  686. package/server/cliChatRoutes.ts +5 -0
  687. package/server/cloudflareRoutes.ts +35 -0
  688. package/server/coreHeaders.ts +29 -0
  689. package/server/coreReadiness.ts +39 -0
  690. package/server/coreRoutes.ts +65 -0
  691. package/server/coreRuntime.ts +93 -0
  692. package/server/createResponse.ts +68 -0
  693. package/server/cryptoPaymentRoutes.ts +8 -0
  694. package/server/databaseRoutes.ts +225 -0
  695. package/server/desktopRuntimeRoutes.ts +120 -0
  696. package/server/devBuildInfo.ts +51 -0
  697. package/server/devReload.ts +161 -0
  698. package/server/devToolPathPolicy.ts +59 -0
  699. package/server/devToolRoutes.ts +274 -0
  700. package/server/email/cloudflareEmailProvider.ts +119 -0
  701. package/server/email/cloudflareInboundBridge.ts +121 -0
  702. package/server/email/cloudflareInboundWorker.ts +28 -0
  703. package/server/email/provider.ts +149 -0
  704. package/server/email/providerRegistry.ts +22 -0
  705. package/server/emailInboundRoutes.ts +17 -0
  706. package/server/entry.ts +211 -0
  707. package/server/handleRPCRequest.ts +117 -0
  708. package/server/handlers/activityStatsHandler.ts +74 -0
  709. package/server/handlers/agentEmailRegistrationE2EHandler.ts +406 -0
  710. package/server/handlers/agentEmailRegistrationE2ERoutes.ts +6 -0
  711. package/server/handlers/agentRun/agentLookup.ts +77 -0
  712. package/server/handlers/agentRun/autonomousRuntime.ts +355 -0
  713. package/server/handlers/agentRun/backgroundRunDialog.ts +31 -0
  714. package/server/handlers/agentRun/builtinAgents.ts +347 -0
  715. package/server/handlers/agentRun/continueDialogContext.ts +90 -0
  716. package/server/handlers/agentRun/debugContext.ts +58 -0
  717. package/server/handlers/agentRun/dialogLookup.ts +67 -0
  718. package/server/handlers/agentRun/foregroundStreamDialog.ts +13 -0
  719. package/server/handlers/agentRun/index.ts +1630 -0
  720. package/server/handlers/agentRun/inheritedDialogPrompt.ts +111 -0
  721. package/server/handlers/agentRun/localRuntimeBootstrap.ts +69 -0
  722. package/server/handlers/agentRun/loop.ts +2210 -0
  723. package/server/handlers/agentRun/machineConnector.ts +235 -0
  724. package/server/handlers/agentRun/machineRunAudit.ts +49 -0
  725. package/server/handlers/agentRun/modelUsageToolHandlers.ts +368 -0
  726. package/server/handlers/agentRun/referenceRuntime.ts +50 -0
  727. package/server/handlers/agentRun/requestContext.ts +86 -0
  728. package/server/handlers/agentRun/response.ts +27 -0
  729. package/server/handlers/agentRun/runBilling.ts +108 -0
  730. package/server/handlers/agentRun/runDialogPreparation.ts +55 -0
  731. package/server/handlers/agentRun/runtimeBinding.ts +61 -0
  732. package/server/handlers/agentRun/runtimeContext.ts +143 -0
  733. package/server/handlers/agentRun/runtimeExecutionContext.ts +153 -0
  734. package/server/handlers/agentRun/runtimePreparation.ts +193 -0
  735. package/server/handlers/agentRun/runtimeRouting.ts +88 -0
  736. package/server/handlers/agentRun/runtimeSystemMessages.ts +165 -0
  737. package/server/handlers/agentRun/saveDialog.ts +1373 -0
  738. package/server/handlers/agentRun/syncRunDialog.ts +90 -0
  739. package/server/handlers/agentRun/tableActivityProjection.ts +132 -0
  740. package/server/handlers/agentRun/taskRunControlPrompt.ts +122 -0
  741. package/server/handlers/agentRun/taskRunToolHandler.ts +579 -0
  742. package/server/handlers/agentRun/toolExecutor.ts +2909 -0
  743. package/server/handlers/agentRun/toolPolicyGuards.ts +295 -0
  744. package/server/handlers/agentRun/types.ts +94 -0
  745. package/server/handlers/agentRun/workspaceLease.ts +58 -0
  746. package/server/handlers/alphaTestRouteGuard.ts +30 -0
  747. package/server/handlers/apifyActorHandler.ts +170 -0
  748. package/server/handlers/appDeployFlow.ts +876 -0
  749. package/server/handlers/appDeployHandler.ts +4 -0
  750. package/server/handlers/appDeployMutationHandlers.ts +133 -0
  751. package/server/handlers/appDeployReadHandlers.ts +321 -0
  752. package/server/handlers/appDeployShared.ts +230 -0
  753. package/server/handlers/appDeployStatusStore.ts +178 -0
  754. package/server/handlers/appDomainHandler.ts +476 -0
  755. package/server/handlers/appLegacyInfraCleanup.ts +7 -0
  756. package/server/handlers/appSandboxHandler.ts +1055 -0
  757. package/server/handlers/appSourceReadiness.ts +75 -0
  758. package/server/handlers/appSpaceAccess.ts +179 -0
  759. package/server/handlers/applyEditHandler.ts +544 -0
  760. package/server/handlers/applyLineEditsHandler.ts +1058 -0
  761. package/server/handlers/billingLedgerAuditHandler.ts +82 -0
  762. package/server/handlers/billingLedgerWitnessHandler.ts +161 -0
  763. package/server/handlers/billingUsageReportHandler.ts +90 -0
  764. package/server/handlers/browserToolHandler.ts +450 -0
  765. package/server/handlers/cfTextToSpeechHandler.ts +137 -0
  766. package/server/handlers/cfWhisperHandler.ts +206 -0
  767. package/server/handlers/chatBillingSse.ts +79 -0
  768. package/server/handlers/chatHandler.ts +797 -0
  769. package/server/handlers/chatProxyRouting.ts +404 -0
  770. package/server/handlers/chatUpstreamRetry.ts +162 -0
  771. package/server/handlers/checkEnvHandler.ts +250 -0
  772. package/server/handlers/cliChatHandler.ts +266 -0
  773. package/server/handlers/cloudflareBrowserHandler.ts +275 -0
  774. package/server/handlers/cloudflareCrawlHandler.ts +260 -0
  775. package/server/handlers/codeSearchHandler.ts +484 -0
  776. package/server/handlers/connector/connectorConnectionRegistry.ts +192 -0
  777. package/server/handlers/connector/connectorWebSocket.ts +117 -0
  778. package/server/handlers/creatorEarningsReportHandler.ts +97 -0
  779. package/server/handlers/creatorSettlementReportHandler.ts +98 -0
  780. package/server/handlers/deepseekOcrHandler.ts +114 -0
  781. package/server/handlers/deleteMemoryHandler.ts +115 -0
  782. package/server/handlers/desktopAgentRuntimeAdapter.ts +307 -0
  783. package/server/handlers/desktopAgentRuntimeHostFacts.ts +40 -0
  784. package/server/handlers/desktopAgentRuntimeStatusHandler.ts +54 -0
  785. package/server/handlers/desktopAgentRuntimeTurnHandler.ts +165 -0
  786. package/server/handlers/desktopAgentRuntimeTurnService.ts +352 -0
  787. package/server/handlers/desktopClipboardHandler.ts +104 -0
  788. package/server/handlers/desktopFiles/handler.ts +159 -0
  789. package/server/handlers/desktopFiles/operations.ts +202 -0
  790. package/server/handlers/desktopFiles/sandbox.ts +62 -0
  791. package/server/handlers/desktopFiles/store.ts +81 -0
  792. package/server/handlers/desktopLlamaRuntimeHandler.ts +360 -0
  793. package/server/handlers/desktopLocalConnectorHandler.ts +101 -0
  794. package/server/handlers/desktopUpdaterHandler.ts +132 -0
  795. package/server/handlers/dialogEvents.ts +10 -0
  796. package/server/handlers/emailInboundHandler.ts +65 -0
  797. package/server/handlers/eventBus.ts +160 -0
  798. package/server/handlers/exaSearchHandler.ts +73 -0
  799. package/server/handlers/execShellHandler.ts +661 -0
  800. package/server/handlers/favoriteHandlers.ts +417 -0
  801. package/server/handlers/fetchWebpageHandler.ts +117 -0
  802. package/server/handlers/fileOutlineHandler.ts +107 -0
  803. package/server/handlers/geminiImagePreviewHandler.ts +612 -0
  804. package/server/handlers/getDialogBillingHandler.ts +151 -0
  805. package/server/handlers/getTransactionsHandler.ts +107 -0
  806. package/server/handlers/googleNativeChat.ts +572 -0
  807. package/server/handlers/listFilesHandler.ts +139 -0
  808. package/server/handlers/machines/machineAuth.ts +149 -0
  809. package/server/handlers/machines/machineBinding.ts +59 -0
  810. package/server/handlers/machines/machineHandlers.ts +279 -0
  811. package/server/handlers/machines/machineInstallAssets.ts +563 -0
  812. package/server/handlers/machines/machineRegistry.ts +89 -0
  813. package/server/handlers/notificationEmitter.ts +189 -0
  814. package/server/handlers/notificationsHandler.ts +91 -0
  815. package/server/handlers/olmOcrHandler.ts +115 -0
  816. package/server/handlers/openaiImageHandler.ts +500 -0
  817. package/server/handlers/providerHealthHandler.ts +36 -0
  818. package/server/handlers/publicHandler.ts +209 -0
  819. package/server/handlers/readFileHandler.ts +300 -0
  820. package/server/handlers/readXPostHandler.ts +180 -0
  821. package/server/handlers/rememberMemoryHandler.ts +69 -0
  822. package/server/handlers/remotionRenderHandler.ts +236 -0
  823. package/server/handlers/renderMarkdownHandler.ts +66 -0
  824. package/server/handlers/revenueShareReportHandler.ts +96 -0
  825. package/server/handlers/searchRepoHandler.ts +159 -0
  826. package/server/handlers/tableAccess.ts +34 -0
  827. package/server/handlers/tableToolHandlers.ts +741 -0
  828. package/server/handlers/typecheckWorker.ts +54 -0
  829. package/server/handlers/userEvents.ts +6 -0
  830. package/server/handlers/userSecretsHandler.ts +210 -0
  831. package/server/handlers/versionHandler.ts +281 -0
  832. package/server/handlers/versionStore.ts +176 -0
  833. package/server/handlers/wereadGatewayHandler.ts +48 -0
  834. package/server/handlers/whisperHandler.ts +158 -0
  835. package/server/handlers/writeFileHandler.ts +168 -0
  836. package/server/html/desktopReleaseManifest.server.ts +17 -0
  837. package/server/html/generateErrorResponse.ts +22 -0
  838. package/server/html/serializeState.ts +9 -0
  839. package/server/html/ssrPreload.ts +247 -0
  840. package/server/html/template.ts +275 -0
  841. package/server/httpCompression.ts +102 -0
  842. package/server/index.ts +0 -0
  843. package/server/liveReloadScript.ts +105 -0
  844. package/server/luIconNames.ts +14 -0
  845. package/server/machineRoutes.ts +44 -0
  846. package/server/mediaRoutes.ts +25 -0
  847. package/server/memoryRoutes.ts +14 -0
  848. package/server/normalizedStatusRoutes.ts +23 -0
  849. package/server/payments/crypto/cryptoUsdcBaseAddressPool.ts +49 -0
  850. package/server/payments/crypto/cryptoUsdcBaseConfig.ts +120 -0
  851. package/server/payments/crypto/cryptoUsdcBasePaymentProvider.ts +134 -0
  852. package/server/payments/crypto/cryptoUsdcBaseScanner.ts +267 -0
  853. package/server/payments/crypto/cryptoUsdcBaseWatcher.ts +40 -0
  854. package/server/payments/crypto/cryptoUsdtTronAddressPool.ts +49 -0
  855. package/server/payments/crypto/cryptoUsdtTronConfig.ts +120 -0
  856. package/server/payments/crypto/cryptoUsdtTronPaymentProvider.ts +132 -0
  857. package/server/payments/crypto/cryptoUsdtTronScanner.ts +313 -0
  858. package/server/payments/crypto/cryptoUsdtTronWatcher.ts +40 -0
  859. package/server/payments/paymentProvider.ts +6 -0
  860. package/server/payments/paymentRoutes.ts +27 -0
  861. package/server/payments/rechargeCredits.ts +69 -0
  862. package/server/payments/waffo/waffoPaymentProvider.ts +341 -0
  863. package/server/preview/previewCapability.ts +90 -0
  864. package/server/preview/previewConfig.ts +54 -0
  865. package/server/preview/previewGateway.ts +71 -0
  866. package/server/preview/previewRealtime.ts +33 -0
  867. package/server/providerHealthProbe.ts +198 -0
  868. package/server/providerHealthRoutes.ts +19 -0
  869. package/server/publicPaths.ts +12 -0
  870. package/server/publicRequestHandler.ts +15 -0
  871. package/server/reactAppBuilder.ts +416 -0
  872. package/server/realtimeRoutes.ts +69 -0
  873. package/server/renderStream.ts +20 -0
  874. package/server/routeFactory.ts +45 -0
  875. package/server/routes.ts +125 -0
  876. package/server/safeTempFile.ts +48 -0
  877. package/server/scheduler/scheduledTaskRuntime.ts +228 -0
  878. package/server/scheduler/schedulerService.ts +290 -0
  879. package/server/serverDrain.ts +129 -0
  880. package/server/services/browserSessionManager.ts +354 -0
  881. package/server/shareRoutes.ts +86 -0
  882. package/server/sqliteRoutes.ts +141 -0
  883. package/server/taskRunBridgeRoutes.ts +95 -0
  884. package/server/tasks.ts +113 -0
  885. package/server/waffoPaymentRoutes.ts +5 -0
  886. package/server/webUtilityRoutes.ts +50 -0
  887. package/server/workerValidator.ts +224 -0
  888. package/share/action.ts +225 -0
  889. package/share/clientTableReplication.ts +160 -0
  890. package/share/helpers.ts +302 -0
  891. package/share/keys.ts +243 -0
  892. package/share/link.ts +40 -0
  893. package/share/loadOwnerShares.ts +154 -0
  894. package/share/paidAccess.ts +32 -0
  895. package/share/publicSharePolicy.ts +27 -0
  896. package/share/server/fetchCommunityShares.ts +45 -0
  897. package/share/server/helpers.ts +202 -0
  898. package/share/server/importShare.ts +148 -0
  899. package/share/server/listCommunityShares.ts +167 -0
  900. package/share/server/purchaseDoc.ts +224 -0
  901. package/share/server/readCommunityShareCover.ts +73 -0
  902. package/share/server/readSharedTable.ts +139 -0
  903. package/share/server/tableReplication.ts +351 -0
  904. package/share/shareSlice.ts +53 -0
  905. package/share/tableShareState.ts +74 -0
  906. package/share/types.ts +100 -0
  907. package/spaceCategoryCommands.ts +263 -0
  908. package/spaceCommands.ts +295 -0
  909. package/spaceDeleteCommands.ts +312 -0
  910. package/spaceInternalCommandEntries.ts +19 -0
  911. package/spaceMutationHelpers.ts +135 -0
  912. package/spaceReadCommands.ts +323 -0
  913. package/systemInternalCommandEntries.ts +65 -0
  914. package/tableCommands.ts +33 -133
  915. package/tableDataOutput.ts +41 -0
  916. package/tableDataSafety.ts +26 -0
  917. package/tableMetaCommands.ts +307 -0
  918. package/tableMutationCommands.ts +266 -0
  919. package/tableQueryParsing.ts +90 -0
  920. package/tableQueryRequest.ts +53 -0
  921. package/taskRunActions.ts +122 -0
  922. package/taskRunCommand.ts +8 -214
  923. package/taskRunParsing.ts +86 -0
  924. package/taskRunPromptShared.ts +55 -0
  925. package/tui/session.ts +43 -372
  926. package/tui/tuiCatalog.ts +22 -0
  927. package/tui/tuiCommandInterpreter.test.ts +169 -0
  928. package/tui/tuiCommandInterpreter.ts +253 -0
  929. package/tui/tuiPresentation.test.ts +154 -0
  930. package/tui/tuiPresentation.ts +146 -0
  931. package/workflowInternalCommandEntries.ts +31 -0
@@ -9,6 +9,7 @@ import type {
9
9
  type LocalWorkspaceToolArgs = {
10
10
  workspaceRoot: string;
11
11
  commandTimeoutMs?: number;
12
+ commandPrefix?: string[];
12
13
  };
13
14
 
14
15
  type WorkspaceFileArgs = {
@@ -35,6 +36,7 @@ type WorkspaceFileArgs = {
35
36
  expectText?: unknown;
36
37
  screenshotPath?: unknown;
37
38
  metricsPath?: unknown;
39
+ shell?: unknown;
38
40
  };
39
41
 
40
42
  type OpenAiCompatibleTool = Record<string, unknown> & {
@@ -49,16 +51,12 @@ const WORKSPACE_TOOL_NAMES = [
49
51
  "listFiles",
50
52
  "readFile",
51
53
  "writeFile",
54
+ "editFile",
55
+ "searchFiles",
52
56
  "searchWorkspace",
53
57
  "applyEdit",
54
58
  "applyLineEdits",
55
59
  "applyPatch",
56
- "gitStatus",
57
- "gitDiff",
58
- "gitCreateBranch",
59
- "gitAdd",
60
- "gitCommit",
61
- "commitWorkspace",
62
60
  "runPackageScript",
63
61
  "startPreview",
64
62
  "getPreviewStatus",
@@ -66,28 +64,26 @@ const WORKSPACE_TOOL_NAMES = [
66
64
  "releasePreview",
67
65
  "captureVisualState",
68
66
  "execShell",
69
- "execBash",
70
67
  ] as const;
71
68
 
72
69
  const DEFAULT_LOCAL_CODING_TOOL_NAMES = [
73
- "readWorkspaceFile",
74
- "writeWorkspaceFile",
75
- "replaceWorkspaceText",
76
- "searchWorkspace",
77
- "applyPatch",
70
+ "listFiles",
71
+ "readFile",
72
+ "writeFile",
73
+ "editFile",
74
+ "searchFiles",
75
+ ] as const;
76
+
77
+ const SHELL_TOOL_NAMES = ["execShell"] as const;
78
+ const WORKSPACE_TOOL_NAME_SET = new Set<string>(WORKSPACE_TOOL_NAMES);
79
+ const REMOVED_WORKSPACE_TOOL_NAMES = new Set([
78
80
  "gitStatus",
79
81
  "gitDiff",
80
82
  "gitCreateBranch",
83
+ "gitAdd",
84
+ "gitCommit",
81
85
  "commitWorkspace",
82
- "runPackageScript",
83
- "startPreview",
84
- "getPreviewStatus",
85
- "stopPreview",
86
- "releasePreview",
87
- "captureVisualState",
88
- ] as const;
89
-
90
- const SHELL_TOOL_NAMES = ["execShell", "execBash"] as const;
86
+ ]);
91
87
  const DEFAULT_WORKSPACE_COMMAND_TIMEOUT_MS = 120_000;
92
88
 
93
89
  function buildWorkspacePathProperty() {
@@ -118,7 +114,8 @@ function buildReadWorkspaceFileTool(): OpenAiCompatibleTool {
118
114
  type: "function",
119
115
  function: {
120
116
  name: "readWorkspaceFile",
121
- description: "Read a UTF-8 text file inside the workspace.",
117
+ description:
118
+ "Read a UTF-8 text file inside the workspace. Read before editing when you need the current content or exact text for replaceWorkspaceText; skip unnecessary reads for trivial known writes.",
122
119
  parameters: {
123
120
  type: "object",
124
121
  properties: {
@@ -135,7 +132,8 @@ function buildWriteWorkspaceFileTool(): OpenAiCompatibleTool {
135
132
  type: "function",
136
133
  function: {
137
134
  name: "writeWorkspaceFile",
138
- description: "Write UTF-8 text content to a file inside the workspace.",
135
+ description:
136
+ "Write full UTF-8 file content inside the workspace. Prefer replaceWorkspaceText for small edits to existing large files; use this for new files or deliberate whole-file rewrites.",
139
137
  parameters: {
140
138
  type: "object",
141
139
  properties: {
@@ -156,7 +154,8 @@ function buildReplaceWorkspaceTextTool(): OpenAiCompatibleTool {
156
154
  type: "function",
157
155
  function: {
158
156
  name: "replaceWorkspaceText",
159
- description: "Replace exact UTF-8 text in one workspace file without constructing a patch.",
157
+ description:
158
+ "Use for small, exact edits in one workspace file without constructing a patch. Read the file first when you need the exact oldText; set expectedReplacements to avoid accidental broad edits.",
160
159
  parameters: {
161
160
  type: "object",
162
161
  properties: {
@@ -221,123 +220,6 @@ function buildApplyPatchTool(): OpenAiCompatibleTool {
221
220
  };
222
221
  }
223
222
 
224
- function buildGitStatusTool(): OpenAiCompatibleTool {
225
- return {
226
- type: "function",
227
- function: {
228
- name: "gitStatus",
229
- description: "Show concise git status for the workspace.",
230
- parameters: { type: "object", properties: {} },
231
- },
232
- };
233
- }
234
-
235
- function buildGitDiffTool(): OpenAiCompatibleTool {
236
- return {
237
- type: "function",
238
- function: {
239
- name: "gitDiff",
240
- description: "Show git diff for the workspace.",
241
- parameters: {
242
- type: "object",
243
- properties: {
244
- path: buildWorkspacePathProperty(),
245
- staged: {
246
- type: "boolean",
247
- description: "When true, show staged changes.",
248
- },
249
- },
250
- },
251
- },
252
- };
253
- }
254
-
255
- function buildGitCreateBranchTool(): OpenAiCompatibleTool {
256
- return {
257
- type: "function",
258
- function: {
259
- name: "gitCreateBranch",
260
- description: "Create and switch to a local git branch in the workspace.",
261
- parameters: {
262
- type: "object",
263
- properties: {
264
- branch: {
265
- type: "string",
266
- description: "Branch name to create and check out.",
267
- },
268
- },
269
- required: ["branch"],
270
- },
271
- },
272
- };
273
- }
274
-
275
- function buildGitAddTool(): OpenAiCompatibleTool {
276
- return {
277
- type: "function",
278
- function: {
279
- name: "gitAdd",
280
- description: "Stage workspace files for commit.",
281
- parameters: {
282
- type: "object",
283
- properties: {
284
- paths: {
285
- type: "array",
286
- items: { type: "string" },
287
- description: "Workspace-relative paths to stage.",
288
- },
289
- },
290
- required: ["paths"],
291
- },
292
- },
293
- };
294
- }
295
-
296
- function buildGitCommitTool(): OpenAiCompatibleTool {
297
- return {
298
- type: "function",
299
- function: {
300
- name: "gitCommit",
301
- description: "Commit staged workspace changes.",
302
- parameters: {
303
- type: "object",
304
- properties: {
305
- message: {
306
- type: "string",
307
- description: "Commit subject.",
308
- },
309
- },
310
- required: ["message"],
311
- },
312
- },
313
- };
314
- }
315
-
316
- function buildCommitWorkspaceTool(): OpenAiCompatibleTool {
317
- return {
318
- type: "function",
319
- function: {
320
- name: "commitWorkspace",
321
- description: "Stage selected workspace paths, commit them, and return branch, commit hash, and clean status.",
322
- parameters: {
323
- type: "object",
324
- properties: {
325
- paths: {
326
- type: "array",
327
- items: { type: "string" },
328
- description: "Workspace-relative paths to stage before committing.",
329
- },
330
- message: {
331
- type: "string",
332
- description: "Commit subject.",
333
- },
334
- },
335
- required: ["paths", "message"],
336
- },
337
- },
338
- };
339
- }
340
-
341
223
  function buildRunPackageScriptTool(): OpenAiCompatibleTool {
342
224
  return {
343
225
  type: "function",
@@ -433,7 +315,8 @@ function buildExecShellTool(toolName: string): OpenAiCompatibleTool {
433
315
  type: "function",
434
316
  function: {
435
317
  name: toolName,
436
- description: "Run a shell command in the local workspace.",
318
+ description:
319
+ "Run a shell command in the local workspace. Commands already execute from the workspace root; do not cd into guessed paths such as /workspace, /repo, /home/user, or /home/user/workspace. Prefer one command that performs a complete verification or related git operation instead of many tiny commands. For branch setup, prefer idempotent commands such as git switch -C <branch> when replacing or recreating a benchmark branch is acceptable. Use portable POSIX commands for macOS/BSD shells; avoid GNU-only flags such as cat -A. Do not use cat -A. Do not use brittle byte-offset commands such as xxd -s -32. For separator lines, use echo or printf '%s\\n'. For text-file content or trailing-newline checks, prefer readFile over shell byte inspection when that tool is available. Do not run repeated git status, git log, git rev-parse, or branch checks after a successful command already returned the needed clean status and commit information; use one final verification command. If a command fails, use the error output to adjust the next command rather than repeating the same shape.",
437
320
  parameters: {
438
321
  type: "object",
439
322
  properties: {
@@ -451,15 +334,68 @@ function buildExecShellTool(toolName: string): OpenAiCompatibleTool {
451
334
  };
452
335
  }
453
336
 
337
+ function wrapPowerShellCommand(command: string) {
338
+ return [
339
+ "[Console]::InputEncoding=[System.Text.Encoding]::UTF8",
340
+ "[Console]::OutputEncoding=[System.Text.Encoding]::UTF8",
341
+ "$OutputEncoding=[System.Text.Encoding]::UTF8",
342
+ "$PSStyle.OutputRendering='PlainText'",
343
+ command,
344
+ ].join("; ");
345
+ }
346
+
347
+ function findPowerShellExecutable() {
348
+ return Bun.which("pwsh") || Bun.which("powershell.exe") || Bun.which("powershell");
349
+ }
350
+
351
+ function buildPowerShellCommand(command: string) {
352
+ const executable = findPowerShellExecutable();
353
+ if (!executable) throw new Error("PowerShell is not available on this machine.");
354
+ return [
355
+ executable,
356
+ "-NoLogo",
357
+ "-NoProfile",
358
+ "-NonInteractive",
359
+ "-ExecutionPolicy",
360
+ "Bypass",
361
+ "-Command",
362
+ wrapPowerShellCommand(command),
363
+ ];
364
+ }
365
+
366
+ function buildBashCommand(command: string) {
367
+ const executable = Bun.which("bash") || Bun.which("sh");
368
+ if (!executable) throw new Error("bash/sh is not available on this machine.");
369
+ return [executable, "-lc", command];
370
+ }
371
+
372
+ function buildWorkspaceShellCommand(args: {
373
+ toolName: string;
374
+ command: string;
375
+ shell?: unknown;
376
+ }) {
377
+ if (args.shell === "powershell") return buildPowerShellCommand(args.command);
378
+ if (args.shell === "bash") return buildBashCommand(args.command);
379
+ return process.platform === "win32"
380
+ ? buildPowerShellCommand(args.command)
381
+ : buildBashCommand(args.command);
382
+ }
383
+
454
384
  function renameWorkspaceToolDefinition(
455
385
  tool: OpenAiCompatibleTool,
456
386
  name: string
457
387
  ): OpenAiCompatibleTool {
388
+ const description = typeof tool.function?.description === "string"
389
+ ? tool.function.description
390
+ .replaceAll("replaceWorkspaceText", "editFile")
391
+ .replaceAll("readWorkspaceFile", "readFile")
392
+ : tool.function?.description;
458
393
  return {
459
394
  ...tool,
460
395
  function: {
461
396
  ...(tool.function ?? {}),
462
397
  name,
398
+ description,
463
399
  },
464
400
  };
465
401
  }
@@ -474,23 +410,24 @@ function buildWorkspaceToolDefinition(toolName: string) {
474
410
  if (toolName === "writeWorkspaceFile" || toolName === "writeFile") {
475
411
  return renameWorkspaceToolDefinition(buildWriteWorkspaceFileTool(), toolName);
476
412
  }
477
- if (toolName === "replaceWorkspaceText" || toolName === "applyEdit" || toolName === "applyLineEdits") {
413
+ if (
414
+ toolName === "replaceWorkspaceText" ||
415
+ toolName === "editFile" ||
416
+ toolName === "applyEdit" ||
417
+ toolName === "applyLineEdits"
418
+ ) {
478
419
  return renameWorkspaceToolDefinition(buildReplaceWorkspaceTextTool(), toolName);
479
420
  }
480
- if (toolName === "searchWorkspace") return buildSearchWorkspaceTool();
421
+ if (toolName === "searchWorkspace" || toolName === "searchFiles") {
422
+ return renameWorkspaceToolDefinition(buildSearchWorkspaceTool(), toolName);
423
+ }
481
424
  if (toolName === "applyPatch") return buildApplyPatchTool();
482
- if (toolName === "gitStatus") return buildGitStatusTool();
483
- if (toolName === "gitDiff") return buildGitDiffTool();
484
- if (toolName === "gitCreateBranch") return buildGitCreateBranchTool();
485
- if (toolName === "gitAdd") return buildGitAddTool();
486
- if (toolName === "gitCommit") return buildGitCommitTool();
487
- if (toolName === "commitWorkspace") return buildCommitWorkspaceTool();
488
425
  if (toolName === "runPackageScript") return buildRunPackageScriptTool();
489
426
  if (toolName === "startPreview" || toolName === "getPreviewStatus" || toolName === "stopPreview" || toolName === "releasePreview") {
490
427
  return buildPreviewLifecycleTool(toolName);
491
428
  }
492
429
  if (toolName === "captureVisualState") return buildCaptureVisualStateTool();
493
- if (toolName === "execShell" || toolName === "execBash") return buildExecShellTool(toolName);
430
+ if (toolName === "execShell") return buildExecShellTool(toolName);
494
431
  return null;
495
432
  }
496
433
 
@@ -500,22 +437,40 @@ function removeRedundantWorkspaceToolAliases(toolNames: Set<string>) {
500
437
  if (next.has("readWorkspaceFile")) next.delete("readFile");
501
438
  if (next.has("writeWorkspaceFile")) next.delete("writeFile");
502
439
  if (next.has("replaceWorkspaceText")) {
440
+ next.delete("editFile");
503
441
  next.delete("applyEdit");
504
442
  next.delete("applyLineEdits");
505
443
  }
444
+ if (next.has("searchWorkspace")) next.delete("searchFiles");
506
445
  return next;
507
446
  }
508
447
 
448
+ function filterDeclaredWorkspaceToolNames(args: {
449
+ toolNames?: string[];
450
+ exposeShellTools: boolean;
451
+ }) {
452
+ return (args.toolNames ?? []).filter((toolName) =>
453
+ WORKSPACE_TOOL_NAME_SET.has(toolName) &&
454
+ !REMOVED_WORKSPACE_TOOL_NAMES.has(toolName) &&
455
+ (args.exposeShellTools || !SHELL_TOOL_NAMES.includes(toolName as any))
456
+ );
457
+ }
458
+
509
459
  export function buildLocalWorkspaceToolset(args: {
510
460
  declaredToolNames?: string[];
511
461
  exposeShellTools?: boolean;
512
462
  }) {
513
463
  const exposeShellTools = args.exposeShellTools === true;
464
+ const toolNames = removeRedundantWorkspaceToolAliases(new Set([
465
+ ...DEFAULT_LOCAL_CODING_TOOL_NAMES,
466
+ ...(exposeShellTools ? SHELL_TOOL_NAMES : []),
467
+ ...filterDeclaredWorkspaceToolNames({
468
+ toolNames: args.declaredToolNames,
469
+ exposeShellTools,
470
+ }),
471
+ ]));
514
472
  return {
515
- toolNames: [
516
- ...DEFAULT_LOCAL_CODING_TOOL_NAMES,
517
- ...(exposeShellTools ? SHELL_TOOL_NAMES : []),
518
- ],
473
+ toolNames: [...toolNames],
519
474
  exposeShellTools,
520
475
  };
521
476
  }
@@ -525,9 +480,14 @@ export function buildLocalWorkspacePolicyToolNames(args: {
525
480
  exposeShellTools?: boolean;
526
481
  }) {
527
482
  return [...new Set([
528
- ...buildLocalWorkspaceToolset(args).toolNames,
529
- ...(args.declaredToolNames ?? []),
530
- ])];
483
+ ...buildLocalWorkspaceToolset({
484
+ exposeShellTools: args.exposeShellTools,
485
+ }).toolNames,
486
+ ...filterDeclaredWorkspaceToolNames({
487
+ toolNames: args.declaredToolNames,
488
+ exposeShellTools: args.exposeShellTools === true,
489
+ }),
490
+ ])].filter((toolName) => !REMOVED_WORKSPACE_TOOL_NAMES.has(toolName));
531
491
  }
532
492
 
533
493
  export function buildLocalWorkspaceOpenAiTools(args: {
@@ -538,7 +498,7 @@ export function buildLocalWorkspaceOpenAiTools(args: {
538
498
  return WORKSPACE_TOOL_NAMES
539
499
  .filter((toolName) => {
540
500
  if (!declaredTools.has(toolName)) return false;
541
- if (!args.exposeShellTools && (toolName === "execShell" || toolName === "execBash")) {
501
+ if (!args.exposeShellTools && toolName === "execShell") {
542
502
  return false;
543
503
  }
544
504
  return true;
@@ -653,26 +613,6 @@ function requireVisualWaitSelector(args: WorkspaceFileArgs) {
653
613
  return selector;
654
614
  }
655
615
 
656
- function requireGitBranchName(args: WorkspaceFileArgs) {
657
- const branch = typeof args.branch === "string" ? args.branch.trim() : "";
658
- if (!branch) throw new Error("gitCreateBranch requires a non-empty branch.");
659
- return branch;
660
- }
661
-
662
- function requireGitCommitMessage(args: WorkspaceFileArgs) {
663
- const message = typeof args.message === "string" ? args.message.trim() : "";
664
- if (!message) throw new Error("gitCommit requires a non-empty message.");
665
- return message;
666
- }
667
-
668
- function readGitAddPaths(args: WorkspaceFileArgs) {
669
- const paths = Array.isArray(args.paths)
670
- ? args.paths.map((value) => String(value).trim()).filter(Boolean)
671
- : [];
672
- if (paths.length === 0) throw new Error("gitAdd requires at least one path.");
673
- return paths;
674
- }
675
-
676
616
  function readPackageScriptArgs(args: WorkspaceFileArgs) {
677
617
  return Array.isArray(args.args)
678
618
  ? args.args.map((value) => String(value)).filter(Boolean)
@@ -769,10 +709,15 @@ async function runWorkspaceCommand(args: {
769
709
  command: string[];
770
710
  stdin?: string;
771
711
  timeoutMs?: number;
712
+ commandPrefix?: string[];
772
713
  }) {
773
714
  const timeoutMs = args.timeoutMs ?? DEFAULT_WORKSPACE_COMMAND_TIMEOUT_MS;
774
715
  const detached = process.platform !== "win32";
775
- const proc = Bun.spawn(args.command, {
716
+ const command = [
717
+ ...(args.commandPrefix ?? []),
718
+ ...args.command,
719
+ ];
720
+ const proc = Bun.spawn(command, {
776
721
  cwd: resolve(args.workspaceRoot),
777
722
  stdout: "pipe",
778
723
  stderr: "pipe",
@@ -1050,7 +995,7 @@ async function applyPatchTool(args: {
1050
995
  throw new Error(
1051
996
  [
1052
997
  "applyPatch failed during git apply --check.",
1053
- "Use replaceWorkspaceText/applyEdit for exact single-file edits when possible.",
998
+ "Use editFile/applyEdit for exact single-file edits when possible.",
1054
999
  checkResult.content,
1055
1000
  ].join("\n\n")
1056
1001
  );
@@ -1067,172 +1012,6 @@ async function applyPatchTool(args: {
1067
1012
  };
1068
1013
  }
1069
1014
 
1070
- async function gitStatusTool(args: {
1071
- workspaceRoot: string;
1072
- }): Promise<AgentRuntimeToolResult> {
1073
- const result = await runWorkspaceCommand({
1074
- workspaceRoot: args.workspaceRoot,
1075
- command: ["git", "status", "--short"],
1076
- });
1077
- return {
1078
- content: result.content,
1079
- metadata: { exitCode: result.exitCode },
1080
- };
1081
- }
1082
-
1083
- async function gitDiffTool(args: {
1084
- call: AgentRuntimeToolCallInput;
1085
- workspaceRoot: string;
1086
- }): Promise<AgentRuntimeToolResult> {
1087
- const parsed = parseWorkspaceToolArguments(args.call.arguments);
1088
- const command = ["git", "diff"];
1089
- const staged = parsed.staged === true;
1090
- if (staged) command.push("--staged");
1091
- if (typeof parsed.path === "string" && parsed.path.trim()) {
1092
- const absolutePath = resolveLocalWorkspaceToolPath({
1093
- workspaceRoot: args.workspaceRoot,
1094
- requestedPath: parsed.path.trim(),
1095
- });
1096
- command.push("--", normalizeWorkspaceRelativePath({
1097
- workspaceRoot: resolve(args.workspaceRoot),
1098
- targetPath: absolutePath,
1099
- }));
1100
- }
1101
- const result = await runWorkspaceCommand({
1102
- workspaceRoot: args.workspaceRoot,
1103
- command,
1104
- });
1105
- return {
1106
- content: result.content,
1107
- metadata: { staged, exitCode: result.exitCode },
1108
- };
1109
- }
1110
-
1111
- async function gitCreateBranchTool(args: {
1112
- call: AgentRuntimeToolCallInput;
1113
- workspaceRoot: string;
1114
- }): Promise<AgentRuntimeToolResult> {
1115
- const parsed = parseWorkspaceToolArguments(args.call.arguments);
1116
- const branch = requireGitBranchName(parsed);
1117
- const result = await runWorkspaceCommand({
1118
- workspaceRoot: args.workspaceRoot,
1119
- command: ["git", "switch", "-c", branch],
1120
- });
1121
- if (result.exitCode !== 0) throw new Error(result.content);
1122
- return {
1123
- content: result.content,
1124
- metadata: { branch, exitCode: result.exitCode },
1125
- };
1126
- }
1127
-
1128
- async function gitAddTool(args: {
1129
- call: AgentRuntimeToolCallInput;
1130
- workspaceRoot: string;
1131
- }): Promise<AgentRuntimeToolResult> {
1132
- const parsed = parseWorkspaceToolArguments(args.call.arguments);
1133
- const paths = readGitAddPaths(parsed).map((requestedPath) => {
1134
- const absolutePath = resolveLocalWorkspaceToolPath({
1135
- workspaceRoot: args.workspaceRoot,
1136
- requestedPath,
1137
- });
1138
- return normalizeWorkspaceRelativePath({
1139
- workspaceRoot: resolve(args.workspaceRoot),
1140
- targetPath: absolutePath,
1141
- });
1142
- });
1143
- const result = await runWorkspaceCommand({
1144
- workspaceRoot: args.workspaceRoot,
1145
- command: ["git", "add", "--", ...paths],
1146
- });
1147
- if (result.exitCode !== 0) throw new Error(result.content);
1148
- return {
1149
- content: result.content,
1150
- metadata: { paths, exitCode: result.exitCode },
1151
- };
1152
- }
1153
-
1154
- async function gitCommitTool(args: {
1155
- call: AgentRuntimeToolCallInput;
1156
- workspaceRoot: string;
1157
- }): Promise<AgentRuntimeToolResult> {
1158
- const parsed = parseWorkspaceToolArguments(args.call.arguments);
1159
- const message = requireGitCommitMessage(parsed);
1160
- const result = await runWorkspaceCommand({
1161
- workspaceRoot: args.workspaceRoot,
1162
- command: ["git", "commit", "-m", message],
1163
- });
1164
- if (result.exitCode !== 0) throw new Error(result.content);
1165
- return {
1166
- content: result.content,
1167
- metadata: { exitCode: result.exitCode },
1168
- };
1169
- }
1170
-
1171
- async function commitWorkspaceTool(args: {
1172
- call: AgentRuntimeToolCallInput;
1173
- workspaceRoot: string;
1174
- }): Promise<AgentRuntimeToolResult> {
1175
- const parsed = parseWorkspaceToolArguments(args.call.arguments);
1176
- const paths = readGitAddPaths(parsed).map((requestedPath) => {
1177
- const absolutePath = resolveLocalWorkspaceToolPath({
1178
- workspaceRoot: args.workspaceRoot,
1179
- requestedPath,
1180
- });
1181
- return normalizeWorkspaceRelativePath({
1182
- workspaceRoot: resolve(args.workspaceRoot),
1183
- targetPath: absolutePath,
1184
- });
1185
- });
1186
- const message = requireGitCommitMessage(parsed);
1187
- const addResult = await runWorkspaceCommand({
1188
- workspaceRoot: args.workspaceRoot,
1189
- command: ["git", "add", "--", ...paths],
1190
- });
1191
- if (addResult.exitCode !== 0) throw new Error(addResult.content);
1192
-
1193
- const commitResult = await runWorkspaceCommand({
1194
- workspaceRoot: args.workspaceRoot,
1195
- command: ["git", "commit", "-m", message],
1196
- });
1197
- if (commitResult.exitCode !== 0) throw new Error(commitResult.content);
1198
-
1199
- const [branchResult, hashResult, statusResult] = await Promise.all([
1200
- runWorkspaceCommand({
1201
- workspaceRoot: args.workspaceRoot,
1202
- command: ["git", "branch", "--show-current"],
1203
- }),
1204
- runWorkspaceCommand({
1205
- workspaceRoot: args.workspaceRoot,
1206
- command: ["git", "rev-parse", "HEAD"],
1207
- }),
1208
- runWorkspaceCommand({
1209
- workspaceRoot: args.workspaceRoot,
1210
- command: ["git", "status", "--short"],
1211
- }),
1212
- ]);
1213
- const branch = branchResult.stdout.trim();
1214
- const commitHash = hashResult.stdout.trim();
1215
- const status = statusResult.stdout.trim();
1216
- return {
1217
- content: [
1218
- `branch: ${branch}`,
1219
- `commit: ${commitHash}`,
1220
- `status: ${status || "clean"}`,
1221
- "",
1222
- commitResult.content,
1223
- ].join("\n"),
1224
- metadata: {
1225
- paths,
1226
- message,
1227
- branch,
1228
- commitHash,
1229
- status,
1230
- clean: status === "",
1231
- exitCode: commitResult.exitCode,
1232
- },
1233
- };
1234
- }
1235
-
1236
1015
  async function runPackageScriptTool(args: {
1237
1016
  call: AgentRuntimeToolCallInput;
1238
1017
  workspaceRoot: string;
@@ -1401,13 +1180,19 @@ async function execShellTool(args: {
1401
1180
  call: AgentRuntimeToolCallInput;
1402
1181
  workspaceRoot: string;
1403
1182
  commandTimeoutMs?: number;
1183
+ commandPrefix?: string[];
1404
1184
  }): Promise<AgentRuntimeToolResult> {
1405
1185
  const parsed = parseWorkspaceToolArguments(args.call.arguments);
1406
1186
  const command = requireShellCommand(parsed, args.call.name);
1407
1187
  const result = await runWorkspaceCommand({
1408
1188
  workspaceRoot: args.workspaceRoot,
1409
- command: ["/bin/sh", "-lc", command],
1189
+ command: buildWorkspaceShellCommand({
1190
+ toolName: args.call.name,
1191
+ command,
1192
+ shell: parsed.shell,
1193
+ }),
1410
1194
  timeoutMs: args.commandTimeoutMs,
1195
+ commandPrefix: args.commandPrefix,
1411
1196
  });
1412
1197
  return {
1413
1198
  content: result.content,
@@ -1433,6 +1218,10 @@ export function createLocalWorkspaceToolExecutors(args: LocalWorkspaceToolArgs)
1433
1218
  call,
1434
1219
  workspaceRoot: args.workspaceRoot,
1435
1220
  }),
1221
+ editFile: (call: AgentRuntimeToolCallInput) => replaceWorkspaceTextTool({
1222
+ call,
1223
+ workspaceRoot: args.workspaceRoot,
1224
+ }),
1436
1225
  applyEdit: (call: AgentRuntimeToolCallInput) => replaceWorkspaceTextTool({
1437
1226
  call,
1438
1227
  workspaceRoot: args.workspaceRoot,
@@ -1457,30 +1246,11 @@ export function createLocalWorkspaceToolExecutors(args: LocalWorkspaceToolArgs)
1457
1246
  call,
1458
1247
  workspaceRoot: args.workspaceRoot,
1459
1248
  }),
1460
- applyPatch: (call: AgentRuntimeToolCallInput) => applyPatchTool({
1249
+ searchFiles: (call: AgentRuntimeToolCallInput) => searchWorkspaceTool({
1461
1250
  call,
1462
1251
  workspaceRoot: args.workspaceRoot,
1463
1252
  }),
1464
- gitStatus: () => gitStatusTool({
1465
- workspaceRoot: args.workspaceRoot,
1466
- }),
1467
- gitDiff: (call: AgentRuntimeToolCallInput) => gitDiffTool({
1468
- call,
1469
- workspaceRoot: args.workspaceRoot,
1470
- }),
1471
- gitCreateBranch: (call: AgentRuntimeToolCallInput) => gitCreateBranchTool({
1472
- call,
1473
- workspaceRoot: args.workspaceRoot,
1474
- }),
1475
- gitAdd: (call: AgentRuntimeToolCallInput) => gitAddTool({
1476
- call,
1477
- workspaceRoot: args.workspaceRoot,
1478
- }),
1479
- gitCommit: (call: AgentRuntimeToolCallInput) => gitCommitTool({
1480
- call,
1481
- workspaceRoot: args.workspaceRoot,
1482
- }),
1483
- commitWorkspace: (call: AgentRuntimeToolCallInput) => commitWorkspaceTool({
1253
+ applyPatch: (call: AgentRuntimeToolCallInput) => applyPatchTool({
1484
1254
  call,
1485
1255
  workspaceRoot: args.workspaceRoot,
1486
1256
  }),
@@ -1522,11 +1292,7 @@ export function createLocalWorkspaceToolExecutors(args: LocalWorkspaceToolArgs)
1522
1292
  call,
1523
1293
  workspaceRoot: args.workspaceRoot,
1524
1294
  commandTimeoutMs: args.commandTimeoutMs,
1525
- }),
1526
- execBash: (call: AgentRuntimeToolCallInput) => execShellTool({
1527
- call,
1528
- workspaceRoot: args.workspaceRoot,
1529
- commandTimeoutMs: args.commandTimeoutMs,
1295
+ commandPrefix: args.commandPrefix,
1530
1296
  }),
1531
1297
  };
1532
1298
  }