@astroanywhere/agent 0.1.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 (203) hide show
  1. package/LICENSE +76 -0
  2. package/README.md +178 -0
  3. package/dist/cli.d.ts +15 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +401 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/index.d.ts +9 -0
  8. package/dist/commands/index.d.ts.map +1 -0
  9. package/dist/commands/index.js +9 -0
  10. package/dist/commands/index.js.map +1 -0
  11. package/dist/commands/mcp.d.ts +16 -0
  12. package/dist/commands/mcp.d.ts.map +1 -0
  13. package/dist/commands/mcp.js +19 -0
  14. package/dist/commands/mcp.js.map +1 -0
  15. package/dist/commands/setup.d.ts +20 -0
  16. package/dist/commands/setup.d.ts.map +1 -0
  17. package/dist/commands/setup.js +585 -0
  18. package/dist/commands/setup.js.map +1 -0
  19. package/dist/commands/start.d.ts +16 -0
  20. package/dist/commands/start.d.ts.map +1 -0
  21. package/dist/commands/start.js +638 -0
  22. package/dist/commands/start.js.map +1 -0
  23. package/dist/commands/status.d.ts +5 -0
  24. package/dist/commands/status.d.ts.map +1 -0
  25. package/dist/commands/status.js +63 -0
  26. package/dist/commands/status.js.map +1 -0
  27. package/dist/commands/stop.d.ts +5 -0
  28. package/dist/commands/stop.d.ts.map +1 -0
  29. package/dist/commands/stop.js +85 -0
  30. package/dist/commands/stop.js.map +1 -0
  31. package/dist/execution/direct-strategy.d.ts +18 -0
  32. package/dist/execution/direct-strategy.d.ts.map +1 -0
  33. package/dist/execution/direct-strategy.js +156 -0
  34. package/dist/execution/direct-strategy.js.map +1 -0
  35. package/dist/execution/docker-strategy.d.ts +26 -0
  36. package/dist/execution/docker-strategy.d.ts.map +1 -0
  37. package/dist/execution/docker-strategy.js +222 -0
  38. package/dist/execution/docker-strategy.js.map +1 -0
  39. package/dist/execution/index.d.ts +14 -0
  40. package/dist/execution/index.d.ts.map +1 -0
  41. package/dist/execution/index.js +13 -0
  42. package/dist/execution/index.js.map +1 -0
  43. package/dist/execution/kubernetes-exec-strategy.d.ts +23 -0
  44. package/dist/execution/kubernetes-exec-strategy.d.ts.map +1 -0
  45. package/dist/execution/kubernetes-exec-strategy.js +232 -0
  46. package/dist/execution/kubernetes-exec-strategy.js.map +1 -0
  47. package/dist/execution/registry.d.ts +41 -0
  48. package/dist/execution/registry.d.ts.map +1 -0
  49. package/dist/execution/registry.js +84 -0
  50. package/dist/execution/registry.js.map +1 -0
  51. package/dist/execution/slurm-strategy.d.ts +22 -0
  52. package/dist/execution/slurm-strategy.d.ts.map +1 -0
  53. package/dist/execution/slurm-strategy.js +219 -0
  54. package/dist/execution/slurm-strategy.js.map +1 -0
  55. package/dist/execution/types.d.ts +72 -0
  56. package/dist/execution/types.d.ts.map +1 -0
  57. package/dist/execution/types.js +10 -0
  58. package/dist/execution/types.js.map +1 -0
  59. package/dist/index.d.ts +22 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +22 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/lib/api-client.d.ts +35 -0
  64. package/dist/lib/api-client.d.ts.map +1 -0
  65. package/dist/lib/api-client.js +126 -0
  66. package/dist/lib/api-client.js.map +1 -0
  67. package/dist/lib/config.d.ts +174 -0
  68. package/dist/lib/config.d.ts.map +1 -0
  69. package/dist/lib/config.js +399 -0
  70. package/dist/lib/config.js.map +1 -0
  71. package/dist/lib/copy-worktree.d.ts +73 -0
  72. package/dist/lib/copy-worktree.d.ts.map +1 -0
  73. package/dist/lib/copy-worktree.js +374 -0
  74. package/dist/lib/copy-worktree.js.map +1 -0
  75. package/dist/lib/git-pr.d.ts +63 -0
  76. package/dist/lib/git-pr.d.ts.map +1 -0
  77. package/dist/lib/git-pr.js +224 -0
  78. package/dist/lib/git-pr.js.map +1 -0
  79. package/dist/lib/hardware-id.d.ts +25 -0
  80. package/dist/lib/hardware-id.d.ts.map +1 -0
  81. package/dist/lib/hardware-id.js +186 -0
  82. package/dist/lib/hardware-id.js.map +1 -0
  83. package/dist/lib/hpc-context.d.ts +35 -0
  84. package/dist/lib/hpc-context.d.ts.map +1 -0
  85. package/dist/lib/hpc-context.js +167 -0
  86. package/dist/lib/hpc-context.js.map +1 -0
  87. package/dist/lib/prompt-templates.d.ts +195 -0
  88. package/dist/lib/prompt-templates.d.ts.map +1 -0
  89. package/dist/lib/prompt-templates.js +353 -0
  90. package/dist/lib/prompt-templates.js.map +1 -0
  91. package/dist/lib/providers.d.ts +27 -0
  92. package/dist/lib/providers.d.ts.map +1 -0
  93. package/dist/lib/providers.js +372 -0
  94. package/dist/lib/providers.js.map +1 -0
  95. package/dist/lib/repo-context.d.ts +18 -0
  96. package/dist/lib/repo-context.d.ts.map +1 -0
  97. package/dist/lib/repo-context.js +61 -0
  98. package/dist/lib/repo-context.js.map +1 -0
  99. package/dist/lib/repo-utils.d.ts +35 -0
  100. package/dist/lib/repo-utils.d.ts.map +1 -0
  101. package/dist/lib/repo-utils.js +222 -0
  102. package/dist/lib/repo-utils.js.map +1 -0
  103. package/dist/lib/resources.d.ts +17 -0
  104. package/dist/lib/resources.d.ts.map +1 -0
  105. package/dist/lib/resources.js +227 -0
  106. package/dist/lib/resources.js.map +1 -0
  107. package/dist/lib/slurm-detect.d.ts +15 -0
  108. package/dist/lib/slurm-detect.d.ts.map +1 -0
  109. package/dist/lib/slurm-detect.js +148 -0
  110. package/dist/lib/slurm-detect.js.map +1 -0
  111. package/dist/lib/slurm-executor.d.ts +70 -0
  112. package/dist/lib/slurm-executor.d.ts.map +1 -0
  113. package/dist/lib/slurm-executor.js +402 -0
  114. package/dist/lib/slurm-executor.js.map +1 -0
  115. package/dist/lib/slurm-job-monitor.d.ts +52 -0
  116. package/dist/lib/slurm-job-monitor.d.ts.map +1 -0
  117. package/dist/lib/slurm-job-monitor.js +212 -0
  118. package/dist/lib/slurm-job-monitor.js.map +1 -0
  119. package/dist/lib/ssh-discovery.d.ts +17 -0
  120. package/dist/lib/ssh-discovery.d.ts.map +1 -0
  121. package/dist/lib/ssh-discovery.js +287 -0
  122. package/dist/lib/ssh-discovery.js.map +1 -0
  123. package/dist/lib/ssh-installer.d.ts +69 -0
  124. package/dist/lib/ssh-installer.d.ts.map +1 -0
  125. package/dist/lib/ssh-installer.js +230 -0
  126. package/dist/lib/ssh-installer.js.map +1 -0
  127. package/dist/lib/streaming-prompt.d.ts +48 -0
  128. package/dist/lib/streaming-prompt.d.ts.map +1 -0
  129. package/dist/lib/streaming-prompt.js +91 -0
  130. package/dist/lib/streaming-prompt.js.map +1 -0
  131. package/dist/lib/task-executor.d.ts +114 -0
  132. package/dist/lib/task-executor.d.ts.map +1 -0
  133. package/dist/lib/task-executor.js +753 -0
  134. package/dist/lib/task-executor.js.map +1 -0
  135. package/dist/lib/websocket-client.d.ts +200 -0
  136. package/dist/lib/websocket-client.d.ts.map +1 -0
  137. package/dist/lib/websocket-client.js +781 -0
  138. package/dist/lib/websocket-client.js.map +1 -0
  139. package/dist/lib/workdir-safety.d.ts +63 -0
  140. package/dist/lib/workdir-safety.d.ts.map +1 -0
  141. package/dist/lib/workdir-safety.js +247 -0
  142. package/dist/lib/workdir-safety.js.map +1 -0
  143. package/dist/lib/worktree-include.d.ts +14 -0
  144. package/dist/lib/worktree-include.d.ts.map +1 -0
  145. package/dist/lib/worktree-include.js +68 -0
  146. package/dist/lib/worktree-include.js.map +1 -0
  147. package/dist/lib/worktree-setup.d.ts +18 -0
  148. package/dist/lib/worktree-setup.d.ts.map +1 -0
  149. package/dist/lib/worktree-setup.js +60 -0
  150. package/dist/lib/worktree-setup.js.map +1 -0
  151. package/dist/lib/worktree.d.ts +37 -0
  152. package/dist/lib/worktree.d.ts.map +1 -0
  153. package/dist/lib/worktree.js +411 -0
  154. package/dist/lib/worktree.js.map +1 -0
  155. package/dist/mcp/index.d.ts +8 -0
  156. package/dist/mcp/index.d.ts.map +1 -0
  157. package/dist/mcp/index.js +8 -0
  158. package/dist/mcp/index.js.map +1 -0
  159. package/dist/mcp/server.d.ts +45 -0
  160. package/dist/mcp/server.d.ts.map +1 -0
  161. package/dist/mcp/server.js +153 -0
  162. package/dist/mcp/server.js.map +1 -0
  163. package/dist/mcp/session-bridge.d.ts +87 -0
  164. package/dist/mcp/session-bridge.d.ts.map +1 -0
  165. package/dist/mcp/session-bridge.js +317 -0
  166. package/dist/mcp/session-bridge.js.map +1 -0
  167. package/dist/mcp/tools.d.ts +70 -0
  168. package/dist/mcp/tools.d.ts.map +1 -0
  169. package/dist/mcp/tools.js +234 -0
  170. package/dist/mcp/tools.js.map +1 -0
  171. package/dist/mcp/types.d.ts +197 -0
  172. package/dist/mcp/types.d.ts.map +1 -0
  173. package/dist/mcp/types.js +16 -0
  174. package/dist/mcp/types.js.map +1 -0
  175. package/dist/providers/base-adapter.d.ts +56 -0
  176. package/dist/providers/base-adapter.d.ts.map +1 -0
  177. package/dist/providers/base-adapter.js +5 -0
  178. package/dist/providers/base-adapter.js.map +1 -0
  179. package/dist/providers/claude-code-adapter.d.ts +27 -0
  180. package/dist/providers/claude-code-adapter.d.ts.map +1 -0
  181. package/dist/providers/claude-code-adapter.js +298 -0
  182. package/dist/providers/claude-code-adapter.js.map +1 -0
  183. package/dist/providers/claude-sdk-adapter.d.ts +60 -0
  184. package/dist/providers/claude-sdk-adapter.d.ts.map +1 -0
  185. package/dist/providers/claude-sdk-adapter.js +632 -0
  186. package/dist/providers/claude-sdk-adapter.js.map +1 -0
  187. package/dist/providers/codex-adapter.d.ts +21 -0
  188. package/dist/providers/codex-adapter.d.ts.map +1 -0
  189. package/dist/providers/codex-adapter.js +197 -0
  190. package/dist/providers/codex-adapter.js.map +1 -0
  191. package/dist/providers/index.d.ts +26 -0
  192. package/dist/providers/index.d.ts.map +1 -0
  193. package/dist/providers/index.js +58 -0
  194. package/dist/providers/index.js.map +1 -0
  195. package/dist/providers/slurm-adapter.d.ts +26 -0
  196. package/dist/providers/slurm-adapter.d.ts.map +1 -0
  197. package/dist/providers/slurm-adapter.js +146 -0
  198. package/dist/providers/slurm-adapter.js.map +1 -0
  199. package/dist/types.d.ts +592 -0
  200. package/dist/types.d.ts.map +1 -0
  201. package/dist/types.js +5 -0
  202. package/dist/types.js.map +1 -0
  203. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/lib/task-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * WebSocket client with automatic reconnection and heartbeat
3
+ */
4
+ import type { TaskStatusMessage, RepoSetupRequestMessage, RepoSetupResponseMessage, RepoDetectRequestMessage, RepoDetectResponseMessage, GitInitRequestMessage, GitInitResponseMessage, ProviderInfo, ExecutionStrategyInfo, RunnerConfig, RunnerEventHandler, TaskResult, Task } from '../types.js';
5
+ export interface WebSocketClientOptions {
6
+ runnerId: string;
7
+ machineId: string;
8
+ providers: ProviderInfo[];
9
+ executionStrategies?: ExecutionStrategyInfo[];
10
+ config?: Partial<RunnerConfig>;
11
+ onEvent?: RunnerEventHandler;
12
+ onTaskDispatch?: (task: Task) => void;
13
+ onTaskCancel?: (taskId: string) => void;
14
+ onTaskSteer?: (taskId: string, message: string, action?: string, interrupt?: boolean) => void;
15
+ onTaskSafetyDecision?: (taskId: string, decision: 'proceed' | 'init-git' | 'sandbox' | 'cancel') => void;
16
+ onFileList?: (path: string, correlationId: string) => void;
17
+ onRepoSetup?: (payload: RepoSetupRequestMessage['payload']) => void;
18
+ onSlashCommands?: (correlationId: string, workingDirectory?: string) => void;
19
+ onRepoDetect?: (payload: RepoDetectRequestMessage['payload']) => void;
20
+ onGitInit?: (payload: GitInitRequestMessage['payload']) => void;
21
+ version?: string;
22
+ wsToken?: string;
23
+ }
24
+ export declare class WebSocketClient {
25
+ private ws;
26
+ private config;
27
+ private runnerId;
28
+ private machineId;
29
+ private providers;
30
+ private executionStrategies?;
31
+ private version;
32
+ private wsToken?;
33
+ private reconnectAttempts;
34
+ private reconnectTimeout;
35
+ private heartbeatInterval;
36
+ private isConnecting;
37
+ private shouldReconnect;
38
+ private activeTasks;
39
+ private pendingApprovals;
40
+ private onEvent?;
41
+ private onTaskDispatch?;
42
+ private onTaskCancel?;
43
+ private onTaskSteer?;
44
+ private onTaskSafetyDecision?;
45
+ private onFileList?;
46
+ private onRepoSetup?;
47
+ private onSlashCommands?;
48
+ private onRepoDetect?;
49
+ private onGitInit?;
50
+ constructor(options: WebSocketClientOptions);
51
+ /**
52
+ * Check if access token is expired or expiring soon
53
+ */
54
+ private isTokenExpiring;
55
+ /**
56
+ * Refresh the access token and WebSocket token using the refresh token
57
+ */
58
+ private refreshAccessToken;
59
+ /**
60
+ * Ensure we have a valid WebSocket token before connecting.
61
+ * Returns null in dev mode when no token is configured (allows unauthenticated connections).
62
+ */
63
+ private ensureValidToken;
64
+ /**
65
+ * Connect to the relay server
66
+ */
67
+ connect(): Promise<void>;
68
+ /**
69
+ * Disconnect from the relay server
70
+ */
71
+ disconnect(): void;
72
+ /**
73
+ * Send a task status update
74
+ */
75
+ sendTaskStatus(taskId: string, status: TaskStatusMessage['payload']['status'], progress?: number, message?: string): void;
76
+ /**
77
+ * Send task output (stdout/stderr)
78
+ */
79
+ sendTaskOutput(taskId: string, stream: 'stdout' | 'stderr', data: string, sequence: number): void;
80
+ /**
81
+ * Send task result
82
+ */
83
+ sendTaskResult(result: TaskResult): void;
84
+ /**
85
+ * Send tool trace
86
+ */
87
+ sendToolTrace(taskId: string, toolName: string, toolInput?: unknown, toolResult?: unknown, success?: boolean): void;
88
+ /**
89
+ * Send structured text (bypasses stdout throttle on relay)
90
+ */
91
+ sendTaskText(taskId: string, text: string, sequence: number): void;
92
+ /**
93
+ * Send structured tool use event
94
+ */
95
+ sendTaskToolUse(taskId: string, toolName: string, toolInput: unknown): void;
96
+ /**
97
+ * Send structured tool result event
98
+ */
99
+ sendTaskToolResult(taskId: string, toolName: string, result: unknown, success: boolean): void;
100
+ /**
101
+ * Send structured file change event
102
+ */
103
+ sendTaskFileChange(taskId: string, path: string, action: 'created' | 'modified' | 'deleted', linesAdded?: number, linesRemoved?: number, diff?: string): void;
104
+ /**
105
+ * Send structured session init event
106
+ */
107
+ sendTaskSessionInit(taskId: string, sessionId: string, model?: string): void;
108
+ /**
109
+ * Send steer acknowledgment
110
+ */
111
+ sendSteerAck(taskId: string, accepted: boolean, message?: string, interrupted?: boolean): void;
112
+ /**
113
+ * Send approval request and wait for response (following Cyrus pattern)
114
+ * Returns a promise that resolves when the user responds or rejects on timeout
115
+ */
116
+ sendApprovalRequest(taskId: string, question: string, options: string[]): Promise<{
117
+ answered: boolean;
118
+ answer?: string;
119
+ message?: string;
120
+ }>;
121
+ /**
122
+ * Send safety prompt to user
123
+ */
124
+ sendSafetyPrompt(taskId: string, safetyTier: 'safe' | 'guarded' | 'risky' | 'unsafe', warning: string | undefined, options: Array<{
125
+ id: string;
126
+ label: string;
127
+ description?: string;
128
+ }>): void;
129
+ /**
130
+ * Send resource update
131
+ */
132
+ sendResourceUpdate(): Promise<void>;
133
+ /**
134
+ * Check if connected
135
+ */
136
+ isConnected(): boolean;
137
+ /**
138
+ * Get current configuration
139
+ */
140
+ getConfig(): RunnerConfig;
141
+ /**
142
+ * Get active task count
143
+ */
144
+ getActiveTaskCount(): number;
145
+ /**
146
+ * Add task to active set
147
+ */
148
+ addActiveTask(taskId: string): void;
149
+ /**
150
+ * Remove task from active set
151
+ */
152
+ removeActiveTask(taskId: string): void;
153
+ private handleOpen;
154
+ private handleMessage;
155
+ private routeMessage;
156
+ private handleRegistered;
157
+ private handleTaskDispatch;
158
+ private handleTaskCancel;
159
+ private handleTaskSteer;
160
+ private handleSafetyDecision;
161
+ private handleApprovalResponse;
162
+ private handleConfigUpdate;
163
+ private handleError;
164
+ private handleFileListRequest;
165
+ /**
166
+ * Send file list response
167
+ */
168
+ sendFileListResponse(correlationId: string, files: string[]): void;
169
+ private handleRepoSetupRequest;
170
+ private handleSlashCommandsRequest;
171
+ /**
172
+ * Send slash commands response
173
+ */
174
+ sendSlashCommandsResponse(correlationId: string, commands: Array<{
175
+ name: string;
176
+ description: string;
177
+ }>): void;
178
+ /**
179
+ * Send repo setup response
180
+ */
181
+ sendRepoSetupResponse(correlationId: string, result: Omit<RepoSetupResponseMessage['payload'], 'correlationId'>): void;
182
+ private handleRepoDetectRequest;
183
+ /**
184
+ * Send repo detect response
185
+ */
186
+ sendRepoDetectResponse(correlationId: string, result: Omit<RepoDetectResponseMessage['payload'], 'correlationId'>): void;
187
+ private handleGitInitRequest;
188
+ /**
189
+ * Send git init response
190
+ */
191
+ sendGitInitResponse(correlationId: string, result: Omit<GitInitResponseMessage['payload'], 'correlationId'>): void;
192
+ private handleClose;
193
+ private send;
194
+ private startHeartbeat;
195
+ private stopHeartbeat;
196
+ private scheduleReconnect;
197
+ private cleanup;
198
+ private emitEvent;
199
+ }
200
+ //# sourceMappingURL=websocket-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../src/lib/websocket-client.ts"],"names":[],"mappings":"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"}