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
@@ -0,0 +1,51 @@
1
+ /**
2
+ * OpenAI Function Calling / Assistant API Adapter for AgenticPool.net.
3
+ */
4
+ import { AgenticPoolClient } from '../client.js';
5
+ import { DuckiesLedger } from '../economy/duckies.js';
6
+ import { loadCredentials } from '../config.js';
7
+ /**
8
+ * Convert an AgenticPool service into an OpenAI function definition schema.
9
+ */
10
+ export function toOpenAiFunction(targetAgent, service) {
11
+ const sanitizedName = `agent_${targetAgent.replace(/[^a-zA-Z0-9_]/g, '_')}_${service.id.replace(/[^a-zA-Z0-9_]/g, '_')}`;
12
+ return {
13
+ type: 'function',
14
+ function: {
15
+ name: sanitizedName,
16
+ description: `${service.description || service.name} (Provided by agent '${targetAgent}', Price: ${service.priceDuckies} DUCKIES)`,
17
+ parameters: {
18
+ type: 'object',
19
+ properties: {
20
+ prompt: {
21
+ type: 'string',
22
+ description: 'The task description or query for the remote agent',
23
+ },
24
+ },
25
+ required: ['prompt'],
26
+ },
27
+ },
28
+ };
29
+ }
30
+ /**
31
+ * Execute an OpenAI function call by routing it to the AgenticPool network and settling Duckies.
32
+ */
33
+ export async function executeOpenAiToolCall(targetAgent, serviceId, argumentsJson, priceDuckies = 5.0) {
34
+ const credentials = loadCredentials();
35
+ const client = new AgenticPoolClient({ credentials });
36
+ const ledger = new DuckiesLedger();
37
+ const parsedArgs = JSON.parse(argumentsJson);
38
+ const prompt = parsedArgs.prompt || argumentsJson;
39
+ ledger.lockEscrow(credentials.agentName, targetAgent, priceDuckies, serviceId);
40
+ try {
41
+ const resp = await client.requestFavor(targetAgent, prompt);
42
+ const task = resp?.result || resp;
43
+ ledger.settleEscrow(credentials.agentName, targetAgent, priceDuckies, serviceId, task?.id);
44
+ return task?.status?.message?.parts?.[0]?.text || JSON.stringify(task);
45
+ }
46
+ catch (err) {
47
+ ledger.refundEscrow(credentials.agentName, targetAgent, priceDuckies, serviceId, 'OpenAI tool call execution failure');
48
+ throw err;
49
+ }
50
+ }
51
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/adapters/openai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAY/C;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,OAAyB;IAEzB,MAAM,aAAa,GAAG,SAAS,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;IAEzH,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,wBAAwB,WAAW,aAAa,OAAO,CAAC,YAAY,WAAW;YAClI,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oDAAoD;qBAClE;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,SAAiB,EACjB,aAAqB,EACrB,eAAuB,GAAG;IAE1B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,aAAa,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAE/E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;QAElC,MAAM,CAAC,YAAY,CACjB,WAAW,CAAC,SAAS,EACrB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,IAAI,EAAE,EAAE,CACT,CAAC;QAEF,OAAO,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,CAAC,YAAY,CACjB,WAAW,CAAC,SAAS,EACrB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,oCAAoC,CACrC,CAAC;QACF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createCli(): Command;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,wBAAgB,SAAS,IAAI,OAAO,CAiPnC"}
package/dist/cli.js ADDED
@@ -0,0 +1,220 @@
1
+ import { Command } from 'commander';
2
+ import { handleInit } from './commands/init.js';
3
+ import { handleWhoami } from './commands/whoami.js';
4
+ import { handleBalance } from './commands/balance.js';
5
+ import { handleReputation } from './commands/reputation.js';
6
+ import { handlePublishService, handleUnpublishService, handleListServices, handleSearchServices, } from './commands/services.js';
7
+ import { handleRequestFavor, handleDisputeFavor, handleReviewTask } from './commands/favor.js';
8
+ import { handleTrustEvaluate } from './commands/trust.js';
9
+ import { handleContractPropose, handleContractGet, handleContractList, handleContractAccept, handleContractDeliver, handleContractEvaluate, handleContractSettle, handleContractDisconformity, handleContractDispute, handleContractDisputeAccept, handleContractArbitrate, } from './commands/contract.js';
10
+ import { handleServe } from './commands/serve.js';
11
+ import { handleNode } from './commands/node.js';
12
+ import { handleInboxList, handleInboxRead, handleInboxReply } from './commands/inbox.js';
13
+ export function createCli() {
14
+ const program = new Command();
15
+ program
16
+ .name('agenticpool')
17
+ .description('AgenticPool.net CLI — Decentralized AI Agent Favor Exchange Platform powered by Duckies')
18
+ .version('0.1.0');
19
+ // init
20
+ program
21
+ .command('init')
22
+ .description('Initialize agent credentials locally and register account on AgenticPool.net')
23
+ .option('-n, --name <name>', 'Agent display name')
24
+ .option('-f, --force', 'Overwrite existing local credentials')
25
+ .action(handleInit);
26
+ // whoami
27
+ program
28
+ .command('whoami')
29
+ .description('Display current agent credentials, network presence, and Duckies balance')
30
+ .action(handleWhoami);
31
+ // balance
32
+ program
33
+ .command('balance')
34
+ .description('Check Duckies wallet balance and recent transactions')
35
+ .option('-l, --ledger', 'Show detailed transaction ledger history')
36
+ .action(handleBalance);
37
+ // reputation
38
+ program
39
+ .command('reputation [agentName]')
40
+ .description('Check reputation score, trust tier, and dispute history for an agent')
41
+ .action((agentName) => handleReputation(agentName));
42
+ // services
43
+ const servicesCmd = program
44
+ .command('services')
45
+ .alias('service')
46
+ .description('Manage and discover services on the AgenticPool marketplace');
47
+ servicesCmd
48
+ .command('publish')
49
+ .description('Publish a new capability / service to the marketplace')
50
+ .requiredOption('--id <id>', 'Unique service identifier (e.g. video.render)')
51
+ .requiredOption('--name <name>', 'Display title of the service')
52
+ .requiredOption('--price <amount>', 'Price in Duckies', parseFloat)
53
+ .option('-d, --description <desc>', 'Description of capability')
54
+ .option('-t, --tags <tags>', 'Comma-separated tags (e.g. video,rendering,ai)')
55
+ .option('-m, --model <model>', 'Pricing model: per_call, per_minute, flat', 'per_call')
56
+ .action(handlePublishService);
57
+ servicesCmd
58
+ .command('unpublish <serviceId>')
59
+ .alias('remove')
60
+ .description('Unpublish / remove a service from your agent card on the marketplace')
61
+ .action(handleUnpublishService);
62
+ servicesCmd
63
+ .command('list')
64
+ .description('List all published services in the pool')
65
+ .option('--online-only', 'Show only currently connected agents')
66
+ .action(handleListServices);
67
+ servicesCmd
68
+ .command('search <query>')
69
+ .description('Search marketplace services through the Llull Search Engine bridge')
70
+ .option('--online-only', 'Filter only online providers')
71
+ .option('--max-price <duckies>', 'Maximum price in Duckies', parseFloat)
72
+ .action((query, opts) => handleSearchServices(query, opts));
73
+ // favor
74
+ const favorCmd = program
75
+ .command('favor')
76
+ .description('Request, dispute, and fulfill favors across the agent network');
77
+ favorCmd
78
+ .command('request')
79
+ .description('Request a favor from another agent (locks Duckies in escrow)')
80
+ .requiredOption('-t, --target <agent>', 'Target agent name or URL')
81
+ .requiredOption('-s, --service <serviceId>', 'Service identifier')
82
+ .requiredOption('-m, --message <text>', 'Favor description or prompt')
83
+ .option('-p, --price <duckies>', 'Agreed price in Duckies', parseFloat)
84
+ .action(handleRequestFavor);
85
+ favorCmd
86
+ .command('dispute')
87
+ .description('Open a dispute on an unsatisfactory favor delivery')
88
+ .requiredOption('-t, --target <agent>', 'Target agent name')
89
+ .requiredOption('-s, --service <serviceId>', 'Service identifier')
90
+ .requiredOption('-a, --amount <duckies>', 'Amount in Duckies', parseFloat)
91
+ .requiredOption('-r, --reason <text>', 'Reason for dispute')
92
+ .option('--task-id <id>', 'Task identifier')
93
+ .action(handleDisputeFavor);
94
+ favorCmd
95
+ .command('review')
96
+ .description('Submit an outcome review for a completed task (Proof-of-Execution for Duckies & Trust Graph)')
97
+ .requiredOption('--task-id <id>', 'Task identifier')
98
+ .requiredOption('-w, --worker <agent>', 'Worker agent name')
99
+ .requiredOption('-o, --outcome <outcome>', 'Review outcome: satisfied, rejected, disputed, fraud')
100
+ .option('-f, --feedback <notes>', 'Feedback notes or reason')
101
+ .option('-r, --recommender <agent>', 'Agent who recommended this worker')
102
+ .action(handleReviewTask);
103
+ // trust
104
+ const trustCmd = program
105
+ .command('trust')
106
+ .description('Evaluate perspectivist trust graph & Duckies credibility (Goma/Plomo)');
107
+ trustCmd
108
+ .command('evaluate')
109
+ .description('Evaluate trust and credibility of a target agent from your perspective')
110
+ .requiredOption('-t, --target <agent>', 'Target agent name')
111
+ .option('-f, --from <agent>', 'Evaluator agent perspective (defaults to current agent)')
112
+ .action((opts) => handleTrustEvaluate(opts.target, opts.from));
113
+ // contract
114
+ const contractCmd = program
115
+ .command('contract')
116
+ .description('Manage Agentic Smart Contracts, Negotiation, Acceptance Criteria & Arbitration');
117
+ contractCmd
118
+ .command('propose')
119
+ .description('Propose a new Agentic Smart Contract with price in GDUCK and prompt acceptance criteria')
120
+ .requiredOption('-w, --worker <agent>', 'Worker agent name')
121
+ .requiredOption('-s, --service <serviceId>', 'Service identifier')
122
+ .requiredOption('-p, --price <gduck>', 'Service price in Golden Duckies (GDUCK)', parseFloat)
123
+ .requiredOption('-a, --acceptance-prompt <prompt>', 'Acceptance criteria prompt (returns true/false/uncertain)')
124
+ .option('-d, --dispute-cost <gduck>', 'Arbitration fee in GDUCK (Loser-Pays, defaults to 18%, min 0.5 GDUCK)', parseFloat)
125
+ .option('-m, --prompt <taskPrompt>', 'Task input prompt')
126
+ .option('-r, --recommender <agent>', 'Agent who recommended this worker')
127
+ .action(handleContractPropose);
128
+ contractCmd
129
+ .command('get')
130
+ .description('Get contract details by ID')
131
+ .argument('<id>', 'Contract ID')
132
+ .action(handleContractGet);
133
+ contractCmd
134
+ .command('list')
135
+ .description('List active contracts for an agent')
136
+ .option('-p, --party <agent>', 'Filter by party agent name')
137
+ .action((opts) => handleContractList(opts.party));
138
+ contractCmd
139
+ .command('accept')
140
+ .description('Accept and sign a proposed contract as worker')
141
+ .argument('<id>', 'Contract ID')
142
+ .action(handleContractAccept);
143
+ contractCmd
144
+ .command('deliver')
145
+ .description('Deliver output payload for an active contract')
146
+ .argument('<id>', 'Contract ID')
147
+ .requiredOption('-o, --output <jsonOrString>', 'Output payload in JSON or string format')
148
+ .action((id, opts) => handleContractDeliver(id, opts.output));
149
+ contractCmd
150
+ .command('evaluate')
151
+ .description('Evaluate delivered contract against prompt acceptance criteria (true/false/uncertain)')
152
+ .argument('<id>', 'Contract ID')
153
+ .action(handleContractEvaluate);
154
+ contractCmd
155
+ .command('settle')
156
+ .description('Settle contract and release escrow in GDUCK (+1 Goma awarded)')
157
+ .argument('<id>', 'Contract ID')
158
+ .action(handleContractSettle);
159
+ contractCmd
160
+ .command('disconformity')
161
+ .description('Report disconformity on a delivered contract and request revised version from worker')
162
+ .argument('<id>', 'Contract ID')
163
+ .requiredOption('-n, --notes <text>', 'Specific revision notes and deficiencies')
164
+ .action((id, opts) => handleContractDisconformity(id, opts.notes));
165
+ contractCmd
166
+ .command('dispute')
167
+ .description('Open a dispute on a contract')
168
+ .argument('<id>', 'Contract ID')
169
+ .requiredOption('-r, --reason <text>', 'Reason for dispute')
170
+ .action((id, opts) => handleContractDispute(id, opts.reason));
171
+ contractCmd
172
+ .command('dispute-accept')
173
+ .description('Accept arbitration on a disputed contract to proceed to platform tribunal')
174
+ .argument('<id>', 'Contract ID')
175
+ .action(handleContractDisputeAccept);
176
+ contractCmd
177
+ .command('arbitrate')
178
+ .description('Arbitrate a disputed contract enforcing Loser-Pays rule')
179
+ .argument('<id>', 'Contract ID')
180
+ .requiredOption('-v, --verdict <verdict>', 'Verdict: worker_wins, requester_wins, split')
181
+ .requiredOption('-r, --rationale <text>', 'Arbitrator explanation')
182
+ .action((id, opts) => handleContractArbitrate(id, opts.verdict, opts.rationale));
183
+ // serve
184
+ program
185
+ .command('serve')
186
+ .description('Run local agent worker node to fulfill favors and earn Duckies')
187
+ .option('-p, --port <number>', 'Port to listen on', parseInt, 7300)
188
+ .option('--service-id <id>', 'Service ID offered', 'generic.favor')
189
+ .option('--service-name <name>', 'Service Name', 'General Favor Fulfillment')
190
+ .option('--price <duckies>', 'Price per favor in Duckies', parseFloat, 5.0)
191
+ .action(handleServe);
192
+ // node
193
+ program
194
+ .command('node')
195
+ .description('Run reactive A2A node engine (hook, webhook, inbox, or spawn runner)')
196
+ .option('-m, --mode <mode>', 'Dispatcher mode: hook, inbox, spawn', 'hook')
197
+ .option('-p, --port <number>', 'Port to listen on', parseInt, 7189)
198
+ .option('-w, --webhook <url>', 'Full webhook URL to forward incoming A2A tasks to')
199
+ .option('-r, --runner <template>', 'Headless spawner runner command template (e.g. "opencode --prompt \\"{prompt}\\"")')
200
+ .action(handleNode);
201
+ // inbox
202
+ const inboxCmd = program
203
+ .command('inbox')
204
+ .description('Manage local A2A mailbox for asynchronous favor processing');
205
+ inboxCmd
206
+ .command('list')
207
+ .description('List pending favors and messages in local inbox')
208
+ .action(handleInboxList);
209
+ inboxCmd
210
+ .command('read <id>')
211
+ .description('Read specific message details from inbox')
212
+ .action(handleInboxRead);
213
+ inboxCmd
214
+ .command('reply <id>')
215
+ .description('Reply to a favor in the inbox and record delivery output')
216
+ .requiredOption('-m, --message <text>', 'Reply message / task output')
217
+ .action((id, opts) => handleInboxReply(id, opts.message));
218
+ return program;
219
+ }
220
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import { AgentCredentials, PublishedService } from './types.js';
2
+ export interface PoolClientOptions {
3
+ gatewayUrl?: string;
4
+ credentials?: AgentCredentials;
5
+ }
6
+ export interface ServiceSearchOptions {
7
+ onlineOnly?: boolean;
8
+ maxPriceDuckies?: number;
9
+ page?: number;
10
+ hitsPerPage?: number;
11
+ }
12
+ export declare class AgenticPoolClient {
13
+ readonly gatewayUrl: string;
14
+ readonly credentials?: AgentCredentials;
15
+ constructor(options?: PoolClientOptions);
16
+ /**
17
+ * Register agent card in the AgenticPool Gateway directory.
18
+ */
19
+ registerAgent(name: string, description: string, services: PublishedService[], url?: string): Promise<any>;
20
+ /**
21
+ * Send heartbeat to maintain online presence.
22
+ */
23
+ heartbeat(name: string, status?: 'online' | 'busy' | 'offline'): Promise<any>;
24
+ /**
25
+ * Query status / presence of an agent.
26
+ */
27
+ getStatus(name: string): Promise<any>;
28
+ /**
29
+ * Fetch an agent card by name from the Gateway directory.
30
+ */
31
+ getAgent(name: string): Promise<any | null>;
32
+ /**
33
+ * List all published services in the pool.
34
+ */
35
+ listServices(options?: {
36
+ onlineOnly?: boolean;
37
+ }): Promise<any[]>;
38
+ /**
39
+ * Find agents offering a specific service ID.
40
+ */
41
+ getServiceProviders(serviceId: string, options?: {
42
+ onlineOnly?: boolean;
43
+ }): Promise<any[]>;
44
+ /**
45
+ * Search pool services through the Llull Search Engine bridge.
46
+ */
47
+ searchServices(query: string, options?: ServiceSearchOptions): Promise<any>;
48
+ /**
49
+ * Request a favor from another agent via JSON-RPC.
50
+ */
51
+ requestFavor(targetAgent: string, messageText: string, options?: {
52
+ configuration?: Record<string, unknown>;
53
+ }): Promise<any>;
54
+ /**
55
+ * Evaluate the trust and credibility of a target agent from the perspective of an evaluator.
56
+ */
57
+ evaluateTrust(target: string, from?: string): Promise<any>;
58
+ /**
59
+ * Submit a review for a completed task (Proof-of-Execution) to update the trust graph.
60
+ */
61
+ reviewTask(taskId: string, payload: {
62
+ outcome: 'satisfied' | 'rejected' | 'disputed' | 'fraud';
63
+ worker: string;
64
+ requester?: string;
65
+ feedback?: string;
66
+ recommender?: string;
67
+ }): Promise<any>;
68
+ /**
69
+ * Propose a new Agentic Smart Contract.
70
+ */
71
+ proposeContract(payload: any): Promise<any>;
72
+ /**
73
+ * Get an Agentic Contract by ID.
74
+ */
75
+ getContract(id: string): Promise<any>;
76
+ /**
77
+ * List contracts, optionally filtered by party.
78
+ */
79
+ listContracts(party?: string): Promise<any[]>;
80
+ /**
81
+ * Worker accepts and signs a proposed contract.
82
+ */
83
+ acceptContract(id: string, workerSignature?: string): Promise<any>;
84
+ /**
85
+ * Worker delivers the execution output payload.
86
+ */
87
+ deliverContract(id: string, outputPayload: Record<string, any>): Promise<any>;
88
+ /**
89
+ * Evaluate contract delivery against acceptance criteria prompt (returns true/false/uncertain).
90
+ */
91
+ evaluateContractAcceptance(id: string): Promise<any>;
92
+ /**
93
+ * Requester settles a delivered contract (+1 Goma awarded).
94
+ */
95
+ settleContract(id: string): Promise<any>;
96
+ /**
97
+ * Report disconformity on a delivered contract (request revision).
98
+ */
99
+ reportDisconformity(id: string, notes: string): Promise<any>;
100
+ /**
101
+ * Open a dispute on a contract.
102
+ */
103
+ disputeContract(id: string, reason: string): Promise<any>;
104
+ /**
105
+ * Accept arbitration on a disputed contract.
106
+ */
107
+ acceptDispute(id: string, party?: string): Promise<any>;
108
+ /**
109
+ * Arbitrator resolves a disputed contract enforcing the Loser-Pays rule.
110
+ */
111
+ arbitrateContract(id: string, params: {
112
+ arbitrator: string;
113
+ verdict: 'worker_wins' | 'requester_wins' | 'split';
114
+ rationale: string;
115
+ }): Promise<any>;
116
+ private getJson;
117
+ private postJson;
118
+ }
119
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}