locus-sdk 0.2.0__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 (494) hide show
  1. locus_sdk-0.2.0/.gitignore +268 -0
  2. locus_sdk-0.2.0/LICENSE +17 -0
  3. locus_sdk-0.2.0/LICENSE.txt +17 -0
  4. locus_sdk-0.2.0/PKG-INFO +640 -0
  5. locus_sdk-0.2.0/README.md +522 -0
  6. locus_sdk-0.2.0/THIRD_PARTY_LICENSES.txt +313 -0
  7. locus_sdk-0.2.0/pyproject.toml +688 -0
  8. locus_sdk-0.2.0/src/locus/__init__.py +241 -0
  9. locus_sdk-0.2.0/src/locus/_oracle_pool_cache.py +196 -0
  10. locus_sdk-0.2.0/src/locus/_sync.py +76 -0
  11. locus_sdk-0.2.0/src/locus/a2a/__init__.py +143 -0
  12. locus_sdk-0.2.0/src/locus/a2a/protocol.py +1310 -0
  13. locus_sdk-0.2.0/src/locus/a2a/protocol_v1.py +556 -0
  14. locus_sdk-0.2.0/src/locus/a2a/spec.py +420 -0
  15. locus_sdk-0.2.0/src/locus/a2a/spec_v1.py +279 -0
  16. locus_sdk-0.2.0/src/locus/agent/__init__.py +37 -0
  17. locus_sdk-0.2.0/src/locus/agent/agent.py +604 -0
  18. locus_sdk-0.2.0/src/locus/agent/composition.py +352 -0
  19. locus_sdk-0.2.0/src/locus/agent/config.py +607 -0
  20. locus_sdk-0.2.0/src/locus/agent/hook_orchestrator.py +167 -0
  21. locus_sdk-0.2.0/src/locus/agent/initializer.py +250 -0
  22. locus_sdk-0.2.0/src/locus/agent/result.py +339 -0
  23. locus_sdk-0.2.0/src/locus/agent/runtime_loop.py +2037 -0
  24. locus_sdk-0.2.0/src/locus/core/__init__.py +178 -0
  25. locus_sdk-0.2.0/src/locus/core/command.py +260 -0
  26. locus_sdk-0.2.0/src/locus/core/config.py +176 -0
  27. locus_sdk-0.2.0/src/locus/core/errors.py +207 -0
  28. locus_sdk-0.2.0/src/locus/core/events.py +261 -0
  29. locus_sdk-0.2.0/src/locus/core/interrupt.py +404 -0
  30. locus_sdk-0.2.0/src/locus/core/messages.py +151 -0
  31. locus_sdk-0.2.0/src/locus/core/protocols.py +348 -0
  32. locus_sdk-0.2.0/src/locus/core/reducers.py +466 -0
  33. locus_sdk-0.2.0/src/locus/core/send.py +325 -0
  34. locus_sdk-0.2.0/src/locus/core/state.py +403 -0
  35. locus_sdk-0.2.0/src/locus/core/structured.py +536 -0
  36. locus_sdk-0.2.0/src/locus/core/termination.py +237 -0
  37. locus_sdk-0.2.0/src/locus/core/warnings.py +41 -0
  38. locus_sdk-0.2.0/src/locus/deepagent/__init__.py +137 -0
  39. locus_sdk-0.2.0/src/locus/deepagent/backends/__init__.py +37 -0
  40. locus_sdk-0.2.0/src/locus/deepagent/backends/filesystem.py +243 -0
  41. locus_sdk-0.2.0/src/locus/deepagent/backends/protocol.py +123 -0
  42. locus_sdk-0.2.0/src/locus/deepagent/backends/state.py +225 -0
  43. locus_sdk-0.2.0/src/locus/deepagent/factory.py +400 -0
  44. locus_sdk-0.2.0/src/locus/deepagent/memory.py +48 -0
  45. locus_sdk-0.2.0/src/locus/deepagent/protocol.py +127 -0
  46. locus_sdk-0.2.0/src/locus/deepagent/subagent.py +153 -0
  47. locus_sdk-0.2.0/src/locus/deepagent/todos.py +122 -0
  48. locus_sdk-0.2.0/src/locus/deepagent/tools/__init__.py +16 -0
  49. locus_sdk-0.2.0/src/locus/deepagent/tools/filesystem.py +160 -0
  50. locus_sdk-0.2.0/src/locus/deepagent/workflow.py +665 -0
  51. locus_sdk-0.2.0/src/locus/evaluation/__init__.py +26 -0
  52. locus_sdk-0.2.0/src/locus/evaluation/framework.py +226 -0
  53. locus_sdk-0.2.0/src/locus/hooks/__init__.py +65 -0
  54. locus_sdk-0.2.0/src/locus/hooks/builtin/__init__.py +64 -0
  55. locus_sdk-0.2.0/src/locus/hooks/builtin/guardrails.py +765 -0
  56. locus_sdk-0.2.0/src/locus/hooks/builtin/logging.py +279 -0
  57. locus_sdk-0.2.0/src/locus/hooks/builtin/retry.py +130 -0
  58. locus_sdk-0.2.0/src/locus/hooks/builtin/steering.py +248 -0
  59. locus_sdk-0.2.0/src/locus/hooks/builtin/telemetry.py +429 -0
  60. locus_sdk-0.2.0/src/locus/hooks/events.py +86 -0
  61. locus_sdk-0.2.0/src/locus/hooks/plugin.py +137 -0
  62. locus_sdk-0.2.0/src/locus/hooks/provider.py +405 -0
  63. locus_sdk-0.2.0/src/locus/hooks/registry.py +398 -0
  64. locus_sdk-0.2.0/src/locus/integrations/__init__.py +18 -0
  65. locus_sdk-0.2.0/src/locus/integrations/fastmcp.py +723 -0
  66. locus_sdk-0.2.0/src/locus/integrations/osv.py +194 -0
  67. locus_sdk-0.2.0/src/locus/loop/__init__.py +54 -0
  68. locus_sdk-0.2.0/src/locus/loop/nodes.py +363 -0
  69. locus_sdk-0.2.0/src/locus/loop/react.py +279 -0
  70. locus_sdk-0.2.0/src/locus/loop/router.py +241 -0
  71. locus_sdk-0.2.0/src/locus/loop/runner.py +307 -0
  72. locus_sdk-0.2.0/src/locus/memory/__init__.py +115 -0
  73. locus_sdk-0.2.0/src/locus/memory/backends/__init__.py +87 -0
  74. locus_sdk-0.2.0/src/locus/memory/backends/_oracle_config.py +89 -0
  75. locus_sdk-0.2.0/src/locus/memory/backends/adapters.py +704 -0
  76. locus_sdk-0.2.0/src/locus/memory/backends/file.py +288 -0
  77. locus_sdk-0.2.0/src/locus/memory/backends/http.py +301 -0
  78. locus_sdk-0.2.0/src/locus/memory/backends/memory.py +247 -0
  79. locus_sdk-0.2.0/src/locus/memory/backends/mysql.py +646 -0
  80. locus_sdk-0.2.0/src/locus/memory/backends/oci_bucket.py +607 -0
  81. locus_sdk-0.2.0/src/locus/memory/backends/opensearch.py +301 -0
  82. locus_sdk-0.2.0/src/locus/memory/backends/oracle.py +617 -0
  83. locus_sdk-0.2.0/src/locus/memory/backends/oracle_sync.py +271 -0
  84. locus_sdk-0.2.0/src/locus/memory/backends/oracle_versioned.py +792 -0
  85. locus_sdk-0.2.0/src/locus/memory/backends/postgresql.py +454 -0
  86. locus_sdk-0.2.0/src/locus/memory/backends/redis.py +129 -0
  87. locus_sdk-0.2.0/src/locus/memory/checkpointer.py +335 -0
  88. locus_sdk-0.2.0/src/locus/memory/compactor.py +329 -0
  89. locus_sdk-0.2.0/src/locus/memory/conversation.py +325 -0
  90. locus_sdk-0.2.0/src/locus/memory/delta.py +546 -0
  91. locus_sdk-0.2.0/src/locus/memory/manager.py +584 -0
  92. locus_sdk-0.2.0/src/locus/memory/managers/__init__.py +47 -0
  93. locus_sdk-0.2.0/src/locus/memory/managers/oracle_agent_memory.py +468 -0
  94. locus_sdk-0.2.0/src/locus/memory/registry.py +221 -0
  95. locus_sdk-0.2.0/src/locus/memory/store.py +935 -0
  96. locus_sdk-0.2.0/src/locus/memory/store_backends/__init__.py +42 -0
  97. locus_sdk-0.2.0/src/locus/memory/store_backends/oracle.py +817 -0
  98. locus_sdk-0.2.0/src/locus/memory/store_backends/oracle_sync.py +167 -0
  99. locus_sdk-0.2.0/src/locus/models/__init__.py +103 -0
  100. locus_sdk-0.2.0/src/locus/models/auxiliary.py +56 -0
  101. locus_sdk-0.2.0/src/locus/models/base.py +121 -0
  102. locus_sdk-0.2.0/src/locus/models/caching.py +85 -0
  103. locus_sdk-0.2.0/src/locus/models/credentials.py +212 -0
  104. locus_sdk-0.2.0/src/locus/models/failover.py +787 -0
  105. locus_sdk-0.2.0/src/locus/models/metadata.py +357 -0
  106. locus_sdk-0.2.0/src/locus/models/native/__init__.py +22 -0
  107. locus_sdk-0.2.0/src/locus/models/native/anthropic.py +418 -0
  108. locus_sdk-0.2.0/src/locus/models/native/ollama.py +222 -0
  109. locus_sdk-0.2.0/src/locus/models/native/openai.py +487 -0
  110. locus_sdk-0.2.0/src/locus/models/pooled.py +212 -0
  111. locus_sdk-0.2.0/src/locus/models/providers/__init__.py +18 -0
  112. locus_sdk-0.2.0/src/locus/models/providers/oci/__init__.py +437 -0
  113. locus_sdk-0.2.0/src/locus/models/providers/oci/_responses_parse.py +295 -0
  114. locus_sdk-0.2.0/src/locus/models/providers/oci/_signing.py +172 -0
  115. locus_sdk-0.2.0/src/locus/models/providers/oci/base.py +130 -0
  116. locus_sdk-0.2.0/src/locus/models/providers/oci/client.py +294 -0
  117. locus_sdk-0.2.0/src/locus/models/providers/oci/models/__init__.py +14 -0
  118. locus_sdk-0.2.0/src/locus/models/providers/oci/models/cohere.py +263 -0
  119. locus_sdk-0.2.0/src/locus/models/providers/oci/models/generic.py +315 -0
  120. locus_sdk-0.2.0/src/locus/models/providers/oci/openai_compat.py +539 -0
  121. locus_sdk-0.2.0/src/locus/models/providers/oci/responses.py +522 -0
  122. locus_sdk-0.2.0/src/locus/models/rate_limits.py +237 -0
  123. locus_sdk-0.2.0/src/locus/models/registry.py +154 -0
  124. locus_sdk-0.2.0/src/locus/multiagent/__init__.py +134 -0
  125. locus_sdk-0.2.0/src/locus/multiagent/functional.py +234 -0
  126. locus_sdk-0.2.0/src/locus/multiagent/graph.py +1671 -0
  127. locus_sdk-0.2.0/src/locus/multiagent/handoff.py +637 -0
  128. locus_sdk-0.2.0/src/locus/multiagent/orchestrator.py +467 -0
  129. locus_sdk-0.2.0/src/locus/multiagent/specialist.py +495 -0
  130. locus_sdk-0.2.0/src/locus/multiagent/swarm.py +701 -0
  131. locus_sdk-0.2.0/src/locus/multiagent/visualize.py +139 -0
  132. locus_sdk-0.2.0/src/locus/observability/__init__.py +67 -0
  133. locus_sdk-0.2.0/src/locus/observability/agent_bridge.py +171 -0
  134. locus_sdk-0.2.0/src/locus/observability/bus_hook.py +175 -0
  135. locus_sdk-0.2.0/src/locus/observability/context.py +137 -0
  136. locus_sdk-0.2.0/src/locus/observability/emit.py +216 -0
  137. locus_sdk-0.2.0/src/locus/observability/event_bus.py +369 -0
  138. locus_sdk-0.2.0/src/locus/observability/router_events.py +231 -0
  139. locus_sdk-0.2.0/src/locus/playbooks/__init__.py +45 -0
  140. locus_sdk-0.2.0/src/locus/playbooks/enforcer.py +403 -0
  141. locus_sdk-0.2.0/src/locus/playbooks/hook.py +161 -0
  142. locus_sdk-0.2.0/src/locus/playbooks/loader.py +271 -0
  143. locus_sdk-0.2.0/src/locus/playbooks/models.py +202 -0
  144. locus_sdk-0.2.0/src/locus/providers/__init__.py +63 -0
  145. locus_sdk-0.2.0/src/locus/providers/image.py +115 -0
  146. locus_sdk-0.2.0/src/locus/providers/speech.py +171 -0
  147. locus_sdk-0.2.0/src/locus/providers/tools.py +217 -0
  148. locus_sdk-0.2.0/src/locus/providers/types.py +42 -0
  149. locus_sdk-0.2.0/src/locus/providers/web_fetch.py +194 -0
  150. locus_sdk-0.2.0/src/locus/providers/web_search.py +129 -0
  151. locus_sdk-0.2.0/src/locus/py.typed +0 -0
  152. locus_sdk-0.2.0/src/locus/rag/__init__.py +180 -0
  153. locus_sdk-0.2.0/src/locus/rag/chunkers/__init__.py +23 -0
  154. locus_sdk-0.2.0/src/locus/rag/chunkers/oracle_indb.py +277 -0
  155. locus_sdk-0.2.0/src/locus/rag/chunkers/oracle_sync.py +97 -0
  156. locus_sdk-0.2.0/src/locus/rag/embeddings/__init__.py +60 -0
  157. locus_sdk-0.2.0/src/locus/rag/embeddings/base.py +219 -0
  158. locus_sdk-0.2.0/src/locus/rag/embeddings/oci.py +441 -0
  159. locus_sdk-0.2.0/src/locus/rag/embeddings/openai.py +207 -0
  160. locus_sdk-0.2.0/src/locus/rag/embeddings/oracle_indb.py +511 -0
  161. locus_sdk-0.2.0/src/locus/rag/embeddings/oracle_sync.py +97 -0
  162. locus_sdk-0.2.0/src/locus/rag/loaders/__init__.py +17 -0
  163. locus_sdk-0.2.0/src/locus/rag/loaders/oracle.py +358 -0
  164. locus_sdk-0.2.0/src/locus/rag/loaders/oracle_sync.py +96 -0
  165. locus_sdk-0.2.0/src/locus/rag/multimodal.py +586 -0
  166. locus_sdk-0.2.0/src/locus/rag/reranker/__init__.py +28 -0
  167. locus_sdk-0.2.0/src/locus/rag/reranker/base.py +57 -0
  168. locus_sdk-0.2.0/src/locus/rag/reranker/cohere_oci.py +225 -0
  169. locus_sdk-0.2.0/src/locus/rag/retriever.py +603 -0
  170. locus_sdk-0.2.0/src/locus/rag/stores/__init__.py +69 -0
  171. locus_sdk-0.2.0/src/locus/rag/stores/_mmr.py +122 -0
  172. locus_sdk-0.2.0/src/locus/rag/stores/_oracle_filter.py +178 -0
  173. locus_sdk-0.2.0/src/locus/rag/stores/base.py +266 -0
  174. locus_sdk-0.2.0/src/locus/rag/stores/memory.py +155 -0
  175. locus_sdk-0.2.0/src/locus/rag/stores/opensearch.py +396 -0
  176. locus_sdk-0.2.0/src/locus/rag/stores/oracle.py +1088 -0
  177. locus_sdk-0.2.0/src/locus/rag/stores/oracle_sync.py +154 -0
  178. locus_sdk-0.2.0/src/locus/rag/stores/pgvector.py +608 -0
  179. locus_sdk-0.2.0/src/locus/rag/tools.py +265 -0
  180. locus_sdk-0.2.0/src/locus/reasoning/__init__.py +79 -0
  181. locus_sdk-0.2.0/src/locus/reasoning/causal.py +727 -0
  182. locus_sdk-0.2.0/src/locus/reasoning/grounding.py +677 -0
  183. locus_sdk-0.2.0/src/locus/reasoning/gsar.py +392 -0
  184. locus_sdk-0.2.0/src/locus/reasoning/gsar_evaluator.py +262 -0
  185. locus_sdk-0.2.0/src/locus/reasoning/gsar_judge.py +336 -0
  186. locus_sdk-0.2.0/src/locus/reasoning/reflexion.py +515 -0
  187. locus_sdk-0.2.0/src/locus/router/__init__.py +115 -0
  188. locus_sdk-0.2.0/src/locus/router/capability.py +133 -0
  189. locus_sdk-0.2.0/src/locus/router/compiler.py +246 -0
  190. locus_sdk-0.2.0/src/locus/router/goal_frame.py +145 -0
  191. locus_sdk-0.2.0/src/locus/router/picker.py +201 -0
  192. locus_sdk-0.2.0/src/locus/router/policy.py +103 -0
  193. locus_sdk-0.2.0/src/locus/router/protocol.py +669 -0
  194. locus_sdk-0.2.0/src/locus/router/runnable.py +267 -0
  195. locus_sdk-0.2.0/src/locus/router/runtime.py +129 -0
  196. locus_sdk-0.2.0/src/locus/router/skill_index.py +80 -0
  197. locus_sdk-0.2.0/src/locus/server/__init__.py +44 -0
  198. locus_sdk-0.2.0/src/locus/server/adapters.py +178 -0
  199. locus_sdk-0.2.0/src/locus/server/app.py +456 -0
  200. locus_sdk-0.2.0/src/locus/skills/__init__.py +37 -0
  201. locus_sdk-0.2.0/src/locus/skills/models.py +255 -0
  202. locus_sdk-0.2.0/src/locus/skills/plugin.py +207 -0
  203. locus_sdk-0.2.0/src/locus/streaming/__init__.py +49 -0
  204. locus_sdk-0.2.0/src/locus/streaming/console.py +373 -0
  205. locus_sdk-0.2.0/src/locus/streaming/handler.py +284 -0
  206. locus_sdk-0.2.0/src/locus/streaming/sse.py +443 -0
  207. locus_sdk-0.2.0/src/locus/streaming/structured.py +144 -0
  208. locus_sdk-0.2.0/src/locus/tools/__init__.py +27 -0
  209. locus_sdk-0.2.0/src/locus/tools/builtins.py +58 -0
  210. locus_sdk-0.2.0/src/locus/tools/context.py +69 -0
  211. locus_sdk-0.2.0/src/locus/tools/decorator.py +197 -0
  212. locus_sdk-0.2.0/src/locus/tools/executor.py +543 -0
  213. locus_sdk-0.2.0/src/locus/tools/oci.py +642 -0
  214. locus_sdk-0.2.0/src/locus/tools/path_safety.py +99 -0
  215. locus_sdk-0.2.0/src/locus/tools/registry.py +87 -0
  216. locus_sdk-0.2.0/src/locus/tools/result_storage.py +183 -0
  217. locus_sdk-0.2.0/src/locus/tools/schema.py +206 -0
  218. locus_sdk-0.2.0/src/locus/tools/url_safety.py +193 -0
  219. locus_sdk-0.2.0/src/locus/tools/watcher.py +304 -0
  220. locus_sdk-0.2.0/tests/__init__.py +5 -0
  221. locus_sdk-0.2.0/tests/_safe_math.py +56 -0
  222. locus_sdk-0.2.0/tests/integration/README.md +64 -0
  223. locus_sdk-0.2.0/tests/integration/__init__.py +5 -0
  224. locus_sdk-0.2.0/tests/integration/conftest.py +392 -0
  225. locus_sdk-0.2.0/tests/integration/docker-compose.mysql.yml +18 -0
  226. locus_sdk-0.2.0/tests/integration/rag/__init__.py +5 -0
  227. locus_sdk-0.2.0/tests/integration/rag/conftest.py +141 -0
  228. locus_sdk-0.2.0/tests/integration/rag/test_deepagent_datastores_e2e.py +243 -0
  229. locus_sdk-0.2.0/tests/integration/rag/test_oci_embeddings.py +185 -0
  230. locus_sdk-0.2.0/tests/integration/rag/test_opensearch_store.py +227 -0
  231. locus_sdk-0.2.0/tests/integration/rag/test_oracle_adb_store.py +285 -0
  232. locus_sdk-0.2.0/tests/integration/rag/test_rag_e2e.py +250 -0
  233. locus_sdk-0.2.0/tests/integration/test_a2a_live.py +260 -0
  234. locus_sdk-0.2.0/tests/integration/test_a2a_v1_live.py +692 -0
  235. locus_sdk-0.2.0/tests/integration/test_agent_gsar_live.py +117 -0
  236. locus_sdk-0.2.0/tests/integration/test_agent_integration.py +2135 -0
  237. locus_sdk-0.2.0/tests/integration/test_auxiliary_model_live.py +96 -0
  238. locus_sdk-0.2.0/tests/integration/test_checkpoint_backends.py +650 -0
  239. locus_sdk-0.2.0/tests/integration/test_checkpointer_adapters.py +655 -0
  240. locus_sdk-0.2.0/tests/integration/test_complex_agent.py +306 -0
  241. locus_sdk-0.2.0/tests/integration/test_comprehensive_agent.py +624 -0
  242. locus_sdk-0.2.0/tests/integration/test_concurrent_tools_models.py +261 -0
  243. locus_sdk-0.2.0/tests/integration/test_deepagent_empty_content_live.py +180 -0
  244. locus_sdk-0.2.0/tests/integration/test_deepagent_token_budget.py +221 -0
  245. locus_sdk-0.2.0/tests/integration/test_deepagent_token_budget_live.py +202 -0
  246. locus_sdk-0.2.0/tests/integration/test_fastmcp_integration.py +231 -0
  247. locus_sdk-0.2.0/tests/integration/test_gsar_live.py +570 -0
  248. locus_sdk-0.2.0/tests/integration/test_hermes_compactor_e2e.py +176 -0
  249. locus_sdk-0.2.0/tests/integration/test_hook_exports_live.py +99 -0
  250. locus_sdk-0.2.0/tests/integration/test_idempotent_models.py +201 -0
  251. locus_sdk-0.2.0/tests/integration/test_litellm_gateway_cost.py +349 -0
  252. locus_sdk-0.2.0/tests/integration/test_litellm_gateway_live.py +236 -0
  253. locus_sdk-0.2.0/tests/integration/test_memory_manager_live.py +264 -0
  254. locus_sdk-0.2.0/tests/integration/test_models_integration.py +242 -0
  255. locus_sdk-0.2.0/tests/integration/test_new_vector_stores.py +75 -0
  256. locus_sdk-0.2.0/tests/integration/test_notebooks_22_24.py +523 -0
  257. locus_sdk-0.2.0/tests/integration/test_notebooks_all_live.py +118 -0
  258. locus_sdk-0.2.0/tests/integration/test_notebooks_subset.py +868 -0
  259. locus_sdk-0.2.0/tests/integration/test_observability_emission_points.py +279 -0
  260. locus_sdk-0.2.0/tests/integration/test_observability_full_coverage.py +382 -0
  261. locus_sdk-0.2.0/tests/integration/test_observability_router_events.py +234 -0
  262. locus_sdk-0.2.0/tests/integration/test_oci_autodetect_e2e.py +241 -0
  263. locus_sdk-0.2.0/tests/integration/test_oci_dac_live.py +146 -0
  264. locus_sdk-0.2.0/tests/integration/test_oci_gemini_tool_schema_live.py +182 -0
  265. locus_sdk-0.2.0/tests/integration/test_oci_graph_integration.py +524 -0
  266. locus_sdk-0.2.0/tests/integration/test_oci_integration.py +333 -0
  267. locus_sdk-0.2.0/tests/integration/test_oci_openai_compat_integration.py +144 -0
  268. locus_sdk-0.2.0/tests/integration/test_openai_anthropic_native.py +312 -0
  269. locus_sdk-0.2.0/tests/integration/test_oracle_rag.py +428 -0
  270. locus_sdk-0.2.0/tests/integration/test_papercut_fixes_live.py +472 -0
  271. locus_sdk-0.2.0/tests/integration/test_playbook_enforcer_live.py +169 -0
  272. locus_sdk-0.2.0/tests/integration/test_providers_live.py +189 -0
  273. locus_sdk-0.2.0/tests/integration/test_rag_agent_e2e.py +284 -0
  274. locus_sdk-0.2.0/tests/integration/test_router_benchmark.py +944 -0
  275. locus_sdk-0.2.0/tests/integration/test_router_e2e.py +593 -0
  276. locus_sdk-0.2.0/tests/integration/test_security_hardening_integration.py +164 -0
  277. locus_sdk-0.2.0/tests/integration/test_server_threads_live.py +136 -0
  278. locus_sdk-0.2.0/tests/integration/test_structured_output_models.py +220 -0
  279. locus_sdk-0.2.0/tests/integration/test_structured_stream_live.py +137 -0
  280. locus_sdk-0.2.0/tests/integration/test_termination_models.py +281 -0
  281. locus_sdk-0.2.0/tests/integration/test_workbench_categories.py +170 -0
  282. locus_sdk-0.2.0/tests/integration/test_workbench_database.py +172 -0
  283. locus_sdk-0.2.0/tests/integration/test_workbench_router_endpoints.py +233 -0
  284. locus_sdk-0.2.0/tests/integration/test_workbench_sse_stream.py +338 -0
  285. locus_sdk-0.2.0/tests/unit/__init__.py +5 -0
  286. locus_sdk-0.2.0/tests/unit/memory/__init__.py +0 -0
  287. locus_sdk-0.2.0/tests/unit/memory/test_memory_manager.py +468 -0
  288. locus_sdk-0.2.0/tests/unit/memory/test_oracle_agent_memory_manager.py +312 -0
  289. locus_sdk-0.2.0/tests/unit/rag/__init__.py +5 -0
  290. locus_sdk-0.2.0/tests/unit/rag/test_embeddings.py +168 -0
  291. locus_sdk-0.2.0/tests/unit/rag/test_multimodal.py +254 -0
  292. locus_sdk-0.2.0/tests/unit/rag/test_retriever.py +254 -0
  293. locus_sdk-0.2.0/tests/unit/rag/test_stores.py +321 -0
  294. locus_sdk-0.2.0/tests/unit/test_a2a_protocol.py +1438 -0
  295. locus_sdk-0.2.0/tests/unit/test_agent.py +4909 -0
  296. locus_sdk-0.2.0/tests/unit/test_agent_auxiliary_model.py +181 -0
  297. locus_sdk-0.2.0/tests/unit/test_agent_concurrent_tools.py +532 -0
  298. locus_sdk-0.2.0/tests/unit/test_agent_config.py +308 -0
  299. locus_sdk-0.2.0/tests/unit/test_agent_empty_content_safety_net.py +360 -0
  300. locus_sdk-0.2.0/tests/unit/test_agent_facade_extended.py +115 -0
  301. locus_sdk-0.2.0/tests/unit/test_agent_gsar.py +380 -0
  302. locus_sdk-0.2.0/tests/unit/test_agent_idempotent.py +160 -0
  303. locus_sdk-0.2.0/tests/unit/test_agent_result.py +276 -0
  304. locus_sdk-0.2.0/tests/unit/test_agent_structured_output.py +241 -0
  305. locus_sdk-0.2.0/tests/unit/test_agent_termination.py +268 -0
  306. locus_sdk-0.2.0/tests/unit/test_agent_tool_result_store.py +176 -0
  307. locus_sdk-0.2.0/tests/unit/test_anthropic_full.py +439 -0
  308. locus_sdk-0.2.0/tests/unit/test_anthropic_prompt_caching.py +200 -0
  309. locus_sdk-0.2.0/tests/unit/test_auxiliary_model.py +66 -0
  310. locus_sdk-0.2.0/tests/unit/test_base_checkpointer.py +224 -0
  311. locus_sdk-0.2.0/tests/unit/test_checkpointer_registry.py +332 -0
  312. locus_sdk-0.2.0/tests/unit/test_command.py +218 -0
  313. locus_sdk-0.2.0/tests/unit/test_compactor.py +207 -0
  314. locus_sdk-0.2.0/tests/unit/test_console_handler.py +340 -0
  315. locus_sdk-0.2.0/tests/unit/test_conversation.py +128 -0
  316. locus_sdk-0.2.0/tests/unit/test_core_config.py +234 -0
  317. locus_sdk-0.2.0/tests/unit/test_core_warnings.py +60 -0
  318. locus_sdk-0.2.0/tests/unit/test_credential_pool.py +226 -0
  319. locus_sdk-0.2.0/tests/unit/test_deepagent.py +271 -0
  320. locus_sdk-0.2.0/tests/unit/test_deepagent_datastores.py +161 -0
  321. locus_sdk-0.2.0/tests/unit/test_deepagent_filesystem.py +388 -0
  322. locus_sdk-0.2.0/tests/unit/test_deepagent_filesystem_backend.py +234 -0
  323. locus_sdk-0.2.0/tests/unit/test_deepagent_slice2.py +219 -0
  324. locus_sdk-0.2.0/tests/unit/test_deepagent_slice3.py +198 -0
  325. locus_sdk-0.2.0/tests/unit/test_delta_checkpointer.py +394 -0
  326. locus_sdk-0.2.0/tests/unit/test_embedding_capabilities.py +91 -0
  327. locus_sdk-0.2.0/tests/unit/test_enforcer.py +370 -0
  328. locus_sdk-0.2.0/tests/unit/test_errors.py +91 -0
  329. locus_sdk-0.2.0/tests/unit/test_examples_config_oci_autodetect.py +396 -0
  330. locus_sdk-0.2.0/tests/unit/test_failover.py +360 -0
  331. locus_sdk-0.2.0/tests/unit/test_failover_extended.py +411 -0
  332. locus_sdk-0.2.0/tests/unit/test_fastmcp.py +936 -0
  333. locus_sdk-0.2.0/tests/unit/test_fastmcp_extended.py +302 -0
  334. locus_sdk-0.2.0/tests/unit/test_file_checkpointer.py +380 -0
  335. locus_sdk-0.2.0/tests/unit/test_graph.py +1609 -0
  336. locus_sdk-0.2.0/tests/unit/test_graph_extended.py +450 -0
  337. locus_sdk-0.2.0/tests/unit/test_grounding.py +501 -0
  338. locus_sdk-0.2.0/tests/unit/test_gsar.py +498 -0
  339. locus_sdk-0.2.0/tests/unit/test_gsar_evaluator.py +330 -0
  340. locus_sdk-0.2.0/tests/unit/test_gsar_judge.py +235 -0
  341. locus_sdk-0.2.0/tests/unit/test_guardrails.py +646 -0
  342. locus_sdk-0.2.0/tests/unit/test_guardrails_output_filter.py +103 -0
  343. locus_sdk-0.2.0/tests/unit/test_handoff.py +504 -0
  344. locus_sdk-0.2.0/tests/unit/test_hermes_caching_e2e.py +74 -0
  345. locus_sdk-0.2.0/tests/unit/test_hermes_failover_pool.py +216 -0
  346. locus_sdk-0.2.0/tests/unit/test_hermes_full_e2e.py +576 -0
  347. locus_sdk-0.2.0/tests/unit/test_hermes_osv_e2e.py +70 -0
  348. locus_sdk-0.2.0/tests/unit/test_hermes_path_safety_e2e.py +114 -0
  349. locus_sdk-0.2.0/tests/unit/test_hermes_redaction_e2e.py +143 -0
  350. locus_sdk-0.2.0/tests/unit/test_hermes_result_storage.py +118 -0
  351. locus_sdk-0.2.0/tests/unit/test_hermes_url_safety_e2e.py +133 -0
  352. locus_sdk-0.2.0/tests/unit/test_hook_after_tool_args.py +175 -0
  353. locus_sdk-0.2.0/tests/unit/test_hook_orchestrator.py +216 -0
  354. locus_sdk-0.2.0/tests/unit/test_hooks.py +522 -0
  355. locus_sdk-0.2.0/tests/unit/test_hooks_builtin.py +194 -0
  356. locus_sdk-0.2.0/tests/unit/test_hooks_builtin_retry.py +152 -0
  357. locus_sdk-0.2.0/tests/unit/test_hooks_builtin_steering.py +285 -0
  358. locus_sdk-0.2.0/tests/unit/test_hooks_logging.py +204 -0
  359. locus_sdk-0.2.0/tests/unit/test_hooks_plugin.py +145 -0
  360. locus_sdk-0.2.0/tests/unit/test_hooks_registry.py +261 -0
  361. locus_sdk-0.2.0/tests/unit/test_http_checkpointer.py +729 -0
  362. locus_sdk-0.2.0/tests/unit/test_httpx_compat_252.py +229 -0
  363. locus_sdk-0.2.0/tests/unit/test_idempotent_tools.py +210 -0
  364. locus_sdk-0.2.0/tests/unit/test_integrations_fastmcp.py +317 -0
  365. locus_sdk-0.2.0/tests/unit/test_integrations_fastmcp_full.py +379 -0
  366. locus_sdk-0.2.0/tests/unit/test_interrupt.py +216 -0
  367. locus_sdk-0.2.0/tests/unit/test_litellm_gateway_example.py +447 -0
  368. locus_sdk-0.2.0/tests/unit/test_locus_init.py +174 -0
  369. locus_sdk-0.2.0/tests/unit/test_loop.py +1118 -0
  370. locus_sdk-0.2.0/tests/unit/test_loop_runner.py +255 -0
  371. locus_sdk-0.2.0/tests/unit/test_loop_runner_extended.py +294 -0
  372. locus_sdk-0.2.0/tests/unit/test_memory.py +893 -0
  373. locus_sdk-0.2.0/tests/unit/test_memory_backends.py +207 -0
  374. locus_sdk-0.2.0/tests/unit/test_memory_backends_adapters.py +618 -0
  375. locus_sdk-0.2.0/tests/unit/test_memory_backends_mysql.py +597 -0
  376. locus_sdk-0.2.0/tests/unit/test_memory_backends_postgresql.py +463 -0
  377. locus_sdk-0.2.0/tests/unit/test_memory_checkpointer.py +358 -0
  378. locus_sdk-0.2.0/tests/unit/test_memory_registry.py +618 -0
  379. locus_sdk-0.2.0/tests/unit/test_memory_registry_factories.py +138 -0
  380. locus_sdk-0.2.0/tests/unit/test_memory_store.py +780 -0
  381. locus_sdk-0.2.0/tests/unit/test_memory_store_namespaced_and_context.py +234 -0
  382. locus_sdk-0.2.0/tests/unit/test_memory_vector_store.py +363 -0
  383. locus_sdk-0.2.0/tests/unit/test_messages.py +162 -0
  384. locus_sdk-0.2.0/tests/unit/test_mmr.py +145 -0
  385. locus_sdk-0.2.0/tests/unit/test_model_metadata.py +177 -0
  386. locus_sdk-0.2.0/tests/unit/test_model_registry.py +96 -0
  387. locus_sdk-0.2.0/tests/unit/test_models.py +490 -0
  388. locus_sdk-0.2.0/tests/unit/test_models_init.py +199 -0
  389. locus_sdk-0.2.0/tests/unit/test_models_native_ollama.py +322 -0
  390. locus_sdk-0.2.0/tests/unit/test_models_native_openai.py +638 -0
  391. locus_sdk-0.2.0/tests/unit/test_multiagent.py +1220 -0
  392. locus_sdk-0.2.0/tests/unit/test_multiagent_functional.py +265 -0
  393. locus_sdk-0.2.0/tests/unit/test_multiagent_visualize.py +259 -0
  394. locus_sdk-0.2.0/tests/unit/test_multimodal.py +571 -0
  395. locus_sdk-0.2.0/tests/unit/test_multiturn_checkpointer.py +137 -0
  396. locus_sdk-0.2.0/tests/unit/test_native_structured_output.py +233 -0
  397. locus_sdk-0.2.0/tests/unit/test_observability_bus_hook.py +290 -0
  398. locus_sdk-0.2.0/tests/unit/test_observability_context_and_emit.py +307 -0
  399. locus_sdk-0.2.0/tests/unit/test_observability_event_bus.py +281 -0
  400. locus_sdk-0.2.0/tests/unit/test_oci_base_provider.py +129 -0
  401. locus_sdk-0.2.0/tests/unit/test_oci_bucket_retry.py +102 -0
  402. locus_sdk-0.2.0/tests/unit/test_oci_client.py +308 -0
  403. locus_sdk-0.2.0/tests/unit/test_oci_cohere.py +364 -0
  404. locus_sdk-0.2.0/tests/unit/test_oci_dac.py +248 -0
  405. locus_sdk-0.2.0/tests/unit/test_oci_generic.py +509 -0
  406. locus_sdk-0.2.0/tests/unit/test_oci_model.py +371 -0
  407. locus_sdk-0.2.0/tests/unit/test_oci_openai_compat.py +455 -0
  408. locus_sdk-0.2.0/tests/unit/test_oci_openai_compat_helpers.py +160 -0
  409. locus_sdk-0.2.0/tests/unit/test_oci_responses_model.py +418 -0
  410. locus_sdk-0.2.0/tests/unit/test_oci_responses_parse.py +246 -0
  411. locus_sdk-0.2.0/tests/unit/test_oci_responses_streaming.py +494 -0
  412. locus_sdk-0.2.0/tests/unit/test_oci_signer_refresh_observability.py +206 -0
  413. locus_sdk-0.2.0/tests/unit/test_oci_signing.py +239 -0
  414. locus_sdk-0.2.0/tests/unit/test_oci_tool_schema_sanitize.py +307 -0
  415. locus_sdk-0.2.0/tests/unit/test_openai_model.py +475 -0
  416. locus_sdk-0.2.0/tests/unit/test_oracle_adb_loader.py +360 -0
  417. locus_sdk-0.2.0/tests/unit/test_oracle_indb_chunker.py +199 -0
  418. locus_sdk-0.2.0/tests/unit/test_oracle_indb_embeddings.py +497 -0
  419. locus_sdk-0.2.0/tests/unit/test_oracle_metadata_filter.py +166 -0
  420. locus_sdk-0.2.0/tests/unit/test_oracle_store.py +537 -0
  421. locus_sdk-0.2.0/tests/unit/test_oracle_sync_wrappers.py +683 -0
  422. locus_sdk-0.2.0/tests/unit/test_oracle_vector_index.py +134 -0
  423. locus_sdk-0.2.0/tests/unit/test_oracle_versioned_checkpointer.py +773 -0
  424. locus_sdk-0.2.0/tests/unit/test_oracle_wallet_password_empty.py +152 -0
  425. locus_sdk-0.2.0/tests/unit/test_orchestrator_parallel.py +177 -0
  426. locus_sdk-0.2.0/tests/unit/test_osv_check.py +226 -0
  427. locus_sdk-0.2.0/tests/unit/test_path_safety.py +123 -0
  428. locus_sdk-0.2.0/tests/unit/test_playbook_enforcer_hook.py +229 -0
  429. locus_sdk-0.2.0/tests/unit/test_playbook_loader.py +358 -0
  430. locus_sdk-0.2.0/tests/unit/test_playbook_models.py +315 -0
  431. locus_sdk-0.2.0/tests/unit/test_playbooks.py +206 -0
  432. locus_sdk-0.2.0/tests/unit/test_pooled_model.py +281 -0
  433. locus_sdk-0.2.0/tests/unit/test_prompt_caching.py +59 -0
  434. locus_sdk-0.2.0/tests/unit/test_providers.py +459 -0
  435. locus_sdk-0.2.0/tests/unit/test_providers_image_and_speech.py +178 -0
  436. locus_sdk-0.2.0/tests/unit/test_providers_tools.py +289 -0
  437. locus_sdk-0.2.0/tests/unit/test_providers_web.py +285 -0
  438. locus_sdk-0.2.0/tests/unit/test_public_imports.py +110 -0
  439. locus_sdk-0.2.0/tests/unit/test_rag_embeddings_init.py +54 -0
  440. locus_sdk-0.2.0/tests/unit/test_rag_embeddings_oci.py +398 -0
  441. locus_sdk-0.2.0/tests/unit/test_rag_embeddings_oci_autodetect.py +132 -0
  442. locus_sdk-0.2.0/tests/unit/test_rag_init.py +131 -0
  443. locus_sdk-0.2.0/tests/unit/test_rag_multimodal.py +833 -0
  444. locus_sdk-0.2.0/tests/unit/test_rag_multimodal_full.py +526 -0
  445. locus_sdk-0.2.0/tests/unit/test_rag_reranker.py +315 -0
  446. locus_sdk-0.2.0/tests/unit/test_rag_retriever.py +905 -0
  447. locus_sdk-0.2.0/tests/unit/test_rag_retriever_coercion.py +144 -0
  448. locus_sdk-0.2.0/tests/unit/test_rag_stores_base.py +333 -0
  449. locus_sdk-0.2.0/tests/unit/test_rag_stores_init.py +110 -0
  450. locus_sdk-0.2.0/tests/unit/test_rag_stores_oracle_columns.py +155 -0
  451. locus_sdk-0.2.0/tests/unit/test_rag_tools.py +254 -0
  452. locus_sdk-0.2.0/tests/unit/test_rate_limits.py +275 -0
  453. locus_sdk-0.2.0/tests/unit/test_reasoning.py +1147 -0
  454. locus_sdk-0.2.0/tests/unit/test_reasoning_extended.py +416 -0
  455. locus_sdk-0.2.0/tests/unit/test_redaction.py +208 -0
  456. locus_sdk-0.2.0/tests/unit/test_reducers.py +566 -0
  457. locus_sdk-0.2.0/tests/unit/test_research_workflow.py +652 -0
  458. locus_sdk-0.2.0/tests/unit/test_research_workflow_datastores.py +154 -0
  459. locus_sdk-0.2.0/tests/unit/test_result_storage.py +172 -0
  460. locus_sdk-0.2.0/tests/unit/test_router.py +1034 -0
  461. locus_sdk-0.2.0/tests/unit/test_router_compiled_shape.py +679 -0
  462. locus_sdk-0.2.0/tests/unit/test_runtime_loop_helpers.py +62 -0
  463. locus_sdk-0.2.0/tests/unit/test_security_hardening.py +414 -0
  464. locus_sdk-0.2.0/tests/unit/test_send.py +259 -0
  465. locus_sdk-0.2.0/tests/unit/test_server_adapters.py +175 -0
  466. locus_sdk-0.2.0/tests/unit/test_server_app_full.py +444 -0
  467. locus_sdk-0.2.0/tests/unit/test_server_stateful_plumbing.py +152 -0
  468. locus_sdk-0.2.0/tests/unit/test_server_threads.py +247 -0
  469. locus_sdk-0.2.0/tests/unit/test_skills_models.py +267 -0
  470. locus_sdk-0.2.0/tests/unit/test_skills_plugin.py +273 -0
  471. locus_sdk-0.2.0/tests/unit/test_specialist.py +702 -0
  472. locus_sdk-0.2.0/tests/unit/test_state.py +481 -0
  473. locus_sdk-0.2.0/tests/unit/test_stategraph_streaming.py +222 -0
  474. locus_sdk-0.2.0/tests/unit/test_storage_adapters.py +424 -0
  475. locus_sdk-0.2.0/tests/unit/test_storage_backend_adapter.py +627 -0
  476. locus_sdk-0.2.0/tests/unit/test_store.py +323 -0
  477. locus_sdk-0.2.0/tests/unit/test_streaming.py +912 -0
  478. locus_sdk-0.2.0/tests/unit/test_streaming_console.py +525 -0
  479. locus_sdk-0.2.0/tests/unit/test_streaming_extended.py +180 -0
  480. locus_sdk-0.2.0/tests/unit/test_structured.py +280 -0
  481. locus_sdk-0.2.0/tests/unit/test_structured_partial.py +230 -0
  482. locus_sdk-0.2.0/tests/unit/test_swarm.py +676 -0
  483. locus_sdk-0.2.0/tests/unit/test_swarm_capabilities.py +111 -0
  484. locus_sdk-0.2.0/tests/unit/test_telemetry_hook.py +475 -0
  485. locus_sdk-0.2.0/tests/unit/test_termination_extended.py +162 -0
  486. locus_sdk-0.2.0/tests/unit/test_tools.py +373 -0
  487. locus_sdk-0.2.0/tests/unit/test_tools_context.py +135 -0
  488. locus_sdk-0.2.0/tests/unit/test_tools_executor.py +593 -0
  489. locus_sdk-0.2.0/tests/unit/test_tools_oci.py +683 -0
  490. locus_sdk-0.2.0/tests/unit/test_tools_schema.py +304 -0
  491. locus_sdk-0.2.0/tests/unit/test_tools_watcher.py +295 -0
  492. locus_sdk-0.2.0/tests/unit/test_transports_parallel_tool_calls.py +265 -0
  493. locus_sdk-0.2.0/tests/unit/test_url_safety.py +229 -0
  494. locus_sdk-0.2.0/tests/unit/test_vector_stores.py +66 -0
@@ -0,0 +1,268 @@
1
+ # =============================================================================
2
+ # Local Testing (contains credentials - never commit)
3
+ # =============================================================================
4
+ TESTING_LOCAL.md
5
+ DEPENDENCY_VERSIONS.md
6
+ AGENTS.md
7
+ luigi_test/
8
+ luigi_tests/
9
+
10
+ # =============================================================================
11
+ # Python
12
+ # =============================================================================
13
+
14
+ # Byte-compiled / optimized / DLL files
15
+ __pycache__/
16
+ *.py[cod]
17
+ *$py.class
18
+
19
+ # C extensions
20
+ *.so
21
+
22
+ # Distribution / packaging
23
+ .Python
24
+ build/
25
+ develop-eggs/
26
+ dist/
27
+ downloads/
28
+ eggs/
29
+ .eggs/
30
+ lib/
31
+ lib64/
32
+ parts/
33
+ sdist/
34
+ var/
35
+ wheels/
36
+ share/python-wheels/
37
+ *.egg-info/
38
+ .installed.cfg
39
+ *.egg
40
+ MANIFEST
41
+
42
+ # PyInstaller
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Installer logs
47
+ pip-log.txt
48
+ pip-delete-this-directory.txt
49
+
50
+ # Unit test / coverage reports
51
+ htmlcov/
52
+ .tox/
53
+ .nox/
54
+ .coverage
55
+ .coverage.*
56
+ .cache
57
+ nosetests.xml
58
+ coverage.xml
59
+ coverage.json
60
+ *.cover
61
+ *.py,cover
62
+ .hypothesis/
63
+ .pytest_cache/
64
+ cover/
65
+
66
+ # Translations
67
+ *.mo
68
+ *.pot
69
+
70
+ # Environments
71
+ .env
72
+ .env.*
73
+ !.env.example
74
+ .venv
75
+ env/
76
+ venv/
77
+ ENV/
78
+ env.bak/
79
+ venv.bak/
80
+
81
+ # Spyder project settings
82
+ .spyderproject
83
+ .spyproject
84
+
85
+ # Rope project settings
86
+ .ropeproject
87
+
88
+ # mkdocs documentation
89
+ /site
90
+
91
+ # mypy
92
+ .mypy_cache/
93
+ .dmypy.json
94
+ dmypy.json
95
+
96
+ # Pyre type checker
97
+ .pyre/
98
+
99
+ # pytype static type analyzer
100
+ .pytype/
101
+
102
+ # Cython debug symbols
103
+ cython_debug/
104
+
105
+ # =============================================================================
106
+ # Hatch
107
+ # =============================================================================
108
+ .hatch/
109
+
110
+ # =============================================================================
111
+ # IDE / Editors
112
+ # =============================================================================
113
+
114
+ # VS Code
115
+ .vscode/
116
+ *.code-workspace
117
+
118
+ # PyCharm / IntelliJ
119
+ .idea/
120
+ *.iml
121
+ *.ipr
122
+ *.iws
123
+ out/
124
+
125
+ # Sublime Text
126
+ *.sublime-project
127
+ *.sublime-workspace
128
+
129
+ # Vim
130
+ *.swp
131
+ *.swo
132
+ *~
133
+ .vim/
134
+
135
+ # Emacs
136
+ *~
137
+ \#*\#
138
+ /.emacs.desktop
139
+ /.emacs.desktop.lock
140
+ *.elc
141
+ auto-save-list
142
+ tramp
143
+ .\#*
144
+
145
+ # =============================================================================
146
+ # OS Generated
147
+ # =============================================================================
148
+
149
+ # macOS
150
+ .DS_Store
151
+ .AppleDouble
152
+ .LSOverride
153
+ Icon
154
+ ._*
155
+ .DocumentRevisions-V100
156
+ .fseventsd
157
+ .Spotlight-V100
158
+ .TemporaryItems
159
+ .Trashes
160
+ .VolumeIcon.icns
161
+ .com.apple.timemachine.donotpresent
162
+ .AppleDB
163
+ .AppleDesktop
164
+ Network Trash Folder
165
+ Temporary Items
166
+ .apdisk
167
+
168
+ # Windows
169
+ Thumbs.db
170
+ Thumbs.db:encryptable
171
+ ehthumbs.db
172
+ ehthumbs_vista.db
173
+ *.stackdump
174
+ [Dd]esktop.ini
175
+ $RECYCLE.BIN/
176
+ *.cab
177
+ *.msi
178
+ *.msix
179
+ *.msm
180
+ *.msp
181
+ *.lnk
182
+
183
+ # Linux
184
+ *~
185
+ .fuse_hidden*
186
+ .directory
187
+ .Trash-*
188
+ .nfs*
189
+
190
+ # =============================================================================
191
+ # Project Specific
192
+ # =============================================================================
193
+
194
+ # Local configuration
195
+ *.local.yaml
196
+ *.local.json
197
+ config.local.*
198
+ .secrets/
199
+ secrets/
200
+
201
+ # Logs
202
+ logs/
203
+ *.log
204
+
205
+ # Temporary files
206
+ tmp/
207
+ temp/
208
+ *.tmp
209
+ *.temp
210
+
211
+ # Data files (potentially large)
212
+ data/
213
+ *.db
214
+ *.sqlite
215
+ *.sqlite3
216
+
217
+ # Notebooks checkpoints
218
+ .ipynb_checkpoints/
219
+
220
+ # Documentation build
221
+ docs/_build/
222
+
223
+ # Benchmarks
224
+ .benchmarks/
225
+
226
+ # Profiling
227
+ *.prof
228
+ *.lprof
229
+
230
+ # Debug
231
+ .debug/
232
+
233
+ # Local config
234
+ .env
235
+ .env.local
236
+ config.local.yaml
237
+ config.local.yml
238
+
239
+ # Oracle wallet files
240
+ **/oracle_wallet/
241
+ *.wallet
242
+ cwallet.sso
243
+ ewallet.p12
244
+ ewallet.pem
245
+ tnsnames.ora
246
+ sqlnet.ora
247
+ ojdbc.properties
248
+ *.jks
249
+
250
+ # Local development scripts (not tracked)
251
+ scripts/local/
252
+ scripts/test_*.sh
253
+
254
+ # Development test files (not user-facing examples)
255
+ examples/test_*.py
256
+ examples/mcp_test_*.py
257
+ examples/start_and_test.sh
258
+
259
+ # Old notebooks directory (superseded by examples/notebook_*.py)
260
+ /notebooks/
261
+ site/
262
+ .claude/
263
+
264
+ # Notebook 49 audio output (regenerated each run).
265
+ examples/notebook_49_response.mp3
266
+ examples/notebook_50_question.wav
267
+ examples/notebook_50_answer.wav
268
+ examples/notebook_50_answer.mp3
@@ -0,0 +1,17 @@
1
+ Copyright (c) 2025, 2026 Oracle and/or its affiliates.
2
+
3
+ The Universal Permissive License (UPL), Version 1.0
4
+
5
+ Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both
6
+
7
+ (a) the Software, and
8
+
9
+ (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software (each a “Larger Work” to which the Software is contributed by such licensors),
10
+
11
+ without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms.
12
+
13
+ This license is subject to the following condition:
14
+
15
+ The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ Copyright (c) 2025, 2026 Oracle and/or its affiliates.
2
+
3
+ The Universal Permissive License (UPL), Version 1.0
4
+
5
+ Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both
6
+
7
+ (a) the Software, and
8
+
9
+ (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software (each a “Larger Work” to which the Software is contributed by such licensors),
10
+
11
+ without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms.
12
+
13
+ This license is subject to the following condition:
14
+
15
+ The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must be included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.