@qodo/sdk 0.1.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 (303) hide show
  1. package/LICENSE +118 -0
  2. package/README.md +121 -0
  3. package/dist/api/agent.d.ts +69 -0
  4. package/dist/api/agent.d.ts.map +1 -0
  5. package/dist/api/agent.js +1034 -0
  6. package/dist/api/agent.js.map +1 -0
  7. package/dist/api/analytics.d.ts +43 -0
  8. package/dist/api/analytics.d.ts.map +1 -0
  9. package/dist/api/analytics.js +163 -0
  10. package/dist/api/analytics.js.map +1 -0
  11. package/dist/api/http.d.ts +5 -0
  12. package/dist/api/http.d.ts.map +1 -0
  13. package/dist/api/http.js +59 -0
  14. package/dist/api/http.js.map +1 -0
  15. package/dist/api/index.d.ts +12 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +17 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/api/taskTracking.d.ts +54 -0
  20. package/dist/api/taskTracking.d.ts.map +1 -0
  21. package/dist/api/taskTracking.js +208 -0
  22. package/dist/api/taskTracking.js.map +1 -0
  23. package/dist/api/types.d.ts +92 -0
  24. package/dist/api/types.d.ts.map +1 -0
  25. package/dist/api/types.js +2 -0
  26. package/dist/api/types.js.map +1 -0
  27. package/dist/api/utils.d.ts +8 -0
  28. package/dist/api/utils.d.ts.map +1 -0
  29. package/dist/api/utils.js +54 -0
  30. package/dist/api/utils.js.map +1 -0
  31. package/dist/api/websocket.d.ts +74 -0
  32. package/dist/api/websocket.d.ts.map +1 -0
  33. package/dist/api/websocket.js +685 -0
  34. package/dist/api/websocket.js.map +1 -0
  35. package/dist/auth/index.d.ts +25 -0
  36. package/dist/auth/index.d.ts.map +1 -0
  37. package/dist/auth/index.js +85 -0
  38. package/dist/auth/index.js.map +1 -0
  39. package/dist/clients/index.d.ts +8 -0
  40. package/dist/clients/index.d.ts.map +1 -0
  41. package/dist/clients/index.js +7 -0
  42. package/dist/clients/index.js.map +1 -0
  43. package/dist/clients/info/InfoClient.d.ts +37 -0
  44. package/dist/clients/info/InfoClient.d.ts.map +1 -0
  45. package/dist/clients/info/InfoClient.js +69 -0
  46. package/dist/clients/info/InfoClient.js.map +1 -0
  47. package/dist/clients/info/index.d.ts +4 -0
  48. package/dist/clients/info/index.d.ts.map +1 -0
  49. package/dist/clients/info/index.js +2 -0
  50. package/dist/clients/info/index.js.map +1 -0
  51. package/dist/clients/info/types.d.ts +21 -0
  52. package/dist/clients/info/types.d.ts.map +1 -0
  53. package/dist/clients/info/types.js +2 -0
  54. package/dist/clients/info/types.js.map +1 -0
  55. package/dist/clients/sessions/SessionsClient.d.ts +34 -0
  56. package/dist/clients/sessions/SessionsClient.d.ts.map +1 -0
  57. package/dist/clients/sessions/SessionsClient.js +71 -0
  58. package/dist/clients/sessions/SessionsClient.js.map +1 -0
  59. package/dist/clients/sessions/index.d.ts +4 -0
  60. package/dist/clients/sessions/index.d.ts.map +1 -0
  61. package/dist/clients/sessions/index.js +2 -0
  62. package/dist/clients/sessions/index.js.map +1 -0
  63. package/dist/clients/sessions/types.d.ts +20 -0
  64. package/dist/clients/sessions/types.d.ts.map +1 -0
  65. package/dist/clients/sessions/types.js +2 -0
  66. package/dist/clients/sessions/types.js.map +1 -0
  67. package/dist/config/ConfigManager.d.ts +43 -0
  68. package/dist/config/ConfigManager.d.ts.map +1 -0
  69. package/dist/config/ConfigManager.js +472 -0
  70. package/dist/config/ConfigManager.js.map +1 -0
  71. package/dist/config/index.d.ts +6 -0
  72. package/dist/config/index.d.ts.map +1 -0
  73. package/dist/config/index.js +7 -0
  74. package/dist/config/index.js.map +1 -0
  75. package/dist/config/urlConfig.d.ts +15 -0
  76. package/dist/config/urlConfig.d.ts.map +1 -0
  77. package/dist/config/urlConfig.js +75 -0
  78. package/dist/config/urlConfig.js.map +1 -0
  79. package/dist/constants/errors.d.ts +2 -0
  80. package/dist/constants/errors.d.ts.map +1 -0
  81. package/dist/constants/errors.js +2 -0
  82. package/dist/constants/errors.js.map +1 -0
  83. package/dist/constants/index.d.ts +7 -0
  84. package/dist/constants/index.d.ts.map +1 -0
  85. package/dist/constants/index.js +11 -0
  86. package/dist/constants/index.js.map +1 -0
  87. package/dist/constants/tools.d.ts +4 -0
  88. package/dist/constants/tools.d.ts.map +1 -0
  89. package/dist/constants/tools.js +4 -0
  90. package/dist/constants/tools.js.map +1 -0
  91. package/dist/constants/versions.d.ts +2 -0
  92. package/dist/constants/versions.d.ts.map +1 -0
  93. package/dist/constants/versions.js +2 -0
  94. package/dist/constants/versions.js.map +1 -0
  95. package/dist/context/buildUserContext.d.ts +18 -0
  96. package/dist/context/buildUserContext.d.ts.map +1 -0
  97. package/dist/context/buildUserContext.js +34 -0
  98. package/dist/context/buildUserContext.js.map +1 -0
  99. package/dist/context/index.d.ts +9 -0
  100. package/dist/context/index.d.ts.map +1 -0
  101. package/dist/context/index.js +9 -0
  102. package/dist/context/index.js.map +1 -0
  103. package/dist/context/messageManager.d.ts +42 -0
  104. package/dist/context/messageManager.d.ts.map +1 -0
  105. package/dist/context/messageManager.js +322 -0
  106. package/dist/context/messageManager.js.map +1 -0
  107. package/dist/context/taskFocus.d.ts +2 -0
  108. package/dist/context/taskFocus.d.ts.map +1 -0
  109. package/dist/context/taskFocus.js +26 -0
  110. package/dist/context/taskFocus.js.map +1 -0
  111. package/dist/context/userInput.d.ts +3 -0
  112. package/dist/context/userInput.d.ts.map +1 -0
  113. package/dist/context/userInput.js +20 -0
  114. package/dist/context/userInput.js.map +1 -0
  115. package/dist/index.d.ts +18 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +21 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/mcp/MCPManager.d.ts +125 -0
  120. package/dist/mcp/MCPManager.d.ts.map +1 -0
  121. package/dist/mcp/MCPManager.js +616 -0
  122. package/dist/mcp/MCPManager.js.map +1 -0
  123. package/dist/mcp/approvedTools.d.ts +4 -0
  124. package/dist/mcp/approvedTools.d.ts.map +1 -0
  125. package/dist/mcp/approvedTools.js +19 -0
  126. package/dist/mcp/approvedTools.js.map +1 -0
  127. package/dist/mcp/baseServer.d.ts +75 -0
  128. package/dist/mcp/baseServer.d.ts.map +1 -0
  129. package/dist/mcp/baseServer.js +107 -0
  130. package/dist/mcp/baseServer.js.map +1 -0
  131. package/dist/mcp/builtinServers.d.ts +15 -0
  132. package/dist/mcp/builtinServers.d.ts.map +1 -0
  133. package/dist/mcp/builtinServers.js +155 -0
  134. package/dist/mcp/builtinServers.js.map +1 -0
  135. package/dist/mcp/dynamicBEServer.d.ts +20 -0
  136. package/dist/mcp/dynamicBEServer.d.ts.map +1 -0
  137. package/dist/mcp/dynamicBEServer.js +52 -0
  138. package/dist/mcp/dynamicBEServer.js.map +1 -0
  139. package/dist/mcp/index.d.ts +19 -0
  140. package/dist/mcp/index.d.ts.map +1 -0
  141. package/dist/mcp/index.js +24 -0
  142. package/dist/mcp/index.js.map +1 -0
  143. package/dist/mcp/mcpInitialization.d.ts +2 -0
  144. package/dist/mcp/mcpInitialization.d.ts.map +1 -0
  145. package/dist/mcp/mcpInitialization.js +56 -0
  146. package/dist/mcp/mcpInitialization.js.map +1 -0
  147. package/dist/mcp/servers/filesystem.d.ts +75 -0
  148. package/dist/mcp/servers/filesystem.d.ts.map +1 -0
  149. package/dist/mcp/servers/filesystem.js +992 -0
  150. package/dist/mcp/servers/filesystem.js.map +1 -0
  151. package/dist/mcp/servers/gerrit.d.ts +19 -0
  152. package/dist/mcp/servers/gerrit.d.ts.map +1 -0
  153. package/dist/mcp/servers/gerrit.js +515 -0
  154. package/dist/mcp/servers/gerrit.js.map +1 -0
  155. package/dist/mcp/servers/git.d.ts +18 -0
  156. package/dist/mcp/servers/git.d.ts.map +1 -0
  157. package/dist/mcp/servers/git.js +441 -0
  158. package/dist/mcp/servers/git.js.map +1 -0
  159. package/dist/mcp/servers/ripgrep.d.ts +34 -0
  160. package/dist/mcp/servers/ripgrep.d.ts.map +1 -0
  161. package/dist/mcp/servers/ripgrep.js +517 -0
  162. package/dist/mcp/servers/ripgrep.js.map +1 -0
  163. package/dist/mcp/servers/shell.d.ts +20 -0
  164. package/dist/mcp/servers/shell.d.ts.map +1 -0
  165. package/dist/mcp/servers/shell.js +603 -0
  166. package/dist/mcp/servers/shell.js.map +1 -0
  167. package/dist/mcp/serversRegistry.d.ts +55 -0
  168. package/dist/mcp/serversRegistry.d.ts.map +1 -0
  169. package/dist/mcp/serversRegistry.js +410 -0
  170. package/dist/mcp/serversRegistry.js.map +1 -0
  171. package/dist/mcp/toolProcessor.d.ts +42 -0
  172. package/dist/mcp/toolProcessor.d.ts.map +1 -0
  173. package/dist/mcp/toolProcessor.js +200 -0
  174. package/dist/mcp/toolProcessor.js.map +1 -0
  175. package/dist/mcp/types.d.ts +29 -0
  176. package/dist/mcp/types.d.ts.map +1 -0
  177. package/dist/mcp/types.js +2 -0
  178. package/dist/mcp/types.js.map +1 -0
  179. package/dist/parser/index.d.ts +72 -0
  180. package/dist/parser/index.d.ts.map +1 -0
  181. package/dist/parser/index.js +967 -0
  182. package/dist/parser/index.js.map +1 -0
  183. package/dist/parser/types.d.ts +153 -0
  184. package/dist/parser/types.d.ts.map +1 -0
  185. package/dist/parser/types.js +6 -0
  186. package/dist/parser/types.js.map +1 -0
  187. package/dist/parser/utils.d.ts +18 -0
  188. package/dist/parser/utils.d.ts.map +1 -0
  189. package/dist/parser/utils.js +64 -0
  190. package/dist/parser/utils.js.map +1 -0
  191. package/dist/sdk/QodoSDK.d.ts +152 -0
  192. package/dist/sdk/QodoSDK.d.ts.map +1 -0
  193. package/dist/sdk/QodoSDK.js +786 -0
  194. package/dist/sdk/QodoSDK.js.map +1 -0
  195. package/dist/sdk/bootstrap.d.ts +16 -0
  196. package/dist/sdk/bootstrap.d.ts.map +1 -0
  197. package/dist/sdk/bootstrap.js +21 -0
  198. package/dist/sdk/bootstrap.js.map +1 -0
  199. package/dist/sdk/builders.d.ts +54 -0
  200. package/dist/sdk/builders.d.ts.map +1 -0
  201. package/dist/sdk/builders.js +117 -0
  202. package/dist/sdk/builders.js.map +1 -0
  203. package/dist/sdk/defaults.d.ts +11 -0
  204. package/dist/sdk/defaults.d.ts.map +1 -0
  205. package/dist/sdk/defaults.js +39 -0
  206. package/dist/sdk/defaults.js.map +1 -0
  207. package/dist/sdk/discovery.d.ts +2 -0
  208. package/dist/sdk/discovery.d.ts.map +1 -0
  209. package/dist/sdk/discovery.js +25 -0
  210. package/dist/sdk/discovery.js.map +1 -0
  211. package/dist/sdk/events.d.ts +168 -0
  212. package/dist/sdk/events.d.ts.map +1 -0
  213. package/dist/sdk/events.js +52 -0
  214. package/dist/sdk/events.js.map +1 -0
  215. package/dist/sdk/index.d.ts +17 -0
  216. package/dist/sdk/index.d.ts.map +1 -0
  217. package/dist/sdk/index.js +17 -0
  218. package/dist/sdk/index.js.map +1 -0
  219. package/dist/sdk/runner/AgentRunner.d.ts +22 -0
  220. package/dist/sdk/runner/AgentRunner.d.ts.map +1 -0
  221. package/dist/sdk/runner/AgentRunner.js +222 -0
  222. package/dist/sdk/runner/AgentRunner.js.map +1 -0
  223. package/dist/sdk/runner/finalize.d.ts +9 -0
  224. package/dist/sdk/runner/finalize.d.ts.map +1 -0
  225. package/dist/sdk/runner/finalize.js +115 -0
  226. package/dist/sdk/runner/finalize.js.map +1 -0
  227. package/dist/sdk/runner/formats.d.ts +7 -0
  228. package/dist/sdk/runner/formats.d.ts.map +1 -0
  229. package/dist/sdk/runner/formats.js +91 -0
  230. package/dist/sdk/runner/formats.js.map +1 -0
  231. package/dist/sdk/runner/index.d.ts +9 -0
  232. package/dist/sdk/runner/index.d.ts.map +1 -0
  233. package/dist/sdk/runner/index.js +9 -0
  234. package/dist/sdk/runner/index.js.map +1 -0
  235. package/dist/sdk/runner/progress.d.ts +3 -0
  236. package/dist/sdk/runner/progress.d.ts.map +1 -0
  237. package/dist/sdk/runner/progress.js +16 -0
  238. package/dist/sdk/runner/progress.js.map +1 -0
  239. package/dist/sdk/schemas.d.ts +50 -0
  240. package/dist/sdk/schemas.d.ts.map +1 -0
  241. package/dist/sdk/schemas.js +145 -0
  242. package/dist/sdk/schemas.js.map +1 -0
  243. package/dist/session/SessionContext.d.ts +86 -0
  244. package/dist/session/SessionContext.d.ts.map +1 -0
  245. package/dist/session/SessionContext.js +395 -0
  246. package/dist/session/SessionContext.js.map +1 -0
  247. package/dist/session/environment.d.ts +42 -0
  248. package/dist/session/environment.d.ts.map +1 -0
  249. package/dist/session/environment.js +27 -0
  250. package/dist/session/environment.js.map +1 -0
  251. package/dist/session/history.d.ts +3 -0
  252. package/dist/session/history.d.ts.map +1 -0
  253. package/dist/session/history.js +67 -0
  254. package/dist/session/history.js.map +1 -0
  255. package/dist/session/index.d.ts +10 -0
  256. package/dist/session/index.d.ts.map +1 -0
  257. package/dist/session/index.js +9 -0
  258. package/dist/session/index.js.map +1 -0
  259. package/dist/session/serverData.d.ts +38 -0
  260. package/dist/session/serverData.d.ts.map +1 -0
  261. package/dist/session/serverData.js +241 -0
  262. package/dist/session/serverData.js.map +1 -0
  263. package/dist/tracking/Tracker.d.ts +55 -0
  264. package/dist/tracking/Tracker.d.ts.map +1 -0
  265. package/dist/tracking/Tracker.js +217 -0
  266. package/dist/tracking/Tracker.js.map +1 -0
  267. package/dist/tracking/index.d.ts +8 -0
  268. package/dist/tracking/index.d.ts.map +1 -0
  269. package/dist/tracking/index.js +8 -0
  270. package/dist/tracking/index.js.map +1 -0
  271. package/dist/tracking/schemas.d.ts +292 -0
  272. package/dist/tracking/schemas.d.ts.map +1 -0
  273. package/dist/tracking/schemas.js +91 -0
  274. package/dist/tracking/schemas.js.map +1 -0
  275. package/dist/types.d.ts +4 -0
  276. package/dist/types.d.ts.map +1 -0
  277. package/dist/types.js +2 -0
  278. package/dist/types.js.map +1 -0
  279. package/dist/utils/extractSetFlags.d.ts +6 -0
  280. package/dist/utils/extractSetFlags.d.ts.map +1 -0
  281. package/dist/utils/extractSetFlags.js +16 -0
  282. package/dist/utils/extractSetFlags.js.map +1 -0
  283. package/dist/utils/formatTimeAgo.d.ts +2 -0
  284. package/dist/utils/formatTimeAgo.d.ts.map +1 -0
  285. package/dist/utils/formatTimeAgo.js +20 -0
  286. package/dist/utils/formatTimeAgo.js.map +1 -0
  287. package/dist/utils/index.d.ts +12 -0
  288. package/dist/utils/index.d.ts.map +1 -0
  289. package/dist/utils/index.js +12 -0
  290. package/dist/utils/index.js.map +1 -0
  291. package/dist/utils/machineId.d.ts +14 -0
  292. package/dist/utils/machineId.d.ts.map +1 -0
  293. package/dist/utils/machineId.js +66 -0
  294. package/dist/utils/machineId.js.map +1 -0
  295. package/dist/utils/pathUtils.d.ts +22 -0
  296. package/dist/utils/pathUtils.d.ts.map +1 -0
  297. package/dist/utils/pathUtils.js +54 -0
  298. package/dist/utils/pathUtils.js.map +1 -0
  299. package/dist/version.d.ts +2 -0
  300. package/dist/version.d.ts.map +1 -0
  301. package/dist/version.js +23 -0
  302. package/dist/version.js.map +1 -0
  303. package/package.json +93 -0
package/LICENSE ADDED
@@ -0,0 +1,118 @@
1
+ Qodo SDK Software License Agreement
2
+
3
+ Copyright (c) 2024-2025 Qodo Ltd. All Rights Reserved.
4
+
5
+ IMPORTANT: READ THIS LICENSE AGREEMENT CAREFULLY BEFORE USING THIS SOFTWARE.
6
+
7
+ 1. DEFINITIONS
8
+
9
+ "Software" means the Qodo SDK, including all source code, object code, documentation,
10
+ and any updates or modifications provided by Qodo Ltd.
11
+
12
+ "Licensee" means the individual or entity that has agreed to this License.
13
+
14
+ "Authorized Use" means use of the Software solely in connection with Qodo's services
15
+ and with a valid API key or subscription obtained from Qodo Ltd.
16
+
17
+ 2. LICENSE GRANT
18
+
19
+ Subject to the terms of this Agreement, Qodo Ltd. grants Licensee a limited,
20
+ non-exclusive, non-transferable, revocable license to use the Software solely for
21
+ Authorized Use in connection with Qodo's services.
22
+
23
+ 3. RESTRICTIONS
24
+
25
+ Licensee shall NOT:
26
+
27
+ (a) Copy, reproduce, or duplicate the Software except as necessary for Authorized Use;
28
+
29
+ (b) Modify, adapt, translate, reverse engineer, decompile, disassemble, or create
30
+ derivative works based on the Software;
31
+
32
+ (c) Distribute, sublicense, lease, rent, loan, or otherwise transfer the Software
33
+ to any third party;
34
+
35
+ (d) Remove, alter, or obscure any proprietary notices, labels, or marks on the Software;
36
+
37
+ (e) Use the Software to build a competing product or service;
38
+
39
+ (f) Use the Software without a valid API key or subscription from Qodo Ltd.;
40
+
41
+ (g) Circumvent any technical limitations or access controls in the Software;
42
+
43
+ (h) Use the Software in any manner that violates applicable laws or regulations.
44
+
45
+ 4. INTELLECTUAL PROPERTY
46
+
47
+ The Software is proprietary to Qodo Ltd. and is protected by copyright, trade secret,
48
+ and other intellectual property laws. Qodo Ltd. retains all right, title, and interest
49
+ in and to the Software, including all intellectual property rights therein. No title
50
+ to or ownership of the Software is transferred to Licensee.
51
+
52
+ 5. CONFIDENTIALITY
53
+
54
+ Licensee acknowledges that the Software contains trade secrets and confidential
55
+ information of Qodo Ltd. Licensee agrees to maintain the confidentiality of the
56
+ Software and not to disclose it to any third party without Qodo's prior written consent.
57
+
58
+ 6. NO WARRANTY
59
+
60
+ THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
61
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
62
+ PARTICULAR PURPOSE, AND NONINFRINGEMENT. QODO LTD. DOES NOT WARRANT THAT THE
63
+ SOFTWARE WILL BE ERROR-FREE OR UNINTERRUPTED.
64
+
65
+ 7. LIMITATION OF LIABILITY
66
+
67
+ IN NO EVENT SHALL QODO LTD. BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
68
+ CONSEQUENTIAL, OR PUNITIVE DAMAGES, OR ANY LOSS OF PROFITS, REVENUE, DATA, OR
69
+ USE, ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE SOFTWARE, EVEN IF QODO
70
+ LTD. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. QODO LTD.'S TOTAL
71
+ LIABILITY SHALL NOT EXCEED THE AMOUNTS PAID BY LICENSEE FOR THE SOFTWARE IN THE
72
+ TWELVE (12) MONTHS PRECEDING THE CLAIM.
73
+
74
+ 8. TERMINATION
75
+
76
+ This license is effective until terminated. Qodo Ltd. may terminate this license
77
+ immediately upon written notice if Licensee breaches any term of this Agreement.
78
+ Upon termination, Licensee must cease all use of the Software and destroy all
79
+ copies in Licensee's possession or control.
80
+
81
+ 9. AUDIT RIGHTS
82
+
83
+ Qodo Ltd. reserves the right to audit Licensee's use of the Software to verify
84
+ compliance with this Agreement. Licensee agrees to cooperate with such audits
85
+ and provide reasonable access to relevant records.
86
+
87
+ 10. EXPORT COMPLIANCE
88
+
89
+ Licensee agrees to comply with all applicable export and import laws and regulations
90
+ in connection with the use of the Software.
91
+
92
+ 11. GOVERNING LAW
93
+
94
+ This Agreement shall be governed by and construed in accordance with the laws of
95
+ the State of Israel, without regard to its conflict of laws principles. Any disputes
96
+ arising under this Agreement shall be subject to the exclusive jurisdiction of the
97
+ courts located in Tel Aviv, Israel.
98
+
99
+ 12. ENTIRE AGREEMENT
100
+
101
+ This Agreement constitutes the entire agreement between the parties concerning the
102
+ subject matter hereof and supersedes all prior or contemporaneous agreements,
103
+ representations, warranties, and understandings.
104
+
105
+ 13. SEVERABILITY
106
+
107
+ If any provision of this Agreement is held to be unenforceable, the remaining
108
+ provisions shall continue in full force and effect.
109
+
110
+ 14. CONTACT
111
+
112
+ For licensing inquiries or permissions, contact:
113
+ Qodo Ltd.
114
+ Email: support@qodo.ai
115
+ Website: https://www.qodo.ai
116
+
117
+ BY USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT,
118
+ UNDERSTAND IT, AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
package/README.md ADDED
@@ -0,0 +1,121 @@
1
+ # @qodo/sdk
2
+
3
+ Official TypeScript SDK for building AI-powered agents with Qodo.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @qodo/sdk zod
9
+ ```
10
+
11
+ **Requirements:** Node.js >= 18, ESM only
12
+
13
+ ## Quick Start
14
+
15
+ ```typescript
16
+ import { QodoSDK } from '@qodo/sdk';
17
+
18
+ const sdk = new QodoSDK();
19
+
20
+ // Simple prompt
21
+ const result = await sdk.prompt('Analyze this codebase and summarize the main components.');
22
+ console.log(result.result.final_output);
23
+
24
+ await sdk.dispose();
25
+ ```
26
+
27
+ ### Streaming
28
+
29
+ ```typescript
30
+ import { QodoSDK, SdkEventType, matchSdkEvent } from '@qodo/sdk';
31
+
32
+ const sdk = new QodoSDK();
33
+
34
+ for await (const ev of sdk.streamPrompt('Explain this repository structure.')) {
35
+ matchSdkEvent(ev, {
36
+ [SdkEventType.MessageDelta]: (e) => process.stdout.write(e.data.delta),
37
+ [SdkEventType.Final]: (e) => console.log('\n--- Done ---'),
38
+ default: () => {},
39
+ });
40
+ }
41
+
42
+ await sdk.dispose();
43
+ ```
44
+
45
+ ### Structured Output with Zod
46
+
47
+ ```typescript
48
+ import { QodoSDK, sdkAgent, sdkCommand } from '@qodo/sdk';
49
+ import { z } from 'zod';
50
+
51
+ const agent = sdkAgent({
52
+ commands: {
53
+ analyze: sdkCommand({
54
+ name: 'analyze',
55
+ description: 'Analyze code quality',
56
+ instructions: 'Analyze the provided code and return structured feedback.',
57
+ args: z.object({
58
+ file: z.string().describe('Path to the file to analyze'),
59
+ }),
60
+ output: z.object({
61
+ issues: z.array(z.object({
62
+ line: z.number().describe('Line number'),
63
+ severity: z.enum(['info', 'warning', 'error']).describe('Issue severity'),
64
+ message: z.string().describe('Issue description'),
65
+ })).describe('List of issues found'),
66
+ summary: z.string().describe('Brief summary of code quality'),
67
+ }),
68
+ }),
69
+ },
70
+ });
71
+
72
+ const sdk = QodoSDK.fromAgent(agent);
73
+ const result = await sdk.run('analyze', { args: { file: 'src/main.ts' } });
74
+ console.log(result.result.structured_output);
75
+
76
+ await sdk.dispose();
77
+ ```
78
+
79
+ ## Authentication
80
+
81
+ ```bash
82
+ # Option 1: Environment variable (recommended)
83
+ export QODO_API_KEY=your_api_key_here
84
+
85
+ # Option 2: Auth file
86
+ mkdir -p ~/.qodo && echo "your_api_key_here" > ~/.qodo/auth.key
87
+ ```
88
+
89
+ ## Documentation
90
+
91
+ | Guide | Description |
92
+ |-------|-------------|
93
+ | [Getting Started](docs/getting-started.md) | Installation, setup, core concepts |
94
+ | [API Reference](docs/api-reference.md) | QodoSDK class, methods, options |
95
+ | [Agent Configuration](docs/agent-configuration.md) | Commands, modes, triggers, TOML/YAML |
96
+ | [Event Streaming](docs/event-streaming.md) | All events, handlers, patterns |
97
+ | [Tool Servers](docs/tool-servers.md) | Filesystem, git, shell, ripgrep tools |
98
+ | [Schema Builders](docs/schema-builders.md) | sdkAgent, sdkCommand, Zod integration |
99
+ | [Utilities](docs/utilities.md) | InfoClient, SessionsClient, Tracker |
100
+
101
+ ## Examples
102
+
103
+ See the [`examples/`](examples/) directory:
104
+
105
+ - `run-chat.mjs` - Simple blocking execution
106
+ - `stream-chat.mjs` - Streaming with event handling
107
+ - `agent-object.mjs` - Code-defined agent with Zod schemas
108
+ - `approval-policy.mjs` - Custom tool approval policies
109
+
110
+ ```bash
111
+ export QODO_API_KEY=your_key
112
+ node examples/run-chat.mjs
113
+ ```
114
+
115
+ ## TypeScript
116
+
117
+ Full type definitions included. See [API Reference](docs/api-reference.md#typescript-exports) for all exports.
118
+
119
+ ## License
120
+
121
+ See [LICENSE](LICENSE) file.
@@ -0,0 +1,69 @@
1
+ import { EventEmitter } from "events";
2
+ import { AgentSession } from "./types.js";
3
+ import { SessionContext } from "../session/index.js";
4
+ import { TaskTracker } from "./taskTracking.js";
5
+ import { ConnectionState } from "./websocket.js";
6
+ export declare class AgentAPI extends EventEmitter {
7
+ private readonly sessionContext?;
8
+ private wsClient;
9
+ private shouldDebugLog;
10
+ private debug;
11
+ private currentSession?;
12
+ private readonly pendingToolRequests;
13
+ private readonly inFlightToolCalls;
14
+ private latestSessionId;
15
+ private lastToolId;
16
+ private readonly mcpManager?;
17
+ private readonly taskTracker;
18
+ private pendingResumeError;
19
+ private hotStartInProgress;
20
+ private userHasControl;
21
+ private ipcBridge;
22
+ constructor(sessionContext?: SessionContext | undefined);
23
+ private ensureConnected;
24
+ private setupWebSocketHandlers;
25
+ private setupNetworkListeners;
26
+ private handleNetworkOnline;
27
+ private handleNetworkOffline;
28
+ getConnectionState(): ConnectionState;
29
+ onConnectionStateChange(callback: (state: ConnectionState) => void): () => void;
30
+ private handleWebSocketError;
31
+ private handleUnexpectedDisconnection;
32
+ setUserHasControl(hasControl: boolean): void;
33
+ resetActivityTimer(): void;
34
+ toolApproval(identifier: string, approved: boolean): Promise<void>;
35
+ private cleanupOldestPendingTools;
36
+ tryPrefetchSummarization(sessionIds: string[], taskFocus?: string): Promise<Record<string, string>>;
37
+ resumeTask(agentSession: AgentSession): Promise<void>;
38
+ startTask(agentSession: AgentSession): Promise<void>;
39
+ startHotTask(agentSession: AgentSession): Promise<void>;
40
+ sendHotStartUserRequest(userRequest: string, images?: string[]): Promise<void>;
41
+ finishCurrentTask(isError?: boolean): Promise<void>;
42
+ private collectBaseData;
43
+ private initializeTask;
44
+ cancelCurrentSession(): void;
45
+ private requestCancellation;
46
+ private disconnectAndReconnect;
47
+ private checkCancellation;
48
+ private handleCancellation;
49
+ private sendUserQuery;
50
+ private handleWebSocketMessage;
51
+ private processMessage;
52
+ private handleTaskResponseError;
53
+ private handleTaskResponse;
54
+ private isValidTaskResponse;
55
+ private responseCallback;
56
+ private handleEndNode;
57
+ private handleToolExecution;
58
+ private handleToolDecline;
59
+ private callTool;
60
+ private sendToolResponse;
61
+ private convertToolsForIDE;
62
+ private processToolReasoning;
63
+ private processToolResponse;
64
+ private handleError;
65
+ cleanupConnections(): void;
66
+ cleanup(): void;
67
+ getTaskTracker(): TaskTracker;
68
+ }
69
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,EAGL,YAAY,EAEb,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAK9C,OAAO,EAAkB,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAuBhE,qBAAa,QAAS,SAAQ,YAAY;IAiC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAhC5C,OAAO,CAAC,QAAQ,CAAkB;IAElC,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAI1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,SAAS,CAAoB;gBAER,cAAc,CAAC,EAAE,cAAc,YAAA;YAkC9C,eAAe;IAyB7B,OAAO,CAAC,sBAAsB;IAqE9B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,oBAAoB;IAKrB,kBAAkB,IAAI,eAAe;IAIrC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI;IAKtF,OAAO,CAAC,oBAAoB;YASd,6BAA6B;IAkBpC,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAgB5C,kBAAkB,IAAI,IAAI;IAK3B,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxE,OAAO,CAAC,yBAAyB;IAUpB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAmC1G,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpD,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvD,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCvE,iBAAiB,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,OAAO,CAAC,eAAe;YA4BT,cAAc;IAKrB,oBAAoB,IAAI,IAAI;IAInC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,sBAAsB;YAUhB,iBAAiB;YASjB,kBAAkB;YAWlB,aAAa;YAgFb,sBAAsB;YAStB,cAAc;YAsCd,uBAAuB;YA+CvB,kBAAkB;IA4ChC,OAAO,CAAC,mBAAmB;YAIb,gBAAgB;YAWhB,aAAa;YAuCb,mBAAmB;YAiEnB,iBAAiB;YAajB,QAAQ;YAuGR,gBAAgB;IAmD9B,OAAO,CAAC,kBAAkB;YAwBZ,oBAAoB;YAgBpB,mBAAmB;YAUnB,WAAW;IAwDlB,kBAAkB,IAAI,IAAI;IAK1B,OAAO,IAAI,IAAI;IAYf,cAAc,IAAI,WAAW;CAGrC"}