@dotdotgod/hermes 0.6.5 → 0.6.7

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/README.md CHANGED
@@ -52,7 +52,7 @@ Missing parents and changed senders do not deny tools. Impact interception needs
52
52
  known project state; nested host calls omitting it cannot be attributed reliably.
53
53
 
54
54
  Any host session may select a configured label or an existing absolute directory
55
- using dotdotgod_select_root. Legacy gateway_access settings are ignored.
55
+ using select_root. Legacy gateway_access settings are ignored.
56
56
  Dotdotgod imposes no filesystem-area restrictions. Gateway operators must rely
57
57
  on host permissions and OS isolation, not plugin labels, for access control.
58
58
  CLI starts at the launch directory; optional cli_root sets its repository.
@@ -73,15 +73,18 @@ project data; context scope/session filters are not access-control lists.
73
73
 
74
74
  - Generated project-initializer, project-load, impact-review and document-clarify
75
75
  skills from canonical shared sources.
76
- - Automatic load-required instructions; call dotdotgod_project_load once with an
76
+ - Automatic load-required instructions; call project_load once with an
77
77
  agent-selected focus and continue the original request. Explicit load uses the
78
78
  same tool/skill; full map depth is 5, focused map depth 3 with up to 30 query hits.
79
79
  - `dd:no-load` in a request skips only that request's automatic load instruction.
80
80
  - Explicit/fuzzy reference evidence via the bundled CLI; no full auto-validation.
81
- - Native dotdotgod execution/context/operations tools backed by per-session MCP.
81
+ - Native execution/context/operations tools backed by per-session MCP, with shared
82
+ unprefixed catalog names in the dotdotgod toolset and no forwarding aliases.
82
83
  They return a JSON envelope with content and structuredContent. Do not parse the
83
- Markdown content as JSON or assume Pi's codemode object-return contract.
84
- - dotdotgod_select_root and dotdotgod_impact_status are adapter-local tools.
84
+ Markdown content as JSON or assume an unwrapped service-object contract.
85
+ - select_root and impact_status are adapter-local tools; the shared impact_status
86
+ entry is not registered twice. There are twenty unique tools. Reload the plugin
87
+ after upgrading and update saved calls; old prefixed names are unsupported.
85
88
  - Pending impact is derived from Git dirty/untracked fingerprints and durable
86
89
  checked fingerprints. Successful checks clear only checked, unchanged paths.
87
90
  Source edits reopen pending state; reads and impact checks remain available.
package/__init__.py CHANGED
@@ -4,12 +4,6 @@ from pathlib import Path
4
4
 
5
5
  from .runtime import Runtime
6
6
 
7
- NAMES = {
8
- "index": "dotdotgod_context_index", "search": "dotdotgod_context_search",
9
- "stats": "dotdotgod_context_stats", "doctor": "dotdotgod_context_doctor",
10
- "purge": "dotdotgod_context_purge", "session_resume": "dotdotgod_context_session_resume",
11
- }
12
-
13
7
 
14
8
  def register(ctx):
15
9
  runtime = Runtime(ctx)
@@ -18,7 +12,9 @@ def register(ctx):
18
12
  tools = json.loads((Path(__file__).parent / "mcp" / "tools.json").read_text())
19
13
  for tool in tools:
20
14
  remote = tool["name"]
21
- name = NAMES.get(remote, remote if remote.startswith("dotdotgod_") else "dotdotgod_" + remote)
15
+ name = remote
16
+ if name == "impact_status":
17
+ continue # Hermes owns its selected-repository impact status below.
22
18
 
23
19
  def handle(args, session_id="", _remote=remote, **kwargs):
24
20
  try:
@@ -31,8 +27,8 @@ def register(ctx):
31
27
  }, handler=handle, description=tool["description"])
32
28
 
33
29
  for name, schema, description in [
34
- ("dotdotgod_select_root", {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": False}, "Select a project for this host session using a configured label or absolute directory path."),
35
- ("dotdotgod_impact_status", {"type": "object", "properties": {}, "additionalProperties": False}, "Read pending impact paths for the selected repository; does not clear them."),
30
+ ("select_root", {"type": "object", "properties": {"label": {"type": "string"}}, "required": ["label"], "additionalProperties": False}, "Select a project for this host session using a configured label or absolute directory path."),
31
+ ("impact_status", {"type": "object", "properties": {}, "additionalProperties": False}, "Read pending impact paths for the selected repository; does not clear them."),
36
32
  ]:
37
33
  def handle_local(args, session_id="", _name=name, **kwargs):
38
34
  try: