spooling 0.1.4__tar.gz → 0.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 (51) hide show
  1. {spooling-0.1.4/spooling.egg-info → spooling-0.1.5}/PKG-INFO +18 -1
  2. {spooling-0.1.4 → spooling-0.1.5}/README.md +17 -0
  3. {spooling-0.1.4 → spooling-0.1.5}/pyproject.toml +1 -1
  4. {spooling-0.1.4 → spooling-0.1.5}/spooling/server.py +4 -0
  5. {spooling-0.1.4 → spooling-0.1.5/spooling.egg-info}/PKG-INFO +18 -1
  6. {spooling-0.1.4 → spooling-0.1.5}/LICENSE +0 -0
  7. {spooling-0.1.4 → spooling-0.1.5}/setup.cfg +0 -0
  8. {spooling-0.1.4 → spooling-0.1.5}/spooling/__init__.py +0 -0
  9. {spooling-0.1.4 → spooling-0.1.5}/spooling/agent.py +0 -0
  10. {spooling-0.1.4 → spooling-0.1.5}/spooling/classifiers.py +0 -0
  11. {spooling-0.1.4 → spooling-0.1.5}/spooling/cli.py +0 -0
  12. {spooling-0.1.4 → spooling-0.1.5}/spooling/cloud.py +0 -0
  13. {spooling-0.1.4 → spooling-0.1.5}/spooling/config.py +0 -0
  14. {spooling-0.1.4 → spooling-0.1.5}/spooling/db.py +0 -0
  15. {spooling-0.1.4 → spooling-0.1.5}/spooling/embeddings.py +0 -0
  16. {spooling-0.1.4 → spooling-0.1.5}/spooling/evals.py +0 -0
  17. {spooling-0.1.4 → spooling-0.1.5}/spooling/experiments.py +0 -0
  18. {spooling-0.1.4 → spooling-0.1.5}/spooling/ingest.py +0 -0
  19. {spooling-0.1.4 → spooling-0.1.5}/spooling/mcp_server.py +0 -0
  20. {spooling-0.1.4 → spooling-0.1.5}/spooling/parser.py +0 -0
  21. {spooling-0.1.4 → spooling-0.1.5}/spooling/pricing.py +0 -0
  22. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/__init__.py +0 -0
  23. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/antigravity.py +0 -0
  24. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/base.py +0 -0
  25. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/codex.py +0 -0
  26. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/copilot.py +0 -0
  27. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/cortex_code.py +0 -0
  28. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/cursor.py +0 -0
  29. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/gemini.py +0 -0
  30. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/github.py +0 -0
  31. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/gitlab.py +0 -0
  32. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/kiro.py +0 -0
  33. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/opencode.py +0 -0
  34. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/session_file.py +0 -0
  35. {spooling-0.1.4 → spooling-0.1.5}/spooling/providers/windsurf.py +0 -0
  36. {spooling-0.1.4 → spooling-0.1.5}/spooling/redact.py +0 -0
  37. {spooling-0.1.4 → spooling-0.1.5}/spooling/remote_otel.py +0 -0
  38. {spooling-0.1.4 → spooling-0.1.5}/spooling/sdk.py +0 -0
  39. {spooling-0.1.4 → spooling-0.1.5}/spooling/search.py +0 -0
  40. {spooling-0.1.4 → spooling-0.1.5}/spooling/stats.py +0 -0
  41. {spooling-0.1.4 → spooling-0.1.5}/spooling/subscription_pricing.py +0 -0
  42. {spooling-0.1.4 → spooling-0.1.5}/spooling/tracing.py +0 -0
  43. {spooling-0.1.4 → spooling-0.1.5}/spooling/watcher.py +0 -0
  44. {spooling-0.1.4 → spooling-0.1.5}/spooling.egg-info/SOURCES.txt +0 -0
  45. {spooling-0.1.4 → spooling-0.1.5}/spooling.egg-info/dependency_links.txt +0 -0
  46. {spooling-0.1.4 → spooling-0.1.5}/spooling.egg-info/entry_points.txt +0 -0
  47. {spooling-0.1.4 → spooling-0.1.5}/spooling.egg-info/requires.txt +0 -0
  48. {spooling-0.1.4 → spooling-0.1.5}/spooling.egg-info/top_level.txt +0 -0
  49. {spooling-0.1.4 → spooling-0.1.5}/tests/test_parser.py +0 -0
  50. {spooling-0.1.4 → spooling-0.1.5}/tests/test_pricing.py +0 -0
  51. {spooling-0.1.4 → spooling-0.1.5}/tests/test_redact.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spooling
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Local session tracker and semantic search for AI coding assistants
5
5
  Author: Parsed Analytics, Inc.
6
6
  License-Expression: MIT
@@ -278,6 +278,22 @@ What it does each cycle:
278
278
  Cycles with no new work are silent. If a push fails the watermark is
279
279
  not advanced, so the next cycle retries the same window.
280
280
 
281
+ ### Cloud API endpoints (programmatic access)
282
+
283
+ The cloud API at `api.spooling.ai` uses `/v1/` endpoints. Requests require a Bearer token via the `Authorization` header:
284
+
285
+ ```bash
286
+ # Stats
287
+ curl -s "https://api.spooling.ai/v1/stats" \
288
+ -H "Authorization: Bearer $SPOOLING_KEY"
289
+
290
+ # Search (when deployed — falls back to local search on self-hosted)
291
+ curl -s "https://api.spooling.ai/api/search?q=migration&limit=10" \
292
+ -H "Authorization: Bearer $SPOOLING_KEY"
293
+ ```
294
+
295
+ **Important**: `app.spooling.ai` is the Next.js frontend. For API access, use `api.spooling.ai` directly or set `API_URL=https://api.spooling.ai` when deploying the frontend so its `/api/*` rewrites reach the backend.
296
+
281
297
  ### Status / logout
282
298
 
283
299
  ```bash
@@ -485,6 +501,7 @@ All optional - defaults work out of the box for local development.
485
501
  | `SPOOLING_EMBEDDING_MODEL` | `all-MiniLM-L6-v2` | Sentence transformer model |
486
502
  | `SPOOLING_UI_HOST` | `127.0.0.1` | API server host |
487
503
  | `ANTHROPIC_API_KEY` | - | Anthropic API key (alternative to setting in UI) |
504
+ | `API_URL` | `http://127.0.0.1:3002` | Backend API URL for Next.js rewrites (`/api/*`→`<API_URL>/api/*`). Set to `https://api.spooling.ai` in production. |
488
505
 
489
506
  ---
490
507
 
@@ -248,6 +248,22 @@ What it does each cycle:
248
248
  Cycles with no new work are silent. If a push fails the watermark is
249
249
  not advanced, so the next cycle retries the same window.
250
250
 
251
+ ### Cloud API endpoints (programmatic access)
252
+
253
+ The cloud API at `api.spooling.ai` uses `/v1/` endpoints. Requests require a Bearer token via the `Authorization` header:
254
+
255
+ ```bash
256
+ # Stats
257
+ curl -s "https://api.spooling.ai/v1/stats" \
258
+ -H "Authorization: Bearer $SPOOLING_KEY"
259
+
260
+ # Search (when deployed — falls back to local search on self-hosted)
261
+ curl -s "https://api.spooling.ai/api/search?q=migration&limit=10" \
262
+ -H "Authorization: Bearer $SPOOLING_KEY"
263
+ ```
264
+
265
+ **Important**: `app.spooling.ai` is the Next.js frontend. For API access, use `api.spooling.ai` directly or set `API_URL=https://api.spooling.ai` when deploying the frontend so its `/api/*` rewrites reach the backend.
266
+
251
267
  ### Status / logout
252
268
 
253
269
  ```bash
@@ -455,6 +471,7 @@ All optional - defaults work out of the box for local development.
455
471
  | `SPOOLING_EMBEDDING_MODEL` | `all-MiniLM-L6-v2` | Sentence transformer model |
456
472
  | `SPOOLING_UI_HOST` | `127.0.0.1` | API server host |
457
473
  | `ANTHROPIC_API_KEY` | - | Anthropic API key (alternative to setting in UI) |
474
+ | `API_URL` | `http://127.0.0.1:3002` | Backend API URL for Next.js rewrites (`/api/*`→`<API_URL>/api/*`). Set to `https://api.spooling.ai` in production. |
458
475
 
459
476
  ---
460
477
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "spooling"
3
- version = "0.1.4"
3
+ version = "0.1.5"
4
4
  description = "Local session tracker and semantic search for AI coding assistants"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -93,6 +93,7 @@ async def api_session(session_id: str):
93
93
  # --- Search ---
94
94
 
95
95
  @app.get("/api/search")
96
+ @app.get("/api/v1/search")
96
97
  async def api_search(
97
98
  q: str = Query(...),
98
99
  limit: int = Query(default=10),
@@ -1030,6 +1031,7 @@ async def api_delete_chat_session(session_id: str):
1030
1031
  class SettingsUpdate(BaseModel):
1031
1032
  provider: str | None = None
1032
1033
  model: str | None = None
1034
+ judge_model: str | None = None
1033
1035
  anthropic_api_key: str | None = None
1034
1036
  ollama_url: str | None = None
1035
1037
  openai_base_url: str | None = None
@@ -1081,6 +1083,8 @@ async def api_update_settings(body: SettingsUpdate):
1081
1083
  config["provider"] = body.provider
1082
1084
  if body.model is not None:
1083
1085
  config["model"] = body.model
1086
+ if body.judge_model is not None:
1087
+ config["judge_model"] = body.judge_model
1084
1088
  if body.anthropic_api_key is not None:
1085
1089
  config["anthropic_api_key"] = body.anthropic_api_key
1086
1090
  if body.ollama_url is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spooling
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Local session tracker and semantic search for AI coding assistants
5
5
  Author: Parsed Analytics, Inc.
6
6
  License-Expression: MIT
@@ -278,6 +278,22 @@ What it does each cycle:
278
278
  Cycles with no new work are silent. If a push fails the watermark is
279
279
  not advanced, so the next cycle retries the same window.
280
280
 
281
+ ### Cloud API endpoints (programmatic access)
282
+
283
+ The cloud API at `api.spooling.ai` uses `/v1/` endpoints. Requests require a Bearer token via the `Authorization` header:
284
+
285
+ ```bash
286
+ # Stats
287
+ curl -s "https://api.spooling.ai/v1/stats" \
288
+ -H "Authorization: Bearer $SPOOLING_KEY"
289
+
290
+ # Search (when deployed — falls back to local search on self-hosted)
291
+ curl -s "https://api.spooling.ai/api/search?q=migration&limit=10" \
292
+ -H "Authorization: Bearer $SPOOLING_KEY"
293
+ ```
294
+
295
+ **Important**: `app.spooling.ai` is the Next.js frontend. For API access, use `api.spooling.ai` directly or set `API_URL=https://api.spooling.ai` when deploying the frontend so its `/api/*` rewrites reach the backend.
296
+
281
297
  ### Status / logout
282
298
 
283
299
  ```bash
@@ -485,6 +501,7 @@ All optional - defaults work out of the box for local development.
485
501
  | `SPOOLING_EMBEDDING_MODEL` | `all-MiniLM-L6-v2` | Sentence transformer model |
486
502
  | `SPOOLING_UI_HOST` | `127.0.0.1` | API server host |
487
503
  | `ANTHROPIC_API_KEY` | - | Anthropic API key (alternative to setting in UI) |
504
+ | `API_URL` | `http://127.0.0.1:3002` | Backend API URL for Next.js rewrites (`/api/*`→`<API_URL>/api/*`). Set to `https://api.spooling.ai` in production. |
488
505
 
489
506
  ---
490
507
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes