mandioca-tabs-mcp 0.2.0 → 0.2.1

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 (3) hide show
  1. package/README.md +2 -2
  2. package/index.mjs +25 -7
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  Deja que tu asistente de IA lea y escriba la obra que tienes abierta en
4
4
  [Mandioca Tabs](https://tabs.mandioca-records.com).
5
5
 
6
- La guía de instalación para cada IA está dentro de Tabs: botón **Instalar conector**, en la barra
6
+ La guía de instalación para cada IA está dentro de Tabs: botón **Conectar IA**, en la barra
7
7
  de abajo. En cualquier programa que acepte servidores MCP locales, el comando es:
8
8
 
9
9
  ```
10
10
  npx -y mandioca-tabs-mcp
11
11
  ```
12
12
 
13
- Después abre tu obra en Tabs y aprieta **Conectar con IA**. La conexión es parte del plan Cowork.
13
+ Después abre tu obra en Tabs y aprieta **Conectar IA**. La conexión es parte del plan Cowork.
package/index.mjs CHANGED
@@ -96396,6 +96396,15 @@ var init_sync = __esm({
96396
96396
  }
96397
96397
  });
96398
96398
 
96399
+ // apps/mcp/src/version.ts
96400
+ var VERSION_DEL_CONECTOR;
96401
+ var init_version = __esm({
96402
+ "apps/mcp/src/version.ts"() {
96403
+ "use strict";
96404
+ VERSION_DEL_CONECTOR = true ? "0.2.1" : null;
96405
+ }
96406
+ });
96407
+
96399
96408
  // apps/mcp/src/puente.ts
96400
96409
  var puente_exports = {};
96401
96410
  __export(puente_exports, {
@@ -96488,7 +96497,7 @@ function exigirPesta\u00F1a() {
96488
96497
  const p = puenteAbierto();
96489
96498
  if (p.pesta\u00F1as() === 0) {
96490
96499
  throw new ProblemaConLaObra(
96491
- `El puente est\xE1 abierto en el puerto ${p.puerto} pero no hay ninguna pesta\xF1a de Mandioca Tabs conectada. Abre el programa en el navegador y aprieta \xABConectar con IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABIA desconectada\xBB). Esto no se puede hacer sin la aplicaci\xF3n abierta: sonar, ver, seleccionar y sacar una captura s\xF3lo existen en el navegador.`
96500
+ `El puente est\xE1 abierto en el puerto ${p.puerto} pero no hay ninguna pesta\xF1a de Mandioca Tabs conectada. Abre el programa en el navegador y aprieta \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB). Esto no se puede hacer sin la aplicaci\xF3n abierta: sonar, ver, seleccionar y sacar una captura s\xF3lo existen en el navegador.`
96492
96501
  );
96493
96502
  }
96494
96503
  return p;
@@ -96577,6 +96586,11 @@ function atenderElMostrador(pedido, respuesta) {
96577
96586
  respuesta.writeHead(204).end();
96578
96587
  return;
96579
96588
  }
96589
+ if (ruta === "/version") {
96590
+ respuesta.writeHead(200, { "Content-Type": "application/json" });
96591
+ respuesta.end(JSON.stringify({ version: VERSION_DEL_CONECTOR }));
96592
+ return;
96593
+ }
96580
96594
  if (ruta.startsWith("/subir/")) {
96581
96595
  recibirEnElCasillero(ruta.slice("/subir/".length), pedido, respuesta);
96582
96596
  return;
@@ -96824,7 +96838,7 @@ async function canalDePedidos(p, herramienta) {
96824
96838
  id2 = conectadas[0].id;
96825
96839
  } else {
96826
96840
  throw new ProblemaConLaObra(
96827
- `\xAB${herramienta}\xBB s\xF3lo puede hacerlo la aplicaci\xF3n, y no se sabe cu\xE1l. ` + (conectadas.length === 0 ? "No hay ninguna pesta\xF1a conectada: p\xEDdele al m\xFAsico que abra Mandioca Tabs y apriete \xABConectar con IA\xBB, el bot\xF3n de la barra de estado." : `Hay ${conectadas.length} obras conectadas: ${lista2}. Elige una con \`elegir_obra\`, por su letra, y rep\xEDtelo \u2014 adivinar entre varias har\xEDa que suene, o se cargue, la canci\xF3n equivocada.`)
96841
+ `\xAB${herramienta}\xBB s\xF3lo puede hacerlo la aplicaci\xF3n, y no se sabe cu\xE1l. ` + (conectadas.length === 0 ? "No hay ninguna pesta\xF1a conectada: p\xEDdele al m\xFAsico que abra Mandioca Tabs y apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado." : `Hay ${conectadas.length} obras conectadas: ${lista2}. Elige una con \`elegir_obra\`, por su letra, y rep\xEDtelo \u2014 adivinar entre varias har\xEDa que suene, o se cargue, la canci\xF3n equivocada.`)
96828
96842
  );
96829
96843
  }
96830
96844
  }
@@ -96917,6 +96931,7 @@ var init_puente = __esm({
96917
96931
  init_src2();
96918
96932
  init_src3();
96919
96933
  init_obra();
96934
+ init_version();
96920
96935
  envoltoriosPorDoc = /* @__PURE__ */ new WeakMap();
96921
96936
  SINCRONIZAR = 0;
96922
96937
  PRESENCIA = 1;
@@ -96966,7 +96981,7 @@ function laPesta\u00F1aSigueViva() {
96966
96981
  function obraAbierta() {
96967
96982
  if (abierta && !laPesta\u00F1aSigueViva()) {
96968
96983
  throw new ProblemaConLaObra(
96969
- "La pesta\xF1a de Mandioca Tabs se desconect\xF3. Lo \xFAltimo que se sincroniz\xF3 sigue en memoria, pero **ya no es lo que el m\xFAsico tiene en pantalla** y escribir ah\xED no lo ver\xEDa nadie. P\xEDdele que vuelva a abrir el programa y apriete \xABConectar con IA\xBB, el bot\xF3n de la barra de estado."
96984
+ "La pesta\xF1a de Mandioca Tabs se desconect\xF3. Lo \xFAltimo que se sincroniz\xF3 sigue en memoria, pero **ya no es lo que el m\xFAsico tiene en pantalla** y escribir ah\xED no lo ver\xEDa nadie. P\xEDdele que vuelva a abrir el programa y apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado."
96970
96985
  );
96971
96986
  }
96972
96987
  if (!abierta) {
@@ -122340,6 +122355,9 @@ function registrarHerramientasDelDocumento(servidor2) {
122340
122355
  );
122341
122356
  }
122342
122357
 
122358
+ // apps/mcp/src/servidor.ts
122359
+ init_version();
122360
+
122343
122361
  // apps/mcp/src/herramientas/puente.ts
122344
122362
  init_src2();
122345
122363
  init_src3();
@@ -122371,7 +122389,7 @@ function registrarHerramientasDelPuente(servidor2) {
122371
122389
  "conectar_con_la_app",
122372
122390
  {
122373
122391
  title: "Conectar con la aplicaci\xF3n abierta",
122374
- description: "Se engancha a la obra que el m\xFAsico tiene abierta en el navegador, en vez de a un archivo del disco. A partir de ac\xE1, lo que se escriba aparece en su pantalla y lo que \xE9l escriba se ve desde ac\xE1. Requiere que \xE9l apriete \xABConectar con IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABIA desconectada\xBB).",
122392
+ description: "Se engancha a la obra que el m\xFAsico tiene abierta en el navegador, en vez de a un archivo del disco. A partir de ac\xE1, lo que se escriba aparece en su pantalla y lo que \xE9l escriba se ve desde ac\xE1. Requiere que \xE9l apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB).",
122375
122393
  inputSchema: {
122376
122394
  puerto: external_exports.number().int().min(1024).max(65535).optional().describe(`El puerto del puente. Por omisi\xF3n ${PUERTO_POR_OMISION}.`)
122377
122395
  }
@@ -122390,7 +122408,7 @@ function registrarHerramientasDelPuente(servidor2) {
122390
122408
  pesta\u00F1asConectadas: p.pesta\u00F1as(),
122391
122409
  // ⚠️ Se dice lo que falta, sin adornarlo. Si no hay pestaña, el asistente tiene que
122392
122410
  // saberlo ANTES de prometerle algo al músico — no descubrirlo al primer fallo.
122393
- siguiente: conectadas.length > 1 ? `Hay ${conectadas.length} obras abiertas. Mira \`obras_conectadas\` y elige una con \`elegir_obra\`, por su letra, antes de escribir nada.` : p.pesta\u00F1as() > 0 ? "Ya hay una pesta\xF1a conectada: la obra que se lee y se escribe es la suya." : "Todav\xEDa no hay ninguna pesta\xF1a. P\xEDdele que abra Mandioca Tabs y active P\xEDdele que apriete \xABConectar con IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABIA desconectada\xBB)."
122411
+ siguiente: conectadas.length > 1 ? `Hay ${conectadas.length} obras abiertas. Mira \`obras_conectadas\` y elige una con \`elegir_obra\`, por su letra, antes de escribir nada.` : p.pesta\u00F1as() > 0 ? "Ya hay una pesta\xF1a conectada: la obra que se lee y se escribe es la suya." : "Todav\xEDa no hay ninguna pesta\xF1a. P\xEDdele que abra Mandioca Tabs y active P\xEDdele que apriete \xABConectar IA\xBB, el bot\xF3n de la barra de estado (abajo del todo, dice \xABConectar IA\xBB)."
122394
122412
  });
122395
122413
  }
122396
122414
  );
@@ -122414,7 +122432,7 @@ function registrarHerramientasDelPuente(servidor2) {
122414
122432
  ...o.id === idDeLaActiva ? { activa: true } : {}
122415
122433
  })),
122416
122434
  activa: activa ? comoSeLlama(activa) : null,
122417
- siguiente: conectadas.length === 0 ? "No hay ninguna. P\xEDdele que abra Mandioca Tabs y apriete \xABConectar con IA\xBB." : activa === null ? "Hay varias y ninguna elegida: `elegir_obra` con su letra antes de escribir." : conectadas.length > 1 ? `Se escribe en la ${activa.etiqueta} (\xAB${activa.titulo}\xBB). Para otra, \`elegir_obra\` con su letra.` : "Hay una sola y est\xE1 viva: es la activa."
122435
+ siguiente: conectadas.length === 0 ? "No hay ninguna. P\xEDdele que abra Mandioca Tabs y apriete \xABConectar IA\xBB." : activa === null ? "Hay varias y ninguna elegida: `elegir_obra` con su letra antes de escribir." : conectadas.length > 1 ? `Se escribe en la ${activa.etiqueta} (\xAB${activa.titulo}\xBB). Para otra, \`elegir_obra\` con su letra.` : "Hay una sola y est\xE1 viva: es la activa."
122418
122436
  });
122419
122437
  }
122420
122438
  );
@@ -125482,7 +125500,7 @@ function registrarHerramientasDeArchivo(servidor2) {
125482
125500
 
125483
125501
  // apps/mcp/src/servidor.ts
125484
125502
  var NOMBRE = "mandioca-tabs";
125485
- var VERSION = "0.0.0";
125503
+ var VERSION = VERSION_DEL_CONECTOR ?? "0.0.0";
125486
125504
  var INSTRUCCIONES = `
125487
125505
  Mandioca Tabs es un editor de partitura y tablatura. Estas herramientas leen y escriben la
125488
125506
  obra del m\xFAsico.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mandioca-tabs-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Conector MCP de Mandioca Tabs: tu IA lee y escribe la partitura que tienes abierta en tabs.mandioca-records.com.",
5
5
  "type": "module",
6
6
  "bin": {