Memory 019e7ecf

Memory ID (Session ID): 019e7ecf-af4f-7000-a99c-d4fe73fbc562
Last Updated: 2026-05-31 18:45:26

Fact Summary

OMP Extension Loading Mechanism

  • OMP is a compiled ELF binary, not JS
  • OMP config at ~/.omp/agent/config.yml has extensions: array pointing to extension directories
  • OMP’s legacy extension loader mirrors extension files to /tmp/omp-legacy-pi-file/entry-<hash>/ at startup
  • It resolves dependencies from the temp directory, which breaks CommonJS require() chains
  • ES-module-only mirroring does NOT rewrite relative require() statements for CJS deps

pi-langfuse Extension Fix

  • Location: /home/dev/.omp/plugins/node_modules/pi-langfuse/
  • Dependencies: @opentelemetry/sdk-trace-base, @Langfuse/*, @earendil-works/pi-coding-agent
  • Solution: Bundle with bun build ./index.ts --outdir ./dist --target node --external @earendil-works/pi-coding-agent
  • @earendil-works/pi-coding-agent MUST be external (provided by OMP runtime)
  • package.json main entry must point to dist/index.js
  • state.isTracingDisabled must be reset to false at top of startAgentRun() to prevent permanent silencing from transient init errors

Langfuse API Access

  • Server: http://95.111.224.175:19030
  • Public key: [REDACTED]
  • Secret key: [REDACTED]
  • Traces endpoint: /api/public/traces?limit=5&orderBy=timestamp.desc
  • Auth: Basic auth with pk:sk

Debugging OMP Extensions

  • Debug breadcrumb technique: write to /tmp/pi-langfuse-debug.log from extension init to verify if init is called
  • If debug log doesn’t exist, extension init was never successfully called
  • OMP logs at ~/.omp/logs/omp.YYYY-MM-DD.log
  • Check OMP process: ps aux | grep omp

Reference Session