@elizaos/plugin-agent-orchestrator 2.0.0-alpha.8 → 2.0.0-beta.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 (265) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +21 -0
  3. package/PROJECT.md +119 -0
  4. package/README.md +160 -0
  5. package/dist/browser/index.browser.js +21051 -0
  6. package/dist/browser/index.browser.js.map +29 -0
  7. package/dist/browser/index.d.ts +2 -0
  8. package/dist/cjs/index.d.ts +2 -0
  9. package/dist/cjs/index.node.cjs +20491 -0
  10. package/dist/cjs/index.node.js.map +72 -0
  11. package/dist/index.d.ts +2 -21
  12. package/dist/node/index.browser.d.ts +3 -0
  13. package/dist/node/index.browser.d.ts.map +1 -0
  14. package/dist/node/index.d.ts +2 -0
  15. package/dist/node/index.d.ts.map +1 -0
  16. package/dist/node/index.node.d.ts +4 -0
  17. package/dist/node/index.node.d.ts.map +1 -0
  18. package/dist/node/index.node.js +20471 -0
  19. package/dist/node/index.node.js.map +72 -0
  20. package/dist/node/src/actions/cancel-task.d.ts +3 -0
  21. package/dist/node/src/actions/cancel-task.d.ts.map +1 -0
  22. package/dist/node/src/actions/coding-task-handlers.d.ts +69 -0
  23. package/dist/node/src/actions/coding-task-handlers.d.ts.map +1 -0
  24. package/dist/node/src/actions/coding-task-helpers.d.ts +35 -0
  25. package/dist/node/src/actions/coding-task-helpers.d.ts.map +1 -0
  26. package/dist/node/src/actions/common.d.ts +56 -0
  27. package/dist/node/src/actions/common.d.ts.map +1 -0
  28. package/dist/node/src/actions/create-task.d.ts +8 -0
  29. package/dist/node/src/actions/create-task.d.ts.map +1 -0
  30. package/dist/node/src/actions/eval-metadata.d.ts +11 -0
  31. package/dist/node/src/actions/eval-metadata.d.ts.map +1 -0
  32. package/dist/node/src/actions/finalize-workspace.d.ts +11 -0
  33. package/dist/node/src/actions/finalize-workspace.d.ts.map +1 -0
  34. package/dist/node/src/actions/list-agents.d.ts +4 -0
  35. package/dist/node/src/actions/list-agents.d.ts.map +1 -0
  36. package/dist/node/src/actions/manage-issues.d.ts +11 -0
  37. package/dist/node/src/actions/manage-issues.d.ts.map +1 -0
  38. package/dist/node/src/actions/provision-workspace.d.ts +11 -0
  39. package/dist/node/src/actions/provision-workspace.d.ts.map +1 -0
  40. package/dist/node/src/actions/sandbox-stub.d.ts +21 -0
  41. package/dist/node/src/actions/sandbox-stub.d.ts.map +1 -0
  42. package/dist/node/src/actions/send-to-agent.d.ts +4 -0
  43. package/dist/node/src/actions/send-to-agent.d.ts.map +1 -0
  44. package/dist/node/src/actions/spawn-agent.d.ts +8 -0
  45. package/dist/node/src/actions/spawn-agent.d.ts.map +1 -0
  46. package/dist/node/src/actions/stop-agent.d.ts +4 -0
  47. package/dist/node/src/actions/stop-agent.d.ts.map +1 -0
  48. package/dist/node/src/actions/task-control.d.ts +3 -0
  49. package/dist/node/src/actions/task-control.d.ts.map +1 -0
  50. package/dist/node/src/actions/task-history.d.ts +3 -0
  51. package/dist/node/src/actions/task-history.d.ts.map +1 -0
  52. package/dist/node/src/actions/task-share.d.ts +3 -0
  53. package/dist/node/src/actions/task-share.d.ts.map +1 -0
  54. package/dist/node/src/actions/task-thread-target.d.ts +11 -0
  55. package/dist/node/src/actions/task-thread-target.d.ts.map +1 -0
  56. package/dist/node/src/actions/tasks.d.ts +88 -0
  57. package/dist/node/src/actions/tasks.d.ts.map +1 -0
  58. package/dist/node/src/api/agent-routes.d.ts +18 -0
  59. package/dist/node/src/api/agent-routes.d.ts.map +1 -0
  60. package/dist/node/src/api/bridge-routes.d.ts +32 -0
  61. package/dist/node/src/api/bridge-routes.d.ts.map +1 -0
  62. package/dist/node/src/api/coordinator-routes.d.ts +22 -0
  63. package/dist/node/src/api/coordinator-routes.d.ts.map +1 -0
  64. package/dist/node/src/api/hook-routes.d.ts +18 -0
  65. package/dist/node/src/api/hook-routes.d.ts.map +1 -0
  66. package/dist/node/src/api/issue-routes.d.ts +17 -0
  67. package/dist/node/src/api/issue-routes.d.ts.map +1 -0
  68. package/dist/node/src/api/parent-context-routes.d.ts +17 -0
  69. package/dist/node/src/api/parent-context-routes.d.ts.map +1 -0
  70. package/dist/node/src/api/route-utils.d.ts +18 -0
  71. package/dist/node/src/api/route-utils.d.ts.map +1 -0
  72. package/dist/node/src/api/routes.d.ts +23 -0
  73. package/dist/node/src/api/routes.d.ts.map +1 -0
  74. package/dist/node/src/api/workspace-routes.d.ts +17 -0
  75. package/dist/node/src/api/workspace-routes.d.ts.map +1 -0
  76. package/dist/node/src/index.d.ts +32 -0
  77. package/dist/node/src/index.d.ts.map +1 -0
  78. package/dist/node/src/providers/action-examples.d.ts +14 -0
  79. package/dist/node/src/providers/action-examples.d.ts.map +1 -0
  80. package/dist/node/src/providers/active-sub-agents.d.ts +15 -0
  81. package/dist/node/src/providers/active-sub-agents.d.ts.map +1 -0
  82. package/dist/node/src/providers/active-workspace-context.d.ts +13 -0
  83. package/dist/node/src/providers/active-workspace-context.d.ts.map +1 -0
  84. package/dist/node/src/providers/available-agents.d.ts +4 -0
  85. package/dist/node/src/providers/available-agents.d.ts.map +1 -0
  86. package/dist/node/src/register-routes.d.ts +11 -0
  87. package/dist/node/src/register-routes.d.ts.map +1 -0
  88. package/dist/node/src/routes/coding-agents-fallback-routes.d.ts +19 -0
  89. package/dist/node/src/routes/coding-agents-fallback-routes.d.ts.map +1 -0
  90. package/dist/node/src/services/acp-service.d.ts +61 -0
  91. package/dist/node/src/services/acp-service.d.ts.map +1 -0
  92. package/dist/node/src/services/acpx-subprocess.d.ts +3 -0
  93. package/dist/node/src/services/acpx-subprocess.d.ts.map +1 -0
  94. package/dist/node/src/services/agent-credentials.d.ts +23 -0
  95. package/dist/node/src/services/agent-credentials.d.ts.map +1 -0
  96. package/dist/node/src/services/agent-metrics.d.ts +30 -0
  97. package/dist/node/src/services/agent-metrics.d.ts.map +1 -0
  98. package/dist/node/src/services/agent-selection.d.ts +53 -0
  99. package/dist/node/src/services/agent-selection.d.ts.map +1 -0
  100. package/dist/node/src/services/ansi-utils.d.ts +64 -0
  101. package/dist/node/src/services/ansi-utils.d.ts.map +1 -0
  102. package/dist/node/src/services/claude-code-skill-installer.d.ts +33 -0
  103. package/dist/node/src/services/claude-code-skill-installer.d.ts.map +1 -0
  104. package/dist/node/src/services/config-env.d.ts +23 -0
  105. package/dist/node/src/services/config-env.d.ts.map +1 -0
  106. package/dist/node/src/services/coordinator-event-normalizer.d.ts +50 -0
  107. package/dist/node/src/services/coordinator-event-normalizer.d.ts.map +1 -0
  108. package/dist/node/src/services/custom-validator-runner.d.ts +66 -0
  109. package/dist/node/src/services/custom-validator-runner.d.ts.map +1 -0
  110. package/dist/node/src/services/debug-capture.d.ts +38 -0
  111. package/dist/node/src/services/debug-capture.d.ts.map +1 -0
  112. package/dist/node/src/services/json-model-output.d.ts +2 -0
  113. package/dist/node/src/services/json-model-output.d.ts.map +1 -0
  114. package/dist/node/src/services/parent-agent-broker.d.ts +21 -0
  115. package/dist/node/src/services/parent-agent-broker.d.ts.map +1 -0
  116. package/dist/node/src/services/pty-auto-response.d.ts +30 -0
  117. package/dist/node/src/services/pty-auto-response.d.ts.map +1 -0
  118. package/dist/node/src/services/pty-init.d.ts +55 -0
  119. package/dist/node/src/services/pty-init.d.ts.map +1 -0
  120. package/dist/node/src/services/pty-service.d.ts +218 -0
  121. package/dist/node/src/services/pty-service.d.ts.map +1 -0
  122. package/dist/node/src/services/pty-session-io.d.ts +49 -0
  123. package/dist/node/src/services/pty-session-io.d.ts.map +1 -0
  124. package/dist/node/src/services/pty-spawn.d.ts +104 -0
  125. package/dist/node/src/services/pty-spawn.d.ts.map +1 -0
  126. package/dist/node/src/services/pty-types.d.ts +94 -0
  127. package/dist/node/src/services/pty-types.d.ts.map +1 -0
  128. package/dist/node/src/services/repo-input.d.ts +16 -0
  129. package/dist/node/src/services/repo-input.d.ts.map +1 -0
  130. package/dist/node/src/services/session-event-queue.d.ts +25 -0
  131. package/dist/node/src/services/session-event-queue.d.ts.map +1 -0
  132. package/dist/node/src/services/session-store.d.ts +107 -0
  133. package/dist/node/src/services/session-store.d.ts.map +1 -0
  134. package/dist/node/src/services/skill-callback-bridge.d.ts +78 -0
  135. package/dist/node/src/services/skill-callback-bridge.d.ts.map +1 -0
  136. package/dist/node/src/services/skill-essentials.d.ts +16 -0
  137. package/dist/node/src/services/skill-essentials.d.ts.map +1 -0
  138. package/dist/node/src/services/skill-lifeops-context-broker.d.ts +20 -0
  139. package/dist/node/src/services/skill-lifeops-context-broker.d.ts.map +1 -0
  140. package/dist/node/src/services/skill-manifest.d.ts +48 -0
  141. package/dist/node/src/services/skill-manifest.d.ts.map +1 -0
  142. package/dist/node/src/services/skill-recommender.d.ts +51 -0
  143. package/dist/node/src/services/skill-recommender.d.ts.map +1 -0
  144. package/dist/node/src/services/spawn-trajectory.d.ts +23 -0
  145. package/dist/node/src/services/spawn-trajectory.d.ts.map +1 -0
  146. package/dist/node/src/services/stall-classifier.d.ts +69 -0
  147. package/dist/node/src/services/stall-classifier.d.ts.map +1 -0
  148. package/dist/node/src/services/structured-proof-bridge.d.ts +99 -0
  149. package/dist/node/src/services/structured-proof-bridge.d.ts.map +1 -0
  150. package/dist/node/src/services/sub-agent-router.d.ts +38 -0
  151. package/dist/node/src/services/sub-agent-router.d.ts.map +1 -0
  152. package/dist/node/src/services/swarm-coordinator-prompts.d.ts +93 -0
  153. package/dist/node/src/services/swarm-coordinator-prompts.d.ts.map +1 -0
  154. package/dist/node/src/services/swarm-coordinator.d.ts +473 -0
  155. package/dist/node/src/services/swarm-coordinator.d.ts.map +1 -0
  156. package/dist/node/src/services/swarm-decision-loop.d.ts +69 -0
  157. package/dist/node/src/services/swarm-decision-loop.d.ts.map +1 -0
  158. package/dist/node/src/services/swarm-event-triage.d.ts +49 -0
  159. package/dist/node/src/services/swarm-event-triage.d.ts.map +1 -0
  160. package/dist/node/src/services/swarm-history.d.ts +27 -0
  161. package/dist/node/src/services/swarm-history.d.ts.map +1 -0
  162. package/dist/node/src/services/swarm-idle-watchdog.d.ts +22 -0
  163. package/dist/node/src/services/swarm-idle-watchdog.d.ts.map +1 -0
  164. package/dist/node/src/services/task-acceptance.d.ts +8 -0
  165. package/dist/node/src/services/task-acceptance.d.ts.map +1 -0
  166. package/dist/node/src/services/task-agent-auth.d.ts +69 -0
  167. package/dist/node/src/services/task-agent-auth.d.ts.map +1 -0
  168. package/dist/node/src/services/task-agent-frameworks.d.ts +90 -0
  169. package/dist/node/src/services/task-agent-frameworks.d.ts.map +1 -0
  170. package/dist/node/src/services/task-kind.d.ts +3 -0
  171. package/dist/node/src/services/task-kind.d.ts.map +1 -0
  172. package/dist/node/src/services/task-policy.d.ts +17 -0
  173. package/dist/node/src/services/task-policy.d.ts.map +1 -0
  174. package/dist/node/src/services/task-registry.d.ts +550 -0
  175. package/dist/node/src/services/task-registry.d.ts.map +1 -0
  176. package/dist/node/src/services/task-share.d.ts +18 -0
  177. package/dist/node/src/services/task-share.d.ts.map +1 -0
  178. package/dist/node/src/services/task-validation.d.ts +69 -0
  179. package/dist/node/src/services/task-validation.d.ts.map +1 -0
  180. package/dist/node/src/services/task-verifier-runner.d.ts +5 -0
  181. package/dist/node/src/services/task-verifier-runner.d.ts.map +1 -0
  182. package/dist/node/src/services/trajectory-context.d.ts +73 -0
  183. package/dist/node/src/services/trajectory-context.d.ts.map +1 -0
  184. package/dist/node/src/services/trajectory-feedback.d.ts +53 -0
  185. package/dist/node/src/services/trajectory-feedback.d.ts.map +1 -0
  186. package/dist/node/src/services/types.d.ts +152 -0
  187. package/dist/node/src/services/types.d.ts.map +1 -0
  188. package/dist/node/src/services/workspace-git-ops.d.ts +28 -0
  189. package/dist/node/src/services/workspace-git-ops.d.ts.map +1 -0
  190. package/dist/node/src/services/workspace-github.d.ts +60 -0
  191. package/dist/node/src/services/workspace-github.d.ts.map +1 -0
  192. package/dist/node/src/services/workspace-lifecycle.d.ts +18 -0
  193. package/dist/node/src/services/workspace-lifecycle.d.ts.map +1 -0
  194. package/dist/node/src/services/workspace-service.d.ts +122 -0
  195. package/dist/node/src/services/workspace-service.d.ts.map +1 -0
  196. package/dist/node/src/services/workspace-types.d.ts +81 -0
  197. package/dist/node/src/services/workspace-types.d.ts.map +1 -0
  198. package/dist/node/src/setup-routes.d.ts +9 -0
  199. package/dist/node/src/setup-routes.d.ts.map +1 -0
  200. package/dist/node/vitest.config.d.ts +3 -0
  201. package/dist/node/vitest.config.d.ts.map +1 -0
  202. package/docs/default-eliza-skills-and-agent-bridge-plan.md +231 -0
  203. package/docs/sub-agent-routing.md +197 -0
  204. package/package.json +113 -37
  205. package/dist/index.d.ts.map +0 -1
  206. package/dist/index.js +0 -21110
  207. package/dist/index.js.map +0 -109
  208. package/dist/src/actions/messaging.d.ts +0 -24
  209. package/dist/src/actions/messaging.d.ts.map +0 -1
  210. package/dist/src/actions/peek-subagent.d.ts +0 -3
  211. package/dist/src/actions/peek-subagent.d.ts.map +0 -1
  212. package/dist/src/actions/subagent-management.d.ts +0 -7
  213. package/dist/src/actions/subagent-management.d.ts.map +0 -1
  214. package/dist/src/actions/task-management.d.ts +0 -9
  215. package/dist/src/actions/task-management.d.ts.map +0 -1
  216. package/dist/src/config.d.ts +0 -4
  217. package/dist/src/config.d.ts.map +0 -1
  218. package/dist/src/providers/orchestrator-config.d.ts +0 -80
  219. package/dist/src/providers/orchestrator-config.d.ts.map +0 -1
  220. package/dist/src/providers/task-context.d.ts +0 -3
  221. package/dist/src/providers/task-context.d.ts.map +0 -1
  222. package/dist/src/services/agent-orchestrator-service.d.ts +0 -59
  223. package/dist/src/services/agent-orchestrator-service.d.ts.map +0 -1
  224. package/dist/src/services/messaging-service.d.ts +0 -111
  225. package/dist/src/services/messaging-service.d.ts.map +0 -1
  226. package/dist/src/services/sandbox-service.d.ts +0 -103
  227. package/dist/src/services/sandbox-service.d.ts.map +0 -1
  228. package/dist/src/services/subagent-service.d.ts +0 -140
  229. package/dist/src/services/subagent-service.d.ts.map +0 -1
  230. package/dist/src/sub-agents/adapter.d.ts +0 -13
  231. package/dist/src/sub-agents/adapter.d.ts.map +0 -1
  232. package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts +0 -18
  233. package/dist/src/sub-agents/claude-agent-sdk-sub-agent.d.ts.map +0 -1
  234. package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts +0 -18
  235. package/dist/src/sub-agents/codex-sdk-sub-agent.d.ts.map +0 -1
  236. package/dist/src/sub-agents/eliza-sub-agent.d.ts +0 -27
  237. package/dist/src/sub-agents/eliza-sub-agent.d.ts.map +0 -1
  238. package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts +0 -61
  239. package/dist/src/sub-agents/elizaos-native-sub-agent.d.ts.map +0 -1
  240. package/dist/src/sub-agents/index.d.ts +0 -10
  241. package/dist/src/sub-agents/index.d.ts.map +0 -1
  242. package/dist/src/sub-agents/opencode-sub-agent.d.ts +0 -44
  243. package/dist/src/sub-agents/opencode-sub-agent.d.ts.map +0 -1
  244. package/dist/src/sub-agents/registry.d.ts +0 -3
  245. package/dist/src/sub-agents/registry.d.ts.map +0 -1
  246. package/dist/src/sub-agents/sweagent-sub-agent.d.ts +0 -19
  247. package/dist/src/sub-agents/sweagent-sub-agent.d.ts.map +0 -1
  248. package/dist/src/sub-agents/tools.d.ts +0 -15
  249. package/dist/src/sub-agents/tools.d.ts.map +0 -1
  250. package/dist/src/sub-agents/types.d.ts +0 -170
  251. package/dist/src/sub-agents/types.d.ts.map +0 -1
  252. package/dist/src/types/index.d.ts +0 -12
  253. package/dist/src/types/index.d.ts.map +0 -1
  254. package/dist/src/types/messaging.d.ts +0 -202
  255. package/dist/src/types/messaging.d.ts.map +0 -1
  256. package/dist/src/types/sandbox.d.ts +0 -228
  257. package/dist/src/types/sandbox.d.ts.map +0 -1
  258. package/dist/src/types/subagent.d.ts +0 -232
  259. package/dist/src/types/subagent.d.ts.map +0 -1
  260. package/dist/src/types.d.ts +0 -138
  261. package/dist/src/types.d.ts.map +0 -1
  262. package/dist/src/utils/index.d.ts +0 -7
  263. package/dist/src/utils/index.d.ts.map +0 -1
  264. package/dist/src/utils/session.d.ts +0 -184
  265. package/dist/src/utils/session.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-validation.d.ts","sourceRoot":"","sources":["../../../../src/services/task-validation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAIhC,KAAK,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAiBxD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAkSD;;;;;;;;;GASG;AACH,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAI9C,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAiBjD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAuI5B;AAmKD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,oBAAoB,CAAC,CA+I/B"}
@@ -0,0 +1,5 @@
1
+ import { type IAgentRuntime } from "@elizaos/core";
2
+ import type { TaskNodeRecord, TaskRegistry } from "./task-registry.js";
3
+ export declare function runReadyTaskVerifiers(runtime: IAgentRuntime, taskRegistry: TaskRegistry, threadId: string): Promise<void>;
4
+ export declare function isTerminalTaskNodeStatus(status: TaskNodeRecord["status"]): boolean;
5
+ //# sourceMappingURL=task-verifier-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-verifier-runner.d.ts","sourceRoot":"","sources":["../../../../src/services/task-verifier-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA8B,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAyZ5B,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAkFf;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC/B,OAAO,CAET"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Trajectory Context — Tag orchestrator LLM calls for trajectory logging.
3
+ *
4
+ * Sets a lightweight context object on the runtime before `useModel()` calls
5
+ * so the trajectory logger can identify orchestrator-specific LLM invocations
6
+ * (coordination decisions, stall classification, idle checks, etc.) and tag
7
+ * them with meaningful metadata instead of the generic "action" / "runtime.useModel".
8
+ *
9
+ * The eliza trajectory-persistence layer reads `runtime.__orchestratorTrajectoryCtx`
10
+ * in its `appendLlmCall` patch and writes the context into the trajectory record.
11
+ *
12
+ * @module services/trajectory-context
13
+ */
14
+ /**
15
+ * Any runtime-like object. We accept both `AgentRuntime` and `IAgentRuntime`
16
+ * since different call sites use different types. Using a minimal interface
17
+ * avoids index-signature incompatibilities with ElizaOS types.
18
+ */
19
+ type RuntimeLike = object;
20
+ /**
21
+ * Orchestrator decision types that map to specific LLM call sites.
22
+ */
23
+ export type OrchestratorDecisionType = "coordination" | "turn-complete" | "idle-check" | "stall-classification" | "stall-classify-decide" | "swarm-context-generation" | "event-triage" | "launch-failure-message" | "task-validation" | "acceptance-verifier";
24
+ export interface OrchestratorTrajectoryContext {
25
+ /** Source identifier — always "orchestrator" */
26
+ source: "orchestrator";
27
+ /** Which decision type triggered this LLM call */
28
+ decisionType: OrchestratorDecisionType;
29
+ /** PTY session ID of the agent being evaluated */
30
+ sessionId?: string;
31
+ /** Durable task thread identifier */
32
+ threadId?: string;
33
+ /** Acceptance verifier job identifier */
34
+ verifierJobId?: string;
35
+ /** Human-readable task label */
36
+ taskLabel?: string;
37
+ /** Repository URL or identifier (for trajectory feedback filtering) */
38
+ repo?: string;
39
+ /** Workspace directory path */
40
+ workdir?: string;
41
+ /** Original task description assigned to the agent */
42
+ originalTask?: string;
43
+ }
44
+ /**
45
+ * Set orchestrator trajectory context on the runtime.
46
+ * Call this before `runtime.useModel()` and clear it after.
47
+ */
48
+ export declare function setTrajectoryContext(runtime: RuntimeLike, ctx: OrchestratorTrajectoryContext): void;
49
+ /**
50
+ * Clear orchestrator trajectory context from the runtime.
51
+ */
52
+ export declare function clearTrajectoryContext(runtime: RuntimeLike): void;
53
+ /**
54
+ * Read the current orchestrator trajectory context (if any).
55
+ * Used by the trajectory logger on the eliza side.
56
+ */
57
+ export declare function readTrajectoryContext(runtime: unknown): OrchestratorTrajectoryContext | undefined;
58
+ /**
59
+ * Wrap a `useModel()` call with trajectory context tagging.
60
+ * Ensures the context is always cleared, even if the call throws.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const result = await withTrajectoryContext(
65
+ * ctx.runtime,
66
+ * { source: "orchestrator", decisionType: "coordination", sessionId },
67
+ * () => ctx.runtime.useModel(ModelType.TEXT_SMALL, { prompt }),
68
+ * );
69
+ * ```
70
+ */
71
+ export declare function withTrajectoryContext<T>(runtime: RuntimeLike, ctx: OrchestratorTrajectoryContext, fn: () => Promise<T>): Promise<T>;
72
+ export {};
73
+ //# sourceMappingURL=trajectory-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory-context.d.ts","sourceRoot":"","sources":["../../../../src/services/trajectory-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAChC,cAAc,GACd,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,wBAAwB,GACxB,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,6BAA6B;IAC5C,gDAAgD;IAChD,MAAM,EAAE,cAAc,CAAC;IACvB,kDAAkD;IAClD,YAAY,EAAE,wBAAwB,CAAC;IACvC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,6BAA6B,GACjC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GACf,6BAA6B,GAAG,SAAS,CAQ3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,6BAA6B,EAClC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Trajectory Feedback — Past Experience Injection
3
+ *
4
+ * Queries the trajectory database for past orchestrator decisions and
5
+ * formats relevant experience as agent memory context. This closes the
6
+ * loop between trajectory *output* (logging decisions) and trajectory
7
+ * *input* (feeding experience back to agents at spawn time).
8
+ *
9
+ * Inspired by "Codified Context" (arXiv:2602.20478) — known failure
10
+ * modes and past decisions are pre-loaded into agent context so they
11
+ * don't repeat mistakes or re-derive solutions.
12
+ *
13
+ * @module services/trajectory-feedback
14
+ */
15
+ import { type IAgentRuntime } from "@elizaos/core";
16
+ /** A distilled experience entry from a past trajectory. */
17
+ interface PastExperience {
18
+ /** When this experience was recorded */
19
+ timestamp: number;
20
+ /** The orchestrator decision type (coordination, turn-complete, etc.) */
21
+ decisionType: string;
22
+ /** Agent label that produced this experience */
23
+ taskLabel: string;
24
+ /** The key insight or decision (extracted from LLM response) */
25
+ insight: string;
26
+ }
27
+ /** Options for querying past experience. */
28
+ export interface TrajectoryFeedbackOptions {
29
+ /** Maximum number of recent trajectories to scan (default: 30) */
30
+ maxTrajectories?: number;
31
+ /** Maximum number of experience entries to return (default: 8) */
32
+ maxEntries?: number;
33
+ /** Only include trajectories from the last N hours (default: 48) */
34
+ lookbackHours?: number;
35
+ /** Task description for relevance filtering */
36
+ taskDescription?: string;
37
+ /** Repository URL — only return experience from the same repo */
38
+ repo?: string;
39
+ }
40
+ /**
41
+ * Query the trajectory database for past orchestrator decisions and
42
+ * return distilled experience entries relevant to the current task.
43
+ */
44
+ export declare function queryPastExperience(runtime: IAgentRuntime, options?: TrajectoryFeedbackOptions): Promise<PastExperience[]>;
45
+ /**
46
+ * Format past experience entries as a markdown section suitable for
47
+ * injection into agent memory (CLAUDE.md / GEMINI.md).
48
+ *
49
+ * Returns empty string if no relevant experience is found.
50
+ */
51
+ export declare function formatPastExperience(experiences: PastExperience[]): string;
52
+ export {};
53
+ //# sourceMappingURL=trajectory-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory-feedback.d.ts","sourceRoot":"","sources":["../../../../src/services/trajectory-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAoB1E,2DAA2D;AAC3D,UAAU,cAAc;IACtB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0JD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,cAAc,EAAE,CAAC,CA0J3B;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,CAe1E"}
@@ -0,0 +1,152 @@
1
+ export type AgentType = "claude" | "codex" | "gemini" | "aider" | "pi" | "shell" | string;
2
+ export type ApprovalPreset = "readonly" | "standard" | "permissive" | "autonomous";
3
+ export type SessionStatus = "running" | "ready" | "busy" | "blocked" | "authenticating" | "completed" | "stopped" | "errored" | "cancelled" | "tool_running" | string;
4
+ export type SessionEventName = "ready" | "blocked" | "login_required" | "task_complete" | "tool_running" | "stopped" | "error" | "message" | "reconnected" | string;
5
+ export type SessionEventCallback = (sessionId: string, event: SessionEventName, data: unknown) => void;
6
+ export type AcpEventCallback = (event: AcpJsonRpcMessage, sessionId?: string) => void;
7
+ export interface SpawnOptions {
8
+ name?: string;
9
+ agentType?: AgentType;
10
+ workdir?: string;
11
+ initialTask?: string;
12
+ env?: Record<string, string>;
13
+ metadata?: Record<string, unknown>;
14
+ credentials?: unknown;
15
+ memoryContent?: string;
16
+ approvalPreset?: ApprovalPreset;
17
+ customCredentials?: Record<string, string>;
18
+ skipAdapterAutoResponse?: boolean;
19
+ timeoutMs?: number;
20
+ model?: string;
21
+ }
22
+ export interface SpawnResult {
23
+ sessionId: string;
24
+ id: string;
25
+ name: string;
26
+ agentType: AgentType;
27
+ workdir: string;
28
+ status: SessionStatus;
29
+ acpxRecordId?: string;
30
+ acpxSessionId?: string;
31
+ agentSessionId?: string;
32
+ pid?: number;
33
+ authReady?: boolean;
34
+ metadata?: Record<string, unknown>;
35
+ }
36
+ export interface SendOptions {
37
+ timeoutMs?: number;
38
+ silent?: boolean;
39
+ env?: Record<string, string>;
40
+ model?: string;
41
+ }
42
+ export interface PromptResult {
43
+ sessionId: string;
44
+ response: string;
45
+ finalText: string;
46
+ stopReason: string;
47
+ durationMs: number;
48
+ exitCode?: number | null;
49
+ signal?: NodeJS.Signals | null;
50
+ error?: string;
51
+ }
52
+ export interface AvailableAgentInfo {
53
+ adapter: AgentType;
54
+ agentType: AgentType;
55
+ installed: boolean;
56
+ installCommand?: string;
57
+ docsUrl?: string;
58
+ auth?: {
59
+ status?: "authenticated" | "unauthenticated" | "unknown" | string;
60
+ detail?: string;
61
+ };
62
+ }
63
+ export interface SessionInfo {
64
+ id: string;
65
+ name?: string;
66
+ agentType: AgentType;
67
+ workdir: string;
68
+ status: SessionStatus;
69
+ acpxRecordId?: string;
70
+ acpxSessionId?: string;
71
+ agentSessionId?: string;
72
+ pid?: number;
73
+ approvalPreset: ApprovalPreset;
74
+ createdAt: Date;
75
+ lastActivityAt: Date;
76
+ lastError?: string;
77
+ metadata?: Record<string, unknown>;
78
+ }
79
+ export interface SessionFilter {
80
+ status?: SessionStatus;
81
+ statuses?: SessionStatus[];
82
+ workdir?: string;
83
+ agentType?: string;
84
+ name?: string;
85
+ acpxRecordId?: string;
86
+ }
87
+ export interface SessionStore {
88
+ create(session: SessionInfo): Promise<void>;
89
+ get(id: string): Promise<SessionInfo | null>;
90
+ getByAcpxRecordId(recordId: string): Promise<SessionInfo | null>;
91
+ findByScope(opts: {
92
+ workdir: string;
93
+ agentType: string;
94
+ name?: string;
95
+ }): Promise<SessionInfo | null>;
96
+ list(filter?: SessionFilter): Promise<SessionInfo[]>;
97
+ update(id: string, patch: Partial<SessionInfo>): Promise<void>;
98
+ updateStatus(id: string, status: SessionStatus, error?: string): Promise<void>;
99
+ delete(id: string): Promise<void>;
100
+ sweepStale(maxAgeMs: number): Promise<string[]>;
101
+ }
102
+ export interface SessionStoreRuntime {
103
+ databaseAdapter?: unknown;
104
+ logger?: {
105
+ warn?: (message: string, ...args: unknown[]) => void;
106
+ error?: (message: string, ...args: unknown[]) => void;
107
+ info?: (message: string, ...args: unknown[]) => void;
108
+ debug?: (message: string, ...args: unknown[]) => void;
109
+ };
110
+ getSetting?: (key: string) => string | undefined;
111
+ }
112
+ export interface AcpJsonRpcBase {
113
+ jsonrpc?: "2.0" | string;
114
+ }
115
+ export interface AcpJsonRpcRequest extends AcpJsonRpcBase {
116
+ id: string | number;
117
+ method: string;
118
+ params?: unknown;
119
+ }
120
+ export interface AcpJsonRpcNotification extends AcpJsonRpcBase {
121
+ method: string;
122
+ params?: unknown;
123
+ }
124
+ export interface AcpJsonRpcResponse extends AcpJsonRpcBase {
125
+ id: string | number;
126
+ result?: unknown;
127
+ error?: {
128
+ code?: number;
129
+ message?: string;
130
+ data?: unknown;
131
+ };
132
+ }
133
+ export interface AcpJsonRpcAnyMessage extends AcpJsonRpcBase {
134
+ id?: string | number;
135
+ method?: string;
136
+ params?: unknown;
137
+ result?: unknown;
138
+ error?: {
139
+ code?: number;
140
+ message?: string;
141
+ data?: unknown;
142
+ };
143
+ [k: string]: unknown;
144
+ }
145
+ export type AcpJsonRpcMessage = AcpJsonRpcAnyMessage;
146
+ export interface AcpToolCall {
147
+ id?: string;
148
+ title?: string;
149
+ status?: "pending" | "running" | "completed" | "failed" | "cancelled" | string;
150
+ output?: string;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,IAAI,GACJ,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,UAAU,GACV,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,SAAS,GACT,WAAW,GACX,cAAc,GACd,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,OAAO,KACV,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,iBAAiB,EACxB,SAAS,CAAC,EAAE,MAAM,KACf,IAAI,CAAC;AAEV,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,eAAe,GAAG,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC;QAClE,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7C,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjE,WAAW,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACvD,CAAC;IACF,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5D,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EACH,SAAS,GACT,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Git operations for Coding Workspace Service
3
+ *
4
+ * Extracted from workspace-service.ts — provides git status, commit, push,
5
+ * and PR creation as standalone functions operating on workspace paths.
6
+ *
7
+ * @module services/workspace-git-ops
8
+ */
9
+ import type { PullRequestInfo, WorkspaceService } from "git-workspace-service";
10
+ import type { CommitOptions, PROptions, PushOptions, WorkspaceResult, WorkspaceStatusResult } from "./workspace-service.js";
11
+ /**
12
+ * Get workspace git status (branch, staged/modified/untracked files).
13
+ */
14
+ export declare function getStatus(workspacePath: string): Promise<WorkspaceStatusResult>;
15
+ /**
16
+ * Commit changes in a workspace directory.
17
+ * Returns the commit hash.
18
+ */
19
+ export declare function commit(workspacePath: string, options: CommitOptions, log: (msg: string) => void): Promise<string>;
20
+ /**
21
+ * Push changes to remote for a workspace.
22
+ */
23
+ export declare function push(workspacePath: string, branch: string, options: PushOptions | undefined, log: (msg: string) => void): Promise<void>;
24
+ /**
25
+ * Create a pull request for a workspace via the underlying WorkspaceService.
26
+ */
27
+ export declare function createPR(workspaceService: WorkspaceService, workspace: WorkspaceResult, workspaceId: string, options: PROptions, log: (msg: string) => void): Promise<PullRequestInfo>;
28
+ //# sourceMappingURL=workspace-git-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-git-ops.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-git-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,eAAe,EACf,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,wBAAsB,SAAS,CAC7B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAuChC;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,EAClB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,eAAe,CAAC,CAsB1B"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * GitHub integration for Coding Workspace Service
3
+ *
4
+ * Extracted from workspace-service.ts — provides GitHub API access
5
+ * via PAT or OAuth device flow, plus all issue management operations.
6
+ *
7
+ * @module services/workspace-github
8
+ */
9
+ import type { IAgentRuntime } from "@elizaos/core";
10
+ import { type CreateIssueOptions, GitHubPatClient, type IssueComment, type IssueInfo, type IssueState } from "git-workspace-service";
11
+ /**
12
+ * Callback for surfacing auth prompts to the user.
13
+ * Returns true only when the prompt was delivered through an immediate
14
+ * user-visible channel. Buffered action callbacks are unsafe here because the
15
+ * device flow blocks until the user sees and completes the prompt.
16
+ */
17
+ export type AuthPromptCallback = (prompt: {
18
+ verificationUri: string;
19
+ userCode: string;
20
+ expiresIn: number;
21
+ }) => boolean | Promise<boolean>;
22
+ /**
23
+ * Context object passed by CodingWorkspaceService into every GitHub function.
24
+ * Lets us keep the extracted functions stateless while still mutating shared state.
25
+ */
26
+ export interface GitHubContext {
27
+ runtime: IAgentRuntime;
28
+ githubClient: GitHubPatClient | null;
29
+ setGithubClient: (client: GitHubPatClient) => void;
30
+ githubAuthInProgress: Promise<GitHubPatClient> | null;
31
+ setGithubAuthInProgress: (p: Promise<GitHubPatClient> | null) => void;
32
+ authPromptCallback: AuthPromptCallback | null;
33
+ log: (msg: string) => void;
34
+ }
35
+ export declare function parseOwnerRepo(repo: string): {
36
+ owner: string;
37
+ repo: string;
38
+ };
39
+ export declare function ensureGitHubClient(ctx: GitHubContext): Promise<GitHubPatClient>;
40
+ export declare function performOAuthFlow(ctx: GitHubContext, clientId: string): Promise<GitHubPatClient>;
41
+ export declare function createIssue(ctx: GitHubContext, repo: string, options: CreateIssueOptions): Promise<IssueInfo>;
42
+ export declare function getIssue(ctx: GitHubContext, repo: string, issueNumber: number): Promise<IssueInfo>;
43
+ export declare function listIssues(ctx: GitHubContext, repo: string, options?: {
44
+ state?: IssueState | "all";
45
+ labels?: string[];
46
+ assignee?: string;
47
+ }): Promise<IssueInfo[]>;
48
+ export declare function updateIssue(ctx: GitHubContext, repo: string, issueNumber: number, options: {
49
+ title?: string;
50
+ body?: string;
51
+ state?: IssueState;
52
+ labels?: string[];
53
+ assignees?: string[];
54
+ }): Promise<IssueInfo>;
55
+ export declare function addComment(ctx: GitHubContext, repo: string, issueNumber: number, body: string): Promise<IssueComment>;
56
+ export declare function listComments(ctx: GitHubContext, repo: string, issueNumber: number): Promise<IssueComment[]>;
57
+ export declare function closeIssue(ctx: GitHubContext, repo: string, issueNumber: number): Promise<IssueInfo>;
58
+ export declare function reopenIssue(ctx: GitHubContext, repo: string, issueNumber: number): Promise<IssueInfo>;
59
+ export declare function addLabels(ctx: GitHubContext, repo: string, issueNumber: number, labels: string[]): Promise<void>;
60
+ //# sourceMappingURL=workspace-github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-github.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Workspace lifecycle utilities — garbage collection and scratch directory cleanup.
3
+ *
4
+ * Extracted from workspace-service.ts to reduce module size.
5
+ *
6
+ * @module services/workspace-lifecycle
7
+ */
8
+ /**
9
+ * Remove a scratch directory (non-git workspace used for ad-hoc tasks).
10
+ * Safe to call for any path under the workspaces base dir.
11
+ */
12
+ export declare function removeScratchDir(dirPath: string, baseDir: string, log: (msg: string) => void, allowedDirs?: string[]): Promise<void>;
13
+ /**
14
+ * Garbage-collect orphaned workspace directories.
15
+ * Removes directories older than the given TTL that aren't tracked by the current session.
16
+ */
17
+ export declare function gcOrphanedWorkspaces(baseDir: string, workspaceTtlMs: number, trackedWorkspaceIds: Set<string>, log: (msg: string) => void): Promise<void>;
18
+ //# sourceMappingURL=workspace-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Coding Workspace Service - Manages git workspaces for coding tasks
3
+ *
4
+ * Delegates to:
5
+ * - workspace-github.ts (issue management, OAuth, PAT auth)
6
+ * - workspace-git-ops.ts (status, commit, push, PR creation)
7
+ * - workspace-lifecycle.ts (GC, scratch dir cleanup)
8
+ * - workspace-types.ts (shared interface definitions)
9
+ *
10
+ * @module services/workspace-service
11
+ */
12
+ import type { IAgentRuntime } from "@elizaos/core";
13
+ import { type CreateIssueOptions, type IssueComment, type IssueInfo, type IssueState, type PullRequestInfo, type WorkspaceEvent } from "git-workspace-service";
14
+ import type { AuthPromptCallback } from "./workspace-github.js";
15
+ export type { AuthPromptCallback } from "./workspace-github.js";
16
+ export type { CodingWorkspaceConfig, CommitOptions, PROptions, ProvisionWorkspaceOptions, PushOptions, WorkspaceResult, WorkspaceStatusResult, } from "./workspace-types.js";
17
+ import type { CodingWorkspaceConfig, CommitOptions, PROptions, ProvisionWorkspaceOptions, PushOptions, WorkspaceResult, WorkspaceStatusResult } from "./workspace-types.js";
18
+ type WorkspaceEventCallback = (event: WorkspaceEvent) => void;
19
+ type ScratchTerminalEvent = "stopped" | "task_complete" | "error";
20
+ export interface ScratchWorkspaceRecord {
21
+ sessionId: string;
22
+ label: string;
23
+ path: string;
24
+ status: "pending_decision" | "kept" | "promoted";
25
+ createdAt: number;
26
+ terminalAt: number;
27
+ terminalEvent: ScratchTerminalEvent;
28
+ expiresAt?: number;
29
+ }
30
+ export declare function resolveDefaultBranch(repoUrl: string): Promise<string>;
31
+ /** Test hook: drop the per-repo cache so each test starts clean. */
32
+ export declare function _clearDefaultBranchCache(): void;
33
+ export declare function getCodingWorkspaceService(runtime: IAgentRuntime): CodingWorkspaceService | null;
34
+ export declare class CodingWorkspaceService {
35
+ static serviceType: string;
36
+ capabilityDescription: string;
37
+ private runtime;
38
+ private workspaceService;
39
+ private credentialService;
40
+ private githubClient;
41
+ private githubAuthInProgress;
42
+ private serviceConfig;
43
+ private workspaces;
44
+ private labels;
45
+ private scratchBySession;
46
+ private scratchCleanupTimers;
47
+ private eventCallbacks;
48
+ private authPromptCallback;
49
+ /** Callback fired when a scratch workspace enters pending_decision state. */
50
+ private scratchDecisionCallback;
51
+ constructor(runtime: IAgentRuntime, config?: CodingWorkspaceConfig);
52
+ static start(runtime: IAgentRuntime): Promise<CodingWorkspaceService>;
53
+ static stopRuntime(runtime: IAgentRuntime): Promise<void>;
54
+ private initialize;
55
+ stop(): Promise<void>;
56
+ /** Provision a new workspace */
57
+ provisionWorkspace(options: ProvisionWorkspaceOptions): Promise<WorkspaceResult>;
58
+ getWorkspace(id: string): WorkspaceResult | undefined;
59
+ listWorkspaces(): WorkspaceResult[];
60
+ /**
61
+ * Assign a semantic label to a workspace (e.g. "auth-bugfix").
62
+ * If the label already exists, it is reassigned to the new workspace.
63
+ */
64
+ setLabel(workspaceId: string, label: string): void;
65
+ getWorkspaceByLabel(label: string): WorkspaceResult | undefined;
66
+ /** Resolve a workspace by label or ID. */
67
+ resolveWorkspace(labelOrId: string): WorkspaceResult | undefined;
68
+ getStatus(workspaceId: string): Promise<WorkspaceStatusResult>;
69
+ commit(workspaceId: string, options: CommitOptions): Promise<string>;
70
+ push(workspaceId: string, options?: PushOptions): Promise<void>;
71
+ createPR(workspaceId: string, options: PROptions): Promise<PullRequestInfo>;
72
+ private getGitHubContext;
73
+ /** Set a callback to surface OAuth auth prompts to the user. */
74
+ setAuthPromptCallback(callback: AuthPromptCallback): void;
75
+ /**
76
+ * Register a callback fired when a scratch workspace enters pending_decision.
77
+ * Used to prompt the user via chat: "Want to keep this code?"
78
+ */
79
+ setScratchDecisionCallback(callback: (record: ScratchWorkspaceRecord) => Promise<void>): void;
80
+ createIssue(repo: string, options: CreateIssueOptions): Promise<IssueInfo>;
81
+ getIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
82
+ listIssues(repo: string, options?: {
83
+ state?: IssueState | "all";
84
+ labels?: string[];
85
+ assignee?: string;
86
+ }): Promise<IssueInfo[]>;
87
+ updateIssue(repo: string, issueNumber: number, options: {
88
+ title?: string;
89
+ body?: string;
90
+ state?: IssueState;
91
+ labels?: string[];
92
+ assignees?: string[];
93
+ }): Promise<IssueInfo>;
94
+ addComment(repo: string, issueNumber: number, body: string): Promise<IssueComment>;
95
+ listComments(repo: string, issueNumber: number): Promise<IssueComment[]>;
96
+ closeIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
97
+ reopenIssue(repo: string, issueNumber: number): Promise<IssueInfo>;
98
+ addLabels(repo: string, issueNumber: number, labels: string[]): Promise<void>;
99
+ removeWorkspace(workspaceId: string): Promise<void>;
100
+ onEvent(callback: WorkspaceEventCallback): () => void;
101
+ private emitEvent;
102
+ /** Remove a scratch directory — allowed under base dir or user coding directory. */
103
+ removeScratchDir(dirPath: string): Promise<void>;
104
+ listScratchWorkspaces(): ScratchWorkspaceRecord[];
105
+ registerScratchWorkspace(sessionId: string, dirPath: string, label: string, terminalEvent: ScratchTerminalEvent): Promise<ScratchWorkspaceRecord | null>;
106
+ keepScratchWorkspace(sessionId: string): Promise<ScratchWorkspaceRecord>;
107
+ deleteScratchWorkspace(sessionId: string): Promise<void>;
108
+ promoteScratchWorkspace(sessionId: string, name?: string): Promise<ScratchWorkspaceRecord>;
109
+ /** GC orphaned workspace directories older than workspaceTtlMs. */
110
+ private gcOrphanedWorkspaces;
111
+ private log;
112
+ /** Read a key from the config file's env section (live, no restart needed). */
113
+ private readConfigEnvKey;
114
+ private getScratchRetentionPolicy;
115
+ private getScratchDecisionTtlMs;
116
+ private requireScratchWorkspace;
117
+ private clearScratchCleanupTimer;
118
+ private scheduleScratchCleanup;
119
+ private sanitizeWorkspaceName;
120
+ private allocatePromotedPath;
121
+ }
122
+ //# sourceMappingURL=workspace-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../../../../src/services/workspace-service.ts"],"names":[],"mappings":"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"}