@mind2flow/cli 0.1.0 → 0.2.1

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.
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerKnowledgeCommands(program: Command): void;
@@ -0,0 +1,267 @@
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.registerKnowledgeCommands = registerKnowledgeCommands;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const agents_sdk_1 = require("@mind2flow/agents-sdk");
10
+ const config_1 = require("../config");
11
+ const output_1 = require("../output");
12
+ function registerKnowledgeCommands(program) {
13
+ const knowledge = program
14
+ .command('knowledge')
15
+ .description('Query and manage your GraphOS knowledge graph');
16
+ knowledge
17
+ .command('query <question>')
18
+ .description('Ask the knowledge graph a question — returns facts with temporal validity')
19
+ .option('-n, --num-results <n>', 'Max facts to return (default 10)')
20
+ .option('--json', 'Output raw JSON')
21
+ .action(async (question, opts) => {
22
+ try {
23
+ const facts = await (0, config_1.getClient)().knowledge.query(question, {
24
+ numResults: opts.numResults ? parseInt(opts.numResults, 10) : undefined,
25
+ });
26
+ if (opts.json)
27
+ return (0, output_1.printJson)(facts);
28
+ if (facts.length === 0)
29
+ return console.log('No matching knowledge found.');
30
+ for (const f of facts) {
31
+ const now = Date.now();
32
+ const invalid = f.invalid_at ? new Date(f.invalid_at).getTime() : null;
33
+ const validity = invalid === null
34
+ ? 'current'
35
+ : invalid > now
36
+ ? `until ${new Date(invalid).toLocaleDateString()}`
37
+ : 'superseded';
38
+ console.log(`- ${f.fact} [${validity}]`);
39
+ }
40
+ }
41
+ catch (error) {
42
+ (0, output_1.fail)(error);
43
+ }
44
+ });
45
+ knowledge
46
+ .command('graph')
47
+ .description('Show the entity graph (top connected entities, or search with --q)')
48
+ .option('--q <name>', 'Search entities by name')
49
+ .option('--limit <n>', 'Max entities (default 75)')
50
+ .option('--json', 'Output raw JSON')
51
+ .action(async (opts) => {
52
+ try {
53
+ const graph = await (0, config_1.getClient)().knowledge.getGraph({
54
+ q: opts.q,
55
+ limit: opts.limit ? parseInt(opts.limit, 10) : undefined,
56
+ });
57
+ if (opts.json)
58
+ return (0, output_1.printJson)(graph);
59
+ (0, output_1.printTable)(graph.nodes.map((n) => ({
60
+ id: n.id,
61
+ name: n.name,
62
+ type: n.type ?? '',
63
+ connections: n.degree,
64
+ })), ['id', 'name', 'type', 'connections']);
65
+ console.log(`${graph.nodes.length} entities, ${graph.edges.length} connections`);
66
+ }
67
+ catch (error) {
68
+ (0, output_1.fail)(error);
69
+ }
70
+ });
71
+ // ── Sources ─────────────────────────────────────────────
72
+ const sources = knowledge.command('sources').description('Manage knowledge data sources');
73
+ sources
74
+ .command('list')
75
+ .description('List data sources')
76
+ .option('--json', 'Output raw JSON')
77
+ .action(async (opts) => {
78
+ try {
79
+ const list = await (0, config_1.getClient)().knowledge.listSources();
80
+ if (opts.json)
81
+ return (0, output_1.printJson)(list);
82
+ (0, output_1.printTable)(list.map((s) => ({
83
+ id: s.id,
84
+ name: s.name,
85
+ type: s.type,
86
+ status: s.status,
87
+ documents: s.document_count,
88
+ })), ['id', 'name', 'type', 'status', 'documents']);
89
+ }
90
+ catch (error) {
91
+ (0, output_1.fail)(error);
92
+ }
93
+ });
94
+ sources
95
+ .command('add <name>')
96
+ .description('Register a data source')
97
+ .requiredOption('--type <type>', 'file | rest | sql | composio')
98
+ .option('--config <json>', 'Type-specific config as JSON (credentials are encrypted at rest)')
99
+ .action(async (name, opts) => {
100
+ try {
101
+ const config = opts.config ? JSON.parse(opts.config) : {};
102
+ const source = await (0, config_1.getClient)().knowledge.createSource({
103
+ type: opts.type,
104
+ name,
105
+ config,
106
+ });
107
+ console.log(`Source created: ${source.id}`);
108
+ }
109
+ catch (error) {
110
+ (0, output_1.fail)(error);
111
+ }
112
+ });
113
+ sources
114
+ .command('sync <sourceId>')
115
+ .description('Start an ingestion sync (unchanged documents are skipped)')
116
+ .action(async (sourceId) => {
117
+ try {
118
+ const job = await (0, config_1.getClient)().knowledge.syncSource(sourceId);
119
+ console.log(`Sync started: job ${job.id} (${job.status})`);
120
+ console.log(`Follow it with: m2f knowledge jobs --json`);
121
+ }
122
+ catch (error) {
123
+ (0, output_1.fail)(error);
124
+ }
125
+ });
126
+ sources
127
+ .command('rm <sourceId>')
128
+ .description('Delete a source — PURGES its knowledge from the graph')
129
+ .option('--yes', 'Skip confirmation')
130
+ .action(async (sourceId, opts) => {
131
+ try {
132
+ if (!opts.yes) {
133
+ console.error('This purges the source\'s episodes and derived knowledge from the graph.');
134
+ console.error('Re-run with --yes to confirm.');
135
+ process.exit(1);
136
+ }
137
+ await (0, config_1.getClient)().knowledge.deleteSource(sourceId);
138
+ console.log(`Source ${sourceId} deleted.`);
139
+ }
140
+ catch (error) {
141
+ (0, output_1.fail)(error);
142
+ }
143
+ });
144
+ knowledge
145
+ .command('upload <sourceId> <file>')
146
+ .description('Upload a document to a file source and start ingestion')
147
+ .action(async (sourceId, file) => {
148
+ try {
149
+ // Multipart upload — raw fetch (Node 18+ FormData); SDK stays JSON-only.
150
+ const config = (0, config_1.loadConfig)();
151
+ const apiKey = process.env.M2F_API_KEY || config.apiKey;
152
+ const baseUrl = (process.env.M2F_BASE_URL || config.baseUrl || agents_sdk_1.DEFAULT_BASE_URL).replace(/\/$/, '');
153
+ if (!apiKey) {
154
+ console.error('No API key configured. Run `m2f login` first.');
155
+ process.exit(1);
156
+ }
157
+ const buffer = fs_1.default.readFileSync(file);
158
+ const form = new FormData();
159
+ form.append('file', new Blob([buffer]), path_1.default.basename(file));
160
+ const response = await fetch(`${baseUrl}/knowledge/sources/${sourceId}/upload`, {
161
+ method: 'POST',
162
+ headers: { 'x-api-key': apiKey },
163
+ body: form,
164
+ });
165
+ const body = (await response.json());
166
+ if (!response.ok) {
167
+ console.error(`Upload failed: ${body.message ?? response.status}`);
168
+ process.exit(1);
169
+ }
170
+ console.log('Document uploaded — starting sync...');
171
+ const job = await (0, config_1.getClient)().knowledge.syncSource(sourceId);
172
+ console.log(`Ingestion job ${job.id} (${job.status})`);
173
+ }
174
+ catch (error) {
175
+ (0, output_1.fail)(error);
176
+ }
177
+ });
178
+ // ── Jobs / manual / facts / usage ───────────────────────
179
+ knowledge
180
+ .command('jobs')
181
+ .description('List ingestion jobs')
182
+ .option('--json', 'Output raw JSON')
183
+ .action(async (opts) => {
184
+ try {
185
+ const jobs = await (0, config_1.getClient)().knowledge.listJobs();
186
+ if (opts.json)
187
+ return (0, output_1.printJson)(jobs);
188
+ (0, output_1.printTable)(jobs.map((j) => ({
189
+ id: j.id,
190
+ status: j.status,
191
+ ingested: j.stats.ingested ?? 0,
192
+ skipped: j.stats.skipped ?? 0,
193
+ failed: j.stats.failed ?? 0,
194
+ created: j.created_at,
195
+ })), ['id', 'status', 'ingested', 'skipped', 'failed', 'created']);
196
+ }
197
+ catch (error) {
198
+ (0, output_1.fail)(error);
199
+ }
200
+ });
201
+ knowledge
202
+ .command('add-fact <statement>')
203
+ .description('Declare a business fact (e.g. a promo), optionally with a validity window')
204
+ .option('--from <date>', 'Valid from (ISO date)')
205
+ .option('--until <date>', 'Valid until (ISO date) — expires automatically')
206
+ .action(async (statement, opts) => {
207
+ try {
208
+ const entry = await (0, config_1.getClient)().knowledge.addManual({
209
+ statement,
210
+ valid_from: opts.from ? new Date(opts.from).toISOString() : undefined,
211
+ valid_until: opts.until ? new Date(opts.until).toISOString() : undefined,
212
+ });
213
+ console.log(`Fact added: ${entry.id} (${entry.status})`);
214
+ }
215
+ catch (error) {
216
+ (0, output_1.fail)(error);
217
+ }
218
+ });
219
+ knowledge
220
+ .command('invalidate <factUuid>')
221
+ .description('Mark a fact as incorrect — agents stop using it (history preserved)')
222
+ .action(async (factUuid) => {
223
+ try {
224
+ await (0, config_1.getClient)().knowledge.invalidateFact(factUuid);
225
+ console.log('Fact marked as incorrect.');
226
+ }
227
+ catch (error) {
228
+ (0, output_1.fail)(error);
229
+ }
230
+ });
231
+ knowledge
232
+ .command('usage')
233
+ .description('Show usage metrics and the monthly ingestion limit')
234
+ .option('--json', 'Output raw JSON')
235
+ .option('--set-limit <n>', 'Set the monthly episode cap (cost control)')
236
+ .option('--clear-limit', 'Remove the monthly episode cap')
237
+ .action(async (opts) => {
238
+ try {
239
+ const client = (0, config_1.getClient)();
240
+ if (opts.setLimit !== undefined) {
241
+ await client.knowledge.setMonthlyLimit(parseInt(opts.setLimit, 10));
242
+ console.log(`Monthly episode limit set to ${opts.setLimit}.`);
243
+ return;
244
+ }
245
+ if (opts.clearLimit) {
246
+ await client.knowledge.setMonthlyLimit(null);
247
+ console.log('Monthly episode limit cleared.');
248
+ return;
249
+ }
250
+ const usage = await client.knowledge.getUsage();
251
+ if (opts.json)
252
+ return (0, output_1.printJson)(usage);
253
+ const t = usage.totals;
254
+ console.log(`Sources: ${t.sources} Documents: ${t.documents} Manual facts: ${t.manual_entries}`);
255
+ console.log(`Episodes (total): ${t.episodes} Storage: ${(t.storage_bytes / 1024 / 1024).toFixed(1)} MB`);
256
+ console.log(`This month (${usage.this_month.period}): ${usage.this_month.episodes} episodes ingested, ${usage.this_month.queries} queries`);
257
+ const limit = usage.limits.monthly_episode_limit;
258
+ console.log(limit === null
259
+ ? 'Monthly limit: none (set one with --set-limit)'
260
+ : `Monthly limit: ${limit} (${usage.limits.remaining_this_month} remaining)`);
261
+ }
262
+ catch (error) {
263
+ (0, output_1.fail)(error);
264
+ }
265
+ });
266
+ }
267
+ //# sourceMappingURL=knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ const devices_1 = require("./commands/devices");
9
9
  const tools_1 = require("./commands/tools");
10
10
  const tasks_1 = require("./commands/tasks");
11
11
  const mcp_1 = require("./commands/mcp");
12
+ const knowledge_1 = require("./commands/knowledge");
12
13
  const program = new commander_1.Command();
13
14
  program
14
15
  .name('m2f')
@@ -21,5 +22,6 @@ program
21
22
  (0, tools_1.registerToolCommands)(program);
22
23
  (0, tasks_1.registerTaskCommands)(program);
23
24
  (0, mcp_1.registerMcpCommands)(program);
25
+ (0, knowledge_1.registerKnowledgeCommands)(program);
24
26
  program.parseAsync(process.argv);
25
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAAuD;AACvD,8CAA0D;AAC1D,4CAAwD;AACxD,gDAA4D;AAC5D,4CAAwD;AACxD,4CAAwD;AACxD,wCAAqD;AAErD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAAuD;AACvD,8CAA0D;AAC1D,4CAAwD;AACxD,gDAA4D;AAC5D,4CAAwD;AACxD,4CAAwD;AACxD,wCAAqD;AACrD,oDAAiE;AAEjE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,IAAA,2BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;AAChC,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,4BAAoB,EAAC,OAAO,CAAC,CAAC;AAC9B,IAAA,yBAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,qCAAyB,EAAC,OAAO,CAAC,CAAC;AAEnC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mind2flow/cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Command-line interface for the Mind2Flow AI agents platform",
5
5
  "keywords": ["ai", "agents", "mind2flow", "cli"],
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "node": ">=18"
26
26
  },
27
27
  "dependencies": {
28
- "@mind2flow/agents-sdk": "^0.1.0",
28
+ "@mind2flow/agents-sdk": "^0.2.1",
29
29
  "commander": "^12.0.0"
30
30
  },
31
31
  "devDependencies": {