@meetquinn/animactl 0.1.2 → 0.1.3

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 (289) hide show
  1. package/README.md +11 -6
  2. package/dist/server/{runtime/activity-payload.d.ts → activities/format.d.ts} +4 -1
  3. package/dist/server/activities/format.d.ts.map +1 -0
  4. package/dist/server/{runtime/activity-payload.js → activities/format.js} +16 -1
  5. package/dist/server/agents/agent-skills.d.ts +7 -3
  6. package/dist/server/agents/agent-skills.d.ts.map +1 -1
  7. package/dist/server/agents/agent-skills.js +243 -38
  8. package/dist/server/agents/agent-slack.service.d.ts +15 -0
  9. package/dist/server/agents/agent-slack.service.d.ts.map +1 -1
  10. package/dist/server/agents/agent-slack.service.js +43 -6
  11. package/dist/server/agents/default-skills.d.ts +9 -0
  12. package/dist/server/agents/default-skills.d.ts.map +1 -0
  13. package/dist/server/agents/default-skills.js +52 -0
  14. package/dist/server/cli/runtime-cli.d.ts +7 -1
  15. package/dist/server/cli/runtime-cli.d.ts.map +1 -1
  16. package/dist/server/cli/runtime-cli.js +107 -3
  17. package/dist/server/cli/services-cli.d.ts.map +1 -1
  18. package/dist/server/cli/services-cli.js +39 -0
  19. package/dist/server/inbox/slack-subscriber.d.ts +2 -0
  20. package/dist/server/inbox/slack-subscriber.d.ts.map +1 -1
  21. package/dist/server/inbox/slack-subscriber.js +28 -2
  22. package/dist/server/inbox/slack-subscription.service.d.ts.map +1 -1
  23. package/dist/server/inbox/slack-subscription.service.js +13 -1
  24. package/dist/server/inbox/wake-queue.service.d.ts +3 -1
  25. package/dist/server/inbox/wake-queue.service.d.ts.map +1 -1
  26. package/dist/server/inbox/wake-queue.service.js +5 -3
  27. package/dist/server/provider-usage/http.d.ts +1 -0
  28. package/dist/server/provider-usage/http.d.ts.map +1 -1
  29. package/dist/server/provider-usage/http.js +23 -1
  30. package/dist/server/provider-usage/provider-usage.service.d.ts +1 -4
  31. package/dist/server/provider-usage/provider-usage.service.d.ts.map +1 -1
  32. package/dist/server/provider-usage/provider-usage.service.js +1 -18
  33. package/dist/server/provider-usage/providers/claude.d.ts +1 -1
  34. package/dist/server/provider-usage/providers/claude.d.ts.map +1 -1
  35. package/dist/server/provider-usage/providers/claude.js +1 -1
  36. package/dist/server/provider-usage/providers/codex.d.ts +1 -1
  37. package/dist/server/provider-usage/providers/codex.d.ts.map +1 -1
  38. package/dist/server/provider-usage/providers/codex.js +1 -1
  39. package/dist/server/provider-usage/providers/kimi.d.ts +1 -1
  40. package/dist/server/provider-usage/providers/kimi.d.ts.map +1 -1
  41. package/dist/server/provider-usage/providers/kimi.js +4 -4
  42. package/dist/server/provider-usage/result.d.ts +5 -0
  43. package/dist/server/provider-usage/result.d.ts.map +1 -0
  44. package/dist/server/provider-usage/result.js +18 -0
  45. package/dist/server/providers/active-runtime.d.ts +1 -1
  46. package/dist/server/providers/active-runtime.d.ts.map +1 -1
  47. package/dist/server/providers/claude-events.d.ts +1 -1
  48. package/dist/server/providers/claude-events.d.ts.map +1 -1
  49. package/dist/server/providers/claude-events.js +2 -2
  50. package/dist/server/providers/claude.d.ts +1 -1
  51. package/dist/server/providers/claude.d.ts.map +1 -1
  52. package/dist/server/providers/claude.js +2 -2
  53. package/dist/server/providers/codex-app-server.d.ts +1 -1
  54. package/dist/server/providers/codex-app-server.d.ts.map +1 -1
  55. package/dist/server/providers/codex-app-server.js +1 -1
  56. package/dist/server/providers/codex-events.js +1 -1
  57. package/dist/server/providers/codex.d.ts +1 -1
  58. package/dist/server/providers/codex.d.ts.map +1 -1
  59. package/dist/server/providers/codex.js +2 -2
  60. package/dist/server/{runtime/provider-contract.d.ts → providers/contract.d.ts} +1 -1
  61. package/dist/server/providers/contract.d.ts.map +1 -0
  62. package/dist/server/providers/factory.d.ts +1 -1
  63. package/dist/server/providers/factory.d.ts.map +1 -1
  64. package/dist/server/providers/kimi-events.d.ts +1 -1
  65. package/dist/server/providers/kimi-events.d.ts.map +1 -1
  66. package/dist/server/providers/kimi-events.js +1 -1
  67. package/dist/server/providers/kimi.d.ts +1 -1
  68. package/dist/server/providers/kimi.d.ts.map +1 -1
  69. package/dist/server/providers/kimi.js +3 -2
  70. package/dist/server/providers/reasoning-events.js +1 -1
  71. package/dist/server/runtime/active-run-control.d.ts +19 -0
  72. package/dist/server/runtime/active-run-control.d.ts.map +1 -0
  73. package/dist/server/runtime/active-run-control.js +89 -0
  74. package/dist/server/runtime/activity.js +1 -1
  75. package/dist/server/runtime/agent-runner.d.ts +1 -1
  76. package/dist/server/runtime/agent-runner.d.ts.map +1 -1
  77. package/dist/server/runtime/delivery-prompt.d.ts +6 -0
  78. package/dist/server/runtime/delivery-prompt.d.ts.map +1 -1
  79. package/dist/server/runtime/delivery-prompt.js +53 -34
  80. package/dist/server/runtime/followup-appender.d.ts +20 -0
  81. package/dist/server/runtime/followup-appender.d.ts.map +1 -0
  82. package/dist/server/runtime/followup-appender.js +128 -0
  83. package/dist/server/runtime/host.d.ts +2 -0
  84. package/dist/server/runtime/host.d.ts.map +1 -1
  85. package/dist/server/runtime/host.js +8 -0
  86. package/dist/server/runtime/provider-runner.d.ts +16 -0
  87. package/dist/server/runtime/provider-runner.d.ts.map +1 -0
  88. package/dist/server/runtime/provider-runner.js +86 -0
  89. package/dist/server/runtime/runtime-bridge.d.ts +1 -1
  90. package/dist/server/runtime/runtime-bridge.d.ts.map +1 -1
  91. package/dist/server/runtime/runtime-session.service.d.ts +1 -1
  92. package/dist/server/runtime/runtime-session.service.d.ts.map +1 -1
  93. package/dist/server/runtime/runtime-session.service.js +1 -1
  94. package/dist/server/runtime/runtime-worker.d.ts +2 -10
  95. package/dist/server/runtime/runtime-worker.d.ts.map +1 -1
  96. package/dist/server/runtime/runtime-worker.js +60 -286
  97. package/dist/server/runtime-management/managed-runtime.d.ts.map +1 -0
  98. package/dist/server/runtime-management/runtime-release.d.ts.map +1 -0
  99. package/dist/server/{runtime → runtime-management}/runtime-upgrade.d.ts +1 -0
  100. package/dist/server/runtime-management/runtime-upgrade.d.ts.map +1 -0
  101. package/dist/server/{runtime → runtime-management}/runtime-upgrade.js +14 -0
  102. package/dist/server/services/system.service.d.ts +41 -0
  103. package/dist/server/services/system.service.d.ts.map +1 -0
  104. package/dist/server/services/system.service.js +154 -0
  105. package/dist/server/settings/settings.service.d.ts +2 -1
  106. package/dist/server/settings/settings.service.d.ts.map +1 -1
  107. package/dist/server/settings/settings.service.js +9 -1
  108. package/dist/server/slack/shortcuts.d.ts +0 -3
  109. package/dist/server/slack/shortcuts.d.ts.map +1 -1
  110. package/dist/server/slack/shortcuts.js +0 -3
  111. package/dist/server/slack-interactions/shortcut-ids.d.ts +4 -0
  112. package/dist/server/slack-interactions/shortcut-ids.d.ts.map +1 -0
  113. package/dist/server/slack-interactions/shortcut-ids.js +3 -0
  114. package/dist/server/slack-interactions/shortcut-views.d.ts +65 -0
  115. package/dist/server/slack-interactions/shortcut-views.d.ts.map +1 -0
  116. package/dist/server/slack-interactions/shortcut-views.js +211 -0
  117. package/dist/server/{slack → slack-interactions}/shortcut.service.d.ts +2 -47
  118. package/dist/server/slack-interactions/shortcut.service.d.ts.map +1 -0
  119. package/dist/server/slack-interactions/shortcut.service.js +227 -0
  120. package/dist/server/storage/jsonl-log.d.ts +9 -0
  121. package/dist/server/storage/jsonl-log.d.ts.map +1 -1
  122. package/dist/server/storage/jsonl-log.js +36 -1
  123. package/dist/server/storage/schema/server.store.d.ts +5 -0
  124. package/dist/server/storage/schema/server.store.d.ts.map +1 -1
  125. package/dist/server/storage/schema/server.store.js +2 -1
  126. package/dist/server/storage/schema/wake-queue.store.d.ts +15 -1
  127. package/dist/server/storage/schema/wake-queue.store.d.ts.map +1 -1
  128. package/dist/server/storage/schema/wake-queue.store.js +5 -3
  129. package/dist/server/tests/agent-config.test.d.ts +2 -0
  130. package/dist/server/tests/agent-config.test.d.ts.map +1 -0
  131. package/dist/server/tests/agent-config.test.js +229 -0
  132. package/dist/server/tests/agent-runtime.test.d.ts +2 -0
  133. package/dist/server/tests/agent-runtime.test.d.ts.map +1 -0
  134. package/dist/server/tests/agent-runtime.test.js +1110 -0
  135. package/dist/server/tests/agent-seed-memory.test.d.ts +2 -0
  136. package/dist/server/tests/agent-seed-memory.test.d.ts.map +1 -0
  137. package/dist/server/tests/agent-seed-memory.test.js +16 -0
  138. package/dist/server/tests/agent-skills.test.d.ts +2 -0
  139. package/dist/server/tests/agent-skills.test.d.ts.map +1 -0
  140. package/dist/server/tests/agent-skills.test.js +140 -0
  141. package/dist/server/tests/anima-home.d.ts +2 -0
  142. package/dist/server/tests/anima-home.d.ts.map +1 -0
  143. package/dist/server/tests/anima-home.js +4 -0
  144. package/dist/server/tests/cli-file.test.d.ts +2 -0
  145. package/dist/server/tests/cli-file.test.d.ts.map +1 -0
  146. package/dist/server/tests/cli-file.test.js +596 -0
  147. package/dist/server/tests/cli-message.test.d.ts +2 -0
  148. package/dist/server/tests/cli-message.test.d.ts.map +1 -0
  149. package/dist/server/tests/cli-message.test.js +1196 -0
  150. package/dist/server/tests/client-error-routes.test.d.ts +2 -0
  151. package/dist/server/tests/client-error-routes.test.d.ts.map +1 -0
  152. package/dist/server/tests/client-error-routes.test.js +163 -0
  153. package/dist/server/tests/config.test.d.ts +2 -0
  154. package/dist/server/tests/config.test.d.ts.map +1 -0
  155. package/dist/server/tests/config.test.js +497 -0
  156. package/dist/server/tests/default-skills.test.d.ts +2 -0
  157. package/dist/server/tests/default-skills.test.d.ts.map +1 -0
  158. package/dist/server/tests/default-skills.test.js +57 -0
  159. package/dist/server/tests/helpers/inbox.d.ts +10 -0
  160. package/dist/server/tests/helpers/inbox.d.ts.map +1 -0
  161. package/dist/server/tests/helpers/inbox.js +21 -0
  162. package/dist/server/tests/helpers/slack.d.ts +11 -0
  163. package/dist/server/tests/helpers/slack.d.ts.map +1 -0
  164. package/dist/server/tests/helpers/slack.js +17 -0
  165. package/dist/server/tests/helpers/state.d.ts +19 -0
  166. package/dist/server/tests/helpers/state.d.ts.map +1 -0
  167. package/dist/server/tests/helpers/state.js +69 -0
  168. package/dist/server/tests/inbox-slack-events.test.d.ts +2 -0
  169. package/dist/server/tests/inbox-slack-events.test.d.ts.map +1 -0
  170. package/dist/server/tests/inbox-slack-events.test.js +271 -0
  171. package/dist/server/tests/inbox.test.d.ts +2 -0
  172. package/dist/server/tests/inbox.test.d.ts.map +1 -0
  173. package/dist/server/tests/inbox.test.js +144 -0
  174. package/dist/server/tests/interactive-ask.test.d.ts +2 -0
  175. package/dist/server/tests/interactive-ask.test.d.ts.map +1 -0
  176. package/dist/server/tests/interactive-ask.test.js +387 -0
  177. package/dist/server/tests/kb.test.d.ts +2 -0
  178. package/dist/server/tests/kb.test.d.ts.map +1 -0
  179. package/dist/server/tests/kb.test.js +371 -0
  180. package/dist/server/tests/message.service.test.d.ts +2 -0
  181. package/dist/server/tests/message.service.test.d.ts.map +1 -0
  182. package/dist/server/tests/message.service.test.js +151 -0
  183. package/dist/server/tests/messages.test.d.ts +2 -0
  184. package/dist/server/tests/messages.test.d.ts.map +1 -0
  185. package/dist/server/tests/messages.test.js +12 -0
  186. package/dist/server/tests/prompt-attachments.test.d.ts +2 -0
  187. package/dist/server/tests/prompt-attachments.test.d.ts.map +1 -0
  188. package/dist/server/tests/prompt-attachments.test.js +274 -0
  189. package/dist/server/tests/provider-usage.test.d.ts +2 -0
  190. package/dist/server/tests/provider-usage.test.d.ts.map +1 -0
  191. package/dist/server/tests/provider-usage.test.js +97 -0
  192. package/dist/server/tests/reminders.test.d.ts +2 -0
  193. package/dist/server/tests/reminders.test.d.ts.map +1 -0
  194. package/dist/server/tests/reminders.test.js +383 -0
  195. package/dist/server/tests/runtime-cli.test.d.ts +2 -0
  196. package/dist/server/tests/runtime-cli.test.d.ts.map +1 -0
  197. package/dist/server/tests/runtime-cli.test.js +21 -0
  198. package/dist/server/tests/runtime-upgrade.test.d.ts +2 -0
  199. package/dist/server/tests/runtime-upgrade.test.d.ts.map +1 -0
  200. package/dist/server/tests/runtime-upgrade.test.js +307 -0
  201. package/dist/server/tests/runtime-worker.test.d.ts +2 -0
  202. package/dist/server/tests/runtime-worker.test.d.ts.map +1 -0
  203. package/dist/server/tests/runtime-worker.test.js +1021 -0
  204. package/dist/server/tests/runtime.test.d.ts +2 -0
  205. package/dist/server/tests/runtime.test.d.ts.map +1 -0
  206. package/dist/server/tests/runtime.test.js +354 -0
  207. package/dist/server/tests/services.test.d.ts +2 -0
  208. package/dist/server/tests/services.test.d.ts.map +1 -0
  209. package/dist/server/tests/services.test.js +636 -0
  210. package/dist/server/tests/slack-files.test.d.ts +2 -0
  211. package/dist/server/tests/slack-files.test.d.ts.map +1 -0
  212. package/dist/server/tests/slack-files.test.js +118 -0
  213. package/dist/server/tests/slack-shortcuts.test.d.ts +2 -0
  214. package/dist/server/tests/slack-shortcuts.test.d.ts.map +1 -0
  215. package/dist/server/tests/slack-shortcuts.test.js +310 -0
  216. package/dist/server/tests/slack.test.d.ts +2 -0
  217. package/dist/server/tests/slack.test.d.ts.map +1 -0
  218. package/dist/server/tests/slack.test.js +213 -0
  219. package/dist/server/tests/state-cache.test.d.ts +2 -0
  220. package/dist/server/tests/state-cache.test.d.ts.map +1 -0
  221. package/dist/server/tests/state-cache.test.js +184 -0
  222. package/dist/server/tests/subscriptions.test.d.ts +2 -0
  223. package/dist/server/tests/subscriptions.test.d.ts.map +1 -0
  224. package/dist/server/tests/subscriptions.test.js +292 -0
  225. package/dist/server/tests/system-service.test.d.ts +2 -0
  226. package/dist/server/tests/system-service.test.d.ts.map +1 -0
  227. package/dist/server/tests/system-service.test.js +20 -0
  228. package/dist/server/tests/url-routes.test.d.ts +2 -0
  229. package/dist/server/tests/url-routes.test.d.ts.map +1 -0
  230. package/dist/server/tests/url-routes.test.js +217 -0
  231. package/dist/server/tests/web-api.test.d.ts +2 -0
  232. package/dist/server/tests/web-api.test.d.ts.map +1 -0
  233. package/dist/server/tests/web-api.test.js +1759 -0
  234. package/dist/server/web/app.d.ts.map +1 -1
  235. package/dist/server/web/app.js +2 -0
  236. package/dist/server/web/client-error-routes.d.ts +3 -0
  237. package/dist/server/web/client-error-routes.d.ts.map +1 -0
  238. package/dist/server/web/client-error-routes.js +101 -0
  239. package/dist/server/web/system-routes.d.ts.map +1 -1
  240. package/dist/server/web/system-routes.js +21 -131
  241. package/dist/shared/agent-config.d.ts +8 -18
  242. package/dist/shared/agent-config.d.ts.map +1 -1
  243. package/dist/shared/agent-config.js +3 -4
  244. package/dist/shared/inbox.d.ts +27 -0
  245. package/dist/shared/inbox.d.ts.map +1 -1
  246. package/dist/shared/inbox.js +1 -0
  247. package/dist/shared/server-info.d.ts +6 -5
  248. package/dist/shared/server-info.d.ts.map +1 -1
  249. package/dist/shared/server-info.js +3 -1
  250. package/dist/shared/server-settings.d.ts +6 -0
  251. package/dist/shared/server-settings.d.ts.map +1 -1
  252. package/dist/shared/server-settings.js +1 -0
  253. package/dist/shared/skills.d.ts +24 -3
  254. package/dist/shared/skills.d.ts.map +1 -1
  255. package/dist/web/assets/activity-DHjip8tY.js +7 -0
  256. package/dist/web/assets/clipboard-D2NSC52v.js +1 -0
  257. package/dist/web/assets/{external-link-Dt0qTpmV.js → external-link-Bhr1WdRS.js} +1 -1
  258. package/dist/web/assets/{file-text-Dd9ys6py.js → file-text-CYMA_SMA.js} +1 -1
  259. package/dist/web/assets/{index-CzAQnbuO.js → index-CVpew409.js} +5 -5
  260. package/dist/web/assets/index-mh0uJTkY.css +2 -0
  261. package/dist/web/assets/kb-DDVpYkT9.js +35 -0
  262. package/dist/web/assets/profile-CBy6GNzp.js +1 -0
  263. package/dist/web/assets/reminders-Bbwb9QNT.js +1 -0
  264. package/dist/web/favicon.svg +1 -1
  265. package/dist/web/index.html +2 -2
  266. package/package.json +1 -1
  267. package/templates/runtime-standing-prompt.md +16 -2
  268. package/templates/skills/find-skills/SKILL.md +133 -0
  269. package/dist/server/runtime/activity-payload.d.ts.map +0 -1
  270. package/dist/server/runtime/activity-text.d.ts +0 -4
  271. package/dist/server/runtime/activity-text.d.ts.map +0 -1
  272. package/dist/server/runtime/activity-text.js +0 -16
  273. package/dist/server/runtime/managed-runtime.d.ts.map +0 -1
  274. package/dist/server/runtime/provider-contract.d.ts.map +0 -1
  275. package/dist/server/runtime/runtime-release.d.ts.map +0 -1
  276. package/dist/server/runtime/runtime-upgrade.d.ts.map +0 -1
  277. package/dist/server/slack/shortcut.service.d.ts.map +0 -1
  278. package/dist/server/slack/shortcut.service.js +0 -493
  279. package/dist/web/assets/activity-BP0C81IV.js +0 -7
  280. package/dist/web/assets/globe-DmDZSgDP.js +0 -1
  281. package/dist/web/assets/index-DKecrvN0.css +0 -2
  282. package/dist/web/assets/kb-3wFeP2Jt.js +0 -32
  283. package/dist/web/assets/profile-D7wPZXW_.js +0 -1
  284. package/dist/web/assets/reminders-DOhroVwo.js +0 -1
  285. /package/dist/server/{runtime/provider-contract.js → providers/contract.js} +0 -0
  286. /package/dist/server/{runtime → runtime-management}/managed-runtime.d.ts +0 -0
  287. /package/dist/server/{runtime → runtime-management}/managed-runtime.js +0 -0
  288. /package/dist/server/{runtime → runtime-management}/runtime-release.d.ts +0 -0
  289. /package/dist/server/{runtime → runtime-management}/runtime-release.js +0 -0
@@ -0,0 +1,128 @@
1
+ import { errorMessage } from '../ids.js';
2
+ import { isRestartDrainActive } from '../services/restart-drain.js';
3
+ import { recordRuntimeFollowupAppended, recordRuntimeFollowupFailed, recordRuntimePending, } from './activity.js';
4
+ import { runtimeContextForItemId } from './context.js';
5
+ const FOLLOWUP_POLL_MS = 100;
6
+ export async function appendQueuedFollowupsUntilFinished(input) {
7
+ const skippedItemIds = new Set();
8
+ while (!input.itemDone.aborted) {
9
+ if (await isRestartDrainActive()) {
10
+ await sleep(FOLLOWUP_POLL_MS, input.itemDone);
11
+ continue;
12
+ }
13
+ const item = await input.queue.claimNextFollowup({
14
+ activeItemId: input.activeContext.item.id,
15
+ excludedItemIds: skippedItemIds,
16
+ workerId: input.workerId,
17
+ });
18
+ if (!item) {
19
+ await sleep(FOLLOWUP_POLL_MS, input.itemDone);
20
+ continue;
21
+ }
22
+ await tryOneFollowupItem(input, item, skippedItemIds);
23
+ }
24
+ }
25
+ async function tryOneFollowupItem(input, item, skippedItemIds) {
26
+ let appended = false;
27
+ let context;
28
+ try {
29
+ context = await runtimeContextForItemId(item.id, input.runtimeConfig);
30
+ const followup = await appendRuntimeFollowup({
31
+ activeContext: input.activeContext,
32
+ agentRuntime: input.agentRuntime,
33
+ context,
34
+ runtimeBridge: input.runtimeBridge,
35
+ });
36
+ if (followup.status === 'appended') {
37
+ await recordFollowupAppendSuccess(input, context, followup.text);
38
+ appended = true;
39
+ return;
40
+ }
41
+ await recordFollowupAppendSkip(input, item, followup);
42
+ skippedItemIds.add(item.id);
43
+ await input.queue.requeue(item.id);
44
+ await sleep(FOLLOWUP_POLL_MS, input.itemDone);
45
+ }
46
+ catch (error) {
47
+ skippedItemIds.add(item.id);
48
+ await input.queue.requeue(item.id);
49
+ await recordRuntimeFollowupFailed({ agentId: input.runtimeConfig.agentId }, {
50
+ activeItemId: input.activeContext.item.id,
51
+ agentRuntime: input.agentRuntime.kind,
52
+ error: errorMessage(error),
53
+ reason: 'followup_failed',
54
+ });
55
+ input.logger.error(`Runtime worker follow-up append failed for item ${item.id}: ${errorMessage(error)}`);
56
+ await sleep(FOLLOWUP_POLL_MS, input.itemDone);
57
+ }
58
+ finally {
59
+ const current = context && !appended ? await input.queue.find(context.item.id).catch(() => undefined) : undefined;
60
+ if (context && (current?.handling.status === 'completed' || current?.handling.status === 'failed')) {
61
+ await input.onFollowupSettled(context);
62
+ }
63
+ }
64
+ }
65
+ async function recordFollowupAppendSuccess(input, context, text) {
66
+ input.onFollowupAccepted();
67
+ await input.queue.complete(context.item.id);
68
+ await input.onFollowupAppended(context, text);
69
+ input.logger.log(JSON.stringify({
70
+ activeItemId: input.activeContext.item.id,
71
+ agentRuntime: input.agentRuntime.kind,
72
+ event: 'runtime.followup_appended',
73
+ itemId: context.item.id,
74
+ text,
75
+ workerId: input.workerId,
76
+ }, null, 2));
77
+ }
78
+ async function recordFollowupAppendSkip(input, item, followup) {
79
+ if (followup.status === 'rejected') {
80
+ await recordRuntimePending({ agentId: input.runtimeConfig.agentId }, {
81
+ activeItemId: input.activeContext.item.id,
82
+ agentRuntime: input.agentRuntime.kind,
83
+ reason: 'followup_rejected',
84
+ });
85
+ }
86
+ if (followup.status === 'failed') {
87
+ input.logger.error(`Runtime worker follow-up append failed for item ${item.id}: ${followup.error}`);
88
+ }
89
+ }
90
+ async function appendRuntimeFollowup(input) {
91
+ try {
92
+ const result = await input.agentRuntime.appendToActiveRun(await input.runtimeBridge.followupInput({
93
+ activeContext: input.activeContext,
94
+ context: input.context,
95
+ }));
96
+ if (!result.accepted)
97
+ return { status: 'rejected' };
98
+ await recordRuntimeFollowupAppended({ agentId: input.context.agentId }, {
99
+ activeItemId: input.activeContext.item.id,
100
+ agentRuntime: input.agentRuntime.kind,
101
+ text: result.text,
102
+ });
103
+ return { status: 'appended', text: result.text };
104
+ }
105
+ catch (error) {
106
+ const message = errorMessage(error);
107
+ await recordRuntimeFollowupFailed({ agentId: input.context.agentId }, {
108
+ activeItemId: input.activeContext.item.id,
109
+ agentRuntime: input.agentRuntime.kind,
110
+ error: message,
111
+ reason: 'followup_failed',
112
+ });
113
+ return { error: message, status: 'failed' };
114
+ }
115
+ }
116
+ function sleep(ms, signal) {
117
+ if (signal.aborted)
118
+ return Promise.resolve();
119
+ return new Promise((resolve) => {
120
+ const done = () => {
121
+ clearTimeout(timer);
122
+ signal.removeEventListener('abort', done);
123
+ resolve();
124
+ };
125
+ const timer = setTimeout(done, ms);
126
+ signal.addEventListener('abort', done, { once: true });
127
+ });
128
+ }
@@ -8,6 +8,7 @@ export type { RunningAgentHandle } from './agent-runner.js';
8
8
  export interface RuntimeHostDependencies {
9
9
  animaHome?: string;
10
10
  loadAgents?: (opts: RuntimeHostOptions) => Promise<AgentConfig[]>;
11
+ ensureDefaultSkills?: () => Promise<void>;
11
12
  logger?: Pick<Console, 'error' | 'log'>;
12
13
  startAgent?: (agent: AgentConfig, animaHome: string) => Promise<RunningAgentHandle>;
13
14
  validateAgent?: (agent: AgentConfig) => Promise<void> | void;
@@ -18,6 +19,7 @@ export declare class RuntimeHost {
18
19
  private readonly agentHandles;
19
20
  private readonly animaHome;
20
21
  private readonly loadAgents;
22
+ private readonly ensureDefaultSkills;
21
23
  private readonly logger;
22
24
  private readonly startAgent;
23
25
  private readonly statusByAgent;
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../server/runtime/host.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAO5D,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAKD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED,qBAAa,WAAW;IAcpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAbvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuD;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyE;IACpG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,mBAAmB,CAAC,CAAiB;gBAG1B,IAAI,GAAE,kBAAuB,EAC9C,IAAI,GAAE,uBAA4B;IAS9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,eAAe,IAAI,MAAM,EAAE;YAIb,eAAe;YAgCf,qBAAqB;YAmCrB,aAAa;YAMb,iBAAiB;IAgB/B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,mBAAmB;CAI5B;AAED,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAG7F"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../server/runtime/host.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAO5D,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9D;AAKD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnF;AAED,qBAAa,WAAW;IAepB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuD;IAClF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyE;IACpG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,mBAAmB,CAAC,CAAiB;gBAG1B,IAAI,GAAE,kBAAuB,EAC9C,IAAI,GAAE,uBAA4B;IAY9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,eAAe,IAAI,MAAM,EAAE;YAIb,eAAe;YAgCf,qBAAqB;YAmCrB,aAAa;YAMb,iBAAiB;IAgB/B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,mBAAmB;CAI5B;AAED,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAG7F"}
@@ -2,6 +2,7 @@ import { existsSync, watch } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { defaultAgentRegistryService } from '../agents/agent.service.js';
4
4
  import { isAgentRunnable, resolveAgentHomePath, validateAgentConfig, validateRunnableAgentConfig, } from '../agents/agent-config-ops.js';
5
+ import { ensureDefaultSkills } from '../agents/default-skills.js';
5
6
  import { resolveAnimaHome } from '../anima-home.js';
6
7
  import { errorMessage } from '../ids.js';
7
8
  import { createAgentRuntime } from '../providers/factory.js';
@@ -21,6 +22,7 @@ export class RuntimeHost {
21
22
  agentHandles = new Map();
22
23
  animaHome;
23
24
  loadAgents;
25
+ ensureDefaultSkills;
24
26
  logger;
25
27
  startAgent;
26
28
  statusByAgent = new Map();
@@ -33,11 +35,17 @@ export class RuntimeHost {
33
35
  this.opts = opts;
34
36
  this.animaHome = deps.animaHome ?? resolveAnimaHome();
35
37
  this.loadAgents = deps.loadAgents ?? loadRuntimeAgents;
38
+ this.ensureDefaultSkills = deps.ensureDefaultSkills ?? (async () => {
39
+ await ensureDefaultSkills();
40
+ });
36
41
  this.logger = deps.logger ?? console;
37
42
  this.startAgent = deps.startAgent ?? startAgentFromConfig;
38
43
  this.validateAgent = deps.validateAgent ?? validateAgentConfig;
39
44
  }
40
45
  async start() {
46
+ await this.ensureDefaultSkills().catch((error) => {
47
+ this.logger.error(`Default skill setup failed: ${errorMessage(error)}`);
48
+ });
41
49
  await this.reconcileOnce();
42
50
  this.pollTimer = setInterval(() => {
43
51
  void this.reconcileOnce().catch((error) => {
@@ -0,0 +1,16 @@
1
+ import type { AgentRuntime, AgentRuntimeInput, AgentRuntimeResult } from '../providers/contract.js';
2
+ export declare function runProviderWithCrashRetries(input: {
3
+ agentId: string;
4
+ agentRuntime: AgentRuntime;
5
+ buildInput: (retryNotice?: string) => Promise<AgentRuntimeInput>;
6
+ onFinalFailureRecorded?: () => void;
7
+ signal: AbortSignal;
8
+ }): Promise<AgentRuntimeResult>;
9
+ export declare function recordFinalRuntimeFailure(input: {
10
+ agentId: string;
11
+ agentRuntime: AgentRuntime;
12
+ error: unknown;
13
+ providerFailure?: boolean;
14
+ retryAttempts: number;
15
+ }): Promise<void>;
16
+ //# sourceMappingURL=provider-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-runner.d.ts","sourceRoot":"","sources":["../../../server/runtime/provider-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKpG,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,MAAM,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuC9B;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB"}
@@ -0,0 +1,86 @@
1
+ import { errorMessage } from '../ids.js';
2
+ import { recordRuntimeActivity, recordRuntimeEvent } from './activity.js';
3
+ import { runtimeErrorPayload } from '../activities/format.js';
4
+ import { buildProviderCrashRetryDeliveryPrompt } from './delivery-prompt.js';
5
+ const PROVIDER_CRASH_MAX_RETRIES = 3;
6
+ const PROVIDER_CRASH_RETRY_BACKOFF_MS = 500;
7
+ export async function runProviderWithCrashRetries(input) {
8
+ let retryCount = 0;
9
+ let previousError;
10
+ for (;;) {
11
+ try {
12
+ return await input.agentRuntime.run(await input.buildInput(retryNoticeFor(retryCount, previousError)));
13
+ }
14
+ catch (error) {
15
+ previousError = error;
16
+ if (input.signal.aborted)
17
+ throw error;
18
+ if (!isProviderCrashError(error) || retryCount >= PROVIDER_CRASH_MAX_RETRIES) {
19
+ await recordFinalRuntimeFailure({
20
+ agentId: input.agentId,
21
+ agentRuntime: input.agentRuntime,
22
+ error,
23
+ providerFailure: true,
24
+ retryAttempts: retryCount,
25
+ });
26
+ input.onFinalFailureRecorded?.();
27
+ throw error;
28
+ }
29
+ retryCount += 1;
30
+ const retryAfterMs = PROVIDER_CRASH_RETRY_BACKOFF_MS * retryCount;
31
+ await recordRuntimeEvent({ agentId: input.agentId }, input.agentRuntime.kind, input.agentRuntime.env, {
32
+ attempt: retryCount,
33
+ error: errorMessage(error),
34
+ eventType: 'provider.crash.retry',
35
+ maxRetries: PROVIDER_CRASH_MAX_RETRIES,
36
+ retryAfterMs,
37
+ });
38
+ await input.agentRuntime.close?.();
39
+ await sleep(retryAfterMs, input.signal);
40
+ }
41
+ }
42
+ }
43
+ export async function recordFinalRuntimeFailure(input) {
44
+ const processCrash = isProviderCrashError(input.error);
45
+ await recordRuntimeActivity({ agentId: input.agentId }, input.agentRuntime.kind, 'runtime.failed', {
46
+ ...runtimeErrorPayload(input.error),
47
+ ...(input.providerFailure
48
+ ? {
49
+ failureSource: 'provider',
50
+ maxRetries: PROVIDER_CRASH_MAX_RETRIES,
51
+ providerReason: processCrash ? 'process_crash' : 'provider_error',
52
+ retryAttempts: input.retryAttempts,
53
+ retryable: processCrash && input.retryAttempts < PROVIDER_CRASH_MAX_RETRIES,
54
+ }
55
+ : {}),
56
+ });
57
+ }
58
+ function retryNoticeFor(retryCount, previousError) {
59
+ if (retryCount === 0)
60
+ return undefined;
61
+ return buildProviderCrashRetryDeliveryPrompt({
62
+ attempt: retryCount,
63
+ maxRetries: PROVIDER_CRASH_MAX_RETRIES,
64
+ previousError: errorMessage(previousError),
65
+ });
66
+ }
67
+ function isProviderCrashError(error) {
68
+ const message = errorMessage(error);
69
+ return (/runtime exited before completing/i.test(message) ||
70
+ /runtime terminated by/i.test(message) ||
71
+ /runtime exited with code/i.test(message) ||
72
+ /stdin is closed/i.test(message));
73
+ }
74
+ function sleep(ms, signal) {
75
+ if (signal.aborted)
76
+ return Promise.resolve();
77
+ return new Promise((resolve) => {
78
+ const done = () => {
79
+ clearTimeout(timer);
80
+ signal.removeEventListener('abort', done);
81
+ resolve();
82
+ };
83
+ const timer = setTimeout(done, ms);
84
+ signal.addEventListener('abort', done, { once: true });
85
+ });
86
+ }
@@ -1,7 +1,7 @@
1
1
  import type { RuntimeItemContext } from './types.js';
2
2
  import { type Session } from './runtime-session.service.js';
3
3
  import { type AnimaRuntimeProfile } from './standing-prompt.js';
4
- import type { AgentRuntime, AgentRuntimeFollowupInput, AgentRuntimeInput, ProviderSessionRecord } from './provider-contract.js';
4
+ import type { AgentRuntime, AgentRuntimeFollowupInput, AgentRuntimeInput, ProviderSessionRecord } from '../providers/contract.js';
5
5
  export declare class AgentRuntimeBridge {
6
6
  private readonly runtime;
7
7
  constructor(runtime: AgentRuntime);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-bridge.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-bridge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAYrD,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EACV,YAAY,EAEZ,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAE5C,QAAQ,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;QACxB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBxB,aAAa,CAAC,KAAK,EAAE;QACzB,aAAa,EAAE,kBAAkB,CAAC;QAClC,OAAO,EAAE,kBAAkB,CAAC;KAC7B,GAAG,OAAO,CAAC,yBAAyB,CAAC;YASxB,aAAa;IAM3B,OAAO,CAAC,OAAO;CAiChB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAevG;AAqBD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"runtime-bridge.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-bridge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAYrD,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EACV,YAAY,EAEZ,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAElC,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAE5C,QAAQ,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;QACxB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBxB,aAAa,CAAC,KAAK,EAAE;QACzB,aAAa,EAAE,kBAAkB,CAAC;QAClC,OAAO,EAAE,kBAAkB,CAAC;KAC7B,GAAG,OAAO,CAAC,yBAAyB,CAAC;YASxB,aAAa;IAM3B,OAAO,CAAC,OAAO;CAiChB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAevG;AAqBD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -2,7 +2,7 @@ import type { Activity } from '../../shared/activity.js';
2
2
  import { WakeQueueService } from '../inbox/wake-queue.service.js';
3
3
  import { AgentUsageStore } from '../storage/schema/agent-usage.store.js';
4
4
  import { SessionStore, type ProviderSession, type Session } from '../storage/schema/session.store.js';
5
- import { type ProviderSessionRecord } from './provider-contract.js';
5
+ import { type ProviderSessionRecord } from '../providers/contract.js';
6
6
  export type { ProviderSession, Session };
7
7
  export declare class RuntimeSessionService {
8
8
  private readonly agentId;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-session.service.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-session.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAmB,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EACL,YAAY,EAEZ,KAAK,eAAe,EACpB,KAAK,OAAO,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAExG,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAEzC,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAHT,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,YAAwC,EACtD,UAAU,GAAE,eAA8C,EAC1D,SAAS,GAAE,gBAAgD;IAGxE,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBxC,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA8BzB,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC9C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA+BzB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKjD,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAyBlF,OAAO,CAAC,SAAS;CAGlB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAEpF;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,SAAS,CAMlF"}
1
+ {"version":3,"file":"runtime-session.service.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-session.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAmB,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EACL,YAAY,EAEZ,KAAK,eAAe,EACpB,KAAK,OAAO,EACb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAsC,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE1G,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAEzC,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAHT,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,YAAwC,EACtD,UAAU,GAAE,eAA8C,EAC1D,SAAS,GAAE,gBAAgD;IAGxE,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBxC,sBAAsB,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA8BzB,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC9C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA+BzB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKjD,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAyBlF,OAAO,CAAC,SAAS;CAGlB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAEpF;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,SAAS,CAMlF"}
@@ -4,7 +4,7 @@ import { numberField, stringField } from '../json.js';
4
4
  import { AgentUsageStore } from '../storage/schema/agent-usage.store.js';
5
5
  import { SessionStore, currentProviderSessionStartedAt, } from '../storage/schema/session.store.js';
6
6
  import { activitiesForInboxItemWindow } from './item-activities.js';
7
- import { CLAUDE_DEFAULT_AUTO_COMPACT_WINDOW } from './provider-contract.js';
7
+ import { CLAUDE_DEFAULT_AUTO_COMPACT_WINDOW } from '../providers/contract.js';
8
8
  export class RuntimeSessionService {
9
9
  agentId;
10
10
  sessionStore;
@@ -1,4 +1,4 @@
1
- import type { AgentRuntime } from './provider-contract.js';
1
+ import type { AgentRuntime } from '../providers/contract.js';
2
2
  import type { WakeQueueService } from '../inbox/wake-queue.service.js';
3
3
  import type { RuntimeWorkerConfig, RuntimeItemContext } from './types.js';
4
4
  interface AgentRuntimeWorkerOptions extends RuntimeWorkerConfig {
@@ -37,19 +37,11 @@ export declare class AgentRuntimeWorker {
37
37
  private runOne;
38
38
  private processClaimedItem;
39
39
  private registerActiveItem;
40
- private noteProviderActivity;
41
- private runProviderWithCrashRetries;
42
- private recordFinalRuntimeFailure;
43
- private checkExternalRequests;
44
- private drainActiveItem;
40
+ private recordRestartResumeActivity;
45
41
  private releaseActiveItem;
46
- private appendQueuedFollowupsUntilFinished;
47
- private tryOneFollowupItem;
48
- private recordFollowupAppendSuccess;
49
42
  private notifyItemStarted;
50
43
  private notifyItemFollowupAppended;
51
44
  private notifySettledItems;
52
- private recordFollowupAppendSkip;
53
45
  private settleAbortedItem;
54
46
  }
55
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-worker.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAyCpB,UAAU,yBAA0B,SAAQ,mBAAmB;IAC7D,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,UAAU,CAAC,CAAmB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAGhB,OAAO,EAAE,yBAAyB,EAClC,MAAM,GAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAW;IAS7D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAWpB,SAAS;IAOvB,KAAK,IAAI,MAAM,CAAC,OAAO;IAOvB,QAAQ,IAAI,OAAO;IAInB,OAAO,CAAC,IAAI;IAQN,KAAK,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBrD,uBAAuB;YAWvB,MAAM;YAQN,kBAAkB;IAkFhC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,oBAAoB;YAId,2BAA2B;YAwD3B,yBAAyB;YAyBzB,qBAAqB;YA2BrB,eAAe;IAuB7B,OAAO,CAAC,iBAAiB;YAOX,kCAAkC;YAoBlC,kBAAkB;YAgDlB,2BAA2B;YAoB3B,iBAAiB;YAUjB,0BAA0B;YAU1B,kBAAkB;YAYlB,wBAAwB;YAoBxB,iBAAiB;CAYhC"}
1
+ {"version":3,"file":"runtime-worker.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAiBpB,UAAU,yBAA0B,SAAQ,mBAAmB;IAC7D,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,sBAAsB,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAGhB,OAAO,EAAE,yBAAyB,EAClC,MAAM,GAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAW;IAS7D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAWpB,SAAS;IAOvB,KAAK,IAAI,MAAM,CAAC,OAAO;IAOvB,QAAQ,IAAI,OAAO;IAInB,OAAO,CAAC,IAAI;IAQN,KAAK,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAkBrD,uBAAuB;YAWvB,MAAM;YAQN,kBAAkB;IAkHhC,OAAO,CAAC,kBAAkB;YAaZ,2BAA2B;IAazC,OAAO,CAAC,iBAAiB;YAOX,iBAAiB;YAUjB,0BAA0B;YAU1B,kBAAkB;YAYlB,iBAAiB;CAYhC"}