@codemieai/code 0.0.58 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +56 -15
  2. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  3. package/dist/agents/core/BaseAgentAdapter.js +3 -0
  4. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  5. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  6. package/dist/agents/plugins/claude/claude.plugin.js +18 -0
  7. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  8. package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
  9. package/dist/agents/plugins/claude/plugin/commands/README.md +2 -31
  10. package/dist/agents/plugins/claude/plugin/commands/codemie-catchup.md +5 -0
  11. package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +42 -43
  12. package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +5 -0
  13. package/dist/agents/plugins/claude/plugin/commands/handoff.md +56 -0
  14. package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +5 -0
  15. package/dist/agents/plugins/claude/plugin/hooks/hooks.json +1 -1
  16. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-rewrite.sh +101 -0
  17. package/dist/agents/plugins/claude/plugin/skills/msgraph/README.md +4 -1
  18. package/dist/agents/plugins/claude/plugin/skills/msgraph/SKILL.md +27 -8
  19. package/dist/agents/plugins/claude/plugin/skills/msgraph/scripts/msgraph.js +63 -3
  20. package/dist/agents/plugins/claude/plugin/skills/report-issue/SKILL.md +1 -0
  21. package/dist/assets/demo.gif +0 -0
  22. package/dist/assets/skills-sh-egress-guard.cjs +166 -0
  23. package/dist/cli/commands/assistants/setup/constants.d.ts +1 -25
  24. package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -1
  25. package/dist/cli/commands/assistants/setup/constants.js +1 -20
  26. package/dist/cli/commands/assistants/setup/constants.js.map +1 -1
  27. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts +4 -4
  28. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -1
  29. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js +11 -10
  30. package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -1
  31. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +4 -4
  32. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -1
  33. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +11 -9
  34. package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -1
  35. package/dist/cli/commands/assistants/setup/helpers.d.ts +4 -18
  36. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  37. package/dist/cli/commands/assistants/setup/helpers.js +10 -60
  38. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  39. package/dist/cli/commands/assistants/setup/index.d.ts +0 -8
  40. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  41. package/dist/cli/commands/assistants/setup/index.js +20 -164
  42. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  43. package/dist/cli/commands/assistants/setup/selection/actions.d.ts +1 -30
  44. package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -1
  45. package/dist/cli/commands/assistants/setup/selection/actions.js +1 -320
  46. package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -1
  47. package/dist/cli/commands/assistants/setup/selection/constants.d.ts +3 -65
  48. package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -1
  49. package/dist/cli/commands/assistants/setup/selection/constants.js +4 -81
  50. package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -1
  51. package/dist/cli/commands/assistants/setup/selection/index.d.ts +1 -9
  52. package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -1
  53. package/dist/cli/commands/assistants/setup/selection/index.js +14 -34
  54. package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -1
  55. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +1 -19
  56. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -1
  57. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +1 -338
  58. package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -1
  59. package/dist/cli/commands/assistants/setup/selection/types.d.ts +7 -23
  60. package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -1
  61. package/dist/cli/commands/assistants/setup/selection/ui.d.ts +0 -8
  62. package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -1
  63. package/dist/cli/commands/assistants/setup/selection/ui.js +7 -123
  64. package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -1
  65. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  66. package/dist/cli/commands/doctor/index.js +10 -1
  67. package/dist/cli/commands/doctor/index.js.map +1 -1
  68. package/dist/cli/commands/proxy/connectors/desktop-managed-mcp-servers.json +50 -0
  69. package/dist/cli/commands/proxy/connectors/desktop.d.ts +13 -3
  70. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  71. package/dist/cli/commands/proxy/connectors/desktop.js +47 -4
  72. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  73. package/dist/cli/commands/proxy/index.d.ts.map +1 -1
  74. package/dist/cli/commands/proxy/index.js +89 -52
  75. package/dist/cli/commands/proxy/index.js.map +1 -1
  76. package/dist/cli/commands/setup.d.ts.map +1 -1
  77. package/dist/cli/commands/setup.js +2 -0
  78. package/dist/cli/commands/setup.js.map +1 -1
  79. package/dist/cli/commands/shared/constants.d.ts +15 -0
  80. package/dist/cli/commands/shared/constants.d.ts.map +1 -0
  81. package/dist/cli/commands/shared/constants.js +10 -0
  82. package/dist/cli/commands/shared/constants.js.map +1 -0
  83. package/dist/cli/commands/shared/helpers.d.ts +12 -0
  84. package/dist/cli/commands/shared/helpers.d.ts.map +1 -0
  85. package/dist/cli/commands/shared/helpers.js +54 -0
  86. package/dist/cli/commands/shared/helpers.js.map +1 -0
  87. package/dist/cli/commands/shared/prompts/storage-scope.d.ts +6 -0
  88. package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -0
  89. package/dist/cli/commands/shared/prompts/storage-scope.js +84 -0
  90. package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -0
  91. package/dist/cli/commands/shared/selection/actions.d.ts +40 -0
  92. package/dist/cli/commands/shared/selection/actions.d.ts.map +1 -0
  93. package/dist/cli/commands/shared/selection/actions.js +264 -0
  94. package/dist/cli/commands/shared/selection/actions.js.map +1 -0
  95. package/dist/cli/commands/shared/selection/constants.d.ts +68 -0
  96. package/dist/cli/commands/shared/selection/constants.d.ts.map +1 -0
  97. package/dist/cli/commands/shared/selection/constants.js +70 -0
  98. package/dist/cli/commands/shared/selection/constants.js.map +1 -0
  99. package/dist/cli/commands/shared/selection/interactive-prompt.d.ts +16 -0
  100. package/dist/cli/commands/shared/selection/interactive-prompt.d.ts.map +1 -0
  101. package/dist/cli/commands/shared/selection/interactive-prompt.js +276 -0
  102. package/dist/cli/commands/shared/selection/interactive-prompt.js.map +1 -0
  103. package/dist/cli/commands/shared/selection/types.d.ts +31 -0
  104. package/dist/cli/commands/shared/selection/types.d.ts.map +1 -0
  105. package/dist/cli/commands/shared/selection/types.js +2 -0
  106. package/dist/cli/commands/shared/selection/types.js.map +1 -0
  107. package/dist/cli/commands/shared/selection/ui.d.ts +9 -0
  108. package/dist/cli/commands/shared/selection/ui.d.ts.map +1 -0
  109. package/dist/cli/commands/shared/selection/ui.js +92 -0
  110. package/dist/cli/commands/shared/selection/ui.js.map +1 -0
  111. package/dist/cli/commands/skills/add.d.ts +9 -0
  112. package/dist/cli/commands/skills/add.d.ts.map +1 -0
  113. package/dist/cli/commands/skills/add.js +187 -0
  114. package/dist/cli/commands/skills/add.js.map +1 -0
  115. package/dist/cli/commands/skills/find.d.ts +17 -0
  116. package/dist/cli/commands/skills/find.d.ts.map +1 -0
  117. package/dist/cli/commands/skills/find.js +94 -0
  118. package/dist/cli/commands/skills/find.js.map +1 -0
  119. package/dist/cli/commands/skills/index.d.ts +10 -0
  120. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  121. package/dist/cli/commands/skills/index.js +23 -0
  122. package/dist/cli/commands/skills/index.js.map +1 -0
  123. package/dist/cli/commands/skills/lib/agent-detection.d.ts +27 -0
  124. package/dist/cli/commands/skills/lib/agent-detection.d.ts.map +1 -0
  125. package/dist/cli/commands/skills/lib/agent-detection.js +50 -0
  126. package/dist/cli/commands/skills/lib/agent-detection.js.map +1 -0
  127. package/dist/cli/commands/skills/lib/error-classify.d.ts +14 -0
  128. package/dist/cli/commands/skills/lib/error-classify.d.ts.map +1 -0
  129. package/dist/cli/commands/skills/lib/error-classify.js +64 -0
  130. package/dist/cli/commands/skills/lib/error-classify.js.map +1 -0
  131. package/dist/cli/commands/skills/lib/require-auth.d.ts +17 -0
  132. package/dist/cli/commands/skills/lib/require-auth.d.ts.map +1 -0
  133. package/dist/cli/commands/skills/lib/require-auth.js +44 -0
  134. package/dist/cli/commands/skills/lib/require-auth.js.map +1 -0
  135. package/dist/cli/commands/skills/lib/result-render.d.ts +26 -0
  136. package/dist/cli/commands/skills/lib/result-render.d.ts.map +1 -0
  137. package/dist/cli/commands/skills/lib/result-render.js +77 -0
  138. package/dist/cli/commands/skills/lib/result-render.js.map +1 -0
  139. package/dist/cli/commands/skills/lib/run-skills-cli.d.ts +46 -0
  140. package/dist/cli/commands/skills/lib/run-skills-cli.d.ts.map +1 -0
  141. package/dist/cli/commands/skills/lib/run-skills-cli.js +217 -0
  142. package/dist/cli/commands/skills/lib/run-skills-cli.js.map +1 -0
  143. package/dist/cli/commands/skills/lib/sanitize.d.ts +17 -0
  144. package/dist/cli/commands/skills/lib/sanitize.d.ts.map +1 -0
  145. package/dist/cli/commands/skills/lib/sanitize.js +73 -0
  146. package/dist/cli/commands/skills/lib/sanitize.js.map +1 -0
  147. package/dist/cli/commands/skills/lib/skills-metrics.d.ts +74 -0
  148. package/dist/cli/commands/skills/lib/skills-metrics.d.ts.map +1 -0
  149. package/dist/cli/commands/skills/lib/skills-metrics.js +268 -0
  150. package/dist/cli/commands/skills/lib/skills-metrics.js.map +1 -0
  151. package/dist/cli/commands/skills/lib/skills-search-client.d.ts +36 -0
  152. package/dist/cli/commands/skills/lib/skills-search-client.d.ts.map +1 -0
  153. package/dist/cli/commands/skills/lib/skills-search-client.js +147 -0
  154. package/dist/cli/commands/skills/lib/skills-search-client.js.map +1 -0
  155. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts +10 -0
  156. package/dist/cli/commands/skills/lib/skills-sh-telemetry.d.ts.map +1 -0
  157. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js +33 -0
  158. package/dist/cli/commands/skills/lib/skills-sh-telemetry.js.map +1 -0
  159. package/dist/cli/commands/skills/list.d.ts +13 -0
  160. package/dist/cli/commands/skills/list.d.ts.map +1 -0
  161. package/dist/cli/commands/skills/list.js +55 -0
  162. package/dist/cli/commands/skills/list.js.map +1 -0
  163. package/dist/cli/commands/skills/remove.d.ts +11 -0
  164. package/dist/cli/commands/skills/remove.d.ts.map +1 -0
  165. package/dist/cli/commands/skills/remove.js +93 -0
  166. package/dist/cli/commands/skills/remove.js.map +1 -0
  167. package/dist/cli/commands/skills/setup/constants.d.ts +2 -0
  168. package/dist/cli/commands/skills/setup/constants.d.ts.map +1 -0
  169. package/dist/cli/commands/skills/setup/constants.js +2 -0
  170. package/dist/cli/commands/skills/setup/constants.js.map +1 -0
  171. package/dist/cli/commands/skills/setup/data.d.ts +28 -0
  172. package/dist/cli/commands/skills/setup/data.d.ts.map +1 -0
  173. package/dist/cli/commands/skills/setup/data.js +79 -0
  174. package/dist/cli/commands/skills/setup/data.js.map +1 -0
  175. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts +12 -0
  176. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.d.ts.map +1 -0
  177. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js +94 -0
  178. package/dist/cli/commands/skills/setup/generators/claude-skill-generator.js.map +1 -0
  179. package/dist/cli/commands/skills/setup/helpers.d.ts +12 -0
  180. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -0
  181. package/dist/cli/commands/skills/setup/helpers.js +31 -0
  182. package/dist/cli/commands/skills/setup/helpers.js.map +1 -0
  183. package/dist/cli/commands/skills/setup/index.d.ts +5 -0
  184. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -0
  185. package/dist/cli/commands/skills/setup/index.js +137 -0
  186. package/dist/cli/commands/skills/setup/index.js.map +1 -0
  187. package/dist/cli/commands/skills/setup/selection/actions.d.ts +2 -0
  188. package/dist/cli/commands/skills/setup/selection/actions.d.ts.map +1 -0
  189. package/dist/cli/commands/skills/setup/selection/actions.js +2 -0
  190. package/dist/cli/commands/skills/setup/selection/actions.js.map +1 -0
  191. package/dist/cli/commands/skills/setup/selection/constants.d.ts +11 -0
  192. package/dist/cli/commands/skills/setup/selection/constants.d.ts.map +1 -0
  193. package/dist/cli/commands/skills/setup/selection/constants.js +11 -0
  194. package/dist/cli/commands/skills/setup/selection/constants.js.map +1 -0
  195. package/dist/cli/commands/skills/setup/selection/index.d.ts +13 -0
  196. package/dist/cli/commands/skills/setup/selection/index.d.ts.map +1 -0
  197. package/dist/cli/commands/skills/setup/selection/index.js +113 -0
  198. package/dist/cli/commands/skills/setup/selection/index.js.map +1 -0
  199. package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts +2 -0
  200. package/dist/cli/commands/skills/setup/selection/interactive-prompt.d.ts.map +1 -0
  201. package/dist/cli/commands/skills/setup/selection/interactive-prompt.js +2 -0
  202. package/dist/cli/commands/skills/setup/selection/interactive-prompt.js.map +1 -0
  203. package/dist/cli/commands/skills/setup/selection/types.d.ts +13 -0
  204. package/dist/cli/commands/skills/setup/selection/types.d.ts.map +1 -0
  205. package/dist/cli/commands/skills/setup/selection/types.js +2 -0
  206. package/dist/cli/commands/skills/setup/selection/types.js.map +1 -0
  207. package/dist/cli/commands/skills/setup/selection/ui.d.ts +3 -0
  208. package/dist/cli/commands/skills/setup/selection/ui.d.ts.map +1 -0
  209. package/dist/cli/commands/skills/setup/selection/ui.js +68 -0
  210. package/dist/cli/commands/skills/setup/selection/ui.js.map +1 -0
  211. package/dist/cli/commands/skills/setup/sync.d.ts +13 -0
  212. package/dist/cli/commands/skills/setup/sync.d.ts.map +1 -0
  213. package/dist/cli/commands/skills/setup/sync.js +46 -0
  214. package/dist/cli/commands/skills/setup/sync.js.map +1 -0
  215. package/dist/cli/commands/skills/update.d.ts +7 -0
  216. package/dist/cli/commands/skills/update.d.ts.map +1 -0
  217. package/dist/cli/commands/skills/update.js +71 -0
  218. package/dist/cli/commands/skills/update.js.map +1 -0
  219. package/dist/cli/first-time.d.ts.map +1 -1
  220. package/dist/cli/first-time.js +4 -0
  221. package/dist/cli/first-time.js.map +1 -1
  222. package/dist/cli/index.js +2 -0
  223. package/dist/cli/index.js.map +1 -1
  224. package/dist/env/types.d.ts +14 -0
  225. package/dist/env/types.d.ts.map +1 -1
  226. package/dist/env/types.js.map +1 -1
  227. package/dist/providers/core/types.d.ts +1 -1
  228. package/dist/providers/core/types.d.ts.map +1 -1
  229. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.d.ts.map +1 -1
  230. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js +26 -2
  231. package/dist/providers/plugins/anthropic-subscription/anthropic-subscription.template.js.map +1 -1
  232. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts +31 -0
  233. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -0
  234. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +148 -0
  235. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -0
  236. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +12 -13
  237. package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
  238. package/dist/providers/plugins/sso/proxy/plugins/index.js +15 -17
  239. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  240. package/dist/providers/plugins/sso/sso.http-client.d.ts +1 -1
  241. package/dist/providers/plugins/sso/sso.http-client.js +3 -3
  242. package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
  243. package/dist/providers/plugins/sso/sso.models.js +2 -2
  244. package/dist/providers/plugins/sso/sso.models.js.map +1 -1
  245. package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
  246. package/dist/providers/plugins/sso/sso.setup-steps.js +6 -10
  247. package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
  248. package/dist/utils/config.d.ts +14 -3
  249. package/dist/utils/config.d.ts.map +1 -1
  250. package/dist/utils/config.js +95 -5
  251. package/dist/utils/config.js.map +1 -1
  252. package/package.json +22 -10
  253. package/scripts/copy-plugins.js +5 -0
  254. package/scripts/sonar/package.json +3 -0
  255. package/scripts/sonar/run-local-sonar.js +405 -0
  256. package/dist/agents/plugins/claude/plugin/commands/codemie-commit.md +0 -31
  257. package/dist/agents/plugins/claude/plugin/scripts/bash/rtk-auto-wrapper.sh +0 -81
  258. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts +0 -30
  259. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.d.ts.map +0 -1
  260. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js +0 -111
  261. package/dist/providers/plugins/sso/proxy/plugins/claude-thinking-transformer.plugin.js.map +0 -1
@@ -0,0 +1,264 @@
1
+ import { PANEL_IDS, CONFIG, PAGINATION_CONTROL } from './constants.js';
2
+ import { logger } from '../../../../utils/logger.js';
3
+ export function createActionHandlers(deps) {
4
+ const label = deps.entityLabel ?? 'Item';
5
+ function rotatePanelIndex(direction) {
6
+ const currentIndex = PANEL_IDS.indexOf(deps.state.activePanelId);
7
+ const offset = direction === 'next' ? 1 : -1;
8
+ const nextIndex = (currentIndex + offset + PANEL_IDS.length) % PANEL_IDS.length;
9
+ return PANEL_IDS[nextIndex];
10
+ }
11
+ function setActivePanel(panelId) {
12
+ deps.state.activePanelId = panelId;
13
+ deps.state.panels.forEach(panel => {
14
+ panel.isActive = panel.id === deps.state.activePanelId;
15
+ });
16
+ }
17
+ async function fetchActivePanelData() {
18
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
19
+ activePanel.isFetching = true;
20
+ activePanel.error = null;
21
+ let timeoutId = null;
22
+ try {
23
+ const fetchPromise = deps.fetchItems({
24
+ scope: deps.state.activePanelId,
25
+ searchQuery: deps.state.searchQuery,
26
+ page: activePanel.currentPage,
27
+ });
28
+ const timeoutPromise = new Promise((_, reject) => {
29
+ timeoutId = setTimeout(() => reject(new Error(`Fetch timeout after ${CONFIG.FETCH_TIMEOUT_MS / 1000} seconds`)), CONFIG.FETCH_TIMEOUT_MS);
30
+ });
31
+ const result = await Promise.race([fetchPromise, timeoutPromise]);
32
+ if (timeoutId) {
33
+ clearTimeout(timeoutId);
34
+ timeoutId = null;
35
+ }
36
+ activePanel.data = result.data;
37
+ activePanel.filteredData = result.data;
38
+ activePanel.totalItems = result.total;
39
+ activePanel.totalPages = result.pages;
40
+ }
41
+ catch (error) {
42
+ if (timeoutId) {
43
+ clearTimeout(timeoutId);
44
+ timeoutId = null;
45
+ }
46
+ activePanel.error = error instanceof Error ? error.message : 'Unknown error';
47
+ activePanel.data = [];
48
+ activePanel.filteredData = [];
49
+ activePanel.totalItems = 0;
50
+ activePanel.totalPages = 0;
51
+ }
52
+ finally {
53
+ activePanel.isFetching = false;
54
+ }
55
+ }
56
+ function fetchActivePanelDataBackground() {
57
+ fetchActivePanelData()
58
+ .then(() => {
59
+ const prompt = deps.prompt();
60
+ if (prompt) {
61
+ prompt.render();
62
+ }
63
+ })
64
+ .catch((error) => {
65
+ console.error('Error fetching panel data:', error);
66
+ const prompt = deps.prompt();
67
+ if (prompt) {
68
+ prompt.render();
69
+ }
70
+ });
71
+ }
72
+ function handlePanelSwitch(direction) {
73
+ const newPanelId = rotatePanelIndex(direction);
74
+ setActivePanel(newPanelId);
75
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
76
+ activePanel.currentPage = 0;
77
+ deps.state.isPaginationFocused = null;
78
+ deps.state.searchQuery = '';
79
+ setTimeout(() => fetchActivePanelDataBackground(), 0);
80
+ }
81
+ function handleSearchUpdate(query) {
82
+ deps.state.searchQuery = query;
83
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
84
+ activePanel.currentPage = 0;
85
+ deps.state.isPaginationFocused = null;
86
+ setTimeout(() => fetchActivePanelDataBackground(), 0);
87
+ }
88
+ function handleFocusSearch() {
89
+ deps.state.isSearchFocused = true;
90
+ }
91
+ function handleFocusList() {
92
+ deps.state.isSearchFocused = false;
93
+ }
94
+ function handleCursorMove(direction) {
95
+ const prompt = deps.prompt();
96
+ if (!prompt)
97
+ return;
98
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
99
+ const totalPages = activePanel.totalPages;
100
+ const hasPaginationControls = totalPages > 1;
101
+ const maxIndex = activePanel.filteredData.length - 1;
102
+ const currentIndex = prompt.getCursorIndex();
103
+ if (direction === 'up') {
104
+ if (deps.state.areNavigationButtonsFocused) {
105
+ deps.state.areNavigationButtonsFocused = false;
106
+ if (hasPaginationControls) {
107
+ deps.state.isPaginationFocused = PAGINATION_CONTROL.NEXT;
108
+ }
109
+ else {
110
+ prompt.setCursorIndex(maxIndex);
111
+ }
112
+ }
113
+ else if (deps.state.isPaginationFocused !== null) {
114
+ deps.state.isPaginationFocused = null;
115
+ prompt.setCursorIndex(maxIndex);
116
+ }
117
+ else {
118
+ const newIndex = Math.max(0, currentIndex - 1);
119
+ prompt.setCursorIndex(newIndex);
120
+ }
121
+ }
122
+ else {
123
+ if (deps.state.isPaginationFocused === PAGINATION_CONTROL.NEXT) {
124
+ deps.state.isPaginationFocused = null;
125
+ deps.state.areNavigationButtonsFocused = true;
126
+ deps.state.focusedButton = 'continue';
127
+ }
128
+ else if (currentIndex === maxIndex && hasPaginationControls && deps.state.isPaginationFocused === null) {
129
+ deps.state.isPaginationFocused = PAGINATION_CONTROL.PREV;
130
+ }
131
+ else if (deps.state.isPaginationFocused === PAGINATION_CONTROL.PREV) {
132
+ deps.state.isPaginationFocused = PAGINATION_CONTROL.NEXT;
133
+ }
134
+ else if (currentIndex === maxIndex && !hasPaginationControls && !deps.state.areNavigationButtonsFocused) {
135
+ deps.state.areNavigationButtonsFocused = true;
136
+ deps.state.focusedButton = 'continue';
137
+ }
138
+ else if (deps.state.isPaginationFocused === null && !deps.state.areNavigationButtonsFocused) {
139
+ const newIndex = Math.min(maxIndex, currentIndex + 1);
140
+ prompt.setCursorIndex(newIndex);
141
+ }
142
+ }
143
+ }
144
+ function handleToggleSelection() {
145
+ const prompt = deps.prompt();
146
+ if (!prompt)
147
+ return;
148
+ if (deps.state.isPaginationFocused === PAGINATION_CONTROL.PREV) {
149
+ handlePagePrev();
150
+ return;
151
+ }
152
+ else if (deps.state.isPaginationFocused === PAGINATION_CONTROL.NEXT) {
153
+ handlePageNext();
154
+ return;
155
+ }
156
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
157
+ const cursorIndex = prompt.getCursorIndex();
158
+ if (cursorIndex >= 0 && cursorIndex < activePanel.filteredData.length) {
159
+ const item = activePanel.filteredData[cursorIndex];
160
+ if (deps.state.selectedIds.has(item.id)) {
161
+ deps.state.selectedIds.delete(item.id);
162
+ logger.debug(`[${label}Selection] Deselected ${label.toLowerCase()}`, {
163
+ id: item.id,
164
+ name: item.name,
165
+ panel: deps.state.activePanelId,
166
+ totalSelected: deps.state.selectedIds.size,
167
+ });
168
+ }
169
+ else {
170
+ deps.state.selectedIds.add(item.id);
171
+ logger.debug(`[${label}Selection] Selected ${label.toLowerCase()}`, {
172
+ id: item.id,
173
+ name: item.name,
174
+ panel: deps.state.activePanelId,
175
+ totalSelected: deps.state.selectedIds.size,
176
+ });
177
+ }
178
+ }
179
+ }
180
+ function handleConfirm() {
181
+ if (deps.state.areNavigationButtonsFocused) {
182
+ if (deps.state.focusedButton === 'continue') {
183
+ logger.debug(`[${label}Selection] Confirming selection via Continue button`, {
184
+ totalSelected: deps.state.selectedIds.size,
185
+ selectedIds: Array.from(deps.state.selectedIds),
186
+ });
187
+ deps.setCancelled(false);
188
+ const prompt = deps.prompt();
189
+ if (prompt) {
190
+ prompt.stop();
191
+ }
192
+ }
193
+ else {
194
+ handleCancel();
195
+ }
196
+ return;
197
+ }
198
+ logger.debug(`[${label}Selection] Confirming selection`, {
199
+ totalSelected: deps.state.selectedIds.size,
200
+ selectedIds: Array.from(deps.state.selectedIds),
201
+ });
202
+ deps.setCancelled(false);
203
+ const prompt = deps.prompt();
204
+ if (prompt) {
205
+ prompt.stop();
206
+ }
207
+ }
208
+ function handleCancel() {
209
+ deps.setCancelled(true);
210
+ const prompt = deps.prompt();
211
+ if (prompt) {
212
+ prompt.stop();
213
+ }
214
+ }
215
+ function handlePageNext() {
216
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
217
+ const totalPages = activePanel.totalPages;
218
+ if (activePanel.currentPage < totalPages - 1) {
219
+ activePanel.currentPage++;
220
+ setTimeout(() => fetchActivePanelDataBackground(), 0);
221
+ }
222
+ }
223
+ function handlePagePrev() {
224
+ const activePanel = deps.state.panels.find(p => p.id === deps.state.activePanelId);
225
+ if (activePanel.currentPage > 0) {
226
+ activePanel.currentPage--;
227
+ setTimeout(() => fetchActivePanelDataBackground(), 0);
228
+ }
229
+ }
230
+ function handleButtonToggle() {
231
+ if (deps.state.areNavigationButtonsFocused) {
232
+ deps.state.areNavigationButtonsFocused = false;
233
+ const prompt = deps.prompt();
234
+ if (prompt) {
235
+ prompt.setCursorIndex(0);
236
+ }
237
+ }
238
+ else {
239
+ deps.state.areNavigationButtonsFocused = true;
240
+ deps.state.isPaginationFocused = null;
241
+ deps.state.focusedButton = 'continue';
242
+ }
243
+ }
244
+ function handleButtonSwitch(_direction) {
245
+ if (deps.state.areNavigationButtonsFocused) {
246
+ deps.state.focusedButton = deps.state.focusedButton === 'continue' ? 'cancel' : 'continue';
247
+ }
248
+ }
249
+ return {
250
+ handlePanelSwitch,
251
+ handleSearchUpdate,
252
+ handleFocusSearch,
253
+ handleFocusList,
254
+ handleCursorMove,
255
+ handleToggleSelection,
256
+ handleConfirm,
257
+ handleCancel,
258
+ handlePageNext,
259
+ handlePagePrev,
260
+ handleButtonToggle,
261
+ handleButtonSwitch,
262
+ };
263
+ }
264
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../src/cli/commands/shared/selection/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ export declare const ANSI: {
2
+ readonly CURSOR_HOME_CLEAR: "\u001B[H\u001B[J";
3
+ readonly CLEAR_LINE_ABOVE: "\u001B[1A\u001B[2K";
4
+ };
5
+ export declare const KEY: {
6
+ readonly CTRL_C: "\u0003";
7
+ readonly ESC: "\u001B";
8
+ readonly TAB: "\t";
9
+ readonly SHIFT_TAB: "\u001B[Z";
10
+ readonly ENTER: "\r";
11
+ readonly NEWLINE: "\n";
12
+ readonly ARROW_UP: "\u001B[A";
13
+ readonly ARROW_DOWN: "\u001B[B";
14
+ readonly ARROW_LEFT: "\u001B[D";
15
+ readonly ARROW_RIGHT: "\u001B[C";
16
+ readonly CTRL_BRACKET_LEFT: "\u001B";
17
+ readonly CTRL_BRACKET_RIGHT: "\u001D";
18
+ readonly SPACE: " ";
19
+ readonly BACKSPACE: "";
20
+ readonly BACKSPACE_ALT: "\b";
21
+ };
22
+ export declare const BOX: {
23
+ readonly TOP_LEFT: "╭";
24
+ readonly TOP_RIGHT: "╮";
25
+ readonly BOTTOM_LEFT: "╰";
26
+ readonly BOTTOM_RIGHT: "╯";
27
+ readonly HORIZONTAL: "─";
28
+ readonly VERTICAL: "│";
29
+ };
30
+ export declare const SYMBOL: {
31
+ readonly SEARCH_ICON: "⌕";
32
+ readonly CURSOR: "█";
33
+ readonly CIRCLE_FILLED: "◉";
34
+ readonly CIRCLE_EMPTY: "◯";
35
+ readonly CURSOR_INDICATOR: "› ";
36
+ readonly TRUNCATION: "...";
37
+ };
38
+ export declare const PAGINATION_CONTROL: {
39
+ readonly PREV: "prev";
40
+ readonly NEXT: "next";
41
+ };
42
+ export type PaginationControl = typeof PAGINATION_CONTROL[keyof typeof PAGINATION_CONTROL];
43
+ export declare const SHARED_TEXT: {
44
+ readonly TAB_HINT: "(←/→, tab/shift+tab to cycle)";
45
+ readonly SEARCH_PLACEHOLDER: "Search…";
46
+ readonly INSTRUCTIONS: "↑↓ to Navigate • Space to select item • Enter to Confirm";
47
+ readonly INSTRUCTIONS_WITH_PAGINATION: "↑↓ to Navigate • Ctrl+[/] to change page • Space to select item • Enter to Confirm";
48
+ readonly ERROR_PREFIX: "Error: ";
49
+ readonly CONTINUE_BUTTON: "Continue";
50
+ readonly CANCEL_BUTTON: "Cancel";
51
+ };
52
+ export declare const CONFIG: {
53
+ readonly ITEMS_PER_PAGE: 5;
54
+ readonly FETCH_TIMEOUT_MS: 10000;
55
+ readonly DESCRIPTION_MAX_LENGTH: 80;
56
+ readonly KEEP_ALIVE_INTERVAL_MS: 1000;
57
+ readonly SEARCH_DEBOUNCE_MS: 500;
58
+ readonly PRINTABLE_CHAR_MIN: 32;
59
+ readonly PRINTABLE_CHAR_MAX: 126;
60
+ };
61
+ export declare const PANEL_ID: {
62
+ readonly REGISTERED: "registered";
63
+ readonly PROJECT: "project";
64
+ readonly MARKETPLACE: "marketplace";
65
+ };
66
+ export declare const PANEL_IDS: readonly ["registered", "project", "marketplace"];
67
+ export type PanelId = typeof PANEL_IDS[number];
68
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/shared/selection/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;CAGP,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBN,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;;CAON,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE3F,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,eAAO,MAAM,SAAS,mDAIZ,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ export const ANSI = {
2
+ CURSOR_HOME_CLEAR: '\x1b[H\x1b[J',
3
+ CLEAR_LINE_ABOVE: '\x1b[1A\x1b[2K',
4
+ };
5
+ export const KEY = {
6
+ CTRL_C: '\u0003',
7
+ ESC: '\u001b',
8
+ TAB: '\t',
9
+ SHIFT_TAB: '\u001b[Z',
10
+ ENTER: '\r',
11
+ NEWLINE: '\n',
12
+ ARROW_UP: '\u001b[A',
13
+ ARROW_DOWN: '\u001b[B',
14
+ ARROW_LEFT: '\u001b[D',
15
+ ARROW_RIGHT: '\u001b[C',
16
+ CTRL_BRACKET_LEFT: '\u001b',
17
+ CTRL_BRACKET_RIGHT: '\u001d',
18
+ SPACE: ' ',
19
+ BACKSPACE: '\u007f',
20
+ BACKSPACE_ALT: '\b',
21
+ };
22
+ export const BOX = {
23
+ TOP_LEFT: '╭',
24
+ TOP_RIGHT: '╮',
25
+ BOTTOM_LEFT: '╰',
26
+ BOTTOM_RIGHT: '╯',
27
+ HORIZONTAL: '─',
28
+ VERTICAL: '│',
29
+ };
30
+ export const SYMBOL = {
31
+ SEARCH_ICON: '⌕',
32
+ CURSOR: '█',
33
+ CIRCLE_FILLED: '◉',
34
+ CIRCLE_EMPTY: '◯',
35
+ CURSOR_INDICATOR: '› ',
36
+ TRUNCATION: '...',
37
+ };
38
+ export const PAGINATION_CONTROL = {
39
+ PREV: 'prev',
40
+ NEXT: 'next',
41
+ };
42
+ export const SHARED_TEXT = {
43
+ TAB_HINT: '(←/→, tab/shift+tab to cycle)',
44
+ SEARCH_PLACEHOLDER: 'Search…',
45
+ INSTRUCTIONS: '↑↓ to Navigate • Space to select item • Enter to Confirm',
46
+ INSTRUCTIONS_WITH_PAGINATION: '↑↓ to Navigate • Ctrl+[/] to change page • Space to select item • Enter to Confirm',
47
+ ERROR_PREFIX: 'Error: ',
48
+ CONTINUE_BUTTON: 'Continue',
49
+ CANCEL_BUTTON: 'Cancel',
50
+ };
51
+ export const CONFIG = {
52
+ ITEMS_PER_PAGE: 5,
53
+ FETCH_TIMEOUT_MS: 10000,
54
+ DESCRIPTION_MAX_LENGTH: 80,
55
+ KEEP_ALIVE_INTERVAL_MS: 1000,
56
+ SEARCH_DEBOUNCE_MS: 500,
57
+ PRINTABLE_CHAR_MIN: 32,
58
+ PRINTABLE_CHAR_MAX: 126,
59
+ };
60
+ export const PANEL_ID = {
61
+ REGISTERED: 'registered',
62
+ PROJECT: 'project',
63
+ MARKETPLACE: 'marketplace',
64
+ };
65
+ export const PANEL_IDS = [
66
+ PANEL_ID.REGISTERED,
67
+ PANEL_ID.PROJECT,
68
+ PANEL_ID.MARKETPLACE,
69
+ ];
70
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/cli/commands/shared/selection/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,gBAAgB;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,UAAU;IACvB,iBAAiB,EAAE,QAAQ;IAC3B,kBAAkB,EAAE,QAAQ;IAC5B,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,IAAI;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,GAAG;IACX,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,GAAG;IACjB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,+BAA+B;IACzC,kBAAkB,EAAE,SAAS;IAC7B,YAAY,EAAE,0DAA0D;IACxE,4BAA4B,EAAE,oFAAoF;IAClH,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,UAAU;IAC3B,aAAa,EAAE,QAAQ;CACf,CAAC;AAEX,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK;IACvB,sBAAsB,EAAE,EAAE;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,kBAAkB,EAAE,GAAG;IACvB,kBAAkB,EAAE,EAAE;IACtB,kBAAkB,EAAE,GAAG;CACf,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,UAAU;IACnB,QAAQ,CAAC,OAAO;IAChB,QAAQ,CAAC,WAAW;CACZ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { BaseSelectionState } from './types.js';
2
+ import type { ActionHandlers } from './actions.js';
3
+ export interface InteractivePromptOptions {
4
+ state: BaseSelectionState;
5
+ actions: ActionHandlers;
6
+ renderFn: (state: BaseSelectionState, cursorIndex: number) => string;
7
+ }
8
+ export interface InteractivePrompt {
9
+ start: () => Promise<void>;
10
+ stop: () => void;
11
+ render: () => void;
12
+ getCursorIndex: () => number;
13
+ setCursorIndex: (index: number) => void;
14
+ }
15
+ export declare function createInteractivePrompt(options: InteractivePromptOptions): InteractivePrompt;
16
+ //# sourceMappingURL=interactive-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-prompt.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/shared/selection/interactive-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CACtE;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAkV5F"}