@yawlabs/tailscale-mcp 0.12.3 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +7 -5
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -31188,7 +31188,8 @@ async function apiRequest(method, path, body, options) {
31188
31188
  if (res.status !== 429 || attempt === MAX_429_RETRIES || !isRetryable) break;
31189
31189
  const delay = compute429DelayMs(res.headers.get("retry-after"), attempt);
31190
31190
  const elapsed2 = Date.now() - startedAt;
31191
- if (elapsed2 + delay + REQUEST_TIMEOUT_MS > requestBudgetMs) {
31191
+ const nextAttemptBudgetMs = requestBudgetMs - elapsed2 - delay;
31192
+ if (nextAttemptBudgetMs <= 0) {
31192
31193
  debugLog(` -> 429 (attempt ${attempt + 1}), giving up: budget exhausted (${elapsed2}ms + ${delay}ms)`);
31193
31194
  break;
31194
31195
  }
@@ -32689,7 +32690,7 @@ async function runTailscaleCli(args, options = {}) {
32689
32690
  }
32690
32691
 
32691
32692
  // src/tools/local-cli.ts
32692
- var HOSTNAME_LABEL = /^[a-zA-Z0-9_]([a-zA-Z0-9_-]*[a-zA-Z0-9_])?$/;
32693
+ var HOSTNAME_LABEL = /^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$/;
32693
32694
  function isValidPingTarget(s) {
32694
32695
  if (s.length === 0 || s.length > 253) return false;
32695
32696
  if (net2.isIP(s)) return true;
@@ -33520,6 +33521,7 @@ function getAllowedWebhookEvents() {
33520
33521
  const extras = raw.split(",").map((s) => s.trim()).filter(Boolean);
33521
33522
  return /* @__PURE__ */ new Set([...STATIC_WEBHOOK_EVENT_TYPES, ...extras]);
33522
33523
  }
33524
+ var endpointUrlSchema = external_exports.string().url().refine((u) => u.startsWith("https://"), "endpointUrl must use https://");
33523
33525
  var webhookSubscriptionsSchema = external_exports.array(external_exports.string()).min(1).superRefine((arr, ctx) => {
33524
33526
  const allowed = getAllowedWebhookEvents();
33525
33527
  let knownEventsList = null;
@@ -33583,7 +33585,7 @@ var webhookTools = [
33583
33585
  openWorldHint: true
33584
33586
  },
33585
33587
  inputSchema: external_exports.object({
33586
- endpointUrl: external_exports.string().url().refine((u) => u.startsWith("https://"), "endpointUrl must use https://").describe("The HTTPS URL to send webhook events to"),
33588
+ endpointUrl: endpointUrlSchema.describe("The HTTPS URL to send webhook events to"),
33587
33589
  subscriptions: webhookSubscriptionsSchema.describe("Event types to subscribe to (at least one)")
33588
33590
  }),
33589
33591
  handler: async (input) => {
@@ -33605,7 +33607,7 @@ var webhookTools = [
33605
33607
  },
33606
33608
  inputSchema: external_exports.object({
33607
33609
  webhookId: external_exports.string().describe("The webhook ID to update"),
33608
- endpointUrl: external_exports.string().url().refine((u) => u.startsWith("https://"), "endpointUrl must use https://").optional().describe("New HTTPS URL to send webhook events to"),
33610
+ endpointUrl: endpointUrlSchema.optional().describe("New HTTPS URL to send webhook events to"),
33609
33611
  subscriptions: webhookSubscriptionsSchema.optional().describe("Updated list of event types to subscribe to (at least one)")
33610
33612
  }),
33611
33613
  handler: async (input) => {
@@ -33674,7 +33676,7 @@ var webhookTools = [
33674
33676
  ];
33675
33677
 
33676
33678
  // src/index.ts
33677
- var version2 = true ? "0.12.3" : (await null).createRequire(import.meta.url)("../package.json").version;
33679
+ var version2 = true ? "0.12.4" : (await null).createRequire(import.meta.url)("../package.json").version;
33678
33680
  var subcommand = process.argv[2];
33679
33681
  if (subcommand === "deploy-acl") {
33680
33682
  const filePath = process.argv[3];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yawlabs/tailscale-mcp",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "mcpName": "io.github.YawLabs/tailscale-mcp",
5
5
  "description": "Tailscale MCP server for managing your tailnet from AI assistants",
6
6
  "license": "MIT",