Erato integrates into your structures.

Not the other way around.

The open-source AI platform for the DACH mid-sized businesses.
Self-hosted or in your cloud.

Talk to Sales

View on GitHub

Interface

Integration

Customization

Assistants

MCP

You
Can you write a debounce function in TypeScript?
Assistant
Sure! Here's a small, fully-typed debounce that delays calling `fn` until it stops being invoked for `wait` ms:
typescript
function debounce<A extends unknown[]>(
  fn: (...args: A) => void,
  wait: number,
) {
  let timer: ReturnType<typeof setTimeout>;
  return (...args: A) => {
    clearTimeout(timer);
    timer = setTimeout(() => fn(...args), wait);
  };
}
You
Nice. How would I cancel a pending call?
Assistant
Return a `cancel` method alongside the debounced function and call `clearTimeout(timer)` from it — then `debounced.cancel()` drops any pending invocation. You'd typically wire that into a component's cleanup so it doesn't fire after unmount.

Start

Interface

Integration

Customization

Assistants

MCP

You
Can you write a debounce function in TypeScript?
Assistant
Sure! Here's a small, fully-typed debounce that delays calling `fn` until it stops being invoked for `wait` ms:
typescript
function debounce<A extends unknown[]>(
  fn: (...args: A) => void,
  wait: number,
) {
  let timer: ReturnType<typeof setTimeout>;
  return (...args: A) => {
    clearTimeout(timer);
    timer = setTimeout(() => fn(...args), wait);
  };
}
You
Nice. How would I cancel a pending call?
Assistant
Return a `cancel` method alongside the debounced function and call `clearTimeout(timer)` from it — then `debounced.cancel()` drops any pending invocation. You'd typically wire that into a component's cleanup so it doesn't fire after unmount.

Start

Built for the way you work

Everything you need to deploy AI across your organisation securely and efficiently.

Learn More

Native Access Control

Respects your existing permission structures. Users only see what they're already authorized to access.

Privacy First

Your data stays yours. On-premise deployment options ensure sensitive information never leaves your infrastructure.

Open Source

Fully transparent codebase. Self-host or use our cloud. You maintain complete control and ownership.

Ready to take control of your AI?

Contact our sales team to get started.

Talk to Sales

View on GitHub

AI that fits in

Product

Features

Integration

Security

Prices

Erato Labs

Contact

About us

Team

Stay
up-to-date

LinkedIn

GitHub

Imprint

Privacy Policy

Cookie Policy

Erato Labs GmbH