@tyvm/knowhow 0.0.159 → 0.0.160

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 (870) hide show
  1. package/package.json +1 -1
  2. package/ts_build/package.json +1 -1
  3. package/ts_build/src/chat/CliChatService.d.ts +2 -1
  4. package/ts_build/src/chat/CliChatService.js +29 -3
  5. package/ts_build/src/chat/CliChatService.js.map +1 -1
  6. package/ts_build/src/chat/modules/AgentModule.js +21 -17
  7. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  8. package/ts_build/src/chat/renderer/ConsoleRenderer.js +32 -25
  9. package/ts_build/src/chat/renderer/ConsoleRenderer.js.map +1 -1
  10. package/ts_build/src/logger.d.ts +1 -0
  11. package/ts_build/src/logger.js +13 -1
  12. package/ts_build/src/logger.js.map +1 -1
  13. package/ts_build/src/utils/InputQueueManager.d.ts +8 -1
  14. package/ts_build/src/utils/InputQueueManager.js +72 -2
  15. package/ts_build/src/utils/InputQueueManager.js.map +1 -1
  16. package/ts_build/src/utils/index.d.ts +3 -1
  17. package/ts_build/src/utils/index.js +11 -3
  18. package/ts_build/src/utils/index.js.map +1 -1
  19. package/CONFIG.md +0 -429
  20. package/PROCESSING.md +0 -450
  21. package/WORKER.md +0 -260
  22. package/autodoc/README.md +0 -324
  23. package/autodoc/chat-guide.md +0 -444
  24. package/autodoc/cli-reference.md +0 -720
  25. package/autodoc/config-reference.md +0 -642
  26. package/autodoc/embeddings-guide.md +0 -467
  27. package/autodoc/generate-guide.md +0 -437
  28. package/autodoc/language-plugin-guide.md +0 -417
  29. package/autodoc/modules-guide.md +0 -379
  30. package/autodoc/plugins-guide.md +0 -721
  31. package/autodoc/quickstart-guide.md +0 -126
  32. package/autodoc/skills-guide.md +0 -584
  33. package/autodoc/worker-guide.md +0 -519
  34. package/docs/input-queue-manager.md +0 -142
  35. package/docs/multi-worker-management.md +0 -142
  36. package/docs/shell-commands.md +0 -174
  37. package/jest.config.js +0 -19
  38. package/jest.manual.config.js +0 -19
  39. package/scripts/README.md +0 -119
  40. package/scripts/build-for-node.sh +0 -148
  41. package/scripts/cache-miss-debug.ts +0 -365
  42. package/scripts/check-isolated-deps.sh +0 -69
  43. package/scripts/check-model-pricing.ts +0 -509
  44. package/scripts/compare-openrouter-coverage.ts +0 -576
  45. package/scripts/migrate-usage-json.js +0 -147
  46. package/scripts/publish.sh +0 -86
  47. package/scripts/restore_keys.sh +0 -59
  48. package/scripts/test-repetition-hint.ts +0 -302
  49. package/scripts/unset_keys.sh +0 -60
  50. package/src/agents/base/base.ts +0 -1963
  51. package/src/agents/base/prompt.ts +0 -55
  52. package/src/agents/configurable/ConfigAgent.ts +0 -24
  53. package/src/agents/developer/developer.ts +0 -76
  54. package/src/agents/historyRollback.ts +0 -36
  55. package/src/agents/index.ts +0 -52
  56. package/src/agents/interface.ts +0 -11
  57. package/src/agents/patcher/codebase.md +0 -27
  58. package/src/agents/patcher/patcher.ts +0 -131
  59. package/src/agents/researcher/researcher.ts +0 -115
  60. package/src/agents/setup/setup.ts +0 -63
  61. package/src/agents/tools/addInternalTools.ts +0 -21
  62. package/src/agents/tools/agentCall.ts +0 -34
  63. package/src/agents/tools/aiClient.ts +0 -178
  64. package/src/agents/tools/askHuman.ts +0 -10
  65. package/src/agents/tools/callPlugin.ts +0 -10
  66. package/src/agents/tools/connectAgent.ts +0 -355
  67. package/src/agents/tools/embeddingSearch.ts +0 -6
  68. package/src/agents/tools/execCommand.ts +0 -162
  69. package/src/agents/tools/fileSearch.ts +0 -35
  70. package/src/agents/tools/finalAnswer.ts +0 -4
  71. package/src/agents/tools/googleSearch.ts +0 -243
  72. package/src/agents/tools/index.ts +0 -33
  73. package/src/agents/tools/language/definitions.ts +0 -105
  74. package/src/agents/tools/language/index.ts +0 -20
  75. package/src/agents/tools/lazy/definitions.ts +0 -72
  76. package/src/agents/tools/lazy/disableTools.ts +0 -16
  77. package/src/agents/tools/lazy/enableTools.ts +0 -16
  78. package/src/agents/tools/lazy/index.ts +0 -3
  79. package/src/agents/tools/lazy/listAvailableTools.ts +0 -17
  80. package/src/agents/tools/lintFile.ts +0 -19
  81. package/src/agents/tools/list.ts +0 -739
  82. package/src/agents/tools/loadImageAsBase64.ts +0 -83
  83. package/src/agents/tools/loadWebpage.ts +0 -19
  84. package/src/agents/tools/mcp/connectMcpServer.ts +0 -40
  85. package/src/agents/tools/mcp/definitions.ts +0 -67
  86. package/src/agents/tools/mcp/disconnectMcpServer.ts +0 -40
  87. package/src/agents/tools/mcp/index.ts +0 -3
  88. package/src/agents/tools/mcp/listAvailableMcpServers.ts +0 -28
  89. package/src/agents/tools/minimal/callTool.ts +0 -45
  90. package/src/agents/tools/minimal/definitions.ts +0 -50
  91. package/src/agents/tools/minimal/index.ts +0 -3
  92. package/src/agents/tools/minimal/inspectTools.ts +0 -27
  93. package/src/agents/tools/modifyFile.ts +0 -53
  94. package/src/agents/tools/observe.ts +0 -247
  95. package/src/agents/tools/patch.ts +0 -1287
  96. package/src/agents/tools/readBlocks.ts +0 -83
  97. package/src/agents/tools/readFile.ts +0 -105
  98. package/src/agents/tools/replyToParent.ts +0 -123
  99. package/src/agents/tools/runGenerate.ts +0 -210
  100. package/src/agents/tools/scanFile.ts +0 -16
  101. package/src/agents/tools/sendAgentMessage.ts +0 -139
  102. package/src/agents/tools/skills.ts +0 -79
  103. package/src/agents/tools/startAgentTask.ts +0 -393
  104. package/src/agents/tools/stringReplace.ts +0 -105
  105. package/src/agents/tools/textSearch.ts +0 -128
  106. package/src/agents/tools/types/fileblock.ts +0 -5
  107. package/src/agents/tools/visionTool.ts +0 -35
  108. package/src/agents/tools/waitForAgentCompleted.ts +0 -270
  109. package/src/agents/tools/writeFile.ts +0 -106
  110. package/src/agents/tools/ycmd/client.ts +0 -608
  111. package/src/agents/tools/ycmd/definitions.ts +0 -294
  112. package/src/agents/tools/ycmd/detection.ts +0 -211
  113. package/src/agents/tools/ycmd/index.ts +0 -11
  114. package/src/agents/tools/ycmd/installer.ts +0 -251
  115. package/src/agents/tools/ycmd/server.ts +0 -545
  116. package/src/agents/tools/ycmd/serverManager.ts +0 -316
  117. package/src/agents/tools/ycmd/tools/completion.ts +0 -113
  118. package/src/agents/tools/ycmd/tools/diagnostics.ts +0 -166
  119. package/src/agents/tools/ycmd/tools/getLocations.ts +0 -173
  120. package/src/agents/tools/ycmd/tools/goto.ts +0 -169
  121. package/src/agents/tools/ycmd/tools/refactor.ts +0 -204
  122. package/src/agents/tools/ycmd/tools/signature.ts +0 -174
  123. package/src/agents/tools/ycmd/tools/start.ts +0 -95
  124. package/src/agents/tools/ycmd/utils/pathUtils.ts +0 -59
  125. package/src/ai.ts +0 -306
  126. package/src/auth/browserLogin.ts +0 -406
  127. package/src/auth/environmentAuth.ts +0 -51
  128. package/src/auth/errors.ts +0 -6
  129. package/src/auth/jwtStore.ts +0 -70
  130. package/src/auth/keyAuth.ts +0 -142
  131. package/src/auth/keyManager.ts +0 -331
  132. package/src/auth/registerIdentity.ts +0 -67
  133. package/src/auth/spinner.ts +0 -23
  134. package/src/chat/CliChatService.ts +0 -438
  135. package/src/chat/modules/AgentModule.ts +0 -1664
  136. package/src/chat/modules/AskModule.ts +0 -98
  137. package/src/chat/modules/BaseChatModule.ts +0 -65
  138. package/src/chat/modules/ClipboardImageModule.ts +0 -136
  139. package/src/chat/modules/CustomCommandsModule.ts +0 -80
  140. package/src/chat/modules/InternalChatModule.ts +0 -216
  141. package/src/chat/modules/RemoteSyncModule.ts +0 -482
  142. package/src/chat/modules/RendererModule.ts +0 -139
  143. package/src/chat/modules/SearchModule.ts +0 -168
  144. package/src/chat/modules/SessionsModule.ts +0 -969
  145. package/src/chat/modules/SetupModule.ts +0 -185
  146. package/src/chat/modules/ShellCommandModule.ts +0 -98
  147. package/src/chat/modules/SystemModule.ts +0 -161
  148. package/src/chat/modules/ToolCommandModule.ts +0 -102
  149. package/src/chat/modules/VoiceModule.ts +0 -70
  150. package/src/chat/modules/index.ts +0 -8
  151. package/src/chat/renderer/CompactRenderer.ts +0 -229
  152. package/src/chat/renderer/ConsoleRenderer.ts +0 -160
  153. package/src/chat/renderer/FancyRenderer.ts +0 -440
  154. package/src/chat/renderer/PlainRenderer.ts +0 -218
  155. package/src/chat/renderer/index.ts +0 -6
  156. package/src/chat/renderer/loadRenderer.ts +0 -316
  157. package/src/chat/renderer/messagesToRenderEvents.ts +0 -96
  158. package/src/chat/renderer/types.ts +0 -99
  159. package/src/chat/types.ts +0 -146
  160. package/src/chat.ts +0 -140
  161. package/src/cli.ts +0 -180
  162. package/src/clients/anthropic.ts +0 -772
  163. package/src/clients/attribution.ts +0 -53
  164. package/src/clients/cerebras.ts +0 -10
  165. package/src/clients/contextLimits.ts +0 -263
  166. package/src/clients/copilot.ts +0 -23
  167. package/src/clients/deepseek.ts +0 -16
  168. package/src/clients/fireworks.ts +0 -71
  169. package/src/clients/gemini.ts +0 -1169
  170. package/src/clients/github.ts +0 -16
  171. package/src/clients/groq.ts +0 -15
  172. package/src/clients/http.ts +0 -719
  173. package/src/clients/index.ts +0 -1153
  174. package/src/clients/knowhow.ts +0 -130
  175. package/src/clients/knowhowMcp.ts +0 -118
  176. package/src/clients/llama.ts +0 -16
  177. package/src/clients/meta.ts +0 -27
  178. package/src/clients/mistral.ts +0 -16
  179. package/src/clients/nvidia.ts +0 -16
  180. package/src/clients/openai.ts +0 -1186
  181. package/src/clients/openrouter.ts +0 -24
  182. package/src/clients/pricing/anthropic.ts +0 -149
  183. package/src/clients/pricing/cerebras.ts +0 -11
  184. package/src/clients/pricing/copilot.ts +0 -60
  185. package/src/clients/pricing/deepseek.ts +0 -15
  186. package/src/clients/pricing/fireworks.ts +0 -182
  187. package/src/clients/pricing/github.ts +0 -69
  188. package/src/clients/pricing/google.ts +0 -385
  189. package/src/clients/pricing/groq.ts +0 -56
  190. package/src/clients/pricing/index.ts +0 -44
  191. package/src/clients/pricing/llama.ts +0 -18
  192. package/src/clients/pricing/meta.ts +0 -12
  193. package/src/clients/pricing/mistral.ts +0 -34
  194. package/src/clients/pricing/models.ts +0 -25
  195. package/src/clients/pricing/nvidia.ts +0 -102
  196. package/src/clients/pricing/openai.ts +0 -409
  197. package/src/clients/pricing/openrouter.ts +0 -36
  198. package/src/clients/pricing/qwen.ts +0 -80
  199. package/src/clients/pricing/types.ts +0 -125
  200. package/src/clients/pricing/xai.ts +0 -137
  201. package/src/clients/qwen.ts +0 -16
  202. package/src/clients/responseMetadata.ts +0 -221
  203. package/src/clients/types.ts +0 -531
  204. package/src/clients/withRetry.ts +0 -89
  205. package/src/clients/xai.ts +0 -693
  206. package/src/cloudWorker.ts +0 -394
  207. package/src/commands/agent.ts +0 -342
  208. package/src/commands/agents.ts +0 -1037
  209. package/src/commands/behaviors.ts +0 -47
  210. package/src/commands/convert.ts +0 -291
  211. package/src/commands/hash.ts +0 -179
  212. package/src/commands/mcp.ts +0 -743
  213. package/src/commands/misc.ts +0 -373
  214. package/src/commands/modules.ts +0 -704
  215. package/src/commands/processes.ts +0 -248
  216. package/src/commands/remote.ts +0 -77
  217. package/src/commands/replay.ts +0 -503
  218. package/src/commands/sandbox.ts +0 -566
  219. package/src/commands/services.ts +0 -168
  220. package/src/commands/skills.ts +0 -107
  221. package/src/commands/workers.ts +0 -168
  222. package/src/config.ts +0 -468
  223. package/src/conversion.ts +0 -69
  224. package/src/dataset/diffs/README.md +0 -12
  225. package/src/dataset/diffs/debug-errors.ts +0 -29
  226. package/src/dataset/diffs/debug.ts +0 -64
  227. package/src/dataset/diffs/generate.ts +0 -71
  228. package/src/dataset/diffs/jsonl.ts +0 -53
  229. package/src/dataset/diffs/test.ts +0 -194
  230. package/src/embeddings.ts +0 -494
  231. package/src/fileSync.ts +0 -369
  232. package/src/generate.ts +0 -529
  233. package/src/hashes.ts +0 -180
  234. package/src/index.ts +0 -261
  235. package/src/logger.ts +0 -197
  236. package/src/login.ts +0 -209
  237. package/src/microphone.ts +0 -141
  238. package/src/migrations.ts +0 -151
  239. package/src/plugins/AgentsMdPlugin.ts +0 -118
  240. package/src/plugins/GitPlugin.ts +0 -598
  241. package/src/plugins/LinterPlugin.ts +0 -214
  242. package/src/plugins/PluginBase.ts +0 -70
  243. package/src/plugins/SkillsPlugin.ts +0 -37
  244. package/src/plugins/embedding.ts +0 -82
  245. package/src/plugins/exec.ts +0 -70
  246. package/src/plugins/language.ts +0 -290
  247. package/src/plugins/plugins.ts +0 -175
  248. package/src/plugins/tmux.ts +0 -132
  249. package/src/plugins/types.ts +0 -36
  250. package/src/plugins/url.ts +0 -101
  251. package/src/plugins/vim.ts +0 -89
  252. package/src/processes/ProcessManager.ts +0 -96
  253. package/src/processes/managedProcessShim.ts +0 -138
  254. package/src/processors/Base64ImageDetector.ts +0 -502
  255. package/src/processors/CustomVariables.ts +0 -693
  256. package/src/processors/GemmaToolProcessor.ts +0 -163
  257. package/src/processors/HarmonyToolProcessor.ts +0 -264
  258. package/src/processors/JsonCompressor.ts +0 -510
  259. package/src/processors/MinimalToolsMessageProcessor.ts +0 -113
  260. package/src/processors/TokenCompressor.ts +0 -620
  261. package/src/processors/ToolResponseCache.ts +0 -322
  262. package/src/processors/XmlToolCallProcessor.ts +0 -533
  263. package/src/processors/index.ts +0 -14
  264. package/src/processors/tools/boundedToolResponse.ts +0 -49
  265. package/src/processors/tools/grepToolResponse.ts +0 -230
  266. package/src/processors/tools/index.ts +0 -23
  267. package/src/processors/tools/jqToolResponse.ts +0 -159
  268. package/src/processors/tools/listStoredToolResponses.ts +0 -124
  269. package/src/processors/tools/tailToolResponse.ts +0 -148
  270. package/src/prompts/BasicCodeDocumenter.ts +0 -1
  271. package/src/prompts/BasicProjectDocumenter.ts +0 -1
  272. package/src/prompts/EmbeddingSeachHelper.ts +0 -1
  273. package/src/prompts/KnowhowConfigExamples.ts +0 -376
  274. package/src/prompts/index.ts +0 -9
  275. package/src/remotes.ts +0 -110
  276. package/src/server/index.ts +0 -16
  277. package/src/services/AgentService.ts +0 -134
  278. package/src/services/AgentSyncFs.ts +0 -775
  279. package/src/services/AgentSyncKnowhowWeb.ts +0 -389
  280. package/src/services/BehaviorsService.ts +0 -466
  281. package/src/services/DockerService.ts +0 -511
  282. package/src/services/EmbeddingService.ts +0 -427
  283. package/src/services/EmbeddingsService.ts +0 -73
  284. package/src/services/EventService.ts +0 -279
  285. package/src/services/ExtensionsService.ts +0 -25
  286. package/src/services/KnowhowClient.ts +0 -928
  287. package/src/services/LazyToolsService.ts +0 -210
  288. package/src/services/Mcp.ts +0 -727
  289. package/src/services/McpServer.ts +0 -155
  290. package/src/services/McpWebsocketTransport.ts +0 -87
  291. package/src/services/MediaProcessorService.ts +0 -669
  292. package/src/services/MessageProcessor.ts +0 -114
  293. package/src/services/MinimalToolsService.ts +0 -177
  294. package/src/services/RuntimeReloadService.ts +0 -31
  295. package/src/services/S3.ts +0 -61
  296. package/src/services/SessionManager.ts +0 -358
  297. package/src/services/SkillsService.ts +0 -822
  298. package/src/services/SyncedAgentWatcher.ts +0 -124
  299. package/src/services/SyncerService.ts +0 -191
  300. package/src/services/TaskRegistry.ts +0 -110
  301. package/src/services/Tools.ts +0 -580
  302. package/src/services/TracingService.ts +0 -116
  303. package/src/services/conversion/ConversionService.ts +0 -757
  304. package/src/services/conversion/index.ts +0 -2
  305. package/src/services/conversion/types.ts +0 -87
  306. package/src/services/flags.ts +0 -51
  307. package/src/services/index.ts +0 -117
  308. package/src/services/modules/computerUse.ts +0 -218
  309. package/src/services/modules/index.ts +0 -314
  310. package/src/services/modules/types.ts +0 -109
  311. package/src/services/types.ts +0 -60
  312. package/src/services/watchers/FsSyncer.ts +0 -199
  313. package/src/services/watchers/RemoteSyncer.ts +0 -196
  314. package/src/services/watchers/index.ts +0 -2
  315. package/src/tunnel.ts +0 -243
  316. package/src/types.ts +0 -282
  317. package/src/util/Trace.ts +0 -236
  318. package/src/utils/InputQueueManager.ts +0 -493
  319. package/src/utils/errors.ts +0 -0
  320. package/src/utils/http.ts +0 -150
  321. package/src/utils/index.ts +0 -111
  322. package/src/worker.ts +0 -696
  323. package/src/workerRegistry.ts +0 -152
  324. package/src/workers/auth/PasskeySetup.ts +0 -181
  325. package/src/workers/auth/WorkerPasskeyAuth.ts +0 -190
  326. package/src/workers/auth/WsMiddleware.ts +0 -99
  327. package/src/workers/auth/authMiddleware.ts +0 -104
  328. package/src/workers/auth/types.ts +0 -70
  329. package/src/workers/tools/getChallenge.ts +0 -33
  330. package/src/workers/tools/index.ts +0 -20
  331. package/src/workers/tools/listAllowedPorts.ts +0 -30
  332. package/src/workers/tools/lock.ts +0 -31
  333. package/src/workers/tools/reloadConfig.ts +0 -84
  334. package/src/workers/tools/unlock.ts +0 -116
  335. package/tests/XmlToolCallProcessor.test.ts +0 -468
  336. package/tests/agents/interrupt.test.ts +0 -200
  337. package/tests/agents/observe-base.test.ts +0 -183
  338. package/tests/agents/tools/connectAgent.test.ts +0 -138
  339. package/tests/agents/tools/observe.test.ts +0 -179
  340. package/tests/agents/tools/readFile.test.ts +0 -88
  341. package/tests/agents/tools/replyToParent.test.ts +0 -125
  342. package/tests/agents/tools/sendAgentMessage.test.ts +0 -99
  343. package/tests/agents/tools/waitForAgentCompleted.test.ts +0 -147
  344. package/tests/chat/detach-attach-rendering.test.ts +0 -315
  345. package/tests/clients/AIClient.test.ts +0 -668
  346. package/tests/clients/anthropic.test.ts +0 -202
  347. package/tests/clients/contextLimits.test.ts +0 -97
  348. package/tests/clients/fireworks.test.ts +0 -65
  349. package/tests/clients/openai.images.test.ts +0 -105
  350. package/tests/clients/pricing.test.ts +0 -206
  351. package/tests/clients/reasoningEffort.test.ts +0 -140
  352. package/tests/compressor/bigstring.test.ts +0 -450
  353. package/tests/compressor/bigstring.txt +0 -1
  354. package/tests/compressor/githubjson.txt +0 -1
  355. package/tests/compressor/toolResponseCache.test.ts +0 -304
  356. package/tests/compressor/usageBase64.json +0 -159
  357. package/tests/compressor/usageBase64.test.ts +0 -175
  358. package/tests/fixtures/fake-secret.txt +0 -1
  359. package/tests/manual/agent-events/run-test.ts +0 -203
  360. package/tests/manual/browser-login/README.md +0 -189
  361. package/tests/manual/browser-login/test_browser_login_basic.ts +0 -115
  362. package/tests/manual/browser-login/test_cli_integration.ts +0 -169
  363. package/tests/manual/browser-login/test_cross_platform_browser.ts +0 -186
  364. package/tests/manual/browser-login/test_error_scenarios.ts +0 -223
  365. package/tests/manual/cli/no-env.sh +0 -274
  366. package/tests/manual/clients/completions.json +0 -1151
  367. package/tests/manual/clients/completions.test.ts +0 -198
  368. package/tests/manual/file-edits/figma.test.ts +0 -3
  369. package/tests/manual/file-edits/fileblocks/readwrite.test.ts +0 -100
  370. package/tests/manual/file-edits/patching/input.txt +0 -145
  371. package/tests/manual/file-edits/patching/output.txt +0 -145
  372. package/tests/manual/file-edits/patching/patch.txt +0 -15
  373. package/tests/manual/file-edits/patching/unseen.txt +0 -80
  374. package/tests/manual/file-edits/patching.test.ts +0 -139
  375. package/tests/manual/modalities/README.md +0 -157
  376. package/tests/manual/modalities/google.modalities.test.ts +0 -335
  377. package/tests/manual/modalities/openai.modalities.test.ts +0 -329
  378. package/tests/manual/modalities/streaming.test.ts +0 -260
  379. package/tests/manual/modalities/xai.modalities.test.ts +0 -294
  380. package/tests/manual/test-concurrent-ask.ts +0 -43
  381. package/tests/manual/ycmd/debug_diagnostics_test.ts +0 -127
  382. package/tests/manual/ycmd/fixtures/debug_diagnostics.ts +0 -26
  383. package/tests/manual/ycmd/fixtures/file_change_test.ts +0 -17
  384. package/tests/manual/ycmd/minimal_advanced_test.ts +0 -108
  385. package/tests/manual/ycmd/simple_diagnostics_test.ts +0 -61
  386. package/tests/manual/ycmd/simple_test.ts +0 -74
  387. package/tests/manual/ycmd/test-typescript-sample.ts +0 -34
  388. package/tests/manual/ycmd/test_advanced_features.ts +0 -407
  389. package/tests/manual/ycmd/test_advanced_with_tools.ts +0 -320
  390. package/tests/manual/ycmd/test_comprehensive_typescript.ts +0 -179
  391. package/tests/manual/ycmd/test_diagnostics_file_changes.ts +0 -249
  392. package/tests/manual/ycmd/test_diagnostics_fix.ts +0 -99
  393. package/tests/manual/ycmd/test_diagnostics_simple.ts +0 -100
  394. package/tests/manual/ycmd/test_diagnostics_timing.ts +0 -120
  395. package/tests/manual/ycmd/test_discover_commands.ts +0 -310
  396. package/tests/manual/ycmd/test_endpoints.ts +0 -115
  397. package/tests/manual/ycmd/test_final_comprehensive.ts +0 -218
  398. package/tests/manual/ycmd/test_final_validation.ts +0 -150
  399. package/tests/manual/ycmd/test_implementation.js +0 -42
  400. package/tests/manual/ycmd/test_individual_ycmd_tool.ts +0 -39
  401. package/tests/manual/ycmd/test_server_manager.ts +0 -52
  402. package/tests/manual/ycmd/test_simple_debug.ts +0 -86
  403. package/tests/manual/ycmd/test_tsserver_workflow.js +0 -83
  404. package/tests/manual/ycmd/test_tsserver_workflow.ts +0 -122
  405. package/tests/manual/ycmd/test_typescript_simple.ts +0 -48
  406. package/tests/manual/ycmd/test_typescript_ycmd.ts +0 -105
  407. package/tests/manual/ycmd/test_workspace_config.ts +0 -90
  408. package/tests/manual/ycmd/test_ycmd_auto_start.ts +0 -137
  409. package/tests/manual/ycmd/test_ycmd_comprehensive.ts +0 -73
  410. package/tests/manual/ycmd/test_ycmd_connection.py +0 -10
  411. package/tests/manual/ycmd/test_ycmd_direct.ts +0 -142
  412. package/tests/manual/ycmd/test_ycmd_experiment.ts +0 -48
  413. package/tests/manual/ycmd/test_ycmd_final.ts +0 -200
  414. package/tests/manual/ycmd/test_ycmd_fixed.py +0 -18
  415. package/tests/manual/ycmd/test_ycmd_integration.ts +0 -112
  416. package/tests/manual/ycmd/test_ycmd_simple.ts +0 -45
  417. package/tests/manual/ycmd/test_ycmd_usage.py +0 -27
  418. package/tests/manual/ycmd/working_simple_test.ts +0 -134
  419. package/tests/patching/corrupted.test.ts +0 -78
  420. package/tests/patching/fixtures/transcript-mangles/agent-sync-fs-nested-catch.json +0 -9
  421. package/tests/patching/fixtures/transcript-mangles/automation-functions-crossed.json +0 -9
  422. package/tests/patching/fixtures/transcript-mangles/fruit-ninja-confirmed-retirement.json +0 -8
  423. package/tests/patching/imports.patch.txt +0 -11
  424. package/tests/patching/imports.test.ts +0 -43
  425. package/tests/patching/imports.txt +0 -11
  426. package/tests/patching/interface.patch.txt +0 -15
  427. package/tests/patching/interface.txt +0 -7
  428. package/tests/patching/patchFileOutput.test.ts +0 -328
  429. package/tests/patching/regression-2026.test.ts +0 -752
  430. package/tests/patching/transcriptMangleRegression.test.ts +0 -125
  431. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +0 -346
  432. package/tests/plugins/language/languagePlugin-integration.test.ts +0 -471
  433. package/tests/plugins/language/languagePlugin.test.ts +0 -385
  434. package/tests/processes/managedProcessShim.test.ts +0 -59
  435. package/tests/processors/Base64ImageDetector.test.ts +0 -979
  436. package/tests/processors/CustomVariables.test.ts +0 -981
  437. package/tests/processors/CustomVariablesBenchmark.test.ts +0 -237
  438. package/tests/processors/HarmonyToolProcessor.test.ts +0 -490
  439. package/tests/processors/TokenCompressor.test.ts +0 -674
  440. package/tests/processors/ToolResponseCache.test.ts +0 -864
  441. package/tests/processors/tools/boundedRetrievalTools.test.ts +0 -68
  442. package/tests/processors/tools/grepToolResponse.test.ts +0 -159
  443. package/tests/services/ConversionService.test.ts +0 -154
  444. package/tests/services/DockerService.test.ts +0 -24
  445. package/tests/services/Tools.test.ts +0 -1738
  446. package/tests/services/ToolsService.setFunction.test.ts +0 -68
  447. package/tests/services/WorkerReloadConfig.test.ts +0 -141
  448. package/tests/test.spec.ts +0 -163
  449. package/tests/unit/InputQueueManager.test.ts +0 -174
  450. package/tests/unit/McpWebsocketTransport.test.ts +0 -56
  451. package/tests/unit/agents/historyRollback.test.ts +0 -53
  452. package/tests/unit/agents/tools/loadImageAsBase64.test.ts +0 -44
  453. package/tests/unit/auth/jwtStore.test.ts +0 -55
  454. package/tests/unit/auth/keyAuth.test.ts +0 -152
  455. package/tests/unit/auth/keyManager.test.ts +0 -130
  456. package/tests/unit/auth/registerIdentity.test.ts +0 -99
  457. package/tests/unit/chat/ToolCommandModule.test.ts +0 -71
  458. package/tests/unit/chat/historyCommandArgs.test.ts +0 -37
  459. package/tests/unit/clients/AIClient.test.ts +0 -454
  460. package/tests/unit/clients/anthropic.responseMetadata.test.ts +0 -81
  461. package/tests/unit/clients/attribution.test.ts +0 -185
  462. package/tests/unit/clients/http.responseMetadata.test.ts +0 -86
  463. package/tests/unit/clients/openai.responseMetadata.test.ts +0 -90
  464. package/tests/unit/clients/responseMetadata.test.ts +0 -123
  465. package/tests/unit/clients/withRetry.test.ts +0 -319
  466. package/tests/unit/commands/agents.test.ts +0 -111
  467. package/tests/unit/commands/github-credentials.test.ts +0 -210
  468. package/tests/unit/commands/misc.test.ts +0 -85
  469. package/tests/unit/commands/remote.test.ts +0 -79
  470. package/tests/unit/commands/sandbox.test.ts +0 -350
  471. package/tests/unit/hashes.test.ts +0 -23
  472. package/tests/unit/input-queue.test.ts +0 -80
  473. package/tests/unit/login.test.ts +0 -218
  474. package/tests/unit/modules/moduleLoading.test.ts +0 -305
  475. package/tests/unit/plugins/pluginLoading.test.ts +0 -97
  476. package/tests/unit/services/AgentSyncKnowhowWeb.test.ts +0 -38
  477. package/tests/unit/services/KnowhowClient.test.ts +0 -84
  478. package/tests/unit/services/LazyToolsService.test.ts +0 -53
  479. package/tests/unit/services/Mcp.test.ts +0 -56
  480. package/tests/unit/services/MinimalToolsService.test.ts +0 -424
  481. package/tests/unit/services/RuntimeReloadService.test.ts +0 -29
  482. package/tests/unit/services/SessionManager.test.ts +0 -43
  483. package/tests/unit/services/SyncedAgentWatcher.test.ts +0 -89
  484. package/tests/unit/services/SyncerService.test.ts +0 -45
  485. package/tests/unit/tunnel.test.ts +0 -51
  486. package/tests/unit/util/Trace.test.ts +0 -119
  487. package/tests/unit/utils/http.test.ts +0 -43
  488. package/ts_build/tests/XmlToolCallProcessor.test.d.ts +0 -1
  489. package/ts_build/tests/XmlToolCallProcessor.test.js +0 -376
  490. package/ts_build/tests/XmlToolCallProcessor.test.js.map +0 -1
  491. package/ts_build/tests/agents/interrupt.test.d.ts +0 -14
  492. package/ts_build/tests/agents/interrupt.test.js +0 -136
  493. package/ts_build/tests/agents/interrupt.test.js.map +0 -1
  494. package/ts_build/tests/agents/observe-base.test.d.ts +0 -1
  495. package/ts_build/tests/agents/observe-base.test.js +0 -149
  496. package/ts_build/tests/agents/observe-base.test.js.map +0 -1
  497. package/ts_build/tests/agents/tools/connectAgent.test.d.ts +0 -1
  498. package/ts_build/tests/agents/tools/connectAgent.test.js +0 -142
  499. package/ts_build/tests/agents/tools/connectAgent.test.js.map +0 -1
  500. package/ts_build/tests/agents/tools/observe.test.d.ts +0 -1
  501. package/ts_build/tests/agents/tools/observe.test.js +0 -148
  502. package/ts_build/tests/agents/tools/observe.test.js.map +0 -1
  503. package/ts_build/tests/agents/tools/readFile.test.d.ts +0 -1
  504. package/ts_build/tests/agents/tools/readFile.test.js +0 -90
  505. package/ts_build/tests/agents/tools/readFile.test.js.map +0 -1
  506. package/ts_build/tests/agents/tools/replyToParent.test.d.ts +0 -1
  507. package/ts_build/tests/agents/tools/replyToParent.test.js +0 -116
  508. package/ts_build/tests/agents/tools/replyToParent.test.js.map +0 -1
  509. package/ts_build/tests/agents/tools/sendAgentMessage.test.d.ts +0 -1
  510. package/ts_build/tests/agents/tools/sendAgentMessage.test.js +0 -112
  511. package/ts_build/tests/agents/tools/sendAgentMessage.test.js.map +0 -1
  512. package/ts_build/tests/agents/tools/waitForAgentCompleted.test.d.ts +0 -1
  513. package/ts_build/tests/agents/tools/waitForAgentCompleted.test.js +0 -147
  514. package/ts_build/tests/agents/tools/waitForAgentCompleted.test.js.map +0 -1
  515. package/ts_build/tests/chat/detach-attach-rendering.test.d.ts +0 -1
  516. package/ts_build/tests/chat/detach-attach-rendering.test.js +0 -168
  517. package/ts_build/tests/chat/detach-attach-rendering.test.js.map +0 -1
  518. package/ts_build/tests/clients/AIClient.test.d.ts +0 -1
  519. package/ts_build/tests/clients/AIClient.test.js +0 -483
  520. package/ts_build/tests/clients/AIClient.test.js.map +0 -1
  521. package/ts_build/tests/clients/anthropic.test.d.ts +0 -1
  522. package/ts_build/tests/clients/anthropic.test.js +0 -159
  523. package/ts_build/tests/clients/anthropic.test.js.map +0 -1
  524. package/ts_build/tests/clients/contextLimits.test.d.ts +0 -1
  525. package/ts_build/tests/clients/contextLimits.test.js +0 -69
  526. package/ts_build/tests/clients/contextLimits.test.js.map +0 -1
  527. package/ts_build/tests/clients/fireworks.test.d.ts +0 -1
  528. package/ts_build/tests/clients/fireworks.test.js +0 -65
  529. package/ts_build/tests/clients/fireworks.test.js.map +0 -1
  530. package/ts_build/tests/clients/openai.images.test.d.ts +0 -1
  531. package/ts_build/tests/clients/openai.images.test.js +0 -94
  532. package/ts_build/tests/clients/openai.images.test.js.map +0 -1
  533. package/ts_build/tests/clients/pricing.test.d.ts +0 -1
  534. package/ts_build/tests/clients/pricing.test.js +0 -124
  535. package/ts_build/tests/clients/pricing.test.js.map +0 -1
  536. package/ts_build/tests/clients/reasoningEffort.test.d.ts +0 -1
  537. package/ts_build/tests/clients/reasoningEffort.test.js +0 -116
  538. package/ts_build/tests/clients/reasoningEffort.test.js.map +0 -1
  539. package/ts_build/tests/compressor/bigstring.test.d.ts +0 -1
  540. package/ts_build/tests/compressor/bigstring.test.js +0 -275
  541. package/ts_build/tests/compressor/bigstring.test.js.map +0 -1
  542. package/ts_build/tests/compressor/toolResponseCache.test.d.ts +0 -1
  543. package/ts_build/tests/compressor/toolResponseCache.test.js +0 -250
  544. package/ts_build/tests/compressor/toolResponseCache.test.js.map +0 -1
  545. package/ts_build/tests/compressor/usageBase64.test.d.ts +0 -1
  546. package/ts_build/tests/compressor/usageBase64.test.js +0 -109
  547. package/ts_build/tests/compressor/usageBase64.test.js.map +0 -1
  548. package/ts_build/tests/manual/agent-events/run-test.d.ts +0 -2
  549. package/ts_build/tests/manual/agent-events/run-test.js +0 -148
  550. package/ts_build/tests/manual/agent-events/run-test.js.map +0 -1
  551. package/ts_build/tests/manual/browser-login/test_browser_login_basic.d.ts +0 -2
  552. package/ts_build/tests/manual/browser-login/test_browser_login_basic.js +0 -118
  553. package/ts_build/tests/manual/browser-login/test_browser_login_basic.js.map +0 -1
  554. package/ts_build/tests/manual/browser-login/test_cli_integration.d.ts +0 -2
  555. package/ts_build/tests/manual/browser-login/test_cli_integration.js +0 -163
  556. package/ts_build/tests/manual/browser-login/test_cli_integration.js.map +0 -1
  557. package/ts_build/tests/manual/browser-login/test_cross_platform_browser.d.ts +0 -2
  558. package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js +0 -169
  559. package/ts_build/tests/manual/browser-login/test_cross_platform_browser.js.map +0 -1
  560. package/ts_build/tests/manual/browser-login/test_error_scenarios.d.ts +0 -2
  561. package/ts_build/tests/manual/browser-login/test_error_scenarios.js +0 -207
  562. package/ts_build/tests/manual/browser-login/test_error_scenarios.js.map +0 -1
  563. package/ts_build/tests/manual/clients/completions.test.d.ts +0 -1
  564. package/ts_build/tests/manual/clients/completions.test.js +0 -151
  565. package/ts_build/tests/manual/clients/completions.test.js.map +0 -1
  566. package/ts_build/tests/manual/file-edits/figma.test.d.ts +0 -0
  567. package/ts_build/tests/manual/file-edits/figma.test.js +0 -2
  568. package/ts_build/tests/manual/file-edits/figma.test.js.map +0 -1
  569. package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.d.ts +0 -1
  570. package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js +0 -110
  571. package/ts_build/tests/manual/file-edits/fileblocks/readwrite.test.js.map +0 -1
  572. package/ts_build/tests/manual/file-edits/patching.test.d.ts +0 -1
  573. package/ts_build/tests/manual/file-edits/patching.test.js +0 -129
  574. package/ts_build/tests/manual/file-edits/patching.test.js.map +0 -1
  575. package/ts_build/tests/manual/modalities/google.modalities.test.d.ts +0 -1
  576. package/ts_build/tests/manual/modalities/google.modalities.test.js +0 -262
  577. package/ts_build/tests/manual/modalities/google.modalities.test.js.map +0 -1
  578. package/ts_build/tests/manual/modalities/openai.modalities.test.d.ts +0 -1
  579. package/ts_build/tests/manual/modalities/openai.modalities.test.js +0 -262
  580. package/ts_build/tests/manual/modalities/openai.modalities.test.js.map +0 -1
  581. package/ts_build/tests/manual/modalities/streaming.test.d.ts +0 -1
  582. package/ts_build/tests/manual/modalities/streaming.test.js +0 -216
  583. package/ts_build/tests/manual/modalities/streaming.test.js.map +0 -1
  584. package/ts_build/tests/manual/modalities/xai.modalities.test.d.ts +0 -1
  585. package/ts_build/tests/manual/modalities/xai.modalities.test.js +0 -219
  586. package/ts_build/tests/manual/modalities/xai.modalities.test.js.map +0 -1
  587. package/ts_build/tests/manual/test-concurrent-ask.d.ts +0 -1
  588. package/ts_build/tests/manual/test-concurrent-ask.js +0 -22
  589. package/ts_build/tests/manual/test-concurrent-ask.js.map +0 -1
  590. package/ts_build/tests/manual/ycmd/debug_diagnostics_test.d.ts +0 -1
  591. package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js +0 -124
  592. package/ts_build/tests/manual/ycmd/debug_diagnostics_test.js.map +0 -1
  593. package/ts_build/tests/manual/ycmd/minimal_advanced_test.d.ts +0 -2
  594. package/ts_build/tests/manual/ycmd/minimal_advanced_test.js +0 -114
  595. package/ts_build/tests/manual/ycmd/minimal_advanced_test.js.map +0 -1
  596. package/ts_build/tests/manual/ycmd/simple_diagnostics_test.d.ts +0 -1
  597. package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js +0 -84
  598. package/ts_build/tests/manual/ycmd/simple_diagnostics_test.js.map +0 -1
  599. package/ts_build/tests/manual/ycmd/simple_test.d.ts +0 -2
  600. package/ts_build/tests/manual/ycmd/simple_test.js +0 -92
  601. package/ts_build/tests/manual/ycmd/simple_test.js.map +0 -1
  602. package/ts_build/tests/manual/ycmd/test-typescript-sample.d.ts +0 -14
  603. package/ts_build/tests/manual/ycmd/test-typescript-sample.js +0 -20
  604. package/ts_build/tests/manual/ycmd/test-typescript-sample.js.map +0 -1
  605. package/ts_build/tests/manual/ycmd/test_advanced_features.d.ts +0 -2
  606. package/ts_build/tests/manual/ycmd/test_advanced_features.js +0 -306
  607. package/ts_build/tests/manual/ycmd/test_advanced_features.js.map +0 -1
  608. package/ts_build/tests/manual/ycmd/test_advanced_with_tools.d.ts +0 -3
  609. package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js +0 -271
  610. package/ts_build/tests/manual/ycmd/test_advanced_with_tools.js.map +0 -1
  611. package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.d.ts +0 -2
  612. package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js +0 -196
  613. package/ts_build/tests/manual/ycmd/test_comprehensive_typescript.js.map +0 -1
  614. package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.d.ts +0 -1
  615. package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js +0 -184
  616. package/ts_build/tests/manual/ycmd/test_diagnostics_file_changes.js.map +0 -1
  617. package/ts_build/tests/manual/ycmd/test_diagnostics_fix.d.ts +0 -2
  618. package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js +0 -116
  619. package/ts_build/tests/manual/ycmd/test_diagnostics_fix.js.map +0 -1
  620. package/ts_build/tests/manual/ycmd/test_diagnostics_simple.d.ts +0 -1
  621. package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js +0 -114
  622. package/ts_build/tests/manual/ycmd/test_diagnostics_simple.js.map +0 -1
  623. package/ts_build/tests/manual/ycmd/test_diagnostics_timing.d.ts +0 -1
  624. package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js +0 -129
  625. package/ts_build/tests/manual/ycmd/test_diagnostics_timing.js.map +0 -1
  626. package/ts_build/tests/manual/ycmd/test_discover_commands.d.ts +0 -2
  627. package/ts_build/tests/manual/ycmd/test_discover_commands.js +0 -252
  628. package/ts_build/tests/manual/ycmd/test_discover_commands.js.map +0 -1
  629. package/ts_build/tests/manual/ycmd/test_endpoints.d.ts +0 -2
  630. package/ts_build/tests/manual/ycmd/test_endpoints.js +0 -130
  631. package/ts_build/tests/manual/ycmd/test_endpoints.js.map +0 -1
  632. package/ts_build/tests/manual/ycmd/test_final_comprehensive.d.ts +0 -2
  633. package/ts_build/tests/manual/ycmd/test_final_comprehensive.js +0 -231
  634. package/ts_build/tests/manual/ycmd/test_final_comprehensive.js.map +0 -1
  635. package/ts_build/tests/manual/ycmd/test_final_validation.d.ts +0 -2
  636. package/ts_build/tests/manual/ycmd/test_final_validation.js +0 -170
  637. package/ts_build/tests/manual/ycmd/test_final_validation.js.map +0 -1
  638. package/ts_build/tests/manual/ycmd/test_individual_ycmd_tool.d.ts +0 -2
  639. package/ts_build/tests/manual/ycmd/test_individual_ycmd_tool.js +0 -37
  640. package/ts_build/tests/manual/ycmd/test_individual_ycmd_tool.js.map +0 -1
  641. package/ts_build/tests/manual/ycmd/test_server_manager.d.ts +0 -1
  642. package/ts_build/tests/manual/ycmd/test_server_manager.js +0 -38
  643. package/ts_build/tests/manual/ycmd/test_server_manager.js.map +0 -1
  644. package/ts_build/tests/manual/ycmd/test_simple_debug.d.ts +0 -2
  645. package/ts_build/tests/manual/ycmd/test_simple_debug.js +0 -109
  646. package/ts_build/tests/manual/ycmd/test_simple_debug.js.map +0 -1
  647. package/ts_build/tests/manual/ycmd/test_tsserver_workflow.d.ts +0 -1
  648. package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js +0 -138
  649. package/ts_build/tests/manual/ycmd/test_tsserver_workflow.js.map +0 -1
  650. package/ts_build/tests/manual/ycmd/test_typescript_simple.d.ts +0 -1
  651. package/ts_build/tests/manual/ycmd/test_typescript_simple.js +0 -76
  652. package/ts_build/tests/manual/ycmd/test_typescript_simple.js.map +0 -1
  653. package/ts_build/tests/manual/ycmd/test_typescript_ycmd.d.ts +0 -1
  654. package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js +0 -115
  655. package/ts_build/tests/manual/ycmd/test_typescript_ycmd.js.map +0 -1
  656. package/ts_build/tests/manual/ycmd/test_workspace_config.d.ts +0 -1
  657. package/ts_build/tests/manual/ycmd/test_workspace_config.js +0 -99
  658. package/ts_build/tests/manual/ycmd/test_workspace_config.js.map +0 -1
  659. package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.d.ts +0 -2
  660. package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js +0 -140
  661. package/ts_build/tests/manual/ycmd/test_ycmd_auto_start.js.map +0 -1
  662. package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.d.ts +0 -1
  663. package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js +0 -93
  664. package/ts_build/tests/manual/ycmd/test_ycmd_comprehensive.js.map +0 -1
  665. package/ts_build/tests/manual/ycmd/test_ycmd_direct.d.ts +0 -2
  666. package/ts_build/tests/manual/ycmd/test_ycmd_direct.js +0 -159
  667. package/ts_build/tests/manual/ycmd/test_ycmd_direct.js.map +0 -1
  668. package/ts_build/tests/manual/ycmd/test_ycmd_experiment.d.ts +0 -15
  669. package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js +0 -68
  670. package/ts_build/tests/manual/ycmd/test_ycmd_experiment.js.map +0 -1
  671. package/ts_build/tests/manual/ycmd/test_ycmd_final.d.ts +0 -2
  672. package/ts_build/tests/manual/ycmd/test_ycmd_final.js +0 -205
  673. package/ts_build/tests/manual/ycmd/test_ycmd_final.js.map +0 -1
  674. package/ts_build/tests/manual/ycmd/test_ycmd_integration.d.ts +0 -3
  675. package/ts_build/tests/manual/ycmd/test_ycmd_integration.js +0 -119
  676. package/ts_build/tests/manual/ycmd/test_ycmd_integration.js.map +0 -1
  677. package/ts_build/tests/manual/ycmd/test_ycmd_simple.d.ts +0 -2
  678. package/ts_build/tests/manual/ycmd/test_ycmd_simple.js +0 -36
  679. package/ts_build/tests/manual/ycmd/test_ycmd_simple.js.map +0 -1
  680. package/ts_build/tests/manual/ycmd/working_simple_test.d.ts +0 -2
  681. package/ts_build/tests/manual/ycmd/working_simple_test.js +0 -144
  682. package/ts_build/tests/manual/ycmd/working_simple_test.js.map +0 -1
  683. package/ts_build/tests/patching/corrupted.test.d.ts +0 -1
  684. package/ts_build/tests/patching/corrupted.test.js +0 -53
  685. package/ts_build/tests/patching/corrupted.test.js.map +0 -1
  686. package/ts_build/tests/patching/imports.test.d.ts +0 -1
  687. package/ts_build/tests/patching/imports.test.js +0 -71
  688. package/ts_build/tests/patching/imports.test.js.map +0 -1
  689. package/ts_build/tests/patching/patchFileOutput.test.d.ts +0 -1
  690. package/ts_build/tests/patching/patchFileOutput.test.js +0 -269
  691. package/ts_build/tests/patching/patchFileOutput.test.js.map +0 -1
  692. package/ts_build/tests/patching/regression-2026.test.d.ts +0 -1
  693. package/ts_build/tests/patching/regression-2026.test.js +0 -528
  694. package/ts_build/tests/patching/regression-2026.test.js.map +0 -1
  695. package/ts_build/tests/patching/transcriptMangleRegression.test.d.ts +0 -1
  696. package/ts_build/tests/patching/transcriptMangleRegression.test.js +0 -104
  697. package/ts_build/tests/patching/transcriptMangleRegression.test.js.map +0 -1
  698. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.d.ts +0 -1
  699. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +0 -294
  700. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +0 -1
  701. package/ts_build/tests/plugins/language/languagePlugin-integration.test.d.ts +0 -1
  702. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js +0 -343
  703. package/ts_build/tests/plugins/language/languagePlugin-integration.test.js.map +0 -1
  704. package/ts_build/tests/plugins/language/languagePlugin.test.d.ts +0 -1
  705. package/ts_build/tests/plugins/language/languagePlugin.test.js +0 -315
  706. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +0 -1
  707. package/ts_build/tests/processes/managedProcessShim.test.d.ts +0 -1
  708. package/ts_build/tests/processes/managedProcessShim.test.js +0 -92
  709. package/ts_build/tests/processes/managedProcessShim.test.js.map +0 -1
  710. package/ts_build/tests/processors/Base64ImageDetector.test.d.ts +0 -1
  711. package/ts_build/tests/processors/Base64ImageDetector.test.js +0 -792
  712. package/ts_build/tests/processors/Base64ImageDetector.test.js.map +0 -1
  713. package/ts_build/tests/processors/CustomVariables.test.d.ts +0 -1
  714. package/ts_build/tests/processors/CustomVariables.test.js +0 -764
  715. package/ts_build/tests/processors/CustomVariables.test.js.map +0 -1
  716. package/ts_build/tests/processors/CustomVariablesBenchmark.test.d.ts +0 -1
  717. package/ts_build/tests/processors/CustomVariablesBenchmark.test.js +0 -179
  718. package/ts_build/tests/processors/CustomVariablesBenchmark.test.js.map +0 -1
  719. package/ts_build/tests/processors/HarmonyToolProcessor.test.d.ts +0 -1
  720. package/ts_build/tests/processors/HarmonyToolProcessor.test.js +0 -382
  721. package/ts_build/tests/processors/HarmonyToolProcessor.test.js.map +0 -1
  722. package/ts_build/tests/processors/TokenCompressor.test.d.ts +0 -1
  723. package/ts_build/tests/processors/TokenCompressor.test.js +0 -473
  724. package/ts_build/tests/processors/TokenCompressor.test.js.map +0 -1
  725. package/ts_build/tests/processors/ToolResponseCache.test.d.ts +0 -1
  726. package/ts_build/tests/processors/ToolResponseCache.test.js +0 -657
  727. package/ts_build/tests/processors/ToolResponseCache.test.js.map +0 -1
  728. package/ts_build/tests/processors/tools/boundedRetrievalTools.test.d.ts +0 -1
  729. package/ts_build/tests/processors/tools/boundedRetrievalTools.test.js +0 -57
  730. package/ts_build/tests/processors/tools/boundedRetrievalTools.test.js.map +0 -1
  731. package/ts_build/tests/processors/tools/grepToolResponse.test.d.ts +0 -1
  732. package/ts_build/tests/processors/tools/grepToolResponse.test.js +0 -77
  733. package/ts_build/tests/processors/tools/grepToolResponse.test.js.map +0 -1
  734. package/ts_build/tests/services/ConversionService.test.d.ts +0 -1
  735. package/ts_build/tests/services/ConversionService.test.js +0 -154
  736. package/ts_build/tests/services/ConversionService.test.js.map +0 -1
  737. package/ts_build/tests/services/DockerService.test.d.ts +0 -1
  738. package/ts_build/tests/services/DockerService.test.js +0 -22
  739. package/ts_build/tests/services/DockerService.test.js.map +0 -1
  740. package/ts_build/tests/services/Tools.test.d.ts +0 -1
  741. package/ts_build/tests/services/Tools.test.js +0 -1365
  742. package/ts_build/tests/services/Tools.test.js.map +0 -1
  743. package/ts_build/tests/services/ToolsService.setFunction.test.d.ts +0 -1
  744. package/ts_build/tests/services/ToolsService.setFunction.test.js +0 -51
  745. package/ts_build/tests/services/ToolsService.setFunction.test.js.map +0 -1
  746. package/ts_build/tests/services/WorkerReloadConfig.test.d.ts +0 -1
  747. package/ts_build/tests/services/WorkerReloadConfig.test.js +0 -86
  748. package/ts_build/tests/services/WorkerReloadConfig.test.js.map +0 -1
  749. package/ts_build/tests/test.spec.d.ts +0 -1
  750. package/ts_build/tests/test.spec.js +0 -139
  751. package/ts_build/tests/test.spec.js.map +0 -1
  752. package/ts_build/tests/unit/InputQueueManager.test.d.ts +0 -1
  753. package/ts_build/tests/unit/InputQueueManager.test.js +0 -104
  754. package/ts_build/tests/unit/InputQueueManager.test.js.map +0 -1
  755. package/ts_build/tests/unit/McpWebsocketTransport.test.d.ts +0 -1
  756. package/ts_build/tests/unit/McpWebsocketTransport.test.js +0 -47
  757. package/ts_build/tests/unit/McpWebsocketTransport.test.js.map +0 -1
  758. package/ts_build/tests/unit/agents/historyRollback.test.d.ts +0 -1
  759. package/ts_build/tests/unit/agents/historyRollback.test.js +0 -42
  760. package/ts_build/tests/unit/agents/historyRollback.test.js.map +0 -1
  761. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.d.ts +0 -1
  762. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.js +0 -67
  763. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.js.map +0 -1
  764. package/ts_build/tests/unit/auth/jwtStore.test.d.ts +0 -1
  765. package/ts_build/tests/unit/auth/jwtStore.test.js +0 -46
  766. package/ts_build/tests/unit/auth/jwtStore.test.js.map +0 -1
  767. package/ts_build/tests/unit/auth/keyAuth.test.d.ts +0 -1
  768. package/ts_build/tests/unit/auth/keyAuth.test.js +0 -118
  769. package/ts_build/tests/unit/auth/keyAuth.test.js.map +0 -1
  770. package/ts_build/tests/unit/auth/keyManager.test.d.ts +0 -1
  771. package/ts_build/tests/unit/auth/keyManager.test.js +0 -96
  772. package/ts_build/tests/unit/auth/keyManager.test.js.map +0 -1
  773. package/ts_build/tests/unit/auth/registerIdentity.test.d.ts +0 -1
  774. package/ts_build/tests/unit/auth/registerIdentity.test.js +0 -92
  775. package/ts_build/tests/unit/auth/registerIdentity.test.js.map +0 -1
  776. package/ts_build/tests/unit/chat/ToolCommandModule.test.d.ts +0 -1
  777. package/ts_build/tests/unit/chat/ToolCommandModule.test.js +0 -61
  778. package/ts_build/tests/unit/chat/ToolCommandModule.test.js.map +0 -1
  779. package/ts_build/tests/unit/chat/historyCommandArgs.test.d.ts +0 -1
  780. package/ts_build/tests/unit/chat/historyCommandArgs.test.js +0 -29
  781. package/ts_build/tests/unit/chat/historyCommandArgs.test.js.map +0 -1
  782. package/ts_build/tests/unit/clients/AIClient.test.d.ts +0 -1
  783. package/ts_build/tests/unit/clients/AIClient.test.js +0 -342
  784. package/ts_build/tests/unit/clients/AIClient.test.js.map +0 -1
  785. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.d.ts +0 -1
  786. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js +0 -77
  787. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js.map +0 -1
  788. package/ts_build/tests/unit/clients/attribution.test.d.ts +0 -1
  789. package/ts_build/tests/unit/clients/attribution.test.js +0 -153
  790. package/ts_build/tests/unit/clients/attribution.test.js.map +0 -1
  791. package/ts_build/tests/unit/clients/http.responseMetadata.test.d.ts +0 -1
  792. package/ts_build/tests/unit/clients/http.responseMetadata.test.js +0 -77
  793. package/ts_build/tests/unit/clients/http.responseMetadata.test.js.map +0 -1
  794. package/ts_build/tests/unit/clients/openai.responseMetadata.test.d.ts +0 -1
  795. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js +0 -86
  796. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js.map +0 -1
  797. package/ts_build/tests/unit/clients/responseMetadata.test.d.ts +0 -1
  798. package/ts_build/tests/unit/clients/responseMetadata.test.js +0 -96
  799. package/ts_build/tests/unit/clients/responseMetadata.test.js.map +0 -1
  800. package/ts_build/tests/unit/clients/withRetry.test.d.ts +0 -1
  801. package/ts_build/tests/unit/clients/withRetry.test.js +0 -225
  802. package/ts_build/tests/unit/clients/withRetry.test.js.map +0 -1
  803. package/ts_build/tests/unit/commands/agents.test.d.ts +0 -1
  804. package/ts_build/tests/unit/commands/agents.test.js +0 -119
  805. package/ts_build/tests/unit/commands/agents.test.js.map +0 -1
  806. package/ts_build/tests/unit/commands/github-credentials.test.d.ts +0 -1
  807. package/ts_build/tests/unit/commands/github-credentials.test.js +0 -145
  808. package/ts_build/tests/unit/commands/github-credentials.test.js.map +0 -1
  809. package/ts_build/tests/unit/commands/misc.test.d.ts +0 -1
  810. package/ts_build/tests/unit/commands/misc.test.js +0 -70
  811. package/ts_build/tests/unit/commands/misc.test.js.map +0 -1
  812. package/ts_build/tests/unit/commands/remote.test.d.ts +0 -1
  813. package/ts_build/tests/unit/commands/remote.test.js +0 -70
  814. package/ts_build/tests/unit/commands/remote.test.js.map +0 -1
  815. package/ts_build/tests/unit/commands/sandbox.test.d.ts +0 -1
  816. package/ts_build/tests/unit/commands/sandbox.test.js +0 -258
  817. package/ts_build/tests/unit/commands/sandbox.test.js.map +0 -1
  818. package/ts_build/tests/unit/hashes.test.d.ts +0 -1
  819. package/ts_build/tests/unit/hashes.test.js +0 -25
  820. package/ts_build/tests/unit/hashes.test.js.map +0 -1
  821. package/ts_build/tests/unit/input-queue.test.d.ts +0 -1
  822. package/ts_build/tests/unit/input-queue.test.js +0 -32
  823. package/ts_build/tests/unit/input-queue.test.js.map +0 -1
  824. package/ts_build/tests/unit/login.test.d.ts +0 -1
  825. package/ts_build/tests/unit/login.test.js +0 -166
  826. package/ts_build/tests/unit/login.test.js.map +0 -1
  827. package/ts_build/tests/unit/modules/moduleLoading.test.d.ts +0 -1
  828. package/ts_build/tests/unit/modules/moduleLoading.test.js +0 -272
  829. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +0 -1
  830. package/ts_build/tests/unit/plugins/pluginLoading.test.d.ts +0 -1
  831. package/ts_build/tests/unit/plugins/pluginLoading.test.js +0 -117
  832. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +0 -1
  833. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.d.ts +0 -1
  834. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.js +0 -32
  835. package/ts_build/tests/unit/services/AgentSyncKnowhowWeb.test.js.map +0 -1
  836. package/ts_build/tests/unit/services/KnowhowClient.test.d.ts +0 -1
  837. package/ts_build/tests/unit/services/KnowhowClient.test.js +0 -69
  838. package/ts_build/tests/unit/services/KnowhowClient.test.js.map +0 -1
  839. package/ts_build/tests/unit/services/LazyToolsService.test.d.ts +0 -1
  840. package/ts_build/tests/unit/services/LazyToolsService.test.js +0 -47
  841. package/ts_build/tests/unit/services/LazyToolsService.test.js.map +0 -1
  842. package/ts_build/tests/unit/services/Mcp.test.d.ts +0 -1
  843. package/ts_build/tests/unit/services/Mcp.test.js +0 -45
  844. package/ts_build/tests/unit/services/Mcp.test.js.map +0 -1
  845. package/ts_build/tests/unit/services/MinimalToolsService.test.d.ts +0 -1
  846. package/ts_build/tests/unit/services/MinimalToolsService.test.js +0 -320
  847. package/ts_build/tests/unit/services/MinimalToolsService.test.js.map +0 -1
  848. package/ts_build/tests/unit/services/RuntimeReloadService.test.d.ts +0 -1
  849. package/ts_build/tests/unit/services/RuntimeReloadService.test.js +0 -26
  850. package/ts_build/tests/unit/services/RuntimeReloadService.test.js.map +0 -1
  851. package/ts_build/tests/unit/services/SessionManager.test.d.ts +0 -1
  852. package/ts_build/tests/unit/services/SessionManager.test.js +0 -72
  853. package/ts_build/tests/unit/services/SessionManager.test.js.map +0 -1
  854. package/ts_build/tests/unit/services/SyncedAgentWatcher.test.d.ts +0 -1
  855. package/ts_build/tests/unit/services/SyncedAgentWatcher.test.js +0 -78
  856. package/ts_build/tests/unit/services/SyncedAgentWatcher.test.js.map +0 -1
  857. package/ts_build/tests/unit/services/SyncerService.test.d.ts +0 -1
  858. package/ts_build/tests/unit/services/SyncerService.test.js +0 -40
  859. package/ts_build/tests/unit/services/SyncerService.test.js.map +0 -1
  860. package/ts_build/tests/unit/tunnel.test.d.ts +0 -1
  861. package/ts_build/tests/unit/tunnel.test.js +0 -47
  862. package/ts_build/tests/unit/tunnel.test.js.map +0 -1
  863. package/ts_build/tests/unit/util/Trace.test.d.ts +0 -1
  864. package/ts_build/tests/unit/util/Trace.test.js +0 -107
  865. package/ts_build/tests/unit/util/Trace.test.js.map +0 -1
  866. package/ts_build/tests/unit/utils/http.test.d.ts +0 -1
  867. package/ts_build/tests/unit/utils/http.test.js +0 -69
  868. package/ts_build/tests/unit/utils/http.test.js.map +0 -1
  869. package/tsconfig.json +0 -34
  870. package/tslint.json +0 -11
@@ -1,743 +0,0 @@
1
- import { Command } from "commander";
2
- import { getConfig, updateConfig } from "../config";
3
- import { McpConfig } from "../types";
4
- import * as fs from "fs";
5
- import { KnowhowSimpleClient, KNOWHOW_API_URL } from "../services/KnowhowClient";
6
- import { McpService } from "../services/Mcp";
7
- import http from "../utils/http";
8
-
9
- // ──────────────────────────────────────────────────────────────────────────────
10
- // Transport inference helper
11
- // ──────────────────────────────────────────────────────────────────────────────
12
-
13
- function inferTransport(opts: {
14
- url?: string;
15
- command?: string;
16
- transport?: string;
17
- }): "http" | "sse" | "stdio" {
18
- if (opts.transport) return opts.transport as "http" | "sse" | "stdio";
19
- if (opts.url) {
20
- if (opts.url.endsWith("/sse") || opts.url.includes("/sse?")) return "sse";
21
- return "http";
22
- }
23
- return "stdio";
24
- }
25
-
26
- // ──────────────────────────────────────────────────────────────────────────────
27
- // Formatting helpers
28
- // ──────────────────────────────────────────────────────────────────────────────
29
-
30
- function formatLocalMcpList(mcps: McpConfig[], statusMap: Record<string, { connected: boolean; toolCount: number; error?: string }> = {}) {
31
- if (!mcps || mcps.length === 0) {
32
- console.log("No MCP servers configured locally.");
33
- return;
34
- }
35
- console.log(`\n${"─".repeat(60)}`);
36
- console.log(" Local MCP Servers");
37
- console.log(`${"─".repeat(60)}`);
38
- for (const mcp of mcps) {
39
- const status = statusMap[mcp.name];
40
- const transport = inferTransport(mcp);
41
- const endpoint = mcp.url ? mcp.url : mcp.command ? `${mcp.command} ${(mcp.args || []).join(" ")}`.trim() : "(none)";
42
- let statusIcon = "○";
43
- let statusText = "not tested";
44
- if (status) {
45
- if (status.connected) {
46
- statusIcon = "✓";
47
- statusText = `connected (${status.toolCount} tools)`;
48
- } else {
49
- statusIcon = "✗";
50
- statusText = `failed: ${status.error || "unknown error"}`;
51
- }
52
- }
53
- console.log(`\n ${statusIcon} ${mcp.name}`);
54
- console.log(` transport : ${transport}`);
55
- console.log(` endpoint : ${endpoint}`);
56
- if (mcp.authorization_token_file) {
57
- console.log(` auth file : ${mcp.authorization_token_file}`);
58
- }
59
- if (mcp.autoConnect === false) {
60
- console.log(` auto-connect: false`);
61
- }
62
- if (status) {
63
- console.log(` status : ${statusText}`);
64
- }
65
- }
66
- console.log(`${"─".repeat(60)}\n`);
67
- }
68
-
69
- function formatRemoteMcpList(servers: any[]) {
70
- if (!servers || servers.length === 0) {
71
- console.log("No remote MCP servers configured for this organisation.");
72
- return;
73
- }
74
- console.log(`\n${"─".repeat(60)}`);
75
- console.log(" Remote MCP Servers (backend)");
76
- console.log(`${"─".repeat(60)}`);
77
- for (const s of servers) {
78
- const transport = s.url ? (s.url.endsWith("/sse") ? "sse" : "http") : "stdio";
79
- const endpoint = s.url ? s.url : s.command ? `${s.command} ${(s.args || []).join(" ")}`.trim() : "(none)";
80
- const enabledIcon = s.enabled !== false ? "✓" : "○";
81
- console.log(`\n ${enabledIcon} ${s.name} (${s.uniqueName})`);
82
- console.log(` id : ${s.id}`);
83
- console.log(` transport : ${transport}`);
84
- console.log(` endpoint : ${endpoint}`);
85
- if (s.url) {
86
- const proxyUrl = `${KNOWHOW_API_URL}/api/mcp-proxy/${s.id}/mcp`;
87
- console.log(` proxy url : ${proxyUrl}`);
88
- }
89
- if (s.enabled === false) {
90
- console.log(` enabled : false`);
91
- }
92
- if (s.authConfig && typeof s.authConfig === "object") {
93
- const ac = s.authConfig as Record<string, any>;
94
- console.log(` auth type : ${ac.type || "unknown"}`);
95
- if (ac.type === "basic") {
96
- console.log(` username : secret:${ac.usernameSecretKey || "(not set)"}`);
97
- console.log(` password : secret:${ac.passwordSecretKey || "(not set)"}`);
98
- } else if (ac.type === "api_key") {
99
- console.log(` api key : secret:${ac.keySecretKey || "(not set)"} (${ac.location || "header"}:${ac.keyName || "?"})`);
100
- } else if (ac.type === "oauth2_static" || ac.type === "oauth2_dynamic") {
101
- console.log(` oauth : ${ac.tokenUrl || ac.discoveryUrl || "(url not set)"}`);
102
- }
103
- }
104
- }
105
- console.log(`${"─".repeat(60)}\n`);
106
- }
107
-
108
- // ──────────────────────────────────────────────────────────────────────────────
109
- // Test connectivity of local servers
110
- // ──────────────────────────────────────────────────────────────────────────────
111
-
112
- async function testLocalConnections(mcps: McpConfig[]): Promise<Record<string, { connected: boolean; toolCount: number; error?: string }>> {
113
- const results: Record<string, { connected: boolean; toolCount: number; error?: string }> = {};
114
- const mcpService = new McpService();
115
-
116
- for (const mcp of mcps) {
117
- try {
118
- await mcpService.createStdioClients([mcp]);
119
- await mcpService.connectAutoServers();
120
- const tools = await mcpService.getTools();
121
- results[mcp.name] = { connected: true, toolCount: tools.length };
122
- await mcpService.closeTransports();
123
- // Reset for next iteration
124
- (mcpService as any).clients = [];
125
- (mcpService as any).transports = [];
126
- (mcpService as any).config = [];
127
- (mcpService as any).connected = [];
128
- (mcpService as any).tools = [];
129
- } catch (err: any) {
130
- results[mcp.name] = { connected: false, toolCount: 0, error: err.message };
131
- }
132
- }
133
- return results;
134
- }
135
-
136
- // ──────────────────────────────────────────────────────────────────────────────
137
- // Main command registrar
138
- // ──────────────────────────────────────────────────────────────────────────────
139
-
140
- export function addMcpCommands(program: Command): void {
141
- const mcp = program
142
- .command("mcp")
143
- .description("Manage MCP (Model Context Protocol) servers");
144
-
145
- // ── mcp add ────────────────────────────────────────────────────────────────
146
- mcp
147
- .command("add <name> [endpoint]")
148
- .description(
149
- "Add an MCP server.\n" +
150
- " For HTTP/SSE servers: knowhow mcp add myserver https://example.com/mcp\n" +
151
- " For stdio servers: knowhow mcp add myserver --command npx --args '-y,some-mcp-server'\n" +
152
- " Remote (backend): knowhow mcp add myserver https://example.com/mcp --remote"
153
- )
154
- .option("--transport <transport>", "Transport type: http, sse, stdio (auto-detected if omitted)")
155
- .option("--command <cmd>", "Command to run for stdio servers (e.g. npx)")
156
- .option("--args <args>", "Comma-separated args for stdio command (e.g. '-y,some-mcp-server')")
157
- .option("--env <KEY=VALUE...>", "Environment variables for stdio servers (repeatable)", collect, [])
158
- .option("--header <Header: Value...>", "HTTP headers (stored as authorization_token_file hint)", collect, [])
159
- .option("--auth-token-file <path>", "Path to file containing the bearer/basic auth token")
160
- .option("--auth-scheme <scheme>", "Auth scheme: bearer or basic (default: bearer)", "bearer")
161
- .option("--no-auto-connect", "Do not auto-connect to this server on startup")
162
- .option("--remote", "Add to the knowhow backend instead of the local config")
163
- .option("--unique-name <uniqueName>", "Unique name for remote MCP server (defaults to <name>)")
164
- .option("--secret-mapping <json>", "Secret mapping JSON for remote MCP (e.g. '{\"MY_ENV\": \"secret.name.field\"}')")
165
- .option("--auth-config <json>", "Auth config JSON for remote MCP (e.g. '{\"type\":\"basic\",\"usernameSecretKey\":\"grafana.username\",\"passwordSecretKey\":\"grafana.password\"}')")
166
- .action(async (name: string, endpoint: string | undefined, opts: any) => {
167
- // Build stdioArgs from --command / --args options
168
- const stdioArgs: string[] = [];
169
- if (opts.command) {
170
- stdioArgs.push(opts.command);
171
- if (opts.args) {
172
- // Support both comma-separated and space-separated args
173
- const parsedArgs = opts.args.includes(",")
174
- ? opts.args.split(",").map((a: string) => a.trim())
175
- : opts.args.split(" ").map((a: string) => a.trim()).filter(Boolean);
176
- stdioArgs.push(...parsedArgs);
177
- }
178
- }
179
-
180
- const transport = inferTransport({ url: endpoint, command: stdioArgs[0], transport: opts.transport });
181
-
182
- if (opts.remote) {
183
- await addRemoteMcp(name, endpoint, transport, opts, stdioArgs);
184
- } else {
185
- await addLocalMcp(name, endpoint, transport, opts, stdioArgs);
186
- }
187
- });
188
-
189
- // ── mcp list ───────────────────────────────────────────────────────────────
190
- mcp
191
- .command("list")
192
- .description("List configured MCP servers")
193
- .option("--remote", "List MCP servers from the knowhow backend")
194
- .option("--test", "Test connectivity and show tool counts (local only)")
195
- .action(async (opts: any) => {
196
- if (opts.remote) {
197
- await listRemoteMcps();
198
- } else {
199
- await listLocalMcps(opts.test);
200
- }
201
- });
202
-
203
- // ── mcp remove ─────────────────────────────────────────────────────────────
204
- mcp
205
- .command("remove <name>")
206
- .description("Remove an MCP server from the local config")
207
- .option("--remote", "Remove from the knowhow backend instead")
208
- .action(async (name: string, opts: any) => {
209
- if (opts.remote) {
210
- await removeRemoteMcp(name);
211
- } else {
212
- await removeLocalMcp(name);
213
- }
214
- });
215
-
216
- // ── mcp get ────────────────────────────────────────────────────────────────
217
- mcp
218
- .command("get <name>")
219
- .description("Show details for a specific MCP server")
220
- .option("--remote", "Look up from the knowhow backend")
221
- .action(async (name: string, opts: any) => {
222
- if (opts.remote) {
223
- await getRemoteMcp(name);
224
- } else {
225
- await getLocalMcp(name);
226
- }
227
- });
228
-
229
- // ── mcp secrets ────────────────────────────────────────────────────────────
230
- // ── mcp update ─────────────────────────────────────────────────────────────
231
- mcp
232
- .command("update <name>")
233
- .description("Update a remote MCP server configuration")
234
- .option("--remote", "Update in the knowhow backend (required)")
235
- .option("--url <url>", "New URL for the server")
236
- .option("--auth-config <json>", "New auth config JSON")
237
- .option("--secret-mapping <json>", "New secret mapping JSON")
238
- .option("--env <KEY=VALUE...>", "Environment variables (repeatable)", collect, [])
239
- .option("--enabled <bool>", "Enable or disable (true/false)")
240
- .action(async (name: string, opts: any) => {
241
- if (!opts.remote) {
242
- console.error("✗ mcp update currently only supports --remote. Use mcp remove + mcp add for local updates.");
243
- process.exit(1);
244
- }
245
- await updateRemoteMcp(name, opts);
246
- });
247
-
248
- mcp
249
- .command("secrets")
250
- .description("Manage remote secrets for MCP servers (requires --remote)")
251
- .option("--list", "List all org secrets")
252
- .option("--create <name>", "Create a secret with the given name")
253
- .option("--value <value>", "Value for the secret (used with --create)")
254
- .option("--value-file <path>", "Read secret value from file (used with --create)")
255
- .option("--delete <nameOrId>", "Delete a secret by name or id")
256
- .action(async (opts: any) => {
257
- if (opts.list) {
258
- await listRemoteSecrets();
259
- } else if (opts.create) {
260
- let value = opts.value;
261
- if (!value && opts.valueFile) {
262
- value = fs.readFileSync(opts.valueFile, "utf-8").trim();
263
- }
264
- if (!value) {
265
- console.error("✗ --value or --value-file is required with --create");
266
- process.exit(1);
267
- }
268
- await createRemoteSecret(opts.create, value);
269
- } else if (opts.delete) {
270
- await deleteRemoteSecret(opts.delete);
271
- } else {
272
- // Default: list
273
- await listRemoteSecrets();
274
- }
275
- });
276
-
277
- }
278
-
279
- // ──────────────────────────────────────────────────────────────────────────────
280
- // Local operations
281
- // ──────────────────────────────────────────────────────────────────────────────
282
-
283
- async function addLocalMcp(
284
- name: string,
285
- endpoint: string | undefined,
286
- transport: "http" | "sse" | "stdio",
287
- opts: any,
288
- stdioArgs: string[]
289
- ) {
290
- const config = await getConfig();
291
- const mcps: McpConfig[] = config.mcps || [];
292
-
293
- if (mcps.find((m) => m.name === name)) {
294
- console.error(`✗ MCP server '${name}' already exists. Use 'mcp remove ${name}' first.`);
295
- process.exit(1);
296
- }
297
-
298
- const entry: McpConfig = { name };
299
-
300
- if (transport === "stdio") {
301
- if (!stdioArgs.length) {
302
- console.error("✗ Stdio transport requires a command. Use: knowhow mcp add <name> -- <command> [args...]");
303
- process.exit(1);
304
- }
305
- entry.command = stdioArgs[0];
306
- entry.args = stdioArgs.slice(1);
307
- if (opts.env && opts.env.length) {
308
- entry.env = parseEnvList(opts.env);
309
- }
310
- } else {
311
- // http or sse
312
- if (!endpoint) {
313
- console.error("✗ HTTP/SSE transport requires a URL.");
314
- process.exit(1);
315
- }
316
- entry.url = endpoint;
317
-
318
- // Auth token file
319
- if (opts.authTokenFile) {
320
- entry.authorization_token_file = opts.authTokenFile;
321
- // Store the auth scheme (bearer or basic) - only needed for non-default
322
- if (opts.authScheme && opts.authScheme !== "bearer") {
323
- entry.authorization_scheme = opts.authScheme as "bearer" | "basic";
324
- }
325
- }
326
-
327
- // Inline headers (e.g. --header "Authorization: Bearer token")
328
- if (opts.header && opts.header.length) {
329
- const authHeader = (opts.header as string[]).find((h) =>
330
- h.toLowerCase().startsWith("authorization:")
331
- );
332
- if (authHeader) {
333
- const tokenMatch = authHeader.match(/:\s*(?:Bearer|Basic)\s+(.+)/i);
334
- if (tokenMatch) {
335
- entry.authorization_token = tokenMatch[1].trim();
336
- }
337
- }
338
- }
339
- }
340
-
341
- if (opts.autoConnect === false) {
342
- entry.autoConnect = false;
343
- }
344
-
345
- mcps.push(entry);
346
- config.mcps = mcps;
347
- await updateConfig(config);
348
-
349
- console.log(`✓ Added MCP server '${name}' (transport: ${transport}) to .knowhow/knowhow.json`);
350
- if (entry.url) console.log(` URL: ${entry.url}`);
351
- if (entry.command) console.log(` Command: ${entry.command} ${(entry.args || []).join(" ")}`);
352
- }
353
-
354
- async function listLocalMcps(test = false) {
355
- const config = await getConfig();
356
- const mcps: McpConfig[] = config.mcps || [];
357
-
358
- let statusMap: Record<string, { connected: boolean; toolCount: number; error?: string }> = {};
359
- if (test && mcps.length > 0) {
360
- console.log("Testing connections…");
361
- statusMap = await testLocalConnections(mcps);
362
- }
363
-
364
- formatLocalMcpList(mcps, statusMap);
365
- }
366
-
367
- async function removeLocalMcp(name: string) {
368
- const config = await getConfig();
369
- const mcps: McpConfig[] = config.mcps || [];
370
- const idx = mcps.findIndex((m) => m.name === name);
371
- if (idx < 0) {
372
- console.error(`✗ MCP server '${name}' not found in local config.`);
373
- process.exit(1);
374
- }
375
- mcps.splice(idx, 1);
376
- config.mcps = mcps;
377
- await updateConfig(config);
378
- console.log(`✓ Removed MCP server '${name}' from .knowhow/knowhow.json`);
379
- }
380
-
381
- async function getLocalMcp(name: string) {
382
- const config = await getConfig();
383
- const mcps: McpConfig[] = config.mcps || [];
384
- const mcp = mcps.find((m) => m.name === name);
385
- if (!mcp) {
386
- console.error(`✗ MCP server '${name}' not found in local config.`);
387
- process.exit(1);
388
- }
389
- console.log(JSON.stringify(mcp, null, 2));
390
- }
391
-
392
- // ──────────────────────────────────────────────────────────────────────────────
393
- // Remote (backend) operations
394
- // ──────────────────────────────────────────────────────────────────────────────
395
-
396
- async function getRemoteClient() {
397
- const client = new KnowhowSimpleClient();
398
- await client.checkJwt();
399
- return client;
400
- }
401
-
402
- async function addRemoteMcp(
403
- name: string,
404
- endpoint: string | undefined,
405
- transport: "http" | "sse" | "stdio",
406
- opts: any,
407
- stdioArgs: string[]
408
- ) {
409
- const client = await getRemoteClient();
410
- const uniqueName = opts.uniqueName || name;
411
-
412
- const body: Record<string, any> = {
413
- name,
414
- uniqueName,
415
- command: "url",
416
- args: [],
417
- };
418
-
419
- if (transport === "stdio") {
420
- if (!stdioArgs.length) {
421
- console.error("✗ Stdio transport requires a command. Use: knowhow mcp add --remote <name> -- <command> [args...]");
422
- process.exit(1);
423
- }
424
- body.command = stdioArgs[0];
425
- body.args = stdioArgs.slice(1);
426
- if (opts.env && opts.env.length) {
427
- body.env = parseEnvList(opts.env);
428
- }
429
- } else {
430
- if (!endpoint) {
431
- console.error("✗ HTTP/SSE transport requires a URL.");
432
- process.exit(1);
433
- }
434
- body.url = endpoint;
435
- body.command = "url";
436
- body.args = [];
437
- if (opts.env && opts.env.length) {
438
- body.env = parseEnvList(opts.env);
439
- }
440
- }
441
-
442
- // Optional secretMapping (JSON string or object)
443
- if (opts.secretMapping) {
444
- try {
445
- body.secretMapping = typeof opts.secretMapping === "string" ? JSON.parse(opts.secretMapping) : opts.secretMapping;
446
- } catch {
447
- console.error("✗ --secret-mapping must be valid JSON.");
448
- process.exit(1);
449
- }
450
- }
451
-
452
- // Optional authConfig (JSON string or object)
453
- if (opts.authConfig) {
454
- try {
455
- body.authConfig = typeof opts.authConfig === "string" ? JSON.parse(opts.authConfig) : opts.authConfig;
456
- } catch {
457
- console.error("✗ --auth-config must be valid JSON.");
458
- process.exit(1);
459
- }
460
- }
461
-
462
- try {
463
- const response = await http.post(
464
- `${KNOWHOW_API_URL}/api/org-mcp-servers`,
465
- body,
466
- { headers: (client as any).headers }
467
- );
468
- const server = (response as any).data || response;
469
- console.log(`✓ Created remote MCP server '${name}' (id: ${server.id})`);
470
- const proxyUrl = `${KNOWHOW_API_URL}/api/mcp-proxy/${server.id}/mcp`;
471
- console.log(` Proxy URL: ${proxyUrl}`);
472
- console.log(`\nTo use this MCP locally via the backend proxy, add to your config:`);
473
- console.log(` knowhow mcp add ${name}-remote ${proxyUrl} --auth-token-file .knowhow/.jwt`);
474
-
475
- // Remind users to create secrets if authConfig references secret keys
476
- if (body.authConfig) {
477
- const ac = body.authConfig;
478
- const secretsNeeded: string[] = [];
479
- if (ac.type === "basic") {
480
- if (ac.usernameSecretKey) secretsNeeded.push(ac.usernameSecretKey);
481
- if (ac.passwordSecretKey) secretsNeeded.push(ac.passwordSecretKey);
482
- } else if (ac.type === "api_key" && ac.keySecretKey) {
483
- secretsNeeded.push(ac.keySecretKey);
484
- } else if (ac.type === "oauth2_static") {
485
- if (ac.clientIdSecretKey) secretsNeeded.push(ac.clientIdSecretKey);
486
- if (ac.clientSecretSecretKey) secretsNeeded.push(ac.clientSecretSecretKey);
487
- }
488
- if (secretsNeeded.length > 0) {
489
- console.log(`\n⚠ This server uses auth secrets. Ensure the following org secrets exist:`);
490
- for (const key of secretsNeeded) {
491
- console.log(` knowhow mcp secrets --create ${key} --value <YOUR_VALUE>`);
492
- }
493
- }
494
- }
495
- } catch (err: any) {
496
- const msg = err?.response?.data?.message || err.message;
497
- console.error(`✗ Failed to create remote MCP server: ${msg}`);
498
- process.exit(1);
499
- }
500
- }
501
-
502
- async function listRemoteMcps() {
503
- const client = await getRemoteClient();
504
-
505
- try {
506
- const response = await http.get(
507
- `${KNOWHOW_API_URL}/api/org-mcp-servers`,
508
- { headers: (client as any).headers }
509
- );
510
- const servers: any[] = (response as any).data || response;
511
- formatRemoteMcpList(Array.isArray(servers) ? servers : []);
512
- } catch (err: any) {
513
- const msg = err?.response?.data?.message || err.message;
514
- console.error(`✗ Failed to list remote MCP servers: ${msg}`);
515
- process.exit(1);
516
- }
517
- }
518
-
519
- async function removeRemoteMcp(nameOrId: string) {
520
- const client = await getRemoteClient();
521
-
522
- // First fetch the list to resolve name → id
523
- let servers: any[] = [];
524
- try {
525
- const response = await http.get(
526
- `${KNOWHOW_API_URL}/api/org-mcp-servers`,
527
- { headers: (client as any).headers }
528
- );
529
- servers = (response as any).data || response;
530
- if (!Array.isArray(servers)) servers = [];
531
- } catch (err: any) {
532
- console.error(`✗ Failed to fetch remote MCP servers: ${err.message}`);
533
- process.exit(1);
534
- }
535
-
536
- const server = servers.find((s) => s.id === nameOrId || s.name === nameOrId || s.uniqueName === nameOrId);
537
- if (!server) {
538
- console.error(`✗ Remote MCP server '${nameOrId}' not found.`);
539
- process.exit(1);
540
- }
541
-
542
- try {
543
- await http.delete(
544
- `${KNOWHOW_API_URL}/api/org-mcp-servers/${server.id}`,
545
- { headers: (client as any).headers }
546
- );
547
- console.log(`✓ Removed remote MCP server '${server.name}' (id: ${server.id})`);
548
- } catch (err: any) {
549
- const msg = err?.response?.data?.message || err.message;
550
- console.error(`✗ Failed to remove remote MCP server: ${msg}`);
551
- process.exit(1);
552
- }
553
- }
554
-
555
- async function getRemoteMcp(nameOrId: string) {
556
- const client = await getRemoteClient();
557
-
558
- let servers: any[] = [];
559
- try {
560
- const response = await http.get(
561
- `${KNOWHOW_API_URL}/api/org-mcp-servers`,
562
- { headers: (client as any).headers }
563
- );
564
- servers = (response as any).data || response;
565
- if (!Array.isArray(servers)) servers = [];
566
- } catch (err: any) {
567
- console.error(`✗ Failed to fetch remote MCP servers: ${err.message}`);
568
- process.exit(1);
569
- }
570
-
571
- const server = servers.find((s) => s.id === nameOrId || s.name === nameOrId || s.uniqueName === nameOrId);
572
- if (!server) {
573
- console.error(`✗ Remote MCP server '${nameOrId}' not found.`);
574
- process.exit(1);
575
- }
576
-
577
- console.log(JSON.stringify(server, null, 2));
578
- const proxyUrl = `${KNOWHOW_API_URL}/api/mcp-proxy/${server.id}/mcp`;
579
- console.log(`\n Proxy URL: ${proxyUrl}`);
580
- }
581
-
582
- async function updateRemoteMcp(nameOrId: string, opts: any) {
583
- const client = await getRemoteClient();
584
-
585
- // First list to resolve name → id
586
- let servers: any[] = [];
587
- try {
588
- const response = await http.get(
589
- `${KNOWHOW_API_URL}/api/org-mcp-servers`,
590
- { headers: (client as any).headers }
591
- );
592
- servers = (response as any).data || response;
593
- if (!Array.isArray(servers)) servers = [];
594
- } catch (err: any) {
595
- console.error(`✗ Failed to fetch remote MCP servers: ${err.message}`);
596
- process.exit(1);
597
- }
598
-
599
- const server = servers.find((s) => s.id === nameOrId || s.name === nameOrId || s.uniqueName === nameOrId);
600
- if (!server) {
601
- console.error(`✗ Remote MCP server '${nameOrId}' not found.`);
602
- process.exit(1);
603
- }
604
-
605
- const body: Record<string, any> = {};
606
- if (opts.url) body.url = opts.url;
607
- if (opts.enabled !== undefined) body.enabled = opts.enabled === "true";
608
- if (opts.env && opts.env.length) body.env = parseEnvList(opts.env);
609
- if (opts.secretMapping) {
610
- try { body.secretMapping = JSON.parse(opts.secretMapping); } catch { console.error("✗ --secret-mapping must be valid JSON."); process.exit(1); }
611
- }
612
- if (opts.authConfig) {
613
- try { body.authConfig = JSON.parse(opts.authConfig); } catch { console.error("✗ --auth-config must be valid JSON."); process.exit(1); }
614
- }
615
-
616
- try {
617
- const response = await http.put(
618
- `${KNOWHOW_API_URL}/api/org-mcp-servers/${server.id}`,
619
- body,
620
- { headers: (client as any).headers }
621
- );
622
- const updated = (response as any).data || response;
623
- console.log(`✓ Updated remote MCP server '${updated.name}' (id: ${updated.id})`);
624
- console.log(JSON.stringify(updated, null, 2));
625
- } catch (err: any) {
626
- const msg = err?.response?.data?.message || err.message;
627
- console.error(`✗ Failed to update remote MCP server: ${msg}`);
628
- process.exit(1);
629
- }
630
- }
631
-
632
- // ──────────────────────────────────────────────────────────────────────────────
633
- // Utility
634
- // ──────────────────────────────────────────────────────────────────────────────
635
-
636
- function collect(value: string, previous: string[]): string[] {
637
- return previous.concat([value]);
638
- }
639
-
640
- function parseEnvList(envList: string[]): Record<string, string> {
641
- const env: Record<string, string> = {};
642
- for (const item of envList) {
643
- const eqIdx = item.indexOf("=");
644
- if (eqIdx > 0) {
645
- env[item.slice(0, eqIdx)] = item.slice(eqIdx + 1);
646
- }
647
- }
648
- return env;
649
- }
650
-
651
- // ──────────────────────────────────────────────────────────────────────────────
652
- // Remote secrets operations
653
- // ──────────────────────────────────────────────────────────────────────────────
654
-
655
- async function listRemoteSecrets() {
656
- const client = await getRemoteClient();
657
-
658
- try {
659
- const response = await http.get(
660
- `${KNOWHOW_API_URL}/api/secrets/org`,
661
- { headers: (client as any).headers }
662
- );
663
- const secrets: any[] = (response as any).data || response;
664
- const list = Array.isArray(secrets) ? secrets : [];
665
-
666
- if (list.length === 0) {
667
- console.log("No org secrets found.");
668
- return;
669
- }
670
-
671
- console.log(`\n${"─".repeat(60)}`);
672
- console.log(" Remote Org Secrets");
673
- console.log(`${"─".repeat(60)}`);
674
- for (const s of list) {
675
- console.log(`\n • ${s.name}`);
676
- console.log(` id : ${s.id}`);
677
- console.log(` created : ${s.createdAt}`);
678
- console.log(` secret path: secret.${s.name}`);
679
- }
680
- console.log(`${"─".repeat(60)}\n`);
681
- } catch (err: any) {
682
- const msg = err?.response?.data?.message || err.message;
683
- console.error(`✗ Failed to list remote secrets: ${msg}`);
684
- process.exit(1);
685
- }
686
- }
687
-
688
- async function createRemoteSecret(name: string, value: string) {
689
- const client = await getRemoteClient();
690
-
691
- try {
692
- const response = await http.post(
693
- `${KNOWHOW_API_URL}/api/secrets/org`,
694
- { name, value },
695
- { headers: (client as any).headers }
696
- );
697
- const secret = (response as any).data || response;
698
- console.log(`✓ Created org secret '${name}' (id: ${secret.id})`);
699
- console.log(` Secret path: secret.${name}`);
700
- console.log(` Use in secretMapping: { "MY_ENV_VAR": "secret.${name}" }`);
701
- console.log(` Use in authConfig usernameSecretKey: "${name}"`);
702
- } catch (err: any) {
703
- const msg = err?.response?.data?.message || err.message;
704
- console.error(`✗ Failed to create remote secret: ${msg}`);
705
- process.exit(1);
706
- }
707
- }
708
-
709
- async function deleteRemoteSecret(nameOrId: string) {
710
- const client = await getRemoteClient();
711
-
712
- // First list to resolve name → id
713
- let secrets: any[] = [];
714
- try {
715
- const response = await http.get(
716
- `${KNOWHOW_API_URL}/api/secrets/org`,
717
- { headers: (client as any).headers }
718
- );
719
- secrets = (response as any).data || response;
720
- if (!Array.isArray(secrets)) secrets = [];
721
- } catch (err: any) {
722
- console.error(`✗ Failed to fetch remote secrets: ${err.message}`);
723
- process.exit(1);
724
- }
725
-
726
- const secret = secrets.find((s) => s.id === nameOrId || s.name === nameOrId);
727
- if (!secret) {
728
- console.error(`✗ Remote secret '${nameOrId}' not found.`);
729
- process.exit(1);
730
- }
731
-
732
- try {
733
- await http.delete(
734
- `${KNOWHOW_API_URL}/api/secrets/org/${secret.id}`,
735
- { headers: (client as any).headers }
736
- );
737
- console.log(`✓ Deleted org secret '${secret.name}' (id: ${secret.id})`);
738
- } catch (err: any) {
739
- const msg = err?.response?.data?.message || err.message;
740
- console.error(`✗ Failed to delete remote secret: ${msg}`);
741
- process.exit(1);
742
- }
743
- }