synap-git 2.1.4__tar.gz → 2.1.5__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 (45) hide show
  1. {synap_git-2.1.4 → synap_git-2.1.5}/CHANGELOG.md +5 -0
  2. {synap_git-2.1.4 → synap_git-2.1.5}/PKG-INFO +1 -1
  3. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/__init__.py +1 -1
  4. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/indexer/daemon.py +10 -9
  5. {synap_git-2.1.4 → synap_git-2.1.5}/.gitignore +0 -0
  6. {synap_git-2.1.4 → synap_git-2.1.5}/.synap.example/README.md +0 -0
  7. {synap_git-2.1.4 → synap_git-2.1.5}/LICENSE.md +0 -0
  8. {synap_git-2.1.4 → synap_git-2.1.5}/README.md +0 -0
  9. {synap_git-2.1.4 → synap_git-2.1.5}/pyproject.toml +0 -0
  10. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/api/__init__.py +0 -0
  11. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/api/app.py +0 -0
  12. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/api/static/index.html +0 -0
  13. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/cli/__init__.py +0 -0
  14. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/cli/__main__.py +0 -0
  15. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/cli/main.py +0 -0
  16. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/config.py +0 -0
  17. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/diagnostics/__init__.py +0 -0
  18. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/diagnostics/logger.py +0 -0
  19. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/diagnostics/tracing.py +0 -0
  20. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/embeddings/__init__.py +0 -0
  21. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/git/__init__.py +0 -0
  22. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/git/state.py +0 -0
  23. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/indexer/__init__.py +0 -0
  24. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/indexer/engine.py +0 -0
  25. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/indexer/scanner.py +0 -0
  26. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/indexer/wiki.py +0 -0
  27. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/mcp/__init__.py +0 -0
  28. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/mcp/server.py +0 -0
  29. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/parser/__init__.py +0 -0
  30. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/parser/registry.py +0 -0
  31. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/anthropic.py +0 -0
  32. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/base.py +0 -0
  33. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/factory.py +0 -0
  34. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/gemini.py +0 -0
  35. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/ollama.py +0 -0
  36. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/openai.py +0 -0
  37. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/provider/openrouter.py +0 -0
  38. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/py.typed +0 -0
  39. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/retrieval/__init__.py +0 -0
  40. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/retrieval/engine.py +0 -0
  41. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/retrieval/memory.py +0 -0
  42. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/storage/__init__.py +0 -0
  43. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/storage/sqlite.py +0 -0
  44. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/utils/__init__.py +0 -0
  45. {synap_git-2.1.4 → synap_git-2.1.5}/src/synap_git/utils/serialization.py +0 -0
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.1.5] - 2026-06-11
9
+
10
+ ### Refactored
11
+ - **Daemon Teardown**: Refactored the forceful SIGTERM daemon teardown logic to safely toggle via `force_exit=True` rather than a blanket catch-all. Makes programmatic `daemon.stop()` safer without blocking terminal UI interactions.
12
+
8
13
  ## [2.1.4] - 2026-06-11
9
14
 
10
15
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synap-git
3
- Version: 2.1.4
3
+ Version: 2.1.5
4
4
  Summary: Persistent structural context infrastructure for AI coding agents.
5
5
  Project-URL: Homepage, https://github.com/saahilpal/synap-git
6
6
  Project-URL: Repository, https://github.com/saahilpal/synap-git
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "2.1.4"
5
+ __version__ = "2.1.5"
@@ -123,21 +123,22 @@ class RuntimeDaemon:
123
123
  self._delete_heartbeat()
124
124
  self.logger.info("daemon_stopped")
125
125
 
126
- def stop(self) -> None:
126
+ def stop(self, force_exit: bool = False) -> None:
127
127
  if not self._stop_event.is_set():
128
128
  self.logger.info("daemon_stop_requested")
129
129
  self._stop_event.set()
130
130
 
131
131
  # Force immediate cleanup and exit to avoid thread-join blocking
132
- try:
133
- self.runtime.shutdown()
134
- self._delete_heartbeat()
135
- except Exception:
136
- pass
132
+ if force_exit:
133
+ try:
134
+ self.runtime.shutdown()
135
+ self._delete_heartbeat()
136
+ except Exception:
137
+ pass
137
138
 
138
- import os
139
+ import os
139
140
 
140
- os._exit(0)
141
+ os._exit(0)
141
142
 
142
143
  def health(self) -> DaemonHealth:
143
144
  status = self.runtime.status()
@@ -327,7 +328,7 @@ class RuntimeDaemon:
327
328
  loop = asyncio.get_running_loop()
328
329
  for sig in (signal.SIGINT, signal.SIGTERM):
329
330
  try:
330
- loop.add_signal_handler(sig, self.stop)
331
+ loop.add_signal_handler(sig, lambda: self.stop(force_exit=True))
331
332
  except NotImplementedError:
332
333
  continue
333
334
 
File without changes
File without changes
File without changes
File without changes