@bradygaster/squad-sdk 0.7.0 → 0.8.2-1.4

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 (443) hide show
  1. package/README.md +3 -3
  2. package/dist/adapter/client.d.ts +246 -0
  3. package/dist/adapter/client.d.ts.map +1 -0
  4. package/dist/adapter/client.js +699 -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 +817 -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 +106 -0
  15. package/dist/agents/charter-compiler.d.ts.map +1 -0
  16. package/dist/agents/charter-compiler.js +165 -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/builders/index.d.ts +156 -0
  71. package/dist/builders/index.d.ts.map +1 -0
  72. package/dist/builders/index.js +404 -0
  73. package/dist/builders/index.js.map +1 -0
  74. package/dist/builders/types.d.ts +187 -0
  75. package/dist/builders/types.d.ts.map +1 -0
  76. package/dist/builders/types.js +12 -0
  77. package/dist/builders/types.js.map +1 -0
  78. package/dist/casting/casting-engine.d.ts +60 -0
  79. package/dist/casting/casting-engine.d.ts.map +1 -0
  80. package/dist/casting/casting-engine.js +223 -0
  81. package/dist/casting/casting-engine.js.map +1 -0
  82. package/dist/casting/casting-history.d.ts +54 -0
  83. package/dist/casting/casting-history.d.ts.map +1 -0
  84. package/dist/casting/casting-history.js +63 -0
  85. package/dist/casting/casting-history.js.map +1 -0
  86. package/dist/casting/index.d.ts +46 -0
  87. package/dist/casting/index.d.ts.map +1 -0
  88. package/dist/casting/index.js +45 -0
  89. package/dist/casting/index.js.map +1 -0
  90. package/dist/client/event-bus.d.ts +29 -0
  91. package/dist/client/event-bus.d.ts.map +1 -0
  92. package/dist/client/event-bus.js +52 -0
  93. package/dist/client/event-bus.js.map +1 -0
  94. package/dist/client/index.d.ts +103 -0
  95. package/dist/client/index.d.ts.map +1 -0
  96. package/dist/client/index.js +182 -0
  97. package/dist/client/index.js.map +1 -0
  98. package/dist/client/session-pool.d.ts +66 -0
  99. package/dist/client/session-pool.d.ts.map +1 -0
  100. package/dist/client/session-pool.js +145 -0
  101. package/dist/client/session-pool.js.map +1 -0
  102. package/dist/config/agent-doc.d.ts +43 -0
  103. package/dist/config/agent-doc.d.ts.map +1 -0
  104. package/dist/config/agent-doc.js +158 -0
  105. package/dist/config/agent-doc.js.map +1 -0
  106. package/dist/config/agent-source.d.ts +95 -0
  107. package/dist/config/agent-source.d.ts.map +1 -0
  108. package/dist/config/agent-source.js +274 -0
  109. package/dist/config/agent-source.js.map +1 -0
  110. package/dist/config/doc-sync.d.ts +66 -0
  111. package/dist/config/doc-sync.d.ts.map +1 -0
  112. package/dist/config/doc-sync.js +270 -0
  113. package/dist/config/doc-sync.js.map +1 -0
  114. package/dist/config/feature-audit.d.ts +49 -0
  115. package/dist/config/feature-audit.d.ts.map +1 -0
  116. package/dist/config/feature-audit.js +148 -0
  117. package/dist/config/feature-audit.js.map +1 -0
  118. package/dist/config/index.d.ts +15 -0
  119. package/dist/config/index.d.ts.map +1 -0
  120. package/dist/config/index.js +15 -0
  121. package/dist/config/index.js.map +1 -0
  122. package/dist/config/init.d.ts +86 -0
  123. package/dist/config/init.d.ts.map +1 -0
  124. package/dist/config/init.js +807 -0
  125. package/dist/config/init.js.map +1 -0
  126. package/dist/config/legacy-fallback.d.ts +83 -0
  127. package/dist/config/legacy-fallback.d.ts.map +1 -0
  128. package/dist/config/legacy-fallback.js +212 -0
  129. package/dist/config/legacy-fallback.js.map +1 -0
  130. package/dist/config/markdown-migration.d.ts +157 -0
  131. package/dist/config/markdown-migration.d.ts.map +1 -0
  132. package/dist/config/markdown-migration.js +434 -0
  133. package/dist/config/markdown-migration.js.map +1 -0
  134. package/dist/config/migration.d.ts +123 -0
  135. package/dist/config/migration.d.ts.map +1 -0
  136. package/dist/config/migration.js +273 -0
  137. package/dist/config/migration.js.map +1 -0
  138. package/dist/config/migrations/index.d.ts +36 -0
  139. package/dist/config/migrations/index.d.ts.map +1 -0
  140. package/dist/config/migrations/index.js +216 -0
  141. package/dist/config/migrations/index.js.map +1 -0
  142. package/dist/config/models.d.ts +134 -0
  143. package/dist/config/models.d.ts.map +1 -0
  144. package/dist/config/models.js +354 -0
  145. package/dist/config/models.js.map +1 -0
  146. package/dist/config/routing.d.ts +118 -0
  147. package/dist/config/routing.d.ts.map +1 -0
  148. package/dist/config/routing.js +247 -0
  149. package/dist/config/routing.js.map +1 -0
  150. package/dist/config/schema.d.ts +72 -0
  151. package/dist/config/schema.d.ts.map +1 -0
  152. package/dist/config/schema.js +63 -0
  153. package/dist/config/schema.js.map +1 -0
  154. package/dist/coordinator/coordinator.d.ts +82 -0
  155. package/dist/coordinator/coordinator.d.ts.map +1 -0
  156. package/dist/coordinator/coordinator.js +192 -0
  157. package/dist/coordinator/coordinator.js.map +1 -0
  158. package/dist/coordinator/direct-response.d.ts +83 -0
  159. package/dist/coordinator/direct-response.d.ts.map +1 -0
  160. package/dist/coordinator/direct-response.js +187 -0
  161. package/dist/coordinator/direct-response.js.map +1 -0
  162. package/dist/coordinator/fan-out.d.ts +83 -0
  163. package/dist/coordinator/fan-out.d.ts.map +1 -0
  164. package/dist/coordinator/fan-out.js +161 -0
  165. package/dist/coordinator/fan-out.js.map +1 -0
  166. package/dist/coordinator/index.d.ts +62 -0
  167. package/dist/coordinator/index.d.ts.map +1 -0
  168. package/dist/coordinator/index.js +177 -0
  169. package/dist/coordinator/index.js.map +1 -0
  170. package/dist/coordinator/response-tiers.d.ts +49 -0
  171. package/dist/coordinator/response-tiers.d.ts.map +1 -0
  172. package/dist/coordinator/response-tiers.js +149 -0
  173. package/dist/coordinator/response-tiers.js.map +1 -0
  174. package/dist/hooks/index.d.ts +103 -0
  175. package/dist/hooks/index.d.ts.map +1 -0
  176. package/dist/hooks/index.js +279 -0
  177. package/dist/hooks/index.js.map +1 -0
  178. package/dist/index.d.ts +37 -1
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +37 -3
  181. package/dist/index.js.map +1 -1
  182. package/dist/marketplace/backend.d.ts +35 -0
  183. package/dist/marketplace/backend.d.ts.map +1 -0
  184. package/dist/marketplace/backend.js +99 -0
  185. package/dist/marketplace/backend.js.map +1 -0
  186. package/dist/marketplace/browser.d.ts +33 -0
  187. package/dist/marketplace/browser.d.ts.map +1 -0
  188. package/dist/marketplace/browser.js +97 -0
  189. package/dist/marketplace/browser.js.map +1 -0
  190. package/dist/marketplace/extension-adapter.d.ts +51 -0
  191. package/dist/marketplace/extension-adapter.d.ts.map +1 -0
  192. package/dist/marketplace/extension-adapter.js +81 -0
  193. package/dist/marketplace/extension-adapter.js.map +1 -0
  194. package/dist/marketplace/index.d.ts +51 -0
  195. package/dist/marketplace/index.d.ts.map +1 -0
  196. package/dist/marketplace/index.js +108 -0
  197. package/dist/marketplace/index.js.map +1 -0
  198. package/dist/marketplace/packaging.d.ts +25 -0
  199. package/dist/marketplace/packaging.d.ts.map +1 -0
  200. package/dist/marketplace/packaging.js +117 -0
  201. package/dist/marketplace/packaging.js.map +1 -0
  202. package/dist/marketplace/schema.d.ts +50 -0
  203. package/dist/marketplace/schema.d.ts.map +1 -0
  204. package/dist/marketplace/schema.js +120 -0
  205. package/dist/marketplace/schema.js.map +1 -0
  206. package/dist/marketplace/security.d.ts +26 -0
  207. package/dist/marketplace/security.d.ts.map +1 -0
  208. package/dist/marketplace/security.js +199 -0
  209. package/dist/marketplace/security.js.map +1 -0
  210. package/dist/multi-squad.d.ts +89 -0
  211. package/dist/multi-squad.d.ts.map +1 -0
  212. package/dist/multi-squad.js +233 -0
  213. package/dist/multi-squad.js.map +1 -0
  214. package/dist/parsers.d.ts +15 -0
  215. package/dist/parsers.d.ts.map +1 -0
  216. package/dist/parsers.js +15 -0
  217. package/dist/parsers.js.map +1 -0
  218. package/dist/ralph/index.d.ts +58 -0
  219. package/dist/ralph/index.d.ts.map +1 -0
  220. package/dist/ralph/index.js +128 -0
  221. package/dist/ralph/index.js.map +1 -0
  222. package/dist/ralph/triage.d.ts +48 -0
  223. package/dist/ralph/triage.d.ts.map +1 -0
  224. package/dist/ralph/triage.js +310 -0
  225. package/dist/ralph/triage.js.map +1 -0
  226. package/dist/remote/bridge.d.ts +79 -0
  227. package/dist/remote/bridge.d.ts.map +1 -0
  228. package/dist/remote/bridge.js +583 -0
  229. package/dist/remote/bridge.js.map +1 -0
  230. package/dist/remote/index.d.ts +7 -0
  231. package/dist/remote/index.d.ts.map +1 -0
  232. package/dist/remote/index.js +6 -0
  233. package/dist/remote/index.js.map +1 -0
  234. package/dist/remote/protocol.d.ts +130 -0
  235. package/dist/remote/protocol.d.ts.map +1 -0
  236. package/dist/remote/protocol.js +25 -0
  237. package/dist/remote/protocol.js.map +1 -0
  238. package/dist/remote/types.d.ts +34 -0
  239. package/dist/remote/types.d.ts.map +1 -0
  240. package/dist/remote/types.js +5 -0
  241. package/dist/remote/types.js.map +1 -0
  242. package/dist/resolution.d.ts +119 -0
  243. package/dist/resolution.d.ts.map +1 -0
  244. package/dist/resolution.js +259 -0
  245. package/dist/resolution.js.map +1 -0
  246. package/dist/runtime/benchmarks.d.ts +121 -0
  247. package/dist/runtime/benchmarks.d.ts.map +1 -0
  248. package/dist/runtime/benchmarks.js +251 -0
  249. package/dist/runtime/benchmarks.js.map +1 -0
  250. package/dist/runtime/config.d.ts +314 -0
  251. package/dist/runtime/config.d.ts.map +1 -0
  252. package/dist/runtime/config.js +467 -0
  253. package/dist/runtime/config.js.map +1 -0
  254. package/dist/runtime/constants.d.ts +37 -0
  255. package/dist/runtime/constants.d.ts.map +1 -0
  256. package/dist/runtime/constants.js +60 -0
  257. package/dist/runtime/constants.js.map +1 -0
  258. package/dist/runtime/cost-tracker.d.ts +73 -0
  259. package/dist/runtime/cost-tracker.d.ts.map +1 -0
  260. package/dist/runtime/cost-tracker.js +157 -0
  261. package/dist/runtime/cost-tracker.js.map +1 -0
  262. package/dist/runtime/event-bus-ws-bridge.d.ts +35 -0
  263. package/dist/runtime/event-bus-ws-bridge.d.ts.map +1 -0
  264. package/dist/runtime/event-bus-ws-bridge.js +55 -0
  265. package/dist/runtime/event-bus-ws-bridge.js.map +1 -0
  266. package/dist/runtime/event-bus.d.ts +190 -0
  267. package/dist/runtime/event-bus.d.ts.map +1 -0
  268. package/dist/runtime/event-bus.js +218 -0
  269. package/dist/runtime/event-bus.js.map +1 -0
  270. package/dist/runtime/event-payloads.d.ts +108 -0
  271. package/dist/runtime/event-payloads.d.ts.map +1 -0
  272. package/dist/runtime/event-payloads.js +28 -0
  273. package/dist/runtime/event-payloads.js.map +1 -0
  274. package/dist/runtime/health.d.ts +66 -0
  275. package/dist/runtime/health.d.ts.map +1 -0
  276. package/dist/runtime/health.js +112 -0
  277. package/dist/runtime/health.js.map +1 -0
  278. package/dist/runtime/i18n.d.ts +54 -0
  279. package/dist/runtime/i18n.d.ts.map +1 -0
  280. package/dist/runtime/i18n.js +126 -0
  281. package/dist/runtime/i18n.js.map +1 -0
  282. package/dist/runtime/offline.d.ts +64 -0
  283. package/dist/runtime/offline.d.ts.map +1 -0
  284. package/dist/runtime/offline.js +108 -0
  285. package/dist/runtime/offline.js.map +1 -0
  286. package/dist/runtime/otel-api.d.ts +38 -0
  287. package/dist/runtime/otel-api.d.ts.map +1 -0
  288. package/dist/runtime/otel-api.js +94 -0
  289. package/dist/runtime/otel-api.js.map +1 -0
  290. package/dist/runtime/otel-bridge.d.ts +52 -0
  291. package/dist/runtime/otel-bridge.d.ts.map +1 -0
  292. package/dist/runtime/otel-bridge.js +132 -0
  293. package/dist/runtime/otel-bridge.js.map +1 -0
  294. package/dist/runtime/otel-init.d.ts +84 -0
  295. package/dist/runtime/otel-init.d.ts.map +1 -0
  296. package/dist/runtime/otel-init.js +86 -0
  297. package/dist/runtime/otel-init.js.map +1 -0
  298. package/dist/runtime/otel-metrics.d.ts +42 -0
  299. package/dist/runtime/otel-metrics.d.ts.map +1 -0
  300. package/dist/runtime/otel-metrics.js +196 -0
  301. package/dist/runtime/otel-metrics.js.map +1 -0
  302. package/dist/runtime/otel.d.ts +55 -0
  303. package/dist/runtime/otel.d.ts.map +1 -0
  304. package/dist/runtime/otel.js +165 -0
  305. package/dist/runtime/otel.js.map +1 -0
  306. package/dist/runtime/squad-observer.d.ts +75 -0
  307. package/dist/runtime/squad-observer.d.ts.map +1 -0
  308. package/dist/runtime/squad-observer.js +190 -0
  309. package/dist/runtime/squad-observer.js.map +1 -0
  310. package/dist/runtime/streaming.d.ts +106 -0
  311. package/dist/runtime/streaming.d.ts.map +1 -0
  312. package/dist/runtime/streaming.js +192 -0
  313. package/dist/runtime/streaming.js.map +1 -0
  314. package/dist/runtime/telemetry.d.ts +82 -0
  315. package/dist/runtime/telemetry.d.ts.map +1 -0
  316. package/dist/runtime/telemetry.js +120 -0
  317. package/dist/runtime/telemetry.js.map +1 -0
  318. package/dist/sharing/agent-repo.d.ts +33 -0
  319. package/dist/sharing/agent-repo.d.ts.map +1 -0
  320. package/dist/sharing/agent-repo.js +79 -0
  321. package/dist/sharing/agent-repo.js.map +1 -0
  322. package/dist/sharing/cache.d.ts +36 -0
  323. package/dist/sharing/cache.d.ts.map +1 -0
  324. package/dist/sharing/cache.js +85 -0
  325. package/dist/sharing/cache.js.map +1 -0
  326. package/dist/sharing/conflicts.d.ts +32 -0
  327. package/dist/sharing/conflicts.d.ts.map +1 -0
  328. package/dist/sharing/conflicts.js +123 -0
  329. package/dist/sharing/conflicts.js.map +1 -0
  330. package/dist/sharing/consult.d.ts +226 -0
  331. package/dist/sharing/consult.d.ts.map +1 -0
  332. package/dist/sharing/consult.js +818 -0
  333. package/dist/sharing/consult.js.map +1 -0
  334. package/dist/sharing/export.d.ts +50 -0
  335. package/dist/sharing/export.d.ts.map +1 -0
  336. package/dist/sharing/export.js +156 -0
  337. package/dist/sharing/export.js.map +1 -0
  338. package/dist/sharing/history-split.d.ts +34 -0
  339. package/dist/sharing/history-split.d.ts.map +1 -0
  340. package/dist/sharing/history-split.js +101 -0
  341. package/dist/sharing/history-split.js.map +1 -0
  342. package/dist/sharing/import.d.ts +37 -0
  343. package/dist/sharing/import.d.ts.map +1 -0
  344. package/dist/sharing/import.js +138 -0
  345. package/dist/sharing/import.js.map +1 -0
  346. package/dist/sharing/index.d.ts +12 -0
  347. package/dist/sharing/index.d.ts.map +1 -0
  348. package/dist/sharing/index.js +12 -0
  349. package/dist/sharing/index.js.map +1 -0
  350. package/dist/sharing/versioning.d.ts +32 -0
  351. package/dist/sharing/versioning.d.ts.map +1 -0
  352. package/dist/sharing/versioning.js +64 -0
  353. package/dist/sharing/versioning.js.map +1 -0
  354. package/dist/skills/index.d.ts +49 -0
  355. package/dist/skills/index.d.ts.map +1 -0
  356. package/dist/skills/index.js +85 -0
  357. package/dist/skills/index.js.map +1 -0
  358. package/dist/skills/skill-loader.d.ts +56 -0
  359. package/dist/skills/skill-loader.d.ts.map +1 -0
  360. package/dist/skills/skill-loader.js +106 -0
  361. package/dist/skills/skill-loader.js.map +1 -0
  362. package/dist/skills/skill-source.d.ts +63 -0
  363. package/dist/skills/skill-source.d.ts.map +1 -0
  364. package/dist/skills/skill-source.js +199 -0
  365. package/dist/skills/skill-source.js.map +1 -0
  366. package/dist/streams/filter.d.ts +33 -0
  367. package/dist/streams/filter.d.ts.map +1 -0
  368. package/dist/streams/filter.js +29 -0
  369. package/dist/streams/filter.js.map +1 -0
  370. package/dist/streams/index.d.ts +9 -0
  371. package/dist/streams/index.d.ts.map +1 -0
  372. package/dist/streams/index.js +9 -0
  373. package/dist/streams/index.js.map +1 -0
  374. package/dist/streams/resolver.d.ts +40 -0
  375. package/dist/streams/resolver.d.ts.map +1 -0
  376. package/dist/streams/resolver.js +162 -0
  377. package/dist/streams/resolver.js.map +1 -0
  378. package/dist/streams/types.d.ts +44 -0
  379. package/dist/streams/types.d.ts.map +1 -0
  380. package/dist/streams/types.js +10 -0
  381. package/dist/streams/types.js.map +1 -0
  382. package/dist/tools/index.d.ts +95 -0
  383. package/dist/tools/index.d.ts.map +1 -0
  384. package/dist/tools/index.js +475 -0
  385. package/dist/tools/index.js.map +1 -0
  386. package/dist/types.d.ts +66 -0
  387. package/dist/types.d.ts.map +1 -0
  388. package/dist/types.js +8 -0
  389. package/dist/types.js.map +1 -0
  390. package/dist/upstream/index.d.ts +8 -0
  391. package/dist/upstream/index.d.ts.map +1 -0
  392. package/dist/upstream/index.js +7 -0
  393. package/dist/upstream/index.js.map +1 -0
  394. package/dist/upstream/resolver.d.ts +37 -0
  395. package/dist/upstream/resolver.d.ts.map +1 -0
  396. package/dist/upstream/resolver.js +234 -0
  397. package/dist/upstream/resolver.js.map +1 -0
  398. package/dist/upstream/types.d.ts +55 -0
  399. package/dist/upstream/types.d.ts.map +1 -0
  400. package/dist/upstream/types.js +11 -0
  401. package/dist/upstream/types.js.map +1 -0
  402. package/dist/utils/normalize-eol.d.ts +6 -0
  403. package/dist/utils/normalize-eol.d.ts.map +1 -0
  404. package/dist/utils/normalize-eol.js +8 -0
  405. package/dist/utils/normalize-eol.js.map +1 -0
  406. package/dist/utils/safe-timestamp.d.ts +6 -0
  407. package/dist/utils/safe-timestamp.d.ts.map +1 -0
  408. package/dist/utils/safe-timestamp.js +8 -0
  409. package/dist/utils/safe-timestamp.js.map +1 -0
  410. package/package.json +151 -6
  411. package/templates/casting-history.json +4 -0
  412. package/templates/casting-policy.json +35 -0
  413. package/templates/casting-registry.json +3 -0
  414. package/templates/ceremonies.md +41 -0
  415. package/templates/charter.md +53 -0
  416. package/templates/constraint-tracking.md +38 -0
  417. package/templates/copilot-instructions.md +46 -0
  418. package/templates/history.md +10 -0
  419. package/templates/identity/now.md +9 -0
  420. package/templates/identity/wisdom.md +15 -0
  421. package/templates/mcp-config.md +98 -0
  422. package/templates/multi-agent-format.md +28 -0
  423. package/templates/orchestration-log.md +27 -0
  424. package/templates/plugin-marketplace.md +49 -0
  425. package/templates/raw-agent-output.md +37 -0
  426. package/templates/roster.md +60 -0
  427. package/templates/routing.md +54 -0
  428. package/templates/run-output.md +50 -0
  429. package/templates/scribe-charter.md +119 -0
  430. package/templates/skill.md +24 -0
  431. package/templates/skills/project-conventions/SKILL.md +56 -0
  432. package/templates/squad.agent.md +1146 -0
  433. package/templates/workflows/squad-ci.yml +24 -0
  434. package/templates/workflows/squad-docs.yml +50 -0
  435. package/templates/workflows/squad-heartbeat.yml +316 -0
  436. package/templates/workflows/squad-insider-release.yml +61 -0
  437. package/templates/workflows/squad-issue-assign.yml +161 -0
  438. package/templates/workflows/squad-label-enforce.yml +181 -0
  439. package/templates/workflows/squad-preview.yml +55 -0
  440. package/templates/workflows/squad-promote.yml +120 -0
  441. package/templates/workflows/squad-release.yml +77 -0
  442. package/templates/workflows/squad-triage.yml +260 -0
  443. package/templates/workflows/sync-squad-labels.yml +169 -0
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Offline Mode — graceful degradation when connectivity is unavailable
3
+ * Issue #142 (M5-14)
4
+ */
5
+ // --- Detect connectivity ---
6
+ export function detectConnectivity(checker) {
7
+ if (!checker) {
8
+ return Promise.resolve('online');
9
+ }
10
+ return checker()
11
+ .then((ok) => (ok ? 'online' : 'offline'))
12
+ .catch(() => 'offline');
13
+ }
14
+ // --- OfflineManager ---
15
+ export class OfflineManager {
16
+ connectivity = 'online';
17
+ pendingQueue = [];
18
+ lastSyncTime = null;
19
+ cachedAgentNames = [];
20
+ connectivityChecker;
21
+ syncHandler;
22
+ constructor(options) {
23
+ this.connectivityChecker = options?.connectivityChecker;
24
+ this.syncHandler = options?.syncHandler;
25
+ this.cachedAgentNames = options?.cachedAgents ?? [];
26
+ }
27
+ /** Get what works offline */
28
+ getOfflineCapabilities() {
29
+ const isOnline = this.connectivity === 'online';
30
+ return {
31
+ localAgents: true,
32
+ cachedSkills: true,
33
+ configEditing: true,
34
+ marketplaceBrowse: isOnline || this.connectivity === 'degraded',
35
+ publishing: isOnline,
36
+ remoteAgents: isOnline,
37
+ };
38
+ }
39
+ /** Queue an operation for later sync */
40
+ queueForSync(operation) {
41
+ this.pendingQueue.push({ ...operation });
42
+ }
43
+ /** Replay queued operations */
44
+ async syncPending() {
45
+ if (this.connectivity === 'offline') {
46
+ return { synced: 0, failed: 0, remaining: this.pendingQueue.length };
47
+ }
48
+ let synced = 0;
49
+ let failed = 0;
50
+ const remaining = [];
51
+ for (const op of this.pendingQueue) {
52
+ try {
53
+ const success = this.syncHandler
54
+ ? await this.syncHandler(op)
55
+ : true;
56
+ if (success) {
57
+ synced++;
58
+ }
59
+ else {
60
+ op.retries++;
61
+ remaining.push(op);
62
+ failed++;
63
+ }
64
+ }
65
+ catch {
66
+ op.retries++;
67
+ remaining.push(op);
68
+ failed++;
69
+ }
70
+ }
71
+ this.pendingQueue = remaining;
72
+ this.lastSyncTime = new Date().toISOString();
73
+ return { synced, failed, remaining: remaining.length };
74
+ }
75
+ /** Get current offline status */
76
+ getOfflineStatus() {
77
+ return {
78
+ connectivity: this.connectivity,
79
+ pendingOps: this.pendingQueue.length,
80
+ lastSync: this.lastSyncTime,
81
+ cachedAgents: [...this.cachedAgentNames],
82
+ };
83
+ }
84
+ /** Update connectivity status */
85
+ async refreshConnectivity() {
86
+ this.connectivity = await detectConnectivity(this.connectivityChecker);
87
+ return this.connectivity;
88
+ }
89
+ /** Set connectivity directly (useful for testing) */
90
+ setConnectivity(status) {
91
+ this.connectivity = status;
92
+ }
93
+ /** Add a cached agent name */
94
+ addCachedAgent(name) {
95
+ if (!this.cachedAgentNames.includes(name)) {
96
+ this.cachedAgentNames.push(name);
97
+ }
98
+ }
99
+ /** Get pending operations */
100
+ getPendingOperations() {
101
+ return [...this.pendingQueue];
102
+ }
103
+ /** Clear all pending operations */
104
+ clearPending() {
105
+ this.pendingQueue = [];
106
+ }
107
+ }
108
+ //# sourceMappingURL=offline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline.js","sourceRoot":"","sources":["../../src/runtime/offline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Resilient @opentelemetry/api wrapper (Issue #247)
3
+ *
4
+ * Re-exports the subset of @opentelemetry/api that Squad uses, with
5
+ * automatic no-op fallbacks when the package is not installed. This
6
+ * makes telemetry truly optional at runtime — the SDK never crashes
7
+ * due to a missing OpenTelemetry dependency.
8
+ *
9
+ * @module runtime/otel-api
10
+ */
11
+ declare const _noopTracer: any;
12
+ declare const _noopMeter: any;
13
+ /** Span status codes. */
14
+ export declare const SpanStatusCode: {
15
+ readonly UNSET: 0;
16
+ readonly OK: 1;
17
+ readonly ERROR: 2;
18
+ };
19
+ /** Trace API entry point. */
20
+ export declare const trace: import("@opentelemetry/api").TraceAPI | {
21
+ getTracer(): typeof _noopTracer;
22
+ };
23
+ /** Metrics API entry point. */
24
+ export declare const metrics: import("@opentelemetry/api").MetricsAPI | {
25
+ getMeter(): typeof _noopMeter;
26
+ };
27
+ /** Diagnostics API. */
28
+ export declare const diag: any;
29
+ /** Diagnostics console logger class. */
30
+ export declare const DiagConsoleLogger: any;
31
+ /** Diagnostics log level enum. */
32
+ export declare const DiagLogLevel: any;
33
+ /** Whether @opentelemetry/api was successfully loaded. */
34
+ export declare const otelApiAvailable: boolean;
35
+ export type Tracer = import('@opentelemetry/api').Tracer;
36
+ export type Meter = import('@opentelemetry/api').Meter;
37
+ export {};
38
+ //# sourceMappingURL=otel-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-api.d.ts","sourceRoot":"","sources":["../../src/runtime/otel-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,QAAA,MAAM,WAAW,EAAE,GAMlB,CAAC;AASF,QAAA,MAAM,UAAU,EAAE,GAQjB,CAAC;AAQF,yBAAyB;AACzB,eAAO,MAAM,cAAc,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CACjB,CAAC;AAEnE,6BAA6B;AAC7B,eAAO,MAAM,KAAK;iBACH,OAAO,WAAW;CAChC,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,OAAO;gBACN,OAAO,UAAU;CAC9B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,IAAI,EAAE,GAQlB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,iBAAiB,EAAE,GAAwD,CAAC;AAEzF,kCAAkC;AAClC,eAAO,MAAM,YAAY,EAAE,GAE1B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,OAA4B,CAAC;AAG5D,MAAM,MAAM,MAAM,GAAG,OAAO,oBAAoB,EAAE,MAAM,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,OAAO,oBAAoB,EAAE,KAAK,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Resilient @opentelemetry/api wrapper (Issue #247)
3
+ *
4
+ * Re-exports the subset of @opentelemetry/api that Squad uses, with
5
+ * automatic no-op fallbacks when the package is not installed. This
6
+ * makes telemetry truly optional at runtime — the SDK never crashes
7
+ * due to a missing OpenTelemetry dependency.
8
+ *
9
+ * @module runtime/otel-api
10
+ */
11
+ import { createRequire } from 'node:module';
12
+ // ---------------------------------------------------------------------------
13
+ // Dynamic load — graceful fallback when @opentelemetry/api is absent
14
+ // ---------------------------------------------------------------------------
15
+ let _api;
16
+ try {
17
+ const _require = createRequire(import.meta.url);
18
+ _api = _require('@opentelemetry/api');
19
+ }
20
+ catch {
21
+ // @opentelemetry/api not installed — all telemetry becomes no-op
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // No-op implementations (mirror the @opentelemetry/api surface we use)
25
+ // ---------------------------------------------------------------------------
26
+ /* eslint-disable @typescript-eslint/no-explicit-any */
27
+ const _noopSpan = {
28
+ end() { },
29
+ setStatus() { return _noopSpan; },
30
+ setAttribute() { return _noopSpan; },
31
+ setAttributes() { return _noopSpan; },
32
+ addEvent() { return _noopSpan; },
33
+ recordException() { return _noopSpan; },
34
+ isRecording() { return false; },
35
+ updateName() { return _noopSpan; },
36
+ spanContext() { return { traceId: '', spanId: '', traceFlags: 0 }; },
37
+ };
38
+ const _noopTracer = {
39
+ startSpan() { return _noopSpan; },
40
+ startActiveSpan(...args) {
41
+ const fn = args[args.length - 1];
42
+ if (typeof fn === 'function')
43
+ return fn(_noopSpan);
44
+ },
45
+ };
46
+ const _noopInstrument = {
47
+ add() { },
48
+ record() { },
49
+ addCallback() { },
50
+ removeCallback() { },
51
+ };
52
+ const _noopMeter = {
53
+ createCounter() { return _noopInstrument; },
54
+ createUpDownCounter() { return _noopInstrument; },
55
+ createHistogram() { return _noopInstrument; },
56
+ createObservableCounter() { return _noopInstrument; },
57
+ createObservableUpDownCounter() { return _noopInstrument; },
58
+ createObservableGauge() { return _noopInstrument; },
59
+ createGauge() { return _noopInstrument; },
60
+ };
61
+ /* eslint-enable @typescript-eslint/no-explicit-any */
62
+ // ---------------------------------------------------------------------------
63
+ // Exports — real API when available, no-ops otherwise
64
+ // ---------------------------------------------------------------------------
65
+ /** Span status codes. */
66
+ export const SpanStatusCode = _api?.SpanStatusCode ?? { UNSET: 0, OK: 1, ERROR: 2 };
67
+ /** Trace API entry point. */
68
+ export const trace = _api?.trace ?? {
69
+ getTracer() { return _noopTracer; },
70
+ };
71
+ /** Metrics API entry point. */
72
+ export const metrics = _api?.metrics ?? {
73
+ getMeter() { return _noopMeter; },
74
+ };
75
+ /** Diagnostics API. */
76
+ export const diag = _api?.diag ?? {
77
+ setLogger() { },
78
+ disable() { },
79
+ verbose() { },
80
+ debug() { },
81
+ info() { },
82
+ warn() { },
83
+ error() { },
84
+ };
85
+ /** Diagnostics console logger class. */
86
+ export const DiagConsoleLogger = _api?.DiagConsoleLogger ?? class NoopDiagLogger {
87
+ }; // eslint-disable-line @typescript-eslint/no-explicit-any
88
+ /** Diagnostics log level enum. */
89
+ export const DiagLogLevel = _api?.DiagLogLevel ?? {
90
+ NONE: 0, ERROR: 30, WARN: 50, INFO: 60, DEBUG: 70, VERBOSE: 80, ALL: 9999,
91
+ };
92
+ /** Whether @opentelemetry/api was successfully loaded. */
93
+ export const otelApiAvailable = _api !== undefined;
94
+ //# sourceMappingURL=otel-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-api.js","sourceRoot":"","sources":["../../src/runtime/otel-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,IAAI,IAAqD,CAAC;AAC1D,IAAI,CAAC;IACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC;AAAC,MAAM,CAAC;IACP,iEAAiE;AACnE,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,uDAAuD;AAEvD,MAAM,SAAS,GAAQ;IACrB,GAAG,KAAI,CAAC;IACR,SAAS,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACjC,YAAY,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACpC,aAAa,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACrC,QAAQ,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAChC,eAAe,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACvC,WAAW,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAC/B,UAAU,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IAClC,WAAW,KAAK,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,GAAQ;IACvB,SAAS,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;IACjC,eAAe,CAAC,GAAG,IAAW;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;CACF,CAAC;AAEF,MAAM,eAAe,GAAQ;IAC3B,GAAG,KAAI,CAAC;IACR,MAAM,KAAI,CAAC;IACX,WAAW,KAAI,CAAC;IAChB,cAAc,KAAI,CAAC;CACpB,CAAC;AAEF,MAAM,UAAU,GAAQ;IACtB,aAAa,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IAC3C,mBAAmB,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IACjD,eAAe,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IAC7C,uBAAuB,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IACrD,6BAA6B,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IAC3D,qBAAqB,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;IACnD,WAAW,KAAK,OAAO,eAAe,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,sDAAsD;AAEtD,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,yBAAyB;AACzB,MAAM,CAAC,MAAM,cAAc,GACzB,IAAI,EAAE,cAAc,IAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAY,CAAC;AAEnE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI;IAClC,SAAS,KAAyB,OAAO,WAAW,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI;IACtC,QAAQ,KAAwB,OAAO,UAAU,CAAC,CAAC,CAAC;CACrD,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAQ,IAAI,EAAE,IAAI,IAAI;IACrC,SAAS,KAAI,CAAC;IACd,OAAO,KAAI,CAAC;IACZ,OAAO,KAAI,CAAC;IACZ,KAAK,KAAI,CAAC;IACV,IAAI,KAAI,CAAC;IACT,IAAI,KAAI,CAAC;IACT,KAAK,KAAI,CAAC;CACX,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAQ,IAAI,EAAE,iBAAiB,IAAI,MAAM,cAAc;CAAG,CAAC,CAAC,yDAAyD;AAEnJ,kCAAkC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAQ,IAAI,EAAE,YAAY,IAAI;IACrD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI;CAC1E,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAY,IAAI,KAAK,SAAS,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * OTel Bridge for TelemetryCollector (Issue #256)
3
+ *
4
+ * Converts TelemetryEvents into OpenTelemetry spans, providing a
5
+ * TelemetryTransport that can be registered via setTelemetryTransport().
6
+ * Additive — the existing transport pipeline is unaffected.
7
+ *
8
+ * @module runtime/otel-bridge
9
+ */
10
+ import type { TelemetryTransport } from './telemetry.js';
11
+ import type { EventBus, UnsubscribeFn } from './event-bus.js';
12
+ /**
13
+ * Create a TelemetryTransport that emits OTel spans for each event.
14
+ *
15
+ * Usage:
16
+ * ```ts
17
+ * import { setTelemetryTransport } from './telemetry.js';
18
+ * import { createOTelTransport } from './otel-bridge.js';
19
+ *
20
+ * setTelemetryTransport(createOTelTransport());
21
+ * ```
22
+ *
23
+ * The bridge ignores the `endpoint` parameter — OTel exporter config is
24
+ * managed by the OTel provider initialized via `initializeOTel()`.
25
+ */
26
+ export declare function createOTelTransport(): TelemetryTransport;
27
+ /**
28
+ * Subscribe an {@link EventBus} to OpenTelemetry, creating a span for every
29
+ * event that flows through the bus.
30
+ *
31
+ * This is the **mid-level** OTel integration point — it wires the Squad
32
+ * event bus directly into the OTel trace pipeline. If no `TracerProvider`
33
+ * has been registered (e.g. via {@link initializeOTel}), all spans are
34
+ * automatically no-ops with zero overhead.
35
+ *
36
+ * @param bus - The EventBus instance to bridge.
37
+ * @returns An unsubscribe function. Call it to detach the bridge.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { EventBus, initializeOTel, bridgeEventBusToOTel } from 'squad-sdk';
42
+ *
43
+ * const bus = new EventBus();
44
+ * initializeOTel({ endpoint: 'http://localhost:4318' });
45
+ * const detach = bridgeEventBusToOTel(bus);
46
+ *
47
+ * // Later, to stop bridging:
48
+ * detach();
49
+ * ```
50
+ */
51
+ export declare function bridgeEventBusToOTel(bus: EventBus): UnsubscribeFn;
52
+ //# sourceMappingURL=otel-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-bridge.d.ts","sourceRoot":"","sources":["../../src/runtime/otel-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAsE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,kBAAkB,CAMxD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,aAAa,CAejE"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * OTel Bridge for TelemetryCollector (Issue #256)
3
+ *
4
+ * Converts TelemetryEvents into OpenTelemetry spans, providing a
5
+ * TelemetryTransport that can be registered via setTelemetryTransport().
6
+ * Additive — the existing transport pipeline is unaffected.
7
+ *
8
+ * @module runtime/otel-bridge
9
+ */
10
+ import { SpanStatusCode } from './otel-api.js';
11
+ import { getTracer } from './otel.js';
12
+ // ============================================================================
13
+ // Span mapping
14
+ // ============================================================================
15
+ function recordSpan(event) {
16
+ const tracer = getTracer('squad-sdk');
17
+ const attrs = {};
18
+ if (event.properties) {
19
+ for (const [k, v] of Object.entries(event.properties)) {
20
+ attrs[k] = v;
21
+ }
22
+ }
23
+ if (event.timestamp) {
24
+ attrs['event.timestamp'] = event.timestamp;
25
+ }
26
+ switch (event.name) {
27
+ case 'squad.init': {
28
+ const span = tracer.startSpan('squad.init', { attributes: attrs });
29
+ span.end();
30
+ break;
31
+ }
32
+ case 'squad.agent.spawn': {
33
+ const span = tracer.startSpan('squad.agent.spawn', { attributes: attrs });
34
+ span.end();
35
+ break;
36
+ }
37
+ case 'squad.error': {
38
+ const span = tracer.startSpan('squad.error', { attributes: attrs });
39
+ span.setStatus({ code: SpanStatusCode.ERROR, message: String(attrs['error'] ?? 'unknown') });
40
+ span.addEvent('exception', {
41
+ 'exception.message': String(attrs['error'] ?? attrs['message'] ?? 'unknown error'),
42
+ ...(attrs['stack'] ? { 'exception.stacktrace': String(attrs['stack']) } : {}),
43
+ });
44
+ span.end();
45
+ break;
46
+ }
47
+ case 'squad.run': {
48
+ // Root span for the entire session — start and immediately end
49
+ // (the real duration would be managed by the caller if needed)
50
+ const span = tracer.startSpan('squad.run', { attributes: attrs });
51
+ span.end();
52
+ break;
53
+ }
54
+ case 'squad.upgrade': {
55
+ const span = tracer.startSpan('squad.upgrade', { attributes: attrs });
56
+ span.end();
57
+ break;
58
+ }
59
+ default: {
60
+ // Forward unknown events as generic spans
61
+ const span = tracer.startSpan(event.name, { attributes: attrs });
62
+ span.end();
63
+ break;
64
+ }
65
+ }
66
+ }
67
+ // ============================================================================
68
+ // Public API
69
+ // ============================================================================
70
+ /**
71
+ * Create a TelemetryTransport that emits OTel spans for each event.
72
+ *
73
+ * Usage:
74
+ * ```ts
75
+ * import { setTelemetryTransport } from './telemetry.js';
76
+ * import { createOTelTransport } from './otel-bridge.js';
77
+ *
78
+ * setTelemetryTransport(createOTelTransport());
79
+ * ```
80
+ *
81
+ * The bridge ignores the `endpoint` parameter — OTel exporter config is
82
+ * managed by the OTel provider initialized via `initializeOTel()`.
83
+ */
84
+ export function createOTelTransport() {
85
+ return async (events, _endpoint) => {
86
+ for (const event of events) {
87
+ recordSpan(event);
88
+ }
89
+ };
90
+ }
91
+ /**
92
+ * Subscribe an {@link EventBus} to OpenTelemetry, creating a span for every
93
+ * event that flows through the bus.
94
+ *
95
+ * This is the **mid-level** OTel integration point — it wires the Squad
96
+ * event bus directly into the OTel trace pipeline. If no `TracerProvider`
97
+ * has been registered (e.g. via {@link initializeOTel}), all spans are
98
+ * automatically no-ops with zero overhead.
99
+ *
100
+ * @param bus - The EventBus instance to bridge.
101
+ * @returns An unsubscribe function. Call it to detach the bridge.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * import { EventBus, initializeOTel, bridgeEventBusToOTel } from 'squad-sdk';
106
+ *
107
+ * const bus = new EventBus();
108
+ * initializeOTel({ endpoint: 'http://localhost:4318' });
109
+ * const detach = bridgeEventBusToOTel(bus);
110
+ *
111
+ * // Later, to stop bridging:
112
+ * detach();
113
+ * ```
114
+ */
115
+ export function bridgeEventBusToOTel(bus) {
116
+ return bus.subscribeAll((event) => {
117
+ const tracer = getTracer('squad-sdk');
118
+ const attrs = {
119
+ 'event.type': event.type,
120
+ };
121
+ if (event.sessionId)
122
+ attrs['session.id'] = event.sessionId;
123
+ if (event.agentName)
124
+ attrs['agent.name'] = event.agentName;
125
+ const span = tracer.startSpan(`squad.${event.type}`, { attributes: attrs });
126
+ if (event.type === 'session:error') {
127
+ span.setStatus({ code: SpanStatusCode.ERROR });
128
+ }
129
+ span.end();
130
+ });
131
+ }
132
+ //# sourceMappingURL=otel-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-bridge.js","sourceRoot":"","sources":["../../src/runtime/otel-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * High-Level OTel Initialization (Issue #266)
3
+ *
4
+ * One-call setup that wires OTel providers, the EventBus bridge, and
5
+ * the TelemetryCollector transport in a single invocation. Consumers
6
+ * who don't use OTel pay nothing — if no provider is registered all
7
+ * instrumentation is a no-op.
8
+ *
9
+ * @module runtime/otel-init
10
+ */
11
+ import type { OTelConfig } from './otel.js';
12
+ import type { EventBus } from './event-bus.js';
13
+ /** Options for the high-level {@link initSquadTelemetry} helper. */
14
+ export interface SquadTelemetryOptions extends OTelConfig {
15
+ /**
16
+ * When provided, all EventBus events are automatically forwarded
17
+ * as OTel spans via {@link bridgeEventBusToOTel}.
18
+ */
19
+ eventBus?: EventBus;
20
+ /**
21
+ * When `true`, the OTel-backed TelemetryTransport is registered
22
+ * as the active transport for {@link TelemetryCollector}.
23
+ * @default true
24
+ */
25
+ installTransport?: boolean;
26
+ }
27
+ /** Handle returned by {@link initSquadTelemetry} for lifecycle control. */
28
+ export interface SquadTelemetryHandle {
29
+ /** Whether tracing was activated. */
30
+ tracing: boolean;
31
+ /** Whether metrics were activated. */
32
+ metrics: boolean;
33
+ /**
34
+ * Flush pending telemetry, detach the EventBus bridge (if any),
35
+ * and shut down OTel providers. Safe to call multiple times.
36
+ */
37
+ shutdown: () => Promise<void>;
38
+ }
39
+ /**
40
+ * One-call OTel setup for Squad SDK consumers.
41
+ *
42
+ * This is the **high-level** entry point. It:
43
+ * 1. Initializes tracing and metrics via `initializeOTel()`.
44
+ * 2. Optionally bridges an {@link EventBus} so every Squad event
45
+ * becomes an OTel span.
46
+ * 3. Optionally installs an OTel-backed `TelemetryTransport` so
47
+ * the existing `TelemetryCollector` pipeline emits spans too.
48
+ *
49
+ * If no `OTEL_EXPORTER_OTLP_ENDPOINT` env var is set **and** no
50
+ * `endpoint` is provided in `options`, everything remains a no-op.
51
+ *
52
+ * @param options - Configuration and optional EventBus.
53
+ * @returns A handle with `tracing`, `metrics` status booleans and a
54
+ * `shutdown()` method for graceful cleanup.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { initSquadTelemetry, EventBus } from 'squad-sdk';
59
+ *
60
+ * const bus = new EventBus();
61
+ * const telemetry = initSquadTelemetry({
62
+ * endpoint: 'http://localhost:4318',
63
+ * eventBus: bus,
64
+ * });
65
+ *
66
+ * // … run your squad …
67
+ *
68
+ * await telemetry.shutdown();
69
+ * ```
70
+ */
71
+ export declare function initSquadTelemetry(options?: SquadTelemetryOptions): SquadTelemetryHandle;
72
+ /**
73
+ * Convenience wrapper for Copilot agent-mode telemetry.
74
+ *
75
+ * Pre-configures `serviceName` to `'squad-copilot-agent'` and
76
+ * `mode` to `'copilot-agent'` so the two surfaces (CLI vs agent)
77
+ * are distinguishable in dashboards and trace queries.
78
+ *
79
+ * Call this at agent-mode startup; call `handle.shutdown()` on exit.
80
+ *
81
+ * @param options - Additional overrides (endpoint, eventBus, etc.).
82
+ */
83
+ export declare function initAgentModeTelemetry(options?: Omit<SquadTelemetryOptions, 'serviceName' | 'mode'>): SquadTelemetryHandle;
84
+ //# sourceMappingURL=otel-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-init.d.ts","sourceRoot":"","sources":["../../src/runtime/otel-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,oEAAoE;AACpE,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,qBAA0B,GAAG,oBAAoB,CAsB5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,MAAM,CAAM,GAAG,oBAAoB,CAM9H"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * High-Level OTel Initialization (Issue #266)
3
+ *
4
+ * One-call setup that wires OTel providers, the EventBus bridge, and
5
+ * the TelemetryCollector transport in a single invocation. Consumers
6
+ * who don't use OTel pay nothing — if no provider is registered all
7
+ * instrumentation is a no-op.
8
+ *
9
+ * @module runtime/otel-init
10
+ */
11
+ import { initializeOTel, shutdownOTel } from './otel.js';
12
+ import { bridgeEventBusToOTel, createOTelTransport } from './otel-bridge.js';
13
+ import { setTelemetryTransport } from './telemetry.js';
14
+ // ============================================================================
15
+ // Public API
16
+ // ============================================================================
17
+ /**
18
+ * One-call OTel setup for Squad SDK consumers.
19
+ *
20
+ * This is the **high-level** entry point. It:
21
+ * 1. Initializes tracing and metrics via `initializeOTel()`.
22
+ * 2. Optionally bridges an {@link EventBus} so every Squad event
23
+ * becomes an OTel span.
24
+ * 3. Optionally installs an OTel-backed `TelemetryTransport` so
25
+ * the existing `TelemetryCollector` pipeline emits spans too.
26
+ *
27
+ * If no `OTEL_EXPORTER_OTLP_ENDPOINT` env var is set **and** no
28
+ * `endpoint` is provided in `options`, everything remains a no-op.
29
+ *
30
+ * @param options - Configuration and optional EventBus.
31
+ * @returns A handle with `tracing`, `metrics` status booleans and a
32
+ * `shutdown()` method for graceful cleanup.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * import { initSquadTelemetry, EventBus } from 'squad-sdk';
37
+ *
38
+ * const bus = new EventBus();
39
+ * const telemetry = initSquadTelemetry({
40
+ * endpoint: 'http://localhost:4318',
41
+ * eventBus: bus,
42
+ * });
43
+ *
44
+ * // … run your squad …
45
+ *
46
+ * await telemetry.shutdown();
47
+ * ```
48
+ */
49
+ export function initSquadTelemetry(options = {}) {
50
+ const { eventBus, installTransport = true, ...otelConfig } = options;
51
+ const result = initializeOTel(otelConfig);
52
+ let unsubscribeBridge;
53
+ if (eventBus) {
54
+ unsubscribeBridge = bridgeEventBusToOTel(eventBus);
55
+ }
56
+ if (installTransport) {
57
+ setTelemetryTransport(createOTelTransport());
58
+ }
59
+ return {
60
+ tracing: result.tracing,
61
+ metrics: result.metrics,
62
+ shutdown: async () => {
63
+ unsubscribeBridge?.();
64
+ await shutdownOTel();
65
+ },
66
+ };
67
+ }
68
+ /**
69
+ * Convenience wrapper for Copilot agent-mode telemetry.
70
+ *
71
+ * Pre-configures `serviceName` to `'squad-copilot-agent'` and
72
+ * `mode` to `'copilot-agent'` so the two surfaces (CLI vs agent)
73
+ * are distinguishable in dashboards and trace queries.
74
+ *
75
+ * Call this at agent-mode startup; call `handle.shutdown()` on exit.
76
+ *
77
+ * @param options - Additional overrides (endpoint, eventBus, etc.).
78
+ */
79
+ export function initAgentModeTelemetry(options = {}) {
80
+ return initSquadTelemetry({
81
+ ...options,
82
+ serviceName: 'squad-copilot-agent',
83
+ mode: 'copilot-agent',
84
+ });
85
+ }
86
+ //# sourceMappingURL=otel-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-init.js","sourceRoot":"","sources":["../../src/runtime/otel-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAmCvD,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAiC,EAAE;IACpE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IAErE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE1C,IAAI,iBAA4C,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,iBAAiB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,qBAAqB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK,IAAI,EAAE;YACnB,iBAAiB,EAAE,EAAE,CAAC;YACtB,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA+D,EAAE;IACtG,OAAO,kBAAkB,CAAC;QACxB,GAAG,OAAO;QACV,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;AACL,CAAC"}