@chendpoc/pi-memory 0.1.13 → 0.2.0
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/README.md +66 -258
- package/UBIQUITOUS_LANGUAGE.md +81 -0
- package/dist/adapters/embed/factory.d.ts +7 -0
- package/dist/adapters/embed/factory.d.ts.map +1 -0
- package/dist/adapters/embed/factory.js +44 -0
- package/dist/adapters/embed/factory.js.map +1 -0
- package/dist/adapters/embed/hash.d.ts +3 -0
- package/dist/adapters/embed/hash.d.ts.map +1 -0
- package/dist/adapters/embed/hash.js +26 -0
- package/dist/adapters/embed/hash.js.map +1 -0
- package/dist/adapters/embed/normalize.d.ts +3 -0
- package/dist/adapters/embed/normalize.d.ts.map +1 -0
- package/dist/adapters/embed/normalize.js +15 -0
- package/dist/adapters/embed/normalize.js.map +1 -0
- package/dist/adapters/embed/ollama.d.ts +8 -0
- package/dist/adapters/embed/ollama.d.ts.map +1 -0
- package/dist/adapters/embed/ollama.js +31 -0
- package/dist/adapters/embed/ollama.js.map +1 -0
- package/dist/adapters/embed/openai.d.ts +8 -0
- package/dist/adapters/embed/openai.d.ts.map +1 -0
- package/dist/adapters/embed/openai.js +30 -0
- package/dist/adapters/embed/openai.js.map +1 -0
- package/dist/adapters/embed/types.d.ts +9 -0
- package/dist/adapters/embed/types.d.ts.map +1 -0
- package/dist/adapters/embed/types.js.map +1 -0
- package/dist/adapters/http.d.ts +13 -0
- package/dist/adapters/http.d.ts.map +1 -0
- package/dist/adapters/http.js +31 -0
- package/dist/adapters/http.js.map +1 -0
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +4 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/llm/extractText.d.ts +5 -0
- package/dist/adapters/llm/extractText.d.ts.map +1 -0
- package/dist/adapters/llm/extractText.js +7 -0
- package/dist/adapters/llm/extractText.js.map +1 -0
- package/dist/adapters/llm/factory.d.ts +11 -0
- package/dist/adapters/llm/factory.d.ts.map +1 -0
- package/dist/adapters/llm/factory.js +48 -0
- package/dist/adapters/llm/factory.js.map +1 -0
- package/dist/adapters/llm/index.d.ts +8 -0
- package/dist/adapters/llm/index.d.ts.map +1 -0
- package/dist/adapters/llm/index.js +7 -0
- package/dist/adapters/llm/index.js.map +1 -0
- package/dist/adapters/llm/modelSpec.d.ts +10 -0
- package/dist/adapters/llm/modelSpec.d.ts.map +1 -0
- package/dist/adapters/llm/modelSpec.js +21 -0
- package/dist/adapters/llm/modelSpec.js.map +1 -0
- package/dist/adapters/llm/ollama.d.ts +4 -0
- package/dist/adapters/llm/ollama.d.ts.map +1 -0
- package/dist/adapters/llm/ollama.js +32 -0
- package/dist/adapters/llm/ollama.js.map +1 -0
- package/dist/adapters/llm/openai-compat.d.ts +4 -0
- package/dist/adapters/llm/openai-compat.d.ts.map +1 -0
- package/dist/adapters/llm/openai-compat.js +36 -0
- package/dist/adapters/llm/openai-compat.js.map +1 -0
- package/dist/adapters/llm/pi-ai.d.ts +5 -0
- package/dist/adapters/llm/pi-ai.d.ts.map +1 -0
- package/dist/adapters/llm/pi-ai.js +60 -0
- package/dist/adapters/llm/pi-ai.js.map +1 -0
- package/dist/adapters/llm/standalone.d.ts +6 -0
- package/dist/adapters/llm/standalone.d.ts.map +1 -0
- package/dist/adapters/llm/standalone.js +44 -0
- package/dist/adapters/llm/standalone.js.map +1 -0
- package/dist/adapters/llm/types.d.ts +15 -0
- package/dist/adapters/llm/types.d.ts.map +1 -0
- package/dist/adapters/llm/types.js.map +1 -0
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +13 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/jobs.d.ts +32 -0
- package/dist/cli/jobs.d.ts.map +1 -0
- package/dist/cli/jobs.js +100 -0
- package/dist/cli/jobs.js.map +1 -0
- package/dist/cli/log.d.ts +14 -0
- package/dist/cli/log.d.ts.map +1 -0
- package/dist/cli/log.js +32 -0
- package/dist/cli/log.js.map +1 -0
- package/dist/cli/parseArgs.d.ts +35 -0
- package/dist/cli/parseArgs.d.ts.map +1 -0
- package/dist/cli/parseArgs.js +127 -0
- package/dist/cli/parseArgs.js.map +1 -0
- package/dist/cli/status.d.ts +44 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +238 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/theme.d.ts +14 -0
- package/dist/cli/theme.d.ts.map +1 -0
- package/dist/cli/theme.js +20 -0
- package/dist/cli/theme.js.map +1 -0
- package/dist/cli.js +70 -356
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +14 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/parseMemoryStatusArgs.d.ts +3 -0
- package/dist/commands/parseMemoryStatusArgs.d.ts.map +1 -0
- package/dist/commands/parseMemoryStatusArgs.js +15 -0
- package/dist/commands/parseMemoryStatusArgs.js.map +1 -0
- package/dist/commands/parseRememberArgs.d.ts +10 -0
- package/dist/commands/parseRememberArgs.d.ts.map +1 -0
- package/dist/commands/parseRememberArgs.js +46 -0
- package/dist/commands/parseRememberArgs.js.map +1 -0
- package/dist/commands/remember.d.ts +8 -0
- package/dist/commands/remember.d.ts.map +1 -0
- package/dist/commands/remember.js +30 -0
- package/dist/commands/remember.js.map +1 -0
- package/dist/commands/status.d.ts +10 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +81 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/types.d.ts +10 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +2 -0
- package/dist/{consolidation → commands}/types.js.map +1 -1
- package/dist/compact/index.d.ts +5 -0
- package/dist/compact/index.d.ts.map +1 -0
- package/dist/compact/index.js +5 -0
- package/dist/compact/index.js.map +1 -0
- package/dist/compact/parseMemoryExport.d.ts +6 -0
- package/dist/compact/parseMemoryExport.d.ts.map +1 -0
- package/dist/compact/parseMemoryExport.js +62 -0
- package/dist/compact/parseMemoryExport.js.map +1 -0
- package/dist/compact/register.d.ts +10 -0
- package/dist/compact/register.d.ts.map +1 -0
- package/dist/compact/register.js +47 -0
- package/dist/compact/register.js.map +1 -0
- package/dist/compact/runSummary.d.ts +6 -0
- package/dist/compact/runSummary.d.ts.map +1 -0
- package/dist/compact/runSummary.js +29 -0
- package/dist/compact/runSummary.js.map +1 -0
- package/dist/compact/subagentDelta.d.ts +6 -0
- package/dist/compact/subagentDelta.d.ts.map +1 -0
- package/dist/compact/subagentDelta.js +13 -0
- package/dist/compact/subagentDelta.js.map +1 -0
- package/dist/compact/summaryPrompt.d.ts +3 -0
- package/dist/compact/summaryPrompt.d.ts.map +1 -0
- package/dist/compact/summaryPrompt.js +41 -0
- package/dist/compact/summaryPrompt.js.map +1 -0
- package/dist/config/agentDir.d.ts +11 -0
- package/dist/config/agentDir.d.ts.map +1 -0
- package/dist/config/agentDir.js +21 -0
- package/dist/config/agentDir.js.map +1 -0
- package/dist/config/chunking.d.ts +7 -0
- package/dist/config/chunking.d.ts.map +1 -0
- package/dist/config/chunking.js +20 -0
- package/dist/config/chunking.js.map +1 -0
- package/dist/config/env.d.ts +28 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +43 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loadEnv.d.ts +10 -0
- package/dist/config/loadEnv.d.ts.map +1 -0
- package/dist/config/loadEnv.js +25 -0
- package/dist/config/loadEnv.js.map +1 -0
- package/dist/config/preflightBudget.d.ts +9 -0
- package/dist/config/preflightBudget.d.ts.map +1 -0
- package/dist/config/preflightBudget.js +16 -0
- package/dist/config/preflightBudget.js.map +1 -0
- package/dist/config/retrieval.d.ts +10 -0
- package/dist/config/retrieval.d.ts.map +1 -0
- package/dist/config/retrieval.js +31 -0
- package/dist/config/retrieval.js.map +1 -0
- package/dist/consolidate/entryKey.d.ts +6 -0
- package/dist/consolidate/entryKey.d.ts.map +1 -0
- package/dist/consolidate/entryKey.js +5 -0
- package/dist/consolidate/entryKey.js.map +1 -0
- package/dist/consolidate/index.d.ts +5 -0
- package/dist/consolidate/index.d.ts.map +1 -0
- package/dist/consolidate/index.js +5 -0
- package/dist/consolidate/index.js.map +1 -0
- package/dist/consolidate/mergeEntries.d.ts +4 -0
- package/dist/consolidate/mergeEntries.d.ts.map +1 -0
- package/dist/consolidate/mergeEntries.js +17 -0
- package/dist/consolidate/mergeEntries.js.map +1 -0
- package/dist/consolidate/mergePrompt.d.ts +4 -0
- package/dist/consolidate/mergePrompt.d.ts.map +1 -0
- package/dist/consolidate/mergePrompt.js +40 -0
- package/dist/consolidate/mergePrompt.js.map +1 -0
- package/dist/consolidate/mergeWithLlm.d.ts +4 -0
- package/dist/consolidate/mergeWithLlm.d.ts.map +1 -0
- package/dist/consolidate/mergeWithLlm.js +27 -0
- package/dist/consolidate/mergeWithLlm.js.map +1 -0
- package/dist/consolidate/runJob.d.ts +29 -0
- package/dist/consolidate/runJob.d.ts.map +1 -0
- package/dist/consolidate/runJob.js +48 -0
- package/dist/consolidate/runJob.js.map +1 -0
- package/dist/consolidate/scheduler.d.ts +18 -0
- package/dist/consolidate/scheduler.d.ts.map +1 -0
- package/dist/consolidate/scheduler.js +32 -0
- package/dist/consolidate/scheduler.js.map +1 -0
- package/dist/constants/chunking.d.ts +7 -0
- package/dist/constants/chunking.d.ts.map +1 -0
- package/dist/constants/chunking.js +7 -0
- package/dist/constants/chunking.js.map +1 -0
- package/dist/constants/env.d.ts +44 -0
- package/dist/constants/env.d.ts.map +1 -0
- package/dist/constants/env.js +49 -0
- package/dist/constants/env.js.map +1 -0
- package/dist/constants/index.d.ts +8 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +8 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/memory.d.ts +17 -0
- package/dist/constants/memory.d.ts.map +1 -0
- package/dist/constants/memory.js +16 -0
- package/dist/constants/memory.js.map +1 -0
- package/dist/constants/paths.d.ts +23 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +23 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/preflight.d.ts +10 -0
- package/dist/constants/preflight.d.ts.map +1 -0
- package/dist/constants/preflight.js +10 -0
- package/dist/constants/preflight.js.map +1 -0
- package/dist/constants/retrieval.d.ts +10 -0
- package/dist/constants/retrieval.d.ts.map +1 -0
- package/dist/constants/retrieval.js +10 -0
- package/dist/constants/retrieval.js.map +1 -0
- package/dist/constants/security.d.ts +5 -0
- package/dist/constants/security.d.ts.map +1 -0
- package/dist/constants/security.js +5 -0
- package/dist/constants/security.js.map +1 -0
- package/dist/constants/timing.d.ts +36 -0
- package/dist/constants/timing.d.ts.map +1 -0
- package/dist/constants/timing.js +36 -0
- package/dist/constants/timing.js.map +1 -0
- package/dist/index.d.ts +11 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -28
- package/dist/index.js.map +1 -1
- package/dist/init/workspace.d.ts +15 -0
- package/dist/init/workspace.d.ts.map +1 -0
- package/dist/init/workspace.js +32 -0
- package/dist/init/workspace.js.map +1 -0
- package/dist/ipc/jsonlFramer.d.ts +9 -0
- package/dist/ipc/jsonlFramer.d.ts.map +1 -0
- package/dist/ipc/jsonlFramer.js +26 -0
- package/dist/ipc/jsonlFramer.js.map +1 -0
- package/dist/pi-extension.d.ts +0 -2
- package/dist/pi-extension.d.ts.map +1 -1
- package/dist/pi-extension.js +161 -520
- package/dist/pi-extension.js.map +1 -1
- package/dist/preflight/episodic.d.ts +20 -0
- package/dist/preflight/episodic.d.ts.map +1 -0
- package/dist/preflight/episodic.js +109 -0
- package/dist/preflight/episodic.js.map +1 -0
- package/dist/preflight/queryCache.d.ts +15 -0
- package/dist/preflight/queryCache.d.ts.map +1 -0
- package/dist/preflight/queryCache.js +46 -0
- package/dist/preflight/queryCache.js.map +1 -0
- package/dist/preflight/queryIntent.d.ts +20 -0
- package/dist/preflight/queryIntent.d.ts.map +1 -0
- package/dist/preflight/queryIntent.js +75 -0
- package/dist/preflight/queryIntent.js.map +1 -0
- package/dist/preflight/render.d.ts +8 -33
- package/dist/preflight/render.d.ts.map +1 -1
- package/dist/preflight/render.js +29 -126
- package/dist/preflight/render.js.map +1 -1
- package/dist/preflight/session.d.ts +3 -0
- package/dist/preflight/session.d.ts.map +1 -0
- package/dist/preflight/session.js +6 -0
- package/dist/preflight/session.js.map +1 -0
- package/dist/preflight/strip.d.ts +0 -8
- package/dist/preflight/strip.d.ts.map +1 -1
- package/dist/preflight/strip.js +2 -11
- package/dist/preflight/strip.js.map +1 -1
- package/dist/shutdown/enqueue.d.ts +12 -0
- package/dist/shutdown/enqueue.d.ts.map +1 -0
- package/dist/shutdown/enqueue.js +14 -0
- package/dist/shutdown/enqueue.js.map +1 -0
- package/dist/shutdown/extractPrompt.d.ts +4 -0
- package/dist/shutdown/extractPrompt.d.ts.map +1 -0
- package/dist/shutdown/extractPrompt.js +29 -0
- package/dist/shutdown/extractPrompt.js.map +1 -0
- package/dist/shutdown/processed.d.ts +9 -0
- package/dist/shutdown/processed.d.ts.map +1 -0
- package/dist/shutdown/processed.js +28 -0
- package/dist/shutdown/processed.js.map +1 -0
- package/dist/shutdown/readQueue.d.ts +4 -0
- package/dist/shutdown/readQueue.d.ts.map +1 -0
- package/dist/shutdown/readQueue.js +26 -0
- package/dist/shutdown/readQueue.js.map +1 -0
- package/dist/shutdown/runDrainJob.d.ts +26 -0
- package/dist/shutdown/runDrainJob.d.ts.map +1 -0
- package/dist/shutdown/runDrainJob.js +143 -0
- package/dist/shutdown/runDrainJob.js.map +1 -0
- package/dist/shutdown/sessionReader.d.ts +6 -0
- package/dist/shutdown/sessionReader.d.ts.map +1 -0
- package/dist/shutdown/sessionReader.js +44 -0
- package/dist/shutdown/sessionReader.js.map +1 -0
- package/dist/sidecar/client.d.ts +17 -16
- package/dist/sidecar/client.d.ts.map +1 -1
- package/dist/sidecar/client.js +64 -100
- package/dist/sidecar/client.js.map +1 -1
- package/dist/sidecar/paths.d.ts +8 -0
- package/dist/sidecar/paths.d.ts.map +1 -0
- package/dist/sidecar/paths.js +23 -0
- package/dist/sidecar/paths.js.map +1 -0
- package/dist/sidecar/protocol.d.ts +54 -0
- package/dist/sidecar/protocol.d.ts.map +1 -0
- package/dist/sidecar/protocol.js +4 -0
- package/dist/sidecar/protocol.js.map +1 -0
- package/dist/sidecar/reindexBridge.d.ts +13 -0
- package/dist/sidecar/reindexBridge.d.ts.map +1 -0
- package/dist/sidecar/reindexBridge.js +37 -0
- package/dist/sidecar/reindexBridge.js.map +1 -0
- package/dist/sidecar/server/process.d.ts +2 -0
- package/dist/sidecar/server/process.d.ts.map +1 -0
- package/dist/sidecar/server/process.js +22 -0
- package/dist/sidecar/server/process.js.map +1 -0
- package/dist/sidecar/server/query.d.ts +8 -0
- package/dist/sidecar/server/query.d.ts.map +1 -0
- package/dist/sidecar/server/query.js +7 -0
- package/dist/sidecar/server/query.js.map +1 -0
- package/dist/sidecar/server/reindex.d.ts +8 -0
- package/dist/sidecar/server/reindex.d.ts.map +1 -0
- package/dist/sidecar/server/reindex.js +12 -0
- package/dist/sidecar/server/reindex.js.map +1 -0
- package/dist/sidecar/server/server.d.ts +11 -0
- package/dist/sidecar/server/server.d.ts.map +1 -0
- package/dist/sidecar/server/server.js +76 -0
- package/dist/sidecar/server/server.js.map +1 -0
- package/dist/sidecar/server/stats.d.ts +8 -0
- package/dist/sidecar/server/stats.d.ts.map +1 -0
- package/dist/sidecar/server/stats.js +18 -0
- package/dist/sidecar/server/stats.js.map +1 -0
- package/dist/sidecar/server/vec/embedder.d.ts +2 -0
- package/dist/sidecar/server/vec/embedder.d.ts.map +1 -0
- package/dist/sidecar/server/vec/embedder.js +2 -0
- package/dist/sidecar/server/vec/embedder.js.map +1 -0
- package/dist/sidecar/server/vec/mmr.d.ts +13 -0
- package/dist/sidecar/server/vec/mmr.d.ts.map +1 -0
- package/dist/sidecar/server/vec/mmr.js +36 -0
- package/dist/sidecar/server/vec/mmr.js.map +1 -0
- package/dist/sidecar/server/vec/store.d.ts +30 -0
- package/dist/sidecar/server/vec/store.d.ts.map +1 -0
- package/dist/sidecar/server/vec/store.js +179 -0
- package/dist/sidecar/server/vec/store.js.map +1 -0
- package/dist/sidecar/sidecarManager.d.ts +10 -0
- package/dist/sidecar/sidecarManager.d.ts.map +1 -0
- package/dist/sidecar/sidecarManager.js +111 -0
- package/dist/sidecar/sidecarManager.js.map +1 -0
- package/dist/sidecar/utils.d.ts +3 -0
- package/dist/sidecar/utils.d.ts.map +1 -0
- package/dist/sidecar/utils.js +27 -0
- package/dist/sidecar/utils.js.map +1 -0
- package/dist/store/backend.d.ts +12 -0
- package/dist/store/backend.d.ts.map +1 -0
- package/dist/store/backend.js +47 -0
- package/dist/store/backend.js.map +1 -0
- package/dist/store/index.d.ts +6 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +6 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/indexChunks.d.ts +9 -0
- package/dist/store/indexChunks.d.ts.map +1 -0
- package/dist/store/indexChunks.js +78 -0
- package/dist/store/indexChunks.js.map +1 -0
- package/dist/store/markdown/format.d.ts +5 -0
- package/dist/store/markdown/format.d.ts.map +1 -0
- package/dist/store/markdown/format.js +14 -0
- package/dist/store/markdown/format.js.map +1 -0
- package/dist/store/markdown/parse.d.ts +5 -0
- package/dist/store/markdown/parse.d.ts.map +1 -0
- package/dist/store/markdown/parse.js +57 -0
- package/dist/store/markdown/parse.js.map +1 -0
- package/dist/store/markdown/template.d.ts +3 -0
- package/dist/store/markdown/template.d.ts.map +1 -0
- package/dist/store/markdown/template.js +22 -0
- package/dist/store/markdown/template.js.map +1 -0
- package/dist/store/memoryStore.d.ts +69 -0
- package/dist/store/memoryStore.d.ts.map +1 -0
- package/dist/store/memoryStore.js +421 -0
- package/dist/store/memoryStore.js.map +1 -0
- package/dist/store/paths.d.ts +10 -0
- package/dist/store/paths.d.ts.map +1 -0
- package/dist/store/paths.js +19 -0
- package/dist/store/paths.js.map +1 -0
- package/dist/store/types.d.ts +38 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +3 -0
- package/dist/store/types.js.map +1 -0
- package/dist/ui/memoryStatusWidget.d.ts +20 -0
- package/dist/ui/memoryStatusWidget.d.ts.map +1 -0
- package/dist/ui/memoryStatusWidget.js +51 -0
- package/dist/ui/memoryStatusWidget.js.map +1 -0
- package/dist/utils/debugLog.d.ts +4 -0
- package/dist/utils/debugLog.d.ts.map +1 -0
- package/dist/utils/debugLog.js +14 -0
- package/dist/utils/debugLog.js.map +1 -0
- package/dist/utils/fs.d.ts +26 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +101 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/paths.d.ts +22 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +51 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/platform.d.ts +7 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +18 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/scheduler.d.ts +33 -0
- package/dist/utils/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduler.js +63 -0
- package/dist/utils/scheduler.js.map +1 -0
- package/dist/utils/socket.d.ts +7 -0
- package/dist/utils/socket.d.ts.map +1 -0
- package/dist/utils/socket.js +35 -0
- package/dist/utils/socket.js.map +1 -0
- package/dist/utils/time.d.ts +22 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +42 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +28 -10
- package/scripts/init-memory-workspace.mjs +62 -0
- package/scripts/path-utils.mjs +12 -0
- package/scripts/platform-fs.mjs +65 -0
- package/scripts/postinstall.mjs +17 -0
- package/src/adapters/embed/factory.ts +50 -0
- package/src/adapters/embed/hash.ts +29 -0
- package/src/adapters/embed/normalize.ts +13 -0
- package/src/adapters/embed/ollama.ts +49 -0
- package/src/adapters/embed/openai.ts +46 -0
- package/src/adapters/embed/types.ts +9 -0
- package/src/adapters/http.ts +42 -0
- package/src/adapters/index.ts +16 -0
- package/src/adapters/llm/extractText.ts +6 -0
- package/src/adapters/llm/factory.ts +60 -0
- package/src/adapters/llm/index.ts +7 -0
- package/src/adapters/llm/modelSpec.ts +39 -0
- package/src/adapters/llm/ollama.ts +42 -0
- package/src/adapters/llm/openai-compat.ts +46 -0
- package/src/adapters/llm/pi-ai.ts +75 -0
- package/src/adapters/llm/standalone.ts +60 -0
- package/src/adapters/llm/types.ts +16 -0
- package/src/cli/init.ts +18 -0
- package/src/cli/jobs.ts +144 -0
- package/src/cli/log.ts +46 -0
- package/src/cli/parseArgs.ts +175 -0
- package/src/cli/status.ts +323 -0
- package/src/cli/theme.ts +26 -0
- package/src/cli.ts +80 -374
- package/src/commands/index.ts +20 -0
- package/src/commands/parseMemoryStatusArgs.ts +11 -0
- package/src/commands/parseRememberArgs.ts +55 -0
- package/src/commands/remember.ts +43 -0
- package/src/commands/status.ts +112 -0
- package/src/commands/types.ts +12 -0
- package/src/compact/index.ts +4 -0
- package/src/compact/parseMemoryExport.ts +71 -0
- package/src/compact/register.ts +57 -0
- package/src/compact/runSummary.ts +42 -0
- package/src/compact/subagentDelta.ts +22 -0
- package/src/compact/summaryPrompt.ts +45 -0
- package/src/config/agentDir.ts +24 -0
- package/src/config/chunking.ts +36 -0
- package/src/config/env.ts +97 -0
- package/src/config/index.ts +6 -0
- package/src/config/loadEnv.ts +26 -0
- package/src/config/preflightBudget.ts +33 -0
- package/src/config/retrieval.ts +50 -0
- package/src/consolidate/entryKey.ts +4 -0
- package/src/consolidate/index.ts +4 -0
- package/src/consolidate/mergeEntries.ts +22 -0
- package/src/consolidate/mergePrompt.ts +46 -0
- package/src/consolidate/mergeWithLlm.ts +39 -0
- package/src/consolidate/runJob.ts +81 -0
- package/src/consolidate/scheduler.ts +54 -0
- package/src/constants/chunking.ts +8 -0
- package/src/constants/env.ts +56 -0
- package/src/constants/index.ts +7 -0
- package/src/constants/memory.ts +22 -0
- package/src/constants/paths.ts +26 -0
- package/src/constants/preflight.ts +13 -0
- package/src/constants/retrieval.ts +10 -0
- package/src/constants/security.ts +5 -0
- package/src/constants/timing.ts +46 -0
- package/src/index.ts +11 -247
- package/src/init/workspace.ts +44 -0
- package/src/ipc/jsonlFramer.ts +29 -0
- package/src/pi-extension.ts +177 -606
- package/src/preflight/episodic.ts +159 -0
- package/src/preflight/queryCache.ts +59 -0
- package/src/preflight/queryIntent.ts +92 -0
- package/src/preflight/render.ts +34 -180
- package/src/preflight/session.ts +7 -0
- package/src/preflight/strip.ts +4 -11
- package/src/shutdown/enqueue.ts +29 -0
- package/src/shutdown/extractPrompt.ts +27 -0
- package/src/shutdown/processed.ts +45 -0
- package/src/shutdown/readQueue.ts +26 -0
- package/src/shutdown/runDrainJob.ts +202 -0
- package/src/shutdown/sessionReader.ts +61 -0
- package/src/sidecar/client.ts +98 -150
- package/src/sidecar/paths.ts +31 -0
- package/src/sidecar/protocol.ts +38 -0
- package/src/sidecar/reindexBridge.ts +52 -0
- package/src/sidecar/server/process.ts +27 -0
- package/src/sidecar/server/query.ts +16 -0
- package/src/sidecar/server/reindex.ts +21 -0
- package/src/sidecar/server/server.ts +105 -0
- package/src/sidecar/server/stats.ts +23 -0
- package/src/sidecar/server/vec/embedder.ts +1 -0
- package/src/sidecar/server/vec/mmr.ts +55 -0
- package/src/sidecar/server/vec/store.ts +232 -0
- package/src/sidecar/sidecarManager.ts +134 -0
- package/src/sidecar/utils.ts +28 -0
- package/src/store/backend.ts +66 -0
- package/src/store/index.ts +5 -0
- package/src/store/indexChunks.ts +89 -0
- package/src/store/markdown/format.ts +16 -0
- package/src/store/markdown/parse.ts +63 -0
- package/src/store/markdown/template.ts +24 -0
- package/src/store/memoryStore.ts +518 -0
- package/src/store/paths.ts +33 -0
- package/src/store/proper-lockfile.d.ts +3 -0
- package/src/store/types.ts +46 -0
- package/src/ui/memoryStatusWidget.ts +80 -0
- package/src/utils/debugLog.ts +22 -0
- package/src/utils/fs.ts +115 -0
- package/src/utils/index.ts +68 -0
- package/src/utils/paths.ts +67 -0
- package/src/utils/platform.ts +20 -0
- package/src/utils/scheduler.ts +98 -0
- package/src/utils/socket.ts +33 -0
- package/src/utils/time.ts +51 -0
- package/templates/MEMORY.md.example +22 -0
- package/dist/adapters/ollamaClient.d.ts +0 -11
- package/dist/adapters/ollamaClient.d.ts.map +0 -1
- package/dist/adapters/ollamaClient.js +0 -122
- package/dist/adapters/ollamaClient.js.map +0 -1
- package/dist/adapters/openaiCompatClient.d.ts +0 -11
- package/dist/adapters/openaiCompatClient.d.ts.map +0 -1
- package/dist/adapters/openaiCompatClient.js +0 -118
- package/dist/adapters/openaiCompatClient.js.map +0 -1
- package/dist/adapters/piComplete.d.ts +0 -17
- package/dist/adapters/piComplete.d.ts.map +0 -1
- package/dist/adapters/piComplete.js +0 -169
- package/dist/adapters/piComplete.js.map +0 -1
- package/dist/bundle/install.d.ts +0 -34
- package/dist/bundle/install.d.ts.map +0 -1
- package/dist/bundle/install.js +0 -183
- package/dist/bundle/install.js.map +0 -1
- package/dist/cache/memoryCaches.d.ts +0 -32
- package/dist/cache/memoryCaches.d.ts.map +0 -1
- package/dist/cache/memoryCaches.js +0 -59
- package/dist/cache/memoryCaches.js.map +0 -1
- package/dist/config.d.ts +0 -55
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -85
- package/dist/config.js.map +0 -1
- package/dist/consolidation/enqueue.d.ts +0 -33
- package/dist/consolidation/enqueue.d.ts.map +0 -1
- package/dist/consolidation/enqueue.js +0 -145
- package/dist/consolidation/enqueue.js.map +0 -1
- package/dist/consolidation/index.d.ts +0 -19
- package/dist/consolidation/index.d.ts.map +0 -1
- package/dist/consolidation/index.js +0 -15
- package/dist/consolidation/index.js.map +0 -1
- package/dist/consolidation/lock.d.ts +0 -5
- package/dist/consolidation/lock.d.ts.map +0 -1
- package/dist/consolidation/lock.js +0 -33
- package/dist/consolidation/lock.js.map +0 -1
- package/dist/consolidation/log.d.ts +0 -8
- package/dist/consolidation/log.d.ts.map +0 -1
- package/dist/consolidation/log.js +0 -32
- package/dist/consolidation/log.js.map +0 -1
- package/dist/consolidation/memoryIndex.d.ts +0 -18
- package/dist/consolidation/memoryIndex.d.ts.map +0 -1
- package/dist/consolidation/memoryIndex.js +0 -100
- package/dist/consolidation/memoryIndex.js.map +0 -1
- package/dist/consolidation/phase2/runPhase2.d.ts +0 -23
- package/dist/consolidation/phase2/runPhase2.d.ts.map +0 -1
- package/dist/consolidation/phase2/runPhase2.js +0 -196
- package/dist/consolidation/phase2/runPhase2.js.map +0 -1
- package/dist/consolidation/scheduler/launchd.d.ts +0 -5
- package/dist/consolidation/scheduler/launchd.d.ts.map +0 -1
- package/dist/consolidation/scheduler/launchd.js +0 -54
- package/dist/consolidation/scheduler/launchd.js.map +0 -1
- package/dist/consolidation/scheduler/runConsolidate.d.ts +0 -26
- package/dist/consolidation/scheduler/runConsolidate.d.ts.map +0 -1
- package/dist/consolidation/scheduler/runConsolidate.js +0 -83
- package/dist/consolidation/scheduler/runConsolidate.js.map +0 -1
- package/dist/consolidation/scheduler/setupSchedule.d.ts +0 -3
- package/dist/consolidation/scheduler/setupSchedule.d.ts.map +0 -1
- package/dist/consolidation/scheduler/setupSchedule.js +0 -79
- package/dist/consolidation/scheduler/setupSchedule.js.map +0 -1
- package/dist/consolidation/scheduler/systemd.d.ts +0 -9
- package/dist/consolidation/scheduler/systemd.d.ts.map +0 -1
- package/dist/consolidation/scheduler/systemd.js +0 -57
- package/dist/consolidation/scheduler/systemd.js.map +0 -1
- package/dist/consolidation/scheduler/types.d.ts +0 -24
- package/dist/consolidation/scheduler/types.d.ts.map +0 -1
- package/dist/consolidation/scheduler/types.js.map +0 -1
- package/dist/consolidation/scope.d.ts +0 -12
- package/dist/consolidation/scope.d.ts.map +0 -1
- package/dist/consolidation/scope.js +0 -51
- package/dist/consolidation/scope.js.map +0 -1
- package/dist/consolidation/stage1/deltaExtract.d.ts +0 -3
- package/dist/consolidation/stage1/deltaExtract.d.ts.map +0 -1
- package/dist/consolidation/stage1/deltaExtract.js +0 -19
- package/dist/consolidation/stage1/deltaExtract.js.map +0 -1
- package/dist/consolidation/stage1/drainQueue.d.ts +0 -21
- package/dist/consolidation/stage1/drainQueue.d.ts.map +0 -1
- package/dist/consolidation/stage1/drainQueue.js +0 -113
- package/dist/consolidation/stage1/drainQueue.js.map +0 -1
- package/dist/consolidation/stage1/extractSession.d.ts +0 -6
- package/dist/consolidation/stage1/extractSession.d.ts.map +0 -1
- package/dist/consolidation/stage1/extractSession.js +0 -47
- package/dist/consolidation/stage1/extractSession.js.map +0 -1
- package/dist/consolidation/stage1/store.d.ts +0 -45
- package/dist/consolidation/stage1/store.d.ts.map +0 -1
- package/dist/consolidation/stage1/store.js +0 -297
- package/dist/consolidation/stage1/store.js.map +0 -1
- package/dist/consolidation/types.d.ts +0 -49
- package/dist/consolidation/types.d.ts.map +0 -1
- package/dist/errclass.d.ts +0 -7
- package/dist/errclass.d.ts.map +0 -1
- package/dist/errclass.js +0 -32
- package/dist/errclass.js.map +0 -1
- package/dist/extension.d.ts +0 -24
- package/dist/extension.d.ts.map +0 -1
- package/dist/extension.js +0 -7
- package/dist/extension.js.map +0 -1
- package/dist/fallback/index.d.ts +0 -11
- package/dist/fallback/index.d.ts.map +0 -1
- package/dist/fallback/index.js +0 -16
- package/dist/fallback/index.js.map +0 -1
- package/dist/fallback/llmRerank.d.ts +0 -19
- package/dist/fallback/llmRerank.d.ts.map +0 -1
- package/dist/fallback/llmRerank.js +0 -68
- package/dist/fallback/llmRerank.js.map +0 -1
- package/dist/fallback/memoryMd.d.ts +0 -6
- package/dist/fallback/memoryMd.d.ts.map +0 -1
- package/dist/fallback/memoryMd.js +0 -35
- package/dist/fallback/memoryMd.js.map +0 -1
- package/dist/fallback/sessionIndex.d.ts +0 -35
- package/dist/fallback/sessionIndex.d.ts.map +0 -1
- package/dist/fallback/sessionIndex.js +0 -239
- package/dist/fallback/sessionIndex.js.map +0 -1
- package/dist/fallback/sessionSearch.d.ts +0 -18
- package/dist/fallback/sessionSearch.d.ts.map +0 -1
- package/dist/fallback/sessionSearch.js +0 -234
- package/dist/fallback/sessionSearch.js.map +0 -1
- package/dist/local/graphQuery.d.ts +0 -31
- package/dist/local/graphQuery.d.ts.map +0 -1
- package/dist/local/graphQuery.js +0 -195
- package/dist/local/graphQuery.js.map +0 -1
- package/dist/paths.d.ts +0 -7
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -26
- package/dist/paths.js.map +0 -1
- package/dist/preflight/detectIntents.d.ts +0 -102
- package/dist/preflight/detectIntents.d.ts.map +0 -1
- package/dist/preflight/detectIntents.js +0 -631
- package/dist/preflight/detectIntents.js.map +0 -1
- package/dist/preflight/hook.d.ts +0 -76
- package/dist/preflight/hook.d.ts.map +0 -1
- package/dist/preflight/hook.js +0 -122
- package/dist/preflight/hook.js.map +0 -1
- package/dist/service.d.ts +0 -72
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -257
- package/dist/service.js.map +0 -1
- package/dist/session/activeBranch.d.ts +0 -17
- package/dist/session/activeBranch.d.ts.map +0 -1
- package/dist/session/activeBranch.js +0 -251
- package/dist/session/activeBranch.js.map +0 -1
- package/dist/settings.d.ts +0 -41
- package/dist/settings.d.ts.map +0 -1
- package/dist/settings.js +0 -85
- package/dist/settings.js.map +0 -1
- package/dist/sidecar/bundle.d.ts +0 -19
- package/dist/sidecar/bundle.d.ts.map +0 -1
- package/dist/sidecar/bundle.js +0 -39
- package/dist/sidecar/bundle.js.map +0 -1
- package/dist/sidecar/process.d.ts +0 -14
- package/dist/sidecar/process.d.ts.map +0 -1
- package/dist/sidecar/process.js +0 -138
- package/dist/sidecar/process.js.map +0 -1
- package/dist/tools/memoryAppend.d.ts +0 -47
- package/dist/tools/memoryAppend.d.ts.map +0 -1
- package/dist/tools/memoryAppend.js +0 -138
- package/dist/tools/memoryAppend.js.map +0 -1
- package/dist/tools/memoryRecall.d.ts +0 -113
- package/dist/tools/memoryRecall.d.ts.map +0 -1
- package/dist/tools/memoryRecall.js +0 -351
- package/dist/tools/memoryRecall.js.map +0 -1
- package/dist/trainer/bundleBuilder.d.ts +0 -30
- package/dist/trainer/bundleBuilder.d.ts.map +0 -1
- package/dist/trainer/bundleBuilder.js +0 -106
- package/dist/trainer/bundleBuilder.js.map +0 -1
- package/dist/trainer/bundleLoader.d.ts +0 -12
- package/dist/trainer/bundleLoader.d.ts.map +0 -1
- package/dist/trainer/bundleLoader.js +0 -59
- package/dist/trainer/bundleLoader.js.map +0 -1
- package/dist/trainer/deltaMerge.d.ts +0 -38
- package/dist/trainer/deltaMerge.d.ts.map +0 -1
- package/dist/trainer/deltaMerge.js +0 -183
- package/dist/trainer/deltaMerge.js.map +0 -1
- package/dist/trainer/entityResolver.d.ts +0 -27
- package/dist/trainer/entityResolver.d.ts.map +0 -1
- package/dist/trainer/entityResolver.js +0 -92
- package/dist/trainer/entityResolver.js.map +0 -1
- package/dist/trainer/extractFacts.d.ts +0 -67
- package/dist/trainer/extractFacts.d.ts.map +0 -1
- package/dist/trainer/extractFacts.js +0 -213
- package/dist/trainer/extractFacts.js.map +0 -1
- package/dist/trainer/index.d.ts +0 -54
- package/dist/trainer/index.d.ts.map +0 -1
- package/dist/trainer/index.js +0 -82
- package/dist/trainer/index.js.map +0 -1
- package/dist/trainer/llmExtractor.d.ts +0 -16
- package/dist/trainer/llmExtractor.d.ts.map +0 -1
- package/dist/trainer/llmExtractor.js +0 -146
- package/dist/trainer/llmExtractor.js.map +0 -1
- package/dist/trainer/marker.d.ts +0 -10
- package/dist/trainer/marker.d.ts.map +0 -1
- package/dist/trainer/marker.js +0 -28
- package/dist/trainer/marker.js.map +0 -1
- package/dist/trainer/scheduler.d.ts +0 -33
- package/dist/trainer/scheduler.d.ts.map +0 -1
- package/dist/trainer/scheduler.js +0 -73
- package/dist/trainer/scheduler.js.map +0 -1
- package/dist/trainer/sessionLoader.d.ts +0 -26
- package/dist/trainer/sessionLoader.d.ts.map +0 -1
- package/dist/trainer/sessionLoader.js +0 -145
- package/dist/trainer/sessionLoader.js.map +0 -1
- package/dist/types.d.ts +0 -135
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
- package/src/adapters/ollamaClient.ts +0 -179
- package/src/adapters/openaiCompatClient.ts +0 -155
- package/src/adapters/piComplete.ts +0 -233
- package/src/bundle/install.ts +0 -206
- package/src/cache/memoryCaches.ts +0 -72
- package/src/config.ts +0 -180
- package/src/consolidation/enqueue.ts +0 -205
- package/src/consolidation/index.ts +0 -90
- package/src/consolidation/lock.ts +0 -41
- package/src/consolidation/log.ts +0 -43
- package/src/consolidation/memoryIndex.ts +0 -127
- package/src/consolidation/phase2/runPhase2.ts +0 -255
- package/src/consolidation/scheduler/launchd.ts +0 -62
- package/src/consolidation/scheduler/runConsolidate.ts +0 -115
- package/src/consolidation/scheduler/setupSchedule.ts +0 -106
- package/src/consolidation/scheduler/systemd.ts +0 -78
- package/src/consolidation/scheduler/types.ts +0 -27
- package/src/consolidation/scope.ts +0 -58
- package/src/consolidation/stage1/deltaExtract.ts +0 -29
- package/src/consolidation/stage1/drainQueue.ts +0 -143
- package/src/consolidation/stage1/extractSession.ts +0 -58
- package/src/consolidation/stage1/store.ts +0 -411
- package/src/consolidation/types.ts +0 -52
- package/src/errclass.ts +0 -37
- package/src/extension.ts +0 -23
- package/src/fallback/index.ts +0 -24
- package/src/fallback/llmRerank.ts +0 -97
- package/src/fallback/memoryMd.ts +0 -36
- package/src/fallback/sessionIndex.ts +0 -290
- package/src/fallback/sessionSearch.ts +0 -261
- package/src/local/graphQuery.ts +0 -252
- package/src/paths.ts +0 -28
- package/src/preflight/detectIntents.ts +0 -660
- package/src/preflight/hook.ts +0 -213
- package/src/service.ts +0 -306
- package/src/session/activeBranch.ts +0 -294
- package/src/settings.ts +0 -161
- package/src/sidecar/bundle.ts +0 -52
- package/src/sidecar/process.ts +0 -160
- package/src/tools/memoryAppend.ts +0 -166
- package/src/tools/memoryRecall.ts +0 -388
- package/src/trainer/bundleBuilder.ts +0 -192
- package/src/trainer/bundleLoader.ts +0 -105
- package/src/trainer/deltaMerge.ts +0 -221
- package/src/trainer/entityResolver.ts +0 -140
- package/src/trainer/extractFacts.ts +0 -312
- package/src/trainer/index.ts +0 -147
- package/src/trainer/llmExtractor.ts +0 -206
- package/src/trainer/marker.ts +0 -30
- package/src/trainer/scheduler.ts +0 -107
- package/src/trainer/sessionLoader.ts +0 -176
- package/src/types.ts +0 -168
- /package/dist/{consolidation/scheduler → adapters/embed}/types.js +0 -0
- /package/dist/{consolidation → adapters/llm}/types.js +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import orderBy from "lodash/orderBy.js";
|
|
2
|
+
|
|
3
|
+
import { entryDedupeKey } from "./entryKey.js";
|
|
4
|
+
import type { ParsedEntry } from "../store/types.js";
|
|
5
|
+
import { MEMORY_SECTIONS } from "../store/types.js";
|
|
6
|
+
|
|
7
|
+
const SECTION_RANK = new Map(MEMORY_SECTIONS.map((section, index) => [section, index]));
|
|
8
|
+
|
|
9
|
+
/** Rule-based dedupe before optional LLM merge. Prefer user-authored on conflict. */
|
|
10
|
+
export function dedupeEntries(entries: ParsedEntry[]): ParsedEntry[] {
|
|
11
|
+
const byKey = new Map<string, ParsedEntry>();
|
|
12
|
+
|
|
13
|
+
for (const entry of entries) {
|
|
14
|
+
const key = entryDedupeKey(entry);
|
|
15
|
+
const existing = byKey.get(key);
|
|
16
|
+
if (!existing || entry.userAuthored) {
|
|
17
|
+
byKey.set(key, entry);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return orderBy([...byKey.values()], [(entry) => SECTION_RANK.get(entry.section) ?? MEMORY_SECTIONS.length]);
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import groupBy from "lodash/groupBy.js";
|
|
2
|
+
|
|
3
|
+
import type { ParsedEntry } from "../store/types.js";
|
|
4
|
+
import { formatEntryLine, formatSectionHeader } from "../store/markdown/format.js";
|
|
5
|
+
import { MEMORY_SECTIONS } from "../store/types.js";
|
|
6
|
+
|
|
7
|
+
export function formatEntriesForConsolidation(entries: ParsedEntry[]): string {
|
|
8
|
+
const grouped = groupBy(entries, "section");
|
|
9
|
+
const lines: string[] = [];
|
|
10
|
+
|
|
11
|
+
for (const section of MEMORY_SECTIONS) {
|
|
12
|
+
const sectionEntries = grouped[section] ?? [];
|
|
13
|
+
if (sectionEntries.length === 0) continue;
|
|
14
|
+
lines.push(formatSectionHeader(section), "");
|
|
15
|
+
for (const entry of sectionEntries) {
|
|
16
|
+
lines.push(
|
|
17
|
+
formatEntryLine({
|
|
18
|
+
id: entry.id,
|
|
19
|
+
section: entry.section,
|
|
20
|
+
content: entry.content,
|
|
21
|
+
userAuthored: entry.userAuthored,
|
|
22
|
+
timestamp: entry.timestamp,
|
|
23
|
+
}),
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
lines.push("");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return lines.join("\n").trim();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function buildConsolidateMergePrompt(entriesMarkdown: string): string {
|
|
33
|
+
return `You are consolidating a durable MEMORY.md note file for a coding agent.
|
|
34
|
+
|
|
35
|
+
Merge the entries below:
|
|
36
|
+
- Remove exact duplicates and near-duplicates (keep the clearer wording).
|
|
37
|
+
- Remove completed or obsolete TODO items.
|
|
38
|
+
- NEVER remove or rewrite lines marked [user] (user-authored).
|
|
39
|
+
- Keep Preferences, Conventions, Findings, and Todos factual and concise.
|
|
40
|
+
- Output ONLY valid markdown with sections: ## Preferences, ## Conventions, ## Findings, ## Todos
|
|
41
|
+
- Each item is a bullet line using the same format as input (with <!-- id:... --> metadata when present).
|
|
42
|
+
|
|
43
|
+
<memory>
|
|
44
|
+
${entriesMarkdown}
|
|
45
|
+
</memory>`;
|
|
46
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import keyBy from "lodash/keyBy.js";
|
|
2
|
+
|
|
3
|
+
import type { LlmClient } from "../adapters/llm/types.js";
|
|
4
|
+
import { parseMemoryMarkdown } from "../store/markdown/parse.js";
|
|
5
|
+
import type { ParsedEntry } from "../store/types.js";
|
|
6
|
+
import { entryDedupeKey } from "./entryKey.js";
|
|
7
|
+
import { buildConsolidateMergePrompt, formatEntriesForConsolidation } from "./mergePrompt.js";
|
|
8
|
+
import { dedupeEntries } from "./mergeEntries.js";
|
|
9
|
+
|
|
10
|
+
function preserveUserAuthored(original: ParsedEntry[], merged: ParsedEntry[]): ParsedEntry[] {
|
|
11
|
+
const userByContent = keyBy(
|
|
12
|
+
original.filter((entry) => entry.userAuthored),
|
|
13
|
+
entryDedupeKey,
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
return merged.map((entry) => {
|
|
17
|
+
const user = userByContent[entryDedupeKey(entry)];
|
|
18
|
+
if (user) {
|
|
19
|
+
return { ...entry, id: user.id, userAuthored: true, timestamp: user.timestamp };
|
|
20
|
+
}
|
|
21
|
+
return entry;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export async function mergeEntriesWithLlm(
|
|
26
|
+
entries: ParsedEntry[],
|
|
27
|
+
llm: LlmClient,
|
|
28
|
+
signal?: AbortSignal,
|
|
29
|
+
): Promise<ParsedEntry[]> {
|
|
30
|
+
const deduped = dedupeEntries(entries);
|
|
31
|
+
if (deduped.length === 0) return deduped;
|
|
32
|
+
|
|
33
|
+
const prompt = buildConsolidateMergePrompt(formatEntriesForConsolidation(deduped));
|
|
34
|
+
const raw = await llm.complete(prompt, signal);
|
|
35
|
+
const parsed = parseMemoryMarkdown(raw, "consolidate-llm");
|
|
36
|
+
if (parsed.length === 0) return deduped;
|
|
37
|
+
|
|
38
|
+
return preserveUserAuthored(deduped, parsed);
|
|
39
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { LlmClient } from "../adapters/llm/types.js";
|
|
2
|
+
import { sidecarQueryCache } from "../preflight/queryCache.js";
|
|
3
|
+
import { ensureSidecarRunning } from "../sidecar/sidecarManager.js";
|
|
4
|
+
import { reindex } from "../sidecar/client.js";
|
|
5
|
+
import { resolveSidecarPaths } from "../sidecar/paths.js";
|
|
6
|
+
import type { MemoryStore } from "../store/memoryStore.js";
|
|
7
|
+
|
|
8
|
+
const NOOP_LLM: LlmClient = {
|
|
9
|
+
async complete() {
|
|
10
|
+
throw new Error("LLM unavailable");
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type ConsolidateJobStats = {
|
|
15
|
+
entriesBefore: number;
|
|
16
|
+
entriesAfter: number;
|
|
17
|
+
overflowBefore: number;
|
|
18
|
+
overflowAfter: number;
|
|
19
|
+
indexGeneration?: number;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type RunConsolidateJobOptions = {
|
|
23
|
+
store: MemoryStore;
|
|
24
|
+
agentDir: string;
|
|
25
|
+
llm?: LlmClient | null;
|
|
26
|
+
cronFired?: boolean;
|
|
27
|
+
force?: boolean;
|
|
28
|
+
reindex?: boolean;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type RunConsolidateJobResult =
|
|
32
|
+
| { status: "skipped"; reason: "conditions_not_met" | "already_consolidating" }
|
|
33
|
+
| { status: "consolidated"; stats: ConsolidateJobStats }
|
|
34
|
+
| { status: "failed"; error: Error };
|
|
35
|
+
|
|
36
|
+
export async function runConsolidateJob(
|
|
37
|
+
opts: RunConsolidateJobOptions,
|
|
38
|
+
): Promise<RunConsolidateJobResult> {
|
|
39
|
+
const llm = opts.llm ?? NOOP_LLM;
|
|
40
|
+
|
|
41
|
+
if (!opts.force && !(await opts.store.shouldConsolidate(undefined, opts.cronFired))) {
|
|
42
|
+
return { status: "skipped", reason: "conditions_not_met" };
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const before = await opts.store.getStats();
|
|
46
|
+
|
|
47
|
+
try {
|
|
48
|
+
await opts.store.consolidate(llm);
|
|
49
|
+
|
|
50
|
+
let indexGeneration: number | undefined;
|
|
51
|
+
if (opts.reindex !== false) {
|
|
52
|
+
indexGeneration = await syncSidecarIndex(opts.agentDir, opts.store);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const after = await opts.store.getStats();
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
status: "consolidated",
|
|
59
|
+
stats: {
|
|
60
|
+
entriesBefore: before.entryCount,
|
|
61
|
+
entriesAfter: after.entryCount,
|
|
62
|
+
overflowBefore: before.overflowFileCount,
|
|
63
|
+
overflowAfter: after.overflowFileCount,
|
|
64
|
+
indexGeneration,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
} catch (error) {
|
|
68
|
+
return {
|
|
69
|
+
status: "failed",
|
|
70
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
async function syncSidecarIndex(agentDir: string, store: MemoryStore): Promise<number> {
|
|
76
|
+
const sidecar = resolveSidecarPaths(agentDir);
|
|
77
|
+
await ensureSidecarRunning(sidecar);
|
|
78
|
+
const result = await reindex(sidecar.socketPath, await store.exportForIndex());
|
|
79
|
+
sidecarQueryCache.onReindexComplete(agentDir, result.index_generation);
|
|
80
|
+
return result.index_generation;
|
|
81
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import debounce from "lodash/debounce.js";
|
|
2
|
+
|
|
3
|
+
import { DEFAULT_CONSOLIDATE_CHECK_INTERVAL_MS, DEFAULT_CONSOLIDATE_DEBOUNCE_MS } from "../constants/timing.js";
|
|
4
|
+
|
|
5
|
+
import type { LlmClient } from "../adapters/llm/types.js";
|
|
6
|
+
import type { MemoryStore } from "../store/memoryStore.js";
|
|
7
|
+
import { runConsolidateJob } from "./runJob.js";
|
|
8
|
+
|
|
9
|
+
export type ConsolidateScheduler = {
|
|
10
|
+
schedule(): void;
|
|
11
|
+
runNow(opts?: { cronFired?: boolean }): Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export function createConsolidateScheduler(opts: {
|
|
15
|
+
getStore(): MemoryStore | null;
|
|
16
|
+
getAgentDir(): string | null;
|
|
17
|
+
getLlm(): LlmClient | null;
|
|
18
|
+
debounceMs?: number;
|
|
19
|
+
onComplete?(): void | Promise<void>;
|
|
20
|
+
}): ConsolidateScheduler {
|
|
21
|
+
const runNow = async (runOpts: { cronFired?: boolean } = {}): Promise<void> => {
|
|
22
|
+
const store = opts.getStore();
|
|
23
|
+
const agentDir = opts.getAgentDir();
|
|
24
|
+
if (!store || !agentDir) return;
|
|
25
|
+
|
|
26
|
+
const result = await runConsolidateJob({
|
|
27
|
+
store,
|
|
28
|
+
agentDir,
|
|
29
|
+
llm: opts.getLlm(),
|
|
30
|
+
cronFired: runOpts.cronFired ?? false,
|
|
31
|
+
reindex: true,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
if (result.status === "consolidated") {
|
|
35
|
+
await opts.onComplete?.();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const schedule = debounce(() => {
|
|
40
|
+
void runNow();
|
|
41
|
+
}, opts.debounceMs ?? DEFAULT_CONSOLIDATE_DEBOUNCE_MS);
|
|
42
|
+
|
|
43
|
+
return { schedule, runNow };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Periodic check for the 7-day (and other time-based) consolidate conditions. */
|
|
47
|
+
export function startConsolidateInterval(
|
|
48
|
+
tick: () => void,
|
|
49
|
+
intervalMs = DEFAULT_CONSOLIDATE_CHECK_INTERVAL_MS,
|
|
50
|
+
): () => void {
|
|
51
|
+
const timer = setInterval(tick, intervalMs);
|
|
52
|
+
timer.unref?.();
|
|
53
|
+
return () => clearInterval(timer);
|
|
54
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Max characters per vector chunk before splitting a Memory Entry. */
|
|
2
|
+
export const DEFAULT_CHUNK_MAX_CHARS = 512;
|
|
3
|
+
|
|
4
|
+
export const MIN_CHUNK_MAX_CHARS = 128;
|
|
5
|
+
export const MAX_CHUNK_MAX_CHARS = 4_000;
|
|
6
|
+
|
|
7
|
+
/** Values <= 0 disable splitting (one chunk per entry, still section-prefixed). */
|
|
8
|
+
export const CHUNKING_DISABLED_MAX_CHARS = 0;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export type EmbedderProvider = "hash" | "openai" | "ollama";
|
|
2
|
+
|
|
3
|
+
/** process.env keys (PI_MEMORY_*). */
|
|
4
|
+
export const ENV_KEYS = {
|
|
5
|
+
EMBEDDER: "PI_MEMORY_EMBEDDER",
|
|
6
|
+
EMBED_DIM: "PI_MEMORY_EMBED_DIM",
|
|
7
|
+
OPENAI_API_KEY: "PI_MEMORY_OPENAI_API_KEY",
|
|
8
|
+
OPENAI_EMBED_MODEL: "PI_MEMORY_OPENAI_EMBED_MODEL",
|
|
9
|
+
OLLAMA_BASE_URL: "PI_MEMORY_OLLAMA_BASE_URL",
|
|
10
|
+
OLLAMA_EMBED_MODEL: "PI_MEMORY_OLLAMA_EMBED_MODEL",
|
|
11
|
+
OLLAMA_LLM_BASE_URL: "PI_MEMORY_OLLAMA_LLM_BASE_URL",
|
|
12
|
+
OLLAMA_LLM_MODEL: "PI_MEMORY_OLLAMA_LLM_MODEL",
|
|
13
|
+
HELPER_MODEL: "PI_MEMORY_HELPER_MODEL",
|
|
14
|
+
HELPER_API_KEY: "PI_MEMORY_HELPER_API_KEY",
|
|
15
|
+
OPENAI_COMPAT_BASE_URL: "PI_MEMORY_OPENAI_COMPAT_BASE_URL",
|
|
16
|
+
OPENAI_COMPAT_MODEL: "PI_MEMORY_OPENAI_COMPAT_MODEL",
|
|
17
|
+
OPENAI_COMPAT_API_KEY: "PI_MEMORY_OPENAI_COMPAT_API_KEY",
|
|
18
|
+
HTTP_TIMEOUT_MS: "PI_MEMORY_HTTP_TIMEOUT_MS",
|
|
19
|
+
PREFLIGHT_BUDGET_MS: "PI_MEMORY_PREFLIGHT_BUDGET_MS",
|
|
20
|
+
/** @deprecated Use PI_MEMORY_PREFLIGHT_BUDGET_MS */
|
|
21
|
+
PREFLIGHT_TIMEOUT_MS: "PI_MEMORY_PREFLIGHT_TIMEOUT_MS",
|
|
22
|
+
REINDEX_DEBOUNCE_MS: "PI_MEMORY_REINDEX_DEBOUNCE_MS",
|
|
23
|
+
CONSOLIDATE_DEBOUNCE_MS: "PI_MEMORY_CONSOLIDATE_DEBOUNCE_MS",
|
|
24
|
+
TOP_K: "PI_MEMORY_TOP_K",
|
|
25
|
+
MMR_LAMBDA: "PI_MEMORY_MMR_LAMBDA",
|
|
26
|
+
MIN_RELEVANCE: "PI_MEMORY_MIN_RELEVANCE",
|
|
27
|
+
CHUNK_MAX_CHARS: "PI_MEMORY_CHUNK_MAX_CHARS",
|
|
28
|
+
AGENT_DIR: "PI_MEMORY_AGENT_DIR",
|
|
29
|
+
ENV_FILE: "PI_MEMORY_ENV_FILE",
|
|
30
|
+
DEBUG: "PI_MEMORY_DEBUG",
|
|
31
|
+
} as const;
|
|
32
|
+
|
|
33
|
+
/** Fallback OPENAI_API_KEY when PI_MEMORY_OPENAI_API_KEY unset. */
|
|
34
|
+
export const FALLBACK_OPENAI_API_KEY_ENV = "OPENAI_API_KEY";
|
|
35
|
+
|
|
36
|
+
export const DEFAULT_EMBEDDER: EmbedderProvider = "hash";
|
|
37
|
+
export const DEFAULT_OPENAI_EMBED_MODEL = "text-embedding-3-small";
|
|
38
|
+
export const DEFAULT_OLLAMA_BASE_URL = "http://127.0.0.1:11434";
|
|
39
|
+
export const DEFAULT_OLLAMA_EMBED_MODEL = "nomic-embed-text";
|
|
40
|
+
|
|
41
|
+
export const DEFAULT_HELPER_PROVIDER = "deepseek";
|
|
42
|
+
export const DEFAULT_HELPER_MODEL = "deepseek-v4-flash";
|
|
43
|
+
export const DEFAULT_HELPER_MODEL_SPEC = `${DEFAULT_HELPER_PROVIDER}/${DEFAULT_HELPER_MODEL}`;
|
|
44
|
+
|
|
45
|
+
export const DEFAULT_EMBED_DIM_FALLBACK = 1536;
|
|
46
|
+
|
|
47
|
+
/** Known embedding dimensions; override with PI_MEMORY_EMBED_DIM if needed. */
|
|
48
|
+
export const KNOWN_EMBED_DIMS: Record<string, number> = {
|
|
49
|
+
"text-embedding-3-small": 1536,
|
|
50
|
+
"text-embedding-3-large": 3072,
|
|
51
|
+
"nomic-embed-text": 768,
|
|
52
|
+
"mxbai-embed-large": 1024,
|
|
53
|
+
"all-minilm": 384,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const DEFAULT_HASH_EMBED_DIM = 768;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const DEFAULT_MEMORY_FILE = "MEMORY.md";
|
|
2
|
+
export const MEMORY_GC_FILE = ".memory_gc";
|
|
3
|
+
export const COMPACTION_STATE_FILE = ".memory_compactions.json";
|
|
4
|
+
export const SHUTDOWN_QUEUE_FILE = ".memory_shutdown_queue.jsonl";
|
|
5
|
+
export const SHUTDOWN_PROCESSED_FILE = ".memory_shutdown_processed.json";
|
|
6
|
+
export const AUTO_FILE_PREFIX = "auto-";
|
|
7
|
+
|
|
8
|
+
export const OVERFLOW_POINTER_RE =
|
|
9
|
+
/^-\s*\(overflow\)\s*→\s*(auto-[\w-]+\.md)\s*(?:<!--.*?-->)?\s*$/;
|
|
10
|
+
|
|
11
|
+
export const MEMORY_SECTIONS = ["Preferences", "Conventions", "Findings", "Todos"] as const;
|
|
12
|
+
export type MemorySection = (typeof MEMORY_SECTIONS)[number];
|
|
13
|
+
|
|
14
|
+
/** MEMORY.md line cap before spilling to auto-*.md. */
|
|
15
|
+
export const DEFAULT_MAX_LINES = 150;
|
|
16
|
+
|
|
17
|
+
/** Max chars for MEMORY.md fallback injection in preflight. */
|
|
18
|
+
export const DEFAULT_FALLBACK_MAX_CHARS = 8_000;
|
|
19
|
+
|
|
20
|
+
/** Consolidate triggers (OR). */
|
|
21
|
+
export const CONSOLIDATE_OVERFLOW_FILE_THRESHOLD = 12;
|
|
22
|
+
export const CONSOLIDATE_GC_INTERVAL_DAYS = 7;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Default memory data root under ~/.pi/ (MEMORY.md, sidecar, vector DB). */
|
|
2
|
+
export const PI_MEMORY_DATA_SUBDIR = "pi-memory-data";
|
|
3
|
+
/** pi-memory config file under ~/.pi/agent/ (not a generic dotenv at ~/.pi root). */
|
|
4
|
+
export const PI_MEMORY_ENV_FILE_NAME = "pi-memory.env";
|
|
5
|
+
export const PI_LOGS_SUBDIR = "logs";
|
|
6
|
+
|
|
7
|
+
/** Sidecar IPC + index files (under agent dir). */
|
|
8
|
+
export const SIDECAR_SOCKET_FILE = "memory.sock";
|
|
9
|
+
export const SIDECAR_DB_FILE = "memory.vec.sqlite";
|
|
10
|
+
export const SIDECAR_PID_SUFFIX = ".pid";
|
|
11
|
+
export const SIDECAR_SPAWN_LOCK_FILE = "sidecar.spawn.lock";
|
|
12
|
+
|
|
13
|
+
/** Consolidate / maintenance scheduler log basenames (under ~/.pi/logs). */
|
|
14
|
+
export const CONSOLIDATE_LOG_FILE = "maintenance.log";
|
|
15
|
+
export const CONSOLIDATE_ERR_LOG_FILE = "maintenance.err.log";
|
|
16
|
+
|
|
17
|
+
/** OS scheduler identifiers. */
|
|
18
|
+
export const LAUNCHD_LABEL = "com.pi.memory.maintenance";
|
|
19
|
+
export const SCHTASKS_TASK_NAME = "PiMemoryMaintenance";
|
|
20
|
+
|
|
21
|
+
export const SCHEDULER_TEMPLATE_FILES = {
|
|
22
|
+
launchd: "com.pi.memory.consolidate.plist.example",
|
|
23
|
+
crontab: "crontab.example",
|
|
24
|
+
windowsCmd: "consolidate.cmd.example",
|
|
25
|
+
windowsSchtasks: "schtasks.example.txt",
|
|
26
|
+
} as const;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Injected private memory block size cap. */
|
|
2
|
+
export const PRIVATE_MEMORY_BODY_BYTE_CAP = 8 * 1024;
|
|
3
|
+
|
|
4
|
+
export const PRIVATE_MEMORY_TAG = "private_memory";
|
|
5
|
+
export const PRIVATE_MEMORY_OPEN = `<${PRIVATE_MEMORY_TAG}>`;
|
|
6
|
+
export const PRIVATE_MEMORY_CLOSE = `</${PRIVATE_MEMORY_TAG}>`;
|
|
7
|
+
|
|
8
|
+
/** Regex gate: skip episodic preflight for short generic prompts. */
|
|
9
|
+
export const MEMORY_CUE_RE =
|
|
10
|
+
/(?:\b(recent|recently|last time|continue|previous|remember|recall|before|earlier)\b|之前|上次|继续|记得|回忆|刚才)/i;
|
|
11
|
+
|
|
12
|
+
export const PREFLIGHT_SKIP_MIN_LENGTH = 12;
|
|
13
|
+
export const PREFLIGHT_EXTRACT_MIN_LENGTH = 24;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const DEFAULT_TOP_K = 3;
|
|
2
|
+
export const CANDIDATE_POOL_MULTIPLIER = 3;
|
|
3
|
+
export const MMR_LAMBDA = 0.8;
|
|
4
|
+
/** Minimum cosine similarity (0–1) for a chunk to enter the candidate pool. */
|
|
5
|
+
export const DEFAULT_MIN_RELEVANCE = 0.4;
|
|
6
|
+
|
|
7
|
+
export const MIN_TOP_K = 1;
|
|
8
|
+
export const MAX_TOP_K = 20;
|
|
9
|
+
export const MIN_MMR_LAMBDA = 0;
|
|
10
|
+
export const MAX_MMR_LAMBDA = 1;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
2
|
+
|
|
3
|
+
/** HTTP / LLM adapters. */
|
|
4
|
+
export const DEFAULT_HTTP_TIMEOUT_MS = 30_000;
|
|
5
|
+
export const DEFAULT_LLM_COMPAT_TIMEOUT_MS = 120_000;
|
|
6
|
+
|
|
7
|
+
/** Preflight episodic retrieval (shared deadline for intent + sidecar). */
|
|
8
|
+
export const DEFAULT_PREFLIGHT_BUDGET_MS = 800;
|
|
9
|
+
export const MIN_PREFLIGHT_BUDGET_MS = 250;
|
|
10
|
+
export const MAX_PREFLIGHT_BUDGET_MS = 1_500;
|
|
11
|
+
/** Minimum time reserved for sidecar embed + scan after intent extraction. */
|
|
12
|
+
export const MIN_PREFLIGHT_SIDECAR_RESERVE_MS = 200;
|
|
13
|
+
|
|
14
|
+
/** @deprecated Use DEFAULT_PREFLIGHT_BUDGET_MS */
|
|
15
|
+
export const DEFAULT_PREFLIGHT_TIMEOUT_MS = DEFAULT_PREFLIGHT_BUDGET_MS;
|
|
16
|
+
|
|
17
|
+
/** Sidecar query cache (extension process). */
|
|
18
|
+
export const QUERY_CACHE_MAX_ENTRIES = 500;
|
|
19
|
+
|
|
20
|
+
/** Debounced sidecar reindex after MEMORY writes. */
|
|
21
|
+
export const DEFAULT_REINDEX_DEBOUNCE_MS = 500;
|
|
22
|
+
|
|
23
|
+
/** Debounced consolidate check after MEMORY writes. */
|
|
24
|
+
export const DEFAULT_CONSOLIDATE_DEBOUNCE_MS = 2_000;
|
|
25
|
+
|
|
26
|
+
/** Session-alive periodic shouldConsolidate tick (7-day catch-up). */
|
|
27
|
+
export const DEFAULT_CONSOLIDATE_CHECK_INTERVAL_MS = MS_PER_DAY;
|
|
28
|
+
|
|
29
|
+
/** OS scheduler daily consolidate slot. */
|
|
30
|
+
export const CONSOLIDATE_CRON_HOUR = 3;
|
|
31
|
+
export const CONSOLIDATE_CRON_MINUTE = 0;
|
|
32
|
+
|
|
33
|
+
/** Sidecar process lifecycle. */
|
|
34
|
+
export const SIDECAR_START_TIMEOUT_MS = 5_000;
|
|
35
|
+
export const SIDECAR_SPAWN_LOCK_STALE_MS = 10_000;
|
|
36
|
+
export const SIDECAR_FORCE_KILL_DELAY_MS = 5_000;
|
|
37
|
+
|
|
38
|
+
/** Sidecar client RPC timeouts. */
|
|
39
|
+
export const SIDECAR_PING_TIMEOUT_MS = 1_000;
|
|
40
|
+
export const SIDECAR_QUERY_TIMEOUT_MS = 3_000;
|
|
41
|
+
export const SIDECAR_REINDEX_TIMEOUT_MS = 10_000;
|
|
42
|
+
|
|
43
|
+
/** proper-lockfile on MEMORY.md. */
|
|
44
|
+
export const MEMORY_LOCK_RETRIES = 5;
|
|
45
|
+
export const MEMORY_LOCK_MIN_TIMEOUT_MS = 100;
|
|
46
|
+
export const MEMORY_LOCK_MAX_TIMEOUT_MS = 500;
|