Skip to content

Releases: tmogeid/opencode-session-state

v2.0.0

Choose a tag to compare

@tmogeid tmogeid released this 22 Oct 14:57
  • feat: nuevo entrypoint v2 (index.js) adaptado a la API v2 de plugins (@opencode-ai/plugin/v2/promise).
  • feat: mapa exports declarado con la condicion types primera para que TypeScript resuelva dist/index.d.ts con resolucion node16/nodenext, y main sin el prefijo ./ para que npm incluya automaticamente el entrypoint.
  • feat: registro de hooks v2 (chat.message, event, experimental.chat.messages.transform, experimental.session.compacting).
  • feat: identificadores de episodio deterministas calculados a partir del estado persistido en lugar de un contador global en memoria de proceso.
  • feat: herramienta session_state con 4 acciones operativas (ver, resumen, episodios, limpiar).
  • feat: persistencia de estado estrictamente local al proyecto en <projectRoot>/.session-state/<sessionId>.json sin dependencias externas ni servicios remotos.
  • docs: documentacion tecnica actualizada y ampliada para la arquitectura OpenCode v2.
  • chore: integracion del texto formal de la licencia GNU GPL-3.0 canonica.

v1.1.1 - Fix fileMatch runtime error

Choose a tag to compare

@tmogeid tmogeid released this 20 Jul 15:48

Bug Fix

Fixes undefined is not object (evaluating fileMatch[1].replace) runtime error in chat.message hook.

Root Cause

When .match() is used with a regex that has the global flag g, JavaScript returns an array of complete matches without capture groups. This caused fileMatch[1] to be undefined.

Fix

Changed to matchAll() which correctly returns capture groups, consistent with session-manager.ts.

Files Changed

  • src/episode-detector.ts lines 99-120: .match() to matchAll() + for...of loop