@adverant-nexus/cli 2.0.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 (541) hide show
  1. package/ARCHITECTURE.md +1366 -0
  2. package/LICENSE +21 -0
  3. package/README.md +593 -0
  4. package/completions/_nexus +452 -0
  5. package/completions/nexus.bash +329 -0
  6. package/completions/nexus.fish +187 -0
  7. package/dist/cli.d.ts +35 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +135 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/commands/agent/index.d.ts +9 -0
  12. package/dist/commands/agent/index.d.ts.map +1 -0
  13. package/dist/commands/agent/index.js +20 -0
  14. package/dist/commands/agent/index.js.map +1 -0
  15. package/dist/commands/agent/list.d.ts +9 -0
  16. package/dist/commands/agent/list.d.ts.map +1 -0
  17. package/dist/commands/agent/list.js +122 -0
  18. package/dist/commands/agent/list.js.map +1 -0
  19. package/dist/commands/agent/run.d.ts +10 -0
  20. package/dist/commands/agent/run.d.ts.map +1 -0
  21. package/dist/commands/agent/run.js +167 -0
  22. package/dist/commands/agent/run.js.map +1 -0
  23. package/dist/commands/agent/status.d.ts +9 -0
  24. package/dist/commands/agent/status.d.ts.map +1 -0
  25. package/dist/commands/agent/status.js +157 -0
  26. package/dist/commands/agent/status.js.map +1 -0
  27. package/dist/commands/compute/agent.d.ts +21 -0
  28. package/dist/commands/compute/agent.d.ts.map +1 -0
  29. package/dist/commands/compute/agent.js +158 -0
  30. package/dist/commands/compute/agent.js.map +1 -0
  31. package/dist/commands/compute/index.d.ts +10 -0
  32. package/dist/commands/compute/index.d.ts.map +1 -0
  33. package/dist/commands/compute/index.js +27 -0
  34. package/dist/commands/compute/index.js.map +1 -0
  35. package/dist/commands/compute/lib/hardware-detection.d.ts +52 -0
  36. package/dist/commands/compute/lib/hardware-detection.d.ts.map +1 -0
  37. package/dist/commands/compute/lib/hardware-detection.js +432 -0
  38. package/dist/commands/compute/lib/hardware-detection.js.map +1 -0
  39. package/dist/commands/compute/lib/local-compute-agent.d.ts +143 -0
  40. package/dist/commands/compute/lib/local-compute-agent.d.ts.map +1 -0
  41. package/dist/commands/compute/lib/local-compute-agent.js +1162 -0
  42. package/dist/commands/compute/lib/local-compute-agent.js.map +1 -0
  43. package/dist/commands/compute/lib/local-compute-client.d.ts +89 -0
  44. package/dist/commands/compute/lib/local-compute-client.d.ts.map +1 -0
  45. package/dist/commands/compute/lib/local-compute-client.js +388 -0
  46. package/dist/commands/compute/lib/local-compute-client.js.map +1 -0
  47. package/dist/commands/compute/list.d.ts +14 -0
  48. package/dist/commands/compute/list.d.ts.map +1 -0
  49. package/dist/commands/compute/list.js +164 -0
  50. package/dist/commands/compute/list.js.map +1 -0
  51. package/dist/commands/compute/logs.d.ts +14 -0
  52. package/dist/commands/compute/logs.d.ts.map +1 -0
  53. package/dist/commands/compute/logs.js +105 -0
  54. package/dist/commands/compute/logs.js.map +1 -0
  55. package/dist/commands/compute/resources.d.ts +14 -0
  56. package/dist/commands/compute/resources.d.ts.map +1 -0
  57. package/dist/commands/compute/resources.js +163 -0
  58. package/dist/commands/compute/resources.js.map +1 -0
  59. package/dist/commands/compute/status.d.ts +13 -0
  60. package/dist/commands/compute/status.d.ts.map +1 -0
  61. package/dist/commands/compute/status.js +223 -0
  62. package/dist/commands/compute/status.js.map +1 -0
  63. package/dist/commands/compute/submit.d.ts +19 -0
  64. package/dist/commands/compute/submit.d.ts.map +1 -0
  65. package/dist/commands/compute/submit.js +99 -0
  66. package/dist/commands/compute/submit.js.map +1 -0
  67. package/dist/commands/deploy.d.ts +11 -0
  68. package/dist/commands/deploy.d.ts.map +1 -0
  69. package/dist/commands/deploy.js +117 -0
  70. package/dist/commands/deploy.js.map +1 -0
  71. package/dist/commands/dynamic/graphrag-commands.d.ts +16 -0
  72. package/dist/commands/dynamic/graphrag-commands.d.ts.map +1 -0
  73. package/dist/commands/dynamic/graphrag-commands.js +562 -0
  74. package/dist/commands/dynamic/graphrag-commands.js.map +1 -0
  75. package/dist/commands/dynamic/index.d.ts +10 -0
  76. package/dist/commands/dynamic/index.d.ts.map +1 -0
  77. package/dist/commands/dynamic/index.js +17 -0
  78. package/dist/commands/dynamic/index.js.map +1 -0
  79. package/dist/commands/dynamic/mageagent-commands.d.ts +8 -0
  80. package/dist/commands/dynamic/mageagent-commands.d.ts.map +1 -0
  81. package/dist/commands/dynamic/mageagent-commands.js +86 -0
  82. package/dist/commands/dynamic/mageagent-commands.js.map +1 -0
  83. package/dist/commands/dynamic/mcp-tool-mapper.d.ts +97 -0
  84. package/dist/commands/dynamic/mcp-tool-mapper.d.ts.map +1 -0
  85. package/dist/commands/dynamic/mcp-tool-mapper.js +328 -0
  86. package/dist/commands/dynamic/mcp-tool-mapper.js.map +1 -0
  87. package/dist/commands/dynamic/nexus-commands.d.ts +78 -0
  88. package/dist/commands/dynamic/nexus-commands.d.ts.map +1 -0
  89. package/dist/commands/dynamic/nexus-commands.js +426 -0
  90. package/dist/commands/dynamic/nexus-commands.js.map +1 -0
  91. package/dist/commands/dynamic/sandbox-commands.d.ts +8 -0
  92. package/dist/commands/dynamic/sandbox-commands.d.ts.map +1 -0
  93. package/dist/commands/dynamic/sandbox-commands.js +80 -0
  94. package/dist/commands/dynamic/sandbox-commands.js.map +1 -0
  95. package/dist/commands/init.d.ts +11 -0
  96. package/dist/commands/init.d.ts.map +1 -0
  97. package/dist/commands/init.js +128 -0
  98. package/dist/commands/init.js.map +1 -0
  99. package/dist/commands/list.d.ts +10 -0
  100. package/dist/commands/list.d.ts.map +1 -0
  101. package/dist/commands/list.js +81 -0
  102. package/dist/commands/list.js.map +1 -0
  103. package/dist/commands/login.d.ts +10 -0
  104. package/dist/commands/login.d.ts.map +1 -0
  105. package/dist/commands/login.js +83 -0
  106. package/dist/commands/login.js.map +1 -0
  107. package/dist/commands/logs.d.ts +11 -0
  108. package/dist/commands/logs.d.ts.map +1 -0
  109. package/dist/commands/logs.js +79 -0
  110. package/dist/commands/logs.js.map +1 -0
  111. package/dist/commands/nexus/index.d.ts +69 -0
  112. package/dist/commands/nexus/index.d.ts.map +1 -0
  113. package/dist/commands/nexus/index.js +336 -0
  114. package/dist/commands/nexus/index.js.map +1 -0
  115. package/dist/commands/plugin/disable.d.ts +8 -0
  116. package/dist/commands/plugin/disable.d.ts.map +1 -0
  117. package/dist/commands/plugin/disable.js +31 -0
  118. package/dist/commands/plugin/disable.js.map +1 -0
  119. package/dist/commands/plugin/enable.d.ts +8 -0
  120. package/dist/commands/plugin/enable.d.ts.map +1 -0
  121. package/dist/commands/plugin/enable.js +37 -0
  122. package/dist/commands/plugin/enable.js.map +1 -0
  123. package/dist/commands/plugin/index.d.ts +8 -0
  124. package/dist/commands/plugin/index.d.ts.map +1 -0
  125. package/dist/commands/plugin/index.js +23 -0
  126. package/dist/commands/plugin/index.js.map +1 -0
  127. package/dist/commands/plugin/info.d.ts +8 -0
  128. package/dist/commands/plugin/info.d.ts.map +1 -0
  129. package/dist/commands/plugin/info.js +129 -0
  130. package/dist/commands/plugin/info.js.map +1 -0
  131. package/dist/commands/plugin/init.d.ts +8 -0
  132. package/dist/commands/plugin/init.d.ts.map +1 -0
  133. package/dist/commands/plugin/init.js +83 -0
  134. package/dist/commands/plugin/init.js.map +1 -0
  135. package/dist/commands/plugin/install.d.ts +8 -0
  136. package/dist/commands/plugin/install.d.ts.map +1 -0
  137. package/dist/commands/plugin/install.js +56 -0
  138. package/dist/commands/plugin/install.js.map +1 -0
  139. package/dist/commands/plugin/list.d.ts +8 -0
  140. package/dist/commands/plugin/list.d.ts.map +1 -0
  141. package/dist/commands/plugin/list.js +72 -0
  142. package/dist/commands/plugin/list.js.map +1 -0
  143. package/dist/commands/plugin/uninstall.d.ts +8 -0
  144. package/dist/commands/plugin/uninstall.d.ts.map +1 -0
  145. package/dist/commands/plugin/uninstall.js +49 -0
  146. package/dist/commands/plugin/uninstall.js.map +1 -0
  147. package/dist/commands/register.d.ts +10 -0
  148. package/dist/commands/register.d.ts.map +1 -0
  149. package/dist/commands/register.js +85 -0
  150. package/dist/commands/register.js.map +1 -0
  151. package/dist/commands/services/health.d.ts +7 -0
  152. package/dist/commands/services/health.d.ts.map +1 -0
  153. package/dist/commands/services/health.js +73 -0
  154. package/dist/commands/services/health.js.map +1 -0
  155. package/dist/commands/services/index.d.ts +16 -0
  156. package/dist/commands/services/index.d.ts.map +1 -0
  157. package/dist/commands/services/index.js +26 -0
  158. package/dist/commands/services/index.js.map +1 -0
  159. package/dist/commands/services/info.d.ts +7 -0
  160. package/dist/commands/services/info.d.ts.map +1 -0
  161. package/dist/commands/services/info.js +68 -0
  162. package/dist/commands/services/info.js.map +1 -0
  163. package/dist/commands/services/list.d.ts +9 -0
  164. package/dist/commands/services/list.d.ts.map +1 -0
  165. package/dist/commands/services/list.js +43 -0
  166. package/dist/commands/services/list.js.map +1 -0
  167. package/dist/commands/services/logs.d.ts +7 -0
  168. package/dist/commands/services/logs.d.ts.map +1 -0
  169. package/dist/commands/services/logs.js +107 -0
  170. package/dist/commands/services/logs.js.map +1 -0
  171. package/dist/commands/services/ports.d.ts +7 -0
  172. package/dist/commands/services/ports.d.ts.map +1 -0
  173. package/dist/commands/services/ports.js +65 -0
  174. package/dist/commands/services/ports.js.map +1 -0
  175. package/dist/commands/services/restart.d.ts +7 -0
  176. package/dist/commands/services/restart.d.ts.map +1 -0
  177. package/dist/commands/services/restart.js +67 -0
  178. package/dist/commands/services/restart.js.map +1 -0
  179. package/dist/commands/services/start.d.ts +7 -0
  180. package/dist/commands/services/start.d.ts.map +1 -0
  181. package/dist/commands/services/start.js +67 -0
  182. package/dist/commands/services/start.js.map +1 -0
  183. package/dist/commands/services/status.d.ts +9 -0
  184. package/dist/commands/services/status.d.ts.map +1 -0
  185. package/dist/commands/services/status.js +119 -0
  186. package/dist/commands/services/status.js.map +1 -0
  187. package/dist/commands/services/stop.d.ts +7 -0
  188. package/dist/commands/services/stop.d.ts.map +1 -0
  189. package/dist/commands/services/stop.js +67 -0
  190. package/dist/commands/services/stop.js.map +1 -0
  191. package/dist/commands/session/delete.d.ts +9 -0
  192. package/dist/commands/session/delete.d.ts.map +1 -0
  193. package/dist/commands/session/delete.js +51 -0
  194. package/dist/commands/session/delete.js.map +1 -0
  195. package/dist/commands/session/export.d.ts +9 -0
  196. package/dist/commands/session/export.d.ts.map +1 -0
  197. package/dist/commands/session/export.js +36 -0
  198. package/dist/commands/session/export.js.map +1 -0
  199. package/dist/commands/session/import.d.ts +9 -0
  200. package/dist/commands/session/import.d.ts.map +1 -0
  201. package/dist/commands/session/import.js +54 -0
  202. package/dist/commands/session/import.js.map +1 -0
  203. package/dist/commands/session/index.d.ts +9 -0
  204. package/dist/commands/session/index.d.ts.map +1 -0
  205. package/dist/commands/session/index.js +28 -0
  206. package/dist/commands/session/index.js.map +1 -0
  207. package/dist/commands/session/list.d.ts +9 -0
  208. package/dist/commands/session/list.d.ts.map +1 -0
  209. package/dist/commands/session/list.js +88 -0
  210. package/dist/commands/session/list.js.map +1 -0
  211. package/dist/commands/session/load.d.ts +9 -0
  212. package/dist/commands/session/load.d.ts.map +1 -0
  213. package/dist/commands/session/load.js +71 -0
  214. package/dist/commands/session/load.js.map +1 -0
  215. package/dist/commands/session/resume.d.ts +9 -0
  216. package/dist/commands/session/resume.d.ts.map +1 -0
  217. package/dist/commands/session/resume.js +49 -0
  218. package/dist/commands/session/resume.js.map +1 -0
  219. package/dist/commands/session/save.d.ts +9 -0
  220. package/dist/commands/session/save.d.ts.map +1 -0
  221. package/dist/commands/session/save.js +69 -0
  222. package/dist/commands/session/save.js.map +1 -0
  223. package/dist/commands/workspace/git-commit.d.ts +9 -0
  224. package/dist/commands/workspace/git-commit.d.ts.map +1 -0
  225. package/dist/commands/workspace/git-commit.js +156 -0
  226. package/dist/commands/workspace/git-commit.js.map +1 -0
  227. package/dist/commands/workspace/git-status.d.ts +9 -0
  228. package/dist/commands/workspace/git-status.d.ts.map +1 -0
  229. package/dist/commands/workspace/git-status.js +192 -0
  230. package/dist/commands/workspace/git-status.js.map +1 -0
  231. package/dist/commands/workspace/index.d.ts +9 -0
  232. package/dist/commands/workspace/index.d.ts.map +1 -0
  233. package/dist/commands/workspace/index.js +24 -0
  234. package/dist/commands/workspace/index.js.map +1 -0
  235. package/dist/commands/workspace/info.d.ts +10 -0
  236. package/dist/commands/workspace/info.d.ts.map +1 -0
  237. package/dist/commands/workspace/info.js +191 -0
  238. package/dist/commands/workspace/info.js.map +1 -0
  239. package/dist/commands/workspace/init.d.ts +9 -0
  240. package/dist/commands/workspace/init.d.ts.map +1 -0
  241. package/dist/commands/workspace/init.js +193 -0
  242. package/dist/commands/workspace/init.js.map +1 -0
  243. package/dist/commands/workspace/validate.d.ts +9 -0
  244. package/dist/commands/workspace/validate.d.ts.map +1 -0
  245. package/dist/commands/workspace/validate.js +140 -0
  246. package/dist/commands/workspace/validate.js.map +1 -0
  247. package/dist/core/agent-client.d.ts +49 -0
  248. package/dist/core/agent-client.d.ts.map +1 -0
  249. package/dist/core/agent-client.js +289 -0
  250. package/dist/core/agent-client.js.map +1 -0
  251. package/dist/core/config/config-manager.d.ts +75 -0
  252. package/dist/core/config/config-manager.d.ts.map +1 -0
  253. package/dist/core/config/config-manager.js +379 -0
  254. package/dist/core/config/config-manager.js.map +1 -0
  255. package/dist/core/config/profile-manager.d.ts +76 -0
  256. package/dist/core/config/profile-manager.d.ts.map +1 -0
  257. package/dist/core/config/profile-manager.js +250 -0
  258. package/dist/core/config/profile-manager.js.map +1 -0
  259. package/dist/core/config/workspace-detector.d.ts +66 -0
  260. package/dist/core/config/workspace-detector.d.ts.map +1 -0
  261. package/dist/core/config/workspace-detector.js +291 -0
  262. package/dist/core/config/workspace-detector.js.map +1 -0
  263. package/dist/core/discovery/docker-parser.d.ts +27 -0
  264. package/dist/core/discovery/docker-parser.d.ts.map +1 -0
  265. package/dist/core/discovery/docker-parser.js +361 -0
  266. package/dist/core/discovery/docker-parser.js.map +1 -0
  267. package/dist/core/discovery/index.d.ts +11 -0
  268. package/dist/core/discovery/index.d.ts.map +1 -0
  269. package/dist/core/discovery/index.js +16 -0
  270. package/dist/core/discovery/index.js.map +1 -0
  271. package/dist/core/discovery/mcp-discovery.d.ts +41 -0
  272. package/dist/core/discovery/mcp-discovery.d.ts.map +1 -0
  273. package/dist/core/discovery/mcp-discovery.js +439 -0
  274. package/dist/core/discovery/mcp-discovery.js.map +1 -0
  275. package/dist/core/discovery/openapi-parser.d.ts +95 -0
  276. package/dist/core/discovery/openapi-parser.d.ts.map +1 -0
  277. package/dist/core/discovery/openapi-parser.js +353 -0
  278. package/dist/core/discovery/openapi-parser.js.map +1 -0
  279. package/dist/core/discovery/plugin-discovery.d.ts +63 -0
  280. package/dist/core/discovery/plugin-discovery.d.ts.map +1 -0
  281. package/dist/core/discovery/plugin-discovery.js +333 -0
  282. package/dist/core/discovery/plugin-discovery.js.map +1 -0
  283. package/dist/core/discovery/service-discovery.d.ts +107 -0
  284. package/dist/core/discovery/service-discovery.d.ts.map +1 -0
  285. package/dist/core/discovery/service-discovery.js +349 -0
  286. package/dist/core/discovery/service-discovery.js.map +1 -0
  287. package/dist/core/nexus-client.d.ts +119 -0
  288. package/dist/core/nexus-client.d.ts.map +1 -0
  289. package/dist/core/nexus-client.js +292 -0
  290. package/dist/core/nexus-client.js.map +1 -0
  291. package/dist/core/nexus-tool-executor.d.ts +102 -0
  292. package/dist/core/nexus-tool-executor.d.ts.map +1 -0
  293. package/dist/core/nexus-tool-executor.js +386 -0
  294. package/dist/core/nexus-tool-executor.js.map +1 -0
  295. package/dist/core/react-handler.d.ts +17 -0
  296. package/dist/core/react-handler.d.ts.map +1 -0
  297. package/dist/core/react-handler.js +296 -0
  298. package/dist/core/react-handler.js.map +1 -0
  299. package/dist/core/router/command-registry.d.ts +61 -0
  300. package/dist/core/router/command-registry.d.ts.map +1 -0
  301. package/dist/core/router/command-registry.js +138 -0
  302. package/dist/core/router/command-registry.js.map +1 -0
  303. package/dist/core/router/command-router.d.ts +33 -0
  304. package/dist/core/router/command-router.d.ts.map +1 -0
  305. package/dist/core/router/command-router.js +111 -0
  306. package/dist/core/router/command-router.js.map +1 -0
  307. package/dist/core/router/index.d.ts +9 -0
  308. package/dist/core/router/index.d.ts.map +1 -0
  309. package/dist/core/router/index.js +8 -0
  310. package/dist/core/router/index.js.map +1 -0
  311. package/dist/core/session/context-manager.d.ts +69 -0
  312. package/dist/core/session/context-manager.d.ts.map +1 -0
  313. package/dist/core/session/context-manager.js +109 -0
  314. package/dist/core/session/context-manager.js.map +1 -0
  315. package/dist/core/session/history-manager.d.ts +72 -0
  316. package/dist/core/session/history-manager.d.ts.map +1 -0
  317. package/dist/core/session/history-manager.js +175 -0
  318. package/dist/core/session/history-manager.js.map +1 -0
  319. package/dist/core/session/index.d.ts +9 -0
  320. package/dist/core/session/index.d.ts.map +1 -0
  321. package/dist/core/session/index.js +9 -0
  322. package/dist/core/session/index.js.map +1 -0
  323. package/dist/core/session/session-manager.d.ts +50 -0
  324. package/dist/core/session/session-manager.d.ts.map +1 -0
  325. package/dist/core/session/session-manager.js +200 -0
  326. package/dist/core/session/session-manager.js.map +1 -0
  327. package/dist/core/session/session-storage.d.ts +59 -0
  328. package/dist/core/session/session-storage.d.ts.map +1 -0
  329. package/dist/core/session/session-storage.js +226 -0
  330. package/dist/core/session/session-storage.js.map +1 -0
  331. package/dist/core/transport/http-client.d.ts +27 -0
  332. package/dist/core/transport/http-client.d.ts.map +1 -0
  333. package/dist/core/transport/http-client.js +182 -0
  334. package/dist/core/transport/http-client.js.map +1 -0
  335. package/dist/core/transport/index.d.ts +11 -0
  336. package/dist/core/transport/index.d.ts.map +1 -0
  337. package/dist/core/transport/index.js +10 -0
  338. package/dist/core/transport/index.js.map +1 -0
  339. package/dist/core/transport/mcp-client.d.ts +69 -0
  340. package/dist/core/transport/mcp-client.d.ts.map +1 -0
  341. package/dist/core/transport/mcp-client.js +252 -0
  342. package/dist/core/transport/mcp-client.js.map +1 -0
  343. package/dist/core/transport/stream-handler.d.ts +51 -0
  344. package/dist/core/transport/stream-handler.d.ts.map +1 -0
  345. package/dist/core/transport/stream-handler.js +264 -0
  346. package/dist/core/transport/stream-handler.js.map +1 -0
  347. package/dist/core/transport/websocket-client.d.ts +66 -0
  348. package/dist/core/transport/websocket-client.d.ts.map +1 -0
  349. package/dist/core/transport/websocket-client.js +232 -0
  350. package/dist/core/transport/websocket-client.js.map +1 -0
  351. package/dist/index.d.ts +9 -0
  352. package/dist/index.d.ts.map +1 -0
  353. package/dist/index.js +106 -0
  354. package/dist/index.js.map +1 -0
  355. package/dist/output/formatters/index.d.ts +9 -0
  356. package/dist/output/formatters/index.d.ts.map +1 -0
  357. package/dist/output/formatters/index.js +9 -0
  358. package/dist/output/formatters/index.js.map +1 -0
  359. package/dist/output/formatters/json-formatter.d.ts +71 -0
  360. package/dist/output/formatters/json-formatter.d.ts.map +1 -0
  361. package/dist/output/formatters/json-formatter.js +236 -0
  362. package/dist/output/formatters/json-formatter.js.map +1 -0
  363. package/dist/output/formatters/stream-formatter.d.ts +107 -0
  364. package/dist/output/formatters/stream-formatter.d.ts.map +1 -0
  365. package/dist/output/formatters/stream-formatter.js +247 -0
  366. package/dist/output/formatters/stream-formatter.js.map +1 -0
  367. package/dist/output/formatters/table-formatter.d.ts +63 -0
  368. package/dist/output/formatters/table-formatter.d.ts.map +1 -0
  369. package/dist/output/formatters/table-formatter.js +294 -0
  370. package/dist/output/formatters/table-formatter.js.map +1 -0
  371. package/dist/output/formatters/text-formatter.d.ts +63 -0
  372. package/dist/output/formatters/text-formatter.d.ts.map +1 -0
  373. package/dist/output/formatters/text-formatter.js +202 -0
  374. package/dist/output/formatters/text-formatter.js.map +1 -0
  375. package/dist/output/formatters/yaml-formatter.d.ts +71 -0
  376. package/dist/output/formatters/yaml-formatter.d.ts.map +1 -0
  377. package/dist/output/formatters/yaml-formatter.js +239 -0
  378. package/dist/output/formatters/yaml-formatter.js.map +1 -0
  379. package/dist/output/index.d.ts +7 -0
  380. package/dist/output/index.d.ts.map +1 -0
  381. package/dist/output/index.js +7 -0
  382. package/dist/output/index.js.map +1 -0
  383. package/dist/output/output-manager.d.ts +156 -0
  384. package/dist/output/output-manager.d.ts.map +1 -0
  385. package/dist/output/output-manager.js +339 -0
  386. package/dist/output/output-manager.js.map +1 -0
  387. package/dist/output/renderers/index.d.ts +6 -0
  388. package/dist/output/renderers/index.d.ts.map +1 -0
  389. package/dist/output/renderers/index.js +6 -0
  390. package/dist/output/renderers/index.js.map +1 -0
  391. package/dist/output/renderers/progress-renderer.d.ts +56 -0
  392. package/dist/output/renderers/progress-renderer.d.ts.map +1 -0
  393. package/dist/output/renderers/progress-renderer.js +306 -0
  394. package/dist/output/renderers/progress-renderer.js.map +1 -0
  395. package/dist/output/renderers/terminal-renderer.d.ts +117 -0
  396. package/dist/output/renderers/terminal-renderer.d.ts.map +1 -0
  397. package/dist/output/renderers/terminal-renderer.js +294 -0
  398. package/dist/output/renderers/terminal-renderer.js.map +1 -0
  399. package/dist/plugins/index.d.ts +12 -0
  400. package/dist/plugins/index.d.ts.map +1 -0
  401. package/dist/plugins/index.js +18 -0
  402. package/dist/plugins/index.js.map +1 -0
  403. package/dist/plugins/plugin-loader.d.ts +37 -0
  404. package/dist/plugins/plugin-loader.d.ts.map +1 -0
  405. package/dist/plugins/plugin-loader.js +155 -0
  406. package/dist/plugins/plugin-loader.js.map +1 -0
  407. package/dist/plugins/plugin-manager.d.ts +78 -0
  408. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  409. package/dist/plugins/plugin-manager.js +310 -0
  410. package/dist/plugins/plugin-manager.js.map +1 -0
  411. package/dist/plugins/plugin-sdk.d.ts +136 -0
  412. package/dist/plugins/plugin-sdk.d.ts.map +1 -0
  413. package/dist/plugins/plugin-sdk.js +260 -0
  414. package/dist/plugins/plugin-sdk.js.map +1 -0
  415. package/dist/plugins/plugin-storage.d.ts +109 -0
  416. package/dist/plugins/plugin-storage.d.ts.map +1 -0
  417. package/dist/plugins/plugin-storage.js +207 -0
  418. package/dist/plugins/plugin-storage.js.map +1 -0
  419. package/dist/plugins/plugin-validator.d.ts +44 -0
  420. package/dist/plugins/plugin-validator.d.ts.map +1 -0
  421. package/dist/plugins/plugin-validator.js +272 -0
  422. package/dist/plugins/plugin-validator.js.map +1 -0
  423. package/dist/plugins/template-generator.d.ts +35 -0
  424. package/dist/plugins/template-generator.d.ts.map +1 -0
  425. package/dist/plugins/template-generator.js +438 -0
  426. package/dist/plugins/template-generator.js.map +1 -0
  427. package/dist/repl/completer.d.ts +58 -0
  428. package/dist/repl/completer.d.ts.map +1 -0
  429. package/dist/repl/completer.js +198 -0
  430. package/dist/repl/completer.js.map +1 -0
  431. package/dist/repl/evaluator.d.ts +55 -0
  432. package/dist/repl/evaluator.d.ts.map +1 -0
  433. package/dist/repl/evaluator.js +299 -0
  434. package/dist/repl/evaluator.js.map +1 -0
  435. package/dist/repl/index.d.ts +10 -0
  436. package/dist/repl/index.d.ts.map +1 -0
  437. package/dist/repl/index.js +10 -0
  438. package/dist/repl/index.js.map +1 -0
  439. package/dist/repl/renderer.d.ts +77 -0
  440. package/dist/repl/renderer.d.ts.map +1 -0
  441. package/dist/repl/renderer.js +291 -0
  442. package/dist/repl/renderer.js.map +1 -0
  443. package/dist/repl/repl.d.ts +89 -0
  444. package/dist/repl/repl.d.ts.map +1 -0
  445. package/dist/repl/repl.js +339 -0
  446. package/dist/repl/repl.js.map +1 -0
  447. package/dist/templates/python.d.ts +15 -0
  448. package/dist/templates/python.d.ts.map +1 -0
  449. package/dist/templates/python.js +375 -0
  450. package/dist/templates/python.js.map +1 -0
  451. package/dist/templates/typescript.d.ts +15 -0
  452. package/dist/templates/typescript.d.ts.map +1 -0
  453. package/dist/templates/typescript.js +274 -0
  454. package/dist/templates/typescript.js.map +1 -0
  455. package/dist/types/agent.d.ts +109 -0
  456. package/dist/types/agent.d.ts.map +1 -0
  457. package/dist/types/agent.js +7 -0
  458. package/dist/types/agent.js.map +1 -0
  459. package/dist/types/api.d.ts +125 -0
  460. package/dist/types/api.d.ts.map +1 -0
  461. package/dist/types/api.js +53 -0
  462. package/dist/types/api.js.map +1 -0
  463. package/dist/types/command.d.ts +101 -0
  464. package/dist/types/command.d.ts.map +1 -0
  465. package/dist/types/command.js +7 -0
  466. package/dist/types/command.js.map +1 -0
  467. package/dist/types/compute.d.ts +317 -0
  468. package/dist/types/compute.d.ts.map +1 -0
  469. package/dist/types/compute.js +19 -0
  470. package/dist/types/compute.js.map +1 -0
  471. package/dist/types/config.d.ts +71 -0
  472. package/dist/types/config.d.ts.map +1 -0
  473. package/dist/types/config.js +7 -0
  474. package/dist/types/config.js.map +1 -0
  475. package/dist/types/errors.d.ts +56 -0
  476. package/dist/types/errors.d.ts.map +1 -0
  477. package/dist/types/errors.js +64 -0
  478. package/dist/types/errors.js.map +1 -0
  479. package/dist/types/index.d.ts +16 -0
  480. package/dist/types/index.d.ts.map +1 -0
  481. package/dist/types/index.js +16 -0
  482. package/dist/types/index.js.map +1 -0
  483. package/dist/types/nexus.d.ts +254 -0
  484. package/dist/types/nexus.d.ts.map +1 -0
  485. package/dist/types/nexus.js +7 -0
  486. package/dist/types/nexus.js.map +1 -0
  487. package/dist/types/output.d.ts +107 -0
  488. package/dist/types/output.d.ts.map +1 -0
  489. package/dist/types/output.js +7 -0
  490. package/dist/types/output.js.map +1 -0
  491. package/dist/types/plugin.d.ts +118 -0
  492. package/dist/types/plugin.d.ts.map +1 -0
  493. package/dist/types/plugin.js +7 -0
  494. package/dist/types/plugin.js.map +1 -0
  495. package/dist/types/service.d.ts +94 -0
  496. package/dist/types/service.d.ts.map +1 -0
  497. package/dist/types/service.js +15 -0
  498. package/dist/types/service.js.map +1 -0
  499. package/dist/types/session.d.ts +80 -0
  500. package/dist/types/session.d.ts.map +1 -0
  501. package/dist/types/session.js +7 -0
  502. package/dist/types/session.js.map +1 -0
  503. package/dist/types/transport.d.ts +96 -0
  504. package/dist/types/transport.d.ts.map +1 -0
  505. package/dist/types/transport.js +7 -0
  506. package/dist/types/transport.js.map +1 -0
  507. package/dist/utils/config.d.ts +47 -0
  508. package/dist/utils/config.d.ts.map +1 -0
  509. package/dist/utils/config.js +166 -0
  510. package/dist/utils/config.js.map +1 -0
  511. package/dist/utils/error-handler.d.ts +82 -0
  512. package/dist/utils/error-handler.d.ts.map +1 -0
  513. package/dist/utils/error-handler.js +238 -0
  514. package/dist/utils/error-handler.js.map +1 -0
  515. package/dist/utils/index.d.ts +9 -0
  516. package/dist/utils/index.d.ts.map +1 -0
  517. package/dist/utils/index.js +9 -0
  518. package/dist/utils/index.js.map +1 -0
  519. package/dist/utils/logger.d.ts +61 -0
  520. package/dist/utils/logger.d.ts.map +1 -0
  521. package/dist/utils/logger.js +200 -0
  522. package/dist/utils/logger.js.map +1 -0
  523. package/dist/utils/prompt.d.ts +57 -0
  524. package/dist/utils/prompt.d.ts.map +1 -0
  525. package/dist/utils/prompt.js +141 -0
  526. package/dist/utils/prompt.js.map +1 -0
  527. package/dist/utils/spinner.d.ts +47 -0
  528. package/dist/utils/spinner.d.ts.map +1 -0
  529. package/dist/utils/spinner.js +123 -0
  530. package/dist/utils/spinner.js.map +1 -0
  531. package/dist/utils/validation.d.ts +97 -0
  532. package/dist/utils/validation.d.ts.map +1 -0
  533. package/dist/utils/validation.js +289 -0
  534. package/dist/utils/validation.js.map +1 -0
  535. package/docs/COMPLETIONS.md +528 -0
  536. package/docs/REPL.md +466 -0
  537. package/docs/graphrag-commands.md +387 -0
  538. package/package.json +154 -0
  539. package/scripts/install-completions.sh +356 -0
  540. package/scripts/prepublish.js +522 -0
  541. package/scripts/verify-package.js +505 -0
@@ -0,0 +1,375 @@
1
+ /**
2
+ * Python plugin template generator
3
+ */
4
+ import fs from 'fs-extra';
5
+ import path from 'path';
6
+ export async function generatePythonTemplate(targetDir, config) {
7
+ // Create directory structure
8
+ await fs.ensureDir(targetDir);
9
+ await fs.ensureDir(path.join(targetDir, 'src'));
10
+ await fs.ensureDir(path.join(targetDir, 'src', 'tools'));
11
+ // pyproject.toml
12
+ const pyprojectToml = `[project]
13
+ name = "${config.name}"
14
+ version = "1.0.0"
15
+ description = "${config.description}"
16
+ authors = [
17
+ { name = "${config.author}", email = "${config.email}" }
18
+ ]
19
+ requires-python = ">=3.10"
20
+ dependencies = [
21
+ "mcp>=0.1.0",
22
+ "pydantic>=2.0.0",
23
+ "httpx>=0.25.0"
24
+ ]
25
+
26
+ [project.optional-dependencies]
27
+ dev = [
28
+ "pytest>=7.0.0",
29
+ "black>=23.0.0",
30
+ "ruff>=0.1.0",
31
+ "mypy>=1.0.0"
32
+ ]
33
+
34
+ [build-system]
35
+ requires = ["hatchling"]
36
+ build-backend = "hatchling.build"
37
+
38
+ [tool.black]
39
+ line-length = 100
40
+
41
+ [tool.ruff]
42
+ line-length = 100
43
+
44
+ [tool.mypy]
45
+ strict = true
46
+ `;
47
+ await fs.writeFile(path.join(targetDir, 'pyproject.toml'), pyprojectToml);
48
+ // plugin.json
49
+ const pluginJson = {
50
+ name: config.name,
51
+ displayName: config.displayName,
52
+ description: config.description,
53
+ version: '1.0.0',
54
+ author: {
55
+ name: config.author,
56
+ email: config.email
57
+ },
58
+ category: config.category,
59
+ tags: [config.category],
60
+ pricingModel: config.pricingModel
61
+ };
62
+ await fs.writeJson(path.join(targetDir, 'plugin.json'), pluginJson, { spaces: 2 });
63
+ // src/__init__.py
64
+ await fs.writeFile(path.join(targetDir, 'src', '__init__.py'), '');
65
+ // src/main.py
66
+ const mainPy = `"""
67
+ ${config.displayName}
68
+ ${config.description}
69
+ """
70
+
71
+ import asyncio
72
+ from mcp.server import Server
73
+ from mcp.types import Tool, TextContent
74
+
75
+ from .tools.greet import greet_tool
76
+ from .tools.example import example_tool
77
+
78
+ # Create MCP server
79
+ server = Server("${config.name}")
80
+
81
+
82
+ @server.list_tools()
83
+ async def list_tools() -> list[Tool]:
84
+ """List available tools."""
85
+ return [
86
+ greet_tool.definition,
87
+ example_tool.definition,
88
+ ]
89
+
90
+
91
+ @server.call_tool()
92
+ async def call_tool(name: str, arguments: dict) -> list[TextContent]:
93
+ """Execute a tool."""
94
+ if name == "greet":
95
+ return await greet_tool.execute(arguments)
96
+ elif name == "example":
97
+ return await example_tool.execute(arguments)
98
+ else:
99
+ raise ValueError(f"Unknown tool: {name}")
100
+
101
+
102
+ async def main():
103
+ """Main entry point."""
104
+ from mcp.server.stdio import stdio_server
105
+
106
+ async with stdio_server() as (read_stream, write_stream):
107
+ await server.run(
108
+ read_stream,
109
+ write_stream,
110
+ server.create_initialization_options()
111
+ )
112
+
113
+
114
+ if __name__ == "__main__":
115
+ asyncio.run(main())
116
+ `;
117
+ await fs.writeFile(path.join(targetDir, 'src', 'main.py'), mainPy);
118
+ // src/tools/__init__.py
119
+ await fs.writeFile(path.join(targetDir, 'src', 'tools', '__init__.py'), '');
120
+ // src/tools/greet.py
121
+ const greetPy = `"""Greet tool implementation."""
122
+
123
+ from mcp.types import Tool, TextContent
124
+ from pydantic import BaseModel
125
+
126
+
127
+ class GreetInput(BaseModel):
128
+ """Input for greet tool."""
129
+ name: str
130
+
131
+
132
+ class GreetTool:
133
+ """Greets a user by name."""
134
+
135
+ @property
136
+ def definition(self) -> Tool:
137
+ """Tool definition."""
138
+ return Tool(
139
+ name="greet",
140
+ description="Greets a user by name",
141
+ inputSchema={
142
+ "type": "object",
143
+ "properties": {
144
+ "name": {
145
+ "type": "string",
146
+ "description": "Name to greet"
147
+ }
148
+ },
149
+ "required": ["name"]
150
+ }
151
+ )
152
+
153
+ async def execute(self, arguments: dict) -> list[TextContent]:
154
+ """Execute the tool."""
155
+ input_data = GreetInput(**arguments)
156
+
157
+ return [
158
+ TextContent(
159
+ type="text",
160
+ text=f"👋 Hello, {input_data.name}! Welcome to ${config.displayName}!"
161
+ )
162
+ ]
163
+
164
+
165
+ greet_tool = GreetTool()
166
+ `;
167
+ await fs.writeFile(path.join(targetDir, 'src', 'tools', 'greet.py'), greetPy);
168
+ // src/tools/example.py
169
+ const examplePy = `"""Example tool implementation."""
170
+
171
+ import os
172
+ from mcp.types import Tool, TextContent
173
+ from pydantic import BaseModel
174
+ import httpx
175
+
176
+
177
+ class ExampleInput(BaseModel):
178
+ """Input for example tool."""
179
+ data: str
180
+ save: bool = False
181
+
182
+
183
+ class ExampleTool:
184
+ """Example tool that demonstrates Nexus integration."""
185
+
186
+ def __init__(self):
187
+ self.nexus_api_url = os.getenv("NEXUS_API_URL", "http://nexus-api-gateway:8092")
188
+ self.nexus_api_key = os.getenv("NEXUS_API_KEY", "")
189
+
190
+ @property
191
+ def definition(self) -> Tool:
192
+ """Tool definition."""
193
+ return Tool(
194
+ name="example",
195
+ description="Example tool that demonstrates Nexus integration",
196
+ inputSchema={
197
+ "type": "object",
198
+ "properties": {
199
+ "data": {
200
+ "type": "string",
201
+ "description": "Data to process"
202
+ },
203
+ "save": {
204
+ "type": "boolean",
205
+ "description": "Save result to Nexus memory",
206
+ "default": False
207
+ }
208
+ },
209
+ "required": ["data"]
210
+ }
211
+ )
212
+
213
+ async def execute(self, arguments: dict) -> list[TextContent]:
214
+ """Execute the tool."""
215
+ input_data = ExampleInput(**arguments)
216
+
217
+ # Process the data
218
+ result = f"Processed: {input_data.data.upper()}"
219
+
220
+ # Optionally save to Nexus memory
221
+ if input_data.save and self.nexus_api_key:
222
+ try:
223
+ async with httpx.AsyncClient() as client:
224
+ await client.post(
225
+ f"{self.nexus_api_url}/api/v1/nexus/store-memory",
226
+ headers={
227
+ "Authorization": f"Bearer {self.nexus_api_key}",
228
+ "Content-Type": "application/json"
229
+ },
230
+ json={
231
+ "content": result,
232
+ "tags": ["${config.name}", "example"],
233
+ "metadata": {
234
+ "plugin": "${config.name}"
235
+ }
236
+ }
237
+ )
238
+ except Exception as e:
239
+ print(f"Failed to store in Nexus: {e}")
240
+
241
+ return [
242
+ TextContent(
243
+ type="text",
244
+ text=result
245
+ )
246
+ ]
247
+
248
+
249
+ example_tool = ExampleTool()
250
+ `;
251
+ await fs.writeFile(path.join(targetDir, 'src', 'tools', 'example.py'), examplePy);
252
+ // .env.example
253
+ const envExample = `# Nexus API Configuration
254
+ NEXUS_API_KEY=your_api_key_here
255
+ NEXUS_API_URL=http://nexus-api-gateway:8092
256
+
257
+ # Plugin Configuration
258
+ LOG_LEVEL=INFO
259
+ `;
260
+ await fs.writeFile(path.join(targetDir, '.env.example'), envExample);
261
+ // .gitignore
262
+ const gitignore = `__pycache__/
263
+ *.py[cod]
264
+ *$py.class
265
+ *.so
266
+ .Python
267
+ build/
268
+ develop-eggs/
269
+ dist/
270
+ downloads/
271
+ eggs/
272
+ .eggs/
273
+ lib/
274
+ lib64/
275
+ parts/
276
+ sdist/
277
+ var/
278
+ wheels/
279
+ *.egg-info/
280
+ .installed.cfg
281
+ *.egg
282
+ .env
283
+ *.log
284
+ .DS_Store
285
+ .venv/
286
+ venv/
287
+ `;
288
+ await fs.writeFile(path.join(targetDir, '.gitignore'), gitignore);
289
+ // README.md
290
+ const readme = `# ${config.displayName}
291
+
292
+ ${config.description}
293
+
294
+ ## Installation
295
+
296
+ \`\`\`bash
297
+ pip install -e .
298
+ \`\`\`
299
+
300
+ ## Development
301
+
302
+ \`\`\`bash
303
+ # Install dev dependencies
304
+ pip install -e ".[dev]"
305
+
306
+ # Run the plugin
307
+ python -m src.main
308
+
309
+ # Run tests
310
+ pytest
311
+
312
+ # Format code
313
+ black src/
314
+ ruff check src/
315
+ \`\`\`
316
+
317
+ ## Tools
318
+
319
+ ### greet
320
+ Greets a user by name.
321
+
322
+ **Input:**
323
+ \`\`\`json
324
+ {
325
+ "name": "Alice"
326
+ }
327
+ \`\`\`
328
+
329
+ **Output:**
330
+ \`\`\`
331
+ 👋 Hello, Alice! Welcome to ${config.displayName}!
332
+ \`\`\`
333
+
334
+ ### example
335
+ Example tool that demonstrates Nexus integration.
336
+
337
+ **Input:**
338
+ \`\`\`json
339
+ {
340
+ "data": "test",
341
+ "save": true
342
+ }
343
+ \`\`\`
344
+
345
+ ## Deployment
346
+
347
+ \`\`\`bash
348
+ # Login to Nexus Nexus
349
+ nexus-cli login
350
+
351
+ # Register plugin
352
+ nexus-cli register
353
+
354
+ # Deploy to staging
355
+ nexus-cli deploy --environment staging
356
+
357
+ # Deploy to production
358
+ nexus-cli deploy --environment production
359
+ \`\`\`
360
+
361
+ ## Configuration
362
+
363
+ Configure your plugin in \`plugin.json\`:
364
+
365
+ \`\`\`json
366
+ ${JSON.stringify(pluginJson, null, 2)}
367
+ \`\`\`
368
+
369
+ ## License
370
+
371
+ MIT © ${config.author}
372
+ `;
373
+ await fs.writeFile(path.join(targetDir, 'README.md'), readme);
374
+ }
375
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/templates/python.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,SAAiB,EACjB,MAAsB;IAEtB,6BAA6B;IAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzD,iBAAiB;IACjB,MAAM,aAAa,GAAG;UACd,MAAM,CAAC,IAAI;;iBAEJ,MAAM,CAAC,WAAW;;gBAEnB,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvD,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,aAAa,CAAC,CAAC;IAE1E,cAAc;IACd,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnF,kBAAkB;IAClB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,cAAc;IACd,MAAM,MAAM,GAAG;EACf,MAAM,CAAC,WAAW;EAClB,MAAM,CAAC,WAAW;;;;;;;;;;;mBAWD,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC7B,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAEnE,wBAAwB;IACxB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5E,qBAAqB;IACrB,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAuC+C,MAAM,CAAC,WAAW;;;;;;CAMlF,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9E,uBAAuB;IACvB,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA+DoB,MAAM,CAAC,IAAI;;6CAEN,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;CAgBvD,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAElF,eAAe;IACf,MAAM,UAAU,GAAG;;;;;;CAMpB,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IAErE,aAAa;IACb,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBnB,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAElE,YAAY;IACZ,MAAM,MAAM,GAAG,KAAK,MAAM,CAAC,WAAW;;EAEtC,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAuCU,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC9C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;QAK7B,MAAM,CAAC,MAAM;CACpB,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * TypeScript plugin template generator
3
+ */
4
+ interface TemplateConfig {
5
+ name: string;
6
+ displayName: string;
7
+ description: string;
8
+ author: string;
9
+ email: string;
10
+ category: string;
11
+ pricingModel: string;
12
+ }
13
+ export declare function generateTypescriptTemplate(targetDir: string, config: TemplateConfig): Promise<void>;
14
+ export {};
15
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/templates/typescript.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Rf"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * TypeScript plugin template generator
3
+ */
4
+ import fs from 'fs-extra';
5
+ import path from 'path';
6
+ export async function generateTypescriptTemplate(targetDir, config) {
7
+ // Create directory structure
8
+ await fs.ensureDir(targetDir);
9
+ await fs.ensureDir(path.join(targetDir, 'src'));
10
+ await fs.ensureDir(path.join(targetDir, 'src', 'tools'));
11
+ // package.json
12
+ const packageJson = {
13
+ name: `@nexus-plugins/${config.name}`,
14
+ version: '1.0.0',
15
+ description: config.description,
16
+ main: 'dist/index.js',
17
+ type: 'module',
18
+ scripts: {
19
+ build: 'tsc',
20
+ dev: 'tsx watch src/index.ts',
21
+ start: 'node dist/index.js',
22
+ test: 'jest',
23
+ lint: 'eslint src/**/*.ts',
24
+ typecheck: 'tsc --noEmit'
25
+ },
26
+ keywords: ['nexus', 'nexus', 'plugin', config.category],
27
+ author: `${config.author} <${config.email}>`,
28
+ license: 'MIT',
29
+ dependencies: {
30
+ '@adverant-nexus/sdk': '^1.0.0',
31
+ 'zod': '^3.22.4'
32
+ },
33
+ devDependencies: {
34
+ '@types/node': '^20.10.5',
35
+ '@typescript-eslint/eslint-plugin': '^6.15.0',
36
+ '@typescript-eslint/parser': '^6.15.0',
37
+ 'eslint': '^8.56.0',
38
+ 'jest': '^29.7.0',
39
+ 'ts-jest': '^29.1.1',
40
+ 'tsx': '^4.6.2',
41
+ 'typescript': '^5.3.3'
42
+ }
43
+ };
44
+ await fs.writeJson(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });
45
+ // tsconfig.json
46
+ const tsConfig = {
47
+ compilerOptions: {
48
+ target: 'ES2022',
49
+ module: 'ES2022',
50
+ moduleResolution: 'node',
51
+ lib: ['ES2022'],
52
+ outDir: './dist',
53
+ rootDir: './src',
54
+ strict: true,
55
+ esModuleInterop: true,
56
+ skipLibCheck: true,
57
+ forceConsistentCasingInFileNames: true,
58
+ resolveJsonModule: true
59
+ },
60
+ include: ['src/**/*'],
61
+ exclude: ['node_modules', 'dist']
62
+ };
63
+ await fs.writeJson(path.join(targetDir, 'tsconfig.json'), tsConfig, { spaces: 2 });
64
+ // plugin.json
65
+ const pluginJson = {
66
+ name: config.name,
67
+ displayName: config.displayName,
68
+ description: config.description,
69
+ version: '1.0.0',
70
+ author: {
71
+ name: config.author,
72
+ email: config.email
73
+ },
74
+ category: config.category,
75
+ tags: [config.category],
76
+ pricingModel: config.pricingModel
77
+ };
78
+ await fs.writeJson(path.join(targetDir, 'plugin.json'), pluginJson, { spaces: 2 });
79
+ // src/index.ts
80
+ const indexTs = `import { NexusPluginServer } from '@adverant-nexus/sdk';
81
+ import { greetTool } from './tools/greet.js';
82
+ import { exampleTool } from './tools/example.js';
83
+
84
+ // Load plugin configuration
85
+ import pluginConfig from '../plugin.json' assert { type: 'json' };
86
+
87
+ // Create plugin server
88
+ const server = new NexusPluginServer(pluginConfig);
89
+
90
+ // Register tools
91
+ server
92
+ .tool(greetTool)
93
+ .tool(exampleTool);
94
+
95
+ // Start the server
96
+ server.start();
97
+ `;
98
+ await fs.writeFile(path.join(targetDir, 'src', 'index.ts'), indexTs);
99
+ // src/tools/greet.ts
100
+ const greetToolTs = `import { ToolDefinition } from '@adverant-nexus/sdk';
101
+ import { z } from 'zod';
102
+
103
+ const GreetSchema = z.object({
104
+ name: z.string().min(1, 'Name is required')
105
+ });
106
+
107
+ export const greetTool: ToolDefinition = {
108
+ name: 'greet',
109
+ description: 'Greets a user by name',
110
+ inputSchema: GreetSchema,
111
+ handler: async (args) => {
112
+ const { name } = args;
113
+
114
+ return {
115
+ content: [{
116
+ type: 'text',
117
+ text: \`👋 Hello, \${name}! Welcome to ${config.displayName}!\`
118
+ }]
119
+ };
120
+ }
121
+ };
122
+ `;
123
+ await fs.writeFile(path.join(targetDir, 'src', 'tools', 'greet.ts'), greetToolTs);
124
+ // src/tools/example.ts
125
+ const exampleToolTs = `import { ToolDefinition, NexusClient } from '@adverant-nexus/sdk';
126
+ import { z } from 'zod';
127
+
128
+ const ExampleSchema = z.object({
129
+ data: z.string(),
130
+ save: z.boolean().optional()
131
+ });
132
+
133
+ // Optional: Create Nexus API client for accessing Nexus's 100+ tools
134
+ const nexusClient = new NexusClient({
135
+ apiKey: process.env.NEXUS_API_KEY || ''
136
+ });
137
+
138
+ export const exampleTool: ToolDefinition = {
139
+ name: 'example',
140
+ description: 'Example tool that demonstrates Nexus integration',
141
+ inputSchema: ExampleSchema,
142
+ handler: async (args) => {
143
+ const { data, save } = args;
144
+
145
+ // Process the data
146
+ const result = \`Processed: \${data.toUpperCase()}\`;
147
+
148
+ // Optionally save to Nexus memory
149
+ if (save) {
150
+ try {
151
+ await nexusClient.storeMemory({
152
+ content: result,
153
+ tags: ['${config.name}', 'example'],
154
+ metadata: {
155
+ plugin: '${config.name}',
156
+ timestamp: new Date().toISOString()
157
+ }
158
+ });
159
+ } catch (error) {
160
+ console.error('Failed to store in Nexus:', error);
161
+ }
162
+ }
163
+
164
+ return {
165
+ content: [{
166
+ type: 'text',
167
+ text: result
168
+ }]
169
+ };
170
+ }
171
+ };
172
+ `;
173
+ await fs.writeFile(path.join(targetDir, 'src', 'tools', 'example.ts'), exampleToolTs);
174
+ // .env.example
175
+ const envExample = `# Nexus API Configuration
176
+ NEXUS_API_KEY=your_api_key_here
177
+ NEXUS_API_URL=http://nexus-api-gateway:8092
178
+
179
+ # Plugin Configuration
180
+ NODE_ENV=development
181
+ LOG_LEVEL=info
182
+ `;
183
+ await fs.writeFile(path.join(targetDir, '.env.example'), envExample);
184
+ // .gitignore
185
+ const gitignore = `node_modules/
186
+ dist/
187
+ .env
188
+ *.log
189
+ .DS_Store
190
+ `;
191
+ await fs.writeFile(path.join(targetDir, '.gitignore'), gitignore);
192
+ // README.md
193
+ const readme = `# ${config.displayName}
194
+
195
+ ${config.description}
196
+
197
+ ## Installation
198
+
199
+ \`\`\`bash
200
+ npm install
201
+ \`\`\`
202
+
203
+ ## Development
204
+
205
+ \`\`\`bash
206
+ # Run in development mode
207
+ npm run dev
208
+
209
+ # Build for production
210
+ npm run build
211
+
212
+ # Run production build
213
+ npm start
214
+ \`\`\`
215
+
216
+ ## Tools
217
+
218
+ ### greet
219
+ Greets a user by name.
220
+
221
+ **Input:**
222
+ \`\`\`json
223
+ {
224
+ "name": "Alice"
225
+ }
226
+ \`\`\`
227
+
228
+ **Output:**
229
+ \`\`\`
230
+ 👋 Hello, Alice! Welcome to ${config.displayName}!
231
+ \`\`\`
232
+
233
+ ### example
234
+ Example tool that demonstrates Nexus integration.
235
+
236
+ **Input:**
237
+ \`\`\`json
238
+ {
239
+ "data": "test",
240
+ "save": true
241
+ }
242
+ \`\`\`
243
+
244
+ ## Deployment
245
+
246
+ \`\`\`bash
247
+ # Login to Nexus Nexus
248
+ nexus-cli login
249
+
250
+ # Register plugin
251
+ nexus-cli register
252
+
253
+ # Deploy to staging
254
+ nexus-cli deploy --environment staging
255
+
256
+ # Deploy to production
257
+ nexus-cli deploy --environment production
258
+ \`\`\`
259
+
260
+ ## Configuration
261
+
262
+ Configure your plugin in \`plugin.json\`:
263
+
264
+ \`\`\`json
265
+ ${JSON.stringify(pluginJson, null, 2)}
266
+ \`\`\`
267
+
268
+ ## License
269
+
270
+ MIT © ${config.author}
271
+ `;
272
+ await fs.writeFile(path.join(targetDir, 'README.md'), readme);
273
+ }
274
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/templates/typescript.ts"],"names":[],"mappings":"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"}