OrbitWake API

Limites

Les limites OrbitWake ne proviennent pas toutes du même mécanisme. Certaines sont fixes dans le runtime, certaines sont configurables par environnement ou par workspace, et certaines valeurs existent dans la policy sans qu’un enforcement soit visible sur les endpoints inspectés. Cette page distingue explicitement ces catégories.

Comment lire cette page

TypeSignification
FixeConstante réellement appliquée par le handler ou le runtime inspecté.
ConfigurableValeur lue depuis environnement, base de données ou configuration workspace.
DefaultValeur de repli du code, susceptible d’être remplacée.
Déclarée, enforcement non vérifiéValeur présente dans le modèle/policy mais non observée dans le chemin d’exécution étudié.

AI — limites par requête

/api/ai/generate et /api/ai/stream utilisent la même policy de validation.

LimiteValeurType
Messages par requête30 par défaut.Configurable via policy.
Caractères cumulés des messages60 000 par défaut.Configurable via policy.
Tokens de sortie demandables1 024 par défaut.Configurable via policy.
Minimum de maxOutputTokens64.Fixe dans le clamp actuel.

Les variables de policy correspondantes sont lues depuis l’environnement et utilisent ces valeurs uniquement comme defaults.

AI — defaults de policy

dailyRequests: 30
dailyOutputTokens: 50000
maxOutputTokensPerRequest: 1024
maxMessagesPerRequest: 30
maxCharactersPerRequest: 60000
premiumBoostsOnSignup: 10
Les valeurs journalières ne doivent pas être présentées comme quota actif garantiDans les handlers /api/ai/generate et /api/ai/stream inspectés, maxMessagesPerRequest, maxCharactersPerRequest et maxOutputTokensPerRequest sont effectivement utilisés. Je n’ai pas trouvé dans ces chemins un enforcement direct de dailyRequests ou dailyOutputTokens.

AI — pièces jointes

LimiteValeur actuelle
Pièces jointes par message3 maximum.
Taille d’une pièce jointe8 MB maximum.
Total des pièces jointes dans le contexte12 MB maximum.
Nom de fichier180 caractères après trim.
Messages autorisés à porter des fichiersuser uniquement.

Types actuellement acceptés : PDF, PNG, JPEG, WEBP et GIF.

AI — budget provider quotidien

OrbitWake possède une limite serveur optionnelle ORBITWAKE_AI_HARD_DAILY_BUDGET_USD.

Si cette valeur est absente, invalide ou égale à 0, le hard budget est désactivé. Si elle est positive, les routes AI et IDE vérifient le coût provider cumulé du jour avant de lancer la génération.

La valeur effective de production n’est pas publiée dans cette documentation.

AI — timeout provider

Les providers OpenAI, Anthropic et OpenAI-compatible inspectés utilisent actuellement un timeout de 90 secondes par appel provider.

OrbitWake Auto peut tenter un fallback provider lorsqu’une erreur est retryable et qu’aucun texte n’a encore été streamé. Le temps total d’une requête peut donc être différent du timeout d’un seul appel provider.

Projects — limites de private beta

Les limites principales sont stockées par workspace dans private_beta_access.

Le schéma de migration définit les defaults suivants :

LimiteDefault DBEnforcement vérifié
Projets actifs3Oui.
Stockage projet5 242 880 octets — 5 MBOui, lors de la sauvegarde de fichiers.
Builds par heure20Valeur présente dans l’accès beta ; enforcement non trouvé dans le chemin Projects inspecté.

Ces valeurs peuvent être différentes pour un workspace donné.

Projects — champs et fichiers

ÉlémentLimite actuelle
Nom du projet1 à 120 caractères.
Chemin de fichier240 caractères maximum, chemin relatif sûr.
Taille d’un fichier beta512 KB maximum.
Label de version/checkpoint160 caractères maximum.
Versions retournées dans le détail projet30 plus récentes.
AI runs retournés dans le détail projet20 plus récents.

Memory — tailles et résultats

ÉlémentLimite actuelle
Title160 caractères maximum.
Content4 000 caractères maximum.
Project key120 caractères maximum.
Search string interne200 caractères maximum.
GET /api/memory80 résultats demandés par la route actuelle.
Cap interne listMemories100 résultats maximum.
Mémoires pertinentes injectées dans AI8 demandées par défaut, cap interne 12.
Mots sémantiques uniques10 maximum dans la requête de ranking.
Confidence0 à 100.

Memory — capture explicite

Une mémoire capturée depuis une phrase de type “remember…” n’est acceptée par l’extracteur actuel que si le contenu extrait ne dépasse pas 4 000 caractères.

Le titre automatique est réduit à environ 88 caractères pour l’affichage, tandis que la colonne et l’API autorisent jusqu’à 160 caractères.

Connectors

Limite / duréeValeur actuelle
Activity list par défaut50 événements.
Activity list maximum100 événements.
Approval one-timeExpire après 10 minutes.
Résultat d’idempotencyConservé 24 heures.

Les limites d’entrée propres à une action Connector dépendent du connecteur et de l’action ; il n’existe pas un plafond global unique documenté pour tous les inputs Connector.

IDE — pairing et session

ÉlémentLimite actuelle
Pairing code8 caractères, affichés 4-4.
Validité pairing10 minutes.
Device/editor text120 caractères maximum.
Machine ID reçu512 caractères maximum avant hash serveur.
Bearer token accepté par le parser32 à 120 caractères URL-safe.

IDE — Ask

ChampLimite backend
Prompt12 000 caractères.
File path500 caractères.
Language80 caractères.
Selection16 000 caractères.
Active file content32 000 caractères.
Diagnostics50 entrées maximum.
Un diagnostic500 caractères maximum.
Output tokens3 000 fixés par le endpoint.

IDE — Agent

ÉlémentLimite backend
Prompt12 000 caractères.
Fichiers reçus12 maximum.
Contexte total fichiers72 000 caractères maximum.
Contenu d’un fichier36 000 caractères maximum.
Path500 caractères avant validation du chemin.
Language80 caractères.
Output tokens Agent7 000.
Fichiers modifiés proposés10 maximum.
Contenu d’un changement36 000 caractères maximum.
Résumé proposal1 500 caractères.
Reason par changement1 200 caractères.

IDE — backend vs extension locale

Le backend Agent accepte jusqu’à 12 fichiers, mais l’extension VS Code actuelle sélectionne localement un maximum plus bas avant l’envoi. Les limites client peuvent donc être plus strictes que les limites de l’endpoint.

Documenter une capacité backend ne signifie pas que tous les clients officiels l’utilisent au maximum.

Domains — rate limits

ScopeLimiteFenêtre
Client30 recherches10 minutes.
Global process45 recherches60 secondes.

Le endpoint retourne les headers X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Sur refus, Retry-After est aussi présent.

Le rate limiter actuel est maintenu en mémoire du process Node ; cette implémentation n’est pas un quota distribué universel pour toute l’API.

Auth — durées utiles

Credential / tokenDurée actuelle
Session web30 jours.
Vérification email30 minutes.
Password reset20 minutes.
Pairing IDE10 minutes.
Approval Connector10 minutes.
Idempotency Connector24 heures.

Ce qui n’est pas une limite globale

  • les 30 recherches domaine / 10 minutes ne s’appliquent pas aux autres endpoints ;
  • le cap de 100 activités Connector ne limite pas le nombre total d’événements stockés, seulement la lecture retournée ;
  • les 8 memories pertinentes ne limitent pas le nombre total de memories enregistrées ;
  • les 12 fichiers IDE Agent sont une limite du endpoint Agent, pas de Projects ;
  • les defaults private beta peuvent être modifiés par workspace ;
  • les defaults AI de policy peuvent être remplacés par l’environnement.

Valeurs déclarées dont l’enforcement n’est pas vérifié ici

Deux exemples importants :

  • dailyRequests et dailyOutputTokens existent dans freeAiPolicy(), mais les handlers AI inspectés utilisent directement les limites par requête et le hard provider budget, sans enforcement journalier visible dans ces chemins ;
  • maxBuildsPerHour existe dans private_beta_access et dans le status beta, mais l’enforcement n’apparaît pas dans les opérations Projects inspectées.

La documentation ne les présente donc pas comme quotas effectivement bloquants tant qu’un chemin d’enforcement n’est pas vérifié.

Limites susceptibles d’évoluer

Les limites configurables peuvent changer sans modification du client. Les limites fixes peuvent évoluer avec une nouvelle version du runtime.

Comme OrbitWake ne publie pas encore une API v1 stable, un consommateur externe ne doit pas considérer ces valeurs comme engagement contractuel permanent.

Conseils côté client

  • validez la taille du payload avant l’envoi ;
  • respectez Retry-After lorsqu’il est fourni ;
  • traitez 413 comme signal de réduction du payload, pas comme erreur transitoire ;
  • ne codez pas en dur un quota configurable comme si sa valeur était permanente ;
  • pour Projects beta, utilisez les limites retournées au workspace lorsque cette surface les expose.

Résumé des limites les plus structurantes

SurfaceLimite clé
AI30 messages / 60k caractères par défaut, 1 024 output tokens par défaut.
AI fichiers3 par message, 8 MB chacun, 12 MB total.
Projects512 KB par fichier ; limites workspace configurables.
Memory4 000 caractères de contenu, 160 pour title.
Connectors100 activités max par lecture ; approval 10 min ; idempotency 24 h.
IDE AskPrompt 12k, selection 16k, file 32k.
IDE Agent12 fichiers / 72k contexte / 10 changements proposés.
Domains30 recherches client / 10 min, 45 globales / min.

Suite de la documentation

La section API est maintenant documentée de bout en bout : vue d’ensemble, authentification, requêtes, réponses, streaming, erreurs et limites.

PrécédentAPI — ErreursSection suivanteGuides