@ingeniomaps/cauce 0.8.0 → 0.8.2

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
@@ -8,6 +8,20 @@ esa operación sea confiable en vez de sólo cómoda: acá se lee qué cambió a
8
8
  un cambio en el protocolo, en las reglas del sistema o en un guard es visible para el usuario y sube
9
9
  minor aunque no toque una sola línea de código.
10
10
 
11
+ ## [0.8.2] - 2026-08-15
12
+
13
+ ### Corregido
14
+
15
+ - **`integration list` mostraba encendido un proveedor que se habría negado a sincronizar.** Hay dos
16
+ interruptores y `sync` exige los dos: el del registro dice que el proveedor está conectado al
17
+ proyecto, el suyo propio que su configuración está terminada. La lista leía sólo el primero, así
18
+ que después de `enable` decía `● jira` y `sync` contestaba `jira está deshabilitado`. Ahora
19
+ distingue los tres estados y `enable` no promete más de lo que hizo.
20
+ - `integration enable` no falla si el andamiaje ya está. Habilitar no es inicializar: una instancia
21
+ que lo arrastra de una versión anterior —o que ya tiene snapshots— sólo quiere el interruptor, y
22
+ recibía un error pidiéndole un directorio vacío. Ahora repone lo que falte, conserva lo que haya y
23
+ enciende el registro.
24
+
11
25
  ## [0.8.0] - 2026-08-15
12
26
 
13
27
  ### Cambiado
package/engine/cli/ops.js CHANGED
@@ -679,8 +679,17 @@ async function integration(action, rootArg, provider, key) {
679
679
  const root = path.resolve(rootArg || '.')
680
680
  if (action === 'list') {
681
681
  const registry = JSON.parse(fs.readFileSync(path.join(root, 'integrations', 'config.json'), 'utf8'))
682
+ // Hay dos interruptores y `sync` exige los dos: el del registro dice que el proveedor está
683
+ // conectado al proyecto, el suyo propio que su configuración está terminada. Mostrar sólo el
684
+ // primero daba encendido a un proveedor que se habría negado a sincronizar.
682
685
  for (const [name, entry] of Object.entries(registry.providers || {})) {
683
- console.log(`${entry.enabled ? '●' : '○'} ${name} [${entry.adapter}]`)
686
+ let listo = false
687
+ try {
688
+ listo = JSON.parse(fs.readFileSync(path.join(root, 'integrations', name, 'config.json'), 'utf8')).enabled === true
689
+ } catch { /* sin materializar */ }
690
+ const estado = !entry.enabled ? '○' : (listo ? '●' : '◐')
691
+ const nota = estado === '◐' ? ` — falta completar integrations/${name}/config.json y poner enabled: true` : ''
692
+ console.log(`${estado} ${name} [${entry.adapter}]${nota}`)
684
693
  }
685
694
  return
686
695
  }
@@ -694,10 +703,14 @@ async function integration(action, rootArg, provider, key) {
694
703
  fail(`integrations/config.json ilegible: ${error.message}`)
695
704
  }
696
705
  if (!config.providers || !config.providers[provider]) fail(`${provider} no está en integrations/config.json.`)
697
- copyTemplate(source, path.join(root, 'integrations', provider), {}, process.argv.includes('--force'))
706
+ // Habilitar no es inicializar: repone lo que falte y conserva lo que ya esté. Una instancia que
707
+ // trae el andamiaje de una versión anterior —o que ya tiene snapshots— sólo quiere el interruptor.
708
+ copyTemplate(source, path.join(root, 'integrations', provider), {}, true)
698
709
  config.providers[provider].enabled = true
699
710
  F.atomicWriteJson(registry, config)
700
- console.log(`✓ ${provider}: habilitado. Completá integrations/${provider}/config.json antes de sincronizar.`)
711
+ console.log(`✓ ${provider}: conectado al proyecto y andamiaje en integrations/${provider}/.`)
712
+ console.log(` Falta lo tuyo: completá integrations/${provider}/config.json y poné enabled: true ahí.`)
713
+ console.log(` Hasta entonces "integration sync" se niega, que es lo correcto: no hay a dónde apuntar.`)
701
714
  return
702
715
  }
703
716
  if (action === 'check') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ingeniomaps/cauce",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Sistema portable de planificación y ejecución verificable para cualquier proyecto",
5
5
  "type": "commonjs",
6
6
  "bin": {