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.
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/.gitignore +1 -2
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/CHANGELOG.md +38 -3
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/PKG-INFO +2 -2
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/pyproject.toml +2 -2
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/__init__.py +1 -1
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/admin.py +39 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/main.py +751 -1
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/project_config.py +177 -26
- memoryhub_cli-0.11.0/tests/test_entity_commands.py +218 -0
- memoryhub_cli-0.11.0/tests/test_parity_commands.py +536 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_project_config.py +135 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/README.md +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/config.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/export.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/src/memoryhub_cli/output.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/__init__.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_admin.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_client_creation.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_compact_output.py +0 -0
- {memoryhub_cli-0.8.0 → memoryhub_cli-0.11.0}/tests/test_config.py +0 -0
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
17
|
+
"memoryhub>=0.14.0",
|
|
18
18
|
"typer[all]>=0.15",
|
|
19
19
|
"rich>=13.0",
|
|
20
20
|
"pyyaml>=6.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
|
|