@agentsmarket/cli 0.1.0 → 0.5.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.
- package/README.md +1455 -44
- package/dist/commands/balance.js +3 -3
- package/dist/commands/call.d.ts +23 -1
- package/dist/commands/call.js +187 -45
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/info.d.ts +6 -6
- package/dist/commands/info.js +33 -35
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.d.ts +11 -7
- package/dist/commands/init.js +71 -42
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.js +2 -2
- package/dist/commands/mcp.js +9 -11
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/pipeline/call.d.ts +18 -0
- package/dist/commands/pipeline/call.js +58 -0
- package/dist/commands/pipeline/call.js.map +1 -0
- package/dist/commands/pipeline/install.d.ts +7 -0
- package/dist/commands/pipeline/install.js +16 -0
- package/dist/commands/pipeline/install.js.map +1 -0
- package/dist/commands/pipeline/publish.d.ts +15 -0
- package/dist/commands/pipeline/publish.js +22 -0
- package/dist/commands/pipeline/publish.js.map +1 -0
- package/dist/commands/publish-openapi.d.ts +16 -0
- package/dist/commands/publish-openapi.js +61 -0
- package/dist/commands/publish-openapi.js.map +1 -0
- package/dist/commands/publish-pipeline.d.ts +15 -0
- package/dist/commands/publish-pipeline.js +141 -0
- package/dist/commands/publish-pipeline.js.map +1 -0
- package/dist/commands/publish.js +37 -42
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/refund.js +15 -17
- package/dist/commands/refund.js.map +1 -1
- package/dist/commands/register.js +6 -27
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/run.d.ts +31 -0
- package/dist/commands/run.js +305 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scan.js +2 -5
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/skill/call.d.ts +12 -0
- package/dist/commands/skill/call.js +17 -0
- package/dist/commands/skill/call.js.map +1 -0
- package/dist/commands/skill/install.d.ts +7 -0
- package/dist/commands/skill/install.js +13 -0
- package/dist/commands/skill/install.js.map +1 -0
- package/dist/commands/skill/publish.d.ts +18 -0
- package/dist/commands/skill/publish.js +28 -0
- package/dist/commands/skill/publish.js.map +1 -0
- package/dist/commands/validate.d.ts +20 -0
- package/dist/commands/validate.js +91 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.js +90 -29
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +12 -13
- package/dist/lib/config.js +27 -27
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/http.d.ts +23 -8
- package/dist/lib/http.js +28 -48
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/identity.d.ts +29 -0
- package/dist/lib/identity.js +57 -0
- package/dist/lib/identity.js.map +1 -0
- package/dist/lib/mcp-install.d.ts +36 -0
- package/dist/lib/mcp-install.js +149 -0
- package/dist/lib/mcp-install.js.map +1 -0
- package/dist/lib/pipeline-spec.d.ts +66 -0
- package/dist/lib/pipeline-spec.js +273 -0
- package/dist/lib/pipeline-spec.js.map +1 -0
- package/package.json +12 -4
- package/dist/lib/keys.d.ts +0 -69
- package/dist/lib/keys.js +0 -85
- package/dist/lib/keys.js.map +0 -1
- package/dist/lib/payment-keys.d.ts +0 -25
- package/dist/lib/payment-keys.js +0 -55
- package/dist/lib/payment-keys.js.map +0 -1
- package/dist/lib/payment.d.ts +0 -27
- package/dist/lib/payment.js +0 -123
- package/dist/lib/payment.js.map +0 -1
package/dist/commands/init.js
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `agentsmarket init` — generate
|
|
2
|
+
* `agentsmarket init` — generate BIP-39 mnemonic, derive secp256k1 keypair, register.
|
|
3
3
|
*
|
|
4
|
-
* 1. Creates
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* 1. Creates:
|
|
5
|
+
* ~/.config/agentsmarket/mnemonic.txt — 12-word phrase (PRIMARY backup)
|
|
6
|
+
* ~/.config/agentsmarket/agent.key — secp256k1 private key (hex)
|
|
7
|
+
* ~/.config/agentsmarket/config.json — public config (agent_id, network)
|
|
8
|
+
* 2. Registers on server (POST /v1/agents/register). If unreachable, init still
|
|
9
|
+
* succeeds locally — retry later with `agentsmarket register`.
|
|
8
10
|
*
|
|
9
|
-
* IMPORTANT: This is a one-time setup.
|
|
10
|
-
*
|
|
11
|
+
* IMPORTANT: This is a one-time setup.
|
|
12
|
+
* - mnemonic.txt = wallet backup. Import into Trust Wallet to monitor/send funds.
|
|
13
|
+
* - agent.key = signing key for CLI. Derived from mnemonic.
|
|
14
|
+
* - If you lose BOTH, you lose the agent identity and any associated balance.
|
|
11
15
|
*/
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { saveConfig, savePrivateKey, savePaymentKey, configExists, getKeyPath, getConfigPath, } from '../lib/config.js';
|
|
16
|
+
import { generateMnemonic, mnemonicToIdentity, } from '../lib/identity.js';
|
|
17
|
+
import { saveConfig, savePrivateKey, saveMnemonic, configExists, getKeyPath, getConfigPath, getMnemonicPath, } from '../lib/config.js';
|
|
15
18
|
import { authedJson } from '../lib/http.js';
|
|
19
|
+
import { installMcpForAll } from '../lib/mcp-install.js';
|
|
16
20
|
export async function initCommand() {
|
|
17
|
-
// 1. Check if already initialized
|
|
18
21
|
if (configExists()) {
|
|
19
22
|
console.error('✗ Agent already initialized.');
|
|
20
23
|
console.error(' Config: ' + getConfigPath());
|
|
@@ -22,39 +25,27 @@ export async function initCommand() {
|
|
|
22
25
|
console.error(' To re-initialize, delete the existing config and key files first.');
|
|
23
26
|
process.exit(1);
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// 2b. Generate secp256k1 keypair for EIP-3009 USDC payments
|
|
30
|
-
const paymentKp = generatePaymentKeypair();
|
|
31
|
-
const paymentAddress = exportPaymentAddress(paymentKp.publicKey);
|
|
32
|
-
// 3. Save private keys (PEM/PKCS8, 0600 perms) and config (0600 perms)
|
|
33
|
-
savePrivateKey(exportPrivateKeyPem(privateKey));
|
|
34
|
-
savePaymentKey(exportPaymentPrivateKeyPem(paymentKp.privateKey));
|
|
28
|
+
const mnemonic = generateMnemonic();
|
|
29
|
+
const id = mnemonicToIdentity(mnemonic);
|
|
30
|
+
saveMnemonic(mnemonic);
|
|
31
|
+
savePrivateKey(id.privateKeyHex);
|
|
35
32
|
saveConfig({
|
|
36
|
-
agent_id:
|
|
37
|
-
payment_address: paymentAddress,
|
|
33
|
+
agent_id: id.address,
|
|
38
34
|
network: 'base-sepolia',
|
|
39
35
|
created_at: new Date().toISOString(),
|
|
40
36
|
});
|
|
41
|
-
// 4. Print success message
|
|
42
37
|
console.log('✓ Agent created locally');
|
|
43
38
|
console.log('');
|
|
44
|
-
console.log(' Agent ID:
|
|
45
|
-
console.log('
|
|
46
|
-
console.log('
|
|
47
|
-
console.log('
|
|
48
|
-
console.log(' Agent key: ' + getKeyPath());
|
|
49
|
-
console.log(' Payment key: ~/.config/agentsmarket/payment.key');
|
|
50
|
-
console.log(' Config file: ' + getConfigPath());
|
|
51
|
-
// 5. Register agent on marketplace server (best-effort)
|
|
39
|
+
console.log(' Agent ID: ' + id.address);
|
|
40
|
+
console.log(' Mnemonic: ' + getMnemonicPath());
|
|
41
|
+
console.log(' Signing key: ' + getKeyPath());
|
|
42
|
+
console.log(' Config file: ' + getConfigPath());
|
|
52
43
|
console.log('');
|
|
53
44
|
console.log('→ Registering on marketplace server...');
|
|
54
45
|
try {
|
|
55
46
|
await authedJson('POST', '/v1/agents/register', {
|
|
56
|
-
agent_id:
|
|
57
|
-
public_key_hex: publicKeyHex,
|
|
47
|
+
agent_id: id.address,
|
|
48
|
+
public_key_hex: id.publicKeyHex,
|
|
58
49
|
display_name: null,
|
|
59
50
|
});
|
|
60
51
|
console.log('✓ Registered on server');
|
|
@@ -65,16 +56,54 @@ export async function initCommand() {
|
|
|
65
56
|
console.warn(' Your agent works locally but cannot use the marketplace yet.');
|
|
66
57
|
console.warn(' Retry later with: agentsmarket register');
|
|
67
58
|
}
|
|
68
|
-
// 6. Final instructions
|
|
69
59
|
console.log('');
|
|
70
|
-
console.log('
|
|
71
|
-
|
|
72
|
-
|
|
60
|
+
console.log('→ Detecting MCP-aware agents (OpenCode / Claude Code / Cursor)...');
|
|
61
|
+
const mcpReport = installMcpForAll();
|
|
62
|
+
if (mcpReport.length === 0) {
|
|
63
|
+
console.log(' - None detected. Configure manually per https://agentsmarket.world/INSTRUCTIONS.md');
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
for (const r of mcpReport) {
|
|
67
|
+
if (r.action === 'installed') {
|
|
68
|
+
console.log(` ✓ MCP installed for ${r.agent} → ${r.path}`);
|
|
69
|
+
}
|
|
70
|
+
else if (r.action === 'updated') {
|
|
71
|
+
console.log(` ✓ MCP updated for ${r.agent} → ${r.path}`);
|
|
72
|
+
console.log(` Backup: ${r.backup}`);
|
|
73
|
+
}
|
|
74
|
+
else if (r.action === 'unchanged') {
|
|
75
|
+
console.log(` - ${r.agent}: MCP entry already present`);
|
|
76
|
+
}
|
|
77
|
+
else if (r.action === 'skipped') {
|
|
78
|
+
console.log(` - ${r.agent}: skipped (${r.reason})`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
console.log('');
|
|
82
|
+
console.log(' Restart your agent (OpenCode/Claude/Cursor) so it picks up the new MCP server.');
|
|
83
|
+
}
|
|
84
|
+
console.log('');
|
|
85
|
+
console.log('⚠️ BACK UP YOUR MNEMONIC — 12 words that control your agent address.');
|
|
86
|
+
console.log(' Anyone with these words can spend your USDC.');
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(' Recommended backups:');
|
|
89
|
+
console.log(' 1. Write on paper, store in a safe');
|
|
90
|
+
console.log(' 2. Import into Trust Wallet to monitor/withdraw via familiar UI');
|
|
91
|
+
console.log(' (Trust Wallet → "Add wallet" → "Import" → paste 12 words)');
|
|
92
|
+
console.log(' 3. Encrypted backup file:');
|
|
93
|
+
console.log(` cp ${getMnemonicPath()} ~/backups/mnemonic-$(date +%Y%m%d).txt.enc`);
|
|
94
|
+
console.log(' # then encrypt with gpg or age before storing in cloud');
|
|
95
|
+
console.log('');
|
|
96
|
+
console.log('Next step — tell your agent what you want to do. For example:');
|
|
97
|
+
console.log(' "Search for a skill that summarizes articles"');
|
|
98
|
+
console.log(' "Show me the apple_design_v1 skill"');
|
|
99
|
+
console.log(' "Publish my own SKILL.md to the marketplace"');
|
|
73
100
|
console.log('');
|
|
74
|
-
console.log('
|
|
75
|
-
console.log('
|
|
76
|
-
console.log('
|
|
101
|
+
console.log('Available CLI commands:');
|
|
102
|
+
console.log(' agentsmarket search <query> # find skills');
|
|
103
|
+
console.log(' agentsmarket call <skill_id> # invoke a skill');
|
|
104
|
+
console.log(' agentsmarket publish <path> # publish your SKILL.md');
|
|
105
|
+
console.log(' agentsmarket info # show agent details + on-chain balance');
|
|
77
106
|
console.log('');
|
|
78
|
-
console.log('Your Agent ID: ' +
|
|
107
|
+
console.log('Your Agent ID: ' + id.address);
|
|
79
108
|
}
|
|
80
109
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -57,7 +57,7 @@ export async function installCommand(skillId) {
|
|
|
57
57
|
fs.writeFileSync(filepath, content, 'utf-8');
|
|
58
58
|
console.log(`✓ Installed ${res.name}`);
|
|
59
59
|
console.log(` Path: ${filepath}`);
|
|
60
|
-
console.log(` Price: ${res.is_free ? 'FREE' : `${res.
|
|
60
|
+
console.log(` Price: ${res.is_free ? 'FREE' : `${res.price_usdc} μUSDC`}`);
|
|
61
61
|
}
|
|
62
62
|
else {
|
|
63
63
|
console.log(`# ${res.name}\n`);
|
|
@@ -68,7 +68,7 @@ export async function installCommand(skillId) {
|
|
|
68
68
|
console.log(`\n---`);
|
|
69
69
|
console.log(`\nFilename suggestion: ${filename}`);
|
|
70
70
|
if (!res.is_free) {
|
|
71
|
-
console.log(`\nNote: this is a paid skill (${res.
|
|
71
|
+
console.log(`\nNote: this is a paid skill (${res.price_usdc} μUSDC). Run \`agentsmarket call ${skillId}\` to purchase + invoke.`);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -75,20 +75,20 @@ export async function mcpCommand() {
|
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
name: 'check_balance',
|
|
78
|
-
description: 'Check your agent wallet balance in micro-
|
|
78
|
+
description: 'Check your agent wallet balance in micro-USDC (testnet mock for now).',
|
|
79
79
|
inputSchema: { type: 'object', properties: {} },
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
name: 'publish_skill',
|
|
83
83
|
description: 'Publish a new skill to the marketplace from a SKILL.md string. ' +
|
|
84
|
-
'Must include YAML frontmatter with name, description,
|
|
84
|
+
'Must include YAML frontmatter with name, description, price_usdc. Optional: public_preview, tags.',
|
|
85
85
|
inputSchema: {
|
|
86
86
|
type: 'object',
|
|
87
87
|
properties: {
|
|
88
88
|
markdown: {
|
|
89
89
|
type: 'string',
|
|
90
90
|
description: 'Full SKILL.md content (YAML frontmatter + body). ' +
|
|
91
|
-
'Example:\n---\nname: "My skill"\ndescription: "..."\
|
|
91
|
+
'Example:\n---\nname: "My skill"\ndescription: "..."\nprice_usdc: 1000\n---\n# body here',
|
|
92
92
|
},
|
|
93
93
|
},
|
|
94
94
|
required: ['markdown'],
|
|
@@ -169,18 +169,18 @@ export async function mcpCommand() {
|
|
|
169
169
|
case 'publish_skill': {
|
|
170
170
|
const markdown = String(a.markdown ?? '');
|
|
171
171
|
const parsed = parseFrontmatter(markdown);
|
|
172
|
-
if (!parsed.frontmatter.name || !parsed.frontmatter.description || parsed.frontmatter.
|
|
173
|
-
throw new Error('SKILL.md must have YAML frontmatter with name, description,
|
|
172
|
+
if (!parsed.frontmatter.name || !parsed.frontmatter.description || parsed.frontmatter.price_usdc == null) {
|
|
173
|
+
throw new Error('SKILL.md must have YAML frontmatter with name, description, price_usdc');
|
|
174
174
|
}
|
|
175
175
|
const explicit = parsed.frontmatter.public_preview;
|
|
176
|
-
const autoPreview = parsed.body.split('\n\n')[0]
|
|
176
|
+
const autoPreview = parsed.body.split('\n\n')[0].slice(0, 500);
|
|
177
177
|
const publicMd = (typeof explicit === 'string' && explicit.length > 0)
|
|
178
178
|
? explicit.slice(0, 500)
|
|
179
179
|
: autoPreview;
|
|
180
180
|
const res = await authedJson('POST', '/v1/skills', {
|
|
181
181
|
name: parsed.frontmatter.name,
|
|
182
182
|
description: parsed.frontmatter.description,
|
|
183
|
-
|
|
183
|
+
price_usdc: Number(parsed.frontmatter.price_usdc),
|
|
184
184
|
tags: Array.isArray(parsed.frontmatter.tags) ? parsed.frontmatter.tags : [],
|
|
185
185
|
public_md: publicMd,
|
|
186
186
|
full_md: parsed.body,
|
|
@@ -212,7 +212,7 @@ export async function mcpCommand() {
|
|
|
212
212
|
`# (each agent has its own path — Claude Code, OpenCode, Cursor, Codex, etc. all differ)\n\n` +
|
|
213
213
|
`---\n\n${res.full_md ?? res.public_md}\n\n---\n\n` +
|
|
214
214
|
`Filename suggestion: ${skill_id}.md\n` +
|
|
215
|
-
(res.
|
|
215
|
+
(res.price_usdc > 0 ? `\nNote: this is a paid skill (${res.price_usdc} μUSDC). Run \`agentsmarket call ${skill_id}\` to purchase + invoke.\n` : ''),
|
|
216
216
|
}],
|
|
217
217
|
};
|
|
218
218
|
}
|
|
@@ -244,7 +244,7 @@ function parseFrontmatter(content) {
|
|
|
244
244
|
if (!match)
|
|
245
245
|
throw new Error('SKILL.md must start with YAML frontmatter (--- ... ---)');
|
|
246
246
|
const [, yamlBlock, body] = match;
|
|
247
|
-
if (!yamlBlock
|
|
247
|
+
if (!yamlBlock)
|
|
248
248
|
throw new Error('Invalid SKILL.md frontmatter');
|
|
249
249
|
const frontmatter = {};
|
|
250
250
|
for (const line of yamlBlock.split('\n')) {
|
|
@@ -252,8 +252,6 @@ function parseFrontmatter(content) {
|
|
|
252
252
|
if (!m)
|
|
253
253
|
continue;
|
|
254
254
|
const [, key, valueRaw] = m;
|
|
255
|
-
if (!key || valueRaw === undefined)
|
|
256
|
-
continue;
|
|
257
255
|
const value = valueRaw.trim();
|
|
258
256
|
if (value.startsWith('"') && value.endsWith('"'))
|
|
259
257
|
frontmatter[key] = value.slice(1, -1);
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline call <slug>` — invoke a pipeline (server or local).
|
|
3
|
+
*
|
|
4
|
+
* Modes (mutually exclusive except --local + --mock which together = dry-run):
|
|
5
|
+
* --local Execute pipeline.yaml locally via runCommand (CLI install dir or --file)
|
|
6
|
+
* --mock Stub execution (no real LLM API calls; for dry-run testing)
|
|
7
|
+
*
|
|
8
|
+
* Server-side execution (no --local) STUB until R16 ships /v1/pipelines/:id/invoke.
|
|
9
|
+
*/
|
|
10
|
+
export declare function pipelineCallCommand(slug: string, opts: {
|
|
11
|
+
local?: boolean;
|
|
12
|
+
mock?: boolean;
|
|
13
|
+
inputs?: string;
|
|
14
|
+
model?: string;
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
file?: string;
|
|
17
|
+
color?: boolean;
|
|
18
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline call <slug>` — invoke a pipeline (server or local).
|
|
3
|
+
*
|
|
4
|
+
* Modes (mutually exclusive except --local + --mock which together = dry-run):
|
|
5
|
+
* --local Execute pipeline.yaml locally via runCommand (CLI install dir or --file)
|
|
6
|
+
* --mock Stub execution (no real LLM API calls; for dry-run testing)
|
|
7
|
+
*
|
|
8
|
+
* Server-side execution (no --local) STUB until R16 ships /v1/pipelines/:id/invoke.
|
|
9
|
+
*/
|
|
10
|
+
import * as fs from 'node:fs';
|
|
11
|
+
import * as path from 'node:path';
|
|
12
|
+
import * as os from 'node:os';
|
|
13
|
+
import { runCommand } from '../run.js';
|
|
14
|
+
function findLocalPipelineFile(slug) {
|
|
15
|
+
const candidates = [
|
|
16
|
+
path.join(os.homedir(), '.config', 'agentsmarket', 'pipelines', `${slug}.yaml`),
|
|
17
|
+
path.join(os.homedir(), '.config', 'agentsmarket', 'pipelines', `${slug}.yml`),
|
|
18
|
+
path.join(process.cwd(), `${slug}.yaml`),
|
|
19
|
+
path.join(process.cwd(), `${slug}.yml`),
|
|
20
|
+
];
|
|
21
|
+
for (const candidate of candidates) {
|
|
22
|
+
if (fs.existsSync(candidate)) {
|
|
23
|
+
return candidate;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
export async function pipelineCallCommand(slug, opts) {
|
|
29
|
+
if (!opts.local) {
|
|
30
|
+
// Server-side execution stub (R16 ships /v1/pipelines/:id/invoke).
|
|
31
|
+
console.error('✗ Server-side pipeline invocation not yet implemented.');
|
|
32
|
+
console.error(' Server route POST /v1/pipelines/:id/invoke is planned for R16.');
|
|
33
|
+
console.error(' Track progress: .omo/plans/v0-5-marketplace.md (todo C5)');
|
|
34
|
+
console.error('');
|
|
35
|
+
console.error(' Workaround: use --local to run the pipeline via CLI:');
|
|
36
|
+
console.error(` agentsmarket pipeline call ${slug} --local`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
// Local execution: resolve file path
|
|
40
|
+
const filePath = opts.file ?? findLocalPipelineFile(slug);
|
|
41
|
+
if (!filePath) {
|
|
42
|
+
console.error(`✗ Pipeline file not found for slug "${slug}".`);
|
|
43
|
+
console.error(' Searched:');
|
|
44
|
+
console.error(` ~/.config/agentsmarket/pipelines/${slug}.{yaml,yml}`);
|
|
45
|
+
console.error(` ./${slug}.{yaml,yml}`);
|
|
46
|
+
console.error('');
|
|
47
|
+
console.error(' Use --file <path> to specify explicitly, or run `agentsmarket pipeline install <slug>` (R16).');
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
await runCommand(filePath, {
|
|
51
|
+
inputs: opts.inputs,
|
|
52
|
+
mock: !!opts.mock,
|
|
53
|
+
model: opts.model,
|
|
54
|
+
apiKey: opts.apiKey,
|
|
55
|
+
noColor: opts.color === false,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/commands/pipeline/call.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,OAAO,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,MAAM,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,OAAO,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,CAAC;KACxC,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAQvD;IACC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,mEAAmE;QACnE,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,UAAU,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,wCAAwC,IAAI,aAAa,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACjH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,KAAK;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline install <slug>` — STUB for B1.
|
|
3
|
+
*
|
|
4
|
+
* Server route `/v1/pipelines/:id/yaml` is planned for R16. Until then,
|
|
5
|
+
* this returns a clear error explaining the workflow gap.
|
|
6
|
+
*/
|
|
7
|
+
export declare function pipelineInstallCommand(slug: string): Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline install <slug>` — STUB for B1.
|
|
3
|
+
*
|
|
4
|
+
* Server route `/v1/pipelines/:id/yaml` is planned for R16. Until then,
|
|
5
|
+
* this returns a clear error explaining the workflow gap.
|
|
6
|
+
*/
|
|
7
|
+
export async function pipelineInstallCommand(slug) {
|
|
8
|
+
console.error('✗ `pipeline install` is not yet implemented.');
|
|
9
|
+
console.error(' Pipeline YAML download is planned for R16 (server route /v1/pipelines/:id/yaml).');
|
|
10
|
+
console.error(' Track progress: .omo/plans/v0-5-marketplace.md (todo 14)');
|
|
11
|
+
console.error('');
|
|
12
|
+
console.error(' Workaround: clone the pipeline YAML directly from your author\'s git repo,');
|
|
13
|
+
console.error(' or copy from https://staging.agentsmarket.world/pipelines/');
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/pipeline/install.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;IACpG,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAC9F,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline publish <file>` — wraps the existing publishPipelineCommand.
|
|
3
|
+
*
|
|
4
|
+
* For v0.5 B3, adds two new flags for publish auto-detect semantics (Q22-Q25):
|
|
5
|
+
* --bump-version=patch|minor|major Force version bump on content hash conflict
|
|
6
|
+
* --metadata-only Force metadata-only update (no row insert)
|
|
7
|
+
*
|
|
8
|
+
* Default behavior (no flags): auto-detect by content hash (same as skills).
|
|
9
|
+
*/
|
|
10
|
+
interface PublishFlags {
|
|
11
|
+
bumpVersion?: 'patch' | 'minor' | 'major';
|
|
12
|
+
metadataOnly?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function pipelinePublishCommand(filePath: string, flags: PublishFlags): Promise<void>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket pipeline publish <file>` — wraps the existing publishPipelineCommand.
|
|
3
|
+
*
|
|
4
|
+
* For v0.5 B3, adds two new flags for publish auto-detect semantics (Q22-Q25):
|
|
5
|
+
* --bump-version=patch|minor|major Force version bump on content hash conflict
|
|
6
|
+
* --metadata-only Force metadata-only update (no row insert)
|
|
7
|
+
*
|
|
8
|
+
* Default behavior (no flags): auto-detect by content hash (same as skills).
|
|
9
|
+
*/
|
|
10
|
+
import { publishPipelineCommand } from '../publish-pipeline.js';
|
|
11
|
+
export async function pipelinePublishCommand(filePath, flags) {
|
|
12
|
+
if (flags.bumpVersion) {
|
|
13
|
+
console.log(`[v0.5] Auto-bump requested: ${flags.bumpVersion}`);
|
|
14
|
+
console.log('[v0.5] Note: publish auto-detect wiring is tracked in R17; current publishPipelineCommand ignores this flag.');
|
|
15
|
+
}
|
|
16
|
+
if (flags.metadataOnly) {
|
|
17
|
+
console.log('[v0.5] Metadata-only mode requested.');
|
|
18
|
+
console.log('[v0.5] Note: publish auto-detect wiring is tracked in R17; current publishPipelineCommand ignores this flag.');
|
|
19
|
+
}
|
|
20
|
+
await publishPipelineCommand(filePath);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/commands/pipeline/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAOhE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAgB,EAAE,KAAmB;IAChF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,8GAA8G,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,8GAA8G,CAAC,CAAC;IAC9H,CAAC;IAED,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface CliOptions {
|
|
2
|
+
apiName?: string;
|
|
3
|
+
output?: string;
|
|
4
|
+
price?: string;
|
|
5
|
+
authorName?: string;
|
|
6
|
+
maxEndpoints?: string;
|
|
7
|
+
includeTag?: string;
|
|
8
|
+
excludePath?: string;
|
|
9
|
+
publish?: boolean;
|
|
10
|
+
publishDryRun?: boolean;
|
|
11
|
+
publishUrl?: string;
|
|
12
|
+
batchSize?: string;
|
|
13
|
+
skipOnError?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function publishOpenapiCommand(source: string, opts: CliOptions): Promise<void>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agentsmarket publish-openapi <openapi-spec>` — generate SKILL.md files from an OpenAPI spec,
|
|
3
|
+
* optionally auto-publish all of them to the marketplace.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: Generate N child SKILL.md (one per endpoint) + 1 parent SKILL.md (router).
|
|
6
|
+
* Phase 2 (--publish): Auto-publish all to api.agentsmarket.world via EIP-191 auth.
|
|
7
|
+
* Author is auto-derived from local agent.key (server uses ecrecover).
|
|
8
|
+
*/
|
|
9
|
+
import { run } from '@agentsmarket/generator';
|
|
10
|
+
export async function publishOpenapiCommand(source, opts) {
|
|
11
|
+
const apiName = (opts.apiName || 'api').toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
12
|
+
const price = parseInt(opts.price || '1000', 10);
|
|
13
|
+
const authorName = opts.authorName || apiName;
|
|
14
|
+
const outputDir = opts.output || `./generated/${apiName}`;
|
|
15
|
+
const maxEndpoints = opts.maxEndpoints ? parseInt(opts.maxEndpoints, 10) : Infinity;
|
|
16
|
+
const includeTags = opts.includeTag ? [opts.includeTag] : null;
|
|
17
|
+
const excludePath = opts.excludePath ? new RegExp(opts.excludePath) : null;
|
|
18
|
+
const publishUrl = (opts.publishUrl || process.env.AGENTSMARKET_URL || 'https://api.agentsmarket.world').replace(/\/$/, '');
|
|
19
|
+
console.log('\n=== OpenAPI → SKILL.md Generator ===\n');
|
|
20
|
+
const result = await run({
|
|
21
|
+
source,
|
|
22
|
+
gen: { apiName, price, authorName, outputDir, maxEndpoints, includeTags, excludePath },
|
|
23
|
+
publish: {
|
|
24
|
+
enabled: !!opts.publish || !!opts.publishDryRun,
|
|
25
|
+
dryRun: !!opts.publishDryRun,
|
|
26
|
+
baseUrl: publishUrl,
|
|
27
|
+
batchSize: parseInt(opts.batchSize || '5', 10),
|
|
28
|
+
skipOnError: !!opts.skipOnError,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
console.log(`\n→ Generated ${result.children.length} child + 1 parent SKILL.md to ${result.outputDir}/`);
|
|
32
|
+
if (opts.publishDryRun) {
|
|
33
|
+
console.log('\n[DRY RUN — would publish to ' + publishUrl + ']');
|
|
34
|
+
console.log(` Children: ${result.children.length} (price: ${price} micro-USDC)`);
|
|
35
|
+
console.log(` Parent: 1 (free)`);
|
|
36
|
+
console.log(` Author: ${result.authorId}`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!opts.publish) {
|
|
40
|
+
console.log('\nNext steps:');
|
|
41
|
+
console.log(` 1. Review files in ${result.outputDir}/`);
|
|
42
|
+
console.log(` 2. agentsmarket publish-openapi ${source} --publish-dry-run --api-name ${apiName}`);
|
|
43
|
+
console.log(` 3. agentsmarket publish-openapi ${source} --publish --api-name ${apiName}`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
console.log(`\n→ Author: ${result.authorId}`);
|
|
47
|
+
console.log(`→ ${result.childIds.size}/${result.children.length} children published`);
|
|
48
|
+
if (result.childErrors.length > 0) {
|
|
49
|
+
console.log(`⚠ ${result.childErrors.length} children failed:`);
|
|
50
|
+
result.childErrors.slice(0, 5).forEach((e) => console.log(` - ${e.name}: ${e.error.slice(0, 100)}`));
|
|
51
|
+
}
|
|
52
|
+
if (result.parentResult) {
|
|
53
|
+
console.log(`→ Parent published: ${result.parentResult.id} (${result.parentResult.name})`);
|
|
54
|
+
console.log(`\nView at: https://agentsmarket.world/skills/${result.parentResult.id}`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
console.log(`✗ Parent publish failed`);
|
|
58
|
+
}
|
|
59
|
+
console.log(`→ Manifest: ${result.outputDir}/manifest.json`);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=publish-openapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-openapi.js","sourceRoot":"","sources":["../../src/commands/publish-openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HttpError } from '../lib/http.js';
|
|
2
|
+
export interface PublishPipelineDeps {
|
|
3
|
+
readFileSync: (path: string, enc: 'utf-8') => string;
|
|
4
|
+
authedJson: <T>(method: string, path: string, body: unknown) => Promise<T>;
|
|
5
|
+
HttpError: typeof HttpError;
|
|
6
|
+
validatePipelineSpec: (yamlBody: string) => {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
error?: string;
|
|
9
|
+
usesStages?: string[];
|
|
10
|
+
warnings?: string[];
|
|
11
|
+
};
|
|
12
|
+
log: (...args: unknown[]) => void;
|
|
13
|
+
error: (...args: unknown[]) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function publishPipelineCommand(filePath: string, depsOverrides?: Partial<PublishPipelineDeps>): Promise<void>;
|