fleetbo-cockpit-cli 1.0.68 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/cli.js +36 -18
  2. package/package.json +1 -1
package/cli.js CHANGED
@@ -241,39 +241,57 @@ if (command === 'alex') {
241
241
  console.log('\x1b[33m🧠 Alex is thinking...\x1b[0m');
242
242
 
243
243
  try {
244
- // --- MEMORY SYSTEM (SMART CACHE SCANNER) ---
244
+ // --- MEMORY SYSTEM (SMART CACHE SCANNER V3 - SOUVERAINETÉ DU MÉTAL) ---
245
245
  let contextInjection = "";
246
246
  const potentialModules = extractPotentialModules(prompt);
247
+
248
+ let targetModuleContext = "";
249
+ let referenceContexts = "";
250
+
251
+ for (let modName of potentialModules) {
252
+ let isReferenceOnly = false;
253
+
254
+ // 🟢 LE DÉTECTEUR D'INSPIRATION
255
+ if (modName.endsWith('Ref')) {
256
+ isReferenceOnly = true;
257
+ modName = modName.replace('Ref', '');
258
+ } else if (modName.endsWith('Schema')) {
259
+ isReferenceOnly = true;
260
+ modName = modName.replace('Schema', '');
261
+ }
247
262
 
248
- for (const modName of potentialModules) {
249
263
  process.stdout.write(` \x1b[90m🔍 Checking OS cache for ${modName}...\x1b[0m`);
250
264
  const cache = await getModuleCache({ projectId, moduleName: modName });
251
265
 
252
266
  if (cache.found) {
253
267
  process.stdout.write(` \x1b[32mFOUND METAL\x1b[0m\n`);
254
268
 
255
- const intent = getContextIntent(prompt);
256
-
257
- // Récupération du Script Mémoire (généré par le Layer 7.7)
258
269
  let memoryScript = cache.module.dataSchema
259
- ? `\n[SCRIPT MÉMOIRE DU MODULE]\n${cache.module.dataSchema}\n`
260
- : "\n[SCRIPT MÉMOIRE DU MODULE]\nAucun schéma enregistré pour ce module.\n";
261
-
262
- if (intent === "MODIFICATION") {
263
- // CAS LOURD : Le pilote veut modifier le code existant
264
- contextInjection = `\n--- CONTEXTE : MÉTAL EXISTANT MODIFIER) (${modName}) ---\nDOGME: Tu dois modifier ce module existant.\n${memoryScript}\n[CODE NATIF EXISTANT]\n${cache.module.code}\n[MOCK JSX EXISTANT]\n${cache.module.mockCode}\n--- FIN DU CONTEXTE ---\n`;
265
- } else {
266
- // CAS LÉGER : Le pilote veut juste s'inspirer ou lier les données
267
- // ON N'ENVOIE PAS LE CODE SOURCE ! Uniquement le Script Mémoire.
268
- contextInjection = `\n--- CONTEXTE : RÉFÉRENCE DE DONNÉES (${modName}) ---\nDOGME: Tu dois t'aligner sur la logique de ce module. NE LIS QUE CE SCRIPT MÉMOIRE pour comprendre comment les données ont été nommées et sauvegardées.\n${memoryScript}\n--- FIN DU CONTEXTE ---\n`;
270
+ ? `\n[SCRIPT MÉMOIRE DU MODULE ${modName}]\n${cache.module.dataSchema}\n`
271
+ : `\n[SCRIPT MÉMOIRE DU MODULE ${modName}]\nAucun schéma enregistré pour ce module.\n`;
272
+
273
+ if (isReferenceOnly) {
274
+ // 🚨 CAS A : INSPIRATION (Lecture seule)
275
+ referenceContexts += `\n--- CONTEXTE : RÉFÉRENCE DE DONNÉES (${modName}) ---\nDOGME : Ne modifie pas ce module. Aligne-toi uniquement sur le code Natif ci-dessous pour extraire les clés de données.\n${memoryScript}\n[CODE NATIF DE RÉFÉRENCE]\n${cache.module.code}\n`;
276
+ } else if (!targetModuleContext) {
277
+ // 🚨 CAS B : CIBLE PRINCIPALE (Modification)
278
+ // LE MOCK EST BANI ! Le Métal est la seule source de vérité.
279
+ const intent = getContextIntent(prompt);
280
+ if (intent === "MODIFICATION") {
281
+ targetModuleContext = `\n--- CONTEXTE : MÉTAL EXISTANT À MODIFIER (${modName}) ---\nDOGME: Tu dois modifier ce code Natif. Ensuite, tu forgeras un Mock JSX entièrement neuf basé UNIQUEMENT sur ton nouveau code Natif.\n${memoryScript}\n[CODE NATIF EXISTANT]\n${cache.module.code}\n--- FIN DU CONTEXTE ---\n`;
282
+ } else {
283
+ targetModuleContext = `\n--- CONTEXTE : BASE DE TRAVAIL (${modName}) ---\n${memoryScript}\n`;
284
+ }
269
285
  }
270
-
271
- prompt = contextInjection + "\n\n[INSTRUCTION DU PILOTE]\n" + prompt;
272
- break;
273
286
  } else {
274
287
  process.stdout.write(` \x1b[31mNOT FOUND\x1b[0m\n`);
275
288
  }
276
289
  }
290
+
291
+ contextInjection = referenceContexts + targetModuleContext;
292
+ if (contextInjection) {
293
+ prompt = contextInjection + "\n\n[INSTRUCTION DU PILOTE]\n" + prompt;
294
+ }
277
295
  // --- END MEMORY MODIFICATION ---
278
296
 
279
297
  // 🟢 NEW: Real-time timestamp injection
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetbo-cockpit-cli",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "Fleetbo CLI - Build native mobile apps with React",
5
5
  "author": "Fleetbo",
6
6
  "license": "MIT",