@shuyhere/takotako 0.0.1

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 (653) hide show
  1. package/CONTRIBUTING.md +84 -0
  2. package/LICENSE +21 -0
  3. package/README.md +171 -0
  4. package/dist/agents/communication.d.ts +48 -0
  5. package/dist/agents/communication.d.ts.map +1 -0
  6. package/dist/agents/communication.js +123 -0
  7. package/dist/agents/communication.js.map +1 -0
  8. package/dist/agents/config.d.ts +52 -0
  9. package/dist/agents/config.d.ts.map +1 -0
  10. package/dist/agents/config.js +65 -0
  11. package/dist/agents/config.js.map +1 -0
  12. package/dist/agents/model-catalog.d.ts +49 -0
  13. package/dist/agents/model-catalog.d.ts.map +1 -0
  14. package/dist/agents/model-catalog.js +79 -0
  15. package/dist/agents/model-catalog.js.map +1 -0
  16. package/dist/agents/registry.d.ts +71 -0
  17. package/dist/agents/registry.d.ts.map +1 -0
  18. package/dist/agents/registry.js +297 -0
  19. package/dist/agents/registry.js.map +1 -0
  20. package/dist/agents/roles.d.ts +79 -0
  21. package/dist/agents/roles.d.ts.map +1 -0
  22. package/dist/agents/roles.js +174 -0
  23. package/dist/agents/roles.js.map +1 -0
  24. package/dist/agents/subagent.d.ts +124 -0
  25. package/dist/agents/subagent.d.ts.map +1 -0
  26. package/dist/agents/subagent.js +352 -0
  27. package/dist/agents/subagent.js.map +1 -0
  28. package/dist/agents/templates.d.ts +18 -0
  29. package/dist/agents/templates.d.ts.map +1 -0
  30. package/dist/agents/templates.js +341 -0
  31. package/dist/agents/templates.js.map +1 -0
  32. package/dist/agents/thread-binding.d.ts +77 -0
  33. package/dist/agents/thread-binding.d.ts.map +1 -0
  34. package/dist/agents/thread-binding.js +167 -0
  35. package/dist/agents/thread-binding.js.map +1 -0
  36. package/dist/auth/agent-profiles.d.ts +46 -0
  37. package/dist/auth/agent-profiles.d.ts.map +1 -0
  38. package/dist/auth/agent-profiles.js +97 -0
  39. package/dist/auth/agent-profiles.js.map +1 -0
  40. package/dist/auth/allow-from.d.ts +27 -0
  41. package/dist/auth/allow-from.d.ts.map +1 -0
  42. package/dist/auth/allow-from.js +118 -0
  43. package/dist/auth/allow-from.js.map +1 -0
  44. package/dist/auth/oauth.d.ts +66 -0
  45. package/dist/auth/oauth.d.ts.map +1 -0
  46. package/dist/auth/oauth.js +253 -0
  47. package/dist/auth/oauth.js.map +1 -0
  48. package/dist/auth/storage.d.ts +69 -0
  49. package/dist/auth/storage.d.ts.map +1 -0
  50. package/dist/auth/storage.js +157 -0
  51. package/dist/auth/storage.js.map +1 -0
  52. package/dist/cache/file-cache.d.ts +68 -0
  53. package/dist/cache/file-cache.d.ts.map +1 -0
  54. package/dist/cache/file-cache.js +176 -0
  55. package/dist/cache/file-cache.js.map +1 -0
  56. package/dist/cache/manager.d.ts +69 -0
  57. package/dist/cache/manager.d.ts.map +1 -0
  58. package/dist/cache/manager.js +117 -0
  59. package/dist/cache/manager.js.map +1 -0
  60. package/dist/cache/symbol-index.d.ts +75 -0
  61. package/dist/cache/symbol-index.d.ts.map +1 -0
  62. package/dist/cache/symbol-index.js +267 -0
  63. package/dist/cache/symbol-index.js.map +1 -0
  64. package/dist/cache/tool-cache.d.ts +75 -0
  65. package/dist/cache/tool-cache.d.ts.map +1 -0
  66. package/dist/cache/tool-cache.js +173 -0
  67. package/dist/cache/tool-cache.js.map +1 -0
  68. package/dist/channels/channel.d.ts +156 -0
  69. package/dist/channels/channel.d.ts.map +1 -0
  70. package/dist/channels/channel.js +25 -0
  71. package/dist/channels/channel.js.map +1 -0
  72. package/dist/channels/cli.d.ts +35 -0
  73. package/dist/channels/cli.d.ts.map +1 -0
  74. package/dist/channels/cli.js +94 -0
  75. package/dist/channels/cli.js.map +1 -0
  76. package/dist/channels/delivery-queue.d.ts +31 -0
  77. package/dist/channels/delivery-queue.d.ts.map +1 -0
  78. package/dist/channels/delivery-queue.js +127 -0
  79. package/dist/channels/delivery-queue.js.map +1 -0
  80. package/dist/channels/discord.d.ts +124 -0
  81. package/dist/channels/discord.d.ts.map +1 -0
  82. package/dist/channels/discord.js +664 -0
  83. package/dist/channels/discord.js.map +1 -0
  84. package/dist/channels/retry.d.ts +31 -0
  85. package/dist/channels/retry.d.ts.map +1 -0
  86. package/dist/channels/retry.js +94 -0
  87. package/dist/channels/retry.js.map +1 -0
  88. package/dist/channels/telegram.d.ts +69 -0
  89. package/dist/channels/telegram.d.ts.map +1 -0
  90. package/dist/channels/telegram.js +499 -0
  91. package/dist/channels/telegram.js.map +1 -0
  92. package/dist/channels/tui.d.ts +42 -0
  93. package/dist/channels/tui.d.ts.map +1 -0
  94. package/dist/channels/tui.js +126 -0
  95. package/dist/channels/tui.js.map +1 -0
  96. package/dist/cli/acp.d.ts +10 -0
  97. package/dist/cli/acp.d.ts.map +1 -0
  98. package/dist/cli/acp.js +69 -0
  99. package/dist/cli/acp.js.map +1 -0
  100. package/dist/cli/audit.d.ts +11 -0
  101. package/dist/cli/audit.d.ts.map +1 -0
  102. package/dist/cli/audit.js +55 -0
  103. package/dist/cli/audit.js.map +1 -0
  104. package/dist/cli/cache.d.ts +10 -0
  105. package/dist/cli/cache.d.ts.map +1 -0
  106. package/dist/cli/cache.js +77 -0
  107. package/dist/cli/cache.js.map +1 -0
  108. package/dist/cli/config.d.ts +5 -0
  109. package/dist/cli/config.d.ts.map +1 -0
  110. package/dist/cli/config.js +168 -0
  111. package/dist/cli/config.js.map +1 -0
  112. package/dist/cli/cron.d.ts +5 -0
  113. package/dist/cli/cron.d.ts.map +1 -0
  114. package/dist/cli/cron.js +192 -0
  115. package/dist/cli/cron.js.map +1 -0
  116. package/dist/cli/extensions.d.ts +5 -0
  117. package/dist/cli/extensions.d.ts.map +1 -0
  118. package/dist/cli/extensions.js +53 -0
  119. package/dist/cli/extensions.js.map +1 -0
  120. package/dist/cli/logs.d.ts +5 -0
  121. package/dist/cli/logs.d.ts.map +1 -0
  122. package/dist/cli/logs.js +49 -0
  123. package/dist/cli/logs.js.map +1 -0
  124. package/dist/cli/memory.d.ts +5 -0
  125. package/dist/cli/memory.d.ts.map +1 -0
  126. package/dist/cli/memory.js +78 -0
  127. package/dist/cli/memory.js.map +1 -0
  128. package/dist/cli/message.d.ts +5 -0
  129. package/dist/cli/message.d.ts.map +1 -0
  130. package/dist/cli/message.js +69 -0
  131. package/dist/cli/message.js.map +1 -0
  132. package/dist/cli/service.d.ts +14 -0
  133. package/dist/cli/service.d.ts.map +1 -0
  134. package/dist/cli/service.js +181 -0
  135. package/dist/cli/service.js.map +1 -0
  136. package/dist/cli/symphony.d.ts +5 -0
  137. package/dist/cli/symphony.d.ts.map +1 -0
  138. package/dist/cli/symphony.js +114 -0
  139. package/dist/cli/symphony.js.map +1 -0
  140. package/dist/cli/update.d.ts +5 -0
  141. package/dist/cli/update.d.ts.map +1 -0
  142. package/dist/cli/update.js +48 -0
  143. package/dist/cli/update.js.map +1 -0
  144. package/dist/commands/channel-setup.d.ts +31 -0
  145. package/dist/commands/channel-setup.d.ts.map +1 -0
  146. package/dist/commands/channel-setup.js +138 -0
  147. package/dist/commands/channel-setup.js.map +1 -0
  148. package/dist/commands/dispatch.d.ts +48 -0
  149. package/dist/commands/dispatch.d.ts.map +1 -0
  150. package/dist/commands/dispatch.js +68 -0
  151. package/dist/commands/dispatch.js.map +1 -0
  152. package/dist/commands/model-picker.d.ts +16 -0
  153. package/dist/commands/model-picker.d.ts.map +1 -0
  154. package/dist/commands/model-picker.js +120 -0
  155. package/dist/commands/model-picker.js.map +1 -0
  156. package/dist/commands/parser.d.ts +32 -0
  157. package/dist/commands/parser.d.ts.map +1 -0
  158. package/dist/commands/parser.js +39 -0
  159. package/dist/commands/parser.js.map +1 -0
  160. package/dist/commands/registry.d.ts +76 -0
  161. package/dist/commands/registry.d.ts.map +1 -0
  162. package/dist/commands/registry.js +351 -0
  163. package/dist/commands/registry.js.map +1 -0
  164. package/dist/commands/skill-commands.d.ts +35 -0
  165. package/dist/commands/skill-commands.d.ts.map +1 -0
  166. package/dist/commands/skill-commands.js +61 -0
  167. package/dist/commands/skill-commands.js.map +1 -0
  168. package/dist/config/resolve.d.ts +25 -0
  169. package/dist/config/resolve.d.ts.map +1 -0
  170. package/dist/config/resolve.js +289 -0
  171. package/dist/config/resolve.js.map +1 -0
  172. package/dist/config/schema.d.ts +520 -0
  173. package/dist/config/schema.d.ts.map +1 -0
  174. package/dist/config/schema.js +123 -0
  175. package/dist/config/schema.js.map +1 -0
  176. package/dist/core/agent-loop.d.ts +137 -0
  177. package/dist/core/agent-loop.d.ts.map +1 -0
  178. package/dist/core/agent-loop.js +700 -0
  179. package/dist/core/agent-loop.js.map +1 -0
  180. package/dist/core/audit.d.ts +87 -0
  181. package/dist/core/audit.d.ts.map +1 -0
  182. package/dist/core/audit.js +224 -0
  183. package/dist/core/audit.js.map +1 -0
  184. package/dist/core/bootstrap.d.ts +23 -0
  185. package/dist/core/bootstrap.d.ts.map +1 -0
  186. package/dist/core/bootstrap.js +162 -0
  187. package/dist/core/bootstrap.js.map +1 -0
  188. package/dist/core/context.d.ts +44 -0
  189. package/dist/core/context.d.ts.map +1 -0
  190. package/dist/core/context.js +65 -0
  191. package/dist/core/context.js.map +1 -0
  192. package/dist/core/cron.d.ts +111 -0
  193. package/dist/core/cron.d.ts.map +1 -0
  194. package/dist/core/cron.js +284 -0
  195. package/dist/core/cron.js.map +1 -0
  196. package/dist/core/exec-approvals.d.ts +50 -0
  197. package/dist/core/exec-approvals.d.ts.map +1 -0
  198. package/dist/core/exec-approvals.js +187 -0
  199. package/dist/core/exec-approvals.js.map +1 -0
  200. package/dist/core/heartbeat.d.ts +71 -0
  201. package/dist/core/heartbeat.d.ts.map +1 -0
  202. package/dist/core/heartbeat.js +214 -0
  203. package/dist/core/heartbeat.js.map +1 -0
  204. package/dist/core/message-queue.d.ts +60 -0
  205. package/dist/core/message-queue.d.ts.map +1 -0
  206. package/dist/core/message-queue.js +182 -0
  207. package/dist/core/message-queue.js.map +1 -0
  208. package/dist/core/network-policy.d.ts +39 -0
  209. package/dist/core/network-policy.d.ts.map +1 -0
  210. package/dist/core/network-policy.js +121 -0
  211. package/dist/core/network-policy.js.map +1 -0
  212. package/dist/core/progress.d.ts +48 -0
  213. package/dist/core/progress.d.ts.map +1 -0
  214. package/dist/core/progress.js +81 -0
  215. package/dist/core/progress.js.map +1 -0
  216. package/dist/core/prompt.d.ts +105 -0
  217. package/dist/core/prompt.d.ts.map +1 -0
  218. package/dist/core/prompt.js +411 -0
  219. package/dist/core/prompt.js.map +1 -0
  220. package/dist/core/pruning.d.ts +40 -0
  221. package/dist/core/pruning.d.ts.map +1 -0
  222. package/dist/core/pruning.js +165 -0
  223. package/dist/core/pruning.js.map +1 -0
  224. package/dist/core/rate-limiter.d.ts +64 -0
  225. package/dist/core/rate-limiter.d.ts.map +1 -0
  226. package/dist/core/rate-limiter.js +142 -0
  227. package/dist/core/rate-limiter.js.map +1 -0
  228. package/dist/core/reactions.d.ts +31 -0
  229. package/dist/core/reactions.d.ts.map +1 -0
  230. package/dist/core/reactions.js +67 -0
  231. package/dist/core/reactions.js.map +1 -0
  232. package/dist/core/retry-queue.d.ts +56 -0
  233. package/dist/core/retry-queue.d.ts.map +1 -0
  234. package/dist/core/retry-queue.js +106 -0
  235. package/dist/core/retry-queue.js.map +1 -0
  236. package/dist/core/sanitizer.d.ts +38 -0
  237. package/dist/core/sanitizer.d.ts.map +1 -0
  238. package/dist/core/sanitizer.js +181 -0
  239. package/dist/core/sanitizer.js.map +1 -0
  240. package/dist/core/secret-scanner.d.ts +39 -0
  241. package/dist/core/secret-scanner.d.ts.map +1 -0
  242. package/dist/core/secret-scanner.js +96 -0
  243. package/dist/core/secret-scanner.js.map +1 -0
  244. package/dist/core/secrets.d.ts +38 -0
  245. package/dist/core/secrets.d.ts.map +1 -0
  246. package/dist/core/secrets.js +137 -0
  247. package/dist/core/secrets.js.map +1 -0
  248. package/dist/core/security.d.ts +58 -0
  249. package/dist/core/security.d.ts.map +1 -0
  250. package/dist/core/security.js +120 -0
  251. package/dist/core/security.js.map +1 -0
  252. package/dist/core/self-awareness.d.ts +19 -0
  253. package/dist/core/self-awareness.d.ts.map +1 -0
  254. package/dist/core/self-awareness.js +124 -0
  255. package/dist/core/self-awareness.js.map +1 -0
  256. package/dist/core/session-init.d.ts +34 -0
  257. package/dist/core/session-init.d.ts.map +1 -0
  258. package/dist/core/session-init.js +68 -0
  259. package/dist/core/session-init.js.map +1 -0
  260. package/dist/core/streaming.d.ts +82 -0
  261. package/dist/core/streaming.d.ts.map +1 -0
  262. package/dist/core/streaming.js +264 -0
  263. package/dist/core/streaming.js.map +1 -0
  264. package/dist/core/symphony/orchestrator.d.ts +61 -0
  265. package/dist/core/symphony/orchestrator.d.ts.map +1 -0
  266. package/dist/core/symphony/orchestrator.js +476 -0
  267. package/dist/core/symphony/orchestrator.js.map +1 -0
  268. package/dist/core/symphony/status.d.ts +11 -0
  269. package/dist/core/symphony/status.d.ts.map +1 -0
  270. package/dist/core/symphony/status.js +133 -0
  271. package/dist/core/symphony/status.js.map +1 -0
  272. package/dist/core/symphony/types.d.ts +84 -0
  273. package/dist/core/symphony/types.d.ts.map +1 -0
  274. package/dist/core/symphony/types.js +5 -0
  275. package/dist/core/symphony/types.js.map +1 -0
  276. package/dist/core/symphony/workflow.d.ts +18 -0
  277. package/dist/core/symphony/workflow.d.ts.map +1 -0
  278. package/dist/core/symphony/workflow.js +149 -0
  279. package/dist/core/symphony/workflow.js.map +1 -0
  280. package/dist/core/symphony/workspace.d.ts +24 -0
  281. package/dist/core/symphony/workspace.d.ts.map +1 -0
  282. package/dist/core/symphony/workspace.js +94 -0
  283. package/dist/core/symphony/workspace.js.map +1 -0
  284. package/dist/core/thinking.d.ts +27 -0
  285. package/dist/core/thinking.d.ts.map +1 -0
  286. package/dist/core/thinking.js +83 -0
  287. package/dist/core/thinking.js.map +1 -0
  288. package/dist/core/thread-bindings.d.ts +47 -0
  289. package/dist/core/thread-bindings.d.ts.map +1 -0
  290. package/dist/core/thread-bindings.js +94 -0
  291. package/dist/core/thread-bindings.js.map +1 -0
  292. package/dist/core/timezone.d.ts +28 -0
  293. package/dist/core/timezone.d.ts.map +1 -0
  294. package/dist/core/timezone.js +72 -0
  295. package/dist/core/timezone.js.map +1 -0
  296. package/dist/core/tool-loop-detector.d.ts +41 -0
  297. package/dist/core/tool-loop-detector.d.ts.map +1 -0
  298. package/dist/core/tool-loop-detector.js +83 -0
  299. package/dist/core/tool-loop-detector.js.map +1 -0
  300. package/dist/core/tool-validator.d.ts +44 -0
  301. package/dist/core/tool-validator.d.ts.map +1 -0
  302. package/dist/core/tool-validator.js +175 -0
  303. package/dist/core/tool-validator.js.map +1 -0
  304. package/dist/core/typing.d.ts +25 -0
  305. package/dist/core/typing.d.ts.map +1 -0
  306. package/dist/core/typing.js +48 -0
  307. package/dist/core/typing.js.map +1 -0
  308. package/dist/core/usage-tracker.d.ts +66 -0
  309. package/dist/core/usage-tracker.d.ts.map +1 -0
  310. package/dist/core/usage-tracker.js +163 -0
  311. package/dist/core/usage-tracker.js.map +1 -0
  312. package/dist/daemon/commands.d.ts +16 -0
  313. package/dist/daemon/commands.d.ts.map +1 -0
  314. package/dist/daemon/commands.js +445 -0
  315. package/dist/daemon/commands.js.map +1 -0
  316. package/dist/daemon/pid.d.ts +30 -0
  317. package/dist/daemon/pid.d.ts.map +1 -0
  318. package/dist/daemon/pid.js +62 -0
  319. package/dist/daemon/pid.js.map +1 -0
  320. package/dist/doctor/checks/browser.d.ts +9 -0
  321. package/dist/doctor/checks/browser.d.ts.map +1 -0
  322. package/dist/doctor/checks/browser.js +54 -0
  323. package/dist/doctor/checks/browser.js.map +1 -0
  324. package/dist/doctor/checks/channels.d.ts +9 -0
  325. package/dist/doctor/checks/channels.d.ts.map +1 -0
  326. package/dist/doctor/checks/channels.js +90 -0
  327. package/dist/doctor/checks/channels.js.map +1 -0
  328. package/dist/doctor/checks/config.d.ts +10 -0
  329. package/dist/doctor/checks/config.d.ts.map +1 -0
  330. package/dist/doctor/checks/config.js +89 -0
  331. package/dist/doctor/checks/config.js.map +1 -0
  332. package/dist/doctor/checks/memory.d.ts +10 -0
  333. package/dist/doctor/checks/memory.d.ts.map +1 -0
  334. package/dist/doctor/checks/memory.js +82 -0
  335. package/dist/doctor/checks/memory.js.map +1 -0
  336. package/dist/doctor/checks/permissions.d.ts +9 -0
  337. package/dist/doctor/checks/permissions.d.ts.map +1 -0
  338. package/dist/doctor/checks/permissions.js +53 -0
  339. package/dist/doctor/checks/permissions.js.map +1 -0
  340. package/dist/doctor/checks/providers.d.ts +10 -0
  341. package/dist/doctor/checks/providers.d.ts.map +1 -0
  342. package/dist/doctor/checks/providers.js +93 -0
  343. package/dist/doctor/checks/providers.js.map +1 -0
  344. package/dist/doctor/checks/sessions.d.ts +10 -0
  345. package/dist/doctor/checks/sessions.d.ts.map +1 -0
  346. package/dist/doctor/checks/sessions.js +86 -0
  347. package/dist/doctor/checks/sessions.js.map +1 -0
  348. package/dist/doctor/doctor.d.ts +35 -0
  349. package/dist/doctor/doctor.d.ts.map +1 -0
  350. package/dist/doctor/doctor.js +51 -0
  351. package/dist/doctor/doctor.js.map +1 -0
  352. package/dist/doctor/repairs.d.ts +14 -0
  353. package/dist/doctor/repairs.d.ts.map +1 -0
  354. package/dist/doctor/repairs.js +34 -0
  355. package/dist/doctor/repairs.js.map +1 -0
  356. package/dist/gateway/compaction.d.ts +63 -0
  357. package/dist/gateway/compaction.d.ts.map +1 -0
  358. package/dist/gateway/compaction.js +235 -0
  359. package/dist/gateway/compaction.js.map +1 -0
  360. package/dist/gateway/gateway.d.ts +94 -0
  361. package/dist/gateway/gateway.d.ts.map +1 -0
  362. package/dist/gateway/gateway.js +466 -0
  363. package/dist/gateway/gateway.js.map +1 -0
  364. package/dist/gateway/lock.d.ts +24 -0
  365. package/dist/gateway/lock.d.ts.map +1 -0
  366. package/dist/gateway/lock.js +88 -0
  367. package/dist/gateway/lock.js.map +1 -0
  368. package/dist/gateway/protocol.d.ts +117 -0
  369. package/dist/gateway/protocol.d.ts.map +1 -0
  370. package/dist/gateway/protocol.js +5 -0
  371. package/dist/gateway/protocol.js.map +1 -0
  372. package/dist/gateway/session.d.ts +123 -0
  373. package/dist/gateway/session.d.ts.map +1 -0
  374. package/dist/gateway/session.js +573 -0
  375. package/dist/gateway/session.js.map +1 -0
  376. package/dist/hooks/hooks.d.ts +18 -0
  377. package/dist/hooks/hooks.d.ts.map +1 -0
  378. package/dist/hooks/hooks.js +45 -0
  379. package/dist/hooks/hooks.js.map +1 -0
  380. package/dist/hooks/types.d.ts +112 -0
  381. package/dist/hooks/types.d.ts.map +1 -0
  382. package/dist/hooks/types.js +23 -0
  383. package/dist/hooks/types.js.map +1 -0
  384. package/dist/index.d.ts +27 -0
  385. package/dist/index.d.ts.map +1 -0
  386. package/dist/index.js +2900 -0
  387. package/dist/index.js.map +1 -0
  388. package/dist/media/storage.d.ts +25 -0
  389. package/dist/media/storage.d.ts.map +1 -0
  390. package/dist/media/storage.js +97 -0
  391. package/dist/media/storage.js.map +1 -0
  392. package/dist/memory/embeddings.d.ts +46 -0
  393. package/dist/memory/embeddings.d.ts.map +1 -0
  394. package/dist/memory/embeddings.js +118 -0
  395. package/dist/memory/embeddings.js.map +1 -0
  396. package/dist/memory/hybrid.d.ts +35 -0
  397. package/dist/memory/hybrid.d.ts.map +1 -0
  398. package/dist/memory/hybrid.js +156 -0
  399. package/dist/memory/hybrid.js.map +1 -0
  400. package/dist/memory/markdown.d.ts +48 -0
  401. package/dist/memory/markdown.d.ts.map +1 -0
  402. package/dist/memory/markdown.js +228 -0
  403. package/dist/memory/markdown.js.map +1 -0
  404. package/dist/memory/store.d.ts +88 -0
  405. package/dist/memory/store.d.ts.map +1 -0
  406. package/dist/memory/store.js +21 -0
  407. package/dist/memory/store.js.map +1 -0
  408. package/dist/memory/vector.d.ts +24 -0
  409. package/dist/memory/vector.d.ts.map +1 -0
  410. package/dist/memory/vector.js +63 -0
  411. package/dist/memory/vector.js.map +1 -0
  412. package/dist/mods/mod.d.ts +100 -0
  413. package/dist/mods/mod.d.ts.map +1 -0
  414. package/dist/mods/mod.js +242 -0
  415. package/dist/mods/mod.js.map +1 -0
  416. package/dist/onboard/channels.d.ts +12 -0
  417. package/dist/onboard/channels.d.ts.map +1 -0
  418. package/dist/onboard/channels.js +283 -0
  419. package/dist/onboard/channels.js.map +1 -0
  420. package/dist/onboard/models.d.ts +13 -0
  421. package/dist/onboard/models.d.ts.map +1 -0
  422. package/dist/onboard/models.js +491 -0
  423. package/dist/onboard/models.js.map +1 -0
  424. package/dist/onboard/onboard.d.ts +12 -0
  425. package/dist/onboard/onboard.d.ts.map +1 -0
  426. package/dist/onboard/onboard.js +1137 -0
  427. package/dist/onboard/onboard.js.map +1 -0
  428. package/dist/providers/anthropic.d.ts +83 -0
  429. package/dist/providers/anthropic.d.ts.map +1 -0
  430. package/dist/providers/anthropic.js +583 -0
  431. package/dist/providers/anthropic.js.map +1 -0
  432. package/dist/providers/failover.d.ts +46 -0
  433. package/dist/providers/failover.d.ts.map +1 -0
  434. package/dist/providers/failover.js +149 -0
  435. package/dist/providers/failover.js.map +1 -0
  436. package/dist/providers/litellm.d.ts +38 -0
  437. package/dist/providers/litellm.d.ts.map +1 -0
  438. package/dist/providers/litellm.js +349 -0
  439. package/dist/providers/litellm.js.map +1 -0
  440. package/dist/providers/openai.d.ts +28 -0
  441. package/dist/providers/openai.d.ts.map +1 -0
  442. package/dist/providers/openai.js +321 -0
  443. package/dist/providers/openai.js.map +1 -0
  444. package/dist/providers/prompt-cache.d.ts +50 -0
  445. package/dist/providers/prompt-cache.d.ts.map +1 -0
  446. package/dist/providers/prompt-cache.js +96 -0
  447. package/dist/providers/prompt-cache.js.map +1 -0
  448. package/dist/providers/provider.d.ts +173 -0
  449. package/dist/providers/provider.d.ts.map +1 -0
  450. package/dist/providers/provider.js +22 -0
  451. package/dist/providers/provider.js.map +1 -0
  452. package/dist/sandbox/config.d.ts +42 -0
  453. package/dist/sandbox/config.d.ts.map +1 -0
  454. package/dist/sandbox/config.js +20 -0
  455. package/dist/sandbox/config.js.map +1 -0
  456. package/dist/sandbox/container.d.ts +71 -0
  457. package/dist/sandbox/container.d.ts.map +1 -0
  458. package/dist/sandbox/container.js +193 -0
  459. package/dist/sandbox/container.js.map +1 -0
  460. package/dist/sandbox/sandbox.d.ts +82 -0
  461. package/dist/sandbox/sandbox.d.ts.map +1 -0
  462. package/dist/sandbox/sandbox.js +176 -0
  463. package/dist/sandbox/sandbox.js.map +1 -0
  464. package/dist/skills/channel-loader.d.ts +18 -0
  465. package/dist/skills/channel-loader.d.ts.map +1 -0
  466. package/dist/skills/channel-loader.js +35 -0
  467. package/dist/skills/channel-loader.js.map +1 -0
  468. package/dist/skills/extension-loader.d.ts +15 -0
  469. package/dist/skills/extension-loader.d.ts.map +1 -0
  470. package/dist/skills/extension-loader.js +63 -0
  471. package/dist/skills/extension-loader.js.map +1 -0
  472. package/dist/skills/extension-registry.d.ts +32 -0
  473. package/dist/skills/extension-registry.d.ts.map +1 -0
  474. package/dist/skills/extension-registry.js +57 -0
  475. package/dist/skills/extension-registry.js.map +1 -0
  476. package/dist/skills/extensions.d.ts +91 -0
  477. package/dist/skills/extensions.d.ts.map +1 -0
  478. package/dist/skills/extensions.js +14 -0
  479. package/dist/skills/extensions.js.map +1 -0
  480. package/dist/skills/loader.d.ts +64 -0
  481. package/dist/skills/loader.d.ts.map +1 -0
  482. package/dist/skills/loader.js +382 -0
  483. package/dist/skills/loader.js.map +1 -0
  484. package/dist/skills/marketplace.d.ts +56 -0
  485. package/dist/skills/marketplace.d.ts.map +1 -0
  486. package/dist/skills/marketplace.js +183 -0
  487. package/dist/skills/marketplace.js.map +1 -0
  488. package/dist/skills/types.d.ts +94 -0
  489. package/dist/skills/types.d.ts.map +1 -0
  490. package/dist/skills/types.js +9 -0
  491. package/dist/skills/types.js.map +1 -0
  492. package/dist/tools/acp-sessions.d.ts +89 -0
  493. package/dist/tools/acp-sessions.d.ts.map +1 -0
  494. package/dist/tools/acp-sessions.js +391 -0
  495. package/dist/tools/acp-sessions.js.map +1 -0
  496. package/dist/tools/acp.d.ts +18 -0
  497. package/dist/tools/acp.d.ts.map +1 -0
  498. package/dist/tools/acp.js +102 -0
  499. package/dist/tools/acp.js.map +1 -0
  500. package/dist/tools/agent-tools.d.ts +24 -0
  501. package/dist/tools/agent-tools.d.ts.map +1 -0
  502. package/dist/tools/agent-tools.js +611 -0
  503. package/dist/tools/agent-tools.js.map +1 -0
  504. package/dist/tools/browser.d.ts +26 -0
  505. package/dist/tools/browser.d.ts.map +1 -0
  506. package/dist/tools/browser.js +242 -0
  507. package/dist/tools/browser.js.map +1 -0
  508. package/dist/tools/comms.d.ts +8 -0
  509. package/dist/tools/comms.d.ts.map +1 -0
  510. package/dist/tools/comms.js +39 -0
  511. package/dist/tools/comms.js.map +1 -0
  512. package/dist/tools/cron-tools.d.ts +9 -0
  513. package/dist/tools/cron-tools.d.ts.map +1 -0
  514. package/dist/tools/cron-tools.js +117 -0
  515. package/dist/tools/cron-tools.js.map +1 -0
  516. package/dist/tools/exec-safety.d.ts +71 -0
  517. package/dist/tools/exec-safety.d.ts.map +1 -0
  518. package/dist/tools/exec-safety.js +141 -0
  519. package/dist/tools/exec-safety.js.map +1 -0
  520. package/dist/tools/exec.d.ts +24 -0
  521. package/dist/tools/exec.d.ts.map +1 -0
  522. package/dist/tools/exec.js +191 -0
  523. package/dist/tools/exec.js.map +1 -0
  524. package/dist/tools/fs.d.ts +15 -0
  525. package/dist/tools/fs.d.ts.map +1 -0
  526. package/dist/tools/fs.js +249 -0
  527. package/dist/tools/fs.js.map +1 -0
  528. package/dist/tools/git.d.ts +9 -0
  529. package/dist/tools/git.d.ts.map +1 -0
  530. package/dist/tools/git.js +56 -0
  531. package/dist/tools/git.js.map +1 -0
  532. package/dist/tools/image.d.ts +15 -0
  533. package/dist/tools/image.d.ts.map +1 -0
  534. package/dist/tools/image.js +106 -0
  535. package/dist/tools/image.js.map +1 -0
  536. package/dist/tools/introspect.d.ts +22 -0
  537. package/dist/tools/introspect.d.ts.map +1 -0
  538. package/dist/tools/introspect.js +223 -0
  539. package/dist/tools/introspect.js.map +1 -0
  540. package/dist/tools/memory.d.ts +11 -0
  541. package/dist/tools/memory.d.ts.map +1 -0
  542. package/dist/tools/memory.js +101 -0
  543. package/dist/tools/memory.js.map +1 -0
  544. package/dist/tools/message.d.ts +24 -0
  545. package/dist/tools/message.d.ts.map +1 -0
  546. package/dist/tools/message.js +205 -0
  547. package/dist/tools/message.js.map +1 -0
  548. package/dist/tools/model.d.ts +14 -0
  549. package/dist/tools/model.d.ts.map +1 -0
  550. package/dist/tools/model.js +62 -0
  551. package/dist/tools/model.js.map +1 -0
  552. package/dist/tools/policy.d.ts +101 -0
  553. package/dist/tools/policy.d.ts.map +1 -0
  554. package/dist/tools/policy.js +168 -0
  555. package/dist/tools/policy.js.map +1 -0
  556. package/dist/tools/registry.d.ts +52 -0
  557. package/dist/tools/registry.d.ts.map +1 -0
  558. package/dist/tools/registry.js +154 -0
  559. package/dist/tools/registry.js.map +1 -0
  560. package/dist/tools/search.d.ts +10 -0
  561. package/dist/tools/search.d.ts.map +1 -0
  562. package/dist/tools/search.js +78 -0
  563. package/dist/tools/search.js.map +1 -0
  564. package/dist/tools/session.d.ts +13 -0
  565. package/dist/tools/session.d.ts.map +1 -0
  566. package/dist/tools/session.js +142 -0
  567. package/dist/tools/session.js.map +1 -0
  568. package/dist/tools/spawn.d.ts +10 -0
  569. package/dist/tools/spawn.d.ts.map +1 -0
  570. package/dist/tools/spawn.js +72 -0
  571. package/dist/tools/spawn.js.map +1 -0
  572. package/dist/tools/symphony.d.ts +12 -0
  573. package/dist/tools/symphony.d.ts.map +1 -0
  574. package/dist/tools/symphony.js +142 -0
  575. package/dist/tools/symphony.js.map +1 -0
  576. package/dist/tools/system-tools.d.ts +11 -0
  577. package/dist/tools/system-tools.d.ts.map +1 -0
  578. package/dist/tools/system-tools.js +39 -0
  579. package/dist/tools/system-tools.js.map +1 -0
  580. package/dist/tools/tool.d.ts +119 -0
  581. package/dist/tools/tool.d.ts.map +1 -0
  582. package/dist/tools/tool.js +29 -0
  583. package/dist/tools/tool.js.map +1 -0
  584. package/dist/tools/web.d.ts +10 -0
  585. package/dist/tools/web.d.ts.map +1 -0
  586. package/dist/tools/web.js +105 -0
  587. package/dist/tools/web.js.map +1 -0
  588. package/dist/tui/App.d.ts +43 -0
  589. package/dist/tui/App.d.ts.map +1 -0
  590. package/dist/tui/App.js +265 -0
  591. package/dist/tui/App.js.map +1 -0
  592. package/dist/tui/bridge.d.ts +40 -0
  593. package/dist/tui/bridge.d.ts.map +1 -0
  594. package/dist/tui/bridge.js +29 -0
  595. package/dist/tui/bridge.js.map +1 -0
  596. package/dist/tui/components/Header.d.ts +14 -0
  597. package/dist/tui/components/Header.d.ts.map +1 -0
  598. package/dist/tui/components/Header.js +7 -0
  599. package/dist/tui/components/Header.js.map +1 -0
  600. package/dist/tui/components/InputBar.d.ts +10 -0
  601. package/dist/tui/components/InputBar.d.ts.map +1 -0
  602. package/dist/tui/components/InputBar.js +121 -0
  603. package/dist/tui/components/InputBar.js.map +1 -0
  604. package/dist/tui/components/MessageList.d.ts +18 -0
  605. package/dist/tui/components/MessageList.d.ts.map +1 -0
  606. package/dist/tui/components/MessageList.js +34 -0
  607. package/dist/tui/components/MessageList.js.map +1 -0
  608. package/dist/tui/components/Spinner.d.ts +9 -0
  609. package/dist/tui/components/Spinner.d.ts.map +1 -0
  610. package/dist/tui/components/Spinner.js +18 -0
  611. package/dist/tui/components/Spinner.js.map +1 -0
  612. package/dist/tui/components/StatusBar.d.ts +16 -0
  613. package/dist/tui/components/StatusBar.d.ts.map +1 -0
  614. package/dist/tui/components/StatusBar.js +15 -0
  615. package/dist/tui/components/StatusBar.js.map +1 -0
  616. package/dist/tui/components/ToolCallBox.d.ts +12 -0
  617. package/dist/tui/components/ToolCallBox.d.ts.map +1 -0
  618. package/dist/tui/components/ToolCallBox.js +12 -0
  619. package/dist/tui/components/ToolCallBox.js.map +1 -0
  620. package/dist/tui/theme.d.ts +58 -0
  621. package/dist/tui/theme.d.ts.map +1 -0
  622. package/dist/tui/theme.js +80 -0
  623. package/dist/tui/theme.js.map +1 -0
  624. package/dist/utils/logger.d.ts +16 -0
  625. package/dist/utils/logger.d.ts.map +1 -0
  626. package/dist/utils/logger.js +70 -0
  627. package/dist/utils/logger.js.map +1 -0
  628. package/docs/DEVELOPMENT.md +74 -0
  629. package/docs/INSTALL.md +161 -0
  630. package/docs/USAGE.md +94 -0
  631. package/docs/architecture.md +128 -0
  632. package/docs/channels.md +140 -0
  633. package/docs/configuration.md +209 -0
  634. package/docs/io-system.md +430 -0
  635. package/docs/providers.md +99 -0
  636. package/docs/skill-channels.md +113 -0
  637. package/docs/skills.md +246 -0
  638. package/package.json +89 -0
  639. package/skills/acp-router/SKILL.md +41 -0
  640. package/skills/acp-router/tools/acp-router.mjs +239 -0
  641. package/skills/find-skills/SKILL.md +133 -0
  642. package/skills/security-audit/SKILL.md +181 -0
  643. package/skills/security-audit/audit.sh +67 -0
  644. package/skills/skill-creator/SKILL.md +479 -0
  645. package/skills/skill-security-audit/.clawhub/origin.json +7 -0
  646. package/skills/skill-security-audit/SKILL.md +196 -0
  647. package/skills/skill-security-audit/_meta.json +6 -0
  648. package/skills/skill-security-audit/references/prompt-injection-patterns.md +276 -0
  649. package/skills/skill-security-audit/references/vulnerability-patterns.md +348 -0
  650. package/skills/symphony/README.md +53 -0
  651. package/skills/symphony/SKILL.md +75 -0
  652. package/skills/symphony/tools/symphony-orchestrator.ts +8 -0
  653. package/tako.example.json +33 -0
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Symphony tools — agent-invocable tools for project orchestration.
3
+ *
4
+ * - symphony_start: Start the orchestrator
5
+ * - symphony_stop: Stop the orchestrator
6
+ * - symphony_status: Show dashboard
7
+ * - symphony_history: Show recent completed runs
8
+ */
9
+ import { SymphonyOrchestrator } from '../core/symphony/orchestrator.js';
10
+ import { formatStatus, formatHistory } from '../core/symphony/status.js';
11
+ function parseIntervalMs(interval) {
12
+ const match = interval.match(/^(\d+)(ms|s|m|h)?$/);
13
+ if (!match)
14
+ return 30000;
15
+ const [, num, unit] = match;
16
+ const n = parseInt(num, 10);
17
+ switch (unit) {
18
+ case 'ms': return n;
19
+ case 's': return n * 1000;
20
+ case 'm': return n * 60000;
21
+ case 'h': return n * 3600000;
22
+ default: return n * 1000; // default to seconds
23
+ }
24
+ }
25
+ const symphonyStartTool = {
26
+ name: 'symphony_start',
27
+ description: 'Start Symphony project orchestrator — polls GitHub issues and spawns agents to implement them.',
28
+ parameters: {
29
+ type: 'object',
30
+ properties: {
31
+ repo: {
32
+ type: 'string',
33
+ description: 'GitHub repo in owner/repo format',
34
+ },
35
+ labels: {
36
+ type: 'string',
37
+ description: 'Comma-separated label filter (e.g. "bug,feature")',
38
+ },
39
+ interval: {
40
+ type: 'string',
41
+ description: 'Poll interval (e.g. "30s", "5m"). Default: 30s',
42
+ default: '30s',
43
+ },
44
+ max_agents: {
45
+ type: 'number',
46
+ description: 'Max concurrent agents. Default: 5',
47
+ default: 5,
48
+ },
49
+ },
50
+ required: ['repo'],
51
+ },
52
+ async execute(params, _ctx) {
53
+ const { repo, labels, interval, max_agents } = params;
54
+ // Check if already running
55
+ const existing = SymphonyOrchestrator.getInstance();
56
+ if (existing?.isRunning()) {
57
+ return {
58
+ output: 'Symphony is already running. Use symphony_stop first.',
59
+ success: false,
60
+ };
61
+ }
62
+ const config = {
63
+ repo,
64
+ labels: labels ? labels.split(',').map((l) => l.trim()) : undefined,
65
+ pollIntervalMs: interval ? parseIntervalMs(interval) : 30000,
66
+ maxConcurrentAgents: max_agents ?? 5,
67
+ };
68
+ const orchestrator = SymphonyOrchestrator.getInstance(config);
69
+ if (!orchestrator) {
70
+ return { output: 'Failed to create orchestrator.', success: false };
71
+ }
72
+ orchestrator.start();
73
+ return {
74
+ output: `🎵 Symphony started!\n Repo: ${repo}\n Labels: ${labels ?? 'all'}\n Interval: ${interval ?? '30s'}\n Max agents: ${max_agents ?? 5}`,
75
+ success: true,
76
+ };
77
+ },
78
+ };
79
+ const symphonyStopTool = {
80
+ name: 'symphony_stop',
81
+ description: 'Stop the Symphony orchestrator and all running agents.',
82
+ parameters: {
83
+ type: 'object',
84
+ properties: {},
85
+ },
86
+ async execute(_params, _ctx) {
87
+ const orchestrator = SymphonyOrchestrator.getInstance();
88
+ if (!orchestrator?.isRunning()) {
89
+ return { output: 'Symphony is not running.', success: false };
90
+ }
91
+ SymphonyOrchestrator.destroyInstance();
92
+ return { output: '🎵 Symphony stopped.', success: true };
93
+ },
94
+ };
95
+ const symphonyStatusTool = {
96
+ name: 'symphony_status',
97
+ description: 'Show Symphony dashboard — running agents, retry queue, history.',
98
+ parameters: {
99
+ type: 'object',
100
+ properties: {},
101
+ },
102
+ async execute(_params, _ctx) {
103
+ const orchestrator = SymphonyOrchestrator.getInstance();
104
+ if (!orchestrator) {
105
+ return { output: 'Symphony is not running. Start with symphony_start.', success: false };
106
+ }
107
+ const dashboard = formatStatus(orchestrator.getState(), orchestrator.getConfig());
108
+ return { output: dashboard, success: true };
109
+ },
110
+ };
111
+ const symphonyHistoryTool = {
112
+ name: 'symphony_history',
113
+ description: 'Show recent completed Symphony runs.',
114
+ parameters: {
115
+ type: 'object',
116
+ properties: {
117
+ limit: {
118
+ type: 'number',
119
+ description: 'Max number of entries to show. Default: 20',
120
+ default: 20,
121
+ },
122
+ },
123
+ },
124
+ async execute(params, _ctx) {
125
+ const { limit } = params;
126
+ const orchestrator = SymphonyOrchestrator.getInstance();
127
+ if (!orchestrator) {
128
+ return { output: 'Symphony is not running. Start with symphony_start.', success: false };
129
+ }
130
+ const completed = Array.from(orchestrator.getState().completed.values());
131
+ const output = formatHistory(completed, limit ?? 20);
132
+ return { output, success: true };
133
+ },
134
+ };
135
+ /** All Symphony tools for registration. */
136
+ export const symphonyTools = [
137
+ symphonyStartTool,
138
+ symphonyStopTool,
139
+ symphonyStatusTool,
140
+ symphonyHistoryTool,
141
+ ];
142
+ //# sourceMappingURL=symphony.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symphony.js","sourceRoot":"","sources":["../../src/tools/symphony.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * System tools — restart, config reload, status.
3
+ *
4
+ * Allows the agent to restart itself and deliver a post-restart note.
5
+ */
6
+ import type { ToolRegistry } from './registry.js';
7
+ export declare function registerSystemTools(registry: ToolRegistry, opts: {
8
+ gatewayPort: number;
9
+ gatewayBind: string;
10
+ }): void;
11
+ //# sourceMappingURL=system-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgCpH"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * System tools — restart, config reload, status.
3
+ *
4
+ * Allows the agent to restart itself and deliver a post-restart note.
5
+ */
6
+ export function registerSystemTools(registry, opts) {
7
+ registry.register({
8
+ name: 'system_restart',
9
+ description: 'Restart Tako. Use after making code changes, config updates, or when asked to restart. Pass a human-readable note that will be delivered to the user after restart. IMPORTANT: The process will exit shortly after this tool is called, so always include a note for post-restart delivery.',
10
+ parameters: {
11
+ type: 'object',
12
+ properties: {
13
+ note: {
14
+ type: 'string',
15
+ description: 'Human-readable message to deliver after restart (e.g. "Restarted after config update.")',
16
+ },
17
+ },
18
+ },
19
+ execute: async (_args, ctx) => {
20
+ const note = _args.note || 'Tako restarted.';
21
+ const sessionKey = ctx.sessionId || null;
22
+ try {
23
+ const res = await fetch(`http://${opts.gatewayBind}:${opts.gatewayPort}/restart`, {
24
+ method: 'POST',
25
+ headers: { 'Content-Type': 'application/json' },
26
+ body: JSON.stringify({ note, sessionKey }),
27
+ });
28
+ if (res.ok) {
29
+ return { success: true, output: `Restart initiated. Note "${note}" will be delivered after restart.` };
30
+ }
31
+ return { output: `Restart request failed: ${res.status}`, success: false };
32
+ }
33
+ catch (err) {
34
+ return { output: `Failed to reach gateway: ${err instanceof Error ? err.message : err}`, success: false };
35
+ }
36
+ },
37
+ });
38
+ }
39
+ //# sourceMappingURL=system-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,UAAU,mBAAmB,CAAC,QAAsB,EAAE,IAAkD;IAC5G,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6RAA6R;QAC1S,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yFAAyF;iBACvG;aACF;SACF;QACD,OAAO,EAAE,KAAK,EAAE,KAA8B,EAAE,GAAgB,EAAuB,EAAE;YACvF,MAAM,IAAI,GAAI,KAAK,CAAC,IAAe,IAAI,iBAAiB,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,UAAU,EAAE;oBAChF,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;iBAC3C,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,IAAI,oCAAoC,EAAE,CAAC;gBACzG,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,2BAA2B,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5G,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Tool — agent syscall trait.
3
+ *
4
+ * Tools are the agent's interface to the outside world. Core tools are
5
+ * baked into the kernel (fs, exec, memory), and skill arms register
6
+ * additional tools at runtime.
7
+ *
8
+ * Each tool defines:
9
+ * - A JSON Schema for its parameters (sent to the model)
10
+ * - An execute function that performs the action
11
+ * - An optional group for profile-based activation
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const readTool: Tool = {
16
+ * name: 'read',
17
+ * description: 'Read a file from disk',
18
+ * parameters: { type: 'object', properties: { path: { type: 'string' } }, required: ['path'] },
19
+ * group: 'fs',
20
+ * async execute(params, ctx) {
21
+ * const { path } = params as { path: string };
22
+ * const content = await readFile(path, 'utf-8');
23
+ * return { output: content, success: true };
24
+ * },
25
+ * };
26
+ * ```
27
+ */
28
+ /** JSON Schema definition for tool parameters. */
29
+ export interface JSONSchema {
30
+ /** JSON Schema type ('object', 'string', 'number', 'boolean', 'array') */
31
+ type: string;
32
+ /** Human-readable description of this schema node */
33
+ description?: string;
34
+ /** Property definitions (for type: 'object') */
35
+ properties?: Record<string, JSONSchema>;
36
+ /** Required property names (for type: 'object') */
37
+ required?: string[];
38
+ /** Item schema (for type: 'array') */
39
+ items?: JSONSchema;
40
+ /** Allowed values (enumeration) */
41
+ enum?: unknown[];
42
+ /** Default value */
43
+ default?: unknown;
44
+ /** Additional schema keywords */
45
+ [key: string]: unknown;
46
+ }
47
+ /** Runtime context passed to every tool execution. */
48
+ export interface ToolContext {
49
+ /** Current session ID */
50
+ sessionId: string;
51
+ /** Working directory for file operations */
52
+ workDir: string;
53
+ /** Agent's workspace root directory */
54
+ workspaceRoot: string;
55
+ /** Active agent ID */
56
+ agentId?: string;
57
+ /** Active agent's permission role name */
58
+ agentRole?: string;
59
+ /** Channel type (e.g. 'discord', 'telegram', 'cli') */
60
+ channelType?: string;
61
+ /** Channel target ID (e.g. Discord channel ID without prefix) */
62
+ channelTarget?: string;
63
+ /** Channel instance reference for direct channel operations */
64
+ channel?: unknown;
65
+ /** Abort signal for cancellation (e.g. timeout) */
66
+ signal?: AbortSignal;
67
+ /** Arbitrary metadata from the agent loop */
68
+ meta?: Record<string, unknown>;
69
+ }
70
+ /** Result returned by a tool execution. */
71
+ export interface ToolResult {
72
+ /** Tool output text (returned to the model as the tool result) */
73
+ output: string;
74
+ /** Whether the tool call succeeded */
75
+ success: boolean;
76
+ /** Optional structured data (not sent to model, used internally) */
77
+ data?: unknown;
78
+ /** Optional error message (for logging/debugging) */
79
+ error?: string;
80
+ }
81
+ /**
82
+ * Tool groups organize tools by domain.
83
+ * Profiles activate subsets of groups based on the agent's role.
84
+ */
85
+ export type ToolGroup = 'fs' | 'runtime' | 'memory' | 'web' | 'search' | 'sessions' | 'git' | 'image' | 'agents' | 'messaging';
86
+ /**
87
+ * Tool activation profiles.
88
+ * - `minimal`: only fs + runtime (safe for sandboxed environments)
89
+ * - `coding`: adds search, git, memory (standard development)
90
+ * - `full`: all groups enabled (unrestricted agent)
91
+ */
92
+ export type ToolProfile = 'minimal' | 'coding' | 'full';
93
+ /**
94
+ * Tool — the agent syscall trait.
95
+ *
96
+ * Each tool is a named function the model can invoke during generation.
97
+ * Tools are registered with the ToolRegistry and activated based on the
98
+ * current profile and policy. Skill arms can register additional tools
99
+ * at runtime.
100
+ */
101
+ export interface Tool {
102
+ /** Unique tool name sent to the model (e.g. 'read', 'exec', 'web_search') */
103
+ name: string;
104
+ /** Human-readable description sent to the model to guide tool selection */
105
+ description: string;
106
+ /** JSON Schema defining the tool's input parameters */
107
+ parameters: JSONSchema;
108
+ /** Tool group for profile-based activation (ungrouped tools are always active) */
109
+ group?: ToolGroup;
110
+ /**
111
+ * Execute the tool with the given parameters and context.
112
+ *
113
+ * @param params - Parsed parameters matching the JSON Schema
114
+ * @param ctx - Runtime context (session, workspace, abort signal)
115
+ * @returns Tool result with output text and success status
116
+ */
117
+ execute(params: unknown, ctx: ToolContext): Promise<ToolResult>;
118
+ }
119
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/tools/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iCAAiC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,SAAS,GACT,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,UAAU,GACV,KAAK,GACL,OAAO,GACP,QAAQ,GACR,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAIxD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IAEb,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,UAAU,EAAE,UAAU,CAAC;IAEvB,kFAAkF;IAClF,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACjE"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Tool — agent syscall trait.
3
+ *
4
+ * Tools are the agent's interface to the outside world. Core tools are
5
+ * baked into the kernel (fs, exec, memory), and skill arms register
6
+ * additional tools at runtime.
7
+ *
8
+ * Each tool defines:
9
+ * - A JSON Schema for its parameters (sent to the model)
10
+ * - An execute function that performs the action
11
+ * - An optional group for profile-based activation
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const readTool: Tool = {
16
+ * name: 'read',
17
+ * description: 'Read a file from disk',
18
+ * parameters: { type: 'object', properties: { path: { type: 'string' } }, required: ['path'] },
19
+ * group: 'fs',
20
+ * async execute(params, ctx) {
21
+ * const { path } = params as { path: string };
22
+ * const content = await readFile(path, 'utf-8');
23
+ * return { output: content, success: true };
24
+ * },
25
+ * };
26
+ * ```
27
+ */
28
+ export {};
29
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/tools/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Web tools — web_search, web_fetch.
3
+ * Kernel tools (always available).
4
+ */
5
+ import type { Tool } from './tool.js';
6
+ export declare const webSearchTool: Tool;
7
+ export declare const webFetchTool: Tool;
8
+ /** All web tools. */
9
+ export declare const webTools: Tool[];
10
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/tools/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,WAAW,CAAC;AAU/D,eAAO,MAAM,aAAa,EAAE,IAsE3B,CAAC;AAWF,eAAO,MAAM,YAAY,EAAE,IAsC1B,CAAC;AAEF,qBAAqB;AACrB,eAAO,MAAM,QAAQ,EAAE,IAAI,EAAkC,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Web tools — web_search, web_fetch.
3
+ * Kernel tools (always available).
4
+ */
5
+ import { checkNetworkPolicy } from '../core/security.js';
6
+ export const webSearchTool = {
7
+ name: 'web_search',
8
+ description: 'Search the internet for information.',
9
+ group: 'web',
10
+ parameters: {
11
+ type: 'object',
12
+ properties: {
13
+ query: { type: 'string', description: 'Search query' },
14
+ limit: { type: 'number', description: 'Max results (default: 5)' },
15
+ },
16
+ required: ['query'],
17
+ },
18
+ async execute(params, _ctx) {
19
+ const { query, limit } = params;
20
+ const maxResults = limit ?? 5;
21
+ try {
22
+ // Use DuckDuckGo HTML lite — no API key required
23
+ const searchUrl = `https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`;
24
+ const resp = await fetch(searchUrl, {
25
+ headers: {
26
+ 'User-Agent': 'Mozilla/5.0 (compatible; Tako/1.0)',
27
+ },
28
+ });
29
+ if (!resp.ok) {
30
+ return { output: '', success: false, error: `Search request failed: ${resp.status}` };
31
+ }
32
+ const html = await resp.text();
33
+ // Parse search results from DuckDuckGo HTML lite response
34
+ const results = [];
35
+ const resultBlocks = html.split('<div class="links_main links_deep result__body">');
36
+ for (let i = 1; i < resultBlocks.length && results.length < maxResults; i++) {
37
+ const block = resultBlocks[i];
38
+ // Extract title
39
+ const titleMatch = block.match(/<a[^>]*class="result__a"[^>]*>([^<]*(?:<[^>]*>[^<]*)*)<\/a>/);
40
+ const title = titleMatch
41
+ ? titleMatch[1].replace(/<[^>]*>/g, '').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x27;/g, "'").replace(/&quot;/g, '"').trim()
42
+ : '';
43
+ // Extract URL from result__url or href
44
+ const urlMatch = block.match(/href="\/\/duckduckgo\.com\/l\/\?uddg=([^&"]+)/);
45
+ const url = urlMatch ? decodeURIComponent(urlMatch[1]) : '';
46
+ // Extract snippet
47
+ const snippetMatch = block.match(/<a class="result__snippet"[^>]*>([\s\S]*?)<\/a>/);
48
+ const snippet = snippetMatch
49
+ ? snippetMatch[1].replace(/<[^>]*>/g, '').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#x27;/g, "'").replace(/&quot;/g, '"').replace(/\s+/g, ' ').trim()
50
+ : '';
51
+ if (title || url) {
52
+ results.push({ title, url, snippet });
53
+ }
54
+ }
55
+ if (results.length === 0) {
56
+ return { output: `No results found for: ${query}`, success: true };
57
+ }
58
+ const formatted = results.map((r, i) => `${i + 1}. ${r.title}\n ${r.url}\n ${r.snippet}`).join('\n\n');
59
+ return { output: formatted, success: true };
60
+ }
61
+ catch (err) {
62
+ return { output: '', success: false, error: `web_search failed: ${err}` };
63
+ }
64
+ },
65
+ };
66
+ export const webFetchTool = {
67
+ name: 'web_fetch',
68
+ description: 'Fetch content from a URL.',
69
+ group: 'web',
70
+ parameters: {
71
+ type: 'object',
72
+ properties: {
73
+ url: { type: 'string', description: 'URL to fetch' },
74
+ method: { type: 'string', description: 'HTTP method (default: GET)' },
75
+ headers: { type: 'object', description: 'Request headers' },
76
+ body: { type: 'string', description: 'Request body' },
77
+ },
78
+ required: ['url'],
79
+ },
80
+ async execute(params, _ctx) {
81
+ const { url, method, headers, body } = params;
82
+ // Check network policy before fetching
83
+ const policyBlock = checkNetworkPolicy(url);
84
+ if (policyBlock) {
85
+ return { output: '', success: false, error: policyBlock };
86
+ }
87
+ try {
88
+ const resp = await fetch(url, {
89
+ method: method ?? 'GET',
90
+ headers,
91
+ body,
92
+ });
93
+ const text = await resp.text();
94
+ // Truncate large responses
95
+ const truncated = text.length > 50_000 ? text.slice(0, 50_000) + '\n[...truncated]' : text;
96
+ return { output: truncated, success: resp.ok };
97
+ }
98
+ catch (err) {
99
+ return { output: '', success: false, error: `web_fetch failed: ${err}` };
100
+ }
101
+ },
102
+ };
103
+ /** All web tools. */
104
+ export const webTools = [webSearchTool, webFetchTool];
105
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/tools/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AASzD,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,sCAAsC;IACnD,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;SACnE;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IAED,KAAK,CAAC,OAAO,CAAC,MAAe,EAAE,IAAiB;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAyB,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,SAAS,GAAG,uCAAuC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;gBAClC,OAAO,EAAE;oBACP,YAAY,EAAE,oCAAoC;iBACnD;aACF,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACxF,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAE/B,0DAA0D;YAC1D,MAAM,OAAO,GAAsD,EAAE,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE9B,gBAAgB;gBAChB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAC9F,MAAM,KAAK,GAAG,UAAU;oBACtB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;oBACjK,CAAC,CAAC,EAAE,CAAC;gBAEP,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,kBAAkB;gBAClB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,YAAY;oBAC1B,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;oBACxL,CAAC,CAAC,EAAE,CAAC;gBAEP,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,MAAM,EAAE,yBAAyB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrE,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CACrD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,GAAG,EAAE,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;CACF,CAAC;AAWF,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,2BAA2B;IACxC,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;YACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACrE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;YAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;SACtD;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;IAED,KAAK,CAAC,OAAO,CAAC,MAAe,EAAE,IAAiB;QAC9C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAwB,CAAC;QAEhE,uCAAuC;QACvC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC5B,MAAM,EAAE,MAAM,IAAI,KAAK;gBACvB,OAAO;gBACP,IAAI;aACL,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,2BAA2B;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,GAAG,EAAE,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * App — Main Tako 🐙 TUI application.
3
+ *
4
+ * Composes Header, MessageList, InputBar, and StatusBar into
5
+ * a full-screen terminal interface.
6
+ */
7
+ import React from 'react';
8
+ export interface AgentChoice {
9
+ id: string;
10
+ description: string;
11
+ role: string;
12
+ isMain: boolean;
13
+ }
14
+ export interface AppConfig {
15
+ version: string;
16
+ model: string;
17
+ toolCount: number;
18
+ skillCount: number;
19
+ channel: string;
20
+ toolProfile: string;
21
+ memoryStatus: string;
22
+ /** All available models for /models switching */
23
+ availableModels?: string[];
24
+ /** All registered agents for /agent switching */
25
+ agents?: AgentChoice[];
26
+ /** Currently active agent ID */
27
+ activeAgent?: string;
28
+ }
29
+ export interface AppCallbacks {
30
+ onMessage: (text: string) => void;
31
+ onCommand: (cmd: string, args: string) => void;
32
+ onQuit: () => void;
33
+ /** Switch active model at runtime. */
34
+ onModelSwitch?: (modelRef: string) => void;
35
+ /** Switch active agent at runtime. */
36
+ onAgentSwitch?: (agentId: string) => void;
37
+ }
38
+ export interface TuiAppProps {
39
+ config: AppConfig;
40
+ callbacks: AppCallbacks;
41
+ }
42
+ export declare const TuiApp: React.FC<TuiAppProps>;
43
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAOrD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iDAAiD;IACjD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoSxC,CAAC"}