@squadbase/vite-server 0.1.9-dev.b193824 → 0.1.9-dev.d3c856d

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
@@ -94802,7 +94802,7 @@ var snowflakeOnboarding = new ConnectorOnboarding({
94802
94802
  8. \u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
94803
94803
  - **\u30C6\u30FC\u30D6\u30EB\u304C2\u3064\u4EE5\u4E0A**: \`askUserQuestion\`\uFF08multiSelect: true\uFF09\u3067\u30E6\u30FC\u30B6\u30FC\u306B\u63D0\u793A\u3057\u3001\u4F7F\u7528\u3059\u308B\u30C6\u30FC\u30D6\u30EB\u3092\u9078\u629E\u3055\u305B\u308B\u3002description \u306B\u306F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D.\u30B9\u30AD\u30FC\u30DE\u540D\u3092\u8A18\u8F09\u3059\u308B
94804
94804
  - **\u30C6\u30FC\u30D6\u30EB\u304C1\u3064\u3060\u3051**: askUserQuestion \u306F\u4F7F\u308F\u305A\u81EA\u52D5\u63A1\u7528
94805
- 9. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D72\u3067\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092 \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B \`- database: <\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D>\` \u3068\u3057\u3066\u3001\u30B9\u30C6\u30C3\u30D75\u3067\u9078\u629E\u3057\u305F\u30B9\u30AD\u30FC\u30DE\u3092 \`- schema: <\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D>.<\u30B9\u30AD\u30FC\u30DE\u540D>\` \u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3053\u3068\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u8907\u6570\u884C\u3067\u5217\u6319\u3059\u308B\uFF09\u3002\u300C\u5168\u30C6\u30FC\u30D6\u30EB\u300D\u304C\u9078\u3070\u308C\u305F\u30B9\u30AD\u30FC\u30DE\u306B\u3064\u3044\u3066\u306F \`#### \u30C6\u30FC\u30D6\u30EB\` \u3067\u500B\u5225\u5217\u6319\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u30B9\u30B3\u30FC\u30D7\u7BC0\u306B \`- allTables: <\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D>.<\u30B9\u30AD\u30FC\u30DE\u540D>.*\` \u306E\u5F62\u3067\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9\u7BC4\u56F2\u3092\u660E\u793A\u7684\u306B\u8A18\u9332\u3059\u308B\u3002\u500B\u5225\u306B\u9078\u629E\u3055\u308C\u305F\u30C6\u30FC\u30D6\u30EB\u306F \`#### \u30C6\u30FC\u30D6\u30EB\` \u7BC0\u3067\u5217\u6319\u3055\u308C\u308B\u305F\u3081\u3001\u30B9\u30B3\u30FC\u30D7\u7BC0\u306B\u306F\u66F8\u304B\u306A\u3044\u3002
94805
+ 9. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D72\u3067\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3068\u30B9\u30C6\u30C3\u30D75\u3067\u9078\u629E\u3057\u305F\u30B9\u30AD\u30FC\u30DE\u3092\u3001\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u5168\u4EF6\uFF09\u3002\u5404\u30B9\u30AD\u30FC\u30DE\u306B\u3064\u3044\u3066\u300C\u5168\u30C6\u30FC\u30D6\u30EB\u300D\u304C\u9078\u3070\u308C\u305F\u304B\u300C\u7279\u5B9A\u30C6\u30FC\u30D6\u30EB\u300D\u304C\u9078\u3070\u308C\u305F\u304B\u3092\u533A\u5225\u3057\u3066\u8A18\u9332\u3057\u3001\u7279\u5B9A\u30C6\u30FC\u30D6\u30EB\u304C\u9078\u3070\u308C\u305F\u5834\u5408\u306F\u5BFE\u8C61\u30C6\u30FC\u30D6\u30EB\u540D\u3082\u542B\u3081\u308B\u3002
94806
94806
 
94807
94807
  #### \u5236\u7D04
94808
94808
  - askUserQuestion \u306E options \u306B\u306F\u6700\u4F4E2\u4EF6\u5FC5\u8981\u30021\u4EF6\u3057\u304B\u306A\u3044\u5834\u5408\u306F askUserQuestion \u3092\u547C\u3070\u305A\u6B21\u306E\u30B9\u30C6\u30C3\u30D7\u306B\u9032\u3080\u3053\u3068
@@ -94825,7 +94825,7 @@ var snowflakeOnboarding = new ConnectorOnboarding({
94825
94825
  8. Branch based on results:
94826
94826
  - **2 or more tables**: Present them to the user via \`askUserQuestion\` (multiSelect: true) and let them select which tables to use. Include database.schema in the description
94827
94827
  - **Exactly 1 table**: Do NOT call askUserQuestion. Auto-select it
94828
- 9. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record each database selected in step 2 under the \`#### \u30B9\u30B3\u30FC\u30D7\` subsection as \`- database: <database_name>\` and each schema selected in step 5 as \`- schema: <database_name>.<schema_name>\` (one bullet per selection if multiple were chosen). For schemas where "all tables" was chosen, the wildcard range cannot be expressed by the per-table enumeration under \`#### \u30C6\u30FC\u30D6\u30EB\`, so record it in the scope section as \`- allTables: <database_name>.<schema_name>.*\`. Individually selected tables are listed under \`#### \u30C6\u30FC\u30D6\u30EB\`, so do NOT repeat them in the scope section.
94828
+ 9. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record the databases selected in step 2 and the schemas selected in step 5 as this connection's scope info (record all of them if multiple were chosen). For each schema, indicate whether "all tables" or "specific tables" was chosen, and if specific tables were chosen, include the selected table names.
94829
94829
 
94830
94830
  #### Constraints
94831
94831
  - askUserQuestion options requires at least 2 items. If there is only 1 item, do NOT call askUserQuestion \u2014 proceed to the next step directly
@@ -96135,7 +96135,7 @@ var bigqueryOnboarding = new ConnectorOnboarding({
96135
96135
  7. \u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
96136
96136
  - **\u30C6\u30FC\u30D6\u30EB\u304C2\u3064\u4EE5\u4E0A**: \`askUserQuestion\`\uFF08multiSelect: true\uFF09\u3067\u30E6\u30FC\u30B6\u30FC\u306B\u63D0\u793A\u3057\u3001\u4F7F\u7528\u3059\u308B\u30C6\u30FC\u30D6\u30EB\u3092\u9078\u629E\u3055\u305B\u308B\u3002description \u306B\u306F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D\u3092\u8A18\u8F09\u3059\u308B
96137
96137
  - **\u30C6\u30FC\u30D6\u30EB\u304C1\u3064\u3060\u3051**: askUserQuestion \u306F\u4F7F\u308F\u305A\u81EA\u52D5\u63A1\u7528
96138
- 8. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D75\u3067\u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092 \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B \`- dataset: <\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D>\` \u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3053\u3068\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u8907\u6570\u884C\u3067\u5217\u6319\u3059\u308B\uFF09\u3002\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{dataset}\` \u306E\u5F62\u5F0F\u3067\u8A18\u9332\u3059\u308B\u3002\u9078\u629E\u3057\u305F\u30C6\u30FC\u30D6\u30EB\u306F \`#### \u30C6\u30FC\u30D6\u30EB\` \u7BC0\u3067\u5217\u6319\u3055\u308C\u308B\u305F\u3081\u3001\u30B9\u30B3\u30FC\u30D7\u7BC0\u306B \`tables\` \u306F\u66F8\u304B\u306A\u3044\u3002
96138
+ 8. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D75\u3067\u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u5168\u4EF6\uFF09\u3002\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{dataset}\` \u306E\u5F62\u5F0F\u3067\u8A18\u9332\u3059\u308B\u3002
96139
96139
 
96140
96140
  #### \u5236\u7D04
96141
96141
  - **\u30C6\u30FC\u30D6\u30EB\u306E\u884C\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\u30AF\u30A8\u30EA\u306E\u307F\u3002\u305D\u308C\u4EE5\u5916\u306E\u30AF\u30A8\u30EA\u306F\u5B9F\u884C\u7981\u6B62
@@ -96164,7 +96164,7 @@ var bigqueryOnboarding = new ConnectorOnboarding({
96164
96164
  7. Branch based on results:
96165
96165
  - **2 or more tables**: Present them to the user via \`askUserQuestion\` (multiSelect: true) and let them select which tables to use. Include the dataset name in the description
96166
96166
  - **Exactly 1 table**: Do NOT call askUserQuestion. Auto-select it
96167
- 8. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record each dataset selected in step 5 under the \`#### \u30B9\u30B3\u30FC\u30D7\` subsection as \`- dataset: <dataset_name>\` (one bullet per dataset if multiple were chosen). Use the form \`bigquery-public-data.{dataset}\` for public datasets. Selected tables are listed under \`#### \u30C6\u30FC\u30D6\u30EB\`, so do NOT add a \`tables:\` entry to the scope section.
96167
+ 8. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record each dataset selected in step 5 as this connection's scope info (record all of them if multiple were chosen). Use the form \`bigquery-public-data.{dataset}\` for public datasets.
96168
96168
 
96169
96169
  #### Constraints
96170
96170
  - **Do NOT read table row data**. Only the metadata queries specified in the steps above are allowed. All other queries are forbidden
@@ -96592,7 +96592,7 @@ var bigqueryOnboarding2 = new ConnectorOnboarding({
96592
96592
  7. \u7D50\u679C\u306B\u5FDC\u3058\u3066\u5206\u5C90:
96593
96593
  - **\u30C6\u30FC\u30D6\u30EB\u304C2\u3064\u4EE5\u4E0A**: \`askUserQuestion\`\uFF08multiSelect: true\uFF09\u3067\u30E6\u30FC\u30B6\u30FC\u306B\u63D0\u793A\u3057\u3001\u4F7F\u7528\u3059\u308B\u30C6\u30FC\u30D6\u30EB\u3092\u9078\u629E\u3055\u305B\u308B\u3002description \u306B\u306F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D\u3092\u8A18\u8F09\u3059\u308B
96594
96594
  - **\u30C6\u30FC\u30D6\u30EB\u304C1\u3064\u3060\u3051**: askUserQuestion \u306F\u4F7F\u308F\u305A\u81EA\u52D5\u63A1\u7528
96595
- 8. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D75\u3067\u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092 \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B \`- dataset: <\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D>\` \u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3053\u3068\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u8907\u6570\u884C\u3067\u5217\u6319\u3059\u308B\uFF09\u3002\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{dataset}\` \u306E\u5F62\u5F0F\u3067\u8A18\u9332\u3059\u308B\u3002\u9078\u629E\u3057\u305F\u30C6\u30FC\u30D6\u30EB\u306F \`#### \u30C6\u30FC\u30D6\u30EB\` \u7BC0\u3067\u5217\u6319\u3055\u308C\u308B\u305F\u3081\u3001\u30B9\u30B3\u30FC\u30D7\u7BC0\u306B \`tables\` \u306F\u66F8\u304B\u306A\u3044\u3002
96595
+ 8. Phase 5 \u306E \`finalizeSetup\` \u306B\u6E21\u3059 \`projectKnowledge\` \u3067\u306F\u3001\u30B9\u30C6\u30C3\u30D75\u3067\u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\uFF08\u8907\u6570\u9078\u629E\u3057\u305F\u5834\u5408\u306F\u5168\u4EF6\uFF09\u3002\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{dataset}\` \u306E\u5F62\u5F0F\u3067\u8A18\u9332\u3059\u308B\u3002
96596
96596
 
96597
96597
  #### \u5236\u7D04
96598
96598
  - **\u30C6\u30FC\u30D6\u30EB\u306E\u884C\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\u30AF\u30A8\u30EA\u306E\u307F\u3002\u305D\u308C\u4EE5\u5916\u306E\u30AF\u30A8\u30EA\u306F\u5B9F\u884C\u7981\u6B62
@@ -96621,7 +96621,7 @@ var bigqueryOnboarding2 = new ConnectorOnboarding({
96621
96621
  7. Branch based on results:
96622
96622
  - **2 or more tables**: Present them to the user via \`askUserQuestion\` (multiSelect: true) and let them select which tables to use. Include the dataset name in the description
96623
96623
  - **Exactly 1 table**: Do NOT call askUserQuestion. Auto-select it
96624
- 8. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record each dataset selected in step 5 under the \`#### \u30B9\u30B3\u30FC\u30D7\` subsection as \`- dataset: <dataset_name>\` (one bullet per dataset if multiple were chosen). Use the form \`bigquery-public-data.{dataset}\` for public datasets. Selected tables are listed under \`#### \u30C6\u30FC\u30D6\u30EB\`, so do NOT add a \`tables:\` entry to the scope section.
96624
+ 8. When passing \`projectKnowledge\` to \`finalizeSetup\` in Phase 5, record each dataset selected in step 5 as this connection's scope info (record all of them if multiple were chosen). Use the form \`bigquery-public-data.{dataset}\` for public datasets.
96625
96625
 
96626
96626
  #### Constraints
96627
96627
  - **Do NOT read table row data**. Only the metadata queries specified in the steps above are allowed. All other queries are forbidden
@@ -97653,7 +97653,7 @@ var awsBillingConnector = new ConnectorPlugin({
97653
97653
  description: "Connect to AWS Cost Explorer to analyze AWS spend, usage, and forecast costs across services, accounts, and regions.",
97654
97654
  iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6u4IRN1BNS0EVSjsWSnrq1/53721bfc097a5ff04d07c15cc5e80a0d/Amazon_Web_Services-Logo.wine.svg",
97655
97655
  parameters: parameters8,
97656
- releaseFlag: { dev1: true, dev2: false, prod: false },
97656
+ releaseFlag: { dev1: true, dev2: true, prod: true },
97657
97657
  categories: ["finance"],
97658
97658
  onboarding: awsBillingOnboarding,
97659
97659
  systemPrompt: {
@@ -100108,6 +100108,16 @@ const realtime = await ga.runRealtimeReport({
100108
100108
  // ../connectors/src/connectors/google-calendar/tools/request.ts
100109
100109
  import { z as z24 } from "zod";
100110
100110
 
100111
+ // ../connectors/src/lib/normalize-path.ts
100112
+ function normalizeRequestPath(path5, basePathSegment) {
100113
+ let p2 = path5.trim();
100114
+ if (!p2.startsWith("/")) p2 = "/" + p2;
100115
+ if (p2 === basePathSegment || p2.startsWith(basePathSegment + "/")) {
100116
+ p2 = p2.slice(basePathSegment.length) || "/";
100117
+ }
100118
+ return p2;
100119
+ }
100120
+
100111
100121
  // ../connectors/src/connectors/google-calendar/parameters.ts
100112
100122
  var parameters15 = {
100113
100123
  serviceAccountKeyJsonBase64: new ParameterDefinition({
@@ -100122,7 +100132,9 @@ var parameters15 = {
100122
100132
  };
100123
100133
 
100124
100134
  // ../connectors/src/connectors/google-calendar/tools/request.ts
100125
- var BASE_URL6 = "https://www.googleapis.com/calendar/v3";
100135
+ var BASE_HOST = "https://www.googleapis.com";
100136
+ var BASE_PATH_SEGMENT = "/calendar/v3";
100137
+ var BASE_URL6 = `${BASE_HOST}${BASE_PATH_SEGMENT}`;
100126
100138
  var REQUEST_TIMEOUT_MS14 = 6e4;
100127
100139
  function decodeServiceAccount(keyJsonBase64) {
100128
100140
  const decoded = Buffer.from(keyJsonBase64, "base64").toString("utf-8");
@@ -100201,7 +100213,8 @@ var requestTool5 = new ConnectorTool({
100201
100213
  serviceAccountEmail
100202
100214
  };
100203
100215
  }
100204
- let url = `${BASE_URL6}${path5.startsWith("/") ? "" : "/"}${path5}`;
100216
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT);
100217
+ let url = `${BASE_URL6}${normalizedPath}`;
100205
100218
  if (queryParams) {
100206
100219
  const searchParams = new URLSearchParams(queryParams);
100207
100220
  url += `?${searchParams.toString()}`;
@@ -100251,7 +100264,9 @@ var requestTool5 = new ConnectorTool({
100251
100264
 
100252
100265
  // ../connectors/src/connectors/google-calendar/tools/request-with-delegation.ts
100253
100266
  import { z as z25 } from "zod";
100254
- var BASE_URL7 = "https://www.googleapis.com/calendar/v3";
100267
+ var BASE_HOST2 = "https://www.googleapis.com";
100268
+ var BASE_PATH_SEGMENT2 = "/calendar/v3";
100269
+ var BASE_URL7 = `${BASE_HOST2}${BASE_PATH_SEGMENT2}`;
100255
100270
  var REQUEST_TIMEOUT_MS15 = 6e4;
100256
100271
  function decodeServiceAccount2(keyJsonBase64) {
100257
100272
  const decoded = Buffer.from(keyJsonBase64, "base64").toString("utf-8");
@@ -100336,7 +100351,8 @@ var requestWithDelegationTool = new ConnectorTool({
100336
100351
  serviceAccountEmail
100337
100352
  };
100338
100353
  }
100339
- let url = `${BASE_URL7}${path5.startsWith("/") ? "" : "/"}${path5}`;
100354
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT2);
100355
+ let url = `${BASE_URL7}${normalizedPath}`;
100340
100356
  if (queryParams) {
100341
100357
  const searchParams = new URLSearchParams(queryParams);
100342
100358
  url += `?${searchParams.toString()}`;
@@ -100459,9 +100475,7 @@ var googleCalendarOnboarding = new ConnectorOnboarding({
100459
100475
 
100460
100476
  ## \u30B9\u30C6\u30C3\u30D7 4: Project Knowledge \u306B\u8A18\u9332
100461
100477
 
100462
- \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:
100463
- - \u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306E\u59D4\u4EFB\u7D4C\u7531: \`- calendar: <calendarId> (delegation, subject: <subject>, name: "<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D>")\`
100464
- - \u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u7D4C\u8DEF: \`- calendar: <calendarId> (service-account, name: "<\u30AB\u30EC\u30F3\u30C0\u30FC\u540D>")\`
100478
+ \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\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u300C\u30AB\u30EC\u30F3\u30C0\u30FC\u540D\u30FB\u30AB\u30EC\u30F3\u30C0\u30FC ID\u30FB\u30A2\u30AF\u30BB\u30B9\u7D4C\u8DEF\uFF08delegation \u304B service-account \u304B\uFF09\u30FBdelegation \u306E\u5834\u5408\u306F subject\u300D\u3068\u3068\u3082\u306B\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3002
100465
100479
 
100466
100480
  ## \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
100467
100481
 
@@ -100553,9 +100567,7 @@ Discover calendars from each Workspace user and let the user narrow them down.
100553
100567
 
100554
100568
  ## Step 4: Record in Project Knowledge
100555
100569
 
100556
- 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:
100557
- - Via Domain-wide Delegation: \`- calendar: <calendarId> (delegation, subject: <subject>, name: "<calendar name>")\`
100558
- - Via service account: \`- calendar: <calendarId> (service-account, name: "<calendar name>")\`
100570
+ 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\` and record each calendar with its name, calendar ID, access path (delegation or service-account), and (for delegation) the subject as this connection's scope info.
100559
100571
 
100560
100572
  ## Step 5: Escalation when zero calendars are selected
100561
100573
 
@@ -100581,18 +100593,18 @@ Behavior per selection:
100581
100593
  - Write at most 1 sentence between tool calls`
100582
100594
  },
100583
100595
  dataOverviewInstructions: {
100584
- en: `For each calendar recorded under \`#### \u30B9\u30B3\u30FC\u30D7\`, fetch metadata and a small sample of upcoming events. The annotation on each line tells you which tool to use:
100585
- - \`(delegation, subject: <email>, ...)\` \u2192 \`${requestWithDelegationToolName}\` with \`subject: <email>\`
100586
- - \`(service-account, ...)\` \u2192 \`${requestToolName}\`
100596
+ en: `For each calendar configured for this connection, fetch metadata and a small sample of upcoming events. Pick the tool that matches the calendar's access path:
100597
+ - Calendars accessed via delegation \u2192 \`${requestWithDelegationToolName}\` with the user's email as \`subject\`
100598
+ - Calendars shared directly with the service account \u2192 \`${requestToolName}\`
100587
100599
 
100588
100600
  Pass \`scopes: ${READONLY_SCOPES}\` for every call.
100589
100601
 
100590
100602
  For each calendar:
100591
100603
  1. \`method=GET\`, \`path=/calendars/<id>\` to fetch metadata.
100592
100604
  2. \`method=GET\`, \`path=/calendars/<id>/events\`, \`queryParams={ timeMin: <RFC3339 now>, maxResults: "10", singleEvents: "true", orderBy: "startTime" }\`.`,
100593
- ja: `\`#### \u30B9\u30B3\u30FC\u30D7\` \u306E\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u3064\u3044\u3066\u3001\u30E1\u30BF\u30C7\u30FC\u30BF\u3068\u76F4\u8FD1\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u5C11\u91CF\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u5404\u884C\u306E\u6CE8\u91C8\u3067\u4F7F\u7528\u3059\u308B\u30C4\u30FC\u30EB\u3092\u9078\u3073\u307E\u3059:
100594
- - \`(delegation, subject: <email>, ...)\` \u2192 \`${requestWithDelegationToolName}\` \u3092 \`subject: <email>\` \u4ED8\u304D\u3067\u547C\u3076
100595
- - \`(service-account, ...)\` \u2192 \`${requestToolName}\` \u3092\u547C\u3076
100605
+ ja: `\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u3067\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u3064\u3044\u3066\u3001\u30E1\u30BF\u30C7\u30FC\u30BF\u3068\u76F4\u8FD1\u306E\u30A4\u30D9\u30F3\u30C8\u3092\u5C11\u91CF\u53D6\u5F97\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30A2\u30AF\u30BB\u30B9\u7D4C\u8DEF\u306B\u5FDC\u3058\u3066\u30C4\u30FC\u30EB\u3092\u9078\u3073\u307E\u3059:
100606
+ - delegation \u7D4C\u7531\u306E\u30AB\u30EC\u30F3\u30C0\u30FC \u2192 \`${requestWithDelegationToolName}\` \u3092\u3001\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u547C\u3076
100607
+ - service account \u306B\u76F4\u63A5\u5171\u6709\u3055\u308C\u305F\u30AB\u30EC\u30F3\u30C0\u30FC \u2192 \`${requestToolName}\` \u3092\u547C\u3076
100596
100608
 
100597
100609
  \`scopes\` \u306F\u6BCE\u56DE \`${READONLY_SCOPES}\` \u3092\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
100598
100610
 
@@ -100641,10 +100653,10 @@ Per-endpoint scope reference: https://developers.google.com/calendar/api/auth
100641
100653
 
100642
100654
  ### Choosing the right tool
100643
100655
 
100644
- Read \`#### \u30B9\u30B3\u30FC\u30D7\` in the project knowledge for this connection. Each calendar appears as a \`- calendar: <id> (...)\` line whose annotation tells you which tool to use:
100656
+ Each calendar configured for this connection has an access path. Match the path to the tool:
100645
100657
 
100646
- - \`(delegation, subject: <email>, name: "...")\` \u2192 use \`request_with_delegation\` and pass \`subject: <email>\`
100647
- - \`(service-account, name: "...")\` \u2192 use \`request\` (no \`subject\`)
100658
+ - A Workspace user's calendar accessed via Domain-wide Delegation \u2192 use \`request_with_delegation\` and pass that user's email as \`subject\`
100659
+ - A calendar shared directly with the service account \u2192 use \`request\` (no \`subject\`)
100648
100660
 
100649
100661
  ### Path conventions
100650
100662
 
@@ -100699,14 +100711,14 @@ export default async function handler(c: Context) {
100699
100711
  orderBy: "startTime",
100700
100712
  });
100701
100713
 
100702
- // Project knowledge says: alice@example.com is reachable via delegation
100714
+ // alice@example.com is accessed via delegation
100703
100715
  const aliceRes = await calendar.requestWithDelegation(
100704
100716
  \`/calendars/alice@example.com/events?\${qs}\`,
100705
100717
  { subject: "alice@example.com", scopes: READ },
100706
100718
  );
100707
100719
  const alice = await aliceRes.json();
100708
100720
 
100709
- // Project knowledge says: team@example.com is shared with the SA
100721
+ // team@example.com is shared directly with the service account
100710
100722
  const teamRes = await calendar.request(
100711
100723
  \`/calendars/team@example.com/events?\${qs}\`,
100712
100724
  { scopes: READ },
@@ -100739,10 +100751,10 @@ export default async function handler(c: Context) {
100739
100751
 
100740
100752
  ### \u9069\u5207\u306A\u30C4\u30FC\u30EB\u306E\u9078\u3073\u65B9
100741
100753
 
100742
- \u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E Project Knowledge \u306E \`#### \u30B9\u30B3\u30FC\u30D7\` \u3092\u8AAD\u3093\u3067\u304F\u3060\u3055\u3044\u3002\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306F \`- calendar: <id> (...)\` \u5F62\u5F0F\u306E\u884C\u3068\u3057\u3066\u8A18\u9332\u3055\u308C\u3066\u304A\u308A\u3001\u6CE8\u91C8\u304C\u3069\u3061\u3089\u306E\u30C4\u30FC\u30EB\u3092\u4F7F\u3046\u3079\u304D\u304B\u3092\u793A\u3057\u307E\u3059:
100754
+ \u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u3067\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5404\u30AB\u30EC\u30F3\u30C0\u30FC\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u7D4C\u8DEF\u304C\u3042\u308A\u307E\u3059\u3002\u7D4C\u8DEF\u306B\u5FDC\u3058\u3066\u30C4\u30FC\u30EB\u3092\u9078\u3093\u3067\u304F\u3060\u3055\u3044:
100743
100755
 
100744
- - \`(delegation, subject: <email>, name: "...")\` \u2192 \`request_with_delegation\` \u3092\u4F7F\u3044\u3001\`subject: <email>\` \u3092\u6E21\u3059
100745
- - \`(service-account, name: "...")\` \u2192 \`request\` \u3092\u4F7F\u3046\uFF08\`subject\` \u4E0D\u8981\uFF09
100756
+ - delegation \u7D4C\u7531\uFF08Workspace \u30E6\u30FC\u30B6\u30FC\u306E\u30AB\u30EC\u30F3\u30C0\u30FC\u306B Domain-wide Delegation \u3067\u30A2\u30AF\u30BB\u30B9\uFF09\u2192 \`request_with_delegation\` \u3092\u4F7F\u3044\u3001\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u6E21\u3059
100757
+ - service account \u7D4C\u7531\uFF08\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u76F4\u63A5\u5171\u6709\u3055\u308C\u305F\u30AB\u30EC\u30F3\u30C0\u30FC\uFF09\u2192 \`request\` \u3092\u4F7F\u3046\uFF08\`subject\` \u4E0D\u8981\uFF09
100746
100758
 
100747
100759
  ### \u30D1\u30B9\u306E\u66F8\u304D\u65B9
100748
100760
 
@@ -100797,14 +100809,14 @@ export default async function handler(c: Context) {
100797
100809
  orderBy: "startTime",
100798
100810
  });
100799
100811
 
100800
- // Project Knowledge: alice@example.com \u306F delegation \u7D4C\u8DEF\u3067\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD
100812
+ // alice@example.com \u306F delegation \u7D4C\u8DEF\u3067\u30A2\u30AF\u30BB\u30B9
100801
100813
  const aliceRes = await calendar.requestWithDelegation(
100802
100814
  \`/calendars/alice@example.com/events?\${qs}\`,
100803
100815
  { subject: "alice@example.com", scopes: READ },
100804
100816
  );
100805
100817
  const alice = await aliceRes.json();
100806
100818
 
100807
- // Project Knowledge: team@example.com \u306F SA \u306B\u5171\u6709\u3055\u308C\u3066\u3044\u308B
100819
+ // team@example.com \u306F SA \u306B\u76F4\u63A5\u5171\u6709
100808
100820
  const teamRes = await calendar.request(
100809
100821
  \`/calendars/team@example.com/events?\${qs}\`,
100810
100822
  { scopes: READ },
@@ -100988,7 +101000,9 @@ var parameters16 = {
100988
101000
 
100989
101001
  // ../connectors/src/connectors/google-calendar-oauth/tools/request.ts
100990
101002
  import { z as z27 } from "zod";
100991
- var BASE_URL9 = "https://www.googleapis.com/calendar/v3";
101003
+ var BASE_HOST3 = "https://www.googleapis.com";
101004
+ var BASE_PATH_SEGMENT3 = "/calendar/v3";
101005
+ var BASE_URL9 = `${BASE_HOST3}${BASE_PATH_SEGMENT3}`;
100992
101006
  var REQUEST_TIMEOUT_MS17 = 6e4;
100993
101007
  var cachedToken10 = null;
100994
101008
  async function getProxyToken10(config) {
@@ -101065,7 +101079,11 @@ Authentication is handled automatically via OAuth proxy.
101065
101079
  try {
101066
101080
  const calendarId = parameters16.calendarId.tryGetValue(connection) ?? "primary";
101067
101081
  const resolvedPath = path5.replace(/\{calendarId\}/g, calendarId);
101068
- let url = `${BASE_URL9}${resolvedPath.startsWith("/") ? "" : "/"}${resolvedPath}`;
101082
+ const normalizedPath = normalizeRequestPath(
101083
+ resolvedPath,
101084
+ BASE_PATH_SEGMENT3
101085
+ );
101086
+ let url = `${BASE_URL9}${normalizedPath}`;
101069
101087
  if (queryParams) {
101070
101088
  const searchParams = new URLSearchParams(queryParams);
101071
101089
  url += `?${searchParams.toString()}`;
@@ -101301,7 +101319,9 @@ var parameters17 = {};
101301
101319
 
101302
101320
  // ../connectors/src/connectors/google-docs/tools/request.ts
101303
101321
  import { z as z28 } from "zod";
101304
- var DOCS_BASE_URL = "https://docs.googleapis.com/v1/documents";
101322
+ var DOCS_BASE_HOST = "https://docs.googleapis.com";
101323
+ var DOCS_BASE_PATH_SEGMENT = "/v1/documents";
101324
+ var DOCS_BASE_URL = `${DOCS_BASE_HOST}${DOCS_BASE_PATH_SEGMENT}`;
101305
101325
  var REQUEST_TIMEOUT_MS18 = 6e4;
101306
101326
  var cachedToken11 = null;
101307
101327
  async function getProxyToken11(config) {
@@ -101376,7 +101396,11 @@ Authentication is handled automatically via OAuth proxy.`,
101376
101396
  `[connector-request] google-docs/${connection.name}: ${method} ${path5}`
101377
101397
  );
101378
101398
  try {
101379
- let url = `${DOCS_BASE_URL}${path5 === "" || path5.startsWith("/") ? "" : "/"}${path5}`;
101399
+ const normalizedPath = normalizeRequestPath(
101400
+ path5,
101401
+ DOCS_BASE_PATH_SEGMENT
101402
+ );
101403
+ let url = `${DOCS_BASE_URL}${normalizedPath === "/" ? "" : normalizedPath}`;
101380
101404
  if (queryParams) {
101381
101405
  const searchParams = new URLSearchParams(queryParams);
101382
101406
  url += `?${searchParams.toString()}`;
@@ -101595,7 +101619,9 @@ var parameters18 = {};
101595
101619
 
101596
101620
  // ../connectors/src/connectors/google-drive/tools/request.ts
101597
101621
  import { z as z29 } from "zod";
101598
- var BASE_URL10 = "https://www.googleapis.com/drive/v3";
101622
+ var BASE_HOST4 = "https://www.googleapis.com";
101623
+ var BASE_PATH_SEGMENT4 = "/drive/v3";
101624
+ var BASE_URL10 = `${BASE_HOST4}${BASE_PATH_SEGMENT4}`;
101599
101625
  var REQUEST_TIMEOUT_MS19 = 6e4;
101600
101626
  var cachedToken12 = null;
101601
101627
  async function getProxyToken12(config) {
@@ -101670,7 +101696,8 @@ Authentication is handled automatically via OAuth proxy.`,
101670
101696
  `[connector-request] google-drive/${connection.name}: ${method} ${path5}`
101671
101697
  );
101672
101698
  try {
101673
- let url = `${BASE_URL10}${path5.startsWith("/") ? "" : "/"}${path5}`;
101699
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT4);
101700
+ let url = `${BASE_URL10}${normalizedPath}`;
101674
101701
  if (queryParams) {
101675
101702
  const searchParams = new URLSearchParams(queryParams);
101676
101703
  url += `?${searchParams.toString()}`;
@@ -102029,7 +102056,9 @@ await drive.updateFile("fileId123", {}, "newFolderId", "oldFolderId");
102029
102056
 
102030
102057
  // ../connectors/src/connectors/google-sheets/tools/request.ts
102031
102058
  import { z as z30 } from "zod";
102032
- var SHEETS_BASE_URL = "https://sheets.googleapis.com/v4/spreadsheets";
102059
+ var SHEETS_BASE_HOST = "https://sheets.googleapis.com";
102060
+ var SHEETS_BASE_PATH_SEGMENT = "/v4/spreadsheets";
102061
+ var SHEETS_BASE_URL = `${SHEETS_BASE_HOST}${SHEETS_BASE_PATH_SEGMENT}`;
102033
102062
  var REQUEST_TIMEOUT_MS20 = 6e4;
102034
102063
  var cachedToken13 = null;
102035
102064
  async function getProxyToken13(config) {
@@ -102109,7 +102138,11 @@ Authentication is handled automatically via OAuth proxy.`,
102109
102138
  `[connector-request] google-sheets/${connection.name}: ${method} ${path5}`
102110
102139
  );
102111
102140
  try {
102112
- let url = `${SHEETS_BASE_URL}${path5 === "" || path5.startsWith("/") ? "" : "/"}${path5}`;
102141
+ const normalizedPath = normalizeRequestPath(
102142
+ path5,
102143
+ SHEETS_BASE_PATH_SEGMENT
102144
+ );
102145
+ let url = `${SHEETS_BASE_URL}${normalizedPath === "/" ? "" : normalizedPath}`;
102113
102146
  if (queryParams) {
102114
102147
  const searchParams = new URLSearchParams(queryParams);
102115
102148
  url += `?${searchParams.toString()}`;
@@ -102400,7 +102433,9 @@ var parameters20 = {};
102400
102433
 
102401
102434
  // ../connectors/src/connectors/google-slides/tools/request.ts
102402
102435
  import { z as z31 } from "zod";
102403
- var SLIDES_BASE_URL = "https://slides.googleapis.com/v1/presentations";
102436
+ var SLIDES_BASE_HOST = "https://slides.googleapis.com";
102437
+ var SLIDES_BASE_PATH_SEGMENT = "/v1/presentations";
102438
+ var SLIDES_BASE_URL = `${SLIDES_BASE_HOST}${SLIDES_BASE_PATH_SEGMENT}`;
102404
102439
  var REQUEST_TIMEOUT_MS21 = 6e4;
102405
102440
  var cachedToken14 = null;
102406
102441
  async function getProxyToken14(config) {
@@ -102475,7 +102510,11 @@ Authentication is handled automatically via OAuth proxy.`,
102475
102510
  `[connector-request] google-slides/${connection.name}: ${method} ${path5}`
102476
102511
  );
102477
102512
  try {
102478
- let url = `${SLIDES_BASE_URL}${path5 === "" || path5.startsWith("/") ? "" : "/"}${path5}`;
102513
+ const normalizedPath = normalizeRequestPath(
102514
+ path5,
102515
+ SLIDES_BASE_PATH_SEGMENT
102516
+ );
102517
+ let url = `${SLIDES_BASE_URL}${normalizedPath === "/" ? "" : normalizedPath}`;
102479
102518
  if (queryParams) {
102480
102519
  const searchParams = new URLSearchParams(queryParams);
102481
102520
  url += `?${searchParams.toString()}`;
@@ -107641,7 +107680,9 @@ var parameters40 = {
107641
107680
 
107642
107681
  // ../connectors/src/connectors/asana/tools/request.ts
107643
107682
  import { z as z48 } from "zod";
107644
- var BASE_URL19 = "https://app.asana.com/api/1.0";
107683
+ var BASE_HOST5 = "https://app.asana.com";
107684
+ var BASE_PATH_SEGMENT5 = "/api/1.0";
107685
+ var BASE_URL19 = `${BASE_HOST5}${BASE_PATH_SEGMENT5}`;
107645
107686
  var REQUEST_TIMEOUT_MS37 = 6e4;
107646
107687
  var inputSchema48 = z48.object({
107647
107688
  toolUseIntent: z48.string().optional().describe(
@@ -107705,7 +107746,8 @@ Pagination: Use limit (1-100) and offset query parameters. The response includes
107705
107746
  );
107706
107747
  try {
107707
107748
  const token = parameters40.personalAccessToken.getValue(connection);
107708
- const url = `${BASE_URL19}${path5}`;
107749
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT5);
107750
+ const url = `${BASE_URL19}${normalizedPath}`;
107709
107751
  const controller = new AbortController();
107710
107752
  const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS37);
107711
107753
  try {
@@ -110120,7 +110162,9 @@ var parameters47 = {
110120
110162
 
110121
110163
  // ../connectors/src/connectors/tiktok-ads/tools/request.ts
110122
110164
  import { z as z60 } from "zod";
110123
- var BASE_URL27 = "https://business-api.tiktok.com/open_api/v1.3/";
110165
+ var BASE_HOST6 = "https://business-api.tiktok.com";
110166
+ var BASE_PATH_SEGMENT6 = "/open_api/v1.3";
110167
+ var BASE_URL27 = `${BASE_HOST6}${BASE_PATH_SEGMENT6}`;
110124
110168
  var REQUEST_TIMEOUT_MS45 = 6e4;
110125
110169
  var cachedToken23 = null;
110126
110170
  async function getProxyToken23(config) {
@@ -110196,7 +110240,8 @@ The advertiser_id is automatically injected if configured.`,
110196
110240
  );
110197
110241
  try {
110198
110242
  const advertiserId = parameters47.advertiserId.tryGetValue(connection) ?? "";
110199
- let url = `${BASE_URL27}${path5}`;
110243
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT6);
110244
+ let url = `${BASE_URL27}${normalizedPath}`;
110200
110245
  if (method === "GET") {
110201
110246
  const params = new URLSearchParams(queryParams ?? {});
110202
110247
  if (advertiserId && !params.has("advertiser_id")) {
@@ -111410,7 +111455,9 @@ var parameters51 = {
111410
111455
  };
111411
111456
 
111412
111457
  // ../connectors/src/connectors/gmail/tools/request-with-delegation.ts
111413
- var BASE_URL28 = "https://gmail.googleapis.com/gmail/v1/users";
111458
+ var BASE_HOST7 = "https://gmail.googleapis.com";
111459
+ var BASE_PATH_SEGMENT7 = "/gmail/v1/users";
111460
+ var BASE_URL28 = `${BASE_HOST7}${BASE_PATH_SEGMENT7}`;
111414
111461
  var REQUEST_TIMEOUT_MS49 = 6e4;
111415
111462
  function decodeServiceAccount3(keyJsonBase64) {
111416
111463
  const decoded = Buffer.from(keyJsonBase64, "base64").toString("utf-8");
@@ -111495,7 +111542,8 @@ var requestWithDelegationTool2 = new ConnectorTool({
111495
111542
  serviceAccountEmail
111496
111543
  };
111497
111544
  }
111498
- let url = `${BASE_URL28}${path5.startsWith("/") ? "" : "/"}${path5}`;
111545
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT7);
111546
+ let url = `${BASE_URL28}${normalizedPath}`;
111499
111547
  if (queryParams) {
111500
111548
  const searchParams = new URLSearchParams(queryParams);
111501
111549
  url += `?${searchParams.toString()}`;
@@ -111566,9 +111614,7 @@ var gmailOnboarding = new ConnectorOnboarding({
111566
111614
  - \u300C\u30EA\u30C8\u30E9\u30A4\u300D: \u76F4\u524D\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30EA\u30B9\u30C8\u3067\u30B9\u30C6\u30C3\u30D7 2 \u3092\u518D\u5B9F\u884C
111567
111615
  - \u300C\u5165\u529B\u3057\u76F4\u3059\u300D: \u30B9\u30C6\u30C3\u30D7 1 \u304B\u3089\u518D\u5B9F\u884C
111568
111616
 
111569
- 4. \u5168\u30A2\u30C9\u30EC\u30B9\u304C\u6210\u529F\u3057\u305F\u3089 \`finalizeSetup\` \u3092\u547C\u3076\u3002\`projectKnowledge\` \u306E \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B\u5404\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 1 \u884C\u305A\u3064\u5217\u6319\u3059\u308B:
111570
- - \`- subject: alice@example.com\`
111571
- - \`- subject: bob@example.com\`
111617
+ 4. \u5168\u30A2\u30C9\u30EC\u30B9\u304C\u6210\u529F\u3057\u305F\u3089 \`finalizeSetup\` \u3092\u547C\u3076\u3002\u691C\u8A3C\u6E08\u307F\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u30B9\u30C6\u30C3\u30D7 2 \u3067 \`subject\` \u3068\u3057\u3066\u4F7F\u3063\u305F\u5404 \`<email>\`\uFF09\u3092\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3002
111572
111618
 
111573
111619
  #### \u5236\u7D04
111574
111620
  - \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u30E1\u30C3\u30BB\u30FC\u30B8\u672C\u6587\u3092\u8AAD\u307F\u53D6\u3089\u306A\u3044\u3053\u3068\u3002\u8A31\u53EF\u3055\u308C\u3066\u3044\u308B\u306E\u306F\u30B9\u30C6\u30C3\u30D7 2 \u306E \`/me/profile\` \u78BA\u8A8D\u306E\u307F
@@ -111591,21 +111637,19 @@ var gmailOnboarding = new ConnectorOnboarding({
111591
111637
  - On "retry" \u2192 re-run step 2 with the previously entered email list
111592
111638
  - On "Re-enter" \u2192 re-run step 1
111593
111639
 
111594
- 4. Once every email succeeds, call \`finalizeSetup\`. Under \`#### \u30B9\u30B3\u30FC\u30D7\` in \`projectKnowledge\`, list each email on its own line:
111595
- - \`- subject: alice@example.com\`
111596
- - \`- subject: bob@example.com\`
111640
+ 4. Once every email succeeds, call \`finalizeSetup\`. Record the verified email addresses (the \`<email>\` values used as \`subject\` in step 2) as this connection's scope info.
111597
111641
 
111598
111642
  #### Constraints
111599
111643
  - Do NOT read message bodies during setup. Only the \`/me/profile\` verification is permitted
111600
111644
  - Write at most 1 sentence between tool calls`
111601
111645
  },
111602
111646
  dataOverviewInstructions: {
111603
- en: `Pick ONE email from \`#### \u30B9\u30B3\u30FC\u30D7\` (a \`- subject: <email>\` line) and use it as \`subject\` for every call below. Pass \`scopes: ${READONLY_SCOPES2}\` every time.
111647
+ en: `Pick ONE target user and use that user's email as \`subject\` for every call below. Pass \`scopes: ${READONLY_SCOPES2}\` every time.
111604
111648
 
111605
111649
  1. \`method=GET\`, \`path=/me/labels\` to list labels.
111606
111650
  2. \`method=GET\`, \`path=/me/messages?maxResults=5\` to fetch recent message IDs.
111607
111651
  3. For each message id, \`method=GET\`, \`path=/me/messages/{id}?format=metadata\`.`,
111608
- ja: `\`#### \u30B9\u30B3\u30FC\u30D7\` \u306E \`- subject: <email>\` \u884C\u304B\u3089 1 \u3064\u9078\u3073\u3001\u4EE5\u4E0B\u306E\u30B9\u30C6\u30C3\u30D7\u3067 \`subject\` \u5F15\u6570\u3068\u3057\u3066\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u306F\u6BCE\u56DE \`${READONLY_SCOPES2}\` \u3092\u6E21\u3057\u307E\u3059\u3002
111652
+ ja: `\u4EE3\u7406\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\u3092 1 \u4EBA\u9078\u3073\u3001\u4EE5\u4E0B\u306E\u30B9\u30C6\u30C3\u30D7\u3067 \`subject\` \u5F15\u6570\u3068\u3057\u3066\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u306F\u6BCE\u56DE \`${READONLY_SCOPES2}\` \u3092\u6E21\u3057\u307E\u3059\u3002
111609
111653
 
111610
111654
  1. \`method=GET\`\u3001\`path=/me/labels\` \u3067\u30E9\u30D9\u30EB\u4E00\u89A7\u3092\u53D6\u5F97
111611
111655
  2. \`method=GET\`\u3001\`path=/me/messages?maxResults=5\` \u3067\u6700\u8FD1\u306E\u30E1\u30C3\u30BB\u30FC\u30B8 ID \u3092\u53D6\u5F97
@@ -111628,7 +111672,7 @@ var gmailConnector = new ConnectorPlugin({
111628
111672
  systemPrompt: {
111629
111673
  en: `### Tools
111630
111674
 
111631
- - \`gmail-service-account_request_with_delegation\`: Call the Gmail API on behalf of the specified Workspace user via Domain-wide Delegation. Pass \`subject\` as the target user email; the token will be issued as that user. The set of users this connection works with is recorded in the project knowledge under "#### \u30B9\u30B3\u30FC\u30D7" as \`- subject: <email>\` lines \u2014 read those and pick a subject before calling. Always pass \`scopes\`.
111675
+ - \`gmail-service-account_request_with_delegation\`: Call the Gmail API on behalf of the specified Workspace user via Domain-wide Delegation. Pass \`subject\` as the target user's email; the token will be issued as that user. Always pass \`scopes\`.
111632
111676
 
111633
111677
  ### OAuth Scopes (pass as \`scopes\` argument)
111634
111678
 
@@ -111692,7 +111736,7 @@ import { connection } from "@squadbase/vite-server/connectors/gmail";
111692
111736
 
111693
111737
  const gmail = connection("<connectionId>");
111694
111738
 
111695
- // Pick the impersonated user from project knowledge ("#### \u30B9\u30B3\u30FC\u30D7").
111739
+ // The user to impersonate.
111696
111740
  const subject = "alice@example.com";
111697
111741
  const READ = ["https://www.googleapis.com/auth/gmail.readonly"];
111698
111742
 
@@ -111721,7 +111765,7 @@ for (const msg of messages.messages ?? []) {
111721
111765
  \`\`\``,
111722
111766
  ja: `### \u30C4\u30FC\u30EB
111723
111767
 
111724
- - \`gmail-service-account_request_with_delegation\`: \u6307\u5B9A\u3055\u308C\u305F Workspace \u30E6\u30FC\u30B6\u30FC\u306B\u4EE3\u308F\u3063\u3066 Domain-wide Delegation \u7D4C\u7531\u3067 Gmail API \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\u4EE3\u7406\u5BFE\u8C61\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30C8\u30FC\u30AF\u30F3\u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u3068\u3057\u3066\u767A\u884C\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u304C\u5BFE\u8C61\u3068\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u306F Project Knowledge \u306E "#### \u30B9\u30B3\u30FC\u30D7" \u306B \`- subject: <email>\` \u5F62\u5F0F\u3067\u8A18\u9332\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u547C\u3073\u51FA\u3057\u524D\u306B\u305D\u3053\u3092\u8AAD\u3093\u3067 subject \u3092\u6C7A\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u3082\u6BCE\u56DE\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
111768
+ - \`gmail-service-account_request_with_delegation\`: \u6307\u5B9A\u3055\u308C\u305F Workspace \u30E6\u30FC\u30B6\u30FC\u306B\u4EE3\u308F\u3063\u3066 Domain-wide Delegation \u7D4C\u7531\u3067 Gmail API \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\u4EE3\u7406\u5BFE\u8C61\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30C8\u30FC\u30AF\u30F3\u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u3068\u3057\u3066\u767A\u884C\u3055\u308C\u307E\u3059\u3002\`scopes\` \u3082\u6BCE\u56DE\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
111725
111769
 
111726
111770
  ### OAuth \u30B9\u30B3\u30FC\u30D7 (\`scopes\` \u5F15\u6570\u3067\u6E21\u3059)
111727
111771
 
@@ -111785,7 +111829,7 @@ import { connection } from "@squadbase/vite-server/connectors/gmail";
111785
111829
 
111786
111830
  const gmail = connection("<connectionId>");
111787
111831
 
111788
- // \u4EE3\u7406\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u306F Project Knowledge ("#### \u30B9\u30B3\u30FC\u30D7") \u304B\u3089\u9078\u3076
111832
+ // \u4EE3\u7406\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC
111789
111833
  const subject = "alice@example.com";
111790
111834
  const READ = ["https://www.googleapis.com/auth/gmail.readonly"];
111791
111835
 
@@ -111818,7 +111862,9 @@ for (const msg of messages.messages ?? []) {
111818
111862
 
111819
111863
  // ../connectors/src/connectors/gmail-oauth/tools/request.ts
111820
111864
  import { z as z65 } from "zod";
111821
- var BASE_URL29 = "https://gmail.googleapis.com/gmail/v1/users";
111865
+ var BASE_HOST8 = "https://gmail.googleapis.com";
111866
+ var BASE_PATH_SEGMENT8 = "/gmail/v1/users";
111867
+ var BASE_URL29 = `${BASE_HOST8}${BASE_PATH_SEGMENT8}`;
111822
111868
  var REQUEST_TIMEOUT_MS50 = 6e4;
111823
111869
  var cachedToken25 = null;
111824
111870
  async function getProxyToken25(config) {
@@ -111894,7 +111940,8 @@ All paths are relative to https://gmail.googleapis.com/gmail/v1/users. Use '/me'
111894
111940
  `[connector-request] gmail-oauth/${connection.name}: ${method} ${path5}`
111895
111941
  );
111896
111942
  try {
111897
- let url = `${BASE_URL29}${path5.startsWith("/") ? "" : "/"}${path5}`;
111943
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT8);
111944
+ let url = `${BASE_URL29}${normalizedPath}`;
111898
111945
  if (queryParams) {
111899
111946
  const searchParams = new URLSearchParams(queryParams);
111900
111947
  url += `?${searchParams.toString()}`;
@@ -112204,7 +112251,9 @@ var parameters53 = {
112204
112251
  };
112205
112252
 
112206
112253
  // ../connectors/src/connectors/google-audit-log/tools/request-with-delegation.ts
112207
- var BASE_URL30 = "https://admin.googleapis.com/admin/reports/v1";
112254
+ var BASE_HOST9 = "https://admin.googleapis.com";
112255
+ var BASE_PATH_SEGMENT9 = "/admin/reports/v1";
112256
+ var BASE_URL30 = `${BASE_HOST9}${BASE_PATH_SEGMENT9}`;
112208
112257
  var REQUEST_TIMEOUT_MS51 = 6e4;
112209
112258
  function decodeServiceAccount4(keyJsonBase64) {
112210
112259
  const decoded = Buffer.from(keyJsonBase64, "base64").toString("utf-8");
@@ -112290,7 +112339,8 @@ var requestWithDelegationTool3 = new ConnectorTool({
112290
112339
  serviceAccountEmail
112291
112340
  };
112292
112341
  }
112293
- let url = `${BASE_URL30}${path5.startsWith("/") ? "" : "/"}${path5}`;
112342
+ const normalizedPath = normalizeRequestPath(path5, BASE_PATH_SEGMENT9);
112343
+ let url = `${BASE_URL30}${normalizedPath}`;
112294
112344
  if (queryParams) {
112295
112345
  const searchParams = new URLSearchParams(queryParams);
112296
112346
  url += `?${searchParams.toString()}`;
@@ -112360,8 +112410,7 @@ var googleAuditLogOnboarding = new ConnectorOnboarding({
112360
112410
  - \u300C\u30EA\u30C8\u30E9\u30A4\u300D: \u76F4\u524D\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30EA\u30B9\u30C8\u3067\u30B9\u30C6\u30C3\u30D7 2 \u3092\u518D\u5B9F\u884C
112361
112411
  - \u300C\u5165\u529B\u3057\u76F4\u3059\u300D: \u30B9\u30C6\u30C3\u30D7 1 \u304B\u3089\u518D\u5B9F\u884C
112362
112412
 
112363
- 4. \u5168\u30A2\u30C9\u30EC\u30B9\u304C\u6210\u529F\u3057\u305F\u3089 \`finalizeSetup\` \u3092\u547C\u3076\u3002\`projectKnowledge\` \u306E \`#### \u30B9\u30B3\u30FC\u30D7\` \u7BC0\u306B\u5404\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 1 \u884C\u305A\u3064\u5217\u6319\u3059\u308B:
112364
- - \`- subject: admin@example.com\`
112413
+ 4. \u5168\u30A2\u30C9\u30EC\u30B9\u304C\u6210\u529F\u3057\u305F\u3089 \`finalizeSetup\` \u3092\u547C\u3076\u3002\u691C\u8A3C\u6E08\u307F\u306E\u7BA1\u7406\u8005\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30B3\u30FC\u30D7\u60C5\u5831\u3068\u3057\u3066\u8A18\u9332\u3059\u308B\u3002
112365
112414
 
112366
112415
  #### \u5236\u7D04
112367
112416
  - \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u53D6\u5F97\u3057\u305F\u76E3\u67FB\u30ED\u30B0\u672C\u6587\u3092\u8AAD\u307F\u53D6\u3089\u306A\u3044\u3053\u3068\u3002\u8A31\u53EF\u3055\u308C\u3066\u3044\u308B\u306E\u306F\u30B9\u30C6\u30C3\u30D7 2 \u306E\u30A2\u30AF\u30BB\u30B9\u78BA\u8A8D\u306E\u307F
@@ -112385,20 +112434,19 @@ var googleAuditLogOnboarding = new ConnectorOnboarding({
112385
112434
  - On "retry" \u2192 re-run step 2 with the previously entered email list
112386
112435
  - On "Re-enter" \u2192 re-run step 1
112387
112436
 
112388
- 4. Once every email succeeds, call \`finalizeSetup\`. Under \`#### \u30B9\u30B3\u30FC\u30D7\` in \`projectKnowledge\`, list each email on its own line:
112389
- - \`- subject: admin@example.com\`
112437
+ 4. Once every email succeeds, call \`finalizeSetup\`. Record the verified admin email addresses as this connection's scope info.
112390
112438
 
112391
112439
  #### Constraints
112392
112440
  - Do NOT read audit log contents during setup. Only the access verification call in step 2 is permitted
112393
112441
  - Write at most 1 sentence between tool calls`
112394
112442
  },
112395
112443
  dataOverviewInstructions: {
112396
- en: `Pick ONE admin email from \`#### \u30B9\u30B3\u30FC\u30D7\` (a \`- subject: <email>\` line) and use it as \`subject\` for every call below. Pass \`scopes: ${READONLY_SCOPES3}\` every time.
112444
+ en: `Pick ONE admin user and use that user's email as \`subject\` for every call below. Pass \`scopes: ${READONLY_SCOPES3}\` every time.
112397
112445
 
112398
112446
  1. \`method=GET\`, \`path=/activity/users/all/applications/login\`, \`queryParams={ maxResults: "10" }\` to verify recent login activity events are available.
112399
112447
  2. \`method=GET\`, \`path=/activity/users/all/applications/admin\`, \`queryParams={ maxResults: "10" }\` to inspect recent admin console events.
112400
112448
  3. \`method=GET\`, \`path=/usage/dates/{YYYY-MM-DD}\` (use yesterday's date) to fetch a customer-level usage report sample.`,
112401
- ja: `\`#### \u30B9\u30B3\u30FC\u30D7\` \u306E \`- subject: <email>\` \u884C\u304B\u3089 1 \u3064\u306E\u7BA1\u7406\u8005\u3092\u9078\u3073\u3001\u4EE5\u4E0B\u306E\u30B9\u30C6\u30C3\u30D7\u3067 \`subject\` \u5F15\u6570\u3068\u3057\u3066\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u306F\u6BCE\u56DE \`${READONLY_SCOPES3}\` \u3092\u6E21\u3057\u307E\u3059\u3002
112449
+ ja: `\u5BFE\u8C61\u306E\u7BA1\u7406\u8005\u30E6\u30FC\u30B6\u30FC\u3092 1 \u4EBA\u9078\u3073\u3001\u4EE5\u4E0B\u306E\u30B9\u30C6\u30C3\u30D7\u3067 \`subject\` \u5F15\u6570\u3068\u3057\u3066\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u306F\u6BCE\u56DE \`${READONLY_SCOPES3}\` \u3092\u6E21\u3057\u307E\u3059\u3002
112402
112450
 
112403
112451
  1. \`method=GET\`\u3001\`path=/activity/users/all/applications/login\`\u3001\`queryParams={ maxResults: "10" }\` \u3067\u76F4\u8FD1\u306E\u30ED\u30B0\u30A4\u30F3\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u304C\u53D6\u5F97\u3067\u304D\u308B\u3053\u3068\u3092\u78BA\u8A8D
112404
112452
  2. \`method=GET\`\u3001\`path=/activity/users/all/applications/admin\`\u3001\`queryParams={ maxResults: "10" }\` \u3067\u76F4\u8FD1\u306E\u7BA1\u7406\u30B3\u30F3\u30BD\u30FC\u30EB\u64CD\u4F5C\u3092\u78BA\u8A8D
@@ -112413,15 +112461,15 @@ var googleAuditLogConnector = new ConnectorPlugin({
112413
112461
  authType: AUTH_TYPES.SERVICE_ACCOUNT,
112414
112462
  name: "Google Audit Log",
112415
112463
  description: "Connect to the Google Workspace Admin SDK Reports API for audit activities and usage reports using a service account with domain-wide delegation. Read-only.",
112416
- iconUrl: "https://www.gstatic.com/images/branding/product/2x/admin_2020q4_48dp.png",
112464
+ iconUrl: "https://images.ctfassets.net/9ncizv60xc5y/6VWp0bASiAEgiSlwoZOT8A/fb59a3a2d0219db7df0a943b286a5995/admin_2020q4_48dp.png",
112417
112465
  parameters: parameters53,
112418
- releaseFlag: { dev1: true, dev2: false, prod: false },
112466
+ releaseFlag: { dev1: true, dev2: true, prod: true },
112419
112467
  categories: ["observability"],
112420
112468
  onboarding: googleAuditLogOnboarding,
112421
112469
  systemPrompt: {
112422
112470
  en: `### Tools
112423
112471
 
112424
- - \`google-audit-log-service-account_request_with_delegation\`: Call the Google Workspace Admin SDK Reports API on behalf of a Workspace admin via Domain-wide Delegation. Pass \`subject\` as the admin email; the token will be issued as that user. The set of admins this connection works with is recorded in the project knowledge under "#### \u30B9\u30B3\u30FC\u30D7" as \`- subject: <email>\` lines \u2014 read those and pick a subject before calling. Always pass \`scopes\`.
112472
+ - \`google-audit-log-service-account_request_with_delegation\`: Call the Google Workspace Admin SDK Reports API on behalf of a Workspace admin via Domain-wide Delegation. Pass \`subject\` as the admin email; the token will be issued as that user. Always pass \`scopes\`.
112425
112473
 
112426
112474
  ### OAuth Scopes (pass as \`scopes\` argument)
112427
112475
 
@@ -112479,7 +112527,7 @@ import { connection } from "@squadbase/vite-server/connectors/google-audit-log";
112479
112527
 
112480
112528
  const reports = connection("<connectionId>");
112481
112529
 
112482
- const SUBJECT = "admin@example.com"; // pick from "#### \u30B9\u30B3\u30FC\u30D7" in project knowledge
112530
+ const SUBJECT = "admin@example.com"; // the admin user to impersonate
112483
112531
  const AUDIT = ["https://www.googleapis.com/auth/admin.reports.audit.readonly"];
112484
112532
 
112485
112533
  export default async function handler(c: Context) {
@@ -112510,7 +112558,7 @@ export default async function handler(c: Context) {
112510
112558
  \`\`\``,
112511
112559
  ja: `### \u30C4\u30FC\u30EB
112512
112560
 
112513
- - \`google-audit-log-service-account_request_with_delegation\`: Domain-wide Delegation \u7D4C\u7531\u3067 Workspace \u7BA1\u7406\u8005\u306B\u306A\u308A\u3059\u307E\u3057\u3066 Google Workspace Admin SDK Reports API \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\u4EE3\u7406\u5BFE\u8C61\u306E\u7BA1\u7406\u8005\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30C8\u30FC\u30AF\u30F3\u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u3068\u3057\u3066\u767A\u884C\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u304C\u5BFE\u8C61\u3068\u3059\u308B\u7BA1\u7406\u8005\u306F Project Knowledge \u306E "#### \u30B9\u30B3\u30FC\u30D7" \u306B \`- subject: <email>\` \u5F62\u5F0F\u3067\u8A18\u9332\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u547C\u3073\u51FA\u3057\u524D\u306B\u305D\u3053\u3092\u8AAD\u3093\u3067 subject \u3092\u6C7A\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\`scopes\` \u3082\u6BCE\u56DE\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
112561
+ - \`google-audit-log-service-account_request_with_delegation\`: Domain-wide Delegation \u7D4C\u7531\u3067 Workspace \u7BA1\u7406\u8005\u306B\u306A\u308A\u3059\u307E\u3057\u3066 Google Workspace Admin SDK Reports API \u3092\u547C\u3073\u51FA\u3057\u307E\u3059\u3002\u4EE3\u7406\u5BFE\u8C61\u306E\u7BA1\u7406\u8005\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`subject\` \u3068\u3057\u3066\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u30C8\u30FC\u30AF\u30F3\u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u3068\u3057\u3066\u767A\u884C\u3055\u308C\u307E\u3059\u3002\`scopes\` \u3082\u6BCE\u56DE\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
112514
112562
 
112515
112563
  ### OAuth \u30B9\u30B3\u30FC\u30D7 (\`scopes\` \u5F15\u6570\u3067\u6E21\u3059)
112516
112564
 
@@ -112567,7 +112615,7 @@ import { connection } from "@squadbase/vite-server/connectors/google-audit-log";
112567
112615
 
112568
112616
  const reports = connection("<connectionId>");
112569
112617
 
112570
- const SUBJECT = "admin@example.com"; // Project Knowledge \u306E "#### \u30B9\u30B3\u30FC\u30D7" \u304B\u3089\u9078\u3076
112618
+ const SUBJECT = "admin@example.com"; // \u4EE3\u7406\u5BFE\u8C61\u306E\u7BA1\u7406\u8005
112571
112619
  const AUDIT = ["https://www.googleapis.com/auth/admin.reports.audit.readonly"];
112572
112620
 
112573
112621
  export default async function handler(c: Context) {