@app-agents/cli 0.0.0-stage → 0.1.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.
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +213 -0
- package/dist/index.js.map +1 -0
- package/package.json +34 -4
- package/README.md +0 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* app-agents CLI
|
|
4
|
+
*
|
|
5
|
+
* app-agents list
|
|
6
|
+
* app-agents search snap
|
|
7
|
+
* app-agents show gmail
|
|
8
|
+
* app-agents auth gmail
|
|
9
|
+
* app-agents add gmail
|
|
10
|
+
*
|
|
11
|
+
* The registry is read from, in order:
|
|
12
|
+
* 1. $APP_AGENTS_REGISTRY (a file path or an https URL)
|
|
13
|
+
* 2. the nearest registry.json, walking up from the working directory
|
|
14
|
+
* 3. the published registry
|
|
15
|
+
*/
|
|
16
|
+
import { readFile } from 'node:fs/promises';
|
|
17
|
+
import { spawn } from 'node:child_process';
|
|
18
|
+
import { existsSync } from 'node:fs';
|
|
19
|
+
import path from 'node:path';
|
|
20
|
+
import { describeCapabilities, findApp, isReadOnly, searchApps, } from '@app-agents/core';
|
|
21
|
+
const PUBLISHED_REGISTRY = 'https://cdn.jsdelivr.net/gh/app-agents/agents@main/registry.json';
|
|
22
|
+
async function loadRegistry() {
|
|
23
|
+
const override = process.env.APP_AGENTS_REGISTRY;
|
|
24
|
+
if (override) {
|
|
25
|
+
return parseRegistry(await readSource(override), override);
|
|
26
|
+
}
|
|
27
|
+
const local = findUpward('registry.json', process.cwd());
|
|
28
|
+
if (local) {
|
|
29
|
+
return parseRegistry(await readFile(local, 'utf8'), local);
|
|
30
|
+
}
|
|
31
|
+
return parseRegistry(await readSource(PUBLISHED_REGISTRY), PUBLISHED_REGISTRY);
|
|
32
|
+
}
|
|
33
|
+
async function readSource(source) {
|
|
34
|
+
if (source.startsWith('http://') || source.startsWith('https://')) {
|
|
35
|
+
const response = await fetch(source);
|
|
36
|
+
if (!response.ok)
|
|
37
|
+
throw new Error(`Could not fetch ${source} (HTTP ${response.status})`);
|
|
38
|
+
return response.text();
|
|
39
|
+
}
|
|
40
|
+
return readFile(path.resolve(source), 'utf8');
|
|
41
|
+
}
|
|
42
|
+
function parseRegistry(text, source) {
|
|
43
|
+
try {
|
|
44
|
+
return JSON.parse(text);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw new Error(`${source} is not valid JSON`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function findUpward(file, from) {
|
|
51
|
+
let dir = from;
|
|
52
|
+
while (true) {
|
|
53
|
+
const candidate = path.join(dir, file);
|
|
54
|
+
if (existsSync(candidate))
|
|
55
|
+
return candidate;
|
|
56
|
+
const parent = path.dirname(dir);
|
|
57
|
+
if (parent === dir)
|
|
58
|
+
return undefined;
|
|
59
|
+
dir = parent;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function requireApp(registry, handle) {
|
|
63
|
+
if (!handle) {
|
|
64
|
+
fail('Name an app. Try: app-agents search gmail');
|
|
65
|
+
}
|
|
66
|
+
const app = findApp(registry, handle);
|
|
67
|
+
if (app)
|
|
68
|
+
return app;
|
|
69
|
+
const close = searchApps(registry, handle);
|
|
70
|
+
if (close.length) {
|
|
71
|
+
fail(`No app named "${handle}". Did you mean: ${close.map((a) => a.app).join(', ')}?`);
|
|
72
|
+
}
|
|
73
|
+
fail(`No app named "${handle}". Run: app-agents list`);
|
|
74
|
+
}
|
|
75
|
+
const commands = {
|
|
76
|
+
async list(registry, args) {
|
|
77
|
+
if (args.includes('--json')) {
|
|
78
|
+
process.stdout.write(`${JSON.stringify(registry, null, 2)}\n`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const rows = registry.apps.flatMap((app) => app.experts.map((expert) => [
|
|
82
|
+
app.app,
|
|
83
|
+
expert.id,
|
|
84
|
+
expert.status,
|
|
85
|
+
isReadOnly(app) ? 'read-only' : 'writes',
|
|
86
|
+
expert.job,
|
|
87
|
+
]));
|
|
88
|
+
printTable(['APP', 'EXPERT', 'STATUS', 'MODE', 'JOB'], rows);
|
|
89
|
+
},
|
|
90
|
+
async search(registry, args) {
|
|
91
|
+
const query = args.join(' ');
|
|
92
|
+
if (!query)
|
|
93
|
+
fail('Search for something. Try: app-agents search snapchat');
|
|
94
|
+
const results = searchApps(registry, query);
|
|
95
|
+
if (!results.length) {
|
|
96
|
+
process.stdout.write(`Nothing for "${query}".\n`);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
printTable(['APP', 'PACKAGE', 'EXPERTS'], results.map((app) => [
|
|
100
|
+
app.app,
|
|
101
|
+
app.package,
|
|
102
|
+
app.experts.map((e) => `${e.id} (${e.status})`).join(', '),
|
|
103
|
+
]));
|
|
104
|
+
},
|
|
105
|
+
async show(registry, args) {
|
|
106
|
+
const app = requireApp(registry, args[0]);
|
|
107
|
+
const lines = [
|
|
108
|
+
`${app.title} [${app.app}]`,
|
|
109
|
+
'',
|
|
110
|
+
`package: ${app.package}`,
|
|
111
|
+
`connector: ${app.connector.kind} · ${app.connector.auth} · ${app.connector.writes ? 'writes' : 'read-only'}`,
|
|
112
|
+
`aliases: ${app.aliases.join(', ') || '—'}`,
|
|
113
|
+
'',
|
|
114
|
+
'experts:',
|
|
115
|
+
...app.experts.map((e) => ` ${e.id} [${e.status}] — ${e.job}`),
|
|
116
|
+
'',
|
|
117
|
+
'capabilities:',
|
|
118
|
+
...describeCapabilities(app).map((line) => ` ${line}`),
|
|
119
|
+
];
|
|
120
|
+
if (app.credentials.length) {
|
|
121
|
+
lines.push('', 'credentials:');
|
|
122
|
+
for (const credential of app.credentials) {
|
|
123
|
+
lines.push(` ${credential.env}${credential.scopes?.length ? ` (${credential.scopes.join(' ')})` : ''}`);
|
|
124
|
+
lines.push(` ${credential.how}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (app.gate)
|
|
128
|
+
lines.push('', `gate: ${app.gate}`);
|
|
129
|
+
if (app.dataRetention)
|
|
130
|
+
lines.push(`data: ${app.dataRetention}`);
|
|
131
|
+
process.stdout.write(`${lines.join('\n')}\n`);
|
|
132
|
+
},
|
|
133
|
+
async auth(registry, args) {
|
|
134
|
+
const app = requireApp(registry, args[0]);
|
|
135
|
+
if (!app.credentials.length) {
|
|
136
|
+
process.stdout.write(`${app.title} needs no credentials.\n`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
process.stdout.write(`Credentials for ${app.title}:\n\n`);
|
|
140
|
+
for (const credential of app.credentials) {
|
|
141
|
+
process.stdout.write(` ${credential.env}\n`);
|
|
142
|
+
if (credential.scopes?.length)
|
|
143
|
+
process.stdout.write(` scopes: ${credential.scopes.join(', ')}\n`);
|
|
144
|
+
process.stdout.write(` ${credential.how}\n\n`);
|
|
145
|
+
}
|
|
146
|
+
if (app.gate)
|
|
147
|
+
process.stdout.write(`Platform gate: ${app.gate}\n`);
|
|
148
|
+
},
|
|
149
|
+
async add(registry, args) {
|
|
150
|
+
const app = requireApp(registry, args[0]);
|
|
151
|
+
const dry = args.includes('--dry');
|
|
152
|
+
const command = `npm install ${app.package}`;
|
|
153
|
+
if (dry) {
|
|
154
|
+
process.stdout.write(`${command}\n`);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
process.stdout.write(`${command}\n`);
|
|
158
|
+
await new Promise((resolve, reject) => {
|
|
159
|
+
const child = spawn('npm', ['install', app.package], { stdio: 'inherit' });
|
|
160
|
+
child.on('error', reject);
|
|
161
|
+
child.on('exit', (code) => code === 0 ? resolve() : reject(new Error(`npm install exited with ${code}`)));
|
|
162
|
+
});
|
|
163
|
+
process.stdout.write(`\nInstalled ${app.package}.\n`);
|
|
164
|
+
if (app.credentials.length) {
|
|
165
|
+
process.stdout.write(`Next: app-agents auth ${app.app}\n`);
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
async help() {
|
|
169
|
+
process.stdout.write([
|
|
170
|
+
'app-agents — find, install and inspect agents for apps',
|
|
171
|
+
'',
|
|
172
|
+
' app-agents list [--json] every app, expert and permission level',
|
|
173
|
+
' app-agents search <query> search by app name, alias, or job',
|
|
174
|
+
' app-agents show <app> capabilities, credentials, gates',
|
|
175
|
+
' app-agents auth <app> what the operator must provide',
|
|
176
|
+
' app-agents add <app> [--dry] install the package',
|
|
177
|
+
'',
|
|
178
|
+
'Registry: $APP_AGENTS_REGISTRY, ./registry.json, or the published copy.',
|
|
179
|
+
].join('\n') + '\n');
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
function printTable(headers, rows) {
|
|
183
|
+
const widths = headers.map((header, index) => Math.max(header.length, ...rows.map((row) => (row[index] ?? '').length)));
|
|
184
|
+
const render = (row) => row.map((cell, index) => cell.padEnd(widths[index] ?? 0)).join(' ').trimEnd();
|
|
185
|
+
process.stdout.write(`${render(headers)}\n`);
|
|
186
|
+
process.stdout.write(`${widths.map((width) => '─'.repeat(width)).join(' ')}\n`);
|
|
187
|
+
for (const row of rows)
|
|
188
|
+
process.stdout.write(`${render(row)}\n`);
|
|
189
|
+
}
|
|
190
|
+
function fail(message) {
|
|
191
|
+
process.stderr.write(`${message}\n`);
|
|
192
|
+
process.exit(1);
|
|
193
|
+
}
|
|
194
|
+
async function main() {
|
|
195
|
+
const [command = 'help', ...args] = process.argv.slice(2);
|
|
196
|
+
if (command === 'help' || command === '--help' || command === '-h') {
|
|
197
|
+
await commands.help();
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const handler = commands[command];
|
|
201
|
+
if (!handler || command === 'help') {
|
|
202
|
+
await commands.help();
|
|
203
|
+
process.exitCode = 1;
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const registry = await loadRegistry();
|
|
207
|
+
await handler(registry, args);
|
|
208
|
+
}
|
|
209
|
+
main().catch((error) => {
|
|
210
|
+
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
211
|
+
process.exit(1);
|
|
212
|
+
});
|
|
213
|
+
//# 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
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@app-agents/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Find, install and inspect app agents",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"app-agents": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc -p tsconfig.json",
|
|
15
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
16
|
+
"dev": "tsx src/index.ts",
|
|
17
|
+
"prepublishOnly": "npm run build"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@app-agents/core": "^0.1.0"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/node": "^22.10.2",
|
|
24
|
+
"tsx": "^4.19.2",
|
|
25
|
+
"typescript": "^5.7.2"
|
|
26
|
+
},
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/app-agents/agents.git",
|
|
30
|
+
"directory": "packages/cli"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://github.com/app-agents/agents#readme",
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/app-agents/agents/issues"
|
|
35
|
+
}
|
|
36
|
+
}
|
package/README.md
DELETED