@qodo/sdk 0.13.4 → 2.0.0-next.1

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 (764) hide show
  1. package/LICENSE +31 -118
  2. package/README.md +133 -121
  3. package/bin/qodo-skills.mjs +13 -0
  4. package/bundled-skills/code-review/SKILL.md +41 -0
  5. package/bundled-skills/pr-summary/SKILL.md +59 -0
  6. package/bundled-skills/test-gen/SKILL.md +47 -0
  7. package/dist/auth/index.browser.d.ts +38 -0
  8. package/dist/auth/index.browser.d.ts.map +1 -0
  9. package/dist/auth/index.browser.js +62 -0
  10. package/dist/auth/index.browser.js.map +1 -0
  11. package/dist/auth/index.d.ts +44 -30
  12. package/dist/auth/index.d.ts.map +1 -1
  13. package/dist/auth/index.js +57 -110
  14. package/dist/auth/index.js.map +1 -1
  15. package/dist/client/AgentsClient.d.ts +33 -0
  16. package/dist/client/AgentsClient.d.ts.map +1 -0
  17. package/dist/client/AgentsClient.js +40 -0
  18. package/dist/client/AgentsClient.js.map +1 -0
  19. package/dist/client/ArtifactsClient.d.ts +43 -0
  20. package/dist/client/ArtifactsClient.d.ts.map +1 -0
  21. package/dist/client/ArtifactsClient.js +54 -0
  22. package/dist/client/ArtifactsClient.js.map +1 -0
  23. package/dist/client/BulletinClient.d.ts +45 -0
  24. package/dist/client/BulletinClient.d.ts.map +1 -0
  25. package/dist/client/BulletinClient.js +51 -0
  26. package/dist/client/BulletinClient.js.map +1 -0
  27. package/dist/client/InfoClient.d.ts +58 -0
  28. package/dist/client/InfoClient.d.ts.map +1 -0
  29. package/dist/client/InfoClient.js +135 -0
  30. package/dist/client/InfoClient.js.map +1 -0
  31. package/dist/client/PipelineClient.d.ts +162 -0
  32. package/dist/client/PipelineClient.d.ts.map +1 -0
  33. package/dist/client/PipelineClient.js +340 -0
  34. package/dist/client/PipelineClient.js.map +1 -0
  35. package/dist/client/QarRegistryClient.d.ts +396 -0
  36. package/dist/client/QarRegistryClient.d.ts.map +1 -0
  37. package/dist/client/QarRegistryClient.js +536 -0
  38. package/dist/client/QarRegistryClient.js.map +1 -0
  39. package/dist/client/QodoClient.d.ts +296 -0
  40. package/dist/client/QodoClient.d.ts.map +1 -0
  41. package/dist/client/QodoClient.js +803 -0
  42. package/dist/client/QodoClient.js.map +1 -0
  43. package/dist/client/SpecsClient.d.ts +121 -0
  44. package/dist/client/SpecsClient.d.ts.map +1 -0
  45. package/dist/client/SpecsClient.js +252 -0
  46. package/dist/client/SpecsClient.js.map +1 -0
  47. package/dist/client/StateClient.d.ts +35 -0
  48. package/dist/client/StateClient.d.ts.map +1 -0
  49. package/dist/client/StateClient.js +36 -0
  50. package/dist/client/StateClient.js.map +1 -0
  51. package/dist/client/TaskClient.d.ts +706 -0
  52. package/dist/client/TaskClient.d.ts.map +1 -0
  53. package/dist/client/TaskClient.js +2522 -0
  54. package/dist/client/TaskClient.js.map +1 -0
  55. package/dist/client/ToolClient.d.ts +278 -0
  56. package/dist/client/ToolClient.d.ts.map +1 -0
  57. package/dist/client/ToolClient.js +1139 -0
  58. package/dist/client/ToolClient.js.map +1 -0
  59. package/dist/client/a2a/index.d.ts +10 -0
  60. package/dist/client/a2a/index.d.ts.map +1 -0
  61. package/dist/client/a2a/index.js +9 -0
  62. package/dist/client/a2a/index.js.map +1 -0
  63. package/dist/client/a2a/registerA2A.d.ts +170 -0
  64. package/dist/client/a2a/registerA2A.d.ts.map +1 -0
  65. package/dist/client/a2a/registerA2A.js +85 -0
  66. package/dist/client/a2a/registerA2A.js.map +1 -0
  67. package/dist/client/connection.d.ts +893 -0
  68. package/dist/client/connection.d.ts.map +1 -0
  69. package/dist/client/connection.js +2189 -0
  70. package/dist/client/connection.js.map +1 -0
  71. package/dist/client/errors.d.ts +735 -0
  72. package/dist/client/errors.d.ts.map +1 -0
  73. package/dist/client/errors.js +921 -0
  74. package/dist/client/errors.js.map +1 -0
  75. package/dist/client/index.d.ts +26 -0
  76. package/dist/client/index.d.ts.map +1 -0
  77. package/dist/client/index.js +20 -0
  78. package/dist/client/index.js.map +1 -0
  79. package/dist/client/inlineGraph.d.ts +66 -0
  80. package/dist/client/inlineGraph.d.ts.map +1 -0
  81. package/dist/client/inlineGraph.js +500 -0
  82. package/dist/client/inlineGraph.js.map +1 -0
  83. package/dist/client/internal/thenable.d.ts +27 -0
  84. package/dist/client/internal/thenable.d.ts.map +1 -0
  85. package/dist/client/internal/thenable.js +31 -0
  86. package/dist/client/internal/thenable.js.map +1 -0
  87. package/dist/client/iterator.d.ts +32 -0
  88. package/dist/client/iterator.d.ts.map +1 -0
  89. package/dist/client/iterator.js +73 -0
  90. package/dist/client/iterator.js.map +1 -0
  91. package/dist/client/mcp/McpClientPool.browser.d.ts +76 -0
  92. package/dist/client/mcp/McpClientPool.browser.d.ts.map +1 -0
  93. package/dist/client/mcp/McpClientPool.browser.js +78 -0
  94. package/dist/client/mcp/McpClientPool.browser.js.map +1 -0
  95. package/dist/client/mcp/McpClientPool.d.ts +236 -0
  96. package/dist/client/mcp/McpClientPool.d.ts.map +1 -0
  97. package/dist/client/mcp/McpClientPool.js +585 -0
  98. package/dist/client/mcp/McpClientPool.js.map +1 -0
  99. package/dist/client/mcp/projection.d.ts +109 -0
  100. package/dist/client/mcp/projection.d.ts.map +1 -0
  101. package/dist/client/mcp/projection.js +446 -0
  102. package/dist/client/mcp/projection.js.map +1 -0
  103. package/dist/client/mcp/substituteEnv.browser.d.ts +18 -0
  104. package/dist/client/mcp/substituteEnv.browser.d.ts.map +1 -0
  105. package/dist/client/mcp/substituteEnv.browser.js +20 -0
  106. package/dist/client/mcp/substituteEnv.browser.js.map +1 -0
  107. package/dist/client/mcp/substituteEnv.d.ts +45 -0
  108. package/dist/client/mcp/substituteEnv.d.ts.map +1 -0
  109. package/dist/client/mcp/substituteEnv.js +63 -0
  110. package/dist/client/mcp/substituteEnv.js.map +1 -0
  111. package/dist/client/observers.d.ts +57 -0
  112. package/dist/client/observers.d.ts.map +1 -0
  113. package/dist/client/observers.js +203 -0
  114. package/dist/client/observers.js.map +1 -0
  115. package/dist/client/options.d.ts +269 -0
  116. package/dist/client/options.d.ts.map +1 -0
  117. package/dist/client/options.js +9 -0
  118. package/dist/client/options.js.map +1 -0
  119. package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts +17 -0
  120. package/dist/client/tools/_readlineApprovalPrompt.browser.d.ts.map +1 -0
  121. package/dist/client/tools/_readlineApprovalPrompt.browser.js +24 -0
  122. package/dist/client/tools/_readlineApprovalPrompt.browser.js.map +1 -0
  123. package/dist/client/tools/_readlineApprovalPrompt.d.ts +33 -0
  124. package/dist/client/tools/_readlineApprovalPrompt.d.ts.map +1 -0
  125. package/dist/client/tools/_readlineApprovalPrompt.js +90 -0
  126. package/dist/client/tools/_readlineApprovalPrompt.js.map +1 -0
  127. package/dist/client/tools/approval.d.ts +280 -0
  128. package/dist/client/tools/approval.d.ts.map +1 -0
  129. package/dist/client/tools/approval.js +229 -0
  130. package/dist/client/tools/approval.js.map +1 -0
  131. package/dist/client/tools/bindFunctionToolDefs.d.ts +156 -0
  132. package/dist/client/tools/bindFunctionToolDefs.d.ts.map +1 -0
  133. package/dist/client/tools/bindFunctionToolDefs.js +360 -0
  134. package/dist/client/tools/bindFunctionToolDefs.js.map +1 -0
  135. package/dist/client/tools/defineFunctionTool.d.ts +277 -0
  136. package/dist/client/tools/defineFunctionTool.d.ts.map +1 -0
  137. package/dist/client/tools/defineFunctionTool.js +190 -0
  138. package/dist/client/tools/defineFunctionTool.js.map +1 -0
  139. package/dist/client/transport.browser.d.ts +20 -0
  140. package/dist/client/transport.browser.d.ts.map +1 -0
  141. package/dist/client/transport.browser.js +29 -0
  142. package/dist/client/transport.browser.js.map +1 -0
  143. package/dist/client/transport.d.ts +47 -0
  144. package/dist/client/transport.d.ts.map +1 -0
  145. package/dist/client/transport.js +102 -0
  146. package/dist/client/transport.js.map +1 -0
  147. package/dist/client/transport.shared.d.ts +30 -0
  148. package/dist/client/transport.shared.d.ts.map +1 -0
  149. package/dist/client/transport.shared.js +40 -0
  150. package/dist/client/transport.shared.js.map +1 -0
  151. package/dist/client/uuid.d.ts +32 -0
  152. package/dist/client/uuid.d.ts.map +1 -0
  153. package/dist/client/uuid.js +65 -0
  154. package/dist/client/uuid.js.map +1 -0
  155. package/dist/index.d.ts +88 -39
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +166 -43
  158. package/dist/index.js.map +1 -1
  159. package/dist/observability/attributes.d.ts +136 -0
  160. package/dist/observability/attributes.d.ts.map +1 -0
  161. package/dist/observability/attributes.js +184 -0
  162. package/dist/observability/attributes.js.map +1 -0
  163. package/dist/observability/index.d.ts +14 -0
  164. package/dist/observability/index.d.ts.map +1 -0
  165. package/dist/observability/index.js +11 -0
  166. package/dist/observability/index.js.map +1 -0
  167. package/dist/observability/resolveOTel.browser.d.ts +13 -0
  168. package/dist/observability/resolveOTel.browser.d.ts.map +1 -0
  169. package/dist/observability/resolveOTel.browser.js +14 -0
  170. package/dist/observability/resolveOTel.browser.js.map +1 -0
  171. package/dist/observability/resolveOTel.d.ts +28 -0
  172. package/dist/observability/resolveOTel.d.ts.map +1 -0
  173. package/dist/observability/resolveOTel.js +74 -0
  174. package/dist/observability/resolveOTel.js.map +1 -0
  175. package/dist/observability/spans.d.ts +198 -0
  176. package/dist/observability/spans.d.ts.map +1 -0
  177. package/dist/observability/spans.js +300 -0
  178. package/dist/observability/spans.js.map +1 -0
  179. package/dist/observability/traceContext.d.ts +51 -0
  180. package/dist/observability/traceContext.d.ts.map +1 -0
  181. package/dist/observability/traceContext.js +151 -0
  182. package/dist/observability/traceContext.js.map +1 -0
  183. package/dist/observability/transportMetrics.d.ts +58 -0
  184. package/dist/observability/transportMetrics.d.ts.map +1 -0
  185. package/dist/observability/transportMetrics.js +55 -0
  186. package/dist/observability/transportMetrics.js.map +1 -0
  187. package/dist/qar/agentSpec.d.ts +93 -0
  188. package/dist/qar/agentSpec.d.ts.map +1 -0
  189. package/dist/qar/agentSpec.js +184 -0
  190. package/dist/qar/agentSpec.js.map +1 -0
  191. package/dist/qar/clientEvents.d.ts +86 -0
  192. package/dist/qar/clientEvents.d.ts.map +1 -0
  193. package/dist/qar/clientEvents.js +36 -0
  194. package/dist/qar/clientEvents.js.map +1 -0
  195. package/dist/qar/envelopes.d.ts +227 -0
  196. package/dist/qar/envelopes.d.ts.map +1 -0
  197. package/dist/qar/envelopes.js +67 -0
  198. package/dist/qar/envelopes.js.map +1 -0
  199. package/dist/qar/generated/envelope.d.ts +332 -0
  200. package/dist/qar/generated/envelope.d.ts.map +1 -0
  201. package/dist/qar/generated/envelope.js +15 -0
  202. package/dist/qar/generated/envelope.js.map +1 -0
  203. package/dist/qar/generated/qar-info.d.ts +76 -0
  204. package/dist/qar/generated/qar-info.d.ts.map +1 -0
  205. package/dist/qar/generated/qar-info.js +15 -0
  206. package/dist/qar/generated/qar-info.js.map +1 -0
  207. package/dist/qar/generated/qodo-task-start-payload.d.ts +54 -0
  208. package/dist/qar/generated/qodo-task-start-payload.d.ts.map +1 -0
  209. package/dist/qar/generated/qodo-task-start-payload.js +15 -0
  210. package/dist/qar/generated/qodo-task-start-payload.js.map +1 -0
  211. package/dist/qar/ids.d.ts +19 -0
  212. package/dist/qar/ids.d.ts.map +1 -0
  213. package/dist/qar/ids.js +11 -0
  214. package/dist/qar/ids.js.map +1 -0
  215. package/dist/qar/index.d.ts +24 -0
  216. package/dist/qar/index.d.ts.map +1 -0
  217. package/dist/qar/index.js +16 -0
  218. package/dist/qar/index.js.map +1 -0
  219. package/dist/qar/info.d.ts +37 -0
  220. package/dist/qar/info.d.ts.map +1 -0
  221. package/dist/qar/info.js +17 -0
  222. package/dist/qar/info.js.map +1 -0
  223. package/dist/qar/json.d.ts +14 -0
  224. package/dist/qar/json.d.ts.map +1 -0
  225. package/dist/qar/json.js +9 -0
  226. package/dist/qar/json.js.map +1 -0
  227. package/dist/qar/payloads.d.ts +480 -0
  228. package/dist/qar/payloads.d.ts.map +1 -0
  229. package/dist/qar/payloads.js +37 -0
  230. package/dist/qar/payloads.js.map +1 -0
  231. package/dist/qar/specs.d.ts +604 -0
  232. package/dist/qar/specs.d.ts.map +1 -0
  233. package/dist/qar/specs.js +29 -0
  234. package/dist/qar/specs.js.map +1 -0
  235. package/dist/qar/taskEvents.d.ts +25 -0
  236. package/dist/qar/taskEvents.d.ts.map +1 -0
  237. package/dist/qar/taskEvents.js +22 -0
  238. package/dist/qar/taskEvents.js.map +1 -0
  239. package/dist/qar/trace.d.ts +12 -0
  240. package/dist/qar/trace.d.ts.map +1 -0
  241. package/dist/qar/trace.js +12 -0
  242. package/dist/qar/trace.js.map +1 -0
  243. package/dist/skills/activation.d.ts +177 -0
  244. package/dist/skills/activation.d.ts.map +1 -0
  245. package/dist/skills/activation.js +428 -0
  246. package/dist/skills/activation.js.map +1 -0
  247. package/dist/skills/cli/index.browser.d.ts +18 -0
  248. package/dist/skills/cli/index.browser.d.ts.map +1 -0
  249. package/dist/skills/cli/index.browser.js +27 -0
  250. package/dist/skills/cli/index.browser.js.map +1 -0
  251. package/dist/skills/cli/index.d.ts +37 -0
  252. package/dist/skills/cli/index.d.ts.map +1 -0
  253. package/dist/skills/cli/index.js +494 -0
  254. package/dist/skills/cli/index.js.map +1 -0
  255. package/dist/skills/events.d.ts +255 -0
  256. package/dist/skills/events.d.ts.map +1 -0
  257. package/dist/skills/events.js +224 -0
  258. package/dist/skills/events.js.map +1 -0
  259. package/dist/skills/index.d.ts +45 -0
  260. package/dist/skills/index.d.ts.map +1 -0
  261. package/dist/skills/index.js +34 -0
  262. package/dist/skills/index.js.map +1 -0
  263. package/dist/skills/inject.d.ts +57 -0
  264. package/dist/skills/inject.d.ts.map +1 -0
  265. package/dist/skills/inject.js +162 -0
  266. package/dist/skills/inject.js.map +1 -0
  267. package/dist/skills/lockfile.browser.d.ts +56 -0
  268. package/dist/skills/lockfile.browser.d.ts.map +1 -0
  269. package/dist/skills/lockfile.browser.js +55 -0
  270. package/dist/skills/lockfile.browser.js.map +1 -0
  271. package/dist/skills/lockfile.d.ts +137 -0
  272. package/dist/skills/lockfile.d.ts.map +1 -0
  273. package/dist/skills/lockfile.js +423 -0
  274. package/dist/skills/lockfile.js.map +1 -0
  275. package/dist/skills/manager.browser.d.ts +94 -0
  276. package/dist/skills/manager.browser.d.ts.map +1 -0
  277. package/dist/skills/manager.browser.js +159 -0
  278. package/dist/skills/manager.browser.js.map +1 -0
  279. package/dist/skills/manager.d.ts +362 -0
  280. package/dist/skills/manager.d.ts.map +1 -0
  281. package/dist/skills/manager.js +1386 -0
  282. package/dist/skills/manager.js.map +1 -0
  283. package/dist/skills/mcp/index.d.ts +15 -0
  284. package/dist/skills/mcp/index.d.ts.map +1 -0
  285. package/dist/skills/mcp/index.js +12 -0
  286. package/dist/skills/mcp/index.js.map +1 -0
  287. package/dist/skills/mcp/path.browser.d.ts +27 -0
  288. package/dist/skills/mcp/path.browser.d.ts.map +1 -0
  289. package/dist/skills/mcp/path.browser.js +33 -0
  290. package/dist/skills/mcp/path.browser.js.map +1 -0
  291. package/dist/skills/mcp/path.d.ts +57 -0
  292. package/dist/skills/mcp/path.d.ts.map +1 -0
  293. package/dist/skills/mcp/path.js +150 -0
  294. package/dist/skills/mcp/path.js.map +1 -0
  295. package/dist/skills/mcp/server.browser.d.ts +32 -0
  296. package/dist/skills/mcp/server.browser.d.ts.map +1 -0
  297. package/dist/skills/mcp/server.browser.js +53 -0
  298. package/dist/skills/mcp/server.browser.js.map +1 -0
  299. package/dist/skills/mcp/server.d.ts +144 -0
  300. package/dist/skills/mcp/server.d.ts.map +1 -0
  301. package/dist/skills/mcp/server.js +841 -0
  302. package/dist/skills/mcp/server.js.map +1 -0
  303. package/dist/skills/mcp/types.d.ts +72 -0
  304. package/dist/skills/mcp/types.d.ts.map +1 -0
  305. package/dist/skills/mcp/types.js +20 -0
  306. package/dist/skills/mcp/types.js.map +1 -0
  307. package/dist/skills/mcp/wireDefs.d.ts +58 -0
  308. package/dist/skills/mcp/wireDefs.d.ts.map +1 -0
  309. package/dist/skills/mcp/wireDefs.js +141 -0
  310. package/dist/skills/mcp/wireDefs.js.map +1 -0
  311. package/dist/skills/parser.d.ts +63 -0
  312. package/dist/skills/parser.d.ts.map +1 -0
  313. package/dist/skills/parser.js +755 -0
  314. package/dist/skills/parser.js.map +1 -0
  315. package/dist/skills/prefilter.d.ts +104 -0
  316. package/dist/skills/prefilter.d.ts.map +1 -0
  317. package/dist/skills/prefilter.js +398 -0
  318. package/dist/skills/prefilter.js.map +1 -0
  319. package/dist/skills/preprocess.d.ts +169 -0
  320. package/dist/skills/preprocess.d.ts.map +1 -0
  321. package/dist/skills/preprocess.js +535 -0
  322. package/dist/skills/preprocess.js.map +1 -0
  323. package/dist/skills/render.d.ts +83 -0
  324. package/dist/skills/render.d.ts.map +1 -0
  325. package/dist/skills/render.js +397 -0
  326. package/dist/skills/render.js.map +1 -0
  327. package/dist/skills/sources/index.browser.d.ts +29 -0
  328. package/dist/skills/sources/index.browser.d.ts.map +1 -0
  329. package/dist/skills/sources/index.browser.js +16 -0
  330. package/dist/skills/sources/index.browser.js.map +1 -0
  331. package/dist/skills/sources/index.d.ts +59 -0
  332. package/dist/skills/sources/index.d.ts.map +1 -0
  333. package/dist/skills/sources/index.js +471 -0
  334. package/dist/skills/sources/index.js.map +1 -0
  335. package/dist/skills/sources/walk.browser.d.ts +17 -0
  336. package/dist/skills/sources/walk.browser.d.ts.map +1 -0
  337. package/dist/skills/sources/walk.browser.js +19 -0
  338. package/dist/skills/sources/walk.browser.js.map +1 -0
  339. package/dist/skills/sources/walk.d.ts +68 -0
  340. package/dist/skills/sources/walk.d.ts.map +1 -0
  341. package/dist/skills/sources/walk.js +264 -0
  342. package/dist/skills/sources/walk.js.map +1 -0
  343. package/dist/skills/substitute.d.ts +87 -0
  344. package/dist/skills/substitute.d.ts.map +1 -0
  345. package/dist/skills/substitute.js +322 -0
  346. package/dist/skills/substitute.js.map +1 -0
  347. package/dist/skills/testing/SkillKit.browser.d.ts +62 -0
  348. package/dist/skills/testing/SkillKit.browser.d.ts.map +1 -0
  349. package/dist/skills/testing/SkillKit.browser.js +41 -0
  350. package/dist/skills/testing/SkillKit.browser.js.map +1 -0
  351. package/dist/skills/testing/SkillKit.d.ts +130 -0
  352. package/dist/skills/testing/SkillKit.d.ts.map +1 -0
  353. package/dist/skills/testing/SkillKit.js +316 -0
  354. package/dist/skills/testing/SkillKit.js.map +1 -0
  355. package/dist/skills/testing/index.d.ts +9 -0
  356. package/dist/skills/testing/index.d.ts.map +1 -0
  357. package/dist/skills/testing/index.js +8 -0
  358. package/dist/skills/testing/index.js.map +1 -0
  359. package/dist/skills/trust.d.ts +72 -0
  360. package/dist/skills/trust.d.ts.map +1 -0
  361. package/dist/skills/trust.js +183 -0
  362. package/dist/skills/trust.js.map +1 -0
  363. package/dist/skills/types.d.ts +627 -0
  364. package/dist/skills/types.d.ts.map +1 -0
  365. package/dist/skills/types.js +85 -0
  366. package/dist/skills/types.js.map +1 -0
  367. package/dist/skills/validator.d.ts +95 -0
  368. package/dist/skills/validator.d.ts.map +1 -0
  369. package/dist/skills/validator.js +486 -0
  370. package/dist/skills/validator.js.map +1 -0
  371. package/dist/tracing/PipelineTracer.d.ts +35 -22
  372. package/dist/tracing/PipelineTracer.d.ts.map +1 -1
  373. package/dist/tracing/PipelineTracer.js +106 -61
  374. package/dist/tracing/PipelineTracer.js.map +1 -1
  375. package/dist/tracing/SdkTracer.d.ts +63 -61
  376. package/dist/tracing/SdkTracer.d.ts.map +1 -1
  377. package/dist/tracing/SdkTracer.js +185 -177
  378. package/dist/tracing/SdkTracer.js.map +1 -1
  379. package/dist/tracing/index.d.ts +10 -1
  380. package/dist/tracing/index.d.ts.map +1 -1
  381. package/dist/tracing/index.js +9 -0
  382. package/dist/tracing/index.js.map +1 -1
  383. package/dist/tracing/types.d.ts +89 -16
  384. package/dist/tracing/types.d.ts.map +1 -1
  385. package/dist/tracing/types.js +17 -4
  386. package/dist/tracing/types.js.map +1 -1
  387. package/dist/types.d.ts +6 -1
  388. package/dist/types.d.ts.map +1 -1
  389. package/dist/types.js +4 -0
  390. package/dist/types.js.map +1 -1
  391. package/dist/version.d.ts.map +1 -1
  392. package/dist/version.js +10 -20
  393. package/dist/version.js.map +1 -1
  394. package/package.json +53 -39
  395. package/.claude/skills/qodo-agent/SKILL.md +0 -974
  396. package/.claude/skills/qodo-agent/assets/programmatic-agent.ts +0 -407
  397. package/.claude/skills/qodo-agent/references/builtin-tools.md +0 -342
  398. package/.claude/skills/qodo-agent/references/common-issues.md +0 -537
  399. package/bin/rg +0 -0
  400. package/dist/api/agent.d.ts +0 -105
  401. package/dist/api/agent.d.ts.map +0 -1
  402. package/dist/api/agent.js +0 -963
  403. package/dist/api/agent.js.map +0 -1
  404. package/dist/api/analytics.d.ts +0 -43
  405. package/dist/api/analytics.d.ts.map +0 -1
  406. package/dist/api/analytics.js +0 -163
  407. package/dist/api/analytics.js.map +0 -1
  408. package/dist/api/http.d.ts +0 -5
  409. package/dist/api/http.d.ts.map +0 -1
  410. package/dist/api/http.js +0 -62
  411. package/dist/api/http.js.map +0 -1
  412. package/dist/api/index.d.ts +0 -12
  413. package/dist/api/index.d.ts.map +0 -1
  414. package/dist/api/index.js +0 -17
  415. package/dist/api/index.js.map +0 -1
  416. package/dist/api/taskTracking.d.ts +0 -54
  417. package/dist/api/taskTracking.d.ts.map +0 -1
  418. package/dist/api/taskTracking.js +0 -208
  419. package/dist/api/taskTracking.js.map +0 -1
  420. package/dist/api/types.d.ts +0 -93
  421. package/dist/api/types.d.ts.map +0 -1
  422. package/dist/api/types.js +0 -2
  423. package/dist/api/types.js.map +0 -1
  424. package/dist/api/utils.d.ts +0 -8
  425. package/dist/api/utils.d.ts.map +0 -1
  426. package/dist/api/utils.js +0 -63
  427. package/dist/api/utils.js.map +0 -1
  428. package/dist/api/websocket.d.ts +0 -203
  429. package/dist/api/websocket.d.ts.map +0 -1
  430. package/dist/api/websocket.js +0 -1166
  431. package/dist/api/websocket.js.map +0 -1
  432. package/dist/bin/install-skill.d.ts +0 -14
  433. package/dist/bin/install-skill.d.ts.map +0 -1
  434. package/dist/bin/install-skill.js +0 -125
  435. package/dist/bin/install-skill.js.map +0 -1
  436. package/dist/bin/run-helpers.d.ts +0 -34
  437. package/dist/bin/run-helpers.d.ts.map +0 -1
  438. package/dist/bin/run-helpers.js +0 -186
  439. package/dist/bin/run-helpers.js.map +0 -1
  440. package/dist/bin/run.d.ts +0 -13
  441. package/dist/bin/run.d.ts.map +0 -1
  442. package/dist/bin/run.js +0 -57
  443. package/dist/bin/run.js.map +0 -1
  444. package/dist/clients/index.d.ts +0 -10
  445. package/dist/clients/index.d.ts.map +0 -1
  446. package/dist/clients/index.js +0 -8
  447. package/dist/clients/index.js.map +0 -1
  448. package/dist/clients/info/InfoClient.d.ts +0 -37
  449. package/dist/clients/info/InfoClient.d.ts.map +0 -1
  450. package/dist/clients/info/InfoClient.js +0 -69
  451. package/dist/clients/info/InfoClient.js.map +0 -1
  452. package/dist/clients/info/index.d.ts +0 -4
  453. package/dist/clients/info/index.d.ts.map +0 -1
  454. package/dist/clients/info/index.js +0 -2
  455. package/dist/clients/info/index.js.map +0 -1
  456. package/dist/clients/info/types.d.ts +0 -21
  457. package/dist/clients/info/types.d.ts.map +0 -1
  458. package/dist/clients/info/types.js +0 -2
  459. package/dist/clients/info/types.js.map +0 -1
  460. package/dist/clients/sessions/SessionsClient.d.ts +0 -34
  461. package/dist/clients/sessions/SessionsClient.d.ts.map +0 -1
  462. package/dist/clients/sessions/SessionsClient.js +0 -71
  463. package/dist/clients/sessions/SessionsClient.js.map +0 -1
  464. package/dist/clients/sessions/index.d.ts +0 -4
  465. package/dist/clients/sessions/index.d.ts.map +0 -1
  466. package/dist/clients/sessions/index.js +0 -2
  467. package/dist/clients/sessions/index.js.map +0 -1
  468. package/dist/clients/sessions/types.d.ts +0 -20
  469. package/dist/clients/sessions/types.d.ts.map +0 -1
  470. package/dist/clients/sessions/types.js +0 -2
  471. package/dist/clients/sessions/types.js.map +0 -1
  472. package/dist/clients/tools/ToolsClient.d.ts +0 -39
  473. package/dist/clients/tools/ToolsClient.d.ts.map +0 -1
  474. package/dist/clients/tools/ToolsClient.js +0 -95
  475. package/dist/clients/tools/ToolsClient.js.map +0 -1
  476. package/dist/clients/tools/index.d.ts +0 -4
  477. package/dist/clients/tools/index.d.ts.map +0 -1
  478. package/dist/clients/tools/index.js +0 -2
  479. package/dist/clients/tools/index.js.map +0 -1
  480. package/dist/clients/tools/types.d.ts +0 -14
  481. package/dist/clients/tools/types.d.ts.map +0 -1
  482. package/dist/clients/tools/types.js +0 -2
  483. package/dist/clients/tools/types.js.map +0 -1
  484. package/dist/config/ConfigManager.d.ts +0 -43
  485. package/dist/config/ConfigManager.d.ts.map +0 -1
  486. package/dist/config/ConfigManager.js +0 -472
  487. package/dist/config/ConfigManager.js.map +0 -1
  488. package/dist/config/index.d.ts +0 -6
  489. package/dist/config/index.d.ts.map +0 -1
  490. package/dist/config/index.js +0 -7
  491. package/dist/config/index.js.map +0 -1
  492. package/dist/config/urlConfig.d.ts +0 -15
  493. package/dist/config/urlConfig.d.ts.map +0 -1
  494. package/dist/config/urlConfig.js +0 -75
  495. package/dist/config/urlConfig.js.map +0 -1
  496. package/dist/constants/errors.d.ts +0 -2
  497. package/dist/constants/errors.d.ts.map +0 -1
  498. package/dist/constants/errors.js +0 -2
  499. package/dist/constants/errors.js.map +0 -1
  500. package/dist/constants/index.d.ts +0 -7
  501. package/dist/constants/index.d.ts.map +0 -1
  502. package/dist/constants/index.js +0 -11
  503. package/dist/constants/index.js.map +0 -1
  504. package/dist/constants/tools.d.ts +0 -4
  505. package/dist/constants/tools.d.ts.map +0 -1
  506. package/dist/constants/tools.js +0 -4
  507. package/dist/constants/tools.js.map +0 -1
  508. package/dist/constants/versions.d.ts +0 -2
  509. package/dist/constants/versions.d.ts.map +0 -1
  510. package/dist/constants/versions.js +0 -2
  511. package/dist/constants/versions.js.map +0 -1
  512. package/dist/context/buildUserContext.d.ts +0 -18
  513. package/dist/context/buildUserContext.d.ts.map +0 -1
  514. package/dist/context/buildUserContext.js +0 -34
  515. package/dist/context/buildUserContext.js.map +0 -1
  516. package/dist/context/index.d.ts +0 -9
  517. package/dist/context/index.d.ts.map +0 -1
  518. package/dist/context/index.js +0 -9
  519. package/dist/context/index.js.map +0 -1
  520. package/dist/context/messageManager.d.ts +0 -42
  521. package/dist/context/messageManager.d.ts.map +0 -1
  522. package/dist/context/messageManager.js +0 -322
  523. package/dist/context/messageManager.js.map +0 -1
  524. package/dist/context/taskFocus.d.ts +0 -2
  525. package/dist/context/taskFocus.d.ts.map +0 -1
  526. package/dist/context/taskFocus.js +0 -26
  527. package/dist/context/taskFocus.js.map +0 -1
  528. package/dist/context/userInput.d.ts +0 -3
  529. package/dist/context/userInput.d.ts.map +0 -1
  530. package/dist/context/userInput.js +0 -20
  531. package/dist/context/userInput.js.map +0 -1
  532. package/dist/mcp/MCPManager.d.ts +0 -109
  533. package/dist/mcp/MCPManager.d.ts.map +0 -1
  534. package/dist/mcp/MCPManager.js +0 -592
  535. package/dist/mcp/MCPManager.js.map +0 -1
  536. package/dist/mcp/approvedTools.d.ts +0 -4
  537. package/dist/mcp/approvedTools.d.ts.map +0 -1
  538. package/dist/mcp/approvedTools.js +0 -19
  539. package/dist/mcp/approvedTools.js.map +0 -1
  540. package/dist/mcp/baseServer.d.ts +0 -75
  541. package/dist/mcp/baseServer.d.ts.map +0 -1
  542. package/dist/mcp/baseServer.js +0 -107
  543. package/dist/mcp/baseServer.js.map +0 -1
  544. package/dist/mcp/builtinServers.d.ts +0 -15
  545. package/dist/mcp/builtinServers.d.ts.map +0 -1
  546. package/dist/mcp/builtinServers.js +0 -141
  547. package/dist/mcp/builtinServers.js.map +0 -1
  548. package/dist/mcp/dynamicBEServer.d.ts +0 -20
  549. package/dist/mcp/dynamicBEServer.d.ts.map +0 -1
  550. package/dist/mcp/dynamicBEServer.js +0 -52
  551. package/dist/mcp/dynamicBEServer.js.map +0 -1
  552. package/dist/mcp/index.d.ts +0 -18
  553. package/dist/mcp/index.d.ts.map +0 -1
  554. package/dist/mcp/index.js +0 -23
  555. package/dist/mcp/index.js.map +0 -1
  556. package/dist/mcp/mcpInitialization.d.ts +0 -2
  557. package/dist/mcp/mcpInitialization.d.ts.map +0 -1
  558. package/dist/mcp/mcpInitialization.js +0 -56
  559. package/dist/mcp/mcpInitialization.js.map +0 -1
  560. package/dist/mcp/servers/filesystem.d.ts +0 -44
  561. package/dist/mcp/servers/filesystem.d.ts.map +0 -1
  562. package/dist/mcp/servers/filesystem.js +0 -776
  563. package/dist/mcp/servers/filesystem.js.map +0 -1
  564. package/dist/mcp/servers/git.d.ts +0 -18
  565. package/dist/mcp/servers/git.d.ts.map +0 -1
  566. package/dist/mcp/servers/git.js +0 -441
  567. package/dist/mcp/servers/git.js.map +0 -1
  568. package/dist/mcp/servers/ripgrep.d.ts +0 -39
  569. package/dist/mcp/servers/ripgrep.d.ts.map +0 -1
  570. package/dist/mcp/servers/ripgrep.js +0 -550
  571. package/dist/mcp/servers/ripgrep.js.map +0 -1
  572. package/dist/mcp/servers/shell.d.ts +0 -20
  573. package/dist/mcp/servers/shell.d.ts.map +0 -1
  574. package/dist/mcp/servers/shell.js +0 -519
  575. package/dist/mcp/servers/shell.js.map +0 -1
  576. package/dist/mcp/serversRegistry.d.ts +0 -55
  577. package/dist/mcp/serversRegistry.d.ts.map +0 -1
  578. package/dist/mcp/serversRegistry.js +0 -416
  579. package/dist/mcp/serversRegistry.js.map +0 -1
  580. package/dist/mcp/toolProcessor.d.ts +0 -82
  581. package/dist/mcp/toolProcessor.d.ts.map +0 -1
  582. package/dist/mcp/toolProcessor.js +0 -392
  583. package/dist/mcp/toolProcessor.js.map +0 -1
  584. package/dist/mcp/types.d.ts +0 -29
  585. package/dist/mcp/types.d.ts.map +0 -1
  586. package/dist/mcp/types.js +0 -2
  587. package/dist/mcp/types.js.map +0 -1
  588. package/dist/messages/index.d.ts +0 -8
  589. package/dist/messages/index.d.ts.map +0 -1
  590. package/dist/messages/index.js +0 -7
  591. package/dist/messages/index.js.map +0 -1
  592. package/dist/messages/openai.d.ts +0 -26
  593. package/dist/messages/openai.d.ts.map +0 -1
  594. package/dist/messages/openai.js +0 -55
  595. package/dist/messages/openai.js.map +0 -1
  596. package/dist/messages/types.d.ts +0 -73
  597. package/dist/messages/types.d.ts.map +0 -1
  598. package/dist/messages/types.js +0 -78
  599. package/dist/messages/types.js.map +0 -1
  600. package/dist/parser/index.d.ts +0 -72
  601. package/dist/parser/index.d.ts.map +0 -1
  602. package/dist/parser/index.js +0 -967
  603. package/dist/parser/index.js.map +0 -1
  604. package/dist/parser/types.d.ts +0 -153
  605. package/dist/parser/types.d.ts.map +0 -1
  606. package/dist/parser/types.js +0 -6
  607. package/dist/parser/types.js.map +0 -1
  608. package/dist/parser/utils.d.ts +0 -18
  609. package/dist/parser/utils.d.ts.map +0 -1
  610. package/dist/parser/utils.js +0 -64
  611. package/dist/parser/utils.js.map +0 -1
  612. package/dist/sdk/QodoSDK.d.ts +0 -218
  613. package/dist/sdk/QodoSDK.d.ts.map +0 -1
  614. package/dist/sdk/QodoSDK.js +0 -1115
  615. package/dist/sdk/QodoSDK.js.map +0 -1
  616. package/dist/sdk/artifacts.d.ts +0 -156
  617. package/dist/sdk/artifacts.d.ts.map +0 -1
  618. package/dist/sdk/artifacts.js +0 -166
  619. package/dist/sdk/artifacts.js.map +0 -1
  620. package/dist/sdk/bootstrap.d.ts +0 -16
  621. package/dist/sdk/bootstrap.d.ts.map +0 -1
  622. package/dist/sdk/bootstrap.js +0 -28
  623. package/dist/sdk/bootstrap.js.map +0 -1
  624. package/dist/sdk/builders.d.ts +0 -54
  625. package/dist/sdk/builders.d.ts.map +0 -1
  626. package/dist/sdk/builders.js +0 -117
  627. package/dist/sdk/builders.js.map +0 -1
  628. package/dist/sdk/defaults.d.ts +0 -11
  629. package/dist/sdk/defaults.d.ts.map +0 -1
  630. package/dist/sdk/defaults.js +0 -39
  631. package/dist/sdk/defaults.js.map +0 -1
  632. package/dist/sdk/discovery.d.ts +0 -2
  633. package/dist/sdk/discovery.d.ts.map +0 -1
  634. package/dist/sdk/discovery.js +0 -25
  635. package/dist/sdk/discovery.js.map +0 -1
  636. package/dist/sdk/events.d.ts +0 -269
  637. package/dist/sdk/events.d.ts.map +0 -1
  638. package/dist/sdk/events.js +0 -69
  639. package/dist/sdk/events.js.map +0 -1
  640. package/dist/sdk/exit-expression.d.ts +0 -13
  641. package/dist/sdk/exit-expression.d.ts.map +0 -1
  642. package/dist/sdk/exit-expression.js +0 -35
  643. package/dist/sdk/exit-expression.js.map +0 -1
  644. package/dist/sdk/index.d.ts +0 -17
  645. package/dist/sdk/index.d.ts.map +0 -1
  646. package/dist/sdk/index.js +0 -17
  647. package/dist/sdk/index.js.map +0 -1
  648. package/dist/sdk/middleware.d.ts +0 -59
  649. package/dist/sdk/middleware.d.ts.map +0 -1
  650. package/dist/sdk/middleware.js +0 -69
  651. package/dist/sdk/middleware.js.map +0 -1
  652. package/dist/sdk/pipeline/PipelineBuilder.d.ts +0 -79
  653. package/dist/sdk/pipeline/PipelineBuilder.d.ts.map +0 -1
  654. package/dist/sdk/pipeline/PipelineBuilder.js +0 -129
  655. package/dist/sdk/pipeline/PipelineBuilder.js.map +0 -1
  656. package/dist/sdk/pipeline/PipelineRunner.d.ts +0 -28
  657. package/dist/sdk/pipeline/PipelineRunner.d.ts.map +0 -1
  658. package/dist/sdk/pipeline/PipelineRunner.js +0 -326
  659. package/dist/sdk/pipeline/PipelineRunner.js.map +0 -1
  660. package/dist/sdk/pipeline/compiler.d.ts +0 -24
  661. package/dist/sdk/pipeline/compiler.d.ts.map +0 -1
  662. package/dist/sdk/pipeline/compiler.js +0 -199
  663. package/dist/sdk/pipeline/compiler.js.map +0 -1
  664. package/dist/sdk/pipeline/declarative.d.ts +0 -34
  665. package/dist/sdk/pipeline/declarative.d.ts.map +0 -1
  666. package/dist/sdk/pipeline/declarative.js +0 -9
  667. package/dist/sdk/pipeline/declarative.js.map +0 -1
  668. package/dist/sdk/pipeline/index.d.ts +0 -20
  669. package/dist/sdk/pipeline/index.d.ts.map +0 -1
  670. package/dist/sdk/pipeline/index.js +0 -19
  671. package/dist/sdk/pipeline/index.js.map +0 -1
  672. package/dist/sdk/pipeline/types.d.ts +0 -93
  673. package/dist/sdk/pipeline/types.d.ts.map +0 -1
  674. package/dist/sdk/pipeline/types.js +0 -10
  675. package/dist/sdk/pipeline/types.js.map +0 -1
  676. package/dist/sdk/policies.d.ts +0 -163
  677. package/dist/sdk/policies.d.ts.map +0 -1
  678. package/dist/sdk/policies.js +0 -243
  679. package/dist/sdk/policies.js.map +0 -1
  680. package/dist/sdk/runner/AgentRunner.d.ts +0 -22
  681. package/dist/sdk/runner/AgentRunner.d.ts.map +0 -1
  682. package/dist/sdk/runner/AgentRunner.js +0 -222
  683. package/dist/sdk/runner/AgentRunner.js.map +0 -1
  684. package/dist/sdk/runner/finalize.d.ts +0 -56
  685. package/dist/sdk/runner/finalize.d.ts.map +0 -1
  686. package/dist/sdk/runner/finalize.js +0 -155
  687. package/dist/sdk/runner/finalize.js.map +0 -1
  688. package/dist/sdk/runner/formats.d.ts +0 -7
  689. package/dist/sdk/runner/formats.d.ts.map +0 -1
  690. package/dist/sdk/runner/formats.js +0 -76
  691. package/dist/sdk/runner/formats.js.map +0 -1
  692. package/dist/sdk/runner/index.d.ts +0 -9
  693. package/dist/sdk/runner/index.d.ts.map +0 -1
  694. package/dist/sdk/runner/index.js +0 -9
  695. package/dist/sdk/runner/index.js.map +0 -1
  696. package/dist/sdk/runner/progress.d.ts +0 -3
  697. package/dist/sdk/runner/progress.d.ts.map +0 -1
  698. package/dist/sdk/runner/progress.js +0 -16
  699. package/dist/sdk/runner/progress.js.map +0 -1
  700. package/dist/sdk/schemas.d.ts +0 -72
  701. package/dist/sdk/schemas.d.ts.map +0 -1
  702. package/dist/sdk/schemas.js +0 -282
  703. package/dist/sdk/schemas.js.map +0 -1
  704. package/dist/sdk/trigger-context.d.ts +0 -24
  705. package/dist/sdk/trigger-context.d.ts.map +0 -1
  706. package/dist/sdk/trigger-context.js +0 -136
  707. package/dist/sdk/trigger-context.js.map +0 -1
  708. package/dist/session/SessionContext.d.ts +0 -89
  709. package/dist/session/SessionContext.d.ts.map +0 -1
  710. package/dist/session/SessionContext.js +0 -410
  711. package/dist/session/SessionContext.js.map +0 -1
  712. package/dist/session/environment.d.ts +0 -52
  713. package/dist/session/environment.d.ts.map +0 -1
  714. package/dist/session/environment.js +0 -27
  715. package/dist/session/environment.js.map +0 -1
  716. package/dist/session/history.d.ts +0 -18
  717. package/dist/session/history.d.ts.map +0 -1
  718. package/dist/session/history.js +0 -68
  719. package/dist/session/history.js.map +0 -1
  720. package/dist/session/index.d.ts +0 -10
  721. package/dist/session/index.d.ts.map +0 -1
  722. package/dist/session/index.js +0 -9
  723. package/dist/session/index.js.map +0 -1
  724. package/dist/session/serverData.d.ts +0 -38
  725. package/dist/session/serverData.d.ts.map +0 -1
  726. package/dist/session/serverData.js +0 -261
  727. package/dist/session/serverData.js.map +0 -1
  728. package/dist/tracing/pipelineHelpers.d.ts +0 -29
  729. package/dist/tracing/pipelineHelpers.d.ts.map +0 -1
  730. package/dist/tracing/pipelineHelpers.js +0 -224
  731. package/dist/tracing/pipelineHelpers.js.map +0 -1
  732. package/dist/tracking/Tracker.d.ts +0 -55
  733. package/dist/tracking/Tracker.d.ts.map +0 -1
  734. package/dist/tracking/Tracker.js +0 -217
  735. package/dist/tracking/Tracker.js.map +0 -1
  736. package/dist/tracking/index.d.ts +0 -8
  737. package/dist/tracking/index.d.ts.map +0 -1
  738. package/dist/tracking/index.js +0 -8
  739. package/dist/tracking/index.js.map +0 -1
  740. package/dist/tracking/schemas.d.ts +0 -292
  741. package/dist/tracking/schemas.d.ts.map +0 -1
  742. package/dist/tracking/schemas.js +0 -91
  743. package/dist/tracking/schemas.js.map +0 -1
  744. package/dist/utils/extractSetFlags.d.ts +0 -6
  745. package/dist/utils/extractSetFlags.d.ts.map +0 -1
  746. package/dist/utils/extractSetFlags.js +0 -16
  747. package/dist/utils/extractSetFlags.js.map +0 -1
  748. package/dist/utils/formatTimeAgo.d.ts +0 -2
  749. package/dist/utils/formatTimeAgo.d.ts.map +0 -1
  750. package/dist/utils/formatTimeAgo.js +0 -20
  751. package/dist/utils/formatTimeAgo.js.map +0 -1
  752. package/dist/utils/index.d.ts +0 -12
  753. package/dist/utils/index.d.ts.map +0 -1
  754. package/dist/utils/index.js +0 -12
  755. package/dist/utils/index.js.map +0 -1
  756. package/dist/utils/machineId.d.ts +0 -14
  757. package/dist/utils/machineId.d.ts.map +0 -1
  758. package/dist/utils/machineId.js +0 -66
  759. package/dist/utils/machineId.js.map +0 -1
  760. package/dist/utils/pathUtils.d.ts +0 -22
  761. package/dist/utils/pathUtils.d.ts.map +0 -1
  762. package/dist/utils/pathUtils.js +0 -54
  763. package/dist/utils/pathUtils.js.map +0 -1
  764. package/scripts/download-ripgrep.js +0 -269
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QodoClient.js","sourceRoot":"","sources":["../../src/client/QodoClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * `SpecsClient` — backed by `POST /v1/specs/validate` on QAR.
3
+ *
4
+ * Stateless pre-flight: validates an inline `AgentSpec` or `GraphSpec`
5
+ * against the same wire-validation rules `task.start` runs, but without
6
+ * dispatching anything. Useful for:
7
+ *
8
+ * - **CI gates** — consumer repos run `client.specs.validate(spec)` in a
9
+ * PR check; failure on any spec rule blocks merge.
10
+ * - **Studio live-edit** — every keystroke in the visual editor calls
11
+ * validate; instant feedback while the user authors.
12
+ * - **SDK pre-flight** — a developer iterating on an inline spec in a
13
+ * notebook validates before calling `tasks.start`.
14
+ *
15
+ * Bearer auth is *forwarded if available* but not required by the endpoint.
16
+ * Validation is a pure function over the spec shape — no PII, no tenant
17
+ * resolution. A bearer is included only so Qodo Cloud can attribute the call
18
+ * for audit purposes when one is configured.
19
+ *
20
+ * Per-rule failures (`{ valid: false, errors: [{ rule_id, path, message }] }`)
21
+ * are *not* exceptions — they're the normal happy-path return. Only
22
+ * pre-wire issues (missing `kind`, unreachable host, non-2xx HTTP) throw.
23
+ */
24
+ import type { InlineAgentSpec, InlineGraphSpec, SpecValidateResult } from '../qar/specs.js';
25
+ export declare class SpecsClient {
26
+ private readonly baseUrl;
27
+ private readonly allowInsecureTransport;
28
+ private readonly authProvider;
29
+ private readonly extraHeaders;
30
+ private readonly fetchImpl;
31
+ private cachedHttpBase;
32
+ /**
33
+ * Memoized bearer resolution. Three states:
34
+ * - `undefined` — never resolved yet.
35
+ * - `string` — bearer was found and is reused on subsequent calls.
36
+ * - `null` — confirmed "no bearer configured"; we won't probe again.
37
+ *
38
+ * `AuthProvider.validate()` does synchronous filesystem work and throws
39
+ * `QodoAuthError` when no key exists anywhere. In high-frequency scenarios
40
+ * (CI gating many specs, Studio live-edit per keystroke) re-running that on
41
+ * every call would burn syscalls and throw/catch loops. Cache the answer.
42
+ */
43
+ private cachedBearer;
44
+ /**
45
+ * Validate an `AgentSpec` or `GraphSpec` against QAR's wire-validation
46
+ * rules without dispatching a task.
47
+ *
48
+ * Returns the typed `SpecValidateResult` envelope:
49
+ * - `{ valid: true }` — the spec passed every rule.
50
+ * - `{ valid: false, errors: [...] }` — the spec failed one or more
51
+ * rules; each entry is `{ rule_id, path, message }` where `rule_id` is
52
+ * a `D10-R*` (AgentSpec) or `D11-R*` (GraphSpec) tag and `path` is a
53
+ * JSON Pointer (RFC 6901) into the spec (`""` for the root).
54
+ *
55
+ * Throws:
56
+ * - `QodoSpecValidationError` — the supplied object is missing a known
57
+ * `kind` discriminator, so it's not a well-formed spec at all. (Per-rule
58
+ * failures are *not* exceptions — they come back as `valid: false`.)
59
+ * - `QodoAuthError` — only when a bearer was provided and the server
60
+ * rejected it (401/403). When no bearer is configured the endpoint is
61
+ * anonymous, so 401/403 surfaces as a plain `Error` instead.
62
+ * - plain `Error` — any other non-2xx response, with the body included.
63
+ */
64
+ validate(spec: InlineAgentSpec | InlineGraphSpec): Promise<SpecValidateResult>;
65
+ /**
66
+ * Try to resolve a bearer without throwing if none is configured.
67
+ *
68
+ * `AuthProvider.validate()` throws `QodoAuthError` when no key is found
69
+ * anywhere — that's the right call for `tasks.start` (auth required) but
70
+ * the wrong one here (validate is anonymous-friendly). We swallow that
71
+ * specific error and treat it as "no bearer" so the call proceeds without
72
+ * an `Authorization` header. Any other thrown shape (filesystem error
73
+ * inside `validate`, etc.) propagates so we don't mask real bugs.
74
+ *
75
+ * Memoized via `cachedBearer` — once the answer is known we don't re-probe
76
+ * the filesystem on every call. CI gating many specs and Studio live-edit
77
+ * are both high-frequency callers of `validate()`.
78
+ */
79
+ private tryResolveBearer;
80
+ /**
81
+ * Apply the wire-default `kind` discriminator to an `InlineAgentSpec` whose
82
+ * type-optional `kind` was omitted. The check is duck-type: an object with
83
+ * `apiVersion: 'qar/v1'` + no explicit `kind` is treated as an AgentSpec
84
+ * (the only optional-kind arm of `InlineSpec` — `InlineGraphSpec.kind` is
85
+ * required by the type and `assertSpecKind` enforces it). Anything else
86
+ * passes through untouched and gets caught by `assertSpecKind` below.
87
+ *
88
+ * Mirrors `TaskClient.startWithAgent`'s `normalizeInlineAgentSpec` call so
89
+ * the SDK presents one consistent normalization story regardless of which
90
+ * entry point the consumer uses.
91
+ */
92
+ private static normalizeKind;
93
+ /**
94
+ * Reject anything that isn't a JSON object with a recognized `kind`
95
+ * discriminator. JS callers can pass `null`, undefined, primitives, etc. —
96
+ * fail fast with a typed error rather than letting `JSON.stringify` ship
97
+ * `null`/`"foo"` to the endpoint.
98
+ *
99
+ * Accepts only the wire-canonical `kind: 'AgentSpec' | 'GraphSpec'` literals
100
+ * matching QAR's `SPEC_KIND_AGENT` / `SPEC_KIND_GRAPH`. The legacy lowercase
101
+ * `'graph'` arm was dropped — the wire validator only ever accepted the
102
+ * capitalized form, so consumers carrying the old literal now get a typed
103
+ * pre-wire error instead of a `task.done(failed)` round-trip.
104
+ */
105
+ private static assertSpecKind;
106
+ /**
107
+ * Lazy URL parsing — symmetric with `InfoClient.requireHttpBase`.
108
+ * `QodoClient.validateOptions` only checks `baseUrl` is a non-empty string;
109
+ * eager derivation would change behavior for callers who construct a client
110
+ * with an invalid scheme but never call any HTTP method.
111
+ */
112
+ private requireHttpBase;
113
+ private static readBodySafely;
114
+ /**
115
+ * Map the consumer-supplied `baseUrl` (typically `https://qar.qodo.ai` or
116
+ * `wss://qar.qodo.ai`) onto the HTTP origin used for `/v1/specs/validate`.
117
+ * Same scheme rules + insecure-transport gate as `InfoClient`.
118
+ */
119
+ private static deriveHttpBaseUrl;
120
+ }
121
+ //# sourceMappingURL=SpecsClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecsClient.d.ts","sourceRoot":"","sources":["../../src/client/SpecsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAEf,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAezB,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,cAAc,CAAuB;IAC7C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY,CAAwC;IAW5D;;;;;;;;;;;;;;;;;;;OAmBG;IACU,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmD3F;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAS5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAc7B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;mBASF,cAAc;IAUnC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAgCjC"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * `SpecsClient` — backed by `POST /v1/specs/validate` on QAR.
3
+ *
4
+ * Stateless pre-flight: validates an inline `AgentSpec` or `GraphSpec`
5
+ * against the same wire-validation rules `task.start` runs, but without
6
+ * dispatching anything. Useful for:
7
+ *
8
+ * - **CI gates** — consumer repos run `client.specs.validate(spec)` in a
9
+ * PR check; failure on any spec rule blocks merge.
10
+ * - **Studio live-edit** — every keystroke in the visual editor calls
11
+ * validate; instant feedback while the user authors.
12
+ * - **SDK pre-flight** — a developer iterating on an inline spec in a
13
+ * notebook validates before calling `tasks.start`.
14
+ *
15
+ * Bearer auth is *forwarded if available* but not required by the endpoint.
16
+ * Validation is a pure function over the spec shape — no PII, no tenant
17
+ * resolution. A bearer is included only so Qodo Cloud can attribute the call
18
+ * for audit purposes when one is configured.
19
+ *
20
+ * Per-rule failures (`{ valid: false, errors: [{ rule_id, path, message }] }`)
21
+ * are *not* exceptions — they're the normal happy-path return. Only
22
+ * pre-wire issues (missing `kind`, unreachable host, non-2xx HTTP) throw.
23
+ */
24
+ import { QodoAuthError } from '../auth/index.js';
25
+ import { QodoClientOptionsError, QodoSpecValidationError, } from './errors.js';
26
+ import { normalizeInlineAgentSpec } from '../qar/agentSpec.js';
27
+ export class SpecsClient {
28
+ baseUrl;
29
+ allowInsecureTransport;
30
+ authProvider;
31
+ extraHeaders;
32
+ fetchImpl;
33
+ cachedHttpBase = null;
34
+ /**
35
+ * Memoized bearer resolution. Three states:
36
+ * - `undefined` — never resolved yet.
37
+ * - `string` — bearer was found and is reused on subsequent calls.
38
+ * - `null` — confirmed "no bearer configured"; we won't probe again.
39
+ *
40
+ * `AuthProvider.validate()` does synchronous filesystem work and throws
41
+ * `QodoAuthError` when no key exists anywhere. In high-frequency scenarios
42
+ * (CI gating many specs, Studio live-edit per keystroke) re-running that on
43
+ * every call would burn syscalls and throw/catch loops. Cache the answer.
44
+ */
45
+ cachedBearer = undefined;
46
+ /** @internal — constructed by `QodoClient`. */
47
+ constructor(deps) {
48
+ this.baseUrl = deps.baseUrl;
49
+ this.allowInsecureTransport = deps.allowInsecureTransport ?? false;
50
+ this.authProvider = deps.authProvider;
51
+ this.extraHeaders = deps.headers ?? {};
52
+ this.fetchImpl = deps.fetchImpl ?? ((input, init) => fetch(input, init));
53
+ }
54
+ /**
55
+ * Validate an `AgentSpec` or `GraphSpec` against QAR's wire-validation
56
+ * rules without dispatching a task.
57
+ *
58
+ * Returns the typed `SpecValidateResult` envelope:
59
+ * - `{ valid: true }` — the spec passed every rule.
60
+ * - `{ valid: false, errors: [...] }` — the spec failed one or more
61
+ * rules; each entry is `{ rule_id, path, message }` where `rule_id` is
62
+ * a `D10-R*` (AgentSpec) or `D11-R*` (GraphSpec) tag and `path` is a
63
+ * JSON Pointer (RFC 6901) into the spec (`""` for the root).
64
+ *
65
+ * Throws:
66
+ * - `QodoSpecValidationError` — the supplied object is missing a known
67
+ * `kind` discriminator, so it's not a well-formed spec at all. (Per-rule
68
+ * failures are *not* exceptions — they come back as `valid: false`.)
69
+ * - `QodoAuthError` — only when a bearer was provided and the server
70
+ * rejected it (401/403). When no bearer is configured the endpoint is
71
+ * anonymous, so 401/403 surfaces as a plain `Error` instead.
72
+ * - plain `Error` — any other non-2xx response, with the body included.
73
+ */
74
+ async validate(spec) {
75
+ // Normalize before the kind-check so an `InlineAgentSpec` literal that
76
+ // omits the optional `kind` discriminator (`{ apiVersion, instructions,
77
+ // model }`) round-trips against QAR with the wire-canonical `kind:
78
+ // 'AgentSpec'` filled in. Mirrors `TaskClient.startWithAgent`'s behavior
79
+ // so consumers see the same normalization regardless of which entry
80
+ // point they use. `InlineGraphSpec.kind` is required at the type level,
81
+ // so the normalization only ever fires on the AgentSpec arm.
82
+ const normalized = SpecsClient.normalizeKind(spec);
83
+ SpecsClient.assertSpecKind(normalized);
84
+ const url = `${this.requireHttpBase()}/v1/specs/validate`;
85
+ const bearer = this.tryResolveBearer();
86
+ // Build headers via the case-insensitive `Headers` API and explicitly
87
+ // strip any caller-supplied `Authorization` before setting the
88
+ // SDK-controlled bearer. This matters because `ClientOptions.headers` is
89
+ // documented as "extra headers"; bearer auth must be controlled
90
+ // exclusively via `ClientOptions.auth`. Plain object spread is
91
+ // case-sensitive, so a caller's lowercase `authorization` would slip
92
+ // through alongside our `Authorization`. `Headers.set` collapses both.
93
+ const headers = new Headers(this.extraHeaders);
94
+ headers.delete('authorization');
95
+ headers.set('Content-Type', 'application/json');
96
+ headers.set('Accept', 'application/json');
97
+ if (bearer !== null) {
98
+ headers.set('Authorization', `Bearer ${bearer}`);
99
+ }
100
+ const response = await this.fetchImpl(url, {
101
+ method: 'POST',
102
+ headers,
103
+ body: JSON.stringify(normalized),
104
+ });
105
+ if (response.status === 401 || response.status === 403) {
106
+ // Only the auth-source-named error makes sense when we actually sent a
107
+ // bearer. If the caller didn't configure one, a 401/403 is an endpoint
108
+ // policy decision (not a key-fix-up) — fall through to the generic Error.
109
+ if (bearer !== null) {
110
+ this.authProvider.handle401Error();
111
+ }
112
+ }
113
+ if (!response.ok) {
114
+ const body = await SpecsClient.readBodySafely(response);
115
+ throw new Error(`POST /v1/specs/validate failed: ${response.status} ${response.statusText}${body ? ` — ${body}` : ''}`);
116
+ }
117
+ return (await response.json());
118
+ }
119
+ /**
120
+ * Try to resolve a bearer without throwing if none is configured.
121
+ *
122
+ * `AuthProvider.validate()` throws `QodoAuthError` when no key is found
123
+ * anywhere — that's the right call for `tasks.start` (auth required) but
124
+ * the wrong one here (validate is anonymous-friendly). We swallow that
125
+ * specific error and treat it as "no bearer" so the call proceeds without
126
+ * an `Authorization` header. Any other thrown shape (filesystem error
127
+ * inside `validate`, etc.) propagates so we don't mask real bugs.
128
+ *
129
+ * Memoized via `cachedBearer` — once the answer is known we don't re-probe
130
+ * the filesystem on every call. CI gating many specs and Studio live-edit
131
+ * are both high-frequency callers of `validate()`.
132
+ */
133
+ tryResolveBearer() {
134
+ if (this.cachedBearer !== undefined)
135
+ return this.cachedBearer;
136
+ try {
137
+ this.authProvider.validate();
138
+ }
139
+ catch (err) {
140
+ if (err instanceof QodoAuthError) {
141
+ this.cachedBearer = null;
142
+ return null;
143
+ }
144
+ throw err;
145
+ }
146
+ const { token } = this.authProvider.getAuthConfig();
147
+ this.cachedBearer = token.length > 0 ? token : null;
148
+ return this.cachedBearer;
149
+ }
150
+ /**
151
+ * Apply the wire-default `kind` discriminator to an `InlineAgentSpec` whose
152
+ * type-optional `kind` was omitted. The check is duck-type: an object with
153
+ * `apiVersion: 'qar/v1'` + no explicit `kind` is treated as an AgentSpec
154
+ * (the only optional-kind arm of `InlineSpec` — `InlineGraphSpec.kind` is
155
+ * required by the type and `assertSpecKind` enforces it). Anything else
156
+ * passes through untouched and gets caught by `assertSpecKind` below.
157
+ *
158
+ * Mirrors `TaskClient.startWithAgent`'s `normalizeInlineAgentSpec` call so
159
+ * the SDK presents one consistent normalization story regardless of which
160
+ * entry point the consumer uses.
161
+ */
162
+ static normalizeKind(spec) {
163
+ if (typeof spec !== 'object' || spec === null)
164
+ return spec;
165
+ const kind = spec.kind;
166
+ if (kind === undefined && spec.apiVersion === 'qar/v1') {
167
+ return normalizeInlineAgentSpec(spec);
168
+ }
169
+ return spec;
170
+ }
171
+ /**
172
+ * Reject anything that isn't a JSON object with a recognized `kind`
173
+ * discriminator. JS callers can pass `null`, undefined, primitives, etc. —
174
+ * fail fast with a typed error rather than letting `JSON.stringify` ship
175
+ * `null`/`"foo"` to the endpoint.
176
+ *
177
+ * Accepts only the wire-canonical `kind: 'AgentSpec' | 'GraphSpec'` literals
178
+ * matching QAR's `SPEC_KIND_AGENT` / `SPEC_KIND_GRAPH`. The legacy lowercase
179
+ * `'graph'` arm was dropped — the wire validator only ever accepted the
180
+ * capitalized form, so consumers carrying the old literal now get a typed
181
+ * pre-wire error instead of a `task.done(failed)` round-trip.
182
+ */
183
+ static assertSpecKind(spec) {
184
+ if (typeof spec !== 'object' || spec === null) {
185
+ throw new QodoSpecValidationError(`client.specs.validate(spec): spec must be an object with a "kind" of "AgentSpec" or "GraphSpec"`);
186
+ }
187
+ const kind = spec.kind;
188
+ if (kind !== 'AgentSpec' && kind !== 'GraphSpec') {
189
+ throw new QodoSpecValidationError(`client.specs.validate(spec): spec.kind must be "AgentSpec" or "GraphSpec"; got ${JSON.stringify(kind)}`);
190
+ }
191
+ }
192
+ /**
193
+ * Lazy URL parsing — symmetric with `InfoClient.requireHttpBase`.
194
+ * `QodoClient.validateOptions` only checks `baseUrl` is a non-empty string;
195
+ * eager derivation would change behavior for callers who construct a client
196
+ * with an invalid scheme but never call any HTTP method.
197
+ */
198
+ requireHttpBase() {
199
+ if (this.cachedHttpBase !== null)
200
+ return this.cachedHttpBase;
201
+ this.cachedHttpBase = SpecsClient.deriveHttpBaseUrl(this.baseUrl, this.allowInsecureTransport);
202
+ return this.cachedHttpBase;
203
+ }
204
+ static async readBodySafely(response) {
205
+ try {
206
+ const text = await response.text();
207
+ return text.length > 512 ? `${text.slice(0, 512)}…` : text;
208
+ }
209
+ catch {
210
+ // Body read errors are non-actionable here — caller already has status / statusText.
211
+ return '';
212
+ }
213
+ }
214
+ /**
215
+ * Map the consumer-supplied `baseUrl` (typically `https://qar.qodo.ai` or
216
+ * `wss://qar.qodo.ai`) onto the HTTP origin used for `/v1/specs/validate`.
217
+ * Same scheme rules + insecure-transport gate as `InfoClient`.
218
+ */
219
+ static deriveHttpBaseUrl(baseUrl, allowInsecureTransport) {
220
+ let end = baseUrl.length;
221
+ while (end > 0 && baseUrl.charCodeAt(end - 1) === 0x2f /* '/' */) {
222
+ end -= 1;
223
+ }
224
+ const trimmed = baseUrl.slice(0, end);
225
+ let httpBase;
226
+ let insecure = false;
227
+ if (trimmed.startsWith('https://')) {
228
+ httpBase = trimmed;
229
+ }
230
+ else if (trimmed.startsWith('http://')) {
231
+ httpBase = trimmed;
232
+ insecure = true;
233
+ }
234
+ else if (trimmed.startsWith('wss://')) {
235
+ httpBase = `https://${trimmed.slice('wss://'.length)}`;
236
+ }
237
+ else if (trimmed.startsWith('ws://')) {
238
+ httpBase = `http://${trimmed.slice('ws://'.length)}`;
239
+ insecure = true;
240
+ }
241
+ else {
242
+ throw new QodoClientOptionsError(`ClientOptions.baseUrl must use http(s):// or ws(s)://; got "${baseUrl}"`);
243
+ }
244
+ if (insecure && allowInsecureTransport !== true) {
245
+ throw new QodoClientOptionsError(`ClientOptions.baseUrl uses an insecure scheme ("${baseUrl}") which would transmit ` +
246
+ `the bearer token in plaintext. Use https:// or wss:// in production, or set ` +
247
+ `allowInsecureTransport: true to opt in for local development.`);
248
+ }
249
+ return httpBase;
250
+ }
251
+ }
252
+ //# sourceMappingURL=SpecsClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecsClient.js","sourceRoot":"","sources":["../../src/client/SpecsClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `StateClient` — observer for QAR's `state.update` envelopes.
3
+ *
4
+ * State updates are per-skill mutations: a `skill` keys the schema and `op`
5
+ * (`patch` / `replace` / `init`) describes the mutation kind. The payload
6
+ * shape is typed by QAR (codegen overlay in `src/qar/payloads.ts`); the
7
+ * filter helper here narrows by skill so consumers can wire one handler
8
+ * per skill without de-multiplexing themselves.
9
+ *
10
+ * `state.update` is bidirectional in QAR's wire model; this surface is
11
+ * server→client only (the inbound stream). SDK-side emission for
12
+ * skill-managed state pushes is reserved for a future ticket.
13
+ */
14
+ import type { StateUpdateEnvelope } from '../qar/envelopes.js';
15
+ import { KindObserverClient } from './observers.js';
16
+ import type { EventSubscription } from './observers.js';
17
+ /** Filter for `state.update` envelopes. */
18
+ export interface StateFilter {
19
+ /** Match against `payload.skill` — the skill key whose state is mutating. */
20
+ readonly skill?: string;
21
+ }
22
+ export type StateHandler = (env: StateUpdateEnvelope) => void;
23
+ export declare class StateClient extends KindObserverClient<'state.update', StateUpdateEnvelope> {
24
+ /**
25
+ * Register a handler invoked for every inbound `state.update` envelope.
26
+ *
27
+ * Same multi-handler / fan-out / throw-swallowing semantics as the other
28
+ * observer surfaces. The two-arg overload accepts a `StateFilter` (only
29
+ * `skill` for now — `op` would be cheap to add but we'd rather grow the
30
+ * filter when consumers ask).
31
+ */
32
+ onUpdate(handler: StateHandler): EventSubscription;
33
+ onUpdate(filter: StateFilter, handler: StateHandler): EventSubscription;
34
+ }
35
+ //# sourceMappingURL=StateClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateClient.d.ts","sourceRoot":"","sources":["../../src/client/StateClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAE9D,qBAAa,WAAY,SAAQ,kBAAkB,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAMtF;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB;IAClD,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,GAAG,iBAAiB;CAc/E"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * `StateClient` — observer for QAR's `state.update` envelopes.
3
+ *
4
+ * State updates are per-skill mutations: a `skill` keys the schema and `op`
5
+ * (`patch` / `replace` / `init`) describes the mutation kind. The payload
6
+ * shape is typed by QAR (codegen overlay in `src/qar/payloads.ts`); the
7
+ * filter helper here narrows by skill so consumers can wire one handler
8
+ * per skill without de-multiplexing themselves.
9
+ *
10
+ * `state.update` is bidirectional in QAR's wire model; this surface is
11
+ * server→client only (the inbound stream). SDK-side emission for
12
+ * skill-managed state pushes is reserved for a future ticket.
13
+ */
14
+ import { KindObserverClient } from './observers.js';
15
+ export class StateClient extends KindObserverClient {
16
+ /** @internal — instantiated by `QodoClient`. */
17
+ constructor() {
18
+ super('state.update');
19
+ }
20
+ onUpdate(filterOrHandler, maybeHandler) {
21
+ if (typeof filterOrHandler === 'function') {
22
+ return this.register(filterOrHandler);
23
+ }
24
+ if (maybeHandler === undefined) {
25
+ throw new Error('StateClient.onUpdate: handler is required when a filter is supplied');
26
+ }
27
+ const filter = filterOrHandler;
28
+ return this.register(maybeHandler, (env) => stateMatches(env, filter));
29
+ }
30
+ }
31
+ function stateMatches(env, filter) {
32
+ if (filter.skill !== undefined && env.payload.skill !== filter.skill)
33
+ return false;
34
+ return true;
35
+ }
36
+ //# sourceMappingURL=StateClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateClient.js","sourceRoot":"","sources":["../../src/client/StateClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAWpD,MAAM,OAAO,WAAY,SAAQ,kBAAuD;IACtF,gDAAgD;IAChD;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAYM,QAAQ,CACb,eAA2C,EAC3C,YAA2B;QAE3B,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAwB,EAAE,MAAmB;IACjE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC"}