hippo-memory 1.11.4 → 1.12.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.
Files changed (71) hide show
  1. package/dist/api.d.ts +36 -5
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +161 -70
  4. package/dist/api.js.map +1 -1
  5. package/dist/audit.d.ts +1 -1
  6. package/dist/audit.d.ts.map +1 -1
  7. package/dist/audit.js.map +1 -1
  8. package/dist/auth.d.ts +4 -0
  9. package/dist/auth.d.ts.map +1 -1
  10. package/dist/auth.js +12 -3
  11. package/dist/auth.js.map +1 -1
  12. package/dist/benchmarks/e1.3/incident-recall-eval.js +2 -2
  13. package/dist/benchmarks/e1.3/incident-recall-eval.js.map +1 -1
  14. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js +2 -1
  15. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js.map +1 -1
  16. package/dist/cli.d.ts +15 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +20 -13
  19. package/dist/cli.js.map +1 -1
  20. package/dist/connectors/github/cli-impl.js +3 -2
  21. package/dist/connectors/github/cli-impl.js.map +1 -1
  22. package/dist/connectors/github/deletion.js +1 -1
  23. package/dist/connectors/github/deletion.js.map +1 -1
  24. package/dist/connectors/github/ingest.d.ts.map +1 -1
  25. package/dist/connectors/github/ingest.js +2 -1
  26. package/dist/connectors/github/ingest.js.map +1 -1
  27. package/dist/connectors/slack/dlq.d.ts +1 -1
  28. package/dist/connectors/slack/dlq.d.ts.map +1 -1
  29. package/dist/connectors/slack/dlq.js +2 -1
  30. package/dist/connectors/slack/dlq.js.map +1 -1
  31. package/dist/connectors/slack/ingest.d.ts.map +1 -1
  32. package/dist/connectors/slack/ingest.js +6 -1
  33. package/dist/connectors/slack/ingest.js.map +1 -1
  34. package/dist/db.d.ts.map +1 -1
  35. package/dist/db.js +15 -1
  36. package/dist/db.js.map +1 -1
  37. package/dist/mcp/server.js +6 -6
  38. package/dist/mcp/server.js.map +1 -1
  39. package/dist/server.d.ts.map +1 -1
  40. package/dist/server.js +38 -9
  41. package/dist/server.js.map +1 -1
  42. package/dist/src/api.js +161 -70
  43. package/dist/src/api.js.map +1 -1
  44. package/dist/src/audit.js.map +1 -1
  45. package/dist/src/auth.js +12 -3
  46. package/dist/src/auth.js.map +1 -1
  47. package/dist/src/cli.js +20 -13
  48. package/dist/src/cli.js.map +1 -1
  49. package/dist/src/connectors/github/cli-impl.js +3 -2
  50. package/dist/src/connectors/github/cli-impl.js.map +1 -1
  51. package/dist/src/connectors/github/deletion.js +1 -1
  52. package/dist/src/connectors/github/deletion.js.map +1 -1
  53. package/dist/src/connectors/github/ingest.js +2 -1
  54. package/dist/src/connectors/github/ingest.js.map +1 -1
  55. package/dist/src/connectors/slack/dlq.js +2 -1
  56. package/dist/src/connectors/slack/dlq.js.map +1 -1
  57. package/dist/src/connectors/slack/ingest.js +6 -1
  58. package/dist/src/connectors/slack/ingest.js.map +1 -1
  59. package/dist/src/db.js +15 -1
  60. package/dist/src/db.js.map +1 -1
  61. package/dist/src/mcp/server.js +6 -6
  62. package/dist/src/mcp/server.js.map +1 -1
  63. package/dist/src/server.js +38 -9
  64. package/dist/src/server.js.map +1 -1
  65. package/dist/src/version.js +1 -1
  66. package/dist/version.d.ts +1 -1
  67. package/dist/version.js +1 -1
  68. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  69. package/extensions/openclaw-plugin/package.json +1 -1
  70. package/openclaw.plugin.json +1 -1
  71. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -1886,7 +1886,8 @@ async function cmdSleep(hippoRoot, flags) {
1886
1886
  * Render an api.sleep result as console output, byte-identical to the
1887
1887
  * pre-extraction inline implementation in cmdSleepCore.
1888
1888
  */
1889
- function renderSleepResult(result) {
1889
+ /** @internal — exported for snapshot tests (tests/cli-context-render-snapshot.test.ts). NOT a stable public API. */
1890
+ export function renderSleepResult(result) {
1890
1891
  console.log(`Running consolidation${result.dryRun ? ' (dry run)' : ''}...`);
1891
1892
  console.log(`\nResults:`);
1892
1893
  console.log(` Active memories: ${result.active}`);
@@ -1947,7 +1948,7 @@ async function cmdSleepCore(hippoRoot, flags) {
1947
1948
  const ctx = {
1948
1949
  hippoRoot,
1949
1950
  tenantId: resolveTenantId({}),
1950
- actor: 'cli',
1951
+ actor: api.adminActor('cli'),
1951
1952
  };
1952
1953
  const result = await api.sleep(ctx, {
1953
1954
  dryRun: Boolean(flags['dry-run']),
@@ -2333,7 +2334,7 @@ function cmdOutcome(hippoRoot, flags) {
2333
2334
  const ctx = {
2334
2335
  hippoRoot,
2335
2336
  tenantId: resolveTenantId({}),
2336
- actor: 'cli',
2337
+ actor: api.adminActor('cli'),
2337
2338
  };
2338
2339
  const specificId = flags['id'] ? String(flags['id']) : null;
2339
2340
  let updated;
@@ -2355,7 +2356,7 @@ function cmdForget(hippoRoot, id, flags) {
2355
2356
  const ctx = {
2356
2357
  hippoRoot,
2357
2358
  tenantId: resolveTenantId({}),
2358
- actor: 'cli',
2359
+ actor: api.adminActor('cli'),
2359
2360
  };
2360
2361
  // A3: raw memories (Slack / GitHub connector ingestion) are append-only — a
2361
2362
  // BEFORE-DELETE trigger aborts any delete. archiveRaw is the sanctioned
@@ -2899,7 +2900,7 @@ async function cmdContext(hippoRoot, args, flags) {
2899
2900
  const ctx = {
2900
2901
  hippoRoot,
2901
2902
  tenantId: resolveTenantId({}),
2902
- actor: 'cli',
2903
+ actor: api.adminActor('cli'),
2903
2904
  };
2904
2905
  const opts = {
2905
2906
  q: query,
@@ -3013,7 +3014,8 @@ async function cmdContext(hippoRoot, args, flags) {
3013
3014
  }
3014
3015
  }
3015
3016
  }
3016
- function printContextMarkdown(items, totalTokens, framing = 'observe') {
3017
+ /** @internal exported for snapshot tests (tests/cli-context-render-snapshot.test.ts). NOT a stable public API. */
3018
+ export function printContextMarkdown(items, totalTokens, framing = 'observe') {
3017
3019
  const now = new Date();
3018
3020
  console.log(`## Project Memory (${items.length} entries, ${totalTokens} tokens)\n`);
3019
3021
  for (const item of items) {
@@ -3342,7 +3344,7 @@ function cmdPromote(hippoRoot, id) {
3342
3344
  const ctx = {
3343
3345
  hippoRoot,
3344
3346
  tenantId: resolveTenantId({}),
3345
- actor: 'cli',
3347
+ actor: api.adminActor('cli'),
3346
3348
  };
3347
3349
  try {
3348
3350
  const result = api.promote(ctx, id);
@@ -3958,7 +3960,7 @@ function cmdAssemble(hippoRoot, sessionId, flags) {
3958
3960
  const ctx = {
3959
3961
  hippoRoot,
3960
3962
  tenantId: resolveTenantId({}),
3961
- actor: 'cli:assemble',
3963
+ actor: api.adminActor('cli:assemble'),
3962
3964
  };
3963
3965
  const r = api.assemble(ctx, sessionId, {
3964
3966
  ...(Number.isFinite(budget) && budget > 0 ? { budget } : {}),
@@ -3984,7 +3986,7 @@ function cmdDrillDown(hippoRoot, summaryId, flags) {
3984
3986
  const ctx = {
3985
3987
  hippoRoot,
3986
3988
  tenantId: resolveTenantId({}),
3987
- actor: 'cli:drill',
3989
+ actor: api.adminActor('cli:drill'),
3988
3990
  };
3989
3991
  const r = api.drillDown(ctx, summaryId, {
3990
3992
  ...(Number.isFinite(limit) && limit > 0 ? { limit } : {}),
@@ -4037,7 +4039,7 @@ function cmdAuthCreate(hippoRoot, flags) {
4037
4039
  const ctx = {
4038
4040
  hippoRoot: root,
4039
4041
  tenantId: tenantFlag ?? resolveTenantId({}),
4040
- actor: 'cli',
4042
+ actor: api.adminActor('cli'),
4041
4043
  };
4042
4044
  const result = api.authCreate(ctx, { label: labelFlag });
4043
4045
  if (asJson) {
@@ -4151,6 +4153,8 @@ const VALID_AUDIT_OPS = new Set([
4151
4153
  'forget',
4152
4154
  'archive_raw',
4153
4155
  'auth_revoke',
4156
+ 'outcome', // v1.11.5: pre-existing drift — emitted today but rejected by old Set
4157
+ 'consolidate', // v1.11.5: emitted by api.sleep / hippo sleep
4154
4158
  ]);
4155
4159
  function formatAuditRow(ev) {
4156
4160
  const target = ev.targetId ?? '-';
@@ -4163,7 +4167,10 @@ function cmdAuditList(hippoRoot, flags) {
4163
4167
  const tenantId = resolveTenantId({});
4164
4168
  const opFlag = typeof flags['op'] === 'string' ? flags['op'] : undefined;
4165
4169
  if (opFlag && !VALID_AUDIT_OPS.has(opFlag)) {
4166
- console.error(`Unknown --op value: ${opFlag}. Expected one of: remember | recall | promote | supersede | forget | archive_raw.`);
4170
+ // Regenerate from Set to prevent future drift (v1.11.5: pre-v1.11.5 message
4171
+ // was hand-maintained and had drifted — missed 'auth_revoke' and 'outcome').
4172
+ const expected = Array.from(VALID_AUDIT_OPS).join(' | ');
4173
+ console.error(`Unknown --op value: ${opFlag}. Expected one of: ${expected}.`);
4167
4174
  process.exit(1);
4168
4175
  }
4169
4176
  const op = opFlag;
@@ -4186,7 +4193,7 @@ function cmdAuditList(hippoRoot, flags) {
4186
4193
  console.error(`--limit must be between 1 and 10000 (got ${limit}).`);
4187
4194
  process.exit(1);
4188
4195
  }
4189
- const ctx = { hippoRoot: root, tenantId, actor: 'cli' };
4196
+ const ctx = { hippoRoot: root, tenantId, actor: { subject: 'cli', role: 'admin' } };
4190
4197
  const events = api.auditList(ctx, { op, since, limit });
4191
4198
  if (asJson) {
4192
4199
  console.log(JSON.stringify(events));
@@ -4479,7 +4486,7 @@ function cmdSlackBackfill(hippoRoot, flags) {
4479
4486
  const ctx = {
4480
4487
  hippoRoot,
4481
4488
  tenantId: resolveTenantId({}),
4482
- actor: 'cli:slack-backfill',
4489
+ actor: api.adminActor('cli:slack-backfill'),
4483
4490
  };
4484
4491
  backfillChannel(ctx, {
4485
4492
  teamId: process.env.SLACK_TEAM_ID ?? 'T_UNKNOWN',