@squadbase/vite-server 0.1.17-dev.a9ddcfa → 0.1.17-dev.e4768d1
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 +8941 -3700
- package/dist/connectors/airtable-oauth.js +87 -23
- package/dist/connectors/airtable.js +130 -23
- package/dist/connectors/amplitude.js +47 -23
- package/dist/connectors/anthropic.js +41 -17
- package/dist/connectors/asana.js +76 -25
- package/dist/connectors/attio.js +69 -28
- package/dist/connectors/aws-billing.js +47 -23
- package/dist/connectors/azure-sql.js +322 -25
- package/dist/connectors/backlog-api-key.js +79 -30
- package/dist/connectors/clickup.js +89 -25
- package/dist/connectors/cosmosdb.js +51 -27
- package/dist/connectors/customerio.js +47 -23
- package/dist/connectors/dbt.js +725 -40
- package/dist/connectors/freshdesk.js +121 -23
- package/dist/connectors/freshsales.js +47 -23
- package/dist/connectors/freshservice.js +47 -23
- package/dist/connectors/gamma.js +54 -30
- package/dist/connectors/gemini.js +41 -17
- package/dist/connectors/github.js +51 -27
- package/dist/connectors/gmail-oauth.js +42 -23
- package/dist/connectors/gmail.js +43 -19
- package/dist/connectors/google-ads.js +47 -23
- package/dist/connectors/google-analytics-oauth.js +191 -40
- package/dist/connectors/google-analytics.js +529 -111
- package/dist/connectors/google-audit-log.js +43 -19
- package/dist/connectors/google-calendar-oauth.js +100 -30
- package/dist/connectors/google-calendar.js +100 -26
- package/dist/connectors/google-docs.js +42 -23
- package/dist/connectors/google-drive.js +64 -23
- package/dist/connectors/google-search-console-oauth.js +165 -32
- package/dist/connectors/google-sheets.js +142 -199
- package/dist/connectors/google-slides.js +42 -23
- package/dist/connectors/grafana.js +84 -25
- package/dist/connectors/hackernews.d.ts +5 -0
- package/dist/connectors/hackernews.js +909 -0
- package/dist/connectors/hubspot-oauth.js +73 -22
- package/dist/connectors/hubspot.js +64 -24
- package/dist/connectors/influxdb.js +47 -23
- package/dist/connectors/intercom-oauth.js +104 -25
- package/dist/connectors/intercom.js +51 -27
- package/dist/connectors/jdbc.js +76 -25
- package/dist/connectors/jira-api-key.js +107 -26
- package/dist/connectors/kintone-api-token.js +105 -33
- package/dist/connectors/kintone.js +182 -26
- package/dist/connectors/linear.js +93 -27
- package/dist/connectors/linkedin-ads.js +80 -29
- package/dist/connectors/mailchimp-oauth.js +45 -21
- package/dist/connectors/mailchimp.js +45 -21
- package/dist/connectors/meta-ads-oauth.js +72 -29
- package/dist/connectors/meta-ads.js +74 -29
- package/dist/connectors/mixpanel.js +47 -23
- package/dist/connectors/monday.js +48 -24
- package/dist/connectors/mongodb.js +47 -23
- package/dist/connectors/notion-oauth.js +92 -24
- package/dist/connectors/notion.js +144 -26
- package/dist/connectors/openai.js +41 -17
- package/dist/connectors/oracle.js +316 -26
- package/dist/connectors/outlook-oauth.js +53 -34
- package/dist/connectors/powerbi-oauth.js +45 -26
- package/dist/connectors/salesforce.js +150 -24
- package/dist/connectors/semrush.js +45 -21
- package/dist/connectors/sentry.js +75 -25
- package/dist/connectors/shopify-oauth.js +75 -23
- package/dist/connectors/shopify.js +47 -23
- package/dist/connectors/sqlserver.js +322 -25
- package/dist/connectors/stripe-api-key.js +105 -30
- package/dist/connectors/stripe-oauth.js +102 -32
- package/dist/connectors/supabase.js +315 -21
- package/dist/connectors/tableau.js +54 -30
- package/dist/connectors/tiktok-ads.js +76 -31
- package/dist/connectors/wix-store.js +47 -23
- package/dist/connectors/x.d.ts +5 -0
- package/dist/connectors/x.js +951 -0
- package/dist/connectors/zendesk-oauth.js +87 -25
- package/dist/connectors/zendesk.js +51 -27
- package/dist/index.js +9005 -3709
- package/dist/main.js +9005 -3709
- package/dist/vite-plugin.js +8939 -3698
- package/package.json +12 -4
|
@@ -73,6 +73,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
73
73
|
* `runSetupFlow` from `setup-flow.ts`.
|
|
74
74
|
*/
|
|
75
75
|
setup;
|
|
76
|
+
/**
|
|
77
|
+
* 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
|
|
78
|
+
* メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
|
|
79
|
+
* {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
|
|
80
|
+
* 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
|
|
81
|
+
* `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
|
|
82
|
+
* coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
|
|
83
|
+
*/
|
|
84
|
+
introspect;
|
|
76
85
|
/**
|
|
77
86
|
* Opt-out of the default "verify before save" behavior on connection
|
|
78
87
|
* creation. The backend invokes `checkConnection` synchronously while
|
|
@@ -87,6 +96,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
87
96
|
* the default verify-on-create behavior without opt-in.
|
|
88
97
|
*/
|
|
89
98
|
skipConnectionCheckOnCreate;
|
|
99
|
+
/**
|
|
100
|
+
* 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
|
|
101
|
+
* read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
|
|
102
|
+
* recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
|
|
103
|
+
* driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
|
|
104
|
+
* 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
|
|
105
|
+
*/
|
|
106
|
+
surveyProbes;
|
|
90
107
|
constructor(config) {
|
|
91
108
|
this.slug = config.slug;
|
|
92
109
|
this.authType = config.authType;
|
|
@@ -104,7 +121,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
104
121
|
this.query = config.query;
|
|
105
122
|
this.checkConnection = config.checkConnection;
|
|
106
123
|
this.setup = config.setup;
|
|
124
|
+
this.introspect = config.introspect;
|
|
107
125
|
this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
|
|
126
|
+
this.surveyProbes = config.surveyProbes;
|
|
108
127
|
}
|
|
109
128
|
get connectorKey() {
|
|
110
129
|
return _ConnectorPlugin.deriveKey(this.slug, this.authType);
|
|
@@ -112,7 +131,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
112
131
|
/**
|
|
113
132
|
* Create tools for connections that belong to this connector.
|
|
114
133
|
* Filters connections by connectorKey internally.
|
|
115
|
-
* Returns tools keyed as
|
|
134
|
+
* Returns tools keyed as `connector_${connectorKey}_${toolName}`.
|
|
116
135
|
*/
|
|
117
136
|
createTools(connections, config, opts) {
|
|
118
137
|
const myConnections = connections.filter(
|
|
@@ -122,7 +141,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
122
141
|
for (const t of Object.values(this.tools)) {
|
|
123
142
|
const tool = t.createTool(myConnections, config);
|
|
124
143
|
const originalToModelOutput = tool.toModelOutput;
|
|
125
|
-
result[
|
|
144
|
+
result[`connector_${this.connectorKey}_${t.name}`] = {
|
|
126
145
|
...tool,
|
|
127
146
|
toModelOutput: async (options) => {
|
|
128
147
|
if (!originalToModelOutput) {
|
|
@@ -142,25 +161,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
142
161
|
if (authType) return `${slug}-${authType}`;
|
|
143
162
|
const LEGACY_NULL_AUTH_TYPE_MAP = {
|
|
144
163
|
// user-password
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
164
|
+
postgresql: "user-password",
|
|
165
|
+
mysql: "user-password",
|
|
166
|
+
clickhouse: "user-password",
|
|
167
|
+
kintone: "user-password",
|
|
149
168
|
"squadbase-db": "user-password",
|
|
150
169
|
// service-account
|
|
151
|
-
|
|
152
|
-
|
|
170
|
+
snowflake: "service-account",
|
|
171
|
+
bigquery: "service-account",
|
|
153
172
|
"google-analytics": "service-account",
|
|
154
173
|
"google-calendar": "service-account",
|
|
155
174
|
"aws-athena": "service-account",
|
|
156
|
-
|
|
175
|
+
redshift: "service-account",
|
|
157
176
|
// api-key
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
177
|
+
databricks: "api-key",
|
|
178
|
+
dbt: "api-key",
|
|
179
|
+
airtable: "api-key",
|
|
180
|
+
openai: "api-key",
|
|
181
|
+
gemini: "api-key",
|
|
182
|
+
anthropic: "api-key",
|
|
164
183
|
"wix-store": "api-key"
|
|
165
184
|
};
|
|
166
185
|
const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
|
|
@@ -392,14 +411,14 @@ var zendeskOauthOnboarding = new ConnectorOnboarding({
|
|
|
392
411
|
- \u30C4\u30FC\u30EB\u9593\u306F1\u6587\u3060\u3051\u66F8\u3044\u3066\u5373\u6B21\u306E\u30C4\u30FC\u30EB\u547C\u3073\u51FA\u3057\u3002\u4E0D\u8981\u306A\u8AAC\u660E\u306F\u7701\u7565\u3057\u3001\u52B9\u7387\u7684\u306B\u9032\u3081\u308B`
|
|
393
412
|
},
|
|
394
413
|
dataOverviewInstructions: {
|
|
395
|
-
en: `1. Call
|
|
396
|
-
2. Call
|
|
397
|
-
3. Call
|
|
398
|
-
4. Call
|
|
399
|
-
ja: `1.
|
|
400
|
-
2.
|
|
401
|
-
3.
|
|
402
|
-
4.
|
|
414
|
+
en: `1. Call connector_zendesk-oauth_request with GET /api/v2/ticket_fields.json to list available ticket fields
|
|
415
|
+
2. Call connector_zendesk-oauth_request with GET /api/v2/tickets.json?page[size]=5 to explore ticket structure
|
|
416
|
+
3. Call connector_zendesk-oauth_request with GET /api/v2/users.json?page[size]=5 to explore user structure
|
|
417
|
+
4. Call connector_zendesk-oauth_request with GET /api/v2/organizations.json?page[size]=5 to explore organization structure`,
|
|
418
|
+
ja: `1. connector_zendesk-oauth_request \u3067 GET /api/v2/ticket_fields.json \u3092\u547C\u3073\u51FA\u3057\u3001\u5229\u7528\u53EF\u80FD\u306A\u30C1\u30B1\u30C3\u30C8\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u78BA\u8A8D
|
|
419
|
+
2. connector_zendesk-oauth_request \u3067 GET /api/v2/tickets.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u30C1\u30B1\u30C3\u30C8\u306E\u69CB\u9020\u3092\u78BA\u8A8D
|
|
420
|
+
3. connector_zendesk-oauth_request \u3067 GET /api/v2/users.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u30E6\u30FC\u30B6\u30FC\u306E\u69CB\u9020\u3092\u78BA\u8A8D
|
|
421
|
+
4. connector_zendesk-oauth_request \u3067 GET /api/v2/organizations.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u7D44\u7E54\u306E\u69CB\u9020\u3092\u78BA\u8A8D`
|
|
403
422
|
}
|
|
404
423
|
});
|
|
405
424
|
|
|
@@ -517,6 +536,49 @@ var zendeskOauthSetupFlow = {
|
|
|
517
536
|
);
|
|
518
537
|
}
|
|
519
538
|
sections.push("");
|
|
539
|
+
if (targetEntities.includes("tickets")) {
|
|
540
|
+
try {
|
|
541
|
+
const statusRes = await apiFetch(
|
|
542
|
+
rt.config.proxyFetch,
|
|
543
|
+
"/api/v2/tickets.json?page[size]=100&sort=-created_at"
|
|
544
|
+
);
|
|
545
|
+
if (statusRes.ok) {
|
|
546
|
+
const statusData = await statusRes.json();
|
|
547
|
+
const tickets = statusData.tickets ?? [];
|
|
548
|
+
if (tickets.length > 0) {
|
|
549
|
+
const statusCounts = {};
|
|
550
|
+
for (const t of tickets) {
|
|
551
|
+
const s = t.status ?? "unknown";
|
|
552
|
+
statusCounts[s] = (statusCounts[s] ?? 0) + 1;
|
|
553
|
+
}
|
|
554
|
+
sections.push("### Ticket status breakdown (from recent tickets)", "");
|
|
555
|
+
sections.push("| Status | Count |");
|
|
556
|
+
sections.push("|--------|-------|");
|
|
557
|
+
for (const [status, cnt] of Object.entries(statusCounts).sort(
|
|
558
|
+
(a, b) => b[1] - a[1]
|
|
559
|
+
)) {
|
|
560
|
+
sections.push(`| ${status} | ${cnt} |`);
|
|
561
|
+
}
|
|
562
|
+
sections.push("");
|
|
563
|
+
sections.push("### Recent tickets (sample)", "");
|
|
564
|
+
sections.push("| ID | Subject | Status | Priority | Created |");
|
|
565
|
+
sections.push("|----|---------|--------|----------|---------|");
|
|
566
|
+
for (const t of tickets.slice(0, 5)) {
|
|
567
|
+
const id = t.id != null ? String(t.id) : "-";
|
|
568
|
+
const subject = (t.subject ?? "-").replace(/\|/g, "\\|").slice(0, 60);
|
|
569
|
+
const status = t.status ?? "-";
|
|
570
|
+
const priority = t.priority ?? "-";
|
|
571
|
+
const created = t.created_at ? t.created_at.slice(0, 10) : "-";
|
|
572
|
+
sections.push(
|
|
573
|
+
`| ${id} | ${subject} | ${status} | ${priority} | ${created} |`
|
|
574
|
+
);
|
|
575
|
+
}
|
|
576
|
+
sections.push("");
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
} catch {
|
|
580
|
+
}
|
|
581
|
+
}
|
|
520
582
|
return sections.join("\n");
|
|
521
583
|
}
|
|
522
584
|
};
|
|
@@ -548,7 +610,7 @@ var zendeskOauthConnector = new ConnectorPlugin({
|
|
|
548
610
|
systemPrompt: {
|
|
549
611
|
en: `### Tools
|
|
550
612
|
|
|
551
|
-
- \`
|
|
613
|
+
- \`connector_zendesk-oauth_request\`: The only way to call the Zendesk Support API. Use it to query tickets, users, organizations, groups, and perform searches. Authentication is configured automatically via OAuth. Zendesk uses cursor-based pagination with \`page[size]\` and \`page[after]\` parameters. All endpoint paths end with \`.json\`.
|
|
552
614
|
|
|
553
615
|
### Zendesk API Reference
|
|
554
616
|
|
|
@@ -606,7 +668,7 @@ const data = await res.json();
|
|
|
606
668
|
\`\`\``,
|
|
607
669
|
ja: `### \u30C4\u30FC\u30EB
|
|
608
670
|
|
|
609
|
-
- \`
|
|
671
|
+
- \`connector_zendesk-oauth_request\`: Zendesk Support API\u3092\u547C\u3073\u51FA\u3059\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u30C1\u30B1\u30C3\u30C8\u3001\u30E6\u30FC\u30B6\u30FC\u3001\u7D44\u7E54\u3001\u30B0\u30EB\u30FC\u30D7\u306E\u30AF\u30A8\u30EA\u3084\u691C\u7D22\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002OAuth\u7D4C\u7531\u3067\u8A8D\u8A3C\u306F\u81EA\u52D5\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002Zendesk\u306F \`page[size]\` \u3068 \`page[after]\` \u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3088\u308B\u30AB\u30FC\u30BD\u30EB\u30D9\u30FC\u30B9\u306E\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5168\u3066\u306E\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u30D1\u30B9\u306F \`.json\` \u3067\u7D42\u308F\u308A\u307E\u3059\u3002
|
|
610
672
|
|
|
611
673
|
### Zendesk API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
|
|
612
674
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
-
var __esm = (fn, res) => function __init() {
|
|
3
|
-
|
|
2
|
+
var __esm = (fn, res, err) => function __init() {
|
|
3
|
+
if (err) throw err[0];
|
|
4
|
+
try {
|
|
5
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
6
|
+
} catch (e) {
|
|
7
|
+
throw err = [e], e;
|
|
8
|
+
}
|
|
4
9
|
};
|
|
5
10
|
|
|
6
11
|
// ../connectors/src/parameter-definition.ts
|
|
@@ -262,6 +267,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
262
267
|
* `runSetupFlow` from `setup-flow.ts`.
|
|
263
268
|
*/
|
|
264
269
|
setup;
|
|
270
|
+
/**
|
|
271
|
+
* 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
|
|
272
|
+
* メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
|
|
273
|
+
* {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
|
|
274
|
+
* 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
|
|
275
|
+
* `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
|
|
276
|
+
* coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
|
|
277
|
+
*/
|
|
278
|
+
introspect;
|
|
265
279
|
/**
|
|
266
280
|
* Opt-out of the default "verify before save" behavior on connection
|
|
267
281
|
* creation. The backend invokes `checkConnection` synchronously while
|
|
@@ -276,6 +290,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
276
290
|
* the default verify-on-create behavior without opt-in.
|
|
277
291
|
*/
|
|
278
292
|
skipConnectionCheckOnCreate;
|
|
293
|
+
/**
|
|
294
|
+
* 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
|
|
295
|
+
* read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
|
|
296
|
+
* recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
|
|
297
|
+
* driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
|
|
298
|
+
* 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
|
|
299
|
+
*/
|
|
300
|
+
surveyProbes;
|
|
279
301
|
constructor(config) {
|
|
280
302
|
this.slug = config.slug;
|
|
281
303
|
this.authType = config.authType;
|
|
@@ -293,7 +315,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
293
315
|
this.query = config.query;
|
|
294
316
|
this.checkConnection = config.checkConnection;
|
|
295
317
|
this.setup = config.setup;
|
|
318
|
+
this.introspect = config.introspect;
|
|
296
319
|
this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
|
|
320
|
+
this.surveyProbes = config.surveyProbes;
|
|
297
321
|
}
|
|
298
322
|
get connectorKey() {
|
|
299
323
|
return _ConnectorPlugin.deriveKey(this.slug, this.authType);
|
|
@@ -301,7 +325,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
301
325
|
/**
|
|
302
326
|
* Create tools for connections that belong to this connector.
|
|
303
327
|
* Filters connections by connectorKey internally.
|
|
304
|
-
* Returns tools keyed as
|
|
328
|
+
* Returns tools keyed as `connector_${connectorKey}_${toolName}`.
|
|
305
329
|
*/
|
|
306
330
|
createTools(connections, config, opts) {
|
|
307
331
|
const myConnections = connections.filter(
|
|
@@ -311,7 +335,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
311
335
|
for (const t of Object.values(this.tools)) {
|
|
312
336
|
const tool = t.createTool(myConnections, config);
|
|
313
337
|
const originalToModelOutput = tool.toModelOutput;
|
|
314
|
-
result[
|
|
338
|
+
result[`connector_${this.connectorKey}_${t.name}`] = {
|
|
315
339
|
...tool,
|
|
316
340
|
toModelOutput: async (options) => {
|
|
317
341
|
if (!originalToModelOutput) {
|
|
@@ -331,25 +355,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
331
355
|
if (authType) return `${slug}-${authType}`;
|
|
332
356
|
const LEGACY_NULL_AUTH_TYPE_MAP = {
|
|
333
357
|
// user-password
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
358
|
+
postgresql: "user-password",
|
|
359
|
+
mysql: "user-password",
|
|
360
|
+
clickhouse: "user-password",
|
|
361
|
+
kintone: "user-password",
|
|
338
362
|
"squadbase-db": "user-password",
|
|
339
363
|
// service-account
|
|
340
|
-
|
|
341
|
-
|
|
364
|
+
snowflake: "service-account",
|
|
365
|
+
bigquery: "service-account",
|
|
342
366
|
"google-analytics": "service-account",
|
|
343
367
|
"google-calendar": "service-account",
|
|
344
368
|
"aws-athena": "service-account",
|
|
345
|
-
|
|
369
|
+
redshift: "service-account",
|
|
346
370
|
// api-key
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
371
|
+
databricks: "api-key",
|
|
372
|
+
dbt: "api-key",
|
|
373
|
+
airtable: "api-key",
|
|
374
|
+
openai: "api-key",
|
|
375
|
+
gemini: "api-key",
|
|
376
|
+
anthropic: "api-key",
|
|
353
377
|
"wix-store": "api-key"
|
|
354
378
|
};
|
|
355
379
|
const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
|
|
@@ -441,14 +465,14 @@ var AUTH_TYPES = {
|
|
|
441
465
|
// ../connectors/src/connectors/zendesk/setup.ts
|
|
442
466
|
var zendeskOnboarding = new ConnectorOnboarding({
|
|
443
467
|
dataOverviewInstructions: {
|
|
444
|
-
en: `1. Call
|
|
445
|
-
2. Call
|
|
446
|
-
3. Call
|
|
447
|
-
4. Call
|
|
448
|
-
ja: `1.
|
|
449
|
-
2.
|
|
450
|
-
3.
|
|
451
|
-
4.
|
|
468
|
+
en: `1. Call connector_zendesk_request with GET /api/v2/ticket_fields.json to list available ticket fields
|
|
469
|
+
2. Call connector_zendesk_request with GET /api/v2/tickets.json?page[size]=5 to explore ticket structure
|
|
470
|
+
3. Call connector_zendesk_request with GET /api/v2/users.json?page[size]=5 to explore user structure
|
|
471
|
+
4. Call connector_zendesk_request with GET /api/v2/organizations.json?page[size]=5 to explore organization structure`,
|
|
472
|
+
ja: `1. connector_zendesk_request \u3067 GET /api/v2/ticket_fields.json \u3092\u547C\u3073\u51FA\u3057\u3001\u5229\u7528\u53EF\u80FD\u306A\u30C1\u30B1\u30C3\u30C8\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u78BA\u8A8D
|
|
473
|
+
2. connector_zendesk_request \u3067 GET /api/v2/tickets.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u30C1\u30B1\u30C3\u30C8\u306E\u69CB\u9020\u3092\u78BA\u8A8D
|
|
474
|
+
3. connector_zendesk_request \u3067 GET /api/v2/users.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u30E6\u30FC\u30B6\u30FC\u306E\u69CB\u9020\u3092\u78BA\u8A8D
|
|
475
|
+
4. connector_zendesk_request \u3067 GET /api/v2/organizations.json?page[size]=5 \u3092\u547C\u3073\u51FA\u3057\u3001\u7D44\u7E54\u306E\u69CB\u9020\u3092\u78BA\u8A8D`
|
|
452
476
|
}
|
|
453
477
|
});
|
|
454
478
|
|
|
@@ -693,7 +717,7 @@ var zendeskConnector = new ConnectorPlugin({
|
|
|
693
717
|
systemPrompt: {
|
|
694
718
|
en: `### Tools
|
|
695
719
|
|
|
696
|
-
- \`
|
|
720
|
+
- \`connector_zendesk_request\`: The only way to call the Zendesk Support API. Use it to query tickets, users, organizations, groups, and perform searches. Authentication (Basic auth with email/token) is configured automatically. Zendesk uses cursor-based pagination with \`page[size]\` and \`page[after]\` parameters. All endpoint paths end with \`.json\`.
|
|
697
721
|
|
|
698
722
|
### Business Logic
|
|
699
723
|
|
|
@@ -779,7 +803,7 @@ export default async function handler(c: Context) {
|
|
|
779
803
|
- \`type:organization {name}\` \u2014 Organizations matching a name`,
|
|
780
804
|
ja: `### \u30C4\u30FC\u30EB
|
|
781
805
|
|
|
782
|
-
- \`
|
|
806
|
+
- \`connector_zendesk_request\`: Zendesk Support API\u3092\u547C\u3073\u51FA\u3059\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u30C1\u30B1\u30C3\u30C8\u3001\u30E6\u30FC\u30B6\u30FC\u3001\u7D44\u7E54\u3001\u30B0\u30EB\u30FC\u30D7\u306E\u30AF\u30A8\u30EA\u3084\u691C\u7D22\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002\u8A8D\u8A3C\uFF08\u30E1\u30FC\u30EB/\u30C8\u30FC\u30AF\u30F3\u306B\u3088\u308BBasic\u8A8D\u8A3C\uFF09\u306F\u81EA\u52D5\u7684\u306B\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002Zendesk\u306F \`page[size]\` \u3068 \`page[after]\` \u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3088\u308B\u30AB\u30FC\u30BD\u30EB\u30D9\u30FC\u30B9\u306E\u30DA\u30FC\u30B8\u30CD\u30FC\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u5168\u3066\u306E\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u30D1\u30B9\u306F \`.json\` \u3067\u7D42\u308F\u308A\u307E\u3059\u3002
|
|
783
807
|
|
|
784
808
|
### Business Logic
|
|
785
809
|
|