@yawlabs/tailscale-mcp 0.2.1 → 0.4.0
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 +25 -19
- package/dist/index.js +22921 -101
- package/package.json +10 -11
- package/dist/api.d.ts +0 -35
- package/dist/api.js +0 -134
- package/dist/api.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/tools/acl.d.ts +0 -86
- package/dist/tools/acl.js +0 -105
- package/dist/tools/acl.js.map +0 -1
- package/dist/tools/audit.d.ts +0 -50
- package/dist/tools/audit.js +0 -60
- package/dist/tools/audit.js.map +0 -1
- package/dist/tools/devices.d.ts +0 -290
- package/dist/tools/devices.js +0 -254
- package/dist/tools/devices.js.map +0 -1
- package/dist/tools/dns.d.ts +0 -130
- package/dist/tools/dns.js +0 -139
- package/dist/tools/dns.js.map +0 -1
- package/dist/tools/invites.d.ts +0 -158
- package/dist/tools/invites.js +0 -160
- package/dist/tools/invites.js.map +0 -1
- package/dist/tools/keys.d.ts +0 -94
- package/dist/tools/keys.js +0 -92
- package/dist/tools/keys.js.map +0 -1
- package/dist/tools/log-streaming.d.ts +0 -90
- package/dist/tools/log-streaming.js +0 -89
- package/dist/tools/log-streaming.js.map +0 -1
- package/dist/tools/network-lock.d.ts +0 -14
- package/dist/tools/network-lock.js +0 -20
- package/dist/tools/network-lock.js.map +0 -1
- package/dist/tools/oauth-clients.d.ts +0 -118
- package/dist/tools/oauth-clients.js +0 -102
- package/dist/tools/oauth-clients.js.map +0 -1
- package/dist/tools/posture.d.ts +0 -126
- package/dist/tools/posture.js +0 -103
- package/dist/tools/posture.js.map +0 -1
- package/dist/tools/services.d.ts +0 -124
- package/dist/tools/services.js +0 -106
- package/dist/tools/services.js.map +0 -1
- package/dist/tools/status.d.ts +0 -26
- package/dist/tools/status.js +0 -38
- package/dist/tools/status.js.map +0 -1
- package/dist/tools/tailnet.d.ts +0 -130
- package/dist/tools/tailnet.js +0 -96
- package/dist/tools/tailnet.js.map +0 -1
- package/dist/tools/users.d.ts +0 -118
- package/dist/tools/users.js +0 -108
- package/dist/tools/users.js.map +0 -1
- package/dist/tools/webhooks.d.ts +0 -126
- package/dist/tools/webhooks.js +0 -121
- package/dist/tools/webhooks.js.map +0 -1
- package/dist/tools/workload-identity.d.ts +0 -118
- package/dist/tools/workload-identity.js +0 -105
- package/dist/tools/workload-identity.js.map +0 -1
package/dist/tools/users.d.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const userTools: readonly [{
|
|
3
|
-
readonly name: "tailscale_list_users";
|
|
4
|
-
readonly description: "List all users in your tailnet.";
|
|
5
|
-
readonly annotations: {
|
|
6
|
-
readonly title: "List users";
|
|
7
|
-
readonly readOnlyHint: true;
|
|
8
|
-
readonly destructiveHint: false;
|
|
9
|
-
readonly idempotentHint: true;
|
|
10
|
-
readonly openWorldHint: true;
|
|
11
|
-
};
|
|
12
|
-
readonly inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
13
|
-
readonly handler: () => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
14
|
-
}, {
|
|
15
|
-
readonly name: "tailscale_get_user";
|
|
16
|
-
readonly description: "Get details for a specific user.";
|
|
17
|
-
readonly annotations: {
|
|
18
|
-
readonly title: "Get user";
|
|
19
|
-
readonly readOnlyHint: true;
|
|
20
|
-
readonly destructiveHint: false;
|
|
21
|
-
readonly idempotentHint: true;
|
|
22
|
-
readonly openWorldHint: true;
|
|
23
|
-
};
|
|
24
|
-
readonly inputSchema: z.ZodObject<{
|
|
25
|
-
userId: z.ZodString;
|
|
26
|
-
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
userId: string;
|
|
28
|
-
}, {
|
|
29
|
-
userId: string;
|
|
30
|
-
}>;
|
|
31
|
-
readonly handler: (input: {
|
|
32
|
-
userId: string;
|
|
33
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
34
|
-
}, {
|
|
35
|
-
readonly name: "tailscale_approve_user";
|
|
36
|
-
readonly description: "Approve a pending user, granting them access to the tailnet.";
|
|
37
|
-
readonly annotations: {
|
|
38
|
-
readonly title: "Approve user";
|
|
39
|
-
readonly readOnlyHint: false;
|
|
40
|
-
readonly destructiveHint: false;
|
|
41
|
-
readonly idempotentHint: true;
|
|
42
|
-
readonly openWorldHint: true;
|
|
43
|
-
};
|
|
44
|
-
readonly inputSchema: z.ZodObject<{
|
|
45
|
-
userId: z.ZodString;
|
|
46
|
-
}, "strip", z.ZodTypeAny, {
|
|
47
|
-
userId: string;
|
|
48
|
-
}, {
|
|
49
|
-
userId: string;
|
|
50
|
-
}>;
|
|
51
|
-
readonly handler: (input: {
|
|
52
|
-
userId: string;
|
|
53
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
54
|
-
}, {
|
|
55
|
-
readonly name: "tailscale_suspend_user";
|
|
56
|
-
readonly description: "Suspend a user, immediately revoking their access to the tailnet. Their devices will be disconnected. Can be reversed with tailscale_restore_user.";
|
|
57
|
-
readonly annotations: {
|
|
58
|
-
readonly title: "Suspend user";
|
|
59
|
-
readonly readOnlyHint: false;
|
|
60
|
-
readonly destructiveHint: true;
|
|
61
|
-
readonly idempotentHint: true;
|
|
62
|
-
readonly openWorldHint: true;
|
|
63
|
-
};
|
|
64
|
-
readonly inputSchema: z.ZodObject<{
|
|
65
|
-
userId: z.ZodString;
|
|
66
|
-
}, "strip", z.ZodTypeAny, {
|
|
67
|
-
userId: string;
|
|
68
|
-
}, {
|
|
69
|
-
userId: string;
|
|
70
|
-
}>;
|
|
71
|
-
readonly handler: (input: {
|
|
72
|
-
userId: string;
|
|
73
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
74
|
-
}, {
|
|
75
|
-
readonly name: "tailscale_restore_user";
|
|
76
|
-
readonly description: "Restore a previously suspended user, re-granting them access to the tailnet.";
|
|
77
|
-
readonly annotations: {
|
|
78
|
-
readonly title: "Restore user";
|
|
79
|
-
readonly readOnlyHint: false;
|
|
80
|
-
readonly destructiveHint: false;
|
|
81
|
-
readonly idempotentHint: true;
|
|
82
|
-
readonly openWorldHint: true;
|
|
83
|
-
};
|
|
84
|
-
readonly inputSchema: z.ZodObject<{
|
|
85
|
-
userId: z.ZodString;
|
|
86
|
-
}, "strip", z.ZodTypeAny, {
|
|
87
|
-
userId: string;
|
|
88
|
-
}, {
|
|
89
|
-
userId: string;
|
|
90
|
-
}>;
|
|
91
|
-
readonly handler: (input: {
|
|
92
|
-
userId: string;
|
|
93
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
94
|
-
}, {
|
|
95
|
-
readonly name: "tailscale_update_user_role";
|
|
96
|
-
readonly description: "Update a user's role in the tailnet.";
|
|
97
|
-
readonly annotations: {
|
|
98
|
-
readonly title: "Update user role";
|
|
99
|
-
readonly readOnlyHint: false;
|
|
100
|
-
readonly destructiveHint: false;
|
|
101
|
-
readonly idempotentHint: true;
|
|
102
|
-
readonly openWorldHint: true;
|
|
103
|
-
};
|
|
104
|
-
readonly inputSchema: z.ZodObject<{
|
|
105
|
-
userId: z.ZodString;
|
|
106
|
-
role: z.ZodEnum<["owner", "admin", "it-admin", "network-admin", "billing-admin", "auditor", "member"]>;
|
|
107
|
-
}, "strip", z.ZodTypeAny, {
|
|
108
|
-
userId: string;
|
|
109
|
-
role: "owner" | "admin" | "it-admin" | "network-admin" | "billing-admin" | "auditor" | "member";
|
|
110
|
-
}, {
|
|
111
|
-
userId: string;
|
|
112
|
-
role: "owner" | "admin" | "it-admin" | "network-admin" | "billing-admin" | "auditor" | "member";
|
|
113
|
-
}>;
|
|
114
|
-
readonly handler: (input: {
|
|
115
|
-
userId: string;
|
|
116
|
-
role: string;
|
|
117
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
118
|
-
}];
|
package/dist/tools/users.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { apiGet, apiPatch, apiPost, encPath, getTailnet } from "../api.js";
|
|
3
|
-
export const userTools = [
|
|
4
|
-
{
|
|
5
|
-
name: "tailscale_list_users",
|
|
6
|
-
description: "List all users in your tailnet.",
|
|
7
|
-
annotations: {
|
|
8
|
-
title: "List users",
|
|
9
|
-
readOnlyHint: true,
|
|
10
|
-
destructiveHint: false,
|
|
11
|
-
idempotentHint: true,
|
|
12
|
-
openWorldHint: true,
|
|
13
|
-
},
|
|
14
|
-
inputSchema: z.object({}),
|
|
15
|
-
handler: async () => {
|
|
16
|
-
return apiGet(`/tailnet/${getTailnet()}/users`);
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: "tailscale_get_user",
|
|
21
|
-
description: "Get details for a specific user.",
|
|
22
|
-
annotations: {
|
|
23
|
-
title: "Get user",
|
|
24
|
-
readOnlyHint: true,
|
|
25
|
-
destructiveHint: false,
|
|
26
|
-
idempotentHint: true,
|
|
27
|
-
openWorldHint: true,
|
|
28
|
-
},
|
|
29
|
-
inputSchema: z.object({
|
|
30
|
-
userId: z.string().describe("The user ID"),
|
|
31
|
-
}),
|
|
32
|
-
handler: async (input) => {
|
|
33
|
-
return apiGet(`/users/${encPath(input.userId)}`);
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: "tailscale_approve_user",
|
|
38
|
-
description: "Approve a pending user, granting them access to the tailnet.",
|
|
39
|
-
annotations: {
|
|
40
|
-
title: "Approve user",
|
|
41
|
-
readOnlyHint: false,
|
|
42
|
-
destructiveHint: false,
|
|
43
|
-
idempotentHint: true,
|
|
44
|
-
openWorldHint: true,
|
|
45
|
-
},
|
|
46
|
-
inputSchema: z.object({
|
|
47
|
-
userId: z.string().describe("The user ID to approve"),
|
|
48
|
-
}),
|
|
49
|
-
handler: async (input) => {
|
|
50
|
-
return apiPost(`/users/${encPath(input.userId)}/approve`);
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: "tailscale_suspend_user",
|
|
55
|
-
description: "Suspend a user, immediately revoking their access to the tailnet. Their devices will be disconnected. Can be reversed with tailscale_restore_user.",
|
|
56
|
-
annotations: {
|
|
57
|
-
title: "Suspend user",
|
|
58
|
-
readOnlyHint: false,
|
|
59
|
-
destructiveHint: true,
|
|
60
|
-
idempotentHint: true,
|
|
61
|
-
openWorldHint: true,
|
|
62
|
-
},
|
|
63
|
-
inputSchema: z.object({
|
|
64
|
-
userId: z.string().describe("The user ID to suspend"),
|
|
65
|
-
}),
|
|
66
|
-
handler: async (input) => {
|
|
67
|
-
return apiPost(`/users/${encPath(input.userId)}/suspend`);
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
name: "tailscale_restore_user",
|
|
72
|
-
description: "Restore a previously suspended user, re-granting them access to the tailnet.",
|
|
73
|
-
annotations: {
|
|
74
|
-
title: "Restore user",
|
|
75
|
-
readOnlyHint: false,
|
|
76
|
-
destructiveHint: false,
|
|
77
|
-
idempotentHint: true,
|
|
78
|
-
openWorldHint: true,
|
|
79
|
-
},
|
|
80
|
-
inputSchema: z.object({
|
|
81
|
-
userId: z.string().describe("The user ID to restore"),
|
|
82
|
-
}),
|
|
83
|
-
handler: async (input) => {
|
|
84
|
-
return apiPost(`/users/${encPath(input.userId)}/restore`);
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "tailscale_update_user_role",
|
|
89
|
-
description: "Update a user's role in the tailnet.",
|
|
90
|
-
annotations: {
|
|
91
|
-
title: "Update user role",
|
|
92
|
-
readOnlyHint: false,
|
|
93
|
-
destructiveHint: false,
|
|
94
|
-
idempotentHint: true,
|
|
95
|
-
openWorldHint: true,
|
|
96
|
-
},
|
|
97
|
-
inputSchema: z.object({
|
|
98
|
-
userId: z.string().describe("The user ID"),
|
|
99
|
-
role: z
|
|
100
|
-
.enum(["owner", "admin", "it-admin", "network-admin", "billing-admin", "auditor", "member"])
|
|
101
|
-
.describe("The new role to assign"),
|
|
102
|
-
}),
|
|
103
|
-
handler: async (input) => {
|
|
104
|
-
return apiPatch(`/users/${encPath(input.userId)}/role`, { role: input.role });
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
];
|
|
108
|
-
//# sourceMappingURL=users.js.map
|
package/dist/tools/users.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/webhooks.d.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const webhookTools: readonly [{
|
|
3
|
-
readonly name: "tailscale_list_webhooks";
|
|
4
|
-
readonly description: "List all webhooks configured for your tailnet.";
|
|
5
|
-
readonly annotations: {
|
|
6
|
-
readonly title: "List webhooks";
|
|
7
|
-
readonly readOnlyHint: true;
|
|
8
|
-
readonly destructiveHint: false;
|
|
9
|
-
readonly idempotentHint: true;
|
|
10
|
-
readonly openWorldHint: true;
|
|
11
|
-
};
|
|
12
|
-
readonly inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
13
|
-
readonly handler: () => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
14
|
-
}, {
|
|
15
|
-
readonly name: "tailscale_get_webhook";
|
|
16
|
-
readonly description: "Get details for a specific webhook.";
|
|
17
|
-
readonly annotations: {
|
|
18
|
-
readonly title: "Get webhook";
|
|
19
|
-
readonly readOnlyHint: true;
|
|
20
|
-
readonly destructiveHint: false;
|
|
21
|
-
readonly idempotentHint: true;
|
|
22
|
-
readonly openWorldHint: true;
|
|
23
|
-
};
|
|
24
|
-
readonly inputSchema: z.ZodObject<{
|
|
25
|
-
webhookId: z.ZodString;
|
|
26
|
-
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
webhookId: string;
|
|
28
|
-
}, {
|
|
29
|
-
webhookId: string;
|
|
30
|
-
}>;
|
|
31
|
-
readonly handler: (input: {
|
|
32
|
-
webhookId: string;
|
|
33
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
34
|
-
}, {
|
|
35
|
-
readonly name: "tailscale_create_webhook";
|
|
36
|
-
readonly description: "Create a new webhook.";
|
|
37
|
-
readonly annotations: {
|
|
38
|
-
readonly title: "Create webhook";
|
|
39
|
-
readonly readOnlyHint: false;
|
|
40
|
-
readonly destructiveHint: false;
|
|
41
|
-
readonly idempotentHint: false;
|
|
42
|
-
readonly openWorldHint: true;
|
|
43
|
-
};
|
|
44
|
-
readonly inputSchema: z.ZodObject<{
|
|
45
|
-
endpointUrl: z.ZodString;
|
|
46
|
-
subscriptions: z.ZodArray<z.ZodString, "many">;
|
|
47
|
-
}, "strip", z.ZodTypeAny, {
|
|
48
|
-
endpointUrl: string;
|
|
49
|
-
subscriptions: string[];
|
|
50
|
-
}, {
|
|
51
|
-
endpointUrl: string;
|
|
52
|
-
subscriptions: string[];
|
|
53
|
-
}>;
|
|
54
|
-
readonly handler: (input: {
|
|
55
|
-
endpointUrl: string;
|
|
56
|
-
subscriptions: string[];
|
|
57
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
58
|
-
}, {
|
|
59
|
-
readonly name: "tailscale_update_webhook";
|
|
60
|
-
readonly description: "Update an existing webhook's endpoint URL and/or subscriptions.";
|
|
61
|
-
readonly annotations: {
|
|
62
|
-
readonly title: "Update webhook";
|
|
63
|
-
readonly readOnlyHint: false;
|
|
64
|
-
readonly destructiveHint: false;
|
|
65
|
-
readonly idempotentHint: true;
|
|
66
|
-
readonly openWorldHint: true;
|
|
67
|
-
};
|
|
68
|
-
readonly inputSchema: z.ZodObject<{
|
|
69
|
-
webhookId: z.ZodString;
|
|
70
|
-
endpointUrl: z.ZodOptional<z.ZodString>;
|
|
71
|
-
subscriptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
72
|
-
}, "strip", z.ZodTypeAny, {
|
|
73
|
-
webhookId: string;
|
|
74
|
-
endpointUrl?: string | undefined;
|
|
75
|
-
subscriptions?: string[] | undefined;
|
|
76
|
-
}, {
|
|
77
|
-
webhookId: string;
|
|
78
|
-
endpointUrl?: string | undefined;
|
|
79
|
-
subscriptions?: string[] | undefined;
|
|
80
|
-
}>;
|
|
81
|
-
readonly handler: (input: {
|
|
82
|
-
webhookId: string;
|
|
83
|
-
endpointUrl?: string;
|
|
84
|
-
subscriptions?: string[];
|
|
85
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
86
|
-
}, {
|
|
87
|
-
readonly name: "tailscale_delete_webhook";
|
|
88
|
-
readonly description: "Delete a webhook. This is irreversible — the webhook secret cannot be recovered.";
|
|
89
|
-
readonly annotations: {
|
|
90
|
-
readonly title: "Delete webhook";
|
|
91
|
-
readonly readOnlyHint: false;
|
|
92
|
-
readonly destructiveHint: true;
|
|
93
|
-
readonly idempotentHint: true;
|
|
94
|
-
readonly openWorldHint: true;
|
|
95
|
-
};
|
|
96
|
-
readonly inputSchema: z.ZodObject<{
|
|
97
|
-
webhookId: z.ZodString;
|
|
98
|
-
}, "strip", z.ZodTypeAny, {
|
|
99
|
-
webhookId: string;
|
|
100
|
-
}, {
|
|
101
|
-
webhookId: string;
|
|
102
|
-
}>;
|
|
103
|
-
readonly handler: (input: {
|
|
104
|
-
webhookId: string;
|
|
105
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
106
|
-
}, {
|
|
107
|
-
readonly name: "tailscale_rotate_webhook_secret";
|
|
108
|
-
readonly description: "Rotate a webhook's secret. Returns the new secret — save it immediately, as it cannot be retrieved again. The old secret is immediately invalidated.";
|
|
109
|
-
readonly annotations: {
|
|
110
|
-
readonly title: "Rotate webhook secret";
|
|
111
|
-
readonly readOnlyHint: false;
|
|
112
|
-
readonly destructiveHint: false;
|
|
113
|
-
readonly idempotentHint: false;
|
|
114
|
-
readonly openWorldHint: true;
|
|
115
|
-
};
|
|
116
|
-
readonly inputSchema: z.ZodObject<{
|
|
117
|
-
webhookId: z.ZodString;
|
|
118
|
-
}, "strip", z.ZodTypeAny, {
|
|
119
|
-
webhookId: string;
|
|
120
|
-
}, {
|
|
121
|
-
webhookId: string;
|
|
122
|
-
}>;
|
|
123
|
-
readonly handler: (input: {
|
|
124
|
-
webhookId: string;
|
|
125
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
126
|
-
}];
|
package/dist/tools/webhooks.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { apiDelete, apiGet, apiPatch, apiPost, encPath, getTailnet } from "../api.js";
|
|
3
|
-
export const webhookTools = [
|
|
4
|
-
{
|
|
5
|
-
name: "tailscale_list_webhooks",
|
|
6
|
-
description: "List all webhooks configured for your tailnet.",
|
|
7
|
-
annotations: {
|
|
8
|
-
title: "List webhooks",
|
|
9
|
-
readOnlyHint: true,
|
|
10
|
-
destructiveHint: false,
|
|
11
|
-
idempotentHint: true,
|
|
12
|
-
openWorldHint: true,
|
|
13
|
-
},
|
|
14
|
-
inputSchema: z.object({}),
|
|
15
|
-
handler: async () => {
|
|
16
|
-
return apiGet(`/tailnet/${getTailnet()}/webhooks`);
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: "tailscale_get_webhook",
|
|
21
|
-
description: "Get details for a specific webhook.",
|
|
22
|
-
annotations: {
|
|
23
|
-
title: "Get webhook",
|
|
24
|
-
readOnlyHint: true,
|
|
25
|
-
destructiveHint: false,
|
|
26
|
-
idempotentHint: true,
|
|
27
|
-
openWorldHint: true,
|
|
28
|
-
},
|
|
29
|
-
inputSchema: z.object({
|
|
30
|
-
webhookId: z.string().describe("The webhook ID"),
|
|
31
|
-
}),
|
|
32
|
-
handler: async (input) => {
|
|
33
|
-
return apiGet(`/webhooks/${encPath(input.webhookId)}`);
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: "tailscale_create_webhook",
|
|
38
|
-
description: "Create a new webhook.",
|
|
39
|
-
annotations: {
|
|
40
|
-
title: "Create webhook",
|
|
41
|
-
readOnlyHint: false,
|
|
42
|
-
destructiveHint: false,
|
|
43
|
-
idempotentHint: false,
|
|
44
|
-
openWorldHint: true,
|
|
45
|
-
},
|
|
46
|
-
inputSchema: z.object({
|
|
47
|
-
endpointUrl: z.string().describe("The URL to send webhook events to"),
|
|
48
|
-
subscriptions: z
|
|
49
|
-
.array(z.string())
|
|
50
|
-
.describe("Event types to subscribe to (e.g. ['nodeCreated', 'nodeDeleted', 'nodeApproved', 'policyUpdate', 'userCreated', 'userDeleted'])"),
|
|
51
|
-
}),
|
|
52
|
-
handler: async (input) => {
|
|
53
|
-
return apiPost(`/tailnet/${getTailnet()}/webhooks`, {
|
|
54
|
-
endpointUrl: input.endpointUrl,
|
|
55
|
-
subscriptions: input.subscriptions,
|
|
56
|
-
});
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "tailscale_update_webhook",
|
|
61
|
-
description: "Update an existing webhook's endpoint URL and/or subscriptions.",
|
|
62
|
-
annotations: {
|
|
63
|
-
title: "Update webhook",
|
|
64
|
-
readOnlyHint: false,
|
|
65
|
-
destructiveHint: false,
|
|
66
|
-
idempotentHint: true,
|
|
67
|
-
openWorldHint: true,
|
|
68
|
-
},
|
|
69
|
-
inputSchema: z.object({
|
|
70
|
-
webhookId: z.string().describe("The webhook ID to update"),
|
|
71
|
-
endpointUrl: z.string().optional().describe("New URL to send webhook events to"),
|
|
72
|
-
subscriptions: z
|
|
73
|
-
.array(z.string())
|
|
74
|
-
.optional()
|
|
75
|
-
.describe("Updated list of event types to subscribe to (e.g. ['nodeCreated', 'nodeDeleted', 'nodeApproved', 'policyUpdate', 'userCreated', 'userDeleted'])"),
|
|
76
|
-
}),
|
|
77
|
-
handler: async (input) => {
|
|
78
|
-
const body = {};
|
|
79
|
-
if (input.endpointUrl !== undefined)
|
|
80
|
-
body.endpointUrl = input.endpointUrl;
|
|
81
|
-
if (input.subscriptions !== undefined)
|
|
82
|
-
body.subscriptions = input.subscriptions;
|
|
83
|
-
return apiPatch(`/webhooks/${encPath(input.webhookId)}`, body);
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "tailscale_delete_webhook",
|
|
88
|
-
description: "Delete a webhook. This is irreversible — the webhook secret cannot be recovered.",
|
|
89
|
-
annotations: {
|
|
90
|
-
title: "Delete webhook",
|
|
91
|
-
readOnlyHint: false,
|
|
92
|
-
destructiveHint: true,
|
|
93
|
-
idempotentHint: true,
|
|
94
|
-
openWorldHint: true,
|
|
95
|
-
},
|
|
96
|
-
inputSchema: z.object({
|
|
97
|
-
webhookId: z.string().describe("The webhook ID to delete"),
|
|
98
|
-
}),
|
|
99
|
-
handler: async (input) => {
|
|
100
|
-
return apiDelete(`/webhooks/${encPath(input.webhookId)}`);
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "tailscale_rotate_webhook_secret",
|
|
105
|
-
description: "Rotate a webhook's secret. Returns the new secret — save it immediately, as it cannot be retrieved again. The old secret is immediately invalidated.",
|
|
106
|
-
annotations: {
|
|
107
|
-
title: "Rotate webhook secret",
|
|
108
|
-
readOnlyHint: false,
|
|
109
|
-
destructiveHint: false,
|
|
110
|
-
idempotentHint: false,
|
|
111
|
-
openWorldHint: true,
|
|
112
|
-
},
|
|
113
|
-
inputSchema: z.object({
|
|
114
|
-
webhookId: z.string().describe("The webhook ID whose secret to rotate"),
|
|
115
|
-
}),
|
|
116
|
-
handler: async (input) => {
|
|
117
|
-
return apiPost(`/webhooks/${encPath(input.webhookId)}/rotate`);
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
];
|
|
121
|
-
//# sourceMappingURL=webhooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEtF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,KAAK,EAAE,eAAe;YACtB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,CAAC,YAAY,UAAU,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACjD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;YAC9C,OAAO,MAAM,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrE,aAAa,EAAE,CAAC;iBACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,CACP,iIAAiI,CAClI;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAuD,EAAE,EAAE;YACzE,OAAO,OAAO,CAAC,YAAY,UAAU,EAAE,WAAW,EAAE;gBAClD,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC,CAAC;QACL,CAAC;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAChF,aAAa,EAAE,CAAC;iBACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,iJAAiJ,CAClJ;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAA4E,EAAE,EAAE;YAC9F,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAC1E,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAChF,OAAO,QAAQ,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,kFAAkF;QAC/F,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SAC3D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;YAC9C,OAAO,SAAS,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,sJAAsJ;QACxJ,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;YAC9C,OAAO,OAAO,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;KACF;CACO,CAAC"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const workloadIdentityTools: readonly [{
|
|
3
|
-
readonly name: "tailscale_list_workload_identities";
|
|
4
|
-
readonly description: "List all federated workload identity providers configured for your tailnet. Workload identities allow CI/CD pipelines and automated systems to authenticate using OIDC federation.";
|
|
5
|
-
readonly annotations: {
|
|
6
|
-
readonly title: "List workload identities";
|
|
7
|
-
readonly readOnlyHint: true;
|
|
8
|
-
readonly destructiveHint: false;
|
|
9
|
-
readonly idempotentHint: true;
|
|
10
|
-
readonly openWorldHint: true;
|
|
11
|
-
};
|
|
12
|
-
readonly inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
13
|
-
readonly handler: () => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
14
|
-
}, {
|
|
15
|
-
readonly name: "tailscale_get_workload_identity";
|
|
16
|
-
readonly description: "Get details for a specific workload identity provider.";
|
|
17
|
-
readonly annotations: {
|
|
18
|
-
readonly title: "Get workload identity";
|
|
19
|
-
readonly readOnlyHint: true;
|
|
20
|
-
readonly destructiveHint: false;
|
|
21
|
-
readonly idempotentHint: true;
|
|
22
|
-
readonly openWorldHint: true;
|
|
23
|
-
};
|
|
24
|
-
readonly inputSchema: z.ZodObject<{
|
|
25
|
-
providerId: z.ZodString;
|
|
26
|
-
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
providerId: string;
|
|
28
|
-
}, {
|
|
29
|
-
providerId: string;
|
|
30
|
-
}>;
|
|
31
|
-
readonly handler: (input: {
|
|
32
|
-
providerId: string;
|
|
33
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
34
|
-
}, {
|
|
35
|
-
readonly name: "tailscale_create_workload_identity";
|
|
36
|
-
readonly description: "Create a new workload identity provider for OIDC federation. Enables CI/CD systems (GitHub Actions, GitLab CI, etc.) to authenticate to your tailnet without static credentials.";
|
|
37
|
-
readonly annotations: {
|
|
38
|
-
readonly title: "Create workload identity";
|
|
39
|
-
readonly readOnlyHint: false;
|
|
40
|
-
readonly destructiveHint: false;
|
|
41
|
-
readonly idempotentHint: false;
|
|
42
|
-
readonly openWorldHint: true;
|
|
43
|
-
};
|
|
44
|
-
readonly inputSchema: z.ZodObject<{
|
|
45
|
-
name: z.ZodString;
|
|
46
|
-
issuerUrl: z.ZodString;
|
|
47
|
-
audience: z.ZodOptional<z.ZodString>;
|
|
48
|
-
claimMappings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
49
|
-
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
name: string;
|
|
51
|
-
issuerUrl: string;
|
|
52
|
-
audience?: string | undefined;
|
|
53
|
-
claimMappings?: Record<string, string> | undefined;
|
|
54
|
-
}, {
|
|
55
|
-
name: string;
|
|
56
|
-
issuerUrl: string;
|
|
57
|
-
audience?: string | undefined;
|
|
58
|
-
claimMappings?: Record<string, string> | undefined;
|
|
59
|
-
}>;
|
|
60
|
-
readonly handler: (input: {
|
|
61
|
-
name: string;
|
|
62
|
-
issuerUrl: string;
|
|
63
|
-
audience?: string;
|
|
64
|
-
claimMappings?: Record<string, string>;
|
|
65
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
66
|
-
}, {
|
|
67
|
-
readonly name: "tailscale_update_workload_identity";
|
|
68
|
-
readonly description: "Update an existing workload identity provider's configuration.";
|
|
69
|
-
readonly annotations: {
|
|
70
|
-
readonly title: "Update workload identity";
|
|
71
|
-
readonly readOnlyHint: false;
|
|
72
|
-
readonly destructiveHint: false;
|
|
73
|
-
readonly idempotentHint: true;
|
|
74
|
-
readonly openWorldHint: true;
|
|
75
|
-
};
|
|
76
|
-
readonly inputSchema: z.ZodObject<{
|
|
77
|
-
providerId: z.ZodString;
|
|
78
|
-
name: z.ZodOptional<z.ZodString>;
|
|
79
|
-
audience: z.ZodOptional<z.ZodString>;
|
|
80
|
-
claimMappings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
81
|
-
}, "strip", z.ZodTypeAny, {
|
|
82
|
-
providerId: string;
|
|
83
|
-
name?: string | undefined;
|
|
84
|
-
audience?: string | undefined;
|
|
85
|
-
claimMappings?: Record<string, string> | undefined;
|
|
86
|
-
}, {
|
|
87
|
-
providerId: string;
|
|
88
|
-
name?: string | undefined;
|
|
89
|
-
audience?: string | undefined;
|
|
90
|
-
claimMappings?: Record<string, string> | undefined;
|
|
91
|
-
}>;
|
|
92
|
-
readonly handler: (input: {
|
|
93
|
-
providerId: string;
|
|
94
|
-
name?: string;
|
|
95
|
-
audience?: string;
|
|
96
|
-
claimMappings?: Record<string, string>;
|
|
97
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
98
|
-
}, {
|
|
99
|
-
readonly name: "tailscale_delete_workload_identity";
|
|
100
|
-
readonly description: "Delete a workload identity provider. This is irreversible — any CI/CD pipelines using this provider will lose access.";
|
|
101
|
-
readonly annotations: {
|
|
102
|
-
readonly title: "Delete workload identity";
|
|
103
|
-
readonly readOnlyHint: false;
|
|
104
|
-
readonly destructiveHint: true;
|
|
105
|
-
readonly idempotentHint: true;
|
|
106
|
-
readonly openWorldHint: true;
|
|
107
|
-
};
|
|
108
|
-
readonly inputSchema: z.ZodObject<{
|
|
109
|
-
providerId: z.ZodString;
|
|
110
|
-
}, "strip", z.ZodTypeAny, {
|
|
111
|
-
providerId: string;
|
|
112
|
-
}, {
|
|
113
|
-
providerId: string;
|
|
114
|
-
}>;
|
|
115
|
-
readonly handler: (input: {
|
|
116
|
-
providerId: string;
|
|
117
|
-
}) => Promise<import("../api.js").ApiResponse<unknown>>;
|
|
118
|
-
}];
|