Skip to content

Commit 35df0cf

Browse files
committed
feat(tailscale): add Tailscale integration with 20 API operations (#3868)
* feat(tailscale): add Tailscale integration with 20 API operations * fix(tailscale): fix transformResponse signatures and block output types * fix(tailscale): safe response.json() pattern, trim apiKey, guard expirySeconds
1 parent df264d9 commit 35df0cf

32 files changed

+3018
-0
lines changed

apps/docs/components/icons.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,45 @@ export function SerperIcon(props: SVGProps<SVGSVGElement>) {
683683
)
684684
}
685685

686+
export function TailscaleIcon(props: SVGProps<SVGSVGElement>) {
687+
return (
688+
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='none' {...props}>
689+
<path
690+
fill='currentColor'
691+
opacity={0.2}
692+
d='M65.6 127.7c35.3 0 63.9-28.6 63.9-63.9S100.9 0 65.6 0 1.8 28.6 1.8 63.9s28.6 63.8 63.8 63.8'
693+
/>
694+
<path
695+
fill='currentColor'
696+
d='M65.6 318.1c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9S1.8 219 1.8 254.2s28.6 63.9 63.8 63.9'
697+
/>
698+
<path
699+
fill='currentColor'
700+
opacity={0.2}
701+
d='M65.6 512c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9-63.8 28.7-63.8 63.9S30.4 512 65.6 512'
702+
/>
703+
<path
704+
fill='currentColor'
705+
d='M257.2 318.1c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9-63.9 28.6-63.9 63.9 28.6 63.9 63.9 63.9m0 193.9c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9-63.9 28.6-63.9 63.9 28.6 63.9 63.9 63.9'
706+
/>
707+
<path
708+
fill='currentColor'
709+
opacity={0.2}
710+
d='M257.2 127.7c35.3 0 63.9-28.6 63.9-63.9S292.5 0 257.2 0s-63.9 28.6-63.9 63.9 28.6 63.8 63.9 63.8m189.2 0c35.3 0 63.9-28.6 63.9-63.9S481.6 0 446.4 0c-35.3 0-63.9 28.6-63.9 63.9s28.6 63.8 63.9 63.8'
711+
/>
712+
<path
713+
fill='currentColor'
714+
d='M446.4 318.1c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9-63.9 28.6-63.9 63.9 28.6 63.9 63.9 63.9'
715+
/>
716+
<path
717+
fill='currentColor'
718+
opacity={0.2}
719+
d='M446.4 512c35.3 0 63.9-28.6 63.9-63.9s-28.6-63.9-63.9-63.9-63.9 28.6-63.9 63.9 28.6 63.9 63.9 63.9'
720+
/>
721+
</svg>
722+
)
723+
}
724+
686725
export function TavilyIcon(props: SVGProps<SVGSVGElement>) {
687726
return (
688727
<svg viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg' {...props}>

apps/docs/components/ui/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ import {
156156
StagehandIcon,
157157
StripeIcon,
158158
SupabaseIcon,
159+
TailscaleIcon,
159160
TavilyIcon,
160161
TelegramIcon,
161162
TextractIcon,
@@ -335,6 +336,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
335336
stripe: StripeIcon,
336337
stt_v2: STTIcon,
337338
supabase: SupabaseIcon,
339+
tailscale: TailscaleIcon,
338340
tavily: TavilyIcon,
339341
telegram: TelegramIcon,
340342
textract_v2: TextractIcon,

apps/docs/content/docs/en/tools/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@
153153
"stt",
154154
"supabase",
155155
"table",
156+
"tailscale",
156157
"tavily",
157158
"telegram",
158159
"textract",

0 commit comments

Comments
 (0)