@dypai-ai/mcp 1.5.6 → 1.5.7

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/package.json +1 -1
  2. package/src/index.js +98 -11
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dypai-ai/mcp",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "description": "DYPAI MCP Server — AI agent toolkit for building and deploying full-stack apps",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/index.js CHANGED
@@ -354,7 +354,7 @@ Notes:
354
354
  // ── Triggers (Schedules + Webhooks) ──────────────────────────────────────
355
355
  // These tools OBSERVE + CONTROL trigger runtime state. The DEFINITION lives
356
356
  // in the endpoint YAML (`trigger.schedule` / `trigger.webhook`) — to change
357
- // a cron expression or webhook path, edit the YAML and `dypai_push`.
357
+ // a cron expression or webhook path, edit the YAML and \`dypai_push\`.
358
358
  {
359
359
  name: "manage_schedules",
360
360
  description: `Observe + control cron schedules at runtime, by endpoint name.
@@ -563,35 +563,122 @@ A freshly created project has **zero** local files. The create response gives yo
563
563
  **Rule of thumb: if you can't \`Read\` it from disk, you can't touch it. Sync before you guess.**
564
564
 
565
565
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
566
- # TALKING TO THE USER — plain language, not tool names
566
+ # TALKING TO THE USER — proactive, plain language, no internal machinery
567
567
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
568
568
 
569
- The user is **not a developer watching your tool calls**. They read only your prose. Never narrate actions by their technical name translate every tool call into the real-world outcome.
569
+ Assume most DYPAI users are non-technical. Many are not developers, do not know what an endpoint is, and should not need to learn DYPAI's internal workflow. The user should be able to say what they want in normal language; your job is to translate that into technical work, testing, and a guided path to publication.
570
+
571
+ The user sees only TWO meaningful states:
572
+
573
+ 1. **Ready to test / listo para probar** — the change is available in their preview and does not affect real users.
574
+ 2. **Published / publicado** — the change is live for real users.
575
+
576
+ Everything else is internal agent machinery. Do not make the user learn about \`dypai_push\`, drafts, overlays, workflow YAML, MCP tools, merge/publish mechanics, or endpoint staging unless they explicitly ask how it works under the hood.
577
+
578
+ ## Be proactive with non-technical users
579
+
580
+ Do not wait for the user to know the next step. They often only know the outcome they want.
581
+
582
+ When the user asks for a feature, bugfix, or change:
583
+
584
+ 1. Understand the desired product behavior.
585
+ 2. Choose a sensible implementation path.
586
+ 3. Make the change end-to-end when possible.
587
+ 4. If backend behavior changed, automatically save it to preview.
588
+ 5. Test what you can yourself.
589
+ 6. Give the user exactly one clear next action.
590
+ 7. Publish to production only after explicit approval.
591
+
592
+ Never ask:
593
+
594
+ - "Should I run dypai_push?"
595
+ - "Should I push the endpoints?"
596
+ - "Should I stage this draft?"
597
+ - "Should I merge/publish the draft?"
598
+ - "Should I call manage_drafts?"
599
+
600
+ Say instead:
601
+
602
+ - "Ya lo he dejado listo para que lo pruebes."
603
+ - "Pruébalo en la previsualización."
604
+ - "Todavía no afecta a tus usuarios reales."
605
+ - "Cuando me digas que está bien, lo publico."
606
+ - "¿Quieres que lo publique ya para tus usuarios?"
607
+
608
+ ## Internal workflow you MUST follow
609
+
610
+ After changing backend behavior, ALWAYS make the change available in preview before telling the user to test it.
611
+
612
+ Internally this means:
613
+
614
+ 1. edit backend files
615
+ 2. validate local backend changes
616
+ 3. save them to the preview environment
617
+ 4. test the preview version when practical
618
+ 5. then tell the user it is ready to try
619
+
620
+ Never ask the user whether to run the internal save-to-preview step. It is safe, reversible, and required for the user to test the actual change.
621
+
622
+ Publishing to production is different: it changes what real users see and ALWAYS needs explicit user approval.
623
+
624
+ ## If the user asks "how do I see it?"
625
+
626
+ If the user asks "how do I see it?", "where do I test it?", "what now?", "pero como veo esto", or similar, do not explain backend states. Give the shortest practical next action in human terms.
627
+
628
+ Good:
629
+
630
+ - "Abre la previsualización y prueba crear un pedido."
631
+ - "Ve al panel de administración y edita un producto."
632
+ - "Prueba iniciar sesión con este usuario."
633
+ - "Pulsa 'Crear producto'. Deberías ver el nuevo producto en la lista sin recargar."
634
+ - "Dime si lo ves bien y lo publico."
635
+
636
+ Bad:
637
+
638
+ - "Está en el draft overlay."
639
+ - "He hecho dypai_push."
640
+ - "Falta manage_drafts publish."
641
+ - "El endpoint está staged."
570
642
 
571
643
  ## Translation rule of thumb
572
644
 
573
- Replace the VERB with what the user perceives:
645
+ Replace tool-speak with the outcome the user perceives:
574
646
 
575
647
  | Instead of (tool-speak) | Say (human) |
576
648
  |---|---|
577
- | "Voy a hacer dypai_push / I'll call dypai_push" | "Voy a subir los cambios al borrador para que los pruebes" |
578
- | "Voy a ejecutar manage_drafts(publish)" | "Voy a publicar los cambios en producción" |
649
+ | "Voy a hacer dypai_push / I'll call dypai_push" | "Voy a dejar los cambios listos para que los pruebes" |
650
+ | "He hecho dypai_push" | "Ya lo he dejado listo para probar" |
651
+ | "Voy a ejecutar manage_drafts(publish)" | "Voy a publicarlo para tus usuarios" |
652
+ | "He mergeado el draft" | "He publicado los cambios" |
579
653
  | "Ejecutando dypai_pull" | "Un momento, sincronizo tu proyecto" |
580
654
  | "Calling manage_frontend(deploy)" | "Voy a desplegar la nueva versión de tu web" |
581
655
  | "Running execute_sql to add a column" | "Voy a añadir un campo nuevo a la tabla X" |
582
656
  | "manage_database(operation:'apply_migration')" | "Voy a aplicar los cambios de estructura a la base de datos" |
583
657
  | "search_logs returned a 500" | "He mirado los registros: el error viene de..." |
584
658
  | "manage_drafts(list) shows 3 pending" | "Tienes 3 cambios pendientes de publicar" |
585
- | "On the draft overlay" / "en la overlay de draft" | "En tu entorno de previsualización" o "en el borrador" |
659
+ | "On the draft overlay" / "en la overlay de draft" | "En tu entorno de previsualización" |
586
660
  | "dypai_validate rejected the workflow" | "Hay un problema con la configuración:" |
587
661
 
588
662
  ## Principles
589
663
 
590
- 1. **State outcomes, not function calls.** The user cares about *"guardado"*, *"publicado"*, *"desplegado"*, *"probado"* — not *"pushed"*, *"dispatched"*, *"invalidated"*.
591
- 2. **Draft vs liveborrador vs producción / previsualización vs en vivo.** Never say "overlay", "engine", "endpoint hit" in user-facing prose.
664
+ 1. **State outcomes, not function calls.** The user cares about *"listo para probar"*, *"publicado"*, *"desplegado"*, *"probado"* — not *"pushed"*, *"staged"*, *"invalidated"*, or *"merged"*.
665
+ 2. **Preview vs productionprevisualización vs producción.** Prefer *"listo para probar"* and *"publicado"*. Avoid *"draft"*, *"borrador"*, *"mergear draft"*, *"overlay"*, *"engine"*, and *"endpoint hit"* in user-facing prose unless the user used those words first.
592
666
  3. **Errors: summarize, don't paste.** *"Falló porque estás comparando tipos distintos en la SQL"* beats pasting a Postgres stack.
593
- 4. **Confirmations use real-world verbs.** *"¿Lo publico a producción?"* not *"¿Ejecuto manage_drafts(publish, confirm:true)?"*.
594
- 5. **Progress updates in sentences, not tool names.** *"Primero guardo los cambios, luego te los muestro para que los pruebes, y si te cuadra los publicamos"* beats a 3-bullet list of tool calls.
667
+ 4. **Confirmations use real-world verbs.** *"¿Lo publico para tus usuarios?"* not *"¿Ejecuto manage_drafts(publish, confirm:true)?"*.
668
+ 5. **Progress updates in sentences, not tool names.** *"Estoy haciendo el cambio; cuando esté listo te digo exactamente dónde probarlo"* beats a bullet list of tool calls.
669
+ 6. **End every completed change with one practical next step.** Examples: *"Pruébalo en la previsualización"*, *"Dime si quieres que lo publique"*, *"Prueba hacer una compra con tarjeta de test"*.
670
+
671
+ ## Preferred user-facing phrases
672
+
673
+ Use phrases like:
674
+
675
+ - "Estoy haciendo el cambio."
676
+ - "Ya lo he dejado listo para que lo pruebes."
677
+ - "Abre la previsualización y prueba este flujo concreto: ..."
678
+ - "Todavía no afecta a tus usuarios reales."
679
+ - "Cuando me confirmes que está bien, lo publico."
680
+ - "He revisado el error en los registros y viene de..."
681
+ - "He actualizado la base de datos para añadir el nuevo campo."
595
682
 
596
683
  ## When you CAN mention a tool name
597
684