@moltos/sdk 0.7.2 → 0.10.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 (114) hide show
  1. package/README.md +48 -146
  2. package/dist/cli.d.ts +11 -14
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +504 -487
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.d.ts +18 -12
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +18 -37
  9. package/dist/index.js.map +1 -1
  10. package/dist/react.d.ts +138 -0
  11. package/dist/react.d.ts.map +1 -0
  12. package/dist/react.js +335 -0
  13. package/dist/react.js.map +1 -0
  14. package/dist/sdk.d.ts +217 -0
  15. package/dist/sdk.d.ts.map +1 -0
  16. package/dist/sdk.js +325 -0
  17. package/dist/sdk.js.map +1 -0
  18. package/dist/types.d.ts +91 -0
  19. package/dist/types.d.ts.map +1 -0
  20. package/dist/types.js +5 -0
  21. package/dist/types.js.map +1 -0
  22. package/package.json +32 -53
  23. package/dist/adapters/langchain.d.ts +0 -84
  24. package/dist/adapters/langchain.d.ts.map +0 -1
  25. package/dist/adapters/langchain.js +0 -145
  26. package/dist/adapters/langchain.js.map +0 -1
  27. package/dist/adapters/openclaw.d.ts +0 -83
  28. package/dist/adapters/openclaw.d.ts.map +0 -1
  29. package/dist/adapters/openclaw.js +0 -207
  30. package/dist/adapters/openclaw.js.map +0 -1
  31. package/dist/clawfs.d.ts +0 -95
  32. package/dist/clawfs.d.ts.map +0 -1
  33. package/dist/clawfs.js +0 -546
  34. package/dist/clawfs.js.map +0 -1
  35. package/dist/commands/agent.d.ts +0 -15
  36. package/dist/commands/agent.d.ts.map +0 -1
  37. package/dist/commands/agent.js +0 -327
  38. package/dist/commands/agent.js.map +0 -1
  39. package/dist/commands/cloud.d.ts +0 -37
  40. package/dist/commands/cloud.d.ts.map +0 -1
  41. package/dist/commands/cloud.js +0 -390
  42. package/dist/commands/cloud.js.map +0 -1
  43. package/dist/commands/complete.d.ts +0 -11
  44. package/dist/commands/complete.d.ts.map +0 -1
  45. package/dist/commands/complete.js +0 -154
  46. package/dist/commands/complete.js.map +0 -1
  47. package/dist/commands/fs.d.ts +0 -5
  48. package/dist/commands/fs.d.ts.map +0 -1
  49. package/dist/commands/fs.js +0 -139
  50. package/dist/commands/fs.js.map +0 -1
  51. package/dist/commands/hire.d.ts +0 -29
  52. package/dist/commands/hire.d.ts.map +0 -1
  53. package/dist/commands/hire.js +0 -411
  54. package/dist/commands/hire.js.map +0 -1
  55. package/dist/commands/init.d.ts +0 -23
  56. package/dist/commands/init.d.ts.map +0 -1
  57. package/dist/commands/init.js +0 -488
  58. package/dist/commands/init.js.map +0 -1
  59. package/dist/commands/marketplace.d.ts +0 -14
  60. package/dist/commands/marketplace.d.ts.map +0 -1
  61. package/dist/commands/marketplace.js +0 -183
  62. package/dist/commands/marketplace.js.map +0 -1
  63. package/dist/commands/register.d.ts +0 -8
  64. package/dist/commands/register.d.ts.map +0 -1
  65. package/dist/commands/register.js +0 -152
  66. package/dist/commands/register.js.map +0 -1
  67. package/dist/commands/status.d.ts +0 -17
  68. package/dist/commands/status.d.ts.map +0 -1
  69. package/dist/commands/status.js +0 -388
  70. package/dist/commands/status.js.map +0 -1
  71. package/dist/commands/tap.d.ts +0 -5
  72. package/dist/commands/tap.d.ts.map +0 -1
  73. package/dist/commands/tap.js +0 -31
  74. package/dist/commands/tap.js.map +0 -1
  75. package/dist/lib/api.d.ts +0 -32
  76. package/dist/lib/api.d.ts.map +0 -1
  77. package/dist/lib/api.js +0 -80
  78. package/dist/lib/api.js.map +0 -1
  79. package/dist/lib/arbitra.d.ts +0 -302
  80. package/dist/lib/arbitra.d.ts.map +0 -1
  81. package/dist/lib/arbitra.js +0 -486
  82. package/dist/lib/arbitra.js.map +0 -1
  83. package/dist/lib/clawfs.d.ts +0 -277
  84. package/dist/lib/clawfs.d.ts.map +0 -1
  85. package/dist/lib/clawfs.js +0 -628
  86. package/dist/lib/clawfs.js.map +0 -1
  87. package/dist/lib/clawid.d.ts +0 -189
  88. package/dist/lib/clawid.d.ts.map +0 -1
  89. package/dist/lib/clawid.js +0 -455
  90. package/dist/lib/clawid.js.map +0 -1
  91. package/dist/lib/config.d.ts +0 -23
  92. package/dist/lib/config.d.ts.map +0 -1
  93. package/dist/lib/config.js +0 -29
  94. package/dist/lib/config.js.map +0 -1
  95. package/dist/lib/forge.d.ts +0 -139
  96. package/dist/lib/forge.d.ts.map +0 -1
  97. package/dist/lib/forge.js +0 -461
  98. package/dist/lib/forge.js.map +0 -1
  99. package/dist/lib/scheduler.d.ts +0 -138
  100. package/dist/lib/scheduler.d.ts.map +0 -1
  101. package/dist/lib/scheduler.js +0 -597
  102. package/dist/lib/scheduler.js.map +0 -1
  103. package/dist/lib/supabase.d.ts +0 -41
  104. package/dist/lib/supabase.d.ts.map +0 -1
  105. package/dist/lib/supabase.js +0 -125
  106. package/dist/lib/supabase.js.map +0 -1
  107. package/dist/lib/tap.d.ts +0 -208
  108. package/dist/lib/tap.d.ts.map +0 -1
  109. package/dist/lib/tap.js +0 -549
  110. package/dist/lib/tap.js.map +0 -1
  111. package/dist/tap.d.ts +0 -66
  112. package/dist/tap.d.ts.map +0 -1
  113. package/dist/tap.js +0 -302
  114. package/dist/tap.js.map +0 -1
package/dist/tap.js DELETED
@@ -1,302 +0,0 @@
1
- "use strict";
2
- /**
3
- * TAP - Trust and Attestation Protocol (Real Implementation)
4
- *
5
- * Local reputation system that works now.
6
- * Network sync will be added in v0.6.
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.initializeTAP = initializeTAP;
43
- exports.initializeReputation = initializeReputation;
44
- exports.getReputation = getReputation;
45
- exports.recordAttestation = recordAttestation;
46
- exports.getAgentAttestations = getAgentAttestations;
47
- exports.getTopAgents = getTopAgents;
48
- exports.formatScore = formatScore;
49
- exports.getTierColor = getTierColor;
50
- exports.tapCommand = tapCommand;
51
- const fs = __importStar(require("fs"));
52
- const path = __importStar(require("path"));
53
- const crypto = __importStar(require("crypto"));
54
- const TIER_THRESHOLDS = {
55
- genesis: 0, // Starting tier
56
- verified: 1000, // 10.00 score
57
- established: 5000, // 50.00 score
58
- trusted: 8000, // 80.00 score
59
- };
60
- /**
61
- * Initialize TAP cache for a project
62
- */
63
- function initializeTAP(baseDir) {
64
- const tapDir = path.join(baseDir, '.moltos');
65
- const cachePath = path.join(tapDir, 'tap-cache.db');
66
- const initialCache = {
67
- version: 1,
68
- lastSync: null,
69
- localReputation: {},
70
- pendingAttestations: [],
71
- verifiedAttestations: [],
72
- };
73
- fs.writeFileSync(cachePath, JSON.stringify(initialCache, null, 2));
74
- fs.chmodSync(cachePath, 0o600);
75
- }
76
- /**
77
- * Load TAP cache
78
- */
79
- function loadCache(baseDir) {
80
- const cachePath = path.join(baseDir, '.moltos', 'tap-cache.db');
81
- if (!fs.existsSync(cachePath)) {
82
- initializeTAP(baseDir);
83
- return {
84
- version: 1,
85
- lastSync: null,
86
- localReputation: {},
87
- pendingAttestations: [],
88
- verifiedAttestations: [],
89
- };
90
- }
91
- return JSON.parse(fs.readFileSync(cachePath, 'utf8'));
92
- }
93
- /**
94
- * Save TAP cache
95
- */
96
- function saveCache(baseDir, cache) {
97
- const cachePath = path.join(baseDir, '.moltos', 'tap-cache.db');
98
- fs.writeFileSync(cachePath, JSON.stringify(cache, null, 2));
99
- }
100
- /**
101
- * Calculate tier based on score
102
- */
103
- function calculateTier(score) {
104
- if (score >= TIER_THRESHOLDS.trusted)
105
- return 'trusted';
106
- if (score >= TIER_THRESHOLDS.established)
107
- return 'established';
108
- if (score >= TIER_THRESHOLDS.verified)
109
- return 'verified';
110
- return 'genesis';
111
- }
112
- /**
113
- * Initialize reputation for a new ClawID
114
- */
115
- function initializeReputation(baseDir, clawId) {
116
- const cache = loadCache(baseDir);
117
- const reputation = {
118
- clawId,
119
- score: 1000, // Starting score: 10.00
120
- attestationsReceived: 0,
121
- attestationsGiven: 0,
122
- jobsCompleted: 0,
123
- jobsFailed: 0,
124
- disputesWon: 0,
125
- disputesLost: 0,
126
- lastUpdated: new Date().toISOString(),
127
- tier: 'genesis',
128
- };
129
- cache.localReputation[clawId] = reputation;
130
- saveCache(baseDir, cache);
131
- return reputation;
132
- }
133
- /**
134
- * Get reputation for a ClawID
135
- */
136
- function getReputation(baseDir, clawId) {
137
- const cache = loadCache(baseDir);
138
- return cache.localReputation[clawId] || null;
139
- }
140
- /**
141
- * Record an attestation (client rates agent after job)
142
- */
143
- function recordAttestation(baseDir, attestation) {
144
- const cache = loadCache(baseDir);
145
- const fullAttestation = {
146
- ...attestation,
147
- id: `att_${crypto.randomBytes(8).toString('hex')}`,
148
- timestamp: new Date().toISOString(),
149
- };
150
- // Add to pending (will be verified and synced later)
151
- cache.pendingAttestations.push(fullAttestation);
152
- // Update agent's reputation immediately (local calculation)
153
- updateReputationFromAttestation(cache, fullAttestation);
154
- saveCache(baseDir, cache);
155
- return fullAttestation;
156
- }
157
- /**
158
- * Update reputation score based on attestation
159
- */
160
- function updateReputationFromAttestation(cache, attestation) {
161
- const agentRep = cache.localReputation[attestation.agentClawId];
162
- if (!agentRep)
163
- return;
164
- // Base score change based on rating
165
- let scoreChange = 0;
166
- switch (attestation.rating) {
167
- case 5:
168
- scoreChange = 50;
169
- break; // +0.50
170
- case 4:
171
- scoreChange = 25;
172
- break; // +0.25
173
- case 3:
174
- scoreChange = 0;
175
- break; // Neutral
176
- case 2:
177
- scoreChange = -25;
178
- break; // -0.25
179
- case 1:
180
- scoreChange = -50;
181
- break; // -0.50
182
- }
183
- // Outcome modifiers
184
- if (attestation.outcome === 'failure') {
185
- scoreChange -= 100; // Additional penalty for failure
186
- agentRep.jobsFailed++;
187
- }
188
- else if (attestation.outcome === 'success') {
189
- agentRep.jobsCompleted++;
190
- }
191
- // Apply bounds (0-10000)
192
- agentRep.score = Math.max(0, Math.min(10000, agentRep.score + scoreChange));
193
- agentRep.attestationsReceived++;
194
- agentRep.lastUpdated = new Date().toISOString();
195
- agentRep.tier = calculateTier(agentRep.score);
196
- // Update client's stats too
197
- const clientRep = cache.localReputation[attestation.clientClawId];
198
- if (clientRep) {
199
- clientRep.attestationsGiven++;
200
- clientRep.lastUpdated = new Date().toISOString();
201
- }
202
- }
203
- /**
204
- * List all attestations for an agent
205
- */
206
- function getAgentAttestations(baseDir, agentClawId) {
207
- const cache = loadCache(baseDir);
208
- return [
209
- ...cache.pendingAttestations,
210
- ...cache.verifiedAttestations,
211
- ].filter(att => att.agentClawId === agentClawId);
212
- }
213
- /**
214
- * Get top agents by reputation
215
- */
216
- function getTopAgents(baseDir, limit = 10) {
217
- const cache = loadCache(baseDir);
218
- return Object.values(cache.localReputation)
219
- .sort((a, b) => b.score - a.score)
220
- .slice(0, limit);
221
- }
222
- /**
223
- * Format score for display (1000 -> "10.00")
224
- */
225
- function formatScore(score) {
226
- return (score / 100).toFixed(2);
227
- }
228
- /**
229
- * Get tier badge color
230
- */
231
- function getTierColor(tier) {
232
- switch (tier) {
233
- case 'genesis': return '#6B7280'; // Gray
234
- case 'verified': return '#3B82F6'; // Blue
235
- case 'established': return '#8B5CF6'; // Purple
236
- case 'trusted': return '#00FF9F'; // Green
237
- }
238
- }
239
- /**
240
- * CLI command handler for TAP operations
241
- */
242
- async function tapCommand(action, options) {
243
- const baseDir = process.cwd();
244
- switch (action) {
245
- case 'status': {
246
- const cache = loadCache(baseDir);
247
- const clawId = options.clawId;
248
- if (clawId) {
249
- const rep = getReputation(baseDir, clawId);
250
- if (rep) {
251
- console.log(`\nšŸ“Š TAP Status for ${clawId}:`);
252
- console.log(` Score: ${formatScore(rep.score)}/100.00`);
253
- console.log(` Tier: ${rep.tier.toUpperCase()}`);
254
- console.log(` Jobs: ${rep.jobsCompleted} completed, ${rep.jobsFailed} failed`);
255
- console.log(` Attestations: ${rep.attestationsReceived} received, ${rep.attestationsGiven} given`);
256
- console.log(` Last updated: ${rep.lastUpdated}`);
257
- }
258
- else {
259
- console.log(`⚠ No reputation found for ${clawId}`);
260
- }
261
- }
262
- else {
263
- console.log('\nšŸ“Š TAP Network Status:');
264
- console.log(` Local agents: ${Object.keys(cache.localReputation).length}`);
265
- console.log(` Pending attestations: ${cache.pendingAttestations.length}`);
266
- console.log(` Verified attestations: ${cache.verifiedAttestations.length}`);
267
- console.log(` Last sync: ${cache.lastSync || 'Never'}`);
268
- const topAgents = getTopAgents(baseDir, 5);
269
- if (topAgents.length > 0) {
270
- console.log('\n Top Agents:');
271
- topAgents.forEach((agent, i) => {
272
- console.log(` ${i + 1}. ${agent.clawId.slice(0, 20)}... - ${formatScore(agent.score)}`);
273
- });
274
- }
275
- }
276
- break;
277
- }
278
- case 'attest': {
279
- if (!options.agent || !options.rating) {
280
- console.error('Usage: moltos tap attest --agent <clawId> --rating <1-5>');
281
- process.exit(1);
282
- }
283
- const attestation = recordAttestation(baseDir, {
284
- jobId: options.job || `job_${Date.now()}`,
285
- clientClawId: options.client || 'local',
286
- agentClawId: options.agent,
287
- rating: parseInt(options.rating),
288
- outcome: options.outcome || 'success',
289
- });
290
- console.log(`āœ“ Attestation recorded: ${attestation.id}`);
291
- break;
292
- }
293
- case 'verify': {
294
- console.log('šŸ” TAP Verification:');
295
- console.log(' Local cache integrity: āœ“ Valid');
296
- console.log(' Pending attestations: āœ“ ' + loadCache(baseDir).pendingAttestations.length);
297
- console.log(' Network sync: Pending (v0.6)');
298
- break;
299
- }
300
- }
301
- }
302
- //# sourceMappingURL=tap.js.map
package/dist/tap.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tap.js","sourceRoot":"","sources":["../src/tap.ts"],"names":[],"mappings":"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"}