kimaki 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/assets/fonts/Geist-Bold.ttf +0 -0
  2. package/assets/fonts/Geist-Regular.ttf +0 -0
  3. package/assets/fonts/GeistMono-Regular.ttf +0 -0
  4. package/assets/fonts/OFL.txt +92 -0
  5. package/dist/agent-ui.e2e.test.js +27 -13
  6. package/dist/agent-ui.e2e.test.js.map +1 -1
  7. package/dist/agent-ui.js +2 -1
  8. package/dist/agent-ui.js.map +1 -1
  9. package/dist/analytics.e2e.test.js +1 -1
  10. package/dist/analytics.e2e.test.js.map +1 -1
  11. package/dist/autostart.d.ts +4 -0
  12. package/dist/autostart.js +55 -10
  13. package/dist/autostart.js.map +1 -1
  14. package/dist/bot.d.ts +13 -6
  15. package/dist/bot.js +17 -15
  16. package/dist/bot.js.map +1 -1
  17. package/dist/btw.e2e.test.js +3 -3
  18. package/dist/builtin-skills.d.ts +3 -0
  19. package/dist/builtin-skills.js +29 -0
  20. package/dist/builtin-skills.js.map +1 -1
  21. package/dist/builtin-skills.test.js +72 -1
  22. package/dist/builtin-skills.test.js.map +1 -1
  23. package/dist/catalog-refresh.e2e.test.js +2 -2
  24. package/dist/cli/bot.d.ts +1 -1
  25. package/dist/cli/bot.js +33 -18
  26. package/dist/cli/bot.js.map +1 -1
  27. package/dist/cli/discord.js +32 -6
  28. package/dist/cli/discord.js.map +1 -1
  29. package/dist/cli/schedule.js +23 -9
  30. package/dist/cli/schedule.js.map +1 -1
  31. package/dist/cli/session.js +37 -12
  32. package/dist/cli/session.js.map +1 -1
  33. package/dist/cli/shared.d.ts +5 -3
  34. package/dist/cli/shared.js +45 -10
  35. package/dist/cli/shared.js.map +1 -1
  36. package/dist/cli-discord.e2e.test.js +13 -8
  37. package/dist/cli-discord.e2e.test.js.map +1 -1
  38. package/dist/cli-lock.e2e.test.js +87 -20
  39. package/dist/cli-lock.e2e.test.js.map +1 -1
  40. package/dist/cli-read.e2e.test.js +18 -9
  41. package/dist/cli-read.e2e.test.js.map +1 -1
  42. package/dist/cli-sessions.e2e.test.js +4 -3
  43. package/dist/cli-sessions.e2e.test.js.map +1 -1
  44. package/dist/cli.js +2 -0
  45. package/dist/cli.js.map +1 -1
  46. package/dist/commands/preference-commands.d.ts +4 -0
  47. package/dist/commands/preference-commands.js +38 -4
  48. package/dist/commands/preference-commands.js.map +1 -1
  49. package/dist/commands/session-commands.js +11 -8
  50. package/dist/commands/session-commands.js.map +1 -1
  51. package/dist/commands/thread-commands.js +94 -24
  52. package/dist/commands/thread-commands.js.map +1 -1
  53. package/dist/commands/worktree-commands.d.ts +5 -6
  54. package/dist/commands/worktree-commands.js +8 -7
  55. package/dist/commands/worktree-commands.js.map +1 -1
  56. package/dist/commands.e2e.test.js +25 -21
  57. package/dist/commands.e2e.test.js.map +1 -1
  58. package/dist/coordinator-agents.e2e.test.d.ts +1 -0
  59. package/dist/coordinator-agents.e2e.test.js +113 -0
  60. package/dist/coordinator-agents.e2e.test.js.map +1 -0
  61. package/dist/coordinator-idle.e2e.test.d.ts +1 -0
  62. package/dist/coordinator-idle.e2e.test.js +100 -0
  63. package/dist/coordinator-idle.e2e.test.js.map +1 -0
  64. package/dist/coordinator-queue.e2e.test.d.ts +1 -0
  65. package/dist/coordinator-queue.e2e.test.js +244 -0
  66. package/dist/coordinator-queue.e2e.test.js.map +1 -0
  67. package/dist/coordinator-warmup.e2e.test.d.ts +1 -0
  68. package/dist/coordinator-warmup.e2e.test.js +131 -0
  69. package/dist/coordinator-warmup.e2e.test.js.map +1 -0
  70. package/dist/coordinator.d.ts +6 -0
  71. package/dist/coordinator.e2e.test.d.ts +1 -0
  72. package/dist/coordinator.e2e.test.js +505 -0
  73. package/dist/coordinator.e2e.test.js.map +1 -0
  74. package/dist/coordinator.js +164 -0
  75. package/dist/coordinator.js.map +1 -0
  76. package/dist/db.d.ts +78 -3
  77. package/dist/db.test.js +1 -0
  78. package/dist/db.test.js.map +1 -1
  79. package/dist/diagram.d.ts +11 -0
  80. package/dist/diagram.js +232 -0
  81. package/dist/diagram.js.map +1 -0
  82. package/dist/diagram.test.d.ts +1 -0
  83. package/dist/diagram.test.js +52 -0
  84. package/dist/diagram.test.js.map +1 -0
  85. package/dist/duration.js +13 -5
  86. package/dist/duration.js.map +1 -1
  87. package/dist/effects.d.ts +6 -1
  88. package/dist/effects.js +97 -26
  89. package/dist/effects.js.map +1 -1
  90. package/dist/event-loop.d.ts +2 -3
  91. package/dist/event-loop.js +74 -44
  92. package/dist/event-loop.js.map +1 -1
  93. package/dist/format-parts.d.ts +21 -4
  94. package/dist/format-parts.js +40 -23
  95. package/dist/format-parts.js.map +1 -1
  96. package/dist/gateway-replay.e2e.test.js +4 -4
  97. package/dist/harness.e2e.test.js +2 -2
  98. package/dist/harness.e2e.test.js.map +1 -1
  99. package/dist/hello-thread.e2e.test.js +56 -5
  100. package/dist/hello-thread.e2e.test.js.map +1 -1
  101. package/dist/ingress.js +47 -12
  102. package/dist/ingress.js.map +1 -1
  103. package/dist/interaction-context.d.ts +4 -4
  104. package/dist/interaction-context.js +9 -7
  105. package/dist/interaction-context.js.map +1 -1
  106. package/dist/interrupt.e2e.test.js +8 -5
  107. package/dist/interrupt.e2e.test.js.map +1 -1
  108. package/dist/legacy.e2e.test.js +1 -1
  109. package/dist/lock-routes.d.ts +83 -31
  110. package/dist/lock-routes.js +68 -8
  111. package/dist/lock-routes.js.map +1 -1
  112. package/dist/lock-server.d.ts +3 -2
  113. package/dist/lock-server.js +23 -7
  114. package/dist/lock-server.js.map +1 -1
  115. package/dist/main.d.ts +6 -3
  116. package/dist/main.js +14 -4
  117. package/dist/main.js.map +1 -1
  118. package/dist/mainmast-idle.e2e.test.d.ts +1 -0
  119. package/dist/mainmast-idle.e2e.test.js +99 -0
  120. package/dist/mainmast-idle.e2e.test.js.map +1 -0
  121. package/dist/mainmast-queue.e2e.test.d.ts +1 -0
  122. package/dist/mainmast-queue.e2e.test.js +244 -0
  123. package/dist/mainmast-queue.e2e.test.js.map +1 -0
  124. package/dist/mainmast-warmup.e2e.test.d.ts +1 -0
  125. package/dist/mainmast-warmup.e2e.test.js +130 -0
  126. package/dist/mainmast-warmup.e2e.test.js.map +1 -0
  127. package/dist/mainmast.d.ts +6 -0
  128. package/dist/mainmast.e2e.test.d.ts +1 -0
  129. package/dist/mainmast.e2e.test.js +428 -0
  130. package/dist/mainmast.e2e.test.js.map +1 -0
  131. package/dist/mainmast.js +156 -0
  132. package/dist/mainmast.js.map +1 -0
  133. package/dist/markdown/markdown.test.js +14 -4
  134. package/dist/markdown/markdown.test.js.map +1 -1
  135. package/dist/markdown/render-markdown.js +9 -6
  136. package/dist/markdown/render-markdown.js.map +1 -1
  137. package/dist/onboarding-cli.e2e.test.js +7 -6
  138. package/dist/onboarding-cli.e2e.test.js.map +1 -1
  139. package/dist/onboarding.d.ts +3 -10
  140. package/dist/onboarding.e2e.test.js +8 -10
  141. package/dist/onboarding.e2e.test.js.map +1 -1
  142. package/dist/onboarding.js +14 -24
  143. package/dist/onboarding.js.map +1 -1
  144. package/dist/permissions.e2e.test.js +3 -3
  145. package/dist/plugin/coordinator.d.ts +4 -0
  146. package/dist/plugin/coordinator.js +389 -0
  147. package/dist/plugin/coordinator.js.map +1 -0
  148. package/dist/plugin/index.js +93 -61
  149. package/dist/plugin/index.js.map +1 -1
  150. package/dist/plugin/mainmast.d.ts +4 -0
  151. package/dist/plugin/mainmast.js +379 -0
  152. package/dist/plugin/mainmast.js.map +1 -0
  153. package/dist/plugin.e2e.test.js +1 -1
  154. package/dist/preference-commands.e2e.test.js +103 -24
  155. package/dist/preference-commands.e2e.test.js.map +1 -1
  156. package/dist/project.d.ts +1 -1
  157. package/dist/prompt.d.ts +22 -9
  158. package/dist/prompt.js +64 -48
  159. package/dist/prompt.js.map +1 -1
  160. package/dist/questions.e2e.test.js +13 -13
  161. package/dist/queue-sources.e2e.test.d.ts +1 -0
  162. package/dist/queue-sources.e2e.test.js +168 -0
  163. package/dist/queue-sources.e2e.test.js.map +1 -0
  164. package/dist/queue.d.ts +9 -1
  165. package/dist/queue.e2e.test.js +48 -30
  166. package/dist/queue.e2e.test.js.map +1 -1
  167. package/dist/queue.js +97 -24
  168. package/dist/queue.js.map +1 -1
  169. package/dist/queue.test.d.ts +1 -0
  170. package/dist/queue.test.js +57 -0
  171. package/dist/queue.test.js.map +1 -0
  172. package/dist/remote-send.e2e.test.js +6 -6
  173. package/dist/remote-send.js +2 -1
  174. package/dist/remote-send.js.map +1 -1
  175. package/dist/renderer.e2e.test.js +7 -7
  176. package/dist/restart.e2e.test.js +2 -2
  177. package/dist/routines.e2e.test.js +2 -2
  178. package/dist/scheduler.d.ts +3 -3
  179. package/dist/scheduler.e2e.test.js +43 -20
  180. package/dist/scheduler.e2e.test.js.map +1 -1
  181. package/dist/scheduler.js +4 -2
  182. package/dist/scheduler.js.map +1 -1
  183. package/dist/schema-sql.d.ts +1 -1
  184. package/dist/schema-sql.js +1 -1
  185. package/dist/schema-sql.js.map +1 -1
  186. package/dist/schema.d.ts +152 -6
  187. package/dist/schema.js +12 -0
  188. package/dist/schema.js.map +1 -1
  189. package/dist/session-commands.e2e.test.js +36 -11
  190. package/dist/session-commands.e2e.test.js.map +1 -1
  191. package/dist/session-events.d.ts +18 -6
  192. package/dist/session-events.js +175 -27
  193. package/dist/session-events.js.map +1 -1
  194. package/dist/session-ops.e2e.test.js +63 -12
  195. package/dist/session-ops.e2e.test.js.map +1 -1
  196. package/dist/sessions.d.ts +44 -21
  197. package/dist/sessions.js +177 -65
  198. package/dist/sessions.js.map +1 -1
  199. package/dist/shell.e2e.test.js +4 -4
  200. package/dist/slash-commands.js +6 -4
  201. package/dist/slash-commands.js.map +1 -1
  202. package/dist/slash-commands.test.js +2 -0
  203. package/dist/slash-commands.test.js.map +1 -1
  204. package/dist/sleep.e2e.test.js +29 -14
  205. package/dist/sleep.e2e.test.js.map +1 -1
  206. package/dist/sleeps.d.ts +2 -1
  207. package/dist/sleeps.js +21 -3
  208. package/dist/sleeps.js.map +1 -1
  209. package/dist/store.d.ts +1 -0
  210. package/dist/store.js +3 -2
  211. package/dist/store.js.map +1 -1
  212. package/dist/system-prompt.d.ts +5 -15
  213. package/dist/system-prompt.js +180 -131
  214. package/dist/system-prompt.js.map +1 -1
  215. package/dist/test/generate-log-plugin/index.d.ts +3 -0
  216. package/dist/test/generate-log-plugin/index.js +15 -0
  217. package/dist/test/generate-log-plugin/index.js.map +1 -0
  218. package/dist/test/harness.d.ts +20 -2
  219. package/dist/test/harness.js +51 -11
  220. package/dist/test/harness.js.map +1 -1
  221. package/dist/test/replay.js +11 -8
  222. package/dist/test/replay.js.map +1 -1
  223. package/dist/thread-reducer.d.ts +29 -6
  224. package/dist/thread-reducer.fixtures.test.js +58 -51
  225. package/dist/thread-reducer.fixtures.test.js.map +1 -1
  226. package/dist/thread-reducer.js +109 -50
  227. package/dist/thread-reducer.js.map +1 -1
  228. package/dist/thread-reducer.test.js +190 -48
  229. package/dist/thread-reducer.test.js.map +1 -1
  230. package/dist/tunnel.d.ts +9 -0
  231. package/dist/tunnel.js +117 -28
  232. package/dist/tunnel.js.map +1 -1
  233. package/dist/tunnel.test.js +81 -5
  234. package/dist/tunnel.test.js.map +1 -1
  235. package/dist/voice-attachments.e2e.test.js +108 -18
  236. package/dist/voice-attachments.e2e.test.js.map +1 -1
  237. package/dist/voice-call.e2e.test.js +9 -9
  238. package/dist/voice-call.js +6 -6
  239. package/dist/voice-call.js.map +1 -1
  240. package/dist/voice-openai.e2e.test.js +59 -23
  241. package/dist/voice-openai.e2e.test.js.map +1 -1
  242. package/dist/voice.d.ts +1 -1
  243. package/dist/voice.js +72 -24
  244. package/dist/voice.js.map +1 -1
  245. package/dist/working-directory.e2e.test.js +11 -11
  246. package/dist/working-directory.e2e.test.js.map +1 -1
  247. package/package.json +11 -5
  248. package/skills/kimaki-tunnel/SKILL.md +3 -2
  249. package/src/agent-ui.e2e.test.ts +27 -13
  250. package/src/agent-ui.ts +2 -1
  251. package/src/analytics.e2e.test.ts +1 -1
  252. package/src/autostart.ts +55 -10
  253. package/src/bot.ts +36 -19
  254. package/src/btw.e2e.test.ts +3 -3
  255. package/src/builtin-skills.test.ts +73 -1
  256. package/src/builtin-skills.ts +33 -0
  257. package/src/catalog-refresh.e2e.test.ts +2 -2
  258. package/src/cli/bot.ts +30 -19
  259. package/src/cli/discord.ts +30 -6
  260. package/src/cli/schedule.ts +23 -9
  261. package/src/cli/session.ts +35 -12
  262. package/src/cli/shared.ts +43 -8
  263. package/src/cli-discord.e2e.test.ts +13 -8
  264. package/src/cli-lock.e2e.test.ts +88 -20
  265. package/src/cli-read.e2e.test.ts +17 -8
  266. package/src/cli-sessions.e2e.test.ts +4 -3
  267. package/src/cli.ts +2 -0
  268. package/src/commands/preference-commands.ts +38 -4
  269. package/src/commands/session-commands.ts +12 -7
  270. package/src/commands/thread-commands.ts +92 -24
  271. package/src/commands/worktree-commands.ts +10 -9
  272. package/src/commands.e2e.test.ts +25 -21
  273. package/src/coordinator-agents.e2e.test.ts +145 -0
  274. package/src/coordinator-idle.e2e.test.ts +122 -0
  275. package/src/coordinator-queue.e2e.test.ts +279 -0
  276. package/src/coordinator-warmup.e2e.test.ts +158 -0
  277. package/src/coordinator.e2e.test.ts +545 -0
  278. package/src/coordinator.ts +168 -0
  279. package/src/db.test.ts +1 -0
  280. package/src/diagram.test.ts +56 -0
  281. package/src/diagram.ts +243 -0
  282. package/src/duration.ts +13 -5
  283. package/src/effects.ts +99 -27
  284. package/src/event-loop.ts +71 -45
  285. package/src/format-parts.ts +53 -22
  286. package/src/gateway-replay.e2e.test.ts +4 -4
  287. package/src/harness.e2e.test.ts +2 -2
  288. package/src/hello-thread.e2e.test.ts +59 -5
  289. package/src/ingress.ts +44 -11
  290. package/src/interaction-context.ts +12 -11
  291. package/src/interrupt.e2e.test.ts +8 -5
  292. package/src/legacy.e2e.test.ts +1 -1
  293. package/src/lock-routes.ts +62 -8
  294. package/src/lock-server.ts +23 -7
  295. package/src/main.ts +26 -10
  296. package/src/markdown/markdown.test.ts +15 -4
  297. package/src/markdown/render-markdown.ts +9 -6
  298. package/src/onboarding-cli.e2e.test.ts +7 -6
  299. package/src/onboarding.e2e.test.ts +8 -10
  300. package/src/onboarding.ts +13 -29
  301. package/src/permissions.e2e.test.ts +3 -3
  302. package/src/plugin/coordinator.ts +401 -0
  303. package/src/plugin/index.ts +86 -59
  304. package/src/plugin.e2e.test.ts +1 -1
  305. package/src/preference-commands.e2e.test.ts +103 -23
  306. package/src/prompt.ts +87 -43
  307. package/src/questions.e2e.test.ts +13 -13
  308. package/src/queue-sources.e2e.test.ts +197 -0
  309. package/src/queue.e2e.test.ts +48 -30
  310. package/src/queue.test.ts +59 -0
  311. package/src/queue.ts +104 -24
  312. package/src/remote-send.e2e.test.ts +6 -6
  313. package/src/remote-send.ts +2 -1
  314. package/src/renderer.e2e.test.ts +7 -7
  315. package/src/restart.e2e.test.ts +2 -2
  316. package/src/routines.e2e.test.ts +2 -2
  317. package/src/scheduler.e2e.test.ts +45 -19
  318. package/src/scheduler.ts +4 -2
  319. package/src/schema-sql.ts +1 -1
  320. package/src/schema.ts +13 -0
  321. package/src/session-commands.e2e.test.ts +38 -11
  322. package/src/session-events.ts +168 -25
  323. package/src/session-ops.e2e.test.ts +64 -11
  324. package/src/sessions.ts +217 -67
  325. package/src/shell.e2e.test.ts +4 -4
  326. package/src/slash-commands.test.ts +2 -0
  327. package/src/slash-commands.ts +6 -4
  328. package/src/sleep.e2e.test.ts +30 -13
  329. package/src/sleeps.ts +20 -3
  330. package/src/store.ts +5 -2
  331. package/src/system-prompt.ts +190 -134
  332. package/src/test/generate-log-plugin/index.ts +16 -0
  333. package/src/test/harness.ts +77 -17
  334. package/src/test/replay.ts +12 -7
  335. package/src/thread-reducer.fixtures.test.ts +58 -51
  336. package/src/thread-reducer.test.ts +199 -49
  337. package/src/thread-reducer.ts +135 -66
  338. package/src/tunnel.test.ts +81 -5
  339. package/src/tunnel.ts +124 -25
  340. package/src/voice-attachments.e2e.test.ts +110 -18
  341. package/src/voice-call.e2e.test.ts +9 -9
  342. package/src/voice-call.ts +6 -6
  343. package/src/voice-openai.e2e.test.ts +64 -24
  344. package/src/voice.ts +93 -26
  345. package/src/working-directory.e2e.test.ts +11 -11
  346. package/src/message-tool.e2e.test.ts +0 -45
package/dist/prompt.js CHANGED
@@ -16,16 +16,16 @@ import path from 'node:path';
16
16
  import crypto from 'node:crypto';
17
17
  import { Events, MessageFlags } from 'discord.js';
18
18
  import * as errore from 'errore';
19
- import { fetchThread, oc, parseModel, projectOf, rootSession, routeText, textChannel, threadOfSession, } from "./bot.js";
19
+ import { fetchConversation, oc, parseModel, projectChannelOf, projectOf, rootSession, routeText, textChannel, threadOfSession, } from "./bot.js";
20
20
  import { switchModel } from "./commands/preference-commands.js";
21
21
  import { ConfigError, DbError, DiscordError, OpenCodeError, OpenCodeUnavailableError } from "./errors.js";
22
22
  import { formatError, NOTIFY_MESSAGE_FLAGS } from "./format-parts.js";
23
23
  import { createLogger } from "./logger.js";
24
- import { formatEcho } from "./queue.js";
24
+ import { discordMessageId, formatEcho } from "./queue.js";
25
25
  import { noAnswerError, parseRemoteResult, remoteEnvelope, promptFilePath, REMOTE_TIMEOUT_MS } from "./remote-send.js";
26
26
  import { parseTextMessage } from "./routes.js";
27
27
  import { allMessages } from "./session-events.js";
28
- import { ensureSessionMarker, forkBtw, startSession, switchAgent, threadProject } from "./sessions.js";
28
+ import { ensureSessionMarker, forkBtw, startSession, switchAgent, conversationProject } from "./sessions.js";
29
29
  import { cancelSleep } from "./sleeps.js";
30
30
  import { attachmentsBlock } from "./system-prompt.js";
31
31
  import { isBusy } from "./thread-reducer.js";
@@ -35,7 +35,7 @@ const logger = createLogger('PROMPT');
35
35
  export function promptIdForMessage(messageId) {
36
36
  return `msg_discord_${messageId}`;
37
37
  }
38
- export async function prompt(bot, { sessionId, threadId, threadName, text, author, messageId, delivery, files = [], skills = [], id = promptIdForMessage(messageId), echo, }) {
38
+ export async function prompt(bot, { sessionId, threadId, threadName, text, author, messageId, delivery, files = [], skills = [], id = promptIdForMessage(messageId), echo, sender, }) {
39
39
  const { attached, attachments } = await splitPromptFiles(files);
40
40
  // The text stays as the user wrote it. The plugin renders the <discord-user>
41
41
  // context from this metadata into the model request only (turnContext()).
@@ -47,7 +47,7 @@ export async function prompt(bot, { sessionId, threadId, threadName, text, autho
47
47
  files: attached,
48
48
  ...(skills.length > 0 && { skills: skills.map((skill) => ({ id: skill })) }),
49
49
  delivery,
50
- metadata: { discord: { ...discord, ...(echo && { echo }) } },
50
+ metadata: { discord: { ...discord, ...(echo && { echo }) }, ...(sender && { sender }) },
51
51
  }));
52
52
  if (result instanceof Error)
53
53
  return result;
@@ -230,7 +230,7 @@ async function command(bot, input) {
230
230
  }
231
231
  const { attached, attachments } = await splitPromptFiles(input.files);
232
232
  const block = attachmentsBlock(attachments);
233
- bot.eventLoop.dispatch(input.threadId, { type: 'kimaki.command', text: typed, username: input.author.username });
233
+ bot.eventLoop.dispatch(input.threadId, { type: 'kimaki.command', text: typed, username: input.author.username, messageId: discordMessageId(input.messageId), echo: input.echo ?? null });
234
234
  const result = await oc(bot, 'session.command', (client) => client.session.command({
235
235
  sessionID: input.sessionId,
236
236
  name: route.name,
@@ -244,8 +244,8 @@ async function command(bot, input) {
244
244
  }
245
245
  }
246
246
  // A route for an existing session (every kind that stays in its thread).
247
- export async function runInSession(bot, { sessionId, threadId, threadName, directory, route, author, messageId, files, echo, model, }) {
248
- const base = { sessionId, threadId, threadName, author, messageId, files, echo };
247
+ export async function runInSession(bot, { sessionId, threadId, threadName, directory, route, author, messageId, files, echo, sender, model, }) {
248
+ const base = { sessionId, threadId, threadName, author, messageId, files, echo, sender };
249
249
  switch (route.kind) {
250
250
  case 'shell':
251
251
  return shell(bot, { threadId, sessionId, command: route.command });
@@ -270,18 +270,18 @@ export async function runInSession(bot, { sessionId, threadId, threadName, direc
270
270
  }
271
271
  }
272
272
  // One entry point for thread input of every source (spec 9.4).
273
- export async function dispatch(bot, { thread, route, author, messageId, files = [], echo, model, }) {
274
- const sessionId = rootSession(bot, thread.id);
273
+ export async function dispatch(bot, { conversation, route, author, messageId, files = [], echo, sender, model, parentSessionId, }) {
274
+ const sessionId = rootSession(bot, conversation.id);
275
275
  if (sessionId instanceof Error)
276
276
  return sessionId;
277
277
  // New input supersedes a pending `kimaki sleep` of this session.
278
278
  await cancelSleep(bot, sessionId);
279
- const project = await threadProject(bot, thread);
279
+ const project = await conversationProject(bot, conversation);
280
280
  if (project instanceof Error)
281
281
  return project;
282
282
  const marked = await ensureSessionMarker(bot, {
283
283
  sessionId,
284
- thread,
284
+ conversation,
285
285
  channelId: project.channelId,
286
286
  directory: project.directory,
287
287
  userId: author.id,
@@ -290,9 +290,9 @@ export async function dispatch(bot, { thread, route, author, messageId, files =
290
290
  return marked;
291
291
  switch (route.kind) {
292
292
  case 'btw':
293
- return forkBtw(bot, { sourceThread: thread, text: route.text, author, messageId, files, agent: route.agent });
293
+ return forkBtw(bot, { source: conversation, text: route.text, author, messageId, files, agent: route.agent, parentSessionId, sender });
294
294
  case 'new-session':
295
- // A fresh thread in the same channel, with no history.
295
+ // A fresh conversation in the same channel, with no history.
296
296
  return startSession(bot, {
297
297
  channelId: project.channelId,
298
298
  directory: project.directory,
@@ -301,20 +301,27 @@ export async function dispatch(bot, { thread, route, author, messageId, files =
301
301
  messageId,
302
302
  startMessageId: null,
303
303
  files,
304
+ sender,
304
305
  });
305
- default:
306
+ default: {
307
+ // The coordinator keeps its agent and model: a worker's `kimaki send --agent <current_agent>` names the worker's agent.
308
+ const coordinator = !conversation.isThread();
309
+ if (coordinator && route.kind === 'steer' && route.agent)
310
+ logger.log(`ignoring agent ${route.agent} of a prompt to coordinator ${conversation.id}`);
306
311
  return runInSession(bot, {
307
312
  sessionId,
308
- threadId: thread.id,
309
- threadName: thread.name,
313
+ threadId: conversation.id,
314
+ threadName: conversation.name,
310
315
  directory: project.directory,
311
- route,
316
+ route: coordinator && route.kind === 'steer' ? { kind: 'steer', text: route.text } : route,
312
317
  author,
313
318
  messageId,
314
319
  files,
315
320
  echo,
316
- model,
321
+ sender,
322
+ model: coordinator ? null : model,
317
323
  });
324
+ }
318
325
  }
319
326
  }
320
327
  // --- Session history: /undo, /redo.
@@ -419,7 +426,9 @@ async function remoteSend(bot, input) {
419
426
  }
420
427
  // `localOnly`: never forward to another machine (remote envelopes, scheduled runs).
421
428
  // `task`: a scheduled run; its input shows as "» routine #N: prompt".
422
- export async function send(bot, input, { localOnly = false, task } = {}) {
429
+ // `shownIn`: a Discord message that already shows the prompt (remote envelope, clicked buttons).
430
+ // Without it the thread shows the prompt as an echo.
431
+ export async function send(bot, input, { localOnly = false, task, shownIn } = {}) {
423
432
  if (input.worktree !== undefined && (input.cwd || input.threadId || input.sessionId || input.notifyOnly)) {
424
433
  return new ConfigError({ reason: '--worktree requires a new session without --cwd or --notify-only.' });
425
434
  }
@@ -430,12 +439,18 @@ export async function send(bot, input, { localOnly = false, task } = {}) {
430
439
  }
431
440
  const userIds = (input.user ?? []).map((user) => user.replace(/[<@!>]/g, ''));
432
441
  const author = { id: userIds[0] ?? bot.discord.user.id, username: task ? `routine #${task.id}` : 'CLI' };
433
- // Every --user joins the thread; startSession adds the author of a new session itself.
434
- const addMembers = async (thread, ids) => {
442
+ // Every --user joins the thread; startSession adds them to a new session itself.
443
+ // Not awaited: the prompt does not wait for Discord round trips.
444
+ const addMembers = (thread, ids) => {
445
+ // A coordinator channel has no thread members to add.
446
+ if (!thread.isThread())
447
+ return;
435
448
  for (const id of ids)
436
- await thread.members.add(id).catch((error) => logger.warn(`add thread member ${id}`, error));
449
+ void thread.members.add(id).catch((error) => logger.warn(`add thread member ${id}`, error));
437
450
  };
438
- const messageId = crypto.randomUUID();
451
+ const messageId = shownIn ?? crypto.randomUUID();
452
+ // Also set without a session (routines, a terminal): it marks the prompt as not typed by a person.
453
+ const sender = { ...(input.senderSessionId && { sessionId: input.senderSessionId }), ...(input.wait !== undefined && { waitUntil: Date.now() + input.wait * 1000 }) };
439
454
  const route = parseTextMessage({ content: input.prompt });
440
455
  if (!route)
441
456
  return new ConfigError({ reason: 'Prompt is empty' });
@@ -445,27 +460,33 @@ export async function send(bot, input, { localOnly = false, task } = {}) {
445
460
  const threadId = input.threadId ?? threadOfSession(bot, input.sessionId);
446
461
  if (!threadId)
447
462
  return new ConfigError({ reason: 'No local thread for this session. Use --thread on its owning machine.' });
448
- const thread = await fetchThread(bot, threadId);
463
+ const thread = await fetchConversation(bot, threadId);
449
464
  if (thread instanceof Error)
450
465
  return thread;
451
466
  const sessionId = bot.store.getState().roots[thread.id];
452
467
  if (!sessionId) {
453
- const project = thread.parentId ? await projectOf(bot, thread.parentId) : null;
468
+ const channelId = projectChannelOf(thread);
469
+ const project = channelId ? await projectOf(bot, channelId) : null;
454
470
  if (project instanceof Error)
455
471
  return project;
456
472
  return !project && !localOnly ? remoteSend(bot, input) : new ConfigError({ reason: 'No local session for this thread' });
457
473
  }
458
- await addMembers(thread, userIds);
459
- if (input.model) {
460
- const model = parseModel(input.model, null);
461
- if (!model)
462
- return new ConfigError({ reason: 'Use --model provider/model' });
463
- const switched = await switchModel(bot, { sessionId, model: { ...model, variant: null } });
474
+ addMembers(thread, userIds);
475
+ const explicit = input.model ? parseModel(input.model, null) : null;
476
+ if (input.model && !explicit)
477
+ return new ConfigError({ reason: 'Use --model provider/model' });
478
+ // The coordinator keeps its model; /model in its channel changes it.
479
+ const model = explicit && thread.isThread() ? { ...explicit, variant: null } : null;
480
+ if (explicit && !model)
481
+ logger.log(`ignoring --model ${input.model} of a prompt to coordinator ${thread.id}`);
482
+ if (model) {
483
+ const switched = await switchModel(bot, { sessionId, model });
464
484
  if (switched instanceof Error)
465
485
  return switched;
466
486
  }
467
- const echo = task ? formatEcho({ username: author.username, text: routeText(route) }) : undefined;
468
- const result = await dispatch(bot, { thread, route, author, messageId, files: input.files, echo });
487
+ const echo = shownIn ? undefined : formatEcho({ username: author.username, text: routeText(route) });
488
+ // --model reaches the agent switch too, so an agent with its own model cannot replace it.
489
+ const result = await dispatch(bot, { conversation: thread, route, author, messageId, files: input.files, echo, sender, parentSessionId: input.parentSessionId, model });
469
490
  if (result instanceof Error)
470
491
  return result;
471
492
  return result ?? { threadId, sessionId: bot.store.getState().roots[threadId] };
@@ -496,7 +517,7 @@ export async function send(bot, input, { localOnly = false, task } = {}) {
496
517
  .catch((cause) => new DiscordError({ operation: 'post notification', cause }));
497
518
  if (shown instanceof Error)
498
519
  return shown;
499
- await addMembers(thread, userIds);
520
+ addMembers(thread, userIds);
500
521
  return { threadId: thread.id, sessionId: null };
501
522
  }
502
523
  const directory = await resolveWorkingDirectory({ projectDirectory: project.directory, candidate: input.cwd ?? project.directory });
@@ -523,30 +544,24 @@ export async function send(bot, input, { localOnly = false, task } = {}) {
523
544
  : task && input.worktree
524
545
  ? `${input.worktree.slice(0, 40)}-${crypto.randomBytes(4).toString('hex')}`
525
546
  : input.worktree;
526
- const started = await startSession(bot, {
547
+ return startSession(bot, {
527
548
  channelId: project.channel_id,
528
549
  directory,
529
550
  route: first,
530
551
  author,
552
+ members: userIds.slice(1),
531
553
  messageId,
532
554
  startMessageId: null,
533
555
  threadName: input.name,
534
556
  files: input.files,
535
557
  permissions,
536
558
  parentSessionId: input.parentSessionId,
559
+ sender,
537
560
  task,
538
561
  worktree,
539
562
  baseBranch: input.baseBranch,
540
563
  ...(model && { model: { ...model, variant: null } }),
541
564
  });
542
- if (started instanceof Error || userIds.length < 2)
543
- return started;
544
- const thread = await fetchThread(bot, started.threadId);
545
- if (thread instanceof Error)
546
- logger.warn(`add thread members`, thread);
547
- else
548
- await addMembers(thread, userIds.slice(1));
549
- return started;
550
565
  }
551
566
  // `kimaki upload-to-discord`: posts local files into the session's thread (or the voice channel chat),
552
567
  // after the output already queued there. Answers once Discord has them.
@@ -569,9 +584,10 @@ export async function upload(bot, { id, files }) {
569
584
  return new ConfigError({ reason: `File not found: ${file.path}` });
570
585
  sized.push({ ...file, size: stat.size });
571
586
  }
572
- const error = await new Promise((settle) => bot.effects.run(threadId, [{ type: 'attachments', files: sized, settle }]));
573
- if (error)
574
- return error;
575
- return { uploaded: files.map((file) => file.name) };
587
+ const urls = await new Promise((settle) => bot.effects.run(threadId, [{ type: 'attachments', files: sized, settle }]));
588
+ if (urls instanceof Error)
589
+ return urls;
590
+ // Discord keeps attachments in upload order. The URLs let a coordinator repost the files.
591
+ return { uploaded: files.map((file, index) => ({ name: file.name, url: urls[index] ?? null })) };
576
592
  }
577
593
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
@@ -105,14 +105,14 @@ test('single question answered from the dropdown', async () => {
105
105
  await waitForFooter({ discord: twin.discord, threadId: thread.id });
106
106
  expect(await twin.discord.thread(thread.id).text({ showInteractions: true })).toMatchInlineSnapshot(`
107
107
  "--- from: assistant (TestBot)
108
- » **CLI:** Pick a color ask-one
108
+ -# » **CLI:** Pick a color ask-one
109
109
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
110
110
  **Color**
111
111
  Which color do you prefer?
112
112
  ✓ _Blue_
113
113
  [user selects dropdown: 1]
114
114
  answers received ask-one
115
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
115
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
116
116
  `);
117
117
  });
118
118
  test('two questions: the form is answered after both, multi-select keeps options picked with Other', async () => {
@@ -129,7 +129,7 @@ test('two questions: the form is answered after both, multi-select keeps options
129
129
  await waitForFooter({ discord: twin.discord, threadId: thread.id });
130
130
  expect(await twin.discord.thread(thread.id).text()).toMatchInlineSnapshot(`
131
131
  "--- from: assistant (TestBot)
132
- » **CLI:** Two questions ask-two
132
+ -# » **CLI:** Two questions ask-two
133
133
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
134
134
  **Color**
135
135
  Which color do you prefer?
@@ -138,7 +138,7 @@ test('two questions: the form is answered after both, multi-select keeps options
138
138
  Which fruits do you like?
139
139
  ✓ _Apple, Kiwi, Banana_
140
140
  answers received ask-two
141
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
141
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
142
142
  `);
143
143
  const sessionId = bot.store.getState().roots[thread.id];
144
144
  const messages = await (await server.client()).message.list({ sessionID: sessionId });
@@ -154,13 +154,13 @@ test('Other opens a modal and sends the typed answer', async () => {
154
154
  await waitForFooter({ discord: twin.discord, threadId: thread.id });
155
155
  expect(await twin.discord.thread(thread.id).text()).toMatchInlineSnapshot(`
156
156
  "--- from: assistant (TestBot)
157
- » **CLI:** Custom color ask-other
157
+ -# » **CLI:** Custom color ask-other
158
158
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
159
159
  **Color**
160
160
  Which color do you prefer?
161
161
  ✓ _Teal_
162
162
  answers received ask-other
163
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
163
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
164
164
  `);
165
165
  });
166
166
  test('OpenCode forms without the question tool (web search setup, yes/no) show labels and send typed values', async () => {
@@ -210,10 +210,10 @@ test('OpenCode forms without the question tool (web search setup, yes/no) show l
210
210
  `);
211
211
  expect(await twin.discord.thread(thread.id).text()).toMatchInlineSnapshot(`
212
212
  "--- from: assistant (TestBot)
213
- » **CLI:** Hello instead-marker
213
+ -# » **CLI:** Hello instead-marker
214
214
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
215
215
  did the other thing
216
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*
216
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*
217
217
  **Web Search**
218
218
  Allow OpenCode to search the web for up-to-date information?
219
219
  ✓ _Disable web search_
@@ -229,7 +229,7 @@ test('a new message cancels the pending question and is answered', async () => {
229
229
  await waitForFooter({ discord: twin.discord, threadId: thread.id });
230
230
  expect(await twin.discord.thread(thread.id).text()).toMatchInlineSnapshot(`
231
231
  "--- from: assistant (TestBot)
232
- » **CLI:** Ask then change ask-cancel
232
+ -# » **CLI:** Ask then change ask-cancel
233
233
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
234
234
  **Color**
235
235
  Which color do you prefer?
@@ -238,7 +238,7 @@ test('a new message cancels the pending question and is answered', async () => {
238
238
  Forget it instead-marker
239
239
  --- from: assistant (TestBot)
240
240
  did the other thing
241
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
241
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
242
242
  `);
243
243
  });
244
244
  test('a restarted bot shows the pending question again and it still works', async () => {
@@ -256,7 +256,7 @@ test('a restarted bot shows the pending question again and it still works', asyn
256
256
  await waitForFooter({ discord: twin.discord, threadId: thread.id });
257
257
  expect(await twin.discord.thread(thread.id).text()).toMatchInlineSnapshot(`
258
258
  "--- from: assistant (TestBot)
259
- » **CLI:** Survive restart ask-restart
259
+ -# » **CLI:** Survive restart ask-restart
260
260
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
261
261
  **Color**
262
262
  Which color do you prefer?
@@ -264,7 +264,7 @@ test('a restarted bot shows the pending question again and it still works', asyn
264
264
  Which color do you prefer?
265
265
  ✓ _Red_
266
266
  answers received ask-restart
267
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
267
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
268
268
  `);
269
269
  });
270
270
  test('Kimaki sessions hide the question tool by default', async () => {
@@ -279,7 +279,7 @@ test('Kimaki sessions hide the question tool by default', async () => {
279
279
  --- from: assistant (TestBot)
280
280
  -# *using deterministic-provider/deterministic-v2 ⋅ build*
281
281
  answers received ask-denied
282
- -# *project ⋅ main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
282
+ -# *main ⋅ Ns ⋅ N% ⋅ deterministic-v2*"
283
283
  `);
284
284
  const messages = await twin.discord.thread(thread.id).getMessages();
285
285
  expect(messages.flatMap(selectsOf)).toEqual([]);
@@ -0,0 +1 @@
1
+ export {};