gateforge-sdk 0.2.7__tar.gz → 0.2.8__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 (43) hide show
  1. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/PKG-INFO +1 -1
  2. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/client.py +1 -1
  3. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/context.py +4 -2
  4. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/pyproject.toml +1 -1
  5. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/.env.example +0 -0
  6. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/.gitignore +0 -0
  7. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/.pypirc.example +0 -0
  8. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/INSTALL.md +0 -0
  9. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/LICENSE +0 -0
  10. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/MANIFEST.in +0 -0
  11. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/PUBLISHING.md +0 -0
  12. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/PUBLISH_NOW.md +0 -0
  13. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/README.md +0 -0
  14. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/__init__.py +0 -0
  15. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/ab/__init__.py +0 -0
  16. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/ab/engine.py +0 -0
  17. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/config.py +0 -0
  18. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/features/__init__.py +0 -0
  19. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/guardrails/__init__.py +0 -0
  20. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/guardrails/engine.py +0 -0
  21. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/metrics.py +0 -0
  22. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/options.py +0 -0
  23. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/pii.py +0 -0
  24. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/pricing.py +0 -0
  25. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/prompt.py +0 -0
  26. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/providers/__init__.py +0 -0
  27. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/providers/anthropic.py +0 -0
  28. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/providers/gemini.py +0 -0
  29. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/providers/openai.py +0 -0
  30. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/response.py +0 -0
  31. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/session_manager.py +0 -0
  32. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/tracing.py +0 -0
  33. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/wrappers/__init__.py +0 -0
  34. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/wrappers/anthropic.py +0 -0
  35. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/wrappers/gemini.py +0 -0
  36. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/gateforge/wrappers/openai.py +0 -0
  37. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/__init__.py +0 -0
  38. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_metrics.py +0 -0
  39. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_phase1.py +0 -0
  40. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_phase2.py +0 -0
  41. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_phase3.py +0 -0
  42. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_pii.py +0 -0
  43. {gateforge_sdk-0.2.7 → gateforge_sdk-0.2.8}/tests/test_providers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gateforge-sdk
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: Privacy-first LLMOps SDK — Auto-init, decorators, session management, prompt system with cache
5
5
  Project-URL: Homepage, https://gateforge.dev
6
6
  Project-URL: Documentation, https://gateforge.dev/docs
@@ -260,7 +260,7 @@ class GatforgeClient:
260
260
  finish_reason=finish_reason,
261
261
  experiment_id=ab_assignment.experiment_id if ab_assignment else None,
262
262
  variant=ab_assignment.variant if ab_assignment else None,
263
- content_preview=rehydrated if flags.store_content and rehydrated else None,
263
+ content_preview=rehydrated[:500] if rehydrated else None,
264
264
  )
265
265
 
266
266
  return rehydrated, cost_usd
@@ -215,13 +215,15 @@ def agent(
215
215
  cid = conversation_id or f"{fn.__name__}-{int(time.time())}"
216
216
  is_nested = False
217
217
 
218
- # Emit agent start event
218
+ # Emit agent start event — use next_step() when nested so sequential
219
+ # agents get unique, increasing step numbers (fixes DB ordering)
220
+ start_step = active_trace.next_step() if active_trace else 0
219
221
  emit_trace_event(
220
222
  api_key=_get_api_key(),
221
223
  base_url=_get_base_url(),
222
224
  conversation_id=cid,
223
225
  event_type="agent_start",
224
- step=0,
226
+ step=start_step,
225
227
  metadata={"user_id": user_id, "args": _safe_str(args)[:200], "agent_name": name or fn.__name__, "nested": is_nested},
226
228
  )
227
229
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "gateforge-sdk"
7
- version = "0.2.7"
7
+ version = "0.2.8"
8
8
  description = "Privacy-first LLMOps SDK — Auto-init, decorators, session management, prompt system with cache"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
File without changes
File without changes
File without changes
File without changes
File without changes