@memnexus-ai/cli 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 (148) hide show
  1. package/.env.example +13 -0
  2. package/.eslintrc.js +24 -0
  3. package/.github/ISSUE_TEMPLATE/phase-1-foundation.md +1078 -0
  4. package/.github/workflows/publish.yml +277 -0
  5. package/.github/workflows/test-app-token.yml +54 -0
  6. package/.npmrc.backup +3 -0
  7. package/.npmrc.example +6 -0
  8. package/.prettierignore +4 -0
  9. package/.prettierrc +8 -0
  10. package/CHANGELOG.md +138 -0
  11. package/PLATFORM_TESTING.md +243 -0
  12. package/README.md +986 -0
  13. package/RELEASE.md +428 -0
  14. package/RELEASE_READINESS.md +253 -0
  15. package/USAGE.md +1373 -0
  16. package/bin/mx.js +2 -0
  17. package/dist/commands/apikeys.d.ts +7 -0
  18. package/dist/commands/apikeys.d.ts.map +1 -0
  19. package/dist/commands/apikeys.js +133 -0
  20. package/dist/commands/apikeys.js.map +1 -0
  21. package/dist/commands/artifacts.d.ts +7 -0
  22. package/dist/commands/artifacts.d.ts.map +1 -0
  23. package/dist/commands/artifacts.js +277 -0
  24. package/dist/commands/artifacts.js.map +1 -0
  25. package/dist/commands/auth.d.ts +7 -0
  26. package/dist/commands/auth.d.ts.map +1 -0
  27. package/dist/commands/auth.js +119 -0
  28. package/dist/commands/auth.js.map +1 -0
  29. package/dist/commands/communities.d.ts +7 -0
  30. package/dist/commands/communities.d.ts.map +1 -0
  31. package/dist/commands/communities.js +137 -0
  32. package/dist/commands/communities.js.map +1 -0
  33. package/dist/commands/config.d.ts +7 -0
  34. package/dist/commands/config.d.ts.map +1 -0
  35. package/dist/commands/config.js +138 -0
  36. package/dist/commands/config.js.map +1 -0
  37. package/dist/commands/conversations.d.ts +7 -0
  38. package/dist/commands/conversations.d.ts.map +1 -0
  39. package/dist/commands/conversations.js +160 -0
  40. package/dist/commands/conversations.js.map +1 -0
  41. package/dist/commands/facts.d.ts +7 -0
  42. package/dist/commands/facts.d.ts.map +1 -0
  43. package/dist/commands/facts.js +298 -0
  44. package/dist/commands/facts.js.map +1 -0
  45. package/dist/commands/graphrag.d.ts +7 -0
  46. package/dist/commands/graphrag.d.ts.map +1 -0
  47. package/dist/commands/graphrag.js +139 -0
  48. package/dist/commands/graphrag.js.map +1 -0
  49. package/dist/commands/memories.d.ts +7 -0
  50. package/dist/commands/memories.d.ts.map +1 -0
  51. package/dist/commands/memories.js +304 -0
  52. package/dist/commands/memories.js.map +1 -0
  53. package/dist/commands/patterns.d.ts +7 -0
  54. package/dist/commands/patterns.d.ts.map +1 -0
  55. package/dist/commands/patterns.js +227 -0
  56. package/dist/commands/patterns.js.map +1 -0
  57. package/dist/commands/system.d.ts +7 -0
  58. package/dist/commands/system.d.ts.map +1 -0
  59. package/dist/commands/system.js +97 -0
  60. package/dist/commands/system.js.map +1 -0
  61. package/dist/commands/topics.d.ts +7 -0
  62. package/dist/commands/topics.d.ts.map +1 -0
  63. package/dist/commands/topics.js +314 -0
  64. package/dist/commands/topics.js.map +1 -0
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +44 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/lib/api-client.d.ts +29 -0
  70. package/dist/lib/api-client.d.ts.map +1 -0
  71. package/dist/lib/api-client.js +64 -0
  72. package/dist/lib/api-client.js.map +1 -0
  73. package/dist/lib/auth.d.ts +10 -0
  74. package/dist/lib/auth.d.ts.map +1 -0
  75. package/dist/lib/auth.js +47 -0
  76. package/dist/lib/auth.js.map +1 -0
  77. package/dist/lib/config.d.ts +19 -0
  78. package/dist/lib/config.d.ts.map +1 -0
  79. package/dist/lib/config.js +59 -0
  80. package/dist/lib/config.js.map +1 -0
  81. package/dist/lib/errors.d.ts +7 -0
  82. package/dist/lib/errors.d.ts.map +1 -0
  83. package/dist/lib/errors.js +133 -0
  84. package/dist/lib/errors.js.map +1 -0
  85. package/dist/lib/formatters.d.ts +12 -0
  86. package/dist/lib/formatters.d.ts.map +1 -0
  87. package/dist/lib/formatters.js +103 -0
  88. package/dist/lib/formatters.js.map +1 -0
  89. package/dist/lib/spinner.d.ts +54 -0
  90. package/dist/lib/spinner.d.ts.map +1 -0
  91. package/dist/lib/spinner.js +108 -0
  92. package/dist/lib/spinner.js.map +1 -0
  93. package/dist/lib/validators.d.ts +92 -0
  94. package/dist/lib/validators.d.ts.map +1 -0
  95. package/dist/lib/validators.js +257 -0
  96. package/dist/lib/validators.js.map +1 -0
  97. package/dist/types/index.d.ts +13 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/index.js +3 -0
  100. package/dist/types/index.js.map +1 -0
  101. package/docs/README.md +219 -0
  102. package/docs/code-generation-strategy.md +560 -0
  103. package/docs/prd.md +748 -0
  104. package/docs/sync-strategy.md +533 -0
  105. package/jest.config.js +30 -0
  106. package/package.json +67 -0
  107. package/scripts/install-deps.sh +38 -0
  108. package/src/commands/apikeys.ts +144 -0
  109. package/src/commands/artifacts.ts +296 -0
  110. package/src/commands/auth.ts +122 -0
  111. package/src/commands/communities.ts +153 -0
  112. package/src/commands/config.ts +144 -0
  113. package/src/commands/conversations.ts +176 -0
  114. package/src/commands/facts.ts +320 -0
  115. package/src/commands/graphrag.ts +149 -0
  116. package/src/commands/memories.ts +332 -0
  117. package/src/commands/patterns.ts +251 -0
  118. package/src/commands/system.ts +102 -0
  119. package/src/commands/topics.ts +354 -0
  120. package/src/index.ts +43 -0
  121. package/src/lib/api-client.ts +68 -0
  122. package/src/lib/auth.ts +42 -0
  123. package/src/lib/config.ts +68 -0
  124. package/src/lib/errors.ts +143 -0
  125. package/src/lib/formatters.ts +123 -0
  126. package/src/lib/spinner.ts +113 -0
  127. package/src/lib/validators.ts +302 -0
  128. package/src/types/index.ts +17 -0
  129. package/tests/__mocks__/chalk.ts +16 -0
  130. package/tests/__mocks__/cli-table3.ts +37 -0
  131. package/tests/__mocks__/configstore.ts +38 -0
  132. package/tests/commands/apikeys.test.ts +179 -0
  133. package/tests/commands/artifacts.test.ts +194 -0
  134. package/tests/commands/auth.test.ts +120 -0
  135. package/tests/commands/communities.test.ts +154 -0
  136. package/tests/commands/config.test.ts +154 -0
  137. package/tests/commands/conversations.test.ts +136 -0
  138. package/tests/commands/facts.test.ts +210 -0
  139. package/tests/commands/graphrag.test.ts +194 -0
  140. package/tests/commands/memories.test.ts +215 -0
  141. package/tests/commands/patterns.test.ts +201 -0
  142. package/tests/commands/system.test.ts +172 -0
  143. package/tests/commands/topics.test.ts +274 -0
  144. package/tests/lib/auth.test.ts +77 -0
  145. package/tests/lib/config.test.ts +50 -0
  146. package/tests/lib/errors.test.ts +126 -0
  147. package/tests/lib/formatters.test.ts +87 -0
  148. package/tsconfig.json +20 -0
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerMemoriesCommands = registerMemoriesCommands;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const mx_typescript_sdk_1 = require("@memnexus-ai/mx-typescript-sdk");
10
+ const api_client_1 = require("../lib/api-client");
11
+ const errors_1 = require("../lib/errors");
12
+ const formatters_1 = require("../lib/formatters");
13
+ const spinner_1 = require("../lib/spinner");
14
+ /**
15
+ * Register memory management commands
16
+ * @param program - Commander program instance
17
+ */
18
+ function registerMemoriesCommands(program) {
19
+ const memories = program.command('memories').description('Manage memories');
20
+ /**
21
+ * mx memories list [options]
22
+ * List memories with pagination
23
+ */
24
+ memories
25
+ .command('list')
26
+ .description('List memories')
27
+ .option('--page <number>', 'Page number', '0')
28
+ .option('--limit <number>', 'Results per page', '20')
29
+ .option('--format <format>', 'Output format (json|table|yaml)')
30
+ .action(async (options) => {
31
+ try {
32
+ const page = parseInt(options.page, 10);
33
+ const limit = parseInt(options.limit, 10);
34
+ const offset = page * limit;
35
+ const spinner = (0, spinner_1.createSpinner)('Fetching memories...', options.format).start();
36
+ const result = await (0, mx_typescript_sdk_1.listMemories)({
37
+ ...(0, api_client_1.getApiOptions)(),
38
+ query: { limit, offset },
39
+ });
40
+ spinner.succeed(`Found ${result.data?.data?.length || 0} memories`);
41
+ // Format for table display
42
+ if (options.format === 'table' || !options.format) {
43
+ const tableData = result.data?.data?.map((m) => ({
44
+ id: m.id,
45
+ content: m.content?.substring(0, 50) + (m.content?.length > 50 ? '...' : ''),
46
+ memoryType: m.memoryType || 'N/A',
47
+ createdAt: new Date(m.createdAt).toLocaleDateString(),
48
+ })) || [];
49
+ (0, formatters_1.printOutput)(tableData, options.format, {
50
+ columns: ['id', 'content', 'memoryType', 'createdAt'],
51
+ maxColumnWidth: 30,
52
+ });
53
+ const pagination = result.data?.pagination;
54
+ if (pagination) {
55
+ console.log(chalk_1.default.gray(`\nShowing ${pagination.offset + 1}-${pagination.offset + (result.data?.data?.length || 0)} (Page ${page + 1})`));
56
+ }
57
+ }
58
+ else {
59
+ (0, formatters_1.printOutput)(result.data, options.format);
60
+ }
61
+ }
62
+ catch (error) {
63
+ (0, errors_1.handleError)(error);
64
+ }
65
+ });
66
+ /**
67
+ * mx memories get <id>
68
+ * Get a specific memory by ID
69
+ */
70
+ memories
71
+ .command('get <id>')
72
+ .description('Get a specific memory')
73
+ .option('--format <format>', 'Output format (json|table|yaml)')
74
+ .action(async (id, options) => {
75
+ try {
76
+ const result = await (0, mx_typescript_sdk_1.getMemoryById)({
77
+ ...(0, api_client_1.getApiOptions)(),
78
+ path: { id },
79
+ });
80
+ (0, formatters_1.printOutput)(result.data, options.format);
81
+ }
82
+ catch (error) {
83
+ (0, errors_1.handleError)(error);
84
+ }
85
+ });
86
+ /**
87
+ * mx memories create [options]
88
+ * Create a new memory
89
+ */
90
+ memories
91
+ .command('create')
92
+ .description('Create a new memory')
93
+ .option('--content <text>', 'Memory content')
94
+ .option('--memory-type <type>', 'Memory type (episodic|semantic|procedural)')
95
+ .option('--context <context>', 'Context identifier')
96
+ .option('--topics <topics>', 'Comma-separated topics')
97
+ .option('--importance <number>', 'Importance score (0-1)')
98
+ .option('--interactive', 'Interactive mode')
99
+ .option('--format <format>', 'Output format (json|table|yaml)')
100
+ .action(async (options) => {
101
+ try {
102
+ let memoryData = {};
103
+ if (options.interactive || !options.content) {
104
+ // Interactive mode
105
+ const answers = await inquirer_1.default.prompt([
106
+ {
107
+ type: 'input',
108
+ name: 'content',
109
+ message: 'Memory content:',
110
+ default: options.content,
111
+ validate: (input) => input.trim().length > 0 || 'Content is required',
112
+ },
113
+ {
114
+ type: 'list',
115
+ name: 'memoryType',
116
+ message: 'Memory type:',
117
+ choices: ['episodic', 'semantic', 'procedural'],
118
+ default: options.memoryType || 'episodic',
119
+ },
120
+ {
121
+ type: 'input',
122
+ name: 'context',
123
+ message: 'Context (optional):',
124
+ default: options.context,
125
+ },
126
+ {
127
+ type: 'input',
128
+ name: 'topics',
129
+ message: 'Topics (comma-separated, optional):',
130
+ default: options.topics,
131
+ },
132
+ {
133
+ type: 'number',
134
+ name: 'importance',
135
+ message: 'Importance (0-1, optional):',
136
+ default: options.importance ? parseFloat(options.importance) : undefined,
137
+ },
138
+ ]);
139
+ memoryData = {
140
+ content: answers.content,
141
+ memoryType: answers.memoryType,
142
+ context: answers.context || undefined,
143
+ topics: answers.topics
144
+ ? answers.topics.split(',').map((t) => t.trim())
145
+ : undefined,
146
+ importance: answers.importance || undefined,
147
+ };
148
+ }
149
+ else {
150
+ // Direct mode
151
+ memoryData = {
152
+ content: options.content,
153
+ memoryType: options.memoryType || 'episodic',
154
+ context: options.context,
155
+ topics: options.topics
156
+ ? options.topics.split(',').map((t) => t.trim())
157
+ : undefined,
158
+ importance: options.importance ? parseFloat(options.importance) : undefined,
159
+ };
160
+ }
161
+ const spinner = (0, spinner_1.createSpinner)('Creating memory...', options.format).start();
162
+ const result = await (0, mx_typescript_sdk_1.createMemory)({
163
+ ...(0, api_client_1.getApiOptions)(),
164
+ body: memoryData,
165
+ });
166
+ const memory = result.data?.data;
167
+ spinner.succeed(`Memory created with ID: ${memory?.id}`);
168
+ (0, formatters_1.printOutput)(memory, options.format);
169
+ }
170
+ catch (error) {
171
+ (0, errors_1.handleError)(error);
172
+ }
173
+ });
174
+ /**
175
+ * mx memories update <id> [options]
176
+ * Update an existing memory
177
+ */
178
+ memories
179
+ .command('update <id>')
180
+ .description('Update an existing memory')
181
+ .option('--content <text>', 'Updated content')
182
+ .option('--memory-type <type>', 'Updated memory type')
183
+ .option('--context <context>', 'Updated context')
184
+ .option('--topics <topics>', 'Updated topics (comma-separated)')
185
+ .option('--importance <number>', 'Updated importance (0-1)')
186
+ .option('--format <format>', 'Output format (json|table|yaml)')
187
+ .action(async (id, options) => {
188
+ try {
189
+ const updates = {};
190
+ if (options.content)
191
+ updates.content = options.content;
192
+ if (options.memoryType)
193
+ updates.memoryType = options.memoryType;
194
+ if (options.context)
195
+ updates.context = options.context;
196
+ if (options.topics)
197
+ updates.topics = options.topics.split(',').map((t) => t.trim());
198
+ if (options.importance)
199
+ updates.importance = parseFloat(options.importance);
200
+ if (Object.keys(updates).length === 0) {
201
+ console.log(chalk_1.default.yellow('No updates provided. Use --help to see available options.'));
202
+ return;
203
+ }
204
+ const spinner = (0, spinner_1.createSpinner)('Updating memory...', options.format).start();
205
+ const result = await (0, mx_typescript_sdk_1.updateMemory)({
206
+ ...(0, api_client_1.getApiOptions)(),
207
+ path: { id },
208
+ body: updates,
209
+ });
210
+ const memory = result.data?.data;
211
+ spinner.succeed(`Memory ${id} updated successfully`);
212
+ (0, formatters_1.printOutput)(memory, options.format);
213
+ }
214
+ catch (error) {
215
+ (0, errors_1.handleError)(error);
216
+ }
217
+ });
218
+ /**
219
+ * mx memories delete <id>
220
+ * Delete a memory
221
+ */
222
+ memories
223
+ .command('delete <id>')
224
+ .description('Delete a memory')
225
+ .option('--force', 'Skip confirmation prompt')
226
+ .action(async (id, options) => {
227
+ try {
228
+ if (!options.force) {
229
+ const answers = await inquirer_1.default.prompt([
230
+ {
231
+ type: 'confirm',
232
+ name: 'confirm',
233
+ message: `Are you sure you want to delete memory ${id}?`,
234
+ default: false,
235
+ },
236
+ ]);
237
+ if (!answers.confirm) {
238
+ console.log(chalk_1.default.yellow('Delete cancelled'));
239
+ return;
240
+ }
241
+ }
242
+ const spinner = (0, spinner_1.createSpinner)('Deleting memory...', 'table').start();
243
+ await (0, mx_typescript_sdk_1.deleteMemory)({
244
+ ...(0, api_client_1.getApiOptions)(),
245
+ path: { id },
246
+ });
247
+ spinner.succeed(`Memory ${id} deleted successfully`);
248
+ }
249
+ catch (error) {
250
+ (0, errors_1.handleError)(error);
251
+ }
252
+ });
253
+ /**
254
+ * mx memories search [options]
255
+ * Search memories
256
+ */
257
+ memories
258
+ .command('search')
259
+ .description('Search memories')
260
+ .option('--query <text>', 'Search query')
261
+ .option('--limit <number>', 'Maximum results', '20')
262
+ .option('--mode <mode>', 'Search mode (unified|content|facts)', 'unified')
263
+ .option('--format <format>', 'Output format (json|table|yaml)')
264
+ .action(async (options) => {
265
+ try {
266
+ if (!options.query) {
267
+ console.log(chalk_1.default.red('Error: --query is required'));
268
+ return;
269
+ }
270
+ const spinner = (0, spinner_1.createSpinner)('Searching memories...', options.format).start();
271
+ const result = await (0, mx_typescript_sdk_1.searchMemories)({
272
+ ...(0, api_client_1.getApiOptions)(),
273
+ body: {
274
+ query: options.query,
275
+ limit: parseInt(options.limit, 10),
276
+ mode: options.mode,
277
+ },
278
+ });
279
+ const searchData = result.data;
280
+ spinner.succeed(`Found ${searchData?.data?.length || 0} results`);
281
+ // Format for table display
282
+ if (options.format === 'table' || !options.format) {
283
+ const tableData = (searchData?.data || []).map((memory) => ({
284
+ id: memory.id || 'N/A',
285
+ content: memory.content?.substring(0, 50) + (memory.content?.length > 50 ? '...' : ''),
286
+ memoryType: memory.memoryType || 'N/A',
287
+ createdAt: new Date(memory.createdAt).toLocaleDateString(),
288
+ }));
289
+ (0, formatters_1.printOutput)(tableData, options.format, {
290
+ columns: ['id', 'content', 'memoryType', 'createdAt'],
291
+ maxColumnWidth: 30,
292
+ });
293
+ console.log(chalk_1.default.gray(`\nFound ${searchData?.count || 0} results`));
294
+ }
295
+ else {
296
+ (0, formatters_1.printOutput)(searchData, options.format);
297
+ }
298
+ }
299
+ catch (error) {
300
+ (0, errors_1.handleError)(error);
301
+ }
302
+ });
303
+ }
304
+ //# sourceMappingURL=memories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memories.js","sourceRoot":"","sources":["../../src/commands/memories.ts"],"names":[],"mappings":";;;;;AAqBA,4DAsTC;AA1UD,wDAAgC;AAChC,kDAA0B;AAC1B,sEAOwC;AACxC,kDAAkD;AAClD,0CAA4C;AAC5C,kDAAgD;AAChD,4CAA+C;AAG/C;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE5E;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,eAAe,CAAC;SAC5B,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;SAC7C,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;YAE5B,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAE9E,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAY,EAAC;gBAChC,GAAG,IAAA,0BAAa,GAAE;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;YAEpE,2BAA2B;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBAClC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;oBACjC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE;iBACtD,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEZ,IAAA,wBAAW,EAAC,SAAS,EAAE,OAAO,CAAC,MAAsB,EAAE;oBACrD,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;oBACrD,cAAc,EAAE,EAAE;iBACnB,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC3C,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,aAAa,UAAU,CAAC,MAAM,GAAG,CAAC,IAChC,UAAU,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CACrD,UAAU,IAAI,GAAG,CAAC,GAAG,CACtB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,wBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAsB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAa,EAAC;gBACjC,GAAG,IAAA,0BAAa,GAAE;gBAClB,IAAI,EAAE,EAAE,EAAE,EAAE;aACb,CAAC,CAAC;YACH,IAAA,wBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAsB,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC5C,MAAM,CAAC,sBAAsB,EAAE,4CAA4C,CAAC;SAC5E,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SACnD,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;SACzD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAI,UAAU,GAAQ,EAAE,CAAC;YAEzB,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC5C,mBAAmB;gBACnB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACpC;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,iBAAiB;wBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB;qBAC9E;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,cAAc;wBACvB,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;wBAC/C,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;qBAC1C;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,qBAAqB;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,qCAAqC;wBAC9C,OAAO,EAAE,OAAO,CAAC,MAAM;qBACxB;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,6BAA6B;wBACtC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;qBACzE;iBACF,CAAC,CAAC;gBAEH,UAAU,GAAG;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;oBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACpB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACxD,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;iBAC5C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,UAAU,GAAG;oBACX,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU;oBAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACpB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACxD,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC5E,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAY,EAAC;gBAChC,GAAG,IAAA,0BAAa,GAAE;gBAClB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,2BAA2B,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,IAAA,wBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,MAAsB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;SACrD,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SAC/D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;SAC3D,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAQ,EAAE,CAAC;YAExB,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACvD,IAAI,OAAO,CAAC,UAAU;gBAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAChE,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACvD,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5F,IAAI,OAAO,CAAC,UAAU;gBAAE,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE5E,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAY,EAAC;gBAChC,GAAG,IAAA,0BAAa,GAAE;gBAClB,IAAI,EAAE,EAAE,EAAE,EAAE;gBACZ,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YACrD,IAAA,wBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,MAAsB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACpC;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,0CAA0C,EAAE,GAAG;wBACxD,OAAO,EAAE,KAAK;qBACf;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAErE,MAAM,IAAA,gCAAY,EAAC;gBACjB,GAAG,IAAA,0BAAa,GAAE;gBAClB,IAAI,EAAE,EAAE,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL;;;OAGG;IACH,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC;SACxC,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,IAAI,CAAC;SACnD,MAAM,CAAC,eAAe,EAAE,qCAAqC,EAAE,SAAS,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAc,EAAC;gBAClC,GAAG,IAAA,0BAAa,GAAE;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClC,IAAI,EAAE,OAAO,CAAC,IAAuC;iBACtD;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YAElE,2BAA2B;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;oBAC/D,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK;oBACtB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;oBACtC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE;iBAC3D,CAAC,CAAC,CAAC;gBAEJ,IAAA,wBAAW,EAAC,SAAS,EAAE,OAAO,CAAC,MAAsB,EAAE;oBACrD,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;oBACrD,cAAc,EAAE,EAAE;iBACnB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAA,wBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,MAAsB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Register pattern management commands
4
+ * @param program - Commander program instance
5
+ */
6
+ export declare function registerPatternsCommands(program: Command): void;
7
+ //# sourceMappingURL=patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsO/D"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerPatternsCommands = registerPatternsCommands;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const ora_1 = __importDefault(require("ora"));
9
+ const mx_typescript_sdk_1 = require("@memnexus-ai/mx-typescript-sdk");
10
+ const api_client_1 = require("../lib/api-client");
11
+ const errors_1 = require("../lib/errors");
12
+ const formatters_1 = require("../lib/formatters");
13
+ /**
14
+ * Register pattern management commands
15
+ * @param program - Commander program instance
16
+ */
17
+ function registerPatternsCommands(program) {
18
+ const patterns = program.command('patterns').description('Manage behavioral patterns');
19
+ /**
20
+ * mx patterns list [options]
21
+ * List patterns with pagination
22
+ */
23
+ patterns
24
+ .command('list')
25
+ .description('List patterns')
26
+ .option('--page <number>', 'Page number', '0')
27
+ .option('--limit <number>', 'Results per page', '20')
28
+ .option('--context-id <id>', 'Filter by context')
29
+ .option('--type <type>', 'Pattern type (behavioral|temporal|semantic)')
30
+ .option('--format <format>', 'Output format (json|table|yaml)')
31
+ .action(async (options) => {
32
+ try {
33
+ const page = parseInt(options.page, 10);
34
+ const limit = parseInt(options.limit, 10);
35
+ const offset = page * limit;
36
+ const result = await (0, mx_typescript_sdk_1.listPatterns)({
37
+ ...(0, api_client_1.getApiOptions)(),
38
+ query: {
39
+ limit,
40
+ offset,
41
+ },
42
+ });
43
+ const responseData = result.data;
44
+ if (options.format === 'table' || !options.format) {
45
+ const tableData = (responseData?.data || []).map((p) => ({
46
+ id: p.id,
47
+ type: p.type || 'N/A',
48
+ description: p.description?.substring(0, 40) + (p.description?.length > 40 ? '...' : ''),
49
+ confidence: p.confidence || 0,
50
+ lastUpdated: new Date(p.lastUpdated).toLocaleDateString(),
51
+ }));
52
+ (0, formatters_1.printOutput)(tableData, options.format, {
53
+ columns: ['id', 'type', 'description', 'confidence', 'lastUpdated'],
54
+ maxColumnWidth: 20,
55
+ });
56
+ const pagination = responseData?.pagination;
57
+ if (pagination) {
58
+ console.log(chalk_1.default.gray(`\nShowing ${pagination.offset + 1}-${pagination.offset + pagination.count} (Page ${page + 1})`));
59
+ }
60
+ }
61
+ else {
62
+ (0, formatters_1.printOutput)(responseData, options.format);
63
+ }
64
+ }
65
+ catch (error) {
66
+ (0, errors_1.handleError)(error);
67
+ }
68
+ });
69
+ /**
70
+ * mx patterns compile [options]
71
+ * Compile patterns from memories
72
+ */
73
+ patterns
74
+ .command('compile')
75
+ .description('Compile patterns from memories')
76
+ .option('--context-id <id>', 'Context ID (required)')
77
+ .option('--force', 'Force recompilation')
78
+ .option('--pattern-types <types>', 'Comma-separated pattern types to compile')
79
+ .action(async (options) => {
80
+ try {
81
+ if (!options.contextId) {
82
+ console.log(chalk_1.default.red('Error: --context-id is required'));
83
+ return;
84
+ }
85
+ const spinner = (0, ora_1.default)('Compiling patterns...').start();
86
+ const result = await (0, mx_typescript_sdk_1.compilePatterns)({
87
+ ...(0, api_client_1.getApiOptions)(),
88
+ body: {
89
+ minOccurrences: 2,
90
+ timeWindow: '30d',
91
+ },
92
+ });
93
+ spinner.succeed('Patterns compiled successfully');
94
+ (0, formatters_1.printOutput)(result.data, 'json');
95
+ }
96
+ catch (error) {
97
+ (0, errors_1.handleError)(error);
98
+ }
99
+ });
100
+ /**
101
+ * mx patterns update <id> [options]
102
+ * Update a pattern
103
+ */
104
+ patterns
105
+ .command('update <id>')
106
+ .description('Update a pattern')
107
+ .option('--description <text>', 'Updated description')
108
+ .option('--confidence <number>', 'Updated confidence (0-1)')
109
+ .option('--active <boolean>', 'Enable/disable pattern')
110
+ .option('--metadata <json>', 'Updated metadata')
111
+ .option('--format <format>', 'Output format (json|table|yaml)')
112
+ .action(async (id, options) => {
113
+ try {
114
+ if (!options.description && !options.confidence && !options.active && !options.metadata) {
115
+ console.log(chalk_1.default.red('Error: At least one option is required'));
116
+ return;
117
+ }
118
+ const updates = {};
119
+ if (options.description)
120
+ updates.description = options.description;
121
+ if (options.confidence)
122
+ updates.confidence = parseFloat(options.confidence);
123
+ if (options.active)
124
+ updates.active = options.active === 'true';
125
+ if (options.metadata)
126
+ updates.metadata = JSON.parse(options.metadata);
127
+ const result = await (0, mx_typescript_sdk_1.updatePattern)({
128
+ ...(0, api_client_1.getApiOptions)(),
129
+ path: { id },
130
+ body: updates,
131
+ });
132
+ console.log(chalk_1.default.green('✓ Pattern updated successfully'));
133
+ (0, formatters_1.printOutput)(result.data, options.format);
134
+ }
135
+ catch (error) {
136
+ (0, errors_1.handleError)(error);
137
+ }
138
+ });
139
+ /**
140
+ * mx patterns feedback [options]
141
+ * Record pattern feedback
142
+ */
143
+ patterns
144
+ .command('feedback')
145
+ .description('Record pattern feedback')
146
+ .option('--pattern-id <id>', 'Pattern ID (required)')
147
+ .option('--feedback-type <type>', 'Feedback type (positive|negative|neutral) (required)')
148
+ .option('--comment <text>', 'Feedback comment')
149
+ .option('--context-id <id>', 'Context ID')
150
+ .action(async (options) => {
151
+ try {
152
+ if (!options.patternId || !options.feedbackType) {
153
+ console.log(chalk_1.default.red('Error: --pattern-id and --feedback-type are required'));
154
+ return;
155
+ }
156
+ const spinner = (0, ora_1.default)('Recording feedback...').start();
157
+ await (0, mx_typescript_sdk_1.recordPatternFeedback)({
158
+ ...(0, api_client_1.getApiOptions)(),
159
+ body: {
160
+ patternId: options.patternId,
161
+ feedback: options.feedbackType,
162
+ },
163
+ });
164
+ spinner.succeed('Feedback recorded successfully');
165
+ console.log(chalk_1.default.green('✓ Feedback recorded'));
166
+ }
167
+ catch (error) {
168
+ (0, errors_1.handleError)(error);
169
+ }
170
+ });
171
+ /**
172
+ * mx patterns behavior-state [options]
173
+ * Get behavioral state
174
+ */
175
+ patterns
176
+ .command('behavior-state')
177
+ .description('Get behavioral state')
178
+ .option('--context-id <id>', 'Context ID (required)')
179
+ .option('--format <format>', 'Output format (json|table|yaml)')
180
+ .action(async (options) => {
181
+ try {
182
+ if (!options.contextId) {
183
+ console.log(chalk_1.default.red('Error: --context-id is required'));
184
+ return;
185
+ }
186
+ const result = await (0, mx_typescript_sdk_1.getBehavioralState)({
187
+ ...(0, api_client_1.getApiOptions)(),
188
+ });
189
+ (0, formatters_1.printOutput)(result.data, options.format);
190
+ }
191
+ catch (error) {
192
+ (0, errors_1.handleError)(error);
193
+ }
194
+ });
195
+ /**
196
+ * mx patterns set-behavior-state [options]
197
+ * Set behavioral state
198
+ */
199
+ patterns
200
+ .command('set-behavior-state')
201
+ .description('Set behavioral state')
202
+ .option('--context-id <id>', 'Context ID (required)')
203
+ .option('--state <json>', 'Behavioral state JSON (required)')
204
+ .option('--merge', 'Merge with existing state instead of replacing')
205
+ .action(async (options) => {
206
+ try {
207
+ if (!options.contextId || !options.state) {
208
+ console.log(chalk_1.default.red('Error: --context-id and --state are required'));
209
+ return;
210
+ }
211
+ const spinner = (0, ora_1.default)('Setting behavioral state...').start();
212
+ const state = JSON.parse(options.state);
213
+ await (0, mx_typescript_sdk_1.updateBehavioralState)({
214
+ ...(0, api_client_1.getApiOptions)(),
215
+ body: {
216
+ state,
217
+ },
218
+ });
219
+ spinner.succeed('Behavioral state set successfully');
220
+ console.log(chalk_1.default.green('✓ State updated'));
221
+ }
222
+ catch (error) {
223
+ (0, errors_1.handleError)(error);
224
+ }
225
+ });
226
+ }
227
+ //# sourceMappingURL=patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/commands/patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Register system management commands
4
+ * @param program - Commander program instance
5
+ */
6
+ export declare function registerSystemCommands(program: Command): void;
7
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/commands/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF7D"}