Repository navigation
v0.1.13
Extension contract versions are unchanged: world 5, provider 5, bot 6.
Breaking
Core.cognitionInFlight()andCore.mainSessionSpec()are removed; they had no callers. A Persona reads
ctx.running, andCore.activeSpec()returns the main session's spec (#217).SessionTrackerno longer swallows exceptions thrown by its observers.chargesthat a World passes to
reportUsageand that cannot be copied now throw back to the World (#217).
Core
- The instance lock records the executable path. When the PID in an existing lock is alive but now belongs to a
different executable (taskliston Windows,/proc/<pid>/exeon Linux,ps -o comm=on macOS), the lock is
treated as stale and taken over, so a PID reused after a force-kill no longer blocks every later start. Locks
written by older versions skip this check. A refused start throwsInstanceLockedErrorwith the PID and the
lock file (#220). - Writes rely on the startup instance lock alone: the event store no longer compares file sizes before each
append, and the lock is no longer rechecked every 60 seconds. Stores no longer create their directory before
each write; the data and run directories are created once at startup.usage-logstill recreates its
directory for queued writes (#217).
Extensions
- When the registry answers a
keywords:search with an empty list (npmmirror does), the market searches the
keyword as plain text and keeps only packages tagged with it./api/extensions/searchreturns the registry it
used, and the empty-market text names it and says to setregistry=in.npmrcat the installation location
and restart (#221).
Development
- TypeScript
noUnusedLocalsis on; unused imports, variables and private fields failtypecheck. 252 existing
ones are removed, with no change to the modules loaded at runtime (#218).