@farmslot/protocol 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +213 -0
  3. package/dist/agent-roles.d.ts +15 -0
  4. package/dist/agent-roles.d.ts.map +1 -0
  5. package/dist/agent-roles.js +101 -0
  6. package/dist/agent-roles.js.map +1 -0
  7. package/dist/events.d.ts +265 -0
  8. package/dist/events.d.ts.map +1 -0
  9. package/dist/events.js +72 -0
  10. package/dist/events.js.map +1 -0
  11. package/dist/frames.d.ts +29 -0
  12. package/dist/frames.d.ts.map +1 -0
  13. package/dist/frames.js +15 -0
  14. package/dist/frames.js.map +1 -0
  15. package/dist/github-ref.d.ts +15 -0
  16. package/dist/github-ref.d.ts.map +1 -0
  17. package/dist/github-ref.js +30 -0
  18. package/dist/github-ref.js.map +1 -0
  19. package/dist/index.d.ts +14 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +14 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/methods/auth.d.ts +46 -0
  24. package/dist/methods/auth.d.ts.map +1 -0
  25. package/dist/methods/auth.js +5 -0
  26. package/dist/methods/auth.js.map +1 -0
  27. package/dist/methods/backlog.d.ts +63 -0
  28. package/dist/methods/backlog.d.ts.map +1 -0
  29. package/dist/methods/backlog.js +12 -0
  30. package/dist/methods/backlog.js.map +1 -0
  31. package/dist/methods/chat.d.ts +290 -0
  32. package/dist/methods/chat.d.ts.map +1 -0
  33. package/dist/methods/chat.js +22 -0
  34. package/dist/methods/chat.js.map +1 -0
  35. package/dist/methods/config.d.ts +81 -0
  36. package/dist/methods/config.d.ts.map +1 -0
  37. package/dist/methods/config.js +16 -0
  38. package/dist/methods/config.js.map +1 -0
  39. package/dist/methods/copilot.d.ts +23 -0
  40. package/dist/methods/copilot.d.ts.map +1 -0
  41. package/dist/methods/copilot.js +5 -0
  42. package/dist/methods/copilot.js.map +1 -0
  43. package/dist/methods/decisions.d.ts +9 -0
  44. package/dist/methods/decisions.d.ts.map +1 -0
  45. package/dist/methods/decisions.js +2 -0
  46. package/dist/methods/decisions.js.map +1 -0
  47. package/dist/methods/diagnostics.d.ts +8 -0
  48. package/dist/methods/diagnostics.d.ts.map +1 -0
  49. package/dist/methods/diagnostics.js +2 -0
  50. package/dist/methods/diagnostics.js.map +1 -0
  51. package/dist/methods/dispatch.d.ts +198 -0
  52. package/dist/methods/dispatch.d.ts.map +1 -0
  53. package/dist/methods/dispatch.js +12 -0
  54. package/dist/methods/dispatch.js.map +1 -0
  55. package/dist/methods/eval.d.ts +119 -0
  56. package/dist/methods/eval.d.ts.map +1 -0
  57. package/dist/methods/eval.js +9 -0
  58. package/dist/methods/eval.js.map +1 -0
  59. package/dist/methods/fleet.d.ts +86 -0
  60. package/dist/methods/fleet.d.ts.map +1 -0
  61. package/dist/methods/fleet.js +9 -0
  62. package/dist/methods/fleet.js.map +1 -0
  63. package/dist/methods/fs.d.ts +42 -0
  64. package/dist/methods/fs.d.ts.map +1 -0
  65. package/dist/methods/fs.js +2 -0
  66. package/dist/methods/fs.js.map +1 -0
  67. package/dist/methods/git.d.ts +103 -0
  68. package/dist/methods/git.d.ts.map +1 -0
  69. package/dist/methods/git.js +2 -0
  70. package/dist/methods/git.js.map +1 -0
  71. package/dist/methods/index.d.ts +25 -0
  72. package/dist/methods/index.d.ts.map +1 -0
  73. package/dist/methods/index.js +26 -0
  74. package/dist/methods/index.js.map +1 -0
  75. package/dist/methods/intelligence.d.ts +218 -0
  76. package/dist/methods/intelligence.d.ts.map +1 -0
  77. package/dist/methods/intelligence.js +20 -0
  78. package/dist/methods/intelligence.js.map +1 -0
  79. package/dist/methods/nodes.d.ts +22 -0
  80. package/dist/methods/nodes.d.ts.map +1 -0
  81. package/dist/methods/nodes.js +2 -0
  82. package/dist/methods/nodes.js.map +1 -0
  83. package/dist/methods/pr.d.ts +75 -0
  84. package/dist/methods/pr.d.ts.map +1 -0
  85. package/dist/methods/pr.js +2 -0
  86. package/dist/methods/pr.js.map +1 -0
  87. package/dist/methods/registry.d.ts +196 -0
  88. package/dist/methods/registry.d.ts.map +1 -0
  89. package/dist/methods/registry.js +229 -0
  90. package/dist/methods/registry.js.map +1 -0
  91. package/dist/methods/resources.d.ts +89 -0
  92. package/dist/methods/resources.d.ts.map +1 -0
  93. package/dist/methods/resources.js +13 -0
  94. package/dist/methods/resources.js.map +1 -0
  95. package/dist/methods/run.d.ts +398 -0
  96. package/dist/methods/run.d.ts.map +1 -0
  97. package/dist/methods/run.js +34 -0
  98. package/dist/methods/run.js.map +1 -0
  99. package/dist/methods/search.d.ts +19 -0
  100. package/dist/methods/search.d.ts.map +1 -0
  101. package/dist/methods/search.js +2 -0
  102. package/dist/methods/search.js.map +1 -0
  103. package/dist/methods/slot.d.ts +192 -0
  104. package/dist/methods/slot.d.ts.map +1 -0
  105. package/dist/methods/slot.js +21 -0
  106. package/dist/methods/slot.js.map +1 -0
  107. package/dist/methods/task.d.ts +18 -0
  108. package/dist/methods/task.d.ts.map +1 -0
  109. package/dist/methods/task.js +2 -0
  110. package/dist/methods/task.js.map +1 -0
  111. package/dist/methods/terminal.d.ts +66 -0
  112. package/dist/methods/terminal.d.ts.map +1 -0
  113. package/dist/methods/terminal.js +2 -0
  114. package/dist/methods/terminal.js.map +1 -0
  115. package/dist/methods/tmux.d.ts +108 -0
  116. package/dist/methods/tmux.d.ts.map +1 -0
  117. package/dist/methods/tmux.js +3 -0
  118. package/dist/methods/tmux.js.map +1 -0
  119. package/dist/methods/workspace.d.ts +11 -0
  120. package/dist/methods/workspace.d.ts.map +1 -0
  121. package/dist/methods/workspace.js +2 -0
  122. package/dist/methods/workspace.js.map +1 -0
  123. package/dist/methods.d.ts +2 -0
  124. package/dist/methods.d.ts.map +1 -0
  125. package/dist/methods.js +3 -0
  126. package/dist/methods.js.map +1 -0
  127. package/dist/recipe-compat.d.ts +89 -0
  128. package/dist/recipe-compat.d.ts.map +1 -0
  129. package/dist/recipe-compat.js +977 -0
  130. package/dist/recipe-compat.js.map +1 -0
  131. package/dist/run-family-readiness.d.ts +31 -0
  132. package/dist/run-family-readiness.d.ts.map +1 -0
  133. package/dist/run-family-readiness.js +223 -0
  134. package/dist/run-family-readiness.js.map +1 -0
  135. package/dist/signal.d.ts +14 -0
  136. package/dist/signal.d.ts.map +1 -0
  137. package/dist/signal.js +4 -0
  138. package/dist/signal.js.map +1 -0
  139. package/dist/step-io.d.ts +277 -0
  140. package/dist/step-io.d.ts.map +1 -0
  141. package/dist/step-io.js +26 -0
  142. package/dist/step-io.js.map +1 -0
  143. package/dist/surfaces.d.ts +36 -0
  144. package/dist/surfaces.d.ts.map +1 -0
  145. package/dist/surfaces.js +392 -0
  146. package/dist/surfaces.js.map +1 -0
  147. package/dist/tmux-worker-watchlist.d.ts +36 -0
  148. package/dist/tmux-worker-watchlist.d.ts.map +1 -0
  149. package/dist/tmux-worker-watchlist.js +82 -0
  150. package/dist/tmux-worker-watchlist.js.map +1 -0
  151. package/dist/types/agents.d.ts +59 -0
  152. package/dist/types/agents.d.ts.map +1 -0
  153. package/dist/types/agents.js +10 -0
  154. package/dist/types/agents.js.map +1 -0
  155. package/dist/types/backlog.d.ts +66 -0
  156. package/dist/types/backlog.d.ts.map +1 -0
  157. package/dist/types/backlog.js +13 -0
  158. package/dist/types/backlog.js.map +1 -0
  159. package/dist/types/chat.d.ts +203 -0
  160. package/dist/types/chat.d.ts.map +1 -0
  161. package/dist/types/chat.js +19 -0
  162. package/dist/types/chat.js.map +1 -0
  163. package/dist/types/common.d.ts +13 -0
  164. package/dist/types/common.d.ts.map +1 -0
  165. package/dist/types/common.js +3 -0
  166. package/dist/types/common.js.map +1 -0
  167. package/dist/types/config.d.ts +154 -0
  168. package/dist/types/config.d.ts.map +1 -0
  169. package/dist/types/config.js +2 -0
  170. package/dist/types/config.js.map +1 -0
  171. package/dist/types/dispatch.d.ts +77 -0
  172. package/dist/types/dispatch.d.ts.map +1 -0
  173. package/dist/types/dispatch.js +2 -0
  174. package/dist/types/dispatch.js.map +1 -0
  175. package/dist/types/evals.d.ts +341 -0
  176. package/dist/types/evals.d.ts.map +1 -0
  177. package/dist/types/evals.js +459 -0
  178. package/dist/types/evals.js.map +1 -0
  179. package/dist/types/family.d.ts +163 -0
  180. package/dist/types/family.d.ts.map +1 -0
  181. package/dist/types/family.js +2 -0
  182. package/dist/types/family.js.map +1 -0
  183. package/dist/types/index.d.ts +17 -0
  184. package/dist/types/index.d.ts.map +1 -0
  185. package/dist/types/index.js +17 -0
  186. package/dist/types/index.js.map +1 -0
  187. package/dist/types/recipes.d.ts +94 -0
  188. package/dist/types/recipes.d.ts.map +1 -0
  189. package/dist/types/recipes.js +7 -0
  190. package/dist/types/recipes.js.map +1 -0
  191. package/dist/types/resources.d.ts +110 -0
  192. package/dist/types/resources.d.ts.map +1 -0
  193. package/dist/types/resources.js +2 -0
  194. package/dist/types/resources.js.map +1 -0
  195. package/dist/types/reviews.d.ts +85 -0
  196. package/dist/types/reviews.d.ts.map +1 -0
  197. package/dist/types/reviews.js +2 -0
  198. package/dist/types/reviews.js.map +1 -0
  199. package/dist/types/runs.d.ts +1105 -0
  200. package/dist/types/runs.d.ts.map +1 -0
  201. package/dist/types/runs.js +297 -0
  202. package/dist/types/runs.js.map +1 -0
  203. package/dist/types/slots.d.ts +108 -0
  204. package/dist/types/slots.d.ts.map +1 -0
  205. package/dist/types/slots.js +2 -0
  206. package/dist/types/slots.js.map +1 -0
  207. package/dist/types/task.d.ts +37 -0
  208. package/dist/types/task.d.ts.map +1 -0
  209. package/dist/types/task.js +2 -0
  210. package/dist/types/task.js.map +1 -0
  211. package/dist/types/terminal.d.ts +12 -0
  212. package/dist/types/terminal.d.ts.map +1 -0
  213. package/dist/types/terminal.js +2 -0
  214. package/dist/types/terminal.js.map +1 -0
  215. package/dist/types/workspace.d.ts +44 -0
  216. package/dist/types/workspace.d.ts.map +1 -0
  217. package/dist/types/workspace.js +2 -0
  218. package/dist/types/workspace.js.map +1 -0
  219. package/dist/types.d.ts +2 -0
  220. package/dist/types.d.ts.map +1 -0
  221. package/dist/types.js +3 -0
  222. package/dist/types.js.map +1 -0
  223. package/dist/version.d.ts +2 -0
  224. package/dist/version.d.ts.map +1 -0
  225. package/dist/version.js +7 -0
  226. package/dist/version.js.map +1 -0
  227. package/package.json +109 -0
package/dist/events.js ADDED
@@ -0,0 +1,72 @@
1
+ // Event definitions — server pushes to subscribed clients
2
+ export const Events = {
3
+ // Fleet state changes
4
+ FLEET_UPDATED: 'fleet.updated',
5
+ SLOT_CHANGED: 'slot.changed',
6
+ // Script execution streaming
7
+ SCRIPT_OUTPUT: 'script.output',
8
+ SCRIPT_COMPLETE: 'script.complete',
9
+ // Fleet bulk refresh (FLEET_REFRESH_SLOTS)
10
+ FLEET_REFRESH_SCHEDULED: 'fleet.refresh.scheduled',
11
+ FLEET_REFRESH_SLOT_UPDATE: 'fleet.refresh.slot-update',
12
+ FLEET_REFRESH_SUMMARY: 'fleet.refresh.summary',
13
+ // Terminal streaming
14
+ TERMINAL_DATA: 'terminal.data',
15
+ TERMINAL_MODE: 'terminal.mode',
16
+ TERMINAL_EXITED: 'terminal.exited',
17
+ // PR updates
18
+ PR_UPDATED: 'pr.updated',
19
+ // Decisions
20
+ DECISION_NEW: 'decision.new',
21
+ DECISION_RESOLVED: 'decision.resolved',
22
+ DECISION_UPDATED: 'decision.updated',
23
+ // Monitor
24
+ MONITOR_VIOLATION: 'monitor.violation',
25
+ // Nodes (per-machine daemon)
26
+ NODE_CONNECTED: 'node.connected',
27
+ NODE_DISCONNECTED: 'node.disconnected',
28
+ NODE_VERSION_MISMATCH: 'node.version.mismatch',
29
+ // Task progress
30
+ TASK_PROGRESS_UPDATED: 'task.progress.updated',
31
+ // Worker signal (push-based completion/status)
32
+ WORKER_SIGNAL: 'worker.signal',
33
+ // Workspace
34
+ WORKSPACE_METRO_DATA: 'workspace.metro.data',
35
+ // Stream
36
+ STREAM_FRAME: 'stream.frame',
37
+ STREAM_STATUS: 'stream.status',
38
+ // Dispatch queue
39
+ QUEUE_UPDATED: 'queue.updated',
40
+ // Backlog
41
+ BACKLOG_UPDATED: 'backlog.updated',
42
+ // CI
43
+ CI_CHECK_UPDATED: 'ci.check.updated',
44
+ // Runs
45
+ RUN_CREATED: 'run.created',
46
+ RUN_UPDATED: 'run.updated',
47
+ RUN_COMPLETED: 'run.completed',
48
+ RUN_STEP_COMPLETED: 'run.step.completed',
49
+ RUN_DECISION_NEW: 'run.decision.new',
50
+ RUN_DECISION_RESOLVED: 'run.decision.resolved',
51
+ RUN_DECISION_UPDATED: 'run.decision.updated',
52
+ RUN_DELETED: 'run.deleted',
53
+ RUN_IMPROVEMENT_FAILED: 'run.improvement.failed',
54
+ // Connection
55
+ HELLO: 'hello',
56
+ // Co-Pilot Chat
57
+ CHAT_RESPONSE: 'chat.response',
58
+ CHAT_MEMORY_SAVED: 'chat.memory.saved',
59
+ COPILOT_OBSERVER_NOTIFICATION: 'copilot.observer.notification',
60
+ // Node Health
61
+ NODE_HEALTH_UPDATED: 'node.health.updated',
62
+ // Resource Health
63
+ RESOURCE_STATUS_UPDATED: 'resource.status.updated',
64
+ RESOURCE_RELAUNCHED: 'resource.relaunched',
65
+ // Fleet Thumbnails
66
+ FLEET_THUMBNAILS_UPDATED: 'fleet.thumbnails.updated',
67
+ // GitHub API observability
68
+ GITHUB_RATE_LIMIT: 'github.rateLimit',
69
+ // LLM auth (browser-based login progress)
70
+ LLM_AUTH_LOGIN_PROGRESS: 'llm.auth.login.progress',
71
+ };
72
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,0DAA0D;AA0B1D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sBAAsB;IACtB,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAE5B,6BAA6B;IAC7B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAElC,2CAA2C;IAC3C,uBAAuB,EAAE,yBAAyB;IAClD,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAE9C,qBAAqB;IACrB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAElC,aAAa;IACb,UAAU,EAAE,YAAY;IAExB,YAAY;IACZ,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IAEpC,UAAU;IACV,iBAAiB,EAAE,mBAAmB;IAEtC,6BAA6B;IAC7B,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAE9C,gBAAgB;IAChB,qBAAqB,EAAE,uBAAuB;IAE9C,+CAA+C;IAC/C,aAAa,EAAE,eAAe;IAE9B,YAAY;IACZ,oBAAoB,EAAE,sBAAsB;IAE5C,SAAS;IACT,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAE9B,iBAAiB;IACjB,aAAa,EAAE,eAAe;IAE9B,UAAU;IACV,eAAe,EAAE,iBAAiB;IAElC,KAAK;IACL,gBAAgB,EAAE,kBAAkB;IAEpC,OAAO;IACP,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW,EAAE,aAAa;IAC1B,sBAAsB,EAAE,wBAAwB;IAEhD,aAAa;IACb,KAAK,EAAE,OAAO;IAEd,gBAAgB;IAChB,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,6BAA6B,EAAE,+BAA+B;IAE9D,cAAc;IACd,mBAAmB,EAAE,qBAAqB;IAE1C,kBAAkB;IAClB,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAE1C,mBAAmB;IACnB,wBAAwB,EAAE,0BAA0B;IAEpD,2BAA2B;IAC3B,iBAAiB,EAAE,kBAAkB;IAErC,0CAA0C;IAC1C,uBAAuB,EAAE,yBAAyB;CAC1C,CAAC"}
@@ -0,0 +1,29 @@
1
+ export interface RequestFrame {
2
+ type: 'req';
3
+ id: string;
4
+ method: string;
5
+ params?: unknown;
6
+ }
7
+ export interface ResponseFrame {
8
+ type: 'res';
9
+ id: string;
10
+ ok: boolean;
11
+ payload?: unknown;
12
+ error?: {
13
+ code: string;
14
+ message: string;
15
+ };
16
+ }
17
+ export interface EventFrame {
18
+ type: 'event';
19
+ event: string;
20
+ payload?: unknown;
21
+ seq?: number;
22
+ }
23
+ export type Frame = RequestFrame | ResponseFrame | EventFrame;
24
+ export declare const NODE_FRAME_MAGIC = 175;
25
+ export declare const UI_FRAME_MAGIC = 223;
26
+ export declare function isRequest(f: Frame): f is RequestFrame;
27
+ export declare function isResponse(f: Frame): f is ResponseFrame;
28
+ export declare function isEvent(f: Frame): f is EventFrame;
29
+ //# sourceMappingURL=frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;AAG9D,eAAO,MAAM,gBAAgB,MAAO,CAAC;AACrC,eAAO,MAAM,cAAc,MAAO,CAAC;AAEnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,YAAY,CAErD;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,aAAa,CAEvD;AACD,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,UAAU,CAEjD"}
package/dist/frames.js ADDED
@@ -0,0 +1,15 @@
1
+ // WebSocket frame types — shared between gateway and UI clients
2
+ // Follows the OpenClaw pattern: req/res/event frames
3
+ // Binary frame magic bytes for screen capture relay
4
+ export const NODE_FRAME_MAGIC = 0xaf; // node -> gateway
5
+ export const UI_FRAME_MAGIC = 0xdf; // gateway -> UI
6
+ export function isRequest(f) {
7
+ return f.type === 'req';
8
+ }
9
+ export function isResponse(f) {
10
+ return f.type === 'res';
11
+ }
12
+ export function isEvent(f) {
13
+ return f.type === 'event';
14
+ }
15
+ //# sourceMappingURL=frames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../src/frames.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AA0BrD,oDAAoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,kBAAkB;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,gBAAgB;AAEpD,MAAM,UAAU,SAAS,CAAC,CAAQ;IAChC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AAC1B,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,CAAQ;IACjC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AAC1B,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,CAAQ;IAC9B,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { FlowType } from './types.js';
2
+ export interface GitHubRef {
3
+ repo: string;
4
+ number: number;
5
+ ref: string;
6
+ }
7
+ export declare function parseGitHubRef(ref: string | null | undefined): GitHubRef | null;
8
+ export declare function githubPullUrl(ref: Pick<GitHubRef, 'repo' | 'number'>): string;
9
+ export declare const PR_BOUND_FLOW_TYPES: ReadonlySet<FlowType>;
10
+ export declare function prNumberFromRunInput(input: Pick<{
11
+ flowType: FlowType;
12
+ ticketOrPr: string;
13
+ prNumber?: number | null;
14
+ }, 'flowType' | 'ticketOrPr' | 'prNumber'>): number | null;
15
+ //# sourceMappingURL=github-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-ref.d.ts","sourceRoot":"","sources":["../src/github-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAW/E;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,CAE7E;AAED,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,QAAQ,CAIpD,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CACT;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACpE,UAAU,GAAG,YAAY,GAAG,UAAU,CACvC,GACA,MAAM,GAAG,IAAI,CAIf"}
@@ -0,0 +1,30 @@
1
+ const GITHUB_REF_PATTERN = /^([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)#(\d+)$/;
2
+ export function parseGitHubRef(ref) {
3
+ const match = ref?.trim().match(GITHUB_REF_PATTERN);
4
+ if (!match)
5
+ return null;
6
+ const [owner, repo] = match[1].split('/');
7
+ if (!owner || !repo || owner === '.' || owner === '..' || repo === '.' || repo === '..')
8
+ return null;
9
+ return {
10
+ repo: match[1],
11
+ number: Number(match[2]),
12
+ ref: `${match[1]}#${match[2]}`,
13
+ };
14
+ }
15
+ export function githubPullUrl(ref) {
16
+ return `https://github.com/${ref.repo}/pull/${ref.number}`;
17
+ }
18
+ export const PR_BOUND_FLOW_TYPES = new Set([
19
+ 'review-pr',
20
+ 'pr-complete',
21
+ 'merge-main',
22
+ ]);
23
+ export function prNumberFromRunInput(input) {
24
+ if (input.prNumber != null)
25
+ return input.prNumber;
26
+ if (!PR_BOUND_FLOW_TYPES.has(input.flowType))
27
+ return null;
28
+ return parseGitHubRef(input.ticketOrPr)?.number ?? null;
29
+ }
30
+ //# sourceMappingURL=github-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-ref.js","sourceRoot":"","sources":["../src/github-ref.ts"],"names":[],"mappings":"AAQA,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AAExE,MAAM,UAAU,cAAc,CAAC,GAA8B;IAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI;QACrF,OAAO,IAAI,CAAC;IACd,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAuC;IACnE,OAAO,sBAAsB,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA0B,IAAI,GAAG,CAAC;IAChE,WAAW;IACX,aAAa;IACb,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAClC,KAGC;IAED,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAClD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,14 @@
1
+ export * from './agent-roles.js';
2
+ export * from './events.js';
3
+ export * from './frames.js';
4
+ export * from './github-ref.js';
5
+ export * from './methods.js';
6
+ export * from './recipe-compat.js';
7
+ export * from './run-family-readiness.js';
8
+ export * from './signal.js';
9
+ export * from './step-io.js';
10
+ export * from './surfaces.js';
11
+ export * from './tmux-worker-watchlist.js';
12
+ export * from './types.js';
13
+ export { PROTOCOL_VERSION } from './version.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ export * from './agent-roles.js';
2
+ export * from './events.js';
3
+ export * from './frames.js';
4
+ export * from './github-ref.js';
5
+ export * from './methods.js';
6
+ export * from './recipe-compat.js';
7
+ export * from './run-family-readiness.js';
8
+ export * from './signal.js';
9
+ export * from './step-io.js';
10
+ export * from './surfaces.js';
11
+ export * from './tmux-worker-watchlist.js';
12
+ export * from './types.js';
13
+ export { PROTOCOL_VERSION } from './version.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,46 @@
1
+ export declare const AuthMethods: {
2
+ readonly connect: "auth.connect";
3
+ };
4
+ export type GatewayAuthClientKind = 'ui' | 'companion' | 'node';
5
+ export type GatewayAuthMode = 'none' | 'token' | 'password';
6
+ export interface GatewayAuthConnectParams {
7
+ clientKind: GatewayAuthClientKind;
8
+ token?: string;
9
+ password?: string;
10
+ clientName?: string;
11
+ protocolVersion?: string;
12
+ }
13
+ export interface GatewayAuthConnectResult {
14
+ ok: true;
15
+ clientKind: GatewayAuthClientKind;
16
+ authMode: GatewayAuthMode;
17
+ authenticatedAt: number;
18
+ capabilities: {
19
+ httpBearerAuth: boolean;
20
+ voiceInstructionFormatting: boolean;
21
+ };
22
+ }
23
+ export interface PairingCreateParams {
24
+ gatewayUrl: string;
25
+ profileName?: string;
26
+ ttlSeconds?: number;
27
+ }
28
+ export interface PairingCreateResult {
29
+ url: string;
30
+ code: string;
31
+ profileName: string;
32
+ expiresAt: string;
33
+ }
34
+ export interface PairingExchangeParams {
35
+ code: string;
36
+ }
37
+ export interface PairingExchangeResult {
38
+ profile: {
39
+ name: string;
40
+ url: string;
41
+ authMode: Exclude<GatewayAuthMode, 'none'>;
42
+ secret: string;
43
+ };
44
+ expiresAt: string;
45
+ }
46
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/methods/auth.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;CAEd,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE5D,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE;QACZ,cAAc,EAAE,OAAO,CAAC;QACxB,0BAA0B,EAAE,OAAO,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ import { Methods } from './registry.js';
2
+ export const AuthMethods = {
3
+ connect: Methods.AUTH_CONNECT,
4
+ };
5
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/methods/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC,YAAY;CACrB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { OkResult } from '../types.js';
2
+ import type { BacklogBlockedItem, BacklogCreateInput, BacklogEnqueueResultData, BacklogItem, BacklogStatus, BacklogUpdateInput } from '../types/backlog.js';
3
+ export declare const BacklogMethods: {
4
+ readonly create: "backlog.create";
5
+ readonly list: "backlog.list";
6
+ readonly update: "backlog.update";
7
+ readonly delete: "backlog.delete";
8
+ readonly markReady: "backlog.markReady";
9
+ readonly enqueue: "backlog.enqueue";
10
+ readonly autoDispatchTick: "backlog.autoDispatchTick";
11
+ readonly upcoming: "backlog.upcoming";
12
+ };
13
+ export interface BacklogCreateParams extends BacklogCreateInput {
14
+ }
15
+ export interface BacklogCreateResult {
16
+ item: BacklogItem;
17
+ }
18
+ export interface BacklogListParams {
19
+ project?: string;
20
+ status?: BacklogStatus;
21
+ includeArchived?: boolean;
22
+ }
23
+ export interface BacklogListResult {
24
+ items: BacklogItem[];
25
+ }
26
+ export interface BacklogUpdateParams extends BacklogUpdateInput {
27
+ itemId: string;
28
+ }
29
+ export interface BacklogUpdateResult {
30
+ item: BacklogItem;
31
+ }
32
+ export interface BacklogDeleteParams {
33
+ itemId: string;
34
+ }
35
+ export type BacklogDeleteResult = OkResult;
36
+ export interface BacklogMarkReadyParams {
37
+ itemId: string;
38
+ }
39
+ export interface BacklogMarkReadyResult {
40
+ item: BacklogItem;
41
+ }
42
+ export interface BacklogEnqueueParams {
43
+ itemId: string;
44
+ auto?: boolean;
45
+ }
46
+ export interface BacklogEnqueueResult extends BacklogEnqueueResultData {
47
+ }
48
+ export interface BacklogAutoDispatchTickParams {
49
+ project?: string;
50
+ }
51
+ export interface BacklogAutoDispatchTickResult {
52
+ enqueued: BacklogEnqueueResultData[];
53
+ blocked: BacklogBlockedItem[];
54
+ }
55
+ export interface BacklogUpcomingParams {
56
+ project?: string;
57
+ limit?: number;
58
+ }
59
+ export interface BacklogUpcomingResult {
60
+ ready: BacklogItem[];
61
+ blocked: BacklogBlockedItem[];
62
+ }
63
+ //# sourceMappingURL=backlog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/methods/backlog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;CAAG;AAClE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;CAAG;AAEzE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IACrC,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,12 @@
1
+ import { Methods } from './registry.js';
2
+ export const BacklogMethods = {
3
+ create: Methods.BACKLOG_CREATE,
4
+ list: Methods.BACKLOG_LIST,
5
+ update: Methods.BACKLOG_UPDATE,
6
+ delete: Methods.BACKLOG_DELETE,
7
+ markReady: Methods.BACKLOG_MARK_READY,
8
+ enqueue: Methods.BACKLOG_ENQUEUE,
9
+ autoDispatchTick: Methods.BACKLOG_AUTO_DISPATCH_TICK,
10
+ upcoming: Methods.BACKLOG_UPCOMING,
11
+ };
12
+ //# sourceMappingURL=backlog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/methods/backlog.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC,cAAc;IAC9B,IAAI,EAAE,OAAO,CAAC,YAAY;IAC1B,MAAM,EAAE,OAAO,CAAC,cAAc;IAC9B,MAAM,EAAE,OAAO,CAAC,cAAc;IAC9B,SAAS,EAAE,OAAO,CAAC,kBAAkB;IACrC,OAAO,EAAE,OAAO,CAAC,eAAe;IAChC,gBAAgB,EAAE,OAAO,CAAC,0BAA0B;IACpD,QAAQ,EAAE,OAAO,CAAC,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,290 @@
1
+ export declare const ChatMethods: {
2
+ readonly operatorSnapshot: "operator.snapshot";
3
+ readonly send: "chat.send";
4
+ readonly history: "chat.history";
5
+ readonly clear: "chat.clear";
6
+ readonly newSession: "chat.new";
7
+ readonly sessions: "chat.sessions";
8
+ readonly sessionCreate: "chat.sessionCreate";
9
+ readonly sessionDelete: "chat.sessionDelete";
10
+ readonly sessionsBulkDelete: "chat.sessionsBulkDelete";
11
+ readonly sessionPin: "chat.sessionPin";
12
+ readonly screenEvidence: "chat.screenEvidence";
13
+ readonly observerEvidence: "chat.observerEvidence";
14
+ readonly saveMemory: "chat.saveMemory";
15
+ readonly confirmAction: "chat.confirmAction";
16
+ readonly listActions: "chat.listActions";
17
+ readonly abort: "chat.abort";
18
+ readonly context: "chat.context";
19
+ readonly sessionContext: "chat.sessionContext";
20
+ };
21
+ export interface ChatSendParams {
22
+ sessionId?: string;
23
+ message: string;
24
+ clientContext?: import('../types.js').ChatClientContext;
25
+ intent?: import('../types.js').ChatSendIntent;
26
+ }
27
+ export interface ChatSendResult {
28
+ messageId: string;
29
+ }
30
+ export interface ChatHistoryParams {
31
+ sessionId?: string;
32
+ limit?: number;
33
+ }
34
+ export interface ChatHistoryResult {
35
+ messages: import('../types.js').ChatMessage[];
36
+ }
37
+ export interface ChatClearParams {
38
+ sessionId?: string;
39
+ }
40
+ export interface ChatClearResult {
41
+ }
42
+ export interface ChatNewParams {
43
+ sessionId?: string;
44
+ }
45
+ export interface ChatNewResult {
46
+ savedPath?: string;
47
+ }
48
+ export interface ChatSessionsResult {
49
+ sessions: import('../types.js').ChatSessionSummary[];
50
+ }
51
+ export interface ChatSessionCreateParams {
52
+ title?: string;
53
+ sessionId?: string;
54
+ /** When true, the new session is persisted to disk immediately. Default: false (ephemeral). */
55
+ pinned?: boolean;
56
+ }
57
+ export interface ChatSessionCreateResult {
58
+ session: import('../types.js').ChatSessionSummary;
59
+ }
60
+ export interface ChatSessionDeleteParams {
61
+ sessionId: string;
62
+ }
63
+ export interface ChatSessionDeleteResult {
64
+ ok: true;
65
+ /** True when the session was found and removed (in-memory and on disk). */
66
+ deleted: boolean;
67
+ }
68
+ export interface ChatSessionsBulkDeleteParams {
69
+ sessionIds: string[];
70
+ }
71
+ export interface ChatSessionsBulkDeleteResult {
72
+ /** Count of sessions actually removed (excludes ids that did not exist). */
73
+ deleted: number;
74
+ }
75
+ export interface ChatSessionPinParams {
76
+ sessionId: string;
77
+ }
78
+ export interface ChatSessionPinResult {
79
+ session: import('../types.js').ChatSessionSummary;
80
+ }
81
+ export interface ChatScreenEvidenceParams {
82
+ sessionId?: string;
83
+ }
84
+ export interface ChatScreenEvidenceResult {
85
+ snapshot: import('../types.js').ScreenEvidenceSnapshot | null;
86
+ }
87
+ export type ChatObserverEvidenceParams = import('../types.js').ObserverEvidenceQuery;
88
+ export interface ChatObserverEvidenceResult {
89
+ evidence: import('../types.js').ObserverEvidenceResult;
90
+ }
91
+ export interface ChatSaveMemoryParams {
92
+ content: string;
93
+ }
94
+ export interface ChatSaveMemoryResult {
95
+ }
96
+ export interface ChatConfirmActionParams {
97
+ sessionId: string;
98
+ actionId: string;
99
+ }
100
+ export interface ChatConfirmActionResult {
101
+ ok: true;
102
+ actionId: string;
103
+ type: string;
104
+ consumedAt: string;
105
+ result?: Record<string, unknown>;
106
+ }
107
+ export interface ChatListActionsParams {
108
+ sessionId: string;
109
+ }
110
+ export interface ChatListActionsResult {
111
+ actions: Array<{
112
+ actionId: string;
113
+ type: string;
114
+ params: Record<string, unknown>;
115
+ issuedAt: string;
116
+ }>;
117
+ }
118
+ export interface ChatAbortParams {
119
+ sessionId?: string;
120
+ }
121
+ export interface ChatAbortResult {
122
+ }
123
+ export interface ChatContextResult {
124
+ context: string;
125
+ generatedAt: string;
126
+ charCount: number;
127
+ }
128
+ export interface ChatSessionContextParams {
129
+ sessionId?: string;
130
+ }
131
+ export interface ChatSessionContextResult {
132
+ sessionId: string;
133
+ generatedAt: string;
134
+ model: {
135
+ provider: string;
136
+ configuredModel: string;
137
+ runtimeIdentity: string;
138
+ };
139
+ messages: {
140
+ total: number;
141
+ user: number;
142
+ assistant: number;
143
+ system: number;
144
+ };
145
+ usage: {
146
+ totalInputTokens: number;
147
+ totalOutputTokens: number;
148
+ totalCostUsd: number;
149
+ lastInputTokens?: number;
150
+ lastOutputTokens?: number;
151
+ lastCostUsd?: number;
152
+ };
153
+ contextWindow: {
154
+ estimatedMaxTokens: number | null;
155
+ warningThresholdTokens: number;
156
+ lastInputPct: number | null;
157
+ remainingInputTokens: number | null;
158
+ note: string;
159
+ };
160
+ compaction: {
161
+ automatic: false;
162
+ jumpsUntilCompact: null;
163
+ status: 'not-implemented';
164
+ note: string;
165
+ };
166
+ }
167
+ export interface OperatorSnapshotResult {
168
+ generatedAt: string;
169
+ sources: Record<string, string>;
170
+ counts: {
171
+ totalSlots: number;
172
+ readySlots: number;
173
+ busySlots: number;
174
+ heldSlots: number;
175
+ activeRuns: number;
176
+ queuedItems: number;
177
+ pendingDecisions: number;
178
+ recentEvents: number;
179
+ };
180
+ fleet: {
181
+ checkedAt?: string;
182
+ summary?: import('../types.js').FleetSummary;
183
+ };
184
+ machines: Array<{
185
+ machine: string;
186
+ online: boolean;
187
+ headroom: string;
188
+ cpuPercent?: number;
189
+ memoryPercent?: number;
190
+ diskPercent?: number;
191
+ loadAvg1?: number;
192
+ }>;
193
+ activeRuns: Array<{
194
+ id: string;
195
+ flowType: string;
196
+ status: string;
197
+ step?: string;
198
+ slotId?: string | null;
199
+ ticketOrPr: string;
200
+ pendingDecisions: number;
201
+ }>;
202
+ queue: Array<{
203
+ id: string;
204
+ flowType: string;
205
+ project: string;
206
+ ticketOrPr: string;
207
+ slotId?: string;
208
+ priority: number;
209
+ createdAt: string;
210
+ }>;
211
+ pendingDecisions: Array<{
212
+ id: string;
213
+ type: string;
214
+ title: string;
215
+ runId?: string | null;
216
+ slotId?: string | null;
217
+ ticketOrPr?: string | null;
218
+ createdAt: string;
219
+ actions: string[];
220
+ }>;
221
+ recentEvents: Array<{
222
+ id: string;
223
+ ts: string;
224
+ type: string;
225
+ severity: 'info' | 'warn' | 'error';
226
+ summary: string;
227
+ slotId?: string;
228
+ runId?: string;
229
+ }>;
230
+ }
231
+ export interface RunContextBundleParams {
232
+ runId: string;
233
+ }
234
+ export interface RunContextBundleResult {
235
+ generatedAt: string;
236
+ sources: Record<string, string>;
237
+ run: {
238
+ id: string;
239
+ familyId: string;
240
+ parentRunId?: string | null;
241
+ flowType: string;
242
+ status: string;
243
+ project: string;
244
+ ticketOrPr: string;
245
+ slotId?: string | null;
246
+ branch?: string | null;
247
+ prNumber?: number;
248
+ summary?: string;
249
+ error?: string;
250
+ createdAt: string;
251
+ updatedAt: string;
252
+ completedAt?: string;
253
+ };
254
+ currentSteps: Array<{
255
+ name: string;
256
+ status: string;
257
+ detail?: string;
258
+ startedAt?: string;
259
+ completedAt?: string;
260
+ durationMs?: number;
261
+ }>;
262
+ pendingDecisions: Array<{
263
+ id: string;
264
+ type: string;
265
+ title: string;
266
+ createdAt: string;
267
+ actions: string[];
268
+ }>;
269
+ taskFiles: Array<{
270
+ label: string;
271
+ path: string;
272
+ content: string;
273
+ truncated: boolean;
274
+ }>;
275
+ artifacts: Array<{
276
+ label: string;
277
+ path: string;
278
+ content: string;
279
+ truncated: boolean;
280
+ }>;
281
+ }
282
+ export interface RunRecoveryProposalParams {
283
+ runId: string;
284
+ stepName?: string;
285
+ screenContext?: import('../types.js').RouteContextSelectors;
286
+ }
287
+ export interface RunRecoveryProposalResult {
288
+ proposal: import('../types.js').RunRecoveryProposal;
289
+ }
290
+ //# sourceMappingURL=chat.d.ts.map