@nio-cli/cli 0.1.0 → 0.2.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 (382) hide show
  1. package/README.md +332 -139
  2. package/dist/adapters/docker/docker-gateway.js +100 -0
  3. package/dist/adapters/docker/docker-gateway.js.map +1 -0
  4. package/dist/adapters/ide/ide-gateway.js +50 -0
  5. package/dist/adapters/ide/ide-gateway.js.map +1 -0
  6. package/dist/adapters/lang/knowledge-store.js +97 -0
  7. package/dist/adapters/lang/knowledge-store.js.map +1 -0
  8. package/dist/adapters/lang/language-catalog.js +86 -0
  9. package/dist/adapters/lang/language-catalog.js.map +1 -0
  10. package/dist/adapters/lang/package-map.js +98 -0
  11. package/dist/adapters/lang/package-map.js.map +1 -0
  12. package/dist/adapters/lang/project-detector.js +40 -0
  13. package/dist/adapters/lang/project-detector.js.map +1 -0
  14. package/dist/adapters/lang/repos.js +8 -0
  15. package/dist/adapters/lang/repos.js.map +1 -0
  16. package/dist/adapters/lang/scaffold-gateway.js +135 -0
  17. package/dist/adapters/lang/scaffold-gateway.js.map +1 -0
  18. package/dist/adapters/lang/vendor.js +52 -0
  19. package/dist/adapters/lang/vendor.js.map +1 -0
  20. package/dist/adapters/pg/auth-session-repository.js +41 -0
  21. package/dist/adapters/pg/auth-session-repository.js.map +1 -0
  22. package/dist/adapters/pg/client.js +74 -0
  23. package/dist/adapters/pg/client.js.map +1 -0
  24. package/dist/adapters/pg/dependency-event-repository.js +40 -0
  25. package/dist/adapters/pg/dependency-event-repository.js.map +1 -0
  26. package/dist/adapters/pg/login-challenge-repository.js +54 -0
  27. package/dist/adapters/pg/login-challenge-repository.js.map +1 -0
  28. package/dist/adapters/pg/session-repository.js +70 -0
  29. package/dist/adapters/pg/session-repository.js.map +1 -0
  30. package/dist/adapters/pg/user-repository.js +71 -0
  31. package/dist/adapters/pg/user-repository.js.map +1 -0
  32. package/dist/adapters/pkg/toolchain-gateway.js +35 -0
  33. package/dist/adapters/pkg/toolchain-gateway.js.map +1 -0
  34. package/dist/adapters/skills/recipe-catalog.js +84 -0
  35. package/dist/adapters/skills/recipe-catalog.js.map +1 -0
  36. package/dist/adapters/sms/http-generic.js +50 -0
  37. package/dist/adapters/sms/http-generic.js.map +1 -0
  38. package/dist/app/dependency-watcher.js +87 -0
  39. package/dist/app/dependency-watcher.js.map +1 -0
  40. package/dist/app/docker-manager.js +110 -0
  41. package/dist/app/docker-manager.js.map +1 -0
  42. package/dist/app/environment-builder.js +73 -0
  43. package/dist/app/environment-builder.js.map +1 -0
  44. package/dist/app/language-configurator.js +30 -0
  45. package/dist/app/language-configurator.js.map +1 -0
  46. package/dist/app/session-manager.js +124 -0
  47. package/dist/app/session-manager.js.map +1 -0
  48. package/dist/brand.js +3 -61
  49. package/dist/brand.js.map +1 -1
  50. package/dist/cli/commands/agents.js +30 -0
  51. package/dist/cli/commands/agents.js.map +1 -0
  52. package/dist/cli/commands/auth.js +122 -90
  53. package/dist/cli/commands/auth.js.map +1 -1
  54. package/dist/cli/commands/clean.js +1 -13
  55. package/dist/cli/commands/clean.js.map +1 -1
  56. package/dist/cli/commands/command.js +58 -0
  57. package/dist/cli/commands/command.js.map +1 -0
  58. package/dist/cli/commands/completion.js +0 -3
  59. package/dist/cli/commands/completion.js.map +1 -1
  60. package/dist/cli/commands/config.js +41 -0
  61. package/dist/cli/commands/config.js.map +1 -0
  62. package/dist/cli/commands/debug.js +93 -0
  63. package/dist/cli/commands/debug.js.map +1 -0
  64. package/dist/cli/commands/deps.js +94 -0
  65. package/dist/cli/commands/deps.js.map +1 -0
  66. package/dist/cli/commands/docker.js +360 -0
  67. package/dist/cli/commands/docker.js.map +1 -0
  68. package/dist/cli/commands/docs/content.js +199 -0
  69. package/dist/cli/commands/docs/content.js.map +1 -0
  70. package/dist/cli/commands/docs/dynamic.js +42 -0
  71. package/dist/cli/commands/docs/dynamic.js.map +1 -0
  72. package/dist/cli/commands/docs/html.js +108 -0
  73. package/dist/cli/commands/docs/html.js.map +1 -0
  74. package/dist/cli/commands/docs/terminal.js +42 -0
  75. package/dist/cli/commands/docs/terminal.js.map +1 -0
  76. package/dist/cli/commands/docs.js +34 -0
  77. package/dist/cli/commands/docs.js.map +1 -0
  78. package/dist/cli/commands/exec.js +2 -7
  79. package/dist/cli/commands/exec.js.map +1 -1
  80. package/dist/cli/commands/init/auth-step.js +9 -45
  81. package/dist/cli/commands/init/auth-step.js.map +1 -1
  82. package/dist/cli/commands/init/clients-step.js +12 -39
  83. package/dist/cli/commands/init/clients-step.js.map +1 -1
  84. package/dist/cli/commands/init/context-step.js +7 -33
  85. package/dist/cli/commands/init/context-step.js.map +1 -1
  86. package/dist/cli/commands/init/index.js +177 -33
  87. package/dist/cli/commands/init/index.js.map +1 -1
  88. package/dist/cli/commands/init/lang-step.js +40 -0
  89. package/dist/cli/commands/init/lang-step.js.map +1 -0
  90. package/dist/cli/commands/init/profile-step.js +43 -0
  91. package/dist/cli/commands/init/profile-step.js.map +1 -0
  92. package/dist/cli/commands/init/provision-step.js +8 -23
  93. package/dist/cli/commands/init/provision-step.js.map +1 -1
  94. package/dist/cli/commands/init/recipe-step.js +18 -0
  95. package/dist/cli/commands/init/recipe-step.js.map +1 -0
  96. package/dist/cli/commands/lang.js +27 -0
  97. package/dist/cli/commands/lang.js.map +1 -0
  98. package/dist/cli/commands/open.js +51 -0
  99. package/dist/cli/commands/open.js.map +1 -0
  100. package/dist/cli/commands/plan.js +2 -6
  101. package/dist/cli/commands/plan.js.map +1 -1
  102. package/dist/cli/commands/security.js +143 -0
  103. package/dist/cli/commands/security.js.map +1 -0
  104. package/dist/cli/commands/sessions.js +92 -0
  105. package/dist/cli/commands/sessions.js.map +1 -0
  106. package/dist/cli/commands/skills.js +1 -1
  107. package/dist/cli/commands/skills.js.map +1 -1
  108. package/dist/cli/commands/sync.js +52 -58
  109. package/dist/cli/commands/sync.js.map +1 -1
  110. package/dist/cli/commands/validate-plan.js +2 -6
  111. package/dist/cli/commands/validate-plan.js.map +1 -1
  112. package/dist/cli/copy/auth.json +9 -2
  113. package/dist/cli/copy/init.json +2 -6
  114. package/dist/cli/copy.js +0 -8
  115. package/dist/cli/copy.js.map +1 -1
  116. package/dist/cli/flows/clients.js +3 -94
  117. package/dist/cli/flows/clients.js.map +1 -1
  118. package/dist/cli/flows/completion.js +1 -6
  119. package/dist/cli/flows/completion.js.map +1 -1
  120. package/dist/cli/flows/dependencies.js +1 -18
  121. package/dist/cli/flows/dependencies.js.map +1 -1
  122. package/dist/cli/flows/sections.js +2 -10
  123. package/dist/cli/flows/sections.js.map +1 -1
  124. package/dist/cli/flows/user-config.js +5 -10
  125. package/dist/cli/flows/user-config.js.map +1 -1
  126. package/dist/cli/ui/render.js +2 -53
  127. package/dist/cli/ui/render.js.map +1 -1
  128. package/dist/cli/ui/report.js +0 -13
  129. package/dist/cli/ui/report.js.map +1 -1
  130. package/dist/cli.js +23 -0
  131. package/dist/cli.js.map +1 -1
  132. package/dist/config.js +27 -56
  133. package/dist/config.js.map +1 -1
  134. package/dist/core/docker.js +2 -0
  135. package/dist/core/docker.js.map +1 -0
  136. package/dist/core/environment.js +2 -0
  137. package/dist/core/environment.js.map +1 -0
  138. package/dist/core/lang.js +11 -0
  139. package/dist/core/lang.js.map +1 -0
  140. package/dist/core/messaging.js +2 -0
  141. package/dist/core/messaging.js.map +1 -0
  142. package/dist/core/repositories.js +2 -0
  143. package/dist/core/repositories.js.map +1 -0
  144. package/dist/core/types.js +0 -5
  145. package/dist/core/types.js.map +1 -1
  146. package/dist/gateway/config.js +14 -0
  147. package/dist/gateway/config.js.map +1 -0
  148. package/dist/gateway/edge-filter.js +55 -0
  149. package/dist/gateway/edge-filter.js.map +1 -0
  150. package/dist/gateway/index.js +176 -0
  151. package/dist/gateway/index.js.map +1 -0
  152. package/dist/gateway/middleware/auth.js +34 -0
  153. package/dist/gateway/middleware/auth.js.map +1 -0
  154. package/dist/gateway/services/login.js +112 -0
  155. package/dist/gateway/services/login.js.map +1 -0
  156. package/dist/gateway/services/security.js +99 -0
  157. package/dist/gateway/services/security.js.map +1 -0
  158. package/dist/lib/auth/backup-codes.js +46 -0
  159. package/dist/lib/auth/backup-codes.js.map +1 -0
  160. package/dist/lib/auth/gateway-client.js +106 -0
  161. package/dist/lib/auth/gateway-client.js.map +1 -0
  162. package/dist/lib/auth/gateway-token.js +26 -0
  163. package/dist/lib/auth/gateway-token.js.map +1 -0
  164. package/dist/lib/auth/nio-config.js +138 -0
  165. package/dist/lib/auth/nio-config.js.map +1 -0
  166. package/dist/lib/auth/otp.js +23 -0
  167. package/dist/lib/auth/otp.js.map +1 -0
  168. package/dist/lib/auth/password.js +23 -0
  169. package/dist/lib/auth/password.js.map +1 -0
  170. package/dist/lib/auth/session-store.js +49 -0
  171. package/dist/lib/auth/session-store.js.map +1 -0
  172. package/dist/lib/clients/autopull.js +8 -0
  173. package/dist/lib/clients/autopull.js.map +1 -0
  174. package/dist/lib/{client-configs.js → clients/client-configs.js} +99 -34
  175. package/dist/lib/clients/client-configs.js.map +1 -0
  176. package/dist/lib/clients/client-install.js +20 -0
  177. package/dist/lib/clients/client-install.js.map +1 -0
  178. package/dist/lib/{harness.js → clients/harness.js} +1 -16
  179. package/dist/lib/clients/harness.js.map +1 -0
  180. package/dist/lib/{hooks.js → clients/hooks.js} +5 -31
  181. package/dist/lib/clients/hooks.js.map +1 -0
  182. package/dist/lib/{targets.js → clients/targets.js} +17 -53
  183. package/dist/lib/clients/targets.js.map +1 -0
  184. package/dist/lib/colors.js +0 -24
  185. package/dist/lib/colors.js.map +1 -1
  186. package/dist/lib/cowork-extension.js +2 -25
  187. package/dist/lib/cowork-extension.js.map +1 -1
  188. package/dist/lib/{dependencies.js → deps/dependencies.js} +1 -26
  189. package/dist/lib/deps/dependencies.js.map +1 -0
  190. package/dist/lib/deps/dependency-install-project.js +27 -0
  191. package/dist/lib/deps/dependency-install-project.js.map +1 -0
  192. package/dist/lib/{dependency-install.js → deps/dependency-install.js} +10 -35
  193. package/dist/lib/deps/dependency-install.js.map +1 -0
  194. package/dist/lib/deps/dependency-installed.js +64 -0
  195. package/dist/lib/deps/dependency-installed.js.map +1 -0
  196. package/dist/lib/deps/dependency-scan.js +100 -0
  197. package/dist/lib/deps/dependency-scan.js.map +1 -0
  198. package/dist/lib/docker.js +50 -0
  199. package/dist/lib/docker.js.map +1 -0
  200. package/dist/lib/dotfiles.js +57 -0
  201. package/dist/lib/dotfiles.js.map +1 -0
  202. package/dist/lib/{exec-delegate.js → exec/exec-delegate.js} +4 -13
  203. package/dist/lib/exec/exec-delegate.js.map +1 -0
  204. package/dist/lib/{exec-engines.js → exec/exec-engines.js} +1 -10
  205. package/dist/lib/exec/exec-engines.js.map +1 -0
  206. package/dist/lib/{plan-delegate.js → exec/plan-delegate.js} +1 -7
  207. package/dist/lib/exec/plan-delegate.js.map +1 -0
  208. package/dist/lib/{validate-plan-delegate.js → exec/validate-plan-delegate.js} +2 -7
  209. package/dist/lib/exec/validate-plan-delegate.js.map +1 -0
  210. package/dist/lib/load-env.js +15 -0
  211. package/dist/lib/load-env.js.map +1 -0
  212. package/dist/lib/open-url.js +9 -0
  213. package/dist/lib/open-url.js.map +1 -0
  214. package/dist/lib/prompts.js +0 -13
  215. package/dist/lib/prompts.js.map +1 -1
  216. package/dist/lib/{provision-apply.js → provision/provision-apply.js} +4 -30
  217. package/dist/lib/provision/provision-apply.js.map +1 -0
  218. package/dist/lib/{provision-collect.js → provision/provision-collect.js} +0 -9
  219. package/dist/lib/provision/provision-collect.js.map +1 -0
  220. package/dist/lib/{provision.js → provision/provision.js} +4 -17
  221. package/dist/lib/provision/provision.js.map +1 -0
  222. package/dist/lib/{patterns.js → skills/patterns.js} +0 -13
  223. package/dist/lib/skills/patterns.js.map +1 -0
  224. package/dist/lib/{rules.js → skills/rules.js} +0 -22
  225. package/dist/lib/skills/rules.js.map +1 -0
  226. package/dist/lib/skills/sections.js +58 -0
  227. package/dist/lib/skills/sections.js.map +1 -0
  228. package/dist/lib/{skill-serve.js → skills/skill-serve.js} +1 -26
  229. package/dist/lib/skills/skill-serve.js.map +1 -0
  230. package/dist/lib/{skills-cache.js → skills/skills-cache.js} +15 -21
  231. package/dist/lib/skills/skills-cache.js.map +1 -0
  232. package/dist/lib/{skills.js → skills/skills.js} +3 -49
  233. package/dist/lib/skills/skills.js.map +1 -0
  234. package/dist/lib/spinner.js.map +1 -0
  235. package/dist/lib/telemetry.js +3 -20
  236. package/dist/lib/telemetry.js.map +1 -1
  237. package/dist/lib/version-check.js +0 -20
  238. package/dist/lib/version-check.js.map +1 -1
  239. package/dist/matrix-logo.js +0 -10
  240. package/dist/matrix-logo.js.map +1 -1
  241. package/dist/mcp-server-lang.js +39 -0
  242. package/dist/mcp-server-lang.js.map +1 -0
  243. package/dist/mcp-server.js +37 -41
  244. package/dist/mcp-server.js.map +1 -1
  245. package/dist/profiles/analyst.js +10 -0
  246. package/dist/profiles/analyst.js.map +1 -0
  247. package/dist/profiles/bi.js +9 -0
  248. package/dist/profiles/bi.js.map +1 -0
  249. package/dist/profiles/dba.js +21 -0
  250. package/dist/profiles/dba.js.map +1 -0
  251. package/dist/profiles/fullstack.js +9 -0
  252. package/dist/profiles/fullstack.js.map +1 -0
  253. package/dist/profiles/index.js +39 -0
  254. package/dist/profiles/index.js.map +1 -0
  255. package/dist/profiles/mcps.js +23 -0
  256. package/dist/profiles/mcps.js.map +1 -0
  257. package/dist/profiles/qa.js +10 -0
  258. package/dist/profiles/qa.js.map +1 -0
  259. package/dist/profiles/scientist.js +9 -0
  260. package/dist/profiles/scientist.js.map +1 -0
  261. package/dist/profiles/toolchains.js +9 -0
  262. package/dist/profiles/toolchains.js.map +1 -0
  263. package/dist/tools/delegate-exec.js +2 -2
  264. package/dist/tools/delegate-exec.js.map +1 -1
  265. package/dist/tools/env-detect-deps.js +54 -0
  266. package/dist/tools/env-detect-deps.js.map +1 -0
  267. package/dist/tools/env-materialize.js +43 -0
  268. package/dist/tools/env-materialize.js.map +1 -0
  269. package/dist/tools/exec-status.js +1 -1
  270. package/dist/tools/exec-status.js.map +1 -1
  271. package/dist/tools/index.js +12 -32
  272. package/dist/tools/index.js.map +1 -1
  273. package/dist/tools/lang-recipe.js +31 -0
  274. package/dist/tools/lang-recipe.js.map +1 -0
  275. package/dist/tools/lang-reference.js +34 -0
  276. package/dist/tools/lang-reference.js.map +1 -0
  277. package/dist/tools/plan.js +2 -2
  278. package/dist/tools/plan.js.map +1 -1
  279. package/dist/tools/profile-get.js +57 -0
  280. package/dist/tools/profile-get.js.map +1 -0
  281. package/dist/tools/session-activate.js +35 -0
  282. package/dist/tools/session-activate.js.map +1 -0
  283. package/dist/tools/session-create.js +83 -0
  284. package/dist/tools/session-create.js.map +1 -0
  285. package/dist/tools/session-list.js +29 -0
  286. package/dist/tools/session-list.js.map +1 -0
  287. package/dist/tools/session-shared.js +25 -0
  288. package/dist/tools/session-shared.js.map +1 -0
  289. package/dist/tools/validate-plan.js +2 -2
  290. package/dist/tools/validate-plan.js.map +1 -1
  291. package/docker/docker-compose.yml +44 -0
  292. package/package.json +30 -16
  293. package/dist/adapters/supabase/allocation-gateway.js +0 -236
  294. package/dist/adapters/supabase/allocation-gateway.js.map +0 -1
  295. package/dist/adapters/supabase/analytics-gateway.js +0 -18
  296. package/dist/adapters/supabase/analytics-gateway.js.map +0 -1
  297. package/dist/adapters/supabase/client.js +0 -96
  298. package/dist/adapters/supabase/client.js.map +0 -1
  299. package/dist/adapters/supabase/context-gateway.js +0 -23
  300. package/dist/adapters/supabase/context-gateway.js.map +0 -1
  301. package/dist/adapters/supabase/gateway.js +0 -18
  302. package/dist/adapters/supabase/gateway.js.map +0 -1
  303. package/dist/adapters/supabase/task-gateway.js +0 -450
  304. package/dist/adapters/supabase/task-gateway.js.map +0 -1
  305. package/dist/auth.js +0 -118
  306. package/dist/auth.js.map +0 -1
  307. package/dist/cli/commands/init/project-step.js +0 -105
  308. package/dist/cli/commands/init/project-step.js.map +0 -1
  309. package/dist/constants.js +0 -9
  310. package/dist/constants.js.map +0 -1
  311. package/dist/core/ports.js +0 -2
  312. package/dist/core/ports.js.map +0 -1
  313. package/dist/database.types.js +0 -11
  314. package/dist/database.types.js.map +0 -1
  315. package/dist/lib/active-project.js +0 -28
  316. package/dist/lib/active-project.js.map +0 -1
  317. package/dist/lib/autopull.js +0 -13
  318. package/dist/lib/autopull.js.map +0 -1
  319. package/dist/lib/client-configs.js.map +0 -1
  320. package/dist/lib/client-install.js +0 -40
  321. package/dist/lib/client-install.js.map +0 -1
  322. package/dist/lib/dependencies.js.map +0 -1
  323. package/dist/lib/dependency-install.js.map +0 -1
  324. package/dist/lib/exec-delegate.js.map +0 -1
  325. package/dist/lib/exec-engines.js.map +0 -1
  326. package/dist/lib/harness.js.map +0 -1
  327. package/dist/lib/hooks.js.map +0 -1
  328. package/dist/lib/patterns.js.map +0 -1
  329. package/dist/lib/plan-delegate.js.map +0 -1
  330. package/dist/lib/project-context.js +0 -151
  331. package/dist/lib/project-context.js.map +0 -1
  332. package/dist/lib/provision-apply.js.map +0 -1
  333. package/dist/lib/provision-collect.js.map +0 -1
  334. package/dist/lib/provision.js.map +0 -1
  335. package/dist/lib/require-config.js +0 -32
  336. package/dist/lib/require-config.js.map +0 -1
  337. package/dist/lib/rules.js.map +0 -1
  338. package/dist/lib/sections.js +0 -89
  339. package/dist/lib/sections.js.map +0 -1
  340. package/dist/lib/skill-serve.js.map +0 -1
  341. package/dist/lib/skills-cache.js.map +0 -1
  342. package/dist/lib/skills.js.map +0 -1
  343. package/dist/lib/targets.js.map +0 -1
  344. package/dist/lib/task-history.js +0 -15
  345. package/dist/lib/task-history.js.map +0 -1
  346. package/dist/lib/validate-plan-delegate.js.map +0 -1
  347. package/dist/session-factory.js +0 -19
  348. package/dist/session-factory.js.map +0 -1
  349. package/dist/spinner.js.map +0 -1
  350. package/dist/tools/comment-task.js +0 -72
  351. package/dist/tools/comment-task.js.map +0 -1
  352. package/dist/tools/create-task.js +0 -129
  353. package/dist/tools/create-task.js.map +0 -1
  354. package/dist/tools/end-allocation.js +0 -38
  355. package/dist/tools/end-allocation.js.map +0 -1
  356. package/dist/tools/end-task-allocation.js +0 -37
  357. package/dist/tools/end-task-allocation.js.map +0 -1
  358. package/dist/tools/get-active-allocation.js +0 -69
  359. package/dist/tools/get-active-allocation.js.map +0 -1
  360. package/dist/tools/get-context.js +0 -48
  361. package/dist/tools/get-context.js.map +0 -1
  362. package/dist/tools/get-task.js +0 -137
  363. package/dist/tools/get-task.js.map +0 -1
  364. package/dist/tools/list-my-allocations.js +0 -71
  365. package/dist/tools/list-my-allocations.js.map +0 -1
  366. package/dist/tools/list-projects.js +0 -38
  367. package/dist/tools/list-projects.js.map +0 -1
  368. package/dist/tools/list-tasks.js +0 -93
  369. package/dist/tools/list-tasks.js.map +0 -1
  370. package/dist/tools/move-task.js +0 -82
  371. package/dist/tools/move-task.js.map +0 -1
  372. package/dist/tools/record-delivery.js +0 -71
  373. package/dist/tools/record-delivery.js.map +0 -1
  374. package/dist/tools/set-project.js +0 -52
  375. package/dist/tools/set-project.js.map +0 -1
  376. package/dist/tools/start-allocation.js +0 -32
  377. package/dist/tools/start-allocation.js.map +0 -1
  378. package/dist/tools/start-task-allocation.js +0 -75
  379. package/dist/tools/start-task-allocation.js.map +0 -1
  380. package/dist/tools/update-task.js +0 -139
  381. package/dist/tools/update-task.js.map +0 -1
  382. /package/dist/{spinner.js → lib/spinner.js} +0 -0
@@ -4,33 +4,23 @@ import { fileURLToPath } from 'node:url';
4
4
  import { dirname, join } from 'node:path';
5
5
  import { brand } from '../brand.js';
6
6
  function loadPkg() {
7
- // Este módulo compila pra `dist/lib/version-check.js`, então o package.json fica
8
- // dois níveis acima (raiz do pacote). Mesmo truque do `packageRoot()` do cowork-extension.
9
7
  const here = dirname(fileURLToPath(import.meta.url));
10
8
  const pkgPath = join(here, '..', '..', 'package.json');
11
9
  return JSON.parse(readFileSync(pkgPath, 'utf-8'));
12
10
  }
13
11
  const ONE_DAY_MS = 1000 * 60 * 60 * 24;
14
- /**
15
- * Inicia checagem em background (cacheada). Retorna o objeto pra inspeção.
16
- */
17
12
  export function startVersionCheck() {
18
13
  const pkg = loadPkg();
19
14
  return updateNotifier({ pkg, updateCheckInterval: ONE_DAY_MS });
20
15
  }
21
- /**
22
- * Pro CLI interativo: chama .notify() com banner padrão no stdout.
23
- */
24
16
  export function notifyCliIfUpdate() {
25
17
  try {
26
18
  const notifier = startVersionCheck();
27
19
  notifier.notify({ defer: false, isGlobal: true });
28
20
  }
29
21
  catch {
30
- // Best-effort. Nunca quebrar o CLI por causa de checagem de versão.
31
22
  }
32
23
  }
33
- /** `a > b` em semver simples (major.minor.patch; ignora pré-release). */
34
24
  function semverGt(a, b) {
35
25
  const pa = a.split('-')[0].split('.').map((n) => parseInt(n, 10) || 0);
36
26
  const pb = b.split('-')[0].split('.').map((n) => parseInt(n, 10) || 0);
@@ -42,11 +32,6 @@ function semverGt(a, b) {
42
32
  }
43
33
  return false;
44
34
  }
45
- /**
46
- * Consulta o registro npm pela última versão publicada e compara com a instalada.
47
- * Retorna `null` em qualquer falha (offline, timeout, registro bloqueado) — nunca
48
- * quebra o fluxo do CLI. Usado pelo `nio sync` pra oferecer atualizar.
49
- */
50
35
  export async function checkForUpdate(timeoutMs = 3000) {
51
36
  try {
52
37
  const pkg = loadPkg();
@@ -69,10 +54,6 @@ export async function checkForUpdate(timeoutMs = 3000) {
69
54
  return null;
70
55
  }
71
56
  }
72
- /**
73
- * Pro MCP server: SEM banner em stdout (corromperia JSON-RPC).
74
- * Loga em stderr só se houver update — o Claude Code captura stderr.
75
- */
76
57
  export function notifyMcpServerIfUpdate() {
77
58
  try {
78
59
  const notifier = startVersionCheck();
@@ -83,7 +64,6 @@ export function notifyMcpServerIfUpdate() {
83
64
  }
84
65
  }
85
66
  catch {
86
- // idem: best-effort.
87
67
  }
88
68
  }
89
69
  //# sourceMappingURL=version-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/lib/version-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/lib/version-check.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Logo NIO com efeito Matrix (chuva de katakana) — decorativo, mostrado no
3
- * `--help` e na tela de login. Determinístico (seed fixa): a mesma "chuva"
4
- * sempre, sem piscar diferente a cada execução.
5
- */
6
1
  const MATRIX_CHARS = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレワン0123456789';
7
2
  const TRAIL_CHARS = '・。';
8
3
  const NIO_LOGO = [
@@ -18,7 +13,6 @@ const LOGO_COLOR = '\x1b[1;32m';
18
13
  const BRIGHT = '\x1b[92m';
19
14
  const GREEN = '\x1b[32m';
20
15
  const DIM = '\x1b[90m';
21
- /** PRNG determinístico (mulberry32) — mesma seed, mesma saída sempre. */
22
16
  function mulberry32(seed) {
23
17
  let a = seed;
24
18
  return () => {
@@ -34,7 +28,6 @@ function randInt(rand, min, max) {
34
28
  function pickChar(rand, s) {
35
29
  return s[Math.floor(rand() * s.length)] ?? ' ';
36
30
  }
37
- /** Desenha o logo centralizado e devolve o retângulo ocupado (a chuva não pisa nele). */
38
31
  function placeLogo(width, height) {
39
32
  const cells = Array.from({ length: height }, () => Array(width).fill(' '));
40
33
  const logoH = NIO_LOGO.length;
@@ -50,7 +43,6 @@ function placeLogo(width, height) {
50
43
  }
51
44
  return { cells, logoArea, logoR, logoC };
52
45
  }
53
- /** Colunas de chuva caindo (cabeça brilhante + rastro de pontos), evitando a área do logo. */
54
46
  function scatterRain(rand, canvas, width, height, logoC, logoW) {
55
47
  const cols = [];
56
48
  for (let n = 0; n < 35; n++) {
@@ -70,7 +62,6 @@ function scatterRain(rand, canvas, width, height, logoC, logoW) {
70
62
  }
71
63
  }
72
64
  }
73
- /** Pixels soltos, pra preencher o fundo sem ficar tão vazio. */
74
65
  function scatterLoosePixels(rand, canvas, width, height) {
75
66
  for (let n = 0; n < 50; n++) {
76
67
  const row = randInt(rand, 0, height - 1);
@@ -81,7 +72,6 @@ function scatterLoosePixels(rand, canvas, width, height) {
81
72
  }
82
73
  }
83
74
  }
84
- /** Colore: logo em verde sólido, chuva/pixels em tons variados de verde (ou sem cor). */
85
75
  function colorize(rand, canvas, width, height, colored) {
86
76
  const lines = [];
87
77
  for (let r = 0; r < height; r++) {
@@ -1 +1 @@
1
- {"version":3,"file":"matrix-logo.js","sourceRoot":"","sources":["../src/matrix-logo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,YAAY,GAAG,wDAAwD,CAAC;AAC9E,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,MAAM,QAAQ,GAAG;IACf,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;CAChB,CAAC;AAEX,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,GAAG,GAAG,UAAU,CAAC;AAEvB,yEAAyE;AACzE,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,OAAO,GAAG,EAAE;QACV,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,IAAkB,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,CAAS;IAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC;AACjD,CAAC;AAOD,yFAAyF;AACzF,SAAS,SAAS,CAAC,KAAa,EAAE,MAAc;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAS,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,8FAA8F;AAC9F,SAAS,WAAW,CAAC,IAAkB,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa;IAClH,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,SAAS,kBAAkB,CAAC,IAAkB,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc;IAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,QAAQ,CAAC,IAAkB,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,OAAgB;IACnG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,IAAI,GAAG,CAAC;YACd,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9D,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAC,OAA0B,EAAE;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAE3C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"matrix-logo.js","sourceRoot":"","sources":["../src/matrix-logo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ import './lib/load-env.js';
3
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
6
+ import { VERSION } from './version.js';
7
+ import { createKnowledgeStore } from './adapters/lang/knowledge-store.js';
8
+ import { createLanguageCatalog } from './adapters/lang/language-catalog.js';
9
+ import * as langReference from './tools/lang-reference.js';
10
+ import * as langRecipe from './tools/lang-recipe.js';
11
+ const BIN = 'nio-lang';
12
+ async function main() {
13
+ const store = createKnowledgeStore();
14
+ const catalog = createLanguageCatalog();
15
+ const server = new Server({ name: BIN, version: VERSION }, { capabilities: { tools: {} } });
16
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
17
+ tools: [langReference.definition, langRecipe.definition],
18
+ }));
19
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
20
+ if (request.params.name === langReference.definition.name) {
21
+ return langReference.handleLangReference(request.params.arguments ?? {}, store);
22
+ }
23
+ if (request.params.name === langRecipe.definition.name) {
24
+ return langRecipe.handleLangRecipe(request.params.arguments ?? {}, catalog);
25
+ }
26
+ return {
27
+ content: [{ type: 'text', text: `Tool desconhecida: ${request.params.name}` }],
28
+ isError: true,
29
+ };
30
+ });
31
+ const transport = new StdioServerTransport();
32
+ await server.connect(transport);
33
+ console.error(`[${BIN}] servidor iniciado (stdio)`);
34
+ }
35
+ main().catch((err) => {
36
+ console.error(`[${BIN}] erro fatal: ${err.message}`);
37
+ process.exit(1);
38
+ });
39
+ //# sourceMappingURL=mcp-server-lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-lang.js","sourceRoot":"","sources":["../src/mcp-server-lang.ts"],"names":[],"mappings":";AAUA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAErD,MAAM,GAAG,GAAG,UAAU,CAAC;AAEvB,KAAK,UAAU,IAAI;IACjB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5F,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;KACzD,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvD,OAAO,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,6BAA6B,CAAC,CAAC;AACtD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,22 +1,24 @@
1
1
  #!/usr/bin/env node
2
+ import './lib/load-env.js';
2
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
5
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
6
  import { VERSION } from './version.js';
6
7
  import { loadProjectConfig } from './config.js';
7
- import { createSession } from './session-factory.js';
8
8
  import { tools, toolDefinitions } from './tools/index.js';
9
9
  import { errorResult } from './lib/tool-result.js';
10
10
  import { notifyMcpServerIfUpdate } from './lib/version-check.js';
11
- import { filterSkillsForSurface } from './lib/skills.js';
12
- import { loadSkills, skillResourceDescriptors, readSkillResource, skillPromptDescriptors, buildSkillPrompt, } from './lib/skill-serve.js';
13
- import { provision } from './lib/provision.js';
14
- import { provisionHooks } from './lib/hooks.js';
15
- import { claudeTarget } from './lib/targets.js';
16
- import { ensureSkillsCache } from './lib/skills-cache.js';
17
- import { shouldRunAutoPull, pickProvisionTarget } from './lib/autopull.js';
11
+ import { filterSkillsForSurface } from './lib/skills/skills.js';
12
+ import { loadSkills, skillResourceDescriptors, readSkillResource, skillPromptDescriptors, buildSkillPrompt, } from './lib/skills/skill-serve.js';
13
+ import { provision } from './lib/provision/provision.js';
14
+ import { provisionHooks } from './lib/clients/hooks.js';
15
+ import { claudeTarget } from './lib/clients/targets.js';
16
+ import { ensureSkillsCache } from './lib/skills/skills-cache.js';
17
+ import { shouldRunAutoPull, pickProvisionTarget } from './lib/clients/autopull.js';
18
18
  import { brand, env } from './brand.js';
19
- /** Carrega o config do projeto; erro de parse é degradado (log + null), nunca fatal. */
19
+ import { loadSession } from './lib/auth/session-store.js';
20
+ import { createUserRepository } from './adapters/pg/user-repository.js';
21
+ import { authenticate } from './gateway/middleware/auth.js';
20
22
  function loadConfigStep() {
21
23
  try {
22
24
  return loadProjectConfig();
@@ -26,8 +28,6 @@ function loadConfigStep() {
26
28
  return null;
27
29
  }
28
30
  }
29
- // Skills vêm de um repo aberto → garante o cache local (~/.nio/skills) antes
30
- // de servir/auto-pull. Baixa só se ausente; best-effort (offline → degrada).
31
31
  async function initSkillsCache() {
32
32
  try {
33
33
  const r = await ensureSkillsCache();
@@ -43,22 +43,34 @@ async function initSkillsCache() {
43
43
  }
44
44
  }
45
45
  async function authenticateSession() {
46
+ const stored = await loadSession();
47
+ if (!stored) {
48
+ console.error(`[${brand.mcpBinName}] aviso: sem sessão local. Rode \`${brand.name} login\`.`);
49
+ return null;
50
+ }
46
51
  try {
47
- const session = await createSession();
48
- console.error(`[${brand.mcpBinName}] autenticado como ${session.user.email}`);
49
- return session;
52
+ const result = await authenticate(`Bearer ${stored.token}`);
53
+ if (!result.ok) {
54
+ console.error(`[${brand.mcpBinName}] aviso: sessão inválida (${result.reason}). Rode \`${brand.name} login\` de novo.`);
55
+ return null;
56
+ }
57
+ const user = await createUserRepository().findByName(stored.name);
58
+ if (!user) {
59
+ console.error(`[${brand.mcpBinName}] aviso: usuário da sessão não existe mais. Rode \`${brand.name} login\` de novo.`);
60
+ return null;
61
+ }
62
+ console.error(`[${brand.mcpBinName}] autenticado como ${user.name}`);
63
+ return user;
50
64
  }
51
65
  catch (err) {
52
- console.error(`[${brand.mcpBinName}] aviso: ${err.message}`);
66
+ console.error(`[${brand.mcpBinName}] aviso: banco indisponível p/ validar sessão: ${err.message}`);
53
67
  return null;
54
68
  }
55
69
  }
56
- /** Surface deste worker (pra filtro de visibilidade `clients:`). Cowork seta
57
- * NIO_CLIENT=cowork; Claude Code costuma deixar vazio → sem filtro (mostra tudo). */
58
70
  function resolveSurface() {
59
71
  return env('CLIENT') || null;
60
72
  }
61
- function registerToolHandlers(server, session, projectConfig) {
73
+ function registerToolHandlers(server, user, projectConfig) {
62
74
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
63
75
  tools: toolDefinitions,
64
76
  }));
@@ -67,12 +79,11 @@ function registerToolHandlers(server, session, projectConfig) {
67
79
  if (!tool) {
68
80
  return errorResult(`Tool desconhecida: ${request.params.name}`);
69
81
  }
70
- if (!session) {
71
- return errorResult(`Não autenticado. Rode \`${brand.name} login\` antes de iniciar o Claude Code.`);
82
+ if (!user) {
83
+ return errorResult(`Não autenticado. Rode \`${brand.name} login\` antes de iniciar o cliente de IA.`);
72
84
  }
73
85
  const ctx = {
74
- gateway: session.gateway,
75
- user: session.user,
86
+ user,
76
87
  config: projectConfig,
77
88
  };
78
89
  try {
@@ -83,8 +94,6 @@ function registerToolHandlers(server, session, projectConfig) {
83
94
  }
84
95
  });
85
96
  }
86
- // Resources: o conhecimento (skills/commands/agents) do pacote @nio-cli/skills.
87
- // Deixa o worker de IA ler os artefatos sob demanda, mesmo sem rodar `nio sync`.
88
97
  function registerResourceHandlers(server, surface) {
89
98
  server.setRequestHandler(ListResourcesRequestSchema, async () => {
90
99
  try {
@@ -102,9 +111,7 @@ function registerResourceHandlers(server, surface) {
102
111
  return { contents: [{ uri: r.uri, mimeType: r.mimeType, text: r.text }] };
103
112
  });
104
113
  }
105
- // Prompts: commands/skills como prompts invocáveis. Funciona no Claude Code E no
106
- // Cowork (que não lê `~/.claude`) — é o caminho de slash-command lá.
107
- function registerPromptHandlers(server, surface, session) {
114
+ function registerPromptHandlers(server, surface) {
108
115
  server.setRequestHandler(ListPromptsRequestSchema, async () => {
109
116
  try {
110
117
  const { docs } = loadSkills();
@@ -118,20 +125,12 @@ function registerPromptHandlers(server, surface, session) {
118
125
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
119
126
  const visible = filterSkillsForSurface(loadSkills().docs, surface);
120
127
  const { description, text } = buildSkillPrompt(request.params.name, request.params.arguments, visible);
121
- // Telemetria de uso (Cowork): qual skill/command foi invocado (id estável + nome).
122
- session?.gateway.track({
123
- type: 'prompt',
124
- client: surface ?? 'unknown',
125
- id: visible.find((d) => d.id === request.params.name)?.uid ?? null,
126
- name: request.params.name,
127
- });
128
128
  return {
129
129
  description,
130
130
  messages: [{ role: 'user', content: { type: 'text', text } }],
131
131
  };
132
132
  });
133
133
  }
134
- // Hooks (só Claude Code): re-registra os gatilhos no settings.json.
135
134
  function reinstallHooksIfClaude(target, projectConfig) {
136
135
  if (target !== claudeTarget)
137
136
  return;
@@ -144,9 +143,6 @@ function reinstallHooksIfClaude(target, projectConfig) {
144
143
  `${h.prunedScripts.length} removidos em ${h.settingsPath}.`);
145
144
  }
146
145
  }
147
- // Auto-pull: a cada start, refresca os arquivos nativos (idempotente via manifesto;
148
- // desliga com NIO_AUTO_PULL=0). No Cowork as skills chegam por resources/prompts,
149
- // não por arquivo nativo — então pulamos.
150
146
  async function runAutoPull(projectConfig) {
151
147
  const client = env('CLIENT');
152
148
  const autoPull = env('AUTO_PULL');
@@ -170,12 +166,12 @@ async function runAutoPull(projectConfig) {
170
166
  async function main() {
171
167
  const projectConfig = loadConfigStep();
172
168
  await initSkillsCache();
173
- const session = await authenticateSession();
169
+ const user = await authenticateSession();
174
170
  const server = new Server({ name: brand.mcpBinName, version: VERSION }, { capabilities: { tools: {}, resources: {}, prompts: {} } });
175
171
  const surface = resolveSurface();
176
- registerToolHandlers(server, session, projectConfig);
172
+ registerToolHandlers(server, user, projectConfig);
177
173
  registerResourceHandlers(server, surface);
178
- registerPromptHandlers(server, surface, session);
174
+ registerPromptHandlers(server, surface);
179
175
  notifyMcpServerIfUpdate();
180
176
  const transport = new StdioServerTransport();
181
177
  await server.connect(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { pythonToolchain } from './toolchains.js';
2
+ import { postgresMcp, powerbiMcp } from './mcps.js';
3
+ export const analystProfile = {
4
+ profile: 'analyst',
5
+ languages: ['python', 'sql'],
6
+ toolchains: [pythonToolchain],
7
+ frameworks: ['pandas', 'jupyter'],
8
+ mcps: [postgresMcp, powerbiMcp],
9
+ };
10
+ //# sourceMappingURL=analyst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyst.js","sourceRoot":"","sources":["../../src/profiles/analyst.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMpD,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC5B,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IACjC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;CAChC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { powerbiMcp } from './mcps.js';
2
+ export const biProfile = {
3
+ profile: 'bi',
4
+ languages: ['sql', 'dax'],
5
+ toolchains: [],
6
+ frameworks: ['powerbi'],
7
+ mcps: [powerbiMcp],
8
+ };
9
+ //# sourceMappingURL=bi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bi.js","sourceRoot":"","sources":["../../src/profiles/bi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAMvC,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACzB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { postgresMcp } from './mcps.js';
2
+ export const dbaProfile = {
3
+ profile: 'dba',
4
+ languages: ['sql'],
5
+ toolchains: [
6
+ {
7
+ id: 'postgresql-client',
8
+ detect: [
9
+ '/usr/bin/psql',
10
+ '/usr/local/bin/psql',
11
+ '/opt/homebrew/bin/psql',
12
+ 'C:/Program Files/PostgreSQL/**/bin/psql.exe',
13
+ ],
14
+ },
15
+ ],
16
+ frameworks: [],
17
+ mcps: [postgresMcp],
18
+ envVars: { PGCLIENTENCODING: 'UTF8' },
19
+ aliases: { pg: 'psql' },
20
+ };
21
+ //# sourceMappingURL=dba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dba.js","sourceRoot":"","sources":["../../src/profiles/dba.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAaxC,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,CAAC,KAAK,CAAC;IAClB,UAAU,EAAE;QACV;YACE,EAAE,EAAE,mBAAmB;YACvB,MAAM,EAAE;gBACN,eAAe;gBACf,qBAAqB;gBACrB,wBAAwB;gBACxB,6CAA6C;aAC9C;SAEF;KACF;IACD,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;IACrC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;CACxB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { nodeToolchain } from './toolchains.js';
2
+ export const fullstackProfile = {
3
+ profile: 'fullstack',
4
+ languages: ['typescript', 'javascript'],
5
+ toolchains: [nodeToolchain],
6
+ frameworks: ['react', 'next', 'express'],
7
+ mcps: [],
8
+ };
9
+ //# sourceMappingURL=fullstack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullstack.js","sourceRoot":"","sources":["../../src/profiles/fullstack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;IACvC,UAAU,EAAE,CAAC,aAAa,CAAC;IAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;IACxC,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { dbaProfile } from './dba.js';
2
+ import { fullstackProfile } from './fullstack.js';
3
+ import { analystProfile } from './analyst.js';
4
+ import { scientistProfile } from './scientist.js';
5
+ import { qaProfile } from './qa.js';
6
+ import { biProfile } from './bi.js';
7
+ import { nioLangMcp, postgresMcp, powerbiMcp, n8nMcp, dockerGatewayMcp } from './mcps.js';
8
+ import { nodeToolchain, pythonToolchain } from './toolchains.js';
9
+ const DEFINITIONS = {
10
+ fullstack: fullstackProfile,
11
+ analyst: analystProfile,
12
+ scientist: scientistProfile,
13
+ dba: dbaProfile,
14
+ qa: qaProfile,
15
+ bi: biProfile,
16
+ };
17
+ class HardcodedProfileCatalog {
18
+ get(profile) {
19
+ const def = DEFINITIONS[profile];
20
+ if (!def) {
21
+ const disponiveis = Object.keys(DEFINITIONS).join(', ') || '(nenhum)';
22
+ throw new Error(`Perfil "${profile}" ainda não tem ambiente definido no catálogo ` +
23
+ `(src/profiles/). Perfis disponíveis: ${disponiveis}.`);
24
+ }
25
+ return def;
26
+ }
27
+ list() {
28
+ return Object.values(DEFINITIONS);
29
+ }
30
+ }
31
+ export function createProfileCatalog() {
32
+ return new HardcodedProfileCatalog();
33
+ }
34
+ export const KNOWN_TOOLCHAINS = Object.fromEntries([nodeToolchain, pythonToolchain, ...Object.values(DEFINITIONS).flatMap((d) => d.toolchains)].map((t) => [
35
+ t.id,
36
+ t,
37
+ ]));
38
+ export const KNOWN_MCPS = Object.fromEntries([nioLangMcp, postgresMcp, powerbiMcp, n8nMcp, dockerGatewayMcp].map((m) => [m.id, m]));
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGjE,MAAM,WAAW,GAAuC;IACtD,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,GAAG,EAAE,UAAU;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,MAAM,uBAAuB;IAC3B,GAAG,CAAC,OAAgB;QAClB,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,gDAAgD;gBAChE,wCAAwC,WAAW,GAAG,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,uBAAuB,EAAE,CAAC;AACvC,CAAC;AAQD,MAAM,CAAC,MAAM,gBAAgB,GAAkC,MAAM,CAAC,WAAW,CAC/E,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,CAAC,CAAC,EAAE;IACJ,CAAC;CACF,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA4B,MAAM,CAAC,WAAW,CACnE,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACtF,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { DOCKER_MCP_URL } from '../lib/docker.js';
2
+ export const nioLangMcp = {
3
+ id: 'nio-lang',
4
+ command: ['nio-lang'],
5
+ };
6
+ export const postgresMcp = {
7
+ id: 'postgres',
8
+ command: ['npx', '-y', '@modelcontextprotocol/server-postgres'],
9
+ environment: { DATABASE_URL: '' },
10
+ };
11
+ export const powerbiMcp = {
12
+ id: 'powerbi-modeling',
13
+ command: ['npx', '-y', '@microsoft/powerbi-modeling-mcp@latest', '--start', '--skipconfirmation'],
14
+ };
15
+ export const n8nMcp = {
16
+ id: 'n8n',
17
+ command: ['npx', '-y', 'n8n-mcp'],
18
+ };
19
+ export const dockerGatewayMcp = {
20
+ id: 'docker',
21
+ url: DOCKER_MCP_URL,
22
+ };
23
+ //# sourceMappingURL=mcps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcps.js","sourceRoot":"","sources":["../../src/profiles/mcps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,CAAC,UAAU,CAAC;CACtB,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,uCAAuC,CAAC;IAC/D,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;CAClC,CAAC;AAWF,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,EAAE,EAAE,kBAAkB;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,oBAAoB,CAAC;CAClG,CAAC;AASF,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B,EAAE,EAAE,KAAK;IACT,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,EAAE,EAAE,QAAQ;IACZ,GAAG,EAAE,cAAc;CACpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { nodeToolchain } from './toolchains.js';
2
+ export const qaProfile = {
3
+ profile: 'qa',
4
+ languages: ['typescript'],
5
+ toolchains: [nodeToolchain],
6
+ frameworks: ['playwright', 'vitest'],
7
+ mcps: [],
8
+ aliases: { e2e: 'npx playwright test' },
9
+ };
10
+ //# sourceMappingURL=qa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/profiles/qa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,UAAU,EAAE,CAAC,aAAa,CAAC;IAC3B,UAAU,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;IACpC,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE;CACxC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { pythonToolchain } from './toolchains.js';
2
+ export const scientistProfile = {
3
+ profile: 'scientist',
4
+ languages: ['python'],
5
+ toolchains: [pythonToolchain],
6
+ frameworks: ['jupyter', 'numpy', 'pytorch'],
7
+ mcps: [],
8
+ };
9
+ //# sourceMappingURL=scientist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scientist.js","sourceRoot":"","sources":["../../src/profiles/scientist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;IAC3C,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const nodeToolchain = {
2
+ id: 'node',
3
+ detect: ['/usr/bin/node', '/usr/local/bin/node', '/opt/homebrew/bin/node'],
4
+ };
5
+ export const pythonToolchain = {
6
+ id: 'python',
7
+ detect: ['/usr/bin/python3', '/usr/local/bin/python3', '/opt/homebrew/bin/python3'],
8
+ };
9
+ //# sourceMappingURL=toolchains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolchains.js","sourceRoot":"","sources":["../../src/profiles/toolchains.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,wBAAwB,CAAC;CAC3E,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,EAAE,EAAE,QAAQ;IACZ,MAAM,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;CACpF,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { jsonResult, errorResult } from '../lib/tool-result.js';
4
- import { startExec } from '../lib/exec-delegate.js';
5
- import { ENGINES, DEFAULT_ENGINE } from '../lib/exec-engines.js';
4
+ import { startExec } from '../lib/exec/exec-delegate.js';
5
+ import { ENGINES, DEFAULT_ENGINE } from '../lib/exec/exec-engines.js';
6
6
  import { brand } from '../brand.js';
7
7
  const ArgsSchema = z
8
8
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"delegate-exec.js","sourceRoot":"","sources":["../../src/tools/delegate-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,aAAa,eAAe;IAC3C,WAAW,EACT,uGAAuG;QACvG,8FAA8F;QAC9F,0FAA0F;QAC1F,8EAA8E,KAAK,CAAC,aAAa,gBAAgB;IACnH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yEAAyE;aACvF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qFAAqF;oBACrF,uFAAuF;aAC1F;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;gBAClB,WAAW,EAAE,uCAAuC,cAAc,GAAG;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;QACrC,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,IAAiB;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,EAAE;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,kBAAkB,KAAK,CAAC,aAAa,sCAAsC;KAClF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"delegate-exec.js","sourceRoot":"","sources":["../../src/tools/delegate-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,aAAa,eAAe;IAC3C,WAAW,EACT,uGAAuG;QACvG,8FAA8F;QAC9F,0FAA0F;QAC1F,8EAA8E,KAAK,CAAC,aAAa,gBAAgB;IACnH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yEAAyE;aACvF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qFAAqF;oBACrF,uFAAuF;aAC1F;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;gBAClB,WAAW,EAAE,uCAAuC,cAAc,GAAG;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;QACrC,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,IAAiB;IAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,EAAE;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,kBAAkB,KAAK,CAAC,aAAa,sCAAsC;KAClF,CAAC,CAAC;AACL,CAAC"}