@antseed/cli 0.1.22 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/connect.d.ts.map +1 -1
- package/dist/cli/commands/connect.js +37 -4
- package/dist/cli/commands/connect.js.map +1 -1
- package/dist/proxy/buyer-proxy.d.ts +8 -1
- package/dist/proxy/buyer-proxy.d.ts.map +1 -1
- package/dist/proxy/buyer-proxy.js +445 -53
- package/dist/proxy/buyer-proxy.js.map +1 -1
- package/dist/proxy/buyer-proxy.test.js +28 -0
- package/dist/proxy/buyer-proxy.test.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAexC,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,wBAAgB,mCAAmC,CAAC,OAAO,EAAE;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,qBAAqB,CAkBxB;AAED,wBAAgB,oCAAoC,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxG;AAED,wBAAgB,0BAA0B,CACxC,wBAAwB,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9C,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,EAAE,CAoBV;AAmFD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6N7D"}
|
|
@@ -3,6 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import { readFile } from 'node:fs/promises';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
5
|
import { homedir } from 'node:os';
|
|
6
|
+
import { createConnection } from 'node:net';
|
|
6
7
|
import { getGlobalOptions } from './types.js';
|
|
7
8
|
import { loadConfig } from '../../config/loader.js';
|
|
8
9
|
import { AntseedNode, BaseEscrowClient, loadOrCreateIdentity, identityToEvmAddress, getInstance } from '@antseed/node';
|
|
@@ -115,6 +116,28 @@ async function getLocalSeederInfo() {
|
|
|
115
116
|
}
|
|
116
117
|
return null;
|
|
117
118
|
}
|
|
119
|
+
function isAddrInUseError(error) {
|
|
120
|
+
if (!(error instanceof Error)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
return error.message.includes('EADDRINUSE');
|
|
124
|
+
}
|
|
125
|
+
async function isPortReachable(port, timeoutMs = 700) {
|
|
126
|
+
return await new Promise((resolve) => {
|
|
127
|
+
const socket = createConnection({ host: '127.0.0.1', port: Math.floor(port) });
|
|
128
|
+
let settled = false;
|
|
129
|
+
const finish = (reachable) => {
|
|
130
|
+
if (settled)
|
|
131
|
+
return;
|
|
132
|
+
settled = true;
|
|
133
|
+
socket.destroy();
|
|
134
|
+
resolve(reachable);
|
|
135
|
+
};
|
|
136
|
+
socket.once('connect', () => finish(true));
|
|
137
|
+
socket.once('error', () => finish(false));
|
|
138
|
+
socket.setTimeout(timeoutMs, () => finish(false));
|
|
139
|
+
});
|
|
140
|
+
}
|
|
118
141
|
export function registerConnectCommand(program) {
|
|
119
142
|
program
|
|
120
143
|
.command('connect')
|
|
@@ -272,14 +295,22 @@ export function registerConnectCommand(program) {
|
|
|
272
295
|
node,
|
|
273
296
|
pinnedPeerId,
|
|
274
297
|
});
|
|
298
|
+
let ownsProxyListener = false;
|
|
275
299
|
try {
|
|
276
300
|
await proxy.start();
|
|
301
|
+
ownsProxyListener = true;
|
|
277
302
|
proxySpinner.succeed(chalk.green(`Proxy listening on http://localhost:${proxyPort}`));
|
|
278
303
|
}
|
|
279
304
|
catch (err) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
305
|
+
if (isAddrInUseError(err) && await isPortReachable(proxyPort)) {
|
|
306
|
+
proxySpinner.succeed(chalk.yellow(`Proxy port ${proxyPort} already in use; reusing existing local proxy.`));
|
|
307
|
+
console.log(chalk.yellow('Proxy request logs will be emitted by the process that already owns this port.'));
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
proxySpinner.fail(chalk.red(`Failed to start proxy: ${err.message}`));
|
|
311
|
+
await node.stop();
|
|
312
|
+
process.exit(1);
|
|
313
|
+
}
|
|
283
314
|
}
|
|
284
315
|
const proxyUrl = `http://localhost:${proxyPort}`;
|
|
285
316
|
console.log('');
|
|
@@ -299,7 +330,9 @@ export function registerConnectCommand(program) {
|
|
|
299
330
|
console.log('');
|
|
300
331
|
setupShutdownHandler(async () => {
|
|
301
332
|
nodeSpinner.start('Shutting down...');
|
|
302
|
-
|
|
333
|
+
if (ownsProxyListener) {
|
|
334
|
+
await proxy.stop();
|
|
335
|
+
}
|
|
303
336
|
await node.stop();
|
|
304
337
|
nodeSpinner.succeed('Disconnected. All sessions finalized.');
|
|
305
338
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtH,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,2BAA2B,EAA8B,MAAM,2BAA2B,CAAA;AASnG,MAAM,UAAU,mCAAmC,CAAC,OAMnD;IACC,MAAM,SAAS,GAA0B,EAAE,CAAA;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAA;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,SAAS,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;IAC3D,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAChD,SAAS,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACjD,SAAS,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAA;IACnE,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,WAA2B;IAC9E,MAAM,UAAU,GAA2B;QACzC,sBAAsB,EAAE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC;QAC7D,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;KACjE,CAAA;IACD,IAAI,WAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,6BAA6B,CAAC,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,wBAA8C,EAC9C,kBAA2B;IAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACxD,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAClG,CAAC,CAAC,EAAE,CAAA;IAEN,oGAAoG;IACpG,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,CAAA;IAEhC,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,cAAc,GAAG,aAAa,IAAI,CAAC,KAAK,CAAC,kBAA4B,CAAC,EAAE,CAAA;QAC9E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAA;IAChE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAA;IAClE,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,SAAS,GAAG,IAAI;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;IAE/D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,EAAE;aACX,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,KAAK,CAAA;QAE9B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0B,CAAA;QAC7D,OAAO,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAA;QAClE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA+E,CAAA;QAC3G,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAA;gBAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC7C,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;IAC1D,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9E,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,MAAM,MAAM,GAAG,CAAC,SAAkB,EAAQ,EAAE;YAC1C,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,CAAC,OAAO,EAAE,CAAA;YAChB,OAAO,CAAC,SAAS,CAAC,CAAA;QACpB,CAAC,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACzC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACzE,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,sCAAsC,EAAE,8DAA8D,EAAE,UAAU,CAAC;SAC1H,MAAM,CAAC,uCAAuC,EAAE,+DAA+D,EAAE,UAAU,CAAC;SAC5H,MAAM,CAAC,iBAAiB,EAAE,4EAA4E,CAAC;SACvG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAElD,MAAM,YAAY,GAAG,OAAO,CAAC,IAA0B,CAAA;QACvD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;YAC3D,IAAI,EAAE,OAAO,CAAC,IAA0B;YACxC,qBAAqB,EAAE,OAAO,CAAC,qBAA2C;YAC1E,sBAAsB,EAAE,OAAO,CAAC,sBAA4C;SAC7E,CAAC,CAAA;QACF,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;YACvD,MAAM;YACN,cAAc,EAAE,gBAAgB;SACjC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAA;QACV,IAAI,SAAS,GAA4C,EAAE,CAAA;QAE3D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAA;gBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,UAAU,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAA;gBAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;YAC7E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACvD,MAAM,UAAU,GAAG,oCAAoC,CAAC,oBAAoB,CAAC,CAAA;gBAC7E,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAgC,CAAC,CAAA;gBAC7I,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;gBAChD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,WAAW,UAAU,CAAC,CAAC,CAAA;gBACrE,SAAS,GAAI,MAAc,CAAC,UAAU,IAAI,EAAE,CAAA;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;YAC3E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrD,MAAM,UAAU,GAAG,oCAAoC,CAAC,oBAAoB,CAAC,CAAA;gBAC7E,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;gBAClG,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;gBAChD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,WAAW,UAAU,CAAC,CAAC,CAAA;gBACrE,SAAS,GAAI,MAAc,CAAC,UAAU,IAAI,EAAE,CAAA;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;YACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC,CAAA;YACrG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,kBAAkB,EAAE,CAAA;QAC7C,MAAM,mBAAmB,GAAG,0BAA0B,CACpD,MAAM,CAAC,OAAO,EAAE,cAAc,EAC9B,UAAU,EAAE,OAAO,CACpB,CAAA;QACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAEjF,MAAM,WAAW,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAA;QAE/D,kEAAkE;QAClE,IAAI,cAA8C,CAAA;QAClD,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAA;QACpF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAA;QACtC,IAAI,iBAAiB,GAAG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;QAExD,IAAI,iBAAiB,IAAI,MAAM,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,iBAAiB,GAAG,KAAK,CAAA;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC,CAAA;YACjH,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;YAChC,cAAc,GAAG;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe,EAAE,MAAM,CAAC,qBAAqB;gBAC7C,WAAW,EAAE,MAAM,CAAC,mBAAmB;gBACvC,uBAAuB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAAC;oBAC1E,CAAC,CAAC,SAAS;gBACb,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;aACjD,CAAA;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,0BAA0B,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAC9I,CACF,CAAA;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,0CAA0C,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,YAAY,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAChL,CACF,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;QAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,YAAY,oBAAoB,CAAC,CAAC,CAAA;QAC/E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEf,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC;YAC3B,IAAI,EAAE,OAAO;YACb,cAAc;YACd,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAEtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAuB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,6DAA6D;QAC7D,IAAI,cAAc,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;gBAC9C,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC;oBACxC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;oBACrC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB;oBAC7D,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB;iBACxD,CAAC,CAAA;gBACF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;gBAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAA;gBAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAA;QAChD,MAAM,YAAY,GAAG,GAAG,CAAC,gCAAgC,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;QAEhF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;YAC3B,IAAI,EAAE,SAAS;YACf,IAAI;YACJ,YAAY;SACb,CAAC,CAAA;QACF,IAAI,iBAAiB,GAAG,KAAK,CAAA;QAE7B,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;YACnB,iBAAiB,GAAG,IAAI,CAAA;YACxB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC,CAAA;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,SAAS,gDAAgD,CAAC,CAAC,CAAA;gBAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gFAAgF,CAAC,CAAC,CAAA;YAC7G,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;gBAChF,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,oBAAoB,SAAS,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEf,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAChD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,QAAQ,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAA;YACpD,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEf,oBAAoB,CAAC,KAAK,IAAI,EAAE;YAC9B,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;YACrC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACjB,WAAW,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -39,16 +39,23 @@ export declare class BuyerProxy {
|
|
|
39
39
|
private readonly _pinnedPeerId;
|
|
40
40
|
private _cachedPeers;
|
|
41
41
|
private _cacheLastUpdatedAtMs;
|
|
42
|
+
private _peerRefreshPromise;
|
|
43
|
+
private _lastStaleCacheLogAtMs;
|
|
42
44
|
private _bgRefreshHandle;
|
|
45
|
+
private _lastSuccessfulPeerId;
|
|
46
|
+
private _lastSuccessfulPeerByRouteKey;
|
|
43
47
|
constructor(config: BuyerProxyConfig);
|
|
44
48
|
start(): Promise<void>;
|
|
45
49
|
stop(): Promise<void>;
|
|
46
50
|
private _startBackgroundRefresh;
|
|
47
|
-
private _mergePeers;
|
|
48
51
|
private _replacePeers;
|
|
49
52
|
private _evictPeer;
|
|
53
|
+
private _rememberSuccessfulPeer;
|
|
54
|
+
private _forgetSuccessfulPeer;
|
|
55
|
+
private _buildRouteKey;
|
|
50
56
|
private _readLocalSeederFallback;
|
|
51
57
|
private _discoverAndCachePeers;
|
|
58
|
+
private _refreshPeersNow;
|
|
52
59
|
private _getPeers;
|
|
53
60
|
private _formatPeerSelectionDiagnostics;
|
|
54
61
|
private _handleRequest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EAMT,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAG7B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,kGAAkG;IAClG,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA+BD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,QAAQ,EAAE,CAAA;IAC1B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACtD,CAAA;
|
|
1
|
+
{"version":3,"file":"buyer-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EAMT,MAAM,eAAe,CAAA;AACtB,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,uBAAuB,EAG7B,MAAM,wBAAwB,CAAA;AAE/B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,kGAAkG;IAClG,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,yGAAyG;IACzG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA+BD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,QAAQ,EAAE,CAAA;IAC1B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACtD,CAAA;AA2KD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,QAAQ,EAAE,EACjB,eAAe,EAAE,gBAAgB,GAAG,IAAI,EACxC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,2BAA2B,CAoB7B;AA0hBD;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAElD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,qBAAqB,CAAI;IACjC,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,sBAAsB,CAAI;IAClC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,6BAA6B,CAA4B;gBAErD,MAAM,EAAE,gBAAgB;IAiB9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,cAAc;YAwBR,wBAAwB;YAsDxB,sBAAsB;YAiBtB,gBAAgB;YAsBhB,SAAS;IA2BvB,OAAO,CAAC,+BAA+B;YAuBzB,cAAc;IA2U5B;;;;OAIG;YACW,eAAe;CAuP9B"}
|
|
@@ -10,6 +10,31 @@ function log(...args) {
|
|
|
10
10
|
if (DEBUG())
|
|
11
11
|
console.log('[proxy]', ...args);
|
|
12
12
|
}
|
|
13
|
+
const CLAUDE_PROVIDER_PREFERENCE = ['claude-oauth', 'anthropic', 'claude-code'];
|
|
14
|
+
function inferPreferredProvidersForRequest(requestProtocol, requestedModel) {
|
|
15
|
+
const model = requestedModel?.trim().toLowerCase() ?? '';
|
|
16
|
+
if (model.length === 0) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
const providers = [];
|
|
20
|
+
const pushProvider = (value) => {
|
|
21
|
+
const provider = value?.trim().toLowerCase();
|
|
22
|
+
if (!provider || provider.length === 0 || providers.includes(provider)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
providers.push(provider);
|
|
26
|
+
};
|
|
27
|
+
const slashIndex = model.indexOf('/');
|
|
28
|
+
if (slashIndex > 0) {
|
|
29
|
+
pushProvider(model.slice(0, slashIndex));
|
|
30
|
+
}
|
|
31
|
+
if (requestProtocol === 'anthropic-messages' || model.startsWith('claude-') || model.includes('claude')) {
|
|
32
|
+
for (const provider of CLAUDE_PROVIDER_PREFERENCE) {
|
|
33
|
+
pushProvider(provider);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return providers;
|
|
37
|
+
}
|
|
13
38
|
function getExplicitProviderOverride(request) {
|
|
14
39
|
const provider = request.headers['x-antseed-provider']?.trim().toLowerCase();
|
|
15
40
|
return provider && provider.length > 0 ? provider : null;
|
|
@@ -21,6 +46,13 @@ function getExplicitPeerIdOverride(request, sessionPinnedPeerId) {
|
|
|
21
46
|
return header;
|
|
22
47
|
return sessionPinnedPeerId?.toLowerCase() ?? null;
|
|
23
48
|
}
|
|
49
|
+
function getPreferredPeerIdHint(request) {
|
|
50
|
+
const header = request.headers['x-antseed-prefer-peer']?.trim().toLowerCase();
|
|
51
|
+
if (!header || header.length === 0) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return header;
|
|
55
|
+
}
|
|
24
56
|
function getPeerProviderProtocols(peer, provider, requestedModel) {
|
|
25
57
|
const fromMetadata = peer.providerModelApiProtocols?.[provider]?.models;
|
|
26
58
|
if (fromMetadata) {
|
|
@@ -28,14 +60,11 @@ function getPeerProviderProtocols(peer, provider, requestedModel) {
|
|
|
28
60
|
log(`Model match: peer ${peer.peerId.slice(0, 8)} provider=${provider} model="${requestedModel}" → [${fromMetadata[requestedModel].join(',')}]`);
|
|
29
61
|
return Array.from(new Set(fromMetadata[requestedModel]));
|
|
30
62
|
}
|
|
31
|
-
// If the peer advertises specific models and the requested model is not among them, return empty
|
|
32
|
-
// so this peer is filtered out in favour of peers that actually serve the model.
|
|
33
|
-
if (requestedModel && Object.keys(fromMetadata).length > 0) {
|
|
34
|
-
log(`Model filter: peer ${peer.peerId.slice(0, 8)} provider=${provider} model="${requestedModel}" not in [${Object.keys(fromMetadata).join(',')}] → filtered`);
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
63
|
const merged = Object.values(fromMetadata).flat();
|
|
38
64
|
if (merged.length > 0) {
|
|
65
|
+
if (requestedModel) {
|
|
66
|
+
log(`Model hint miss: peer ${peer.peerId.slice(0, 8)} provider=${provider} model="${requestedModel}" not in metadata; falling back to provider protocol set [${Array.from(new Set(merged)).join(',')}]`);
|
|
67
|
+
}
|
|
39
68
|
return Array.from(new Set(merged));
|
|
40
69
|
}
|
|
41
70
|
}
|
|
@@ -43,6 +72,24 @@ function getPeerProviderProtocols(peer, provider, requestedModel) {
|
|
|
43
72
|
log(`No metadata: peer ${peer.peerId.slice(0, 8)} provider=${provider} → inferred [${inferred.join(',')}]`);
|
|
44
73
|
return inferred;
|
|
45
74
|
}
|
|
75
|
+
function isProviderModelExplicitlyUnsupported(peer, provider, requestedModel) {
|
|
76
|
+
if (!requestedModel) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const modelMatrix = peer.providerModelApiProtocols?.[provider]?.models;
|
|
80
|
+
if (!modelMatrix) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const advertisedModels = Object.keys(modelMatrix);
|
|
84
|
+
if (advertisedModels.length === 0) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (Object.prototype.hasOwnProperty.call(modelMatrix, requestedModel)) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
log(`Model strict-miss: peer ${peer.peerId.slice(0, 8)} provider=${provider} does not advertise model="${requestedModel}"`);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
46
93
|
function resolvePeerRoutePlan(peer, requestProtocol, requestedModel, explicitProvider) {
|
|
47
94
|
const providers = peer.providers
|
|
48
95
|
.map((provider) => provider.trim().toLowerCase())
|
|
@@ -60,6 +107,9 @@ function resolvePeerRoutePlan(peer, requestProtocol, requestedModel, explicitPro
|
|
|
60
107
|
}
|
|
61
108
|
let transformedFallback = null;
|
|
62
109
|
for (const provider of candidates) {
|
|
110
|
+
if (!explicitProvider && isProviderModelExplicitlyUnsupported(peer, provider, requestedModel)) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
63
113
|
const supportedProtocols = getPeerProviderProtocols(peer, provider, requestedModel);
|
|
64
114
|
const selection = selectTargetProtocolForRequest(requestProtocol, supportedProtocols);
|
|
65
115
|
if (!selection) {
|
|
@@ -245,6 +295,162 @@ function extractRequestedModel(request) {
|
|
|
245
295
|
return null;
|
|
246
296
|
}
|
|
247
297
|
}
|
|
298
|
+
function decodeJsonBody(body) {
|
|
299
|
+
if (!body || body.length === 0) {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
try {
|
|
303
|
+
const parsed = JSON.parse(new TextDecoder().decode(body));
|
|
304
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
305
|
+
return null;
|
|
306
|
+
}
|
|
307
|
+
return parsed;
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
return null;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
function summarizeMessageShape(messagesRaw) {
|
|
314
|
+
if (!Array.isArray(messagesRaw)) {
|
|
315
|
+
return 'msgShape=none';
|
|
316
|
+
}
|
|
317
|
+
const roleCounts = new Map();
|
|
318
|
+
const contentKindCounts = new Map();
|
|
319
|
+
const blockTypeCounts = new Map();
|
|
320
|
+
let invalidMessages = 0;
|
|
321
|
+
let firstRole = 'none';
|
|
322
|
+
let lastRole = 'none';
|
|
323
|
+
const bump = (map, key) => {
|
|
324
|
+
map.set(key, (map.get(key) ?? 0) + 1);
|
|
325
|
+
};
|
|
326
|
+
for (const entry of messagesRaw) {
|
|
327
|
+
if (!entry || typeof entry !== 'object' || Array.isArray(entry)) {
|
|
328
|
+
invalidMessages += 1;
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
const message = entry;
|
|
332
|
+
const role = typeof message.role === 'string' && message.role.trim().length > 0
|
|
333
|
+
? message.role.trim().toLowerCase()
|
|
334
|
+
: 'invalid-role';
|
|
335
|
+
bump(roleCounts, role);
|
|
336
|
+
if (firstRole === 'none') {
|
|
337
|
+
firstRole = role;
|
|
338
|
+
}
|
|
339
|
+
lastRole = role;
|
|
340
|
+
const content = message.content;
|
|
341
|
+
if (typeof content === 'string') {
|
|
342
|
+
bump(contentKindCounts, 'string');
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
if (Array.isArray(content)) {
|
|
346
|
+
bump(contentKindCounts, 'array');
|
|
347
|
+
for (const block of content) {
|
|
348
|
+
if (!block || typeof block !== 'object' || Array.isArray(block)) {
|
|
349
|
+
bump(blockTypeCounts, 'invalid');
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
const blockType = typeof block.type === 'string'
|
|
353
|
+
? String(block.type).trim().toLowerCase()
|
|
354
|
+
: 'missing-type';
|
|
355
|
+
bump(blockTypeCounts, blockType || 'missing-type');
|
|
356
|
+
}
|
|
357
|
+
continue;
|
|
358
|
+
}
|
|
359
|
+
if (content && typeof content === 'object') {
|
|
360
|
+
bump(contentKindCounts, 'object');
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
363
|
+
bump(contentKindCounts, 'other');
|
|
364
|
+
}
|
|
365
|
+
const joinMap = (map) => ([...map.entries()]
|
|
366
|
+
.sort((left, right) => left[0].localeCompare(right[0]))
|
|
367
|
+
.map(([key, value]) => `${key}:${String(value)}`)
|
|
368
|
+
.join(','));
|
|
369
|
+
const roleSummary = joinMap(roleCounts) || 'none';
|
|
370
|
+
const contentSummary = joinMap(contentKindCounts) || 'none';
|
|
371
|
+
const blockSummary = joinMap(blockTypeCounts) || 'none';
|
|
372
|
+
return [
|
|
373
|
+
`msgShape=roles{${roleSummary}}`,
|
|
374
|
+
`content{${contentSummary}}`,
|
|
375
|
+
`blocks{${blockSummary}}`,
|
|
376
|
+
`firstRole=${firstRole}`,
|
|
377
|
+
`lastRole=${lastRole}`,
|
|
378
|
+
`invalidMsgs=${String(invalidMessages)}`,
|
|
379
|
+
].join(' ');
|
|
380
|
+
}
|
|
381
|
+
function summarizeRequestShape(request) {
|
|
382
|
+
const contentType = (request.headers['content-type'] ?? request.headers['Content-Type'] ?? '').toLowerCase();
|
|
383
|
+
const accept = (request.headers['accept'] ?? request.headers['Accept'] ?? '').toLowerCase();
|
|
384
|
+
const providerHeader = request.headers['x-antseed-provider'] ?? 'none';
|
|
385
|
+
const preferPeerHeader = request.headers['x-antseed-prefer-peer'] ?? 'none';
|
|
386
|
+
const model = extractRequestedModel(request) ?? 'none';
|
|
387
|
+
const wantsStreaming = requestWantsStreaming(request.headers, request.body);
|
|
388
|
+
const baseParts = [
|
|
389
|
+
`method=${request.method}`,
|
|
390
|
+
`path=${request.path}`,
|
|
391
|
+
`provider=${providerHeader}`,
|
|
392
|
+
`preferPeer=${preferPeerHeader}`,
|
|
393
|
+
`contentType=${contentType || 'none'}`,
|
|
394
|
+
`accept=${accept || 'none'}`,
|
|
395
|
+
`stream=${String(wantsStreaming)}`,
|
|
396
|
+
`model=${model}`,
|
|
397
|
+
`bodyBytes=${String(request.body.length)}`,
|
|
398
|
+
];
|
|
399
|
+
const jsonBody = decodeJsonBody(request.body);
|
|
400
|
+
if (!jsonBody) {
|
|
401
|
+
return baseParts.join(' ');
|
|
402
|
+
}
|
|
403
|
+
const messagesRaw = jsonBody.messages;
|
|
404
|
+
const toolsRaw = jsonBody.tools;
|
|
405
|
+
const messageCount = Array.isArray(messagesRaw) ? messagesRaw.length : 0;
|
|
406
|
+
const toolCount = Array.isArray(toolsRaw) ? toolsRaw.length : 0;
|
|
407
|
+
const maxTokens = Number(jsonBody.max_tokens ?? jsonBody.maxTokens);
|
|
408
|
+
const keys = Object.keys(jsonBody).sort().join(',');
|
|
409
|
+
baseParts.push(`messages=${String(messageCount)}`);
|
|
410
|
+
baseParts.push(`tools=${String(toolCount)}`);
|
|
411
|
+
if (Number.isFinite(maxTokens) && maxTokens > 0) {
|
|
412
|
+
baseParts.push(`maxTokens=${String(Math.floor(maxTokens))}`);
|
|
413
|
+
}
|
|
414
|
+
if (keys.length > 0) {
|
|
415
|
+
baseParts.push(`keys=[${keys}]`);
|
|
416
|
+
}
|
|
417
|
+
baseParts.push(summarizeMessageShape(messagesRaw));
|
|
418
|
+
return baseParts.join(' ');
|
|
419
|
+
}
|
|
420
|
+
function summarizeErrorResponse(response) {
|
|
421
|
+
const contentType = (response.headers['content-type'] ?? '').toLowerCase();
|
|
422
|
+
if (!response.body || response.body.length === 0) {
|
|
423
|
+
return 'empty response body';
|
|
424
|
+
}
|
|
425
|
+
const raw = new TextDecoder().decode(response.body).trim();
|
|
426
|
+
if (raw.length === 0) {
|
|
427
|
+
return 'empty response body';
|
|
428
|
+
}
|
|
429
|
+
if (contentType.includes('application/json')) {
|
|
430
|
+
try {
|
|
431
|
+
const parsed = JSON.parse(raw);
|
|
432
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
433
|
+
const object = parsed;
|
|
434
|
+
const nestedError = object.error && typeof object.error === 'object' && !Array.isArray(object.error)
|
|
435
|
+
? object.error
|
|
436
|
+
: null;
|
|
437
|
+
const message = ((typeof nestedError?.message === 'string' && nestedError.message)
|
|
438
|
+
|| (typeof object.message === 'string' && object.message)
|
|
439
|
+
|| (typeof object.detail === 'string' && object.detail));
|
|
440
|
+
if (message) {
|
|
441
|
+
return `message="${message}"`;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
// fall through to raw snippet
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
const compact = raw.replace(/\s+/g, ' ');
|
|
450
|
+
const maxChars = 280;
|
|
451
|
+
const snippet = compact.length > maxChars ? `${compact.slice(0, maxChars)}...` : compact;
|
|
452
|
+
return `body="${snippet}"`;
|
|
453
|
+
}
|
|
248
454
|
function toFiniteNumberOrNull(value) {
|
|
249
455
|
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
250
456
|
}
|
|
@@ -409,7 +615,11 @@ export class BuyerProxy {
|
|
|
409
615
|
_pinnedPeerId;
|
|
410
616
|
_cachedPeers = [];
|
|
411
617
|
_cacheLastUpdatedAtMs = 0;
|
|
618
|
+
_peerRefreshPromise = null;
|
|
619
|
+
_lastStaleCacheLogAtMs = 0;
|
|
412
620
|
_bgRefreshHandle = null;
|
|
621
|
+
_lastSuccessfulPeerId = null;
|
|
622
|
+
_lastSuccessfulPeerByRouteKey = new Map();
|
|
413
623
|
constructor(config) {
|
|
414
624
|
this._node = config.node;
|
|
415
625
|
this._port = config.port;
|
|
@@ -447,28 +657,11 @@ export class BuyerProxy {
|
|
|
447
657
|
}
|
|
448
658
|
_startBackgroundRefresh() {
|
|
449
659
|
this._bgRefreshHandle = setInterval(() => {
|
|
450
|
-
this.
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
454
|
-
}).catch(() => { });
|
|
660
|
+
void this._refreshPeersNow().catch(() => {
|
|
661
|
+
// background refresh failure is non-fatal
|
|
662
|
+
});
|
|
455
663
|
}, this._bgRefreshIntervalMs);
|
|
456
664
|
}
|
|
457
|
-
_mergePeers(incoming) {
|
|
458
|
-
const existing = new Map(this._cachedPeers.map((p) => [p.peerId, p]));
|
|
459
|
-
let added = 0;
|
|
460
|
-
for (const p of incoming) {
|
|
461
|
-
if (!existing.has(p.peerId)) {
|
|
462
|
-
existing.set(p.peerId, p);
|
|
463
|
-
added++;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
if (added > 0) {
|
|
467
|
-
this._cachedPeers = Array.from(existing.values());
|
|
468
|
-
this._cacheLastUpdatedAtMs = Date.now();
|
|
469
|
-
log(`[background] Merged ${added} new peer(s) into cache (total: ${this._cachedPeers.length})`);
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
665
|
_replacePeers(incoming) {
|
|
473
666
|
this._cachedPeers = incoming;
|
|
474
667
|
this._cacheLastUpdatedAtMs = Date.now();
|
|
@@ -481,6 +674,43 @@ export class BuyerProxy {
|
|
|
481
674
|
log(`Evicted failing peer ${peerId.slice(0, 12)}... from cache (${this._cachedPeers.length} remaining)`);
|
|
482
675
|
}
|
|
483
676
|
}
|
|
677
|
+
_rememberSuccessfulPeer(routeKey, peerId) {
|
|
678
|
+
this._lastSuccessfulPeerId = peerId;
|
|
679
|
+
this._lastSuccessfulPeerByRouteKey.set(routeKey, peerId);
|
|
680
|
+
// Keep map bounded to prevent unbounded growth from long-running sessions.
|
|
681
|
+
const MAX_ROUTE_HISTORY = 200;
|
|
682
|
+
if (this._lastSuccessfulPeerByRouteKey.size > MAX_ROUTE_HISTORY) {
|
|
683
|
+
const oldestKey = this._lastSuccessfulPeerByRouteKey.keys().next().value;
|
|
684
|
+
if (typeof oldestKey === 'string') {
|
|
685
|
+
this._lastSuccessfulPeerByRouteKey.delete(oldestKey);
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
_forgetSuccessfulPeer(routeKey, peerId) {
|
|
690
|
+
const rememberedForRoute = this._lastSuccessfulPeerByRouteKey.get(routeKey);
|
|
691
|
+
if (rememberedForRoute === peerId) {
|
|
692
|
+
this._lastSuccessfulPeerByRouteKey.delete(routeKey);
|
|
693
|
+
}
|
|
694
|
+
if (this._lastSuccessfulPeerId === peerId) {
|
|
695
|
+
this._lastSuccessfulPeerId = null;
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
_buildRouteKey(path, requestProtocol, requestedModel, explicitProvider) {
|
|
699
|
+
const normalizedPath = path.split('?')[0]?.trim().toLowerCase() ?? '/';
|
|
700
|
+
const pathGroup = (normalizedPath.startsWith('/v1/messages')
|
|
701
|
+
? '/v1/messages'
|
|
702
|
+
: normalizedPath.startsWith('/v1/chat/completions')
|
|
703
|
+
? '/v1/chat/completions'
|
|
704
|
+
: normalizedPath.startsWith('/v1/models')
|
|
705
|
+
? '/v1/models'
|
|
706
|
+
: normalizedPath);
|
|
707
|
+
return [
|
|
708
|
+
pathGroup,
|
|
709
|
+
requestProtocol ?? 'unknown-protocol',
|
|
710
|
+
requestedModel ?? 'unknown-model',
|
|
711
|
+
explicitProvider ?? 'auto-provider',
|
|
712
|
+
].join('|');
|
|
713
|
+
}
|
|
484
714
|
async _readLocalSeederFallback() {
|
|
485
715
|
try {
|
|
486
716
|
const raw = await readFile(DAEMON_STATE_FILE, 'utf-8');
|
|
@@ -539,29 +769,46 @@ export class BuyerProxy {
|
|
|
539
769
|
}
|
|
540
770
|
return peers;
|
|
541
771
|
}
|
|
772
|
+
async _refreshPeersNow() {
|
|
773
|
+
if (this._peerRefreshPromise) {
|
|
774
|
+
return this._peerRefreshPromise;
|
|
775
|
+
}
|
|
776
|
+
const previousCachedPeers = this._cachedPeers;
|
|
777
|
+
this._peerRefreshPromise = (async () => {
|
|
778
|
+
const peers = await this._discoverAndCachePeers();
|
|
779
|
+
if (peers.length === 0 && previousCachedPeers.length > 0) {
|
|
780
|
+
// Preserve stale cache as fallback when discovery transiently fails.
|
|
781
|
+
log('Discovery returned 0 peers; keeping previous cached peers as fallback.');
|
|
782
|
+
this._replacePeers(previousCachedPeers);
|
|
783
|
+
return previousCachedPeers;
|
|
784
|
+
}
|
|
785
|
+
return peers;
|
|
786
|
+
})().finally(() => {
|
|
787
|
+
this._peerRefreshPromise = null;
|
|
788
|
+
});
|
|
789
|
+
return this._peerRefreshPromise;
|
|
790
|
+
}
|
|
542
791
|
async _getPeers(options) {
|
|
543
792
|
const forceRefresh = options?.forceRefresh === true;
|
|
544
793
|
const cacheAgeMs = Date.now() - this._cacheLastUpdatedAtMs;
|
|
545
794
|
const cacheFresh = this._cacheLastUpdatedAtMs > 0 && cacheAgeMs <= this._peerCacheTtlMs;
|
|
546
|
-
|
|
547
|
-
if (!forceRefresh && this._cachedPeers.length > 0 && cacheFresh) {
|
|
548
|
-
return this._cachedPeers;
|
|
549
|
-
}
|
|
550
|
-
// Cache is empty, stale, or a forced refresh was requested.
|
|
551
|
-
if (!forceRefresh && this._cachedPeers.length > 0) {
|
|
552
|
-
log(`Peer cache stale (${cacheAgeMs}ms old); refreshing before routing.`);
|
|
553
|
-
}
|
|
554
|
-
else if (forceRefresh) {
|
|
795
|
+
if (forceRefresh) {
|
|
555
796
|
log('Forcing peer refresh before routing.');
|
|
797
|
+
return this._refreshPeersNow();
|
|
556
798
|
}
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
799
|
+
if (this._cachedPeers.length > 0) {
|
|
800
|
+
if (cacheFresh) {
|
|
801
|
+
return this._cachedPeers;
|
|
802
|
+
}
|
|
803
|
+
const now = Date.now();
|
|
804
|
+
if (now - this._lastStaleCacheLogAtMs >= 10_000) {
|
|
805
|
+
this._lastStaleCacheLogAtMs = now;
|
|
806
|
+
log(`Peer cache stale (${cacheAgeMs}ms old); routing from cached peers.`);
|
|
807
|
+
}
|
|
808
|
+
return this._cachedPeers;
|
|
563
809
|
}
|
|
564
|
-
|
|
810
|
+
// No cached peers yet — block on initial discovery.
|
|
811
|
+
return this._refreshPeersNow();
|
|
565
812
|
}
|
|
566
813
|
_formatPeerSelectionDiagnostics(peers) {
|
|
567
814
|
if (peers.length === 0) {
|
|
@@ -611,6 +858,20 @@ export class BuyerProxy {
|
|
|
611
858
|
headers,
|
|
612
859
|
body: new Uint8Array(body),
|
|
613
860
|
};
|
|
861
|
+
const clientAbortController = new AbortController();
|
|
862
|
+
const onClientAbort = () => {
|
|
863
|
+
if (clientAbortController.signal.aborted) {
|
|
864
|
+
return;
|
|
865
|
+
}
|
|
866
|
+
clientAbortController.abort();
|
|
867
|
+
log(`Client disconnected; aborting upstream request reqId=${serializedReq.requestId.slice(0, 8)}`);
|
|
868
|
+
};
|
|
869
|
+
req.once('aborted', onClientAbort);
|
|
870
|
+
res.once('close', () => {
|
|
871
|
+
if (!res.writableEnded) {
|
|
872
|
+
onClientAbort();
|
|
873
|
+
}
|
|
874
|
+
});
|
|
614
875
|
// Discover peers
|
|
615
876
|
const peers = await this._getPeers();
|
|
616
877
|
if (peers.length === 0) {
|
|
@@ -624,6 +885,9 @@ export class BuyerProxy {
|
|
|
624
885
|
log(`Routing: protocol=${requestProtocol ?? 'null'} model=${requestedModel ?? 'null'}`);
|
|
625
886
|
const explicitProvider = getExplicitProviderOverride(serializedReq);
|
|
626
887
|
const explicitPeerId = getExplicitPeerIdOverride(serializedReq, this._pinnedPeerId);
|
|
888
|
+
const preferredPeerId = getPreferredPeerIdHint(serializedReq);
|
|
889
|
+
log(`Routing hints: provider=${explicitProvider ?? 'auto'} pin-peer=${explicitPeerId ?? 'none'} prefer-peer=${preferredPeerId ?? 'none'}`);
|
|
890
|
+
const routeKey = this._buildRouteKey(serializedReq.path, requestProtocol, requestedModel, explicitProvider);
|
|
627
891
|
const { candidatePeers, routePlanByPeerId, } = selectCandidatePeersForRouting(peers, requestProtocol, requestedModel, explicitProvider);
|
|
628
892
|
let routingPeers = candidatePeers;
|
|
629
893
|
let routingPlans = routePlanByPeerId;
|
|
@@ -648,9 +912,10 @@ export class BuyerProxy {
|
|
|
648
912
|
}
|
|
649
913
|
return;
|
|
650
914
|
}
|
|
915
|
+
log(`Routing candidates: ${routingPeers.length} peer(s)`);
|
|
651
916
|
// Select peer: explicit pin bypasses the router (and retry)
|
|
652
917
|
const router = this._node.router;
|
|
653
|
-
const RETRYABLE_STATUS_CODES = new Set([
|
|
918
|
+
const RETRYABLE_STATUS_CODES = new Set([408, 429, 500, 502, 503, 504]);
|
|
654
919
|
if (explicitPeerId) {
|
|
655
920
|
let pinnedRoutingPeers = routingPeers;
|
|
656
921
|
let pinnedRoutePlans = routingPlans;
|
|
@@ -678,8 +943,9 @@ export class BuyerProxy {
|
|
|
678
943
|
return;
|
|
679
944
|
}
|
|
680
945
|
log(`Using pinned peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
681
|
-
const result = await this._dispatchToPeer(res, serializedReq, selectedPeer, pinnedRoutePlans, requestProtocol, requestedModel, explicitProvider, router, RETRYABLE_STATUS_CODES);
|
|
946
|
+
const result = await this._dispatchToPeer(res, serializedReq, selectedPeer, routeKey, pinnedRoutePlans, requestProtocol, requestedModel, explicitProvider, router, RETRYABLE_STATUS_CODES, clientAbortController.signal);
|
|
682
947
|
if (!result.done) {
|
|
948
|
+
this._forgetSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
683
949
|
// Pinned peer returned a retryable error, but we don't retry — send error to client
|
|
684
950
|
res.writeHead(result.statusCode, result.responseHeaders);
|
|
685
951
|
res.end(result.responseBody);
|
|
@@ -689,16 +955,80 @@ export class BuyerProxy {
|
|
|
689
955
|
// Non-pinned: retry with failover on provider errors
|
|
690
956
|
const MAX_ATTEMPTS = 3;
|
|
691
957
|
const triedPeerIds = new Set();
|
|
958
|
+
const preferredProviders = explicitProvider
|
|
959
|
+
? []
|
|
960
|
+
: inferPreferredProvidersForRequest(requestProtocol, requestedModel);
|
|
961
|
+
const hasPreferredProviderCandidate = preferredProviders.length > 0
|
|
962
|
+
&& routingPeers.some((peer) => {
|
|
963
|
+
const provider = routingPlans.get(peer.peerId)?.provider?.trim().toLowerCase();
|
|
964
|
+
return Boolean(provider && preferredProviders.includes(provider));
|
|
965
|
+
});
|
|
966
|
+
const restrictFailoverToPreferredProviders = preferredProviders.length > 0 && hasPreferredProviderCandidate;
|
|
967
|
+
if (restrictFailoverToPreferredProviders) {
|
|
968
|
+
log(`Provider-family failover lock active: [${preferredProviders.join(',')}]`);
|
|
969
|
+
}
|
|
692
970
|
let lastStatusCode = 502;
|
|
693
971
|
let lastResponseBody = null;
|
|
694
972
|
let lastResponseHeaders = { 'content-type': 'text/plain' };
|
|
695
973
|
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
|
|
696
|
-
const availableCandidates = routingPeers.filter((
|
|
974
|
+
const availableCandidates = routingPeers.filter((peer) => {
|
|
975
|
+
if (triedPeerIds.has(peer.peerId)) {
|
|
976
|
+
return false;
|
|
977
|
+
}
|
|
978
|
+
if (!restrictFailoverToPreferredProviders) {
|
|
979
|
+
return true;
|
|
980
|
+
}
|
|
981
|
+
const provider = routingPlans.get(peer.peerId)?.provider?.trim().toLowerCase();
|
|
982
|
+
return Boolean(provider && preferredProviders.includes(provider));
|
|
983
|
+
});
|
|
697
984
|
if (availableCandidates.length === 0)
|
|
698
985
|
break;
|
|
699
986
|
let selectedPeer = null;
|
|
700
|
-
// Prefer
|
|
987
|
+
// Prefer a recently successful peer for the same request route.
|
|
701
988
|
if (attempt === 0) {
|
|
989
|
+
const routePreferredPeerId = this._lastSuccessfulPeerByRouteKey.get(routeKey);
|
|
990
|
+
if (routePreferredPeerId) {
|
|
991
|
+
const remembered = availableCandidates.find((peer) => peer.peerId === routePreferredPeerId) ?? null;
|
|
992
|
+
if (remembered) {
|
|
993
|
+
selectedPeer = remembered;
|
|
994
|
+
log(`Reusing last successful route peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
// Fallback to the latest globally successful peer.
|
|
999
|
+
if (!selectedPeer && attempt === 0 && this._lastSuccessfulPeerId && !requestedModel) {
|
|
1000
|
+
const remembered = availableCandidates.find((peer) => peer.peerId === this._lastSuccessfulPeerId) ?? null;
|
|
1001
|
+
if (remembered) {
|
|
1002
|
+
selectedPeer = remembered;
|
|
1003
|
+
log(`Reusing last successful peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
// Soft peer affinity: try caller-preferred peer first, but allow normal fallback.
|
|
1007
|
+
if (!selectedPeer && attempt === 0 && preferredPeerId) {
|
|
1008
|
+
const preferred = availableCandidates.find((peer) => peer.peerId.toLowerCase() === preferredPeerId) ?? null;
|
|
1009
|
+
if (preferred) {
|
|
1010
|
+
selectedPeer = preferred;
|
|
1011
|
+
log(`Preferring requested peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
// Strongly prefer providers that match the requested model family (e.g. claude-* -> claude/anthropic providers).
|
|
1015
|
+
if (!selectedPeer && attempt === 0 && preferredProviders.length > 0) {
|
|
1016
|
+
const providerMatchedPeers = availableCandidates.filter((peer) => {
|
|
1017
|
+
const plannedProvider = routingPlans.get(peer.peerId)?.provider?.trim().toLowerCase();
|
|
1018
|
+
return plannedProvider ? preferredProviders.includes(plannedProvider) : false;
|
|
1019
|
+
});
|
|
1020
|
+
if (providerMatchedPeers.length > 0) {
|
|
1021
|
+
selectedPeer = router
|
|
1022
|
+
? router.selectPeer(serializedReq, providerMatchedPeers)
|
|
1023
|
+
: providerMatchedPeers[0] ?? null;
|
|
1024
|
+
if (selectedPeer) {
|
|
1025
|
+
const plannedProvider = routingPlans.get(selectedPeer.peerId)?.provider ?? 'unknown';
|
|
1026
|
+
log(`Preferring model-matched provider "${plannedProvider}" for model "${requestedModel ?? 'unknown'}"`);
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
// Prefer local peers on first attempt
|
|
1031
|
+
if (!selectedPeer && attempt === 0) {
|
|
702
1032
|
const localPeers = availableCandidates.filter((peer) => isLoopbackPeer(peer));
|
|
703
1033
|
if (localPeers.length > 0) {
|
|
704
1034
|
selectedPeer = router
|
|
@@ -709,6 +1039,26 @@ export class BuyerProxy {
|
|
|
709
1039
|
}
|
|
710
1040
|
}
|
|
711
1041
|
}
|
|
1042
|
+
// Prefer peers that can serve the request protocol directly without adapter transform.
|
|
1043
|
+
if (!selectedPeer && requestProtocol === 'anthropic-messages') {
|
|
1044
|
+
const shouldPreferDirect = !requestedModel || /claude|anthropic/i.test(requestedModel);
|
|
1045
|
+
if (shouldPreferDirect) {
|
|
1046
|
+
const directPeers = availableCandidates.filter((peer) => {
|
|
1047
|
+
const plan = routingPlans.get(peer.peerId);
|
|
1048
|
+
if (!plan)
|
|
1049
|
+
return false;
|
|
1050
|
+
return !plan.selection || !plan.selection.requiresTransform;
|
|
1051
|
+
});
|
|
1052
|
+
if (directPeers.length > 0) {
|
|
1053
|
+
selectedPeer = router
|
|
1054
|
+
? router.selectPeer(serializedReq, directPeers)
|
|
1055
|
+
: directPeers[0] ?? null;
|
|
1056
|
+
if (selectedPeer) {
|
|
1057
|
+
log(`Preferring direct protocol peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
712
1062
|
if (!selectedPeer) {
|
|
713
1063
|
selectedPeer = router
|
|
714
1064
|
? router.selectPeer(serializedReq, availableCandidates)
|
|
@@ -717,9 +1067,10 @@ export class BuyerProxy {
|
|
|
717
1067
|
if (!selectedPeer)
|
|
718
1068
|
break;
|
|
719
1069
|
triedPeerIds.add(selectedPeer.peerId);
|
|
720
|
-
const result = await this._dispatchToPeer(res, serializedReq, selectedPeer,
|
|
1070
|
+
const result = await this._dispatchToPeer(res, serializedReq, selectedPeer, routeKey, routingPlans, requestProtocol, requestedModel, explicitProvider, router, RETRYABLE_STATUS_CODES, clientAbortController.signal);
|
|
721
1071
|
if (result.done)
|
|
722
1072
|
return;
|
|
1073
|
+
this._forgetSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
723
1074
|
// Request failed with a retryable error — try another peer
|
|
724
1075
|
lastStatusCode = result.statusCode;
|
|
725
1076
|
lastResponseBody = result.responseBody;
|
|
@@ -748,13 +1099,13 @@ export class BuyerProxy {
|
|
|
748
1099
|
* was sent to the client (success or non-retryable error), or retry info if the
|
|
749
1100
|
* caller should try another peer.
|
|
750
1101
|
*/
|
|
751
|
-
async _dispatchToPeer(res, serializedReq, selectedPeer, routePlanByPeerId, requestProtocol, requestedModel, explicitProvider, router, retryableStatusCodes) {
|
|
1102
|
+
async _dispatchToPeer(res, serializedReq, selectedPeer, routeKey, routePlanByPeerId, requestProtocol, requestedModel, explicitProvider, router, retryableStatusCodes, requestSignal) {
|
|
752
1103
|
const selectedRoutePlan = routePlanByPeerId.get(selectedPeer.peerId)
|
|
753
1104
|
?? resolvePeerRoutePlan(selectedPeer, requestProtocol, requestedModel, explicitProvider);
|
|
754
1105
|
if (!selectedRoutePlan) {
|
|
755
1106
|
return { done: false, statusCode: 502, responseBody: Buffer.from('No compatible provider route'), responseHeaders: { 'content-type': 'text/plain' }, errorMessage: null };
|
|
756
1107
|
}
|
|
757
|
-
const { 'x-antseed-pin-peer': _pinPeer, ...headersForPeer } = serializedReq.headers;
|
|
1108
|
+
const { 'x-antseed-pin-peer': _pinPeer, 'x-antseed-prefer-peer': _preferPeer, ...headersForPeer } = serializedReq.headers;
|
|
758
1109
|
let requestForPeer = {
|
|
759
1110
|
...serializedReq,
|
|
760
1111
|
headers: {
|
|
@@ -793,6 +1144,7 @@ export class BuyerProxy {
|
|
|
793
1144
|
return { done: true };
|
|
794
1145
|
}
|
|
795
1146
|
}
|
|
1147
|
+
log(`Outbound request shape: ${summarizeRequestShape(requestForPeer)}`);
|
|
796
1148
|
log(`Routing to peer ${selectedPeer.peerId.slice(0, 12)}...`);
|
|
797
1149
|
// Forward through P2P
|
|
798
1150
|
const wantsStreaming = !forceDisableUpstreamStreaming
|
|
@@ -824,9 +1176,12 @@ export class BuyerProxy {
|
|
|
824
1176
|
res.write(Buffer.from(chunk.data));
|
|
825
1177
|
}
|
|
826
1178
|
},
|
|
827
|
-
});
|
|
1179
|
+
}, { signal: requestSignal });
|
|
828
1180
|
const latencyMs = Date.now() - startTime;
|
|
829
1181
|
log(`Response: ${response.statusCode} (${latencyMs}ms, ${response.body.length} bytes)`);
|
|
1182
|
+
if (response.statusCode >= 400) {
|
|
1183
|
+
log(`Upstream error detail: ${summarizeErrorResponse(response)}`);
|
|
1184
|
+
}
|
|
830
1185
|
const telemetry = computeResponseTelemetry(requestForPeer, response.headers, response.body, selectedPeer);
|
|
831
1186
|
if (router) {
|
|
832
1187
|
router.onResult(selectedPeer, {
|
|
@@ -837,6 +1192,9 @@ export class BuyerProxy {
|
|
|
837
1192
|
}
|
|
838
1193
|
if (streamed) {
|
|
839
1194
|
// Headers already sent to client, can't retry
|
|
1195
|
+
if (response.statusCode >= 200 && response.statusCode < 400) {
|
|
1196
|
+
this._rememberSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
1197
|
+
}
|
|
840
1198
|
if (!res.writableEnded) {
|
|
841
1199
|
res.end();
|
|
842
1200
|
}
|
|
@@ -847,17 +1205,27 @@ export class BuyerProxy {
|
|
|
847
1205
|
if (retryableStatusCodes.has(response.statusCode)) {
|
|
848
1206
|
return { done: false, statusCode: response.statusCode, responseBody: Buffer.from(response.body), responseHeaders, errorMessage: null };
|
|
849
1207
|
}
|
|
1208
|
+
if (response.statusCode >= 200 && response.statusCode < 400) {
|
|
1209
|
+
this._rememberSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
1210
|
+
}
|
|
850
1211
|
res.writeHead(response.statusCode, responseHeaders);
|
|
851
1212
|
res.end(Buffer.from(response.body));
|
|
852
1213
|
return { done: true };
|
|
853
1214
|
}
|
|
854
1215
|
else {
|
|
855
|
-
|
|
1216
|
+
const upstreamResponse = await this._node.sendRequest(selectedPeer, requestForPeer, { signal: requestSignal });
|
|
1217
|
+
if (upstreamResponse.statusCode >= 400) {
|
|
1218
|
+
log(`Upstream raw error detail: ${summarizeErrorResponse(upstreamResponse)}`);
|
|
1219
|
+
}
|
|
1220
|
+
let response = upstreamResponse;
|
|
856
1221
|
if (adaptResponse) {
|
|
857
1222
|
response = adaptResponse(response);
|
|
858
1223
|
}
|
|
859
1224
|
const latencyMs = Date.now() - startTime;
|
|
860
1225
|
log(`Response: ${response.statusCode} (${latencyMs}ms, ${response.body.length} bytes)`);
|
|
1226
|
+
if (response.statusCode >= 400) {
|
|
1227
|
+
log(`Upstream error detail: ${summarizeErrorResponse(response)}`);
|
|
1228
|
+
}
|
|
861
1229
|
const telemetry = computeResponseTelemetry(requestForPeer, response.headers, response.body, selectedPeer);
|
|
862
1230
|
const responseHeaders = attachAntseedTelemetryHeaders(response.headers, selectedPeer, telemetry, requestForPeer.requestId, latencyMs);
|
|
863
1231
|
// Report result to router for learning
|
|
@@ -872,6 +1240,9 @@ export class BuyerProxy {
|
|
|
872
1240
|
if (retryableStatusCodes.has(response.statusCode)) {
|
|
873
1241
|
return { done: false, statusCode: response.statusCode, responseBody: Buffer.from(response.body), responseHeaders, errorMessage: null };
|
|
874
1242
|
}
|
|
1243
|
+
if (response.statusCode >= 200 && response.statusCode < 400) {
|
|
1244
|
+
this._rememberSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
1245
|
+
}
|
|
875
1246
|
// Forward response headers and body to the HTTP client
|
|
876
1247
|
res.writeHead(response.statusCode, responseHeaders);
|
|
877
1248
|
res.end(Buffer.from(response.body));
|
|
@@ -881,7 +1252,18 @@ export class BuyerProxy {
|
|
|
881
1252
|
catch (err) {
|
|
882
1253
|
const latencyMs = Date.now() - startTime;
|
|
883
1254
|
const message = err instanceof Error ? err.message : String(err);
|
|
1255
|
+
const abortedLocally = requestSignal.aborted || /\baborted\b/i.test(message);
|
|
884
1256
|
log(`Request failed after ${latencyMs}ms: ${message}`);
|
|
1257
|
+
if (abortedLocally) {
|
|
1258
|
+
log(`Request ${requestForPeer.requestId.slice(0, 8)} aborted locally; skipping retry, router penalty, and peer eviction.`);
|
|
1259
|
+
if (res.headersSent) {
|
|
1260
|
+
if (!res.writableEnded) {
|
|
1261
|
+
res.end();
|
|
1262
|
+
}
|
|
1263
|
+
return { done: true };
|
|
1264
|
+
}
|
|
1265
|
+
return { done: true };
|
|
1266
|
+
}
|
|
885
1267
|
if (router) {
|
|
886
1268
|
router.onResult(selectedPeer, {
|
|
887
1269
|
success: false,
|
|
@@ -889,8 +1271,18 @@ export class BuyerProxy {
|
|
|
889
1271
|
tokens: 0,
|
|
890
1272
|
});
|
|
891
1273
|
}
|
|
892
|
-
//
|
|
893
|
-
|
|
1274
|
+
// Avoid poisoning routing cache from control-plane model enumeration failures.
|
|
1275
|
+
// Some peers can time out on /v1/models while still serving inference paths.
|
|
1276
|
+
const normalizedPath = requestForPeer.path.toLowerCase();
|
|
1277
|
+
const isControlPlaneModelsRequest = normalizedPath.startsWith('/v1/models');
|
|
1278
|
+
if (isControlPlaneModelsRequest) {
|
|
1279
|
+
log(`Skipping peer eviction for control-plane failure on ${requestForPeer.path}`);
|
|
1280
|
+
}
|
|
1281
|
+
else {
|
|
1282
|
+
// Evict only the failing peer — others remain usable.
|
|
1283
|
+
this._evictPeer(selectedPeer.peerId);
|
|
1284
|
+
}
|
|
1285
|
+
this._forgetSuccessfulPeer(routeKey, selectedPeer.peerId);
|
|
894
1286
|
if (res.headersSent) {
|
|
895
1287
|
// Headers already sent (streaming), can't retry
|
|
896
1288
|
if (!res.writableEnded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer-proxy.js","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buyer-proxy.js","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,4 +38,32 @@ test('selectCandidatePeersForRouting keeps all peers when no protocol or provide
|
|
|
38
38
|
assert.deepEqual(result.candidatePeers.map((peer) => peer.peerId), peers.map((peer) => peer.peerId));
|
|
39
39
|
assert.equal(result.routePlanByPeerId.size, 0);
|
|
40
40
|
});
|
|
41
|
+
test('selectCandidatePeersForRouting excludes providers that explicitly do not advertise requested model', () => {
|
|
42
|
+
const openAiPeer = makePeer('a', ['openai']);
|
|
43
|
+
openAiPeer.providerModelApiProtocols = {
|
|
44
|
+
openai: {
|
|
45
|
+
models: {
|
|
46
|
+
'gpt-4o': ['openai-chat-completions'],
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
const claudePeer = makePeer('b', ['claude-oauth']);
|
|
51
|
+
claudePeer.providerModelApiProtocols = {
|
|
52
|
+
'claude-oauth': {
|
|
53
|
+
models: {
|
|
54
|
+
'claude-opus-4-6': ['anthropic-messages'],
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const result = selectCandidatePeersForRouting([openAiPeer, claudePeer], 'anthropic-messages', 'claude-opus-4-6', null);
|
|
59
|
+
assert.equal(result.candidatePeers.length, 1);
|
|
60
|
+
assert.equal(result.candidatePeers[0]?.peerId, claudePeer.peerId);
|
|
61
|
+
assert.equal(result.routePlanByPeerId.get(claudePeer.peerId)?.provider, 'claude-oauth');
|
|
62
|
+
});
|
|
63
|
+
test('selectCandidatePeersForRouting can still include peers without model protocol metadata', () => {
|
|
64
|
+
const peerWithoutMetadata = makePeer('a', ['openai']);
|
|
65
|
+
const result = selectCandidatePeersForRouting([peerWithoutMetadata], 'openai-chat-completions', 'gpt-4o', null);
|
|
66
|
+
assert.equal(result.candidatePeers.length, 1);
|
|
67
|
+
assert.equal(result.candidatePeers[0]?.peerId, peerWithoutMetadata.peerId);
|
|
68
|
+
});
|
|
41
69
|
//# sourceMappingURL=buyer-proxy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer-proxy.test.js","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAEjE,SAAS,QAAQ,CAAC,IAAY,EAAE,SAAmB;IACjD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChE,OAAO;QACL,MAAM,EAAE,QAA8B;QACtC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;QACpB,SAAS;KACV,CAAA;AACH,CAAC;AAED,IAAI,CAAC,mGAAmG,EAAE,GAAG,EAAE;IAC7G,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;KAC1B,CAAA;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAChF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AAC/E,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,4FAA4F,EAAE,GAAG,EAAE;IACtG,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;KAC7B,CAAA;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,6FAA6F,EAAE,GAAG,EAAE;IACvG,MAAM,KAAK,GAAG;QACZ,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;KAC1B,CAAA;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACtE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"buyer-proxy.test.js","sourceRoot":"","sources":["../../src/proxy/buyer-proxy.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antseed/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "Antseed Network CLI and Web Dashboard",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"dotenv": "^16.6.1",
|
|
20
20
|
"open": "^11.0.0",
|
|
21
21
|
"ora": "^9.3.0",
|
|
22
|
-
"@antseed/dashboard": "0.1.4",
|
|
23
22
|
"@antseed/provider-core": "0.2.3",
|
|
24
|
-
"@antseed/
|
|
23
|
+
"@antseed/dashboard": "0.1.4",
|
|
24
|
+
"@antseed/node": "0.2.5"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^20.11.0",
|