memoryhub-cli 0.8.0__tar.gz → 0.11.0__tar.gz

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 (20) hide show
  1. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/.gitignore +1 -2
  2. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/CHANGELOG.md +38 -3
  3. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/PKG-INFO +2 -2
  4. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/pyproject.toml +2 -2
  5. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/__init__.py +1 -1
  6. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/admin.py +39 -0
  7. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/main.py +751 -1
  8. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/project_config.py +177 -26
  9. memoryhub_cli-0.11.0/tests/test_entity_commands.py +218 -0
  10. memoryhub_cli-0.11.0/tests/test_parity_commands.py +536 -0
  11. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_project_config.py +135 -0
  12. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/README.md +0 -0
  13. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/config.py +0 -0
  14. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/export.py +0 -0
  15. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/output.py +0 -0
  16. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/__init__.py +0 -0
  17. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_admin.py +0 -0
  18. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_client_creation.py +0 -0
  19. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_compact_output.py +0 -0
  20. {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_config.py +0 -0
@@ -32,8 +32,7 @@ seed-clients.json
32
32
  .cache_ggshield
33
33
  .mcp.json
34
34
 
35
- NEXT_SESSION_old.md
36
- NEXT_SESSION.md
35
+ NEXT_SESSION*.md
37
36
  planning/rfe_draft.md
38
37
 
39
38
 
@@ -2,11 +2,46 @@
2
2
 
3
3
  All notable changes to the `memoryhub-cli` package.
4
4
 
5
+ ## [0.11.0] — 2026-06-12
6
+
7
+ - **Hook scaffolding**: `memoryhub config init` now generates the full
8
+ hook integration -- `.claude/hooks/load-memories.sh` (portable,
9
+ executable) and `.claude/settings.json` SessionStart entries.
10
+ - **Hook script portability**: CLI discovery checks PATH first (pipx/global)
11
+ before project venv paths. JSON parsing uses jq/python3/grep fallback chain.
12
+ - **Loading rule refinement**: Rule templates frame hooks as the expected
13
+ path, with manual MCP calls as a degraded fallback.
14
+ - **`memoryhub reconstruct`**: Retrieve behavioral memories sorted by
15
+ weight. Supports table, json, quiet, and compact output.
16
+ - **`memoryhub admin backfill-entities`**: Run entity extraction on
17
+ memories without extraction_status. Accepts `--limit` and
18
+ `--include-failed`.
19
+ - **Thread commands** (from unreleased 0.10.0): `memoryhub thread`
20
+ subgroup with create, append, get, list, archive, extract, fork,
21
+ share, and delete commands.
22
+ - **Entity commands** (from unreleased 0.10.0): `memoryhub entity`
23
+ subgroup with list, merge, and rename commands.
24
+ - **Session commands** (from unreleased 0.10.0): `memoryhub session`
25
+ subgroup with status, focus, and focus-history commands.
26
+ - **Graph commands** (from unreleased 0.10.0): `memoryhub graph`
27
+ subgroup with relate, list, and similar commands.
28
+ - **Curation commands** (from unreleased 0.10.0): `memoryhub curation`
29
+ subgroup with report, resolve, and rule commands.
30
+ - **Project commands** (from unreleased 0.10.0): `memoryhub project`
31
+ subgroup with list, create, add-member, remove-member, and describe.
32
+ - **SDK dependency**: Requires `memoryhub>=0.14.0` (was `>=0.3.0`).
33
+
34
+ ## [0.9.0] — 2026-06-08
35
+
36
+ - **CLI/SDK parity (#257)**: `memoryhub promote`, `memoryhub graduate`,
37
+ `memoryhub checkpoint`, and `memoryhub project describe` complete
38
+ feature parity with the MCP server.
39
+ - **Fix**: Search command `--output` help text now lists `compact` format.
40
+ - **Skill**: Added `memoryhub-manage` Claude Code skill for cold-path
41
+ operations (#203 prototype).
42
+
5
43
  ## [0.8.0] — 2026-06-03
6
44
 
7
- - **New commands (#256)**: `memoryhub promote`, `memoryhub graduate`,
8
- `memoryhub checkpoint`, and `memoryhub describe` for memory lifecycle
9
- management.
10
45
  - **Obsidian export (#245)**: `memoryhub export --format obsidian` generates
11
46
  Obsidian-compatible markdown with wikilinks and frontmatter.
12
47
  - **Hook-aware rule templates**: `memoryhub config init` and
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memoryhub-cli
3
- Version: 0.8.0
3
+ Version: 0.11.0
4
4
  Summary: CLI client for MemoryHub — centralized, governed memory for AI agents
5
5
  Project-URL: Homepage, https://github.com/redhat-ai-americas/memory-hub
6
6
  Project-URL: Repository, https://github.com/redhat-ai-americas/memory-hub
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
20
  Requires-Python: >=3.10
21
21
  Requires-Dist: httpx>=0.27
22
- Requires-Dist: memoryhub>=0.3.0
22
+ Requires-Dist: memoryhub>=0.14.0
23
23
  Requires-Dist: pyyaml>=6.0
24
24
  Requires-Dist: rich>=13.0
25
25
  Requires-Dist: typer[all]>=0.15
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "memoryhub-cli"
7
- version = "0.8.0"
7
+ version = "0.11.0"
8
8
  description = "CLI client for MemoryHub — centralized, governed memory for AI agents"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -14,7 +14,7 @@ authors = [
14
14
  ]
15
15
  keywords = ["ai", "agents", "memory", "cli", "mcp"]
16
16
  dependencies = [
17
- "memoryhub>=0.3.0",
17
+ "memoryhub>=0.14.0",
18
18
  "typer[all]>=0.15",
19
19
  "rich>=13.0",
20
20
  "pyyaml>=6.0",
@@ -1,3 +1,3 @@
1
1
  """MemoryHub CLI client."""
2
2
 
3
- __version__ = "0.8.0"
3
+ __version__ = "0.11.0"
@@ -308,6 +308,45 @@ def disable_agent(
308
308
  )
309
309
 
310
310
 
311
+ # ── Entity backfill (via MCP, not REST) ─────────────────────────────────────
312
+
313
+
314
+ @admin_app.command("backfill-entities")
315
+ def backfill_entities(
316
+ limit: int = typer.Option(50, "--limit", "-n", help="Max memories to process"),
317
+ include_failed: bool = typer.Option(
318
+ False, "--include-failed", help="Reprocess previously failed memories",
319
+ ),
320
+ output: OutputFormat = typer.Option(
321
+ OutputFormat.table, "--output", "-o", help="Output format: table, json, quiet",
322
+ ),
323
+ ):
324
+ """Run entity extraction on memories without extraction_status."""
325
+ from memoryhub_cli.main import _get_client, _run_command
326
+
327
+ client = _get_client(output)
328
+
329
+ async def _do():
330
+ async with client:
331
+ return await client.backfill_entities(
332
+ limit=limit, include_failed=include_failed,
333
+ )
334
+
335
+ result = _run_command(_do(), output)
336
+
337
+ if output == OutputFormat.json:
338
+ json_success(result)
339
+ return
340
+ if output == OutputFormat.quiet:
341
+ return
342
+
343
+ console.print("[bold]Entity Backfill Results[/bold]\n")
344
+ console.print(f" Candidates: {result.get('candidates', '-')}")
345
+ console.print(f" Processed: {result.get('processed', '-')}")
346
+ console.print(f" Succeeded: {result.get('succeeded', '-')}")
347
+ console.print(f" Failed: {result.get('failed', '-')}")
348
+
349
+
311
350
  # ── Helpers ──────────────────────────────────────────────────────────────────
312
351
 
313
352