@squadbase/vite-server 0.1.3-dev.2 → 0.1.3-dev.4

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
@@ -72015,7 +72015,7 @@ var tools17 = { request: requestTool8 };
72015
72015
  var hubspotOauthConnector = new ConnectorPlugin({
72016
72016
  slug: "hubspot",
72017
72017
  authType: AUTH_TYPES.OAUTH,
72018
- name: "HubSpot (OAuth)",
72018
+ name: "HubSpot",
72019
72019
  description: "Connect to HubSpot CRM for contacts, deals, companies, and marketing data using OAuth.",
72020
72020
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
72021
72021
  parameters: parameters17,
@@ -72448,11 +72448,303 @@ const data = await res.json();
72448
72448
  }
72449
72449
  });
72450
72450
 
72451
- // ../connectors/src/connectors/airtable-oauth/tools/request.ts
72451
+ // ../connectors/src/connectors/stripe-api-key/tools/request.ts
72452
72452
  import { z as z27 } from "zod";
72453
72453
 
72454
- // ../connectors/src/connectors/airtable-oauth/parameters.ts
72454
+ // ../connectors/src/connectors/stripe-api-key/parameters.ts
72455
72455
  var parameters19 = {
72456
+ apiKey: new ParameterDefinition({
72457
+ slug: "api-key",
72458
+ name: "Stripe API Key",
72459
+ description: "Your Stripe Secret API Key (sk_live_... / sk_test_...) or Restricted API Key (rk_live_... / rk_test_...).",
72460
+ envVarBaseKey: "STRIPE_API_KEY",
72461
+ type: "text",
72462
+ secret: true,
72463
+ required: true
72464
+ })
72465
+ };
72466
+
72467
+ // ../connectors/src/connectors/stripe-api-key/tools/request.ts
72468
+ var BASE_URL12 = "https://api.stripe.com";
72469
+ var REQUEST_TIMEOUT_MS17 = 6e4;
72470
+ var inputSchema27 = z27.object({
72471
+ toolUseIntent: z27.string().optional().describe(
72472
+ "Brief description of what you intend to accomplish with this tool call"
72473
+ ),
72474
+ connectionId: z27.string().describe("ID of the Stripe API Key connection to use"),
72475
+ method: z27.enum(["GET", "POST", "DELETE"]).describe(
72476
+ "HTTP method. GET for reading resources, POST for creating or updating, DELETE for removing."
72477
+ ),
72478
+ path: z27.string().describe(
72479
+ "API path appended to https://api.stripe.com (e.g., '/v1/charges', '/v1/customers', '/v1/invoices')"
72480
+ ),
72481
+ queryParams: z27.record(z27.string(), z27.string()).optional().describe("Query parameters to append to the URL"),
72482
+ body: z27.record(z27.string(), z27.unknown()).optional().describe(
72483
+ "Request body for POST requests. Stripe uses form-encoded bodies \u2014 pass a flat key-value object and it will be encoded automatically."
72484
+ )
72485
+ });
72486
+ var outputSchema27 = z27.discriminatedUnion("success", [
72487
+ z27.object({
72488
+ success: z27.literal(true),
72489
+ status: z27.number(),
72490
+ data: z27.record(z27.string(), z27.unknown())
72491
+ }),
72492
+ z27.object({
72493
+ success: z27.literal(false),
72494
+ error: z27.string()
72495
+ })
72496
+ ]);
72497
+ var requestTool10 = new ConnectorTool({
72498
+ name: "request",
72499
+ description: `Send authenticated requests to the Stripe API.
72500
+ Authentication is handled automatically using the configured API Key (Bearer token).
72501
+ Use this tool for all Stripe API interactions: querying charges, customers, invoices, subscriptions, products, prices, payment intents, balances, and more.`,
72502
+ inputSchema: inputSchema27,
72503
+ outputSchema: outputSchema27,
72504
+ async execute({ connectionId, method, path: path5, queryParams, body }, connections) {
72505
+ const connection2 = connections.find((c6) => c6.id === connectionId);
72506
+ if (!connection2) {
72507
+ return {
72508
+ success: false,
72509
+ error: `Connection ${connectionId} not found`
72510
+ };
72511
+ }
72512
+ console.log(
72513
+ `[connector-request] stripe-api-key/${connection2.name}: ${method} ${path5}`
72514
+ );
72515
+ try {
72516
+ const apiKey = parameters19.apiKey.getValue(connection2);
72517
+ let url = `${BASE_URL12}${path5.startsWith("/") ? "" : "/"}${path5}`;
72518
+ if (queryParams) {
72519
+ const searchParams = new URLSearchParams(queryParams);
72520
+ url += `?${searchParams.toString()}`;
72521
+ }
72522
+ const controller = new AbortController();
72523
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS17);
72524
+ try {
72525
+ const headers = {
72526
+ Authorization: `Bearer ${apiKey}`
72527
+ };
72528
+ let requestBody;
72529
+ if (body) {
72530
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
72531
+ requestBody = new URLSearchParams(
72532
+ Object.entries(body).map(([k6, v7]) => [k6, String(v7)])
72533
+ ).toString();
72534
+ }
72535
+ const response = await fetch(url, {
72536
+ method,
72537
+ headers,
72538
+ body: requestBody,
72539
+ signal: controller.signal
72540
+ });
72541
+ const data = await response.json();
72542
+ if (!response.ok) {
72543
+ const errorObj = data?.error;
72544
+ const errorMessage = typeof errorObj === "object" && errorObj !== null && "message" in errorObj ? String(errorObj.message) : typeof data?.message === "string" ? data.message : `HTTP ${response.status} ${response.statusText}`;
72545
+ return { success: false, error: errorMessage };
72546
+ }
72547
+ return { success: true, status: response.status, data };
72548
+ } finally {
72549
+ clearTimeout(timeout);
72550
+ }
72551
+ } catch (err) {
72552
+ const msg = err instanceof Error ? err.message : String(err);
72553
+ return { success: false, error: msg };
72554
+ }
72555
+ }
72556
+ });
72557
+
72558
+ // ../connectors/src/connectors/stripe-api-key/setup.ts
72559
+ var requestToolName4 = `stripe-api-key_${requestTool10.name}`;
72560
+ var stripeApiKeyOnboarding = new ConnectorOnboarding({
72561
+ connectionSetupInstructions: {
72562
+ ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Stripe\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
72563
+
72564
+ 1. \`${requestToolName4}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u6B8B\u9AD8\u3092\u53D6\u5F97\u3059\u308B:
72565
+ - \`method\`: \`"GET"\`
72566
+ - \`path\`: \`"/v1/balance"\`
72567
+ 2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BAPI\u30AD\u30FC\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B\uFF08Secret API Key\u307E\u305F\u306FRestricted API Key\u304C\u6B63\u3057\u304F\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u304B\uFF09
72568
+ 3. \`updateConnectionContext\` \u3092\u547C\u3073\u51FA\u3059:
72569
+ - \`note\`: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u5185\u5BB9\u306E\u7C21\u5358\u306A\u8AAC\u660E
72570
+
72571
+ #### \u5236\u7D04
72572
+ - **\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u6C7A\u6E08\u30C7\u30FC\u30BF\u3092\u8AAD\u307F\u53D6\u3089\u306A\u3044\u3053\u3068**\u3002\u5B9F\u884C\u3057\u3066\u3088\u3044\u306E\u306F\u4E0A\u8A18\u624B\u9806\u3067\u6307\u5B9A\u3055\u308C\u305F\u30E1\u30BF\u30C7\u30FC\u30BF\u53D6\u5F97\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u307F
72573
+ - \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`,
72574
+ en: `Follow these steps to set up the Stripe connection.
72575
+
72576
+ 1. Call \`${requestToolName4}\` to fetch account balance:
72577
+ - \`method\`: \`"GET"\`
72578
+ - \`path\`: \`"/v1/balance"\`
72579
+ 2. If an error is returned, ask the user to check the API key settings (verify that the Secret API Key or Restricted API Key is configured correctly)
72580
+ 3. Call \`updateConnectionContext\`:
72581
+ - \`note\`: Brief description of the setup
72582
+
72583
+ #### Constraints
72584
+ - **Do NOT read payment data during setup**. Only the metadata request specified in the steps above is allowed
72585
+ - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`
72586
+ },
72587
+ dataOverviewInstructions: {
72588
+ en: `1. Call ${requestToolName4} with GET /v1/customers?limit=5 to explore customers structure
72589
+ 2. Call ${requestToolName4} with GET /v1/charges?limit=5 to explore charges structure
72590
+ 3. Explore other endpoints (invoices, subscriptions, products) as needed`,
72591
+ ja: `1. ${requestToolName4} \u3067 GET /v1/customers?limit=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u9867\u5BA2\u306E\u69CB\u9020\u3092\u78BA\u8A8D
72592
+ 2. ${requestToolName4} \u3067 GET /v1/charges?limit=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u8AB2\u91D1\u306E\u69CB\u9020\u3092\u78BA\u8A8D
72593
+ 3. \u5FC5\u8981\u306B\u5FDC\u3058\u3066\u4ED6\u306E\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\uFF08\u8ACB\u6C42\u66F8\u3001\u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u3001\u5546\u54C1\uFF09\u3092\u63A2\u7D22`
72594
+ }
72595
+ });
72596
+
72597
+ // ../connectors/src/connectors/stripe-api-key/index.ts
72598
+ var tools19 = { request: requestTool10 };
72599
+ var stripeApiKeyConnector = new ConnectorPlugin({
72600
+ slug: "stripe",
72601
+ authType: AUTH_TYPES.API_KEY,
72602
+ name: "Stripe (API Key)",
72603
+ description: "Connect to Stripe for payment, customer, and subscription data using a Secret API Key or Restricted API Key.",
72604
+ iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2QNK0u2doqp41uL0POS4Ks/7a92367e2388ec77c7f4ada143606f9a/stripe.jpeg",
72605
+ parameters: parameters19,
72606
+ releaseFlag: { dev1: true, dev2: false, prod: false },
72607
+ onboarding: stripeApiKeyOnboarding,
72608
+ systemPrompt: {
72609
+ en: `### Tools
72610
+
72611
+ - \`stripe-api-key_request\`: The only way to call the Stripe API. Use it to query charges, customers, invoices, subscriptions, products, prices, payment intents, balances, and more. Authentication is configured automatically using the API Key (Bearer token). Stripe uses cursor-based pagination with \`starting_after\` and \`has_more\`.
72612
+
72613
+ ### Stripe API Reference
72614
+
72615
+ #### Available Endpoints
72616
+ - GET \`/v1/charges\` \u2014 List charges
72617
+ - GET \`/v1/charges/{chargeId}\` \u2014 Get a charge
72618
+ - GET \`/v1/customers\` \u2014 List customers
72619
+ - GET \`/v1/customers/{customerId}\` \u2014 Get a customer
72620
+ - GET \`/v1/invoices\` \u2014 List invoices
72621
+ - GET \`/v1/invoices/{invoiceId}\` \u2014 Get an invoice
72622
+ - GET \`/v1/subscriptions\` \u2014 List subscriptions
72623
+ - GET \`/v1/subscriptions/{subscriptionId}\` \u2014 Get a subscription
72624
+ - GET \`/v1/products\` \u2014 List products
72625
+ - GET \`/v1/prices\` \u2014 List prices
72626
+ - GET \`/v1/payment_intents\` \u2014 List payment intents
72627
+ - GET \`/v1/balance\` \u2014 Get account balance
72628
+ - GET \`/v1/balance_transactions\` \u2014 List balance transactions
72629
+
72630
+ ### Query Parameters
72631
+ - \`limit\` \u2014 Number of results per page (max 100, default 10)
72632
+ - \`starting_after\` \u2014 Pagination cursor (object ID)
72633
+ - \`ending_before\` \u2014 Reverse pagination cursor
72634
+ - \`created[gte]\`, \`created[lte]\` \u2014 Filter by creation date (Unix timestamp)
72635
+ - \`status\` \u2014 Filter by status (varies by resource)
72636
+
72637
+ ### Tips
72638
+ - Stripe uses cursor-based pagination with \`starting_after\` and \`has_more\`
72639
+ - All timestamps are Unix timestamps in seconds
72640
+ - Use \`expand[]\` query parameter to include related objects inline
72641
+ - List responses have \`data\` array and \`has_more\` boolean
72642
+ - POST request bodies are form-encoded (pass a flat key-value object)
72643
+ - If using a Restricted API Key, some endpoints may return 403 depending on the key's permissions
72644
+
72645
+ ### Business Logic
72646
+
72647
+ The business logic type for this connector is "typescript". Write handler code using the connector SDK shown below. Do NOT access credentials directly from environment variables.
72648
+
72649
+ #### Example
72650
+
72651
+ \`\`\`ts
72652
+ import { connection } from "@squadbase/vite-server/connectors/stripe-api-key";
72653
+
72654
+ const stripe = connection("<connectionId>");
72655
+
72656
+ // Authenticated fetch (returns standard Response)
72657
+ const res = await stripe.request("/v1/customers?limit=10");
72658
+ const data = await res.json();
72659
+ \`\`\``,
72660
+ ja: `### \u30C4\u30FC\u30EB
72661
+
72662
+ - \`stripe-api-key_request\`: Stripe API\u3092\u547C\u3073\u51FA\u3059\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u8ACB\u6C42\u3001\u9867\u5BA2\u3001\u8ACB\u6C42\u66F8\u3001\u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u3001\u5546\u54C1\u3001\u4FA1\u683C\u3001\u652F\u6255\u3044\u30A4\u30F3\u30C6\u30F3\u30C8\u3001\u6B8B\u9AD8\u306A\u3069\u306E\u30AF\u30A8\u30EA\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002API\u30AD\u30FC\uFF08Bearer\u30C8\u30FC\u30AF\u30F3\uFF09\u3067\u8A8D\u8A3C\u306F\u81EA\u52D5\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002Stripe\u306F \`starting_after\` \u3068 \`has_more\` \u306B\u3088\u308B\u30AB\u30FC\u30BD\u30EB\u30D9\u30FC\u30B9\u306E\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
72663
+
72664
+ ### Stripe API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
72665
+
72666
+ #### \u5229\u7528\u53EF\u80FD\u306A\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
72667
+ - GET \`/v1/charges\` \u2014 \u8ACB\u6C42\u4E00\u89A7\u3092\u53D6\u5F97
72668
+ - GET \`/v1/charges/{chargeId}\` \u2014 \u8ACB\u6C42\u3092\u53D6\u5F97
72669
+ - GET \`/v1/customers\` \u2014 \u9867\u5BA2\u4E00\u89A7\u3092\u53D6\u5F97
72670
+ - GET \`/v1/customers/{customerId}\` \u2014 \u9867\u5BA2\u3092\u53D6\u5F97
72671
+ - GET \`/v1/invoices\` \u2014 \u8ACB\u6C42\u66F8\u4E00\u89A7\u3092\u53D6\u5F97
72672
+ - GET \`/v1/invoices/{invoiceId}\` \u2014 \u8ACB\u6C42\u66F8\u3092\u53D6\u5F97
72673
+ - GET \`/v1/subscriptions\` \u2014 \u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u4E00\u89A7\u3092\u53D6\u5F97
72674
+ - GET \`/v1/subscriptions/{subscriptionId}\` \u2014 \u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u3092\u53D6\u5F97
72675
+ - GET \`/v1/products\` \u2014 \u5546\u54C1\u4E00\u89A7\u3092\u53D6\u5F97
72676
+ - GET \`/v1/prices\` \u2014 \u4FA1\u683C\u4E00\u89A7\u3092\u53D6\u5F97
72677
+ - GET \`/v1/payment_intents\` \u2014 \u652F\u6255\u3044\u30A4\u30F3\u30C6\u30F3\u30C8\u4E00\u89A7\u3092\u53D6\u5F97
72678
+ - GET \`/v1/balance\` \u2014 \u30A2\u30AB\u30A6\u30F3\u30C8\u6B8B\u9AD8\u3092\u53D6\u5F97
72679
+ - GET \`/v1/balance_transactions\` \u2014 \u6B8B\u9AD8\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7\u3092\u53D6\u5F97
72680
+
72681
+ ### \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF
72682
+ - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u7D50\u679C\u6570\uFF08\u6700\u5927100\u3001\u30C7\u30D5\u30A9\u30EB\u30C810\uFF09
72683
+ - \`starting_after\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AB\u30FC\u30BD\u30EB\uFF08\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8ID\uFF09
72684
+ - \`ending_before\` \u2014 \u9006\u65B9\u5411\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AB\u30FC\u30BD\u30EB
72685
+ - \`created[gte]\`, \`created[lte]\` \u2014 \u4F5C\u6210\u65E5\u3067\u30D5\u30A3\u30EB\u30BF\uFF08Unix\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\uFF09
72686
+ - \`status\` \u2014 \u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u30D5\u30A3\u30EB\u30BF\uFF08\u30EA\u30BD\u30FC\u30B9\u306B\u3088\u308A\u7570\u306A\u308B\uFF09
72687
+
72688
+ ### \u30D2\u30F3\u30C8
72689
+ - Stripe\u306F \`starting_after\` \u3068 \`has_more\` \u306B\u3088\u308B\u30AB\u30FC\u30BD\u30EB\u30D9\u30FC\u30B9\u306E\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059
72690
+ - \u3059\u3079\u3066\u306E\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u306F\u79D2\u5358\u4F4D\u306EUnix\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3067\u3059
72691
+ - \u95A2\u9023\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u30A4\u30F3\u30E9\u30A4\u30F3\u3067\u542B\u3081\u308B\u306B\u306F \`expand[]\` \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u307E\u3059
72692
+ - \u4E00\u89A7\u30EC\u30B9\u30DD\u30F3\u30B9\u306B\u306F \`data\` \u914D\u5217\u3068 \`has_more\` \u30D6\u30FC\u30EB\u5024\u304C\u542B\u307E\u308C\u307E\u3059
72693
+ - POST\u30EA\u30AF\u30A8\u30B9\u30C8\u306E\u30DC\u30C7\u30A3\u306F\u30D5\u30A9\u30FC\u30E0\u30A8\u30F3\u30B3\u30FC\u30C9\u3067\u3059\uFF08\u30D5\u30E9\u30C3\u30C8\u306A\u30AD\u30FC\u30FB\u30D0\u30EA\u30E5\u30FC\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\uFF09
72694
+ - Restricted API Key\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u5834\u5408\u3001\u30AD\u30FC\u306E\u6A29\u9650\u306B\u3088\u3063\u3066\u306F\u4E00\u90E8\u306E\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3067403\u304C\u8FD4\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059
72695
+
72696
+ ### Business Logic
72697
+
72698
+ \u3053\u306E\u30B3\u30CD\u30AF\u30BF\u306E\u30D3\u30B8\u30CD\u30B9\u30ED\u30B8\u30C3\u30AF\u30BF\u30A4\u30D7\u306F "typescript" \u3067\u3059\u3002\u4EE5\u4E0B\u306B\u793A\u3059\u30B3\u30CD\u30AF\u30BFSDK\u3092\u4F7F\u7528\u3057\u3066\u30CF\u30F3\u30C9\u30E9\u30B3\u30FC\u30C9\u3092\u8A18\u8FF0\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u74B0\u5883\u5909\u6570\u304B\u3089\u76F4\u63A5\u8A8D\u8A3C\u60C5\u5831\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
72699
+
72700
+ #### Example
72701
+
72702
+ \`\`\`ts
72703
+ import { connection } from "@squadbase/vite-server/connectors/stripe-api-key";
72704
+
72705
+ const stripe = connection("<connectionId>");
72706
+
72707
+ // Authenticated fetch (returns standard Response)
72708
+ const res = await stripe.request("/v1/customers?limit=10");
72709
+ const data = await res.json();
72710
+ \`\`\``
72711
+ },
72712
+ tools: tools19,
72713
+ async checkConnection(params) {
72714
+ try {
72715
+ const apiKey = params["api-key"];
72716
+ if (!apiKey) {
72717
+ return {
72718
+ success: false,
72719
+ error: "API Key is not configured"
72720
+ };
72721
+ }
72722
+ const res = await fetch("https://api.stripe.com/v1/balance", {
72723
+ method: "GET",
72724
+ headers: { Authorization: `Bearer ${apiKey}` }
72725
+ });
72726
+ if (!res.ok) {
72727
+ const errorText = await res.text().catch(() => res.statusText);
72728
+ return {
72729
+ success: false,
72730
+ error: `Stripe API failed: HTTP ${res.status} ${errorText}`
72731
+ };
72732
+ }
72733
+ return { success: true };
72734
+ } catch (error2) {
72735
+ return {
72736
+ success: false,
72737
+ error: error2 instanceof Error ? error2.message : String(error2)
72738
+ };
72739
+ }
72740
+ }
72741
+ });
72742
+
72743
+ // ../connectors/src/connectors/airtable-oauth/tools/request.ts
72744
+ import { z as z28 } from "zod";
72745
+
72746
+ // ../connectors/src/connectors/airtable-oauth/parameters.ts
72747
+ var parameters20 = {
72456
72748
  baseId: new ParameterDefinition({
72457
72749
  slug: "base-id",
72458
72750
  name: "Airtable Base ID",
@@ -72465,8 +72757,8 @@ var parameters19 = {
72465
72757
  };
72466
72758
 
72467
72759
  // ../connectors/src/connectors/airtable-oauth/tools/request.ts
72468
- var BASE_URL12 = "https://api.airtable.com/v0";
72469
- var REQUEST_TIMEOUT_MS17 = 6e4;
72760
+ var BASE_URL13 = "https://api.airtable.com/v0";
72761
+ var REQUEST_TIMEOUT_MS18 = 6e4;
72470
72762
  var cachedToken12 = null;
72471
72763
  async function getProxyToken12(config) {
72472
72764
  if (cachedToken12 && cachedToken12.expiresAt > Date.now() + 6e4) {
@@ -72498,36 +72790,36 @@ async function getProxyToken12(config) {
72498
72790
  };
72499
72791
  return data.token;
72500
72792
  }
72501
- var inputSchema27 = z27.object({
72502
- toolUseIntent: z27.string().optional().describe(
72793
+ var inputSchema28 = z28.object({
72794
+ toolUseIntent: z28.string().optional().describe(
72503
72795
  "Brief description of what you intend to accomplish with this tool call"
72504
72796
  ),
72505
- connectionId: z27.string().describe("ID of the Airtable OAuth connection to use"),
72506
- method: z27.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
72507
- path: z27.string().describe(
72797
+ connectionId: z28.string().describe("ID of the Airtable OAuth connection to use"),
72798
+ method: z28.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
72799
+ path: z28.string().describe(
72508
72800
  "API path appended to https://api.airtable.com/v0 (e.g., '/{baseId}/{tableIdOrName}', '/meta/bases/{baseId}/tables'). {baseId} is automatically replaced if a default is configured."
72509
72801
  ),
72510
- queryParams: z27.record(z27.string(), z27.string()).optional().describe("Query parameters to append to the URL"),
72511
- body: z27.record(z27.string(), z27.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
72802
+ queryParams: z28.record(z28.string(), z28.string()).optional().describe("Query parameters to append to the URL"),
72803
+ body: z28.record(z28.string(), z28.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
72512
72804
  });
72513
- var outputSchema27 = z27.discriminatedUnion("success", [
72514
- z27.object({
72515
- success: z27.literal(true),
72516
- status: z27.number(),
72517
- data: z27.record(z27.string(), z27.unknown())
72805
+ var outputSchema28 = z28.discriminatedUnion("success", [
72806
+ z28.object({
72807
+ success: z28.literal(true),
72808
+ status: z28.number(),
72809
+ data: z28.record(z28.string(), z28.unknown())
72518
72810
  }),
72519
- z27.object({
72520
- success: z27.literal(false),
72521
- error: z27.string()
72811
+ z28.object({
72812
+ success: z28.literal(false),
72813
+ error: z28.string()
72522
72814
  })
72523
72815
  ]);
72524
- var requestTool10 = new ConnectorTool({
72816
+ var requestTool11 = new ConnectorTool({
72525
72817
  name: "request",
72526
72818
  description: `Send authenticated requests to the Airtable API.
72527
72819
  Authentication is handled automatically via OAuth proxy.
72528
72820
  {baseId} in the path is automatically replaced with the connection's default base ID if configured.`,
72529
- inputSchema: inputSchema27,
72530
- outputSchema: outputSchema27,
72821
+ inputSchema: inputSchema28,
72822
+ outputSchema: outputSchema28,
72531
72823
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
72532
72824
  const connection2 = connections.find((c6) => c6.id === connectionId);
72533
72825
  if (!connection2) {
@@ -72540,9 +72832,9 @@ Authentication is handled automatically via OAuth proxy.
72540
72832
  `[connector-request] airtable-oauth/${connection2.name}: ${method} ${path5}`
72541
72833
  );
72542
72834
  try {
72543
- const baseId = parameters19.baseId.tryGetValue(connection2);
72835
+ const baseId = parameters20.baseId.tryGetValue(connection2);
72544
72836
  const resolvedPath = baseId ? path5.replace(/\{baseId\}/g, baseId) : path5;
72545
- let url = `${BASE_URL12}${resolvedPath.startsWith("/") ? "" : "/"}${resolvedPath}`;
72837
+ let url = `${BASE_URL13}${resolvedPath.startsWith("/") ? "" : "/"}${resolvedPath}`;
72546
72838
  if (queryParams) {
72547
72839
  const searchParams = new URLSearchParams(queryParams);
72548
72840
  url += `?${searchParams.toString()}`;
@@ -72550,7 +72842,7 @@ Authentication is handled automatically via OAuth proxy.
72550
72842
  const token = await getProxyToken12(config.oauthProxy);
72551
72843
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
72552
72844
  const controller = new AbortController();
72553
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS17);
72845
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS18);
72554
72846
  try {
72555
72847
  const response = await fetch(proxyUrl, {
72556
72848
  method: "POST",
@@ -72582,7 +72874,7 @@ Authentication is handled automatically via OAuth proxy.
72582
72874
  });
72583
72875
 
72584
72876
  // ../connectors/src/connectors/airtable-oauth/setup.ts
72585
- var requestToolName4 = `airtable-oauth_${requestTool10.name}`;
72877
+ var requestToolName5 = `airtable-oauth_${requestTool11.name}`;
72586
72878
  var airtableOauthOnboarding = new ConnectorOnboarding({
72587
72879
  connectionSetupInstructions: {
72588
72880
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Airtable OAuth\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
@@ -72592,7 +72884,7 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
72592
72884
  3. \`updateConnectionParameters\` \u3092\u547C\u3073\u51FA\u3059:
72593
72885
  - \`parameterSlug\`: \`"base-id"\`
72594
72886
  - \`value\`: \u62BD\u51FA\u3057\u305F\u30D9\u30FC\u30B9ID
72595
- 4. \`${requestToolName4}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30D9\u30FC\u30B9\u306E\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
72887
+ 4. \`${requestToolName5}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30D9\u30FC\u30B9\u306E\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
72596
72888
  - \`method\`: \`"GET"\`
72597
72889
  - \`path\`: \`"/meta/bases/{baseId}/tables"\`
72598
72890
  5. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306B\u30D9\u30FC\u30B9\u306E\u5171\u6709\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -72611,7 +72903,7 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
72611
72903
  3. Call \`updateConnectionParameters\`:
72612
72904
  - \`parameterSlug\`: \`"base-id"\`
72613
72905
  - \`value\`: The extracted base ID
72614
- 4. Call \`${requestToolName4}\` to fetch the base's table list:
72906
+ 4. Call \`${requestToolName5}\` to fetch the base's table list:
72615
72907
  - \`method\`: \`"GET"\`
72616
72908
  - \`path\`: \`"/meta/bases/{baseId}/tables"\`
72617
72909
  5. If an error is returned, ask the user to check the base sharing settings
@@ -72633,14 +72925,14 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
72633
72925
  });
72634
72926
 
72635
72927
  // ../connectors/src/connectors/airtable-oauth/index.ts
72636
- var tools19 = { request: requestTool10 };
72928
+ var tools20 = { request: requestTool11 };
72637
72929
  var airtableOauthConnector = new ConnectorPlugin({
72638
72930
  slug: "airtable",
72639
72931
  authType: AUTH_TYPES.OAUTH,
72640
72932
  name: "Airtable (OAuth)",
72641
72933
  description: "Connect to Airtable for spreadsheet-database hybrid data management using OAuth.",
72642
72934
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/19JUphfOZjyjTK6Zg4NGCf/8c56227b088cada52d3a2d9385a3be97/airtable.svg",
72643
- parameters: parameters19,
72935
+ parameters: parameters20,
72644
72936
  releaseFlag: { dev1: true, dev2: false, prod: false },
72645
72937
  onboarding: airtableOauthOnboarding,
72646
72938
  proxyPolicy: {
@@ -72749,10 +73041,10 @@ const records = await airtable.request("/{baseId}/Tasks?maxRecords=100");
72749
73041
  const recordsData = await records.json();
72750
73042
  \`\`\``
72751
73043
  },
72752
- tools: tools19,
73044
+ tools: tools20,
72753
73045
  async checkConnection(params, config) {
72754
73046
  const { proxyFetch } = config;
72755
- const baseId = params[parameters19.baseId.slug];
73047
+ const baseId = params[parameters20.baseId.slug];
72756
73048
  if (!baseId) {
72757
73049
  return { success: true };
72758
73050
  }
@@ -72791,7 +73083,7 @@ var kintoneOnboarding = new ConnectorOnboarding({
72791
73083
  });
72792
73084
 
72793
73085
  // ../connectors/src/connectors/kintone/parameters.ts
72794
- var parameters20 = {
73086
+ var parameters21 = {
72795
73087
  baseUrl: new ParameterDefinition({
72796
73088
  slug: "base-url",
72797
73089
  name: "kintone Base URL",
@@ -72822,32 +73114,32 @@ var parameters20 = {
72822
73114
  };
72823
73115
 
72824
73116
  // ../connectors/src/connectors/kintone/tools/request.ts
72825
- import { z as z28 } from "zod";
72826
- var REQUEST_TIMEOUT_MS18 = 6e4;
72827
- var inputSchema28 = z28.object({
72828
- toolUseIntent: z28.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
72829
- connectionId: z28.string().describe("ID of the kintone connection to use"),
72830
- method: z28.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
72831
- path: z28.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
72832
- body: z28.record(z28.string(), z28.unknown()).optional().describe("Request body (JSON)")
73117
+ import { z as z29 } from "zod";
73118
+ var REQUEST_TIMEOUT_MS19 = 6e4;
73119
+ var inputSchema29 = z29.object({
73120
+ toolUseIntent: z29.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73121
+ connectionId: z29.string().describe("ID of the kintone connection to use"),
73122
+ method: z29.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
73123
+ path: z29.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
73124
+ body: z29.record(z29.string(), z29.unknown()).optional().describe("Request body (JSON)")
72833
73125
  });
72834
- var outputSchema28 = z28.discriminatedUnion("success", [
72835
- z28.object({
72836
- success: z28.literal(true),
72837
- status: z28.number(),
72838
- data: z28.record(z28.string(), z28.unknown())
73126
+ var outputSchema29 = z29.discriminatedUnion("success", [
73127
+ z29.object({
73128
+ success: z29.literal(true),
73129
+ status: z29.number(),
73130
+ data: z29.record(z29.string(), z29.unknown())
72839
73131
  }),
72840
- z28.object({
72841
- success: z28.literal(false),
72842
- error: z28.string()
73132
+ z29.object({
73133
+ success: z29.literal(false),
73134
+ error: z29.string()
72843
73135
  })
72844
73136
  ]);
72845
- var requestTool11 = new ConnectorTool({
73137
+ var requestTool12 = new ConnectorTool({
72846
73138
  name: "request",
72847
73139
  description: `Send authenticated requests to the kintone REST API.
72848
73140
  Authentication is handled automatically using username and password.`,
72849
- inputSchema: inputSchema28,
72850
- outputSchema: outputSchema28,
73141
+ inputSchema: inputSchema29,
73142
+ outputSchema: outputSchema29,
72851
73143
  async execute({ connectionId, method, path: path5, body }, connections) {
72852
73144
  const connection2 = connections.find((c6) => c6.id === connectionId);
72853
73145
  if (!connection2) {
@@ -72855,13 +73147,13 @@ Authentication is handled automatically using username and password.`,
72855
73147
  }
72856
73148
  console.log(`[connector-request] kintone/${connection2.name}: ${method} ${path5}`);
72857
73149
  try {
72858
- const baseUrl = parameters20.baseUrl.getValue(connection2);
72859
- const username = parameters20.username.getValue(connection2);
72860
- const password = parameters20.password.getValue(connection2);
73150
+ const baseUrl = parameters21.baseUrl.getValue(connection2);
73151
+ const username = parameters21.username.getValue(connection2);
73152
+ const password = parameters21.password.getValue(connection2);
72861
73153
  const authToken = Buffer.from(`${username}:${password}`).toString("base64");
72862
73154
  const url = `${baseUrl.replace(/\/+$/, "")}/k/v1/${path5}`;
72863
73155
  const controller = new AbortController();
72864
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS18);
73156
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS19);
72865
73157
  try {
72866
73158
  const headers = {
72867
73159
  "X-Cybozu-Authorization": authToken
@@ -72894,14 +73186,14 @@ Authentication is handled automatically using username and password.`,
72894
73186
  });
72895
73187
 
72896
73188
  // ../connectors/src/connectors/kintone/index.ts
72897
- var tools20 = { request: requestTool11 };
73189
+ var tools21 = { request: requestTool12 };
72898
73190
  var kintoneConnector = new ConnectorPlugin({
72899
73191
  slug: "kintone",
72900
73192
  authType: null,
72901
73193
  name: "kintone (Password)",
72902
73194
  description: "Connect to kintone for business application data retrieval and analytics.",
72903
73195
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/76nPGMJFZkMFE3UQNo2JFy/e71dc5f5d5cec1306ce0e17aafbfd9f0/kintone.png",
72904
- parameters: parameters20,
73196
+ parameters: parameters21,
72905
73197
  releaseFlag: { dev1: true, dev2: true, prod: true },
72906
73198
  onboarding: kintoneOnboarding,
72907
73199
  systemPrompt: {
@@ -73040,7 +73332,7 @@ export default async function handler(c: Context) {
73040
73332
  - \u5236\u9650: \`limit 100 offset 0\`
73041
73333
  - \u6587\u5B57\u5217: \`like "\u90E8\u5206\u4E00\u81F4"\``
73042
73334
  },
73043
- tools: tools20
73335
+ tools: tools21
73044
73336
  });
73045
73337
 
73046
73338
  // ../connectors/src/connectors/kintone-api-token/setup.ts
@@ -73056,7 +73348,7 @@ var kintoneApiTokenOnboarding = new ConnectorOnboarding({
73056
73348
  });
73057
73349
 
73058
73350
  // ../connectors/src/connectors/kintone-api-token/parameters.ts
73059
- var parameters21 = {
73351
+ var parameters22 = {
73060
73352
  baseUrl: new ParameterDefinition({
73061
73353
  slug: "base-url",
73062
73354
  name: "kintone Base URL",
@@ -73078,32 +73370,32 @@ var parameters21 = {
73078
73370
  };
73079
73371
 
73080
73372
  // ../connectors/src/connectors/kintone-api-token/tools/request.ts
73081
- import { z as z29 } from "zod";
73082
- var REQUEST_TIMEOUT_MS19 = 6e4;
73083
- var inputSchema29 = z29.object({
73084
- toolUseIntent: z29.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73085
- connectionId: z29.string().describe("ID of the kintone connection to use"),
73086
- method: z29.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
73087
- path: z29.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
73088
- body: z29.record(z29.string(), z29.unknown()).optional().describe("Request body (JSON)")
73373
+ import { z as z30 } from "zod";
73374
+ var REQUEST_TIMEOUT_MS20 = 6e4;
73375
+ var inputSchema30 = z30.object({
73376
+ toolUseIntent: z30.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73377
+ connectionId: z30.string().describe("ID of the kintone connection to use"),
73378
+ method: z30.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
73379
+ path: z30.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
73380
+ body: z30.record(z30.string(), z30.unknown()).optional().describe("Request body (JSON)")
73089
73381
  });
73090
- var outputSchema29 = z29.discriminatedUnion("success", [
73091
- z29.object({
73092
- success: z29.literal(true),
73093
- status: z29.number(),
73094
- data: z29.record(z29.string(), z29.unknown())
73382
+ var outputSchema30 = z30.discriminatedUnion("success", [
73383
+ z30.object({
73384
+ success: z30.literal(true),
73385
+ status: z30.number(),
73386
+ data: z30.record(z30.string(), z30.unknown())
73095
73387
  }),
73096
- z29.object({
73097
- success: z29.literal(false),
73098
- error: z29.string()
73388
+ z30.object({
73389
+ success: z30.literal(false),
73390
+ error: z30.string()
73099
73391
  })
73100
73392
  ]);
73101
- var requestTool12 = new ConnectorTool({
73393
+ var requestTool13 = new ConnectorTool({
73102
73394
  name: "request",
73103
73395
  description: `Send authenticated requests to the kintone REST API.
73104
73396
  Authentication is handled automatically using the API token.`,
73105
- inputSchema: inputSchema29,
73106
- outputSchema: outputSchema29,
73397
+ inputSchema: inputSchema30,
73398
+ outputSchema: outputSchema30,
73107
73399
  async execute({ connectionId, method, path: path5, body }, connections) {
73108
73400
  const connection2 = connections.find((c6) => c6.id === connectionId);
73109
73401
  if (!connection2) {
@@ -73111,11 +73403,11 @@ Authentication is handled automatically using the API token.`,
73111
73403
  }
73112
73404
  console.log(`[connector-request] kintone-api-token/${connection2.name}: ${method} ${path5}`);
73113
73405
  try {
73114
- const baseUrl = parameters21.baseUrl.getValue(connection2);
73115
- const apiToken = parameters21.apiToken.getValue(connection2);
73406
+ const baseUrl = parameters22.baseUrl.getValue(connection2);
73407
+ const apiToken = parameters22.apiToken.getValue(connection2);
73116
73408
  const url = `${baseUrl.replace(/\/+$/, "")}/k/v1/${path5}`;
73117
73409
  const controller = new AbortController();
73118
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS19);
73410
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS20);
73119
73411
  try {
73120
73412
  const headers = {
73121
73413
  "X-Cybozu-API-Token": apiToken
@@ -73148,14 +73440,14 @@ Authentication is handled automatically using the API token.`,
73148
73440
  });
73149
73441
 
73150
73442
  // ../connectors/src/connectors/kintone-api-token/index.ts
73151
- var tools21 = { request: requestTool12 };
73443
+ var tools22 = { request: requestTool13 };
73152
73444
  var kintoneApiTokenConnector = new ConnectorPlugin({
73153
73445
  slug: "kintone",
73154
73446
  authType: AUTH_TYPES.API_KEY,
73155
73447
  name: "kintone (API Token)",
73156
73448
  description: "Connect to kintone for business application data retrieval and analytics using API token authentication.",
73157
73449
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/76nPGMJFZkMFE3UQNo2JFy/e71dc5f5d5cec1306ce0e17aafbfd9f0/kintone.png",
73158
- parameters: parameters21,
73450
+ parameters: parameters22,
73159
73451
  releaseFlag: { dev1: true, dev2: false, prod: false },
73160
73452
  onboarding: kintoneApiTokenOnboarding,
73161
73453
  systemPrompt: {
@@ -73254,7 +73546,7 @@ await kintone.request("/k/v1/record.json", {
73254
73546
  });
73255
73547
  \`\`\``
73256
73548
  },
73257
- tools: tools21
73549
+ tools: tools22
73258
73550
  });
73259
73551
 
73260
73552
  // ../connectors/src/connectors/wix-store/setup.ts
@@ -73270,7 +73562,7 @@ var wixStoreOnboarding = new ConnectorOnboarding({
73270
73562
  });
73271
73563
 
73272
73564
  // ../connectors/src/connectors/wix-store/parameters.ts
73273
- var parameters22 = {
73565
+ var parameters23 = {
73274
73566
  accountId: new ParameterDefinition({
73275
73567
  slug: "account-id",
73276
73568
  name: "Account ID",
@@ -73301,33 +73593,33 @@ var parameters22 = {
73301
73593
  };
73302
73594
 
73303
73595
  // ../connectors/src/connectors/wix-store/tools/request.ts
73304
- import { z as z30 } from "zod";
73305
- var BASE_URL13 = "https://www.wixapis.com/";
73306
- var REQUEST_TIMEOUT_MS20 = 6e4;
73307
- var inputSchema30 = z30.object({
73308
- toolUseIntent: z30.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73309
- connectionId: z30.string().describe("ID of the Wix Store connection to use"),
73310
- method: z30.enum(["GET", "POST"]).describe("HTTP method"),
73311
- path: z30.string().describe("API path (e.g., 'stores/v1/products/query', 'stores/v2/orders/query')"),
73312
- body: z30.record(z30.string(), z30.unknown()).optional().describe("Request body (JSON)")
73596
+ import { z as z31 } from "zod";
73597
+ var BASE_URL14 = "https://www.wixapis.com/";
73598
+ var REQUEST_TIMEOUT_MS21 = 6e4;
73599
+ var inputSchema31 = z31.object({
73600
+ toolUseIntent: z31.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73601
+ connectionId: z31.string().describe("ID of the Wix Store connection to use"),
73602
+ method: z31.enum(["GET", "POST"]).describe("HTTP method"),
73603
+ path: z31.string().describe("API path (e.g., 'stores/v1/products/query', 'stores/v2/orders/query')"),
73604
+ body: z31.record(z31.string(), z31.unknown()).optional().describe("Request body (JSON)")
73313
73605
  });
73314
- var outputSchema30 = z30.discriminatedUnion("success", [
73315
- z30.object({
73316
- success: z30.literal(true),
73317
- status: z30.number(),
73318
- data: z30.record(z30.string(), z30.unknown())
73606
+ var outputSchema31 = z31.discriminatedUnion("success", [
73607
+ z31.object({
73608
+ success: z31.literal(true),
73609
+ status: z31.number(),
73610
+ data: z31.record(z31.string(), z31.unknown())
73319
73611
  }),
73320
- z30.object({
73321
- success: z30.literal(false),
73322
- error: z30.string()
73612
+ z31.object({
73613
+ success: z31.literal(false),
73614
+ error: z31.string()
73323
73615
  })
73324
73616
  ]);
73325
- var requestTool13 = new ConnectorTool({
73617
+ var requestTool14 = new ConnectorTool({
73326
73618
  name: "request",
73327
73619
  description: `Send authenticated requests to the Wix Store API.
73328
73620
  Authentication is handled automatically using the API Key and Site ID.`,
73329
- inputSchema: inputSchema30,
73330
- outputSchema: outputSchema30,
73621
+ inputSchema: inputSchema31,
73622
+ outputSchema: outputSchema31,
73331
73623
  async execute({ connectionId, method, path: path5, body }, connections) {
73332
73624
  const connection2 = connections.find((c6) => c6.id === connectionId);
73333
73625
  if (!connection2) {
@@ -73335,11 +73627,11 @@ Authentication is handled automatically using the API Key and Site ID.`,
73335
73627
  }
73336
73628
  console.log(`[connector-request] wix-store/${connection2.name}: ${method} ${path5}`);
73337
73629
  try {
73338
- const apiKey = parameters22.apiKey.getValue(connection2);
73339
- const siteId = parameters22.siteId.getValue(connection2);
73340
- const url = `${BASE_URL13}${path5}`;
73630
+ const apiKey = parameters23.apiKey.getValue(connection2);
73631
+ const siteId = parameters23.siteId.getValue(connection2);
73632
+ const url = `${BASE_URL14}${path5}`;
73341
73633
  const controller = new AbortController();
73342
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS20);
73634
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS21);
73343
73635
  try {
73344
73636
  const response = await fetch(url, {
73345
73637
  method,
@@ -73371,14 +73663,14 @@ Authentication is handled automatically using the API Key and Site ID.`,
73371
73663
  });
73372
73664
 
73373
73665
  // ../connectors/src/connectors/wix-store/index.ts
73374
- var tools22 = { request: requestTool13 };
73666
+ var tools23 = { request: requestTool14 };
73375
73667
  var wixStoreConnector = new ConnectorPlugin({
73376
73668
  slug: "wix-store",
73377
73669
  authType: null,
73378
73670
  name: "Wix Store",
73379
73671
  description: "Connect to Wix Store.",
73380
73672
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/YyFxclQFzROIYpFam6vRK/e7e75d3feac49a1cc5e433c147216d23/Wix_logo_black.svg",
73381
- parameters: parameters22,
73673
+ parameters: parameters23,
73382
73674
  releaseFlag: { dev1: true, dev2: true, prod: true },
73383
73675
  onboarding: wixStoreOnboarding,
73384
73676
  systemPrompt: {
@@ -73531,7 +73823,7 @@ export default async function handler(c: Context) {
73531
73823
  - \`POST stores/v2/inventoryItems/query\`
73532
73824
  - Body: \`{ "query": { "paging": { "limit": 50 } } }\``
73533
73825
  },
73534
- tools: tools22
73826
+ tools: tools23
73535
73827
  });
73536
73828
 
73537
73829
  // ../connectors/src/connectors/dbt/setup.ts
@@ -73547,7 +73839,7 @@ var dbtOnboarding = new ConnectorOnboarding({
73547
73839
  });
73548
73840
 
73549
73841
  // ../connectors/src/connectors/dbt/parameters.ts
73550
- var parameters23 = {
73842
+ var parameters24 = {
73551
73843
  host: new ParameterDefinition({
73552
73844
  slug: "host",
73553
73845
  name: "dbt Cloud Host",
@@ -73587,36 +73879,36 @@ var parameters23 = {
73587
73879
  };
73588
73880
 
73589
73881
  // ../connectors/src/connectors/dbt/tools/request.ts
73590
- import { z as z31 } from "zod";
73591
- var REQUEST_TIMEOUT_MS21 = 6e4;
73882
+ import { z as z32 } from "zod";
73883
+ var REQUEST_TIMEOUT_MS22 = 6e4;
73592
73884
  function resolveGraphqlEndpoint(host) {
73593
73885
  if (host.includes("emea")) return "https://metadata.emea.dbt.com/graphql";
73594
73886
  if (host.includes(".au.")) return "https://metadata.au.dbt.com/graphql";
73595
73887
  return "https://metadata.cloud.getdbt.com/graphql";
73596
73888
  }
73597
- var inputSchema31 = z31.object({
73598
- toolUseIntent: z31.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73599
- connectionId: z31.string().describe("ID of the dbt Cloud connection to use"),
73600
- query: z31.string().describe("GraphQL query"),
73601
- variables: z31.record(z31.string(), z31.unknown()).optional().describe("GraphQL variables (JSON)")
73889
+ var inputSchema32 = z32.object({
73890
+ toolUseIntent: z32.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
73891
+ connectionId: z32.string().describe("ID of the dbt Cloud connection to use"),
73892
+ query: z32.string().describe("GraphQL query"),
73893
+ variables: z32.record(z32.string(), z32.unknown()).optional().describe("GraphQL variables (JSON)")
73602
73894
  });
73603
- var outputSchema31 = z31.discriminatedUnion("success", [
73604
- z31.object({
73605
- success: z31.literal(true),
73606
- data: z31.record(z31.string(), z31.unknown())
73895
+ var outputSchema32 = z32.discriminatedUnion("success", [
73896
+ z32.object({
73897
+ success: z32.literal(true),
73898
+ data: z32.record(z32.string(), z32.unknown())
73607
73899
  }),
73608
- z31.object({
73609
- success: z31.literal(false),
73610
- error: z31.string()
73900
+ z32.object({
73901
+ success: z32.literal(false),
73902
+ error: z32.string()
73611
73903
  })
73612
73904
  ]);
73613
- var requestTool14 = new ConnectorTool({
73905
+ var requestTool15 = new ConnectorTool({
73614
73906
  name: "request",
73615
73907
  description: `Send authenticated requests to the dbt Cloud Discovery API (GraphQL).
73616
73908
  Authentication is handled automatically using the API token.
73617
73909
  {environmentId} in GraphQL variables is automatically replaced with the prod-env-id.`,
73618
- inputSchema: inputSchema31,
73619
- outputSchema: outputSchema31,
73910
+ inputSchema: inputSchema32,
73911
+ outputSchema: outputSchema32,
73620
73912
  async execute({ connectionId, query, variables }, connections) {
73621
73913
  const connection2 = connections.find((c6) => c6.id === connectionId);
73622
73914
  if (!connection2) {
@@ -73624,9 +73916,9 @@ Authentication is handled automatically using the API token.
73624
73916
  }
73625
73917
  console.log(`[connector-request] dbt/${connection2.name}: GraphQL query`);
73626
73918
  try {
73627
- const host = parameters23.host.getValue(connection2);
73628
- const token = parameters23.token.getValue(connection2);
73629
- const environmentId = parameters23.prodEnvId.getValue(connection2);
73919
+ const host = parameters24.host.getValue(connection2);
73920
+ const token = parameters24.token.getValue(connection2);
73921
+ const environmentId = parameters24.prodEnvId.getValue(connection2);
73630
73922
  const resolvedVariables = variables ? JSON.parse(
73631
73923
  JSON.stringify(variables).replace(
73632
73924
  /"\{environmentId\}"/g,
@@ -73635,7 +73927,7 @@ Authentication is handled automatically using the API token.
73635
73927
  ) : void 0;
73636
73928
  const endpoint = resolveGraphqlEndpoint(host);
73637
73929
  const controller = new AbortController();
73638
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS21);
73930
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS22);
73639
73931
  try {
73640
73932
  const response = await fetch(endpoint, {
73641
73933
  method: "POST",
@@ -73672,14 +73964,14 @@ Authentication is handled automatically using the API token.
73672
73964
  });
73673
73965
 
73674
73966
  // ../connectors/src/connectors/dbt/index.ts
73675
- var tools23 = { request: requestTool14 };
73967
+ var tools24 = { request: requestTool15 };
73676
73968
  var dbtConnector = new ConnectorPlugin({
73677
73969
  slug: "dbt",
73678
73970
  authType: null,
73679
73971
  name: "dbt",
73680
73972
  description: "Connect to dbt Cloud for data transformation and analytics engineering.",
73681
73973
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/4iT6ncXtdtHdkXexU0WgfZ/0367a38d245f2568eab5eb511f9ee692/dbt.png",
73682
- parameters: parameters23,
73974
+ parameters: parameters24,
73683
73975
  releaseFlag: { dev1: true, dev2: true, prod: true },
73684
73976
  onboarding: dbtOnboarding,
73685
73977
  systemPrompt: {
@@ -73902,7 +74194,7 @@ query($environmentId: BigInt!, $uniqueIds: [String!]!) {
73902
74194
  - \`ancestors\` / \`children\` \u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u4F7F\u7528\u3057\u3066\u95A2\u4FC2\u3092\u30C8\u30E9\u30D0\u30FC\u30B9\u3057\u307E\u3059
73903
74195
  - node\u5185\u3067 \`ancestors { uniqueId name }\` \u307E\u305F\u306F \`children { uniqueId name }\` \u3092\u53D6\u5F97\u3057\u307E\u3059`
73904
74196
  },
73905
- tools: tools23
74197
+ tools: tools24
73906
74198
  });
73907
74199
 
73908
74200
  // ../connectors/src/connectors/squadbase-db/setup.ts
@@ -73918,7 +74210,7 @@ var squadbaseDbOnboarding = new ConnectorOnboarding({
73918
74210
  });
73919
74211
 
73920
74212
  // ../connectors/src/connectors/squadbase-db/parameters.ts
73921
- var parameters24 = {
74213
+ var parameters25 = {
73922
74214
  connectionUrl: new ParameterDefinition({
73923
74215
  slug: "connection-url",
73924
74216
  name: "Connection URL",
@@ -73931,27 +74223,27 @@ var parameters24 = {
73931
74223
  };
73932
74224
 
73933
74225
  // ../connectors/src/connectors/squadbase-db/tools/execute-query.ts
73934
- import { z as z32 } from "zod";
74226
+ import { z as z33 } from "zod";
73935
74227
  var MAX_ROWS10 = 500;
73936
74228
  var CONNECT_TIMEOUT_MS3 = 1e4;
73937
74229
  var STATEMENT_TIMEOUT_MS2 = 6e4;
73938
- var inputSchema32 = z32.object({
73939
- toolUseIntent: z32.string().optional().describe(
74230
+ var inputSchema33 = z33.object({
74231
+ toolUseIntent: z33.string().optional().describe(
73940
74232
  "Brief description of what you intend to accomplish with this tool call"
73941
74233
  ),
73942
- connectionId: z32.string().describe("ID of the Squadbase DB connection to use"),
73943
- sql: z32.string().describe("PostgreSQL SQL query. Always include LIMIT in queries.")
74234
+ connectionId: z33.string().describe("ID of the Squadbase DB connection to use"),
74235
+ sql: z33.string().describe("PostgreSQL SQL query. Always include LIMIT in queries.")
73944
74236
  });
73945
- var outputSchema32 = z32.discriminatedUnion("success", [
73946
- z32.object({
73947
- success: z32.literal(true),
73948
- rowCount: z32.number(),
73949
- truncated: z32.boolean(),
73950
- rows: z32.array(z32.record(z32.string(), z32.unknown()))
74237
+ var outputSchema33 = z33.discriminatedUnion("success", [
74238
+ z33.object({
74239
+ success: z33.literal(true),
74240
+ rowCount: z33.number(),
74241
+ truncated: z33.boolean(),
74242
+ rows: z33.array(z33.record(z33.string(), z33.unknown()))
73951
74243
  }),
73952
- z32.object({
73953
- success: z32.literal(false),
73954
- error: z32.string()
74244
+ z33.object({
74245
+ success: z33.literal(false),
74246
+ error: z33.string()
73955
74247
  })
73956
74248
  ]);
73957
74249
  var executeQueryTool10 = new ConnectorTool({
@@ -73959,8 +74251,8 @@ var executeQueryTool10 = new ConnectorTool({
73959
74251
  description: `Execute SQL against Squadbase DB (PostgreSQL). Returns up to ${MAX_ROWS10} rows.
73960
74252
  Use for: schema exploration (information_schema), data sampling, analytical queries.
73961
74253
  Avoid loading large amounts of data; always include LIMIT in queries.`,
73962
- inputSchema: inputSchema32,
73963
- outputSchema: outputSchema32,
74254
+ inputSchema: inputSchema33,
74255
+ outputSchema: outputSchema33,
73964
74256
  async execute({ connectionId, sql }, connections) {
73965
74257
  const connection2 = connections.find((c6) => c6.id === connectionId);
73966
74258
  if (!connection2) {
@@ -73975,7 +74267,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
73975
74267
  let connectionUrl;
73976
74268
  try {
73977
74269
  const { Pool } = await import("pg");
73978
- connectionUrl = parameters24.connectionUrl.getValue(connection2);
74270
+ connectionUrl = parameters25.connectionUrl.getValue(connection2);
73979
74271
  const pool = new Pool({
73980
74272
  connectionString: connectionUrl,
73981
74273
  ssl: { rejectUnauthorized: false },
@@ -74006,14 +74298,14 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
74006
74298
  });
74007
74299
 
74008
74300
  // ../connectors/src/connectors/squadbase-db/index.ts
74009
- var tools24 = { executeQuery: executeQueryTool10 };
74301
+ var tools25 = { executeQuery: executeQueryTool10 };
74010
74302
  var squadbaseDbConnector = new ConnectorPlugin({
74011
74303
  slug: "squadbase-db",
74012
74304
  authType: null,
74013
74305
  name: "Squadbase DB",
74014
74306
  description: "Connect to Squadbase DB (PostgreSQL).",
74015
74307
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/25y0XqMxIufeD3egWH3bEl/659b4ade405890654cfaf91c03a4b458/icon.svg",
74016
- parameters: parameters24,
74308
+ parameters: parameters25,
74017
74309
  releaseFlag: { dev1: true, dev2: true, prod: true },
74018
74310
  onboarding: squadbaseDbOnboarding,
74019
74311
  systemPrompt: {
@@ -74046,11 +74338,11 @@ The business logic type for this connector is "sql".
74046
74338
  - \u30AB\u30E9\u30E0\u4E00\u89A7: \`SELECT column_name, data_type FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'xxx'\`
74047
74339
  - \u30AF\u30A8\u30EA\u306B\u306F\u5FC5\u305A LIMIT \u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044`
74048
74340
  },
74049
- tools: tools24,
74341
+ tools: tools25,
74050
74342
  async checkConnection(params, _config) {
74051
74343
  const { Pool } = await import("pg");
74052
74344
  const pool = new Pool({
74053
- connectionString: params[parameters24.connectionUrl.slug],
74345
+ connectionString: params[parameters25.connectionUrl.slug],
74054
74346
  ssl: { rejectUnauthorized: false },
74055
74347
  connectionTimeoutMillis: 1e4
74056
74348
  });
@@ -74067,7 +74359,7 @@ The business logic type for this connector is "sql".
74067
74359
  const { Pool } = await import("pg");
74068
74360
  const { text, values } = buildPositionalParams(sql, namedParams);
74069
74361
  const pool = new Pool({
74070
- connectionString: params[parameters24.connectionUrl.slug],
74362
+ connectionString: params[parameters25.connectionUrl.slug],
74071
74363
  ssl: { rejectUnauthorized: false },
74072
74364
  connectionTimeoutMillis: 1e4,
74073
74365
  statement_timeout: 6e4
@@ -74082,7 +74374,7 @@ The business logic type for this connector is "sql".
74082
74374
  });
74083
74375
 
74084
74376
  // ../connectors/src/connectors/openai/parameters.ts
74085
- var parameters25 = {
74377
+ var parameters26 = {
74086
74378
  apiKey: new ParameterDefinition({
74087
74379
  slug: "api-key",
74088
74380
  name: "OpenAI API Key",
@@ -74095,14 +74387,14 @@ var parameters25 = {
74095
74387
  };
74096
74388
 
74097
74389
  // ../connectors/src/connectors/openai/index.ts
74098
- var tools25 = {};
74390
+ var tools26 = {};
74099
74391
  var openaiConnector = new ConnectorPlugin({
74100
74392
  slug: "openai",
74101
74393
  authType: null,
74102
74394
  name: "OpenAI",
74103
74395
  description: "Connect to OpenAI for AI model inference, embeddings, and image generation.",
74104
74396
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/53XJtCgUlW10x6i1X8xpxM/0bfd634069f1d74241296543cb20427a/openai.svg",
74105
- parameters: parameters25,
74397
+ parameters: parameters26,
74106
74398
  releaseFlag: { dev1: true, dev2: true, prod: true },
74107
74399
  systemPrompt: {
74108
74400
  en: `### Business Logic
@@ -74152,11 +74444,11 @@ export default async function handler(c: Context) {
74152
74444
  }
74153
74445
  \`\`\``
74154
74446
  },
74155
- tools: tools25
74447
+ tools: tools26
74156
74448
  });
74157
74449
 
74158
74450
  // ../connectors/src/connectors/gemini/parameters.ts
74159
- var parameters26 = {
74451
+ var parameters27 = {
74160
74452
  apiKey: new ParameterDefinition({
74161
74453
  slug: "api-key",
74162
74454
  name: "Gemini API Key",
@@ -74169,14 +74461,14 @@ var parameters26 = {
74169
74461
  };
74170
74462
 
74171
74463
  // ../connectors/src/connectors/gemini/index.ts
74172
- var tools26 = {};
74464
+ var tools27 = {};
74173
74465
  var geminiConnector = new ConnectorPlugin({
74174
74466
  slug: "gemini",
74175
74467
  authType: null,
74176
74468
  name: "Gemini",
74177
74469
  description: "Connect to Google Gemini for AI model inference, embeddings, and multimodal generation.",
74178
74470
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6K2qZQZEQq90YENfrXy5my/c83c0c3815af0a97d29ee70f37215f01/gemini.png",
74179
- parameters: parameters26,
74471
+ parameters: parameters27,
74180
74472
  releaseFlag: { dev1: true, dev2: true, prod: true },
74181
74473
  systemPrompt: {
74182
74474
  en: `### Business Logic
@@ -74220,11 +74512,11 @@ export default async function handler(c: Context) {
74220
74512
  }
74221
74513
  \`\`\``
74222
74514
  },
74223
- tools: tools26
74515
+ tools: tools27
74224
74516
  });
74225
74517
 
74226
74518
  // ../connectors/src/connectors/anthropic/parameters.ts
74227
- var parameters27 = {
74519
+ var parameters28 = {
74228
74520
  apiKey: new ParameterDefinition({
74229
74521
  slug: "api-key",
74230
74522
  name: "Anthropic API Key",
@@ -74237,14 +74529,14 @@ var parameters27 = {
74237
74529
  };
74238
74530
 
74239
74531
  // ../connectors/src/connectors/anthropic/index.ts
74240
- var tools27 = {};
74532
+ var tools28 = {};
74241
74533
  var anthropicConnector = new ConnectorPlugin({
74242
74534
  slug: "anthropic",
74243
74535
  authType: null,
74244
74536
  name: "Anthropic",
74245
74537
  description: "Connect to Anthropic for AI model inference and text generation with Claude.",
74246
74538
  iconUrl: "https://www.anthropic.com/images/icons/safari-pinned-tab.svg",
74247
- parameters: parameters27,
74539
+ parameters: parameters28,
74248
74540
  releaseFlag: { dev1: true, dev2: true, prod: true },
74249
74541
  systemPrompt: {
74250
74542
  en: `### Business Logic
@@ -74296,7 +74588,7 @@ export default async function handler(c: Context) {
74296
74588
  }
74297
74589
  \`\`\``
74298
74590
  },
74299
- tools: tools27
74591
+ tools: tools28
74300
74592
  });
74301
74593
 
74302
74594
  // ../connectors/src/connectors/amplitude/setup.ts
@@ -74316,7 +74608,7 @@ NOTE: The Dashboard REST API endpoints (events/segmentation, funnels, retention,
74316
74608
  });
74317
74609
 
74318
74610
  // ../connectors/src/connectors/amplitude/parameters.ts
74319
- var parameters28 = {
74611
+ var parameters29 = {
74320
74612
  apiKey: new ParameterDefinition({
74321
74613
  slug: "api-key",
74322
74614
  name: "Amplitude API Key",
@@ -74347,33 +74639,33 @@ var parameters28 = {
74347
74639
  };
74348
74640
 
74349
74641
  // ../connectors/src/connectors/amplitude/tools/request.ts
74350
- import { z as z33 } from "zod";
74351
- var REQUEST_TIMEOUT_MS22 = 6e4;
74352
- var inputSchema33 = z33.object({
74353
- toolUseIntent: z33.string().optional().describe(
74642
+ import { z as z34 } from "zod";
74643
+ var REQUEST_TIMEOUT_MS23 = 6e4;
74644
+ var inputSchema34 = z34.object({
74645
+ toolUseIntent: z34.string().optional().describe(
74354
74646
  "Brief description of what you intend to accomplish with this tool call"
74355
74647
  ),
74356
- connectionId: z33.string().describe("ID of the Amplitude connection to use"),
74357
- method: z33.enum(["GET", "POST"]).describe(
74648
+ connectionId: z34.string().describe("ID of the Amplitude connection to use"),
74649
+ method: z34.enum(["GET", "POST"]).describe(
74358
74650
  "HTTP method. GET for most read endpoints (events/list, export, usersearch, useractivity). POST is rarely needed."
74359
74651
  ),
74360
- url: z33.string().describe(
74652
+ url: z34.string().describe(
74361
74653
  "Full URL including query parameters (e.g., 'https://amplitude.com/api/2/events/list', 'https://amplitude.com/api/2/export?start=20240101T00&end=20240102T00')"
74362
74654
  ),
74363
- body: z33.record(z33.string(), z33.unknown()).optional().describe("Request body (JSON) for POST requests")
74655
+ body: z34.record(z34.string(), z34.unknown()).optional().describe("Request body (JSON) for POST requests")
74364
74656
  });
74365
- var outputSchema33 = z33.discriminatedUnion("success", [
74366
- z33.object({
74367
- success: z33.literal(true),
74368
- status: z33.number(),
74369
- data: z33.record(z33.string(), z33.unknown())
74657
+ var outputSchema34 = z34.discriminatedUnion("success", [
74658
+ z34.object({
74659
+ success: z34.literal(true),
74660
+ status: z34.number(),
74661
+ data: z34.record(z34.string(), z34.unknown())
74370
74662
  }),
74371
- z33.object({
74372
- success: z33.literal(false),
74373
- error: z33.string()
74663
+ z34.object({
74664
+ success: z34.literal(false),
74665
+ error: z34.string()
74374
74666
  })
74375
74667
  ]);
74376
- var requestTool15 = new ConnectorTool({
74668
+ var requestTool16 = new ConnectorTool({
74377
74669
  name: "request",
74378
74670
  description: `Send authenticated requests to the Amplitude REST API.
74379
74671
  Authentication is handled automatically using Basic auth (API Key + Secret Key).
@@ -74387,8 +74679,8 @@ Recommended endpoints (available on all plans):
74387
74679
  - GET {baseUrl}/api/2/useractivity?user=AMPLITUDE_ID \u2014 user activity
74388
74680
 
74389
74681
  IMPORTANT: Dashboard REST API endpoints (events/segmentation, funnels, retention, revenue, etc.) require a paid Growth or Enterprise plan and will return 403 Forbidden on free plans. Always try the Export API first and aggregate data in code.`,
74390
- inputSchema: inputSchema33,
74391
- outputSchema: outputSchema33,
74682
+ inputSchema: inputSchema34,
74683
+ outputSchema: outputSchema34,
74392
74684
  async execute({ connectionId, method, url, body }, connections) {
74393
74685
  const connection2 = connections.find((c6) => c6.id === connectionId);
74394
74686
  if (!connection2) {
@@ -74401,11 +74693,11 @@ IMPORTANT: Dashboard REST API endpoints (events/segmentation, funnels, retention
74401
74693
  `[connector-request] amplitude/${connection2.name}: ${method} ${url}`
74402
74694
  );
74403
74695
  try {
74404
- const apiKey = parameters28.apiKey.getValue(connection2);
74405
- const secretKey = parameters28.secretKey.getValue(connection2);
74696
+ const apiKey = parameters29.apiKey.getValue(connection2);
74697
+ const secretKey = parameters29.secretKey.getValue(connection2);
74406
74698
  const authToken = btoa(`${apiKey}:${secretKey}`);
74407
74699
  const controller = new AbortController();
74408
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS22);
74700
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS23);
74409
74701
  try {
74410
74702
  const response = await fetch(url, {
74411
74703
  method,
@@ -74433,14 +74725,14 @@ IMPORTANT: Dashboard REST API endpoints (events/segmentation, funnels, retention
74433
74725
  });
74434
74726
 
74435
74727
  // ../connectors/src/connectors/amplitude/index.ts
74436
- var tools28 = { request: requestTool15 };
74728
+ var tools29 = { request: requestTool16 };
74437
74729
  var amplitudeConnector = new ConnectorPlugin({
74438
74730
  slug: "amplitude",
74439
74731
  authType: null,
74440
74732
  name: "Amplitude",
74441
74733
  description: "Connect to Amplitude for product analytics and user behavior data.",
74442
74734
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2UBJSdRlFJaLq52WUCTBEB/308b59b374cf6c662ac70989860bffd7/amplitude-icon.svg",
74443
- parameters: parameters28,
74735
+ parameters: parameters29,
74444
74736
  releaseFlag: { dev1: true, dev2: false, prod: false },
74445
74737
  onboarding: amplitudeOnboarding,
74446
74738
  systemPrompt: {
@@ -74573,7 +74865,7 @@ export default async function handler(c: Context) {
74573
74865
  - \`i\` \u2014 \u30A4\u30F3\u30BF\u30FC\u30D0\u30EB\uFF081=\u65E5\u6B21\u30017=\u9031\u6B21\u300130=\u6708\u6B21\uFF09
74574
74866
  - \`g\` \u2014 \u30B0\u30EB\u30FC\u30D7\u5316\u30D7\u30ED\u30D1\u30C6\u30A3`
74575
74867
  },
74576
- tools: tools28
74868
+ tools: tools29
74577
74869
  });
74578
74870
 
74579
74871
  // ../connectors/src/connectors/attio/setup.ts
@@ -74591,7 +74883,7 @@ var attioOnboarding = new ConnectorOnboarding({
74591
74883
  });
74592
74884
 
74593
74885
  // ../connectors/src/connectors/attio/parameters.ts
74594
- var parameters29 = {
74886
+ var parameters30 = {
74595
74887
  apiKey: new ParameterDefinition({
74596
74888
  slug: "api-key",
74597
74889
  name: "Attio API Key",
@@ -74604,41 +74896,41 @@ var parameters29 = {
74604
74896
  };
74605
74897
 
74606
74898
  // ../connectors/src/connectors/attio/tools/request.ts
74607
- import { z as z34 } from "zod";
74608
- var BASE_URL14 = "https://api.attio.com/v2";
74609
- var REQUEST_TIMEOUT_MS23 = 6e4;
74610
- var inputSchema34 = z34.object({
74611
- toolUseIntent: z34.string().optional().describe(
74899
+ import { z as z35 } from "zod";
74900
+ var BASE_URL15 = "https://api.attio.com/v2";
74901
+ var REQUEST_TIMEOUT_MS24 = 6e4;
74902
+ var inputSchema35 = z35.object({
74903
+ toolUseIntent: z35.string().optional().describe(
74612
74904
  "Brief description of what you intend to accomplish with this tool call"
74613
74905
  ),
74614
- connectionId: z34.string().describe("ID of the Attio connection to use"),
74615
- method: z34.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
74906
+ connectionId: z35.string().describe("ID of the Attio connection to use"),
74907
+ method: z35.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
74616
74908
  "HTTP method. GET for reading resources, POST for creating or querying records, PATCH for updating, DELETE for removing."
74617
74909
  ),
74618
- path: z34.string().describe(
74910
+ path: z35.string().describe(
74619
74911
  "API path (e.g., '/objects', '/objects/people/records/query', '/objects/companies/records/{record_id}')"
74620
74912
  ),
74621
- body: z34.record(z34.string(), z34.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
74913
+ body: z35.record(z35.string(), z35.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
74622
74914
  });
74623
- var outputSchema34 = z34.discriminatedUnion("success", [
74624
- z34.object({
74625
- success: z34.literal(true),
74626
- status: z34.number(),
74627
- data: z34.record(z34.string(), z34.unknown())
74915
+ var outputSchema35 = z35.discriminatedUnion("success", [
74916
+ z35.object({
74917
+ success: z35.literal(true),
74918
+ status: z35.number(),
74919
+ data: z35.record(z35.string(), z35.unknown())
74628
74920
  }),
74629
- z34.object({
74630
- success: z34.literal(false),
74631
- error: z34.string()
74921
+ z35.object({
74922
+ success: z35.literal(false),
74923
+ error: z35.string()
74632
74924
  })
74633
74925
  ]);
74634
- var requestTool16 = new ConnectorTool({
74926
+ var requestTool17 = new ConnectorTool({
74635
74927
  name: "request",
74636
74928
  description: `Send authenticated requests to the Attio REST API.
74637
74929
  Authentication is handled automatically using the API Key (Bearer token).
74638
74930
  Use this tool for all Attio API interactions: querying records (people, companies, deals), listing objects and attributes, managing list entries, and working with notes.
74639
74931
  Note that querying records uses POST (not GET) with a request body for filters.`,
74640
- inputSchema: inputSchema34,
74641
- outputSchema: outputSchema34,
74932
+ inputSchema: inputSchema35,
74933
+ outputSchema: outputSchema35,
74642
74934
  async execute({ connectionId, method, path: path5, body }, connections) {
74643
74935
  const connection2 = connections.find((c6) => c6.id === connectionId);
74644
74936
  if (!connection2) {
@@ -74651,10 +74943,10 @@ Note that querying records uses POST (not GET) with a request body for filters.`
74651
74943
  `[connector-request] attio/${connection2.name}: ${method} ${path5}`
74652
74944
  );
74653
74945
  try {
74654
- const apiKey = parameters29.apiKey.getValue(connection2);
74655
- const url = `${BASE_URL14}${path5}`;
74946
+ const apiKey = parameters30.apiKey.getValue(connection2);
74947
+ const url = `${BASE_URL15}${path5}`;
74656
74948
  const controller = new AbortController();
74657
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS23);
74949
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS24);
74658
74950
  try {
74659
74951
  const response = await fetch(url, {
74660
74952
  method,
@@ -74682,14 +74974,14 @@ Note that querying records uses POST (not GET) with a request body for filters.`
74682
74974
  });
74683
74975
 
74684
74976
  // ../connectors/src/connectors/attio/index.ts
74685
- var tools29 = { request: requestTool16 };
74977
+ var tools30 = { request: requestTool17 };
74686
74978
  var attioConnector = new ConnectorPlugin({
74687
74979
  slug: "attio",
74688
74980
  authType: null,
74689
74981
  name: "Attio",
74690
74982
  description: "Connect to Attio for CRM data and relationship intelligence.",
74691
74983
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2qqx99vvXJojUM3tSrSWPX/1e7c35e13da6b365b8b475c1effe568f/attio.svg",
74692
- parameters: parameters29,
74984
+ parameters: parameters30,
74693
74985
  releaseFlag: { dev1: true, dev2: false, prod: false },
74694
74986
  onboarding: attioOnboarding,
74695
74987
  systemPrompt: {
@@ -74808,7 +75100,7 @@ export default async function handler(c: Context) {
74808
75100
  - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u6700\u5927\u30EC\u30B3\u30FC\u30C9\u6570\uFF08\u30C7\u30D5\u30A9\u30EB\u30C825\uFF09
74809
75101
  - \`offset\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AA\u30D5\u30BB\u30C3\u30C8`
74810
75102
  },
74811
- tools: tools29
75103
+ tools: tools30
74812
75104
  });
74813
75105
 
74814
75106
  // ../connectors/src/connectors/shopify/setup.ts
@@ -74824,7 +75116,7 @@ var shopifyOnboarding = new ConnectorOnboarding({
74824
75116
  });
74825
75117
 
74826
75118
  // ../connectors/src/connectors/shopify/parameters.ts
74827
- var parameters30 = {
75119
+ var parameters31 = {
74828
75120
  storeDomain: new ParameterDefinition({
74829
75121
  slug: "store-domain",
74830
75122
  name: "Shop Name",
@@ -74855,40 +75147,40 @@ var parameters30 = {
74855
75147
  };
74856
75148
 
74857
75149
  // ../connectors/src/connectors/shopify/tools/request.ts
74858
- import { z as z35 } from "zod";
74859
- var REQUEST_TIMEOUT_MS24 = 6e4;
74860
- var inputSchema35 = z35.object({
74861
- toolUseIntent: z35.string().optional().describe(
75150
+ import { z as z36 } from "zod";
75151
+ var REQUEST_TIMEOUT_MS25 = 6e4;
75152
+ var inputSchema36 = z36.object({
75153
+ toolUseIntent: z36.string().optional().describe(
74862
75154
  "Brief description of what you intend to accomplish with this tool call"
74863
75155
  ),
74864
- connectionId: z35.string().describe("ID of the Shopify connection to use"),
74865
- method: z35.enum(["GET", "POST", "PUT", "DELETE"]).describe(
75156
+ connectionId: z36.string().describe("ID of the Shopify connection to use"),
75157
+ method: z36.enum(["GET", "POST", "PUT", "DELETE"]).describe(
74866
75158
  "HTTP method. GET for reading resources (products, orders, customers), POST for creating, PUT for updating, DELETE for removing."
74867
75159
  ),
74868
- path: z35.string().describe(
75160
+ path: z36.string().describe(
74869
75161
  "API path including version (e.g., '/admin/api/2024-10/products.json', '/admin/api/2024-10/orders.json?limit=50')"
74870
75162
  ),
74871
- body: z35.record(z35.string(), z35.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
75163
+ body: z36.record(z36.string(), z36.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
74872
75164
  });
74873
- var outputSchema35 = z35.discriminatedUnion("success", [
74874
- z35.object({
74875
- success: z35.literal(true),
74876
- status: z35.number(),
74877
- data: z35.record(z35.string(), z35.unknown())
75165
+ var outputSchema36 = z36.discriminatedUnion("success", [
75166
+ z36.object({
75167
+ success: z36.literal(true),
75168
+ status: z36.number(),
75169
+ data: z36.record(z36.string(), z36.unknown())
74878
75170
  }),
74879
- z35.object({
74880
- success: z35.literal(false),
74881
- error: z35.string()
75171
+ z36.object({
75172
+ success: z36.literal(false),
75173
+ error: z36.string()
74882
75174
  })
74883
75175
  ]);
74884
- var requestTool17 = new ConnectorTool({
75176
+ var requestTool18 = new ConnectorTool({
74885
75177
  name: "request",
74886
75178
  description: `Send authenticated requests to the Shopify Admin REST API.
74887
75179
  Authentication is handled automatically using Custom App credentials (Client ID + Client Secret). An access token is obtained on each request.
74888
75180
  The store domain is resolved from the connection \u2014 only provide the path starting with /admin/api/.
74889
75181
  Use this tool for all Shopify API interactions: listing products, orders, customers, inventory, collections, and more.`,
74890
- inputSchema: inputSchema35,
74891
- outputSchema: outputSchema35,
75182
+ inputSchema: inputSchema36,
75183
+ outputSchema: outputSchema36,
74892
75184
  async execute({ connectionId, method, path: path5, body }, connections) {
74893
75185
  const connection2 = connections.find((c6) => c6.id === connectionId);
74894
75186
  if (!connection2) {
@@ -74901,9 +75193,9 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
74901
75193
  `[connector-request] shopify/${connection2.name}: ${method} ${path5}`
74902
75194
  );
74903
75195
  try {
74904
- const storeDomain = parameters30.storeDomain.getValue(connection2);
74905
- const clientId = parameters30.clientId.getValue(connection2);
74906
- const clientSecret = parameters30.clientSecret.getValue(connection2);
75196
+ const storeDomain = parameters31.storeDomain.getValue(connection2);
75197
+ const clientId = parameters31.clientId.getValue(connection2);
75198
+ const clientSecret = parameters31.clientSecret.getValue(connection2);
74907
75199
  const tokenRes = await fetch(
74908
75200
  `https://${storeDomain}/admin/oauth/access_token`,
74909
75201
  {
@@ -74931,7 +75223,7 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
74931
75223
  }
74932
75224
  const url = `https://${storeDomain}${path5}`;
74933
75225
  const controller = new AbortController();
74934
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS24);
75226
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS25);
74935
75227
  try {
74936
75228
  const response = await fetch(url, {
74937
75229
  method,
@@ -74959,14 +75251,14 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
74959
75251
  });
74960
75252
 
74961
75253
  // ../connectors/src/connectors/shopify/index.ts
74962
- var tools30 = { request: requestTool17 };
75254
+ var tools31 = { request: requestTool18 };
74963
75255
  var shopifyConnector = new ConnectorPlugin({
74964
75256
  slug: "shopify",
74965
75257
  authType: null,
74966
75258
  name: "Shopify",
74967
75259
  description: "Connect to Shopify for e-commerce data including products, orders, and customers.",
74968
75260
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/57KEjZCBskKgSxgKyU4Sm0/117d681a410f48dc36f97cdd9c0593c5/shopify-icon.svg",
74969
- parameters: parameters30,
75261
+ parameters: parameters31,
74970
75262
  releaseFlag: { dev1: true, dev2: false, prod: false },
74971
75263
  onboarding: shopifyOnboarding,
74972
75264
  systemPrompt: {
@@ -75115,11 +75407,11 @@ export default async function handler(c: Context) {
75115
75407
  - \`updated_at_min\`, \`updated_at_max\` \u2014 \u66F4\u65B0\u65E5\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08ISO 8601\uFF09
75116
75408
  - \`status\` \u2014 \u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08\u4F8B: \u5546\u54C1\u306E\u5834\u5408 active, draft, archived\u3001\u6CE8\u6587\u306E\u5834\u5408 open, closed, cancelled, any\uFF09`
75117
75409
  },
75118
- tools: tools30
75410
+ tools: tools31
75119
75411
  });
75120
75412
 
75121
75413
  // ../connectors/src/connectors/slack/parameters.ts
75122
- var parameters31 = {
75414
+ var parameters32 = {
75123
75415
  botToken: new ParameterDefinition({
75124
75416
  slug: "bot-token",
75125
75417
  name: "Slack Bot Token",
@@ -75200,14 +75492,14 @@ The following scopes are commonly required. Inform the user if any are missing:
75200
75492
  });
75201
75493
 
75202
75494
  // ../connectors/src/connectors/slack/index.ts
75203
- var tools31 = {};
75495
+ var tools32 = {};
75204
75496
  var slackConnector = new ConnectorPlugin({
75205
75497
  slug: "slack",
75206
75498
  authType: null,
75207
75499
  name: "Slack",
75208
75500
  description: "Connect to Slack for messaging and workspace data retrieval.",
75209
75501
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/7zTp67vMTvAV1wPftt6Z9R/f859e25c223d9fe4c3fd4f83895acbf6/slack.svg",
75210
- parameters: parameters31,
75502
+ parameters: parameters32,
75211
75503
  releaseFlag: { dev1: true, dev2: false, prod: false },
75212
75504
  onboarding: slackOnboarding,
75213
75505
  systemPrompt: {
@@ -75282,12 +75574,12 @@ const data = await res.json();
75282
75574
  - \u30EC\u30FC\u30C8\u5236\u9650: Tier 1-4\u3001\u307B\u3068\u3093\u3069\u306E\u30E1\u30BD\u30C3\u30C9\u306FTier 3\uFF081\u5206\u3042\u305F\u308A50\u56DE\u4EE5\u4E0A\uFF09
75283
75575
  - \`data.ok\`\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044 \u2014 Slack\u306F\u30A8\u30E9\u30FC\u6642\u3082HTTP 200\u3092\u8FD4\u3057\u307E\u3059`
75284
75576
  },
75285
- tools: tools31
75577
+ tools: tools32
75286
75578
  });
75287
75579
 
75288
75580
  // ../connectors/src/connectors/shopify-oauth/tools/request.ts
75289
- import { z as z36 } from "zod";
75290
- var REQUEST_TIMEOUT_MS25 = 6e4;
75581
+ import { z as z37 } from "zod";
75582
+ var REQUEST_TIMEOUT_MS26 = 6e4;
75291
75583
  var cachedToken13 = null;
75292
75584
  async function getProxyToken13(config) {
75293
75585
  if (cachedToken13 && cachedToken13.expiresAt > Date.now() + 6e4) {
@@ -75319,35 +75611,35 @@ async function getProxyToken13(config) {
75319
75611
  };
75320
75612
  return data.token;
75321
75613
  }
75322
- var inputSchema36 = z36.object({
75323
- toolUseIntent: z36.string().optional().describe(
75614
+ var inputSchema37 = z37.object({
75615
+ toolUseIntent: z37.string().optional().describe(
75324
75616
  "Brief description of what you intend to accomplish with this tool call"
75325
75617
  ),
75326
- connectionId: z36.string().describe("ID of the Shopify OAuth connection to use"),
75327
- method: z36.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
75328
- path: z36.string().describe(
75618
+ connectionId: z37.string().describe("ID of the Shopify OAuth connection to use"),
75619
+ method: z37.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
75620
+ path: z37.string().describe(
75329
75621
  "API path (e.g., '/admin/api/2024-10/products.json', '/admin/api/2024-10/orders.json')"
75330
75622
  ),
75331
- queryParams: z36.record(z36.string(), z36.string()).optional().describe("Query parameters to append to the URL"),
75332
- body: z36.record(z36.string(), z36.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
75623
+ queryParams: z37.record(z37.string(), z37.string()).optional().describe("Query parameters to append to the URL"),
75624
+ body: z37.record(z37.string(), z37.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
75333
75625
  });
75334
- var outputSchema36 = z36.discriminatedUnion("success", [
75335
- z36.object({
75336
- success: z36.literal(true),
75337
- status: z36.number(),
75338
- data: z36.record(z36.string(), z36.unknown())
75626
+ var outputSchema37 = z37.discriminatedUnion("success", [
75627
+ z37.object({
75628
+ success: z37.literal(true),
75629
+ status: z37.number(),
75630
+ data: z37.record(z37.string(), z37.unknown())
75339
75631
  }),
75340
- z36.object({
75341
- success: z36.literal(false),
75342
- error: z36.string()
75632
+ z37.object({
75633
+ success: z37.literal(false),
75634
+ error: z37.string()
75343
75635
  })
75344
75636
  ]);
75345
- var requestTool18 = new ConnectorTool({
75637
+ var requestTool19 = new ConnectorTool({
75346
75638
  name: "request",
75347
75639
  description: `Send authenticated requests to the Shopify Admin API.
75348
75640
  Authentication is handled automatically via OAuth proxy.`,
75349
- inputSchema: inputSchema36,
75350
- outputSchema: outputSchema36,
75641
+ inputSchema: inputSchema37,
75642
+ outputSchema: outputSchema37,
75351
75643
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
75352
75644
  const connection2 = connections.find((c6) => c6.id === connectionId);
75353
75645
  if (!connection2) {
@@ -75368,7 +75660,7 @@ Authentication is handled automatically via OAuth proxy.`,
75368
75660
  const token = await getProxyToken13(config.oauthProxy);
75369
75661
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
75370
75662
  const controller = new AbortController();
75371
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS25);
75663
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS26);
75372
75664
  try {
75373
75665
  const response = await fetch(proxyUrl, {
75374
75666
  method: "POST",
@@ -75400,12 +75692,12 @@ Authentication is handled automatically via OAuth proxy.`,
75400
75692
  });
75401
75693
 
75402
75694
  // ../connectors/src/connectors/shopify-oauth/setup.ts
75403
- var requestToolName5 = `shopify-oauth_${requestTool18.name}`;
75695
+ var requestToolName6 = `shopify-oauth_${requestTool19.name}`;
75404
75696
  var shopifyOauthOnboarding = new ConnectorOnboarding({
75405
75697
  connectionSetupInstructions: {
75406
75698
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Shopify\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
75407
75699
 
75408
- 1. \`${requestToolName5}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30B7\u30E7\u30C3\u30D7\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
75700
+ 1. \`${requestToolName6}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30B7\u30E7\u30C3\u30D7\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
75409
75701
  - \`method\`: \`"GET"\`
75410
75702
  - \`path\`: \`"/admin/api/2024-10/shop.json"\`
75411
75703
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BOAuth\u63A5\u7D9A\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -75418,7 +75710,7 @@ var shopifyOauthOnboarding = new ConnectorOnboarding({
75418
75710
  - \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`,
75419
75711
  en: `Follow these steps to set up the Shopify connection.
75420
75712
 
75421
- 1. Call \`${requestToolName5}\` to fetch shop info:
75713
+ 1. Call \`${requestToolName6}\` to fetch shop info:
75422
75714
  - \`method\`: \`"GET"\`
75423
75715
  - \`path\`: \`"/admin/api/2024-10/shop.json"\`
75424
75716
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -75441,17 +75733,17 @@ var shopifyOauthOnboarding = new ConnectorOnboarding({
75441
75733
  });
75442
75734
 
75443
75735
  // ../connectors/src/connectors/shopify-oauth/parameters.ts
75444
- var parameters32 = {};
75736
+ var parameters33 = {};
75445
75737
 
75446
75738
  // ../connectors/src/connectors/shopify-oauth/index.ts
75447
- var tools32 = { request: requestTool18 };
75739
+ var tools33 = { request: requestTool19 };
75448
75740
  var shopifyOauthConnector = new ConnectorPlugin({
75449
75741
  slug: "shopify",
75450
75742
  authType: AUTH_TYPES.OAUTH,
75451
75743
  name: "Shopify (OAuth)",
75452
75744
  description: "Connect to Shopify for e-commerce data including products, orders, and customers using OAuth.",
75453
75745
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/57KEjZCBskKgSxgKyU4Sm0/117d681a410f48dc36f97cdd9c0593c5/shopify-icon.svg",
75454
- parameters: parameters32,
75746
+ parameters: parameters33,
75455
75747
  releaseFlag: { dev1: true, dev2: false, prod: false },
75456
75748
  onboarding: shopifyOauthOnboarding,
75457
75749
  proxyPolicy: {
@@ -75558,7 +75850,7 @@ const res = await shopify.request("/admin/api/2024-10/products.json?limit=10");
75558
75850
  const data = await res.json();
75559
75851
  \`\`\``
75560
75852
  },
75561
- tools: tools32,
75853
+ tools: tools33,
75562
75854
  async checkConnection(_params, config) {
75563
75855
  const { proxyFetch } = config;
75564
75856
  try {
@@ -75583,7 +75875,7 @@ const data = await res.json();
75583
75875
  });
75584
75876
 
75585
75877
  // ../connectors/src/connectors/ms-teams/parameters.ts
75586
- var parameters33 = {
75878
+ var parameters34 = {
75587
75879
  clientId: new ParameterDefinition({
75588
75880
  slug: "client-id",
75589
75881
  name: "Azure AD Client ID",
@@ -75614,14 +75906,14 @@ var parameters33 = {
75614
75906
  };
75615
75907
 
75616
75908
  // ../connectors/src/connectors/ms-teams/index.ts
75617
- var tools33 = {};
75909
+ var tools34 = {};
75618
75910
  var msTeamsConnector = new ConnectorPlugin({
75619
75911
  slug: "microsoft-teams",
75620
75912
  authType: null,
75621
75913
  name: "Microsoft Teams",
75622
75914
  description: "Connect to Microsoft Teams for messaging, channels, and team data.",
75623
75915
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6QM1sVuqarTJAB2UihVNQ9/12b8353c9b022916d72ef0f53349bae2/microsoft-teams-icon.svg",
75624
- parameters: parameters33,
75916
+ parameters: parameters34,
75625
75917
  releaseFlag: { dev1: true, dev2: false, prod: false },
75626
75918
  systemPrompt: {
75627
75919
  en: `### Microsoft Teams SDK (TypeScript handler)
@@ -75771,13 +76063,13 @@ const data = await res.json();
75771
76063
  - Graph API\u304C**403 Forbidden**\u3092\u8FD4\u3059\u5834\u5408\u3001Azure AD\u30A2\u30D7\u30EA\u306B\u5FC5\u8981\u306A\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u6A29\u9650\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u308B\u304B\u3001\u7BA1\u7406\u8005\u540C\u610F\u304C\u4ED8\u4E0E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30E6\u30FC\u30B6\u30FC\u306BAzure\u30DD\u30FC\u30BF\u30EB > \u30A2\u30D7\u30EA\u306E\u767B\u9332 > API\u6A29\u9650\u3067\u3001\u5FC5\u8981\u306A\u6A29\u9650\uFF08\u307E\u305F\u306F\u305D\u308C\u4EE5\u4E0A\u306E\u6A29\u9650\uFF09\u306E\u7BA1\u7406\u8005\u540C\u610F\u3092\u4ED8\u4E0E\u3059\u308B\u3088\u3046\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044: Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Read.All, Chat.Read.All, User.Read.All
75772
76064
  - Graph API\u304C**401 Unauthorized**\u3092\u8FD4\u3059\u5834\u5408\u3001\u30A2\u30AF\u30BB\u30B9\u30C8\u30FC\u30AF\u30F3\u304C\u7121\u52B9\u307E\u305F\u306F\u671F\u9650\u5207\u308C\u306E\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u8CC7\u683C\u60C5\u5831\u30D5\u30ED\u30FC\u3067\u518D\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044`
75773
76065
  },
75774
- tools: tools33
76066
+ tools: tools34
75775
76067
  });
75776
76068
 
75777
76069
  // ../connectors/src/connectors/ms-teams-oauth/tools/request.ts
75778
- import { z as z37 } from "zod";
75779
- var BASE_URL15 = "https://graph.microsoft.com";
75780
- var REQUEST_TIMEOUT_MS26 = 6e4;
76070
+ import { z as z38 } from "zod";
76071
+ var BASE_URL16 = "https://graph.microsoft.com";
76072
+ var REQUEST_TIMEOUT_MS27 = 6e4;
75781
76073
  var cachedToken14 = null;
75782
76074
  async function getProxyToken14(config) {
75783
76075
  if (cachedToken14 && cachedToken14.expiresAt > Date.now() + 6e4) {
@@ -75809,35 +76101,35 @@ async function getProxyToken14(config) {
75809
76101
  };
75810
76102
  return data.token;
75811
76103
  }
75812
- var inputSchema37 = z37.object({
75813
- toolUseIntent: z37.string().optional().describe(
76104
+ var inputSchema38 = z38.object({
76105
+ toolUseIntent: z38.string().optional().describe(
75814
76106
  "Brief description of what you intend to accomplish with this tool call"
75815
76107
  ),
75816
- connectionId: z37.string().describe("ID of the Microsoft Teams OAuth connection to use"),
75817
- method: z37.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
75818
- path: z37.string().describe(
76108
+ connectionId: z38.string().describe("ID of the Microsoft Teams OAuth connection to use"),
76109
+ method: z38.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
76110
+ path: z38.string().describe(
75819
76111
  "API path appended to https://graph.microsoft.com (e.g., '/v1.0/me/joinedTeams', '/v1.0/teams/{id}/channels')"
75820
76112
  ),
75821
- queryParams: z37.record(z37.string(), z37.string()).optional().describe("Query parameters to append to the URL"),
75822
- body: z37.record(z37.string(), z37.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
76113
+ queryParams: z38.record(z38.string(), z38.string()).optional().describe("Query parameters to append to the URL"),
76114
+ body: z38.record(z38.string(), z38.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
75823
76115
  });
75824
- var outputSchema37 = z37.discriminatedUnion("success", [
75825
- z37.object({
75826
- success: z37.literal(true),
75827
- status: z37.number(),
75828
- data: z37.record(z37.string(), z37.unknown())
76116
+ var outputSchema38 = z38.discriminatedUnion("success", [
76117
+ z38.object({
76118
+ success: z38.literal(true),
76119
+ status: z38.number(),
76120
+ data: z38.record(z38.string(), z38.unknown())
75829
76121
  }),
75830
- z37.object({
75831
- success: z37.literal(false),
75832
- error: z37.string()
76122
+ z38.object({
76123
+ success: z38.literal(false),
76124
+ error: z38.string()
75833
76125
  })
75834
76126
  ]);
75835
- var requestTool19 = new ConnectorTool({
76127
+ var requestTool20 = new ConnectorTool({
75836
76128
  name: "request",
75837
76129
  description: `Send authenticated requests to the Microsoft Graph API.
75838
76130
  Authentication is handled automatically via OAuth proxy.`,
75839
- inputSchema: inputSchema37,
75840
- outputSchema: outputSchema37,
76131
+ inputSchema: inputSchema38,
76132
+ outputSchema: outputSchema38,
75841
76133
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
75842
76134
  const connection2 = connections.find((c6) => c6.id === connectionId);
75843
76135
  if (!connection2) {
@@ -75850,7 +76142,7 @@ Authentication is handled automatically via OAuth proxy.`,
75850
76142
  `[connector-request] ms-teams-oauth/${connection2.name}: ${method} ${path5}`
75851
76143
  );
75852
76144
  try {
75853
- let url = `${BASE_URL15}${path5.startsWith("/") ? "" : "/"}${path5}`;
76145
+ let url = `${BASE_URL16}${path5.startsWith("/") ? "" : "/"}${path5}`;
75854
76146
  if (queryParams) {
75855
76147
  const searchParams = new URLSearchParams(queryParams);
75856
76148
  url += `?${searchParams.toString()}`;
@@ -75858,7 +76150,7 @@ Authentication is handled automatically via OAuth proxy.`,
75858
76150
  const token = await getProxyToken14(config.oauthProxy);
75859
76151
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
75860
76152
  const controller = new AbortController();
75861
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS26);
76153
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS27);
75862
76154
  try {
75863
76155
  const response = await fetch(proxyUrl, {
75864
76156
  method: "POST",
@@ -75890,12 +76182,12 @@ Authentication is handled automatically via OAuth proxy.`,
75890
76182
  });
75891
76183
 
75892
76184
  // ../connectors/src/connectors/ms-teams-oauth/setup.ts
75893
- var requestToolName6 = `microsoft-teams-oauth_${requestTool19.name}`;
76185
+ var requestToolName7 = `microsoft-teams-oauth_${requestTool20.name}`;
75894
76186
  var msTeamsOauthOnboarding = new ConnectorOnboarding({
75895
76187
  connectionSetupInstructions: {
75896
76188
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3092\u6B63\u78BA\u306B\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u624B\u9806\u306B\u8A18\u8F09\u306E\u306A\u3044\u8FFD\u52A0\u306EAPI\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u4E00\u5207\u884C\u308F\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
75897
76189
 
75898
- 1. \`${requestToolName6}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
76190
+ 1. \`${requestToolName7}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
75899
76191
  - \`method\`: \`"GET"\`
75900
76192
  - \`path\`: \`"/v1.0/me"\`
75901
76193
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BOAuth\u63A5\u7D9A\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -75909,7 +76201,7 @@ var msTeamsOauthOnboarding = new ConnectorOnboarding({
75909
76201
  - \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`,
75910
76202
  en: `Follow these steps exactly. Do NOT make any API requests not listed in the steps below.
75911
76203
 
75912
- 1. Call \`${requestToolName6}\` to fetch user info:
76204
+ 1. Call \`${requestToolName7}\` to fetch user info:
75913
76205
  - \`method\`: \`"GET"\`
75914
76206
  - \`path\`: \`"/v1.0/me"\`
75915
76207
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -75933,17 +76225,17 @@ var msTeamsOauthOnboarding = new ConnectorOnboarding({
75933
76225
  });
75934
76226
 
75935
76227
  // ../connectors/src/connectors/ms-teams-oauth/parameters.ts
75936
- var parameters34 = {};
76228
+ var parameters35 = {};
75937
76229
 
75938
76230
  // ../connectors/src/connectors/ms-teams-oauth/index.ts
75939
- var tools34 = { request: requestTool19 };
76231
+ var tools35 = { request: requestTool20 };
75940
76232
  var msTeamsOauthConnector = new ConnectorPlugin({
75941
76233
  slug: "microsoft-teams",
75942
76234
  authType: AUTH_TYPES.OAUTH,
75943
76235
  name: "Microsoft Teams (OAuth)",
75944
76236
  description: "Connect to Microsoft Teams for messaging, channels, and team data using OAuth.",
75945
76237
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6QM1sVuqarTJAB2UihVNQ9/12b8353c9b022916d72ef0f53349bae2/microsoft-teams-icon.svg",
75946
- parameters: parameters34,
76238
+ parameters: parameters35,
75947
76239
  releaseFlag: { dev1: true, dev2: false, prod: false },
75948
76240
  onboarding: msTeamsOauthOnboarding,
75949
76241
  proxyPolicy: {
@@ -76046,7 +76338,7 @@ const res = await teams.request("/v1.0/me/joinedTeams");
76046
76338
  const data = await res.json();
76047
76339
  \`\`\``
76048
76340
  },
76049
- tools: tools34,
76341
+ tools: tools35,
76050
76342
  async checkConnection(_params, config) {
76051
76343
  const { proxyFetch } = config;
76052
76344
  try {
@@ -76083,11 +76375,11 @@ var hubspotOnboarding2 = new ConnectorOnboarding({
76083
76375
  });
76084
76376
 
76085
76377
  // ../connectors/src/connectors/hubspot/parameters.ts
76086
- var parameters35 = {
76378
+ var parameters36 = {
76087
76379
  apiKey: new ParameterDefinition({
76088
76380
  slug: "api-key",
76089
- name: "Personal Access Key",
76090
- description: "Your HubSpot Personal Access Key for authentication (starts with pat-).",
76381
+ name: "Private App Access Token",
76382
+ description: "Your HubSpot Private App Access Token for authentication (starts with pat-). You can find it at Settings \u2192 Development \u2192 Legacy Apps \u2192 your Private App.",
76091
76383
  envVarBaseKey: "HUBSPOT_API_KEY",
76092
76384
  type: "text",
76093
76385
  secret: true,
@@ -76096,41 +76388,41 @@ var parameters35 = {
76096
76388
  };
76097
76389
 
76098
76390
  // ../connectors/src/connectors/hubspot/tools/request.ts
76099
- import { z as z38 } from "zod";
76100
- var BASE_URL16 = "https://api.hubapi.com";
76101
- var REQUEST_TIMEOUT_MS27 = 6e4;
76102
- var inputSchema38 = z38.object({
76103
- toolUseIntent: z38.string().optional().describe(
76391
+ import { z as z39 } from "zod";
76392
+ var BASE_URL17 = "https://api.hubapi.com";
76393
+ var REQUEST_TIMEOUT_MS28 = 6e4;
76394
+ var inputSchema39 = z39.object({
76395
+ toolUseIntent: z39.string().optional().describe(
76104
76396
  "Brief description of what you intend to accomplish with this tool call"
76105
76397
  ),
76106
- connectionId: z38.string().describe("ID of the HubSpot connection to use"),
76107
- method: z38.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
76398
+ connectionId: z39.string().describe("ID of the HubSpot connection to use"),
76399
+ method: z39.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
76108
76400
  "HTTP method. GET for reading resources, POST for creating or searching, PATCH for updating, DELETE for removing."
76109
76401
  ),
76110
- path: z38.string().describe(
76402
+ path: z39.string().describe(
76111
76403
  "API path appended to https://api.hubapi.com (e.g., '/crm/v3/objects/contacts', '/crm/v3/objects/deals', '/crm/v3/objects/contacts/search')"
76112
76404
  ),
76113
- body: z38.record(z38.string(), z38.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
76405
+ body: z39.record(z39.string(), z39.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
76114
76406
  });
76115
- var outputSchema38 = z38.discriminatedUnion("success", [
76116
- z38.object({
76117
- success: z38.literal(true),
76118
- status: z38.number(),
76119
- data: z38.record(z38.string(), z38.unknown())
76407
+ var outputSchema39 = z39.discriminatedUnion("success", [
76408
+ z39.object({
76409
+ success: z39.literal(true),
76410
+ status: z39.number(),
76411
+ data: z39.record(z39.string(), z39.unknown())
76120
76412
  }),
76121
- z38.object({
76122
- success: z38.literal(false),
76123
- error: z38.string()
76413
+ z39.object({
76414
+ success: z39.literal(false),
76415
+ error: z39.string()
76124
76416
  })
76125
76417
  ]);
76126
- var requestTool20 = new ConnectorTool({
76418
+ var requestTool21 = new ConnectorTool({
76127
76419
  name: "request",
76128
76420
  description: `Send authenticated requests to the HubSpot API.
76129
76421
  Authentication is handled automatically using the Personal Access Key (Bearer token).
76130
76422
  Use this tool for all HubSpot API interactions: querying contacts, deals, companies, tickets, and other CRM objects.
76131
76423
  Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex queries with filters.`,
76132
- inputSchema: inputSchema38,
76133
- outputSchema: outputSchema38,
76424
+ inputSchema: inputSchema39,
76425
+ outputSchema: outputSchema39,
76134
76426
  async execute({ connectionId, method, path: path5, body }, connections) {
76135
76427
  const connection2 = connections.find((c6) => c6.id === connectionId);
76136
76428
  if (!connection2) {
@@ -76143,10 +76435,10 @@ Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex q
76143
76435
  `[connector-request] hubspot/${connection2.name}: ${method} ${path5}`
76144
76436
  );
76145
76437
  try {
76146
- const apiKey = parameters35.apiKey.getValue(connection2);
76147
- const url = `${BASE_URL16}${path5.startsWith("/") ? "" : "/"}${path5}`;
76438
+ const apiKey = parameters36.apiKey.getValue(connection2);
76439
+ const url = `${BASE_URL17}${path5.startsWith("/") ? "" : "/"}${path5}`;
76148
76440
  const controller = new AbortController();
76149
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS27);
76441
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS28);
76150
76442
  try {
76151
76443
  const response = await fetch(url, {
76152
76444
  method,
@@ -76174,14 +76466,14 @@ Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex q
76174
76466
  });
76175
76467
 
76176
76468
  // ../connectors/src/connectors/hubspot/index.ts
76177
- var tools35 = { request: requestTool20 };
76469
+ var tools36 = { request: requestTool21 };
76178
76470
  var hubspotConnector = new ConnectorPlugin({
76179
76471
  slug: "hubspot",
76180
- authType: AUTH_TYPES.PAT,
76472
+ authType: null,
76181
76473
  name: "HubSpot",
76182
76474
  description: "Connect to HubSpot CRM for contacts, deals, companies, and marketing data using a Personal Access Key.",
76183
76475
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
76184
- parameters: parameters35,
76476
+ parameters: parameters36,
76185
76477
  releaseFlag: { dev1: true, dev2: false, prod: false },
76186
76478
  onboarding: hubspotOnboarding2,
76187
76479
  systemPrompt: {
@@ -76318,7 +76610,7 @@ export default async function handler(c: Context) {
76318
76610
  - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u6700\u5927\u7D50\u679C\u6570\uFF08\u6700\u5927100\uFF09
76319
76611
  - \`after\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AA\u30D5\u30BB\u30C3\u30C8`
76320
76612
  },
76321
- tools: tools35
76613
+ tools: tools36
76322
76614
  });
76323
76615
 
76324
76616
  // ../connectors/src/connectors/jira/setup.ts
@@ -76334,7 +76626,7 @@ var jiraOnboarding = new ConnectorOnboarding({
76334
76626
  });
76335
76627
 
76336
76628
  // ../connectors/src/connectors/jira/parameters.ts
76337
- var parameters36 = {
76629
+ var parameters37 = {
76338
76630
  instanceUrl: new ParameterDefinition({
76339
76631
  slug: "instance-url",
76340
76632
  name: "Jira Instance URL",
@@ -76365,34 +76657,34 @@ var parameters36 = {
76365
76657
  };
76366
76658
 
76367
76659
  // ../connectors/src/connectors/jira/tools/request.ts
76368
- import { z as z39 } from "zod";
76369
- var REQUEST_TIMEOUT_MS28 = 6e4;
76370
- var inputSchema39 = z39.object({
76371
- toolUseIntent: z39.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
76372
- connectionId: z39.string().describe("ID of the Jira connection to use"),
76373
- method: z39.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method. Use GET to read resources, POST to create or search, PUT to update, DELETE to remove."),
76374
- path: z39.string().describe("API path relative to /rest/api/3/ (e.g., 'project', 'search', 'issue/PROJ-123'). Query parameters can be appended (e.g., 'project?maxResults=50')."),
76375
- body: z39.record(z39.string(), z39.unknown()).optional().describe("Request body as JSON object. Required for POST and PUT requests (e.g., issue creation, JQL search).")
76660
+ import { z as z40 } from "zod";
76661
+ var REQUEST_TIMEOUT_MS29 = 6e4;
76662
+ var inputSchema40 = z40.object({
76663
+ toolUseIntent: z40.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
76664
+ connectionId: z40.string().describe("ID of the Jira connection to use"),
76665
+ method: z40.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method. Use GET to read resources, POST to create or search, PUT to update, DELETE to remove."),
76666
+ path: z40.string().describe("API path relative to /rest/api/3/ (e.g., 'project', 'search', 'issue/PROJ-123'). Query parameters can be appended (e.g., 'project?maxResults=50')."),
76667
+ body: z40.record(z40.string(), z40.unknown()).optional().describe("Request body as JSON object. Required for POST and PUT requests (e.g., issue creation, JQL search).")
76376
76668
  });
76377
- var outputSchema39 = z39.discriminatedUnion("success", [
76378
- z39.object({
76379
- success: z39.literal(true),
76380
- status: z39.number(),
76381
- data: z39.union([z39.record(z39.string(), z39.unknown()), z39.array(z39.unknown())])
76669
+ var outputSchema40 = z40.discriminatedUnion("success", [
76670
+ z40.object({
76671
+ success: z40.literal(true),
76672
+ status: z40.number(),
76673
+ data: z40.union([z40.record(z40.string(), z40.unknown()), z40.array(z40.unknown())])
76382
76674
  }),
76383
- z39.object({
76384
- success: z39.literal(false),
76385
- error: z39.string()
76675
+ z40.object({
76676
+ success: z40.literal(false),
76677
+ error: z40.string()
76386
76678
  })
76387
76679
  ]);
76388
- var requestTool21 = new ConnectorTool({
76680
+ var requestTool22 = new ConnectorTool({
76389
76681
  name: "request",
76390
76682
  description: `Send authenticated requests to the Jira Cloud REST API (v3).
76391
76683
  Authentication is handled automatically using Basic Auth (email + API token).
76392
76684
  Use this tool for all Jira operations: listing projects, searching issues with JQL, creating/updating issues, managing transitions, and adding comments.
76393
76685
  The base URL and authentication credentials are configured per connection \u2014 only specify the API path relative to /rest/api/3/.`,
76394
- inputSchema: inputSchema39,
76395
- outputSchema: outputSchema39,
76686
+ inputSchema: inputSchema40,
76687
+ outputSchema: outputSchema40,
76396
76688
  async execute({ connectionId, method, path: path5, body }, connections) {
76397
76689
  const connection2 = connections.find((c6) => c6.id === connectionId);
76398
76690
  if (!connection2) {
@@ -76400,13 +76692,13 @@ The base URL and authentication credentials are configured per connection \u2014
76400
76692
  }
76401
76693
  console.log(`[connector-request] jira-api-key/${connection2.name}: ${method} ${path5}`);
76402
76694
  try {
76403
- const instanceUrl = parameters36.instanceUrl.getValue(connection2);
76404
- const email = parameters36.email.getValue(connection2);
76405
- const apiToken = parameters36.apiToken.getValue(connection2);
76695
+ const instanceUrl = parameters37.instanceUrl.getValue(connection2);
76696
+ const email = parameters37.email.getValue(connection2);
76697
+ const apiToken = parameters37.apiToken.getValue(connection2);
76406
76698
  const baseUrl = `${instanceUrl.replace(/\/+$/, "")}/rest/api/3/${path5}`;
76407
76699
  const credentials = Buffer.from(`${email}:${apiToken}`).toString("base64");
76408
76700
  const controller = new AbortController();
76409
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS28);
76701
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS29);
76410
76702
  try {
76411
76703
  const headers = {
76412
76704
  Authorization: `Basic ${credentials}`,
@@ -76442,14 +76734,14 @@ The base URL and authentication credentials are configured per connection \u2014
76442
76734
  });
76443
76735
 
76444
76736
  // ../connectors/src/connectors/jira/index.ts
76445
- var tools36 = { request: requestTool21 };
76737
+ var tools37 = { request: requestTool22 };
76446
76738
  var jiraConnector = new ConnectorPlugin({
76447
76739
  slug: "jira",
76448
76740
  authType: AUTH_TYPES.API_KEY,
76449
76741
  name: "Jira (API Key)",
76450
76742
  description: "Connect to Jira Cloud for issue tracking, project management, and workflow data retrieval using API token authentication.",
76451
76743
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5zt4yjb36szSPPkCECYlPL/bc3e7223dc84fb16a1cce53a80f5afcc/jira.png",
76452
- parameters: parameters36,
76744
+ parameters: parameters37,
76453
76745
  releaseFlag: { dev1: true, dev2: false, prod: false },
76454
76746
  onboarding: jiraOnboarding,
76455
76747
  systemPrompt: {
@@ -76594,7 +76886,7 @@ await jira.request("/rest/api/3/issue", {
76594
76886
  - \u95A2\u6570: currentUser(), startOfDay(), endOfWeek()
76595
76887
  - \u30C6\u30AD\u30B9\u30C8\u691C\u7D22: summary ~ "\u30AD\u30FC\u30EF\u30FC\u30C9"`
76596
76888
  },
76597
- tools: tools36
76889
+ tools: tools37
76598
76890
  });
76599
76891
 
76600
76892
  // ../connectors/src/connectors/linear/setup.ts
@@ -76614,7 +76906,7 @@ var linearOnboarding = new ConnectorOnboarding({
76614
76906
  });
76615
76907
 
76616
76908
  // ../connectors/src/connectors/linear/parameters.ts
76617
- var parameters37 = {
76909
+ var parameters38 = {
76618
76910
  apiKey: new ParameterDefinition({
76619
76911
  slug: "api-key",
76620
76912
  name: "Linear API Key",
@@ -76627,39 +76919,39 @@ var parameters37 = {
76627
76919
  };
76628
76920
 
76629
76921
  // ../connectors/src/connectors/linear/tools/request.ts
76630
- import { z as z40 } from "zod";
76631
- var BASE_URL17 = "https://api.linear.app/graphql";
76632
- var REQUEST_TIMEOUT_MS29 = 6e4;
76633
- var inputSchema40 = z40.object({
76634
- toolUseIntent: z40.string().optional().describe(
76922
+ import { z as z41 } from "zod";
76923
+ var BASE_URL18 = "https://api.linear.app/graphql";
76924
+ var REQUEST_TIMEOUT_MS30 = 6e4;
76925
+ var inputSchema41 = z41.object({
76926
+ toolUseIntent: z41.string().optional().describe(
76635
76927
  "Brief description of what you intend to accomplish with this tool call"
76636
76928
  ),
76637
- connectionId: z40.string().describe("ID of the Linear connection to use"),
76638
- query: z40.string().describe(
76929
+ connectionId: z41.string().describe("ID of the Linear connection to use"),
76930
+ query: z41.string().describe(
76639
76931
  `GraphQL query or mutation string. Use standard GraphQL syntax. Example: '{ issues(first: 10) { nodes { id title state { name } } } }' for queries, or 'mutation { issueCreate(input: { title: "Bug fix", teamId: "TEAM_ID" }) { success issue { id title } } }' for mutations.`
76640
76932
  ),
76641
- variables: z40.record(z40.string(), z40.unknown()).optional().describe(
76933
+ variables: z41.record(z41.string(), z41.unknown()).optional().describe(
76642
76934
  'Optional GraphQL variables object. Use with parameterized queries, e.g. { "teamId": "abc-123", "first": 10 }'
76643
76935
  )
76644
76936
  });
76645
- var outputSchema40 = z40.discriminatedUnion("success", [
76646
- z40.object({
76647
- success: z40.literal(true),
76648
- data: z40.record(z40.string(), z40.unknown())
76937
+ var outputSchema41 = z41.discriminatedUnion("success", [
76938
+ z41.object({
76939
+ success: z41.literal(true),
76940
+ data: z41.record(z41.string(), z41.unknown())
76649
76941
  }),
76650
- z40.object({
76651
- success: z40.literal(false),
76652
- error: z40.string()
76942
+ z41.object({
76943
+ success: z41.literal(false),
76944
+ error: z41.string()
76653
76945
  })
76654
76946
  ]);
76655
- var requestTool22 = new ConnectorTool({
76947
+ var requestTool23 = new ConnectorTool({
76656
76948
  name: "request",
76657
76949
  description: `Send authenticated GraphQL queries and mutations to the Linear API (https://api.linear.app/graphql).
76658
76950
  Use this tool for all Linear interactions: querying issues, projects, teams, cycles, users, labels, workflow states, and performing mutations like creating/updating issues and comments.
76659
76951
  Linear's API is GraphQL-only \u2014 there is no REST API. All requests are POST with a JSON body containing "query" and optional "variables".
76660
76952
  Archived resources are hidden by default; pass includeArchived: true in query arguments to include them. Pagination uses Relay-style cursors with first/after and last/before arguments.`,
76661
- inputSchema: inputSchema40,
76662
- outputSchema: outputSchema40,
76953
+ inputSchema: inputSchema41,
76954
+ outputSchema: outputSchema41,
76663
76955
  async execute({ connectionId, query, variables }, connections) {
76664
76956
  const connection2 = connections.find((c6) => c6.id === connectionId);
76665
76957
  if (!connection2) {
@@ -76672,13 +76964,13 @@ Archived resources are hidden by default; pass includeArchived: true in query ar
76672
76964
  `[connector-request] linear/${connection2.name}: GraphQL request`
76673
76965
  );
76674
76966
  try {
76675
- const apiKey = parameters37.apiKey.getValue(connection2);
76967
+ const apiKey = parameters38.apiKey.getValue(connection2);
76676
76968
  const controller = new AbortController();
76677
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS29);
76969
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS30);
76678
76970
  try {
76679
76971
  const body = { query };
76680
76972
  if (variables) body.variables = variables;
76681
- const response = await fetch(BASE_URL17, {
76973
+ const response = await fetch(BASE_URL18, {
76682
76974
  method: "POST",
76683
76975
  headers: {
76684
76976
  Authorization: apiKey,
@@ -76717,14 +77009,14 @@ Archived resources are hidden by default; pass includeArchived: true in query ar
76717
77009
  });
76718
77010
 
76719
77011
  // ../connectors/src/connectors/linear/index.ts
76720
- var tools37 = { request: requestTool22 };
77012
+ var tools38 = { request: requestTool23 };
76721
77013
  var linearConnector = new ConnectorPlugin({
76722
77014
  slug: "linear",
76723
77015
  authType: null,
76724
77016
  name: "Linear",
76725
77017
  description: "Connect to Linear for project management data \u2014 issues, projects, teams, cycles, and more.",
76726
77018
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6oR77h6TeniXGdmnp2P2LX/a2ac8630ae52d164363adb0c695d9f0b/linear.webp",
76727
- parameters: parameters37,
77019
+ parameters: parameters38,
76728
77020
  releaseFlag: { dev1: true, dev2: false, prod: false },
76729
77021
  onboarding: linearOnboarding,
76730
77022
  systemPrompt: {
@@ -76851,7 +77143,7 @@ export default async function handler(c: Context) {
76851
77143
  - \`mutation { issueUpdate(id: "...", input: { stateId: "..." }) { success issue { id title state { name } } } }\` \u2014 Issue\u66F4\u65B0
76852
77144
  - \`mutation { commentCreate(input: { issueId: "...", body: "..." }) { success comment { id body } } }\` \u2014 \u30B3\u30E1\u30F3\u30C8\u8FFD\u52A0`
76853
77145
  },
76854
- tools: tools37
77146
+ tools: tools38
76855
77147
  });
76856
77148
 
76857
77149
  // ../connectors/src/connectors/asana/setup.ts
@@ -76869,7 +77161,7 @@ var asanaOnboarding = new ConnectorOnboarding({
76869
77161
  });
76870
77162
 
76871
77163
  // ../connectors/src/connectors/asana/parameters.ts
76872
- var parameters38 = {
77164
+ var parameters39 = {
76873
77165
  personalAccessToken: new ParameterDefinition({
76874
77166
  slug: "personal-access-token",
76875
77167
  name: "Asana Personal Access Token",
@@ -76882,36 +77174,36 @@ var parameters38 = {
76882
77174
  };
76883
77175
 
76884
77176
  // ../connectors/src/connectors/asana/tools/request.ts
76885
- import { z as z41 } from "zod";
76886
- var BASE_URL18 = "https://app.asana.com/api/1.0";
76887
- var REQUEST_TIMEOUT_MS30 = 6e4;
76888
- var inputSchema41 = z41.object({
76889
- toolUseIntent: z41.string().optional().describe(
77177
+ import { z as z42 } from "zod";
77178
+ var BASE_URL19 = "https://app.asana.com/api/1.0";
77179
+ var REQUEST_TIMEOUT_MS31 = 6e4;
77180
+ var inputSchema42 = z42.object({
77181
+ toolUseIntent: z42.string().optional().describe(
76890
77182
  "Brief description of what you intend to accomplish with this tool call"
76891
77183
  ),
76892
- connectionId: z41.string().describe("ID of the Asana connection to use"),
76893
- method: z41.enum(["GET", "POST", "PUT", "DELETE"]).describe(
77184
+ connectionId: z42.string().describe("ID of the Asana connection to use"),
77185
+ method: z42.enum(["GET", "POST", "PUT", "DELETE"]).describe(
76894
77186
  "HTTP method. GET for reading resources, POST for creating, PUT for updating, DELETE for removing."
76895
77187
  ),
76896
- path: z41.string().describe(
77188
+ path: z42.string().describe(
76897
77189
  "API path (e.g., '/workspaces', '/projects', '/tasks', '/tasks/{task_gid}'). Query parameters can be appended (e.g., '/tasks?project=PROJECT_GID&opt_fields=name,completed')."
76898
77190
  ),
76899
- body: z41.record(z41.string(), z41.unknown()).optional().describe(
77191
+ body: z42.record(z42.string(), z42.unknown()).optional().describe(
76900
77192
  'Request body (JSON) for POST/PUT requests. Wrap payload in a "data" key (e.g., { "data": { "name": "My Task", "workspace": "WORKSPACE_GID" } }).'
76901
77193
  )
76902
77194
  });
76903
- var outputSchema41 = z41.discriminatedUnion("success", [
76904
- z41.object({
76905
- success: z41.literal(true),
76906
- status: z41.number(),
76907
- data: z41.record(z41.string(), z41.unknown())
77195
+ var outputSchema42 = z42.discriminatedUnion("success", [
77196
+ z42.object({
77197
+ success: z42.literal(true),
77198
+ status: z42.number(),
77199
+ data: z42.record(z42.string(), z42.unknown())
76908
77200
  }),
76909
- z41.object({
76910
- success: z41.literal(false),
76911
- error: z41.string()
77201
+ z42.object({
77202
+ success: z42.literal(false),
77203
+ error: z42.string()
76912
77204
  })
76913
77205
  ]);
76914
- var requestTool23 = new ConnectorTool({
77206
+ var requestTool24 = new ConnectorTool({
76915
77207
  name: "request",
76916
77208
  description: `Send authenticated requests to the Asana REST API.
76917
77209
  Authentication is handled automatically using the Personal Access Token (Bearer token).
@@ -76932,8 +77224,8 @@ Common endpoints:
76932
77224
  - GET /tasks/{task_gid}/stories \u2014 Get task comments/stories
76933
77225
 
76934
77226
  Pagination: Use limit (1-100) and offset query parameters. The response includes next_page.offset for the next page.`,
76935
- inputSchema: inputSchema41,
76936
- outputSchema: outputSchema41,
77227
+ inputSchema: inputSchema42,
77228
+ outputSchema: outputSchema42,
76937
77229
  async execute({ connectionId, method, path: path5, body }, connections) {
76938
77230
  const connection2 = connections.find((c6) => c6.id === connectionId);
76939
77231
  if (!connection2) {
@@ -76946,10 +77238,10 @@ Pagination: Use limit (1-100) and offset query parameters. The response includes
76946
77238
  `[connector-request] asana/${connection2.name}: ${method} ${path5}`
76947
77239
  );
76948
77240
  try {
76949
- const token = parameters38.personalAccessToken.getValue(connection2);
76950
- const url = `${BASE_URL18}${path5}`;
77241
+ const token = parameters39.personalAccessToken.getValue(connection2);
77242
+ const url = `${BASE_URL19}${path5}`;
76951
77243
  const controller = new AbortController();
76952
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS30);
77244
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS31);
76953
77245
  try {
76954
77246
  const response = await fetch(url, {
76955
77247
  method,
@@ -76979,14 +77271,14 @@ Pagination: Use limit (1-100) and offset query parameters. The response includes
76979
77271
  });
76980
77272
 
76981
77273
  // ../connectors/src/connectors/asana/index.ts
76982
- var tools38 = { request: requestTool23 };
77274
+ var tools39 = { request: requestTool24 };
76983
77275
  var asanaConnector = new ConnectorPlugin({
76984
77276
  slug: "asana",
76985
77277
  authType: null,
76986
77278
  name: "Asana",
76987
77279
  description: "Connect to Asana for project management, task tracking, and team collaboration data.",
76988
77280
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/3eIdaoqzIIZs2Md0OoDJMf/2fa66e0841adb985da4d3120466f3ec4/asana-icon.png",
76989
- parameters: parameters38,
77281
+ parameters: parameters39,
76990
77282
  releaseFlag: { dev1: true, dev2: false, prod: false },
76991
77283
  onboarding: asanaOnboarding,
76992
77284
  systemPrompt: {
@@ -77096,350 +77388,76 @@ SDK\u30E1\u30BD\u30C3\u30C9 (\`connection(connectionId)\` \u3067\u4F5C\u6210\u30
77096
77388
  - \`client.listUsers(workspaceGid, options?)\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
77097
77389
 
77098
77390
  \`\`\`ts
77099
- import type { Context } from "hono";
77100
- import { connection } from "@squadbase/vite-server/connectors/asana";
77101
-
77102
- const asana = connection("<connectionId>");
77103
-
77104
- export default async function handler(c: Context) {
77105
- const { projectGid } = await c.req.json<{ projectGid: string }>();
77106
-
77107
- const { data: tasks } = await asana.listTasks(projectGid, {
77108
- opt_fields: ["name", "completed", "assignee.name", "due_on"],
77109
- limit: 50,
77110
- });
77111
-
77112
- return c.json({ tasks });
77113
- }
77114
- \`\`\`
77115
-
77116
- ### Asana REST API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
77117
-
77118
- - \u30D9\u30FC\u30B9URL: \`https://app.asana.com/api/1.0\`
77119
- - \u8A8D\u8A3C: Bearer\u30C8\u30FC\u30AF\u30F3\uFF08Personal Access Token\u3001\u81EA\u52D5\u8A2D\u5B9A\uFF09
77120
- - \u66F8\u304D\u8FBC\u307F\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30DA\u30A4\u30ED\u30FC\u30C9\u3092 \`data\` \u30AD\u30FC\u3067\u56F2\u3080: \`{ "data": { ... } }\`
77121
- - \`opt_fields\` \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u7279\u5B9A\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6307\u5B9A\u3057\u3066\u30EC\u30B9\u30DD\u30F3\u30B9\u30B5\u30A4\u30BA\u3092\u524A\u6E1B\u53EF\u80FD
77122
- - \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3: \`limit\`\uFF081-100\uFF09\u3068 \`offset\` \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3088\u308B\u30AA\u30D5\u30BB\u30C3\u30C8\u30D9\u30FC\u30B9\u3001\u30EC\u30B9\u30DD\u30F3\u30B9\u306B \`next_page.offset\` \u304C\u542B\u307E\u308C\u308B
77123
-
77124
- #### \u30EA\u30BD\u30FC\u30B9\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
77125
-
77126
- **\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9**
77127
- - GET \`/workspaces\` \u2014 \u5168\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4E00\u89A7
77128
-
77129
- **\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8**
77130
- - GET \`/projects?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7
77131
- - GET \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u53D6\u5F97
77132
- - POST \`/projects\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210
77133
- - PUT \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0
77134
-
77135
- **\u30BF\u30B9\u30AF**
77136
- - GET \`/tasks?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BF\u30B9\u30AF\u4E00\u89A7\uFF08project\u3001\u307E\u305F\u306Fassignee+workspace\u304C\u5FC5\u8981\uFF09
77137
- - GET \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u53D6\u5F97
77138
- - POST \`/tasks\` \u2014 \u30BF\u30B9\u30AF\u306E\u4F5C\u6210\uFF08body\u306Bworkspace\u307E\u305F\u306Fprojects\u304C\u5FC5\u8981\uFF09
77139
- - PUT \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u66F4\u65B0
77140
- - DELETE \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u524A\u9664
77141
- - POST \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4F5C\u6210
77142
- - GET \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4E00\u89A7
77143
-
77144
- **\u30BB\u30AF\u30B7\u30E7\u30F3**
77145
- - GET \`/sections?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7
77146
- - POST \`/sections/{section_gid}/addTask\` \u2014 \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0
77147
-
77148
- **\u30E6\u30FC\u30B6\u30FC**
77149
- - GET \`/users?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
77150
- - GET \`/users/me\` \u2014 \u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
77151
- - GET \`/users/{user_gid}\` \u2014 \u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
77152
-
77153
- **\u30BF\u30B0**
77154
- - GET \`/tags?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B0\u4E00\u89A7
77155
-
77156
- **\u30B9\u30C8\u30FC\u30EA\u30FC\uFF08\u30B3\u30E1\u30F3\u30C8\uFF09**
77157
- - GET \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8/\u30B9\u30C8\u30FC\u30EA\u30FC\u4E00\u89A7
77158
- - POST \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306B\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0
77159
-
77160
- **\u691C\u7D22**
77161
- - GET \`/workspaces/{workspace_gid}/tasks/search?text=QUERY\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B9\u30AF\u691C\u7D22
77162
-
77163
- #### \u3088\u304F\u4F7F\u3046opt_fields
77164
- - \u30BF\u30B9\u30AF: name, completed, assignee, assignee.name, due_on, due_at, created_at, modified_at, notes, projects, projects.name, tags, tags.name, parent, parent.name, memberships, memberships.section, memberships.section.name, custom_fields
77165
- - \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8: name, archived, created_at, modified_at, owner, owner.name, team, team.name, members
77166
- - \u30E6\u30FC\u30B6\u30FC: name, email, photo`
77167
- },
77168
- tools: tools38
77169
- });
77170
-
77171
- // ../connectors/src/connectors/trino/setup.ts
77172
- var trinoOnboarding = new ConnectorOnboarding({
77173
- dataOverviewInstructions: {
77174
- en: `1. Use executeQuery to list catalogs: \`SHOW CATALOGS\`
77175
- 2. Use executeQuery to list schemas in a catalog: \`SHOW SCHEMAS IN catalog_name\`
77176
- 3. Use executeQuery to list tables in a schema: \`SHOW TABLES IN catalog_name.schema_name\`
77177
- 4. For key tables, use executeQuery to get column info: \`DESCRIBE catalog_name.schema_name.table_name\`
77178
- 5. Sample up to 3 tables with \`SELECT * FROM catalog_name.schema_name.table_name LIMIT 5\` if column info alone is insufficient`,
77179
- ja: `1. executeQuery \u3067\u30AB\u30BF\u30ED\u30B0\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW CATALOGS\`
77180
- 2. executeQuery \u3067\u30B9\u30AD\u30FC\u30DE\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW SCHEMAS IN catalog_name\`
77181
- 3. executeQuery \u3067\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW TABLES IN catalog_name.schema_name\`
77182
- 4. \u4E3B\u8981\u30C6\u30FC\u30D6\u30EB\u306B\u3064\u3044\u3066 executeQuery \u3067\u30AB\u30E9\u30E0\u60C5\u5831\u3092\u53D6\u5F97: \`DESCRIBE catalog_name.schema_name.table_name\`
77183
- 5. \u30AB\u30E9\u30E0\u60C5\u5831\u3060\u3051\u3067\u306F\u4E0D\u5341\u5206\u306A\u5834\u5408\u3001\u6700\u59273\u30C6\u30FC\u30D6\u30EB\u3092 \`SELECT * FROM catalog_name.schema_name.table_name LIMIT 5\` \u3067\u30B5\u30F3\u30D7\u30EA\u30F3\u30B0`
77184
- }
77185
- });
77186
-
77187
- // ../connectors/src/connectors/trino/parameters.ts
77188
- var parameters39 = {
77189
- host: new ParameterDefinition({
77190
- slug: "host",
77191
- name: "Trino Server URL",
77192
- description: "The Trino server URL (e.g., https://trino.example.com:8443).",
77193
- envVarBaseKey: "TRINO_HOST",
77194
- type: "text",
77195
- secret: false,
77196
- required: true
77197
- }),
77198
- user: new ParameterDefinition({
77199
- slug: "user",
77200
- name: "Trino User",
77201
- description: "The username for Trino authentication.",
77202
- envVarBaseKey: "TRINO_USER",
77203
- type: "text",
77204
- secret: false,
77205
- required: true
77206
- }),
77207
- password: new ParameterDefinition({
77208
- slug: "password",
77209
- name: "Trino Password",
77210
- description: "The password for Trino authentication. Leave empty if not required.",
77211
- envVarBaseKey: "TRINO_PASSWORD",
77212
- type: "text",
77213
- secret: true,
77214
- required: false
77215
- }),
77216
- catalog: new ParameterDefinition({
77217
- slug: "catalog",
77218
- name: "Trino Catalog",
77219
- description: "The default catalog to use (e.g., hive, iceberg, postgresql).",
77220
- envVarBaseKey: "TRINO_CATALOG",
77221
- type: "text",
77222
- secret: false,
77223
- required: false
77224
- }),
77225
- schema: new ParameterDefinition({
77226
- slug: "schema",
77227
- name: "Trino Schema",
77228
- description: "The default schema to use within the catalog.",
77229
- envVarBaseKey: "TRINO_SCHEMA",
77230
- type: "text",
77231
- secret: false,
77232
- required: false
77233
- })
77234
- };
77235
-
77236
- // ../connectors/src/connectors/trino/tools/execute-query.ts
77237
- import { z as z42 } from "zod";
77238
- var MAX_ROWS11 = 500;
77239
- var QUERY_TIMEOUT_MS4 = 6e4;
77240
- var inputSchema42 = z42.object({
77241
- toolUseIntent: z42.string().optional().describe(
77242
- "Brief description of what you intend to accomplish with this tool call"
77243
- ),
77244
- connectionId: z42.string().describe("ID of the Trino connection to use"),
77245
- sql: z42.string().describe("Trino SQL query. Always include LIMIT in queries.")
77246
- });
77247
- var outputSchema42 = z42.discriminatedUnion("success", [
77248
- z42.object({
77249
- success: z42.literal(true),
77250
- rowCount: z42.number(),
77251
- truncated: z42.boolean(),
77252
- rows: z42.array(z42.record(z42.string(), z42.unknown()))
77253
- }),
77254
- z42.object({
77255
- success: z42.literal(false),
77256
- error: z42.string()
77257
- })
77258
- ]);
77259
- var executeQueryTool11 = new ConnectorTool({
77260
- name: "executeQuery",
77261
- description: `Execute SQL against Trino. Returns up to ${MAX_ROWS11} rows.
77262
- Use for: schema exploration (SHOW CATALOGS, SHOW SCHEMAS, SHOW TABLES, DESCRIBE), data sampling, analytical queries across federated data sources.
77263
- Avoid loading large amounts of data; always include LIMIT in queries.`,
77264
- inputSchema: inputSchema42,
77265
- outputSchema: outputSchema42,
77266
- async execute({ connectionId, sql }, connections) {
77267
- const connection2 = connections.find((c6) => c6.id === connectionId);
77268
- if (!connection2) {
77269
- return {
77270
- success: false,
77271
- error: `Connection ${connectionId} not found`
77272
- };
77273
- }
77274
- console.log(
77275
- `[connector-query] trino/${connection2.name}: ${sql}`
77276
- );
77277
- let host;
77278
- try {
77279
- const { Trino, BasicAuth } = await import("trino-client");
77280
- host = parameters39.host.getValue(connection2);
77281
- const user = parameters39.user.getValue(connection2);
77282
- const password = parameters39.password.tryGetValue(connection2);
77283
- const catalog = parameters39.catalog.tryGetValue(connection2);
77284
- const schema = parameters39.schema.tryGetValue(connection2);
77285
- const trino = Trino.create({
77286
- server: host,
77287
- catalog: catalog || void 0,
77288
- schema: schema || void 0,
77289
- auth: new BasicAuth(user, password || void 0)
77290
- });
77291
- const iter = await trino.query(sql);
77292
- const columns = [];
77293
- const rows = [];
77294
- let truncated = false;
77295
- const timeout = new Promise(
77296
- (_, reject) => setTimeout(() => reject(new Error("Query timed out after 60 seconds")), QUERY_TIMEOUT_MS4)
77297
- );
77298
- const collect = async () => {
77299
- for await (const result of iter) {
77300
- if (result.columns && columns.length === 0) {
77301
- columns.push(...result.columns);
77302
- }
77303
- if (result.data) {
77304
- for (const row of result.data) {
77305
- if (rows.length >= MAX_ROWS11) {
77306
- truncated = true;
77307
- break;
77308
- }
77309
- const obj = {};
77310
- columns.forEach((col, i6) => {
77311
- obj[col.name] = row[i6];
77312
- });
77313
- rows.push(obj);
77314
- }
77315
- if (truncated) break;
77316
- }
77317
- }
77318
- };
77319
- await Promise.race([collect(), timeout]);
77320
- return {
77321
- success: true,
77322
- rowCount: rows.length,
77323
- truncated,
77324
- rows
77325
- };
77326
- } catch (err) {
77327
- let msg = err instanceof Error ? err.message : String(err);
77328
- if (host) {
77329
- msg = msg.replaceAll(host, "***");
77330
- }
77331
- return { success: false, error: msg };
77332
- }
77333
- }
77334
- });
77391
+ import type { Context } from "hono";
77392
+ import { connection } from "@squadbase/vite-server/connectors/asana";
77335
77393
 
77336
- // ../connectors/src/connectors/trino/index.ts
77337
- var tools39 = { executeQuery: executeQueryTool11 };
77338
- var trinoConnector = new ConnectorPlugin({
77339
- slug: "trino",
77340
- authType: null,
77341
- name: "Trino",
77342
- description: "Connect to Trino for distributed SQL query engine across federated data sources.",
77343
- iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/8jqL4EZwHKnK5QzyNWkp2/e5831a080c8192cb18fb864cabd51c23/trino.png",
77344
- parameters: parameters39,
77345
- releaseFlag: { dev1: true, dev2: false, prod: false },
77346
- onboarding: trinoOnboarding,
77347
- systemPrompt: {
77348
- en: `### Tools
77394
+ const asana = connection("<connectionId>");
77349
77395
 
77350
- - \`trino_executeQuery\`: Executes a Trino SQL query and returns rows. Use this for schema exploration (\`SHOW CATALOGS\`, \`SHOW SCHEMAS\`, \`SHOW TABLES\`, \`DESCRIBE\`) and for sampling data. See the SQL Reference below for syntax notes.
77396
+ export default async function handler(c: Context) {
77397
+ const { projectGid } = await c.req.json<{ projectGid: string }>();
77351
77398
 
77352
- ### Business Logic
77399
+ const { data: tasks } = await asana.listTasks(projectGid, {
77400
+ opt_fields: ["name", "completed", "assignee.name", "due_on"],
77401
+ limit: 50,
77402
+ });
77353
77403
 
77354
- The business logic type for this connector is "sql".
77404
+ return c.json({ tasks });
77405
+ }
77406
+ \`\`\`
77355
77407
 
77356
- ### SQL Reference
77357
- - Trino uses ANSI SQL syntax with extensions for federated queries
77358
- - Use fully qualified names: \`catalog.schema.table\` for cross-catalog queries
77359
- - Schema exploration commands:
77360
- - List catalogs: \`SHOW CATALOGS\`
77361
- - List schemas: \`SHOW SCHEMAS IN catalog_name\`
77362
- - List tables: \`SHOW TABLES IN catalog_name.schema_name\`
77363
- - List columns: \`DESCRIBE catalog_name.schema_name.table_name\`
77364
- - Table details: \`SHOW COLUMNS FROM catalog_name.schema_name.table_name\`
77365
- - INFORMATION_SCHEMA is available per catalog: \`SELECT * FROM catalog_name.information_schema.tables\`
77366
- - Always include LIMIT in queries`,
77367
- ja: `### \u30C4\u30FC\u30EB
77408
+ ### Asana REST API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
77368
77409
 
77369
- - \`trino_executeQuery\`: Trino SQL\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u3057\u3001\u884C\u30C7\u30FC\u30BF\u3092\u8FD4\u3057\u307E\u3059\u3002\u30B9\u30AD\u30FC\u30DE\u63A2\u7D22 (\`SHOW CATALOGS\`, \`SHOW SCHEMAS\`, \`SHOW TABLES\`, \`DESCRIBE\`) \u3084\u30C7\u30FC\u30BF\u306E\u30B5\u30F3\u30D7\u30EA\u30F3\u30B0\u306B\u4F7F\u3044\u307E\u3059\u3002\u69CB\u6587\u306E\u6CE8\u610F\u70B9\u306F\u4E0B\u90E8\u306E\u300CSQL \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9\u300D\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
77410
+ - \u30D9\u30FC\u30B9URL: \`https://app.asana.com/api/1.0\`
77411
+ - \u8A8D\u8A3C: Bearer\u30C8\u30FC\u30AF\u30F3\uFF08Personal Access Token\u3001\u81EA\u52D5\u8A2D\u5B9A\uFF09
77412
+ - \u66F8\u304D\u8FBC\u307F\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30DA\u30A4\u30ED\u30FC\u30C9\u3092 \`data\` \u30AD\u30FC\u3067\u56F2\u3080: \`{ "data": { ... } }\`
77413
+ - \`opt_fields\` \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u7279\u5B9A\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6307\u5B9A\u3057\u3066\u30EC\u30B9\u30DD\u30F3\u30B9\u30B5\u30A4\u30BA\u3092\u524A\u6E1B\u53EF\u80FD
77414
+ - \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3: \`limit\`\uFF081-100\uFF09\u3068 \`offset\` \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3088\u308B\u30AA\u30D5\u30BB\u30C3\u30C8\u30D9\u30FC\u30B9\u3001\u30EC\u30B9\u30DD\u30F3\u30B9\u306B \`next_page.offset\` \u304C\u542B\u307E\u308C\u308B
77370
77415
 
77371
- ### Business Logic
77416
+ #### \u30EA\u30BD\u30FC\u30B9\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
77372
77417
 
77373
- \u3053\u306E\u30B3\u30CD\u30AF\u30BF\u306E\u30D3\u30B8\u30CD\u30B9\u30ED\u30B8\u30C3\u30AF\u30BF\u30A4\u30D7\u306F "sql" \u3067\u3059\u3002
77418
+ **\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9**
77419
+ - GET \`/workspaces\` \u2014 \u5168\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4E00\u89A7
77374
77420
 
77375
- ### SQL \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
77376
- - Trino\u306FANSI SQL\u69CB\u6587\u3092\u4F7F\u7528\u3057\u3001\u30D5\u30A7\u30C7\u30EC\u30FC\u30C6\u30C3\u30C9\u30AF\u30A8\u30EA\u306E\u62E1\u5F35\u304C\u3042\u308A\u307E\u3059
77377
- - \u30AF\u30ED\u30B9\u30AB\u30BF\u30ED\u30B0\u30AF\u30A8\u30EA\u306B\u306F\u5B8C\u5168\u4FEE\u98FE\u540D\u3092\u4F7F\u7528: \`catalog.schema.table\`
77378
- - \u30B9\u30AD\u30FC\u30DE\u63A2\u7D22\u30B3\u30DE\u30F3\u30C9:
77379
- - \u30AB\u30BF\u30ED\u30B0\u4E00\u89A7: \`SHOW CATALOGS\`
77380
- - \u30B9\u30AD\u30FC\u30DE\u4E00\u89A7: \`SHOW SCHEMAS IN catalog_name\`
77381
- - \u30C6\u30FC\u30D6\u30EB\u4E00\u89A7: \`SHOW TABLES IN catalog_name.schema_name\`
77382
- - \u30AB\u30E9\u30E0\u4E00\u89A7: \`DESCRIBE catalog_name.schema_name.table_name\`
77383
- - \u30C6\u30FC\u30D6\u30EB\u8A73\u7D30: \`SHOW COLUMNS FROM catalog_name.schema_name.table_name\`
77384
- - INFORMATION_SCHEMA\u306F\u30AB\u30BF\u30ED\u30B0\u3054\u3068\u306B\u5229\u7528\u53EF\u80FD: \`SELECT * FROM catalog_name.information_schema.tables\`
77385
- - \u30AF\u30A8\u30EA\u306B\u306F\u5FC5\u305A LIMIT \u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044`
77386
- },
77387
- tools: tools39,
77388
- async checkConnection(params, _config) {
77389
- try {
77390
- const { Trino, BasicAuth } = await import("trino-client");
77391
- const host = params[parameters39.host.slug];
77392
- const user = params[parameters39.user.slug];
77393
- const password = params[parameters39.password.slug] || void 0;
77394
- const catalog = params[parameters39.catalog.slug] || void 0;
77395
- const schema = params[parameters39.schema.slug] || void 0;
77396
- const trino = Trino.create({
77397
- server: host,
77398
- catalog,
77399
- schema,
77400
- auth: new BasicAuth(user, password)
77401
- });
77402
- const iter = await trino.query("SELECT 1");
77403
- for await (const _result of iter) {
77404
- }
77405
- return { success: true };
77406
- } catch (error2) {
77407
- return { success: false, error: error2 instanceof Error ? error2.message : String(error2) };
77408
- }
77421
+ **\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8**
77422
+ - GET \`/projects?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7
77423
+ - GET \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u53D6\u5F97
77424
+ - POST \`/projects\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210
77425
+ - PUT \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0
77426
+
77427
+ **\u30BF\u30B9\u30AF**
77428
+ - GET \`/tasks?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BF\u30B9\u30AF\u4E00\u89A7\uFF08project\u3001\u307E\u305F\u306Fassignee+workspace\u304C\u5FC5\u8981\uFF09
77429
+ - GET \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u53D6\u5F97
77430
+ - POST \`/tasks\` \u2014 \u30BF\u30B9\u30AF\u306E\u4F5C\u6210\uFF08body\u306Bworkspace\u307E\u305F\u306Fprojects\u304C\u5FC5\u8981\uFF09
77431
+ - PUT \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u66F4\u65B0
77432
+ - DELETE \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u524A\u9664
77433
+ - POST \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4F5C\u6210
77434
+ - GET \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4E00\u89A7
77435
+
77436
+ **\u30BB\u30AF\u30B7\u30E7\u30F3**
77437
+ - GET \`/sections?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7
77438
+ - POST \`/sections/{section_gid}/addTask\` \u2014 \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0
77439
+
77440
+ **\u30E6\u30FC\u30B6\u30FC**
77441
+ - GET \`/users?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
77442
+ - GET \`/users/me\` \u2014 \u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
77443
+ - GET \`/users/{user_gid}\` \u2014 \u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
77444
+
77445
+ **\u30BF\u30B0**
77446
+ - GET \`/tags?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B0\u4E00\u89A7
77447
+
77448
+ **\u30B9\u30C8\u30FC\u30EA\u30FC\uFF08\u30B3\u30E1\u30F3\u30C8\uFF09**
77449
+ - GET \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8/\u30B9\u30C8\u30FC\u30EA\u30FC\u4E00\u89A7
77450
+ - POST \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306B\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0
77451
+
77452
+ **\u691C\u7D22**
77453
+ - GET \`/workspaces/{workspace_gid}/tasks/search?text=QUERY\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B9\u30AF\u691C\u7D22
77454
+
77455
+ #### \u3088\u304F\u4F7F\u3046opt_fields
77456
+ - \u30BF\u30B9\u30AF: name, completed, assignee, assignee.name, due_on, due_at, created_at, modified_at, notes, projects, projects.name, tags, tags.name, parent, parent.name, memberships, memberships.section, memberships.section.name, custom_fields
77457
+ - \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8: name, archived, created_at, modified_at, owner, owner.name, team, team.name, members
77458
+ - \u30E6\u30FC\u30B6\u30FC: name, email, photo`
77409
77459
  },
77410
- async query(params, sql, namedParams) {
77411
- const resolvedSql = replaceLiteralParams(sql, namedParams);
77412
- const { Trino, BasicAuth } = await import("trino-client");
77413
- const host = params[parameters39.host.slug];
77414
- const user = params[parameters39.user.slug];
77415
- const password = params[parameters39.password.slug] || void 0;
77416
- const catalog = params[parameters39.catalog.slug] || void 0;
77417
- const schema = params[parameters39.schema.slug] || void 0;
77418
- const trino = Trino.create({
77419
- server: host,
77420
- catalog,
77421
- schema,
77422
- auth: new BasicAuth(user, password)
77423
- });
77424
- const iter = await trino.query(resolvedSql);
77425
- const columns = [];
77426
- const rows = [];
77427
- for await (const result of iter) {
77428
- if (result.columns && columns.length === 0) {
77429
- columns.push(...result.columns);
77430
- }
77431
- if (result.data) {
77432
- for (const row of result.data) {
77433
- const obj = {};
77434
- columns.forEach((col, i6) => {
77435
- obj[col.name] = row[i6];
77436
- });
77437
- rows.push(obj);
77438
- }
77439
- }
77440
- }
77441
- return { rows };
77442
- }
77460
+ tools: tools39
77443
77461
  });
77444
77462
 
77445
77463
  // ../connectors/src/connectors/clickhouse/setup.ts
@@ -77498,8 +77516,8 @@ var parameters40 = {
77498
77516
 
77499
77517
  // ../connectors/src/connectors/clickhouse/tools/execute-query.ts
77500
77518
  import { z as z43 } from "zod";
77501
- var MAX_ROWS12 = 500;
77502
- var QUERY_TIMEOUT_MS5 = 6e4;
77519
+ var MAX_ROWS11 = 500;
77520
+ var QUERY_TIMEOUT_MS4 = 6e4;
77503
77521
  var inputSchema43 = z43.object({
77504
77522
  toolUseIntent: z43.string().optional().describe(
77505
77523
  "Brief description of what you intend to accomplish with this tool call"
@@ -77519,9 +77537,9 @@ var outputSchema43 = z43.discriminatedUnion("success", [
77519
77537
  error: z43.string()
77520
77538
  })
77521
77539
  ]);
77522
- var executeQueryTool12 = new ConnectorTool({
77540
+ var executeQueryTool11 = new ConnectorTool({
77523
77541
  name: "executeQuery",
77524
- description: `Execute SQL against ClickHouse. Returns up to ${MAX_ROWS12} rows.
77542
+ description: `Execute SQL against ClickHouse. Returns up to ${MAX_ROWS11} rows.
77525
77543
  Use for: schema exploration (SHOW DATABASES, SHOW TABLES, DESCRIBE TABLE), data sampling, analytical queries on large-scale columnar data.
77526
77544
  Avoid loading large amounts of data; always include LIMIT in queries.`,
77527
77545
  inputSchema: inputSchema43,
@@ -77549,7 +77567,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
77549
77567
  username,
77550
77568
  password: password || "",
77551
77569
  database: database || "default",
77552
- request_timeout: QUERY_TIMEOUT_MS5
77570
+ request_timeout: QUERY_TIMEOUT_MS4
77553
77571
  });
77554
77572
  try {
77555
77573
  const resultSet = await client.query({
@@ -77557,12 +77575,12 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
77557
77575
  format: "JSONEachRow"
77558
77576
  });
77559
77577
  const allRows = await resultSet.json();
77560
- const truncated = allRows.length > MAX_ROWS12;
77578
+ const truncated = allRows.length > MAX_ROWS11;
77561
77579
  return {
77562
77580
  success: true,
77563
- rowCount: Math.min(allRows.length, MAX_ROWS12),
77581
+ rowCount: Math.min(allRows.length, MAX_ROWS11),
77564
77582
  truncated,
77565
- rows: allRows.slice(0, MAX_ROWS12)
77583
+ rows: allRows.slice(0, MAX_ROWS11)
77566
77584
  };
77567
77585
  } finally {
77568
77586
  await client.close();
@@ -77578,7 +77596,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
77578
77596
  });
77579
77597
 
77580
77598
  // ../connectors/src/connectors/clickhouse/index.ts
77581
- var tools40 = { executeQuery: executeQueryTool12 };
77599
+ var tools40 = { executeQuery: executeQueryTool11 };
77582
77600
  var clickhouseConnector = new ConnectorPlugin({
77583
77601
  slug: "clickhouse",
77584
77602
  authType: null,
@@ -77717,7 +77735,7 @@ var parameters41 = {
77717
77735
  import { z as z46 } from "zod";
77718
77736
  var MAX_DOCUMENTS = 500;
77719
77737
  var CONNECT_TIMEOUT_MS4 = 1e4;
77720
- var QUERY_TIMEOUT_MS6 = 6e4;
77738
+ var QUERY_TIMEOUT_MS5 = 6e4;
77721
77739
  var inputSchema44 = z46.object({
77722
77740
  toolUseIntent: z46.string().optional().describe(
77723
77741
  "Brief description of what you intend to accomplish with this tool call"
@@ -77776,7 +77794,7 @@ For listing collections, use the aggregate tool with an empty pipeline on the sp
77776
77794
  const client = new MongoClient(connectionUrl, {
77777
77795
  connectTimeoutMS: CONNECT_TIMEOUT_MS4,
77778
77796
  serverSelectionTimeoutMS: CONNECT_TIMEOUT_MS4,
77779
- socketTimeoutMS: QUERY_TIMEOUT_MS6
77797
+ socketTimeoutMS: QUERY_TIMEOUT_MS5
77780
77798
  });
77781
77799
  try {
77782
77800
  await client.connect();
@@ -77822,7 +77840,7 @@ For listing collections, use the aggregate tool with an empty pipeline on the sp
77822
77840
  import { z as z47 } from "zod";
77823
77841
  var MAX_DOCUMENTS2 = 500;
77824
77842
  var CONNECT_TIMEOUT_MS5 = 1e4;
77825
- var QUERY_TIMEOUT_MS7 = 6e4;
77843
+ var QUERY_TIMEOUT_MS6 = 6e4;
77826
77844
  var inputSchema45 = z47.object({
77827
77845
  toolUseIntent: z47.string().optional().describe(
77828
77846
  "Brief description of what you intend to accomplish with this tool call"
@@ -77873,7 +77891,7 @@ Common stages: $match (filter), $group (aggregate), $sort (order), $project (res
77873
77891
  const client = new MongoClient(connectionUrl, {
77874
77892
  connectTimeoutMS: CONNECT_TIMEOUT_MS5,
77875
77893
  serverSelectionTimeoutMS: CONNECT_TIMEOUT_MS5,
77876
- socketTimeoutMS: QUERY_TIMEOUT_MS7
77894
+ socketTimeoutMS: QUERY_TIMEOUT_MS6
77877
77895
  });
77878
77896
  try {
77879
77897
  await client.connect();
@@ -78091,9 +78109,9 @@ var parameters42 = {
78091
78109
 
78092
78110
  // ../connectors/src/connectors/notion/tools/request.ts
78093
78111
  import { z as z49 } from "zod";
78094
- var BASE_URL19 = "https://api.notion.com/v1";
78112
+ var BASE_URL20 = "https://api.notion.com/v1";
78095
78113
  var NOTION_VERSION = "2022-06-28";
78096
- var REQUEST_TIMEOUT_MS31 = 6e4;
78114
+ var REQUEST_TIMEOUT_MS32 = 6e4;
78097
78115
  var inputSchema47 = z49.object({
78098
78116
  toolUseIntent: z49.string().optional().describe(
78099
78117
  "Brief description of what you intend to accomplish with this tool call"
@@ -78118,7 +78136,7 @@ var outputSchema47 = z49.discriminatedUnion("success", [
78118
78136
  error: z49.string()
78119
78137
  })
78120
78138
  ]);
78121
- var requestTool24 = new ConnectorTool({
78139
+ var requestTool25 = new ConnectorTool({
78122
78140
  name: "request",
78123
78141
  description: `Send authenticated requests to the Notion API.
78124
78142
  Authentication (Bearer token) and Notion-Version header are configured automatically.
@@ -78139,9 +78157,9 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
78139
78157
  );
78140
78158
  try {
78141
78159
  const apiKey = parameters42.apiKey.getValue(connection2);
78142
- const url = `${BASE_URL19}${path5.startsWith("/") ? "" : "/"}${path5}`;
78160
+ const url = `${BASE_URL20}${path5.startsWith("/") ? "" : "/"}${path5}`;
78143
78161
  const controller = new AbortController();
78144
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS31);
78162
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS32);
78145
78163
  try {
78146
78164
  const response = await fetch(url, {
78147
78165
  method,
@@ -78170,7 +78188,7 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
78170
78188
  });
78171
78189
 
78172
78190
  // ../connectors/src/connectors/notion/index.ts
78173
- var tools42 = { request: requestTool24 };
78191
+ var tools42 = { request: requestTool25 };
78174
78192
  var notionConnector = new ConnectorPlugin({
78175
78193
  slug: "notion",
78176
78194
  authType: null,
@@ -78327,9 +78345,9 @@ export default async function handler(c: Context) {
78327
78345
 
78328
78346
  // ../connectors/src/connectors/notion-oauth/tools/request.ts
78329
78347
  import { z as z50 } from "zod";
78330
- var BASE_URL20 = "https://api.notion.com/v1";
78348
+ var BASE_URL21 = "https://api.notion.com/v1";
78331
78349
  var NOTION_VERSION2 = "2022-06-28";
78332
- var REQUEST_TIMEOUT_MS32 = 6e4;
78350
+ var REQUEST_TIMEOUT_MS33 = 6e4;
78333
78351
  var cachedToken15 = null;
78334
78352
  async function getProxyToken15(config) {
78335
78353
  if (cachedToken15 && cachedToken15.expiresAt > Date.now() + 6e4) {
@@ -78383,7 +78401,7 @@ var outputSchema48 = z50.discriminatedUnion("success", [
78383
78401
  error: z50.string()
78384
78402
  })
78385
78403
  ]);
78386
- var requestTool25 = new ConnectorTool({
78404
+ var requestTool26 = new ConnectorTool({
78387
78405
  name: "request",
78388
78406
  description: `Send authenticated requests to the Notion API.
78389
78407
  Authentication is handled automatically via OAuth proxy. Notion-Version header is set automatically.
@@ -78403,11 +78421,11 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
78403
78421
  `[connector-request] notion-oauth/${connection2.name}: ${method} ${path5}`
78404
78422
  );
78405
78423
  try {
78406
- const url = `${BASE_URL20}${path5.startsWith("/") ? "" : "/"}${path5}`;
78424
+ const url = `${BASE_URL21}${path5.startsWith("/") ? "" : "/"}${path5}`;
78407
78425
  const token = await getProxyToken15(config.oauthProxy);
78408
78426
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
78409
78427
  const controller = new AbortController();
78410
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS32);
78428
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS33);
78411
78429
  try {
78412
78430
  const response = await fetch(proxyUrl, {
78413
78431
  method: "POST",
@@ -78440,12 +78458,12 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
78440
78458
  });
78441
78459
 
78442
78460
  // ../connectors/src/connectors/notion-oauth/setup.ts
78443
- var requestToolName7 = `notion-oauth_${requestTool25.name}`;
78461
+ var requestToolName8 = `notion-oauth_${requestTool26.name}`;
78444
78462
  var notionOauthOnboarding = new ConnectorOnboarding({
78445
78463
  connectionSetupInstructions: {
78446
78464
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Notion\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
78447
78465
 
78448
- 1. \`${requestToolName7}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30DC\u30C3\u30C8\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
78466
+ 1. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30DC\u30C3\u30C8\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
78449
78467
  - \`method\`: \`"GET"\`
78450
78468
  - \`path\`: \`"/users/me"\`
78451
78469
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BOAuth\u63A5\u7D9A\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -78458,7 +78476,7 @@ var notionOauthOnboarding = new ConnectorOnboarding({
78458
78476
  - \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`,
78459
78477
  en: `Follow these steps to set up the Notion connection.
78460
78478
 
78461
- 1. Call \`${requestToolName7}\` to fetch bot user info:
78479
+ 1. Call \`${requestToolName8}\` to fetch bot user info:
78462
78480
  - \`method\`: \`"GET"\`
78463
78481
  - \`path\`: \`"/users/me"\`
78464
78482
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -78486,7 +78504,7 @@ var notionOauthOnboarding = new ConnectorOnboarding({
78486
78504
  var parameters43 = {};
78487
78505
 
78488
78506
  // ../connectors/src/connectors/notion-oauth/index.ts
78489
- var tools43 = { request: requestTool25 };
78507
+ var tools43 = { request: requestTool26 };
78490
78508
  var notionOauthConnector = new ConnectorPlugin({
78491
78509
  slug: "notion",
78492
78510
  authType: AUTH_TYPES.OAUTH,
@@ -78657,8 +78675,8 @@ var parameters44 = {
78657
78675
  };
78658
78676
 
78659
78677
  // ../connectors/src/connectors/meta-ads/tools/list-ad-accounts.ts
78660
- var BASE_URL21 = "https://graph.facebook.com/v21.0/";
78661
- var REQUEST_TIMEOUT_MS33 = 6e4;
78678
+ var BASE_URL22 = "https://graph.facebook.com/v21.0/";
78679
+ var REQUEST_TIMEOUT_MS34 = 6e4;
78662
78680
  var inputSchema49 = z51.object({
78663
78681
  toolUseIntent: z51.string().optional().describe(
78664
78682
  "Brief description of what you intend to accomplish with this tool call"
@@ -78698,9 +78716,9 @@ var listAdAccountsTool = new ConnectorTool({
78698
78716
  );
78699
78717
  try {
78700
78718
  const accessToken = parameters44.accessToken.getValue(connection2);
78701
- const url = `${BASE_URL21}me/adaccounts?fields=account_id,name,account_status&access_token=${encodeURIComponent(accessToken)}`;
78719
+ const url = `${BASE_URL22}me/adaccounts?fields=account_id,name,account_status&access_token=${encodeURIComponent(accessToken)}`;
78702
78720
  const controller = new AbortController();
78703
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS33);
78721
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS34);
78704
78722
  try {
78705
78723
  const response = await fetch(url, {
78706
78724
  method: "GET",
@@ -78775,8 +78793,8 @@ var metaAdsOnboarding = new ConnectorOnboarding({
78775
78793
 
78776
78794
  // ../connectors/src/connectors/meta-ads/tools/request.ts
78777
78795
  import { z as z52 } from "zod";
78778
- var BASE_URL22 = "https://graph.facebook.com/v21.0/";
78779
- var REQUEST_TIMEOUT_MS34 = 6e4;
78796
+ var BASE_URL23 = "https://graph.facebook.com/v21.0/";
78797
+ var REQUEST_TIMEOUT_MS35 = 6e4;
78780
78798
  var inputSchema50 = z52.object({
78781
78799
  toolUseIntent: z52.string().optional().describe(
78782
78800
  "Brief description of what you intend to accomplish with this tool call"
@@ -78800,7 +78818,7 @@ var outputSchema50 = z52.discriminatedUnion("success", [
78800
78818
  error: z52.string()
78801
78819
  })
78802
78820
  ]);
78803
- var requestTool26 = new ConnectorTool({
78821
+ var requestTool27 = new ConnectorTool({
78804
78822
  name: "request",
78805
78823
  description: `Send authenticated requests to the Meta Marketing API v21.0.
78806
78824
  Authentication is handled via the configured access token.
@@ -78822,13 +78840,13 @@ Authentication is handled via the configured access token.
78822
78840
  const accessToken = parameters44.accessToken.getValue(connection2);
78823
78841
  const adAccountId = parameters44.adAccountId.tryGetValue(connection2) ?? "";
78824
78842
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
78825
- let url = `${BASE_URL22}${resolvedPath}`;
78843
+ let url = `${BASE_URL23}${resolvedPath}`;
78826
78844
  const params = new URLSearchParams(queryParams ?? {});
78827
78845
  params.set("access_token", accessToken);
78828
78846
  const separator = url.includes("?") ? "&" : "?";
78829
78847
  url = `${url}${separator}${params.toString()}`;
78830
78848
  const controller = new AbortController();
78831
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS34);
78849
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS35);
78832
78850
  try {
78833
78851
  const response = await fetch(url, {
78834
78852
  method,
@@ -78858,7 +78876,7 @@ Authentication is handled via the configured access token.
78858
78876
 
78859
78877
  // ../connectors/src/connectors/meta-ads/index.ts
78860
78878
  var tools44 = {
78861
- request: requestTool26,
78879
+ request: requestTool27,
78862
78880
  listAdAccounts: listAdAccountsTool
78863
78881
  };
78864
78882
  var metaAdsConnector = new ConnectorPlugin({
@@ -79027,8 +79045,8 @@ const accounts = await meta.listAdAccounts();
79027
79045
 
79028
79046
  // ../connectors/src/connectors/meta-ads-oauth/tools/list-ad-accounts.ts
79029
79047
  import { z as z53 } from "zod";
79030
- var BASE_URL23 = "https://graph.facebook.com/v21.0/";
79031
- var REQUEST_TIMEOUT_MS35 = 6e4;
79048
+ var BASE_URL24 = "https://graph.facebook.com/v21.0/";
79049
+ var REQUEST_TIMEOUT_MS36 = 6e4;
79032
79050
  var cachedToken16 = null;
79033
79051
  async function getProxyToken16(config) {
79034
79052
  if (cachedToken16 && cachedToken16.expiresAt > Date.now() + 6e4) {
@@ -79101,7 +79119,7 @@ var listAdAccountsTool2 = new ConnectorTool({
79101
79119
  const token = await getProxyToken16(config.oauthProxy);
79102
79120
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
79103
79121
  const controller = new AbortController();
79104
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS35);
79122
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS36);
79105
79123
  try {
79106
79124
  const response = await fetch(proxyUrl, {
79107
79125
  method: "POST",
@@ -79110,7 +79128,7 @@ var listAdAccountsTool2 = new ConnectorTool({
79110
79128
  Authorization: `Bearer ${token}`
79111
79129
  },
79112
79130
  body: JSON.stringify({
79113
- url: `${BASE_URL23}me/adaccounts?fields=account_id,name,account_status`,
79131
+ url: `${BASE_URL24}me/adaccounts?fields=account_id,name,account_status`,
79114
79132
  method: "GET"
79115
79133
  }),
79116
79134
  signal: controller.signal
@@ -79197,8 +79215,8 @@ var parameters45 = {
79197
79215
 
79198
79216
  // ../connectors/src/connectors/meta-ads-oauth/tools/request.ts
79199
79217
  import { z as z54 } from "zod";
79200
- var BASE_URL24 = "https://graph.facebook.com/v21.0/";
79201
- var REQUEST_TIMEOUT_MS36 = 6e4;
79218
+ var BASE_URL25 = "https://graph.facebook.com/v21.0/";
79219
+ var REQUEST_TIMEOUT_MS37 = 6e4;
79202
79220
  var cachedToken17 = null;
79203
79221
  async function getProxyToken17(config) {
79204
79222
  if (cachedToken17 && cachedToken17.expiresAt > Date.now() + 6e4) {
@@ -79253,7 +79271,7 @@ var outputSchema52 = z54.discriminatedUnion("success", [
79253
79271
  error: z54.string()
79254
79272
  })
79255
79273
  ]);
79256
- var requestTool27 = new ConnectorTool({
79274
+ var requestTool28 = new ConnectorTool({
79257
79275
  name: "request",
79258
79276
  description: `Send authenticated requests to the Meta Marketing API v21.0.
79259
79277
  Authentication is handled automatically via OAuth proxy.
@@ -79274,7 +79292,7 @@ Authentication is handled automatically via OAuth proxy.
79274
79292
  try {
79275
79293
  const adAccountId = parameters45.adAccountId.tryGetValue(connection2) ?? "";
79276
79294
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
79277
- let url = `${BASE_URL24}${resolvedPath}`;
79295
+ let url = `${BASE_URL25}${resolvedPath}`;
79278
79296
  if (queryParams && Object.keys(queryParams).length > 0) {
79279
79297
  const params = new URLSearchParams(queryParams);
79280
79298
  const separator = url.includes("?") ? "&" : "?";
@@ -79283,7 +79301,7 @@ Authentication is handled automatically via OAuth proxy.
79283
79301
  const token = await getProxyToken17(config.oauthProxy);
79284
79302
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
79285
79303
  const controller = new AbortController();
79286
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS36);
79304
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS37);
79287
79305
  try {
79288
79306
  const response = await fetch(proxyUrl, {
79289
79307
  method: "POST",
@@ -79318,7 +79336,7 @@ Authentication is handled automatically via OAuth proxy.
79318
79336
 
79319
79337
  // ../connectors/src/connectors/meta-ads-oauth/index.ts
79320
79338
  var tools45 = {
79321
- request: requestTool27,
79339
+ request: requestTool28,
79322
79340
  listAdAccounts: listAdAccountsTool2
79323
79341
  };
79324
79342
  var metaAdsOauthConnector = new ConnectorPlugin({
@@ -79551,8 +79569,8 @@ var parameters46 = {
79551
79569
 
79552
79570
  // ../connectors/src/connectors/tiktok-ads/tools/request.ts
79553
79571
  import { z as z55 } from "zod";
79554
- var BASE_URL25 = "https://business-api.tiktok.com/open_api/v1.3/";
79555
- var REQUEST_TIMEOUT_MS37 = 6e4;
79572
+ var BASE_URL26 = "https://business-api.tiktok.com/open_api/v1.3/";
79573
+ var REQUEST_TIMEOUT_MS38 = 6e4;
79556
79574
  var inputSchema53 = z55.object({
79557
79575
  toolUseIntent: z55.string().optional().describe(
79558
79576
  "Brief description of what you intend to accomplish with this tool call"
@@ -79576,7 +79594,7 @@ var outputSchema53 = z55.discriminatedUnion("success", [
79576
79594
  error: z55.string()
79577
79595
  })
79578
79596
  ]);
79579
- var requestTool28 = new ConnectorTool({
79597
+ var requestTool29 = new ConnectorTool({
79580
79598
  name: "request",
79581
79599
  description: `Send authenticated requests to the TikTok Marketing API v1.3.
79582
79600
  Authentication is handled via the configured access token (sent as Access-Token header).
@@ -79597,7 +79615,7 @@ The advertiser_id is automatically injected if configured.`,
79597
79615
  try {
79598
79616
  const accessToken = parameters46.accessToken.getValue(connection2);
79599
79617
  const advertiserId = parameters46.advertiserId.tryGetValue(connection2) ?? "";
79600
- let url = `${BASE_URL25}${path5}`;
79618
+ let url = `${BASE_URL26}${path5}`;
79601
79619
  if (method === "GET") {
79602
79620
  const params = new URLSearchParams(queryParams ?? {});
79603
79621
  if (advertiserId && !params.has("advertiser_id")) {
@@ -79613,7 +79631,7 @@ The advertiser_id is automatically injected if configured.`,
79613
79631
  ...body
79614
79632
  } : void 0;
79615
79633
  const controller = new AbortController();
79616
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS37);
79634
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS38);
79617
79635
  try {
79618
79636
  const response = await fetch(url, {
79619
79637
  method,
@@ -79649,9 +79667,9 @@ The advertiser_id is automatically injected if configured.`,
79649
79667
  });
79650
79668
 
79651
79669
  // ../connectors/src/connectors/tiktok-ads/index.ts
79652
- var BASE_URL26 = "https://business-api.tiktok.com/open_api/v1.3/";
79670
+ var BASE_URL27 = "https://business-api.tiktok.com/open_api/v1.3/";
79653
79671
  var tools46 = {
79654
- request: requestTool28
79672
+ request: requestTool29
79655
79673
  };
79656
79674
  var tiktokAdsConnector = new ConnectorPlugin({
79657
79675
  slug: "tiktok-ads",
@@ -79824,7 +79842,7 @@ const campaigns = await tiktok.listCampaigns();
79824
79842
  return { success: true };
79825
79843
  }
79826
79844
  try {
79827
- const url = `${BASE_URL26}advertiser/info/?advertiser_id=${encodeURIComponent(advertiserId)}`;
79845
+ const url = `${BASE_URL27}advertiser/info/?advertiser_id=${encodeURIComponent(advertiserId)}`;
79828
79846
  const res = await fetch(url, {
79829
79847
  method: "GET",
79830
79848
  headers: {
@@ -79856,8 +79874,8 @@ const campaigns = await tiktok.listCampaigns();
79856
79874
 
79857
79875
  // ../connectors/src/connectors/tiktok-ads-oauth/tools/list-advertisers.ts
79858
79876
  import { z as z56 } from "zod";
79859
- var BASE_URL27 = "https://business-api.tiktok.com/open_api/v1.3/";
79860
- var REQUEST_TIMEOUT_MS38 = 6e4;
79877
+ var BASE_URL28 = "https://business-api.tiktok.com/open_api/v1.3/";
79878
+ var REQUEST_TIMEOUT_MS39 = 6e4;
79861
79879
  var cachedToken18 = null;
79862
79880
  async function getProxyToken18(config) {
79863
79881
  if (cachedToken18 && cachedToken18.expiresAt > Date.now() + 6e4) {
@@ -79930,7 +79948,7 @@ var listAdvertisersTool = new ConnectorTool({
79930
79948
  const token = await getProxyToken18(config.oauthProxy);
79931
79949
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
79932
79950
  const controller = new AbortController();
79933
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS38);
79951
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS39);
79934
79952
  try {
79935
79953
  const advertiserListResponse = await fetch(proxyUrl, {
79936
79954
  method: "POST",
@@ -79939,7 +79957,7 @@ var listAdvertisersTool = new ConnectorTool({
79939
79957
  Authorization: `Bearer ${token}`
79940
79958
  },
79941
79959
  body: JSON.stringify({
79942
- url: `${BASE_URL27}oauth2/advertiser/get/`,
79960
+ url: `${BASE_URL28}oauth2/advertiser/get/`,
79943
79961
  method: "GET"
79944
79962
  }),
79945
79963
  signal: controller.signal
@@ -80036,8 +80054,8 @@ var parameters47 = {
80036
80054
 
80037
80055
  // ../connectors/src/connectors/tiktok-ads-oauth/tools/request.ts
80038
80056
  import { z as z57 } from "zod";
80039
- var BASE_URL28 = "https://business-api.tiktok.com/open_api/v1.3/";
80040
- var REQUEST_TIMEOUT_MS39 = 6e4;
80057
+ var BASE_URL29 = "https://business-api.tiktok.com/open_api/v1.3/";
80058
+ var REQUEST_TIMEOUT_MS40 = 6e4;
80041
80059
  var cachedToken19 = null;
80042
80060
  async function getProxyToken19(config) {
80043
80061
  if (cachedToken19 && cachedToken19.expiresAt > Date.now() + 6e4) {
@@ -80092,7 +80110,7 @@ var outputSchema55 = z57.discriminatedUnion("success", [
80092
80110
  error: z57.string()
80093
80111
  })
80094
80112
  ]);
80095
- var requestTool29 = new ConnectorTool({
80113
+ var requestTool30 = new ConnectorTool({
80096
80114
  name: "request",
80097
80115
  description: `Send authenticated requests to the TikTok Marketing API v1.3.
80098
80116
  Authentication is handled automatically via OAuth proxy.
@@ -80112,7 +80130,7 @@ The advertiser_id is automatically injected if configured.`,
80112
80130
  );
80113
80131
  try {
80114
80132
  const advertiserId = parameters47.advertiserId.tryGetValue(connection2) ?? "";
80115
- let url = `${BASE_URL28}${path5}`;
80133
+ let url = `${BASE_URL29}${path5}`;
80116
80134
  if (method === "GET") {
80117
80135
  const params = new URLSearchParams(queryParams ?? {});
80118
80136
  if (advertiserId && !params.has("advertiser_id")) {
@@ -80130,7 +80148,7 @@ The advertiser_id is automatically injected if configured.`,
80130
80148
  const token = await getProxyToken19(config.oauthProxy);
80131
80149
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
80132
80150
  const controller = new AbortController();
80133
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS39);
80151
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS40);
80134
80152
  try {
80135
80153
  const response = await fetch(proxyUrl, {
80136
80154
  method: "POST",
@@ -80171,7 +80189,7 @@ The advertiser_id is automatically injected if configured.`,
80171
80189
 
80172
80190
  // ../connectors/src/connectors/tiktok-ads-oauth/index.ts
80173
80191
  var tools47 = {
80174
- request: requestTool29,
80192
+ request: requestTool30,
80175
80193
  listAdvertisers: listAdvertisersTool
80176
80194
  };
80177
80195
  var tiktokAdsOauthConnector = new ConnectorPlugin({
@@ -80383,7 +80401,7 @@ var parameters48 = {
80383
80401
 
80384
80402
  // ../connectors/src/connectors/mailchimp/tools/request.ts
80385
80403
  import { z as z58 } from "zod";
80386
- var REQUEST_TIMEOUT_MS40 = 6e4;
80404
+ var REQUEST_TIMEOUT_MS41 = 6e4;
80387
80405
  function extractDatacenter(apiKey) {
80388
80406
  const parts = apiKey.split("-");
80389
80407
  const dc = parts[parts.length - 1];
@@ -80419,7 +80437,7 @@ var outputSchema56 = z58.discriminatedUnion("success", [
80419
80437
  error: z58.string()
80420
80438
  })
80421
80439
  ]);
80422
- var requestTool30 = new ConnectorTool({
80440
+ var requestTool31 = new ConnectorTool({
80423
80441
  name: "request",
80424
80442
  description: `Send authenticated requests to the Mailchimp Marketing API v3.
80425
80443
  Authentication is handled automatically using the API Key (Basic Auth).
@@ -80448,7 +80466,7 @@ The datacenter is automatically extracted from the API key suffix.`,
80448
80466
  url += `?${searchParams.toString()}`;
80449
80467
  }
80450
80468
  const controller = new AbortController();
80451
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS40);
80469
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS41);
80452
80470
  try {
80453
80471
  const response = await fetch(url, {
80454
80472
  method,
@@ -80476,7 +80494,7 @@ The datacenter is automatically extracted from the API key suffix.`,
80476
80494
  });
80477
80495
 
80478
80496
  // ../connectors/src/connectors/mailchimp/index.ts
80479
- var tools48 = { request: requestTool30 };
80497
+ var tools48 = { request: requestTool31 };
80480
80498
  var mailchimpConnector = new ConnectorPlugin({
80481
80499
  slug: "mailchimp",
80482
80500
  authType: null,
@@ -80714,7 +80732,7 @@ var parameters49 = {
80714
80732
 
80715
80733
  // ../connectors/src/connectors/mailchimp-oauth/tools/request.ts
80716
80734
  import { z as z59 } from "zod";
80717
- var REQUEST_TIMEOUT_MS41 = 6e4;
80735
+ var REQUEST_TIMEOUT_MS42 = 6e4;
80718
80736
  var cachedToken20 = null;
80719
80737
  async function getProxyToken20(config) {
80720
80738
  if (cachedToken20 && cachedToken20.expiresAt > Date.now() + 6e4) {
@@ -80769,7 +80787,7 @@ var outputSchema57 = z59.discriminatedUnion("success", [
80769
80787
  error: z59.string()
80770
80788
  })
80771
80789
  ]);
80772
- var requestTool31 = new ConnectorTool({
80790
+ var requestTool32 = new ConnectorTool({
80773
80791
  name: "request",
80774
80792
  description: `Send authenticated requests to the Mailchimp Marketing API v3.
80775
80793
  Authentication is handled automatically via OAuth proxy.`,
@@ -80797,7 +80815,7 @@ Authentication is handled automatically via OAuth proxy.`,
80797
80815
  const token = await getProxyToken20(config.oauthProxy);
80798
80816
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
80799
80817
  const controller = new AbortController();
80800
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS41);
80818
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS42);
80801
80819
  try {
80802
80820
  const response = await fetch(proxyUrl, {
80803
80821
  method: "POST",
@@ -80829,7 +80847,7 @@ Authentication is handled automatically via OAuth proxy.`,
80829
80847
  });
80830
80848
 
80831
80849
  // ../connectors/src/connectors/mailchimp-oauth/index.ts
80832
- var tools49 = { request: requestTool31 };
80850
+ var tools49 = { request: requestTool32 };
80833
80851
  var mailchimpOauthConnector = new ConnectorPlugin({
80834
80852
  slug: "mailchimp",
80835
80853
  authType: AUTH_TYPES.OAUTH,
@@ -81029,7 +81047,7 @@ var parameters50 = {
81029
81047
 
81030
81048
  // ../connectors/src/connectors/customerio/tools/request.ts
81031
81049
  import { z as z60 } from "zod";
81032
- var REQUEST_TIMEOUT_MS42 = 6e4;
81050
+ var REQUEST_TIMEOUT_MS43 = 6e4;
81033
81051
  function getBaseUrl(region) {
81034
81052
  return region === "eu" ? "https://api-eu.customer.io" : "https://api.customer.io";
81035
81053
  }
@@ -81056,7 +81074,7 @@ var outputSchema58 = z60.discriminatedUnion("success", [
81056
81074
  error: z60.string()
81057
81075
  })
81058
81076
  ]);
81059
- var requestTool32 = new ConnectorTool({
81077
+ var requestTool33 = new ConnectorTool({
81060
81078
  name: "request",
81061
81079
  description: `Send authenticated requests to the Customer.io App API.
81062
81080
  Authentication is handled automatically using the App API Key (Bearer token).
@@ -81085,7 +81103,7 @@ The App API is the read and management path for Customer.io data.`,
81085
81103
  url += `?${searchParams.toString()}`;
81086
81104
  }
81087
81105
  const controller = new AbortController();
81088
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS42);
81106
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS43);
81089
81107
  try {
81090
81108
  const response = await fetch(url, {
81091
81109
  method,
@@ -81122,7 +81140,7 @@ The App API is the read and management path for Customer.io data.`,
81122
81140
  });
81123
81141
 
81124
81142
  // ../connectors/src/connectors/customerio/index.ts
81125
- var tools50 = { request: requestTool32 };
81143
+ var tools50 = { request: requestTool33 };
81126
81144
  var customerioConnector = new ConnectorPlugin({
81127
81145
  slug: "customerio",
81128
81146
  authType: null,
@@ -81307,8 +81325,8 @@ export default async function handler(c: Context) {
81307
81325
 
81308
81326
  // ../connectors/src/connectors/gmail-oauth/tools/request.ts
81309
81327
  import { z as z61 } from "zod";
81310
- var BASE_URL29 = "https://gmail.googleapis.com/gmail/v1/users";
81311
- var REQUEST_TIMEOUT_MS43 = 6e4;
81328
+ var BASE_URL30 = "https://gmail.googleapis.com/gmail/v1/users";
81329
+ var REQUEST_TIMEOUT_MS44 = 6e4;
81312
81330
  var cachedToken21 = null;
81313
81331
  async function getProxyToken21(config) {
81314
81332
  if (cachedToken21 && cachedToken21.expiresAt > Date.now() + 6e4) {
@@ -81364,7 +81382,7 @@ var outputSchema59 = z61.discriminatedUnion("success", [
81364
81382
  error: z61.string()
81365
81383
  })
81366
81384
  ]);
81367
- var requestTool33 = new ConnectorTool({
81385
+ var requestTool34 = new ConnectorTool({
81368
81386
  name: "request",
81369
81387
  description: `Send authenticated GET requests to the Gmail API v1.
81370
81388
  Authentication is handled automatically via OAuth proxy.
@@ -81383,7 +81401,7 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
81383
81401
  `[connector-request] gmail-oauth/${connection2.name}: ${method} ${path5}`
81384
81402
  );
81385
81403
  try {
81386
- let url = `${BASE_URL29}${path5.startsWith("/") ? "" : "/"}${path5}`;
81404
+ let url = `${BASE_URL30}${path5.startsWith("/") ? "" : "/"}${path5}`;
81387
81405
  if (queryParams) {
81388
81406
  const searchParams = new URLSearchParams(queryParams);
81389
81407
  url += `?${searchParams.toString()}`;
@@ -81391,7 +81409,7 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
81391
81409
  const token = await getProxyToken21(config.oauthProxy);
81392
81410
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
81393
81411
  const controller = new AbortController();
81394
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS43);
81412
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS44);
81395
81413
  try {
81396
81414
  const response = await fetch(proxyUrl, {
81397
81415
  method: "POST",
@@ -81422,16 +81440,16 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
81422
81440
  });
81423
81441
 
81424
81442
  // ../connectors/src/connectors/gmail-oauth/setup.ts
81425
- var requestToolName8 = `gmail-oauth_${requestTool33.name}`;
81443
+ var requestToolName9 = `gmail-oauth_${requestTool34.name}`;
81426
81444
  var gmailOnboarding = new ConnectorOnboarding({
81427
81445
  connectionSetupInstructions: {
81428
81446
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Gmail\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
81429
81447
 
81430
- 1. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E6\u30FC\u30B6\u30FC\u306E\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u3092\u53D6\u5F97\u3059\u308B:
81448
+ 1. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E6\u30FC\u30B6\u30FC\u306E\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u3092\u53D6\u5F97\u3059\u308B:
81431
81449
  - \`method\`: \`"GET"\`
81432
81450
  - \`path\`: \`"/me/profile"\`
81433
81451
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001OAuth\u306E\u8A8D\u8A3C\u304C\u6B63\u3057\u304F\u5B8C\u4E86\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3059\u308B\u3088\u3046\u30E6\u30FC\u30B6\u30FC\u306B\u4F1D\u3048\u308B
81434
- 3. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E9\u30D9\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
81452
+ 3. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E9\u30D9\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
81435
81453
  - \`method\`: \`"GET"\`
81436
81454
  - \`path\`: \`"/me/labels"\`
81437
81455
  4. \`updateConnectionContext\` \u3092\u547C\u3073\u51FA\u3059:
@@ -81444,11 +81462,11 @@ var gmailOnboarding = new ConnectorOnboarding({
81444
81462
  - \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`,
81445
81463
  en: `Follow these steps to set up the Gmail connection.
81446
81464
 
81447
- 1. Call \`${requestToolName8}\` to get the user's profile:
81465
+ 1. Call \`${requestToolName9}\` to get the user's profile:
81448
81466
  - \`method\`: \`"GET"\`
81449
81467
  - \`path\`: \`"/me/profile"\`
81450
81468
  2. If an error is returned, ask the user to verify that OAuth authentication completed correctly
81451
- 3. Call \`${requestToolName8}\` to get the label list:
81469
+ 3. Call \`${requestToolName9}\` to get the label list:
81452
81470
  - \`method\`: \`"GET"\`
81453
81471
  - \`path\`: \`"/me/labels"\`
81454
81472
  4. Call \`updateConnectionContext\`:
@@ -81474,7 +81492,7 @@ var gmailOnboarding = new ConnectorOnboarding({
81474
81492
  var parameters51 = {};
81475
81493
 
81476
81494
  // ../connectors/src/connectors/gmail-oauth/index.ts
81477
- var tools51 = { request: requestTool33 };
81495
+ var tools51 = { request: requestTool34 };
81478
81496
  var gmailOauthConnector = new ConnectorPlugin({
81479
81497
  slug: "gmail",
81480
81498
  authType: AUTH_TYPES.OAUTH,
@@ -81689,7 +81707,7 @@ var parameters52 = {
81689
81707
  };
81690
81708
 
81691
81709
  // ../connectors/src/connectors/linkedin-ads/tools/list-ad-accounts.ts
81692
- var REQUEST_TIMEOUT_MS44 = 6e4;
81710
+ var REQUEST_TIMEOUT_MS45 = 6e4;
81693
81711
  var LINKEDIN_VERSION = "202603";
81694
81712
  var inputSchema60 = z62.object({
81695
81713
  toolUseIntent: z62.string().optional().describe(
@@ -81732,7 +81750,7 @@ var listAdAccountsTool3 = new ConnectorTool({
81732
81750
  const accessToken = parameters52.accessToken.getValue(connection2);
81733
81751
  const url = "https://api.linkedin.com/rest/adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100";
81734
81752
  const controller = new AbortController();
81735
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS44);
81753
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS45);
81736
81754
  try {
81737
81755
  const response = await fetch(url, {
81738
81756
  method: "GET",
@@ -81812,9 +81830,9 @@ var linkedinAdsOnboarding = new ConnectorOnboarding({
81812
81830
 
81813
81831
  // ../connectors/src/connectors/linkedin-ads/tools/request.ts
81814
81832
  import { z as z63 } from "zod";
81815
- var BASE_URL30 = "https://api.linkedin.com/rest/";
81833
+ var BASE_URL31 = "https://api.linkedin.com/rest/";
81816
81834
  var LINKEDIN_VERSION2 = "202603";
81817
- var REQUEST_TIMEOUT_MS45 = 6e4;
81835
+ var REQUEST_TIMEOUT_MS46 = 6e4;
81818
81836
  var inputSchema61 = z63.object({
81819
81837
  toolUseIntent: z63.string().optional().describe(
81820
81838
  "Brief description of what you intend to accomplish with this tool call"
@@ -81838,7 +81856,7 @@ var outputSchema61 = z63.discriminatedUnion("success", [
81838
81856
  error: z63.string()
81839
81857
  })
81840
81858
  ]);
81841
- var requestTool34 = new ConnectorTool({
81859
+ var requestTool35 = new ConnectorTool({
81842
81860
  name: "request",
81843
81861
  description: `Send authenticated requests to the LinkedIn Marketing API (REST).
81844
81862
  Authentication is handled via the configured access token.
@@ -81861,14 +81879,14 @@ Required headers (Authorization, LinkedIn-Version, X-Restli-Protocol-Version) ar
81861
81879
  const accessToken = parameters52.accessToken.getValue(connection2);
81862
81880
  const adAccountId = parameters52.adAccountId.tryGetValue(connection2) ?? "";
81863
81881
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
81864
- let url = `${BASE_URL30}${resolvedPath}`;
81882
+ let url = `${BASE_URL31}${resolvedPath}`;
81865
81883
  if (queryParams && Object.keys(queryParams).length > 0) {
81866
81884
  const params = new URLSearchParams(queryParams);
81867
81885
  const separator = url.includes("?") ? "&" : "?";
81868
81886
  url = `${url}${separator}${params.toString()}`;
81869
81887
  }
81870
81888
  const controller = new AbortController();
81871
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS45);
81889
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS46);
81872
81890
  try {
81873
81891
  const headers = {
81874
81892
  Authorization: `Bearer ${accessToken}`,
@@ -81907,7 +81925,7 @@ Required headers (Authorization, LinkedIn-Version, X-Restli-Protocol-Version) ar
81907
81925
 
81908
81926
  // ../connectors/src/connectors/linkedin-ads/index.ts
81909
81927
  var tools52 = {
81910
- request: requestTool34,
81928
+ request: requestTool35,
81911
81929
  listAdAccounts: listAdAccountsTool3
81912
81930
  };
81913
81931
  var linkedinAdsConnector = new ConnectorPlugin({
@@ -82169,9 +82187,9 @@ const data = await res.json();
82169
82187
 
82170
82188
  // ../connectors/src/connectors/linkedin-ads-oauth/tools/list-ad-accounts.ts
82171
82189
  import { z as z64 } from "zod";
82172
- var BASE_URL31 = "https://api.linkedin.com/rest/";
82190
+ var BASE_URL32 = "https://api.linkedin.com/rest/";
82173
82191
  var LINKEDIN_VERSION3 = "202603";
82174
- var REQUEST_TIMEOUT_MS46 = 6e4;
82192
+ var REQUEST_TIMEOUT_MS47 = 6e4;
82175
82193
  var cachedToken22 = null;
82176
82194
  async function getProxyToken22(config) {
82177
82195
  if (cachedToken22 && cachedToken22.expiresAt > Date.now() + 6e4) {
@@ -82244,7 +82262,7 @@ var listAdAccountsTool4 = new ConnectorTool({
82244
82262
  const token = await getProxyToken22(config.oauthProxy);
82245
82263
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
82246
82264
  const controller = new AbortController();
82247
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS46);
82265
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS47);
82248
82266
  try {
82249
82267
  const response = await fetch(proxyUrl, {
82250
82268
  method: "POST",
@@ -82253,7 +82271,7 @@ var listAdAccountsTool4 = new ConnectorTool({
82253
82271
  Authorization: `Bearer ${token}`
82254
82272
  },
82255
82273
  body: JSON.stringify({
82256
- url: `${BASE_URL31}adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100`,
82274
+ url: `${BASE_URL32}adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100`,
82257
82275
  method: "GET",
82258
82276
  headers: {
82259
82277
  "LinkedIn-Version": LINKEDIN_VERSION3,
@@ -82344,9 +82362,9 @@ var parameters53 = {
82344
82362
 
82345
82363
  // ../connectors/src/connectors/linkedin-ads-oauth/tools/request.ts
82346
82364
  import { z as z65 } from "zod";
82347
- var BASE_URL32 = "https://api.linkedin.com/rest/";
82365
+ var BASE_URL33 = "https://api.linkedin.com/rest/";
82348
82366
  var LINKEDIN_VERSION4 = "202603";
82349
- var REQUEST_TIMEOUT_MS47 = 6e4;
82367
+ var REQUEST_TIMEOUT_MS48 = 6e4;
82350
82368
  var cachedToken23 = null;
82351
82369
  async function getProxyToken23(config) {
82352
82370
  if (cachedToken23 && cachedToken23.expiresAt > Date.now() + 6e4) {
@@ -82401,7 +82419,7 @@ var outputSchema63 = z65.discriminatedUnion("success", [
82401
82419
  error: z65.string()
82402
82420
  })
82403
82421
  ]);
82404
- var requestTool35 = new ConnectorTool({
82422
+ var requestTool36 = new ConnectorTool({
82405
82423
  name: "request",
82406
82424
  description: `Send authenticated requests to the LinkedIn Marketing API (REST).
82407
82425
  Authentication is handled automatically via OAuth proxy.
@@ -82423,7 +82441,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
82423
82441
  try {
82424
82442
  const adAccountId = parameters53.adAccountId.tryGetValue(connection2) ?? "";
82425
82443
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
82426
- let url = `${BASE_URL32}${resolvedPath}`;
82444
+ let url = `${BASE_URL33}${resolvedPath}`;
82427
82445
  if (queryParams && Object.keys(queryParams).length > 0) {
82428
82446
  const params = new URLSearchParams(queryParams);
82429
82447
  const separator = url.includes("?") ? "&" : "?";
@@ -82432,7 +82450,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
82432
82450
  const token = await getProxyToken23(config.oauthProxy);
82433
82451
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
82434
82452
  const controller = new AbortController();
82435
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS47);
82453
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS48);
82436
82454
  try {
82437
82455
  const additionalHeaders = {
82438
82456
  "LinkedIn-Version": LINKEDIN_VERSION4,
@@ -82477,7 +82495,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
82477
82495
 
82478
82496
  // ../connectors/src/connectors/linkedin-ads-oauth/index.ts
82479
82497
  var tools53 = {
82480
- request: requestTool35,
82498
+ request: requestTool36,
82481
82499
  listAdAccounts: listAdAccountsTool4
82482
82500
  };
82483
82501
  var linkedinAdsOauthConnector = new ConnectorPlugin({
@@ -82761,7 +82779,7 @@ var parameters54 = {
82761
82779
 
82762
82780
  // ../connectors/src/connectors/zendesk/tools/request.ts
82763
82781
  import { z as z66 } from "zod";
82764
- var REQUEST_TIMEOUT_MS48 = 6e4;
82782
+ var REQUEST_TIMEOUT_MS49 = 6e4;
82765
82783
  var inputSchema64 = z66.object({
82766
82784
  toolUseIntent: z66.string().optional().describe(
82767
82785
  "Brief description of what you intend to accomplish with this tool call"
@@ -82786,7 +82804,7 @@ var outputSchema64 = z66.discriminatedUnion("success", [
82786
82804
  error: z66.string()
82787
82805
  })
82788
82806
  ]);
82789
- var requestTool36 = new ConnectorTool({
82807
+ var requestTool37 = new ConnectorTool({
82790
82808
  name: "request",
82791
82809
  description: `Send authenticated requests to the Zendesk Support API.
82792
82810
  Authentication is handled automatically using email/token Basic auth.
@@ -82814,7 +82832,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
82814
82832
  );
82815
82833
  const url = `https://${subdomain}.zendesk.com${path5.startsWith("/") ? "" : "/"}${path5}`;
82816
82834
  const controller = new AbortController();
82817
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS48);
82835
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS49);
82818
82836
  try {
82819
82837
  const response = await fetch(url, {
82820
82838
  method,
@@ -82842,7 +82860,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
82842
82860
  });
82843
82861
 
82844
82862
  // ../connectors/src/connectors/zendesk/index.ts
82845
- var tools54 = { request: requestTool36 };
82863
+ var tools54 = { request: requestTool37 };
82846
82864
  var zendeskConnector = new ConnectorPlugin({
82847
82865
  slug: "zendesk",
82848
82866
  authType: null,
@@ -83031,7 +83049,7 @@ export default async function handler(c: Context) {
83031
83049
 
83032
83050
  // ../connectors/src/connectors/zendesk-oauth/tools/request.ts
83033
83051
  import { z as z67 } from "zod";
83034
- var REQUEST_TIMEOUT_MS49 = 6e4;
83052
+ var REQUEST_TIMEOUT_MS50 = 6e4;
83035
83053
  var cachedToken24 = null;
83036
83054
  async function getProxyToken24(config) {
83037
83055
  if (cachedToken24 && cachedToken24.expiresAt > Date.now() + 6e4) {
@@ -83086,7 +83104,7 @@ var outputSchema65 = z67.discriminatedUnion("success", [
83086
83104
  error: z67.string()
83087
83105
  })
83088
83106
  ]);
83089
- var requestTool37 = new ConnectorTool({
83107
+ var requestTool38 = new ConnectorTool({
83090
83108
  name: "request",
83091
83109
  description: `Send authenticated requests to the Zendesk Support API.
83092
83110
  Authentication is handled automatically via OAuth proxy.
@@ -83115,7 +83133,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
83115
83133
  const token = await getProxyToken24(config.oauthProxy);
83116
83134
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
83117
83135
  const controller = new AbortController();
83118
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS49);
83136
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS50);
83119
83137
  try {
83120
83138
  const response = await fetch(proxyUrl, {
83121
83139
  method: "POST",
@@ -83147,12 +83165,12 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
83147
83165
  });
83148
83166
 
83149
83167
  // ../connectors/src/connectors/zendesk-oauth/setup.ts
83150
- var requestToolName9 = `zendesk-oauth_${requestTool37.name}`;
83168
+ var requestToolName10 = `zendesk-oauth_${requestTool38.name}`;
83151
83169
  var zendeskOauthOnboarding = new ConnectorOnboarding({
83152
83170
  connectionSetupInstructions: {
83153
83171
  en: `Follow these steps to set up the Zendesk connection.
83154
83172
 
83155
- 1. Call \`${requestToolName9}\` to fetch account info:
83173
+ 1. Call \`${requestToolName10}\` to fetch account info:
83156
83174
  - \`method\`: \`"GET"\`
83157
83175
  - \`path\`: \`"/api/v2/account/settings.json"\`
83158
83176
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -83165,7 +83183,7 @@ var zendeskOauthOnboarding = new ConnectorOnboarding({
83165
83183
  - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`,
83166
83184
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Zendesk\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
83167
83185
 
83168
- 1. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
83186
+ 1. \`${requestToolName10}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
83169
83187
  - \`method\`: \`"GET"\`
83170
83188
  - \`path\`: \`"/api/v2/account/settings.json"\`
83171
83189
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BOAuth\u63A5\u7D9A\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -83193,7 +83211,7 @@ var zendeskOauthOnboarding = new ConnectorOnboarding({
83193
83211
  var parameters55 = {};
83194
83212
 
83195
83213
  // ../connectors/src/connectors/zendesk-oauth/index.ts
83196
- var tools55 = { request: requestTool37 };
83214
+ var tools55 = { request: requestTool38 };
83197
83215
  var zendeskOauthConnector = new ConnectorPlugin({
83198
83216
  slug: "zendesk",
83199
83217
  authType: AUTH_TYPES.OAUTH,
@@ -83382,9 +83400,9 @@ var parameters56 = {
83382
83400
 
83383
83401
  // ../connectors/src/connectors/intercom/tools/request.ts
83384
83402
  import { z as z68 } from "zod";
83385
- var BASE_URL33 = "https://api.intercom.io";
83403
+ var BASE_URL34 = "https://api.intercom.io";
83386
83404
  var API_VERSION = "2.11";
83387
- var REQUEST_TIMEOUT_MS50 = 6e4;
83405
+ var REQUEST_TIMEOUT_MS51 = 6e4;
83388
83406
  var inputSchema66 = z68.object({
83389
83407
  toolUseIntent: z68.string().optional().describe(
83390
83408
  "Brief description of what you intend to accomplish with this tool call"
@@ -83409,7 +83427,7 @@ var outputSchema66 = z68.discriminatedUnion("success", [
83409
83427
  error: z68.string()
83410
83428
  })
83411
83429
  ]);
83412
- var requestTool38 = new ConnectorTool({
83430
+ var requestTool39 = new ConnectorTool({
83413
83431
  name: "request",
83414
83432
  description: `Send authenticated requests to the Intercom API.
83415
83433
  Authentication is handled automatically using the Access Token (Bearer token).
@@ -83432,9 +83450,9 @@ The Intercom-Version header is set to 2.11 automatically.`,
83432
83450
  );
83433
83451
  try {
83434
83452
  const accessToken = parameters56.accessToken.getValue(connection2);
83435
- const url = `${BASE_URL33}${path5.startsWith("/") ? "" : "/"}${path5}`;
83453
+ const url = `${BASE_URL34}${path5.startsWith("/") ? "" : "/"}${path5}`;
83436
83454
  const controller = new AbortController();
83437
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS50);
83455
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS51);
83438
83456
  try {
83439
83457
  const response = await fetch(url, {
83440
83458
  method,
@@ -83465,7 +83483,7 @@ The Intercom-Version header is set to 2.11 automatically.`,
83465
83483
  });
83466
83484
 
83467
83485
  // ../connectors/src/connectors/intercom/index.ts
83468
- var tools56 = { request: requestTool38 };
83486
+ var tools56 = { request: requestTool39 };
83469
83487
  var intercomConnector = new ConnectorPlugin({
83470
83488
  slug: "intercom",
83471
83489
  authType: null,
@@ -83674,8 +83692,8 @@ export default async function handler(c: Context) {
83674
83692
 
83675
83693
  // ../connectors/src/connectors/intercom-oauth/tools/request.ts
83676
83694
  import { z as z69 } from "zod";
83677
- var BASE_URL34 = "https://api.intercom.io";
83678
- var REQUEST_TIMEOUT_MS51 = 6e4;
83695
+ var BASE_URL35 = "https://api.intercom.io";
83696
+ var REQUEST_TIMEOUT_MS52 = 6e4;
83679
83697
  var cachedToken25 = null;
83680
83698
  async function getProxyToken25(config) {
83681
83699
  if (cachedToken25 && cachedToken25.expiresAt > Date.now() + 6e4) {
@@ -83730,7 +83748,7 @@ var outputSchema67 = z69.discriminatedUnion("success", [
83730
83748
  error: z69.string()
83731
83749
  })
83732
83750
  ]);
83733
- var requestTool39 = new ConnectorTool({
83751
+ var requestTool40 = new ConnectorTool({
83734
83752
  name: "request",
83735
83753
  description: `Send authenticated requests to the Intercom API.
83736
83754
  Authentication is handled automatically via OAuth proxy.
@@ -83751,7 +83769,7 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
83751
83769
  `[connector-request] intercom-oauth/${connection2.name}: ${method} ${path5}`
83752
83770
  );
83753
83771
  try {
83754
- let url = `${BASE_URL34}${path5.startsWith("/") ? "" : "/"}${path5}`;
83772
+ let url = `${BASE_URL35}${path5.startsWith("/") ? "" : "/"}${path5}`;
83755
83773
  if (queryParams) {
83756
83774
  const searchParams = new URLSearchParams(queryParams);
83757
83775
  const separator = url.includes("?") ? "&" : "?";
@@ -83760,7 +83778,7 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
83760
83778
  const token = await getProxyToken25(config.oauthProxy);
83761
83779
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
83762
83780
  const controller = new AbortController();
83763
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS51);
83781
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS52);
83764
83782
  try {
83765
83783
  const response = await fetch(proxyUrl, {
83766
83784
  method: "POST",
@@ -83793,12 +83811,12 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
83793
83811
  });
83794
83812
 
83795
83813
  // ../connectors/src/connectors/intercom-oauth/setup.ts
83796
- var requestToolName10 = `intercom-oauth_${requestTool39.name}`;
83814
+ var requestToolName11 = `intercom-oauth_${requestTool40.name}`;
83797
83815
  var intercomOauthOnboarding = new ConnectorOnboarding({
83798
83816
  connectionSetupInstructions: {
83799
83817
  en: `Follow these steps to set up the Intercom connection.
83800
83818
 
83801
- 1. Call \`${requestToolName10}\` to verify the connection:
83819
+ 1. Call \`${requestToolName11}\` to verify the connection:
83802
83820
  - \`method\`: \`"GET"\`
83803
83821
  - \`path\`: \`"/me"\`
83804
83822
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -83811,7 +83829,7 @@ var intercomOauthOnboarding = new ConnectorOnboarding({
83811
83829
  - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`,
83812
83830
  ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Intercom\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002
83813
83831
 
83814
- 1. \`${requestToolName10}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u63A5\u7D9A\u3092\u78BA\u8A8D\u3059\u308B:
83832
+ 1. \`${requestToolName11}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u63A5\u7D9A\u3092\u78BA\u8A8D\u3059\u308B:
83815
83833
  - \`method\`: \`"GET"\`
83816
83834
  - \`path\`: \`"/me"\`
83817
83835
  2. \u30A8\u30E9\u30FC\u304C\u8FD4\u3055\u308C\u305F\u5834\u5408\u3001\u30E6\u30FC\u30B6\u30FC\u306BOAuth\u63A5\u7D9A\u306E\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3059\u308B\u3088\u3046\u4F1D\u3048\u308B
@@ -83839,7 +83857,7 @@ var intercomOauthOnboarding = new ConnectorOnboarding({
83839
83857
  var parameters57 = {};
83840
83858
 
83841
83859
  // ../connectors/src/connectors/intercom-oauth/index.ts
83842
- var tools57 = { request: requestTool39 };
83860
+ var tools57 = { request: requestTool40 };
83843
83861
  var intercomOauthConnector = new ConnectorPlugin({
83844
83862
  slug: "intercom",
83845
83863
  authType: AUTH_TYPES.OAUTH,
@@ -84061,7 +84079,7 @@ var parameters58 = {
84061
84079
 
84062
84080
  // ../connectors/src/connectors/mixpanel/tools/request.ts
84063
84081
  import { z as z70 } from "zod";
84064
- var REQUEST_TIMEOUT_MS52 = 6e4;
84082
+ var REQUEST_TIMEOUT_MS53 = 6e4;
84065
84083
  var inputSchema68 = z70.object({
84066
84084
  toolUseIntent: z70.string().optional().describe(
84067
84085
  "Brief description of what you intend to accomplish with this tool call"
@@ -84091,7 +84109,7 @@ var outputSchema68 = z70.discriminatedUnion("success", [
84091
84109
  error: z70.string()
84092
84110
  })
84093
84111
  ]);
84094
- var requestTool40 = new ConnectorTool({
84112
+ var requestTool41 = new ConnectorTool({
84095
84113
  name: "request",
84096
84114
  description: `Send authenticated requests to the Mixpanel REST API.
84097
84115
  Authentication is handled automatically using Basic auth (Service Account username + secret).
@@ -84134,7 +84152,7 @@ Rate limit: 60 queries/hour, 5 concurrent queries for Query API.`,
84134
84152
  finalUrl = urlObj.toString();
84135
84153
  }
84136
84154
  const controller = new AbortController();
84137
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS52);
84155
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS53);
84138
84156
  try {
84139
84157
  const headers = {
84140
84158
  Authorization: `Basic ${authToken}`,
@@ -84185,7 +84203,7 @@ Rate limit: 60 queries/hour, 5 concurrent queries for Query API.`,
84185
84203
  });
84186
84204
 
84187
84205
  // ../connectors/src/connectors/mixpanel/index.ts
84188
- var tools58 = { request: requestTool40 };
84206
+ var tools58 = { request: requestTool41 };
84189
84207
  var mixpanelConnector = new ConnectorPlugin({
84190
84208
  slug: "mixpanel",
84191
84209
  authType: null,
@@ -84369,7 +84387,7 @@ var parameters59 = {
84369
84387
 
84370
84388
  // ../connectors/src/connectors/posthog/tools/request.ts
84371
84389
  import { z as z71 } from "zod";
84372
- var REQUEST_TIMEOUT_MS53 = 6e4;
84390
+ var REQUEST_TIMEOUT_MS54 = 6e4;
84373
84391
  var inputSchema69 = z71.object({
84374
84392
  toolUseIntent: z71.string().optional().describe(
84375
84393
  "Brief description of what you intend to accomplish with this tool call"
@@ -84394,7 +84412,7 @@ var outputSchema69 = z71.discriminatedUnion("success", [
84394
84412
  error: z71.string()
84395
84413
  })
84396
84414
  ]);
84397
- var requestTool41 = new ConnectorTool({
84415
+ var requestTool42 = new ConnectorTool({
84398
84416
  name: "request",
84399
84417
  description: `Send authenticated requests to the PostHog REST API.
84400
84418
  Authentication is handled automatically using a Bearer token (Personal API Key).
@@ -84430,7 +84448,7 @@ Rate limit: 240/minute, 1200/hour for analytics endpoints.`,
84430
84448
  const host = parameters59.host.tryGetValue(connection2) ?? "https://us.posthog.com";
84431
84449
  const url = `${host.replace(/\/$/, "")}${path5}`;
84432
84450
  const controller = new AbortController();
84433
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS53);
84451
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS54);
84434
84452
  try {
84435
84453
  const headers = {
84436
84454
  Authorization: `Bearer ${apiKey}`,
@@ -84460,7 +84478,7 @@ Rate limit: 240/minute, 1200/hour for analytics endpoints.`,
84460
84478
  });
84461
84479
 
84462
84480
  // ../connectors/src/connectors/posthog/index.ts
84463
- var tools59 = { request: requestTool41 };
84481
+ var tools59 = { request: requestTool42 };
84464
84482
  var posthogConnector = new ConnectorPlugin({
84465
84483
  slug: "posthog",
84466
84484
  authType: null,
@@ -84639,6 +84657,7 @@ var plugins = {
84639
84657
  googleSheetsOauth: googleSheetsOauthConnector,
84640
84658
  hubspotOauth: hubspotOauthConnector,
84641
84659
  stripeOauth: stripeOauthConnector,
84660
+ stripeApiKey: stripeApiKeyConnector,
84642
84661
  airtable: airtableConnector,
84643
84662
  airtableOauth: airtableOauthConnector,
84644
84663
  squadbaseDb: squadbaseDbConnector,
@@ -84659,7 +84678,6 @@ var plugins = {
84659
84678
  jira: jiraConnector,
84660
84679
  linear: linearConnector,
84661
84680
  asana: asanaConnector,
84662
- trino: trinoConnector,
84663
84681
  clickhouse: clickhouseConnector,
84664
84682
  mongodb: mongodbConnector,
84665
84683
  notion: notionConnector,