timbal 2.1.2__tar.gz → 2.1.4__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 (220) hide show
  1. {timbal-2.1.2 → timbal-2.1.4}/PKG-INFO +1 -1
  2. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/_version.py +2 -2
  3. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/add_step.py +4 -0
  4. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/runnable.py +12 -1
  5. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/__init__.py +146 -0
  6. timbal-2.1.4/python/timbal/tools/google_analytics.py +513 -0
  7. timbal-2.1.4/python/timbal/tools/google_business.py +622 -0
  8. timbal-2.1.4/python/timbal/tools/google_merchant_center.py +438 -0
  9. timbal-2.1.4/python/timbal/tools/google_search_console.py +432 -0
  10. {timbal-2.1.2 → timbal-2.1.4}/.gitignore +0 -0
  11. {timbal-2.1.2 → timbal-2.1.4}/LICENSE +0 -0
  12. {timbal-2.1.2 → timbal-2.1.4}/README.md +0 -0
  13. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/chat-completions.mdx +0 -0
  14. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/create-from-workforce.mdx +0 -0
  15. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/jobs/cancel.mdx +0 -0
  16. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/jobs/get.mdx +0 -0
  17. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/jobs/list.mdx +0 -0
  18. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/jobs/retry.mdx +0 -0
  19. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/link.mdx +0 -0
  20. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/list-context-vars.mdx +0 -0
  21. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/list-policies.mdx +0 -0
  22. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/messages.mdx +0 -0
  23. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/responses.mdx +0 -0
  24. {timbal-2.1.2 → timbal-2.1.4}/docs/api-reference/ace/unlink.mdx +0 -0
  25. {timbal-2.1.2 → timbal-2.1.4}/pyproject.toml +0 -0
  26. {timbal-2.1.2 → timbal-2.1.4}/pyrightconfig.json +0 -0
  27. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/__init__.py +0 -0
  28. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/__init__.py +0 -0
  29. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/__main__.py +0 -0
  30. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/cli_utils.py +0 -0
  31. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/cst_utils.py +0 -0
  32. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/flow.py +0 -0
  33. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/format.py +0 -0
  34. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/model_discovery.py +0 -0
  35. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/test.py +0 -0
  36. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/tool_discovery.py +0 -0
  37. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/__init__.py +0 -0
  38. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/add_edge.py +0 -0
  39. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/add_tool.py +0 -0
  40. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/remove_edge.py +0 -0
  41. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/remove_step.py +0 -0
  42. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/remove_tool.py +0 -0
  43. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/set_config.py +0 -0
  44. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/set_param.py +0 -0
  45. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/codegen/transformers/set_position.py +0 -0
  46. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/__init__.py +0 -0
  47. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/base.py +0 -0
  48. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/__init__.py +0 -0
  49. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/anthropic.py +0 -0
  50. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/default.py +0 -0
  51. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/message.py +0 -0
  52. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/openai.py +0 -0
  53. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/string.py +0 -0
  54. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/impl/timbal.py +0 -0
  55. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/collectors/registry.py +0 -0
  56. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/__init__.py +0 -0
  57. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/agent.py +0 -0
  58. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/fallback_model.py +0 -0
  59. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/llm_router.py +0 -0
  60. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/mcp.py +0 -0
  61. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/memory_compaction.py +0 -0
  62. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/models.py +0 -0
  63. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/skill.py +0 -0
  64. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/test_model.py +0 -0
  65. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/tool.py +0 -0
  66. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/tool_set.py +0 -0
  67. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/core/workflow.py +0 -0
  68. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/errors.py +0 -0
  69. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/__init__.py +0 -0
  70. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/cli.py +0 -0
  71. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/display.py +0 -0
  72. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/agent.py +0 -0
  73. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_examples.yaml +0 -0
  74. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_flow_validators.yaml +0 -0
  75. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_negations.yaml +0 -0
  76. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_parallel.yaml +0 -0
  77. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_subagent.yaml +0 -0
  78. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/eval_transforms.yaml +0 -0
  79. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/fixtures/test_invalid_validator.yaml +0 -0
  80. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/models.py +0 -0
  81. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/runner.py +0 -0
  82. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/utils.py +0 -0
  83. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/__init__.py +0 -0
  84. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/base.py +0 -0
  85. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/comparison_base.py +0 -0
  86. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/contains.py +0 -0
  87. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/contains_all.py +0 -0
  88. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/contains_any.py +0 -0
  89. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/context.py +0 -0
  90. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/email.py +0 -0
  91. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/ends_with.py +0 -0
  92. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/eq.py +0 -0
  93. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/gt.py +0 -0
  94. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/gte.py +0 -0
  95. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/json.py +0 -0
  96. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/language.py +0 -0
  97. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/length.py +0 -0
  98. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/llm_base.py +0 -0
  99. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/lt.py +0 -0
  100. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/lte.py +0 -0
  101. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/max_length.py +0 -0
  102. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/min_length.py +0 -0
  103. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/not_null.py +0 -0
  104. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/parallel.py +0 -0
  105. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/pattern.py +0 -0
  106. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/prompt.py +0 -0
  107. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/semantic.py +0 -0
  108. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/seq.py +0 -0
  109. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/starts_with.py +0 -0
  110. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/evals/validators/type.py +0 -0
  111. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/logs.py +0 -0
  112. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/models.yaml +0 -0
  113. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/__init__.py +0 -0
  114. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/integrations.py +0 -0
  115. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/knowledge_bases/__init__.py +0 -0
  116. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/knowledge_bases/query.py +0 -0
  117. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/types.py +0 -0
  118. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/platform/utils.py +0 -0
  119. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/__init__.py +0 -0
  120. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/__main__.py +0 -0
  121. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/http.py +0 -0
  122. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/jobs.py +0 -0
  123. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/voice.html +0 -0
  124. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/server/voice.py +0 -0
  125. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/__init__.py +0 -0
  126. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/config.py +0 -0
  127. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/config_loader.py +0 -0
  128. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/context.py +0 -0
  129. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/dependency_analyzer.py +0 -0
  130. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/__init__.py +0 -0
  131. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/exporters/__init__.py +0 -0
  132. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/exporters/otel.py +0 -0
  133. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/__init__.py +0 -0
  134. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/base.py +0 -0
  135. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/in_memory.py +0 -0
  136. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/jsonl.py +0 -0
  137. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/platform.py +0 -0
  138. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/providers/sqlite.py +0 -0
  139. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/span.py +0 -0
  140. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/state/tracing/trace.py +0 -0
  141. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/_creds.py +0 -0
  142. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/asana.py +0 -0
  143. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/bash.py +0 -0
  144. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/cala.py +0 -0
  145. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/cloudflare.py +0 -0
  146. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/dynamics_business_central.py +0 -0
  147. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/dynamics_sales.py +0 -0
  148. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/edit.py +0 -0
  149. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/elasticsearch.py +0 -0
  150. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/elevenlabs.py +0 -0
  151. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/excel.py +0 -0
  152. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/fal.py +0 -0
  153. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/fathom.py +0 -0
  154. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/firecrawl.py +0 -0
  155. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/gemini_images.py +0 -0
  156. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/gmail.py +0 -0
  157. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/google_calendar.py +0 -0
  158. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/google_docs.py +0 -0
  159. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/google_drive.py +0 -0
  160. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/google_maps.py +0 -0
  161. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/google_sheets.py +0 -0
  162. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/happy_scribe.py +0 -0
  163. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/hubspot.py +0 -0
  164. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/interaction.py +0 -0
  165. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/jira.py +0 -0
  166. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/klaviyo.py +0 -0
  167. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/knowledge_base.py +0 -0
  168. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/lancedb.py +0 -0
  169. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/linkedin.py +0 -0
  170. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/mongodb.py +0 -0
  171. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/netsuite.py +0 -0
  172. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/onedrive.py +0 -0
  173. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/outlook.py +0 -0
  174. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/pinecone.py +0 -0
  175. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/powerbi.py +0 -0
  176. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/quiver_ai.py +0 -0
  177. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/read.py +0 -0
  178. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/replicate.py +0 -0
  179. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/resend.py +0 -0
  180. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/salesforce.py +0 -0
  181. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/scraperapi.py +0 -0
  182. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/sharepoint.py +0 -0
  183. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/shopify.py +0 -0
  184. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/slack.py +0 -0
  185. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/stripe.py +0 -0
  186. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/tavily.py +0 -0
  187. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/web_search.py +0 -0
  188. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/write.py +0 -0
  189. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/xai.py +0 -0
  190. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/zendesk.py +0 -0
  191. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/tools/zoho_crm.py +0 -0
  192. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/__init__.py +0 -0
  193. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/approval.py +0 -0
  194. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/__init__.py +0 -0
  195. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/base.py +0 -0
  196. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/custom.py +0 -0
  197. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/file.py +0 -0
  198. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/text.py +0 -0
  199. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/thinking.py +0 -0
  200. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/tool_result.py +0 -0
  201. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/content/tool_use.py +0 -0
  202. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/__init__.py +0 -0
  203. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/approval.py +0 -0
  204. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/base.py +0 -0
  205. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/delta.py +0 -0
  206. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/interaction.py +0 -0
  207. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/output.py +0 -0
  208. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/events/start.py +0 -0
  209. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/file.py +0 -0
  210. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/message.py +0 -0
  211. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/types/run_status.py +0 -0
  212. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/__init__.py +0 -0
  213. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/import_spec.py +0 -0
  214. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/model.py +0 -0
  215. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/net.py +0 -0
  216. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/schema.py +0 -0
  217. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/utils/serialization.py +0 -0
  218. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/voice/__init__.py +0 -0
  219. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/voice/elevenlabs.py +0 -0
  220. {timbal-2.1.2 → timbal-2.1.4}/python/timbal/voice/session.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: timbal
3
- Version: 2.1.2
3
+ Version: 2.1.4
4
4
  Summary: Simple, performant, battle-tested framework for building reliable AI applications
5
5
  Project-URL: Source, https://github.com/timbal-ai/timbal
6
6
  Author-email: Timbal <team@timbal.ai>
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '2.1.2'
22
- __version_tuple__ = version_tuple = (2, 1, 2)
21
+ __version__ = version = '2.1.4'
22
+ __version_tuple__ = version_tuple = (2, 1, 4)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -274,6 +274,10 @@ def run(entry_point: str, args: argparse.Namespace, *, tree: cst.Module | None =
274
274
 
275
275
 
276
276
  class StepAdder(cst.CSTTransformer):
277
+ # A re-added step's .step() call is appended last; if existing steps depend
278
+ # on it, topologically re-sort so dependencies precede their dependents.
279
+ needs_reorder = True
280
+
277
281
  def __init__(
278
282
  self,
279
283
  entry_point: str,
@@ -1091,14 +1091,25 @@ class Runnable(ABC, BaseModel):
1091
1091
  # previous run — chain session data via parent_id.
1092
1092
  # If the root span is still running (t1 is None), this context
1093
1093
  # belongs to a concurrent sibling — create a fresh context.
1094
+ # Inherit the parent's platform_config: a forked child run (linked
1095
+ # by parent_id, same process/deployment) shares it. Without this, the
1096
+ # fresh context re-resolves from env only and an explicitly-injected
1097
+ # platform_config is lost — breaking platform API calls (e.g. a
1098
+ # standalone Agent instantiated inside a step body).
1099
+ _inherited_platform_config = run_context.platform_config
1094
1100
  root = run_context.root_span()
1095
1101
  if root is not None and root.t1 is not None:
1096
1102
  run_context = RunContext(
1097
1103
  parent_id=explicit_parent_id or run_context.id,
1098
1104
  tracing_provider=self.tracing_provider,
1105
+ platform_config=_inherited_platform_config,
1099
1106
  )
1100
1107
  else:
1101
- run_context = RunContext(parent_id=explicit_parent_id, tracing_provider=self.tracing_provider)
1108
+ run_context = RunContext(
1109
+ parent_id=explicit_parent_id,
1110
+ tracing_provider=self.tracing_provider,
1111
+ platform_config=_inherited_platform_config,
1112
+ )
1102
1113
  _parent_call_id = None
1103
1114
  _call_id = None
1104
1115
  await run_context.get_session()
@@ -118,6 +118,34 @@ if TYPE_CHECKING:
118
118
  GmailSearch,
119
119
  GmailSend,
120
120
  )
121
+ from .google_analytics import (
122
+ GoogleAnalyticsBatchRunReports,
123
+ GoogleAnalyticsGetDataStream,
124
+ GoogleAnalyticsGetMetadata,
125
+ GoogleAnalyticsGetProperty,
126
+ GoogleAnalyticsListAccountSummaries,
127
+ GoogleAnalyticsListCustomDimensions,
128
+ GoogleAnalyticsListCustomMetrics,
129
+ GoogleAnalyticsListDataStreams,
130
+ GoogleAnalyticsListProperties,
131
+ GoogleAnalyticsRunPivotReport,
132
+ GoogleAnalyticsRunRealtimeReport,
133
+ GoogleAnalyticsRunReport,
134
+ )
135
+ from .google_business import (
136
+ GoogleBusinessCreateLocalPost,
137
+ GoogleBusinessDeleteReviewReply,
138
+ GoogleBusinessGetDailyMetrics,
139
+ GoogleBusinessGetLocation,
140
+ GoogleBusinessGetMultiDailyMetrics,
141
+ GoogleBusinessGetReview,
142
+ GoogleBusinessListAccounts,
143
+ GoogleBusinessListCategories,
144
+ GoogleBusinessListLocations,
145
+ GoogleBusinessListReviews,
146
+ GoogleBusinessReplyToReview,
147
+ GoogleBusinessUpdateLocation,
148
+ )
121
149
  from .google_calendar import (
122
150
  GoogleCalendarCheckFreeSlots,
123
151
  GoogleCalendarCreateEvent,
@@ -156,6 +184,32 @@ if TYPE_CHECKING:
156
184
  GoogleMapsTextSearch,
157
185
  GoogleMapsValidateAddress,
158
186
  )
187
+ from .google_merchant_center import (
188
+ GoogleMerchantDeleteProduct,
189
+ GoogleMerchantGetAccount,
190
+ GoogleMerchantGetDatafeed,
191
+ GoogleMerchantGetProduct,
192
+ GoogleMerchantGetProductStatus,
193
+ GoogleMerchantInsertProduct,
194
+ GoogleMerchantListAccounts,
195
+ GoogleMerchantListDatafeeds,
196
+ GoogleMerchantListProducts,
197
+ GoogleMerchantListProductStatuses,
198
+ GoogleMerchantUpdateProduct,
199
+ )
200
+ from .google_search_console import (
201
+ GoogleSearchConsoleAddSite,
202
+ GoogleSearchConsoleDeleteSite,
203
+ GoogleSearchConsoleDeleteSitemap,
204
+ GoogleSearchConsoleGetSite,
205
+ GoogleSearchConsoleGetSitemap,
206
+ GoogleSearchConsoleInspectUrl,
207
+ GoogleSearchConsoleListSitemaps,
208
+ GoogleSearchConsoleListSites,
209
+ GoogleSearchConsoleSearchAnalytics,
210
+ GoogleSearchConsoleSearchAnalyticsByPage,
211
+ GoogleSearchConsoleSubmitSitemap,
212
+ )
159
213
  from .google_sheets import (
160
214
  GoogleSheetsAddSheet,
161
215
  GoogleSheetsAppendValues,
@@ -1090,6 +1144,30 @@ __all__ = [
1090
1144
  "GoogleCalendarListEvents",
1091
1145
  "GoogleCalendarUpdateAttendeeStatus",
1092
1146
  "GoogleCalendarUpdateEvent",
1147
+ "GoogleAnalyticsBatchRunReports",
1148
+ "GoogleAnalyticsGetDataStream",
1149
+ "GoogleAnalyticsGetMetadata",
1150
+ "GoogleAnalyticsGetProperty",
1151
+ "GoogleAnalyticsListAccountSummaries",
1152
+ "GoogleAnalyticsListCustomDimensions",
1153
+ "GoogleAnalyticsListCustomMetrics",
1154
+ "GoogleAnalyticsListDataStreams",
1155
+ "GoogleAnalyticsListProperties",
1156
+ "GoogleAnalyticsRunPivotReport",
1157
+ "GoogleAnalyticsRunRealtimeReport",
1158
+ "GoogleAnalyticsRunReport",
1159
+ "GoogleBusinessCreateLocalPost",
1160
+ "GoogleBusinessDeleteReviewReply",
1161
+ "GoogleBusinessGetDailyMetrics",
1162
+ "GoogleBusinessGetLocation",
1163
+ "GoogleBusinessGetMultiDailyMetrics",
1164
+ "GoogleBusinessGetReview",
1165
+ "GoogleBusinessListAccounts",
1166
+ "GoogleBusinessListCategories",
1167
+ "GoogleBusinessListLocations",
1168
+ "GoogleBusinessListReviews",
1169
+ "GoogleBusinessReplyToReview",
1170
+ "GoogleBusinessUpdateLocation",
1093
1171
  "GoogleDocsAppendImage",
1094
1172
  "GoogleDocsAppendText",
1095
1173
  "GoogleDocsCreate",
@@ -1125,6 +1203,28 @@ __all__ = [
1125
1203
  "GoogleMapsPlaceDetails",
1126
1204
  "GoogleMapsTextSearch",
1127
1205
  "GoogleMapsValidateAddress",
1206
+ "GoogleMerchantDeleteProduct",
1207
+ "GoogleMerchantGetAccount",
1208
+ "GoogleMerchantGetDatafeed",
1209
+ "GoogleMerchantGetProduct",
1210
+ "GoogleMerchantGetProductStatus",
1211
+ "GoogleMerchantInsertProduct",
1212
+ "GoogleMerchantListAccounts",
1213
+ "GoogleMerchantListDatafeeds",
1214
+ "GoogleMerchantListProducts",
1215
+ "GoogleMerchantListProductStatuses",
1216
+ "GoogleMerchantUpdateProduct",
1217
+ "GoogleSearchConsoleAddSite",
1218
+ "GoogleSearchConsoleDeleteSite",
1219
+ "GoogleSearchConsoleDeleteSitemap",
1220
+ "GoogleSearchConsoleGetSite",
1221
+ "GoogleSearchConsoleGetSitemap",
1222
+ "GoogleSearchConsoleInspectUrl",
1223
+ "GoogleSearchConsoleListSitemaps",
1224
+ "GoogleSearchConsoleListSites",
1225
+ "GoogleSearchConsoleSearchAnalytics",
1226
+ "GoogleSearchConsoleSearchAnalyticsByPage",
1227
+ "GoogleSearchConsoleSubmitSitemap",
1128
1228
  "KnowledgeBaseQuery",
1129
1229
  "KlaviyoAddProfilesToList",
1130
1230
  "KlaviyoCreateCampaign",
@@ -2084,6 +2184,30 @@ _LAZY_IMPORTS = {
2084
2184
  "GoogleCalendarListEvents": ".google_calendar",
2085
2185
  "GoogleCalendarUpdateAttendeeStatus": ".google_calendar",
2086
2186
  "GoogleCalendarUpdateEvent": ".google_calendar",
2187
+ "GoogleAnalyticsBatchRunReports": ".google_analytics",
2188
+ "GoogleAnalyticsGetDataStream": ".google_analytics",
2189
+ "GoogleAnalyticsGetMetadata": ".google_analytics",
2190
+ "GoogleAnalyticsGetProperty": ".google_analytics",
2191
+ "GoogleAnalyticsListAccountSummaries": ".google_analytics",
2192
+ "GoogleAnalyticsListCustomDimensions": ".google_analytics",
2193
+ "GoogleAnalyticsListCustomMetrics": ".google_analytics",
2194
+ "GoogleAnalyticsListDataStreams": ".google_analytics",
2195
+ "GoogleAnalyticsListProperties": ".google_analytics",
2196
+ "GoogleAnalyticsRunPivotReport": ".google_analytics",
2197
+ "GoogleAnalyticsRunRealtimeReport": ".google_analytics",
2198
+ "GoogleAnalyticsRunReport": ".google_analytics",
2199
+ "GoogleBusinessCreateLocalPost": ".google_business",
2200
+ "GoogleBusinessDeleteReviewReply": ".google_business",
2201
+ "GoogleBusinessGetDailyMetrics": ".google_business",
2202
+ "GoogleBusinessGetLocation": ".google_business",
2203
+ "GoogleBusinessGetMultiDailyMetrics": ".google_business",
2204
+ "GoogleBusinessGetReview": ".google_business",
2205
+ "GoogleBusinessListAccounts": ".google_business",
2206
+ "GoogleBusinessListCategories": ".google_business",
2207
+ "GoogleBusinessListLocations": ".google_business",
2208
+ "GoogleBusinessListReviews": ".google_business",
2209
+ "GoogleBusinessReplyToReview": ".google_business",
2210
+ "GoogleBusinessUpdateLocation": ".google_business",
2087
2211
  "GoogleDocsAppendImage": ".google_docs",
2088
2212
  "GoogleDocsAppendText": ".google_docs",
2089
2213
  "GoogleDocsCreate": ".google_docs",
@@ -2119,6 +2243,28 @@ _LAZY_IMPORTS = {
2119
2243
  "GoogleMapsPlaceDetails": ".google_maps",
2120
2244
  "GoogleMapsTextSearch": ".google_maps",
2121
2245
  "GoogleMapsValidateAddress": ".google_maps",
2246
+ "GoogleMerchantDeleteProduct": ".google_merchant_center",
2247
+ "GoogleMerchantGetAccount": ".google_merchant_center",
2248
+ "GoogleMerchantGetDatafeed": ".google_merchant_center",
2249
+ "GoogleMerchantGetProduct": ".google_merchant_center",
2250
+ "GoogleMerchantGetProductStatus": ".google_merchant_center",
2251
+ "GoogleMerchantInsertProduct": ".google_merchant_center",
2252
+ "GoogleMerchantListAccounts": ".google_merchant_center",
2253
+ "GoogleMerchantListDatafeeds": ".google_merchant_center",
2254
+ "GoogleMerchantListProducts": ".google_merchant_center",
2255
+ "GoogleMerchantListProductStatuses": ".google_merchant_center",
2256
+ "GoogleMerchantUpdateProduct": ".google_merchant_center",
2257
+ "GoogleSearchConsoleAddSite": ".google_search_console",
2258
+ "GoogleSearchConsoleDeleteSite": ".google_search_console",
2259
+ "GoogleSearchConsoleDeleteSitemap": ".google_search_console",
2260
+ "GoogleSearchConsoleGetSite": ".google_search_console",
2261
+ "GoogleSearchConsoleGetSitemap": ".google_search_console",
2262
+ "GoogleSearchConsoleInspectUrl": ".google_search_console",
2263
+ "GoogleSearchConsoleListSitemaps": ".google_search_console",
2264
+ "GoogleSearchConsoleListSites": ".google_search_console",
2265
+ "GoogleSearchConsoleSearchAnalytics": ".google_search_console",
2266
+ "GoogleSearchConsoleSearchAnalyticsByPage": ".google_search_console",
2267
+ "GoogleSearchConsoleSubmitSitemap": ".google_search_console",
2122
2268
  "KnowledgeBaseQuery": ".knowledge_base",
2123
2269
  "KlaviyoAddProfilesToList": ".klaviyo",
2124
2270
  "KlaviyoCreateCampaign": ".klaviyo",