Commandes BERKIOS — tableaux, médias, SQL et stockage (v0.7.176)
Les commandes sont enregistrées dans bridge/system-command-registry.mjs et exécutées par bridge/system-commands.mjs.
Tableaux structurés
tableau-creer(rows): clone une liste de lignes objet.tableau-ligne(rows, row): retourne le tableau avec une ligne ajoutée.tableau-colonne(rows, column, values?): ajoute une colonne ;valuesdoit avoir le même nombre d'éléments querows.tableau-trier-par-colonne(rows, column, direction?):ascpar défaut, oudesc.tableau-filtrer(rows, column, operator, value): opérateursegal,different,contient,superieur,inferieur,superieur_ou_egal,inferieur_ou_egal.tableau-agreger(rows, groupBy, aggregates?): agrégationscount,sum,avg,min,max.tableau-pivoter(rows, {index, column, value, operation?}):sum,avg,count.
Les tableaux sont des listes d'objets, pas des chaînes séparées par virgules : les types, nombres, booléens et valeurs nulles sont préservés.
SQL
sql-lire(table, filters?),sql-inserer(table, data),sql-mettre-a-jour(table, data, where),sql-supprimer(table, where).sql-executer(sql, params?)exécute une instruction avec paramètres séparés.sql-requete-parametree(sql, params?)lit une requête paramétrée.sql-transaction(actions)exécute les actions atomiquement et tente un rollback en cas d'échec.
Les noms de tables/colonnes sont validés comme identifiants SQL simples. Les valeurs sont toujours transmises avec des placeholders. sql-supprimer exige au moins une condition pour éviter un effacement accidentel de table. L'hôte doit vérifier les permissions SQL avant d'appeler le moteur. L'adaptateur DB doit exposer prepare(sql) avec run/all, et exec(sql) ou transaction(fn) pour les transactions.
Stockage
stocker(key, value),charger(key),oublier(key)utilisentoptions.storagefourni par l'hôte (get,set,delete). UnMapfonctionne pour les tests et le stockage temporaire, mais n'est pas persistant au redémarrage. Pour la persistance réelle, l'hôte doit fournir un adaptateur durable (par exemple SQLite ou stockage local).
Médias
image-charger,image-redimensionner,image-compresser,photo-prendre,fichier-choisir,audio-jouer,audio-enregistrerdélèguent aux fonctions deoptions.media. Ces opérations nécessitent une implémentation native/web et les permissions correspondantes. Si l'adaptateur n'est pas présent, le moteur renvoiemedia_unavailableau lieu de simuler une réussite.
Intégration et tests
L'API exécutable se trouve dans bridge/data-media-sql-commands.mjs; le dispatcher du Bridge est executeSystemCommand dans bridge/system-commands.mjs. Voir bridge/tests/data-media-sql-commands.test.mjs.
Cette page en Markdown · llms.txt · documentation complète pour les IA