pi-blackhole 0.4.3 → 0.4.5

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.
Files changed (45) hide show
  1. package/README.md +2 -0
  2. package/dist/index.js +3144 -1414
  3. package/dist/index.js.map +1 -1
  4. package/example-config.json +6 -1
  5. package/index.ts +7 -2
  6. package/package.json +6 -6
  7. package/src/core/config-env.ts +46 -0
  8. package/src/core/provider-skip.ts +64 -0
  9. package/src/core/unified-config.ts +43 -6
  10. package/src/hooks/before-compact.ts +17 -0
  11. package/src/om/agents/dropper/agent.ts +9 -2
  12. package/src/om/agents/observer/agent.ts +9 -2
  13. package/src/om/agents/reflector/agent.ts +9 -2
  14. package/src/om/compaction-trigger.ts +63 -59
  15. package/src/om/configure-overlay.ts +1 -1
  16. package/src/om/consolidation.ts +10 -0
  17. package/src/om/inline-compaction.ts +697 -0
  18. package/src/om/provider-stream.ts +82 -0
  19. package/src/om/runtime.ts +75 -3
  20. package/src/pi-base/blackhole-settings.ts +38 -36
  21. package/src/pi-base/config-manager.ts +916 -99
  22. package/src/pi-base/config.ts +111 -0
  23. package/src/pi-base/core/config-env.ts +79 -0
  24. package/src/pi-base/session.ts +88 -0
  25. package/src/pi-base/settings/body.ts +462 -1295
  26. package/src/pi-base/settings/config-flow.ts +667 -0
  27. package/src/pi-base/settings/confirm.ts +99 -0
  28. package/src/pi-base/settings/fields/action.ts +1 -1
  29. package/src/pi-base/settings/fields/custom.ts +2 -2
  30. package/src/pi-base/settings/fields/enum.ts +9 -9
  31. package/src/pi-base/settings/fields/index.ts +8 -1
  32. package/src/pi-base/settings/fields/model.ts +2 -2
  33. package/src/pi-base/settings/fields/readonly.ts +38 -0
  34. package/src/pi-base/settings/fields/string.ts +4 -4
  35. package/src/pi-base/settings/frame.ts +18 -1
  36. package/src/pi-base/settings/helpers.ts +21 -0
  37. package/src/pi-base/settings/index.ts +14 -5
  38. package/src/pi-base/settings/inline-edit.ts +12 -8
  39. package/src/pi-base/settings/modal.ts +5 -49
  40. package/src/pi-base/settings/navigation.ts +69 -0
  41. package/src/pi-base/settings/render.ts +414 -0
  42. package/src/pi-base/settings/scope-selector.ts +166 -0
  43. package/src/pi-base/settings/types.ts +89 -40
  44. package/src/pi-base/settings/values.ts +98 -0
  45. package/vitest.config.ts +1 -1
package/README.md CHANGED
@@ -278,6 +278,7 @@ Everything else has sensible defaults.
278
278
  | `compaction` | `"auto"` | When compaction triggers: `"auto"` (blackhole auto-fires), `"manual"` (only `/blackhole`), `"off"` (Pi handles auto + `/compact`, `/blackhole` still works) |
279
279
  | `compactionEngine` | `"blackhole"` | Which engine handles auto-compaction: `"blackhole"` or `"pi-default"`. Only meaningful when `compaction: "auto"` — for `"manual"`/`"off"` the hook lets Pi handle everything except `/blackhole` |
280
280
  | `tailBehavior` | `"minimal"` | How much stays visible after compaction: `"minimal"` (last user message only, default) or `"pi-default"` (gentle, ~20k tokens). Both `/blackhole` and auto-triggered default to `"minimal"`; set explicitly to opt into gentler cut |
281
+ | `midRunCompaction` | `"off"` | `"resume"` *(experimental)* opts into transparent compaction during long tool loops without replacing the active run; `"pause"` interrupts, compacts, and stops; `"off"` only checks when the run ends. Transparent mode fails closed on unsupported Pi internals. |
281
282
  | `memory` | `true` | `false` = OM workers off + no memory injection (compaction still runs) |
282
283
  | `model` | — | Base fallback model for all workers (last resort before session model) |
283
284
  | `observerModel` / `observerFallbackModels` | — / `[]` | Primary + fallback models for observer (extracts facts) |
@@ -298,6 +299,7 @@ Everything else has sensible defaults.
298
299
  | `dropperInputMaxTokens` | `80000` | Max dropper input budget |
299
300
  | `dropperPressureThreshold` | `0.70` | Fraction of `reflectorInputMaxTokens` at which dropper runs even without new data (pressure relief valve) |
300
301
  | `agentMaxTurns` | `16` | Max agent-loop turns per worker per run |
302
+ | `providerIdleTimeoutMs` | unset | Body-idle timeout for background provider streams (ms); `0` = disabled, unset = inherit pi's default |
301
303
  | `debug` | `false` | Pre-compaction snapshot to `/tmp/pi-blackhole-debug.json` |
302
304
  | `debugLog` | `false` | Continuous JSONL debug log to `~/.pi/agent/pi-blackhole/debug.ndjson` |
303
305