@squadbase/vite-server 0.1.4-dev.0 → 0.1.4-dev.1
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 +26 -16
- package/dist/connectors/airtable-oauth.js +10 -0
- package/dist/connectors/airtable.js +10 -0
- package/dist/connectors/amplitude.js +10 -0
- package/dist/connectors/anthropic.js +10 -0
- package/dist/connectors/asana.js +10 -0
- package/dist/connectors/attio.js +10 -0
- package/dist/connectors/backlog-api-key.js +10 -0
- package/dist/connectors/customerio.js +10 -0
- package/dist/connectors/dbt.js +10 -0
- package/dist/connectors/gamma.js +10 -0
- package/dist/connectors/gemini.js +10 -0
- package/dist/connectors/gmail-oauth.js +10 -0
- package/dist/connectors/gmail.js +14 -4
- package/dist/connectors/google-ads.js +10 -0
- package/dist/connectors/google-analytics-oauth.js +10 -0
- package/dist/connectors/google-analytics.js +10 -0
- package/dist/connectors/google-calendar-oauth.js +10 -0
- package/dist/connectors/google-calendar.js +14 -6
- package/dist/connectors/google-docs.js +10 -0
- package/dist/connectors/google-drive.js +10 -0
- package/dist/connectors/google-sheets.js +10 -0
- package/dist/connectors/google-slides.js +10 -0
- package/dist/connectors/grafana.js +10 -0
- package/dist/connectors/hubspot-oauth.js +10 -0
- package/dist/connectors/hubspot.js +10 -0
- package/dist/connectors/intercom-oauth.js +10 -0
- package/dist/connectors/intercom.js +10 -0
- package/dist/connectors/jira-api-key.js +10 -0
- package/dist/connectors/kintone-api-token.js +10 -0
- package/dist/connectors/kintone.js +10 -0
- package/dist/connectors/linkedin-ads.js +10 -0
- package/dist/connectors/mailchimp-oauth.js +10 -0
- package/dist/connectors/mailchimp.js +10 -0
- package/dist/connectors/mixpanel.js +10 -0
- package/dist/connectors/notion-oauth.js +10 -0
- package/dist/connectors/notion.js +10 -0
- package/dist/connectors/openai.js +10 -0
- package/dist/connectors/sentry.js +10 -0
- package/dist/connectors/shopify-oauth.js +10 -0
- package/dist/connectors/shopify.js +10 -0
- package/dist/connectors/stripe-api-key.js +10 -0
- package/dist/connectors/stripe-oauth.js +10 -0
- package/dist/connectors/wix-store.js +10 -0
- package/dist/connectors/zendesk-oauth.js +10 -0
- package/dist/connectors/zendesk.js +10 -0
- package/dist/index.js +26 -16
- package/dist/main.js +26 -16
- package/dist/vite-plugin.js +26 -16
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -67299,7 +67299,8 @@ The business logic type for this connector is "sql".
|
|
|
67299
67299
|
},
|
|
67300
67300
|
async query(params, sql, namedParams) {
|
|
67301
67301
|
const { Pool } = await import("pg");
|
|
67302
|
-
const
|
|
67302
|
+
const cleanSql = sql.replace(/;\s*$/, "");
|
|
67303
|
+
const { text, values } = buildPositionalParams(cleanSql, namedParams);
|
|
67303
67304
|
const pool = new Pool({
|
|
67304
67305
|
connectionString: params[parameters3.connectionUrl.slug],
|
|
67305
67306
|
ssl: { rejectUnauthorized: false },
|
|
@@ -67651,7 +67652,7 @@ var bigqueryOnboarding = new ConnectorOnboarding({
|
|
|
67651
67652
|
- \`options\`: \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u3002\u5404 option \u306E \`label\` \u306F \`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D (id: \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8ID)\` \u306E\u5F62\u5F0F\u3001\`value\` \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8ID
|
|
67652
67653
|
3. \u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E \`label\` \u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3068\u3057\u3066\u5C4A\u304F\u306E\u3067\u3001\u6B21\u306E\u30B9\u30C6\u30C3\u30D7\u306B\u9032\u3080
|
|
67653
67654
|
4. \`${listDatasetsToolName}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u9078\u629E\u3055\u308C\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B
|
|
67654
|
-
5. \`askUserQuestion\` \u3092\u547C\u3073\u51FA\u3059\
|
|
67655
|
+
5. \`askUserQuestion\` \u3092\u547C\u3073\u51FA\u3059\uFF08type: "select", multiSelect: true, allowFreeText: true\uFF09:
|
|
67655
67656
|
- \`question\`: \u4F7F\u7528\u3059\u308B\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092\u9078\u629E\u3059\u308B\u3088\u3046\u4FC3\u3059\u3002\u300C\u4E0A\u8A18\u4EE5\u5916\u306E\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D}\` \u306E\u5F62\u5F0F\u3067\u81EA\u7531\u5165\u529B\u3067\u304D\u307E\u3059\u300D\u3068\u660E\u8A18\u3059\u308B
|
|
67656
67657
|
- \`options\`: \u4EE5\u4E0B\u3092\u9806\u756A\u306B\u7D50\u5408\u3059\u308B
|
|
67657
67658
|
1. \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8: \u5404 \`{ label: datasetId, description: location }\`
|
|
@@ -67683,7 +67684,7 @@ var bigqueryOnboarding = new ConnectorOnboarding({
|
|
|
67683
67684
|
- \`options\`: The project list. Each option's \`label\` should be \`Project Name (id: project-id)\`, \`value\` should be the project ID
|
|
67684
67685
|
3. The \`label\` of the user's selected project will arrive as a message. Proceed to the next step
|
|
67685
67686
|
4. Call \`${listDatasetsToolName}\` to get the list of datasets in the selected project
|
|
67686
|
-
5. Call \`askUserQuestion\` (multiSelect: true):
|
|
67687
|
+
5. Call \`askUserQuestion\` (type: "select", multiSelect: true, allowFreeText: true):
|
|
67687
67688
|
- \`question\`: Ask the user to select datasets. State that other public datasets can be entered freely in the format \`bigquery-public-data.{dataset_name}\`
|
|
67688
67689
|
- \`options\`: Concatenate in order:
|
|
67689
67690
|
1. Project datasets: each \`{ label: datasetId, description: location }\`
|
|
@@ -68113,7 +68114,7 @@ var bigqueryOnboarding2 = new ConnectorOnboarding({
|
|
|
68113
68114
|
- \`options\`: \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u3002\u5404 option \u306E \`label\` \u306F \`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D (id: \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8ID)\` \u306E\u5F62\u5F0F\u3001\`value\` \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8ID
|
|
68114
68115
|
3. \u30E6\u30FC\u30B6\u30FC\u304C\u9078\u629E\u3057\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E \`label\` \u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3068\u3057\u3066\u5C4A\u304F\u306E\u3067\u3001\u6B21\u306E\u30B9\u30C6\u30C3\u30D7\u306B\u9032\u3080
|
|
68115
68116
|
4. \`${listDatasetsToolName2}\` \u3092\u547C\u3073\u51FA\u3057\u3066\u3001\u9078\u629E\u3055\u308C\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306E\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u4E00\u89A7\u3092\u53D6\u5F97\u3059\u308B
|
|
68116
|
-
5. \`askUserQuestion\` \u3092\u547C\u3073\u51FA\u3059\
|
|
68117
|
+
5. \`askUserQuestion\` \u3092\u547C\u3073\u51FA\u3059\uFF08type: "select", multiSelect: true, allowFreeText: true\uFF09:
|
|
68117
68118
|
- \`question\`: \u4F7F\u7528\u3059\u308B\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u3092\u9078\u629E\u3059\u308B\u3088\u3046\u4FC3\u3059\u3002\u300C\u4E0A\u8A18\u4EE5\u5916\u306E\u30D1\u30D6\u30EA\u30C3\u30AF\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u306F \`bigquery-public-data.{\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8\u540D}\` \u306E\u5F62\u5F0F\u3067\u81EA\u7531\u5165\u529B\u3067\u304D\u307E\u3059\u300D\u3068\u660E\u8A18\u3059\u308B
|
|
68118
68119
|
- \`options\`: \u4EE5\u4E0B\u3092\u9806\u756A\u306B\u7D50\u5408\u3059\u308B
|
|
68119
68120
|
1. \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u30C7\u30FC\u30BF\u30BB\u30C3\u30C8: \u5404 \`{ label: datasetId, description: location }\`
|
|
@@ -68145,7 +68146,7 @@ var bigqueryOnboarding2 = new ConnectorOnboarding({
|
|
|
68145
68146
|
- \`options\`: The project list. Each option's \`label\` should be \`Project Name (id: project-id)\`, \`value\` should be the project ID
|
|
68146
68147
|
3. The \`label\` of the user's selected project will arrive as a message. Proceed to the next step
|
|
68147
68148
|
4. Call \`${listDatasetsToolName2}\` to get the list of datasets in the selected project
|
|
68148
|
-
5. Call \`askUserQuestion\` (multiSelect: true):
|
|
68149
|
+
5. Call \`askUserQuestion\` (type: "select", multiSelect: true, allowFreeText: true):
|
|
68149
68150
|
- \`question\`: Ask the user to select datasets. State that other public datasets can be entered freely in the format \`bigquery-public-data.{dataset_name}\`
|
|
68150
68151
|
- \`options\`: Concatenate in order:
|
|
68151
68152
|
1. Project datasets: each \`{ label: datasetId, description: location }\`
|
|
@@ -71231,10 +71232,9 @@ var googleCalendarOnboarding = new ConnectorOnboarding({
|
|
|
71231
71232
|
ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Google Calendar\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u63A5\u7D9A\u4F5C\u6210\u6642\u306B\u306F\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8JSON\u306E\u307F\u304C\u8A2D\u5B9A\u6E08\u307F\u3067\u3001\u5BFE\u8C61\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3084\u30AB\u30EC\u30F3\u30C0\u30FCID\u306F\u3053\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u53D6\u5F97\u3057\u307E\u3059\u3002
|
|
71232
71233
|
|
|
71233
71234
|
1. \`askUserQuestion\` \u3067\u30E6\u30FC\u30B6\u30FC\u306B\u3001\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u304CDomain-wide Delegation\u3067\u4EE3\u7406\u30A2\u30AF\u30BB\u30B9\u3059\u308BGoogle Workspace\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u30D2\u30A2\u30EA\u30F3\u30B0\u3059\u308B:
|
|
71235
|
+
- \`type\`: \`"freeText"\`
|
|
71234
71236
|
- \`question\`: \u300C\u30A2\u30AF\u30BB\u30B9\u3057\u305F\u3044\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u6301\u3064\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8907\u6570\u3042\u308B\u5834\u5408\u306F\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u5165\u529B\u53EF\uFF09\u300D
|
|
71235
|
-
- \`
|
|
71236
|
-
- \`options\`: \`[]\`\uFF08\u9078\u629E\u80A2\u306A\u3057\u30FB\u81EA\u7531\u5165\u529B\u306E\u307F\uFF09
|
|
71237
|
-
- \`allowFreeText\`: \`true\`
|
|
71237
|
+
- \`placeholder\`: \`"user@example.com, admin@example.com"\`
|
|
71238
71238
|
2. \u30E6\u30FC\u30B6\u30FC\u304B\u3089\u53D7\u3051\u53D6\u3063\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u30AB\u30F3\u30DE\u533A\u5207\u308A\u5BFE\u5FDC\uFF09\u3092 \`updateConnectionParameters\` \u3067\u4FDD\u5B58\u3059\u308B:
|
|
71239
71239
|
- \`parameterSlug\`: \`"impersonate-email"\`
|
|
71240
71240
|
- \`options\`: \`[{ value: <\u5165\u529B\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u6587\u5B57\u5217>, label: <\u540C\u3058\u5024> }]\`\uFF081\u4EF6\u306E\u307F\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u81EA\u52D5\u9078\u629E\u3055\u308C\u308B\uFF09
|
|
@@ -71259,10 +71259,9 @@ var googleCalendarOnboarding = new ConnectorOnboarding({
|
|
|
71259
71259
|
en: `Follow these steps to set up the Google Calendar connection. Only the service account JSON is provided at connection creation time \u2014 the target user email and calendar ID are collected during this setup flow.
|
|
71260
71260
|
|
|
71261
71261
|
1. Call \`askUserQuestion\` to ask the user for the Google Workspace user email the service account will impersonate via Domain-wide Delegation:
|
|
71262
|
+
- \`type\`: \`"freeText"\`
|
|
71262
71263
|
- \`question\`: "Please enter the email address of the user whose calendar you want to access (comma-separated list allowed for multiple users)"
|
|
71263
|
-
- \`
|
|
71264
|
-
- \`options\`: \`[]\` (no preset choices \u2014 free text only)
|
|
71265
|
-
- \`allowFreeText\`: \`true\`
|
|
71264
|
+
- \`placeholder\`: \`"user@example.com, admin@example.com"\`
|
|
71266
71265
|
2. Save the email(s) the user provided (comma-separated supported) via \`updateConnectionParameters\`:
|
|
71267
71266
|
- \`parameterSlug\`: \`"impersonate-email"\`
|
|
71268
71267
|
- \`options\`: \`[{ value: <the email string entered>, label: <same value> }]\` (a single option is auto-selected)
|
|
@@ -76005,7 +76004,8 @@ The business logic type for this connector is "sql".
|
|
|
76005
76004
|
},
|
|
76006
76005
|
async query(params, sql, namedParams) {
|
|
76007
76006
|
const { Pool } = await import("pg");
|
|
76008
|
-
const
|
|
76007
|
+
const cleanSql = sql.replace(/;\s*$/, "");
|
|
76008
|
+
const { text, values } = buildPositionalParams(cleanSql, namedParams);
|
|
76009
76009
|
const pool = new Pool({
|
|
76010
76010
|
connectionString: params[parameters28.connectionUrl.slug],
|
|
76011
76011
|
ssl: { rejectUnauthorized: false },
|
|
@@ -82253,9 +82253,9 @@ var gmailOnboarding = new ConnectorOnboarding({
|
|
|
82253
82253
|
ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Gmail\uFF08\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\uFF09\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u63A5\u7D9A\u4F5C\u6210\u6642\u306B\u306F\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8JSON\u306E\u307F\u304C\u8A2D\u5B9A\u6E08\u307F\u3067\u3001\u59D4\u4EFB\u5BFE\u8C61\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306F\u3053\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u53D6\u5F97\u3057\u307E\u3059\u3002
|
|
82254
82254
|
|
|
82255
82255
|
1. \`askUserQuestion\` \u3067\u3001\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u304CDomain-wide Delegation\u3067\u4EE3\u7406\u30A2\u30AF\u30BB\u30B9\u3059\u308BGoogle Workspace\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u30D2\u30A2\u30EA\u30F3\u30B0\u3059\u308B:
|
|
82256
|
+
- \`type\`: \`"freeText"\`
|
|
82256
82257
|
- \`question\`: \u300CGmail\u3092\u53C2\u7167\u3059\u308BGoogle Workspace\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u300D
|
|
82257
|
-
- \`
|
|
82258
|
-
- \`options\`: \`[{ label: "\u4F8B: user@example.com", description: "\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u304C\u4EE3\u7406\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B" }, { label: "\u5225\u306E\u4F8B: admin@example.com", description: "\u7BA1\u7406\u8005\u30E6\u30FC\u30B6\u30FC\u3084\u5171\u6709\u30E1\u30FC\u30EB\u30DC\u30C3\u30AF\u30B9\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u3082\u53EF" }]\` \uFF08\`allowFreeText: true\` \u306E\u305F\u3081\u81EA\u7531\u5165\u529B\u53EF\uFF09
|
|
82258
|
+
- \`placeholder\`: \`"user@example.com"\`
|
|
82259
82259
|
2. \u53D7\u3051\u53D6\u3063\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`updateConnectionParameters\` \u3067\u4FDD\u5B58\u3059\u308B:
|
|
82260
82260
|
- \`parameterSlug\`: \`"delegated-user-email"\`
|
|
82261
82261
|
- \`options\`: \`[{ value: <\u5165\u529B\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>, label: <\u540C\u3058\u5024> }]\`\uFF081\u4EF6\u306E\u307F\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u81EA\u52D5\u9078\u629E\u3055\u308C\u308B\uFF09
|
|
@@ -82280,9 +82280,9 @@ var gmailOnboarding = new ConnectorOnboarding({
|
|
|
82280
82280
|
en: `Follow these steps to set up the Gmail (Service Account) connection. Only the service account JSON is provided at connection creation time \u2014 the delegated user email is collected during this setup flow.
|
|
82281
82281
|
|
|
82282
82282
|
1. Call \`askUserQuestion\` to ask the user for the Google Workspace user email the service account will impersonate via Domain-wide Delegation:
|
|
82283
|
+
- \`type\`: \`"freeText"\`
|
|
82283
82284
|
- \`question\`: "Please enter the email address of the Google Workspace user whose Gmail mailbox you want to access"
|
|
82284
|
-
- \`
|
|
82285
|
-
- \`options\`: \`[{ label: "e.g., user@example.com", description: "The user whose mailbox the service account will impersonate" }, { label: "e.g., admin@example.com", description: "An admin user or shared mailbox is also fine" }]\` (free text entry is allowed because \`allowFreeText: true\`)
|
|
82285
|
+
- \`placeholder\`: \`"user@example.com"\`
|
|
82286
82286
|
2. Save the email via \`updateConnectionParameters\`:
|
|
82287
82287
|
- \`parameterSlug\`: \`"delegated-user-email"\`
|
|
82288
82288
|
- \`options\`: \`[{ value: <entered email>, label: <same value> }]\` (a single option is auto-selected)
|
|
@@ -86461,6 +86461,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
86461
86461
|
import { getContext } from "hono/context-storage";
|
|
86462
86462
|
import { getCookie } from "hono/cookie";
|
|
86463
86463
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
86464
|
+
function normalizeHeaders(input) {
|
|
86465
|
+
const out = {};
|
|
86466
|
+
if (!input) return out;
|
|
86467
|
+
new Headers(input).forEach((value, key) => {
|
|
86468
|
+
out[key] = value;
|
|
86469
|
+
});
|
|
86470
|
+
return out;
|
|
86471
|
+
}
|
|
86464
86472
|
function createSandboxProxyFetch(connectionId) {
|
|
86465
86473
|
return async (input, init) => {
|
|
86466
86474
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -86484,6 +86492,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
86484
86492
|
body: JSON.stringify({
|
|
86485
86493
|
url: originalUrl,
|
|
86486
86494
|
method: originalMethod,
|
|
86495
|
+
headers: normalizeHeaders(init?.headers),
|
|
86487
86496
|
body: originalBody
|
|
86488
86497
|
})
|
|
86489
86498
|
});
|
|
@@ -86518,6 +86527,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
86518
86527
|
body: JSON.stringify({
|
|
86519
86528
|
url: originalUrl,
|
|
86520
86529
|
method: originalMethod,
|
|
86530
|
+
headers: normalizeHeaders(init?.headers),
|
|
86521
86531
|
body: originalBody
|
|
86522
86532
|
})
|
|
86523
86533
|
});
|
|
@@ -555,6 +555,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
555
555
|
import { getContext } from "hono/context-storage";
|
|
556
556
|
import { getCookie } from "hono/cookie";
|
|
557
557
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
558
|
+
function normalizeHeaders(input) {
|
|
559
|
+
const out = {};
|
|
560
|
+
if (!input) return out;
|
|
561
|
+
new Headers(input).forEach((value, key) => {
|
|
562
|
+
out[key] = value;
|
|
563
|
+
});
|
|
564
|
+
return out;
|
|
565
|
+
}
|
|
558
566
|
function createSandboxProxyFetch(connectionId) {
|
|
559
567
|
return async (input, init) => {
|
|
560
568
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -578,6 +586,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
578
586
|
body: JSON.stringify({
|
|
579
587
|
url: originalUrl,
|
|
580
588
|
method: originalMethod,
|
|
589
|
+
headers: normalizeHeaders(init?.headers),
|
|
581
590
|
body: originalBody
|
|
582
591
|
})
|
|
583
592
|
});
|
|
@@ -612,6 +621,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
612
621
|
body: JSON.stringify({
|
|
613
622
|
url: originalUrl,
|
|
614
623
|
method: originalMethod,
|
|
624
|
+
headers: normalizeHeaders(init?.headers),
|
|
615
625
|
body: originalBody
|
|
616
626
|
})
|
|
617
627
|
});
|
|
@@ -585,6 +585,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
585
585
|
import { getContext } from "hono/context-storage";
|
|
586
586
|
import { getCookie } from "hono/cookie";
|
|
587
587
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
588
|
+
function normalizeHeaders(input) {
|
|
589
|
+
const out = {};
|
|
590
|
+
if (!input) return out;
|
|
591
|
+
new Headers(input).forEach((value, key) => {
|
|
592
|
+
out[key] = value;
|
|
593
|
+
});
|
|
594
|
+
return out;
|
|
595
|
+
}
|
|
588
596
|
function createSandboxProxyFetch(connectionId) {
|
|
589
597
|
return async (input, init) => {
|
|
590
598
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -608,6 +616,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
608
616
|
body: JSON.stringify({
|
|
609
617
|
url: originalUrl,
|
|
610
618
|
method: originalMethod,
|
|
619
|
+
headers: normalizeHeaders(init?.headers),
|
|
611
620
|
body: originalBody
|
|
612
621
|
})
|
|
613
622
|
});
|
|
@@ -642,6 +651,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
642
651
|
body: JSON.stringify({
|
|
643
652
|
url: originalUrl,
|
|
644
653
|
method: originalMethod,
|
|
654
|
+
headers: normalizeHeaders(init?.headers),
|
|
645
655
|
body: originalBody
|
|
646
656
|
})
|
|
647
657
|
});
|
|
@@ -576,6 +576,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
576
576
|
import { getContext } from "hono/context-storage";
|
|
577
577
|
import { getCookie } from "hono/cookie";
|
|
578
578
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
579
|
+
function normalizeHeaders(input) {
|
|
580
|
+
const out = {};
|
|
581
|
+
if (!input) return out;
|
|
582
|
+
new Headers(input).forEach((value, key) => {
|
|
583
|
+
out[key] = value;
|
|
584
|
+
});
|
|
585
|
+
return out;
|
|
586
|
+
}
|
|
579
587
|
function createSandboxProxyFetch(connectionId) {
|
|
580
588
|
return async (input, init) => {
|
|
581
589
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -599,6 +607,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
599
607
|
body: JSON.stringify({
|
|
600
608
|
url: originalUrl,
|
|
601
609
|
method: originalMethod,
|
|
610
|
+
headers: normalizeHeaders(init?.headers),
|
|
602
611
|
body: originalBody
|
|
603
612
|
})
|
|
604
613
|
});
|
|
@@ -633,6 +642,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
633
642
|
body: JSON.stringify({
|
|
634
643
|
url: originalUrl,
|
|
635
644
|
method: originalMethod,
|
|
645
|
+
headers: normalizeHeaders(init?.headers),
|
|
636
646
|
body: originalBody
|
|
637
647
|
})
|
|
638
648
|
});
|
|
@@ -260,6 +260,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
260
260
|
import { getContext } from "hono/context-storage";
|
|
261
261
|
import { getCookie } from "hono/cookie";
|
|
262
262
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
263
|
+
function normalizeHeaders(input) {
|
|
264
|
+
const out = {};
|
|
265
|
+
if (!input) return out;
|
|
266
|
+
new Headers(input).forEach((value, key) => {
|
|
267
|
+
out[key] = value;
|
|
268
|
+
});
|
|
269
|
+
return out;
|
|
270
|
+
}
|
|
263
271
|
function createSandboxProxyFetch(connectionId) {
|
|
264
272
|
return async (input, init) => {
|
|
265
273
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -283,6 +291,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
283
291
|
body: JSON.stringify({
|
|
284
292
|
url: originalUrl,
|
|
285
293
|
method: originalMethod,
|
|
294
|
+
headers: normalizeHeaders(init?.headers),
|
|
286
295
|
body: originalBody
|
|
287
296
|
})
|
|
288
297
|
});
|
|
@@ -317,6 +326,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
317
326
|
body: JSON.stringify({
|
|
318
327
|
url: originalUrl,
|
|
319
328
|
method: originalMethod,
|
|
329
|
+
headers: normalizeHeaders(init?.headers),
|
|
320
330
|
body: originalBody
|
|
321
331
|
})
|
|
322
332
|
});
|
package/dist/connectors/asana.js
CHANGED
|
@@ -668,6 +668,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
668
668
|
import { getContext } from "hono/context-storage";
|
|
669
669
|
import { getCookie } from "hono/cookie";
|
|
670
670
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
671
|
+
function normalizeHeaders(input) {
|
|
672
|
+
const out = {};
|
|
673
|
+
if (!input) return out;
|
|
674
|
+
new Headers(input).forEach((value, key) => {
|
|
675
|
+
out[key] = value;
|
|
676
|
+
});
|
|
677
|
+
return out;
|
|
678
|
+
}
|
|
671
679
|
function createSandboxProxyFetch(connectionId) {
|
|
672
680
|
return async (input, init) => {
|
|
673
681
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -691,6 +699,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
691
699
|
body: JSON.stringify({
|
|
692
700
|
url: originalUrl,
|
|
693
701
|
method: originalMethod,
|
|
702
|
+
headers: normalizeHeaders(init?.headers),
|
|
694
703
|
body: originalBody
|
|
695
704
|
})
|
|
696
705
|
});
|
|
@@ -725,6 +734,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
725
734
|
body: JSON.stringify({
|
|
726
735
|
url: originalUrl,
|
|
727
736
|
method: originalMethod,
|
|
737
|
+
headers: normalizeHeaders(init?.headers),
|
|
728
738
|
body: originalBody
|
|
729
739
|
})
|
|
730
740
|
});
|
package/dist/connectors/attio.js
CHANGED
|
@@ -909,6 +909,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
909
909
|
import { getContext } from "hono/context-storage";
|
|
910
910
|
import { getCookie } from "hono/cookie";
|
|
911
911
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
912
|
+
function normalizeHeaders(input) {
|
|
913
|
+
const out = {};
|
|
914
|
+
if (!input) return out;
|
|
915
|
+
new Headers(input).forEach((value, key) => {
|
|
916
|
+
out[key] = value;
|
|
917
|
+
});
|
|
918
|
+
return out;
|
|
919
|
+
}
|
|
912
920
|
function createSandboxProxyFetch(connectionId) {
|
|
913
921
|
return async (input, init) => {
|
|
914
922
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -932,6 +940,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
932
940
|
body: JSON.stringify({
|
|
933
941
|
url: originalUrl,
|
|
934
942
|
method: originalMethod,
|
|
943
|
+
headers: normalizeHeaders(init?.headers),
|
|
935
944
|
body: originalBody
|
|
936
945
|
})
|
|
937
946
|
});
|
|
@@ -966,6 +975,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
966
975
|
body: JSON.stringify({
|
|
967
976
|
url: originalUrl,
|
|
968
977
|
method: originalMethod,
|
|
978
|
+
headers: normalizeHeaders(init?.headers),
|
|
969
979
|
body: originalBody
|
|
970
980
|
})
|
|
971
981
|
});
|
|
@@ -516,6 +516,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
516
516
|
import { getContext } from "hono/context-storage";
|
|
517
517
|
import { getCookie } from "hono/cookie";
|
|
518
518
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
519
|
+
function normalizeHeaders(input) {
|
|
520
|
+
const out = {};
|
|
521
|
+
if (!input) return out;
|
|
522
|
+
new Headers(input).forEach((value, key) => {
|
|
523
|
+
out[key] = value;
|
|
524
|
+
});
|
|
525
|
+
return out;
|
|
526
|
+
}
|
|
519
527
|
function createSandboxProxyFetch(connectionId) {
|
|
520
528
|
return async (input, init) => {
|
|
521
529
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -539,6 +547,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
539
547
|
body: JSON.stringify({
|
|
540
548
|
url: originalUrl,
|
|
541
549
|
method: originalMethod,
|
|
550
|
+
headers: normalizeHeaders(init?.headers),
|
|
542
551
|
body: originalBody
|
|
543
552
|
})
|
|
544
553
|
});
|
|
@@ -573,6 +582,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
573
582
|
body: JSON.stringify({
|
|
574
583
|
url: originalUrl,
|
|
575
584
|
method: originalMethod,
|
|
585
|
+
headers: normalizeHeaders(init?.headers),
|
|
576
586
|
body: originalBody
|
|
577
587
|
})
|
|
578
588
|
});
|
|
@@ -640,6 +640,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
640
640
|
import { getContext } from "hono/context-storage";
|
|
641
641
|
import { getCookie } from "hono/cookie";
|
|
642
642
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
643
|
+
function normalizeHeaders(input) {
|
|
644
|
+
const out = {};
|
|
645
|
+
if (!input) return out;
|
|
646
|
+
new Headers(input).forEach((value, key) => {
|
|
647
|
+
out[key] = value;
|
|
648
|
+
});
|
|
649
|
+
return out;
|
|
650
|
+
}
|
|
643
651
|
function createSandboxProxyFetch(connectionId) {
|
|
644
652
|
return async (input, init) => {
|
|
645
653
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -663,6 +671,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
663
671
|
body: JSON.stringify({
|
|
664
672
|
url: originalUrl,
|
|
665
673
|
method: originalMethod,
|
|
674
|
+
headers: normalizeHeaders(init?.headers),
|
|
666
675
|
body: originalBody
|
|
667
676
|
})
|
|
668
677
|
});
|
|
@@ -697,6 +706,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
697
706
|
body: JSON.stringify({
|
|
698
707
|
url: originalUrl,
|
|
699
708
|
method: originalMethod,
|
|
709
|
+
headers: normalizeHeaders(init?.headers),
|
|
700
710
|
body: originalBody
|
|
701
711
|
})
|
|
702
712
|
});
|
package/dist/connectors/dbt.js
CHANGED
|
@@ -821,6 +821,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
821
821
|
import { getContext } from "hono/context-storage";
|
|
822
822
|
import { getCookie } from "hono/cookie";
|
|
823
823
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
824
|
+
function normalizeHeaders(input) {
|
|
825
|
+
const out = {};
|
|
826
|
+
if (!input) return out;
|
|
827
|
+
new Headers(input).forEach((value, key) => {
|
|
828
|
+
out[key] = value;
|
|
829
|
+
});
|
|
830
|
+
return out;
|
|
831
|
+
}
|
|
824
832
|
function createSandboxProxyFetch(connectionId) {
|
|
825
833
|
return async (input, init) => {
|
|
826
834
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -844,6 +852,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
844
852
|
body: JSON.stringify({
|
|
845
853
|
url: originalUrl,
|
|
846
854
|
method: originalMethod,
|
|
855
|
+
headers: normalizeHeaders(init?.headers),
|
|
847
856
|
body: originalBody
|
|
848
857
|
})
|
|
849
858
|
});
|
|
@@ -878,6 +887,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
878
887
|
body: JSON.stringify({
|
|
879
888
|
url: originalUrl,
|
|
880
889
|
method: originalMethod,
|
|
890
|
+
headers: normalizeHeaders(init?.headers),
|
|
881
891
|
body: originalBody
|
|
882
892
|
})
|
|
883
893
|
});
|
package/dist/connectors/gamma.js
CHANGED
|
@@ -753,6 +753,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
753
753
|
import { getContext } from "hono/context-storage";
|
|
754
754
|
import { getCookie } from "hono/cookie";
|
|
755
755
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
756
|
+
function normalizeHeaders(input) {
|
|
757
|
+
const out = {};
|
|
758
|
+
if (!input) return out;
|
|
759
|
+
new Headers(input).forEach((value, key) => {
|
|
760
|
+
out[key] = value;
|
|
761
|
+
});
|
|
762
|
+
return out;
|
|
763
|
+
}
|
|
756
764
|
function createSandboxProxyFetch(connectionId) {
|
|
757
765
|
return async (input, init) => {
|
|
758
766
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -776,6 +784,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
776
784
|
body: JSON.stringify({
|
|
777
785
|
url: originalUrl,
|
|
778
786
|
method: originalMethod,
|
|
787
|
+
headers: normalizeHeaders(init?.headers),
|
|
779
788
|
body: originalBody
|
|
780
789
|
})
|
|
781
790
|
});
|
|
@@ -810,6 +819,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
810
819
|
body: JSON.stringify({
|
|
811
820
|
url: originalUrl,
|
|
812
821
|
method: originalMethod,
|
|
822
|
+
headers: normalizeHeaders(init?.headers),
|
|
813
823
|
body: originalBody
|
|
814
824
|
})
|
|
815
825
|
});
|
|
@@ -252,6 +252,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
252
252
|
import { getContext } from "hono/context-storage";
|
|
253
253
|
import { getCookie } from "hono/cookie";
|
|
254
254
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
255
|
+
function normalizeHeaders(input) {
|
|
256
|
+
const out = {};
|
|
257
|
+
if (!input) return out;
|
|
258
|
+
new Headers(input).forEach((value, key) => {
|
|
259
|
+
out[key] = value;
|
|
260
|
+
});
|
|
261
|
+
return out;
|
|
262
|
+
}
|
|
255
263
|
function createSandboxProxyFetch(connectionId) {
|
|
256
264
|
return async (input, init) => {
|
|
257
265
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -275,6 +283,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
275
283
|
body: JSON.stringify({
|
|
276
284
|
url: originalUrl,
|
|
277
285
|
method: originalMethod,
|
|
286
|
+
headers: normalizeHeaders(init?.headers),
|
|
278
287
|
body: originalBody
|
|
279
288
|
})
|
|
280
289
|
});
|
|
@@ -309,6 +318,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
309
318
|
body: JSON.stringify({
|
|
310
319
|
url: originalUrl,
|
|
311
320
|
method: originalMethod,
|
|
321
|
+
headers: normalizeHeaders(init?.headers),
|
|
312
322
|
body: originalBody
|
|
313
323
|
})
|
|
314
324
|
});
|
|
@@ -657,6 +657,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
657
657
|
import { getContext } from "hono/context-storage";
|
|
658
658
|
import { getCookie } from "hono/cookie";
|
|
659
659
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
660
|
+
function normalizeHeaders(input) {
|
|
661
|
+
const out = {};
|
|
662
|
+
if (!input) return out;
|
|
663
|
+
new Headers(input).forEach((value, key) => {
|
|
664
|
+
out[key] = value;
|
|
665
|
+
});
|
|
666
|
+
return out;
|
|
667
|
+
}
|
|
660
668
|
function createSandboxProxyFetch(connectionId) {
|
|
661
669
|
return async (input, init) => {
|
|
662
670
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -680,6 +688,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
680
688
|
body: JSON.stringify({
|
|
681
689
|
url: originalUrl,
|
|
682
690
|
method: originalMethod,
|
|
691
|
+
headers: normalizeHeaders(init?.headers),
|
|
683
692
|
body: originalBody
|
|
684
693
|
})
|
|
685
694
|
});
|
|
@@ -714,6 +723,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
714
723
|
body: JSON.stringify({
|
|
715
724
|
url: originalUrl,
|
|
716
725
|
method: originalMethod,
|
|
726
|
+
headers: normalizeHeaders(init?.headers),
|
|
717
727
|
body: originalBody
|
|
718
728
|
})
|
|
719
729
|
});
|
package/dist/connectors/gmail.js
CHANGED
|
@@ -517,9 +517,9 @@ var gmailOnboarding = new ConnectorOnboarding({
|
|
|
517
517
|
ja: `\u4EE5\u4E0B\u306E\u624B\u9806\u3067Gmail\uFF08\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\uFF09\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002\u63A5\u7D9A\u4F5C\u6210\u6642\u306B\u306F\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8JSON\u306E\u307F\u304C\u8A2D\u5B9A\u6E08\u307F\u3067\u3001\u59D4\u4EFB\u5BFE\u8C61\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306F\u3053\u306E\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u4E2D\u306B\u53D6\u5F97\u3057\u307E\u3059\u3002
|
|
518
518
|
|
|
519
519
|
1. \`askUserQuestion\` \u3067\u3001\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u304CDomain-wide Delegation\u3067\u4EE3\u7406\u30A2\u30AF\u30BB\u30B9\u3059\u308BGoogle Workspace\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u30D2\u30A2\u30EA\u30F3\u30B0\u3059\u308B:
|
|
520
|
+
- \`type\`: \`"freeText"\`
|
|
520
521
|
- \`question\`: \u300CGmail\u3092\u53C2\u7167\u3059\u308BGoogle Workspace\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u300D
|
|
521
|
-
- \`
|
|
522
|
-
- \`options\`: \`[{ label: "\u4F8B: user@example.com", description: "\u30B5\u30FC\u30D3\u30B9\u30A2\u30AB\u30A6\u30F3\u30C8\u304C\u4EE3\u7406\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B" }, { label: "\u5225\u306E\u4F8B: admin@example.com", description: "\u7BA1\u7406\u8005\u30E6\u30FC\u30B6\u30FC\u3084\u5171\u6709\u30E1\u30FC\u30EB\u30DC\u30C3\u30AF\u30B9\u306E\u30A2\u30C9\u30EC\u30B9\u3067\u3082\u53EF" }]\` \uFF08\`allowFreeText: true\` \u306E\u305F\u3081\u81EA\u7531\u5165\u529B\u53EF\uFF09
|
|
522
|
+
- \`placeholder\`: \`"user@example.com"\`
|
|
523
523
|
2. \u53D7\u3051\u53D6\u3063\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092 \`updateConnectionParameters\` \u3067\u4FDD\u5B58\u3059\u308B:
|
|
524
524
|
- \`parameterSlug\`: \`"delegated-user-email"\`
|
|
525
525
|
- \`options\`: \`[{ value: <\u5165\u529B\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>, label: <\u540C\u3058\u5024> }]\`\uFF081\u4EF6\u306E\u307F\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u81EA\u52D5\u9078\u629E\u3055\u308C\u308B\uFF09
|
|
@@ -544,9 +544,9 @@ var gmailOnboarding = new ConnectorOnboarding({
|
|
|
544
544
|
en: `Follow these steps to set up the Gmail (Service Account) connection. Only the service account JSON is provided at connection creation time \u2014 the delegated user email is collected during this setup flow.
|
|
545
545
|
|
|
546
546
|
1. Call \`askUserQuestion\` to ask the user for the Google Workspace user email the service account will impersonate via Domain-wide Delegation:
|
|
547
|
+
- \`type\`: \`"freeText"\`
|
|
547
548
|
- \`question\`: "Please enter the email address of the Google Workspace user whose Gmail mailbox you want to access"
|
|
548
|
-
- \`
|
|
549
|
-
- \`options\`: \`[{ label: "e.g., user@example.com", description: "The user whose mailbox the service account will impersonate" }, { label: "e.g., admin@example.com", description: "An admin user or shared mailbox is also fine" }]\` (free text entry is allowed because \`allowFreeText: true\`)
|
|
549
|
+
- \`placeholder\`: \`"user@example.com"\`
|
|
550
550
|
2. Save the email via \`updateConnectionParameters\`:
|
|
551
551
|
- \`parameterSlug\`: \`"delegated-user-email"\`
|
|
552
552
|
- \`options\`: \`[{ value: <entered email>, label: <same value> }]\` (a single option is auto-selected)
|
|
@@ -822,6 +822,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
822
822
|
import { getContext } from "hono/context-storage";
|
|
823
823
|
import { getCookie } from "hono/cookie";
|
|
824
824
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
825
|
+
function normalizeHeaders(input) {
|
|
826
|
+
const out = {};
|
|
827
|
+
if (!input) return out;
|
|
828
|
+
new Headers(input).forEach((value, key) => {
|
|
829
|
+
out[key] = value;
|
|
830
|
+
});
|
|
831
|
+
return out;
|
|
832
|
+
}
|
|
825
833
|
function createSandboxProxyFetch(connectionId) {
|
|
826
834
|
return async (input, init) => {
|
|
827
835
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -845,6 +853,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
845
853
|
body: JSON.stringify({
|
|
846
854
|
url: originalUrl,
|
|
847
855
|
method: originalMethod,
|
|
856
|
+
headers: normalizeHeaders(init?.headers),
|
|
848
857
|
body: originalBody
|
|
849
858
|
})
|
|
850
859
|
});
|
|
@@ -879,6 +888,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
879
888
|
body: JSON.stringify({
|
|
880
889
|
url: originalUrl,
|
|
881
890
|
method: originalMethod,
|
|
891
|
+
headers: normalizeHeaders(init?.headers),
|
|
882
892
|
body: originalBody
|
|
883
893
|
})
|
|
884
894
|
});
|
|
@@ -832,6 +832,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
832
832
|
import { getContext } from "hono/context-storage";
|
|
833
833
|
import { getCookie } from "hono/cookie";
|
|
834
834
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
835
|
+
function normalizeHeaders(input) {
|
|
836
|
+
const out = {};
|
|
837
|
+
if (!input) return out;
|
|
838
|
+
new Headers(input).forEach((value, key) => {
|
|
839
|
+
out[key] = value;
|
|
840
|
+
});
|
|
841
|
+
return out;
|
|
842
|
+
}
|
|
835
843
|
function createSandboxProxyFetch(connectionId) {
|
|
836
844
|
return async (input, init) => {
|
|
837
845
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -855,6 +863,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
855
863
|
body: JSON.stringify({
|
|
856
864
|
url: originalUrl,
|
|
857
865
|
method: originalMethod,
|
|
866
|
+
headers: normalizeHeaders(init?.headers),
|
|
858
867
|
body: originalBody
|
|
859
868
|
})
|
|
860
869
|
});
|
|
@@ -889,6 +898,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
889
898
|
body: JSON.stringify({
|
|
890
899
|
url: originalUrl,
|
|
891
900
|
method: originalMethod,
|
|
901
|
+
headers: normalizeHeaders(init?.headers),
|
|
892
902
|
body: originalBody
|
|
893
903
|
})
|
|
894
904
|
});
|
|
@@ -912,6 +912,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
912
912
|
import { getContext } from "hono/context-storage";
|
|
913
913
|
import { getCookie } from "hono/cookie";
|
|
914
914
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
915
|
+
function normalizeHeaders(input) {
|
|
916
|
+
const out = {};
|
|
917
|
+
if (!input) return out;
|
|
918
|
+
new Headers(input).forEach((value, key) => {
|
|
919
|
+
out[key] = value;
|
|
920
|
+
});
|
|
921
|
+
return out;
|
|
922
|
+
}
|
|
915
923
|
function createSandboxProxyFetch(connectionId) {
|
|
916
924
|
return async (input, init) => {
|
|
917
925
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -935,6 +943,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
935
943
|
body: JSON.stringify({
|
|
936
944
|
url: originalUrl,
|
|
937
945
|
method: originalMethod,
|
|
946
|
+
headers: normalizeHeaders(init?.headers),
|
|
938
947
|
body: originalBody
|
|
939
948
|
})
|
|
940
949
|
});
|
|
@@ -969,6 +978,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
969
978
|
body: JSON.stringify({
|
|
970
979
|
url: originalUrl,
|
|
971
980
|
method: originalMethod,
|
|
981
|
+
headers: normalizeHeaders(init?.headers),
|
|
972
982
|
body: originalBody
|
|
973
983
|
})
|
|
974
984
|
});
|
|
@@ -639,6 +639,14 @@ function resolveEnvVarOptional(entry, key) {
|
|
|
639
639
|
import { getContext } from "hono/context-storage";
|
|
640
640
|
import { getCookie } from "hono/cookie";
|
|
641
641
|
var APP_SESSION_COOKIE_NAME = "__Host-squadbase-session";
|
|
642
|
+
function normalizeHeaders(input) {
|
|
643
|
+
const out = {};
|
|
644
|
+
if (!input) return out;
|
|
645
|
+
new Headers(input).forEach((value, key) => {
|
|
646
|
+
out[key] = value;
|
|
647
|
+
});
|
|
648
|
+
return out;
|
|
649
|
+
}
|
|
642
650
|
function createSandboxProxyFetch(connectionId) {
|
|
643
651
|
return async (input, init) => {
|
|
644
652
|
const token = process.env.INTERNAL_SQUADBASE_OAUTH_MACHINE_CREDENTIAL;
|
|
@@ -662,6 +670,7 @@ function createSandboxProxyFetch(connectionId) {
|
|
|
662
670
|
body: JSON.stringify({
|
|
663
671
|
url: originalUrl,
|
|
664
672
|
method: originalMethod,
|
|
673
|
+
headers: normalizeHeaders(init?.headers),
|
|
665
674
|
body: originalBody
|
|
666
675
|
})
|
|
667
676
|
});
|
|
@@ -696,6 +705,7 @@ function createDeployedAppProxyFetch(connectionId) {
|
|
|
696
705
|
body: JSON.stringify({
|
|
697
706
|
url: originalUrl,
|
|
698
707
|
method: originalMethod,
|
|
708
|
+
headers: normalizeHeaders(init?.headers),
|
|
699
709
|
body: originalBody
|
|
700
710
|
})
|
|
701
711
|
});
|