Skip to content

Commit 1d08796

Browse files
v0.5.12: memory optimizations, sentry, incidentio, posthog, zendesk, pylon, intercom, mailchimp, loading optimizations (#2132)
* fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures (#2115) * fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures * ack PR comments * ack * improvement(teams-plan): seats increase simplification + not triggering checkout session (#2117) * improvement(teams-plan): seats increase simplification + not triggering checkout session * cleanup via helper * feat(tools): added sentry, incidentio, and posthog tools (#2116) * feat(tools): added sentry, incidentio, and posthog tools * update docs * fixed docs to use native fumadocs for llms.txt and copy markdown, fixed tool issues * cleanup * enhance error extractor, fixed posthog tools * docs enhancements, cleanup * added more incident io ops, remove zustand/shallow in favor of zustand/react/shallow * fix type errors * remove unnecessary comments * added vllm to docs * feat(i18n): update translations (#2120) * feat(i18n): update translations * fix build --------- Co-authored-by: waleedlatif1 <[email protected]> * improvement(workflow-execution): perf improvements to passing workflow state + decrypted env vars (#2119) * improvement(execution): load workflow state once instead of 2-3 times * decrypt only in get helper * remove comments * remove comments * feat(models): host google gemini models (#2122) * feat(models): host google gemini models * remove unused primary key * feat(i18n): update translations (#2123) Co-authored-by: waleedlatif1 <[email protected]> * feat(tools): added zendesk, pylon, intercom, & mailchimp (#2126) * feat(tools): added zendesk, pylon, intercom, & mailchimp * finish zendesk and pylon * updated docs * feat(i18n): update translations (#2129) * feat(i18n): update translations * fixed build --------- Co-authored-by: waleedlatif1 <[email protected]> * fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal (#2130) * fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal * fix failing test * fix test * cleanup * fix(custom-tools): add composite index on custom tool names & workspace id (#2131) --------- Co-authored-by: Vikhyath Mondreti <[email protected]> Co-authored-by: waleedlatif1 <[email protected]>
2 parents ebcd243 + 21a640a commit 1d08796

File tree

424 files changed

+92040
-1056
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

424 files changed

+92040
-1056
lines changed

apps/docs/app/[lang]/[[...slug]]/page.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[]; l
201201
<div className='relative mt-6 sm:mt-0'>
202202
<div className='absolute top-1 right-0 flex items-center gap-2'>
203203
<div className='hidden sm:flex'>
204-
<CopyPageButton
205-
content={`# ${page.data.title}
206-
207-
${page.data.description || ''}
208-
209-
${page.data.content || ''}`}
210-
/>
204+
<CopyPageButton markdownUrl={`${page.url}.mdx`} />
211205
</div>
212206
<PageNavigationArrows previous={neighbours?.previous} next={neighbours?.next} />
213207
</div>

apps/docs/app/llms.mdx/[[...slug]]/route.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ export async function GET(_req: NextRequest, { params }: { params: Promise<{ slu
1010
const page = source.getPage(slug)
1111
if (!page) notFound()
1212

13-
return new NextResponse(await getLLMText(page))
13+
return new NextResponse(await getLLMText(page), {
14+
headers: {
15+
'Content-Type': 'text/markdown',
16+
},
17+
})
1418
}
1519

1620
export function generateStaticParams() {

apps/docs/cli.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"aliases": {
3+
"uiDir": "./components/ui",
4+
"componentsDir": "./components",
5+
"blockDir": "./components",
6+
"cssDir": "./styles",
7+
"libDir": "./lib"
8+
},
9+
"baseDir": "",
10+
"commands": {}
11+
}

apps/docs/components/icons.tsx

Lines changed: 194 additions & 0 deletions
Large diffs are not rendered by default.

apps/docs/components/ui/button.tsx

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { cva, type VariantProps } from 'class-variance-authority'
2+
3+
const variants = {
4+
primary: 'bg-fd-primary text-fd-primary-foreground hover:bg-fd-primary/80',
5+
outline: 'border hover:bg-fd-accent hover:text-fd-accent-foreground',
6+
ghost: 'hover:bg-fd-accent hover:text-fd-accent-foreground',
7+
secondary:
8+
'border bg-fd-secondary text-fd-secondary-foreground hover:bg-fd-accent hover:text-fd-accent-foreground',
9+
} as const
10+
11+
export const buttonVariants = cva(
12+
'inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring',
13+
{
14+
variants: {
15+
variant: variants,
16+
color: variants,
17+
size: {
18+
sm: 'gap-1 px-2 py-1.5 text-xs',
19+
icon: 'p-1.5 [&_svg]:size-5',
20+
'icon-sm': 'p-1.5 [&_svg]:size-4.5',
21+
'icon-xs': 'p-1 [&_svg]:size-4',
22+
},
23+
},
24+
}
25+
)
26+
27+
export type ButtonProps = VariantProps<typeof buttonVariants>

apps/docs/components/ui/copy-page-button.tsx

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,48 @@
33
import { useState } from 'react'
44
import { Check, Copy } from 'lucide-react'
55

6+
const cache = new Map<string, string>()
7+
68
interface CopyPageButtonProps {
7-
content: string
9+
markdownUrl: string
810
}
911

10-
export function CopyPageButton({ content }: CopyPageButtonProps) {
12+
export function CopyPageButton({ markdownUrl }: CopyPageButtonProps) {
1113
const [copied, setCopied] = useState(false)
14+
const [isLoading, setLoading] = useState(false)
1215

1316
const handleCopy = async () => {
17+
const cached = cache.get(markdownUrl)
18+
if (cached) {
19+
await navigator.clipboard.writeText(cached)
20+
setCopied(true)
21+
setTimeout(() => setCopied(false), 2000)
22+
return
23+
}
24+
25+
setLoading(true)
1426
try {
15-
await navigator.clipboard.writeText(content)
27+
await navigator.clipboard.write([
28+
new ClipboardItem({
29+
'text/plain': fetch(markdownUrl).then(async (res) => {
30+
const content = await res.text()
31+
cache.set(markdownUrl, content)
32+
return content
33+
}),
34+
}),
35+
])
1636
setCopied(true)
1737
setTimeout(() => setCopied(false), 2000)
1838
} catch (err) {
1939
console.error('Failed to copy:', err)
40+
} finally {
41+
setLoading(false)
2042
}
2143
}
2244

2345
return (
2446
<button
47+
disabled={isLoading}
2548
onClick={handleCopy}
2649
className='flex cursor-pointer items-center gap-1.5 rounded-lg border border-border/40 bg-background px-2.5 py-2 text-muted-foreground/60 text-sm leading-none transition-all hover:border-border hover:bg-accent/50 hover:text-muted-foreground'
2750
aria-label={copied ? 'Copied to clipboard' : 'Copy page content'}

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,13 @@ import {
3232
HuggingFaceIcon,
3333
HunterIOIcon,
3434
ImageIcon,
35+
IncidentioIcon,
36+
IntercomIcon,
3537
JinaAIIcon,
3638
JiraIcon,
3739
LinearIcon,
3840
LinkupIcon,
41+
MailchimpIcon,
3942
Mem0Icon,
4043
MicrosoftExcelIcon,
4144
MicrosoftOneDriveIcon,
@@ -55,11 +58,14 @@ import {
5558
PineconeIcon,
5659
PipedriveIcon,
5760
PostgresIcon,
61+
PosthogIcon,
62+
PylonIcon,
5863
QdrantIcon,
5964
RedditIcon,
6065
ResendIcon,
6166
S3Icon,
6267
SalesforceIcon,
68+
SentryIcon,
6369
SerperIcon,
6470
SlackIcon,
6571
STTIcon,
@@ -80,13 +86,15 @@ import {
8086
WikipediaIcon,
8187
xIcon,
8288
YouTubeIcon,
89+
ZendeskIcon,
8390
ZepIcon,
8491
} from '@/components/icons'
8592

8693
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
8794

8895
export const blockTypeToIconMap: Record<string, IconComponent> = {
8996
zep: ZepIcon,
97+
zendesk: ZendeskIcon,
9098
youtube: YouTubeIcon,
9199
x: xIcon,
92100
wikipedia: WikipediaIcon,
@@ -112,11 +120,14 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
112120
slack: SlackIcon,
113121
sharepoint: MicrosoftSharepointIcon,
114122
serper: SerperIcon,
123+
sentry: SentryIcon,
115124
salesforce: SalesforceIcon,
116125
s3: S3Icon,
117126
resend: ResendIcon,
118127
reddit: RedditIcon,
119128
qdrant: QdrantIcon,
129+
pylon: PylonIcon,
130+
posthog: PosthogIcon,
120131
postgresql: PostgresIcon,
121132
pipedrive: PipedriveIcon,
122133
pinecone: PineconeIcon,
@@ -135,11 +146,14 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
135146
microsoft_excel: MicrosoftExcelIcon,
136147
memory: BrainIcon,
137148
mem0: Mem0Icon,
149+
mailchimp: MailchimpIcon,
138150
linkup: LinkupIcon,
139151
linear: LinearIcon,
140152
knowledge: PackageSearchIcon,
141153
jira: JiraIcon,
142154
jina: JinaAIIcon,
155+
intercom: IntercomIcon,
156+
incidentio: IncidentioIcon,
143157
image_generator: ImageIcon,
144158
hunter: HunterIOIcon,
145159
huggingface: HuggingFaceIcon,

apps/docs/content/docs/de/blocks/agent.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Der Agent-Block unterstützt mehrere LLM-Anbieter über eine einheitliche Infere
4646
- **Anthropic**: Claude 4.5 Sonnet, Claude Opus 4.1
4747
- **Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
4848
- **Andere Anbieter**: Groq, Cerebras, xAI, Azure OpenAI, OpenRouter
49-
- **Lokale Modelle**: Ollama-kompatible Modelle
49+
- **Lokale Modelle**: Ollama oder VLLM-kompatible Modelle
5050

5151
### Temperatur
5252

apps/docs/content/docs/de/blocks/evaluator.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Wählen Sie ein KI-Modell für die Durchführung der Bewertung:
5252
- **Anthropic**: Claude 3.7 Sonnet
5353
- **Google**: Gemini 2.5 Pro, Gemini 2.0 Flash
5454
- **Andere Anbieter**: Groq, Cerebras, xAI, DeepSeek
55-
- **Lokale Modelle**: Ollama-kompatible Modelle
55+
- **Lokale Modelle**: Ollama oder VLLM-kompatible Modelle
5656

5757
Verwenden Sie Modelle mit starken Argumentationsfähigkeiten wie GPT-4o oder Claude 3.7 Sonnet für beste Ergebnisse.
5858

apps/docs/content/docs/de/blocks/guardrails.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ Verwendet Retrieval-Augmented Generation (RAG) mit LLM-Bewertung, um zu erkennen
6363
4. Validierung besteht, wenn der Wert ≥ Schwellenwert ist (Standard: 3)
6464

6565
**Konfiguration:**
66-
- **Wissensdatenbank**: Auswahl aus Ihren vorhandenen Wissensdatenbanken
67-
- **Modell**: Wahl des LLM für die Bewertung (erfordert starkes Reasoning - GPT-4o, Claude 3.7 Sonnet empfohlen)
68-
- **API-Schlüssel**: Authentifizierung für den ausgewählten LLM-Anbieter (automatisch ausgeblendet für gehostete/Ollama-Modelle)
69-
- **Konfidenz-Schwellenwert**: Mindestwert zum Bestehen (0-10, Standard: 3)
66+
- **Wissensdatenbank**: Wählen Sie aus Ihren vorhandenen Wissensdatenbanken
67+
- **Modell**: Wählen Sie LLM für die Bewertung (erfordert starkes Denkvermögen - GPT-4o, Claude 3.7 Sonnet empfohlen)
68+
- **API-Schlüssel**: Authentifizierung für den ausgewählten LLM-Anbieter (automatisch ausgeblendet für gehostete/Ollama oder VLLM-kompatible Modelle)
69+
- **Vertrauensschwelle**: Mindestpunktzahl zum Bestehen (0-10, Standard: 3)
7070
- **Top K** (Erweitert): Anzahl der abzurufenden Wissensdatenbank-Chunks (Standard: 10)
7171

7272
**Ausgabe:**

0 commit comments

Comments
 (0)