a2a-memory 0.11.4 โ†’ 0.11.6

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 (262) hide show
  1. package/LICENSE +7 -19
  2. package/README.md +1 -1
  3. package/dist/a2a/client.js +1 -252
  4. package/dist/a2a/discovery.js +1 -115
  5. package/dist/a2a/index.js +1 -8
  6. package/dist/a2a/types.js +1 -42
  7. package/dist/adapters/anthropic.js +1 -117
  8. package/dist/chunking/chunker.js +1 -163
  9. package/dist/claude/sync.js +1 -294
  10. package/dist/cli/commands/add.js +1 -80
  11. package/dist/cli/commands/claude-sync.js +1 -70
  12. package/dist/cli/commands/cleanup.js +1 -83
  13. package/dist/cli/commands/config.js +1 -73
  14. package/dist/cli/commands/edit.js +1 -69
  15. package/dist/cli/commands/embed.js +1 -92
  16. package/dist/cli/commands/extract.js +1 -103
  17. package/dist/cli/commands/health.js +1 -105
  18. package/dist/cli/commands/list.js +1 -49
  19. package/dist/cli/commands/migrate-chunks.js +1 -205
  20. package/dist/cli/commands/migrate-file-refs.js +1 -183
  21. package/dist/cli/commands/proficiency.js +1 -146
  22. package/dist/cli/commands/rm.js +1 -64
  23. package/dist/cli/commands/search.js +1 -89
  24. package/dist/cli/commands/setup-wizard.js +1 -387
  25. package/dist/cli/commands/setup.js +1 -170
  26. package/dist/cli/commands/skill.js +1 -151
  27. package/dist/cli/commands/status.js +1 -70
  28. package/dist/cli/commands/sync.js +1 -202
  29. package/dist/cli/commands/team.js +1 -142
  30. package/dist/cli/index.js +1 -87
  31. package/dist/config/manager.js +1 -372
  32. package/dist/db/database.d.ts +10 -1
  33. package/dist/db/database.js +1 -1367
  34. package/dist/embedding/e5-provider.js +1 -147
  35. package/dist/embedding/index.js +1 -34
  36. package/dist/embedding/local-provider.js +1 -157
  37. package/dist/embedding/openai-provider.js +1 -92
  38. package/dist/embedding/quantization.js +1 -89
  39. package/dist/extraction/dedup-manager.js +1 -161
  40. package/dist/extraction/emotion-filter.js +1 -33
  41. package/dist/extraction/extractor.js +1 -642
  42. package/dist/extraction/file-reference.js +1 -77
  43. package/dist/extraction/filter.js +1 -85
  44. package/dist/extraction/scorer.js +1 -142
  45. package/dist/extraction/similarity.js +1 -85
  46. package/dist/hooks/client-factory.js +1 -44
  47. package/dist/hooks/post-tool-use.js +1 -470
  48. package/dist/hooks/pre-compact.js +1 -209
  49. package/dist/hooks/session-end.d.ts +1 -0
  50. package/dist/hooks/session-end.js +1 -623
  51. package/dist/hooks/session-start.js +1 -549
  52. package/dist/hooks/shared.js +1 -110
  53. package/dist/hooks/user-prompt-submit.js +1 -316
  54. package/dist/i18n/index.js +1 -2
  55. package/dist/i18n/messages.js +1 -150
  56. package/dist/index.js +1 -43
  57. package/dist/lifecycle/cleanup-scheduler.js +1 -137
  58. package/dist/lifecycle/cleanup.js +1 -116
  59. package/dist/lifecycle/index.js +1 -13
  60. package/dist/lifecycle/quality-scorer.js +1 -46
  61. package/dist/lifecycle/tiering.js +1 -246
  62. package/dist/llm/client.js +1 -226
  63. package/dist/llm/index.js +1 -5
  64. package/dist/proficiency/actr-engine.js +1 -106
  65. package/dist/proficiency/detection.js +1 -77
  66. package/dist/proficiency/index.js +1 -9
  67. package/dist/proficiency/tracker.js +1 -173
  68. package/dist/proficiency/types.js +1 -8
  69. package/dist/providers/adapters.js +1 -140
  70. package/dist/providers/detector.js +1 -57
  71. package/dist/search/adaptive-router.js +1 -93
  72. package/dist/search/index.js +1 -9
  73. package/dist/search/ranker.js +1 -171
  74. package/dist/search/reranker.js +1 -155
  75. package/dist/session/parser.js +1 -130
  76. package/dist/skill/evaluator.js +1 -509
  77. package/dist/skill/index.js +1 -7
  78. package/dist/skill/types.js +1 -7
  79. package/dist/sync/client.d.ts +1 -0
  80. package/dist/sync/client.js +1 -597
  81. package/dist/sync/encryption.js +1 -203
  82. package/dist/sync/index.js +1 -12
  83. package/dist/sync/queue.js +1 -199
  84. package/dist/sync/scheduler.js +1 -140
  85. package/dist/sync/synchronizer.js +1 -241
  86. package/dist/sync/team-synchronizer.js +1 -204
  87. package/dist/sync/vector-clock.js +1 -70
  88. package/dist/types/index.d.ts +2 -1
  89. package/dist/types/index.js +1 -131
  90. package/dist/utils/keychain.js +1 -170
  91. package/dist/utils/logger.js +1 -128
  92. package/package.json +14 -10
  93. package/dist/a2a/client.d.ts.map +0 -1
  94. package/dist/a2a/client.js.map +0 -1
  95. package/dist/a2a/discovery.d.ts.map +0 -1
  96. package/dist/a2a/discovery.js.map +0 -1
  97. package/dist/a2a/index.d.ts.map +0 -1
  98. package/dist/a2a/index.js.map +0 -1
  99. package/dist/a2a/types.d.ts.map +0 -1
  100. package/dist/a2a/types.js.map +0 -1
  101. package/dist/adapters/anthropic.d.ts.map +0 -1
  102. package/dist/adapters/anthropic.js.map +0 -1
  103. package/dist/chunking/chunker.d.ts.map +0 -1
  104. package/dist/chunking/chunker.js.map +0 -1
  105. package/dist/claude/sync.d.ts.map +0 -1
  106. package/dist/claude/sync.js.map +0 -1
  107. package/dist/cli/commands/add.d.ts.map +0 -1
  108. package/dist/cli/commands/add.js.map +0 -1
  109. package/dist/cli/commands/claude-sync.d.ts.map +0 -1
  110. package/dist/cli/commands/claude-sync.js.map +0 -1
  111. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  112. package/dist/cli/commands/cleanup.js.map +0 -1
  113. package/dist/cli/commands/config.d.ts.map +0 -1
  114. package/dist/cli/commands/config.js.map +0 -1
  115. package/dist/cli/commands/edit.d.ts.map +0 -1
  116. package/dist/cli/commands/edit.js.map +0 -1
  117. package/dist/cli/commands/embed.d.ts.map +0 -1
  118. package/dist/cli/commands/embed.js.map +0 -1
  119. package/dist/cli/commands/extract.d.ts.map +0 -1
  120. package/dist/cli/commands/extract.js.map +0 -1
  121. package/dist/cli/commands/health.d.ts.map +0 -1
  122. package/dist/cli/commands/health.js.map +0 -1
  123. package/dist/cli/commands/list.d.ts.map +0 -1
  124. package/dist/cli/commands/list.js.map +0 -1
  125. package/dist/cli/commands/migrate-chunks.d.ts.map +0 -1
  126. package/dist/cli/commands/migrate-chunks.js.map +0 -1
  127. package/dist/cli/commands/migrate-file-refs.d.ts.map +0 -1
  128. package/dist/cli/commands/migrate-file-refs.js.map +0 -1
  129. package/dist/cli/commands/proficiency.d.ts.map +0 -1
  130. package/dist/cli/commands/proficiency.js.map +0 -1
  131. package/dist/cli/commands/rm.d.ts.map +0 -1
  132. package/dist/cli/commands/rm.js.map +0 -1
  133. package/dist/cli/commands/search.d.ts.map +0 -1
  134. package/dist/cli/commands/search.js.map +0 -1
  135. package/dist/cli/commands/setup-wizard.d.ts.map +0 -1
  136. package/dist/cli/commands/setup-wizard.js.map +0 -1
  137. package/dist/cli/commands/setup.d.ts.map +0 -1
  138. package/dist/cli/commands/setup.js.map +0 -1
  139. package/dist/cli/commands/skill.d.ts.map +0 -1
  140. package/dist/cli/commands/skill.js.map +0 -1
  141. package/dist/cli/commands/status.d.ts.map +0 -1
  142. package/dist/cli/commands/status.js.map +0 -1
  143. package/dist/cli/commands/sync.d.ts.map +0 -1
  144. package/dist/cli/commands/sync.js.map +0 -1
  145. package/dist/cli/commands/team.d.ts.map +0 -1
  146. package/dist/cli/commands/team.js.map +0 -1
  147. package/dist/cli/index.d.ts.map +0 -1
  148. package/dist/cli/index.js.map +0 -1
  149. package/dist/config/manager.d.ts.map +0 -1
  150. package/dist/config/manager.js.map +0 -1
  151. package/dist/db/database.d.ts.map +0 -1
  152. package/dist/db/database.js.map +0 -1
  153. package/dist/embedding/e5-provider.d.ts.map +0 -1
  154. package/dist/embedding/e5-provider.js.map +0 -1
  155. package/dist/embedding/index.d.ts.map +0 -1
  156. package/dist/embedding/index.js.map +0 -1
  157. package/dist/embedding/local-provider.d.ts.map +0 -1
  158. package/dist/embedding/local-provider.js.map +0 -1
  159. package/dist/embedding/openai-provider.d.ts.map +0 -1
  160. package/dist/embedding/openai-provider.js.map +0 -1
  161. package/dist/embedding/quantization.d.ts.map +0 -1
  162. package/dist/embedding/quantization.js.map +0 -1
  163. package/dist/extraction/dedup-manager.d.ts.map +0 -1
  164. package/dist/extraction/dedup-manager.js.map +0 -1
  165. package/dist/extraction/emotion-filter.d.ts.map +0 -1
  166. package/dist/extraction/emotion-filter.js.map +0 -1
  167. package/dist/extraction/extractor.d.ts.map +0 -1
  168. package/dist/extraction/extractor.js.map +0 -1
  169. package/dist/extraction/file-reference.d.ts.map +0 -1
  170. package/dist/extraction/file-reference.js.map +0 -1
  171. package/dist/extraction/filter.d.ts.map +0 -1
  172. package/dist/extraction/filter.js.map +0 -1
  173. package/dist/extraction/scorer.d.ts.map +0 -1
  174. package/dist/extraction/scorer.js.map +0 -1
  175. package/dist/extraction/similarity.d.ts.map +0 -1
  176. package/dist/extraction/similarity.js.map +0 -1
  177. package/dist/hooks/client-factory.d.ts.map +0 -1
  178. package/dist/hooks/client-factory.js.map +0 -1
  179. package/dist/hooks/post-tool-use.d.ts.map +0 -1
  180. package/dist/hooks/post-tool-use.js.map +0 -1
  181. package/dist/hooks/pre-compact.d.ts.map +0 -1
  182. package/dist/hooks/pre-compact.js.map +0 -1
  183. package/dist/hooks/session-end.d.ts.map +0 -1
  184. package/dist/hooks/session-end.js.map +0 -1
  185. package/dist/hooks/session-start.d.ts.map +0 -1
  186. package/dist/hooks/session-start.js.map +0 -1
  187. package/dist/hooks/shared.d.ts.map +0 -1
  188. package/dist/hooks/shared.js.map +0 -1
  189. package/dist/hooks/user-prompt-submit.d.ts.map +0 -1
  190. package/dist/hooks/user-prompt-submit.js.map +0 -1
  191. package/dist/i18n/index.d.ts.map +0 -1
  192. package/dist/i18n/index.js.map +0 -1
  193. package/dist/i18n/messages.d.ts.map +0 -1
  194. package/dist/i18n/messages.js.map +0 -1
  195. package/dist/index.d.ts.map +0 -1
  196. package/dist/index.js.map +0 -1
  197. package/dist/lifecycle/cleanup-scheduler.d.ts.map +0 -1
  198. package/dist/lifecycle/cleanup-scheduler.js.map +0 -1
  199. package/dist/lifecycle/cleanup.d.ts.map +0 -1
  200. package/dist/lifecycle/cleanup.js.map +0 -1
  201. package/dist/lifecycle/index.d.ts.map +0 -1
  202. package/dist/lifecycle/index.js.map +0 -1
  203. package/dist/lifecycle/quality-scorer.d.ts.map +0 -1
  204. package/dist/lifecycle/quality-scorer.js.map +0 -1
  205. package/dist/lifecycle/tiering.d.ts.map +0 -1
  206. package/dist/lifecycle/tiering.js.map +0 -1
  207. package/dist/llm/client.d.ts.map +0 -1
  208. package/dist/llm/client.js.map +0 -1
  209. package/dist/llm/index.d.ts.map +0 -1
  210. package/dist/llm/index.js.map +0 -1
  211. package/dist/proficiency/actr-engine.d.ts.map +0 -1
  212. package/dist/proficiency/actr-engine.js.map +0 -1
  213. package/dist/proficiency/detection.d.ts.map +0 -1
  214. package/dist/proficiency/detection.js.map +0 -1
  215. package/dist/proficiency/index.d.ts.map +0 -1
  216. package/dist/proficiency/index.js.map +0 -1
  217. package/dist/proficiency/tracker.d.ts.map +0 -1
  218. package/dist/proficiency/tracker.js.map +0 -1
  219. package/dist/proficiency/types.d.ts.map +0 -1
  220. package/dist/proficiency/types.js.map +0 -1
  221. package/dist/providers/adapters.d.ts.map +0 -1
  222. package/dist/providers/adapters.js.map +0 -1
  223. package/dist/providers/detector.d.ts.map +0 -1
  224. package/dist/providers/detector.js.map +0 -1
  225. package/dist/search/adaptive-router.d.ts.map +0 -1
  226. package/dist/search/adaptive-router.js.map +0 -1
  227. package/dist/search/index.d.ts.map +0 -1
  228. package/dist/search/index.js.map +0 -1
  229. package/dist/search/ranker.d.ts.map +0 -1
  230. package/dist/search/ranker.js.map +0 -1
  231. package/dist/search/reranker.d.ts.map +0 -1
  232. package/dist/search/reranker.js.map +0 -1
  233. package/dist/session/parser.d.ts.map +0 -1
  234. package/dist/session/parser.js.map +0 -1
  235. package/dist/skill/evaluator.d.ts.map +0 -1
  236. package/dist/skill/evaluator.js.map +0 -1
  237. package/dist/skill/index.d.ts.map +0 -1
  238. package/dist/skill/index.js.map +0 -1
  239. package/dist/skill/types.d.ts.map +0 -1
  240. package/dist/skill/types.js.map +0 -1
  241. package/dist/sync/client.d.ts.map +0 -1
  242. package/dist/sync/client.js.map +0 -1
  243. package/dist/sync/encryption.d.ts.map +0 -1
  244. package/dist/sync/encryption.js.map +0 -1
  245. package/dist/sync/index.d.ts.map +0 -1
  246. package/dist/sync/index.js.map +0 -1
  247. package/dist/sync/queue.d.ts.map +0 -1
  248. package/dist/sync/queue.js.map +0 -1
  249. package/dist/sync/scheduler.d.ts.map +0 -1
  250. package/dist/sync/scheduler.js.map +0 -1
  251. package/dist/sync/synchronizer.d.ts.map +0 -1
  252. package/dist/sync/synchronizer.js.map +0 -1
  253. package/dist/sync/team-synchronizer.d.ts.map +0 -1
  254. package/dist/sync/team-synchronizer.js.map +0 -1
  255. package/dist/sync/vector-clock.d.ts.map +0 -1
  256. package/dist/sync/vector-clock.js.map +0 -1
  257. package/dist/types/index.d.ts.map +0 -1
  258. package/dist/types/index.js.map +0 -1
  259. package/dist/utils/keychain.d.ts.map +0 -1
  260. package/dist/utils/keychain.js.map +0 -1
  261. package/dist/utils/logger.d.ts.map +0 -1
  262. package/dist/utils/logger.js.map +0 -1
@@ -1,170 +1 @@
1
- /**
2
- * Setup Command
3
- *
4
- * Claude Code Hook ๋“ฑ๋ก ๋ฐ ์ดˆ๊ธฐ ์„ค์ •์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
5
- */
6
- import { Command } from 'commander';
7
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
8
- import { join } from 'node:path';
9
- import { homedir } from 'node:os';
10
- import chalk from 'chalk';
11
- import ora from 'ora';
12
- import { ConfigManager } from '../../config/manager.js';
13
- import { MemoryDatabase } from '../../db/database.js';
14
- import { findSessionFiles } from '../../session/parser.js';
15
- import { runSetupWizard } from './setup-wizard.js';
16
- const CLAUDE_SETTINGS_PATH = join(homedir(), '.claude', 'settings.json');
17
- export function setupCommand() {
18
- return new Command('setup')
19
- .description('Initialize A2A Memory Plugin')
20
- .option('--force', 'Force re-setup even if already configured')
21
- .option('--wizard', 'Interactive setup wizard for one-click configuration')
22
- .option('--url <url>', 'Server URL (used with --wizard)')
23
- .option('--email <email>', 'Admin email (used with --wizard)')
24
- .option('--password <password>', 'Admin password (used with --wizard)')
25
- .action(async (options) => {
26
- if (options.wizard) {
27
- await runSetupWizard({
28
- serverUrl: options.url,
29
- email: options.email,
30
- password: options.password,
31
- force: options.force,
32
- });
33
- return;
34
- }
35
- console.log(chalk.bold('\n๐Ÿš€ A2A Memory Plugin Setup\n'));
36
- // 1. Config ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
37
- let spinner = ora('Creating config directory...').start();
38
- const configManager = new ConfigManager();
39
- const configDir = configManager.getConfigDir();
40
- spinner.succeed(`Config directory: ${chalk.cyan(configDir)}`);
41
- // 2. ์„ค์ • ํŒŒ์ผ ์ดˆ๊ธฐํ™”
42
- spinner = ora('Loading configuration...').start();
43
- const config = configManager.load();
44
- spinner.succeed(`Config loaded (mode: ${chalk.yellow(config.mode)})`);
45
- // 3. DB ์ดˆ๊ธฐํ™”
46
- spinner = ora('Initializing database...').start();
47
- const db = new MemoryDatabase(config.db.path);
48
- db.initialize();
49
- const stats = db.getStats();
50
- db.close();
51
- spinner.succeed(`Database initialized (${chalk.green(stats.totalMemories)} memories)`);
52
- // ๊ธฐ์กด ์„ธ์…˜ ํŒŒ์ผ ๊ฐœ์ˆ˜ ํ‘œ์‹œ
53
- const sessions = findSessionFiles();
54
- if (sessions.length > 0) {
55
- console.log(chalk.blue(` โ„น Found ${sessions.length} existing session file(s)`));
56
- }
57
- // 4. Claude Code hooks ๋“ฑ๋ก
58
- spinner = ora('Registering Claude Code hooks...').start();
59
- const hookRegistered = registerHooks(options.force);
60
- if (hookRegistered) {
61
- spinner.succeed('Claude Code hooks registered');
62
- }
63
- else {
64
- spinner.warn('Claude Code hooks already registered (use --force to overwrite)');
65
- }
66
- console.log(chalk.green.bold('\nโœ“ Setup complete!\n'));
67
- console.log(chalk.dim('Next steps:'));
68
- console.log(` ${chalk.cyan('1.')} Enable auto-capture: ${chalk.white('a2a-memory config set autoCapture.enabled true')}`);
69
- console.log(` ${chalk.cyan('2.')} Extract existing sessions: ${chalk.white('a2a-memory extract')}`);
70
- console.log(` ${chalk.cyan('3.')} Search memories: ${chalk.white('a2a-memory search "your query"')}\n`);
71
- });
72
- }
73
- function registerHooks(force) {
74
- let settings = {};
75
- if (existsSync(CLAUDE_SETTINGS_PATH)) {
76
- try {
77
- settings = JSON.parse(readFileSync(CLAUDE_SETTINGS_PATH, 'utf-8'));
78
- }
79
- catch {
80
- console.error('[a2a] Warning: Could not parse existing Claude settings');
81
- }
82
- }
83
- if (!settings.hooks) {
84
- settings.hooks = {};
85
- }
86
- // a2a-memory ๊ด€๋ จ hook์ด ์ด๋ฏธ ์žˆ๋Š”์ง€ ํ™•์ธ
87
- const hasExisting = Object.values(settings.hooks).some((configs) => configs.some((c) => c.hooks?.some((h) => h.command?.includes('a2a-memory'))));
88
- if (hasExisting && !force) {
89
- return false;
90
- }
91
- // Hook ์„ค์ • ๋“ฑ๋ก
92
- const pluginDir = getPluginDir();
93
- settings.hooks['SessionStart'] = [
94
- ...(settings.hooks['SessionStart'] ?? []).filter((c) => !c.hooks?.some((h) => h.command?.includes('a2a-memory'))),
95
- {
96
- matcher: '',
97
- hooks: [
98
- {
99
- type: 'command',
100
- command: `node ${join(pluginDir, 'dist', 'hooks', 'session-start.js')}`,
101
- },
102
- ],
103
- },
104
- ];
105
- settings.hooks['PostToolUse'] = [
106
- ...(settings.hooks['PostToolUse'] ?? []).filter((c) => !c.hooks?.some((h) => h.command?.includes('a2a-memory'))),
107
- {
108
- matcher: '',
109
- hooks: [
110
- {
111
- type: 'command',
112
- command: `node ${join(pluginDir, 'dist', 'hooks', 'post-tool-use.js')}`,
113
- },
114
- ],
115
- },
116
- ];
117
- settings.hooks['SessionEnd'] = [
118
- ...(settings.hooks['SessionEnd'] ?? []).filter((c) => !c.hooks?.some((h) => h.command?.includes('a2a-memory'))),
119
- {
120
- matcher: '',
121
- hooks: [
122
- {
123
- type: 'command',
124
- command: `node ${join(pluginDir, 'dist', 'hooks', 'session-end.js')}`,
125
- },
126
- ],
127
- },
128
- ];
129
- settings.hooks['UserPromptSubmit'] = [
130
- ...(settings.hooks['UserPromptSubmit'] ?? []).filter((c) => !c.hooks?.some((h) => h.command?.includes('a2a-memory'))),
131
- {
132
- matcher: '',
133
- hooks: [
134
- {
135
- type: 'command',
136
- command: `node ${join(pluginDir, 'dist', 'hooks', 'user-prompt-submit.js')}`,
137
- },
138
- ],
139
- },
140
- ];
141
- settings.hooks['PreCompact'] = [
142
- ...(settings.hooks['PreCompact'] ?? []).filter((c) => !c.hooks?.some((h) => h.command?.includes('a2a-memory'))),
143
- {
144
- matcher: '',
145
- hooks: [
146
- {
147
- type: 'command',
148
- command: `node ${join(pluginDir, 'dist', 'hooks', 'pre-compact.js')}`,
149
- },
150
- ],
151
- },
152
- ];
153
- // settings ๋””๋ ‰ํ† ๋ฆฌ ๋ณด์žฅ
154
- const settingsDir = join(homedir(), '.claude');
155
- if (!existsSync(settingsDir)) {
156
- mkdirSync(settingsDir, { recursive: true });
157
- }
158
- writeFileSync(CLAUDE_SETTINGS_PATH, JSON.stringify(settings, null, 2), 'utf-8');
159
- return true;
160
- }
161
- function getPluginDir() {
162
- // __dirname ๊ธฐ๋ฐ˜์œผ๋กœ plugin ๋ฃจํŠธ ์ฐพ๊ธฐ
163
- // dist/cli/commands/setup.js โ†’ plugin/
164
- const url = new URL(import.meta.url);
165
- const filePath = url.pathname;
166
- // 3๋‹จ๊ณ„ ์ƒ์œ„ = plugin/dist โ†’ plugin
167
- const parts = filePath.split('/');
168
- return parts.slice(0, -4).join('/');
169
- }
170
- //# sourceMappingURL=setup.js.map
1
+ (function(_0x3f7212,_0x4b042d){const _0x3542b9=_0x3f7212();function _0x342b43(_0x46dc80,_0x37fbfb){return _0x1ff6(_0x37fbfb- -0x2ec,_0x46dc80);}function _0x86518e(_0xd0b0ed,_0x341bdb){return _0x1ff6(_0xd0b0ed-0x307,_0x341bdb);}while(!![]){try{const _0x3b3726=-parseInt(_0x86518e(0x4fa,0x4db))/0x1*(parseInt(_0x86518e(0x4f5,0x513))/0x2)+parseInt(_0x86518e(0x4cb,0x4da))/0x3+parseInt(_0x342b43(-0xf7,-0x135))/0x4+parseInt(_0x342b43(-0x188,-0x161))/0x5*(parseInt(_0x342b43(-0xfb,-0x125))/0x6)+-parseInt(_0x86518e(0x4f7,0x4dd))/0x7*(parseInt(_0x86518e(0x49e,0x49c))/0x8)+-parseInt(_0x342b43(-0x17f,-0x149))/0x9+-parseInt(_0x342b43(-0x195,-0x179))/0xa*(-parseInt(_0x342b43(-0x123,-0x174))/0xb);if(_0x3b3726===_0x4b042d)break;else _0x3542b9['push'](_0x3542b9['shift']());}catch(_0x5e10c4){_0x3542b9['push'](_0x3542b9['shift']());}}}(_0x245e,0x53f5d));import{Command}from'commander';import{existsSync,readFileSync,writeFileSync,mkdirSync}from'node:fs';function _0x245e(){const _0x4806ee=['mtiWnJzmEKzRqw8','Aw5PDgLHBgL6zq','n3brv2fvza','ytjHlw1LBw9YEq','Bg9N','nZLSqKnTt2W','Aw5JBhvKzxm','EKTNAhe','u2vZC2LVBKvUza','C3rYAw5NAwz5','C29Tzq','y29TBwfUza','ls1WyxnZD29Yza','qwrTAw4Gzw1HAq','DxjLlMvUywjSzq','B21WBgv0zsek','teTZEMG','sg54A2C','zMLSDgvY','tLzfDwW','C2vZC2LVBI1ZDa','zwrisei','C2XPy2u','qwrTAw4GCgfZCW','z3jLzw4','seLlr1m','rKftsLK','DguP','Dc5QCW','ifnLyxjJAcbTzq','rM9Yy2uGCMuTCW','DxnLCI1WCM9TCa','Aw5NoIbdB3vSza','C1biv2G','BwjHz0m','iev4DhjHy3qGzq','EsbqBhvNAw4','Dg90ywXnzw1VCG','s1DpAeq','zsbOB29RCYbHBa','zgvKicHTB2rLoG','wxLnyLy','q29UzMLNigrPCG','q2XHDwrLienVza','BMuTy2XPy2SGyW','icaG4Os5iezVDw5K','C3bSAxq','ls1LBwfPBca8zq','ihDPDgGGls13Aq','ndiWndKWs2TnuMHX','sw5PDgLHBgL6zq','vuf2uha','tMv4DcbZDgvWCW','ievUywjSzsbHDq','mJK3DhPZy2PI','ig5VDcbWyxjZzq','sw5PDgLHBgL6Aq','DLDwAgu','ChjLlwnVBxbHyW','rgf0ywjHC2uGAq','DK5grM4','A2Xmwfu','B3j5ifbSDwDPBG','BM9Kzsa','ieeYqsbnzw1VCG','B3vYihf1zxj5iG','igv4DhjHy3q','t3vmA0C','B25MAwD1CMf0Aq','BMCGzgf0ywjHCW','q2XHDwrLihnLDa','idXWyxnZD29Yza','uhjLq29TCgfJDa','mtK1mde3mfboy3jqsa','icH1C2vKihDPDa','D2HPDgu','vxnLCLbYB21WDa','ig1LBw9YAwvZkq','zYbdBgf1zguGqW','zsbOB29RCYbYzq','ls11CMWGphvYBa','B3vOrwm','DMfSDwvZ','BcaODxnLzcb3Aq','C2v0Dxa','nde5nJKXmM9su1vNDa','Cg9ZDc10B29Slq','zcb0CNvL','u2vZC2LVBLn0yq','zw1HAwW','lMnSyxvKzq','zs4UlG','rNfYEee','C3rLCMvKicH1CW','ignVBMzPzYbZzq','cVcFMOaGqtjbie1LBq','ANHUs0m','mZmZmdy2nLPjzhzbsq','B2rLigHVB2TZlG','Ce1vzNu','D2L6yxjK','y3LHBG','C29U','igv4Axn0Aw5Nia','sNDbww8','yxj0lMPZ','yMX1zq','DxrMltG','ls13AxPHCMq','rvzcALO','Dg8GB3zLCNDYAq','yKjWDwy','DKrSC0G','uMvNAxn0zxjPBG','BwfPBd4','B3b0Aw9U','ven6y2S','mZq5ndq0B2zfsenw','C3nPB25ZoIa','Ag9VA3m','EwvSBg93','txPNwM8','Cgf0Aa','C2vZC2LVBI1LBG','DxjS','vgvJte8','tg9HzgLUzYbJBW','yM9Sza','zgLZDa','yxPfyNi','mZa3ndm0tKDKzvr2','tK5gwNa','B25MAwCGzgLYzq','nMXwvfbhEq','EgLZDgLUzYbZzq','ug9ZDfrVB2XvCW','BgvUz3rO','u3vIBwL0','q3jLyxrPBMCGyW','zxjYB3i','zLPdv1e','sw50zxjHy3rPDG','C2v0DgLUz3mUAG','wu5jtvi','Cgf0Ag5HBwu','zxr1CcbLDMvUia','DgLUz3m','u1PMtgq','C3vJy2vLza','CgfZC3DVCMq','BI4UlG','BML0AwfSAxPLza','s0rmEuq','Bw9YAwvZoIa','zwn0B3j5oIa','C3rHCNq','s1D6qKm','w2eYyv0Gv2fYBG','Bg9Hza','zsbZzxr1Ccb3Aq','zgvZy3jPChrPBW','ihnLyxjJAcaIEq','A2HoAgC','ignVBMzPz3vYzq','sLrhBxK','zM9Yy2u','q0LVDuG','CgfYC2u','ls1MB3jJzq','revvCNm','u2vYDMvYifvsta','zurfzLi'];_0x245e=function(){return _0x4806ee;};return _0x245e();}import{join}from'node:path';import{homedir}from'node:os';import _0x3c7070 from'chalk';import _0x2b9f46 from'ora';import{ConfigManager}from'../../config/manager.js';import{MemoryDatabase}from'../../db/database.js';import{findSessionFiles}from'../../session/parser.js';import{runSetupWizard}from'./setup-wizard.js';const CLAUDE_SETTINGS_PATH=join(homedir(),_0x38d630(-0xbe,-0x93),_0x38d630(-0x8a,-0x5e)+_0x38d630(-0xb2,-0xd6));function _0x51ae25(_0x4c80d8,_0x5425e8){return _0x1ff6(_0x5425e8-0x39f,_0x4c80d8);}function _0x1ff6(_0x2bee48,_0x4e0369){_0x2bee48=_0x2bee48-0x156;const _0x245ec3=_0x245e();let _0x1ff6b4=_0x245ec3[_0x2bee48];if(_0x1ff6['dpJeIk']===undefined){var _0x477c14=function(_0x441154){const _0x8d47e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aefb9='',_0x11d95e='';for(let _0x1c53f8=0x0,_0x5c5855,_0xe32eca,_0x960bb6=0x0;_0xe32eca=_0x441154['charAt'](_0x960bb6++);~_0xe32eca&&(_0x5c5855=_0x1c53f8%0x4?_0x5c5855*0x40+_0xe32eca:_0xe32eca,_0x1c53f8++%0x4)?_0x5aefb9+=String['fromCharCode'](0xff&_0x5c5855>>(-0x2*_0x1c53f8&0x6)):0x0){_0xe32eca=_0x8d47e7['indexOf'](_0xe32eca);}for(let _0x207962=0x0,_0x11cc8f=_0x5aefb9['length'];_0x207962<_0x11cc8f;_0x207962++){_0x11d95e+='%'+('00'+_0x5aefb9['charCodeAt'](_0x207962)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11d95e);};_0x1ff6['FkTJsb']=_0x477c14,_0x1ff6['CGYOjz']={},_0x1ff6['dpJeIk']=!![];}const _0x52959b=_0x245ec3[0x0],_0x226023=_0x2bee48+_0x52959b,_0xb9ae68=_0x1ff6['CGYOjz'][_0x226023];return!_0xb9ae68?(_0x1ff6b4=_0x1ff6['FkTJsb'](_0x1ff6b4),_0x1ff6['CGYOjz'][_0x226023]=_0x1ff6b4):_0x1ff6b4=_0xb9ae68,_0x1ff6b4;}export function setupCommand(){const _0x117c6d={'BeJvu':function(_0xeca52c,_0x2b7c7f){return _0xeca52c!==_0x2b7c7f;},'YyMbV':_0x68210f(-0x122,-0xe3)+_0x68210f(-0x143,-0x137)+'\x20Setup\x0a','sPHWh':_0x68210f(-0xf7,-0xcf)+_0x68210f(-0xfd,-0xc1)+'ctory...','OuLkG':function(_0xa86f1,_0x357853){return _0xa86f1(_0x357853);},'KhwOk':function(_0x23bf1f){return _0x23bf1f();},'FqrxA':function(_0x1b1f67,_0x266977){return _0x1b1f67===_0x266977;},'azEbr':_0x68210f(-0x108,-0xe7),'FASJY':_0x68210f(-0x156,-0x145)+'e\x20hooks\x20re'+'gistered','JTGmy':'Claude\x20Cod'+_0x19278b(-0x4f,-0x41)+'ready\x20regi'+_0x68210f(-0x124,-0x13d)+'e\x20--force\x20'+_0x68210f(-0x113,-0x10e)+_0x19278b(-0x5b,-0x7e),'CIouH':'\x0aโœ“\x20Setup\x20c'+_0x19278b(0x45,0x35),'eDEfR':_0x68210f(-0x14d,-0xfd)+':','DEUrs':_0x19278b(0x39,0x83)+_0x19278b(-0x18,0x10)+'t\x20autoCapt'+_0x19278b(0x44,0x33)+_0x19278b(-0x1f,0x30),'jxnKC':_0x19278b(0x39,-0x7)+_0x68210f(-0xe0,-0xf9)+_0x68210f(-0x140,-0xed),'bBpuf':_0x68210f(-0x12d,-0xf2),'khNhg':_0x19278b(-0x58,-0x58)+_0x68210f(-0xf0,-0x134)+'if\x20already'+_0x68210f(-0xde,-0x125)+'d','TCzck':_0x19278b(-0x26,-0x1b)+'>','pMUfu':_0x19278b(-0x5f,-0x76)+'word\x20(used'+_0x68210f(-0x151,-0xfc)+'zard)'};function _0x68210f(_0x5b8372,_0x4f80c5){return _0x38d630(_0x5b8372- -0x69,_0x4f80c5);}function _0x19278b(_0xc2f310,_0x376372){return _0x38d630(_0xc2f310-0xa2,_0x376372);}return new Command(_0x117c6d[_0x19278b(-0x7,0x31)])[_0x68210f(-0xe1,-0xda)+'n'](_0x19278b(-0x44,-0x53)+_0x19278b(-0x36,-0x80)+_0x19278b(-0x52,-0x8))[_0x19278b(-0x3,-0x1c)](_0x19278b(0x32,0x43),_0x117c6d[_0x19278b(0x2c,-0xb)])[_0x19278b(-0x3,-0x25)](_0x19278b(-0xa,-0x43),_0x19278b(0x17,-0x5)+_0x68210f(-0xe2,-0xc7)+'zard\x20for\x20o'+_0x19278b(-0x4a,-0x98)+_0x19278b(-0x32,-0x27)+'on')['option'](_0x117c6d[_0x19278b(-0x2,0x28)],_0x19278b(0x34,-0x11)+_0x68210f(-0x137,-0x143)+'h\x20--wizard'+')')[_0x19278b(-0x3,0x47)](_0x19278b(-0x47,-0x3e)+_0x19278b(-0x4,-0x12),_0x68210f(-0xc8,-0xbe)+_0x19278b(-0x23,-0x5c)+'th\x20--wizar'+'d)')[_0x19278b(-0x3,0x3a)](_0x19278b(0x42,0x27)+_0x68210f(-0x13a,-0x12c)+'>',_0x117c6d[_0x19278b(-0x13,0x1f)])['action'](async _0x140025=>{function _0x477120(_0x128971,_0x3983da){return _0x68210f(_0x128971-0x21,_0x3983da);}function _0x1dffda(_0x3d9326,_0x48a7fe){return _0x68210f(_0x3d9326-0x5ac,_0x48a7fe);}if(_0x117c6d['BeJvu'](_0x477120(-0xf8,-0xe3),_0x477120(-0xd1,-0x8e))){if(_0x140025[_0x1dffda(0x48f,0x4e1)]){await runSetupWizard({'serverUrl':_0x140025[_0x477120(-0xe4,-0x122)],'email':_0x140025[_0x1dffda(0x484,0x4a7)],'password':_0x140025[_0x1dffda(0x4c0,0x4ac)],'force':_0x140025['force']});return;}console['log'](_0x3c7070[_0x1dffda(0x4aa,0x48e)](_0x117c6d[_0x477120(-0x137,-0x13e)]));let _0x4bb38e=_0x2b9f46(_0x117c6d[_0x477120(-0x13f,-0x13a)])[_0x1dffda(0x4c6,0x49f)]();const _0x1be782=new ConfigManager(),_0x184583=_0x1be782['getConfigD'+'ir']();_0x4bb38e[_0x477120(-0xcc,-0x117)](_0x1dffda(0x455,0x490)+_0x477120(-0xc6,-0x9e)+_0x3c7070[_0x477120(-0xfb,-0xb5)](_0x184583)),_0x4bb38e=_0x2b9f46(_0x1dffda(0x4a9,0x477)+'nfiguratio'+_0x1dffda(0x4c1,0x4ca))['start']();const _0x314e7=_0x1be782[_0x477120(-0xc2,-0x82)]();_0x4bb38e['succeed']('Config\x20loa'+_0x1dffda(0x453,0x4a1)+'\x20'+_0x3c7070[_0x477120(-0xe8,-0xc8)](_0x314e7['mode'])+')'),_0x4bb38e=_0x117c6d[_0x1dffda(0x46e,0x473)](_0x2b9f46,_0x1dffda(0x463,0x49a)+_0x477120(-0x11b,-0x118)+_0x1dffda(0x486,0x47b))[_0x1dffda(0x4c6,0x51a)]();const _0x1938db=new MemoryDatabase(_0x314e7['db'][_0x1dffda(0x4a5,0x4a8)]);_0x1938db[_0x1dffda(0x4d8,0x522)]();const _0x1d4f23=_0x1938db['getStats']();_0x1938db['close'](),_0x4bb38e[_0x477120(-0xcc,-0xcb)](_0x477120(-0x125,-0xde)+_0x477120(-0xc9,-0x10e)+'\x20('+_0x3c7070[_0x1dffda(0x443,0x40c)](_0x1d4f23[_0x477120(-0x13b,-0x16a)+'ies'])+_0x477120(-0x113,-0xf8));const _0x18b926=_0x117c6d['KhwOk'](findSessionFiles);_0x18b926['length']>0x0&&console[_0x1dffda(0x4db,0x4be)](_0x3c7070[_0x477120(-0xf6,-0x103)](_0x477120(-0x133,-0x180)+'\x20'+_0x18b926[_0x477120(-0xd8,-0xd1)]+('\x20existing\x20'+'session\x20fi'+'le(s)')));_0x4bb38e=_0x117c6d[_0x1dffda(0x46e,0x4ba)](_0x2b9f46,_0x1dffda(0x49c,0x4b0)+_0x1dffda(0x479,0x4c9)+_0x1dffda(0x48d,0x4e0)+'..')[_0x1dffda(0x4c6,0x4f6)]();const _0x2fe60d=registerHooks(_0x140025[_0x477120(-0xbb,-0x85)]);if(_0x2fe60d){if(_0x117c6d[_0x477120(-0x104,-0xeb)](_0x117c6d[_0x477120(-0xdf,-0x8f)],_0x477120(-0xc8,-0xc0)))return![];else _0x4bb38e[_0x477120(-0xcc,-0x92)](_0x117c6d[_0x477120(-0x146,-0x173)]);}else _0x4bb38e['warn'](_0x117c6d[_0x1dffda(0x4cf,0x48c)]);console[_0x1dffda(0x4db,0x4c3)](_0x3c7070['green'][_0x477120(-0xe1,-0xc0)](_0x117c6d[_0x1dffda(0x4d1,0x49c)])),console[_0x477120(-0xb0,-0xac)](_0x3c7070['dim'](_0x117c6d[_0x1dffda(0x4d6,0x4ab)])),console[_0x1dffda(0x4db,0x4eb)]('\x20\x20'+_0x3c7070[_0x1dffda(0x490,0x481)]('1.')+(_0x477120(-0x12b,-0x177)+'to-capture'+':\x20')+_0x3c7070[_0x1dffda(0x476,0x478)](_0x117c6d[_0x477120(-0xb7,-0xa4)])),console[_0x1dffda(0x4db,0x4ef)]('\x20\x20'+_0x3c7070['cyan']('2.')+(_0x477120(-0x13d,-0xe7)+_0x1dffda(0x4b1,0x481)+_0x1dffda(0x4a1,0x4ab))+_0x3c7070[_0x1dffda(0x476,0x464)](_0x1dffda(0x4da,0x48f)+_0x477120(-0x11e,-0xed))),console[_0x477120(-0xb0,-0x83)]('\x20\x20'+_0x3c7070[_0x477120(-0xfb,-0xf3)]('3.')+(_0x1dffda(0x448,0x42c)+_0x477120(-0xc7,-0xc0))+_0x3c7070[_0x1dffda(0x476,0x4b2)](_0x117c6d[_0x477120(-0x100,-0xde)])+'\x0a');}else{const _0x16dbc9=new _0x69a066(import.meta.url),_0x195e7a=_0x16dbc9[_0x477120(-0xd0,-0x7d)],_0x4fd35a=_0x195e7a[_0x1dffda(0x459,0x458)]('/');return _0x4fd35a[_0x477120(-0x14a,-0x125)](0x0,-0x4)['join']('/');}});}function _0x38d630(_0x4f1e24,_0xa4d01b){return _0x1ff6(_0x4f1e24- -0x25a,_0xa4d01b);}function registerHooks(_0x493378){const _0x3d8904={'jkjac':function(_0x2642e9,_0x5d764b,_0x21c557){return _0x2642e9(_0x5d764b,_0x21c557);},'NVEul':function(_0x256d40,_0x312186){return _0x256d40===_0x312186;},'XqqAJ':_0x159cd6(0x4f,0x7d),'edHHB':_0x2358f1(0x7d,0xcf),'mbagC':_0x159cd6(0x69,0xaf)+_0x2358f1(0x30,0x2e)+_0x159cd6(0x3f,0x49)+_0x159cd6(0x85,0x79)+_0x2358f1(0x56,0xd)+_0x2358f1(0xa2,0x67),'TecLO':function(_0x2b511f,_0x506983){return _0x2b511f!==_0x506983;},'jBarB':_0x2358f1(0x68,0x9f)+'rt','zKghq':_0x2358f1(0xc7,0xb1),'gHBaT':_0x159cd6(0x63,0x92),'vNFFn':_0x2358f1(0x66,0x8a)+'use.js','klLXU':_0x159cd6(0x73,0xc6),'SZfLd':_0x2358f1(0x87,0x8a),'LKszh':_0x159cd6(0xaf,0x5e)+_0x159cd6(0xd0,0x9b),'HIKGS':_0x2358f1(0x58,0x6f),'KWzBC':function(_0x361ac0,_0x17f9d1,_0x38beeb,_0x53d2bc,_0x57cb63){return _0x361ac0(_0x17f9d1,_0x38beeb,_0x53d2bc,_0x57cb63);},'KWOhD':function(_0x2de62e){return _0x2de62e();},'NNFZp':function(_0x2f63fe,_0x3cd6cd,_0x4c54d0){return _0x2f63fe(_0x3cd6cd,_0x4c54d0);},'UAvPp':function(_0x5b731d,_0x3b3a3f,_0x328a5a,_0x115e54){return _0x5b731d(_0x3b3a3f,_0x328a5a,_0x115e54);}};let _0x49a1af={};function _0x2358f1(_0x176258,_0x38aeac){return _0x51ae25(_0x38aeac,_0x176258- -0x4d1);}if(existsSync(CLAUDE_SETTINGS_PATH)){if(_0x3d8904[_0x159cd6(0xaa,0xd1)](_0x159cd6(0x62,0x4b),_0x2358f1(0x9c,0xbe)))_0x8b02cd[_0x2358f1(0x9b,0xd0)](_0x2358f1(0xad,0xd6)+_0x159cd6(-0x12,0x32)+'\x20not\x20parse'+_0x2358f1(0x77,0x2f)+_0x2358f1(0x56,0x77)+_0x159cd6(0x9c,0xa4));else try{_0x49a1af=JSON[_0x2358f1(0xb7,0xd5)](readFileSync(CLAUDE_SETTINGS_PATH,_0x3d8904['XqqAJ']));}catch{_0x3d8904[_0x2358f1(0x25,0x64)]!==_0x159cd6(0x38,0x63)?console[_0x2358f1(0x9b,0x6e)](_0x3d8904[_0x2358f1(0x32,-0x23)]):_0x11cc8f[_0x2358f1(0xa4,0xf9)]('Claude\x20Cod'+_0x2358f1(0x5f,0x22)+'gistered');}}!_0x49a1af[_0x159cd6(0xb3,0x89)]&&(_0x49a1af['hooks']={});const _0x356981=Object[_0x2358f1(0x62,0x54)](_0x49a1af['hooks'])[_0x159cd6(0x8b,0xc8)](_0x389e4d=>_0x389e4d[_0x2358f1(0xc6,0x7b)](_0x22f388=>_0x22f388['hooks']?.[_0x159cd6(0x101,0xc8)](_0x48b81a=>_0x48b81a[_0x159cd6(0xb2,0xc9)]?.['includes'](_0x159cd6(0xe7,0xc1)))));if(_0x356981&&!_0x493378){if(_0x3d8904[_0x159cd6(0xdc,0x8f)](_0x2358f1(0x80,0x6e),_0x159cd6(0x117,0xcf)))return![];else _0x3d8904['jkjac'](_0x316714,_0x3de737,{'recursive':!![]});}const _0x3ef48a=getPluginDir();_0x49a1af[_0x159cd6(0xa9,0x89)][_0x3d8904['jBarB']]=[...(_0x49a1af[_0x2358f1(0x87,0xdd)]['SessionSta'+'rt']??[])[_0x2358f1(0xce,0xaa)](_0x5a2219=>!_0x5a2219['hooks']?.[_0x159cd6(0x10b,0xc8)](_0x30cac6=>_0x30cac6[_0x159cd6(0x109,0xc9)]?.[_0x159cd6(0xe9,0xc4)](_0x159cd6(0x96,0xc1)))),{'matcher':'','hooks':[{'type':_0x3d8904[_0x2358f1(0xc3,0xa1)],'command':_0x159cd6(0x80,0x51)+join(_0x3ef48a,_0x3d8904['gHBaT'],_0x159cd6(0x4f,0x89),_0x159cd6(0x22,0x26)+_0x159cd6(0xa2,0x7b))}]}];function _0x159cd6(_0x4b20f7,_0x660487){return _0x51ae25(_0x4b20f7,_0x660487- -0x4cf);}_0x49a1af[_0x159cd6(0xdb,0x89)]['PostToolUs'+'e']=[...(_0x49a1af['hooks'][_0x159cd6(0xcd,0x99)+'e']??[])[_0x2358f1(0xce,0xb7)](_0x18184f=>!_0x18184f[_0x159cd6(0x43,0x89)]?.[_0x2358f1(0xc6,0xfb)](_0x151409=>_0x151409[_0x159cd6(0x10d,0xc9)]?.[_0x2358f1(0xc2,0xe2)](_0x159cd6(0xa7,0xc1)))),{'matcher':'','hooks':[{'type':_0x3d8904['zKghq'],'command':_0x159cd6(0x81,0x51)+join(_0x3ef48a,'dist',_0x159cd6(0x68,0x89),_0x3d8904[_0x159cd6(0x9c,0x4e)])}]}],_0x49a1af[_0x2358f1(0x87,0x34)][_0x3d8904[_0x159cd6(0x83,0x4f)]]=[...(_0x49a1af[_0x2358f1(0x87,0x9e)]['SessionEnd']??[])[_0x2358f1(0xce,0xb9)](_0x501915=>!_0x501915[_0x2358f1(0x87,0x6c)]?.[_0x2358f1(0xc6,0x104)](_0x35309f=>_0x35309f['command']?.['includes'](_0x159cd6(0x7a,0xc1)))),{'matcher':'','hooks':[{'type':_0x3d8904['zKghq'],'command':'node\x20'+join(_0x3ef48a,_0x159cd6(0x9f,0x92),_0x3d8904[_0x2358f1(0xa3,0xa6)],_0x2358f1(0x8b,0x72)+'d.js')}]}],_0x49a1af[_0x2358f1(0x87,0xc9)][_0x2358f1(0x5c,0x4c)+_0x2358f1(0x99,0xb9)]=[...(_0x49a1af[_0x2358f1(0x87,0xc8)][_0x3d8904[_0x159cd6(0x120,0xce)]]??[])[_0x159cd6(0x112,0xd0)](_0x334b8f=>!_0x334b8f[_0x2358f1(0x87,0x82)]?.[_0x159cd6(0xf4,0xc8)](_0x10951d=>_0x10951d[_0x159cd6(0x8e,0xc9)]?.['includes'](_0x2358f1(0xbf,0xe0)))),{'matcher':'','hooks':[{'type':_0x2358f1(0xc7,0x118),'command':_0x2358f1(0x4f,0x47)+join(_0x3ef48a,_0x159cd6(0x77,0x92),_0x3d8904['SZfLd'],_0x2358f1(0x2f,-0x12)+'t-submit.j'+'s')}]}],_0x49a1af[_0x2358f1(0x87,0xb3)][_0x159cd6(0xae,0x5a)]=[...(_0x49a1af[_0x159cd6(0x81,0x89)][_0x3d8904[_0x159cd6(-0x2b,0x2b)]]??[])['filter'](_0x2da664=>!_0x2da664['hooks']?.[_0x2358f1(0xc6,0xdb)](_0x21a000=>_0x21a000[_0x2358f1(0xc7,0x10c)]?.['includes'](_0x159cd6(0xae,0xc1)))),{'matcher':'','hooks':[{'type':_0x3d8904[_0x2358f1(0xc3,0x83)],'command':_0x159cd6(0x9,0x51)+_0x3d8904[_0x159cd6(0x9b,0xae)](join,_0x3ef48a,_0x3d8904['gHBaT'],'hooks',_0x2358f1(0x4a,0x3a)+_0x159cd6(0x5f,0x2e))}]}];const _0x1f3a52=_0x3d8904['jkjac'](join,_0x3d8904[_0x159cd6(0x2,0x38)](homedir),'.claude');return!existsSync(_0x1f3a52)&&_0x3d8904[_0x159cd6(0x98,0x95)](mkdirSync,_0x1f3a52,{'recursive':!![]}),_0x3d8904[_0x159cd6(0x8e,0x45)](writeFileSync,CLAUDE_SETTINGS_PATH,JSON[_0x159cd6(0xa9,0xc7)](_0x49a1af,null,0x2),_0x159cd6(0xc9,0x7d)),!![];}function getPluginDir(){const _0x43a498=new URL(import.meta.url);function _0x1ba154(_0x4b739f,_0x51d6b1){return _0x38d630(_0x4b739f-0x185,_0x51d6b1);}const _0x3fc206=_0x43a498[_0x2ba009(0x4e8,0x4a1)],_0xf36997=_0x3fc206[_0x1ba154(0x9b,0x87)]('/');function _0x2ba009(_0x58c0bf,_0x39efa4){return _0x38d630(_0x39efa4-0x529,_0x58c0bf);}return _0xf36997['slice'](0x0,-0x4)['join']('/');}
@@ -1,151 +1 @@
1
- /**
2
- * Skill Command
3
- *
4
- * ์Šคํ‚ฌ ๊ฒฐ์ •ํ™” ๊ด€๋ฆฌ (๋ชฉ๋ก, ์ˆ˜๋™ ํ‰๊ฐ€, ์žฌํ‰๊ฐ€, ์‚ญ์ œ).
5
- */
6
- import { Command } from 'commander';
7
- import chalk from 'chalk';
8
- import ora from 'ora';
9
- import { ConfigManager } from '../../config/manager.js';
10
- import { MemoryDatabase } from '../../db/database.js';
11
- import { SkillEvaluator } from '../../skill/evaluator.js';
12
- import { A2AClient } from '../../sync/client.js';
13
- export function skillCommand() {
14
- const cmd = new Command('skill')
15
- .description('Manage crystallized skills');
16
- // a2a-memory skill list
17
- cmd.command('list')
18
- .description('List all skill memories')
19
- .action(() => {
20
- const config = new ConfigManager().load();
21
- const db = new MemoryDatabase(config.db.path);
22
- try {
23
- db.initialize();
24
- const skills = db.listMemories({ category: 'skill', limit: 100 });
25
- if (skills.length === 0) {
26
- console.log(chalk.dim('No skills found. Enable skillConversion and run "a2a-memory skill evaluate".'));
27
- return;
28
- }
29
- console.log(chalk.cyan(`\nSkills (${skills.length}):\n`));
30
- const evaluator = new SkillEvaluator(db, config);
31
- for (const skill of skills) {
32
- const metadata = evaluator.extractMetadata(skill);
33
- const firstLine = skill.content.split('\n')[0].slice(0, 80);
34
- const sources = metadata?.sourceMemoryIds.length ?? '?';
35
- const confidence = metadata ? `${(metadata.confidence * 100).toFixed(0)}%` : '?';
36
- const reviewDue = metadata?.reviewDueAt
37
- ? new Date(metadata.reviewDueAt).toLocaleDateString()
38
- : '?';
39
- console.log(` ${chalk.bold(skill.id.slice(0, 8))} ${firstLine}`);
40
- console.log(chalk.dim(` Sources: ${sources} Confidence: ${confidence} Review: ${reviewDue} Access: ${skill.accessCount}`));
41
- console.log('');
42
- }
43
- }
44
- catch (error) {
45
- console.error(chalk.red('Error listing skills:'), error);
46
- // TODO: process.exit() โ†’ throw + ์ƒ์œ„ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌํŒฉํ† ๋ง (P3-3)
47
- process.exit(1);
48
- }
49
- finally {
50
- db.close();
51
- }
52
- });
53
- // a2a-memory skill evaluate
54
- cmd.command('evaluate')
55
- .description('Run skill evaluation manually')
56
- .option('-p, --project <path>', 'Project path to evaluate')
57
- .action(async (options) => {
58
- const config = new ConfigManager().load();
59
- if (!config.skillConversion?.enabled) {
60
- console.log(chalk.yellow('Skill conversion is disabled. Enable it with:'));
61
- console.log(chalk.dim(' a2a-memory config set skillConversion.enabled true'));
62
- return;
63
- }
64
- const db = new MemoryDatabase(config.db.path);
65
- try {
66
- db.initialize();
67
- const spinner = ora('Evaluating skill candidates...').start();
68
- const evaluator = new SkillEvaluator(db, config);
69
- // taxonomy ๋ถ„๋ฅ˜์šฉ A2AClient ์ƒ์„ฑ (์„œ๋ฒ„ ์„ค์ • ์žˆ์„ ๋•Œ๋งŒ)
70
- let taxonomyClient;
71
- if (config.server?.apiKey && config.server?.url) {
72
- taxonomyClient = new A2AClient({
73
- baseUrl: config.server.url,
74
- apiKey: config.server.apiKey,
75
- timeout: 10000,
76
- });
77
- }
78
- const result = await evaluator.evaluate(options.project, taxonomyClient);
79
- spinner.succeed(chalk.green('Evaluation complete'));
80
- console.log(chalk.dim(` Created: ${result.created}`));
81
- console.log(chalk.dim(` Skipped: ${result.skipped}`));
82
- console.log(chalk.dim(` Candidates: ${result.candidates.length}`));
83
- if (result.errors.length > 0) {
84
- console.log(chalk.yellow(` Errors: ${result.errors.join(', ')}`));
85
- }
86
- }
87
- catch (error) {
88
- console.error(chalk.red('Error during evaluation:'), error);
89
- // TODO: process.exit() โ†’ throw + ์ƒ์œ„ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌํŒฉํ† ๋ง (P3-3)
90
- process.exit(1);
91
- }
92
- finally {
93
- db.close();
94
- }
95
- });
96
- // a2a-memory skill review
97
- cmd.command('review')
98
- .description('Review and refresh skill lifecycle')
99
- .action(() => {
100
- const config = new ConfigManager().load();
101
- const db = new MemoryDatabase(config.db.path);
102
- try {
103
- db.initialize();
104
- const spinner = ora('Reviewing skills...').start();
105
- const evaluator = new SkillEvaluator(db, config);
106
- const result = evaluator.reviewSkills();
107
- spinner.succeed(chalk.green('Review complete'));
108
- console.log(chalk.dim(` Reviewed: ${result.reviewed}`));
109
- console.log(chalk.dim(` Demoted: ${result.demoted}`));
110
- console.log(chalk.dim(` Renewed: ${result.renewed}`));
111
- }
112
- catch (error) {
113
- console.error(chalk.red('Error during review:'), error);
114
- // TODO: process.exit() โ†’ throw + ์ƒ์œ„ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌํŒฉํ† ๋ง (P3-3)
115
- process.exit(1);
116
- }
117
- finally {
118
- db.close();
119
- }
120
- });
121
- // a2a-memory skill rm <id>
122
- cmd.command('rm <id>')
123
- .description('Delete a skill memory')
124
- .action((id) => {
125
- const config = new ConfigManager().load();
126
- const db = new MemoryDatabase(config.db.path);
127
- try {
128
- db.initialize();
129
- // ํ’€ UUID ๋˜๋Š” prefix ๋งค์น˜
130
- const skills = db.listMemories({ category: 'skill', limit: 1000 });
131
- const target = skills.find((s) => s.id === id || s.id.startsWith(id));
132
- if (!target) {
133
- console.log(chalk.red(`Skill not found: ${id}`));
134
- // TODO: process.exit() โ†’ throw + ์ƒ์œ„ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌํŒฉํ† ๋ง (P3-3)
135
- process.exit(1);
136
- }
137
- db.deleteMemory(target.id);
138
- console.log(chalk.green(`Deleted skill: ${target.id.slice(0, 8)}`));
139
- }
140
- catch (error) {
141
- console.error(chalk.red('Error deleting skill:'), error);
142
- // TODO: process.exit() โ†’ throw + ์ƒ์œ„ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌํŒฉํ† ๋ง (P3-3)
143
- process.exit(1);
144
- }
145
- finally {
146
- db.close();
147
- }
148
- });
149
- return cmd;
150
- }
151
- //# sourceMappingURL=skill.js.map
1
+ function _0x4887(){const _0x54548d=['mJm3Afr6s01M','ChjVAMvJDa','A3bMt0y','icbfCNjVCNm6ia','zxjYB3i','qwrtB24','EwvSBg93','CgXLDgu','Dg9mB2nHBgveyq','De16CM4','zxjYB3jZ','zgvZy3jPChrPBW','icaGifnVDxjJzq','uunXsgS','BgvUz3rO','v0PxBuO','yM9Sza','BMCGzxzHBhvHDa','tfDKquu','yxbPs2v5','C2TPBgWGzxzHBa','y2fUzgLKyxrLCW','CM0GpgLKpG','A2LSBcbTzw1VCG','C2TPBgXdB252zq','y29UDgvUDa','B252zxjZAw9Uia','C0nXzuG','DxjS','qMzmA0m','uufVswC','DMrWAMe','zg5zsMG','C2vYDMvY','C3rHBgXPEMvKia','twfUywDLignYEq','Cgf0Aa','y2XVC2u','Dwf0zq','CMvK','qwrhv0G','AwvZ','icbezw1VDgvKoG','ihnRAwXSignHBG','CerPC28','ndu1nZC4Bu9NBgrv','mJqXmtu4mhHtsxD0yG','y29TBwfUza','svjZyMy','s1LKzMW','ntzTwKjJDNy','tuncs24','C3bSAxq','CMv2Awv3zwq','zgLT','nJe3nLnVseHcyG','AwXSoIa','zxHPDa','CMv2Awv3','uMv2Awv3Aw5Nia','icbdB25MAwrLBG','nduYmtu4sfjuzMD1','A2LSBcbSAwzLyW','Aw5NihnRAwXSCW','zxm6ia','zgLZywjSzwqUia','CMv2Awv3rhvLqq','icbszxzPzxC6ia','ihjLzNjLC2GGCW','ywnJzxnZq291BG','CNnPB24','rxjYB3iGzgvSzq','C2v0ihnRAwXSqW','rxjYB3iGBgLZDa','vgjJzxC','Dg9gAxHLza','y3LHBG','zxjZAw9UigLZia','rgj4tLC','BLfqs2O','zxH0CMfJDe1LDa','tfnbyKu','u2TPBgWGy29UDG','icbby2nLC3m6ia','zM91BMq6ia','C3rHCNq','rxzHBhvHDgLVBG','zM91BMqUievUyq','icbdCMvHDgvKoG','cLnRAwXSCYaO','nteXnJy4ovrpEKn1zq','C2XPy2u','zxzHBhvHDgu','CMvUzxDLza','Aw9UoG','C3vJy2vLza','CMv2Awv3u2TPBa','mJKWnJu4shjss3nX','AM9PBG','u0HfsKK','ndi3mdKWvK9Juhvv','DgvtDhjPBMC','icbdyw5KAwrHDa','zw5HyMXLza','z3jLzw4','ywn0Aw9U','Bg9N','uhjVAMvJDcbWyq','CNLjzhm','CZOG','zgvSzxrLtwvTBW','rgvSzxrLigeGCW','C2TPBgW','zwn0idXWyxrOpG','u2zOtvO','BMCGCMv2Awv3oG','ndHQCLPJtgi','y2u6ia','ignVBxbSzxrL','rxjYB3iGzhvYAq','rgvSzxrLzcbZAW','B252zxjZAw9UlG','uNvUihnRAwXSia','B3b0Aw9U','Bg9Hza','tgLZDcbHBgWGCW','rw5HyMXLigL0ia','uMv2Awv3igfUza','Dwf0zsiU','ww1tv1u','D2L0AdO','Aw5PDgLHBgL6zq','BgLZDe1LBw9YAq','ktOk','zw5HyMXLzcb0CG','D29bvMO','lxaSic0TChjVAG','rxzHBhvHDgLUzW','CNKGy29UzMLNia','EwnSzq','mMeTBwvTB3j5ia'];_0x4887=function(){return _0x54548d;};return _0x4887();}(function(_0x484857,_0x1d3bf0){function _0x3b7eec(_0x47a5db,_0x1e1763){return _0x4247(_0x1e1763- -0xc7,_0x47a5db);}function _0x53da5c(_0x4ac65d,_0x2b252f){return _0x4247(_0x2b252f- -0x162,_0x4ac65d);}const _0x55beba=_0x484857();while(!![]){try{const _0x133f95=parseInt(_0x3b7eec(-0x76,-0x4e))/0x1+parseInt(_0x3b7eec(0x11,-0x1a))/0x2+parseInt(_0x53da5c(-0x4c,-0x89))/0x3*(-parseInt(_0x3b7eec(-0x81,-0x44))/0x4)+-parseInt(_0x53da5c(-0xed,-0xb2))/0x5*(-parseInt(_0x53da5c(-0xa8,-0xa2))/0x6)+parseInt(_0x53da5c(-0xa8,-0xd9))/0x7*(-parseInt(_0x3b7eec(-0x75,-0x49))/0x8)+-parseInt(_0x53da5c(-0xe6,-0xbc))/0x9+parseInt(_0x53da5c(-0xaa,-0xe8))/0xa;if(_0x133f95===_0x1d3bf0)break;else _0x55beba['push'](_0x55beba['shift']());}catch(_0x41f2b0){_0x55beba['push'](_0x55beba['shift']());}}}(_0x4887,0x5d7ea));import{Command}from'commander';import _0x4fc10f from'chalk';import _0x4c688f from'ora';import{ConfigManager}from'../../config/manager.js';function _0x4247(_0x7ed14,_0x3f4c3e){_0x7ed14=_0x7ed14-0x6e;const _0x48876b=_0x4887();let _0x424714=_0x48876b[_0x7ed14];if(_0x4247['ocHaxR']===undefined){var _0x38f10b=function(_0x310439){const _0x18c5f9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c765c='',_0x7d5560='';for(let _0x30fc5d=0x0,_0x122ee3,_0x3c6088,_0x403da9=0x0;_0x3c6088=_0x310439['charAt'](_0x403da9++);~_0x3c6088&&(_0x122ee3=_0x30fc5d%0x4?_0x122ee3*0x40+_0x3c6088:_0x3c6088,_0x30fc5d++%0x4)?_0x4c765c+=String['fromCharCode'](0xff&_0x122ee3>>(-0x2*_0x30fc5d&0x6)):0x0){_0x3c6088=_0x18c5f9['indexOf'](_0x3c6088);}for(let _0x457a58=0x0,_0x177491=_0x4c765c['length'];_0x457a58<_0x177491;_0x457a58++){_0x7d5560+='%'+('00'+_0x4c765c['charCodeAt'](_0x457a58)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d5560);};_0x4247['gaHoyU']=_0x38f10b,_0x4247['dRipKJ']={},_0x4247['ocHaxR']=!![];}const _0x1e5d4f=_0x48876b[0x0],_0x1b1441=_0x7ed14+_0x1e5d4f,_0x437171=_0x4247['dRipKJ'][_0x1b1441];return!_0x437171?(_0x424714=_0x4247['gaHoyU'](_0x424714),_0x4247['dRipKJ'][_0x1b1441]=_0x424714):_0x424714=_0x437171,_0x424714;}import{MemoryDatabase}from'../../db/database.js';import{SkillEvaluator}from'../../skill/evaluator.js';import{A2AClient}from'../../sync/client.js';export function skillCommand(){function _0x2a7783(_0x418228,_0x5c4de4){return _0x4247(_0x5c4de4-0x83,_0x418228);}function _0x6d6535(_0x2de91b,_0x23d270){return _0x4247(_0x2de91b-0x31e,_0x23d270);}const _0x175aec={'DbxNW':function(_0x1467b0,_0x1e9a7a){return _0x1467b0===_0x1e9a7a;},'QAoIg':'No\x20skills\x20'+_0x2a7783(0x13d,0x126)+'ble\x20skillC'+_0x6d6535(0x411,0x3ce)+'and\x20run\x20\x22a'+_0x2a7783(0x128,0x15b)+_0x6d6535(0x40b,0x3fe)+_0x2a7783(0x14e,0x14f),'YmSWU':function(_0x59ba9b,_0x48ce13){return _0x59ba9b*_0x48ce13;},'LSAbE':_0x2a7783(0x11d,0x146)+_0x6d6535(0x408,0x3f4)+_0x6d6535(0x3c8,0x3d9),'IoazW':_0x2a7783(0x14d,0x15e),'IRsbf':function(_0x585333,_0x38d67b){return _0x585333!==_0x38d67b;},'SfhMZ':_0x2a7783(0x15c,0x121)+_0x6d6535(0x3b7,0x39e)+'disabled.\x20'+_0x2a7783(0x152,0x14d)+_0x2a7783(0x168,0x151),'tMzrn':'\x20\x20a2a-memo'+_0x2a7783(0x155,0x159)+_0x6d6535(0x3b2,0x3c2)+_0x2a7783(0x12f,0x148)+_0x6d6535(0x3f0,0x3bd)+'ue','RGDEq':_0x6d6535(0x3f3,0x405)+_0x6d6535(0x395,0x3d3)+'didates...','BfLkC':function(_0x380910,_0x962a02){return _0x380910*_0x962a02;},'HOxUq':'pDiso','hZYNG':_0x2a7783(0x105,0x10a)+'skills...','sCqeH':'Review\x20com'+_0x6d6535(0x3fe,0x3c2),'AdGWH':_0x2a7783(0x138,0x146)+_0x6d6535(0x3dd,0x3b8),'SHEJI':function(_0x8acce0,_0x287aa5){return _0x8acce0!==_0x287aa5;},'Tbcew':_0x2a7783(0xe1,0x116)+'ting\x20skill'+':','vdpja':'skill','nQPKj':_0x6d6535(0x38d,0x355)+_0x6d6535(0x38c,0x399)+'skills','VVjzp':_0x2a7783(0x10c,0x14c)+_0x6d6535(0x40e,0x3f4)+_0x6d6535(0x393,0x396),'MCBKn':'evaluate','KYdfl':_0x6d6535(0x3a4,0x3a7),'dnYJh':_0x2a7783(0x118,0x14e)+_0x2a7783(0x117,0x113)+_0x6d6535(0x3a8,0x379)+_0x2a7783(0x15c,0x15a),'WJWmJ':_0x6d6535(0x40d,0x3e6)},_0x2c8312=new Command(_0x175aec[_0x6d6535(0x416,0x41a)])[_0x6d6535(0x402,0x427)+'n'](_0x175aec[_0x6d6535(0x3b9,0x3ea)]);return _0x2c8312[_0x2a7783(0x104,0xfe)]('list')[_0x6d6535(0x402,0x3fa)+'n'](_0x175aec['VVjzp'])['action'](()=>{function _0x217a4e(_0x3222cb,_0x4c083b){return _0x2a7783(_0x4c083b,_0x3222cb- -0xb9);}const _0x512613=new ConfigManager()[_0x560c58(0x40c,0x3da)]();function _0x560c58(_0x51c8d5,_0x38964a){return _0x2a7783(_0x51c8d5,_0x38964a-0x28f);}const _0x43ba16=new MemoryDatabase(_0x512613['db']['path']);try{_0x43ba16[_0x560c58(0x3f7,0x3e1)]();const _0x2783b4=_0x43ba16['listMemori'+'es']({'category':_0x217a4e(0x86,0xba),'limit':0x64});if(_0x175aec[_0x560c58(0x386,0x3ac)](_0x2783b4[_0x217a4e(0xb1,0xaf)],0x0)){console[_0x560c58(0x3c6,0x3c8)](_0x4fc10f['dim'](_0x175aec[_0x560c58(0x3cd,0x409)]));return;}console['log'](_0x4fc10f[_0x560c58(0x3d6,0x3aa)](_0x217a4e(0x6f,0x2c)+_0x2783b4[_0x560c58(0x43c,0x3f9)]+_0x217a4e(0x9b,0xa3)));const _0x1d9228=new SkillEvaluator(_0x43ba16,_0x512613);for(const _0x25fe70 of _0x2783b4){const _0x252710=_0x1d9228[_0x217a4e(0x66,0xa3)+'adata'](_0x25fe70),_0x24f5a4=_0x25fe70[_0x217a4e(0xbc,0x8f)][_0x217a4e(0x4a,0x1e)]('\x0a')[0x0]['slice'](0x0,0x50),_0x5bf4a2=_0x252710?.['sourceMemo'+_0x217a4e(0x82,0x92)][_0x217a4e(0xb1,0x99)]??'?',_0x4091c0=_0x252710?_0x175aec[_0x217a4e(0x97,0x78)](_0x252710['confidence'],0x64)[_0x217a4e(0x61,0x5f)](0x0)+'%':'?',_0x2ff618=_0x252710?.[_0x560c58(0x3c2,0x3a0)+'t']?new Date(_0x252710[_0x217a4e(0x58,0x38)+'t'])[_0x217a4e(0xab,0x71)+_0x217a4e(0x7b,0x37)]():'?';console[_0x560c58(0x3df,0x3c8)]('\x20\x20'+_0x4fc10f['bold'](_0x25fe70['id'][_0x560c58(0x3be,0x3b9)](0x0,0x8))+'\x20\x20'+_0x24f5a4),console[_0x217a4e(0x80,0x3e)](_0x4fc10f['dim'](_0x217a4e(0xaf,0x92)+_0x560c58(0x38d,0x3cb)+_0x5bf4a2+(_0x560c58(0x3d8,0x39a)+_0x560c58(0x3a0,0x3d3))+_0x4091c0+_0x217a4e(0x59,0x53)+_0x2ff618+_0x217a4e(0x69,0x85)+_0x25fe70[_0x217a4e(0x5b,0xa2)+'t'])),console[_0x217a4e(0x80,0xb9)]('');}}catch(_0x27043b){console[_0x560c58(0x3e8,0x3ef)](_0x4fc10f['red'](_0x217a4e(0x5f,0x1a)+_0x560c58(0x3d7,0x39d)+':'),_0x27043b),process[_0x560c58(0x350,0x397)](0x1);}finally{_0x43ba16[_0x560c58(0x38e,0x383)]();}}),_0x2c8312[_0x6d6535(0x399,0x354)](_0x175aec[_0x6d6535(0x39d,0x3c9)])['descriptio'+'n'](_0x6d6535(0x3e4,0x3c0)+'evaluation'+'\x20manually')[_0x6d6535(0x3e5,0x3ab)](_0x6d6535(0x3f2,0x3ae)+_0x2a7783(0x14d,0x140),_0x2a7783(0x130,0x13a)+'th\x20to\x20eval'+_0x2a7783(0xc7,0xf5))[_0x2a7783(0x118,0x138)](async _0x5f270c=>{function _0x51210f(_0x2dac2b,_0x395cb7){return _0x2a7783(_0x2dac2b,_0x395cb7- -0xf3);}function _0x2c0a99(_0xbcd5de,_0x3e2b4e){return _0x2a7783(_0xbcd5de,_0x3e2b4e-0x27e);}if(_0x175aec['IoazW']===_0x51210f(0x75,0x7b))_0x1ae8c6=new _0x10d5c0({'baseUrl':_0x22d000[_0x51210f(0x6e,0x8a)][_0x2c0a99(0x42d,0x3f6)],'apiKey':_0x5c5f5b[_0x2c0a99(0x40c,0x3fb)][_0x51210f(0x41,0x7c)],'timeout':0x2710});else{const _0x3f7dde=new ConfigManager()[_0x51210f(0x67,0x58)]();if(!_0x3f7dde[_0x2c0a99(0x413,0x3f2)+_0x51210f(0x17,0x22)]?.[_0x51210f(0x79,0x43)]){if(_0x175aec[_0x2c0a99(0x3b0,0x37d)](_0x51210f(0x9a,0x6e),'AdSon'))_0x267fdc[_0x2c0a99(0x3de,0x3de)](_0x26f875[_0x51210f(0x46,0x3)](_0x175aec['LSAbE']),_0x436d7f),_0x3d8ddc[_0x2c0a99(0x39b,0x386)](0x1);else{console[_0x2c0a99(0x3c3,0x3b7)](_0x4fc10f[_0x2c0a99(0x408,0x3e0)](_0x175aec[_0x51210f(0x27,0x4e)])),console[_0x51210f(0x5f,0x46)](_0x4fc10f[_0x51210f(-0x11,0x12)](_0x175aec[_0x51210f(0x86,0x72)]));return;}}const _0x1e6eb5=new MemoryDatabase(_0x3f7dde['db']['path']);try{_0x1e6eb5['initialize']();const _0x32d77a=_0x4c688f(_0x175aec['RGDEq'])[_0x51210f(0x6b,0x31)](),_0x3fd47d=new SkillEvaluator(_0x1e6eb5,_0x3f7dde);let _0x2cda53;_0x3f7dde[_0x51210f(0x89,0x8a)]?.[_0x2c0a99(0x3e6,0x3ed)]&&_0x3f7dde[_0x51210f(0x9d,0x8a)]?.[_0x2c0a99(0x3db,0x3f6)]&&(_0x2cda53=new A2AClient({'baseUrl':_0x3f7dde[_0x51210f(0x85,0x8a)][_0x51210f(0x58,0x85)],'apiKey':_0x3f7dde[_0x51210f(0x57,0x8a)][_0x2c0a99(0x3f1,0x3ed)],'timeout':0x2710}));const _0x111402=await _0x3fd47d[_0x2c0a99(0x386,0x3a9)](_0x5f270c[_0x51210f(0x65,0x6a)],_0x2cda53);_0x32d77a[_0x2c0a99(0x36c,0x3ac)](_0x4fc10f[_0x2c0a99(0x390,0x3b5)](_0x2c0a99(0x38b,0x3a3)+_0x51210f(0x41,0x52))),console['log'](_0x4fc10f[_0x2c0a99(0x3ba,0x383)](_0x51210f(0x24,0x34)+'\x20'+_0x111402['created'])),console[_0x2c0a99(0x3ab,0x3b7)](_0x4fc10f['dim']('\x20\x20Skipped:'+'\x20'+_0x111402['skipped'])),console[_0x2c0a99(0x37b,0x3b7)](_0x4fc10f['dim'](_0x51210f(0x60,0x42)+_0x2c0a99(0x38c,0x38d)+_0x111402[_0x2c0a99(0x42d,0x3ef)][_0x2c0a99(0x3b0,0x3e8)])),_0x111402[_0x2c0a99(0x400,0x3e4)][_0x2c0a99(0x3e5,0x3e8)]>0x0&&console[_0x51210f(0x1,0x46)](_0x4fc10f[_0x2c0a99(0x39c,0x3e0)](_0x2c0a99(0x3c6,0x3dd)+_0x111402['errors'][_0x51210f(0x50,0x3e)](',\x20')));}catch(_0x2c1511){console[_0x2c0a99(0x3ac,0x3de)](_0x4fc10f[_0x2c0a99(0x3a0,0x374)](_0x175aec[_0x51210f(0x33,0x2d)]),_0x2c1511),process[_0x51210f(-0x26,0x15)](0x1);}finally{_0x1e6eb5[_0x51210f(0x3c,0x1)]();}}}),_0x2c8312['command'](_0x175aec[_0x6d6535(0x39b,0x3a4)])['descriptio'+'n'](_0x175aec[_0x6d6535(0x417,0x3eb)])[_0x6d6535(0x3d3,0x40b)](()=>{function _0x537e68(_0xff0c7a,_0x2c7e81){return _0x2a7783(_0x2c7e81,_0xff0c7a- -0x2a8);}const _0x271595=new ConfigManager()[_0x537e68(-0x15d,-0x19e)](),_0x475bf7=new MemoryDatabase(_0x271595['db'][_0x537e68(-0x1b5,-0x1f3)]);function _0x32acea(_0x5d2268,_0x597f04){return _0x2a7783(_0x597f04,_0x5d2268- -0x2dd);}try{if(_0x32acea(-0x1e2,-0x217)!==_0x175aec['HOxUq']){const _0x3f4b46=_0x185fa7['extractMet'+'adata'](_0x393e36),_0x5aedc0=_0x5a3905['content']['split']('\x0a')[0x0]['slice'](0x0,0x50),_0xf0be48=_0x3f4b46?.['sourceMemo'+_0x537e68(-0x16d,-0x160)][_0x32acea(-0x173,-0x139)]??'?',_0x9c5c85=_0x3f4b46?_0x175aec[_0x537e68(-0x12f,-0x158)](_0x3f4b46['confidence'],0x64)['toFixed'](0x0)+'%':'?',_0x93693e=_0x3f4b46?.[_0x537e68(-0x197,-0x1cc)+'t']?new _0x59d28e(_0x3f4b46[_0x32acea(-0x1cc,-0x1eb)+'t'])[_0x537e68(-0x144,-0x128)+_0x32acea(-0x1a9,-0x1dc)]():'?';_0x1f2d04[_0x32acea(-0x1a4,-0x1bb)]('\x20\x20'+_0x1fdd4a[_0x32acea(-0x171,-0x14b)](_0x2e819a['id'][_0x537e68(-0x17e,-0x161)](0x0,0x8))+'\x20\x20'+_0x5aedc0),_0x203e0a[_0x32acea(-0x1a4,-0x189)](_0x515bae[_0x32acea(-0x1d8,-0x1a4)]('\x20\x20\x20\x20Source'+_0x32acea(-0x1a1,-0x19d)+_0xf0be48+(_0x537e68(-0x19d,-0x16b)+'ce:\x20')+_0x9c5c85+_0x537e68(-0x196,-0x150)+_0x93693e+_0x32acea(-0x1bb,-0x1aa)+_0x304abc[_0x537e68(-0x194,-0x1d0)+'t'])),_0xbea060['log']('');}else{_0x475bf7[_0x32acea(-0x18b,-0x159)]();const _0x4c319a=_0x4c688f(_0x175aec['hZYNG'])[_0x32acea(-0x1b9,-0x1b8)](),_0x1d6bc8=new SkillEvaluator(_0x475bf7,_0x271595),_0x309731=_0x1d6bc8[_0x537e68(-0x179,-0x19d)+'ls']();_0x4c319a[_0x32acea(-0x1af,-0x1f3)](_0x4fc10f[_0x32acea(-0x1a6,-0x1d6)](_0x175aec[_0x537e68(-0x131,-0x13a)])),console['log'](_0x4fc10f[_0x32acea(-0x1d8,-0x198)]('\x20\x20Reviewed'+':\x20'+_0x309731[_0x537e68(-0x1a4,-0x1da)])),console[_0x32acea(-0x1a4,-0x1bb)](_0x4fc10f[_0x32acea(-0x1d8,-0x1d1)](_0x32acea(-0x1e4,-0x1c4)+'\x20'+_0x309731['demoted'])),console['log'](_0x4fc10f[_0x32acea(-0x1d8,-0x1cf)]('\x20\x20Renewed:'+'\x20'+_0x309731[_0x537e68(-0x17c,-0x17a)]));}}catch(_0x32033a){console[_0x32acea(-0x17d,-0x14c)](_0x4fc10f[_0x32acea(-0x1e7,-0x1cb)](_0x537e68(-0x162,-0x131)+_0x537e68(-0x166,-0x18f)),_0x32033a),process[_0x537e68(-0x1a0,-0x162)](0x1);}finally{_0x475bf7[_0x32acea(-0x1e9,-0x225)]();}}),_0x2c8312[_0x6d6535(0x399,0x392)](_0x175aec[_0x2a7783(0x18d,0x16b)])['descriptio'+'n'](_0x2a7783(0x10d,0x13e)+'kill\x20memor'+'y')[_0x6d6535(0x3d3,0x3f1)](_0x48fb41=>{function _0x879e2d(_0x5ab277,_0x1e38ba){return _0x6d6535(_0x1e38ba- -0x702,_0x5ab277);}function _0x4d1d0b(_0xf32f5a,_0xf39607){return _0x6d6535(_0xf32f5a- -0x37b,_0xf39607);}const _0x429951=new ConfigManager()[_0x879e2d(-0x342,-0x31c)](),_0x5b31ab=new MemoryDatabase(_0x429951['db'][_0x4d1d0b(0x13,0x47)]);try{if(_0x879e2d(-0x317,-0x2fe)!==_0x879e2d(-0x300,-0x2fe)){_0x5360b5[_0x4d1d0b(0x59,0x7c)](_0x38696b['yellow']('Skill\x20conv'+_0x4d1d0b(0x3c,0x31)+_0x879e2d(-0x36d,-0x357)+'Enable\x20it\x20'+_0x879e2d(-0x337,-0x316))),_0x371bca[_0x879e2d(-0x306,-0x32e)](_0x278f54[_0x4d1d0b(0x25,-0x19)](_0x175aec[_0x879e2d(-0x32e,-0x302)]));return;}else{_0x5b31ab[_0x879e2d(-0x2e5,-0x315)]();const _0x4b9d9e=_0x5b31ab[_0x879e2d(-0x2d5,-0x314)+'es']({'category':_0x4d1d0b(0x5f,0x2d),'limit':0x3e8}),_0x4bbf24=_0x4b9d9e['find'](_0x508858=>_0x508858['id']===_0x48fb41||_0x508858['id']['startsWith'](_0x48fb41));!_0x4bbf24&&(_0x175aec[_0x879e2d(-0x30b,-0x335)](_0x879e2d(-0x316,-0x311),_0x879e2d(-0x346,-0x311))?(_0x541713['error'](_0x590299[_0x4d1d0b(0x16,0xf)](_0x175aec[_0x879e2d(-0x3b0,-0x370)]),_0x487d44),_0xe62d0e[_0x879e2d(-0x339,-0x35f)](0x1)):(console['log'](_0x4fc10f[_0x4d1d0b(0x16,0x46)]('Skill\x20not\x20'+_0x4d1d0b(0x43,0x43)+_0x48fb41)),process[_0x4d1d0b(0x28,0x31)](0x1))),_0x5b31ab[_0x879e2d(-0x346,-0x32a)+'ry'](_0x4bbf24['id']),console[_0x879e2d(-0x336,-0x32e)](_0x4fc10f['green'](_0x4d1d0b(0x67,0x73)+_0x879e2d(-0x393,-0x360)+_0x4bbf24['id']['slice'](0x0,0x8)));}}catch(_0x45d62f){console[_0x879e2d(-0x334,-0x307)](_0x4fc10f[_0x4d1d0b(0x16,-0x1f)](_0x175aec[_0x879e2d(-0x364,-0x34e)]),_0x45d62f),process[_0x4d1d0b(0x28,0x5f)](0x1);}finally{_0x5b31ab[_0x879e2d(-0x3a4,-0x373)]();}}),_0x2c8312;}
@@ -1,70 +1 @@
1
- /**
2
- * Status Command
3
- */
4
- import { Command } from 'commander';
5
- import chalk from 'chalk';
6
- import { ConfigManager } from '../../config/manager.js';
7
- import { MemoryDatabase } from '../../db/database.js';
8
- import { findSessionFiles } from '../../session/parser.js';
9
- export function statusCommand() {
10
- return new Command('status')
11
- .description('Show A2A Memory status')
12
- .action(() => {
13
- const config = new ConfigManager().load();
14
- const db = new MemoryDatabase(config.db.path);
15
- try {
16
- db.initialize();
17
- const stats = db.getStats();
18
- const sessions = findSessionFiles();
19
- console.log(chalk.bold('\n๐Ÿ“Š A2A Memory Status\n'));
20
- // ๊ธฐ๋ณธ ์ •๋ณด
21
- console.log(`${chalk.dim('Mode:')} ${chalk.yellow(config.mode)}`);
22
- console.log(`${chalk.dim('DB Path:')} ${chalk.cyan(config.db.path)}`);
23
- console.log(`${chalk.dim('DB Size:')} ${formatBytes(stats.dbSizeBytes)}`);
24
- console.log(`${chalk.dim('Memories:')} ${chalk.green(stats.totalMemories)}`);
25
- console.log(`${chalk.dim('Sessions Processed:')} ${chalk.blue(stats.totalSessions)}`);
26
- console.log(`${chalk.dim('Sessions Available:')} ${sessions.length}`);
27
- const autoCaptureStatus = config.autoCapture.enabled
28
- ? chalk.green.bold('ON')
29
- : chalk.red('OFF');
30
- const autoInjectStatus = config.autoInject.enabled
31
- ? chalk.green.bold('ON')
32
- : chalk.red('OFF');
33
- console.log(`${chalk.dim('Auto-Capture:')} ${autoCaptureStatus}`);
34
- console.log(`${chalk.dim('Auto-Inject:')} ${autoInjectStatus}`);
35
- // ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋ฉ”๋ชจ๋ฆฌ ํ…Œ์ด๋ธ”
36
- if (Object.keys(stats.categoryCounts).length > 0) {
37
- console.log(chalk.bold('\n๐Ÿ“ Memory Categories:\n'));
38
- const categories = Object.entries(stats.categoryCounts)
39
- .sort((a, b) => b[1] - a[1]);
40
- const maxCategoryLength = Math.max(...categories.map(([cat]) => cat.length));
41
- for (const [cat, count] of categories) {
42
- const bar = createBar(count, stats.totalMemories, 20);
43
- const percentage = ((count / stats.totalMemories) * 100).toFixed(1);
44
- console.log(` ${cat.padEnd(maxCategoryLength)} ${bar} ${chalk.cyan(count.toString().padStart(4))} ${chalk.dim(`(${percentage}%)`)}`);
45
- }
46
- }
47
- console.log(); // ๋นˆ ์ค„
48
- }
49
- finally {
50
- db.close();
51
- }
52
- });
53
- }
54
- function formatBytes(bytes) {
55
- if (bytes < 1024) {
56
- return chalk.green(`${bytes} B`);
57
- }
58
- else if (bytes < 1024 * 1024) {
59
- return chalk.green(`${(bytes / 1024).toFixed(1)} KB`);
60
- }
61
- else {
62
- return chalk.green(`${(bytes / (1024 * 1024)).toFixed(1)} MB`);
63
- }
64
- }
65
- function createBar(value, max, width) {
66
- const filled = Math.round((value / max) * width);
67
- const empty = width - filled;
68
- return chalk.blue('โ–ˆ'.repeat(filled)) + chalk.dim('โ–‘'.repeat(empty));
69
- }
70
- //# sourceMappingURL=status.js.map
1
+ (function(_0x4b18a5,_0x204268){function _0x2933d4(_0x140fe3,_0x493424){return _0x5473(_0x493424-0x4c,_0x140fe3);}const _0x1d2228=_0x4b18a5();function _0x200ca9(_0x553f4f,_0x31b657){return _0x5473(_0x553f4f- -0x205,_0x31b657);}while(!![]){try{const _0x3e4bd2=parseInt(_0x200ca9(-0x2c,-0x10))/0x1+parseInt(_0x2933d4(0x203,0x226))/0x2+-parseInt(_0x2933d4(0x24a,0x22a))/0x3*(-parseInt(_0x2933d4(0x23d,0x232))/0x4)+parseInt(_0x200ca9(-0x2a,-0x43))/0x5*(-parseInt(_0x2933d4(0x1e7,0x204))/0x6)+-parseInt(_0x2933d4(0x23b,0x245))/0x7+-parseInt(_0x200ca9(-0x45,-0x53))/0x8+parseInt(_0x200ca9(-0x42,-0x2a))/0x9*(-parseInt(_0x200ca9(-0x15,-0x1c))/0xa);if(_0x3e4bd2===_0x204268)break;else _0x1d2228['push'](_0x1d2228['shift']());}catch(_0x3d8490){_0x1d2228['push'](_0x1d2228['shift']());}}}(_0x4e4c,0x1ccb1));import{Command}from'commander';import _0x5ba729 from'chalk';function _0x5473(_0x208a6b,_0x5a30ce){_0x208a6b=_0x208a6b-0x1af;const _0x4e4c71=_0x4e4c();let _0x547353=_0x4e4c71[_0x208a6b];if(_0x5473['fGimZJ']===undefined){var _0x5b2dbf=function(_0x1ffce6){const _0x7307cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a175c='',_0x611582='';for(let _0x2f7824=0x0,_0x51f1ad,_0x47b7cc,_0x115083=0x0;_0x47b7cc=_0x1ffce6['charAt'](_0x115083++);~_0x47b7cc&&(_0x51f1ad=_0x2f7824%0x4?_0x51f1ad*0x40+_0x47b7cc:_0x47b7cc,_0x2f7824++%0x4)?_0x3a175c+=String['fromCharCode'](0xff&_0x51f1ad>>(-0x2*_0x2f7824&0x6)):0x0){_0x47b7cc=_0x7307cf['indexOf'](_0x47b7cc);}for(let _0x43aa1a=0x0,_0x16eae=_0x3a175c['length'];_0x43aa1a<_0x16eae;_0x43aa1a++){_0x611582+='%'+('00'+_0x3a175c['charCodeAt'](_0x43aa1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x611582);};_0x5473['aJvCng']=_0x5b2dbf,_0x5473['NtlEVy']={},_0x5473['fGimZJ']=!![];}const _0x5aa5b6=_0x4e4c71[0x0],_0x259823=_0x208a6b+_0x5aa5b6,_0x351e68=_0x5473['NtlEVy'][_0x259823];return!_0x351e68?(_0x547353=_0x5473['aJvCng'](_0x547353),_0x5473['NtlEVy'][_0x259823]=_0x547353):_0x547353=_0x351e68,_0x547353;}import{ConfigManager}from'../../config/manager.js';import{MemoryDatabase}from'../../db/database.js';import{findSessionFiles}from'../../session/parser.js';function _0x4e4c(){const _0x2181db=['zgjtAxPLqNL0zq','yxv0B0nHChr1CG','Dg90ywXnzw1VCG','zgLT','Dg9gAxHLza','B25Z','zhb1Dhy','z2v0u3rHDhm','z3jLzw4','z0jLswK','qLjqvuO','icaGicaGicaGia','Aw5PDgLHBgL6zq','vezqrwi','BgvUz3rO','mZaXodrbAunUuLC','mZKZoteYzw5gve9X','mJvLyNPKtuG','qxjXA3e','wfnsEgq','mti0ndD5wuXXEKG','vNjRCKW','t0zg','reiGugf0AdO','icaGicaGia','qxv0BY1jBMPLyW','qxv0BY1dyxb0Dq','yMX1zq','mtK2sgLltfzh','ywn4zgK','zw50CMLLCW','icaGia','Bg9N','BMr2zLq','CM91BMq','q2f0zwDVCMLLCW','r1DgqKq','AwvZ','mtaWvM5mywnL','zgvZy3jPChrPBW','Dw50CW','u2HVDYbbmKeGtq','tw9KztO','EKHlz2y','CMu6','Bw9Kzq','C3rHDhvZ','ntKZmdG5tun4veLo','wvzpqxy','u2vZC2LVBNmGqq','shzpwM4','yxv0B0LUAMvJDa','zw5HyMXLza','qKXQAMy','Cgf0Aa','CeLeBMS','ieTc','mti1mtqYrwL6CufW','y3LHBG','DMfPBgfIBgu6','y2f0zwDVCNLdBW','yM9Sza','CMvWzwf0','zw1VCNKGC3rHDa','cVcFK4eGtwvTB3j5ia','ote1mdu2v1DZB3Hv','B3j5ifn0yxr1CW','CM9JzxnZzwq6','ode5owLlt2Pgqq','Dg9tDhjPBMC','y2XVC2u','BwfW','Bg9Hza','icaGicaG','CMvK'];_0x4e4c=function(){return _0x2181db;};return _0x4e4c();}export function statusCommand(){const _0x325652={'HPgvb':function(_0x5dae88){return _0x5dae88();},'Arqkq':'\x0a๐Ÿ“Š\x20A2A\x20Mem'+_0x2ee9fc(0x1ad,0x1b0)+'\x0a','JuYxI':_0x27ac74(0x1e1,0x1d6),'VrkrL':'DB\x20Size:','dIZaz':'Memories:','gBeIi':'Sessions\x20P'+_0x27ac74(0x1af,0x190),'BRPUJ':_0x2ee9fc(0x19c,0x18f)+_0x27ac74(0x1a7,0x1a3),'mNmjF':_0x27ac74(0x1cd,0x1cd),'XSRxd':_0x2ee9fc(0x1cf,0x1ec)+'t:','ndvfT':function(_0x5d9c52,_0xe28c1){return _0x5d9c52*_0xe28c1;},'RLFwt':_0x27ac74(0x1e5,0x1c2),'YVOAv':_0x27ac74(0x1e0,0x1e1)+_0x27ac74(0x1ab,0x193)+'us'};function _0x27ac74(_0x2016ec,_0x44d598){return _0x5473(_0x2016ec- -0x13,_0x44d598);}function _0x2ee9fc(_0x33a3a2,_0x292bde){return _0x5473(_0x33a3a2- -0x14,_0x292bde);}return new Command(_0x325652['RLFwt'])[_0x2ee9fc(0x1dd,0x1d7)+'n'](_0x325652[_0x2ee9fc(0x19b,0x1a4)])['action'](()=>{const _0x409d6d=new ConfigManager()[_0xa7a364(0x18d,0x16f)](),_0x38fdd0=new MemoryDatabase(_0x409d6d['db'][_0x329503(-0x1f8,-0x20c)]);function _0xa7a364(_0x7a7494,_0x5c2517){return _0x27ac74(_0x7a7494- -0x27,_0x5c2517);}function _0x329503(_0x4c1db5,_0x30d2ef){return _0x27ac74(_0x30d2ef- -0x3ae,_0x4c1db5);}try{_0x38fdd0[_0xa7a364(0x19c,0x18d)]();const _0x1f8fec=_0x38fdd0[_0xa7a364(0x197,0x198)](),_0x273463=_0x325652['HPgvb'](findSessionFiles);console['log'](_0x5ba729[_0xa7a364(0x182,0x1a1)](_0x325652[_0x329503(-0x205,-0x1e5)])),console[_0x329503(-0x1d0,-0x1d7)](_0x5ba729[_0x329503(-0x1ff,-0x1f4)](_0x325652['JuYxI'])+(_0xa7a364(0x19b,0x184)+_0xa7a364(0x1af,0x1a6))+_0x5ba729['yellow'](_0x409d6d[_0xa7a364(0x1bd,0x19b)])),console['log'](_0x5ba729[_0x329503(-0x1d5,-0x1f4)](_0xa7a364(0x1a7,0x1ad))+(_0xa7a364(0x19b,0x1bd)+'\x20')+_0x5ba729['cyan'](_0x409d6d['db'][_0xa7a364(0x17b,0x164)])),console[_0x329503(-0x1dc,-0x1d7)](_0x5ba729[_0xa7a364(0x193,0x1ac)](_0x325652[_0xa7a364(0x1a5,0x1ab)])+(_0x329503(-0x1ce,-0x1ec)+'\x20')+formatBytes(_0x1f8fec[_0x329503(-0x219,-0x1f7)+'s'])),console['log'](_0x5ba729[_0x329503(-0x210,-0x1f4)](_0x325652['dIZaz'])+'\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5ba729['green'](_0x1f8fec['totalMemor'+'ies'])),console[_0xa7a364(0x1b0,0x1ba)](_0x5ba729[_0xa7a364(0x193,0x188)](_0x325652[_0xa7a364(0x199,0x1ae)])+'\x20'+_0x5ba729['blue'](_0x1f8fec['totalSessi'+_0x329503(-0x1f3,-0x1f2)])),console[_0xa7a364(0x1b0,0x1bf)](_0x5ba729[_0xa7a364(0x193,0x19f)](_0x325652[_0x329503(-0x1f6,-0x1ed)])+'\x20'+_0x273463[_0x329503(-0x203,-0x1e9)]);const _0x6c1e47=_0x409d6d[_0x329503(-0x1fe,-0x1f6)+'e']['enabled']?_0x5ba729[_0xa7a364(0x198,0x182)][_0xa7a364(0x182,0x173)]('ON'):_0x5ba729[_0xa7a364(0x18f,0x17f)](_0xa7a364(0x1a6,0x1c3)),_0x14c6cf=_0x409d6d[_0xa7a364(0x178,0x182)][_0x329503(-0x230,-0x20e)]?_0x5ba729[_0xa7a364(0x198,0x189)][_0xa7a364(0x182,0x19b)]('ON'):_0x5ba729[_0x329503(-0x1d7,-0x1f8)](_0x325652['mNmjF']);console['log'](_0x5ba729['dim'](_0x329503(-0x1da,-0x1dd)+_0x329503(-0x1be,-0x1cb))+_0x329503(-0x1df,-0x1f9)+_0x6c1e47),console[_0x329503(-0x1e3,-0x1d7)](_0x5ba729[_0xa7a364(0x193,0x19c)](_0x325652[_0xa7a364(0x1a3,0x1a1)])+_0xa7a364(0x1a8,0x1c3)+_0x14c6cf);if(Object['keys'](_0x1f8fec['categoryCo'+_0x329503(-0x1d2,-0x1cf)])[_0x329503(-0x1cc,-0x1e9)]>0x0){if(_0x329503(-0x1d6,-0x1da)!==_0xa7a364(0x177,0x167)){console[_0xa7a364(0x1b0,0x1a0)](_0x5ba729[_0x329503(-0x221,-0x205)](_0xa7a364(0x185,0x177)+_0xa7a364(0x1b3,0x18f)+':\x0a'));const _0x576780=Object[_0x329503(-0x1f5,-0x1d9)](_0x1f8fec[_0x329503(-0x20f,-0x206)+_0xa7a364(0x1b8,0x19e)])['sort']((_0x10dc2d,_0x51a8cc)=>_0x51a8cc[0x1]-_0x10dc2d[0x1]),_0x54e6cb=Math['max'](..._0x576780[_0xa7a364(0x18c,0x185)](([_0x4aa906])=>_0x4aa906[_0xa7a364(0x19e,0x17d)]));for(const [_0x766fd5,_0x369830]of _0x576780){const _0x37fb35=createBar(_0x369830,_0x1f8fec['totalMemor'+_0x329503(-0x1e8,-0x1d2)],0x14),_0x11443f=_0x325652[_0x329503(-0x1e9,-0x1d6)](_0x369830/_0x1f8fec[_0x329503(-0x213,-0x1f5)+'ies'],0x64)[_0xa7a364(0x194,0x1aa)](0x1);console[_0xa7a364(0x1b0,0x193)]('\x20\x20'+_0x766fd5['padEnd'](_0x54e6cb)+'\x20'+_0x37fb35+'\x20'+_0x5ba729[_0xa7a364(0x17f,0x15b)](_0x369830[_0x329503(-0x21e,-0x1fd)]()['padStart'](0x4))+'\x20'+_0x5ba729['dim']('('+_0x11443f+'%)'));}}else _0x5c351b[_0x329503(-0x1de,-0x1fc)]();}console[_0xa7a364(0x1b0,0x193)]();}finally{_0x38fdd0[_0x329503(-0x202,-0x1fc)]();}});}function formatBytes(_0x16c802){function _0x1ace06(_0x57a683,_0x5c6a8c){return _0x5473(_0x57a683- -0x3d2,_0x5c6a8c);}function _0x18fd35(_0x52b9c5,_0x3effb7){return _0x5473(_0x3effb7-0x18,_0x52b9c5);}const _0x2be259={'dLWPi':function(_0x5c5974,_0x279ef0){return _0x5c5974<_0x279ef0;},'GWFBD':function(_0x10a914,_0xf85c70){return _0x10a914*_0xf85c70;},'dputv':function(_0x5e2bcb,_0x4b2032){return _0x5e2bcb/_0x4b2032;},'pIDnk':function(_0x173924,_0x1c44fd){return _0x173924*_0x1c44fd;}};if(_0x2be259['dLWPi'](_0x16c802,0x400))return _0x5ba729[_0x18fd35(0x1d2,0x1ea)](_0x16c802+'\x20B');else return _0x16c802<_0x2be259[_0x1ace06(-0x1e4,-0x1ea)](0x400,0x400)?_0x5ba729[_0x1ace06(-0x200,-0x217)](_0x2be259[_0x1ace06(-0x202,-0x1ea)](_0x16c802,0x400)[_0x18fd35(0x1d8,0x1e6)](0x1)+_0x1ace06(-0x21b,-0x239)):_0x5ba729[_0x18fd35(0x1e5,0x1ea)](_0x2be259[_0x1ace06(-0x202,-0x1e8)](_0x16c802,_0x2be259[_0x1ace06(-0x21c,-0x23d)](0x400,0x400))[_0x18fd35(0x209,0x1e6)](0x1)+'\x20MB');}function createBar(_0x35cb69,_0x127234,_0x2cff75){const _0x31ce36={'TFPEb':function(_0x48b101,_0x2953a8){return _0x48b101*_0x2953a8;},'BLjjf':function(_0x2b39f3,_0xc59ea9){return _0x2b39f3-_0xc59ea9;},'zHKgf':function(_0x1b3d2f,_0x14ea97){return _0x1b3d2f+_0x14ea97;}},_0x26cb35=Math[_0x8d524f(0x1df,0x1c9)](_0x31ce36[_0x5058d4(0x180,0x18a)](_0x35cb69/_0x127234,_0x2cff75));function _0x5058d4(_0x44f7a0,_0x4e376d){return _0x5473(_0x44f7a0- -0x57,_0x4e376d);}function _0x8d524f(_0xc91f3e,_0x7c3031){return _0x5473(_0x7c3031- -0x23,_0xc91f3e);}const _0x3ba4ff=_0x31ce36[_0x8d524f(0x1a0,0x191)](_0x2cff75,_0x26cb35);return _0x31ce36[_0x5058d4(0x19e,0x1bb)](_0x5ba729[_0x8d524f(0x1bc,0x1c2)]('โ–ˆ'[_0x5058d4(0x166,0x170)](_0x26cb35)),_0x5ba729[_0x8d524f(0x184,0x1aa)]('โ–‘'[_0x5058d4(0x166,0x16c)](_0x3ba4ff)));}