groundswell 0.0.3 → 1.0.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 (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -9
  3. package/dist/cache/cache-key.d.ts +20 -0
  4. package/dist/cache/cache-key.d.ts.map +1 -1
  5. package/dist/cache/cache-key.js +9 -0
  6. package/dist/cache/cache-key.js.map +1 -1
  7. package/dist/core/agent.d.ts +120 -29
  8. package/dist/core/agent.d.ts.map +1 -1
  9. package/dist/core/agent.js +584 -177
  10. package/dist/core/agent.js.map +1 -1
  11. package/dist/core/mcp-handler.d.ts +63 -5
  12. package/dist/core/mcp-handler.d.ts.map +1 -1
  13. package/dist/core/mcp-handler.js +184 -4
  14. package/dist/core/mcp-handler.js.map +1 -1
  15. package/dist/core/workflow-context.d.ts +6 -2
  16. package/dist/core/workflow-context.d.ts.map +1 -1
  17. package/dist/core/workflow-context.js +99 -4
  18. package/dist/core/workflow-context.js.map +1 -1
  19. package/dist/core/workflow.d.ts +315 -13
  20. package/dist/core/workflow.d.ts.map +1 -1
  21. package/dist/core/workflow.js +552 -30
  22. package/dist/core/workflow.js.map +1 -1
  23. package/dist/debugger/event-replayer.d.ts +422 -0
  24. package/dist/debugger/event-replayer.d.ts.map +1 -0
  25. package/dist/debugger/event-replayer.js +639 -0
  26. package/dist/debugger/event-replayer.js.map +1 -0
  27. package/dist/debugger/tree-debugger.d.ts +170 -1
  28. package/dist/debugger/tree-debugger.d.ts.map +1 -1
  29. package/dist/debugger/tree-debugger.js +423 -1
  30. package/dist/debugger/tree-debugger.js.map +1 -1
  31. package/dist/decorators/step.d.ts.map +1 -1
  32. package/dist/decorators/step.js +129 -47
  33. package/dist/decorators/step.js.map +1 -1
  34. package/dist/harnesses/claude-code-harness.d.ts +391 -0
  35. package/dist/harnesses/claude-code-harness.d.ts.map +1 -0
  36. package/dist/harnesses/claude-code-harness.js +1076 -0
  37. package/dist/harnesses/claude-code-harness.js.map +1 -0
  38. package/dist/harnesses/harness-registry.d.ts +440 -0
  39. package/dist/harnesses/harness-registry.d.ts.map +1 -0
  40. package/dist/harnesses/harness-registry.js +543 -0
  41. package/dist/harnesses/harness-registry.js.map +1 -0
  42. package/dist/harnesses/index.d.ts +12 -0
  43. package/dist/harnesses/index.d.ts.map +1 -0
  44. package/dist/harnesses/index.js +11 -0
  45. package/dist/harnesses/index.js.map +1 -0
  46. package/dist/harnesses/pi-harness.d.ts +219 -0
  47. package/dist/harnesses/pi-harness.d.ts.map +1 -0
  48. package/dist/harnesses/pi-harness.js +676 -0
  49. package/dist/harnesses/pi-harness.js.map +1 -0
  50. package/dist/harnesses/pi-schema-converter.d.ts +24 -0
  51. package/dist/harnesses/pi-schema-converter.d.ts.map +1 -0
  52. package/dist/harnesses/pi-schema-converter.js +81 -0
  53. package/dist/harnesses/pi-schema-converter.js.map +1 -0
  54. package/dist/harnesses/register-defaults.d.ts +24 -0
  55. package/dist/harnesses/register-defaults.d.ts.map +1 -0
  56. package/dist/harnesses/register-defaults.js +40 -0
  57. package/dist/harnesses/register-defaults.js.map +1 -0
  58. package/dist/harnesses/session-store.d.ts +201 -0
  59. package/dist/harnesses/session-store.d.ts.map +1 -0
  60. package/dist/harnesses/session-store.js +254 -0
  61. package/dist/harnesses/session-store.js.map +1 -0
  62. package/dist/index.d.ts +12 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +17 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/reflection/reflection.d.ts.map +1 -1
  67. package/dist/reflection/reflection.js +19 -4
  68. package/dist/reflection/reflection.js.map +1 -1
  69. package/dist/types/agent.d.ts +1253 -2
  70. package/dist/types/agent.d.ts.map +1 -1
  71. package/dist/types/agent.js +418 -1
  72. package/dist/types/agent.js.map +1 -1
  73. package/dist/types/decorators.d.ts +10 -1
  74. package/dist/types/decorators.d.ts.map +1 -1
  75. package/dist/types/events.d.ts +26 -0
  76. package/dist/types/events.d.ts.map +1 -1
  77. package/dist/types/harnesses.d.ts +474 -0
  78. package/dist/types/harnesses.d.ts.map +1 -0
  79. package/dist/types/harnesses.js +2 -0
  80. package/dist/types/harnesses.js.map +1 -0
  81. package/dist/types/index.d.ts +9 -1
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/dist/types/index.js +6 -0
  84. package/dist/types/index.js.map +1 -1
  85. package/dist/types/providers.d.ts +691 -0
  86. package/dist/types/providers.d.ts.map +1 -0
  87. package/dist/types/providers.js +14 -0
  88. package/dist/types/providers.js.map +1 -0
  89. package/dist/types/restart.d.ts +132 -0
  90. package/dist/types/restart.d.ts.map +1 -0
  91. package/dist/types/restart.js +2 -0
  92. package/dist/types/restart.js.map +1 -0
  93. package/dist/types/streaming.d.ts +194 -0
  94. package/dist/types/streaming.d.ts.map +1 -0
  95. package/dist/types/streaming.js +67 -0
  96. package/dist/types/streaming.js.map +1 -0
  97. package/dist/types/workflow-context.d.ts +137 -1
  98. package/dist/types/workflow-context.d.ts.map +1 -1
  99. package/dist/utils/agent-validation.d.ts +88 -0
  100. package/dist/utils/agent-validation.d.ts.map +1 -0
  101. package/dist/utils/agent-validation.js +87 -0
  102. package/dist/utils/agent-validation.js.map +1 -0
  103. package/dist/utils/delay.d.ts +7 -0
  104. package/dist/utils/delay.d.ts.map +1 -0
  105. package/dist/utils/delay.js +9 -0
  106. package/dist/utils/delay.js.map +1 -0
  107. package/dist/utils/harness-config.d.ts +180 -0
  108. package/dist/utils/harness-config.d.ts.map +1 -0
  109. package/dist/utils/harness-config.js +311 -0
  110. package/dist/utils/harness-config.js.map +1 -0
  111. package/dist/utils/index.d.ts +9 -1
  112. package/dist/utils/index.d.ts.map +1 -1
  113. package/dist/utils/index.js +8 -1
  114. package/dist/utils/index.js.map +1 -1
  115. package/dist/utils/model-spec.d.ts +110 -0
  116. package/dist/utils/model-spec.d.ts.map +1 -0
  117. package/dist/utils/model-spec.js +149 -0
  118. package/dist/utils/model-spec.js.map +1 -0
  119. package/dist/utils/provider-config.d.ts +10 -0
  120. package/dist/utils/provider-config.d.ts.map +1 -0
  121. package/dist/utils/provider-config.js +10 -0
  122. package/dist/utils/provider-config.js.map +1 -0
  123. package/dist/utils/restart-analysis.d.ts +202 -0
  124. package/dist/utils/restart-analysis.d.ts.map +1 -0
  125. package/dist/utils/restart-analysis.js +426 -0
  126. package/dist/utils/restart-analysis.js.map +1 -0
  127. package/dist/utils/session-serialization.d.ts +118 -0
  128. package/dist/utils/session-serialization.d.ts.map +1 -0
  129. package/dist/utils/session-serialization.js +217 -0
  130. package/dist/utils/session-serialization.js.map +1 -0
  131. package/package.json +31 -5
  132. package/CHANGELOG.md +0 -188
  133. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts +0 -16
  134. package/dist/__tests__/adversarial/attachChild-performance.test.d.ts.map +0 -1
  135. package/dist/__tests__/adversarial/attachChild-performance.test.js +0 -187
  136. package/dist/__tests__/adversarial/attachChild-performance.test.js.map +0 -1
  137. package/dist/__tests__/adversarial/circular-reference.test.d.ts +0 -13
  138. package/dist/__tests__/adversarial/circular-reference.test.d.ts.map +0 -1
  139. package/dist/__tests__/adversarial/circular-reference.test.js +0 -92
  140. package/dist/__tests__/adversarial/circular-reference.test.js.map +0 -1
  141. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts +0 -16
  142. package/dist/__tests__/adversarial/complex-circular-reference.test.d.ts.map +0 -1
  143. package/dist/__tests__/adversarial/complex-circular-reference.test.js +0 -127
  144. package/dist/__tests__/adversarial/complex-circular-reference.test.js.map +0 -1
  145. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts +0 -21
  146. package/dist/__tests__/adversarial/concurrent-task-failures.test.d.ts.map +0 -1
  147. package/dist/__tests__/adversarial/concurrent-task-failures.test.js +0 -667
  148. package/dist/__tests__/adversarial/concurrent-task-failures.test.js.map +0 -1
  149. package/dist/__tests__/adversarial/deep-analysis.test.d.ts +0 -6
  150. package/dist/__tests__/adversarial/deep-analysis.test.d.ts.map +0 -1
  151. package/dist/__tests__/adversarial/deep-analysis.test.js +0 -877
  152. package/dist/__tests__/adversarial/deep-analysis.test.js.map +0 -1
  153. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts +0 -13
  154. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.d.ts.map +0 -1
  155. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js +0 -186
  156. package/dist/__tests__/adversarial/deep-hierarchy-stress.test.js.map +0 -1
  157. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts +0 -6
  158. package/dist/__tests__/adversarial/e2e-prd-validation.test.d.ts.map +0 -1
  159. package/dist/__tests__/adversarial/e2e-prd-validation.test.js +0 -626
  160. package/dist/__tests__/adversarial/e2e-prd-validation.test.js.map +0 -1
  161. package/dist/__tests__/adversarial/edge-case.test.d.ts +0 -6
  162. package/dist/__tests__/adversarial/edge-case.test.d.ts.map +0 -1
  163. package/dist/__tests__/adversarial/edge-case.test.js +0 -857
  164. package/dist/__tests__/adversarial/edge-case.test.js.map +0 -1
  165. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts +0 -20
  166. package/dist/__tests__/adversarial/error-merge-strategy.test.d.ts.map +0 -1
  167. package/dist/__tests__/adversarial/error-merge-strategy.test.js +0 -907
  168. package/dist/__tests__/adversarial/error-merge-strategy.test.js.map +0 -1
  169. package/dist/__tests__/adversarial/incremental-performance.test.d.ts +0 -2
  170. package/dist/__tests__/adversarial/incremental-performance.test.d.ts.map +0 -1
  171. package/dist/__tests__/adversarial/incremental-performance.test.js +0 -113
  172. package/dist/__tests__/adversarial/incremental-performance.test.js.map +0 -1
  173. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts +0 -22
  174. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.d.ts.map +0 -1
  175. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js +0 -383
  176. package/dist/__tests__/adversarial/node-map-update-benchmarks.test.js.map +0 -1
  177. package/dist/__tests__/adversarial/observer-propagation.test.d.ts +0 -21
  178. package/dist/__tests__/adversarial/observer-propagation.test.d.ts.map +0 -1
  179. package/dist/__tests__/adversarial/observer-propagation.test.js +0 -404
  180. package/dist/__tests__/adversarial/observer-propagation.test.js.map +0 -1
  181. package/dist/__tests__/adversarial/parent-validation.test.d.ts +0 -13
  182. package/dist/__tests__/adversarial/parent-validation.test.d.ts.map +0 -1
  183. package/dist/__tests__/adversarial/parent-validation.test.js +0 -128
  184. package/dist/__tests__/adversarial/parent-validation.test.js.map +0 -1
  185. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts +0 -20
  186. package/dist/__tests__/adversarial/prd-12-2-compliance.test.d.ts.map +0 -1
  187. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js +0 -482
  188. package/dist/__tests__/adversarial/prd-12-2-compliance.test.js.map +0 -1
  189. package/dist/__tests__/adversarial/prd-compliance.test.d.ts +0 -6
  190. package/dist/__tests__/adversarial/prd-compliance.test.d.ts.map +0 -1
  191. package/dist/__tests__/adversarial/prd-compliance.test.js +0 -886
  192. package/dist/__tests__/adversarial/prd-compliance.test.js.map +0 -1
  193. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts +0 -22
  194. package/dist/__tests__/compatibility/backward-compatibility.test.d.ts.map +0 -1
  195. package/dist/__tests__/compatibility/backward-compatibility.test.js +0 -1843
  196. package/dist/__tests__/compatibility/backward-compatibility.test.js.map +0 -1
  197. package/dist/__tests__/helpers/index.d.ts +0 -10
  198. package/dist/__tests__/helpers/index.d.ts.map +0 -1
  199. package/dist/__tests__/helpers/index.js +0 -10
  200. package/dist/__tests__/helpers/index.js.map +0 -1
  201. package/dist/__tests__/helpers/tree-verification.d.ts +0 -90
  202. package/dist/__tests__/helpers/tree-verification.d.ts.map +0 -1
  203. package/dist/__tests__/helpers/tree-verification.js +0 -202
  204. package/dist/__tests__/helpers/tree-verification.js.map +0 -1
  205. package/dist/__tests__/integration/agent-workflow.test.d.ts +0 -2
  206. package/dist/__tests__/integration/agent-workflow.test.d.ts.map +0 -1
  207. package/dist/__tests__/integration/agent-workflow.test.js +0 -256
  208. package/dist/__tests__/integration/agent-workflow.test.js.map +0 -1
  209. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts +0 -14
  210. package/dist/__tests__/integration/bidirectional-consistency.test.d.ts.map +0 -1
  211. package/dist/__tests__/integration/bidirectional-consistency.test.js +0 -668
  212. package/dist/__tests__/integration/bidirectional-consistency.test.js.map +0 -1
  213. package/dist/__tests__/integration/observer-logging.test.d.ts +0 -2
  214. package/dist/__tests__/integration/observer-logging.test.d.ts.map +0 -1
  215. package/dist/__tests__/integration/observer-logging.test.js +0 -517
  216. package/dist/__tests__/integration/observer-logging.test.js.map +0 -1
  217. package/dist/__tests__/integration/tree-mirroring.test.d.ts +0 -2
  218. package/dist/__tests__/integration/tree-mirroring.test.d.ts.map +0 -1
  219. package/dist/__tests__/integration/tree-mirroring.test.js +0 -117
  220. package/dist/__tests__/integration/tree-mirroring.test.js.map +0 -1
  221. package/dist/__tests__/integration/workflow-reparenting.test.d.ts +0 -12
  222. package/dist/__tests__/integration/workflow-reparenting.test.d.ts.map +0 -1
  223. package/dist/__tests__/integration/workflow-reparenting.test.js +0 -239
  224. package/dist/__tests__/integration/workflow-reparenting.test.js.map +0 -1
  225. package/dist/__tests__/unit/agent.test.d.ts +0 -2
  226. package/dist/__tests__/unit/agent.test.d.ts.map +0 -1
  227. package/dist/__tests__/unit/agent.test.js +0 -143
  228. package/dist/__tests__/unit/agent.test.js.map +0 -1
  229. package/dist/__tests__/unit/cache-key.test.d.ts +0 -5
  230. package/dist/__tests__/unit/cache-key.test.d.ts.map +0 -1
  231. package/dist/__tests__/unit/cache-key.test.js +0 -145
  232. package/dist/__tests__/unit/cache-key.test.js.map +0 -1
  233. package/dist/__tests__/unit/cache.test.d.ts +0 -5
  234. package/dist/__tests__/unit/cache.test.d.ts.map +0 -1
  235. package/dist/__tests__/unit/cache.test.js +0 -132
  236. package/dist/__tests__/unit/cache.test.js.map +0 -1
  237. package/dist/__tests__/unit/context.test.d.ts +0 -2
  238. package/dist/__tests__/unit/context.test.d.ts.map +0 -1
  239. package/dist/__tests__/unit/context.test.js +0 -220
  240. package/dist/__tests__/unit/context.test.js.map +0 -1
  241. package/dist/__tests__/unit/decorators.test.d.ts +0 -2
  242. package/dist/__tests__/unit/decorators.test.d.ts.map +0 -1
  243. package/dist/__tests__/unit/decorators.test.js +0 -162
  244. package/dist/__tests__/unit/decorators.test.js.map +0 -1
  245. package/dist/__tests__/unit/introspection-tools.test.d.ts +0 -5
  246. package/dist/__tests__/unit/introspection-tools.test.d.ts.map +0 -1
  247. package/dist/__tests__/unit/introspection-tools.test.js +0 -191
  248. package/dist/__tests__/unit/introspection-tools.test.js.map +0 -1
  249. package/dist/__tests__/unit/logger.test.d.ts +0 -2
  250. package/dist/__tests__/unit/logger.test.d.ts.map +0 -1
  251. package/dist/__tests__/unit/logger.test.js +0 -241
  252. package/dist/__tests__/unit/logger.test.js.map +0 -1
  253. package/dist/__tests__/unit/observable.test.d.ts +0 -2
  254. package/dist/__tests__/unit/observable.test.d.ts.map +0 -1
  255. package/dist/__tests__/unit/observable.test.js +0 -251
  256. package/dist/__tests__/unit/observable.test.js.map +0 -1
  257. package/dist/__tests__/unit/prompt.test.d.ts +0 -2
  258. package/dist/__tests__/unit/prompt.test.d.ts.map +0 -1
  259. package/dist/__tests__/unit/prompt.test.js +0 -113
  260. package/dist/__tests__/unit/prompt.test.js.map +0 -1
  261. package/dist/__tests__/unit/reflection.test.d.ts +0 -5
  262. package/dist/__tests__/unit/reflection.test.d.ts.map +0 -1
  263. package/dist/__tests__/unit/reflection.test.js +0 -160
  264. package/dist/__tests__/unit/reflection.test.js.map +0 -1
  265. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts +0 -2
  266. package/dist/__tests__/unit/tree-debugger-incremental.test.d.ts.map +0 -1
  267. package/dist/__tests__/unit/tree-debugger-incremental.test.js +0 -136
  268. package/dist/__tests__/unit/tree-debugger-incremental.test.js.map +0 -1
  269. package/dist/__tests__/unit/tree-debugger.test.d.ts +0 -2
  270. package/dist/__tests__/unit/tree-debugger.test.d.ts.map +0 -1
  271. package/dist/__tests__/unit/tree-debugger.test.js +0 -69
  272. package/dist/__tests__/unit/tree-debugger.test.js.map +0 -1
  273. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts +0 -2
  274. package/dist/__tests__/unit/utils/workflow-error-utils.test.d.ts.map +0 -1
  275. package/dist/__tests__/unit/utils/workflow-error-utils.test.js +0 -154
  276. package/dist/__tests__/unit/utils/workflow-error-utils.test.js.map +0 -1
  277. package/dist/__tests__/unit/workflow-detachChild.test.d.ts +0 -2
  278. package/dist/__tests__/unit/workflow-detachChild.test.d.ts.map +0 -1
  279. package/dist/__tests__/unit/workflow-detachChild.test.js +0 -76
  280. package/dist/__tests__/unit/workflow-detachChild.test.js.map +0 -1
  281. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts +0 -2
  282. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.d.ts.map +0 -1
  283. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js +0 -122
  284. package/dist/__tests__/unit/workflow-emitEvent-childDetached.test.js.map +0 -1
  285. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts +0 -2
  286. package/dist/__tests__/unit/workflow-isDescendantOf.test.d.ts.map +0 -1
  287. package/dist/__tests__/unit/workflow-isDescendantOf.test.js +0 -140
  288. package/dist/__tests__/unit/workflow-isDescendantOf.test.js.map +0 -1
  289. package/dist/__tests__/unit/workflow.test.d.ts +0 -2
  290. package/dist/__tests__/unit/workflow.test.d.ts.map +0 -1
  291. package/dist/__tests__/unit/workflow.test.js +0 -330
  292. package/dist/__tests__/unit/workflow.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code-harness.js","sourceRoot":"","sources":["../../src/harnesses/claude-code-harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,440 @@
1
+ /**
2
+ * Harness Registry - Singleton harness lifecycle management
3
+ *
4
+ * Implements singleton pattern for managing harness instances across
5
+ * the application. Ensures single shared instance of each harness.
6
+ *
7
+ * @module harnesses
8
+ */
9
+ import type { Provider, ProviderId, ProviderOptions, GlobalProviderConfig } from '../types/providers.js';
10
+ /**
11
+ * Provider initialization status enum
12
+ *
13
+ * Defines all possible initialization states for type-safe status tracking.
14
+ */
15
+ export declare enum InitializationStatus {
16
+ /** Provider not yet initialized */
17
+ UNINITIALIZED = "uninitialized",
18
+ /** Currently initializing (in progress) */
19
+ INITIALIZING = "initializing",
20
+ /** Successfully initialized */
21
+ INITIALIZED = "initialized",
22
+ /** Initialization failed */
23
+ FAILED = "failed"
24
+ }
25
+ /**
26
+ * Provider initialization state with metadata
27
+ *
28
+ * Tracks initialization progress and caches the init promise.
29
+ */
30
+ interface ProviderInitState {
31
+ /** Current initialization status */
32
+ status: InitializationStatus;
33
+ /** Cached initialization promise (prevents duplicate init) */
34
+ initPromise?: Promise<void>;
35
+ /** Error from failed initialization */
36
+ error?: Error;
37
+ /** Timestamp when initialization completed */
38
+ initializedAt?: number;
39
+ }
40
+ /**
41
+ * Batch initialization result with aggregated status
42
+ *
43
+ * Discriminated union for type-safe result handling.
44
+ */
45
+ interface BatchInitResult {
46
+ /** Successfully initialized provider IDs */
47
+ success: ProviderId[];
48
+ /** Failed providers with errors */
49
+ failed: Array<{
50
+ providerId: ProviderId;
51
+ error: Error;
52
+ }>;
53
+ }
54
+ /**
55
+ * Singleton registry for managing harness instances.
56
+ *
57
+ * This class maintains a single instance of itself and stores harness
58
+ * instances in a Map for efficient lookup by ProviderId.
59
+ *
60
+ * ## Singleton Pattern
61
+ *
62
+ * - Private constructor prevents direct instantiation
63
+ * - Static getInstance() returns the single instance
64
+ * - Lazy initialization creates instance on first call
65
+ *
66
+ * ## Usage
67
+ *
68
+ * ```ts
69
+ * // Get registry instance
70
+ * const registry = HarnessRegistry.getInstance();
71
+ *
72
+ * // Register a harness
73
+ * registry.register(anthropicProvider);
74
+ *
75
+ * // Retrieve a harness
76
+ * const provider = registry.get('anthropic');
77
+ *
78
+ * // Check existence
79
+ * if (registry.has('anthropic')) {
80
+ * // Harness is registered
81
+ * }
82
+ * ```
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * import { HarnessRegistry } from 'groundswell';
87
+ *
88
+ * // Register harnesses at startup
89
+ * const registry = HarnessRegistry.getInstance();
90
+ * registry.register(new AnthropicProvider());
91
+ * registry.register(new ClaudeCodeHarness());
92
+ *
93
+ * // Retrieve harnesses throughout application
94
+ * const anthropic = registry.get('anthropic');
95
+ * if (anthropic) {
96
+ * await anthropic.initialize();
97
+ * }
98
+ * ```
99
+ */
100
+ export declare class HarnessRegistry {
101
+ /**
102
+ * Private static instance - the singleton instance
103
+ *
104
+ * @internal
105
+ */
106
+ private static instance;
107
+ /**
108
+ * Private provider storage - maps ProviderId to Provider instance
109
+ *
110
+ * @internal
111
+ */
112
+ private providers;
113
+ /**
114
+ * Private initialization state storage - maps ProviderId to ProviderInitState
115
+ *
116
+ * @internal
117
+ */
118
+ private states;
119
+ /**
120
+ * Private constructor - prevents direct instantiation
121
+ *
122
+ * Use getInstance() to get the singleton instance.
123
+ *
124
+ * @internal
125
+ */
126
+ private constructor();
127
+ /**
128
+ * Get the singleton HarnessRegistry instance
129
+ *
130
+ * Creates the instance on first call (lazy initialization).
131
+ * Returns the same instance on subsequent calls.
132
+ *
133
+ * @returns The singleton HarnessRegistry instance
134
+ * @remarks Creates instance on first call (lazy initialization).
135
+ * Returns same instance on subsequent calls.
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * const registry1 = HarnessRegistry.getInstance();
140
+ * const registry2 = HarnessRegistry.getInstance();
141
+ * console.log(registry1 === registry2); // true
142
+ * ```
143
+ */
144
+ static getInstance(): HarnessRegistry;
145
+ /**
146
+ * Register a provider instance
147
+ *
148
+ * Stores the provider in the registry using its id as the key.
149
+ * Throws an error if a provider with the same id is already registered.
150
+ *
151
+ * @param provider - The provider instance to register
152
+ * @throws {Error} If a provider with the same id is already registered
153
+ *
154
+ * @example
155
+ * ```ts
156
+ * const registry = ProviderRegistry.getInstance();
157
+ * const anthropic = new AnthropicProvider();
158
+ * registry.register(anthropic);
159
+ * ```
160
+ */
161
+ register(provider: Provider): void;
162
+ /**
163
+ * Get a registered provider by id
164
+ *
165
+ * Returns the provider instance if registered, otherwise returns undefined.
166
+ * Does NOT throw for missing providers.
167
+ *
168
+ * @param id - The provider id to look up
169
+ * @returns The provider instance, or undefined if not registered
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * const registry = ProviderRegistry.getInstance();
174
+ * const anthropic = registry.get('anthropic');
175
+ * if (anthropic) {
176
+ * console.log('Provider found:', anthropic.id);
177
+ * }
178
+ * ```
179
+ */
180
+ get(id: ProviderId): Provider | undefined;
181
+ /**
182
+ * Check if a provider is registered
183
+ *
184
+ * Returns true if a provider with the given id is registered,
185
+ * otherwise returns false.
186
+ *
187
+ * @param id - The provider id to check
188
+ * @returns true if the provider is registered, false otherwise
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * const registry = ProviderRegistry.getInstance();
193
+ * if (registry.has('anthropic')) {
194
+ * console.log('Anthropic provider is available');
195
+ * }
196
+ * ```
197
+ */
198
+ has(id: ProviderId): boolean;
199
+ /**
200
+ * Initialize a single provider with promise caching
201
+ *
202
+ * Initializes a provider with the given options. Multiple concurrent calls
203
+ * to initialize the same provider will share the same promise (no duplicate
204
+ * initialization). Already initialized providers return immediately.
205
+ *
206
+ * ## Promise Caching
207
+ *
208
+ * The initialization promise is cached in the provider's state. Concurrent
209
+ * calls to initialize the same provider will await the same promise.
210
+ *
211
+ * ## State Transitions
212
+ *
213
+ * - UNINITIALIZED → INITIALIZING → INITIALIZED (success)
214
+ * - UNINITIALIZED → INITIALIZING → FAILED (error)
215
+ *
216
+ * @param id - The provider id to initialize (required)
217
+ * @param options - Optional provider configuration options (default: undefined)
218
+ * @returns Promise that resolves when initialization completes
219
+ * @throws {Error} If provider is not registered
220
+ * @throws {Error} If provider initialization fails
221
+ * @side effects May modify internal state, may fail provider if already initialized with different options.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * const registry = ProviderRegistry.getInstance();
226
+ * await registry.initializeProvider('anthropic', { apiKey: 'sk-...' });
227
+ * console.log(registry.isReady('anthropic')); // true
228
+ * ```
229
+ */
230
+ initializeProvider(id: ProviderId, options?: ProviderOptions): Promise<void>;
231
+ /**
232
+ * Initialize all registered providers in parallel
233
+ *
234
+ * Uses Promise.allSettled to allow partial success - if one provider fails,
235
+ * others continue initialization. Errors are aggregated in the return value.
236
+ *
237
+ * Provider options are resolved from config.providerDefaults[providerId].
238
+ * If no options are configured for a provider, undefined is passed.
239
+ *
240
+ * ## Parallel Initialization
241
+ *
242
+ * All providers initialize concurrently for faster startup. The method
243
+ * waits for all initialization attempts to complete before returning.
244
+ *
245
+ * ## Error Aggregation
246
+ *
247
+ * This method never throws - all errors are collected in the returned
248
+ * BatchInitResult.failed array. Check this array to identify failed providers.
249
+ *
250
+ * @param config - Global provider configuration with provider defaults (required)
251
+ * @returns Promise resolving to success/failure lists
252
+ * @side effects Modifies internal state, fails providers individually if initialization fails.
253
+ *
254
+ * @example
255
+ * ```ts
256
+ * const registry = ProviderRegistry.getInstance();
257
+ * const config = getGlobalProviderConfig();
258
+ * const result = await registry.initializeAll(config);
259
+ *
260
+ * console.log(`Initialized: ${result.success.join(', ')}`);
261
+ * if (result.failed.length > 0) {
262
+ * console.error(`Failed: ${result.failed.map(f => f.providerId).join(', ')}`);
263
+ * }
264
+ * ```
265
+ */
266
+ initializeAll(config: GlobalProviderConfig): Promise<BatchInitResult>;
267
+ /**
268
+ * Get initialization status for a provider
269
+ *
270
+ * Returns the current initialization status for the given provider ID.
271
+ * Unknown providers return UNINITIALIZED status.
272
+ *
273
+ * @param id - The provider id to check
274
+ * @returns Current initialization status
275
+ *
276
+ * @example
277
+ * ```ts
278
+ * const registry = ProviderRegistry.getInstance();
279
+ * const status = registry.getStatus('anthropic');
280
+ * console.log(status); // 'initialized' | 'initializing' | 'failed' | 'uninitialized'
281
+ * ```
282
+ */
283
+ getStatus(id: ProviderId): InitializationStatus;
284
+ /**
285
+ * Check if a provider is ready to use
286
+ *
287
+ * Returns true only if the provider has successfully initialized.
288
+ * Use this method to check provider readiness before use.
289
+ *
290
+ * @param id - The provider id to check
291
+ * @returns true if provider is initialized and ready, false otherwise
292
+ *
293
+ * @example
294
+ * ```ts
295
+ * const registry = ProviderRegistry.getInstance();
296
+ * if (registry.isReady('anthropic')) {
297
+ * const provider = registry.get('anthropic');
298
+ * // Use provider
299
+ * }
300
+ * ```
301
+ */
302
+ isReady(id: ProviderId): boolean;
303
+ /**
304
+ * Get all provider initialization states
305
+ *
306
+ * Returns a copy of the internal states Map for health checks,
307
+ * monitoring, and debugging. The returned Map is a shallow copy -
308
+ * modifications to it won't affect internal state.
309
+ *
310
+ * @returns Map of provider ID to initialization state
311
+ *
312
+ * @example
313
+ * ```ts
314
+ * const registry = ProviderRegistry.getInstance();
315
+ * const statuses = registry.getAllStatuses();
316
+ *
317
+ * for (const [id, state] of statuses.entries()) {
318
+ * console.log(`${id}: ${state.status}`);
319
+ * }
320
+ * ```
321
+ */
322
+ getAllStatuses(): Map<ProviderId, ProviderInitState>;
323
+ /**
324
+ * Terminate all registered providers with error tolerance
325
+ *
326
+ * Terminates all providers in parallel, ensuring each gets a chance to
327
+ * clean up resources even if some fail. Errors are logged but not thrown.
328
+ * After termination completes, clears the providers and states maps.
329
+ *
330
+ * ## Parallel Termination
331
+ *
332
+ * All providers terminate concurrently using Promise.allSettled.
333
+ * This ensures fast shutdown while allowing partial success.
334
+ *
335
+ * ## Error Handling
336
+ *
337
+ * If a provider's terminate() throws, the error is logged but other
338
+ * providers continue terminating. The method never throws.
339
+ *
340
+ * ## State Cleanup
341
+ *
342
+ * After all termination attempts complete, the providers and states
343
+ * maps are cleared. This releases references and allows re-initialization.
344
+ *
345
+ * @side effects Calls provider.terminate() for each provider, clears internal state maps,
346
+ * logs errors for failed terminations, and performs cleanup for memory-based stores.
347
+ *
348
+ * @example
349
+ * ```ts
350
+ * const registry = ProviderRegistry.getInstance();
351
+ *
352
+ * // Register and initialize providers
353
+ * registry.register(anthropicProvider);
354
+ * registry.register(claudeCodeProvider);
355
+ * await registry.initializeAll(config);
356
+ *
357
+ * // Later, during shutdown
358
+ * await registry.terminateAll();
359
+ *
360
+ * // All providers terminated, maps cleared
361
+ * console.log(registry.has('anthropic')); // false
362
+ * ```
363
+ */
364
+ terminateAll(): Promise<void>;
365
+ /**
366
+ * Reset the singleton instance to null
367
+ *
368
+ * **FOR TESTING PURPOSES ONLY**
369
+ *
370
+ * Clears the singleton instance, causing the next call to getInstance()
371
+ * to create a fresh instance. Use in afterEach() hooks to ensure
372
+ * test isolation.
373
+ *
374
+ * @internal
375
+ *
376
+ * @example
377
+ * ```ts
378
+ * import { describe, it, afterEach } from 'vitest';
379
+ *
380
+ * describe('ProviderRegistry', () => {
381
+ * afterEach(() => {
382
+ * ProviderRegistry._resetForTesting();
383
+ * });
384
+ *
385
+ * it('should start fresh', () => {
386
+ * const registry = ProviderRegistry.getInstance();
387
+ * // Test with clean state
388
+ * });
389
+ * });
390
+ * ```
391
+ */
392
+ static _resetForTesting(): void;
393
+ /**
394
+ * Reset initialization state for testing
395
+ *
396
+ * **FOR TESTING PURPOSES ONLY**
397
+ *
398
+ * Clears the initialization states Map, removing all cached promises
399
+ * and status information. Use in afterEach() hooks along with
400
+ * _resetForTesting() to ensure complete test isolation.
401
+ *
402
+ * @internal
403
+ *
404
+ * @example
405
+ * ```ts
406
+ * import { describe, it, afterEach } from 'vitest';
407
+ * import { ProviderRegistry } from './harness-registry.js';
408
+ *
409
+ * describe('ProviderRegistry', () => {
410
+ * afterEach(() => {
411
+ * const registry = ProviderRegistry.getInstance();
412
+ * registry._resetInitStateForTesting();
413
+ * ProviderRegistry._resetForTesting();
414
+ * });
415
+ *
416
+ * it('should initialize fresh', () => {
417
+ * const registry = ProviderRegistry.getInstance();
418
+ * // Test with clean initialization state
419
+ * });
420
+ * });
421
+ * ```
422
+ */
423
+ _resetInitStateForTesting(): void;
424
+ }
425
+ /**
426
+ * @deprecated Since v1.2. Use {@link HarnessRegistry}. Retained so existing
427
+ * `import { ProviderRegistry }` callsites (agent.ts, tests, public barrel) keep
428
+ * resolving during the harness-vocabulary migration. Removed when P2.M1/P3.M1/P4.M1
429
+ * collapse the Provider/ProviderId aliases.
430
+ */
431
+ export type ProviderRegistry = HarnessRegistry;
432
+ /**
433
+ * @deprecated Since v1.2. Use {@link HarnessRegistry}. Retained so existing
434
+ * `import { ProviderRegistry }` callsites (agent.ts, tests, public barrel) keep
435
+ * resolving during the harness-vocabulary migration. Removed when P2.M1/P3.M1/P4.M1
436
+ * collapse the Provider/ProviderId aliases.
437
+ */
438
+ export declare const ProviderRegistry: typeof HarnessRegistry;
439
+ export {};
440
+ //# sourceMappingURL=harness-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-registry.d.ts","sourceRoot":"","sources":["../../src/harnesses/harness-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAM/B;;;;GAIG;AACH,oBAAY,oBAAoB;IAC9B,mCAAmC;IACnC,aAAa,kBAAkB;IAC/B,2CAA2C;IAC3C,YAAY,iBAAiB;IAC7B,+BAA+B;IAC/B,WAAW,gBAAgB;IAC3B,4BAA4B;IAC5B,MAAM,WAAW;CAClB;AAED;;;;GAIG;AACH,UAAU,iBAAiB;IACzB,oCAAoC;IACpC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,uCAAuC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,UAAU,eAAe;IACvB,4CAA4C;IAC5C,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,mCAAmC;IACnC,MAAM,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAwC;IAEzD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAiD;IAE/D;;;;;;OAMG;IACH,OAAO;IASP;;;;;;;;;;;;;;;;OAgBG;WACW,WAAW,IAAI,eAAe;IAW5C;;;;;;;;;;;;;;;OAeG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAUzC;;;;;;;;;;;;;;;;;OAiBG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS;IAMhD;;;;;;;;;;;;;;;;OAgBG;IACI,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IASnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACU,kBAAkB,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC;IA0ChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACU,aAAa,CACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,eAAe,CAAC;IAyC3B;;;;;;;;;;;;;;;OAeG;IACI,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,oBAAoB;IAItD;;;;;;;;;;;;;;;;;OAiBG;IACI,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAIvC;;;;;;;;;;;;;;;;;;OAkBG;IACI,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAS3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;WACW,gBAAgB,IAAI,IAAI;IAItC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,yBAAyB,IAAI,IAAI;CAGzC;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,wBAAkB,CAAC"}