@qodo/sdk 0.13.4 → 2.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +1115 -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 +800 -0
  68. package/dist/client/connection.d.ts.map +1 -0
  69. package/dist/client/connection.js +2020 -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,37 @@
1
+ /**
2
+ * Per-`kind` payload shapes for the QAR envelope union — public surface.
3
+ *
4
+ * Backed by the codegen output in `./generated/envelope.ts`. The overlay
5
+ * sharpens the wire shape with three SDK-side projections that the JSON
6
+ * Schema cannot express:
7
+ *
8
+ * - **Branded UUIDs.** `task_id`, `tool_call_id`, `since_message_id`, and
9
+ * `offending_message_id` arrive from codegen as plain `string`. Each is
10
+ * widened back to its branded type (`TaskId`, `ToolCallId`, `MessageId`)
11
+ * so the compiler stops callers from mixing IDs at API boundaries.
12
+ * - **`ToolResponseResult`.** The discriminated-union convenience accepted
13
+ * by `client.tools.respond(node_name, response)`. The wire ships a flat
14
+ * `status: 'ok' | 'error'` per-response item; the SDK union preserves
15
+ * `success` / `error` / `denied` semantics, and the glue translates
16
+ * between the two at send time (denied → `status: 'error'` with
17
+ * `error.code: 'denied'`).
18
+ * - **Parallel-batched tool envelope.** `tool.request` carries
19
+ * `calls: ToolCall[]` (always a list, even for a single call — modern
20
+ * LLM `parallel_tool_use`) and a required `node_name`; `tool.response`
21
+ * carries `responses: ToolResponseItem[]` plus the same `node_name`.
22
+ * The overlay here is the consumer-facing shape; while the QAR-side
23
+ * schema bump is in flight, the codegen output in
24
+ * `./generated/envelope.ts` still carries the pre-amendment single-call
25
+ * shape — the overlay masks it. When `schemas/qar/.qar-version` is
26
+ * bumped, re-running `npm run codegen:qar` collapses the overlay back
27
+ * to a thin branded-id projection.
28
+ *
29
+ * QAR↔SDK name reconciliation: QAR's `task.start` envelope payload is
30
+ * `TaskStartPayload`; QAR's inner `task.start.input` shape is
31
+ * `QodoTaskStartPayload`. This module exports BOTH names — `TaskStartPayload`
32
+ * (QAR-native) and `QodoTaskStartPayload` (legacy alias) point at the same
33
+ * envelope-payload type; `QodoTaskStartInput` (legacy) and the QAR-native
34
+ * inner-payload type are the same.
35
+ */
36
+ export {};
37
+ //# sourceMappingURL=payloads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payloads.js","sourceRoot":"","sources":["../../src/qar/payloads.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG"}
@@ -0,0 +1,604 @@
1
+ /**
2
+ * Wire types for `task.start { agent: InlineAgentSpec }` (Pattern B) and
3
+ * `task.start { graph: InlineGraphSpec }` (Pattern C) — also accepted by
4
+ * `client.specs.validate(spec)` for pre-wire validation.
5
+ *
6
+ * **Naming.** The public symbol `AgentSpec` is owned by `QarRegistryClient`
7
+ * as the *local-registry* agent shape (simple `name` + `instructions` +
8
+ * tool strings). The `Inline*`-prefixed types here are the *wire* shape
9
+ * — what flows on the network to QAR's `task.start` and
10
+ * `POST /v1/specs/validate`. Two different layers, two different types,
11
+ * kept orthogonal so consumers writing local agents and consumers
12
+ * writing inline specs don't have to share a single struct trying to
13
+ * span both.
14
+ *
15
+ * Field names match QAR's wire vocabulary verbatim — `apiVersion`,
16
+ * `instructions` (not `system_prompt`), `tools: FunctionToolDef[]`
17
+ * (not `{ name }`-refs), `kind: 'AgentSpec'` (the discriminator the
18
+ * validator routes on; matches QAR's `SPEC_KIND_AGENT`).
19
+ *
20
+ * Rule-checking lives at QAR's `qar.specs.validator.validate_spec_payload`
21
+ * — single source of truth shared between `POST /v1/specs/validate` and
22
+ * `_handle_task_start`. Client-side, pre-wire
23
+ * `assertInlineAgentSpecPreWire` (see `TaskClient`) rejects the obvious
24
+ * forbidden-key cases at intake so the consumer's stack trace points at
25
+ * their call site instead of a `task.done(failed)` arriving over the
26
+ * wire.
27
+ */
28
+ import type { JsonObject } from './json.js';
29
+ /**
30
+ * MCP tool annotations — mirrors the upstream `Tool.annotations` shape from
31
+ * the MCP specification (https://modelcontextprotocol.io/docs/concepts/tools,
32
+ * checked 2026-05-21). Carried through the SDK's MCP projection layer so
33
+ * consumers writing dynamic filters (Shape C) and downstream observability
34
+ * (OTel span attrs) can read the upstream hints verbatim.
35
+ *
36
+ * **Annotations are explicitly UNTRUSTED per the MCP spec** — they're
37
+ * advisory hints from a third-party MCP server, not policy authority.
38
+ * QAR's trust-tier classification (whether a tool gates on HITL, whether
39
+ * write operations need confirmation) stays name-based on the consumer
40
+ * side. The QAR-side OTel span attribute pass-through carries them
41
+ * through to span attributes for observability tooling.
42
+ */
43
+ export interface McpToolAnnotations {
44
+ /** Human-readable title — the upstream `Tool.annotations.title` field. */
45
+ readonly title?: string;
46
+ /** True if the tool only reads state; advisory hint for security-aware filters. */
47
+ readonly readOnlyHint?: boolean;
48
+ /** True if the tool may perform destructive operations; advisory. */
49
+ readonly destructiveHint?: boolean;
50
+ /** True if repeated invocations are safe; advisory. */
51
+ readonly idempotentHint?: boolean;
52
+ /** True if the tool interacts with an external/open world; advisory. */
53
+ readonly openWorldHint?: boolean;
54
+ }
55
+ /** OpenAI function-tool definition body. */
56
+ export interface FunctionDef {
57
+ readonly name: string;
58
+ readonly description?: string;
59
+ /** JSON Schema for the call arguments. Free-form `JsonObject`. */
60
+ readonly parameters: JsonObject;
61
+ /** OpenAI strict-mode flag for argument validation. Defaults to true server-side. */
62
+ readonly strict?: boolean;
63
+ /**
64
+ * Upstream MCP `Tool.annotations` passed through verbatim by the MCP
65
+ * projection layer. Optional and advisory only — see {@link McpToolAnnotations}.
66
+ * Consumer-shipped `FunctionToolDef` entries may set this directly for
67
+ * non-MCP-backed tools that want to carry the same advisory hints.
68
+ */
69
+ readonly annotations?: McpToolAnnotations;
70
+ }
71
+ /** Wrapping discriminator for the OpenAI function-tool shape. */
72
+ export interface FunctionToolDef {
73
+ readonly type: 'function';
74
+ readonly function: FunctionDef;
75
+ }
76
+ /**
77
+ * Read-only view of a single MCP-discovered tool, passed to a Shape C
78
+ * filter callback. Carries the upstream MCP `Tool` shape verbatim:
79
+ *
80
+ * - `mcpName` — the registry name passed to `client.qar.registerMcp(name, ...)`
81
+ * - `name` — the upstream tool name as returned by `tools/list`
82
+ * (BEFORE the SDK's optional `<mcp>.<tool>` prefix)
83
+ * - `description` — upstream description (may be overridden by
84
+ * `mcpToolOverrides` at projection time)
85
+ * - `inputSchema` — JSON Schema for the call arguments, verbatim
86
+ * - `outputSchema` — optional JSON Schema for the structured output,
87
+ * verbatim (added in MCP 2025-06-18; absent on older servers)
88
+ * - `annotations` — see {@link McpToolAnnotations}
89
+ *
90
+ * Used by Shape C filter callbacks; consumers can read `annotations`
91
+ * (`readOnlyHint`, `destructiveHint`, etc.) to build security-aware tool
92
+ * surfaces without hand-maintaining a per-tool classification table.
93
+ */
94
+ export interface DiscoveredMcpTool {
95
+ readonly mcpName: string;
96
+ readonly name: string;
97
+ readonly description?: string;
98
+ readonly inputSchema: JsonObject;
99
+ readonly outputSchema?: JsonObject;
100
+ readonly annotations?: McpToolAnnotations;
101
+ }
102
+ /**
103
+ * Shape B — static allowlist + blocklist. Entries are either bare MCP
104
+ * names (matches every tool from that MCP) or `<mcp>.<tool>` dotted
105
+ * references (matches the specific tool). The effective surface is
106
+ * `union(allowlist) - blocklist`. An entry referencing an unregistered
107
+ * MCP, or a dotted name whose tool isn't in the live catalog, surfaces
108
+ * as a typed projection error at task.start.
109
+ */
110
+ export interface McpToolsSelectorAllowBlock {
111
+ readonly allowlist?: readonly string[];
112
+ readonly blocklist?: readonly string[];
113
+ }
114
+ /**
115
+ * Shape C — dynamic filter callback. Receives every discovered tool
116
+ * across every registered MCP (per the pool's cached catalog) and
117
+ * returns `true` to include the tool in the projection. Useful for
118
+ * security-aware filtering off `annotations.readOnlyHint`, alphabetical
119
+ * subsetting, or any rule that needs richer logic than a string-list
120
+ * match.
121
+ *
122
+ * The callback runs once per tool per `tasks.start*` call — keep it pure.
123
+ */
124
+ export type McpToolsSelectorFilter = (tool: DiscoveredMcpTool) => boolean;
125
+ /**
126
+ * The `mcpTools` selector field. Discriminated union of three shapes:
127
+ *
128
+ * - **Shape A** — `readonly string[]`. Entries are either MCP names
129
+ * (whole-server inclusion) or `<mcp>.<tool>` dotted names (specific
130
+ * tool). Matches the v1 SDK default ergonomic.
131
+ * - **Shape B** — `McpToolsSelectorAllowBlock`. Allowlist + optional
132
+ * blocklist, both using the same `<mcp>` / `<mcp>.<tool>` entry form.
133
+ * - **Shape C** — `McpToolsSelectorFilter` callback for dynamic /
134
+ * security-aware filtering.
135
+ *
136
+ * The shapes are mutually exclusive at the type level. Set `mcpTools` to
137
+ * one of the three; mixing allowlist + dynamic filter requires composing
138
+ * the callback yourself.
139
+ */
140
+ export type McpToolsSelector = readonly string[] | McpToolsSelectorAllowBlock | McpToolsSelectorFilter;
141
+ /**
142
+ * Per-tool description overlay applied after projection. Keys are tool
143
+ * names AS PROJECTED — including the `<mcp>.<tool>` prefix when the MCP
144
+ * is registered with `prefixToolNames: true` (default), or the bare tool
145
+ * name when prefix is opted out. Values override the discovered MCP
146
+ * `description` only; `inputSchema` / `outputSchema` / `annotations`
147
+ * remain MCP-authoritative.
148
+ *
149
+ * Unknown override keys (no matching projected tool) surface as a
150
+ * typed `QodoUnknownMcpToolError` at task.start.
151
+ */
152
+ export interface McpToolOverride {
153
+ readonly description?: string;
154
+ }
155
+ export type McpToolOverrides = {
156
+ readonly [projectedToolName: string]: McpToolOverride;
157
+ };
158
+ export interface InstructionsPreset {
159
+ readonly preset: 'qodo-default';
160
+ readonly append?: string;
161
+ }
162
+ export type Instructions = string | InstructionsPreset;
163
+ /**
164
+ * Inner shape of `output_schema.json_schema` and `deps_schema`. `strict`
165
+ * defaults to true server-side so the model's structured output gets
166
+ * OpenAI strict-mode validation.
167
+ */
168
+ export interface JsonSchemaSpec {
169
+ readonly name: string;
170
+ readonly schema: JsonObject;
171
+ readonly strict?: boolean;
172
+ }
173
+ /** `output_schema` wrapper that carries the OpenAI strict-mode flag. */
174
+ export interface OutputSchemaSpec {
175
+ readonly json_schema: JsonSchemaSpec;
176
+ }
177
+ /**
178
+ * A composed-skill reference. `vendor` defaults to `'qodo'` (canonical
179
+ * first-party namespace); `version` defaults to `'*'` (resolved at
180
+ * task.start via the deployment's lockfile).
181
+ */
182
+ export interface SkillRef {
183
+ readonly vendor?: string;
184
+ readonly name: string;
185
+ readonly version?: string;
186
+ readonly config?: JsonObject | null;
187
+ }
188
+ export interface SpawnableAgentRef {
189
+ readonly name: string;
190
+ readonly agent_id?: string | null;
191
+ readonly spec?: InlineAgentSpec | null;
192
+ }
193
+ export interface InlineAgentSpec {
194
+ readonly apiVersion: 'qar/v1';
195
+ /**
196
+ * The Pydantic discriminator QAR's `validate_spec_payload` routes on
197
+ * (`SPEC_KIND_AGENT = "AgentSpec"`). Optional in TypeScript so consumers
198
+ * can write `{ apiVersion, instructions, model }` literally and the SDK's
199
+ * pre-wire normalizer fills it in; the server-side validator requires
200
+ * the field, so an envelope crossing the wire always has it.
201
+ */
202
+ readonly kind?: 'AgentSpec';
203
+ readonly name?: string;
204
+ readonly instructions: Instructions;
205
+ readonly model: string;
206
+ readonly tools?: readonly FunctionToolDef[] | null;
207
+ readonly use_managed_tools?: boolean;
208
+ readonly excluded_tools?: readonly string[];
209
+ readonly output_schema?: OutputSchemaSpec | null;
210
+ readonly deps_schema?: JsonSchemaSpec | null;
211
+ readonly skills?: readonly SkillRef[];
212
+ readonly spawnable_agents?: readonly SpawnableAgentRef[];
213
+ /**
214
+ * Reserved by `D10-R1`. Rejected by the wire validator until the
215
+ * sandbox-execution ADR designs the runtime. Typing as literal `null`
216
+ * means the only value the TS compiler accepts is `null` itself, so a
217
+ * consumer who tries to attach `custom_code: { ... }` fails at compile
218
+ * time instead of getting a `task.done(failed)` round-trip.
219
+ */
220
+ readonly custom_code?: null;
221
+ /**
222
+ * Content-trust policy. Threads through to QAR's
223
+ * `AgentSpec.content_trust` and gates how untrusted content sources
224
+ * (tool outputs, HITL reasons, bulletin posts, evaluator rationale
225
+ * when this agent dispatches an evaluator) are wrapped before reaching
226
+ * the model. Absent/null = QAR-side defaults apply.
227
+ */
228
+ readonly content_trust?: ContentTrustPolicy | null;
229
+ /**
230
+ * Chat-mode primitive — mirror of QAR's
231
+ * `AgentSpec.auto_pause_on_turn_end`. When `true`, the runtime
232
+ * suspends the session on a synthetic `__auto_pause__` HITL after
233
+ * every successful agent turn so the next user message can resume
234
+ * the same session via `task.continue`. Default `false`. Field name
235
+ * is snake_case to match the existing SDK convention (every other
236
+ * AgentSpec field mirrors the Python wire spelling verbatim — see
237
+ * `hitl_default`, `use_managed_tools`, `content_trust`).
238
+ */
239
+ readonly auto_pause_on_turn_end?: boolean;
240
+ /**
241
+ * MCP tool auto-discovery selector. SDK-only field — the projection
242
+ * layer resolves this against the live `McpClientPool` catalog at
243
+ * `tasks.startWithAgent` / `tasks.startWithGraph` time and replaces it
244
+ * with the concrete `tools[]` shipped to QAR. Never crosses the wire as
245
+ * `mcpTools`; QAR sees the projected `tools[]` only.
246
+ *
247
+ * See {@link McpToolsSelector} for the three shapes (A whole-server, B
248
+ * allowlist/blocklist, C dynamic filter). Consumer-shipped `tools[]`
249
+ * entries continue to work and win on name collision with discovered
250
+ * tools — explicit > implicit.
251
+ */
252
+ readonly mcpTools?: McpToolsSelector;
253
+ /**
254
+ * Per-tool description overlay. SDK-only sibling field to
255
+ * `mcpTools` — applied AFTER projection so keys are tool names as
256
+ * projected (prefix-on or prefix-off depending on per-MCP
257
+ * `prefixToolNames`). Values override the discovered MCP `description`
258
+ * only; `inputSchema` / `outputSchema` / `annotations` remain
259
+ * MCP-authoritative. Stripped from the wire envelope alongside
260
+ * `mcpTools`. See {@link McpToolOverrides}.
261
+ */
262
+ readonly mcpToolOverrides?: McpToolOverrides;
263
+ }
264
+ /**
265
+ * Closed enum for a graph node's role in a `GraphSpec`.
266
+ *
267
+ * Widening this set (e.g. adding `router`, `peer`, `swarm`) requires bumping
268
+ * the wire `apiVersion` — the no-v0-planning rule binds the SDK to one role
269
+ * set per major version. Required on `InlineGraphAgent` (matches QAR's
270
+ * Pydantic shape, which has no default).
271
+ */
272
+ export type InlineGraphRole = 'supervisor' | 'collaborator' | 'evaluator';
273
+ /**
274
+ * Closed enum for a graph edge's dispatch kind.
275
+ *
276
+ * - `handoff` — control transfers: the producer hands off the task to the
277
+ * target node and the supervisor resumes when the target completes.
278
+ * - `ai_tool` — the target appears in the producer's tool catalog as a
279
+ * callable LLM-tool; results return as a tool response.
280
+ * - `evaluate` — the producer dispatches the target as an evaluator. The
281
+ * target must have `role: 'evaluator'`; its response is bound to the
282
+ * producer's `_verdicts[node]` state slot.
283
+ *
284
+ * Required on `InlineGraphEdge` (matches QAR's Pydantic shape; the field has
285
+ * no default).
286
+ */
287
+ export type InlineGraphEdgeKind = 'handoff' | 'ai_tool' | 'evaluate';
288
+ /**
289
+ * Trust mode for a piece of model-facing content. `'trusted'` means the
290
+ * content is passed verbatim to downstream prompts; `'untrusted'` means it
291
+ * is wrapped/sanitized per QAR's content-shielding protocol so injected
292
+ * instructions inside the content cannot exfiltrate authority. New values
293
+ * may be added by QAR without an SDK bump — the field is typed as the
294
+ * union below but the runtime validates against QAR's authoritative set.
295
+ */
296
+ export type ContentTrustMode = 'trusted' | 'untrusted';
297
+ /**
298
+ * Content-trust policy attached to an `AgentSpec` or
299
+ * `GraphSpec`. Field names match QAR's `ContentTrustPolicy` Pydantic
300
+ * model verbatim; the SDK does no normalization between this shape and
301
+ * the wire shape so the typed object posted by a consumer to
302
+ * `task.start { agent | graph, content_trust }` is what reaches QAR.
303
+ *
304
+ * **Policy fields** (every field is optional; absence = QAR-side default):
305
+ *
306
+ * - `evaluator_rationale_policy` — trust mode applied to rationale text
307
+ * emitted by evaluator-role nodes. Controls whether the
308
+ * rationale is rendered verbatim to the supervisor's prompt context
309
+ * or wrapped as untrusted content.
310
+ * - `hitl_reason_policy` — trust mode applied to HITL resolution
311
+ * `reason` strings. Consumers escalating untrusted user
312
+ * input (chat operator, end-user resolution) should set this to
313
+ * `'untrusted'`.
314
+ * - `tool_output_policy` — trust mode applied to tool response
315
+ * payloads stitched back into the model's context window. Default
316
+ * QAR-side is `'untrusted'` for tools fetching external data and
317
+ * `'trusted'` for in-process SDK tools.
318
+ * - `bulletin_post_policy` — trust mode applied to bulletin findings
319
+ * when forwarded into a supervisor's prompt.
320
+ * - `max_untrusted_bytes` — byte cap applied to any single piece of
321
+ * untrusted content before truncation. Default QAR-side. Use to
322
+ * guard against prompt-injection payloads that try to bury
323
+ * instructions in long content.
324
+ * - `max_trusted_bytes` — byte cap on trusted content too (defense in
325
+ * depth against runaway evaluator rationales). Optional.
326
+ */
327
+ export interface ContentTrustPolicy {
328
+ readonly evaluator_rationale_policy?: ContentTrustMode | null;
329
+ readonly hitl_reason_policy?: ContentTrustMode | null;
330
+ readonly tool_output_policy?: ContentTrustMode | null;
331
+ readonly bulletin_post_policy?: ContentTrustMode | null;
332
+ readonly max_untrusted_bytes?: number | null;
333
+ readonly max_trusted_bytes?: number | null;
334
+ }
335
+ /**
336
+ * Agent / graph-node HITL mode. Mirrors QAR's `qar.protocol.hitl.HITLMode`
337
+ * string-enum verbatim:
338
+ *
339
+ * - `'enabled'` — frame MAY auto-resolve in-process (subject to the
340
+ * `Sensitivity.SECRET` bypass) or forward upward / to the consumer.
341
+ * - `'passthrough'` — frame forwards every HITL envelope unchanged to its
342
+ * ancestor; never auto-resolves.
343
+ * - `'disabled'` — frame rejects any HITL surfaced at this boundary;
344
+ * synthesized `hitl_resolved` closes the row. ADR-prescribed default —
345
+ * headless automation is the dominant SDK use case.
346
+ *
347
+ * The wire spelling matches Python's `HITLMode` value strings exactly so the
348
+ * dispatch-side parse doesn't translate.
349
+ */
350
+ export type InlineHITLMode = 'enabled' | 'passthrough' | 'disabled';
351
+ /**
352
+ * Server-static reference inside a graph node's `spec`. Matches QAR's
353
+ * `qar.specs.models.GraphAgentStaticRef` — the only field is
354
+ * `agent_id`, a non-empty string that resolves against the deployment's
355
+ * static agent table. The discriminated-union arm for "this node is a
356
+ * pre-registered static agent, not an inline spec".
357
+ */
358
+ export interface InlineGraphAgentStaticRef {
359
+ readonly agent_id: string;
360
+ }
361
+ /**
362
+ * One node in the graph. Matches QAR's `qar.specs.models.GraphAgent`:
363
+ *
364
+ * - `spec` is the discriminated union the validator routes on — inline
365
+ * `InlineAgentSpec` (kind `'AgentSpec'`), nested `InlineGraphSpec`
366
+ * (kind `'GraphSpec'`, recursive subgraph), or
367
+ * `InlineGraphAgentStaticRef` (`{ agent_id }`, server-side ref).
368
+ * The wire validator narrows on `spec.kind` for the first two arms and
369
+ * by the presence of `agent_id` for the static ref.
370
+ * - `role` is required (no Pydantic default).
371
+ * - `hitl` is optional and overrides the enclosing graph's
372
+ * `hitl_default`. `null`/absent means "inherit from the graph default"
373
+ * — a distinct semantic from "explicitly set to `'disabled'`".
374
+ *
375
+ * **The node name is the dict key in `InlineGraphSpec.agents`**, not a
376
+ * field on this type — QAR's Pydantic model is `dict[str, GraphAgent]`.
377
+ * Lifting the name out of the value lets dict key uniqueness enforce
378
+ * agent-name uniqueness for free (D11-R3) and gives `entry: <name>` a
379
+ * referential anchor.
380
+ */
381
+ export interface InlineGraphAgent {
382
+ readonly spec: InlineAgentSpec | InlineGraphSpec | InlineGraphAgentStaticRef;
383
+ readonly role: InlineGraphRole;
384
+ readonly hitl?: InlineHITLMode | null;
385
+ /**
386
+ * Chat-mode primitive — per-node override for the graph's
387
+ * `auto_pause_on_turn_end_default`. `null` / absent means "inherit
388
+ * the graph default" (matching the `hitl` field's
389
+ * none-vs-disabled distinction). An explicit `false` opts the
390
+ * node OUT of chat-mode the graph turned on. Wire-facing
391
+ * auto-pause only applies to the entry supervisor's turn — see
392
+ * the chat-mode doc for the per-role semantics.
393
+ */
394
+ readonly auto_pause_on_turn_end?: boolean | null;
395
+ }
396
+ /**
397
+ * Discriminated `on_error` policy for an edge. Mirrors QAR's
398
+ * `EdgeOnErrorAbort | EdgeOnErrorRoute`:
399
+ *
400
+ * - `{ abort: true }` — terminate the graph with the error.
401
+ * - `{ route_to: <node> }` — route control to the named recovery node.
402
+ *
403
+ * Exactly one shape per object (Pydantic `extra='forbid'`).
404
+ */
405
+ export type InlineEdgeOnError = {
406
+ readonly abort: true;
407
+ } | {
408
+ readonly route_to: string;
409
+ };
410
+ /**
411
+ * A directed edge in the graph (spawn permission `from -> to`). Mirrors
412
+ * QAR's `Edge`. `kind` is required (no Pydantic default); `on_error` is
413
+ * optional and carries the same shape across all three edge kinds (no
414
+ * per-kind subclassing — see `Edge.__doc__` in QAR).
415
+ */
416
+ export interface InlineGraphEdge {
417
+ readonly from: string;
418
+ readonly to: string;
419
+ readonly kind: InlineGraphEdgeKind;
420
+ readonly on_error?: InlineEdgeOnError | null;
421
+ }
422
+ /**
423
+ * Per-graph budget envelope. Mirrors QAR's `GraphBudget` — every field is
424
+ * required and must be `> 0` server-side. The SDK exposes the same shape so
425
+ * a consumer authoring a graph from TS picks the limits explicitly.
426
+ */
427
+ export interface InlineGraphBudget {
428
+ readonly total_input_tokens: number;
429
+ readonly total_output_tokens: number;
430
+ readonly total_wall_clock_s: number;
431
+ }
432
+ /**
433
+ * Graph-wide limits. Mirrors QAR's `GraphLimits`. Pydantic side has defaults
434
+ * for every numeric field; the SDK type makes `limits` required on
435
+ * `InlineGraphSpec` so consumers think about the caps explicitly, but
436
+ * each individual sub-field stays optional so a consumer who only wants
437
+ * to override `max_steps` doesn't have to copy the other defaults
438
+ * verbatim.
439
+ *
440
+ * `max_depth` is the nesting cap. Pydantic enforces `ge=1`; the
441
+ * effective ceiling at dispatch time is `min(platform_cap, tenant_cap,
442
+ * spec_declared)` — the wire validator emits `D13-R2` when this value
443
+ * exceeds the deployment's effective cap.
444
+ */
445
+ export interface InlineGraphLimits {
446
+ readonly max_steps?: number;
447
+ readonly max_depth?: number;
448
+ readonly per_agent_iterations?: number;
449
+ readonly budget?: InlineGraphBudget | null;
450
+ }
451
+ /**
452
+ * Per-dispatch
453
+ * budget envelope handed from an outer supervisor to a subgraph. Carried on
454
+ * the subgraph-dispatch tool-call's `args` under the reserved key
455
+ * `allocation`. Mirrors QAR's `SubgraphAllocation`.
456
+ *
457
+ * Every field is optional; omitted layers are auto-filled at dispatch time
458
+ * with `min(inner.declared, outer.remaining)`. The cross-layer comparison
459
+ * is rule `D13-R3` and runs server-side.
460
+ */
461
+ export interface InlineSubgraphAllocation {
462
+ readonly input_tokens?: number | null;
463
+ readonly output_tokens?: number | null;
464
+ readonly wall_clock_s?: number | null;
465
+ readonly max_steps?: number | null;
466
+ }
467
+ /**
468
+ * Closed union of termination conditions. Mirrors QAR's `TerminationCondition`:
469
+ *
470
+ * - `{ kind: 'agent_returns', agent: <name> }` — graph terminates when the
471
+ * named agent returns.
472
+ * - `{ kind: 'max_steps_reached' }` — graph terminates when `limits.max_steps`
473
+ * is reached.
474
+ * - `{ kind: 'error_uncaught' }` — graph terminates on an unhandled error.
475
+ *
476
+ * `kind` discriminates the three shapes at parse time. QAR's wire validator
477
+ * (`D11-R*`) checks the union exhaustively; the SDK's pre-wire validator
478
+ * does the obvious well-formedness checks.
479
+ */
480
+ export type InlineTerminationCondition = {
481
+ readonly kind: 'agent_returns';
482
+ readonly agent: string;
483
+ } | {
484
+ readonly kind: 'max_steps_reached';
485
+ } | {
486
+ readonly kind: 'error_uncaught';
487
+ };
488
+ /**
489
+ * Inline-graph spec — multi-agent declarative topology. Mirrors QAR's
490
+ * `qar.specs.models.GraphSpec` verbatim.
491
+ *
492
+ * Wire-required fields per QAR's Pydantic model:
493
+ * - `apiVersion: 'qar/v1'` — discriminator the validator routes on.
494
+ * - `kind: 'GraphSpec'` — matches `SPEC_KIND_GRAPH`.
495
+ * - `agents: Record<string, InlineGraphAgent>` — dict keyed by node name
496
+ * (NOT an array; the dict key gives agent names referential integrity
497
+ * against `entry: <name>` and edge `from`/`to` fields).
498
+ * - `entry: string` — name of the entry node (must be a key of `agents`).
499
+ * - `termination: InlineTerminationCondition[]` — non-empty list of
500
+ * termination conditions.
501
+ *
502
+ * SDK-required (TS-side opinion):
503
+ * - `limits: InlineGraphLimits` — wire-side this has a Pydantic
504
+ * `default_factory=GraphLimits`, but the SDK forces consumers to be
505
+ * explicit. Passing `{}` accepts every default.
506
+ *
507
+ * Optional fields (with Pydantic-side defaults):
508
+ * - `name`, `output_schema`, `deps_schema`, `hitl_default`,
509
+ * `parent_close_policy` (reserved-and-rejected — must be `null`;
510
+ * wire validator emits `D13-R5` on any non-null).
511
+ * - `edges: InlineGraphEdge[]` — defaults to `[]` on the QAR side.
512
+ */
513
+ export interface InlineGraphSpec {
514
+ readonly apiVersion: 'qar/v1';
515
+ readonly kind: 'GraphSpec';
516
+ readonly name?: string | null;
517
+ readonly agents: Readonly<Record<string, InlineGraphAgent>>;
518
+ readonly edges?: readonly InlineGraphEdge[];
519
+ readonly entry: string;
520
+ readonly limits: InlineGraphLimits;
521
+ readonly termination: readonly InlineTerminationCondition[];
522
+ readonly output_schema?: OutputSchemaSpec | null;
523
+ readonly deps_schema?: JsonSchemaSpec | null;
524
+ /** Graph-wide default HITL mode applied to nodes whose own `hitl` is unset. */
525
+ readonly hitl_default?: InlineHITLMode;
526
+ /**
527
+ * Chat-mode primitive — graph-wide default for
528
+ * `InlineGraphAgent.auto_pause_on_turn_end`. A node whose own
529
+ * field is `null`/absent inherits this value; an explicit
530
+ * per-node `true`/`false` wins. Default `false` matches the
531
+ * ADR-prescribed "headless is default" stance. Threads through to
532
+ * QAR's `GraphSpec.auto_pause_on_turn_end_default`.
533
+ */
534
+ readonly auto_pause_on_turn_end_default?: boolean;
535
+ /**
536
+ * Reserved-and-rejected — must be `null`. Typed as literal `null` so
537
+ * the only value the TS compiler accepts is `null` itself; QAR's wire
538
+ * validator emits `D13-R5` on any non-null. Mirrors AgentSpec's
539
+ * `custom_code`.
540
+ */
541
+ readonly parent_close_policy?: null;
542
+ /**
543
+ * Content-trust policy. Graph-wide defaults applied to inline agents
544
+ * that don't declare their own `content_trust`. Threads through to
545
+ * QAR's `GraphSpec.content_trust`. Absent/null = QAR-side defaults
546
+ * apply.
547
+ */
548
+ readonly content_trust?: ContentTrustPolicy | null;
549
+ }
550
+ /**
551
+ * Per-agent verdict shape returned by evaluator-role nodes. Mirrors QAR
552
+ * QAR's Pydantic `VerdictResult` (and the LLM-as-judge patterns in
553
+ * RAGAS / OpenAI Evals):
554
+ *
555
+ * - `verdict` — closed three-arm enum. The supervisor's next turn branches
556
+ * on this discriminator.
557
+ * - `confidence` — optional scalar in `[0, 1]`. QAR's Pydantic model
558
+ * enforces the range with `ge=0, le=1`; the SDK matches that for
559
+ * pre-flight rejection (`D11-R12`).
560
+ * - `rationale` — optional free-form explanation. Surfaced verbatim to
561
+ * the supervisor's prompt context.
562
+ * - `[k: string]: unknown` — RAGAS-style additional scores (e.g.
563
+ * `faithfulness`, `answer_relevancy`). QAR's Pydantic model uses
564
+ * `extra="allow"`; the SDK mirrors that with the open index signature.
565
+ *
566
+ * Bound at runtime to the producer's `_verdicts[node]` state slot — see
567
+ * QAR's `dispatch_evaluator` runtime.
568
+ */
569
+ export interface VerdictResult {
570
+ readonly verdict: 'pass' | 'fail' | 'needs_revision';
571
+ readonly confidence?: number;
572
+ readonly rationale?: string;
573
+ readonly [k: string]: unknown;
574
+ }
575
+ /** Discriminated union accepted by `client.specs.validate`. */
576
+ export type InlineSpec = InlineAgentSpec | InlineGraphSpec;
577
+ /**
578
+ * Discriminator literal — the value of `kind` on each branch.
579
+ * Matches QAR's `SPEC_KIND_AGENT` / `SPEC_KIND_GRAPH` exactly.
580
+ */
581
+ export type InlineSpecKind = 'AgentSpec' | 'GraphSpec';
582
+ /**
583
+ * Per-rule validation failure. Mirrors QAR's response shape. `rule_id` is
584
+ * one of the `D10-R*` set, the `D11-R*` set, or a small set of
585
+ * surface-rejection ids (`D10-UNSUPPORTED`, `D10-UNSUPPORTED-SPAWN`); `path`
586
+ * is a JSON Pointer (RFC 6901) into the spec, with `""` denoting the root.
587
+ */
588
+ export interface SpecValidationError {
589
+ readonly rule_id: string;
590
+ readonly path: string;
591
+ readonly message: string;
592
+ }
593
+ /**
594
+ * Result envelope returned by `client.specs.validate`. Discriminated on
595
+ * `valid` so consumers can branch directly on `result.valid` (no extra
596
+ * type guard needed) — the `errors` array only exists on the `false` arm.
597
+ */
598
+ export type SpecValidateResult = {
599
+ readonly valid: true;
600
+ } | {
601
+ readonly valid: false;
602
+ readonly errors: readonly SpecValidationError[];
603
+ };
604
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/qar/specs.ts"],"names":[],"mappings":"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"}