hippo-memory 1.32.1 → 1.34.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/dist/api.d.ts +33 -17
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +88 -144
- package/dist/api.js.map +1 -1
- package/dist/audit-prune.d.ts.map +1 -1
- package/dist/audit-prune.js +7 -1
- package/dist/audit-prune.js.map +1 -1
- package/dist/audit.d.ts +3 -2
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +13 -6
- package/dist/audit.js.map +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +6 -0
- package/dist/auth.js.map +1 -1
- package/dist/autolearn.js +4 -4
- package/dist/autolearn.js.map +1 -1
- package/dist/benchmarks/e1.3/incident-recall-eval.js +4 -0
- package/dist/benchmarks/e1.3/incident-recall-eval.js.map +1 -1
- package/dist/benchmarks/e1.3/slack-1000-event-smoke.js +2 -2
- package/dist/benchmarks/e1.3/slack-1000-event-smoke.js.map +1 -1
- package/dist/capture.d.ts +9 -0
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +97 -67
- package/dist/capture.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +99 -7
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +0 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +32 -14
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -4
- package/dist/config.js.map +1 -1
- package/dist/connectors/github/backfill.d.ts.map +1 -1
- package/dist/connectors/github/backfill.js +25 -16
- package/dist/connectors/github/backfill.js.map +1 -1
- package/dist/connectors/github/cli-impl.d.ts +2 -1
- package/dist/connectors/github/cli-impl.d.ts.map +1 -1
- package/dist/connectors/github/cli-impl.js +20 -4
- package/dist/connectors/github/cli-impl.js.map +1 -1
- package/dist/connectors/github/deletion.d.ts.map +1 -1
- package/dist/connectors/github/deletion.js +2 -0
- package/dist/connectors/github/deletion.js.map +1 -1
- package/dist/connectors/github/dlq.d.ts.map +1 -1
- package/dist/connectors/github/dlq.js +9 -1
- package/dist/connectors/github/dlq.js.map +1 -1
- package/dist/connectors/github/idempotency.d.ts.map +1 -1
- package/dist/connectors/github/idempotency.js +2 -0
- package/dist/connectors/github/idempotency.js.map +1 -1
- package/dist/connectors/github/octokit-client.d.ts +2 -1
- package/dist/connectors/github/octokit-client.d.ts.map +1 -1
- package/dist/connectors/github/octokit-client.js +8 -3
- package/dist/connectors/github/octokit-client.js.map +1 -1
- package/dist/connectors/github/tenant-routing.d.ts.map +1 -1
- package/dist/connectors/github/tenant-routing.js +8 -0
- package/dist/connectors/github/tenant-routing.js.map +1 -1
- package/dist/connectors/github/types.d.ts +14 -5
- package/dist/connectors/github/types.d.ts.map +1 -1
- package/dist/connectors/github/types.js +35 -29
- package/dist/connectors/github/types.js.map +1 -1
- package/dist/connectors/slack/backfill.d.ts.map +1 -1
- package/dist/connectors/slack/backfill.js +2 -0
- package/dist/connectors/slack/backfill.js.map +1 -1
- package/dist/connectors/slack/deletion.d.ts.map +1 -1
- package/dist/connectors/slack/deletion.js +2 -0
- package/dist/connectors/slack/deletion.js.map +1 -1
- package/dist/connectors/slack/dlq.d.ts.map +1 -1
- package/dist/connectors/slack/dlq.js +3 -1
- package/dist/connectors/slack/dlq.js.map +1 -1
- package/dist/connectors/slack/idempotency.d.ts.map +1 -1
- package/dist/connectors/slack/idempotency.js +2 -0
- package/dist/connectors/slack/idempotency.js.map +1 -1
- package/dist/connectors/slack/tenant-routing.d.ts.map +1 -1
- package/dist/connectors/slack/tenant-routing.js +4 -0
- package/dist/connectors/slack/tenant-routing.js.map +1 -1
- package/dist/connectors/slack/types.d.ts +8 -3
- package/dist/connectors/slack/types.d.ts.map +1 -1
- package/dist/connectors/slack/types.js +22 -10
- package/dist/connectors/slack/types.js.map +1 -1
- package/dist/connectors/slack/web-client.d.ts +0 -9
- package/dist/connectors/slack/web-client.d.ts.map +1 -1
- package/dist/connectors/slack/web-client.js +11 -11
- package/dist/connectors/slack/web-client.js.map +1 -1
- package/dist/connectors/slack/workspaces.d.ts.map +1 -1
- package/dist/connectors/slack/workspaces.js +2 -0
- package/dist/connectors/slack/workspaces.js.map +1 -1
- package/dist/consolidate.d.ts.map +1 -1
- package/dist/consolidate.js +8 -3
- package/dist/consolidate.js.map +1 -1
- package/dist/customer-notes.d.ts.map +1 -1
- package/dist/customer-notes.js +17 -0
- package/dist/customer-notes.js.map +1 -1
- package/dist/dag.js +1 -1
- package/dist/dag.js.map +1 -1
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js +5 -2
- package/dist/dashboard.js.map +1 -1
- package/dist/db.d.ts +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +24 -0
- package/dist/db.js.map +1 -1
- package/dist/decisions.d.ts.map +1 -1
- package/dist/decisions.js +10 -0
- package/dist/decisions.js.map +1 -1
- package/dist/dedupe.d.ts +6 -4
- package/dist/dedupe.d.ts.map +1 -1
- package/dist/dedupe.js.map +1 -1
- package/dist/embedding-provider.d.ts.map +1 -1
- package/dist/embedding-provider.js +24 -15
- package/dist/embedding-provider.js.map +1 -1
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +17 -1
- package/dist/embeddings.js.map +1 -1
- package/dist/eval-suite.d.ts.map +1 -1
- package/dist/eval-suite.js +5 -0
- package/dist/eval-suite.js.map +1 -1
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +10 -3
- package/dist/extract.js.map +1 -1
- package/dist/goals.d.ts.map +1 -1
- package/dist/goals.js +26 -12
- package/dist/goals.js.map +1 -1
- package/dist/graph-extract.d.ts.map +1 -1
- package/dist/graph-extract.js +9 -1
- package/dist/graph-extract.js.map +1 -1
- package/dist/graph-view.d.ts.map +1 -1
- package/dist/graph-view.js.map +1 -1
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +38 -13
- package/dist/graph.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +42 -21
- package/dist/hooks.js.map +1 -1
- package/dist/importers.d.ts.map +1 -1
- package/dist/importers.js +23 -42
- package/dist/importers.js.map +1 -1
- package/dist/incidents.d.ts.map +1 -1
- package/dist/incidents.js +14 -0
- package/dist/incidents.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +4 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +64 -30
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory-value.d.ts +0 -10
- package/dist/memory-value.d.ts.map +1 -1
- package/dist/memory-value.js +8 -2
- package/dist/memory-value.js.map +1 -1
- package/dist/memory.js.map +1 -1
- package/dist/physics-state.d.ts.map +1 -1
- package/dist/physics-state.js +5 -0
- package/dist/physics-state.js.map +1 -1
- package/dist/physics.js.map +1 -1
- package/dist/policies.d.ts.map +1 -1
- package/dist/policies.js +22 -0
- package/dist/policies.js.map +1 -1
- package/dist/predictions.d.ts.map +1 -1
- package/dist/predictions.js +14 -0
- package/dist/predictions.js.map +1 -1
- package/dist/processes.d.ts +7 -1
- package/dist/processes.d.ts.map +1 -1
- package/dist/processes.js +21 -2
- package/dist/processes.js.map +1 -1
- package/dist/project-briefs.d.ts.map +1 -1
- package/dist/project-briefs.js +28 -2
- package/dist/project-briefs.js.map +1 -1
- package/dist/raw-archive-mirror-cleanup.d.ts.map +1 -1
- package/dist/raw-archive-mirror-cleanup.js +2 -0
- package/dist/raw-archive-mirror-cleanup.js.map +1 -1
- package/dist/raw-archive.d.ts +0 -9
- package/dist/raw-archive.d.ts.map +1 -1
- package/dist/raw-archive.js +3 -9
- package/dist/raw-archive.js.map +1 -1
- package/dist/recall-scope.d.ts.map +1 -1
- package/dist/recall-scope.js +11 -6
- package/dist/recall-scope.js.map +1 -1
- package/dist/recall-trace.d.ts.map +1 -1
- package/dist/recall-trace.js +7 -3
- package/dist/recall-trace.js.map +1 -1
- package/dist/refine-llm.d.ts.map +1 -1
- package/dist/refine-llm.js +3 -0
- package/dist/refine-llm.js.map +1 -1
- package/dist/reject-flow.d.ts.map +1 -1
- package/dist/reject-flow.js +2 -0
- package/dist/reject-flow.js.map +1 -1
- package/dist/rejection.d.ts.map +1 -1
- package/dist/rejection.js +3 -0
- package/dist/rejection.js.map +1 -1
- package/dist/replay.js.map +1 -1
- package/dist/rerankers/cross-encoder.d.ts.map +1 -1
- package/dist/rerankers/cross-encoder.js +11 -4
- package/dist/rerankers/cross-encoder.js.map +1 -1
- package/dist/rerankers/index.d.ts.map +1 -1
- package/dist/rerankers/index.js +5 -3
- package/dist/rerankers/index.js.map +1 -1
- package/dist/rerankers/llm.d.ts.map +1 -1
- package/dist/rerankers/llm.js +8 -5
- package/dist/rerankers/llm.js.map +1 -1
- package/dist/rerankers/types.d.ts +6 -1
- package/dist/rerankers/types.d.ts.map +1 -1
- package/dist/scheduler.d.ts +16 -0
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +15 -5
- package/dist/scheduler.js.map +1 -1
- package/dist/search.d.ts +4 -6
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js.map +1 -1
- package/dist/server-detect.d.ts.map +1 -1
- package/dist/server-detect.js +2 -0
- package/dist/server-detect.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +194 -135
- package/dist/server.js.map +1 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +10 -3
- package/dist/skills.js.map +1 -1
- package/dist/src/api.js +88 -144
- package/dist/src/api.js.map +1 -1
- package/dist/src/audit-prune.js +7 -1
- package/dist/src/audit-prune.js.map +1 -1
- package/dist/src/audit.js +13 -6
- package/dist/src/audit.js.map +1 -1
- package/dist/src/auth.js +6 -0
- package/dist/src/auth.js.map +1 -1
- package/dist/src/autolearn.js +4 -4
- package/dist/src/autolearn.js.map +1 -1
- package/dist/src/capture.js +97 -67
- package/dist/src/capture.js.map +1 -1
- package/dist/src/cli.js +99 -7
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client.js +32 -14
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.js +7 -4
- package/dist/src/config.js.map +1 -1
- package/dist/src/connectors/github/backfill.js +25 -16
- package/dist/src/connectors/github/backfill.js.map +1 -1
- package/dist/src/connectors/github/cli-impl.js +20 -4
- package/dist/src/connectors/github/cli-impl.js.map +1 -1
- package/dist/src/connectors/github/deletion.js +2 -0
- package/dist/src/connectors/github/deletion.js.map +1 -1
- package/dist/src/connectors/github/dlq.js +9 -1
- package/dist/src/connectors/github/dlq.js.map +1 -1
- package/dist/src/connectors/github/idempotency.js +2 -0
- package/dist/src/connectors/github/idempotency.js.map +1 -1
- package/dist/src/connectors/github/octokit-client.js +8 -3
- package/dist/src/connectors/github/octokit-client.js.map +1 -1
- package/dist/src/connectors/github/tenant-routing.js +8 -0
- package/dist/src/connectors/github/tenant-routing.js.map +1 -1
- package/dist/src/connectors/github/types.js +35 -29
- package/dist/src/connectors/github/types.js.map +1 -1
- package/dist/src/connectors/slack/backfill.js +2 -0
- package/dist/src/connectors/slack/backfill.js.map +1 -1
- package/dist/src/connectors/slack/deletion.js +2 -0
- package/dist/src/connectors/slack/deletion.js.map +1 -1
- package/dist/src/connectors/slack/dlq.js +3 -1
- package/dist/src/connectors/slack/dlq.js.map +1 -1
- package/dist/src/connectors/slack/idempotency.js +2 -0
- package/dist/src/connectors/slack/idempotency.js.map +1 -1
- package/dist/src/connectors/slack/tenant-routing.js +4 -0
- package/dist/src/connectors/slack/tenant-routing.js.map +1 -1
- package/dist/src/connectors/slack/types.js +22 -10
- package/dist/src/connectors/slack/types.js.map +1 -1
- package/dist/src/connectors/slack/web-client.js +11 -11
- package/dist/src/connectors/slack/web-client.js.map +1 -1
- package/dist/src/connectors/slack/workspaces.js +2 -0
- package/dist/src/connectors/slack/workspaces.js.map +1 -1
- package/dist/src/consolidate.js +8 -3
- package/dist/src/consolidate.js.map +1 -1
- package/dist/src/customer-notes.js +17 -0
- package/dist/src/customer-notes.js.map +1 -1
- package/dist/src/dag.js +1 -1
- package/dist/src/dag.js.map +1 -1
- package/dist/src/dashboard.js +5 -2
- package/dist/src/dashboard.js.map +1 -1
- package/dist/src/db.js +24 -0
- package/dist/src/db.js.map +1 -1
- package/dist/src/decisions.js +10 -0
- package/dist/src/decisions.js.map +1 -1
- package/dist/src/dedupe.js.map +1 -1
- package/dist/src/embedding-provider.js +24 -15
- package/dist/src/embedding-provider.js.map +1 -1
- package/dist/src/embeddings.js +17 -1
- package/dist/src/embeddings.js.map +1 -1
- package/dist/src/eval-suite.js +5 -0
- package/dist/src/eval-suite.js.map +1 -1
- package/dist/src/extract.js +10 -3
- package/dist/src/extract.js.map +1 -1
- package/dist/src/goals.js +26 -12
- package/dist/src/goals.js.map +1 -1
- package/dist/src/graph-extract.js +9 -1
- package/dist/src/graph-extract.js.map +1 -1
- package/dist/src/graph-view.js.map +1 -1
- package/dist/src/graph.js +38 -13
- package/dist/src/graph.js.map +1 -1
- package/dist/src/hooks.js +42 -21
- package/dist/src/hooks.js.map +1 -1
- package/dist/src/importers.js +23 -42
- package/dist/src/importers.js.map +1 -1
- package/dist/src/incidents.js +14 -0
- package/dist/src/incidents.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/server.js +64 -30
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/memory-value.js +8 -2
- package/dist/src/memory-value.js.map +1 -1
- package/dist/src/memory.js.map +1 -1
- package/dist/src/physics-state.js +5 -0
- package/dist/src/physics-state.js.map +1 -1
- package/dist/src/physics.js.map +1 -1
- package/dist/src/policies.js +22 -0
- package/dist/src/policies.js.map +1 -1
- package/dist/src/predictions.js +14 -0
- package/dist/src/predictions.js.map +1 -1
- package/dist/src/processes.js +21 -2
- package/dist/src/processes.js.map +1 -1
- package/dist/src/project-briefs.js +28 -2
- package/dist/src/project-briefs.js.map +1 -1
- package/dist/src/raw-archive-mirror-cleanup.js +2 -0
- package/dist/src/raw-archive-mirror-cleanup.js.map +1 -1
- package/dist/src/raw-archive.js +3 -9
- package/dist/src/raw-archive.js.map +1 -1
- package/dist/src/recall-scope.js +11 -6
- package/dist/src/recall-scope.js.map +1 -1
- package/dist/src/recall-trace.js +7 -3
- package/dist/src/recall-trace.js.map +1 -1
- package/dist/src/refine-llm.js +3 -0
- package/dist/src/refine-llm.js.map +1 -1
- package/dist/src/reject-flow.js +2 -0
- package/dist/src/reject-flow.js.map +1 -1
- package/dist/src/rejection.js +3 -0
- package/dist/src/rejection.js.map +1 -1
- package/dist/src/replay.js.map +1 -1
- package/dist/src/rerankers/cross-encoder.js +11 -4
- package/dist/src/rerankers/cross-encoder.js.map +1 -1
- package/dist/src/rerankers/index.js +5 -3
- package/dist/src/rerankers/index.js.map +1 -1
- package/dist/src/rerankers/llm.js +8 -5
- package/dist/src/rerankers/llm.js.map +1 -1
- package/dist/src/scheduler.js +15 -5
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/search.js.map +1 -1
- package/dist/src/server-detect.js +2 -0
- package/dist/src/server-detect.js.map +1 -1
- package/dist/src/server.js +194 -135
- package/dist/src/server.js.map +1 -1
- package/dist/src/skills.js +10 -3
- package/dist/src/skills.js.map +1 -1
- package/dist/src/store.js +213 -14
- package/dist/src/store.js.map +1 -1
- package/dist/src/trace.js +15 -7
- package/dist/src/trace.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/working-memory.js +8 -0
- package/dist/src/working-memory.js.map +1 -1
- package/dist/src/yaml.js +12 -3
- package/dist/src/yaml.js.map +1 -1
- package/dist/store.d.ts +61 -3
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +213 -14
- package/dist/store.js.map +1 -1
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +15 -7
- package/dist/trace.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/working-memory.d.ts +6 -2
- package/dist/working-memory.d.ts.map +1 -1
- package/dist/working-memory.js +8 -0
- package/dist/working-memory.js.map +1 -1
- package/dist/yaml.d.ts.map +1 -1
- package/dist/yaml.js +12 -3
- package/dist/yaml.js.map +1 -1
- package/dist-ui/assets/{index-Cxa4RcAh.js → index-DOqenbV2.js} +11 -11
- package/dist-ui/index.html +1 -1
- package/extensions/openclaw-plugin/index.ts +50 -10
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -1
package/dist/api.d.ts
CHANGED
|
@@ -710,12 +710,13 @@ export declare function drillDown(ctx: Context, summaryId: string, opts?: DrillD
|
|
|
710
710
|
* (server.ts explicit-ids path, MCP hippo_outcome) omits it and gets no
|
|
711
711
|
* linkage, which is correct.
|
|
712
712
|
*/
|
|
713
|
-
export
|
|
714
|
-
traceId?: number;
|
|
715
|
-
}): {
|
|
713
|
+
export interface OutcomeResult {
|
|
716
714
|
applied: number;
|
|
717
715
|
appliedIds: string[];
|
|
718
|
-
}
|
|
716
|
+
}
|
|
717
|
+
export declare function outcome(ctx: Context, ids: ReadonlyArray<string>, good: boolean, opts?: {
|
|
718
|
+
traceId?: number;
|
|
719
|
+
}): OutcomeResult;
|
|
719
720
|
/**
|
|
720
721
|
* Delete a memory by id. `deleteEntry` threads ctx.actor.subject into its internal
|
|
721
722
|
* audit hook, so exactly one 'forget' event lands with the supplied actor.
|
|
@@ -726,10 +727,11 @@ export declare function outcome(ctx: Context, ids: ReadonlyArray<string>, good:
|
|
|
726
727
|
* cross-tenant access with a not-found error (no info leak about whether
|
|
727
728
|
* the id exists in another tenant).
|
|
728
729
|
*/
|
|
729
|
-
export
|
|
730
|
+
export interface ForgetResult {
|
|
730
731
|
ok: true;
|
|
731
732
|
id: string;
|
|
732
|
-
}
|
|
733
|
+
}
|
|
734
|
+
export declare function forget(ctx: Context, id: string): ForgetResult;
|
|
733
735
|
export interface RejectOpts {
|
|
734
736
|
/** By-id form: reject the CURRENT content of an existing memory. */
|
|
735
737
|
memoryId?: string;
|
|
@@ -764,7 +766,7 @@ export declare function reject(ctx: Context, opts: RejectOpts): RejectResult;
|
|
|
764
766
|
* more than one (use a longer prefix).
|
|
765
767
|
*/
|
|
766
768
|
export declare function unreject(ctx: Context, digestOrPrefix: string): {
|
|
767
|
-
ok:
|
|
769
|
+
ok: boolean;
|
|
768
770
|
digest: string;
|
|
769
771
|
};
|
|
770
772
|
/** List every rejected-value tombstone for `ctx.tenantId`, newest first. */
|
|
@@ -780,22 +782,24 @@ export declare function listRejections(ctx: Context): RejectedValueRow[];
|
|
|
780
782
|
* preserves the entry's existing tenantId on the global side. Task 4 may
|
|
781
783
|
* tighten this once writeEntry/readEntry thread tenant context.
|
|
782
784
|
*/
|
|
783
|
-
export
|
|
785
|
+
export interface PromoteResult {
|
|
784
786
|
ok: true;
|
|
785
787
|
sourceId: string;
|
|
786
788
|
globalId: string;
|
|
787
|
-
}
|
|
789
|
+
}
|
|
790
|
+
export declare function promote(ctx: Context, id: string): PromoteResult;
|
|
788
791
|
/**
|
|
789
792
|
* Replace an old memory with new content, chaining old.superseded_by = new.id.
|
|
790
793
|
* Mirrors `cmdSupersede` in cli.ts (without flag-driven layer/tag/pin overrides
|
|
791
794
|
* — A1 keeps the API minimal; the CLI handler will continue to handle those
|
|
792
795
|
* flags and pass the resolved values once Task 4 lands).
|
|
793
796
|
*/
|
|
794
|
-
export
|
|
797
|
+
export interface SupersedeResult {
|
|
795
798
|
ok: true;
|
|
796
799
|
oldId: string;
|
|
797
800
|
newId: string;
|
|
798
|
-
}
|
|
801
|
+
}
|
|
802
|
+
export declare function supersede(ctx: Context, oldId: string, newContent: string): SupersedeResult;
|
|
799
803
|
/**
|
|
800
804
|
* Archive a kind='raw' memory: snapshot into raw_archive, mark archived, delete.
|
|
801
805
|
*
|
|
@@ -813,10 +817,11 @@ export interface ArchiveRawOpts {
|
|
|
813
817
|
*/
|
|
814
818
|
afterArchive?: (db: DatabaseSyncLike, archivedMemoryId: string) => void;
|
|
815
819
|
}
|
|
816
|
-
export
|
|
820
|
+
export interface ArchiveRawResult {
|
|
817
821
|
ok: true;
|
|
818
822
|
archivedAt: string;
|
|
819
|
-
}
|
|
823
|
+
}
|
|
824
|
+
export declare function archiveRaw(ctx: Context, id: string, reason: string, opts?: ArchiveRawOpts): ArchiveRawResult;
|
|
820
825
|
export interface AuthCreateOpts {
|
|
821
826
|
label?: string;
|
|
822
827
|
/**
|
|
@@ -869,10 +874,11 @@ export declare function authList(ctx: Context, opts: {
|
|
|
869
874
|
* (M1 fix from A5 review, mirrors src/cli.ts:cmdAuthRevoke). Skipped on no-op
|
|
870
875
|
* revoke (already revoked) so re-running doesn't pad the audit log.
|
|
871
876
|
*/
|
|
872
|
-
export
|
|
877
|
+
export interface AuthRevokeResult {
|
|
873
878
|
ok: true;
|
|
874
879
|
revokedAt: string;
|
|
875
|
-
}
|
|
880
|
+
}
|
|
881
|
+
export declare function authRevoke(ctx: Context, keyId: string): AuthRevokeResult;
|
|
876
882
|
export interface AuditListOpts {
|
|
877
883
|
op?: AuditOp;
|
|
878
884
|
/** ISO timestamp lower bound. */
|
|
@@ -918,6 +924,15 @@ export interface ContextOpts {
|
|
|
918
924
|
* surfaces whose process cwd is not the caller's project (HTTP server)
|
|
919
925
|
* should pass it explicitly. */
|
|
920
926
|
currentProject?: string;
|
|
927
|
+
/** DF1 (docs/plans/2026-08-23-df1-snapshot-lifecycle.md, T2): the calling
|
|
928
|
+
* session's id, used ONLY as the owner-match input to
|
|
929
|
+
* `loadFreshActiveTaskSnapshot` — when it strictly equals the active
|
|
930
|
+
* snapshot's `session_id`, the read is unbounded (same-session
|
|
931
|
+
* continuity); otherwise the snapshot must pass the freshness bound to
|
|
932
|
+
* surface. Absent (undefined/null/'') never short-circuits as a match;
|
|
933
|
+
* it just means every snapshot goes through the age check. Host-resolved
|
|
934
|
+
* (stdin payload / HIPPO_SESSION_ID) so this stays host-agnostic. */
|
|
935
|
+
currentSessionId?: string | null;
|
|
921
936
|
}
|
|
922
937
|
export interface ContextResultEntry {
|
|
923
938
|
entry: MemoryEntry;
|
|
@@ -1096,8 +1111,9 @@ export declare function sleep(ctx: Context, opts?: SleepOpts): Promise<SleepResu
|
|
|
1096
1111
|
* would break the (correct) cross-tenant-silent-skip behavior covered by
|
|
1097
1112
|
* the test in `tests/api-outcome-for-last-recall.test.ts`.
|
|
1098
1113
|
*/
|
|
1099
|
-
export
|
|
1114
|
+
export interface OutcomeForLastRecallResult {
|
|
1100
1115
|
applied: number;
|
|
1101
1116
|
ids: string[];
|
|
1102
|
-
}
|
|
1117
|
+
}
|
|
1118
|
+
export declare function outcomeForLastRecall(ctx: Context, good: boolean): OutcomeForLastRecallResult;
|
|
1103
1119
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { createHash } from 'node:crypto';
|
|
10
10
|
import { openHippoDb, closeHippoDb } from './db.js';
|
|
11
|
-
import { writeEntry, writeEntryDbOnly, stampOriginProject, writeEntryMirrors, readEntry, deleteEntry, loadRecallSearchEntries, loadEntriesByIds, loadChildrenOf, loadFreshRawMemories, loadSessionRawMemories, countSessionRawMemories, DEFAULT_SEARCH_CANDIDATE_LIMIT, RECALL_DEFAULT_DENY_SCOPES, removeEntryMirrors, loadActiveTaskSnapshot, loadLatestHandoff, listSessionEvents, loadIndex, saveIndex, loadAllEntries, updateStats, isInitialized, markSummaryDirtyInTx, auditRejectionRefusal, } from './store.js';
|
|
11
|
+
import { writeEntry, writeEntryDbOnly, stampOriginProject, writeEntryMirrors, readEntry, deleteEntry, loadRecallSearchEntries, loadEntriesByIds, loadChildrenOf, loadFreshRawMemories, loadSessionRawMemories, countSessionRawMemories, DEFAULT_SEARCH_CANDIDATE_LIMIT, RECALL_DEFAULT_DENY_SCOPES, removeEntryMirrors, loadActiveTaskSnapshot, loadFreshActiveTaskSnapshot, loadLatestHandoff, listSessionEvents, loadIndex, saveIndex, loadAllEntries, updateStats, isInitialized, markSummaryDirtyInTx, auditRejectionRefusal, } from './store.js';
|
|
12
12
|
import { RejectedValueError } from './rejection.js';
|
|
13
13
|
import { rejectValue, unrejectValue, listRejectionsForTenant } from './reject-flow.js';
|
|
14
14
|
import { createMemory, applyOutcome, calculateStrength, Layer, } from './memory.js';
|
|
@@ -283,7 +283,9 @@ export function recall(ctx, opts) {
|
|
|
283
283
|
sessionId: opts.sessionId,
|
|
284
284
|
tenantId: ctx.tenantId,
|
|
285
285
|
limit,
|
|
286
|
-
|
|
286
|
+
// trace is optional on applyGoalStackBoost; explicitly passing
|
|
287
|
+
// undefined when !explain is identical to omitting the key.
|
|
288
|
+
trace: explainTrace,
|
|
287
289
|
});
|
|
288
290
|
baseSlice = baseScored.map((r) => r.entry);
|
|
289
291
|
}
|
|
@@ -361,19 +363,23 @@ export function recall(ctx, opts) {
|
|
|
361
363
|
// Substituted summaries land at the end with score = 0.5 (mid-rank), so
|
|
362
364
|
// they don't outrank top-N strong matches but stay above lowest-rank
|
|
363
365
|
// leaves on the consumer side. Caller sorts/filters as it sees fit.
|
|
364
|
-
const summaryRanked = substituted.map((s) =>
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
366
|
+
const summaryRanked = substituted.map((s) => {
|
|
367
|
+
const item = {
|
|
368
|
+
id: s.entry.id,
|
|
369
|
+
content: s.entry.content,
|
|
370
|
+
score: 0.5,
|
|
371
|
+
layer: s.entry.layer,
|
|
372
|
+
strength: s.entry.strength,
|
|
373
|
+
isSummary: true,
|
|
374
|
+
substitutedFor: s.childIds,
|
|
375
|
+
descendantCount: s.entry.descendant_count ?? s.childIds.length,
|
|
376
|
+
};
|
|
373
377
|
// A7 recall-trace: summary band runs no re-ranking, but under explain it
|
|
374
378
|
// still carries the pipeline marker (no steps). Absent when !explain.
|
|
375
|
-
|
|
376
|
-
|
|
379
|
+
if (opts.explain)
|
|
380
|
+
item.rerankPipeline = 'api';
|
|
381
|
+
return item;
|
|
382
|
+
});
|
|
377
383
|
// v1.5.2 fresh-tail. Surface the last N kind='raw' rows so an agent's
|
|
378
384
|
// "what did I just see" recall path always covers the recent window even
|
|
379
385
|
// when the query terms don't match. Tenant + scope filtered.
|
|
@@ -405,17 +411,19 @@ export function recall(ctx, opts) {
|
|
|
405
411
|
for (const m of recentScoped) {
|
|
406
412
|
if (seenIds.has(m.id))
|
|
407
413
|
continue;
|
|
408
|
-
|
|
414
|
+
const item = {
|
|
409
415
|
id: m.id,
|
|
410
416
|
content: m.content,
|
|
411
417
|
score: 1.0,
|
|
412
418
|
layer: m.layer,
|
|
413
419
|
strength: m.strength,
|
|
414
420
|
isFreshTail: true,
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
421
|
+
};
|
|
422
|
+
// A7 recall-trace: fresh-tail band runs no re-ranking; under explain
|
|
423
|
+
// it carries the pipeline marker (no steps). Absent when !explain.
|
|
424
|
+
if (opts.explain)
|
|
425
|
+
item.rerankPipeline = 'api';
|
|
426
|
+
freshRanked.push(item);
|
|
419
427
|
seenIds.add(m.id);
|
|
420
428
|
}
|
|
421
429
|
}
|
|
@@ -506,6 +514,9 @@ export function recall(ctx, opts) {
|
|
|
506
514
|
return false;
|
|
507
515
|
// v1.7.2: read from RECALL_DEFAULT_DENY_SCOPES (single source of truth
|
|
508
516
|
// shared with SQL + passesScopeFilterForRecall).
|
|
517
|
+
// SAFETY: RECALL_DEFAULT_DENY_SCOPES is declared as a readonly tuple of
|
|
518
|
+
// string literals; widening to readonly string[] only relaxes the
|
|
519
|
+
// element type for Array.includes(s: string), it does not change values.
|
|
509
520
|
if (RECALL_DEFAULT_DENY_SCOPES.includes(s))
|
|
510
521
|
return false;
|
|
511
522
|
return true;
|
|
@@ -630,7 +641,7 @@ export function recall(ctx, opts) {
|
|
|
630
641
|
}
|
|
631
642
|
}
|
|
632
643
|
}
|
|
633
|
-
|
|
644
|
+
const result = {
|
|
634
645
|
results: rankedOut,
|
|
635
646
|
total: totalOut,
|
|
636
647
|
tokens: tokensOut,
|
|
@@ -645,11 +656,16 @@ export function recall(ctx, opts) {
|
|
|
645
656
|
freshTailAdded: freshTailAddedCount,
|
|
646
657
|
suppressedByInterference: suppressedByInterferenceCount,
|
|
647
658
|
}),
|
|
648
|
-
...(planningFallacyHint ? { planningFallacyHint } : {}),
|
|
649
|
-
...(planningFallacyWatching ? { planningFallacyWatching } : {}),
|
|
650
|
-
...(anchoringHint ? { anchoringHint } : {}),
|
|
651
|
-
...(availabilityHint ? { availabilityHint } : {}),
|
|
652
659
|
};
|
|
660
|
+
if (planningFallacyHint)
|
|
661
|
+
result.planningFallacyHint = planningFallacyHint;
|
|
662
|
+
if (planningFallacyWatching)
|
|
663
|
+
result.planningFallacyWatching = planningFallacyWatching;
|
|
664
|
+
if (anchoringHint)
|
|
665
|
+
result.anchoringHint = anchoringHint;
|
|
666
|
+
if (availabilityHint)
|
|
667
|
+
result.availabilityHint = availabilityHint;
|
|
668
|
+
return result;
|
|
653
669
|
}
|
|
654
670
|
/**
|
|
655
671
|
* Build a chronologically-ordered context window for a session. Adapts the
|
|
@@ -913,34 +929,6 @@ export function drillDown(ctx, summaryId, opts = {}) {
|
|
|
913
929
|
truncated,
|
|
914
930
|
};
|
|
915
931
|
}
|
|
916
|
-
// ---------------------------------------------------------------------------
|
|
917
|
-
// outcome
|
|
918
|
-
// ---------------------------------------------------------------------------
|
|
919
|
-
/**
|
|
920
|
-
* Apply a positive/negative outcome to a list of recently-recalled memory ids.
|
|
921
|
-
* Used by the MCP `hippo_outcome` tool and the HTTP `POST /v1/outcome` route.
|
|
922
|
-
* Tenant-scoped: ids that don't belong to ctx.tenantId are silently skipped
|
|
923
|
-
* (matches the prior MCP semantics — a stale id from another tenant doesn't
|
|
924
|
-
* crash the call). Each successful outcome emits one audit_log row with
|
|
925
|
-
* op='outcome' tagged with ctx.actor.subject.
|
|
926
|
-
*
|
|
927
|
-
* Returns `{applied, appliedIds}`. `appliedIds` is the tenant-filtered subset
|
|
928
|
-
* of input ids that actually had `applyOutcome` run on them (i.e. ids whose
|
|
929
|
-
* `readEntry(..., ctx.tenantId)` resolved). Callers that surface the id list
|
|
930
|
-
* over a multi-tenant boundary (HTTP /v1/outcome last-recall path, Python SDK)
|
|
931
|
-
* MUST return `appliedIds` instead of the raw input list — otherwise the
|
|
932
|
-
* non-applied (cross-tenant) ids leak to the caller. Added in v1.11.4 to
|
|
933
|
-
* close that disclosure path on POST /v1/outcome.
|
|
934
|
-
*
|
|
935
|
-
* `opts.traceId` (LC1, docs/plans/2026-08-02-lc1-recall-trace-persistence.md):
|
|
936
|
-
* OPTIONAL additive opt so a programmatic caller can link this outcome to
|
|
937
|
-
* the recall_traces row it judges. NOT applied unconditionally — an SDK
|
|
938
|
-
* caller passing explicit ids with no preceding CLI/context recall would
|
|
939
|
-
* otherwise get linked to a stale, unrelated trace. `outcomeForLastRecall`
|
|
940
|
-
* supplies this automatically from `last_trace_id`; every other caller
|
|
941
|
-
* (server.ts explicit-ids path, MCP hippo_outcome) omits it and gets no
|
|
942
|
-
* linkage, which is correct.
|
|
943
|
-
*/
|
|
944
932
|
export function outcome(ctx, ids, good, opts) {
|
|
945
933
|
const appliedIds = [];
|
|
946
934
|
const db = openHippoDb(ctx.hippoRoot);
|
|
@@ -977,22 +965,11 @@ export function outcome(ctx, ids, good, opts) {
|
|
|
977
965
|
}
|
|
978
966
|
return { applied: appliedIds.length, appliedIds };
|
|
979
967
|
}
|
|
980
|
-
// ---------------------------------------------------------------------------
|
|
981
|
-
// forget
|
|
982
|
-
// ---------------------------------------------------------------------------
|
|
983
|
-
/**
|
|
984
|
-
* Delete a memory by id. `deleteEntry` threads ctx.actor.subject into its internal
|
|
985
|
-
* audit hook, so exactly one 'forget' event lands with the supplied actor.
|
|
986
|
-
*
|
|
987
|
-
* Tenant scope: deleteEntry looks up the row by id alone, so without an
|
|
988
|
-
* explicit tenant guard a Bearer for tenant A could delete tenant B's row
|
|
989
|
-
* by guessing or leaking the id. Pre-check the row's tenant_id and deny
|
|
990
|
-
* cross-tenant access with a not-found error (no info leak about whether
|
|
991
|
-
* the id exists in another tenant).
|
|
992
|
-
*/
|
|
993
968
|
export function forget(ctx, id) {
|
|
994
969
|
const db = openHippoDb(ctx.hippoRoot);
|
|
995
970
|
try {
|
|
971
|
+
// SAFETY: row's shape matches the single `tenant_id` column named in
|
|
972
|
+
// the SELECT above.
|
|
996
973
|
const row = db
|
|
997
974
|
.prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
|
|
998
975
|
.get(id);
|
|
@@ -1030,6 +1007,8 @@ export function reject(ctx, opts) {
|
|
|
1030
1007
|
// keeps the error message consistent with the rest of this module.
|
|
1031
1008
|
const db = openHippoDb(ctx.hippoRoot);
|
|
1032
1009
|
try {
|
|
1010
|
+
// SAFETY: row's shape matches the single `tenant_id` column named in
|
|
1011
|
+
// the SELECT above.
|
|
1033
1012
|
const row = db
|
|
1034
1013
|
.prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
|
|
1035
1014
|
.get(opts.memoryId);
|
|
@@ -1071,20 +1050,6 @@ export function unreject(ctx, digestOrPrefix) {
|
|
|
1071
1050
|
export function listRejections(ctx) {
|
|
1072
1051
|
return listRejectionsForTenant(ctx.hippoRoot, ctx.tenantId);
|
|
1073
1052
|
}
|
|
1074
|
-
// ---------------------------------------------------------------------------
|
|
1075
|
-
// promote
|
|
1076
|
-
// ---------------------------------------------------------------------------
|
|
1077
|
-
/**
|
|
1078
|
-
* Copy a local memory into the global store. Mirrors `cmdPromote` in cli.ts:
|
|
1079
|
-
* the `writeEntry` inside `promoteToGlobal` emits a 'remember' on the global
|
|
1080
|
-
* db; we add a 'promote' audit event on the global db so the user-facing
|
|
1081
|
-
* intent stays distinct from the underlying upsert.
|
|
1082
|
-
*
|
|
1083
|
-
* Note: `promoteToGlobal` does not currently take a tenantId override — it
|
|
1084
|
-
* reads the entry from the local root via `readEntry` (no tenant filter) and
|
|
1085
|
-
* preserves the entry's existing tenantId on the global side. Task 4 may
|
|
1086
|
-
* tighten this once writeEntry/readEntry thread tenant context.
|
|
1087
|
-
*/
|
|
1088
1053
|
export function promote(ctx, id) {
|
|
1089
1054
|
// Tenant scope: promoteToGlobal reads the entry from the local root via
|
|
1090
1055
|
// readEntry without a tenant filter, so a Bearer for tenant A could
|
|
@@ -1094,6 +1059,8 @@ export function promote(ctx, id) {
|
|
|
1094
1059
|
// another tenant).
|
|
1095
1060
|
const ownerDb = openHippoDb(ctx.hippoRoot);
|
|
1096
1061
|
try {
|
|
1062
|
+
// SAFETY: row's shape matches the single `tenant_id` column named in
|
|
1063
|
+
// the SELECT above.
|
|
1097
1064
|
const row = ownerDb
|
|
1098
1065
|
.prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
|
|
1099
1066
|
.get(id);
|
|
@@ -1124,15 +1091,6 @@ export function promote(ctx, id) {
|
|
|
1124
1091
|
}
|
|
1125
1092
|
return { ok: true, sourceId: id, globalId: globalEntry.id };
|
|
1126
1093
|
}
|
|
1127
|
-
// ---------------------------------------------------------------------------
|
|
1128
|
-
// supersede
|
|
1129
|
-
// ---------------------------------------------------------------------------
|
|
1130
|
-
/**
|
|
1131
|
-
* Replace an old memory with new content, chaining old.superseded_by = new.id.
|
|
1132
|
-
* Mirrors `cmdSupersede` in cli.ts (without flag-driven layer/tag/pin overrides
|
|
1133
|
-
* — A1 keeps the API minimal; the CLI handler will continue to handle those
|
|
1134
|
-
* flags and pass the resolved values once Task 4 lands).
|
|
1135
|
-
*/
|
|
1136
1094
|
export function supersede(ctx, oldId, newContent) {
|
|
1137
1095
|
// Read old (tenant-scoped). readEntry filters by tenantId, so a Bearer for
|
|
1138
1096
|
// tenant A on tenant B's id throws "Memory not found" here without any
|
|
@@ -1242,6 +1200,8 @@ export function archiveRaw(ctx, id, reason, opts = {}) {
|
|
|
1242
1200
|
// pre-check. Deny cross-tenant access with the same not-found message
|
|
1243
1201
|
// archiveRawMemory itself would throw on a missing row, so we don't
|
|
1244
1202
|
// leak whether the id exists in another tenant.
|
|
1203
|
+
// SAFETY: row's shape matches the single `tenant_id` column named in
|
|
1204
|
+
// the SELECT above.
|
|
1245
1205
|
const row = db
|
|
1246
1206
|
.prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
|
|
1247
1207
|
.get(id);
|
|
@@ -1344,20 +1304,11 @@ export function authList(ctx, opts) {
|
|
|
1344
1304
|
closeHippoDb(db);
|
|
1345
1305
|
}
|
|
1346
1306
|
}
|
|
1347
|
-
/**
|
|
1348
|
-
* Revoke an API key.
|
|
1349
|
-
*
|
|
1350
|
-
* Security: the key must belong to `ctx.tenantId`. Cross-tenant revoke is
|
|
1351
|
-
* rejected with the same "not found" message used for missing keys, so that a
|
|
1352
|
-
* caller cannot probe which key_ids exist on other tenants.
|
|
1353
|
-
*
|
|
1354
|
-
* Audit: emits 'auth_revoke' with `tenantId` set to the KEY ROW's tenant_id
|
|
1355
|
-
* (M1 fix from A5 review, mirrors src/cli.ts:cmdAuthRevoke). Skipped on no-op
|
|
1356
|
-
* revoke (already revoked) so re-running doesn't pad the audit log.
|
|
1357
|
-
*/
|
|
1358
1307
|
export function authRevoke(ctx, keyId) {
|
|
1359
1308
|
const db = openHippoDb(ctx.hippoRoot);
|
|
1360
1309
|
try {
|
|
1310
|
+
// SAFETY: row's shape matches the three columns named in the SELECT
|
|
1311
|
+
// above.
|
|
1361
1312
|
const row = db
|
|
1362
1313
|
.prepare(`SELECT key_id, tenant_id, revoked_at FROM api_keys WHERE key_id = ?`)
|
|
1363
1314
|
.get(keyId);
|
|
@@ -1376,6 +1327,8 @@ export function authRevoke(ctx, keyId) {
|
|
|
1376
1327
|
}
|
|
1377
1328
|
else {
|
|
1378
1329
|
revokeApiKey(db, keyId);
|
|
1330
|
+
// SAFETY: updated's shape matches the single `revoked_at` column named
|
|
1331
|
+
// in the SELECT above.
|
|
1379
1332
|
const updated = db
|
|
1380
1333
|
.prepare(`SELECT revoked_at FROM api_keys WHERE key_id = ?`)
|
|
1381
1334
|
.get(keyId);
|
|
@@ -1470,8 +1423,16 @@ export async function getContext(ctx, opts = {}) {
|
|
|
1470
1423
|
const ambientAdmit = (e) => ambientAdmitEntry(e, currentProjectName, includeCrossProject);
|
|
1471
1424
|
localEntries = localEntries.filter(ambientAdmit);
|
|
1472
1425
|
globalEntries = globalEntries.filter(ambientAdmit);
|
|
1426
|
+
// DF1 T2: bounded read — an orphaned snapshot (no later pre-compact
|
|
1427
|
+
// superseded it, no session-end closed it) must age out of this ambient
|
|
1428
|
+
// surface instead of injecting into every future prompt forever. Owner
|
|
1429
|
+
// reads (opts.currentSessionId matches the snapshot's session_id) stay
|
|
1430
|
+
// unbounded; see loadFreshActiveTaskSnapshot's own doc comment for the
|
|
1431
|
+
// exact null/empty-id matching rules.
|
|
1473
1432
|
const activeSnapshot = hasLocal
|
|
1474
|
-
?
|
|
1433
|
+
? loadFreshActiveTaskSnapshot(ctx.hippoRoot, ctx.tenantId, {
|
|
1434
|
+
sessionId: opts.currentSessionId,
|
|
1435
|
+
})
|
|
1475
1436
|
: null;
|
|
1476
1437
|
const sessionHandoff = hasLocal && activeSnapshot?.session_id
|
|
1477
1438
|
? loadLatestHandoff(ctx.hippoRoot, ctx.tenantId, activeSnapshot.session_id)
|
|
@@ -1834,6 +1795,9 @@ export async function sleep(ctx, opts = {}) {
|
|
|
1834
1795
|
dirtyTenants = phases.loadPendingExtractionTenants(ctx.hippoRoot);
|
|
1835
1796
|
}
|
|
1836
1797
|
catch (snapErr) {
|
|
1798
|
+
// SAFETY: this is a best-effort log message only; property access on
|
|
1799
|
+
// any JS value is safe (undefined if absent), preserving the existing
|
|
1800
|
+
// lenient formatting even when something non-Error was thrown.
|
|
1837
1801
|
graphSnapshotError = snapErr.message;
|
|
1838
1802
|
}
|
|
1839
1803
|
}
|
|
@@ -1950,6 +1914,9 @@ export async function sleep(ctx, opts = {}) {
|
|
|
1950
1914
|
markPendingProcessedUpTo(ctx.hippoRoot, tenantId, maxPendingId);
|
|
1951
1915
|
}
|
|
1952
1916
|
catch (tenantErr) {
|
|
1917
|
+
// SAFETY: this is a best-effort log message only; property access
|
|
1918
|
+
// on any JS value is safe (undefined if absent), preserving the
|
|
1919
|
+
// existing lenient formatting even when something non-Error was thrown.
|
|
1953
1920
|
result.details = [
|
|
1954
1921
|
...(result.details ?? []),
|
|
1955
1922
|
`graph: extract failed for a dirty tenant (left pending): ${tenantErr.message}`,
|
|
@@ -1961,6 +1928,9 @@ export async function sleep(ctx, opts = {}) {
|
|
|
1961
1928
|
}
|
|
1962
1929
|
}
|
|
1963
1930
|
catch (graphErr) {
|
|
1931
|
+
// SAFETY: this is a best-effort log message only; property access on
|
|
1932
|
+
// any JS value is safe (undefined if absent), preserving the existing
|
|
1933
|
+
// lenient formatting even when something non-Error was thrown.
|
|
1964
1934
|
result.details = [
|
|
1965
1935
|
...(result.details ?? []),
|
|
1966
1936
|
`graph: drain phase failed (skipped): ${graphErr.message}`,
|
|
@@ -1969,6 +1939,9 @@ export async function sleep(ctx, opts = {}) {
|
|
|
1969
1939
|
return result;
|
|
1970
1940
|
}
|
|
1971
1941
|
catch (err) {
|
|
1942
|
+
// SAFETY: phaseError is read via phaseError.message / (phaseError !==
|
|
1943
|
+
// null) below, both safe even if a non-Error was thrown; this mirrors
|
|
1944
|
+
// the existing lenient (err as Error) pattern used throughout this catch chain.
|
|
1972
1945
|
phaseError = err;
|
|
1973
1946
|
throw err;
|
|
1974
1947
|
}
|
|
@@ -1994,30 +1967,23 @@ export async function sleep(ctx, opts = {}) {
|
|
|
1994
1967
|
try {
|
|
1995
1968
|
const db = openHippoDb(ctx.hippoRoot);
|
|
1996
1969
|
try {
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
1970
|
+
const sleepAuditMetadata = {
|
|
1971
|
+
consolidationCount,
|
|
1972
|
+
dedupCount,
|
|
1973
|
+
auditDeletedCount,
|
|
1974
|
+
ambientTotal,
|
|
1975
|
+
dryRun,
|
|
1976
|
+
noShare: opts.noShare ?? false,
|
|
1977
|
+
partial: phaseError !== null,
|
|
1978
|
+
triggeredByTenant: ctx.tenantId, // preserve for audit forensics
|
|
1979
|
+
};
|
|
1980
|
+
if (phaseError)
|
|
1981
|
+
sleepAuditMetadata.errorMessage = phaseError.message;
|
|
2006
1982
|
appendAuditEvent(db, {
|
|
2007
1983
|
tenantId: '__host__',
|
|
2008
1984
|
actor: ctx.actor.subject,
|
|
2009
1985
|
op: 'consolidate',
|
|
2010
|
-
metadata: {
|
|
2011
|
-
consolidationCount,
|
|
2012
|
-
dedupCount,
|
|
2013
|
-
auditDeletedCount,
|
|
2014
|
-
ambientTotal,
|
|
2015
|
-
dryRun,
|
|
2016
|
-
noShare: opts.noShare ?? false,
|
|
2017
|
-
partial: phaseError !== null,
|
|
2018
|
-
triggeredByTenant: ctx.tenantId, // preserve for audit forensics
|
|
2019
|
-
...(phaseError ? { errorMessage: phaseError.message } : {}),
|
|
2020
|
-
},
|
|
1986
|
+
metadata: { ...sleepAuditMetadata },
|
|
2021
1987
|
});
|
|
2022
1988
|
}
|
|
2023
1989
|
finally {
|
|
@@ -2030,36 +1996,14 @@ export async function sleep(ctx, opts = {}) {
|
|
|
2030
1996
|
// This guards the case where consolidation AND audit-emit fail in the
|
|
2031
1997
|
// same invocation against the same DB (correlated: same disk, same
|
|
2032
1998
|
// schema state) — losing the original error makes diagnosis much harder.
|
|
1999
|
+
// SAFETY: this is a best-effort log message only; property access on
|
|
2000
|
+
// any JS value is safe (undefined if absent), preserving the existing
|
|
2001
|
+
// lenient formatting even when something non-Error was thrown.
|
|
2033
2002
|
// eslint-disable-next-line no-console
|
|
2034
2003
|
console.error(`[hippo] api.sleep audit emit failed: ${auditErr.message}`);
|
|
2035
2004
|
}
|
|
2036
2005
|
}
|
|
2037
2006
|
}
|
|
2038
|
-
// ---------------------------------------------------------------------------
|
|
2039
|
-
// outcomeForLastRecall (last-recall wrapper around outcome — Task 3)
|
|
2040
|
-
// ---------------------------------------------------------------------------
|
|
2041
|
-
/**
|
|
2042
|
-
* Apply an outcome to the ids most recently returned by `recall()`.
|
|
2043
|
-
*
|
|
2044
|
-
* Reads `loadIndex(ctx.hippoRoot).last_retrieval_ids` (per-hippoRoot local
|
|
2045
|
-
* state; not tenant-scoped at the index layer) and forwards to `outcome()`,
|
|
2046
|
-
* which DOES tenant-filter via `readEntry(..., ctx.tenantId)`. Cross-tenant
|
|
2047
|
-
* ids in `last_retrieval_ids` are silently skipped, matching the MCP
|
|
2048
|
-
* `hippo_outcome` semantics.
|
|
2049
|
-
*
|
|
2050
|
-
* **Tenant-safe response shape (v1.11.4 security fix):** the returned `ids`
|
|
2051
|
-
* field contains ONLY the tenant-filtered subset that actually had outcomes
|
|
2052
|
-
* applied (i.e. `appliedIds` from the inner `outcome()` call). Earlier
|
|
2053
|
-
* versions returned the raw `last_retrieval_ids` regardless of tenant, which
|
|
2054
|
-
* leaked cross-tenant memory IDs to the caller via POST /v1/outcome's
|
|
2055
|
-
* no-body last-recall response. The fix is at this helper so all callers
|
|
2056
|
-
* (CLI cmdOutcome, HTTP /v1/outcome, MCP `hippo_outcome` if added later)
|
|
2057
|
-
* inherit the tenant-safe contract.
|
|
2058
|
-
*
|
|
2059
|
-
* Do NOT tighten `loadIndex` with `tenantId` inside this helper — doing so
|
|
2060
|
-
* would break the (correct) cross-tenant-silent-skip behavior covered by
|
|
2061
|
-
* the test in `tests/api-outcome-for-last-recall.test.ts`.
|
|
2062
|
-
*/
|
|
2063
2007
|
export function outcomeForLastRecall(ctx, good) {
|
|
2064
2008
|
const idx = loadIndex(ctx.hippoRoot);
|
|
2065
2009
|
const ids = idx.last_retrieval_ids;
|