@opentabs-dev/opentabs-plugin-google-cloud 0.0.74
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/README.md +159 -0
- package/dist/adapter.iife.js +15556 -0
- package/dist/adapter.iife.js.map +7 -0
- package/dist/gcloud-api.d.ts +18 -0
- package/dist/gcloud-api.d.ts.map +1 -0
- package/dist/gcloud-api.js +106 -0
- package/dist/gcloud-api.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/disable-service.d.ts +8 -0
- package/dist/tools/disable-service.d.ts.map +1 -0
- package/dist/tools/disable-service.js +22 -0
- package/dist/tools/disable-service.js.map +1 -0
- package/dist/tools/enable-service.d.ts +8 -0
- package/dist/tools/enable-service.d.ts.map +1 -0
- package/dist/tools/enable-service.js +22 -0
- package/dist/tools/enable-service.js.map +1 -0
- package/dist/tools/get-billing-info.d.ts +11 -0
- package/dist/tools/get-billing-info.d.ts.map +1 -0
- package/dist/tools/get-billing-info.js +22 -0
- package/dist/tools/get-billing-info.js.map +1 -0
- package/dist/tools/get-bucket.d.ts +12 -0
- package/dist/tools/get-bucket.d.ts.map +1 -0
- package/dist/tools/get-bucket.js +21 -0
- package/dist/tools/get-bucket.js.map +1 -0
- package/dist/tools/get-cloud-run-service.d.ts +18 -0
- package/dist/tools/get-cloud-run-service.d.ts.map +1 -0
- package/dist/tools/get-cloud-run-service.js +24 -0
- package/dist/tools/get-cloud-run-service.js.map +1 -0
- package/dist/tools/get-cluster.d.ts +17 -0
- package/dist/tools/get-cluster.d.ts.map +1 -0
- package/dist/tools/get-cluster.js +24 -0
- package/dist/tools/get-cluster.js.map +1 -0
- package/dist/tools/get-current-project.d.ts +5 -0
- package/dist/tools/get-current-project.d.ts.map +1 -0
- package/dist/tools/get-current-project.js +23 -0
- package/dist/tools/get-current-project.js.map +1 -0
- package/dist/tools/get-function.d.ts +17 -0
- package/dist/tools/get-function.d.ts.map +1 -0
- package/dist/tools/get-function.js +24 -0
- package/dist/tools/get-function.js.map +1 -0
- package/dist/tools/get-iam-policy.d.ts +10 -0
- package/dist/tools/get-iam-policy.d.ts.map +1 -0
- package/dist/tools/get-iam-policy.js +24 -0
- package/dist/tools/get-iam-policy.js.map +1 -0
- package/dist/tools/get-instance.d.ts +18 -0
- package/dist/tools/get-instance.d.ts.map +1 -0
- package/dist/tools/get-instance.js +24 -0
- package/dist/tools/get-instance.js.map +1 -0
- package/dist/tools/get-project.d.ts +13 -0
- package/dist/tools/get-project.d.ts.map +1 -0
- package/dist/tools/get-project.js +24 -0
- package/dist/tools/get-project.js.map +1 -0
- package/dist/tools/get-sql-instance.d.ts +16 -0
- package/dist/tools/get-sql-instance.d.ts.map +1 -0
- package/dist/tools/get-sql-instance.js +23 -0
- package/dist/tools/get-sql-instance.js.map +1 -0
- package/dist/tools/list-billing-accounts.d.ts +13 -0
- package/dist/tools/list-billing-accounts.d.ts.map +1 -0
- package/dist/tools/list-billing-accounts.js +28 -0
- package/dist/tools/list-billing-accounts.js.map +1 -0
- package/dist/tools/list-buckets.d.ts +15 -0
- package/dist/tools/list-buckets.d.ts.map +1 -0
- package/dist/tools/list-buckets.js +27 -0
- package/dist/tools/list-buckets.js.map +1 -0
- package/dist/tools/list-cloud-run-services.d.ts +19 -0
- package/dist/tools/list-cloud-run-services.d.ts.map +1 -0
- package/dist/tools/list-cloud-run-services.js +30 -0
- package/dist/tools/list-cloud-run-services.js.map +1 -0
- package/dist/tools/list-clusters.d.ts +15 -0
- package/dist/tools/list-clusters.d.ts.map +1 -0
- package/dist/tools/list-clusters.js +24 -0
- package/dist/tools/list-clusters.js.map +1 -0
- package/dist/tools/list-disks.d.ts +19 -0
- package/dist/tools/list-disks.d.ts.map +1 -0
- package/dist/tools/list-disks.js +39 -0
- package/dist/tools/list-disks.js.map +1 -0
- package/dist/tools/list-enabled-services.d.ts +15 -0
- package/dist/tools/list-enabled-services.d.ts.map +1 -0
- package/dist/tools/list-enabled-services.js +27 -0
- package/dist/tools/list-enabled-services.js.map +1 -0
- package/dist/tools/list-firewalls.d.ts +18 -0
- package/dist/tools/list-firewalls.d.ts.map +1 -0
- package/dist/tools/list-firewalls.js +27 -0
- package/dist/tools/list-firewalls.js.map +1 -0
- package/dist/tools/list-functions.d.ts +18 -0
- package/dist/tools/list-functions.d.ts.map +1 -0
- package/dist/tools/list-functions.js +30 -0
- package/dist/tools/list-functions.js.map +1 -0
- package/dist/tools/list-iam-roles.d.ts +15 -0
- package/dist/tools/list-iam-roles.d.ts.map +1 -0
- package/dist/tools/list-iam-roles.js +27 -0
- package/dist/tools/list-iam-roles.js.map +1 -0
- package/dist/tools/list-instances.d.ts +20 -0
- package/dist/tools/list-instances.d.ts.map +1 -0
- package/dist/tools/list-instances.js +46 -0
- package/dist/tools/list-instances.js.map +1 -0
- package/dist/tools/list-log-entries.d.ts +18 -0
- package/dist/tools/list-log-entries.d.ts.map +1 -0
- package/dist/tools/list-log-entries.js +41 -0
- package/dist/tools/list-log-entries.js.map +1 -0
- package/dist/tools/list-networks.d.ts +16 -0
- package/dist/tools/list-networks.d.ts.map +1 -0
- package/dist/tools/list-networks.js +27 -0
- package/dist/tools/list-networks.js.map +1 -0
- package/dist/tools/list-objects.d.ts +18 -0
- package/dist/tools/list-objects.d.ts.map +1 -0
- package/dist/tools/list-objects.js +40 -0
- package/dist/tools/list-objects.js.map +1 -0
- package/dist/tools/list-projects.d.ts +15 -0
- package/dist/tools/list-projects.d.ts.map +1 -0
- package/dist/tools/list-projects.js +33 -0
- package/dist/tools/list-projects.js.map +1 -0
- package/dist/tools/list-service-accounts.d.ts +15 -0
- package/dist/tools/list-service-accounts.d.ts.map +1 -0
- package/dist/tools/list-service-accounts.js +30 -0
- package/dist/tools/list-service-accounts.js.map +1 -0
- package/dist/tools/list-sql-instances.d.ts +18 -0
- package/dist/tools/list-sql-instances.d.ts.map +1 -0
- package/dist/tools/list-sql-instances.js +30 -0
- package/dist/tools/list-sql-instances.js.map +1 -0
- package/dist/tools/schemas.d.ts +427 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +329 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/start-instance.d.ts +9 -0
- package/dist/tools/start-instance.d.ts.map +1 -0
- package/dist/tools/start-instance.js +23 -0
- package/dist/tools/start-instance.js.map +1 -0
- package/dist/tools/stop-instance.d.ts +9 -0
- package/dist/tools/stop-instance.d.ts.map +1 -0
- package/dist/tools/stop-instance.js +23 -0
- package/dist/tools/stop-instance.js.map +1 -0
- package/dist/tools.json +2153 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-function.js","sourceRoot":"","sources":["../../src/tools/get-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,2DAA2D;IACxE,OAAO,EAAE,sBAAsB;IAC/B,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC/D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IACnD,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,qDAAqD,SAAS,cAAc,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,aAAa,EAAE,CAChI,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const getIamPolicy: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5
|
+
bindings: z.ZodArray<z.ZodObject<{
|
|
6
|
+
role: z.ZodString;
|
|
7
|
+
members: z.ZodArray<z.ZodString>;
|
|
8
|
+
}, z.core.$strip>>;
|
|
9
|
+
}, z.core.$strip>>;
|
|
10
|
+
//# sourceMappingURL=get-iam-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-iam-policy.d.ts","sourceRoot":"","sources":["../../src/tools/get-iam-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;;;;kBAqBvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { bindingSchema, mapBinding } from './schemas.js';
|
|
5
|
+
export const getIamPolicy = defineTool({
|
|
6
|
+
name: 'get_iam_policy',
|
|
7
|
+
displayName: 'Get IAM Policy',
|
|
8
|
+
description: 'Get the IAM access control policy for the project. Returns all role bindings (who has which role).',
|
|
9
|
+
summary: 'Get the project IAM policy',
|
|
10
|
+
icon: 'shield-check',
|
|
11
|
+
group: 'IAM',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
}),
|
|
15
|
+
output: z.object({
|
|
16
|
+
bindings: z.array(bindingSchema).describe('List of role-to-members bindings'),
|
|
17
|
+
}),
|
|
18
|
+
handle: async (params) => {
|
|
19
|
+
const projectId = resolveProjectId(params.project_id);
|
|
20
|
+
const data = await gcpApi(`https://cloudresourcemanager.googleapis.com/v3/projects/${projectId}:getIamPolicy`, { method: 'POST', body: {} });
|
|
21
|
+
return { bindings: (data.bindings ?? []).map(mapBinding) };
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=get-iam-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-iam-policy.js","sourceRoot":"","sources":["../../src/tools/get-iam-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,oGAAoG;IACjH,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAC9E,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,2DAA2D,SAAS,eAAe,EACnF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAC7B,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const getInstance: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
zone: z.ZodString;
|
|
4
|
+
instance_name: z.ZodString;
|
|
5
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
instance: z.ZodObject<{
|
|
8
|
+
id: z.ZodString;
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
zone: z.ZodString;
|
|
11
|
+
machine_type: z.ZodString;
|
|
12
|
+
status: z.ZodString;
|
|
13
|
+
internal_ip: z.ZodString;
|
|
14
|
+
external_ip: z.ZodString;
|
|
15
|
+
creation_timestamp: z.ZodString;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
18
|
+
//# sourceMappingURL=get-instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-instance.d.ts","sourceRoot":"","sources":["../../src/tools/get-instance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;kBAoBtB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { instanceSchema, mapInstance } from './schemas.js';
|
|
5
|
+
export const getInstance = defineTool({
|
|
6
|
+
name: 'get_instance',
|
|
7
|
+
displayName: 'Get Instance',
|
|
8
|
+
description: 'Get detailed information about a specific Compute Engine VM instance.',
|
|
9
|
+
summary: 'Get a Compute Engine VM instance',
|
|
10
|
+
icon: 'server',
|
|
11
|
+
group: 'Compute',
|
|
12
|
+
input: z.object({
|
|
13
|
+
zone: z.string().describe('Zone (e.g., "us-central1-a")'),
|
|
14
|
+
instance_name: z.string().describe('Instance name'),
|
|
15
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({ instance: instanceSchema }),
|
|
18
|
+
handle: async (params) => {
|
|
19
|
+
const projectId = resolveProjectId(params.project_id);
|
|
20
|
+
const data = await gcpApi(`https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/${params.zone}/instances/${params.instance_name}`);
|
|
21
|
+
return { instance: mapInstance(data) };
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=get-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-instance.js","sourceRoot":"","sources":["../../src/tools/get-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,uEAAuE;IACpF,OAAO,EAAE,kCAAkC;IAC3C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACzD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC9C,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,sDAAsD,SAAS,UAAU,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,aAAa,EAAE,CACzH,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const getProject: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5
|
+
project: z.ZodObject<{
|
|
6
|
+
project_id: z.ZodString;
|
|
7
|
+
project_number: z.ZodString;
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
state: z.ZodString;
|
|
10
|
+
create_time: z.ZodString;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
//# sourceMappingURL=get-project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-project.d.ts","sourceRoot":"","sources":["../../src/tools/get-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;;kBAmBrB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { projectSchema, mapProjectV3 } from './schemas.js';
|
|
5
|
+
export const getProject = defineTool({
|
|
6
|
+
name: 'get_project',
|
|
7
|
+
displayName: 'Get Project',
|
|
8
|
+
description: 'Get detailed information about a GCP project by its project ID. Defaults to the currently active project if no ID is provided.',
|
|
9
|
+
summary: 'Get details about a GCP project',
|
|
10
|
+
icon: 'folder-open',
|
|
11
|
+
group: 'Projects',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
}),
|
|
15
|
+
output: z.object({
|
|
16
|
+
project: projectSchema,
|
|
17
|
+
}),
|
|
18
|
+
handle: async (params) => {
|
|
19
|
+
const projectId = resolveProjectId(params.project_id);
|
|
20
|
+
const data = await gcpApi(`https://cloudresourcemanager.googleapis.com/v3/projects/${projectId}`);
|
|
21
|
+
return { project: mapProjectV3(data) };
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=get-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-project.js","sourceRoot":"","sources":["../../src/tools/get-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,aAAa;IAC1B,WAAW,EACT,gIAAgI;IAClI,OAAO,EAAE,iCAAiC;IAC1C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,aAAa;KACvB,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAe,2DAA2D,SAAS,EAAE,CAAC,CAAC;QAChH,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const getSqlInstance: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
instance_name: z.ZodString;
|
|
4
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6
|
+
instance: z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
database_version: z.ZodString;
|
|
9
|
+
state: z.ZodString;
|
|
10
|
+
region: z.ZodString;
|
|
11
|
+
tier: z.ZodString;
|
|
12
|
+
ip_address: z.ZodString;
|
|
13
|
+
create_time: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
//# sourceMappingURL=get-sql-instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sql-instance.d.ts","sourceRoot":"","sources":["../../src/tools/get-sql-instance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;kBAmBzB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { sqlInstanceSchema, mapSqlInstance } from './schemas.js';
|
|
5
|
+
export const getSqlInstance = defineTool({
|
|
6
|
+
name: 'get_sql_instance',
|
|
7
|
+
displayName: 'Get Cloud SQL Instance',
|
|
8
|
+
description: 'Get detailed information about a specific Cloud SQL database instance.',
|
|
9
|
+
summary: 'Get a Cloud SQL instance',
|
|
10
|
+
icon: 'database',
|
|
11
|
+
group: 'Cloud SQL',
|
|
12
|
+
input: z.object({
|
|
13
|
+
instance_name: z.string().describe('Cloud SQL instance name'),
|
|
14
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
15
|
+
}),
|
|
16
|
+
output: z.object({ instance: sqlInstanceSchema }),
|
|
17
|
+
handle: async (params) => {
|
|
18
|
+
const projectId = resolveProjectId(params.project_id);
|
|
19
|
+
const data = await gcpApi(`https://sqladmin.googleapis.com/v1/projects/${projectId}/instances/${params.instance_name}`);
|
|
20
|
+
return { instance: mapSqlInstance(data) };
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=get-sql-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-sql-instance.js","sourceRoot":"","sources":["../../src/tools/get-sql-instance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wEAAwE;IACrF,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC7D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACjD,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,+CAA+C,SAAS,cAAc,MAAM,CAAC,aAAa,EAAE,CAC7F,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listBillingAccounts: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
page_size: z.ZodOptional<z.ZodNumber>;
|
|
4
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6
|
+
billing_accounts: z.ZodArray<z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
display_name: z.ZodString;
|
|
9
|
+
open: z.ZodBoolean;
|
|
10
|
+
}, z.core.$strip>>;
|
|
11
|
+
next_page_token: z.ZodString;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
//# sourceMappingURL=list-billing-accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-billing-accounts.d.ts","sourceRoot":"","sources":["../../src/tools/list-billing-accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;;;;;kBAyB9B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi } from '../gcloud-api.js';
|
|
4
|
+
import { billingAccountSchema, mapBillingAccount } from './schemas.js';
|
|
5
|
+
export const listBillingAccounts = defineTool({
|
|
6
|
+
name: 'list_billing_accounts',
|
|
7
|
+
displayName: 'List Billing Accounts',
|
|
8
|
+
description: 'List billing accounts accessible to the current user.',
|
|
9
|
+
summary: 'List billing accounts',
|
|
10
|
+
icon: 'credit-card',
|
|
11
|
+
group: 'Billing',
|
|
12
|
+
input: z.object({
|
|
13
|
+
page_size: z.number().int().min(1).max(100).optional().describe('Max results per page (default 50)'),
|
|
14
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
15
|
+
}),
|
|
16
|
+
output: z.object({
|
|
17
|
+
billing_accounts: z.array(billingAccountSchema).describe('List of billing accounts'),
|
|
18
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
19
|
+
}),
|
|
20
|
+
handle: async (params) => {
|
|
21
|
+
const data = await gcpApi('https://cloudbilling.googleapis.com/v1/billingAccounts', { params: { pageSize: params.page_size ?? 50, pageToken: params.page_token } });
|
|
22
|
+
return {
|
|
23
|
+
billing_accounts: (data.billingAccounts ?? []).map(mapBillingAccount),
|
|
24
|
+
next_page_token: data.nextPageToken ?? '',
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=list-billing-accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-billing-accounts.js","sourceRoot":"","sources":["../../src/tools/list-billing-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,uDAAuD;IACpE,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACpG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,wDAAwD,EACxD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAC/E,CAAC;QACF,OAAO;YACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACrE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listBuckets: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
max_results: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
buckets: z.ZodArray<z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
location: z.ZodString;
|
|
10
|
+
storage_class: z.ZodString;
|
|
11
|
+
creation_time: z.ZodString;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
next_page_token: z.ZodString;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
//# sourceMappingURL=list-buckets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-buckets.d.ts","sourceRoot":"","sources":["../../src/tools/list-buckets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;;;;;;kBAwBtB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { bucketSchema, mapBucket } from './schemas.js';
|
|
5
|
+
export const listBuckets = defineTool({
|
|
6
|
+
name: 'list_buckets',
|
|
7
|
+
displayName: 'List Buckets',
|
|
8
|
+
description: 'List Cloud Storage buckets in the project.',
|
|
9
|
+
summary: 'List Cloud Storage buckets',
|
|
10
|
+
icon: 'database',
|
|
11
|
+
group: 'Storage',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
max_results: z.number().int().min(1).max(1000).optional().describe('Max results (default 50)'),
|
|
15
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
buckets: z.array(bucketSchema).describe('List of storage buckets'),
|
|
19
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const projectId = resolveProjectId(params.project_id);
|
|
23
|
+
const data = await gcpApi('https://storage.googleapis.com/storage/v1/b', { params: { project: projectId, maxResults: params.max_results ?? 50, pageToken: params.page_token } });
|
|
24
|
+
return { buckets: (data.items ?? []).map(mapBucket), next_page_token: data.nextPageToken ?? '' };
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=list-buckets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-buckets.js","sourceRoot":"","sources":["../../src/tools/list-buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAClE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,6CAA6C,EAC7C,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CACvG,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;IACnG,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listCloudRunServices: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
page_size: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
services: z.ZodArray<z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
uri: z.ZodString;
|
|
10
|
+
creator: z.ZodString;
|
|
11
|
+
last_modifier: z.ZodString;
|
|
12
|
+
ingress: z.ZodString;
|
|
13
|
+
launch_stage: z.ZodString;
|
|
14
|
+
create_time: z.ZodString;
|
|
15
|
+
update_time: z.ZodString;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
next_page_token: z.ZodString;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
//# sourceMappingURL=list-cloud-run-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-cloud-run-services.d.ts","sourceRoot":"","sources":["../../src/tools/list-cloud-run-services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;kBA2B/B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { cloudRunServiceSchema, mapCloudRunService } from './schemas.js';
|
|
5
|
+
export const listCloudRunServices = defineTool({
|
|
6
|
+
name: 'list_cloud_run_services',
|
|
7
|
+
displayName: 'List Cloud Run Services',
|
|
8
|
+
description: 'List Cloud Run services in the project across all locations.',
|
|
9
|
+
summary: 'List Cloud Run services',
|
|
10
|
+
icon: 'rocket',
|
|
11
|
+
group: 'Cloud Run',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
page_size: z.number().int().min(1).max(100).optional().describe('Max results per page (default 50)'),
|
|
15
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
services: z.array(cloudRunServiceSchema).describe('List of Cloud Run services'),
|
|
19
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const projectId = resolveProjectId(params.project_id);
|
|
23
|
+
const data = await gcpApi(`https://run.googleapis.com/v2/projects/${projectId}/locations/-/services`, { params: { pageSize: params.page_size ?? 50, pageToken: params.page_token } });
|
|
24
|
+
return {
|
|
25
|
+
services: (data.services ?? []).map(mapCloudRunService),
|
|
26
|
+
next_page_token: data.nextPageToken ?? '',
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=list-cloud-run-services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-cloud-run-services.js","sourceRoot":"","sources":["../../src/tools/list-cloud-run-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,8DAA8D;IAC3E,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACpG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC/E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,0CAA0C,SAAS,uBAAuB,EAC1E,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAC/E,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACvD,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listClusters: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5
|
+
clusters: z.ZodArray<z.ZodObject<{
|
|
6
|
+
name: z.ZodString;
|
|
7
|
+
location: z.ZodString;
|
|
8
|
+
status: z.ZodString;
|
|
9
|
+
node_count: z.ZodNumber;
|
|
10
|
+
cluster_version: z.ZodString;
|
|
11
|
+
endpoint: z.ZodString;
|
|
12
|
+
create_time: z.ZodString;
|
|
13
|
+
}, z.core.$strip>>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
//# sourceMappingURL=list-clusters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-clusters.d.ts","sourceRoot":"","sources":["../../src/tools/list-clusters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,YAAY;;;;;;;;;;;;kBAoBvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { clusterSchema, mapCluster } from './schemas.js';
|
|
5
|
+
export const listClusters = defineTool({
|
|
6
|
+
name: 'list_clusters',
|
|
7
|
+
displayName: 'List GKE Clusters',
|
|
8
|
+
description: 'List Google Kubernetes Engine (GKE) clusters in the project across all locations.',
|
|
9
|
+
summary: 'List GKE clusters',
|
|
10
|
+
icon: 'container',
|
|
11
|
+
group: 'Kubernetes',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
}),
|
|
15
|
+
output: z.object({
|
|
16
|
+
clusters: z.array(clusterSchema).describe('List of GKE clusters'),
|
|
17
|
+
}),
|
|
18
|
+
handle: async (params) => {
|
|
19
|
+
const projectId = resolveProjectId(params.project_id);
|
|
20
|
+
const data = await gcpApi(`https://container.googleapis.com/v1/projects/${projectId}/locations/-/clusters`);
|
|
21
|
+
return { clusters: (data.clusters ?? []).map(mapCluster) };
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=list-clusters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-clusters.js","sourceRoot":"","sources":["../../src/tools/list-clusters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mFAAmF;IAChG,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KAChG,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAClE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,gDAAgD,SAAS,uBAAuB,CACjF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listDisks: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
zone: z.ZodOptional<z.ZodString>;
|
|
5
|
+
max_results: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
8
|
+
disks: z.ZodArray<z.ZodObject<{
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
name: z.ZodString;
|
|
11
|
+
zone: z.ZodString;
|
|
12
|
+
size_gb: z.ZodString;
|
|
13
|
+
type: z.ZodString;
|
|
14
|
+
status: z.ZodString;
|
|
15
|
+
creation_timestamp: z.ZodString;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
next_page_token: z.ZodString;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
//# sourceMappingURL=list-disks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-disks.d.ts","sourceRoot":"","sources":["../../src/tools/list-disks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;kBAsCpB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { diskSchema, mapDisk } from './schemas.js';
|
|
5
|
+
export const listDisks = defineTool({
|
|
6
|
+
name: 'list_disks',
|
|
7
|
+
displayName: 'List Disks',
|
|
8
|
+
description: 'List Compute Engine persistent disks. If no zone is specified, lists across all zones.',
|
|
9
|
+
summary: 'List persistent disks',
|
|
10
|
+
icon: 'hard-drive',
|
|
11
|
+
group: 'Compute',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
zone: z.string().optional().describe('Zone (e.g., "us-central1-a"). If omitted, lists across all zones.'),
|
|
15
|
+
max_results: z.number().int().min(1).max(500).optional().describe('Max results (default 50)'),
|
|
16
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
17
|
+
}),
|
|
18
|
+
output: z.object({
|
|
19
|
+
disks: z.array(diskSchema).describe('List of persistent disks'),
|
|
20
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
21
|
+
}),
|
|
22
|
+
handle: async (params) => {
|
|
23
|
+
const projectId = resolveProjectId(params.project_id);
|
|
24
|
+
if (params.zone) {
|
|
25
|
+
const data = await gcpApi(`https://compute.googleapis.com/compute/v1/projects/${projectId}/zones/${params.zone}/disks`, { params: { maxResults: params.max_results ?? 50, pageToken: params.page_token } });
|
|
26
|
+
return { disks: (data.items ?? []).map(mapDisk), next_page_token: data.nextPageToken ?? '' };
|
|
27
|
+
}
|
|
28
|
+
const data = await gcpApi(`https://compute.googleapis.com/compute/v1/projects/${projectId}/aggregated/disks`, { params: { maxResults: params.max_results ?? 50, pageToken: params.page_token } });
|
|
29
|
+
const disks = [];
|
|
30
|
+
if (data.items) {
|
|
31
|
+
for (const zone of Object.values(data.items)) {
|
|
32
|
+
if (zone.disks)
|
|
33
|
+
disks.push(...zone.disks);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return { disks: disks.map(mapDisk), next_page_token: data.nextPageToken ?? '' };
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=list-disks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-disks.js","sourceRoot":"","sources":["../../src/tools/list-disks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,wFAAwF;IACrG,OAAO,EAAE,uBAAuB;IAChC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;QACzG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC7F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC/D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,sDAAsD,SAAS,UAAU,MAAM,CAAC,IAAI,QAAQ,EAC5F,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CACnF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC/F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,sDAAsD,SAAS,mBAAmB,EAClF,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CACnF,CAAC;QACF,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,IAAI,CAAC,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;IAClF,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listEnabledServices: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
page_size: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
services: z.ZodArray<z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
service_name: z.ZodString;
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
state: z.ZodString;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
next_page_token: z.ZodString;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
//# sourceMappingURL=list-enabled-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-enabled-services.d.ts","sourceRoot":"","sources":["../../src/tools/list-enabled-services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;kBAwB9B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { serviceSchema, mapService } from './schemas.js';
|
|
5
|
+
export const listEnabledServices = defineTool({
|
|
6
|
+
name: 'list_enabled_services',
|
|
7
|
+
displayName: 'List Enabled Services',
|
|
8
|
+
description: 'List GCP API services enabled in the project. Each service represents an API that has been activated.',
|
|
9
|
+
summary: 'List enabled API services',
|
|
10
|
+
icon: 'puzzle',
|
|
11
|
+
group: 'Services',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
page_size: z.number().int().min(1).max(200).optional().describe('Max results per page (default 50)'),
|
|
15
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
services: z.array(serviceSchema).describe('List of enabled services'),
|
|
19
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const projectId = resolveProjectId(params.project_id);
|
|
23
|
+
const data = await gcpApi(`https://serviceusage.googleapis.com/v1/projects/${projectId}/services`, { params: { pageSize: params.page_size ?? 50, pageToken: params.page_token, filter: 'state:ENABLED' } });
|
|
24
|
+
return { services: (data.services ?? []).map(mapService), next_page_token: data.nextPageToken ?? '' };
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=list-enabled-services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-enabled-services.js","sourceRoot":"","sources":["../../src/tools/list-enabled-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE,uGAAuG;IACpH,OAAO,EAAE,2BAA2B;IACpC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACpG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACrE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,mDAAmD,SAAS,WAAW,EACvE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CACxG,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;IACxG,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const listFirewalls: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
|
|
3
|
+
project_id: z.ZodOptional<z.ZodString>;
|
|
4
|
+
max_results: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
page_token: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
firewalls: z.ZodArray<z.ZodObject<{
|
|
8
|
+
id: z.ZodString;
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
network: z.ZodString;
|
|
11
|
+
direction: z.ZodString;
|
|
12
|
+
priority: z.ZodNumber;
|
|
13
|
+
disabled: z.ZodBoolean;
|
|
14
|
+
creation_timestamp: z.ZodString;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
next_page_token: z.ZodString;
|
|
17
|
+
}, z.core.$strip>>;
|
|
18
|
+
//# sourceMappingURL=list-firewalls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-firewalls.d.ts","sourceRoot":"","sources":["../../src/tools/list-firewalls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;kBAwBxB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineTool } from '@opentabs-dev/plugin-sdk';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { gcpApi, resolveProjectId } from '../gcloud-api.js';
|
|
4
|
+
import { firewallSchema, mapFirewall } from './schemas.js';
|
|
5
|
+
export const listFirewalls = defineTool({
|
|
6
|
+
name: 'list_firewalls',
|
|
7
|
+
displayName: 'List Firewalls',
|
|
8
|
+
description: 'List firewall rules in the project.',
|
|
9
|
+
summary: 'List firewall rules',
|
|
10
|
+
icon: 'shield',
|
|
11
|
+
group: 'Compute',
|
|
12
|
+
input: z.object({
|
|
13
|
+
project_id: z.string().optional().describe('Project ID (defaults to currently active project)'),
|
|
14
|
+
max_results: z.number().int().min(1).max(500).optional().describe('Max results (default 50)'),
|
|
15
|
+
page_token: z.string().optional().describe('Page token from a previous response'),
|
|
16
|
+
}),
|
|
17
|
+
output: z.object({
|
|
18
|
+
firewalls: z.array(firewallSchema).describe('List of firewall rules'),
|
|
19
|
+
next_page_token: z.string().describe('Token for next page, empty if no more results'),
|
|
20
|
+
}),
|
|
21
|
+
handle: async (params) => {
|
|
22
|
+
const projectId = resolveProjectId(params.project_id);
|
|
23
|
+
const data = await gcpApi(`https://compute.googleapis.com/compute/v1/projects/${projectId}/global/firewalls`, { params: { maxResults: params.max_results ?? 50, pageToken: params.page_token } });
|
|
24
|
+
return { firewalls: (data.items ?? []).map(mapFirewall), next_page_token: data.nextPageToken ?? '' };
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=list-firewalls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-firewalls.js","sourceRoot":"","sources":["../../src/tools/list-firewalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,qCAAqC;IAClD,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC7F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACrE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACtF,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,sDAAsD,SAAS,mBAAmB,EAClF,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CACnF,CAAC;QACF,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;IACvG,CAAC;CACF,CAAC,CAAC"}
|