Fonctionnalités de la plateforme

Un seul config.json : 1010 méthodes, 16 types de déploiement, 72 paliers tarifaires.

Cette page parle d'un fichier plutôt que d'un produit. config.json est le manifeste de la plateforme, et presque toute question sur ce que Xuda peut faire trouve sa réponse dans une seule clé de ce fichier. L'objet cpi_methods contient 1010 entrées, et une simple recherche par nom dans cet objet constitue toute la surface de l'API : pas de table de routage, pas de client généré, pas de second endroit où enregistrer quoi que ce soit. 678 de ces entrées portent private: true, donc une clé d'API externe peut en adresser 332, et la liste des outils MCP est compilée à partir de ce même ensemble. Cinq chaînes de clearance couvrent tout le catalogue : user sur 681 entrées, admin sur 253, public sur 51, developer sur 15 et user_access sur 5. 880 entrées déclarent des champs typés, soit 2009 définitions de champs au total, dont 1103 obligatoires, et 158 des clés de champ sont des chemins pointés tels que data.create_datacenter.app_region. deploy_type liste 16 chaînes, et deploy_type_in_beta en nomme quatre : router, android, emitter et mcp, que deploy_app refuse avec le code -2. PLAN_OBJ contient 72 paliers tarifés répartis sur 16 catégories, et chacune des 16 échelles commence par un palier à 0 $. PRICE_OBJ.server_slugs contient 58 slugs, construits à partir de 5 types de serveur croisés avec 3 groupes de serveur. La map modules déclare 45 noms, et un module démarre par son nom plutôt que par un import : msg_broker joint XUDA_HOME/cpi au nom du module à la ligne 43 de common/msg_broker.mjs, en insérant /node_modules/@xuda.io quand is_debug vaut false, ce qui est le cas dans config.json. Chaque chiffre de cette page est exact pour la copie de config.json présente dans le dépôt. config_dev.json diverge sur quatre points, et l'encadré final indique précisément lesquels.

1010 méthodes, dont 332 accessibles par une clé externe
16 types de déploiement, dont 4 refusés en bêta
72 paliers tarifés répartis sur 16 échelles
Un seul config.json : 1010 méthodes, 16 types de déploiement, 72 paliers tarifaires.
Avec quoi vous construisez

Six surfaces, un seul fichier de configuration derrière toutes.

Studio, l'espace de travail, les plugins, l'API, la marketplace et Slim ne sont pas six produits avec six backends. Ce sont six vues du même objet à 1010 entrées, et ce sont les clés portées par une entrée qui décident lesquelles peuvent l'atteindre : private décide si une clé externe la voit ne serait-ce qu'un peu, clearance décide quel identifiant est lu, min_plan décide quel palier d'abonnement est requis, et microservice décide quel module répond.

1010

Méthodes déclarées dans cpi_methods, un seul objet, une seule recherche

16

Types de déploiement déclarés, dont quatre refusés en bêta

72

Paliers tarifés répartis sur 16 échelles, chacune dotée d'un palier à 0 $

58

Slugs de serveur, 5 types de serveur croisés avec 3 groupes de serveur

Un fichier, six catalogues

Six catalogues logent dans un seul fichier, et chacun a son propre lecteur.

Il n'existe ni table de routage, ni fichier de permissions, ni service de tarification séparé. config.json contient six objets qui ne se référencent jamais entre eux, chacun étant lu par un ou deux endroits dans l'arborescence. cpi_methods décide de ce qui est appelable, deploy_type de ce qui peut être démarré, PLAN_OBJ de ce que coûte un palier, PRICE_OBJ de ce que coûte une machine ou une option, modules quel processus démarre, region_geo où un point atterrit sur une carte. Parcourez chaque ligne pour voir qui la consomme, puis lisez les deux cartes en pointillés : ce sont les paires qui n'existent pas.

Tous les chiffres ci-dessus proviennent de la copie de config.json présente dans le dépôt. config_dev.json est un fichier distinct avec des totaux différents : 1030 méthodes contre 1010, 17 types de déploiement contre 16, avec mpa et full_stack_vps présents et router absent, et il confie ces 30 méthodes de support_module à ticket_module, qui possède bien un répertoire source. La structure tient sur les deux fichiers. Les totaux, eux, n'appartiennent qu'à l'un des deux.
Les échelles

Seize échelles tarifées, et seulement deux d'entre elles peuvent refuser un appel.

PLAN_OBJ contient 72 paliers tarifés répartis sur 16 catégories, et chacune des 16 s'ouvre à 0 $. Ce que ce tableau compare, ce n'est pas le prix, c'est la portée. Exactement deux clés de plan existent quelque part dans cpi_methods : min_plan, sur 30 des 1010 entrées, et min_support_plan, sur 1. Les deux sont lues par les mêmes quatre lignes dans http_module, isValidPlan, qui renvoie true dès que min_plan est absent et compare sinon deux champs de rang dans PLAN_OBJ, une fois par requête. Quatorze des seize échelles, soit 61 paliers au total, ne peuvent refuser le moindre appel ici. Lisez d'abord la troisième ligne : elle indique quelle colonne a des dents.

Membership
AI Workspace
Support
Les 13 autres échelles
Paliers78, l'échelle la plus longue du fichier453 répartis sur 13 catégories
Éventail de prix0 $, 49 $, 149 $, 399 $, 1 999 $, 4 999 $, et un septième dont le champ prix est la chaîne littérale call plutôt qu'un nombrede 0 $ à 230 $ par mois0 $, 100 $, 1 500 $, 4 500 $de 0 $ jusqu'à 299 $, le palier le plus élevé étant trust_center Scale
Entrées le citant comme seuil minimal30 sur 1010, via min_plan : 19 pro, 6 agency, 4 team, 1 freeaucune. Aucune entrée ne cite de palier workspaceexactement 1, le seul min_support_plan du fichieraucune. Aucune autre clé de plan n'apparaît sur une entrée
Ce qui vous refuse en dessousisValidPlan, quatre lignes de calcul dans http_module, appelée une fois par requêterien dans ce catalogue. Ce qui conditionne un palier workspace n'est pas le dispatchercette seule entrée, et rien d'autre parmi les 1010rien ici. commerce, drive, email, tickets et trust_center ne conditionnent aucune méthode dans ce catalogue
Où aller ensuite

Six pages : sur quoi vous faites tourner quelque chose, et ce que cela coûte.

Cette page a défendu la structure : un seul fichier décide de tout, et l'essentiel se décide par la présence d'une clé plutôt que par une règle écrite. Les six éléments ci-dessous en sont le détail, et ils se répartissent en deux moitiés bien nettes. Les trois premiers répondent à ce que vous pouvez démarrer et où cela tourne : 16 types de déploiement, 17 clés géographiques, 58 slugs de serveur. Les trois derniers répondent à ce que coûte un palier et s'il peut refuser quoi que ce soit : membership, qui le peut, sur 30 méthodes ; AI Workspace, qui ne le peut pas ; et support, qui le peut, sur exactement une seule.

Ce que vous pouvez démarrer
Les 16 types de déploiement

deploy_type nomme 16 chaînes et deploy_type_in_beta en nomme 4 parmi ces mêmes 16, router, android, emitter et mcp, chacune refusée par deploy_app avec le code -2. À leurs côtés se trouvent les 21 méthodes deploy_ de cpi_methods et les 9 options tarifées, 15 $ pour un pwa ou un preview, 75 $ pour un emitter.

Voir les types
Où ça tourne
Régions et datacenters

region_geo contient 17 clés, chacune une latitude, une longitude et un nom d'affichage : 9 codes de ville, 5 zones continentales et les 3 régions de la ferme hel1, fsn1 et us1. En choisir une est un argument typé, pas un simple réglage : data.create_datacenter.app_region est l'un des 158 chemins pointés du contrat de champs.

Lire les régions
Ce que coûte une machine
Les 58 slugs de serveur

PRICE_OBJ.server_slugs est une grille, pas une liste : 5 server_types, shared, optimized, performance, large et service, croisés avec 3 valeurs de server_group, deployment, managed et vps. Le slug décide de ce que coûte la machine, et de rien de ce que vous pouvez appeler : aucune clé serveur n'apparaît sur une entrée de cpi_methods.

Comparer les slugs
Le seuil qui mord
Les 7 paliers Membership

0 $, 49 $, 149 $, 399 $, 1 999 $, 4 999 $, et un septième dont le champ prix est la chaîne littérale call plutôt qu'un nombre. C'est la seule échelle capable de refuser un appel : 30 des 1010 entrées de cpi_methods citent un palier comme min_plan, 19 pro, 6 agency, 4 team et 1 free.

Comparer les paliers
Tarifée, non conditionnée
AI Workspace, 8 paliers

De 0 $ à 230 $ par mois, et avec 8 paliers, l'échelle la plus longue de PLAN_OBJ. Aucune entrée de cpi_methods ne cite un palier workspace comme seuil minimal, donc rien dans le dispatcher ne vous refuse pour être sur le mauvais palier. Ce que le palier achète se décide ailleurs.

Lire l'échelle
L'autre verrou
Support, 4 paliers

0 $, 100 $, 1 500 $ et 4 500 $. Exactement une entrée dans cpi_methods cite un min_support_plan, ce qui en fait la seconde et dernière clé de plan lue par le dispatcher, et le verrou le plus étroit du fichier : large d'une seule méthode.

Voir les paliers Support
Limites, sans détour

Huit choses que cette page et cette plateforme ne font pas, en commençant par deux qui concernent la page elle-même.

  • Cette page est un index, et elle le reste. Neuf blocs contre vingt pour une page voisine n'est pas un oubli : la page qu'elle a remplacée n'était que deux titres et un appel à l'action, donc elle indexe la section plutôt que de devenir un essai de plus à son sujet. L'explication se trouve sur la page vers laquelle chaque carte pointe.
  • Chaque chiffre de cette page a été relevé sur la copie de config.json présente dans le dépôt le jour où elle a été rédigée, et ce fichier évolue. La structure du fichier est l'affirmation durable ; les totaux sont l'instantané d'un commit, et un chiffre qui a dérivé est un bug de cette page plutôt qu'une promesse sur la plateforme.
  • Les deux tiers de l'API vous sont fermés. 678 des 1010 entrées de cpi_methods portent private: true, et aucune clé d'API ne franchit ce flag, quel que soit le mode. Ce qu'un appelant externe peut atteindre, ce sont 332 méthodes, et la liste des outils MCP est compilée à partir de ce même ensemble. Seules 10 entrées définissent explicitement private: false, donc ce qui rend une méthode accessible de l'extérieur est le plus souvent l'absence d'une clé plutôt qu'une décision de l'ouvrir.
  • Seize échelles tarifées, et deux seulement conditionnent quoi que ce soit ici. PLAN_OBJ contient 72 paliers tarifés répartis sur 16 catégories, tandis que cpi_methods ne cite exactement que deux clés de plan : min_plan sur 30 des 1010 entrées, 19 pro, 6 agency, 4 team et 1 free, et min_support_plan sur une seule. Les 14 autres échelles, commerce, drive, email, tickets et trust_center parmi elles, ne conditionnent rien via ce catalogue.
  • Cinq options de déploiement sont tarifées sans rien derrière elles. PRICE_OBJ facture 45 $ chacune pour android, ios, windows, linux et macos, et cpi_methods ne déclare aucune méthode deploy_ qui crée l'une des cinq. Quatre des neuf options tarifées en possèdent une. Un prix dans le catalogue n'est pas la preuve qu'une méthode existe pour l'acheter.
  • Un quart de la liste des types de déploiement ne peut pas être démarré sur la configuration livrée. deploy_type contient 16 chaînes, deploy_type_in_beta en contient 4, router, android, emitter et mcp, et deploy_app vérifie les deux listes et renvoie le code -2 dans les deux cas, aux lignes 139 à 144 de cpi/deploy_module/index.mjs. Ces quatre-là sont déclarés et refusés par le même fichier.
  • La configuration livrée et la configuration de dev ne s'accordent pas sur la plateforme. config_dev.json déclare 1030 méthodes contre 1010, en ajoutant 20 et n'en retirant aucune, et liste 17 types de déploiement contre 16 : il porte mpa et full_stack_vps là où config.json porte router. Il route aussi 30 méthodes vers ticket_module que config.json route vers support_module, lequel est déclaré dans la map modules mais n'a aucun répertoire source dans cpi/. Les deux configurations ne s'accordent pas sur qui répond à un ticket, et chaque chiffre de cette page est vrai pour config.json, pas pour chaque machine.
  • Il n'y a pas de limiteur de débit sur /cpi. router_module redirige le cas cpi directement vers localhost:3007 sans aucun middleware devant, aux lignes 2493 à 2521, tandis que les trois compartiments express-rate-limit se trouvent sur /login, les formulaires publics et les routes de la boutique. Il n'y a pas non plus de blocage après échecs répétés sur ce chemin. Les appels authentifiés sont bornés par la portée de l'identifiant, pas par une limite de fréquence.
Lire la plateforme

Six questions auxquelles un fichier de configuration répond plus vite qu'une liste de fonctionnalités

Chaque réponse cite le fichier et le chiffre dont elle provient, afin que vous puissiez ouvrir le dépôt et la contester.

Une plateforme que vous pouvez lire est une plateforme que vous pouvez contester.

Chaque chiffre de cette page provient de deux choses que vous pouvez ouvrir vous-même : config.json et l'arborescence cpi/ qui l'accompagne. C'est la version honnête d'une liste de fonctionnalités, et c'est aussi le chemin le plus lent pour y entrer. Si vous êtes arrivé avec une forme en tête à la place, un formulaire qui doit soumettre quelque part, un fichier qui doit atterrir dans du stockage, un projet qui doit se situer dans une région précise, la page voisine fait correspondre la forme arrivante au nom de méthode qui la traite, ce qui est vraiment la raison d'être de ce hub. Commencez là, puis revenez quand vous voudrez savoir ce que cette méthode a le droit de faire et qui a le droit de l'appeler.