@bradygaster/squad-sdk 0.7.0 → 0.8.2

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 (354) hide show
  1. package/README.md +296 -296
  2. package/dist/adapter/client.d.ts +243 -0
  3. package/dist/adapter/client.d.ts.map +1 -0
  4. package/dist/adapter/client.js +567 -0
  5. package/dist/adapter/client.js.map +1 -0
  6. package/dist/adapter/errors.d.ts +260 -0
  7. package/dist/adapter/errors.d.ts.map +1 -0
  8. package/dist/adapter/errors.js +362 -0
  9. package/dist/adapter/errors.js.map +1 -0
  10. package/dist/adapter/types.d.ts +779 -0
  11. package/dist/adapter/types.d.ts.map +1 -0
  12. package/dist/adapter/types.js +11 -0
  13. package/dist/adapter/types.js.map +1 -0
  14. package/dist/agents/charter-compiler.d.ts +102 -0
  15. package/dist/agents/charter-compiler.d.ts.map +1 -0
  16. package/dist/agents/charter-compiler.js +157 -0
  17. package/dist/agents/charter-compiler.js.map +1 -0
  18. package/dist/agents/history-shadow.d.ts +80 -0
  19. package/dist/agents/history-shadow.d.ts.map +1 -0
  20. package/dist/agents/history-shadow.js +239 -0
  21. package/dist/agents/history-shadow.js.map +1 -0
  22. package/dist/agents/index.d.ts +71 -0
  23. package/dist/agents/index.d.ts.map +1 -0
  24. package/dist/agents/index.js +183 -0
  25. package/dist/agents/index.js.map +1 -0
  26. package/dist/agents/lifecycle.d.ts +138 -0
  27. package/dist/agents/lifecycle.d.ts.map +1 -0
  28. package/dist/agents/lifecycle.js +284 -0
  29. package/dist/agents/lifecycle.js.map +1 -0
  30. package/dist/agents/model-selector.d.ts +80 -0
  31. package/dist/agents/model-selector.d.ts.map +1 -0
  32. package/dist/agents/model-selector.js +171 -0
  33. package/dist/agents/model-selector.js.map +1 -0
  34. package/dist/agents/onboarding.d.ts +65 -0
  35. package/dist/agents/onboarding.d.ts.map +1 -0
  36. package/dist/agents/onboarding.js +373 -0
  37. package/dist/agents/onboarding.js.map +1 -0
  38. package/dist/build/bundle.d.ts +32 -0
  39. package/dist/build/bundle.d.ts.map +1 -0
  40. package/dist/build/bundle.js +97 -0
  41. package/dist/build/bundle.js.map +1 -0
  42. package/dist/build/ci-pipeline.d.ts +51 -0
  43. package/dist/build/ci-pipeline.d.ts.map +1 -0
  44. package/dist/build/ci-pipeline.js +180 -0
  45. package/dist/build/ci-pipeline.js.map +1 -0
  46. package/dist/build/github-dist.d.ts +37 -0
  47. package/dist/build/github-dist.d.ts.map +1 -0
  48. package/dist/build/github-dist.js +117 -0
  49. package/dist/build/github-dist.js.map +1 -0
  50. package/dist/build/index.d.ts +11 -0
  51. package/dist/build/index.d.ts.map +1 -0
  52. package/dist/build/index.js +11 -0
  53. package/dist/build/index.js.map +1 -0
  54. package/dist/build/install-migration.d.ts +28 -0
  55. package/dist/build/install-migration.d.ts.map +1 -0
  56. package/dist/build/install-migration.js +103 -0
  57. package/dist/build/install-migration.js.map +1 -0
  58. package/dist/build/npm-package.d.ts +54 -0
  59. package/dist/build/npm-package.d.ts.map +1 -0
  60. package/dist/build/npm-package.js +128 -0
  61. package/dist/build/npm-package.js.map +1 -0
  62. package/dist/build/release.d.ts +108 -0
  63. package/dist/build/release.d.ts.map +1 -0
  64. package/dist/build/release.js +295 -0
  65. package/dist/build/release.js.map +1 -0
  66. package/dist/build/versioning.d.ts +38 -0
  67. package/dist/build/versioning.d.ts.map +1 -0
  68. package/dist/build/versioning.js +113 -0
  69. package/dist/build/versioning.js.map +1 -0
  70. package/dist/casting/casting-engine.d.ts +60 -0
  71. package/dist/casting/casting-engine.d.ts.map +1 -0
  72. package/dist/casting/casting-engine.js +223 -0
  73. package/dist/casting/casting-engine.js.map +1 -0
  74. package/dist/casting/casting-history.d.ts +54 -0
  75. package/dist/casting/casting-history.d.ts.map +1 -0
  76. package/dist/casting/casting-history.js +63 -0
  77. package/dist/casting/casting-history.js.map +1 -0
  78. package/dist/casting/index.d.ts +46 -0
  79. package/dist/casting/index.d.ts.map +1 -0
  80. package/dist/casting/index.js +45 -0
  81. package/dist/casting/index.js.map +1 -0
  82. package/dist/client/event-bus.d.ts +29 -0
  83. package/dist/client/event-bus.d.ts.map +1 -0
  84. package/dist/client/event-bus.js +52 -0
  85. package/dist/client/event-bus.js.map +1 -0
  86. package/dist/client/index.d.ts +100 -0
  87. package/dist/client/index.d.ts.map +1 -0
  88. package/dist/client/index.js +170 -0
  89. package/dist/client/index.js.map +1 -0
  90. package/dist/client/session-pool.d.ts +66 -0
  91. package/dist/client/session-pool.d.ts.map +1 -0
  92. package/dist/client/session-pool.js +145 -0
  93. package/dist/client/session-pool.js.map +1 -0
  94. package/dist/config/agent-doc.d.ts +43 -0
  95. package/dist/config/agent-doc.d.ts.map +1 -0
  96. package/dist/config/agent-doc.js +158 -0
  97. package/dist/config/agent-doc.js.map +1 -0
  98. package/dist/config/agent-source.d.ts +95 -0
  99. package/dist/config/agent-source.d.ts.map +1 -0
  100. package/dist/config/agent-source.js +274 -0
  101. package/dist/config/agent-source.js.map +1 -0
  102. package/dist/config/doc-sync.d.ts +66 -0
  103. package/dist/config/doc-sync.d.ts.map +1 -0
  104. package/dist/config/doc-sync.js +270 -0
  105. package/dist/config/doc-sync.js.map +1 -0
  106. package/dist/config/feature-audit.d.ts +49 -0
  107. package/dist/config/feature-audit.d.ts.map +1 -0
  108. package/dist/config/feature-audit.js +148 -0
  109. package/dist/config/feature-audit.js.map +1 -0
  110. package/dist/config/index.d.ts +15 -0
  111. package/dist/config/index.d.ts.map +1 -0
  112. package/dist/config/index.js +15 -0
  113. package/dist/config/index.js.map +1 -0
  114. package/dist/config/init.d.ts +61 -0
  115. package/dist/config/init.d.ts.map +1 -0
  116. package/dist/config/init.js +376 -0
  117. package/dist/config/init.js.map +1 -0
  118. package/dist/config/legacy-fallback.d.ts +83 -0
  119. package/dist/config/legacy-fallback.d.ts.map +1 -0
  120. package/dist/config/legacy-fallback.js +212 -0
  121. package/dist/config/legacy-fallback.js.map +1 -0
  122. package/dist/config/markdown-migration.d.ts +157 -0
  123. package/dist/config/markdown-migration.d.ts.map +1 -0
  124. package/dist/config/markdown-migration.js +434 -0
  125. package/dist/config/markdown-migration.js.map +1 -0
  126. package/dist/config/migration.d.ts +123 -0
  127. package/dist/config/migration.d.ts.map +1 -0
  128. package/dist/config/migration.js +273 -0
  129. package/dist/config/migration.js.map +1 -0
  130. package/dist/config/migrations/index.d.ts +36 -0
  131. package/dist/config/migrations/index.d.ts.map +1 -0
  132. package/dist/config/migrations/index.js +216 -0
  133. package/dist/config/migrations/index.js.map +1 -0
  134. package/dist/config/models.d.ts +134 -0
  135. package/dist/config/models.d.ts.map +1 -0
  136. package/dist/config/models.js +354 -0
  137. package/dist/config/models.js.map +1 -0
  138. package/dist/config/routing.d.ts +118 -0
  139. package/dist/config/routing.d.ts.map +1 -0
  140. package/dist/config/routing.js +247 -0
  141. package/dist/config/routing.js.map +1 -0
  142. package/dist/config/schema.d.ts +72 -0
  143. package/dist/config/schema.d.ts.map +1 -0
  144. package/dist/config/schema.js +63 -0
  145. package/dist/config/schema.js.map +1 -0
  146. package/dist/coordinator/coordinator.d.ts +82 -0
  147. package/dist/coordinator/coordinator.d.ts.map +1 -0
  148. package/dist/coordinator/coordinator.js +192 -0
  149. package/dist/coordinator/coordinator.js.map +1 -0
  150. package/dist/coordinator/direct-response.d.ts +83 -0
  151. package/dist/coordinator/direct-response.d.ts.map +1 -0
  152. package/dist/coordinator/direct-response.js +187 -0
  153. package/dist/coordinator/direct-response.js.map +1 -0
  154. package/dist/coordinator/fan-out.d.ts +83 -0
  155. package/dist/coordinator/fan-out.d.ts.map +1 -0
  156. package/dist/coordinator/fan-out.js +161 -0
  157. package/dist/coordinator/fan-out.js.map +1 -0
  158. package/dist/coordinator/index.d.ts +62 -0
  159. package/dist/coordinator/index.d.ts.map +1 -0
  160. package/dist/coordinator/index.js +171 -0
  161. package/dist/coordinator/index.js.map +1 -0
  162. package/dist/coordinator/response-tiers.d.ts +49 -0
  163. package/dist/coordinator/response-tiers.d.ts.map +1 -0
  164. package/dist/coordinator/response-tiers.js +149 -0
  165. package/dist/coordinator/response-tiers.js.map +1 -0
  166. package/dist/hooks/index.d.ts +103 -0
  167. package/dist/hooks/index.d.ts.map +1 -0
  168. package/dist/hooks/index.js +279 -0
  169. package/dist/hooks/index.js.map +1 -0
  170. package/dist/index.d.ts +33 -1
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +33 -3
  173. package/dist/index.js.map +1 -1
  174. package/dist/marketplace/backend.d.ts +35 -0
  175. package/dist/marketplace/backend.d.ts.map +1 -0
  176. package/dist/marketplace/backend.js +99 -0
  177. package/dist/marketplace/backend.js.map +1 -0
  178. package/dist/marketplace/browser.d.ts +33 -0
  179. package/dist/marketplace/browser.d.ts.map +1 -0
  180. package/dist/marketplace/browser.js +97 -0
  181. package/dist/marketplace/browser.js.map +1 -0
  182. package/dist/marketplace/extension-adapter.d.ts +51 -0
  183. package/dist/marketplace/extension-adapter.d.ts.map +1 -0
  184. package/dist/marketplace/extension-adapter.js +81 -0
  185. package/dist/marketplace/extension-adapter.js.map +1 -0
  186. package/dist/marketplace/index.d.ts +51 -0
  187. package/dist/marketplace/index.d.ts.map +1 -0
  188. package/dist/marketplace/index.js +108 -0
  189. package/dist/marketplace/index.js.map +1 -0
  190. package/dist/marketplace/packaging.d.ts +25 -0
  191. package/dist/marketplace/packaging.d.ts.map +1 -0
  192. package/dist/marketplace/packaging.js +117 -0
  193. package/dist/marketplace/packaging.js.map +1 -0
  194. package/dist/marketplace/schema.d.ts +50 -0
  195. package/dist/marketplace/schema.d.ts.map +1 -0
  196. package/dist/marketplace/schema.js +120 -0
  197. package/dist/marketplace/schema.js.map +1 -0
  198. package/dist/marketplace/security.d.ts +26 -0
  199. package/dist/marketplace/security.d.ts.map +1 -0
  200. package/dist/marketplace/security.js +199 -0
  201. package/dist/marketplace/security.js.map +1 -0
  202. package/dist/parsers.d.ts +15 -0
  203. package/dist/parsers.d.ts.map +1 -0
  204. package/dist/parsers.js +15 -0
  205. package/dist/parsers.js.map +1 -0
  206. package/dist/ralph/index.d.ts +58 -0
  207. package/dist/ralph/index.d.ts.map +1 -0
  208. package/dist/ralph/index.js +128 -0
  209. package/dist/ralph/index.js.map +1 -0
  210. package/dist/resolution.d.ts +47 -0
  211. package/dist/resolution.d.ts.map +1 -0
  212. package/dist/resolution.js +106 -0
  213. package/dist/resolution.js.map +1 -0
  214. package/dist/runtime/benchmarks.d.ts +121 -0
  215. package/dist/runtime/benchmarks.d.ts.map +1 -0
  216. package/dist/runtime/benchmarks.js +251 -0
  217. package/dist/runtime/benchmarks.js.map +1 -0
  218. package/dist/runtime/config.d.ts +314 -0
  219. package/dist/runtime/config.d.ts.map +1 -0
  220. package/dist/runtime/config.js +467 -0
  221. package/dist/runtime/config.js.map +1 -0
  222. package/dist/runtime/constants.d.ts +35 -0
  223. package/dist/runtime/constants.d.ts.map +1 -0
  224. package/dist/runtime/constants.js +58 -0
  225. package/dist/runtime/constants.js.map +1 -0
  226. package/dist/runtime/cost-tracker.d.ts +73 -0
  227. package/dist/runtime/cost-tracker.d.ts.map +1 -0
  228. package/dist/runtime/cost-tracker.js +157 -0
  229. package/dist/runtime/cost-tracker.js.map +1 -0
  230. package/dist/runtime/event-bus-otel-bridge.d.ts +19 -0
  231. package/dist/runtime/event-bus-otel-bridge.d.ts.map +1 -0
  232. package/dist/runtime/event-bus-otel-bridge.js +61 -0
  233. package/dist/runtime/event-bus-otel-bridge.js.map +1 -0
  234. package/dist/runtime/event-bus-ws-bridge.d.ts +35 -0
  235. package/dist/runtime/event-bus-ws-bridge.d.ts.map +1 -0
  236. package/dist/runtime/event-bus-ws-bridge.js +55 -0
  237. package/dist/runtime/event-bus-ws-bridge.js.map +1 -0
  238. package/dist/runtime/event-bus.d.ts +190 -0
  239. package/dist/runtime/event-bus.d.ts.map +1 -0
  240. package/dist/runtime/event-bus.js +218 -0
  241. package/dist/runtime/event-bus.js.map +1 -0
  242. package/dist/runtime/event-payloads.d.ts +108 -0
  243. package/dist/runtime/event-payloads.d.ts.map +1 -0
  244. package/dist/runtime/event-payloads.js +28 -0
  245. package/dist/runtime/event-payloads.js.map +1 -0
  246. package/dist/runtime/health.d.ts +66 -0
  247. package/dist/runtime/health.d.ts.map +1 -0
  248. package/dist/runtime/health.js +112 -0
  249. package/dist/runtime/health.js.map +1 -0
  250. package/dist/runtime/i18n.d.ts +54 -0
  251. package/dist/runtime/i18n.d.ts.map +1 -0
  252. package/dist/runtime/i18n.js +126 -0
  253. package/dist/runtime/i18n.js.map +1 -0
  254. package/dist/runtime/offline.d.ts +64 -0
  255. package/dist/runtime/offline.d.ts.map +1 -0
  256. package/dist/runtime/offline.js +108 -0
  257. package/dist/runtime/offline.js.map +1 -0
  258. package/dist/runtime/otel-bridge.d.ts +52 -0
  259. package/dist/runtime/otel-bridge.d.ts.map +1 -0
  260. package/dist/runtime/otel-bridge.js +132 -0
  261. package/dist/runtime/otel-bridge.js.map +1 -0
  262. package/dist/runtime/otel-init.d.ts +72 -0
  263. package/dist/runtime/otel-init.d.ts.map +1 -0
  264. package/dist/runtime/otel-init.js +68 -0
  265. package/dist/runtime/otel-init.js.map +1 -0
  266. package/dist/runtime/otel-metrics.d.ts +42 -0
  267. package/dist/runtime/otel-metrics.d.ts.map +1 -0
  268. package/dist/runtime/otel-metrics.js +196 -0
  269. package/dist/runtime/otel-metrics.js.map +1 -0
  270. package/dist/runtime/otel.d.ts +53 -0
  271. package/dist/runtime/otel.d.ts.map +1 -0
  272. package/dist/runtime/otel.js +127 -0
  273. package/dist/runtime/otel.js.map +1 -0
  274. package/dist/runtime/squad-observer.d.ts +75 -0
  275. package/dist/runtime/squad-observer.d.ts.map +1 -0
  276. package/dist/runtime/squad-observer.js +190 -0
  277. package/dist/runtime/squad-observer.js.map +1 -0
  278. package/dist/runtime/streaming.d.ts +106 -0
  279. package/dist/runtime/streaming.d.ts.map +1 -0
  280. package/dist/runtime/streaming.js +192 -0
  281. package/dist/runtime/streaming.js.map +1 -0
  282. package/dist/runtime/telemetry.d.ts +82 -0
  283. package/dist/runtime/telemetry.d.ts.map +1 -0
  284. package/dist/runtime/telemetry.js +120 -0
  285. package/dist/runtime/telemetry.js.map +1 -0
  286. package/dist/sharing/agent-repo.d.ts +33 -0
  287. package/dist/sharing/agent-repo.d.ts.map +1 -0
  288. package/dist/sharing/agent-repo.js +79 -0
  289. package/dist/sharing/agent-repo.js.map +1 -0
  290. package/dist/sharing/cache.d.ts +36 -0
  291. package/dist/sharing/cache.d.ts.map +1 -0
  292. package/dist/sharing/cache.js +85 -0
  293. package/dist/sharing/cache.js.map +1 -0
  294. package/dist/sharing/conflicts.d.ts +32 -0
  295. package/dist/sharing/conflicts.d.ts.map +1 -0
  296. package/dist/sharing/conflicts.js +121 -0
  297. package/dist/sharing/conflicts.js.map +1 -0
  298. package/dist/sharing/export.d.ts +50 -0
  299. package/dist/sharing/export.d.ts.map +1 -0
  300. package/dist/sharing/export.js +156 -0
  301. package/dist/sharing/export.js.map +1 -0
  302. package/dist/sharing/history-split.d.ts +34 -0
  303. package/dist/sharing/history-split.d.ts.map +1 -0
  304. package/dist/sharing/history-split.js +101 -0
  305. package/dist/sharing/history-split.js.map +1 -0
  306. package/dist/sharing/import.d.ts +37 -0
  307. package/dist/sharing/import.d.ts.map +1 -0
  308. package/dist/sharing/import.js +138 -0
  309. package/dist/sharing/import.js.map +1 -0
  310. package/dist/sharing/index.d.ts +11 -0
  311. package/dist/sharing/index.d.ts.map +1 -0
  312. package/dist/sharing/index.js +11 -0
  313. package/dist/sharing/index.js.map +1 -0
  314. package/dist/sharing/versioning.d.ts +32 -0
  315. package/dist/sharing/versioning.d.ts.map +1 -0
  316. package/dist/sharing/versioning.js +64 -0
  317. package/dist/sharing/versioning.js.map +1 -0
  318. package/dist/skills/index.d.ts +49 -0
  319. package/dist/skills/index.d.ts.map +1 -0
  320. package/dist/skills/index.js +85 -0
  321. package/dist/skills/index.js.map +1 -0
  322. package/dist/skills/skill-loader.d.ts +56 -0
  323. package/dist/skills/skill-loader.d.ts.map +1 -0
  324. package/dist/skills/skill-loader.js +106 -0
  325. package/dist/skills/skill-loader.js.map +1 -0
  326. package/dist/skills/skill-source.d.ts +63 -0
  327. package/dist/skills/skill-source.d.ts.map +1 -0
  328. package/dist/skills/skill-source.js +199 -0
  329. package/dist/skills/skill-source.js.map +1 -0
  330. package/dist/tools/index.d.ts +95 -0
  331. package/dist/tools/index.d.ts.map +1 -0
  332. package/dist/tools/index.js +475 -0
  333. package/dist/tools/index.js.map +1 -0
  334. package/dist/types.d.ts +43 -0
  335. package/dist/types.d.ts.map +1 -0
  336. package/dist/types.js +8 -0
  337. package/dist/types.js.map +1 -0
  338. package/dist/upstream/index.d.ts +8 -0
  339. package/dist/upstream/index.d.ts.map +1 -0
  340. package/dist/upstream/index.js +7 -0
  341. package/dist/upstream/index.js.map +1 -0
  342. package/dist/upstream/resolver.d.ts +37 -0
  343. package/dist/upstream/resolver.d.ts.map +1 -0
  344. package/dist/upstream/resolver.js +234 -0
  345. package/dist/upstream/resolver.js.map +1 -0
  346. package/dist/upstream/types.d.ts +55 -0
  347. package/dist/upstream/types.d.ts.map +1 -0
  348. package/dist/upstream/types.js +11 -0
  349. package/dist/upstream/types.js.map +1 -0
  350. package/dist/utils/normalize-eol.d.ts +6 -0
  351. package/dist/utils/normalize-eol.d.ts.map +1 -0
  352. package/dist/utils/normalize-eol.js +8 -0
  353. package/dist/utils/normalize-eol.js.map +1 -0
  354. package/package.json +197 -63
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Squad SDK Client Adapter
3
+ *
4
+ * Wraps CopilotClient to provide connection lifecycle management, error recovery,
5
+ * automatic reconnection, and protocol version validation.
6
+ *
7
+ * @module adapter/client
8
+ */
9
+ import type { SquadSessionConfig, SquadSession, SquadSessionEventHandler, SquadSessionEventType, SquadSessionMetadata, SquadGetAuthStatusResponse, SquadGetStatusResponse, SquadModelInfo, SquadMessageOptions } from "./types.js";
10
+ /**
11
+ * Connection state for SquadClient.
12
+ */
13
+ export type SquadConnectionState = "disconnected" | "connecting" | "connected" | "reconnecting" | "error";
14
+ /**
15
+ * Options for creating a SquadClient.
16
+ */
17
+ export interface SquadClientOptions {
18
+ /**
19
+ * Path to the Copilot CLI executable.
20
+ * Defaults to bundled CLI from @github/copilot package.
21
+ */
22
+ cliPath?: string;
23
+ /**
24
+ * Additional arguments to pass to the CLI process.
25
+ */
26
+ cliArgs?: string[];
27
+ /**
28
+ * Working directory for the CLI process.
29
+ * @default process.cwd()
30
+ */
31
+ cwd?: string;
32
+ /**
33
+ * Port to bind the CLI server (TCP mode).
34
+ * Set to 0 for random port, or undefined to use stdio mode.
35
+ */
36
+ port?: number;
37
+ /**
38
+ * Use stdio transport instead of TCP.
39
+ * @default true
40
+ */
41
+ useStdio?: boolean;
42
+ /**
43
+ * URL of an external CLI server to connect to.
44
+ * Mutually exclusive with useStdio and cliPath.
45
+ */
46
+ cliUrl?: string;
47
+ /**
48
+ * Log level for the CLI process.
49
+ * @default "debug"
50
+ */
51
+ logLevel?: "error" | "warning" | "info" | "debug" | "all" | "none";
52
+ /**
53
+ * Automatically start the connection when creating a session.
54
+ * @default true
55
+ */
56
+ autoStart?: boolean;
57
+ /**
58
+ * Automatically reconnect on transient failures.
59
+ * @default true
60
+ */
61
+ autoReconnect?: boolean;
62
+ /**
63
+ * Environment variables to pass to the CLI process.
64
+ * @default process.env
65
+ */
66
+ env?: Record<string, string>;
67
+ /**
68
+ * GitHub token for authentication.
69
+ * If not provided, uses logged-in user credentials.
70
+ */
71
+ githubToken?: string;
72
+ /**
73
+ * Use logged-in user credentials for authentication.
74
+ * @default true (false if githubToken is provided)
75
+ */
76
+ useLoggedInUser?: boolean;
77
+ /**
78
+ * Maximum number of reconnection attempts before giving up.
79
+ * @default 3
80
+ */
81
+ maxReconnectAttempts?: number;
82
+ /**
83
+ * Initial delay in milliseconds before first reconnection attempt.
84
+ * Subsequent attempts use exponential backoff.
85
+ * @default 1000
86
+ */
87
+ reconnectDelayMs?: number;
88
+ }
89
+ /**
90
+ * SquadClient wraps CopilotClient with enhanced lifecycle management.
91
+ *
92
+ * Features:
93
+ * - Connection state tracking
94
+ * - Automatic reconnection with exponential backoff
95
+ * - Protocol version validation
96
+ * - Error recovery
97
+ * - Session lifecycle event handling
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * const client = new SquadClient();
102
+ * await client.connect();
103
+ *
104
+ * const session = await client.createSession({
105
+ * model: "claude-sonnet-4.5"
106
+ * });
107
+ *
108
+ * await client.disconnect();
109
+ * ```
110
+ */
111
+ export declare class SquadClient {
112
+ private client;
113
+ private state;
114
+ private reconnectAttempts;
115
+ private reconnectTimer;
116
+ private options;
117
+ private manualDisconnect;
118
+ /**
119
+ * Creates a new SquadClient instance.
120
+ *
121
+ * @param options - Configuration options
122
+ * @throws Error if mutually exclusive options are provided
123
+ */
124
+ constructor(options?: SquadClientOptions);
125
+ /**
126
+ * Get the current connection state.
127
+ */
128
+ getState(): SquadConnectionState;
129
+ /**
130
+ * Check if the client is connected.
131
+ */
132
+ isConnected(): boolean;
133
+ /**
134
+ * Establish connection to the Copilot CLI server.
135
+ *
136
+ * This method:
137
+ * 1. Spawns or connects to the CLI server
138
+ * 2. Validates protocol version compatibility
139
+ * 3. Sets up automatic reconnection handlers
140
+ *
141
+ * @returns Promise that resolves when connection is established
142
+ * @throws Error if connection fails or protocol version is incompatible
143
+ */
144
+ connect(): Promise<void>;
145
+ /**
146
+ * Disconnect from the Copilot CLI server.
147
+ *
148
+ * Performs graceful cleanup:
149
+ * 1. Destroys all active sessions
150
+ * 2. Closes the connection
151
+ * 3. Terminates the CLI process (if spawned)
152
+ *
153
+ * @returns Promise that resolves with any errors encountered during cleanup
154
+ */
155
+ disconnect(): Promise<Error[]>;
156
+ /**
157
+ * Force disconnect without graceful cleanup.
158
+ * Use only when disconnect() fails or hangs.
159
+ */
160
+ forceDisconnect(): Promise<void>;
161
+ /**
162
+ * Create a new Squad session.
163
+ *
164
+ * If autoStart is enabled and the client is not connected, this will
165
+ * automatically establish the connection.
166
+ *
167
+ * @param config - Session configuration
168
+ * @returns Promise that resolves with the created session
169
+ */
170
+ createSession(config?: SquadSessionConfig): Promise<SquadSession>;
171
+ /**
172
+ * Resume an existing Squad session by ID.
173
+ *
174
+ * @param sessionId - ID of the session to resume
175
+ * @param config - Optional configuration overrides
176
+ * @returns Promise that resolves with the resumed session
177
+ */
178
+ resumeSession(sessionId: string, config?: SquadSessionConfig): Promise<SquadSession>;
179
+ /**
180
+ * List all available sessions.
181
+ */
182
+ listSessions(): Promise<SquadSessionMetadata[]>;
183
+ /**
184
+ * Delete a session by ID.
185
+ */
186
+ deleteSession(sessionId: string): Promise<void>;
187
+ /**
188
+ * Get the ID of the last updated session.
189
+ */
190
+ getLastSessionId(): Promise<string | undefined>;
191
+ /**
192
+ * Send a ping to verify connectivity.
193
+ */
194
+ ping(message?: string): Promise<{
195
+ message: string;
196
+ timestamp: number;
197
+ protocolVersion?: number;
198
+ }>;
199
+ /**
200
+ * Get CLI status information.
201
+ */
202
+ getStatus(): Promise<SquadGetStatusResponse>;
203
+ /**
204
+ * Get authentication status.
205
+ */
206
+ getAuthStatus(): Promise<SquadGetAuthStatusResponse>;
207
+ /**
208
+ * List available models.
209
+ */
210
+ listModels(): Promise<SquadModelInfo[]>;
211
+ /**
212
+ * Send a message to a session, wrapped with OTel tracing.
213
+ *
214
+ * Creates a `squad.session.message` span for the full call and a
215
+ * child `squad.session.stream` span that tracks streaming duration
216
+ * with `first_token`, `last_token`, and `stream_error` events.
217
+ *
218
+ * @param session - The session to send the message to
219
+ * @param options - Message content and delivery options
220
+ * @returns Promise that resolves when the message is processed
221
+ */
222
+ sendMessage(session: SquadSession, options: SquadMessageOptions): Promise<void>;
223
+ /**
224
+ * Close a session (alias for deleteSession with `squad.session.close` span).
225
+ *
226
+ * @param sessionId - ID of the session to close
227
+ */
228
+ closeSession(sessionId: string): Promise<void>;
229
+ /**
230
+ * Subscribe to session lifecycle events.
231
+ */
232
+ on(eventType: SquadSessionEventType, handler: SquadSessionEventHandler): () => void;
233
+ on(handler: SquadSessionEventHandler): () => void;
234
+ /**
235
+ * Determine if an error is recoverable via reconnection.
236
+ */
237
+ private shouldAttemptReconnect;
238
+ /**
239
+ * Attempt to reconnect with exponential backoff.
240
+ */
241
+ private attemptReconnection;
242
+ }
243
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/adapter/client.ts"],"names":[],"mappings":"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"}