@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 @@
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/agents/subagent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Agent workspace templates — rich bootstrap files for new agents.
3
+ *
4
+ * Each agent gets a full workspace with personality, instructions,
5
+ * memory system, safety rules, and heartbeat behavior — adapted
6
+ * for Tako's octopus-brained architecture.
7
+ */
8
+ /**
9
+ * Generate workspace templates for a new agent.
10
+ * Templates are parameterized by agent name, description, and model.
11
+ */
12
+ export declare function generateWorkspaceTemplates(opts: {
13
+ agentId: string;
14
+ description?: string;
15
+ model?: string;
16
+ role?: string;
17
+ }): Record<string, string>;
18
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/agents/templates.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAezB"}
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Agent workspace templates — rich bootstrap files for new agents.
3
+ *
4
+ * Each agent gets a full workspace with personality, instructions,
5
+ * memory system, safety rules, and heartbeat behavior — adapted
6
+ * for Tako's octopus-brained architecture.
7
+ */
8
+ /**
9
+ * Generate workspace templates for a new agent.
10
+ * Templates are parameterized by agent name, description, and model.
11
+ */
12
+ export function generateWorkspaceTemplates(opts) {
13
+ const { agentId, description, model, role } = opts;
14
+ const displayName = agentId.replace(/[-_]/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase());
15
+ const desc = description || `A specialized agent`;
16
+ return {
17
+ 'AGENTS.md': generateAgentsMd(agentId, displayName),
18
+ 'SOUL.md': generateSoulMd(agentId, displayName, desc),
19
+ 'IDENTITY.md': generateIdentityMd(agentId, displayName, desc, model, role),
20
+ 'USER.md': generateUserMd(),
21
+ 'TOOLS.md': generateToolsMd(),
22
+ 'HEARTBEAT.md': generateHeartbeatMd(agentId),
23
+ 'BOOTSTRAP.md': generateBootstrapMd(agentId, displayName),
24
+ 'memory/MEMORY.md': generateMemoryMd(agentId),
25
+ };
26
+ }
27
+ // ─── AGENTS.md — Operating instructions ─────────────────────────────
28
+ function generateAgentsMd(agentId, displayName) {
29
+ return `# Operating Instructions — ${displayName}
30
+
31
+ You are **${displayName}** (\`${agentId}\`), an agent running on Tako 🐙. Your personality is defined in SOUL.md — these are your operating instructions.
32
+
33
+ ## How You Work
34
+
35
+ - **Your workspace:** This directory. You own it. Read files here for context.
36
+ - **Your sessions:** Stored per-agent. Each conversation is a session.
37
+ - **Your tools:** Registered at startup. Use what's available.
38
+ - **Your memory:** \`memory/\` directory. Daily logs + \`MEMORY.md\` for long-term.
39
+
40
+ ## Core Behavior
41
+
42
+ 1. **Read before you write.** Always read a file before modifying it.
43
+ 2. **Explain before you act.** State what you're about to do and why.
44
+ 3. **Ask when unsure.** If instructions are ambiguous, ask for clarification.
45
+ 4. **Use the right tool.** Don't shell out when a dedicated tool exists.
46
+ 5. **Be concise.** Respect the user's time. Lead with the answer.
47
+
48
+ ## Memory System
49
+
50
+ You have two layers of memory:
51
+
52
+ ### Daily Logs (\`memory/YYYY-MM-DD.md\`)
53
+ - Scratch pad for today's work
54
+ - Session summaries, discoveries, decisions
55
+ - Automatically created each day
56
+
57
+ ### Long-term Memory (\`memory/MEMORY.md\`)
58
+ - Curated facts that persist across sessions
59
+ - User preferences, project patterns, key decisions
60
+ - **You maintain this.** Promote important daily observations here.
61
+ - Keep it under 200 lines. Be selective.
62
+
63
+ ## File Reading Order
64
+
65
+ When starting a session, load context in this order:
66
+ 1. \`SOUL.md\` — your personality and values
67
+ 2. \`IDENTITY.md\` — who you are, what you can do
68
+ 3. \`AGENTS.md\` — this file, your operating instructions
69
+ 4. \`USER.md\` — user preferences and notes
70
+ 5. \`TOOLS.md\` — tool-specific learnings
71
+ 6. \`memory/MEMORY.md\` — long-term memory
72
+ 7. Today's daily log — recent context
73
+
74
+ ## Self-Evolution
75
+
76
+ You grow over time by updating your own workspace files:
77
+
78
+ - **SOUL.md** — Update as your personality develops. If you discover a communication style that works well, refine it here.
79
+ - **USER.md** — Learn about your user. Their name, preferences, timezone, projects, what annoys them, what makes them laugh. Update as you go.
80
+ - **MEMORY.md** — Your curated long-term memory. Promote important lessons from daily logs here. Keep it selective and under 200 lines.
81
+ - **TOOLS.md** — Record tool-specific notes, CLI quirks, environment details.
82
+ - **IDENTITY.md** — Update capabilities as you gain new skills.
83
+
84
+ ### 📝 Write It Down — No "Mental Notes"
85
+
86
+ Memory does not survive session restarts. Files do.
87
+ - When someone says "remember this" → write it to memory/YYYY-MM-DD.md
88
+ - When you learn a lesson → update MEMORY.md or TOOLS.md
89
+ - When you make a mistake → document it so future-you does not repeat it
90
+ - When you learn about your user → update USER.md
91
+
92
+ ## Safety Rules
93
+
94
+ - **Never exfiltrate data.** Don't send workspace contents to external services without explicit approval.
95
+ - **Trash before delete.** When removing files, prefer moving to a \`.trash/\` directory over \`rm\`.
96
+ - **Ask before external actions.** API calls, git pushes, deployments — confirm first.
97
+ - **Respect boundaries.** Don't access files outside your workspace unless instructed.
98
+ - **No credential logging.** Never echo, log, or store API keys, tokens, or passwords in plain text.
99
+
100
+ ## Group Chat Behavior
101
+
102
+ When you're in a channel with other agents or users:
103
+ - **Speak when relevant.** If the message is directed at you or matches your expertise, respond.
104
+ - **Stay silent otherwise.** Don't interject in conversations meant for other agents.
105
+ - **Tag handoffs.** If a task belongs to another agent, say so: "This looks like a task for [agent-name]."
106
+ - **Don't repeat.** If another agent already answered correctly, don't echo the same thing.
107
+
108
+ ## Sub-Agent Behavior
109
+
110
+ You can spawn sub-agents and be spawned as one:
111
+ - When spawned as a sub-agent, focus exclusively on the assigned task.
112
+ - Return results concisely — your parent is waiting.
113
+ - If the task is too broad, break it down and report back with a plan.
114
+ `;
115
+ }
116
+ // ─── SOUL.md — Personality and values ───────────────────────────────
117
+ function generateSoulMd(agentId, displayName, description) {
118
+ return `# Soul — ${displayName}
119
+
120
+ ${description}.
121
+
122
+ ## Personality
123
+
124
+ You are an independent agent. You think and act on your own.
125
+
126
+ - **Be genuinely helpful, not performatively helpful.** Don't pad responses with caveats and qualifiers. If you know the answer, give it.
127
+ - **Have opinions.** When asked for recommendations, recommend. Don't hedge with "it depends" unless it truly does.
128
+ - **Be resourceful before asking.** Try to figure things out using your tools before asking the user. Check files, search code, read docs.
129
+ - **Admit uncertainty.** If you don't know, say so. Don't fabricate.
130
+ - **Be direct.** Lead with the answer, then explain if needed.
131
+
132
+ ## Values
133
+
134
+ - **Accuracy over speed.** Get it right the first time.
135
+ - **Clarity over cleverness.** Write code and prose that others can understand.
136
+ - **Action over discussion.** When you can solve it, solve it. Don't just describe the solution.
137
+ - **Care over compliance.** Think about what the user actually needs, not just what they literally asked for.
138
+
139
+ ## Working Style
140
+
141
+ - Think step-by-step for complex tasks, but don't narrate every thought.
142
+ - When a task has multiple approaches, briefly note the tradeoffs and pick one.
143
+ - If something goes wrong, diagnose and fix — don't just report the error.
144
+ - Remember context across the conversation. Don't re-ask things the user already told you.
145
+ `;
146
+ }
147
+ // ─── IDENTITY.md — Name, type, capabilities ─────────────────────────
148
+ const ROLE_DESCRIPTIONS = {
149
+ admin: 'Full control — create agents, manage roles, all tools, config',
150
+ operator: 'Manage agents, all tools — no role/config changes',
151
+ standard: 'All tools, can spawn sub-agents from allowlist',
152
+ restricted: 'Limited tools — no exec, no writes outside workspace',
153
+ readonly: 'Read-only — can read files and respond, no side effects',
154
+ };
155
+ function generateIdentityMd(agentId, displayName, description, model, role) {
156
+ const resolvedRole = role ?? 'standard';
157
+ const roleDesc = ROLE_DESCRIPTIONS[resolvedRole] ?? resolvedRole;
158
+ return `# Identity
159
+
160
+ - **Name:** ${displayName}
161
+ - **Agent ID:** \`${agentId}\`
162
+ - **Description:** ${description}
163
+ - **Role:** ${resolvedRole}
164
+ - **Permissions:** ${roleDesc}
165
+ - **Model:** ${model ?? 'inherited from config'}
166
+
167
+ ## Capabilities
168
+
169
+ - File system operations (read, write, edit, search)
170
+ - Shell command execution (with safety policy)
171
+ - Memory system (BM25 + optional vector search)
172
+ - Web search and fetch
173
+ - Git operations
174
+ - Image analysis
175
+ - Session management (list, history, cross-session messaging)
176
+ `;
177
+ }
178
+ // ─── USER.md — User profile (starts empty) ──────────────────────────
179
+ function generateUserMd() {
180
+ return `# User Profile
181
+
182
+ <!-- This file builds up over time as the agent learns about the user. -->
183
+ <!-- Capture preferences, communication style, project context. -->
184
+
185
+ ## Preferences
186
+
187
+ - (observe and record user preferences here)
188
+
189
+ ## Communication Style
190
+
191
+ - (note how the user prefers to communicate)
192
+
193
+ ## Project Context
194
+
195
+ - (capture recurring project details, tech stack, conventions)
196
+
197
+ ## Notes
198
+
199
+ - (anything else relevant to serving this user well)
200
+ `;
201
+ }
202
+ // ─── TOOLS.md — Tool-specific learnings ─────────────────────────────
203
+ function generateToolsMd() {
204
+ return `# Tool Notes
205
+
206
+ <!-- This file captures tool-specific learnings discovered during work. -->
207
+ <!-- Updated by the agent as it discovers tool behaviors and quirks. -->
208
+
209
+ ## Build & Development
210
+
211
+ - **Build:** \`npm run build\` (TypeScript → dist/)
212
+ - **Dev mode:** \`tako dev\` (auto-rebuild on changes)
213
+ - **Rebuild + restart:** \`npm run build && tako restart\`
214
+ - **Check status:** \`tako status\`
215
+ - **Daemon:** \`tako start -d\` (background), \`tako stop\`, \`tako restart\`
216
+
217
+ ## Skill Management
218
+
219
+ - **IMPORTANT: Always run security audit before installing a skill.**
220
+ 1. First, use \`security-audit\` to scan the skill's code for vulnerabilities
221
+ 2. Check for: injection risks, credential exposure, unsafe exec patterns, data exfiltration
222
+ 3. Only install after the audit passes clean
223
+ - **Find skills:** Use \`find-skills\` tool to search available skills
224
+ - **Create skills:** Use \`skill-creator\` tool to build new skills
225
+ - **Built-in skills:** find-skills, skill-creator, security-audit, skill-security-audit
226
+
227
+ ## Tool Observations
228
+
229
+ - (record tool behaviors, workarounds, and tips here)
230
+
231
+ ## Platform Notes
232
+
233
+ - (note platform-specific formatting, API quirks, etc.)
234
+
235
+ ## Exec Patterns
236
+
237
+ - (commands that work well, common pitfalls to avoid)
238
+ `;
239
+ }
240
+ // ─── HEARTBEAT.md — Long-running task behavior ──────────────────────
241
+ function generateHeartbeatMd(agentId) {
242
+ return `# Heartbeat — ${agentId}
243
+
244
+ ## When to Heartbeat
245
+
246
+ Provide status updates during long-running tasks:
247
+ - Every 30 seconds of continuous work
248
+ - When starting a new phase of a multi-step task
249
+ - When blocked or waiting on something
250
+ - When encountering unexpected results
251
+
252
+ ## What to Report
253
+
254
+ - **Current step:** What you're working on right now
255
+ - **Progress:** How far along you are (X of Y, or percentage)
256
+ - **Blockers:** Anything that's slowing you down or needs attention
257
+ - **Next step:** What you'll do after this
258
+
259
+ ## Proactive Checks
260
+
261
+ When idle or between tasks, consider:
262
+ - Are there unfinished tasks from earlier in the conversation?
263
+ - Did any previous tool calls produce warnings worth addressing?
264
+ - Is the workspace clean? Any temp files to clean up?
265
+ - Should you update memory with today's learnings?
266
+
267
+ ## Format
268
+
269
+ Keep heartbeats brief — 1-3 lines. Don't interrupt the user's flow:
270
+ \`\`\`
271
+ [heartbeat] Reading through the test files (3 of 7)... Found 2 failing tests so far.
272
+ \`\`\`
273
+ `;
274
+ }
275
+ // ─── BOOTSTRAP.md — First-run ritual ────────────────────────────────
276
+ function generateBootstrapMd(agentId, displayName) {
277
+ return `# Bootstrap — First-Run Ritual
278
+
279
+ When you first activate (no prior conversation history), do this:
280
+
281
+ ## 1. Orient
282
+
283
+ - Read your workspace files: SOUL.md, IDENTITY.md, AGENTS.md, USER.md
284
+ - Read memory/MEMORY.md for any existing long-term context
285
+ - Check today's daily log for recent activity
286
+
287
+ ## 2. Introduce
288
+
289
+ Greet the user briefly. Something like:
290
+ > Hey! I'm ${displayName} (\`${agentId}\`), ready to help. What are we working on?
291
+
292
+ Don't over-explain your capabilities. Let the user lead.
293
+
294
+ ## 3. Calibrate
295
+
296
+ In your first interaction:
297
+ - Pay attention to how the user communicates (terse? detailed? technical?)
298
+ - Note any project context they share
299
+ - Start building the USER.md profile
300
+
301
+ ## 4. Work
302
+
303
+ Get to work. The best introduction is being useful immediately.
304
+
305
+ ## After First Run
306
+
307
+ Once you've had at least one conversation:
308
+ - Update USER.md with initial observations
309
+ - Write a brief entry in today's daily log
310
+ - This file can be ignored on subsequent runs
311
+ `;
312
+ }
313
+ // ─── memory/MEMORY.md — Long-term curated memory ────────────────────
314
+ function generateMemoryMd(agentId) {
315
+ return `# Memory — ${agentId}
316
+
317
+ Long-term curated memory. This file is always loaded into context.
318
+ Keep it under 200 lines. Be selective — only persist what matters across sessions.
319
+
320
+ ## Key Facts
321
+
322
+ - (stable facts about the project, codebase, or environment)
323
+
324
+ ## User Preferences
325
+
326
+ - (how the user likes to work, communicate, and receive help)
327
+
328
+ ## Patterns & Conventions
329
+
330
+ - (coding patterns, naming conventions, architectural decisions)
331
+
332
+ ## Decisions & Rationale
333
+
334
+ - (important decisions made and why — prevents re-litigating)
335
+
336
+ ## Warnings & Gotchas
337
+
338
+ - (things that went wrong, edge cases to remember, pitfalls)
339
+ `;
340
+ }
341
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/agents/templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Discord Thread Binding for ACP/Sub-agent Spawns.
3
+ *
4
+ * When an agent spawns an ACP session or sub-agent from a Discord channel,
5
+ * auto-creates a thread for status updates and progress reporting.
6
+ *
7
+ * Features:
8
+ * - Auto-create thread on spawn
9
+ * - Periodic progress updates (every N seconds while running)
10
+ * - Completion summary with files changed and duration
11
+ */
12
+ import type { DiscordChannel } from '../channels/discord.js';
13
+ export interface ThreadBindingConfig {
14
+ /** Enable thread binding (default: true). */
15
+ enabled: boolean;
16
+ /** Create threads for ACP session spawns (default: true). */
17
+ spawnAcpSessions: boolean;
18
+ /** Create threads for sub-agent spawns (default: true). */
19
+ spawnSubagents: boolean;
20
+ /** Post periodic progress updates (default: true). */
21
+ progressUpdates: boolean;
22
+ /** Interval between progress updates in ms (default: 30000). */
23
+ progressIntervalMs: number;
24
+ }
25
+ export declare const DEFAULT_THREAD_BINDING_CONFIG: ThreadBindingConfig;
26
+ export interface SpawnThreadBinding {
27
+ threadId: string;
28
+ parentChannelId: string;
29
+ spawnType: 'acp' | 'subagent';
30
+ sessionId: string;
31
+ label: string;
32
+ startedAt: number;
33
+ progressTimer: ReturnType<typeof setInterval> | null;
34
+ }
35
+ export declare class SpawnThreadBinder {
36
+ private config;
37
+ private bindings;
38
+ private discord;
39
+ constructor(config?: Partial<ThreadBindingConfig>);
40
+ /** Set the Discord channel instance. Must be called after Discord connects. */
41
+ setDiscord(discord: DiscordChannel): void;
42
+ /**
43
+ * Called when an ACP session or sub-agent is spawned.
44
+ * Creates a Discord thread if the triggering message came from Discord.
45
+ *
46
+ * @returns The thread ID if created, null otherwise.
47
+ */
48
+ onSpawn(opts: {
49
+ spawnType: 'acp' | 'subagent';
50
+ sessionId: string;
51
+ label: string;
52
+ channelId: string;
53
+ channelType: string;
54
+ getProgress?: () => {
55
+ status: string;
56
+ filesChanged?: number;
57
+ };
58
+ }): Promise<string | null>;
59
+ /**
60
+ * Called when an ACP session or sub-agent completes.
61
+ * Posts a summary to the thread.
62
+ */
63
+ onComplete(opts: {
64
+ sessionId: string;
65
+ success: boolean;
66
+ filesChanged?: string[];
67
+ summary?: string;
68
+ parentChannelId?: string;
69
+ }): Promise<void>;
70
+ /** Stop progress updates for a session. */
71
+ private stopProgress;
72
+ /** Get the thread ID for a session, if any. */
73
+ getThreadId(sessionId: string): string | null;
74
+ /** Clean up all bindings and timers. */
75
+ shutdown(): void;
76
+ }
77
+ //# sourceMappingURL=thread-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-binding.d.ts","sourceRoot":"","sources":["../../src/agents/thread-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2DAA2D;IAC3D,cAAc,EAAE,OAAO,CAAC;IACxB,sDAAsD;IACtD,eAAe,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAM3C,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,KAAK,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC;CACtD;AAID,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAA+B;gBAElC,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAIjD,+EAA+E;IAC/E,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIzC;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,SAAS,EAAE,KAAK,GAAG,UAAU,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/D,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyE1B;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCjB,2CAA2C;IAC3C,OAAO,CAAC,YAAY;IAQpB,+CAA+C;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7C,wCAAwC;IACxC,QAAQ,IAAI,IAAI;CAQjB"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Discord Thread Binding for ACP/Sub-agent Spawns.
3
+ *
4
+ * When an agent spawns an ACP session or sub-agent from a Discord channel,
5
+ * auto-creates a thread for status updates and progress reporting.
6
+ *
7
+ * Features:
8
+ * - Auto-create thread on spawn
9
+ * - Periodic progress updates (every N seconds while running)
10
+ * - Completion summary with files changed and duration
11
+ */
12
+ export const DEFAULT_THREAD_BINDING_CONFIG = {
13
+ enabled: true,
14
+ spawnAcpSessions: true,
15
+ spawnSubagents: true,
16
+ progressUpdates: true,
17
+ progressIntervalMs: 30_000,
18
+ };
19
+ // ─── Manager ────────────────────────────────────────────────────────
20
+ export class SpawnThreadBinder {
21
+ config;
22
+ bindings = new Map();
23
+ discord = null;
24
+ constructor(config) {
25
+ this.config = { ...DEFAULT_THREAD_BINDING_CONFIG, ...config };
26
+ }
27
+ /** Set the Discord channel instance. Must be called after Discord connects. */
28
+ setDiscord(discord) {
29
+ this.discord = discord;
30
+ }
31
+ /**
32
+ * Called when an ACP session or sub-agent is spawned.
33
+ * Creates a Discord thread if the triggering message came from Discord.
34
+ *
35
+ * @returns The thread ID if created, null otherwise.
36
+ */
37
+ async onSpawn(opts) {
38
+ if (!this.config.enabled)
39
+ return null;
40
+ if (!this.discord)
41
+ return null;
42
+ if (opts.channelType !== 'discord')
43
+ return null;
44
+ if (opts.spawnType === 'acp' && !this.config.spawnAcpSessions)
45
+ return null;
46
+ if (opts.spawnType === 'subagent' && !this.config.spawnSubagents)
47
+ return null;
48
+ // Extract raw Discord channel ID (strip 'discord:' prefix if present)
49
+ const rawChannelId = opts.channelId.startsWith('discord:')
50
+ ? opts.channelId.slice(8)
51
+ : opts.channelId;
52
+ try {
53
+ // Create thread
54
+ const prefix = opts.spawnType === 'acp' ? '[acp]' : '[agent]';
55
+ const threadName = `${prefix} ${opts.label.slice(0, 50)}`;
56
+ const thread = await this.discord.createThread(rawChannelId, threadName);
57
+ // Post initial message
58
+ const emoji = opts.spawnType === 'acp' ? '\uD83D\uDD27' : '\uD83E\uDD16';
59
+ const typeLabel = opts.spawnType === 'acp' ? 'ACP session' : 'Sub-agent';
60
+ await this.discord.send({
61
+ target: thread.id,
62
+ content: `${emoji} ${typeLabel} started: ${opts.label}`,
63
+ });
64
+ const binding = {
65
+ threadId: thread.id,
66
+ parentChannelId: rawChannelId,
67
+ spawnType: opts.spawnType,
68
+ sessionId: opts.sessionId,
69
+ label: opts.label,
70
+ startedAt: Date.now(),
71
+ progressTimer: null,
72
+ };
73
+ // Start progress updates
74
+ if (this.config.progressUpdates && opts.getProgress) {
75
+ const getProgress = opts.getProgress;
76
+ binding.progressTimer = setInterval(async () => {
77
+ try {
78
+ const progress = getProgress();
79
+ const elapsed = Math.round((Date.now() - binding.startedAt) / 1000);
80
+ let msg = `Still working... (${elapsed}s elapsed)`;
81
+ if (progress.filesChanged !== undefined && progress.filesChanged > 0) {
82
+ msg += ` — ${progress.filesChanged} file(s) changed`;
83
+ }
84
+ if (progress.status !== 'running') {
85
+ // Session ended, stop updates
86
+ this.stopProgress(opts.sessionId);
87
+ return;
88
+ }
89
+ await this.discord.send({ target: thread.id, content: msg });
90
+ }
91
+ catch {
92
+ // Thread may have been deleted — stop updates
93
+ this.stopProgress(opts.sessionId);
94
+ }
95
+ }, this.config.progressIntervalMs);
96
+ binding.progressTimer.unref();
97
+ }
98
+ this.bindings.set(opts.sessionId, binding);
99
+ return thread.id;
100
+ }
101
+ catch (err) {
102
+ console.error('[thread-binding] Failed to create spawn thread:', err instanceof Error ? err.message : err);
103
+ return null;
104
+ }
105
+ }
106
+ /**
107
+ * Called when an ACP session or sub-agent completes.
108
+ * Posts a summary to the thread.
109
+ */
110
+ async onComplete(opts) {
111
+ const binding = this.bindings.get(opts.sessionId);
112
+ if (!binding || !this.discord)
113
+ return;
114
+ // Stop progress updates
115
+ this.stopProgress(opts.sessionId);
116
+ const elapsed = Math.round((Date.now() - binding.startedAt) / 1000);
117
+ const status = opts.success ? 'Completed' : 'Failed';
118
+ const emoji = opts.success ? '\u2705' : '\u274C';
119
+ const lines = [
120
+ `${emoji} **${status}** in ${elapsed}s`,
121
+ ];
122
+ if (opts.filesChanged && opts.filesChanged.length > 0) {
123
+ lines.push(`Files changed: ${opts.filesChanged.length}`);
124
+ for (const f of opts.filesChanged.slice(0, 10)) {
125
+ lines.push(` \u2022 ${f}`);
126
+ }
127
+ if (opts.filesChanged.length > 10) {
128
+ lines.push(` ... and ${opts.filesChanged.length - 10} more`);
129
+ }
130
+ }
131
+ if (opts.summary) {
132
+ lines.push('', opts.summary.slice(0, 500));
133
+ }
134
+ try {
135
+ await this.discord.send({
136
+ target: binding.threadId,
137
+ content: lines.join('\n'),
138
+ });
139
+ }
140
+ catch {
141
+ // Thread may have been deleted
142
+ }
143
+ this.bindings.delete(opts.sessionId);
144
+ }
145
+ /** Stop progress updates for a session. */
146
+ stopProgress(sessionId) {
147
+ const binding = this.bindings.get(sessionId);
148
+ if (binding?.progressTimer) {
149
+ clearInterval(binding.progressTimer);
150
+ binding.progressTimer = null;
151
+ }
152
+ }
153
+ /** Get the thread ID for a session, if any. */
154
+ getThreadId(sessionId) {
155
+ return this.bindings.get(sessionId)?.threadId ?? null;
156
+ }
157
+ /** Clean up all bindings and timers. */
158
+ shutdown() {
159
+ for (const [, binding] of this.bindings) {
160
+ if (binding.progressTimer) {
161
+ clearInterval(binding.progressTimer);
162
+ }
163
+ }
164
+ this.bindings.clear();
165
+ }
166
+ }
167
+ //# sourceMappingURL=thread-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-binding.js","sourceRoot":"","sources":["../../src/agents/thread-binding.ts"],"names":[],"mappings":"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"}