integrate-sdk 0.8.59-dev.0 → 0.8.61-dev.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/adapters/auto-routes.js +226 -32
- package/dist/adapters/index.js +223 -29
- package/dist/adapters/nextjs.js +223 -29
- package/dist/adapters/node.js +223 -29
- package/dist/adapters/svelte-kit.js +223 -29
- package/dist/adapters/tanstack-start.js +223 -29
- package/dist/index.js +223 -23
- package/dist/oauth.js +217 -23
- package/dist/server.js +210 -16
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/airtable-client.d.ts +210 -0
- package/dist/src/integrations/airtable-client.d.ts.map +1 -1
- package/dist/src/integrations/airtable.d.ts +2 -2
- package/dist/src/integrations/airtable.d.ts.map +1 -1
- package/dist/src/integrations/calcom-client.d.ts +334 -0
- package/dist/src/integrations/calcom-client.d.ts.map +1 -1
- package/dist/src/integrations/calcom.d.ts +2 -2
- package/dist/src/integrations/calcom.d.ts.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/triggers/index.d.ts +4 -2
- package/dist/src/triggers/index.d.ts.map +1 -1
- package/dist/src/triggers/types.d.ts +109 -0
- package/dist/src/triggers/types.d.ts.map +1 -1
- package/dist/src/triggers/utils.d.ts +20 -0
- package/dist/src/triggers/utils.d.ts.map +1 -1
- package/dist/src/triggers/webhooks.d.ts +28 -0
- package/dist/src/triggers/webhooks.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/oauth.js
CHANGED
|
@@ -3268,7 +3268,15 @@ function airtableIntegration(config = {}) {
|
|
|
3268
3268
|
provider: "airtable",
|
|
3269
3269
|
clientId: config.clientId ?? getEnv("AIRTABLE_CLIENT_ID"),
|
|
3270
3270
|
clientSecret: config.clientSecret ?? getEnv("AIRTABLE_CLIENT_SECRET"),
|
|
3271
|
-
scopes: config.scopes || [
|
|
3271
|
+
scopes: config.scopes || [
|
|
3272
|
+
"data.records:read",
|
|
3273
|
+
"data.records:write",
|
|
3274
|
+
"data.recordComments:read",
|
|
3275
|
+
"data.recordComments:write",
|
|
3276
|
+
"schema.bases:read",
|
|
3277
|
+
"schema.bases:write",
|
|
3278
|
+
"webhook:manage"
|
|
3279
|
+
],
|
|
3272
3280
|
redirectUri: config.redirectUri,
|
|
3273
3281
|
config: {
|
|
3274
3282
|
...config
|
|
@@ -3301,7 +3309,22 @@ var init_airtable = __esm(() => {
|
|
|
3301
3309
|
"airtable_get_record",
|
|
3302
3310
|
"airtable_create_record",
|
|
3303
3311
|
"airtable_update_record",
|
|
3304
|
-
"airtable_search_records"
|
|
3312
|
+
"airtable_search_records",
|
|
3313
|
+
"airtable_delete_record",
|
|
3314
|
+
"airtable_create_base",
|
|
3315
|
+
"airtable_create_table",
|
|
3316
|
+
"airtable_update_table",
|
|
3317
|
+
"airtable_create_field",
|
|
3318
|
+
"airtable_update_field",
|
|
3319
|
+
"airtable_list_comments",
|
|
3320
|
+
"airtable_create_comment",
|
|
3321
|
+
"airtable_update_comment",
|
|
3322
|
+
"airtable_delete_comment",
|
|
3323
|
+
"airtable_list_webhooks",
|
|
3324
|
+
"airtable_create_webhook",
|
|
3325
|
+
"airtable_delete_webhook",
|
|
3326
|
+
"airtable_list_webhook_payloads",
|
|
3327
|
+
"airtable_refresh_webhook"
|
|
3305
3328
|
];
|
|
3306
3329
|
});
|
|
3307
3330
|
|
|
@@ -3397,7 +3420,7 @@ function calcomIntegration(config = {}) {
|
|
|
3397
3420
|
provider: "calcom",
|
|
3398
3421
|
clientId: config.clientId ?? getEnv("CALCOM_CLIENT_ID"),
|
|
3399
3422
|
clientSecret: config.clientSecret ?? getEnv("CALCOM_CLIENT_SECRET"),
|
|
3400
|
-
scopes: config.scopes || ["
|
|
3423
|
+
scopes: config.scopes || ["READ_BOOKING", "WRITE_BOOKING", "READ_PROFILE", "WRITE_PROFILE"],
|
|
3401
3424
|
redirectUri: config.redirectUri,
|
|
3402
3425
|
config: {
|
|
3403
3426
|
apiBaseUrl: config.apiBaseUrl || "https://api.cal.com/v1",
|
|
@@ -3428,9 +3451,53 @@ var init_calcom = __esm(() => {
|
|
|
3428
3451
|
"calcom_create_booking",
|
|
3429
3452
|
"calcom_cancel_booking",
|
|
3430
3453
|
"calcom_reschedule_booking",
|
|
3454
|
+
"calcom_update_booking",
|
|
3455
|
+
"calcom_get_booking_recordings",
|
|
3456
|
+
"calcom_get_booking_transcripts",
|
|
3431
3457
|
"calcom_list_event_types",
|
|
3458
|
+
"calcom_get_event_type",
|
|
3459
|
+
"calcom_create_event_type",
|
|
3460
|
+
"calcom_update_event_type",
|
|
3461
|
+
"calcom_delete_event_type",
|
|
3462
|
+
"calcom_list_team_event_types",
|
|
3432
3463
|
"calcom_get_availability",
|
|
3464
|
+
"calcom_get_availability_rule",
|
|
3465
|
+
"calcom_create_availability_rule",
|
|
3466
|
+
"calcom_update_availability_rule",
|
|
3467
|
+
"calcom_delete_availability_rule",
|
|
3433
3468
|
"calcom_list_schedules",
|
|
3469
|
+
"calcom_get_schedule",
|
|
3470
|
+
"calcom_create_schedule",
|
|
3471
|
+
"calcom_update_schedule",
|
|
3472
|
+
"calcom_delete_schedule",
|
|
3473
|
+
"calcom_get_slots",
|
|
3474
|
+
"calcom_list_attendees",
|
|
3475
|
+
"calcom_get_attendee",
|
|
3476
|
+
"calcom_create_attendee",
|
|
3477
|
+
"calcom_update_attendee",
|
|
3478
|
+
"calcom_delete_attendee",
|
|
3479
|
+
"calcom_list_teams",
|
|
3480
|
+
"calcom_get_team",
|
|
3481
|
+
"calcom_create_team",
|
|
3482
|
+
"calcom_update_team",
|
|
3483
|
+
"calcom_delete_team",
|
|
3484
|
+
"calcom_list_memberships",
|
|
3485
|
+
"calcom_get_membership",
|
|
3486
|
+
"calcom_create_membership",
|
|
3487
|
+
"calcom_update_membership",
|
|
3488
|
+
"calcom_delete_membership",
|
|
3489
|
+
"calcom_list_webhooks",
|
|
3490
|
+
"calcom_get_webhook",
|
|
3491
|
+
"calcom_create_webhook",
|
|
3492
|
+
"calcom_update_webhook",
|
|
3493
|
+
"calcom_delete_webhook",
|
|
3494
|
+
"calcom_list_payments",
|
|
3495
|
+
"calcom_get_payment",
|
|
3496
|
+
"calcom_list_users",
|
|
3497
|
+
"calcom_get_user",
|
|
3498
|
+
"calcom_create_user",
|
|
3499
|
+
"calcom_update_user",
|
|
3500
|
+
"calcom_delete_user",
|
|
3434
3501
|
"calcom_get_me"
|
|
3435
3502
|
];
|
|
3436
3503
|
});
|
|
@@ -8070,6 +8137,7 @@ var init_nanoid = __esm(() => {
|
|
|
8070
8137
|
// src/triggers/utils.ts
|
|
8071
8138
|
var exports_utils = {};
|
|
8072
8139
|
__export(exports_utils, {
|
|
8140
|
+
validateStepLimit: () => validateStepLimit,
|
|
8073
8141
|
validateStatusTransition: () => validateStatusTransition,
|
|
8074
8142
|
generateTriggerId: () => generateTriggerId,
|
|
8075
8143
|
extractProviderFromToolName: () => extractProviderFromToolName,
|
|
@@ -8097,6 +8165,15 @@ function validateStatusTransition(currentStatus, targetStatus) {
|
|
|
8097
8165
|
}
|
|
8098
8166
|
return { valid: true };
|
|
8099
8167
|
}
|
|
8168
|
+
function validateStepLimit(stepIndex, maxSteps) {
|
|
8169
|
+
if (stepIndex >= maxSteps) {
|
|
8170
|
+
return {
|
|
8171
|
+
valid: false,
|
|
8172
|
+
error: `Step index ${stepIndex} exceeds maximum of ${maxSteps} steps`
|
|
8173
|
+
};
|
|
8174
|
+
}
|
|
8175
|
+
return { valid: true };
|
|
8176
|
+
}
|
|
8100
8177
|
function calculateHasMore(offset, returnedCount, total) {
|
|
8101
8178
|
return offset + returnedCount < total;
|
|
8102
8179
|
}
|
|
@@ -10104,6 +10181,69 @@ var init_ai = __esm(() => {
|
|
|
10104
10181
|
init_trigger_tools();
|
|
10105
10182
|
});
|
|
10106
10183
|
|
|
10184
|
+
// src/triggers/types.ts
|
|
10185
|
+
var exports_types = {};
|
|
10186
|
+
__export(exports_types, {
|
|
10187
|
+
WEBHOOK_DELIVERY_TIMEOUT_MS: () => WEBHOOK_DELIVERY_TIMEOUT_MS,
|
|
10188
|
+
MAX_TRIGGER_STEPS: () => MAX_TRIGGER_STEPS
|
|
10189
|
+
});
|
|
10190
|
+
var MAX_TRIGGER_STEPS = 20, WEBHOOK_DELIVERY_TIMEOUT_MS = 1e4;
|
|
10191
|
+
|
|
10192
|
+
// src/triggers/webhooks.ts
|
|
10193
|
+
var exports_webhooks = {};
|
|
10194
|
+
__export(exports_webhooks, {
|
|
10195
|
+
signPayload: () => signPayload,
|
|
10196
|
+
deliverWebhooks: () => deliverWebhooks,
|
|
10197
|
+
deliverWebhook: () => deliverWebhook
|
|
10198
|
+
});
|
|
10199
|
+
async function signPayload(payload, secret) {
|
|
10200
|
+
const encoder = new TextEncoder;
|
|
10201
|
+
const data = encoder.encode(JSON.stringify(payload));
|
|
10202
|
+
const key = await crypto.subtle.importKey("raw", encoder.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
10203
|
+
const signature = await crypto.subtle.sign("HMAC", key, data);
|
|
10204
|
+
return Array.from(new Uint8Array(signature)).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
10205
|
+
}
|
|
10206
|
+
async function deliverWebhook(webhook, payload, timeoutMs) {
|
|
10207
|
+
const headers = {
|
|
10208
|
+
"Content-Type": "application/json",
|
|
10209
|
+
...webhook.headers
|
|
10210
|
+
};
|
|
10211
|
+
if (webhook.secret) {
|
|
10212
|
+
headers["X-Webhook-Signature"] = await signPayload(payload, webhook.secret);
|
|
10213
|
+
}
|
|
10214
|
+
const controller = new AbortController;
|
|
10215
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
10216
|
+
try {
|
|
10217
|
+
const response = await fetch(webhook.url, {
|
|
10218
|
+
method: "POST",
|
|
10219
|
+
headers,
|
|
10220
|
+
body: JSON.stringify(payload),
|
|
10221
|
+
signal: controller.signal
|
|
10222
|
+
});
|
|
10223
|
+
if (!response.ok) {
|
|
10224
|
+
logger30.warn(`Webhook delivery to ${webhook.url} returned ${response.status}`);
|
|
10225
|
+
}
|
|
10226
|
+
} finally {
|
|
10227
|
+
clearTimeout(timeout);
|
|
10228
|
+
}
|
|
10229
|
+
}
|
|
10230
|
+
async function deliverWebhooks(webhooks, payload, timeoutMs) {
|
|
10231
|
+
if (webhooks.length === 0)
|
|
10232
|
+
return;
|
|
10233
|
+
const results = await Promise.allSettled(webhooks.map((webhook) => deliverWebhook(webhook, payload, timeoutMs)));
|
|
10234
|
+
for (let i = 0;i < results.length; i++) {
|
|
10235
|
+
const result = results[i];
|
|
10236
|
+
if (result.status === "rejected") {
|
|
10237
|
+
logger30.warn(`Webhook delivery to ${webhooks[i].url} failed:`, result.reason);
|
|
10238
|
+
}
|
|
10239
|
+
}
|
|
10240
|
+
}
|
|
10241
|
+
var logger30;
|
|
10242
|
+
var init_webhooks = __esm(() => {
|
|
10243
|
+
init_logger();
|
|
10244
|
+
logger30 = createLogger("Webhooks", "server");
|
|
10245
|
+
});
|
|
10246
|
+
|
|
10107
10247
|
// src/server.ts
|
|
10108
10248
|
var exports_server = {};
|
|
10109
10249
|
__export(exports_server, {
|
|
@@ -10197,7 +10337,7 @@ function createMCPServer(config) {
|
|
|
10197
10337
|
if (integration.oauth) {
|
|
10198
10338
|
const { clientId, clientSecret, redirectUri: integrationRedirectUri, config: oauthConfig } = integration.oauth;
|
|
10199
10339
|
if (!clientId || !clientSecret) {
|
|
10200
|
-
|
|
10340
|
+
logger31.warn(`Warning: Integration "${integration.id}" is missing OAuth credentials. ` + `Provide clientId and clientSecret in the integration configuration.`);
|
|
10201
10341
|
return integration;
|
|
10202
10342
|
}
|
|
10203
10343
|
const redirectUri = integrationRedirectUri || config.redirectUri || getDefaultRedirectUri();
|
|
@@ -10328,7 +10468,7 @@ function createMCPServer(config) {
|
|
|
10328
10468
|
}
|
|
10329
10469
|
return response2;
|
|
10330
10470
|
} catch (error) {
|
|
10331
|
-
|
|
10471
|
+
logger31.error("[MCP Tool Call] Error:", error);
|
|
10332
10472
|
return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
|
|
10333
10473
|
}
|
|
10334
10474
|
}
|
|
@@ -10404,7 +10544,7 @@ function createMCPServer(config) {
|
|
|
10404
10544
|
})
|
|
10405
10545
|
});
|
|
10406
10546
|
} catch (scheduleError) {
|
|
10407
|
-
|
|
10547
|
+
logger31.error("[Trigger] Failed to register with scheduler:", scheduleError);
|
|
10408
10548
|
}
|
|
10409
10549
|
return Response.json(created, { status: 201 });
|
|
10410
10550
|
}
|
|
@@ -10439,7 +10579,7 @@ function createMCPServer(config) {
|
|
|
10439
10579
|
body: JSON.stringify({ triggerId })
|
|
10440
10580
|
});
|
|
10441
10581
|
} catch (error) {
|
|
10442
|
-
|
|
10582
|
+
logger31.error("[Trigger] Failed to pause in scheduler:", error);
|
|
10443
10583
|
}
|
|
10444
10584
|
return Response.json(updated);
|
|
10445
10585
|
} else if (subAction === "resume" && method === "POST") {
|
|
@@ -10467,7 +10607,7 @@ function createMCPServer(config) {
|
|
|
10467
10607
|
body: JSON.stringify({ triggerId })
|
|
10468
10608
|
});
|
|
10469
10609
|
} catch (error) {
|
|
10470
|
-
|
|
10610
|
+
logger31.error("[Trigger] Failed to resume in scheduler:", error);
|
|
10471
10611
|
}
|
|
10472
10612
|
return Response.json(updated);
|
|
10473
10613
|
} else if (subAction === "run" && method === "POST") {
|
|
@@ -10560,6 +10700,60 @@ function createMCPServer(config) {
|
|
|
10560
10700
|
if (!trigger) {
|
|
10561
10701
|
return Response.json({ error: "Trigger not found" }, { status: 404 });
|
|
10562
10702
|
}
|
|
10703
|
+
if (body.stepIndex != null) {
|
|
10704
|
+
const { validateStepLimit: validateStepLimit2 } = await Promise.resolve().then(() => (init_utils2(), exports_utils));
|
|
10705
|
+
const { MAX_TRIGGER_STEPS: MAX_TRIGGER_STEPS2 } = await Promise.resolve().then(() => exports_types);
|
|
10706
|
+
const stepValidation = validateStepLimit2(body.stepIndex, MAX_TRIGGER_STEPS2);
|
|
10707
|
+
if (!stepValidation.valid) {
|
|
10708
|
+
return Response.json({ error: stepValidation.error }, { status: 400 });
|
|
10709
|
+
}
|
|
10710
|
+
}
|
|
10711
|
+
if (config.triggers.onComplete) {
|
|
10712
|
+
try {
|
|
10713
|
+
const completeResponse = await config.triggers.onComplete({
|
|
10714
|
+
trigger,
|
|
10715
|
+
request: body,
|
|
10716
|
+
context: context2
|
|
10717
|
+
});
|
|
10718
|
+
if (completeResponse.hasMore) {
|
|
10719
|
+
return Response.json(completeResponse);
|
|
10720
|
+
}
|
|
10721
|
+
const updates2 = {
|
|
10722
|
+
lastRunAt: body.executedAt,
|
|
10723
|
+
runCount: (trigger.runCount || 0) + 1
|
|
10724
|
+
};
|
|
10725
|
+
if (body.success) {
|
|
10726
|
+
updates2.lastResult = body.result;
|
|
10727
|
+
updates2.lastError = undefined;
|
|
10728
|
+
if (trigger.schedule.type === "once") {
|
|
10729
|
+
updates2.status = "completed";
|
|
10730
|
+
}
|
|
10731
|
+
} else {
|
|
10732
|
+
updates2.lastError = body.error;
|
|
10733
|
+
updates2.status = "failed";
|
|
10734
|
+
}
|
|
10735
|
+
await config.triggers.update(triggerId, updates2, context2);
|
|
10736
|
+
if (completeResponse.webhooks && completeResponse.webhooks.length > 0) {
|
|
10737
|
+
const { deliverWebhooks: deliverWebhooks2 } = await Promise.resolve().then(() => (init_webhooks(), exports_webhooks));
|
|
10738
|
+
const { WEBHOOK_DELIVERY_TIMEOUT_MS: WEBHOOK_DELIVERY_TIMEOUT_MS2 } = await Promise.resolve().then(() => exports_types);
|
|
10739
|
+
const steps = body.previousResults || [];
|
|
10740
|
+
const totalDuration = steps.reduce((sum, s) => sum + (s.duration || 0), 0);
|
|
10741
|
+
const payload = {
|
|
10742
|
+
triggerId,
|
|
10743
|
+
success: body.success,
|
|
10744
|
+
steps,
|
|
10745
|
+
totalSteps: steps.length,
|
|
10746
|
+
totalDuration,
|
|
10747
|
+
executedAt: body.executedAt
|
|
10748
|
+
};
|
|
10749
|
+
deliverWebhooks2(completeResponse.webhooks, payload, WEBHOOK_DELIVERY_TIMEOUT_MS2).catch(() => {});
|
|
10750
|
+
}
|
|
10751
|
+
return Response.json(completeResponse);
|
|
10752
|
+
} catch (error) {
|
|
10753
|
+
logger31.error("onComplete callback error:", error);
|
|
10754
|
+
return Response.json({ error: "Internal server error in onComplete callback" }, { status: 500 });
|
|
10755
|
+
}
|
|
10756
|
+
}
|
|
10563
10757
|
const updates = {
|
|
10564
10758
|
lastRunAt: body.executedAt,
|
|
10565
10759
|
runCount: (trigger.runCount || 0) + 1
|
|
@@ -10608,7 +10802,7 @@ function createMCPServer(config) {
|
|
|
10608
10802
|
})
|
|
10609
10803
|
});
|
|
10610
10804
|
} catch (error) {
|
|
10611
|
-
|
|
10805
|
+
logger31.error("[Trigger] Failed to update scheduler:", error);
|
|
10612
10806
|
}
|
|
10613
10807
|
}
|
|
10614
10808
|
return Response.json(updated);
|
|
@@ -10625,14 +10819,14 @@ function createMCPServer(config) {
|
|
|
10625
10819
|
body: JSON.stringify({ triggerId })
|
|
10626
10820
|
});
|
|
10627
10821
|
} catch (error) {
|
|
10628
|
-
|
|
10822
|
+
logger31.error("[Trigger] Failed to unregister from scheduler:", error);
|
|
10629
10823
|
}
|
|
10630
10824
|
return new Response(null, { status: 204 });
|
|
10631
10825
|
}
|
|
10632
10826
|
}
|
|
10633
10827
|
return Response.json({ error: "Invalid trigger route or method" }, { status: 404 });
|
|
10634
10828
|
} catch (error) {
|
|
10635
|
-
|
|
10829
|
+
logger31.error("[Trigger] Error:", error);
|
|
10636
10830
|
return Response.json({ error: error.message || "Failed to process trigger request" }, { status: error.statusCode || 500 });
|
|
10637
10831
|
}
|
|
10638
10832
|
}
|
|
@@ -10658,11 +10852,11 @@ function createMCPServer(config) {
|
|
|
10658
10852
|
const errorRedirectUrl = "/auth-error";
|
|
10659
10853
|
if (error) {
|
|
10660
10854
|
const errorMsg = errorDescription || error;
|
|
10661
|
-
|
|
10855
|
+
logger31.error("[OAuth Redirect] Error:", errorMsg);
|
|
10662
10856
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(errorMsg)}`, webRequest.url));
|
|
10663
10857
|
}
|
|
10664
10858
|
if (!code || !state) {
|
|
10665
|
-
|
|
10859
|
+
logger31.error("[OAuth Redirect] Missing code or state parameter");
|
|
10666
10860
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent("Invalid OAuth callback")}`, webRequest.url));
|
|
10667
10861
|
}
|
|
10668
10862
|
let returnUrl = defaultRedirectUrl;
|
|
@@ -10738,7 +10932,7 @@ function createMCPServer(config) {
|
|
|
10738
10932
|
frontendUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state, tokenData }))}`;
|
|
10739
10933
|
return Response.redirect(frontendUrl);
|
|
10740
10934
|
} catch (error2) {
|
|
10741
|
-
|
|
10935
|
+
logger31.error("[OAuth Backend Callback] Error:", error2);
|
|
10742
10936
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, webRequest.url));
|
|
10743
10937
|
}
|
|
10744
10938
|
} else {
|
|
@@ -10957,7 +11151,7 @@ function toSvelteKitHandler(clientOrHandlerOrOptions, _redirectOptions) {
|
|
|
10957
11151
|
}
|
|
10958
11152
|
};
|
|
10959
11153
|
}
|
|
10960
|
-
var SERVER_LOG_CONTEXT2 = "server",
|
|
11154
|
+
var SERVER_LOG_CONTEXT2 = "server", logger31, globalServerConfig = null, codeVerifierStorage, POST = async (req, context) => {
|
|
10961
11155
|
if (!globalServerConfig) {
|
|
10962
11156
|
return Response.json({ error: "OAuth not configured. Call createMCPServer() in your server initialization file first." }, { status: 500 });
|
|
10963
11157
|
}
|
|
@@ -11005,7 +11199,7 @@ var init_server = __esm(() => {
|
|
|
11005
11199
|
init_anthropic();
|
|
11006
11200
|
init_google();
|
|
11007
11201
|
init_ai();
|
|
11008
|
-
|
|
11202
|
+
logger31 = createLogger("MCPServer", SERVER_LOG_CONTEXT2);
|
|
11009
11203
|
codeVerifierStorage = new Map;
|
|
11010
11204
|
});
|
|
11011
11205
|
|
|
@@ -11518,11 +11712,11 @@ class OAuthHandler {
|
|
|
11518
11712
|
try {
|
|
11519
11713
|
await this.config.removeProviderToken(request.provider, undefined, context);
|
|
11520
11714
|
} catch (error) {
|
|
11521
|
-
|
|
11715
|
+
logger32.error(`Failed to delete token for ${request.provider} from database via removeProviderToken:`, error);
|
|
11522
11716
|
}
|
|
11523
11717
|
}
|
|
11524
11718
|
} catch (error) {
|
|
11525
|
-
|
|
11719
|
+
logger32.error(`Failed to extract context for disconnect:`, error);
|
|
11526
11720
|
}
|
|
11527
11721
|
}
|
|
11528
11722
|
const url = new URL("/oauth/disconnect", this.serverUrl);
|
|
@@ -11582,17 +11776,17 @@ class OAuthHandler {
|
|
|
11582
11776
|
return jsonRpcResponse.result;
|
|
11583
11777
|
}
|
|
11584
11778
|
}
|
|
11585
|
-
var SERVER_LOG_CONTEXT3 = "server",
|
|
11779
|
+
var SERVER_LOG_CONTEXT3 = "server", logger32, MCP_SERVER_URL2 = "https://mcp.integrate.dev/api/v1/mcp";
|
|
11586
11780
|
var init_base_handler = __esm(() => {
|
|
11587
11781
|
init_logger();
|
|
11588
|
-
|
|
11782
|
+
logger32 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT3);
|
|
11589
11783
|
});
|
|
11590
11784
|
|
|
11591
11785
|
// src/adapters/auto-routes.ts
|
|
11592
11786
|
init_base_handler();
|
|
11593
11787
|
init_logger();
|
|
11594
11788
|
var SERVER_LOG_CONTEXT4 = "server";
|
|
11595
|
-
var
|
|
11789
|
+
var logger33 = createLogger("AutoRoutes", SERVER_LOG_CONTEXT4);
|
|
11596
11790
|
var globalOAuthConfig = null;
|
|
11597
11791
|
async function POST2(req, context) {
|
|
11598
11792
|
if (!globalOAuthConfig) {
|
|
@@ -11634,7 +11828,7 @@ async function POST2(req, context) {
|
|
|
11634
11828
|
}
|
|
11635
11829
|
return createErrorResponse(`Unknown action: ${action}`, 404);
|
|
11636
11830
|
} catch (error) {
|
|
11637
|
-
|
|
11831
|
+
logger33.error(`[OAuth ${action}] Error:`, error);
|
|
11638
11832
|
return createErrorResponse(error.message, 500);
|
|
11639
11833
|
}
|
|
11640
11834
|
}
|
|
@@ -11662,7 +11856,7 @@ async function GET2(req, context) {
|
|
|
11662
11856
|
}
|
|
11663
11857
|
return createErrorResponse(`Unknown action: ${action}`, 404);
|
|
11664
11858
|
} catch (error) {
|
|
11665
|
-
|
|
11859
|
+
logger33.error(`[OAuth ${action}] Error:`, error);
|
|
11666
11860
|
return createErrorResponse(error.message, 500);
|
|
11667
11861
|
}
|
|
11668
11862
|
}
|