@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,159 @@
1
+ /**
2
+ * `SkillsManager` — browser stub.
3
+ *
4
+ * The Node version walks the filesystem to discover `SKILL.md` files,
5
+ * which is fundamentally Node-only. In the browser there is no
6
+ * filesystem, no `node_modules`, no `~/.qodo/skills`. Rather than
7
+ * polyfill, the stub throws a clear error directing the consumer to
8
+ * either:
9
+ *
10
+ * 1. Not configure `ClientOptions.skills` in browser code paths
11
+ * (the field is optional; omitting it leaves the SDK behaving
12
+ * exactly as today).
13
+ * 2. If skills are needed, run discovery server-side and ship the
14
+ * pre-built catalog through their own data plane.
15
+ *
16
+ * The Node version of this file is `manager.ts`; the swap is wired via
17
+ * the `browser` field in `package.json`.
18
+ */
19
+ const BROWSER_ERROR_MESSAGE = 'SkillsManager requires Node-only APIs (node:fs / node:path / node:os) and is not ' +
20
+ 'supported in the browser bundle. Omit ClientOptions.skills in browser code paths, ' +
21
+ 'or run skill discovery server-side and ship the catalog via your own data plane.';
22
+ export class SkillsManager {
23
+ constructor(_config) {
24
+ // Construction succeeds so consumers can hold an instance for type
25
+ // narrowing; the first method call surfaces the error.
26
+ }
27
+ discover() {
28
+ return Promise.reject(new Error(BROWSER_ERROR_MESSAGE));
29
+ }
30
+ forwardEvents(_events) {
31
+ // no-op — the manager is inert in the browser stub
32
+ }
33
+ get isReady() {
34
+ return false;
35
+ }
36
+ get currentSnapshot() {
37
+ return null;
38
+ }
39
+ get defaultActivate() {
40
+ return undefined;
41
+ }
42
+ get indexCharBudget() {
43
+ return undefined;
44
+ }
45
+ get embedder() {
46
+ return undefined;
47
+ }
48
+ get activationConfig() {
49
+ return undefined;
50
+ }
51
+ list(_opts) {
52
+ return Promise.reject(new Error(BROWSER_ERROR_MESSAGE));
53
+ }
54
+ get(_specifier) {
55
+ return Promise.reject(new Error(BROWSER_ERROR_MESSAGE));
56
+ }
57
+ resolveOrThrow(_specifiers) {
58
+ return Promise.reject(new Error(BROWSER_ERROR_MESSAGE));
59
+ }
60
+ // ---------------------------------------------------------------------
61
+ // Trust / activation surfaces. Inert in the browser stub; the shapes
62
+ // exist so consumer type imports compile across environments.
63
+ // ---------------------------------------------------------------------
64
+ isTrusted(_skill) {
65
+ return false;
66
+ }
67
+ get requiresCapsResolved() {
68
+ return { maxDepth: 3, maxTransitive: 8, maxTransitiveTokens: 50 * 1024 };
69
+ }
70
+ getActiveSkills() {
71
+ return [];
72
+ }
73
+ markActive(_fqn) {
74
+ return false;
75
+ }
76
+ deactivate(_fqn) {
77
+ return false;
78
+ }
79
+ resetActive() {
80
+ // no-op — the browser stub has no active state
81
+ }
82
+ get internalActiveFqns() {
83
+ // Returning a fresh empty set keeps the cross-environment shape
84
+ // identical; mutations here are inert because the stub doesn't
85
+ // back any of the active-state methods with shared state.
86
+ return new Set();
87
+ }
88
+ // ---------------------------------------------------------------------
89
+ // Hot reload surface. All no-ops in the browser stub.
90
+ // ---------------------------------------------------------------------
91
+ startWatching() {
92
+ return Promise.resolve();
93
+ }
94
+ stopWatching() {
95
+ // no-op
96
+ }
97
+ dispose() {
98
+ // no-op
99
+ }
100
+ get catalogEpoch() {
101
+ return 0;
102
+ }
103
+ onRebuild(_listener) {
104
+ return () => { };
105
+ }
106
+ rebuildNow() {
107
+ return Promise.reject(new Error(BROWSER_ERROR_MESSAGE));
108
+ }
109
+ }
110
+ export class SkillNotFoundError extends Error {
111
+ specifier;
112
+ constructor(specifier) {
113
+ super(`Skill not found: ${specifier}`);
114
+ this.name = 'SkillNotFoundError';
115
+ this.specifier = specifier;
116
+ }
117
+ }
118
+ export class SkillAmbiguousPinError extends Error {
119
+ specifier;
120
+ candidates;
121
+ constructor(specifier, candidates) {
122
+ super(`Skill pin "${specifier}" is ambiguous — multiple vendors ship a skill ` +
123
+ `of that name: ${candidates.join(', ')}. Pin with a full ` +
124
+ '`vendor/name` specifier to disambiguate.');
125
+ this.name = 'SkillAmbiguousPinError';
126
+ this.specifier = specifier;
127
+ this.candidates = candidates;
128
+ }
129
+ }
130
+ export class SkillsBudgetExceededError extends Error {
131
+ omittedSkills;
132
+ hardCap;
133
+ constructor(omittedSkills, hardCap) {
134
+ super(`caller-pinned skills exceeded the slim-index hard cap (${hardCap} chars). ` +
135
+ `Omitted: ${omittedSkills.join(', ')}. Reduce the pin list or raise ` +
136
+ '`SkillsConfig.indexCharBudget`.');
137
+ this.name = 'SkillsBudgetExceededError';
138
+ this.omittedSkills = omittedSkills;
139
+ this.hardCap = hardCap;
140
+ }
141
+ }
142
+ /**
143
+ * Mirrors the Node-side `QodoSkillError`. Thrown by the activation
144
+ * pipeline when caller-pin resolution fails (trust violation, cap
145
+ * breach, cycle, unresolved dep). The browser stub doesn't run the
146
+ * pipeline, but the class shape is exposed so consumer `catch (err
147
+ * instanceof QodoSkillError)` blocks compile in both environments.
148
+ */
149
+ export class QodoSkillError extends Error {
150
+ skill;
151
+ reason;
152
+ constructor(skill, reason, message) {
153
+ super(message);
154
+ this.name = 'QodoSkillError';
155
+ this.skill = skill;
156
+ this.reason = reason;
157
+ }
158
+ }
159
+ //# sourceMappingURL=manager.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.browser.js","sourceRoot":"","sources":["../../src/skills/manager.browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,362 @@
1
+ /**
2
+ * `SkillsManager`.
3
+ *
4
+ * Walks every configured source, parses + validates each `SKILL.md`, then
5
+ * builds an in-memory catalog keyed by fully-qualified
6
+ * `<vendor>/<name>@<version>` with shadowing.
7
+ *
8
+ * Construction is synchronous and cheap (validate config, store). The
9
+ * `discover()` method does the disk IO; it's idempotent — subsequent
10
+ * calls return the same already-built catalog. Public lookups via
11
+ * `list()` / `get()` await discovery completion implicitly.
12
+ *
13
+ * Invariants:
14
+ * - Catalog is built once per discovery; hot reload reruns discovery
15
+ * to produce a fresh snapshot.
16
+ * - Trust tier is derived from source type only; consumer-supplied
17
+ * `trustedSources` is used to elevate third-party sources.
18
+ * - Per-skill `min_sdk_version` exclusion lands here.
19
+ */
20
+ import { type WalkerEnv } from './sources/index.js';
21
+ import type { SourceWalkResult } from './sources/index.js';
22
+ import type { ParsedSkill, SkillEvent, SkillSource, SkillsConfig } from './types.js';
23
+ /**
24
+ * Lookup options for `SkillsManager.get`. Both fields optional — without
25
+ * a version pin the manager returns the latest version of the matched
26
+ * skill.
27
+ */
28
+ export interface SkillGetOptions {
29
+ readonly includeAllVersions?: boolean;
30
+ }
31
+ /**
32
+ * Snapshot of catalog state for tests / introspection. Stable across
33
+ * discovery completion; the manager never mutates the array after
34
+ * `discover()` resolves.
35
+ */
36
+ export interface CatalogSnapshot {
37
+ readonly skills: readonly ParsedSkill[];
38
+ /** Source-by-source breakdown — useful for the slim-index source attribution. */
39
+ readonly bySource: readonly SourceWalkResult[];
40
+ /** Path-keyed map of skills that were dropped during catalog construction. */
41
+ readonly excluded: readonly {
42
+ readonly source: SkillSource;
43
+ readonly path: string;
44
+ readonly reason: string;
45
+ }[];
46
+ /**
47
+ * Monotonically-increasing counter bumped on every successful build.
48
+ * Starts at `1` after the initial `discover()`; each watcher-triggered
49
+ * rebuild increments by one. Body caches can key by `(fqn, epoch)` to
50
+ * evict stale entries without race-y read locks.
51
+ */
52
+ readonly epoch: number;
53
+ }
54
+ /**
55
+ * Resolved `requires:` cap configuration with defaults filled in. Each
56
+ * cap is read by `SkillsManager` consumers (the MCP server's `get_skill`
57
+ * resolver, the `TaskClient` caller-pin activation path) to enforce the
58
+ * depth / breadth / token caps uniformly.
59
+ */
60
+ export interface ResolvedRequiresCaps {
61
+ readonly maxDepth: number;
62
+ readonly maxTransitive: number;
63
+ readonly maxTransitiveTokens: number;
64
+ }
65
+ export declare class SkillsManager {
66
+ private readonly config;
67
+ private readonly env;
68
+ private readonly emit;
69
+ private readonly trustedSourceIdentities;
70
+ private readonly requiresCaps;
71
+ /**
72
+ * Per-client active-skill set. Populated by caller-pin activation
73
+ * (`TaskClient`) and by LLM-driven `get_skill` calls (the MCP server,
74
+ * via `markLoaded`). Cleared by `resetActive()`.
75
+ *
76
+ * SDK 2.0 has no per-task AsyncLocalStorage env-scope (the design that
77
+ * shipped on SDK 1.x's `EnvironmentServices`); active-state lives on
78
+ * the manager, scoped to the client lifetime. Concurrent dispatches
79
+ * against the same client observe a merged set — documented in the
80
+ * architectural-translation note. `disconnect()` calls
81
+ * `skillsMcpServer.dispose()` which calls `resetActive()` (transitively
82
+ * through the existing `activeFqns` clear), so a fresh `connect()`
83
+ * starts cold.
84
+ */
85
+ private readonly activeFqns;
86
+ private discoverPromise;
87
+ private snapshot;
88
+ /**
89
+ * Active `fs.watch` handles keyed by the absolute directory path
90
+ * being watched. Populated by `startWatching()`, cleared by
91
+ * `stopWatching()` / `dispose()`.
92
+ */
93
+ private watchers;
94
+ /** Pending watcher-triggered rebuild timer, debounced. */
95
+ private rebuildTimer;
96
+ /** Promise that resolves with the next rebuilt snapshot, if a rebuild is in-flight. */
97
+ private rebuildPromise;
98
+ /** Optional listener fired after every successful rebuild — used by tests / consumers. */
99
+ private rebuildListeners;
100
+ private epoch;
101
+ /**
102
+ * In-flight `startWatching()` promise. Concurrent calls await the
103
+ * same promise so the install pass is serialised — defends against
104
+ * the watcher-duplication race when auto-start + manual start fire
105
+ * close together.
106
+ */
107
+ private startWatchingPromise;
108
+ /**
109
+ * Marks that a watcher event arrived while a rebuild was already
110
+ * in flight. The current rebuild's `.then` re-schedules so the late
111
+ * change isn't dropped.
112
+ */
113
+ private pendingRebuild;
114
+ constructor(config: SkillsConfig, env?: WalkerEnv);
115
+ /**
116
+ * Forward a renderer-produced event batch to the configured sink.
117
+ * Used by `TaskClient`'s skills injection helpers — the renderer is
118
+ * pure and returns events as data; the manager owns the sink wiring
119
+ * so consumers see one consistent emission surface.
120
+ */
121
+ forwardEvents(events: readonly SkillEvent[]): void;
122
+ /**
123
+ * Walk every configured source, parse + validate, build the FQN-keyed
124
+ * catalog. Idempotent — concurrent calls share one in-flight promise.
125
+ */
126
+ discover(): Promise<CatalogSnapshot>;
127
+ /** Resolved `true` once `discover()` has completed at least once. */
128
+ get isReady(): boolean;
129
+ /** Synchronous snapshot accessor. Returns `null` until `discover()` resolves. */
130
+ get currentSnapshot(): CatalogSnapshot | null;
131
+ /**
132
+ * Constructor-supplied default `activate` set. `TaskClient` reads this
133
+ * when the per-call `opts.skills` is `undefined`. Returned read-only;
134
+ * `[]` and `undefined` are distinct (`[]` = explicit empty, `undefined`
135
+ * = "no default set").
136
+ */
137
+ get defaultActivate(): readonly string[] | undefined;
138
+ /**
139
+ * Constructor-supplied `indexCharBudget`. `TaskClient` forwards this
140
+ * to `renderSlimIndex()` so consumers can tighten the model-visible
141
+ * block below the 8000-char default. `undefined` means "renderer
142
+ * picks the default".
143
+ */
144
+ get indexCharBudget(): number | undefined;
145
+ /**
146
+ * Constructor-supplied `!command` preprocessing config.
147
+ * `undefined` means "default disabled" — the MCP server's `get_skill`
148
+ * handler short-circuits when this is `undefined` or `mode: 'disabled'`.
149
+ */
150
+ get preprocessingConfig(): SkillsConfig['preprocessing'] | undefined;
151
+ /**
152
+ * Constructor-supplied embedder, if any. `undefined` means
153
+ * "no pre-filter; rely on render-side truncation".
154
+ */
155
+ get embedder(): SkillsConfig['embedder'] | undefined;
156
+ /**
157
+ * Constructor-supplied embedding-pre-filter tuning. `undefined` means
158
+ * "use documented defaults" (`topK: 8`, `minScore: 0.35`).
159
+ */
160
+ get activationConfig(): SkillsConfig['activation'] | undefined;
161
+ /**
162
+ * List every catalog entry. Awaits discovery on first call. Returns
163
+ * latest-version-only by default; pass `{ includeAllVersions: true }`
164
+ * to surface every version recorded during discovery.
165
+ */
166
+ list(opts?: SkillGetOptions): Promise<readonly ParsedSkill[]>;
167
+ /**
168
+ * Resolve a skill specifier (`name`, `vendor/name`, or `vendor/name@version`)
169
+ * to a `ParsedSkill` or `null` if no match.
170
+ *
171
+ * - Bare name: returns the latest-version match of any vendor; if multiple
172
+ * vendors ship a skill of that name, the highest-precedence source wins.
173
+ * - `vendor/name`: latest version of that vendor's skill.
174
+ * - `vendor/name@version`: exact pin.
175
+ */
176
+ get(specifier: string): Promise<ParsedSkill | null>;
177
+ /**
178
+ * Verify every name in `specifiers` resolves. Throws on the first
179
+ * unresolved entry — the SDK uses this from the wire boundary to fail
180
+ * loud on caller-pinned activation per `skills-activation.md` §2.
181
+ */
182
+ resolveOrThrow(specifiers: readonly string[]): Promise<readonly ParsedSkill[]>;
183
+ /**
184
+ * Whether `skill` is trusted enough to honor its declarative affordances
185
+ * (`allowed-tools`, `disable-model-invocation: false`, `hooks`). True for
186
+ * the `'trusted'` / `'operator'` tiers; for `'third-party'` true iff the
187
+ * skill's source identity is in `trustedSources`.
188
+ */
189
+ isTrusted(skill: ParsedSkill): boolean;
190
+ /**
191
+ * Resolved `requires:` caps with defaults filled in. Read by the
192
+ * activation pipeline (`TaskClient` caller-pin + `QodoSkillsMcpServer.get_skill`).
193
+ */
194
+ get requiresCapsResolved(): ResolvedRequiresCaps;
195
+ /**
196
+ * Snapshot of currently active skill FQNs. The active set is union of
197
+ * (a) caller-pinned skills the SDK injected for the latest dispatch and
198
+ * (b) skills the model loaded via `qodo-skills.get_skill`. Returned
199
+ * sorted for stable test output.
200
+ */
201
+ getActiveSkills(): readonly string[];
202
+ /**
203
+ * Mark a skill FQN as active. Idempotent — re-marking emits no extra
204
+ * event. Returns `true` iff the FQN was newly added (i.e., this is a
205
+ * fresh activation, not a cache hit).
206
+ *
207
+ * The caller is responsible for emitting `sdk.skill.activated` — the
208
+ * event carries `source: 'caller' | 'llm'` which only the caller knows.
209
+ * `markActive` just owns the set membership.
210
+ */
211
+ markActive(fqn: string): boolean;
212
+ /**
213
+ * Remove a skill FQN from the active set. Returns `true` iff it was
214
+ * present. Used by `QodoSkillsMcpServer.dispose` and (rarely) by
215
+ * consumers programmatically rolling back activation.
216
+ */
217
+ deactivate(fqn: string): boolean;
218
+ /**
219
+ * Clear the active set entirely. Called by `QodoSkillsMcpServer.dispose`
220
+ * on `disconnect()` so the next `connect()` starts cold.
221
+ */
222
+ resetActive(): void;
223
+ /**
224
+ * Begin watching every configured local source directory for SKILL.md
225
+ * changes. Idempotent — calling twice has no extra effect.
226
+ *
227
+ * Requires `discover()` to have completed; the watcher targets only
228
+ * directories already known to be on disk. New top-level source dirs
229
+ * appearing post-startup are NOT auto-watched (operators would
230
+ * typically `stopWatching()` + reconfigure + start a new client).
231
+ *
232
+ * `package` and `bundled` sources are intentionally NOT watched —
233
+ * those ship with the application code and shouldn't churn at
234
+ * runtime. Watching them would expose tampering surface without
235
+ * meaningful upside.
236
+ *
237
+ * Default behavior is determined by `SkillsConfig.watch`:
238
+ * `undefined`/`false` ⇒ no-op; `true` ⇒ start watching after the first
239
+ * `discover()` resolves.
240
+ */
241
+ startWatching(): Promise<void>;
242
+ private doStartWatching;
243
+ /**
244
+ * Tear down every active watcher and cancel any pending debounce
245
+ * timer. Safe to call multiple times. Called automatically by
246
+ * `dispose()`.
247
+ */
248
+ stopWatching(): void;
249
+ /**
250
+ * Tear down the manager — equivalent to `stopWatching()`. Provided as
251
+ * a parallel to `QodoSkillsMcpServer.dispose()` so consumer code can
252
+ * call both in a uniform shutdown sequence.
253
+ */
254
+ dispose(): void;
255
+ /** Current catalog epoch counter. `0` before the first `discover()`. */
256
+ get catalogEpoch(): number;
257
+ /**
258
+ * Subscribe to rebuild events. The listener fires after every
259
+ * successful watcher-triggered rebuild (NOT on the initial discover).
260
+ * Returns an unsubscribe function. Used primarily by tests.
261
+ */
262
+ onRebuild(listener: (snapshot: CatalogSnapshot) => void): () => void;
263
+ /**
264
+ * Trigger an out-of-band rebuild. Test seam — production code goes
265
+ * through the debounced watcher path. The rebuild is in-flight
266
+ * already if another rebuild is queued; returns the same in-flight
267
+ * promise to avoid double-rebuild races.
268
+ */
269
+ rebuildNow(): Promise<CatalogSnapshot>;
270
+ private installWatcher;
271
+ private scheduleRebuild;
272
+ private doRebuild;
273
+ private diffAndEmit;
274
+ /**
275
+ * Walk every configured source + parse + validate + assemble the
276
+ * catalog. Pure with respect to `this.snapshot` — the caller decides
277
+ * how to publish the returned snapshot (initial discover stamps the
278
+ * epoch; rebuild diffs against the prior snapshot first).
279
+ */
280
+ private buildCatalog;
281
+ /**
282
+ * Locate + apply the lockfile per `SkillsConfig.lockfile`. When
283
+ * `'off'`, returns immediately. When `'discover'`, searches the
284
+ * configured CWD; when an explicit `{ path }`, loads it directly.
285
+ *
286
+ * Validation outcomes:
287
+ *
288
+ * - All entries match → return silently.
289
+ * - At least one drifts → emit `sdk.skill.lock_drift` per offender + throw.
290
+ * - At least one unreachable → emit `sdk.skill.lock_unreachable` + throw.
291
+ *
292
+ * Throws `LockfileValidationError` so the wire boundary fails loud
293
+ * rather than serving a divergent catalog.
294
+ */
295
+ private applyLockfile;
296
+ private resolveSourcesList;
297
+ private parseAndValidate;
298
+ /**
299
+ * Inspect the skill body for `[label](path)` and `get_skill_file("path")`
300
+ * references; emit:
301
+ *
302
+ * - `sdk.skill.error severity: 'warning'` when the referenced file
303
+ * doesn't exist under the skill directory.
304
+ * - `sdk.skill.error severity: 'warning'` when a reference has depth
305
+ * greater than 1 (e.g. `scripts/helpers/foo.py`). Authors who
306
+ * intentionally nest files can ignore this warning.
307
+ *
308
+ * The check is best-effort: any `fs.stat` failure other than ENOENT is
309
+ * silently ignored so a transient filesystem error doesn't poison
310
+ * discovery.
311
+ */
312
+ private auditBodyReferences;
313
+ private emitEvent;
314
+ }
315
+ /**
316
+ * Thrown by `SkillsManager.resolveOrThrow` when a caller-pinned specifier
317
+ * doesn't match anything in the catalog. The wire boundary (TaskClient
318
+ * startWithAgent / startWithGraph) re-throws these so consumers see a
319
+ * loud failure per `skills-activation.md` §2.
320
+ */
321
+ export declare class SkillNotFoundError extends Error {
322
+ readonly specifier: string;
323
+ constructor(specifier: string);
324
+ }
325
+ /**
326
+ * Thrown when a bare-name caller pin matches multiple skills under
327
+ * different vendors (`acme/code-review` and `local/code-review` both
328
+ * shipping `name: code-review`). The first-match-wins behavior silently
329
+ * picked one, which could change at runtime depending on source order.
330
+ * Force the caller to disambiguate with a `vendor/name` pin.
331
+ */
332
+ export declare class SkillAmbiguousPinError extends Error {
333
+ readonly specifier: string;
334
+ readonly candidates: readonly string[];
335
+ constructor(specifier: string, candidates: readonly string[]);
336
+ }
337
+ /**
338
+ * Thrown when caller-pinned skills cannot fit inside the slim-index
339
+ * hard cap (`2 × charBudget`, floored at `charBudget + 4096`). Pinning
340
+ * is a "must include" contract — silently dropping pins would make the
341
+ * model behave as if the caller never pinned them; throwing forces the
342
+ * caller to fix the pin list or raise the budget.
343
+ */
344
+ export declare class SkillsBudgetExceededError extends Error {
345
+ readonly omittedSkills: readonly string[];
346
+ readonly hardCap: number;
347
+ constructor(omittedSkills: readonly string[], hardCap: number);
348
+ }
349
+ /**
350
+ * Thrown when caller-pinned activation can't proceed because of a
351
+ * `requires:` chain failure — trust violation, depth/breadth/token cap
352
+ * breach, cycle, or unresolved dependency. The `kind` discriminator
353
+ * carries the specific reason. Caller-pin
354
+ * activation is an authoritative contract; failure must be loud rather
355
+ * than silently dropping the affected skill.
356
+ */
357
+ export declare class QodoSkillError extends Error {
358
+ readonly skill: string;
359
+ readonly reason: 'requires_trust_violation' | 'requires_cap_exceeded' | 'requires_cycle' | 'requires_unresolved' | 'not_found';
360
+ constructor(skill: string, reason: QodoSkillError['reason'], message: string);
361
+ }
362
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/skills/manager.ts"],"names":[],"mappings":"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"}