@squadbase/vite-server 0.1.17-dev.d4fff69 → 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.
Files changed (78) hide show
  1. package/dist/cli/index.js +4786 -3023
  2. package/dist/connectors/airtable-oauth.js +39 -15
  3. package/dist/connectors/airtable.js +86 -15
  4. package/dist/connectors/amplitude.js +39 -15
  5. package/dist/connectors/anthropic.js +39 -15
  6. package/dist/connectors/asana.js +39 -15
  7. package/dist/connectors/attio.js +39 -15
  8. package/dist/connectors/aws-billing.js +39 -15
  9. package/dist/connectors/azure-sql.js +275 -15
  10. package/dist/connectors/backlog-api-key.js +39 -15
  11. package/dist/connectors/clickup.js +39 -15
  12. package/dist/connectors/cosmosdb.js +39 -15
  13. package/dist/connectors/customerio.js +39 -15
  14. package/dist/connectors/dbt.js +39 -15
  15. package/dist/connectors/freshdesk.js +39 -15
  16. package/dist/connectors/freshsales.js +39 -15
  17. package/dist/connectors/freshservice.js +39 -15
  18. package/dist/connectors/gamma.js +39 -15
  19. package/dist/connectors/gemini.js +39 -15
  20. package/dist/connectors/github.js +39 -15
  21. package/dist/connectors/gmail-oauth.js +32 -13
  22. package/dist/connectors/gmail.js +39 -15
  23. package/dist/connectors/google-ads.js +39 -15
  24. package/dist/connectors/google-analytics-oauth.js +39 -15
  25. package/dist/connectors/google-analytics.js +39 -15
  26. package/dist/connectors/google-audit-log.js +39 -15
  27. package/dist/connectors/google-calendar-oauth.js +39 -15
  28. package/dist/connectors/google-calendar.js +39 -15
  29. package/dist/connectors/google-docs.js +32 -13
  30. package/dist/connectors/google-drive.js +32 -13
  31. package/dist/connectors/google-search-console-oauth.js +39 -15
  32. package/dist/connectors/google-sheets.js +138 -195
  33. package/dist/connectors/google-slides.js +32 -13
  34. package/dist/connectors/grafana.js +39 -15
  35. package/dist/connectors/hackernews.js +32 -13
  36. package/dist/connectors/hubspot-oauth.js +32 -13
  37. package/dist/connectors/hubspot.js +39 -15
  38. package/dist/connectors/influxdb.js +39 -15
  39. package/dist/connectors/intercom-oauth.js +32 -13
  40. package/dist/connectors/intercom.js +39 -15
  41. package/dist/connectors/jdbc.js +39 -15
  42. package/dist/connectors/jira-api-key.js +39 -15
  43. package/dist/connectors/kintone-api-token.js +39 -15
  44. package/dist/connectors/kintone.js +128 -15
  45. package/dist/connectors/linear.js +39 -15
  46. package/dist/connectors/linkedin-ads.js +39 -15
  47. package/dist/connectors/mailchimp-oauth.js +39 -15
  48. package/dist/connectors/mailchimp.js +39 -15
  49. package/dist/connectors/meta-ads-oauth.js +39 -15
  50. package/dist/connectors/meta-ads.js +39 -15
  51. package/dist/connectors/mixpanel.js +39 -15
  52. package/dist/connectors/monday.js +39 -15
  53. package/dist/connectors/mongodb.js +39 -15
  54. package/dist/connectors/notion-oauth.js +32 -13
  55. package/dist/connectors/notion.js +84 -15
  56. package/dist/connectors/openai.js +39 -15
  57. package/dist/connectors/oracle.js +277 -15
  58. package/dist/connectors/outlook-oauth.js +32 -13
  59. package/dist/connectors/powerbi-oauth.js +32 -13
  60. package/dist/connectors/salesforce.js +108 -15
  61. package/dist/connectors/semrush.js +39 -15
  62. package/dist/connectors/sentry.js +39 -15
  63. package/dist/connectors/shopify-oauth.js +32 -13
  64. package/dist/connectors/shopify.js +39 -15
  65. package/dist/connectors/sqlserver.js +275 -15
  66. package/dist/connectors/stripe-api-key.js +39 -15
  67. package/dist/connectors/stripe-oauth.js +32 -13
  68. package/dist/connectors/supabase.js +284 -15
  69. package/dist/connectors/tableau.js +39 -15
  70. package/dist/connectors/tiktok-ads.js +39 -15
  71. package/dist/connectors/wix-store.js +39 -15
  72. package/dist/connectors/x.js +39 -15
  73. package/dist/connectors/zendesk-oauth.js +32 -13
  74. package/dist/connectors/zendesk.js +39 -15
  75. package/dist/index.js +4832 -3034
  76. package/dist/main.js +4832 -3034
  77. package/dist/vite-plugin.js +4786 -3023
  78. package/package.json +4 -4
@@ -133,6 +133,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
133
133
  * `runSetupFlow` from `setup-flow.ts`.
134
134
  */
135
135
  setup;
136
+ /**
137
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
138
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
139
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
140
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
141
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
142
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
143
+ */
144
+ introspect;
136
145
  /**
137
146
  * Opt-out of the default "verify before save" behavior on connection
138
147
  * creation. The backend invokes `checkConnection` synchronously while
@@ -147,6 +156,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
147
156
  * the default verify-on-create behavior without opt-in.
148
157
  */
149
158
  skipConnectionCheckOnCreate;
159
+ /**
160
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
161
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
162
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
163
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
164
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
165
+ */
166
+ surveyProbes;
150
167
  constructor(config) {
151
168
  this.slug = config.slug;
152
169
  this.authType = config.authType;
@@ -164,7 +181,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
164
181
  this.query = config.query;
165
182
  this.checkConnection = config.checkConnection;
166
183
  this.setup = config.setup;
184
+ this.introspect = config.introspect;
167
185
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
186
+ this.surveyProbes = config.surveyProbes;
168
187
  }
169
188
  get connectorKey() {
170
189
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -202,25 +221,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
202
221
  if (authType) return `${slug}-${authType}`;
203
222
  const LEGACY_NULL_AUTH_TYPE_MAP = {
204
223
  // user-password
205
- "postgresql": "user-password",
206
- "mysql": "user-password",
207
- "clickhouse": "user-password",
208
- "kintone": "user-password",
224
+ postgresql: "user-password",
225
+ mysql: "user-password",
226
+ clickhouse: "user-password",
227
+ kintone: "user-password",
209
228
  "squadbase-db": "user-password",
210
229
  // service-account
211
- "snowflake": "service-account",
212
- "bigquery": "service-account",
230
+ snowflake: "service-account",
231
+ bigquery: "service-account",
213
232
  "google-analytics": "service-account",
214
233
  "google-calendar": "service-account",
215
234
  "aws-athena": "service-account",
216
- "redshift": "service-account",
235
+ redshift: "service-account",
217
236
  // api-key
218
- "databricks": "api-key",
219
- "dbt": "api-key",
220
- "airtable": "api-key",
221
- "openai": "api-key",
222
- "gemini": "api-key",
223
- "anthropic": "api-key",
237
+ databricks: "api-key",
238
+ dbt: "api-key",
239
+ airtable: "api-key",
240
+ openai: "api-key",
241
+ gemini: "api-key",
242
+ anthropic: "api-key",
224
243
  "wix-store": "api-key"
225
244
  };
226
245
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -1,6 +1,11 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __esm = (fn, res) => function __init() {
3
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
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
@@ -244,6 +249,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
244
249
  * `runSetupFlow` from `setup-flow.ts`.
245
250
  */
246
251
  setup;
252
+ /**
253
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
254
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
255
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
256
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
257
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
258
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
259
+ */
260
+ introspect;
247
261
  /**
248
262
  * Opt-out of the default "verify before save" behavior on connection
249
263
  * creation. The backend invokes `checkConnection` synchronously while
@@ -258,6 +272,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
258
272
  * the default verify-on-create behavior without opt-in.
259
273
  */
260
274
  skipConnectionCheckOnCreate;
275
+ /**
276
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
277
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
278
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
279
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
280
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
281
+ */
282
+ surveyProbes;
261
283
  constructor(config) {
262
284
  this.slug = config.slug;
263
285
  this.authType = config.authType;
@@ -275,7 +297,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
275
297
  this.query = config.query;
276
298
  this.checkConnection = config.checkConnection;
277
299
  this.setup = config.setup;
300
+ this.introspect = config.introspect;
278
301
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
302
+ this.surveyProbes = config.surveyProbes;
279
303
  }
280
304
  get connectorKey() {
281
305
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -313,25 +337,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
313
337
  if (authType) return `${slug}-${authType}`;
314
338
  const LEGACY_NULL_AUTH_TYPE_MAP = {
315
339
  // user-password
316
- "postgresql": "user-password",
317
- "mysql": "user-password",
318
- "clickhouse": "user-password",
319
- "kintone": "user-password",
340
+ postgresql: "user-password",
341
+ mysql: "user-password",
342
+ clickhouse: "user-password",
343
+ kintone: "user-password",
320
344
  "squadbase-db": "user-password",
321
345
  // service-account
322
- "snowflake": "service-account",
323
- "bigquery": "service-account",
346
+ snowflake: "service-account",
347
+ bigquery: "service-account",
324
348
  "google-analytics": "service-account",
325
349
  "google-calendar": "service-account",
326
350
  "aws-athena": "service-account",
327
- "redshift": "service-account",
351
+ redshift: "service-account",
328
352
  // api-key
329
- "databricks": "api-key",
330
- "dbt": "api-key",
331
- "airtable": "api-key",
332
- "openai": "api-key",
333
- "gemini": "api-key",
334
- "anthropic": "api-key",
353
+ databricks: "api-key",
354
+ dbt: "api-key",
355
+ airtable: "api-key",
356
+ openai: "api-key",
357
+ gemini: "api-key",
358
+ anthropic: "api-key",
335
359
  "wix-store": "api-key"
336
360
  };
337
361
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -163,6 +163,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
163
163
  * `runSetupFlow` from `setup-flow.ts`.
164
164
  */
165
165
  setup;
166
+ /**
167
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
168
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
169
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
170
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
171
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
172
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
173
+ */
174
+ introspect;
166
175
  /**
167
176
  * Opt-out of the default "verify before save" behavior on connection
168
177
  * creation. The backend invokes `checkConnection` synchronously while
@@ -177,6 +186,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
177
186
  * the default verify-on-create behavior without opt-in.
178
187
  */
179
188
  skipConnectionCheckOnCreate;
189
+ /**
190
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
191
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
192
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
193
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
194
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
195
+ */
196
+ surveyProbes;
180
197
  constructor(config) {
181
198
  this.slug = config.slug;
182
199
  this.authType = config.authType;
@@ -194,7 +211,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
194
211
  this.query = config.query;
195
212
  this.checkConnection = config.checkConnection;
196
213
  this.setup = config.setup;
214
+ this.introspect = config.introspect;
197
215
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
216
+ this.surveyProbes = config.surveyProbes;
198
217
  }
199
218
  get connectorKey() {
200
219
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -232,25 +251,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
232
251
  if (authType) return `${slug}-${authType}`;
233
252
  const LEGACY_NULL_AUTH_TYPE_MAP = {
234
253
  // user-password
235
- "postgresql": "user-password",
236
- "mysql": "user-password",
237
- "clickhouse": "user-password",
238
- "kintone": "user-password",
254
+ postgresql: "user-password",
255
+ mysql: "user-password",
256
+ clickhouse: "user-password",
257
+ kintone: "user-password",
239
258
  "squadbase-db": "user-password",
240
259
  // service-account
241
- "snowflake": "service-account",
242
- "bigquery": "service-account",
260
+ snowflake: "service-account",
261
+ bigquery: "service-account",
243
262
  "google-analytics": "service-account",
244
263
  "google-calendar": "service-account",
245
264
  "aws-athena": "service-account",
246
- "redshift": "service-account",
265
+ redshift: "service-account",
247
266
  // api-key
248
- "databricks": "api-key",
249
- "dbt": "api-key",
250
- "airtable": "api-key",
251
- "openai": "api-key",
252
- "gemini": "api-key",
253
- "anthropic": "api-key",
267
+ databricks: "api-key",
268
+ dbt: "api-key",
269
+ airtable: "api-key",
270
+ openai: "api-key",
271
+ gemini: "api-key",
272
+ anthropic: "api-key",
254
273
  "wix-store": "api-key"
255
274
  };
256
275
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -75,6 +75,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
75
75
  * `runSetupFlow` from `setup-flow.ts`.
76
76
  */
77
77
  setup;
78
+ /**
79
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
80
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
81
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
82
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
83
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
84
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
85
+ */
86
+ introspect;
78
87
  /**
79
88
  * Opt-out of the default "verify before save" behavior on connection
80
89
  * creation. The backend invokes `checkConnection` synchronously while
@@ -89,6 +98,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
89
98
  * the default verify-on-create behavior without opt-in.
90
99
  */
91
100
  skipConnectionCheckOnCreate;
101
+ /**
102
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
103
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
104
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
105
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
106
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
107
+ */
108
+ surveyProbes;
92
109
  constructor(config) {
93
110
  this.slug = config.slug;
94
111
  this.authType = config.authType;
@@ -106,7 +123,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
106
123
  this.query = config.query;
107
124
  this.checkConnection = config.checkConnection;
108
125
  this.setup = config.setup;
126
+ this.introspect = config.introspect;
109
127
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
128
+ this.surveyProbes = config.surveyProbes;
110
129
  }
111
130
  get connectorKey() {
112
131
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -144,25 +163,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
144
163
  if (authType) return `${slug}-${authType}`;
145
164
  const LEGACY_NULL_AUTH_TYPE_MAP = {
146
165
  // user-password
147
- "postgresql": "user-password",
148
- "mysql": "user-password",
149
- "clickhouse": "user-password",
150
- "kintone": "user-password",
166
+ postgresql: "user-password",
167
+ mysql: "user-password",
168
+ clickhouse: "user-password",
169
+ kintone: "user-password",
151
170
  "squadbase-db": "user-password",
152
171
  // service-account
153
- "snowflake": "service-account",
154
- "bigquery": "service-account",
172
+ snowflake: "service-account",
173
+ bigquery: "service-account",
155
174
  "google-analytics": "service-account",
156
175
  "google-calendar": "service-account",
157
176
  "aws-athena": "service-account",
158
- "redshift": "service-account",
177
+ redshift: "service-account",
159
178
  // api-key
160
- "databricks": "api-key",
161
- "dbt": "api-key",
162
- "airtable": "api-key",
163
- "openai": "api-key",
164
- "gemini": "api-key",
165
- "anthropic": "api-key",
179
+ databricks: "api-key",
180
+ dbt: "api-key",
181
+ airtable: "api-key",
182
+ openai: "api-key",
183
+ gemini: "api-key",
184
+ anthropic: "api-key",
166
185
  "wix-store": "api-key"
167
186
  };
168
187
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -1,6 +1,11 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __esm = (fn, res) => function __init() {
3
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
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
@@ -218,6 +223,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
218
223
  * `runSetupFlow` from `setup-flow.ts`.
219
224
  */
220
225
  setup;
226
+ /**
227
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
228
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
229
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
230
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
231
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
232
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
233
+ */
234
+ introspect;
221
235
  /**
222
236
  * Opt-out of the default "verify before save" behavior on connection
223
237
  * creation. The backend invokes `checkConnection` synchronously while
@@ -232,6 +246,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
232
246
  * the default verify-on-create behavior without opt-in.
233
247
  */
234
248
  skipConnectionCheckOnCreate;
249
+ /**
250
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
251
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
252
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
253
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
254
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
255
+ */
256
+ surveyProbes;
235
257
  constructor(config) {
236
258
  this.slug = config.slug;
237
259
  this.authType = config.authType;
@@ -249,7 +271,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
249
271
  this.query = config.query;
250
272
  this.checkConnection = config.checkConnection;
251
273
  this.setup = config.setup;
274
+ this.introspect = config.introspect;
252
275
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
276
+ this.surveyProbes = config.surveyProbes;
253
277
  }
254
278
  get connectorKey() {
255
279
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -287,25 +311,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
287
311
  if (authType) return `${slug}-${authType}`;
288
312
  const LEGACY_NULL_AUTH_TYPE_MAP = {
289
313
  // user-password
290
- "postgresql": "user-password",
291
- "mysql": "user-password",
292
- "clickhouse": "user-password",
293
- "kintone": "user-password",
314
+ postgresql: "user-password",
315
+ mysql: "user-password",
316
+ clickhouse: "user-password",
317
+ kintone: "user-password",
294
318
  "squadbase-db": "user-password",
295
319
  // service-account
296
- "snowflake": "service-account",
297
- "bigquery": "service-account",
320
+ snowflake: "service-account",
321
+ bigquery: "service-account",
298
322
  "google-analytics": "service-account",
299
323
  "google-calendar": "service-account",
300
324
  "aws-athena": "service-account",
301
- "redshift": "service-account",
325
+ redshift: "service-account",
302
326
  // api-key
303
- "databricks": "api-key",
304
- "dbt": "api-key",
305
- "airtable": "api-key",
306
- "openai": "api-key",
307
- "gemini": "api-key",
308
- "anthropic": "api-key",
327
+ databricks: "api-key",
328
+ dbt: "api-key",
329
+ airtable: "api-key",
330
+ openai: "api-key",
331
+ gemini: "api-key",
332
+ anthropic: "api-key",
309
333
  "wix-store": "api-key"
310
334
  };
311
335
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -1,6 +1,11 @@
1
1
  var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __esm = (fn, res) => function __init() {
3
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
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
@@ -277,6 +282,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
277
282
  * `runSetupFlow` from `setup-flow.ts`.
278
283
  */
279
284
  setup;
285
+ /**
286
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
287
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
288
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
289
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
290
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
291
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
292
+ */
293
+ introspect;
280
294
  /**
281
295
  * Opt-out of the default "verify before save" behavior on connection
282
296
  * creation. The backend invokes `checkConnection` synchronously while
@@ -291,6 +305,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
291
305
  * the default verify-on-create behavior without opt-in.
292
306
  */
293
307
  skipConnectionCheckOnCreate;
308
+ /**
309
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
310
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
311
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
312
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
313
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
314
+ */
315
+ surveyProbes;
294
316
  constructor(config) {
295
317
  this.slug = config.slug;
296
318
  this.authType = config.authType;
@@ -308,7 +330,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
308
330
  this.query = config.query;
309
331
  this.checkConnection = config.checkConnection;
310
332
  this.setup = config.setup;
333
+ this.introspect = config.introspect;
311
334
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
335
+ this.surveyProbes = config.surveyProbes;
312
336
  }
313
337
  get connectorKey() {
314
338
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -346,25 +370,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
346
370
  if (authType) return `${slug}-${authType}`;
347
371
  const LEGACY_NULL_AUTH_TYPE_MAP = {
348
372
  // user-password
349
- "postgresql": "user-password",
350
- "mysql": "user-password",
351
- "clickhouse": "user-password",
352
- "kintone": "user-password",
373
+ postgresql: "user-password",
374
+ mysql: "user-password",
375
+ clickhouse: "user-password",
376
+ kintone: "user-password",
353
377
  "squadbase-db": "user-password",
354
378
  // service-account
355
- "snowflake": "service-account",
356
- "bigquery": "service-account",
379
+ snowflake: "service-account",
380
+ bigquery: "service-account",
357
381
  "google-analytics": "service-account",
358
382
  "google-calendar": "service-account",
359
383
  "aws-athena": "service-account",
360
- "redshift": "service-account",
384
+ redshift: "service-account",
361
385
  // api-key
362
- "databricks": "api-key",
363
- "dbt": "api-key",
364
- "airtable": "api-key",
365
- "openai": "api-key",
366
- "gemini": "api-key",
367
- "anthropic": "api-key",
386
+ databricks: "api-key",
387
+ dbt: "api-key",
388
+ airtable: "api-key",
389
+ openai: "api-key",
390
+ gemini: "api-key",
391
+ anthropic: "api-key",
368
392
  "wix-store": "api-key"
369
393
  };
370
394
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];
@@ -75,6 +75,15 @@ var ConnectorPlugin = class _ConnectorPlugin {
75
75
  * `runSetupFlow` from `setup-flow.ts`.
76
76
  */
77
77
  setup;
78
+ /**
79
+ * 統一 introspection。SQL DB の `information_schema` / `SHOW` / `DESCRIBE` や SaaS の
80
+ * メタデータ API といった取得経路の差を吸収し、tables / columns / PK / FK を共通型
81
+ * {@link IntrospectedSchema} へ正規化して返す。取得経路は {@link IntrospectContext} で
82
+ * 抽象化され、SQL DB は `ctx.query`、SaaS は `ctx.proxyFetch` + `ctx.params` を使う。
83
+ * `ctx.profile === true` のときは L2 プロファイル(行数・NULL 率等)も best-effort で埋める。
84
+ * coding-agent の `DataContextIndex` がデータ地図を構築する際に使う。
85
+ */
86
+ introspect;
78
87
  /**
79
88
  * Opt-out of the default "verify before save" behavior on connection
80
89
  * creation. The backend invokes `checkConnection` synchronously while
@@ -89,6 +98,14 @@ var ConnectorPlugin = class _ConnectorPlugin {
89
98
  * the default verify-on-create behavior without opt-in.
90
99
  */
91
100
  skipConnectionCheckOnCreate;
101
+ /**
102
+ * 決定論的な「立ち上げ survey」レシピ(ルールベース prewarm 基盤)。実装した connector は、LLM を使わずに
103
+ * read-only で自分を survey する probe 列(テーブル/列メタデータ → 小サンプル)を宣言する。coding-agent の
104
+ * recon driver がこれを読み、connector ツールの `execute` を直接呼んで結果を seed にする。未実装の connector は
105
+ * driver 側で safely skip される(その connection は listConnections のみ seed)。標準 `information_schema` を
106
+ * 持つ SQL connector は `makeStandardSqlSurveyProbes` を使える。**probe は必ず read-only**。
107
+ */
108
+ surveyProbes;
92
109
  constructor(config) {
93
110
  this.slug = config.slug;
94
111
  this.authType = config.authType;
@@ -106,7 +123,9 @@ var ConnectorPlugin = class _ConnectorPlugin {
106
123
  this.query = config.query;
107
124
  this.checkConnection = config.checkConnection;
108
125
  this.setup = config.setup;
126
+ this.introspect = config.introspect;
109
127
  this.skipConnectionCheckOnCreate = config.skipConnectionCheckOnCreate;
128
+ this.surveyProbes = config.surveyProbes;
110
129
  }
111
130
  get connectorKey() {
112
131
  return _ConnectorPlugin.deriveKey(this.slug, this.authType);
@@ -144,25 +163,25 @@ var ConnectorPlugin = class _ConnectorPlugin {
144
163
  if (authType) return `${slug}-${authType}`;
145
164
  const LEGACY_NULL_AUTH_TYPE_MAP = {
146
165
  // user-password
147
- "postgresql": "user-password",
148
- "mysql": "user-password",
149
- "clickhouse": "user-password",
150
- "kintone": "user-password",
166
+ postgresql: "user-password",
167
+ mysql: "user-password",
168
+ clickhouse: "user-password",
169
+ kintone: "user-password",
151
170
  "squadbase-db": "user-password",
152
171
  // service-account
153
- "snowflake": "service-account",
154
- "bigquery": "service-account",
172
+ snowflake: "service-account",
173
+ bigquery: "service-account",
155
174
  "google-analytics": "service-account",
156
175
  "google-calendar": "service-account",
157
176
  "aws-athena": "service-account",
158
- "redshift": "service-account",
177
+ redshift: "service-account",
159
178
  // api-key
160
- "databricks": "api-key",
161
- "dbt": "api-key",
162
- "airtable": "api-key",
163
- "openai": "api-key",
164
- "gemini": "api-key",
165
- "anthropic": "api-key",
179
+ databricks: "api-key",
180
+ dbt: "api-key",
181
+ airtable: "api-key",
182
+ openai: "api-key",
183
+ gemini: "api-key",
184
+ anthropic: "api-key",
166
185
  "wix-store": "api-key"
167
186
  };
168
187
  const fallbackAuthType = LEGACY_NULL_AUTH_TYPE_MAP[slug];