drain-mcp 0.2.5 → 0.3.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/index.js CHANGED
@@ -39,7 +39,7 @@ ENVIRONMENT VARIABLES:
39
39
  DRAIN_MARKETPLACE_URL Marketplace base URL
40
40
 
41
41
  MCP TOOLS PROVIDED:
42
- drain_providers List service providers (filter by model, category)
42
+ drain_providers List service providers (filter by model, category, protocol)
43
43
  drain_provider_info Provider details + usage instructions (docs)
44
44
  drain_balance Check wallet USDC balance and allowance
45
45
  drain_approve Approve USDC spending for the DRAIN contract
@@ -48,7 +48,13 @@ MCP TOOLS PROVIDED:
48
48
  drain_cooperative_close Close channel immediately (provider co-signs)
49
49
  drain_channel_status Check channel status and balance
50
50
  drain_channels List all known channels with status
51
- drain_chat Send a paid request to a provider
51
+ drain_chat Send a paid request via DRAIN channel
52
+ mpp_chat Send a per-request payment to an MPP provider
53
+ drain_feedback Report quality feedback (success/failure)
54
+
55
+ PROTOCOLS:
56
+ DRAIN — Payment channels on Polygon. Use drain_open_channel -> drain_chat.
57
+ MPP — Per-request HTTP 402 payments. Use mpp_chat directly.
52
58
 
53
59
  PROVIDER CATEGORIES:
54
60
  llm, image, audio, code, scraping, vpn, multi-modal, other
@@ -71,10 +77,13 @@ import { WalletService } from './services/wallet.js';
71
77
  import { ChannelService } from './services/channel.js';
72
78
  import { ProviderService } from './services/provider.js';
73
79
  import { InferenceService } from './services/inference.js';
80
+ import { TelemetryService } from './services/telemetry.js';
74
81
  import { providerTools, listProviders, getProvider } from './tools/providers.js';
75
82
  import { balanceTools, getBalance, approveUsdc } from './tools/balance.js';
76
83
  import { channelTools, openChannel, closeChannel, cooperativeClose, getChannelStatus, listChannels } from './tools/channel.js';
77
84
  import { chatTools, chat } from './tools/chat.js';
85
+ import { mppTools, mppChat } from './tools/mpp.js';
86
+ import { feedbackTools, submitFeedback } from './tools/feedback.js';
78
87
  // ============================================================================
79
88
  // SERVER SETUP
80
89
  // ============================================================================
@@ -85,20 +94,19 @@ class DrainMcpServer {
85
94
  channelService;
86
95
  providerService;
87
96
  inferenceService;
97
+ telemetryService;
88
98
  constructor() {
89
- // Load configuration
90
99
  this.config = loadConfig();
91
- // Create clients
92
100
  const { account, walletClient, publicClient } = createClients(this.config);
93
- // Initialize services
94
101
  this.walletService = new WalletService(publicClient, walletClient, account, this.config);
95
102
  this.channelService = new ChannelService(publicClient, walletClient, account, this.config);
96
103
  this.providerService = new ProviderService(this.config);
97
104
  this.inferenceService = new InferenceService(this.channelService);
105
+ this.telemetryService = new TelemetryService(this.config, account.address);
98
106
  // Create MCP server
99
107
  this.server = new Server({
100
108
  name: 'drain-mcp',
101
- version: '0.2.0',
109
+ version: '0.3.0',
102
110
  }, {
103
111
  capabilities: {
104
112
  tools: {},
@@ -115,6 +123,8 @@ class DrainMcpServer {
115
123
  ...balanceTools,
116
124
  ...channelTools,
117
125
  ...chatTools,
126
+ ...mppTools,
127
+ ...feedbackTools,
118
128
  ],
119
129
  }));
120
130
  // Handle tool calls
@@ -155,7 +165,15 @@ class DrainMcpServer {
155
165
  break;
156
166
  // Chat tools
157
167
  case 'drain_chat':
158
- result = await chat(this.channelService, this.providerService, this.inferenceService, args);
168
+ result = await chat(this.channelService, this.providerService, this.inferenceService, this.telemetryService, args);
169
+ break;
170
+ // MPP tools
171
+ case 'mpp_chat':
172
+ result = await mppChat(this.providerService, this.telemetryService, args);
173
+ break;
174
+ // Feedback tools
175
+ case 'drain_feedback':
176
+ result = await submitFeedback(this.config, args);
159
177
  break;
160
178
  default:
161
179
  throw new Error(`Unknown tool: ${name}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/H,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,cAAc;IACV,MAAM,CAAS;IACf,MAAM,CAAc;IACpB,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,eAAe,CAAkB;IACjC,gBAAgB,CAAmB;IAE3C;QACE,qBAAqB;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAE3B,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3E,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElE,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;aACd;SACF,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE;gBACL,GAAG,aAAa;gBAChB,GAAG,YAAY;gBACf,GAAG,YAAY;gBACf,GAAG,SAAS;aACb;SACF,CAAC,CAAC,CAAC;QAEJ,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,IAAI,MAAc,CAAC;gBAEnB,QAAQ,IAAI,EAAE,CAAC;oBACb,iBAAiB;oBACjB,KAAK,iBAAiB;wBACpB,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAmE,CAAC,CAAC;wBACxH,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,IAAkD,CAAC,CAAC;wBACrG,MAAM;oBAER,gBAAgB;oBAChB,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC3D,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAA2B,CAAC,CAAC;wBAC5E,MAAM;oBAER,gBAAgB;oBAChB,KAAK,oBAAoB;wBACvB,MAAM,GAAG,MAAM,WAAW,CACxB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAA8D,CAC/D,CAAC;wBACF,MAAM;oBACR,KAAK,qBAAqB;wBACxB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBAChF,MAAM;oBACR,KAAK,yBAAyB;wBAC5B,MAAM,GAAG,MAAM,gBAAgB,CAC7B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAA6B,CAC9B,CAAC;wBACF,MAAM;oBACR,KAAK,sBAAsB;wBACzB,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAA6B,CAAC,CAAC;wBACpF,MAAM;oBACR,KAAK,gBAAgB;wBACnB,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACjD,MAAM;oBAER,aAAa;oBACb,KAAK,YAAY;wBACf,MAAM,GAAG,MAAM,IAAI,CACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAMC,CACF,CAAC;wBACF,MAAM;oBAER;wBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;oBACtD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACrE,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,gBAAgB;oBACrB,IAAI,EAAE,eAAe;oBACrB,WAAW,EAAE,4DAA4D;oBACzE,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,qEAAqE;oBAClF,QAAQ,EAAE,eAAe;iBAC1B;aACF;SACF,CAAC,CAAC,CAAC;QAEJ,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC;gBACH,IAAI,OAAe,CAAC;gBAEpB,QAAQ,GAAG,EAAE,CAAC;oBACZ,KAAK,gBAAgB;wBACnB,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5D,MAAM;oBACR,KAAK,mBAAmB;wBACtB,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;wBACxD,MAAM;oBACR;wBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC9D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,qEAAqE;QACrE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAChG,CAAC;CACF;AAED,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACtG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAChG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ export interface Provider {
23
23
  providerAddress: string;
24
24
  chainId: number;
25
25
  category: ProviderCategory;
26
+ protocol?: string;
27
+ qualityScore?: number;
28
+ mppEndpoint?: string;
26
29
  docsUrl?: string;
27
30
  status: {
28
31
  online: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/services/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,eAAe;IAMd,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAkC;gBAE/B,MAAM,EAAE,WAAW;IAEvC;;OAEG;IACG,YAAY,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkC7D;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAK/D;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOvD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK/C;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkB3D;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAiBlE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/services/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,eAAe;IAMd,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAAkC;gBAE/B,MAAM,EAAE,WAAW;IAEvC;;OAEG;IACG,YAAY,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkC7D;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAK/D;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOvD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK/C;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkB3D;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAiBlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/services/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+CH,MAAM,OAAO,eAAe;IAMN;IALZ,KAAK,GAAe,EAAE,CAAC;IACvB,SAAS,GAAW,CAAC,CAAC;IACtB,QAAQ,GAAW,KAAK,CAAC,CAAC,WAAW;IACrC,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEnD,YAAoB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAE3C;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,YAAY,GAAG,KAAK;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACH,qEAAqE;YACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1F,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAuB,CAAC;YAExD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YAErB,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,QAAkB;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,GAAG,QAAQ,CAAC,MAAM,UAAU,CAAC;QAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,4BAA4B;QAC3D,CAAC;QAED,iCAAiC;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;YAC5C,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/services/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Telemetry Service
3
+ *
4
+ * Fire-and-forget reporting of agent usage data to the marketplace.
5
+ * Never blocks or throws — failures are silently ignored.
6
+ */
7
+ import type { DrainConfig } from '../config.js';
8
+ interface TelemetryEvent {
9
+ providerId: string;
10
+ latencyMs: number;
11
+ httpStatus: number;
12
+ costUsdc: number;
13
+ protocol: string;
14
+ timestamp: string;
15
+ agentId?: string;
16
+ }
17
+ export declare class TelemetryService {
18
+ private endpoint;
19
+ private agentId;
20
+ constructor(config: DrainConfig, agentAddress?: string);
21
+ /**
22
+ * Report a provider interaction. Fire-and-forget — never blocks, never throws.
23
+ */
24
+ report(event: Omit<TelemetryEvent, 'timestamp' | 'agentId'>): void;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAqB;gBAExB,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM;IAKtD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,IAAI;CAcnE"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Telemetry Service
3
+ *
4
+ * Fire-and-forget reporting of agent usage data to the marketplace.
5
+ * Never blocks or throws — failures are silently ignored.
6
+ */
7
+ export class TelemetryService {
8
+ endpoint;
9
+ agentId;
10
+ constructor(config, agentAddress) {
11
+ this.endpoint = `${config.marketplaceBaseUrl}/api/telemetry`;
12
+ this.agentId = agentAddress;
13
+ }
14
+ /**
15
+ * Report a provider interaction. Fire-and-forget — never blocks, never throws.
16
+ */
17
+ report(event) {
18
+ const payload = {
19
+ ...event,
20
+ timestamp: new Date().toISOString(),
21
+ agentId: this.agentId,
22
+ };
23
+ fetch(this.endpoint, {
24
+ method: 'POST',
25
+ headers: { 'Content-Type': 'application/json' },
26
+ body: JSON.stringify(payload),
27
+ signal: AbortSignal.timeout(5000),
28
+ }).catch(() => { });
29
+ }
30
+ }
31
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAS;IACjB,OAAO,CAAqB;IAEpC,YAAY,MAAmB,EAAE,YAAqB;QACpD,IAAI,CAAC,QAAQ,GAAG,GAAG,MAAM,CAAC,kBAAkB,gBAAgB,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAoD;QACzD,MAAM,OAAO,GAAmB;YAC9B,GAAG,KAAK;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAuB/D,wBAAsB,WAAW,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CA+FjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6GxB,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAuB/D,wBAAsB,WAAW,CAC/B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC,MAAM,CAAC,CAsGjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6GxB,CAAC"}
@@ -38,6 +38,11 @@ export async function openChannel(channelService, providerService, args) {
38
38
  if (!provider) {
39
39
  throw new Error(`Provider "${args.provider}" not found. Use drain_providers to list available providers.`);
40
40
  }
41
+ if ((provider.protocol || 'drain') === 'mpp') {
42
+ const endpoint = provider.mppEndpoint || provider.apiUrl;
43
+ throw new Error(`"${provider.name}" is an MPP provider — no payment channel needed. ` +
44
+ `Use mpp_chat(provider: "${endpoint}", messages: [...]) instead.`);
45
+ }
41
46
  providerAddress = provider.providerAddress;
42
47
  providerName = provider.name;
43
48
  resolvedProvider = provider;
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/tools/channel.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@
6
6
  import type { ChannelService } from '../services/channel.js';
7
7
  import type { ProviderService } from '../services/provider.js';
8
8
  import type { InferenceService, ChatMessage } from '../services/inference.js';
9
+ import type { TelemetryService } from '../services/telemetry.js';
9
10
  /**
10
11
  * Make a chat completion request
11
12
  */
12
- export declare function chat(channelService: ChannelService, providerService: ProviderService, inferenceService: InferenceService, args: {
13
+ export declare function chat(channelService: ChannelService, providerService: ProviderService, inferenceService: InferenceService, telemetryService: TelemetryService, args: {
13
14
  channelId: string;
14
15
  model: string;
15
16
  messages: ChatMessage[];
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE9E;;GAEG;AACH,wBAAsB,IAAI,CACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAaD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DrB,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE;;GAEG;AACH,wBAAsB,IAAI,CACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CA6DjB;AAaD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DrB,CAAC"}
@@ -6,15 +6,13 @@
6
6
  /**
7
7
  * Make a chat completion request
8
8
  */
9
- export async function chat(channelService, providerService, inferenceService, args) {
9
+ export async function chat(channelService, providerService, inferenceService, telemetryService, args) {
10
10
  const channelId = args.channelId;
11
- // Get channel to find provider
11
+ const start = Date.now();
12
12
  const channel = await channelService.getChannel(channelId);
13
13
  if (channel.isExpired) {
14
14
  throw new Error('Channel has expired. Open a new channel to continue.');
15
15
  }
16
- // Find provider — prefer stored ID (handles multiple providers sharing one wallet),
17
- // fall back to address match for channels opened before this fix
18
16
  const providers = await providerService.getProviders();
19
17
  const storedProviderId = channelService.getProviderId(channelId);
20
18
  const provider = storedProviderId
@@ -23,27 +21,43 @@ export async function chat(channelService, providerService, inferenceService, ar
23
21
  if (!provider) {
24
22
  throw new Error(`Provider ${channel.provider} not found in directory. The channel may be for an unlisted provider.`);
25
23
  }
26
- // Check model is available
27
24
  const modelInfo = provider.models.find(m => m.id === args.model);
28
25
  if (!modelInfo) {
29
26
  const availableModels = provider.models.map(m => m.id).join(', ');
30
27
  throw new Error(`Model "${args.model}" not available from this provider. Available: ${availableModels}`);
31
28
  }
32
- // Make the request
33
- const response = await inferenceService.chat(provider, channelId, {
34
- model: args.model,
35
- messages: args.messages,
36
- max_tokens: args.maxTokens,
37
- temperature: args.temperature,
38
- });
39
- // Format response
40
- const assistantMessage = response.choices[0]?.message?.content ?? '';
41
- const cost = response.drain?.cost ?? 'unknown';
42
- const totalSpent = response.drain?.totalSpent ?? 'unknown';
43
- return `${assistantMessage}
44
-
45
- ---
46
- *Cost: $${formatCost(cost)} USDC | Total spent: $${formatCost(totalSpent)} USDC | Tokens: ${response.usage.total_tokens}*`;
29
+ try {
30
+ const response = await inferenceService.chat(provider, channelId, {
31
+ model: args.model,
32
+ messages: args.messages,
33
+ max_tokens: args.maxTokens,
34
+ temperature: args.temperature,
35
+ });
36
+ const latency = Date.now() - start;
37
+ const cost = response.drain?.cost ?? '0';
38
+ const costUsdc = parseFloat(cost) / 1_000_000;
39
+ telemetryService.report({
40
+ providerId: provider.id,
41
+ latencyMs: latency,
42
+ httpStatus: 200,
43
+ costUsdc: isNaN(costUsdc) ? 0 : costUsdc,
44
+ protocol: 'drain',
45
+ });
46
+ const assistantMessage = response.choices[0]?.message?.content ?? '';
47
+ const totalSpent = response.drain?.totalSpent ?? 'unknown';
48
+ return `${assistantMessage}\n\n---\n*Cost: $${formatCost(cost)} USDC | Total spent: $${formatCost(totalSpent)} USDC | Tokens: ${response.usage.total_tokens}*`;
49
+ }
50
+ catch (error) {
51
+ const latency = Date.now() - start;
52
+ telemetryService.report({
53
+ providerId: provider.id,
54
+ latencyMs: latency,
55
+ httpStatus: 0,
56
+ costUsdc: 0,
57
+ protocol: 'drain',
58
+ });
59
+ throw error;
60
+ }
47
61
  }
48
62
  /**
49
63
  * Format cost for display
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/tools/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Feedback Tool
3
+ *
4
+ * Optional quality report after using a provider.
5
+ * Agents report success/failure + optional failure reason.
6
+ */
7
+ import type { DrainConfig } from '../config.js';
8
+ export declare function submitFeedback(config: DrainConfig, args: {
9
+ providerId: string;
10
+ outcome: 'success' | 'failure';
11
+ reason?: string;
12
+ protocol?: string;
13
+ }): Promise<string>;
14
+ export declare const feedbackTools: {
15
+ name: string;
16
+ description: string;
17
+ inputSchema: {
18
+ type: string;
19
+ properties: {
20
+ providerId: {
21
+ type: string;
22
+ description: string;
23
+ };
24
+ outcome: {
25
+ type: string;
26
+ enum: string[];
27
+ description: string;
28
+ };
29
+ reason: {
30
+ type: string;
31
+ enum: string[];
32
+ description: string;
33
+ };
34
+ protocol: {
35
+ type: string;
36
+ enum: string[];
37
+ description: string;
38
+ };
39
+ };
40
+ required: string[];
41
+ };
42
+ }[];
43
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCzB,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Feedback Tool
3
+ *
4
+ * Optional quality report after using a provider.
5
+ * Agents report success/failure + optional failure reason.
6
+ */
7
+ export async function submitFeedback(config, args) {
8
+ if (!args.providerId) {
9
+ return 'Error: providerId is required.';
10
+ }
11
+ if (args.outcome !== 'success' && args.outcome !== 'failure') {
12
+ return 'Error: outcome must be "success" or "failure".';
13
+ }
14
+ const validReasons = ['quality', 'timeout', 'error', 'format', 'unavailable'];
15
+ if (args.reason && !validReasons.includes(args.reason)) {
16
+ return `Error: reason must be one of: ${validReasons.join(', ')}`;
17
+ }
18
+ if (args.outcome === 'success' && args.reason) {
19
+ return 'Error: reason should only be provided for failures.';
20
+ }
21
+ const body = {
22
+ providerId: args.providerId,
23
+ outcome: args.outcome,
24
+ protocol: args.protocol || 'drain',
25
+ };
26
+ if (args.reason)
27
+ body.reason = args.reason;
28
+ try {
29
+ const res = await fetch(`${config.marketplaceBaseUrl}/api/feedback`, {
30
+ method: 'POST',
31
+ headers: { 'Content-Type': 'application/json' },
32
+ body: JSON.stringify(body),
33
+ signal: AbortSignal.timeout(5000),
34
+ });
35
+ if (!res.ok) {
36
+ const data = await res.json().catch(() => ({}));
37
+ return `Feedback rejected: ${data.error || res.statusText}`;
38
+ }
39
+ return `Feedback submitted: ${args.outcome}${args.reason ? ` (${args.reason})` : ''} for provider ${args.providerId}`;
40
+ }
41
+ catch {
42
+ return 'Feedback could not be submitted (network error). This is non-critical.';
43
+ }
44
+ }
45
+ export const feedbackTools = [
46
+ {
47
+ name: 'drain_feedback',
48
+ description: `Report quality feedback for a provider interaction. Optional but encouraged.
49
+
50
+ Use this after completing a session with a provider to report whether the interaction was successful or not. This helps improve provider quality scores on the marketplace.
51
+
52
+ For failures, include a reason to help diagnose issues:
53
+ - "quality" — output was incorrect or low quality
54
+ - "timeout" — provider took too long to respond
55
+ - "error" — provider returned an error
56
+ - "format" — response format was wrong or unparseable
57
+ - "unavailable" — provider was unreachable
58
+
59
+ Works for both DRAIN and MPP providers.`,
60
+ inputSchema: {
61
+ type: 'object',
62
+ properties: {
63
+ providerId: {
64
+ type: 'string',
65
+ description: 'The provider ID (from drain_providers output)',
66
+ },
67
+ outcome: {
68
+ type: 'string',
69
+ enum: ['success', 'failure'],
70
+ description: 'Whether the interaction was successful',
71
+ },
72
+ reason: {
73
+ type: 'string',
74
+ enum: ['quality', 'timeout', 'error', 'format', 'unavailable'],
75
+ description: 'Failure reason (only for outcome="failure")',
76
+ },
77
+ protocol: {
78
+ type: 'string',
79
+ enum: ['drain', 'mpp'],
80
+ description: 'Protocol used (defaults to "drain")',
81
+ },
82
+ },
83
+ required: ['providerId', 'outcome'],
84
+ },
85
+ },
86
+ ];
87
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * MPP Chat Tool
3
+ *
4
+ * Per-request payments via HTTP 402 protocol.
5
+ * Calls MPP-compatible endpoints without payment channels.
6
+ */
7
+ import type { ProviderService } from '../services/provider.js';
8
+ import type { TelemetryService } from '../services/telemetry.js';
9
+ import type { ChatMessage } from '../services/inference.js';
10
+ export declare function mppChat(providerService: ProviderService, telemetryService: TelemetryService, args: {
11
+ provider: string;
12
+ messages: ChatMessage[];
13
+ model?: string;
14
+ maxTokens?: number;
15
+ temperature?: number;
16
+ }): Promise<string>;
17
+ export declare const mppTools: {
18
+ name: string;
19
+ description: string;
20
+ inputSchema: {
21
+ type: string;
22
+ properties: {
23
+ provider: {
24
+ type: string;
25
+ description: string;
26
+ };
27
+ messages: {
28
+ type: string;
29
+ description: string;
30
+ items: {
31
+ type: string;
32
+ properties: {
33
+ role: {
34
+ type: string;
35
+ enum: string[];
36
+ };
37
+ content: {
38
+ type: string;
39
+ };
40
+ };
41
+ required: string[];
42
+ };
43
+ };
44
+ model: {
45
+ type: string;
46
+ description: string;
47
+ };
48
+ maxTokens: {
49
+ type: string;
50
+ description: string;
51
+ };
52
+ temperature: {
53
+ type: string;
54
+ description: string;
55
+ };
56
+ };
57
+ required: string[];
58
+ };
59
+ }[];
60
+ //# sourceMappingURL=mpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpp.d.ts","sourceRoot":"","sources":["../../src/tools/mpp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAsB,OAAO,CAC3B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAiHjB;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDpB,CAAC"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * MPP Chat Tool
3
+ *
4
+ * Per-request payments via HTTP 402 protocol.
5
+ * Calls MPP-compatible endpoints without payment channels.
6
+ */
7
+ export async function mppChat(providerService, telemetryService, args) {
8
+ if (!args.provider) {
9
+ return 'Error: provider is required (provider ID or MPP endpoint URL).';
10
+ }
11
+ let endpoint;
12
+ let providerId;
13
+ if (args.provider.startsWith('http')) {
14
+ endpoint = args.provider;
15
+ providerId = args.provider;
16
+ }
17
+ else {
18
+ const p = await providerService.getProvider(args.provider);
19
+ if (!p)
20
+ return `Error: Provider "${args.provider}" not found.`;
21
+ endpoint = p.mppEndpoint || `${p.apiUrl}/v1/chat/completions`;
22
+ providerId = p.id;
23
+ }
24
+ const body = {
25
+ messages: args.messages,
26
+ };
27
+ if (args.model)
28
+ body.model = args.model;
29
+ if (args.maxTokens)
30
+ body.max_tokens = args.maxTokens;
31
+ if (args.temperature !== undefined)
32
+ body.temperature = args.temperature;
33
+ const start = Date.now();
34
+ let httpStatus = 0;
35
+ try {
36
+ const res = await fetch(endpoint, {
37
+ method: 'POST',
38
+ headers: { 'Content-Type': 'application/json' },
39
+ body: JSON.stringify(body),
40
+ });
41
+ httpStatus = res.status;
42
+ const latency = Date.now() - start;
43
+ if (res.status === 402) {
44
+ const wwwAuth = res.headers.get('www-authenticate') || '';
45
+ const paymentInfo = res.headers.get('x-payment') || '';
46
+ telemetryService.report({
47
+ providerId,
48
+ latencyMs: latency,
49
+ httpStatus: 402,
50
+ costUsdc: 0,
51
+ protocol: 'mpp',
52
+ });
53
+ return [
54
+ 'Payment required (HTTP 402). This MPP provider requires per-request payment.',
55
+ '',
56
+ wwwAuth ? `WWW-Authenticate: ${wwwAuth}` : '',
57
+ paymentInfo ? `X-Payment: ${paymentInfo}` : '',
58
+ '',
59
+ 'To complete the payment, the agent needs an MPP payment handler (e.g. mppx).',
60
+ 'For providers using Tempo/Stripe, configure payment credentials in your environment.',
61
+ ].filter(Boolean).join('\n');
62
+ }
63
+ if (!res.ok) {
64
+ const errorData = await res.json().catch(() => ({}));
65
+ const errorMsg = typeof errorData.error === 'string'
66
+ ? errorData.error
67
+ : errorData.error?.message ?? res.statusText;
68
+ telemetryService.report({
69
+ providerId,
70
+ latencyMs: latency,
71
+ httpStatus: res.status,
72
+ costUsdc: 0,
73
+ protocol: 'mpp',
74
+ });
75
+ return `Error from MPP provider: ${errorMsg} (HTTP ${res.status})`;
76
+ }
77
+ const data = await res.json();
78
+ const costHeader = res.headers.get('x-cost') || res.headers.get('x-drain-cost');
79
+ const cost = costHeader ? parseFloat(costHeader) / 1_000_000 : 0;
80
+ telemetryService.report({
81
+ providerId,
82
+ latencyMs: latency,
83
+ httpStatus: 200,
84
+ costUsdc: cost,
85
+ protocol: 'mpp',
86
+ });
87
+ const content = data.choices?.[0]?.message?.content
88
+ ?? data.result
89
+ ?? JSON.stringify(data);
90
+ const tokens = data.usage?.total_tokens ?? '';
91
+ const costStr = cost > 0 ? ` | Cost: $${cost.toFixed(6)}` : '';
92
+ const tokenStr = tokens ? ` | Tokens: ${tokens}` : '';
93
+ return `${content}\n\n---\n*MPP request completed in ${latency}ms${costStr}${tokenStr}*`;
94
+ }
95
+ catch (error) {
96
+ const latency = Date.now() - start;
97
+ telemetryService.report({
98
+ providerId,
99
+ latencyMs: latency,
100
+ httpStatus: httpStatus || 0,
101
+ costUsdc: 0,
102
+ protocol: 'mpp',
103
+ });
104
+ const msg = error instanceof Error ? error.message : String(error);
105
+ return `MPP request failed: ${msg}`;
106
+ }
107
+ }
108
+ export const mppTools = [
109
+ {
110
+ name: 'mpp_chat',
111
+ description: `Send a per-request payment call to an MPP provider (HTTP 402 protocol).
112
+
113
+ No payment channel needed. Each request is paid individually.
114
+
115
+ Use this for providers with protocol="mpp" in drain_providers output.
116
+ For DRAIN providers, use drain_chat instead (requires an open channel).
117
+
118
+ If the provider returns HTTP 402, payment details will be shown.
119
+ Some MPP providers may respond directly without 402 if pre-authorized.`,
120
+ inputSchema: {
121
+ type: 'object',
122
+ properties: {
123
+ provider: {
124
+ type: 'string',
125
+ description: 'Provider ID (from drain_providers) or direct MPP endpoint URL',
126
+ },
127
+ messages: {
128
+ type: 'array',
129
+ description: 'Chat messages [{role, content}] or structured request',
130
+ items: {
131
+ type: 'object',
132
+ properties: {
133
+ role: {
134
+ type: 'string',
135
+ enum: ['system', 'user', 'assistant'],
136
+ },
137
+ content: {
138
+ type: 'string',
139
+ },
140
+ },
141
+ required: ['role', 'content'],
142
+ },
143
+ },
144
+ model: {
145
+ type: 'string',
146
+ description: 'Model ID (optional, depends on provider)',
147
+ },
148
+ maxTokens: {
149
+ type: 'number',
150
+ description: 'Maximum tokens (optional)',
151
+ },
152
+ temperature: {
153
+ type: 'number',
154
+ description: 'Temperature 0-2 (optional)',
155
+ },
156
+ },
157
+ required: ['provider', 'messages'],
158
+ },
159
+ },
160
+ ];
161
+ //# sourceMappingURL=mpp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpp.js","sourceRoot":"","sources":["../../src/tools/mpp.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare function listProviders(providerService: ProviderService, args: {
6
6
  onlineOnly?: boolean;
7
7
  model?: string;
8
8
  category?: string;
9
+ protocol?: string;
9
10
  }): Promise<string>;
10
11
  export declare function getProvider(providerService: ProviderService, args: {
11
12
  provider?: string;
@@ -29,6 +30,11 @@ export declare const providerTools: ({
29
30
  type: string;
30
31
  description: string;
31
32
  };
33
+ protocol: {
34
+ type: string;
35
+ enum: string[];
36
+ description: string;
37
+ };
32
38
  provider?: undefined;
33
39
  };
34
40
  required?: undefined;
@@ -46,6 +52,7 @@ export declare const providerTools: ({
46
52
  onlineOnly?: undefined;
47
53
  model?: undefined;
48
54
  category?: undefined;
55
+ protocol?: undefined;
49
56
  };
50
57
  required: string[];
51
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/tools/providers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,yBAAyB,CAAC;AAiCzE,wBAAsB,aAAa,CACjC,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,wBAAsB,WAAW,CAC/B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDzB,CAAC"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/tools/providers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,yBAAyB,CAAC;AAsCzE,wBAAsB,aAAa,CACjC,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACnF,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,wBAAsB,WAAW,CAC/B,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDzB,CAAC"}
@@ -14,14 +14,19 @@ function formatProvider(p) {
14
14
  const latency = p.status.latencyMs ? `${p.status.latencyMs}ms` : 'N/A';
15
15
  const docsUrl = p.docsUrl || `${p.apiUrl}/v1/docs`;
16
16
  const models = p.models.map(m => ` - ${m.name} (${formatPricing(m)})`).join('\n');
17
+ const protocol = p.protocol || 'drain';
18
+ const quality = p.qualityScore && p.qualityScore > 0 ? ` | Q: ${p.qualityScore.toFixed(2)}` : '';
19
+ const tool = protocol === 'mpp' ? 'mpp_chat' : 'drain_chat';
17
20
  return `
18
21
  ## ${p.name}
19
- - **ID:** \`${p.id}\` ← use this with drain_provider_info / drain_open_channel
22
+ - **ID:** \`${p.id}\` ← use this with drain_provider_info / ${protocol === 'mpp' ? 'mpp_chat' : 'drain_open_channel'}
23
+ - **Protocol:** ${protocol.toUpperCase()}${quality}
20
24
  - **Category:** ${p.category || 'llm'}
21
25
  - **Status:** ${status}
22
26
  - **Latency:** ${latency}
23
27
  - **Docs:** ${docsUrl}
24
- - **Chain:** ${p.chainId === 137 ? 'Polygon Mainnet' : 'Polygon Amoy'}
28
+ - **Tool:** ${tool}
29
+ ${p.mppEndpoint ? `- **MPP Endpoint:** ${p.mppEndpoint}` : `- **Chain:** ${p.chainId === 137 ? 'Polygon Mainnet' : 'Polygon Amoy'}`}
25
30
 
26
31
  **Description:** ${p.description}
27
32
 
@@ -43,6 +48,9 @@ export async function listProviders(providerService, args) {
43
48
  if (args.category) {
44
49
  providers = providers.filter(p => (p.category || 'llm') === args.category);
45
50
  }
51
+ if (args.protocol) {
52
+ providers = providers.filter(p => (p.protocol || 'drain') === args.protocol);
53
+ }
46
54
  if (providers.length === 0) {
47
55
  if (args.model) {
48
56
  return `No providers found supporting model "${args.model}".`;
@@ -50,10 +58,13 @@ export async function listProviders(providerService, args) {
50
58
  if (args.category) {
51
59
  return `No providers found in category "${args.category}".`;
52
60
  }
61
+ if (args.protocol) {
62
+ return `No providers found with protocol "${args.protocol}".`;
63
+ }
53
64
  return 'No providers available in the directory.';
54
65
  }
55
66
  const formatted = providers.map(formatProvider).join('\n\n---\n\n');
56
- return `# DRAIN Providers\n\nFound ${providers.length} provider(s).\n\n**Usage:** Pass the provider **ID** to \`drain_provider_info(provider: "<ID>")\` for docs, or to \`drain_open_channel(provider: "<ID>", ...)\` to open a channel.\n\n${formatted}`;
67
+ return `# Providers\n\nFound ${providers.length} provider(s).\n\n**DRAIN providers:** Use \`drain_open_channel\` \`drain_chat\` \`drain_cooperative_close\`\n**MPP providers:** Use \`mpp_chat\` directly (no channel needed)\n\n${formatted}`;
57
68
  }
58
69
  export async function getProvider(providerService, args) {
59
70
  const id = args.provider || args.providerId;
@@ -77,15 +88,17 @@ export async function getProvider(providerService, args) {
77
88
  export const providerTools = [
78
89
  {
79
90
  name: 'drain_providers',
80
- description: `List available service providers on the DRAIN marketplace.
91
+ description: `List available service providers on the Handshake58 marketplace.
92
+
93
+ Supports two payment protocols:
94
+ - DRAIN: Payment channels on Polygon. Use drain_open_channel → drain_chat → drain_cooperative_close.
95
+ - MPP: Per-request HTTP 402 payments. Use mpp_chat directly (no channel needed).
81
96
 
82
97
  Providers offer diverse services by category: llm, image, audio, code, scraping, vpn, multi-modal, other. Each provider has a docs endpoint with usage instructions for that service.
83
98
 
84
99
  For any provider that is not category "llm", read its docs (via drain_provider_info) before sending requests to learn the expected message format.
85
100
 
86
- You can open channels to multiple providers simultaneously for multi-service workflows.
87
-
88
- Returns: Providers with category, models/services, pricing, docs URL, and online status.`,
101
+ Returns: Providers with protocol, category, quality score, pricing, and online status.`,
89
102
  inputSchema: {
90
103
  type: 'object',
91
104
  properties: {
@@ -101,6 +114,11 @@ Returns: Providers with category, models/services, pricing, docs URL, and online
101
114
  type: 'string',
102
115
  description: 'Filter by service category: llm, image, audio, code, scraping, vpn, multi-modal, other',
103
116
  },
117
+ protocol: {
118
+ type: 'string',
119
+ enum: ['drain', 'mpp'],
120
+ description: 'Filter by payment protocol: "drain" (channels) or "mpp" (per-request)',
121
+ },
104
122
  },
105
123
  },
106
124
  },
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/tools/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/tools/providers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,SAAS,aAAa,CAAC,CAAwB;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,sBAAsB,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,gBAAgB,UAAU,CAAC,CAAC,OAAO,CAAC,iBAAiB,oBAAoB,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CAAC,CAAW;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC;IACnD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,IAAI,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAE5D,OAAO;KACJ,CAAC,CAAC,IAAI;cACG,CAAC,CAAC,EAAE,6CAA6C,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB;kBACnG,QAAQ,CAAC,WAAW,EAAE,GAAG,OAAO;kBAChC,CAAC,CAAC,QAAQ,IAAI,KAAK;gBACrB,MAAM;iBACL,OAAO;cACV,OAAO;cACP,IAAI;EAChB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE;;mBAEhH,CAAC,CAAC,WAAW;;;EAG9B,MAAM;CACP,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,eAAgC,EAChC,IAAoF;IAEpF,IAAI,SAAqB,CAAC;IAE1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,SAAS,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,SAAS,GAAG,MAAM,eAAe,CAAC,kBAAkB,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,wCAAwC,IAAI,CAAC,KAAK,IAAI,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,mCAAmC,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,qCAAqC,IAAI,CAAC,QAAQ,IAAI,CAAC;QAChE,CAAC;QACD,OAAO,0CAA0C,CAAC;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEpE,OAAO,wBAAwB,SAAS,CAAC,MAAM,wLAAwL,SAAS,EAAE,CAAC;AACrP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,eAAgC,EAChC,IAAgD;IAEhD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE;QAAE,OAAO,wEAAwE,CAAC;IACzF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,aAAa,IAAI,CAAC,UAAU,cAAc,CAAC;IACpD,CAAC;IAED,IAAI,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,gCAAgC,IAAI,EAAE,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,GAAG,QAAQ,CAAC,MAAM,UAAU,CAAC;QACjE,MAAM,IAAI,kEAAkE,OAAO,EAAE,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE;;;;;;;;;;uFAUsE;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,0DAA0D;iBACxE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wFAAwF;iBACtG;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;oBACtB,WAAW,EAAE,uEAAuE;iBACrF;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;;;;sFAIqE;QAClF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "drain-mcp",
3
- "version": "0.2.5",
3
+ "version": "0.3.1",
4
4
  "mcpName": "io.github.kimbo128/drain-mcp",
5
- "description": "MCP server for DRAIN protocol. Agents discover providers, open USDC payment channels, and call any service LLM, scraping, image, VPN, and more.",
5
+ "description": "MCP server for the Handshake58 AI marketplace. DRAIN payment channels, MPP per-request payments, quality feedback. Agents discover providers, pay, and report.",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/kimbo128/DRAIN.git"
@@ -22,13 +22,15 @@
22
22
  "mcp",
23
23
  "model-context-protocol",
24
24
  "drain",
25
+ "mpp",
25
26
  "ai-agent",
26
27
  "ai-payments",
28
+ "ai-marketplace",
27
29
  "micropayments",
28
30
  "polygon",
29
31
  "usdc",
30
- "crypto",
31
- "inference"
32
+ "http-402",
33
+ "quality-oracle"
32
34
  ],
33
35
  "author": "Handshake58",
34
36
  "license": "MIT",