@chendpoc/pi-memory 0.1.12 → 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 +67 -187
- 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 +2 -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 +2 -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 +68 -231
- 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/commands/types.js.map +1 -0
- 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 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -27
- 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 +194 -219
- 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 -19
- package/dist/preflight/render.d.ts.map +1 -1
- package/dist/preflight/render.js +29 -106
- 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 +40 -12
- 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 +82 -232
- 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 -241
- package/src/init/workspace.ts +44 -0
- package/src/ipc/jsonlFramer.ts +29 -0
- package/src/pi-extension.ts +186 -316
- 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 -173
- 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/config.d.ts +0 -27
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -49
- package/dist/config.js.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 -60
- 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 -287
- 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 -21
- package/dist/local/graphQuery.d.ts.map +0 -1
- package/dist/local/graphQuery.js +0 -170
- 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 -624
- package/dist/preflight/detectIntents.js.map +0 -1
- package/dist/preflight/hook.d.ts +0 -58
- package/dist/preflight/hook.d.ts.map +0 -1
- package/dist/preflight/hook.js +0 -77
- package/dist/preflight/hook.js.map +0 -1
- package/dist/service.d.ts +0 -56
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -200
- package/dist/service.js.map +0 -1
- package/dist/settings.d.ts +0 -38
- package/dist/settings.d.ts.map +0 -1
- package/dist/settings.js +0 -68
- 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 -37
- package/dist/tools/memoryAppend.d.ts.map +0 -1
- package/dist/tools/memoryAppend.js +0 -99
- 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 -325
- 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 -31
- package/dist/trainer/scheduler.d.ts.map +0 -1
- package/dist/trainer/scheduler.js +0 -72
- package/dist/trainer/scheduler.js.map +0 -1
- package/dist/trainer/sessionLoader.d.ts +0 -23
- package/dist/trainer/sessionLoader.d.ts.map +0 -1
- package/dist/trainer/sessionLoader.js +0 -182
- 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 -92
- 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 -327
- 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 -199
- package/src/service.ts +0 -306
- package/src/settings.ts +0 -126
- package/src/sidecar/bundle.ts +0 -52
- package/src/sidecar/process.ts +0 -160
- package/src/tools/memoryAppend.ts +0 -113
- 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 -225
- package/src/types.ts +0 -168
|
@@ -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;
|
package/src/index.ts
CHANGED
|
@@ -1,241 +1,11 @@
|
|
|
1
|
-
export type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
QueryMode,
|
|
13
|
-
QueryRequest,
|
|
14
|
-
ReloadResponse,
|
|
15
|
-
ResponseEnvelope,
|
|
16
|
-
ServiceStatus,
|
|
17
|
-
ToolResult,
|
|
18
|
-
Warning,
|
|
19
|
-
} from "./types.js";
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
defaultMemoryConfig,
|
|
23
|
-
normalizeMemoryConfig,
|
|
24
|
-
type MemoryConfig,
|
|
25
|
-
type MemoryProvider,
|
|
26
|
-
} from "./config.js";
|
|
27
|
-
|
|
28
|
-
export {
|
|
29
|
-
defaultMemoryConfigPath,
|
|
30
|
-
loadMemoryConfig,
|
|
31
|
-
loadMemorySettings,
|
|
32
|
-
resolveHelperModelSpec,
|
|
33
|
-
type LoadedMemorySettings,
|
|
34
|
-
type MemorySettingsFile,
|
|
35
|
-
} from "./settings.js";
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
defaultBundleRoot,
|
|
39
|
-
defaultPiHome,
|
|
40
|
-
defaultSessionsDir,
|
|
41
|
-
defaultSocketPath,
|
|
42
|
-
expandPath,
|
|
43
|
-
} from "./paths.js";
|
|
44
|
-
|
|
45
|
-
export {
|
|
46
|
-
classifyHTTP,
|
|
47
|
-
classifyTransportError,
|
|
48
|
-
ErrTransport,
|
|
49
|
-
type ErrorClass,
|
|
50
|
-
} from "./errclass.js";
|
|
51
|
-
|
|
52
|
-
export { SidecarClient } from "./sidecar/client.js";
|
|
53
|
-
export {
|
|
54
|
-
currentBundleReadable,
|
|
55
|
-
readCurrentManifest,
|
|
56
|
-
type BundleManifest,
|
|
57
|
-
} from "./sidecar/bundle.js";
|
|
58
|
-
|
|
59
|
-
export {
|
|
60
|
-
installBundle,
|
|
61
|
-
retainBundles,
|
|
62
|
-
validateManifestPath,
|
|
63
|
-
versionInRange,
|
|
64
|
-
type InstallBundleOptions,
|
|
65
|
-
type InstallBundleResult,
|
|
66
|
-
} from "./bundle/install.js";
|
|
67
|
-
|
|
68
|
-
export {
|
|
69
|
-
createFallbackQuery,
|
|
70
|
-
memoryMdSnippet,
|
|
71
|
-
sessionKeywordSearch,
|
|
72
|
-
type FallbackOptions,
|
|
73
|
-
type SessionSearchHit,
|
|
74
|
-
} from "./fallback/index.js";
|
|
75
|
-
export { SidecarProcess } from "./sidecar/process.js";
|
|
76
|
-
|
|
77
|
-
export {
|
|
78
|
-
MemoryService,
|
|
79
|
-
type MemoryServiceStatus,
|
|
80
|
-
type QueryBatchResult,
|
|
81
|
-
} from "./service.js";
|
|
82
|
-
|
|
83
|
-
export {
|
|
84
|
-
COMPILE_MEMORY_INTENTS_PARAMETERS,
|
|
85
|
-
MEMORY_HELPER_TOOL_NAME,
|
|
86
|
-
cleanMemoryAnchor,
|
|
87
|
-
defaultDirectMemoryIntent,
|
|
88
|
-
detectExactMemoryIntents,
|
|
89
|
-
detectMemoryIntents,
|
|
90
|
-
looksLikeTaskText,
|
|
91
|
-
looksMemoryRelevant,
|
|
92
|
-
sanitizeMemoryIntents,
|
|
93
|
-
type CompileMemoryIntentsResult,
|
|
94
|
-
type DetectIntentsOptions,
|
|
95
|
-
type MemoryHelperLLM,
|
|
96
|
-
} from "./preflight/detectIntents.js";
|
|
97
|
-
|
|
98
|
-
export {
|
|
99
|
-
PRIVATE_MEMORY_BODY_BYTE_CAP,
|
|
100
|
-
SEMANTIC_FALLBACK_CANDIDATES,
|
|
101
|
-
renderFallbackPrivateMemory,
|
|
102
|
-
renderPrivateMemoryContext,
|
|
103
|
-
sanitizeUserBlock,
|
|
104
|
-
truncatePrivateMemoryBody,
|
|
105
|
-
type FallbackRenderOptions,
|
|
106
|
-
type PreflightQueryResult,
|
|
107
|
-
} from "./preflight/render.js";
|
|
108
|
-
|
|
109
|
-
export {
|
|
110
|
-
injectPrivateMemoryContext,
|
|
111
|
-
stripPrivateMemory,
|
|
112
|
-
} from "./preflight/strip.js";
|
|
113
|
-
|
|
114
|
-
export {
|
|
115
|
-
MEMORY_PREFLIGHT_QUERY_TIMEOUT_MS,
|
|
116
|
-
createBeforeTurnHook,
|
|
117
|
-
runMemoryPreflight,
|
|
118
|
-
type BeforeTurnHook,
|
|
119
|
-
type BeforeTurnInput,
|
|
120
|
-
type MemoryPreflightOptions,
|
|
121
|
-
type MemoryPreflightResult,
|
|
122
|
-
} from "./preflight/hook.js";
|
|
123
|
-
|
|
124
|
-
export {
|
|
125
|
-
createMemoryRecallTool,
|
|
126
|
-
createStubFallback,
|
|
127
|
-
MemoryRecallTool,
|
|
128
|
-
MEMORY_RECALL_DESCRIPTION,
|
|
129
|
-
MEMORY_RECALL_NAME,
|
|
130
|
-
MEMORY_RECALL_PARAMETERS,
|
|
131
|
-
} from "./tools/memoryRecall.js";
|
|
132
|
-
|
|
133
|
-
export {
|
|
134
|
-
appendToMemoryMd,
|
|
135
|
-
createMemoryAppendTool,
|
|
136
|
-
MemoryAppendTool,
|
|
137
|
-
MEMORY_APPEND_DESCRIPTION,
|
|
138
|
-
MEMORY_APPEND_NAME,
|
|
139
|
-
MEMORY_APPEND_PARAMETERS,
|
|
140
|
-
} from "./tools/memoryAppend.js";
|
|
141
|
-
|
|
142
|
-
export {
|
|
143
|
-
default as piMemoryExtension,
|
|
144
|
-
getSharedMemoryService,
|
|
145
|
-
type PiAgentTool,
|
|
146
|
-
type PiExtensionAPI,
|
|
147
|
-
} from "./extension.js";
|
|
148
|
-
|
|
149
|
-
export {
|
|
150
|
-
createMemoryHelperLLM,
|
|
151
|
-
createPiLLMClient,
|
|
152
|
-
createStandaloneLLMClient,
|
|
153
|
-
DEFAULT_HELPER_MODEL,
|
|
154
|
-
DEFAULT_HELPER_PROVIDER,
|
|
155
|
-
parseModelSpec,
|
|
156
|
-
resolveMemoryHelperLLM,
|
|
157
|
-
} from "./adapters/piComplete.js";
|
|
158
|
-
|
|
159
|
-
export {
|
|
160
|
-
trainBundle,
|
|
161
|
-
loadSessions,
|
|
162
|
-
extractFacts,
|
|
163
|
-
extractFactsFromSessions,
|
|
164
|
-
resolveEntities,
|
|
165
|
-
buildBundle,
|
|
166
|
-
readMarker,
|
|
167
|
-
writeMarker,
|
|
168
|
-
loadExistingBundle,
|
|
169
|
-
deltaMerge,
|
|
170
|
-
RELATION_CATALOG,
|
|
171
|
-
ALL_RELATIONS,
|
|
172
|
-
type TrainBundleConfig,
|
|
173
|
-
type TrainBundleResult,
|
|
174
|
-
type LoadedSession,
|
|
175
|
-
type SessionTurn,
|
|
176
|
-
type SessionLoaderOptions,
|
|
177
|
-
type ExtractedEntity,
|
|
178
|
-
type ExtractedRelation,
|
|
179
|
-
type ExtractedEvent,
|
|
180
|
-
type ExtractionResult,
|
|
181
|
-
type EntityType,
|
|
182
|
-
type LLMFactExtractor,
|
|
183
|
-
type ExtractFactsOptions,
|
|
184
|
-
type ResolvedEntity,
|
|
185
|
-
type ResolvedRelation,
|
|
186
|
-
type ResolvedGraph,
|
|
187
|
-
type BundleData,
|
|
188
|
-
type BuildBundleOptions,
|
|
189
|
-
type BuildBundleResult,
|
|
190
|
-
type ExistingBundle,
|
|
191
|
-
type DeltaOp,
|
|
192
|
-
type DeltaLogEntry,
|
|
193
|
-
type DeltaLog,
|
|
194
|
-
type MergeResult,
|
|
195
|
-
} from "./trainer/index.js";
|
|
196
|
-
|
|
197
|
-
export {
|
|
198
|
-
createLLMFactExtractor,
|
|
199
|
-
type LLMClient,
|
|
200
|
-
type LLMExtractorOptions,
|
|
201
|
-
} from "./trainer/llmExtractor.js";
|
|
202
|
-
|
|
203
|
-
export {
|
|
204
|
-
createTrainScheduler,
|
|
205
|
-
parseInterval,
|
|
206
|
-
type SchedulerConfig,
|
|
207
|
-
type TrainScheduler,
|
|
208
|
-
type SchedulerLog,
|
|
209
|
-
type SchedulerLogger,
|
|
210
|
-
} from "./trainer/scheduler.js";
|
|
211
|
-
|
|
212
|
-
export {
|
|
213
|
-
openSessionIndex,
|
|
214
|
-
type SessionIndex,
|
|
215
|
-
type SqliteDatabase,
|
|
216
|
-
} from "./fallback/sessionIndex.js";
|
|
217
|
-
|
|
218
|
-
export { defaultSessionDbPath } from "./fallback/sessionSearch.js";
|
|
219
|
-
|
|
220
|
-
export { LocalGraphQuerier } from "./local/graphQuery.js";
|
|
221
|
-
|
|
222
|
-
export {
|
|
223
|
-
createOllamaLLMClient,
|
|
224
|
-
createOllamaMemoryHelper,
|
|
225
|
-
ollamaHealthCheck,
|
|
226
|
-
DEFAULT_OLLAMA_CONFIG,
|
|
227
|
-
type OllamaConfig,
|
|
228
|
-
} from "./adapters/ollamaClient.js";
|
|
229
|
-
|
|
230
|
-
export {
|
|
231
|
-
createOpenAICompatLLMClient,
|
|
232
|
-
createOpenAICompatMemoryHelper,
|
|
233
|
-
openaiCompatHealthCheck,
|
|
234
|
-
type OpenAICompatConfig,
|
|
235
|
-
} from "./adapters/openaiCompatClient.js";
|
|
236
|
-
|
|
237
|
-
export {
|
|
238
|
-
rerankWithLLM,
|
|
239
|
-
type RerankOptions,
|
|
240
|
-
type RankedResult,
|
|
241
|
-
} from "./fallback/llmRerank.js";
|
|
1
|
+
export { initializeMemoryWorkspace, type InitMemoryWorkspaceResult } from "./init/workspace.js";
|
|
2
|
+
export { loadEnv } from "./config/loadEnv.js";
|
|
3
|
+
export { resolveAgentDirFromEnv, resolveMemoryAgentDir, type ResolveMemoryAgentDirOptions } from "./config/agentDir.js";
|
|
4
|
+
export { readPiMemoryEnv, resolveEmbedDim, type PiMemoryEnv } from "./config/env.js";
|
|
5
|
+
export { runConsolidateJob, type RunConsolidateJobResult } from "./consolidate/runJob.js";
|
|
6
|
+
export * from "./constants/index.js";
|
|
7
|
+
export * from "./utils/index.js";
|
|
8
|
+
export { MemoryStore } from "./store/memoryStore.js";
|
|
9
|
+
export { ensureSidecarRunning, stopSidecar } from "./sidecar/sidecarManager.js";
|
|
10
|
+
export { query, reindex, ping } from "./sidecar/client.js";
|
|
11
|
+
export { createLlmClient, type LlmClient } from "./adapters/llm/index.js";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DEFAULT_MEMORY_FILE } from "../constants/memory.js";
|
|
2
|
+
import { MarkdownMemoryBackend } from "../store/backend.js";
|
|
3
|
+
import { defaultMemoryTemplate } from "../store/markdown/template.js";
|
|
4
|
+
import { resolveAgentDir } from "../store/paths.js";
|
|
5
|
+
import { joinPath, readText } from "../utils/fs.js";
|
|
6
|
+
|
|
7
|
+
export type InitMemoryWorkspaceResult = {
|
|
8
|
+
agentDir: string;
|
|
9
|
+
memoryFile: string;
|
|
10
|
+
created: boolean;
|
|
11
|
+
skipped: boolean;
|
|
12
|
+
reason?: "already_initialized";
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Ensure the memory data directory exists and MEMORY.md follows the canonical template.
|
|
17
|
+
* Never overwrites a non-empty MEMORY.md.
|
|
18
|
+
*/
|
|
19
|
+
export async function initializeMemoryWorkspace(agentDir: string): Promise<InitMemoryWorkspaceResult> {
|
|
20
|
+
const resolved = resolveAgentDir(agentDir);
|
|
21
|
+
const memoryFile = joinPath(resolved, DEFAULT_MEMORY_FILE);
|
|
22
|
+
const backend = new MarkdownMemoryBackend(memoryFile);
|
|
23
|
+
|
|
24
|
+
await backend.ensureAgentDir();
|
|
25
|
+
|
|
26
|
+
const existing = await backend.readText(memoryFile);
|
|
27
|
+
if (existing.trim()) {
|
|
28
|
+
return {
|
|
29
|
+
agentDir: resolved,
|
|
30
|
+
memoryFile,
|
|
31
|
+
created: false,
|
|
32
|
+
skipped: true,
|
|
33
|
+
reason: "already_initialized",
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
await backend.writeText(memoryFile, defaultMemoryTemplate());
|
|
38
|
+
return { agentDir: resolved, memoryFile, created: true, skipped: false };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Read bundled template from templates/MEMORY.md.example (postinstall / docs). */
|
|
42
|
+
export async function readMemoryTemplateExample(packageRoot: string): Promise<string> {
|
|
43
|
+
return readText(joinPath(packageRoot, "templates", "MEMORY.md.example"));
|
|
44
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Incremental JSONL (one JSON object per line) framing for UDS IPC. */
|
|
2
|
+
|
|
3
|
+
export class JsonlFramer {
|
|
4
|
+
private buffer = "";
|
|
5
|
+
|
|
6
|
+
push(chunk: string): string[] {
|
|
7
|
+
this.buffer += chunk;
|
|
8
|
+
const lines: string[] = [];
|
|
9
|
+
let idx: number;
|
|
10
|
+
while ((idx = this.buffer.indexOf("\n")) !== -1) {
|
|
11
|
+
const line = this.buffer.slice(0, idx);
|
|
12
|
+
this.buffer = this.buffer.slice(idx + 1);
|
|
13
|
+
if (line.trim()) lines.push(line);
|
|
14
|
+
}
|
|
15
|
+
return lines;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
reset(): void {
|
|
19
|
+
this.buffer = "";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function serializeJsonlFrame(value: unknown): string {
|
|
24
|
+
return `${JSON.stringify(value)}\n`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function parseJsonlLine<T>(line: string): T {
|
|
28
|
+
return JSON.parse(line) as T;
|
|
29
|
+
}
|