@danieltmn/tamnora 0.3.0 → 0.3.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ Todos los cambios relevantes de este proyecto se documentan en este archivo.
5
5
  El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/)
6
6
  y el proyecto usa [Versionado Semantico](https://semver.org/lang/es/).
7
7
 
8
+ ## [0.3.1] - 2026-10-02
9
+
10
+ ### Agregado
11
+
12
+ - Consola (ajustes): campo `env` (lineas `KEY=valor`) en el modal de MCP, para
13
+ cargar las variables de los servidores importados del registro.
14
+
15
+ ### Pendiente
16
+
17
+ - Confirmar el proveedor Xiaomi (`mimo-v2.6-flash`): respondio `429 Too Many
18
+ Requests` (cuota/rate limit del endpoint), no del harness.
19
+ - Telegram: audio y voz (transcribir notas de voz y responder con audio).
20
+ - Plugins: cargador de plugins locales (fase 2 del apartado ajustes).
21
+
8
22
  ## [0.3.0] - 2026-10-02
9
23
 
10
24
  ### Agregado
@@ -23,13 +37,6 @@ y el proyecto usa [Versionado Semantico](https://semver.org/lang/es/).
23
37
  - Consola (ajustes): barras para importar skills y MCP, con estado y aviso de
24
38
  variables de entorno requeridas.
25
39
 
26
- ### Pendiente
27
-
28
- - Confirmar el proveedor Xiaomi (`mimo-v2.6-flash`): respondio `429 Too Many
29
- Requests` (cuota/rate limit del endpoint), no del harness.
30
- - Telegram: audio y voz (transcribir notas de voz y responder con audio).
31
- - Plugins: cargador de plugins locales (fase 2 del apartado ajustes).
32
-
33
40
  ## [0.2.0] - 2026-10-02
34
41
 
35
42
  ### Agregado
@@ -1981,6 +1981,9 @@ function openMcpForm(server = null) {
1981
1981
  $('#mf-command').value = server?.command ?? '';
1982
1982
  $('#mf-args').value = (server?.args ?? []).join(' ');
1983
1983
  $('#mf-url').value = server?.url ?? '';
1984
+ $('#mf-env').value = Object.entries(server?.env ?? {})
1985
+ .map(([key, value]) => `${key}=${value ?? ''}`)
1986
+ .join('\n');
1984
1987
  $('#mf-enabled').checked = server ? server.enabled !== false : true;
1985
1988
  syncMcpFormFields();
1986
1989
  setStatus('#mf-status', '');
@@ -2001,6 +2004,7 @@ async function toggleMcp(server) {
2001
2004
  command: server.command,
2002
2005
  args: server.args,
2003
2006
  url: server.url,
2007
+ env: server.env,
2004
2008
  enabled: !server.enabled,
2005
2009
  },
2006
2010
  }).catch((error) => notify(`No se pudo actualizar MCP: ${error.message}`, 'notice err'));
@@ -2016,6 +2020,18 @@ async function removeMcp(id) {
2016
2020
  refreshMcp();
2017
2021
  }
2018
2022
 
2023
+ function parseEnv(text) {
2024
+ const out = {};
2025
+ for (const line of String(text ?? '').split('\n')) {
2026
+ const trimmed = line.trim();
2027
+ if (!trimmed || trimmed.startsWith('#')) continue;
2028
+ const eq = trimmed.indexOf('=');
2029
+ if (eq === -1) continue;
2030
+ out[trimmed.slice(0, eq).trim()] = trimmed.slice(eq + 1);
2031
+ }
2032
+ return out;
2033
+ }
2034
+
2019
2035
  async function submitMcp(event) {
2020
2036
  event.preventDefault();
2021
2037
  const id = $('#mf-id').value.trim();
@@ -2026,6 +2042,7 @@ async function submitMcp(event) {
2026
2042
  command: $('#mf-command').value.trim(),
2027
2043
  args: $('#mf-args').value.trim(),
2028
2044
  url: $('#mf-url').value.trim(),
2045
+ env: parseEnv($('#mf-env').value),
2029
2046
  enabled: $('#mf-enabled').checked,
2030
2047
  };
2031
2048
  try {
@@ -441,6 +441,9 @@
441
441
  <div class="row">
442
442
  <label class="field grow" id="mf-args-field"><span>args (separados por espacio)</span><input id="mf-args" spellcheck="false" placeholder="harness/scripts/mcp-echo-server.mjs" /></label>
443
443
  </div>
444
+ <label class="field"><span>env (KEY=valor por línea)</span>
445
+ <textarea id="mf-env" rows="3" spellcheck="false" placeholder="API_KEY=..."></textarea>
446
+ </label>
444
447
  <label class="check"><input id="mf-enabled" type="checkbox" checked /> habilitado</label>
445
448
  <div class="row between settings-actions">
446
449
  <button type="button" id="mf-cancel" class="btn">cancelar</button>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danieltmn/tamnora",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Harness local para IAs: agente CLI-first con TUI, consola web y evaluacion. Node puro, sin dependencias.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.25.0",