@hasna/mementos 0.14.86 → 0.14.88
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/bun.lock +3 -0
- package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts +2 -0
- package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts.map +1 -0
- package/dist/cli/__fixtures__/io-restore-stub-server.d.ts +2 -0
- package/dist/cli/__fixtures__/io-restore-stub-server.d.ts.map +1 -0
- package/dist/cli/brains.d.ts +3 -0
- package/dist/cli/brains.d.ts.map +1 -0
- package/dist/cli/commands/agent.d.ts +3 -0
- package/dist/cli/commands/agent.d.ts.map +1 -0
- package/dist/cli/commands/consolidation.d.ts +3 -0
- package/dist/cli/commands/consolidation.d.ts.map +1 -0
- package/dist/cli/commands/entity.d.ts +3 -0
- package/dist/cli/commands/entity.d.ts.map +1 -0
- package/dist/cli/commands/graph.d.ts +3 -0
- package/dist/cli/commands/graph.d.ts.map +1 -0
- package/dist/cli/commands/info-context.d.ts +3 -0
- package/dist/cli/commands/info-context.d.ts.map +1 -0
- package/dist/cli/commands/info-history.d.ts +3 -0
- package/dist/cli/commands/info-history.d.ts.map +1 -0
- package/dist/cli/commands/info-report.d.ts +3 -0
- package/dist/cli/commands/info-report.d.ts.map +1 -0
- package/dist/cli/commands/info-stale.d.ts +3 -0
- package/dist/cli/commands/info-stale.d.ts.map +1 -0
- package/dist/cli/commands/info-stats.d.ts +3 -0
- package/dist/cli/commands/info-stats.d.ts.map +1 -0
- package/dist/cli/commands/info.d.ts +12 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/io-backup.d.ts +3 -0
- package/dist/cli/commands/io-backup.d.ts.map +1 -0
- package/dist/cli/commands/io-clean.d.ts +3 -0
- package/dist/cli/commands/io-clean.d.ts.map +1 -0
- package/dist/cli/commands/io-export.d.ts +3 -0
- package/dist/cli/commands/io-export.d.ts.map +1 -0
- package/dist/cli/commands/io-import.d.ts +3 -0
- package/dist/cli/commands/io-import.d.ts.map +1 -0
- package/dist/cli/commands/io-restore.d.ts +3 -0
- package/dist/cli/commands/io-restore.d.ts.map +1 -0
- package/dist/cli/commands/io.d.ts +12 -0
- package/dist/cli/commands/io.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-bulk.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-bulk.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-chain.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-chain.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-crud.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-crud.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-diff.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-diff.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-list.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-list.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-recall-exit.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-recall-exit.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-recall.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-recall.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-remove.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-remove.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-search.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-search.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-tail.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-tail.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-util.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-util.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-view.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-view.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-watch.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-watch.d.ts.map +1 -0
- package/dist/cli/commands/memory-cmd-when-to-use.d.ts +3 -0
- package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +1 -0
- package/dist/cli/commands/memory.d.ts +3 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/project-panel.d.ts +3 -0
- package/dist/cli/commands/project-panel.d.ts.map +1 -0
- package/dist/cli/commands/project.d.ts +3 -0
- package/dist/cli/commands/project.d.ts.map +1 -0
- package/dist/cli/commands/relation.d.ts +3 -0
- package/dist/cli/commands/relation.d.ts.map +1 -0
- package/dist/cli/commands/storage.d.ts +3 -0
- package/dist/cli/commands/storage.d.ts.map +1 -0
- package/dist/cli/commands/system-auto-memory.d.ts +3 -0
- package/dist/cli/commands/system-auto-memory.d.ts.map +1 -0
- package/dist/cli/commands/system-completions.d.ts +13 -0
- package/dist/cli/commands/system-completions.d.ts.map +1 -0
- package/dist/cli/commands/system-config.d.ts +3 -0
- package/dist/cli/commands/system-config.d.ts.map +1 -0
- package/dist/cli/commands/system-doctor.d.ts +3 -0
- package/dist/cli/commands/system-doctor.d.ts.map +1 -0
- package/dist/cli/commands/system-hooks.d.ts +3 -0
- package/dist/cli/commands/system-hooks.d.ts.map +1 -0
- package/dist/cli/commands/system-mcp.d.ts +3 -0
- package/dist/cli/commands/system-mcp.d.ts.map +1 -0
- package/dist/cli/commands/system-misc.d.ts +3 -0
- package/dist/cli/commands/system-misc.d.ts.map +1 -0
- package/dist/cli/commands/system-profile.d.ts +3 -0
- package/dist/cli/commands/system-profile.d.ts.map +1 -0
- package/dist/cli/commands/system-session.d.ts +3 -0
- package/dist/cli/commands/system-session.d.ts.map +1 -0
- package/dist/cli/commands/system-sessions.d.ts +3 -0
- package/dist/cli/commands/system-sessions.d.ts.map +1 -0
- package/dist/cli/commands/system-synthesis.d.ts +3 -0
- package/dist/cli/commands/system-synthesis.d.ts.map +1 -0
- package/dist/cli/commands/system-synthesized-profile.d.ts +3 -0
- package/dist/cli/commands/system-synthesized-profile.d.ts.map +1 -0
- package/dist/cli/commands/system-tools.d.ts +3 -0
- package/dist/cli/commands/system-tools.d.ts.map +1 -0
- package/dist/cli/commands/system-watch.d.ts +3 -0
- package/dist/cli/commands/system-watch.d.ts.map +1 -0
- package/dist/cli/commands/system.d.ts +3 -0
- package/dist/cli/commands/system.d.ts.map +1 -0
- package/dist/cli/exit-codes.d.ts +13 -0
- package/dist/cli/exit-codes.d.ts.map +1 -0
- package/dist/cli/global-options.d.ts +27 -0
- package/dist/cli/global-options.d.ts.map +1 -0
- package/dist/cli/helpers.d.ts +150 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +1150 -695
- package/dist/cli/register-all.d.ts +17 -0
- package/dist/cli/register-all.d.ts.map +1 -0
- package/dist/cli/startup-side-effects.d.ts +9 -0
- package/dist/cli/startup-side-effects.d.ts.map +1 -0
- package/dist/db/__fixtures__/fail-closed-stub-server.d.ts +2 -0
- package/dist/db/__fixtures__/fail-closed-stub-server.d.ts.map +1 -0
- package/dist/db/__fixtures__/list-filter-capture-server.d.ts +2 -0
- package/dist/db/__fixtures__/list-filter-capture-server.d.ts.map +1 -0
- package/dist/db/__fixtures__/list-filter-client-runner.d.ts +2 -0
- package/dist/db/__fixtures__/list-filter-client-runner.d.ts.map +1 -0
- package/dist/db/acl.d.ts +34 -0
- package/dist/db/acl.d.ts.map +1 -0
- package/dist/db/agents.d.ts +35 -0
- package/dist/db/agents.d.ts.map +1 -0
- package/dist/db/analytics.d.ts +124 -0
- package/dist/db/analytics.d.ts.map +1 -0
- package/dist/db/api-mode.d.ts +127 -0
- package/dist/db/api-mode.d.ts.map +1 -0
- package/dist/db/audit.d.ts +53 -0
- package/dist/db/audit.d.ts.map +1 -0
- package/dist/db/database.d.ts +26 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/entities.d.ts +62 -0
- package/dist/db/entities.d.ts.map +1 -0
- package/dist/db/entity-memories.d.ts +34 -0
- package/dist/db/entity-memories.d.ts.map +1 -0
- package/dist/db/feedback.d.ts +9 -0
- package/dist/db/feedback.d.ts.map +1 -0
- package/dist/db/locks.d.ts +63 -0
- package/dist/db/locks.d.ts.map +1 -0
- package/dist/db/machines.d.ts +23 -0
- package/dist/db/machines.d.ts.map +1 -0
- package/dist/db/memories.d.ts +199 -0
- package/dist/db/memories.d.ts.map +1 -0
- package/dist/db/memory-links.d.ts +21 -0
- package/dist/db/memory-links.d.ts.map +1 -0
- package/dist/db/memory-project-link.d.ts +13 -0
- package/dist/db/memory-project-link.d.ts.map +1 -0
- package/dist/db/migrations.d.ts +3 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/pg-migrate.d.ts +27 -0
- package/dist/db/pg-migrate.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts +2 -0
- package/dist/db/pg-migrations.d.ts.map +1 -0
- package/dist/db/projects.d.ts +27 -0
- package/dist/db/projects.d.ts.map +1 -0
- package/dist/db/ratings.d.ts +23 -0
- package/dist/db/ratings.d.ts.map +1 -0
- package/dist/db/relations.d.ts +49 -0
- package/dist/db/relations.d.ts.map +1 -0
- package/dist/db/session-jobs.d.ts +67 -0
- package/dist/db/session-jobs.d.ts.map +1 -0
- package/dist/db/store-backend.d.ts +42 -0
- package/dist/db/store-backend.d.ts.map +1 -0
- package/dist/db/subscriptions.d.ts +24 -0
- package/dist/db/subscriptions.d.ts.map +1 -0
- package/dist/db/synthesis.d.ts +101 -0
- package/dist/db/synthesis.d.ts.map +1 -0
- package/dist/db/tasks.d.ts +89 -0
- package/dist/db/tasks.d.ts.map +1 -0
- package/dist/db/tool-events.d.ts +27 -0
- package/dist/db/tool-events.d.ts.map +1 -0
- package/dist/db/webhook_hooks.d.ts +48 -0
- package/dist/db/webhook_hooks.d.ts.map +1 -0
- package/dist/diagnostics/historical-project-registration-receipt.d.ts +39 -0
- package/dist/diagnostics/historical-project-registration-receipt.d.ts.map +1 -0
- package/dist/diagnostics/historical-project-registration-receipt.js +116 -10
- package/dist/generated/storage-kit/backend.d.ts +20 -0
- package/dist/generated/storage-kit/backend.d.ts.map +1 -0
- package/dist/generated/storage-kit/health.d.ts +20 -0
- package/dist/generated/storage-kit/health.d.ts.map +1 -0
- package/dist/generated/storage-kit/index.d.ts +8 -0
- package/dist/generated/storage-kit/index.d.ts.map +1 -0
- package/dist/generated/storage-kit/migrations.d.ts +48 -0
- package/dist/generated/storage-kit/migrations.d.ts.map +1 -0
- package/dist/generated/storage-kit/own.d.ts +11 -0
- package/dist/generated/storage-kit/own.d.ts.map +1 -0
- package/dist/generated/storage-kit/pool.d.ts +35 -0
- package/dist/generated/storage-kit/pool.d.ts.map +1 -0
- package/dist/generated/storage-kit/query.d.ts +36 -0
- package/dist/generated/storage-kit/query.d.ts.map +1 -0
- package/dist/generated/storage-kit/tls.d.ts +53 -0
- package/dist/generated/storage-kit/tls.d.ts.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +806 -541
- package/dist/lib/activation-matcher.d.ts +17 -0
- package/dist/lib/activation-matcher.d.ts.map +1 -0
- package/dist/lib/asmr/categorizer.d.ts +31 -0
- package/dist/lib/asmr/categorizer.d.ts.map +1 -0
- package/dist/lib/asmr/context-agent.d.ts +4 -0
- package/dist/lib/asmr/context-agent.d.ts.map +1 -0
- package/dist/lib/asmr/ensemble.d.ts +23 -0
- package/dist/lib/asmr/ensemble.d.ts.map +1 -0
- package/dist/lib/asmr/fact-agent.d.ts +4 -0
- package/dist/lib/asmr/fact-agent.d.ts.map +1 -0
- package/dist/lib/asmr/index.d.ts +7 -0
- package/dist/lib/asmr/index.d.ts.map +1 -0
- package/dist/lib/asmr/orchestrator.d.ts +4 -0
- package/dist/lib/asmr/orchestrator.d.ts.map +1 -0
- package/dist/lib/asmr/recall.d.ts +3 -0
- package/dist/lib/asmr/recall.d.ts.map +1 -0
- package/dist/lib/asmr/temporal-agent.d.ts +4 -0
- package/dist/lib/asmr/temporal-agent.d.ts.map +1 -0
- package/dist/lib/asmr/types.d.ts +27 -0
- package/dist/lib/asmr/types.d.ts.map +1 -0
- package/dist/lib/auto-inject-orchestrator.d.ts +57 -0
- package/dist/lib/auto-inject-orchestrator.d.ts.map +1 -0
- package/dist/lib/auto-memory-queue.d.ts +48 -0
- package/dist/lib/auto-memory-queue.d.ts.map +1 -0
- package/dist/lib/auto-memory.d.ts +19 -0
- package/dist/lib/auto-memory.d.ts.map +1 -0
- package/dist/lib/bench.d.ts +20 -0
- package/dist/lib/bench.d.ts.map +1 -0
- package/dist/lib/built-in-hooks.d.ts +32 -0
- package/dist/lib/built-in-hooks.d.ts.map +1 -0
- package/dist/lib/channel-pusher.d.ts +39 -0
- package/dist/lib/channel-pusher.d.ts.map +1 -0
- package/dist/lib/config.d.ts +9 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/connectors/files.d.ts +8 -0
- package/dist/lib/connectors/files.d.ts.map +1 -0
- package/dist/lib/connectors/github.d.ts +7 -0
- package/dist/lib/connectors/github.d.ts.map +1 -0
- package/dist/lib/connectors/index.d.ts +12 -0
- package/dist/lib/connectors/index.d.ts.map +1 -0
- package/dist/lib/connectors/notion.d.ts +7 -0
- package/dist/lib/connectors/notion.d.ts.map +1 -0
- package/dist/lib/connectors/types.d.ts +27 -0
- package/dist/lib/connectors/types.d.ts.map +1 -0
- package/dist/lib/consolidation.d.ts +52 -0
- package/dist/lib/consolidation.d.ts.map +1 -0
- package/dist/lib/context-extractor.d.ts +14 -0
- package/dist/lib/context-extractor.d.ts.map +1 -0
- package/dist/lib/context.d.ts +36 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/contradiction.d.ts +50 -0
- package/dist/lib/contradiction.d.ts.map +1 -0
- package/dist/lib/decay.d.ts +35 -0
- package/dist/lib/decay.d.ts.map +1 -0
- package/dist/lib/dedup.d.ts +33 -0
- package/dist/lib/dedup.d.ts.map +1 -0
- package/dist/lib/duration.d.ts +28 -0
- package/dist/lib/duration.d.ts.map +1 -0
- package/dist/lib/embeddings.d.ts +20 -0
- package/dist/lib/embeddings.d.ts.map +1 -0
- package/dist/lib/enum-validation.d.ts +20 -0
- package/dist/lib/enum-validation.d.ts.map +1 -0
- package/dist/lib/export-v1.d.ts +30 -0
- package/dist/lib/export-v1.d.ts.map +1 -0
- package/dist/lib/extractor.d.ts +9 -0
- package/dist/lib/extractor.d.ts.map +1 -0
- package/dist/lib/extractors/audio.d.ts +8 -0
- package/dist/lib/extractors/audio.d.ts.map +1 -0
- package/dist/lib/extractors/index.d.ts +12 -0
- package/dist/lib/extractors/index.d.ts.map +1 -0
- package/dist/lib/extractors/ocr.d.ts +7 -0
- package/dist/lib/extractors/ocr.d.ts.map +1 -0
- package/dist/lib/extractors/pdf.d.ts +7 -0
- package/dist/lib/extractors/pdf.d.ts.map +1 -0
- package/dist/lib/extractors/types.d.ts +12 -0
- package/dist/lib/extractors/types.d.ts.map +1 -0
- package/dist/lib/file-deps.d.ts +27 -0
- package/dist/lib/file-deps.d.ts.map +1 -0
- package/dist/lib/focus.d.ts +58 -0
- package/dist/lib/focus.d.ts.map +1 -0
- package/dist/lib/gatherer.d.ts +16 -0
- package/dist/lib/gatherer.d.ts.map +1 -0
- package/dist/lib/gdpr.d.ts +39 -0
- package/dist/lib/gdpr.d.ts.map +1 -0
- package/dist/lib/hooks.d.ts +50 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/importers/index.d.ts +38 -0
- package/dist/lib/importers/index.d.ts.map +1 -0
- package/dist/lib/injector.d.ts +89 -0
- package/dist/lib/injector.d.ts.map +1 -0
- package/dist/lib/machine-visibility.d.ts +6 -0
- package/dist/lib/machine-visibility.d.ts.map +1 -0
- package/dist/lib/matryoshka.d.ts +50 -0
- package/dist/lib/matryoshka.d.ts.map +1 -0
- package/dist/lib/memory-lock.d.ts +58 -0
- package/dist/lib/memory-lock.d.ts.map +1 -0
- package/dist/lib/model-config.d.ts +14 -0
- package/dist/lib/model-config.d.ts.map +1 -0
- package/dist/lib/open-sessions-connector.d.ts +60 -0
- package/dist/lib/open-sessions-connector.d.ts.map +1 -0
- package/dist/lib/package-version.d.ts +3 -0
- package/dist/lib/package-version.d.ts.map +1 -0
- package/dist/lib/paths.d.ts +51 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/poisoning.d.ts +19 -0
- package/dist/lib/poisoning.d.ts.map +1 -0
- package/dist/lib/poll.d.ts +17 -0
- package/dist/lib/poll.d.ts.map +1 -0
- package/dist/lib/procedural-extractor.d.ts +21 -0
- package/dist/lib/procedural-extractor.d.ts.map +1 -0
- package/dist/lib/profile-sync.d.ts +20 -0
- package/dist/lib/profile-sync.d.ts.map +1 -0
- package/dist/lib/profile-synthesizer.d.ts +20 -0
- package/dist/lib/profile-synthesizer.d.ts.map +1 -0
- package/dist/lib/project-detect.d.ts +18 -0
- package/dist/lib/project-detect.d.ts.map +1 -0
- package/dist/lib/project-panel.d.ts +7 -0
- package/dist/lib/project-panel.d.ts.map +1 -0
- package/dist/lib/providers/anthropic.d.ts +21 -0
- package/dist/lib/providers/anthropic.d.ts.map +1 -0
- package/dist/lib/providers/base.d.ts +96 -0
- package/dist/lib/providers/base.d.ts.map +1 -0
- package/dist/lib/providers/cerebras.d.ts +20 -0
- package/dist/lib/providers/cerebras.d.ts.map +1 -0
- package/dist/lib/providers/grok.d.ts +19 -0
- package/dist/lib/providers/grok.d.ts.map +1 -0
- package/dist/lib/providers/index.d.ts +7 -0
- package/dist/lib/providers/index.d.ts.map +1 -0
- package/dist/lib/providers/openai-compat.d.ts +18 -0
- package/dist/lib/providers/openai-compat.d.ts.map +1 -0
- package/dist/lib/providers/openai.d.ts +20 -0
- package/dist/lib/providers/openai.d.ts.map +1 -0
- package/dist/lib/providers/registry.d.ts +38 -0
- package/dist/lib/providers/registry.d.ts.map +1 -0
- package/dist/lib/quality.d.ts +16 -0
- package/dist/lib/quality.d.ts.map +1 -0
- package/dist/lib/redact.d.ts +26 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/reflection.d.ts +83 -0
- package/dist/lib/reflection.d.ts.map +1 -0
- package/dist/lib/retention.d.ts +17 -0
- package/dist/lib/retention.d.ts.map +1 -0
- package/dist/lib/retired-storage-mode.d.ts +11 -0
- package/dist/lib/retired-storage-mode.d.ts.map +1 -0
- package/dist/lib/search.d.ts +52 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/session-auto-resolve.d.ts +28 -0
- package/dist/lib/session-auto-resolve.d.ts.map +1 -0
- package/dist/lib/session-processor.d.ts +38 -0
- package/dist/lib/session-processor.d.ts.map +1 -0
- package/dist/lib/session-queue.d.ts +28 -0
- package/dist/lib/session-queue.d.ts.map +1 -0
- package/dist/lib/session-registry.d.ts +47 -0
- package/dist/lib/session-registry.d.ts.map +1 -0
- package/dist/lib/session-start-briefing.d.ts +10 -0
- package/dist/lib/session-start-briefing.d.ts.map +1 -0
- package/dist/lib/session-watcher.d.ts +30 -0
- package/dist/lib/session-watcher.d.ts.map +1 -0
- package/dist/lib/storage-sync.d.ts +45 -0
- package/dist/lib/storage-sync.d.ts.map +1 -0
- package/dist/lib/sync.d.ts +10 -0
- package/dist/lib/sync.d.ts.map +1 -0
- package/dist/lib/synthesis/corpus-builder.d.ts +30 -0
- package/dist/lib/synthesis/corpus-builder.d.ts.map +1 -0
- package/dist/lib/synthesis/executor.d.ts +14 -0
- package/dist/lib/synthesis/executor.d.ts.map +1 -0
- package/dist/lib/synthesis/index.d.ts +37 -0
- package/dist/lib/synthesis/index.d.ts.map +1 -0
- package/dist/lib/synthesis/llm-analyzer.d.ts +18 -0
- package/dist/lib/synthesis/llm-analyzer.d.ts.map +1 -0
- package/dist/lib/synthesis/metrics.d.ts +13 -0
- package/dist/lib/synthesis/metrics.d.ts.map +1 -0
- package/dist/lib/synthesis/scheduler.d.ts +18 -0
- package/dist/lib/synthesis/scheduler.d.ts.map +1 -0
- package/dist/lib/synthesis/validator.d.ts +19 -0
- package/dist/lib/synthesis/validator.d.ts.map +1 -0
- package/dist/lib/task-runner.d.ts +37 -0
- package/dist/lib/task-runner.d.ts.map +1 -0
- package/dist/lib/tool-lesson-extractor.d.ts +24 -0
- package/dist/lib/tool-lesson-extractor.d.ts.map +1 -0
- package/dist/lib/tool-memory-synthesizer.d.ts +28 -0
- package/dist/lib/tool-memory-synthesizer.d.ts.map +1 -0
- package/dist/lib/topic-clusterer.d.ts +21 -0
- package/dist/lib/topic-clusterer.d.ts.map +1 -0
- package/dist/lib/when-to-use-generator.d.ts +22 -0
- package/dist/lib/when-to-use-generator.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +17 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +978 -554
- package/dist/mcp/memory-broadcast.d.ts +12 -0
- package/dist/mcp/memory-broadcast.d.ts.map +1 -0
- package/dist/mcp/tools/agent-tools.d.ts +3 -0
- package/dist/mcp/tools/agent-tools.d.ts.map +1 -0
- package/dist/mcp/tools/auto-memory-tools.d.ts +5 -0
- package/dist/mcp/tools/auto-memory-tools.d.ts.map +1 -0
- package/dist/mcp/tools/bulk-tools.d.ts +3 -0
- package/dist/mcp/tools/bulk-tools.d.ts.map +1 -0
- package/dist/mcp/tools/consolidation-tools.d.ts +3 -0
- package/dist/mcp/tools/consolidation-tools.d.ts.map +1 -0
- package/dist/mcp/tools/focus-tools.d.ts +3 -0
- package/dist/mcp/tools/focus-tools.d.ts.map +1 -0
- package/dist/mcp/tools/graph-entity-tools.d.ts +3 -0
- package/dist/mcp/tools/graph-entity-tools.d.ts.map +1 -0
- package/dist/mcp/tools/graph-query-tools.d.ts +3 -0
- package/dist/mcp/tools/graph-query-tools.d.ts.map +1 -0
- package/dist/mcp/tools/graph-relation-tools.d.ts +3 -0
- package/dist/mcp/tools/graph-relation-tools.d.ts.map +1 -0
- package/dist/mcp/tools/graph-tools.d.ts +3 -0
- package/dist/mcp/tools/graph-tools.d.ts.map +1 -0
- package/dist/mcp/tools/graph-utils.d.ts +5 -0
- package/dist/mcp/tools/graph-utils.d.ts.map +1 -0
- package/dist/mcp/tools/hook-tools.d.ts +3 -0
- package/dist/mcp/tools/hook-tools.d.ts.map +1 -0
- package/dist/mcp/tools/lock-tools.d.ts +3 -0
- package/dist/mcp/tools/lock-tools.d.ts.map +1 -0
- package/dist/mcp/tools/memory-audit.d.ts +3 -0
- package/dist/mcp/tools/memory-audit.d.ts.map +1 -0
- package/dist/mcp/tools/memory-crud.d.ts +3 -0
- package/dist/mcp/tools/memory-crud.d.ts.map +1 -0
- package/dist/mcp/tools/memory-health.d.ts +3 -0
- package/dist/mcp/tools/memory-health.d.ts.map +1 -0
- package/dist/mcp/tools/memory-history.d.ts +3 -0
- package/dist/mcp/tools/memory-history.d.ts.map +1 -0
- package/dist/mcp/tools/memory-inject.d.ts +3 -0
- package/dist/mcp/tools/memory-inject.d.ts.map +1 -0
- package/dist/mcp/tools/memory-io.d.ts +3 -0
- package/dist/mcp/tools/memory-io.d.ts.map +1 -0
- package/dist/mcp/tools/memory-lifecycle.d.ts +3 -0
- package/dist/mcp/tools/memory-lifecycle.d.ts.map +1 -0
- package/dist/mcp/tools/memory-search.d.ts +3 -0
- package/dist/mcp/tools/memory-search.d.ts.map +1 -0
- package/dist/mcp/tools/memory-stats.d.ts +3 -0
- package/dist/mcp/tools/memory-stats.d.ts.map +1 -0
- package/dist/mcp/tools/memory-tools.d.ts +17 -0
- package/dist/mcp/tools/memory-tools.d.ts.map +1 -0
- package/dist/mcp/tools/memory-utils.d.ts +27 -0
- package/dist/mcp/tools/memory-utils.d.ts.map +1 -0
- package/dist/mcp/tools/memory-validation.d.ts +3 -0
- package/dist/mcp/tools/memory-validation.d.ts.map +1 -0
- package/dist/mcp/tools/project-tools.d.ts +3 -0
- package/dist/mcp/tools/project-tools.d.ts.map +1 -0
- package/dist/mcp/tools/session-tools.d.ts +3 -0
- package/dist/mcp/tools/session-tools.d.ts.map +1 -0
- package/dist/mcp/tools/storage-tools.d.ts +3 -0
- package/dist/mcp/tools/storage-tools.d.ts.map +1 -0
- package/dist/mcp/tools/synthesis-tools.d.ts +3 -0
- package/dist/mcp/tools/synthesis-tools.d.ts.map +1 -0
- package/dist/mcp/tools/system-tools-events.d.ts +3 -0
- package/dist/mcp/tools/system-tools-events.d.ts.map +1 -0
- package/dist/mcp/tools/system-tools-memory-admin.d.ts +3 -0
- package/dist/mcp/tools/system-tools-memory-admin.d.ts.map +1 -0
- package/dist/mcp/tools/system-tools-shared.d.ts +23 -0
- package/dist/mcp/tools/system-tools-shared.d.ts.map +1 -0
- package/dist/mcp/tools/system-tools.d.ts +3 -0
- package/dist/mcp/tools/system-tools.d.ts.map +1 -0
- package/dist/mcp/tools/tool-registry.d.ts +30 -0
- package/dist/mcp/tools/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tools/utility-tools.d.ts +3 -0
- package/dist/mcp/tools/utility-tools.d.ts.map +1 -0
- package/dist/memory-project-link/index.d.ts +2 -0
- package/dist/memory-project-link/index.d.ts.map +1 -0
- package/dist/memory-project-link/schema.d.ts +5 -0
- package/dist/memory-project-link/schema.d.ts.map +1 -0
- package/dist/pg-sync-worker.d.ts +2 -0
- package/dist/pg-sync-worker.d.ts.map +1 -0
- package/dist/project-registration/authority.d.ts +43 -0
- package/dist/project-registration/authority.d.ts.map +1 -0
- package/dist/project-registration/historical-receipt.d.ts +38 -0
- package/dist/project-registration/historical-receipt.d.ts.map +1 -0
- package/dist/project-registration/http.d.ts +32 -0
- package/dist/project-registration/http.d.ts.map +1 -0
- package/dist/project-registration/identity.d.ts +20 -0
- package/dist/project-registration/identity.d.ts.map +1 -0
- package/dist/project-registration/index.d.ts +11 -0
- package/dist/project-registration/index.d.ts.map +1 -0
- package/dist/project-registration/project-references.d.ts +71 -0
- package/dist/project-registration/project-references.d.ts.map +1 -0
- package/dist/project-registration/project-resources.d.ts +22 -0
- package/dist/project-registration/project-resources.d.ts.map +1 -0
- package/dist/project-registration/schema.d.ts +5 -0
- package/dist/project-registration/schema.d.ts.map +1 -0
- package/dist/project-registration/types.d.ts +319 -0
- package/dist/project-registration/types.d.ts.map +1 -0
- package/dist/project-registration.d.ts +2 -0
- package/dist/project-registration.d.ts.map +1 -0
- package/dist/project-registration.js +179 -42
- package/dist/sdk/index.d.ts +987 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/server/auth.d.ts +11 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/helpers.d.ts +53 -0
- package/dist/server/helpers.d.ts.map +1 -0
- package/dist/server/index.d.ts +14 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1047 -569
- package/dist/server/openapi.d.ts +2 -0
- package/dist/server/openapi.d.ts.map +1 -0
- package/dist/server/router.d.ts +17 -0
- package/dist/server/router.d.ts.map +1 -0
- package/dist/server/routes/agents.d.ts +2 -0
- package/dist/server/routes/agents.d.ts.map +1 -0
- package/dist/server/routes/entities.d.ts +2 -0
- package/dist/server/routes/entities.d.ts.map +1 -0
- package/dist/server/routes/memories-bulk.d.ts +2 -0
- package/dist/server/routes/memories-bulk.d.ts.map +1 -0
- package/dist/server/routes/memories-crud.d.ts +2 -0
- package/dist/server/routes/memories-crud.d.ts.map +1 -0
- package/dist/server/routes/memories-io.d.ts +2 -0
- package/dist/server/routes/memories-io.d.ts.map +1 -0
- package/dist/server/routes/memories-misc.d.ts +2 -0
- package/dist/server/routes/memories-misc.d.ts.map +1 -0
- package/dist/server/routes/memories-search.d.ts +2 -0
- package/dist/server/routes/memories-search.d.ts.map +1 -0
- package/dist/server/routes/memories-stats.d.ts +2 -0
- package/dist/server/routes/memories-stats.d.ts.map +1 -0
- package/dist/server/routes/memories.d.ts +19 -0
- package/dist/server/routes/memories.d.ts.map +1 -0
- package/dist/server/routes/memory-project-link.d.ts +2 -0
- package/dist/server/routes/memory-project-link.d.ts.map +1 -0
- package/dist/server/routes/project-registration.d.ts +2 -0
- package/dist/server/routes/project-registration.d.ts.map +1 -0
- package/dist/server/routes/projects.d.ts +2 -0
- package/dist/server/routes/projects.d.ts.map +1 -0
- package/dist/server/routes/system-auto-memory.d.ts +2 -0
- package/dist/server/routes/system-auto-memory.d.ts.map +1 -0
- package/dist/server/routes/system-chain.d.ts +2 -0
- package/dist/server/routes/system-chain.d.ts.map +1 -0
- package/dist/server/routes/system-consolidation.d.ts +2 -0
- package/dist/server/routes/system-consolidation.d.ts.map +1 -0
- package/dist/server/routes/system-hooks.d.ts +2 -0
- package/dist/server/routes/system-hooks.d.ts.map +1 -0
- package/dist/server/routes/system-sessions.d.ts +2 -0
- package/dist/server/routes/system-sessions.d.ts.map +1 -0
- package/dist/server/routes/system-subscriptions.d.ts +2 -0
- package/dist/server/routes/system-subscriptions.d.ts.map +1 -0
- package/dist/server/routes/system-synthesis.d.ts +2 -0
- package/dist/server/routes/system-synthesis.d.ts.map +1 -0
- package/dist/server/routes/system-tools.d.ts +2 -0
- package/dist/server/routes/system-tools.d.ts.map +1 -0
- package/dist/server/routes/system.d.ts +2 -0
- package/dist/server/routes/system.d.ts.map +1 -0
- package/dist/server/routes/tasks.d.ts +2 -0
- package/dist/server/routes/tasks.d.ts.map +1 -0
- package/dist/storage.d.ts +298 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +134 -17
- package/dist/test-support/memories-page-stub-server.d.ts +2 -0
- package/dist/test-support/memories-page-stub-server.d.ts.map +1 -0
- package/dist/test-support/memories-page-stub.d.ts +28 -0
- package/dist/test-support/memories-page-stub.d.ts.map +1 -0
- package/dist/test-support/pg-sync-stub-worker.d.ts +2 -0
- package/dist/test-support/pg-sync-stub-worker.d.ts.map +1 -0
- package/dist/test-support/preload-local-store.d.ts +2 -0
- package/dist/test-support/preload-local-store.d.ts.map +1 -0
- package/dist/test-support/project-authority-identity.d.ts +8 -0
- package/dist/test-support/project-authority-identity.d.ts.map +1 -0
- package/dist/test-support/store-isolation.d.ts +108 -0
- package/dist/test-support/store-isolation.d.ts.map +1 -0
- package/dist/test-support/strip-ansi.d.ts +3 -0
- package/dist/test-support/strip-ansi.d.ts.map +1 -0
- package/dist/types/hooks.d.ts +136 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +482 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +6 -4
- package/postinstall.mjs +34 -0
package/dist/storage.js
CHANGED
|
@@ -152,11 +152,119 @@ var init_retired_storage_mode = __esm(() => {
|
|
|
152
152
|
];
|
|
153
153
|
});
|
|
154
154
|
|
|
155
|
-
//
|
|
156
|
-
import { Database } from "bun:sqlite";
|
|
157
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
155
|
+
// ../../node_modules/.bun/@hasna+paths@0.1.0/node_modules/@hasna/paths/dist/index.js
|
|
158
156
|
import { homedir } from "os";
|
|
159
157
|
import { join } from "path";
|
|
158
|
+
function assertApp(app) {
|
|
159
|
+
if (typeof app !== "string" || app.length === 0) {
|
|
160
|
+
throw new TypeError("paths: app must be a non-empty string");
|
|
161
|
+
}
|
|
162
|
+
if (!APP_SLUG_RE.test(app)) {
|
|
163
|
+
throw new TypeError(`paths: invalid app slug "${app}" \u2014 expected lowercase kebab-case ([a-z0-9]+(-[a-z0-9]+)*)`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function envOf(options) {
|
|
167
|
+
return options.env ?? process.env;
|
|
168
|
+
}
|
|
169
|
+
function envValue(options, kind) {
|
|
170
|
+
const value = envOf(options)[KIND_ENV[kind]];
|
|
171
|
+
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
172
|
+
}
|
|
173
|
+
function isMacOS(platform) {
|
|
174
|
+
return platform === "darwin";
|
|
175
|
+
}
|
|
176
|
+
function baseDir(kind, options) {
|
|
177
|
+
const override = envValue(options, kind);
|
|
178
|
+
if (override)
|
|
179
|
+
return override;
|
|
180
|
+
const home = options.home ?? homedir();
|
|
181
|
+
const platform = options.platform ?? process.platform;
|
|
182
|
+
if (isMacOS(platform)) {
|
|
183
|
+
switch (kind) {
|
|
184
|
+
case "config":
|
|
185
|
+
case "data":
|
|
186
|
+
return join(home, "Library", "Application Support", "Hasna");
|
|
187
|
+
case "cache":
|
|
188
|
+
return join(home, "Library", "Caches", "Hasna");
|
|
189
|
+
case "state":
|
|
190
|
+
return join(home, "Library", "Logs", "Hasna");
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
switch (kind) {
|
|
194
|
+
case "config":
|
|
195
|
+
return join(home, ".config", "hasna");
|
|
196
|
+
case "data":
|
|
197
|
+
return join(home, ".local", "share", "hasna");
|
|
198
|
+
case "state":
|
|
199
|
+
return join(home, ".local", "state", "hasna");
|
|
200
|
+
case "cache":
|
|
201
|
+
return join(home, ".cache", "hasna");
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function resolvePath(kind, options) {
|
|
205
|
+
assertApp(options.app);
|
|
206
|
+
const appSegment = options.internal === true ? join("internal", options.app) : options.app;
|
|
207
|
+
return join(baseDir(kind, options), appSegment);
|
|
208
|
+
}
|
|
209
|
+
function dataDir(options) {
|
|
210
|
+
return resolvePath("data", options);
|
|
211
|
+
}
|
|
212
|
+
var KIND_ENV, APP_SLUG_RE;
|
|
213
|
+
var init_dist = __esm(() => {
|
|
214
|
+
KIND_ENV = {
|
|
215
|
+
config: "HASNA_CONFIG_HOME",
|
|
216
|
+
data: "HASNA_DATA_HOME",
|
|
217
|
+
state: "HASNA_STATE_HOME",
|
|
218
|
+
cache: "HASNA_CACHE_HOME"
|
|
219
|
+
};
|
|
220
|
+
APP_SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
// src/lib/paths.ts
|
|
224
|
+
import { existsSync } from "fs";
|
|
225
|
+
import { homedir as homedir2 } from "os";
|
|
226
|
+
import { join as join2, resolve } from "path";
|
|
227
|
+
function effectiveHome() {
|
|
228
|
+
return process.env["HOME"] || process.env["USERPROFILE"] || homedir2() || "/tmp";
|
|
229
|
+
}
|
|
230
|
+
function legacyDataRoot() {
|
|
231
|
+
return join2(effectiveHome(), ".hasna", "mementos");
|
|
232
|
+
}
|
|
233
|
+
function resolverDataRoot() {
|
|
234
|
+
return dataDir({
|
|
235
|
+
app: "mementos",
|
|
236
|
+
home: process.env["HOME"] || process.env["USERPROFILE"] || undefined
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
function adoptResolverDataRoot(resolved, env = process.env) {
|
|
240
|
+
const dataOverride = env.HASNA_DATA_HOME;
|
|
241
|
+
if (typeof dataOverride === "string" && dataOverride.trim().length > 0)
|
|
242
|
+
return true;
|
|
243
|
+
return existsSync(join2(resolved, "mementos.db"));
|
|
244
|
+
}
|
|
245
|
+
function exactDataRoot() {
|
|
246
|
+
for (const key of ["HASNA_MEMENTOS_HOME", "MEMENTOS_HOME"]) {
|
|
247
|
+
const dir = process.env[key]?.trim();
|
|
248
|
+
if (dir)
|
|
249
|
+
return resolve(dir);
|
|
250
|
+
}
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
function getDataRoot() {
|
|
254
|
+
const exact = exactDataRoot();
|
|
255
|
+
if (exact)
|
|
256
|
+
return exact;
|
|
257
|
+
const resolved = resolverDataRoot();
|
|
258
|
+
return adoptResolverDataRoot(resolved) ? resolve(resolved) : resolve(legacyDataRoot());
|
|
259
|
+
}
|
|
260
|
+
var init_paths = __esm(() => {
|
|
261
|
+
init_dist();
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// src/storage.ts
|
|
265
|
+
import { Database } from "bun:sqlite";
|
|
266
|
+
import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
267
|
+
import { join as join3 } from "path";
|
|
160
268
|
import { fileURLToPath } from "url";
|
|
161
269
|
import { Worker } from "worker_threads";
|
|
162
270
|
import pg from "pg";
|
|
@@ -415,7 +523,7 @@ function readEnv(name) {
|
|
|
415
523
|
return value ? value : null;
|
|
416
524
|
}
|
|
417
525
|
function readConfigFile() {
|
|
418
|
-
if (!
|
|
526
|
+
if (!existsSync2(STORAGE_CONFIG_PATH)) {
|
|
419
527
|
return {};
|
|
420
528
|
}
|
|
421
529
|
try {
|
|
@@ -677,11 +785,7 @@ function saveStorageConfig(config) {
|
|
|
677
785
|
function getConfiguredConnectionString() {
|
|
678
786
|
return getStorageDatabaseUrl() ?? undefined;
|
|
679
787
|
}
|
|
680
|
-
function
|
|
681
|
-
assertNoLegacyStorageMode2();
|
|
682
|
-
if (!isServerContext()) {
|
|
683
|
-
throw new Error("Refusing to construct an RDS Postgres DSN outside the mementos-serve server. " + "The raw database DSN is NEVER distributed to client machines. " + "Clients must use the HTTP API: set HASNA_MEMENTOS_API_URL and " + "HASNA_MEMENTOS_API_KEY (and unset HASNA_MEMENTOS_DATABASE_URL).");
|
|
684
|
-
}
|
|
788
|
+
function resolveConfiguredConnectionString(dbName) {
|
|
685
789
|
const envConnectionString = getConfiguredConnectionString();
|
|
686
790
|
if (envConnectionString) {
|
|
687
791
|
const validation = validatePostgresConnectionString(envConnectionString);
|
|
@@ -700,7 +804,7 @@ function getStorageConnectionString(dbName = "mementos") {
|
|
|
700
804
|
missing.push("storage.rds.username");
|
|
701
805
|
}
|
|
702
806
|
if (missing.length > 0) {
|
|
703
|
-
throw new Error(`Remote storage database is not configured. Missing ${missing.join(", ")}. Set HASNA_MEMENTOS_DATABASE_URL or configure
|
|
807
|
+
throw new Error(`Remote storage database is not configured. Missing ${missing.join(", ")}. Set HASNA_MEMENTOS_DATABASE_URL or configure ${STORAGE_CONFIG_PATH}.`);
|
|
704
808
|
}
|
|
705
809
|
const password = process.env[password_env];
|
|
706
810
|
if (!password) {
|
|
@@ -709,6 +813,17 @@ function getStorageConnectionString(dbName = "mementos") {
|
|
|
709
813
|
const sslParam = ssl ? "?sslmode=require" : "";
|
|
710
814
|
return `postgres://${username}:${encodeURIComponent(password)}@${host}:${port}/${dbName}${sslParam}`;
|
|
711
815
|
}
|
|
816
|
+
function getStorageConnectionString(dbName = "mementos") {
|
|
817
|
+
assertNoLegacyStorageMode2();
|
|
818
|
+
if (!isServerContext()) {
|
|
819
|
+
throw new Error("Refusing to construct an RDS Postgres DSN outside the mementos-serve server. " + "The raw database DSN is NEVER distributed to client machines. " + "Clients must use the HTTP API: set HASNA_MEMENTOS_API_URL and " + "HASNA_MEMENTOS_API_KEY (and unset HASNA_MEMENTOS_DATABASE_URL).");
|
|
820
|
+
}
|
|
821
|
+
return resolveConfiguredConnectionString(dbName);
|
|
822
|
+
}
|
|
823
|
+
function getStorageConnectionStringForOperator(dbName = "mementos") {
|
|
824
|
+
assertNoLegacyStorageMode2();
|
|
825
|
+
return resolveConfiguredConnectionString(dbName);
|
|
826
|
+
}
|
|
712
827
|
function isSyncExcludedTable(table) {
|
|
713
828
|
return SYNC_EXCLUDED_TABLE_PATTERNS.some((pattern) => pattern.test(table));
|
|
714
829
|
}
|
|
@@ -878,6 +993,7 @@ CREATE TABLE IF NOT EXISTS _sync_meta (
|
|
|
878
993
|
var init_storage = __esm(() => {
|
|
879
994
|
init_backend();
|
|
880
995
|
init_retired_storage_mode();
|
|
996
|
+
init_paths();
|
|
881
997
|
PgSyncPool = class PgSyncPool {
|
|
882
998
|
worker;
|
|
883
999
|
status;
|
|
@@ -895,12 +1011,12 @@ var init_storage = __esm(() => {
|
|
|
895
1011
|
const ext = import.meta.url.endsWith(".ts") ? ".ts" : ".js";
|
|
896
1012
|
const here = fileURLToPath(new URL(".", import.meta.url));
|
|
897
1013
|
const candidates = [
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
1014
|
+
join3(here, `pg-sync-worker${ext}`),
|
|
1015
|
+
join3(here, "..", `pg-sync-worker${ext}`),
|
|
1016
|
+
join3(here, "..", "..", `pg-sync-worker${ext}`)
|
|
901
1017
|
];
|
|
902
1018
|
for (const candidate of candidates) {
|
|
903
|
-
if (
|
|
1019
|
+
if (existsSync2(candidate))
|
|
904
1020
|
return candidate;
|
|
905
1021
|
}
|
|
906
1022
|
return candidates[0];
|
|
@@ -988,7 +1104,7 @@ var init_storage = __esm(() => {
|
|
|
988
1104
|
MEMENTOS_STORAGE_FALLBACK_ENV = {
|
|
989
1105
|
databaseUrl: "MEMENTOS_DATABASE_URL"
|
|
990
1106
|
};
|
|
991
|
-
LOCAL_DATA_DIR =
|
|
1107
|
+
LOCAL_DATA_DIR = getDataRoot();
|
|
992
1108
|
DEFAULT_STORAGE_CONFIG = {
|
|
993
1109
|
rds: {
|
|
994
1110
|
host: "",
|
|
@@ -1003,8 +1119,8 @@ var init_storage = __esm(() => {
|
|
|
1003
1119
|
schedule_minutes: 0
|
|
1004
1120
|
}
|
|
1005
1121
|
};
|
|
1006
|
-
STORAGE_CONFIG_DIR =
|
|
1007
|
-
STORAGE_CONFIG_PATH =
|
|
1122
|
+
STORAGE_CONFIG_DIR = join3(LOCAL_DATA_DIR, "storage");
|
|
1123
|
+
STORAGE_CONFIG_PATH = join3(STORAGE_CONFIG_DIR, "config.json");
|
|
1008
1124
|
DATABASE_ENV_NAMES = [
|
|
1009
1125
|
{ name: MEMENTOS_STORAGE_ENV.databaseUrl, deprecated: false },
|
|
1010
1126
|
{ name: MEMENTOS_STORAGE_FALLBACK_ENV.databaseUrl, deprecated: false }
|
|
@@ -1051,6 +1167,7 @@ export {
|
|
|
1051
1167
|
getStorageDatabaseUrl,
|
|
1052
1168
|
getStorageDatabaseEnvName,
|
|
1053
1169
|
getStorageDatabaseEnv,
|
|
1170
|
+
getStorageConnectionStringForOperator,
|
|
1054
1171
|
getStorageConnectionString,
|
|
1055
1172
|
getStorageConfig,
|
|
1056
1173
|
getStorageBackendDatabaseUrl,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memories-page-stub-server.d.ts","sourceRoot":"","sources":["../../src/test-support/memories-page-stub-server.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface MemoriesPageStub {
|
|
2
|
+
server: ReturnType<typeof Bun.serve>;
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
stop(): void;
|
|
5
|
+
}
|
|
6
|
+
/** Start a stub GET /v1/memories serving `rowCount` rows on capped pages. */
|
|
7
|
+
export declare function startMemoriesPageStub(rowCount: number): MemoriesPageStub;
|
|
8
|
+
/**
|
|
9
|
+
* A process env for API mode pointed at a loopback stub. All store selectors
|
|
10
|
+
* are stripped first (the ambient environment on fleet machines carries the
|
|
11
|
+
* production API selectors), then the stub URL + a dummy key are set.
|
|
12
|
+
*/
|
|
13
|
+
export declare function apiModeTestEnv(baseUrl: string): Record<string, string>;
|
|
14
|
+
export interface MemoriesPageStubProcess {
|
|
15
|
+
port: number;
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
stop(): void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Start the stub as a SEPARATE process. Required whenever the caller under
|
|
21
|
+
* test runs in the same process that would host the stub: the CLI's cloud
|
|
22
|
+
* reads are SYNCHRONOUS curl children (Bun.spawnSync), which deadlock against
|
|
23
|
+
* an in-process server whose event loop the spawn blocks.
|
|
24
|
+
*/
|
|
25
|
+
export declare function startMemoriesPageStubProcess(rowCount: number): MemoriesPageStubProcess;
|
|
26
|
+
/** Poll the stub until it serves a page, or throw after ~5s. */
|
|
27
|
+
export declare function waitForMemoriesPageStub(baseUrl: string): Promise<void>;
|
|
28
|
+
//# sourceMappingURL=memories-page-stub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memories-page-stub.d.ts","sourceRoot":"","sources":["../../src/test-support/memories-page-stub.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAqCxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CActE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAuBzB;AAED,gEAAgE;AAChE,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-sync-stub-worker.d.ts","sourceRoot":"","sources":["../../src/test-support/pg-sync-stub-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload-local-store.d.ts","sourceRoot":"","sources":["../../src/test-support/preload-local-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const TEST_MEMENTOS_PROJECT_AUTHORITY_IDENTITY: {
|
|
2
|
+
readonly authority_id: "mementos";
|
|
3
|
+
readonly tenant_id: "default";
|
|
4
|
+
readonly corpus_id: "default";
|
|
5
|
+
};
|
|
6
|
+
export declare function projectAuthorityTestEnv(): Record<string, string>;
|
|
7
|
+
export declare function configureProjectAuthorityTestIdentity(): void;
|
|
8
|
+
//# sourceMappingURL=project-authority-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-authority-identity.d.ts","sourceRoot":"","sources":["../../src/test-support/project-authority-identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wCAAwC;;;;CAI3C,CAAC;AAEX,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShE;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { StoreBackendReport } from "../db/store-backend.js";
|
|
2
|
+
/**
|
|
3
|
+
* Every env var that can move the store off local SQLite, plus the store
|
|
4
|
+
* credential. Derived from the resolver's own exported key lists rather than
|
|
5
|
+
* retyped, so adding a selector in src/db/api-mode.ts or src/storage.ts
|
|
6
|
+
* automatically widens what the harnesses neutralize.
|
|
7
|
+
*
|
|
8
|
+
* The retired storage-mode keys stay in the set even though the ratchet turns
|
|
9
|
+
* them into errors: a harness child that inherits a stale variable from the
|
|
10
|
+
* operator shell must have it DELETED (a blank value would still throw), and
|
|
11
|
+
* the preload must keep the suite runnable on a machine that still exports one.
|
|
12
|
+
*
|
|
13
|
+
* `MEMENTOS_DATABASE_PASSWORD` is not a selector but is the store credential;
|
|
14
|
+
* removing it can only make the child more local, never less.
|
|
15
|
+
*/
|
|
16
|
+
export declare const STORE_SELECTOR_ENV_KEYS: readonly string[];
|
|
17
|
+
/** The two env vars that point the CLI at a specific SQLite file. */
|
|
18
|
+
export declare const DB_PATH_ENV_KEYS: readonly ["MEMENTOS_DB_PATH", "HASNA_MEMENTOS_DB_PATH"];
|
|
19
|
+
export interface IsolatedStoreEnvOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Extra vars to set in the child, applied last. Harnesses use this to blank
|
|
22
|
+
* LLM provider keys so no test can make a billed call. Kept opt-in because
|
|
23
|
+
* blanking them changes what commands like `doctor` report.
|
|
24
|
+
*/
|
|
25
|
+
extra?: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build a child-process env that is pinned to a local SQLite file at `dbPath`.
|
|
29
|
+
*
|
|
30
|
+
* Selectors are DELETED rather than set to `""` — the resolver treats empty as
|
|
31
|
+
* unset either way, but deleting leaves no ambiguity for a human reading the
|
|
32
|
+
* child's environment during a postmortem.
|
|
33
|
+
*
|
|
34
|
+
* Building the env is necessary but NOT sufficient: pair it with
|
|
35
|
+
* {@link assertLocalStoreBackend} before the suite performs any write.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isolatedStoreEnv(dbPath: string, options?: IsolatedStoreEnvOptions): Record<string, string>;
|
|
38
|
+
export interface StubApiEnvOptions {
|
|
39
|
+
/** Stub bearer token. Never a real credential — the stub does not check it. */
|
|
40
|
+
apiKey?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build a child env for a suite that *deliberately* runs in API mode against a
|
|
44
|
+
* local stub server.
|
|
45
|
+
*
|
|
46
|
+
* Such a suite still must not inherit the operator's production API URL or key:
|
|
47
|
+
* it overrides the URL, but if that override were ever empty or renamed, the
|
|
48
|
+
* ambient value would take over and the suite would drive the real store. So
|
|
49
|
+
* start from a fully de-selected env and add back only the stub's own values.
|
|
50
|
+
*
|
|
51
|
+
* @param baseUrl the stub's origin, e.g. `http://127.0.0.1:<port>/<mode>`
|
|
52
|
+
*/
|
|
53
|
+
export declare function stubApiEnv(baseUrl: string, options?: StubApiEnvOptions): Record<string, string>;
|
|
54
|
+
/**
|
|
55
|
+
* Build a child env that DOES resolve to the cloud API — the negative case the
|
|
56
|
+
* isolation guards are proved against.
|
|
57
|
+
*
|
|
58
|
+
* This exists because of the 2026-08-03 precedence-1 fix. Before it, a cloud
|
|
59
|
+
* case could be built by taking any env and adding an API url+key, and several
|
|
60
|
+
* tests did exactly that on top of {@link isolatedStoreEnv}. An explicit
|
|
61
|
+
* `MEMENTOS_DB_PATH` now DEFEATS the API selectors (see getApiConfig in
|
|
62
|
+
* src/db/api-mode.ts), so that recipe silently produces a LOCAL backend — which
|
|
63
|
+
* would leave the isolation guards' positive controls unable to observe the bad
|
|
64
|
+
* state they exist to detect, and `assertLocalStoreBackend`'s own self-test
|
|
65
|
+
* unable to fail. Both would still be green.
|
|
66
|
+
*
|
|
67
|
+
* So the DB_PATH keys are removed here explicitly, and that removal is the
|
|
68
|
+
* load-bearing line rather than an afterthought: it is the only way to reach the
|
|
69
|
+
* cloud backend now. They are NOT in STORE_SELECTOR_ENV_KEYS because that set
|
|
70
|
+
* means "moves the store OFF local SQLite", and DB_PATH does the opposite.
|
|
71
|
+
*
|
|
72
|
+
* @param baseUrl point this at a closed loopback port, never a real endpoint
|
|
73
|
+
* @param apiKey never a real credential
|
|
74
|
+
*/
|
|
75
|
+
export declare function cloudSelectingEnv(baseUrl: string, apiKey?: string): Record<string, string>;
|
|
76
|
+
/** LLM provider keys most harnesses blank so no test can make a billed call. */
|
|
77
|
+
export declare const LLM_PROVIDER_ENV_KEYS: readonly ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "CEREBRAS_API_KEY", "XAI_API_KEY"];
|
|
78
|
+
/** `{ ANTHROPIC_API_KEY: "", ... }` — pass as `extra` to blank LLM providers. */
|
|
79
|
+
export declare function blankLlmProviderEnv(): Record<string, string>;
|
|
80
|
+
/**
|
|
81
|
+
* Ask the child process which store it resolved, and THROW if it is not local.
|
|
82
|
+
*
|
|
83
|
+
* This is the guard that turns an unknown future selector into a red suite
|
|
84
|
+
* rather than a silent production write. It asks the CLI itself
|
|
85
|
+
* (`storage mode --json`) rather than recomputing the answer here, so the
|
|
86
|
+
* verdict comes from the same resolution code the writes will use — and it runs
|
|
87
|
+
* as a real child process with the real env, so an env var that fails to cross
|
|
88
|
+
* the process boundary is caught rather than assumed away.
|
|
89
|
+
*
|
|
90
|
+
* `storage mode` opens no database and makes no network request, so this is
|
|
91
|
+
* safe to call even when the ambient env points at production.
|
|
92
|
+
*
|
|
93
|
+
* @param cliPath path to src/cli/index.tsx
|
|
94
|
+
* @param env the env produced by {@link isolatedStoreEnv}
|
|
95
|
+
* @param expectedDbPath when given, also assert the child resolved this path
|
|
96
|
+
*/
|
|
97
|
+
export declare function assertLocalStoreBackend(cliPath: string, env: Record<string, string>, expectedDbPath?: string): Promise<StoreBackendReport>;
|
|
98
|
+
/**
|
|
99
|
+
* Assert the scratch SQLite file now exists on disk.
|
|
100
|
+
*
|
|
101
|
+
* This is the second half of the proof and it is not redundant with
|
|
102
|
+
* {@link assertLocalStoreBackend}: the mode report says where the child INTENDS
|
|
103
|
+
* to write, whereas this says a write actually landed there. The reported
|
|
104
|
+
* incident's signature was precisely a correct-looking path with no file ever
|
|
105
|
+
* created, so call this AFTER the suite's first write.
|
|
106
|
+
*/
|
|
107
|
+
export declare function assertScratchDbCreated(dbPath: string, context?: string): void;
|
|
108
|
+
//# sourceMappingURL=store-isolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-isolation.d.ts","sourceRoot":"","sources":["../../src/test-support/store-isolation.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAUpD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,yDAA0D,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AASD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CAUjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQnG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,SAAmB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,qFAKxB,CAAC;AAEX,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAA0B,GAAG,IAAI,CAQ9F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-ansi.d.ts","sourceRoot":"","sources":["../../src/test-support/strip-ansi.ts"],"names":[],"mappings":"AAyBA,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook system types for mementos lifecycle events.
|
|
3
|
+
*
|
|
4
|
+
* Blocking hooks: handler returns false → operation is cancelled.
|
|
5
|
+
* Non-blocking hooks: fire-and-forget, never delay the caller.
|
|
6
|
+
*/
|
|
7
|
+
import type { Memory, CreateMemoryInput, UpdateMemoryInput } from "./index.js";
|
|
8
|
+
export type HookType = "PreMemorySave" | "PostMemorySave" | "PreMemoryUpdate" | "PostMemoryUpdate" | "PreMemoryDelete" | "PostMemoryDelete" | "PreEntityCreate" | "PostEntityCreate" | "PreRelationCreate" | "PostRelationCreate" | "OnSessionStart" | "OnSessionEnd" | "PreMemoryInject" | "PostMemoryInject";
|
|
9
|
+
export interface BaseHookContext {
|
|
10
|
+
agentId?: string;
|
|
11
|
+
projectId?: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
timestamp: number;
|
|
14
|
+
}
|
|
15
|
+
export interface PreMemorySaveContext extends BaseHookContext {
|
|
16
|
+
input: CreateMemoryInput;
|
|
17
|
+
}
|
|
18
|
+
export interface PostMemorySaveContext extends BaseHookContext {
|
|
19
|
+
memory: Memory;
|
|
20
|
+
wasUpdated: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface PreMemoryUpdateContext extends BaseHookContext {
|
|
23
|
+
memoryId: string;
|
|
24
|
+
input: UpdateMemoryInput;
|
|
25
|
+
existing: Memory;
|
|
26
|
+
}
|
|
27
|
+
export interface PostMemoryUpdateContext extends BaseHookContext {
|
|
28
|
+
memory: Memory;
|
|
29
|
+
previousValue: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PreMemoryDeleteContext extends BaseHookContext {
|
|
32
|
+
memoryId: string;
|
|
33
|
+
memory: Memory;
|
|
34
|
+
}
|
|
35
|
+
export interface PostMemoryDeleteContext extends BaseHookContext {
|
|
36
|
+
memoryId: string;
|
|
37
|
+
}
|
|
38
|
+
export interface PreEntityCreateContext extends BaseHookContext {
|
|
39
|
+
name: string;
|
|
40
|
+
entityType: string;
|
|
41
|
+
}
|
|
42
|
+
export interface PostEntityCreateContext extends BaseHookContext {
|
|
43
|
+
entityId: string;
|
|
44
|
+
name: string;
|
|
45
|
+
entityType: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PreRelationCreateContext extends BaseHookContext {
|
|
48
|
+
sourceEntityId: string;
|
|
49
|
+
targetEntityId: string;
|
|
50
|
+
relationType: string;
|
|
51
|
+
}
|
|
52
|
+
export interface PostRelationCreateContext extends BaseHookContext {
|
|
53
|
+
relationId: string;
|
|
54
|
+
sourceEntityId: string;
|
|
55
|
+
targetEntityId: string;
|
|
56
|
+
relationType: string;
|
|
57
|
+
}
|
|
58
|
+
export interface OnSessionStartContext extends BaseHookContext {
|
|
59
|
+
agentId: string;
|
|
60
|
+
projectId?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface OnSessionEndContext extends BaseHookContext {
|
|
63
|
+
agentId: string;
|
|
64
|
+
projectId?: string;
|
|
65
|
+
/** Optional session summary for memory extraction */
|
|
66
|
+
summary?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface PreMemoryInjectContext extends BaseHookContext {
|
|
69
|
+
/** Memories about to be injected — hook can mutate this array */
|
|
70
|
+
memories: Memory[];
|
|
71
|
+
format: string;
|
|
72
|
+
}
|
|
73
|
+
export interface PostMemoryInjectContext extends BaseHookContext {
|
|
74
|
+
memoriesCount: number;
|
|
75
|
+
format: string;
|
|
76
|
+
contextLength: number;
|
|
77
|
+
}
|
|
78
|
+
/** Union of all hook contexts keyed by type */
|
|
79
|
+
export type HookContextMap = {
|
|
80
|
+
PreMemorySave: PreMemorySaveContext;
|
|
81
|
+
PostMemorySave: PostMemorySaveContext;
|
|
82
|
+
PreMemoryUpdate: PreMemoryUpdateContext;
|
|
83
|
+
PostMemoryUpdate: PostMemoryUpdateContext;
|
|
84
|
+
PreMemoryDelete: PreMemoryDeleteContext;
|
|
85
|
+
PostMemoryDelete: PostMemoryDeleteContext;
|
|
86
|
+
PreEntityCreate: PreEntityCreateContext;
|
|
87
|
+
PostEntityCreate: PostEntityCreateContext;
|
|
88
|
+
PreRelationCreate: PreRelationCreateContext;
|
|
89
|
+
PostRelationCreate: PostRelationCreateContext;
|
|
90
|
+
OnSessionStart: OnSessionStartContext;
|
|
91
|
+
OnSessionEnd: OnSessionEndContext;
|
|
92
|
+
PreMemoryInject: PreMemoryInjectContext;
|
|
93
|
+
PostMemoryInject: PostMemoryInjectContext;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Blocking hook: return false to cancel the operation.
|
|
97
|
+
* Non-blocking hook: return value is ignored.
|
|
98
|
+
*/
|
|
99
|
+
export type HookHandler<T extends HookType = HookType> = (context: HookContextMap[T]) => Promise<boolean | void>;
|
|
100
|
+
export interface Hook<T extends HookType = HookType> {
|
|
101
|
+
id: string;
|
|
102
|
+
type: T;
|
|
103
|
+
handler: HookHandler<T>;
|
|
104
|
+
/** Lower number = runs first. Default: 50 */
|
|
105
|
+
priority: number;
|
|
106
|
+
/**
|
|
107
|
+
* If true: operation waits for handler result. Return false = cancel.
|
|
108
|
+
* If false: runs async in background, return value ignored.
|
|
109
|
+
*/
|
|
110
|
+
blocking: boolean;
|
|
111
|
+
/** Scope: only fire for this agent (undefined = all agents) */
|
|
112
|
+
agentId?: string;
|
|
113
|
+
/** Scope: only fire for this project (undefined = all projects) */
|
|
114
|
+
projectId?: string;
|
|
115
|
+
/** Human-readable description */
|
|
116
|
+
description?: string;
|
|
117
|
+
/** Whether this is a built-in system hook (can't be unregistered) */
|
|
118
|
+
builtin?: boolean;
|
|
119
|
+
}
|
|
120
|
+
export type HookRegistration<T extends HookType = HookType> = Omit<Hook<T>, "id">;
|
|
121
|
+
export interface WebhookHook {
|
|
122
|
+
id: string;
|
|
123
|
+
type: HookType;
|
|
124
|
+
/** HTTP endpoint to POST the context to */
|
|
125
|
+
handlerUrl: string;
|
|
126
|
+
priority: number;
|
|
127
|
+
blocking: boolean;
|
|
128
|
+
agentId?: string;
|
|
129
|
+
projectId?: string;
|
|
130
|
+
description?: string;
|
|
131
|
+
enabled: boolean;
|
|
132
|
+
createdAt: string;
|
|
133
|
+
invocationCount: number;
|
|
134
|
+
failureCount: number;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"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"}
|