nexo-brain 7.12.6 → 7.12.8

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "7.12.6",
3
+ "version": "7.12.8",
4
4
  "mcpName": "io.github.wazionapps/nexo",
5
5
  "description": "NEXO Brain \u2014 Shared brain for AI agents. Persistent memory, semantic RAG, natural forgetting, metacognitive guard, trust scoring, 150+ MCP tools. Works with Claude Code, Codex, Claude Desktop & any MCP client. 100% local, free.",
6
6
  "homepage": "https://nexo-brain.com",
@@ -311,16 +311,40 @@ def cmd_identity(args) -> int:
311
311
  # ---------------------------------------------------------------- onboard
312
312
 
313
313
  def _onboard_steps() -> list[dict]:
314
+ # v7.12.7 — expanded the wizard to capture the most basic user
315
+ # context so the agent can be useful from day one (decided with
316
+ # Francisco 2026-05-03). No email here, no sensitive data; just
317
+ # how to address the user, where they live/work, what they do,
318
+ # and a couple of free-form interests. All non-mandatory fields
319
+ # stay optional so a user can power through with just name +
320
+ # language + assistant_name.
314
321
  return [
315
322
  {
316
323
  "id": "name",
317
- "prompt": {"es": "¿Cómo te llamas?", "en": "What's your name?"},
324
+ "prompt": {"es": "¿Cómo te llamamos?", "en": "What should we call you?"},
325
+ "hint": {
326
+ "es": "Tu nombre corto, el que usarás en el día a día.",
327
+ "en": "Your short name, the one we'll use day to day.",
328
+ },
318
329
  "type": "text",
319
330
  "writes": "user.name",
320
331
  "file": "calibration.json",
321
332
  "optional": False,
322
333
  "validate": r"^\S.{0,60}$",
323
334
  },
335
+ {
336
+ "id": "full_name",
337
+ "prompt": {"es": "¿Cuál es tu nombre completo?", "en": "What's your full name?"},
338
+ "hint": {
339
+ "es": "Por si necesito redactar emails, documentos o presentarte formalmente.",
340
+ "en": "In case I need to draft emails, documents, or introduce you formally.",
341
+ },
342
+ "type": "text",
343
+ "writes": "user.full_name",
344
+ "file": "calibration.json",
345
+ "optional": True,
346
+ "validate": r"^.{0,120}$",
347
+ },
324
348
  {
325
349
  "id": "language",
326
350
  "prompt": {"es": "¿En qué idioma quieres operar?", "en": "Which language should we use?"},
@@ -349,13 +373,44 @@ def _onboard_steps() -> list[dict]:
349
373
  },
350
374
  "reserved_values": list(RESERVED_ASSISTANT_NAME_VALUES),
351
375
  },
376
+ {
377
+ "id": "residence",
378
+ "prompt": {"es": "¿Dónde vives o trabajas habitualmente?", "en": "Where do you live or work most days?"},
379
+ "hint": {
380
+ "es": "Una ciudad o zona; me ayuda con horarios, clima, ofertas locales y mil cosas más.",
381
+ "en": "A city or area; helps me with schedules, weather, local options, and a thousand small things.",
382
+ },
383
+ "type": "text",
384
+ "writes": "profile.current_residence",
385
+ "file": "profile.json",
386
+ "optional": True,
387
+ "validate": r"^.{0,120}$",
388
+ },
352
389
  {
353
390
  "id": "role",
354
391
  "prompt": {"es": "¿A qué te dedicas?", "en": "What do you do?"},
392
+ "hint": {
393
+ "es": "Una frase corta vale: «médica de familia», «autónomo de hostelería», «estudiante de derecho».",
394
+ "en": "One short sentence works: \"family doctor\", \"freelance restaurateur\", \"law student\".",
395
+ },
355
396
  "type": "text",
356
397
  "writes": "meta.role",
357
398
  "file": "calibration.json",
358
399
  "optional": True,
400
+ "validate": r"^.{0,200}$",
401
+ },
402
+ {
403
+ "id": "timezone",
404
+ "prompt": {"es": "¿En qué zona horaria estás?", "en": "Which timezone are you in?"},
405
+ "hint": {
406
+ "es": "Por ejemplo, Europe/Madrid. Lo uso para clima, horarios y agenda.",
407
+ "en": "For example, Europe/Madrid. I use it for weather, schedules, and calendar.",
408
+ },
409
+ "type": "text",
410
+ "writes": "user.timezone",
411
+ "file": "calibration.json",
412
+ "optional": True,
413
+ "validate": r"^[A-Za-z_+\-/0-9 ]{0,80}$",
359
414
  },
360
415
  {
361
416
  "id": "technical_level",