@moltos/sdk 0.6.0 ā 0.7.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/cli.js +39 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/complete.d.ts +11 -0
- package/dist/commands/complete.d.ts.map +1 -0
- package/dist/commands/complete.js +154 -0
- package/dist/commands/complete.js.map +1 -0
- package/dist/commands/hire.d.ts +29 -0
- package/dist/commands/hire.d.ts.map +1 -0
- package/dist/commands/hire.js +411 -0
- package/dist/commands/hire.js.map +1 -0
- package/dist/commands/marketplace.d.ts +14 -0
- package/dist/commands/marketplace.d.ts.map +1 -0
- package/dist/commands/marketplace.js +183 -0
- package/dist/commands/marketplace.js.map +1 -0
- package/dist/commands/status.d.ts +17 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +388 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -26,7 +26,9 @@ const fs_1 = require("./commands/fs");
|
|
|
26
26
|
const tap_1 = require("./tap");
|
|
27
27
|
const register_1 = require("./commands/register");
|
|
28
28
|
const cloud_1 = require("./commands/cloud");
|
|
29
|
-
const
|
|
29
|
+
const status_1 = require("./commands/status");
|
|
30
|
+
const marketplace_1 = require("./commands/marketplace");
|
|
31
|
+
const VERSION = '0.7.1';
|
|
30
32
|
commander_1.program
|
|
31
33
|
.name('moltos')
|
|
32
34
|
.description('MoltOS - The Agent Operating System')
|
|
@@ -48,6 +50,11 @@ commander_1.program
|
|
|
48
50
|
.option('--id <clawId>', 'Agent ClawID (required for genesis)')
|
|
49
51
|
.option('--name <name>', 'Agent display name')
|
|
50
52
|
.action(register_1.registerCommand);
|
|
53
|
+
commander_1.program
|
|
54
|
+
.command('status')
|
|
55
|
+
.description('Check MoltOS system status (agent, ClawFS, TAP, network)')
|
|
56
|
+
.option('--json', 'Output as JSON')
|
|
57
|
+
.action(status_1.statusCommand);
|
|
51
58
|
// Agent commands
|
|
52
59
|
const agent = commander_1.program
|
|
53
60
|
.command('agent')
|
|
@@ -126,6 +133,37 @@ tapCmd
|
|
|
126
133
|
.command('verify')
|
|
127
134
|
.description('Verify TAP cache integrity')
|
|
128
135
|
.action(() => (0, tap_1.tapCommand)('verify', {}));
|
|
136
|
+
// Marketplace commands
|
|
137
|
+
const marketplaceCmd = commander_1.program
|
|
138
|
+
.command('marketplace')
|
|
139
|
+
.description('MoltOS Marketplace - Hire agents');
|
|
140
|
+
marketplaceCmd
|
|
141
|
+
.command('list')
|
|
142
|
+
.alias('ls')
|
|
143
|
+
.description('List available agents in the marketplace')
|
|
144
|
+
.option('--tier <tier>', 'Filter by tier (Novice, Bronze, Silver, Gold, Platinum, Diamond)')
|
|
145
|
+
.option('--min-tap <score>', 'Minimum TAP score', '0')
|
|
146
|
+
.option('--limit <n>', 'Number of agents to show', '20')
|
|
147
|
+
.option('--json', 'Output as JSON')
|
|
148
|
+
.action((options) => (0, marketplace_1.marketplaceCommand)('list', options));
|
|
149
|
+
marketplaceCmd
|
|
150
|
+
.command('view <clawId>')
|
|
151
|
+
.description('View agent details')
|
|
152
|
+
.action((clawId) => (0, marketplace_1.marketplaceCommand)('view', { clawId }));
|
|
153
|
+
marketplaceCmd
|
|
154
|
+
.command('hire <clawId>')
|
|
155
|
+
.description('Hire an agent with Stripe escrow')
|
|
156
|
+
.requiredOption('-b, --budget <amount>', 'Job budget in USD')
|
|
157
|
+
.option('-d, --description <text>', 'Job description')
|
|
158
|
+
.option('-t, --title <title>', 'Job title')
|
|
159
|
+
.option('--min-tap <score>', 'Minimum TAP score required for agent', '0')
|
|
160
|
+
.option('--currency <code>', 'Currency code (usd)', 'usd')
|
|
161
|
+
.option('--auto-confirm', 'Skip confirmation prompts')
|
|
162
|
+
.action((clawId, options) => (0, marketplace_1.marketplaceCommand)('hire', { clawId, ...options }));
|
|
163
|
+
marketplaceCmd
|
|
164
|
+
.command('complete <jobId>')
|
|
165
|
+
.description('Confirm job completion and release payment')
|
|
166
|
+
.action((jobId) => (0, marketplace_1.marketplaceCommand)('complete', { jobId }));
|
|
129
167
|
// Cloud deployment commands
|
|
130
168
|
const cloudCmd = commander_1.program
|
|
131
169
|
.command('cloud')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;GAiBG;;AAEH,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,sCAA0C;AAC1C,+BAAmC;AACnC,kDAAsD;AACtD,4CAAiD;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complete Command - Confirm job completion and release payment
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* moltos marketplace complete <jobId>
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Main complete command
|
|
9
|
+
*/
|
|
10
|
+
export declare function completeCommand(jobId: string): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=complete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../src/commands/complete.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6FH;;GAEG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClE"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Complete Command - Confirm job completion and release payment
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* moltos marketplace complete <jobId>
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.completeCommand = completeCommand;
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const COLORS = {
|
|
46
|
+
reset: '\x1b[0m',
|
|
47
|
+
green: '\x1b[32m',
|
|
48
|
+
yellow: '\x1b[33m',
|
|
49
|
+
red: '\x1b[31m',
|
|
50
|
+
blue: '\x1b[34m',
|
|
51
|
+
cyan: '\x1b[36m',
|
|
52
|
+
gray: '\x1b[90m',
|
|
53
|
+
};
|
|
54
|
+
function log(message, color = 'reset') {
|
|
55
|
+
console.log(`${COLORS[color]}${message}${COLORS.reset}`);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Load hirer's ClawID
|
|
59
|
+
*/
|
|
60
|
+
function loadHirerClawID() {
|
|
61
|
+
try {
|
|
62
|
+
const clawIdPath = path.join(process.cwd(), '.moltos', 'clawid.json');
|
|
63
|
+
if (!fs.existsSync(clawIdPath)) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return JSON.parse(fs.readFileSync(clawIdPath, 'utf8'));
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Load job from local cache
|
|
74
|
+
*/
|
|
75
|
+
function loadLocalJob(jobId) {
|
|
76
|
+
const jobsPath = path.join(process.cwd(), '.moltos', 'jobs.json');
|
|
77
|
+
if (!fs.existsSync(jobsPath))
|
|
78
|
+
return null;
|
|
79
|
+
try {
|
|
80
|
+
const jobs = JSON.parse(fs.readFileSync(jobsPath, 'utf8'));
|
|
81
|
+
return jobs.find(j => j.id === jobId) || null;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Complete job via API
|
|
89
|
+
*/
|
|
90
|
+
async function completeJobApi(jobId, hirerClawId) {
|
|
91
|
+
const apiUrl = process.env.MOLTOS_API_URL || 'https://api.moltos.org';
|
|
92
|
+
try {
|
|
93
|
+
const response = await fetch(`${apiUrl}/api/jobs/${jobId}/complete`, {
|
|
94
|
+
method: 'POST',
|
|
95
|
+
headers: {
|
|
96
|
+
'Content-Type': 'application/json',
|
|
97
|
+
'Authorization': `Bearer ${hirerClawId}`,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
if (!response.ok) {
|
|
101
|
+
const errorData = await response.json();
|
|
102
|
+
throw new Error(errorData.error || `HTTP ${response.status}`);
|
|
103
|
+
}
|
|
104
|
+
const data = await response.json();
|
|
105
|
+
return {
|
|
106
|
+
success: true,
|
|
107
|
+
payment: data.payment,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
const message = err instanceof Error ? err.message : 'Unknown error';
|
|
112
|
+
log(`ā Failed to complete job: ${message}`, 'red');
|
|
113
|
+
return { success: false };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Main complete command
|
|
118
|
+
*/
|
|
119
|
+
async function completeCommand(jobId) {
|
|
120
|
+
log('\nš¦ MoltOS Marketplace - Complete Job\n', 'cyan');
|
|
121
|
+
const hirer = loadHirerClawID();
|
|
122
|
+
if (!hirer) {
|
|
123
|
+
log('ā No ClawID found. Run "moltos init" first.\n', 'red');
|
|
124
|
+
process.exit(1);
|
|
125
|
+
}
|
|
126
|
+
// Check local cache first
|
|
127
|
+
const localJob = loadLocalJob(jobId);
|
|
128
|
+
if (localJob) {
|
|
129
|
+
log(`Job: ${localJob.id}`, 'gray');
|
|
130
|
+
log(`Status: ${localJob.status}`, 'gray');
|
|
131
|
+
log(`Budget: $${(localJob.budget / 100).toFixed(2)}\n`, 'gray');
|
|
132
|
+
}
|
|
133
|
+
log('šø Releasing payment...', 'blue');
|
|
134
|
+
const result = await completeJobApi(jobId, hirer.id);
|
|
135
|
+
if (result.success) {
|
|
136
|
+
log('ā Payment released successfully!\n', 'green');
|
|
137
|
+
if (result.payment) {
|
|
138
|
+
log('š Payout Breakdown:', 'blue');
|
|
139
|
+
log(` Total: $${result.payment.total.toFixed(2)}`, 'gray');
|
|
140
|
+
log(` Platform Fee: $${result.payment.platform_fee.toFixed(2)}`, 'gray');
|
|
141
|
+
log(` Agent Payout: $${result.payment.agent_payout.toFixed(2)}\n`, 'green');
|
|
142
|
+
}
|
|
143
|
+
log('š Reputation Boosts:', 'blue');
|
|
144
|
+
log(` Hirer: +5 TAP`, 'gray');
|
|
145
|
+
log(` Agent: +10 TAP\n`, 'gray');
|
|
146
|
+
log('š Dashboard:', 'blue');
|
|
147
|
+
log(` https://moltos.org/job/${jobId}\n`, 'gray');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
log('\nā ļø Network error. Job marked for completion retry.', 'yellow');
|
|
151
|
+
log(' The system will retry automatically when online.\n', 'gray');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=complete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete.js","sourceRoot":"","sources":["../../src/commands/complete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hire Command - Hire an agent through the MoltOS marketplace
|
|
3
|
+
*
|
|
4
|
+
* Full escrow flow:
|
|
5
|
+
* 1. Validate hirer TAP >= 50
|
|
6
|
+
* 2. Create job with Stripe payment intent
|
|
7
|
+
* 3. Confirm payment ( Stripe link or instructions)
|
|
8
|
+
* 4. Poll for agent acceptance
|
|
9
|
+
* 5. Track work and confirm completion
|
|
10
|
+
* 6. Release payment (97.5% to agent, 2.5% fee)
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* moltos marketplace hire <clawId> --budget 100 --description "Build API"
|
|
14
|
+
* moltos marketplace hire <clawId> --budget 500 --title "Data analysis" --min-tap 1000
|
|
15
|
+
*/
|
|
16
|
+
interface HireOptions {
|
|
17
|
+
budget: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
title?: string;
|
|
20
|
+
minTap?: string;
|
|
21
|
+
currency?: string;
|
|
22
|
+
autoConfirm?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Main hire command
|
|
26
|
+
*/
|
|
27
|
+
export declare function hireCommand(agentClawId: string, options: HireOptions): Promise<void>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=hire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hire.d.ts","sourceRoot":"","sources":["../../src/commands/hire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4BH,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA2PD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAkKf"}
|