coco-framework 0.1.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 (400) hide show
  1. coco/__init__.py +3 -0
  2. coco/agents/__init__.py +9 -0
  3. coco/agents/_subagent_transformer.py +307 -0
  4. coco/agents/factory.py +2164 -0
  5. coco/agents/middleware/__init__.py +100 -0
  6. coco/agents/middleware/_execution.py +385 -0
  7. coco/agents/middleware/_redaction.py +454 -0
  8. coco/agents/middleware/_retry.py +134 -0
  9. coco/agents/middleware/_trace_policy.py +61 -0
  10. coco/agents/middleware/context_editing.py +306 -0
  11. coco/agents/middleware/file_search.py +433 -0
  12. coco/agents/middleware/human_in_the_loop.py +680 -0
  13. coco/agents/middleware/internal_call_transformer.py +108 -0
  14. coco/agents/middleware/model_call_limit.py +267 -0
  15. coco/agents/middleware/model_fallback.py +417 -0
  16. coco/agents/middleware/model_retry.py +327 -0
  17. coco/agents/middleware/pii.py +878 -0
  18. coco/agents/middleware/provider_tool_search.py +307 -0
  19. coco/agents/middleware/shell_tool.py +949 -0
  20. coco/agents/middleware/summarization.py +910 -0
  21. coco/agents/middleware/todo.py +357 -0
  22. coco/agents/middleware/tool_call_limit.py +495 -0
  23. coco/agents/middleware/tool_emulator.py +251 -0
  24. coco/agents/middleware/tool_error.py +209 -0
  25. coco/agents/middleware/tool_retry.py +421 -0
  26. coco/agents/middleware/tool_selection.py +515 -0
  27. coco/agents/middleware/types.py +2201 -0
  28. coco/agents/structured_output.py +472 -0
  29. coco/chat_models/__init__.py +7 -0
  30. coco/chat_models/base.py +1082 -0
  31. coco/embeddings/__init__.py +18 -0
  32. coco/embeddings/base.py +279 -0
  33. coco/mcp/__init__.py +36 -0
  34. coco/mcp/adapter.py +245 -0
  35. coco/mcp/elicitation.py +394 -0
  36. coco/mcp/tools.py +307 -0
  37. coco/messages/__init__.py +73 -0
  38. coco/py.typed +0 -0
  39. coco/rate_limiters/__init__.py +13 -0
  40. coco/tools/__init__.py +22 -0
  41. coco/tools/tool_node.py +20 -0
  42. coco_anthropic/__init__.py +15 -0
  43. coco_anthropic/_client_utils.py +81 -0
  44. coco_anthropic/_compat.py +228 -0
  45. coco_anthropic/_sdk_compat.py +124 -0
  46. coco_anthropic/_version.py +3 -0
  47. coco_anthropic/chat_models.py +3349 -0
  48. coco_anthropic/data/__init__.py +1 -0
  49. coco_anthropic/data/_profiles.py +491 -0
  50. coco_anthropic/data/profile_augmentations.toml +69 -0
  51. coco_anthropic/experimental.py +140 -0
  52. coco_anthropic/llms.py +428 -0
  53. coco_anthropic/middleware/__init__.py +25 -0
  54. coco_anthropic/middleware/anthropic_tools.py +1197 -0
  55. coco_anthropic/middleware/bash.py +84 -0
  56. coco_anthropic/middleware/file_search.py +360 -0
  57. coco_anthropic/middleware/prompt_caching.py +276 -0
  58. coco_anthropic/output_parsers.py +93 -0
  59. coco_anthropic/py.typed +0 -0
  60. coco_core/__init__.py +20 -0
  61. coco_core/_api/__init__.py +87 -0
  62. coco_core/_api/beta_decorator.py +266 -0
  63. coco_core/_api/deprecation.py +637 -0
  64. coco_core/_api/internal.py +23 -0
  65. coco_core/_api/path.py +50 -0
  66. coco_core/_import_utils.py +41 -0
  67. coco_core/_protocol.py +625 -0
  68. coco_core/_security/__init__.py +36 -0
  69. coco_core/_security/_exceptions.py +9 -0
  70. coco_core/_security/_policy.py +313 -0
  71. coco_core/_security/_ssrf_protection.py +155 -0
  72. coco_core/_security/_transport.py +254 -0
  73. coco_core/agents.py +258 -0
  74. coco_core/caches.py +272 -0
  75. coco_core/callbacks/__init__.py +132 -0
  76. coco_core/callbacks/base.py +1229 -0
  77. coco_core/callbacks/file.py +266 -0
  78. coco_core/callbacks/manager.py +2826 -0
  79. coco_core/callbacks/stdout.py +123 -0
  80. coco_core/callbacks/streaming_stdout.py +154 -0
  81. coco_core/callbacks/usage.py +124 -0
  82. coco_core/chat_history.py +267 -0
  83. coco_core/chat_loaders.py +26 -0
  84. coco_core/chat_sessions.py +19 -0
  85. coco_core/cross_encoders.py +18 -0
  86. coco_core/document_loaders/__init__.py +36 -0
  87. coco_core/document_loaders/base.py +155 -0
  88. coco_core/document_loaders/blob_loaders.py +38 -0
  89. coco_core/documents/__init__.py +55 -0
  90. coco_core/documents/base.py +347 -0
  91. coco_core/documents/compressor.py +74 -0
  92. coco_core/documents/transformers.py +79 -0
  93. coco_core/embeddings/__init__.py +31 -0
  94. coco_core/embeddings/embeddings.py +78 -0
  95. coco_core/embeddings/fake.py +129 -0
  96. coco_core/env.py +22 -0
  97. coco_core/example_selectors/__init__.py +47 -0
  98. coco_core/example_selectors/base.py +60 -0
  99. coco_core/example_selectors/length_based.py +131 -0
  100. coco_core/example_selectors/semantic_similarity.py +366 -0
  101. coco_core/exceptions.py +166 -0
  102. coco_core/globals.py +72 -0
  103. coco_core/indexing/__init__.py +53 -0
  104. coco_core/indexing/api.py +954 -0
  105. coco_core/indexing/base.py +661 -0
  106. coco_core/indexing/in_memory.py +104 -0
  107. coco_core/language_models/__init__.py +116 -0
  108. coco_core/language_models/_compat_bridge.py +844 -0
  109. coco_core/language_models/_utils.py +343 -0
  110. coco_core/language_models/base.py +500 -0
  111. coco_core/language_models/chat_model_stream.py +1525 -0
  112. coco_core/language_models/chat_models.py +2748 -0
  113. coco_core/language_models/fake.py +137 -0
  114. coco_core/language_models/fake_chat_models.py +396 -0
  115. coco_core/language_models/llms.py +1569 -0
  116. coco_core/language_models/model_profile.py +183 -0
  117. coco_core/load/__init__.py +44 -0
  118. coco_core/load/_validation.py +191 -0
  119. coco_core/load/dump.py +120 -0
  120. coco_core/load/load.py +828 -0
  121. coco_core/load/mapping.py +1097 -0
  122. coco_core/load/serializable.py +406 -0
  123. coco_core/messages/__init__.py +198 -0
  124. coco_core/messages/ai.py +854 -0
  125. coco_core/messages/base.py +518 -0
  126. coco_core/messages/block_translators/__init__.py +112 -0
  127. coco_core/messages/block_translators/anthropic.py +534 -0
  128. coco_core/messages/block_translators/bedrock.py +108 -0
  129. coco_core/messages/block_translators/bedrock_converse.py +329 -0
  130. coco_core/messages/block_translators/coco_v0.py +303 -0
  131. coco_core/messages/block_translators/google_genai.py +610 -0
  132. coco_core/messages/block_translators/google_vertexai.py +21 -0
  133. coco_core/messages/block_translators/groq.py +157 -0
  134. coco_core/messages/block_translators/openai.py +1089 -0
  135. coco_core/messages/chat.py +64 -0
  136. coco_core/messages/content.py +1488 -0
  137. coco_core/messages/function.py +62 -0
  138. coco_core/messages/human.py +70 -0
  139. coco_core/messages/modifier.py +33 -0
  140. coco_core/messages/system.py +70 -0
  141. coco_core/messages/tool.py +418 -0
  142. coco_core/messages/utils.py +2442 -0
  143. coco_core/output_parsers/__init__.py +101 -0
  144. coco_core/output_parsers/base.py +361 -0
  145. coco_core/output_parsers/format_instructions.py +16 -0
  146. coco_core/output_parsers/json.py +139 -0
  147. coco_core/output_parsers/list.py +249 -0
  148. coco_core/output_parsers/openai_functions.py +324 -0
  149. coco_core/output_parsers/openai_tools.py +383 -0
  150. coco_core/output_parsers/pydantic.py +141 -0
  151. coco_core/output_parsers/string.py +63 -0
  152. coco_core/output_parsers/transform.py +175 -0
  153. coco_core/output_parsers/xml.py +301 -0
  154. coco_core/outputs/__init__.py +66 -0
  155. coco_core/outputs/chat_generation.py +147 -0
  156. coco_core/outputs/chat_result.py +39 -0
  157. coco_core/outputs/generation.py +80 -0
  158. coco_core/outputs/llm_result.py +112 -0
  159. coco_core/outputs/run_info.py +22 -0
  160. coco_core/prompt_values.py +161 -0
  161. coco_core/prompts/__init__.py +101 -0
  162. coco_core/prompts/base.py +508 -0
  163. coco_core/prompts/chat.py +1495 -0
  164. coco_core/prompts/dict.py +177 -0
  165. coco_core/prompts/few_shot.py +483 -0
  166. coco_core/prompts/few_shot_with_templates.py +239 -0
  167. coco_core/prompts/image.py +177 -0
  168. coco_core/prompts/loading.py +296 -0
  169. coco_core/prompts/message.py +97 -0
  170. coco_core/prompts/prompt.py +312 -0
  171. coco_core/prompts/string.py +399 -0
  172. coco_core/prompts/structured.py +214 -0
  173. coco_core/py.typed +0 -0
  174. coco_core/rate_limiters.py +254 -0
  175. coco_core/retrievers.py +328 -0
  176. coco_core/runnables/__init__.py +136 -0
  177. coco_core/runnables/base.py +6725 -0
  178. coco_core/runnables/branch.py +457 -0
  179. coco_core/runnables/config.py +712 -0
  180. coco_core/runnables/configurable.py +710 -0
  181. coco_core/runnables/fallbacks.py +663 -0
  182. coco_core/runnables/graph.py +741 -0
  183. coco_core/runnables/graph_ascii.py +366 -0
  184. coco_core/runnables/graph_mermaid.py +503 -0
  185. coco_core/runnables/graph_png.py +215 -0
  186. coco_core/runnables/history.py +631 -0
  187. coco_core/runnables/passthrough.py +849 -0
  188. coco_core/runnables/retry.py +379 -0
  189. coco_core/runnables/router.py +239 -0
  190. coco_core/runnables/schema.py +188 -0
  191. coco_core/runnables/utils.py +798 -0
  192. coco_core/stores.py +291 -0
  193. coco_core/structured_query.py +203 -0
  194. coco_core/sys_info.py +154 -0
  195. coco_core/tools/__init__.py +95 -0
  196. coco_core/tools/base.py +1948 -0
  197. coco_core/tools/convert.py +497 -0
  198. coco_core/tools/render.py +67 -0
  199. coco_core/tools/retriever.py +94 -0
  200. coco_core/tools/simple.py +208 -0
  201. coco_core/tools/structured.py +322 -0
  202. coco_core/tracers/__init__.py +47 -0
  203. coco_core/tracers/_compat.py +95 -0
  204. coco_core/tracers/_context.py +337 -0
  205. coco_core/tracers/_streaming.py +53 -0
  206. coco_core/tracers/base.py +955 -0
  207. coco_core/tracers/coco.py +279 -0
  208. coco_core/tracers/context.py +205 -0
  209. coco_core/tracers/core.py +766 -0
  210. coco_core/tracers/event_stream.py +1101 -0
  211. coco_core/tracers/log_stream.py +765 -0
  212. coco_core/tracers/memory_stream.py +200 -0
  213. coco_core/tracers/root_listeners.py +130 -0
  214. coco_core/tracers/run_collector.py +40 -0
  215. coco_core/tracers/schemas.py +14 -0
  216. coco_core/tracers/stdout.py +205 -0
  217. coco_core/utils/__init__.py +111 -0
  218. coco_core/utils/_gateway.py +274 -0
  219. coco_core/utils/_merge.py +218 -0
  220. coco_core/utils/aiter.py +357 -0
  221. coco_core/utils/env.py +86 -0
  222. coco_core/utils/formatting.py +80 -0
  223. coco_core/utils/function_calling.py +869 -0
  224. coco_core/utils/html.py +132 -0
  225. coco_core/utils/image.py +15 -0
  226. coco_core/utils/input.py +82 -0
  227. coco_core/utils/interactive_env.py +12 -0
  228. coco_core/utils/iter.py +229 -0
  229. coco_core/utils/json.py +230 -0
  230. coco_core/utils/json_schema.py +273 -0
  231. coco_core/utils/mustache.py +706 -0
  232. coco_core/utils/pydantic.py +631 -0
  233. coco_core/utils/strings.py +69 -0
  234. coco_core/utils/usage.py +61 -0
  235. coco_core/utils/utils.py +528 -0
  236. coco_core/utils/uuid.py +57 -0
  237. coco_core/vectorstores/__init__.py +53 -0
  238. coco_core/vectorstores/base.py +1111 -0
  239. coco_core/vectorstores/in_memory.py +546 -0
  240. coco_core/vectorstores/utils.py +163 -0
  241. coco_core/version.py +3 -0
  242. coco_framework-0.1.0.dist-info/METADATA +184 -0
  243. coco_framework-0.1.0.dist-info/RECORD +400 -0
  244. coco_framework-0.1.0.dist-info/WHEEL +4 -0
  245. coco_framework-0.1.0.dist-info/licenses/LICENSE +24 -0
  246. coco_framework-0.1.0.dist-info/licenses/NOTICE +15 -0
  247. coco_graph/_internal/__init__.py +4 -0
  248. coco_graph/_internal/_cache.py +31 -0
  249. coco_graph/_internal/_config.py +474 -0
  250. coco_graph/_internal/_constants.py +140 -0
  251. coco_graph/_internal/_fields.py +213 -0
  252. coco_graph/_internal/_future.py +220 -0
  253. coco_graph/_internal/_pydantic.py +275 -0
  254. coco_graph/_internal/_queue.py +124 -0
  255. coco_graph/_internal/_replay.py +90 -0
  256. coco_graph/_internal/_retry.py +29 -0
  257. coco_graph/_internal/_runnable.py +969 -0
  258. coco_graph/_internal/_scratchpad.py +19 -0
  259. coco_graph/_internal/_serde.py +253 -0
  260. coco_graph/_internal/_timeout.py +25 -0
  261. coco_graph/_internal/_typing.py +54 -0
  262. coco_graph/cache/base/__init__.py +48 -0
  263. coco_graph/cache/base/py.typed +0 -0
  264. coco_graph/cache/memory/__init__.py +73 -0
  265. coco_graph/cache/redis/__init__.py +144 -0
  266. coco_graph/cache/sqlite/__init__.py +120 -0
  267. coco_graph/callbacks.py +394 -0
  268. coco_graph/channels/__init__.py +29 -0
  269. coco_graph/channels/any_value.py +72 -0
  270. coco_graph/channels/base.py +121 -0
  271. coco_graph/channels/binop.py +155 -0
  272. coco_graph/channels/delta.py +202 -0
  273. coco_graph/channels/ephemeral_value.py +79 -0
  274. coco_graph/channels/last_value.py +151 -0
  275. coco_graph/channels/named_barrier_value.py +167 -0
  276. coco_graph/channels/topic.py +94 -0
  277. coco_graph/channels/untracked_value.py +73 -0
  278. coco_graph/checkpoint/base/__init__.py +861 -0
  279. coco_graph/checkpoint/base/id.py +109 -0
  280. coco_graph/checkpoint/base/py.typed +0 -0
  281. coco_graph/checkpoint/memory/__init__.py +698 -0
  282. coco_graph/checkpoint/memory/py.typed +0 -0
  283. coco_graph/checkpoint/postgres/__init__.py +602 -0
  284. coco_graph/checkpoint/postgres/_ainternal.py +23 -0
  285. coco_graph/checkpoint/postgres/_internal.py +21 -0
  286. coco_graph/checkpoint/postgres/aio.py +691 -0
  287. coco_graph/checkpoint/postgres/base.py +666 -0
  288. coco_graph/checkpoint/postgres/py.typed +0 -0
  289. coco_graph/checkpoint/postgres/shallow.py +967 -0
  290. coco_graph/checkpoint/serde/__init__.py +0 -0
  291. coco_graph/checkpoint/serde/_msgpack.py +97 -0
  292. coco_graph/checkpoint/serde/base.py +64 -0
  293. coco_graph/checkpoint/serde/encrypted.py +80 -0
  294. coco_graph/checkpoint/serde/event_hooks.py +52 -0
  295. coco_graph/checkpoint/serde/jsonplus.py +883 -0
  296. coco_graph/checkpoint/serde/py.typed +0 -0
  297. coco_graph/checkpoint/serde/types.py +68 -0
  298. coco_graph/checkpoint/sqlite/__init__.py +645 -0
  299. coco_graph/checkpoint/sqlite/_delta.py +172 -0
  300. coco_graph/checkpoint/sqlite/aio.py +738 -0
  301. coco_graph/checkpoint/sqlite/py.typed +0 -0
  302. coco_graph/checkpoint/sqlite/utils.py +116 -0
  303. coco_graph/config.py +196 -0
  304. coco_graph/constants.py +64 -0
  305. coco_graph/errors.py +241 -0
  306. coco_graph/func/__init__.py +620 -0
  307. coco_graph/graph/__init__.py +12 -0
  308. coco_graph/graph/_branch.py +225 -0
  309. coco_graph/graph/_node.py +103 -0
  310. coco_graph/graph/message.py +437 -0
  311. coco_graph/graph/state.py +1978 -0
  312. coco_graph/graph/ui.py +227 -0
  313. coco_graph/managed/__init__.py +3 -0
  314. coco_graph/managed/base.py +31 -0
  315. coco_graph/managed/is_last_step.py +24 -0
  316. coco_graph/prebuilt/__init__.py +23 -0
  317. coco_graph/prebuilt/_tool_call_stream.py +117 -0
  318. coco_graph/prebuilt/_tool_call_transformer.py +165 -0
  319. coco_graph/prebuilt/chat_agent_executor.py +1015 -0
  320. coco_graph/prebuilt/interrupt.py +105 -0
  321. coco_graph/prebuilt/py.typed +0 -0
  322. coco_graph/prebuilt/tool_node.py +2030 -0
  323. coco_graph/prebuilt/tool_validator.py +221 -0
  324. coco_graph/pregel/__init__.py +3 -0
  325. coco_graph/pregel/_algo.py +1460 -0
  326. coco_graph/pregel/_call.py +298 -0
  327. coco_graph/pregel/_checkpoint.py +331 -0
  328. coco_graph/pregel/_config.py +0 -0
  329. coco_graph/pregel/_draw.py +294 -0
  330. coco_graph/pregel/_executor.py +223 -0
  331. coco_graph/pregel/_io.py +174 -0
  332. coco_graph/pregel/_log.py +3 -0
  333. coco_graph/pregel/_loop.py +1988 -0
  334. coco_graph/pregel/_messages.py +461 -0
  335. coco_graph/pregel/_read.py +312 -0
  336. coco_graph/pregel/_retry.py +854 -0
  337. coco_graph/pregel/_runner.py +941 -0
  338. coco_graph/pregel/_tools.py +268 -0
  339. coco_graph/pregel/_utils.py +221 -0
  340. coco_graph/pregel/_validate.py +120 -0
  341. coco_graph/pregel/_write.py +192 -0
  342. coco_graph/pregel/debug.py +302 -0
  343. coco_graph/pregel/main.py +4364 -0
  344. coco_graph/pregel/protocol.py +288 -0
  345. coco_graph/pregel/types.py +38 -0
  346. coco_graph/py.typed +0 -0
  347. coco_graph/runtime.py +350 -0
  348. coco_graph/store/base/__init__.py +1322 -0
  349. coco_graph/store/base/batch.py +371 -0
  350. coco_graph/store/base/embed.py +436 -0
  351. coco_graph/store/base/py.typed +0 -0
  352. coco_graph/store/memory/__init__.py +592 -0
  353. coco_graph/store/memory/py.typed +0 -0
  354. coco_graph/store/postgres/__init__.py +4 -0
  355. coco_graph/store/postgres/aio.py +592 -0
  356. coco_graph/store/postgres/base.py +1480 -0
  357. coco_graph/store/postgres/py.typed +0 -0
  358. coco_graph/store/sqlite/__init__.py +4 -0
  359. coco_graph/store/sqlite/aio.py +632 -0
  360. coco_graph/store/sqlite/base.py +1514 -0
  361. coco_graph/stream/__init__.py +45 -0
  362. coco_graph/stream/_convert.py +32 -0
  363. coco_graph/stream/_mux.py +523 -0
  364. coco_graph/stream/_types.py +330 -0
  365. coco_graph/stream/run_stream.py +735 -0
  366. coco_graph/stream/stream_channel.py +341 -0
  367. coco_graph/stream/transformers.py +1039 -0
  368. coco_graph/types.py +1079 -0
  369. coco_graph/typing.py +48 -0
  370. coco_graph/utils/__init__.py +1 -0
  371. coco_graph/utils/config.py +4 -0
  372. coco_graph/utils/runnable.py +3 -0
  373. coco_graph/version.py +13 -0
  374. coco_graph/warnings.py +69 -0
  375. coco_openai/__init__.py +20 -0
  376. coco_openai/_compat.py +45 -0
  377. coco_openai/_version.py +3 -0
  378. coco_openai/chat_models/__init__.py +6 -0
  379. coco_openai/chat_models/_client_utils.py +684 -0
  380. coco_openai/chat_models/_compat.py +525 -0
  381. coco_openai/chat_models/azure.py +1227 -0
  382. coco_openai/chat_models/base.py +5654 -0
  383. coco_openai/chat_models/codex.py +557 -0
  384. coco_openai/chatgpt_oauth.py +1063 -0
  385. coco_openai/data/__init__.py +1 -0
  386. coco_openai/data/_profiles.py +1655 -0
  387. coco_openai/data/profile_augmentations.toml +127 -0
  388. coco_openai/embeddings/__init__.py +6 -0
  389. coco_openai/embeddings/azure.py +240 -0
  390. coco_openai/embeddings/base.py +820 -0
  391. coco_openai/llms/__init__.py +6 -0
  392. coco_openai/llms/azure.py +249 -0
  393. coco_openai/llms/base.py +919 -0
  394. coco_openai/middleware/__init__.py +11 -0
  395. coco_openai/middleware/openai_moderation.py +484 -0
  396. coco_openai/output_parsers/__init__.py +9 -0
  397. coco_openai/output_parsers/tools.py +9 -0
  398. coco_openai/py.typed +0 -0
  399. coco_openai/tools/__init__.py +5 -0
  400. coco_openai/tools/custom_tool.py +111 -0
@@ -0,0 +1,184 @@
1
+ Metadata-Version: 2.5
2
+ Name: coco-framework
3
+ Version: 0.1.0
4
+ Summary: The agent runtime for Coco: core messages, tools, runnables, stateful agent graphs, checkpointers, and model integrations.
5
+ Project-URL: Homepage, https://trustcoco.ai
6
+ Project-URL: Repository, https://github.com/coco-ai-au/coco-framework
7
+ License: MIT License
8
+
9
+ Copyright (c) LangChain, Inc.
10
+ Copyright (c) 2024 LangChain, Inc.
11
+ Copyright (c) 2026 Coco AI Pty Ltd
12
+
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the "Software"), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice and this permission notice shall be included in all
22
+ copies or substantial portions of the Software.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30
+ SOFTWARE.
31
+ License-File: LICENSE
32
+ License-File: NOTICE
33
+ Classifier: Development Status :: 4 - Beta
34
+ Classifier: Intended Audience :: Developers
35
+ Classifier: License :: OSI Approved :: MIT License
36
+ Classifier: Programming Language :: Python :: 3
37
+ Classifier: Programming Language :: Python :: 3 :: Only
38
+ Classifier: Programming Language :: Python :: 3.10
39
+ Classifier: Programming Language :: Python :: 3.11
40
+ Classifier: Programming Language :: Python :: 3.12
41
+ Classifier: Programming Language :: Python :: 3.13
42
+ Classifier: Programming Language :: Python :: 3.14
43
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
44
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
45
+ Requires-Python: <4.0.0,>=3.10.0
46
+ Requires-Dist: aiosqlite>=0.20.0
47
+ Requires-Dist: anthropic<2.0.0,>=0.120.0
48
+ Requires-Dist: jsonpatch<2.0.0,>=1.33.0
49
+ Requires-Dist: openai<4.0.0,>=2.26.0
50
+ Requires-Dist: ormsgpack>=1.12.0
51
+ Requires-Dist: packaging<27.0.0,>=23.2.0
52
+ Requires-Dist: pydantic<3.0.0,>=2.7.4
53
+ Requires-Dist: pyyaml<7.0.0,>=5.3.0
54
+ Requires-Dist: sqlite-vec>=0.1.6
55
+ Requires-Dist: tenacity!=8.4.0,<10.0.0,>=8.1.0
56
+ Requires-Dist: tiktoken<1.0.0,>=0.7.0
57
+ Requires-Dist: typing-extensions<5.0.0,>=4.7.0
58
+ Requires-Dist: uuid-utils<1.0,>=0.12.0
59
+ Requires-Dist: xxhash>=3.5.0
60
+ Provides-Extra: all
61
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'all'
62
+ Requires-Dist: anthropic<2.0.0,>=0.120.0; extra == 'all'
63
+ Requires-Dist: azure-identity<2.0.0,>=1.15.0; extra == 'all'
64
+ Requires-Dist: fastmcp<4.0.0,>=3.1.1; extra == 'all'
65
+ Requires-Dist: openai<4.0.0,>=2.26.0; extra == 'all'
66
+ Requires-Dist: ormsgpack>=1.12.0; extra == 'all'
67
+ Requires-Dist: psycopg-pool>=3.2.0; extra == 'all'
68
+ Requires-Dist: psycopg>=3.2.0; extra == 'all'
69
+ Requires-Dist: sqlite-vec>=0.1.6; extra == 'all'
70
+ Requires-Dist: tiktoken<1.0.0,>=0.7.0; extra == 'all'
71
+ Provides-Extra: anthropic
72
+ Requires-Dist: anthropic<2.0.0,>=0.120.0; extra == 'anthropic'
73
+ Provides-Extra: azure-identity
74
+ Requires-Dist: azure-identity<2.0.0,>=1.15.0; extra == 'azure-identity'
75
+ Provides-Extra: mcp
76
+ Requires-Dist: fastmcp<4.0.0,>=3.1.1; extra == 'mcp'
77
+ Provides-Extra: openai
78
+ Requires-Dist: openai<4.0.0,>=2.26.0; extra == 'openai'
79
+ Requires-Dist: tiktoken<1.0.0,>=0.7.0; extra == 'openai'
80
+ Provides-Extra: postgres
81
+ Requires-Dist: ormsgpack>=1.12.0; extra == 'postgres'
82
+ Requires-Dist: psycopg-pool>=3.2.0; extra == 'postgres'
83
+ Requires-Dist: psycopg>=3.2.0; extra == 'postgres'
84
+ Provides-Extra: sqlite
85
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'sqlite'
86
+ Requires-Dist: sqlite-vec>=0.1.6; extra == 'sqlite'
87
+ Description-Content-Type: text/markdown
88
+
89
+ # coco-framework
90
+
91
+ The agent runtime for Coco: LangChain and LangGraph, forked at pinned commits and
92
+ renamed to Coco by one script. Agents built on it get Coco's check on every tool
93
+ call from `../coco-sdk`.
94
+
95
+ ```python
96
+ from coco.agents import create_agent
97
+ from coco_core.tools import tool
98
+ from coco_graph.checkpoint.memory import InMemorySaver
99
+ from coco_openai import ChatOpenAI
100
+ ```
101
+
102
+ ## Install
103
+
104
+ Install the full framework directly with `pip`:
105
+
106
+ ```bash
107
+ pip install . # from a local checkout
108
+ pip install -e . # editable development install
109
+ pip install "git+https://github.com/coco-ai-au/coco-framework.git"
110
+ ```
111
+
112
+ Or use the coco-sdk environment, which installs every library here:
113
+
114
+ ```bash
115
+ cd ../coco-sdk && uv sync && source .venv/bin/activate
116
+ ```
117
+
118
+ To work on the fork itself or build and publish the distributions:
119
+
120
+ ```bash
121
+ python3 scripts/sync_upstream.py --report # rebuild libs/ from the pins, list leftover upstream names
122
+ scripts/dev.sh setup # .venv with every library and its test/build tools
123
+ scripts/dev.sh test # each library's upstream unit tests, renamed
124
+ python3 scripts/build.py --clean # build and verify all 9 trustcoco-* wheels + sdists in dist/
125
+ python3 scripts/build.py --include-root # also build the bundled coco-framework distribution
126
+ python3 scripts/build.py --publish # upload built distributions with twine/uv
127
+ ```
128
+
129
+ `sync_upstream.py` needs the upstream clones at the pinned commits in
130
+ `build_reference/` above this folder (or `COCO_UPSTREAM_DIR`).
131
+
132
+ ## What is here
133
+
134
+ | Layer | Distribution | Import | From upstream |
135
+ |---|---|---|---|
136
+ | Core | `trustcoco-core` | `coco_core` | `langchain-core` 1.6.5 |
137
+ | Graph | `trustcoco-graph`, `-prebuilt`, `-checkpoint`, `-checkpoint-sqlite`, `-checkpoint-postgres` | `coco_graph` | `langgraph` 1.2.12 and its libraries |
138
+ | Agents | `trustcoco` | `coco` | `langchain` 1.4.2 |
139
+ | Models | `trustcoco-openai`, `trustcoco-anthropic` | `coco_openai`, `coco_anthropic` | the two partner packages |
140
+
141
+ Messages, tools, runnables and prompts; `StateGraph`, the runtime, `interrupt()`
142
+ and checkpointers; `create_agent` and its middleware; an OpenAI-compatible and an
143
+ Anthropic chat model.
144
+
145
+ Left out: upstream's hosted-platform clients (`langgraph-sdk`, the CLI,
146
+ `RemoteGraph`), its tracing client (`langsmith`, replaced by a local `CocoTracer`
147
+ that sends nothing), text splitters, community integrations and JavaScript.
148
+
149
+ ## How the fork is made
150
+
151
+ `scripts/sync_upstream.py` copies the pinned upstream libraries into `libs/`,
152
+ renames modules, distributions, classes and environment variables, removes the
153
+ hosted-platform paths, copies Coco's own files from `overlay/`, and applies
154
+ `patches/`. It runs again on every upstream bump, and a bump lands only when the
155
+ renamed upstream tests pass. Nobody edits `libs/` by hand.
156
+
157
+ [`UPSTREAM.md`](UPSTREAM.md) lists the pins, every name mapping, every removed
158
+ path, overlay file and patch with its reason, and the test results.
159
+
160
+ ## Where Coco attaches
161
+
162
+ `create_agent` runs every tool call through `wrap_tool_call`. `CocoGuard` from
163
+ coco-sdk is that middleware: it runs the call, denies it with a reason, or pauses
164
+ the graph with `interrupt()` until a person decides. The session a contract reads
165
+ is the graph's thread id. The framework carries no Coco enforcement code, which
166
+ keeps the fork mechanical.
167
+
168
+ ## Decisions
169
+
170
+ | Question | Decided |
171
+ |---|---|
172
+ | Compatibility with upstream integrations | A clean rename. Upstream partner packages import `langchain_core` and do not load here; we fork a provider when a design partner needs one |
173
+ | Package names | `trustcoco-*` distributions, `coco*` imports. PyPI on the day we open source |
174
+ | Guard on by default | Yes, once the SDK is stable: `create_agent` installs `CocoGuard` in Monitor, with a logged opt out. Not built yet |
175
+ | Upstream cadence | Pinned. Bump for a fix we need; review the gap each quarter |
176
+
177
+ Publishes as wheels to Coco's private package index by `scripts/build.py --publish`
178
+ (or `coco-sdk/scripts/publish.sh`); the install is in coco-sdk's README. PyPI on the
179
+ day we open source.
180
+
181
+ ## Licence
182
+
183
+ MIT. `LICENSE` keeps "Copyright (c) LangChain, Inc." beside ours, and `NOTICE`
184
+ names what derives from upstream. The Coco name replaces theirs everywhere else.
@@ -0,0 +1,400 @@
1
+ coco_graph/checkpoint/postgres/__init__.py,sha256=awgiz1pmEBk4kWHbcfcurLC397fgy7knXBylnUEGzmk,24677
2
+ coco_graph/checkpoint/postgres/_ainternal.py,sha256=dUCbJf8IehJEp668TGgwb4S1myp8QY1ZYhcAGi4RLJY,754
3
+ coco_graph/checkpoint/postgres/_internal.py,sha256=BhaRhFb03wcxTDgJ5aMj9e_ixVZoXaACCwV9ccx95KM,667
4
+ coco_graph/checkpoint/postgres/aio.py,sha256=fSU62woZrAfV9nBzqdGLmM2i1rdv-3qSgzRNhXVics4,28020
5
+ coco_graph/checkpoint/postgres/base.py,sha256=_avX4lk7ZTJjz1ENlt6shdJ6oFs3Mhq1cfjPPKr_o3w,27024
6
+ coco_graph/checkpoint/postgres/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ coco_graph/checkpoint/postgres/shallow.py,sha256=nHDL3P8LYrsriw3au1gNny0VLVWGSzm53N1X5apggIY,37866
8
+ coco_graph/store/postgres/__init__.py,sha256=wk6CUnJPVAkPNGzBnZrls1BDAv6XuKUN3p18ywmsyIQ,199
9
+ coco_graph/store/postgres/aio.py,sha256=QgakXJwFS4pubCxA_NSNCD-XbA09NLEE6yc6aQOKBQA,23172
10
+ coco_graph/store/postgres/base.py,sha256=fdBNoZVwOtTgSeWtrhlHiFC6t1odS-TtWKmivmebXHg,56932
11
+ coco_graph/store/postgres/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ coco_graph/cache/sqlite/__init__.py,sha256=20TXdjurFnuepCUKWftmiquUPQtNR8cVKK35cTxD9Kw,4903
13
+ coco_graph/checkpoint/sqlite/__init__.py,sha256=Bxw-EVUmiuL71uiwzW11GRrzE7KZiiNhOj1tzW9il98,26178
14
+ coco_graph/checkpoint/sqlite/_delta.py,sha256=mbqUuQvBf9hhKLw8I0RwXpIItTd7OIG8QY3npsGZCio,7105
15
+ coco_graph/checkpoint/sqlite/aio.py,sha256=j0BvRf9AGhbpeu9whr4OU-Vpy46BGQVTGdKcbKxaAWM,30058
16
+ coco_graph/checkpoint/sqlite/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ coco_graph/checkpoint/sqlite/utils.py,sha256=oAKrPAcbxE6rMp6uwZe4da3g5djFHGAZOuqrylTfdVM,4376
18
+ coco_graph/store/sqlite/__init__.py,sha256=imGTlvFmS-nDyUw0YgddisA9NoAJPX1DUNEI4jCTgII,161
19
+ coco_graph/store/sqlite/aio.py,sha256=ByoRMNDE3ClahNeqjyq-5W11HBsecpfx99unsdBQIXM,24076
20
+ coco_graph/store/sqlite/base.py,sha256=DWiiIkYb7DbjmqAn08I0-4gPHFMxirfw7fl4uXRf0hs,60870
21
+ coco_graph/cache/base/__init__.py,sha256=t5VMlyMeaLbhctY1YzaM3ENfHP6P6vOTHhAiQAKDr1A,1885
22
+ coco_graph/cache/base/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ coco_graph/cache/memory/__init__.py,sha256=tZrWAxPkV3rGepM954u7IK65S41kRzZG-UyqBnIeuXM,3146
24
+ coco_graph/cache/redis/__init__.py,sha256=C5qKYYw3JqjNDRq6NqntIH2U4mg6hLXaxEhU7EKriLI,5335
25
+ coco_graph/checkpoint/base/__init__.py,sha256=7F75-fxyMoSzx-C_MIIXHqDYglYYK9JH3HzGNkXqJLc,31558
26
+ coco_graph/checkpoint/base/id.py,sha256=I2WiHDuvtjxotZAMjbNaP8JaeY6l9elUyCdVscDlZx8,3756
27
+ coco_graph/checkpoint/base/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ coco_graph/checkpoint/memory/__init__.py,sha256=19Gb47gzJ0sCLTDxJhmjzw5GlXMsPSwFa-1725a5WGY,26852
29
+ coco_graph/checkpoint/memory/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ coco_graph/checkpoint/serde/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ coco_graph/checkpoint/serde/_msgpack.py,sha256=DqDIXKtWYSAycIgVuw3yCObOOE0IM9cVR6wnQP_b2KU,3529
32
+ coco_graph/checkpoint/serde/base.py,sha256=9PTSDGEnjdle4aAioGMQhSpK4s4u-QSD6rtgeaf986Q,1997
33
+ coco_graph/checkpoint/serde/encrypted.py,sha256=bJ3B9BXVT1vZ2gwVcjGKnmVcwcdgVeBrxRVUT23810U,3265
34
+ coco_graph/checkpoint/serde/event_hooks.py,sha256=Z5tb-Vj2y9i9E-nr7FAwrbI_q8rT5JPHVKHDDv00f10,1287
35
+ coco_graph/checkpoint/serde/jsonplus.py,sha256=Rlj1V4yd7VnOenobGsrEZNYvo5KhpbnD-xkGYmAZf3Y,32595
36
+ coco_graph/checkpoint/serde/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ coco_graph/checkpoint/serde/types.py,sha256=YYrn31uIkS4mLBtEBVB9EbWmu7UKEpVXSVsG3uuP4YM,1706
38
+ coco_graph/store/base/__init__.py,sha256=fBXRNXEfCy0TaukBczuAhqgLUqkDz_MRadzjIuwETV8,44407
39
+ coco_graph/store/base/batch.py,sha256=QohCVf3TlVCANAUprdf8-QFsV9l5Ya25AQVs7wCAndI,11592
40
+ coco_graph/store/base/embed.py,sha256=rhiGthBqn_fvD-mznH0MtbmYLdj-PRwdTP21jXGg_Dk,14971
41
+ coco_graph/store/base/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ coco_graph/store/memory/__init__.py,sha256=gfkJ5KPwbW4MBTxjx0NLtf-jzXCdM5uP_AcxOc21Rbs,21738
43
+ coco_graph/store/memory/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
+ coco_graph/callbacks.py,sha256=DShGQvqrKlaitkyZiYN-JgNNDGe5cvmLHv6dIz0tybE,12637
45
+ coco_graph/config.py,sha256=FC3vBotyU4kl_mUzfDWVfxwFDOrHGn1k32NOqE9VjlI,5808
46
+ coco_graph/constants.py,sha256=iweaoZ-KJr7-vMAcjJopKYXE8eVvahdVlK_FW5DzBIw,2007
47
+ coco_graph/errors.py,sha256=-5RaIF03ECRFyI2F6S1DsugeEoakmMOoKqjZ7yDI5Ac,7787
48
+ coco_graph/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ coco_graph/runtime.py,sha256=rxux4MjcSO2z9yYHCc93mZSDLbONpWhEQmaPfNEqJHU,11685
50
+ coco_graph/types.py,sha256=yDaesDp709s9oTDgLmgtcaEhMlN6MJkC76-kqOcj_9c,38239
51
+ coco_graph/typing.py,sha256=0vRQ9XMD-vG-DqVEwh0wSqQquRoRwoV7ai9SnolTH6I,1309
52
+ coco_graph/version.py,sha256=Duka8wnr4IvSwauuyTcew0Gfw2kkgZzjAmmeg8254DM,404
53
+ coco_graph/warnings.py,sha256=eIu_JTlzgK35rLv_gZfw4Kk3FVA_mkqtfhe_aH-Hy1s,2551
54
+ coco_graph/_internal/__init__.py,sha256=mpLxPQWhudobpl3YE5cgfhoVyUdX_9B2IVCOvdt8Gr0,125
55
+ coco_graph/_internal/_cache.py,sha256=SShylQD9Y4ogYs9T4O5mAsYoOdRxjh6PqvOH4bBl01A,1230
56
+ coco_graph/_internal/_config.py,sha256=rowS7rU4xAu3YB3vzV8J2PrardPMpA3kUZRv49tXu6M,16782
57
+ coco_graph/_internal/_constants.py,sha256=1Fx3HhEfggoK94V0plN9w-8dwtY_y7JFJW0UYVPZaxI,6113
58
+ coco_graph/_internal/_fields.py,sha256=IR9YDV-PyzwwwdkkhkSSxUjmRlIGZL4k3HYbbEwn5SU,7582
59
+ coco_graph/_internal/_future.py,sha256=DR5ZsyaQKep5WX4_LXQDn_2X3hLs1XVsp8ShB41DolY,7479
60
+ coco_graph/_internal/_pydantic.py,sha256=uFM7yqyhBTU4v5v1y6GK9tRmqh0Y0mOCqjXo0wivwcQ,9020
61
+ coco_graph/_internal/_queue.py,sha256=NAjo8zYsQ5RB1XPAitxnmQn3hbROoSt0j3qroq6sUbM,4575
62
+ coco_graph/_internal/_replay.py,sha256=LiWfF5KbUWeS0PMDM0nDFwcqT9qhp5U9uWKLrkwxNn8,3391
63
+ coco_graph/_internal/_retry.py,sha256=6T_BAYDS7RO2qmOguB9i3pd9uUnzs7nbv3oMxGRLtEQ,802
64
+ coco_graph/_internal/_runnable.py,sha256=DFkx0GYteSnftI_WePuCNinIWKw2zZYMpbET-WB13B4,34918
65
+ coco_graph/_internal/_scratchpad.py,sha256=K63H7WaKsXhco6GVbUHsyPZ7uURtm0uxqvsWApjmbpE,454
66
+ coco_graph/_internal/_serde.py,sha256=Ku4N9RzdAzvbPggEdwJv77_UkQfU9fVIPXSXUXlYLbk,7542
67
+ coco_graph/_internal/_timeout.py,sha256=61A73z2tOy1cvM-chlBhSFBOXbsBYJDLalxiJQkGLZA,796
68
+ coco_graph/_internal/_typing.py,sha256=w4IWTogANgwdsUKwLDzG8pyuqJM9F0ThsoI-U9Tv4d4,1590
69
+ coco_graph/channels/__init__.py,sha256=x4t-rMgjsltc9q24pjORkF-g6Hr-DcRgfXekhApT0-g,906
70
+ coco_graph/channels/any_value.py,sha256=1a8ZUQk9Mdb5FkflQQKavuYPdK6bUOCqyeNEkrXYrRg,2060
71
+ coco_graph/channels/base.py,sha256=GmTgafrWVRlULmNrRD09ArF9p7zq8WDNxzzJPr5vnu0,3766
72
+ coco_graph/channels/binop.py,sha256=w5tr6gO60XtuxpNht8AVTLbCXFQPXoFgZo_T9n_Q1Ys,5473
73
+ coco_graph/channels/delta.py,sha256=I7np30qfu3XzQJNh_oZnTivw_4sRagO3aczHXHiyN1M,7980
74
+ coco_graph/channels/ephemeral_value.py,sha256=brFS3QvYMeCulNjiP1Ry8h7La23zWhdNsWtxZzjD2ak,2484
75
+ coco_graph/channels/last_value.py,sha256=4rfe5UZhP3svva243CqB_-_eMt2ntPCo9gIqrxcON3A,4478
76
+ coco_graph/channels/named_barrier_value.py,sha256=ozyKl-F9Hny1hOt-xIifsJl0Ui0jHBXiUn_DOv5it-k,5335
77
+ coco_graph/channels/topic.py,sha256=e-_TTmw36MIRnSI56M3n6wv1qvEeSI7-sxffhh6OQXI,2960
78
+ coco_graph/channels/untracked_value.py,sha256=ACafb7VT3iWvv2bhACYMqTLYlXY8lhJcDsV89ymTouc,2262
79
+ coco_graph/func/__init__.py,sha256=S4Oi7ZB8eVSfSX4TyKeO2CJORU1pTsCSzfSgoysAys8,24466
80
+ coco_graph/graph/__init__.py,sha256=cymQC-hmx5uN09ICK9UCk77lN43s21Bkd3eG5-RNLAk,299
81
+ coco_graph/graph/_branch.py,sha256=h2_IM5hYkYkA8vE6bBgJFOou_4ZcTesrLqx9Sj-lAfg,7740
82
+ coco_graph/graph/_node.py,sha256=8LFrT7hhBGTgqqNdk0rvoJEfGbmkJ8kvGmPjOE1cn6s,3408
83
+ coco_graph/graph/message.py,sha256=u-xWjnlTYvvlhl1ItdxJRoIt4wyhktZVjW5l7vzXoAk,15901
84
+ coco_graph/graph/state.py,sha256=G8Yf8WPUk4nbCiIQ0uCVD87y2TyfyDxLK4KRPDYmmDs,78289
85
+ coco_graph/graph/ui.py,sha256=g-AinglLMbCXOtKm9czs2944l1tWM6tfmKazE2UFsYA,6819
86
+ coco_graph/managed/__init__.py,sha256=ShNwRtyuohfD6jUcdtCB-m9Rb72wFkVeGf-iIIckBrE,118
87
+ coco_graph/managed/base.py,sha256=eayjz85zRfjT341Ex0PjLarUBkxjhx1zN7tMLOW0eok,671
88
+ coco_graph/managed/is_last_step.py,sha256=JPD0R55Wme7dbaXQ5E8r8lawpiM_ubzv9en5C-k3WB0,660
89
+ coco_graph/pregel/__init__.py,sha256=TRj_GJx7nod7NXL08MgFKyIXSnbaR5fAXtKSQrOzWOY,95
90
+ coco_graph/pregel/_algo.py,sha256=axhbjcPqDKDT_wozuIuDWTzMRpoO3yYA3VSL7MOEIZI,53669
91
+ coco_graph/pregel/_call.py,sha256=VrweinKq9IC_edTP4FSvU60pSU1BZtv1EXycPHofKF4,10121
92
+ coco_graph/pregel/_checkpoint.py,sha256=8alozkHtzMvpT7esQ3B3oWh0UMeObrvmX8HXO-KQhUI,12772
93
+ coco_graph/pregel/_config.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ coco_graph/pregel/_draw.py,sha256=UFZ-eAxdOsvdvc8Pse26vKwSrYp0YWGb9EYCKzAh2Ds,10760
95
+ coco_graph/pregel/_executor.py,sha256=gkqMV2_cEgKYASSkmRJmXwGdD6Qr-fxjjh-OxAzCU-Y,8400
96
+ coco_graph/pregel/_io.py,sha256=kDt1_Mifrht-kKfell3qtcqjFhMcmKaqAB19OJ9JWhg,6007
97
+ coco_graph/pregel/_log.py,sha256=Y1ZBaLR8e2-Ng61Ef5c7RUsn_aO6Y__IDNDBx4xAIWY,60
98
+ coco_graph/pregel/_loop.py,sha256=H59PnFonman2dE-tctB3a8c2BkYijUdG2o7XjBDm1tw,84090
99
+ coco_graph/pregel/_messages.py,sha256=I3XbNI6SZ_TDmKYggS47KlGxv4zeaATz1R49bwnlmDU,17875
100
+ coco_graph/pregel/_read.py,sha256=c_0V6LrjaR_VEXJhfa94ATHRtJwpk-owdEzV0eYTtuk,11001
101
+ coco_graph/pregel/_retry.py,sha256=iNnvgn5z0MZYZ_ptDw2gqzos315hyMY9CT-01pSH6rY,33897
102
+ coco_graph/pregel/_runner.py,sha256=ZYyqFc01eBtcK9qARuzisWwAboO-U3A5utb4m3Fh5tI,37843
103
+ coco_graph/pregel/_tools.py,sha256=53NSByYCOKG95uAEykUrQKa6gg9iT3Ksc9IGezOg884,9320
104
+ coco_graph/pregel/_utils.py,sha256=p1xL0l3-51bbx37mI11nSfJJT5s7xR8uTr6ZrhgcMBg,8312
105
+ coco_graph/pregel/_validate.py,sha256=JXMuStZfOmtKfcUueJkT7CUw9HyH1RmRob0FI4LbPMM,4598
106
+ coco_graph/pregel/_write.py,sha256=UNpO7piGPxCFj4GPJHL8w0sZ1aJ-O2jHRjReVYgiC0o,7501
107
+ coco_graph/pregel/debug.py,sha256=RzIk3zodAZLdXD70q0Q4db7-c6Sq2n0XERkrc0kAO2Y,10317
108
+ coco_graph/pregel/main.py,sha256=ijuRMRVaVP6Cvx3B8dAbRNFxJMcc5LqNfjj8rhomQ-8,179831
109
+ coco_graph/pregel/protocol.py,sha256=4cDTMZFIRXrPl23o9mv6ZHD9nHBxbLdflffeO8KIIJ8,8822
110
+ coco_graph/pregel/types.py,sha256=xBuMCimicdCPg7tyA14ILxqLNWNxVTLhRaed7xBcT8I,780
111
+ coco_graph/stream/__init__.py,sha256=Mfs5L61nvdItReGlFCzR4kPykbx4T8EErYLggStS2v0,1270
112
+ coco_graph/stream/_convert.py,sha256=lTN7NQFvpW2dWgZqurXhos8f9h808flnSiheK4t5reI,948
113
+ coco_graph/stream/_mux.py,sha256=pRKEDEd2Dcttbm0hawUeWDHHhzC1ECS-wYTMvQ_Nj-c,22004
114
+ coco_graph/stream/_types.py,sha256=LbhUN0rIYcEOmAEvLL-23QLOsiKWnQHr_ETMpO8Lgfo,13447
115
+ coco_graph/stream/run_stream.py,sha256=jgY3MzCbwl2llZ1k1SmfrkAR1iitC3Z5y2G2xlrbX_A,28125
116
+ coco_graph/stream/stream_channel.py,sha256=fa-Xqsx6Z8FJVSPH2vwnXlqn-npWLdjhdNCwjWJP_Q8,13135
117
+ coco_graph/stream/transformers.py,sha256=nTLfTDTdi3oA-9QjSm9mOQcYEHi-a-FaClTz1Iijjoo,41774
118
+ coco_graph/utils/__init__.py,sha256=Z4nq8AHOCJsXTXZkKTpxgIDBwIizZaQ926ENoqhHgiM,53
119
+ coco_graph/utils/config.py,sha256=nZhp5dCBbNcFMeul1uF41gOku81l5uMUz3OhdKog1ds,234
120
+ coco_graph/utils/runnable.py,sha256=FWN-iikULCvYO_BiM-0IvT2gfeIlx7X5M0rUbi_0wWQ,168
121
+ coco/__init__.py,sha256=2T6UJV2kMgu6TbKmC3YkMBVA5qlLiiZ6ZSaizDnlK3w,59
122
+ coco/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
+ coco/agents/__init__.py,sha256=9f73gQyFm5j0knpXUx2Q_VQv7Mly6iYwZHyCe3U8MXo,279
124
+ coco/agents/_subagent_transformer.py,sha256=aRlg6A0MA6J0pSCDLEXfHhBs2f4uVnsT5EPzwux4hi8,12019
125
+ coco/agents/factory.py,sha256=cH9YynlokMPz_UhTc3eBpjj1aaKNEasQBQs3yTwLlrw,89570
126
+ coco/agents/structured_output.py,sha256=PtF1Xtkb4S_K9F7lOkjWWzZvG22t0F9W7oo8QIz308o,16194
127
+ coco/agents/middleware/__init__.py,sha256=nCgx3ChSrjU4he6qKJwZGE9LKqOJt-r4rKtpKebZ63c,3328
128
+ coco/agents/middleware/_execution.py,sha256=-WdjGHAvaun1JO30DJIi2XTSxNUwoJg9jVolsD7kcBQ,14579
129
+ coco/agents/middleware/_redaction.py,sha256=AMkZN4S7ho_8JNWDIcB-5ds6-rj7nt0IG0admkZur4U,14396
130
+ coco/agents/middleware/_retry.py,sha256=h0Q_AMNsx6ahio3Id8gpegvMZIBDBl7KmeGfxEHIkRo,4215
131
+ coco/agents/middleware/_trace_policy.py,sha256=9Yk5WgnoWa5LBcRvnyArx3oMV9Y2Qt7JMvu517n5ZuY,2370
132
+ coco/agents/middleware/context_editing.py,sha256=BoduFZaLgLfg600ZCxqk4IyaWGGsh1-Nv7gnIHBzD3E,10428
133
+ coco/agents/middleware/file_search.py,sha256=MPb9s_fxEFxyKJlw9BCDAaTQPZWM-FSDX3YBoQ_bGNY,15649
134
+ coco/agents/middleware/human_in_the_loop.py,sha256=6Mzvqq-3nFcdla7_d3TEGnmCLY1iWK7exBPJPEBTPiw,26536
135
+ coco/agents/middleware/internal_call_transformer.py,sha256=Zt9o-qfWC0Juu6hq8lj829r2QXYJDwiFzlG_Oxb88Vk,3759
136
+ coco/agents/middleware/model_call_limit.py,sha256=SYFl1Wsnc6rNd8XNPyeWZk_VrNi_Fgf4ey0EUuBxaQI,9555
137
+ coco/agents/middleware/model_fallback.py,sha256=xgQ2JQtPTsaBFMVXsOJHcNMFcob-7_OcqnxlheM1rmI,15142
138
+ coco/agents/middleware/model_retry.py,sha256=XBvfOG2nDQNzGkULJ9RiKzmaFgzVhtjgZK0Og-0-nzg,11978
139
+ coco/agents/middleware/pii.py,sha256=hsyzr4eYMrS1K_T3BA0U4IDuGXlNNbVa9JwP_j-NPx0,36998
140
+ coco/agents/middleware/provider_tool_search.py,sha256=ff67HOjlQETcuDRNZ4WTtAzyI7VfMOTFZfWzeRbQb0g,12644
141
+ coco/agents/middleware/shell_tool.py,sha256=vVHQhbeAJFpFSni03T1lk9jad8BMI7bqUS2gAgFFy6k,35313
142
+ coco/agents/middleware/summarization.py,sha256=CcWedYsy8A8SU1kfihbw8hvdH5SgINslsRCdOX5Q2OQ,38176
143
+ coco/agents/middleware/todo.py,sha256=JjMe5WAk9EXIcRhDuM_Xu5PDhUJ_1LN-rIZQ3P_PKEk,15862
144
+ coco/agents/middleware/tool_call_limit.py,sha256=M12yYZ8KCMq4dbW3K2_fK-YlsZ_g2xZCE0dhj25gtw8,19820
145
+ coco/agents/middleware/tool_emulator.py,sha256=wOZJPUcb7-Xc1AFfzMijVeRVG9_G97X7KWog1vi1YTw,9459
146
+ coco/agents/middleware/tool_error.py,sha256=ZNMwo_aAu5r7hY8LXYHdTA4NX47RP6TLISrbKLa7Fqc,8665
147
+ coco/agents/middleware/tool_retry.py,sha256=qmLjcrv6tA9pGtFxyphWFhJCS9SwpALu6xznD_KGr1A,15820
148
+ coco/agents/middleware/tool_selection.py,sha256=aQLJN4jjjNJDlnVnB6aoAHEcxp84e8zSws00Z0x9hqg,20276
149
+ coco/agents/middleware/types.py,sha256=xt-FkOPdz-nB_EeBcE9_PyfW9cqvcJ__cvMZZqhGGmA,82574
150
+ coco/chat_models/__init__.py,sha256=Ro6zxEkAMAuJXdiSjL4aqgNWrtnvpnEhsUFkIFtlloc,278
151
+ coco/chat_models/base.py,sha256=HlRCjVLbGjPeQiAo9mLaYuyS6WAHGELlLEQvuwgdg4I,44764
152
+ coco/embeddings/__init__.py,sha256=7dGd7AWYqbAe6lgGjqGx_CeZbyrcTZn6TZnvuLT0XT8,590
153
+ coco/embeddings/base.py,sha256=iDvBOEJLZiOxgRW7M6LCXxEOlZ-Qny1FKa7t2kUgHYM,10996
154
+ coco/mcp/__init__.py,sha256=p743SX0ds5Ld0xlVQHw5-XOkF5MDvvkoQ_VP30i7gj8,1334
155
+ coco/mcp/adapter.py,sha256=eO_W0jmY6N5AqPdO6wkfu99JDJqC1A9FJMYSnwng1R0,10522
156
+ coco/mcp/elicitation.py,sha256=gSle2KMEc7BInELiRX5D-r1M04mAX8XSxxIXbIOeRwQ,14603
157
+ coco/mcp/tools.py,sha256=Jv03FmXVVetvjrgTYnS6wyibPn9PvaoGEjMIM7RZd_I,12500
158
+ coco/messages/__init__.py,sha256=5kGWc1HxcszeGtsWLn5jZiIyY8rzvk0wrlwNNQQhrTM,1694
159
+ coco/rate_limiters/__init__.py,sha256=umr0X6yYWqOC8QgzUyFM69LodUgJtfomfNp6EcoKqtQ,359
160
+ coco/tools/__init__.py,sha256=iOwDsp7L_i7QhwNFxXyW9zuJWCXa44DbDzO5NA5JQ7o,406
161
+ coco/tools/tool_node.py,sha256=poN3g0EqvPTamIFJBgV0i7LVW95mrslcLFZdU8VAdus,500
162
+ coco_core/__init__.py,sha256=Bb4aZvqQlCGgU6oSViGJ2WhrdZGDSrEL_L4OgIMfoOk,664
163
+ coco_core/_import_utils.py,sha256=cixGMDL_H-Aigw-yKip9BRpksDxGRc2wXRgasKG4L3o,1469
164
+ coco_core/_protocol.py,sha256=8vZ2vOmbsZBZtRRo4ctm85PxVvFVkMxUa15etNcB31c,20101
165
+ coco_core/agents.py,sha256=VwSACY7QfeiaAO_R6hIkSK4qn8ZVzf80YAjMumY0Tmc,8688
166
+ coco_core/caches.py,sha256=JtevcCDDYKrBSQfpHEXoe1qOjxuRQx0VLDeNQvYmWFI,10617
167
+ coco_core/chat_history.py,sha256=IaROya4Ado08I53kEPjcCUO_wUyepcq-nSL3x-di9GA,9394
168
+ coco_core/chat_loaders.py,sha256=MQvXPc3DpqvnUa8lVY_V86btVy5JPd8qgw3K0Il1vMc,622
169
+ coco_core/chat_sessions.py,sha256=w0OWD4t7FtYNWsreFTVb-l5-MwFV-63imYffkDaNMOk,589
170
+ coco_core/cross_encoders.py,sha256=vnNvztWqwkxOom3h8V34nPxozv6d7OGm55ACMjuLAkg,412
171
+ coco_core/env.py,sha256=cX8sg_uOLI6id5gd18sjjSHVdOIGdX8QtSszK8e-sok,620
172
+ coco_core/exceptions.py,sha256=muS3_rX8T3jJdCZyt_0ocAYfe3KnNQ6ni0uxjLWbiE4,5607
173
+ coco_core/globals.py,sha256=_IEKaWtEFVQAgVkrPeQCcheMSOgotDIr-U0cgnwS2mc,1914
174
+ coco_core/prompt_values.py,sha256=dVYgxGqdT4ZtHon5j_df_hCY6qvm4JUt9B0qRK3wmpk,4623
175
+ coco_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ coco_core/rate_limiters.py,sha256=sLAfn43h7eC9vy97Vv-xxv7IayYe2Qf2XVUv1wWoKhg,9596
177
+ coco_core/retrievers.py,sha256=Du-pm_wfxtAhfxjMmIb1V9xu-8zL_LhMSQxqBcaSmLk,11433
178
+ coco_core/stores.py,sha256=TEz9-ozMIdd4CYLSSLuEc6ovlrbuQta2pzJHZgy62_E,9470
179
+ coco_core/structured_query.py,sha256=YnPnVtlDkvjcd7QPwrZ8FEayz2CXe5FRzApvk6sNOcM,5332
180
+ coco_core/sys_info.py,sha256=LiyHlMvjGPuIlVA0PrMXLTQy9r9zLWcfuZ6yT37HHhQ,4558
181
+ coco_core/version.py,sha256=TeVM4eHhxPksXShGDWnWaH7v9MnVgnfo-ow04ALs4EM,70
182
+ coco_core/_api/__init__.py,sha256=k1J2Rrvr9lkz5W90kkzFMoSjfcdzyOdwyybu3vu32-g,2567
183
+ coco_core/_api/beta_decorator.py,sha256=ctowGmvJyOGzhLEDEGyJScYvzyRSuTLV_wOKXOp65MQ,9523
184
+ coco_core/_api/deprecation.py,sha256=4sWKSHbkCg9f4Q57qtW39FgwLJ6MNfjw-mij5ANEeJc,23710
185
+ coco_core/_api/internal.py,sha256=0nlQ3T_QMOm8AVtvKER5Jd8fJkX1ABWZI3ipIxCgz9c,738
186
+ coco_core/_api/path.py,sha256=6fHH-Whpx89HG6n8tZetgnWt7leqiue5Li5xERDHWRM,1384
187
+ coco_core/_security/__init__.py,sha256=bNG-m2AKjl2GRuOj0uyQfnKV4aabFMhAIJRS_E6vLE0,1067
188
+ coco_core/_security/_exceptions.py,sha256=7ywCqOVIbF4_iCj_fBuYO0_U1SzAwVI7RPx51PcFPIw,277
189
+ coco_core/_security/_policy.py,sha256=9oOZYr6lCzxPBWowqqvdDdzdOdTmZy67Tmlp9kCiRnc,11276
190
+ coco_core/_security/_ssrf_protection.py,sha256=pgtbe8FRVJ47PeY4twE0gKf53TFaeSTIhdn_X7OFxe8,4736
191
+ coco_core/_security/_transport.py,sha256=9HuRREoux8D6oLsreGa_3nhlouBxKMM5eAVvXKZofGs,8636
192
+ coco_core/callbacks/__init__.py,sha256=wJ4KOJVgqFSCJZzVnhZI7-7kU6aogwokHoonjkMxXzw,4313
193
+ coco_core/callbacks/base.py,sha256=7i4a6wr7xNLawN1c-SmaY9SqRtCksfP7ASNSui6II7Q,38612
194
+ coco_core/callbacks/file.py,sha256=mvcWN34nBNduqzJZ36cpJ7fabWd80t2lQl4O3HWPvj4,8516
195
+ coco_core/callbacks/manager.py,sha256=Gl9kCxxpdxIsBskjIpIcNnrldz0HIVw6PogxWYfsrCk,93713
196
+ coco_core/callbacks/stdout.py,sha256=g6jijw0UiKBvsjuogTRv_RlQB_G9508YG4L9dVsbiAM,3803
197
+ coco_core/callbacks/streaming_stdout.py,sha256=q5fQL85O-OZOAgwlLfi8cflgiRM1NvJRZpdfe1i2ysg,4545
198
+ coco_core/callbacks/usage.py,sha256=GU5_4r__tXyq2YFTXlru9cZBrATdVZahTmtHxQ8b1UI,4351
199
+ coco_core/document_loaders/__init__.py,sha256=1wJugQ5XW7M1oZ6B0zqOAWBTv-YZLlgtIVMXERAKoz0,863
200
+ coco_core/document_loaders/base.py,sha256=j4UtBn0IlybR0KHCKDWlppoYsSIucnVF-ErjbtJclnQ,4893
201
+ coco_core/document_loaders/blob_loaders.py,sha256=k1AtmVFp3ZM-ojh1JK89clyGvQIO1WQiiqFqpGm5e1U,1098
202
+ coco_core/documents/__init__.py,sha256=BeVTLaP5LXfm6q9Td2Li60s6XbVrOg35gMLPJblAu4A,2033
203
+ coco_core/documents/base.py,sha256=IlhK2cZvUbEt-JWKZn6DZ03GRVhF7B7DNszFgH8SglQ,11446
204
+ coco_core/documents/compressor.py,sha256=ZvWL3XyUtejLgTm1_7u9o-BNxFsx0JoJGGx8zgPGzQE,2076
205
+ coco_core/documents/transformers.py,sha256=mku6IVQ53jjpJlgqAJk5ZRH4Ne9ECgpRr9Jmu2pkTEw,2612
206
+ coco_core/embeddings/__init__.py,sha256=5lDb62KPwOoRo74SU7y8x7uT98nI6_0ugM0dNQ7EVHs,790
207
+ coco_core/embeddings/embeddings.py,sha256=pYBs5Br_GbokuS1gP3wZprlmQ68dh_hBQEk6GMm_NSE,2478
208
+ coco_core/embeddings/fake.py,sha256=ouS-kSt23lPE2z1rtz9_8wiGgxxy-w6usTj4r23rlX0,4000
209
+ coco_core/example_selectors/__init__.py,sha256=sRPGMCbreXaVa_Vt5m_Q_PnSh43VUSJL2DOiJObcOOA,1421
210
+ coco_core/example_selectors/base.py,sha256=pZVDQ8wDuNwDcaBxh2FCd_EC8QAnDMDmokE8Ar2fS6o,1805
211
+ coco_core/example_selectors/length_based.py,sha256=xuy_wtj1aslQAuA53z5o4XHcy-zNBGogfEtdXATpSqg,4559
212
+ coco_core/example_selectors/semantic_similarity.py,sha256=L4ueiQmG-h8FMFP57HxtBRJyd1yljwFwpZlF4ejsKNI,14085
213
+ coco_core/indexing/__init__.py,sha256=6lmyC9fyPBY8TKH71-KcQ3M9j17XIUhHrh_nkXEzzsI,1314
214
+ coco_core/indexing/api.py,sha256=YK45yXyv-0vJm2BxfRsAeuR6VoZb9_dWf7TjY7ueGZY,40160
215
+ coco_core/indexing/base.py,sha256=pU5scSYJ_NZ-ksL_9kuDsPNiGMLB2OFCRfIWerUWDRo,23085
216
+ coco_core/indexing/in_memory.py,sha256=AKvV0rwrE6RmMyo-3KwISSveZM18w1G-M_oMYAureZM,3362
217
+ coco_core/language_models/__init__.py,sha256=Ed5gG1ch7yjqG2kwdbc5Ulj-dZyFWAwgQyZGs-T_W0A,3707
218
+ coco_core/language_models/_compat_bridge.py,sha256=8i6Zype3OoaC9F4lRn6yC_DhdbE5sIC7uNum5GLe_oY,34096
219
+ coco_core/language_models/_utils.py,sha256=pa5d2v4rqhiKsjVge3fTbSwliQS2-eTocVNdoyIYohA,11909
220
+ coco_core/language_models/base.py,sha256=AxW6MXibNNc-ZVCNcAKirI1g9UntT0Ew2zfnL1ma0RI,17666
221
+ coco_core/language_models/chat_model_stream.py,sha256=SEQ77SPu5AlynQFd28n0To5-oNm2PHtqzciB3WoGHpg,63050
222
+ coco_core/language_models/chat_models.py,sha256=NSQqy7aHjfw4hn4CiDQDyC2yIrp17fqK4ldjXuvYhXc,112515
223
+ coco_core/language_models/fake.py,sha256=VLYKUpCSrlgV9HV-A0VHlLueXATuUaMWIKUtXmRnt60,3849
224
+ coco_core/language_models/fake_chat_models.py,sha256=lo8E1lXDFycF5bthxHrKrfkrF3N72Xq4w2M5vMOQE-U,14019
225
+ coco_core/language_models/llms.py,sha256=5ho20NdPFrAW-2d2tV3pLASGQ2A2yQG9-zotgVJO36U,58008
226
+ coco_core/language_models/model_profile.py,sha256=9M2p-0--AxC9wvPbpi2Os33T7NiTetsPDpUjmu-7OaI,6411
227
+ coco_core/load/__init__.py,sha256=EPGIiL939_BNmpbbgFe4T69FkM2yz5zSZ3oJLiFoZzA,1242
228
+ coco_core/load/_validation.py,sha256=kAZz2XR_7IMFgLKPRiYlCnXcVgZZXNQTbveT4JBd_wM,7041
229
+ coco_core/load/dump.py,sha256=SS1_h-t0jRi8jlKgWI2QhEGamDdDyggprPhXTjp5Yxk,3978
230
+ coco_core/load/load.py,sha256=HecV6zGZebbXXqbpzg7mRMqJf_TSI-syshpW_1yXG_I,34802
231
+ coco_core/load/mapping.py,sha256=aIU5ydMUZAwu_Av5Es2DRcntbh7qelM7wGgdRI98rgU,29739
232
+ coco_core/load/serializable.py,sha256=agbPDmRhl_qRgUpXeO4V7e5qq-GsLw7rNw7ERcjQS-k,13952
233
+ coco_core/messages/__init__.py,sha256=GBaLABTAdPIiNDyIEzBRIYTX4cFpmSBhh9Ii1tD2rGs,5856
234
+ coco_core/messages/ai.py,sha256=3JuOH2I7CIoKuoVukVWUtRnQIGVtYFdMQScdmEE5OHw,29906
235
+ coco_core/messages/base.py,sha256=9AUSlMP96z7xNKG4y6yxR-avvGhgOuvgkgdfRVZlL8c,17981
236
+ coco_core/messages/chat.py,sha256=7BHkLK-ikocFgdyFtAjT6bj7ZBHxW7cFssMM24_6xPo,2258
237
+ coco_core/messages/content.py,sha256=nW-fIMdt5TUyqSgmGRB63uXbZ4fyK7Rzz5oZVhaaz3Y,43767
238
+ coco_core/messages/function.py,sha256=V-Joayk8XVrrAlwtr5kNPCEU7r85ccoUxlyr9Pl9tp4,2146
239
+ coco_core/messages/human.py,sha256=8dVPoXFzBzKzAM1S81h6yAwFr1WMY5ngPOQWNZ288XM,2219
240
+ coco_core/messages/modifier.py,sha256=OjMt-lxYXHnlCrXqOEorggkQi0UZjQIyFLsa9fwgwbE,903
241
+ coco_core/messages/system.py,sha256=hZ7mT05SrIKE_WPRBciFlaDABAznA8aOK9wf-4DIW5c,2229
242
+ coco_core/messages/tool.py,sha256=O5QLCh-hvObEG_wSt8kfkER-SRLjcDoYxFcS63TSDeI,13717
243
+ coco_core/messages/utils.py,sha256=bJR_pbNAovCgRqFPhhZZo2jUMfkl88_nBS30tNJOhh4,97923
244
+ coco_core/messages/block_translators/__init__.py,sha256=fVm3UE2KjPL0Oe49yrwRku_sAqJ9yQHRL6Bdnkt2Utk,4316
245
+ coco_core/messages/block_translators/anthropic.py,sha256=BPpeQWwQoVzBG-Vzdn7_Yagm6dJECM_BVjsvFzTHS8U,21865
246
+ coco_core/messages/block_translators/bedrock.py,sha256=AfX6CpykVPpNn5d7tp4W8UZo-Yk5_VYRX_6fVkh2ilk,3823
247
+ coco_core/messages/block_translators/bedrock_converse.py,sha256=4VHs1W12kUkuR6DtABIv54zzYEPAv3JLccCaKfOyRRE,13223
248
+ coco_core/messages/block_translators/coco_v0.py,sha256=DJiaBd-N49HvdxYbOEPJOtO24yEbrXT9ZDsfAlFC5hk,11990
249
+ coco_core/messages/block_translators/google_genai.py,sha256=7q7cMmGhvM1RKGiQUZoH8bjWS7JvPTqOBr36BguffGE,25674
250
+ coco_core/messages/block_translators/google_vertexai.py,sha256=Pa3gfjq3NQgyoXMePdYR_q491tRBl9q5M0tqKd_KXco,643
251
+ coco_core/messages/block_translators/groq.py,sha256=0PuRl_Z5S1gN6FQwa0q8hoXxCuXK8JtfldpTn6tlzrQ,5769
252
+ coco_core/messages/block_translators/openai.py,sha256=9aV9qeZHXKgWOmSJJ43Ea2b81o_jiHR21CKc8ubr5dw,43345
253
+ coco_core/output_parsers/__init__.py,sha256=4YEFxwZtnxSYiv3nl6fwlYY8C9oL_3jbmTprNo5_rAQ,3543
254
+ coco_core/output_parsers/base.py,sha256=p2BtoxNoOHjucLc764BpBZse7bWnTqHO1KKyGHSBEFk,11964
255
+ coco_core/output_parsers/format_instructions.py,sha256=onsfHWz4Cw84JMev1o5T_fLTSMDhN3yAGkk0fPiPmUU,1124
256
+ coco_core/output_parsers/json.py,sha256=QnPgWFRgVoMC5MWENDfpV4ybbASaz2j8YyKnAQ-4s0k,4772
257
+ coco_core/output_parsers/list.py,sha256=jx0cLbWSWqDqiq3OB1ZOesFZf7hajVqaz_aB5RuASyE,7494
258
+ coco_core/output_parsers/openai_functions.py,sha256=2GV2EvTCROVq4ZdMDv7fXiXVp2Od4xPwVvjwQjdLWik,11438
259
+ coco_core/output_parsers/openai_tools.py,sha256=O0q8MF3etV8eKJYTBgQujI6d2mbVmNkyJ0EVM0wEdLQ,13550
260
+ coco_core/output_parsers/pydantic.py,sha256=DR_deEea4za98LFX06pkFc1QNOCBdZ-7wkdCs95RpCc,4971
261
+ coco_core/output_parsers/string.py,sha256=45aB3a2BKktV9cATiA9xFzSTrw2gM9WjauE3oD4U3do,1924
262
+ coco_core/output_parsers/transform.py,sha256=W0yzokqfjpVYJ4T89a8Jnd4n3wWKNIKzxlBjwYnFC3g,5985
263
+ coco_core/output_parsers/xml.py,sha256=eY9Ca3byb3IDoXR36r0x9XjZQs2u1UP__yRjtdJ_0LY,11399
264
+ coco_core/outputs/__init__.py,sha256=Tb15dTtw6e5F1fFH_sgIzEUWb2Qn08Cx2cuWzq4m9mQ,2153
265
+ coco_core/outputs/chat_generation.py,sha256=YZEqCsza6LumFxD5pW_NemTlFQtHtJ9RwacmM0xH3Cw,5188
266
+ coco_core/outputs/chat_result.py,sha256=ALNRBP5VJCgjZOghyipE4fpAatXjmC1iJGhN3t5tEsU,1412
267
+ coco_core/outputs/generation.py,sha256=Q1VyOA7Nw_T9tjoDYovr1ihNr3dpnEWnTDOM0KhKZ3M,2651
268
+ coco_core/outputs/llm_result.py,sha256=dLfZ2dF6UC8HqklAJVgG0rWcOny7xItJaJK0Pk8ZfxI,4059
269
+ coco_core/outputs/run_info.py,sha256=c0Fg6QEgd80tnPD7rUTp95Z7aEwQONpqRqyWu2TGD-k,635
270
+ coco_core/prompts/__init__.py,sha256=-vNufSfy7wR9gDc3rafPMC8-dxTENMxMYAh44uPegtI,3087
271
+ coco_core/prompts/base.py,sha256=Z_8xHGfV1qhqG_-YbF02B7HJczz9ymAnFAVQtPtJcJo,17931
272
+ coco_core/prompts/chat.py,sha256=pOXeQIMlNbPLxpHyicWqvTIFLJMk4aB9w3ZmdWdbA3Q,53248
273
+ coco_core/prompts/dict.py,sha256=mKGMavpQHDZM2CkJmqPE3mW0WPL72VYHOs_ql9uA5qk,6032
274
+ coco_core/prompts/few_shot.py,sha256=eYNQ5lzg5EC_PiH4T4TEJtsDtrlP0jeeWWkQHZ_9yhY,16562
275
+ coco_core/prompts/few_shot_with_templates.py,sha256=0KCz6-4PEVo5V40S7iJ-40yLhCLPlnGwscF_l-ThSS4,8600
276
+ coco_core/prompts/image.py,sha256=ij2EigwB5Ifkql6tqTc3nz2anOXS8jOQUbSf6IhbvgU,5656
277
+ coco_core/prompts/loading.py,sha256=7AfEp8NtRq8Rn1gWIe072j9kCMap7KQ3hwbOk_KwX74,10925
278
+ coco_core/prompts/message.py,sha256=yzsH0kriSAWuGMWvxl14I1ONsuWWB04vqjH6agbT9Rk,2709
279
+ coco_core/prompts/prompt.py,sha256=4Lyxw-EhzBWlgdrWPdU08r12nWelHY5U6TtjJv8GTGU,11219
280
+ coco_core/prompts/string.py,sha256=I5LfJG9vKzItN8aOJ16SfSCDCODHUY3hgP7ztQzsLv0,13128
281
+ coco_core/prompts/structured.py,sha256=SmLz9o48XdTyGK-VgkbmiQOMfzoNBQ69N1TQRoyaLCc,7221
282
+ coco_core/runnables/__init__.py,sha256=Mh0BVd4UgWlNLNB2b7Wulh3Ey7lhRtUx1uoVLpkXsCM,3939
283
+ coco_core/runnables/base.py,sha256=tSrgaOEXI3Of-DhR8V6PCZbb7SgLVu_KIoWayxuVA0E,245649
284
+ coco_core/runnables/branch.py,sha256=XYbMZLGuOvOjN_AGkRdE360-rpPSzfuwDSCg_opZYdg,16192
285
+ coco_core/runnables/config.py,sha256=w2bKN-FusP4KX9tJsnPNgZ_SmI19lDUsJNvmREJ2D0w,23279
286
+ coco_core/runnables/configurable.py,sha256=ezcuqSSystXzd_H-w3kjxbiRtYKk6aMO1B2QTWQfqWg,24463
287
+ coco_core/runnables/fallbacks.py,sha256=rjRMozLy4kkmKZM2ZqtfmteUPcO3z3ZIQZYvpXXXPeI,24988
288
+ coco_core/runnables/graph.py,sha256=bT_473IawgbUUrWSlFE-OPNQPc00cbYdEkKPlBG0TrY,23824
289
+ coco_core/runnables/graph_ascii.py,sha256=JsTz2QhY79z24-wKqkSFYfnoxx60TzS_stOd8tyvufU,10761
290
+ coco_core/runnables/graph_mermaid.py,sha256=h3Y0XNz91vlaN9EZQmXi7pbCt9WZ2xwXwauUed849yE,18062
291
+ coco_core/runnables/graph_png.py,sha256=wAZHdPhCnJWmAxYVp6x9AC8TMvrYUjq5SrBx_mne-cY,6723
292
+ coco_core/runnables/history.py,sha256=d220UiP2-8nEgXr5I2z3xBs9GtLWEQ1h5NQL3Uwl1qE,25273
293
+ coco_core/runnables/passthrough.py,sha256=MFvck-TujOda8m--M6oZf5G9husknQouYLH0pluAwPE,27457
294
+ coco_core/runnables/retry.py,sha256=1d9D7vycwVSdH_8cawjgsdMaOSaShIbf6b3MVHrAx6M,14025
295
+ coco_core/runnables/router.py,sha256=foHNXV4Xs7l9CFb-YrsnQPB-7r4dMBQKKzcNYMsTJ4M,7374
296
+ coco_core/runnables/schema.py,sha256=K_EeVEBZ9qx7wWW-M6dQI6BygI2wmJJxSPXICHjtXTc,6160
297
+ coco_core/runnables/utils.py,sha256=BNRxXzEFXSsUjLTwrFKx_JV9JE6IuPt95FmjDl95fXo,23973
298
+ coco_core/tools/__init__.py,sha256=0NKvPs2Zq9yERH7v_aAWhTHIODmcSNQRVoYr8KG5pkQ,2570
299
+ coco_core/tools/base.py,sha256=egPg9PPAyxgzwF4gOkFQJ4ij7YZjBwyfxsogUdzeU8M,73512
300
+ coco_core/tools/convert.py,sha256=BExN1tTV8KphLHjE6wGaRCMZIdxCh1F7_lGnG9mSYbA,18674
301
+ coco_core/tools/render.py,sha256=QmoJxlWYjt4-K5tJphJ2Q3yww5kUAK-GX-q9BfySRck,1879
302
+ coco_core/tools/retriever.py,sha256=sA30VwIxwJLssmwDKc4dWFf_Ks00hf8CmxNSJl1guR4,3285
303
+ coco_core/tools/simple.py,sha256=hSJNzVX2rBE55iz4V5qrzISwyi23ZATHEM4GwF2jOko,7035
304
+ coco_core/tools/structured.py,sha256=DAo5Rc4kRXyLrMYoxdMjp92Xw7thVfcSSVAQo9aFGPU,12351
305
+ coco_core/tracers/__init__.py,sha256=VGuSD0ElD4_zoXm1IebdNwWgZyccXLkunZDJuHR5FJw,1197
306
+ coco_core/tracers/_compat.py,sha256=doWf8EbFiSBVNyBOCGZgz1QsKLe1JjzIQFtlZ4_yocc,2909
307
+ coco_core/tracers/_context.py,sha256=4DKm3f86tXsYgrTuRemle64qyeGAg81zJSzkbi9clGI,12787
308
+ coco_core/tracers/_streaming.py,sha256=y9ppanVZYyAj3WOLpY_qhEKFm7jL_euAMQ5TPNRZ8tM,1886
309
+ coco_core/tracers/base.py,sha256=y_eSNQLEyaa9pB9wlAgX54sYj9Pz2lGb7frz8X-8-UA,28571
310
+ coco_core/tracers/coco.py,sha256=rBAZaUS7z_7yHjq3Gpflk6YBK1w4Zqmh0CgK3ZETj-o,10410
311
+ coco_core/tracers/context.py,sha256=NUCIo-mHuJDnZj-8l4Vel_05emdqXHJqfyYk0g-t3iI,6389
312
+ coco_core/tracers/core.py,sha256=DJBVZqOmLFCmPIsyzk-si0qpxeUVkbToJH6wckLeBvk,27564
313
+ coco_core/tracers/event_stream.py,sha256=DSI3dmibVjxEt-2-vJpbm0Okvy2gH6Gi7Expcw39huc,36935
314
+ coco_core/tracers/log_stream.py,sha256=MHV5PfAQKVqpiAixdCkPPunAD0MtGkUeq3t48LjwmWo,26291
315
+ coco_core/tracers/memory_stream.py,sha256=RkjYMvb2XrN8-oius2f6-lcbCtCNkTM5YnPTz9X1m6Y,7290
316
+ coco_core/tracers/root_listeners.py,sha256=dRlRUH4K6WmR_RoO0Z2Z3fmtlyxjHgmEJm0oA1Ba9AY,4212
317
+ coco_core/tracers/run_collector.py,sha256=mnlwvafkRj3AuEUOCjIvG6TZCfafbl7ftnCKk5acXIw,1279
318
+ coco_core/tracers/schemas.py,sha256=tUZbWSw1Im7RYzBTAc1agu7A6X7dqsUU4UKJWzk1Ggs,222
319
+ coco_core/tracers/stdout.py,sha256=_Y6guMTiFCbFtet6f2Yx_nMcu39gDRSwey2VBfahyUw,6921
320
+ coco_core/utils/__init__.py,sha256=DjuSGiB-Cg_GbjkKM508cK7jUiAV9HbFlTOcZ8uS9Mc,3092
321
+ coco_core/utils/_gateway.py,sha256=xlWu5-krC_vEsBgtcz0vD2UoqMyUNngWZXM2s6yv5cw,10616
322
+ coco_core/utils/_merge.py,sha256=XuXWxotIO14RDYYnioz8LZ6STlVRHWTFVHKu_kOww-0,9171
323
+ coco_core/utils/aiter.py,sha256=pmlEE54QvAeW8unhkBzaBfNhchTI_bdTQ7wA9U75jBM,11316
324
+ coco_core/utils/env.py,sha256=WQoW57kbneE_VkZY56b0LsP1zfYJLvCYx9N21S2KdY0,2555
325
+ coco_core/utils/formatting.py,sha256=QcUqnX4LpWECu9aNavx6lcNGjDbxXpIW0zDK7vlB-B0,3138
326
+ coco_core/utils/function_calling.py,sha256=iLCRBJ2DXbkmbpQEqWB-oi5JTm77C3NFM29LG8WXeRw,32694
327
+ coco_core/utils/html.py,sha256=N2hgyp3DlDOqUSCXHAU67YBIdTBXfsoAx3nyAy1Anz4,3994
328
+ coco_core/utils/image.py,sha256=xSuQLHjUIYmFb0Pcp2Ykmkx9-DI-pu-M46ix6S57THs,547
329
+ coco_core/utils/input.py,sha256=cWSbAKx2sil2HMDKCdRZOH3KwL3gaEc43y227WkmFNU,2174
330
+ coco_core/utils/interactive_env.py,sha256=7e4bz5Q3fII5DdCoU3Si73xnirzQw_lxwGSCCBsiO6s,303
331
+ coco_core/utils/iter.py,sha256=IudlJ-Rkk1MBOt4ia2pniQqkvMrqkPgPtYD2YtlU1G0,7753
332
+ coco_core/utils/json.py,sha256=gVOjHeivKQ2wyuf08HeeL63ELUthP_uOSBGXzRT4KNA,7397
333
+ coco_core/utils/json_schema.py,sha256=FoeQam6L3BMZyfuJIamnom5R3D0ZyyVhesQ_eEKGCcg,10199
334
+ coco_core/utils/mustache.py,sha256=DsN0R5DvZtcTcg4FYhYqLFSUGKQs_FvdXgBydiulnmc,23501
335
+ coco_core/utils/pydantic.py,sha256=hF0EWjraDWDG2cK-k0fWwbJMBUOi1zxSYOXliN2028w,20932
336
+ coco_core/utils/strings.py,sha256=RJvyCL0Q2rR30IyjTzKnTB_jB4T1d6GpKcOrAmbK_Dk,1858
337
+ coco_core/utils/usage.py,sha256=iXk_2FCVMDVKsN1GSkfT0BumSYL57AvbmRDm9a_mURU,2104
338
+ coco_core/utils/utils.py,sha256=rpEUVuI4ZRYhWld8NIQ6ZSN_8WAXCPEVAh4AkUbtmLw,17074
339
+ coco_core/utils/uuid.py,sha256=SoTJwdtQ7XXovJ6JRrSJ5pfytX4fzRtlTPOl91i2NNE,1882
340
+ coco_core/vectorstores/__init__.py,sha256=Rbz4lxE9xPdqVC1c0hhWMd6Nq04KCRxMV4CnW6zeJTE,1424
341
+ coco_core/vectorstores/base.py,sha256=SsjBrnU4wnT3Xscb1QlnOpu_h2mokEC305OV4enHpXU,41918
342
+ coco_core/vectorstores/in_memory.py,sha256=eDyzyGSvCSSMWmQZCDbD_PWYZD3zQPNlnSr3e3hlgIE,16248
343
+ coco_core/vectorstores/utils.py,sha256=iUBPa53SsNSwgUmU-zWEyk7JW78ORVV0YgDH_i4Yw8s,5312
344
+ coco_graph/prebuilt/__init__.py,sha256=NTE_bQrFgwi56wb3akxQvAOfKYuFTmTeq5hRvhZaf-U,656
345
+ coco_graph/prebuilt/_tool_call_stream.py,sha256=RnijVhmJHxBWZ1rAJe9PDGnhzuajSV_iBR0Kx86wnyg,4196
346
+ coco_graph/prebuilt/_tool_call_transformer.py,sha256=RGbHBdpBBb9Uh1AsizUJGdolUbXBA0OsVotTuL6G2Yg,6239
347
+ coco_graph/prebuilt/chat_agent_executor.py,sha256=i5HpKANR3RwHD3Nr8p49edZiBmSmetvpbsMRSjHof6Q,40746
348
+ coco_graph/prebuilt/interrupt.py,sha256=VKtki0C53LxF4Hjyh5rbdKwB4LvsIXJkNgSkgjltKtQ,4051
349
+ coco_graph/prebuilt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
+ coco_graph/prebuilt/tool_node.py,sha256=BY9grZuES1Qj0WHVkv7uN5jV_1CiTOfjJzFrKdS28tA,81133
351
+ coco_graph/prebuilt/tool_validator.py,sha256=j_TGD3AC8T2CxFr79vIlAuiOyA1d73mLUIIbTc_ei44,9275
352
+ coco_anthropic/__init__.py,sha256=2ioxB0L1K8m7EuZldlJVNa47J_tXwoStKCTPxl3RuVI,361
353
+ coco_anthropic/_client_utils.py,sha256=oAS8JjwRPDYoX8eZZfWT1bm9MZ1KL72kabjAZbZH8h4,2226
354
+ coco_anthropic/_compat.py,sha256=OE4dCf5OkGSGZnfaVyEtk53-ra_st314Z7c8HEqQN-U,8793
355
+ coco_anthropic/_sdk_compat.py,sha256=xm70Zl285h8J9t871IhziZFcYf3rGSl3EDuIzj6Na_s,5004
356
+ coco_anthropic/_version.py,sha256=q_LsbaDNZMU4WLyRBT_GV3h9WCxz7_i4qb_xtFj-1qY,79
357
+ coco_anthropic/chat_models.py,sha256=3Kl9aXDp6dYUTIBIejSsIny5pxFiRpq7HoZcU8SnGYo,139972
358
+ coco_anthropic/experimental.py,sha256=fKy-h6LE4dMalPh0u7shNTpMqV1xD9_adal9JDoiDL4,4654
359
+ coco_anthropic/llms.py,sha256=NxqjtZh6gyp4GpIZ9I5RUo0OPk5iLEPTueiuDrxNz7U,15772
360
+ coco_anthropic/output_parsers.py,sha256=shS0S6bD3W-MFeTIOP2tLfOCVdFOzkif6_Ctm_oj-FQ,3529
361
+ coco_anthropic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
+ coco_anthropic/data/__init__.py,sha256=t_Ok8flB7lG4b2gPrwZjyIB_WXG3lEBfCgHd4kTn5wM,83
363
+ coco_anthropic/data/_profiles.py,sha256=CNWEi-xCX0FdCWRJss3cbdzJWkbil1_woEbnhK8mSzc,15325
364
+ coco_anthropic/data/profile_augmentations.toml,sha256=KmK8rf3LNX67EIGqV9wrhkI2OkCTBJRwu-81I2U3tQ0,2039
365
+ coco_anthropic/middleware/__init__.py,sha256=ig-7x8Q-FC0aClvs12u2WU6TP0coZ1jdgj0Iyb9Ra8s,799
366
+ coco_anthropic/middleware/anthropic_tools.py,sha256=RV4m_E7x2-Tgip4sUIo4aN_Wl6jd42wa5OFwq9JXSAs,42024
367
+ coco_anthropic/middleware/bash.py,sha256=bYYUBHMTrUBD7TuRO_szy6CGn-R-tbku6e1IiA4ggGk,3277
368
+ coco_anthropic/middleware/file_search.py,sha256=yR7HxQxVffUIYm5cHis70un4haMdk4UNcLDc-WC3Gkc,11856
369
+ coco_anthropic/middleware/prompt_caching.py,sha256=RIGe4Uw94op_Wc7HidPDVbMGvGSZs-d_hMW2_eZbQ8o,9626
370
+ coco_openai/__init__.py,sha256=XI45H2vywBM8T5mMZINLKwhiFOa5-WLRt1-hSh6OH_I,619
371
+ coco_openai/_compat.py,sha256=UZINHxZ3-4FFCh7KRRkfdv-1r2yWG87TNjCNqoj-nh8,1773
372
+ coco_openai/_version.py,sha256=eZdOWgPHpY6oDJtBoWD3QHZFFpMTyVcz4Z4GbFVZlZ8,76
373
+ coco_openai/chatgpt_oauth.py,sha256=q8LzgoJ7OurzsaqfvSQ5yLgwuly0bGnKSfYC7g4DFuE,39887
374
+ coco_openai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
+ coco_openai/chat_models/__init__.py,sha256=1PvTMiK6k8DkVToxo1PT-44pFNBFLHxYnft0Th76BXA,199
376
+ coco_openai/chat_models/_client_utils.py,sha256=ATlFgbAUFNYtALp2_Ic4vdWFJsPAX7M3u9b9jgoUiIQ,26210
377
+ coco_openai/chat_models/_compat.py,sha256=fDlQ8OubueLYFD_x890ZfFOeah_6QC8fXIVqVoFB1a4,21278
378
+ coco_openai/chat_models/azure.py,sha256=gOh31bwlxdLy3CiozrUj7Ccc7prYgVvt4qmqL0JUM0I,48044
379
+ coco_openai/chat_models/base.py,sha256=mRPT7BTHEufePHJ-L7eMI6ErxjejLvS4wD4rnAQielk,229698
380
+ coco_openai/chat_models/codex.py,sha256=kJ9N1SLDLCCkMztTUswloMC0RhbNNQ2RTKXndH4DCkU,24796
381
+ coco_openai/data/__init__.py,sha256=t_Ok8flB7lG4b2gPrwZjyIB_WXG3lEBfCgHd4kTn5wM,83
382
+ coco_openai/data/_profiles.py,sha256=ijA-tdjRS4aEhO8aK8G7bPDO7rajAA2Blz4g5QgpV1E,51013
383
+ coco_openai/data/profile_augmentations.toml,sha256=5clpw9cWCsViYEGbdVOzir5aRlYN-obm_PVAI0RLDsY,3990
384
+ coco_openai/embeddings/__init__.py,sha256=KoxUmJB8x8g2UbYQh0u0RSmGNp7E7xQYwFqm5izuWaU,220
385
+ coco_openai/embeddings/azure.py,sha256=eQ8I9Us8acgjV6_FahzMlcXNNOZAMU27nT62F5eveZ8,9687
386
+ coco_openai/embeddings/base.py,sha256=WVlXdTu2x9Fovj6V-Q3-svlgbzZkMaYCHCxovdP9OkM,32540
387
+ coco_openai/llms/__init__.py,sha256=CQpRtR0zPycHCHhSmPmJHpBJAQg_AOdqjUfDS62AI6I,214
388
+ coco_openai/llms/azure.py,sha256=WdUQZY38cHFBjskSA73GN19HegAgV739Qzp6OxX_QcU,9557
389
+ coco_openai/llms/base.py,sha256=B7sT_uXpNa3vQyaC5IjeZ3fFOSSBNByrPbwiU-7jE2A,33665
390
+ coco_openai/middleware/__init__.py,sha256=Kb-BAUUg4oiH_IAfqN_a9vFxJQ2IaD5PnvbyAuEv8ME,265
391
+ coco_openai/middleware/openai_moderation.py,sha256=xB-ucS8KmkUg7sq0LeQVvkfK18SOQH7Bxij8PoxKrE8,15872
392
+ coco_openai/output_parsers/__init__.py,sha256=S8n85haKhfPKkOPGw7xL3utyVT29gOE3tz4IesxP_Tk,273
393
+ coco_openai/output_parsers/tools.py,sha256=S8n85haKhfPKkOPGw7xL3utyVT29gOE3tz4IesxP_Tk,273
394
+ coco_openai/tools/__init__.py,sha256=vTs6ywLzbzKgVmSXj8LwQXIpkMpDKtqmxWgr0JdSb88,132
395
+ coco_openai/tools/custom_tool.py,sha256=L3YErFjw9x0PA8V0HhGXSrGhMeta3qQXejQ25f5ObDU,3301
396
+ coco_framework-0.1.0.dist-info/METADATA,sha256=xP-45D6JDcptqoqfupbznZ9-qulv5iMBxMWzrZO4SY4,8555
397
+ coco_framework-0.1.0.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
398
+ coco_framework-0.1.0.dist-info/licenses/LICENSE,sha256=R7z1-yVJL3LIRphRXH4Qkdv-b5dOLcsD0QnqaxgepGM,1162
399
+ coco_framework-0.1.0.dist-info/licenses/NOTICE,sha256=6lJM4Wx4Hh88Ee4RjbXLySVgZ2SNdF0STB_-9aHJWi8,622
400
+ coco_framework-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.33.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,24 @@
1
+ MIT License
2
+
3
+ Copyright (c) LangChain, Inc.
4
+ Copyright (c) 2024 LangChain, Inc.
5
+ Copyright (c) 2026 Coco AI Pty Ltd
6
+
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in all
16
+ copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
+ SOFTWARE.
@@ -0,0 +1,15 @@
1
+ coco-framework
2
+
3
+ Everything under libs/ is derived from two MIT-licensed projects and renamed by
4
+ scripts/sync_upstream.py:
5
+
6
+ langchain-ai/langchain Copyright (c) LangChain, Inc.
7
+ langchain-ai/langgraph Copyright (c) 2024 LangChain, Inc.
8
+
9
+ libs/core/coco_core/_protocol.py is vendored from langchain-protocol 0.0.19,
10
+ Copyright (c) 2026 LangChain, Inc., MIT.
11
+
12
+ Each library under libs/ keeps its upstream LICENSE file unchanged. UPSTREAM.md
13
+ records the commit each library was taken from and every patch applied after
14
+ the rename. Changes are Copyright (c) 2026 Coco AI Pty Ltd, under the same MIT
15
+ licence.