@a5c-ai/agent-comm-mux 5.0.1-staging.04ca6ab00d21

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 (263) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/dist/adapter-registry.d.ts +51 -0
  4. package/dist/adapter-registry.d.ts.map +1 -0
  5. package/dist/adapter-registry.js +208 -0
  6. package/dist/adapter-registry.js.map +1 -0
  7. package/dist/adapter-types.d.ts +164 -0
  8. package/dist/adapter-types.d.ts.map +1 -0
  9. package/dist/adapter-types.js +27 -0
  10. package/dist/adapter-types.js.map +1 -0
  11. package/dist/adapter.d.ts +248 -0
  12. package/dist/adapter.d.ts.map +1 -0
  13. package/dist/adapter.js +18 -0
  14. package/dist/adapter.js.map +1 -0
  15. package/dist/atomic-fs.d.ts +33 -0
  16. package/dist/atomic-fs.d.ts.map +1 -0
  17. package/dist/atomic-fs.js +190 -0
  18. package/dist/atomic-fs.js.map +1 -0
  19. package/dist/auth-manager.d.ts +37 -0
  20. package/dist/auth-manager.d.ts.map +1 -0
  21. package/dist/auth-manager.js +94 -0
  22. package/dist/auth-manager.js.map +1 -0
  23. package/dist/auth-types.d.ts +83 -0
  24. package/dist/auth-types.d.ts.map +1 -0
  25. package/dist/auth-types.js +10 -0
  26. package/dist/auth-types.js.map +1 -0
  27. package/dist/automation.d.ts +104 -0
  28. package/dist/automation.d.ts.map +1 -0
  29. package/dist/automation.js +2 -0
  30. package/dist/automation.js.map +1 -0
  31. package/dist/browser.d.ts +5 -0
  32. package/dist/browser.d.ts.map +1 -0
  33. package/dist/browser.js +2 -0
  34. package/dist/browser.js.map +1 -0
  35. package/dist/builtin-hooks.d.ts +24 -0
  36. package/dist/builtin-hooks.d.ts.map +1 -0
  37. package/dist/builtin-hooks.js +80 -0
  38. package/dist/builtin-hooks.js.map +1 -0
  39. package/dist/capabilities.d.ts +251 -0
  40. package/dist/capabilities.d.ts.map +1 -0
  41. package/dist/capabilities.js +7 -0
  42. package/dist/capabilities.js.map +1 -0
  43. package/dist/client.d.ts +118 -0
  44. package/dist/client.d.ts.map +1 -0
  45. package/dist/client.js +316 -0
  46. package/dist/client.js.map +1 -0
  47. package/dist/config-manager.d.ts +85 -0
  48. package/dist/config-manager.d.ts.map +1 -0
  49. package/dist/config-manager.js +202 -0
  50. package/dist/config-manager.js.map +1 -0
  51. package/dist/config-types.d.ts +134 -0
  52. package/dist/config-types.d.ts.map +1 -0
  53. package/dist/config-types.js +10 -0
  54. package/dist/config-types.js.map +1 -0
  55. package/dist/cost-utils.d.ts +31 -0
  56. package/dist/cost-utils.d.ts.map +1 -0
  57. package/dist/cost-utils.js +69 -0
  58. package/dist/cost-utils.js.map +1 -0
  59. package/dist/errors.d.ts +50 -0
  60. package/dist/errors.d.ts.map +1 -0
  61. package/dist/errors.js +85 -0
  62. package/dist/errors.js.map +1 -0
  63. package/dist/events-control.d.ts +91 -0
  64. package/dist/events-control.d.ts.map +1 -0
  65. package/dist/events-control.js +8 -0
  66. package/dist/events-control.js.map +1 -0
  67. package/dist/events.d.ts +285 -0
  68. package/dist/events.d.ts.map +1 -0
  69. package/dist/events.js +8 -0
  70. package/dist/events.js.map +1 -0
  71. package/dist/hook-catalog.d.ts +20 -0
  72. package/dist/hook-catalog.d.ts.map +1 -0
  73. package/dist/hook-catalog.js +63 -0
  74. package/dist/hook-catalog.js.map +1 -0
  75. package/dist/hook-dispatcher.d.ts +24 -0
  76. package/dist/hook-dispatcher.d.ts.map +1 -0
  77. package/dist/hook-dispatcher.js +91 -0
  78. package/dist/hook-dispatcher.js.map +1 -0
  79. package/dist/hook-payload.d.ts +24 -0
  80. package/dist/hook-payload.d.ts.map +1 -0
  81. package/dist/hook-payload.js +62 -0
  82. package/dist/hook-payload.js.map +1 -0
  83. package/dist/hooks.d.ts +59 -0
  84. package/dist/hooks.d.ts.map +1 -0
  85. package/dist/hooks.js +118 -0
  86. package/dist/hooks.js.map +1 -0
  87. package/dist/host-detection.d.ts +67 -0
  88. package/dist/host-detection.d.ts.map +1 -0
  89. package/dist/host-detection.js +147 -0
  90. package/dist/host-detection.js.map +1 -0
  91. package/dist/index.d.ts +88 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +50 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/interaction-channel-impl.d.ts +56 -0
  96. package/dist/interaction-channel-impl.d.ts.map +1 -0
  97. package/dist/interaction-channel-impl.js +159 -0
  98. package/dist/interaction-channel-impl.js.map +1 -0
  99. package/dist/interaction.d.ts +93 -0
  100. package/dist/interaction.d.ts.map +1 -0
  101. package/dist/interaction.js +8 -0
  102. package/dist/interaction.js.map +1 -0
  103. package/dist/invocation.d.ts +100 -0
  104. package/dist/invocation.d.ts.map +1 -0
  105. package/dist/invocation.js +17 -0
  106. package/dist/invocation.js.map +1 -0
  107. package/dist/kanban.d.ts +894 -0
  108. package/dist/kanban.d.ts.map +1 -0
  109. package/dist/kanban.js +1155 -0
  110. package/dist/kanban.js.map +1 -0
  111. package/dist/merge.d.ts +37 -0
  112. package/dist/merge.d.ts.map +1 -0
  113. package/dist/merge.js +102 -0
  114. package/dist/merge.js.map +1 -0
  115. package/dist/model-registry.d.ts +61 -0
  116. package/dist/model-registry.d.ts.map +1 -0
  117. package/dist/model-registry.js +198 -0
  118. package/dist/model-registry.js.map +1 -0
  119. package/dist/plugin-manager-impl.d.ts +48 -0
  120. package/dist/plugin-manager-impl.d.ts.map +1 -0
  121. package/dist/plugin-manager-impl.js +343 -0
  122. package/dist/plugin-manager-impl.js.map +1 -0
  123. package/dist/plugin-manager.d.ts +81 -0
  124. package/dist/plugin-manager.d.ts.map +1 -0
  125. package/dist/plugin-manager.js +7 -0
  126. package/dist/plugin-manager.js.map +1 -0
  127. package/dist/plugin-types.d.ts +114 -0
  128. package/dist/plugin-types.d.ts.map +1 -0
  129. package/dist/plugin-types.js +7 -0
  130. package/dist/plugin-types.js.map +1 -0
  131. package/dist/process-tracker.d.ts +20 -0
  132. package/dist/process-tracker.d.ts.map +1 -0
  133. package/dist/process-tracker.js +96 -0
  134. package/dist/process-tracker.js.map +1 -0
  135. package/dist/profiles.d.ts +99 -0
  136. package/dist/profiles.d.ts.map +1 -0
  137. package/dist/profiles.js +231 -0
  138. package/dist/profiles.js.map +1 -0
  139. package/dist/programmatic-runner.d.ts +4 -0
  140. package/dist/programmatic-runner.d.ts.map +1 -0
  141. package/dist/programmatic-runner.js +110 -0
  142. package/dist/programmatic-runner.js.map +1 -0
  143. package/dist/provider-config.d.ts +40 -0
  144. package/dist/provider-config.d.ts.map +1 -0
  145. package/dist/provider-config.js +67 -0
  146. package/dist/provider-config.js.map +1 -0
  147. package/dist/provider-profiles.d.ts +47 -0
  148. package/dist/provider-profiles.d.ts.map +1 -0
  149. package/dist/provider-profiles.js +117 -0
  150. package/dist/provider-profiles.js.map +1 -0
  151. package/dist/provider-resolver.d.ts +15 -0
  152. package/dist/provider-resolver.d.ts.map +1 -0
  153. package/dist/provider-resolver.js +114 -0
  154. package/dist/provider-resolver.js.map +1 -0
  155. package/dist/provider-support-matrix.d.ts +12 -0
  156. package/dist/provider-support-matrix.d.ts.map +1 -0
  157. package/dist/provider-support-matrix.js +88 -0
  158. package/dist/provider-support-matrix.js.map +1 -0
  159. package/dist/remote-runner.d.ts +4 -0
  160. package/dist/remote-runner.d.ts.map +1 -0
  161. package/dist/remote-runner.js +114 -0
  162. package/dist/remote-runner.js.map +1 -0
  163. package/dist/retry.d.ts +13 -0
  164. package/dist/retry.d.ts.map +1 -0
  165. package/dist/retry.js +17 -0
  166. package/dist/retry.js.map +1 -0
  167. package/dist/run-handle-cost.d.ts +36 -0
  168. package/dist/run-handle-cost.d.ts.map +1 -0
  169. package/dist/run-handle-cost.js +62 -0
  170. package/dist/run-handle-cost.js.map +1 -0
  171. package/dist/run-handle-impl.d.ts +144 -0
  172. package/dist/run-handle-impl.d.ts.map +1 -0
  173. package/dist/run-handle-impl.js +695 -0
  174. package/dist/run-handle-impl.js.map +1 -0
  175. package/dist/run-handle.d.ts +222 -0
  176. package/dist/run-handle.d.ts.map +1 -0
  177. package/dist/run-handle.js +9 -0
  178. package/dist/run-handle.js.map +1 -0
  179. package/dist/run-options-validation.d.ts +23 -0
  180. package/dist/run-options-validation.d.ts.map +1 -0
  181. package/dist/run-options-validation.js +234 -0
  182. package/dist/run-options-validation.js.map +1 -0
  183. package/dist/run-options.d.ts +128 -0
  184. package/dist/run-options.d.ts.map +1 -0
  185. package/dist/run-options.js +329 -0
  186. package/dist/run-options.js.map +1 -0
  187. package/dist/runtime-hook-dispatcher.d.ts +19 -0
  188. package/dist/runtime-hook-dispatcher.d.ts.map +1 -0
  189. package/dist/runtime-hook-dispatcher.js +50 -0
  190. package/dist/runtime-hook-dispatcher.js.map +1 -0
  191. package/dist/runtime-hooks.d.ts +47 -0
  192. package/dist/runtime-hooks.d.ts.map +1 -0
  193. package/dist/runtime-hooks.js +2 -0
  194. package/dist/runtime-hooks.js.map +1 -0
  195. package/dist/schema/__tests__/event-schema.test.d.ts +1 -0
  196. package/dist/schema/__tests__/event-schema.test.d.ts.map +1 -0
  197. package/dist/schema/__tests__/event-schema.test.js +480 -0
  198. package/dist/schema/__tests__/event-schema.test.js.map +1 -0
  199. package/dist/schema/event-schema.d.ts +120 -0
  200. package/dist/schema/event-schema.d.ts.map +1 -0
  201. package/dist/schema/event-schema.js +546 -0
  202. package/dist/schema/event-schema.js.map +1 -0
  203. package/dist/schema/index.d.ts +7 -0
  204. package/dist/schema/index.d.ts.map +1 -0
  205. package/dist/schema/index.js +49 -0
  206. package/dist/schema/index.js.map +1 -0
  207. package/dist/session-manager-helpers.d.ts +33 -0
  208. package/dist/session-manager-helpers.d.ts.map +1 -0
  209. package/dist/session-manager-helpers.js +66 -0
  210. package/dist/session-manager-helpers.js.map +1 -0
  211. package/dist/session-manager.d.ts +70 -0
  212. package/dist/session-manager.d.ts.map +1 -0
  213. package/dist/session-manager.js +343 -0
  214. package/dist/session-manager.js.map +1 -0
  215. package/dist/session-types.d.ts +358 -0
  216. package/dist/session-types.d.ts.map +1 -0
  217. package/dist/session-types.js +10 -0
  218. package/dist/session-types.js.map +1 -0
  219. package/dist/spawn-invocation.d.ts +52 -0
  220. package/dist/spawn-invocation.d.ts.map +1 -0
  221. package/dist/spawn-invocation.js +218 -0
  222. package/dist/spawn-invocation.js.map +1 -0
  223. package/dist/spawn-runner-utils.d.ts +21 -0
  224. package/dist/spawn-runner-utils.d.ts.map +1 -0
  225. package/dist/spawn-runner-utils.js +102 -0
  226. package/dist/spawn-runner-utils.js.map +1 -0
  227. package/dist/spawn-runner.d.ts +21 -0
  228. package/dist/spawn-runner.d.ts.map +1 -0
  229. package/dist/spawn-runner.js +576 -0
  230. package/dist/spawn-runner.js.map +1 -0
  231. package/dist/spawn-runtime-hooks.d.ts +15 -0
  232. package/dist/spawn-runtime-hooks.d.ts.map +1 -0
  233. package/dist/spawn-runtime-hooks.js +136 -0
  234. package/dist/spawn-runtime-hooks.js.map +1 -0
  235. package/dist/state-machine.d.ts +33 -0
  236. package/dist/state-machine.d.ts.map +1 -0
  237. package/dist/state-machine.js +61 -0
  238. package/dist/state-machine.js.map +1 -0
  239. package/dist/storage.d.ts +47 -0
  240. package/dist/storage.d.ts.map +1 -0
  241. package/dist/storage.js +90 -0
  242. package/dist/storage.js.map +1 -0
  243. package/dist/stream-assembler.d.ts +51 -0
  244. package/dist/stream-assembler.d.ts.map +1 -0
  245. package/dist/stream-assembler.js +86 -0
  246. package/dist/stream-assembler.js.map +1 -0
  247. package/dist/tools/classify.d.ts +9 -0
  248. package/dist/tools/classify.d.ts.map +1 -0
  249. package/dist/tools/classify.js +77 -0
  250. package/dist/tools/classify.js.map +1 -0
  251. package/dist/tools/index.d.ts +2 -0
  252. package/dist/tools/index.d.ts.map +1 -0
  253. package/dist/tools/index.js +2 -0
  254. package/dist/tools/index.js.map +1 -0
  255. package/dist/types.d.ts +288 -0
  256. package/dist/types.d.ts.map +1 -0
  257. package/dist/types.js +8 -0
  258. package/dist/types.js.map +1 -0
  259. package/dist/workspaces.d.ts +142 -0
  260. package/dist/workspaces.d.ts.map +1 -0
  261. package/dist/workspaces.js +515 -0
  262. package/dist/workspaces.js.map +1 -0
  263. package/package.json +107 -0
@@ -0,0 +1,2 @@
1
+ export type { ToolClassification } from './classify.js';
2
+ export { classifyTool } from './classify.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { classifyTool } from './classify.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Core types for @a5c-ai/agent-mux.
3
+ *
4
+ * Defines all foundational type aliases, interfaces, and union types
5
+ * used across the agent-mux system.
6
+ */
7
+ /**
8
+ * Agent names — derived from Atlas graph at runtime.
9
+ * Any string is accepted; the adapter registry resolves names to implementations.
10
+ */
11
+ export type BuiltInAgentName = string;
12
+ export type AgentName = string;
13
+ /** Machine-readable error codes defined by agent-mux. */
14
+ export type ErrorCode = 'CAPABILITY_ERROR' | 'VALIDATION_ERROR' | 'AUTH_ERROR' | 'AGENT_NOT_FOUND' | 'AGENT_NOT_INSTALLED' | 'AGENT_CRASH' | 'SPAWN_ERROR' | 'TIMEOUT' | 'INACTIVITY_TIMEOUT' | 'PARSE_ERROR' | 'CONFIG_ERROR' | 'CONFIG_LOCK_ERROR' | 'SESSION_NOT_FOUND' | 'PROFILE_NOT_FOUND' | 'PLUGIN_ERROR' | 'RATE_LIMITED' | 'CONTEXT_EXCEEDED' | 'ABORTED' | 'RUN_NOT_ACTIVE' | 'STDIN_NOT_AVAILABLE' | 'NO_PENDING_INTERACTION' | 'INTERACTION_NOT_FOUND' | 'INVALID_STATE_TRANSITION' | 'PTY_NOT_AVAILABLE' | 'UNKNOWN_AGENT' | 'INTERNAL';
15
+ /** A single field-level validation error. */
16
+ export interface ValidationFieldError {
17
+ /** Dot-path to the invalid field (e.g., "temperature"). */
18
+ field: string;
19
+ /** What went wrong. */
20
+ message: string;
21
+ /** The value that was provided. */
22
+ received: unknown;
23
+ /** The expected type or range. */
24
+ expected: string;
25
+ }
26
+ /** Base shape shared by every event emitted on a RunHandle. */
27
+ export interface BaseEvent {
28
+ /** Discriminator tag for the event union type. */
29
+ type: string;
30
+ /** ULID of the run that produced this event. */
31
+ runId: string;
32
+ /** Name of the agent that produced this event. */
33
+ agent: AgentName;
34
+ /**
35
+ * Unix epoch milliseconds when this event was created by agent-mux.
36
+ * This is the parse time, not the agent's internal timestamp.
37
+ */
38
+ timestamp: number;
39
+ /**
40
+ * Origin of the event inside agent-mux.
41
+ * Omitted for legacy agent-originated events.
42
+ */
43
+ source?: string;
44
+ /**
45
+ * The raw, unparsed line from the agent's output.
46
+ * Present only when the client is created with `debug: true`
47
+ * or the run is started with `debug: true`.
48
+ * Omitted in production to reduce memory pressure.
49
+ */
50
+ raw?: string;
51
+ }
52
+ /** Schema for `~/.agent-mux/config.json`. */
53
+ export interface GlobalConfig {
54
+ /**
55
+ * Default agent used when `RunOptions.agent` is not specified
56
+ * and no profile overrides it.
57
+ */
58
+ defaultAgent?: AgentName;
59
+ /**
60
+ * Default model used when `RunOptions.model` is not specified.
61
+ * Agent-specific; ignored if the agent does not support this model.
62
+ */
63
+ defaultModel?: string;
64
+ /**
65
+ * Default approval mode for tool calls and file operations.
66
+ * @default 'prompt'
67
+ */
68
+ approvalMode?: 'yolo' | 'prompt' | 'deny';
69
+ /**
70
+ * Default run timeout in milliseconds. 0 means no timeout.
71
+ * @default 0
72
+ */
73
+ timeout?: number;
74
+ /**
75
+ * Default inactivity timeout in milliseconds. 0 means no timeout.
76
+ * @default 0
77
+ */
78
+ inactivityTimeout?: number;
79
+ /** Default retry policy. */
80
+ retryPolicy?: RetryPolicy;
81
+ /**
82
+ * Default streaming mode.
83
+ * @default 'auto'
84
+ */
85
+ stream?: boolean | 'auto';
86
+ }
87
+ /** Schema for `~/.agent-mux/auth-hints.json`. */
88
+ export interface AuthHintsFile {
89
+ /** Schema version for forward compatibility. */
90
+ version: 1;
91
+ /** Per-agent cached auth state. */
92
+ agents: Record<AgentName, AuthHintEntry>;
93
+ }
94
+ /** A single cached auth-state entry. */
95
+ export interface AuthHintEntry {
96
+ /** Last detected auth status. */
97
+ status: 'authenticated' | 'unauthenticated' | 'expired' | 'unknown';
98
+ /** Auth method that was detected. */
99
+ method?: string;
100
+ /** Identity string (e.g., email or username). */
101
+ identity?: string;
102
+ /** When this hint expires and should be re-checked. */
103
+ expiresAt?: string;
104
+ /** ISO 8601 timestamp of when this hint was last updated. */
105
+ checkedAt: string;
106
+ }
107
+ /** A single entry in `.agent-mux/run-index.jsonl`. */
108
+ export interface RunIndexEntry {
109
+ /** Schema version for the entry format. */
110
+ v: 1;
111
+ /** ULID of the run. Globally unique, time-sortable. */
112
+ runId: string;
113
+ /** Agent that was invoked. */
114
+ agent: AgentName;
115
+ /** Model that was used (if known). */
116
+ model?: string;
117
+ /** The agent's native session ID (if applicable). */
118
+ sessionId?: string;
119
+ /**
120
+ * ISO 8601 timestamp when the run started.
121
+ * Always in UTC with 'Z' suffix.
122
+ */
123
+ timestamp: string;
124
+ /** Cost record, if cost data was available. */
125
+ cost?: CostRecord;
126
+ /** Consumer-provided tags for filtering and grouping. */
127
+ tags: string[];
128
+ }
129
+ /** Aggregated cost data for a single run. */
130
+ export interface CostRecord {
131
+ /** Total cost in USD. */
132
+ totalUsd: number;
133
+ /** Input tokens consumed. */
134
+ inputTokens: number;
135
+ /** Output tokens generated. */
136
+ outputTokens: number;
137
+ /** Thinking/reasoning tokens (if applicable). */
138
+ thinkingTokens?: number;
139
+ /** Cached input tokens (if applicable). @deprecated Use cacheCreationTokens + cacheReadTokens for granular attribution. */
140
+ cachedTokens?: number;
141
+ /** Cache creation tokens - tokens used to create new cache entries. */
142
+ cacheCreationTokens?: number;
143
+ /** Cache read tokens - tokens read from existing cache entries. */
144
+ cacheReadTokens?: number;
145
+ }
146
+ /** Data stored in a profile JSON file. All fields are optional. */
147
+ export interface ProfileData {
148
+ /** The agent to use. */
149
+ agent?: AgentName;
150
+ /** The model to use. */
151
+ model?: string;
152
+ /** Approval mode. */
153
+ approvalMode?: 'yolo' | 'prompt' | 'deny';
154
+ /** Run timeout in milliseconds. */
155
+ timeout?: number;
156
+ /** Inactivity timeout in milliseconds. */
157
+ inactivityTimeout?: number;
158
+ /** Maximum turns. */
159
+ maxTurns?: number;
160
+ /** Thinking effort level. */
161
+ thinkingEffort?: 'low' | 'medium' | 'high' | 'max';
162
+ /** Thinking budget in tokens. */
163
+ thinkingBudgetTokens?: number;
164
+ /** Override thinking behavior entirely. */
165
+ thinkingOverride?: Record<string, unknown>;
166
+ /** Temperature for sampling. */
167
+ temperature?: number;
168
+ /** Top-P for sampling. */
169
+ topP?: number;
170
+ /** Top-K for sampling. */
171
+ topK?: number;
172
+ /** Maximum output tokens. */
173
+ maxTokens?: number;
174
+ /** Maximum output tokens (alias). */
175
+ maxOutputTokens?: number;
176
+ /** Streaming mode. */
177
+ stream?: boolean | 'auto';
178
+ /** Output format. */
179
+ outputFormat?: 'text' | 'json' | 'jsonl';
180
+ /** Retry policy. */
181
+ retryPolicy?: RetryPolicy;
182
+ /** System prompt. */
183
+ systemPrompt?: string;
184
+ /** System prompt injection mode. */
185
+ systemPromptMode?: 'prepend' | 'append' | 'replace';
186
+ /** Skills to load. */
187
+ skills?: string[];
188
+ /** MCP server configurations. */
189
+ mcpServers?: McpServerConfig[];
190
+ /** Tags for run indexing. */
191
+ tags?: string[];
192
+ }
193
+ /** Supported plugin packaging formats across agents. */
194
+ export type PluginFormat = 'npm-package' | 'skill-file' | 'skill-directory' | 'extension-ts' | 'channel-plugin' | 'mcp-server';
195
+ /** Configuration for automatic retry on transient failures. All fields are optional with spec-defined defaults. */
196
+ export interface RetryPolicy {
197
+ /**
198
+ * Maximum number of retry attempts. Must be an integer >= 1.
199
+ * @default 3
200
+ */
201
+ maxAttempts?: number;
202
+ /**
203
+ * Base delay between retries in milliseconds.
204
+ * Actual delay uses exponential backoff: baseDelayMs * 2^(attempt-1).
205
+ * @default 1000
206
+ */
207
+ baseDelayMs?: number;
208
+ /**
209
+ * Maximum delay between retries in milliseconds.
210
+ * Caps the exponential backoff. Must be an integer >= baseDelayMs.
211
+ * @default 30000
212
+ */
213
+ maxDelayMs?: number;
214
+ /**
215
+ * Jitter factor applied to the delay. 0 means no jitter; 1 means
216
+ * up to 100% random jitter added. Must be in [0.0, 1.0].
217
+ * @default 0.1
218
+ */
219
+ jitterFactor?: number;
220
+ /**
221
+ * Which error codes are retryable.
222
+ * @default ['RATE_LIMITED', 'AGENT_CRASH', 'TIMEOUT']
223
+ */
224
+ retryOn?: ErrorCode[];
225
+ }
226
+ /** A file or data attachment for a run prompt. Exactly one source must be set. */
227
+ export interface Attachment {
228
+ /** Absolute path to a local file. */
229
+ filePath?: string;
230
+ /** URL to fetch the attachment from. */
231
+ url?: string;
232
+ /** Base64-encoded content. Requires `mimeType` to be set. */
233
+ base64?: string;
234
+ /** MIME type of the attachment (required when `base64` is set). */
235
+ mimeType?: string;
236
+ /** Human-readable name for the attachment. */
237
+ name?: string;
238
+ }
239
+ /** Event emitted when an agent requires user input during a run. */
240
+ export interface InputRequiredEvent {
241
+ /** Discriminator. */
242
+ type: 'input_required';
243
+ /** ULID of the run. */
244
+ runId: string;
245
+ /** Agent that requires input. */
246
+ agent: AgentName;
247
+ /** Unix epoch milliseconds. */
248
+ timestamp: number;
249
+ /** Optional message describing what input is needed. */
250
+ message?: string;
251
+ }
252
+ /** Event emitted when an agent requests approval for a tool call. */
253
+ export interface ApprovalRequestEvent {
254
+ /** Discriminator. */
255
+ type: 'approval_request';
256
+ /** ULID of the run. */
257
+ runId: string;
258
+ /** Agent requesting approval. */
259
+ agent: AgentName;
260
+ /** Unix epoch milliseconds. */
261
+ timestamp: number;
262
+ /** Tool name that requires approval. */
263
+ tool?: string;
264
+ /** Arguments to the tool call. */
265
+ arguments?: Record<string, unknown>;
266
+ /** Human-readable description of the action. */
267
+ description?: string;
268
+ }
269
+ /**
270
+ * MCP server configuration.
271
+ * Defines how to connect to a Model Context Protocol server.
272
+ */
273
+ export interface McpServerConfig {
274
+ /** The name of the MCP server. Must match `^[a-zA-Z0-9_-]{1,64}$`. */
275
+ name: string;
276
+ /** The transport type. */
277
+ transport: 'stdio' | 'sse' | 'streamable-http';
278
+ /** Command to spawn (for stdio transport). */
279
+ command?: string;
280
+ /** Arguments for the command. */
281
+ args?: string[];
282
+ /** Environment variables for the server process. */
283
+ env?: Record<string, string>;
284
+ /** URL for SSE or streamable-http transports. */
285
+ url?: string;
286
+ /** Additional HTTP headers for SSE or streamable-http transports. */
287
+ headers?: Record<string, string>;
288
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Core types for @a5c-ai/agent-mux.
3
+ *
4
+ * Defines all foundational type aliases, interfaces, and union types
5
+ * used across the agent-mux system.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,142 @@
1
+ import { promises as fs } from 'node:fs';
2
+ export type WorkspaceMaterializationMode = 'worktree' | 'symlink';
3
+ export type WorkspaceSessionStatus = 'running' | 'stopped';
4
+ export type WorkspaceStatus = 'active' | 'idle' | 'archived' | 'cleaned' | 'missing';
5
+ export interface WorkspaceSessionRepoContext {
6
+ readonly alias: string;
7
+ readonly sourcePath: string;
8
+ readonly targetPath: string;
9
+ readonly mode: WorkspaceMaterializationMode;
10
+ readonly gitRoot: string | null;
11
+ readonly branch: string | null;
12
+ readonly head: string | null;
13
+ }
14
+ export interface WorkspaceSessionContext {
15
+ readonly workspaceId: string;
16
+ readonly workspaceName: string;
17
+ readonly workspaceRootPath: string;
18
+ readonly workspaceDefaultCwd: string;
19
+ readonly workspaceMode: WorkspaceMaterializationMode;
20
+ readonly currentPath?: string;
21
+ readonly repo?: WorkspaceSessionRepoContext;
22
+ }
23
+ export interface WorkspaceRepoInput {
24
+ readonly path: string;
25
+ readonly alias?: string;
26
+ readonly mode?: WorkspaceMaterializationMode;
27
+ }
28
+ export interface WorkspaceCreateInput {
29
+ readonly name: string;
30
+ readonly repos: readonly WorkspaceRepoInput[];
31
+ readonly mode?: WorkspaceMaterializationMode;
32
+ readonly branchName?: string;
33
+ readonly rootDir?: string;
34
+ }
35
+ export interface WorkspaceSessionBinding {
36
+ readonly agent: string;
37
+ readonly sessionId: string;
38
+ readonly status: WorkspaceSessionStatus;
39
+ readonly cwd?: string;
40
+ readonly title?: string;
41
+ readonly updatedAt: string;
42
+ readonly activeRunId?: string | null;
43
+ readonly latestRunId?: string | null;
44
+ }
45
+ export interface WorkspaceRepoRecord {
46
+ readonly alias: string;
47
+ readonly sourcePath: string;
48
+ readonly targetPath: string;
49
+ readonly mode: WorkspaceMaterializationMode;
50
+ readonly gitRoot: string | null;
51
+ readonly branch: string | null;
52
+ readonly head: string | null;
53
+ }
54
+ export interface WorkspaceRecord {
55
+ readonly id: string;
56
+ readonly name: string;
57
+ readonly rootPath: string;
58
+ readonly mode: WorkspaceMaterializationMode;
59
+ readonly createdAt: string;
60
+ readonly archivedAt: string | null;
61
+ readonly cleanedAt: string | null;
62
+ readonly repos: readonly WorkspaceRepoRecord[];
63
+ readonly sessions: readonly WorkspaceSessionBinding[];
64
+ }
65
+ export interface WorkspaceRepoSummary extends WorkspaceRepoRecord {
66
+ readonly exists: boolean;
67
+ }
68
+ export interface WorkspaceActionAvailability {
69
+ readonly canArchive: boolean;
70
+ readonly canCleanup: boolean;
71
+ readonly canDelete: boolean;
72
+ readonly canRecover: boolean;
73
+ }
74
+ export interface WorkspaceSummary {
75
+ readonly id: string;
76
+ readonly name: string;
77
+ readonly rootPath: string;
78
+ readonly defaultCwd: string;
79
+ readonly mode: WorkspaceMaterializationMode;
80
+ readonly status: WorkspaceStatus;
81
+ readonly createdAt: string;
82
+ readonly archivedAt: string | null;
83
+ readonly cleanedAt: string | null;
84
+ readonly repos: readonly WorkspaceRepoSummary[];
85
+ readonly sessions: readonly WorkspaceSessionBinding[];
86
+ readonly actions: WorkspaceActionAvailability;
87
+ }
88
+ export interface WorkspaceListResult {
89
+ readonly workspaces: readonly WorkspaceSummary[];
90
+ readonly summary: {
91
+ readonly total: number;
92
+ readonly active: number;
93
+ readonly idle: number;
94
+ readonly archived: number;
95
+ readonly cleaned: number;
96
+ readonly missing: number;
97
+ };
98
+ }
99
+ export interface WorkspaceServiceDeps {
100
+ readonly readFile: typeof fs.readFile;
101
+ readonly writeFile: typeof fs.writeFile;
102
+ readonly mkdir: typeof fs.mkdir;
103
+ readonly rm: typeof fs.rm;
104
+ readonly symlink: typeof fs.symlink;
105
+ readonly unlink: typeof fs.unlink;
106
+ readonly stat: typeof fs.stat;
107
+ readonly lstat: typeof fs.lstat;
108
+ readonly readdir: typeof fs.readdir;
109
+ readonly execGit: (args: string[], cwd: string) => Promise<{
110
+ stdout: string;
111
+ stderr: string;
112
+ }>;
113
+ readonly now: () => string;
114
+ readonly homedir: () => string;
115
+ }
116
+ export declare function resolveWorkspaceDefaultCwd(workspace: Pick<WorkspaceRecord, 'rootPath' | 'repos'> | Pick<WorkspaceSummary, 'rootPath' | 'repos'>): string;
117
+ export declare class WorkspaceService {
118
+ private readonly deps;
119
+ constructor(deps?: Partial<WorkspaceServiceDeps>);
120
+ rootDir(): string;
121
+ listWorkspaces(options?: {
122
+ readonly liveSessions?: readonly WorkspaceSessionBinding[];
123
+ }): Promise<WorkspaceListResult>;
124
+ createWorkspace(input: WorkspaceCreateInput): Promise<WorkspaceRecord>;
125
+ archiveWorkspace(identifier: string): Promise<WorkspaceRecord>;
126
+ cleanupWorkspace(identifier: string): Promise<WorkspaceRecord>;
127
+ recoverWorkspace(identifier: string): Promise<WorkspaceRecord>;
128
+ deleteWorkspace(identifier: string, options?: {
129
+ readonly forceCleanup?: boolean;
130
+ }): Promise<void>;
131
+ bindSession(input: {
132
+ readonly workspaceId: string;
133
+ readonly session: WorkspaceSessionBinding;
134
+ }): Promise<WorkspaceRecord>;
135
+ reconcileSessions(liveSessions: readonly WorkspaceSessionBinding[]): Promise<void>;
136
+ resolveWorkspace(identifier: string): Promise<WorkspaceRecord | null>;
137
+ resolveSessionContext(input: {
138
+ readonly workspaceId?: string;
139
+ readonly cwd?: string;
140
+ }): Promise<WorkspaceSessionContext | null>;
141
+ resolveWorkspaceCwd(workspace: Pick<WorkspaceRecord, 'rootPath' | 'repos'> | Pick<WorkspaceSummary, 'rootPath' | 'repos'>): string;
142
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"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"}