@codemieai/code 0.15.1 → 0.15.3

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 (336) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/bin/codemie.js +52 -0
  3. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  4. package/dist/agents/core/AgentCLI.js +6 -0
  5. package/dist/agents/core/AgentCLI.js.map +1 -1
  6. package/dist/agents/core/BaseAgentAdapter.d.ts +25 -0
  7. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  8. package/dist/agents/core/BaseAgentAdapter.js +137 -127
  9. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  10. package/dist/agents/core/session/BaseProcessor.d.ts +10 -0
  11. package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -1
  12. package/dist/agents/core/session/BaseProcessor.js +11 -1
  13. package/dist/agents/core/session/BaseProcessor.js.map +1 -1
  14. package/dist/agents/core/session/BaseSessionAdapter.d.ts +4 -0
  15. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
  16. package/dist/agents/core/types.d.ts +11 -5
  17. package/dist/agents/core/types.d.ts.map +1 -1
  18. package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
  19. package/dist/agents/plugins/claude/claude.models.js +12 -11
  20. package/dist/agents/plugins/claude/claude.models.js.map +1 -1
  21. package/dist/agents/plugins/claude/claude.plugin.d.ts +3 -3
  22. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  23. package/dist/agents/plugins/claude/claude.plugin.js +14 -13
  24. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  25. package/dist/agents/plugins/claude/claude.session.d.ts +17 -1
  26. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  27. package/dist/agents/plugins/claude/claude.session.js +31 -1
  28. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  29. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  30. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +7 -7
  31. package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
  32. package/dist/agents/plugins/codex/codex.plugin.js +7 -6
  33. package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
  34. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -1
  35. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +5 -2
  36. package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -1
  37. package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
  38. package/dist/agents/plugins/gemini/extension/hooks/hooks.json +7 -7
  39. package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
  40. package/dist/agents/plugins/gemini/gemini.plugin.js +7 -6
  41. package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
  42. package/dist/agents/plugins/kimi/kimi.hook-config-injector.d.ts.map +1 -1
  43. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js +26 -5
  44. package/dist/agents/plugins/kimi/kimi.hook-config-injector.js.map +1 -1
  45. package/dist/agents/plugins/kimi/kimi.plugin.d.ts.map +1 -1
  46. package/dist/agents/plugins/kimi/kimi.plugin.js +5 -2
  47. package/dist/agents/plugins/kimi/kimi.plugin.js.map +1 -1
  48. package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
  49. package/dist/agents/plugins/opencode/opencode-dynamic-models.js +3 -4
  50. package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
  51. package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
  52. package/dist/agents/plugins/pi/pi.models.js +3 -3
  53. package/dist/agents/plugins/pi/pi.models.js.map +1 -1
  54. package/dist/bin/proxy-daemon.js +8 -1
  55. package/dist/bin/proxy-daemon.js.map +1 -1
  56. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts +6 -0
  57. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts.map +1 -0
  58. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js +115 -0
  59. package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js.map +1 -0
  60. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts +6 -0
  61. package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts.map +1 -0
  62. package/dist/cli/commands/analytics/cost/claude-lifecycle.js +107 -0
  63. package/dist/cli/commands/analytics/cost/claude-lifecycle.js.map +1 -0
  64. package/dist/cli/commands/analytics/cost/claude-native.d.ts +54 -0
  65. package/dist/cli/commands/analytics/cost/claude-native.d.ts.map +1 -0
  66. package/dist/cli/commands/analytics/cost/claude-native.js +14 -0
  67. package/dist/cli/commands/analytics/cost/claude-native.js.map +1 -0
  68. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts +23 -0
  69. package/dist/cli/commands/analytics/cost/claude-ownership.d.ts.map +1 -0
  70. package/dist/cli/commands/analytics/cost/claude-ownership.js +99 -0
  71. package/dist/cli/commands/analytics/cost/claude-ownership.js.map +1 -0
  72. package/dist/cli/commands/analytics/cost/claude-trace.d.ts +28 -0
  73. package/dist/cli/commands/analytics/cost/claude-trace.d.ts.map +1 -0
  74. package/dist/cli/commands/analytics/cost/claude-trace.js +120 -0
  75. package/dist/cli/commands/analytics/cost/claude-trace.js.map +1 -0
  76. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +1 -1
  77. package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
  78. package/dist/cli/commands/analytics/cost/cost-enricher.js +34 -43
  79. package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
  80. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts +18 -0
  81. package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts.map +1 -0
  82. package/dist/cli/commands/analytics/cost/dispatch-allocation.js +53 -0
  83. package/dist/cli/commands/analytics/cost/dispatch-allocation.js.map +1 -0
  84. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +8 -13
  85. package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
  86. package/dist/cli/commands/analytics/cost/dispatch-extractor.js +131 -69
  87. package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
  88. package/dist/cli/commands/analytics/cost/types.d.ts +39 -0
  89. package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
  90. package/dist/cli/commands/analytics/cost/types.js.map +1 -1
  91. package/dist/cli/commands/analytics/cost/usage-readers.d.ts +2 -0
  92. package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
  93. package/dist/cli/commands/analytics/cost/usage-readers.js +14 -3
  94. package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
  95. package/dist/cli/commands/analytics/data-loader.d.ts +13 -0
  96. package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
  97. package/dist/cli/commands/analytics/data-loader.js +6 -0
  98. package/dist/cli/commands/analytics/data-loader.js.map +1 -1
  99. package/dist/cli/commands/analytics/native-loader.d.ts +1 -1
  100. package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
  101. package/dist/cli/commands/analytics/native-loader.js +25 -3
  102. package/dist/cli/commands/analytics/native-loader.js.map +1 -1
  103. package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
  104. package/dist/cli/commands/analytics/otel-loader.js +5 -0
  105. package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
  106. package/dist/cli/commands/analytics/report/client/app.js +302 -125
  107. package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
  108. package/dist/cli/commands/analytics/report/payload-builder.js +64 -13
  109. package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
  110. package/dist/cli/commands/analytics/report/template.html +50 -2
  111. package/dist/cli/commands/analytics/report/types.d.ts +16 -0
  112. package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
  113. package/dist/cli/commands/assistants/constants.d.ts +4 -0
  114. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  115. package/dist/cli/commands/assistants/constants.js +4 -0
  116. package/dist/cli/commands/assistants/constants.js.map +1 -1
  117. package/dist/cli/commands/assistants/setup/data.d.ts +1 -0
  118. package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
  119. package/dist/cli/commands/assistants/setup/data.js +55 -10
  120. package/dist/cli/commands/assistants/setup/data.js.map +1 -1
  121. package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -1
  122. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  123. package/dist/cli/commands/assistants/setup/helpers.js +2 -5
  124. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  125. package/dist/cli/commands/assistants/setup/index.d.ts +12 -0
  126. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  127. package/dist/cli/commands/assistants/setup/index.js +148 -20
  128. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  129. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +6 -0
  130. package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
  131. package/dist/cli/commands/doctor/checks/AgentsCheck.js +37 -33
  132. package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
  133. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  134. package/dist/cli/commands/doctor/index.js +11 -0
  135. package/dist/cli/commands/doctor/index.js.map +1 -1
  136. package/dist/cli/commands/hook.d.ts.map +1 -1
  137. package/dist/cli/commands/hook.js +72 -12
  138. package/dist/cli/commands/hook.js.map +1 -1
  139. package/dist/cli/commands/install.d.ts.map +1 -1
  140. package/dist/cli/commands/install.js +5 -9
  141. package/dist/cli/commands/install.js.map +1 -1
  142. package/dist/cli/commands/mcp/index.d.ts.map +1 -1
  143. package/dist/cli/commands/mcp/index.js +68 -17
  144. package/dist/cli/commands/mcp/index.js.map +1 -1
  145. package/dist/cli/commands/profile/display.d.ts +5 -1
  146. package/dist/cli/commands/profile/display.d.ts.map +1 -1
  147. package/dist/cli/commands/profile/display.js +5 -1
  148. package/dist/cli/commands/profile/display.js.map +1 -1
  149. package/dist/cli/commands/profile/index.d.ts.map +1 -1
  150. package/dist/cli/commands/profile/index.js +7 -4
  151. package/dist/cli/commands/profile/index.js.map +1 -1
  152. package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
  153. package/dist/cli/commands/proxy/connect-orchestrator.js +3 -4
  154. package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
  155. package/dist/cli/commands/proxy/connectors/desktop.d.ts +15 -12
  156. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  157. package/dist/cli/commands/proxy/connectors/desktop.js +36 -38
  158. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  159. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts +19 -0
  160. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts.map +1 -0
  161. package/dist/cli/commands/proxy/connectors/model-name-resolver.js +126 -0
  162. package/dist/cli/commands/proxy/connectors/model-name-resolver.js.map +1 -0
  163. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +11 -0
  164. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
  165. package/dist/cli/commands/proxy/connectors/tenant-catalog.js +108 -0
  166. package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -0
  167. package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -1
  168. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +49 -19
  169. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -1
  170. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +3 -3
  171. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
  172. package/dist/cli/commands/proxy/connectors/vscode-models.js +28 -28
  173. package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
  174. package/dist/cli/commands/proxy/connectors/vscode.d.ts +3 -2
  175. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  176. package/dist/cli/commands/proxy/connectors/vscode.js +78 -39
  177. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  178. package/dist/cli/commands/setup.d.ts.map +1 -1
  179. package/dist/cli/commands/setup.js +72 -24
  180. package/dist/cli/commands/setup.js.map +1 -1
  181. package/dist/cli/commands/shared/headless.d.ts +69 -0
  182. package/dist/cli/commands/shared/headless.d.ts.map +1 -0
  183. package/dist/cli/commands/shared/headless.js +83 -0
  184. package/dist/cli/commands/shared/headless.js.map +1 -0
  185. package/dist/cli/commands/shared/helpers.d.ts +21 -0
  186. package/dist/cli/commands/shared/helpers.d.ts.map +1 -1
  187. package/dist/cli/commands/shared/helpers.js +73 -1
  188. package/dist/cli/commands/shared/helpers.js.map +1 -1
  189. package/dist/cli/commands/shared/identifier-resolution.d.ts +23 -0
  190. package/dist/cli/commands/shared/identifier-resolution.d.ts.map +1 -0
  191. package/dist/cli/commands/shared/identifier-resolution.js +55 -0
  192. package/dist/cli/commands/shared/identifier-resolution.js.map +1 -0
  193. package/dist/cli/commands/skills/setup/data.d.ts +3 -2
  194. package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
  195. package/dist/cli/commands/skills/setup/data.js +75 -13
  196. package/dist/cli/commands/skills/setup/data.js.map +1 -1
  197. package/dist/cli/commands/skills/setup/helpers.d.ts +1 -1
  198. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
  199. package/dist/cli/commands/skills/setup/helpers.js +2 -5
  200. package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
  201. package/dist/cli/commands/skills/setup/index.d.ts +17 -1
  202. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
  203. package/dist/cli/commands/skills/setup/index.js +190 -19
  204. package/dist/cli/commands/skills/setup/index.js.map +1 -1
  205. package/dist/cli/commands/tips.d.ts +10 -0
  206. package/dist/cli/commands/tips.d.ts.map +1 -0
  207. package/dist/cli/commands/tips.js +142 -0
  208. package/dist/cli/commands/tips.js.map +1 -0
  209. package/dist/cli/commands/update.d.ts.map +1 -1
  210. package/dist/cli/commands/update.js +12 -10
  211. package/dist/cli/commands/update.js.map +1 -1
  212. package/dist/cli/commands/whatsnew.d.ts +6 -0
  213. package/dist/cli/commands/whatsnew.d.ts.map +1 -0
  214. package/dist/cli/commands/whatsnew.js +37 -0
  215. package/dist/cli/commands/whatsnew.js.map +1 -0
  216. package/dist/cli/first-time.d.ts.map +1 -1
  217. package/dist/cli/first-time.js +4 -0
  218. package/dist/cli/first-time.js.map +1 -1
  219. package/dist/cli/index.js +4 -0
  220. package/dist/cli/index.js.map +1 -1
  221. package/dist/providers/core/types.d.ts +15 -0
  222. package/dist/providers/core/types.d.ts.map +1 -1
  223. package/dist/providers/core/types.js.map +1 -1
  224. package/dist/providers/integration/setup-ui.d.ts +5 -3
  225. package/dist/providers/integration/setup-ui.d.ts.map +1 -1
  226. package/dist/providers/integration/setup-ui.js +6 -4
  227. package/dist/providers/integration/setup-ui.js.map +1 -1
  228. package/dist/providers/plugins/ollama/ollama.library.d.ts +37 -0
  229. package/dist/providers/plugins/ollama/ollama.library.d.ts.map +1 -0
  230. package/dist/providers/plugins/ollama/ollama.library.js +105 -0
  231. package/dist/providers/plugins/ollama/ollama.library.js.map +1 -0
  232. package/dist/providers/plugins/ollama/ollama.models.d.ts +3 -1
  233. package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -1
  234. package/dist/providers/plugins/ollama/ollama.models.js +5 -39
  235. package/dist/providers/plugins/ollama/ollama.models.js.map +1 -1
  236. package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
  237. package/dist/providers/plugins/ollama/ollama.setup-steps.js +196 -6
  238. package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
  239. package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
  240. package/dist/providers/plugins/ollama/ollama.template.js +12 -32
  241. package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
  242. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts +41 -0
  243. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts.map +1 -0
  244. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js +115 -0
  245. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js.map +1 -0
  246. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
  247. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +101 -7
  248. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
  249. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts +4 -0
  250. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -1
  251. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +28 -3
  252. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  253. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +5 -0
  254. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  255. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  256. package/dist/providers/plugins/sso/proxy/sso.proxy.js +1 -0
  257. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  258. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +4 -0
  259. package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -1
  260. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +12 -0
  261. package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
  262. package/dist/providers/plugins/sso/session/SessionSyncer.js +89 -0
  263. package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
  264. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
  265. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +75 -41
  266. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  267. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  268. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +11 -2
  269. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  270. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  271. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +25 -5
  272. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  273. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +1 -0
  274. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
  275. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +30 -6
  276. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
  277. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -1
  278. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +33 -3
  279. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -1
  280. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts +58 -0
  281. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts.map +1 -0
  282. package/dist/telemetry/runtime/DesktopRepositoryResolver.js +370 -0
  283. package/dist/telemetry/runtime/DesktopRepositoryResolver.js.map +1 -0
  284. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +1 -0
  285. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
  286. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +89 -6
  287. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
  288. package/dist/telemetry/runtime/types.d.ts +2 -0
  289. package/dist/telemetry/runtime/types.d.ts.map +1 -1
  290. package/dist/utils/auth.d.ts +13 -2
  291. package/dist/utils/auth.d.ts.map +1 -1
  292. package/dist/utils/auth.js +7 -3
  293. package/dist/utils/auth.js.map +1 -1
  294. package/dist/utils/cli-updater.d.ts.map +1 -1
  295. package/dist/utils/cli-updater.js +2 -8
  296. package/dist/utils/cli-updater.js.map +1 -1
  297. package/dist/utils/config.d.ts +21 -0
  298. package/dist/utils/config.d.ts.map +1 -1
  299. package/dist/utils/config.js +69 -7
  300. package/dist/utils/config.js.map +1 -1
  301. package/dist/utils/env.d.ts +12 -0
  302. package/dist/utils/env.d.ts.map +1 -0
  303. package/dist/utils/env.js +18 -0
  304. package/dist/utils/env.js.map +1 -0
  305. package/dist/utils/errors.d.ts +14 -0
  306. package/dist/utils/errors.d.ts.map +1 -1
  307. package/dist/utils/errors.js +25 -0
  308. package/dist/utils/errors.js.map +1 -1
  309. package/dist/utils/hook-command.d.ts +6 -0
  310. package/dist/utils/hook-command.d.ts.map +1 -1
  311. package/dist/utils/hook-command.js +40 -1
  312. package/dist/utils/hook-command.js.map +1 -1
  313. package/dist/utils/paths.d.ts +2 -2
  314. package/dist/utils/paths.d.ts.map +1 -1
  315. package/dist/utils/paths.js +11 -9
  316. package/dist/utils/paths.js.map +1 -1
  317. package/dist/utils/pricing.json +14 -6
  318. package/dist/utils/processes.d.ts +12 -0
  319. package/dist/utils/processes.d.ts.map +1 -1
  320. package/dist/utils/processes.js +15 -0
  321. package/dist/utils/processes.js.map +1 -1
  322. package/dist/utils/tips.d.ts +103 -0
  323. package/dist/utils/tips.d.ts.map +1 -0
  324. package/dist/utils/tips.js +221 -0
  325. package/dist/utils/tips.js.map +1 -0
  326. package/dist/utils/version-warnings.d.ts +41 -0
  327. package/dist/utils/version-warnings.d.ts.map +1 -0
  328. package/dist/utils/version-warnings.js +93 -0
  329. package/dist/utils/version-warnings.js.map +1 -0
  330. package/dist/utils/whatsnew.d.ts +83 -0
  331. package/dist/utils/whatsnew.d.ts.map +1 -0
  332. package/dist/utils/whatsnew.js +200 -0
  333. package/dist/utils/whatsnew.js.map +1 -0
  334. package/package.json +4 -1
  335. package/scripts/release.sh +6 -0
  336. package/src/utils/tips.json +806 -0
@@ -3,16 +3,37 @@
3
3
  *
4
4
  * Handles all data fetching for skills setup
5
5
  */
6
+ import { NotFoundError } from 'codemie-sdk';
6
7
  import { logger } from '../../../../utils/logger.js';
8
+ import { RegistrationItemNotFoundError } from '../../../../utils/errors.js';
7
9
  import { assertApiListResponse } from '../../../../cli/commands/shared/api-response-guard.js';
10
+ /**
11
+ * Builds the filter payload the skills listing expects for a panel scope. Shared by
12
+ * the wizard fetch and the headless catalog crawl so both see the same set.
13
+ */
14
+ function buildScopeFilters(apiScope, search) {
15
+ return {
16
+ search: search.trim(),
17
+ project: [],
18
+ created_by: '',
19
+ categories: [],
20
+ visibility: apiScope === 'marketplace' ? 'public' : null,
21
+ scope: apiScope,
22
+ };
23
+ }
8
24
  function isSkillListResponse(response) {
9
25
  const r = response;
10
26
  return !!r && typeof r === 'object' && Array.isArray(r.skills)
11
27
  && typeof r.total === 'number' && typeof r.pages === 'number';
12
28
  }
29
+ function isSkillDetailResponse(response) {
30
+ const r = response;
31
+ return !!r && typeof r === 'object' && typeof r.id === 'string';
32
+ }
13
33
  export function createSkillDataFetcher(config) {
14
34
  const { client, registeredSkills } = config;
15
35
  const PER_PAGE = 5;
36
+ const ALL_VISIBLE_PER_PAGE = 100;
16
37
  async function fetchSkills(params) {
17
38
  const { scope, searchQuery = '', page = 0 } = params;
18
39
  logger.debug('[SkillSetup] Fetching skills', { scope, searchQuery, page });
@@ -43,14 +64,7 @@ export function createSkillDataFetcher(config) {
43
64
  const response = await client.skills.listPaginated({
44
65
  page,
45
66
  per_page: PER_PAGE,
46
- filters: {
47
- search: searchQuery.trim(),
48
- project: [],
49
- created_by: "",
50
- categories: [],
51
- visibility: apiScope === 'marketplace' ? 'public' : null,
52
- scope: apiScope
53
- }
67
+ filters: buildScopeFilters(apiScope, searchQuery)
54
68
  });
55
69
  assertApiListResponse(response, isSkillListResponse, `${apiScope} skills`);
56
70
  logger.debug('[SkillSetup] Fetched skills from API', {
@@ -70,18 +84,66 @@ export function createSkillDataFetcher(config) {
70
84
  logger.debug('[SkillSetup] Fetching skill details', { id });
71
85
  return client.skills.get(id);
72
86
  }
87
+ async function fetchAllPagesForScope(apiScope) {
88
+ const skills = [];
89
+ let page = 0;
90
+ let pages = 1;
91
+ do {
92
+ const response = await client.skills.listPaginated({
93
+ page,
94
+ per_page: ALL_VISIBLE_PER_PAGE,
95
+ filters: buildScopeFilters(apiScope, ''),
96
+ });
97
+ assertApiListResponse(response, isSkillListResponse, `${apiScope} skills`);
98
+ skills.push(...response.skills);
99
+ pages = response.pages;
100
+ page += 1;
101
+ } while (page < pages);
102
+ return skills;
103
+ }
104
+ async function fetchAllVisibleSkills() {
105
+ logger.debug('[SkillSetup] Fetching all visible skills');
106
+ // Page exactly the two scopes the wizard's panels fetch, with the wizard's
107
+ // filters: an unfiltered listing relies on a server-side default that is not
108
+ // observable here, so "not in the listing" would not be provably the same as
109
+ // "not available to you".
110
+ const byId = new Map();
111
+ for (const apiScope of ['project', 'marketplace']) {
112
+ for (const skill of await fetchAllPagesForScope(apiScope)) {
113
+ if (!byId.has(skill.id)) {
114
+ byId.set(skill.id, skill);
115
+ }
116
+ }
117
+ }
118
+ const skills = Array.from(byId.values());
119
+ logger.debug('[SkillSetup] Fetched all visible skills', { count: skills.length });
120
+ return skills;
121
+ }
73
122
  async function fetchSkillsByIds(ids, _registeredSkills) {
74
123
  if (ids.length === 0) {
75
124
  return [];
76
125
  }
77
126
  logger.debug('[SkillSetup] Fetching skills by IDs', { ids });
78
- // Fetch all skills (no efficient bulk endpoint, so fetch all and filter)
79
- const response = await client.skills.listPaginated({ per_page: 100 });
80
- assertApiListResponse(response, isSkillListResponse, 'skills');
81
- const skills = response.skills.filter(skill => ids.includes(skill.id));
127
+ // Fetch each requested id directly rather than crawling the whole catalog: the
128
+ // visible catalog runs to thousands of skills, and paging through it took
129
+ // longer than 30s with no output. An id the API does not know aborts the run:
130
+ // filtering it out silently reports success for a skill that was never registered.
131
+ const skills = await Promise.all(ids.map(async (id) => {
132
+ try {
133
+ const skill = await client.skills.get(id);
134
+ assertApiListResponse(skill, isSkillDetailResponse, 'skill details');
135
+ return skill;
136
+ }
137
+ catch (error) {
138
+ if (error instanceof NotFoundError) {
139
+ throw new RegistrationItemNotFoundError('skill', id);
140
+ }
141
+ throw error;
142
+ }
143
+ }));
82
144
  logger.debug('[SkillSetup] Fetched skills by IDs', { count: skills.length });
83
145
  return skills;
84
146
  }
85
- return { fetchSkills, fetchSkillById, fetchSkillsByIds };
147
+ return { fetchSkills, fetchSkillById, fetchSkillsByIds, fetchAllVisibleSkills };
86
148
  }
87
149
  //# sourceMappingURL=data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAQpF,SAAS,mBAAmB,CAAC,QAAiB;IAC5C,MAAM,CAAC,GAAG,QAAyD,CAAC;IACpE,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;WACzD,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;AAClE,CAAC;AAyBD,MAAM,UAAU,sBAAsB,CAAC,MAA8B;IACnE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,KAAK,UAAU,WAAW,CAAC,MAAyB;QAClD,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC;QAErD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3E,kDAAkD;QAClD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,IAAI,cAAc,GAAG,gBAAgB,CAAC;YAEtC,sBAAsB;YACtB,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBACxC,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACxC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAChD,CAAC;YACJ,CAAC;YAED,uBAAuB;YACvB,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;YAC7B,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEzD,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO;gBACL,IAAI,EAAE,eAA6C;gBACnD,KAAK;gBACL,KAAK;aACN,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YACjD,IAAI;YACJ,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;gBAC1B,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;gBACxD,KAAK,EAAE,QAAQ;aAChB;SACF,CAAC,CAAC;QAEH,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;QAE3E,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;YACnD,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;YAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,EAAU;QACtC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,UAAU,gBAAgB,CAAC,GAAa,EAAE,iBAAiC;QAC9E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7D,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACtE,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ export interface RegistrationChanges {
10
10
  }
11
11
  export declare function determineChanges(selectedIds: string[], allSkills: SkillListItem[], registeredSkills: CodemieSkill[]): RegistrationChanges;
12
12
  export declare function unregisterSkill(skill: CodemieSkill, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<void>;
13
- export declare function registerSkill(skill: SkillDetail, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<CodemieSkill | null>;
13
+ export declare function registerSkill(skill: SkillDetail, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<CodemieSkill>;
14
14
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAyC,MAAM,kCAAkC,CAAC;AAC7G,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,aAAa,EAAE,EAC1B,gBAAgB,EAAE,YAAY,EAAE,GAC/B,mBAAmB,CAErB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,YAAY,EACnB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmC9B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAmE,MAAM,kCAAkC,CAAC;AACvI,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,aAAa,EAAE,EAC1B,gBAAgB,EAAE,YAAY,EAAE,GAC/B,mBAAmB,CAErB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,YAAY,EACnB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,YAAY,CAAC,CA+BvB"}
@@ -5,7 +5,7 @@ import { registerClaudeSkill, unregisterClaudeSkill } from '../../../../cli/comm
5
5
  import { sanitizeToSlug } from '../../../../utils/slug.js';
6
6
  import { registerCodexSkill, unregisterCodexSkill } from '../../../../cli/commands/skills/setup/generators/codex-skill-generator.js';
7
7
  import { registerGeminiSkill, unregisterGeminiSkill } from '../../../../cli/commands/skills/setup/generators/gemini-skill-generator.js';
8
- import { executeWithSpinner, determineChanges as _determineChanges } from '../../../../cli/commands/shared/helpers.js';
8
+ import { executeWithSpinner, executeWithSpinnerStrict, determineChanges as _determineChanges } from '../../../../cli/commands/shared/helpers.js';
9
9
  import { targetsClaude, targetsCodex, targetsGemini, } from '../../../../cli/commands/shared/agent-targets.js';
10
10
  export { executeWithSpinner };
11
11
  export function determineChanges(selectedIds, allSkills, registeredSkills) {
@@ -25,7 +25,7 @@ export async function unregisterSkill(skill, scope = StorageScope.GLOBAL, workin
25
25
  }, `Unregistered ${chalk.bold(skill.name)} ${chalk.cyan(`/${skill.slug}`)}`, `Failed to unregister ${skill.name}`, (error) => logger.error('Skill removal failed', { error, skillId: skill.id, target }));
26
26
  }
27
27
  export async function registerSkill(skill, scope = StorageScope.GLOBAL, workingDir, target = ['claude']) {
28
- const result = await executeWithSpinner(`Registering ${chalk.bold(skill.name)}...`, async () => {
28
+ const result = await executeWithSpinnerStrict(`Registering ${chalk.bold(skill.name)}...`, async () => {
29
29
  let slug;
30
30
  if (targetsClaude(target)) {
31
31
  slug = await registerClaudeSkill(skill, scope, workingDir);
@@ -38,9 +38,6 @@ export async function registerSkill(skill, scope = StorageScope.GLOBAL, workingD
38
38
  }
39
39
  return slug;
40
40
  }, `Registered ${chalk.bold(skill.name)} ${chalk.cyan(`/${sanitizeToSlug(skill.name)}`)}`, `Failed to register ${skill.name}`, (error) => logger.error('Skill registration failed', { error, skillId: skill.id, target }));
41
- if (!result) {
42
- return null;
43
- }
44
41
  return {
45
42
  id: skill.id,
46
43
  name: skill.name,
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  import { Command } from 'commander';
2
2
  import { type TargetAgent } from '../../../../cli/commands/shared/agent-targets.js';
3
- import type { CodemieSkill } from '../../../../env/types.js';
3
+ import { type CodemieSkill } from '../../../../env/types.js';
4
4
  export type { CodemieSkill };
5
+ export interface SetupCommandOptions {
6
+ profile?: string;
7
+ agent?: string;
8
+ verbose?: boolean;
9
+ skill?: string;
10
+ scope?: string;
11
+ yes?: boolean;
12
+ }
5
13
  export declare function createSkillsSetupCommand(hostAgent?: TargetAgent): Command;
14
+ /**
15
+ * Non-interactive branch of `codemie setup skills`. Every prompt (skill
16
+ * selection, storage scope, agent target detection/selection, the disclaimer's
17
+ * Enter gate) is skipped in favour of flags, validated up front so an invalid
18
+ * or missing flag, or an unresolvable identifier, aborts before any network
19
+ * call or write happens.
20
+ */
21
+ export declare function setupSkillsHeadless(options: SetupCommandOptions, hostAgent?: TargetAgent): Promise<void>;
6
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAAoD,KAAK,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC5H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAqBzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAWhD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAwBzE;AAiOD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9G"}
@@ -1,20 +1,27 @@
1
1
  import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
+ import { logger } from '../../../../utils/logger.js';
3
4
  import { ConfigLoader } from '../../../../utils/config.js';
4
5
  import { getAuthenticatedClient } from '../../../../utils/auth.js';
5
6
  import { createSkillDataFetcher } from './data.js';
6
7
  import { promptSkillSelection } from './selection/index.js';
7
8
  import { determineChanges, registerSkill, unregisterSkill } from './helpers.js';
8
9
  import { ACTION_TYPE } from './constants.js';
9
- import { enableVerboseLogging, handleSetupError } from '../../../../cli/commands/shared/helpers.js';
10
+ import { enableVerboseLogging, handleSetupError, persistPartialWrites, registerAllOrAbort, } from '../../../../cli/commands/shared/helpers.js';
10
11
  import { promptStorageScope } from '../../../../cli/commands/shared/prompts/storage-scope.js';
11
- import { resolveAgentSetupTargets, formatAgentSetupTarget } from '../../../../cli/commands/shared/agent-targets.js';
12
+ import { resolveAgentSetupTargets, formatAgentSetupTarget, } from '../../../../cli/commands/shared/agent-targets.js';
13
+ import { isHeadlessMode, requireFlag, parseScopeFlag, parseListFlag, partitionRegisteredByRequest, resolveHeadlessAgentTarget, } from '../../../../cli/commands/shared/headless.js';
14
+ import { resolveIdentifiers } from '../../../../cli/commands/shared/identifier-resolution.js';
15
+ import { RegistrationItemNotFoundError } from '../../../../utils/errors.js';
12
16
  export function createSkillsSetupCommand(hostAgent) {
13
17
  const command = new Command('setup');
14
18
  command
15
19
  .description('Manage CodeMie platform skills (view, register, unregister)')
16
20
  .option('--profile <name>', 'Profile to use')
17
21
  .option('--agent <agents>', 'Target agent(s), comma-separated: claude, codex, gemini')
22
+ .option('--skill <ids>', 'Skill identifier(s) to register, comma-separated (id or exact name); enables non-interactive mode')
23
+ .option('--scope <scope>', 'Storage scope for non-interactive registration: global or local')
24
+ .option('-y, --yes', 'Run non-interactively; requires --skill, --scope and --agent')
18
25
  .option('-v, --verbose', 'Enable verbose debug output')
19
26
  .action(async (options) => {
20
27
  if (options.verbose) {
@@ -75,6 +82,9 @@ async function showDisclaimer() {
75
82
  });
76
83
  }
77
84
  async function setupSkills(options, hostAgent) {
85
+ if (isHeadlessMode(options, process.stdin.isTTY === true)) {
86
+ return setupSkillsHeadless(options, hostAgent);
87
+ }
78
88
  const profileName = options.profile ?? await ConfigLoader.getActiveProfileName() ?? 'default';
79
89
  const workingDir = process.cwd();
80
90
  const proceed = await showDisclaimer();
@@ -102,31 +112,192 @@ async function setupSkills(options, hostAgent) {
102
112
  console.log(chalk.yellow('\nNo changes to apply.\n'));
103
113
  return;
104
114
  }
115
+ // Pre-flight: fetchSkillsByIds already read every selected skill's details, so
116
+ // any unreadable one has aborted the run before the first write.
117
+ const details = new Map(selectedSkills.map(skill => [skill.id, skill]));
105
118
  for (const skill of toUnregister) {
106
119
  await unregisterSkill(skill, storageScope, workingDir, target);
107
120
  }
108
- const newlyRegistered = [];
109
- for (const skill of toRegister) {
110
- const detail = await fetcher.fetchSkillById(skill.id);
111
- const registered = await registerSkill(detail, storageScope, workingDir, target);
112
- if (registered) {
113
- newlyRegistered.push(registered);
114
- }
121
+ await registerAndSaveSkills({
122
+ toRegister,
123
+ details,
124
+ carriedOver: registeredSkills.filter(s => selectedIds.includes(s.id)),
125
+ unregisteredCount: toUnregister.length,
126
+ scope: storageScope,
127
+ workingDir,
128
+ target,
129
+ });
130
+ }
131
+ /**
132
+ * Writes the selected skills from their pre-fetched details and saves the config,
133
+ * including when the batch aborts partway: whatever reached disk is recorded before
134
+ * the error propagates, so the config never claims less than what exists.
135
+ */
136
+ async function registerAndSaveSkills(params) {
137
+ const { toRegister, details, carriedOver, scope, workingDir, target } = params;
138
+ const written = [];
139
+ const save = (items) => ConfigLoader.saveSkillsToProjectConfig(workingDir, scope, items);
140
+ try {
141
+ const newlyRegistered = await registerAllOrAbort(toRegister, (skill) => skill.name, async (skill) => {
142
+ const registration = await registerSkill(requireSkillDetail(details, skill.id), scope, workingDir, target);
143
+ written.push(registration);
144
+ return registration;
145
+ });
146
+ await save([...carriedOver, ...newlyRegistered]);
147
+ printSkillsSummary(newlyRegistered.length, params.unregisteredCount, scope, workingDir, target);
115
148
  }
116
- const updatedSkills = [
117
- ...registeredSkills.filter(s => selectedIds.includes(s.id)),
118
- ...newlyRegistered,
119
- ];
120
- await ConfigLoader.saveSkillsToProjectConfig(workingDir, storageScope, updatedSkills);
121
- const configLocation = ConfigLoader.getConfigLocationLabel(storageScope, workingDir);
149
+ catch (error) {
150
+ await persistPartialWrites(written, carriedOver, save);
151
+ throw error;
152
+ }
153
+ }
154
+ /**
155
+ * Fetches the detail payload of every skill that is about to be written. This is the
156
+ * call that proves the caller can actually read the skill, so it runs for the whole
157
+ * batch up front: inside the write loop, a 403 on the last skill would abort only
158
+ * after earlier artifacts had already been written.
159
+ */
160
+ async function prefetchSkillDetails(skills, fetcher) {
161
+ const details = new Map();
162
+ for (const skill of skills) {
163
+ details.set(skill.id, await fetcher.fetchSkillById(skill.id));
164
+ }
165
+ return details;
166
+ }
167
+ function requireSkillDetail(details, id) {
168
+ const detail = details.get(id);
169
+ if (!detail) {
170
+ throw new RegistrationItemNotFoundError('skill', id);
171
+ }
172
+ return detail;
173
+ }
174
+ function printSkillsSummary(registeredCount, unregisteredCount, scope, workingDir, target) {
175
+ const configLocation = ConfigLoader.getConfigLocationLabel(scope, workingDir);
122
176
  console.log('');
123
- if (newlyRegistered.length > 0) {
124
- console.log(chalk.green(`✓ Registered ${newlyRegistered.length} skill(s)`));
177
+ if (registeredCount > 0) {
178
+ console.log(chalk.green(`✓ Registered ${registeredCount} skill(s)`));
125
179
  }
126
- if (toUnregister.length > 0) {
127
- console.log(chalk.yellow(`○ Unregistered ${toUnregister.length} skill(s)`));
180
+ if (unregisteredCount > 0) {
181
+ console.log(chalk.yellow(`○ Unregistered ${unregisteredCount} skill(s)`));
128
182
  }
129
183
  console.log(chalk.dim(`\nSkills saved to: ${configLocation}`));
130
184
  console.log(chalk.dim(`Skills are available for ${formatAgentSetupTarget(target)}.\n`));
131
185
  }
186
+ /**
187
+ * Prints the same "skills have no tools/MCP servers" notice as the interactive
188
+ * `showDisclaimer()`, minus the ANSI screen control and the Enter/Ctrl+C prompt.
189
+ * Headless mode treats this as informational only, never a consent gate: it is
190
+ * printed through `console.log` and execution continues without reading stdin.
191
+ */
192
+ function printSkillsNotice() {
193
+ console.log('');
194
+ console.log(chalk.yellow(' ⚠ Skills are installed without tools or MCP servers.'));
195
+ console.log('');
196
+ console.log(chalk.white(' If you need tools or MCP servers with your skill:'));
197
+ console.log(chalk.white(' 1. Go to ') + chalk.cyan('https://codemie.lab.epam.com/assistants'));
198
+ console.log(chalk.white(' 2. Create an assistant and attach your skill to it'));
199
+ console.log(chalk.white(' 3. Run: ') + chalk.cyan('codemie assistants setup') + chalk.white(' to install the assistant as a skill'));
200
+ console.log('');
201
+ }
202
+ /**
203
+ * Non-interactive branch of `codemie setup skills`. Every prompt (skill
204
+ * selection, storage scope, agent target detection/selection, the disclaimer's
205
+ * Enter gate) is skipped in favour of flags, validated up front so an invalid
206
+ * or missing flag, or an unresolvable identifier, aborts before any network
207
+ * call or write happens.
208
+ */
209
+ export async function setupSkillsHeadless(options, hostAgent) {
210
+ const profileName = options.profile ?? await ConfigLoader.getActiveProfileName() ?? 'default';
211
+ const workingDir = process.cwd();
212
+ logger.debug('Setting up skills (headless)', { profileName, options, hostAgent });
213
+ const { identifiers, storageScope, target } = parseHeadlessSkillFlags(options, hostAgent);
214
+ printSkillsNotice();
215
+ const config = await ConfigLoader.load(workingDir, { name: profileName });
216
+ const client = await getAuthenticatedClient(config, { nonInteractive: true });
217
+ const registeredSkills = await ConfigLoader.loadSkillsByScope(storageScope, workingDir, profileName);
218
+ const fetcher = createSkillDataFetcher({ client, registeredSkills });
219
+ const catalog = await fetcher.fetchAllVisibleSkills();
220
+ const resolvedSkills = resolveIdentifiers('skill', identifiers, catalog);
221
+ const selectedIds = Array.from(new Set(resolvedSkills.map(skill => skill.id)));
222
+ const { inScope } = partitionRegisteredByRequest(registeredSkills, selectedIds);
223
+ // Headless registration is purely additive: every already-registered skill the
224
+ // request does not name survives the save untouched.
225
+ const carryOver = (written) => {
226
+ const writtenIds = new Set(written.map(skill => skill.id));
227
+ return registeredSkills.filter(skill => !writtenIds.has(skill.id));
228
+ };
229
+ const written = [];
230
+ const save = (items) => ConfigLoader.saveSkillsToProjectConfig(workingDir, storageScope, items);
231
+ try {
232
+ const { newlyRegistered, unregistered } = await applySkillChanges({ selectedIds, catalog, registeredSkills: inScope, scope: storageScope, workingDir, target, fetcher }, written);
233
+ if (newlyRegistered.length === 0 && unregistered.length === 0) {
234
+ return;
235
+ }
236
+ await save([...carryOver(newlyRegistered), ...newlyRegistered]);
237
+ printSkillsSummary(newlyRegistered.length, unregistered.length, storageScope, workingDir, target);
238
+ }
239
+ catch (error) {
240
+ await persistPartialWrites(written, carryOver(written), save);
241
+ throw error;
242
+ }
243
+ }
244
+ /**
245
+ * Validates and parses every headless input before any network call or write, so a
246
+ * missing or invalid flag aborts with an error naming it. `--agent` may come from
247
+ * the hosting agent (`codemie-<agent> setup skills`); nothing else is inferred.
248
+ */
249
+ function parseHeadlessSkillFlags(options, hostAgent) {
250
+ return {
251
+ identifiers: parseListFlag(requireFlag(options.skill, '--skill')),
252
+ storageScope: parseScopeFlag(requireFlag(options.scope, '--scope')),
253
+ target: resolveHeadlessAgentTarget(options.agent, hostAgent),
254
+ };
255
+ }
256
+ async function applySkillChanges(params,
257
+ /** Collects each registration as it reaches disk, so a caller can record a partial batch. */
258
+ writeSink) {
259
+ const { selectedIds, catalog, registeredSkills, scope, workingDir, target, fetcher } = params;
260
+ const { toRegister, toUnregister } = determineChanges(selectedIds, catalog, registeredSkills);
261
+ const selectedSet = new Set(selectedIds);
262
+ const toReregister = registeredSkills.filter(s => selectedSet.has(s.id));
263
+ if (toRegister.length === 0 && toUnregister.length === 0 && toReregister.length === 0) {
264
+ console.log(chalk.yellow('\nNo changes to apply.\n'));
265
+ return { newlyRegistered: [], unregistered: [] };
266
+ }
267
+ const allToRegister = [...toRegister, ...getFullSkills(toReregister, catalog)];
268
+ // Pre-flight: prove every skill is readable before the first artifact is written,
269
+ // and before any existing registration is removed.
270
+ const details = await prefetchSkillDetails(allToRegister, fetcher);
271
+ for (const skill of toUnregister) {
272
+ await unregisterSkill(skill, scope, workingDir, target);
273
+ }
274
+ const previousById = new Map(toReregister.map(skill => [skill.id, skill]));
275
+ const newlyRegistered = await registerAllOrAbort(allToRegister, (skill) => skill.name, (skill) => writeOneSkill(skill, {
276
+ details,
277
+ previous: previousById.get(skill.id),
278
+ scope,
279
+ workingDir,
280
+ target,
281
+ writeSink,
282
+ }));
283
+ return { newlyRegistered, unregistered: toUnregister };
284
+ }
285
+ async function writeOneSkill(skill, context) {
286
+ const { details, previous, scope, workingDir, target, writeSink } = context;
287
+ // A re-registration removes its previous artifacts immediately before the
288
+ // replacement is written, never up front for the whole batch: an earlier
289
+ // failure would otherwise leave a working skill deleted and unwritten.
290
+ if (previous) {
291
+ await unregisterSkill(previous, scope, workingDir, target);
292
+ }
293
+ const registration = await registerSkill(requireSkillDetail(details, skill.id), scope, workingDir, target);
294
+ writeSink?.push(registration);
295
+ return registration;
296
+ }
297
+ function getFullSkills(skills, catalog) {
298
+ const byId = new Map(catalog.map(item => [item.id, item]));
299
+ return skills
300
+ .map(skill => byId.get(skill.id))
301
+ .filter((item) => item !== undefined);
302
+ }
132
303
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tips command - Browse the feature tips shown at session start and end
3
+ *
4
+ * Also serves as the staleness check for the tip catalog: tips whose
5
+ * `command` reference no longer matches a registered CLI command are dropped
6
+ * from the output and flagged via logger.debug.
7
+ */
8
+ import { Command } from 'commander';
9
+ export declare function createTipsCommand(): Command;
10
+ //# sourceMappingURL=tips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tips.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tips.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,iBAAiB,IAAI,OAAO,CAkC3C"}