@rovn-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 (41) hide show
  1. package/README.md +76 -0
  2. package/dist/api.d.ts +9 -0
  3. package/dist/api.js +110 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/commands/agents.d.ts +3 -0
  6. package/dist/commands/agents.js +92 -0
  7. package/dist/commands/agents.js.map +1 -0
  8. package/dist/commands/approve.d.ts +1 -0
  9. package/dist/commands/approve.js +75 -0
  10. package/dist/commands/approve.js.map +1 -0
  11. package/dist/commands/check.d.ts +1 -0
  12. package/dist/commands/check.js +54 -0
  13. package/dist/commands/check.js.map +1 -0
  14. package/dist/commands/init.d.ts +1 -0
  15. package/dist/commands/init.js +88 -0
  16. package/dist/commands/init.js.map +1 -0
  17. package/dist/commands/log.d.ts +1 -0
  18. package/dist/commands/log.js +68 -0
  19. package/dist/commands/log.js.map +1 -0
  20. package/dist/commands/report.d.ts +1 -0
  21. package/dist/commands/report.js +62 -0
  22. package/dist/commands/report.js.map +1 -0
  23. package/dist/commands/status.d.ts +1 -0
  24. package/dist/commands/status.js +53 -0
  25. package/dist/commands/status.js.map +1 -0
  26. package/dist/commands/tasks.d.ts +1 -0
  27. package/dist/commands/tasks.js +73 -0
  28. package/dist/commands/tasks.js.map +1 -0
  29. package/dist/commands/trust.d.ts +1 -0
  30. package/dist/commands/trust.js +33 -0
  31. package/dist/commands/trust.js.map +1 -0
  32. package/dist/config.d.ts +19 -0
  33. package/dist/config.js +50 -0
  34. package/dist/config.js.map +1 -0
  35. package/dist/format.d.ts +36 -0
  36. package/dist/format.js +159 -0
  37. package/dist/format.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +265 -0
  40. package/dist/index.js.map +1 -0
  41. package/package.json +28 -0
package/dist/index.js ADDED
@@ -0,0 +1,265 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const init_js_1 = require("./commands/init.js");
5
+ const log_js_1 = require("./commands/log.js");
6
+ const tasks_js_1 = require("./commands/tasks.js");
7
+ const check_js_1 = require("./commands/check.js");
8
+ const trust_js_1 = require("./commands/trust.js");
9
+ const report_js_1 = require("./commands/report.js");
10
+ const approve_js_1 = require("./commands/approve.js");
11
+ const status_js_1 = require("./commands/status.js");
12
+ const agents_js_1 = require("./commands/agents.js");
13
+ const format_js_1 = require("./format.js");
14
+ const api_js_1 = require("./api.js");
15
+ const VERSION = '0.1.0';
16
+ class ExitError extends Error {
17
+ constructor() { super(); this.name = 'ExitError'; }
18
+ }
19
+ const COMMANDS = {
20
+ init: 'Register a new agent',
21
+ agents: 'List all registered agents',
22
+ use: 'Switch active agent',
23
+ whoami: 'Show current agent',
24
+ log: 'View/push activities',
25
+ tasks: 'View/manage assigned tasks',
26
+ check: 'Pre-flight governance check',
27
+ approve: 'Manage approvals',
28
+ trust: 'View trust score',
29
+ report: 'View report card',
30
+ status: 'Agent overview',
31
+ };
32
+ const COMMAND_NAMES = Object.keys(COMMANDS);
33
+ // ─── Levenshtein Distance ────────────────────────────────
34
+ function levenshtein(a, b) {
35
+ const m = a.length;
36
+ const n = b.length;
37
+ const dp = Array.from({ length: m + 1 }, () => Array(n + 1).fill(0));
38
+ for (let i = 0; i <= m; i++)
39
+ dp[i][0] = i;
40
+ for (let j = 0; j <= n; j++)
41
+ dp[0][j] = j;
42
+ for (let i = 1; i <= m; i++) {
43
+ for (let j = 1; j <= n; j++) {
44
+ dp[i][j] = a[i - 1] === b[j - 1]
45
+ ? dp[i - 1][j - 1]
46
+ : 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
47
+ }
48
+ }
49
+ return dp[m][n];
50
+ }
51
+ function suggestCommand(input) {
52
+ let best = '';
53
+ let bestDist = Infinity;
54
+ for (const cmd of COMMAND_NAMES) {
55
+ const dist = levenshtein(input.toLowerCase(), cmd);
56
+ if (dist < bestDist) {
57
+ bestDist = dist;
58
+ best = cmd;
59
+ }
60
+ }
61
+ return bestDist <= 2 ? best : null;
62
+ }
63
+ // ─── Subcommand Help ─────────────────────────────────────
64
+ const SUBCOMMAND_HELP = {
65
+ init: `${format_js_1.fmt.bold('rovn init')} — Register a new agent
66
+
67
+ ${format_js_1.fmt.bold('Options:')}
68
+ --name <name> Agent name
69
+ --as <profile> Profile name (default: derived from name)
70
+ --email <email> Owner email (optional)
71
+ --url <url> Server URL (default: https://rovn.io)`,
72
+ log: `${format_js_1.fmt.bold('rovn log')} — View and push activities
73
+
74
+ ${format_js_1.fmt.bold('Usage:')}
75
+ rovn log View recent activities
76
+ rovn log --push "title" Log a new activity
77
+ rovn log --last 20 Show last N activities
78
+
79
+ ${format_js_1.fmt.bold('Options:')}
80
+ --push <title> Log a new activity
81
+ --type <type> Activity type (default: action)
82
+ --desc <text> Description
83
+ --last <n> Number of activities to show (default: 10)`,
84
+ tasks: `${format_js_1.fmt.bold('rovn tasks')} — View and manage assigned tasks
85
+
86
+ ${format_js_1.fmt.bold('Usage:')}
87
+ rovn tasks List assigned tasks
88
+ rovn tasks start <id> Mark task as in_progress
89
+ rovn tasks done <id> Mark task as completed
90
+
91
+ ${format_js_1.fmt.bold('Options:')}
92
+ --status <status> Filter by status`,
93
+ check: `${format_js_1.fmt.bold('rovn check')} — Pre-flight governance check
94
+
95
+ ${format_js_1.fmt.bold('Usage:')}
96
+ rovn check <action>
97
+
98
+ ${format_js_1.fmt.bold('Options:')}
99
+ --urgency <level> low | medium | high | critical (default: medium)
100
+ --cost <amount> Estimated cost in USD
101
+ --context <text> Additional context`,
102
+ approve: `${format_js_1.fmt.bold('rovn approve')} — Manage approvals
103
+
104
+ ${format_js_1.fmt.bold('Usage:')}
105
+ rovn approve List pending approvals
106
+ rovn approve request "title" Request approval
107
+
108
+ ${format_js_1.fmt.bold('Options:')}
109
+ --type <type> Category (default: action)
110
+ --urgency <level> low | medium | high | critical (default: medium)
111
+ --desc <text> Description`,
112
+ trust: `${format_js_1.fmt.bold('rovn trust')} — View trust score
113
+
114
+ ${format_js_1.fmt.bold('Usage:')}
115
+ rovn trust`,
116
+ report: `${format_js_1.fmt.bold('rovn report')} — View report card
117
+
118
+ ${format_js_1.fmt.bold('Usage:')}
119
+ rovn report
120
+
121
+ ${format_js_1.fmt.bold('Options:')}
122
+ --days <n> Report period in days (default: 7)`,
123
+ status: `${format_js_1.fmt.bold('rovn status')} — Agent overview dashboard
124
+
125
+ ${format_js_1.fmt.bold('Usage:')}
126
+ rovn status`,
127
+ agents: `${format_js_1.fmt.bold('rovn agents')} — List all registered agent profiles
128
+
129
+ ${format_js_1.fmt.bold('Usage:')}
130
+ rovn agents`,
131
+ use: `${format_js_1.fmt.bold('rovn use')} — Switch active agent profile
132
+
133
+ ${format_js_1.fmt.bold('Usage:')}
134
+ rovn use <profile>`,
135
+ whoami: `${format_js_1.fmt.bold('rovn whoami')} — Show current active agent
136
+
137
+ ${format_js_1.fmt.bold('Usage:')}
138
+ rovn whoami`,
139
+ };
140
+ // ─── Main Help ───────────────────────────────────────────
141
+ function showHelp() {
142
+ console.log(`
143
+ ${format_js_1.fmt.bold('rovn')} ${format_js_1.fmt.dim(`v${VERSION}`)} — Governance toolkit for AI agents
144
+
145
+ ${format_js_1.fmt.bold('Setup:')}
146
+ init Register a new agent
147
+ agents List all registered agents
148
+ use <profile> Switch active agent
149
+ whoami Show current agent
150
+
151
+ ${format_js_1.fmt.bold('Activity:')}
152
+ log View recent activities
153
+ log --push "title" Log a new activity
154
+
155
+ ${format_js_1.fmt.bold('Tasks:')}
156
+ tasks View assigned tasks
157
+ tasks start <id> Mark task as in_progress
158
+ tasks done <id> Mark task as completed
159
+
160
+ ${format_js_1.fmt.bold('Governance:')}
161
+ check <action> Pre-flight check (can I do this?)
162
+ approve List pending approvals
163
+ approve request Request approval
164
+
165
+ ${format_js_1.fmt.bold('Insights:')}
166
+ trust View trust score
167
+ report View report card
168
+ status Agent overview
169
+
170
+ ${format_js_1.fmt.bold('Global Options:')}
171
+ --help, -h Show help (use with command for details)
172
+ --version, -v Show version
173
+ --json Output raw JSON (for scripting)
174
+
175
+ ${format_js_1.fmt.dim(`https://rovn.io`)}
176
+ `);
177
+ }
178
+ // ─── Main ────────────────────────────────────────────────
179
+ async function main() {
180
+ const rawArgs = process.argv.slice(2);
181
+ // Extract --json global flag
182
+ const jsonIdx = rawArgs.indexOf('--json');
183
+ if (jsonIdx >= 0) {
184
+ process.env.ROVN_JSON = '1';
185
+ rawArgs.splice(jsonIdx, 1);
186
+ }
187
+ const command = rawArgs[0];
188
+ const rest = rawArgs.slice(1);
189
+ if (!command || command === '--help' || command === '-h') {
190
+ showHelp();
191
+ return;
192
+ }
193
+ if (command === '--version' || command === '-v') {
194
+ console.log(VERSION);
195
+ return;
196
+ }
197
+ // Subcommand --help
198
+ if (rest.includes('--help') || rest.includes('-h')) {
199
+ const help = SUBCOMMAND_HELP[command];
200
+ if (help) {
201
+ console.log(`\n${help}\n`);
202
+ return;
203
+ }
204
+ }
205
+ switch (command) {
206
+ case 'init':
207
+ await (0, init_js_1.initCommand)(rest);
208
+ break;
209
+ case 'log':
210
+ await (0, log_js_1.logCommand)(rest);
211
+ break;
212
+ case 'tasks':
213
+ await (0, tasks_js_1.tasksCommand)(rest);
214
+ break;
215
+ case 'check':
216
+ await (0, check_js_1.checkCommand)(rest);
217
+ break;
218
+ case 'trust':
219
+ await (0, trust_js_1.trustCommand)();
220
+ break;
221
+ case 'report':
222
+ await (0, report_js_1.reportCommand)(rest);
223
+ break;
224
+ case 'approve':
225
+ await (0, approve_js_1.approveCommand)(rest);
226
+ break;
227
+ case 'status':
228
+ await (0, status_js_1.statusCommand)();
229
+ break;
230
+ case 'agents':
231
+ (0, agents_js_1.agentsCommand)(rest);
232
+ break;
233
+ case 'use':
234
+ (0, agents_js_1.useCommand)(rest);
235
+ break;
236
+ case 'whoami':
237
+ await (0, agents_js_1.whoamiCommand)();
238
+ break;
239
+ default: {
240
+ const suggestion = suggestCommand(command);
241
+ let msg = (0, format_js_1.error)(`Unknown command: ${command}`);
242
+ if (suggestion) {
243
+ msg += `\n\n Did you mean ${format_js_1.fmt.cyan(`rovn ${suggestion}`)}?\n`;
244
+ }
245
+ else {
246
+ msg += `\n${format_js_1.fmt.dim(' Run rovn --help for usage.')}\n`;
247
+ }
248
+ console.error(msg);
249
+ throw new ExitError();
250
+ }
251
+ }
252
+ }
253
+ main().catch(err => {
254
+ if (err instanceof ExitError) {
255
+ process.exit(1);
256
+ }
257
+ if (err instanceof api_js_1.ApiError) {
258
+ console.error((0, format_js_1.error)(err.message, err.hint));
259
+ }
260
+ else {
261
+ console.error((0, format_js_1.error)(String(err)));
262
+ }
263
+ process.exit(1);
264
+ });
265
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@rovn-ai/cli",
3
+ "version": "0.1.0",
4
+ "description": "Rovn CLI — governance toolkit for AI agents",
5
+ "bin": {
6
+ "rovn": "./dist/index.js"
7
+ },
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "dev": "tsc --watch",
14
+ "start": "node dist/index.js"
15
+ },
16
+ "keywords": [
17
+ "rovn",
18
+ "ai",
19
+ "agent",
20
+ "governance",
21
+ "cli"
22
+ ],
23
+ "license": "MIT",
24
+ "devDependencies": {
25
+ "@types/node": "^22.0.0",
26
+ "typescript": "^5.4.0"
27
+ }
28
+ }