@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/cli/index.js CHANGED
@@ -87675,7 +87675,7 @@ var tools17 = { request: requestTool8 };
87675
87675
  var hubspotOauthConnector = new ConnectorPlugin({
87676
87676
  slug: "hubspot",
87677
87677
  authType: AUTH_TYPES.OAUTH,
87678
- name: "HubSpot (OAuth)",
87678
+ name: "HubSpot",
87679
87679
  description: "Connect to HubSpot CRM for contacts, deals, companies, and marketing data using OAuth.",
87680
87680
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
87681
87681
  parameters: parameters17,
@@ -88108,11 +88108,303 @@ const data = await res.json();
88108
88108
  }
88109
88109
  });
88110
88110
 
88111
- // ../connectors/src/connectors/airtable-oauth/tools/request.ts
88111
+ // ../connectors/src/connectors/stripe-api-key/tools/request.ts
88112
88112
  import { z as z27 } from "zod";
88113
88113
 
88114
- // ../connectors/src/connectors/airtable-oauth/parameters.ts
88114
+ // ../connectors/src/connectors/stripe-api-key/parameters.ts
88115
88115
  var parameters19 = {
88116
+ apiKey: new ParameterDefinition({
88117
+ slug: "api-key",
88118
+ name: "Stripe API Key",
88119
+ description: "Your Stripe Secret API Key (sk_live_... / sk_test_...) or Restricted API Key (rk_live_... / rk_test_...).",
88120
+ envVarBaseKey: "STRIPE_API_KEY",
88121
+ type: "text",
88122
+ secret: true,
88123
+ required: true
88124
+ })
88125
+ };
88126
+
88127
+ // ../connectors/src/connectors/stripe-api-key/tools/request.ts
88128
+ var BASE_URL12 = "https://api.stripe.com";
88129
+ var REQUEST_TIMEOUT_MS17 = 6e4;
88130
+ var inputSchema27 = z27.object({
88131
+ toolUseIntent: z27.string().optional().describe(
88132
+ "Brief description of what you intend to accomplish with this tool call"
88133
+ ),
88134
+ connectionId: z27.string().describe("ID of the Stripe API Key connection to use"),
88135
+ method: z27.enum(["GET", "POST", "DELETE"]).describe(
88136
+ "HTTP method. GET for reading resources, POST for creating or updating, DELETE for removing."
88137
+ ),
88138
+ path: z27.string().describe(
88139
+ "API path appended to https://api.stripe.com (e.g., '/v1/charges', '/v1/customers', '/v1/invoices')"
88140
+ ),
88141
+ queryParams: z27.record(z27.string(), z27.string()).optional().describe("Query parameters to append to the URL"),
88142
+ body: z27.record(z27.string(), z27.unknown()).optional().describe(
88143
+ "Request body for POST requests. Stripe uses form-encoded bodies \u2014 pass a flat key-value object and it will be encoded automatically."
88144
+ )
88145
+ });
88146
+ var outputSchema27 = z27.discriminatedUnion("success", [
88147
+ z27.object({
88148
+ success: z27.literal(true),
88149
+ status: z27.number(),
88150
+ data: z27.record(z27.string(), z27.unknown())
88151
+ }),
88152
+ z27.object({
88153
+ success: z27.literal(false),
88154
+ error: z27.string()
88155
+ })
88156
+ ]);
88157
+ var requestTool10 = new ConnectorTool({
88158
+ name: "request",
88159
+ description: `Send authenticated requests to the Stripe API.
88160
+ Authentication is handled automatically using the configured API Key (Bearer token).
88161
+ Use this tool for all Stripe API interactions: querying charges, customers, invoices, subscriptions, products, prices, payment intents, balances, and more.`,
88162
+ inputSchema: inputSchema27,
88163
+ outputSchema: outputSchema27,
88164
+ async execute({ connectionId, method, path: path5, queryParams, body }, connections) {
88165
+ const connection = connections.find((c6) => c6.id === connectionId);
88166
+ if (!connection) {
88167
+ return {
88168
+ success: false,
88169
+ error: `Connection ${connectionId} not found`
88170
+ };
88171
+ }
88172
+ console.log(
88173
+ `[connector-request] stripe-api-key/${connection.name}: ${method} ${path5}`
88174
+ );
88175
+ try {
88176
+ const apiKey = parameters19.apiKey.getValue(connection);
88177
+ let url = `${BASE_URL12}${path5.startsWith("/") ? "" : "/"}${path5}`;
88178
+ if (queryParams) {
88179
+ const searchParams = new URLSearchParams(queryParams);
88180
+ url += `?${searchParams.toString()}`;
88181
+ }
88182
+ const controller = new AbortController();
88183
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS17);
88184
+ try {
88185
+ const headers = {
88186
+ Authorization: `Bearer ${apiKey}`
88187
+ };
88188
+ let requestBody;
88189
+ if (body) {
88190
+ headers["Content-Type"] = "application/x-www-form-urlencoded";
88191
+ requestBody = new URLSearchParams(
88192
+ Object.entries(body).map(([k6, v7]) => [k6, String(v7)])
88193
+ ).toString();
88194
+ }
88195
+ const response = await fetch(url, {
88196
+ method,
88197
+ headers,
88198
+ body: requestBody,
88199
+ signal: controller.signal
88200
+ });
88201
+ const data = await response.json();
88202
+ if (!response.ok) {
88203
+ const errorObj = data?.error;
88204
+ const errorMessage = typeof errorObj === "object" && errorObj !== null && "message" in errorObj ? String(errorObj.message) : typeof data?.message === "string" ? data.message : `HTTP ${response.status} ${response.statusText}`;
88205
+ return { success: false, error: errorMessage };
88206
+ }
88207
+ return { success: true, status: response.status, data };
88208
+ } finally {
88209
+ clearTimeout(timeout);
88210
+ }
88211
+ } catch (err) {
88212
+ const msg = err instanceof Error ? err.message : String(err);
88213
+ return { success: false, error: msg };
88214
+ }
88215
+ }
88216
+ });
88217
+
88218
+ // ../connectors/src/connectors/stripe-api-key/setup.ts
88219
+ var requestToolName4 = `stripe-api-key_${requestTool10.name}`;
88220
+ var stripeApiKeyOnboarding = new ConnectorOnboarding({
88221
+ connectionSetupInstructions: {
88222
+ 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
88223
+
88224
+ 1. \`${requestToolName4}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u6B8B\u9AD8\u3092\u53D6\u5F97\u3059\u308B:
88225
+ - \`method\`: \`"GET"\`
88226
+ - \`path\`: \`"/v1/balance"\`
88227
+ 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
88228
+ 3. \`updateConnectionContext\` \u3092\u547C\u3073\u51FA\u3059:
88229
+ - \`note\`: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u5185\u5BB9\u306E\u7C21\u5358\u306A\u8AAC\u660E
88230
+
88231
+ #### \u5236\u7D04
88232
+ - **\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
88233
+ - \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`,
88234
+ en: `Follow these steps to set up the Stripe connection.
88235
+
88236
+ 1. Call \`${requestToolName4}\` to fetch account balance:
88237
+ - \`method\`: \`"GET"\`
88238
+ - \`path\`: \`"/v1/balance"\`
88239
+ 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)
88240
+ 3. Call \`updateConnectionContext\`:
88241
+ - \`note\`: Brief description of the setup
88242
+
88243
+ #### Constraints
88244
+ - **Do NOT read payment data during setup**. Only the metadata request specified in the steps above is allowed
88245
+ - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`
88246
+ },
88247
+ dataOverviewInstructions: {
88248
+ en: `1. Call ${requestToolName4} with GET /v1/customers?limit=5 to explore customers structure
88249
+ 2. Call ${requestToolName4} with GET /v1/charges?limit=5 to explore charges structure
88250
+ 3. Explore other endpoints (invoices, subscriptions, products) as needed`,
88251
+ ja: `1. ${requestToolName4} \u3067 GET /v1/customers?limit=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u9867\u5BA2\u306E\u69CB\u9020\u3092\u78BA\u8A8D
88252
+ 2. ${requestToolName4} \u3067 GET /v1/charges?limit=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u8AB2\u91D1\u306E\u69CB\u9020\u3092\u78BA\u8A8D
88253
+ 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`
88254
+ }
88255
+ });
88256
+
88257
+ // ../connectors/src/connectors/stripe-api-key/index.ts
88258
+ var tools19 = { request: requestTool10 };
88259
+ var stripeApiKeyConnector = new ConnectorPlugin({
88260
+ slug: "stripe",
88261
+ authType: AUTH_TYPES.API_KEY,
88262
+ name: "Stripe (API Key)",
88263
+ description: "Connect to Stripe for payment, customer, and subscription data using a Secret API Key or Restricted API Key.",
88264
+ iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2QNK0u2doqp41uL0POS4Ks/7a92367e2388ec77c7f4ada143606f9a/stripe.jpeg",
88265
+ parameters: parameters19,
88266
+ releaseFlag: { dev1: true, dev2: false, prod: false },
88267
+ onboarding: stripeApiKeyOnboarding,
88268
+ systemPrompt: {
88269
+ en: `### Tools
88270
+
88271
+ - \`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\`.
88272
+
88273
+ ### Stripe API Reference
88274
+
88275
+ #### Available Endpoints
88276
+ - GET \`/v1/charges\` \u2014 List charges
88277
+ - GET \`/v1/charges/{chargeId}\` \u2014 Get a charge
88278
+ - GET \`/v1/customers\` \u2014 List customers
88279
+ - GET \`/v1/customers/{customerId}\` \u2014 Get a customer
88280
+ - GET \`/v1/invoices\` \u2014 List invoices
88281
+ - GET \`/v1/invoices/{invoiceId}\` \u2014 Get an invoice
88282
+ - GET \`/v1/subscriptions\` \u2014 List subscriptions
88283
+ - GET \`/v1/subscriptions/{subscriptionId}\` \u2014 Get a subscription
88284
+ - GET \`/v1/products\` \u2014 List products
88285
+ - GET \`/v1/prices\` \u2014 List prices
88286
+ - GET \`/v1/payment_intents\` \u2014 List payment intents
88287
+ - GET \`/v1/balance\` \u2014 Get account balance
88288
+ - GET \`/v1/balance_transactions\` \u2014 List balance transactions
88289
+
88290
+ ### Query Parameters
88291
+ - \`limit\` \u2014 Number of results per page (max 100, default 10)
88292
+ - \`starting_after\` \u2014 Pagination cursor (object ID)
88293
+ - \`ending_before\` \u2014 Reverse pagination cursor
88294
+ - \`created[gte]\`, \`created[lte]\` \u2014 Filter by creation date (Unix timestamp)
88295
+ - \`status\` \u2014 Filter by status (varies by resource)
88296
+
88297
+ ### Tips
88298
+ - Stripe uses cursor-based pagination with \`starting_after\` and \`has_more\`
88299
+ - All timestamps are Unix timestamps in seconds
88300
+ - Use \`expand[]\` query parameter to include related objects inline
88301
+ - List responses have \`data\` array and \`has_more\` boolean
88302
+ - POST request bodies are form-encoded (pass a flat key-value object)
88303
+ - If using a Restricted API Key, some endpoints may return 403 depending on the key's permissions
88304
+
88305
+ ### Business Logic
88306
+
88307
+ 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.
88308
+
88309
+ #### Example
88310
+
88311
+ \`\`\`ts
88312
+ import { connection } from "@squadbase/vite-server/connectors/stripe-api-key";
88313
+
88314
+ const stripe = connection("<connectionId>");
88315
+
88316
+ // Authenticated fetch (returns standard Response)
88317
+ const res = await stripe.request("/v1/customers?limit=10");
88318
+ const data = await res.json();
88319
+ \`\`\``,
88320
+ ja: `### \u30C4\u30FC\u30EB
88321
+
88322
+ - \`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
88323
+
88324
+ ### Stripe API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
88325
+
88326
+ #### \u5229\u7528\u53EF\u80FD\u306A\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
88327
+ - GET \`/v1/charges\` \u2014 \u8ACB\u6C42\u4E00\u89A7\u3092\u53D6\u5F97
88328
+ - GET \`/v1/charges/{chargeId}\` \u2014 \u8ACB\u6C42\u3092\u53D6\u5F97
88329
+ - GET \`/v1/customers\` \u2014 \u9867\u5BA2\u4E00\u89A7\u3092\u53D6\u5F97
88330
+ - GET \`/v1/customers/{customerId}\` \u2014 \u9867\u5BA2\u3092\u53D6\u5F97
88331
+ - GET \`/v1/invoices\` \u2014 \u8ACB\u6C42\u66F8\u4E00\u89A7\u3092\u53D6\u5F97
88332
+ - GET \`/v1/invoices/{invoiceId}\` \u2014 \u8ACB\u6C42\u66F8\u3092\u53D6\u5F97
88333
+ - GET \`/v1/subscriptions\` \u2014 \u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u4E00\u89A7\u3092\u53D6\u5F97
88334
+ - GET \`/v1/subscriptions/{subscriptionId}\` \u2014 \u30B5\u30D6\u30B9\u30AF\u30EA\u30D7\u30B7\u30E7\u30F3\u3092\u53D6\u5F97
88335
+ - GET \`/v1/products\` \u2014 \u5546\u54C1\u4E00\u89A7\u3092\u53D6\u5F97
88336
+ - GET \`/v1/prices\` \u2014 \u4FA1\u683C\u4E00\u89A7\u3092\u53D6\u5F97
88337
+ - GET \`/v1/payment_intents\` \u2014 \u652F\u6255\u3044\u30A4\u30F3\u30C6\u30F3\u30C8\u4E00\u89A7\u3092\u53D6\u5F97
88338
+ - GET \`/v1/balance\` \u2014 \u30A2\u30AB\u30A6\u30F3\u30C8\u6B8B\u9AD8\u3092\u53D6\u5F97
88339
+ - GET \`/v1/balance_transactions\` \u2014 \u6B8B\u9AD8\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7\u3092\u53D6\u5F97
88340
+
88341
+ ### \u30AF\u30A8\u30EA\u30D1\u30E9\u30E1\u30FC\u30BF
88342
+ - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u7D50\u679C\u6570\uFF08\u6700\u5927100\u3001\u30C7\u30D5\u30A9\u30EB\u30C810\uFF09
88343
+ - \`starting_after\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AB\u30FC\u30BD\u30EB\uFF08\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8ID\uFF09
88344
+ - \`ending_before\` \u2014 \u9006\u65B9\u5411\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AB\u30FC\u30BD\u30EB
88345
+ - \`created[gte]\`, \`created[lte]\` \u2014 \u4F5C\u6210\u65E5\u3067\u30D5\u30A3\u30EB\u30BF\uFF08Unix\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\uFF09
88346
+ - \`status\` \u2014 \u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u30D5\u30A3\u30EB\u30BF\uFF08\u30EA\u30BD\u30FC\u30B9\u306B\u3088\u308A\u7570\u306A\u308B\uFF09
88347
+
88348
+ ### \u30D2\u30F3\u30C8
88349
+ - 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
88350
+ - \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
88351
+ - \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
88352
+ - \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
88353
+ - 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
88354
+ - 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
88355
+
88356
+ ### Business Logic
88357
+
88358
+ \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
88359
+
88360
+ #### Example
88361
+
88362
+ \`\`\`ts
88363
+ import { connection } from "@squadbase/vite-server/connectors/stripe-api-key";
88364
+
88365
+ const stripe = connection("<connectionId>");
88366
+
88367
+ // Authenticated fetch (returns standard Response)
88368
+ const res = await stripe.request("/v1/customers?limit=10");
88369
+ const data = await res.json();
88370
+ \`\`\``
88371
+ },
88372
+ tools: tools19,
88373
+ async checkConnection(params) {
88374
+ try {
88375
+ const apiKey = params["api-key"];
88376
+ if (!apiKey) {
88377
+ return {
88378
+ success: false,
88379
+ error: "API Key is not configured"
88380
+ };
88381
+ }
88382
+ const res = await fetch("https://api.stripe.com/v1/balance", {
88383
+ method: "GET",
88384
+ headers: { Authorization: `Bearer ${apiKey}` }
88385
+ });
88386
+ if (!res.ok) {
88387
+ const errorText = await res.text().catch(() => res.statusText);
88388
+ return {
88389
+ success: false,
88390
+ error: `Stripe API failed: HTTP ${res.status} ${errorText}`
88391
+ };
88392
+ }
88393
+ return { success: true };
88394
+ } catch (error2) {
88395
+ return {
88396
+ success: false,
88397
+ error: error2 instanceof Error ? error2.message : String(error2)
88398
+ };
88399
+ }
88400
+ }
88401
+ });
88402
+
88403
+ // ../connectors/src/connectors/airtable-oauth/tools/request.ts
88404
+ import { z as z28 } from "zod";
88405
+
88406
+ // ../connectors/src/connectors/airtable-oauth/parameters.ts
88407
+ var parameters20 = {
88116
88408
  baseId: new ParameterDefinition({
88117
88409
  slug: "base-id",
88118
88410
  name: "Airtable Base ID",
@@ -88125,8 +88417,8 @@ var parameters19 = {
88125
88417
  };
88126
88418
 
88127
88419
  // ../connectors/src/connectors/airtable-oauth/tools/request.ts
88128
- var BASE_URL12 = "https://api.airtable.com/v0";
88129
- var REQUEST_TIMEOUT_MS17 = 6e4;
88420
+ var BASE_URL13 = "https://api.airtable.com/v0";
88421
+ var REQUEST_TIMEOUT_MS18 = 6e4;
88130
88422
  var cachedToken12 = null;
88131
88423
  async function getProxyToken12(config) {
88132
88424
  if (cachedToken12 && cachedToken12.expiresAt > Date.now() + 6e4) {
@@ -88158,36 +88450,36 @@ async function getProxyToken12(config) {
88158
88450
  };
88159
88451
  return data.token;
88160
88452
  }
88161
- var inputSchema27 = z27.object({
88162
- toolUseIntent: z27.string().optional().describe(
88453
+ var inputSchema28 = z28.object({
88454
+ toolUseIntent: z28.string().optional().describe(
88163
88455
  "Brief description of what you intend to accomplish with this tool call"
88164
88456
  ),
88165
- connectionId: z27.string().describe("ID of the Airtable OAuth connection to use"),
88166
- method: z27.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
88167
- path: z27.string().describe(
88457
+ connectionId: z28.string().describe("ID of the Airtable OAuth connection to use"),
88458
+ method: z28.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
88459
+ path: z28.string().describe(
88168
88460
  "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."
88169
88461
  ),
88170
- queryParams: z27.record(z27.string(), z27.string()).optional().describe("Query parameters to append to the URL"),
88171
- body: z27.record(z27.string(), z27.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
88462
+ queryParams: z28.record(z28.string(), z28.string()).optional().describe("Query parameters to append to the URL"),
88463
+ body: z28.record(z28.string(), z28.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
88172
88464
  });
88173
- var outputSchema27 = z27.discriminatedUnion("success", [
88174
- z27.object({
88175
- success: z27.literal(true),
88176
- status: z27.number(),
88177
- data: z27.record(z27.string(), z27.unknown())
88465
+ var outputSchema28 = z28.discriminatedUnion("success", [
88466
+ z28.object({
88467
+ success: z28.literal(true),
88468
+ status: z28.number(),
88469
+ data: z28.record(z28.string(), z28.unknown())
88178
88470
  }),
88179
- z27.object({
88180
- success: z27.literal(false),
88181
- error: z27.string()
88471
+ z28.object({
88472
+ success: z28.literal(false),
88473
+ error: z28.string()
88182
88474
  })
88183
88475
  ]);
88184
- var requestTool10 = new ConnectorTool({
88476
+ var requestTool11 = new ConnectorTool({
88185
88477
  name: "request",
88186
88478
  description: `Send authenticated requests to the Airtable API.
88187
88479
  Authentication is handled automatically via OAuth proxy.
88188
88480
  {baseId} in the path is automatically replaced with the connection's default base ID if configured.`,
88189
- inputSchema: inputSchema27,
88190
- outputSchema: outputSchema27,
88481
+ inputSchema: inputSchema28,
88482
+ outputSchema: outputSchema28,
88191
88483
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
88192
88484
  const connection = connections.find((c6) => c6.id === connectionId);
88193
88485
  if (!connection) {
@@ -88200,9 +88492,9 @@ Authentication is handled automatically via OAuth proxy.
88200
88492
  `[connector-request] airtable-oauth/${connection.name}: ${method} ${path5}`
88201
88493
  );
88202
88494
  try {
88203
- const baseId = parameters19.baseId.tryGetValue(connection);
88495
+ const baseId = parameters20.baseId.tryGetValue(connection);
88204
88496
  const resolvedPath = baseId ? path5.replace(/\{baseId\}/g, baseId) : path5;
88205
- let url = `${BASE_URL12}${resolvedPath.startsWith("/") ? "" : "/"}${resolvedPath}`;
88497
+ let url = `${BASE_URL13}${resolvedPath.startsWith("/") ? "" : "/"}${resolvedPath}`;
88206
88498
  if (queryParams) {
88207
88499
  const searchParams = new URLSearchParams(queryParams);
88208
88500
  url += `?${searchParams.toString()}`;
@@ -88210,7 +88502,7 @@ Authentication is handled automatically via OAuth proxy.
88210
88502
  const token = await getProxyToken12(config.oauthProxy);
88211
88503
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
88212
88504
  const controller = new AbortController();
88213
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS17);
88505
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS18);
88214
88506
  try {
88215
88507
  const response = await fetch(proxyUrl, {
88216
88508
  method: "POST",
@@ -88242,7 +88534,7 @@ Authentication is handled automatically via OAuth proxy.
88242
88534
  });
88243
88535
 
88244
88536
  // ../connectors/src/connectors/airtable-oauth/setup.ts
88245
- var requestToolName4 = `airtable-oauth_${requestTool10.name}`;
88537
+ var requestToolName5 = `airtable-oauth_${requestTool11.name}`;
88246
88538
  var airtableOauthOnboarding = new ConnectorOnboarding({
88247
88539
  connectionSetupInstructions: {
88248
88540
  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
@@ -88252,7 +88544,7 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
88252
88544
  3. \`updateConnectionParameters\` \u3092\u547C\u3073\u51FA\u3059:
88253
88545
  - \`parameterSlug\`: \`"base-id"\`
88254
88546
  - \`value\`: \u62BD\u51FA\u3057\u305F\u30D9\u30FC\u30B9ID
88255
- 4. \`${requestToolName4}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30D9\u30FC\u30B9\u306E\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
88547
+ 4. \`${requestToolName5}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30D9\u30FC\u30B9\u306E\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
88256
88548
  - \`method\`: \`"GET"\`
88257
88549
  - \`path\`: \`"/meta/bases/{baseId}/tables"\`
88258
88550
  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
@@ -88271,7 +88563,7 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
88271
88563
  3. Call \`updateConnectionParameters\`:
88272
88564
  - \`parameterSlug\`: \`"base-id"\`
88273
88565
  - \`value\`: The extracted base ID
88274
- 4. Call \`${requestToolName4}\` to fetch the base's table list:
88566
+ 4. Call \`${requestToolName5}\` to fetch the base's table list:
88275
88567
  - \`method\`: \`"GET"\`
88276
88568
  - \`path\`: \`"/meta/bases/{baseId}/tables"\`
88277
88569
  5. If an error is returned, ask the user to check the base sharing settings
@@ -88293,14 +88585,14 @@ var airtableOauthOnboarding = new ConnectorOnboarding({
88293
88585
  });
88294
88586
 
88295
88587
  // ../connectors/src/connectors/airtable-oauth/index.ts
88296
- var tools19 = { request: requestTool10 };
88588
+ var tools20 = { request: requestTool11 };
88297
88589
  var airtableOauthConnector = new ConnectorPlugin({
88298
88590
  slug: "airtable",
88299
88591
  authType: AUTH_TYPES.OAUTH,
88300
88592
  name: "Airtable (OAuth)",
88301
88593
  description: "Connect to Airtable for spreadsheet-database hybrid data management using OAuth.",
88302
88594
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/19JUphfOZjyjTK6Zg4NGCf/8c56227b088cada52d3a2d9385a3be97/airtable.svg",
88303
- parameters: parameters19,
88595
+ parameters: parameters20,
88304
88596
  releaseFlag: { dev1: true, dev2: false, prod: false },
88305
88597
  onboarding: airtableOauthOnboarding,
88306
88598
  proxyPolicy: {
@@ -88409,10 +88701,10 @@ const records = await airtable.request("/{baseId}/Tasks?maxRecords=100");
88409
88701
  const recordsData = await records.json();
88410
88702
  \`\`\``
88411
88703
  },
88412
- tools: tools19,
88704
+ tools: tools20,
88413
88705
  async checkConnection(params, config) {
88414
88706
  const { proxyFetch } = config;
88415
- const baseId = params[parameters19.baseId.slug];
88707
+ const baseId = params[parameters20.baseId.slug];
88416
88708
  if (!baseId) {
88417
88709
  return { success: true };
88418
88710
  }
@@ -88451,7 +88743,7 @@ var kintoneOnboarding = new ConnectorOnboarding({
88451
88743
  });
88452
88744
 
88453
88745
  // ../connectors/src/connectors/kintone/parameters.ts
88454
- var parameters20 = {
88746
+ var parameters21 = {
88455
88747
  baseUrl: new ParameterDefinition({
88456
88748
  slug: "base-url",
88457
88749
  name: "kintone Base URL",
@@ -88482,32 +88774,32 @@ var parameters20 = {
88482
88774
  };
88483
88775
 
88484
88776
  // ../connectors/src/connectors/kintone/tools/request.ts
88485
- import { z as z28 } from "zod";
88486
- var REQUEST_TIMEOUT_MS18 = 6e4;
88487
- var inputSchema28 = z28.object({
88488
- toolUseIntent: z28.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
88489
- connectionId: z28.string().describe("ID of the kintone connection to use"),
88490
- method: z28.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
88491
- path: z28.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
88492
- body: z28.record(z28.string(), z28.unknown()).optional().describe("Request body (JSON)")
88777
+ import { z as z29 } from "zod";
88778
+ var REQUEST_TIMEOUT_MS19 = 6e4;
88779
+ var inputSchema29 = z29.object({
88780
+ toolUseIntent: z29.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
88781
+ connectionId: z29.string().describe("ID of the kintone connection to use"),
88782
+ method: z29.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
88783
+ path: z29.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
88784
+ body: z29.record(z29.string(), z29.unknown()).optional().describe("Request body (JSON)")
88493
88785
  });
88494
- var outputSchema28 = z28.discriminatedUnion("success", [
88495
- z28.object({
88496
- success: z28.literal(true),
88497
- status: z28.number(),
88498
- data: z28.record(z28.string(), z28.unknown())
88786
+ var outputSchema29 = z29.discriminatedUnion("success", [
88787
+ z29.object({
88788
+ success: z29.literal(true),
88789
+ status: z29.number(),
88790
+ data: z29.record(z29.string(), z29.unknown())
88499
88791
  }),
88500
- z28.object({
88501
- success: z28.literal(false),
88502
- error: z28.string()
88792
+ z29.object({
88793
+ success: z29.literal(false),
88794
+ error: z29.string()
88503
88795
  })
88504
88796
  ]);
88505
- var requestTool11 = new ConnectorTool({
88797
+ var requestTool12 = new ConnectorTool({
88506
88798
  name: "request",
88507
88799
  description: `Send authenticated requests to the kintone REST API.
88508
88800
  Authentication is handled automatically using username and password.`,
88509
- inputSchema: inputSchema28,
88510
- outputSchema: outputSchema28,
88801
+ inputSchema: inputSchema29,
88802
+ outputSchema: outputSchema29,
88511
88803
  async execute({ connectionId, method, path: path5, body }, connections) {
88512
88804
  const connection = connections.find((c6) => c6.id === connectionId);
88513
88805
  if (!connection) {
@@ -88515,13 +88807,13 @@ Authentication is handled automatically using username and password.`,
88515
88807
  }
88516
88808
  console.log(`[connector-request] kintone/${connection.name}: ${method} ${path5}`);
88517
88809
  try {
88518
- const baseUrl = parameters20.baseUrl.getValue(connection);
88519
- const username = parameters20.username.getValue(connection);
88520
- const password = parameters20.password.getValue(connection);
88810
+ const baseUrl = parameters21.baseUrl.getValue(connection);
88811
+ const username = parameters21.username.getValue(connection);
88812
+ const password = parameters21.password.getValue(connection);
88521
88813
  const authToken = Buffer.from(`${username}:${password}`).toString("base64");
88522
88814
  const url = `${baseUrl.replace(/\/+$/, "")}/k/v1/${path5}`;
88523
88815
  const controller = new AbortController();
88524
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS18);
88816
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS19);
88525
88817
  try {
88526
88818
  const headers = {
88527
88819
  "X-Cybozu-Authorization": authToken
@@ -88554,14 +88846,14 @@ Authentication is handled automatically using username and password.`,
88554
88846
  });
88555
88847
 
88556
88848
  // ../connectors/src/connectors/kintone/index.ts
88557
- var tools20 = { request: requestTool11 };
88849
+ var tools21 = { request: requestTool12 };
88558
88850
  var kintoneConnector = new ConnectorPlugin({
88559
88851
  slug: "kintone",
88560
88852
  authType: null,
88561
88853
  name: "kintone (Password)",
88562
88854
  description: "Connect to kintone for business application data retrieval and analytics.",
88563
88855
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/76nPGMJFZkMFE3UQNo2JFy/e71dc5f5d5cec1306ce0e17aafbfd9f0/kintone.png",
88564
- parameters: parameters20,
88856
+ parameters: parameters21,
88565
88857
  releaseFlag: { dev1: true, dev2: true, prod: true },
88566
88858
  onboarding: kintoneOnboarding,
88567
88859
  systemPrompt: {
@@ -88700,7 +88992,7 @@ export default async function handler(c: Context) {
88700
88992
  - \u5236\u9650: \`limit 100 offset 0\`
88701
88993
  - \u6587\u5B57\u5217: \`like "\u90E8\u5206\u4E00\u81F4"\``
88702
88994
  },
88703
- tools: tools20
88995
+ tools: tools21
88704
88996
  });
88705
88997
 
88706
88998
  // ../connectors/src/connectors/kintone-api-token/setup.ts
@@ -88716,7 +89008,7 @@ var kintoneApiTokenOnboarding = new ConnectorOnboarding({
88716
89008
  });
88717
89009
 
88718
89010
  // ../connectors/src/connectors/kintone-api-token/parameters.ts
88719
- var parameters21 = {
89011
+ var parameters22 = {
88720
89012
  baseUrl: new ParameterDefinition({
88721
89013
  slug: "base-url",
88722
89014
  name: "kintone Base URL",
@@ -88738,32 +89030,32 @@ var parameters21 = {
88738
89030
  };
88739
89031
 
88740
89032
  // ../connectors/src/connectors/kintone-api-token/tools/request.ts
88741
- import { z as z29 } from "zod";
88742
- var REQUEST_TIMEOUT_MS19 = 6e4;
88743
- var inputSchema29 = z29.object({
88744
- toolUseIntent: z29.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
88745
- connectionId: z29.string().describe("ID of the kintone connection to use"),
88746
- method: z29.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
88747
- path: z29.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
88748
- body: z29.record(z29.string(), z29.unknown()).optional().describe("Request body (JSON)")
89033
+ import { z as z30 } from "zod";
89034
+ var REQUEST_TIMEOUT_MS20 = 6e4;
89035
+ var inputSchema30 = z30.object({
89036
+ toolUseIntent: z30.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
89037
+ connectionId: z30.string().describe("ID of the kintone connection to use"),
89038
+ method: z30.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
89039
+ path: z30.string().describe("API path (e.g., 'apps.json', 'records.json?app=1&query=...')"),
89040
+ body: z30.record(z30.string(), z30.unknown()).optional().describe("Request body (JSON)")
88749
89041
  });
88750
- var outputSchema29 = z29.discriminatedUnion("success", [
88751
- z29.object({
88752
- success: z29.literal(true),
88753
- status: z29.number(),
88754
- data: z29.record(z29.string(), z29.unknown())
89042
+ var outputSchema30 = z30.discriminatedUnion("success", [
89043
+ z30.object({
89044
+ success: z30.literal(true),
89045
+ status: z30.number(),
89046
+ data: z30.record(z30.string(), z30.unknown())
88755
89047
  }),
88756
- z29.object({
88757
- success: z29.literal(false),
88758
- error: z29.string()
89048
+ z30.object({
89049
+ success: z30.literal(false),
89050
+ error: z30.string()
88759
89051
  })
88760
89052
  ]);
88761
- var requestTool12 = new ConnectorTool({
89053
+ var requestTool13 = new ConnectorTool({
88762
89054
  name: "request",
88763
89055
  description: `Send authenticated requests to the kintone REST API.
88764
89056
  Authentication is handled automatically using the API token.`,
88765
- inputSchema: inputSchema29,
88766
- outputSchema: outputSchema29,
89057
+ inputSchema: inputSchema30,
89058
+ outputSchema: outputSchema30,
88767
89059
  async execute({ connectionId, method, path: path5, body }, connections) {
88768
89060
  const connection = connections.find((c6) => c6.id === connectionId);
88769
89061
  if (!connection) {
@@ -88771,11 +89063,11 @@ Authentication is handled automatically using the API token.`,
88771
89063
  }
88772
89064
  console.log(`[connector-request] kintone-api-token/${connection.name}: ${method} ${path5}`);
88773
89065
  try {
88774
- const baseUrl = parameters21.baseUrl.getValue(connection);
88775
- const apiToken = parameters21.apiToken.getValue(connection);
89066
+ const baseUrl = parameters22.baseUrl.getValue(connection);
89067
+ const apiToken = parameters22.apiToken.getValue(connection);
88776
89068
  const url = `${baseUrl.replace(/\/+$/, "")}/k/v1/${path5}`;
88777
89069
  const controller = new AbortController();
88778
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS19);
89070
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS20);
88779
89071
  try {
88780
89072
  const headers = {
88781
89073
  "X-Cybozu-API-Token": apiToken
@@ -88808,14 +89100,14 @@ Authentication is handled automatically using the API token.`,
88808
89100
  });
88809
89101
 
88810
89102
  // ../connectors/src/connectors/kintone-api-token/index.ts
88811
- var tools21 = { request: requestTool12 };
89103
+ var tools22 = { request: requestTool13 };
88812
89104
  var kintoneApiTokenConnector = new ConnectorPlugin({
88813
89105
  slug: "kintone",
88814
89106
  authType: AUTH_TYPES.API_KEY,
88815
89107
  name: "kintone (API Token)",
88816
89108
  description: "Connect to kintone for business application data retrieval and analytics using API token authentication.",
88817
89109
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/76nPGMJFZkMFE3UQNo2JFy/e71dc5f5d5cec1306ce0e17aafbfd9f0/kintone.png",
88818
- parameters: parameters21,
89110
+ parameters: parameters22,
88819
89111
  releaseFlag: { dev1: true, dev2: false, prod: false },
88820
89112
  onboarding: kintoneApiTokenOnboarding,
88821
89113
  systemPrompt: {
@@ -88914,7 +89206,7 @@ await kintone.request("/k/v1/record.json", {
88914
89206
  });
88915
89207
  \`\`\``
88916
89208
  },
88917
- tools: tools21
89209
+ tools: tools22
88918
89210
  });
88919
89211
 
88920
89212
  // ../connectors/src/connectors/wix-store/setup.ts
@@ -88930,7 +89222,7 @@ var wixStoreOnboarding = new ConnectorOnboarding({
88930
89222
  });
88931
89223
 
88932
89224
  // ../connectors/src/connectors/wix-store/parameters.ts
88933
- var parameters22 = {
89225
+ var parameters23 = {
88934
89226
  accountId: new ParameterDefinition({
88935
89227
  slug: "account-id",
88936
89228
  name: "Account ID",
@@ -88961,33 +89253,33 @@ var parameters22 = {
88961
89253
  };
88962
89254
 
88963
89255
  // ../connectors/src/connectors/wix-store/tools/request.ts
88964
- import { z as z30 } from "zod";
88965
- var BASE_URL13 = "https://www.wixapis.com/";
88966
- var REQUEST_TIMEOUT_MS20 = 6e4;
88967
- var inputSchema30 = z30.object({
88968
- toolUseIntent: z30.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
88969
- connectionId: z30.string().describe("ID of the Wix Store connection to use"),
88970
- method: z30.enum(["GET", "POST"]).describe("HTTP method"),
88971
- path: z30.string().describe("API path (e.g., 'stores/v1/products/query', 'stores/v2/orders/query')"),
88972
- body: z30.record(z30.string(), z30.unknown()).optional().describe("Request body (JSON)")
89256
+ import { z as z31 } from "zod";
89257
+ var BASE_URL14 = "https://www.wixapis.com/";
89258
+ var REQUEST_TIMEOUT_MS21 = 6e4;
89259
+ var inputSchema31 = z31.object({
89260
+ toolUseIntent: z31.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
89261
+ connectionId: z31.string().describe("ID of the Wix Store connection to use"),
89262
+ method: z31.enum(["GET", "POST"]).describe("HTTP method"),
89263
+ path: z31.string().describe("API path (e.g., 'stores/v1/products/query', 'stores/v2/orders/query')"),
89264
+ body: z31.record(z31.string(), z31.unknown()).optional().describe("Request body (JSON)")
88973
89265
  });
88974
- var outputSchema30 = z30.discriminatedUnion("success", [
88975
- z30.object({
88976
- success: z30.literal(true),
88977
- status: z30.number(),
88978
- data: z30.record(z30.string(), z30.unknown())
89266
+ var outputSchema31 = z31.discriminatedUnion("success", [
89267
+ z31.object({
89268
+ success: z31.literal(true),
89269
+ status: z31.number(),
89270
+ data: z31.record(z31.string(), z31.unknown())
88979
89271
  }),
88980
- z30.object({
88981
- success: z30.literal(false),
88982
- error: z30.string()
89272
+ z31.object({
89273
+ success: z31.literal(false),
89274
+ error: z31.string()
88983
89275
  })
88984
89276
  ]);
88985
- var requestTool13 = new ConnectorTool({
89277
+ var requestTool14 = new ConnectorTool({
88986
89278
  name: "request",
88987
89279
  description: `Send authenticated requests to the Wix Store API.
88988
89280
  Authentication is handled automatically using the API Key and Site ID.`,
88989
- inputSchema: inputSchema30,
88990
- outputSchema: outputSchema30,
89281
+ inputSchema: inputSchema31,
89282
+ outputSchema: outputSchema31,
88991
89283
  async execute({ connectionId, method, path: path5, body }, connections) {
88992
89284
  const connection = connections.find((c6) => c6.id === connectionId);
88993
89285
  if (!connection) {
@@ -88995,11 +89287,11 @@ Authentication is handled automatically using the API Key and Site ID.`,
88995
89287
  }
88996
89288
  console.log(`[connector-request] wix-store/${connection.name}: ${method} ${path5}`);
88997
89289
  try {
88998
- const apiKey = parameters22.apiKey.getValue(connection);
88999
- const siteId = parameters22.siteId.getValue(connection);
89000
- const url = `${BASE_URL13}${path5}`;
89290
+ const apiKey = parameters23.apiKey.getValue(connection);
89291
+ const siteId = parameters23.siteId.getValue(connection);
89292
+ const url = `${BASE_URL14}${path5}`;
89001
89293
  const controller = new AbortController();
89002
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS20);
89294
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS21);
89003
89295
  try {
89004
89296
  const response = await fetch(url, {
89005
89297
  method,
@@ -89031,14 +89323,14 @@ Authentication is handled automatically using the API Key and Site ID.`,
89031
89323
  });
89032
89324
 
89033
89325
  // ../connectors/src/connectors/wix-store/index.ts
89034
- var tools22 = { request: requestTool13 };
89326
+ var tools23 = { request: requestTool14 };
89035
89327
  var wixStoreConnector = new ConnectorPlugin({
89036
89328
  slug: "wix-store",
89037
89329
  authType: null,
89038
89330
  name: "Wix Store",
89039
89331
  description: "Connect to Wix Store.",
89040
89332
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/YyFxclQFzROIYpFam6vRK/e7e75d3feac49a1cc5e433c147216d23/Wix_logo_black.svg",
89041
- parameters: parameters22,
89333
+ parameters: parameters23,
89042
89334
  releaseFlag: { dev1: true, dev2: true, prod: true },
89043
89335
  onboarding: wixStoreOnboarding,
89044
89336
  systemPrompt: {
@@ -89191,7 +89483,7 @@ export default async function handler(c: Context) {
89191
89483
  - \`POST stores/v2/inventoryItems/query\`
89192
89484
  - Body: \`{ "query": { "paging": { "limit": 50 } } }\``
89193
89485
  },
89194
- tools: tools22
89486
+ tools: tools23
89195
89487
  });
89196
89488
 
89197
89489
  // ../connectors/src/connectors/dbt/setup.ts
@@ -89207,7 +89499,7 @@ var dbtOnboarding = new ConnectorOnboarding({
89207
89499
  });
89208
89500
 
89209
89501
  // ../connectors/src/connectors/dbt/parameters.ts
89210
- var parameters23 = {
89502
+ var parameters24 = {
89211
89503
  host: new ParameterDefinition({
89212
89504
  slug: "host",
89213
89505
  name: "dbt Cloud Host",
@@ -89247,36 +89539,36 @@ var parameters23 = {
89247
89539
  };
89248
89540
 
89249
89541
  // ../connectors/src/connectors/dbt/tools/request.ts
89250
- import { z as z31 } from "zod";
89251
- var REQUEST_TIMEOUT_MS21 = 6e4;
89542
+ import { z as z32 } from "zod";
89543
+ var REQUEST_TIMEOUT_MS22 = 6e4;
89252
89544
  function resolveGraphqlEndpoint(host) {
89253
89545
  if (host.includes("emea")) return "https://metadata.emea.dbt.com/graphql";
89254
89546
  if (host.includes(".au.")) return "https://metadata.au.dbt.com/graphql";
89255
89547
  return "https://metadata.cloud.getdbt.com/graphql";
89256
89548
  }
89257
- var inputSchema31 = z31.object({
89258
- toolUseIntent: z31.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
89259
- connectionId: z31.string().describe("ID of the dbt Cloud connection to use"),
89260
- query: z31.string().describe("GraphQL query"),
89261
- variables: z31.record(z31.string(), z31.unknown()).optional().describe("GraphQL variables (JSON)")
89549
+ var inputSchema32 = z32.object({
89550
+ toolUseIntent: z32.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
89551
+ connectionId: z32.string().describe("ID of the dbt Cloud connection to use"),
89552
+ query: z32.string().describe("GraphQL query"),
89553
+ variables: z32.record(z32.string(), z32.unknown()).optional().describe("GraphQL variables (JSON)")
89262
89554
  });
89263
- var outputSchema31 = z31.discriminatedUnion("success", [
89264
- z31.object({
89265
- success: z31.literal(true),
89266
- data: z31.record(z31.string(), z31.unknown())
89555
+ var outputSchema32 = z32.discriminatedUnion("success", [
89556
+ z32.object({
89557
+ success: z32.literal(true),
89558
+ data: z32.record(z32.string(), z32.unknown())
89267
89559
  }),
89268
- z31.object({
89269
- success: z31.literal(false),
89270
- error: z31.string()
89560
+ z32.object({
89561
+ success: z32.literal(false),
89562
+ error: z32.string()
89271
89563
  })
89272
89564
  ]);
89273
- var requestTool14 = new ConnectorTool({
89565
+ var requestTool15 = new ConnectorTool({
89274
89566
  name: "request",
89275
89567
  description: `Send authenticated requests to the dbt Cloud Discovery API (GraphQL).
89276
89568
  Authentication is handled automatically using the API token.
89277
89569
  {environmentId} in GraphQL variables is automatically replaced with the prod-env-id.`,
89278
- inputSchema: inputSchema31,
89279
- outputSchema: outputSchema31,
89570
+ inputSchema: inputSchema32,
89571
+ outputSchema: outputSchema32,
89280
89572
  async execute({ connectionId, query, variables }, connections) {
89281
89573
  const connection = connections.find((c6) => c6.id === connectionId);
89282
89574
  if (!connection) {
@@ -89284,9 +89576,9 @@ Authentication is handled automatically using the API token.
89284
89576
  }
89285
89577
  console.log(`[connector-request] dbt/${connection.name}: GraphQL query`);
89286
89578
  try {
89287
- const host = parameters23.host.getValue(connection);
89288
- const token = parameters23.token.getValue(connection);
89289
- const environmentId = parameters23.prodEnvId.getValue(connection);
89579
+ const host = parameters24.host.getValue(connection);
89580
+ const token = parameters24.token.getValue(connection);
89581
+ const environmentId = parameters24.prodEnvId.getValue(connection);
89290
89582
  const resolvedVariables = variables ? JSON.parse(
89291
89583
  JSON.stringify(variables).replace(
89292
89584
  /"\{environmentId\}"/g,
@@ -89295,7 +89587,7 @@ Authentication is handled automatically using the API token.
89295
89587
  ) : void 0;
89296
89588
  const endpoint = resolveGraphqlEndpoint(host);
89297
89589
  const controller = new AbortController();
89298
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS21);
89590
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS22);
89299
89591
  try {
89300
89592
  const response = await fetch(endpoint, {
89301
89593
  method: "POST",
@@ -89332,14 +89624,14 @@ Authentication is handled automatically using the API token.
89332
89624
  });
89333
89625
 
89334
89626
  // ../connectors/src/connectors/dbt/index.ts
89335
- var tools23 = { request: requestTool14 };
89627
+ var tools24 = { request: requestTool15 };
89336
89628
  var dbtConnector = new ConnectorPlugin({
89337
89629
  slug: "dbt",
89338
89630
  authType: null,
89339
89631
  name: "dbt",
89340
89632
  description: "Connect to dbt Cloud for data transformation and analytics engineering.",
89341
89633
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/4iT6ncXtdtHdkXexU0WgfZ/0367a38d245f2568eab5eb511f9ee692/dbt.png",
89342
- parameters: parameters23,
89634
+ parameters: parameters24,
89343
89635
  releaseFlag: { dev1: true, dev2: true, prod: true },
89344
89636
  onboarding: dbtOnboarding,
89345
89637
  systemPrompt: {
@@ -89562,7 +89854,7 @@ query($environmentId: BigInt!, $uniqueIds: [String!]!) {
89562
89854
  - \`ancestors\` / \`children\` \u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u4F7F\u7528\u3057\u3066\u95A2\u4FC2\u3092\u30C8\u30E9\u30D0\u30FC\u30B9\u3057\u307E\u3059
89563
89855
  - node\u5185\u3067 \`ancestors { uniqueId name }\` \u307E\u305F\u306F \`children { uniqueId name }\` \u3092\u53D6\u5F97\u3057\u307E\u3059`
89564
89856
  },
89565
- tools: tools23
89857
+ tools: tools24
89566
89858
  });
89567
89859
 
89568
89860
  // ../connectors/src/connectors/squadbase-db/setup.ts
@@ -89578,7 +89870,7 @@ var squadbaseDbOnboarding = new ConnectorOnboarding({
89578
89870
  });
89579
89871
 
89580
89872
  // ../connectors/src/connectors/squadbase-db/parameters.ts
89581
- var parameters24 = {
89873
+ var parameters25 = {
89582
89874
  connectionUrl: new ParameterDefinition({
89583
89875
  slug: "connection-url",
89584
89876
  name: "Connection URL",
@@ -89591,27 +89883,27 @@ var parameters24 = {
89591
89883
  };
89592
89884
 
89593
89885
  // ../connectors/src/connectors/squadbase-db/tools/execute-query.ts
89594
- import { z as z32 } from "zod";
89886
+ import { z as z33 } from "zod";
89595
89887
  var MAX_ROWS10 = 500;
89596
89888
  var CONNECT_TIMEOUT_MS3 = 1e4;
89597
89889
  var STATEMENT_TIMEOUT_MS2 = 6e4;
89598
- var inputSchema32 = z32.object({
89599
- toolUseIntent: z32.string().optional().describe(
89890
+ var inputSchema33 = z33.object({
89891
+ toolUseIntent: z33.string().optional().describe(
89600
89892
  "Brief description of what you intend to accomplish with this tool call"
89601
89893
  ),
89602
- connectionId: z32.string().describe("ID of the Squadbase DB connection to use"),
89603
- sql: z32.string().describe("PostgreSQL SQL query. Always include LIMIT in queries.")
89894
+ connectionId: z33.string().describe("ID of the Squadbase DB connection to use"),
89895
+ sql: z33.string().describe("PostgreSQL SQL query. Always include LIMIT in queries.")
89604
89896
  });
89605
- var outputSchema32 = z32.discriminatedUnion("success", [
89606
- z32.object({
89607
- success: z32.literal(true),
89608
- rowCount: z32.number(),
89609
- truncated: z32.boolean(),
89610
- rows: z32.array(z32.record(z32.string(), z32.unknown()))
89897
+ var outputSchema33 = z33.discriminatedUnion("success", [
89898
+ z33.object({
89899
+ success: z33.literal(true),
89900
+ rowCount: z33.number(),
89901
+ truncated: z33.boolean(),
89902
+ rows: z33.array(z33.record(z33.string(), z33.unknown()))
89611
89903
  }),
89612
- z32.object({
89613
- success: z32.literal(false),
89614
- error: z32.string()
89904
+ z33.object({
89905
+ success: z33.literal(false),
89906
+ error: z33.string()
89615
89907
  })
89616
89908
  ]);
89617
89909
  var executeQueryTool10 = new ConnectorTool({
@@ -89619,8 +89911,8 @@ var executeQueryTool10 = new ConnectorTool({
89619
89911
  description: `Execute SQL against Squadbase DB (PostgreSQL). Returns up to ${MAX_ROWS10} rows.
89620
89912
  Use for: schema exploration (information_schema), data sampling, analytical queries.
89621
89913
  Avoid loading large amounts of data; always include LIMIT in queries.`,
89622
- inputSchema: inputSchema32,
89623
- outputSchema: outputSchema32,
89914
+ inputSchema: inputSchema33,
89915
+ outputSchema: outputSchema33,
89624
89916
  async execute({ connectionId, sql }, connections) {
89625
89917
  const connection = connections.find((c6) => c6.id === connectionId);
89626
89918
  if (!connection) {
@@ -89635,7 +89927,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
89635
89927
  let connectionUrl;
89636
89928
  try {
89637
89929
  const { Pool } = await import("pg");
89638
- connectionUrl = parameters24.connectionUrl.getValue(connection);
89930
+ connectionUrl = parameters25.connectionUrl.getValue(connection);
89639
89931
  const pool = new Pool({
89640
89932
  connectionString: connectionUrl,
89641
89933
  ssl: { rejectUnauthorized: false },
@@ -89666,14 +89958,14 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
89666
89958
  });
89667
89959
 
89668
89960
  // ../connectors/src/connectors/squadbase-db/index.ts
89669
- var tools24 = { executeQuery: executeQueryTool10 };
89961
+ var tools25 = { executeQuery: executeQueryTool10 };
89670
89962
  var squadbaseDbConnector = new ConnectorPlugin({
89671
89963
  slug: "squadbase-db",
89672
89964
  authType: null,
89673
89965
  name: "Squadbase DB",
89674
89966
  description: "Connect to Squadbase DB (PostgreSQL).",
89675
89967
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/25y0XqMxIufeD3egWH3bEl/659b4ade405890654cfaf91c03a4b458/icon.svg",
89676
- parameters: parameters24,
89968
+ parameters: parameters25,
89677
89969
  releaseFlag: { dev1: true, dev2: true, prod: true },
89678
89970
  onboarding: squadbaseDbOnboarding,
89679
89971
  systemPrompt: {
@@ -89706,11 +89998,11 @@ The business logic type for this connector is "sql".
89706
89998
  - \u30AB\u30E9\u30E0\u4E00\u89A7: \`SELECT column_name, data_type FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'xxx'\`
89707
89999
  - \u30AF\u30A8\u30EA\u306B\u306F\u5FC5\u305A LIMIT \u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044`
89708
90000
  },
89709
- tools: tools24,
90001
+ tools: tools25,
89710
90002
  async checkConnection(params, _config) {
89711
90003
  const { Pool } = await import("pg");
89712
90004
  const pool = new Pool({
89713
- connectionString: params[parameters24.connectionUrl.slug],
90005
+ connectionString: params[parameters25.connectionUrl.slug],
89714
90006
  ssl: { rejectUnauthorized: false },
89715
90007
  connectionTimeoutMillis: 1e4
89716
90008
  });
@@ -89727,7 +90019,7 @@ The business logic type for this connector is "sql".
89727
90019
  const { Pool } = await import("pg");
89728
90020
  const { text, values } = buildPositionalParams(sql, namedParams);
89729
90021
  const pool = new Pool({
89730
- connectionString: params[parameters24.connectionUrl.slug],
90022
+ connectionString: params[parameters25.connectionUrl.slug],
89731
90023
  ssl: { rejectUnauthorized: false },
89732
90024
  connectionTimeoutMillis: 1e4,
89733
90025
  statement_timeout: 6e4
@@ -89742,7 +90034,7 @@ The business logic type for this connector is "sql".
89742
90034
  });
89743
90035
 
89744
90036
  // ../connectors/src/connectors/openai/parameters.ts
89745
- var parameters25 = {
90037
+ var parameters26 = {
89746
90038
  apiKey: new ParameterDefinition({
89747
90039
  slug: "api-key",
89748
90040
  name: "OpenAI API Key",
@@ -89755,14 +90047,14 @@ var parameters25 = {
89755
90047
  };
89756
90048
 
89757
90049
  // ../connectors/src/connectors/openai/index.ts
89758
- var tools25 = {};
90050
+ var tools26 = {};
89759
90051
  var openaiConnector = new ConnectorPlugin({
89760
90052
  slug: "openai",
89761
90053
  authType: null,
89762
90054
  name: "OpenAI",
89763
90055
  description: "Connect to OpenAI for AI model inference, embeddings, and image generation.",
89764
90056
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/53XJtCgUlW10x6i1X8xpxM/0bfd634069f1d74241296543cb20427a/openai.svg",
89765
- parameters: parameters25,
90057
+ parameters: parameters26,
89766
90058
  releaseFlag: { dev1: true, dev2: true, prod: true },
89767
90059
  systemPrompt: {
89768
90060
  en: `### Business Logic
@@ -89812,11 +90104,11 @@ export default async function handler(c: Context) {
89812
90104
  }
89813
90105
  \`\`\``
89814
90106
  },
89815
- tools: tools25
90107
+ tools: tools26
89816
90108
  });
89817
90109
 
89818
90110
  // ../connectors/src/connectors/gemini/parameters.ts
89819
- var parameters26 = {
90111
+ var parameters27 = {
89820
90112
  apiKey: new ParameterDefinition({
89821
90113
  slug: "api-key",
89822
90114
  name: "Gemini API Key",
@@ -89829,14 +90121,14 @@ var parameters26 = {
89829
90121
  };
89830
90122
 
89831
90123
  // ../connectors/src/connectors/gemini/index.ts
89832
- var tools26 = {};
90124
+ var tools27 = {};
89833
90125
  var geminiConnector = new ConnectorPlugin({
89834
90126
  slug: "gemini",
89835
90127
  authType: null,
89836
90128
  name: "Gemini",
89837
90129
  description: "Connect to Google Gemini for AI model inference, embeddings, and multimodal generation.",
89838
90130
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6K2qZQZEQq90YENfrXy5my/c83c0c3815af0a97d29ee70f37215f01/gemini.png",
89839
- parameters: parameters26,
90131
+ parameters: parameters27,
89840
90132
  releaseFlag: { dev1: true, dev2: true, prod: true },
89841
90133
  systemPrompt: {
89842
90134
  en: `### Business Logic
@@ -89880,11 +90172,11 @@ export default async function handler(c: Context) {
89880
90172
  }
89881
90173
  \`\`\``
89882
90174
  },
89883
- tools: tools26
90175
+ tools: tools27
89884
90176
  });
89885
90177
 
89886
90178
  // ../connectors/src/connectors/anthropic/parameters.ts
89887
- var parameters27 = {
90179
+ var parameters28 = {
89888
90180
  apiKey: new ParameterDefinition({
89889
90181
  slug: "api-key",
89890
90182
  name: "Anthropic API Key",
@@ -89897,14 +90189,14 @@ var parameters27 = {
89897
90189
  };
89898
90190
 
89899
90191
  // ../connectors/src/connectors/anthropic/index.ts
89900
- var tools27 = {};
90192
+ var tools28 = {};
89901
90193
  var anthropicConnector = new ConnectorPlugin({
89902
90194
  slug: "anthropic",
89903
90195
  authType: null,
89904
90196
  name: "Anthropic",
89905
90197
  description: "Connect to Anthropic for AI model inference and text generation with Claude.",
89906
90198
  iconUrl: "https://www.anthropic.com/images/icons/safari-pinned-tab.svg",
89907
- parameters: parameters27,
90199
+ parameters: parameters28,
89908
90200
  releaseFlag: { dev1: true, dev2: true, prod: true },
89909
90201
  systemPrompt: {
89910
90202
  en: `### Business Logic
@@ -89956,7 +90248,7 @@ export default async function handler(c: Context) {
89956
90248
  }
89957
90249
  \`\`\``
89958
90250
  },
89959
- tools: tools27
90251
+ tools: tools28
89960
90252
  });
89961
90253
 
89962
90254
  // ../connectors/src/connectors/amplitude/setup.ts
@@ -89976,7 +90268,7 @@ NOTE: The Dashboard REST API endpoints (events/segmentation, funnels, retention,
89976
90268
  });
89977
90269
 
89978
90270
  // ../connectors/src/connectors/amplitude/parameters.ts
89979
- var parameters28 = {
90271
+ var parameters29 = {
89980
90272
  apiKey: new ParameterDefinition({
89981
90273
  slug: "api-key",
89982
90274
  name: "Amplitude API Key",
@@ -90007,33 +90299,33 @@ var parameters28 = {
90007
90299
  };
90008
90300
 
90009
90301
  // ../connectors/src/connectors/amplitude/tools/request.ts
90010
- import { z as z33 } from "zod";
90011
- var REQUEST_TIMEOUT_MS22 = 6e4;
90012
- var inputSchema33 = z33.object({
90013
- toolUseIntent: z33.string().optional().describe(
90302
+ import { z as z34 } from "zod";
90303
+ var REQUEST_TIMEOUT_MS23 = 6e4;
90304
+ var inputSchema34 = z34.object({
90305
+ toolUseIntent: z34.string().optional().describe(
90014
90306
  "Brief description of what you intend to accomplish with this tool call"
90015
90307
  ),
90016
- connectionId: z33.string().describe("ID of the Amplitude connection to use"),
90017
- method: z33.enum(["GET", "POST"]).describe(
90308
+ connectionId: z34.string().describe("ID of the Amplitude connection to use"),
90309
+ method: z34.enum(["GET", "POST"]).describe(
90018
90310
  "HTTP method. GET for most read endpoints (events/list, export, usersearch, useractivity). POST is rarely needed."
90019
90311
  ),
90020
- url: z33.string().describe(
90312
+ url: z34.string().describe(
90021
90313
  "Full URL including query parameters (e.g., 'https://amplitude.com/api/2/events/list', 'https://amplitude.com/api/2/export?start=20240101T00&end=20240102T00')"
90022
90314
  ),
90023
- body: z33.record(z33.string(), z33.unknown()).optional().describe("Request body (JSON) for POST requests")
90315
+ body: z34.record(z34.string(), z34.unknown()).optional().describe("Request body (JSON) for POST requests")
90024
90316
  });
90025
- var outputSchema33 = z33.discriminatedUnion("success", [
90026
- z33.object({
90027
- success: z33.literal(true),
90028
- status: z33.number(),
90029
- data: z33.record(z33.string(), z33.unknown())
90317
+ var outputSchema34 = z34.discriminatedUnion("success", [
90318
+ z34.object({
90319
+ success: z34.literal(true),
90320
+ status: z34.number(),
90321
+ data: z34.record(z34.string(), z34.unknown())
90030
90322
  }),
90031
- z33.object({
90032
- success: z33.literal(false),
90033
- error: z33.string()
90323
+ z34.object({
90324
+ success: z34.literal(false),
90325
+ error: z34.string()
90034
90326
  })
90035
90327
  ]);
90036
- var requestTool15 = new ConnectorTool({
90328
+ var requestTool16 = new ConnectorTool({
90037
90329
  name: "request",
90038
90330
  description: `Send authenticated requests to the Amplitude REST API.
90039
90331
  Authentication is handled automatically using Basic auth (API Key + Secret Key).
@@ -90047,8 +90339,8 @@ Recommended endpoints (available on all plans):
90047
90339
  - GET {baseUrl}/api/2/useractivity?user=AMPLITUDE_ID \u2014 user activity
90048
90340
 
90049
90341
  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.`,
90050
- inputSchema: inputSchema33,
90051
- outputSchema: outputSchema33,
90342
+ inputSchema: inputSchema34,
90343
+ outputSchema: outputSchema34,
90052
90344
  async execute({ connectionId, method, url, body }, connections) {
90053
90345
  const connection = connections.find((c6) => c6.id === connectionId);
90054
90346
  if (!connection) {
@@ -90061,11 +90353,11 @@ IMPORTANT: Dashboard REST API endpoints (events/segmentation, funnels, retention
90061
90353
  `[connector-request] amplitude/${connection.name}: ${method} ${url}`
90062
90354
  );
90063
90355
  try {
90064
- const apiKey = parameters28.apiKey.getValue(connection);
90065
- const secretKey = parameters28.secretKey.getValue(connection);
90356
+ const apiKey = parameters29.apiKey.getValue(connection);
90357
+ const secretKey = parameters29.secretKey.getValue(connection);
90066
90358
  const authToken = btoa(`${apiKey}:${secretKey}`);
90067
90359
  const controller = new AbortController();
90068
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS22);
90360
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS23);
90069
90361
  try {
90070
90362
  const response = await fetch(url, {
90071
90363
  method,
@@ -90093,14 +90385,14 @@ IMPORTANT: Dashboard REST API endpoints (events/segmentation, funnels, retention
90093
90385
  });
90094
90386
 
90095
90387
  // ../connectors/src/connectors/amplitude/index.ts
90096
- var tools28 = { request: requestTool15 };
90388
+ var tools29 = { request: requestTool16 };
90097
90389
  var amplitudeConnector = new ConnectorPlugin({
90098
90390
  slug: "amplitude",
90099
90391
  authType: null,
90100
90392
  name: "Amplitude",
90101
90393
  description: "Connect to Amplitude for product analytics and user behavior data.",
90102
90394
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2UBJSdRlFJaLq52WUCTBEB/308b59b374cf6c662ac70989860bffd7/amplitude-icon.svg",
90103
- parameters: parameters28,
90395
+ parameters: parameters29,
90104
90396
  releaseFlag: { dev1: true, dev2: false, prod: false },
90105
90397
  onboarding: amplitudeOnboarding,
90106
90398
  systemPrompt: {
@@ -90233,7 +90525,7 @@ export default async function handler(c: Context) {
90233
90525
  - \`i\` \u2014 \u30A4\u30F3\u30BF\u30FC\u30D0\u30EB\uFF081=\u65E5\u6B21\u30017=\u9031\u6B21\u300130=\u6708\u6B21\uFF09
90234
90526
  - \`g\` \u2014 \u30B0\u30EB\u30FC\u30D7\u5316\u30D7\u30ED\u30D1\u30C6\u30A3`
90235
90527
  },
90236
- tools: tools28
90528
+ tools: tools29
90237
90529
  });
90238
90530
 
90239
90531
  // ../connectors/src/connectors/attio/setup.ts
@@ -90251,7 +90543,7 @@ var attioOnboarding = new ConnectorOnboarding({
90251
90543
  });
90252
90544
 
90253
90545
  // ../connectors/src/connectors/attio/parameters.ts
90254
- var parameters29 = {
90546
+ var parameters30 = {
90255
90547
  apiKey: new ParameterDefinition({
90256
90548
  slug: "api-key",
90257
90549
  name: "Attio API Key",
@@ -90264,41 +90556,41 @@ var parameters29 = {
90264
90556
  };
90265
90557
 
90266
90558
  // ../connectors/src/connectors/attio/tools/request.ts
90267
- import { z as z34 } from "zod";
90268
- var BASE_URL14 = "https://api.attio.com/v2";
90269
- var REQUEST_TIMEOUT_MS23 = 6e4;
90270
- var inputSchema34 = z34.object({
90271
- toolUseIntent: z34.string().optional().describe(
90559
+ import { z as z35 } from "zod";
90560
+ var BASE_URL15 = "https://api.attio.com/v2";
90561
+ var REQUEST_TIMEOUT_MS24 = 6e4;
90562
+ var inputSchema35 = z35.object({
90563
+ toolUseIntent: z35.string().optional().describe(
90272
90564
  "Brief description of what you intend to accomplish with this tool call"
90273
90565
  ),
90274
- connectionId: z34.string().describe("ID of the Attio connection to use"),
90275
- method: z34.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
90566
+ connectionId: z35.string().describe("ID of the Attio connection to use"),
90567
+ method: z35.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
90276
90568
  "HTTP method. GET for reading resources, POST for creating or querying records, PATCH for updating, DELETE for removing."
90277
90569
  ),
90278
- path: z34.string().describe(
90570
+ path: z35.string().describe(
90279
90571
  "API path (e.g., '/objects', '/objects/people/records/query', '/objects/companies/records/{record_id}')"
90280
90572
  ),
90281
- body: z34.record(z34.string(), z34.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
90573
+ body: z35.record(z35.string(), z35.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
90282
90574
  });
90283
- var outputSchema34 = z34.discriminatedUnion("success", [
90284
- z34.object({
90285
- success: z34.literal(true),
90286
- status: z34.number(),
90287
- data: z34.record(z34.string(), z34.unknown())
90575
+ var outputSchema35 = z35.discriminatedUnion("success", [
90576
+ z35.object({
90577
+ success: z35.literal(true),
90578
+ status: z35.number(),
90579
+ data: z35.record(z35.string(), z35.unknown())
90288
90580
  }),
90289
- z34.object({
90290
- success: z34.literal(false),
90291
- error: z34.string()
90581
+ z35.object({
90582
+ success: z35.literal(false),
90583
+ error: z35.string()
90292
90584
  })
90293
90585
  ]);
90294
- var requestTool16 = new ConnectorTool({
90586
+ var requestTool17 = new ConnectorTool({
90295
90587
  name: "request",
90296
90588
  description: `Send authenticated requests to the Attio REST API.
90297
90589
  Authentication is handled automatically using the API Key (Bearer token).
90298
90590
  Use this tool for all Attio API interactions: querying records (people, companies, deals), listing objects and attributes, managing list entries, and working with notes.
90299
90591
  Note that querying records uses POST (not GET) with a request body for filters.`,
90300
- inputSchema: inputSchema34,
90301
- outputSchema: outputSchema34,
90592
+ inputSchema: inputSchema35,
90593
+ outputSchema: outputSchema35,
90302
90594
  async execute({ connectionId, method, path: path5, body }, connections) {
90303
90595
  const connection = connections.find((c6) => c6.id === connectionId);
90304
90596
  if (!connection) {
@@ -90311,10 +90603,10 @@ Note that querying records uses POST (not GET) with a request body for filters.`
90311
90603
  `[connector-request] attio/${connection.name}: ${method} ${path5}`
90312
90604
  );
90313
90605
  try {
90314
- const apiKey = parameters29.apiKey.getValue(connection);
90315
- const url = `${BASE_URL14}${path5}`;
90606
+ const apiKey = parameters30.apiKey.getValue(connection);
90607
+ const url = `${BASE_URL15}${path5}`;
90316
90608
  const controller = new AbortController();
90317
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS23);
90609
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS24);
90318
90610
  try {
90319
90611
  const response = await fetch(url, {
90320
90612
  method,
@@ -90342,14 +90634,14 @@ Note that querying records uses POST (not GET) with a request body for filters.`
90342
90634
  });
90343
90635
 
90344
90636
  // ../connectors/src/connectors/attio/index.ts
90345
- var tools29 = { request: requestTool16 };
90637
+ var tools30 = { request: requestTool17 };
90346
90638
  var attioConnector = new ConnectorPlugin({
90347
90639
  slug: "attio",
90348
90640
  authType: null,
90349
90641
  name: "Attio",
90350
90642
  description: "Connect to Attio for CRM data and relationship intelligence.",
90351
90643
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2qqx99vvXJojUM3tSrSWPX/1e7c35e13da6b365b8b475c1effe568f/attio.svg",
90352
- parameters: parameters29,
90644
+ parameters: parameters30,
90353
90645
  releaseFlag: { dev1: true, dev2: false, prod: false },
90354
90646
  onboarding: attioOnboarding,
90355
90647
  systemPrompt: {
@@ -90468,7 +90760,7 @@ export default async function handler(c: Context) {
90468
90760
  - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u6700\u5927\u30EC\u30B3\u30FC\u30C9\u6570\uFF08\u30C7\u30D5\u30A9\u30EB\u30C825\uFF09
90469
90761
  - \`offset\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AA\u30D5\u30BB\u30C3\u30C8`
90470
90762
  },
90471
- tools: tools29
90763
+ tools: tools30
90472
90764
  });
90473
90765
 
90474
90766
  // ../connectors/src/connectors/shopify/setup.ts
@@ -90484,7 +90776,7 @@ var shopifyOnboarding = new ConnectorOnboarding({
90484
90776
  });
90485
90777
 
90486
90778
  // ../connectors/src/connectors/shopify/parameters.ts
90487
- var parameters30 = {
90779
+ var parameters31 = {
90488
90780
  storeDomain: new ParameterDefinition({
90489
90781
  slug: "store-domain",
90490
90782
  name: "Shop Name",
@@ -90515,40 +90807,40 @@ var parameters30 = {
90515
90807
  };
90516
90808
 
90517
90809
  // ../connectors/src/connectors/shopify/tools/request.ts
90518
- import { z as z35 } from "zod";
90519
- var REQUEST_TIMEOUT_MS24 = 6e4;
90520
- var inputSchema35 = z35.object({
90521
- toolUseIntent: z35.string().optional().describe(
90810
+ import { z as z36 } from "zod";
90811
+ var REQUEST_TIMEOUT_MS25 = 6e4;
90812
+ var inputSchema36 = z36.object({
90813
+ toolUseIntent: z36.string().optional().describe(
90522
90814
  "Brief description of what you intend to accomplish with this tool call"
90523
90815
  ),
90524
- connectionId: z35.string().describe("ID of the Shopify connection to use"),
90525
- method: z35.enum(["GET", "POST", "PUT", "DELETE"]).describe(
90816
+ connectionId: z36.string().describe("ID of the Shopify connection to use"),
90817
+ method: z36.enum(["GET", "POST", "PUT", "DELETE"]).describe(
90526
90818
  "HTTP method. GET for reading resources (products, orders, customers), POST for creating, PUT for updating, DELETE for removing."
90527
90819
  ),
90528
- path: z35.string().describe(
90820
+ path: z36.string().describe(
90529
90821
  "API path including version (e.g., '/admin/api/2024-10/products.json', '/admin/api/2024-10/orders.json?limit=50')"
90530
90822
  ),
90531
- body: z35.record(z35.string(), z35.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
90823
+ body: z36.record(z36.string(), z36.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
90532
90824
  });
90533
- var outputSchema35 = z35.discriminatedUnion("success", [
90534
- z35.object({
90535
- success: z35.literal(true),
90536
- status: z35.number(),
90537
- data: z35.record(z35.string(), z35.unknown())
90825
+ var outputSchema36 = z36.discriminatedUnion("success", [
90826
+ z36.object({
90827
+ success: z36.literal(true),
90828
+ status: z36.number(),
90829
+ data: z36.record(z36.string(), z36.unknown())
90538
90830
  }),
90539
- z35.object({
90540
- success: z35.literal(false),
90541
- error: z35.string()
90831
+ z36.object({
90832
+ success: z36.literal(false),
90833
+ error: z36.string()
90542
90834
  })
90543
90835
  ]);
90544
- var requestTool17 = new ConnectorTool({
90836
+ var requestTool18 = new ConnectorTool({
90545
90837
  name: "request",
90546
90838
  description: `Send authenticated requests to the Shopify Admin REST API.
90547
90839
  Authentication is handled automatically using Custom App credentials (Client ID + Client Secret). An access token is obtained on each request.
90548
90840
  The store domain is resolved from the connection \u2014 only provide the path starting with /admin/api/.
90549
90841
  Use this tool for all Shopify API interactions: listing products, orders, customers, inventory, collections, and more.`,
90550
- inputSchema: inputSchema35,
90551
- outputSchema: outputSchema35,
90842
+ inputSchema: inputSchema36,
90843
+ outputSchema: outputSchema36,
90552
90844
  async execute({ connectionId, method, path: path5, body }, connections) {
90553
90845
  const connection = connections.find((c6) => c6.id === connectionId);
90554
90846
  if (!connection) {
@@ -90561,9 +90853,9 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
90561
90853
  `[connector-request] shopify/${connection.name}: ${method} ${path5}`
90562
90854
  );
90563
90855
  try {
90564
- const storeDomain = parameters30.storeDomain.getValue(connection);
90565
- const clientId = parameters30.clientId.getValue(connection);
90566
- const clientSecret = parameters30.clientSecret.getValue(connection);
90856
+ const storeDomain = parameters31.storeDomain.getValue(connection);
90857
+ const clientId = parameters31.clientId.getValue(connection);
90858
+ const clientSecret = parameters31.clientSecret.getValue(connection);
90567
90859
  const tokenRes = await fetch(
90568
90860
  `https://${storeDomain}/admin/oauth/access_token`,
90569
90861
  {
@@ -90591,7 +90883,7 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
90591
90883
  }
90592
90884
  const url = `https://${storeDomain}${path5}`;
90593
90885
  const controller = new AbortController();
90594
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS24);
90886
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS25);
90595
90887
  try {
90596
90888
  const response = await fetch(url, {
90597
90889
  method,
@@ -90619,14 +90911,14 @@ Use this tool for all Shopify API interactions: listing products, orders, custom
90619
90911
  });
90620
90912
 
90621
90913
  // ../connectors/src/connectors/shopify/index.ts
90622
- var tools30 = { request: requestTool17 };
90914
+ var tools31 = { request: requestTool18 };
90623
90915
  var shopifyConnector = new ConnectorPlugin({
90624
90916
  slug: "shopify",
90625
90917
  authType: null,
90626
90918
  name: "Shopify",
90627
90919
  description: "Connect to Shopify for e-commerce data including products, orders, and customers.",
90628
90920
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/57KEjZCBskKgSxgKyU4Sm0/117d681a410f48dc36f97cdd9c0593c5/shopify-icon.svg",
90629
- parameters: parameters30,
90921
+ parameters: parameters31,
90630
90922
  releaseFlag: { dev1: true, dev2: false, prod: false },
90631
90923
  onboarding: shopifyOnboarding,
90632
90924
  systemPrompt: {
@@ -90775,11 +91067,11 @@ export default async function handler(c: Context) {
90775
91067
  - \`updated_at_min\`, \`updated_at_max\` \u2014 \u66F4\u65B0\u65E5\u30D5\u30A3\u30EB\u30BF\u30FC\uFF08ISO 8601\uFF09
90776
91068
  - \`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`
90777
91069
  },
90778
- tools: tools30
91070
+ tools: tools31
90779
91071
  });
90780
91072
 
90781
91073
  // ../connectors/src/connectors/slack/parameters.ts
90782
- var parameters31 = {
91074
+ var parameters32 = {
90783
91075
  botToken: new ParameterDefinition({
90784
91076
  slug: "bot-token",
90785
91077
  name: "Slack Bot Token",
@@ -90860,14 +91152,14 @@ The following scopes are commonly required. Inform the user if any are missing:
90860
91152
  });
90861
91153
 
90862
91154
  // ../connectors/src/connectors/slack/index.ts
90863
- var tools31 = {};
91155
+ var tools32 = {};
90864
91156
  var slackConnector = new ConnectorPlugin({
90865
91157
  slug: "slack",
90866
91158
  authType: null,
90867
91159
  name: "Slack",
90868
91160
  description: "Connect to Slack for messaging and workspace data retrieval.",
90869
91161
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/7zTp67vMTvAV1wPftt6Z9R/f859e25c223d9fe4c3fd4f83895acbf6/slack.svg",
90870
- parameters: parameters31,
91162
+ parameters: parameters32,
90871
91163
  releaseFlag: { dev1: true, dev2: false, prod: false },
90872
91164
  onboarding: slackOnboarding,
90873
91165
  systemPrompt: {
@@ -90942,12 +91234,12 @@ const data = await res.json();
90942
91234
  - \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
90943
91235
  - \`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`
90944
91236
  },
90945
- tools: tools31
91237
+ tools: tools32
90946
91238
  });
90947
91239
 
90948
91240
  // ../connectors/src/connectors/shopify-oauth/tools/request.ts
90949
- import { z as z36 } from "zod";
90950
- var REQUEST_TIMEOUT_MS25 = 6e4;
91241
+ import { z as z37 } from "zod";
91242
+ var REQUEST_TIMEOUT_MS26 = 6e4;
90951
91243
  var cachedToken13 = null;
90952
91244
  async function getProxyToken13(config) {
90953
91245
  if (cachedToken13 && cachedToken13.expiresAt > Date.now() + 6e4) {
@@ -90979,35 +91271,35 @@ async function getProxyToken13(config) {
90979
91271
  };
90980
91272
  return data.token;
90981
91273
  }
90982
- var inputSchema36 = z36.object({
90983
- toolUseIntent: z36.string().optional().describe(
91274
+ var inputSchema37 = z37.object({
91275
+ toolUseIntent: z37.string().optional().describe(
90984
91276
  "Brief description of what you intend to accomplish with this tool call"
90985
91277
  ),
90986
- connectionId: z36.string().describe("ID of the Shopify OAuth connection to use"),
90987
- method: z36.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
90988
- path: z36.string().describe(
91278
+ connectionId: z37.string().describe("ID of the Shopify OAuth connection to use"),
91279
+ method: z37.enum(["GET", "POST", "PUT", "DELETE"]).describe("HTTP method"),
91280
+ path: z37.string().describe(
90989
91281
  "API path (e.g., '/admin/api/2024-10/products.json', '/admin/api/2024-10/orders.json')"
90990
91282
  ),
90991
- queryParams: z36.record(z36.string(), z36.string()).optional().describe("Query parameters to append to the URL"),
90992
- body: z36.record(z36.string(), z36.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
91283
+ queryParams: z37.record(z37.string(), z37.string()).optional().describe("Query parameters to append to the URL"),
91284
+ body: z37.record(z37.string(), z37.unknown()).optional().describe("Request body (JSON) for POST/PUT requests")
90993
91285
  });
90994
- var outputSchema36 = z36.discriminatedUnion("success", [
90995
- z36.object({
90996
- success: z36.literal(true),
90997
- status: z36.number(),
90998
- data: z36.record(z36.string(), z36.unknown())
91286
+ var outputSchema37 = z37.discriminatedUnion("success", [
91287
+ z37.object({
91288
+ success: z37.literal(true),
91289
+ status: z37.number(),
91290
+ data: z37.record(z37.string(), z37.unknown())
90999
91291
  }),
91000
- z36.object({
91001
- success: z36.literal(false),
91002
- error: z36.string()
91292
+ z37.object({
91293
+ success: z37.literal(false),
91294
+ error: z37.string()
91003
91295
  })
91004
91296
  ]);
91005
- var requestTool18 = new ConnectorTool({
91297
+ var requestTool19 = new ConnectorTool({
91006
91298
  name: "request",
91007
91299
  description: `Send authenticated requests to the Shopify Admin API.
91008
91300
  Authentication is handled automatically via OAuth proxy.`,
91009
- inputSchema: inputSchema36,
91010
- outputSchema: outputSchema36,
91301
+ inputSchema: inputSchema37,
91302
+ outputSchema: outputSchema37,
91011
91303
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
91012
91304
  const connection = connections.find((c6) => c6.id === connectionId);
91013
91305
  if (!connection) {
@@ -91028,7 +91320,7 @@ Authentication is handled automatically via OAuth proxy.`,
91028
91320
  const token = await getProxyToken13(config.oauthProxy);
91029
91321
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
91030
91322
  const controller = new AbortController();
91031
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS25);
91323
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS26);
91032
91324
  try {
91033
91325
  const response = await fetch(proxyUrl, {
91034
91326
  method: "POST",
@@ -91060,12 +91352,12 @@ Authentication is handled automatically via OAuth proxy.`,
91060
91352
  });
91061
91353
 
91062
91354
  // ../connectors/src/connectors/shopify-oauth/setup.ts
91063
- var requestToolName5 = `shopify-oauth_${requestTool18.name}`;
91355
+ var requestToolName6 = `shopify-oauth_${requestTool19.name}`;
91064
91356
  var shopifyOauthOnboarding = new ConnectorOnboarding({
91065
91357
  connectionSetupInstructions: {
91066
91358
  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
91067
91359
 
91068
- 1. \`${requestToolName5}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30B7\u30E7\u30C3\u30D7\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
91360
+ 1. \`${requestToolName6}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30B7\u30E7\u30C3\u30D7\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
91069
91361
  - \`method\`: \`"GET"\`
91070
91362
  - \`path\`: \`"/admin/api/2024-10/shop.json"\`
91071
91363
  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
@@ -91078,7 +91370,7 @@ var shopifyOauthOnboarding = new ConnectorOnboarding({
91078
91370
  - \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`,
91079
91371
  en: `Follow these steps to set up the Shopify connection.
91080
91372
 
91081
- 1. Call \`${requestToolName5}\` to fetch shop info:
91373
+ 1. Call \`${requestToolName6}\` to fetch shop info:
91082
91374
  - \`method\`: \`"GET"\`
91083
91375
  - \`path\`: \`"/admin/api/2024-10/shop.json"\`
91084
91376
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -91101,17 +91393,17 @@ var shopifyOauthOnboarding = new ConnectorOnboarding({
91101
91393
  });
91102
91394
 
91103
91395
  // ../connectors/src/connectors/shopify-oauth/parameters.ts
91104
- var parameters32 = {};
91396
+ var parameters33 = {};
91105
91397
 
91106
91398
  // ../connectors/src/connectors/shopify-oauth/index.ts
91107
- var tools32 = { request: requestTool18 };
91399
+ var tools33 = { request: requestTool19 };
91108
91400
  var shopifyOauthConnector = new ConnectorPlugin({
91109
91401
  slug: "shopify",
91110
91402
  authType: AUTH_TYPES.OAUTH,
91111
91403
  name: "Shopify (OAuth)",
91112
91404
  description: "Connect to Shopify for e-commerce data including products, orders, and customers using OAuth.",
91113
91405
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/57KEjZCBskKgSxgKyU4Sm0/117d681a410f48dc36f97cdd9c0593c5/shopify-icon.svg",
91114
- parameters: parameters32,
91406
+ parameters: parameters33,
91115
91407
  releaseFlag: { dev1: true, dev2: false, prod: false },
91116
91408
  onboarding: shopifyOauthOnboarding,
91117
91409
  proxyPolicy: {
@@ -91218,7 +91510,7 @@ const res = await shopify.request("/admin/api/2024-10/products.json?limit=10");
91218
91510
  const data = await res.json();
91219
91511
  \`\`\``
91220
91512
  },
91221
- tools: tools32,
91513
+ tools: tools33,
91222
91514
  async checkConnection(_params, config) {
91223
91515
  const { proxyFetch } = config;
91224
91516
  try {
@@ -91243,7 +91535,7 @@ const data = await res.json();
91243
91535
  });
91244
91536
 
91245
91537
  // ../connectors/src/connectors/ms-teams/parameters.ts
91246
- var parameters33 = {
91538
+ var parameters34 = {
91247
91539
  clientId: new ParameterDefinition({
91248
91540
  slug: "client-id",
91249
91541
  name: "Azure AD Client ID",
@@ -91274,14 +91566,14 @@ var parameters33 = {
91274
91566
  };
91275
91567
 
91276
91568
  // ../connectors/src/connectors/ms-teams/index.ts
91277
- var tools33 = {};
91569
+ var tools34 = {};
91278
91570
  var msTeamsConnector = new ConnectorPlugin({
91279
91571
  slug: "microsoft-teams",
91280
91572
  authType: null,
91281
91573
  name: "Microsoft Teams",
91282
91574
  description: "Connect to Microsoft Teams for messaging, channels, and team data.",
91283
91575
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6QM1sVuqarTJAB2UihVNQ9/12b8353c9b022916d72ef0f53349bae2/microsoft-teams-icon.svg",
91284
- parameters: parameters33,
91576
+ parameters: parameters34,
91285
91577
  releaseFlag: { dev1: true, dev2: false, prod: false },
91286
91578
  systemPrompt: {
91287
91579
  en: `### Microsoft Teams SDK (TypeScript handler)
@@ -91431,13 +91723,13 @@ const data = await res.json();
91431
91723
  - 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
91432
91724
  - 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`
91433
91725
  },
91434
- tools: tools33
91726
+ tools: tools34
91435
91727
  });
91436
91728
 
91437
91729
  // ../connectors/src/connectors/ms-teams-oauth/tools/request.ts
91438
- import { z as z37 } from "zod";
91439
- var BASE_URL15 = "https://graph.microsoft.com";
91440
- var REQUEST_TIMEOUT_MS26 = 6e4;
91730
+ import { z as z38 } from "zod";
91731
+ var BASE_URL16 = "https://graph.microsoft.com";
91732
+ var REQUEST_TIMEOUT_MS27 = 6e4;
91441
91733
  var cachedToken14 = null;
91442
91734
  async function getProxyToken14(config) {
91443
91735
  if (cachedToken14 && cachedToken14.expiresAt > Date.now() + 6e4) {
@@ -91469,35 +91761,35 @@ async function getProxyToken14(config) {
91469
91761
  };
91470
91762
  return data.token;
91471
91763
  }
91472
- var inputSchema37 = z37.object({
91473
- toolUseIntent: z37.string().optional().describe(
91764
+ var inputSchema38 = z38.object({
91765
+ toolUseIntent: z38.string().optional().describe(
91474
91766
  "Brief description of what you intend to accomplish with this tool call"
91475
91767
  ),
91476
- connectionId: z37.string().describe("ID of the Microsoft Teams OAuth connection to use"),
91477
- method: z37.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
91478
- path: z37.string().describe(
91768
+ connectionId: z38.string().describe("ID of the Microsoft Teams OAuth connection to use"),
91769
+ method: z38.enum(["GET", "POST", "PATCH", "DELETE"]).describe("HTTP method"),
91770
+ path: z38.string().describe(
91479
91771
  "API path appended to https://graph.microsoft.com (e.g., '/v1.0/me/joinedTeams', '/v1.0/teams/{id}/channels')"
91480
91772
  ),
91481
- queryParams: z37.record(z37.string(), z37.string()).optional().describe("Query parameters to append to the URL"),
91482
- body: z37.record(z37.string(), z37.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
91773
+ queryParams: z38.record(z38.string(), z38.string()).optional().describe("Query parameters to append to the URL"),
91774
+ body: z38.record(z38.string(), z38.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
91483
91775
  });
91484
- var outputSchema37 = z37.discriminatedUnion("success", [
91485
- z37.object({
91486
- success: z37.literal(true),
91487
- status: z37.number(),
91488
- data: z37.record(z37.string(), z37.unknown())
91776
+ var outputSchema38 = z38.discriminatedUnion("success", [
91777
+ z38.object({
91778
+ success: z38.literal(true),
91779
+ status: z38.number(),
91780
+ data: z38.record(z38.string(), z38.unknown())
91489
91781
  }),
91490
- z37.object({
91491
- success: z37.literal(false),
91492
- error: z37.string()
91782
+ z38.object({
91783
+ success: z38.literal(false),
91784
+ error: z38.string()
91493
91785
  })
91494
91786
  ]);
91495
- var requestTool19 = new ConnectorTool({
91787
+ var requestTool20 = new ConnectorTool({
91496
91788
  name: "request",
91497
91789
  description: `Send authenticated requests to the Microsoft Graph API.
91498
91790
  Authentication is handled automatically via OAuth proxy.`,
91499
- inputSchema: inputSchema37,
91500
- outputSchema: outputSchema37,
91791
+ inputSchema: inputSchema38,
91792
+ outputSchema: outputSchema38,
91501
91793
  async execute({ connectionId, method, path: path5, queryParams, body }, connections, config) {
91502
91794
  const connection = connections.find((c6) => c6.id === connectionId);
91503
91795
  if (!connection) {
@@ -91510,7 +91802,7 @@ Authentication is handled automatically via OAuth proxy.`,
91510
91802
  `[connector-request] ms-teams-oauth/${connection.name}: ${method} ${path5}`
91511
91803
  );
91512
91804
  try {
91513
- let url = `${BASE_URL15}${path5.startsWith("/") ? "" : "/"}${path5}`;
91805
+ let url = `${BASE_URL16}${path5.startsWith("/") ? "" : "/"}${path5}`;
91514
91806
  if (queryParams) {
91515
91807
  const searchParams = new URLSearchParams(queryParams);
91516
91808
  url += `?${searchParams.toString()}`;
@@ -91518,7 +91810,7 @@ Authentication is handled automatically via OAuth proxy.`,
91518
91810
  const token = await getProxyToken14(config.oauthProxy);
91519
91811
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
91520
91812
  const controller = new AbortController();
91521
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS26);
91813
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS27);
91522
91814
  try {
91523
91815
  const response = await fetch(proxyUrl, {
91524
91816
  method: "POST",
@@ -91550,12 +91842,12 @@ Authentication is handled automatically via OAuth proxy.`,
91550
91842
  });
91551
91843
 
91552
91844
  // ../connectors/src/connectors/ms-teams-oauth/setup.ts
91553
- var requestToolName6 = `microsoft-teams-oauth_${requestTool19.name}`;
91845
+ var requestToolName7 = `microsoft-teams-oauth_${requestTool20.name}`;
91554
91846
  var msTeamsOauthOnboarding = new ConnectorOnboarding({
91555
91847
  connectionSetupInstructions: {
91556
91848
  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
91557
91849
 
91558
- 1. \`${requestToolName6}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
91850
+ 1. \`${requestToolName7}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
91559
91851
  - \`method\`: \`"GET"\`
91560
91852
  - \`path\`: \`"/v1.0/me"\`
91561
91853
  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
@@ -91569,7 +91861,7 @@ var msTeamsOauthOnboarding = new ConnectorOnboarding({
91569
91861
  - \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`,
91570
91862
  en: `Follow these steps exactly. Do NOT make any API requests not listed in the steps below.
91571
91863
 
91572
- 1. Call \`${requestToolName6}\` to fetch user info:
91864
+ 1. Call \`${requestToolName7}\` to fetch user info:
91573
91865
  - \`method\`: \`"GET"\`
91574
91866
  - \`path\`: \`"/v1.0/me"\`
91575
91867
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -91593,17 +91885,17 @@ var msTeamsOauthOnboarding = new ConnectorOnboarding({
91593
91885
  });
91594
91886
 
91595
91887
  // ../connectors/src/connectors/ms-teams-oauth/parameters.ts
91596
- var parameters34 = {};
91888
+ var parameters35 = {};
91597
91889
 
91598
91890
  // ../connectors/src/connectors/ms-teams-oauth/index.ts
91599
- var tools34 = { request: requestTool19 };
91891
+ var tools35 = { request: requestTool20 };
91600
91892
  var msTeamsOauthConnector = new ConnectorPlugin({
91601
91893
  slug: "microsoft-teams",
91602
91894
  authType: AUTH_TYPES.OAUTH,
91603
91895
  name: "Microsoft Teams (OAuth)",
91604
91896
  description: "Connect to Microsoft Teams for messaging, channels, and team data using OAuth.",
91605
91897
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6QM1sVuqarTJAB2UihVNQ9/12b8353c9b022916d72ef0f53349bae2/microsoft-teams-icon.svg",
91606
- parameters: parameters34,
91898
+ parameters: parameters35,
91607
91899
  releaseFlag: { dev1: true, dev2: false, prod: false },
91608
91900
  onboarding: msTeamsOauthOnboarding,
91609
91901
  proxyPolicy: {
@@ -91706,7 +91998,7 @@ const res = await teams.request("/v1.0/me/joinedTeams");
91706
91998
  const data = await res.json();
91707
91999
  \`\`\``
91708
92000
  },
91709
- tools: tools34,
92001
+ tools: tools35,
91710
92002
  async checkConnection(_params, config) {
91711
92003
  const { proxyFetch } = config;
91712
92004
  try {
@@ -91743,11 +92035,11 @@ var hubspotOnboarding2 = new ConnectorOnboarding({
91743
92035
  });
91744
92036
 
91745
92037
  // ../connectors/src/connectors/hubspot/parameters.ts
91746
- var parameters35 = {
92038
+ var parameters36 = {
91747
92039
  apiKey: new ParameterDefinition({
91748
92040
  slug: "api-key",
91749
- name: "Personal Access Key",
91750
- description: "Your HubSpot Personal Access Key for authentication (starts with pat-).",
92041
+ name: "Private App Access Token",
92042
+ 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.",
91751
92043
  envVarBaseKey: "HUBSPOT_API_KEY",
91752
92044
  type: "text",
91753
92045
  secret: true,
@@ -91756,41 +92048,41 @@ var parameters35 = {
91756
92048
  };
91757
92049
 
91758
92050
  // ../connectors/src/connectors/hubspot/tools/request.ts
91759
- import { z as z38 } from "zod";
91760
- var BASE_URL16 = "https://api.hubapi.com";
91761
- var REQUEST_TIMEOUT_MS27 = 6e4;
91762
- var inputSchema38 = z38.object({
91763
- toolUseIntent: z38.string().optional().describe(
92051
+ import { z as z39 } from "zod";
92052
+ var BASE_URL17 = "https://api.hubapi.com";
92053
+ var REQUEST_TIMEOUT_MS28 = 6e4;
92054
+ var inputSchema39 = z39.object({
92055
+ toolUseIntent: z39.string().optional().describe(
91764
92056
  "Brief description of what you intend to accomplish with this tool call"
91765
92057
  ),
91766
- connectionId: z38.string().describe("ID of the HubSpot connection to use"),
91767
- method: z38.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
92058
+ connectionId: z39.string().describe("ID of the HubSpot connection to use"),
92059
+ method: z39.enum(["GET", "POST", "PATCH", "DELETE"]).describe(
91768
92060
  "HTTP method. GET for reading resources, POST for creating or searching, PATCH for updating, DELETE for removing."
91769
92061
  ),
91770
- path: z38.string().describe(
92062
+ path: z39.string().describe(
91771
92063
  "API path appended to https://api.hubapi.com (e.g., '/crm/v3/objects/contacts', '/crm/v3/objects/deals', '/crm/v3/objects/contacts/search')"
91772
92064
  ),
91773
- body: z38.record(z38.string(), z38.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
92065
+ body: z39.record(z39.string(), z39.unknown()).optional().describe("Request body (JSON) for POST/PATCH requests")
91774
92066
  });
91775
- var outputSchema38 = z38.discriminatedUnion("success", [
91776
- z38.object({
91777
- success: z38.literal(true),
91778
- status: z38.number(),
91779
- data: z38.record(z38.string(), z38.unknown())
92067
+ var outputSchema39 = z39.discriminatedUnion("success", [
92068
+ z39.object({
92069
+ success: z39.literal(true),
92070
+ status: z39.number(),
92071
+ data: z39.record(z39.string(), z39.unknown())
91780
92072
  }),
91781
- z38.object({
91782
- success: z38.literal(false),
91783
- error: z38.string()
92073
+ z39.object({
92074
+ success: z39.literal(false),
92075
+ error: z39.string()
91784
92076
  })
91785
92077
  ]);
91786
- var requestTool20 = new ConnectorTool({
92078
+ var requestTool21 = new ConnectorTool({
91787
92079
  name: "request",
91788
92080
  description: `Send authenticated requests to the HubSpot API.
91789
92081
  Authentication is handled automatically using the Personal Access Key (Bearer token).
91790
92082
  Use this tool for all HubSpot API interactions: querying contacts, deals, companies, tickets, and other CRM objects.
91791
92083
  Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex queries with filters.`,
91792
- inputSchema: inputSchema38,
91793
- outputSchema: outputSchema38,
92084
+ inputSchema: inputSchema39,
92085
+ outputSchema: outputSchema39,
91794
92086
  async execute({ connectionId, method, path: path5, body }, connections) {
91795
92087
  const connection = connections.find((c6) => c6.id === connectionId);
91796
92088
  if (!connection) {
@@ -91803,10 +92095,10 @@ Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex q
91803
92095
  `[connector-request] hubspot/${connection.name}: ${method} ${path5}`
91804
92096
  );
91805
92097
  try {
91806
- const apiKey = parameters35.apiKey.getValue(connection);
91807
- const url = `${BASE_URL16}${path5.startsWith("/") ? "" : "/"}${path5}`;
92098
+ const apiKey = parameters36.apiKey.getValue(connection);
92099
+ const url = `${BASE_URL17}${path5.startsWith("/") ? "" : "/"}${path5}`;
91808
92100
  const controller = new AbortController();
91809
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS27);
92101
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS28);
91810
92102
  try {
91811
92103
  const response = await fetch(url, {
91812
92104
  method,
@@ -91834,14 +92126,14 @@ Use the search endpoint (POST /crm/v3/objects/{objectType}/search) for complex q
91834
92126
  });
91835
92127
 
91836
92128
  // ../connectors/src/connectors/hubspot/index.ts
91837
- var tools35 = { request: requestTool20 };
92129
+ var tools36 = { request: requestTool21 };
91838
92130
  var hubspotConnector = new ConnectorPlugin({
91839
92131
  slug: "hubspot",
91840
- authType: AUTH_TYPES.PAT,
92132
+ authType: null,
91841
92133
  name: "HubSpot",
91842
92134
  description: "Connect to HubSpot CRM for contacts, deals, companies, and marketing data using a Personal Access Key.",
91843
92135
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
91844
- parameters: parameters35,
92136
+ parameters: parameters36,
91845
92137
  releaseFlag: { dev1: true, dev2: false, prod: false },
91846
92138
  onboarding: hubspotOnboarding2,
91847
92139
  systemPrompt: {
@@ -91978,7 +92270,7 @@ export default async function handler(c: Context) {
91978
92270
  - \`limit\` \u2014 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u6700\u5927\u7D50\u679C\u6570\uFF08\u6700\u5927100\uFF09
91979
92271
  - \`after\` \u2014 \u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u30AA\u30D5\u30BB\u30C3\u30C8`
91980
92272
  },
91981
- tools: tools35
92273
+ tools: tools36
91982
92274
  });
91983
92275
 
91984
92276
  // ../connectors/src/connectors/jira/setup.ts
@@ -91994,7 +92286,7 @@ var jiraOnboarding = new ConnectorOnboarding({
91994
92286
  });
91995
92287
 
91996
92288
  // ../connectors/src/connectors/jira/parameters.ts
91997
- var parameters36 = {
92289
+ var parameters37 = {
91998
92290
  instanceUrl: new ParameterDefinition({
91999
92291
  slug: "instance-url",
92000
92292
  name: "Jira Instance URL",
@@ -92025,34 +92317,34 @@ var parameters36 = {
92025
92317
  };
92026
92318
 
92027
92319
  // ../connectors/src/connectors/jira/tools/request.ts
92028
- import { z as z39 } from "zod";
92029
- var REQUEST_TIMEOUT_MS28 = 6e4;
92030
- var inputSchema39 = z39.object({
92031
- toolUseIntent: z39.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
92032
- connectionId: z39.string().describe("ID of the Jira connection to use"),
92033
- 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."),
92034
- 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')."),
92035
- 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).")
92320
+ import { z as z40 } from "zod";
92321
+ var REQUEST_TIMEOUT_MS29 = 6e4;
92322
+ var inputSchema40 = z40.object({
92323
+ toolUseIntent: z40.string().optional().describe("Brief description of what you intend to accomplish with this tool call"),
92324
+ connectionId: z40.string().describe("ID of the Jira connection to use"),
92325
+ 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."),
92326
+ 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')."),
92327
+ 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).")
92036
92328
  });
92037
- var outputSchema39 = z39.discriminatedUnion("success", [
92038
- z39.object({
92039
- success: z39.literal(true),
92040
- status: z39.number(),
92041
- data: z39.union([z39.record(z39.string(), z39.unknown()), z39.array(z39.unknown())])
92329
+ var outputSchema40 = z40.discriminatedUnion("success", [
92330
+ z40.object({
92331
+ success: z40.literal(true),
92332
+ status: z40.number(),
92333
+ data: z40.union([z40.record(z40.string(), z40.unknown()), z40.array(z40.unknown())])
92042
92334
  }),
92043
- z39.object({
92044
- success: z39.literal(false),
92045
- error: z39.string()
92335
+ z40.object({
92336
+ success: z40.literal(false),
92337
+ error: z40.string()
92046
92338
  })
92047
92339
  ]);
92048
- var requestTool21 = new ConnectorTool({
92340
+ var requestTool22 = new ConnectorTool({
92049
92341
  name: "request",
92050
92342
  description: `Send authenticated requests to the Jira Cloud REST API (v3).
92051
92343
  Authentication is handled automatically using Basic Auth (email + API token).
92052
92344
  Use this tool for all Jira operations: listing projects, searching issues with JQL, creating/updating issues, managing transitions, and adding comments.
92053
92345
  The base URL and authentication credentials are configured per connection \u2014 only specify the API path relative to /rest/api/3/.`,
92054
- inputSchema: inputSchema39,
92055
- outputSchema: outputSchema39,
92346
+ inputSchema: inputSchema40,
92347
+ outputSchema: outputSchema40,
92056
92348
  async execute({ connectionId, method, path: path5, body }, connections) {
92057
92349
  const connection = connections.find((c6) => c6.id === connectionId);
92058
92350
  if (!connection) {
@@ -92060,13 +92352,13 @@ The base URL and authentication credentials are configured per connection \u2014
92060
92352
  }
92061
92353
  console.log(`[connector-request] jira-api-key/${connection.name}: ${method} ${path5}`);
92062
92354
  try {
92063
- const instanceUrl = parameters36.instanceUrl.getValue(connection);
92064
- const email = parameters36.email.getValue(connection);
92065
- const apiToken = parameters36.apiToken.getValue(connection);
92355
+ const instanceUrl = parameters37.instanceUrl.getValue(connection);
92356
+ const email = parameters37.email.getValue(connection);
92357
+ const apiToken = parameters37.apiToken.getValue(connection);
92066
92358
  const baseUrl = `${instanceUrl.replace(/\/+$/, "")}/rest/api/3/${path5}`;
92067
92359
  const credentials = Buffer.from(`${email}:${apiToken}`).toString("base64");
92068
92360
  const controller = new AbortController();
92069
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS28);
92361
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS29);
92070
92362
  try {
92071
92363
  const headers = {
92072
92364
  Authorization: `Basic ${credentials}`,
@@ -92102,14 +92394,14 @@ The base URL and authentication credentials are configured per connection \u2014
92102
92394
  });
92103
92395
 
92104
92396
  // ../connectors/src/connectors/jira/index.ts
92105
- var tools36 = { request: requestTool21 };
92397
+ var tools37 = { request: requestTool22 };
92106
92398
  var jiraConnector = new ConnectorPlugin({
92107
92399
  slug: "jira",
92108
92400
  authType: AUTH_TYPES.API_KEY,
92109
92401
  name: "Jira (API Key)",
92110
92402
  description: "Connect to Jira Cloud for issue tracking, project management, and workflow data retrieval using API token authentication.",
92111
92403
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5zt4yjb36szSPPkCECYlPL/bc3e7223dc84fb16a1cce53a80f5afcc/jira.png",
92112
- parameters: parameters36,
92404
+ parameters: parameters37,
92113
92405
  releaseFlag: { dev1: true, dev2: false, prod: false },
92114
92406
  onboarding: jiraOnboarding,
92115
92407
  systemPrompt: {
@@ -92254,7 +92546,7 @@ await jira.request("/rest/api/3/issue", {
92254
92546
  - \u95A2\u6570: currentUser(), startOfDay(), endOfWeek()
92255
92547
  - \u30C6\u30AD\u30B9\u30C8\u691C\u7D22: summary ~ "\u30AD\u30FC\u30EF\u30FC\u30C9"`
92256
92548
  },
92257
- tools: tools36
92549
+ tools: tools37
92258
92550
  });
92259
92551
 
92260
92552
  // ../connectors/src/connectors/linear/setup.ts
@@ -92274,7 +92566,7 @@ var linearOnboarding = new ConnectorOnboarding({
92274
92566
  });
92275
92567
 
92276
92568
  // ../connectors/src/connectors/linear/parameters.ts
92277
- var parameters37 = {
92569
+ var parameters38 = {
92278
92570
  apiKey: new ParameterDefinition({
92279
92571
  slug: "api-key",
92280
92572
  name: "Linear API Key",
@@ -92287,39 +92579,39 @@ var parameters37 = {
92287
92579
  };
92288
92580
 
92289
92581
  // ../connectors/src/connectors/linear/tools/request.ts
92290
- import { z as z40 } from "zod";
92291
- var BASE_URL17 = "https://api.linear.app/graphql";
92292
- var REQUEST_TIMEOUT_MS29 = 6e4;
92293
- var inputSchema40 = z40.object({
92294
- toolUseIntent: z40.string().optional().describe(
92582
+ import { z as z41 } from "zod";
92583
+ var BASE_URL18 = "https://api.linear.app/graphql";
92584
+ var REQUEST_TIMEOUT_MS30 = 6e4;
92585
+ var inputSchema41 = z41.object({
92586
+ toolUseIntent: z41.string().optional().describe(
92295
92587
  "Brief description of what you intend to accomplish with this tool call"
92296
92588
  ),
92297
- connectionId: z40.string().describe("ID of the Linear connection to use"),
92298
- query: z40.string().describe(
92589
+ connectionId: z41.string().describe("ID of the Linear connection to use"),
92590
+ query: z41.string().describe(
92299
92591
  `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.`
92300
92592
  ),
92301
- variables: z40.record(z40.string(), z40.unknown()).optional().describe(
92593
+ variables: z41.record(z41.string(), z41.unknown()).optional().describe(
92302
92594
  'Optional GraphQL variables object. Use with parameterized queries, e.g. { "teamId": "abc-123", "first": 10 }'
92303
92595
  )
92304
92596
  });
92305
- var outputSchema40 = z40.discriminatedUnion("success", [
92306
- z40.object({
92307
- success: z40.literal(true),
92308
- data: z40.record(z40.string(), z40.unknown())
92597
+ var outputSchema41 = z41.discriminatedUnion("success", [
92598
+ z41.object({
92599
+ success: z41.literal(true),
92600
+ data: z41.record(z41.string(), z41.unknown())
92309
92601
  }),
92310
- z40.object({
92311
- success: z40.literal(false),
92312
- error: z40.string()
92602
+ z41.object({
92603
+ success: z41.literal(false),
92604
+ error: z41.string()
92313
92605
  })
92314
92606
  ]);
92315
- var requestTool22 = new ConnectorTool({
92607
+ var requestTool23 = new ConnectorTool({
92316
92608
  name: "request",
92317
92609
  description: `Send authenticated GraphQL queries and mutations to the Linear API (https://api.linear.app/graphql).
92318
92610
  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.
92319
92611
  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".
92320
92612
  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.`,
92321
- inputSchema: inputSchema40,
92322
- outputSchema: outputSchema40,
92613
+ inputSchema: inputSchema41,
92614
+ outputSchema: outputSchema41,
92323
92615
  async execute({ connectionId, query, variables }, connections) {
92324
92616
  const connection = connections.find((c6) => c6.id === connectionId);
92325
92617
  if (!connection) {
@@ -92332,13 +92624,13 @@ Archived resources are hidden by default; pass includeArchived: true in query ar
92332
92624
  `[connector-request] linear/${connection.name}: GraphQL request`
92333
92625
  );
92334
92626
  try {
92335
- const apiKey = parameters37.apiKey.getValue(connection);
92627
+ const apiKey = parameters38.apiKey.getValue(connection);
92336
92628
  const controller = new AbortController();
92337
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS29);
92629
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS30);
92338
92630
  try {
92339
92631
  const body = { query };
92340
92632
  if (variables) body.variables = variables;
92341
- const response = await fetch(BASE_URL17, {
92633
+ const response = await fetch(BASE_URL18, {
92342
92634
  method: "POST",
92343
92635
  headers: {
92344
92636
  Authorization: apiKey,
@@ -92377,14 +92669,14 @@ Archived resources are hidden by default; pass includeArchived: true in query ar
92377
92669
  });
92378
92670
 
92379
92671
  // ../connectors/src/connectors/linear/index.ts
92380
- var tools37 = { request: requestTool22 };
92672
+ var tools38 = { request: requestTool23 };
92381
92673
  var linearConnector = new ConnectorPlugin({
92382
92674
  slug: "linear",
92383
92675
  authType: null,
92384
92676
  name: "Linear",
92385
92677
  description: "Connect to Linear for project management data \u2014 issues, projects, teams, cycles, and more.",
92386
92678
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6oR77h6TeniXGdmnp2P2LX/a2ac8630ae52d164363adb0c695d9f0b/linear.webp",
92387
- parameters: parameters37,
92679
+ parameters: parameters38,
92388
92680
  releaseFlag: { dev1: true, dev2: false, prod: false },
92389
92681
  onboarding: linearOnboarding,
92390
92682
  systemPrompt: {
@@ -92511,7 +92803,7 @@ export default async function handler(c: Context) {
92511
92803
  - \`mutation { issueUpdate(id: "...", input: { stateId: "..." }) { success issue { id title state { name } } } }\` \u2014 Issue\u66F4\u65B0
92512
92804
  - \`mutation { commentCreate(input: { issueId: "...", body: "..." }) { success comment { id body } } }\` \u2014 \u30B3\u30E1\u30F3\u30C8\u8FFD\u52A0`
92513
92805
  },
92514
- tools: tools37
92806
+ tools: tools38
92515
92807
  });
92516
92808
 
92517
92809
  // ../connectors/src/connectors/asana/setup.ts
@@ -92529,7 +92821,7 @@ var asanaOnboarding = new ConnectorOnboarding({
92529
92821
  });
92530
92822
 
92531
92823
  // ../connectors/src/connectors/asana/parameters.ts
92532
- var parameters38 = {
92824
+ var parameters39 = {
92533
92825
  personalAccessToken: new ParameterDefinition({
92534
92826
  slug: "personal-access-token",
92535
92827
  name: "Asana Personal Access Token",
@@ -92542,36 +92834,36 @@ var parameters38 = {
92542
92834
  };
92543
92835
 
92544
92836
  // ../connectors/src/connectors/asana/tools/request.ts
92545
- import { z as z41 } from "zod";
92546
- var BASE_URL18 = "https://app.asana.com/api/1.0";
92547
- var REQUEST_TIMEOUT_MS30 = 6e4;
92548
- var inputSchema41 = z41.object({
92549
- toolUseIntent: z41.string().optional().describe(
92837
+ import { z as z42 } from "zod";
92838
+ var BASE_URL19 = "https://app.asana.com/api/1.0";
92839
+ var REQUEST_TIMEOUT_MS31 = 6e4;
92840
+ var inputSchema42 = z42.object({
92841
+ toolUseIntent: z42.string().optional().describe(
92550
92842
  "Brief description of what you intend to accomplish with this tool call"
92551
92843
  ),
92552
- connectionId: z41.string().describe("ID of the Asana connection to use"),
92553
- method: z41.enum(["GET", "POST", "PUT", "DELETE"]).describe(
92844
+ connectionId: z42.string().describe("ID of the Asana connection to use"),
92845
+ method: z42.enum(["GET", "POST", "PUT", "DELETE"]).describe(
92554
92846
  "HTTP method. GET for reading resources, POST for creating, PUT for updating, DELETE for removing."
92555
92847
  ),
92556
- path: z41.string().describe(
92848
+ path: z42.string().describe(
92557
92849
  "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')."
92558
92850
  ),
92559
- body: z41.record(z41.string(), z41.unknown()).optional().describe(
92851
+ body: z42.record(z42.string(), z42.unknown()).optional().describe(
92560
92852
  'Request body (JSON) for POST/PUT requests. Wrap payload in a "data" key (e.g., { "data": { "name": "My Task", "workspace": "WORKSPACE_GID" } }).'
92561
92853
  )
92562
92854
  });
92563
- var outputSchema41 = z41.discriminatedUnion("success", [
92564
- z41.object({
92565
- success: z41.literal(true),
92566
- status: z41.number(),
92567
- data: z41.record(z41.string(), z41.unknown())
92855
+ var outputSchema42 = z42.discriminatedUnion("success", [
92856
+ z42.object({
92857
+ success: z42.literal(true),
92858
+ status: z42.number(),
92859
+ data: z42.record(z42.string(), z42.unknown())
92568
92860
  }),
92569
- z41.object({
92570
- success: z41.literal(false),
92571
- error: z41.string()
92861
+ z42.object({
92862
+ success: z42.literal(false),
92863
+ error: z42.string()
92572
92864
  })
92573
92865
  ]);
92574
- var requestTool23 = new ConnectorTool({
92866
+ var requestTool24 = new ConnectorTool({
92575
92867
  name: "request",
92576
92868
  description: `Send authenticated requests to the Asana REST API.
92577
92869
  Authentication is handled automatically using the Personal Access Token (Bearer token).
@@ -92592,8 +92884,8 @@ Common endpoints:
92592
92884
  - GET /tasks/{task_gid}/stories \u2014 Get task comments/stories
92593
92885
 
92594
92886
  Pagination: Use limit (1-100) and offset query parameters. The response includes next_page.offset for the next page.`,
92595
- inputSchema: inputSchema41,
92596
- outputSchema: outputSchema41,
92887
+ inputSchema: inputSchema42,
92888
+ outputSchema: outputSchema42,
92597
92889
  async execute({ connectionId, method, path: path5, body }, connections) {
92598
92890
  const connection = connections.find((c6) => c6.id === connectionId);
92599
92891
  if (!connection) {
@@ -92606,10 +92898,10 @@ Pagination: Use limit (1-100) and offset query parameters. The response includes
92606
92898
  `[connector-request] asana/${connection.name}: ${method} ${path5}`
92607
92899
  );
92608
92900
  try {
92609
- const token = parameters38.personalAccessToken.getValue(connection);
92610
- const url = `${BASE_URL18}${path5}`;
92901
+ const token = parameters39.personalAccessToken.getValue(connection);
92902
+ const url = `${BASE_URL19}${path5}`;
92611
92903
  const controller = new AbortController();
92612
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS30);
92904
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS31);
92613
92905
  try {
92614
92906
  const response = await fetch(url, {
92615
92907
  method,
@@ -92639,14 +92931,14 @@ Pagination: Use limit (1-100) and offset query parameters. The response includes
92639
92931
  });
92640
92932
 
92641
92933
  // ../connectors/src/connectors/asana/index.ts
92642
- var tools38 = { request: requestTool23 };
92934
+ var tools39 = { request: requestTool24 };
92643
92935
  var asanaConnector = new ConnectorPlugin({
92644
92936
  slug: "asana",
92645
92937
  authType: null,
92646
92938
  name: "Asana",
92647
92939
  description: "Connect to Asana for project management, task tracking, and team collaboration data.",
92648
92940
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/3eIdaoqzIIZs2Md0OoDJMf/2fa66e0841adb985da4d3120466f3ec4/asana-icon.png",
92649
- parameters: parameters38,
92941
+ parameters: parameters39,
92650
92942
  releaseFlag: { dev1: true, dev2: false, prod: false },
92651
92943
  onboarding: asanaOnboarding,
92652
92944
  systemPrompt: {
@@ -92756,350 +93048,76 @@ SDK\u30E1\u30BD\u30C3\u30C9 (\`connection(connectionId)\` \u3067\u4F5C\u6210\u30
92756
93048
  - \`client.listUsers(workspaceGid, options?)\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
92757
93049
 
92758
93050
  \`\`\`ts
92759
- import type { Context } from "hono";
92760
- import { connection } from "@squadbase/vite-server/connectors/asana";
92761
-
92762
- const asana = connection("<connectionId>");
92763
-
92764
- export default async function handler(c: Context) {
92765
- const { projectGid } = await c.req.json<{ projectGid: string }>();
92766
-
92767
- const { data: tasks } = await asana.listTasks(projectGid, {
92768
- opt_fields: ["name", "completed", "assignee.name", "due_on"],
92769
- limit: 50,
92770
- });
92771
-
92772
- return c.json({ tasks });
92773
- }
92774
- \`\`\`
92775
-
92776
- ### Asana REST API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
92777
-
92778
- - \u30D9\u30FC\u30B9URL: \`https://app.asana.com/api/1.0\`
92779
- - \u8A8D\u8A3C: Bearer\u30C8\u30FC\u30AF\u30F3\uFF08Personal Access Token\u3001\u81EA\u52D5\u8A2D\u5B9A\uFF09
92780
- - \u66F8\u304D\u8FBC\u307F\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30DA\u30A4\u30ED\u30FC\u30C9\u3092 \`data\` \u30AD\u30FC\u3067\u56F2\u3080: \`{ "data": { ... } }\`
92781
- - \`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
92782
- - \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
92783
-
92784
- #### \u30EA\u30BD\u30FC\u30B9\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
92785
-
92786
- **\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9**
92787
- - GET \`/workspaces\` \u2014 \u5168\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4E00\u89A7
92788
-
92789
- **\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8**
92790
- - GET \`/projects?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7
92791
- - GET \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u53D6\u5F97
92792
- - POST \`/projects\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210
92793
- - PUT \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0
92794
-
92795
- **\u30BF\u30B9\u30AF**
92796
- - 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
92797
- - GET \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u53D6\u5F97
92798
- - POST \`/tasks\` \u2014 \u30BF\u30B9\u30AF\u306E\u4F5C\u6210\uFF08body\u306Bworkspace\u307E\u305F\u306Fprojects\u304C\u5FC5\u8981\uFF09
92799
- - PUT \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u66F4\u65B0
92800
- - DELETE \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u524A\u9664
92801
- - POST \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4F5C\u6210
92802
- - GET \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4E00\u89A7
92803
-
92804
- **\u30BB\u30AF\u30B7\u30E7\u30F3**
92805
- - GET \`/sections?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7
92806
- - POST \`/sections/{section_gid}/addTask\` \u2014 \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0
92807
-
92808
- **\u30E6\u30FC\u30B6\u30FC**
92809
- - GET \`/users?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
92810
- - GET \`/users/me\` \u2014 \u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
92811
- - GET \`/users/{user_gid}\` \u2014 \u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
92812
-
92813
- **\u30BF\u30B0**
92814
- - GET \`/tags?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B0\u4E00\u89A7
92815
-
92816
- **\u30B9\u30C8\u30FC\u30EA\u30FC\uFF08\u30B3\u30E1\u30F3\u30C8\uFF09**
92817
- - GET \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8/\u30B9\u30C8\u30FC\u30EA\u30FC\u4E00\u89A7
92818
- - POST \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306B\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0
92819
-
92820
- **\u691C\u7D22**
92821
- - GET \`/workspaces/{workspace_gid}/tasks/search?text=QUERY\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B9\u30AF\u691C\u7D22
92822
-
92823
- #### \u3088\u304F\u4F7F\u3046opt_fields
92824
- - \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
92825
- - \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8: name, archived, created_at, modified_at, owner, owner.name, team, team.name, members
92826
- - \u30E6\u30FC\u30B6\u30FC: name, email, photo`
92827
- },
92828
- tools: tools38
92829
- });
92830
-
92831
- // ../connectors/src/connectors/trino/setup.ts
92832
- var trinoOnboarding = new ConnectorOnboarding({
92833
- dataOverviewInstructions: {
92834
- en: `1. Use executeQuery to list catalogs: \`SHOW CATALOGS\`
92835
- 2. Use executeQuery to list schemas in a catalog: \`SHOW SCHEMAS IN catalog_name\`
92836
- 3. Use executeQuery to list tables in a schema: \`SHOW TABLES IN catalog_name.schema_name\`
92837
- 4. For key tables, use executeQuery to get column info: \`DESCRIBE catalog_name.schema_name.table_name\`
92838
- 5. Sample up to 3 tables with \`SELECT * FROM catalog_name.schema_name.table_name LIMIT 5\` if column info alone is insufficient`,
92839
- ja: `1. executeQuery \u3067\u30AB\u30BF\u30ED\u30B0\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW CATALOGS\`
92840
- 2. executeQuery \u3067\u30B9\u30AD\u30FC\u30DE\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW SCHEMAS IN catalog_name\`
92841
- 3. executeQuery \u3067\u30C6\u30FC\u30D6\u30EB\u4E00\u89A7\u3092\u53D6\u5F97: \`SHOW TABLES IN catalog_name.schema_name\`
92842
- 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\`
92843
- 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`
92844
- }
92845
- });
92846
-
92847
- // ../connectors/src/connectors/trino/parameters.ts
92848
- var parameters39 = {
92849
- host: new ParameterDefinition({
92850
- slug: "host",
92851
- name: "Trino Server URL",
92852
- description: "The Trino server URL (e.g., https://trino.example.com:8443).",
92853
- envVarBaseKey: "TRINO_HOST",
92854
- type: "text",
92855
- secret: false,
92856
- required: true
92857
- }),
92858
- user: new ParameterDefinition({
92859
- slug: "user",
92860
- name: "Trino User",
92861
- description: "The username for Trino authentication.",
92862
- envVarBaseKey: "TRINO_USER",
92863
- type: "text",
92864
- secret: false,
92865
- required: true
92866
- }),
92867
- password: new ParameterDefinition({
92868
- slug: "password",
92869
- name: "Trino Password",
92870
- description: "The password for Trino authentication. Leave empty if not required.",
92871
- envVarBaseKey: "TRINO_PASSWORD",
92872
- type: "text",
92873
- secret: true,
92874
- required: false
92875
- }),
92876
- catalog: new ParameterDefinition({
92877
- slug: "catalog",
92878
- name: "Trino Catalog",
92879
- description: "The default catalog to use (e.g., hive, iceberg, postgresql).",
92880
- envVarBaseKey: "TRINO_CATALOG",
92881
- type: "text",
92882
- secret: false,
92883
- required: false
92884
- }),
92885
- schema: new ParameterDefinition({
92886
- slug: "schema",
92887
- name: "Trino Schema",
92888
- description: "The default schema to use within the catalog.",
92889
- envVarBaseKey: "TRINO_SCHEMA",
92890
- type: "text",
92891
- secret: false,
92892
- required: false
92893
- })
92894
- };
92895
-
92896
- // ../connectors/src/connectors/trino/tools/execute-query.ts
92897
- import { z as z42 } from "zod";
92898
- var MAX_ROWS11 = 500;
92899
- var QUERY_TIMEOUT_MS4 = 6e4;
92900
- var inputSchema42 = z42.object({
92901
- toolUseIntent: z42.string().optional().describe(
92902
- "Brief description of what you intend to accomplish with this tool call"
92903
- ),
92904
- connectionId: z42.string().describe("ID of the Trino connection to use"),
92905
- sql: z42.string().describe("Trino SQL query. Always include LIMIT in queries.")
92906
- });
92907
- var outputSchema42 = z42.discriminatedUnion("success", [
92908
- z42.object({
92909
- success: z42.literal(true),
92910
- rowCount: z42.number(),
92911
- truncated: z42.boolean(),
92912
- rows: z42.array(z42.record(z42.string(), z42.unknown()))
92913
- }),
92914
- z42.object({
92915
- success: z42.literal(false),
92916
- error: z42.string()
92917
- })
92918
- ]);
92919
- var executeQueryTool11 = new ConnectorTool({
92920
- name: "executeQuery",
92921
- description: `Execute SQL against Trino. Returns up to ${MAX_ROWS11} rows.
92922
- Use for: schema exploration (SHOW CATALOGS, SHOW SCHEMAS, SHOW TABLES, DESCRIBE), data sampling, analytical queries across federated data sources.
92923
- Avoid loading large amounts of data; always include LIMIT in queries.`,
92924
- inputSchema: inputSchema42,
92925
- outputSchema: outputSchema42,
92926
- async execute({ connectionId, sql }, connections) {
92927
- const connection = connections.find((c6) => c6.id === connectionId);
92928
- if (!connection) {
92929
- return {
92930
- success: false,
92931
- error: `Connection ${connectionId} not found`
92932
- };
92933
- }
92934
- console.log(
92935
- `[connector-query] trino/${connection.name}: ${sql}`
92936
- );
92937
- let host;
92938
- try {
92939
- const { Trino, BasicAuth } = await import("trino-client");
92940
- host = parameters39.host.getValue(connection);
92941
- const user = parameters39.user.getValue(connection);
92942
- const password = parameters39.password.tryGetValue(connection);
92943
- const catalog = parameters39.catalog.tryGetValue(connection);
92944
- const schema = parameters39.schema.tryGetValue(connection);
92945
- const trino = Trino.create({
92946
- server: host,
92947
- catalog: catalog || void 0,
92948
- schema: schema || void 0,
92949
- auth: new BasicAuth(user, password || void 0)
92950
- });
92951
- const iter = await trino.query(sql);
92952
- const columns = [];
92953
- const rows = [];
92954
- let truncated = false;
92955
- const timeout = new Promise(
92956
- (_, reject) => setTimeout(() => reject(new Error("Query timed out after 60 seconds")), QUERY_TIMEOUT_MS4)
92957
- );
92958
- const collect = async () => {
92959
- for await (const result of iter) {
92960
- if (result.columns && columns.length === 0) {
92961
- columns.push(...result.columns);
92962
- }
92963
- if (result.data) {
92964
- for (const row of result.data) {
92965
- if (rows.length >= MAX_ROWS11) {
92966
- truncated = true;
92967
- break;
92968
- }
92969
- const obj = {};
92970
- columns.forEach((col, i7) => {
92971
- obj[col.name] = row[i7];
92972
- });
92973
- rows.push(obj);
92974
- }
92975
- if (truncated) break;
92976
- }
92977
- }
92978
- };
92979
- await Promise.race([collect(), timeout]);
92980
- return {
92981
- success: true,
92982
- rowCount: rows.length,
92983
- truncated,
92984
- rows
92985
- };
92986
- } catch (err) {
92987
- let msg = err instanceof Error ? err.message : String(err);
92988
- if (host) {
92989
- msg = msg.replaceAll(host, "***");
92990
- }
92991
- return { success: false, error: msg };
92992
- }
92993
- }
92994
- });
93051
+ import type { Context } from "hono";
93052
+ import { connection } from "@squadbase/vite-server/connectors/asana";
92995
93053
 
92996
- // ../connectors/src/connectors/trino/index.ts
92997
- var tools39 = { executeQuery: executeQueryTool11 };
92998
- var trinoConnector = new ConnectorPlugin({
92999
- slug: "trino",
93000
- authType: null,
93001
- name: "Trino",
93002
- description: "Connect to Trino for distributed SQL query engine across federated data sources.",
93003
- iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/8jqL4EZwHKnK5QzyNWkp2/e5831a080c8192cb18fb864cabd51c23/trino.png",
93004
- parameters: parameters39,
93005
- releaseFlag: { dev1: true, dev2: false, prod: false },
93006
- onboarding: trinoOnboarding,
93007
- systemPrompt: {
93008
- en: `### Tools
93054
+ const asana = connection("<connectionId>");
93009
93055
 
93010
- - \`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.
93056
+ export default async function handler(c: Context) {
93057
+ const { projectGid } = await c.req.json<{ projectGid: string }>();
93011
93058
 
93012
- ### Business Logic
93059
+ const { data: tasks } = await asana.listTasks(projectGid, {
93060
+ opt_fields: ["name", "completed", "assignee.name", "due_on"],
93061
+ limit: 50,
93062
+ });
93013
93063
 
93014
- The business logic type for this connector is "sql".
93064
+ return c.json({ tasks });
93065
+ }
93066
+ \`\`\`
93015
93067
 
93016
- ### SQL Reference
93017
- - Trino uses ANSI SQL syntax with extensions for federated queries
93018
- - Use fully qualified names: \`catalog.schema.table\` for cross-catalog queries
93019
- - Schema exploration commands:
93020
- - List catalogs: \`SHOW CATALOGS\`
93021
- - List schemas: \`SHOW SCHEMAS IN catalog_name\`
93022
- - List tables: \`SHOW TABLES IN catalog_name.schema_name\`
93023
- - List columns: \`DESCRIBE catalog_name.schema_name.table_name\`
93024
- - Table details: \`SHOW COLUMNS FROM catalog_name.schema_name.table_name\`
93025
- - INFORMATION_SCHEMA is available per catalog: \`SELECT * FROM catalog_name.information_schema.tables\`
93026
- - Always include LIMIT in queries`,
93027
- ja: `### \u30C4\u30FC\u30EB
93068
+ ### Asana REST API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
93028
93069
 
93029
- - \`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
93070
+ - \u30D9\u30FC\u30B9URL: \`https://app.asana.com/api/1.0\`
93071
+ - \u8A8D\u8A3C: Bearer\u30C8\u30FC\u30AF\u30F3\uFF08Personal Access Token\u3001\u81EA\u52D5\u8A2D\u5B9A\uFF09
93072
+ - \u66F8\u304D\u8FBC\u307F\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30DA\u30A4\u30ED\u30FC\u30C9\u3092 \`data\` \u30AD\u30FC\u3067\u56F2\u3080: \`{ "data": { ... } }\`
93073
+ - \`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
93074
+ - \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
93030
93075
 
93031
- ### Business Logic
93076
+ #### \u30EA\u30BD\u30FC\u30B9\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8
93032
93077
 
93033
- \u3053\u306E\u30B3\u30CD\u30AF\u30BF\u306E\u30D3\u30B8\u30CD\u30B9\u30ED\u30B8\u30C3\u30AF\u30BF\u30A4\u30D7\u306F "sql" \u3067\u3059\u3002
93078
+ **\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9**
93079
+ - GET \`/workspaces\` \u2014 \u5168\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4E00\u89A7
93034
93080
 
93035
- ### SQL \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
93036
- - 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
93037
- - \u30AF\u30ED\u30B9\u30AB\u30BF\u30ED\u30B0\u30AF\u30A8\u30EA\u306B\u306F\u5B8C\u5168\u4FEE\u98FE\u540D\u3092\u4F7F\u7528: \`catalog.schema.table\`
93038
- - \u30B9\u30AD\u30FC\u30DE\u63A2\u7D22\u30B3\u30DE\u30F3\u30C9:
93039
- - \u30AB\u30BF\u30ED\u30B0\u4E00\u89A7: \`SHOW CATALOGS\`
93040
- - \u30B9\u30AD\u30FC\u30DE\u4E00\u89A7: \`SHOW SCHEMAS IN catalog_name\`
93041
- - \u30C6\u30FC\u30D6\u30EB\u4E00\u89A7: \`SHOW TABLES IN catalog_name.schema_name\`
93042
- - \u30AB\u30E9\u30E0\u4E00\u89A7: \`DESCRIBE catalog_name.schema_name.table_name\`
93043
- - \u30C6\u30FC\u30D6\u30EB\u8A73\u7D30: \`SHOW COLUMNS FROM catalog_name.schema_name.table_name\`
93044
- - INFORMATION_SCHEMA\u306F\u30AB\u30BF\u30ED\u30B0\u3054\u3068\u306B\u5229\u7528\u53EF\u80FD: \`SELECT * FROM catalog_name.information_schema.tables\`
93045
- - \u30AF\u30A8\u30EA\u306B\u306F\u5FC5\u305A LIMIT \u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044`
93046
- },
93047
- tools: tools39,
93048
- async checkConnection(params, _config) {
93049
- try {
93050
- const { Trino, BasicAuth } = await import("trino-client");
93051
- const host = params[parameters39.host.slug];
93052
- const user = params[parameters39.user.slug];
93053
- const password = params[parameters39.password.slug] || void 0;
93054
- const catalog = params[parameters39.catalog.slug] || void 0;
93055
- const schema = params[parameters39.schema.slug] || void 0;
93056
- const trino = Trino.create({
93057
- server: host,
93058
- catalog,
93059
- schema,
93060
- auth: new BasicAuth(user, password)
93061
- });
93062
- const iter = await trino.query("SELECT 1");
93063
- for await (const _result of iter) {
93064
- }
93065
- return { success: true };
93066
- } catch (error2) {
93067
- return { success: false, error: error2 instanceof Error ? error2.message : String(error2) };
93068
- }
93081
+ **\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8**
93082
+ - GET \`/projects?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7
93083
+ - GET \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u53D6\u5F97
93084
+ - POST \`/projects\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210
93085
+ - PUT \`/projects/{project_gid}\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u66F4\u65B0
93086
+
93087
+ **\u30BF\u30B9\u30AF**
93088
+ - 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
93089
+ - GET \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u53D6\u5F97
93090
+ - POST \`/tasks\` \u2014 \u30BF\u30B9\u30AF\u306E\u4F5C\u6210\uFF08body\u306Bworkspace\u307E\u305F\u306Fprojects\u304C\u5FC5\u8981\uFF09
93091
+ - PUT \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u66F4\u65B0
93092
+ - DELETE \`/tasks/{task_gid}\` \u2014 \u30BF\u30B9\u30AF\u306E\u524A\u9664
93093
+ - POST \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4F5C\u6210
93094
+ - GET \`/tasks/{task_gid}/subtasks\` \u2014 \u30B5\u30D6\u30BF\u30B9\u30AF\u306E\u4E00\u89A7
93095
+
93096
+ **\u30BB\u30AF\u30B7\u30E7\u30F3**
93097
+ - GET \`/sections?project=PROJECT_GID\` \u2014 \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7
93098
+ - POST \`/sections/{section_gid}/addTask\` \u2014 \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u30BF\u30B9\u30AF\u3092\u8FFD\u52A0
93099
+
93100
+ **\u30E6\u30FC\u30B6\u30FC**
93101
+ - GET \`/users?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7
93102
+ - GET \`/users/me\` \u2014 \u8A8D\u8A3C\u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
93103
+ - GET \`/users/{user_gid}\` \u2014 \u30E6\u30FC\u30B6\u30FC\u306E\u53D6\u5F97
93104
+
93105
+ **\u30BF\u30B0**
93106
+ - GET \`/tags?workspace=WORKSPACE_GID\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B0\u4E00\u89A7
93107
+
93108
+ **\u30B9\u30C8\u30FC\u30EA\u30FC\uFF08\u30B3\u30E1\u30F3\u30C8\uFF09**
93109
+ - GET \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306E\u30B3\u30E1\u30F3\u30C8/\u30B9\u30C8\u30FC\u30EA\u30FC\u4E00\u89A7
93110
+ - POST \`/tasks/{task_gid}/stories\` \u2014 \u30BF\u30B9\u30AF\u306B\u30B3\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0
93111
+
93112
+ **\u691C\u7D22**
93113
+ - GET \`/workspaces/{workspace_gid}/tasks/search?text=QUERY\` \u2014 \u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u30BF\u30B9\u30AF\u691C\u7D22
93114
+
93115
+ #### \u3088\u304F\u4F7F\u3046opt_fields
93116
+ - \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
93117
+ - \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8: name, archived, created_at, modified_at, owner, owner.name, team, team.name, members
93118
+ - \u30E6\u30FC\u30B6\u30FC: name, email, photo`
93069
93119
  },
93070
- async query(params, sql, namedParams) {
93071
- const resolvedSql = replaceLiteralParams(sql, namedParams);
93072
- const { Trino, BasicAuth } = await import("trino-client");
93073
- const host = params[parameters39.host.slug];
93074
- const user = params[parameters39.user.slug];
93075
- const password = params[parameters39.password.slug] || void 0;
93076
- const catalog = params[parameters39.catalog.slug] || void 0;
93077
- const schema = params[parameters39.schema.slug] || void 0;
93078
- const trino = Trino.create({
93079
- server: host,
93080
- catalog,
93081
- schema,
93082
- auth: new BasicAuth(user, password)
93083
- });
93084
- const iter = await trino.query(resolvedSql);
93085
- const columns = [];
93086
- const rows = [];
93087
- for await (const result of iter) {
93088
- if (result.columns && columns.length === 0) {
93089
- columns.push(...result.columns);
93090
- }
93091
- if (result.data) {
93092
- for (const row of result.data) {
93093
- const obj = {};
93094
- columns.forEach((col, i7) => {
93095
- obj[col.name] = row[i7];
93096
- });
93097
- rows.push(obj);
93098
- }
93099
- }
93100
- }
93101
- return { rows };
93102
- }
93120
+ tools: tools39
93103
93121
  });
93104
93122
 
93105
93123
  // ../connectors/src/connectors/clickhouse/setup.ts
@@ -93158,8 +93176,8 @@ var parameters40 = {
93158
93176
 
93159
93177
  // ../connectors/src/connectors/clickhouse/tools/execute-query.ts
93160
93178
  import { z as z43 } from "zod";
93161
- var MAX_ROWS12 = 500;
93162
- var QUERY_TIMEOUT_MS5 = 6e4;
93179
+ var MAX_ROWS11 = 500;
93180
+ var QUERY_TIMEOUT_MS4 = 6e4;
93163
93181
  var inputSchema43 = z43.object({
93164
93182
  toolUseIntent: z43.string().optional().describe(
93165
93183
  "Brief description of what you intend to accomplish with this tool call"
@@ -93179,9 +93197,9 @@ var outputSchema43 = z43.discriminatedUnion("success", [
93179
93197
  error: z43.string()
93180
93198
  })
93181
93199
  ]);
93182
- var executeQueryTool12 = new ConnectorTool({
93200
+ var executeQueryTool11 = new ConnectorTool({
93183
93201
  name: "executeQuery",
93184
- description: `Execute SQL against ClickHouse. Returns up to ${MAX_ROWS12} rows.
93202
+ description: `Execute SQL against ClickHouse. Returns up to ${MAX_ROWS11} rows.
93185
93203
  Use for: schema exploration (SHOW DATABASES, SHOW TABLES, DESCRIBE TABLE), data sampling, analytical queries on large-scale columnar data.
93186
93204
  Avoid loading large amounts of data; always include LIMIT in queries.`,
93187
93205
  inputSchema: inputSchema43,
@@ -93209,7 +93227,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
93209
93227
  username,
93210
93228
  password: password || "",
93211
93229
  database: database || "default",
93212
- request_timeout: QUERY_TIMEOUT_MS5
93230
+ request_timeout: QUERY_TIMEOUT_MS4
93213
93231
  });
93214
93232
  try {
93215
93233
  const resultSet = await client.query({
@@ -93217,12 +93235,12 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
93217
93235
  format: "JSONEachRow"
93218
93236
  });
93219
93237
  const allRows = await resultSet.json();
93220
- const truncated = allRows.length > MAX_ROWS12;
93238
+ const truncated = allRows.length > MAX_ROWS11;
93221
93239
  return {
93222
93240
  success: true,
93223
- rowCount: Math.min(allRows.length, MAX_ROWS12),
93241
+ rowCount: Math.min(allRows.length, MAX_ROWS11),
93224
93242
  truncated,
93225
- rows: allRows.slice(0, MAX_ROWS12)
93243
+ rows: allRows.slice(0, MAX_ROWS11)
93226
93244
  };
93227
93245
  } finally {
93228
93246
  await client.close();
@@ -93238,7 +93256,7 @@ Avoid loading large amounts of data; always include LIMIT in queries.`,
93238
93256
  });
93239
93257
 
93240
93258
  // ../connectors/src/connectors/clickhouse/index.ts
93241
- var tools40 = { executeQuery: executeQueryTool12 };
93259
+ var tools40 = { executeQuery: executeQueryTool11 };
93242
93260
  var clickhouseConnector = new ConnectorPlugin({
93243
93261
  slug: "clickhouse",
93244
93262
  authType: null,
@@ -93377,7 +93395,7 @@ var parameters41 = {
93377
93395
  import { z as z46 } from "zod";
93378
93396
  var MAX_DOCUMENTS = 500;
93379
93397
  var CONNECT_TIMEOUT_MS4 = 1e4;
93380
- var QUERY_TIMEOUT_MS6 = 6e4;
93398
+ var QUERY_TIMEOUT_MS5 = 6e4;
93381
93399
  var inputSchema44 = z46.object({
93382
93400
  toolUseIntent: z46.string().optional().describe(
93383
93401
  "Brief description of what you intend to accomplish with this tool call"
@@ -93436,7 +93454,7 @@ For listing collections, use the aggregate tool with an empty pipeline on the sp
93436
93454
  const client = new MongoClient(connectionUrl, {
93437
93455
  connectTimeoutMS: CONNECT_TIMEOUT_MS4,
93438
93456
  serverSelectionTimeoutMS: CONNECT_TIMEOUT_MS4,
93439
- socketTimeoutMS: QUERY_TIMEOUT_MS6
93457
+ socketTimeoutMS: QUERY_TIMEOUT_MS5
93440
93458
  });
93441
93459
  try {
93442
93460
  await client.connect();
@@ -93482,7 +93500,7 @@ For listing collections, use the aggregate tool with an empty pipeline on the sp
93482
93500
  import { z as z47 } from "zod";
93483
93501
  var MAX_DOCUMENTS2 = 500;
93484
93502
  var CONNECT_TIMEOUT_MS5 = 1e4;
93485
- var QUERY_TIMEOUT_MS7 = 6e4;
93503
+ var QUERY_TIMEOUT_MS6 = 6e4;
93486
93504
  var inputSchema45 = z47.object({
93487
93505
  toolUseIntent: z47.string().optional().describe(
93488
93506
  "Brief description of what you intend to accomplish with this tool call"
@@ -93533,7 +93551,7 @@ Common stages: $match (filter), $group (aggregate), $sort (order), $project (res
93533
93551
  const client = new MongoClient(connectionUrl, {
93534
93552
  connectTimeoutMS: CONNECT_TIMEOUT_MS5,
93535
93553
  serverSelectionTimeoutMS: CONNECT_TIMEOUT_MS5,
93536
- socketTimeoutMS: QUERY_TIMEOUT_MS7
93554
+ socketTimeoutMS: QUERY_TIMEOUT_MS6
93537
93555
  });
93538
93556
  try {
93539
93557
  await client.connect();
@@ -93751,9 +93769,9 @@ var parameters42 = {
93751
93769
 
93752
93770
  // ../connectors/src/connectors/notion/tools/request.ts
93753
93771
  import { z as z49 } from "zod";
93754
- var BASE_URL19 = "https://api.notion.com/v1";
93772
+ var BASE_URL20 = "https://api.notion.com/v1";
93755
93773
  var NOTION_VERSION = "2022-06-28";
93756
- var REQUEST_TIMEOUT_MS31 = 6e4;
93774
+ var REQUEST_TIMEOUT_MS32 = 6e4;
93757
93775
  var inputSchema47 = z49.object({
93758
93776
  toolUseIntent: z49.string().optional().describe(
93759
93777
  "Brief description of what you intend to accomplish with this tool call"
@@ -93778,7 +93796,7 @@ var outputSchema47 = z49.discriminatedUnion("success", [
93778
93796
  error: z49.string()
93779
93797
  })
93780
93798
  ]);
93781
- var requestTool24 = new ConnectorTool({
93799
+ var requestTool25 = new ConnectorTool({
93782
93800
  name: "request",
93783
93801
  description: `Send authenticated requests to the Notion API.
93784
93802
  Authentication (Bearer token) and Notion-Version header are configured automatically.
@@ -93799,9 +93817,9 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
93799
93817
  );
93800
93818
  try {
93801
93819
  const apiKey = parameters42.apiKey.getValue(connection);
93802
- const url = `${BASE_URL19}${path5.startsWith("/") ? "" : "/"}${path5}`;
93820
+ const url = `${BASE_URL20}${path5.startsWith("/") ? "" : "/"}${path5}`;
93803
93821
  const controller = new AbortController();
93804
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS31);
93822
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS32);
93805
93823
  try {
93806
93824
  const response = await fetch(url, {
93807
93825
  method,
@@ -93830,7 +93848,7 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
93830
93848
  });
93831
93849
 
93832
93850
  // ../connectors/src/connectors/notion/index.ts
93833
- var tools42 = { request: requestTool24 };
93851
+ var tools42 = { request: requestTool25 };
93834
93852
  var notionConnector = new ConnectorPlugin({
93835
93853
  slug: "notion",
93836
93854
  authType: null,
@@ -93987,9 +94005,9 @@ export default async function handler(c: Context) {
93987
94005
 
93988
94006
  // ../connectors/src/connectors/notion-oauth/tools/request.ts
93989
94007
  import { z as z50 } from "zod";
93990
- var BASE_URL20 = "https://api.notion.com/v1";
94008
+ var BASE_URL21 = "https://api.notion.com/v1";
93991
94009
  var NOTION_VERSION2 = "2022-06-28";
93992
- var REQUEST_TIMEOUT_MS32 = 6e4;
94010
+ var REQUEST_TIMEOUT_MS33 = 6e4;
93993
94011
  var cachedToken15 = null;
93994
94012
  async function getProxyToken15(config) {
93995
94013
  if (cachedToken15 && cachedToken15.expiresAt > Date.now() + 6e4) {
@@ -94043,7 +94061,7 @@ var outputSchema48 = z50.discriminatedUnion("success", [
94043
94061
  error: z50.string()
94044
94062
  })
94045
94063
  ]);
94046
- var requestTool25 = new ConnectorTool({
94064
+ var requestTool26 = new ConnectorTool({
94047
94065
  name: "request",
94048
94066
  description: `Send authenticated requests to the Notion API.
94049
94067
  Authentication is handled automatically via OAuth proxy. Notion-Version header is set automatically.
@@ -94063,11 +94081,11 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
94063
94081
  `[connector-request] notion-oauth/${connection.name}: ${method} ${path5}`
94064
94082
  );
94065
94083
  try {
94066
- const url = `${BASE_URL20}${path5.startsWith("/") ? "" : "/"}${path5}`;
94084
+ const url = `${BASE_URL21}${path5.startsWith("/") ? "" : "/"}${path5}`;
94067
94085
  const token = await getProxyToken15(config.oauthProxy);
94068
94086
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
94069
94087
  const controller = new AbortController();
94070
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS32);
94088
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS33);
94071
94089
  try {
94072
94090
  const response = await fetch(proxyUrl, {
94073
94091
  method: "POST",
@@ -94100,12 +94118,12 @@ Pagination uses cursor-based start_cursor and page_size (max 100).`,
94100
94118
  });
94101
94119
 
94102
94120
  // ../connectors/src/connectors/notion-oauth/setup.ts
94103
- var requestToolName7 = `notion-oauth_${requestTool25.name}`;
94121
+ var requestToolName8 = `notion-oauth_${requestTool26.name}`;
94104
94122
  var notionOauthOnboarding = new ConnectorOnboarding({
94105
94123
  connectionSetupInstructions: {
94106
94124
  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
94107
94125
 
94108
- 1. \`${requestToolName7}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30DC\u30C3\u30C8\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
94126
+ 1. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30DC\u30C3\u30C8\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
94109
94127
  - \`method\`: \`"GET"\`
94110
94128
  - \`path\`: \`"/users/me"\`
94111
94129
  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
@@ -94118,7 +94136,7 @@ var notionOauthOnboarding = new ConnectorOnboarding({
94118
94136
  - \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`,
94119
94137
  en: `Follow these steps to set up the Notion connection.
94120
94138
 
94121
- 1. Call \`${requestToolName7}\` to fetch bot user info:
94139
+ 1. Call \`${requestToolName8}\` to fetch bot user info:
94122
94140
  - \`method\`: \`"GET"\`
94123
94141
  - \`path\`: \`"/users/me"\`
94124
94142
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -94146,7 +94164,7 @@ var notionOauthOnboarding = new ConnectorOnboarding({
94146
94164
  var parameters43 = {};
94147
94165
 
94148
94166
  // ../connectors/src/connectors/notion-oauth/index.ts
94149
- var tools43 = { request: requestTool25 };
94167
+ var tools43 = { request: requestTool26 };
94150
94168
  var notionOauthConnector = new ConnectorPlugin({
94151
94169
  slug: "notion",
94152
94170
  authType: AUTH_TYPES.OAUTH,
@@ -94317,8 +94335,8 @@ var parameters44 = {
94317
94335
  };
94318
94336
 
94319
94337
  // ../connectors/src/connectors/meta-ads/tools/list-ad-accounts.ts
94320
- var BASE_URL21 = "https://graph.facebook.com/v21.0/";
94321
- var REQUEST_TIMEOUT_MS33 = 6e4;
94338
+ var BASE_URL22 = "https://graph.facebook.com/v21.0/";
94339
+ var REQUEST_TIMEOUT_MS34 = 6e4;
94322
94340
  var inputSchema49 = z51.object({
94323
94341
  toolUseIntent: z51.string().optional().describe(
94324
94342
  "Brief description of what you intend to accomplish with this tool call"
@@ -94358,9 +94376,9 @@ var listAdAccountsTool = new ConnectorTool({
94358
94376
  );
94359
94377
  try {
94360
94378
  const accessToken = parameters44.accessToken.getValue(connection);
94361
- const url = `${BASE_URL21}me/adaccounts?fields=account_id,name,account_status&access_token=${encodeURIComponent(accessToken)}`;
94379
+ const url = `${BASE_URL22}me/adaccounts?fields=account_id,name,account_status&access_token=${encodeURIComponent(accessToken)}`;
94362
94380
  const controller = new AbortController();
94363
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS33);
94381
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS34);
94364
94382
  try {
94365
94383
  const response = await fetch(url, {
94366
94384
  method: "GET",
@@ -94435,8 +94453,8 @@ var metaAdsOnboarding = new ConnectorOnboarding({
94435
94453
 
94436
94454
  // ../connectors/src/connectors/meta-ads/tools/request.ts
94437
94455
  import { z as z52 } from "zod";
94438
- var BASE_URL22 = "https://graph.facebook.com/v21.0/";
94439
- var REQUEST_TIMEOUT_MS34 = 6e4;
94456
+ var BASE_URL23 = "https://graph.facebook.com/v21.0/";
94457
+ var REQUEST_TIMEOUT_MS35 = 6e4;
94440
94458
  var inputSchema50 = z52.object({
94441
94459
  toolUseIntent: z52.string().optional().describe(
94442
94460
  "Brief description of what you intend to accomplish with this tool call"
@@ -94460,7 +94478,7 @@ var outputSchema50 = z52.discriminatedUnion("success", [
94460
94478
  error: z52.string()
94461
94479
  })
94462
94480
  ]);
94463
- var requestTool26 = new ConnectorTool({
94481
+ var requestTool27 = new ConnectorTool({
94464
94482
  name: "request",
94465
94483
  description: `Send authenticated requests to the Meta Marketing API v21.0.
94466
94484
  Authentication is handled via the configured access token.
@@ -94482,13 +94500,13 @@ Authentication is handled via the configured access token.
94482
94500
  const accessToken = parameters44.accessToken.getValue(connection);
94483
94501
  const adAccountId = parameters44.adAccountId.tryGetValue(connection) ?? "";
94484
94502
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
94485
- let url = `${BASE_URL22}${resolvedPath}`;
94503
+ let url = `${BASE_URL23}${resolvedPath}`;
94486
94504
  const params = new URLSearchParams(queryParams ?? {});
94487
94505
  params.set("access_token", accessToken);
94488
94506
  const separator = url.includes("?") ? "&" : "?";
94489
94507
  url = `${url}${separator}${params.toString()}`;
94490
94508
  const controller = new AbortController();
94491
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS34);
94509
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS35);
94492
94510
  try {
94493
94511
  const response = await fetch(url, {
94494
94512
  method,
@@ -94518,7 +94536,7 @@ Authentication is handled via the configured access token.
94518
94536
 
94519
94537
  // ../connectors/src/connectors/meta-ads/index.ts
94520
94538
  var tools44 = {
94521
- request: requestTool26,
94539
+ request: requestTool27,
94522
94540
  listAdAccounts: listAdAccountsTool
94523
94541
  };
94524
94542
  var metaAdsConnector = new ConnectorPlugin({
@@ -94687,8 +94705,8 @@ const accounts = await meta.listAdAccounts();
94687
94705
 
94688
94706
  // ../connectors/src/connectors/meta-ads-oauth/tools/list-ad-accounts.ts
94689
94707
  import { z as z53 } from "zod";
94690
- var BASE_URL23 = "https://graph.facebook.com/v21.0/";
94691
- var REQUEST_TIMEOUT_MS35 = 6e4;
94708
+ var BASE_URL24 = "https://graph.facebook.com/v21.0/";
94709
+ var REQUEST_TIMEOUT_MS36 = 6e4;
94692
94710
  var cachedToken16 = null;
94693
94711
  async function getProxyToken16(config) {
94694
94712
  if (cachedToken16 && cachedToken16.expiresAt > Date.now() + 6e4) {
@@ -94761,7 +94779,7 @@ var listAdAccountsTool2 = new ConnectorTool({
94761
94779
  const token = await getProxyToken16(config.oauthProxy);
94762
94780
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
94763
94781
  const controller = new AbortController();
94764
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS35);
94782
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS36);
94765
94783
  try {
94766
94784
  const response = await fetch(proxyUrl, {
94767
94785
  method: "POST",
@@ -94770,7 +94788,7 @@ var listAdAccountsTool2 = new ConnectorTool({
94770
94788
  Authorization: `Bearer ${token}`
94771
94789
  },
94772
94790
  body: JSON.stringify({
94773
- url: `${BASE_URL23}me/adaccounts?fields=account_id,name,account_status`,
94791
+ url: `${BASE_URL24}me/adaccounts?fields=account_id,name,account_status`,
94774
94792
  method: "GET"
94775
94793
  }),
94776
94794
  signal: controller.signal
@@ -94857,8 +94875,8 @@ var parameters45 = {
94857
94875
 
94858
94876
  // ../connectors/src/connectors/meta-ads-oauth/tools/request.ts
94859
94877
  import { z as z54 } from "zod";
94860
- var BASE_URL24 = "https://graph.facebook.com/v21.0/";
94861
- var REQUEST_TIMEOUT_MS36 = 6e4;
94878
+ var BASE_URL25 = "https://graph.facebook.com/v21.0/";
94879
+ var REQUEST_TIMEOUT_MS37 = 6e4;
94862
94880
  var cachedToken17 = null;
94863
94881
  async function getProxyToken17(config) {
94864
94882
  if (cachedToken17 && cachedToken17.expiresAt > Date.now() + 6e4) {
@@ -94913,7 +94931,7 @@ var outputSchema52 = z54.discriminatedUnion("success", [
94913
94931
  error: z54.string()
94914
94932
  })
94915
94933
  ]);
94916
- var requestTool27 = new ConnectorTool({
94934
+ var requestTool28 = new ConnectorTool({
94917
94935
  name: "request",
94918
94936
  description: `Send authenticated requests to the Meta Marketing API v21.0.
94919
94937
  Authentication is handled automatically via OAuth proxy.
@@ -94934,7 +94952,7 @@ Authentication is handled automatically via OAuth proxy.
94934
94952
  try {
94935
94953
  const adAccountId = parameters45.adAccountId.tryGetValue(connection) ?? "";
94936
94954
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
94937
- let url = `${BASE_URL24}${resolvedPath}`;
94955
+ let url = `${BASE_URL25}${resolvedPath}`;
94938
94956
  if (queryParams && Object.keys(queryParams).length > 0) {
94939
94957
  const params = new URLSearchParams(queryParams);
94940
94958
  const separator = url.includes("?") ? "&" : "?";
@@ -94943,7 +94961,7 @@ Authentication is handled automatically via OAuth proxy.
94943
94961
  const token = await getProxyToken17(config.oauthProxy);
94944
94962
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
94945
94963
  const controller = new AbortController();
94946
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS36);
94964
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS37);
94947
94965
  try {
94948
94966
  const response = await fetch(proxyUrl, {
94949
94967
  method: "POST",
@@ -94978,7 +94996,7 @@ Authentication is handled automatically via OAuth proxy.
94978
94996
 
94979
94997
  // ../connectors/src/connectors/meta-ads-oauth/index.ts
94980
94998
  var tools45 = {
94981
- request: requestTool27,
94999
+ request: requestTool28,
94982
95000
  listAdAccounts: listAdAccountsTool2
94983
95001
  };
94984
95002
  var metaAdsOauthConnector = new ConnectorPlugin({
@@ -95211,8 +95229,8 @@ var parameters46 = {
95211
95229
 
95212
95230
  // ../connectors/src/connectors/tiktok-ads/tools/request.ts
95213
95231
  import { z as z55 } from "zod";
95214
- var BASE_URL25 = "https://business-api.tiktok.com/open_api/v1.3/";
95215
- var REQUEST_TIMEOUT_MS37 = 6e4;
95232
+ var BASE_URL26 = "https://business-api.tiktok.com/open_api/v1.3/";
95233
+ var REQUEST_TIMEOUT_MS38 = 6e4;
95216
95234
  var inputSchema53 = z55.object({
95217
95235
  toolUseIntent: z55.string().optional().describe(
95218
95236
  "Brief description of what you intend to accomplish with this tool call"
@@ -95236,7 +95254,7 @@ var outputSchema53 = z55.discriminatedUnion("success", [
95236
95254
  error: z55.string()
95237
95255
  })
95238
95256
  ]);
95239
- var requestTool28 = new ConnectorTool({
95257
+ var requestTool29 = new ConnectorTool({
95240
95258
  name: "request",
95241
95259
  description: `Send authenticated requests to the TikTok Marketing API v1.3.
95242
95260
  Authentication is handled via the configured access token (sent as Access-Token header).
@@ -95257,7 +95275,7 @@ The advertiser_id is automatically injected if configured.`,
95257
95275
  try {
95258
95276
  const accessToken = parameters46.accessToken.getValue(connection);
95259
95277
  const advertiserId = parameters46.advertiserId.tryGetValue(connection) ?? "";
95260
- let url = `${BASE_URL25}${path5}`;
95278
+ let url = `${BASE_URL26}${path5}`;
95261
95279
  if (method === "GET") {
95262
95280
  const params = new URLSearchParams(queryParams ?? {});
95263
95281
  if (advertiserId && !params.has("advertiser_id")) {
@@ -95273,7 +95291,7 @@ The advertiser_id is automatically injected if configured.`,
95273
95291
  ...body
95274
95292
  } : void 0;
95275
95293
  const controller = new AbortController();
95276
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS37);
95294
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS38);
95277
95295
  try {
95278
95296
  const response = await fetch(url, {
95279
95297
  method,
@@ -95309,9 +95327,9 @@ The advertiser_id is automatically injected if configured.`,
95309
95327
  });
95310
95328
 
95311
95329
  // ../connectors/src/connectors/tiktok-ads/index.ts
95312
- var BASE_URL26 = "https://business-api.tiktok.com/open_api/v1.3/";
95330
+ var BASE_URL27 = "https://business-api.tiktok.com/open_api/v1.3/";
95313
95331
  var tools46 = {
95314
- request: requestTool28
95332
+ request: requestTool29
95315
95333
  };
95316
95334
  var tiktokAdsConnector = new ConnectorPlugin({
95317
95335
  slug: "tiktok-ads",
@@ -95484,7 +95502,7 @@ const campaigns = await tiktok.listCampaigns();
95484
95502
  return { success: true };
95485
95503
  }
95486
95504
  try {
95487
- const url = `${BASE_URL26}advertiser/info/?advertiser_id=${encodeURIComponent(advertiserId)}`;
95505
+ const url = `${BASE_URL27}advertiser/info/?advertiser_id=${encodeURIComponent(advertiserId)}`;
95488
95506
  const res = await fetch(url, {
95489
95507
  method: "GET",
95490
95508
  headers: {
@@ -95516,8 +95534,8 @@ const campaigns = await tiktok.listCampaigns();
95516
95534
 
95517
95535
  // ../connectors/src/connectors/tiktok-ads-oauth/tools/list-advertisers.ts
95518
95536
  import { z as z56 } from "zod";
95519
- var BASE_URL27 = "https://business-api.tiktok.com/open_api/v1.3/";
95520
- var REQUEST_TIMEOUT_MS38 = 6e4;
95537
+ var BASE_URL28 = "https://business-api.tiktok.com/open_api/v1.3/";
95538
+ var REQUEST_TIMEOUT_MS39 = 6e4;
95521
95539
  var cachedToken18 = null;
95522
95540
  async function getProxyToken18(config) {
95523
95541
  if (cachedToken18 && cachedToken18.expiresAt > Date.now() + 6e4) {
@@ -95590,7 +95608,7 @@ var listAdvertisersTool = new ConnectorTool({
95590
95608
  const token = await getProxyToken18(config.oauthProxy);
95591
95609
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
95592
95610
  const controller = new AbortController();
95593
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS38);
95611
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS39);
95594
95612
  try {
95595
95613
  const advertiserListResponse = await fetch(proxyUrl, {
95596
95614
  method: "POST",
@@ -95599,7 +95617,7 @@ var listAdvertisersTool = new ConnectorTool({
95599
95617
  Authorization: `Bearer ${token}`
95600
95618
  },
95601
95619
  body: JSON.stringify({
95602
- url: `${BASE_URL27}oauth2/advertiser/get/`,
95620
+ url: `${BASE_URL28}oauth2/advertiser/get/`,
95603
95621
  method: "GET"
95604
95622
  }),
95605
95623
  signal: controller.signal
@@ -95696,8 +95714,8 @@ var parameters47 = {
95696
95714
 
95697
95715
  // ../connectors/src/connectors/tiktok-ads-oauth/tools/request.ts
95698
95716
  import { z as z57 } from "zod";
95699
- var BASE_URL28 = "https://business-api.tiktok.com/open_api/v1.3/";
95700
- var REQUEST_TIMEOUT_MS39 = 6e4;
95717
+ var BASE_URL29 = "https://business-api.tiktok.com/open_api/v1.3/";
95718
+ var REQUEST_TIMEOUT_MS40 = 6e4;
95701
95719
  var cachedToken19 = null;
95702
95720
  async function getProxyToken19(config) {
95703
95721
  if (cachedToken19 && cachedToken19.expiresAt > Date.now() + 6e4) {
@@ -95752,7 +95770,7 @@ var outputSchema55 = z57.discriminatedUnion("success", [
95752
95770
  error: z57.string()
95753
95771
  })
95754
95772
  ]);
95755
- var requestTool29 = new ConnectorTool({
95773
+ var requestTool30 = new ConnectorTool({
95756
95774
  name: "request",
95757
95775
  description: `Send authenticated requests to the TikTok Marketing API v1.3.
95758
95776
  Authentication is handled automatically via OAuth proxy.
@@ -95772,7 +95790,7 @@ The advertiser_id is automatically injected if configured.`,
95772
95790
  );
95773
95791
  try {
95774
95792
  const advertiserId = parameters47.advertiserId.tryGetValue(connection) ?? "";
95775
- let url = `${BASE_URL28}${path5}`;
95793
+ let url = `${BASE_URL29}${path5}`;
95776
95794
  if (method === "GET") {
95777
95795
  const params = new URLSearchParams(queryParams ?? {});
95778
95796
  if (advertiserId && !params.has("advertiser_id")) {
@@ -95790,7 +95808,7 @@ The advertiser_id is automatically injected if configured.`,
95790
95808
  const token = await getProxyToken19(config.oauthProxy);
95791
95809
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
95792
95810
  const controller = new AbortController();
95793
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS39);
95811
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS40);
95794
95812
  try {
95795
95813
  const response = await fetch(proxyUrl, {
95796
95814
  method: "POST",
@@ -95831,7 +95849,7 @@ The advertiser_id is automatically injected if configured.`,
95831
95849
 
95832
95850
  // ../connectors/src/connectors/tiktok-ads-oauth/index.ts
95833
95851
  var tools47 = {
95834
- request: requestTool29,
95852
+ request: requestTool30,
95835
95853
  listAdvertisers: listAdvertisersTool
95836
95854
  };
95837
95855
  var tiktokAdsOauthConnector = new ConnectorPlugin({
@@ -96043,7 +96061,7 @@ var parameters48 = {
96043
96061
 
96044
96062
  // ../connectors/src/connectors/mailchimp/tools/request.ts
96045
96063
  import { z as z58 } from "zod";
96046
- var REQUEST_TIMEOUT_MS40 = 6e4;
96064
+ var REQUEST_TIMEOUT_MS41 = 6e4;
96047
96065
  function extractDatacenter(apiKey) {
96048
96066
  const parts = apiKey.split("-");
96049
96067
  const dc = parts[parts.length - 1];
@@ -96079,7 +96097,7 @@ var outputSchema56 = z58.discriminatedUnion("success", [
96079
96097
  error: z58.string()
96080
96098
  })
96081
96099
  ]);
96082
- var requestTool30 = new ConnectorTool({
96100
+ var requestTool31 = new ConnectorTool({
96083
96101
  name: "request",
96084
96102
  description: `Send authenticated requests to the Mailchimp Marketing API v3.
96085
96103
  Authentication is handled automatically using the API Key (Basic Auth).
@@ -96108,7 +96126,7 @@ The datacenter is automatically extracted from the API key suffix.`,
96108
96126
  url += `?${searchParams.toString()}`;
96109
96127
  }
96110
96128
  const controller = new AbortController();
96111
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS40);
96129
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS41);
96112
96130
  try {
96113
96131
  const response = await fetch(url, {
96114
96132
  method,
@@ -96136,7 +96154,7 @@ The datacenter is automatically extracted from the API key suffix.`,
96136
96154
  });
96137
96155
 
96138
96156
  // ../connectors/src/connectors/mailchimp/index.ts
96139
- var tools48 = { request: requestTool30 };
96157
+ var tools48 = { request: requestTool31 };
96140
96158
  var mailchimpConnector = new ConnectorPlugin({
96141
96159
  slug: "mailchimp",
96142
96160
  authType: null,
@@ -96374,7 +96392,7 @@ var parameters49 = {
96374
96392
 
96375
96393
  // ../connectors/src/connectors/mailchimp-oauth/tools/request.ts
96376
96394
  import { z as z59 } from "zod";
96377
- var REQUEST_TIMEOUT_MS41 = 6e4;
96395
+ var REQUEST_TIMEOUT_MS42 = 6e4;
96378
96396
  var cachedToken20 = null;
96379
96397
  async function getProxyToken20(config) {
96380
96398
  if (cachedToken20 && cachedToken20.expiresAt > Date.now() + 6e4) {
@@ -96429,7 +96447,7 @@ var outputSchema57 = z59.discriminatedUnion("success", [
96429
96447
  error: z59.string()
96430
96448
  })
96431
96449
  ]);
96432
- var requestTool31 = new ConnectorTool({
96450
+ var requestTool32 = new ConnectorTool({
96433
96451
  name: "request",
96434
96452
  description: `Send authenticated requests to the Mailchimp Marketing API v3.
96435
96453
  Authentication is handled automatically via OAuth proxy.`,
@@ -96457,7 +96475,7 @@ Authentication is handled automatically via OAuth proxy.`,
96457
96475
  const token = await getProxyToken20(config.oauthProxy);
96458
96476
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
96459
96477
  const controller = new AbortController();
96460
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS41);
96478
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS42);
96461
96479
  try {
96462
96480
  const response = await fetch(proxyUrl, {
96463
96481
  method: "POST",
@@ -96489,7 +96507,7 @@ Authentication is handled automatically via OAuth proxy.`,
96489
96507
  });
96490
96508
 
96491
96509
  // ../connectors/src/connectors/mailchimp-oauth/index.ts
96492
- var tools49 = { request: requestTool31 };
96510
+ var tools49 = { request: requestTool32 };
96493
96511
  var mailchimpOauthConnector = new ConnectorPlugin({
96494
96512
  slug: "mailchimp",
96495
96513
  authType: AUTH_TYPES.OAUTH,
@@ -96689,7 +96707,7 @@ var parameters50 = {
96689
96707
 
96690
96708
  // ../connectors/src/connectors/customerio/tools/request.ts
96691
96709
  import { z as z60 } from "zod";
96692
- var REQUEST_TIMEOUT_MS42 = 6e4;
96710
+ var REQUEST_TIMEOUT_MS43 = 6e4;
96693
96711
  function getBaseUrl(region) {
96694
96712
  return region === "eu" ? "https://api-eu.customer.io" : "https://api.customer.io";
96695
96713
  }
@@ -96716,7 +96734,7 @@ var outputSchema58 = z60.discriminatedUnion("success", [
96716
96734
  error: z60.string()
96717
96735
  })
96718
96736
  ]);
96719
- var requestTool32 = new ConnectorTool({
96737
+ var requestTool33 = new ConnectorTool({
96720
96738
  name: "request",
96721
96739
  description: `Send authenticated requests to the Customer.io App API.
96722
96740
  Authentication is handled automatically using the App API Key (Bearer token).
@@ -96745,7 +96763,7 @@ The App API is the read and management path for Customer.io data.`,
96745
96763
  url += `?${searchParams.toString()}`;
96746
96764
  }
96747
96765
  const controller = new AbortController();
96748
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS42);
96766
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS43);
96749
96767
  try {
96750
96768
  const response = await fetch(url, {
96751
96769
  method,
@@ -96782,7 +96800,7 @@ The App API is the read and management path for Customer.io data.`,
96782
96800
  });
96783
96801
 
96784
96802
  // ../connectors/src/connectors/customerio/index.ts
96785
- var tools50 = { request: requestTool32 };
96803
+ var tools50 = { request: requestTool33 };
96786
96804
  var customerioConnector = new ConnectorPlugin({
96787
96805
  slug: "customerio",
96788
96806
  authType: null,
@@ -96967,8 +96985,8 @@ export default async function handler(c: Context) {
96967
96985
 
96968
96986
  // ../connectors/src/connectors/gmail-oauth/tools/request.ts
96969
96987
  import { z as z61 } from "zod";
96970
- var BASE_URL29 = "https://gmail.googleapis.com/gmail/v1/users";
96971
- var REQUEST_TIMEOUT_MS43 = 6e4;
96988
+ var BASE_URL30 = "https://gmail.googleapis.com/gmail/v1/users";
96989
+ var REQUEST_TIMEOUT_MS44 = 6e4;
96972
96990
  var cachedToken21 = null;
96973
96991
  async function getProxyToken21(config) {
96974
96992
  if (cachedToken21 && cachedToken21.expiresAt > Date.now() + 6e4) {
@@ -97024,7 +97042,7 @@ var outputSchema59 = z61.discriminatedUnion("success", [
97024
97042
  error: z61.string()
97025
97043
  })
97026
97044
  ]);
97027
- var requestTool33 = new ConnectorTool({
97045
+ var requestTool34 = new ConnectorTool({
97028
97046
  name: "request",
97029
97047
  description: `Send authenticated GET requests to the Gmail API v1.
97030
97048
  Authentication is handled automatically via OAuth proxy.
@@ -97043,7 +97061,7 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
97043
97061
  `[connector-request] gmail-oauth/${connection.name}: ${method} ${path5}`
97044
97062
  );
97045
97063
  try {
97046
- let url = `${BASE_URL29}${path5.startsWith("/") ? "" : "/"}${path5}`;
97064
+ let url = `${BASE_URL30}${path5.startsWith("/") ? "" : "/"}${path5}`;
97047
97065
  if (queryParams) {
97048
97066
  const searchParams = new URLSearchParams(queryParams);
97049
97067
  url += `?${searchParams.toString()}`;
@@ -97051,7 +97069,7 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
97051
97069
  const token = await getProxyToken21(config.oauthProxy);
97052
97070
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
97053
97071
  const controller = new AbortController();
97054
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS43);
97072
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS44);
97055
97073
  try {
97056
97074
  const response = await fetch(proxyUrl, {
97057
97075
  method: "POST",
@@ -97082,16 +97100,16 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
97082
97100
  });
97083
97101
 
97084
97102
  // ../connectors/src/connectors/gmail-oauth/setup.ts
97085
- var requestToolName8 = `gmail-oauth_${requestTool33.name}`;
97103
+ var requestToolName9 = `gmail-oauth_${requestTool34.name}`;
97086
97104
  var gmailOnboarding = new ConnectorOnboarding({
97087
97105
  connectionSetupInstructions: {
97088
97106
  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
97089
97107
 
97090
- 1. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E6\u30FC\u30B6\u30FC\u306E\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u3092\u53D6\u5F97\u3059\u308B:
97108
+ 1. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E6\u30FC\u30B6\u30FC\u306E\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u3092\u53D6\u5F97\u3059\u308B:
97091
97109
  - \`method\`: \`"GET"\`
97092
97110
  - \`path\`: \`"/me/profile"\`
97093
97111
  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
97094
- 3. \`${requestToolName8}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E9\u30D9\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
97112
+ 3. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u30E9\u30D9\u30EB\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
97095
97113
  - \`method\`: \`"GET"\`
97096
97114
  - \`path\`: \`"/me/labels"\`
97097
97115
  4. \`updateConnectionContext\` \u3092\u547C\u3073\u51FA\u3059:
@@ -97104,11 +97122,11 @@ var gmailOnboarding = new ConnectorOnboarding({
97104
97122
  - \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`,
97105
97123
  en: `Follow these steps to set up the Gmail connection.
97106
97124
 
97107
- 1. Call \`${requestToolName8}\` to get the user's profile:
97125
+ 1. Call \`${requestToolName9}\` to get the user's profile:
97108
97126
  - \`method\`: \`"GET"\`
97109
97127
  - \`path\`: \`"/me/profile"\`
97110
97128
  2. If an error is returned, ask the user to verify that OAuth authentication completed correctly
97111
- 3. Call \`${requestToolName8}\` to get the label list:
97129
+ 3. Call \`${requestToolName9}\` to get the label list:
97112
97130
  - \`method\`: \`"GET"\`
97113
97131
  - \`path\`: \`"/me/labels"\`
97114
97132
  4. Call \`updateConnectionContext\`:
@@ -97134,7 +97152,7 @@ var gmailOnboarding = new ConnectorOnboarding({
97134
97152
  var parameters51 = {};
97135
97153
 
97136
97154
  // ../connectors/src/connectors/gmail-oauth/index.ts
97137
- var tools51 = { request: requestTool33 };
97155
+ var tools51 = { request: requestTool34 };
97138
97156
  var gmailOauthConnector = new ConnectorPlugin({
97139
97157
  slug: "gmail",
97140
97158
  authType: AUTH_TYPES.OAUTH,
@@ -97349,7 +97367,7 @@ var parameters52 = {
97349
97367
  };
97350
97368
 
97351
97369
  // ../connectors/src/connectors/linkedin-ads/tools/list-ad-accounts.ts
97352
- var REQUEST_TIMEOUT_MS44 = 6e4;
97370
+ var REQUEST_TIMEOUT_MS45 = 6e4;
97353
97371
  var LINKEDIN_VERSION = "202603";
97354
97372
  var inputSchema60 = z62.object({
97355
97373
  toolUseIntent: z62.string().optional().describe(
@@ -97392,7 +97410,7 @@ var listAdAccountsTool3 = new ConnectorTool({
97392
97410
  const accessToken = parameters52.accessToken.getValue(connection);
97393
97411
  const url = "https://api.linkedin.com/rest/adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100";
97394
97412
  const controller = new AbortController();
97395
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS44);
97413
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS45);
97396
97414
  try {
97397
97415
  const response = await fetch(url, {
97398
97416
  method: "GET",
@@ -97472,9 +97490,9 @@ var linkedinAdsOnboarding = new ConnectorOnboarding({
97472
97490
 
97473
97491
  // ../connectors/src/connectors/linkedin-ads/tools/request.ts
97474
97492
  import { z as z63 } from "zod";
97475
- var BASE_URL30 = "https://api.linkedin.com/rest/";
97493
+ var BASE_URL31 = "https://api.linkedin.com/rest/";
97476
97494
  var LINKEDIN_VERSION2 = "202603";
97477
- var REQUEST_TIMEOUT_MS45 = 6e4;
97495
+ var REQUEST_TIMEOUT_MS46 = 6e4;
97478
97496
  var inputSchema61 = z63.object({
97479
97497
  toolUseIntent: z63.string().optional().describe(
97480
97498
  "Brief description of what you intend to accomplish with this tool call"
@@ -97498,7 +97516,7 @@ var outputSchema61 = z63.discriminatedUnion("success", [
97498
97516
  error: z63.string()
97499
97517
  })
97500
97518
  ]);
97501
- var requestTool34 = new ConnectorTool({
97519
+ var requestTool35 = new ConnectorTool({
97502
97520
  name: "request",
97503
97521
  description: `Send authenticated requests to the LinkedIn Marketing API (REST).
97504
97522
  Authentication is handled via the configured access token.
@@ -97521,14 +97539,14 @@ Required headers (Authorization, LinkedIn-Version, X-Restli-Protocol-Version) ar
97521
97539
  const accessToken = parameters52.accessToken.getValue(connection);
97522
97540
  const adAccountId = parameters52.adAccountId.tryGetValue(connection) ?? "";
97523
97541
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
97524
- let url = `${BASE_URL30}${resolvedPath}`;
97542
+ let url = `${BASE_URL31}${resolvedPath}`;
97525
97543
  if (queryParams && Object.keys(queryParams).length > 0) {
97526
97544
  const params = new URLSearchParams(queryParams);
97527
97545
  const separator = url.includes("?") ? "&" : "?";
97528
97546
  url = `${url}${separator}${params.toString()}`;
97529
97547
  }
97530
97548
  const controller = new AbortController();
97531
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS45);
97549
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS46);
97532
97550
  try {
97533
97551
  const headers = {
97534
97552
  Authorization: `Bearer ${accessToken}`,
@@ -97567,7 +97585,7 @@ Required headers (Authorization, LinkedIn-Version, X-Restli-Protocol-Version) ar
97567
97585
 
97568
97586
  // ../connectors/src/connectors/linkedin-ads/index.ts
97569
97587
  var tools52 = {
97570
- request: requestTool34,
97588
+ request: requestTool35,
97571
97589
  listAdAccounts: listAdAccountsTool3
97572
97590
  };
97573
97591
  var linkedinAdsConnector = new ConnectorPlugin({
@@ -97829,9 +97847,9 @@ const data = await res.json();
97829
97847
 
97830
97848
  // ../connectors/src/connectors/linkedin-ads-oauth/tools/list-ad-accounts.ts
97831
97849
  import { z as z64 } from "zod";
97832
- var BASE_URL31 = "https://api.linkedin.com/rest/";
97850
+ var BASE_URL32 = "https://api.linkedin.com/rest/";
97833
97851
  var LINKEDIN_VERSION3 = "202603";
97834
- var REQUEST_TIMEOUT_MS46 = 6e4;
97852
+ var REQUEST_TIMEOUT_MS47 = 6e4;
97835
97853
  var cachedToken22 = null;
97836
97854
  async function getProxyToken22(config) {
97837
97855
  if (cachedToken22 && cachedToken22.expiresAt > Date.now() + 6e4) {
@@ -97904,7 +97922,7 @@ var listAdAccountsTool4 = new ConnectorTool({
97904
97922
  const token = await getProxyToken22(config.oauthProxy);
97905
97923
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
97906
97924
  const controller = new AbortController();
97907
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS46);
97925
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS47);
97908
97926
  try {
97909
97927
  const response = await fetch(proxyUrl, {
97910
97928
  method: "POST",
@@ -97913,7 +97931,7 @@ var listAdAccountsTool4 = new ConnectorTool({
97913
97931
  Authorization: `Bearer ${token}`
97914
97932
  },
97915
97933
  body: JSON.stringify({
97916
- url: `${BASE_URL31}adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100`,
97934
+ url: `${BASE_URL32}adAccounts?q=search&search=(status:(values:List(ACTIVE)))&pageSize=100`,
97917
97935
  method: "GET",
97918
97936
  headers: {
97919
97937
  "LinkedIn-Version": LINKEDIN_VERSION3,
@@ -98004,9 +98022,9 @@ var parameters53 = {
98004
98022
 
98005
98023
  // ../connectors/src/connectors/linkedin-ads-oauth/tools/request.ts
98006
98024
  import { z as z65 } from "zod";
98007
- var BASE_URL32 = "https://api.linkedin.com/rest/";
98025
+ var BASE_URL33 = "https://api.linkedin.com/rest/";
98008
98026
  var LINKEDIN_VERSION4 = "202603";
98009
- var REQUEST_TIMEOUT_MS47 = 6e4;
98027
+ var REQUEST_TIMEOUT_MS48 = 6e4;
98010
98028
  var cachedToken23 = null;
98011
98029
  async function getProxyToken23(config) {
98012
98030
  if (cachedToken23 && cachedToken23.expiresAt > Date.now() + 6e4) {
@@ -98061,7 +98079,7 @@ var outputSchema63 = z65.discriminatedUnion("success", [
98061
98079
  error: z65.string()
98062
98080
  })
98063
98081
  ]);
98064
- var requestTool35 = new ConnectorTool({
98082
+ var requestTool36 = new ConnectorTool({
98065
98083
  name: "request",
98066
98084
  description: `Send authenticated requests to the LinkedIn Marketing API (REST).
98067
98085
  Authentication is handled automatically via OAuth proxy.
@@ -98083,7 +98101,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
98083
98101
  try {
98084
98102
  const adAccountId = parameters53.adAccountId.tryGetValue(connection) ?? "";
98085
98103
  const resolvedPath = adAccountId ? path5.replace(/\{adAccountId\}/g, adAccountId) : path5;
98086
- let url = `${BASE_URL32}${resolvedPath}`;
98104
+ let url = `${BASE_URL33}${resolvedPath}`;
98087
98105
  if (queryParams && Object.keys(queryParams).length > 0) {
98088
98106
  const params = new URLSearchParams(queryParams);
98089
98107
  const separator = url.includes("?") ? "&" : "?";
@@ -98092,7 +98110,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
98092
98110
  const token = await getProxyToken23(config.oauthProxy);
98093
98111
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
98094
98112
  const controller = new AbortController();
98095
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS47);
98113
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS48);
98096
98114
  try {
98097
98115
  const additionalHeaders = {
98098
98116
  "LinkedIn-Version": LINKEDIN_VERSION4,
@@ -98137,7 +98155,7 @@ Required headers (LinkedIn-Version, X-Restli-Protocol-Version) are set automatic
98137
98155
 
98138
98156
  // ../connectors/src/connectors/linkedin-ads-oauth/index.ts
98139
98157
  var tools53 = {
98140
- request: requestTool35,
98158
+ request: requestTool36,
98141
98159
  listAdAccounts: listAdAccountsTool4
98142
98160
  };
98143
98161
  var linkedinAdsOauthConnector = new ConnectorPlugin({
@@ -98421,7 +98439,7 @@ var parameters54 = {
98421
98439
 
98422
98440
  // ../connectors/src/connectors/zendesk/tools/request.ts
98423
98441
  import { z as z66 } from "zod";
98424
- var REQUEST_TIMEOUT_MS48 = 6e4;
98442
+ var REQUEST_TIMEOUT_MS49 = 6e4;
98425
98443
  var inputSchema64 = z66.object({
98426
98444
  toolUseIntent: z66.string().optional().describe(
98427
98445
  "Brief description of what you intend to accomplish with this tool call"
@@ -98446,7 +98464,7 @@ var outputSchema64 = z66.discriminatedUnion("success", [
98446
98464
  error: z66.string()
98447
98465
  })
98448
98466
  ]);
98449
- var requestTool36 = new ConnectorTool({
98467
+ var requestTool37 = new ConnectorTool({
98450
98468
  name: "request",
98451
98469
  description: `Send authenticated requests to the Zendesk Support API.
98452
98470
  Authentication is handled automatically using email/token Basic auth.
@@ -98474,7 +98492,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
98474
98492
  );
98475
98493
  const url = `https://${subdomain}.zendesk.com${path5.startsWith("/") ? "" : "/"}${path5}`;
98476
98494
  const controller = new AbortController();
98477
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS48);
98495
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS49);
98478
98496
  try {
98479
98497
  const response = await fetch(url, {
98480
98498
  method,
@@ -98502,7 +98520,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
98502
98520
  });
98503
98521
 
98504
98522
  // ../connectors/src/connectors/zendesk/index.ts
98505
- var tools54 = { request: requestTool36 };
98523
+ var tools54 = { request: requestTool37 };
98506
98524
  var zendeskConnector = new ConnectorPlugin({
98507
98525
  slug: "zendesk",
98508
98526
  authType: null,
@@ -98691,7 +98709,7 @@ export default async function handler(c: Context) {
98691
98709
 
98692
98710
  // ../connectors/src/connectors/zendesk-oauth/tools/request.ts
98693
98711
  import { z as z67 } from "zod";
98694
- var REQUEST_TIMEOUT_MS49 = 6e4;
98712
+ var REQUEST_TIMEOUT_MS50 = 6e4;
98695
98713
  var cachedToken24 = null;
98696
98714
  async function getProxyToken24(config) {
98697
98715
  if (cachedToken24 && cachedToken24.expiresAt > Date.now() + 6e4) {
@@ -98746,7 +98764,7 @@ var outputSchema65 = z67.discriminatedUnion("success", [
98746
98764
  error: z67.string()
98747
98765
  })
98748
98766
  ]);
98749
- var requestTool37 = new ConnectorTool({
98767
+ var requestTool38 = new ConnectorTool({
98750
98768
  name: "request",
98751
98769
  description: `Send authenticated requests to the Zendesk Support API.
98752
98770
  Authentication is handled automatically via OAuth proxy.
@@ -98775,7 +98793,7 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
98775
98793
  const token = await getProxyToken24(config.oauthProxy);
98776
98794
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
98777
98795
  const controller = new AbortController();
98778
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS49);
98796
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS50);
98779
98797
  try {
98780
98798
  const response = await fetch(proxyUrl, {
98781
98799
  method: "POST",
@@ -98807,12 +98825,12 @@ Zendesk uses cursor-based pagination with page[size] and page[after] parameters.
98807
98825
  });
98808
98826
 
98809
98827
  // ../connectors/src/connectors/zendesk-oauth/setup.ts
98810
- var requestToolName9 = `zendesk-oauth_${requestTool37.name}`;
98828
+ var requestToolName10 = `zendesk-oauth_${requestTool38.name}`;
98811
98829
  var zendeskOauthOnboarding = new ConnectorOnboarding({
98812
98830
  connectionSetupInstructions: {
98813
98831
  en: `Follow these steps to set up the Zendesk connection.
98814
98832
 
98815
- 1. Call \`${requestToolName9}\` to fetch account info:
98833
+ 1. Call \`${requestToolName10}\` to fetch account info:
98816
98834
  - \`method\`: \`"GET"\`
98817
98835
  - \`path\`: \`"/api/v2/account/settings.json"\`
98818
98836
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -98825,7 +98843,7 @@ var zendeskOauthOnboarding = new ConnectorOnboarding({
98825
98843
  - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`,
98826
98844
  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
98827
98845
 
98828
- 1. \`${requestToolName9}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
98846
+ 1. \`${requestToolName10}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u30A2\u30AB\u30A6\u30F3\u30C8\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B:
98829
98847
  - \`method\`: \`"GET"\`
98830
98848
  - \`path\`: \`"/api/v2/account/settings.json"\`
98831
98849
  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
@@ -98853,7 +98871,7 @@ var zendeskOauthOnboarding = new ConnectorOnboarding({
98853
98871
  var parameters55 = {};
98854
98872
 
98855
98873
  // ../connectors/src/connectors/zendesk-oauth/index.ts
98856
- var tools55 = { request: requestTool37 };
98874
+ var tools55 = { request: requestTool38 };
98857
98875
  var zendeskOauthConnector = new ConnectorPlugin({
98858
98876
  slug: "zendesk",
98859
98877
  authType: AUTH_TYPES.OAUTH,
@@ -99042,9 +99060,9 @@ var parameters56 = {
99042
99060
 
99043
99061
  // ../connectors/src/connectors/intercom/tools/request.ts
99044
99062
  import { z as z68 } from "zod";
99045
- var BASE_URL33 = "https://api.intercom.io";
99063
+ var BASE_URL34 = "https://api.intercom.io";
99046
99064
  var API_VERSION = "2.11";
99047
- var REQUEST_TIMEOUT_MS50 = 6e4;
99065
+ var REQUEST_TIMEOUT_MS51 = 6e4;
99048
99066
  var inputSchema66 = z68.object({
99049
99067
  toolUseIntent: z68.string().optional().describe(
99050
99068
  "Brief description of what you intend to accomplish with this tool call"
@@ -99069,7 +99087,7 @@ var outputSchema66 = z68.discriminatedUnion("success", [
99069
99087
  error: z68.string()
99070
99088
  })
99071
99089
  ]);
99072
- var requestTool38 = new ConnectorTool({
99090
+ var requestTool39 = new ConnectorTool({
99073
99091
  name: "request",
99074
99092
  description: `Send authenticated requests to the Intercom API.
99075
99093
  Authentication is handled automatically using the Access Token (Bearer token).
@@ -99092,9 +99110,9 @@ The Intercom-Version header is set to 2.11 automatically.`,
99092
99110
  );
99093
99111
  try {
99094
99112
  const accessToken = parameters56.accessToken.getValue(connection);
99095
- const url = `${BASE_URL33}${path5.startsWith("/") ? "" : "/"}${path5}`;
99113
+ const url = `${BASE_URL34}${path5.startsWith("/") ? "" : "/"}${path5}`;
99096
99114
  const controller = new AbortController();
99097
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS50);
99115
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS51);
99098
99116
  try {
99099
99117
  const response = await fetch(url, {
99100
99118
  method,
@@ -99125,7 +99143,7 @@ The Intercom-Version header is set to 2.11 automatically.`,
99125
99143
  });
99126
99144
 
99127
99145
  // ../connectors/src/connectors/intercom/index.ts
99128
- var tools56 = { request: requestTool38 };
99146
+ var tools56 = { request: requestTool39 };
99129
99147
  var intercomConnector = new ConnectorPlugin({
99130
99148
  slug: "intercom",
99131
99149
  authType: null,
@@ -99334,8 +99352,8 @@ export default async function handler(c: Context) {
99334
99352
 
99335
99353
  // ../connectors/src/connectors/intercom-oauth/tools/request.ts
99336
99354
  import { z as z69 } from "zod";
99337
- var BASE_URL34 = "https://api.intercom.io";
99338
- var REQUEST_TIMEOUT_MS51 = 6e4;
99355
+ var BASE_URL35 = "https://api.intercom.io";
99356
+ var REQUEST_TIMEOUT_MS52 = 6e4;
99339
99357
  var cachedToken25 = null;
99340
99358
  async function getProxyToken25(config) {
99341
99359
  if (cachedToken25 && cachedToken25.expiresAt > Date.now() + 6e4) {
@@ -99390,7 +99408,7 @@ var outputSchema67 = z69.discriminatedUnion("success", [
99390
99408
  error: z69.string()
99391
99409
  })
99392
99410
  ]);
99393
- var requestTool39 = new ConnectorTool({
99411
+ var requestTool40 = new ConnectorTool({
99394
99412
  name: "request",
99395
99413
  description: `Send authenticated requests to the Intercom API.
99396
99414
  Authentication is handled automatically via OAuth proxy.
@@ -99411,7 +99429,7 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
99411
99429
  `[connector-request] intercom-oauth/${connection.name}: ${method} ${path5}`
99412
99430
  );
99413
99431
  try {
99414
- let url = `${BASE_URL34}${path5.startsWith("/") ? "" : "/"}${path5}`;
99432
+ let url = `${BASE_URL35}${path5.startsWith("/") ? "" : "/"}${path5}`;
99415
99433
  if (queryParams) {
99416
99434
  const searchParams = new URLSearchParams(queryParams);
99417
99435
  const separator = url.includes("?") ? "&" : "?";
@@ -99420,7 +99438,7 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
99420
99438
  const token = await getProxyToken25(config.oauthProxy);
99421
99439
  const proxyUrl = `https://${config.oauthProxy.sandboxId}.${config.oauthProxy.previewBaseDomain}/_sqcore/connections/${connectionId}/request`;
99422
99440
  const controller = new AbortController();
99423
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS51);
99441
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS52);
99424
99442
  try {
99425
99443
  const response = await fetch(proxyUrl, {
99426
99444
  method: "POST",
@@ -99453,12 +99471,12 @@ Search endpoints (contacts/search, conversations/search) use POST with a query o
99453
99471
  });
99454
99472
 
99455
99473
  // ../connectors/src/connectors/intercom-oauth/setup.ts
99456
- var requestToolName10 = `intercom-oauth_${requestTool39.name}`;
99474
+ var requestToolName11 = `intercom-oauth_${requestTool40.name}`;
99457
99475
  var intercomOauthOnboarding = new ConnectorOnboarding({
99458
99476
  connectionSetupInstructions: {
99459
99477
  en: `Follow these steps to set up the Intercom connection.
99460
99478
 
99461
- 1. Call \`${requestToolName10}\` to verify the connection:
99479
+ 1. Call \`${requestToolName11}\` to verify the connection:
99462
99480
  - \`method\`: \`"GET"\`
99463
99481
  - \`path\`: \`"/me"\`
99464
99482
  2. If an error is returned, ask the user to check the OAuth connection settings
@@ -99471,7 +99489,7 @@ var intercomOauthOnboarding = new ConnectorOnboarding({
99471
99489
  - Write only 1 sentence between tool calls, then immediately call the next tool. Skip unnecessary explanations and proceed efficiently`,
99472
99490
  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
99473
99491
 
99474
- 1. \`${requestToolName10}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u63A5\u7D9A\u3092\u78BA\u8A8D\u3059\u308B:
99492
+ 1. \`${requestToolName11}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u63A5\u7D9A\u3092\u78BA\u8A8D\u3059\u308B:
99475
99493
  - \`method\`: \`"GET"\`
99476
99494
  - \`path\`: \`"/me"\`
99477
99495
  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
@@ -99499,7 +99517,7 @@ var intercomOauthOnboarding = new ConnectorOnboarding({
99499
99517
  var parameters57 = {};
99500
99518
 
99501
99519
  // ../connectors/src/connectors/intercom-oauth/index.ts
99502
- var tools57 = { request: requestTool39 };
99520
+ var tools57 = { request: requestTool40 };
99503
99521
  var intercomOauthConnector = new ConnectorPlugin({
99504
99522
  slug: "intercom",
99505
99523
  authType: AUTH_TYPES.OAUTH,
@@ -99721,7 +99739,7 @@ var parameters58 = {
99721
99739
 
99722
99740
  // ../connectors/src/connectors/mixpanel/tools/request.ts
99723
99741
  import { z as z70 } from "zod";
99724
- var REQUEST_TIMEOUT_MS52 = 6e4;
99742
+ var REQUEST_TIMEOUT_MS53 = 6e4;
99725
99743
  var inputSchema68 = z70.object({
99726
99744
  toolUseIntent: z70.string().optional().describe(
99727
99745
  "Brief description of what you intend to accomplish with this tool call"
@@ -99751,7 +99769,7 @@ var outputSchema68 = z70.discriminatedUnion("success", [
99751
99769
  error: z70.string()
99752
99770
  })
99753
99771
  ]);
99754
- var requestTool40 = new ConnectorTool({
99772
+ var requestTool41 = new ConnectorTool({
99755
99773
  name: "request",
99756
99774
  description: `Send authenticated requests to the Mixpanel REST API.
99757
99775
  Authentication is handled automatically using Basic auth (Service Account username + secret).
@@ -99794,7 +99812,7 @@ Rate limit: 60 queries/hour, 5 concurrent queries for Query API.`,
99794
99812
  finalUrl = urlObj.toString();
99795
99813
  }
99796
99814
  const controller = new AbortController();
99797
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS52);
99815
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS53);
99798
99816
  try {
99799
99817
  const headers = {
99800
99818
  Authorization: `Basic ${authToken}`,
@@ -99845,7 +99863,7 @@ Rate limit: 60 queries/hour, 5 concurrent queries for Query API.`,
99845
99863
  });
99846
99864
 
99847
99865
  // ../connectors/src/connectors/mixpanel/index.ts
99848
- var tools58 = { request: requestTool40 };
99866
+ var tools58 = { request: requestTool41 };
99849
99867
  var mixpanelConnector = new ConnectorPlugin({
99850
99868
  slug: "mixpanel",
99851
99869
  authType: null,
@@ -100029,7 +100047,7 @@ var parameters59 = {
100029
100047
 
100030
100048
  // ../connectors/src/connectors/posthog/tools/request.ts
100031
100049
  import { z as z71 } from "zod";
100032
- var REQUEST_TIMEOUT_MS53 = 6e4;
100050
+ var REQUEST_TIMEOUT_MS54 = 6e4;
100033
100051
  var inputSchema69 = z71.object({
100034
100052
  toolUseIntent: z71.string().optional().describe(
100035
100053
  "Brief description of what you intend to accomplish with this tool call"
@@ -100054,7 +100072,7 @@ var outputSchema69 = z71.discriminatedUnion("success", [
100054
100072
  error: z71.string()
100055
100073
  })
100056
100074
  ]);
100057
- var requestTool41 = new ConnectorTool({
100075
+ var requestTool42 = new ConnectorTool({
100058
100076
  name: "request",
100059
100077
  description: `Send authenticated requests to the PostHog REST API.
100060
100078
  Authentication is handled automatically using a Bearer token (Personal API Key).
@@ -100090,7 +100108,7 @@ Rate limit: 240/minute, 1200/hour for analytics endpoints.`,
100090
100108
  const host = parameters59.host.tryGetValue(connection) ?? "https://us.posthog.com";
100091
100109
  const url = `${host.replace(/\/$/, "")}${path5}`;
100092
100110
  const controller = new AbortController();
100093
- const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS53);
100111
+ const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS54);
100094
100112
  try {
100095
100113
  const headers = {
100096
100114
  Authorization: `Bearer ${apiKey}`,
@@ -100120,7 +100138,7 @@ Rate limit: 240/minute, 1200/hour for analytics endpoints.`,
100120
100138
  });
100121
100139
 
100122
100140
  // ../connectors/src/connectors/posthog/index.ts
100123
- var tools59 = { request: requestTool41 };
100141
+ var tools59 = { request: requestTool42 };
100124
100142
  var posthogConnector = new ConnectorPlugin({
100125
100143
  slug: "posthog",
100126
100144
  authType: null,
@@ -100299,6 +100317,7 @@ var plugins = {
100299
100317
  googleSheetsOauth: googleSheetsOauthConnector,
100300
100318
  hubspotOauth: hubspotOauthConnector,
100301
100319
  stripeOauth: stripeOauthConnector,
100320
+ stripeApiKey: stripeApiKeyConnector,
100302
100321
  airtable: airtableConnector,
100303
100322
  airtableOauth: airtableOauthConnector,
100304
100323
  squadbaseDb: squadbaseDbConnector,
@@ -100319,7 +100338,6 @@ var plugins = {
100319
100338
  jira: jiraConnector,
100320
100339
  linear: linearConnector,
100321
100340
  asana: asanaConnector,
100322
- trino: trinoConnector,
100323
100341
  clickhouse: clickhouseConnector,
100324
100342
  mongodb: mongodbConnector,
100325
100343
  notion: notionConnector,