sharepoint-knowledge 0.2.1__tar.gz → 0.2.2__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 (21) hide show
  1. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/PKG-INFO +2 -2
  2. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/pyproject.toml +2 -2
  3. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/cli_sp.py +3 -0
  4. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/crawl_sp.py +13 -1
  5. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/server_sp.py +3 -1
  6. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/PKG-INFO +2 -2
  7. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/requires.txt +1 -1
  8. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/README.md +0 -0
  9. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/setup.cfg +0 -0
  10. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/__init__.py +0 -0
  11. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/auth_sp.py +0 -0
  12. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/client_sp.py +0 -0
  13. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge/settings_sp.py +0 -0
  14. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/SOURCES.txt +0 -0
  15. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/dependency_links.txt +0 -0
  16. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/entry_points.txt +0 -0
  17. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/src/sharepoint_knowledge.egg-info/top_level.txt +0 -0
  18. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/tests/test_agent_doc_consistency.py +0 -0
  19. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/tests/test_client_sp.py +0 -0
  20. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/tests/test_crawl_sp.py +0 -0
  21. {sharepoint_knowledge-0.2.1 → sharepoint_knowledge-0.2.2}/tests/test_server_flow_sp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharepoint-knowledge
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: SharePoint connector for the grounded-Q&A engine — site pages + document libraries, Entra device-code sign-in, local models, cited answers
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/nkunal1992/agents
@@ -11,7 +11,7 @@ Requires-Dist: msal>=1.31
11
11
  Requires-Dist: httpx>=0.27
12
12
  Requires-Dist: mcp>=1.8
13
13
  Provides-Extra: models
14
- Requires-Dist: confluence-knowledge[models]>=0.5.1; extra == "models"
14
+ Requires-Dist: confluence-knowledge[models]>=0.5.2; extra == "models"
15
15
  Provides-Extra: dev
16
16
  Requires-Dist: pytest>=8.0; extra == "dev"
17
17
  Requires-Dist: ruff>=0.5; extra == "dev"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sharepoint-knowledge"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "SharePoint connector for the grounded-Q&A engine — site pages + document libraries, Entra device-code sign-in, local models, cited answers"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -18,7 +18,7 @@ dependencies = [
18
18
 
19
19
  [project.optional-dependencies]
20
20
  models = [
21
- "confluence-knowledge[models]>=0.5.1",
21
+ "confluence-knowledge[models]>=0.5.2",
22
22
  ]
23
23
  dev = [
24
24
  "pytest>=8.0",
@@ -153,6 +153,9 @@ def main() -> None:
153
153
  import subprocess
154
154
  cmd = [sys.executable, "-m", "pip", "install", "-U",
155
155
  "sharepoint-knowledge[models]"]
156
+ # a running MCP server holds open files — quit the IDE first
157
+ print("note: quit the IDE (or stop the MCP server) before updating —"
158
+ " a running server can't be replaced cleanly", flush=True)
156
159
  if os.name == "nt":
157
160
  print("on Windows, upgrade via the venv python directly:\n "
158
161
  + " ".join(f'"{c}"' if " " in c else c for c in cmd))
@@ -23,7 +23,7 @@ from confluence_knowledge.settings import SetupError
23
23
  MAX_FILE_BYTES = 25 * 1024 * 1024
24
24
  MAX_FILES = 20_000
25
25
 
26
- from confluence_knowledge.retrieval import EMBED_MODEL_ID as _MODEL_ID
26
+ from confluence_knowledge.retrieval import MODEL_MARKER as _MODEL_ID
27
27
 
28
28
 
29
29
  def resolve_root(client: ConfluenceClient, url: str) -> tuple[str, str]:
@@ -197,6 +197,18 @@ class SPCrawler:
197
197
 
198
198
  queue: list[str] = job["queue"]
199
199
  errors: list[str] = job["errors"]
200
+ # Mid-crawl model change: already-embedded pages live in the OLD
201
+ # vector space — finishing would publish mixed dims. Wipe + fail;
202
+ # start_crawl rebuilds under the new model.
203
+ stamped = self.index.model_id()
204
+ if stamped is not None and stamped != _MODEL_ID and queue:
205
+ self.index.clear_scope()
206
+ errors = errors + [
207
+ (f"model changed mid-crawl ({stamped} → {_MODEL_ID}) — "
208
+ "index cleared; run start_crawl")]
209
+ self.index.save_job(job_id, "error", [], errors)
210
+ return {"job_id": job_id, "state": "error",
211
+ "remaining": 0, "errors": errors}
200
212
  seen_raw = self.index.meta_get(f"seen:{job_id}")
201
213
  seen: set[str] = set(json.loads(seen_raw)) if seen_raw else set()
202
214
  levels_raw = self.index.meta_get(f"levels:{job_id}")
@@ -10,7 +10,9 @@ import threading
10
10
  from confluence_knowledge.client import AccessError, SecurityException
11
11
  from confluence_knowledge.index import Index
12
12
  from confluence_knowledge.retrieval import (
13
- EMBED_MODEL_ID,
13
+ MODEL_MARKER as EMBED_MODEL_ID,
14
+ )
15
+ from confluence_knowledge.retrieval import (
14
16
  LocalEmbedder,
15
17
  LocalReranker,
16
18
  LocalSparseEmbedder,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharepoint-knowledge
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: SharePoint connector for the grounded-Q&A engine — site pages + document libraries, Entra device-code sign-in, local models, cited answers
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/nkunal1992/agents
@@ -11,7 +11,7 @@ Requires-Dist: msal>=1.31
11
11
  Requires-Dist: httpx>=0.27
12
12
  Requires-Dist: mcp>=1.8
13
13
  Provides-Extra: models
14
- Requires-Dist: confluence-knowledge[models]>=0.5.1; extra == "models"
14
+ Requires-Dist: confluence-knowledge[models]>=0.5.2; extra == "models"
15
15
  Provides-Extra: dev
16
16
  Requires-Dist: pytest>=8.0; extra == "dev"
17
17
  Requires-Dist: ruff>=0.5; extra == "dev"
@@ -12,4 +12,4 @@ openpyxl>=3.1
12
12
  pypdf>=5.0
13
13
 
14
14
  [models]
15
- confluence-knowledge[models]>=0.5.1
15
+ confluence-knowledge[models]>=0.5.2