prism-proxy 0.2.0__py3-none-any.whl

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 (204) hide show
  1. prism/__init__.py +4 -0
  2. prism/__main__.py +21 -0
  3. prism/architect/__init__.py +62 -0
  4. prism/architect/display.py +798 -0
  5. prism/architect/executor.py +1228 -0
  6. prism/architect/planner.py +757 -0
  7. prism/architect/storage.py +459 -0
  8. prism/auth/__init__.py +16 -0
  9. prism/auth/encrypted_store.py +255 -0
  10. prism/auth/env_store.py +106 -0
  11. prism/auth/keyring_store.py +170 -0
  12. prism/auth/manager.py +331 -0
  13. prism/auth/validator.py +126 -0
  14. prism/cache/__init__.py +13 -0
  15. prism/cache/response_cache.py +669 -0
  16. prism/cache/semantic_cache.py +504 -0
  17. prism/cli/__init__.py +1 -0
  18. prism/cli/app.py +2426 -0
  19. prism/cli/commands/__init__.py +10 -0
  20. prism/cli/commands/config_commands.py +264 -0
  21. prism/cli/commands/init_wizard.py +657 -0
  22. prism/cli/commands/projects.py +163 -0
  23. prism/cli/commands/slash_commands.py +610 -0
  24. prism/cli/commands/update.py +91 -0
  25. prism/cli/commands/version.py +74 -0
  26. prism/cli/compare.py +500 -0
  27. prism/cli/completion.py +118 -0
  28. prism/cli/error_handler.py +396 -0
  29. prism/cli/error_recovery.py +665 -0
  30. prism/cli/hooks.py +402 -0
  31. prism/cli/keybindings.py +84 -0
  32. prism/cli/prompt_enhancer.py +503 -0
  33. prism/cli/repl.py +7797 -0
  34. prism/cli/shell_completion.py +310 -0
  35. prism/cli/stream_handler.py +213 -0
  36. prism/cli/ui/__init__.py +48 -0
  37. prism/cli/ui/display.py +330 -0
  38. prism/cli/ui/prompts.py +155 -0
  39. prism/cli/ui/themes.py +48 -0
  40. prism/cli/updater.py +311 -0
  41. prism/config/__init__.py +24 -0
  42. prism/config/defaults.py +118 -0
  43. prism/config/migration.py +201 -0
  44. prism/config/schema.py +242 -0
  45. prism/config/settings.py +346 -0
  46. prism/context/__init__.py +35 -0
  47. prism/context/branching.py +432 -0
  48. prism/context/budget.py +458 -0
  49. prism/context/conversation_compressor.py +387 -0
  50. prism/context/manager.py +381 -0
  51. prism/context/memory.py +187 -0
  52. prism/context/memory_graph.py +1281 -0
  53. prism/context/packer.py +377 -0
  54. prism/context/rag.py +525 -0
  55. prism/context/repo_map.py +301 -0
  56. prism/context/semantic_cache.py +626 -0
  57. prism/context/session.py +205 -0
  58. prism/context/summarizer.py +171 -0
  59. prism/core/__init__.py +31 -0
  60. prism/core/logging_system.py +384 -0
  61. prism/core/performance.py +419 -0
  62. prism/cost/__init__.py +13 -0
  63. prism/cost/analytics.py +623 -0
  64. prism/cost/dashboard.py +194 -0
  65. prism/cost/forecast.py +495 -0
  66. prism/cost/pricing.py +420 -0
  67. prism/cost/tracker.py +336 -0
  68. prism/cost/usage_analytics.py +979 -0
  69. prism/db/__init__.py +61 -0
  70. prism/db/database.py +232 -0
  71. prism/db/migrations.py +313 -0
  72. prism/db/models.py +116 -0
  73. prism/db/queries.py +720 -0
  74. prism/eval/__init__.py +21 -0
  75. prism/eval/comparator.py +308 -0
  76. prism/eval/dataset.py +496 -0
  77. prism/eval/metrics.py +329 -0
  78. prism/eval/runner.py +469 -0
  79. prism/exceptions.py +283 -0
  80. prism/export/__init__.py +13 -0
  81. prism/export/exporter.py +563 -0
  82. prism/git/__init__.py +15 -0
  83. prism/git/auto_commit.py +294 -0
  84. prism/git/history.py +403 -0
  85. prism/git/operations.py +395 -0
  86. prism/intelligence/__init__.py +128 -0
  87. prism/intelligence/aei.py +816 -0
  88. prism/intelligence/archaeologist.py +1527 -0
  89. prism/intelligence/architecture.py +437 -0
  90. prism/intelligence/blame.py +516 -0
  91. prism/intelligence/blast_radius.py +691 -0
  92. prism/intelligence/context_budget.py +949 -0
  93. prism/intelligence/debate.py +907 -0
  94. prism/intelligence/debug_memory.py +440 -0
  95. prism/intelligence/deps.py +1299 -0
  96. prism/intelligence/test_gaps.py +967 -0
  97. prism/llm/__init__.py +69 -0
  98. prism/llm/circuit_breaker.py +773 -0
  99. prism/llm/completion.py +939 -0
  100. prism/llm/compressor.py +361 -0
  101. prism/llm/health.py +959 -0
  102. prism/llm/health_prober.py +283 -0
  103. prism/llm/interruption.py +390 -0
  104. prism/llm/mock.py +218 -0
  105. prism/llm/model_profiles.py +552 -0
  106. prism/llm/output_formatter.py +1087 -0
  107. prism/llm/prompt_optimizer.py +575 -0
  108. prism/llm/prompt_template.py +555 -0
  109. prism/llm/provider_config.py +355 -0
  110. prism/llm/quality_evaluator.py +1294 -0
  111. prism/llm/quality_heuristics.py +399 -0
  112. prism/llm/response_validator.py +700 -0
  113. prism/llm/result.py +26 -0
  114. prism/llm/retry.py +126 -0
  115. prism/llm/streaming.py +273 -0
  116. prism/llm/streaming_protocol.py +931 -0
  117. prism/llm/system_prompts.py +325 -0
  118. prism/llm/thinking.py +612 -0
  119. prism/llm/tokenizer.py +302 -0
  120. prism/llm/validation.py +131 -0
  121. prism/logging_config.py +225 -0
  122. prism/mcp/__init__.py +22 -0
  123. prism/mcp/client.py +420 -0
  124. prism/network/__init__.py +26 -0
  125. prism/network/connectivity.py +150 -0
  126. prism/network/offline.py +511 -0
  127. prism/network/privacy.py +388 -0
  128. prism/network/proxy.py +411 -0
  129. prism/orchestrator/__init__.py +97 -0
  130. prism/orchestrator/cascade.py +991 -0
  131. prism/orchestrator/debate.py +698 -0
  132. prism/orchestrator/moa.py +798 -0
  133. prism/orchestrator/pipeline.py +537 -0
  134. prism/orchestrator/quality_orchestrator.py +1202 -0
  135. prism/orchestrator/self_tuner.py +337 -0
  136. prism/orchestrator/swarm.py +2561 -0
  137. prism/plugins/__init__.py +42 -0
  138. prism/plugins/api.py +143 -0
  139. prism/plugins/manager.py +1308 -0
  140. prism/prompts/__init__.py +44 -0
  141. prism/prompts/templates.py +1002 -0
  142. prism/providers/__init__.py +10 -0
  143. prism/providers/anthropic.py +405 -0
  144. prism/providers/base.py +426 -0
  145. prism/providers/google_provider.py +412 -0
  146. prism/providers/openai_provider.py +396 -0
  147. prism/providers/registry.py +351 -0
  148. prism/proxy/__init__.py +1 -0
  149. prism/proxy/server.py +2227 -0
  150. prism/proxy/translator.py +372 -0
  151. prism/router/__init__.py +58 -0
  152. prism/router/ab_testing.py +675 -0
  153. prism/router/classifier.py +426 -0
  154. prism/router/dedup.py +648 -0
  155. prism/router/fallback.py +117 -0
  156. prism/router/fallback_chain.py +942 -0
  157. prism/router/fingerprint.py +898 -0
  158. prism/router/latency_tracker.py +295 -0
  159. prism/router/learning.py +452 -0
  160. prism/router/load_balancer.py +605 -0
  161. prism/router/pareto.py +620 -0
  162. prism/router/rate_limiter.py +141 -0
  163. prism/router/selector.py +411 -0
  164. prism/router/token_optimizer.py +600 -0
  165. prism/security/__init__.py +19 -0
  166. prism/security/audit.py +237 -0
  167. prism/security/input_sanitizer.py +423 -0
  168. prism/security/path_guard.py +169 -0
  169. prism/security/prismignore.py +302 -0
  170. prism/security/rate_limiter.py +424 -0
  171. prism/security/sandbox.py +259 -0
  172. prism/security/secret_filter.py +166 -0
  173. prism/tools/__init__.py +58 -0
  174. prism/tools/auto_test.py +653 -0
  175. prism/tools/base.py +150 -0
  176. prism/tools/browser.py +625 -0
  177. prism/tools/browser_interact.py +951 -0
  178. prism/tools/code_sandbox.py +435 -0
  179. prism/tools/composer.py +601 -0
  180. prism/tools/cost_optimizer.py +536 -0
  181. prism/tools/directory.py +241 -0
  182. prism/tools/fetch_docs.py +411 -0
  183. prism/tools/file_edit.py +244 -0
  184. prism/tools/file_read.py +173 -0
  185. prism/tools/file_write.py +182 -0
  186. prism/tools/git_tool.py +348 -0
  187. prism/tools/quality_gate.py +648 -0
  188. prism/tools/registry.py +172 -0
  189. prism/tools/screenshot.py +328 -0
  190. prism/tools/search.py +267 -0
  191. prism/tools/search_web.py +402 -0
  192. prism/tools/task_queue.py +528 -0
  193. prism/tools/terminal.py +142 -0
  194. prism/tools/vision.py +824 -0
  195. prism/tracing/__init__.py +14 -0
  196. prism/tracing/trace.py +401 -0
  197. prism/tracing/tracer.py +244 -0
  198. prism/workspace/__init__.py +11 -0
  199. prism/workspace/manager.py +427 -0
  200. prism_proxy-0.2.0.dist-info/METADATA +294 -0
  201. prism_proxy-0.2.0.dist-info/RECORD +204 -0
  202. prism_proxy-0.2.0.dist-info/WHEEL +4 -0
  203. prism_proxy-0.2.0.dist-info/entry_points.txt +2 -0
  204. prism_proxy-0.2.0.dist-info/licenses/LICENSE +190 -0
prism/__init__.py ADDED
@@ -0,0 +1,4 @@
1
+ """Prism — Multi-API Intelligent Router CLI."""
2
+
3
+ __version__ = "0.2.0"
4
+ __app_name__ = "prism"
prism/__main__.py ADDED
@@ -0,0 +1,21 @@
1
+ """Allow running Prism as `python -m prism`."""
2
+
3
+ import logging
4
+ import os
5
+ import warnings
6
+
7
+ # Suppress noisy library warnings before anything imports
8
+ os.environ["HF_HUB_DISABLE_TELEMETRY"] = "1"
9
+ os.environ["HF_HUB_DISABLE_IMPLICIT_TOKEN"] = "1"
10
+ os.environ["TOKENIZERS_PARALLELISM"] = "false"
11
+ os.environ["HF_HUB_VERBOSITY"] = "error"
12
+ warnings.filterwarnings("ignore", message=".*unauthenticated.*HF Hub.*")
13
+ warnings.filterwarnings("ignore", message=".*HF_TOKEN.*")
14
+ warnings.filterwarnings("ignore", category=RuntimeWarning)
15
+ warnings.filterwarnings("ignore", category=UserWarning, module="huggingface_hub")
16
+ logging.getLogger("huggingface_hub").setLevel(logging.CRITICAL)
17
+
18
+ from prism.cli.app import main
19
+
20
+ if __name__ == "__main__":
21
+ main()
@@ -0,0 +1,62 @@
1
+ """Architect Mode — plan-then-execute workflow for complex tasks.
2
+
3
+ Uses a premium model to create a step-by-step execution plan, then
4
+ executes each step with a cheaper model. Supports git checkpoints,
5
+ rollback, and resume.
6
+ """
7
+
8
+ from prism.architect.display import (
9
+ display_cost_estimate,
10
+ display_execution_summary,
11
+ display_plan,
12
+ display_plan_list,
13
+ display_plan_review,
14
+ display_rollback_result,
15
+ display_step_progress,
16
+ display_step_validation,
17
+ )
18
+ from prism.architect.executor import (
19
+ ESCALATION_MODELS,
20
+ MAX_STEP_RETRIES,
21
+ RETRY_STRATEGIES,
22
+ ArchitectExecutor,
23
+ ExecutionSummary,
24
+ StepResult,
25
+ )
26
+ from prism.architect.planner import (
27
+ RISK_HIGH,
28
+ RISK_LOW,
29
+ RISK_MEDIUM,
30
+ ArchitectPlanner,
31
+ Plan,
32
+ PlanStatus,
33
+ PlanStep,
34
+ StepStatus,
35
+ )
36
+ from prism.architect.storage import PlanStorage
37
+
38
+ __all__ = [
39
+ "ESCALATION_MODELS",
40
+ "MAX_STEP_RETRIES",
41
+ "RETRY_STRATEGIES",
42
+ "RISK_HIGH",
43
+ "RISK_LOW",
44
+ "RISK_MEDIUM",
45
+ "ArchitectExecutor",
46
+ "ArchitectPlanner",
47
+ "ExecutionSummary",
48
+ "Plan",
49
+ "PlanStatus",
50
+ "PlanStep",
51
+ "PlanStorage",
52
+ "StepResult",
53
+ "StepStatus",
54
+ "display_cost_estimate",
55
+ "display_execution_summary",
56
+ "display_plan",
57
+ "display_plan_list",
58
+ "display_plan_review",
59
+ "display_rollback_result",
60
+ "display_step_progress",
61
+ "display_step_validation",
62
+ ]