@tongateway/mcp 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -109,12 +109,20 @@ server.tool('get_auth_token', 'Complete authentication after the user opened the
|
|
|
109
109
|
authId: z.string().describe('The authId returned by request_auth'),
|
|
110
110
|
}, async ({ authId }) => {
|
|
111
111
|
try {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
// Retry up to 3 times with 2s delay (KV eventual consistency)
|
|
113
|
+
let data = null;
|
|
114
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
115
|
+
const result = await fetch(`${API_URL}/v1/auth/check/${authId}`, {
|
|
116
|
+
headers: { 'Content-Type': 'application/json' },
|
|
117
|
+
});
|
|
118
|
+
data = await result.json();
|
|
119
|
+
if (!result.ok)
|
|
120
|
+
throw new Error(data.error ?? 'Failed');
|
|
121
|
+
if (data.status === 'completed')
|
|
122
|
+
break;
|
|
123
|
+
if (attempt < 2)
|
|
124
|
+
await new Promise(r => setTimeout(r, 2000));
|
|
125
|
+
}
|
|
118
126
|
if (data.status === 'pending') {
|
|
119
127
|
return {
|
|
120
128
|
content: [
|
|
@@ -124,7 +132,7 @@ server.tool('get_auth_token', 'Complete authentication after the user opened the
|
|
|
124
132
|
`Authentication still pending.`,
|
|
125
133
|
`The user has not connected their wallet yet.`,
|
|
126
134
|
``,
|
|
127
|
-
`Wait a moment and
|
|
135
|
+
`Wait a moment and call get_auth_token again.`,
|
|
128
136
|
].join('\n'),
|
|
129
137
|
},
|
|
130
138
|
],
|