@agentuity/cli 0.0.60 → 0.0.62

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 (609) hide show
  1. package/bin/cli.ts +15 -4
  2. package/dist/banner.d.ts +1 -0
  3. package/dist/banner.d.ts.map +1 -1
  4. package/dist/banner.js +28 -13
  5. package/dist/banner.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +85 -9
  8. package/dist/cli.js.map +1 -1
  9. package/dist/cmd/ai/capabilities/index.d.ts.map +1 -1
  10. package/dist/cmd/ai/capabilities/index.js +4 -0
  11. package/dist/cmd/ai/capabilities/index.js.map +1 -1
  12. package/dist/cmd/ai/capabilities/show.d.ts.map +1 -1
  13. package/dist/cmd/ai/capabilities/show.js +13 -2
  14. package/dist/cmd/ai/capabilities/show.js.map +1 -1
  15. package/dist/cmd/ai/index.d.ts.map +1 -1
  16. package/dist/cmd/ai/index.js +11 -0
  17. package/dist/cmd/ai/index.js.map +1 -1
  18. package/dist/cmd/ai/prompt/agent.d.ts +3 -0
  19. package/dist/cmd/ai/prompt/agent.d.ts.map +1 -0
  20. package/dist/cmd/ai/prompt/agent.js +340 -0
  21. package/dist/cmd/ai/prompt/agent.js.map +1 -0
  22. package/dist/cmd/ai/prompt/api.d.ts +3 -0
  23. package/dist/cmd/ai/prompt/api.d.ts.map +1 -0
  24. package/dist/cmd/ai/prompt/api.js +272 -0
  25. package/dist/cmd/ai/prompt/api.js.map +1 -0
  26. package/dist/cmd/ai/prompt/index.d.ts +1 -2
  27. package/dist/cmd/ai/prompt/index.d.ts.map +1 -1
  28. package/dist/cmd/ai/prompt/index.js +17 -1
  29. package/dist/cmd/ai/prompt/index.js.map +1 -1
  30. package/dist/cmd/ai/prompt/llm.d.ts +1 -0
  31. package/dist/cmd/ai/prompt/llm.d.ts.map +1 -1
  32. package/dist/cmd/ai/prompt/llm.js +2 -2
  33. package/dist/cmd/ai/prompt/llm.js.map +1 -1
  34. package/dist/cmd/ai/prompt/web.d.ts +3 -0
  35. package/dist/cmd/ai/prompt/web.d.ts.map +1 -0
  36. package/dist/cmd/ai/prompt/web.js +299 -0
  37. package/dist/cmd/ai/prompt/web.js.map +1 -0
  38. package/dist/cmd/ai/schema/generate.js +1 -1
  39. package/dist/cmd/ai/schema/generate.js.map +1 -1
  40. package/dist/cmd/ai/schema/index.d.ts.map +1 -1
  41. package/dist/cmd/ai/schema/index.js +2 -0
  42. package/dist/cmd/ai/schema/index.js.map +1 -1
  43. package/dist/cmd/ai/schema/show.d.ts.map +1 -1
  44. package/dist/cmd/ai/schema/show.js +4 -1
  45. package/dist/cmd/ai/schema/show.js.map +1 -1
  46. package/dist/cmd/auth/api.d.ts.map +1 -1
  47. package/dist/cmd/auth/api.js +12 -6
  48. package/dist/cmd/auth/api.js.map +1 -1
  49. package/dist/cmd/auth/index.d.ts.map +1 -1
  50. package/dist/cmd/auth/index.js +5 -0
  51. package/dist/cmd/auth/index.js.map +1 -1
  52. package/dist/cmd/auth/login.d.ts.map +1 -1
  53. package/dist/cmd/auth/login.js +5 -22
  54. package/dist/cmd/auth/login.js.map +1 -1
  55. package/dist/cmd/auth/logout.d.ts.map +1 -1
  56. package/dist/cmd/auth/logout.js +4 -1
  57. package/dist/cmd/auth/logout.js.map +1 -1
  58. package/dist/cmd/auth/signup.d.ts.map +1 -1
  59. package/dist/cmd/auth/signup.js +4 -1
  60. package/dist/cmd/auth/signup.js.map +1 -1
  61. package/dist/cmd/auth/ssh/add.d.ts.map +1 -1
  62. package/dist/cmd/auth/ssh/add.js +13 -4
  63. package/dist/cmd/auth/ssh/add.js.map +1 -1
  64. package/dist/cmd/auth/ssh/api.d.ts.map +1 -1
  65. package/dist/cmd/auth/ssh/api.js +11 -5
  66. package/dist/cmd/auth/ssh/api.js.map +1 -1
  67. package/dist/cmd/auth/ssh/delete.js +4 -4
  68. package/dist/cmd/auth/ssh/delete.js.map +1 -1
  69. package/dist/cmd/auth/ssh/index.d.ts.map +1 -1
  70. package/dist/cmd/auth/ssh/index.js +5 -0
  71. package/dist/cmd/auth/ssh/index.js.map +1 -1
  72. package/dist/cmd/auth/ssh/list.js +3 -3
  73. package/dist/cmd/auth/ssh/list.js.map +1 -1
  74. package/dist/cmd/auth/whoami.d.ts.map +1 -1
  75. package/dist/cmd/auth/whoami.js +4 -4
  76. package/dist/cmd/auth/whoami.js.map +1 -1
  77. package/dist/cmd/build/ast.d.ts +24 -1
  78. package/dist/cmd/build/ast.d.ts.map +1 -1
  79. package/dist/cmd/build/ast.js +558 -21
  80. package/dist/cmd/build/ast.js.map +1 -1
  81. package/dist/cmd/build/bundler.d.ts +3 -1
  82. package/dist/cmd/build/bundler.d.ts.map +1 -1
  83. package/dist/cmd/build/bundler.js +89 -38
  84. package/dist/cmd/build/bundler.js.map +1 -1
  85. package/dist/cmd/build/file.js +1 -1
  86. package/dist/cmd/build/file.js.map +1 -1
  87. package/dist/cmd/build/fix-duplicate-exports.d.ts.map +1 -1
  88. package/dist/cmd/build/fix-duplicate-exports.js +4 -1
  89. package/dist/cmd/build/fix-duplicate-exports.js.map +1 -1
  90. package/dist/cmd/build/index.d.ts.map +1 -1
  91. package/dist/cmd/build/index.js +55 -13
  92. package/dist/cmd/build/index.js.map +1 -1
  93. package/dist/cmd/build/plugin.d.ts.map +1 -1
  94. package/dist/cmd/build/plugin.js +183 -38
  95. package/dist/cmd/build/plugin.js.map +1 -1
  96. package/dist/cmd/cloud/agent/get.d.ts.map +1 -1
  97. package/dist/cmd/cloud/agent/get.js +5 -2
  98. package/dist/cmd/cloud/agent/get.js.map +1 -1
  99. package/dist/cmd/cloud/agent/index.d.ts.map +1 -1
  100. package/dist/cmd/cloud/agent/index.js +5 -0
  101. package/dist/cmd/cloud/agent/index.js.map +1 -1
  102. package/dist/cmd/cloud/agent/list.js +3 -3
  103. package/dist/cmd/cloud/agent/list.js.map +1 -1
  104. package/dist/cmd/cloud/apikey/create.d.ts.map +1 -1
  105. package/dist/cmd/cloud/apikey/create.js +12 -3
  106. package/dist/cmd/cloud/apikey/create.js.map +1 -1
  107. package/dist/cmd/cloud/apikey/delete.js +3 -3
  108. package/dist/cmd/cloud/apikey/delete.js.map +1 -1
  109. package/dist/cmd/cloud/apikey/get.js +1 -1
  110. package/dist/cmd/cloud/apikey/get.js.map +1 -1
  111. package/dist/cmd/cloud/apikey/index.d.ts.map +1 -1
  112. package/dist/cmd/cloud/apikey/index.js +8 -0
  113. package/dist/cmd/cloud/apikey/index.js.map +1 -1
  114. package/dist/cmd/cloud/apikey/list.d.ts.map +1 -1
  115. package/dist/cmd/cloud/apikey/list.js +4 -1
  116. package/dist/cmd/cloud/apikey/list.js.map +1 -1
  117. package/dist/cmd/cloud/db/create.d.ts.map +1 -1
  118. package/dist/cmd/cloud/db/create.js +35 -21
  119. package/dist/cmd/cloud/db/create.js.map +1 -1
  120. package/dist/cmd/cloud/db/delete.d.ts.map +1 -1
  121. package/dist/cmd/cloud/db/delete.js +34 -21
  122. package/dist/cmd/cloud/db/delete.js.map +1 -1
  123. package/dist/cmd/cloud/db/get.d.ts.map +1 -1
  124. package/dist/cmd/cloud/db/get.js +9 -3
  125. package/dist/cmd/cloud/db/get.js.map +1 -1
  126. package/dist/cmd/cloud/db/index.d.ts.map +1 -1
  127. package/dist/cmd/cloud/db/index.js +5 -0
  128. package/dist/cmd/cloud/db/index.js.map +1 -1
  129. package/dist/cmd/cloud/db/list.d.ts.map +1 -1
  130. package/dist/cmd/cloud/db/list.js +16 -6
  131. package/dist/cmd/cloud/db/list.js.map +1 -1
  132. package/dist/cmd/cloud/db/sql.d.ts.map +1 -1
  133. package/dist/cmd/cloud/db/sql.js +12 -3
  134. package/dist/cmd/cloud/db/sql.js.map +1 -1
  135. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  136. package/dist/cmd/cloud/deploy.js +9 -3
  137. package/dist/cmd/cloud/deploy.js.map +1 -1
  138. package/dist/cmd/cloud/deployment/index.d.ts.map +1 -1
  139. package/dist/cmd/cloud/deployment/index.js +5 -0
  140. package/dist/cmd/cloud/deployment/index.js.map +1 -1
  141. package/dist/cmd/cloud/deployment/list.d.ts.map +1 -1
  142. package/dist/cmd/cloud/deployment/list.js +12 -3
  143. package/dist/cmd/cloud/deployment/list.js.map +1 -1
  144. package/dist/cmd/cloud/deployment/logs.d.ts.map +1 -1
  145. package/dist/cmd/cloud/deployment/logs.js +16 -4
  146. package/dist/cmd/cloud/deployment/logs.js.map +1 -1
  147. package/dist/cmd/cloud/deployment/remove.d.ts.map +1 -1
  148. package/dist/cmd/cloud/deployment/remove.js +12 -3
  149. package/dist/cmd/cloud/deployment/remove.js.map +1 -1
  150. package/dist/cmd/cloud/deployment/rollback.d.ts.map +1 -1
  151. package/dist/cmd/cloud/deployment/rollback.js +8 -2
  152. package/dist/cmd/cloud/deployment/rollback.js.map +1 -1
  153. package/dist/cmd/cloud/deployment/show.d.ts.map +1 -1
  154. package/dist/cmd/cloud/deployment/show.js +8 -2
  155. package/dist/cmd/cloud/deployment/show.js.map +1 -1
  156. package/dist/cmd/cloud/deployment/undeploy.d.ts.map +1 -1
  157. package/dist/cmd/cloud/deployment/undeploy.js +12 -3
  158. package/dist/cmd/cloud/deployment/undeploy.js.map +1 -1
  159. package/dist/cmd/cloud/deployment/utils.d.ts.map +1 -1
  160. package/dist/cmd/cloud/deployment/utils.js +3 -1
  161. package/dist/cmd/cloud/deployment/utils.js.map +1 -1
  162. package/dist/cmd/cloud/domain.d.ts.map +1 -1
  163. package/dist/cmd/cloud/domain.js +4 -2
  164. package/dist/cmd/cloud/domain.js.map +1 -1
  165. package/dist/cmd/cloud/env/delete.d.ts.map +1 -1
  166. package/dist/cmd/cloud/env/delete.js +4 -1
  167. package/dist/cmd/cloud/env/delete.js.map +1 -1
  168. package/dist/cmd/cloud/env/get.d.ts.map +1 -1
  169. package/dist/cmd/cloud/env/get.js +4 -1
  170. package/dist/cmd/cloud/env/get.js.map +1 -1
  171. package/dist/cmd/cloud/env/import.d.ts.map +1 -1
  172. package/dist/cmd/cloud/env/import.js +10 -0
  173. package/dist/cmd/cloud/env/import.js.map +1 -1
  174. package/dist/cmd/cloud/env/index.d.ts.map +1 -1
  175. package/dist/cmd/cloud/env/index.js +8 -0
  176. package/dist/cmd/cloud/env/index.js.map +1 -1
  177. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  178. package/dist/cmd/cloud/env/list.js +4 -1
  179. package/dist/cmd/cloud/env/list.js.map +1 -1
  180. package/dist/cmd/cloud/env/pull.d.ts.map +1 -1
  181. package/dist/cmd/cloud/env/pull.js +4 -1
  182. package/dist/cmd/cloud/env/pull.js.map +1 -1
  183. package/dist/cmd/cloud/env/push.js +1 -1
  184. package/dist/cmd/cloud/env/push.js.map +1 -1
  185. package/dist/cmd/cloud/env/set.js +3 -3
  186. package/dist/cmd/cloud/env/set.js.map +1 -1
  187. package/dist/cmd/cloud/index.d.ts.map +1 -1
  188. package/dist/cmd/cloud/index.js +7 -0
  189. package/dist/cmd/cloud/index.js.map +1 -1
  190. package/dist/cmd/cloud/keyvalue/create-namespace.d.ts.map +1 -1
  191. package/dist/cmd/cloud/keyvalue/create-namespace.js +9 -3
  192. package/dist/cmd/cloud/keyvalue/create-namespace.js.map +1 -1
  193. package/dist/cmd/cloud/keyvalue/delete-namespace.d.ts.map +1 -1
  194. package/dist/cmd/cloud/keyvalue/delete-namespace.js +12 -3
  195. package/dist/cmd/cloud/keyvalue/delete-namespace.js.map +1 -1
  196. package/dist/cmd/cloud/keyvalue/delete.d.ts.map +1 -1
  197. package/dist/cmd/cloud/keyvalue/delete.js +6 -3
  198. package/dist/cmd/cloud/keyvalue/delete.js.map +1 -1
  199. package/dist/cmd/cloud/keyvalue/get.d.ts.map +1 -1
  200. package/dist/cmd/cloud/keyvalue/get.js +3 -3
  201. package/dist/cmd/cloud/keyvalue/get.js.map +1 -1
  202. package/dist/cmd/cloud/keyvalue/index.d.ts.map +1 -1
  203. package/dist/cmd/cloud/keyvalue/index.js +8 -0
  204. package/dist/cmd/cloud/keyvalue/index.js.map +1 -1
  205. package/dist/cmd/cloud/keyvalue/keys.d.ts.map +1 -1
  206. package/dist/cmd/cloud/keyvalue/keys.js +3 -3
  207. package/dist/cmd/cloud/keyvalue/keys.js.map +1 -1
  208. package/dist/cmd/cloud/keyvalue/list-namespaces.d.ts.map +1 -1
  209. package/dist/cmd/cloud/keyvalue/list-namespaces.js +3 -3
  210. package/dist/cmd/cloud/keyvalue/list-namespaces.js.map +1 -1
  211. package/dist/cmd/cloud/keyvalue/repl.d.ts.map +1 -1
  212. package/dist/cmd/cloud/keyvalue/repl.js +1 -1
  213. package/dist/cmd/cloud/keyvalue/repl.js.map +1 -1
  214. package/dist/cmd/cloud/keyvalue/search.d.ts.map +1 -1
  215. package/dist/cmd/cloud/keyvalue/search.js +9 -3
  216. package/dist/cmd/cloud/keyvalue/search.js.map +1 -1
  217. package/dist/cmd/cloud/keyvalue/set.d.ts.map +1 -1
  218. package/dist/cmd/cloud/keyvalue/set.js +12 -3
  219. package/dist/cmd/cloud/keyvalue/set.js.map +1 -1
  220. package/dist/cmd/cloud/keyvalue/stats.d.ts.map +1 -1
  221. package/dist/cmd/cloud/keyvalue/stats.js +6 -3
  222. package/dist/cmd/cloud/keyvalue/stats.js.map +1 -1
  223. package/dist/cmd/cloud/objectstore/delete-bucket.d.ts.map +1 -1
  224. package/dist/cmd/cloud/objectstore/delete-bucket.js +8 -2
  225. package/dist/cmd/cloud/objectstore/delete-bucket.js.map +1 -1
  226. package/dist/cmd/cloud/objectstore/delete.d.ts.map +1 -1
  227. package/dist/cmd/cloud/objectstore/delete.js +12 -3
  228. package/dist/cmd/cloud/objectstore/delete.js.map +1 -1
  229. package/dist/cmd/cloud/objectstore/get.d.ts.map +1 -1
  230. package/dist/cmd/cloud/objectstore/get.js +12 -3
  231. package/dist/cmd/cloud/objectstore/get.js.map +1 -1
  232. package/dist/cmd/cloud/objectstore/index.d.ts.map +1 -1
  233. package/dist/cmd/cloud/objectstore/index.js +8 -0
  234. package/dist/cmd/cloud/objectstore/index.js.map +1 -1
  235. package/dist/cmd/cloud/objectstore/list-buckets.d.ts.map +1 -1
  236. package/dist/cmd/cloud/objectstore/list-buckets.js +6 -1
  237. package/dist/cmd/cloud/objectstore/list-buckets.js.map +1 -1
  238. package/dist/cmd/cloud/objectstore/list-keys.d.ts.map +1 -1
  239. package/dist/cmd/cloud/objectstore/list-keys.js +6 -3
  240. package/dist/cmd/cloud/objectstore/list-keys.js.map +1 -1
  241. package/dist/cmd/cloud/objectstore/put.d.ts.map +1 -1
  242. package/dist/cmd/cloud/objectstore/put.js +12 -3
  243. package/dist/cmd/cloud/objectstore/put.js.map +1 -1
  244. package/dist/cmd/cloud/objectstore/repl.d.ts.map +1 -1
  245. package/dist/cmd/cloud/objectstore/repl.js +6 -1
  246. package/dist/cmd/cloud/objectstore/repl.js.map +1 -1
  247. package/dist/cmd/cloud/objectstore/url.d.ts.map +1 -1
  248. package/dist/cmd/cloud/objectstore/url.js +12 -3
  249. package/dist/cmd/cloud/objectstore/url.js.map +1 -1
  250. package/dist/cmd/cloud/scp/download.d.ts.map +1 -1
  251. package/dist/cmd/cloud/scp/download.js +16 -4
  252. package/dist/cmd/cloud/scp/download.js.map +1 -1
  253. package/dist/cmd/cloud/scp/index.d.ts.map +1 -1
  254. package/dist/cmd/cloud/scp/index.js +11 -0
  255. package/dist/cmd/cloud/scp/index.js.map +1 -1
  256. package/dist/cmd/cloud/scp/upload.d.ts.map +1 -1
  257. package/dist/cmd/cloud/scp/upload.js +16 -4
  258. package/dist/cmd/cloud/scp/upload.js.map +1 -1
  259. package/dist/cmd/cloud/secret/delete.d.ts.map +1 -1
  260. package/dist/cmd/cloud/secret/delete.js +4 -1
  261. package/dist/cmd/cloud/secret/delete.js.map +1 -1
  262. package/dist/cmd/cloud/secret/get.d.ts.map +1 -1
  263. package/dist/cmd/cloud/secret/get.js +5 -2
  264. package/dist/cmd/cloud/secret/get.js.map +1 -1
  265. package/dist/cmd/cloud/secret/import.d.ts.map +1 -1
  266. package/dist/cmd/cloud/secret/import.js +5 -2
  267. package/dist/cmd/cloud/secret/import.js.map +1 -1
  268. package/dist/cmd/cloud/secret/index.d.ts.map +1 -1
  269. package/dist/cmd/cloud/secret/index.js +8 -0
  270. package/dist/cmd/cloud/secret/index.js.map +1 -1
  271. package/dist/cmd/cloud/secret/list.d.ts.map +1 -1
  272. package/dist/cmd/cloud/secret/list.js +4 -1
  273. package/dist/cmd/cloud/secret/list.js.map +1 -1
  274. package/dist/cmd/cloud/secret/pull.d.ts.map +1 -1
  275. package/dist/cmd/cloud/secret/pull.js +4 -1
  276. package/dist/cmd/cloud/secret/pull.js.map +1 -1
  277. package/dist/cmd/cloud/secret/push.js +1 -1
  278. package/dist/cmd/cloud/secret/push.js.map +1 -1
  279. package/dist/cmd/cloud/secret/set.d.ts.map +1 -1
  280. package/dist/cmd/cloud/secret/set.js +8 -2
  281. package/dist/cmd/cloud/secret/set.js.map +1 -1
  282. package/dist/cmd/cloud/session/get.d.ts.map +1 -1
  283. package/dist/cmd/cloud/session/get.js +10 -2
  284. package/dist/cmd/cloud/session/get.js.map +1 -1
  285. package/dist/cmd/cloud/session/index.d.ts.map +1 -1
  286. package/dist/cmd/cloud/session/index.js +5 -0
  287. package/dist/cmd/cloud/session/index.js.map +1 -1
  288. package/dist/cmd/cloud/session/list.d.ts.map +1 -1
  289. package/dist/cmd/cloud/session/list.js +29 -8
  290. package/dist/cmd/cloud/session/list.js.map +1 -1
  291. package/dist/cmd/cloud/session/logs.d.ts.map +1 -1
  292. package/dist/cmd/cloud/session/logs.js +8 -2
  293. package/dist/cmd/cloud/session/logs.js.map +1 -1
  294. package/dist/cmd/cloud/ssh.d.ts.map +1 -1
  295. package/dist/cmd/cloud/ssh.js +15 -6
  296. package/dist/cmd/cloud/ssh.js.map +1 -1
  297. package/dist/cmd/cloud/storage/create.d.ts.map +1 -1
  298. package/dist/cmd/cloud/storage/create.js +12 -3
  299. package/dist/cmd/cloud/storage/create.js.map +1 -1
  300. package/dist/cmd/cloud/storage/delete.d.ts.map +1 -1
  301. package/dist/cmd/cloud/storage/delete.js +16 -4
  302. package/dist/cmd/cloud/storage/delete.js.map +1 -1
  303. package/dist/cmd/cloud/storage/download.d.ts.map +1 -1
  304. package/dist/cmd/cloud/storage/download.js +16 -4
  305. package/dist/cmd/cloud/storage/download.js.map +1 -1
  306. package/dist/cmd/cloud/storage/get.d.ts.map +1 -1
  307. package/dist/cmd/cloud/storage/get.js +12 -3
  308. package/dist/cmd/cloud/storage/get.js.map +1 -1
  309. package/dist/cmd/cloud/storage/index.d.ts.map +1 -1
  310. package/dist/cmd/cloud/storage/index.js +8 -0
  311. package/dist/cmd/cloud/storage/index.js.map +1 -1
  312. package/dist/cmd/cloud/storage/list.d.ts.map +1 -1
  313. package/dist/cmd/cloud/storage/list.js +35 -12
  314. package/dist/cmd/cloud/storage/list.js.map +1 -1
  315. package/dist/cmd/cloud/storage/upload.d.ts.map +1 -1
  316. package/dist/cmd/cloud/storage/upload.js +21 -9
  317. package/dist/cmd/cloud/storage/upload.js.map +1 -1
  318. package/dist/cmd/cloud/stream/delete.d.ts.map +1 -1
  319. package/dist/cmd/cloud/stream/delete.js +9 -3
  320. package/dist/cmd/cloud/stream/delete.js.map +1 -1
  321. package/dist/cmd/cloud/stream/get.d.ts.map +1 -1
  322. package/dist/cmd/cloud/stream/get.js +10 -4
  323. package/dist/cmd/cloud/stream/get.js.map +1 -1
  324. package/dist/cmd/cloud/stream/index.d.ts.map +1 -1
  325. package/dist/cmd/cloud/stream/index.js +5 -0
  326. package/dist/cmd/cloud/stream/index.js.map +1 -1
  327. package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
  328. package/dist/cmd/cloud/stream/list.js +11 -5
  329. package/dist/cmd/cloud/stream/list.js.map +1 -1
  330. package/dist/cmd/cloud/thread/delete.d.ts +2 -0
  331. package/dist/cmd/cloud/thread/delete.d.ts.map +1 -0
  332. package/dist/cmd/cloud/thread/delete.js +41 -0
  333. package/dist/cmd/cloud/thread/delete.js.map +1 -0
  334. package/dist/cmd/cloud/thread/get.d.ts +2 -0
  335. package/dist/cmd/cloud/thread/get.d.ts.map +1 -0
  336. package/dist/cmd/cloud/thread/get.js +80 -0
  337. package/dist/cmd/cloud/thread/get.js.map +1 -0
  338. package/dist/cmd/cloud/thread/index.d.ts +2 -0
  339. package/dist/cmd/cloud/thread/index.d.ts.map +1 -0
  340. package/dist/cmd/cloud/thread/index.js +17 -0
  341. package/dist/cmd/cloud/thread/index.js.map +1 -0
  342. package/dist/cmd/cloud/thread/list.d.ts +2 -0
  343. package/dist/cmd/cloud/thread/list.d.ts.map +1 -0
  344. package/dist/cmd/cloud/thread/list.js +112 -0
  345. package/dist/cmd/cloud/thread/list.js.map +1 -0
  346. package/dist/cmd/cloud/vector/delete.d.ts.map +1 -1
  347. package/dist/cmd/cloud/vector/delete.js +12 -3
  348. package/dist/cmd/cloud/vector/delete.js.map +1 -1
  349. package/dist/cmd/cloud/vector/get.d.ts.map +1 -1
  350. package/dist/cmd/cloud/vector/get.js +12 -3
  351. package/dist/cmd/cloud/vector/get.js.map +1 -1
  352. package/dist/cmd/cloud/vector/index.d.ts.map +1 -1
  353. package/dist/cmd/cloud/vector/index.js +8 -0
  354. package/dist/cmd/cloud/vector/index.js.map +1 -1
  355. package/dist/cmd/cloud/vector/search.d.ts.map +1 -1
  356. package/dist/cmd/cloud/vector/search.js +20 -5
  357. package/dist/cmd/cloud/vector/search.js.map +1 -1
  358. package/dist/cmd/dev/agents.d.ts.map +1 -1
  359. package/dist/cmd/dev/agents.js +7 -2
  360. package/dist/cmd/dev/agents.js.map +1 -1
  361. package/dist/cmd/dev/api.d.ts.map +1 -1
  362. package/dist/cmd/dev/api.js +3 -1
  363. package/dist/cmd/dev/api.js.map +1 -1
  364. package/dist/cmd/dev/index.d.ts.map +1 -1
  365. package/dist/cmd/dev/index.js +13 -5
  366. package/dist/cmd/dev/index.js.map +1 -1
  367. package/dist/cmd/help/index.d.ts +2 -0
  368. package/dist/cmd/help/index.d.ts.map +1 -0
  369. package/dist/cmd/help/index.js +35 -0
  370. package/dist/cmd/help/index.js.map +1 -0
  371. package/dist/cmd/index.d.ts.map +1 -1
  372. package/dist/cmd/index.js +1 -0
  373. package/dist/cmd/index.js.map +1 -1
  374. package/dist/cmd/profile/create.js +3 -3
  375. package/dist/cmd/profile/create.js.map +1 -1
  376. package/dist/cmd/profile/delete.d.ts.map +1 -1
  377. package/dist/cmd/profile/delete.js +6 -3
  378. package/dist/cmd/profile/delete.js.map +1 -1
  379. package/dist/cmd/profile/index.d.ts.map +1 -1
  380. package/dist/cmd/profile/index.js +8 -0
  381. package/dist/cmd/profile/index.js.map +1 -1
  382. package/dist/cmd/profile/list.d.ts.map +1 -1
  383. package/dist/cmd/profile/list.js +4 -1
  384. package/dist/cmd/profile/list.js.map +1 -1
  385. package/dist/cmd/profile/show.d.ts.map +1 -1
  386. package/dist/cmd/profile/show.js +6 -3
  387. package/dist/cmd/profile/show.js.map +1 -1
  388. package/dist/cmd/profile/use.d.ts.map +1 -1
  389. package/dist/cmd/profile/use.js +12 -3
  390. package/dist/cmd/profile/use.js.map +1 -1
  391. package/dist/cmd/project/create.d.ts.map +1 -1
  392. package/dist/cmd/project/create.js +11 -5
  393. package/dist/cmd/project/create.js.map +1 -1
  394. package/dist/cmd/project/delete.d.ts.map +1 -1
  395. package/dist/cmd/project/delete.js +15 -6
  396. package/dist/cmd/project/delete.js.map +1 -1
  397. package/dist/cmd/project/download.d.ts +1 -1
  398. package/dist/cmd/project/download.d.ts.map +1 -1
  399. package/dist/cmd/project/download.js +37 -2
  400. package/dist/cmd/project/download.js.map +1 -1
  401. package/dist/cmd/project/index.d.ts.map +1 -1
  402. package/dist/cmd/project/index.js +5 -0
  403. package/dist/cmd/project/index.js.map +1 -1
  404. package/dist/cmd/project/list.d.ts.map +1 -1
  405. package/dist/cmd/project/list.js +6 -3
  406. package/dist/cmd/project/list.js.map +1 -1
  407. package/dist/cmd/project/show.d.ts.map +1 -1
  408. package/dist/cmd/project/show.js +6 -3
  409. package/dist/cmd/project/show.js.map +1 -1
  410. package/dist/cmd/project/templates.d.ts.map +1 -1
  411. package/dist/cmd/project/templates.js +10 -2
  412. package/dist/cmd/project/templates.js.map +1 -1
  413. package/dist/cmd/repl/index.js +1 -1
  414. package/dist/cmd/repl/index.js.map +1 -1
  415. package/dist/cmd/version/index.d.ts.map +1 -1
  416. package/dist/cmd/version/index.js +7 -1
  417. package/dist/cmd/version/index.js.map +1 -1
  418. package/dist/command-prefix.d.ts.map +1 -1
  419. package/dist/command-prefix.js +5 -3
  420. package/dist/command-prefix.js.map +1 -1
  421. package/dist/config.d.ts +1 -1
  422. package/dist/config.d.ts.map +1 -1
  423. package/dist/config.js +3 -1
  424. package/dist/config.js.map +1 -1
  425. package/dist/crypto/box.d.ts.map +1 -1
  426. package/dist/crypto/box.js +31 -17
  427. package/dist/crypto/box.js.map +1 -1
  428. package/dist/download.d.ts.map +1 -1
  429. package/dist/download.js +7 -1
  430. package/dist/download.js.map +1 -1
  431. package/dist/env-util.d.ts +3 -0
  432. package/dist/env-util.d.ts.map +1 -1
  433. package/dist/env-util.js +43 -2
  434. package/dist/env-util.js.map +1 -1
  435. package/dist/errors.d.ts +4 -2
  436. package/dist/errors.d.ts.map +1 -1
  437. package/dist/errors.js +7 -1
  438. package/dist/errors.js.map +1 -1
  439. package/dist/index.d.ts +1 -1
  440. package/dist/index.d.ts.map +1 -1
  441. package/dist/index.js +1 -1
  442. package/dist/index.js.map +1 -1
  443. package/dist/schema-generator.d.ts +5 -1
  444. package/dist/schema-generator.d.ts.map +1 -1
  445. package/dist/schema-generator.js +1 -0
  446. package/dist/schema-generator.js.map +1 -1
  447. package/dist/steps.js +17 -13
  448. package/dist/steps.js.map +1 -1
  449. package/dist/tui.d.ts +2 -1
  450. package/dist/tui.d.ts.map +1 -1
  451. package/dist/tui.js +21 -14
  452. package/dist/tui.js.map +1 -1
  453. package/dist/types.d.ts +10 -6
  454. package/dist/types.d.ts.map +1 -1
  455. package/dist/types.js.map +1 -1
  456. package/dist/utils/date.d.ts.map +1 -1
  457. package/dist/utils/date.js +7 -2
  458. package/dist/utils/date.js.map +1 -1
  459. package/package.json +4 -3
  460. package/src/banner.ts +29 -13
  461. package/src/cli.ts +109 -13
  462. package/src/cmd/ai/capabilities/index.ts +4 -0
  463. package/src/cmd/ai/capabilities/show.ts +13 -2
  464. package/src/cmd/ai/index.ts +11 -0
  465. package/src/cmd/ai/prompt/agent.ts +342 -0
  466. package/src/cmd/ai/prompt/api.ts +274 -0
  467. package/src/cmd/ai/prompt/index.ts +18 -3
  468. package/src/cmd/ai/prompt/llm.ts +2 -2
  469. package/src/cmd/ai/prompt/web.ts +301 -0
  470. package/src/cmd/ai/schema/generate.ts +1 -1
  471. package/src/cmd/ai/schema/index.ts +2 -0
  472. package/src/cmd/ai/schema/show.ts +4 -1
  473. package/src/cmd/auth/api.ts +28 -6
  474. package/src/cmd/auth/index.ts +5 -0
  475. package/src/cmd/auth/login.ts +5 -22
  476. package/src/cmd/auth/logout.ts +4 -1
  477. package/src/cmd/auth/signup.ts +4 -1
  478. package/src/cmd/auth/ssh/add.ts +13 -4
  479. package/src/cmd/auth/ssh/api.ts +21 -5
  480. package/src/cmd/auth/ssh/delete.ts +4 -4
  481. package/src/cmd/auth/ssh/index.ts +5 -0
  482. package/src/cmd/auth/ssh/list.ts +3 -3
  483. package/src/cmd/auth/whoami.ts +4 -7
  484. package/src/cmd/build/ast.ts +636 -38
  485. package/src/cmd/build/bundler.ts +110 -37
  486. package/src/cmd/build/file.ts +1 -1
  487. package/src/cmd/build/fix-duplicate-exports.ts +4 -1
  488. package/src/cmd/build/index.ts +58 -13
  489. package/src/cmd/build/plugin.ts +210 -46
  490. package/src/cmd/cloud/agent/get.ts +5 -2
  491. package/src/cmd/cloud/agent/index.ts +5 -0
  492. package/src/cmd/cloud/agent/list.ts +3 -3
  493. package/src/cmd/cloud/apikey/create.ts +14 -5
  494. package/src/cmd/cloud/apikey/delete.ts +3 -3
  495. package/src/cmd/cloud/apikey/get.ts +1 -1
  496. package/src/cmd/cloud/apikey/index.ts +8 -0
  497. package/src/cmd/cloud/apikey/list.ts +4 -1
  498. package/src/cmd/cloud/db/create.ts +37 -22
  499. package/src/cmd/cloud/db/delete.ts +36 -21
  500. package/src/cmd/cloud/db/get.ts +12 -4
  501. package/src/cmd/cloud/db/index.ts +5 -0
  502. package/src/cmd/cloud/db/list.ts +19 -7
  503. package/src/cmd/cloud/db/sql.ts +12 -3
  504. package/src/cmd/cloud/deploy.ts +9 -3
  505. package/src/cmd/cloud/deployment/index.ts +5 -0
  506. package/src/cmd/cloud/deployment/list.ts +12 -3
  507. package/src/cmd/cloud/deployment/logs.ts +16 -4
  508. package/src/cmd/cloud/deployment/remove.ts +14 -4
  509. package/src/cmd/cloud/deployment/rollback.ts +8 -3
  510. package/src/cmd/cloud/deployment/show.ts +8 -2
  511. package/src/cmd/cloud/deployment/undeploy.ts +12 -4
  512. package/src/cmd/cloud/deployment/utils.ts +7 -1
  513. package/src/cmd/cloud/domain.ts +9 -2
  514. package/src/cmd/cloud/env/delete.ts +4 -1
  515. package/src/cmd/cloud/env/get.ts +4 -1
  516. package/src/cmd/cloud/env/import.ts +10 -0
  517. package/src/cmd/cloud/env/index.ts +8 -0
  518. package/src/cmd/cloud/env/list.ts +4 -1
  519. package/src/cmd/cloud/env/pull.ts +4 -1
  520. package/src/cmd/cloud/env/push.ts +1 -1
  521. package/src/cmd/cloud/env/set.ts +3 -3
  522. package/src/cmd/cloud/index.ts +7 -1
  523. package/src/cmd/cloud/keyvalue/create-namespace.ts +9 -4
  524. package/src/cmd/cloud/keyvalue/delete-namespace.ts +12 -4
  525. package/src/cmd/cloud/keyvalue/delete.ts +6 -4
  526. package/src/cmd/cloud/keyvalue/get.ts +3 -4
  527. package/src/cmd/cloud/keyvalue/index.ts +8 -0
  528. package/src/cmd/cloud/keyvalue/keys.ts +3 -4
  529. package/src/cmd/cloud/keyvalue/list-namespaces.ts +3 -4
  530. package/src/cmd/cloud/keyvalue/repl.ts +1 -2
  531. package/src/cmd/cloud/keyvalue/search.ts +9 -4
  532. package/src/cmd/cloud/keyvalue/set.ts +14 -4
  533. package/src/cmd/cloud/keyvalue/stats.ts +6 -4
  534. package/src/cmd/cloud/objectstore/delete-bucket.ts +8 -3
  535. package/src/cmd/cloud/objectstore/delete.ts +12 -4
  536. package/src/cmd/cloud/objectstore/get.ts +12 -4
  537. package/src/cmd/cloud/objectstore/index.ts +8 -0
  538. package/src/cmd/cloud/objectstore/list-buckets.ts +6 -2
  539. package/src/cmd/cloud/objectstore/list-keys.ts +6 -4
  540. package/src/cmd/cloud/objectstore/put.ts +16 -4
  541. package/src/cmd/cloud/objectstore/repl.ts +6 -2
  542. package/src/cmd/cloud/objectstore/url.ts +12 -4
  543. package/src/cmd/cloud/scp/download.ts +16 -5
  544. package/src/cmd/cloud/scp/index.ts +11 -0
  545. package/src/cmd/cloud/scp/upload.ts +16 -5
  546. package/src/cmd/cloud/secret/delete.ts +4 -1
  547. package/src/cmd/cloud/secret/get.ts +5 -2
  548. package/src/cmd/cloud/secret/import.ts +5 -2
  549. package/src/cmd/cloud/secret/index.ts +8 -0
  550. package/src/cmd/cloud/secret/list.ts +4 -1
  551. package/src/cmd/cloud/secret/pull.ts +4 -1
  552. package/src/cmd/cloud/secret/push.ts +1 -1
  553. package/src/cmd/cloud/secret/set.ts +8 -2
  554. package/src/cmd/cloud/session/get.ts +16 -2
  555. package/src/cmd/cloud/session/index.ts +5 -0
  556. package/src/cmd/cloud/session/list.ts +29 -8
  557. package/src/cmd/cloud/session/logs.ts +8 -2
  558. package/src/cmd/cloud/ssh.ts +15 -7
  559. package/src/cmd/cloud/storage/create.ts +12 -3
  560. package/src/cmd/cloud/storage/delete.ts +16 -4
  561. package/src/cmd/cloud/storage/download.ts +16 -4
  562. package/src/cmd/cloud/storage/get.ts +12 -3
  563. package/src/cmd/cloud/storage/index.ts +8 -0
  564. package/src/cmd/cloud/storage/list.ts +39 -15
  565. package/src/cmd/cloud/storage/upload.ts +24 -9
  566. package/src/cmd/cloud/stream/delete.ts +9 -4
  567. package/src/cmd/cloud/stream/get.ts +10 -5
  568. package/src/cmd/cloud/stream/index.ts +5 -0
  569. package/src/cmd/cloud/stream/list.ts +11 -6
  570. package/src/cmd/cloud/thread/delete.ts +44 -0
  571. package/src/cmd/cloud/thread/get.ts +88 -0
  572. package/src/cmd/cloud/thread/index.ts +17 -0
  573. package/src/cmd/cloud/thread/list.ts +125 -0
  574. package/src/cmd/cloud/vector/delete.ts +17 -6
  575. package/src/cmd/cloud/vector/get.ts +12 -4
  576. package/src/cmd/cloud/vector/index.ts +8 -0
  577. package/src/cmd/cloud/vector/search.ts +20 -6
  578. package/src/cmd/dev/agents.ts +7 -2
  579. package/src/cmd/dev/api.ts +4 -1
  580. package/src/cmd/dev/index.ts +16 -5
  581. package/src/cmd/help/index.ts +40 -0
  582. package/src/cmd/index.ts +1 -0
  583. package/src/cmd/profile/create.ts +3 -3
  584. package/src/cmd/profile/delete.ts +6 -3
  585. package/src/cmd/profile/index.ts +8 -0
  586. package/src/cmd/profile/list.ts +4 -1
  587. package/src/cmd/profile/show.ts +6 -3
  588. package/src/cmd/profile/use.ts +12 -3
  589. package/src/cmd/project/create.ts +11 -5
  590. package/src/cmd/project/delete.ts +15 -6
  591. package/src/cmd/project/download.ts +44 -3
  592. package/src/cmd/project/index.ts +5 -0
  593. package/src/cmd/project/list.ts +6 -3
  594. package/src/cmd/project/show.ts +6 -3
  595. package/src/cmd/project/templates.ts +12 -2
  596. package/src/cmd/repl/index.ts +1 -1
  597. package/src/cmd/version/index.ts +7 -1
  598. package/src/command-prefix.ts +5 -3
  599. package/src/config.ts +4 -2
  600. package/src/crypto/box.ts +69 -17
  601. package/src/download.ts +7 -1
  602. package/src/env-util.ts +44 -2
  603. package/src/errors.ts +9 -1
  604. package/src/index.ts +6 -1
  605. package/src/schema-generator.ts +7 -1
  606. package/src/steps.ts +22 -13
  607. package/src/tui.ts +28 -16
  608. package/src/types.ts +11 -6
  609. package/src/utils/date.ts +9 -4
@@ -0,0 +1,301 @@
1
+ import { createSubcommand } from '../../../types';
2
+ import type { CommandContext } from '../../../types';
3
+ import { getCommand } from '../../../command-prefix';
4
+
5
+ export const webSubcommand = createSubcommand({
6
+ name: 'web',
7
+ description: 'Generate a comprehensive prompt for LLM agents for the web folder',
8
+ tags: ['read-only', 'fast'],
9
+ idempotent: true,
10
+ examples: [{ command: getCommand('prompt web'), description: 'Run web command' }],
11
+ async handler(_ctx: CommandContext) {
12
+ const prompt = generateLLMPrompt();
13
+ console.log(prompt);
14
+ },
15
+ });
16
+
17
+ export function generateLLMPrompt(): string {
18
+ return `# Web Folder Guide
19
+
20
+ This folder contains your React-based web application that communicates with your Agentuity agents.
21
+
22
+ ## Directory Structure
23
+
24
+ Required files:
25
+ - **App.tsx** (required) - Main React application component
26
+ - **frontend.tsx** (required) - Frontend entry point with client-side rendering
27
+ - **index.html** (required) - HTML template
28
+ - **public/** (optional) - Static assets (images, CSS, JS files)
29
+
30
+ Example structure:
31
+ \`\`\`
32
+ src/web/
33
+ ├── App.tsx
34
+ ├── frontend.tsx
35
+ ├── index.html
36
+ └── public/
37
+ ├── styles.css
38
+ ├── logo.svg
39
+ └── script.js
40
+ \`\`\`
41
+
42
+ ## Creating the Web App
43
+
44
+ ### App.tsx - Main Component
45
+
46
+ \`\`\`typescript
47
+ import { AgentuityProvider, useAgent } from '@agentuity/react';
48
+ import { useState } from 'react';
49
+
50
+ export function App() {
51
+ const [name, setName] = useState('World');
52
+ const { run, running, data: greeting } = useAgent('hello');
53
+
54
+ return (
55
+ <div style={{ fontFamily: 'sans-serif', padding: '2rem' }}>
56
+ <AgentuityProvider>
57
+ <h1>Welcome to Agentuity</h1>
58
+
59
+ <input
60
+ type="text"
61
+ value={name}
62
+ onChange={(e) => setName(e.target.value)}
63
+ disabled={running}
64
+ />
65
+
66
+ <button
67
+ onClick={() => run({ name })}
68
+ disabled={running}
69
+ >
70
+ {running ? 'Running...' : 'Say Hello'}
71
+ </button>
72
+
73
+ <div>{greeting ?? 'Waiting for response'}</div>
74
+ </AgentuityProvider>
75
+ </div>
76
+ );
77
+ }
78
+ \`\`\`
79
+
80
+ ### frontend.tsx - Entry Point
81
+
82
+ \`\`\`typescript
83
+ import { createRoot } from 'react-dom/client';
84
+ import { App } from './App';
85
+
86
+ const root = document.getElementById('root');
87
+ if (!root) throw new Error('Root element not found');
88
+
89
+ createRoot(root).render(<App />);
90
+ \`\`\`
91
+
92
+ ### index.html - HTML Template
93
+
94
+ \`\`\`html
95
+ <!DOCTYPE html>
96
+ <html lang="en">
97
+ <head>
98
+ <meta charset="UTF-8">
99
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
100
+ <title>My Agentuity App</title>
101
+ </head>
102
+ <body>
103
+ <div id="root"></div>
104
+ <script type="module" src="/web/frontend.tsx"></script>
105
+ </body>
106
+ </html>
107
+ \`\`\`
108
+
109
+ ## React Hooks
110
+
111
+ ### useAgent - Call Agents
112
+
113
+ \`\`\`typescript
114
+ import { useAgent } from '@agentuity/react';
115
+
116
+ function MyComponent() {
117
+ const { run, running, data, error } = useAgent('myAgent');
118
+
119
+ return (
120
+ <button onClick={() => run({ input: 'value' })}>
121
+ {running ? 'Running...' : 'Call Agent'}
122
+ </button>
123
+ );
124
+ }
125
+ \`\`\`
126
+
127
+ ### useAgentWebsocket - WebSocket Connection
128
+
129
+ \`\`\`typescript
130
+ import { useAgentWebsocket } from '@agentuity/react';
131
+
132
+ function MyComponent() {
133
+ const { connected, send, data } = useAgentWebsocket('websocket');
134
+
135
+ return (
136
+ <div>
137
+ <p>Status: {connected ? 'Connected' : 'Disconnected'}</p>
138
+ <button onClick={() => send('Hello')}>Send Message</button>
139
+ <p>Received: {data}</p>
140
+ </div>
141
+ );
142
+ }
143
+ \`\`\`
144
+
145
+ ### useAgentEventStream - Server-Sent Events
146
+
147
+ \`\`\`typescript
148
+ import { useAgentEventStream } from '@agentuity/react';
149
+
150
+ function MyComponent() {
151
+ const { connected, data, error } = useAgentEventStream('sse');
152
+
153
+ return (
154
+ <div>
155
+ <p>Connected: {connected ? 'Yes' : 'No'}</p>
156
+ {error && <p>Error: {error.message}</p>}
157
+ <p>Data: {data}</p>
158
+ </div>
159
+ );
160
+ }
161
+ \`\`\`
162
+
163
+ ## Complete Example
164
+
165
+ \`\`\`typescript
166
+ import { AgentuityProvider, useAgent, useAgentWebsocket } from '@agentuity/react';
167
+ import { useEffect, useState } from 'react';
168
+
169
+ export function App() {
170
+ const [count, setCount] = useState(0);
171
+ const { run, data: agentResult } = useAgent('simple');
172
+ const { connected, send, data: wsMessage } = useAgentWebsocket('websocket');
173
+
174
+ useEffect(() => {
175
+ // Send WebSocket message every second
176
+ const interval = setInterval(() => {
177
+ send(\`Message at \${new Date().toISOString()}\`);
178
+ }, 1000);
179
+ return () => clearInterval(interval);
180
+ }, [send]);
181
+
182
+ return (
183
+ <div style={{ fontFamily: 'sans-serif', padding: '2rem' }}>
184
+ <AgentuityProvider>
185
+ <h1>My Agentuity App</h1>
186
+
187
+ <div>
188
+ <p>Count: {count}</p>
189
+ <button onClick={() => setCount(c => c + 1)}>
190
+ Increment
191
+ </button>
192
+ </div>
193
+
194
+ <div>
195
+ <button onClick={() => run({ name: 'Jeff', age: 30 })}>
196
+ Call Agent
197
+ </button>
198
+ <p>{agentResult}</p>
199
+ </div>
200
+
201
+ <div>
202
+ <strong>WebSocket:</strong>
203
+ {connected ? JSON.stringify(wsMessage) : 'Not connected'}
204
+ </div>
205
+ </AgentuityProvider>
206
+ </div>
207
+ );
208
+ }
209
+ \`\`\`
210
+
211
+ ## Static Assets
212
+
213
+ Place static files in the **public/** folder:
214
+
215
+ \`\`\`
216
+ src/web/public/
217
+ ├── logo.svg
218
+ ├── styles.css
219
+ └── script.js
220
+ \`\`\`
221
+
222
+ Reference them in your HTML or components:
223
+
224
+ \`\`\`html
225
+ <!-- In index.html -->
226
+ <link rel="stylesheet" href="/public/styles.css">
227
+ <script src="/public/script.js"></script>
228
+ \`\`\`
229
+
230
+ \`\`\`typescript
231
+ // In React components
232
+ <img src="/public/logo.svg" alt="Logo" />
233
+ \`\`\`
234
+
235
+ ## Styling
236
+
237
+ ### Inline Styles
238
+
239
+ \`\`\`typescript
240
+ <div style={{ backgroundColor: '#000', color: '#fff', padding: '1rem' }}>
241
+ Styled content
242
+ </div>
243
+ \`\`\`
244
+
245
+ ### CSS Files
246
+
247
+ Create \`public/styles.css\`:
248
+
249
+ \`\`\`css
250
+ body {
251
+ background-color: #09090b;
252
+ color: #fff;
253
+ font-family: sans-serif;
254
+ }
255
+ \`\`\`
256
+
257
+ Import in \`index.html\`:
258
+
259
+ \`\`\`html
260
+ <link rel="stylesheet" href="/public/styles.css">
261
+ \`\`\`
262
+
263
+ ### Style Tag in Component
264
+
265
+ \`\`\`typescript
266
+ <div>
267
+ <button className="glow-btn">Click me</button>
268
+ <style>{\`
269
+ .glow-btn {
270
+ background: linear-gradient(to right, #155e75, #3b82f6);
271
+ border: none;
272
+ padding: 0.75rem 1.5rem;
273
+ color: white;
274
+ cursor: pointer;
275
+ }
276
+ \`}</style>
277
+ </div>
278
+ \`\`\`
279
+
280
+ ## Best Practices
281
+
282
+ - Wrap your app with **AgentuityProvider** for hooks to work
283
+ - Use **useAgent** for one-off agent calls
284
+ - Use **useAgentWebsocket** for bidirectional real-time communication
285
+ - Use **useAgentEventStream** for server-to-client streaming
286
+ - Place reusable components in separate files
287
+ - Keep static assets in the **public/** folder
288
+ - Use TypeScript for type safety
289
+ - Handle loading and error states in UI
290
+
291
+ ## Rules
292
+
293
+ - **App.tsx** must export a function named \`App\`
294
+ - **frontend.tsx** must render the \`App\` component to \`#root\`
295
+ - **index.html** must have a \`<div id="root"></div>\`
296
+ - All agents are accessible via \`useAgent('agentName')\`
297
+ - The web app is served at \`/\` by default
298
+ - Static files in \`public/\` are served at \`/public/*\`
299
+ - Module script tag: \`<script type="module" src="/web/frontend.tsx"></script>\`
300
+ `;
301
+ }
@@ -16,7 +16,7 @@ export const generateSubcommand = createSubcommand({
16
16
  description: 'Generate a JSON schema for the agentuity.json config file',
17
17
  tags: ['read-only', 'fast'],
18
18
  idempotent: true,
19
- examples: [getCommand('schema generate')],
19
+ examples: [{ command: getCommand('schema generate'), description: 'Run generate command' }],
20
20
  async handler(_ctx: CommandContext) {
21
21
  const o = z.toJSONSchema(ProjectSchema);
22
22
  const { $schema, allOf, ...rest } = o;
@@ -2,11 +2,13 @@ import type { CommandDefinition } from '../../../types';
2
2
  import { createCommand } from '../../../types';
3
3
  import { showSubcommand } from './show';
4
4
  import { generateSubcommand } from './generate';
5
+ import { getCommand } from '../../../command-prefix';
5
6
 
6
7
  export const schemaCommand: CommandDefinition = createCommand({
7
8
  name: 'schema',
8
9
  description: 'Output CLI schema in machine-readable format',
9
10
  tags: ['read-only', 'fast'],
11
+ examples: [{ command: getCommand('ai schema show'), description: 'Show CLI schema as JSON' }],
10
12
  subcommands: [showSubcommand, generateSubcommand],
11
13
  });
12
14
 
@@ -7,7 +7,10 @@ export const showSubcommand = createSubcommand({
7
7
  description: 'Display the complete CLI schema',
8
8
  tags: ['read-only', 'fast'],
9
9
  idempotent: true,
10
- examples: [getCommand('schema show'), getCommand('--help=json')],
10
+ examples: [
11
+ { command: getCommand('schema show'), description: 'Show details' },
12
+ { command: getCommand('--json schema show'), description: 'Show output in JSON format' },
13
+ ],
11
14
  async handler(ctx: CommandContext) {
12
15
  const { logger } = ctx;
13
16
 
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { APIError, APIResponseSchema, APIResponseSchemaOptionalData } from '@agentuity/server';
3
3
  import type { APIClient } from '../../api';
4
+ import { StructuredError } from '@agentuity/core';
4
5
 
5
6
  // Zod schemas for API validation
6
7
  const OTPStartDataSchema = z.object({
@@ -36,6 +37,11 @@ export interface SignupResult {
36
37
  expires: Date;
37
38
  }
38
39
 
40
+ const OTPGenerationError = StructuredError(
41
+ 'OTPGenerationError',
42
+ 'Error generating the one-time login code'
43
+ );
44
+
39
45
  export async function generateLoginOTP(apiClient: APIClient): Promise<string> {
40
46
  const resp = await apiClient.request(
41
47
  'GET',
@@ -44,16 +50,22 @@ export async function generateLoginOTP(apiClient: APIClient): Promise<string> {
44
50
  );
45
51
 
46
52
  if (!resp.success) {
47
- throw new Error(resp.message);
53
+ throw new OTPGenerationError();
48
54
  }
49
55
 
50
56
  if (!resp.data) {
51
- throw new Error('No OTP returned from server');
57
+ throw new OTPGenerationError();
52
58
  }
53
59
 
54
60
  return resp.data.otp;
55
61
  }
56
62
 
63
+ const PollForLoginError = StructuredError('PollForLoginError');
64
+ const PollForLoginTimeout = StructuredError(
65
+ 'PollForLoginTimeout',
66
+ 'Timed out waiting for user login. Aborting'
67
+ );
68
+
57
69
  export async function pollForLoginCompletion(
58
70
  apiClient: APIClient,
59
71
  otp: string,
@@ -71,7 +83,7 @@ export async function pollForLoginCompletion(
71
83
  );
72
84
 
73
85
  if (!resp.success) {
74
- throw new Error(resp.message);
86
+ throw new PollForLoginError({ message: resp.message });
75
87
  }
76
88
 
77
89
  if (resp.data) {
@@ -85,7 +97,7 @@ export async function pollForLoginCompletion(
85
97
  await Bun.sleep(2000);
86
98
  }
87
99
 
88
- throw new Error('Login timed out');
100
+ throw new PollForLoginTimeout();
89
101
  }
90
102
 
91
103
  export function generateSignupOTP(): string {
@@ -99,6 +111,16 @@ export function generateSignupOTP(): string {
99
111
  return result;
100
112
  }
101
113
 
114
+ const PollForSignupCompletedError = StructuredError(
115
+ 'PollForSignupCompletedError',
116
+ 'Error waiting for signup completion. Please try again.'
117
+ );
118
+
119
+ const PollForSignupTimeoutError = StructuredError(
120
+ 'PollForSignupTimeoutError',
121
+ 'Timed out waiting for user signup. Aborting.'
122
+ );
123
+
102
124
  export async function pollForSignupCompletion(
103
125
  apiClient: APIClient,
104
126
  otp: string,
@@ -115,7 +137,7 @@ export async function pollForSignupCompletion(
115
137
  );
116
138
 
117
139
  if (!resp.success) {
118
- throw new Error(resp.message);
140
+ throw new PollForSignupCompletedError();
119
141
  }
120
142
 
121
143
  if (resp.data) {
@@ -136,5 +158,5 @@ export async function pollForSignupCompletion(
136
158
  await Bun.sleep(2000);
137
159
  }
138
160
 
139
- throw new Error('Signup timed out');
161
+ throw new PollForSignupTimeoutError();
140
162
  }
@@ -4,10 +4,15 @@ import { logoutCommand } from './logout';
4
4
  import { signupCommand } from './signup';
5
5
  import { whoamiCommand } from './whoami';
6
6
  import { sshSubcommand } from './ssh';
7
+ import { getCommand } from '../../command-prefix';
7
8
 
8
9
  export const command = createCommand({
9
10
  name: 'auth',
10
11
  description: 'Authentication and authorization related commands',
11
12
  tags: ['read-only', 'fast'],
13
+ examples: [
14
+ { command: getCommand('auth login'), description: 'Login to your account' },
15
+ { command: getCommand('auth whoami'), description: 'Show current user info' },
16
+ ],
12
17
  subcommands: [loginCommand, logoutCommand, signupCommand, whoamiCommand, sshSubcommand],
13
18
  });
@@ -1,5 +1,4 @@
1
1
  import { createSubcommand } from '../../types';
2
- import { UpgradeRequiredError, ValidationError } from '@agentuity/server';
3
2
  import { getAppBaseURL } from '../../api';
4
3
  import { saveAuth } from '../../config';
5
4
  import { generateLoginOTP, pollForLoginCompletion } from './api';
@@ -14,16 +13,13 @@ export const loginCommand = createSubcommand({
14
13
  toplevel: true,
15
14
  idempotent: false,
16
15
  requires: { apiClient: true },
17
- examples: [getCommand('auth login'), getCommand('login')],
16
+ examples: [
17
+ { command: getCommand('auth login'), description: 'Login to account' },
18
+ { command: getCommand('login'), description: 'Login to account' },
19
+ ],
18
20
  async handler(ctx) {
19
21
  const { logger, config, apiClient } = ctx;
20
22
 
21
- if (!apiClient) {
22
- throw new Error(
23
- 'API client is not available. This is likely a configuration or initialization issue.'
24
- );
25
- }
26
-
27
23
  const appUrl = getAppBaseURL(config);
28
24
 
29
25
  try {
@@ -73,20 +69,7 @@ export const loginCommand = createSubcommand({
73
69
  tui.success('Welcome to Agentuity! You are now logged in');
74
70
  } catch (error) {
75
71
  logger.trace(error);
76
- if (error instanceof UpgradeRequiredError) {
77
- const bannerBody = `${error.message}\n\nVisit: ${tui.link('https://agentuity.dev/CLI/installation')}`;
78
- tui.banner('CLI Upgrade Required', bannerBody);
79
- process.exit(1);
80
- } else if (error instanceof ValidationError) {
81
- tui.error(`API error: ${error.message}`);
82
- tui.warning(`API url: ${error.url}`);
83
- error.issues.map((i) => tui.arrow(`${i.message} for ${i.path}`));
84
- process.exit(1);
85
- } else if (error instanceof Error) {
86
- logger.fatal(`Login failed: ${error.message}`, ErrorCode.AUTH_FAILED);
87
- } else {
88
- logger.fatal('Login failed', ErrorCode.AUTH_FAILED);
89
- }
72
+ logger.fatal('Login failed: %s', error, ErrorCode.AUTH_FAILED);
90
73
  }
91
74
  },
92
75
  });
@@ -9,7 +9,10 @@ export const logoutCommand = createSubcommand({
9
9
  tags: ['mutating', 'deletes-resource', 'fast', 'requires-auth'],
10
10
  toplevel: true,
11
11
  idempotent: false,
12
- examples: [getCommand('auth logout'), getCommand('logout')],
12
+ examples: [
13
+ { command: getCommand('auth logout'), description: 'Logout from account' },
14
+ { command: getCommand('logout'), description: 'Logout from account' },
15
+ ],
13
16
 
14
17
  async handler() {
15
18
  await clearAuth();
@@ -13,7 +13,10 @@ export const signupCommand = createSubcommand({
13
13
  toplevel: true,
14
14
  idempotent: false,
15
15
  requires: { apiClient: true },
16
- examples: [getCommand('auth signup'), getCommand('signup')],
16
+ examples: [
17
+ { command: getCommand('auth signup'), description: 'Sign up for account' },
18
+ { command: getCommand('signup'), description: 'Sign up for account' },
19
+ ],
17
20
 
18
21
  async handler(ctx) {
19
22
  const { logger, config, apiClient } = ctx;
@@ -119,10 +119,19 @@ export const addCommand = createSubcommand({
119
119
  idempotent: false,
120
120
  requires: { apiClient: true, auth: true },
121
121
  examples: [
122
- getCommand('auth ssh add'),
123
- getCommand('auth ssh add --file ~/.ssh/id_ed25519.pub'),
124
- getCommand('auth ssh add --file ./deploy_key.pub'),
125
- 'cat ~/.ssh/id_rsa.pub | ' + getCommand('auth ssh add'),
122
+ { command: getCommand('auth ssh add'), description: 'Add SSH key interactively' },
123
+ {
124
+ command: getCommand('auth ssh add --file ~/.ssh/id_ed25519.pub'),
125
+ description: 'Add SSH key from file',
126
+ },
127
+ {
128
+ command: getCommand('auth ssh add --file ./deploy_key.pub'),
129
+ description: 'Add deploy key from file',
130
+ },
131
+ {
132
+ command: 'cat ~/.ssh/id_rsa.pub | ' + getCommand('auth ssh add'),
133
+ description: 'Add SSH key from stdin',
134
+ },
126
135
  ],
127
136
  schema: {
128
137
  options: optionsSchema,
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { APIResponseSchema } from '@agentuity/server';
3
3
  import type { APIClient } from '../../../api';
4
4
  import { createHash } from 'crypto';
5
+ import { StructuredError } from '@agentuity/core';
5
6
 
6
7
  // Zod schemas for API validation
7
8
  const SSHKeySchema = z.object({
@@ -33,11 +34,16 @@ export interface AddSSHKeyResult {
33
34
  added: boolean;
34
35
  }
35
36
 
37
+ const InvalidSSHConfigurationError = StructuredError(
38
+ 'InvalidSSHConfigurationError',
39
+ 'Invalid SSH public key format'
40
+ );
41
+
36
42
  export function computeSSHKeyFingerprint(publicKey: string): string {
37
43
  // Parse the key (format: "ssh-ed25519 AAAAC3... [comment]")
38
44
  const parts = publicKey.trim().split(/\s+/);
39
45
  if (parts.length < 2) {
40
- throw new Error('Invalid SSH public key format');
46
+ throw new InvalidSSHConfigurationError();
41
47
  }
42
48
  const keyData = parts[1]; // Base64-encoded key data
43
49
  const buffer = Buffer.from(keyData, 'base64');
@@ -45,6 +51,12 @@ export function computeSSHKeyFingerprint(publicKey: string): string {
45
51
  return `SHA256:${fingerprint.replace(/=+$/, '')}`;
46
52
  }
47
53
 
54
+ const AddSSHKeyError = StructuredError('AddSSHKeyError');
55
+ const AddSSHKeyUnexpectedError = StructuredError(
56
+ 'AddSSHKeyUnexpectedError',
57
+ 'An unexpected error was received from the server.'
58
+ );
59
+
48
60
  export async function addSSHKey(apiClient: APIClient, publicKey: string): Promise<AddSSHKeyResult> {
49
61
  const resp = await apiClient.request(
50
62
  'POST',
@@ -54,16 +66,18 @@ export async function addSSHKey(apiClient: APIClient, publicKey: string): Promis
54
66
  );
55
67
 
56
68
  if (!resp.success) {
57
- throw new Error(resp.message);
69
+ throw new AddSSHKeyError({ message: resp.message });
58
70
  }
59
71
 
60
72
  if (!resp.data) {
61
- throw new Error('No data returned from server');
73
+ throw new AddSSHKeyUnexpectedError();
62
74
  }
63
75
 
64
76
  return resp.data;
65
77
  }
66
78
 
79
+ const ListSSHKeysError = StructuredError('ListSSHKeysError');
80
+
67
81
  export async function listSSHKeys(apiClient: APIClient): Promise<SSHKey[]> {
68
82
  const resp = await apiClient.request(
69
83
  'GET',
@@ -72,12 +86,14 @@ export async function listSSHKeys(apiClient: APIClient): Promise<SSHKey[]> {
72
86
  );
73
87
 
74
88
  if (!resp.success) {
75
- throw new Error(resp.message);
89
+ throw new ListSSHKeysError({ message: resp.message });
76
90
  }
77
91
 
78
92
  return resp.data ?? [];
79
93
  }
80
94
 
95
+ const RemoveSSHKeysError = StructuredError('RemoveSSHKeysError');
96
+
81
97
  export async function removeSSHKey(apiClient: APIClient, fingerprint: string): Promise<boolean> {
82
98
  const resp = await apiClient.request(
83
99
  'DELETE',
@@ -87,7 +103,7 @@ export async function removeSSHKey(apiClient: APIClient, fingerprint: string): P
87
103
  );
88
104
 
89
105
  if (!resp.success) {
90
- throw new Error(resp.message);
106
+ throw new RemoveSSHKeysError({ message: resp.message });
91
107
  }
92
108
 
93
109
  return resp.data?.removed ?? false;
@@ -21,10 +21,10 @@ export const deleteCommand = createSubcommand({
21
21
  requires: { apiClient: true, auth: true },
22
22
  idempotent: false,
23
23
  examples: [
24
- getCommand('auth ssh delete'),
25
- getCommand('auth ssh delete <fingerprint>'),
26
- getCommand('--explain auth ssh delete abc123'),
27
- getCommand('--dry-run auth ssh delete abc123'),
24
+ { command: getCommand('auth ssh delete'), description: 'Delete item' },
25
+ { command: getCommand('auth ssh delete <fingerprint>'), description: 'Delete item' },
26
+ { command: getCommand('--explain auth ssh delete abc123'), description: 'Delete item' },
27
+ { command: getCommand('--dry-run auth ssh delete abc123'), description: 'Delete item' },
28
28
  ],
29
29
  schema: {
30
30
  args: z.object({
@@ -2,10 +2,15 @@ import { createCommand } from '../../../types';
2
2
  import { listCommand } from './list';
3
3
  import { addCommand } from './add';
4
4
  import { deleteCommand } from './delete';
5
+ import { getCommand } from '../../../command-prefix';
5
6
 
6
7
  export const sshSubcommand = createCommand({
7
8
  name: 'ssh',
8
9
  description: 'Manage SSH keys',
9
10
  tags: ['fast', 'requires-auth'],
11
+ examples: [
12
+ { command: getCommand('auth ssh list'), description: 'List all SSH keys' },
13
+ { command: getCommand('auth ssh add'), description: 'Add a new SSH key' },
14
+ ],
10
15
  subcommands: [listCommand, addCommand, deleteCommand],
11
16
  });
@@ -22,9 +22,9 @@ export const listCommand = createSubcommand({
22
22
  requires: { apiClient: true, auth: true },
23
23
  idempotent: true,
24
24
  examples: [
25
- getCommand('auth ssh list'),
26
- getCommand('auth ssh ls'),
27
- getCommand('--json auth ssh list'),
25
+ { command: getCommand('auth ssh list'), description: 'List items' },
26
+ { command: getCommand('auth ssh ls'), description: 'List items' },
27
+ { command: getCommand('--json auth ssh list'), description: 'Show output in JSON format' },
28
28
  ],
29
29
  schema: {
30
30
  response: SSHListResponseSchema,