@jungjaehoon/mama-core 2.4.1 → 4.1.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 +76 -239
- package/db/migrations/030-case-first-memory-substrate.sql +13 -98
- package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
- package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
- package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
- package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
- package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
- package/db/migrations/069-create-registry-nodes.sql +52 -0
- package/db/migrations/070-record-identity.sql +35 -0
- package/db/migrations/071-service-operation-origins.sql +187 -0
- package/db/migrations/072-observation-versions.sql +29 -0
- package/db/migrations/073-registry-corrections.sql +45 -0
- package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
- package/db/migrations/075-agent-judgments.sql +58 -0
- package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
- package/db/migrations/077-legacy-record-kind.sql +6 -0
- package/db/migrations/078-source-ingest-commands.sql +18 -0
- package/db/migrations/079-twin-edge-relations.sql +43 -0
- package/db/migrations/080-restore-duration-days.sql +7 -0
- package/db/migrations/081-mailbox.sql +61 -0
- package/db/migrations/082-commitments-row-id.sql +12 -0
- package/db/migrations/083-observation-is-the-evidence.sql +49 -0
- package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
- package/db/migrations/085-a-migration-has-a-source.sql +37 -0
- package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
- package/db/migrations/087-mailbox-payload.sql +5 -0
- package/db/migrations/088-native-input-journal.sql +14 -0
- package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
- package/db/migrations/090-model-run-native-inputs.sql +29 -0
- package/db/migrations/091-native-turn-results.sql +11 -0
- package/db/migrations/092-restore-decision-fts.sql +34 -0
- package/db/migrations/093-native-turn-primary-kind.sql +14 -0
- package/db/migrations/094-commitment-run-provenance.sql +9 -0
- package/db/migrations/095-model-run-native-input-identity.sql +39 -0
- package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
- package/db/migrations/097-native-input-json-validity.sql +37 -0
- package/db/migrations/098-workflow-memory-kind.sql +105 -0
- package/db/migrations/099-commitment-revision-graph.sql +2 -0
- package/dist/action-contracts.d.ts +212 -0
- package/dist/action-contracts.js +10 -0
- package/dist/api/catalog.d.ts +118 -0
- package/dist/api/catalog.js +1756 -0
- package/dist/api/dispatch.d.ts +76 -0
- package/dist/api/dispatch.js +372 -0
- package/dist/canonicalize.d.ts +2 -2
- package/dist/canonicalize.js +3 -3
- package/dist/client/client.d.ts +33 -0
- package/dist/client/client.js +123 -0
- package/dist/client/ipc.d.ts +81 -0
- package/dist/client/ipc.js +314 -0
- package/dist/db-adapter/base-adapter.d.ts +6 -66
- package/dist/db-adapter/base-adapter.js +6 -6
- package/dist/db-adapter/index.d.ts +5 -5
- package/dist/db-adapter/index.js +2 -5
- package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
- package/dist/db-adapter/node-sqlite-adapter.js +1985 -570
- package/dist/db-manager.d.ts +53 -97
- package/dist/db-manager.js +121 -603
- package/dist/embedding/embedder.d.ts +132 -0
- package/dist/embedding/embedder.js +299 -0
- package/dist/identity/principal-repository.d.ts +2 -2
- package/dist/index.d.ts +43 -58
- package/dist/index.js +97 -145
- package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
- package/dist/knowledge/access.js +663 -0
- package/dist/knowledge/case-errors.d.ts +31 -0
- package/dist/knowledge/case-errors.js +40 -0
- package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
- package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
- package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
- package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
- package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
- package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
- package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
- package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
- package/dist/knowledge/commitment-revision-migration.d.ts +4 -0
- package/dist/knowledge/commitment-revision-migration.js +50 -0
- package/dist/knowledge/commitments.d.ts +192 -0
- package/dist/knowledge/commitments.js +386 -0
- package/dist/knowledge/decision-edges.d.ts +70 -0
- package/dist/knowledge/decision-edges.js +123 -0
- package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
- package/dist/knowledge/graph-query.js +1585 -0
- package/dist/knowledge/identity.d.ts +16 -0
- package/dist/knowledge/identity.js +22 -0
- package/dist/knowledge/index.d.ts +47 -0
- package/dist/knowledge/index.js +90 -0
- package/dist/knowledge/judgment-edge.d.ts +6 -0
- package/dist/knowledge/judgment-edge.js +22 -0
- package/dist/knowledge/judgments.d.ts +118 -0
- package/dist/knowledge/judgments.js +802 -0
- package/dist/knowledge/observations.d.ts +160 -0
- package/dist/knowledge/observations.js +449 -0
- package/dist/knowledge/question-type.d.ts +34 -0
- package/dist/knowledge/question-type.js +70 -0
- package/dist/{search → knowledge}/ranker-features.js +1 -1
- package/dist/{search → knowledge}/search-quality.d.ts +0 -1
- package/dist/knowledge/search.d.ts +38 -0
- package/dist/knowledge/search.js +91 -0
- package/dist/knowledge/source-ingest.d.ts +65 -0
- package/dist/knowledge/source-ingest.js +174 -0
- package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
- package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
- package/dist/knowledge/work-dates.d.ts +49 -0
- package/dist/knowledge/work-dates.js +120 -0
- package/dist/mama-api.d.ts +114 -778
- package/dist/mama-api.js +313 -2461
- package/dist/memory/api.d.ts +264 -24
- package/dist/memory/api.js +1633 -843
- package/dist/memory/bootstrap-builder.d.ts +2 -1
- package/dist/memory/bootstrap-builder.js +5 -5
- package/dist/memory/channel-summary-state-store.d.ts +3 -2
- package/dist/memory/channel-summary-state-store.js +53 -51
- package/dist/memory/channel-summary-store.d.ts +5 -3
- package/dist/memory/channel-summary-store.js +3 -8
- package/dist/memory/dashboard-read.d.ts +46 -0
- package/dist/memory/dashboard-read.js +94 -0
- package/dist/memory/event-store.d.ts +3 -3
- package/dist/memory/event-store.js +3 -10
- package/dist/memory/finding-store.d.ts +3 -2
- package/dist/memory/finding-store.js +2 -7
- package/dist/memory/graph-read.d.ts +52 -0
- package/dist/memory/graph-read.js +130 -0
- package/dist/memory/judgment-types.d.ts +394 -0
- package/dist/memory/judgment-types.js +16 -0
- package/dist/memory/provenance-audit.d.ts +5 -2
- package/dist/memory/provenance-audit.js +8 -14
- package/dist/memory/provenance-live.d.ts +141 -0
- package/dist/memory/provenance-live.js +409 -0
- package/dist/memory/provenance-query.d.ts +5 -4
- package/dist/memory/provenance-query.js +21 -29
- package/dist/memory/provenance-resolver.d.ts +191 -0
- package/dist/memory/provenance-resolver.js +155 -0
- package/dist/memory/provenance.d.ts +1 -11
- package/dist/memory/provenance.js +2 -33
- package/dist/memory/recall-sanitize.d.ts +55 -0
- package/dist/memory/recall-sanitize.js +144 -0
- package/dist/memory/secret-filter.d.ts +32 -0
- package/dist/memory/secret-filter.js +126 -0
- package/dist/memory/truth-store.d.ts +2 -1
- package/dist/memory/truth-store.js +1 -4
- package/dist/memory/types.d.ts +74 -24
- package/dist/memory/types.js +75 -5
- package/dist/memory/write-adapters.d.ts +98 -0
- package/dist/memory/write-adapters.js +242 -0
- package/dist/operations/owner-action-effects.d.ts +53 -0
- package/dist/operations/owner-action-effects.js +96 -0
- package/dist/provenance/source-ref.d.ts +1 -1
- package/dist/provenance/source-ref.js +0 -2
- package/dist/registry/corrections.d.ts +31 -0
- package/dist/registry/corrections.js +332 -0
- package/dist/registry/record-identity.d.ts +49 -0
- package/dist/registry/record-identity.js +133 -0
- package/dist/registry/store.d.ts +101 -0
- package/dist/registry/store.js +395 -0
- package/dist/registry/types.d.ts +28 -0
- package/dist/registry/types.js +5 -0
- package/dist/relevance-scorer.js +2 -2
- package/dist/runtime/agent-event-bus.d.ts +50 -0
- package/dist/runtime/agent-event-bus.js +101 -0
- package/dist/runtime/drivers/claude-cli-wrapper.d.ts +152 -0
- package/dist/runtime/drivers/claude-cli-wrapper.js +375 -0
- package/dist/runtime/drivers/claude-effort.d.ts +4 -0
- package/dist/runtime/drivers/claude-effort.js +16 -0
- package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
- package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
- package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
- package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
- package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
- package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
- package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
- package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
- package/dist/runtime/drivers/codex-home.d.ts +20 -0
- package/dist/runtime/drivers/codex-home.js +674 -0
- package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
- package/dist/runtime/drivers/codex-thread-registry.js +433 -0
- package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
- package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
- package/dist/runtime/drivers/persistent-cli-process.d.ts +425 -0
- package/dist/runtime/drivers/persistent-cli-process.js +1529 -0
- package/dist/runtime/drivers/types.d.ts +456 -0
- package/dist/runtime/drivers/types.js +110 -0
- package/dist/runtime/mailbox.d.ts +223 -0
- package/dist/runtime/mailbox.js +582 -0
- package/dist/runtime/model-run-store.d.ts +28 -0
- package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
- package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
- package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
- package/dist/runtime/native-effect-observer.d.ts +22 -0
- package/dist/runtime/native-effect-observer.js +103 -0
- package/dist/runtime/native-input-journal.d.ts +46 -0
- package/dist/runtime/native-input-journal.js +308 -0
- package/dist/runtime/native-prompt.d.ts +118 -0
- package/dist/runtime/native-prompt.js +496 -0
- package/dist/runtime/native-session.d.ts +10 -0
- package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
- package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
- package/dist/runtime/native-tool-trace-observer.js +65 -0
- package/dist/runtime/native-turn.d.ts +272 -0
- package/dist/runtime/native-turn.js +1041 -0
- package/dist/runtime/operations.d.ts +236 -0
- package/dist/runtime/operations.js +565 -0
- package/dist/runtime/post-tool-handler.d.ts +74 -0
- package/dist/runtime/post-tool-handler.js +137 -0
- package/dist/runtime/prompt-layers.d.ts +126 -0
- package/dist/runtime/prompt-layers.js +239 -0
- package/dist/runtime/runtime-process.d.ts +102 -0
- package/dist/runtime/runtime-process.js +206 -0
- package/dist/runtime/runtime.d.ts +278 -0
- package/dist/runtime/runtime.js +563 -0
- package/dist/runtime/session-pool.d.ts +176 -0
- package/dist/runtime/session-pool.js +369 -0
- package/dist/runtime/stimulus-payload.d.ts +5 -0
- package/dist/runtime/stimulus-payload.js +50 -0
- package/dist/runtime/subagent-bridge.d.ts +24 -0
- package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
- package/dist/runtime/text-completion.d.ts +22 -0
- package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
- package/dist/runtime/token-estimator.d.ts +25 -0
- package/dist/runtime/token-estimator.js +75 -0
- package/dist/runtime/tool-trace-store.d.ts +22 -0
- package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
- package/dist/runtime/trace-summary.d.ts +5 -0
- package/dist/runtime/trace-summary.js +74 -0
- package/dist/runtime/turn-text.d.ts +23 -0
- package/dist/runtime/turn-text.js +41 -0
- package/dist/storage/database.d.ts +67 -0
- package/dist/storage/database.js +158 -0
- package/package.json +20 -34
- package/dist/agent-graph/alias-write.d.ts +0 -3
- package/dist/agent-graph/alias-write.js +0 -234
- package/dist/agent-graph/entity-resolve.d.ts +0 -3
- package/dist/agent-graph/entity-resolve.js +0 -271
- package/dist/agent-graph/errors.d.ts +0 -4
- package/dist/agent-graph/errors.js +0 -11
- package/dist/agent-graph/graph-query.d.ts +0 -5
- package/dist/agent-graph/graph-query.js +0 -360
- package/dist/agent-graph/index.d.ts +0 -6
- package/dist/agent-situation/builder.d.ts +0 -8
- package/dist/agent-situation/builder.js +0 -239
- package/dist/agent-situation/cache-key.d.ts +0 -4
- package/dist/agent-situation/cache-key.js +0 -64
- package/dist/agent-situation/index.d.ts +0 -7
- package/dist/agent-situation/index.js +0 -28
- package/dist/agent-situation/packet-store.d.ts +0 -27
- package/dist/agent-situation/packet-store.js +0 -228
- package/dist/agent-situation/ranking-policy.d.ts +0 -18
- package/dist/agent-situation/ranking-policy.js +0 -75
- package/dist/agent-situation/source-readers.d.ts +0 -52
- package/dist/agent-situation/source-readers.js +0 -300
- package/dist/agent-situation/types.d.ts +0 -195
- package/dist/cases/wiki-page-index.d.ts +0 -37
- package/dist/cases/wiki-page-index.js +0 -201
- package/dist/config-loader.d.ts +0 -68
- package/dist/config-loader.js +0 -239
- package/dist/connectors/event-index.d.ts +0 -24
- package/dist/connectors/event-index.js +0 -245
- package/dist/connectors/raw-query.d.ts +0 -40
- package/dist/connectors/raw-query.js +0 -412
- package/dist/connectors/types.d.ts +0 -117
- package/dist/connectors/types.js +0 -3
- package/dist/context-compile/boundary-defaults.d.ts +0 -12
- package/dist/context-compile/boundary-defaults.js +0 -105
- package/dist/context-compile/channel-grant.js +0 -66
- package/dist/context-compile/compiler-policy.d.ts +0 -39
- package/dist/context-compile/compiler-policy.js +0 -147
- package/dist/context-compile/compiler.d.ts +0 -18
- package/dist/context-compile/compiler.js +0 -404
- package/dist/context-compile/index.d.ts +0 -10
- package/dist/context-compile/index.js +0 -26
- package/dist/context-compile/packet-store.d.ts +0 -8
- package/dist/context-compile/packet-store.js +0 -239
- package/dist/context-compile/ref.d.ts +0 -7
- package/dist/context-compile/ref.js +0 -102
- package/dist/context-compile/source-readers.d.ts +0 -70
- package/dist/context-compile/source-readers.js +0 -840
- package/dist/context-compile/types.d.ts +0 -155
- package/dist/context-compile/types.js +0 -11
- package/dist/context-compile/visibility.d.ts +0 -21
- package/dist/context-compile/visibility.js +0 -224
- package/dist/decision-tracker.d.ts +0 -206
- package/dist/decision-tracker.js +0 -481
- package/dist/edges/ref-validation.d.ts +0 -7
- package/dist/edges/ref-validation.js +0 -321
- package/dist/edges/store.d.ts +0 -8
- package/dist/edges/store.js +0 -129
- package/dist/embedding-client.d.ts +0 -28
- package/dist/embedding-client.js +0 -53
- package/dist/embedding-server/index.d.ts +0 -67
- package/dist/embedding-server/index.js +0 -405
- package/dist/embedding-server/mobile/auth.d.ts +0 -44
- package/dist/embedding-server/mobile/auth.js +0 -150
- package/dist/embedding-server/mobile/daemon.d.ts +0 -129
- package/dist/embedding-server/mobile/daemon.js +0 -313
- package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
- package/dist/embedding-server/mobile/output-parser.js +0 -241
- package/dist/embedding-server/mobile/session-api.d.ts +0 -57
- package/dist/embedding-server/mobile/session-api.js +0 -261
- package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
- package/dist/embedding-server/mobile/session-manager.js +0 -378
- package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
- package/dist/embedding-server/mobile/websocket-handler.js +0 -486
- package/dist/embeddings.d.ts +0 -68
- package/dist/embeddings.js +0 -244
- package/dist/entities/audit-metrics.d.ts +0 -68
- package/dist/entities/audit-metrics.js +0 -124
- package/dist/entities/candidate-generator.d.ts +0 -8
- package/dist/entities/candidate-generator.js +0 -24
- package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
- package/dist/entities/entity-linked-decision-counts.js +0 -29
- package/dist/entities/entity-list.d.ts +0 -22
- package/dist/entities/entity-list.js +0 -3
- package/dist/entities/entity-orphan-list.d.ts +0 -17
- package/dist/entities/entity-orphan-list.js +0 -3
- package/dist/entities/entity-search.d.ts +0 -20
- package/dist/entities/entity-search.js +0 -3
- package/dist/entities/errors.d.ts +0 -55
- package/dist/entities/errors.js +0 -100
- package/dist/entities/lineage-store.d.ts +0 -28
- package/dist/entities/lineage-store.js +0 -204
- package/dist/entities/normalization.d.ts +0 -14
- package/dist/entities/normalization.js +0 -63
- package/dist/entities/policy-store.d.ts +0 -8
- package/dist/entities/policy-store.js +0 -75
- package/dist/entities/policy-types.d.ts +0 -72
- package/dist/entities/policy-types.js +0 -59
- package/dist/entities/projection.d.ts +0 -8
- package/dist/entities/projection.js +0 -82
- package/dist/entities/provenance-query.d.ts +0 -32
- package/dist/entities/provenance-query.js +0 -3
- package/dist/entities/read-identity.d.ts +0 -31
- package/dist/entities/read-identity.js +0 -264
- package/dist/entities/recall-bridge.d.ts +0 -5
- package/dist/entities/recall-bridge.js +0 -171
- package/dist/entities/resolution-engine.d.ts +0 -8
- package/dist/entities/resolution-engine.js +0 -3
- package/dist/entities/rollback-preview.d.ts +0 -35
- package/dist/entities/rollback-preview.js +0 -3
- package/dist/entities/source-locator.d.ts +0 -3
- package/dist/entities/source-locator.js +0 -32
- package/dist/entities/store.d.ts +0 -69
- package/dist/entities/store.js +0 -544
- package/dist/entities/types.d.ts +0 -166
- package/dist/entities/types.js +0 -30
- package/dist/memory/extraction-prompt.d.ts +0 -4
- package/dist/memory/extraction-prompt.js +0 -89
- package/dist/memory/scope-backfill.d.ts +0 -14
- package/dist/memory/scope-backfill.js +0 -3
- package/dist/memory/scope-store.d.ts +0 -4
- package/dist/memory/scope-store.js +0 -9
- package/dist/memory-store.d.ts +0 -87
- package/dist/memory-store.js +0 -78
- package/dist/model-runs/store.d.ts +0 -13
- package/dist/model-runs/tool-trace-store.d.ts +0 -8
- package/dist/notification-manager.d.ts +0 -7
- package/dist/notification-manager.js +0 -12
- package/dist/outcome-tracker.d.ts +0 -151
- package/dist/outcome-tracker.js +0 -271
- package/dist/query-intent.d.ts +0 -23
- package/dist/query-intent.js +0 -114
- package/dist/runtime/trusted-provenance.d.ts +0 -3
- package/dist/runtime/trusted-provenance.js +0 -6
- package/dist/search/question-type.d.ts +0 -5
- package/dist/search/question-type.js +0 -41
- package/dist/test-utils.d.ts +0 -80
- package/dist/test-utils.js +0 -218
- package/dist/tier-validator.d.ts +0 -43
- package/dist/tier-validator.js +0 -159
- package/dist/time-formatter.d.ts +0 -25
- package/dist/time-formatter.js +0 -93
- /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
- /package/dist/{search → knowledge}/feedback-store.js +0 -0
- /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
- /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
- /package/dist/{search → knowledge}/search-quality.js +0 -0
package/dist/memory/api.d.ts
CHANGED
|
@@ -1,21 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DatabaseAdapter } from '../db-manager.js';
|
|
2
|
+
import type { TextCompletion } from '../runtime/text-completion.js';
|
|
3
|
+
import type { SearchQualityOptions } from '../knowledge/search-quality.js';
|
|
4
|
+
import type { DecisionRecord } from '../db-manager.js';
|
|
5
|
+
import type { DatabaseInstance } from '../db-manager.js';
|
|
2
6
|
import { resolveMemoryEvolution } from './evolution-engine.js';
|
|
3
7
|
import { getChannelSummary, upsertChannelSummary } from './channel-summary-store.js';
|
|
4
|
-
import { type SearchHitDiagnostics } from '../
|
|
5
|
-
import type { MemoryAgentBootstrap, MemoryAuditAck, MemoryEdge, MemoryRecord, MemoryScopeRef, MemoryStatus, ProfileSnapshot, PublicIngestMemoryInput, PublicSaveMemoryInput, RecallBundle, IngestConversationInput,
|
|
6
|
-
import { type
|
|
8
|
+
import { type SearchHitDiagnostics } from '../knowledge/search-quality.js';
|
|
9
|
+
import type { MemoryKind, MemoryKindFilter, MemoryAgentBootstrap, MemoryAuditAck, MemoryEdge, MemoryRecord, MemoryScopeRef, MemoryStatus, ProfileSnapshot, PublicIngestMemoryInput, PublicSaveMemoryInput, RecallBundle, IngestConversationInput, IngestConversationResult, RecallMemoryOptions } from './types.js';
|
|
10
|
+
import { type JudgmentAccess } from '../knowledge/judgments.js';
|
|
11
|
+
import type { ActionSessionFacts } from '../action-contracts.js';
|
|
7
12
|
type SaveMemoryInput = PublicSaveMemoryInput;
|
|
8
13
|
type IngestMemoryInput = PublicIngestMemoryInput;
|
|
14
|
+
export interface LegacyMemoryPersistence {
|
|
15
|
+
userInvolvement?: string | null;
|
|
16
|
+
outcome?: string | null;
|
|
17
|
+
failureReason?: string | null;
|
|
18
|
+
limitation?: string | null;
|
|
19
|
+
isStatic?: number;
|
|
20
|
+
relationships?: Array<{
|
|
21
|
+
type: string;
|
|
22
|
+
targetIds: string[];
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
9
25
|
export interface FusedHit {
|
|
10
|
-
source_type: 'decision'
|
|
26
|
+
source_type: 'decision';
|
|
11
27
|
source_id: string;
|
|
12
|
-
record: MemoryRecord
|
|
28
|
+
record: MemoryRecord;
|
|
13
29
|
fused_rank_score: number;
|
|
14
|
-
page_type?: WikiPageIndexRecord['page_type'];
|
|
15
30
|
case_id?: string | null;
|
|
16
31
|
retrieval_diagnostics?: SearchHitDiagnostics;
|
|
17
32
|
}
|
|
18
33
|
export declare function buildDecisionId(topic: string): string;
|
|
34
|
+
export interface ReadMemoryRecordsOptions {
|
|
35
|
+
kind?: MemoryKindFilter;
|
|
36
|
+
status?: MemoryStatus | readonly MemoryStatus[];
|
|
37
|
+
}
|
|
38
|
+
/** Read complete memory records whose stored scopes intersect the admitted scopes. */
|
|
39
|
+
export declare function readMemoryRecordsInScopes(adapter: DatabaseInstance, scopes: readonly MemoryScopeRef[], options?: ReadMemoryRecordsOptions): Promise<MemoryRecord[]>;
|
|
40
|
+
/** Read one complete record only when at least one stored scope is admitted. */
|
|
41
|
+
export declare function readMemoryRecordById(adapter: DatabaseInstance, memoryId: string, scopes: readonly MemoryScopeRef[]): Promise<MemoryRecord | null>;
|
|
19
42
|
export declare const LEXICAL_STOPWORDS: Set<string>;
|
|
20
43
|
export declare function getLexicalQueryTokens(query: string): string[];
|
|
21
44
|
/**
|
|
@@ -26,40 +49,64 @@ export declare function getLexicalQueryTokens(query: string): string[];
|
|
|
26
49
|
* top-5 for 42.5% of chains - present in the candidate pool, buried by rank).
|
|
27
50
|
*/
|
|
28
51
|
export declare function topicAffinityBoost(topic: string, tokens: string[], normalizedQuery: string): number;
|
|
29
|
-
export declare function loadEdgesForIds(ids: string[]): Promise<MemoryEdge[]>;
|
|
52
|
+
export declare function loadEdgesForIds(adapter: DatabaseInstance, ids: string[]): Promise<MemoryEdge[]>;
|
|
30
53
|
type SaveMemoryResult = {
|
|
31
54
|
success: boolean;
|
|
32
55
|
id: string;
|
|
33
56
|
saved_decision_id?: string;
|
|
34
|
-
timeline_event_id?: string | null;
|
|
35
|
-
timeline_event_ids?: string[];
|
|
36
57
|
};
|
|
37
|
-
export declare function saveMemory(input: SaveMemoryInput): Promise<SaveMemoryResult>;
|
|
38
|
-
|
|
39
|
-
|
|
58
|
+
export declare function saveMemory(adapter: DatabaseInstance, input: SaveMemoryInput): Promise<SaveMemoryResult>;
|
|
59
|
+
/**
|
|
60
|
+
* The unified `memory.save` action path. Access IS the call authority — the
|
|
61
|
+
* command's scopes are checked against it inside `appendJudgment`, and the
|
|
62
|
+
* record's provenance is composed from it plus the session facts the host
|
|
63
|
+
* attests (never from caller input). `commandId` is the caller's operationId,
|
|
64
|
+
* so a retried call replays the original receipt.
|
|
65
|
+
*/
|
|
66
|
+
export declare function saveJudgmentRecord(adapter: DatabaseInstance, input: SaveMemoryInput, access: JudgmentAccess, commandId: string, session?: ActionSessionFacts): Promise<SaveMemoryResult>;
|
|
67
|
+
/**
|
|
68
|
+
* The read-side scope rule for memory actions — the same bound `appendJudgment`
|
|
69
|
+
* applies to writes. An omitted request reads under the full admitted scopes;
|
|
70
|
+
* an explicit request must be a subset of them. An empty admitted set admits an
|
|
71
|
+
* empty corpus: a caller with no scopes can see no scoped record (reads never
|
|
72
|
+
* fall back to an unbounded scan — the legacy `scopes: []` = read-all behavior
|
|
73
|
+
* is exactly what this bound removes).
|
|
74
|
+
*/
|
|
75
|
+
export declare function boundReadScopesFor(access: JudgmentAccess, requested?: MemoryScopeRef[]): MemoryScopeRef[];
|
|
76
|
+
export declare function saveLegacyMemory(adapter: DatabaseInstance, input: SaveMemoryInput, legacy: LegacyMemoryPersistence, access?: JudgmentAccess): Promise<SaveMemoryResult>;
|
|
77
|
+
export declare function promoteMemoryStatus(adapter: DatabaseInstance, input: {
|
|
40
78
|
memoryId: string;
|
|
41
79
|
status: MemoryStatus;
|
|
42
80
|
nowMs?: number;
|
|
43
81
|
}): Promise<void>;
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
export declare function
|
|
47
|
-
|
|
82
|
+
export type MemoryRetirementStatus = Extract<MemoryStatus, 'stale' | 'superseded'>;
|
|
83
|
+
/** Append an access-checked status amendment for one stored memory record. */
|
|
84
|
+
export declare function retireMemoryRecord(adapter: DatabaseInstance, input: {
|
|
85
|
+
memoryId: string;
|
|
86
|
+
status: MemoryRetirementStatus;
|
|
87
|
+
reason: string;
|
|
88
|
+
}, access: JudgmentAccess, commandId: string): Promise<{
|
|
89
|
+
success: true;
|
|
48
90
|
id: string;
|
|
91
|
+
status: MemoryRetirementStatus;
|
|
92
|
+
reason: string;
|
|
93
|
+
receiptId: string;
|
|
49
94
|
}>;
|
|
50
|
-
export declare function
|
|
95
|
+
export declare function buildProfile(adapter: DatabaseInstance, scopes: MemoryScopeRef[]): Promise<ProfileSnapshot>;
|
|
96
|
+
export declare function recallMemory(adapter: DatabaseInstance, query: string, options?: RecallMemoryOptions): Promise<RecallBundle>;
|
|
97
|
+
export declare function ingestMemory(adapter: DatabaseInstance, input: IngestMemoryInput): Promise<{
|
|
51
98
|
success: boolean;
|
|
52
99
|
id: string;
|
|
53
100
|
}>;
|
|
54
101
|
export declare function evolveMemory(input: Parameters<typeof resolveMemoryEvolution>[0]): Promise<import("./evolution-engine.js").EvolutionResult>;
|
|
55
|
-
export declare function buildMemoryBootstrap(params: {
|
|
102
|
+
export declare function buildMemoryBootstrap(adapter: DatabaseInstance, params: {
|
|
56
103
|
scopes: MemoryScopeRef[];
|
|
57
104
|
channelKey?: string;
|
|
58
105
|
currentGoal?: string;
|
|
59
106
|
mainAgentState?: MemoryAgentBootstrap['main_agent_state'];
|
|
60
107
|
}): Promise<MemoryAgentBootstrap>;
|
|
61
108
|
export declare function createAuditAck(input: MemoryAuditAck): MemoryAuditAck;
|
|
62
|
-
export declare function recordMemoryAudit(input: {
|
|
109
|
+
export declare function recordMemoryAudit(adapter: DatabaseInstance, input: {
|
|
63
110
|
channelKey: string;
|
|
64
111
|
turnId: string;
|
|
65
112
|
topic: string;
|
|
@@ -75,9 +122,202 @@ export declare function recordMemoryAudit(input: {
|
|
|
75
122
|
findingIds: string[];
|
|
76
123
|
state: import("./types.js").ChannelSummaryStateRecord;
|
|
77
124
|
}>;
|
|
78
|
-
declare function
|
|
79
|
-
export declare function setExtractionFn(fn: typeof callExtractionLLM | null): void;
|
|
80
|
-
export declare function ingestConversation(input: IngestConversationInput): Promise<IngestConversationResult>;
|
|
81
|
-
export declare function ingestConversationWithTrustedProvenance(input: IngestConversationInput, options: TrustedMemoryWriteOptions): Promise<IngestConversationResult>;
|
|
125
|
+
export declare function ingestConversation(adapter: DatabaseInstance, input: IngestConversationInput): Promise<IngestConversationResult>;
|
|
82
126
|
export { upsertChannelSummary, getChannelSummary };
|
|
127
|
+
/**
|
|
128
|
+
* Expand search results with graph context (Phase 1 - Graph-Enhanced Retrieval)
|
|
129
|
+
*
|
|
130
|
+
* For each candidate decision:
|
|
131
|
+
* 1. Add supersedes chain (evolution history)
|
|
132
|
+
* 2. Add semantic edges (refines, contradicts)
|
|
133
|
+
* 3. Deduplicate by ID
|
|
134
|
+
* 4. Re-rank by relevance (primary candidates ranked higher)
|
|
135
|
+
*
|
|
136
|
+
* @param {Array} candidates - Initial search results from vector/keyword search
|
|
137
|
+
* @returns {Promise<Array>} Graph-enhanced results with evolution context
|
|
138
|
+
*/
|
|
139
|
+
export interface SearchCandidate {
|
|
140
|
+
id: string;
|
|
141
|
+
topic: string;
|
|
142
|
+
decision: string;
|
|
143
|
+
reasoning?: string | null;
|
|
144
|
+
confidence?: number;
|
|
145
|
+
similarity?: number;
|
|
146
|
+
created_at?: number | string;
|
|
147
|
+
graph_source?: string;
|
|
148
|
+
graph_rank?: number;
|
|
149
|
+
related_to?: string | null;
|
|
150
|
+
edge_reason?: string | null;
|
|
151
|
+
recency_score?: number;
|
|
152
|
+
recency_age_days?: number;
|
|
153
|
+
final_score?: number;
|
|
154
|
+
outcome?: string | null;
|
|
155
|
+
failure_reason?: string | null;
|
|
156
|
+
is_static?: number;
|
|
157
|
+
}
|
|
158
|
+
export declare function expandWithGraphInAdapter(adapter: DatabaseAdapter, candidates: SearchCandidate[]): Promise<SearchCandidate[]>;
|
|
159
|
+
/**
|
|
160
|
+
* Suggest relevant decisions based on user question
|
|
161
|
+
*
|
|
162
|
+
* DEFAULT: Returns JSON object with search results (LLM-first design)
|
|
163
|
+
* OPTIONAL: Returns Markdown string if format='markdown' (for human display)
|
|
164
|
+
*
|
|
165
|
+
* Simplified: Direct vector search without LLM intent analysis
|
|
166
|
+
* Works with short queries, long questions, Korean/English
|
|
167
|
+
*
|
|
168
|
+
* @param {string} userQuestion - User's question or intent
|
|
169
|
+
* @param {Object} options - Search options
|
|
170
|
+
* @param {string} [options.format='json'] - Output format: 'json' (default) or 'markdown'
|
|
171
|
+
* @param {number} [options.limit=5] - Max results to return
|
|
172
|
+
* @param {number} [options.threshold=0.6] - Minimum similarity (adaptive by query length)
|
|
173
|
+
* @param {boolean} [options.useReranking=false] - Use LLM re-ranking (optional, slower)
|
|
174
|
+
* @returns {Promise<Object|string|null>} Search results as JSON or Markdown, null if no results
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* // LLM usage (default)
|
|
178
|
+
* const data = await mama.suggest('Why did we choose JWT?');
|
|
179
|
+
* // → { query, results: [...], meta: {...} }
|
|
180
|
+
*
|
|
181
|
+
* // Human display
|
|
182
|
+
* const markdown = await mama.suggest('mesh optimization', { format: 'markdown' });
|
|
183
|
+
* // → "💡 MAMA found 3 related topics:\n1. ..."
|
|
184
|
+
*/
|
|
185
|
+
export interface SuggestFunctionOptions extends SearchQualityOptions {
|
|
186
|
+
format?: 'json' | 'markdown';
|
|
187
|
+
limit?: number;
|
|
188
|
+
kind?: MemoryKind;
|
|
189
|
+
useReranking?: boolean;
|
|
190
|
+
/** Phase 3 Task 33: apply learned offline ranker rescoring. */
|
|
191
|
+
rerankWithLearned?: boolean;
|
|
192
|
+
recencyWeight?: number;
|
|
193
|
+
recencyScale?: number;
|
|
194
|
+
recencyDecay?: number;
|
|
195
|
+
scopes?: Array<{
|
|
196
|
+
kind: string;
|
|
197
|
+
id: string;
|
|
198
|
+
}>;
|
|
199
|
+
/**
|
|
200
|
+
* The model this runtime opened, when `useReranking` asks for one. This
|
|
201
|
+
* module used to open its own (a local Ollama endpoint), which decided for
|
|
202
|
+
* every host installing the library; the host states it now (§2.1).
|
|
203
|
+
*/
|
|
204
|
+
runner?: TextCompletion;
|
|
205
|
+
}
|
|
206
|
+
export declare function suggestInAdapter(adapter: DatabaseInstance, userQuestion: string, options?: SuggestFunctionOptions): Promise<any>;
|
|
207
|
+
/**
|
|
208
|
+
* List recent decisions (all topics, chronological)
|
|
209
|
+
*
|
|
210
|
+
* DEFAULT: Returns JSON array with recent decisions (LLM-first design)
|
|
211
|
+
* OPTIONAL: Returns Markdown string if format='markdown' (for human display)
|
|
212
|
+
*
|
|
213
|
+
* @param {Object} [options] - Options
|
|
214
|
+
* @param {number} [options.limit=10] - Max results
|
|
215
|
+
* @param {string} [options.format='json'] - Output format
|
|
216
|
+
* @returns {Promise<Array|string>} Recent decisions
|
|
217
|
+
*/
|
|
218
|
+
export interface ListDecisionsOptions {
|
|
219
|
+
limit?: number;
|
|
220
|
+
format?: 'json' | 'markdown';
|
|
221
|
+
kind?: MemoryKind;
|
|
222
|
+
scopes?: Array<{
|
|
223
|
+
kind: string;
|
|
224
|
+
id: string;
|
|
225
|
+
}>;
|
|
226
|
+
/**
|
|
227
|
+
* Exact ledger read: every decision whose topic starts with this string, superseded rows
|
|
228
|
+
* included (they are the earlier rounds of the same item). `%` and `_` are literal.
|
|
229
|
+
* This is a lookup, not a search - `suggest({topicPrefix})` treats the prefix as a soft
|
|
230
|
+
* signal and was measured returning 5 of 12 rows plus one from another item.
|
|
231
|
+
*/
|
|
232
|
+
topicPrefix?: string;
|
|
233
|
+
}
|
|
234
|
+
export declare function listDecisionsInAdapter(adapter: DatabaseAdapter, options?: ListDecisionsOptions): Promise<DecisionRecord[] | string>;
|
|
235
|
+
/**
|
|
236
|
+
* Update outcome of a decision
|
|
237
|
+
*
|
|
238
|
+
* Track whether a decision succeeded, failed, or partially worked
|
|
239
|
+
* AC: Evolutionary Decision Memory - Learn from outcomes
|
|
240
|
+
*
|
|
241
|
+
* @param {string} decisionId - Decision ID to update
|
|
242
|
+
* @param {Object} outcome - Outcome details
|
|
243
|
+
* @param {string} outcome.outcome - 'SUCCESS', 'FAILED', or 'PARTIAL'
|
|
244
|
+
* @param {string} [outcome.failure_reason] - Reason for failure (if FAILED)
|
|
245
|
+
* @param {string} [outcome.limitation] - Limitation description (if PARTIAL)
|
|
246
|
+
* @returns {Promise<void>}
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* await mama.updateOutcome('decision_auth_strategy_123456_abc', {
|
|
250
|
+
* outcome: 'FAILED',
|
|
251
|
+
* failure_reason: 'Missing token expiration handling'
|
|
252
|
+
* });
|
|
253
|
+
*/
|
|
254
|
+
export interface UpdateOutcomeParams {
|
|
255
|
+
outcome: string;
|
|
256
|
+
failure_reason?: string | null;
|
|
257
|
+
limitation?: string | null;
|
|
258
|
+
}
|
|
259
|
+
export declare function updateOutcomeInAdapter(adapter: DatabaseInstance, decisionId: string, { outcome, failure_reason, limitation }: UpdateOutcomeParams): Promise<void>;
|
|
260
|
+
/**
|
|
261
|
+
* List recent checkpoints (New Feature: Session Continuity)
|
|
262
|
+
*
|
|
263
|
+
* @param {number} limit - Max number of checkpoints to return
|
|
264
|
+
* @returns {Promise<Array>} Recent checkpoints
|
|
265
|
+
*/
|
|
266
|
+
/** What a stats read answers: counts over the memory a caller may see. */
|
|
267
|
+
export interface MemoryStatsResult {
|
|
268
|
+
total: number;
|
|
269
|
+
thisWeek: number;
|
|
270
|
+
thisMonth: number;
|
|
271
|
+
checkpoints: number;
|
|
272
|
+
outcomes: Record<string, number>;
|
|
273
|
+
topTopics: Array<{
|
|
274
|
+
topic: string;
|
|
275
|
+
count: number;
|
|
276
|
+
}>;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Counts over the admitted corpus.
|
|
280
|
+
*
|
|
281
|
+
* Every count answers the same question the scope filter answers for a listing:
|
|
282
|
+
* a decision this caller may not read is not a decision it may count. An
|
|
283
|
+
* admitted-empty caller counts zero rather than counting everything — the same
|
|
284
|
+
* fail-closed reading the listing gives.
|
|
285
|
+
*/
|
|
286
|
+
export declare function readMemoryStatsInAdapter(adapter: DatabaseAdapter, scopes: readonly {
|
|
287
|
+
kind: string;
|
|
288
|
+
id: string;
|
|
289
|
+
}[]): Promise<MemoryStatsResult>;
|
|
290
|
+
/**
|
|
291
|
+
* Load latest active checkpoint (New Feature: Session Continuity)
|
|
292
|
+
*
|
|
293
|
+
* @returns {Promise<Object|null>} Latest checkpoint or null
|
|
294
|
+
*/
|
|
295
|
+
interface ConversationMessage {
|
|
296
|
+
role: string;
|
|
297
|
+
content: string | Array<{
|
|
298
|
+
type: string;
|
|
299
|
+
text?: string;
|
|
300
|
+
[key: string]: unknown;
|
|
301
|
+
}>;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Save current session checkpoint (New Feature: Session Continuity)
|
|
305
|
+
*
|
|
306
|
+
* @param {string} summary - Summary of current session state
|
|
307
|
+
* @param {Array<string>} openFiles - List of currently open files
|
|
308
|
+
* @param {string} nextSteps - Next steps to be taken
|
|
309
|
+
* @returns {Promise<number>} Checkpoint ID
|
|
310
|
+
*/
|
|
311
|
+
export declare function saveCheckpointInAdapter(adapter: DatabaseAdapter, summary: string, openFiles?: string[], nextSteps?: string, recentConversation?: any[]): Promise<number | bigint>;
|
|
312
|
+
export interface CheckpointRow {
|
|
313
|
+
id?: number;
|
|
314
|
+
timestamp?: number;
|
|
315
|
+
summary?: string;
|
|
316
|
+
open_files?: string | string[];
|
|
317
|
+
next_steps?: string;
|
|
318
|
+
recent_conversation?: string | ConversationMessage[];
|
|
319
|
+
status?: string;
|
|
320
|
+
}
|
|
321
|
+
export declare function loadCheckpointInAdapter(adapter: DatabaseAdapter): Promise<CheckpointRow | null>;
|
|
322
|
+
export declare function listCheckpointsInAdapter(adapter: DatabaseAdapter, limit?: number): Promise<CheckpointRow[]>;
|
|
83
323
|
//# sourceMappingURL=api.d.ts.map
|