Repository navigation
Releases: tmogeid/opencode-session-state
Releases · tmogeid/opencode-session-state
Release list
v2.0.0
- feat: nuevo entrypoint v2 (
index.js) adaptado a la API v2 de plugins (@opencode-ai/plugin/v2/promise). - feat: mapa
exportsdeclarado con la condiciontypesprimera para que TypeScript resuelvadist/index.d.tscon resolucion node16/nodenext, ymainsin 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_statecon 4 acciones operativas (ver,resumen,episodios,limpiar). - feat: persistencia de estado estrictamente local al proyecto en
<projectRoot>/.session-state/<sessionId>.jsonsin 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
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