greprag 5.74.3 → 5.74.4
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.
- package/dist/archive/glyph-font.js +0 -1
- package/dist/archive/page-renderer.js +0 -1
- package/dist/archive/png-codec.js +0 -1
- package/dist/archive/transcript-extract.js +0 -1
- package/dist/assistant-doctrine.js +0 -1
- package/dist/capture-manifest.js +0 -1
- package/dist/ccr-store.js +0 -1
- package/dist/claude-lifecycle-cutover.js +0 -1
- package/dist/codex-chip-hooks.js +0 -1
- package/dist/codex-delegation-dedupe.js +0 -1
- package/dist/codex-fast-hook.js +0 -1
- package/dist/codex-hook-events.js +0 -1
- package/dist/codex-notify-hook.js +0 -1
- package/dist/codex-prompt-cache.js +0 -1
- package/dist/codex-steering.js +0 -1
- package/dist/codex-store-background.js +0 -1
- package/dist/commands/agent-doctrine-file.js +0 -1
- package/dist/commands/agents.js +0 -1
- package/dist/commands/archive.js +0 -1
- package/dist/commands/arm-reminder.js +0 -1
- package/dist/commands/assistant-reminder.js +0 -1
- package/dist/commands/assistant.js +0 -1
- package/dist/commands/checkpoint-helpers.js +0 -1
- package/dist/commands/checkpoint.js +0 -1
- package/dist/commands/claude-md-patch.js +0 -1
- package/dist/commands/codex-app-server-client.js +0 -1
- package/dist/commands/codex-app-server.js +0 -1
- package/dist/commands/codex-chip/bootstrap.js +0 -1
- package/dist/commands/codex-chip/breakthrough-ack-command.js +0 -1
- package/dist/commands/codex-chip/breakthrough-command.js +0 -1
- package/dist/commands/codex-chip/breakthrough.js +0 -1
- package/dist/commands/codex-chip/cleanup-command.js +0 -1
- package/dist/commands/codex-chip/command.js +0 -1
- package/dist/commands/codex-chip/git.js +0 -1
- package/dist/commands/codex-chip/goal-command.js +0 -1
- package/dist/commands/codex-chip/goals.js +0 -1
- package/dist/commands/codex-chip/help.js +0 -1
- package/dist/commands/codex-chip/inbox.js +0 -1
- package/dist/commands/codex-chip/lifecycle.js +0 -1
- package/dist/commands/codex-chip/mechanic-lifecycle.js +0 -1
- package/dist/commands/codex-chip/model.js +0 -1
- package/dist/commands/codex-chip/naming.js +0 -1
- package/dist/commands/codex-chip/native.js +0 -1
- package/dist/commands/codex-chip/prompt.js +0 -1
- package/dist/commands/codex-chip/resume-command.js +0 -1
- package/dist/commands/codex-chip/selection.js +0 -1
- package/dist/commands/codex-chip/store.js +0 -1
- package/dist/commands/codex-chip/worker.js +0 -1
- package/dist/commands/codex-delivery.js +0 -1
- package/dist/commands/codex-doctor.js +0 -1
- package/dist/commands/codex-model-policy.js +0 -1
- package/dist/commands/codex-startup.js +0 -1
- package/dist/commands/codex-supervisor.js +0 -1
- package/dist/commands/codex-wake-test.js +0 -1
- package/dist/commands/codex-watch-health.js +0 -1
- package/dist/commands/codex.js +0 -1
- package/dist/commands/collision-check.js +0 -1
- package/dist/commands/collision-reminder.js +0 -1
- package/dist/commands/context-governor.js +0 -1
- package/dist/commands/coordinate-gate.js +0 -1
- package/dist/commands/corpus/client.js +0 -1
- package/dist/commands/corpus/index.js +0 -1
- package/dist/commands/corpus/manage.js +0 -1
- package/dist/commands/corpus/refresh.js +0 -1
- package/dist/commands/corpus/search.js +0 -1
- package/dist/commands/corpus/section.js +0 -1
- package/dist/commands/corpus/source.js +0 -1
- package/dist/commands/corpus/status.js +0 -1
- package/dist/commands/corpus/tags.js +0 -1
- package/dist/commands/corpus/upload.js +0 -1
- package/dist/commands/corpus/walk.js +0 -1
- package/dist/commands/corpus-reminder.js +0 -1
- package/dist/commands/crush-stats.js +0 -1
- package/dist/commands/crush.js +0 -1
- package/dist/commands/delivery-reminder.js +0 -1
- package/dist/commands/delivery.js +0 -1
- package/dist/commands/desk-line.js +0 -1
- package/dist/commands/discord.js +0 -1
- package/dist/commands/discover.js +0 -1
- package/dist/commands/doc-pointer-reminder.js +0 -1
- package/dist/commands/doc.js +0 -1
- package/dist/commands/docptr.js +0 -1
- package/dist/commands/doctor.js +0 -1
- package/dist/commands/email-primer-reminder.js +0 -1
- package/dist/commands/email.js +0 -1
- package/dist/commands/enrichment-health-reminder.js +0 -1
- package/dist/commands/fix.js +0 -1
- package/dist/commands/friction-reminder.js +0 -1
- package/dist/commands/identity.js +0 -1
- package/dist/commands/inbox-drain.js +0 -1
- package/dist/commands/inbox-primer-reminder.js +0 -1
- package/dist/commands/inbox-retract.js +0 -1
- package/dist/commands/inbox-watch-supervisor.js +0 -1
- package/dist/commands/inbox-watch.js +0 -1
- package/dist/commands/ingress-trigger.js +0 -1
- package/dist/commands/init.js +0 -1
- package/dist/commands/load-primer-reminder.js +0 -1
- package/dist/commands/load.js +0 -1
- package/dist/commands/loadout-reminder.js +0 -1
- package/dist/commands/loadout.js +0 -1
- package/dist/commands/mechanic-live.js +0 -1
- package/dist/commands/mechanic-manifest.js +0 -1
- package/dist/commands/mechanic-spawn.js +0 -1
- package/dist/commands/mechanic.js +0 -1
- package/dist/commands/memory-format.js +0 -1
- package/dist/commands/memory-reflex.js +0 -1
- package/dist/commands/memory.js +0 -1
- package/dist/commands/opencode-chip-client.js +0 -1
- package/dist/commands/opencode-chip-lifecycle.js +0 -1
- package/dist/commands/opencode-chip-mission.js +0 -1
- package/dist/commands/opencode-chip-store.js +0 -1
- package/dist/commands/opencode-chip.js +0 -1
- package/dist/commands/opencode-goals.js +0 -1
- package/dist/commands/opencode-interrupt.js +0 -1
- package/dist/commands/opencode-relay.js +0 -1
- package/dist/commands/opencode-watch.js +0 -1
- package/dist/commands/os-primer-reminder.js +0 -1
- package/dist/commands/parity.js +0 -1
- package/dist/commands/pipe-wrap.js +0 -1
- package/dist/commands/poll-registry.js +0 -1
- package/dist/commands/procedure-reminder.js +0 -1
- package/dist/commands/procedure.js +0 -1
- package/dist/commands/project.js +0 -1
- package/dist/commands/reminder-registry.js +0 -1
- package/dist/commands/reminder-types.js +0 -1
- package/dist/commands/search-guard.js +0 -1
- package/dist/commands/session.js +0 -1
- package/dist/commands/setup-reminder.js +0 -1
- package/dist/commands/shell-dialect-guard.js +0 -1
- package/dist/commands/skill-gain-reminder.js +0 -1
- package/dist/commands/skill-mirror-reminder.js +0 -1
- package/dist/commands/skill.js +0 -1
- package/dist/commands/skillgain.js +0 -1
- package/dist/commands/sms.js +0 -1
- package/dist/commands/state-trigger.js +0 -1
- package/dist/commands/status.js +0 -1
- package/dist/commands/version-reminder.js +0 -1
- package/dist/commands/watcher-registry.js +0 -1
- package/dist/crush/adaptive-sizer.js +0 -1
- package/dist/crush/code-compressor.js +0 -1
- package/dist/crush/crush-keywords.js +0 -1
- package/dist/crush/crush-types.js +0 -1
- package/dist/crush/index.js +0 -1
- package/dist/crush/json-crusher.js +0 -1
- package/dist/crush/json-detectors.js +0 -1
- package/dist/crush/log-compressor.js +0 -1
- package/dist/crush/search-compressor.js +0 -1
- package/dist/delivery-config.js +0 -1
- package/dist/delivery-lifecycle.js +0 -1
- package/dist/doc-mirror-client.js +0 -1
- package/dist/docptr-refs.js +0 -1
- package/dist/email-pull.js +0 -1
- package/dist/email-send.js +0 -1
- package/dist/equipped-loadouts-cache.js +0 -1
- package/dist/fix-trigger.js +0 -1
- package/dist/guard.js +0 -1
- package/dist/harness.js +0 -1
- package/dist/hook-runtime.js +0 -1
- package/dist/hook.js +0 -1
- package/dist/inbox-attachments.js +0 -1
- package/dist/index.js +0 -1
- package/dist/inline-atom-background.js +0 -1
- package/dist/inline-atom-episode.js +0 -1
- package/dist/inline-atom-hook.js +0 -1
- package/dist/inline-atom-worker.js +0 -1
- package/dist/inline-atom.js +0 -1
- package/dist/mechanic-friction.js +0 -1
- package/dist/mechanic-role.js +0 -1
- package/dist/native-skill-adoption.js +0 -1
- package/dist/native-skill-mirror.js +0 -1
- package/dist/native-skill-pending.js +0 -1
- package/dist/opencode-plugin-crush.js +0 -1
- package/dist/opencode-plugin-helpers.js +0 -1
- package/dist/opencode-plugin-png.js +0 -1
- package/dist/opencode-plugin.js +0 -1
- package/dist/proc.js +0 -1
- package/dist/procedure-run.js +0 -1
- package/dist/procedure-runtime.js +0 -1
- package/dist/procedure-shadow.js +0 -1
- package/dist/procedure-watch.js +0 -1
- package/dist/procedure.js +0 -1
- package/dist/project-anchor.js +0 -1
- package/dist/reminder-injector.js +0 -1
- package/dist/secret-scrubber.js +0 -1
- package/dist/session-id.js +0 -1
- package/dist/skill-activation-manifest.js +0 -1
- package/dist/skill-landing.js +0 -1
- package/dist/skill-mirror-client.js +0 -1
- package/dist/skill-mirror-files.js +0 -1
- package/dist/skill-staleness.js +0 -1
- package/dist/turn-provenance.js +0 -1
- package/dist/windows-shims.js +0 -1
- package/dist/worktree-state.js +0 -1
- package/package.json +1 -1
- package/dist/archive/glyph-font.d.ts +0 -22
- package/dist/archive/glyph-font.js.map +0 -1
- package/dist/archive/page-renderer.d.ts +0 -67
- package/dist/archive/page-renderer.js.map +0 -1
- package/dist/archive/png-codec.d.ts +0 -21
- package/dist/archive/png-codec.js.map +0 -1
- package/dist/archive/transcript-extract.d.ts +0 -39
- package/dist/archive/transcript-extract.js.map +0 -1
- package/dist/assistant-doctrine.d.ts +0 -23
- package/dist/assistant-doctrine.js.map +0 -1
- package/dist/capture-manifest.d.ts +0 -20
- package/dist/capture-manifest.js.map +0 -1
- package/dist/ccr-store.d.ts +0 -49
- package/dist/ccr-store.js.map +0 -1
- package/dist/claude-lifecycle-cutover.d.ts +0 -23
- package/dist/claude-lifecycle-cutover.js.map +0 -1
- package/dist/codex-chip-hooks.d.ts +0 -16
- package/dist/codex-chip-hooks.js.map +0 -1
- package/dist/codex-delegation-dedupe.d.ts +0 -4
- package/dist/codex-delegation-dedupe.js.map +0 -1
- package/dist/codex-fast-hook.d.ts +0 -2
- package/dist/codex-fast-hook.js.map +0 -1
- package/dist/codex-hook-events.d.ts +0 -20
- package/dist/codex-hook-events.js.map +0 -1
- package/dist/codex-notify-hook.d.ts +0 -2
- package/dist/codex-notify-hook.js.map +0 -1
- package/dist/codex-prompt-cache.d.ts +0 -11
- package/dist/codex-prompt-cache.js.map +0 -1
- package/dist/codex-steering.d.ts +0 -30
- package/dist/codex-steering.js.map +0 -1
- package/dist/codex-store-background.d.ts +0 -2
- package/dist/codex-store-background.js.map +0 -1
- package/dist/commands/agent-doctrine-file.d.ts +0 -53
- package/dist/commands/agent-doctrine-file.js.map +0 -1
- package/dist/commands/agents.d.ts +0 -41
- package/dist/commands/agents.js.map +0 -1
- package/dist/commands/archive.d.ts +0 -81
- package/dist/commands/archive.js.map +0 -1
- package/dist/commands/arm-reminder.d.ts +0 -30
- package/dist/commands/arm-reminder.js.map +0 -1
- package/dist/commands/assistant-reminder.d.ts +0 -9
- package/dist/commands/assistant-reminder.js.map +0 -1
- package/dist/commands/assistant.d.ts +0 -20
- package/dist/commands/assistant.js.map +0 -1
- package/dist/commands/checkpoint-helpers.d.ts +0 -41
- package/dist/commands/checkpoint-helpers.js.map +0 -1
- package/dist/commands/checkpoint.d.ts +0 -16
- package/dist/commands/checkpoint.js.map +0 -1
- package/dist/commands/claude-md-patch.d.ts +0 -56
- package/dist/commands/claude-md-patch.js.map +0 -1
- package/dist/commands/codex-app-server-client.d.ts +0 -46
- package/dist/commands/codex-app-server-client.js.map +0 -1
- package/dist/commands/codex-app-server.d.ts +0 -1
- package/dist/commands/codex-app-server.js.map +0 -1
- package/dist/commands/codex-chip/bootstrap.d.ts +0 -8
- package/dist/commands/codex-chip/bootstrap.js.map +0 -1
- package/dist/commands/codex-chip/breakthrough-ack-command.d.ts +0 -1
- package/dist/commands/codex-chip/breakthrough-ack-command.js.map +0 -1
- package/dist/commands/codex-chip/breakthrough-command.d.ts +0 -5
- package/dist/commands/codex-chip/breakthrough-command.js.map +0 -1
- package/dist/commands/codex-chip/breakthrough.d.ts +0 -15
- package/dist/commands/codex-chip/breakthrough.js.map +0 -1
- package/dist/commands/codex-chip/cleanup-command.d.ts +0 -2
- package/dist/commands/codex-chip/cleanup-command.js.map +0 -1
- package/dist/commands/codex-chip/command.d.ts +0 -3
- package/dist/commands/codex-chip/command.js.map +0 -1
- package/dist/commands/codex-chip/git.d.ts +0 -34
- package/dist/commands/codex-chip/git.js.map +0 -1
- package/dist/commands/codex-chip/goal-command.d.ts +0 -1
- package/dist/commands/codex-chip/goal-command.js.map +0 -1
- package/dist/commands/codex-chip/goals.d.ts +0 -73
- package/dist/commands/codex-chip/goals.js.map +0 -1
- package/dist/commands/codex-chip/help.d.ts +0 -1
- package/dist/commands/codex-chip/help.js.map +0 -1
- package/dist/commands/codex-chip/inbox.d.ts +0 -10
- package/dist/commands/codex-chip/inbox.js.map +0 -1
- package/dist/commands/codex-chip/lifecycle.d.ts +0 -8
- package/dist/commands/codex-chip/lifecycle.js.map +0 -1
- package/dist/commands/codex-chip/mechanic-lifecycle.d.ts +0 -5
- package/dist/commands/codex-chip/mechanic-lifecycle.js.map +0 -1
- package/dist/commands/codex-chip/model.d.ts +0 -155
- package/dist/commands/codex-chip/model.js.map +0 -1
- package/dist/commands/codex-chip/naming.d.ts +0 -8
- package/dist/commands/codex-chip/naming.js.map +0 -1
- package/dist/commands/codex-chip/native.d.ts +0 -70
- package/dist/commands/codex-chip/native.js.map +0 -1
- package/dist/commands/codex-chip/prompt.d.ts +0 -3
- package/dist/commands/codex-chip/prompt.js.map +0 -1
- package/dist/commands/codex-chip/resume-command.d.ts +0 -7
- package/dist/commands/codex-chip/resume-command.js.map +0 -1
- package/dist/commands/codex-chip/selection.d.ts +0 -14
- package/dist/commands/codex-chip/selection.js.map +0 -1
- package/dist/commands/codex-chip/store.d.ts +0 -16
- package/dist/commands/codex-chip/store.js.map +0 -1
- package/dist/commands/codex-chip/worker.d.ts +0 -4
- package/dist/commands/codex-chip/worker.js.map +0 -1
- package/dist/commands/codex-delivery.d.ts +0 -67
- package/dist/commands/codex-delivery.js.map +0 -1
- package/dist/commands/codex-doctor.d.ts +0 -5
- package/dist/commands/codex-doctor.js.map +0 -1
- package/dist/commands/codex-model-policy.d.ts +0 -19
- package/dist/commands/codex-model-policy.js.map +0 -1
- package/dist/commands/codex-startup.d.ts +0 -13
- package/dist/commands/codex-startup.js.map +0 -1
- package/dist/commands/codex-supervisor.d.ts +0 -17
- package/dist/commands/codex-supervisor.js.map +0 -1
- package/dist/commands/codex-wake-test.d.ts +0 -46
- package/dist/commands/codex-wake-test.js.map +0 -1
- package/dist/commands/codex-watch-health.d.ts +0 -68
- package/dist/commands/codex-watch-health.js.map +0 -1
- package/dist/commands/codex.d.ts +0 -28
- package/dist/commands/codex.js.map +0 -1
- package/dist/commands/collision-check.d.ts +0 -112
- package/dist/commands/collision-check.js.map +0 -1
- package/dist/commands/collision-reminder.d.ts +0 -14
- package/dist/commands/collision-reminder.js.map +0 -1
- package/dist/commands/context-governor.d.ts +0 -87
- package/dist/commands/context-governor.js.map +0 -1
- package/dist/commands/coordinate-gate.d.ts +0 -80
- package/dist/commands/coordinate-gate.js.map +0 -1
- package/dist/commands/corpus/client.d.ts +0 -71
- package/dist/commands/corpus/client.js.map +0 -1
- package/dist/commands/corpus/index.d.ts +0 -24
- package/dist/commands/corpus/index.js.map +0 -1
- package/dist/commands/corpus/manage.d.ts +0 -6
- package/dist/commands/corpus/manage.js.map +0 -1
- package/dist/commands/corpus/refresh.d.ts +0 -12
- package/dist/commands/corpus/refresh.js.map +0 -1
- package/dist/commands/corpus/search.d.ts +0 -6
- package/dist/commands/corpus/search.js.map +0 -1
- package/dist/commands/corpus/section.d.ts +0 -5
- package/dist/commands/corpus/section.js.map +0 -1
- package/dist/commands/corpus/source.d.ts +0 -15
- package/dist/commands/corpus/source.js.map +0 -1
- package/dist/commands/corpus/status.d.ts +0 -5
- package/dist/commands/corpus/status.js.map +0 -1
- package/dist/commands/corpus/tags.d.ts +0 -17
- package/dist/commands/corpus/tags.js.map +0 -1
- package/dist/commands/corpus/upload.d.ts +0 -7
- package/dist/commands/corpus/upload.js.map +0 -1
- package/dist/commands/corpus/walk.d.ts +0 -5
- package/dist/commands/corpus/walk.js.map +0 -1
- package/dist/commands/corpus-reminder.d.ts +0 -15
- package/dist/commands/corpus-reminder.js.map +0 -1
- package/dist/commands/crush-stats.d.ts +0 -36
- package/dist/commands/crush-stats.js.map +0 -1
- package/dist/commands/crush.d.ts +0 -33
- package/dist/commands/crush.js.map +0 -1
- package/dist/commands/delivery-reminder.d.ts +0 -10
- package/dist/commands/delivery-reminder.js.map +0 -1
- package/dist/commands/delivery.d.ts +0 -1
- package/dist/commands/delivery.js.map +0 -1
- package/dist/commands/desk-line.d.ts +0 -36
- package/dist/commands/desk-line.js.map +0 -1
- package/dist/commands/discord.d.ts +0 -72
- package/dist/commands/discord.js.map +0 -1
- package/dist/commands/discover.d.ts +0 -45
- package/dist/commands/discover.js.map +0 -1
- package/dist/commands/doc-pointer-reminder.d.ts +0 -20
- package/dist/commands/doc-pointer-reminder.js.map +0 -1
- package/dist/commands/doc.d.ts +0 -6
- package/dist/commands/doc.js.map +0 -1
- package/dist/commands/docptr.d.ts +0 -17
- package/dist/commands/docptr.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -15
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/email-primer-reminder.d.ts +0 -23
- package/dist/commands/email-primer-reminder.js.map +0 -1
- package/dist/commands/email.d.ts +0 -18
- package/dist/commands/email.js.map +0 -1
- package/dist/commands/enrichment-health-reminder.d.ts +0 -23
- package/dist/commands/enrichment-health-reminder.js.map +0 -1
- package/dist/commands/fix.d.ts +0 -50
- package/dist/commands/fix.js.map +0 -1
- package/dist/commands/friction-reminder.d.ts +0 -70
- package/dist/commands/friction-reminder.js.map +0 -1
- package/dist/commands/identity.d.ts +0 -24
- package/dist/commands/identity.js.map +0 -1
- package/dist/commands/inbox-drain.d.ts +0 -48
- package/dist/commands/inbox-drain.js.map +0 -1
- package/dist/commands/inbox-primer-reminder.d.ts +0 -27
- package/dist/commands/inbox-primer-reminder.js.map +0 -1
- package/dist/commands/inbox-retract.d.ts +0 -18
- package/dist/commands/inbox-retract.js.map +0 -1
- package/dist/commands/inbox-watch-supervisor.d.ts +0 -66
- package/dist/commands/inbox-watch-supervisor.js.map +0 -1
- package/dist/commands/inbox-watch.d.ts +0 -127
- package/dist/commands/inbox-watch.js.map +0 -1
- package/dist/commands/ingress-trigger.d.ts +0 -67
- package/dist/commands/ingress-trigger.js.map +0 -1
- package/dist/commands/init.d.ts +0 -48
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/load-primer-reminder.d.ts +0 -38
- package/dist/commands/load-primer-reminder.js.map +0 -1
- package/dist/commands/load.d.ts +0 -20
- package/dist/commands/load.js.map +0 -1
- package/dist/commands/loadout-reminder.d.ts +0 -37
- package/dist/commands/loadout-reminder.js.map +0 -1
- package/dist/commands/loadout.d.ts +0 -15
- package/dist/commands/loadout.js.map +0 -1
- package/dist/commands/mechanic-live.d.ts +0 -12
- package/dist/commands/mechanic-live.js.map +0 -1
- package/dist/commands/mechanic-manifest.d.ts +0 -28
- package/dist/commands/mechanic-manifest.js.map +0 -1
- package/dist/commands/mechanic-spawn.d.ts +0 -39
- package/dist/commands/mechanic-spawn.js.map +0 -1
- package/dist/commands/mechanic.d.ts +0 -101
- package/dist/commands/mechanic.js.map +0 -1
- package/dist/commands/memory-format.d.ts +0 -68
- package/dist/commands/memory-format.js.map +0 -1
- package/dist/commands/memory-reflex.d.ts +0 -20
- package/dist/commands/memory-reflex.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -74
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/opencode-chip-client.d.ts +0 -8
- package/dist/commands/opencode-chip-client.js.map +0 -1
- package/dist/commands/opencode-chip-lifecycle.d.ts +0 -2
- package/dist/commands/opencode-chip-lifecycle.js.map +0 -1
- package/dist/commands/opencode-chip-mission.d.ts +0 -22
- package/dist/commands/opencode-chip-mission.js.map +0 -1
- package/dist/commands/opencode-chip-store.d.ts +0 -72
- package/dist/commands/opencode-chip-store.js.map +0 -1
- package/dist/commands/opencode-chip.d.ts +0 -3
- package/dist/commands/opencode-chip.js.map +0 -1
- package/dist/commands/opencode-goals.d.ts +0 -5
- package/dist/commands/opencode-goals.js.map +0 -1
- package/dist/commands/opencode-interrupt.d.ts +0 -34
- package/dist/commands/opencode-interrupt.js.map +0 -1
- package/dist/commands/opencode-relay.d.ts +0 -144
- package/dist/commands/opencode-relay.js.map +0 -1
- package/dist/commands/opencode-watch.d.ts +0 -17
- package/dist/commands/opencode-watch.js.map +0 -1
- package/dist/commands/os-primer-reminder.d.ts +0 -14
- package/dist/commands/os-primer-reminder.js.map +0 -1
- package/dist/commands/parity.d.ts +0 -20
- package/dist/commands/parity.js.map +0 -1
- package/dist/commands/pipe-wrap.d.ts +0 -97
- package/dist/commands/pipe-wrap.js.map +0 -1
- package/dist/commands/poll-registry.d.ts +0 -56
- package/dist/commands/poll-registry.js.map +0 -1
- package/dist/commands/procedure-reminder.d.ts +0 -8
- package/dist/commands/procedure-reminder.js.map +0 -1
- package/dist/commands/procedure.d.ts +0 -15
- package/dist/commands/procedure.js.map +0 -1
- package/dist/commands/project.d.ts +0 -16
- package/dist/commands/project.js.map +0 -1
- package/dist/commands/reminder-registry.d.ts +0 -47
- package/dist/commands/reminder-registry.js.map +0 -1
- package/dist/commands/reminder-types.d.ts +0 -208
- package/dist/commands/reminder-types.js.map +0 -1
- package/dist/commands/search-guard.d.ts +0 -18
- package/dist/commands/search-guard.js.map +0 -1
- package/dist/commands/session.d.ts +0 -8
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/setup-reminder.d.ts +0 -9
- package/dist/commands/setup-reminder.js.map +0 -1
- package/dist/commands/shell-dialect-guard.d.ts +0 -25
- package/dist/commands/shell-dialect-guard.js.map +0 -1
- package/dist/commands/skill-gain-reminder.d.ts +0 -17
- package/dist/commands/skill-gain-reminder.js.map +0 -1
- package/dist/commands/skill-mirror-reminder.d.ts +0 -10
- package/dist/commands/skill-mirror-reminder.js.map +0 -1
- package/dist/commands/skill.d.ts +0 -1
- package/dist/commands/skill.js.map +0 -1
- package/dist/commands/skillgain.d.ts +0 -12
- package/dist/commands/skillgain.js.map +0 -1
- package/dist/commands/sms.d.ts +0 -11
- package/dist/commands/sms.js.map +0 -1
- package/dist/commands/state-trigger.d.ts +0 -103
- package/dist/commands/state-trigger.js.map +0 -1
- package/dist/commands/status.d.ts +0 -69
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/version-reminder.d.ts +0 -27
- package/dist/commands/version-reminder.js.map +0 -1
- package/dist/commands/watcher-registry.d.ts +0 -121
- package/dist/commands/watcher-registry.js.map +0 -1
- package/dist/crush/adaptive-sizer.d.ts +0 -40
- package/dist/crush/adaptive-sizer.js.map +0 -1
- package/dist/crush/code-compressor.d.ts +0 -61
- package/dist/crush/code-compressor.js.map +0 -1
- package/dist/crush/crush-keywords.d.ts +0 -40
- package/dist/crush/crush-keywords.js.map +0 -1
- package/dist/crush/crush-types.d.ts +0 -38
- package/dist/crush/crush-types.js.map +0 -1
- package/dist/crush/index.d.ts +0 -17
- package/dist/crush/index.js.map +0 -1
- package/dist/crush/json-crusher.d.ts +0 -38
- package/dist/crush/json-crusher.js.map +0 -1
- package/dist/crush/json-detectors.d.ts +0 -48
- package/dist/crush/json-detectors.js.map +0 -1
- package/dist/crush/log-compressor.d.ts +0 -60
- package/dist/crush/log-compressor.js.map +0 -1
- package/dist/crush/search-compressor.d.ts +0 -60
- package/dist/crush/search-compressor.js.map +0 -1
- package/dist/delivery-config.d.ts +0 -35
- package/dist/delivery-config.js.map +0 -1
- package/dist/delivery-lifecycle.d.ts +0 -3
- package/dist/delivery-lifecycle.js.map +0 -1
- package/dist/doc-mirror-client.d.ts +0 -56
- package/dist/doc-mirror-client.js.map +0 -1
- package/dist/docptr-refs.d.ts +0 -37
- package/dist/docptr-refs.js.map +0 -1
- package/dist/email-pull.d.ts +0 -106
- package/dist/email-pull.js.map +0 -1
- package/dist/email-send.d.ts +0 -75
- package/dist/email-send.js.map +0 -1
- package/dist/equipped-loadouts-cache.d.ts +0 -20
- package/dist/equipped-loadouts-cache.js.map +0 -1
- package/dist/fix-trigger.d.ts +0 -63
- package/dist/fix-trigger.js.map +0 -1
- package/dist/guard.d.ts +0 -129
- package/dist/guard.js.map +0 -1
- package/dist/harness.d.ts +0 -6
- package/dist/harness.js.map +0 -1
- package/dist/hook-runtime.d.ts +0 -22
- package/dist/hook-runtime.js.map +0 -1
- package/dist/hook.d.ts +0 -8
- package/dist/hook.js.map +0 -1
- package/dist/inbox-attachments.d.ts +0 -37
- package/dist/inbox-attachments.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js.map +0 -1
- package/dist/inline-atom-background.d.ts +0 -9
- package/dist/inline-atom-background.js.map +0 -1
- package/dist/inline-atom-episode.d.ts +0 -85
- package/dist/inline-atom-episode.js.map +0 -1
- package/dist/inline-atom-hook.d.ts +0 -22
- package/dist/inline-atom-hook.js.map +0 -1
- package/dist/inline-atom-worker.d.ts +0 -2
- package/dist/inline-atom-worker.js.map +0 -1
- package/dist/inline-atom.d.ts +0 -52
- package/dist/inline-atom.js.map +0 -1
- package/dist/mechanic-friction.d.ts +0 -82
- package/dist/mechanic-friction.js.map +0 -1
- package/dist/mechanic-role.d.ts +0 -20
- package/dist/mechanic-role.js.map +0 -1
- package/dist/native-skill-adoption.d.ts +0 -45
- package/dist/native-skill-adoption.js.map +0 -1
- package/dist/native-skill-mirror.d.ts +0 -50
- package/dist/native-skill-mirror.js.map +0 -1
- package/dist/native-skill-pending.d.ts +0 -44
- package/dist/native-skill-pending.js.map +0 -1
- package/dist/opencode-plugin-crush.d.ts +0 -137
- package/dist/opencode-plugin-crush.js.map +0 -1
- package/dist/opencode-plugin-helpers.d.ts +0 -200
- package/dist/opencode-plugin-helpers.js.map +0 -1
- package/dist/opencode-plugin-png.d.ts +0 -151
- package/dist/opencode-plugin-png.js.map +0 -1
- package/dist/opencode-plugin.d.ts +0 -93
- package/dist/opencode-plugin.js.map +0 -1
- package/dist/proc.d.ts +0 -35
- package/dist/proc.js.map +0 -1
- package/dist/procedure-run.d.ts +0 -51
- package/dist/procedure-run.js.map +0 -1
- package/dist/procedure-runtime.d.ts +0 -28
- package/dist/procedure-runtime.js.map +0 -1
- package/dist/procedure-shadow.d.ts +0 -31
- package/dist/procedure-shadow.js.map +0 -1
- package/dist/procedure-watch.d.ts +0 -155
- package/dist/procedure-watch.js.map +0 -1
- package/dist/procedure.d.ts +0 -164
- package/dist/procedure.js.map +0 -1
- package/dist/project-anchor.d.ts +0 -110
- package/dist/project-anchor.js.map +0 -1
- package/dist/reminder-injector.d.ts +0 -3
- package/dist/reminder-injector.js.map +0 -1
- package/dist/secret-scrubber.d.ts +0 -48
- package/dist/secret-scrubber.js.map +0 -1
- package/dist/session-id.d.ts +0 -98
- package/dist/session-id.js.map +0 -1
- package/dist/skill-activation-manifest.d.ts +0 -37
- package/dist/skill-activation-manifest.js.map +0 -1
- package/dist/skill-landing.d.ts +0 -88
- package/dist/skill-landing.js.map +0 -1
- package/dist/skill-mirror-client.d.ts +0 -59
- package/dist/skill-mirror-client.js.map +0 -1
- package/dist/skill-mirror-files.d.ts +0 -6
- package/dist/skill-mirror-files.js.map +0 -1
- package/dist/skill-staleness.d.ts +0 -57
- package/dist/skill-staleness.js.map +0 -1
- package/dist/turn-provenance.d.ts +0 -18
- package/dist/turn-provenance.js.map +0 -1
- package/dist/windows-shims.d.ts +0 -46
- package/dist/windows-shims.js.map +0 -1
- package/dist/worktree-state.d.ts +0 -14
- package/dist/worktree-state.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-skill-pending.js","sourceRoot":"","sources":["../src/native-skill-pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/** opencode-plugin-crush.ts — the inline outbound-context CRUSHER for opencode.
|
|
2
|
-
*
|
|
3
|
-
* WHY THIS EXISTS — Claude Code's harness can only REWRITE a bash command to
|
|
4
|
-
* pipe its output through `greprag crush` (the pipe-wrap PreToolUse hook); it
|
|
5
|
-
* cannot replace context already sitting in the outbound message array. opencode
|
|
6
|
-
* CAN: `experimental.chat.messages.transform` fires before every LLM call with
|
|
7
|
-
* the full outbound `output.messages` in hand. This module is the engine the
|
|
8
|
-
* plugin's transform hook runs — it walks the message parts and crushes the
|
|
9
|
-
* bulky ones IN-PROCESS (no per-part subprocess), reversibly, reusing greprag's
|
|
10
|
-
* existing crush engine.
|
|
11
|
-
*
|
|
12
|
-
* HARD CONSTRAINTS this design serves:
|
|
13
|
-
* - DEP-FREE. The deployed plugin loads its sidecars by absolute path from
|
|
14
|
-
* ~/.greprag/ under Bun, where neither relative `require('./proc')` nor
|
|
15
|
-
* npm deps like `sql.js` resolve. So this file imports ONLY the pure crush
|
|
16
|
-
* engine (`./crush`, zero deps, deployed as ~/.greprag/crush/) — nothing
|
|
17
|
-
* else. The CCR store (sql.js) and the spawn wrapper (proc) are NOT imported
|
|
18
|
-
* here; CCR persistence is INJECTED via the `stash` callback so the sidecar
|
|
19
|
-
* stays loadable inside the plugin.
|
|
20
|
-
* - IN-PROCESS transform. The crush compression (CPU-bound, runs for every
|
|
21
|
-
* crushable part of every message on every LLM call) never spawns a process.
|
|
22
|
-
* Only the rare PERSISTENCE of an original is delegated (the plugin's stash
|
|
23
|
-
* fires `greprag ccr put` once per part actually crushed — off the hot path).
|
|
24
|
-
*
|
|
25
|
-
* INVARIANTS (mirror adr/crush-engine.md, enforced per-field here):
|
|
26
|
-
* - Reversible: a crushed field becomes `<crushed>\n<<ccr:HASH>>`; the stash
|
|
27
|
-
* callback persists the byte-exact original so `greprag retrieve <hash>`
|
|
28
|
-
* recovers it. HASH is sha256(original)[:16] — the SAME value CcrStore.put
|
|
29
|
-
* computes, so the plugin can compute it in-process and the CLI store agrees.
|
|
30
|
-
* - token-validate-or-revert (Headroom): a field is replaced ONLY when the
|
|
31
|
-
* crushed + marker text costs strictly fewer estimated tokens; else the
|
|
32
|
-
* original is kept untouched.
|
|
33
|
-
* - Idempotent: a field already carrying a `<<ccr:` marker is never re-crushed.
|
|
34
|
-
* - DETERMINISTIC (= cache-preserving): crush is a PURE function of the field
|
|
35
|
-
* content — same bytes in, byte-identical bytes out, every call. opencode
|
|
36
|
-
* hands us the ORIGINAL message array each LLM call, so a deterministic crush
|
|
37
|
-
* reproduces the SAME crushed prefix → the Anthropic prompt cache stays warm.
|
|
38
|
-
* This is why Headroom's literal "skip already-cached blocks" does NOT port:
|
|
39
|
-
* skipping = forwarding originals = a DIFFERENT (larger) prefix = a cache
|
|
40
|
-
* BREAK. Deterministic crush is the portable equivalent of live-zone-only —
|
|
41
|
-
* it preserves the cache by being reproducible, not by leaving history alone.
|
|
42
|
-
* The optional per-session `memo` (below) is a pure CPU optimization on top:
|
|
43
|
-
* it skips RE-CRUSHING unchanged history parts; it never changes the bytes.
|
|
44
|
-
* - Non-destructive: mutates ONLY the message objects it is handed (the
|
|
45
|
-
* request-scoped `output.messages` copy). It never touches opencode's
|
|
46
|
-
* persisted session history — that contract is the caller's to honor by
|
|
47
|
-
* passing the request-scoped array.
|
|
48
|
-
* - Defensive: every part is processed under try/catch — a crush failure is
|
|
49
|
-
* swallowed and the part is left verbatim, so a turn is NEVER broken.
|
|
50
|
-
*/
|
|
51
|
-
export type CrushType = 'log' | 'search' | 'json' | 'code';
|
|
52
|
-
/** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker(). */
|
|
53
|
-
export declare function ccrMarker(hash: string): string;
|
|
54
|
-
/** Default byte floor — fields smaller than this pass through untouched. */
|
|
55
|
-
export declare const DEFAULT_THRESHOLD_BYTES = 2048;
|
|
56
|
-
/** Persist the byte-exact `original` into the CCR store and return its 16-hex
|
|
57
|
-
* marker hash. Injected so this sidecar stays dep-free:
|
|
58
|
-
* - CLI / unit test: backed by CcrStore.put (sql.js, synchronous, byte-exact).
|
|
59
|
-
* - opencode plugin: sha256 in-process + fire-and-forget `greprag ccr put`. */
|
|
60
|
-
export type CcrStash = (original: string, sourceType: CrushType) => string;
|
|
61
|
-
/** Default cap on memo entries — a long marathon session has thousands of
|
|
62
|
-
* history parts, but only the bulky (over-floor) ones ever reach the memo, and
|
|
63
|
-
* FIFO eviction keeps memory bounded regardless of session length. */
|
|
64
|
-
export declare const DEFAULT_MEMO_ENTRIES = 1024;
|
|
65
|
-
/** A bounded content→replacement cache. Keys are content hashes; values are the
|
|
66
|
-
* crush RESULT for that exact content (a replacement string, or `null` for
|
|
67
|
-
* "left verbatim"). Reused across every `crushMessages` call in one session so
|
|
68
|
-
* unchanged history parts are not re-crushed each LLM turn. */
|
|
69
|
-
export interface CrushMemo {
|
|
70
|
-
has(key: string): boolean;
|
|
71
|
-
get(key: string): string | null | undefined;
|
|
72
|
-
set(key: string, value: string | null): void;
|
|
73
|
-
readonly size: number;
|
|
74
|
-
}
|
|
75
|
-
/** FIFO-bounded memo. `set` keeps the FIRST value for a key (crush is
|
|
76
|
-
* deterministic, so re-sets would be identical anyway) and evicts the oldest
|
|
77
|
-
* entry once `maxEntries` is exceeded — never unbounded growth. */
|
|
78
|
-
export declare function createCrushMemo(maxEntries?: number): CrushMemo;
|
|
79
|
-
/** Cheap, dependency-free content key for the memo: length + two independent
|
|
80
|
-
* rolling hashes (FNV-1a 32 + djb2). The length prefix plus two hashes make a
|
|
81
|
-
* collision astronomically unlikely at any realistic session size — and a memo
|
|
82
|
-
* is only ever a CPU shortcut, so the worst theoretical case (a collision) is
|
|
83
|
-
* bounded by the determinism contract: identical content always crushes the
|
|
84
|
-
* same, so we never want two DIFFERENT contents to share a key, which the
|
|
85
|
-
* length+double-hash composite guards against. */
|
|
86
|
-
export declare function memoKey(content: string): string;
|
|
87
|
-
export interface CrushMessagesOptions {
|
|
88
|
-
/** Persist the original; returns the 16-hex marker hash. Required. */
|
|
89
|
-
stash: CcrStash;
|
|
90
|
-
/** Byte floor for crushing a field. Default DEFAULT_THRESHOLD_BYTES. */
|
|
91
|
-
thresholdBytes?: number;
|
|
92
|
-
/** Optional bounded per-session memo (see createCrushMemo). Lets a long
|
|
93
|
-
* session skip re-crushing unchanged history parts every LLM call — a CPU
|
|
94
|
-
* win, the portable equivalent of Headroom's live-zone-only. Never changes
|
|
95
|
-
* output bytes (determinism is preserved with or without it). */
|
|
96
|
-
memo?: CrushMemo;
|
|
97
|
-
}
|
|
98
|
-
export interface CrushMessagesStats {
|
|
99
|
-
/** Fields replaced with crushed + marker text. */
|
|
100
|
-
partsCrushed: number;
|
|
101
|
-
/** Fields left verbatim (below threshold, already-marked, or a thrown crush). */
|
|
102
|
-
partsSkipped: number;
|
|
103
|
-
/** Fields the engine could not shrink — token-validate-or-revert kept them. */
|
|
104
|
-
partsReverted: number;
|
|
105
|
-
/** Total bytes of the over-threshold fields seen. */
|
|
106
|
-
bytesBefore: number;
|
|
107
|
-
/** Total bytes of those fields after processing. */
|
|
108
|
-
bytesAfter: number;
|
|
109
|
-
/** Heavy-path invocations of crushField (over-floor, unmarked, memo miss). */
|
|
110
|
-
crushFieldCalls: number;
|
|
111
|
-
/** Over-floor fields served from the memo without re-running crushField. */
|
|
112
|
-
memoHits: number;
|
|
113
|
-
}
|
|
114
|
-
/** Pick the crush engine for a raw content string. Output-shape heuristics,
|
|
115
|
-
* since (unlike pipe-wrap) we see the OUTPUT, not the producing command:
|
|
116
|
-
* - leading `{` / `[` → json
|
|
117
|
-
* - majority `file:line:` → search (grep/rg match lines, incl. `-`-context)
|
|
118
|
-
* - reads as source code → code (imports/signatures kept, bodies elided)
|
|
119
|
-
* - else → log (the safe generalist: keeps errors + traces,
|
|
120
|
-
* dedupes spam; a misclassified field just
|
|
121
|
-
* compresses less, never wrongly).
|
|
122
|
-
* Code is tested AFTER json/search (those have sharper signals) and BEFORE the
|
|
123
|
-
* log fallback; `looksLikeCode` is conservative so a log/prose field never
|
|
124
|
-
* routes here (it would only compress less, but the contract is: don't misroute). */
|
|
125
|
-
export declare function classifyContent(text: string): CrushType;
|
|
126
|
-
/** Crush one content string. Returns the replacement (`<crushed>\n<<ccr:HASH>>`)
|
|
127
|
-
* or null to leave the original UNTOUCHED. Honors byte threshold, idempotency,
|
|
128
|
-
* passthrough, and token-validate-or-revert. The stash side effect fires ONLY
|
|
129
|
-
* on a real crush (after validation passes), so a reverted/skipped field is
|
|
130
|
-
* never persisted. */
|
|
131
|
-
export declare function crushField(content: string, stash: CcrStash, thresholdBytes?: number): string | null;
|
|
132
|
-
/** Walk an opencode outbound message array (`output.messages`) and crush its
|
|
133
|
-
* bulky parts in place. Each message is `{ info, parts[] }`. Every part is
|
|
134
|
-
* processed under try/catch — a thrown crush (or a thrown stash) is swallowed,
|
|
135
|
-
* the part is left verbatim, and the walk continues: a crush failure NEVER
|
|
136
|
-
* breaks the turn. Non-array / malformed input is handled defensively. */
|
|
137
|
-
export declare function crushMessages(messages: unknown, opts: CrushMessagesOptions): CrushMessagesStats;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-plugin-crush.js","sourceRoot":"","sources":["../src/opencode-plugin-crush.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/** GrepRAG opencode plugin — test-friendly helpers.
|
|
2
|
-
*
|
|
3
|
-
* Pure functions and type definitions extracted from `opencode-plugin.ts` so
|
|
4
|
-
* the deployed plugin file can use a single `export = { id, server }` shape
|
|
5
|
-
* (no `__esModule: true` wrapper, no `__test` helper export). The opencode
|
|
6
|
-
* legacy plugin loader iterates `Object.values(mod)` and rejects any value
|
|
7
|
-
* that isn't a function or `{ server: function }`; an `__esModule: true`
|
|
8
|
-
* boolean in that iteration throws "Plugin export is not a function" and the
|
|
9
|
-
* plugin registers zero hooks. See `adr/opencode-monitor-relay.md` 2026-06-06
|
|
10
|
-
* entries (e) and (f) for the full diagnosis.
|
|
11
|
-
*
|
|
12
|
-
* Three callers, all out-of-band of opencode's loader:
|
|
13
|
-
* - `opencode-plugin.ts` — the deployed plugin source imports these for use
|
|
14
|
-
* inside the V1 server function (recap renderer + anchor + lockfile).
|
|
15
|
-
* - `hook.ts` — Claude/Codex SessionStart hook imports the recap renderer
|
|
16
|
-
* so the recap body pushed to the system prompt is identical between
|
|
17
|
-
* harnesses. The hook keeps its own preamble (setup warning, checkpoint
|
|
18
|
-
* hint) — those are session-start UX concerns, not recap content.
|
|
19
|
-
* - `tests/test-opencode-plugin.cjs` and `tests/test-opencode-relay-spawn.cjs`
|
|
20
|
-
* — unit tests pull the same helpers by `require()` to exercise envelope
|
|
21
|
-
* construction, anchor resolution, and lockfile dedup without booting
|
|
22
|
-
* opencode.
|
|
23
|
-
*
|
|
24
|
-
* opencode never loads this file directly. Its presence at
|
|
25
|
-
* `~/.config/opencode/plugins/greprag-memory-helpers.js` is incidental to the
|
|
26
|
-
* deploy step; only `greprag-memory.js` is registered in the user's
|
|
27
|
-
* `opencode.json` plugin list.
|
|
28
|
-
*/
|
|
29
|
-
declare const HOME: string;
|
|
30
|
-
interface TextPart {
|
|
31
|
-
type: 'text';
|
|
32
|
-
text: string;
|
|
33
|
-
synthetic?: boolean;
|
|
34
|
-
ignored?: boolean;
|
|
35
|
-
}
|
|
36
|
-
type ToolState = {
|
|
37
|
-
status: 'pending';
|
|
38
|
-
input: Record<string, unknown>;
|
|
39
|
-
} | {
|
|
40
|
-
status: 'running';
|
|
41
|
-
input: Record<string, unknown>;
|
|
42
|
-
title?: string;
|
|
43
|
-
} | {
|
|
44
|
-
status: 'completed';
|
|
45
|
-
input: Record<string, unknown>;
|
|
46
|
-
output: string;
|
|
47
|
-
title: string;
|
|
48
|
-
} | {
|
|
49
|
-
status: 'error';
|
|
50
|
-
input: Record<string, unknown>;
|
|
51
|
-
error: string;
|
|
52
|
-
};
|
|
53
|
-
interface ToolPart {
|
|
54
|
-
type: 'tool';
|
|
55
|
-
callID: string;
|
|
56
|
-
tool: string;
|
|
57
|
-
state: ToolState;
|
|
58
|
-
}
|
|
59
|
-
interface GenericPart {
|
|
60
|
-
type: string;
|
|
61
|
-
[key: string]: unknown;
|
|
62
|
-
}
|
|
63
|
-
type Part = TextPart | ToolPart | GenericPart;
|
|
64
|
-
interface ProjectAnchor {
|
|
65
|
-
projectId: string;
|
|
66
|
-
projectName: string;
|
|
67
|
-
memoryCapture: boolean;
|
|
68
|
-
sessionStartRecap: boolean;
|
|
69
|
-
inboxNotify: 'every_turn' | 'session_start_only' | 'off';
|
|
70
|
-
}
|
|
71
|
-
/** Parsed `.greprag/project.json` contents. `project_id` and `project_name` are
|
|
72
|
-
* both optional after v0.7 — a file may carry per-project settings only and
|
|
73
|
-
* let identity flow from git derivation. */
|
|
74
|
-
interface AnchorFile {
|
|
75
|
-
projectId?: string;
|
|
76
|
-
projectName?: string;
|
|
77
|
-
memoryCapture: boolean;
|
|
78
|
-
sessionStartRecap: boolean;
|
|
79
|
-
inboxNotify: 'every_turn' | 'session_start_only' | 'off';
|
|
80
|
-
}
|
|
81
|
-
declare function readAnchorFile(filePath: string): AnchorFile | null;
|
|
82
|
-
/** Walk up from cwd looking for an anchor file. Checks canonical `.greprag/`
|
|
83
|
-
* first, then legacy `.claude/` and `.opencode/` at each level. Returns the
|
|
84
|
-
* first hit. Skips home-level globals; those are reserved for the
|
|
85
|
-
* ephemeral-cwd path of the cascade. */
|
|
86
|
-
declare function findExistingAnchorFile(startDir: string): string | null;
|
|
87
|
-
/** Format the SHA-256 of an input string into a deterministic UUID v4-shape
|
|
88
|
-
* string. Must match the algorithm in packages/cli/src/project-anchor.ts so
|
|
89
|
-
* the plugin resolves identical IDs to the Claude Code CLI. */
|
|
90
|
-
declare function formatUuid(hashHex: string): string;
|
|
91
|
-
/** Derive a stable project_id from the repo's root commit SHA. Sorted +
|
|
92
|
-
* hashed so disjoint-history merges produce one deterministic id everywhere.
|
|
93
|
-
* Returns null when cwd isn't a git repo or has no commits yet. */
|
|
94
|
-
declare function computeGitDerivedProjectId(cwd: string): string | null;
|
|
95
|
-
/** Hash the cwd path into a stable UUID. Last-resort fallback — when no git
|
|
96
|
-
* history and no anchor file exist, this keeps capture flowing under a
|
|
97
|
-
* per-path identity that `greprag doctor` can later consolidate. */
|
|
98
|
-
declare function deterministicProjectId(cwd: string): string;
|
|
99
|
-
/** True when cwd is an ephemeral session path (Cowork, tmp dirs). The
|
|
100
|
-
* deterministic-hash fallback would mint a fresh id every session in those
|
|
101
|
-
* paths, so we prefer the global anchor instead. */
|
|
102
|
-
declare function isEphemeralCwd(cwd: string): boolean;
|
|
103
|
-
/** Resolve the project anchor for `worktree` using the same 4-level cascade
|
|
104
|
-
* the Claude Code CLI uses (packages/cli/src/project-anchor.ts). Settings
|
|
105
|
-
* always come from the nearest repo-level file when one exists, regardless
|
|
106
|
-
* of which identity level resolved.
|
|
107
|
-
*
|
|
108
|
-
* 1. Anchor file with explicit `project_id` → file-based identity
|
|
109
|
-
* 2. Git repo with at least one commit → root-commit-derived UUID
|
|
110
|
-
* 3. Ephemeral cwd + ~/.greprag/project.json exists → global anchor
|
|
111
|
-
* 4. Path-hash fallback (never returns null; lets capture flow until
|
|
112
|
-
* `greprag init` runs and `greprag doctor` consolidates) */
|
|
113
|
-
declare function readAnchor(worktree: string): ProjectAnchor;
|
|
114
|
-
declare function extractText(parts: Part[]): string;
|
|
115
|
-
interface ToolCallSummary {
|
|
116
|
-
name: string;
|
|
117
|
-
target?: string;
|
|
118
|
-
brief?: string;
|
|
119
|
-
}
|
|
120
|
-
/** Pull a one-line summary out of each tool call: name + a target string + an
|
|
121
|
-
* optional brief for shell commands. Mirrors the shape the Claude Code hook
|
|
122
|
-
* posts so server-side compaction sees identical structure regardless of
|
|
123
|
-
* client origin. */
|
|
124
|
-
declare function extractToolCalls(parts: Part[]): ToolCallSummary[];
|
|
125
|
-
declare function extractFilesTouched(parts: Part[]): string[];
|
|
126
|
-
type TurnProvenance = 'session-turn' | 'skill-injection' | 'continuation-summary' | 'chip-prompt';
|
|
127
|
-
declare function classifyUserText(text: string): TurnProvenance;
|
|
128
|
-
declare function provenanceElisionMarker(p: TurnProvenance, text: string): string;
|
|
129
|
-
interface Envelope {
|
|
130
|
-
userPrompt: string;
|
|
131
|
-
agentResponse: string;
|
|
132
|
-
toolCalls: ToolCallSummary[];
|
|
133
|
-
filesTouched: string[];
|
|
134
|
-
status: 'completed' | 'errored';
|
|
135
|
-
provenance: TurnProvenance;
|
|
136
|
-
}
|
|
137
|
-
declare function buildEnvelope(userParts: Part[], assistantParts: Part[], errored: boolean): Envelope;
|
|
138
|
-
/** True when the OS reports `pid` as a running process. Used to decide whether
|
|
139
|
-
* a stale-lockfile check should trust the recorded PID or treat the file as
|
|
140
|
-
* abandoned. */
|
|
141
|
-
export declare function isPidAlive(pid: number): boolean;
|
|
142
|
-
declare function relayLockPath(sessionId: string): string;
|
|
143
|
-
declare function tryClaimRelayLock(lockPath: string): {
|
|
144
|
-
ok: true;
|
|
145
|
-
fd: number;
|
|
146
|
-
} | {
|
|
147
|
-
ok: false;
|
|
148
|
-
reason: string;
|
|
149
|
-
};
|
|
150
|
-
/** One row from `/v1/memory/by-period`. Mirrors hook.ts ByPeriodRow — kept
|
|
151
|
-
* in sync intentionally so the two paths fetch the same shape. */
|
|
152
|
-
interface ByPeriodRow {
|
|
153
|
-
id: string;
|
|
154
|
-
projectId: string | null;
|
|
155
|
-
projectName: string | null;
|
|
156
|
-
crystallization: string;
|
|
157
|
-
content: string;
|
|
158
|
-
wordCount: number;
|
|
159
|
-
windowStart: string | null;
|
|
160
|
-
windowEnd: string | null;
|
|
161
|
-
branch: string | null;
|
|
162
|
-
artifactType: string | null;
|
|
163
|
-
artifactId: string | null;
|
|
164
|
-
artifactUrl: string | null;
|
|
165
|
-
createdAt: string;
|
|
166
|
-
}
|
|
167
|
-
/** Cap on the number of hourlies surfaced in the recap body. 3 — the hook's
|
|
168
|
-
* established value; if the user wants more they pull on demand via
|
|
169
|
-
* `greprag memory recap`. adr: adr/memory-recap-pyramid.md. */
|
|
170
|
-
declare const HOURLY_CAP = 3;
|
|
171
|
-
/** Strip noise blocks from compacted content before injection.
|
|
172
|
-
* Compactor contract: numbered items end with a trailer ("Open: ..." for
|
|
173
|
-
* hourly, "Shipped: ..." for daily) which may span multiple lines. Trailers
|
|
174
|
-
* always come AFTER the numbered list — so we drop from the trigger line
|
|
175
|
-
* through end-of-string.
|
|
176
|
-
*
|
|
177
|
-
* - daily: drop the deterministic "Shipped: <UUID-list>" trailer (useful for
|
|
178
|
-
* /greprag deep-dive, but a wall of IDs at session start)
|
|
179
|
-
* - hourly: drop the per-hour "Open:" block (stale snapshot of open items
|
|
180
|
-
* that were resolved or superseded in later hours) */
|
|
181
|
-
declare function stripRecapNoise(content: string, type: 'daily' | 'hourly'): string;
|
|
182
|
-
/** Render an hourly window's recency: "5 hours ago", "1 hour ago",
|
|
183
|
-
* "30 min ago", "just now". Reference is the end of the window — when the
|
|
184
|
-
* hour wrapped up. */
|
|
185
|
-
declare function fmtHoursAgo(windowEndIso: string, now: Date): string;
|
|
186
|
-
/** Build the recap body — hourlies-only render. Recap is hourlies-only by
|
|
187
|
-
* design: daily summaries used to render here (one prose paragraph per
|
|
188
|
-
* daily window) but added ~1500 tokens to every SessionStart for marginal
|
|
189
|
-
* value. Dailies still exist in the DB; agents who want historic context
|
|
190
|
-
* pull on demand via `greprag memory recap` (or
|
|
191
|
-
* `greprag memory search "<query>"` for a specific topic). Pull, don't push.
|
|
192
|
-
*
|
|
193
|
-
* Window: 2 days back to now (50-row pull), filtered to last 24h, sliced
|
|
194
|
-
* to HOURLY_CAP most-recent.
|
|
195
|
-
*
|
|
196
|
-
* Returns "" when there are no recent hourlies — caller treats that as
|
|
197
|
-
* "no recap block". Empty body is not an error; the query itself is the
|
|
198
|
-
* only network call and any failure is swallowed (returns ""). */
|
|
199
|
-
declare function buildRecapBody(apiUrl: string, apiKey: string, anchor: ProjectAnchor, now?: Date): Promise<string>;
|
|
200
|
-
export { HOME, type Part, type TextPart, type ToolPart, type ToolState, type GenericPart, type ProjectAnchor, type AnchorFile, type ToolCallSummary, type Envelope, type TurnProvenance, type ByPeriodRow, formatUuid, computeGitDerivedProjectId, deterministicProjectId, isEphemeralCwd, readAnchorFile, findExistingAnchorFile, readAnchor, extractText, extractToolCalls, extractFilesTouched, classifyUserText, provenanceElisionMarker, buildEnvelope, relayLockPath, tryClaimRelayLock, stripRecapNoise, fmtHoursAgo, buildRecapBody, HOURLY_CAP, };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-plugin-helpers.js","sourceRoot":"","sources":["../src/opencode-plugin-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/** opencode-plugin-png.ts — Lever 2 (Snapcompact) PNG recode for opencode.
|
|
2
|
-
*
|
|
3
|
-
* WHAT — at a CONTEXT-SIZE THRESHOLD, recode OLD conversation history (bulky
|
|
4
|
-
* text parts) into dense pixel-font PNG IMAGE parts so the model receives them
|
|
5
|
-
* as VISION tokens: lossless ~3x input compression (a 1568x1568 PNG holds
|
|
6
|
-
* ~30K chars but bills ~3,279 image tokens). Design + economics:
|
|
7
|
-
* docs/pre-llm-compression.md ("Lever 2 — Snapcompact", "cache cost model").
|
|
8
|
-
* This is Lever 2 to opencode-plugin-crush.ts's Lever 1 (per-part text crush).
|
|
9
|
-
*
|
|
10
|
-
* WHY HERE — opencode's `experimental.chat.messages.transform` hook fires
|
|
11
|
-
* before every LLM call with the full outbound `output.messages` array in
|
|
12
|
-
* hand (opencode-native `{ info, parts[] }` shape). We can REPLACE bulky old
|
|
13
|
-
* text parts with image parts in that request-scoped array. Claude Code's
|
|
14
|
-
* harness can only render the WHOLE pre-compact transcript at PreCompact
|
|
15
|
-
* (commands/archive.ts); opencode lets us recode SURVIVING history selectively
|
|
16
|
-
* and continuously, which is the Lever-2 idea this engine implements.
|
|
17
|
-
*
|
|
18
|
-
* ── THE OPENCODE IMAGE-PART CONTRACT (load-bearing, verified) ──────────────
|
|
19
|
-
* An opencode-native image part is a FILE part:
|
|
20
|
-
* { type: 'file', mime: 'image/png', url: 'data:image/png;base64,<b64>',
|
|
21
|
-
* filename?: string }
|
|
22
|
-
* Source of truth: sst/opencode `session/message-v2.ts` `toModelMessagesEffect`
|
|
23
|
-
* reads `part.mime` / `part.url` / `part.filename`, builds a UIMessage file
|
|
24
|
-
* part `{ type:'file', url, mediaType: part.mime, filename }`, then hands it to
|
|
25
|
-
* the AI SDK `convertToModelMessages()` which emits the provider image block.
|
|
26
|
-
* Confirmed against tests/test-opencode-plugin.cjs (the `{ type:'file', mime:
|
|
27
|
-
* 'image/png', url:'data:image/png;base64,...' }` fixture). The shipped Lever-1
|
|
28
|
-
* crusher proves mutations to this same native parts array DO propagate to the
|
|
29
|
-
* model, so an INJECTED file part rides the same path. The one residual a live
|
|
30
|
-
* opencode restart confirms: that `convertToModelMessages` + the provider
|
|
31
|
-
* accept a freshly-injected file part identically to a user-uploaded one.
|
|
32
|
-
*
|
|
33
|
-
* ── THE VISION GATE (critical) ─────────────────────────────────────────────
|
|
34
|
-
* Feeding a PNG to a TEXT-ONLY model BREAKS the turn. opencode declares image
|
|
35
|
-
* support per model via `modalities.input` containing `"image"`; a model
|
|
36
|
-
* lacking it has opencode REJECT image parts ("this model does not support
|
|
37
|
-
* image input"). So recode fires ONLY for vision-capable models — authoritative
|
|
38
|
-
* check is `modalities.input` includes 'image'; when the hook payload omits
|
|
39
|
-
* modalities we fall back to a model-id allowlist that DENIES the unknown
|
|
40
|
-
* (never recode unless proven safe). `deepseek-v4-flash` is text-only in
|
|
41
|
-
* opencode's model def (issue: missing image modality) → it must pass through.
|
|
42
|
-
*
|
|
43
|
-
* INVARIANTS:
|
|
44
|
-
* - Reversible: the byte-exact original is CCR-stashed via the injected
|
|
45
|
-
* `stash` callback; the 16-hex hash (sha256[:16], identical to CcrStore.put)
|
|
46
|
-
* is embedded in the image filename AND a tiny `<<ccr:HASH>>` breadcrumb
|
|
47
|
-
* text part, so `greprag retrieve <hash>` recovers it byte-exact.
|
|
48
|
-
* - Threshold-fired: a no-op below `thresholdChars` (default ~400K) — recoding
|
|
49
|
-
* history pays a one-time cache-rebuild toll, only worth it past the
|
|
50
|
-
* crossover (docs/pre-llm-compression.md cache cost model).
|
|
51
|
-
* - Live-tail-safe: the newest `liveTailMessages` messages (default 1) are
|
|
52
|
-
* NEVER recoded — only old history is rewritten.
|
|
53
|
-
* - Lossless: every rendered page self-tests its pixel round-trip
|
|
54
|
-
* (verifyRoundTrip); a failure is surfaced in stats, never silent.
|
|
55
|
-
* - Defensive: per-part try/catch — a render/stash failure leaves that part
|
|
56
|
-
* verbatim; malformed input is handled; the turn is NEVER broken.
|
|
57
|
-
* - Non-destructive: mutates ONLY the request-scoped message objects handed
|
|
58
|
-
* in (caller passes opencode's per-call `output.messages`, never persisted
|
|
59
|
-
* history).
|
|
60
|
-
* - Dep-free: imports ONLY the pure archive renderer (zlib via png-codec is a
|
|
61
|
-
* Node builtin) — inlines cleanly into the single opencode plugin bundle,
|
|
62
|
-
* no sql.js / no proc / no sidecar require.
|
|
63
|
-
*/
|
|
64
|
-
/** `<<ccr:HASH>>` — must match ccr-store.ts ccrMarker() / opencode-plugin-crush. */
|
|
65
|
-
export declare function ccrPngMarker(hash: string): string;
|
|
66
|
-
/** Total context chars above which recode fires. ~400K crossover where cache-read
|
|
67
|
-
* overhead overtakes productive turn cost (docs/pre-llm-compression.md). */
|
|
68
|
-
export declare const DEFAULT_THRESHOLD_CHARS = 400000;
|
|
69
|
-
/** Only text parts at least this big are recoded — a tiny part isn't worth a PNG. */
|
|
70
|
-
export declare const DEFAULT_MIN_PART_CHARS = 4000;
|
|
71
|
-
/** Newest N messages preserved verbatim (never recode the live tail). */
|
|
72
|
-
export declare const DEFAULT_LIVE_TAIL_MESSAGES = 1;
|
|
73
|
-
/** Built-in vision-capable model-id substrings — the deny-unknown fallback used
|
|
74
|
-
* ONLY when the hook payload carries no `modalities`. Deliberately EXCLUDES
|
|
75
|
-
* deepseek-*: opencode's model def declares deepseek-v4-flash text-only (no
|
|
76
|
-
* image modality) and rejects image parts, so it must pass through. Extend via
|
|
77
|
-
* GREPRAG_OPENCODE_PNG_VISION_MODELS without editing code. */
|
|
78
|
-
export declare const DEFAULT_VISION_MODEL_SUBSTRINGS: string[];
|
|
79
|
-
/** Persist the byte-exact `original` and return its 16-hex marker hash.
|
|
80
|
-
* Injected so this module stays dep-free (CLI/test: CcrStore.put; opencode
|
|
81
|
-
* plugin: in-process sha256 + fire-and-forget `greprag ccr put`). */
|
|
82
|
-
export type PngStash = (original: string) => string;
|
|
83
|
-
/** opencode-native image part. THE contract (see header). */
|
|
84
|
-
export interface OpencodeFilePart {
|
|
85
|
-
type: 'file';
|
|
86
|
-
mime: 'image/png';
|
|
87
|
-
url: string;
|
|
88
|
-
filename: string;
|
|
89
|
-
}
|
|
90
|
-
export interface RecodeMessagesOptions {
|
|
91
|
-
/** Persist the original; returns the 16-hex marker hash. Required. */
|
|
92
|
-
stash: PngStash;
|
|
93
|
-
/** The outbound model id (input.model.modelID / .id). */
|
|
94
|
-
modelId?: string | null;
|
|
95
|
-
/** opencode model modalities — `string[]` (input modalities) or
|
|
96
|
-
* `{ input?: string[] }`. When present it is AUTHORITATIVE for the gate. */
|
|
97
|
-
modalities?: string[] | {
|
|
98
|
-
input?: string[];
|
|
99
|
-
} | null;
|
|
100
|
-
/** Total-context char floor for firing. Default DEFAULT_THRESHOLD_CHARS. */
|
|
101
|
-
thresholdChars?: number;
|
|
102
|
-
/** Per-text-part char floor for recoding. Default DEFAULT_MIN_PART_CHARS. */
|
|
103
|
-
minPartChars?: number;
|
|
104
|
-
/** Newest N messages left verbatim. Default DEFAULT_LIVE_TAIL_MESSAGES. */
|
|
105
|
-
liveTailMessages?: number;
|
|
106
|
-
/** Extra vision-capable model-id substrings (fallback gate only). */
|
|
107
|
-
visionAllowlist?: string[];
|
|
108
|
-
}
|
|
109
|
-
export interface RecodeMessagesStats {
|
|
110
|
-
/** True iff at least one part was recoded (threshold crossed AND vision-capable). */
|
|
111
|
-
fired: boolean;
|
|
112
|
-
/** Result of the model-capability gate. */
|
|
113
|
-
visionCapable: boolean;
|
|
114
|
-
/** Total chars of all string content seen across every message part. */
|
|
115
|
-
totalChars: number;
|
|
116
|
-
/** The threshold applied. */
|
|
117
|
-
thresholdChars: number;
|
|
118
|
-
/** Text parts replaced with image parts. */
|
|
119
|
-
partsRecoded: number;
|
|
120
|
-
/** PNG pages rendered across all recoded parts. */
|
|
121
|
-
pagesRendered: number;
|
|
122
|
-
/** Total bytes of rendered PNGs. */
|
|
123
|
-
pngBytes: number;
|
|
124
|
-
/** First pixel round-trip self-test failure, or null when all lossless. */
|
|
125
|
-
selfTestError: string | null;
|
|
126
|
-
/** Why it did / didn't fire. */
|
|
127
|
-
reason: string;
|
|
128
|
-
}
|
|
129
|
-
/** Decide whether the model accepts image input. `modalities.input` is
|
|
130
|
-
* AUTHORITATIVE (opencode's own declaration); only when it is absent do we
|
|
131
|
-
* fall back to the model-id allowlist, which DENIES the unknown. */
|
|
132
|
-
export declare function isVisionCapable(opts: {
|
|
133
|
-
modelId?: string | null;
|
|
134
|
-
modalities?: RecodeMessagesOptions['modalities'];
|
|
135
|
-
visionAllowlist?: string[];
|
|
136
|
-
}): boolean;
|
|
137
|
-
/** Render `text` to one or more pixel-font PNG file parts (one per page).
|
|
138
|
-
* Each page self-tests its pixel round-trip. `hash` is embedded in every
|
|
139
|
-
* page's filename so a model (or a human) can map an image back to its CCR
|
|
140
|
-
* original. */
|
|
141
|
-
export declare function renderTextToImageParts(text: string, hash: string): {
|
|
142
|
-
parts: OpencodeFilePart[];
|
|
143
|
-
pages: number;
|
|
144
|
-
pngBytes: number;
|
|
145
|
-
selfTestError: string | null;
|
|
146
|
-
};
|
|
147
|
-
/** Walk an opencode outbound message array and recode bulky OLD text parts to
|
|
148
|
-
* pixel-font PNG image parts, in place on the request-scoped objects. Fires
|
|
149
|
-
* only when the total context exceeds `thresholdChars` AND the model is
|
|
150
|
-
* vision-capable. Returns stats; never throws. */
|
|
151
|
-
export declare function recodeMessagesToPng(messages: unknown, opts: RecodeMessagesOptions): RecodeMessagesStats;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-plugin-png.js","sourceRoot":"","sources":["../src/opencode-plugin-png.ts"],"names":[],"mappings":"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"}
|