@squadbase/vite-server 0.1.17-dev.a9ddcfa → 0.1.17-dev.d4fff69
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 +4299 -821
- package/dist/connectors/airtable-oauth.js +48 -8
- package/dist/connectors/airtable.js +44 -8
- package/dist/connectors/amplitude.js +8 -8
- package/dist/connectors/anthropic.js +2 -2
- package/dist/connectors/asana.js +37 -10
- package/dist/connectors/attio.js +30 -13
- package/dist/connectors/aws-billing.js +8 -8
- package/dist/connectors/azure-sql.js +47 -10
- package/dist/connectors/backlog-api-key.js +40 -15
- package/dist/connectors/clickup.js +50 -10
- package/dist/connectors/cosmosdb.js +12 -12
- package/dist/connectors/customerio.js +8 -8
- package/dist/connectors/dbt.js +686 -25
- package/dist/connectors/freshdesk.js +82 -8
- package/dist/connectors/freshsales.js +8 -8
- package/dist/connectors/freshservice.js +8 -8
- package/dist/connectors/gamma.js +15 -15
- package/dist/connectors/gemini.js +2 -2
- package/dist/connectors/github.js +12 -12
- package/dist/connectors/gmail-oauth.js +10 -10
- package/dist/connectors/gmail.js +4 -4
- package/dist/connectors/google-ads.js +8 -8
- package/dist/connectors/google-analytics-oauth.js +152 -25
- package/dist/connectors/google-analytics.js +490 -96
- package/dist/connectors/google-audit-log.js +4 -4
- package/dist/connectors/google-calendar-oauth.js +61 -15
- package/dist/connectors/google-calendar.js +61 -11
- package/dist/connectors/google-docs.js +10 -10
- package/dist/connectors/google-drive.js +32 -10
- package/dist/connectors/google-search-console-oauth.js +126 -17
- package/dist/connectors/google-sheets.js +6 -6
- package/dist/connectors/google-slides.js +10 -10
- package/dist/connectors/grafana.js +45 -10
- package/dist/connectors/hackernews.d.ts +5 -0
- package/dist/connectors/hackernews.js +890 -0
- package/dist/connectors/hubspot-oauth.js +41 -9
- package/dist/connectors/hubspot.js +25 -9
- package/dist/connectors/influxdb.js +8 -8
- package/dist/connectors/intercom-oauth.js +72 -12
- package/dist/connectors/intercom.js +12 -12
- package/dist/connectors/jdbc.js +37 -10
- package/dist/connectors/jira-api-key.js +68 -11
- package/dist/connectors/kintone-api-token.js +66 -18
- package/dist/connectors/kintone.js +54 -11
- package/dist/connectors/linear.js +54 -12
- package/dist/connectors/linkedin-ads.js +41 -14
- package/dist/connectors/mailchimp-oauth.js +6 -6
- package/dist/connectors/mailchimp.js +6 -6
- package/dist/connectors/meta-ads-oauth.js +33 -14
- package/dist/connectors/meta-ads.js +35 -14
- package/dist/connectors/mixpanel.js +8 -8
- package/dist/connectors/monday.js +9 -9
- package/dist/connectors/mongodb.js +8 -8
- package/dist/connectors/notion-oauth.js +60 -11
- package/dist/connectors/notion.js +60 -11
- package/dist/connectors/openai.js +2 -2
- package/dist/connectors/oracle.js +39 -11
- package/dist/connectors/outlook-oauth.js +21 -21
- package/dist/connectors/powerbi-oauth.js +13 -13
- package/dist/connectors/salesforce.js +42 -9
- package/dist/connectors/semrush.js +6 -6
- package/dist/connectors/sentry.js +36 -10
- package/dist/connectors/shopify-oauth.js +43 -10
- package/dist/connectors/shopify.js +8 -8
- package/dist/connectors/sqlserver.js +47 -10
- package/dist/connectors/stripe-api-key.js +66 -15
- package/dist/connectors/stripe-oauth.js +70 -19
- package/dist/connectors/supabase.js +31 -6
- package/dist/connectors/tableau.js +15 -15
- package/dist/connectors/tiktok-ads.js +37 -16
- package/dist/connectors/wix-store.js +8 -8
- package/dist/connectors/x.d.ts +5 -0
- package/dist/connectors/x.js +927 -0
- package/dist/connectors/zendesk-oauth.js +55 -12
- package/dist/connectors/zendesk.js +12 -12
- package/dist/index.js +4317 -819
- package/dist/main.js +4317 -819
- package/dist/vite-plugin.js +4297 -819
- package/package.json +9 -1
|
@@ -243,7 +243,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
243
243
|
/**
|
|
244
244
|
* Create tools for connections that belong to this connector.
|
|
245
245
|
* Filters connections by connectorKey internally.
|
|
246
|
-
* Returns tools keyed as
|
|
246
|
+
* Returns tools keyed as `connector_${connectorKey}_${toolName}`.
|
|
247
247
|
*/
|
|
248
248
|
createTools(connections, config, opts) {
|
|
249
249
|
const myConnections = connections.filter(
|
|
@@ -253,7 +253,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
253
253
|
for (const t of Object.values(this.tools)) {
|
|
254
254
|
const tool = t.createTool(myConnections, config);
|
|
255
255
|
const originalToModelOutput = tool.toModelOutput;
|
|
256
|
-
result[
|
|
256
|
+
result[`connector_${this.connectorKey}_${t.name}`] = {
|
|
257
257
|
...tool,
|
|
258
258
|
toModelOutput: async (options) => {
|
|
259
259
|
if (!originalToModelOutput) {
|
|
@@ -703,9 +703,9 @@ var googleSheetsConnector = new ConnectorPlugin({
|
|
|
703
703
|
systemPrompt: {
|
|
704
704
|
en: `### Tools (setup-time only)
|
|
705
705
|
|
|
706
|
-
- \`
|
|
706
|
+
- \`connector_google-sheets-oauth_request\`: Call the Google Sheets API during setup / data overview. Supports GET, POST, and PUT. The caller must include the target spreadsheetId in the path explicitly (e.g., \`/1AbCxyz...\`, \`/1AbCxyz.../values/Sheet1!A1:D10\`). Authentication is configured automatically via OAuth.
|
|
707
707
|
|
|
708
|
-
> **Important**: The \`
|
|
708
|
+
> **Important**: The \`connector_google-sheets-oauth_request\` tool is only available at setup time. Inside server-logic handlers, use the SDK (\`connection(id).getValues(spreadsheetId, range)\`, etc.) \u2014 the SDK's fetch is already wired through the OAuth proxy. **Do NOT** hand-roll HTTP calls to \`_sqcore/connections/*/request\` from a handler.
|
|
709
709
|
|
|
710
710
|
> **Connection scope**: The OAuth scope is \`spreadsheets\` (read/write). A connection is NOT bound to a single spreadsheet \u2014 the target spreadsheetId is passed per call. The spreadsheetId is NOT stored as a connection parameter or environment variable; pass it explicitly from the caller (e.g., as a query param or request input to the handler).
|
|
711
711
|
|
|
@@ -777,9 +777,9 @@ await sheets.batchUpdate(spreadsheetId, [
|
|
|
777
777
|
\`\`\``,
|
|
778
778
|
ja: `### \u30C4\u30FC\u30EB\uFF08\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6642\u306E\u307F\uFF09
|
|
779
779
|
|
|
780
|
-
- \`
|
|
780
|
+
- \`connector_google-sheets-oauth_request\`: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3084\u30C7\u30FC\u30BF\u6982\u8981\u628A\u63E1\u6642\u306B Google Sheets API \u3092\u547C\u3073\u51FA\u3059\u30C4\u30FC\u30EB\u3067\u3059\u3002GET / POST / PUT \u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u547C\u3073\u51FA\u3057\u5074\u304C\u30D1\u30B9\u306B\u5BFE\u8C61\u306E spreadsheetId \u3092\u660E\u793A\u7684\u306B\u542B\u3081\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\uFF08\u4F8B: \`/1AbCxyz...\`\u3001\`/1AbCxyz.../values/Sheet1!A1:D10\`\uFF09\u3002OAuth \u7D4C\u7531\u3067\u8A8D\u8A3C\u306F\u81EA\u52D5\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002
|
|
781
781
|
|
|
782
|
-
> **\u91CD\u8981**: \`
|
|
782
|
+
> **\u91CD\u8981**: \`connector_google-sheets-oauth_request\` \u306F\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6642\u306E\u307F\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u30B5\u30FC\u30D0\u30FC\u30ED\u30B8\u30C3\u30AF\u306E\u30CF\u30F3\u30C9\u30E9\u5185\u3067\u306F\u5FC5\u305A SDK\uFF08\`connection(id).getValues(spreadsheetId, range)\` \u306A\u3069\uFF09\u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002SDK \u306E fetch \u306F OAuth \u30D7\u30ED\u30AD\u30B7\u7D4C\u7531\u3067\u65E2\u306B\u914D\u7DDA\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30CF\u30F3\u30C9\u30E9\u304B\u3089 \`_sqcore/connections/*/request\` \u3092\u624B\u66F8\u304D\u3067\u547C\u3073\u51FA\u3055\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
|
|
783
783
|
|
|
784
784
|
> **\u63A5\u7D9A\u30B9\u30B3\u30FC\u30D7**: OAuth \u30B9\u30B3\u30FC\u30D7\u306F \`spreadsheets\`\uFF08\u8AAD\u307F\u66F8\u304D\u53EF\u80FD\uFF09\u3067\u3059\u3002\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u306F\u5358\u4E00\u306E\u30B9\u30D7\u30EC\u30C3\u30C9\u30B7\u30FC\u30C8\u306B\u7D10\u3065\u304D\u307E\u305B\u3093 \u2014 \u5BFE\u8C61\u306E spreadsheetId \u306F\u547C\u3073\u51FA\u3057\u3054\u3068\u306B\u6E21\u3057\u307E\u3059\u3002spreadsheetId \u306F\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u30D1\u30E9\u30E1\u30FC\u30BF\u3084\u74B0\u5883\u5909\u6570\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u306A\u3044\u305F\u3081\u3001\u30CF\u30F3\u30C9\u30E9\u306E\u547C\u3073\u51FA\u3057\u5143\uFF08\u30EA\u30AF\u30A8\u30B9\u30C8\u5165\u529B\u306A\u3069\uFF09\u304B\u3089\u660E\u793A\u7684\u306B\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
785
785
|
|
|
@@ -172,7 +172,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
172
172
|
/**
|
|
173
173
|
* Create tools for connections that belong to this connector.
|
|
174
174
|
* Filters connections by connectorKey internally.
|
|
175
|
-
* Returns tools keyed as
|
|
175
|
+
* Returns tools keyed as `connector_${connectorKey}_${toolName}`.
|
|
176
176
|
*/
|
|
177
177
|
createTools(connections, config, opts) {
|
|
178
178
|
const myConnections = connections.filter(
|
|
@@ -182,7 +182,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
182
182
|
for (const t of Object.values(this.tools)) {
|
|
183
183
|
const tool = t.createTool(myConnections, config);
|
|
184
184
|
const originalToModelOutput = tool.toModelOutput;
|
|
185
|
-
result[
|
|
185
|
+
result[`connector_${this.connectorKey}_${t.name}`] = {
|
|
186
186
|
...tool,
|
|
187
187
|
toModelOutput: async (options) => {
|
|
188
188
|
if (!originalToModelOutput) {
|
|
@@ -322,10 +322,10 @@ function normalizeRequestPath(path2, basePathSegment) {
|
|
|
322
322
|
// ../connectors/src/connectors/google-slides/setup.ts
|
|
323
323
|
var googleSlidesOnboarding = new ConnectorOnboarding({
|
|
324
324
|
dataOverviewInstructions: {
|
|
325
|
-
en: `1. Create a new presentation with
|
|
326
|
-
2. Call
|
|
327
|
-
ja: `1.
|
|
328
|
-
2.
|
|
325
|
+
en: `1. Create a new presentation with connector_google-slides-oauth_request (POST with body { title: "..." }) or use an existing presentation ID.
|
|
326
|
+
2. Call connector_google-slides-oauth_request with GET /{presentationId} to fetch presentation metadata (title, slide count, layout info).`,
|
|
327
|
+
ja: `1. connector_google-slides-oauth_request \u3092 POST\uFF08Body: { title: "..." }\uFF09\u3067\u547C\u3073\u51FA\u3057\u3066\u65B0\u3057\u3044\u30D7\u30EC\u30BC\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u3092\u4F5C\u6210\u3059\u308B\u304B\u3001\u65E2\u5B58\u306E\u30D7\u30EC\u30BC\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3ID\u3092\u5229\u7528\u3057\u307E\u3059\u3002
|
|
328
|
+
2. connector_google-slides-oauth_request \u3067 GET /{presentationId} \u3092\u547C\u3073\u51FA\u3057\u3001\u30D7\u30EC\u30BC\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\uFF08\u30BF\u30A4\u30C8\u30EB\u3001\u30B9\u30E9\u30A4\u30C9\u6570\u3001\u30EC\u30A4\u30A2\u30A6\u30C8\u60C5\u5831\uFF09\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002`
|
|
329
329
|
}
|
|
330
330
|
});
|
|
331
331
|
|
|
@@ -561,9 +561,9 @@ var googleSlidesConnector = new ConnectorPlugin({
|
|
|
561
561
|
systemPrompt: {
|
|
562
562
|
en: `### Tools (setup-time only)
|
|
563
563
|
|
|
564
|
-
- \`
|
|
564
|
+
- \`connector_google-slides-oauth_request\`: Call the Google Slides API directly during setup / data overview. Supports read and write operations. Use it to get presentation metadata, slide content, create new presentations, and modify slides. Authentication is configured automatically via OAuth.
|
|
565
565
|
|
|
566
|
-
> **Important**: The \`
|
|
566
|
+
> **Important**: The \`connector_google-slides-oauth_request\` tool is only available at setup time. Inside server-logic handlers, use the SDK (\`connection(id).createPresentation\`, etc.) \u2014 the SDK's fetch is already wired through the OAuth proxy. **Do NOT** hand-roll HTTP calls to \`_sqcore/connections/*/request\` from a handler.
|
|
567
567
|
|
|
568
568
|
### Google Slides API Reference
|
|
569
569
|
|
|
@@ -640,9 +640,9 @@ await slides.batchUpdate(presentationId, [
|
|
|
640
640
|
If a handler test fails with \`Connection proxy is not configured\`, retry \u2014 this usually means the sandbox is still initializing. Do NOT abandon the SDK and construct OAuth proxy URLs manually.`,
|
|
641
641
|
ja: `### \u30C4\u30FC\u30EB\uFF08\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6642\u306E\u307F\uFF09
|
|
642
642
|
|
|
643
|
-
- \`
|
|
643
|
+
- \`connector_google-slides-oauth_request\`: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u3084\u30C7\u30FC\u30BF\u6982\u8981\u628A\u63E1\u6642\u306B Google Slides API \u3092\u76F4\u63A5\u53E9\u304F\u30C4\u30FC\u30EB\u3067\u3059\u3002\u8AAD\u307F\u53D6\u308A\u3068\u66F8\u304D\u8FBC\u307F\u306E\u4E21\u65B9\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u30D7\u30EC\u30BC\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u30FB\u30B9\u30E9\u30A4\u30C9\u5185\u5BB9\u306E\u53D6\u5F97\u3001\u65B0\u3057\u3044\u30D7\u30EC\u30BC\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u306E\u4F5C\u6210\u3001\u30B9\u30E9\u30A4\u30C9\u306E\u5909\u66F4\u306A\u3069\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002OAuth \u7D4C\u7531\u3067\u8A8D\u8A3C\u306F\u81EA\u52D5\u8A2D\u5B9A\u3055\u308C\u307E\u3059\u3002
|
|
644
644
|
|
|
645
|
-
> **\u91CD\u8981**: \`
|
|
645
|
+
> **\u91CD\u8981**: \`connector_google-slides-oauth_request\` \u306F\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u6642\u306E\u307F\u5229\u7528\u53EF\u80FD\u3067\u3059\u3002\u30B5\u30FC\u30D0\u30FC\u30ED\u30B8\u30C3\u30AF\u306E\u30CF\u30F3\u30C9\u30E9\u5185\u3067\u306F\u5FC5\u305A SDK\uFF08\`connection(id).createPresentation\` \u306A\u3069\uFF09\u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002SDK \u306E fetch \u306F OAuth \u30D7\u30ED\u30AD\u30B7\u7D4C\u7531\u3067\u65E2\u306B\u914D\u7DDA\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30CF\u30F3\u30C9\u30E9\u304B\u3089 \`_sqcore/connections/*/request\` \u3092\u624B\u66F8\u304D\u3067\u547C\u3073\u51FA\u3055\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
|
|
646
646
|
|
|
647
647
|
### Google Slides API \u30EA\u30D5\u30A1\u30EC\u30F3\u30B9
|
|
648
648
|
|
|
@@ -283,7 +283,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
283
283
|
/**
|
|
284
284
|
* Create tools for connections that belong to this connector.
|
|
285
285
|
* Filters connections by connectorKey internally.
|
|
286
|
-
* Returns tools keyed as
|
|
286
|
+
* Returns tools keyed as `connector_${connectorKey}_${toolName}`.
|
|
287
287
|
*/
|
|
288
288
|
createTools(connections, config, opts) {
|
|
289
289
|
const myConnections = connections.filter(
|
|
@@ -293,7 +293,7 @@ var ConnectorPlugin = class _ConnectorPlugin {
|
|
|
293
293
|
for (const t of Object.values(this.tools)) {
|
|
294
294
|
const tool = t.createTool(myConnections, config);
|
|
295
295
|
const originalToModelOutput = tool.toModelOutput;
|
|
296
|
-
result[
|
|
296
|
+
result[`connector_${this.connectorKey}_${t.name}`] = {
|
|
297
297
|
...tool,
|
|
298
298
|
toModelOutput: async (options) => {
|
|
299
299
|
if (!originalToModelOutput) {
|
|
@@ -423,12 +423,12 @@ var AUTH_TYPES = {
|
|
|
423
423
|
// ../connectors/src/connectors/grafana/setup.ts
|
|
424
424
|
var grafanaOnboarding = new ConnectorOnboarding({
|
|
425
425
|
dataOverviewInstructions: {
|
|
426
|
-
en: `1. Call
|
|
427
|
-
2. Call
|
|
428
|
-
3. For a specific datasource, call
|
|
429
|
-
ja: `1.
|
|
430
|
-
2.
|
|
431
|
-
3. \u7279\u5B9A\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306B\u5BFE\u3057\u3066
|
|
426
|
+
en: `1. Call connector_grafana_request with GET /api/datasources to list all configured datasources
|
|
427
|
+
2. Call connector_grafana_request with GET /api/search?type=dash-db&limit=10 to list dashboards
|
|
428
|
+
3. For a specific datasource, call connector_grafana_request with POST /api/ds/query to run a test query`,
|
|
429
|
+
ja: `1. connector_grafana_request \u3067 GET /api/datasources \u3092\u547C\u3073\u51FA\u3057\u3001\u8A2D\u5B9A\u6E08\u307F\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u4E00\u89A7\u3092\u53D6\u5F97
|
|
430
|
+
2. connector_grafana_request \u3067 GET /api/search?type=dash-db&limit=10 \u3092\u547C\u3073\u51FA\u3057\u3001\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u4E00\u89A7\u3092\u53D6\u5F97
|
|
431
|
+
3. \u7279\u5B9A\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306B\u5BFE\u3057\u3066 connector_grafana_request \u3067 POST /api/ds/query \u3092\u547C\u3073\u51FA\u3057\u3001\u30C6\u30B9\u30C8\u30AF\u30A8\u30EA\u3092\u5B9F\u884C`
|
|
432
432
|
}
|
|
433
433
|
});
|
|
434
434
|
|
|
@@ -479,6 +479,26 @@ async function listDatasources(params) {
|
|
|
479
479
|
const data = await res.json();
|
|
480
480
|
return data ?? [];
|
|
481
481
|
}
|
|
482
|
+
async function countDashboards(params) {
|
|
483
|
+
try {
|
|
484
|
+
const res = await apiFetch(params, "/api/search?type=dash-db&limit=5000");
|
|
485
|
+
if (!res.ok) return null;
|
|
486
|
+
const data = await res.json();
|
|
487
|
+
return Array.isArray(data) ? data.length : null;
|
|
488
|
+
} catch {
|
|
489
|
+
return null;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
async function countAlertRules(params) {
|
|
493
|
+
try {
|
|
494
|
+
const res = await apiFetch(params, "/api/alert-rules");
|
|
495
|
+
if (!res.ok) return null;
|
|
496
|
+
const data = await res.json();
|
|
497
|
+
return Array.isArray(data) ? data.length : null;
|
|
498
|
+
} catch {
|
|
499
|
+
return null;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
482
502
|
var grafanaSetupFlow = {
|
|
483
503
|
initialState: () => ({}),
|
|
484
504
|
steps: [
|
|
@@ -551,6 +571,21 @@ var grafanaSetupFlow = {
|
|
|
551
571
|
sections.push(`| Default | ${ds.isDefault ? "yes" : "no"} |`);
|
|
552
572
|
sections.push("");
|
|
553
573
|
}
|
|
574
|
+
const [dashboardCount, alertCount] = await Promise.all([
|
|
575
|
+
countDashboards(rt.params),
|
|
576
|
+
countAlertRules(rt.params)
|
|
577
|
+
]);
|
|
578
|
+
if (dashboardCount != null || alertCount != null) {
|
|
579
|
+
sections.push(
|
|
580
|
+
rt.language === "ja" ? "### \u30B3\u30F3\u30C6\u30F3\u30C4\u6982\u8981" : "### Content overview",
|
|
581
|
+
""
|
|
582
|
+
);
|
|
583
|
+
sections.push("| Resource | Count |");
|
|
584
|
+
sections.push("|----------|-------|");
|
|
585
|
+
sections.push(`| Dashboards | ${dashboardCount ?? "-"} |`);
|
|
586
|
+
sections.push(`| Alert rules | ${alertCount ?? "-"} |`);
|
|
587
|
+
sections.push("");
|
|
588
|
+
}
|
|
554
589
|
return sections.join("\n");
|
|
555
590
|
}
|
|
556
591
|
};
|
|
@@ -652,7 +687,7 @@ var grafanaConnector = new ConnectorPlugin({
|
|
|
652
687
|
systemPrompt: {
|
|
653
688
|
en: `### Tools
|
|
654
689
|
|
|
655
|
-
- \`
|
|
690
|
+
- \`connector_grafana_request\`: The only way to call the Grafana HTTP API. Use it to list datasources, search dashboards, execute datasource queries, manage alerts, and read annotations. Authentication is handled automatically via Bearer token. The path must start with \`/\`.
|
|
656
691
|
|
|
657
692
|
### Business Logic
|
|
658
693
|
|
|
@@ -710,7 +745,7 @@ export default async function handler(c: Context) {
|
|
|
710
745
|
- \`GET /api/health\` \u2014 Health check`,
|
|
711
746
|
ja: `### \u30C4\u30FC\u30EB
|
|
712
747
|
|
|
713
|
-
- \`
|
|
748
|
+
- \`connector_grafana_request\`: Grafana HTTP API\u3092\u547C\u3073\u51FA\u3059\u552F\u4E00\u306E\u624B\u6BB5\u3067\u3059\u3002\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u4E00\u89A7\u53D6\u5F97\u3001\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9\u691C\u7D22\u3001\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u3001\u30A2\u30E9\u30FC\u30C8\u7BA1\u7406\u3001\u30A2\u30CE\u30C6\u30FC\u30B7\u30E7\u30F3\u306E\u8AAD\u307F\u53D6\u308A\u306B\u4F7F\u7528\u3057\u307E\u3059\u3002\u8A8D\u8A3C\u306FBearer\u30C8\u30FC\u30AF\u30F3\u3067\u81EA\u52D5\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\u30D1\u30B9\u306F \`/\` \u3067\u59CB\u3081\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
|
|
714
749
|
|
|
715
750
|
### Business Logic
|
|
716
751
|
|