universal-memory 0.1.2__tar.gz → 0.1.3__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.
- {universal_memory-0.1.2 → universal_memory-0.1.3}/PKG-INFO +30 -2
- {universal_memory-0.1.2 → universal_memory-0.1.3}/README.md +29 -1
- {universal_memory-0.1.2 → universal_memory-0.1.3}/pyproject.toml +5 -1
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/__init__.py +1 -1
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/host/sync_instructions_use_case.py +9 -6
- universal_memory-0.1.3/src/universal_memory/application/onboarding/setup_project.py +687 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/storage/local_fact_repository.py +1 -7
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/storage/local_latent_skill_repository.py +1 -7
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/storage/local_rule_repository.py +1 -2
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/cli/init_command.py +8 -8
- universal_memory-0.1.2/src/universal_memory/application/onboarding/setup_project.py +0 -302
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/__main__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/diagnostics/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/diagnostics/doctor_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/host/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/host/drift_detector.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/host/setup_host_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/assemble_context_summary_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/context_hygiene_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/get_memory_status_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/list_facts_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/purge_fact_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/remember_fact_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/memory/search_facts_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/onboarding/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/security/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/security/list_audit_log_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/security/list_snapshots_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/security/rollback_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/security/safe_write_use_case.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/generate_skill.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/list_skills.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/native_skill_sync.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/propose_skill.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/track_latent_skill.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/skills/update_skill.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/update/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/application/update/update_use_cases.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/bootstrap/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/bootstrap/cli.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/bootstrap/mcp.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/audit_event.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/base.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/context_summary.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/fact.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/host.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/instruction_target.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/latent_skill.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/rule.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/runtime.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/safe_write_result.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/entities/snapshot.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/exceptions.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/audit_log_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/config_validation_port.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/context_summary_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/fact_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/latent_skill_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/project_layout_port.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/rule_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/secret_scanner_port.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/ports/snapshot_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/domain/project_layout.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/config/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/config/adapters.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/config/project_layout.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/config/toml_loader.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/security/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/security/entropy_secret_scanner.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/security/local_audit_log_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/security/local_snapshot_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/storage/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/infrastructure/storage/local_context_summary_repository.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/cli/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/cli/message_catalog.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/errors.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/mcp/__init__.py +0 -0
- {universal_memory-0.1.2 → universal_memory-0.1.3}/src/universal_memory/interfaces/mcp/server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: universal-memory
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Vendor-agnostic cognitive persistence layer for AI agents.
|
|
5
5
|
Keywords: agent-memory,ai,ai-agents,agent-skills,claude-code,codex,context-engineering,developer-tools,llm,mcp,memory
|
|
6
6
|
Author: Yan L. Amorelli
|
|
@@ -25,7 +25,7 @@ Project-URL: Repository, https://github.com/YanAmorelli/universal-memory
|
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
|
|
27
27
|
<p align="center">
|
|
28
|
-
<img src="assets/umem-logo.png" alt="Universal Memory logo" width="720">
|
|
28
|
+
<img src="assets/umem-logo-transparent.png" alt="Universal Memory logo" width="720">
|
|
29
29
|
</p>
|
|
30
30
|
|
|
31
31
|
# Universal Memory (umem)
|
|
@@ -102,6 +102,34 @@ uvx --from universal-memory umem --help
|
|
|
102
102
|
pip install universal-memory
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
+
### Upgrade Universal Memory
|
|
106
|
+
`umem update` does not upgrade the Python package from PyPI. It performs local, offline
|
|
107
|
+
maintenance for the current `.umem` workspace, such as schema migrations, benchmark refreshes,
|
|
108
|
+
and skill synchronization.
|
|
109
|
+
|
|
110
|
+
To upgrade the installed `umem` executable, use the package manager that installed it:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# If installed with uv tool
|
|
114
|
+
uv tool upgrade universal-memory
|
|
115
|
+
|
|
116
|
+
# If installed with pipx
|
|
117
|
+
pipx upgrade universal-memory
|
|
118
|
+
|
|
119
|
+
# If installed with pip
|
|
120
|
+
python -m pip install --upgrade universal-memory
|
|
121
|
+
|
|
122
|
+
# If running temporarily with uvx
|
|
123
|
+
uvx --refresh --from universal-memory umem --version
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Confirm the executable you are running:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
umem --version
|
|
130
|
+
which umem
|
|
131
|
+
```
|
|
132
|
+
|
|
105
133
|
---
|
|
106
134
|
|
|
107
135
|
## Quick Start Guide
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="assets/umem-logo.png" alt="Universal Memory logo" width="720">
|
|
2
|
+
<img src="assets/umem-logo-transparent.png" alt="Universal Memory logo" width="720">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
# Universal Memory (umem)
|
|
@@ -76,6 +76,34 @@ uvx --from universal-memory umem --help
|
|
|
76
76
|
pip install universal-memory
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
### Upgrade Universal Memory
|
|
80
|
+
`umem update` does not upgrade the Python package from PyPI. It performs local, offline
|
|
81
|
+
maintenance for the current `.umem` workspace, such as schema migrations, benchmark refreshes,
|
|
82
|
+
and skill synchronization.
|
|
83
|
+
|
|
84
|
+
To upgrade the installed `umem` executable, use the package manager that installed it:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# If installed with uv tool
|
|
88
|
+
uv tool upgrade universal-memory
|
|
89
|
+
|
|
90
|
+
# If installed with pipx
|
|
91
|
+
pipx upgrade universal-memory
|
|
92
|
+
|
|
93
|
+
# If installed with pip
|
|
94
|
+
python -m pip install --upgrade universal-memory
|
|
95
|
+
|
|
96
|
+
# If running temporarily with uvx
|
|
97
|
+
uvx --refresh --from universal-memory umem --version
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Confirm the executable you are running:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
umem --version
|
|
104
|
+
which umem
|
|
105
|
+
```
|
|
106
|
+
|
|
79
107
|
---
|
|
80
108
|
|
|
81
109
|
## Quick Start Guide
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "universal-memory"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.3"
|
|
4
4
|
description = "Vendor-agnostic cognitive persistence layer for AI agents."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "MIT" }
|
|
@@ -54,6 +54,10 @@ dev = [
|
|
|
54
54
|
"pytest>=8.0.0",
|
|
55
55
|
"ruff>=0.3.0",
|
|
56
56
|
]
|
|
57
|
+
docs = [
|
|
58
|
+
"mkdocs-material>=9.5.0",
|
|
59
|
+
"mkdocs>=1.6.0",
|
|
60
|
+
]
|
|
57
61
|
|
|
58
62
|
[build-system]
|
|
59
63
|
requires = ["uv_build>=0.11.7,<0.12.0"]
|
|
@@ -95,7 +95,10 @@ class SyncInstructionsUseCase:
|
|
|
95
95
|
)
|
|
96
96
|
command = replace(command, max_managed_lines=max_lines, max_managed_chars=max_chars)
|
|
97
97
|
|
|
98
|
-
host_ids, config_warnings = self._host_ids_for_command(
|
|
98
|
+
host_ids, config_warnings = self._host_ids_for_command(
|
|
99
|
+
command.host_ids,
|
|
100
|
+
apply=command.apply,
|
|
101
|
+
)
|
|
99
102
|
all_blocks = self._active_rule_blocks()
|
|
100
103
|
plans = self._plan_commands(host_ids, all_blocks, command)
|
|
101
104
|
|
|
@@ -306,8 +309,6 @@ class SyncInstructionsUseCase:
|
|
|
306
309
|
should_write_agents,
|
|
307
310
|
)
|
|
308
311
|
)
|
|
309
|
-
if not plans and host_ids:
|
|
310
|
-
raise ValidationFailedError("Nenhum host suportado informado para sincronizacao.")
|
|
311
312
|
return plans
|
|
312
313
|
|
|
313
314
|
def _active_rule_blocks(self) -> list[InstructionBlock]:
|
|
@@ -359,7 +360,9 @@ class SyncInstructionsUseCase:
|
|
|
359
360
|
raise ValidationFailedError(f"Hosts nao suportados: {', '.join(unsupported)}")
|
|
360
361
|
return normalized
|
|
361
362
|
|
|
362
|
-
def _host_ids_for_command(
|
|
363
|
+
def _host_ids_for_command(
|
|
364
|
+
self, host_ids: list[str] | None, *, apply: bool
|
|
365
|
+
) -> tuple[list[str], list[str]]:
|
|
363
366
|
normalized = self._normalized_host_ids(host_ids)
|
|
364
367
|
enabled_hosts = self._enabled_hosts_from_config()
|
|
365
368
|
if enabled_hosts is None:
|
|
@@ -371,14 +374,14 @@ class SyncInstructionsUseCase:
|
|
|
371
374
|
warnings = []
|
|
372
375
|
to_enable = []
|
|
373
376
|
for host_id in normalized:
|
|
374
|
-
if host_id not in enabled_hosts:
|
|
377
|
+
if host_id not in enabled_hosts and apply:
|
|
375
378
|
warnings.append(
|
|
376
379
|
f"Host '{host_id}' nao esta habilitado em .umem/config.toml; "
|
|
377
380
|
"ativando automaticamente."
|
|
378
381
|
)
|
|
379
382
|
to_enable.append(host_id)
|
|
380
383
|
|
|
381
|
-
if to_enable:
|
|
384
|
+
if to_enable and apply:
|
|
382
385
|
new_enabled = list(enabled_hosts)
|
|
383
386
|
for h in to_enable:
|
|
384
387
|
if h not in new_enabled:
|