@squadbase/vite-server 0.1.8 → 0.1.9-dev.87dd3f7

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.
Files changed (58) hide show
  1. package/dist/cli/index.js +1055 -520
  2. package/dist/connectors/airtable-oauth.js +3 -0
  3. package/dist/connectors/airtable.js +3 -0
  4. package/dist/connectors/amplitude.js +3 -0
  5. package/dist/connectors/anthropic.js +3 -0
  6. package/dist/connectors/asana.js +3 -0
  7. package/dist/connectors/attio.js +3 -0
  8. package/dist/connectors/backlog-api-key.js +3 -0
  9. package/dist/connectors/customerio.js +3 -0
  10. package/dist/connectors/dbt.js +3 -0
  11. package/dist/connectors/gamma.js +3 -0
  12. package/dist/connectors/gemini.js +3 -0
  13. package/dist/connectors/gmail-oauth.js +3 -0
  14. package/dist/connectors/gmail.js +11 -2
  15. package/dist/connectors/google-ads.js +3 -0
  16. package/dist/connectors/google-analytics-oauth.js +3 -0
  17. package/dist/connectors/google-analytics.js +3 -0
  18. package/dist/connectors/google-audit-log.d.ts +5 -0
  19. package/dist/connectors/google-audit-log.js +802 -0
  20. package/dist/connectors/google-calendar-oauth.js +3 -0
  21. package/dist/connectors/google-calendar.js +102 -49
  22. package/dist/connectors/google-docs.js +3 -0
  23. package/dist/connectors/google-drive.js +3 -0
  24. package/dist/connectors/google-sheets.js +3 -0
  25. package/dist/connectors/google-slides.js +3 -0
  26. package/dist/connectors/grafana.js +3 -0
  27. package/dist/connectors/hubspot-oauth.js +3 -0
  28. package/dist/connectors/hubspot.js +3 -0
  29. package/dist/connectors/influxdb.js +3 -0
  30. package/dist/connectors/intercom-oauth.js +3 -0
  31. package/dist/connectors/intercom.js +3 -0
  32. package/dist/connectors/jira-api-key.js +3 -0
  33. package/dist/connectors/kintone-api-token.js +3 -0
  34. package/dist/connectors/kintone.js +3 -0
  35. package/dist/connectors/linear.js +3 -0
  36. package/dist/connectors/linkedin-ads.js +3 -0
  37. package/dist/connectors/mailchimp-oauth.js +3 -0
  38. package/dist/connectors/mailchimp.js +3 -0
  39. package/dist/connectors/meta-ads-oauth.js +3 -0
  40. package/dist/connectors/meta-ads.js +3 -0
  41. package/dist/connectors/mixpanel.js +3 -0
  42. package/dist/connectors/notion-oauth.js +3 -0
  43. package/dist/connectors/notion.js +3 -0
  44. package/dist/connectors/openai.js +3 -0
  45. package/dist/connectors/salesforce.js +3 -0
  46. package/dist/connectors/sentry.js +3 -0
  47. package/dist/connectors/shopify-oauth.js +3 -0
  48. package/dist/connectors/shopify.js +3 -0
  49. package/dist/connectors/stripe-api-key.js +3 -0
  50. package/dist/connectors/stripe-oauth.js +3 -0
  51. package/dist/connectors/tiktok-ads.js +3 -0
  52. package/dist/connectors/wix-store.js +3 -0
  53. package/dist/connectors/zendesk-oauth.js +3 -0
  54. package/dist/connectors/zendesk.js +3 -0
  55. package/dist/index.js +1055 -520
  56. package/dist/main.js +1055 -520
  57. package/dist/vite-plugin.js +1055 -520
  58. package/package.json +5 -1
@@ -175,6 +175,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
175
175
  releaseFlag;
176
176
  proxyPolicy;
177
177
  experimentalAttributes;
178
+ categories;
178
179
  onboarding;
179
180
  systemPrompt;
180
181
  tools;
@@ -190,6 +191,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
190
191
  this.releaseFlag = config.releaseFlag;
191
192
  this.proxyPolicy = config.proxyPolicy;
192
193
  this.experimentalAttributes = config.experimentalAttributes;
194
+ this.categories = config.categories ?? [];
193
195
  this.onboarding = config.onboarding;
194
196
  this.systemPrompt = config.systemPrompt;
195
197
  this.tools = config.tools;
@@ -558,6 +560,7 @@ var googleCalendarOauthConnector = new ConnectorPlugin({
558
560
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2YsqoBEpdELmfDeFcyGHyE/4494c633b5ae15e562cb739cd85442c1/google-calendar.png",
559
561
  parameters,
560
562
  releaseFlag: { dev1: true, dev2: false, prod: false },
563
+ categories: ["productivity"],
561
564
  onboarding: googleCalendarOauthOnboarding,
562
565
  proxyPolicy: {
563
566
  allowlist: [
@@ -180,6 +180,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
180
180
  releaseFlag;
181
181
  proxyPolicy;
182
182
  experimentalAttributes;
183
+ categories;
183
184
  onboarding;
184
185
  systemPrompt;
185
186
  tools;
@@ -195,6 +196,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
195
196
  this.releaseFlag = config.releaseFlag;
196
197
  this.proxyPolicy = config.proxyPolicy;
197
198
  this.experimentalAttributes = config.experimentalAttributes;
199
+ this.categories = config.categories ?? [];
198
200
  this.onboarding = config.onboarding;
199
201
  this.systemPrompt = config.systemPrompt;
200
202
  this.tools = config.tools;
@@ -301,7 +303,8 @@ var outputSchema = z.discriminatedUnion("success", [
301
303
  z.object({
302
304
  success: z.literal(true),
303
305
  status: z.number(),
304
- data: z.record(z.string(), z.unknown())
306
+ data: z.record(z.string(), z.unknown()),
307
+ serviceAccountEmail: z.string()
305
308
  }),
306
309
  z.object({
307
310
  success: z.literal(false),
@@ -382,7 +385,12 @@ var requestTool = new ConnectorTool({
382
385
  serviceAccountEmail
383
386
  };
384
387
  }
385
- return { success: true, status: response.status, data };
388
+ return {
389
+ success: true,
390
+ status: response.status,
391
+ data,
392
+ serviceAccountEmail
393
+ };
386
394
  } finally {
387
395
  clearTimeout(timeout);
388
396
  }
@@ -429,7 +437,8 @@ var outputSchema2 = z2.discriminatedUnion("success", [
429
437
  z2.object({
430
438
  success: z2.literal(true),
431
439
  status: z2.number(),
432
- data: z2.record(z2.string(), z2.unknown())
440
+ data: z2.record(z2.string(), z2.unknown()),
441
+ serviceAccountEmail: z2.string()
433
442
  }),
434
443
  z2.object({
435
444
  success: z2.literal(false),
@@ -511,7 +520,12 @@ var requestWithDelegationTool = new ConnectorTool({
511
520
  serviceAccountEmail
512
521
  };
513
522
  }
514
- return { success: true, status: response.status, data };
523
+ return {
524
+ success: true,
525
+ status: response.status,
526
+ data,
527
+ serviceAccountEmail
528
+ };
515
529
  } finally {
516
530
  clearTimeout(timeout);
517
531
  }
@@ -533,7 +547,18 @@ var READONLY_SCOPES = '["https://www.googleapis.com/auth/calendar.readonly"]';
533
547
  var SERVICE_ACCOUNT_KEY_PARAM_SLUG = parameters.serviceAccountKeyJsonBase64.slug;
534
548
  var googleCalendarOnboarding = new ConnectorOnboarding({
535
549
  connectionSetupInstructions: {
536
- ja: `Google Calendar \u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3057\u307E\u3059\u3002\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u3092\u9078\u3093\u3067\u3082\u3089\u3044\u3001\u5BFE\u8C61\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u767A\u898B\u30FB\u9078\u629E\u3057\u3066 Project Knowledge \u306B\u8A18\u9332\u3057\u307E\u3059\u3002
550
+ ja: `Google Calendar \u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u3092\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3057\u307E\u3059\u3002\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u3092\u9078\u3093\u3067\u3082\u3089\u3044\u3001\u5BFE\u8C61\u30AB\u30EC\u30F3\u30C0\u30FC\u3092 Project Knowledge \u306B\u8A18\u9332\u3057\u307E\u3059\u3002
551
+
552
+ ## \u30B9\u30C6\u30C3\u30D7 0: \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97
553
+
554
+ \u4EE5\u964D\u306E\u30B9\u30C6\u30C3\u30D7\u3067\u30E6\u30FC\u30B6\u30FC\u306B\u6848\u5185\u3059\u308B\u305F\u3081\u306B\u3001\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002
555
+
556
+ \`${requestToolName}\` \u3092\u4EE5\u4E0B\u306E\u5F15\u6570\u3067 1 \u56DE\u547C\u3073\u3001\u30EC\u30B9\u30DD\u30F3\u30B9\u306E \`serviceAccountEmail\` \u3092\u4FDD\u6301\u3059\u308B:
557
+ - \`method\`: \`"GET"\`
558
+ - \`path\`: \`"/users/me/calendarList"\`
559
+ - \`scopes\`: \`${READONLY_SCOPES}\`
560
+
561
+ \u6210\u529F\u30FB\u5931\u6557\u3069\u3061\u3089\u3067\u3082 \`serviceAccountEmail\` \u306F\u8FD4\u3063\u3066\u304F\u308B\u306E\u3067\u3001\u7D50\u679C\u306E\u30EA\u30B9\u30C8\u306F\u3053\u306E\u30B9\u30C6\u30C3\u30D7\u3067\u306F\u7121\u8996\u3057\u3066\u3088\u3044\u3002\u4EE5\u964D\u3053\u306E\u5024\u3092 \`<serviceAccountEmail>\` \u3068\u3057\u3066\u53C2\u7167\u3059\u308B\u3002
537
562
 
538
563
  ## \u30B9\u30C6\u30C3\u30D7 1: \u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u3092\u9078\u629E
539
564
 
@@ -545,52 +570,60 @@ var googleCalendarOnboarding = new ConnectorOnboarding({
545
570
  - \`{ label: "\u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u3067\u7D44\u7E54\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B", value: "delegation" }\`
546
571
  - \`{ label: "\u4E21\u65B9\u3092\u7D44\u307F\u5408\u308F\u305B\u308B", value: "both" }\`
547
572
 
548
- ## \u30B9\u30C6\u30C3\u30D7 2: \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u7D4C\u8DEF\u306E\u767A\u898B\u3068\u9078\u629E (\`"service-account"\` \u307E\u305F\u306F \`"both"\` \u306E\u5834\u5408)
573
+ ## \u30B9\u30C6\u30C3\u30D7 2: \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u7D4C\u8DEF (\`"service-account"\` \u307E\u305F\u306F \`"both"\` \u306E\u5834\u5408)
549
574
 
550
- 1. \`${requestToolName}\` \u3092\u547C\u3093\u3067\u30AB\u30EC\u30F3\u30C0\u30FC\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B:
575
+ \u30E6\u30FC\u30B6\u30FC\u304C\u3042\u3089\u304B\u3058\u3081\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8 \`<serviceAccountEmail>\` \u306B\u5171\u6709\u8A2D\u5B9A\u3057\u305F\u30AB\u30EC\u30F3\u30C0\u30FC\u306E ID \u3092\u76F4\u63A5\u53D7\u3051\u53D6\u308A\u3001\u758E\u901A\u78BA\u8A8D\u3057\u307E\u3059\u3002multiSelect \u306F\u51FA\u3055\u306A\u3044 (\u30E6\u30FC\u30B6\u30FC\u304C\u5165\u529B\u3057\u305F\u6642\u70B9\u3067\u5BFE\u8C61\u304C\u78BA\u5B9A\u3057\u3066\u3044\u308B\u305F\u3081)\u3002
576
+
577
+ 1. \`askUserQuestion\` \u3067\u30AB\u30EC\u30F3\u30C0\u30FC ID \u3092\u805E\u304F:
578
+ - \`type\`: \`"freeText"\`
579
+ - \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u3057\u305F\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u306E ID \u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u53EF\u3001\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09\u3002\u3042\u3089\u304B\u3058\u3081 \`<serviceAccountEmail>\` \u306B\u5171\u6709\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30E1\u30A4\u30F3\u30AB\u30EC\u30F3\u30C0\u30FC\u306F\u6240\u6709\u8005\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u305D\u306E\u307E\u307E\u5165\u529B\u3067\u304D\u307E\u3059\u3002\u305D\u308C\u4EE5\u5916\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\uFF08\u30C1\u30FC\u30E0\u30AB\u30EC\u30F3\u30C0\u30FC\u7B49\uFF09\u306F Google Calendar \u306E\u8A2D\u5B9A\u304B\u3089\u300C\u30AB\u30EC\u30F3\u30C0\u30FC ID\u300D\u3092\u30B3\u30D4\u30FC\u3057\u3066\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u300D
580
+ - \`placeholder\`: \`"alice@example.com, c_xxx@group.calendar.google.com"\`
581
+
582
+ 2. \u5165\u529B\u3055\u308C\u305F\u5404\u30AB\u30EC\u30F3\u30C0\u30FC ID \`<id>\` \u306B\u3064\u3044\u3066 \`${requestToolName}\` \u3067\u758E\u901A\u78BA\u8A8D:
551
583
  - \`method\`: \`"GET"\`
552
- - \`path\`: \`"/users/me/calendarList"\`
584
+ - \`path\`: \`"/calendars/<id>"\`
553
585
  - \`scopes\`: \`${READONLY_SCOPES}\`
586
+ - \u6210\u529F\u3059\u308C\u3070\u3001\u30EC\u30B9\u30DD\u30F3\u30B9 \`data.summary\` \u3092\u30AB\u30EC\u30F3\u30C0\u30FC\u540D\u3068\u3057\u3066\u4FDD\u6301
587
+ - \u5931\u6557 (404 / 403 \u7B49) \u306F\u30A2\u30AF\u30BB\u30B9\u4E0D\u53EF\u3068\u3057\u3066\u8A18\u9332
554
588
 
555
- 2. \u53D6\u5F97\u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
556
- - \u7D50\u679C\u304C\u7A7A: \u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u304C \`"service-account"\` \u3060\u3051\u306A\u3089\u30B9\u30C6\u30C3\u30D7 5 (\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3) \u3078\u3002\`"both"\` \u306E\u5834\u5408\u306F\u305D\u306E\u307E\u307E\u30B9\u30C6\u30C3\u30D7 3 \u3078\u9032\u3080
557
- - \u7D50\u679C\u304C\u3042\u308B: \`askUserQuestion\` \u3067\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u3070\u305B\u308B
558
- - \`type\`: \`"multiSelect"\`
559
- - \`question\`: \u300C\u4F7F\u7528\u3059\u308B\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u53EF\uFF09\u300D
560
- - \`options\`: \u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u3064\u3044\u3066 \`label\`: \`"<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D>"\`\u3001\`value\`: \`"<calendarId>"\`
589
+ 3. \u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
590
+ - **\u5168 ID \u5931\u6557**: \u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u304C \`"service-account"\` \u3060\u3051\u306A\u3089\u30B9\u30C6\u30C3\u30D7 5 \u3078\u3002\`"both"\` \u306E\u5834\u5408\u306F\u305D\u306E\u307E\u307E\u30B9\u30C6\u30C3\u30D7 3 \u3078\u9032\u3080
591
+ - **\u4E00\u90E8\u307E\u305F\u306F\u5168\u4EF6\u6210\u529F**: \u6210\u529F\u3057\u305F\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u305D\u306E\u307E\u307E\u30B9\u30C6\u30C3\u30D7 4 \u7528\u306E\u9078\u629E\u7D50\u679C\u3068\u3057\u3066\u78BA\u5B9A\u3059\u308B\u3002\u5931\u6557\u304C\u3042\u308C\u3070\u3001\u305D\u306E\u65E8\u3092 1 \u6587\u3067\u77ED\u304F\u4F1D\u3048\u308B
592
+
593
+ ## \u30B9\u30C6\u30C3\u30D7 3: \u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u7D4C\u8DEF (\`"delegation"\` \u307E\u305F\u306F \`"both"\` \u306E\u5834\u5408)
561
594
 
562
- ## \u30B9\u30C6\u30C3\u30D7 3: \u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u7D4C\u8DEF\u306E\u767A\u898B\u3068\u9078\u629E (\`"delegation"\` \u307E\u305F\u306F \`"both"\` \u306E\u5834\u5408)
595
+ \u5404 Workspace \u30E6\u30FC\u30B6\u30FC\u304C\u6301\u3063\u3066\u3044\u308B\u591A\u6570\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u304B\u3089\u3001\u5BFE\u8C61\u3092\u7D5E\u308A\u8FBC\u307F\u307E\u3059\u3002
563
596
 
564
597
  1. \`askUserQuestion\` \u3067\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u805E\u304F:
565
598
  - \`type\`: \`"freeText"\`
566
- - \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u3057\u305F\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u6240\u6709\u3059\u308B Google Workspace \u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u53EF\u3001\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09\u3002Workspace \u7BA1\u7406\u8005\u304C\u3001\u3053\u306E\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5BFE\u3057\u3066\u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u3092\u3042\u3089\u304B\u3058\u3081\u627F\u8A8D\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\uFF08[\u7BA1\u7406\u8005\u5411\u3051\u8A2D\u5B9A\u30AC\u30A4\u30C9](https://support.google.com/a/answer/162106)\uFF09\u3002\u300D
599
+ - \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u3057\u305F\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u6240\u6709\u3059\u308B Google Workspace \u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u53EF\u3001\u30AB\u30F3\u30DE\u533A\u5207\u308A\uFF09\u3002Workspace \u7BA1\u7406\u8005\u304C\u3042\u3089\u304B\u3058\u3081\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8 \`<serviceAccountEmail>\` \u306B\u5BFE\u3057\u3066\u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u3092\u627F\u8A8D\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\uFF08[\u7BA1\u7406\u8005\u5411\u3051\u8A2D\u5B9A\u30AC\u30A4\u30C9](https://support.google.com/a/answer/162106)\uFF09\u3002\u300D
567
600
  - \`placeholder\`: \`"alice@example.com, bob@example.com"\`
568
601
 
569
- 2. \u30E6\u30FC\u30B6\u30FC\u304B\u3089\u53D7\u3051\u53D6\u3063\u305F\u6587\u5B57\u5217\u304B\u3089\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u62BD\u51FA\u3057\u3001\u5404 \`<email>\` \u306B\u3064\u3044\u3066 \`${requestWithDelegationToolName}\` \u3092\u547C\u3076:
602
+ 2. \u5165\u529B\u3055\u308C\u305F\u5404\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9 \`<email>\` \u306B\u3064\u3044\u3066 \`${requestWithDelegationToolName}\` \u3092\u547C\u3073\u3001\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u30AB\u30EC\u30F3\u30C0\u30FC\u4E00\u89A7\u3092\u53D6\u5F97:
570
603
  - \`method\`: \`"GET"\`
571
604
  - \`path\`: \`"/users/me/calendarList"\`
572
605
  - \`subject\`: \`<email>\`
573
606
  - \`scopes\`: \`${READONLY_SCOPES}\`
574
607
 
575
- 3. \u53D6\u5F97\u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
576
- - \u5168 email \u3067\u53D6\u5F97\u5931\u6557: \u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u304C \`"delegation"\` \u3060\u3051\u3001\u3082\u3057\u304F\u306F \`"both"\` \u3067\u30B9\u30C6\u30C3\u30D7 2 \u3067\u3082 0 \u4EF6\u306E\u5834\u5408\u306F\u30B9\u30C6\u30C3\u30D7 5 \u3078\u3002\`"both"\` \u3067\u30B9\u30C6\u30C3\u30D7 2 \u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u3042\u3063\u305F\u5834\u5408\u306F\u305D\u306E\u307E\u307E\u30B9\u30C6\u30C3\u30D7 4 \u3078
577
- - \u4E00\u90E8\u307E\u305F\u306F\u5168\u4EF6\u6210\u529F: \`askUserQuestion\` \u3067\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u3070\u305B\u308B
608
+ 3. \u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
609
+ - **\u5168 email \u3067\u5931\u6557**: \u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5\u304C \`"delegation"\` \u3060\u3051\u3001\u307E\u305F\u306F \`"both"\` \u3067\u30B9\u30C6\u30C3\u30D7 2 \u3067\u3082 0 \u4EF6\u306E\u3068\u304D\u306F\u30B9\u30C6\u30C3\u30D7 5 \u3078\u3002\`"both"\` \u3067\u30B9\u30C6\u30C3\u30D7 2 \u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u3042\u308C\u3070\u3001\u305D\u306E\u307E\u307E\u30B9\u30C6\u30C3\u30D7 4 \u3078\u9032\u3080
610
+ - **\u4E00\u90E8\u307E\u305F\u306F\u5168\u4EF6\u6210\u529F**: \`askUserQuestion\` \u3067\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u7D5E\u308A\u8FBC\u307E\u305B\u308B
578
611
  - \`type\`: \`"multiSelect"\`
579
612
  - \`question\`: \u300C\u4F7F\u7528\u3059\u308B\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u53EF\uFF09\u300D
580
- - \`options\`: \u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u3064\u3044\u3066 \`label\`: \`"<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D> (\u6240\u6709\u8005: <\u305D\u306E\u3068\u304D\u306E subject>)"\`\u3001\`value\`: \`"<calendarId>"\`
613
+ - \`options\`: \u767A\u898B\u3057\u305F\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u3064\u3044\u3066 \`label\`: \`"<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D> (\u6240\u6709\u8005: <\u305D\u306E\u3068\u304D\u306E subject>)"\`\u3001\`value\`: \`"<calendarId>"\`
581
614
  - \u4E00\u90E8\u5931\u6557\u304C\u3042\u308C\u3070\u3001\u305D\u306E\u65E8\u3092 1 \u6587\u3067\u77ED\u304F\u4F1D\u3048\u308B
582
615
 
583
616
  ## \u30B9\u30C6\u30C3\u30D7 4: Project Knowledge \u306B\u8A18\u9332
584
617
 
585
- \u30B9\u30C6\u30C3\u30D7 2 \u3068 3 \u3067\u9078\u3070\u308C\u305F calendarId \u96C6\u5408\u3092\u30C7\u30A3\u30B9\u30AB\u30D0\u30EA\u7D50\u679C\u3068\u7A81\u304D\u5408\u308F\u305B\u3066\u3001\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306E\u7D4C\u8DEF\u3068 subject \u3092\u7279\u5B9A\u3059\u308B\u3002\`finalizeSetup\` \u3092\u547C\u3073\u3001\`projectKnowledge\` \u306E \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u3092 1 \u884C\u305A\u3064\u5217\u6319\u3059\u308B:
618
+ \u30B9\u30C6\u30C3\u30D7 2 \u3068 3 \u3067\u78BA\u5B9A\u3057\u305F calendarId \u96C6\u5408\u3092\u7D71\u5408\u3059\u308B\u3002\u5404 calendarId \u306B\u3064\u3044\u3066\u3001\u30B9\u30C6\u30C3\u30D7 2 \u3067\u758E\u901A\u78BA\u8A8D\u3057\u305F\u7D50\u679C\u304B\u3001\u30B9\u30C6\u30C3\u30D7 3 \u306E\u30C7\u30A3\u30B9\u30AB\u30D0\u30EA\u7D50\u679C\u304B\u3089\u7D4C\u8DEF\u3068 (delegation \u306E\u5834\u5408\u306F) subject \u3092\u7279\u5B9A\u3059\u308B\u3002\`finalizeSetup\` \u3092\u547C\u3073\u3001\`projectKnowledge\` \u306E \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u3092 1 \u884C\u305A\u3064\u5217\u6319\u3059\u308B:
586
619
  - \u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u7D4C\u7531: \`- calendar: <calendarId> (delegation, subject: <subject>, name: "<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D>")\`
587
620
  - \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u7D4C\u8DEF: \`- calendar: <calendarId> (service-account, name: "<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D>")\`
588
621
 
589
- ## \u30B9\u30C6\u30C3\u30D7 5: \u6700\u7D42\u7684\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u304C 0 \u4EF6\u306E\u5834\u5408\u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3
622
+ ## \u30B9\u30C6\u30C3\u30D7 5: \u6700\u7D42\u7684\u306B\u30AB\u30EC\u30F3\u30C0\u30FC\u304C 0 \u4EF6\u306E\u3068\u304D\u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3
590
623
 
591
- \u6700\u7D42\u7684\u306B\u9078\u629E\u30AB\u30EC\u30F3\u30C0\u30FC\u304C 1 \u4EF6\u3082\u7121\u3044\u5834\u5408 (\u5404\u7D4C\u8DEF\u306E\u767A\u898B\u304C\u7A7A\u3001\u307E\u305F\u306F\u9078\u629E\u3055\u308C\u306A\u304B\u3063\u305F)\u3001\u30A8\u30E9\u30FC\u30EC\u30B9\u30DD\u30F3\u30B9\u304B\u3089 \`serviceAccountEmail\` \u3092\u53D6\u308A\u51FA\u3057\u3001\`askUserQuestion\` \u3067\u6B21\u306E\u3088\u3046\u306B\u6848\u5185\u3059\u308B:
624
+ \u6700\u7D42\u7684\u306B\u5BFE\u8C61\u30AB\u30EC\u30F3\u30C0\u30FC\u304C 1 \u4EF6\u3082\u306A\u3044\u5834\u5408\u3001\`askUserQuestion\` \u3067\u6B21\u306E\u3088\u3046\u306B\u6848\u5185\u3059\u308B:
592
625
 
593
- - \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u6B21\u306E\u3044\u305A\u308C\u304B\u3092\u884C\u3063\u3066\u304B\u3089\u7D9A\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8: \`<serviceAccountEmail>\`\u3002\u300D
626
+ - \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A\u30AB\u30EC\u30F3\u30C0\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8 \`<serviceAccountEmail>\` \u3067\u6B21\u306E\u3044\u305A\u308C\u304B\u3092\u884C\u3063\u3066\u304B\u3089\u7D9A\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u300D
594
627
  - \`options\`: \u3053\u3053\u307E\u3067\u306B\u8A66\u3057\u305F\u7D4C\u8DEF\u306B\u5FDC\u3058\u3066\u4EE5\u4E0B\u3092\u7D44\u307F\u5408\u308F\u305B\u308B:
595
628
  - \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u7D4C\u8DEF\u3092\u8A66\u3057\u305F\u5834\u5408: \`{ label: "\u5BFE\u8C61\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5171\u6709\u3057\u305F\u306E\u3067\u30EA\u30C8\u30E9\u30A4", value: "retry" }\`
596
629
  - \u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u7D4C\u8DEF\u3092\u8A66\u3057\u305F\u5834\u5408: \`{ label: "\u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u3092\u627F\u8A8D\u3057\u305F\u306E\u3067\u30EA\u30C8\u30E9\u30A4", value: "retry" }\`
@@ -598,17 +631,28 @@ var googleCalendarOnboarding = new ConnectorOnboarding({
598
631
  - \u5E38\u306B: \`{ label: "\u5225\u306E\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u8A2D\u5B9A\u3057\u76F4\u3059", value: "change-service-account" }\`
599
632
 
600
633
  \u9078\u629E\u7D50\u679C\u306B\u5FDC\u3058\u305F\u6319\u52D5:
601
- - "retry": \u76F4\u524D\u306E\u7D4C\u8DEF\u3092\u518D probe (\u5177\u4F53\u7684\u306A\u3084\u308A\u76F4\u3057\u65B9\u306F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u306B\u4EFB\u305B\u308B)
634
+ - "retry": \u76F4\u524D\u306E\u7D4C\u8DEF\u3092\u518D probe (\u30EA\u30C8\u30E9\u30A4\u306E\u4ED5\u65B9\u306F\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u6587\u8108\u306B\u5FDC\u3058\u3066\u5224\u65AD)
602
635
  - "restart": \u30B9\u30C6\u30C3\u30D7 1 \u304B\u3089\u518D\u5B9F\u884C
603
636
  - "change-service-account": \`updateConnectionParameters\` \u3092\u547C\u3093\u3067\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8 JSON \u3092\u518D\u5165\u529B\u3055\u305B\u308B:
604
637
  - \`parameterSlug\`: \`"${SERVICE_ACCOUNT_KEY_PARAM_SLUG}"\`
605
- - \u5B8C\u4E86\u5F8C\u3001\u30B9\u30C6\u30C3\u30D7 1 \u304B\u3089\u518D\u5B9F\u884C
638
+ - \u5B8C\u4E86\u5F8C\u3001\u30B9\u30C6\u30C3\u30D7 0 \u304B\u3089\u518D\u5B9F\u884C
606
639
 
607
640
  ## \u5236\u7D04
608
641
 
609
642
  - \u4E0A\u8A18\u4EE5\u5916\u306E API \u547C\u3073\u51FA\u3057\u3092 setup \u4E2D\u306B\u884C\u308F\u306A\u3044
610
643
  - \u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u306E\u9593\u306F 1 \u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057`,
611
- en: `Set up the Google Calendar connection. Ask the user how they want to access calendars, discover and select the target calendars, and record them in Project Knowledge.
644
+ en: `Set up the Google Calendar connection. Ask the user how they want to access calendars and record the target calendars in Project Knowledge.
645
+
646
+ ## Step 0: Get the service account email
647
+
648
+ We need the service account email so we can show it to the user in the next steps.
649
+
650
+ Call \`${requestToolName}\` once and remember the \`serviceAccountEmail\` from the response:
651
+ - \`method\`: \`"GET"\`
652
+ - \`path\`: \`"/users/me/calendarList"\`
653
+ - \`scopes\`: \`${READONLY_SCOPES}\`
654
+
655
+ \`serviceAccountEmail\` is returned regardless of success or failure, so the list payload itself can be ignored at this stage. Refer to the captured value as \`<serviceAccountEmail>\` in the steps below.
612
656
 
613
657
  ## Step 1: Choose the access method
614
658
 
@@ -620,50 +664,58 @@ Call \`askUserQuestion\`:
620
664
  - \`{ label: "Calendars of users in your organization (via Domain-wide Delegation)", value: "delegation" }\`
621
665
  - \`{ label: "Both", value: "both" }\`
622
666
 
623
- ## Step 2: Discover and select via the service-account path (when \`"service-account"\` or \`"both"\`)
667
+ ## Step 2: Service-account path (when \`"service-account"\` or \`"both"\`)
668
+
669
+ Take calendar IDs that the user has already shared with \`<serviceAccountEmail>\`, and verify each one. No multiSelect step (the user has already specified which calendars to use by entering their IDs).
624
670
 
625
- 1. Call \`${requestToolName}\`:
671
+ 1. Ask the user for calendar IDs:
672
+ - \`type\`: \`"freeText"\`
673
+ - \`question\`: "Enter the IDs of the calendars you want to access (comma-separated for multiple). Each calendar must already be shared with \`<serviceAccountEmail>\`. For someone's primary calendar you can enter their email address directly. For other calendars (such as team calendars), copy the 'Calendar ID' from the calendar settings in Google Calendar."
674
+ - \`placeholder\`: \`"alice@example.com, c_xxx@group.calendar.google.com"\`
675
+
676
+ 2. For each calendar ID \`<id>\`, verify access by calling \`${requestToolName}\`:
626
677
  - \`method\`: \`"GET"\`
627
- - \`path\`: \`"/users/me/calendarList"\`
678
+ - \`path\`: \`"/calendars/<id>"\`
628
679
  - \`scopes\`: \`${READONLY_SCOPES}\`
680
+ - On success, capture \`data.summary\` as the calendar name
681
+ - On failure (404 / 403 / etc.), record the ID as inaccessible
629
682
 
630
- 2. Branch on the result:
631
- - Empty: if the access method is \`"service-account"\` only, jump to Step 5. If \`"both"\`, continue to Step 3.
632
- - Non-empty: ask the user to pick:
633
- - \`type\`: \`"multiSelect"\`
634
- - \`question\`: "Select the calendars to use (multiple allowed)"
635
- - \`options\`: For each calendar, \`label\`: \`"<calendar name>"\`, \`value\`: \`"<calendarId>"\`
683
+ 3. Branch on the results:
684
+ - **All IDs failed**: if the access method is \`"service-account"\` only, jump to Step 5. If \`"both"\`, continue to Step 3.
685
+ - **Any success**: take the verified calendars as the selection for Step 4. If some failed, mention them briefly in one sentence.
686
+
687
+ ## Step 3: Domain-wide Delegation path (when \`"delegation"\` or \`"both"\`)
636
688
 
637
- ## Step 3: Discover and select via the Domain-wide Delegation path (when \`"delegation"\` or \`"both"\`)
689
+ Discover calendars from each Workspace user and let the user narrow them down.
638
690
 
639
- 1. Ask the user for target emails:
691
+ 1. Ask the user for the target Workspace user emails:
640
692
  - \`type\`: \`"freeText"\`
641
- - \`question\`: "Enter the email addresses of the Google Workspace users whose calendars you want to access (comma-separated for multiple). Your Workspace admin must have authorized Domain-wide Delegation for this service account in advance ([admin setup guide](https://support.google.com/a/answer/162106))."
693
+ - \`question\`: "Enter the email addresses of the Google Workspace users whose calendars you want to access (comma-separated for multiple). Your Workspace admin must have authorized Domain-wide Delegation for service account \`<serviceAccountEmail>\` in advance ([admin setup guide](https://support.google.com/a/answer/162106))."
642
694
  - \`placeholder\`: \`"alice@example.com, bob@example.com"\`
643
695
 
644
- 2. Extract individual emails and, for each \`<email>\`, call \`${requestWithDelegationToolName}\`:
696
+ 2. For each email \`<email>\`, list calendars accessible to that user via \`${requestWithDelegationToolName}\`:
645
697
  - \`method\`: \`"GET"\`
646
698
  - \`path\`: \`"/users/me/calendarList"\`
647
699
  - \`subject\`: \`<email>\`
648
700
  - \`scopes\`: \`${READONLY_SCOPES}\`
649
701
 
650
702
  3. Branch on the results:
651
- - All emails failed: if the access method is \`"delegation"\` only, or it's \`"both"\` but Step 2 also produced 0 calendars, jump to Step 5. If \`"both"\` and Step 2 had calendars, proceed to Step 4.
652
- - Any success: ask the user to pick:
703
+ - **All emails failed**: if the access method is \`"delegation"\` only, or \`"both"\` with no calendars from Step 2, jump to Step 5. If \`"both"\` and Step 2 had calendars, continue to Step 4.
704
+ - **Any success**: ask the user to narrow down via \`askUserQuestion\`:
653
705
  - \`type\`: \`"multiSelect"\`
654
706
  - \`question\`: "Select the calendars to use (multiple allowed)"
655
- - \`options\`: For each calendar, \`label\`: \`"<calendar name> (owner: <the subject used>)"\`, \`value\`: \`"<calendarId>"\`
656
- - If some emails failed, mention that briefly in one sentence.
707
+ - \`options\`: For each discovered calendar, \`label\`: \`"<calendar name> (owner: <the subject used>)"\`, \`value\`: \`"<calendarId>"\`
708
+ - If some emails failed, mention them briefly in one sentence.
657
709
 
658
710
  ## Step 4: Record in Project Knowledge
659
711
 
660
- Aggregate the calendarIds selected in Steps 2 and 3, cross-reference the discovery results to recover each calendar's access path and subject, and call \`finalizeSetup\`. Under \`#### \u30B9\u30B3\u30FC\u30D7\` in \`projectKnowledge\`, list each calendar on its own line:
712
+ Aggregate the calendarIds from Steps 2 and 3. Cross-reference each calendarId against the verification result (Step 2) or the discovery result (Step 3) to recover its access path and, for delegation, the subject. Call \`finalizeSetup\`. Under \`#### \u30B9\u30B3\u30FC\u30D7\` in \`projectKnowledge\`, list each calendar on its own line:
661
713
  - Via Domain-wide Delegation: \`- calendar: <calendarId> (delegation, subject: <subject>, name: "<calendar name>")\`
662
714
  - Via service account: \`- calendar: <calendarId> (service-account, name: "<calendar name>")\`
663
715
 
664
716
  ## Step 5: Escalation when zero calendars are selected
665
717
 
666
- If the final selected calendar set is empty (every attempted path returned nothing, or the user picked nothing), take \`serviceAccountEmail\` from any failed tool response and call \`askUserQuestion\`:
718
+ When no calendars end up selected, call \`askUserQuestion\`:
667
719
 
668
720
  - \`question\`: "No accessible calendars found. Please do one of the following before continuing. Service account: \`<serviceAccountEmail>\`."
669
721
  - \`options\`: Combine these based on which paths were attempted:
@@ -673,11 +725,11 @@ If the final selected calendar set is empty (every attempted path returned nothi
673
725
  - Always: \`{ label: "Use a different service account", value: "change-service-account" }\`
674
726
 
675
727
  Behavior per selection:
676
- - "retry": re-probe the path that was just attempted (leave the exact retry plan to the agent)
728
+ - "retry": re-probe the path that was just attempted (the agent decides the exact retry plan)
677
729
  - "restart": re-run from Step 1
678
730
  - "change-service-account": call \`updateConnectionParameters\` to have the user re-upload the service account JSON:
679
731
  - \`parameterSlug\`: \`"${SERVICE_ACCOUNT_KEY_PARAM_SLUG}"\`
680
- - After it completes, re-run from Step 1
732
+ - After it completes, re-run from Step 0
681
733
 
682
734
  ## Constraints
683
735
 
@@ -719,6 +771,7 @@ var googleCalendarConnector = new ConnectorPlugin({
719
771
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/2YsqoBEpdELmfDeFcyGHyE/4494c633b5ae15e562cb739cd85442c1/google-calendar.png",
720
772
  parameters,
721
773
  releaseFlag: { dev1: true, dev2: true, prod: true },
774
+ categories: ["productivity"],
722
775
  onboarding: googleCalendarOnboarding,
723
776
  systemPrompt: {
724
777
  en: `### Tools
@@ -107,6 +107,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
107
107
  releaseFlag;
108
108
  proxyPolicy;
109
109
  experimentalAttributes;
110
+ categories;
110
111
  onboarding;
111
112
  systemPrompt;
112
113
  tools;
@@ -122,6 +123,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
122
123
  this.releaseFlag = config.releaseFlag;
123
124
  this.proxyPolicy = config.proxyPolicy;
124
125
  this.experimentalAttributes = config.experimentalAttributes;
126
+ this.categories = config.categories ?? [];
125
127
  this.onboarding = config.onboarding;
126
128
  this.systemPrompt = config.systemPrompt;
127
129
  this.tools = config.tools;
@@ -342,6 +344,7 @@ var googleDocsConnector = new ConnectorPlugin({
342
344
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6vvcGJisvXjOumeTvswjzf/e9bb39e453cc0b71a20f26019b23b0d2/google_docs.png",
343
345
  parameters,
344
346
  releaseFlag: { dev1: true, dev2: false, prod: false },
347
+ categories: ["productivity"],
345
348
  onboarding: googleDocsOnboarding,
346
349
  proxyPolicy: {
347
350
  allowlist: [
@@ -196,6 +196,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
196
196
  releaseFlag;
197
197
  proxyPolicy;
198
198
  experimentalAttributes;
199
+ categories;
199
200
  onboarding;
200
201
  systemPrompt;
201
202
  tools;
@@ -211,6 +212,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
211
212
  this.releaseFlag = config.releaseFlag;
212
213
  this.proxyPolicy = config.proxyPolicy;
213
214
  this.experimentalAttributes = config.experimentalAttributes;
215
+ this.categories = config.categories ?? [];
214
216
  this.onboarding = config.onboarding;
215
217
  this.systemPrompt = config.systemPrompt;
216
218
  this.tools = config.tools;
@@ -429,6 +431,7 @@ var googleDriveConnector = new ConnectorPlugin({
429
431
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/4GJX5yQTogUgar1buWxXbv/4b43a65353319c508111489f834d22c4/google_drive.png",
430
432
  parameters,
431
433
  releaseFlag: { dev1: true, dev2: false, prod: false },
434
+ categories: ["productivity"],
432
435
  onboarding: googleDriveOnboarding,
433
436
  proxyPolicy: {
434
437
  allowlist: [
@@ -177,6 +177,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
177
177
  releaseFlag;
178
178
  proxyPolicy;
179
179
  experimentalAttributes;
180
+ categories;
180
181
  onboarding;
181
182
  systemPrompt;
182
183
  tools;
@@ -192,6 +193,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
192
193
  this.releaseFlag = config.releaseFlag;
193
194
  this.proxyPolicy = config.proxyPolicy;
194
195
  this.experimentalAttributes = config.experimentalAttributes;
196
+ this.categories = config.categories ?? [];
195
197
  this.onboarding = config.onboarding;
196
198
  this.systemPrompt = config.systemPrompt;
197
199
  this.tools = config.tools;
@@ -466,6 +468,7 @@ var googleSheetsConnector = new ConnectorPlugin({
466
468
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/1UPQuggyiZmbb26CuaSr2h/032770e8739b183fa00b7625f024e536/google-sheets.svg",
467
469
  parameters,
468
470
  releaseFlag: { dev1: true, dev2: false, prod: false },
471
+ categories: ["productivity"],
469
472
  onboarding: googleSheetsOnboarding,
470
473
  proxyPolicy: {
471
474
  allowlist: [
@@ -119,6 +119,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
119
119
  releaseFlag;
120
120
  proxyPolicy;
121
121
  experimentalAttributes;
122
+ categories;
122
123
  onboarding;
123
124
  systemPrompt;
124
125
  tools;
@@ -134,6 +135,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
134
135
  this.releaseFlag = config.releaseFlag;
135
136
  this.proxyPolicy = config.proxyPolicy;
136
137
  this.experimentalAttributes = config.experimentalAttributes;
138
+ this.categories = config.categories ?? [];
137
139
  this.onboarding = config.onboarding;
138
140
  this.systemPrompt = config.systemPrompt;
139
141
  this.tools = config.tools;
@@ -352,6 +354,7 @@ var googleSlidesConnector = new ConnectorPlugin({
352
354
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/4oyF4yTRpemMA43X49masx/e1582d25e3b4c9a63ba83df2147c1968/google_slide.png",
353
355
  parameters,
354
356
  releaseFlag: { dev1: true, dev2: false, prod: false },
357
+ categories: ["productivity"],
355
358
  onboarding: googleSlidesOnboarding,
356
359
  proxyPolicy: {
357
360
  allowlist: [
@@ -216,6 +216,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
216
216
  releaseFlag;
217
217
  proxyPolicy;
218
218
  experimentalAttributes;
219
+ categories;
219
220
  onboarding;
220
221
  systemPrompt;
221
222
  tools;
@@ -231,6 +232,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
231
232
  this.releaseFlag = config.releaseFlag;
232
233
  this.proxyPolicy = config.proxyPolicy;
233
234
  this.experimentalAttributes = config.experimentalAttributes;
235
+ this.categories = config.categories ?? [];
234
236
  this.onboarding = config.onboarding;
235
237
  this.systemPrompt = config.systemPrompt;
236
238
  this.tools = config.tools;
@@ -414,6 +416,7 @@ var grafanaConnector = new ConnectorPlugin({
414
416
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/3nGaPhV94lXQsHcCtv4mXz/0559d42f83066e8ba79e78410806750c/grafana-icon.webp",
415
417
  parameters,
416
418
  releaseFlag: { dev1: true, dev2: true, prod: true },
419
+ categories: ["observability"],
417
420
  onboarding: grafanaOnboarding,
418
421
  systemPrompt: {
419
422
  en: `### Tools
@@ -61,6 +61,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
61
61
  releaseFlag;
62
62
  proxyPolicy;
63
63
  experimentalAttributes;
64
+ categories;
64
65
  onboarding;
65
66
  systemPrompt;
66
67
  tools;
@@ -76,6 +77,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
76
77
  this.releaseFlag = config.releaseFlag;
77
78
  this.proxyPolicy = config.proxyPolicy;
78
79
  this.experimentalAttributes = config.experimentalAttributes;
80
+ this.categories = config.categories ?? [];
79
81
  this.onboarding = config.onboarding;
80
82
  this.systemPrompt = config.systemPrompt;
81
83
  this.tools = config.tools;
@@ -318,6 +320,7 @@ var hubspotOauthConnector = new ConnectorPlugin({
318
320
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
319
321
  parameters,
320
322
  releaseFlag: { dev1: true, dev2: false, prod: false },
323
+ categories: ["crm"],
321
324
  onboarding: hubspotOnboarding,
322
325
  proxyPolicy: {
323
326
  allowlist: [
@@ -190,6 +190,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
190
190
  releaseFlag;
191
191
  proxyPolicy;
192
192
  experimentalAttributes;
193
+ categories;
193
194
  onboarding;
194
195
  systemPrompt;
195
196
  tools;
@@ -205,6 +206,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
205
206
  this.releaseFlag = config.releaseFlag;
206
207
  this.proxyPolicy = config.proxyPolicy;
207
208
  this.experimentalAttributes = config.experimentalAttributes;
209
+ this.categories = config.categories ?? [];
208
210
  this.onboarding = config.onboarding;
209
211
  this.systemPrompt = config.systemPrompt;
210
212
  this.tools = config.tools;
@@ -384,6 +386,7 @@ var hubspotConnector = new ConnectorPlugin({
384
386
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5UcSkKkzhUMA4RsM45ynuo/43b967e36915ca0fc5d277684b204320/hubspot.svg",
385
387
  parameters,
386
388
  releaseFlag: { dev1: true, dev2: true, prod: true },
389
+ categories: ["crm"],
387
390
  onboarding: hubspotOnboarding,
388
391
  systemPrompt: {
389
392
  en: `### Tools
@@ -249,6 +249,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
249
249
  releaseFlag;
250
250
  proxyPolicy;
251
251
  experimentalAttributes;
252
+ categories;
252
253
  onboarding;
253
254
  systemPrompt;
254
255
  tools;
@@ -264,6 +265,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
264
265
  this.releaseFlag = config.releaseFlag;
265
266
  this.proxyPolicy = config.proxyPolicy;
266
267
  this.experimentalAttributes = config.experimentalAttributes;
268
+ this.categories = config.categories ?? [];
267
269
  this.onboarding = config.onboarding;
268
270
  this.systemPrompt = config.systemPrompt;
269
271
  this.tools = config.tools;
@@ -520,6 +522,7 @@ var influxdbConnector = new ConnectorPlugin({
520
522
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/J1JauVRNmahSVTVrpPfQK/18350d8d3f2dc3be25e8e36ee52914a0/influxdb.png",
521
523
  parameters,
522
524
  releaseFlag: { dev1: true, dev2: true, prod: true },
525
+ categories: ["database"],
523
526
  onboarding: influxdbOnboarding,
524
527
  systemPrompt: {
525
528
  en: `### Variant Detection
@@ -61,6 +61,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
61
61
  releaseFlag;
62
62
  proxyPolicy;
63
63
  experimentalAttributes;
64
+ categories;
64
65
  onboarding;
65
66
  systemPrompt;
66
67
  tools;
@@ -76,6 +77,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
76
77
  this.releaseFlag = config.releaseFlag;
77
78
  this.proxyPolicy = config.proxyPolicy;
78
79
  this.experimentalAttributes = config.experimentalAttributes;
80
+ this.categories = config.categories ?? [];
79
81
  this.onboarding = config.onboarding;
80
82
  this.systemPrompt = config.systemPrompt;
81
83
  this.tools = config.tools;
@@ -325,6 +327,7 @@ var intercomOauthConnector = new ConnectorPlugin({
325
327
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/sb2cRMGClpId0LKiSqsok/ae90a0849f21ffe3faf73e04a5676b45/intercom.svg",
326
328
  parameters,
327
329
  releaseFlag: { dev1: true, dev2: false, prod: false },
330
+ categories: ["crm"],
328
331
  onboarding: intercomOauthOnboarding,
329
332
  proxyPolicy: {
330
333
  allowlist: [
@@ -208,6 +208,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
208
208
  releaseFlag;
209
209
  proxyPolicy;
210
210
  experimentalAttributes;
211
+ categories;
211
212
  onboarding;
212
213
  systemPrompt;
213
214
  tools;
@@ -223,6 +224,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
223
224
  this.releaseFlag = config.releaseFlag;
224
225
  this.proxyPolicy = config.proxyPolicy;
225
226
  this.experimentalAttributes = config.experimentalAttributes;
227
+ this.categories = config.categories ?? [];
226
228
  this.onboarding = config.onboarding;
227
229
  this.systemPrompt = config.systemPrompt;
228
230
  this.tools = config.tools;
@@ -410,6 +412,7 @@ var intercomConnector = new ConnectorPlugin({
410
412
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/sb2cRMGClpId0LKiSqsok/ae90a0849f21ffe3faf73e04a5676b45/intercom.svg",
411
413
  parameters,
412
414
  releaseFlag: { dev1: true, dev2: true, prod: true },
415
+ categories: ["crm"],
413
416
  onboarding: intercomOnboarding,
414
417
  systemPrompt: {
415
418
  en: `### Tools
@@ -157,6 +157,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
157
157
  releaseFlag;
158
158
  proxyPolicy;
159
159
  experimentalAttributes;
160
+ categories;
160
161
  onboarding;
161
162
  systemPrompt;
162
163
  tools;
@@ -172,6 +173,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
172
173
  this.releaseFlag = config.releaseFlag;
173
174
  this.proxyPolicy = config.proxyPolicy;
174
175
  this.experimentalAttributes = config.experimentalAttributes;
176
+ this.categories = config.categories ?? [];
175
177
  this.onboarding = config.onboarding;
176
178
  this.systemPrompt = config.systemPrompt;
177
179
  this.tools = config.tools;
@@ -350,6 +352,7 @@ var jiraConnector = new ConnectorPlugin({
350
352
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/5zt4yjb36szSPPkCECYlPL/bc3e7223dc84fb16a1cce53a80f5afcc/jira.png",
351
353
  parameters,
352
354
  releaseFlag: { dev1: true, dev2: true, prod: true },
355
+ categories: ["productivity"],
353
356
  onboarding: jiraOnboarding,
354
357
  systemPrompt: {
355
358
  en: `### Tools
@@ -186,6 +186,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
186
186
  releaseFlag;
187
187
  proxyPolicy;
188
188
  experimentalAttributes;
189
+ categories;
189
190
  onboarding;
190
191
  systemPrompt;
191
192
  tools;
@@ -201,6 +202,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
201
202
  this.releaseFlag = config.releaseFlag;
202
203
  this.proxyPolicy = config.proxyPolicy;
203
204
  this.experimentalAttributes = config.experimentalAttributes;
205
+ this.categories = config.categories ?? [];
204
206
  this.onboarding = config.onboarding;
205
207
  this.systemPrompt = config.systemPrompt;
206
208
  this.tools = config.tools;
@@ -409,6 +411,7 @@ var kintoneApiTokenConnector = new ConnectorPlugin({
409
411
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/76nPGMJFZkMFE3UQNo2JFy/e71dc5f5d5cec1306ce0e17aafbfd9f0/kintone.png",
410
412
  parameters,
411
413
  releaseFlag: { dev1: true, dev2: true, prod: true },
414
+ categories: ["productivity"],
412
415
  onboarding: kintoneApiTokenOnboarding,
413
416
  systemPrompt: {
414
417
  en: `### Tools