@cjhyy/code-shell 0.1.0-alpha.0

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 (441) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/LICENSE +21 -0
  3. package/README.md +177 -0
  4. package/dist/agent/coordinator.d.ts +49 -0
  5. package/dist/anthropic-NENYS535.js +9 -0
  6. package/dist/anthropic-XMTTVNSH.cjs +9 -0
  7. package/dist/arena/arena.d.ts +43 -0
  8. package/dist/arena/context/context-tools.d.ts +16 -0
  9. package/dist/arena/detect-mode.d.ts +20 -0
  10. package/dist/arena/digest-builder.d.ts +25 -0
  11. package/dist/arena/index.cjs +103 -0
  12. package/dist/arena/index.d.ts +29 -0
  13. package/dist/arena/index.js +103 -0
  14. package/dist/arena/iterate/convergence.d.ts +25 -0
  15. package/dist/arena/iterate/formats/index.d.ts +22 -0
  16. package/dist/arena/iterate/index.d.ts +11 -0
  17. package/dist/arena/iterate/iterative-arena.d.ts +23 -0
  18. package/dist/arena/iterate/parse.d.ts +42 -0
  19. package/dist/arena/iterate/phases/argue.d.ts +22 -0
  20. package/dist/arena/iterate/phases/revise.d.ts +16 -0
  21. package/dist/arena/iterate/phases/tournament.d.ts +34 -0
  22. package/dist/arena/iterate/tools/web-tools.d.ts +13 -0
  23. package/dist/arena/iterate/types.d.ts +152 -0
  24. package/dist/arena/ledger.d.ts +47 -0
  25. package/dist/arena/lenses/architecture.d.ts +5 -0
  26. package/dist/arena/lenses/engineering.d.ts +5 -0
  27. package/dist/arena/lenses/general.d.ts +5 -0
  28. package/dist/arena/lenses/index.d.ts +16 -0
  29. package/dist/arena/lenses/product.d.ts +5 -0
  30. package/dist/arena/model-presets.d.ts +14 -0
  31. package/dist/arena/phases/adjudication.d.ts +24 -0
  32. package/dist/arena/phases/build-consensus.d.ts +29 -0
  33. package/dist/arena/phases/claim-registry.d.ts +26 -0
  34. package/dist/arena/phases/cross-review.d.ts +45 -0
  35. package/dist/arena/phases/debate-rounds.d.ts +27 -0
  36. package/dist/arena/phases/participant-research.d.ts +38 -0
  37. package/dist/arena/phases/planning-detail-expansion.d.ts +38 -0
  38. package/dist/arena/planner.d.ts +27 -0
  39. package/dist/arena/providers/docs.d.ts +6 -0
  40. package/dist/arena/providers/git.d.ts +8 -0
  41. package/dist/arena/providers/index.d.ts +16 -0
  42. package/dist/arena/providers/none.d.ts +7 -0
  43. package/dist/arena/providers/repo.d.ts +6 -0
  44. package/dist/arena/render/session.d.ts +17 -0
  45. package/dist/arena/render/terminal.d.ts +33 -0
  46. package/dist/arena/strategies/discussion.d.ts +25 -0
  47. package/dist/arena/strategies/index.d.ts +15 -0
  48. package/dist/arena/strategies/language-wrapper.d.ts +17 -0
  49. package/dist/arena/strategies/lens-wrapper.d.ts +16 -0
  50. package/dist/arena/strategies/planning.d.ts +30 -0
  51. package/dist/arena/strategies/review.d.ts +26 -0
  52. package/dist/arena/strategies/utils.d.ts +34 -0
  53. package/dist/arena/tools/selector.d.ts +17 -0
  54. package/dist/arena/transitions.d.ts +48 -0
  55. package/dist/arena/types.d.ts +499 -0
  56. package/dist/arena-46QQ6BZQ.js +261 -0
  57. package/dist/arena-HZZZ2GJH.cjs +261 -0
  58. package/dist/bootstrap/setup.d.ts +14 -0
  59. package/dist/bootstrap/state.d.ts +160 -0
  60. package/dist/bridge-4ZRXVWBN.js +98 -0
  61. package/dist/bridge-W476QDFH.cjs +98 -0
  62. package/dist/chunk-3EAEC566.cjs +136 -0
  63. package/dist/chunk-3EUDE77E.cjs +1252 -0
  64. package/dist/chunk-3QR52LL5.cjs +105 -0
  65. package/dist/chunk-4PKZPFCD.js +136 -0
  66. package/dist/chunk-4RRUP4MM.js +86 -0
  67. package/dist/chunk-4SFPFHMG.js +132 -0
  68. package/dist/chunk-5LHVI777.cjs +246 -0
  69. package/dist/chunk-6JOOLG6F.js +104 -0
  70. package/dist/chunk-6ZIROYXX.js +207 -0
  71. package/dist/chunk-7RMAR2Y3.js +6511 -0
  72. package/dist/chunk-BE6IPRDM.js +224 -0
  73. package/dist/chunk-BHGIJ2DJ.js +41 -0
  74. package/dist/chunk-BMH65OVB.cjs +224 -0
  75. package/dist/chunk-C7JBCO5V.js +80 -0
  76. package/dist/chunk-CSO5EOEP.cjs +132 -0
  77. package/dist/chunk-DI7RDLOS.js +47 -0
  78. package/dist/chunk-DICG4AB7.cjs +73 -0
  79. package/dist/chunk-EL2RL5DG.cjs +101 -0
  80. package/dist/chunk-FGZGCFJX.cjs +207 -0
  81. package/dist/chunk-FUOKLKR2.js +101 -0
  82. package/dist/chunk-FVP7XJGS.cjs +4577 -0
  83. package/dist/chunk-HD7MT5XU.cjs +86 -0
  84. package/dist/chunk-IJSHQGMP.cjs +45 -0
  85. package/dist/chunk-IMMTBZ33.cjs +63 -0
  86. package/dist/chunk-J5XW6UYL.js +291 -0
  87. package/dist/chunk-JT2WSQSR.cjs +335 -0
  88. package/dist/chunk-KO2FPF7G.js +93 -0
  89. package/dist/chunk-LRAY5IYC.cjs +291 -0
  90. package/dist/chunk-NG73UR3L.cjs +285 -0
  91. package/dist/chunk-NZ4DQ72D.cjs +664 -0
  92. package/dist/chunk-O6F2EF2Z.js +73 -0
  93. package/dist/chunk-OG4MIQJ6.js +335 -0
  94. package/dist/chunk-QHDYFC5U.cjs +6511 -0
  95. package/dist/chunk-R32DJSJE.cjs +41 -0
  96. package/dist/chunk-S74VVJBF.js +285 -0
  97. package/dist/chunk-SK62UVS6.js +105 -0
  98. package/dist/chunk-SQZHPD3S.js +4577 -0
  99. package/dist/chunk-UK2SU23S.cjs +93 -0
  100. package/dist/chunk-VKGNCYRL.js +258 -0
  101. package/dist/chunk-WFQF3RT4.cjs +104 -0
  102. package/dist/chunk-WHRTARDJ.cjs +258 -0
  103. package/dist/chunk-WRZJUQ5Z.js +664 -0
  104. package/dist/chunk-X4HAERTQ.js +63 -0
  105. package/dist/chunk-XHC2JMEC.cjs +80 -0
  106. package/dist/chunk-YZ25SSWJ.js +222 -0
  107. package/dist/chunk-ZJV3YSY3.cjs +222 -0
  108. package/dist/chunk-ZRSSGYA5.js +246 -0
  109. package/dist/chunk-ZXYDDJEJ.js +1252 -0
  110. package/dist/cli/commands/arena.d.ts +29 -0
  111. package/dist/cli/commands/builtin/advanced-commands.d.ts +5 -0
  112. package/dist/cli/commands/builtin/core-commands.d.ts +5 -0
  113. package/dist/cli/commands/builtin/extra-commands.d.ts +6 -0
  114. package/dist/cli/commands/builtin/git-commands.d.ts +5 -0
  115. package/dist/cli/commands/builtin/more-commands.d.ts +7 -0
  116. package/dist/cli/commands/builtin/permissions-command.d.ts +5 -0
  117. package/dist/cli/commands/builtin/utility-commands.d.ts +5 -0
  118. package/dist/cli/commands/registry.d.ts +64 -0
  119. package/dist/cli/commands/repl.d.ts +21 -0
  120. package/dist/cli/commands/run.d.ts +21 -0
  121. package/dist/cli/commands/runs.d.ts +14 -0
  122. package/dist/cli/cost-tracker.d.ts +57 -0
  123. package/dist/cli/exit.d.ts +12 -0
  124. package/dist/cli/input/ndjson-reader.d.ts +31 -0
  125. package/dist/cli/input-compiler.d.ts +5 -0
  126. package/dist/cli/main.cjs +19674 -0
  127. package/dist/cli/main.d.ts +5 -0
  128. package/dist/cli/main.js +19674 -0
  129. package/dist/cli/onboarding.d.ts +26 -0
  130. package/dist/cli/output/renderer.d.ts +28 -0
  131. package/dist/cli/output/terminal-ui.d.ts +50 -0
  132. package/dist/cli/updater.d.ts +10 -0
  133. package/dist/compaction-44I55TLI.cjs +32 -0
  134. package/dist/compaction-CCHWA4G6.js +32 -0
  135. package/dist/context/compaction.d.ts +83 -0
  136. package/dist/context/manager.d.ts +99 -0
  137. package/dist/context/token-counter.d.ts +27 -0
  138. package/dist/coordinator-5HY7ALO2.js +7 -0
  139. package/dist/coordinator-INDLPVMF.cjs +7 -0
  140. package/dist/cost-tracker-IWYAUPXH.js +9 -0
  141. package/dist/cost-tracker-JXTJQQWE.cjs +9 -0
  142. package/dist/cron/scheduler.d.ts +34 -0
  143. package/dist/devtools-KIY3LWQJ.js +6 -0
  144. package/dist/devtools-LRP47DDV.cjs +6 -0
  145. package/dist/engine/cost-store.d.ts +22 -0
  146. package/dist/engine/engine.d.ts +101 -0
  147. package/dist/engine/model-facade.d.ts +24 -0
  148. package/dist/engine/query.d.ts +50 -0
  149. package/dist/engine/streaming-tool-queue.d.ts +34 -0
  150. package/dist/engine/token-budget.d.ts +22 -0
  151. package/dist/engine/tool-summary.d.ts +13 -0
  152. package/dist/engine/turn-loop.d.ts +62 -0
  153. package/dist/engine/turn-state.d.ts +14 -0
  154. package/dist/exceptions.d.ts +44 -0
  155. package/dist/file-history-HZWO2WQ5.js +7 -0
  156. package/dist/file-history-UQQILIY7.cjs +7 -0
  157. package/dist/git/utils.d.ts +35 -0
  158. package/dist/git/worktree.d.ts +36 -0
  159. package/dist/hooks/events.d.ts +35 -0
  160. package/dist/hooks/registry.d.ts +15 -0
  161. package/dist/index.cjs +336 -0
  162. package/dist/index.d.ts +64 -0
  163. package/dist/index.js +336 -0
  164. package/dist/ink/Ansi.d.ts +10 -0
  165. package/dist/ink/bidi.d.ts +15 -0
  166. package/dist/ink/clearTerminal.d.ts +13 -0
  167. package/dist/ink/colorize.d.ts +16 -0
  168. package/dist/ink/components/AlternateScreen.d.ts +21 -0
  169. package/dist/ink/components/App.d.ts +70 -0
  170. package/dist/ink/components/AppContext.d.ts +11 -0
  171. package/dist/ink/components/Box.d.ts +49 -0
  172. package/dist/ink/components/Button.d.ts +36 -0
  173. package/dist/ink/components/ClockContext.d.ts +9 -0
  174. package/dist/ink/components/CursorDeclarationContext.d.ts +22 -0
  175. package/dist/ink/components/ErrorOverview.d.ts +5 -0
  176. package/dist/ink/components/Link.d.ts +7 -0
  177. package/dist/ink/components/Newline.d.ts +12 -0
  178. package/dist/ink/components/NoSelect.d.ts +19 -0
  179. package/dist/ink/components/RawAnsi.d.ts +16 -0
  180. package/dist/ink/components/ScrollBox.d.ts +78 -0
  181. package/dist/ink/components/Spacer.d.ts +5 -0
  182. package/dist/ink/components/StdinContext.d.ts +27 -0
  183. package/dist/ink/components/TerminalFocusContext.d.ts +10 -0
  184. package/dist/ink/components/TerminalSizeContext.d.ts +5 -0
  185. package/dist/ink/components/Text.d.ts +55 -0
  186. package/dist/ink/constants.d.ts +1 -0
  187. package/dist/ink/cursor.d.ts +8 -0
  188. package/dist/ink/devtools.d.ts +5 -0
  189. package/dist/ink/dom.d.ts +76 -0
  190. package/dist/ink/events/click-event.d.ts +31 -0
  191. package/dist/ink/events/dispatcher.d.ts +40 -0
  192. package/dist/ink/events/emitter.d.ts +5 -0
  193. package/dist/ink/events/event-handlers.d.ts +46 -0
  194. package/dist/ink/events/event.d.ts +5 -0
  195. package/dist/ink/events/focus-event.d.ts +13 -0
  196. package/dist/ink/events/input-event.d.ts +30 -0
  197. package/dist/ink/events/keyboard-event.d.ts +19 -0
  198. package/dist/ink/events/paste-event.d.ts +8 -0
  199. package/dist/ink/events/resize-event.d.ts +9 -0
  200. package/dist/ink/events/terminal-event.d.ts +54 -0
  201. package/dist/ink/events/terminal-focus-event.d.ts +13 -0
  202. package/dist/ink/focus.d.ts +43 -0
  203. package/dist/ink/frame.d.ts +94 -0
  204. package/dist/ink/get-max-width.d.ts +17 -0
  205. package/dist/ink/hit-test.d.ts +33 -0
  206. package/dist/ink/hooks/use-animation-frame.d.ts +26 -0
  207. package/dist/ink/hooks/use-app.d.ts +5 -0
  208. package/dist/ink/hooks/use-declared-cursor.d.ts +26 -0
  209. package/dist/ink/hooks/use-input.d.ts +37 -0
  210. package/dist/ink/hooks/use-interval.d.ts +18 -0
  211. package/dist/ink/hooks/use-search-highlight.d.ts +30 -0
  212. package/dist/ink/hooks/use-selection.d.ts +39 -0
  213. package/dist/ink/hooks/use-stdin.d.ts +5 -0
  214. package/dist/ink/hooks/use-tab-status.d.ts +13 -0
  215. package/dist/ink/hooks/use-terminal-focus.d.ts +10 -0
  216. package/dist/ink/hooks/use-terminal-title.d.ts +12 -0
  217. package/dist/ink/hooks/use-terminal-viewport.d.ts +29 -0
  218. package/dist/ink/index.d.ts +20 -0
  219. package/dist/ink/ink.d.ts +369 -0
  220. package/dist/ink/instances.d.ts +3 -0
  221. package/dist/ink/layout/engine.d.ts +2 -0
  222. package/dist/ink/layout/geometry.d.ts +30 -0
  223. package/dist/ink/layout/node.d.ts +125 -0
  224. package/dist/ink/layout/yoga.d.ts +56 -0
  225. package/dist/ink/line-width-cache.d.ts +1 -0
  226. package/dist/ink/log-update.d.ts +17 -0
  227. package/dist/ink/measure-element.d.ts +16 -0
  228. package/dist/ink/measure-text.d.ts +6 -0
  229. package/dist/ink/node-cache.d.ts +20 -0
  230. package/dist/ink/optimizer.d.ts +15 -0
  231. package/dist/ink/output.d.ts +119 -0
  232. package/dist/ink/parse-keypress.d.ts +111 -0
  233. package/dist/ink/reconciler.d.ts +11 -0
  234. package/dist/ink/render-border.d.ts +24 -0
  235. package/dist/ink/render-node-to-output.d.ts +45 -0
  236. package/dist/ink/render-to-screen.d.ts +46 -0
  237. package/dist/ink/renderer.d.ts +14 -0
  238. package/dist/ink/root.d.ts +74 -0
  239. package/dist/ink/screen.d.ts +269 -0
  240. package/dist/ink/searchHighlight.d.ts +20 -0
  241. package/dist/ink/selection.d.ts +229 -0
  242. package/dist/ink/squash-text-nodes.d.ts +22 -0
  243. package/dist/ink/stringWidth.d.ts +1 -0
  244. package/dist/ink/styles.d.ts +306 -0
  245. package/dist/ink/supports-hyperlinks.d.ts +13 -0
  246. package/dist/ink/tabstops.d.ts +1 -0
  247. package/dist/ink/terminal-focus-state.d.ts +6 -0
  248. package/dist/ink/terminal-querier.d.ts +129 -0
  249. package/dist/ink/terminal.d.ts +46 -0
  250. package/dist/ink/termio/ansi.d.ts +65 -0
  251. package/dist/ink/termio/csi.d.ts +165 -0
  252. package/dist/ink/termio/dec.d.ts +37 -0
  253. package/dist/ink/termio/esc.d.ts +12 -0
  254. package/dist/ink/termio/osc.d.ts +173 -0
  255. package/dist/ink/termio/parser.d.ts +35 -0
  256. package/dist/ink/termio/sgr.d.ts +8 -0
  257. package/dist/ink/termio/tokenize.d.ts +45 -0
  258. package/dist/ink/termio/types.d.ts +190 -0
  259. package/dist/ink/termio.d.ts +24 -0
  260. package/dist/ink/useTerminalNotification.d.ts +28 -0
  261. package/dist/ink/warn.d.ts +1 -0
  262. package/dist/ink/widest-line.d.ts +1 -0
  263. package/dist/ink/wrap-text.d.ts +2 -0
  264. package/dist/ink/wrapAnsi.d.ts +7 -0
  265. package/dist/llm/client-base.d.ts +22 -0
  266. package/dist/llm/client-factory.d.ts +10 -0
  267. package/dist/llm/model-pool.d.ts +60 -0
  268. package/dist/llm/providers/anthropic.d.ts +19 -0
  269. package/dist/llm/providers/openai.d.ts +19 -0
  270. package/dist/llm/types.d.ts +21 -0
  271. package/dist/loader-DXFSUB4R.cjs +91 -0
  272. package/dist/loader-J5UID6CV.js +91 -0
  273. package/dist/logging/logger.d.ts +19 -0
  274. package/dist/lsp/client.d.ts +41 -0
  275. package/dist/lsp/manager.d.ts +40 -0
  276. package/dist/lsp/servers.d.ts +16 -0
  277. package/dist/manager-ETWDOCHN.cjs +9 -0
  278. package/dist/manager-HGMQNEJB.cjs +11 -0
  279. package/dist/manager-HUAQOORS.js +9 -0
  280. package/dist/manager-VJIZ2CQC.js +11 -0
  281. package/dist/mcp-manager-G4G2QASE.cjs +8 -0
  282. package/dist/mcp-manager-OKXHHWYR.js +8 -0
  283. package/dist/memory-AP747G5H.js +7 -0
  284. package/dist/memory-BH3BYUN5.cjs +7 -0
  285. package/dist/native-ts/yoga-layout/enums.d.ts +117 -0
  286. package/dist/native-ts/yoga-layout/index.d.ts +270 -0
  287. package/dist/onboarding-6WEPV7C2.js +11 -0
  288. package/dist/onboarding-QM5DY2TU.cjs +11 -0
  289. package/dist/openai-5HQGBL4L.js +9 -0
  290. package/dist/openai-656VWUQW.cjs +9 -0
  291. package/dist/plugins/loader.d.ts +72 -0
  292. package/dist/plugins/types.d.ts +4 -0
  293. package/dist/preset/index.d.ts +60 -0
  294. package/dist/product/define.d.ts +60 -0
  295. package/dist/product/index.cjs +23 -0
  296. package/dist/product/index.d.ts +5 -0
  297. package/dist/product/index.js +23 -0
  298. package/dist/product/types.d.ts +116 -0
  299. package/dist/prompt/composer.d.ts +42 -0
  300. package/dist/prompt/instruction-scanner.d.ts +54 -0
  301. package/dist/prompt/section-cache.d.ts +15 -0
  302. package/dist/prompt/section-loader.d.ts +26 -0
  303. package/dist/protocol/client.d.ts +64 -0
  304. package/dist/protocol/index.d.ts +4 -0
  305. package/dist/protocol/server.d.ts +49 -0
  306. package/dist/protocol/transport.d.ts +36 -0
  307. package/dist/protocol/types.d.ts +150 -0
  308. package/dist/react-compiler-runtime-shim.d.ts +1 -0
  309. package/dist/remote/bridge.d.ts +37 -0
  310. package/dist/run/ArtifactTracker.d.ts +38 -0
  311. package/dist/run/CheckpointWriter.d.ts +53 -0
  312. package/dist/run/EngineRunner.d.ts +70 -0
  313. package/dist/run/Evaluator.d.ts +56 -0
  314. package/dist/run/FileRunStore.d.ts +39 -0
  315. package/dist/run/Heartbeat.d.ts +54 -0
  316. package/dist/run/RunApprovalBackend.d.ts +53 -0
  317. package/dist/run/RunLock.d.ts +40 -0
  318. package/dist/run/RunManager.d.ts +76 -0
  319. package/dist/run/RunQueue.d.ts +27 -0
  320. package/dist/run/RunStore.d.ts +25 -0
  321. package/dist/run/factory.d.ts +57 -0
  322. package/dist/run/index.cjs +50 -0
  323. package/dist/run/index.d.ts +17 -0
  324. package/dist/run/index.js +50 -0
  325. package/dist/run/types.d.ts +136 -0
  326. package/dist/services/analytics.d.ts +29 -0
  327. package/dist/services/auto-dream.d.ts +35 -0
  328. package/dist/services/compact.d.ts +56 -0
  329. package/dist/services/diagnostics.d.ts +41 -0
  330. package/dist/services/extract-memories.d.ts +27 -0
  331. package/dist/services/index.d.ts +11 -0
  332. package/dist/services/notifier.d.ts +25 -0
  333. package/dist/services/oauth.d.ts +27 -0
  334. package/dist/services/session-memory.d.ts +37 -0
  335. package/dist/session/file-history.d.ts +41 -0
  336. package/dist/session/memory.d.ts +45 -0
  337. package/dist/session/session-manager.d.ts +23 -0
  338. package/dist/session/transcript.d.ts +39 -0
  339. package/dist/session-manager-JIIBCFTC.js +8 -0
  340. package/dist/session-manager-UQKB564H.cjs +8 -0
  341. package/dist/settings/manager.d.ts +27 -0
  342. package/dist/settings/schema.d.ts +676 -0
  343. package/dist/skills/index.d.ts +7 -0
  344. package/dist/skills/matcher.d.ts +21 -0
  345. package/dist/skills/scanner.d.ts +30 -0
  346. package/dist/skills-63RBYQRX.js +13 -0
  347. package/dist/skills-V3BPLW3D.cjs +13 -0
  348. package/dist/token-counter-CHAXW5O7.cjs +13 -0
  349. package/dist/token-counter-DSOZGZ5Q.js +13 -0
  350. package/dist/tool-summary-5P2GKRA4.cjs +31 -0
  351. package/dist/tool-summary-J2ICNMWP.js +31 -0
  352. package/dist/tool-system/builtin/agent.d.ts +35 -0
  353. package/dist/tool-system/builtin/arena.d.ts +18 -0
  354. package/dist/tool-system/builtin/ask-user.d.ts +12 -0
  355. package/dist/tool-system/builtin/bash.d.ts +6 -0
  356. package/dist/tool-system/builtin/brief.d.ts +6 -0
  357. package/dist/tool-system/builtin/config.d.ts +6 -0
  358. package/dist/tool-system/builtin/cron.d.ts +10 -0
  359. package/dist/tool-system/builtin/edit.d.ts +6 -0
  360. package/dist/tool-system/builtin/file-cache.d.ts +11 -0
  361. package/dist/tool-system/builtin/glob.d.ts +6 -0
  362. package/dist/tool-system/builtin/grep.d.ts +6 -0
  363. package/dist/tool-system/builtin/index.d.ts +10 -0
  364. package/dist/tool-system/builtin/lsp.d.ts +6 -0
  365. package/dist/tool-system/builtin/mcp-tools.d.ts +10 -0
  366. package/dist/tool-system/builtin/notebook-edit.d.ts +6 -0
  367. package/dist/tool-system/builtin/plan.d.ts +18 -0
  368. package/dist/tool-system/builtin/powershell.d.ts +6 -0
  369. package/dist/tool-system/builtin/read.d.ts +6 -0
  370. package/dist/tool-system/builtin/remote-trigger.d.ts +6 -0
  371. package/dist/tool-system/builtin/repl.d.ts +6 -0
  372. package/dist/tool-system/builtin/send-message.d.ts +6 -0
  373. package/dist/tool-system/builtin/skill.d.ts +6 -0
  374. package/dist/tool-system/builtin/sleep.d.ts +6 -0
  375. package/dist/tool-system/builtin/task.d.ts +51 -0
  376. package/dist/tool-system/builtin/tool-search.d.ts +12 -0
  377. package/dist/tool-system/builtin/web-fetch.d.ts +6 -0
  378. package/dist/tool-system/builtin/web-search.d.ts +6 -0
  379. package/dist/tool-system/builtin/worktree.d.ts +10 -0
  380. package/dist/tool-system/builtin/write.d.ts +6 -0
  381. package/dist/tool-system/executor.d.ts +25 -0
  382. package/dist/tool-system/mcp-manager.d.ts +50 -0
  383. package/dist/tool-system/permission.d.ts +69 -0
  384. package/dist/tool-system/registry.d.ts +24 -0
  385. package/dist/tool-system/validation.d.ts +5 -0
  386. package/dist/types.d.ts +260 -0
  387. package/dist/ui/App.d.ts +14 -0
  388. package/dist/ui/components/AgentBlock.d.ts +32 -0
  389. package/dist/ui/components/BabyHand.d.ts +1 -0
  390. package/dist/ui/components/Banner.d.ts +8 -0
  391. package/dist/ui/components/CodeBlock.d.ts +7 -0
  392. package/dist/ui/components/CommandInput.d.ts +13 -0
  393. package/dist/ui/components/ContextUsageBar.d.ts +7 -0
  394. package/dist/ui/components/DiffView.d.ts +6 -0
  395. package/dist/ui/components/DogLogo.d.ts +1 -0
  396. package/dist/ui/components/FullscreenLayout.d.ts +51 -0
  397. package/dist/ui/components/KunHead.d.ts +1 -0
  398. package/dist/ui/components/KunLogo.d.ts +1 -0
  399. package/dist/ui/components/MessageContent.d.ts +22 -0
  400. package/dist/ui/components/PermissionDialog.d.ts +8 -0
  401. package/dist/ui/components/PermissionPrompt.d.ts +8 -0
  402. package/dist/ui/components/ScrollView.d.ts +34 -0
  403. package/dist/ui/components/Spinner.d.ts +8 -0
  404. package/dist/ui/components/SpinnerWithVerb.d.ts +13 -0
  405. package/dist/ui/components/StatusLine.d.ts +22 -0
  406. package/dist/ui/components/StructuredDiff.d.ts +8 -0
  407. package/dist/ui/components/TaskList.d.ts +6 -0
  408. package/dist/ui/components/TextInput.d.ts +9 -0
  409. package/dist/ui/components/ThemedBox.d.ts +19 -0
  410. package/dist/ui/components/ThemedText.d.ts +26 -0
  411. package/dist/ui/components/ToolCall.d.ts +21 -0
  412. package/dist/ui/components/VirtualMessageList.d.ts +24 -0
  413. package/dist/ui/hooks/useCostSummary.d.ts +1 -0
  414. package/dist/ui/index.d.ts +12 -0
  415. package/dist/ui/input-history.d.ts +61 -0
  416. package/dist/ui/store.d.ts +82 -0
  417. package/dist/ui/terminal-renderer.d.ts +45 -0
  418. package/dist/ui/theme.d.ts +36 -0
  419. package/dist/ui/vim-mode.d.ts +25 -0
  420. package/dist/updater-AVD4LKTQ.js +183 -0
  421. package/dist/updater-URVNPDPW.cjs +183 -0
  422. package/dist/utils/debug.d.ts +57 -0
  423. package/dist/utils/earlyInput.d.ts +43 -0
  424. package/dist/utils/env.d.ts +24 -0
  425. package/dist/utils/envUtils.d.ts +51 -0
  426. package/dist/utils/execFileNoThrow.d.ts +39 -0
  427. package/dist/utils/format.d.ts +44 -0
  428. package/dist/utils/fullscreen.d.ts +47 -0
  429. package/dist/utils/intl.d.ts +22 -0
  430. package/dist/utils/lockfile.d.ts +15 -0
  431. package/dist/utils/log.d.ts +56 -0
  432. package/dist/utils/semver.d.ts +5 -0
  433. package/dist/utils/sliceAnsi.d.ts +12 -0
  434. package/dist/utils/systemTheme.d.ts +40 -0
  435. package/dist/utils/theme.d.ts +91 -0
  436. package/dist/utils/toolDisplay.d.ts +31 -0
  437. package/dist/utils/truncate.d.ts +40 -0
  438. package/dist/voice/index.d.ts +35 -0
  439. package/dist/voice-KTZ7PAGO.js +80 -0
  440. package/dist/voice-KZE25GKB.cjs +80 -0
  441. package/package.json +130 -0
@@ -0,0 +1,224 @@
1
+ import {
2
+ logger
3
+ } from "./chunk-X4HAERTQ.js";
4
+ import {
5
+ init_esm_shims
6
+ } from "./chunk-DI7RDLOS.js";
7
+
8
+ // src/tool-system/mcp-manager.ts
9
+ init_esm_shims();
10
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
11
+ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
12
+ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
13
+ var MCPManager = class _MCPManager {
14
+ constructor(toolRegistry) {
15
+ this.toolRegistry = toolRegistry;
16
+ _MCPManager.instance = this;
17
+ }
18
+ static instance = null;
19
+ connections = /* @__PURE__ */ new Map();
20
+ static getInstance() {
21
+ if (!_MCPManager.instance) {
22
+ throw new Error("MCPManager not initialized. Connect to servers first.");
23
+ }
24
+ return _MCPManager.instance;
25
+ }
26
+ /**
27
+ * Connect to all configured MCP servers and register their tools.
28
+ */
29
+ async connectAll(servers) {
30
+ const entries = Object.entries(servers);
31
+ if (entries.length === 0) return;
32
+ const results = await Promise.allSettled(
33
+ entries.map(([name, config]) => this.connect(name, config))
34
+ );
35
+ for (let i = 0; i < results.length; i++) {
36
+ const result = results[i];
37
+ if (result.status === "rejected") {
38
+ logger.warn("mcp.connect_failed", {
39
+ server: entries[i][0],
40
+ error: result.reason.message
41
+ });
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * Connect to a single MCP server.
47
+ */
48
+ async connect(name, config) {
49
+ if (this.connections.has(name)) {
50
+ logger.info("mcp.already_connected", { server: name });
51
+ return;
52
+ }
53
+ logger.info("mcp.connecting", { server: name, transport: config.transport ?? "stdio" });
54
+ const client = new Client(
55
+ { name: "code-shell", version: "0.1.0" },
56
+ { capabilities: {} }
57
+ );
58
+ let transport;
59
+ const transportType = config.transport ?? "stdio";
60
+ if (transportType === "stdio") {
61
+ if (!config.command) {
62
+ throw new Error(`MCP server "${name}": command is required for stdio transport`);
63
+ }
64
+ transport = new StdioClientTransport({
65
+ command: config.command,
66
+ args: config.args,
67
+ env: config.env ? { ...process.env, ...config.env } : void 0
68
+ });
69
+ } else if (transportType === "streamable-http" || transportType === "sse") {
70
+ if (!config.url) {
71
+ throw new Error(`MCP server "${name}": url is required for ${transportType} transport`);
72
+ }
73
+ transport = new StreamableHTTPClientTransport(new URL(config.url), {
74
+ requestInit: config.headers ? { headers: config.headers } : void 0
75
+ });
76
+ } else {
77
+ throw new Error(`MCP server "${name}": unsupported transport "${transportType}"`);
78
+ }
79
+ const CONNECT_TIMEOUT_MS = 15e3;
80
+ let timeoutHandle;
81
+ try {
82
+ await new Promise((resolve, reject) => {
83
+ timeoutHandle = setTimeout(() => {
84
+ reject(new Error(`MCP server "${name}" connect timed out after ${CONNECT_TIMEOUT_MS}ms`));
85
+ }, CONNECT_TIMEOUT_MS);
86
+ client.connect(transport).then(
87
+ () => resolve(),
88
+ (err) => reject(err)
89
+ );
90
+ });
91
+ } catch (err) {
92
+ try {
93
+ await transport.close?.();
94
+ } catch {
95
+ }
96
+ throw err;
97
+ } finally {
98
+ if (timeoutHandle) clearTimeout(timeoutHandle);
99
+ }
100
+ this.connections.set(name, { client, serverName: name, transport });
101
+ await this.discoverTools(name, client);
102
+ logger.info("mcp.connected", { server: name });
103
+ }
104
+ /**
105
+ * Discover tools from an MCP server and register them.
106
+ */
107
+ async discoverTools(serverName, client) {
108
+ const result = await client.listTools();
109
+ for (const tool of result.tools) {
110
+ const registered = {
111
+ name: `mcp_${serverName}_${tool.name}`,
112
+ description: `[${serverName}] ${tool.description ?? tool.name}`,
113
+ inputSchema: tool.inputSchema ?? { type: "object", properties: {} },
114
+ source: "mcp",
115
+ serverName,
116
+ permissionDefault: "ask",
117
+ isConcurrencySafe: true,
118
+ isReadOnly: false
119
+ };
120
+ this.toolRegistry.registerTool(registered, async (args) => {
121
+ const callResult = await client.callTool({ name: tool.name, arguments: args });
122
+ const parts = [];
123
+ if (Array.isArray(callResult.content)) {
124
+ for (const item of callResult.content) {
125
+ if (typeof item === "object" && item !== null && "text" in item) {
126
+ parts.push(String(item.text));
127
+ } else if (typeof item === "string") {
128
+ parts.push(item);
129
+ }
130
+ }
131
+ }
132
+ return parts.join("\n") || "(no output)";
133
+ });
134
+ logger.info("mcp.tool_registered", { server: serverName, tool: registered.name });
135
+ }
136
+ }
137
+ /**
138
+ * Disconnect all MCP servers.
139
+ */
140
+ async disconnectAll() {
141
+ for (const [name, conn] of this.connections) {
142
+ try {
143
+ await conn.client.close();
144
+ logger.info("mcp.disconnected", { server: name });
145
+ } catch (err) {
146
+ logger.warn("mcp.disconnect_error", { server: name, error: err.message });
147
+ }
148
+ }
149
+ this.connections.clear();
150
+ }
151
+ /**
152
+ * List connected servers.
153
+ */
154
+ listServers() {
155
+ return [...this.connections.keys()];
156
+ }
157
+ /**
158
+ * Call a tool on a specific MCP server.
159
+ */
160
+ async callTool(serverName, toolName, args) {
161
+ const conn = this.connections.get(serverName);
162
+ if (!conn) {
163
+ throw new Error(`MCP server "${serverName}" is not connected.`);
164
+ }
165
+ const result = await conn.client.callTool({ name: toolName, arguments: args });
166
+ const parts = [];
167
+ if (Array.isArray(result.content)) {
168
+ for (const item of result.content) {
169
+ if (typeof item === "object" && item !== null && "text" in item) {
170
+ parts.push(String(item.text));
171
+ } else if (typeof item === "string") {
172
+ parts.push(item);
173
+ }
174
+ }
175
+ }
176
+ return parts.join("\n") || "(no output)";
177
+ }
178
+ /**
179
+ * List resources from MCP servers.
180
+ */
181
+ async listResources(serverName) {
182
+ const results = [];
183
+ const servers = serverName ? [serverName] : [...this.connections.keys()];
184
+ for (const name of servers) {
185
+ const conn = this.connections.get(name);
186
+ if (!conn) continue;
187
+ try {
188
+ const res = await conn.client.listResources();
189
+ for (const r of res.resources) {
190
+ results.push({
191
+ uri: r.uri,
192
+ name: r.name ?? r.uri,
193
+ description: r.description
194
+ });
195
+ }
196
+ } catch {
197
+ }
198
+ }
199
+ return results;
200
+ }
201
+ /**
202
+ * Read a resource from an MCP server.
203
+ */
204
+ async readResource(serverName, uri) {
205
+ const conn = this.connections.get(serverName);
206
+ if (!conn) {
207
+ throw new Error(`MCP server "${serverName}" is not connected.`);
208
+ }
209
+ const result = await conn.client.readResource({ uri });
210
+ const parts = [];
211
+ if (Array.isArray(result.contents)) {
212
+ for (const item of result.contents) {
213
+ if (typeof item === "object" && item !== null && "text" in item) {
214
+ parts.push(String(item.text));
215
+ }
216
+ }
217
+ }
218
+ return parts.join("\n") || "(no content)";
219
+ }
220
+ };
221
+
222
+ export {
223
+ MCPManager
224
+ };
@@ -0,0 +1,41 @@
1
+ import {
2
+ FileRunStore,
3
+ RunManager
4
+ } from "./chunk-7RMAR2Y3.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-DI7RDLOS.js";
8
+
9
+ // src/run/index.ts
10
+ init_esm_shims();
11
+
12
+ // src/run/factory.ts
13
+ init_esm_shims();
14
+ import { join } from "path";
15
+ import { homedir } from "os";
16
+ function createRunManager(options) {
17
+ const runsDir = options.runsDir ?? join(homedir(), ".code-shell", "runs");
18
+ const store = new FileRunStore(runsDir);
19
+ return new RunManager({
20
+ store,
21
+ executor: {
22
+ llm: options.llm,
23
+ maxTurns: options.maxTurns ?? 30,
24
+ maxContextTokens: options.maxContextTokens ?? 2e5,
25
+ permissionMode: options.permissionMode ?? "acceptEdits",
26
+ sessionStorageDir: options.sessionStorageDir,
27
+ mcpServers: options.mcpServers,
28
+ enabledBuiltinTools: options.enabledBuiltinTools,
29
+ disabledBuiltinTools: options.disabledBuiltinTools,
30
+ customSystemPrompt: options.customSystemPrompt,
31
+ appendSystemPrompt: options.appendSystemPrompt
32
+ },
33
+ concurrency: options.concurrency ?? 1,
34
+ runsDir,
35
+ evaluator: options.evaluator
36
+ });
37
+ }
38
+
39
+ export {
40
+ createRunManager
41
+ };
@@ -0,0 +1,224 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
+
3
+ var _chunkIMMTBZ33cjs = require('./chunk-IMMTBZ33.cjs');
4
+
5
+
6
+ var _chunkIJSHQGMPcjs = require('./chunk-IJSHQGMP.cjs');
7
+
8
+ // src/tool-system/mcp-manager.ts
9
+ _chunkIJSHQGMPcjs.init_cjs_shims.call(void 0, );
10
+ var _indexjs = require('@modelcontextprotocol/sdk/client/index.js');
11
+ var _stdiojs = require('@modelcontextprotocol/sdk/client/stdio.js');
12
+ var _streamableHttpjs = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
13
+ var MCPManager = (_class = class _MCPManager {
14
+ constructor(toolRegistry) {;_class.prototype.__init.call(this);
15
+ this.toolRegistry = toolRegistry;
16
+ _MCPManager.instance = this;
17
+ }
18
+ static __initStatic() {this.instance = null}
19
+ __init() {this.connections = /* @__PURE__ */ new Map()}
20
+ static getInstance() {
21
+ if (!_MCPManager.instance) {
22
+ throw new Error("MCPManager not initialized. Connect to servers first.");
23
+ }
24
+ return _MCPManager.instance;
25
+ }
26
+ /**
27
+ * Connect to all configured MCP servers and register their tools.
28
+ */
29
+ async connectAll(servers) {
30
+ const entries = Object.entries(servers);
31
+ if (entries.length === 0) return;
32
+ const results = await Promise.allSettled(
33
+ entries.map(([name, config]) => this.connect(name, config))
34
+ );
35
+ for (let i = 0; i < results.length; i++) {
36
+ const result = results[i];
37
+ if (result.status === "rejected") {
38
+ _chunkIMMTBZ33cjs.logger.warn("mcp.connect_failed", {
39
+ server: entries[i][0],
40
+ error: result.reason.message
41
+ });
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * Connect to a single MCP server.
47
+ */
48
+ async connect(name, config) {
49
+ if (this.connections.has(name)) {
50
+ _chunkIMMTBZ33cjs.logger.info("mcp.already_connected", { server: name });
51
+ return;
52
+ }
53
+ _chunkIMMTBZ33cjs.logger.info("mcp.connecting", { server: name, transport: _nullishCoalesce(config.transport, () => ( "stdio")) });
54
+ const client = new (0, _indexjs.Client)(
55
+ { name: "code-shell", version: "0.1.0" },
56
+ { capabilities: {} }
57
+ );
58
+ let transport;
59
+ const transportType = _nullishCoalesce(config.transport, () => ( "stdio"));
60
+ if (transportType === "stdio") {
61
+ if (!config.command) {
62
+ throw new Error(`MCP server "${name}": command is required for stdio transport`);
63
+ }
64
+ transport = new (0, _stdiojs.StdioClientTransport)({
65
+ command: config.command,
66
+ args: config.args,
67
+ env: config.env ? { ...process.env, ...config.env } : void 0
68
+ });
69
+ } else if (transportType === "streamable-http" || transportType === "sse") {
70
+ if (!config.url) {
71
+ throw new Error(`MCP server "${name}": url is required for ${transportType} transport`);
72
+ }
73
+ transport = new (0, _streamableHttpjs.StreamableHTTPClientTransport)(new URL(config.url), {
74
+ requestInit: config.headers ? { headers: config.headers } : void 0
75
+ });
76
+ } else {
77
+ throw new Error(`MCP server "${name}": unsupported transport "${transportType}"`);
78
+ }
79
+ const CONNECT_TIMEOUT_MS = 15e3;
80
+ let timeoutHandle;
81
+ try {
82
+ await new Promise((resolve, reject) => {
83
+ timeoutHandle = setTimeout(() => {
84
+ reject(new Error(`MCP server "${name}" connect timed out after ${CONNECT_TIMEOUT_MS}ms`));
85
+ }, CONNECT_TIMEOUT_MS);
86
+ client.connect(transport).then(
87
+ () => resolve(),
88
+ (err) => reject(err)
89
+ );
90
+ });
91
+ } catch (err) {
92
+ try {
93
+ await _optionalChain([transport, 'access', _ => _.close, 'optionalCall', _2 => _2()]);
94
+ } catch (e) {
95
+ }
96
+ throw err;
97
+ } finally {
98
+ if (timeoutHandle) clearTimeout(timeoutHandle);
99
+ }
100
+ this.connections.set(name, { client, serverName: name, transport });
101
+ await this.discoverTools(name, client);
102
+ _chunkIMMTBZ33cjs.logger.info("mcp.connected", { server: name });
103
+ }
104
+ /**
105
+ * Discover tools from an MCP server and register them.
106
+ */
107
+ async discoverTools(serverName, client) {
108
+ const result = await client.listTools();
109
+ for (const tool of result.tools) {
110
+ const registered = {
111
+ name: `mcp_${serverName}_${tool.name}`,
112
+ description: `[${serverName}] ${_nullishCoalesce(tool.description, () => ( tool.name))}`,
113
+ inputSchema: _nullishCoalesce(tool.inputSchema, () => ( { type: "object", properties: {} })),
114
+ source: "mcp",
115
+ serverName,
116
+ permissionDefault: "ask",
117
+ isConcurrencySafe: true,
118
+ isReadOnly: false
119
+ };
120
+ this.toolRegistry.registerTool(registered, async (args) => {
121
+ const callResult = await client.callTool({ name: tool.name, arguments: args });
122
+ const parts = [];
123
+ if (Array.isArray(callResult.content)) {
124
+ for (const item of callResult.content) {
125
+ if (typeof item === "object" && item !== null && "text" in item) {
126
+ parts.push(String(item.text));
127
+ } else if (typeof item === "string") {
128
+ parts.push(item);
129
+ }
130
+ }
131
+ }
132
+ return parts.join("\n") || "(no output)";
133
+ });
134
+ _chunkIMMTBZ33cjs.logger.info("mcp.tool_registered", { server: serverName, tool: registered.name });
135
+ }
136
+ }
137
+ /**
138
+ * Disconnect all MCP servers.
139
+ */
140
+ async disconnectAll() {
141
+ for (const [name, conn] of this.connections) {
142
+ try {
143
+ await conn.client.close();
144
+ _chunkIMMTBZ33cjs.logger.info("mcp.disconnected", { server: name });
145
+ } catch (err) {
146
+ _chunkIMMTBZ33cjs.logger.warn("mcp.disconnect_error", { server: name, error: err.message });
147
+ }
148
+ }
149
+ this.connections.clear();
150
+ }
151
+ /**
152
+ * List connected servers.
153
+ */
154
+ listServers() {
155
+ return [...this.connections.keys()];
156
+ }
157
+ /**
158
+ * Call a tool on a specific MCP server.
159
+ */
160
+ async callTool(serverName, toolName, args) {
161
+ const conn = this.connections.get(serverName);
162
+ if (!conn) {
163
+ throw new Error(`MCP server "${serverName}" is not connected.`);
164
+ }
165
+ const result = await conn.client.callTool({ name: toolName, arguments: args });
166
+ const parts = [];
167
+ if (Array.isArray(result.content)) {
168
+ for (const item of result.content) {
169
+ if (typeof item === "object" && item !== null && "text" in item) {
170
+ parts.push(String(item.text));
171
+ } else if (typeof item === "string") {
172
+ parts.push(item);
173
+ }
174
+ }
175
+ }
176
+ return parts.join("\n") || "(no output)";
177
+ }
178
+ /**
179
+ * List resources from MCP servers.
180
+ */
181
+ async listResources(serverName) {
182
+ const results = [];
183
+ const servers = serverName ? [serverName] : [...this.connections.keys()];
184
+ for (const name of servers) {
185
+ const conn = this.connections.get(name);
186
+ if (!conn) continue;
187
+ try {
188
+ const res = await conn.client.listResources();
189
+ for (const r of res.resources) {
190
+ results.push({
191
+ uri: r.uri,
192
+ name: _nullishCoalesce(r.name, () => ( r.uri)),
193
+ description: r.description
194
+ });
195
+ }
196
+ } catch (e2) {
197
+ }
198
+ }
199
+ return results;
200
+ }
201
+ /**
202
+ * Read a resource from an MCP server.
203
+ */
204
+ async readResource(serverName, uri) {
205
+ const conn = this.connections.get(serverName);
206
+ if (!conn) {
207
+ throw new Error(`MCP server "${serverName}" is not connected.`);
208
+ }
209
+ const result = await conn.client.readResource({ uri });
210
+ const parts = [];
211
+ if (Array.isArray(result.contents)) {
212
+ for (const item of result.contents) {
213
+ if (typeof item === "object" && item !== null && "text" in item) {
214
+ parts.push(String(item.text));
215
+ }
216
+ }
217
+ }
218
+ return parts.join("\n") || "(no content)";
219
+ }
220
+ }, _class.__initStatic(), _class);
221
+
222
+
223
+
224
+ exports.MCPManager = MCPManager;
@@ -0,0 +1,80 @@
1
+ import {
2
+ init_esm_shims
3
+ } from "./chunk-DI7RDLOS.js";
4
+
5
+ // src/agent/coordinator.ts
6
+ init_esm_shims();
7
+ var AgentCoordinator = class {
8
+ agents = /* @__PURE__ */ new Map();
9
+ inbox = /* @__PURE__ */ new Map();
10
+ /** Register a named agent. */
11
+ register(id, name, description) {
12
+ this.agents.set(name, {
13
+ id,
14
+ name,
15
+ status: "running",
16
+ description,
17
+ startedAt: Date.now()
18
+ });
19
+ if (!this.inbox.has(name)) {
20
+ this.inbox.set(name, []);
21
+ }
22
+ }
23
+ /** Mark an agent as completed. */
24
+ complete(name, result) {
25
+ const agent = this.agents.get(name);
26
+ if (agent) {
27
+ agent.status = "completed";
28
+ agent.completedAt = Date.now();
29
+ agent.result = result;
30
+ }
31
+ }
32
+ /** Mark an agent as failed. */
33
+ fail(name) {
34
+ const agent = this.agents.get(name);
35
+ if (agent) {
36
+ agent.status = "failed";
37
+ agent.completedAt = Date.now();
38
+ }
39
+ }
40
+ /** Get agent info by name. */
41
+ get(name) {
42
+ return this.agents.get(name);
43
+ }
44
+ /** List all agents. */
45
+ list() {
46
+ return [...this.agents.values()];
47
+ }
48
+ /** List active (running) agents. */
49
+ listActive() {
50
+ return [...this.agents.values()].filter((a) => a.status === "running");
51
+ }
52
+ /** Send a message to a named agent. */
53
+ send(from, to, content) {
54
+ if (!this.agents.has(to)) return false;
55
+ const messages = this.inbox.get(to) ?? [];
56
+ messages.push({ from, to, content, timestamp: Date.now() });
57
+ this.inbox.set(to, messages);
58
+ return true;
59
+ }
60
+ /** Read messages for a named agent (drains the inbox). */
61
+ receive(name) {
62
+ const messages = this.inbox.get(name) ?? [];
63
+ this.inbox.set(name, []);
64
+ return messages;
65
+ }
66
+ /** Peek at messages without draining. */
67
+ peek(name) {
68
+ return this.inbox.get(name) ?? [];
69
+ }
70
+ /** Reset all state. */
71
+ reset() {
72
+ this.agents.clear();
73
+ this.inbox.clear();
74
+ }
75
+ };
76
+ var agentCoordinator = new AgentCoordinator();
77
+
78
+ export {
79
+ agentCoordinator
80
+ };
@@ -0,0 +1,132 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkIJSHQGMPcjs = require('./chunk-IJSHQGMP.cjs');
4
+
5
+ // src/skills/index.ts
6
+ _chunkIJSHQGMPcjs.init_cjs_shims.call(void 0, );
7
+
8
+ // src/skills/scanner.ts
9
+ _chunkIJSHQGMPcjs.init_cjs_shims.call(void 0, );
10
+ var _fs = require('fs');
11
+ var _path = require('path');
12
+ var _os = require('os');
13
+ function scanSkills(cwd) {
14
+ const skills = [];
15
+ const seen = /* @__PURE__ */ new Set();
16
+ const dirs = [
17
+ // Project-level
18
+ _path.join.call(void 0, cwd, ".code-shell", "skills"),
19
+ _path.join.call(void 0, cwd, ".claude", "skills"),
20
+ // User-level
21
+ _path.join.call(void 0, _os.homedir.call(void 0, ), ".code-shell", "skills"),
22
+ _path.join.call(void 0, _os.homedir.call(void 0, ), ".claude", "skills")
23
+ ];
24
+ for (const dir of dirs) {
25
+ if (!_fs.existsSync.call(void 0, dir)) continue;
26
+ try {
27
+ const files = _fs.readdirSync.call(void 0, dir).filter(
28
+ (f) => f.endsWith(".md") && _fs.statSync.call(void 0, _path.join.call(void 0, dir, f)).isFile()
29
+ );
30
+ for (const file of files) {
31
+ const filePath = _path.resolve.call(void 0, _path.join.call(void 0, dir, file));
32
+ if (seen.has(filePath)) continue;
33
+ seen.add(filePath);
34
+ const skill = parseSkillFile(filePath);
35
+ if (skill) skills.push(skill);
36
+ }
37
+ } catch (e) {
38
+ }
39
+ }
40
+ return skills;
41
+ }
42
+ function parseSkillFile(filePath) {
43
+ try {
44
+ const raw = _fs.readFileSync.call(void 0, filePath, "utf-8");
45
+ const match = raw.match(/^---\n([\s\S]*?)\n---\n\n?([\s\S]*)$/);
46
+ if (!match) return null;
47
+ const frontmatter = match[1];
48
+ const content = match[2].trim();
49
+ const name = extractField(frontmatter, "name");
50
+ if (!name) return null;
51
+ const description = _nullishCoalesce(extractField(frontmatter, "description"), () => ( ""));
52
+ const whenToUse = _nullishCoalesce(extractField(frontmatter, "when_to_use"), () => ( ""));
53
+ const keywords = extractList(frontmatter, "keywords");
54
+ const tools = extractList(frontmatter, "tools");
55
+ const intents = extractList(frontmatter, "intents");
56
+ return {
57
+ name,
58
+ description,
59
+ triggers: { keywords, tools, intents },
60
+ whenToUse,
61
+ content,
62
+ filePath
63
+ };
64
+ } catch (e2) {
65
+ return null;
66
+ }
67
+ }
68
+ function extractField(frontmatter, field) {
69
+ const match = frontmatter.match(new RegExp(`^${field}:\\s*(.+)$`, "m"));
70
+ return _optionalChain([match, 'optionalAccess', _ => _[1], 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
71
+ }
72
+ function extractList(frontmatter, field) {
73
+ const match = frontmatter.match(new RegExp(`${field}:\\s*\\[([^\\]]+)\\]`));
74
+ if (!match) return [];
75
+ return match[1].split(",").map((s) => s.trim().replace(/^['"]|['"]$/g, ""));
76
+ }
77
+
78
+ // src/skills/matcher.ts
79
+ _chunkIJSHQGMPcjs.init_cjs_shims.call(void 0, );
80
+ function matchSkillsByInput(skills, input) {
81
+ const inputLower = input.toLowerCase();
82
+ const results = [];
83
+ for (const skill of skills) {
84
+ let bestScore = 0;
85
+ let matchedBy = "";
86
+ if (skill.triggers.keywords) {
87
+ for (const kw of skill.triggers.keywords) {
88
+ if (inputLower.includes(kw.toLowerCase())) {
89
+ const score = kw.length / input.length * 10 + 5;
90
+ if (score > bestScore) {
91
+ bestScore = score;
92
+ matchedBy = "keyword";
93
+ }
94
+ }
95
+ }
96
+ }
97
+ if (skill.triggers.intents) {
98
+ for (const intent of skill.triggers.intents) {
99
+ if (inputLower.includes(intent.toLowerCase())) {
100
+ const score = 8;
101
+ if (score > bestScore) {
102
+ bestScore = score;
103
+ matchedBy = "intent";
104
+ }
105
+ }
106
+ }
107
+ }
108
+ if (bestScore > 0) {
109
+ results.push({ skill, score: bestScore, matchedBy });
110
+ }
111
+ }
112
+ return results.sort((a, b) => b.score - a.score);
113
+ }
114
+ function matchSkillsByTool(skills, toolName) {
115
+ return skills.filter((s) => _optionalChain([s, 'access', _4 => _4.triggers, 'access', _5 => _5.tools, 'optionalAccess', _6 => _6.includes, 'call', _7 => _7(toolName)])).map((skill) => ({ skill, score: 10, matchedBy: "tool" }));
116
+ }
117
+ function buildSkillListing(skills) {
118
+ if (skills.length === 0) return "";
119
+ const lines = skills.map(
120
+ (s) => `- **${s.name}**: ${s.description}${s.whenToUse ? ` \u2014 Use when: ${s.whenToUse}` : ""}`
121
+ );
122
+ return `# Available Skills
123
+
124
+ ${lines.join("\n")}`;
125
+ }
126
+
127
+
128
+
129
+
130
+
131
+
132
+ exports.scanSkills = scanSkills; exports.matchSkillsByInput = matchSkillsByInput; exports.matchSkillsByTool = matchSkillsByTool; exports.buildSkillListing = buildSkillListing;