agenticpool 1.0.19 โ†’ 2.0.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.
Files changed (140) hide show
  1. package/README.md +68 -118
  2. package/bin/agenticpool.js +6 -0
  3. package/dist/adapters/autogen.d.ts +33 -0
  4. package/dist/adapters/autogen.d.ts.map +1 -0
  5. package/dist/adapters/autogen.js +49 -0
  6. package/dist/adapters/autogen.js.map +1 -0
  7. package/dist/adapters/crewai.d.ts +30 -0
  8. package/dist/adapters/crewai.d.ts.map +1 -0
  9. package/dist/adapters/crewai.js +48 -0
  10. package/dist/adapters/crewai.js.map +1 -0
  11. package/dist/adapters/langchain.d.ts +30 -0
  12. package/dist/adapters/langchain.d.ts.map +1 -0
  13. package/dist/adapters/langchain.js +53 -0
  14. package/dist/adapters/langchain.js.map +1 -0
  15. package/dist/adapters/llamaindex.d.ts +29 -0
  16. package/dist/adapters/llamaindex.d.ts.map +1 -0
  17. package/dist/adapters/llamaindex.js +47 -0
  18. package/dist/adapters/llamaindex.js.map +1 -0
  19. package/dist/adapters/openai.d.ts +21 -0
  20. package/dist/adapters/openai.d.ts.map +1 -0
  21. package/dist/adapters/openai.js +51 -0
  22. package/dist/adapters/openai.js.map +1 -0
  23. package/dist/cli.d.ts +3 -0
  24. package/dist/cli.d.ts.map +1 -0
  25. package/dist/cli.js +220 -0
  26. package/dist/cli.js.map +1 -0
  27. package/dist/client.d.ts +119 -0
  28. package/dist/client.d.ts.map +1 -0
  29. package/dist/client.js +262 -0
  30. package/dist/client.js.map +1 -0
  31. package/dist/commands/balance.d.ts +4 -0
  32. package/dist/commands/balance.d.ts.map +1 -0
  33. package/dist/commands/balance.js +34 -0
  34. package/dist/commands/balance.js.map +1 -0
  35. package/dist/commands/contract.d.ts +20 -0
  36. package/dist/commands/contract.d.ts.map +1 -0
  37. package/dist/commands/contract.js +188 -0
  38. package/dist/commands/contract.js.map +1 -0
  39. package/dist/commands/favor.d.ts +21 -0
  40. package/dist/commands/favor.d.ts.map +1 -0
  41. package/dist/commands/favor.js +144 -0
  42. package/dist/commands/favor.js.map +1 -0
  43. package/dist/commands/inbox.d.ts +4 -0
  44. package/dist/commands/inbox.d.ts.map +1 -0
  45. package/dist/commands/inbox.js +69 -0
  46. package/dist/commands/inbox.js.map +1 -0
  47. package/dist/commands/init.d.ts +5 -0
  48. package/dist/commands/init.d.ts.map +1 -0
  49. package/dist/commands/init.js +77 -0
  50. package/dist/commands/init.js.map +1 -0
  51. package/dist/commands/node.d.ts +8 -0
  52. package/dist/commands/node.d.ts.map +1 -0
  53. package/dist/commands/node.js +151 -0
  54. package/dist/commands/node.js.map +1 -0
  55. package/dist/commands/reputation.d.ts +2 -0
  56. package/dist/commands/reputation.d.ts.map +1 -0
  57. package/dist/commands/reputation.js +38 -0
  58. package/dist/commands/reputation.js.map +1 -0
  59. package/dist/commands/serve.d.ts +7 -0
  60. package/dist/commands/serve.d.ts.map +1 -0
  61. package/dist/commands/serve.js +110 -0
  62. package/dist/commands/serve.js.map +1 -0
  63. package/dist/commands/services.d.ts +17 -0
  64. package/dist/commands/services.d.ts.map +1 -0
  65. package/dist/commands/services.js +161 -0
  66. package/dist/commands/services.js.map +1 -0
  67. package/dist/commands/trust.d.ts +2 -0
  68. package/dist/commands/trust.d.ts.map +1 -0
  69. package/dist/commands/trust.js +44 -0
  70. package/dist/commands/trust.js.map +1 -0
  71. package/dist/commands/whoami.d.ts +2 -0
  72. package/dist/commands/whoami.d.ts.map +1 -0
  73. package/dist/commands/whoami.js +32 -0
  74. package/dist/commands/whoami.js.map +1 -0
  75. package/dist/config.d.ts +30 -0
  76. package/dist/config.d.ts.map +1 -0
  77. package/dist/config.js +72 -0
  78. package/dist/config.js.map +1 -0
  79. package/dist/economy/duckies.d.ts +75 -0
  80. package/dist/economy/duckies.d.ts.map +1 -0
  81. package/dist/economy/duckies.js +386 -0
  82. package/dist/economy/duckies.js.map +1 -0
  83. package/dist/index.d.ts +12 -2
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +12 -29
  86. package/dist/index.js.map +1 -0
  87. package/dist/types.d.ts +90 -0
  88. package/dist/types.d.ts.map +1 -0
  89. package/dist/types.js +5 -0
  90. package/dist/types.js.map +1 -0
  91. package/package.json +28 -38
  92. package/LICENSE +0 -1
  93. package/dist/api/ApiClient.d.ts +0 -37
  94. package/dist/api/ApiClient.js +0 -160
  95. package/dist/api/index.d.ts +0 -1
  96. package/dist/api/index.js +0 -6
  97. package/dist/auth/AuthHelper.d.ts +0 -17
  98. package/dist/auth/AuthHelper.js +0 -197
  99. package/dist/commands/auth.d.ts +0 -2
  100. package/dist/commands/auth.js +0 -206
  101. package/dist/commands/config.d.ts +0 -2
  102. package/dist/commands/config.js +0 -51
  103. package/dist/commands/connections.d.ts +0 -2
  104. package/dist/commands/connections.js +0 -244
  105. package/dist/commands/contacts.d.ts +0 -2
  106. package/dist/commands/contacts.js +0 -205
  107. package/dist/commands/conversations.d.ts +0 -2
  108. package/dist/commands/conversations.js +0 -251
  109. package/dist/commands/errors.d.ts +0 -2
  110. package/dist/commands/errors.js +0 -73
  111. package/dist/commands/humans.d.ts +0 -2
  112. package/dist/commands/humans.js +0 -161
  113. package/dist/commands/identities.d.ts +0 -2
  114. package/dist/commands/identities.js +0 -141
  115. package/dist/commands/index.d.ts +0 -11
  116. package/dist/commands/index.js +0 -26
  117. package/dist/commands/messages.d.ts +0 -2
  118. package/dist/commands/messages.js +0 -216
  119. package/dist/commands/networks.d.ts +0 -2
  120. package/dist/commands/networks.js +0 -430
  121. package/dist/commands/profile.d.ts +0 -2
  122. package/dist/commands/profile.js +0 -257
  123. package/dist/config/ConfigManager.d.ts +0 -47
  124. package/dist/config/ConfigManager.js +0 -234
  125. package/dist/config/index.d.ts +0 -1
  126. package/dist/config/index.js +0 -7
  127. package/dist/datamodel/index.d.ts +0 -3
  128. package/dist/datamodel/index.js +0 -20
  129. package/dist/datamodel/models/humans.d.ts +0 -81
  130. package/dist/datamodel/models/humans.js +0 -3
  131. package/dist/datamodel/models/index.d.ts +0 -110
  132. package/dist/datamodel/models/index.js +0 -3
  133. package/dist/datamodel/toon/index.d.ts +0 -5
  134. package/dist/datamodel/toon/index.js +0 -225
  135. package/dist/limits/LimitsManager.d.ts +0 -23
  136. package/dist/limits/LimitsManager.js +0 -99
  137. package/dist/utils/colors.d.ts +0 -16
  138. package/dist/utils/colors.js +0 -23
  139. package/dist/utils/logger.d.ts +0 -11
  140. package/dist/utils/logger.js +0 -34
package/dist/client.js ADDED
@@ -0,0 +1,262 @@
1
+ export class AgenticPoolClient {
2
+ gatewayUrl;
3
+ credentials;
4
+ constructor(options) {
5
+ this.gatewayUrl = (options?.gatewayUrl ||
6
+ options?.credentials?.gatewayUrl ||
7
+ 'https://api.agenticpool.net').replace(/\/+$/, '');
8
+ this.credentials = options?.credentials;
9
+ }
10
+ /**
11
+ * Register agent card in the AgenticPool Gateway directory.
12
+ */
13
+ async registerAgent(name, description, services, url = 'http://127.0.0.1:7100') {
14
+ const card = {
15
+ name,
16
+ description,
17
+ version: '0.1.0',
18
+ url,
19
+ capabilities: {
20
+ streaming: true,
21
+ },
22
+ publicKey: this.credentials?.signingPublicKey,
23
+ encryptionKey: this.credentials?.encryptionPublicKey,
24
+ services: services.map((s) => ({
25
+ id: s.id,
26
+ name: s.name,
27
+ description: s.description,
28
+ tags: s.tags,
29
+ pricing: {
30
+ amount: s.priceDuckies,
31
+ currency: 'DUCKIES',
32
+ model: s.pricingModel,
33
+ },
34
+ skillId: s.skillId,
35
+ })),
36
+ };
37
+ return this.postJson(`${this.gatewayUrl}/v1/agents`, card);
38
+ }
39
+ /**
40
+ * Send heartbeat to maintain online presence.
41
+ */
42
+ async heartbeat(name, status = 'online') {
43
+ return this.postJson(`${this.gatewayUrl}/v1/agents/${name}/heartbeat`, { status });
44
+ }
45
+ /**
46
+ * Query status / presence of an agent.
47
+ */
48
+ async getStatus(name) {
49
+ return this.getJson(`${this.gatewayUrl}/v1/agents/${name}/status`);
50
+ }
51
+ /**
52
+ * Fetch an agent card by name from the Gateway directory.
53
+ */
54
+ async getAgent(name) {
55
+ try {
56
+ return await this.getJson(`${this.gatewayUrl}/v1/agents/${encodeURIComponent(name)}`);
57
+ }
58
+ catch {
59
+ return null;
60
+ }
61
+ }
62
+ /**
63
+ * List all published services in the pool.
64
+ */
65
+ async listServices(options) {
66
+ const url = new URL(`${this.gatewayUrl}/v1/services`);
67
+ if (options?.onlineOnly) {
68
+ url.searchParams.set('online_only', 'true');
69
+ }
70
+ const res = await this.getJson(url.toString());
71
+ return res.services || [];
72
+ }
73
+ /**
74
+ * Find agents offering a specific service ID.
75
+ */
76
+ async getServiceProviders(serviceId, options) {
77
+ const url = new URL(`${this.gatewayUrl}/v1/services/${serviceId}`);
78
+ if (options?.onlineOnly) {
79
+ url.searchParams.set('online_only', 'true');
80
+ }
81
+ const res = await this.getJson(url.toString());
82
+ return res.providers || [];
83
+ }
84
+ /**
85
+ * Search pool services through the Llull Search Engine bridge.
86
+ */
87
+ async searchServices(query, options) {
88
+ const url = new URL(`${this.gatewayUrl}/v1/services/search`);
89
+ url.searchParams.set('q', query);
90
+ url.searchParams.set('currency', 'DUCKIES');
91
+ if (options?.onlineOnly) {
92
+ url.searchParams.set('online_only', 'true');
93
+ }
94
+ if (options?.maxPriceDuckies !== undefined) {
95
+ url.searchParams.set('max_price', options.maxPriceDuckies.toString());
96
+ }
97
+ if (options?.page) {
98
+ url.searchParams.set('page', options.page.toString());
99
+ }
100
+ if (options?.hitsPerPage) {
101
+ url.searchParams.set('hits_per_page', options.hitsPerPage.toString());
102
+ }
103
+ return this.getJson(url.toString());
104
+ }
105
+ /**
106
+ * Request a favor from another agent via JSON-RPC.
107
+ */
108
+ async requestFavor(targetAgent, messageText, options) {
109
+ const rpcReq = {
110
+ jsonrpc: '2.0',
111
+ id: Date.now(),
112
+ method: 'message/send',
113
+ params: {
114
+ message: {
115
+ role: 'user',
116
+ parts: [{ kind: 'text', text: messageText }],
117
+ },
118
+ configuration: options?.configuration,
119
+ },
120
+ };
121
+ const targetEndpoint = targetAgent.startsWith('http://') || targetAgent.startsWith('https://')
122
+ ? targetAgent
123
+ : `${this.gatewayUrl}/a2a/${targetAgent}`;
124
+ return this.postJson(targetEndpoint, rpcReq);
125
+ }
126
+ /**
127
+ * Evaluate the trust and credibility of a target agent from the perspective of an evaluator.
128
+ */
129
+ async evaluateTrust(target, from) {
130
+ const url = new URL(`${this.gatewayUrl}/v1/trust/evaluate`);
131
+ url.searchParams.set('target', target);
132
+ if (from) {
133
+ url.searchParams.set('from', from);
134
+ }
135
+ return this.getJson(url.toString());
136
+ }
137
+ /**
138
+ * Submit a review for a completed task (Proof-of-Execution) to update the trust graph.
139
+ */
140
+ async reviewTask(taskId, payload) {
141
+ return this.postJson(`${this.gatewayUrl}/v1/tasks/${taskId}/review`, {
142
+ outcome: payload.outcome,
143
+ worker: payload.worker,
144
+ requester: payload.requester || this.credentials?.agentName,
145
+ feedback: payload.feedback,
146
+ recommender: payload.recommender,
147
+ });
148
+ }
149
+ /**
150
+ * Propose a new Agentic Smart Contract.
151
+ */
152
+ async proposeContract(payload) {
153
+ return this.postJson(`${this.gatewayUrl}/v1/contracts`, payload);
154
+ }
155
+ /**
156
+ * Get an Agentic Contract by ID.
157
+ */
158
+ async getContract(id) {
159
+ return this.getJson(`${this.gatewayUrl}/v1/contracts/${id}`);
160
+ }
161
+ /**
162
+ * List contracts, optionally filtered by party.
163
+ */
164
+ async listContracts(party) {
165
+ const url = new URL(`${this.gatewayUrl}/v1/contracts`);
166
+ if (party) {
167
+ url.searchParams.set('party', party);
168
+ }
169
+ const res = await this.getJson(url.toString());
170
+ return res.contracts;
171
+ }
172
+ /**
173
+ * Worker accepts and signs a proposed contract.
174
+ */
175
+ async acceptContract(id, workerSignature) {
176
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/accept`, { workerSignature });
177
+ }
178
+ /**
179
+ * Worker delivers the execution output payload.
180
+ */
181
+ async deliverContract(id, outputPayload) {
182
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/deliver`, { outputPayload });
183
+ }
184
+ /**
185
+ * Evaluate contract delivery against acceptance criteria prompt (returns true/false/uncertain).
186
+ */
187
+ async evaluateContractAcceptance(id) {
188
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/evaluate`, {});
189
+ }
190
+ /**
191
+ * Requester settles a delivered contract (+1 Goma awarded).
192
+ */
193
+ async settleContract(id) {
194
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/settle`, {});
195
+ }
196
+ /**
197
+ * Report disconformity on a delivered contract (request revision).
198
+ */
199
+ async reportDisconformity(id, notes) {
200
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/disconformity`, { notes });
201
+ }
202
+ /**
203
+ * Open a dispute on a contract.
204
+ */
205
+ async disputeContract(id, reason) {
206
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/dispute`, { reason });
207
+ }
208
+ /**
209
+ * Accept arbitration on a disputed contract.
210
+ */
211
+ async acceptDispute(id, party) {
212
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/dispute-accept`, {
213
+ party: party || this.credentials?.agentName,
214
+ });
215
+ }
216
+ /**
217
+ * Arbitrator resolves a disputed contract enforcing the Loser-Pays rule.
218
+ */
219
+ async arbitrateContract(id, params) {
220
+ return this.postJson(`${this.gatewayUrl}/v1/contracts/${id}/arbitrate`, params);
221
+ }
222
+ async getJson(url) {
223
+ const headers = {
224
+ Accept: 'application/json',
225
+ };
226
+ if (this.credentials?.apiKey) {
227
+ headers['Authorization'] = `Bearer ${this.credentials.apiKey}`;
228
+ }
229
+ if (this.credentials?.agentName) {
230
+ headers['x-agora-sender'] = this.credentials.agentName;
231
+ }
232
+ const res = await fetch(url, { headers });
233
+ if (!res.ok) {
234
+ const text = await res.text().catch(() => '');
235
+ throw new Error(`Request to ${url} failed (HTTP ${res.status}): ${text}`);
236
+ }
237
+ return (await res.json());
238
+ }
239
+ async postJson(url, body) {
240
+ const headers = {
241
+ 'Content-Type': 'application/json',
242
+ Accept: 'application/json',
243
+ };
244
+ if (this.credentials?.apiKey) {
245
+ headers['Authorization'] = `Bearer ${this.credentials.apiKey}`;
246
+ }
247
+ if (this.credentials?.agentName) {
248
+ headers['x-agora-sender'] = this.credentials.agentName;
249
+ }
250
+ const res = await fetch(url, {
251
+ method: 'POST',
252
+ headers,
253
+ body: JSON.stringify(body),
254
+ });
255
+ if (!res.ok) {
256
+ const text = await res.text().catch(() => '');
257
+ throw new Error(`Request to ${url} failed (HTTP ${res.status}): ${text}`);
258
+ }
259
+ return (await res.json());
260
+ }
261
+ }
262
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function handleBalance(options: {
2
+ ledger?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=balance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChF"}
@@ -0,0 +1,34 @@
1
+ import { loadCredentials } from '../config.js';
2
+ import { DuckiesLedger } from '../economy/duckies.js';
3
+ export async function handleBalance(options) {
4
+ const credentials = loadCredentials();
5
+ const ledger = new DuckiesLedger();
6
+ const balance = ledger.getBalance(credentials.agentName);
7
+ const reputation = ledger.getReputation(credentials.agentName);
8
+ console.log(`\n๐Ÿฆ† Duckies Wallet for '${credentials.agentName}'`);
9
+ console.log(`=========================================`);
10
+ console.log(`๐Ÿ’ฐ Total Available: ${balance.available} DUCKIES`);
11
+ console.log(` โ”œโ”€ ๐ŸŽซ Faucet Vouchers: ${balance.availableVoucher} DUCKIES (consumption-only)`);
12
+ console.log(` โ””โ”€ ๐Ÿ’ต Earned Duckies: ${balance.availableEarned} DUCKIES (from favors)`);
13
+ console.log(`๐Ÿ”’ Locked in Escrow: ${balance.lockedInEscrow} DUCKIES`);
14
+ console.log(`๐Ÿ“ˆ Lifetime Earned: ${balance.totalEarned} DUCKIES`);
15
+ console.log(`๐Ÿ“‰ Lifetime Spent: ${balance.totalSpent} DUCKIES`);
16
+ console.log(`๐Ÿ”ฅ Network Fees Burned: ${balance.totalBurned} DUCKIES`);
17
+ console.log(`โญ Trust Tier: ${reputation.trustTier.toUpperCase()} (Score: ${reputation.score}/100)\n`);
18
+ if (options.ledger) {
19
+ const txs = ledger.getTransactions(credentials.agentName);
20
+ console.log(`๐Ÿ“œ Transaction Ledger (${txs.length} entries):`);
21
+ console.log(`-----------------------------------------`);
22
+ if (txs.length === 0) {
23
+ console.log(` No transactions recorded yet.`);
24
+ }
25
+ else {
26
+ for (const tx of txs.slice(-15).reverse()) {
27
+ const sign = tx.toAgent === credentials.agentName ? '+' : '-';
28
+ console.log(` [${new Date(tx.timestamp).toLocaleString()}] ${tx.type.padEnd(16)} ${sign}${tx.amount.toFixed(2)} DUCKIES (${tx.description || ''})`);
29
+ }
30
+ }
31
+ console.log('');
32
+ }
33
+ }
34
+ //# sourceMappingURL=balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA6B;IAC/D,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,SAAS,UAAU,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,gBAAgB,6BAA6B,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,eAAe,wBAAwB,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,cAAc,UAAU,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,WAAW,UAAU,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,UAAU,UAAU,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,WAAW,UAAU,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC;IAE/G,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9D,OAAO,CAAC,GAAG,CACT,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,WAAW,IAAI,EAAE,GAAG,CACzI,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare function handleContractPropose(options: {
2
+ worker: string;
3
+ service: string;
4
+ price: number;
5
+ disputeCost?: number;
6
+ prompt?: string;
7
+ acceptancePrompt: string;
8
+ recommender?: string;
9
+ }): Promise<void>;
10
+ export declare function handleContractGet(id: string): Promise<void>;
11
+ export declare function handleContractList(party?: string): Promise<void>;
12
+ export declare function handleContractAccept(id: string): Promise<void>;
13
+ export declare function handleContractDeliver(id: string, outputJson: string): Promise<void>;
14
+ export declare function handleContractEvaluate(id: string): Promise<void>;
15
+ export declare function handleContractSettle(id: string): Promise<void>;
16
+ export declare function handleContractDisconformity(id: string, notes: string): Promise<void>;
17
+ export declare function handleContractDispute(id: string, reason: string): Promise<void>;
18
+ export declare function handleContractDisputeAccept(id: string): Promise<void>;
19
+ export declare function handleContractArbitrate(id: string, verdict: 'worker_wins' | 'requester_wins' | 'split', rationale: string): Promise<void>;
20
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"AAGA,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBjE;AAED,wBAAsB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtE;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpE;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAczF;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAetE;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAapE;AAED,wBAAsB,2BAA2B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,OAAO,EACnD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
@@ -0,0 +1,188 @@
1
+ import { loadCredentials } from '../config.js';
2
+ import { AgenticPoolClient } from '../client.js';
3
+ export async function handleContractPropose(options) {
4
+ const credentials = loadCredentials();
5
+ const client = new AgenticPoolClient({ credentials });
6
+ const platformFee = Math.round(options.price * 0.03 * 100) / 100;
7
+ const disputeCost = options.disputeCost ?? Math.max(0.5, Math.round(options.price * 0.18 * 100) / 100);
8
+ console.log(`\n๐Ÿ“œ Proposing Agentic Smart Contract...`);
9
+ console.log(`======================================================`);
10
+ console.log(`๐Ÿ‘ค Requester: ${credentials.agentName}`);
11
+ console.log(`๐ŸŽฏ Worker: ${options.worker}`);
12
+ console.log(`๐Ÿ†” Service: ${options.service}`);
13
+ console.log(`๐Ÿ’ฐ Price: ๐Ÿช™ ${options.price} GDUCK`);
14
+ console.log(`๐Ÿ›๏ธ Platform Fee (3%): ๐Ÿช™ ${platformFee} GDUCK`);
15
+ console.log(`โš–๏ธ Dispute Fee (18%): ๐Ÿช™ ${disputeCost} GDUCK (Loser-Pays, min 0.5 GDUCK)`);
16
+ console.log(`๐Ÿงช Acceptance Prompt: "${options.acceptancePrompt}"`);
17
+ if (options.recommender) {
18
+ console.log(`โญ Recommender: ${options.recommender}`);
19
+ }
20
+ const contract = await client.proposeContract({
21
+ parties: {
22
+ requester: credentials.agentName,
23
+ worker: options.worker,
24
+ recommender: options.recommender,
25
+ },
26
+ pricing: {
27
+ servicePriceGduck: options.price,
28
+ platformFeeGduck: platformFee,
29
+ disputeCostGduck: disputeCost,
30
+ },
31
+ execution: {
32
+ serviceId: options.service,
33
+ timeoutSeconds: 300,
34
+ inputPayload: { prompt: options.prompt || 'Execute contract task' },
35
+ acceptanceCriteria: {
36
+ prompt: options.acceptancePrompt,
37
+ },
38
+ },
39
+ disputeTerms: {
40
+ validationPrompt: `Arbitrate whether delivery conforms strictly to: "${options.acceptancePrompt}"`,
41
+ loserPays: true,
42
+ plomoPenalty: 2.0,
43
+ },
44
+ });
45
+ console.log(`\nโœ… Contract Created Successfully!`);
46
+ console.log(`๐Ÿ†” Contract ID: ${contract.id}`);
47
+ console.log(`๐Ÿ“Š Status: ${contract.status.toUpperCase()}`);
48
+ console.log(`======================================================\n`);
49
+ }
50
+ export async function handleContractGet(id) {
51
+ const credentials = loadCredentials();
52
+ const client = new AgenticPoolClient({ credentials });
53
+ const contract = await client.getContract(id);
54
+ console.log(`\n======================================================`);
55
+ console.log(`๐Ÿ“œ Agentic Smart Contract: ${contract.id}`);
56
+ console.log(`======================================================`);
57
+ console.log(`๐Ÿ“Š Status: ${contract.status.toUpperCase()}`);
58
+ console.log(`๐Ÿ‘ค Requester: ${contract.parties.requester}`);
59
+ console.log(`๐ŸŽฏ Worker: ${contract.parties.worker}`);
60
+ if (contract.parties.recommender) {
61
+ console.log(`โญ Recommender: ${contract.parties.recommender}`);
62
+ }
63
+ console.log(`๐Ÿ’ฐ Price: ๐Ÿช™ ${contract.pricing.servicePriceGduck} GDUCK`);
64
+ console.log(`โš–๏ธ Dispute Cost: ๐Ÿช™ ${contract.pricing.disputeCostGduck} GDUCK (Loser-Pays)`);
65
+ console.log(`๐Ÿงช Acceptance Prompt: "${contract.execution.acceptanceCriteria.prompt}"`);
66
+ if (contract.outputPayload) {
67
+ console.log(`๐Ÿ“ฌ Delivered Output: ${JSON.stringify(contract.outputPayload)}`);
68
+ }
69
+ if (contract.disputeTerms?.disputeReason) {
70
+ console.log(`โš ๏ธ Dispute Reason: ${contract.disputeTerms.disputeReason}`);
71
+ }
72
+ console.log(`======================================================\n`);
73
+ }
74
+ export async function handleContractList(party) {
75
+ const credentials = loadCredentials();
76
+ const client = new AgenticPoolClient({ credentials });
77
+ const targetParty = party || credentials.agentName;
78
+ const contracts = await client.listContracts(targetParty);
79
+ console.log(`\n๐Ÿ“‹ Active Contracts for '${targetParty}': ${contracts.length}`);
80
+ console.log(`------------------------------------------------------`);
81
+ for (const c of contracts) {
82
+ console.log(`โ€ข [${c.id}] ${c.parties.requester} โ”€โ”€> ${c.parties.worker} | ๐Ÿช™ ${c.pricing.servicePriceGduck} GDUCK | Status: ${c.status}`);
83
+ }
84
+ console.log(`------------------------------------------------------\n`);
85
+ }
86
+ export async function handleContractAccept(id) {
87
+ const credentials = loadCredentials();
88
+ const client = new AgenticPoolClient({ credentials });
89
+ console.log(`\nโœ๏ธ Accepting Contract '${id}' as Worker '${credentials.agentName}'...`);
90
+ const contract = await client.acceptContract(id, `sig_${credentials.agentName}_${Date.now()}`);
91
+ console.log(`โœ… Contract Accepted & Escrow Locked: ${contract.status.toUpperCase()}\n`);
92
+ }
93
+ export async function handleContractDeliver(id, outputJson) {
94
+ const credentials = loadCredentials();
95
+ const client = new AgenticPoolClient({ credentials });
96
+ let parsedOutput;
97
+ try {
98
+ parsedOutput = JSON.parse(outputJson);
99
+ }
100
+ catch {
101
+ parsedOutput = { result: outputJson };
102
+ }
103
+ console.log(`\n๐Ÿ“ฌ Delivering Output for Contract '${id}'...`);
104
+ const contract = await client.deliverContract(id, parsedOutput);
105
+ console.log(`โœ… Output Delivered: Status is now ${contract.status.toUpperCase()}\n`);
106
+ }
107
+ export async function handleContractEvaluate(id) {
108
+ const credentials = loadCredentials();
109
+ const client = new AgenticPoolClient({ credentials });
110
+ console.log(`\n๐Ÿงช Evaluating Acceptance Criteria for Contract '${id}'...`);
111
+ const evalRes = await client.evaluateContractAcceptance(id);
112
+ console.log(`\n======================================================`);
113
+ console.log(`๐Ÿ“Š Acceptance Criteria Evaluation`);
114
+ console.log(`======================================================`);
115
+ console.log(`๐Ÿ†” Contract ID: ${evalRes.contractId}`);
116
+ console.log(`๐ŸŽฏ Prompt Result: ${evalRes.result.toUpperCase()} (true / false / uncertain)`);
117
+ console.log(`โญ Quality Score: ${evalRes.qualityScore}/100`);
118
+ console.log(`๐Ÿ“ Rationale: ${evalRes.rationale}`);
119
+ console.log(`======================================================\n`);
120
+ }
121
+ export async function handleContractSettle(id) {
122
+ const credentials = loadCredentials();
123
+ const client = new AgenticPoolClient({ credentials });
124
+ console.log(`\n๐Ÿ’ธ Settling Contract '${id}' (Releasing Escrow in GDUCK)...`);
125
+ const contract = await client.settleContract(id);
126
+ console.log(`\n๐ŸŽ‰ Contract Settled!`);
127
+ console.log(` โ€ข Worker (${contract.parties.worker}) received ๐Ÿช™ ${contract.pricing.servicePriceGduck} GDUCK`);
128
+ console.log(` โ€ข Trust Graph updated: ๐Ÿฆ† +1 Duckie de Goma awarded!`);
129
+ if (contract.parties.recommender) {
130
+ console.log(` โ€ข Recommender (${contract.parties.recommender}): ๐Ÿฆ† +0.5 Recom Goma awarded!`);
131
+ }
132
+ console.log(`\n`);
133
+ }
134
+ export async function handleContractDisconformity(id, notes) {
135
+ const credentials = loadCredentials();
136
+ const client = new AgenticPoolClient({ credentials });
137
+ console.log(`\nโš ๏ธ Reporting Disconformity on Contract '${id}'...`);
138
+ const contract = await client.reportDisconformity(id, notes);
139
+ console.log(`๐Ÿ“ Disconformity Logged: Status is now ${contract.status.toUpperCase()}`);
140
+ console.log(` โ€ข Worker '${contract.parties.worker}' notified to inspect notes and submit a revised version.`);
141
+ console.log(` โ€ข Notes: "${notes}"\n`);
142
+ }
143
+ export async function handleContractDispute(id, reason) {
144
+ const credentials = loadCredentials();
145
+ const client = new AgenticPoolClient({ credentials });
146
+ console.log(`\nโš–๏ธ Opening Dispute for Contract '${id}'...`);
147
+ const contract = await client.disputeContract(id, reason);
148
+ console.log(`โš ๏ธ Dispute Registered! Status: ${contract.status.toUpperCase()}`);
149
+ console.log(` โ€ข Escrow frozen.`);
150
+ console.log(` โ€ข Awaiting counterparty acceptance to proceed to platform arbitration (Loser-Pays rule active).\n`);
151
+ }
152
+ export async function handleContractDisputeAccept(id) {
153
+ const credentials = loadCredentials();
154
+ const client = new AgenticPoolClient({ credentials });
155
+ console.log(`\n๐Ÿค Accepting Dispute Arbitration for Contract '${id}' as '${credentials.agentName}'...`);
156
+ const contract = await client.acceptDispute(id);
157
+ console.log(`โš–๏ธ Arbitration Accepted! Status: ${contract.status.toUpperCase()}`);
158
+ console.log(` โ€ข Both parties have agreed to arbitration.`);
159
+ console.log(` โ€ข Ready for platform arbitrator execution (dispute fee: ๐Ÿช™ ${contract.pricing.disputeCostGduck} GDUCK to platform treasury).\n`);
160
+ }
161
+ export async function handleContractArbitrate(id, verdict, rationale) {
162
+ const credentials = loadCredentials();
163
+ const client = new AgenticPoolClient({ credentials });
164
+ console.log(`\nโš–๏ธ Arbitrating Disputed Contract '${id}' as '${credentials.agentName}'...`);
165
+ const settlement = await client.arbitrateContract(id, {
166
+ arbitrator: credentials.agentName,
167
+ verdict,
168
+ rationale,
169
+ });
170
+ console.log(`\n======================================================`);
171
+ console.log(`๐Ÿ›๏ธ Arbitration Settlement (Loser-Pays Enforced)`);
172
+ console.log(`======================================================`);
173
+ console.log(`๐Ÿ†” Contract ID: ${settlement.contractId}`);
174
+ console.log(`โš–๏ธ Verdict: ${settlement.verdict.toUpperCase()}`);
175
+ console.log(`๐Ÿ‘จโ€โš–๏ธ Arbitrator: ${settlement.arbitrator}`);
176
+ console.log(`๐Ÿ“ Rationale: ${settlement.rationale}`);
177
+ console.log(`------------------------------------------------------`);
178
+ console.log(`๐Ÿ’ธ Worker Payout: ๐Ÿช™ ${settlement.workerPayoutGduck} GDUCK`);
179
+ console.log(`๐Ÿ›ก๏ธ Requester Refund: ๐Ÿช™ ${settlement.requesterRefundGduck} GDUCK`);
180
+ console.log(`๐Ÿ’ฅ Dispute Fee Paid By: ๐Ÿ‘ค ${settlement.disputeFeePaidBy} (๐Ÿช™ ${settlement.disputeFeeAmountGduck} GDUCK)`);
181
+ console.log(`๐ŸŒ‘ Worker Plomo Delta: +${settlement.workerPlomoDelta}`);
182
+ console.log(`๐ŸŒ‘ Requester Plomo Delta: +${settlement.requesterPlomoDelta}`);
183
+ if (settlement.recommenderPlomoDelta > 0) {
184
+ console.log(`๐ŸŒ‘ Recommender Slashed: +${settlement.recommenderPlomoDelta} Plomo`);
185
+ }
186
+ console.log(`======================================================\n`);
187
+ }
188
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare function handleRequestFavor(options: {
2
+ target: string;
3
+ service: string;
4
+ message: string;
5
+ price?: number;
6
+ }): Promise<void>;
7
+ export declare function handleDisputeFavor(options: {
8
+ target: string;
9
+ service: string;
10
+ amount: number;
11
+ reason: string;
12
+ taskId?: string;
13
+ }): Promise<void>;
14
+ export declare function handleReviewTask(options: {
15
+ taskId: string;
16
+ worker: string;
17
+ outcome: 'satisfied' | 'rejected' | 'disputed' | 'fraud';
18
+ feedback?: string;
19
+ recommender?: string;
20
+ }): Promise<void>;
21
+ //# sourceMappingURL=favor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"favor.d.ts","sourceRoot":"","sources":["../../src/commands/favor.ts"],"names":[],"mappings":"AAIA,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHhB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhB"}